<?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>73394</bug_id>
          
          <creation_ts>2011-11-29 21:26:44 -0800</creation_ts>
          <short_desc>Enable the [Supplemental] IDL in Chromium</short_desc>
          <delta_ts>2011-12-30 23:38:39 -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>New Bugs</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>73652</dependson>
    
    <dependson>73824</dependson>
    
    <dependson>74072</dependson>
          <blocked>72138</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Kentaro Hara">haraken</reporter>
          <assigned_to name="Kentaro Hara">haraken</assigned_to>
          <cc>abarth</cc>
    
    <cc>darin</cc>
    
    <cc>dominicc</cc>
    
    <cc>japhet</cc>
    
    <cc>ojan</cc>
    
    <cc>tony</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>511362</commentid>
    <comment_count>0</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-11-29 21:26:44 -0800</bug_when>
    <thetext>Using the [Supplemental] IDL, we can move the attribute declarations of webaudio from DOMWindow.idl to webaudio/DOMWindowWebAudio.idl, which helps make webaudio a self-contained feature (a.k.a. module).

In order to avoid regressions, for the time being, we modify only the Chromium build script to use the [Supplemental] IDL. The patches for other build scripts will be followed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511371</commentid>
    <comment_count>1</comment_count>
      <attachid>117118</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-11-29 21:40:18 -0800</bug_when>
    <thetext>Created attachment 117118
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511474</commentid>
    <comment_count>2</comment_count>
      <attachid>117118</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-30 00:45:32 -0800</bug_when>
    <thetext>Comment on attachment 117118
Patch

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

This looks great, but I&apos;m not sure it will compile.

&gt; Source/WebCore/WebCore.gyp/WebCore.gyp:456
&gt; +            # exceed OS limites.

limites =&gt; limits

&gt; Source/WebCore/WebCore.gyp/WebCore.gyp:466
&gt; +            &apos;supplemental_dependency.tmp&apos;,

Do we need to specify a directory for this file, such as the shared intermediate directory?

&gt; Source/WebCore/webaudio/DOMWindowWebAudio.idl:25
&gt; +    ] DOMWindowWebAudio {

We don&apos;t need to add this file to bindings_idl_files ?

&gt; Source/WebCore/webaudio/DOMWindowWebAudio.idl:29
&gt; +        attribute [JSCCustomGetter, EnabledAtRuntime] AudioContextConstructor webkitAudioContext;
&gt; +        attribute AudioPannerNodeConstructor webkitAudioPannerNode;
&gt; +        attribute AudioProcessingEventConstructor AudioProcessingEvent;
&gt; +        attribute OfflineAudioCompletionEventConstructor OfflineAudioCompletionEvent;

Do we need new C++ implementations of these functions as statics on DOMWindowWebAudio ?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511502</commentid>
    <comment_count>3</comment_count>
      <attachid>117118</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-11-30 01:26:35 -0800</bug_when>
    <thetext>Comment on attachment 117118
Patch

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

&gt;&gt; Source/WebCore/WebCore.gyp/WebCore.gyp:456
&gt;&gt; +            # exceed OS limites.
&gt; 
&gt; limites =&gt; limits

Oops, I&apos;ll fix it. (I copied it from another place though:-)

&gt;&gt; Source/WebCore/WebCore.gyp/WebCore.gyp:466
&gt;&gt; +            &apos;supplemental_dependency.tmp&apos;,
&gt; 
&gt; Do we need to specify a directory for this file, such as the shared intermediate directory?

Maybe. If we do not specify the directory, this file is generated under WebCore/WebCore.gyp/. I am not sure if this is good, but I did so because idl_files_list.tmp is being generated under WebCore/WebCore.gyp/ too. Should we change this to another temporary directory?

&gt;&gt; Source/WebCore/webaudio/DOMWindowWebAudio.idl:25
&gt;&gt; +    ] DOMWindowWebAudio {
&gt; 
&gt; We don&apos;t need to add this file to bindings_idl_files ?

I think we need. DOMWindowWebAudio.idl should be written somewhere in WebCore.gypi, and I think that bindings_idl_files is a natural place for it. In our current implementation,

- The IDL files written in bindings_idl_files become an input for resolve-supplemental.pl.
- resolve-supplemental.pl reads all IDL files including DOMWindowWebAudio.idl and generates supplemental-dependency.tmp.
- generate-bindings.pl skips generating .h and .cpp files for DOMWindowWebAudio.idl, based on supplemental-dependency.tmp.

&gt;&gt; Source/WebCore/webaudio/DOMWindowWebAudio.idl:29
&gt;&gt; +        attribute OfflineAudioCompletionEventConstructor OfflineAudioCompletionEvent;
&gt; 
&gt; Do we need new C++ implementations of these functions as statics on DOMWindowWebAudio ?

I think no, in case of DOMWindowWebAudio (All tests in webaudio/ are passing with my patch). The type of these attributes is XXXXConstructor. In case of XXXXConstructor, the generated code directly calls back to V8XXXX.cpp without passing through DOMWindowWebAudio.cpp. Specifically, the generated code for webkitAudioPannerNode is as follows:

#if ENABLE(WEB_AUDIO)
    {&quot;webkitAudioPannerNode&quot;, DOMWindowInternal::DOMWindowConstructorGetter, 0, &amp;V8AudioPannerNode::info, static_cast&lt;v8\
::AccessControl&gt;(v8::DEFAULT), static_cast&lt;v8::PropertyAttribute&gt;(v8::ReadOnly), 0 /* on instance */},
#endif // ENABLE(WEB_AUDIO)

static v8::Handle&lt;v8::Value&gt; DOMWindowConstructorGetter(v8::Local&lt;v8::String&gt; name, const v8::AccessorInfo&amp; info)
{
    INC_STATS(&quot;DOM.DOMWindow.constructors._get&quot;);
    v8::Handle&lt;v8::Value&gt; data = info.Data();
    ASSERT(data-&gt;IsExternal() || data-&gt;IsNumber());
    WrapperTypeInfo* type = WrapperTypeInfo::unwrap(data);
    return V8DOMWrapper::getConstructor(type, V8DOMWindow::toNative(info.Holder()));                                     
}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511508</commentid>
    <comment_count>4</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-11-30 01:34:19 -0800</bug_when>
    <thetext>&gt; &gt;&gt; Source/WebCore/WebCore.gyp/WebCore.gyp:466
&gt; &gt;&gt; +            &apos;supplemental_dependency.tmp&apos;,
&gt; &gt; 
&gt; &gt; Do we need to specify a directory for this file, such as the shared intermediate directory?
&gt; 
&gt; Maybe. If we do not specify the directory, this file is generated under WebCore/WebCore.gyp/. I am not sure if this is good, but I did so because idl_files_list.tmp is being generated under WebCore/WebCore.gyp/ too. Should we change this to another temporary directory?

The shared intermediate directory is probably the right place for it since it is an intermediate build product.  idl_files_list.tmp is slightly different because it is created during the GYP generation phase rather than the compile phase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511529</commentid>
    <comment_count>5</comment_count>
      <attachid>117144</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-11-30 01:53:12 -0800</bug_when>
    <thetext>Created attachment 117144
rebased patch for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511532</commentid>
    <comment_count>6</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-11-30 01:56:19 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; &gt; &gt;&gt; Source/WebCore/WebCore.gyp/WebCore.gyp:466
&gt; &gt; &gt;&gt; +            &apos;supplemental_dependency.tmp&apos;,
&gt; &gt; &gt; 
&gt; &gt; &gt; Do we need to specify a directory for this file, such as the shared intermediate directory?
&gt; &gt; 
&gt; &gt; Maybe. If we do not specify the directory, this file is generated under WebCore/WebCore.gyp/. I am not sure if this is good, but I did so because idl_files_list.tmp is being generated under WebCore/WebCore.gyp/ too. Should we change this to another temporary directory?
&gt; 
&gt; The shared intermediate directory is probably the right place for it since it is an intermediate build product.  idl_files_list.tmp is slightly different because it is created during the GYP generation phase rather than the compile phase.

Done. Thanks.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>511741</commentid>
    <comment_count>7</comment_count>
      <attachid>117144</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-11-30 07:39:53 -0800</bug_when>
    <thetext>Comment on attachment 117144
rebased patch for commit

Rejecting attachment 117144 from commit-queue.

New failing tests:
webaudio/biquadfilternode-basic.html
webaudio/audiochannelmerger-stereo.html
webaudio/delaynode.html
webaudio/delaynode-scheduling.html
webaudio/audionode.html
webaudio/audiobuffersource-channels.html
fast/replaced/width100percent-textarea.html
Full output: http://queues.webkit.org/results/10716003</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512630</commentid>
    <comment_count>8</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 01:49:10 -0800</bug_when>
    <thetext>Hmm... commit-queue is still reporting webaudio/ errors, __non-deterministically__.

http://queues.webkit.org/patch/117144

- chromium-ews always passes all webaudio/ tests. 
- My local chromium environment always passes all webaudio/ tests.
- commit-queue fails some of webaudio/ tests non-deterministically. Some webaudio/ tests sometimes go TIMEOUT. Some webaudio/ tests sometimes go MISSING.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512775</commentid>
    <comment_count>9</comment_count>
      <attachid>117144</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 08:07:31 -0800</bug_when>
    <thetext>Comment on attachment 117144
rebased patch for commit

Clearing flags on attachment: 117144

Committed r101669: &lt;http://trac.webkit.org/changeset/101669&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>512791</commentid>
    <comment_count>10</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 08:29:03 -0800</bug_when>
    <thetext>Reverted r101669 for reason:

Win build and Mac build are failing

Committed r101672: &lt;http://trac.webkit.org/changeset/101672&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513241</commentid>
    <comment_count>11</comment_count>
      <attachid>117513</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 16:20:36 -0800</bug_when>
    <thetext>Created attachment 117513
patch for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513424</commentid>
    <comment_count>12</comment_count>
      <attachid>117513</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-01 20:12:04 -0800</bug_when>
    <thetext>Comment on attachment 117513
patch for commit

Clearing flags on attachment: 117513

Committed r101737: &lt;http://trac.webkit.org/changeset/101737&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513428</commentid>
    <comment_count>13</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2011-12-01 20:14:00 -0800</bug_when>
    <thetext>The title of the bug in the patch says “for Chromium”. Is this Chromium-specific? What effect does this have on other platforms?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513440</commentid>
    <comment_count>14</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 20:35:06 -0800</bug_when>
    <thetext>(In reply to comment #13)
&gt; The title of the bug in the patch says “for Chromium”. Is this Chromium-specific? What effect does this have on other platforms?

Yes, this patch changes only the build flow of Chromium so that it uses the [Supplemental] IDL. Other platforms are still ignoring the [Supplemental] IDL and thus are not affected by this patch (hopefully).

I am planning to make the change to other platforms in the coming patches one by one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513450</commentid>
    <comment_count>15</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 20:51:25 -0800</bug_when>
    <thetext>Reverted r101737 for reason:

Chromium/Mac and Chromium/Win build are broken

Committed r101740: &lt;http://trac.webkit.org/changeset/101740&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513456</commentid>
    <comment_count>16</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 21:06:13 -0800</bug_when>
    <thetext>I rolled out the patch since Chromium/Mac and Chromium/Win builds are broken. But the errors look strange.

Chromium/Mac error: http://build.webkit.org/builders/Chromium%20Mac%20Release%20%28Tests%29/builds/3014/steps/compile-webkit/logs/stdio

Chromium/Win error: http://build.webkit.org/builders/Chromium%20Win%20Release%20%28Tests%29/builds/21330/steps/compile-webkit/logs/stdio

In WebCore.gyp, we described the following dependency:

- resolve-supplemental.pl depends on all IDL files.
- resolve-supplemental.pl outputs supplemental-dependency.tmp.
- action_derivedsourcesallinone.py depends on supplemental-dependency.tmp.

And this patch changed the list of all IDL files (i.e. added DOMWindowWebAudio.idl).

However, the errors are saying:

- resolve-supplemental.pl is not executed.
- action_derivedsourcesallinone.py cannot find supplemental-dependency.tmp.


What is happening?? For now, I am investigating if I can reproduce the problem in my local Win and Mac environments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513537</commentid>
    <comment_count>17</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-01 23:09:51 -0800</bug_when>
    <thetext>&gt; What is happening?? For now, I am investigating if I can reproduce the problem in my local Win and Mac environments.

I&apos;ve added Tony to the CC list.  He might have some insight into what&apos;s going wrong in the build system.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513545</commentid>
    <comment_count>18</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 23:17:59 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; What is happening?? For now, I am investigating if I can reproduce the problem in my local Win and Mac environments.
&gt; 
&gt; I&apos;ve added Tony to the CC list.  He might have some insight into what&apos;s going wrong in the build system.

I noticed that we might need to add dependencies between target_names. Specifically,

  {
    &apos;target_name&apos;: &apos;webcore_bindings_sources&apos;,
    &apos;type&apos;: &apos;none&apos;,
    &apos;hard_dependency&apos;: 1,
        &apos;dependencies&apos;: [
            &apos;generate_supplemental_dependency&apos;,
        ],
        ...;

to indicate that the actions of generate-bindings.py and action_derivedsourcesallinone.py (which are written inside the target &apos;webcore_bindings_sources&apos;) depend on the result of the action of resolve-supplemental.py (which is written in the target &apos;generate_supplemental_dependency&apos;).

I am trying to confirm if it works in my local Chromium/Mac environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513553</commentid>
    <comment_count>19</comment_count>
      <attachid>117577</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 23:30:45 -0800</bug_when>
    <thetext>Created attachment 117577
patch for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513570</commentid>
    <comment_count>20</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-01 23:55:16 -0800</bug_when>
    <thetext>(In reply to comment #19)
&gt; Created an attachment (id=117577) [details]
&gt; patch for commit

I confirmed that build succeeds and webaudio/ tests pass in my Chromium/Mac environment.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513668</commentid>
    <comment_count>21</comment_count>
      <attachid>117577</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-02 04:14:12 -0800</bug_when>
    <thetext>Comment on attachment 117577
patch for commit

Clearing flags on attachment: 117577

Committed r101783: &lt;http://trac.webkit.org/changeset/101783&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>513711</commentid>
    <comment_count>22</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-02 06:14:58 -0800</bug_when>
    <thetext>Sadly, we rolled it out again...

While Chromium/Mac build succeeded but Chromium/Win build has been still failing: http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20Builder/builds/17132/steps/compile/logs/stdio

It says that IDL files are not found by derived_sources_all_in_one. I am investigating it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514903</commentid>
    <comment_count>23</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-04 21:57:51 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Sadly, we rolled it out again...
&gt; 
&gt; While Chromium/Mac build succeeded but Chromium/Win build has been still failing: http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20Builder/builds/17132/steps/compile/logs/stdio
&gt; 
&gt; It says that IDL files are not found by derived_sources_all_in_one. I am investigating it.

I found the reason for the Chromium/Windows build failure, but I am not sure how we should fix it. It is related to a bad relationship between Perl and Python on Windows/Cygwin environment.

[What is the failure?]
action_derivedsourcesallinone.py fails to open &quot;/cygdrive/c/.../....idl&quot;.

[The cause of the failure]
Python cannot understand &quot;/cygdrive/c/.../....idl&quot;-style paths. It should instead be &quot;C:/cygwin/.../....idl&quot;-style paths.

[The cause of the failure (more in detail)]
- resolve-supplemental.pl calls Cwd::realpath() for all IDL files and writes the results to supplemental-dependency.tmp.
- supplemental-dependency.tmp is later used by generate-bindings.pl and action_derivedsourcesallinone.py, which try to open the IDL files described in supplemental-dependency.tmp.

- Perl executable is /usr/bin/perl and Python executable is /usr/bin/python.
- Perl&apos;s Cwd::realpath() returns &quot;/cygdrive/c/.../....idl&quot;-style paths, no matter if Perl is invoked from Cygwin or DOS-Prompt.
- Perl can open both &quot;/cygdrive/c/.../....idl&quot;-style paths and &quot;C:/cygwin/.../....idl&quot;-style paths, no matter if Perl is invoked from Cygwin or DOS-Prompt.
- Python can open both &quot;/cygdrive/c/.../....idl&quot;-style paths and &quot;C:/cygwin/.../....idl&quot;-style paths, if Python is invoked from Cygwin. However, Python can open &quot;C:/cygwin/.../....idl&quot;-style paths but cannot open &quot;/cygdrive/c/.../....idl&quot;-style paths, if Python is invoked from DOS-Prompt.

- It seems that in Chromium/Windows build, Perl and Python are invoked from DOS-Prompt. In this way, &quot;/cygdrive/c/.../....idl&quot;-style paths are written down in supplemental-dependency.tmp.
- generate-bindings.pl runs fine with supplemental-dependency.tmp, since Perl can open &quot;/cygdrive/c/.../....idl&quot;-style paths.
- action_derivedsourcesallinone.py cannot run with supplemental-dependency.tmp, since Python invoked from DOS-Prompt cannot open &quot;/cygdrive/c/.../....idl&quot;-style paths.

[Possible solutions]
[A] Perl behaves as we expected even if it is invoked from Cygwin or DOS-Prompt. Therefore, we can rewrite action_derivedsourcesallinone.py in Perl.
[B] We can make resolve-supplemental.pl output two kinds of supplemental-dependency.tmp. One is &quot;/cygdrive/c/.../....idl&quot;-style and the other is &quot;C:/cygwin/.../....idl&quot;-style (obtained by cygpath command).

I would prefer [A] rather than [B], because [A] is simpler. In [B], resolve-supplemental.pl has to behave differently depending on whether cygpath command exists or not, and two kinds of supplemental-dependency.tmp can be generated. 

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>514909</commentid>
    <comment_count>24</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-04 22:20:06 -0800</bug_when>
    <thetext>[A] sounds fine to me.  Tony might have some thoughts on the matter though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515158</commentid>
    <comment_count>25</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-05 10:03:14 -0800</bug_when>
    <thetext>Sorry, just saw this bug.

&gt; (In reply to comment #22)
&gt; - Python can open both &quot;/cygdrive/c/.../....idl&quot;-style paths and &quot;C:/cygwin/.../....idl&quot;-style paths, if Python is invoked from Cygwin. However, Python can open &quot;C:/cygwin/.../....idl&quot;-style paths but cannot open &quot;/cygdrive/c/.../....idl&quot;-style paths, if Python is invoked from DOS-Prompt.

Maybe you have 2 versions of python installed on your system?  I didn&apos;t think it mattered where you invoked python from.  If this is the only problem, maybe you can just add a dependency to &lt;(chromium_src_dir)/build/win/system.gyp:cygwin for the webcore_bindings_sources target?

[A] also sounds OK to me, but another possibility (perhaps less work than [A]) would be to call cygpath from action_derivedsourcesallinone.py if on Windows (see ToolsScripts/webkitpy/common/system/path.py) to convert from /cygpath/... to C:\...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515464</commentid>
    <comment_count>26</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-05 15:48:21 -0800</bug_when>
    <thetext>(In reply to comment #25)
&gt; &gt; (In reply to comment #22)
&gt; [A] also sounds OK to me, but another possibility (perhaps less work than [A]) would be to call cygpath from action_derivedsourcesallinone.py if on Windows (see ToolsScripts/webkitpy/common/system/path.py) to convert from /cygpath/... to C:\...

Thank you very much for the information. I implemented [A] (bug 73824) since [A] sounds like a clearer approach.

&gt; &gt; - Python can open both &quot;/cygdrive/c/.../....idl&quot;-style paths and &quot;C:/cygwin/.../....idl&quot;-style paths, if Python is invoked from Cygwin. However, Python can open &quot;C:/cygwin/.../....idl&quot;-style paths but cannot open &quot;/cygdrive/c/.../....idl&quot;-style paths, if Python is invoked from DOS-Prompt.
&gt; 
&gt; Maybe you have 2 versions of python installed on your system?  I didn&apos;t think it mattered where you invoked python from.  

(Although now we don&apos;t have to dig into this issue, just FYI, ) it appears the same version of Python is being used.

On DOS-Prompt:
$ which python      ### I&apos;ve put &quot;C:\cygwin\bin&quot; into PATH.
/usr/bin/python
$ python
&gt;&gt;&gt; import os;
&gt;&gt;&gt; os.path.exists(&apos;C:/cygwin/&apos;)
True
&gt;&gt;&gt; os.path.exists(&apos;/cygdrive/c/&apos;)
False

On Cygwin:
$ which python
/usr/bin/python
$ python
&gt;&gt;&gt; import os;
&gt;&gt;&gt; os.path.exists(&apos;C:/cygwin/&apos;)
True
&gt;&gt;&gt; os.path.exists(&apos;/cygdrive/c/&apos;)
True</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515468</commentid>
    <comment_count>27</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-05 15:55:59 -0800</bug_when>
    <thetext>&gt; If this is the only problem, maybe you can just add a dependency to &lt;(chromium_src_dir)/build/win/system.gyp:cygwin for the webcore_bindings_sources target?

Did this not work?

I asked if you were getting the right version of python because I don&apos;t think the bots have /usr/bin/python installed (cygwin python).  They should only have ActivePython installed which doesn&apos;t understand cygwin paths.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515582</commentid>
    <comment_count>28</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-05 18:41:17 -0800</bug_when>
    <thetext>(In reply to comment #27)
&gt; &gt; If this is the only problem, maybe you can just add a dependency to &lt;(chromium_src_dir)/build/win/system.gyp:cygwin for the webcore_bindings_sources target?
&gt; 
&gt; Did this not work?

Tony: It worked! Then, would it be better to solve the issue not by rewriting Python to Perl but by &quot;&lt;(chromium_src_dir)/build/win/system.gyp:cygwin&quot;? (I am not at all hesitating to discard the rewriting patch.)

&gt; I asked if you were getting the right version of python because I don&apos;t think the bots have /usr/bin/python installed (cygwin python).  They should only have ActivePython installed which doesn&apos;t understand cygwin paths.

Ah, I got it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>515977</commentid>
    <comment_count>29</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-06 09:40:13 -0800</bug_when>
    <thetext>(In reply to comment #28)
&gt; (In reply to comment #27)
&gt; &gt; &gt; If this is the only problem, maybe you can just add a dependency to &lt;(chromium_src_dir)/build/win/system.gyp:cygwin for the webcore_bindings_sources target?
&gt; &gt; 
&gt; &gt; Did this not work?
&gt; 
&gt; Tony: It worked! Then, would it be better to solve the issue not by rewriting Python to Perl but by &quot;&lt;(chromium_src_dir)/build/win/system.gyp:cygwin&quot;? (I am not at all hesitating to discard the rewriting patch.)

Yes, that seems like the easiest/simplest thing to do.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516415</commentid>
    <comment_count>30</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-06 17:47:50 -0800</bug_when>
    <thetext>(In reply to comment #29)
&gt; (In reply to comment #28)
&gt; &gt; (In reply to comment #27)
&gt; &gt; &gt; &gt; If this is the only problem, maybe you can just add a dependency to &lt;(chromium_src_dir)/build/win/system.gyp:cygwin for the webcore_bindings_sources target?
&gt; &gt; &gt; 
&gt; &gt; &gt; Did this not work?
&gt; &gt; 
&gt; &gt; Tony: It worked! Then, would it be better to solve the issue not by rewriting Python to Perl but by &quot;&lt;(chromium_src_dir)/build/win/system.gyp:cygwin&quot;? (I am not at all hesitating to discard the rewriting patch.)
&gt; 
&gt; Yes, that seems like the easiest/simplest thing to do.

Tony: Sorry for the confusion. Actually, I double confirmed that It did not work. Specifically, WebCore.gyp looks like this. Am I missing something?

    {
      &apos;target_name&apos;: &apos;webcore_bindings_sources&apos;,
      &apos;type&apos;: &apos;none&apos;,
      &apos;hard_dependency&apos;: 1,
      &apos;conditions&apos;: [
        [&apos;OS==&quot;win&quot;&apos;, {
          &apos;dependencies&apos;: [
            &apos;generate_supplemental_dependency&apos;,
            &apos;&lt;(chromium_src_dir)/build/win/system.gyp:cygwin&apos;,
          ]
        }],
        [&apos;OS!=&quot;win&quot;&apos;, {
          &apos;dependencies&apos;: [
            &apos;generate_supplemental_dependency&apos;,
          ]
        }],
      ],


(The reason why I thought it did work yesterday is that I was just checking if action_derivedsourcesallinone.py outputs no errors. Yesterday action_derivedsourcesallinone.py output no errors in fact, but that appeared to be because action_derivedsourcesallinone.py was not executed since I did not try a clean build.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516962</commentid>
    <comment_count>31</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-07 16:02:37 -0800</bug_when>
    <thetext>Tony: Even if I change WebCore.gyp as follows and try clean build on my local Chromium/Windows, it still fails.

    {
      &apos;target_name&apos;: &apos;webcore_bindings_sources&apos;,
      &apos;type&apos;: &apos;none&apos;,
      &apos;hard_dependency&apos;: 1,
      &apos;dependencies&apos;: [
          &apos;generate_supplemental_dependency&apos;,
          &apos;&lt;(chromium_src_dir)/build/win/system.gyp:cygwin&apos;,
      ],

action_derivedsourcesallinone.py outputs errors like this:

    WARNING: file not found: &quot;/cygdrive/c/cygwin/home/haraken/chrome-build/src/third_party/WebKit/Source/WebCore/websockets/CloseEvent.idl&quot;
    WARNING: file not found: &quot;/cygdrive/c/cygwin/home/haraken/chrome-build/src/third_party/WebKit/Source/WebCore/websockets/WebSocket.idl&quot;
    WARNING: file not found: &quot;/cygdrive/c/cygwin/home/haraken/chrome-build/src/third_party/WebKit/Source/WebCore/workers/AbstractWorker.idl&quot;


&gt;&gt;&gt; [A] Perl behaves as we expected even if it is invoked from Cygwin or DOS-Prompt. Therefore, we can rewrite action_derivedsourcesallinone.py in Perl.
&gt; [A] also sounds OK to me, ...

Maybe the &quot;rewriting action_derivedsourcesallinone.py in Perl&quot; approach would be simpler in this situation, instead of investigating the WebCore.gyp issues.

WDYT?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>516978</commentid>
    <comment_count>32</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-07 16:25:24 -0800</bug_when>
    <thetext>(In reply to comment #31)
&gt; Tony: Even if I change WebCore.gyp as follows and try clean build on my local Chromium/Windows, it still fails.

Yeah, I was surprised when you said it worked.  My understanding was that there&apos;s only one version of python installed on the bots and it&apos;s win32 python which doesn&apos;t know anything about cygwin style paths.

&gt; Maybe the &quot;rewriting action_derivedsourcesallinone.py in Perl&quot; approach would be simpler in this situation, instead of investigating the WebCore.gyp issues.

Seems like there are simpler (i.e., less new code written) solutions like using webkitpy/common/system/path.py:cygpath in action_derivedsourcesallinone.py or using a regex before outputting the filenames in resolve-supplemental.pl.

I&apos;m not opposed to rewriting in perl, but it seems unfortunate that the other files in Source/WebCore/WebCore.gyp/scripts are all in python and to have the code churn because we couldn&apos;t get the right path formatting.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517193</commentid>
    <comment_count>33</comment_count>
      <attachid>118332</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-07 22:37:48 -0800</bug_when>
    <thetext>Created attachment 118332
final patch?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517194</commentid>
    <comment_count>34</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-07 22:46:10 -0800</bug_when>
    <thetext>Adam: I modified action_derivedsourcesallinone.py using webkit.common.system.path.cygpath. I confirmed that action_derivedsourcesallinone.py works well in both Chromium/Windows and Chromium/Linux. Would you please take another look at it? Sorry for taking so long time since the first r+.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517237</commentid>
    <comment_count>35</comment_count>
      <attachid>118332</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 00:20:42 -0800</bug_when>
    <thetext>Comment on attachment 118332
final patch?

Clearing flags on attachment: 118332

Committed r102321: &lt;http://trac.webkit.org/changeset/102321&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517238</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 00:20:48 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517345</commentid>
    <comment_count>37</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-08 05:48:47 -0800</bug_when>
    <thetext>The committed patch was rolled out, but it appears the patch was actually innocent. However, re-committing the patch now will confuse the (broken) build situation. I will re-commit it tomorrow morning so that I can watch it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517872</commentid>
    <comment_count>38</comment_count>
      <attachid>118332</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 16:04:51 -0800</bug_when>
    <thetext>Comment on attachment 118332
final patch?

Rejecting attachment 118332 from commit-queue.

Failed to run &quot;[&apos;/mnt/git/webkit-commit-queue/Tools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;-...&quot; exit_code: 1

ERROR: /mnt/git/webkit-commit-queue/Source/WebCore/ChangeLog neither lists a valid reviewer nor contains the string &quot;Unreviewed&quot; or &quot;Rubber stamp&quot; (case insensitive).

Full output: http://queues.webkit.org/results/10781467</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>517877</commentid>
    <comment_count>39</comment_count>
      <attachid>118484</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-08 16:11:05 -0800</bug_when>
    <thetext>Created attachment 118484
patch for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518025</commentid>
    <comment_count>40</comment_count>
      <attachid>118484</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 18:49:46 -0800</bug_when>
    <thetext>Comment on attachment 118484
patch for commit

Clearing flags on attachment: 118484

Committed r102416: &lt;http://trac.webkit.org/changeset/102416&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518026</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-08 18:49:53 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518464</commentid>
    <comment_count>42</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-09 13:42:08 -0800</bug_when>
    <thetext>Reverted r102416 for reason:

Chromium Win clobber builds are failing


Committed r102472: &lt;http://trac.webkit.org/changeset/102472&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518465</commentid>
    <comment_count>43</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-09 13:43:26 -0800</bug_when>
    <thetext>http://build.chromium.org/p/chromium.webkit/builders/Webkit%20Win%20Builder/builds/17488/steps/compile/logs/stdio


128&gt;c:\b\build\slave\webkit-win-latest-rel\build\src\third_party\webkit\source\webcore\bindings\v8\V8DOMWrapper.h(40) : fatal error C1083: Cannot open include file: &apos;V8Event.h&apos;: No such file or directory

Where 128 is the webcore_bindings target.

I&apos;ll try and fix on my win box and reland if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518490</commentid>
    <comment_count>44</comment_count>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-09 14:11:21 -0800</bug_when>
    <thetext>It looks like we&apos;re hitting the code at http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/generate-bindings.pl#L103 and not generating the files listed in $supplementalDependencyFile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518637</commentid>
    <comment_count>45</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-09 16:50:09 -0800</bug_when>
    <thetext>(In reply to comment #44)
&gt; It looks like we&apos;re hitting the code at http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/generate-bindings.pl#L103 and not generating the files listed in $supplementalDependencyFile.

Sorry for the rolling out. As I&apos;m home and don&apos;t have a Win environment, I&apos;ll take a look at it on Monday.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518964</commentid>
    <comment_count>46</comment_count>
      <attachid>118721</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-11 18:49:08 -0800</bug_when>
    <thetext>Created attachment 118721
fixed Chromium/Win build failure</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518967</commentid>
    <comment_count>47</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-11 18:58:29 -0800</bug_when>
    <thetext>(In reply to comment #44)
&gt; It looks like we&apos;re hitting the code at http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/generate-bindings.pl#L103 and not generating the files listed in $supplementalDependencyFile.

The reason for the failure is this if statement: http://trac.webkit.org/browser/trunk/Source/WebCore/bindings/scripts/generate-bindings.pl#L96

96            if ($idlFile and $idlFile eq $targetIdlFile) {
97	            $idlFound = 1;

On Chromium/Win, the following can happen:

    $idlFile = /cygdrive/c/cygwin/home/haraken/chrome-build/src/third_party/WebKit/Source/WebCore/html/HTMLMeterElement.idl
    $targetIdlFile = /cygdrive/c/cygwin/home/haraken/chrome-build/src/third_party/WebKit/Source/WebCore/WebCore.gyp/../html/HTMLMeterElement.idl

So I fixed the if statement as follows:

96            if ($idlFile and basename($idlFile) eq basename($targetIdlFile)) {
97	            $idlFound = 1;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518981</commentid>
    <comment_count>48</comment_count>
      <attachid>118721</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-11 19:55:23 -0800</bug_when>
    <thetext>Comment on attachment 118721
fixed Chromium/Win build failure

Clearing flags on attachment: 118721

Committed r102556: &lt;http://trac.webkit.org/changeset/102556&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>518982</commentid>
    <comment_count>49</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-11 19:55:30 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519151</commentid>
    <comment_count>50</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-12 05:41:37 -0800</bug_when>
    <thetext>Reverted r102556 for reason:

clobber build failure

Committed r102572: &lt;http://trac.webkit.org/changeset/102572&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519651</commentid>
    <comment_count>51</comment_count>
      <attachid>118900</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-12 16:17:48 -0800</bug_when>
    <thetext>Created attachment 118900
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519652</commentid>
    <comment_count>52</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-12 16:18:47 -0800</bug_when>
    <thetext>(In reply to comment #50)
&gt; Reverted r102556 for reason:
&gt; 
&gt; clobber build failure
&gt; 
&gt; Committed r102572: &lt;http://trac.webkit.org/changeset/102572&gt;

Adam: I rolled it out because the build fix required non-trivial change. Review again, please?

The reason for the failure is that V8Internals.h and V8Internals.cpp are not generated in the clobber build.

...In summary, I found that we need to handle three kinds of IDL files.

[a] .h and .cpp should be generated. The .cpp should be included in V8DerivedSources*.cpp. (e.g. XMLHttpRequest.idl and most IDL files)

[b] .h and .cpp should not be generated because the IDL file is marked as [Supplemental]. (e.g. DOMWindowWebAudio.idl). Obviously .cpp should not be included in V8DerivedSources*.cpp (since the .cpp does not exist).

[c] .h and .cpp should be generated but the .cpp should not be included in V8DerivedSources*.cpp. (e.g. Internals.idl)

We&apos;ve just supported [a] and [b] and we need to handle [c] somehow. Then the uploaded patch added an --additionalIdlFilesList option to generate-bindings.pl, which specifies the IDL files that are not listed in supplemental-dependency.tmp but should generate .h and .cpp files. Specifically,

- The IDL files listed in supplemental-dependency.tmp are for [a].
- The IDL files listed in the --additionalIdlFilesList option are for [c].

In other words,

- action_derivedsourcesallinone.py outputs V8DerivedSources*.cpp for all the IDL files in supplemental-dependency.tmp.
- generate-bindings.pl generates .h and .cpp for all the IDL files in supplemental-dependency.tmp *and* the --additionalIdlFilesList option.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519654</commentid>
    <comment_count>53</comment_count>
      <attachid>118900</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-12 16:22:23 -0800</bug_when>
    <thetext>Comment on attachment 118900
Patch

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

&gt; Source/WebCore/WebCore.gyp/scripts/action_derivedsourcesallinone.py:52
&gt; +sys.path.append(&quot;../../../Tools/Scripts/&quot;)
&gt; +from webkitpy.common.system import path

We don&apos;t allow code outside of Tool/Scripts to import packages from webkitpy.  How large is this function?  Can we just copy/paste it here?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519655</commentid>
    <comment_count>54</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-12 16:25:33 -0800</bug_when>
    <thetext>(In reply to comment #53)
&gt; (From update of attachment 118900 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118900&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.gyp/scripts/action_derivedsourcesallinone.py:52
&gt; &gt; +sys.path.append(&quot;../../../Tools/Scripts/&quot;)
&gt; &gt; +from webkitpy.common.system import path
&gt; 
&gt; We don&apos;t allow code outside of Tool/Scripts to import packages from webkitpy.  How large is this function?  Can we just copy/paste it here?

Actually path.cygpath is large but the essential part is small. I&apos;ll copy and paste the essential part.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519711</commentid>
    <comment_count>55</comment_count>
      <attachid>118914</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-12 17:09:12 -0800</bug_when>
    <thetext>Created attachment 118914
patch for commit</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519714</commentid>
    <comment_count>56</comment_count>
      <attachid>118914</attachid>
    <who name="Tony Chang">tony</who>
    <bug_when>2011-12-12 17:11:53 -0800</bug_when>
    <thetext>Comment on attachment 118914
patch for commit

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

&gt; Source/WebCore/WebCore.gyp/scripts/action_derivedsourcesallinone.py:185
&gt; +def cygpath(fileName):
&gt; +    cmd = [&apos;cygpath&apos;, &apos;-wa&apos;, fileName]
&gt; +    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
&gt; +    exitCode = process.wait()

It&apos;s a lot slower to launch a new cygpath each time you need this.  It&apos;ll be worth it to have a module level global that caches the process.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519715</commentid>
    <comment_count>57</comment_count>
      <attachid>118914</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-12 17:12:28 -0800</bug_when>
    <thetext>Comment on attachment 118914
patch for commit

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

Minor nits that are probably not worth worrying about.

&gt; Source/WebCore/WebCore.gyp/scripts/action_derivedsourcesallinone.py:203
&gt; +        if idlFileName.find(&quot;/cygdrive&quot;) == 0:
&gt; +            idlFileName = cygpath(idlFileName)

idlFileName.startswith ?

Seems like this would cause problems on Unix systems that happen to have a /cygdrive folder.  ;)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519724</commentid>
    <comment_count>58</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-12 17:22:00 -0800</bug_when>
    <thetext>(In reply to comment #56)
&gt; (From update of attachment 118914 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=118914&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/WebCore.gyp/scripts/action_derivedsourcesallinone.py:185
&gt; &gt; +def cygpath(fileName):
&gt; &gt; +    cmd = [&apos;cygpath&apos;, &apos;-wa&apos;, fileName]
&gt; &gt; +    process = subprocess.Popen(cmd, stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
&gt; &gt; +    exitCode = process.wait()
&gt; 
&gt; It&apos;s a lot slower to launch a new cygpath each time you need this.  It&apos;ll be worth it to have a module level global that caches the process.

Then we can use &quot;cygpath -f - -wa&quot; option. We can pass multiple paths to cygpath command from stdin. In that case we need to invoke only one cygpath command.

The patch is coming...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519916</commentid>
    <comment_count>59</comment_count>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-13 00:26:13 -0800</bug_when>
    <thetext>I just modified action_derivedsourcesallinone.py since the previous patch. I confirmed that it works in Chromium/Linux and Chromium/Windows clobber build. Review?

### I was in trouble with mysterious behaviors of the Python subprocess module:-)

&gt; &gt; Source/WebCore/WebCore.gyp/scripts/action_derivedsourcesallinone.py:203
&gt; &gt; +        if idlFileName.find(&quot;/cygdrive&quot;) == 0:
&gt; &gt; +            idlFileName = cygpath(idlFileName)
&gt; 
&gt; idlFileName.startswith ?
&gt; 
&gt; Seems like this would cause problems on Unix systems that happen to have a /cygdrive folder.  ;)

Fixed it, but aren&apos;t v.startswith(...) and v.find(...) == 0 equivalent?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519919</commentid>
    <comment_count>60</comment_count>
      <attachid>118967</attachid>
    <who name="Kentaro Hara">haraken</who>
    <bug_when>2011-12-13 00:26:53 -0800</bug_when>
    <thetext>Created attachment 118967
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519926</commentid>
    <comment_count>61</comment_count>
    <who name="Adam Barth">abarth</who>
    <bug_when>2011-12-13 00:40:16 -0800</bug_when>
    <thetext>&gt; Fixed it, but aren&apos;t v.startswith(...) and v.find(...) == 0 equivalent?

startswith is faster.  Find is O(length of string) but startswith is constant time.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519964</commentid>
    <comment_count>62</comment_count>
      <attachid>118967</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-13 02:06:23 -0800</bug_when>
    <thetext>Comment on attachment 118967
Patch

Clearing flags on attachment: 118967

Committed r102663: &lt;http://trac.webkit.org/changeset/102663&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>519965</commentid>
    <comment_count>63</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2011-12-13 02:06:31 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117118</attachid>
            <date>2011-11-29 21:40:18 -0800</date>
            <delta_ts>2011-12-07 22:37:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73394-20111130144017.patch</filename>
            <type>text/plain</type>
            <size>18702</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNDQ1CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNGVhYzFiZjMyZTIzN2Vm
MDM0ZTVhYWJjYTNmM2ZhZTg2MDAyZjYxNi4uNTZiOGFlMzBkYzhkMTQxMDVkNTg2YmZiZDVkYWEx
YzAwODE5NzU5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDExLTExLTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBmb3Igd2ViYXVkaW8gYXR0cmlidXRlcyBpbiBDaHJvbWl1bQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIE92ZXJ2aWV3OiBVc2lu
ZyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB0aGlzIHBhdGNoIG1vdmVzIHRoZSBhdHRyaWJ1dGUK
KyAgICAgICAgZGVjbGFyYXRpb25zIG9mIHdlYmF1ZGlvIGZyb20gRE9NV2luZG93LmlkbCBpbnRv
IGEgbmV3IElETCBmaWxlCisgICAgICAgIHdlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbCwg
d2hpY2ggaGVscHMgbWFrZSB3ZWJhdWRpbyBhIHNlbGYtY29udGFpbmVkCisgICAgICAgIGZlYXR1
cmUgKGFrYSBhIG1vZHVsZSkuCisKKyAgICAgICAgLSBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIGJ1
aWxkIGZsb3cgb2YgV2ViQ29yZS5neXAgYXMgZm9sbG93czoKKworICAgICAgICAgICAgUHJldmlv
dXMgYnVpbGQgZmxvdzoKKyAgICAgICAgICAgICAgICBmb3JlYWNoICRpZGwgKGFsbCBJREwgZmls
ZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZGVwZW5kcyBv
biAkaWRsOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCByZWFkcyAk
aWRsOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0ZXMg
LmggYW5kIC5jcHAgZmlsZXMgZm9yICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBOZXcgYnVpbGQgZmxvdyAoU2VlIHRoZSBkaXNjdXNzaW9ucyBpbiBidWcgNzIxMzggZm9y
IG1vcmUgZGV0YWlscyk6CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwg
ZGVwZW5kcyBvbiBhbGwgSURMIGZpbGVzOworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxl
bWVudGFsLnBsIHJlYWRzIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1z
dXBwbGVtZW50YWwucGwgcmVzb2x2ZXMgdGhlIGRlcGVuZGVuY3kgb2YgW1N1cHBsZW1lbnRhbD1Y
WFhYXTsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBvdXRwdXRzIHN1
cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAgICAgICAgICBmb3JlYWNoICRpZGwg
KGFsbCBJREwgZmlsZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3Mu
cGwgZGVwZW5kcyBvbiAkaWRsIGFuZCBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXA7CisgICAg
ICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7CisgICAgICAg
ICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzIHN1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5LnRtcDsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZ2Vu
ZXJhdGVzIC5oIGFuZCAuY3BwIGZpbGVzIGZvciAkaWRsLCBpbmNsdWRpbmcgYWxsIGF0dHJpYnV0
ZXMgaW4gSURMIGZpbGVzIHdoaWxlbWVudGluZyAkaWRsOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAtIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIHRlbXBvcmFyeSBJREwsIFtTdXBwbGVt
ZW50ZWRdLiBUaGUgW1N1cHBsZW1lbnRlZF0gSURMCisgICAgICAgIHdpbGwgYmUgcmVtb3ZlZCBh
ZnRlciBidWlsZCBzY3JpcHRzIGZvciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQgdGhlIFtTdXBwbGVt
ZW50YWxdIElETC4KKyAgICAgICAgVGhlIG1vdGl2YXRpb24gZm9yIHRoZSBbU3VwcGxlbWVudGVk
XSBJREwgaXMgYXMgZm9sbG93czoKKworICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBb
U3VwcGxlbWVudGFsXSBJREwsIHdlIG5lZWQgdG8KKyAgICAgICAgKDEpIHJ1biByZXNvbHZlLXN1
cHBsZW1lbnRhbC5wbCBhbmQgZ2VuZXJhdGUgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wCisg
ICAgICAgICgyKSBhbmQgcnVuIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHdpdGggdGhlIHN1cHBsZW1l
bnRhbF9kZXBlbmRlbmN5LnRtcC4KKworICAgICAgICBUaGlzIGJ1aWxkIGZsb3cgcmVxdWlyZXMg
YSBjaGFuZ2Ugb24gdGhlIGZvbGxvd2luZyBidWlsZCBzY3JpcHRzLAorICAgICAgICBidXQgY2hh
bmdpbmcgYWxsIHRoZSBidWlsZCBzY3JpcHRzIGFsbCBhdCBvbmNlIHdpdGhvdXQgYW55IHJlZ3Jl
c3Npb24gaXMgdG9vIGRpZmZpY3VsdDoKKworICAgICAgICAgICAgLSBEZXJpdmVkU291cmNlcy5t
YWtlCisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLnByaQorICAgICAgICAgICAgLSBHTlVt
YWtlZmlsZS5hbQorICAgICAgICAgICAgLSBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyAgICAg
ICAgICAgIC0gVXNlSlNDLmNtYWtlCisgICAgICAgICAgICAtIFVzZVY4LmNtYWtlCisgICAgICAg
ICAgICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRzCisgICAgICAgICAgICAtIFdlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisgICAgICAgICAgICAtIGJpbmRpbmdzL2dvYmplY3Qv
R05VbWFrZWZpbGUuYW0KKyAgICAgICAgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKwor
ICAgICAgICBUaHVzLCB3ZSBhcmUgcGxhbm5pbmcgdG8gY2hhbmdlIHRoZSBidWlsZCBzY3JpcHRz
IG9uZSBieSBvbmUsIHdoaWNoIGltcGxpZXMgdGhhdAorICAgICAgICB3ZSBuZWVkIHRvIGFsbG93
IHRoZSB0ZW1wb3Jhcnkgc3RhdGUgaW4gd2hpY2ggc29tZSBidWlsZCBzY3JpcHRzIHN1cHBvcnQg
W1N1cHBsZW1lbnRhbF0gSURMCisgICAgICAgIGJ1dCBvdGhlcnMgZG8gbm90LiBUbyBhY2NvbXBs
aXNoIHRoaXMsIHdlIGludHJvZHVjZSBhIHRlbXBvcmFyeSBJREwsIFtTdXBwbGVtZW50ZWRdLgor
ICAgICAgICBUaGUgW1N1cHBsZW1lbnRlZF0gSURMIG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0
IHRoZSBhdHRyaWJ1dGUgaXMgbWFya2VkIHdpdGggW1N1cHBsZW1lbnRhbF0KKyAgICAgICAgaW4g
YW5vdGhlciBJREwgZmlsZSBzb21ld2hlcmUsIGxpa2UgdGhpczoKKworICAgICAgICAgICAgRE9N
V2luZG93V2ViQXVkaW8uaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisgICAgICAg
ICAgICAgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5kb3cKKyAgICAgICAgICAgICAgICBdIERP
TVdpbmRvd1dlYkF1ZGlvIHsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIxOwor
ICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjI7CisgICAgICAgICAgICAgICAgfTsK
KworICAgICAgICAgICAgRE9NV2luZG93LmlkbDoKKyAgICAgICAgICAgICAgICBpbnRlcmZhY2Ug
WworICAgICAgICAgICAgICAgIF0gRE9NV2luZG93IHsKKyAgICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIxOyAvLyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVk
IGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdSBJREwKKyAgICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIyOyAvLyBUaGlzIGxpbmUgd2ls
bCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdSBJREwu
CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMzsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGF0dHI0OworICAgICAgICAgICAgICAgIH07CisKKyAgICAgICAgQXNzdW1p
bmcgdGhlc2UgSURMIGZpbGVzLCB0aGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBs
b2dpYyBpbiBnZW5lcmF0ZS1iaW5kaW5ncy5wbDoKKworICAgICAgICAgICAgLSBJZiBhIGdpdmVu
IGJ1aWxkIHNjcmlwdCBzdXBwb3J0cyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLAorICAgICAgICAg
ICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgaWdub3JlcyBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBb
U3VwcGxlbWVudGVkXSBJREwuCisgICAgICAgICAgICAtIE90aGVyd2lzZSwgZ2VuZXJhdGUtYmlu
ZGluZ3MucGwgdHJlYXRzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElE
TAorICAgICAgICAgICAgYXMgbm9ybWFsIGF0dHJpYnV0ZXMgYW5kIGluc3RlYWQgaWdub3JlcyBh
bGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGFsXSBJREwKKyAgICAgICAgICAgIChp
LmUuIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyBub3RoaW5nIGZyb20gdGhlIElETCBm
aWxlIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETCkuCisKKyAgICAgICAgVGVzdHM6IHdlYmF1
ZGlvLyoKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOiBEZXNjcmliZXMgdGhl
IGJ1aWxkIGZsb3cgdGhhdCBJIGRlc2NyaWJlZCBhYm92ZS4KKyAgICAgICAgKiBXZWJDb3JlLmd5
cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5OgorICAgICAgICAobWFp
bik6IFJlYWRzIHRoZSBJREwgZmlsZSBuYW1lcyBmcm9tIHRoZSBpbnB1dCBmaWxlIChpLmUuIHN1
cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCksIHdoaWNoIGFyZSBkZXNjcmliZWQgYXQgdGhlIGZp
cnN0IGNvbHVtbiBvZiBlYWNoIGxpbmUgaW4gdGhlIGlucHV0IGZpbGUuCisgICAgICAgICogV2Vi
Q29yZS5neXBpOiBBZGRlZCBET01XaW5kb3dXZWJBdWRpby5pZGwuCisgICAgICAgICogYmluZGlu
Z3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbDogQXMgYSB0ZW1wb3Jhcnkgc29sdXRpb24s
IGlmIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsXSBJREws
IHRoZSBwZXJsIHNjcmlwdCBpZ25vcmVzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwgYW5kIGluc3Rl
YWQgdXNlcyB0aGUgW1N1cHBsZW1lbnRlZF0gSURMLiBPdGhlcndpc2UsIHRoZSBwZXJsIHNjcmlw
dCBpZ25vcmVzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgYW5kIGluc3RlYWQgdXNlcyB0aGUgW1N1
cHBsZW1lbnRhbF0gSURMLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogQWRkZWQgdGhl
IFtTdXBwbGVtZW50ZWRdIElETCB0byB3ZWJhdWRpby1yZWxhdGVkIGF0dHJpYnV0ZXMuIEFzIEkg
ZGVzY3JpYmVkIGFib3ZlLCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIHdpbGwgYmUgcmVtb3ZlZCBh
ZnRlciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETC4KKyAgICAg
ICAgKiB3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGw6IEFkZGVkLiBEZXNjcmliZXMgdGhl
IFtTdXBwbGVtZW50YWw9RE9NV2luZG93XSBJREwuIFRoZSBhdHRyaWJ1dGVzIGluIHRoaXMgSURM
IGZpbGUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgaWYgdGhleSBhcmUgd3JpdHRlbiBpbiBET01XaW5k
b3cuaWRsLgorCiAyMDExLTExLTI4ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9y
Zz4KIAogICAgICAgICBJbXBsZW1lbnQgW1N1cHBsZW1lbnRhbF0gSURMIGFuZCBzdXBwb3J0IGl0
IGluIHJ1bi1iaW5kaW5ncy10ZXN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5
cAppbmRleCA1ZmUwY2UxM2ZjMTlmYTEzY2JiMzViMDViYTk0YzFhYmZiZmNhYTM5Li5lZDExNmZj
YjI4MmQ1YmI0NWJlZWFmNzkwY2RjNTA5MjdhMDhiZGUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
Lmd5cC9XZWJDb3JlLmd5cApAQCAtNDQ2LDYgKzQ0Niw0MiBAQAogICAgICAgXQogICAgIH0sCiAg
ICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2dlbmVyYXRlX3N1cHBsZW1lbnRhbF9kZXBlbmRl
bmN5JywKKyAgICAgICd0eXBlJzogJ25vbmUnLAorICAgICAgJ2FjdGlvbnMnOiBbCisgICAgICAg
ICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlU3VwcGxlbWVudGFsRGVwZW5k
ZW5jeScsCisgICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKKyAgICAgICAgICAgICMgV3JpdGUgc291
cmNlcyBpbnRvIGEgZmlsZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1hbmQgbGluZSB3b24ndAor
ICAgICAgICAgICAgIyBleGNlZWQgT1MgbGltaXRlcy4KKyAgICAgICAgICAgICdpZGxfZmlsZXNf
bGlzdCc6ICc8fChpZGxfZmlsZXNfbGlzdC50bXAgPEAoYmluZGluZ3NfaWRsX2ZpbGVzKSknLAor
ICAgICAgICAgIH0sCisgICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9iaW5k
aW5ncy9zY3JpcHRzL3Jlc29sdmUtc3VwcGxlbWVudGFsLnBsJywKKyAgICAgICAgICAgICcuLi9i
aW5kaW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbScsCisgICAgICAgICAgICAnPChpZGxfZmlsZXNf
bGlzdCknLAorICAgICAgICAgICAgJzwhQChjYXQgPChpZGxfZmlsZXNfbGlzdCkpJywKKyAgICAg
ICAgICBdLAorICAgICAgICAgICdvdXRwdXRzJzogWworICAgICAgICAgICAgJ3N1cHBsZW1lbnRh
bF9kZXBlbmRlbmN5LnRtcCcsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnYWN0aW9uJzogWwor
ICAgICAgICAgICAgJ3BlcmwnLAorICAgICAgICAgICAgJy13JywKKyAgICAgICAgICAgICctSS4u
L2JpbmRpbmdzL3NjcmlwdHMnLAorICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvcmVz
b2x2ZS1zdXBwbGVtZW50YWwucGwnLAorICAgICAgICAgICAgJy0tZGVmaW5lcycsCisgICAgICAg
ICAgICAnPChmZWF0dXJlX2RlZmluZXMpIExBTkdVQUdFX0pBVkFTQ1JJUFQgVjhfQklORElORycs
CisgICAgICAgICAgICAnLS1pZGxGaWxlc0xpc3QnLAorICAgICAgICAgICAgJzwoaWRsX2ZpbGVz
X2xpc3QpJywKKyAgICAgICAgICAgICctLXN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlJywKKyAg
ICAgICAgICAgICdzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAgICAgICAgIF0sCisg
ICAgICAgICAgJ21lc3NhZ2UnOiAnUmVzb2x2aW5nIFtTdXBwbGVtZW50YWw9WFhYXSBkZXBlbmRl
bmNpZXMgaW4gYWxsIElETCBmaWxlcycsCisgICAgICAgIH0KKyAgICAgIF0KKyAgICB9LAorICAg
IHsKICAgICAgICd0YXJnZXRfbmFtZSc6ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAg
ICAgJ3R5cGUnOiAnbm9uZScsCiAgICAgICAnaGFyZF9kZXBlbmRlbmN5JzogMSwKQEAgLTg2MSwx
NSArODk3LDkgQEAKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICdhY3Rpb25fbmFt
ZSc6ICdkZXJpdmVkX3NvdXJjZXNfYWxsX2luX29uZScsCi0gICAgICAgICAgJ3ZhcmlhYmxlcyc6
IHsKLSAgICAgICAgICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmlsZSwgc28gdGhhdCB0aGUg
YWN0aW9uIGNvbW1hbmQgbGluZSB3b24ndAotICAgICAgICAgICAgIyBleGNlZWQgT1MgbGltaXRl
cy4KLSAgICAgICAgICAgICdpZGxzX2xpc3RfdGVtcF9maWxlJzogJzx8KGlkbHNfbGlzdF90ZW1w
X2ZpbGUudG1wIDxAKGJpbmRpbmdzX2lkbF9maWxlcykpJywKLSAgICAgICAgICB9LAogICAgICAg
ICAgICdpbnB1dHMnOiBbCiAgICAgICAgICAgICAnc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJj
ZXNhbGxpbm9uZS5weScsCi0gICAgICAgICAgICAnPChpZGxzX2xpc3RfdGVtcF9maWxlKScsCi0g
ICAgICAgICAgICAnPCFAKGNhdCA8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpKScsCisgICAgICAgICAg
ICAnc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAgICBdLAogICAgICAgICAg
ICdvdXRwdXRzJzogWwogICAgICAgICAgICAgJzxAKGRlcml2ZWRfc291cmNlc19hZ2dyZWdhdGVf
ZmlsZXMpJywKQEAgLTg3Nyw3ICs5MDcsNyBAQAogICAgICAgICAgICdhY3Rpb24nOiBbCiAgICAg
ICAgICAgICAncHl0aG9uJywKICAgICAgICAgICAgICdzY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291
cmNlc2FsbGlub25lLnB5JywKLSAgICAgICAgICAgICc8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpJywK
KyAgICAgICAgICAgICdzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgICAg
Jy0tJywKICAgICAgICAgICAgICc8QChkZXJpdmVkX3NvdXJjZXNfYWdncmVnYXRlX2ZpbGVzKScs
CiAgICAgICAgICAgXSwKQEAgLTkzMCw2ICs5NjAsNyBAQAogICAgICAgICAgICAgJy4uL2JpbmRp
bmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtJywKICAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3Jp
cHRzL0lETFN0cnVjdHVyZS5wbScsCiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9w
cmVwcm9jZXNzb3IucG0nLAorICAgICAgICAgICAgJ3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRt
cCcsCiAgICAgICAgICAgXSwKICAgICAgICAgICAnb3V0cHV0cyc6IFsKICAgICAgICAgICAgICMg
RklYTUU6ICBUaGUgLmNwcCBmaWxlIHNob3VsZCBiZSBpbiB3ZWJraXQvYmluZGluZ3Mgb25jZQpA
QCAtOTc1LDYgKzEwMDYsOCBAQAogICAgICAgICAgICAgJy0tZ2VuZXJhdG9yJywKICAgICAgICAg
ICAgICdWOCcsCiAgICAgICAgICAgICAnPEAoZ2VuZXJhdG9yX2luY2x1ZGVfZGlycyknLAorICAg
ICAgICAgICAgJy0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUnLAorICAgICAgICAgICAgJ3N1
cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCiAgICAgICAgICAgICAnPChSVUxFX0lOUFVUX1BB
VEgpJywKICAgICAgICAgICBdLAogICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgYmlu
ZGluZyBmcm9tIDwoUlVMRV9JTlBVVF9QQVRIKScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNh
bGxpbm9uZS5weQppbmRleCA1ODYwNzFiZmMwODAxZDRjNjRiNjhiNzg3MzEyZjIyYzVjMjhmM2Fh
Li40MmM0NWU3MTUxM2VkOTZhY2RlYjhhODBmYmFiM2NhM2MzZjI3OGRlIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2Fs
bGlub25lLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9u
X2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkKQEAgLTMyLDEyICszMiwxMiBAQAogIyBVc2Ugb2Yg
dGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQg
Y2FuIGJlCiAjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKLSMgYWN0aW9uX2Rlcml2ZWRz
b3VyY2VzbGlzdC5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZpbGUgdGhhdCBpbmNsdWRlcwor
IyBhY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3Bw
IGZpbGUgdGhhdCBpbmNsdWRlcwogIyBhbGwgdjggYmluZGluZ3MgY3BwIGZpbGVzIGdlbmVyYXRl
ZCBmcm9tIGlkbHMuIEZpbGVzIGNhbiBiZSBhc3NpZ25lZCBpbnRvCiAjIG11bHRpcGxlIG91dHB1
dCBmaWxlcywgdG8gcmVkdWNlIG1heGltdW0gY29tcGlsYXRpb24gdW5pdCBzaXplIGFuZCBhbGxv
dwogIyBwYXJhbGxlbCBjb21waWxhdGlvbi4KICMKLSMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291
cmNlc2xpc3QucHkgSURMX0ZJTEVTX0xJU1QgLS0gT1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAu
Li4KKyMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IElETF9GSUxFU19M
SVNUIC0tIE9VVFBVVF9GSUxFMSBPVVRQVVRfRklMRTIgLi4uCiAjCiAjIE5vdGUgdGhhdCBJRExf
RklMRVNfTElTVCBpcyBhIHRleHQgZmlsZSBjb250YWluaW5nIHRoZSBJREwgZmlsZSBwYXRocy4K
IApAQCAtMTg2LDcgKzE4Niw5IEBAIGRlZiBtYWluKGFyZ3MpOgogICAgIG91dHB1dEZpbGVOYW1l
cyA9IGFyZ3NbaW5PdXRCcmVha0luZGV4KzE6XQogCiAgICAgaW5wdXRGaWxlID0gb3BlbihpbnB1
dEZpbGVOYW1lLCAncicpCi0gICAgaWRsRmlsZU5hbWVzID0gaW5wdXRGaWxlLnJlYWQoKS5zcGxp
dCgnXG4nKQorICAgIGlkbEZpbGVOYW1lcyA9IFtdCisgICAgZm9yIGxpbmUgaW4gaW5wdXRGaWxl
OgorICAgICAgICBpZGxGaWxlTmFtZXMuYXBwZW5kKGxpbmVbOi0xXS5zcGxpdCgnICcpWzBdKQog
ICAgIGlucHV0RmlsZS5jbG9zZSgpCiAKICAgICBmaWxlc01ldGFEYXRhID0gZXh0cmFjdE1ldGFE
YXRhKGlkbEZpbGVOYW1lcykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBjOTAwZGM1MzhiMGYyODg2ZDU4
MzIwNWU2ODAyMmFlMGMzZjJhYjI0Li5jOTdjNmIxODQ1NjhmMTc0MzZmNWFiOWM0YmYzZTdmNDRj
NTNlNTJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNDkxLDYgKzE0OTEsNyBAQAogICAgICAgICAg
ICAgJ3dlYmF1ZGlvL0JpcXVhZEZpbHRlck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRp
by9Db252b2x2ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vRGVsYXlOb2RlLmlk
bCcsCisgICAgICAgICAgICAnd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsJywKICAgICAg
ICAgICAgICd3ZWJhdWRpby9EeW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbCcsCiAgICAgICAgICAg
ICAnd2ViYXVkaW8vSGlnaFBhc3MyRmlsdGVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1
ZGlvL0phdmFTY3JpcHRBdWRpb05vZGUuaWRsJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwgYi9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsCmluZGV4IGJmNGQ3MDFjZmZmNTAy
Njk5ZGY1ODBhNGZjZWVlOWQyZjViZDYwMDUuLmQyZWFmODMxNWNiMjgyMjUxZTIxNmRiZGM3OTk2
MDhkNzQ3NDg5MDggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Z2VuZXJhdGUtYmluZGluZ3MucGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbApAQCAtMTE0LDYgKzExNCw3OSBAQCBpZiAoJHN1cHBsZW1l
bnRhbERlcGVuZGVuY3lGaWxlKSB7CiBteSAkdGFyZ2V0UGFyc2VyID0gSURMUGFyc2VyLT5uZXco
ISR2ZXJib3NlKTsKIG15ICR0YXJnZXREb2N1bWVudCA9ICR0YXJnZXRQYXJzZXItPlBhcnNlKCR0
YXJnZXRJZGxGaWxlLCAkZGVmaW5lcywgJHByZXByb2Nlc3Nvcik7CiAKKyMgRklYTUUoaGFyYWtl
bik6IFJlbW92ZSB0aGlzIGlmLWVsc2Ugc3RhdGVtZW50LgorIyBUaGlzIGlmLWVsc2Ugc3RhdGVt
ZW50IGlzIHRlbXBvcmFyeSBhbmQgd2lsbCBiZSByZW1vdmVkCisjIGFmdGVyIGJ1aWxkIHNjcmlw
dHMgZm9yIGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCBbU3VwcGxlbWVudGFsXSBJREwuCisjIFRoZSBt
b3RpdmF0aW9uIGZvciB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIGlzIGFzIGZvbGxvd3M6CisjCisj
IEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgd2UgbmVlZCB0bwor
IyAoMSkgcnVuIHJlc29sdmUtc3VwcGxlbWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50
YWxfZGVwZW5kZW5jeS50bXAKKyMgKDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0
aCB0aGUgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wLgorIworIyBUaGlzIGJ1aWxkIGZsb3cg
cmVxdWlyZXMgYSBjaGFuZ2Ugb24gdGhlIGZvbGxvd2luZyBidWlsZCBzY3JpcHRzLAorIyBidXQg
Y2hhbmdpbmcgYWxsIHRoZSBidWlsZCBzY3JpcHRzIGFsbCBhdCBvbmNlIHdpdGhvdXQgYW55IHJl
Z3Jlc3Npb24gaXMgdG9vIGRpZmZpY3VsdDoKKyMKKyMgICAgIC0gRGVyaXZlZFNvdXJjZXMubWFr
ZQorIyAgICAgLSBEZXJpdmVkU291cmNlcy5wcmkKKyMgICAgIC0gR05VbWFrZWZpbGUuYW0KKyMg
ICAgIC0gUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisjICAgICAtIFVzZUpTQy5jbWFrZQorIyAg
ICAgLSBVc2VWOC5jbWFrZQorIyAgICAgLSBXZWJDb3JlLnZjcHJvai9NaWdyYXRlU2NyaXB0cwor
IyAgICAgLSBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorIyAgICAgLSBiaW5kaW5ncy9n
b2JqZWN0L0dOVW1ha2VmaWxlLmFtCisjICAgICAtIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisj
CisjIFRodXMsIHdlIGFyZSBwbGFubmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25l
IGJ5IG9uZSwgd2hpY2ggaW1wbGllcyB0aGF0CisjIHdlIG5lZWQgdG8gYWxsb3cgdGhlIHRlbXBv
cmFyeSBzdGF0ZSBpbiB3aGljaCBzb21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3VwcGxlbWVu
dGFsXSBJREwKKyMgYnV0IG90aGVycyBkbyBub3QuIFRvIGFjY29tcGxpc2ggdGhpcywgd2UgaW50
cm9kdWNlIGEgdGVtcG9yYWwgSURMLCBbU3VwcGxlbWVudGVkXS4KKyMgVGhlIFtTdXBwbGVtZW50
ZWRdIElETCBvbiBhbiBhdHRyaWJ1dGUgbWVhbnMgdGhhdCB0aGUgYXR0cmlidXRlIGlzIG1hcmtl
ZCB3aXRoIFtTdXBwbGVtZW50YWxdCisjIGluIGFub3RoZXIgSURMIGZpbGUgc29tZXdoZXJlLCBs
aWtlIHRoaXM6CisjCisjIERPTVdpbmRvd1dlYkF1ZGlvLmlkbDoKKyMgICAgIGludGVyZmFjZSBb
CisjICAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworIyAgICAgXSBET01XaW5kb3dXZWJB
dWRpbyB7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHIxOworIyAgICAgICAgIGF0dHJpYnV0ZSBh
dHRyMjsKKyMgICAgIH07CisjCisjIERPTVdpbmRvdy5pZGw6CisjICAgICBpbnRlcmZhY2UgWwor
IyAgICAgXSBET01XaW5kb3cgeworIyAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBh
dHRyMTsgLy8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0
cyBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsTC4KKyMgICAgICAgICBhdHRyaWJ1dGUgW1N1cHBs
ZW1lbnRlZF0gYXR0cjI7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1
aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbEwuCisjICAgICAgICAgYXR0cmli
dXRlIGF0dHIzOworIyAgICAgICAgIGF0dHJpYnV0ZSBhdHRyNDsKKyMgICAgIH07CisjCisjIEFz
c3VtaW5nIHRoZXNlIElETCBmaWxlcywgdGhlIGJlbG93IGNvZGUgaXMgZG9pbmcgdGhlIGZvbGxv
d2luZyBsb2dpYzoKKyMKKyMgICAgIC0gSWYgYSBnaXZlbiBidWlsZCBzY3JpcHQgc3VwcG9ydHMg
dGhlIFtTdXBwbGVtZW50YWxdIElETCAoaS5lLiAtLXN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxl
IGlzIHNwZWNpZmllZCksCisjICAgICAgIHdlIGlnbm9yZSBhbGwgYXR0cmlidXRlcyB3aXRoIHRo
ZSBbU3VwcGxlbWVudGVkXSBJREwuCisjICAgICAtIE90aGVyd2lzZSAoaS5lLiAtLXN1cHBsZW1l
bnRhbERlcGVuZGVuY3lGaWxlIGlzIG5vdCBzcGVjaWZpZWQpLAorIyAgICAgICB3ZSB0cmVhdCBh
bGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgYXMgbm9ybWFsIGF0dHJp
YnV0ZXMKKyMgICAgICAgYW5kIGluc3RlYWQgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhl
IFtTdXBwbGVtZW50YWxdIElETAorIyAgICAgICAoaS5lLiB3ZSBnZW5lcmF0ZSBub3RoaW5nIGZy
b20gdGhlIGlkbCBmaWxlIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETCkuCitpZiAoJHN1cHBs
ZW1lbnRhbERlcGVuZGVuY3lGaWxlKSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5vZGUgKEB7JHRh
cmdldERvY3VtZW50LT5jbGFzc2VzfSkgeworICAgICAgICBteSBAbm9uU3VwcGxlbWVudGVkQXR0
cmlidXRlczsKKyAgICAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRkYXRhTm9kZS0+YXR0
cmlidXRlc30pIHsKKyAgICAgICAgICAgIGlmICghJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRl
bmRlZEF0dHJpYnV0ZXMtPnsiU3VwcGxlbWVudGVkIn0pIHsKKyAgICAgICAgICAgICAgICBwdXNo
KEBub25TdXBwbGVtZW50ZWRBdHRyaWJ1dGVzLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIH0K
KyAgICAgICAgfQorICAgICAgICAkZGF0YU5vZGUtPmF0dHJpYnV0ZXMoXEBub25TdXBwbGVtZW50
ZWRBdHRyaWJ1dGVzKTsKKyAgICB9Cit9IGVsc2UgeworICAgIGZvcmVhY2ggbXkgJGRhdGFOb2Rl
IChAeyR0YXJnZXREb2N1bWVudC0+Y2xhc3Nlc30pIHsKKyAgICAgICAgaWYgKCRkYXRhTm9kZS0+
ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57IlN1cHBsZW1lbnRhbCJ9KSB7CisgICAgICAgICAgICBleGl0
IDA7CisgICAgICAgIH0KKyAgICB9Cit9CisjIFRlbXBvcmFyeSBpZi1lbHNlIHN0YXRlbWVudCB1
bnRpbCBoZXJlLgorCiBmb3JlYWNoIG15ICRpZGxGaWxlIChAc3VwcGxlbWVudGVkSWRsRmlsZXMp
IHsKICAgICBuZXh0IGlmICRpZGxGaWxlIGVxICR0YXJnZXRJZGxGaWxlOwogCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKaW5kZXggYzlhYzI1MWMyNmJkZTQ5MzA4NzI2MjkwZGM2YWE3ODQzMDAx
OTFhNi4uM2JhOGZjOTg2NDdkNDllMDMyN2YzOGMwM2JmZjg2NzU5MTJlMzVhYiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbApAQCAtNTIyLDggKzUyMiw4IEBAIG1vZHVsZSB3aW5kb3cgewog
ICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gRmxvYXQ2NEFycmF5Q29uc3RydWN0
b3IgRmxvYXQ2NEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0
cmlidXRlIFtKU0NDdXN0b21HZXR0ZXJdIERhdGFWaWV3Q29uc3RydWN0b3IgRGF0YVZpZXc7IC8v
IFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9t
R2V0dGVyLENvbmRpdGlvbmFsPVdFQl9BVURJTyxFbmFibGVkQXRSdW50aW1lXSBBdWRpb0NvbnRl
eHRDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVy
YXRvcgotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gQXVkaW9QYW5u
ZXJOb2RlQ29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOyAvLyBOZWVkZWQgZm9yIHBh
bm5pbmcgbW9kZWwgY29uc3RhbnRzCisgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkLCBK
U0NDdXN0b21HZXR0ZXIsIENvbmRpdGlvbmFsPVdFQl9BVURJTywgRW5hYmxlZEF0UnVudGltZV0g
QXVkaW9Db250ZXh0Q29uc3RydWN0b3Igd2Via2l0QXVkaW9Db250ZXh0OyAvLyBVc2FibGUgd2l0
aCBuZXcgb3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlv
bmFsPVdFQl9BVURJT10gQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5u
ZXJOb2RlOyAvLyBOZWVkZWQgZm9yIHBhbm5pbmcgbW9kZWwgY29uc3RhbnRzCiAKICAgICAgICAg
Ly8gRXZlbnQgQ29uc3RydWN0b3JzCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudENvbnN0cnVjdG9y
IEV2ZW50OwpAQCAtNTUyLDggKzU1Miw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRy
aWJ1dGUgW0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UU10gVG91Y2hFdmVudENvbnN0cnVjdG9yIFRv
dWNoRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX1NPQ0tFVFNdIENs
b3NlRXZlbnRDb25zdHJ1Y3RvciBDbG9zZUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgU3RvcmFn
ZUV2ZW50Q29uc3RydWN0b3IgU3RvcmFnZUV2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRp
dGlvbmFsPVdFQl9BVURJT10gQXVkaW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1By
b2Nlc3NpbmdFdmVudDsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfQVVESU9d
IE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxpbmVBdWRpb0NvbXBs
ZXRpb25FdmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFs
PVdFQl9BVURJT10gQXVkaW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3Np
bmdFdmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFsPVdF
Ql9BVURJT10gT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1
ZGlvQ29tcGxldGlvbkV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUlOUFVU
X1NQRUVDSF0gU3BlZWNoSW5wdXRFdmVudENvbnN0cnVjdG9yIFNwZWVjaElucHV0RXZlbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSBNZWRpYVN0cmVhbUV2
ZW50Q29uc3RydWN0b3IgTWVkaWFTdHJlYW1FdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1XRUJHTF0gV2ViR0xDb250ZXh0RXZlbnRDb25zdHJ1Y3RvciBXZWJHTENvbnRleHRF
dmVudDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1
ZGlvLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kZDEwOGVmYjdiMDMzZWZmYjFlZWVkN2FjNDA1MWIxNzIwZjdmYTk0Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8u
aWRsCkBAIC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICBpbnRlcmZhY2Ug
WworICAgICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCisgICAgICAgIFN1cHBsZW1lbnRhbD1E
T01XaW5kb3cKKyAgICBdIERPTVdpbmRvd1dlYkF1ZGlvIHsKKyAgICAgICAgYXR0cmlidXRlIFtK
U0NDdXN0b21HZXR0ZXIsIEVuYWJsZWRBdFJ1bnRpbWVdIEF1ZGlvQ29udGV4dENvbnN0cnVjdG9y
IHdlYmtpdEF1ZGlvQ29udGV4dDsKKyAgICAgICAgYXR0cmlidXRlIEF1ZGlvUGFubmVyTm9kZUNv
bnN0cnVjdG9yIHdlYmtpdEF1ZGlvUGFubmVyTm9kZTsKKyAgICAgICAgYXR0cmlidXRlIEF1ZGlv
UHJvY2Vzc2luZ0V2ZW50Q29uc3RydWN0b3IgQXVkaW9Qcm9jZXNzaW5nRXZlbnQ7CisgICAgICAg
IGF0dHJpYnV0ZSBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5l
QXVkaW9Db21wbGV0aW9uRXZlbnQ7CisgICAgfTsKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117144</attachid>
            <date>2011-11-30 01:53:12 -0800</date>
            <delta_ts>2011-12-07 22:37:32 -0800</delta_ts>
            <desc>rebased patch for commit</desc>
            <filename>bug-73394-20111130185311.patch</filename>
            <type>text/plain</type>
            <size>18866</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNDY0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYjMzNTBkNjU2ZWQxYjE0
ZDU3OTAwNzU5ZGU3N2I0MjdjZjI0MzgxOS4uZTc3YjVmZmFmMjBkZmQ3ODg2MTBiYTU3ZTE5NDU2
Y2ZiNzg0MTc3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDExLTExLTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBmb3Igd2ViYXVkaW8gYXR0cmlidXRlcyBpbiBDaHJvbWl1bQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIC0gT3ZlcnZpZXc6IFVzaW5nIHRo
ZSBbU3VwcGxlbWVudGFsXSBJREwsIHRoaXMgcGF0Y2ggbW92ZXMgdGhlIGF0dHJpYnV0ZQorICAg
ICAgICBkZWNsYXJhdGlvbnMgb2Ygd2ViYXVkaW8gZnJvbSBET01XaW5kb3cuaWRsIGludG8gYSBu
ZXcgSURMIGZpbGUKKyAgICAgICAgd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsLCB3aGlj
aCBoZWxwcyBtYWtlIHdlYmF1ZGlvIGEgc2VsZi1jb250YWluZWQKKyAgICAgICAgZmVhdHVyZSAo
YWthIGEgbW9kdWxlKS4KKworICAgICAgICAtIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgYnVpbGQg
ZmxvdyBvZiBXZWJDb3JlLmd5cCBhcyBmb2xsb3dzOgorCisgICAgICAgICAgICBQcmV2aW91cyBi
dWlsZCBmbG93OgorICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxsIElETCBmaWxlcykg
eworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBkZXBlbmRzIG9uICRp
ZGw7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7
CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyAuaCBh
bmQgLmNwcCBmaWxlcyBmb3IgJGlkbDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IE5ldyBidWlsZCBmbG93IChTZWUgdGhlIGRpc2N1c3Npb25zIGluIGJ1ZyA3MjEzOCBmb3IgbW9y
ZSBkZXRhaWxzKToKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBkZXBl
bmRzIG9uIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50
YWwucGwgcmVhZHMgYWxsIElETCBmaWxlczsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCByZXNvbHZlcyB0aGUgZGVwZW5kZW5jeSBvZiBbU3VwcGxlbWVudGFsPVhYWFhd
OworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVudGFsLnBsIG91dHB1dHMgc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wOworICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxs
IElETCBmaWxlcykgeworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBk
ZXBlbmRzIG9uICRpZGwgYW5kIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgJGlkbDsKKyAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgc3VwcGxlbWVudGFsX2RlcGVuZGVu
Y3kudG1wOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0
ZXMgLmggYW5kIC5jcHAgZmlsZXMgZm9yICRpZGwsIGluY2x1ZGluZyBhbGwgYXR0cmlidXRlcyBp
biBJREwgZmlsZXMgd2hpbGVtZW50aW5nICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgIC0gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRl
ZF0uIFRoZSBbU3VwcGxlbWVudGVkXSBJREwKKyAgICAgICAgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGJ1aWxkIHNjcmlwdHMgZm9yIGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMLgorICAgICAgICBUaGUgbW90aXZhdGlvbiBmb3IgdGhlIFtTdXBwbGVtZW50ZWRdIElE
TCBpcyBhcyBmb2xsb3dzOgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIFtTdXBw
bGVtZW50YWxdIElETCwgd2UgbmVlZCB0bworICAgICAgICAoMSkgcnVuIHJlc29sdmUtc3VwcGxl
bWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAKKyAgICAg
ICAgKDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0aCB0aGUgc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3kudG1wLgorCisgICAgICAgIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJlcyBhIGNo
YW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisgICAgICAgIGJ1dCBjaGFuZ2lu
ZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lv
biBpcyB0b28gZGlmZmljdWx0OgorCisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLm1ha2UK
KyAgICAgICAgICAgIC0gRGVyaXZlZFNvdXJjZXMucHJpCisgICAgICAgICAgICAtIEdOVW1ha2Vm
aWxlLmFtCisgICAgICAgICAgICAtIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorICAgICAgICAg
ICAgLSBVc2VKU0MuY21ha2UKKyAgICAgICAgICAgIC0gVXNlVjguY21ha2UKKyAgICAgICAgICAg
IC0gV2ViQ29yZS52Y3Byb2ovTWlncmF0ZVNjcmlwdHMKKyAgICAgICAgICAgIC0gV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKyAgICAgICAgICAgIC0gYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQorICAgICAgICAgICAgLSBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorCisgICAg
ICAgIFRodXMsIHdlIGFyZSBwbGFubmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25l
IGJ5IG9uZSwgd2hpY2ggaW1wbGllcyB0aGF0CisgICAgICAgIHdlIG5lZWQgdG8gYWxsb3cgdGhl
IHRlbXBvcmFyeSBzdGF0ZSBpbiB3aGljaCBzb21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3Vw
cGxlbWVudGFsXSBJREwKKyAgICAgICAgYnV0IG90aGVycyBkbyBub3QuIFRvIGFjY29tcGxpc2gg
dGhpcywgd2UgaW50cm9kdWNlIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRlZF0uCisgICAg
ICAgIFRoZSBbU3VwcGxlbWVudGVkXSBJREwgb24gYW4gYXR0cmlidXRlIG1lYW5zIHRoYXQgdGhl
IGF0dHJpYnV0ZSBpcyBtYXJrZWQgd2l0aCBbU3VwcGxlbWVudGFsXQorICAgICAgICBpbiBhbm90
aGVyIElETCBmaWxlIHNvbWV3aGVyZSwgbGlrZSB0aGlzOgorCisgICAgICAgICAgICBET01XaW5k
b3dXZWJBdWRpby5pZGw6CisgICAgICAgICAgICAgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgICAg
ICAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgICAgICAgICAgICAgIF0gRE9NV2lu
ZG93V2ViQXVkaW8geworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMjsKKyAgICAgICAgICAgICAgICB9OworCisg
ICAgICAgICAgICBET01XaW5kb3cuaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisg
ICAgICAgICAgICAgICAgXSBET01XaW5kb3cgeworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjE7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0
ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETAorICAgICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjI7IC8vIFRoaXMgbGluZSB3aWxsIGJl
IHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETC4KKyAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIzOworICAgICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgYXR0cjQ7CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICBBc3N1bWluZyB0
aGVzZSBJREwgZmlsZXMsIHRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIGxvZ2lj
IGluIGdlbmVyYXRlLWJpbmRpbmdzLnBsOgorCisgICAgICAgICAgICAtIElmIGEgZ2l2ZW4gYnVp
bGQgc2NyaXB0IHN1cHBvcnRzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwsCisgICAgICAgICAgICBn
ZW5lcmF0ZS1iaW5kaW5ncy5wbCBpZ25vcmVzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50ZWRdIElETC4KKyAgICAgICAgICAgIC0gT3RoZXJ3aXNlLCBnZW5lcmF0ZS1iaW5kaW5n
cy5wbCB0cmVhdHMgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMCisg
ICAgICAgICAgICBhcyBub3JtYWwgYXR0cmlidXRlcyBhbmQgaW5zdGVhZCBpZ25vcmVzIGFsbCBh
dHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETAorICAgICAgICAgICAgKGkuZS4g
Z2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJhdGVzIG5vdGhpbmcgZnJvbSB0aGUgSURMIGZpbGUg
d2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KKworICAgICAgICBUZXN0czogd2ViYXVkaW8v
KgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERlc2NyaWJlcyB0aGUgYnVp
bGQgZmxvdyB0aGF0IEkgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAqIFdlYkNvcmUuZ3lwL3Nj
cmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHk6CisgICAgICAgIChtYWluKTog
UmVhZHMgdGhlIElETCBmaWxlIG5hbWVzIGZyb20gdGhlIGlucHV0IGZpbGUgKGkuZS4gc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wKSwgd2hpY2ggYXJlIGRlc2NyaWJlZCBhdCB0aGUgZmlyc3Qg
Y29sdW1uIG9mIGVhY2ggbGluZSBpbiB0aGUgaW5wdXQgZmlsZS4KKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6IEFkZGVkIERPTVdpbmRvd1dlYkF1ZGlvLmlkbC4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsOiBBcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiwgaWYg
dGhlIHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgdGhl
IHBlcmwgc2NyaXB0IGlnbm9yZXMgdGhlIFtTdXBwbGVtZW50YWxdIElETCBhbmQgaW5zdGVhZCB1
c2VzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwuIE90aGVyd2lzZSwgdGhlIHBlcmwgc2NyaXB0IGln
bm9yZXMgdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhbmQgaW5zdGVhZCB1c2VzIHRoZSBbU3VwcGxl
bWVudGFsXSBJREwuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCB0aGUgW1N1
cHBsZW1lbnRlZF0gSURMIHRvIHdlYmF1ZGlvLXJlbGF0ZWQgYXR0cmlidXRlcy4gQXMgSSBkZXNj
cmliZWQgYWJvdmUsIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLgorICAgICAgICAq
IHdlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbDogQWRkZWQuIERlc2NyaWJlcyB0aGUgW1N1
cHBsZW1lbnRhbD1ET01XaW5kb3ddIElETC4gVGhlIGF0dHJpYnV0ZXMgaW4gdGhpcyBJREwgZmls
ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyBpZiB0aGV5IGFyZSB3cml0dGVuIGluIERPTVdpbmRvdy5p
ZGwuCisKIDIwMTEtMTEtMzAgIE5vZWwgR29yZG9uICA8bm9lbC5nb3Jkb25AZ21haWwuY29tPgog
CiAgICAgICAgIEpQRUdJbWFnZURlY29kZXI6IENvZGUgaW5wdXQgY29sb3Igc3BhY2UgY2FzZSBl
bnRyaWVzIGluIG51bWVyaWNhbCBvcmRlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3Jl
Lmd5cAppbmRleCA1ZmUwY2UxM2ZjMTlmYTEzY2JiMzViMDViYTk0YzFhYmZiZmNhYTM5Li4xYTY4
YTNkNmNjZTkxYjhhMGE0NTU3OWZmMGZhOGFhOTgzZTFiMWU5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDQ2LDYgKzQ0Niw0MiBAQAogICAgICAgXQogICAgIH0s
CiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2dlbmVyYXRlX3N1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5JywKKyAgICAgICd0eXBlJzogJ25vbmUnLAorICAgICAgJ2FjdGlvbnMnOiBbCisgICAg
ICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlU3VwcGxlbWVudGFsRGVw
ZW5kZW5jeScsCisgICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKKyAgICAgICAgICAgICMgV3JpdGUg
c291cmNlcyBpbnRvIGEgZmlsZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1hbmQgbGluZSB3b24n
dAorICAgICAgICAgICAgIyBleGNlZWQgT1MgbGltaXRzLgorICAgICAgICAgICAgJ2lkbF9maWxl
c19saXN0JzogJzx8KGlkbF9maWxlc19saXN0LnRtcCA8QChiaW5kaW5nc19pZGxfZmlsZXMpKScs
CisgICAgICAgICAgfSwKKyAgICAgICAgICAnaW5wdXRzJzogWworICAgICAgICAgICAgJy4uL2Jp
bmRpbmdzL3NjcmlwdHMvcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwnLAorICAgICAgICAgICAgJy4u
L2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtJywKKyAgICAgICAgICAgICc8KGlkbF9maWxl
c19saXN0KScsCisgICAgICAgICAgICAnPCFAKGNhdCA8KGlkbF9maWxlc19saXN0KSknLAorICAg
ICAgICAgIF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURf
SU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKKyAgICAgICAg
ICBdLAorICAgICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAg
ICAgICAnLXcnLAorICAgICAgICAgICAgJy1JLi4vYmluZGluZ3Mvc2NyaXB0cycsCisgICAgICAg
ICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCcsCisgICAg
ICAgICAgICAnLS1kZWZpbmVzJywKKyAgICAgICAgICAgICc8KGZlYXR1cmVfZGVmaW5lcykgTEFO
R1VBR0VfSkFWQVNDUklQVCBWOF9CSU5ESU5HJywKKyAgICAgICAgICAgICctLWlkbEZpbGVzTGlz
dCcsCisgICAgICAgICAgICAnPChpZGxfZmlsZXNfbGlzdCknLAorICAgICAgICAgICAgJy0tc3Vw
cGxlbWVudGFsRGVwZW5kZW5jeUZpbGUnLAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVE
SUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCisgICAgICAgICAgXSwKKyAg
ICAgICAgICAnbWVzc2FnZSc6ICdSZXNvbHZpbmcgW1N1cHBsZW1lbnRhbD1YWFhdIGRlcGVuZGVu
Y2llcyBpbiBhbGwgSURMIGZpbGVzJywKKyAgICAgICAgfQorICAgICAgXQorICAgIH0sCisgICAg
ewogICAgICAgJ3RhcmdldF9uYW1lJzogJ3dlYmNvcmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAg
ICAndHlwZSc6ICdub25lJywKICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAxLApAQCAtODYxLDE1
ICs4OTcsOSBAQAogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgJ2FjdGlvbl9uYW1l
JzogJ2Rlcml2ZWRfc291cmNlc19hbGxfaW5fb25lJywKLSAgICAgICAgICAndmFyaWFibGVzJzog
ewotICAgICAgICAgICAgIyBXcml0ZSBzb3VyY2VzIGludG8gYSBmaWxlLCBzbyB0aGF0IHRoZSBh
Y3Rpb24gY29tbWFuZCBsaW5lIHdvbid0Ci0gICAgICAgICAgICAjIGV4Y2VlZCBPUyBsaW1pdGVz
LgotICAgICAgICAgICAgJ2lkbHNfbGlzdF90ZW1wX2ZpbGUnOiAnPHwoaWRsc19saXN0X3RlbXBf
ZmlsZS50bXAgPEAoYmluZGluZ3NfaWRsX2ZpbGVzKSknLAotICAgICAgICAgIH0sCiAgICAgICAg
ICAgJ2lucHV0cyc6IFsKICAgICAgICAgICAgICdzY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNl
c2FsbGlub25lLnB5JywKLSAgICAgICAgICAgICc8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpJywKLSAg
ICAgICAgICAgICc8IUAoY2F0IDwoaWRsc19saXN0X3RlbXBfZmlsZSkpJywKKyAgICAgICAgICAg
ICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAn
LAogICAgICAgICAgIF0sCiAgICAgICAgICAgJ291dHB1dHMnOiBbCiAgICAgICAgICAgICAnPEAo
ZGVyaXZlZF9zb3VyY2VzX2FnZ3JlZ2F0ZV9maWxlcyknLApAQCAtODc3LDcgKzkwNyw3IEBACiAg
ICAgICAgICAgJ2FjdGlvbic6IFsKICAgICAgICAgICAgICdweXRob24nLAogICAgICAgICAgICAg
J3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHknLAotICAgICAgICAgICAg
JzwoaWRsc19saXN0X3RlbXBfZmlsZSknLAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVE
SUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCiAgICAgICAgICAgICAnLS0n
LAogICAgICAgICAgICAgJzxAKGRlcml2ZWRfc291cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKICAg
ICAgICAgICBdLApAQCAtOTMwLDYgKzk2MCw3IEBACiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mv
c2NyaXB0cy9JRExQYXJzZXIucG0nLAogICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMv
SURMU3RydWN0dXJlLnBtJywKICAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL3ByZXBy
b2Nlc3Nvci5wbScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3Vw
cGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRw
dXRzJzogWwogICAgICAgICAgICAgIyBGSVhNRTogIFRoZSAuY3BwIGZpbGUgc2hvdWxkIGJlIGlu
IHdlYmtpdC9iaW5kaW5ncyBvbmNlCkBAIC05NzUsNiArMTAwNiw4IEBACiAgICAgICAgICAgICAn
LS1nZW5lcmF0b3InLAogICAgICAgICAgICAgJ1Y4JywKICAgICAgICAgICAgICc8QChnZW5lcmF0
b3JfaW5jbHVkZV9kaXJzKScsCisgICAgICAgICAgICAnLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5
RmlsZScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVu
dGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAgICAgICc8KFJVTEVfSU5QVVRfUEFUSCknLAog
ICAgICAgICAgIF0sCiAgICAgICAgICAgJ21lc3NhZ2UnOiAnR2VuZXJhdGluZyBiaW5kaW5nIGZy
b20gPChSVUxFX0lOUFVUX1BBVEgpJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25l
LnB5CmluZGV4IDU4NjA3MWJmYzA4MDFkNGM2NGI2OGI3ODczMTJmMjJjNWMyOGYzYWEuLjQyYzQ1
ZTcxNTEzZWQ5NmFjZGViOGE4MGZiYWIzY2EzYzNmMjc4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUu
cHkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZl
ZHNvdXJjZXNhbGxpbm9uZS5weQpAQCAtMzIsMTIgKzMyLDEyIEBACiAjIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
ICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIAotIyBhY3Rpb25fZGVyaXZlZHNvdXJjZXNs
aXN0LnB5IGdlbmVyYXRlcyBhIHNpbmdsZSBjcHAgZmlsZSB0aGF0IGluY2x1ZGVzCisjIGFjdGlv
bl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IGdlbmVyYXRlcyBhIHNpbmdsZSBjcHAgZmlsZSB0
aGF0IGluY2x1ZGVzCiAjIGFsbCB2OCBiaW5kaW5ncyBjcHAgZmlsZXMgZ2VuZXJhdGVkIGZyb20g
aWRscy4gRmlsZXMgY2FuIGJlIGFzc2lnbmVkIGludG8KICMgbXVsdGlwbGUgb3V0cHV0IGZpbGVz
LCB0byByZWR1Y2UgbWF4aW11bSBjb21waWxhdGlvbiB1bml0IHNpemUgYW5kIGFsbG93CiAjIHBh
cmFsbGVsIGNvbXBpbGF0aW9uLgogIwotIyB1c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2VzbGlz
dC5weSBJRExfRklMRVNfTElTVCAtLSBPVVRQVVRfRklMRTEgT1VUUFVUX0ZJTEUyIC4uLgorIyB1
c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkgSURMX0ZJTEVTX0xJU1QgLS0g
T1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAuLi4KICMKICMgTm90ZSB0aGF0IElETF9GSUxFU19M
SVNUIGlzIGEgdGV4dCBmaWxlIGNvbnRhaW5pbmcgdGhlIElETCBmaWxlIHBhdGhzLgogCkBAIC0x
ODYsNyArMTg2LDkgQEAgZGVmIG1haW4oYXJncyk6CiAgICAgb3V0cHV0RmlsZU5hbWVzID0gYXJn
c1tpbk91dEJyZWFrSW5kZXgrMTpdCiAKICAgICBpbnB1dEZpbGUgPSBvcGVuKGlucHV0RmlsZU5h
bWUsICdyJykKLSAgICBpZGxGaWxlTmFtZXMgPSBpbnB1dEZpbGUucmVhZCgpLnNwbGl0KCdcbicp
CisgICAgaWRsRmlsZU5hbWVzID0gW10KKyAgICBmb3IgbGluZSBpbiBpbnB1dEZpbGU6CisgICAg
ICAgIGlkbEZpbGVOYW1lcy5hcHBlbmQobGluZVs6LTFdLnNwbGl0KCcgJylbMF0pCiAgICAgaW5w
dXRGaWxlLmNsb3NlKCkKIAogICAgIGZpbGVzTWV0YURhdGEgPSBleHRyYWN0TWV0YURhdGEoaWRs
RmlsZU5hbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDIzNzQ5YWY5ODRkMzM2NDhiZDQzYWMyMTgx
MjFhMDEyOGNiZjg2OWEuLjI4ZGVhODZlMDYzNjllNDI4ZDZiMDFjYjE4M2U4NjA4OTJmMjE4NzAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTE0OTEsNiArMTQ5MSw3IEBACiAgICAgICAgICAgICAnd2Vi
YXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0NvbnZv
bHZlck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9EZWxheU5vZGUuaWRsJywKKyAg
ICAgICAgICAgICd3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwnLAogICAgICAgICAgICAg
J3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJh
dWRpby9IaWdoUGFzczJGaWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vSmF2
YVNjcmlwdEF1ZGlvTm9kZS5pZGwnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKaW5kZXggYmY0ZDcwMWNmZmY1MDI2OTlkZjU4
MGE0ZmNlZWU5ZDJmNWJkNjAwNS4uZDJlYWY4MzE1Y2IyODIyNTFlMjE2ZGJkYzc5OTYwOGQ3NDc0
ODkwOCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0
ZS1iaW5kaW5ncy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVy
YXRlLWJpbmRpbmdzLnBsCkBAIC0xMTQsNiArMTE0LDc5IEBAIGlmICgkc3VwcGxlbWVudGFsRGVw
ZW5kZW5jeUZpbGUpIHsKIG15ICR0YXJnZXRQYXJzZXIgPSBJRExQYXJzZXItPm5ldyghJHZlcmJv
c2UpOwogbXkgJHRhcmdldERvY3VtZW50ID0gJHRhcmdldFBhcnNlci0+UGFyc2UoJHRhcmdldElk
bEZpbGUsICRkZWZpbmVzLCAkcHJlcHJvY2Vzc29yKTsKIAorIyBGSVhNRShoYXJha2VuKTogUmVt
b3ZlIHRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQuCisjIFRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQgaXMg
dGVtcG9yYXJ5IGFuZCB3aWxsIGJlIHJlbW92ZWQKKyMgYWZ0ZXIgYnVpbGQgc2NyaXB0cyBmb3Ig
YWxsIHBsYXRmb3JtcyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElETC4KKyMgVGhlIG1vdGl2YXRp
b24gZm9yIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgaXMgYXMgZm9sbG93czoKKyMKKyMgSW4gb3Jk
ZXIgdG8gc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB3ZSBuZWVkIHRvCisjICgxKSBy
dW4gcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgYW5kIGdlbmVyYXRlIHN1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5LnRtcAorIyAoMikgYW5kIHJ1biBnZW5lcmF0ZS1iaW5kaW5ncy5wbCB3aXRoIHRoZSBz
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAuCisjCisjIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJl
cyBhIGNoYW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisjIGJ1dCBjaGFuZ2lu
ZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lv
biBpcyB0b28gZGlmZmljdWx0OgorIworIyAgICAgLSBEZXJpdmVkU291cmNlcy5tYWtlCisjICAg
ICAtIERlcml2ZWRTb3VyY2VzLnByaQorIyAgICAgLSBHTlVtYWtlZmlsZS5hbQorIyAgICAgLSBQ
bGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyMgICAgIC0gVXNlSlNDLmNtYWtlCisjICAgICAtIFVz
ZVY4LmNtYWtlCisjICAgICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRzCisjICAgICAt
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisjICAgICAtIGJpbmRpbmdzL2dvYmplY3Qv
R05VbWFrZWZpbGUuYW0KKyMgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKyMKKyMgVGh1
cywgd2UgYXJlIHBsYW5uaW5nIHRvIGNoYW5nZSB0aGUgYnVpbGQgc2NyaXB0cyBvbmUgYnkgb25l
LCB3aGljaCBpbXBsaWVzIHRoYXQKKyMgd2UgbmVlZCB0byBhbGxvdyB0aGUgdGVtcG9yYXJ5IHN0
YXRlIGluIHdoaWNoIHNvbWUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElE
TAorIyBidXQgb3RoZXJzIGRvIG5vdC4gVG8gYWNjb21wbGlzaCB0aGlzLCB3ZSBpbnRyb2R1Y2Ug
YSB0ZW1wb3JhbCBJREwsIFtTdXBwbGVtZW50ZWRdLgorIyBUaGUgW1N1cHBsZW1lbnRlZF0gSURM
IG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0IHRoZSBhdHRyaWJ1dGUgaXMgbWFya2VkIHdpdGgg
W1N1cHBsZW1lbnRhbF0KKyMgaW4gYW5vdGhlciBJREwgZmlsZSBzb21ld2hlcmUsIGxpa2UgdGhp
czoKKyMKKyMgRE9NV2luZG93V2ViQXVkaW8uaWRsOgorIyAgICAgaW50ZXJmYWNlIFsKKyMgICAg
ICAgICBTdXBwbGVtZW50YWw9RE9NV2luZG93CisjICAgICBdIERPTVdpbmRvd1dlYkF1ZGlvIHsK
KyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHIyOwor
IyAgICAgfTsKKyMKKyMgRE9NV2luZG93LmlkbDoKKyMgICAgIGludGVyZmFjZSBbCisjICAgICBd
IERPTVdpbmRvdyB7CisjICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIxOyAv
LyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBv
cnQgdGhlIFtTdXBwbGVtZW50YWxMLgorIyAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVk
XSBhdHRyMjsgLy8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2Ny
aXB0cyBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsTC4KKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0
cjM7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHI0OworIyAgICAgfTsKKyMKKyMgQXNzdW1pbmcg
dGhlc2UgSURMIGZpbGVzLCB0aGUgYmVsb3cgY29kZSBpcyBkb2luZyB0aGUgZm9sbG93aW5nIGxv
Z2ljOgorIworIyAgICAgLSBJZiBhIGdpdmVuIGJ1aWxkIHNjcmlwdCBzdXBwb3J0cyB0aGUgW1N1
cHBsZW1lbnRhbF0gSURMIChpLmUuIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgaXMgc3Bl
Y2lmaWVkKSwKKyMgICAgICAgd2UgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50ZWRdIElETC4KKyMgICAgIC0gT3RoZXJ3aXNlIChpLmUuIC0tc3VwcGxlbWVudGFsRGVw
ZW5kZW5jeUZpbGUgaXMgbm90IHNwZWNpZmllZCksCisjICAgICAgIHdlIHRyZWF0IGFsbCBhdHRy
aWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhcyBub3JtYWwgYXR0cmlidXRlcwor
IyAgICAgICBhbmQgaW5zdGVhZCBpZ25vcmUgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBs
ZW1lbnRhbF0gSURMCisjICAgICAgIChpLmUuIHdlIGdlbmVyYXRlIG5vdGhpbmcgZnJvbSB0aGUg
aWRsIGZpbGUgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KK2lmICgkc3VwcGxlbWVudGFs
RGVwZW5kZW5jeUZpbGUpIHsKKyAgICBmb3JlYWNoIG15ICRkYXRhTm9kZSAoQHskdGFyZ2V0RG9j
dW1lbnQtPmNsYXNzZXN9KSB7CisgICAgICAgIG15IEBub25TdXBwbGVtZW50ZWRBdHRyaWJ1dGVz
OworICAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRhdGFOb2RlLT5hdHRyaWJ1dGVz
fSkgeworICAgICAgICAgICAgaWYgKCEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJTdXBwbGVtZW50ZWQifSkgeworICAgICAgICAgICAgICAgIHB1c2goQG5vblN1
cHBsZW1lbnRlZEF0dHJpYnV0ZXMsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgICRkYXRhTm9kZS0+YXR0cmlidXRlcyhcQG5vblN1cHBsZW1lbnRlZEF0dHJp
YnV0ZXMpOworICAgIH0KK30gZWxzZSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5vZGUgKEB7JHRh
cmdldERvY3VtZW50LT5jbGFzc2VzfSkgeworICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiU3VwcGxlbWVudGFsIn0pIHsKKyAgICAgICAgICAgIGV4aXQgMDsKKyAg
ICAgICAgfQorICAgIH0KK30KKyMgVGVtcG9yYXJ5IGlmLWVsc2Ugc3RhdGVtZW50IHVudGlsIGhl
cmUuCisKIGZvcmVhY2ggbXkgJGlkbEZpbGUgKEBzdXBwbGVtZW50ZWRJZGxGaWxlcykgewogICAg
IG5leHQgaWYgJGlkbEZpbGUgZXEgJHRhcmdldElkbEZpbGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAppbmRleCBjOWFjMjUxYzI2YmRlNDkzMDg3MjYyOTBkYzZhYTc4NDMwMDE5MWE2Li4z
YmE4ZmM5ODY0N2Q0OWUwMzI3ZjM4YzAzYmZmODY3NTkxMmUzNWFiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCkBAIC01MjIsOCArNTIyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAg
IGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyXSBGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciBGbG9h
dDY0QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUg
W0pTQ0N1c3RvbUdldHRlcl0gRGF0YVZpZXdDb25zdHJ1Y3RvciBEYXRhVmlldzsgLy8gVXNhYmxl
IHdpdGggbmV3IG9wZXJhdG9yCiAKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIs
Q29uZGl0aW9uYWw9V0VCX0FVRElPLEVuYWJsZWRBdFJ1bnRpbWVdIEF1ZGlvQ29udGV4dENvbnN0
cnVjdG9yIHdlYmtpdEF1ZGlvQ29udGV4dDsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0g
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bhbm5lck5vZGVD
b25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7IC8vIE5lZWRlZCBmb3IgcGFubmluZyBt
b2RlbCBjb25zdGFudHMKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIEpTQ0N1c3Rv
bUdldHRlciwgQ29uZGl0aW9uYWw9V0VCX0FVRElPLCBFbmFibGVkQXRSdW50aW1lXSBBdWRpb0Nv
bnRleHRDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3aXRoIG5ldyBv
cGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VC
X0FVRElPXSBBdWRpb1Bhbm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7
IC8vIE5lZWRlZCBmb3IgcGFubmluZyBtb2RlbCBjb25zdGFudHMKIAogICAgICAgICAvLyBFdmVu
dCBDb25zdHJ1Y3RvcnMKICAgICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0b3IgRXZlbnQ7
CkBAIC01NTIsOCArNTUyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBb
Q29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTXSBUb3VjaEV2ZW50Q29uc3RydWN0b3IgVG91Y2hFdmVu
dDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfU09DS0VUU10gQ2xvc2VFdmVu
dENvbnN0cnVjdG9yIENsb3NlRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTdG9yYWdlRXZlbnRD
b25zdHJ1Y3RvciBTdG9yYWdlRXZlbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gT2ZmbGlu
ZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2
ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FV
RElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50
OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElP
XSBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5lQXVkaW9Db21w
bGV0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9SU5QVVRfU1BFRUNI
XSBTcGVlY2hJbnB1dEV2ZW50Q29uc3RydWN0b3IgU3BlZWNoSW5wdXRFdmVudDsKICAgICAgICAg
YXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIE1lZGlhU3RyZWFtRXZlbnRDb25z
dHJ1Y3RvciBNZWRpYVN0cmVhbUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PVdFQkdMXSBXZWJHTENvbnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4dEV2ZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRs
IGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRkMTA4ZWZiN2IwMzNlZmZiMWVlZWQ3YWM0MDUxYjE3MjBmN2ZhOTQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwKQEAg
LTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKKyAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRv
dworICAgIF0gRE9NV2luZG93V2ViQXVkaW8geworICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3Rv
bUdldHRlciwgRW5hYmxlZEF0UnVudGltZV0gQXVkaW9Db250ZXh0Q29uc3RydWN0b3Igd2Via2l0
QXVkaW9Db250ZXh0OworICAgICAgICBhdHRyaWJ1dGUgQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0
b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOworICAgICAgICBhdHRyaWJ1dGUgQXVkaW9Qcm9jZXNz
aW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVudDsKKyAgICAgICAgYXR0cmli
dXRlIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxpbmVBdWRpb0Nv
bXBsZXRpb25FdmVudDsKKyAgICB9OworCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117513</attachid>
            <date>2011-12-01 16:20:36 -0800</date>
            <delta_ts>2011-12-07 22:37:37 -0800</delta_ts>
            <desc>patch for commit</desc>
            <filename>bug-73394-20111202092034.patch</filename>
            <type>text/plain</type>
            <size>18871</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNzE5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDY2YWE4MjIwZmEzZGE1
MjJmOTY3MjhmYmMyM2Q2MDU3ZGZiN2JlZC4uMTZjMTdjOGMzZGNlZDMwZTVhNDI3MDk5NDczZDNj
NGFkZTg3ODEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDExLTExLTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBmb3Igd2ViYXVkaW8gYXR0cmlidXRlcyBpbiBDaHJvbWl1bQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIC0gT3ZlcnZpZXc6IFVzaW5nIHRo
ZSBbU3VwcGxlbWVudGFsXSBJREwsIHRoaXMgcGF0Y2ggbW92ZXMgdGhlIGF0dHJpYnV0ZQorICAg
ICAgICBkZWNsYXJhdGlvbnMgb2Ygd2ViYXVkaW8gZnJvbSBET01XaW5kb3cuaWRsIGludG8gYSBu
ZXcgSURMIGZpbGUKKyAgICAgICAgd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsLCB3aGlj
aCBoZWxwcyBtYWtlIHdlYmF1ZGlvIGEgc2VsZi1jb250YWluZWQKKyAgICAgICAgZmVhdHVyZSAo
YWthIGEgbW9kdWxlKS4KKworICAgICAgICAtIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgYnVpbGQg
ZmxvdyBvZiBXZWJDb3JlLmd5cCBhcyBmb2xsb3dzOgorCisgICAgICAgICAgICBQcmV2aW91cyBi
dWlsZCBmbG93OgorICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxsIElETCBmaWxlcykg
eworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBkZXBlbmRzIG9uICRp
ZGw7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7
CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyAuaCBh
bmQgLmNwcCBmaWxlcyBmb3IgJGlkbDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IE5ldyBidWlsZCBmbG93IChTZWUgdGhlIGRpc2N1c3Npb25zIGluIGJ1ZyA3MjEzOCBmb3IgbW9y
ZSBkZXRhaWxzKToKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBkZXBl
bmRzIG9uIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50
YWwucGwgcmVhZHMgYWxsIElETCBmaWxlczsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCByZXNvbHZlcyB0aGUgZGVwZW5kZW5jeSBvZiBbU3VwcGxlbWVudGFsPVhYWFhd
OworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVudGFsLnBsIG91dHB1dHMgc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wOworICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxs
IElETCBmaWxlcykgeworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBk
ZXBlbmRzIG9uICRpZGwgYW5kIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgJGlkbDsKKyAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgc3VwcGxlbWVudGFsX2RlcGVuZGVu
Y3kudG1wOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0
ZXMgLmggYW5kIC5jcHAgZmlsZXMgZm9yICRpZGwsIGluY2x1ZGluZyBhbGwgYXR0cmlidXRlcyBp
biBJREwgZmlsZXMgd2hpbGVtZW50aW5nICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgIC0gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRl
ZF0uIFRoZSBbU3VwcGxlbWVudGVkXSBJREwKKyAgICAgICAgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGJ1aWxkIHNjcmlwdHMgZm9yIGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMLgorICAgICAgICBUaGUgbW90aXZhdGlvbiBmb3IgdGhlIFtTdXBwbGVtZW50ZWRdIElE
TCBpcyBhcyBmb2xsb3dzOgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIFtTdXBw
bGVtZW50YWxdIElETCwgd2UgbmVlZCB0bworICAgICAgICAoMSkgcnVuIHJlc29sdmUtc3VwcGxl
bWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAKKyAgICAg
ICAgKDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0aCB0aGUgc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3kudG1wLgorCisgICAgICAgIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJlcyBhIGNo
YW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisgICAgICAgIGJ1dCBjaGFuZ2lu
ZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lv
biBpcyB0b28gZGlmZmljdWx0OgorCisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLm1ha2UK
KyAgICAgICAgICAgIC0gRGVyaXZlZFNvdXJjZXMucHJpCisgICAgICAgICAgICAtIEdOVW1ha2Vm
aWxlLmFtCisgICAgICAgICAgICAtIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorICAgICAgICAg
ICAgLSBVc2VKU0MuY21ha2UKKyAgICAgICAgICAgIC0gVXNlVjguY21ha2UKKyAgICAgICAgICAg
IC0gV2ViQ29yZS52Y3Byb2ovTWlncmF0ZVNjcmlwdHMKKyAgICAgICAgICAgIC0gV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKyAgICAgICAgICAgIC0gYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQorICAgICAgICAgICAgLSBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorCisgICAg
ICAgIFRodXMsIHdlIGFyZSBwbGFubmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25l
IGJ5IG9uZSwgd2hpY2ggaW1wbGllcyB0aGF0CisgICAgICAgIHdlIG5lZWQgdG8gYWxsb3cgdGhl
IHRlbXBvcmFyeSBzdGF0ZSBpbiB3aGljaCBzb21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3Vw
cGxlbWVudGFsXSBJREwKKyAgICAgICAgYnV0IG90aGVycyBkbyBub3QuIFRvIGFjY29tcGxpc2gg
dGhpcywgd2UgaW50cm9kdWNlIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRlZF0uCisgICAg
ICAgIFRoZSBbU3VwcGxlbWVudGVkXSBJREwgb24gYW4gYXR0cmlidXRlIG1lYW5zIHRoYXQgdGhl
IGF0dHJpYnV0ZSBpcyBtYXJrZWQgd2l0aCBbU3VwcGxlbWVudGFsXQorICAgICAgICBpbiBhbm90
aGVyIElETCBmaWxlIHNvbWV3aGVyZSwgbGlrZSB0aGlzOgorCisgICAgICAgICAgICBET01XaW5k
b3dXZWJBdWRpby5pZGw6CisgICAgICAgICAgICAgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgICAg
ICAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgICAgICAgICAgICAgIF0gRE9NV2lu
ZG93V2ViQXVkaW8geworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMjsKKyAgICAgICAgICAgICAgICB9OworCisg
ICAgICAgICAgICBET01XaW5kb3cuaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisg
ICAgICAgICAgICAgICAgXSBET01XaW5kb3cgeworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjE7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0
ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETAorICAgICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjI7IC8vIFRoaXMgbGluZSB3aWxsIGJl
IHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETC4KKyAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIzOworICAgICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgYXR0cjQ7CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICBBc3N1bWluZyB0
aGVzZSBJREwgZmlsZXMsIHRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIGxvZ2lj
IGluIGdlbmVyYXRlLWJpbmRpbmdzLnBsOgorCisgICAgICAgICAgICAtIElmIGEgZ2l2ZW4gYnVp
bGQgc2NyaXB0IHN1cHBvcnRzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwsCisgICAgICAgICAgICBn
ZW5lcmF0ZS1iaW5kaW5ncy5wbCBpZ25vcmVzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50ZWRdIElETC4KKyAgICAgICAgICAgIC0gT3RoZXJ3aXNlLCBnZW5lcmF0ZS1iaW5kaW5n
cy5wbCB0cmVhdHMgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMCisg
ICAgICAgICAgICBhcyBub3JtYWwgYXR0cmlidXRlcyBhbmQgaW5zdGVhZCBpZ25vcmVzIGFsbCBh
dHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETAorICAgICAgICAgICAgKGkuZS4g
Z2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJhdGVzIG5vdGhpbmcgZnJvbSB0aGUgSURMIGZpbGUg
d2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KKworICAgICAgICBUZXN0czogd2ViYXVkaW8v
KgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERlc2NyaWJlcyB0aGUgYnVp
bGQgZmxvdyB0aGF0IEkgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAqIFdlYkNvcmUuZ3lwL3Nj
cmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHk6CisgICAgICAgIChtYWluKTog
UmVhZHMgdGhlIElETCBmaWxlIG5hbWVzIGZyb20gdGhlIGlucHV0IGZpbGUgKGkuZS4gc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wKSwgd2hpY2ggYXJlIGRlc2NyaWJlZCBhdCB0aGUgZmlyc3Qg
Y29sdW1uIG9mIGVhY2ggbGluZSBpbiB0aGUgaW5wdXQgZmlsZS4KKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6IEFkZGVkIERPTVdpbmRvd1dlYkF1ZGlvLmlkbC4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsOiBBcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiwgaWYg
dGhlIHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgdGhl
IHBlcmwgc2NyaXB0IGlnbm9yZXMgdGhlIFtTdXBwbGVtZW50YWxdIElETCBhbmQgaW5zdGVhZCB1
c2VzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwuIE90aGVyd2lzZSwgdGhlIHBlcmwgc2NyaXB0IGln
bm9yZXMgdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhbmQgaW5zdGVhZCB1c2VzIHRoZSBbU3VwcGxl
bWVudGFsXSBJREwuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCB0aGUgW1N1
cHBsZW1lbnRlZF0gSURMIHRvIHdlYmF1ZGlvLXJlbGF0ZWQgYXR0cmlidXRlcy4gQXMgSSBkZXNj
cmliZWQgYWJvdmUsIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLgorICAgICAgICAq
IHdlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbDogQWRkZWQuIERlc2NyaWJlcyB0aGUgW1N1
cHBsZW1lbnRhbD1ET01XaW5kb3ddIElETC4gVGhlIGF0dHJpYnV0ZXMgaW4gdGhpcyBJREwgZmls
ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyBpZiB0aGV5IGFyZSB3cml0dGVuIGluIERPTVdpbmRvdy5p
ZGwuCisKIDIwMTEtMTItMDEgIE1hcmsgUGlsZ3JpbSAgPHBpbGdyaW1AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFtGaWxlU3lzdGVtIEFQSV0gRGlyZWN0b3J5RW50cnkucmVtb3ZlUmVjdXJzaXZl
bHkgc3VjY2Vzc0NhbGxiYWNrIGlzIHJlcXVpcmVkCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCmluZGV4IDIyYTQ4YzBmNGNlNGU0MmQzOTdkMDQ3M2U5ZjdmY2RlN2QxZGFiZDcu
LjMzMzg0Y2IzMjA2NGE3Yzk5MDI1ZTNhZWQ5ZWU4NDAwZjM5ZGIwMmQgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00NDYsNiArNDQ2LDQyIEBACiAgICAgICBdCiAg
ICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnZ2VuZXJhdGVfc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3knLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9ucyc6IFsK
KyAgICAgICAgIHsKKyAgICAgICAgICAnYWN0aW9uX25hbWUnOiAnZ2VuZXJhdGVTdXBwbGVtZW50
YWxEZXBlbmRlbmN5JywKKyAgICAgICAgICAndmFyaWFibGVzJzogeworICAgICAgICAgICAgIyBX
cml0ZSBzb3VyY2VzIGludG8gYSBmaWxlLCBzbyB0aGF0IHRoZSBhY3Rpb24gY29tbWFuZCBsaW5l
IHdvbid0CisgICAgICAgICAgICAjIGV4Y2VlZCBPUyBsaW1pdHMuCisgICAgICAgICAgICAnaWRs
X2ZpbGVzX2xpc3QnOiAnPHwoaWRsX2ZpbGVzX2xpc3QudG1wIDxAKGJpbmRpbmdzX2lkbF9maWxl
cykpJywKKyAgICAgICAgICB9LAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAn
Li4vYmluZGluZ3Mvc2NyaXB0cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCcsCisgICAgICAgICAg
ICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0nLAorICAgICAgICAgICAgJzwoaWRs
X2ZpbGVzX2xpc3QpJywKKyAgICAgICAgICAgICc8IUAoY2F0IDwoaWRsX2ZpbGVzX2xpc3QpKScs
CisgICAgICAgICAgXSwKKyAgICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNI
QVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAg
ICAgICAgIF0sCisgICAgICAgICAgJ2FjdGlvbic6IFsKKyAgICAgICAgICAgICdwZXJsJywKKyAg
ICAgICAgICAgICctdycsCisgICAgICAgICAgICAnLUkuLi9iaW5kaW5ncy9zY3JpcHRzJywKKyAg
ICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL3Jlc29sdmUtc3VwcGxlbWVudGFsLnBsJywK
KyAgICAgICAgICAgICctLWRlZmluZXMnLAorICAgICAgICAgICAgJzwoZmVhdHVyZV9kZWZpbmVz
KSBMQU5HVUFHRV9KQVZBU0NSSVBUIFY4X0JJTkRJTkcnLAorICAgICAgICAgICAgJy0taWRsRmls
ZXNMaXN0JywKKyAgICAgICAgICAgICc8KGlkbF9maWxlc19saXN0KScsCisgICAgICAgICAgICAn
LS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5U
RVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKKyAgICAgICAgICBd
LAorICAgICAgICAgICdtZXNzYWdlJzogJ1Jlc29sdmluZyBbU3VwcGxlbWVudGFsPVhYWF0gZGVw
ZW5kZW5jaWVzIGluIGFsbCBJREwgZmlsZXMnLAorICAgICAgICB9CisgICAgICBdCisgICAgfSwK
KyAgICB7CiAgICAgICAndGFyZ2V0X25hbWUnOiAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywK
ICAgICAgICd0eXBlJzogJ25vbmUnLAogICAgICAgJ2hhcmRfZGVwZW5kZW5jeSc6IDEsCkBAIC04
NjEsMTUgKzg5Nyw5IEBACiAgICAgICAgIH0sCiAgICAgICAgIHsKICAgICAgICAgICAnYWN0aW9u
X25hbWUnOiAnZGVyaXZlZF9zb3VyY2VzX2FsbF9pbl9vbmUnLAotICAgICAgICAgICd2YXJpYWJs
ZXMnOiB7Ci0gICAgICAgICAgICAjIFdyaXRlIHNvdXJjZXMgaW50byBhIGZpbGUsIHNvIHRoYXQg
dGhlIGFjdGlvbiBjb21tYW5kIGxpbmUgd29uJ3QKLSAgICAgICAgICAgICMgZXhjZWVkIE9TIGxp
bWl0ZXMuCi0gICAgICAgICAgICAnaWRsc19saXN0X3RlbXBfZmlsZSc6ICc8fChpZGxzX2xpc3Rf
dGVtcF9maWxlLnRtcCA8QChiaW5kaW5nc19pZGxfZmlsZXMpKScsCi0gICAgICAgICAgfSwKICAg
ICAgICAgICAnaW5wdXRzJzogWwogICAgICAgICAgICAgJ3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRz
b3VyY2VzYWxsaW5vbmUucHknLAotICAgICAgICAgICAgJzwoaWRsc19saXN0X3RlbXBfZmlsZSkn
LAotICAgICAgICAgICAgJzwhQChjYXQgPChpZGxzX2xpc3RfdGVtcF9maWxlKSknLAorICAgICAg
ICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5
LnRtcCcsCiAgICAgICAgICAgXSwKICAgICAgICAgICAnb3V0cHV0cyc6IFsKICAgICAgICAgICAg
ICc8QChkZXJpdmVkX3NvdXJjZXNfYWdncmVnYXRlX2ZpbGVzKScsCkBAIC04NzcsNyArOTA3LDcg
QEAKICAgICAgICAgICAnYWN0aW9uJzogWwogICAgICAgICAgICAgJ3B5dGhvbicsCiAgICAgICAg
ICAgICAnc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weScsCi0gICAgICAg
ICAgICAnPChpZGxzX2xpc3RfdGVtcF9maWxlKScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5U
RVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAgICAg
ICctLScsCiAgICAgICAgICAgICAnPEAoZGVyaXZlZF9zb3VyY2VzX2FnZ3JlZ2F0ZV9maWxlcykn
LAogICAgICAgICAgIF0sCkBAIC05MzAsNiArOTYwLDcgQEAKICAgICAgICAgICAgICcuLi9iaW5k
aW5ncy9zY3JpcHRzL0lETFBhcnNlci5wbScsCiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2Ny
aXB0cy9JRExTdHJ1Y3R1cmUucG0nLAogICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMv
cHJlcHJvY2Vzc29yLnBtJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElS
KS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgIF0sCiAgICAgICAgICAg
J291dHB1dHMnOiBbCiAgICAgICAgICAgICAjIEZJWE1FOiAgVGhlIC5jcHAgZmlsZSBzaG91bGQg
YmUgaW4gd2Via2l0L2JpbmRpbmdzIG9uY2UKQEAgLTk3NSw2ICsxMDA2LDggQEAKICAgICAgICAg
ICAgICctLWdlbmVyYXRvcicsCiAgICAgICAgICAgICAnVjgnLAogICAgICAgICAgICAgJzxAKGdl
bmVyYXRvcl9pbmNsdWRlX2RpcnMpJywKKyAgICAgICAgICAgICctLXN1cHBsZW1lbnRhbERlcGVu
ZGVuY3lGaWxlJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBw
bGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgICAgJzwoUlVMRV9JTlBVVF9QQVRI
KScsCiAgICAgICAgICAgXSwKICAgICAgICAgICAnbWVzc2FnZSc6ICdHZW5lcmF0aW5nIGJpbmRp
bmcgZnJvbSA8KFJVTEVfSU5QVVRfUEFUSCknLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weSBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxs
aW5vbmUucHkKaW5kZXggNTg2MDcxYmZjMDgwMWQ0YzY0YjY4Yjc4NzMxMmYyMmM1YzI4ZjNhYS4u
NDJjNDVlNzE1MTNlZDk2YWNkZWI4YTgwZmJhYjNjYTNjM2YyNzhkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxp
bm9uZS5weQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9k
ZXJpdmVkc291cmNlc2FsbGlub25lLnB5CkBAIC0zMiwxMiArMzIsMTIgQEAKICMgVXNlIG9mIHRo
aXMgc291cmNlIGNvZGUgaXMgZ292ZXJuZWQgYnkgYSBCU0Qtc3R5bGUgbGljZW5zZSB0aGF0IGNh
biBiZQogIyBmb3VuZCBpbiB0aGUgTElDRU5TRSBmaWxlLgogCi0jIGFjdGlvbl9kZXJpdmVkc291
cmNlc2xpc3QucHkgZ2VuZXJhdGVzIGEgc2luZ2xlIGNwcCBmaWxlIHRoYXQgaW5jbHVkZXMKKyMg
YWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkgZ2VuZXJhdGVzIGEgc2luZ2xlIGNwcCBm
aWxlIHRoYXQgaW5jbHVkZXMKICMgYWxsIHY4IGJpbmRpbmdzIGNwcCBmaWxlcyBnZW5lcmF0ZWQg
ZnJvbSBpZGxzLiBGaWxlcyBjYW4gYmUgYXNzaWduZWQgaW50bwogIyBtdWx0aXBsZSBvdXRwdXQg
ZmlsZXMsIHRvIHJlZHVjZSBtYXhpbXVtIGNvbXBpbGF0aW9uIHVuaXQgc2l6ZSBhbmQgYWxsb3cK
ICMgcGFyYWxsZWwgY29tcGlsYXRpb24uCiAjCi0jIHVzYWdlOiBhY3Rpb25fZGVyaXZlZHNvdXJj
ZXNsaXN0LnB5IElETF9GSUxFU19MSVNUIC0tIE9VVFBVVF9GSUxFMSBPVVRQVVRfRklMRTIgLi4u
CisjIHVzYWdlOiBhY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weSBJRExfRklMRVNfTElT
VCAtLSBPVVRQVVRfRklMRTEgT1VUUFVUX0ZJTEUyIC4uLgogIwogIyBOb3RlIHRoYXQgSURMX0ZJ
TEVTX0xJU1QgaXMgYSB0ZXh0IGZpbGUgY29udGFpbmluZyB0aGUgSURMIGZpbGUgcGF0aHMuCiAK
QEAgLTE4Niw3ICsxODYsOSBAQCBkZWYgbWFpbihhcmdzKToKICAgICBvdXRwdXRGaWxlTmFtZXMg
PSBhcmdzW2luT3V0QnJlYWtJbmRleCsxOl0KIAogICAgIGlucHV0RmlsZSA9IG9wZW4oaW5wdXRG
aWxlTmFtZSwgJ3InKQotICAgIGlkbEZpbGVOYW1lcyA9IGlucHV0RmlsZS5yZWFkKCkuc3BsaXQo
J1xuJykKKyAgICBpZGxGaWxlTmFtZXMgPSBbXQorICAgIGZvciBsaW5lIGluIGlucHV0RmlsZToK
KyAgICAgICAgaWRsRmlsZU5hbWVzLmFwcGVuZChsaW5lWzotMV0uc3BsaXQoJyAnKVswXSkKICAg
ICBpbnB1dEZpbGUuY2xvc2UoKQogCiAgICAgZmlsZXNNZXRhRGF0YSA9IGV4dHJhY3RNZXRhRGF0
YShpZGxGaWxlTmFtZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjVkNDEyZGY1NzBkOWJiMmViOWFm
OWQwMTg0MDBhMTIyNDlmNjhmOC4uMjRmMDI1MzA1NWFmMjk0ZjU0ZTk3OTM1ZTQyY2VmZWQyOTQ5
YWNlZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTQ5Miw2ICsxNDkyLDcgQEAKICAgICAgICAgICAg
ICd3ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8v
Q29udm9sdmVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0RlbGF5Tm9kZS5pZGwn
LAorICAgICAgICAgICAgJ3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbCcsCiAgICAgICAg
ICAgICAnd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5pZGwnLAogICAgICAgICAgICAg
J3dlYmF1ZGlvL0hpZ2hQYXNzMkZpbHRlck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRp
by9KYXZhU2NyaXB0QXVkaW9Ob2RlLmlkbCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAppbmRleCAxNjMwMzQ1NTI5YTRjYTk5
NzFlNzAyYmYxOGViNzVmNmY3MWExOGE0Li5iYWJiNWYxNzRmZGU0MWZjM2IwNDBlZjRhZGUwOTU0
ZDUzOWQ1Yzk0IDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dl
bmVyYXRlLWJpbmRpbmdzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Z2VuZXJhdGUtYmluZGluZ3MucGwKQEAgLTExMiw2ICsxMTIsNzkgQEAgaWYgKCRzdXBwbGVtZW50
YWxEZXBlbmRlbmN5RmlsZSkgewogbXkgJHRhcmdldFBhcnNlciA9IElETFBhcnNlci0+bmV3KCEk
dmVyYm9zZSk7CiBteSAkdGFyZ2V0RG9jdW1lbnQgPSAkdGFyZ2V0UGFyc2VyLT5QYXJzZSgkdGFy
Z2V0SWRsRmlsZSwgJGRlZmluZXMsICRwcmVwcm9jZXNzb3IpOwogCisjIEZJWE1FKGhhcmFrZW4p
OiBSZW1vdmUgdGhpcyBpZi1lbHNlIHN0YXRlbWVudC4KKyMgVGhpcyBpZi1lbHNlIHN0YXRlbWVu
dCBpcyB0ZW1wb3JhcnkgYW5kIHdpbGwgYmUgcmVtb3ZlZAorIyBhZnRlciBidWlsZCBzY3JpcHRz
IGZvciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQgW1N1cHBsZW1lbnRhbF0gSURMLgorIyBUaGUgbW90
aXZhdGlvbiBmb3IgdGhlIFtTdXBwbGVtZW50ZWRdIElETCBpcyBhcyBmb2xsb3dzOgorIworIyBJ
biBvcmRlciB0byBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsXSBJREwsIHdlIG5lZWQgdG8KKyMg
KDEpIHJ1biByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBhbmQgZ2VuZXJhdGUgc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3kudG1wCisjICgyKSBhbmQgcnVuIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHdpdGgg
dGhlIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcC4KKyMKKyMgVGhpcyBidWlsZCBmbG93IHJl
cXVpcmVzIGEgY2hhbmdlIG9uIHRoZSBmb2xsb3dpbmcgYnVpbGQgc2NyaXB0cywKKyMgYnV0IGNo
YW5naW5nIGFsbCB0aGUgYnVpbGQgc2NyaXB0cyBhbGwgYXQgb25jZSB3aXRob3V0IGFueSByZWdy
ZXNzaW9uIGlzIHRvbyBkaWZmaWN1bHQ6CisjCisjICAgICAtIERlcml2ZWRTb3VyY2VzLm1ha2UK
KyMgICAgIC0gRGVyaXZlZFNvdXJjZXMucHJpCisjICAgICAtIEdOVW1ha2VmaWxlLmFtCisjICAg
ICAtIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorIyAgICAgLSBVc2VKU0MuY21ha2UKKyMgICAg
IC0gVXNlVjguY21ha2UKKyMgICAgIC0gV2ViQ29yZS52Y3Byb2ovTWlncmF0ZVNjcmlwdHMKKyMg
ICAgIC0gV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKyMgICAgIC0gYmluZGluZ3MvZ29i
amVjdC9HTlVtYWtlZmlsZS5hbQorIyAgICAgLSBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorIwor
IyBUaHVzLCB3ZSBhcmUgcGxhbm5pbmcgdG8gY2hhbmdlIHRoZSBidWlsZCBzY3JpcHRzIG9uZSBi
eSBvbmUsIHdoaWNoIGltcGxpZXMgdGhhdAorIyB3ZSBuZWVkIHRvIGFsbG93IHRoZSB0ZW1wb3Jh
cnkgc3RhdGUgaW4gd2hpY2ggc29tZSBidWlsZCBzY3JpcHRzIHN1cHBvcnQgW1N1cHBsZW1lbnRh
bF0gSURMCisjIGJ1dCBvdGhlcnMgZG8gbm90LiBUbyBhY2NvbXBsaXNoIHRoaXMsIHdlIGludHJv
ZHVjZSBhIHRlbXBvcmFsIElETCwgW1N1cHBsZW1lbnRlZF0uCisjIFRoZSBbU3VwcGxlbWVudGVk
XSBJREwgb24gYW4gYXR0cmlidXRlIG1lYW5zIHRoYXQgdGhlIGF0dHJpYnV0ZSBpcyBtYXJrZWQg
d2l0aCBbU3VwcGxlbWVudGFsXQorIyBpbiBhbm90aGVyIElETCBmaWxlIHNvbWV3aGVyZSwgbGlr
ZSB0aGlzOgorIworIyBET01XaW5kb3dXZWJBdWRpby5pZGw6CisjICAgICBpbnRlcmZhY2UgWwor
IyAgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5kb3cKKyMgICAgIF0gRE9NV2luZG93V2ViQXVk
aW8geworIyAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMTsKKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0
cjI7CisjICAgICB9OworIworIyBET01XaW5kb3cuaWRsOgorIyAgICAgaW50ZXJmYWNlIFsKKyMg
ICAgIF0gRE9NV2luZG93IHsKKyMgICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZF0gYXR0
cjE7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNjcmlwdHMg
c3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbEwuCisjICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVt
ZW50ZWRdIGF0dHIyOyAvLyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWls
ZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxMLgorIyAgICAgICAgIGF0dHJpYnV0
ZSBhdHRyMzsKKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjQ7CisjICAgICB9OworIworIyBBc3N1
bWluZyB0aGVzZSBJREwgZmlsZXMsIHRoZSBiZWxvdyBjb2RlIGlzIGRvaW5nIHRoZSBmb2xsb3dp
bmcgbG9naWM6CisjCisjICAgICAtIElmIGEgZ2l2ZW4gYnVpbGQgc2NyaXB0IHN1cHBvcnRzIHRo
ZSBbU3VwcGxlbWVudGFsXSBJREwgKGkuZS4gLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSBp
cyBzcGVjaWZpZWQpLAorIyAgICAgICB3ZSBpZ25vcmUgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUg
W1N1cHBsZW1lbnRlZF0gSURMLgorIyAgICAgLSBPdGhlcndpc2UgKGkuZS4gLS1zdXBwbGVtZW50
YWxEZXBlbmRlbmN5RmlsZSBpcyBub3Qgc3BlY2lmaWVkKSwKKyMgICAgICAgd2UgdHJlYXQgYWxs
IGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIGFzIG5vcm1hbCBhdHRyaWJ1
dGVzCisjICAgICAgIGFuZCBpbnN0ZWFkIGlnbm9yZSBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBb
U3VwcGxlbWVudGFsXSBJREwKKyMgICAgICAgKGkuZS4gd2UgZ2VuZXJhdGUgbm90aGluZyBmcm9t
IHRoZSBpZGwgZmlsZSB3aXRoIHRoZSBbU3VwcGxlbWVudGFsXSBJREwpLgoraWYgKCRzdXBwbGVt
ZW50YWxEZXBlbmRlbmN5RmlsZSkgeworICAgIGZvcmVhY2ggbXkgJGRhdGFOb2RlIChAeyR0YXJn
ZXREb2N1bWVudC0+Y2xhc3Nlc30pIHsKKyAgICAgICAgbXkgQG5vblN1cHBsZW1lbnRlZEF0dHJp
YnV0ZXM7CisgICAgICAgIGZvcmVhY2ggbXkgJGF0dHJpYnV0ZSAoQHskZGF0YU5vZGUtPmF0dHJp
YnV0ZXN9KSB7CisgICAgICAgICAgICBpZiAoISRhdHRyaWJ1dGUtPnNpZ25hdHVyZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlN1cHBsZW1lbnRlZCJ9KSB7CisgICAgICAgICAgICAgICAgcHVzaChA
bm9uU3VwcGxlbWVudGVkQXR0cmlidXRlcywgJGF0dHJpYnV0ZSk7CisgICAgICAgICAgICB9Cisg
ICAgICAgIH0KKyAgICAgICAgJGRhdGFOb2RlLT5hdHRyaWJ1dGVzKFxAbm9uU3VwcGxlbWVudGVk
QXR0cmlidXRlcyk7CisgICAgfQorfSBlbHNlIHsKKyAgICBmb3JlYWNoIG15ICRkYXRhTm9kZSAo
QHskdGFyZ2V0RG9jdW1lbnQtPmNsYXNzZXN9KSB7CisgICAgICAgIGlmICgkZGF0YU5vZGUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJTdXBwbGVtZW50YWwifSkgeworICAgICAgICAgICAgZXhpdCAw
OworICAgICAgICB9CisgICAgfQorfQorIyBUZW1wb3JhcnkgaWYtZWxzZSBzdGF0ZW1lbnQgdW50
aWwgaGVyZS4KKwogZm9yZWFjaCBteSAkaWRsRmlsZSAoQHN1cHBsZW1lbnRlZElkbEZpbGVzKSB7
CiAgICAgbmV4dCBpZiAkaWRsRmlsZSBlcSAkdGFyZ2V0SWRsRmlsZTsKIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCmluZGV4IGM5YWMyNTFjMjZiZGU0OTMwODcyNjI5MGRjNmFhNzg0MzAwMTkx
YTYuLjNiYThmYzk4NjQ3ZDQ5ZTAzMjdmMzhjMDNiZmY4Njc1OTEyZTM1YWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0RPTVdpbmRvdy5pZGwKQEAgLTUyMiw4ICs1MjIsOCBAQCBtb2R1bGUgd2luZG93IHsKICAg
ICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXJdIEZsb2F0NjRBcnJheUNvbnN0cnVjdG9y
IEZsb2F0NjRBcnJheTsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCiAgICAgICAgIGF0dHJp
YnV0ZSBbSlNDQ3VzdG9tR2V0dGVyXSBEYXRhVmlld0NvbnN0cnVjdG9yIERhdGFWaWV3OyAvLyBV
c2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKIAotICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdl
dHRlcixDb25kaXRpb25hbD1XRUJfQVVESU8sRW5hYmxlZEF0UnVudGltZV0gQXVkaW9Db250ZXh0
Q29uc3RydWN0b3Igd2Via2l0QXVkaW9Db250ZXh0OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0
b3IKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfQVVESU9dIEF1ZGlvUGFubmVy
Tm9kZUNvbnN0cnVjdG9yIHdlYmtpdEF1ZGlvUGFubmVyTm9kZTsgLy8gTmVlZGVkIGZvciBwYW5u
aW5nIG1vZGVsIGNvbnN0YW50cworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgSlND
Q3VzdG9tR2V0dGVyLCBDb25kaXRpb25hbD1XRUJfQVVESU8sIEVuYWJsZWRBdFJ1bnRpbWVdIEF1
ZGlvQ29udGV4dENvbnN0cnVjdG9yIHdlYmtpdEF1ZGlvQ29udGV4dDsgLy8gVXNhYmxlIHdpdGgg
bmV3IG9wZXJhdG9yCisgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkLCBDb25kaXRpb25h
bD1XRUJfQVVESU9dIEF1ZGlvUGFubmVyTm9kZUNvbnN0cnVjdG9yIHdlYmtpdEF1ZGlvUGFubmVy
Tm9kZTsgLy8gTmVlZGVkIGZvciBwYW5uaW5nIG1vZGVsIGNvbnN0YW50cwogCiAgICAgICAgIC8v
IEV2ZW50IENvbnN0cnVjdG9ycwogICAgICAgICBhdHRyaWJ1dGUgRXZlbnRDb25zdHJ1Y3RvciBF
dmVudDsKQEAgLTU1Miw4ICs1NTIsOCBAQCBtb2R1bGUgd2luZG93IHsKICAgICAgICAgYXR0cmli
dXRlIFtDb25kaXRpb25hbD1UT1VDSF9FVkVOVFNdIFRvdWNoRXZlbnRDb25zdHJ1Y3RvciBUb3Vj
aEV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9TT0NLRVRTXSBDbG9z
ZUV2ZW50Q29uc3RydWN0b3IgQ2xvc2VFdmVudDsKICAgICAgICAgYXR0cmlidXRlIFN0b3JhZ2VF
dmVudENvbnN0cnVjdG9yIFN0b3JhZ2VFdmVudDsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1XRUJfQVVESU9dIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50Q29uc3RydWN0b3IgQXVkaW9Qcm9j
ZXNzaW5nRXZlbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBP
ZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5lQXVkaW9Db21wbGV0
aW9uRXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkLCBDb25kaXRpb25hbD1X
RUJfQVVESU9dIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50Q29uc3RydWN0b3IgQXVkaW9Qcm9jZXNzaW5n
RXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkLCBDb25kaXRpb25hbD1XRUJf
QVVESU9dIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxpbmVBdWRp
b0NvbXBsZXRpb25FdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1JTlBVVF9T
UEVFQ0hdIFNwZWVjaElucHV0RXZlbnRDb25zdHJ1Y3RvciBTcGVlY2hJbnB1dEV2ZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPU1FRElBX1NUUkVBTV0gTWVkaWFTdHJlYW1FdmVu
dENvbnN0cnVjdG9yIE1lZGlhU3RyZWFtRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0
aW9uYWw9V0VCR0xdIFdlYkdMQ29udGV4dEV2ZW50Q29uc3RydWN0b3IgV2ViR0xDb250ZXh0RXZl
bnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRp
by5pZGwgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZGQxMDhlZmI3YjAzM2VmZmIxZWVlZDdhYzQwNTFiMTcyMGY3ZmE5NAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlk
bApAQCAtMCwwICsxLDMyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDExIEdvb2dsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICovCisKK21vZHVsZSB3aW5kb3cgeworCisgICAgaW50ZXJmYWNlIFsK
KyAgICAgICAgQ29uZGl0aW9uYWw9V0VCX0FVRElPLAorICAgICAgICBTdXBwbGVtZW50YWw9RE9N
V2luZG93CisgICAgXSBET01XaW5kb3dXZWJBdWRpbyB7CisgICAgICAgIGF0dHJpYnV0ZSBbSlND
Q3VzdG9tR2V0dGVyLCBFbmFibGVkQXRSdW50aW1lXSBBdWRpb0NvbnRleHRDb25zdHJ1Y3RvciB3
ZWJraXRBdWRpb0NvbnRleHQ7CisgICAgICAgIGF0dHJpYnV0ZSBBdWRpb1Bhbm5lck5vZGVDb25z
dHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7CisgICAgICAgIGF0dHJpYnV0ZSBBdWRpb1By
b2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OworICAgICAgICBh
dHRyaWJ1dGUgT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1
ZGlvQ29tcGxldGlvbkV2ZW50OworICAgIH07CisKK30KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>117577</attachid>
            <date>2011-12-01 23:30:45 -0800</date>
            <delta_ts>2011-12-07 22:37:41 -0800</delta_ts>
            <desc>patch for commit</desc>
            <filename>bug-73394-20111202163044.patch</filename>
            <type>text/plain</type>
            <size>18980</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAxNzQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FkMWM3ODVlZjY4ZTRl
NjhkYTFkZTA4YTRlNWY0ZTMyNzdhZTljMS4uN2IzYWFmYWQ5NWYxYzYzZWQ5YzMyZmQ1N2I0NzZk
YmM2Mzc5YmE2NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDExLTExLTI5ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBmb3Igd2ViYXVkaW8gYXR0cmlidXRlcyBpbiBDaHJvbWl1bQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIC0gT3ZlcnZpZXc6IFVzaW5nIHRo
ZSBbU3VwcGxlbWVudGFsXSBJREwsIHRoaXMgcGF0Y2ggbW92ZXMgdGhlIGF0dHJpYnV0ZQorICAg
ICAgICBkZWNsYXJhdGlvbnMgb2Ygd2ViYXVkaW8gZnJvbSBET01XaW5kb3cuaWRsIGludG8gYSBu
ZXcgSURMIGZpbGUKKyAgICAgICAgd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsLCB3aGlj
aCBoZWxwcyBtYWtlIHdlYmF1ZGlvIGEgc2VsZi1jb250YWluZWQKKyAgICAgICAgZmVhdHVyZSAo
YWthIGEgbW9kdWxlKS4KKworICAgICAgICAtIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgYnVpbGQg
ZmxvdyBvZiBXZWJDb3JlLmd5cCBhcyBmb2xsb3dzOgorCisgICAgICAgICAgICBQcmV2aW91cyBi
dWlsZCBmbG93OgorICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxsIElETCBmaWxlcykg
eworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBkZXBlbmRzIG9uICRp
ZGw7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7
CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyAuaCBh
bmQgLmNwcCBmaWxlcyBmb3IgJGlkbDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IE5ldyBidWlsZCBmbG93IChTZWUgdGhlIGRpc2N1c3Npb25zIGluIGJ1ZyA3MjEzOCBmb3IgbW9y
ZSBkZXRhaWxzKToKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBkZXBl
bmRzIG9uIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50
YWwucGwgcmVhZHMgYWxsIElETCBmaWxlczsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCByZXNvbHZlcyB0aGUgZGVwZW5kZW5jeSBvZiBbU3VwcGxlbWVudGFsPVhYWFhd
OworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVudGFsLnBsIG91dHB1dHMgc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wOworICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxs
IElETCBmaWxlcykgeworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBk
ZXBlbmRzIG9uICRpZGwgYW5kIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgJGlkbDsKKyAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgc3VwcGxlbWVudGFsX2RlcGVuZGVu
Y3kudG1wOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0
ZXMgLmggYW5kIC5jcHAgZmlsZXMgZm9yICRpZGwsIGluY2x1ZGluZyBhbGwgYXR0cmlidXRlcyBp
biBJREwgZmlsZXMgd2hpbGVtZW50aW5nICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgIC0gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRl
ZF0uIFRoZSBbU3VwcGxlbWVudGVkXSBJREwKKyAgICAgICAgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGJ1aWxkIHNjcmlwdHMgZm9yIGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMLgorICAgICAgICBUaGUgbW90aXZhdGlvbiBmb3IgdGhlIFtTdXBwbGVtZW50ZWRdIElE
TCBpcyBhcyBmb2xsb3dzOgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIFtTdXBw
bGVtZW50YWxdIElETCwgd2UgbmVlZCB0bworICAgICAgICAoMSkgcnVuIHJlc29sdmUtc3VwcGxl
bWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAKKyAgICAg
ICAgKDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0aCB0aGUgc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3kudG1wLgorCisgICAgICAgIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJlcyBhIGNo
YW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisgICAgICAgIGJ1dCBjaGFuZ2lu
ZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lv
biBpcyB0b28gZGlmZmljdWx0OgorCisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLm1ha2UK
KyAgICAgICAgICAgIC0gRGVyaXZlZFNvdXJjZXMucHJpCisgICAgICAgICAgICAtIEdOVW1ha2Vm
aWxlLmFtCisgICAgICAgICAgICAtIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorICAgICAgICAg
ICAgLSBVc2VKU0MuY21ha2UKKyAgICAgICAgICAgIC0gVXNlVjguY21ha2UKKyAgICAgICAgICAg
IC0gV2ViQ29yZS52Y3Byb2ovTWlncmF0ZVNjcmlwdHMKKyAgICAgICAgICAgIC0gV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKyAgICAgICAgICAgIC0gYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQorICAgICAgICAgICAgLSBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorCisgICAg
ICAgIFRodXMsIHdlIGFyZSBwbGFubmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25l
IGJ5IG9uZSwgd2hpY2ggaW1wbGllcyB0aGF0CisgICAgICAgIHdlIG5lZWQgdG8gYWxsb3cgdGhl
IHRlbXBvcmFyeSBzdGF0ZSBpbiB3aGljaCBzb21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3Vw
cGxlbWVudGFsXSBJREwKKyAgICAgICAgYnV0IG90aGVycyBkbyBub3QuIFRvIGFjY29tcGxpc2gg
dGhpcywgd2UgaW50cm9kdWNlIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRlZF0uCisgICAg
ICAgIFRoZSBbU3VwcGxlbWVudGVkXSBJREwgb24gYW4gYXR0cmlidXRlIG1lYW5zIHRoYXQgdGhl
IGF0dHJpYnV0ZSBpcyBtYXJrZWQgd2l0aCBbU3VwcGxlbWVudGFsXQorICAgICAgICBpbiBhbm90
aGVyIElETCBmaWxlIHNvbWV3aGVyZSwgbGlrZSB0aGlzOgorCisgICAgICAgICAgICBET01XaW5k
b3dXZWJBdWRpby5pZGw6CisgICAgICAgICAgICAgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgICAg
ICAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgICAgICAgICAgICAgIF0gRE9NV2lu
ZG93V2ViQXVkaW8geworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMjsKKyAgICAgICAgICAgICAgICB9OworCisg
ICAgICAgICAgICBET01XaW5kb3cuaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisg
ICAgICAgICAgICAgICAgXSBET01XaW5kb3cgeworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjE7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0
ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETAorICAgICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjI7IC8vIFRoaXMgbGluZSB3aWxsIGJl
IHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETC4KKyAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIzOworICAgICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgYXR0cjQ7CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICBBc3N1bWluZyB0
aGVzZSBJREwgZmlsZXMsIHRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIGxvZ2lj
IGluIGdlbmVyYXRlLWJpbmRpbmdzLnBsOgorCisgICAgICAgICAgICAtIElmIGEgZ2l2ZW4gYnVp
bGQgc2NyaXB0IHN1cHBvcnRzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwsCisgICAgICAgICAgICBn
ZW5lcmF0ZS1iaW5kaW5ncy5wbCBpZ25vcmVzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50ZWRdIElETC4KKyAgICAgICAgICAgIC0gT3RoZXJ3aXNlLCBnZW5lcmF0ZS1iaW5kaW5n
cy5wbCB0cmVhdHMgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMCisg
ICAgICAgICAgICBhcyBub3JtYWwgYXR0cmlidXRlcyBhbmQgaW5zdGVhZCBpZ25vcmVzIGFsbCBh
dHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETAorICAgICAgICAgICAgKGkuZS4g
Z2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJhdGVzIG5vdGhpbmcgZnJvbSB0aGUgSURMIGZpbGUg
d2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KKworICAgICAgICBUZXN0czogd2ViYXVkaW8v
KgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERlc2NyaWJlcyB0aGUgYnVp
bGQgZmxvdyB0aGF0IEkgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAqIFdlYkNvcmUuZ3lwL3Nj
cmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHk6CisgICAgICAgIChtYWluKTog
UmVhZHMgdGhlIElETCBmaWxlIG5hbWVzIGZyb20gdGhlIGlucHV0IGZpbGUgKGkuZS4gc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wKSwgd2hpY2ggYXJlIGRlc2NyaWJlZCBhdCB0aGUgZmlyc3Qg
Y29sdW1uIG9mIGVhY2ggbGluZSBpbiB0aGUgaW5wdXQgZmlsZS4KKyAgICAgICAgKiBXZWJDb3Jl
Lmd5cGk6IEFkZGVkIERPTVdpbmRvd1dlYkF1ZGlvLmlkbC4KKyAgICAgICAgKiBiaW5kaW5ncy9z
Y3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsOiBBcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiwgaWYg
dGhlIHBsYXRmb3JtIGRvZXMgbm90IHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgdGhl
IHBlcmwgc2NyaXB0IGlnbm9yZXMgdGhlIFtTdXBwbGVtZW50YWxdIElETCBhbmQgaW5zdGVhZCB1
c2VzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwuIE90aGVyd2lzZSwgdGhlIHBlcmwgc2NyaXB0IGln
bm9yZXMgdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhbmQgaW5zdGVhZCB1c2VzIHRoZSBbU3VwcGxl
bWVudGFsXSBJREwuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBBZGRlZCB0aGUgW1N1
cHBsZW1lbnRlZF0gSURMIHRvIHdlYmF1ZGlvLXJlbGF0ZWQgYXR0cmlidXRlcy4gQXMgSSBkZXNj
cmliZWQgYWJvdmUsIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLgorICAgICAgICAq
IHdlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbDogQWRkZWQuIERlc2NyaWJlcyB0aGUgW1N1
cHBsZW1lbnRhbD1ET01XaW5kb3ddIElETC4gVGhlIGF0dHJpYnV0ZXMgaW4gdGhpcyBJREwgZmls
ZSBzaG91bGQgYmUgdHJlYXRlZCBhcyBpZiB0aGV5IGFyZSB3cml0dGVuIGluIERPTVdpbmRvdy5p
ZGwuCisKIDIwMTEtMTItMDEgIEtlbnRhcm8gSGFyYSAgPGhhcmFrZW5AY2hyb21pdW0ub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJvbGxpbmcgb3V0IHIxMDE3MzcuCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IDIyYTQ4YzBmNGNlNGU0MmQzOTdkMDQ3M2U5Zjdm
Y2RlN2QxZGFiZDcuLmUzYjFjZDcxZDVlMWJlYzBlY2FhOTgyZWYxNGRmMWFlYzAyNDg4NTYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCkBAIC00NDYsOSArNDQ2LDQ4IEBA
CiAgICAgICBdCiAgICAgfSwKICAgICB7CisgICAgICAndGFyZ2V0X25hbWUnOiAnZ2VuZXJhdGVf
c3VwcGxlbWVudGFsX2RlcGVuZGVuY3knLAorICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAn
YWN0aW9ucyc6IFsKKyAgICAgICAgIHsKKyAgICAgICAgICAnYWN0aW9uX25hbWUnOiAnZ2VuZXJh
dGVTdXBwbGVtZW50YWxEZXBlbmRlbmN5JywKKyAgICAgICAgICAndmFyaWFibGVzJzogeworICAg
ICAgICAgICAgIyBXcml0ZSBzb3VyY2VzIGludG8gYSBmaWxlLCBzbyB0aGF0IHRoZSBhY3Rpb24g
Y29tbWFuZCBsaW5lIHdvbid0CisgICAgICAgICAgICAjIGV4Y2VlZCBPUyBsaW1pdHMuCisgICAg
ICAgICAgICAnaWRsX2ZpbGVzX2xpc3QnOiAnPHwoaWRsX2ZpbGVzX2xpc3QudG1wIDxAKGJpbmRp
bmdzX2lkbF9maWxlcykpJywKKyAgICAgICAgICB9LAorICAgICAgICAgICdpbnB1dHMnOiBbCisg
ICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCcs
CisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0nLAorICAgICAg
ICAgICAgJzwoaWRsX2ZpbGVzX2xpc3QpJywKKyAgICAgICAgICAgICc8IUAoY2F0IDwoaWRsX2Zp
bGVzX2xpc3QpKScsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAg
ICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5j
eS50bXAnLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ2FjdGlvbic6IFsKKyAgICAgICAgICAg
ICdwZXJsJywKKyAgICAgICAgICAgICctdycsCisgICAgICAgICAgICAnLUkuLi9iaW5kaW5ncy9z
Y3JpcHRzJywKKyAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL3Jlc29sdmUtc3VwcGxl
bWVudGFsLnBsJywKKyAgICAgICAgICAgICctLWRlZmluZXMnLAorICAgICAgICAgICAgJzwoZmVh
dHVyZV9kZWZpbmVzKSBMQU5HVUFHRV9KQVZBU0NSSVBUIFY4X0JJTkRJTkcnLAorICAgICAgICAg
ICAgJy0taWRsRmlsZXNMaXN0JywKKyAgICAgICAgICAgICc8KGlkbF9maWxlc19saXN0KScsCisg
ICAgICAgICAgICAnLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZScsCisgICAgICAgICAgICAn
PChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywK
KyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNzYWdlJzogJ1Jlc29sdmluZyBbU3VwcGxlbWVu
dGFsPVhYWF0gZGVwZW5kZW5jaWVzIGluIGFsbCBJREwgZmlsZXMnLAorICAgICAgICB9CisgICAg
ICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFyZ2V0X25hbWUnOiAnd2ViY29yZV9iaW5kaW5n
c19zb3VyY2VzJywKICAgICAgICd0eXBlJzogJ25vbmUnLAogICAgICAgJ2hhcmRfZGVwZW5kZW5j
eSc6IDEsCisgICAgICAnZGVwZW5kZW5jaWVzJzogWworICAgICAgICAnZ2VuZXJhdGVfc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3knLAorICAgICAgXSwKICAgICAgICdzb3VyY2VzJzogWwogICAgICAg
ICAjIGJpc29uIHJ1bGUKICAgICAgICAgJy4uL2Nzcy9DU1NHcmFtbWFyLnknLApAQCAtODYxLDE1
ICs5MDAsOSBAQAogICAgICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgJ2FjdGlvbl9uYW1l
JzogJ2Rlcml2ZWRfc291cmNlc19hbGxfaW5fb25lJywKLSAgICAgICAgICAndmFyaWFibGVzJzog
ewotICAgICAgICAgICAgIyBXcml0ZSBzb3VyY2VzIGludG8gYSBmaWxlLCBzbyB0aGF0IHRoZSBh
Y3Rpb24gY29tbWFuZCBsaW5lIHdvbid0Ci0gICAgICAgICAgICAjIGV4Y2VlZCBPUyBsaW1pdGVz
LgotICAgICAgICAgICAgJ2lkbHNfbGlzdF90ZW1wX2ZpbGUnOiAnPHwoaWRsc19saXN0X3RlbXBf
ZmlsZS50bXAgPEAoYmluZGluZ3NfaWRsX2ZpbGVzKSknLAotICAgICAgICAgIH0sCiAgICAgICAg
ICAgJ2lucHV0cyc6IFsKICAgICAgICAgICAgICdzY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNl
c2FsbGlub25lLnB5JywKLSAgICAgICAgICAgICc8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpJywKLSAg
ICAgICAgICAgICc8IUAoY2F0IDwoaWRsc19saXN0X3RlbXBfZmlsZSkpJywKKyAgICAgICAgICAg
ICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAn
LAogICAgICAgICAgIF0sCiAgICAgICAgICAgJ291dHB1dHMnOiBbCiAgICAgICAgICAgICAnPEAo
ZGVyaXZlZF9zb3VyY2VzX2FnZ3JlZ2F0ZV9maWxlcyknLApAQCAtODc3LDcgKzkxMCw3IEBACiAg
ICAgICAgICAgJ2FjdGlvbic6IFsKICAgICAgICAgICAgICdweXRob24nLAogICAgICAgICAgICAg
J3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHknLAotICAgICAgICAgICAg
JzwoaWRsc19saXN0X3RlbXBfZmlsZSknLAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVE
SUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCiAgICAgICAgICAgICAnLS0n
LAogICAgICAgICAgICAgJzxAKGRlcml2ZWRfc291cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKICAg
ICAgICAgICBdLApAQCAtOTMwLDYgKzk2Myw3IEBACiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mv
c2NyaXB0cy9JRExQYXJzZXIucG0nLAogICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMv
SURMU3RydWN0dXJlLnBtJywKICAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL3ByZXBy
b2Nlc3Nvci5wbScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3Vw
cGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRw
dXRzJzogWwogICAgICAgICAgICAgIyBGSVhNRTogIFRoZSAuY3BwIGZpbGUgc2hvdWxkIGJlIGlu
IHdlYmtpdC9iaW5kaW5ncyBvbmNlCkBAIC05NzUsNiArMTAwOSw4IEBACiAgICAgICAgICAgICAn
LS1nZW5lcmF0b3InLAogICAgICAgICAgICAgJ1Y4JywKICAgICAgICAgICAgICc8QChnZW5lcmF0
b3JfaW5jbHVkZV9kaXJzKScsCisgICAgICAgICAgICAnLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5
RmlsZScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVu
dGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAgICAgICc8KFJVTEVfSU5QVVRfUEFUSCknLAog
ICAgICAgICAgIF0sCiAgICAgICAgICAgJ21lc3NhZ2UnOiAnR2VuZXJhdGluZyBiaW5kaW5nIGZy
b20gPChSVUxFX0lOUFVUX1BBVEgpJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25l
LnB5CmluZGV4IDU4NjA3MWJmYzA4MDFkNGM2NGI2OGI3ODczMTJmMjJjNWMyOGYzYWEuLjQyYzQ1
ZTcxNTEzZWQ5NmFjZGViOGE4MGZiYWIzY2EzYzNmMjc4ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUu
cHkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZl
ZHNvdXJjZXNhbGxpbm9uZS5weQpAQCAtMzIsMTIgKzMyLDEyIEBACiAjIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
ICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIAotIyBhY3Rpb25fZGVyaXZlZHNvdXJjZXNs
aXN0LnB5IGdlbmVyYXRlcyBhIHNpbmdsZSBjcHAgZmlsZSB0aGF0IGluY2x1ZGVzCisjIGFjdGlv
bl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IGdlbmVyYXRlcyBhIHNpbmdsZSBjcHAgZmlsZSB0
aGF0IGluY2x1ZGVzCiAjIGFsbCB2OCBiaW5kaW5ncyBjcHAgZmlsZXMgZ2VuZXJhdGVkIGZyb20g
aWRscy4gRmlsZXMgY2FuIGJlIGFzc2lnbmVkIGludG8KICMgbXVsdGlwbGUgb3V0cHV0IGZpbGVz
LCB0byByZWR1Y2UgbWF4aW11bSBjb21waWxhdGlvbiB1bml0IHNpemUgYW5kIGFsbG93CiAjIHBh
cmFsbGVsIGNvbXBpbGF0aW9uLgogIwotIyB1c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2VzbGlz
dC5weSBJRExfRklMRVNfTElTVCAtLSBPVVRQVVRfRklMRTEgT1VUUFVUX0ZJTEUyIC4uLgorIyB1
c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkgSURMX0ZJTEVTX0xJU1QgLS0g
T1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAuLi4KICMKICMgTm90ZSB0aGF0IElETF9GSUxFU19M
SVNUIGlzIGEgdGV4dCBmaWxlIGNvbnRhaW5pbmcgdGhlIElETCBmaWxlIHBhdGhzLgogCkBAIC0x
ODYsNyArMTg2LDkgQEAgZGVmIG1haW4oYXJncyk6CiAgICAgb3V0cHV0RmlsZU5hbWVzID0gYXJn
c1tpbk91dEJyZWFrSW5kZXgrMTpdCiAKICAgICBpbnB1dEZpbGUgPSBvcGVuKGlucHV0RmlsZU5h
bWUsICdyJykKLSAgICBpZGxGaWxlTmFtZXMgPSBpbnB1dEZpbGUucmVhZCgpLnNwbGl0KCdcbicp
CisgICAgaWRsRmlsZU5hbWVzID0gW10KKyAgICBmb3IgbGluZSBpbiBpbnB1dEZpbGU6CisgICAg
ICAgIGlkbEZpbGVOYW1lcy5hcHBlbmQobGluZVs6LTFdLnNwbGl0KCcgJylbMF0pCiAgICAgaW5w
dXRGaWxlLmNsb3NlKCkKIAogICAgIGZpbGVzTWV0YURhdGEgPSBleHRyYWN0TWV0YURhdGEoaWRs
RmlsZU5hbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDQxNGQyZTI5NDgwNzM4YjUxMzdiYjgzZDU0
NWNmMjllZjkwMjRhNTIuLjFlZGQ3ZDliOTY2ZGFiMmQ5YTdmNzgzMGQ4NzQ2NGRiMTM4ZDc2MTQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKQEAgLTE0OTIsNiArMTQ5Miw3IEBACiAgICAgICAgICAgICAnd2Vi
YXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0NvbnZv
bHZlck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9EZWxheU5vZGUuaWRsJywKKyAg
ICAgICAgICAgICd3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwnLAogICAgICAgICAgICAg
J3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJh
dWRpby9IaWdoUGFzczJGaWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vSmF2
YVNjcmlwdEF1ZGlvTm9kZS5pZGwnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKaW5kZXggMTYzMDM0NTUyOWE0Y2E5OTcxZTcw
MmJmMThlYjc1ZjZmNzFhMThhNC4uYmFiYjVmMTc0ZmRlNDFmYzNiMDQwZWY0YWRlMDk1NGQ1Mzlk
NWM5NCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0
ZS1iaW5kaW5ncy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVy
YXRlLWJpbmRpbmdzLnBsCkBAIC0xMTIsNiArMTEyLDc5IEBAIGlmICgkc3VwcGxlbWVudGFsRGVw
ZW5kZW5jeUZpbGUpIHsKIG15ICR0YXJnZXRQYXJzZXIgPSBJRExQYXJzZXItPm5ldyghJHZlcmJv
c2UpOwogbXkgJHRhcmdldERvY3VtZW50ID0gJHRhcmdldFBhcnNlci0+UGFyc2UoJHRhcmdldElk
bEZpbGUsICRkZWZpbmVzLCAkcHJlcHJvY2Vzc29yKTsKIAorIyBGSVhNRShoYXJha2VuKTogUmVt
b3ZlIHRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQuCisjIFRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQgaXMg
dGVtcG9yYXJ5IGFuZCB3aWxsIGJlIHJlbW92ZWQKKyMgYWZ0ZXIgYnVpbGQgc2NyaXB0cyBmb3Ig
YWxsIHBsYXRmb3JtcyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElETC4KKyMgVGhlIG1vdGl2YXRp
b24gZm9yIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgaXMgYXMgZm9sbG93czoKKyMKKyMgSW4gb3Jk
ZXIgdG8gc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB3ZSBuZWVkIHRvCisjICgxKSBy
dW4gcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgYW5kIGdlbmVyYXRlIHN1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5LnRtcAorIyAoMikgYW5kIHJ1biBnZW5lcmF0ZS1iaW5kaW5ncy5wbCB3aXRoIHRoZSBz
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAuCisjCisjIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJl
cyBhIGNoYW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisjIGJ1dCBjaGFuZ2lu
ZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lv
biBpcyB0b28gZGlmZmljdWx0OgorIworIyAgICAgLSBEZXJpdmVkU291cmNlcy5tYWtlCisjICAg
ICAtIERlcml2ZWRTb3VyY2VzLnByaQorIyAgICAgLSBHTlVtYWtlZmlsZS5hbQorIyAgICAgLSBQ
bGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyMgICAgIC0gVXNlSlNDLmNtYWtlCisjICAgICAtIFVz
ZVY4LmNtYWtlCisjICAgICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRzCisjICAgICAt
IFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisjICAgICAtIGJpbmRpbmdzL2dvYmplY3Qv
R05VbWFrZWZpbGUuYW0KKyMgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKyMKKyMgVGh1
cywgd2UgYXJlIHBsYW5uaW5nIHRvIGNoYW5nZSB0aGUgYnVpbGQgc2NyaXB0cyBvbmUgYnkgb25l
LCB3aGljaCBpbXBsaWVzIHRoYXQKKyMgd2UgbmVlZCB0byBhbGxvdyB0aGUgdGVtcG9yYXJ5IHN0
YXRlIGluIHdoaWNoIHNvbWUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElE
TAorIyBidXQgb3RoZXJzIGRvIG5vdC4gVG8gYWNjb21wbGlzaCB0aGlzLCB3ZSBpbnRyb2R1Y2Ug
YSB0ZW1wb3JhbCBJREwsIFtTdXBwbGVtZW50ZWRdLgorIyBUaGUgW1N1cHBsZW1lbnRlZF0gSURM
IG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0IHRoZSBhdHRyaWJ1dGUgaXMgbWFya2VkIHdpdGgg
W1N1cHBsZW1lbnRhbF0KKyMgaW4gYW5vdGhlciBJREwgZmlsZSBzb21ld2hlcmUsIGxpa2UgdGhp
czoKKyMKKyMgRE9NV2luZG93V2ViQXVkaW8uaWRsOgorIyAgICAgaW50ZXJmYWNlIFsKKyMgICAg
ICAgICBTdXBwbGVtZW50YWw9RE9NV2luZG93CisjICAgICBdIERPTVdpbmRvd1dlYkF1ZGlvIHsK
KyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHIyOwor
IyAgICAgfTsKKyMKKyMgRE9NV2luZG93LmlkbDoKKyMgICAgIGludGVyZmFjZSBbCisjICAgICBd
IERPTVdpbmRvdyB7CisjICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIxOyAv
LyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBv
cnQgdGhlIFtTdXBwbGVtZW50YWxMLgorIyAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVk
XSBhdHRyMjsgLy8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2Ny
aXB0cyBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsTC4KKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0
cjM7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHI0OworIyAgICAgfTsKKyMKKyMgQXNzdW1pbmcg
dGhlc2UgSURMIGZpbGVzLCB0aGUgYmVsb3cgY29kZSBpcyBkb2luZyB0aGUgZm9sbG93aW5nIGxv
Z2ljOgorIworIyAgICAgLSBJZiBhIGdpdmVuIGJ1aWxkIHNjcmlwdCBzdXBwb3J0cyB0aGUgW1N1
cHBsZW1lbnRhbF0gSURMIChpLmUuIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgaXMgc3Bl
Y2lmaWVkKSwKKyMgICAgICAgd2UgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50ZWRdIElETC4KKyMgICAgIC0gT3RoZXJ3aXNlIChpLmUuIC0tc3VwcGxlbWVudGFsRGVw
ZW5kZW5jeUZpbGUgaXMgbm90IHNwZWNpZmllZCksCisjICAgICAgIHdlIHRyZWF0IGFsbCBhdHRy
aWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhcyBub3JtYWwgYXR0cmlidXRlcwor
IyAgICAgICBhbmQgaW5zdGVhZCBpZ25vcmUgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBs
ZW1lbnRhbF0gSURMCisjICAgICAgIChpLmUuIHdlIGdlbmVyYXRlIG5vdGhpbmcgZnJvbSB0aGUg
aWRsIGZpbGUgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KK2lmICgkc3VwcGxlbWVudGFs
RGVwZW5kZW5jeUZpbGUpIHsKKyAgICBmb3JlYWNoIG15ICRkYXRhTm9kZSAoQHskdGFyZ2V0RG9j
dW1lbnQtPmNsYXNzZXN9KSB7CisgICAgICAgIG15IEBub25TdXBwbGVtZW50ZWRBdHRyaWJ1dGVz
OworICAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRhdGFOb2RlLT5hdHRyaWJ1dGVz
fSkgeworICAgICAgICAgICAgaWYgKCEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0
cmlidXRlcy0+eyJTdXBwbGVtZW50ZWQifSkgeworICAgICAgICAgICAgICAgIHB1c2goQG5vblN1
cHBsZW1lbnRlZEF0dHJpYnV0ZXMsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgICAgICRkYXRhTm9kZS0+YXR0cmlidXRlcyhcQG5vblN1cHBsZW1lbnRlZEF0dHJp
YnV0ZXMpOworICAgIH0KK30gZWxzZSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5vZGUgKEB7JHRh
cmdldERvY3VtZW50LT5jbGFzc2VzfSkgeworICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRl
ZEF0dHJpYnV0ZXMtPnsiU3VwcGxlbWVudGFsIn0pIHsKKyAgICAgICAgICAgIGV4aXQgMDsKKyAg
ICAgICAgfQorICAgIH0KK30KKyMgVGVtcG9yYXJ5IGlmLWVsc2Ugc3RhdGVtZW50IHVudGlsIGhl
cmUuCisKIGZvcmVhY2ggbXkgJGlkbEZpbGUgKEBzdXBwbGVtZW50ZWRJZGxGaWxlcykgewogICAg
IG5leHQgaWYgJGlkbEZpbGUgZXEgJHRhcmdldElkbEZpbGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAppbmRleCBhMjY0Zjk1ZDIxZGRmMDBkNDBjOWNiOTNmOWU0NmI0MzNmYmVjOTMwLi45
MDI4YjFhZTA2ZmU5NDQ1MjNmMWMyNTJlMzVmMzVlMTE0M2MwMzcxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9E
T01XaW5kb3cuaWRsCkBAIC01MjIsOCArNTIyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAg
IGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyXSBGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciBGbG9h
dDY0QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUg
W0pTQ0N1c3RvbUdldHRlcl0gRGF0YVZpZXdDb25zdHJ1Y3RvciBEYXRhVmlldzsgLy8gVXNhYmxl
IHdpdGggbmV3IG9wZXJhdG9yCiAKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIs
Q29uZGl0aW9uYWw9V0VCX0FVRElPLEVuYWJsZWRBdFJ1bnRpbWVdIEF1ZGlvQ29udGV4dENvbnN0
cnVjdG9yIHdlYmtpdEF1ZGlvQ29udGV4dDsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0g
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bhbm5lck5vZGVD
b25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7IC8vIE5lZWRlZCBmb3IgcGFubmluZyBt
b2RlbCBjb25zdGFudHMKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIEpTQ0N1c3Rv
bUdldHRlciwgQ29uZGl0aW9uYWw9V0VCX0FVRElPLCBFbmFibGVkQXRSdW50aW1lXSBBdWRpb0Nv
bnRleHRDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3aXRoIG5ldyBv
cGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VC
X0FVRElPXSBBdWRpb1Bhbm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7
IC8vIE5lZWRlZCBmb3IgcGFubmluZyBtb2RlbCBjb25zdGFudHMKIAogICAgICAgICAvLyBFdmVu
dCBDb25zdHJ1Y3RvcnMKICAgICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0b3IgRXZlbnQ7
CkBAIC01NTIsOCArNTUyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBb
Q29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTXSBUb3VjaEV2ZW50Q29uc3RydWN0b3IgVG91Y2hFdmVu
dDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfU09DS0VUU10gQ2xvc2VFdmVu
dENvbnN0cnVjdG9yIENsb3NlRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTdG9yYWdlRXZlbnRD
b25zdHJ1Y3RvciBTdG9yYWdlRXZlbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2lu
Z0V2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gT2ZmbGlu
ZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2
ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FV
RElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50
OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElP
XSBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5lQXVkaW9Db21w
bGV0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9SU5QVVRfU1BFRUNI
XSBTcGVlY2hJbnB1dEV2ZW50Q29uc3RydWN0b3IgU3BlZWNoSW5wdXRFdmVudDsKICAgICAgICAg
YXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIE1lZGlhU3RyZWFtRXZlbnRDb25z
dHJ1Y3RvciBNZWRpYVN0cmVhbUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PVdFQkdMXSBXZWJHTENvbnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4dEV2ZW50Owpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRs
IGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmRkMTA4ZWZiN2IwMzNlZmZiMWVlZWQ3YWM0MDUxYjE3MjBmN2ZhOTQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwKQEAg
LTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5
b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVy
bXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
KyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3
aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFs
IFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4g
IElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4s
IDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEz
MDEsIFVTQS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbCisgICAg
ICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKKyAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRv
dworICAgIF0gRE9NV2luZG93V2ViQXVkaW8geworICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3Rv
bUdldHRlciwgRW5hYmxlZEF0UnVudGltZV0gQXVkaW9Db250ZXh0Q29uc3RydWN0b3Igd2Via2l0
QXVkaW9Db250ZXh0OworICAgICAgICBhdHRyaWJ1dGUgQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0
b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOworICAgICAgICBhdHRyaWJ1dGUgQXVkaW9Qcm9jZXNz
aW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVudDsKKyAgICAgICAgYXR0cmli
dXRlIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxpbmVBdWRpb0Nv
bXBsZXRpb25FdmVudDsKKyAgICB9OworCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118332</attachid>
            <date>2011-12-07 22:37:48 -0800</date>
            <delta_ts>2011-12-12 16:17:32 -0800</delta_ts>
            <desc>final patch?</desc>
            <filename>bug-73394-20111208153747.patch</filename>
            <type>text/plain</type>
            <size>19592</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMjg5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2FlOGI1MWI1NjQ5MDdl
NjBmMTcyMWY4NGJhYjE3NjgwNzQ4OTM3Yi4uYmFlNzAwZGQ2ZDRmZDQxMjY2YjViNjE2MWExYzAw
ZWQ2NTdjOGMzMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDExLTEyLTA3ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBmb3Igd2ViYXVkaW8gYXR0cmlidXRlcyBpbiBDaHJvbWl1bQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAtIE92ZXJ2aWV3OiBVc2lu
ZyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB0aGlzIHBhdGNoIG1vdmVzIHRoZSBhdHRyaWJ1dGUK
KyAgICAgICAgZGVjbGFyYXRpb25zIG9mIHdlYmF1ZGlvIGZyb20gRE9NV2luZG93LmlkbCBpbnRv
IGEgbmV3IElETCBmaWxlCisgICAgICAgIHdlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbCwg
d2hpY2ggaGVscHMgbWFrZSB3ZWJhdWRpbyBhIHNlbGYtY29udGFpbmVkCisgICAgICAgIGZlYXR1
cmUgKGFrYSBhIG1vZHVsZSkuCisKKyAgICAgICAgLSBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIGJ1
aWxkIGZsb3cgb2YgV2ViQ29yZS5neXAgYXMgZm9sbG93czoKKworICAgICAgICAgICAgUHJldmlv
dXMgYnVpbGQgZmxvdzoKKyAgICAgICAgICAgICAgICBmb3JlYWNoICRpZGwgKGFsbCBJREwgZmls
ZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZGVwZW5kcyBv
biAkaWRsOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCByZWFkcyAk
aWRsOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0ZXMg
LmggYW5kIC5jcHAgZmlsZXMgZm9yICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAg
ICAgICBOZXcgYnVpbGQgZmxvdyAoU2VlIHRoZSBkaXNjdXNzaW9ucyBpbiBidWcgNzIxMzggZm9y
IG1vcmUgZGV0YWlscyk6CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwg
ZGVwZW5kcyBvbiBhbGwgSURMIGZpbGVzOworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxl
bWVudGFsLnBsIHJlYWRzIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1z
dXBwbGVtZW50YWwucGwgcmVzb2x2ZXMgdGhlIGRlcGVuZGVuY3kgb2YgW1N1cHBsZW1lbnRhbD1Y
WFhYXTsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBvdXRwdXRzIHN1
cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAgICAgICAgICBmb3JlYWNoICRpZGwg
KGFsbCBJREwgZmlsZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3Mu
cGwgZGVwZW5kcyBvbiAkaWRsIGFuZCBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXA7CisgICAg
ICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7CisgICAgICAg
ICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzIHN1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5LnRtcDsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZ2Vu
ZXJhdGVzIC5oIGFuZCAuY3BwIGZpbGVzIGZvciAkaWRsLCBpbmNsdWRpbmcgYWxsIGF0dHJpYnV0
ZXMgaW4gSURMIGZpbGVzIHdoaWxlbWVudGluZyAkaWRsOworICAgICAgICAgICAgICAgIH0KKwor
ICAgICAgICAtIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIHRlbXBvcmFyeSBJREwsIFtTdXBwbGVt
ZW50ZWRdLiBUaGUgW1N1cHBsZW1lbnRlZF0gSURMCisgICAgICAgIHdpbGwgYmUgcmVtb3ZlZCBh
ZnRlciBidWlsZCBzY3JpcHRzIGZvciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQgdGhlIFtTdXBwbGVt
ZW50YWxdIElETC4KKyAgICAgICAgVGhlIG1vdGl2YXRpb24gZm9yIHRoZSBbU3VwcGxlbWVudGVk
XSBJREwgaXMgYXMgZm9sbG93czoKKworICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBb
U3VwcGxlbWVudGFsXSBJREwsIHdlIG5lZWQgdG8KKyAgICAgICAgKDEpIHJ1biByZXNvbHZlLXN1
cHBsZW1lbnRhbC5wbCBhbmQgZ2VuZXJhdGUgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wCisg
ICAgICAgICgyKSBhbmQgcnVuIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHdpdGggdGhlIHN1cHBsZW1l
bnRhbF9kZXBlbmRlbmN5LnRtcC4KKworICAgICAgICBUaGlzIGJ1aWxkIGZsb3cgcmVxdWlyZXMg
YSBjaGFuZ2Ugb24gdGhlIGZvbGxvd2luZyBidWlsZCBzY3JpcHRzLAorICAgICAgICBidXQgY2hh
bmdpbmcgYWxsIHRoZSBidWlsZCBzY3JpcHRzIGFsbCBhdCBvbmNlIHdpdGhvdXQgYW55IHJlZ3Jl
c3Npb24gaXMgdG9vIGRpZmZpY3VsdDoKKworICAgICAgICAgICAgLSBEZXJpdmVkU291cmNlcy5t
YWtlCisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLnByaQorICAgICAgICAgICAgLSBHTlVt
YWtlZmlsZS5hbQorICAgICAgICAgICAgLSBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyAgICAg
ICAgICAgIC0gVXNlSlNDLmNtYWtlCisgICAgICAgICAgICAtIFVzZVY4LmNtYWtlCisgICAgICAg
ICAgICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRzCisgICAgICAgICAgICAtIFdlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisgICAgICAgICAgICAtIGJpbmRpbmdzL2dvYmplY3Qv
R05VbWFrZWZpbGUuYW0KKyAgICAgICAgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKwor
ICAgICAgICBUaHVzLCB3ZSBhcmUgcGxhbm5pbmcgdG8gY2hhbmdlIHRoZSBidWlsZCBzY3JpcHRz
IG9uZSBieSBvbmUsIHdoaWNoIGltcGxpZXMgdGhhdAorICAgICAgICB3ZSBuZWVkIHRvIGFsbG93
IHRoZSB0ZW1wb3Jhcnkgc3RhdGUgaW4gd2hpY2ggc29tZSBidWlsZCBzY3JpcHRzIHN1cHBvcnQg
W1N1cHBsZW1lbnRhbF0gSURMCisgICAgICAgIGJ1dCBvdGhlcnMgZG8gbm90LiBUbyBhY2NvbXBs
aXNoIHRoaXMsIHdlIGludHJvZHVjZSBhIHRlbXBvcmFyeSBJREwsIFtTdXBwbGVtZW50ZWRdLgor
ICAgICAgICBUaGUgW1N1cHBsZW1lbnRlZF0gSURMIG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0
IHRoZSBhdHRyaWJ1dGUgaXMgbWFya2VkIHdpdGggW1N1cHBsZW1lbnRhbF0KKyAgICAgICAgaW4g
YW5vdGhlciBJREwgZmlsZSBzb21ld2hlcmUsIGxpa2UgdGhpczoKKworICAgICAgICAgICAgRE9N
V2luZG93V2ViQXVkaW8uaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisgICAgICAg
ICAgICAgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5kb3cKKyAgICAgICAgICAgICAgICBdIERP
TVdpbmRvd1dlYkF1ZGlvIHsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIxOwor
ICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjI7CisgICAgICAgICAgICAgICAgfTsK
KworICAgICAgICAgICAgRE9NV2luZG93LmlkbDoKKyAgICAgICAgICAgICAgICBpbnRlcmZhY2Ug
WworICAgICAgICAgICAgICAgIF0gRE9NV2luZG93IHsKKyAgICAgICAgICAgICAgICAgICAgYXR0
cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIxOyAvLyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVk
IGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdSBJREwKKyAgICAgICAgICAg
ICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIyOyAvLyBUaGlzIGxpbmUgd2ls
bCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdSBJREwu
CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMzsKKyAgICAgICAgICAgICAgICAg
ICAgYXR0cmlidXRlIGF0dHI0OworICAgICAgICAgICAgICAgIH07CisKKyAgICAgICAgQXNzdW1p
bmcgdGhlc2UgSURMIGZpbGVzLCB0aGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBs
b2dpYyBpbiBnZW5lcmF0ZS1iaW5kaW5ncy5wbDoKKworICAgICAgICAgICAgLSBJZiBhIGdpdmVu
IGJ1aWxkIHNjcmlwdCBzdXBwb3J0cyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLAorICAgICAgICAg
ICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgaWdub3JlcyBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBb
U3VwcGxlbWVudGVkXSBJREwuCisgICAgICAgICAgICAtIE90aGVyd2lzZSwgZ2VuZXJhdGUtYmlu
ZGluZ3MucGwgdHJlYXRzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElE
TAorICAgICAgICAgICAgYXMgbm9ybWFsIGF0dHJpYnV0ZXMgYW5kIGluc3RlYWQgaWdub3JlcyBh
bGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGFsXSBJREwKKyAgICAgICAgICAgIChp
LmUuIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyBub3RoaW5nIGZyb20gdGhlIElETCBm
aWxlIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETCkuCisKKyAgICAgICAgVGVzdHM6IHdlYmF1
ZGlvLyoKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOiBEZXNjcmliZXMgdGhl
IGJ1aWxkIGZsb3cgdGhhdCBJIGRlc2NyaWJlZCBhYm92ZS4KKyAgICAgICAgKiBXZWJDb3JlLmd5
cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5OgorICAgICAgICAobWFp
bik6IFJlYWRzIHRoZSBJREwgZmlsZSBuYW1lcyBmcm9tIHRoZSBpbnB1dCBmaWxlIChpLmUuIHN1
cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCksIHdoaWNoIGFyZSBkZXNjcmliZWQgYXQgdGhlIGZp
cnN0IGNvbHVtbiBvZiBlYWNoIGxpbmUgaW4gdGhlIGlucHV0IGZpbGUuIElmIHRoZSBmaWxlIG5h
bWUgaXMgYSAiL2N5Z2RyaXZlL2MvLi4uIi1zdHlsZSBwYXRoLCBpdCBpcyBjb252ZXJ0ZWQgdG8g
YSAiQzpcY3lnd2luXC4uLiItc3R5bGUgcGF0aCBieSB0aGUgY3lncGF0aCBjb21tYW5kLgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaTogQWRkZWQgRE9NV2luZG93V2ViQXVkaW8uaWRsLgorICAgICAg
ICAqIGJpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGw6IEFzIGEgdGVtcG9yYXJ5
IHNvbHV0aW9uLCBpZiB0aGUgcGxhdGZvcm0gZG9lcyBub3Qgc3VwcG9ydCB0aGUgW1N1cHBsZW1l
bnRhbF0gSURMLCB0aGUgcGVybCBzY3JpcHQgaWdub3JlcyB0aGUgW1N1cHBsZW1lbnRhbF0gSURM
IGFuZCBpbnN0ZWFkIHVzZXMgdGhlIFtTdXBwbGVtZW50ZWRdIElETC4gT3RoZXJ3aXNlLCB0aGUg
cGVybCBzY3JpcHQgaWdub3JlcyB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIGFuZCBpbnN0ZWFkIHVz
ZXMgdGhlIFtTdXBwbGVtZW50YWxdIElETC4KKyAgICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6
IEFkZGVkIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgdG8gd2ViYXVkaW8tcmVsYXRlZCBhdHRyaWJ1
dGVzLiBBcyBJIGRlc2NyaWJlZCBhYm92ZSwgdGhlIFtTdXBwbGVtZW50ZWRdIElETCB3aWxsIGJl
IHJlbW92ZWQgYWZ0ZXIgYWxsIHBsYXRmb3JtcyBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsXSBJ
REwuCisgICAgICAgICogd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsOiBBZGRlZC4gRGVz
Y3JpYmVzIHRoZSBbU3VwcGxlbWVudGFsPURPTVdpbmRvd10gSURMLiBUaGUgYXR0cmlidXRlcyBp
biB0aGlzIElETCBmaWxlIHNob3VsZCBiZSB0cmVhdGVkIGFzIGlmIHRoZXkgYXJlIHdyaXR0ZW4g
aW4gRE9NV2luZG93LmlkbC4KKwogMjAxMS0xMi0wNyAgSm9zaHVhIEJlbGwgIDxqc2JlbGxAY2hy
b21pdW0ub3JnPgogCiAgICAgICAgIEluZGV4ZWREQjogUmVwbGFjZSBib29sIGFyZ3MgaW4gSURC
S2V5UmFuZ2UgcHJpdmF0ZSBtZXRob2RzIHdpdGggZW51bQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cC9XZWJDb3JlLmd5cAppbmRleCA5Nzg1MGUyYmY0ZmM5ZDU0MTY5MjY5ZWZkZjRkMTg3NDQxZGRj
ODhmLi44ZTY0Y2ZlYWZjNjRlZjAyMTY1MTRlODkyNjM3ZWVjODI1ZmZiMzZkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAtNDQ2LDkgKzQ0Niw0OCBAQAogICAgICAg
XQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9uYW1lJzogJ2dlbmVyYXRlX3N1cHBsZW1l
bnRhbF9kZXBlbmRlbmN5JywKKyAgICAgICd0eXBlJzogJ25vbmUnLAorICAgICAgJ2FjdGlvbnMn
OiBbCisgICAgICAgICB7CisgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2dlbmVyYXRlU3VwcGxl
bWVudGFsRGVwZW5kZW5jeScsCisgICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKKyAgICAgICAgICAg
ICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmlsZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1hbmQg
bGluZSB3b24ndAorICAgICAgICAgICAgIyBleGNlZWQgT1MgbGltaXRzLgorICAgICAgICAgICAg
J2lkbF9maWxlc19saXN0JzogJzx8KGlkbF9maWxlc19saXN0LnRtcCA8QChiaW5kaW5nc19pZGxf
ZmlsZXMpKScsCisgICAgICAgICAgfSwKKyAgICAgICAgICAnaW5wdXRzJzogWworICAgICAgICAg
ICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwnLAorICAgICAg
ICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtJywKKyAgICAgICAgICAgICc8
KGlkbF9maWxlc19saXN0KScsCisgICAgICAgICAgICAnPCFAKGNhdCA8KGlkbF9maWxlc19saXN0
KSknLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ291dHB1dHMnOiBbCisgICAgICAgICAgICAn
PChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywK
KyAgICAgICAgICBdLAorICAgICAgICAgICdhY3Rpb24nOiBbCisgICAgICAgICAgICAncGVybCcs
CisgICAgICAgICAgICAnLXcnLAorICAgICAgICAgICAgJy1JLi4vYmluZGluZ3Mvc2NyaXB0cycs
CisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5w
bCcsCisgICAgICAgICAgICAnLS1kZWZpbmVzJywKKyAgICAgICAgICAgICc8KGZlYXR1cmVfZGVm
aW5lcykgTEFOR1VBR0VfSkFWQVNDUklQVCBWOF9CSU5ESU5HJywKKyAgICAgICAgICAgICctLWlk
bEZpbGVzTGlzdCcsCisgICAgICAgICAgICAnPChpZGxfZmlsZXNfbGlzdCknLAorICAgICAgICAg
ICAgJy0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUnLAorICAgICAgICAgICAgJzwoU0hBUkVE
X0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCisgICAgICAg
ICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdSZXNvbHZpbmcgW1N1cHBsZW1lbnRhbD1YWFhd
IGRlcGVuZGVuY2llcyBpbiBhbGwgSURMIGZpbGVzJywKKyAgICAgICAgfQorICAgICAgXQorICAg
IH0sCisgICAgewogICAgICAgJ3RhcmdldF9uYW1lJzogJ3dlYmNvcmVfYmluZGluZ3Nfc291cmNl
cycsCiAgICAgICAndHlwZSc6ICdub25lJywKICAgICAgICdoYXJkX2RlcGVuZGVuY3knOiAxLAor
ICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAgJ2dlbmVyYXRlX3N1cHBsZW1lbnRhbF9k
ZXBlbmRlbmN5JywKKyAgICAgIF0sCiAgICAgICAnc291cmNlcyc6IFsKICAgICAgICAgIyBiaXNv
biBydWxlCiAgICAgICAgICcuLi9jc3MvQ1NTR3JhbW1hci55JywKQEAgLTg2MSwxNSArOTAwLDkg
QEAKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdkZXJp
dmVkX3NvdXJjZXNfYWxsX2luX29uZScsCi0gICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKLSAgICAg
ICAgICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmlsZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNv
bW1hbmQgbGluZSB3b24ndAotICAgICAgICAgICAgIyBleGNlZWQgT1MgbGltaXRlcy4KLSAgICAg
ICAgICAgICdpZGxzX2xpc3RfdGVtcF9maWxlJzogJzx8KGlkbHNfbGlzdF90ZW1wX2ZpbGUudG1w
IDxAKGJpbmRpbmdzX2lkbF9maWxlcykpJywKLSAgICAgICAgICB9LAogICAgICAgICAgICdpbnB1
dHMnOiBbCiAgICAgICAgICAgICAnc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9u
ZS5weScsCi0gICAgICAgICAgICAnPChpZGxzX2xpc3RfdGVtcF9maWxlKScsCi0gICAgICAgICAg
ICAnPCFAKGNhdCA8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpKScsCisgICAgICAgICAgICAnPChTSEFS
RURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAg
ICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWwogICAgICAgICAgICAgJzxAKGRlcml2ZWRf
c291cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKQEAgLTg3Nyw3ICs5MTAsNyBAQAogICAgICAgICAg
ICdhY3Rpb24nOiBbCiAgICAgICAgICAgICAncHl0aG9uJywKICAgICAgICAgICAgICdzY3JpcHRz
L2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5JywKLSAgICAgICAgICAgICc8KGlkbHNf
bGlzdF90ZW1wX2ZpbGUpJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElS
KS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgICAgJy0tJywKICAgICAg
ICAgICAgICc8QChkZXJpdmVkX3NvdXJjZXNfYWdncmVnYXRlX2ZpbGVzKScsCiAgICAgICAgICAg
XSwKQEAgLTkzMCw2ICs5NjMsNyBAQAogICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMv
SURMUGFyc2VyLnBtJywKICAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVj
dHVyZS5wbScsCiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3Iu
cG0nLAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRh
bF9kZXBlbmRlbmN5LnRtcCcsCiAgICAgICAgICAgXSwKICAgICAgICAgICAnb3V0cHV0cyc6IFsK
ICAgICAgICAgICAgICMgRklYTUU6ICBUaGUgLmNwcCBmaWxlIHNob3VsZCBiZSBpbiB3ZWJraXQv
YmluZGluZ3Mgb25jZQpAQCAtOTc1LDYgKzEwMDksOCBAQAogICAgICAgICAgICAgJy0tZ2VuZXJh
dG9yJywKICAgICAgICAgICAgICdWOCcsCiAgICAgICAgICAgICAnPEAoZ2VuZXJhdG9yX2luY2x1
ZGVfZGlycyknLAorICAgICAgICAgICAgJy0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUnLAor
ICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5LnRtcCcsCiAgICAgICAgICAgICAnPChSVUxFX0lOUFVUX1BBVEgpJywKICAgICAgICAg
ICBdLAogICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgYmluZGluZyBmcm9tIDwoUlVM
RV9JTlBVVF9QQVRIKScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9z
Y3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weQppbmRl
eCA1ODYwNzFiZmMwODAxZDRjNjRiNjhiNzg3MzEyZjIyYzVjMjhmM2FhLi4zYjA3YzQzNTU1OGVk
OWQ2M2Y2ZWJlYjQzMTZmOTQwZWVmYjAzMWFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5CisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2Vz
YWxsaW5vbmUucHkKQEAgLTMyLDEyICszMiwxMiBAQAogIyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29k
ZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2FuIGJlCiAjIGZvdW5k
IGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKLSMgYWN0aW9uX2Rlcml2ZWRzb3VyY2VzbGlzdC5weSBn
ZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZpbGUgdGhhdCBpbmNsdWRlcworIyBhY3Rpb25fZGVyaXZl
ZHNvdXJjZXNhbGxpbm9uZS5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZpbGUgdGhhdCBpbmNs
dWRlcwogIyBhbGwgdjggYmluZGluZ3MgY3BwIGZpbGVzIGdlbmVyYXRlZCBmcm9tIGlkbHMuIEZp
bGVzIGNhbiBiZSBhc3NpZ25lZCBpbnRvCiAjIG11bHRpcGxlIG91dHB1dCBmaWxlcywgdG8gcmVk
dWNlIG1heGltdW0gY29tcGlsYXRpb24gdW5pdCBzaXplIGFuZCBhbGxvdwogIyBwYXJhbGxlbCBj
b21waWxhdGlvbi4KICMKLSMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291cmNlc2xpc3QucHkgSURM
X0ZJTEVTX0xJU1QgLS0gT1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAuLi4KKyMgdXNhZ2U6IGFj
dGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IElETF9GSUxFU19MSVNUIC0tIE9VVFBVVF9G
SUxFMSBPVVRQVVRfRklMRTIgLi4uCiAjCiAjIE5vdGUgdGhhdCBJRExfRklMRVNfTElTVCBpcyBh
IHRleHQgZmlsZSBjb250YWluaW5nIHRoZSBJREwgZmlsZSBwYXRocy4KIApAQCAtNDgsNiArNDgs
OSBAQCBpbXBvcnQgcmUKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lzCiAKK3N5cy5wYXRo
LmFwcGVuZCgiLi4vLi4vLi4vVG9vbHMvU2NyaXB0cy8iKQorZnJvbSB3ZWJraXRweS5jb21tb24u
c3lzdGVtIGltcG9ydCBwYXRoCisKICMgQSByZWdleHAgZm9yIGZpbmRpbmcgQ29uZGl0aW9uYWwg
YXR0cmlidXRlcyBpbiBpbnRlcmZhY2UgZGVmaW5pdGlvbnMuCiBjb25kaXRpb25hbFBhdHRlcm4g
PSByZS5jb21waWxlKCdpbnRlcmZhY2VbXHNdKlxbW15cXV0qQ29uZGl0aW9uYWw9KFtcXzAtOWEt
ekEtWiZ8XSopJykKIApAQCAtMTg2LDcgKzE4OSwxMiBAQCBkZWYgbWFpbihhcmdzKToKICAgICBv
dXRwdXRGaWxlTmFtZXMgPSBhcmdzW2luT3V0QnJlYWtJbmRleCsxOl0KIAogICAgIGlucHV0Rmls
ZSA9IG9wZW4oaW5wdXRGaWxlTmFtZSwgJ3InKQotICAgIGlkbEZpbGVOYW1lcyA9IGlucHV0Rmls
ZS5yZWFkKCkuc3BsaXQoJ1xuJykKKyAgICBpZGxGaWxlTmFtZXMgPSBbXQorICAgIGZvciBsaW5l
IGluIGlucHV0RmlsZToKKyAgICAgICAgaWRsRmlsZU5hbWUgPSBsaW5lWzotMV0uc3BsaXQoJyAn
KVswXQorICAgICAgICBpZiBpZGxGaWxlTmFtZS5maW5kKCIvY3lnZHJpdmUiKSA9PSAwOgorICAg
ICAgICAgICAgaWRsRmlsZU5hbWUgPSBwYXRoLmN5Z3BhdGgoaWRsRmlsZU5hbWUpCisgICAgICAg
IGlkbEZpbGVOYW1lcy5hcHBlbmQoaWRsRmlsZU5hbWUpCiAgICAgaW5wdXRGaWxlLmNsb3NlKCkK
IAogICAgIGZpbGVzTWV0YURhdGEgPSBleHRyYWN0TWV0YURhdGEoaWRsRmlsZU5hbWVzKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCmluZGV4IGIzZmIxOGE2ODM5ODQxYzFiMjRhOTIzN2E4ZjJjYzBmNjJlOWRkMjAu
Ljg2ZGIxZmY3M2YyNDllOWY0OGIyOGZjMDg0YjA5YmRjMWZkOGU4YzAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5
cGkKQEAgLTE0OTIsNiArMTQ5Miw3IEBACiAgICAgICAgICAgICAnd2ViYXVkaW8vQmlxdWFkRmls
dGVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuaWRsJywK
ICAgICAgICAgICAgICd3ZWJhdWRpby9EZWxheU5vZGUuaWRsJywKKyAgICAgICAgICAgICd3ZWJh
dWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0R5bmFt
aWNzQ29tcHJlc3Nvck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9IaWdoUGFzczJG
aWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9k
ZS5pZGwnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5l
cmF0ZS1iaW5kaW5ncy5wbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJh
dGUtYmluZGluZ3MucGwKaW5kZXggMTYzMDM0NTUyOWE0Y2E5OTcxZTcwMmJmMThlYjc1ZjZmNzFh
MThhNC4uYmFiYjVmMTc0ZmRlNDFmYzNiMDQwZWY0YWRlMDk1NGQ1MzlkNWM5NCAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBs
CkBAIC0xMTIsNiArMTEyLDc5IEBAIGlmICgkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUpIHsK
IG15ICR0YXJnZXRQYXJzZXIgPSBJRExQYXJzZXItPm5ldyghJHZlcmJvc2UpOwogbXkgJHRhcmdl
dERvY3VtZW50ID0gJHRhcmdldFBhcnNlci0+UGFyc2UoJHRhcmdldElkbEZpbGUsICRkZWZpbmVz
LCAkcHJlcHJvY2Vzc29yKTsKIAorIyBGSVhNRShoYXJha2VuKTogUmVtb3ZlIHRoaXMgaWYtZWxz
ZSBzdGF0ZW1lbnQuCisjIFRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQgaXMgdGVtcG9yYXJ5IGFuZCB3
aWxsIGJlIHJlbW92ZWQKKyMgYWZ0ZXIgYnVpbGQgc2NyaXB0cyBmb3IgYWxsIHBsYXRmb3JtcyBz
dXBwb3J0IFtTdXBwbGVtZW50YWxdIElETC4KKyMgVGhlIG1vdGl2YXRpb24gZm9yIHRoZSBbU3Vw
cGxlbWVudGVkXSBJREwgaXMgYXMgZm9sbG93czoKKyMKKyMgSW4gb3JkZXIgdG8gc3VwcG9ydCB0
aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB3ZSBuZWVkIHRvCisjICgxKSBydW4gcmVzb2x2ZS1zdXBw
bGVtZW50YWwucGwgYW5kIGdlbmVyYXRlIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcAorIyAo
MikgYW5kIHJ1biBnZW5lcmF0ZS1iaW5kaW5ncy5wbCB3aXRoIHRoZSBzdXBwbGVtZW50YWxfZGVw
ZW5kZW5jeS50bXAuCisjCisjIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJlcyBhIGNoYW5nZSBvbiB0
aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisjIGJ1dCBjaGFuZ2luZyBhbGwgdGhlIGJ1aWxk
IHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lvbiBpcyB0b28gZGlmZmlj
dWx0OgorIworIyAgICAgLSBEZXJpdmVkU291cmNlcy5tYWtlCisjICAgICAtIERlcml2ZWRTb3Vy
Y2VzLnByaQorIyAgICAgLSBHTlVtYWtlZmlsZS5hbQorIyAgICAgLSBQbGF0Zm9ybUJsYWNrQmVy
cnkuY21ha2UKKyMgICAgIC0gVXNlSlNDLmNtYWtlCisjICAgICAtIFVzZVY4LmNtYWtlCisjICAg
ICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRzCisjICAgICAtIFdlYkNvcmUudmNwcm9q
L1dlYkNvcmUudmNwcm9qCisjICAgICAtIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0K
KyMgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKyMKKyMgVGh1cywgd2UgYXJlIHBsYW5u
aW5nIHRvIGNoYW5nZSB0aGUgYnVpbGQgc2NyaXB0cyBvbmUgYnkgb25lLCB3aGljaCBpbXBsaWVz
IHRoYXQKKyMgd2UgbmVlZCB0byBhbGxvdyB0aGUgdGVtcG9yYXJ5IHN0YXRlIGluIHdoaWNoIHNv
bWUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElETAorIyBidXQgb3RoZXJz
IGRvIG5vdC4gVG8gYWNjb21wbGlzaCB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSB0ZW1wb3JhbCBJREws
IFtTdXBwbGVtZW50ZWRdLgorIyBUaGUgW1N1cHBsZW1lbnRlZF0gSURMIG9uIGFuIGF0dHJpYnV0
ZSBtZWFucyB0aGF0IHRoZSBhdHRyaWJ1dGUgaXMgbWFya2VkIHdpdGggW1N1cHBsZW1lbnRhbF0K
KyMgaW4gYW5vdGhlciBJREwgZmlsZSBzb21ld2hlcmUsIGxpa2UgdGhpczoKKyMKKyMgRE9NV2lu
ZG93V2ViQXVkaW8uaWRsOgorIyAgICAgaW50ZXJmYWNlIFsKKyMgICAgICAgICBTdXBwbGVtZW50
YWw9RE9NV2luZG93CisjICAgICBdIERPTVdpbmRvd1dlYkF1ZGlvIHsKKyMgICAgICAgICBhdHRy
aWJ1dGUgYXR0cjE7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHIyOworIyAgICAgfTsKKyMKKyMg
RE9NV2luZG93LmlkbDoKKyMgICAgIGludGVyZmFjZSBbCisjICAgICBdIERPTVdpbmRvdyB7Cisj
ICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIxOyAvLyBUaGlzIGxpbmUgd2ls
bCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdXBwbGVt
ZW50YWxMLgorIyAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMjsgLy8gVGhp
cyBsaW5lIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRo
ZSBbU3VwcGxlbWVudGFsTC4KKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjM7CisjICAgICAgICAg
YXR0cmlidXRlIGF0dHI0OworIyAgICAgfTsKKyMKKyMgQXNzdW1pbmcgdGhlc2UgSURMIGZpbGVz
LCB0aGUgYmVsb3cgY29kZSBpcyBkb2luZyB0aGUgZm9sbG93aW5nIGxvZ2ljOgorIworIyAgICAg
LSBJZiBhIGdpdmVuIGJ1aWxkIHNjcmlwdCBzdXBwb3J0cyB0aGUgW1N1cHBsZW1lbnRhbF0gSURM
IChpLmUuIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgaXMgc3BlY2lmaWVkKSwKKyMgICAg
ICAgd2UgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElETC4K
KyMgICAgIC0gT3RoZXJ3aXNlIChpLmUuIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgaXMg
bm90IHNwZWNpZmllZCksCisjICAgICAgIHdlIHRyZWF0IGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhl
IFtTdXBwbGVtZW50ZWRdIElETCBhcyBub3JtYWwgYXR0cmlidXRlcworIyAgICAgICBhbmQgaW5z
dGVhZCBpZ25vcmUgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMCisj
ICAgICAgIChpLmUuIHdlIGdlbmVyYXRlIG5vdGhpbmcgZnJvbSB0aGUgaWRsIGZpbGUgd2l0aCB0
aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KK2lmICgkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUp
IHsKKyAgICBmb3JlYWNoIG15ICRkYXRhTm9kZSAoQHskdGFyZ2V0RG9jdW1lbnQtPmNsYXNzZXN9
KSB7CisgICAgICAgIG15IEBub25TdXBwbGVtZW50ZWRBdHRyaWJ1dGVzOworICAgICAgICBmb3Jl
YWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRhdGFOb2RlLT5hdHRyaWJ1dGVzfSkgeworICAgICAgICAg
ICAgaWYgKCEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJTdXBw
bGVtZW50ZWQifSkgeworICAgICAgICAgICAgICAgIHB1c2goQG5vblN1cHBsZW1lbnRlZEF0dHJp
YnV0ZXMsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgICRk
YXRhTm9kZS0+YXR0cmlidXRlcyhcQG5vblN1cHBsZW1lbnRlZEF0dHJpYnV0ZXMpOworICAgIH0K
K30gZWxzZSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5vZGUgKEB7JHRhcmdldERvY3VtZW50LT5j
bGFzc2VzfSkgeworICAgICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsi
U3VwcGxlbWVudGFsIn0pIHsKKyAgICAgICAgICAgIGV4aXQgMDsKKyAgICAgICAgfQorICAgIH0K
K30KKyMgVGVtcG9yYXJ5IGlmLWVsc2Ugc3RhdGVtZW50IHVudGlsIGhlcmUuCisKIGZvcmVhY2gg
bXkgJGlkbEZpbGUgKEBzdXBwbGVtZW50ZWRJZGxGaWxlcykgewogICAgIG5leHQgaWYgJGlkbEZp
bGUgZXEgJHRhcmdldElkbEZpbGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCAy
MDliZjQzNzM4YjhlZjI3ZDY0ZWM5YzM3NjQ1NGY1ZThhNzMzMTM5Li40MWQxNzFiMmQzNzVlN2Jj
ODk4OTEwNmNiN2YwMjM4MGYxYjdhZWJjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBA
IC01MjIsOCArNTIyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbSlND
Q3VzdG9tR2V0dGVyXSBGbG9hdDY0QXJyYXlDb25zdHJ1Y3RvciBGbG9hdDY0QXJyYXk7IC8vIFVz
YWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRl
cl0gRGF0YVZpZXdDb25zdHJ1Y3RvciBEYXRhVmlldzsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJh
dG9yCiAKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VC
X0FVRElPLEVuYWJsZWRBdFJ1bnRpbWVdIEF1ZGlvQ29udGV4dENvbnN0cnVjdG9yIHdlYmtpdEF1
ZGlvQ29udGV4dDsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0
ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bhbm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJr
aXRBdWRpb1Bhbm5lck5vZGU7IC8vIE5lZWRlZCBmb3IgcGFubmluZyBtb2RlbCBjb25zdGFudHMK
KyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIEpTQ0N1c3RvbUdldHRlciwgQ29uZGl0
aW9uYWw9V0VCX0FVRElPLCBFbmFibGVkQXRSdW50aW1lXSBBdWRpb0NvbnRleHRDb25zdHJ1Y3Rv
ciB3ZWJraXRBdWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAg
ICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bh
bm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7IC8vIE5lZWRlZCBmb3Ig
cGFubmluZyBtb2RlbCBjb25zdGFudHMKIAogICAgICAgICAvLyBFdmVudCBDb25zdHJ1Y3RvcnMK
ICAgICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0b3IgRXZlbnQ7CkBAIC01NTIsOCArNTUy
LDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9V
Q0hfRVZFTlRTXSBUb3VjaEV2ZW50Q29uc3RydWN0b3IgVG91Y2hFdmVudDsKICAgICAgICAgYXR0
cmlidXRlIFtDb25kaXRpb25hbD1XRUJfU09DS0VUU10gQ2xvc2VFdmVudENvbnN0cnVjdG9yIENs
b3NlRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTdG9yYWdlRXZlbnRDb25zdHJ1Y3RvciBTdG9y
YWdlRXZlbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRp
b1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OwotICAgICAg
ICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gT2ZmbGluZUF1ZGlvQ29tcGxldGlv
bkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50OworICAgICAgICBh
dHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Byb2Nl
c3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OworICAgICAgICBhdHRy
aWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBPZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ7CiAg
ICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9SU5QVVRfU1BFRUNIXSBTcGVlY2hJbnB1dEV2
ZW50Q29uc3RydWN0b3IgU3BlZWNoSW5wdXRFdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25k
aXRpb25hbD1NRURJQV9TVFJFQU1dIE1lZGlhU3RyZWFtRXZlbnRDb25zdHJ1Y3RvciBNZWRpYVN0
cmVhbUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMXSBXZWJHTENv
bnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4dEV2ZW50OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsIGIvU291cmNlL1dlYkNv
cmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMTA4ZWZiN2Iw
MzNlZmZiMWVlZWQ3YWM0MDUxYjE3MjBmN2ZhOTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJp
YnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5z
ZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwK
KyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdh
cnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29w
eSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLwor
Cittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFs
PVdFQl9BVURJTywKKyAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgIF0gRE9NV2lu
ZG93V2ViQXVkaW8geworICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlciwgRW5hYmxl
ZEF0UnVudGltZV0gQXVkaW9Db250ZXh0Q29uc3RydWN0b3Igd2Via2l0QXVkaW9Db250ZXh0Owor
ICAgICAgICBhdHRyaWJ1dGUgQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0b3Igd2Via2l0QXVkaW9Q
YW5uZXJOb2RlOworICAgICAgICBhdHRyaWJ1dGUgQXVkaW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1
Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVudDsKKyAgICAgICAgYXR0cmlidXRlIE9mZmxpbmVBdWRp
b0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudDsK
KyAgICB9OworCit9ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118484</attachid>
            <date>2011-12-08 16:11:05 -0800</date>
            <delta_ts>2011-12-12 16:17:37 -0800</delta_ts>
            <desc>patch for commit</desc>
            <filename>bug-73394-20111209091104.patch</filename>
            <type>text/plain</type>
            <size>19559</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyMzMyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggM2ZkYTQzZWNlYWUyNmUx
NjExZDQwZmVmNTEwNWUwYmU5ZmEyNWIyMC4uMjExOWNmMWRmODdmYTE4ZmIwYmVhZmFiZTY3YzVi
Y2EzYTc4YTk0OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDExLTEyLTA3ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBmb3Igd2ViYXVkaW8gYXR0cmlidXRlcyBpbiBDaHJvbWl1bQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIC0gT3ZlcnZpZXc6IFVzaW5nIHRo
ZSBbU3VwcGxlbWVudGFsXSBJREwsIHRoaXMgcGF0Y2ggbW92ZXMgdGhlIGF0dHJpYnV0ZQorICAg
ICAgICBkZWNsYXJhdGlvbnMgb2Ygd2ViYXVkaW8gZnJvbSBET01XaW5kb3cuaWRsIGludG8gYSBu
ZXcgSURMIGZpbGUKKyAgICAgICAgd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsLCB3aGlj
aCBoZWxwcyBtYWtlIHdlYmF1ZGlvIGEgc2VsZi1jb250YWluZWQKKyAgICAgICAgZmVhdHVyZSAo
YWthIGEgbW9kdWxlKS4KKworICAgICAgICAtIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgYnVpbGQg
ZmxvdyBvZiBXZWJDb3JlLmd5cCBhcyBmb2xsb3dzOgorCisgICAgICAgICAgICBQcmV2aW91cyBi
dWlsZCBmbG93OgorICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxsIElETCBmaWxlcykg
eworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBkZXBlbmRzIG9uICRp
ZGw7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7
CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyAuaCBh
bmQgLmNwcCBmaWxlcyBmb3IgJGlkbDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IE5ldyBidWlsZCBmbG93IChTZWUgdGhlIGRpc2N1c3Npb25zIGluIGJ1ZyA3MjEzOCBmb3IgbW9y
ZSBkZXRhaWxzKToKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBkZXBl
bmRzIG9uIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50
YWwucGwgcmVhZHMgYWxsIElETCBmaWxlczsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCByZXNvbHZlcyB0aGUgZGVwZW5kZW5jeSBvZiBbU3VwcGxlbWVudGFsPVhYWFhd
OworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVudGFsLnBsIG91dHB1dHMgc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wOworICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxs
IElETCBmaWxlcykgeworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBk
ZXBlbmRzIG9uICRpZGwgYW5kIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgJGlkbDsKKyAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgc3VwcGxlbWVudGFsX2RlcGVuZGVu
Y3kudG1wOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0
ZXMgLmggYW5kIC5jcHAgZmlsZXMgZm9yICRpZGwsIGluY2x1ZGluZyBhbGwgYXR0cmlidXRlcyBp
biBJREwgZmlsZXMgd2hpbGVtZW50aW5nICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgIC0gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRl
ZF0uIFRoZSBbU3VwcGxlbWVudGVkXSBJREwKKyAgICAgICAgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGJ1aWxkIHNjcmlwdHMgZm9yIGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMLgorICAgICAgICBUaGUgbW90aXZhdGlvbiBmb3IgdGhlIFtTdXBwbGVtZW50ZWRdIElE
TCBpcyBhcyBmb2xsb3dzOgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIFtTdXBw
bGVtZW50YWxdIElETCwgd2UgbmVlZCB0bworICAgICAgICAoMSkgcnVuIHJlc29sdmUtc3VwcGxl
bWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAKKyAgICAg
ICAgKDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0aCB0aGUgc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3kudG1wLgorCisgICAgICAgIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJlcyBhIGNo
YW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisgICAgICAgIGJ1dCBjaGFuZ2lu
ZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lv
biBpcyB0b28gZGlmZmljdWx0OgorCisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLm1ha2UK
KyAgICAgICAgICAgIC0gRGVyaXZlZFNvdXJjZXMucHJpCisgICAgICAgICAgICAtIEdOVW1ha2Vm
aWxlLmFtCisgICAgICAgICAgICAtIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorICAgICAgICAg
ICAgLSBVc2VKU0MuY21ha2UKKyAgICAgICAgICAgIC0gVXNlVjguY21ha2UKKyAgICAgICAgICAg
IC0gV2ViQ29yZS52Y3Byb2ovTWlncmF0ZVNjcmlwdHMKKyAgICAgICAgICAgIC0gV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKyAgICAgICAgICAgIC0gYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQorICAgICAgICAgICAgLSBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorCisgICAg
ICAgIFRodXMsIHdlIGFyZSBwbGFubmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25l
IGJ5IG9uZSwgd2hpY2ggaW1wbGllcyB0aGF0CisgICAgICAgIHdlIG5lZWQgdG8gYWxsb3cgdGhl
IHRlbXBvcmFyeSBzdGF0ZSBpbiB3aGljaCBzb21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3Vw
cGxlbWVudGFsXSBJREwKKyAgICAgICAgYnV0IG90aGVycyBkbyBub3QuIFRvIGFjY29tcGxpc2gg
dGhpcywgd2UgaW50cm9kdWNlIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRlZF0uCisgICAg
ICAgIFRoZSBbU3VwcGxlbWVudGVkXSBJREwgb24gYW4gYXR0cmlidXRlIG1lYW5zIHRoYXQgdGhl
IGF0dHJpYnV0ZSBpcyBtYXJrZWQgd2l0aCBbU3VwcGxlbWVudGFsXQorICAgICAgICBpbiBhbm90
aGVyIElETCBmaWxlIHNvbWV3aGVyZSwgbGlrZSB0aGlzOgorCisgICAgICAgICAgICBET01XaW5k
b3dXZWJBdWRpby5pZGw6CisgICAgICAgICAgICAgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgICAg
ICAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgICAgICAgICAgICAgIF0gRE9NV2lu
ZG93V2ViQXVkaW8geworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMjsKKyAgICAgICAgICAgICAgICB9OworCisg
ICAgICAgICAgICBET01XaW5kb3cuaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisg
ICAgICAgICAgICAgICAgXSBET01XaW5kb3cgeworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjE7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0
ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETAorICAgICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjI7IC8vIFRoaXMgbGluZSB3aWxsIGJl
IHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETC4KKyAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIzOworICAgICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgYXR0cjQ7CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICBBc3N1bWluZyB0
aGVzZSBJREwgZmlsZXMsIHRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIGxvZ2lj
IGluIGdlbmVyYXRlLWJpbmRpbmdzLnBsOgorCisgICAgICAgICAgICAtIElmIGEgZ2l2ZW4gYnVp
bGQgc2NyaXB0IHN1cHBvcnRzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwsCisgICAgICAgICAgICBn
ZW5lcmF0ZS1iaW5kaW5ncy5wbCBpZ25vcmVzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50ZWRdIElETC4KKyAgICAgICAgICAgIC0gT3RoZXJ3aXNlLCBnZW5lcmF0ZS1iaW5kaW5n
cy5wbCB0cmVhdHMgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMCisg
ICAgICAgICAgICBhcyBub3JtYWwgYXR0cmlidXRlcyBhbmQgaW5zdGVhZCBpZ25vcmVzIGFsbCBh
dHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETAorICAgICAgICAgICAgKGkuZS4g
Z2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJhdGVzIG5vdGhpbmcgZnJvbSB0aGUgSURMIGZpbGUg
d2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KKworICAgICAgICBUZXN0czogd2ViYXVkaW8v
KgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERlc2NyaWJlcyB0aGUgYnVp
bGQgZmxvdyB0aGF0IEkgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAqIFdlYkNvcmUuZ3lwL3Nj
cmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHk6CisgICAgICAgIChtYWluKTog
UmVhZHMgdGhlIElETCBmaWxlIG5hbWVzIGZyb20gdGhlIGlucHV0IGZpbGUgKGkuZS4gc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wKSwgd2hpY2ggYXJlIGRlc2NyaWJlZCBhdCB0aGUgZmlyc3Qg
Y29sdW1uIG9mIGVhY2ggbGluZSBpbiB0aGUgaW5wdXQgZmlsZS4gSWYgdGhlIGZpbGUgbmFtZSBp
cyBhICIvY3lnZHJpdmUvYy8uLi4iLXN0eWxlIHBhdGgsIGl0IGlzIGNvbnZlcnRlZCB0byBhICJD
OlxjeWd3aW5cLi4uIi1zdHlsZSBwYXRoIGJ5IHRoZSBjeWdwYXRoIGNvbW1hbmQuCisgICAgICAg
ICogV2ViQ29yZS5neXBpOiBBZGRlZCBET01XaW5kb3dXZWJBdWRpby5pZGwuCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbDogQXMgYSB0ZW1wb3Jhcnkgc29s
dXRpb24sIGlmIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFs
XSBJREwsIHRoZSBwZXJsIHNjcmlwdCBpZ25vcmVzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwgYW5k
IGluc3RlYWQgdXNlcyB0aGUgW1N1cHBsZW1lbnRlZF0gSURMLiBPdGhlcndpc2UsIHRoZSBwZXJs
IHNjcmlwdCBpZ25vcmVzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgYW5kIGluc3RlYWQgdXNlcyB0
aGUgW1N1cHBsZW1lbnRhbF0gSURMLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogQWRk
ZWQgdGhlIFtTdXBwbGVtZW50ZWRdIElETCB0byB3ZWJhdWRpby1yZWxhdGVkIGF0dHJpYnV0ZXMu
IEFzIEkgZGVzY3JpYmVkIGFib3ZlLCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIHdpbGwgYmUgcmVt
b3ZlZCBhZnRlciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETC4K
KyAgICAgICAgKiB3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGw6IEFkZGVkLiBEZXNjcmli
ZXMgdGhlIFtTdXBwbGVtZW50YWw9RE9NV2luZG93XSBJREwuIFRoZSBhdHRyaWJ1dGVzIGluIHRo
aXMgSURMIGZpbGUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgaWYgdGhleSBhcmUgd3JpdHRlbiBpbiBE
T01XaW5kb3cuaWRsLgorCiAyMDExLTEyLTA4ICBTaGVyaWZmIEJvdCAgPHdlYmtpdC5yZXZpZXcu
Ym90QGdtYWlsLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkLCByb2xsaW5nIG91dCByMTAyMzIx
LgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAppbmRleCA5Nzg1MGUyYmY0ZmM5
ZDU0MTY5MjY5ZWZkZjRkMTg3NDQxZGRjODhmLi44ZTY0Y2ZlYWZjNjRlZjAyMTY1MTRlODkyNjM3
ZWVjODI1ZmZiMzZkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJDb3JlLmd5cApAQCAt
NDQ2LDkgKzQ0Niw0OCBAQAogICAgICAgXQogICAgIH0sCiAgICAgeworICAgICAgJ3RhcmdldF9u
YW1lJzogJ2dlbmVyYXRlX3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5JywKKyAgICAgICd0eXBlJzog
J25vbmUnLAorICAgICAgJ2FjdGlvbnMnOiBbCisgICAgICAgICB7CisgICAgICAgICAgJ2FjdGlv
bl9uYW1lJzogJ2dlbmVyYXRlU3VwcGxlbWVudGFsRGVwZW5kZW5jeScsCisgICAgICAgICAgJ3Zh
cmlhYmxlcyc6IHsKKyAgICAgICAgICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmlsZSwgc28g
dGhhdCB0aGUgYWN0aW9uIGNvbW1hbmQgbGluZSB3b24ndAorICAgICAgICAgICAgIyBleGNlZWQg
T1MgbGltaXRzLgorICAgICAgICAgICAgJ2lkbF9maWxlc19saXN0JzogJzx8KGlkbF9maWxlc19s
aXN0LnRtcCA8QChiaW5kaW5nc19pZGxfZmlsZXMpKScsCisgICAgICAgICAgfSwKKyAgICAgICAg
ICAnaW5wdXRzJzogWworICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvcmVzb2x2ZS1z
dXBwbGVtZW50YWwucGwnLAorICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFy
c2VyLnBtJywKKyAgICAgICAgICAgICc8KGlkbF9maWxlc19saXN0KScsCisgICAgICAgICAgICAn
PCFAKGNhdCA8KGlkbF9maWxlc19saXN0KSknLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ291
dHB1dHMnOiBbCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdhY3Rpb24n
OiBbCisgICAgICAgICAgICAncGVybCcsCisgICAgICAgICAgICAnLXcnLAorICAgICAgICAgICAg
Jy1JLi4vYmluZGluZ3Mvc2NyaXB0cycsCisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0
cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCcsCisgICAgICAgICAgICAnLS1kZWZpbmVzJywKKyAg
ICAgICAgICAgICc8KGZlYXR1cmVfZGVmaW5lcykgTEFOR1VBR0VfSkFWQVNDUklQVCBWOF9CSU5E
SU5HJywKKyAgICAgICAgICAgICctLWlkbEZpbGVzTGlzdCcsCisgICAgICAgICAgICAnPChpZGxf
ZmlsZXNfbGlzdCknLAorICAgICAgICAgICAgJy0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUn
LAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9k
ZXBlbmRlbmN5LnRtcCcsCisgICAgICAgICAgXSwKKyAgICAgICAgICAnbWVzc2FnZSc6ICdSZXNv
bHZpbmcgW1N1cHBsZW1lbnRhbD1YWFhdIGRlcGVuZGVuY2llcyBpbiBhbGwgSURMIGZpbGVzJywK
KyAgICAgICAgfQorICAgICAgXQorICAgIH0sCisgICAgewogICAgICAgJ3RhcmdldF9uYW1lJzog
J3dlYmNvcmVfYmluZGluZ3Nfc291cmNlcycsCiAgICAgICAndHlwZSc6ICdub25lJywKICAgICAg
ICdoYXJkX2RlcGVuZGVuY3knOiAxLAorICAgICAgJ2RlcGVuZGVuY2llcyc6IFsKKyAgICAgICAg
J2dlbmVyYXRlX3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5JywKKyAgICAgIF0sCiAgICAgICAnc291
cmNlcyc6IFsKICAgICAgICAgIyBiaXNvbiBydWxlCiAgICAgICAgICcuLi9jc3MvQ1NTR3JhbW1h
ci55JywKQEAgLTg2MSwxNSArOTAwLDkgQEAKICAgICAgICAgfSwKICAgICAgICAgewogICAgICAg
ICAgICdhY3Rpb25fbmFtZSc6ICdkZXJpdmVkX3NvdXJjZXNfYWxsX2luX29uZScsCi0gICAgICAg
ICAgJ3ZhcmlhYmxlcyc6IHsKLSAgICAgICAgICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmls
ZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1hbmQgbGluZSB3b24ndAotICAgICAgICAgICAgIyBl
eGNlZWQgT1MgbGltaXRlcy4KLSAgICAgICAgICAgICdpZGxzX2xpc3RfdGVtcF9maWxlJzogJzx8
KGlkbHNfbGlzdF90ZW1wX2ZpbGUudG1wIDxAKGJpbmRpbmdzX2lkbF9maWxlcykpJywKLSAgICAg
ICAgICB9LAogICAgICAgICAgICdpbnB1dHMnOiBbCiAgICAgICAgICAgICAnc2NyaXB0cy9hY3Rp
b25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weScsCi0gICAgICAgICAgICAnPChpZGxzX2xpc3Rf
dGVtcF9maWxlKScsCi0gICAgICAgICAgICAnPCFAKGNhdCA8KGlkbHNfbGlzdF90ZW1wX2ZpbGUp
KScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3kudG1wJywKICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWwog
ICAgICAgICAgICAgJzxAKGRlcml2ZWRfc291cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKQEAgLTg3
Nyw3ICs5MTAsNyBAQAogICAgICAgICAgICdhY3Rpb24nOiBbCiAgICAgICAgICAgICAncHl0aG9u
JywKICAgICAgICAgICAgICdzY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5
JywKLSAgICAgICAgICAgICc8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpJywKKyAgICAgICAgICAgICc8
KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAog
ICAgICAgICAgICAgJy0tJywKICAgICAgICAgICAgICc8QChkZXJpdmVkX3NvdXJjZXNfYWdncmVn
YXRlX2ZpbGVzKScsCiAgICAgICAgICAgXSwKQEAgLTkzMCw2ICs5NjMsNyBAQAogICAgICAgICAg
ICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURMUGFyc2VyLnBtJywKICAgICAgICAgICAgICcuLi9i
aW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVyZS5wbScsCiAgICAgICAgICAgICAnLi4vYmluZGlu
Z3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0nLAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVS
TUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCiAgICAgICAgICAgXSwK
ICAgICAgICAgICAnb3V0cHV0cyc6IFsKICAgICAgICAgICAgICMgRklYTUU6ICBUaGUgLmNwcCBm
aWxlIHNob3VsZCBiZSBpbiB3ZWJraXQvYmluZGluZ3Mgb25jZQpAQCAtOTc1LDYgKzEwMDksOCBA
QAogICAgICAgICAgICAgJy0tZ2VuZXJhdG9yJywKICAgICAgICAgICAgICdWOCcsCiAgICAgICAg
ICAgICAnPEAoZ2VuZXJhdG9yX2luY2x1ZGVfZGlycyknLAorICAgICAgICAgICAgJy0tc3VwcGxl
bWVudGFsRGVwZW5kZW5jeUZpbGUnLAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFU
RV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCiAgICAgICAgICAgICAnPChSVUxF
X0lOUFVUX1BBVEgpJywKICAgICAgICAgICBdLAogICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVy
YXRpbmcgYmluZGluZyBmcm9tIDwoUlVMRV9JTlBVVF9QQVRIKScsCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlu
b25lLnB5IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZl
ZHNvdXJjZXNhbGxpbm9uZS5weQppbmRleCA1ODYwNzFiZmMwODAxZDRjNjRiNjhiNzg3MzEyZjIy
YzVjMjhmM2FhLi4zYjA3YzQzNTU1OGVkOWQ2M2Y2ZWJlYjQzMTZmOTQwZWVmYjAzMWFlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVk
c291cmNlc2FsbGlub25lLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3Njcmlw
dHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkKQEAgLTMyLDEyICszMiwxMiBAQAog
IyBVc2Ugb2YgdGhpcyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNl
bnNlIHRoYXQgY2FuIGJlCiAjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKLSMgYWN0aW9u
X2Rlcml2ZWRzb3VyY2VzbGlzdC5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZpbGUgdGhhdCBp
bmNsdWRlcworIyBhY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weSBnZW5lcmF0ZXMgYSBz
aW5nbGUgY3BwIGZpbGUgdGhhdCBpbmNsdWRlcwogIyBhbGwgdjggYmluZGluZ3MgY3BwIGZpbGVz
IGdlbmVyYXRlZCBmcm9tIGlkbHMuIEZpbGVzIGNhbiBiZSBhc3NpZ25lZCBpbnRvCiAjIG11bHRp
cGxlIG91dHB1dCBmaWxlcywgdG8gcmVkdWNlIG1heGltdW0gY29tcGlsYXRpb24gdW5pdCBzaXpl
IGFuZCBhbGxvdwogIyBwYXJhbGxlbCBjb21waWxhdGlvbi4KICMKLSMgdXNhZ2U6IGFjdGlvbl9k
ZXJpdmVkc291cmNlc2xpc3QucHkgSURMX0ZJTEVTX0xJU1QgLS0gT1VUUFVUX0ZJTEUxIE9VVFBV
VF9GSUxFMiAuLi4KKyMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IElE
TF9GSUxFU19MSVNUIC0tIE9VVFBVVF9GSUxFMSBPVVRQVVRfRklMRTIgLi4uCiAjCiAjIE5vdGUg
dGhhdCBJRExfRklMRVNfTElTVCBpcyBhIHRleHQgZmlsZSBjb250YWluaW5nIHRoZSBJREwgZmls
ZSBwYXRocy4KIApAQCAtNDgsNiArNDgsOSBAQCBpbXBvcnQgcmUKIGltcG9ydCBzdWJwcm9jZXNz
CiBpbXBvcnQgc3lzCiAKK3N5cy5wYXRoLmFwcGVuZCgiLi4vLi4vLi4vVG9vbHMvU2NyaXB0cy8i
KQorZnJvbSB3ZWJraXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBwYXRoCisKICMgQSByZWdleHAg
Zm9yIGZpbmRpbmcgQ29uZGl0aW9uYWwgYXR0cmlidXRlcyBpbiBpbnRlcmZhY2UgZGVmaW5pdGlv
bnMuCiBjb25kaXRpb25hbFBhdHRlcm4gPSByZS5jb21waWxlKCdpbnRlcmZhY2VbXHNdKlxbW15c
XV0qQ29uZGl0aW9uYWw9KFtcXzAtOWEtekEtWiZ8XSopJykKIApAQCAtMTg2LDcgKzE4OSwxMiBA
QCBkZWYgbWFpbihhcmdzKToKICAgICBvdXRwdXRGaWxlTmFtZXMgPSBhcmdzW2luT3V0QnJlYWtJ
bmRleCsxOl0KIAogICAgIGlucHV0RmlsZSA9IG9wZW4oaW5wdXRGaWxlTmFtZSwgJ3InKQotICAg
IGlkbEZpbGVOYW1lcyA9IGlucHV0RmlsZS5yZWFkKCkuc3BsaXQoJ1xuJykKKyAgICBpZGxGaWxl
TmFtZXMgPSBbXQorICAgIGZvciBsaW5lIGluIGlucHV0RmlsZToKKyAgICAgICAgaWRsRmlsZU5h
bWUgPSBsaW5lWzotMV0uc3BsaXQoJyAnKVswXQorICAgICAgICBpZiBpZGxGaWxlTmFtZS5maW5k
KCIvY3lnZHJpdmUiKSA9PSAwOgorICAgICAgICAgICAgaWRsRmlsZU5hbWUgPSBwYXRoLmN5Z3Bh
dGgoaWRsRmlsZU5hbWUpCisgICAgICAgIGlkbEZpbGVOYW1lcy5hcHBlbmQoaWRsRmlsZU5hbWUp
CiAgICAgaW5wdXRGaWxlLmNsb3NlKCkKIAogICAgIGZpbGVzTWV0YURhdGEgPSBleHRyYWN0TWV0
YURhdGEoaWRsRmlsZU5hbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGY0MzJhNTVhM2U1YTIwZjlm
NTFkYWE1NjUxOGE1ZjJmZWQzMjI3NDMuLjQzYjc4NTg3MWZiMGEwZDY0N2M2Y2MxMjE3YWJkMzkw
NTE4MDBkYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE0OTIsNiArMTQ5Miw3IEBACiAgICAgICAg
ICAgICAnd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1
ZGlvL0NvbnZvbHZlck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9EZWxheU5vZGUu
aWRsJywKKyAgICAgICAgICAgICd3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwnLAogICAg
ICAgICAgICAgJ3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsJywKICAgICAgICAg
ICAgICd3ZWJhdWRpby9IaWdoUGFzczJGaWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2Vi
YXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5pZGwnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKaW5kZXggMTYzMDM0NTUyOWE0
Y2E5OTcxZTcwMmJmMThlYjc1ZjZmNzFhMThhNC4uYmFiYjVmMTc0ZmRlNDFmYzNiMDQwZWY0YWRl
MDk1NGQ1MzlkNWM5NCAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0
cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3Jp
cHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsCkBAIC0xMTIsNiArMTEyLDc5IEBAIGlmICgkc3VwcGxl
bWVudGFsRGVwZW5kZW5jeUZpbGUpIHsKIG15ICR0YXJnZXRQYXJzZXIgPSBJRExQYXJzZXItPm5l
dyghJHZlcmJvc2UpOwogbXkgJHRhcmdldERvY3VtZW50ID0gJHRhcmdldFBhcnNlci0+UGFyc2Uo
JHRhcmdldElkbEZpbGUsICRkZWZpbmVzLCAkcHJlcHJvY2Vzc29yKTsKIAorIyBGSVhNRShoYXJh
a2VuKTogUmVtb3ZlIHRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQuCisjIFRoaXMgaWYtZWxzZSBzdGF0
ZW1lbnQgaXMgdGVtcG9yYXJ5IGFuZCB3aWxsIGJlIHJlbW92ZWQKKyMgYWZ0ZXIgYnVpbGQgc2Ny
aXB0cyBmb3IgYWxsIHBsYXRmb3JtcyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElETC4KKyMgVGhl
IG1vdGl2YXRpb24gZm9yIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgaXMgYXMgZm9sbG93czoKKyMK
KyMgSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB3ZSBuZWVkIHRv
CisjICgxKSBydW4gcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgYW5kIGdlbmVyYXRlIHN1cHBsZW1l
bnRhbF9kZXBlbmRlbmN5LnRtcAorIyAoMikgYW5kIHJ1biBnZW5lcmF0ZS1iaW5kaW5ncy5wbCB3
aXRoIHRoZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAuCisjCisjIFRoaXMgYnVpbGQgZmxv
dyByZXF1aXJlcyBhIGNoYW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisjIGJ1
dCBjaGFuZ2luZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkg
cmVncmVzc2lvbiBpcyB0b28gZGlmZmljdWx0OgorIworIyAgICAgLSBEZXJpdmVkU291cmNlcy5t
YWtlCisjICAgICAtIERlcml2ZWRTb3VyY2VzLnByaQorIyAgICAgLSBHTlVtYWtlZmlsZS5hbQor
IyAgICAgLSBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyMgICAgIC0gVXNlSlNDLmNtYWtlCisj
ICAgICAtIFVzZVY4LmNtYWtlCisjICAgICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRz
CisjICAgICAtIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisjICAgICAtIGJpbmRpbmdz
L2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKyMgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAK
KyMKKyMgVGh1cywgd2UgYXJlIHBsYW5uaW5nIHRvIGNoYW5nZSB0aGUgYnVpbGQgc2NyaXB0cyBv
bmUgYnkgb25lLCB3aGljaCBpbXBsaWVzIHRoYXQKKyMgd2UgbmVlZCB0byBhbGxvdyB0aGUgdGVt
cG9yYXJ5IHN0YXRlIGluIHdoaWNoIHNvbWUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IFtTdXBwbGVt
ZW50YWxdIElETAorIyBidXQgb3RoZXJzIGRvIG5vdC4gVG8gYWNjb21wbGlzaCB0aGlzLCB3ZSBp
bnRyb2R1Y2UgYSB0ZW1wb3JhbCBJREwsIFtTdXBwbGVtZW50ZWRdLgorIyBUaGUgW1N1cHBsZW1l
bnRlZF0gSURMIG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0IHRoZSBhdHRyaWJ1dGUgaXMgbWFy
a2VkIHdpdGggW1N1cHBsZW1lbnRhbF0KKyMgaW4gYW5vdGhlciBJREwgZmlsZSBzb21ld2hlcmUs
IGxpa2UgdGhpczoKKyMKKyMgRE9NV2luZG93V2ViQXVkaW8uaWRsOgorIyAgICAgaW50ZXJmYWNl
IFsKKyMgICAgICAgICBTdXBwbGVtZW50YWw9RE9NV2luZG93CisjICAgICBdIERPTVdpbmRvd1dl
YkF1ZGlvIHsKKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisjICAgICAgICAgYXR0cmlidXRl
IGF0dHIyOworIyAgICAgfTsKKyMKKyMgRE9NV2luZG93LmlkbDoKKyMgICAgIGludGVyZmFjZSBb
CisjICAgICBdIERPTVdpbmRvdyB7CisjICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRd
IGF0dHIxOyAvLyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3Jp
cHRzIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxMLgorIyAgICAgICAgIGF0dHJpYnV0ZSBbU3Vw
cGxlbWVudGVkXSBhdHRyMjsgLy8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwg
YnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsTC4KKyMgICAgICAgICBhdHRy
aWJ1dGUgYXR0cjM7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHI0OworIyAgICAgfTsKKyMKKyMg
QXNzdW1pbmcgdGhlc2UgSURMIGZpbGVzLCB0aGUgYmVsb3cgY29kZSBpcyBkb2luZyB0aGUgZm9s
bG93aW5nIGxvZ2ljOgorIworIyAgICAgLSBJZiBhIGdpdmVuIGJ1aWxkIHNjcmlwdCBzdXBwb3J0
cyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMIChpLmUuIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZp
bGUgaXMgc3BlY2lmaWVkKSwKKyMgICAgICAgd2UgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGgg
dGhlIFtTdXBwbGVtZW50ZWRdIElETC4KKyMgICAgIC0gT3RoZXJ3aXNlIChpLmUuIC0tc3VwcGxl
bWVudGFsRGVwZW5kZW5jeUZpbGUgaXMgbm90IHNwZWNpZmllZCksCisjICAgICAgIHdlIHRyZWF0
IGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhcyBub3JtYWwgYXR0
cmlidXRlcworIyAgICAgICBhbmQgaW5zdGVhZCBpZ25vcmUgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0
aGUgW1N1cHBsZW1lbnRhbF0gSURMCisjICAgICAgIChpLmUuIHdlIGdlbmVyYXRlIG5vdGhpbmcg
ZnJvbSB0aGUgaWRsIGZpbGUgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KK2lmICgkc3Vw
cGxlbWVudGFsRGVwZW5kZW5jeUZpbGUpIHsKKyAgICBmb3JlYWNoIG15ICRkYXRhTm9kZSAoQHsk
dGFyZ2V0RG9jdW1lbnQtPmNsYXNzZXN9KSB7CisgICAgICAgIG15IEBub25TdXBwbGVtZW50ZWRB
dHRyaWJ1dGVzOworICAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRhdGFOb2RlLT5h
dHRyaWJ1dGVzfSkgeworICAgICAgICAgICAgaWYgKCEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJTdXBwbGVtZW50ZWQifSkgeworICAgICAgICAgICAgICAgIHB1
c2goQG5vblN1cHBsZW1lbnRlZEF0dHJpYnV0ZXMsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgICRkYXRhTm9kZS0+YXR0cmlidXRlcyhcQG5vblN1cHBsZW1l
bnRlZEF0dHJpYnV0ZXMpOworICAgIH0KK30gZWxzZSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5v
ZGUgKEB7JHRhcmdldERvY3VtZW50LT5jbGFzc2VzfSkgeworICAgICAgICBpZiAoJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3VwcGxlbWVudGFsIn0pIHsKKyAgICAgICAgICAgIGV4
aXQgMDsKKyAgICAgICAgfQorICAgIH0KK30KKyMgVGVtcG9yYXJ5IGlmLWVsc2Ugc3RhdGVtZW50
IHVudGlsIGhlcmUuCisKIGZvcmVhY2ggbXkgJGlkbEZpbGUgKEBzdXBwbGVtZW50ZWRJZGxGaWxl
cykgewogICAgIG5leHQgaWYgJGlkbEZpbGUgZXEgJHRhcmdldElkbEZpbGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAppbmRleCA0NzNiMzc4MGRlMjFlYzQ3NDBlNzA4ZmU1NWFmNmEwOTVm
NjM4YmY0Li41YzhkZTBlOGU4ZGZkYThhYzk3MDY0MWZmYmRmOGUyOWQ1NjNhYjA4IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC01MjIsOCArNTIyLDggQEAgbW9kdWxlIHdpbmRvdyB7
CiAgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyXSBGbG9hdDY0QXJyYXlDb25zdHJ1
Y3RvciBGbG9hdDY0QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBh
dHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gRGF0YVZpZXdDb25zdHJ1Y3RvciBEYXRhVmlldzsg
Ly8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCiAKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0
b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCX0FVRElPLEVuYWJsZWRBdFJ1bnRpbWVdIEF1ZGlvQ29u
dGV4dENvbnN0cnVjdG9yIHdlYmtpdEF1ZGlvQ29udGV4dDsgLy8gVXNhYmxlIHdpdGggbmV3IG9w
ZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bh
bm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7IC8vIE5lZWRlZCBmb3Ig
cGFubmluZyBtb2RlbCBjb25zdGFudHMKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQs
IEpTQ0N1c3RvbUdldHRlciwgQ29uZGl0aW9uYWw9V0VCX0FVRElPLCBFbmFibGVkQXRSdW50aW1l
XSBBdWRpb0NvbnRleHRDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3
aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0
aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bhbm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bh
bm5lck5vZGU7IC8vIE5lZWRlZCBmb3IgcGFubmluZyBtb2RlbCBjb25zdGFudHMKIAogICAgICAg
ICAvLyBFdmVudCBDb25zdHJ1Y3RvcnMKICAgICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0
b3IgRXZlbnQ7CkBAIC01NTIsOCArNTUyLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTXSBUb3VjaEV2ZW50Q29uc3RydWN0b3Ig
VG91Y2hFdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfU09DS0VUU10g
Q2xvc2VFdmVudENvbnN0cnVjdG9yIENsb3NlRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTdG9y
YWdlRXZlbnRDb25zdHJ1Y3RvciBTdG9yYWdlRXZlbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJ
T10gT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1ZGlvQ29t
cGxldGlvbkV2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9u
YWw9V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9
V0VCX0FVRElPXSBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5l
QXVkaW9Db21wbGV0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9SU5Q
VVRfU1BFRUNIXSBTcGVlY2hJbnB1dEV2ZW50Q29uc3RydWN0b3IgU3BlZWNoSW5wdXRFdmVudDsK
ICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIE1lZGlhU3RyZWFt
RXZlbnRDb25zdHJ1Y3RvciBNZWRpYVN0cmVhbUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPVdFQkdMXSBXZWJHTENvbnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4
dEV2ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2Vi
QXVkaW8uaWRsIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRkMTA4ZWZiN2IwMzNlZmZiMWVlZWQ3YWM0MDUxYjE3MjBmN2ZhOTQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRp
by5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFj
ZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKKyAgICAgICAgU3VwcGxlbWVudGFs
PURPTVdpbmRvdworICAgIF0gRE9NV2luZG93V2ViQXVkaW8geworICAgICAgICBhdHRyaWJ1dGUg
W0pTQ0N1c3RvbUdldHRlciwgRW5hYmxlZEF0UnVudGltZV0gQXVkaW9Db250ZXh0Q29uc3RydWN0
b3Igd2Via2l0QXVkaW9Db250ZXh0OworICAgICAgICBhdHRyaWJ1dGUgQXVkaW9QYW5uZXJOb2Rl
Q29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOworICAgICAgICBhdHRyaWJ1dGUgQXVk
aW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVudDsKKyAgICAg
ICAgYXR0cmlidXRlIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxp
bmVBdWRpb0NvbXBsZXRpb25FdmVudDsKKyAgICB9OworCit9ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118721</attachid>
            <date>2011-12-11 18:49:08 -0800</date>
            <delta_ts>2011-12-12 16:17:42 -0800</delta_ts>
            <desc>fixed Chromium/Win build failure</desc>
            <filename>bug-73394-20111212114906.patch</filename>
            <type>text/plain</type>
            <size>20049</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNTQzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDZiYTgwZmM1YzQ0MTM3
OTU3MTMxMDE1YWIzMDM5NzMzYTc2NGI3Yy4uNWI3MTZhZjk0ZTBlZTJlMTQ3NjI4YTlkZDM1ZDAz
ZmM1NzAyMTE2YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk5IEBACisyMDExLTEyLTA3ICBLZW50
YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KKworICAgICAgICBVc2UgdGhlIFtTdXBw
bGVtZW50YWxdIElETCBmb3Igd2ViYXVkaW8gYXR0cmlidXRlcyBpbiBDaHJvbWl1bQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9NzMzOTQKKworICAgICAg
ICBSZXZpZXdlZCBieSBBZGFtIEJhcnRoLgorCisgICAgICAgIC0gT3ZlcnZpZXc6IFVzaW5nIHRo
ZSBbU3VwcGxlbWVudGFsXSBJREwsIHRoaXMgcGF0Y2ggbW92ZXMgdGhlIGF0dHJpYnV0ZQorICAg
ICAgICBkZWNsYXJhdGlvbnMgb2Ygd2ViYXVkaW8gZnJvbSBET01XaW5kb3cuaWRsIGludG8gYSBu
ZXcgSURMIGZpbGUKKyAgICAgICAgd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsLCB3aGlj
aCBoZWxwcyBtYWtlIHdlYmF1ZGlvIGEgc2VsZi1jb250YWluZWQKKyAgICAgICAgZmVhdHVyZSAo
YWthIGEgbW9kdWxlKS4KKworICAgICAgICAtIFRoaXMgcGF0Y2ggY2hhbmdlcyB0aGUgYnVpbGQg
ZmxvdyBvZiBXZWJDb3JlLmd5cCBhcyBmb2xsb3dzOgorCisgICAgICAgICAgICBQcmV2aW91cyBi
dWlsZCBmbG93OgorICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxsIElETCBmaWxlcykg
eworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBkZXBlbmRzIG9uICRp
ZGw7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7
CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyAuaCBh
bmQgLmNwcCBmaWxlcyBmb3IgJGlkbDsKKyAgICAgICAgICAgICAgICB9CisKKyAgICAgICAgICAg
IE5ldyBidWlsZCBmbG93IChTZWUgdGhlIGRpc2N1c3Npb25zIGluIGJ1ZyA3MjEzOCBmb3IgbW9y
ZSBkZXRhaWxzKToKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBkZXBl
bmRzIG9uIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50
YWwucGwgcmVhZHMgYWxsIElETCBmaWxlczsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCByZXNvbHZlcyB0aGUgZGVwZW5kZW5jeSBvZiBbU3VwcGxlbWVudGFsPVhYWFhd
OworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVudGFsLnBsIG91dHB1dHMgc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wOworICAgICAgICAgICAgICAgIGZvcmVhY2ggJGlkbCAoYWxs
IElETCBmaWxlcykgeworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBk
ZXBlbmRzIG9uICRpZGwgYW5kIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAg
ICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgJGlkbDsKKyAgICAgICAgICAg
ICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMgc3VwcGxlbWVudGFsX2RlcGVuZGVu
Y3kudG1wOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0
ZXMgLmggYW5kIC5jcHAgZmlsZXMgZm9yICRpZGwsIGluY2x1ZGluZyBhbGwgYXR0cmlidXRlcyBp
biBJREwgZmlsZXMgd2hpbGVtZW50aW5nICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAg
ICAgIC0gVGhpcyBwYXRjaCBpbnRyb2R1Y2VzIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRl
ZF0uIFRoZSBbU3VwcGxlbWVudGVkXSBJREwKKyAgICAgICAgd2lsbCBiZSByZW1vdmVkIGFmdGVy
IGJ1aWxkIHNjcmlwdHMgZm9yIGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMLgorICAgICAgICBUaGUgbW90aXZhdGlvbiBmb3IgdGhlIFtTdXBwbGVtZW50ZWRdIElE
TCBpcyBhcyBmb2xsb3dzOgorCisgICAgICAgIEluIG9yZGVyIHRvIHN1cHBvcnQgdGhlIFtTdXBw
bGVtZW50YWxdIElETCwgd2UgbmVlZCB0bworICAgICAgICAoMSkgcnVuIHJlc29sdmUtc3VwcGxl
bWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAKKyAgICAg
ICAgKDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0aCB0aGUgc3VwcGxlbWVudGFs
X2RlcGVuZGVuY3kudG1wLgorCisgICAgICAgIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJlcyBhIGNo
YW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisgICAgICAgIGJ1dCBjaGFuZ2lu
ZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lv
biBpcyB0b28gZGlmZmljdWx0OgorCisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLm1ha2UK
KyAgICAgICAgICAgIC0gRGVyaXZlZFNvdXJjZXMucHJpCisgICAgICAgICAgICAtIEdOVW1ha2Vm
aWxlLmFtCisgICAgICAgICAgICAtIFBsYXRmb3JtQmxhY2tCZXJyeS5jbWFrZQorICAgICAgICAg
ICAgLSBVc2VKU0MuY21ha2UKKyAgICAgICAgICAgIC0gVXNlVjguY21ha2UKKyAgICAgICAgICAg
IC0gV2ViQ29yZS52Y3Byb2ovTWlncmF0ZVNjcmlwdHMKKyAgICAgICAgICAgIC0gV2ViQ29yZS52
Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKyAgICAgICAgICAgIC0gYmluZGluZ3MvZ29iamVjdC9HTlVt
YWtlZmlsZS5hbQorICAgICAgICAgICAgLSBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cAorCisgICAg
ICAgIFRodXMsIHdlIGFyZSBwbGFubmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25l
IGJ5IG9uZSwgd2hpY2ggaW1wbGllcyB0aGF0CisgICAgICAgIHdlIG5lZWQgdG8gYWxsb3cgdGhl
IHRlbXBvcmFyeSBzdGF0ZSBpbiB3aGljaCBzb21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3Vw
cGxlbWVudGFsXSBJREwKKyAgICAgICAgYnV0IG90aGVycyBkbyBub3QuIFRvIGFjY29tcGxpc2gg
dGhpcywgd2UgaW50cm9kdWNlIGEgdGVtcG9yYXJ5IElETCwgW1N1cHBsZW1lbnRlZF0uCisgICAg
ICAgIFRoZSBbU3VwcGxlbWVudGVkXSBJREwgb24gYW4gYXR0cmlidXRlIG1lYW5zIHRoYXQgdGhl
IGF0dHJpYnV0ZSBpcyBtYXJrZWQgd2l0aCBbU3VwcGxlbWVudGFsXQorICAgICAgICBpbiBhbm90
aGVyIElETCBmaWxlIHNvbWV3aGVyZSwgbGlrZSB0aGlzOgorCisgICAgICAgICAgICBET01XaW5k
b3dXZWJBdWRpby5pZGw6CisgICAgICAgICAgICAgICAgaW50ZXJmYWNlIFsKKyAgICAgICAgICAg
ICAgICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgICAgICAgICAgICAgIF0gRE9NV2lu
ZG93V2ViQXVkaW8geworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisgICAg
ICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMjsKKyAgICAgICAgICAgICAgICB9OworCisg
ICAgICAgICAgICBET01XaW5kb3cuaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisg
ICAgICAgICAgICAgICAgXSBET01XaW5kb3cgeworICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1
dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjE7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0
ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETAorICAgICAgICAgICAgICAg
ICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjI7IC8vIFRoaXMgbGluZSB3aWxsIGJl
IHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0aGUgW1N1IElETC4KKyAg
ICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIzOworICAgICAgICAgICAgICAgICAgICBh
dHRyaWJ1dGUgYXR0cjQ7CisgICAgICAgICAgICAgICAgfTsKKworICAgICAgICBBc3N1bWluZyB0
aGVzZSBJREwgZmlsZXMsIHRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUgZm9sbG93aW5nIGxvZ2lj
IGluIGdlbmVyYXRlLWJpbmRpbmdzLnBsOgorCisgICAgICAgICAgICAtIElmIGEgZ2l2ZW4gYnVp
bGQgc2NyaXB0IHN1cHBvcnRzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwsCisgICAgICAgICAgICBn
ZW5lcmF0ZS1iaW5kaW5ncy5wbCBpZ25vcmVzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50ZWRdIElETC4KKyAgICAgICAgICAgIC0gT3RoZXJ3aXNlLCBnZW5lcmF0ZS1iaW5kaW5n
cy5wbCB0cmVhdHMgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMCisg
ICAgICAgICAgICBhcyBub3JtYWwgYXR0cmlidXRlcyBhbmQgaW5zdGVhZCBpZ25vcmVzIGFsbCBh
dHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETAorICAgICAgICAgICAgKGkuZS4g
Z2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJhdGVzIG5vdGhpbmcgZnJvbSB0aGUgSURMIGZpbGUg
d2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KKworICAgICAgICBUZXN0czogd2ViYXVkaW8v
KgorCisgICAgICAgICogV2ViQ29yZS5neXAvV2ViQ29yZS5neXA6IERlc2NyaWJlcyB0aGUgYnVp
bGQgZmxvdyB0aGF0IEkgZGVzY3JpYmVkIGFib3ZlLgorICAgICAgICAqIFdlYkNvcmUuZ3lwL3Nj
cmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHk6CisgICAgICAgIChtYWluKTog
UmVhZHMgdGhlIElETCBmaWxlIG5hbWVzIGZyb20gdGhlIGlucHV0IGZpbGUgKGkuZS4gc3VwcGxl
bWVudGFsX2RlcGVuZGVuY3kudG1wKSwgd2hpY2ggYXJlIGRlc2NyaWJlZCBhdCB0aGUgZmlyc3Qg
Y29sdW1uIG9mIGVhY2ggbGluZSBpbiB0aGUgaW5wdXQgZmlsZS4gSWYgdGhlIGZpbGUgbmFtZSBp
cyBhICIvY3lnZHJpdmUvYy8uLi4iLXN0eWxlIHBhdGgsIGl0IGlzIGNvbnZlcnRlZCB0byBhICJD
OlxjeWd3aW5cLi4uIi1zdHlsZSBwYXRoIGJ5IHRoZSBjeWdwYXRoIGNvbW1hbmQuCisgICAgICAg
ICogV2ViQ29yZS5neXBpOiBBZGRlZCBET01XaW5kb3dXZWJBdWRpby5pZGwuCisgICAgICAgICog
YmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbDogQXMgYSB0ZW1wb3Jhcnkgc29s
dXRpb24sIGlmIHRoZSBwbGF0Zm9ybSBkb2VzIG5vdCBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFs
XSBJREwsIHRoZSBwZXJsIHNjcmlwdCBpZ25vcmVzIHRoZSBbU3VwcGxlbWVudGFsXSBJREwgYW5k
IGluc3RlYWQgdXNlcyB0aGUgW1N1cHBsZW1lbnRlZF0gSURMLiBPdGhlcndpc2UsIHRoZSBwZXJs
IHNjcmlwdCBpZ25vcmVzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgYW5kIGluc3RlYWQgdXNlcyB0
aGUgW1N1cHBsZW1lbnRhbF0gSURMLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93LmlkbDogQWRk
ZWQgdGhlIFtTdXBwbGVtZW50ZWRdIElETCB0byB3ZWJhdWRpby1yZWxhdGVkIGF0dHJpYnV0ZXMu
IEFzIEkgZGVzY3JpYmVkIGFib3ZlLCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIHdpbGwgYmUgcmVt
b3ZlZCBhZnRlciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETC4K
KyAgICAgICAgKiB3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGw6IEFkZGVkLiBEZXNjcmli
ZXMgdGhlIFtTdXBwbGVtZW50YWw9RE9NV2luZG93XSBJREwuIFRoZSBhdHRyaWJ1dGVzIGluIHRo
aXMgSURMIGZpbGUgc2hvdWxkIGJlIHRyZWF0ZWQgYXMgaWYgdGhleSBhcmUgd3JpdHRlbiBpbiBE
T01XaW5kb3cuaWRsLgorCiAyMDExLTEyLTExICBBbmRyZWFzIEtsaW5nICA8a2xpbmdAd2Via2l0
Lm9yZz4KIAogICAgICAgICBNb3ZlIENTU0VsZW1lbnRTdHlsZURlY2xhcmF0aW9uIHRvIGl0cyBv
d24gY3BwL2ggZmlsZXMuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9X
ZWJDb3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4
IDk3ODUwZTJiZjRmYzlkNTQxNjkyNjllZmRmNGQxODc0NDFkZGM4OGYuLjhlNjRjZmVhZmM2NGVm
MDIxNjUxNGU4OTI2MzdlZWM4MjVmZmIzNmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dl
YkNvcmUuZ3lwCkBAIC00NDYsOSArNDQ2LDQ4IEBACiAgICAgICBdCiAgICAgfSwKICAgICB7Cisg
ICAgICAndGFyZ2V0X25hbWUnOiAnZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3knLAor
ICAgICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9ucyc6IFsKKyAgICAgICAgIHsKKyAg
ICAgICAgICAnYWN0aW9uX25hbWUnOiAnZ2VuZXJhdGVTdXBwbGVtZW50YWxEZXBlbmRlbmN5JywK
KyAgICAgICAgICAndmFyaWFibGVzJzogeworICAgICAgICAgICAgIyBXcml0ZSBzb3VyY2VzIGlu
dG8gYSBmaWxlLCBzbyB0aGF0IHRoZSBhY3Rpb24gY29tbWFuZCBsaW5lIHdvbid0CisgICAgICAg
ICAgICAjIGV4Y2VlZCBPUyBsaW1pdHMuCisgICAgICAgICAgICAnaWRsX2ZpbGVzX2xpc3QnOiAn
PHwoaWRsX2ZpbGVzX2xpc3QudG1wIDxAKGJpbmRpbmdzX2lkbF9maWxlcykpJywKKyAgICAgICAg
ICB9LAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2Ny
aXB0cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCcsCisgICAgICAgICAgICAnLi4vYmluZGluZ3Mv
c2NyaXB0cy9JRExQYXJzZXIucG0nLAorICAgICAgICAgICAgJzwoaWRsX2ZpbGVzX2xpc3QpJywK
KyAgICAgICAgICAgICc8IUAoY2F0IDwoaWRsX2ZpbGVzX2xpc3QpKScsCisgICAgICAgICAgXSwK
KyAgICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElB
VEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAgICAgICAgIF0sCisgICAg
ICAgICAgJ2FjdGlvbic6IFsKKyAgICAgICAgICAgICdwZXJsJywKKyAgICAgICAgICAgICctdycs
CisgICAgICAgICAgICAnLUkuLi9iaW5kaW5ncy9zY3JpcHRzJywKKyAgICAgICAgICAgICcuLi9i
aW5kaW5ncy9zY3JpcHRzL3Jlc29sdmUtc3VwcGxlbWVudGFsLnBsJywKKyAgICAgICAgICAgICct
LWRlZmluZXMnLAorICAgICAgICAgICAgJzwoZmVhdHVyZV9kZWZpbmVzKSBMQU5HVUFHRV9KQVZB
U0NSSVBUIFY4X0JJTkRJTkcnLAorICAgICAgICAgICAgJy0taWRsRmlsZXNMaXN0JywKKyAgICAg
ICAgICAgICc8KGlkbF9maWxlc19saXN0KScsCisgICAgICAgICAgICAnLS1zdXBwbGVtZW50YWxE
ZXBlbmRlbmN5RmlsZScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikv
c3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdt
ZXNzYWdlJzogJ1Jlc29sdmluZyBbU3VwcGxlbWVudGFsPVhYWF0gZGVwZW5kZW5jaWVzIGluIGFs
bCBJREwgZmlsZXMnLAorICAgICAgICB9CisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAn
dGFyZ2V0X25hbWUnOiAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICd0eXBlJzog
J25vbmUnLAogICAgICAgJ2hhcmRfZGVwZW5kZW5jeSc6IDEsCisgICAgICAnZGVwZW5kZW5jaWVz
JzogWworICAgICAgICAnZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3knLAorICAgICAg
XSwKICAgICAgICdzb3VyY2VzJzogWwogICAgICAgICAjIGJpc29uIHJ1bGUKICAgICAgICAgJy4u
L2Nzcy9DU1NHcmFtbWFyLnknLApAQCAtODYxLDE1ICs5MDAsOSBAQAogICAgICAgICB9LAogICAg
ICAgICB7CiAgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2Rlcml2ZWRfc291cmNlc19hbGxfaW5f
b25lJywKLSAgICAgICAgICAndmFyaWFibGVzJzogewotICAgICAgICAgICAgIyBXcml0ZSBzb3Vy
Y2VzIGludG8gYSBmaWxlLCBzbyB0aGF0IHRoZSBhY3Rpb24gY29tbWFuZCBsaW5lIHdvbid0Ci0g
ICAgICAgICAgICAjIGV4Y2VlZCBPUyBsaW1pdGVzLgotICAgICAgICAgICAgJ2lkbHNfbGlzdF90
ZW1wX2ZpbGUnOiAnPHwoaWRsc19saXN0X3RlbXBfZmlsZS50bXAgPEAoYmluZGluZ3NfaWRsX2Zp
bGVzKSknLAotICAgICAgICAgIH0sCiAgICAgICAgICAgJ2lucHV0cyc6IFsKICAgICAgICAgICAg
ICdzY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5JywKLSAgICAgICAgICAg
ICc8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpJywKLSAgICAgICAgICAgICc8IUAoY2F0IDwoaWRsc19s
aXN0X3RlbXBfZmlsZSkpJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElS
KS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgIF0sCiAgICAgICAgICAg
J291dHB1dHMnOiBbCiAgICAgICAgICAgICAnPEAoZGVyaXZlZF9zb3VyY2VzX2FnZ3JlZ2F0ZV9m
aWxlcyknLApAQCAtODc3LDcgKzkxMCw3IEBACiAgICAgICAgICAgJ2FjdGlvbic6IFsKICAgICAg
ICAgICAgICdweXRob24nLAogICAgICAgICAgICAgJ3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3Vy
Y2VzYWxsaW5vbmUucHknLAotICAgICAgICAgICAgJzwoaWRsc19saXN0X3RlbXBfZmlsZSknLAor
ICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBl
bmRlbmN5LnRtcCcsCiAgICAgICAgICAgICAnLS0nLAogICAgICAgICAgICAgJzxAKGRlcml2ZWRf
c291cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKICAgICAgICAgICBdLApAQCAtOTMwLDYgKzk2Myw3
IEBACiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJzZXIucG0nLAogICAg
ICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBtJywKICAgICAgICAg
ICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbScsCisgICAgICAgICAgICAn
PChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywK
ICAgICAgICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWwogICAgICAgICAgICAgIyBGSVhN
RTogIFRoZSAuY3BwIGZpbGUgc2hvdWxkIGJlIGluIHdlYmtpdC9iaW5kaW5ncyBvbmNlCkBAIC05
NzUsNiArMTAwOSw4IEBACiAgICAgICAgICAgICAnLS1nZW5lcmF0b3InLAogICAgICAgICAgICAg
J1Y4JywKICAgICAgICAgICAgICc8QChnZW5lcmF0b3JfaW5jbHVkZV9kaXJzKScsCisgICAgICAg
ICAgICAnLS1zdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZScsCisgICAgICAgICAgICAnPChTSEFS
RURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAg
ICAgICAgICc8KFJVTEVfSU5QVVRfUEFUSCknLAogICAgICAgICAgIF0sCiAgICAgICAgICAgJ21l
c3NhZ2UnOiAnR2VuZXJhdGluZyBiaW5kaW5nIGZyb20gPChSVUxFX0lOUFVUX1BBVEgpJywKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2
ZWRzb3VyY2VzYWxsaW5vbmUucHkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRz
L2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5CmluZGV4IDU4NjA3MWJmYzA4MDFkNGM2
NGI2OGI3ODczMTJmMjJjNWMyOGYzYWEuLjNiMDdjNDM1NTU4ZWQ5ZDYzZjZlYmViNDMxNmY5NDBl
ZWZiMDMxYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMv
YWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weQpAQCAtMzIs
MTIgKzMyLDEyIEBACiAjIFVzZSBvZiB0aGlzIHNvdXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEg
QlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUKICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmls
ZS4KIAotIyBhY3Rpb25fZGVyaXZlZHNvdXJjZXNsaXN0LnB5IGdlbmVyYXRlcyBhIHNpbmdsZSBj
cHAgZmlsZSB0aGF0IGluY2x1ZGVzCisjIGFjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5
IGdlbmVyYXRlcyBhIHNpbmdsZSBjcHAgZmlsZSB0aGF0IGluY2x1ZGVzCiAjIGFsbCB2OCBiaW5k
aW5ncyBjcHAgZmlsZXMgZ2VuZXJhdGVkIGZyb20gaWRscy4gRmlsZXMgY2FuIGJlIGFzc2lnbmVk
IGludG8KICMgbXVsdGlwbGUgb3V0cHV0IGZpbGVzLCB0byByZWR1Y2UgbWF4aW11bSBjb21waWxh
dGlvbiB1bml0IHNpemUgYW5kIGFsbG93CiAjIHBhcmFsbGVsIGNvbXBpbGF0aW9uLgogIwotIyB1
c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2VzbGlzdC5weSBJRExfRklMRVNfTElTVCAtLSBPVVRQ
VVRfRklMRTEgT1VUUFVUX0ZJTEUyIC4uLgorIyB1c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2Vz
YWxsaW5vbmUucHkgSURMX0ZJTEVTX0xJU1QgLS0gT1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAu
Li4KICMKICMgTm90ZSB0aGF0IElETF9GSUxFU19MSVNUIGlzIGEgdGV4dCBmaWxlIGNvbnRhaW5p
bmcgdGhlIElETCBmaWxlIHBhdGhzLgogCkBAIC00OCw2ICs0OCw5IEBAIGltcG9ydCByZQogaW1w
b3J0IHN1YnByb2Nlc3MKIGltcG9ydCBzeXMKIAorc3lzLnBhdGguYXBwZW5kKCIuLi8uLi8uLi9U
b29scy9TY3JpcHRzLyIpCitmcm9tIHdlYmtpdHB5LmNvbW1vbi5zeXN0ZW0gaW1wb3J0IHBhdGgK
KwogIyBBIHJlZ2V4cCBmb3IgZmluZGluZyBDb25kaXRpb25hbCBhdHRyaWJ1dGVzIGluIGludGVy
ZmFjZSBkZWZpbml0aW9ucy4KIGNvbmRpdGlvbmFsUGF0dGVybiA9IHJlLmNvbXBpbGUoJ2ludGVy
ZmFjZVtcc10qXFtbXlxdXSpDb25kaXRpb25hbD0oW1xfMC05YS16QS1aJnxdKiknKQogCkBAIC0x
ODYsNyArMTg5LDEyIEBAIGRlZiBtYWluKGFyZ3MpOgogICAgIG91dHB1dEZpbGVOYW1lcyA9IGFy
Z3NbaW5PdXRCcmVha0luZGV4KzE6XQogCiAgICAgaW5wdXRGaWxlID0gb3BlbihpbnB1dEZpbGVO
YW1lLCAncicpCi0gICAgaWRsRmlsZU5hbWVzID0gaW5wdXRGaWxlLnJlYWQoKS5zcGxpdCgnXG4n
KQorICAgIGlkbEZpbGVOYW1lcyA9IFtdCisgICAgZm9yIGxpbmUgaW4gaW5wdXRGaWxlOgorICAg
ICAgICBpZGxGaWxlTmFtZSA9IGxpbmVbOi0xXS5zcGxpdCgnICcpWzBdCisgICAgICAgIGlmIGlk
bEZpbGVOYW1lLmZpbmQoIi9jeWdkcml2ZSIpID09IDA6CisgICAgICAgICAgICBpZGxGaWxlTmFt
ZSA9IHBhdGguY3lncGF0aChpZGxGaWxlTmFtZSkKKyAgICAgICAgaWRsRmlsZU5hbWVzLmFwcGVu
ZChpZGxGaWxlTmFtZSkKICAgICBpbnB1dEZpbGUuY2xvc2UoKQogCiAgICAgZmlsZXNNZXRhRGF0
YSA9IGV4dHJhY3RNZXRhRGF0YShpZGxGaWxlTmFtZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNTZl
MzBjOWU0YThkMmZkMmU1NmNhNDgyODRlYTUxZTUzMmE2NzdhNi4uMTU4YTIwNGFiNTUyNDMzYzMx
NzlhMGFkYTcyYWFjYzU1NWY5ZDhhYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTQ5Niw2ICsxNDk2
LDcgQEAKICAgICAgICAgICAgICd3ZWJhdWRpby9CaXF1YWRGaWx0ZXJOb2RlLmlkbCcsCiAgICAg
ICAgICAgICAnd2ViYXVkaW8vQ29udm9sdmVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1
ZGlvL0RlbGF5Tm9kZS5pZGwnLAorICAgICAgICAgICAgJ3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1
ZGlvLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vRHluYW1pY3NDb21wcmVzc29yTm9kZS5p
ZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0hpZ2hQYXNzMkZpbHRlck5vZGUuaWRsJywKICAg
ICAgICAgICAgICd3ZWJhdWRpby9KYXZhU2NyaXB0QXVkaW9Ob2RlLmlkbCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAppbmRl
eCAxNjMwMzQ1NTI5YTRjYTk5NzFlNzAyYmYxOGViNzVmNmY3MWExOGE0Li41ZTkwNzRmNGMyMDdh
MTZlMWFiZjY4ODRlZjk3Y2M0NDNhZGVhZjdkIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKQEAgLTkzLDcgKzkzLDcgQEAg
aWYgKCRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSkgewogICAgIG9wZW4gRkgsICI8ICRzdXBw
bGVtZW50YWxEZXBlbmRlbmN5RmlsZSIgb3IgZGllICJDYW5ub3Qgb3BlbiAkc3VwcGxlbWVudGFs
RGVwZW5kZW5jeUZpbGVcbiI7CiAgICAgd2hpbGUgKG15ICRsaW5lID0gPEZIPikgewogICAgICAg
ICBteSAoJGlkbEZpbGUsIEBmb2xsb3dpbmdJZGxGaWxlcykgPSBzcGxpdCgvXHMrLywgJGxpbmUp
OwotICAgICAgICBpZiAoJGlkbEZpbGUgYW5kICRpZGxGaWxlIGVxICR0YXJnZXRJZGxGaWxlKSB7
CisgICAgICAgIGlmICgkaWRsRmlsZSBhbmQgYmFzZW5hbWUoJGlkbEZpbGUpIGVxIGJhc2VuYW1l
KCR0YXJnZXRJZGxGaWxlKSkgewogICAgICAgICAgICAgJGlkbEZvdW5kID0gMTsKICAgICAgICAg
ICAgIEBzdXBwbGVtZW50ZWRJZGxGaWxlcyA9IEBmb2xsb3dpbmdJZGxGaWxlczsKICAgICAgICAg
fQpAQCAtMTEyLDYgKzExMiw3OSBAQCBpZiAoJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlKSB7
CiBteSAkdGFyZ2V0UGFyc2VyID0gSURMUGFyc2VyLT5uZXcoISR2ZXJib3NlKTsKIG15ICR0YXJn
ZXREb2N1bWVudCA9ICR0YXJnZXRQYXJzZXItPlBhcnNlKCR0YXJnZXRJZGxGaWxlLCAkZGVmaW5l
cywgJHByZXByb2Nlc3Nvcik7CiAKKyMgRklYTUUoaGFyYWtlbik6IFJlbW92ZSB0aGlzIGlmLWVs
c2Ugc3RhdGVtZW50LgorIyBUaGlzIGlmLWVsc2Ugc3RhdGVtZW50IGlzIHRlbXBvcmFyeSBhbmQg
d2lsbCBiZSByZW1vdmVkCisjIGFmdGVyIGJ1aWxkIHNjcmlwdHMgZm9yIGFsbCBwbGF0Zm9ybXMg
c3VwcG9ydCBbU3VwcGxlbWVudGFsXSBJREwuCisjIFRoZSBtb3RpdmF0aW9uIGZvciB0aGUgW1N1
cHBsZW1lbnRlZF0gSURMIGlzIGFzIGZvbGxvd3M6CisjCisjIEluIG9yZGVyIHRvIHN1cHBvcnQg
dGhlIFtTdXBwbGVtZW50YWxdIElETCwgd2UgbmVlZCB0bworIyAoMSkgcnVuIHJlc29sdmUtc3Vw
cGxlbWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAKKyMg
KDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0aCB0aGUgc3VwcGxlbWVudGFsX2Rl
cGVuZGVuY3kudG1wLgorIworIyBUaGlzIGJ1aWxkIGZsb3cgcmVxdWlyZXMgYSBjaGFuZ2Ugb24g
dGhlIGZvbGxvd2luZyBidWlsZCBzY3JpcHRzLAorIyBidXQgY2hhbmdpbmcgYWxsIHRoZSBidWls
ZCBzY3JpcHRzIGFsbCBhdCBvbmNlIHdpdGhvdXQgYW55IHJlZ3Jlc3Npb24gaXMgdG9vIGRpZmZp
Y3VsdDoKKyMKKyMgICAgIC0gRGVyaXZlZFNvdXJjZXMubWFrZQorIyAgICAgLSBEZXJpdmVkU291
cmNlcy5wcmkKKyMgICAgIC0gR05VbWFrZWZpbGUuYW0KKyMgICAgIC0gUGxhdGZvcm1CbGFja0Jl
cnJ5LmNtYWtlCisjICAgICAtIFVzZUpTQy5jbWFrZQorIyAgICAgLSBVc2VWOC5jbWFrZQorIyAg
ICAgLSBXZWJDb3JlLnZjcHJvai9NaWdyYXRlU2NyaXB0cworIyAgICAgLSBXZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagorIyAgICAgLSBiaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFt
CisjICAgICAtIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisjCisjIFRodXMsIHdlIGFyZSBwbGFu
bmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25lIGJ5IG9uZSwgd2hpY2ggaW1wbGll
cyB0aGF0CisjIHdlIG5lZWQgdG8gYWxsb3cgdGhlIHRlbXBvcmFyeSBzdGF0ZSBpbiB3aGljaCBz
b21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3VwcGxlbWVudGFsXSBJREwKKyMgYnV0IG90aGVy
cyBkbyBub3QuIFRvIGFjY29tcGxpc2ggdGhpcywgd2UgaW50cm9kdWNlIGEgdGVtcG9yYWwgSURM
LCBbU3VwcGxlbWVudGVkXS4KKyMgVGhlIFtTdXBwbGVtZW50ZWRdIElETCBvbiBhbiBhdHRyaWJ1
dGUgbWVhbnMgdGhhdCB0aGUgYXR0cmlidXRlIGlzIG1hcmtlZCB3aXRoIFtTdXBwbGVtZW50YWxd
CisjIGluIGFub3RoZXIgSURMIGZpbGUgc29tZXdoZXJlLCBsaWtlIHRoaXM6CisjCisjIERPTVdp
bmRvd1dlYkF1ZGlvLmlkbDoKKyMgICAgIGludGVyZmFjZSBbCisjICAgICAgICAgU3VwcGxlbWVu
dGFsPURPTVdpbmRvdworIyAgICAgXSBET01XaW5kb3dXZWJBdWRpbyB7CisjICAgICAgICAgYXR0
cmlidXRlIGF0dHIxOworIyAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMjsKKyMgICAgIH07CisjCisj
IERPTVdpbmRvdy5pZGw6CisjICAgICBpbnRlcmZhY2UgWworIyAgICAgXSBET01XaW5kb3cgewor
IyAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMTsgLy8gVGhpcyBsaW5lIHdp
bGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3VwcGxl
bWVudGFsTC4KKyMgICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZF0gYXR0cjI7IC8vIFRo
aXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCB0
aGUgW1N1cHBsZW1lbnRhbEwuCisjICAgICAgICAgYXR0cmlidXRlIGF0dHIzOworIyAgICAgICAg
IGF0dHJpYnV0ZSBhdHRyNDsKKyMgICAgIH07CisjCisjIEFzc3VtaW5nIHRoZXNlIElETCBmaWxl
cywgdGhlIGJlbG93IGNvZGUgaXMgZG9pbmcgdGhlIGZvbGxvd2luZyBsb2dpYzoKKyMKKyMgICAg
IC0gSWYgYSBnaXZlbiBidWlsZCBzY3JpcHQgc3VwcG9ydHMgdGhlIFtTdXBwbGVtZW50YWxdIElE
TCAoaS5lLiAtLXN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlIGlzIHNwZWNpZmllZCksCisjICAg
ICAgIHdlIGlnbm9yZSBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGVkXSBJREwu
CisjICAgICAtIE90aGVyd2lzZSAoaS5lLiAtLXN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlIGlz
IG5vdCBzcGVjaWZpZWQpLAorIyAgICAgICB3ZSB0cmVhdCBhbGwgYXR0cmlidXRlcyB3aXRoIHRo
ZSBbU3VwcGxlbWVudGVkXSBJREwgYXMgbm9ybWFsIGF0dHJpYnV0ZXMKKyMgICAgICAgYW5kIGlu
c3RlYWQgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETAor
IyAgICAgICAoaS5lLiB3ZSBnZW5lcmF0ZSBub3RoaW5nIGZyb20gdGhlIGlkbCBmaWxlIHdpdGgg
dGhlIFtTdXBwbGVtZW50YWxdIElETCkuCitpZiAoJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxl
KSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5vZGUgKEB7JHRhcmdldERvY3VtZW50LT5jbGFzc2Vz
fSkgeworICAgICAgICBteSBAbm9uU3VwcGxlbWVudGVkQXR0cmlidXRlczsKKyAgICAgICAgZm9y
ZWFjaCBteSAkYXR0cmlidXRlIChAeyRkYXRhTm9kZS0+YXR0cmlidXRlc30pIHsKKyAgICAgICAg
ICAgIGlmICghJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3Vw
cGxlbWVudGVkIn0pIHsKKyAgICAgICAgICAgICAgICBwdXNoKEBub25TdXBwbGVtZW50ZWRBdHRy
aWJ1dGVzLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIH0KKyAgICAgICAgfQorICAgICAgICAk
ZGF0YU5vZGUtPmF0dHJpYnV0ZXMoXEBub25TdXBwbGVtZW50ZWRBdHRyaWJ1dGVzKTsKKyAgICB9
Cit9IGVsc2UgeworICAgIGZvcmVhY2ggbXkgJGRhdGFOb2RlIChAeyR0YXJnZXREb2N1bWVudC0+
Y2xhc3Nlc30pIHsKKyAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5kZWRBdHRyaWJ1dGVzLT57
IlN1cHBsZW1lbnRhbCJ9KSB7CisgICAgICAgICAgICBleGl0IDA7CisgICAgICAgIH0KKyAgICB9
Cit9CisjIFRlbXBvcmFyeSBpZi1lbHNlIHN0YXRlbWVudCB1bnRpbCBoZXJlLgorCiBmb3JlYWNo
IG15ICRpZGxGaWxlIChAc3VwcGxlbWVudGVkSWRsRmlsZXMpIHsKICAgICBuZXh0IGlmICRpZGxG
aWxlIGVxICR0YXJnZXRJZGxGaWxlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXgg
NDczYjM3ODBkZTIxZWM0NzQwZTcwOGZlNTVhZjZhMDk1ZjYzOGJmNC4uNWM4ZGUwZThlOGRmZGE4
YWM5NzA2NDFmZmJkZjhlMjlkNTYzYWIwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFn
ZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApA
QCAtNTIyLDggKzUyMiw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0pT
Q0N1c3RvbUdldHRlcl0gRmxvYXQ2NEFycmF5Q29uc3RydWN0b3IgRmxvYXQ2NEFycmF5OyAvLyBV
c2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0
ZXJdIERhdGFWaWV3Q29uc3RydWN0b3IgRGF0YVZpZXc7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVy
YXRvcgogCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyLENvbmRpdGlvbmFsPVdF
Ql9BVURJTyxFbmFibGVkQXRSdW50aW1lXSBBdWRpb0NvbnRleHRDb25zdHJ1Y3RvciB3ZWJraXRB
dWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgotICAgICAgICBhdHRyaWJ1
dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0b3Igd2Vi
a2l0QXVkaW9QYW5uZXJOb2RlOyAvLyBOZWVkZWQgZm9yIHBhbm5pbmcgbW9kZWwgY29uc3RhbnRz
CisgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkLCBKU0NDdXN0b21HZXR0ZXIsIENvbmRp
dGlvbmFsPVdFQl9BVURJTywgRW5hYmxlZEF0UnVudGltZV0gQXVkaW9Db250ZXh0Q29uc3RydWN0
b3Igd2Via2l0QXVkaW9Db250ZXh0OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKKyAgICAg
ICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFsPVdFQl9BVURJT10gQXVkaW9Q
YW5uZXJOb2RlQ29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOyAvLyBOZWVkZWQgZm9y
IHBhbm5pbmcgbW9kZWwgY29uc3RhbnRzCiAKICAgICAgICAgLy8gRXZlbnQgQ29uc3RydWN0b3Jz
CiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudENvbnN0cnVjdG9yIEV2ZW50OwpAQCAtNTUyLDggKzU1
Miw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVRP
VUNIX0VWRU5UU10gVG91Y2hFdmVudENvbnN0cnVjdG9yIFRvdWNoRXZlbnQ7CiAgICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX1NPQ0tFVFNdIENsb3NlRXZlbnRDb25zdHJ1Y3RvciBD
bG9zZUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgU3RvcmFnZUV2ZW50Q29uc3RydWN0b3IgU3Rv
cmFnZUV2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gQXVk
aW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVudDsKLSAgICAg
ICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfQVVESU9dIE9mZmxpbmVBdWRpb0NvbXBsZXRp
b25FdmVudENvbnN0cnVjdG9yIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudDsKKyAgICAgICAg
YXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFsPVdFQl9BVURJT10gQXVkaW9Qcm9j
ZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVudDsKKyAgICAgICAgYXR0
cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFsPVdFQl9BVURJT10gT2ZmbGluZUF1ZGlv
Q29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Owog
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUlOUFVUX1NQRUVDSF0gU3BlZWNoSW5wdXRF
dmVudENvbnN0cnVjdG9yIFNwZWVjaElucHV0RXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9TUVESUFfU1RSRUFNXSBNZWRpYVN0cmVhbUV2ZW50Q29uc3RydWN0b3IgTWVkaWFT
dHJlYW1FdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJHTF0gV2ViR0xD
b250ZXh0RXZlbnRDb25zdHJ1Y3RvciBXZWJHTENvbnRleHRFdmVudDsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbCBiL1NvdXJjZS9XZWJD
b3JlL3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZDEwOGVmYjdi
MDMzZWZmYjFlZWVkN2FjNDA1MWIxNzIwZjdmYTk0Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsCkBAIC0wLDAgKzEsMzIgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3Ry
aWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vu
c2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
CisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3
YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdp
dGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRl
IHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8K
KworbW9kdWxlIHdpbmRvdyB7CisKKyAgICBpbnRlcmZhY2UgWworICAgICAgICBDb25kaXRpb25h
bD1XRUJfQVVESU8sCisgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5kb3cKKyAgICBdIERPTVdp
bmRvd1dlYkF1ZGlvIHsKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsIEVuYWJs
ZWRBdFJ1bnRpbWVdIEF1ZGlvQ29udGV4dENvbnN0cnVjdG9yIHdlYmtpdEF1ZGlvQ29udGV4dDsK
KyAgICAgICAgYXR0cmlidXRlIEF1ZGlvUGFubmVyTm9kZUNvbnN0cnVjdG9yIHdlYmtpdEF1ZGlv
UGFubmVyTm9kZTsKKyAgICAgICAgYXR0cmlidXRlIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50Q29uc3Ry
dWN0b3IgQXVkaW9Qcm9jZXNzaW5nRXZlbnQ7CisgICAgICAgIGF0dHJpYnV0ZSBPZmZsaW5lQXVk
aW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ7
CisgICAgfTsKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118900</attachid>
            <date>2011-12-12 16:17:48 -0800</date>
            <delta_ts>2011-12-13 00:26:40 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73394-20111213091747.patch</filename>
            <type>text/plain</type>
            <size>22295</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDUzMTRlZTA1MTVjZWFh
MWQzMTRkMTc4NjUwNjJkODBlM2Q5MWQzNS4uODQ0NWZhODQzNTI2YmE0ZTA0ZTUzODIwZDA4Mzdi
NmFmOTliNzEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMS0xMi0wNyAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXNlIHRoZSBbU3Vw
cGxlbWVudGFsXSBJREwgZm9yIHdlYmF1ZGlvIGF0dHJpYnV0ZXMgaW4gQ2hyb21pdW0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBPdmVydmlldzogVXNp
bmcgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgdGhpcyBwYXRjaCBtb3ZlcyB0aGUgYXR0cmlidXRl
CisgICAgICAgIGRlY2xhcmF0aW9ucyBvZiB3ZWJhdWRpbyBmcm9tIERPTVdpbmRvdy5pZGwgaW50
byBhIG5ldyBJREwgZmlsZQorICAgICAgICB3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGws
IHdoaWNoIGhlbHBzIG1ha2Ugd2ViYXVkaW8gYSBzZWxmLWNvbnRhaW5lZAorICAgICAgICBmZWF0
dXJlIChha2EgYSBtb2R1bGUpLgorCisgICAgICAgIC0gVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBi
dWlsZCBmbG93IG9mIFdlYkNvcmUuZ3lwIGFzIGZvbGxvd3M6CisKKyAgICAgICAgICAgIFByZXZp
b3VzIGJ1aWxkIGZsb3c6CisgICAgICAgICAgICAgICAgZm9yZWFjaCAkaWRsIChhbGwgSURMIGZp
bGVzKSB7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGRlcGVuZHMg
b24gJGlkbDsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMg
JGlkbDsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJhdGVz
IC5oIGFuZCAuY3BwIGZpbGVzIGZvciAkaWRsOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgTmV3IGJ1aWxkIGZsb3cgKFNlZSB0aGUgZGlzY3Vzc2lvbnMgaW4gYnVnIDcyMTM4IGZv
ciBtb3JlIGRldGFpbHMpOgorICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVudGFsLnBs
IGRlcGVuZHMgb24gYWxsIElETCBmaWxlczsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCByZWFkcyBhbGwgSURMIGZpbGVzOworICAgICAgICAgICAgICAgIHJlc29sdmUt
c3VwcGxlbWVudGFsLnBsIHJlc29sdmVzIHRoZSBkZXBlbmRlbmN5IG9mIFtTdXBwbGVtZW50YWw9
WFhYWF07CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgb3V0cHV0cyBz
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXA7CisgICAgICAgICAgICAgICAgZm9yZWFjaCAkaWRs
IChhbGwgSURMIGZpbGVzKSB7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdz
LnBsIGRlcGVuZHMgb24gJGlkbCBhbmQgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wOworICAg
ICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCByZWFkcyAkaWRsOworICAgICAg
ICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCByZWFkcyBzdXBwbGVtZW50YWxfZGVw
ZW5kZW5jeS50bXA7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdl
bmVyYXRlcyAuaCBhbmQgLmNwcCBmaWxlcyBmb3IgJGlkbCwgaW5jbHVkaW5nIGFsbCBhdHRyaWJ1
dGVzIGluIElETCBmaWxlcyB3aGlsZW1lbnRpbmcgJGlkbDsKKyAgICAgICAgICAgICAgICB9CisK
KyAgICAgICAgLSBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSB0ZW1wb3JhcnkgSURMLCBbU3VwcGxl
bWVudGVkXS4gVGhlIFtTdXBwbGVtZW50ZWRdIElETAorICAgICAgICB3aWxsIGJlIHJlbW92ZWQg
YWZ0ZXIgYnVpbGQgc2NyaXB0cyBmb3IgYWxsIHBsYXRmb3JtcyBzdXBwb3J0IHRoZSBbU3VwcGxl
bWVudGFsXSBJREwuCisgICAgICAgIFRoZSBtb3RpdmF0aW9uIGZvciB0aGUgW1N1cHBsZW1lbnRl
ZF0gSURMIGlzIGFzIGZvbGxvd3M6CisKKyAgICAgICAgSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUg
W1N1cHBsZW1lbnRhbF0gSURMLCB3ZSBuZWVkIHRvCisgICAgICAgICgxKSBydW4gcmVzb2x2ZS1z
dXBwbGVtZW50YWwucGwgYW5kIGdlbmVyYXRlIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcAor
ICAgICAgICAoMikgYW5kIHJ1biBnZW5lcmF0ZS1iaW5kaW5ncy5wbCB3aXRoIHRoZSBzdXBwbGVt
ZW50YWxfZGVwZW5kZW5jeS50bXAuCisKKyAgICAgICAgVGhpcyBidWlsZCBmbG93IHJlcXVpcmVz
IGEgY2hhbmdlIG9uIHRoZSBmb2xsb3dpbmcgYnVpbGQgc2NyaXB0cywKKyAgICAgICAgYnV0IGNo
YW5naW5nIGFsbCB0aGUgYnVpbGQgc2NyaXB0cyBhbGwgYXQgb25jZSB3aXRob3V0IGFueSByZWdy
ZXNzaW9uIGlzIHRvbyBkaWZmaWN1bHQ6CisKKyAgICAgICAgICAgIC0gRGVyaXZlZFNvdXJjZXMu
bWFrZQorICAgICAgICAgICAgLSBEZXJpdmVkU291cmNlcy5wcmkKKyAgICAgICAgICAgIC0gR05V
bWFrZWZpbGUuYW0KKyAgICAgICAgICAgIC0gUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisgICAg
ICAgICAgICAtIFVzZUpTQy5jbWFrZQorICAgICAgICAgICAgLSBVc2VWOC5jbWFrZQorICAgICAg
ICAgICAgLSBXZWJDb3JlLnZjcHJvai9NaWdyYXRlU2NyaXB0cworICAgICAgICAgICAgLSBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorICAgICAgICAgICAgLSBiaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtCisgICAgICAgICAgICAtIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisK
KyAgICAgICAgVGh1cywgd2UgYXJlIHBsYW5uaW5nIHRvIGNoYW5nZSB0aGUgYnVpbGQgc2NyaXB0
cyBvbmUgYnkgb25lLCB3aGljaCBpbXBsaWVzIHRoYXQKKyAgICAgICAgd2UgbmVlZCB0byBhbGxv
dyB0aGUgdGVtcG9yYXJ5IHN0YXRlIGluIHdoaWNoIHNvbWUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0
IFtTdXBwbGVtZW50YWxdIElETAorICAgICAgICBidXQgb3RoZXJzIGRvIG5vdC4gVG8gYWNjb21w
bGlzaCB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSB0ZW1wb3JhcnkgSURMLCBbU3VwcGxlbWVudGVkXS4K
KyAgICAgICAgVGhlIFtTdXBwbGVtZW50ZWRdIElETCBvbiBhbiBhdHRyaWJ1dGUgbWVhbnMgdGhh
dCB0aGUgYXR0cmlidXRlIGlzIG1hcmtlZCB3aXRoIFtTdXBwbGVtZW50YWxdCisgICAgICAgIGlu
IGFub3RoZXIgSURMIGZpbGUgc29tZXdoZXJlLCBsaWtlIHRoaXM6CisKKyAgICAgICAgICAgIERP
TVdpbmRvd1dlYkF1ZGlvLmlkbDoKKyAgICAgICAgICAgICAgICBpbnRlcmZhY2UgWworICAgICAg
ICAgICAgICAgICAgICBTdXBwbGVtZW50YWw9RE9NV2luZG93CisgICAgICAgICAgICAgICAgXSBE
T01XaW5kb3dXZWJBdWRpbyB7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMTsK
KyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIyOworICAgICAgICAgICAgICAgIH07
CisKKyAgICAgICAgICAgIERPTVdpbmRvdy5pZGw6CisgICAgICAgICAgICAgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgICAgICAgICBdIERPTVdpbmRvdyB7CisgICAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMTsgLy8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3Zl
ZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3UgSURMCisgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMjsgLy8gVGhpcyBsaW5lIHdp
bGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3UgSURM
LgorICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjM7CisgICAgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBhdHRyNDsKKyAgICAgICAgICAgICAgICB9OworCisgICAgICAgIEFzc3Vt
aW5nIHRoZXNlIElETCBmaWxlcywgdGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcg
bG9naWMgaW4gZ2VuZXJhdGUtYmluZGluZ3MucGw6CisKKyAgICAgICAgICAgIC0gSWYgYSBnaXZl
biBidWlsZCBzY3JpcHQgc3VwcG9ydHMgdGhlIFtTdXBwbGVtZW50YWxdIElETCwKKyAgICAgICAg
ICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGlnbm9yZXMgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUg
W1N1cHBsZW1lbnRlZF0gSURMLgorICAgICAgICAgICAgLSBPdGhlcndpc2UsIGdlbmVyYXRlLWJp
bmRpbmdzLnBsIHRyZWF0cyBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGVkXSBJ
REwKKyAgICAgICAgICAgIGFzIG5vcm1hbCBhdHRyaWJ1dGVzIGFuZCBpbnN0ZWFkIGlnbm9yZXMg
YWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMCisgICAgICAgICAgICAo
aS5lLiBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0ZXMgbm90aGluZyBmcm9tIHRoZSBJREwg
ZmlsZSB3aXRoIHRoZSBbU3VwcGxlbWVudGFsXSBJREwpLgorCisgICAgICAgIFRlc3RzOiB3ZWJh
dWRpby8qCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDogRGVzY3JpYmVzIHRo
ZSBidWlsZCBmbG93IHRoYXQgSSBkZXNjcmliZWQgYWJvdmUuCisgICAgICAgICogV2ViQ29yZS5n
eXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weToKKyAgICAgICAgKG1h
aW4pOiBSZWFkcyB0aGUgSURMIGZpbGUgbmFtZXMgZnJvbSB0aGUgaW5wdXQgZmlsZSAoaS5lLiBz
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXApLAorICAgICAgICB3aGljaCBhcmUgZGVzY3JpYmVk
IGF0IHRoZSBmaXJzdCBjb2x1bW4gb2YgZWFjaCBsaW5lIGluIHRoZSBpbnB1dCBmaWxlLgorICAg
ICAgICBJZiB0aGUgZmlsZSBuYW1lIGlzIGEgIi9jeWdkcml2ZS9jLy4uLiItc3R5bGUgcGF0aCwg
aXQgaXMgY29udmVydGVkIHRvIGEgIkM6XGN5Z3dpblwuLi4iLXN0eWxlCisgICAgICAgIHBhdGgg
YnkgdGhlIGN5Z3BhdGggY29tbWFuZC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEFkZGVkIERP
TVdpbmRvd1dlYkF1ZGlvLmlkbC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRl
LWJpbmRpbmdzLnBsOiBBcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiwgaWYgdGhlIHBsYXRmb3JtIGRv
ZXMgbm90CisgICAgICAgIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgdGhlIHBlcmwg
c2NyaXB0IGlnbm9yZXMgdGhlIFtTdXBwbGVtZW50YWxdIElETCBhbmQgaW5zdGVhZAorICAgICAg
ICB1c2VzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwuIE90aGVyd2lzZSwgdGhlIHBlcmwgc2NyaXB0
IGlnbm9yZXMgdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhbmQKKyAgICAgICAgaW5zdGVhZCB1c2Vz
IHRoZSBbU3VwcGxlbWVudGFsXSBJREwuCisgICAgICAgIEFkZGVkIHRoZSAtLWFkZGl0aW9uYWxJ
ZGxGaWxlc0xpc3Qgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIElETCBmaWxlcyB0aGF0IGFyZSBub3Qg
bGlzdGVkIGluCisgICAgICAgIHN1cHBsZW1lbnRhbC1kZXBlbmRlbmN5LnRtcCBidXQgc2hvdWxk
IGdlbmVyYXRlIC5oIGFuZCAuY3BwIGZpbGVzLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmlk
bDogQWRkZWQgdGhlIFtTdXBwbGVtZW50ZWRdIElETCB0byB3ZWJhdWRpby1yZWxhdGVkIGF0dHJp
YnV0ZXMuCisgICAgICAgIEFzIEkgZGVzY3JpYmVkIGFib3ZlLCB0aGUgW1N1cHBsZW1lbnRlZF0g
SURMIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQKKyAgICAgICAg
dGhlIFtTdXBwbGVtZW50YWxdIElETC4KKyAgICAgICAgKiB3ZWJhdWRpby9ET01XaW5kb3dXZWJB
dWRpby5pZGw6IEFkZGVkLiBEZXNjcmliZXMgdGhlIFtTdXBwbGVtZW50YWw9RE9NV2luZG93XSBJ
REwuCisgICAgICAgIFRoZSBhdHRyaWJ1dGVzIGluIHRoaXMgSURMIGZpbGUgc2hvdWxkIGJlIHRy
ZWF0ZWQgYXMgaWYgdGhleSBhcmUgd3JpdHRlbiBpbiBET01XaW5kb3cuaWRsLgorCiAyMDExLTEy
LTEyICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkIFdpbmRvd3MgYnVpbGQgZml4IGFmdGVyIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzEwMjYxOSAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IGU4
ZDUyYWI3MGRmOTEwYzliOWY0ZTgyNjZmYTE1YWE1MTE1MzQ4MzUuLjg4NjIwM2QwYWQwZDc1NzEy
ZjExM2Q4YjgxOGY3MzM4YzVlMzI5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNv
cmUuZ3lwCkBAIC00NDYsOSArNDQ2LDUzIEBACiAgICAgICBdCiAgICAgfSwKICAgICB7CisgICAg
ICAndGFyZ2V0X25hbWUnOiAnZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3knLAorICAg
ICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9ucyc6IFsKKyAgICAgICAgIHsKKyAgICAg
ICAgICAnYWN0aW9uX25hbWUnOiAnZ2VuZXJhdGVTdXBwbGVtZW50YWxEZXBlbmRlbmN5JywKKyAg
ICAgICAgICAndmFyaWFibGVzJzogeworICAgICAgICAgICAgIyBXcml0ZSBzb3VyY2VzIGludG8g
YSBmaWxlLCBzbyB0aGF0IHRoZSBhY3Rpb24gY29tbWFuZCBsaW5lIHdvbid0CisgICAgICAgICAg
ICAjIGV4Y2VlZCBPUyBsaW1pdHMuCisgICAgICAgICAgICAnaWRsX2ZpbGVzX2xpc3QnOiAnPHwo
aWRsX2ZpbGVzX2xpc3QudG1wIDxAKGJpbmRpbmdzX2lkbF9maWxlcykpJywKKyAgICAgICAgICB9
LAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0
cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCcsCisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2Ny
aXB0cy9JRExQYXJzZXIucG0nLAorICAgICAgICAgICAgJzwoaWRsX2ZpbGVzX2xpc3QpJywKKyAg
ICAgICAgICAgICc8IUAoY2F0IDwoaWRsX2ZpbGVzX2xpc3QpKScsCisgICAgICAgICAgXSwKKyAg
ICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAgICAgICAgIF0sCisgICAgICAg
ICAgJ2FjdGlvbic6IFsKKyAgICAgICAgICAgICdwZXJsJywKKyAgICAgICAgICAgICctdycsCisg
ICAgICAgICAgICAnLUkuLi9iaW5kaW5ncy9zY3JpcHRzJywKKyAgICAgICAgICAgICcuLi9iaW5k
aW5ncy9zY3JpcHRzL3Jlc29sdmUtc3VwcGxlbWVudGFsLnBsJywKKyAgICAgICAgICAgICctLWRl
ZmluZXMnLAorICAgICAgICAgICAgJzwoZmVhdHVyZV9kZWZpbmVzKSBMQU5HVUFHRV9KQVZBU0NS
SVBUIFY4X0JJTkRJTkcnLAorICAgICAgICAgICAgJy0taWRsRmlsZXNMaXN0JywKKyAgICAgICAg
ICAgICc8KGlkbF9maWxlc19saXN0KScsCisgICAgICAgICAgICAnLS1zdXBwbGVtZW50YWxEZXBl
bmRlbmN5RmlsZScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3Vw
cGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNz
YWdlJzogJ1Jlc29sdmluZyBbU3VwcGxlbWVudGFsPVhYWF0gZGVwZW5kZW5jaWVzIGluIGFsbCBJ
REwgZmlsZXMnLAorICAgICAgICB9CisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFy
Z2V0X25hbWUnOiAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICd0eXBlJzogJ25v
bmUnLAogICAgICAgJ2hhcmRfZGVwZW5kZW5jeSc6IDEsCisgICAgICAnZGVwZW5kZW5jaWVzJzog
WworICAgICAgICAnZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3knLAorICAgICAgXSwK
KyAgICAgICd2YXJpYWJsZXMnOiB7CisgICAgICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmls
ZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1hbmQgbGluZSB3b24ndAorICAgICAgICAjIGV4Y2Vl
ZCBPUyBsaW1pdHMuCisgICAgICAgICdhZGRpdGlvbmFsX2lkbF9maWxlc19saXN0JzogJzx8KGFk
ZGl0aW9uYWxfaWRsX2ZpbGVzX2xpc3QudG1wIDxAKHdlYmNvcmVfdGVzdF9zdXBwb3J0X2lkbF9m
aWxlcykpJywKKyAgICAgIH0sCiAgICAgICAnc291cmNlcyc6IFsKICAgICAgICAgIyBiaXNvbiBy
dWxlCiAgICAgICAgICcuLi9jc3MvQ1NTR3JhbW1hci55JywKQEAgLTg2MSwxNSArOTA1LDkgQEAK
ICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdkZXJpdmVk
X3NvdXJjZXNfYWxsX2luX29uZScsCi0gICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKLSAgICAgICAg
ICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmlsZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1h
bmQgbGluZSB3b24ndAotICAgICAgICAgICAgIyBleGNlZWQgT1MgbGltaXRlcy4KLSAgICAgICAg
ICAgICdpZGxzX2xpc3RfdGVtcF9maWxlJzogJzx8KGlkbHNfbGlzdF90ZW1wX2ZpbGUudG1wIDxA
KGJpbmRpbmdzX2lkbF9maWxlcykpJywKLSAgICAgICAgICB9LAogICAgICAgICAgICdpbnB1dHMn
OiBbCiAgICAgICAgICAgICAnc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5w
eScsCi0gICAgICAgICAgICAnPChpZGxzX2xpc3RfdGVtcF9maWxlKScsCi0gICAgICAgICAgICAn
PCFAKGNhdCA8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpKScsCisgICAgICAgICAgICAnPChTSEFSRURf
SU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAg
ICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWwogICAgICAgICAgICAgJzxAKGRlcml2ZWRfc291
cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKQEAgLTg3Nyw3ICs5MTUsNyBAQAogICAgICAgICAgICdh
Y3Rpb24nOiBbCiAgICAgICAgICAgICAncHl0aG9uJywKICAgICAgICAgICAgICdzY3JpcHRzL2Fj
dGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5JywKLSAgICAgICAgICAgICc8KGlkbHNfbGlz
dF90ZW1wX2ZpbGUpJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9z
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgICAgJy0tJywKICAgICAgICAg
ICAgICc8QChkZXJpdmVkX3NvdXJjZXNfYWdncmVnYXRlX2ZpbGVzKScsCiAgICAgICAgICAgXSwK
QEAgLTkzMCw2ICs5NjgsOSBAQAogICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURM
UGFyc2VyLnBtJywKICAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVy
ZS5wbScsCiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0n
LAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9k
ZXBlbmRlbmN5LnRtcCcsCisgICAgICAgICAgICAnPChhZGRpdGlvbmFsX2lkbF9maWxlc19saXN0
KScsCisgICAgICAgICAgICAnPCFAKGNhdCA8KGFkZGl0aW9uYWxfaWRsX2ZpbGVzX2xpc3QpKScs
CiAgICAgICAgICAgXSwKICAgICAgICAgICAnb3V0cHV0cyc6IFsKICAgICAgICAgICAgICMgRklY
TUU6ICBUaGUgLmNwcCBmaWxlIHNob3VsZCBiZSBpbiB3ZWJraXQvYmluZGluZ3Mgb25jZQpAQCAt
OTc1LDYgKzEwMTYsMTAgQEAKICAgICAgICAgICAgICctLWdlbmVyYXRvcicsCiAgICAgICAgICAg
ICAnVjgnLAogICAgICAgICAgICAgJzxAKGdlbmVyYXRvcl9pbmNsdWRlX2RpcnMpJywKKyAgICAg
ICAgICAgICctLXN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlJywKKyAgICAgICAgICAgICc8KFNI
QVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAg
ICAgICAgICAgJy0tYWRkaXRpb25hbElkbEZpbGVzTGlzdCcsCisgICAgICAgICAgICAnPChhZGRp
dGlvbmFsX2lkbF9maWxlc19saXN0KScsCiAgICAgICAgICAgICAnPChSVUxFX0lOUFVUX1BBVEgp
JywKICAgICAgICAgICBdLAogICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgYmluZGlu
ZyBmcm9tIDwoUlVMRV9JTlBVVF9QQVRIKScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxp
bm9uZS5weQppbmRleCA1ODYwNzFiZmMwODAxZDRjNjRiNjhiNzg3MzEyZjIyYzVjMjhmM2FhLi4z
YjA3YzQzNTU1OGVkOWQ2M2Y2ZWJlYjQzMTZmOTQwZWVmYjAzMWFlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlu
b25lLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rl
cml2ZWRzb3VyY2VzYWxsaW5vbmUucHkKQEAgLTMyLDEyICszMiwxMiBAQAogIyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCiAjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKLSMgYWN0aW9uX2Rlcml2ZWRzb3Vy
Y2VzbGlzdC5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZpbGUgdGhhdCBpbmNsdWRlcworIyBh
Y3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZp
bGUgdGhhdCBpbmNsdWRlcwogIyBhbGwgdjggYmluZGluZ3MgY3BwIGZpbGVzIGdlbmVyYXRlZCBm
cm9tIGlkbHMuIEZpbGVzIGNhbiBiZSBhc3NpZ25lZCBpbnRvCiAjIG11bHRpcGxlIG91dHB1dCBm
aWxlcywgdG8gcmVkdWNlIG1heGltdW0gY29tcGlsYXRpb24gdW5pdCBzaXplIGFuZCBhbGxvdwog
IyBwYXJhbGxlbCBjb21waWxhdGlvbi4KICMKLSMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291cmNl
c2xpc3QucHkgSURMX0ZJTEVTX0xJU1QgLS0gT1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAuLi4K
KyMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IElETF9GSUxFU19MSVNU
IC0tIE9VVFBVVF9GSUxFMSBPVVRQVVRfRklMRTIgLi4uCiAjCiAjIE5vdGUgdGhhdCBJRExfRklM
RVNfTElTVCBpcyBhIHRleHQgZmlsZSBjb250YWluaW5nIHRoZSBJREwgZmlsZSBwYXRocy4KIApA
QCAtNDgsNiArNDgsOSBAQCBpbXBvcnQgcmUKIGltcG9ydCBzdWJwcm9jZXNzCiBpbXBvcnQgc3lz
CiAKK3N5cy5wYXRoLmFwcGVuZCgiLi4vLi4vLi4vVG9vbHMvU2NyaXB0cy8iKQorZnJvbSB3ZWJr
aXRweS5jb21tb24uc3lzdGVtIGltcG9ydCBwYXRoCisKICMgQSByZWdleHAgZm9yIGZpbmRpbmcg
Q29uZGl0aW9uYWwgYXR0cmlidXRlcyBpbiBpbnRlcmZhY2UgZGVmaW5pdGlvbnMuCiBjb25kaXRp
b25hbFBhdHRlcm4gPSByZS5jb21waWxlKCdpbnRlcmZhY2VbXHNdKlxbW15cXV0qQ29uZGl0aW9u
YWw9KFtcXzAtOWEtekEtWiZ8XSopJykKIApAQCAtMTg2LDcgKzE4OSwxMiBAQCBkZWYgbWFpbihh
cmdzKToKICAgICBvdXRwdXRGaWxlTmFtZXMgPSBhcmdzW2luT3V0QnJlYWtJbmRleCsxOl0KIAog
ICAgIGlucHV0RmlsZSA9IG9wZW4oaW5wdXRGaWxlTmFtZSwgJ3InKQotICAgIGlkbEZpbGVOYW1l
cyA9IGlucHV0RmlsZS5yZWFkKCkuc3BsaXQoJ1xuJykKKyAgICBpZGxGaWxlTmFtZXMgPSBbXQor
ICAgIGZvciBsaW5lIGluIGlucHV0RmlsZToKKyAgICAgICAgaWRsRmlsZU5hbWUgPSBsaW5lWzot
MV0uc3BsaXQoJyAnKVswXQorICAgICAgICBpZiBpZGxGaWxlTmFtZS5maW5kKCIvY3lnZHJpdmUi
KSA9PSAwOgorICAgICAgICAgICAgaWRsRmlsZU5hbWUgPSBwYXRoLmN5Z3BhdGgoaWRsRmlsZU5h
bWUpCisgICAgICAgIGlkbEZpbGVOYW1lcy5hcHBlbmQoaWRsRmlsZU5hbWUpCiAgICAgaW5wdXRG
aWxlLmNsb3NlKCkKIAogICAgIGZpbGVzTWV0YURhdGEgPSBleHRyYWN0TWV0YURhdGEoaWRsRmls
ZU5hbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGM2MDhhMTEyYmQyMTFjNzZmZGM5ZTkwODA1Yzg1
YjQ1MTI0MzBjOGMuLjQ3ZjRjYmJhZjJhZjQ4OGIyYjI1MWMxNmNmMzFmZTRjOTM4NDYwMzYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAgICAgICAgICAgICAnd2ViYXVk
aW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0NvbnZvbHZl
ck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9EZWxheU5vZGUuaWRsJywKKyAgICAg
ICAgICAgICd3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwnLAogICAgICAgICAgICAgJ3dl
YmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRp
by9IaWdoUGFzczJGaWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vSmF2YVNj
cmlwdEF1ZGlvTm9kZS5pZGwnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Nj
cmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKaW5kZXggMTYzMDM0NTUyOWE0Y2E5OTcxZTcwMmJm
MThlYjc1ZjZmNzFhMThhNC4uODRiNzNlZDUwYWYxZTMyMWMzZWY5MjBhMjFhMTkxN2QyMjlkNjg2
NyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1i
aW5kaW5ncy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRl
LWJpbmRpbmdzLnBsCkBAIC00OSw2ICs0OSw3IEBAIG15ICRwcmVwcm9jZXNzb3I7CiBteSAkd3Jp
dGVEZXBlbmRlbmNpZXM7CiBteSAkdmVyYm9zZTsKIG15ICRzdXBwbGVtZW50YWxEZXBlbmRlbmN5
RmlsZTsKK215ICRhZGRpdGlvbmFsSWRsRmlsZXNMaXN0OwogCiBHZXRPcHRpb25zKCdpbmNsdWRl
PXNAJyA9PiBcQGlkbERpcmVjdG9yaWVzLAogICAgICAgICAgICAnb3V0cHV0RGlyPXMnID0+IFwk
b3V0cHV0RGlyZWN0b3J5LApAQCAtNjAsNyArNjEsOCBAQCBHZXRPcHRpb25zKCdpbmNsdWRlPXNA
JyA9PiBcQGlkbERpcmVjdG9yaWVzLAogICAgICAgICAgICAncHJlcHJvY2Vzc29yPXMnID0+IFwk
cHJlcHJvY2Vzc29yLAogICAgICAgICAgICAndmVyYm9zZScgPT4gXCR2ZXJib3NlLAogICAgICAg
ICAgICAnd3JpdGUtZGVwZW5kZW5jaWVzJyA9PiBcJHdyaXRlRGVwZW5kZW5jaWVzLAotICAgICAg
ICAgICAnc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGU9cycgPT4gXCRzdXBwbGVtZW50YWxEZXBl
bmRlbmN5RmlsZSk7CisgICAgICAgICAgICdzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZT1zJyA9
PiBcJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlLAorICAgICAgICAgICAnYWRkaXRpb25hbElk
bEZpbGVzTGlzdD1zJyA9PiBcJGFkZGl0aW9uYWxJZGxGaWxlc0xpc3QpOwogCiBteSAkdGFyZ2V0
SWRsRmlsZSA9ICRBUkdWWzBdOwogCkBAIC05MywxMyArOTUsMjggQEAgaWYgKCRzdXBwbGVtZW50
YWxEZXBlbmRlbmN5RmlsZSkgewogICAgIG9wZW4gRkgsICI8ICRzdXBwbGVtZW50YWxEZXBlbmRl
bmN5RmlsZSIgb3IgZGllICJDYW5ub3Qgb3BlbiAkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGVc
biI7CiAgICAgd2hpbGUgKG15ICRsaW5lID0gPEZIPikgewogICAgICAgICBteSAoJGlkbEZpbGUs
IEBmb2xsb3dpbmdJZGxGaWxlcykgPSBzcGxpdCgvXHMrLywgJGxpbmUpOwotICAgICAgICBpZiAo
JGlkbEZpbGUgYW5kICRpZGxGaWxlIGVxICR0YXJnZXRJZGxGaWxlKSB7CisgICAgICAgIGlmICgk
aWRsRmlsZSBhbmQgYmFzZW5hbWUoJGlkbEZpbGUpIGVxIGJhc2VuYW1lKCR0YXJnZXRJZGxGaWxl
KSkgewogICAgICAgICAgICAgJGlkbEZvdW5kID0gMTsKICAgICAgICAgICAgIEBzdXBwbGVtZW50
ZWRJZGxGaWxlcyA9IEBmb2xsb3dpbmdJZGxGaWxlczsKICAgICAgICAgfQogICAgIH0KICAgICBj
bG9zZSBGSDsKIAorICAgICMgVGhlIGZpbGUgJGFkZGl0aW9uYWxJZGxGaWxlc0xpc3QgY29udGFp
bnMgb25lIElETCBmaWxlIHBlciBsaW5lOgorICAgICMgUC5pZGwKKyAgICAjIFEuaWRsCisgICAg
IyAuLi4KKyAgICAjIFRoZXNlIElETCBmaWxlcyBhcmUgb25lcyB3aGljaCBzaG91bGQgbm90IGJl
IGluY2x1ZGVkIGluIERlcml2ZWRTb3VyY2VzKi5jcHAKKyAgICAjIChpLmUuIHRoZXkgYXJlIG5v
dCBkZXNjcmliZWQgaW4gdGhlIHN1cHBsZW1lbnRhbCBkZXBlbmRlbmN5IGZpbGUpCisgICAgIyBi
dXQgc2hvdWxkIGdlbmVyYXRlIC5oIGFuZCAuY3BwIGZpbGVzLgorICAgIGlmICghJGlkbEZvdW5k
IGFuZCAkYWRkaXRpb25hbElkbEZpbGVzTGlzdCkgeworICAgICAgICBvcGVuIEZILCAiPCAkYWRk
aXRpb25hbElkbEZpbGVzTGlzdCIgb3IgZGllICJDYW5ub3Qgb3BlbiAkYWRkaXRpb25hbElkbEZp
bGVzTGlzdFxuIjsKKyAgICAgICAgbXkgQGlkbEZpbGVzID0gPEZIPjsKKyAgICAgICAgY2hvbXAo
QGlkbEZpbGVzKTsKKyAgICAgICAgJGlkbEZvdW5kID0gZ3JlcCB7ICRfIGFuZCBiYXNlbmFtZSgk
XykgZXEgYmFzZW5hbWUoJHRhcmdldElkbEZpbGUpIH0gQGlkbEZpbGVzOworICAgICAgICBjbG9z
ZSBGSDsKKyAgICB9CisKICAgICBpZiAoISRpZGxGb3VuZCkgewogICAgICAgICBpZiAoJHZlcmJv
c2UpIHsKICAgICAgICAgICAgIHByaW50ICIkdGFyZ2V0SWRsRmlsZSBpcyBzdXBwbGVtZW50aW5n
IGFub3RoZXIgSURMIGZpbGUsIGFuZCB0aHVzIC5oIGFuZCAuY3BwIGZvciAkdGFyZ2V0SWRsRmls
ZSBhcmUgbm90IGdlbmVyYXRlZC5cbiI7CkBAIC0xMTIsNiArMTI5LDc5IEBAIGlmICgkc3VwcGxl
bWVudGFsRGVwZW5kZW5jeUZpbGUpIHsKIG15ICR0YXJnZXRQYXJzZXIgPSBJRExQYXJzZXItPm5l
dyghJHZlcmJvc2UpOwogbXkgJHRhcmdldERvY3VtZW50ID0gJHRhcmdldFBhcnNlci0+UGFyc2Uo
JHRhcmdldElkbEZpbGUsICRkZWZpbmVzLCAkcHJlcHJvY2Vzc29yKTsKIAorIyBGSVhNRShoYXJh
a2VuKTogUmVtb3ZlIHRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQuCisjIFRoaXMgaWYtZWxzZSBzdGF0
ZW1lbnQgaXMgdGVtcG9yYXJ5IGFuZCB3aWxsIGJlIHJlbW92ZWQKKyMgYWZ0ZXIgYnVpbGQgc2Ny
aXB0cyBmb3IgYWxsIHBsYXRmb3JtcyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElETC4KKyMgVGhl
IG1vdGl2YXRpb24gZm9yIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgaXMgYXMgZm9sbG93czoKKyMK
KyMgSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB3ZSBuZWVkIHRv
CisjICgxKSBydW4gcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgYW5kIGdlbmVyYXRlIHN1cHBsZW1l
bnRhbF9kZXBlbmRlbmN5LnRtcAorIyAoMikgYW5kIHJ1biBnZW5lcmF0ZS1iaW5kaW5ncy5wbCB3
aXRoIHRoZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAuCisjCisjIFRoaXMgYnVpbGQgZmxv
dyByZXF1aXJlcyBhIGNoYW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1aWxkIHNjcmlwdHMsCisjIGJ1
dCBjaGFuZ2luZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0IG9uY2Ugd2l0aG91dCBhbnkg
cmVncmVzc2lvbiBpcyB0b28gZGlmZmljdWx0OgorIworIyAgICAgLSBEZXJpdmVkU291cmNlcy5t
YWtlCisjICAgICAtIERlcml2ZWRTb3VyY2VzLnByaQorIyAgICAgLSBHTlVtYWtlZmlsZS5hbQor
IyAgICAgLSBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyMgICAgIC0gVXNlSlNDLmNtYWtlCisj
ICAgICAtIFVzZVY4LmNtYWtlCisjICAgICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRz
CisjICAgICAtIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisjICAgICAtIGJpbmRpbmdz
L2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKyMgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAK
KyMKKyMgVGh1cywgd2UgYXJlIHBsYW5uaW5nIHRvIGNoYW5nZSB0aGUgYnVpbGQgc2NyaXB0cyBv
bmUgYnkgb25lLCB3aGljaCBpbXBsaWVzIHRoYXQKKyMgd2UgbmVlZCB0byBhbGxvdyB0aGUgdGVt
cG9yYXJ5IHN0YXRlIGluIHdoaWNoIHNvbWUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IFtTdXBwbGVt
ZW50YWxdIElETAorIyBidXQgb3RoZXJzIGRvIG5vdC4gVG8gYWNjb21wbGlzaCB0aGlzLCB3ZSBp
bnRyb2R1Y2UgYSB0ZW1wb3JhbCBJREwsIFtTdXBwbGVtZW50ZWRdLgorIyBUaGUgW1N1cHBsZW1l
bnRlZF0gSURMIG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0IHRoZSBhdHRyaWJ1dGUgaXMgbWFy
a2VkIHdpdGggW1N1cHBsZW1lbnRhbF0KKyMgaW4gYW5vdGhlciBJREwgZmlsZSBzb21ld2hlcmUs
IGxpa2UgdGhpczoKKyMKKyMgRE9NV2luZG93V2ViQXVkaW8uaWRsOgorIyAgICAgaW50ZXJmYWNl
IFsKKyMgICAgICAgICBTdXBwbGVtZW50YWw9RE9NV2luZG93CisjICAgICBdIERPTVdpbmRvd1dl
YkF1ZGlvIHsKKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7CisjICAgICAgICAgYXR0cmlidXRl
IGF0dHIyOworIyAgICAgfTsKKyMKKyMgRE9NV2luZG93LmlkbDoKKyMgICAgIGludGVyZmFjZSBb
CisjICAgICBdIERPTVdpbmRvdyB7CisjICAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRd
IGF0dHIxOyAvLyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3Jp
cHRzIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxMLgorIyAgICAgICAgIGF0dHJpYnV0ZSBbU3Vw
cGxlbWVudGVkXSBhdHRyMjsgLy8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwg
YnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFsTC4KKyMgICAgICAgICBhdHRy
aWJ1dGUgYXR0cjM7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHI0OworIyAgICAgfTsKKyMKKyMg
QXNzdW1pbmcgdGhlc2UgSURMIGZpbGVzLCB0aGUgYmVsb3cgY29kZSBpcyBkb2luZyB0aGUgZm9s
bG93aW5nIGxvZ2ljOgorIworIyAgICAgLSBJZiBhIGdpdmVuIGJ1aWxkIHNjcmlwdCBzdXBwb3J0
cyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMIChpLmUuIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZp
bGUgaXMgc3BlY2lmaWVkKSwKKyMgICAgICAgd2UgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGgg
dGhlIFtTdXBwbGVtZW50ZWRdIElETC4KKyMgICAgIC0gT3RoZXJ3aXNlIChpLmUuIC0tc3VwcGxl
bWVudGFsRGVwZW5kZW5jeUZpbGUgaXMgbm90IHNwZWNpZmllZCksCisjICAgICAgIHdlIHRyZWF0
IGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhcyBub3JtYWwgYXR0
cmlidXRlcworIyAgICAgICBhbmQgaW5zdGVhZCBpZ25vcmUgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0
aGUgW1N1cHBsZW1lbnRhbF0gSURMCisjICAgICAgIChpLmUuIHdlIGdlbmVyYXRlIG5vdGhpbmcg
ZnJvbSB0aGUgaWRsIGZpbGUgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMKS4KK2lmICgkc3Vw
cGxlbWVudGFsRGVwZW5kZW5jeUZpbGUpIHsKKyAgICBmb3JlYWNoIG15ICRkYXRhTm9kZSAoQHsk
dGFyZ2V0RG9jdW1lbnQtPmNsYXNzZXN9KSB7CisgICAgICAgIG15IEBub25TdXBwbGVtZW50ZWRB
dHRyaWJ1dGVzOworICAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1dGUgKEB7JGRhdGFOb2RlLT5h
dHRyaWJ1dGVzfSkgeworICAgICAgICAgICAgaWYgKCEkYXR0cmlidXRlLT5zaWduYXR1cmUtPmV4
dGVuZGVkQXR0cmlidXRlcy0+eyJTdXBwbGVtZW50ZWQifSkgeworICAgICAgICAgICAgICAgIHB1
c2goQG5vblN1cHBsZW1lbnRlZEF0dHJpYnV0ZXMsICRhdHRyaWJ1dGUpOworICAgICAgICAgICAg
fQorICAgICAgICB9CisgICAgICAgICRkYXRhTm9kZS0+YXR0cmlidXRlcyhcQG5vblN1cHBsZW1l
bnRlZEF0dHJpYnV0ZXMpOworICAgIH0KK30gZWxzZSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5v
ZGUgKEB7JHRhcmdldERvY3VtZW50LT5jbGFzc2VzfSkgeworICAgICAgICBpZiAoJGRhdGFOb2Rl
LT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3VwcGxlbWVudGFsIn0pIHsKKyAgICAgICAgICAgIGV4
aXQgMDsKKyAgICAgICAgfQorICAgIH0KK30KKyMgVGVtcG9yYXJ5IGlmLWVsc2Ugc3RhdGVtZW50
IHVudGlsIGhlcmUuCisKIGZvcmVhY2ggbXkgJGlkbEZpbGUgKEBzdXBwbGVtZW50ZWRJZGxGaWxl
cykgewogICAgIG5leHQgaWYgJGlkbEZpbGUgZXEgJHRhcmdldElkbEZpbGU7CiAKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAppbmRleCA5ZjFjMDdlZDRiNDkzM2NhNzM5ODcyMGRjNmMzNjAxYmU4
NTI2NmYyLi40YWE1YWMzODA4ZWIzZTQ3MjZlOTY5YTg3NjUxZmU0NGVlNzljNzFmIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC01MjMsOCArNTIzLDggQEAgbW9kdWxlIHdpbmRvdyB7
CiAgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyXSBGbG9hdDY0QXJyYXlDb25zdHJ1
Y3RvciBGbG9hdDY0QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgogICAgICAgICBh
dHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gRGF0YVZpZXdDb25zdHJ1Y3RvciBEYXRhVmlldzsg
Ly8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCiAKLSAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0
b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCX0FVRElPLEVuYWJsZWRBdFJ1bnRpbWVdIEF1ZGlvQ29u
dGV4dENvbnN0cnVjdG9yIHdlYmtpdEF1ZGlvQ29udGV4dDsgLy8gVXNhYmxlIHdpdGggbmV3IG9w
ZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bh
bm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7IC8vIE5lZWRlZCBmb3Ig
cGFubmluZyBtb2RlbCBjb25zdGFudHMKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQs
IEpTQ0N1c3RvbUdldHRlciwgQ29uZGl0aW9uYWw9V0VCX0FVRElPLCBFbmFibGVkQXRSdW50aW1l
XSBBdWRpb0NvbnRleHRDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3
aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0
aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bhbm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bh
bm5lck5vZGU7IC8vIE5lZWRlZCBmb3IgcGFubmluZyBtb2RlbCBjb25zdGFudHMKIAogICAgICAg
ICAvLyBFdmVudCBDb25zdHJ1Y3RvcnMKICAgICAgICAgYXR0cmlidXRlIEV2ZW50Q29uc3RydWN0
b3IgRXZlbnQ7CkBAIC01NTMsOCArNTUzLDggQEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0
dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTXSBUb3VjaEV2ZW50Q29uc3RydWN0b3Ig
VG91Y2hFdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfU09DS0VUU10g
Q2xvc2VFdmVudENvbnN0cnVjdG9yIENsb3NlRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBTdG9y
YWdlRXZlbnRDb25zdHJ1Y3RvciBTdG9yYWdlRXZlbnQ7Ci0gICAgICAgIGF0dHJpYnV0ZSBbQ29u
ZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlv
UHJvY2Vzc2luZ0V2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJ
T10gT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1ZGlvQ29t
cGxldGlvbkV2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9u
YWw9V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9
V0VCX0FVRElPXSBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5l
QXVkaW9Db21wbGV0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9SU5Q
VVRfU1BFRUNIXSBTcGVlY2hJbnB1dEV2ZW50Q29uc3RydWN0b3IgU3BlZWNoSW5wdXRFdmVudDsK
ICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9TVFJFQU1dIE1lZGlhU3RyZWFt
RXZlbnRDb25zdHJ1Y3RvciBNZWRpYVN0cmVhbUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPVdFQkdMXSBXZWJHTENvbnRleHRFdmVudENvbnN0cnVjdG9yIFdlYkdMQ29udGV4
dEV2ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2Vi
QXVkaW8uaWRsIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRs
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmRkMTA4ZWZiN2IwMzNlZmZiMWVlZWQ3YWM0MDUxYjE3MjBmN2ZhOTQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRp
by5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMSBHb29nbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1bGUgd2luZG93IHsKKworICAgIGludGVyZmFj
ZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKKyAgICAgICAgU3VwcGxlbWVudGFs
PURPTVdpbmRvdworICAgIF0gRE9NV2luZG93V2ViQXVkaW8geworICAgICAgICBhdHRyaWJ1dGUg
W0pTQ0N1c3RvbUdldHRlciwgRW5hYmxlZEF0UnVudGltZV0gQXVkaW9Db250ZXh0Q29uc3RydWN0
b3Igd2Via2l0QXVkaW9Db250ZXh0OworICAgICAgICBhdHRyaWJ1dGUgQXVkaW9QYW5uZXJOb2Rl
Q29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOworICAgICAgICBhdHRyaWJ1dGUgQXVk
aW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVudDsKKyAgICAg
ICAgYXR0cmlidXRlIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxp
bmVBdWRpb0NvbXBsZXRpb25FdmVudDsKKyAgICB9OworCit9ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118914</attachid>
            <date>2011-12-12 17:09:12 -0800</date>
            <delta_ts>2011-12-13 00:26:45 -0800</delta_ts>
            <desc>patch for commit</desc>
            <filename>bug-73394-20111213100911.patch</filename>
            <type>text/plain</type>
            <size>22484</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDUzMTRlZTA1MTVjZWFh
MWQzMTRkMTc4NjUwNjJkODBlM2Q5MWQzNS4uOGE5YTE1MWU5NGI5MmY4MTM2MGZlNDlkZjMyM2U3
YWQ0YWY5ZDIwNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMS0xMi0wNyAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXNlIHRoZSBbU3Vw
cGxlbWVudGFsXSBJREwgZm9yIHdlYmF1ZGlvIGF0dHJpYnV0ZXMgaW4gQ2hyb21pdW0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgQWRhbSBCYXJ0aC4KKworICAgICAgICAtIE92ZXJ2aWV3OiBVc2luZyB0
aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB0aGlzIHBhdGNoIG1vdmVzIHRoZSBhdHRyaWJ1dGUKKyAg
ICAgICAgZGVjbGFyYXRpb25zIG9mIHdlYmF1ZGlvIGZyb20gRE9NV2luZG93LmlkbCBpbnRvIGEg
bmV3IElETCBmaWxlCisgICAgICAgIHdlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbCwgd2hp
Y2ggaGVscHMgbWFrZSB3ZWJhdWRpbyBhIHNlbGYtY29udGFpbmVkCisgICAgICAgIGZlYXR1cmUg
KGFrYSBhIG1vZHVsZSkuCisKKyAgICAgICAgLSBUaGlzIHBhdGNoIGNoYW5nZXMgdGhlIGJ1aWxk
IGZsb3cgb2YgV2ViQ29yZS5neXAgYXMgZm9sbG93czoKKworICAgICAgICAgICAgUHJldmlvdXMg
YnVpbGQgZmxvdzoKKyAgICAgICAgICAgICAgICBmb3JlYWNoICRpZGwgKGFsbCBJREwgZmlsZXMp
IHsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZGVwZW5kcyBvbiAk
aWRsOworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCByZWFkcyAkaWRs
OworICAgICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0ZXMgLmgg
YW5kIC5jcHAgZmlsZXMgZm9yICRpZGw7CisgICAgICAgICAgICAgICAgfQorCisgICAgICAgICAg
ICBOZXcgYnVpbGQgZmxvdyAoU2VlIHRoZSBkaXNjdXNzaW9ucyBpbiBidWcgNzIxMzggZm9yIG1v
cmUgZGV0YWlscyk6CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgZGVw
ZW5kcyBvbiBhbGwgSURMIGZpbGVzOworICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVu
dGFsLnBsIHJlYWRzIGFsbCBJREwgZmlsZXM7CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBw
bGVtZW50YWwucGwgcmVzb2x2ZXMgdGhlIGRlcGVuZGVuY3kgb2YgW1N1cHBsZW1lbnRhbD1YWFhY
XTsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCBvdXRwdXRzIHN1cHBs
ZW1lbnRhbF9kZXBlbmRlbmN5LnRtcDsKKyAgICAgICAgICAgICAgICBmb3JlYWNoICRpZGwgKGFs
bCBJREwgZmlsZXMpIHsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwg
ZGVwZW5kcyBvbiAkaWRsIGFuZCBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXA7CisgICAgICAg
ICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzICRpZGw7CisgICAgICAgICAg
ICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHJlYWRzIHN1cHBsZW1lbnRhbF9kZXBlbmRl
bmN5LnRtcDsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJh
dGVzIC5oIGFuZCAuY3BwIGZpbGVzIGZvciAkaWRsLCBpbmNsdWRpbmcgYWxsIGF0dHJpYnV0ZXMg
aW4gSURMIGZpbGVzIHdoaWxlbWVudGluZyAkaWRsOworICAgICAgICAgICAgICAgIH0KKworICAg
ICAgICAtIFRoaXMgcGF0Y2ggaW50cm9kdWNlcyBhIHRlbXBvcmFyeSBJREwsIFtTdXBwbGVtZW50
ZWRdLiBUaGUgW1N1cHBsZW1lbnRlZF0gSURMCisgICAgICAgIHdpbGwgYmUgcmVtb3ZlZCBhZnRl
ciBidWlsZCBzY3JpcHRzIGZvciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50
YWxdIElETC4KKyAgICAgICAgVGhlIG1vdGl2YXRpb24gZm9yIHRoZSBbU3VwcGxlbWVudGVkXSBJ
REwgaXMgYXMgZm9sbG93czoKKworICAgICAgICBJbiBvcmRlciB0byBzdXBwb3J0IHRoZSBbU3Vw
cGxlbWVudGFsXSBJREwsIHdlIG5lZWQgdG8KKyAgICAgICAgKDEpIHJ1biByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCBhbmQgZ2VuZXJhdGUgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wCisgICAg
ICAgICgyKSBhbmQgcnVuIGdlbmVyYXRlLWJpbmRpbmdzLnBsIHdpdGggdGhlIHN1cHBsZW1lbnRh
bF9kZXBlbmRlbmN5LnRtcC4KKworICAgICAgICBUaGlzIGJ1aWxkIGZsb3cgcmVxdWlyZXMgYSBj
aGFuZ2Ugb24gdGhlIGZvbGxvd2luZyBidWlsZCBzY3JpcHRzLAorICAgICAgICBidXQgY2hhbmdp
bmcgYWxsIHRoZSBidWlsZCBzY3JpcHRzIGFsbCBhdCBvbmNlIHdpdGhvdXQgYW55IHJlZ3Jlc3Np
b24gaXMgdG9vIGRpZmZpY3VsdDoKKworICAgICAgICAgICAgLSBEZXJpdmVkU291cmNlcy5tYWtl
CisgICAgICAgICAgICAtIERlcml2ZWRTb3VyY2VzLnByaQorICAgICAgICAgICAgLSBHTlVtYWtl
ZmlsZS5hbQorICAgICAgICAgICAgLSBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyAgICAgICAg
ICAgIC0gVXNlSlNDLmNtYWtlCisgICAgICAgICAgICAtIFVzZVY4LmNtYWtlCisgICAgICAgICAg
ICAtIFdlYkNvcmUudmNwcm9qL01pZ3JhdGVTY3JpcHRzCisgICAgICAgICAgICAtIFdlYkNvcmUu
dmNwcm9qL1dlYkNvcmUudmNwcm9qCisgICAgICAgICAgICAtIGJpbmRpbmdzL2dvYmplY3QvR05V
bWFrZWZpbGUuYW0KKyAgICAgICAgICAgIC0gV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKKworICAg
ICAgICBUaHVzLCB3ZSBhcmUgcGxhbm5pbmcgdG8gY2hhbmdlIHRoZSBidWlsZCBzY3JpcHRzIG9u
ZSBieSBvbmUsIHdoaWNoIGltcGxpZXMgdGhhdAorICAgICAgICB3ZSBuZWVkIHRvIGFsbG93IHRo
ZSB0ZW1wb3Jhcnkgc3RhdGUgaW4gd2hpY2ggc29tZSBidWlsZCBzY3JpcHRzIHN1cHBvcnQgW1N1
cHBsZW1lbnRhbF0gSURMCisgICAgICAgIGJ1dCBvdGhlcnMgZG8gbm90LiBUbyBhY2NvbXBsaXNo
IHRoaXMsIHdlIGludHJvZHVjZSBhIHRlbXBvcmFyeSBJREwsIFtTdXBwbGVtZW50ZWRdLgorICAg
ICAgICBUaGUgW1N1cHBsZW1lbnRlZF0gSURMIG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0IHRo
ZSBhdHRyaWJ1dGUgaXMgbWFya2VkIHdpdGggW1N1cHBsZW1lbnRhbF0KKyAgICAgICAgaW4gYW5v
dGhlciBJREwgZmlsZSBzb21ld2hlcmUsIGxpa2UgdGhpczoKKworICAgICAgICAgICAgRE9NV2lu
ZG93V2ViQXVkaW8uaWRsOgorICAgICAgICAgICAgICAgIGludGVyZmFjZSBbCisgICAgICAgICAg
ICAgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5kb3cKKyAgICAgICAgICAgICAgICBdIERPTVdp
bmRvd1dlYkF1ZGlvIHsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIxOworICAg
ICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjI7CisgICAgICAgICAgICAgICAgfTsKKwor
ICAgICAgICAgICAgRE9NV2luZG93LmlkbDoKKyAgICAgICAgICAgICAgICBpbnRlcmZhY2UgWwor
ICAgICAgICAgICAgICAgIF0gRE9NV2luZG93IHsKKyAgICAgICAgICAgICAgICAgICAgYXR0cmli
dXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIxOyAvLyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVkIGFm
dGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdSBJREwKKyAgICAgICAgICAgICAg
ICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIyOyAvLyBUaGlzIGxpbmUgd2lsbCBi
ZSByZW1vdmVkIGFmdGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdSBJREwuCisg
ICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMzsKKyAgICAgICAgICAgICAgICAgICAg
YXR0cmlidXRlIGF0dHI0OworICAgICAgICAgICAgICAgIH07CisKKyAgICAgICAgQXNzdW1pbmcg
dGhlc2UgSURMIGZpbGVzLCB0aGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIGZvbGxvd2luZyBsb2dp
YyBpbiBnZW5lcmF0ZS1iaW5kaW5ncy5wbDoKKworICAgICAgICAgICAgLSBJZiBhIGdpdmVuIGJ1
aWxkIHNjcmlwdCBzdXBwb3J0cyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLAorICAgICAgICAgICAg
Z2VuZXJhdGUtYmluZGluZ3MucGwgaWdub3JlcyBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3Vw
cGxlbWVudGVkXSBJREwuCisgICAgICAgICAgICAtIE90aGVyd2lzZSwgZ2VuZXJhdGUtYmluZGlu
Z3MucGwgdHJlYXRzIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElETAor
ICAgICAgICAgICAgYXMgbm9ybWFsIGF0dHJpYnV0ZXMgYW5kIGluc3RlYWQgaWdub3JlcyBhbGwg
YXR0cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGFsXSBJREwKKyAgICAgICAgICAgIChpLmUu
IGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdlbmVyYXRlcyBub3RoaW5nIGZyb20gdGhlIElETCBmaWxl
IHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETCkuCisKKyAgICAgICAgVGVzdHM6IHdlYmF1ZGlv
LyoKKworICAgICAgICAqIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwOiBEZXNjcmliZXMgdGhlIGJ1
aWxkIGZsb3cgdGhhdCBJIGRlc2NyaWJlZCBhYm92ZS4KKyAgICAgICAgKiBXZWJDb3JlLmd5cC9z
Y3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5OgorICAgICAgICAobWFpbik6
IFJlYWRzIHRoZSBJREwgZmlsZSBuYW1lcyBmcm9tIHRoZSBpbnB1dCBmaWxlIChpLmUuIHN1cHBs
ZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCksCisgICAgICAgIHdoaWNoIGFyZSBkZXNjcmliZWQgYXQg
dGhlIGZpcnN0IGNvbHVtbiBvZiBlYWNoIGxpbmUgaW4gdGhlIGlucHV0IGZpbGUuCisgICAgICAg
IElmIHRoZSBmaWxlIG5hbWUgaXMgYSAiL2N5Z2RyaXZlL2MvLi4uIi1zdHlsZSBwYXRoLCBpdCBp
cyBjb252ZXJ0ZWQgdG8gYSAiQzpcY3lnd2luXC4uLiItc3R5bGUKKyAgICAgICAgcGF0aCBieSB0
aGUgY3lncGF0aCBjb21tYW5kLgorICAgICAgICAqIFdlYkNvcmUuZ3lwaTogQWRkZWQgRE9NV2lu
ZG93V2ViQXVkaW8uaWRsLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmlu
ZGluZ3MucGw6IEFzIGEgdGVtcG9yYXJ5IHNvbHV0aW9uLCBpZiB0aGUgcGxhdGZvcm0gZG9lcyBu
b3QKKyAgICAgICAgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMLCB0aGUgcGVybCBzY3Jp
cHQgaWdub3JlcyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMIGFuZCBpbnN0ZWFkCisgICAgICAgIHVz
ZXMgdGhlIFtTdXBwbGVtZW50ZWRdIElETC4gT3RoZXJ3aXNlLCB0aGUgcGVybCBzY3JpcHQgaWdu
b3JlcyB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIGFuZAorICAgICAgICBpbnN0ZWFkIHVzZXMgdGhl
IFtTdXBwbGVtZW50YWxdIElETC4KKyAgICAgICAgQWRkZWQgdGhlIC0tYWRkaXRpb25hbElkbEZp
bGVzTGlzdCBvcHRpb24gdG8gc3BlY2lmeSB0aGUgSURMIGZpbGVzIHRoYXQgYXJlIG5vdCBsaXN0
ZWQgaW4KKyAgICAgICAgc3VwcGxlbWVudGFsLWRlcGVuZGVuY3kudG1wIGJ1dCBzaG91bGQgZ2Vu
ZXJhdGUgLmggYW5kIC5jcHAgZmlsZXMuCisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOiBB
ZGRlZCB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIHRvIHdlYmF1ZGlvLXJlbGF0ZWQgYXR0cmlidXRl
cy4KKyAgICAgICAgQXMgSSBkZXNjcmliZWQgYWJvdmUsIHRoZSBbU3VwcGxlbWVudGVkXSBJREwg
d2lsbCBiZSByZW1vdmVkIGFmdGVyIGFsbCBwbGF0Zm9ybXMgc3VwcG9ydAorICAgICAgICB0aGUg
W1N1cHBsZW1lbnRhbF0gSURMLgorICAgICAgICAqIHdlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlv
LmlkbDogQWRkZWQuIERlc2NyaWJlcyB0aGUgW1N1cHBsZW1lbnRhbD1ET01XaW5kb3ddIElETC4K
KyAgICAgICAgVGhlIGF0dHJpYnV0ZXMgaW4gdGhpcyBJREwgZmlsZSBzaG91bGQgYmUgdHJlYXRl
ZCBhcyBpZiB0aGV5IGFyZSB3cml0dGVuIGluIERPTVdpbmRvdy5pZGwuCisKIDIwMTEtMTItMTIg
IEtlbm5ldGggUnVzc2VsbCAgPGtickBnb29nbGUuY29tPgogCiAgICAgICAgIFVucmV2aWV3ZWQg
V2luZG93cyBidWlsZCBmaXggYWZ0ZXIgaHR0cDovL3RyYWMud2Via2l0Lm9yZy9jaGFuZ2VzZXQv
MTAyNjE5IC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUu
Z3lwIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5neXAKaW5kZXggZThkNTJh
YjcwZGY5MTBjOWI5ZjRlODI2NmZhMTVhYTUxMTUzNDgzNS4uODg2MjAzZDBhZDBkNzU3MTJmMTEz
ZDhiODE4ZjczMzhjNWUzMjk4MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5n
eXAvV2ViQ29yZS5neXAKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvV2ViQ29yZS5n
eXAKQEAgLTQ0Niw5ICs0NDYsNTMgQEAKICAgICAgIF0KICAgICB9LAogICAgIHsKKyAgICAgICd0
YXJnZXRfbmFtZSc6ICdnZW5lcmF0ZV9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeScsCisgICAgICAn
dHlwZSc6ICdub25lJywKKyAgICAgICdhY3Rpb25zJzogWworICAgICAgICAgeworICAgICAgICAg
ICdhY3Rpb25fbmFtZSc6ICdnZW5lcmF0ZVN1cHBsZW1lbnRhbERlcGVuZGVuY3knLAorICAgICAg
ICAgICd2YXJpYWJsZXMnOiB7CisgICAgICAgICAgICAjIFdyaXRlIHNvdXJjZXMgaW50byBhIGZp
bGUsIHNvIHRoYXQgdGhlIGFjdGlvbiBjb21tYW5kIGxpbmUgd29uJ3QKKyAgICAgICAgICAgICMg
ZXhjZWVkIE9TIGxpbWl0cy4KKyAgICAgICAgICAgICdpZGxfZmlsZXNfbGlzdCc6ICc8fChpZGxf
ZmlsZXNfbGlzdC50bXAgPEAoYmluZGluZ3NfaWRsX2ZpbGVzKSknLAorICAgICAgICAgIH0sCisg
ICAgICAgICAgJ2lucHV0cyc6IFsKKyAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL3Jl
c29sdmUtc3VwcGxlbWVudGFsLnBsJywKKyAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRz
L0lETFBhcnNlci5wbScsCisgICAgICAgICAgICAnPChpZGxfZmlsZXNfbGlzdCknLAorICAgICAg
ICAgICAgJzwhQChjYXQgPChpZGxfZmlsZXNfbGlzdCkpJywKKyAgICAgICAgICBdLAorICAgICAg
ICAgICdvdXRwdXRzJzogWworICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIp
L3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCisgICAgICAgICAgXSwKKyAgICAgICAgICAn
YWN0aW9uJzogWworICAgICAgICAgICAgJ3BlcmwnLAorICAgICAgICAgICAgJy13JywKKyAgICAg
ICAgICAgICctSS4uL2JpbmRpbmdzL3NjcmlwdHMnLAorICAgICAgICAgICAgJy4uL2JpbmRpbmdz
L3NjcmlwdHMvcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwnLAorICAgICAgICAgICAgJy0tZGVmaW5l
cycsCisgICAgICAgICAgICAnPChmZWF0dXJlX2RlZmluZXMpIExBTkdVQUdFX0pBVkFTQ1JJUFQg
VjhfQklORElORycsCisgICAgICAgICAgICAnLS1pZGxGaWxlc0xpc3QnLAorICAgICAgICAgICAg
JzwoaWRsX2ZpbGVzX2xpc3QpJywKKyAgICAgICAgICAgICctLXN1cHBsZW1lbnRhbERlcGVuZGVu
Y3lGaWxlJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVt
ZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAgICAgICAgIF0sCisgICAgICAgICAgJ21lc3NhZ2Un
OiAnUmVzb2x2aW5nIFtTdXBwbGVtZW50YWw9WFhYXSBkZXBlbmRlbmNpZXMgaW4gYWxsIElETCBm
aWxlcycsCisgICAgICAgIH0KKyAgICAgIF0KKyAgICB9LAorICAgIHsKICAgICAgICd0YXJnZXRf
bmFtZSc6ICd3ZWJjb3JlX2JpbmRpbmdzX3NvdXJjZXMnLAogICAgICAgJ3R5cGUnOiAnbm9uZScs
CiAgICAgICAnaGFyZF9kZXBlbmRlbmN5JzogMSwKKyAgICAgICdkZXBlbmRlbmNpZXMnOiBbCisg
ICAgICAgICdnZW5lcmF0ZV9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeScsCisgICAgICBdLAorICAg
ICAgJ3ZhcmlhYmxlcyc6IHsKKyAgICAgICAgIyBXcml0ZSBzb3VyY2VzIGludG8gYSBmaWxlLCBz
byB0aGF0IHRoZSBhY3Rpb24gY29tbWFuZCBsaW5lIHdvbid0CisgICAgICAgICMgZXhjZWVkIE9T
IGxpbWl0cy4KKyAgICAgICAgJ2FkZGl0aW9uYWxfaWRsX2ZpbGVzX2xpc3QnOiAnPHwoYWRkaXRp
b25hbF9pZGxfZmlsZXNfbGlzdC50bXAgPEAod2ViY29yZV90ZXN0X3N1cHBvcnRfaWRsX2ZpbGVz
KSknLAorICAgICAgfSwKICAgICAgICdzb3VyY2VzJzogWwogICAgICAgICAjIGJpc29uIHJ1bGUK
ICAgICAgICAgJy4uL2Nzcy9DU1NHcmFtbWFyLnknLApAQCAtODYxLDE1ICs5MDUsOSBAQAogICAg
ICAgICB9LAogICAgICAgICB7CiAgICAgICAgICAgJ2FjdGlvbl9uYW1lJzogJ2Rlcml2ZWRfc291
cmNlc19hbGxfaW5fb25lJywKLSAgICAgICAgICAndmFyaWFibGVzJzogewotICAgICAgICAgICAg
IyBXcml0ZSBzb3VyY2VzIGludG8gYSBmaWxlLCBzbyB0aGF0IHRoZSBhY3Rpb24gY29tbWFuZCBs
aW5lIHdvbid0Ci0gICAgICAgICAgICAjIGV4Y2VlZCBPUyBsaW1pdGVzLgotICAgICAgICAgICAg
J2lkbHNfbGlzdF90ZW1wX2ZpbGUnOiAnPHwoaWRsc19saXN0X3RlbXBfZmlsZS50bXAgPEAoYmlu
ZGluZ3NfaWRsX2ZpbGVzKSknLAotICAgICAgICAgIH0sCiAgICAgICAgICAgJ2lucHV0cyc6IFsK
ICAgICAgICAgICAgICdzY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5JywK
LSAgICAgICAgICAgICc8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpJywKLSAgICAgICAgICAgICc8IUAo
Y2F0IDwoaWRsc19saXN0X3RlbXBfZmlsZSkpJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRF
Uk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgIF0s
CiAgICAgICAgICAgJ291dHB1dHMnOiBbCiAgICAgICAgICAgICAnPEAoZGVyaXZlZF9zb3VyY2Vz
X2FnZ3JlZ2F0ZV9maWxlcyknLApAQCAtODc3LDcgKzkxNSw3IEBACiAgICAgICAgICAgJ2FjdGlv
bic6IFsKICAgICAgICAgICAgICdweXRob24nLAogICAgICAgICAgICAgJ3NjcmlwdHMvYWN0aW9u
X2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHknLAotICAgICAgICAgICAgJzwoaWRsc19saXN0X3Rl
bXBfZmlsZSknLAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBs
ZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCiAgICAgICAgICAgICAnLS0nLAogICAgICAgICAgICAg
JzxAKGRlcml2ZWRfc291cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKICAgICAgICAgICBdLApAQCAt
OTMwLDYgKzk2OCw5IEBACiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9JRExQYXJz
ZXIucG0nLAogICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURMU3RydWN0dXJlLnBt
JywKICAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL3ByZXByb2Nlc3Nvci5wbScsCisg
ICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVu
ZGVuY3kudG1wJywKKyAgICAgICAgICAgICc8KGFkZGl0aW9uYWxfaWRsX2ZpbGVzX2xpc3QpJywK
KyAgICAgICAgICAgICc8IUAoY2F0IDwoYWRkaXRpb25hbF9pZGxfZmlsZXNfbGlzdCkpJywKICAg
ICAgICAgICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWwogICAgICAgICAgICAgIyBGSVhNRTog
IFRoZSAuY3BwIGZpbGUgc2hvdWxkIGJlIGluIHdlYmtpdC9iaW5kaW5ncyBvbmNlCkBAIC05NzUs
NiArMTAxNiwxMCBAQAogICAgICAgICAgICAgJy0tZ2VuZXJhdG9yJywKICAgICAgICAgICAgICdW
OCcsCiAgICAgICAgICAgICAnPEAoZ2VuZXJhdG9yX2luY2x1ZGVfZGlycyknLAorICAgICAgICAg
ICAgJy0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUnLAorICAgICAgICAgICAgJzwoU0hBUkVE
X0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcCcsCisgICAgICAg
ICAgICAnLS1hZGRpdGlvbmFsSWRsRmlsZXNMaXN0JywKKyAgICAgICAgICAgICc8KGFkZGl0aW9u
YWxfaWRsX2ZpbGVzX2xpc3QpJywKICAgICAgICAgICAgICc8KFJVTEVfSU5QVVRfUEFUSCknLAog
ICAgICAgICAgIF0sCiAgICAgICAgICAgJ21lc3NhZ2UnOiAnR2VuZXJhdGluZyBiaW5kaW5nIGZy
b20gPChSVUxFX0lOUFVUX1BBVEgpJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25l
LnB5CmluZGV4IDU4NjA3MWJmYzA4MDFkNGM2NGI2OGI3ODczMTJmMjJjNWMyOGYzYWEuLmY1MzVh
OTZlOTk0Y2RkODkwMjk1Y2E2N2M4MTJkZDFkZGEzOGMwYjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUu
cHkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZl
ZHNvdXJjZXNhbGxpbm9uZS5weQpAQCAtMzIsMTIgKzMyLDEyIEBACiAjIFVzZSBvZiB0aGlzIHNv
dXJjZSBjb2RlIGlzIGdvdmVybmVkIGJ5IGEgQlNELXN0eWxlIGxpY2Vuc2UgdGhhdCBjYW4gYmUK
ICMgZm91bmQgaW4gdGhlIExJQ0VOU0UgZmlsZS4KIAotIyBhY3Rpb25fZGVyaXZlZHNvdXJjZXNs
aXN0LnB5IGdlbmVyYXRlcyBhIHNpbmdsZSBjcHAgZmlsZSB0aGF0IGluY2x1ZGVzCisjIGFjdGlv
bl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IGdlbmVyYXRlcyBhIHNpbmdsZSBjcHAgZmlsZSB0
aGF0IGluY2x1ZGVzCiAjIGFsbCB2OCBiaW5kaW5ncyBjcHAgZmlsZXMgZ2VuZXJhdGVkIGZyb20g
aWRscy4gRmlsZXMgY2FuIGJlIGFzc2lnbmVkIGludG8KICMgbXVsdGlwbGUgb3V0cHV0IGZpbGVz
LCB0byByZWR1Y2UgbWF4aW11bSBjb21waWxhdGlvbiB1bml0IHNpemUgYW5kIGFsbG93CiAjIHBh
cmFsbGVsIGNvbXBpbGF0aW9uLgogIwotIyB1c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2VzbGlz
dC5weSBJRExfRklMRVNfTElTVCAtLSBPVVRQVVRfRklMRTEgT1VUUFVUX0ZJTEUyIC4uLgorIyB1
c2FnZTogYWN0aW9uX2Rlcml2ZWRzb3VyY2VzYWxsaW5vbmUucHkgSURMX0ZJTEVTX0xJU1QgLS0g
T1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAuLi4KICMKICMgTm90ZSB0aGF0IElETF9GSUxFU19M
SVNUIGlzIGEgdGV4dCBmaWxlIGNvbnRhaW5pbmcgdGhlIElETCBmaWxlIHBhdGhzLgogCkBAIC0x
NzksNiArMTc5LDE2IEBAIGRlZiB3cml0ZUNvbnRlbnQoY29udGVudCwgb3V0cHV0RmlsZU5hbWUp
OgogICAgIGYuY2xvc2UoKQogCiAKK2RlZiBjeWdwYXRoKGZpbGVOYW1lKToKKyAgICBjbWQgPSBb
J2N5Z3BhdGgnLCAnLXdhJywgZmlsZU5hbWVdCisgICAgcHJvY2VzcyA9IHN1YnByb2Nlc3MuUG9w
ZW4oY21kLCBzdGRvdXQ9c3VicHJvY2Vzcy5QSVBFLCBzdGRlcnI9c3VicHJvY2Vzcy5TVERPVVQp
CisgICAgZXhpdENvZGUgPSBwcm9jZXNzLndhaXQoKQorICAgIGlmIGV4aXRDb2RlOgorICAgICAg
ICBwcmludCAiRXJyb3I6IGN5Z3BhdGggZXhpdGVkIHdpdGggZXJyb3IgY29kZSAiICsgZXhpdENv
ZGUgKyAiLiIKKyAgICAgICAgc3lzLmV4aXQoKQorICAgIHJldHVybiBwcm9jZXNzLmNvbW11bmlj
YXRlKClbMF0ucnN0cmlwKCkKKworCiBkZWYgbWFpbihhcmdzKToKICAgICBhc3NlcnQobGVuKGFy
Z3MpID4gMykKICAgICBpbk91dEJyZWFrSW5kZXggPSBhcmdzLmluZGV4KCctLScpCkBAIC0xODYs
NyArMTk2LDEyIEBAIGRlZiBtYWluKGFyZ3MpOgogICAgIG91dHB1dEZpbGVOYW1lcyA9IGFyZ3Nb
aW5PdXRCcmVha0luZGV4KzE6XQogCiAgICAgaW5wdXRGaWxlID0gb3BlbihpbnB1dEZpbGVOYW1l
LCAncicpCi0gICAgaWRsRmlsZU5hbWVzID0gaW5wdXRGaWxlLnJlYWQoKS5zcGxpdCgnXG4nKQor
ICAgIGlkbEZpbGVOYW1lcyA9IFtdCisgICAgZm9yIGxpbmUgaW4gaW5wdXRGaWxlOgorICAgICAg
ICBpZGxGaWxlTmFtZSA9IGxpbmVbOi0xXS5zcGxpdCgnICcpWzBdCisgICAgICAgIGlmIGlkbEZp
bGVOYW1lLmZpbmQoIi9jeWdkcml2ZSIpID09IDA6CisgICAgICAgICAgICBpZGxGaWxlTmFtZSA9
IGN5Z3BhdGgoaWRsRmlsZU5hbWUpCisgICAgICAgIGlkbEZpbGVOYW1lcy5hcHBlbmQoaWRsRmls
ZU5hbWUpCiAgICAgaW5wdXRGaWxlLmNsb3NlKCkKIAogICAgIGZpbGVzTWV0YURhdGEgPSBleHRy
YWN0TWV0YURhdGEoaWRsRmlsZU5hbWVzKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IGM2MDhhMTEyYmQy
MTFjNzZmZGM5ZTkwODA1Yzg1YjQ1MTI0MzBjOGMuLjQ3ZjRjYmJhZjJhZjQ4OGIyYjI1MWMxNmNm
MzFmZTRjOTM4NDYwMzYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQor
KysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE0OTYsNiArMTQ5Niw3IEBACiAg
ICAgICAgICAgICAnd2ViYXVkaW8vQmlxdWFkRmlsdGVyTm9kZS5pZGwnLAogICAgICAgICAgICAg
J3dlYmF1ZGlvL0NvbnZvbHZlck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9EZWxh
eU5vZGUuaWRsJywKKyAgICAgICAgICAgICd3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGwn
LAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0R5bmFtaWNzQ29tcHJlc3Nvck5vZGUuaWRsJywKICAg
ICAgICAgICAgICd3ZWJhdWRpby9IaWdoUGFzczJGaWx0ZXJOb2RlLmlkbCcsCiAgICAgICAgICAg
ICAnd2ViYXVkaW8vSmF2YVNjcmlwdEF1ZGlvTm9kZS5pZGwnLApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbCBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3MucGwKaW5kZXggMTYzMDM0
NTUyOWE0Y2E5OTcxZTcwMmJmMThlYjc1ZjZmNzFhMThhNC4uODRiNzNlZDUwYWYxZTMyMWMzZWY5
MjBhMjFhMTkxN2QyMjlkNjg2NyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5ncy5wbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9zY3JpcHRzL2dlbmVyYXRlLWJpbmRpbmdzLnBsCkBAIC00OSw2ICs0OSw3IEBAIG15ICRwcmVw
cm9jZXNzb3I7CiBteSAkd3JpdGVEZXBlbmRlbmNpZXM7CiBteSAkdmVyYm9zZTsKIG15ICRzdXBw
bGVtZW50YWxEZXBlbmRlbmN5RmlsZTsKK215ICRhZGRpdGlvbmFsSWRsRmlsZXNMaXN0OwogCiBH
ZXRPcHRpb25zKCdpbmNsdWRlPXNAJyA9PiBcQGlkbERpcmVjdG9yaWVzLAogICAgICAgICAgICAn
b3V0cHV0RGlyPXMnID0+IFwkb3V0cHV0RGlyZWN0b3J5LApAQCAtNjAsNyArNjEsOCBAQCBHZXRP
cHRpb25zKCdpbmNsdWRlPXNAJyA9PiBcQGlkbERpcmVjdG9yaWVzLAogICAgICAgICAgICAncHJl
cHJvY2Vzc29yPXMnID0+IFwkcHJlcHJvY2Vzc29yLAogICAgICAgICAgICAndmVyYm9zZScgPT4g
XCR2ZXJib3NlLAogICAgICAgICAgICAnd3JpdGUtZGVwZW5kZW5jaWVzJyA9PiBcJHdyaXRlRGVw
ZW5kZW5jaWVzLAotICAgICAgICAgICAnc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGU9cycgPT4g
XCRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSk7CisgICAgICAgICAgICdzdXBwbGVtZW50YWxE
ZXBlbmRlbmN5RmlsZT1zJyA9PiBcJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlLAorICAgICAg
ICAgICAnYWRkaXRpb25hbElkbEZpbGVzTGlzdD1zJyA9PiBcJGFkZGl0aW9uYWxJZGxGaWxlc0xp
c3QpOwogCiBteSAkdGFyZ2V0SWRsRmlsZSA9ICRBUkdWWzBdOwogCkBAIC05MywxMyArOTUsMjgg
QEAgaWYgKCRzdXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSkgewogICAgIG9wZW4gRkgsICI8ICRz
dXBwbGVtZW50YWxEZXBlbmRlbmN5RmlsZSIgb3IgZGllICJDYW5ub3Qgb3BlbiAkc3VwcGxlbWVu
dGFsRGVwZW5kZW5jeUZpbGVcbiI7CiAgICAgd2hpbGUgKG15ICRsaW5lID0gPEZIPikgewogICAg
ICAgICBteSAoJGlkbEZpbGUsIEBmb2xsb3dpbmdJZGxGaWxlcykgPSBzcGxpdCgvXHMrLywgJGxp
bmUpOwotICAgICAgICBpZiAoJGlkbEZpbGUgYW5kICRpZGxGaWxlIGVxICR0YXJnZXRJZGxGaWxl
KSB7CisgICAgICAgIGlmICgkaWRsRmlsZSBhbmQgYmFzZW5hbWUoJGlkbEZpbGUpIGVxIGJhc2Vu
YW1lKCR0YXJnZXRJZGxGaWxlKSkgewogICAgICAgICAgICAgJGlkbEZvdW5kID0gMTsKICAgICAg
ICAgICAgIEBzdXBwbGVtZW50ZWRJZGxGaWxlcyA9IEBmb2xsb3dpbmdJZGxGaWxlczsKICAgICAg
ICAgfQogICAgIH0KICAgICBjbG9zZSBGSDsKIAorICAgICMgVGhlIGZpbGUgJGFkZGl0aW9uYWxJ
ZGxGaWxlc0xpc3QgY29udGFpbnMgb25lIElETCBmaWxlIHBlciBsaW5lOgorICAgICMgUC5pZGwK
KyAgICAjIFEuaWRsCisgICAgIyAuLi4KKyAgICAjIFRoZXNlIElETCBmaWxlcyBhcmUgb25lcyB3
aGljaCBzaG91bGQgbm90IGJlIGluY2x1ZGVkIGluIERlcml2ZWRTb3VyY2VzKi5jcHAKKyAgICAj
IChpLmUuIHRoZXkgYXJlIG5vdCBkZXNjcmliZWQgaW4gdGhlIHN1cHBsZW1lbnRhbCBkZXBlbmRl
bmN5IGZpbGUpCisgICAgIyBidXQgc2hvdWxkIGdlbmVyYXRlIC5oIGFuZCAuY3BwIGZpbGVzLgor
ICAgIGlmICghJGlkbEZvdW5kIGFuZCAkYWRkaXRpb25hbElkbEZpbGVzTGlzdCkgeworICAgICAg
ICBvcGVuIEZILCAiPCAkYWRkaXRpb25hbElkbEZpbGVzTGlzdCIgb3IgZGllICJDYW5ub3Qgb3Bl
biAkYWRkaXRpb25hbElkbEZpbGVzTGlzdFxuIjsKKyAgICAgICAgbXkgQGlkbEZpbGVzID0gPEZI
PjsKKyAgICAgICAgY2hvbXAoQGlkbEZpbGVzKTsKKyAgICAgICAgJGlkbEZvdW5kID0gZ3JlcCB7
ICRfIGFuZCBiYXNlbmFtZSgkXykgZXEgYmFzZW5hbWUoJHRhcmdldElkbEZpbGUpIH0gQGlkbEZp
bGVzOworICAgICAgICBjbG9zZSBGSDsKKyAgICB9CisKICAgICBpZiAoISRpZGxGb3VuZCkgewog
ICAgICAgICBpZiAoJHZlcmJvc2UpIHsKICAgICAgICAgICAgIHByaW50ICIkdGFyZ2V0SWRsRmls
ZSBpcyBzdXBwbGVtZW50aW5nIGFub3RoZXIgSURMIGZpbGUsIGFuZCB0aHVzIC5oIGFuZCAuY3Bw
IGZvciAkdGFyZ2V0SWRsRmlsZSBhcmUgbm90IGdlbmVyYXRlZC5cbiI7CkBAIC0xMTIsNiArMTI5
LDc5IEBAIGlmICgkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUpIHsKIG15ICR0YXJnZXRQYXJz
ZXIgPSBJRExQYXJzZXItPm5ldyghJHZlcmJvc2UpOwogbXkgJHRhcmdldERvY3VtZW50ID0gJHRh
cmdldFBhcnNlci0+UGFyc2UoJHRhcmdldElkbEZpbGUsICRkZWZpbmVzLCAkcHJlcHJvY2Vzc29y
KTsKIAorIyBGSVhNRShoYXJha2VuKTogUmVtb3ZlIHRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQuCisj
IFRoaXMgaWYtZWxzZSBzdGF0ZW1lbnQgaXMgdGVtcG9yYXJ5IGFuZCB3aWxsIGJlIHJlbW92ZWQK
KyMgYWZ0ZXIgYnVpbGQgc2NyaXB0cyBmb3IgYWxsIHBsYXRmb3JtcyBzdXBwb3J0IFtTdXBwbGVt
ZW50YWxdIElETC4KKyMgVGhlIG1vdGl2YXRpb24gZm9yIHRoZSBbU3VwcGxlbWVudGVkXSBJREwg
aXMgYXMgZm9sbG93czoKKyMKKyMgSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMLCB3ZSBuZWVkIHRvCisjICgxKSBydW4gcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgYW5k
IGdlbmVyYXRlIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcAorIyAoMikgYW5kIHJ1biBnZW5l
cmF0ZS1iaW5kaW5ncy5wbCB3aXRoIHRoZSBzdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAuCisj
CisjIFRoaXMgYnVpbGQgZmxvdyByZXF1aXJlcyBhIGNoYW5nZSBvbiB0aGUgZm9sbG93aW5nIGJ1
aWxkIHNjcmlwdHMsCisjIGJ1dCBjaGFuZ2luZyBhbGwgdGhlIGJ1aWxkIHNjcmlwdHMgYWxsIGF0
IG9uY2Ugd2l0aG91dCBhbnkgcmVncmVzc2lvbiBpcyB0b28gZGlmZmljdWx0OgorIworIyAgICAg
LSBEZXJpdmVkU291cmNlcy5tYWtlCisjICAgICAtIERlcml2ZWRTb3VyY2VzLnByaQorIyAgICAg
LSBHTlVtYWtlZmlsZS5hbQorIyAgICAgLSBQbGF0Zm9ybUJsYWNrQmVycnkuY21ha2UKKyMgICAg
IC0gVXNlSlNDLmNtYWtlCisjICAgICAtIFVzZVY4LmNtYWtlCisjICAgICAtIFdlYkNvcmUudmNw
cm9qL01pZ3JhdGVTY3JpcHRzCisjICAgICAtIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
CisjICAgICAtIGJpbmRpbmdzL2dvYmplY3QvR05VbWFrZWZpbGUuYW0KKyMgICAgIC0gV2ViQ29y
ZS5neXAvV2ViQ29yZS5neXAKKyMKKyMgVGh1cywgd2UgYXJlIHBsYW5uaW5nIHRvIGNoYW5nZSB0
aGUgYnVpbGQgc2NyaXB0cyBvbmUgYnkgb25lLCB3aGljaCBpbXBsaWVzIHRoYXQKKyMgd2UgbmVl
ZCB0byBhbGxvdyB0aGUgdGVtcG9yYXJ5IHN0YXRlIGluIHdoaWNoIHNvbWUgYnVpbGQgc2NyaXB0
cyBzdXBwb3J0IFtTdXBwbGVtZW50YWxdIElETAorIyBidXQgb3RoZXJzIGRvIG5vdC4gVG8gYWNj
b21wbGlzaCB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSB0ZW1wb3JhbCBJREwsIFtTdXBwbGVtZW50ZWRd
LgorIyBUaGUgW1N1cHBsZW1lbnRlZF0gSURMIG9uIGFuIGF0dHJpYnV0ZSBtZWFucyB0aGF0IHRo
ZSBhdHRyaWJ1dGUgaXMgbWFya2VkIHdpdGggW1N1cHBsZW1lbnRhbF0KKyMgaW4gYW5vdGhlciBJ
REwgZmlsZSBzb21ld2hlcmUsIGxpa2UgdGhpczoKKyMKKyMgRE9NV2luZG93V2ViQXVkaW8uaWRs
OgorIyAgICAgaW50ZXJmYWNlIFsKKyMgICAgICAgICBTdXBwbGVtZW50YWw9RE9NV2luZG93Cisj
ICAgICBdIERPTVdpbmRvd1dlYkF1ZGlvIHsKKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjE7Cisj
ICAgICAgICAgYXR0cmlidXRlIGF0dHIyOworIyAgICAgfTsKKyMKKyMgRE9NV2luZG93LmlkbDoK
KyMgICAgIGludGVyZmFjZSBbCisjICAgICBdIERPTVdpbmRvdyB7CisjICAgICAgICAgYXR0cmli
dXRlIFtTdXBwbGVtZW50ZWRdIGF0dHIxOyAvLyBUaGlzIGxpbmUgd2lsbCBiZSByZW1vdmVkIGFm
dGVyIGFsbCBidWlsZCBzY3JpcHRzIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxMLgorIyAgICAg
ICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMjsgLy8gVGhpcyBsaW5lIHdpbGwgYmUg
cmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3VwcGxlbWVudGFs
TC4KKyMgICAgICAgICBhdHRyaWJ1dGUgYXR0cjM7CisjICAgICAgICAgYXR0cmlidXRlIGF0dHI0
OworIyAgICAgfTsKKyMKKyMgQXNzdW1pbmcgdGhlc2UgSURMIGZpbGVzLCB0aGUgYmVsb3cgY29k
ZSBpcyBkb2luZyB0aGUgZm9sbG93aW5nIGxvZ2ljOgorIworIyAgICAgLSBJZiBhIGdpdmVuIGJ1
aWxkIHNjcmlwdCBzdXBwb3J0cyB0aGUgW1N1cHBsZW1lbnRhbF0gSURMIChpLmUuIC0tc3VwcGxl
bWVudGFsRGVwZW5kZW5jeUZpbGUgaXMgc3BlY2lmaWVkKSwKKyMgICAgICAgd2UgaWdub3JlIGFs
bCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRdIElETC4KKyMgICAgIC0gT3RoZXJ3
aXNlIChpLmUuIC0tc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUgaXMgbm90IHNwZWNpZmllZCks
CisjICAgICAgIHdlIHRyZWF0IGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBwbGVtZW50ZWRd
IElETCBhcyBub3JtYWwgYXR0cmlidXRlcworIyAgICAgICBhbmQgaW5zdGVhZCBpZ25vcmUgYWxs
IGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMCisjICAgICAgIChpLmUuIHdl
IGdlbmVyYXRlIG5vdGhpbmcgZnJvbSB0aGUgaWRsIGZpbGUgd2l0aCB0aGUgW1N1cHBsZW1lbnRh
bF0gSURMKS4KK2lmICgkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUpIHsKKyAgICBmb3JlYWNo
IG15ICRkYXRhTm9kZSAoQHskdGFyZ2V0RG9jdW1lbnQtPmNsYXNzZXN9KSB7CisgICAgICAgIG15
IEBub25TdXBwbGVtZW50ZWRBdHRyaWJ1dGVzOworICAgICAgICBmb3JlYWNoIG15ICRhdHRyaWJ1
dGUgKEB7JGRhdGFOb2RlLT5hdHRyaWJ1dGVzfSkgeworICAgICAgICAgICAgaWYgKCEkYXR0cmli
dXRlLT5zaWduYXR1cmUtPmV4dGVuZGVkQXR0cmlidXRlcy0+eyJTdXBwbGVtZW50ZWQifSkgewor
ICAgICAgICAgICAgICAgIHB1c2goQG5vblN1cHBsZW1lbnRlZEF0dHJpYnV0ZXMsICRhdHRyaWJ1
dGUpOworICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgICAgICRkYXRhTm9kZS0+YXR0cmli
dXRlcyhcQG5vblN1cHBsZW1lbnRlZEF0dHJpYnV0ZXMpOworICAgIH0KK30gZWxzZSB7CisgICAg
Zm9yZWFjaCBteSAkZGF0YU5vZGUgKEB7JHRhcmdldERvY3VtZW50LT5jbGFzc2VzfSkgeworICAg
ICAgICBpZiAoJGRhdGFOb2RlLT5leHRlbmRlZEF0dHJpYnV0ZXMtPnsiU3VwcGxlbWVudGFsIn0p
IHsKKyAgICAgICAgICAgIGV4aXQgMDsKKyAgICAgICAgfQorICAgIH0KK30KKyMgVGVtcG9yYXJ5
IGlmLWVsc2Ugc3RhdGVtZW50IHVudGlsIGhlcmUuCisKIGZvcmVhY2ggbXkgJGlkbEZpbGUgKEBz
dXBwbGVtZW50ZWRJZGxGaWxlcykgewogICAgIG5leHQgaWYgJGlkbEZpbGUgZXEgJHRhcmdldElk
bEZpbGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCA5ZjFjMDdlZDRiNDkzM2Nh
NzM5ODcyMGRjNmMzNjAxYmU4NTI2NmYyLi40YWE1YWMzODA4ZWIzZTQ3MjZlOTY5YTg3NjUxZmU0
NGVlNzljNzFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC01MjMsOCArNTIzLDgg
QEAgbW9kdWxlIHdpbmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVyXSBG
bG9hdDY0QXJyYXlDb25zdHJ1Y3RvciBGbG9hdDY0QXJyYXk7IC8vIFVzYWJsZSB3aXRoIG5ldyBv
cGVyYXRvcgogICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gRGF0YVZpZXdDb25z
dHJ1Y3RvciBEYXRhVmlldzsgLy8gVXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCiAKLSAgICAgICAg
YXR0cmlidXRlIFtKU0NDdXN0b21HZXR0ZXIsQ29uZGl0aW9uYWw9V0VCX0FVRElPLEVuYWJsZWRB
dFJ1bnRpbWVdIEF1ZGlvQ29udGV4dENvbnN0cnVjdG9yIHdlYmtpdEF1ZGlvQ29udGV4dDsgLy8g
VXNhYmxlIHdpdGggbmV3IG9wZXJhdG9yCi0gICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9
V0VCX0FVRElPXSBBdWRpb1Bhbm5lck5vZGVDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5v
ZGU7IC8vIE5lZWRlZCBmb3IgcGFubmluZyBtb2RlbCBjb25zdGFudHMKKyAgICAgICAgYXR0cmli
dXRlIFtTdXBwbGVtZW50ZWQsIEpTQ0N1c3RvbUdldHRlciwgQ29uZGl0aW9uYWw9V0VCX0FVRElP
LCBFbmFibGVkQXRSdW50aW1lXSBBdWRpb0NvbnRleHRDb25zdHJ1Y3RvciB3ZWJraXRBdWRpb0Nv
bnRleHQ7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgorICAgICAgICBhdHRyaWJ1dGUgW1N1
cHBsZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Bhbm5lck5vZGVDb25zdHJ1
Y3RvciB3ZWJraXRBdWRpb1Bhbm5lck5vZGU7IC8vIE5lZWRlZCBmb3IgcGFubmluZyBtb2RlbCBj
b25zdGFudHMKIAogICAgICAgICAvLyBFdmVudCBDb25zdHJ1Y3RvcnMKICAgICAgICAgYXR0cmli
dXRlIEV2ZW50Q29uc3RydWN0b3IgRXZlbnQ7CkBAIC01NTMsOCArNTUzLDggQEAgbW9kdWxlIHdp
bmRvdyB7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9VE9VQ0hfRVZFTlRTXSBUb3Vj
aEV2ZW50Q29uc3RydWN0b3IgVG91Y2hFdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRp
b25hbD1XRUJfU09DS0VUU10gQ2xvc2VFdmVudENvbnN0cnVjdG9yIENsb3NlRXZlbnQ7CiAgICAg
ICAgIGF0dHJpYnV0ZSBTdG9yYWdlRXZlbnRDb25zdHJ1Y3RvciBTdG9yYWdlRXZlbnQ7Ci0gICAg
ICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVu
dENvbnN0cnVjdG9yIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0Nv
bmRpdGlvbmFsPVdFQl9BVURJT10gT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0
b3IgT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBs
ZW1lbnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBBdWRpb1Byb2Nlc3NpbmdFdmVudENvbnN0
cnVjdG9yIEF1ZGlvUHJvY2Vzc2luZ0V2ZW50OworICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1l
bnRlZCwgQ29uZGl0aW9uYWw9V0VCX0FVRElPXSBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRD
b25zdHJ1Y3RvciBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnQ7CiAgICAgICAgIGF0dHJpYnV0
ZSBbQ29uZGl0aW9uYWw9SU5QVVRfU1BFRUNIXSBTcGVlY2hJbnB1dEV2ZW50Q29uc3RydWN0b3Ig
U3BlZWNoSW5wdXRFdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1NRURJQV9T
VFJFQU1dIE1lZGlhU3RyZWFtRXZlbnRDb25zdHJ1Y3RvciBNZWRpYVN0cmVhbUV2ZW50OwogICAg
ICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQkdMXSBXZWJHTENvbnRleHRFdmVudENvbnN0
cnVjdG9yIFdlYkdMQ29udGV4dEV2ZW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvd2Vi
YXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9N
V2luZG93V2ViQXVkaW8uaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMTA4ZWZiN2IwMzNlZmZiMWVlZWQ3YWM0
MDUxYjE3MjBmN2ZhOTQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS93ZWJhdWRp
by9ET01XaW5kb3dXZWJBdWRpby5pZGwKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxMSBHb29nbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IK
KyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3Vu
ZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJp
YnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VU
IEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBN
RVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUg
dGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFp
bHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7
IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxv
b3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCittb2R1bGUgd2luZG93
IHsKKworICAgIGludGVyZmFjZSBbCisgICAgICAgIENvbmRpdGlvbmFsPVdFQl9BVURJTywKKyAg
ICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworICAgIF0gRE9NV2luZG93V2ViQXVkaW8gewor
ICAgICAgICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlciwgRW5hYmxlZEF0UnVudGltZV0gQXVk
aW9Db250ZXh0Q29uc3RydWN0b3Igd2Via2l0QXVkaW9Db250ZXh0OworICAgICAgICBhdHRyaWJ1
dGUgQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOworICAg
ICAgICBhdHRyaWJ1dGUgQXVkaW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nl
c3NpbmdFdmVudDsKKyAgICAgICAgYXR0cmlidXRlIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVu
dENvbnN0cnVjdG9yIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25FdmVudDsKKyAgICB9OworCit9Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>118967</attachid>
            <date>2011-12-13 00:26:53 -0800</date>
            <delta_ts>2011-12-13 02:06:23 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-73394-20111213172651.patch</filename>
            <type>text/plain</type>
            <size>22743</size>
            <attacher name="Kentaro Hara">haraken</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTAyNjMxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZDUzMTRlZTA1MTVjZWFh
MWQzMTRkMTc4NjUwNjJkODBlM2Q5MWQzNS4uODQ0NWZhODQzNTI2YmE0ZTA0ZTUzODIwZDA4Mzdi
NmFmOTliNzEzOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMS0xMi0wNyAgS2Vu
dGFybyBIYXJhICA8aGFyYWtlbkBjaHJvbWl1bS5vcmc+CisKKyAgICAgICAgVXNlIHRoZSBbU3Vw
cGxlbWVudGFsXSBJREwgZm9yIHdlYmF1ZGlvIGF0dHJpYnV0ZXMgaW4gQ2hyb21pdW0KKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTczMzk0CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgLSBPdmVydmlldzogVXNp
bmcgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgdGhpcyBwYXRjaCBtb3ZlcyB0aGUgYXR0cmlidXRl
CisgICAgICAgIGRlY2xhcmF0aW9ucyBvZiB3ZWJhdWRpbyBmcm9tIERPTVdpbmRvdy5pZGwgaW50
byBhIG5ldyBJREwgZmlsZQorICAgICAgICB3ZWJhdWRpby9ET01XaW5kb3dXZWJBdWRpby5pZGws
IHdoaWNoIGhlbHBzIG1ha2Ugd2ViYXVkaW8gYSBzZWxmLWNvbnRhaW5lZAorICAgICAgICBmZWF0
dXJlIChha2EgYSBtb2R1bGUpLgorCisgICAgICAgIC0gVGhpcyBwYXRjaCBjaGFuZ2VzIHRoZSBi
dWlsZCBmbG93IG9mIFdlYkNvcmUuZ3lwIGFzIGZvbGxvd3M6CisKKyAgICAgICAgICAgIFByZXZp
b3VzIGJ1aWxkIGZsb3c6CisgICAgICAgICAgICAgICAgZm9yZWFjaCAkaWRsIChhbGwgSURMIGZp
bGVzKSB7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGRlcGVuZHMg
b24gJGlkbDsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgcmVhZHMg
JGlkbDsKKyAgICAgICAgICAgICAgICAgICAgZ2VuZXJhdGUtYmluZGluZ3MucGwgZ2VuZXJhdGVz
IC5oIGFuZCAuY3BwIGZpbGVzIGZvciAkaWRsOworICAgICAgICAgICAgICAgIH0KKworICAgICAg
ICAgICAgTmV3IGJ1aWxkIGZsb3cgKFNlZSB0aGUgZGlzY3Vzc2lvbnMgaW4gYnVnIDcyMTM4IGZv
ciBtb3JlIGRldGFpbHMpOgorICAgICAgICAgICAgICAgIHJlc29sdmUtc3VwcGxlbWVudGFsLnBs
IGRlcGVuZHMgb24gYWxsIElETCBmaWxlczsKKyAgICAgICAgICAgICAgICByZXNvbHZlLXN1cHBs
ZW1lbnRhbC5wbCByZWFkcyBhbGwgSURMIGZpbGVzOworICAgICAgICAgICAgICAgIHJlc29sdmUt
c3VwcGxlbWVudGFsLnBsIHJlc29sdmVzIHRoZSBkZXBlbmRlbmN5IG9mIFtTdXBwbGVtZW50YWw9
WFhYWF07CisgICAgICAgICAgICAgICAgcmVzb2x2ZS1zdXBwbGVtZW50YWwucGwgb3V0cHV0cyBz
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXA7CisgICAgICAgICAgICAgICAgZm9yZWFjaCAkaWRs
IChhbGwgSURMIGZpbGVzKSB7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdz
LnBsIGRlcGVuZHMgb24gJGlkbCBhbmQgc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wOworICAg
ICAgICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCByZWFkcyAkaWRsOworICAgICAg
ICAgICAgICAgICAgICBnZW5lcmF0ZS1iaW5kaW5ncy5wbCByZWFkcyBzdXBwbGVtZW50YWxfZGVw
ZW5kZW5jeS50bXA7CisgICAgICAgICAgICAgICAgICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGdl
bmVyYXRlcyAuaCBhbmQgLmNwcCBmaWxlcyBmb3IgJGlkbCwgaW5jbHVkaW5nIGFsbCBhdHRyaWJ1
dGVzIGluIElETCBmaWxlcyB3aGlsZW1lbnRpbmcgJGlkbDsKKyAgICAgICAgICAgICAgICB9CisK
KyAgICAgICAgLSBUaGlzIHBhdGNoIGludHJvZHVjZXMgYSB0ZW1wb3JhcnkgSURMLCBbU3VwcGxl
bWVudGVkXS4gVGhlIFtTdXBwbGVtZW50ZWRdIElETAorICAgICAgICB3aWxsIGJlIHJlbW92ZWQg
YWZ0ZXIgYnVpbGQgc2NyaXB0cyBmb3IgYWxsIHBsYXRmb3JtcyBzdXBwb3J0IHRoZSBbU3VwcGxl
bWVudGFsXSBJREwuCisgICAgICAgIFRoZSBtb3RpdmF0aW9uIGZvciB0aGUgW1N1cHBsZW1lbnRl
ZF0gSURMIGlzIGFzIGZvbGxvd3M6CisKKyAgICAgICAgSW4gb3JkZXIgdG8gc3VwcG9ydCB0aGUg
W1N1cHBsZW1lbnRhbF0gSURMLCB3ZSBuZWVkIHRvCisgICAgICAgICgxKSBydW4gcmVzb2x2ZS1z
dXBwbGVtZW50YWwucGwgYW5kIGdlbmVyYXRlIHN1cHBsZW1lbnRhbF9kZXBlbmRlbmN5LnRtcAor
ICAgICAgICAoMikgYW5kIHJ1biBnZW5lcmF0ZS1iaW5kaW5ncy5wbCB3aXRoIHRoZSBzdXBwbGVt
ZW50YWxfZGVwZW5kZW5jeS50bXAuCisKKyAgICAgICAgVGhpcyBidWlsZCBmbG93IHJlcXVpcmVz
IGEgY2hhbmdlIG9uIHRoZSBmb2xsb3dpbmcgYnVpbGQgc2NyaXB0cywKKyAgICAgICAgYnV0IGNo
YW5naW5nIGFsbCB0aGUgYnVpbGQgc2NyaXB0cyBhbGwgYXQgb25jZSB3aXRob3V0IGFueSByZWdy
ZXNzaW9uIGlzIHRvbyBkaWZmaWN1bHQ6CisKKyAgICAgICAgICAgIC0gRGVyaXZlZFNvdXJjZXMu
bWFrZQorICAgICAgICAgICAgLSBEZXJpdmVkU291cmNlcy5wcmkKKyAgICAgICAgICAgIC0gR05V
bWFrZWZpbGUuYW0KKyAgICAgICAgICAgIC0gUGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisgICAg
ICAgICAgICAtIFVzZUpTQy5jbWFrZQorICAgICAgICAgICAgLSBVc2VWOC5jbWFrZQorICAgICAg
ICAgICAgLSBXZWJDb3JlLnZjcHJvai9NaWdyYXRlU2NyaXB0cworICAgICAgICAgICAgLSBXZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorICAgICAgICAgICAgLSBiaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtCisgICAgICAgICAgICAtIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisK
KyAgICAgICAgVGh1cywgd2UgYXJlIHBsYW5uaW5nIHRvIGNoYW5nZSB0aGUgYnVpbGQgc2NyaXB0
cyBvbmUgYnkgb25lLCB3aGljaCBpbXBsaWVzIHRoYXQKKyAgICAgICAgd2UgbmVlZCB0byBhbGxv
dyB0aGUgdGVtcG9yYXJ5IHN0YXRlIGluIHdoaWNoIHNvbWUgYnVpbGQgc2NyaXB0cyBzdXBwb3J0
IFtTdXBwbGVtZW50YWxdIElETAorICAgICAgICBidXQgb3RoZXJzIGRvIG5vdC4gVG8gYWNjb21w
bGlzaCB0aGlzLCB3ZSBpbnRyb2R1Y2UgYSB0ZW1wb3JhcnkgSURMLCBbU3VwcGxlbWVudGVkXS4K
KyAgICAgICAgVGhlIFtTdXBwbGVtZW50ZWRdIElETCBvbiBhbiBhdHRyaWJ1dGUgbWVhbnMgdGhh
dCB0aGUgYXR0cmlidXRlIGlzIG1hcmtlZCB3aXRoIFtTdXBwbGVtZW50YWxdCisgICAgICAgIGlu
IGFub3RoZXIgSURMIGZpbGUgc29tZXdoZXJlLCBsaWtlIHRoaXM6CisKKyAgICAgICAgICAgIERP
TVdpbmRvd1dlYkF1ZGlvLmlkbDoKKyAgICAgICAgICAgICAgICBpbnRlcmZhY2UgWworICAgICAg
ICAgICAgICAgICAgICBTdXBwbGVtZW50YWw9RE9NV2luZG93CisgICAgICAgICAgICAgICAgXSBE
T01XaW5kb3dXZWJBdWRpbyB7CisgICAgICAgICAgICAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMTsK
KyAgICAgICAgICAgICAgICAgICAgYXR0cmlidXRlIGF0dHIyOworICAgICAgICAgICAgICAgIH07
CisKKyAgICAgICAgICAgIERPTVdpbmRvdy5pZGw6CisgICAgICAgICAgICAgICAgaW50ZXJmYWNl
IFsKKyAgICAgICAgICAgICAgICBdIERPTVdpbmRvdyB7CisgICAgICAgICAgICAgICAgICAgIGF0
dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMTsgLy8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3Zl
ZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3UgSURMCisgICAgICAgICAg
ICAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMjsgLy8gVGhpcyBsaW5lIHdp
bGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBwb3J0IHRoZSBbU3UgSURM
LgorICAgICAgICAgICAgICAgICAgICBhdHRyaWJ1dGUgYXR0cjM7CisgICAgICAgICAgICAgICAg
ICAgIGF0dHJpYnV0ZSBhdHRyNDsKKyAgICAgICAgICAgICAgICB9OworCisgICAgICAgIEFzc3Vt
aW5nIHRoZXNlIElETCBmaWxlcywgdGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSBmb2xsb3dpbmcg
bG9naWMgaW4gZ2VuZXJhdGUtYmluZGluZ3MucGw6CisKKyAgICAgICAgICAgIC0gSWYgYSBnaXZl
biBidWlsZCBzY3JpcHQgc3VwcG9ydHMgdGhlIFtTdXBwbGVtZW50YWxdIElETCwKKyAgICAgICAg
ICAgIGdlbmVyYXRlLWJpbmRpbmdzLnBsIGlnbm9yZXMgYWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUg
W1N1cHBsZW1lbnRlZF0gSURMLgorICAgICAgICAgICAgLSBPdGhlcndpc2UsIGdlbmVyYXRlLWJp
bmRpbmdzLnBsIHRyZWF0cyBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGVkXSBJ
REwKKyAgICAgICAgICAgIGFzIG5vcm1hbCBhdHRyaWJ1dGVzIGFuZCBpbnN0ZWFkIGlnbm9yZXMg
YWxsIGF0dHJpYnV0ZXMgd2l0aCB0aGUgW1N1cHBsZW1lbnRhbF0gSURMCisgICAgICAgICAgICAo
aS5lLiBnZW5lcmF0ZS1iaW5kaW5ncy5wbCBnZW5lcmF0ZXMgbm90aGluZyBmcm9tIHRoZSBJREwg
ZmlsZSB3aXRoIHRoZSBbU3VwcGxlbWVudGFsXSBJREwpLgorCisgICAgICAgIFRlc3RzOiB3ZWJh
dWRpby8qCisKKyAgICAgICAgKiBXZWJDb3JlLmd5cC9XZWJDb3JlLmd5cDogRGVzY3JpYmVzIHRo
ZSBidWlsZCBmbG93IHRoYXQgSSBkZXNjcmliZWQgYWJvdmUuCisgICAgICAgICogV2ViQ29yZS5n
eXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weToKKyAgICAgICAgKG1h
aW4pOiBSZWFkcyB0aGUgSURMIGZpbGUgbmFtZXMgZnJvbSB0aGUgaW5wdXQgZmlsZSAoaS5lLiBz
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXApLAorICAgICAgICB3aGljaCBhcmUgZGVzY3JpYmVk
IGF0IHRoZSBmaXJzdCBjb2x1bW4gb2YgZWFjaCBsaW5lIGluIHRoZSBpbnB1dCBmaWxlLgorICAg
ICAgICBJZiB0aGUgZmlsZSBuYW1lIGlzIGEgIi9jeWdkcml2ZS9jLy4uLiItc3R5bGUgcGF0aCwg
aXQgaXMgY29udmVydGVkIHRvIGEgIkM6XGN5Z3dpblwuLi4iLXN0eWxlCisgICAgICAgIHBhdGgg
YnkgdGhlIGN5Z3BhdGggY29tbWFuZC4KKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6IEFkZGVkIERP
TVdpbmRvd1dlYkF1ZGlvLmlkbC4KKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL2dlbmVyYXRl
LWJpbmRpbmdzLnBsOiBBcyBhIHRlbXBvcmFyeSBzb2x1dGlvbiwgaWYgdGhlIHBsYXRmb3JtIGRv
ZXMgbm90CisgICAgICAgIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgdGhlIHBlcmwg
c2NyaXB0IGlnbm9yZXMgdGhlIFtTdXBwbGVtZW50YWxdIElETCBhbmQgaW5zdGVhZAorICAgICAg
ICB1c2VzIHRoZSBbU3VwcGxlbWVudGVkXSBJREwuIE90aGVyd2lzZSwgdGhlIHBlcmwgc2NyaXB0
IGlnbm9yZXMgdGhlIFtTdXBwbGVtZW50ZWRdIElETCBhbmQKKyAgICAgICAgaW5zdGVhZCB1c2Vz
IHRoZSBbU3VwcGxlbWVudGFsXSBJREwuCisgICAgICAgIEFkZGVkIHRoZSAtLWFkZGl0aW9uYWxJ
ZGxGaWxlc0xpc3Qgb3B0aW9uIHRvIHNwZWNpZnkgdGhlIElETCBmaWxlcyB0aGF0IGFyZSBub3Qg
bGlzdGVkIGluCisgICAgICAgIHN1cHBsZW1lbnRhbC1kZXBlbmRlbmN5LnRtcCBidXQgc2hvdWxk
IGdlbmVyYXRlIC5oIGFuZCAuY3BwIGZpbGVzLgorICAgICAgICAqIHBhZ2UvRE9NV2luZG93Lmlk
bDogQWRkZWQgdGhlIFtTdXBwbGVtZW50ZWRdIElETCB0byB3ZWJhdWRpby1yZWxhdGVkIGF0dHJp
YnV0ZXMuCisgICAgICAgIEFzIEkgZGVzY3JpYmVkIGFib3ZlLCB0aGUgW1N1cHBsZW1lbnRlZF0g
SURMIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgcGxhdGZvcm1zIHN1cHBvcnQKKyAgICAgICAg
dGhlIFtTdXBwbGVtZW50YWxdIElETC4KKyAgICAgICAgKiB3ZWJhdWRpby9ET01XaW5kb3dXZWJB
dWRpby5pZGw6IEFkZGVkLiBEZXNjcmliZXMgdGhlIFtTdXBwbGVtZW50YWw9RE9NV2luZG93XSBJ
REwuCisgICAgICAgIFRoZSBhdHRyaWJ1dGVzIGluIHRoaXMgSURMIGZpbGUgc2hvdWxkIGJlIHRy
ZWF0ZWQgYXMgaWYgdGhleSBhcmUgd3JpdHRlbiBpbiBET01XaW5kb3cuaWRsLgorCiAyMDExLTEy
LTEyICBLZW5uZXRoIFJ1c3NlbGwgIDxrYnJAZ29vZ2xlLmNvbT4KIAogICAgICAgICBVbnJldmll
d2VkIFdpbmRvd3MgYnVpbGQgZml4IGFmdGVyIGh0dHA6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdl
c2V0LzEwMjYxOSAuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9XZWJD
b3JlLmd5cCBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCmluZGV4IGU4
ZDUyYWI3MGRmOTEwYzliOWY0ZTgyNjZmYTE1YWE1MTE1MzQ4MzUuLjg4NjIwM2QwYWQwZDc1NzEy
ZjExM2Q4YjgxOGY3MzM4YzVlMzI5ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZ3lwL1dlYkNvcmUuZ3lwCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL1dlYkNv
cmUuZ3lwCkBAIC00NDYsOSArNDQ2LDUzIEBACiAgICAgICBdCiAgICAgfSwKICAgICB7CisgICAg
ICAndGFyZ2V0X25hbWUnOiAnZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3knLAorICAg
ICAgJ3R5cGUnOiAnbm9uZScsCisgICAgICAnYWN0aW9ucyc6IFsKKyAgICAgICAgIHsKKyAgICAg
ICAgICAnYWN0aW9uX25hbWUnOiAnZ2VuZXJhdGVTdXBwbGVtZW50YWxEZXBlbmRlbmN5JywKKyAg
ICAgICAgICAndmFyaWFibGVzJzogeworICAgICAgICAgICAgIyBXcml0ZSBzb3VyY2VzIGludG8g
YSBmaWxlLCBzbyB0aGF0IHRoZSBhY3Rpb24gY29tbWFuZCBsaW5lIHdvbid0CisgICAgICAgICAg
ICAjIGV4Y2VlZCBPUyBsaW1pdHMuCisgICAgICAgICAgICAnaWRsX2ZpbGVzX2xpc3QnOiAnPHwo
aWRsX2ZpbGVzX2xpc3QudG1wIDxAKGJpbmRpbmdzX2lkbF9maWxlcykpJywKKyAgICAgICAgICB9
LAorICAgICAgICAgICdpbnB1dHMnOiBbCisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0
cy9yZXNvbHZlLXN1cHBsZW1lbnRhbC5wbCcsCisgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2Ny
aXB0cy9JRExQYXJzZXIucG0nLAorICAgICAgICAgICAgJzwoaWRsX2ZpbGVzX2xpc3QpJywKKyAg
ICAgICAgICAgICc8IUAoY2F0IDwoaWRsX2ZpbGVzX2xpc3QpKScsCisgICAgICAgICAgXSwKKyAg
ICAgICAgICAnb3V0cHV0cyc6IFsKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVf
RElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAgICAgICAgIF0sCisgICAgICAg
ICAgJ2FjdGlvbic6IFsKKyAgICAgICAgICAgICdwZXJsJywKKyAgICAgICAgICAgICctdycsCisg
ICAgICAgICAgICAnLUkuLi9iaW5kaW5ncy9zY3JpcHRzJywKKyAgICAgICAgICAgICcuLi9iaW5k
aW5ncy9zY3JpcHRzL3Jlc29sdmUtc3VwcGxlbWVudGFsLnBsJywKKyAgICAgICAgICAgICctLWRl
ZmluZXMnLAorICAgICAgICAgICAgJzwoZmVhdHVyZV9kZWZpbmVzKSBMQU5HVUFHRV9KQVZBU0NS
SVBUIFY4X0JJTkRJTkcnLAorICAgICAgICAgICAgJy0taWRsRmlsZXNMaXN0JywKKyAgICAgICAg
ICAgICc8KGlkbF9maWxlc19saXN0KScsCisgICAgICAgICAgICAnLS1zdXBwbGVtZW50YWxEZXBl
bmRlbmN5RmlsZScsCisgICAgICAgICAgICAnPChTSEFSRURfSU5URVJNRURJQVRFX0RJUikvc3Vw
cGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKKyAgICAgICAgICBdLAorICAgICAgICAgICdtZXNz
YWdlJzogJ1Jlc29sdmluZyBbU3VwcGxlbWVudGFsPVhYWF0gZGVwZW5kZW5jaWVzIGluIGFsbCBJ
REwgZmlsZXMnLAorICAgICAgICB9CisgICAgICBdCisgICAgfSwKKyAgICB7CiAgICAgICAndGFy
Z2V0X25hbWUnOiAnd2ViY29yZV9iaW5kaW5nc19zb3VyY2VzJywKICAgICAgICd0eXBlJzogJ25v
bmUnLAogICAgICAgJ2hhcmRfZGVwZW5kZW5jeSc6IDEsCisgICAgICAnZGVwZW5kZW5jaWVzJzog
WworICAgICAgICAnZ2VuZXJhdGVfc3VwcGxlbWVudGFsX2RlcGVuZGVuY3knLAorICAgICAgXSwK
KyAgICAgICd2YXJpYWJsZXMnOiB7CisgICAgICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmls
ZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1hbmQgbGluZSB3b24ndAorICAgICAgICAjIGV4Y2Vl
ZCBPUyBsaW1pdHMuCisgICAgICAgICdhZGRpdGlvbmFsX2lkbF9maWxlc19saXN0JzogJzx8KGFk
ZGl0aW9uYWxfaWRsX2ZpbGVzX2xpc3QudG1wIDxAKHdlYmNvcmVfdGVzdF9zdXBwb3J0X2lkbF9m
aWxlcykpJywKKyAgICAgIH0sCiAgICAgICAnc291cmNlcyc6IFsKICAgICAgICAgIyBiaXNvbiBy
dWxlCiAgICAgICAgICcuLi9jc3MvQ1NTR3JhbW1hci55JywKQEAgLTg2MSwxNSArOTA1LDkgQEAK
ICAgICAgICAgfSwKICAgICAgICAgewogICAgICAgICAgICdhY3Rpb25fbmFtZSc6ICdkZXJpdmVk
X3NvdXJjZXNfYWxsX2luX29uZScsCi0gICAgICAgICAgJ3ZhcmlhYmxlcyc6IHsKLSAgICAgICAg
ICAgICMgV3JpdGUgc291cmNlcyBpbnRvIGEgZmlsZSwgc28gdGhhdCB0aGUgYWN0aW9uIGNvbW1h
bmQgbGluZSB3b24ndAotICAgICAgICAgICAgIyBleGNlZWQgT1MgbGltaXRlcy4KLSAgICAgICAg
ICAgICdpZGxzX2xpc3RfdGVtcF9maWxlJzogJzx8KGlkbHNfbGlzdF90ZW1wX2ZpbGUudG1wIDxA
KGJpbmRpbmdzX2lkbF9maWxlcykpJywKLSAgICAgICAgICB9LAogICAgICAgICAgICdpbnB1dHMn
OiBbCiAgICAgICAgICAgICAnc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5w
eScsCi0gICAgICAgICAgICAnPChpZGxzX2xpc3RfdGVtcF9maWxlKScsCi0gICAgICAgICAgICAn
PCFAKGNhdCA8KGlkbHNfbGlzdF90ZW1wX2ZpbGUpKScsCisgICAgICAgICAgICAnPChTSEFSRURf
SU5URVJNRURJQVRFX0RJUikvc3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wJywKICAgICAgICAg
ICBdLAogICAgICAgICAgICdvdXRwdXRzJzogWwogICAgICAgICAgICAgJzxAKGRlcml2ZWRfc291
cmNlc19hZ2dyZWdhdGVfZmlsZXMpJywKQEAgLTg3Nyw3ICs5MTUsNyBAQAogICAgICAgICAgICdh
Y3Rpb24nOiBbCiAgICAgICAgICAgICAncHl0aG9uJywKICAgICAgICAgICAgICdzY3JpcHRzL2Fj
dGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5JywKLSAgICAgICAgICAgICc8KGlkbHNfbGlz
dF90ZW1wX2ZpbGUpJywKKyAgICAgICAgICAgICc8KFNIQVJFRF9JTlRFUk1FRElBVEVfRElSKS9z
dXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAogICAgICAgICAgICAgJy0tJywKICAgICAgICAg
ICAgICc8QChkZXJpdmVkX3NvdXJjZXNfYWdncmVnYXRlX2ZpbGVzKScsCiAgICAgICAgICAgXSwK
QEAgLTkzMCw2ICs5NjgsOSBAQAogICAgICAgICAgICAgJy4uL2JpbmRpbmdzL3NjcmlwdHMvSURM
UGFyc2VyLnBtJywKICAgICAgICAgICAgICcuLi9iaW5kaW5ncy9zY3JpcHRzL0lETFN0cnVjdHVy
ZS5wbScsCiAgICAgICAgICAgICAnLi4vYmluZGluZ3Mvc2NyaXB0cy9wcmVwcm9jZXNzb3IucG0n
LAorICAgICAgICAgICAgJzwoU0hBUkVEX0lOVEVSTUVESUFURV9ESVIpL3N1cHBsZW1lbnRhbF9k
ZXBlbmRlbmN5LnRtcCcsCisgICAgICAgICAgICAnPChhZGRpdGlvbmFsX2lkbF9maWxlc19saXN0
KScsCisgICAgICAgICAgICAnPCFAKGNhdCA8KGFkZGl0aW9uYWxfaWRsX2ZpbGVzX2xpc3QpKScs
CiAgICAgICAgICAgXSwKICAgICAgICAgICAnb3V0cHV0cyc6IFsKICAgICAgICAgICAgICMgRklY
TUU6ICBUaGUgLmNwcCBmaWxlIHNob3VsZCBiZSBpbiB3ZWJraXQvYmluZGluZ3Mgb25jZQpAQCAt
OTc1LDYgKzEwMTYsMTAgQEAKICAgICAgICAgICAgICctLWdlbmVyYXRvcicsCiAgICAgICAgICAg
ICAnVjgnLAogICAgICAgICAgICAgJzxAKGdlbmVyYXRvcl9pbmNsdWRlX2RpcnMpJywKKyAgICAg
ICAgICAgICctLXN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlJywKKyAgICAgICAgICAgICc8KFNI
QVJFRF9JTlRFUk1FRElBVEVfRElSKS9zdXBwbGVtZW50YWxfZGVwZW5kZW5jeS50bXAnLAorICAg
ICAgICAgICAgJy0tYWRkaXRpb25hbElkbEZpbGVzTGlzdCcsCisgICAgICAgICAgICAnPChhZGRp
dGlvbmFsX2lkbF9maWxlc19saXN0KScsCiAgICAgICAgICAgICAnPChSVUxFX0lOUFVUX1BBVEgp
JywKICAgICAgICAgICBdLAogICAgICAgICAgICdtZXNzYWdlJzogJ0dlbmVyYXRpbmcgYmluZGlu
ZyBmcm9tIDwoUlVMRV9JTlBVVF9QQVRIKScsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS5neXAvc2NyaXB0cy9hY3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxp
bm9uZS5weQppbmRleCA1ODYwNzFiZmMwODAxZDRjNjRiNjhiNzg3MzEyZjIyYzVjMjhmM2FhLi5i
YWM4MDgxN2VkMzRlMWEyMTliZDc3ODQyMGY3ODhhZDUxZDZmOTMwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cC9zY3JpcHRzL2FjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlu
b25lLnB5CisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwL3NjcmlwdHMvYWN0aW9uX2Rl
cml2ZWRzb3VyY2VzYWxsaW5vbmUucHkKQEAgLTMyLDEyICszMiwxMiBAQAogIyBVc2Ugb2YgdGhp
cyBzb3VyY2UgY29kZSBpcyBnb3Zlcm5lZCBieSBhIEJTRC1zdHlsZSBsaWNlbnNlIHRoYXQgY2Fu
IGJlCiAjIGZvdW5kIGluIHRoZSBMSUNFTlNFIGZpbGUuCiAKLSMgYWN0aW9uX2Rlcml2ZWRzb3Vy
Y2VzbGlzdC5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZpbGUgdGhhdCBpbmNsdWRlcworIyBh
Y3Rpb25fZGVyaXZlZHNvdXJjZXNhbGxpbm9uZS5weSBnZW5lcmF0ZXMgYSBzaW5nbGUgY3BwIGZp
bGUgdGhhdCBpbmNsdWRlcwogIyBhbGwgdjggYmluZGluZ3MgY3BwIGZpbGVzIGdlbmVyYXRlZCBm
cm9tIGlkbHMuIEZpbGVzIGNhbiBiZSBhc3NpZ25lZCBpbnRvCiAjIG11bHRpcGxlIG91dHB1dCBm
aWxlcywgdG8gcmVkdWNlIG1heGltdW0gY29tcGlsYXRpb24gdW5pdCBzaXplIGFuZCBhbGxvdwog
IyBwYXJhbGxlbCBjb21waWxhdGlvbi4KICMKLSMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291cmNl
c2xpc3QucHkgSURMX0ZJTEVTX0xJU1QgLS0gT1VUUFVUX0ZJTEUxIE9VVFBVVF9GSUxFMiAuLi4K
KyMgdXNhZ2U6IGFjdGlvbl9kZXJpdmVkc291cmNlc2FsbGlub25lLnB5IElETF9GSUxFU19MSVNU
IC0tIE9VVFBVVF9GSUxFMSBPVVRQVVRfRklMRTIgLi4uCiAjCiAjIE5vdGUgdGhhdCBJRExfRklM
RVNfTElTVCBpcyBhIHRleHQgZmlsZSBjb250YWluaW5nIHRoZSBJREwgZmlsZSBwYXRocy4KIApA
QCAtMTc5LDYgKzE3OSwxOSBAQCBkZWYgd3JpdGVDb250ZW50KGNvbnRlbnQsIG91dHB1dEZpbGVO
YW1lKToKICAgICBmLmNsb3NlKCkKIAogCitkZWYgcmVzb2x2ZUN5Z3BhdGgoY3lnZHJpdmVOYW1l
cyk6CisgICAgY21kID0gWydjeWdwYXRoJywgJy1mJywgJy0nLCAnLXdhJ10KKyAgICBwcm9jZXNz
ID0gc3VicHJvY2Vzcy5Qb3BlbihjbWQsIHN0ZGluPXN1YnByb2Nlc3MuUElQRSwgc3Rkb3V0PXN1
YnByb2Nlc3MuUElQRSwgc3RkZXJyPXN1YnByb2Nlc3MuU1RET1VUKQorICAgIGlkbEZpbGVOYW1l
cyA9IFtdCisgICAgZm9yIGZpbGVOYW1lIGluIGN5Z2RyaXZlTmFtZXM6CisgICAgICAgIHByb2Nl
c3Muc3RkaW4ud3JpdGUoIiVzXG4iICUgZmlsZU5hbWUpCisgICAgICAgIHByb2Nlc3Muc3RkaW4u
Zmx1c2goKQorICAgICAgICBpZGxGaWxlTmFtZXMuYXBwZW5kKHByb2Nlc3Muc3Rkb3V0LnJlYWRs
aW5lKCkucnN0cmlwKCkpCisgICAgcHJvY2Vzcy5zdGRpbi5jbG9zZSgpCisgICAgcHJvY2Vzcy53
YWl0KCkKKyAgICByZXR1cm4gaWRsRmlsZU5hbWVzCisKKwogZGVmIG1haW4oYXJncyk6CiAgICAg
YXNzZXJ0KGxlbihhcmdzKSA+IDMpCiAgICAgaW5PdXRCcmVha0luZGV4ID0gYXJncy5pbmRleCgn
LS0nKQpAQCAtMTg2LDcgKzE5OSwxNyBAQCBkZWYgbWFpbihhcmdzKToKICAgICBvdXRwdXRGaWxl
TmFtZXMgPSBhcmdzW2luT3V0QnJlYWtJbmRleCsxOl0KIAogICAgIGlucHV0RmlsZSA9IG9wZW4o
aW5wdXRGaWxlTmFtZSwgJ3InKQotICAgIGlkbEZpbGVOYW1lcyA9IGlucHV0RmlsZS5yZWFkKCku
c3BsaXQoJ1xuJykKKyAgICBpZGxGaWxlTmFtZXMgPSBbXQorICAgIGN5Z2RyaXZlTmFtZXMgPSBb
XQorICAgIGZvciBsaW5lIGluIGlucHV0RmlsZToKKyAgICAgICAgaWRsRmlsZU5hbWUgPSBsaW5l
LnJzdHJpcCgpLnNwbGl0KCcgJylbMF0KKyAgICAgICAgaWYgaWRsRmlsZU5hbWUuc3RhcnRzd2l0
aCgiL2N5Z2RyaXZlIik6CisgICAgICAgICAgICBjeWdkcml2ZU5hbWVzLmFwcGVuZChpZGxGaWxl
TmFtZSkKKyAgICAgICAgZWxzZToKKyAgICAgICAgICAgIGlkbEZpbGVOYW1lcy5hcHBlbmQoaWRs
RmlsZU5hbWUpCisKKyAgICBpZiBjeWdkcml2ZU5hbWVzOgorICAgICAgICBpZGxGaWxlTmFtZXMu
ZXh0ZW5kKHJlc29sdmVDeWdwYXRoKGN5Z2RyaXZlTmFtZXMpKQogICAgIGlucHV0RmlsZS5jbG9z
ZSgpCiAKICAgICBmaWxlc01ldGFEYXRhID0gZXh0cmFjdE1ldGFEYXRhKGlkbEZpbGVOYW1lcykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQppbmRleCBjNjA4YTExMmJkMjExYzc2ZmRjOWU5MDgwNWM4NWI0NTEyNDMw
YzhjLi40N2Y0Y2JiYWYyYWY0ODhiMmIyNTFjMTZjZjMxZmU0YzkzODQ2MDM2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS5neXBpCkBAIC0xNDk2LDYgKzE0OTYsNyBAQAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0JpcXVh
ZEZpbHRlck5vZGUuaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9Db252b2x2ZXJOb2RlLmlk
bCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vRGVsYXlOb2RlLmlkbCcsCisgICAgICAgICAgICAn
d2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsJywKICAgICAgICAgICAgICd3ZWJhdWRpby9E
eW5hbWljc0NvbXByZXNzb3JOb2RlLmlkbCcsCiAgICAgICAgICAgICAnd2ViYXVkaW8vSGlnaFBh
c3MyRmlsdGVyTm9kZS5pZGwnLAogICAgICAgICAgICAgJ3dlYmF1ZGlvL0phdmFTY3JpcHRBdWRp
b05vZGUuaWRsJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
Z2VuZXJhdGUtYmluZGluZ3MucGwgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL2dl
bmVyYXRlLWJpbmRpbmdzLnBsCmluZGV4IDE2MzAzNDU1MjlhNGNhOTk3MWU3MDJiZjE4ZWI3NWY2
ZjcxYTE4YTQuLjg0YjczZWQ1MGFmMWUzMjFjM2VmOTIwYTIxYTE5MTdkMjI5ZDY4NjcgMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvZ2VuZXJhdGUtYmluZGluZ3Mu
cGwKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy9nZW5lcmF0ZS1iaW5kaW5n
cy5wbApAQCAtNDksNiArNDksNyBAQCBteSAkcHJlcHJvY2Vzc29yOwogbXkgJHdyaXRlRGVwZW5k
ZW5jaWVzOwogbXkgJHZlcmJvc2U7CiBteSAkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGU7Citt
eSAkYWRkaXRpb25hbElkbEZpbGVzTGlzdDsKIAogR2V0T3B0aW9ucygnaW5jbHVkZT1zQCcgPT4g
XEBpZGxEaXJlY3RvcmllcywKICAgICAgICAgICAgJ291dHB1dERpcj1zJyA9PiBcJG91dHB1dERp
cmVjdG9yeSwKQEAgLTYwLDcgKzYxLDggQEAgR2V0T3B0aW9ucygnaW5jbHVkZT1zQCcgPT4gXEBp
ZGxEaXJlY3RvcmllcywKICAgICAgICAgICAgJ3ByZXByb2Nlc3Nvcj1zJyA9PiBcJHByZXByb2Nl
c3NvciwKICAgICAgICAgICAgJ3ZlcmJvc2UnID0+IFwkdmVyYm9zZSwKICAgICAgICAgICAgJ3dy
aXRlLWRlcGVuZGVuY2llcycgPT4gXCR3cml0ZURlcGVuZGVuY2llcywKLSAgICAgICAgICAgJ3N1
cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlPXMnID0+IFwkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZp
bGUpOworICAgICAgICAgICAnc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGU9cycgPT4gXCRzdXBw
bGVtZW50YWxEZXBlbmRlbmN5RmlsZSwKKyAgICAgICAgICAgJ2FkZGl0aW9uYWxJZGxGaWxlc0xp
c3Q9cycgPT4gXCRhZGRpdGlvbmFsSWRsRmlsZXNMaXN0KTsKIAogbXkgJHRhcmdldElkbEZpbGUg
PSAkQVJHVlswXTsKIApAQCAtOTMsMTMgKzk1LDI4IEBAIGlmICgkc3VwcGxlbWVudGFsRGVwZW5k
ZW5jeUZpbGUpIHsKICAgICBvcGVuIEZILCAiPCAkc3VwcGxlbWVudGFsRGVwZW5kZW5jeUZpbGUi
IG9yIGRpZSAiQ2Fubm90IG9wZW4gJHN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlXG4iOwogICAg
IHdoaWxlIChteSAkbGluZSA9IDxGSD4pIHsKICAgICAgICAgbXkgKCRpZGxGaWxlLCBAZm9sbG93
aW5nSWRsRmlsZXMpID0gc3BsaXQoL1xzKy8sICRsaW5lKTsKLSAgICAgICAgaWYgKCRpZGxGaWxl
IGFuZCAkaWRsRmlsZSBlcSAkdGFyZ2V0SWRsRmlsZSkgeworICAgICAgICBpZiAoJGlkbEZpbGUg
YW5kIGJhc2VuYW1lKCRpZGxGaWxlKSBlcSBiYXNlbmFtZSgkdGFyZ2V0SWRsRmlsZSkpIHsKICAg
ICAgICAgICAgICRpZGxGb3VuZCA9IDE7CiAgICAgICAgICAgICBAc3VwcGxlbWVudGVkSWRsRmls
ZXMgPSBAZm9sbG93aW5nSWRsRmlsZXM7CiAgICAgICAgIH0KICAgICB9CiAgICAgY2xvc2UgRkg7
CiAKKyAgICAjIFRoZSBmaWxlICRhZGRpdGlvbmFsSWRsRmlsZXNMaXN0IGNvbnRhaW5zIG9uZSBJ
REwgZmlsZSBwZXIgbGluZToKKyAgICAjIFAuaWRsCisgICAgIyBRLmlkbAorICAgICMgLi4uCisg
ICAgIyBUaGVzZSBJREwgZmlsZXMgYXJlIG9uZXMgd2hpY2ggc2hvdWxkIG5vdCBiZSBpbmNsdWRl
ZCBpbiBEZXJpdmVkU291cmNlcyouY3BwCisgICAgIyAoaS5lLiB0aGV5IGFyZSBub3QgZGVzY3Jp
YmVkIGluIHRoZSBzdXBwbGVtZW50YWwgZGVwZW5kZW5jeSBmaWxlKQorICAgICMgYnV0IHNob3Vs
ZCBnZW5lcmF0ZSAuaCBhbmQgLmNwcCBmaWxlcy4KKyAgICBpZiAoISRpZGxGb3VuZCBhbmQgJGFk
ZGl0aW9uYWxJZGxGaWxlc0xpc3QpIHsKKyAgICAgICAgb3BlbiBGSCwgIjwgJGFkZGl0aW9uYWxJ
ZGxGaWxlc0xpc3QiIG9yIGRpZSAiQ2Fubm90IG9wZW4gJGFkZGl0aW9uYWxJZGxGaWxlc0xpc3Rc
biI7CisgICAgICAgIG15IEBpZGxGaWxlcyA9IDxGSD47CisgICAgICAgIGNob21wKEBpZGxGaWxl
cyk7CisgICAgICAgICRpZGxGb3VuZCA9IGdyZXAgeyAkXyBhbmQgYmFzZW5hbWUoJF8pIGVxIGJh
c2VuYW1lKCR0YXJnZXRJZGxGaWxlKSB9IEBpZGxGaWxlczsKKyAgICAgICAgY2xvc2UgRkg7Cisg
ICAgfQorCiAgICAgaWYgKCEkaWRsRm91bmQpIHsKICAgICAgICAgaWYgKCR2ZXJib3NlKSB7CiAg
ICAgICAgICAgICBwcmludCAiJHRhcmdldElkbEZpbGUgaXMgc3VwcGxlbWVudGluZyBhbm90aGVy
IElETCBmaWxlLCBhbmQgdGh1cyAuaCBhbmQgLmNwcCBmb3IgJHRhcmdldElkbEZpbGUgYXJlIG5v
dCBnZW5lcmF0ZWQuXG4iOwpAQCAtMTEyLDYgKzEyOSw3OSBAQCBpZiAoJHN1cHBsZW1lbnRhbERl
cGVuZGVuY3lGaWxlKSB7CiBteSAkdGFyZ2V0UGFyc2VyID0gSURMUGFyc2VyLT5uZXcoISR2ZXJi
b3NlKTsKIG15ICR0YXJnZXREb2N1bWVudCA9ICR0YXJnZXRQYXJzZXItPlBhcnNlKCR0YXJnZXRJ
ZGxGaWxlLCAkZGVmaW5lcywgJHByZXByb2Nlc3Nvcik7CiAKKyMgRklYTUUoaGFyYWtlbik6IFJl
bW92ZSB0aGlzIGlmLWVsc2Ugc3RhdGVtZW50LgorIyBUaGlzIGlmLWVsc2Ugc3RhdGVtZW50IGlz
IHRlbXBvcmFyeSBhbmQgd2lsbCBiZSByZW1vdmVkCisjIGFmdGVyIGJ1aWxkIHNjcmlwdHMgZm9y
IGFsbCBwbGF0Zm9ybXMgc3VwcG9ydCBbU3VwcGxlbWVudGFsXSBJREwuCisjIFRoZSBtb3RpdmF0
aW9uIGZvciB0aGUgW1N1cHBsZW1lbnRlZF0gSURMIGlzIGFzIGZvbGxvd3M6CisjCisjIEluIG9y
ZGVyIHRvIHN1cHBvcnQgdGhlIFtTdXBwbGVtZW50YWxdIElETCwgd2UgbmVlZCB0bworIyAoMSkg
cnVuIHJlc29sdmUtc3VwcGxlbWVudGFsLnBsIGFuZCBnZW5lcmF0ZSBzdXBwbGVtZW50YWxfZGVw
ZW5kZW5jeS50bXAKKyMgKDIpIGFuZCBydW4gZ2VuZXJhdGUtYmluZGluZ3MucGwgd2l0aCB0aGUg
c3VwcGxlbWVudGFsX2RlcGVuZGVuY3kudG1wLgorIworIyBUaGlzIGJ1aWxkIGZsb3cgcmVxdWly
ZXMgYSBjaGFuZ2Ugb24gdGhlIGZvbGxvd2luZyBidWlsZCBzY3JpcHRzLAorIyBidXQgY2hhbmdp
bmcgYWxsIHRoZSBidWlsZCBzY3JpcHRzIGFsbCBhdCBvbmNlIHdpdGhvdXQgYW55IHJlZ3Jlc3Np
b24gaXMgdG9vIGRpZmZpY3VsdDoKKyMKKyMgICAgIC0gRGVyaXZlZFNvdXJjZXMubWFrZQorIyAg
ICAgLSBEZXJpdmVkU291cmNlcy5wcmkKKyMgICAgIC0gR05VbWFrZWZpbGUuYW0KKyMgICAgIC0g
UGxhdGZvcm1CbGFja0JlcnJ5LmNtYWtlCisjICAgICAtIFVzZUpTQy5jbWFrZQorIyAgICAgLSBV
c2VWOC5jbWFrZQorIyAgICAgLSBXZWJDb3JlLnZjcHJvai9NaWdyYXRlU2NyaXB0cworIyAgICAg
LSBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorIyAgICAgLSBiaW5kaW5ncy9nb2JqZWN0
L0dOVW1ha2VmaWxlLmFtCisjICAgICAtIFdlYkNvcmUuZ3lwL1dlYkNvcmUuZ3lwCisjCisjIFRo
dXMsIHdlIGFyZSBwbGFubmluZyB0byBjaGFuZ2UgdGhlIGJ1aWxkIHNjcmlwdHMgb25lIGJ5IG9u
ZSwgd2hpY2ggaW1wbGllcyB0aGF0CisjIHdlIG5lZWQgdG8gYWxsb3cgdGhlIHRlbXBvcmFyeSBz
dGF0ZSBpbiB3aGljaCBzb21lIGJ1aWxkIHNjcmlwdHMgc3VwcG9ydCBbU3VwcGxlbWVudGFsXSBJ
REwKKyMgYnV0IG90aGVycyBkbyBub3QuIFRvIGFjY29tcGxpc2ggdGhpcywgd2UgaW50cm9kdWNl
IGEgdGVtcG9yYWwgSURMLCBbU3VwcGxlbWVudGVkXS4KKyMgVGhlIFtTdXBwbGVtZW50ZWRdIElE
TCBvbiBhbiBhdHRyaWJ1dGUgbWVhbnMgdGhhdCB0aGUgYXR0cmlidXRlIGlzIG1hcmtlZCB3aXRo
IFtTdXBwbGVtZW50YWxdCisjIGluIGFub3RoZXIgSURMIGZpbGUgc29tZXdoZXJlLCBsaWtlIHRo
aXM6CisjCisjIERPTVdpbmRvd1dlYkF1ZGlvLmlkbDoKKyMgICAgIGludGVyZmFjZSBbCisjICAg
ICAgICAgU3VwcGxlbWVudGFsPURPTVdpbmRvdworIyAgICAgXSBET01XaW5kb3dXZWJBdWRpbyB7
CisjICAgICAgICAgYXR0cmlidXRlIGF0dHIxOworIyAgICAgICAgIGF0dHJpYnV0ZSBhdHRyMjsK
KyMgICAgIH07CisjCisjIERPTVdpbmRvdy5pZGw6CisjICAgICBpbnRlcmZhY2UgWworIyAgICAg
XSBET01XaW5kb3cgeworIyAgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkXSBhdHRyMTsg
Ly8gVGhpcyBsaW5lIHdpbGwgYmUgcmVtb3ZlZCBhZnRlciBhbGwgYnVpbGQgc2NyaXB0cyBzdXBw
b3J0IHRoZSBbU3VwcGxlbWVudGFsTC4KKyMgICAgICAgICBhdHRyaWJ1dGUgW1N1cHBsZW1lbnRl
ZF0gYXR0cjI7IC8vIFRoaXMgbGluZSB3aWxsIGJlIHJlbW92ZWQgYWZ0ZXIgYWxsIGJ1aWxkIHNj
cmlwdHMgc3VwcG9ydCB0aGUgW1N1cHBsZW1lbnRhbEwuCisjICAgICAgICAgYXR0cmlidXRlIGF0
dHIzOworIyAgICAgICAgIGF0dHJpYnV0ZSBhdHRyNDsKKyMgICAgIH07CisjCisjIEFzc3VtaW5n
IHRoZXNlIElETCBmaWxlcywgdGhlIGJlbG93IGNvZGUgaXMgZG9pbmcgdGhlIGZvbGxvd2luZyBs
b2dpYzoKKyMKKyMgICAgIC0gSWYgYSBnaXZlbiBidWlsZCBzY3JpcHQgc3VwcG9ydHMgdGhlIFtT
dXBwbGVtZW50YWxdIElETCAoaS5lLiAtLXN1cHBsZW1lbnRhbERlcGVuZGVuY3lGaWxlIGlzIHNw
ZWNpZmllZCksCisjICAgICAgIHdlIGlnbm9yZSBhbGwgYXR0cmlidXRlcyB3aXRoIHRoZSBbU3Vw
cGxlbWVudGVkXSBJREwuCisjICAgICAtIE90aGVyd2lzZSAoaS5lLiAtLXN1cHBsZW1lbnRhbERl
cGVuZGVuY3lGaWxlIGlzIG5vdCBzcGVjaWZpZWQpLAorIyAgICAgICB3ZSB0cmVhdCBhbGwgYXR0
cmlidXRlcyB3aXRoIHRoZSBbU3VwcGxlbWVudGVkXSBJREwgYXMgbm9ybWFsIGF0dHJpYnV0ZXMK
KyMgICAgICAgYW5kIGluc3RlYWQgaWdub3JlIGFsbCBhdHRyaWJ1dGVzIHdpdGggdGhlIFtTdXBw
bGVtZW50YWxdIElETAorIyAgICAgICAoaS5lLiB3ZSBnZW5lcmF0ZSBub3RoaW5nIGZyb20gdGhl
IGlkbCBmaWxlIHdpdGggdGhlIFtTdXBwbGVtZW50YWxdIElETCkuCitpZiAoJHN1cHBsZW1lbnRh
bERlcGVuZGVuY3lGaWxlKSB7CisgICAgZm9yZWFjaCBteSAkZGF0YU5vZGUgKEB7JHRhcmdldERv
Y3VtZW50LT5jbGFzc2VzfSkgeworICAgICAgICBteSBAbm9uU3VwcGxlbWVudGVkQXR0cmlidXRl
czsKKyAgICAgICAgZm9yZWFjaCBteSAkYXR0cmlidXRlIChAeyRkYXRhTm9kZS0+YXR0cmlidXRl
c30pIHsKKyAgICAgICAgICAgIGlmICghJGF0dHJpYnV0ZS0+c2lnbmF0dXJlLT5leHRlbmRlZEF0
dHJpYnV0ZXMtPnsiU3VwcGxlbWVudGVkIn0pIHsKKyAgICAgICAgICAgICAgICBwdXNoKEBub25T
dXBwbGVtZW50ZWRBdHRyaWJ1dGVzLCAkYXR0cmlidXRlKTsKKyAgICAgICAgICAgIH0KKyAgICAg
ICAgfQorICAgICAgICAkZGF0YU5vZGUtPmF0dHJpYnV0ZXMoXEBub25TdXBwbGVtZW50ZWRBdHRy
aWJ1dGVzKTsKKyAgICB9Cit9IGVsc2UgeworICAgIGZvcmVhY2ggbXkgJGRhdGFOb2RlIChAeyR0
YXJnZXREb2N1bWVudC0+Y2xhc3Nlc30pIHsKKyAgICAgICAgaWYgKCRkYXRhTm9kZS0+ZXh0ZW5k
ZWRBdHRyaWJ1dGVzLT57IlN1cHBsZW1lbnRhbCJ9KSB7CisgICAgICAgICAgICBleGl0IDA7Cisg
ICAgICAgIH0KKyAgICB9Cit9CisjIFRlbXBvcmFyeSBpZi1lbHNlIHN0YXRlbWVudCB1bnRpbCBo
ZXJlLgorCiBmb3JlYWNoIG15ICRpZGxGaWxlIChAc3VwcGxlbWVudGVkSWRsRmlsZXMpIHsKICAg
ICBuZXh0IGlmICRpZGxGaWxlIGVxICR0YXJnZXRJZGxGaWxlOwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggOWYxYzA3ZWQ0YjQ5MzNjYTczOTg3MjBkYzZjMzYwMWJlODUyNjZmMi4u
NGFhNWFjMzgwOGViM2U0NzI2ZTk2OWE4NzY1MWZlNDRlZTc5YzcxZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtNTIzLDggKzUyMyw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAg
ICBhdHRyaWJ1dGUgW0pTQ0N1c3RvbUdldHRlcl0gRmxvYXQ2NEFycmF5Q29uc3RydWN0b3IgRmxv
YXQ2NEFycmF5OyAvLyBVc2FibGUgd2l0aCBuZXcgb3BlcmF0b3IKICAgICAgICAgYXR0cmlidXRl
IFtKU0NDdXN0b21HZXR0ZXJdIERhdGFWaWV3Q29uc3RydWN0b3IgRGF0YVZpZXc7IC8vIFVzYWJs
ZSB3aXRoIG5ldyBvcGVyYXRvcgogCi0gICAgICAgIGF0dHJpYnV0ZSBbSlNDQ3VzdG9tR2V0dGVy
LENvbmRpdGlvbmFsPVdFQl9BVURJTyxFbmFibGVkQXRSdW50aW1lXSBBdWRpb0NvbnRleHRDb25z
dHJ1Y3RvciB3ZWJraXRBdWRpb0NvbnRleHQ7IC8vIFVzYWJsZSB3aXRoIG5ldyBvcGVyYXRvcgot
ICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPVdFQl9BVURJT10gQXVkaW9QYW5uZXJOb2Rl
Q29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5uZXJOb2RlOyAvLyBOZWVkZWQgZm9yIHBhbm5pbmcg
bW9kZWwgY29uc3RhbnRzCisgICAgICAgIGF0dHJpYnV0ZSBbU3VwcGxlbWVudGVkLCBKU0NDdXN0
b21HZXR0ZXIsIENvbmRpdGlvbmFsPVdFQl9BVURJTywgRW5hYmxlZEF0UnVudGltZV0gQXVkaW9D
b250ZXh0Q29uc3RydWN0b3Igd2Via2l0QXVkaW9Db250ZXh0OyAvLyBVc2FibGUgd2l0aCBuZXcg
b3BlcmF0b3IKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFsPVdF
Ql9BVURJT10gQXVkaW9QYW5uZXJOb2RlQ29uc3RydWN0b3Igd2Via2l0QXVkaW9QYW5uZXJOb2Rl
OyAvLyBOZWVkZWQgZm9yIHBhbm5pbmcgbW9kZWwgY29uc3RhbnRzCiAKICAgICAgICAgLy8gRXZl
bnQgQ29uc3RydWN0b3JzCiAgICAgICAgIGF0dHJpYnV0ZSBFdmVudENvbnN0cnVjdG9yIEV2ZW50
OwpAQCAtNTUzLDggKzU1Myw4IEBAIG1vZHVsZSB3aW5kb3cgewogICAgICAgICBhdHRyaWJ1dGUg
W0NvbmRpdGlvbmFsPVRPVUNIX0VWRU5UU10gVG91Y2hFdmVudENvbnN0cnVjdG9yIFRvdWNoRXZl
bnQ7CiAgICAgICAgIGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9V0VCX1NPQ0tFVFNdIENsb3NlRXZl
bnRDb25zdHJ1Y3RvciBDbG9zZUV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgU3RvcmFnZUV2ZW50
Q29uc3RydWN0b3IgU3RvcmFnZUV2ZW50OwotICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFs
PVdFQl9BVURJT10gQXVkaW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3Np
bmdFdmVudDsKLSAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25hbD1XRUJfQVVESU9dIE9mZmxp
bmVBdWRpb0NvbXBsZXRpb25FdmVudENvbnN0cnVjdG9yIE9mZmxpbmVBdWRpb0NvbXBsZXRpb25F
dmVudDsKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFsPVdFQl9B
VURJT10gQXVkaW9Qcm9jZXNzaW5nRXZlbnRDb25zdHJ1Y3RvciBBdWRpb1Byb2Nlc3NpbmdFdmVu
dDsKKyAgICAgICAgYXR0cmlidXRlIFtTdXBwbGVtZW50ZWQsIENvbmRpdGlvbmFsPVdFQl9BVURJ
T10gT2ZmbGluZUF1ZGlvQ29tcGxldGlvbkV2ZW50Q29uc3RydWN0b3IgT2ZmbGluZUF1ZGlvQ29t
cGxldGlvbkV2ZW50OwogICAgICAgICBhdHRyaWJ1dGUgW0NvbmRpdGlvbmFsPUlOUFVUX1NQRUVD
SF0gU3BlZWNoSW5wdXRFdmVudENvbnN0cnVjdG9yIFNwZWVjaElucHV0RXZlbnQ7CiAgICAgICAg
IGF0dHJpYnV0ZSBbQ29uZGl0aW9uYWw9TUVESUFfU1RSRUFNXSBNZWRpYVN0cmVhbUV2ZW50Q29u
c3RydWN0b3IgTWVkaWFTdHJlYW1FdmVudDsKICAgICAgICAgYXR0cmlidXRlIFtDb25kaXRpb25h
bD1XRUJHTF0gV2ViR0xDb250ZXh0RXZlbnRDb25zdHJ1Y3RvciBXZWJHTENvbnRleHRFdmVudDsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlk
bCBiL1NvdXJjZS9XZWJDb3JlL3dlYmF1ZGlvL0RPTVdpbmRvd1dlYkF1ZGlvLmlkbApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5kZDEwOGVmYjdiMDMzZWZmYjFlZWVkN2FjNDA1MWIxNzIwZjdmYTk0Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvd2ViYXVkaW8vRE9NV2luZG93V2ViQXVkaW8uaWRsCkBA
IC0wLDAgKzEsMzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTEgR29vZ2xlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworbW9kdWxlIHdpbmRvdyB7CisKKyAgICBpbnRlcmZhY2UgWworICAg
ICAgICBDb25kaXRpb25hbD1XRUJfQVVESU8sCisgICAgICAgIFN1cHBsZW1lbnRhbD1ET01XaW5k
b3cKKyAgICBdIERPTVdpbmRvd1dlYkF1ZGlvIHsKKyAgICAgICAgYXR0cmlidXRlIFtKU0NDdXN0
b21HZXR0ZXIsIEVuYWJsZWRBdFJ1bnRpbWVdIEF1ZGlvQ29udGV4dENvbnN0cnVjdG9yIHdlYmtp
dEF1ZGlvQ29udGV4dDsKKyAgICAgICAgYXR0cmlidXRlIEF1ZGlvUGFubmVyTm9kZUNvbnN0cnVj
dG9yIHdlYmtpdEF1ZGlvUGFubmVyTm9kZTsKKyAgICAgICAgYXR0cmlidXRlIEF1ZGlvUHJvY2Vz
c2luZ0V2ZW50Q29uc3RydWN0b3IgQXVkaW9Qcm9jZXNzaW5nRXZlbnQ7CisgICAgICAgIGF0dHJp
YnV0ZSBPZmZsaW5lQXVkaW9Db21wbGV0aW9uRXZlbnRDb25zdHJ1Y3RvciBPZmZsaW5lQXVkaW9D
b21wbGV0aW9uRXZlbnQ7CisgICAgfTsKKworfQpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
</data>

          </attachment>
      

    </bug>

</bugzilla>