<?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>102344</bug_id>
          
          <creation_ts>2012-11-14 23:59:23 -0800</creation_ts>
          <short_desc>Implement CSSHostRule for @host @-rules.</short_desc>
          <delta_ts>2013-01-18 02:29:45 -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>CSS</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>102116</dependson>
    
    <dependson>106418</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Takashi Sakamoto">tasak</reporter>
          <assigned_to name="Takashi Sakamoto">tasak</assigned_to>
          <cc>abarth</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>feature-media-reviews</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>morrita</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>rakuco</cc>
    
    <cc>sgrekhov</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>767779</commentid>
    <comment_count>0</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-11-14 23:59:23 -0800</bug_when>
    <thetext>We need CSSHostRule to enable WebInsepector to show @host @-rules instead of &quot;undefined&quot;.
We also need to discuss whether we need CSSHostRule.idl or not. However this depends on Shadow DOM spec. So in this bug, just implement CSSHostRule without any IDL files.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789416</commentid>
    <comment_count>1</comment_count>
      <attachid>179013</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-12 03:19:27 -0800</bug_when>
    <thetext>Created attachment 179013
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789419</commentid>
    <comment_count>2</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-12 03:22:11 -0800</bug_when>
    <thetext>Shadow DOM spec, http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html#css-host-rule-interface, says:

partial interface CSSRule {
    const unsigned short HOST_RULE = 1001;
};

However, only 5 bits are available for representing a style type in class StyleRuleBase. So I used &quot;31&quot; for HOST_RULE in my patch.

Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789426</commentid>
    <comment_count>3</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-12-12 03:39:17 -0800</bug_when>
    <thetext>(In reply to comment #2)
&gt; partial interface CSSRule {
&gt;     const unsigned short HOST_RULE = 1001;
&gt; };
&gt; 
&gt; However, only 5 bits are available for representing a style type in class StyleRuleBase. So I used &quot;31&quot; for HOST_RULE in my patch.

Perhaps you can suggest to dimitri to change the spec to use a value from the standards based range in [1].

[1] http://wiki.csswg.org/spec/cssom-constants</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789896</commentid>
    <comment_count>4</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-12-12 14:03:01 -0800</bug_when>
    <thetext>(In reply to comment #3)
&gt; (In reply to comment #2)
&gt; &gt; partial interface CSSRule {
&gt; &gt;     const unsigned short HOST_RULE = 1001;
&gt; &gt; };
&gt; &gt; 
&gt; &gt; However, only 5 bits are available for representing a style type in class StyleRuleBase. So I used &quot;31&quot; for HOST_RULE in my patch.
&gt; 
&gt; Perhaps you can suggest to dimitri to change the spec to use a value from the standards based range in [1].
&gt; 
&gt; [1] http://wiki.csswg.org/spec/cssom-constants

I can&apos;t do that, since this constant hasn&apos;t been reviewed and approved by CSS WG group yet.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>789922</commentid>
    <comment_count>5</comment_count>
    <who name="Glenn Adams">glenn</who>
    <bug_when>2012-12-12 14:29:40 -0800</bug_when>
    <thetext>(In reply to comment #4)
&gt; (In reply to comment #3)
&gt; &gt; (In reply to comment #2)
&gt; &gt; &gt; partial interface CSSRule {
&gt; &gt; &gt;     const unsigned short HOST_RULE = 1001;
&gt; &gt; &gt; };
&gt; &gt; &gt; 
&gt; &gt; &gt; However, only 5 bits are available for representing a style type in class StyleRuleBase. So I used &quot;31&quot; for HOST_RULE in my patch.
&gt; &gt; 
&gt; &gt; Perhaps you can suggest to dimitri to change the spec to use a value from the standards based range in [1].
&gt; &gt; 
&gt; &gt; [1] http://wiki.csswg.org/spec/cssom-constants
&gt; 
&gt; I can&apos;t do that, since this constant hasn&apos;t been reviewed and approved by CSS WG group yet.

Do you plan to do request that review/approval? I would recommend you email the list, requesting an assigned value. Tab can help you if needed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790045</commentid>
    <comment_count>6</comment_count>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-12-12 16:26:55 -0800</bug_when>
    <thetext>(In reply to comment #5)
 
&gt; Do you plan to do request that review/approval? I would recommend you email the list, requesting an assigned value. Tab can help you if needed.

Yup. It&apos;s in flight :)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790235</commentid>
    <comment_count>7</comment_count>
      <attachid>179013</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-12 20:40:56 -0800</bug_when>
    <thetext>Comment on attachment 179013
Patch

I have to use &quot;1001&quot; as @host @-rules&apos; type. I will update the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790451</commentid>
    <comment_count>8</comment_count>
      <attachid>179240</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-13 02:57:16 -0800</bug_when>
    <thetext>Created attachment 179240
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790454</commentid>
    <comment_count>9</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-13 03:00:10 -0800</bug_when>
    <thetext>I added class StyleRareRuleBlock and changed StyleHostRule to inherit the StyleRareRuleBlock.
I think, number of @host @-rules is much smaller than number of style rules. It would be ok to add one more &quot;unsigned&quot; member variable to StyleHostRule via StyleRareRuleBlock.

Best regards,
Takashi Sakamoto</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790461</commentid>
    <comment_count>10</comment_count>
      <attachid>179240</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-13 03:04:52 -0800</bug_when>
    <thetext>Comment on attachment 179240
Patch

Attachment 179240 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15323192</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790474</commentid>
    <comment_count>11</comment_count>
      <attachid>179240</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-13 03:38:15 -0800</bug_when>
    <thetext>Comment on attachment 179240
Patch

Attachment 179240 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15320180</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790484</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 04:04:01 -0800</bug_when>
    <thetext>Attachment 179240 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790514</commentid>
    <comment_count>13</comment_count>
      <attachid>179240</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-13 05:01:16 -0800</bug_when>
    <thetext>Comment on attachment 179240
Patch

Attachment 179240 did not pass mac-ews (mac):
Output: http://queues.webkit.org/results/15309259</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>790567</commentid>
    <comment_count>14</comment_count>
      <attachid>179240</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-13 06:59:10 -0800</bug_when>
    <thetext>Comment on attachment 179240
Patch

Attachment 179240 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15331005</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791200</commentid>
    <comment_count>15</comment_count>
      <attachid>179393</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-13 18:14:58 -0800</bug_when>
    <thetext>Created attachment 179393
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791206</commentid>
    <comment_count>16</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-13 18:20:06 -0800</bug_when>
    <thetext>Attachment 179393 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>791289</commentid>
    <comment_count>17</comment_count>
      <attachid>179393</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2012-12-13 20:47:38 -0800</bug_when>
    <thetext>Comment on attachment 179393
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        * CMakeLists.txt:

Would love to have a bit more detail on these.

&gt; Source/WebCore/css/CSSHostRule.cpp:24
&gt; +#include &quot;CSSHostRule.h&quot;

This whole file seems like a lot of boilerplate that&apos;s probably very similar to @region stuff and other similar at-rules handling. I sense a great code health improvement opportunity! :)

&gt; Source/WebCore/css/StyleRule.h:251
&gt; +class StyleRareRuleBlock : public StyleRuleBlock {

The use of a Rare pattern here seems like a bit of an overkill. We will only have these temporarily and probably won&apos;t have many at once. Tab and I should have @host become 17 shortly.

Can we just have the id be 17 internally and 1001 externally?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>794487</commentid>
    <comment_count>18</comment_count>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2012-12-19 03:07:26 -0800</bug_when>
    <thetext>*** Bug 105404 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801942</commentid>
    <comment_count>19</comment_count>
      <attachid>181624</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-07 19:44:25 -0800</bug_when>
    <thetext>Created attachment 181624
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>801947</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-07 19:48:55 -0800</bug_when>
    <thetext>Attachment 181624 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 26 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802162</commentid>
    <comment_count>21</comment_count>
      <attachid>181675</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-08 02:30:50 -0800</bug_when>
    <thetext>Created attachment 181675
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802163</commentid>
    <comment_count>22</comment_count>
      <attachid>179393</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-08 02:34:10 -0800</bug_when>
    <thetext>Comment on attachment 179393
Patch

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

Thank you for reviewing.

Best regards,
Takashi Sakamoto

&gt;&gt; Source/WebCore/ChangeLog:15
&gt;&gt; +        * CMakeLists.txt:
&gt; 
&gt; Would love to have a bit more detail on these.

I see. I tried to add comments.

&gt;&gt; Source/WebCore/css/CSSHostRule.cpp:24
&gt;&gt; +#include &quot;CSSHostRule.h&quot;
&gt; 
&gt; This whole file seems like a lot of boilerplate that&apos;s probably very similar to @region stuff and other similar at-rules handling. I sense a great code health improvement opportunity! :)

I agree that this code is almost the same as WebKitCSSRegionRule and CSSMediaRule. ... firstly I was thinking that it would be better to file a new bug for refactoring those classes. However I added CSSBlockRule to avoid just &quot;copy and paste&quot;.

&gt;&gt; Source/WebCore/css/StyleRule.h:251
&gt;&gt; +class StyleRareRuleBlock : public StyleRuleBlock {
&gt; 
&gt; The use of a Rare pattern here seems like a bit of an overkill. We will only have these temporarily and probably won&apos;t have many at once. Tab and I should have @host become 17 shortly.
&gt; 
&gt; Can we just have the id be 17 internally and 1001 externally?

I see. Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802165</commentid>
    <comment_count>23</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 02:35:56 -0800</bug_when>
    <thetext>Attachment 181675 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802167</commentid>
    <comment_count>24</comment_count>
      <attachid>181675</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-08 02:38:01 -0800</bug_when>
    <thetext>Comment on attachment 181675
Patch

Attachment 181675 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15756105</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802168</commentid>
    <comment_count>25</comment_count>
      <attachid>181675</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-08 02:40:24 -0800</bug_when>
    <thetext>Comment on attachment 181675
Patch

Attachment 181675 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15762054</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802169</commentid>
    <comment_count>26</comment_count>
      <attachid>181675</attachid>
    <who name="Chris Dumez">cdumez</who>
    <bug_when>2013-01-08 02:42:33 -0800</bug_when>
    <thetext>Comment on attachment 181675
Patch

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

&gt; Source/WebCore/css/CSSBlockRule.h:140
&gt; +        result.append(&quot;  &quot;);

nit: We could use StringBuilder::appendLiteral() here.

&gt; Source/WebCore/css/CSSHostRule.cpp:47
&gt; +    result.append(&quot;@host { \n&quot;);

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802170</commentid>
    <comment_count>27</comment_count>
      <attachid>181676</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-08 02:43:15 -0800</bug_when>
    <thetext>Created attachment 181676
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802172</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 02:48:36 -0800</bug_when>
    <thetext>Attachment 181676 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802175</commentid>
    <comment_count>29</comment_count>
      <attachid>181679</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-08 02:53:00 -0800</bug_when>
    <thetext>Created attachment 181679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802177</commentid>
    <comment_count>30</comment_count>
      <attachid>181675</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-08 02:54:35 -0800</bug_when>
    <thetext>Comment on attachment 181675
Patch

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

&gt;&gt; Source/WebCore/css/CSSBlockRule.h:140
&gt;&gt; +        result.append(&quot;  &quot;);
&gt; 
&gt; nit: We could use StringBuilder::appendLiteral() here.

Thanks. Done.

&gt;&gt; Source/WebCore/css/CSSHostRule.cpp:47
&gt;&gt; +    result.append(&quot;@host { \n&quot;);
&gt; 
&gt; Ditto.

Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802183</commentid>
    <comment_count>31</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-08 03:00:15 -0800</bug_when>
    <thetext>Attachment 181679 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 32 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>802291</commentid>
    <comment_count>32</comment_count>
      <attachid>181679</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-08 09:13:51 -0800</bug_when>
    <thetext>Comment on attachment 181679
Patch

This is good progress! Let&apos;s now split this patch up into two chunks:

1) Refactoring to add CSSBlockRule
2) Adding CSSHostRule.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805064</commentid>
    <comment_count>33</comment_count>
      <attachid>182296</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-11 01:35:44 -0800</bug_when>
    <thetext>Created attachment 182296
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805072</commentid>
    <comment_count>34</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-11 01:47:11 -0800</bug_when>
    <thetext>Attachment 182296 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:57:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>805324</commentid>
    <comment_count>35</comment_count>
      <attachid>182296</attachid>
    <who name="Dimitri Glazkov (Google)">dglazkov</who>
    <bug_when>2013-01-11 09:29:47 -0800</bug_when>
    <thetext>Comment on attachment 182296
Patch

awesome.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808135</commentid>
    <comment_count>36</comment_count>
      <attachid>182296</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 01:03:13 -0800</bug_when>
    <thetext>Comment on attachment 182296
Patch

Rejecting attachment 182296 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: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
Kit/chromium/third_party/yasm/source/patched-yasm --revision 167605 --non-interactive --force --accept theirs-conflict --ignore-externals&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
52&gt;At revision 167605.

________ running &apos;/usr/bin/python tools/clang/scripts/update.py --mac-only&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;

________ running &apos;/usr/bin/python gyp_webkit&apos; in &apos;/mnt/git/webkit-commit-queue/Source/WebKit/chromium&apos;
Updating webkit projects from gyp files...

Full output: http://queues.webkit.org/results/15904355</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808494</commentid>
    <comment_count>37</comment_count>
      <attachid>182296</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 10:19:10 -0800</bug_when>
    <thetext>Comment on attachment 182296
Patch

Rejecting attachment 182296 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: 2 cwd: /mnt/git/webkit-commit-queue

Last 500 characters of output:
re/css/StyleRule.h.rej
patching file Source/WebCore/css/StyleSheetContents.cpp
patching file Source/WebCore/page/DOMWindow.idl
patching file LayoutTests/ChangeLog
Hunk #1 succeeded at 1 with fuzz 3.
patching file LayoutTests/fast/dom/shadow/css-hostrule-api-expected.txt
patching file LayoutTests/fast/dom/shadow/css-hostrule-api.html

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

Full output: http://queues.webkit.org/results/15905511</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810372</commentid>
    <comment_count>38</comment_count>
      <attachid>183403</attachid>
    <who name="Takashi Sakamoto">tasak</who>
    <bug_when>2013-01-18 01:51:52 -0800</bug_when>
    <thetext>Created attachment 183403
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810381</commentid>
    <comment_count>39</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 01:56:35 -0800</bug_when>
    <thetext>Attachment 183403 did not pass style-queue:

Failed to run &quot;[&apos;Tools/Scripts/check-webkit-style&apos;, &apos;--diff-files&apos;, u&apos;LayoutTests/ChangeLog&apos;, u&apos;LayoutTests/fast...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:60:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSRule.h:63:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 2 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810405</commentid>
    <comment_count>40</comment_count>
      <attachid>183403</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 02:29:37 -0800</bug_when>
    <thetext>Comment on attachment 183403
Patch

Clearing flags on attachment: 183403

Committed r140115: &lt;http://trac.webkit.org/changeset/140115&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>810406</commentid>
    <comment_count>41</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-18 02:29:45 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179013</attachid>
            <date>2012-12-12 03:19:27 -0800</date>
            <delta_ts>2012-12-13 02:57:12 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20121212201647.patch</filename>
            <type>text/plain</type>
            <size>39291</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NDE4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZTY3MTA1NWQ3ZWY1OWFh
NGY2YzQ5ZDJmZjYzNTUxYjAxYjM1ZGI2Mi4uMWUwOTQ3ZTcwMmQyNTBjNTc2Yjc0ZWFmYjk4YjE4
ZTE2ZDI4Y2RmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDU5IEBACisyMDEyLTEyLTEyICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NT
SG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDU1NIb3N0UnVsZSBpcyBkZWZpbmVkIGluIFNoYWRvdyBET00g
c3BlYzoKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL3dlYmNvbXBvbmVudHMvcmF3LWZp
bGUvdGlwL3NwZWMvc2hhZG93L2luZGV4Lmh0bWwjY3NzLWhvc3QtcnVsZS1pbnRlcmZhY2UKKyAg
ICAgICAgVG8gc2VlIG9yIHRvIG1vZGlmeSBAaG9zdCBALXJ1bGVzIGJ5IHVzaW5nIGluc3BlY3Rv
ciwgd2UgbmVlZCB0bworICAgICAgICBpbXBsZW1lbnQgQ1NTSG9zdFJ1bGUgaW50ZXJmYWNlLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NQ1NTLm1tOgorICAgICAgICAoa2l0Q2xhc3MpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6d3JhcCk6CisgICAgICAgICogY3NzL0NTU0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBj
c3MvQ1NTSG9zdFJ1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0hvc3RSdWxlOjp+Q1NTSG9zdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6
Omluc2VydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmRlbGV0ZVJ1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmNzc1RleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTSG9zdFJ1bGU6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVs
ZTo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3NzUnVsZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0hvc3RSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0hvc3RS
dWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NIb3N0UnVsZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3Mv
Q1NTSG9zdFJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAg
ICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFwcGVycyk6CisgICAgICAgICogY3NzL1N0
eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdy
YXBwZXIpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKiBwYWdlL0RPTVdp
bmRvdy5pZGw6CisKIDIwMTItMTItMTEgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUu
Y29tPgogCiAgICAgICAgIFRleHQgbm9kZXMgaW4gc2hhZG93IHJvb3RzIGRvbid0IGluaGVyaXQg
c3R5bGUgcHJvcGVybHkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggMGEyNjA1ZTNkMjZiYjQyYTA5
YWVjZmUyZTc4MTY0NTNkMDQ5N2I0Yy4uYzhkOWM4MGY0OWJlZDQzZjNlNzM2ZTY3MjEzOGEyZDFh
ZWNiNWM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMxMiw2ICszMTIsNyBAQCBzZXQoV2Vi
Q29yZV9JRExfRklMRVMKICAgICBjc3MvQ291bnRlci5pZGwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1
bGUuaWRsCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyAgICBjc3MvQ1NTSG9zdFJ1bGUu
aWRsCiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAgICAgY3NzL0NTU01lZGlhUnVsZS5pZGwK
ICAgICBjc3MvQ1NTUGFnZVJ1bGUuaWRsCkBAIC0xMDI5LDYgKzEwMzAsNyBAQCBzZXQoV2ViQ29y
ZV9TT1VSQ0VTCiAgICAgY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKICAgICBjc3MvQ1NTRnVuY3Rp
b25WYWx1ZS5jcHAKICAgICBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKyAgICBjc3MvQ1NTSG9z
dFJ1bGUuY3BwCiAgICAgY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCiAgICAgY3NzL0NT
U0ltYWdlU2V0VmFsdWUuY3BwCiAgICAgY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAKaW5kZXggMDc3ZTA5ZTU5MzhjOWJhNGQ2OWZjZDg2Y2Q3OTZhNTM3M2E5
NmQ2Ni4uMmJlOTRmYjUzODhjOWM0ZDRhNGE5MTNkMjM2ZTgyZTNjMDgwYmZmNyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkpTQ3J5cHRv
LmNwcCIKICNpbmNsdWRlICJKU0NTU0NoYXJzZXRSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU0Zv
bnRGYWNlUnVsZS5jcHAiCisjaW5jbHVkZSAiSlNDU1NIb3N0UnVsZS5jcHAiCiAjaW5jbHVkZSAi
SlNDU1NJbXBvcnRSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU01lZGlhUnVsZS5jcHAiCiAjaW5j
bHVkZSAiSlNDU1NQYWdlUnVsZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCA5ODkwZjAxODgxZDJiYWJlY2VlYjBjMjE4Y2MyZGNhZDhmNWVlZTkwLi44YjAyMjNiYTYzNDQz
NTA2ZTUxZGYyYTI0MmUxZTU3NjM3ZGUxYmNlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTE2OSw2ICsxNjksNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9N
b2R1bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGwgXAogICAgICQoV2Vi
Q29yZSkvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9u
dEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKICAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3Mv
Q1NTTWVkaWFSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTUGFnZVJ1bGUuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBkNThhZmI5MzE2N2Y3MTU4NGViYmVmMGZj
NmQ0MjYyMzY4MGU4MTFkLi5lNjRiYzU0OGU3OGMwNTcyMjA3YmUzMTcyZjZkYWQyM2M4ZmZiMjYy
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xODksNiArMTg5LDcgQEAgSURMX0JJ
TkRJTkdTICs9IFwKICAgICAkJFBXRC9jc3MvQ291bnRlci5pZGwgXAogICAgICQkUFdEL2Nzcy9D
U1NDaGFyc2V0UnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwK
KyAgICAkJFBXRC9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTSW1wb3J0
UnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKICAgICAkJFBXRC9j
c3MvQ1NTUGFnZVJ1bGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDgy
NWQ5NjE5NzA1YjE5ZjhlNjY0OWJlMzQ2ZTZkNmJjNTY2MmQ4NGMuLmI5ODQ0NDE5ZjAzMjI2NGI5
MjNmOTJjNDUzN2EzZWYyNjA3ZTY4YWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpA
QCAtMTEzLDYgKzExMyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0NTU0NoYXJzZXRSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NGb250RmFjZVJ1bGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Rm9udEZhY2VSdWxlLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NJbXBvcnRSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NN
ZWRpYVJ1bGUuY3BwIFwKQEAgLTEzMTgsNiArMTMyMCw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0g
XAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJTb2NrZXQu
aWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkv
Y3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorCSQoV2ViQ29yZSkvY3NzL0NTU0hvc3RSdWxlLmlk
bCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3Nz
L0NTU01lZGlhUnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCkBA
IC0yNTI1LDYgKzI1MjgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRp
ZW50VmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0hlbHBlci5oIFwKKwlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9z
dFJ1bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3Bw
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIFwKIAlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4
IGE0ZjQxNjRmZTIyYTM4YTA1YTFlYTQxZjI3MzI3ZjJjMTI1NTJiMDMuLjI2NjMyNDRkNWMwNzVj
NmE0OTc0OTliMGZkODE0NDE2Y2JjNTgzMDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE2MCw2ICsx
NjAsNyBAQAogICAgICAgICAgICAgJ01vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJDb250ZXh0V2Vi
U29ja2V0LmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCcsCiAgICAg
ICAgICAgICAnY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwnLAorICAgICAgICAgICAgJ2Nzcy9DU1NI
b3N0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCcsCiAgICAg
ICAgICAgICAnY3NzL0NTU01lZGlhUnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NQYWdl
UnVsZS5pZGwnLApAQCAtMTQ1Nyw2ICsxNDU4LDggQEAKICAgICAgICAgICAgICdjc3MvQ1NTRnVu
Y3Rpb25WYWx1ZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NHcmFkaWVudFZhbHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9D
U1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAgJ2Nzcy9DU1NIb3N0UnVsZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NJbWFnZVNldFZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltYWdlVmFsdWUu
Y3BwJywKQEAgLTU1MTQsNiArNTUxNyw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NDaGFyc2V0UnVsZUludGVybmFsLmgnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTRm9u
dEZhY2VSdWxlLm1tJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0RPTUNTU0ZvbnRGYWNlUnVsZUludGVybmFsLmgnLAorICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSG9zdFJ1bGUubW0nLAor
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NT
SG9zdFJ1bGVJbnRlcm5hbC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0RPTUNTU0ltcG9ydFJ1bGUubW0nLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSW1wb3J0UnVsZUludGVybmFs
LmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
RE9NQ1NTTWVkaWFSdWxlLm1tJywKQEAgLTYwNzIsNiArNjA3Nyw4IEBACiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0NoYXJzZXRSdWxlLmgn
LAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NGb250RmFjZVJ1bGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmgnLAorICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5jcHAnLAorICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0
UnVsZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NJbXBvcnRSdWxlLmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRpYVJ1bGUuY3BwJywK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9q
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNzdk
NDNiMzkxY2E1ZDlmNDI2ZmIwMjE1OWU4ZWRhMWUyNmM2M2RlNC4uNmZlNDA0ZGIzMTZmOWI2ZWVk
MzY4NmM4NDUxZTkzMTIyOGRjMjhjMSAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKQEAgLTE4NTgsNiArMTg1OCw2MiBAQAogCQkJCT4KIAkJCTwvRmls
ZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ1NTSG9zdFJ1bGUuY3BwIgorCQkJ
CT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxp
dGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxU
b29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNv
bmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0Fs
bHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlv
bnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENv
bmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpT
Q1NTSG9zdFJ1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZl
UGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVk
U291cmNlc1xKU0NTU0ltcG9ydFJ1bGUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KQEAgLTM2MDA2LDYgKzM2MDYyLDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUK
KwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NIb3N0UnVsZS5jcHAiCisJCQkJPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNs
dWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkND
TENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxG
aWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NIb3N0
UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDQyMTQ4OTY0MjU5MWI0YThlZDc4MDc1YTNkODRmNDQ2MDUzNDMzNDIuLjky
YzNjMWI3NTliYjE2MjZmYTg0NzNmZDZiOGRkMmRiMzBjN2EzZmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0MDAsNiArNjQw
MCw4IEBACiAJCUZBQkU3MkZEMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9y
eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJF
NzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwICovOyB9Owog
CQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5QzIxMTAwRDk5
OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsgfTsKIAkJRkIyQzE1QzMxNjVENjQ5RDAwMzlDOUY4
IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjJDMTVDMjE2NUQ2NDkwMDAzOUM5RjggLyogQ2FjaGVk
U1ZHRG9jdW1lbnRSZWZlcmVuY2UuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OworCQlGQjQ5QzM5QTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMz
OTkxNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCAqLzsgfTsKKwkJRkI0OUMzOUQx
Njc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9z
dFJ1bGUuaCAqLzsgfTsKIAkJRkI3OEFEMkUxNTFCRjVFNjAwRkU1NEQzIC8qIENTU1BhcnNlck1v
ZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhB
RDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMz
IC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlG
QkMyMjBERjEyMzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJDMjIwREUxMjM3
RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLzsgfTsKQEAgLTEz
OTE3LDYgKzEzOTE5LDkgQEAKIAkJRkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVs
ZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1h
dGhNTEVsZW1lbnRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkFC
RTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRkIyQzE1QzIxNjVENjQ5MDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50
UmVmZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNWR0Rv
Y3VtZW50UmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNDlDMzk5
MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBDU1NIb3N0UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NIb3N0UnVsZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGQjQ5QzM5RTE2Nzg0OTU0MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaWRs
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0hvc3RSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFyc2VyTW9kZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xp
cFBhdGhPcGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFBh
dGhPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3
RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxMzgyLDYgKzIxMzg3LDkgQEAKIAkJCQlGQ0VC
Q0Q3MTE2MjNBNzkxMDAyOTk2NUUgLyogQ1NTR3JhbW1hci55LmluICovLAogCQkJCUZDRUJDRDcy
MTYyM0E3OTEwMDI5OTY1RSAvKiBDU1NHcmFtbWFyLnkuaW5jbHVkZXMgKi8sCiAJCQkJQkM3NzJC
MzYwQzRFQTkxRTAwODMyODVGIC8qIENTU0hlbHBlci5oICovLAorCQkJCUZCNDlDMzk5MTY3ODQ5
MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgKi8sCisJCQkJRkI0OUMzOUMxNjc4NDk0NzAw
N0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggKi8sCisJCQkJRkI0OUMzOUUxNjc4NDk1NDAwN0ZGQjVE
IC8qIENTU0hvc3RSdWxlLmlkbCAqLywKIAkJCQlCQzIzRTc2QjBEQUU4OEE5MDA5RkRDOTEgLyog
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgKi8sCiAJCQkJQkMyM0VFOTEwREFFRDJCQzAwOUZE
QzkxIC8qIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCAqLywKIAkJCQk5MzkzRTVGRDE1MUE5OUYy
MDAwNjZGMDYgLyogQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAgKi8sCkBAIC0yNTg5OSw2ICsyNTkwNyw3
IEBACiAJCQkJOTg2RUE4ODMxNUZGRjI5MDAwOTg1RTVFIC8qIFByZXJlbmRlckNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRkRBOTMyNUUxNjcwM0IyQTAwODk4MkRDIC8qIE9mZmxpbmVBdWRp
b0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTkzMjY3MTY3MDNCQTkwMDg5ODJEQyAv
KiBKU09mZmxpbmVBdWRpb0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAorCQkJCUZCNDlDMzlEMTY3
ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC0yOTAwNSw2
ICsyOTAxNCw3IEBACiAJCQkJMzFENTkxQkIxNjZDMkU2QzAwRTZCRjAyIC8qIFBsdWdJbk9yaWdp
bkhhc2guY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBOTMyNUQxNjcwM0IyQTAwODk4MkRDIC8q
IE9mZmxpbmVBdWRpb0NvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkRBOTMyNjYxNjcw
M0JBOTAwODk4MkRDIC8qIEpTT2ZmbGluZUF1ZGlvQ29udGV4dC5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQlGQjQ5QzM5QTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVD
dXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNw
cAppbmRleCAyYTQ2NWRjN2RjMWVkODc2NjA3ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi5jYmViM2M2
ODVkOTlmZWIwYzE0ZDFmODhlZmNlZjkyNjA1NzEzODllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNs
dWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0NoYXJzZXRSdWxlLmgiCiAjaW5j
bHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJKU0NTU0hvc3RSdWxlLmgiCiAj
aW5jbHVkZSAiSlNDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1bGUuaCIK
ICNpbmNsdWRlICJKU0NTU1BhZ2VSdWxlLmgiCkBAIC0xMDYsNiArMTA3LDExIEBAIEpTVmFsdWUg
dG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENT
U1J1bGUqIHJ1bGUpCiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4
ZWMsIGdsb2JhbE9iamVjdCwgV2ViS2l0Q1NTUmVnaW9uUnVsZSwgcnVsZSk7CiAgICAgICAgICAg
ICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgICAgICBjYXNlIENT
U1J1bGU6OkhPU1RfUlVMRToKKyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQ
RVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDU1NIb3N0UnVsZSwgcnVsZSk7CisgICAgICAgICAgICBi
cmVhazsKKyNlbmRpZgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgd3JhcHBlciA9IENS
RUFURV9ET01fV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIENTU1J1bGUsIHJ1bGUpOwogICAg
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tIGIv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KaW5kZXggM2MxZGE4MjMxMjE5
YzZiMTQ3MTFiOGE0NTg1MzNjYjE3YjgxMGZkYy4uZTM5MzRlYmQ0NGNmY2ViY2UxODBhZGNmZWRl
M2JmNWI5Mjc5MTJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9E
T01DU1MubW0KKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KQEAg
LTY1LDYgKzY1LDEwIEBACiAjaW1wb3J0ICJET01TVkdQYWludC5oIgogI2VuZGlmCiAKKyNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKKyNpbXBvcnQgIkRPTUNTU0hvc3RSdWxlLmgiCisjZW5kaWYKKwog
Ly8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTVN0eWxlU2hlZXQKIApA
QCAtMTA3LDYgKzExMSwxMCBAQCBDbGFzcyBraXRDbGFzcyhXZWJDb3JlOjpDU1NSdWxlKiBpbXBs
KQogICAgICAgICBjYXNlIERPTV9XRUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgICAgICByZXR1
cm4gW0RPTVdlYktpdENTU1JlZ2lvblJ1bGUgY2xhc3NdOwogI2VuZGlmCisjaWYgRU5BQkxFKFNI
QURPV19ET00pCisgICAgICAgIGNhc2UgRE9NX0hPU1RfUlVMRToKKyAgICAgICAgICAgIHJldHVy
biBbRE9NQ1NTSG9zdFJ1bGUgY2xhc3NdOworI2VuZGlmCiAgICAgfQogICAgIEFTU0VSVF9OT1Rf
UkVBQ0hFRCgpOwogICAgIHJldHVybiBuaWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCmluZGV4IGQxNTFjZDhiMGY1Yzlj
Njk0Mzg4NmY3NTJiOWQ4NjNjNmNkMTM3NmEuLmNjNDlhNmMwMTU5MTRmYjZmNmVjNDZhZDI2MWQ4
MzhhYTBhNmU0ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3Rv
bS9WOENTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1
c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJW
OENTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJWOENTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NJbXBvcnRSdWxlLmgiCiAjaW5j
bHVkZSAiVjhDU1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRlICJWOENTU1BhZ2VSdWxlLmgiCkBAIC03
OCw2ICs3OSwxMCBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoQ1NTUnVsZSogaW1wbCwg
djg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleAogI2VuZGlmCiAgICAgY2FzZSBD
U1NSdWxlOjpXRUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgIHJldHVybiB3cmFwKHN0YXRpY19j
YXN0PFdlYktpdENTU1JlZ2lvblJ1bGUqPihpbXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRl
KTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBjYXNlIENTU1J1bGU6OkhPU1RfUlVMRToK
KyAgICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8Q1NTSG9zdFJ1bGUqPihpbXBsKSwgY3Jl
YXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyNlbmRpZgogICAgIH0KICAgICByZXR1cm4gVjhDU1NS
dWxlOjpjcmVhdGVXcmFwcGVyKGltcGwsIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CiB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcAppbmRleCA0NzlkOGRlZjc4YzlkMzc0MDk3YzBjNGU5
OTkxMzcxM2UyYTIzMTA1Li43YThmZjU1M2U5OTZmODEwYjJmYTczMmRlNjE5N2QwZjkzMTEzNzkz
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNs
dWRlICJDU1NGb250U2VsZWN0b3IuY3BwIgogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuY3Bw
IgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFsdWUuY3BwIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxl
LmNwcCIKICNpbmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCIKICNpbmNsdWRlICJD
U1NJbWFnZVZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSG9zdFJ1bGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1YTliYjYyY2Y1MDBlZjgwYTFlMDZjNGIx
NzZiMjU4YzdmZDVmZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SG9zdFJ1bGUuY3BwCkBAIC0wLDAgKzEsMTc0IEBACisvKioKKyAqIChDKSAxOTk5LTIwMDMgTGFy
cyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyICht
dWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMTIg
QXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2Vpbmln
IChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRl
cm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJs
aXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQg
d2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZl
biB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMu
LCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0x
MzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0hvc3RS
dWxlLmgiCisKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKworI2luY2x1ZGUgIkNTU1BhcnNlci5o
IgorI2luY2x1ZGUgIkNTU1J1bGVMaXN0LmgiCisjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgor
I2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNs
dWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL01lbW9y
eUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxk
ZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NIb3N0UnVsZTo6Q1NTSG9zdFJ1bGUo
U3R5bGVSdWxlSG9zdCogaG9zdFJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENT
U1J1bGUocGFyZW50KQorICAgICwgbV9ob3N0UnVsZShob3N0UnVsZSkKKyAgICAsIG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVycyhob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkKK3sKK30KKwor
Q1NTSG9zdFJ1bGU6On5DU1NIb3N0UnVsZSgpCit7CisgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NT
T01XcmFwcGVycy5zaXplKCkgPT0gbV9ob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7CisK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNp
emUoKTsgKytpKSB7CisgICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0pCisg
ICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnNldFBhcmVudFJ1bGUoMCk7
CisgICAgfQorfQorCit1bnNpZ25lZCBDU1NIb3N0UnVsZTo6aW5zZXJ0UnVsZShjb25zdCBTdHJp
bmcmIHJ1bGVTdHJpbmcsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAg
ICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX2hvc3RSdWxlLT5j
aGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKworICAgIGlmIChpbmRleCA+IG1faG9zdFJ1bGUtPmNoaWxk
UnVsZXMoKS5zaXplKCkpIHsKKyAgICAgICAgLy8gSU5ERVhfU0laRV9FUlI6IFJhaXNlZCBpZiB0
aGUgc3BlY2lmaWVkIGluZGV4IGlzIG5vdCBhIHZhbGlkIGluc2VydGlvbiBwb2ludC4KKyAgICAg
ICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
Q1NTUGFyc2VyIHBhcnNlcihwYXJzZXJDb250ZXh0KCkpOworICAgIENTU1N0eWxlU2hlZXQqIHN0
eWxlU2hlZXQgPSBwYXJlbnRTdHlsZVNoZWV0KCk7CisgICAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+
IG5ld1J1bGUgPSBwYXJzZXIucGFyc2VSdWxlKHN0eWxlU2hlZXQgPyBzdHlsZVNoZWV0LT5jb250
ZW50cygpIDogMCwgcnVsZVN0cmluZyk7CisgICAgaWYgKCFuZXdSdWxlKSB7CisgICAgICAgIC8v
IFNZTlRBWF9FUlI6IFJhaXNlZCBpZiB0aGUgc3BlY2lmaWVkIHJ1bGUgaGFzIGEgc3ludGF4IGVy
cm9yIGFuZCBpcyB1bnBhcnNhYmxlLgorICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAg
IHJldHVybiAwOworICAgIH0KKworICAgIGlmIChuZXdSdWxlLT5pc0ltcG9ydFJ1bGUoKSkgewor
ICAgICAgICAvLyBGSVhNRTogYW4gSElFUkFSQ0hZX1JFUVVFU1RfRVJSIHNob3VsZCBhbHNvIGJl
IHRocm93biBmb3IgYSBAY2hhcnNldCBvciBhIG5lc3RlZAorICAgICAgICAvLyBAaG9zdCBydWxl
LiBUaGV5IGFyZSBjdXJyZW50bHkgbm90IGdldHRpbmcgcGFyc2VkLCByZXN1bHRpbmcgaW4gYSBT
WU5UQVhfRVJSCisgICAgICAgIC8vIHRvIGdldCByYWlzZWQgYWJvdmUuCisKKyAgICAgICAgLy8g
SElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBSYWlzZWQgaWYgdGhlIHJ1bGUgY2Fubm90IGJlIGluc2Vy
dGVkIGF0IHRoZSBzcGVjaWZpZWQKKyAgICAgICAgLy8gaW5kZXgsIGUuZy4sIGlmIGFuIEBpbXBv
cnQgcnVsZSBpcyBpbnNlcnRlZCBhZnRlciBhIHN0YW5kYXJkIHJ1bGUgc2V0IG9yIG90aGVyCisg
ICAgICAgIC8vIGF0LXJ1bGUuCisgICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOwor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9u
U2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsKKworICAgIG1faG9zdFJ1bGUtPndyYXBwZXJJbnNl
cnRSdWxlKGluZGV4LCBuZXdSdWxlKTsKKworICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5p
bnNlcnQoaW5kZXgsIFJlZlB0cjxDU1NSdWxlPigpKTsKKyAgICByZXR1cm4gaW5kZXg7Cit9CisK
K3ZvaWQgQ1NTSG9zdFJ1bGU6OmRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNv
ZGUmIGVjKQoreworICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09
IG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOworCisgICAgaWYgKGluZGV4ID49IG1f
aG9zdFJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpIHsKKyAgICAgICAgLy8gSU5ERVhfU0laRV9F
UlI6IFJhaXNlZCBpZiB0aGUgc3BlY2lmaWVkIGluZGV4IGRvZXMgbm90IGNvcnJlc3BvbmQgdG8g
YQorICAgICAgICAvLyBydWxlIGluIHRoZSBob3N0IHJ1bGUgbGlzdC4KKyAgICAgICAgZWMgPSBJ
TkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENTU1N0eWxlU2hl
ZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7CisKKyAgICBtX2hvc3RS
dWxlLT53cmFwcGVyUmVtb3ZlUnVsZShpbmRleCk7CisKKyAgICBpZiAobV9jaGlsZFJ1bGVDU1NP
TVdyYXBwZXJzW2luZGV4XSkKKyAgICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4
XS0+c2V0UGFyZW50UnVsZSgwKTsKKyAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMucmVtb3Zl
KGluZGV4KTsKK30KKworU3RyaW5nIENTU0hvc3RSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAg
ICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQuYXBwZW5kKCJAaG9zdCB7IFxuIik7
CisKKyAgICB1bnNpZ25lZCBzaXplID0gbGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIpOworICAgICAg
ICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNzc1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5hcHBl
bmQoJ1xuJyk7CisgICAgfQorCisgICAgcmVzdWx0LmFwcGVuZCgnfScpOworICAgIHJldHVybiBy
ZXN1bHQudG9TdHJpbmcoKTsKK30KKwordW5zaWduZWQgQ1NTSG9zdFJ1bGU6Omxlbmd0aCgpIGNv
bnN0Cit7IAorICAgIHJldHVybiBtX2hvc3RSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpOyAKK30K
KworQ1NTUnVsZSogQ1NTSG9zdFJ1bGU6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7IAor
ICAgIGlmIChpbmRleCA+PSBsZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgQVNTRVJU
KG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9ob3N0UnVsZS0+Y2hpbGRSdWxl
cygpLnNpemUoKSk7CisgICAgUmVmUHRyPENTU1J1bGU+JiBydWxlID0gbV9jaGlsZFJ1bGVDU1NP
TVdyYXBwZXJzW2luZGV4XTsKKyAgICBpZiAoIXJ1bGUpCisgICAgICAgIHJ1bGUgPSBtX2hvc3RS
dWxlLT5jaGlsZFJ1bGVzKClbaW5kZXhdLT5jcmVhdGVDU1NPTVdyYXBwZXIoY29uc3RfY2FzdDxD
U1NIb3N0UnVsZSo+KHRoaXMpKTsKKyAgICByZXR1cm4gcnVsZS5nZXQoKTsKK30KKworQ1NTUnVs
ZUxpc3QqIENTU0hvc3RSdWxlOjpjc3NSdWxlcygpIGNvbnN0Cit7CisgICAgaWYgKCFtX3J1bGVM
aXN0Q1NTT01XcmFwcGVyKQorICAgICAgICBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyID0gYWRvcHRQ
dHIobmV3IExpdmVDU1NSdWxlTGlzdDxDU1NIb3N0UnVsZT4oY29uc3RfY2FzdDxDU1NIb3N0UnVs
ZSo+KHRoaXMpKSk7CisgICAgcmV0dXJuIG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIuZ2V0KCk7Cit9
CisKK3ZvaWQgQ1NTSG9zdFJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCit7Cisg
ICAgQVNTRVJUKHJ1bGUpOworICAgIEFTU0VSVChydWxlLT5pc0hvc3RSdWxlKCkpOworICAgIG1f
aG9zdFJ1bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4ocnVsZSk7CisgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkg
eworICAgICAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQorICAgICAgICAgICAg
bV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldLT5yZWF0dGFjaChtX2hvc3RSdWxlLT5jaGlsZFJ1
bGVzKClbaV0uZ2V0KCkpOworICAgIH0KK30KKwordm9pZCBDU1NIb3N0UnVsZTo6cmVwb3J0TWVt
b3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAg
ICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVt
b3J5VHlwZXM6OkNTUyk7CisgICAgQ1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2Jq
ZWN0SW5mbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsK
KyAgICBpbmZvLmFkZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNIQURPV19ET00pCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NIb3N0UnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzMTQ3MDc0NjM5NjA5NzgwZTY5ZGY0YjdiMDdk
YmM0MWVlYTc0ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9z
dFJ1bGUuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xs
IChrbm9sbEBrZGUub3JnKQorICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJA
a2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdl
aW5pZyAoc2FtQHdlYmtpdC5vcmcpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMg
cHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVy
c2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJz
aW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0
IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0
IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxk
IGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcu
TElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwg
SW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIx
MTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5kZWYgQ1NTSG9zdFJ1bGVfaAorI2RlZmluZSBDU1NI
b3N0UnVsZV9oCisKKyNpbmNsdWRlICJDU1NSdWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCitjbGFzcyBDU1NSdWxlTGlzdDsKK2NsYXNzIFN0
eWxlUnVsZUhvc3Q7CisKK2NsYXNzIENTU0hvc3RSdWxlIDogcHVibGljIENTU1J1bGUgeworcHVi
bGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU0hvc3RSdWxlPiBjcmVhdGUoU3R5bGVSdWxl
SG9zdCogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBD
U1NIb3N0UnVsZShydWxlLCBzaGVldCkpOyB9CisKKyAgICB2aXJ0dWFsIH5DU1NIb3N0UnVsZSgp
OworCisgICAgdmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJl
dHVybiBIT1NUX1JVTEU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFz
ZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlP
YmplY3RJbmZvKikgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgp
IGNvbnN0IE9WRVJSSURFOworCisgICAgQ1NTUnVsZUxpc3QqIGNzc1J1bGVzKCkgY29uc3Q7CisK
KyAgICB1bnNpZ25lZCBpbnNlcnRSdWxlKGNvbnN0IFN0cmluZyYgcnVsZSwgdW5zaWduZWQgaW5k
ZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgs
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAgICAgCisgICAgLy8gRm9yIENTU1J1bGVMaXN0CisgICAg
dW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CisgICAgQ1NTUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRl
eCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAgQ1NTSG9zdFJ1bGUoU3R5bGVSdWxlSG9zdCosIENT
U1N0eWxlU2hlZXQqKTsKKyAgICAKKyAgICBSZWZQdHI8U3R5bGVSdWxlSG9zdD4gbV9ob3N0UnVs
ZTsKKyAgICBtdXRhYmxlIFZlY3RvcjxSZWZQdHI8Q1NTUnVsZT4gPiBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnM7CisgICAgbXV0YWJsZSBPd25QdHI8Q1NTUnVsZUxpc3Q+IG1fcnVsZUxpc3RDU1NP
TVdyYXBwZXI7Cit9OworCisjZW5kaWYgLy8gRU5BQkxFKFNIQURPV19ET00pCisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0hvc3RSdWxlX2gKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SG9zdFJ1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NTc5NzhhYTQzNmVlOTVhZWYzN2VjNWFkMjBmMjA2
NGExNDEzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1
bGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNh
bXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlm
eSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisg
KiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBl
aXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4g
dGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQor
ICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgor
ICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUg
ZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvLyBJbnRyb2R1Y2VkIGluIFNoYWRv
dyBET00gc3BlYzoKK1sKKyAgICBDb25kaXRpb25hbD1TSEFET1dfRE9NLAorICAgIFY4RW5hYmxl
ZEF0UnVudGltZT1zaGFkb3dET00KK10gaW50ZXJmYWNlIENTU0hvc3RSdWxlIDogQ1NTUnVsZSB7
CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOworICAgIAorICAg
IHVuc2lnbmVkIGxvbmcgICAgICBpbnNlcnRSdWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIERPTVN0cmluZyBydWxlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25nIGluZGV4KQor
ICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkICAgICAgICAgICAgICAgZGVs
ZXRlUnVsZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25nIGlu
ZGV4KQorICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKK307CisKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5o
CmluZGV4IDA3NThlNzRmODE1MGE5Nzk0ZWExY2I4MzgxMTI2MTExNDRmMzIwNjcuLjgyYTQ5ZDJk
NDBlYmQ2MzcwZjk1YWRmNDUxMjk2YTY3MGRkMjljNDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApAQCAt
NTQsNyArNTQsMTAgQEAgcHVibGljOgogICAgICAgICBXRUJLSVRfVklFV1BPUlRfUlVMRSA9IDE1
LAogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQotICAgICAgICBXRUJLSVRfUkVHSU9O
X1JVTEUgPSAxNgorICAgICAgICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNiwKKyNlbmRpZgorI2lm
IEVOQUJMRShTSEFET1dfRE9NKQorICAgICAgICBIT1NUX1JVTEUgPSAzMSwKICNlbmRpZgogICAg
IH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCBhZjExOGZlNzJiOWI4MDc0ZjdkNjA4MmQw
OTNlMjcwY2ZmMmIxMDY4Li40ODlmOTM1ZGE3NTEwYjFiM2JiODVkMGNlNmIxNDc2ODY1ODU2MjBk
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC00Myw2ICs0Myw5IEBACiAjaWYgZGVmaW5lZChF
TkFCTEVfQ1NTX1JFR0lPTlMpICYmIEVOQUJMRV9DU1NfUkVHSU9OUwogICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFdFQktJVF9SRUdJT05fUlVMRSA9IDE2OwogI2VuZGlmCisjaWYgZGVmaW5lZChF
TkFCTEVfU0hBRE9XX0RPTSkgJiYgRU5BQkxFX1NIQURPV19ET00KKyAgICBjb25zdCB1bnNpZ25l
ZCBzaG9ydCBIT1NUX1JVTEUgPSAzMTsKKyNlbmRpZgogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRl
IHVuc2lnbmVkIHNob3J0ICAgdHlwZTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3Bw
CmluZGV4IDY0OTFhOGRlYmNiMmY4NGM3YWViMzAyYzRmY2I5OWYzMGI5NDMwNzUuLmQ2MjI2Mzg3
ODg4MzEzNWRmNWM5MDA3NDgxZDIxNGZiYzg2OGVmNDIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZh
bHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFNl
bGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRS
dWxlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNT
U01lZGlhUnVsZS5oIgpAQCAtMjYzMiw2ICsyNjMzLDExIEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RD
U1NPTVdyYXBwZXJzKEhhc2hNYXA8U3R5bGVSdWxlKiwgUmVmUHRyPENTU1N0eWxlUnVsZT4gPiYg
d3JhCiAgICAgICAgICAgICBjb2xsZWN0Q1NTT01XcmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNf
Y2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oY3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7
CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgY2FzZSBDU1NSdWxlOjpI
T1NUX1JVTEU6CisgICAgICAgICAgICBjb2xsZWN0Q1NTT01XcmFwcGVycyh3cmFwcGVyTWFwLCBz
dGF0aWNfY2FzdDxDU1NIb3N0UnVsZSo+KGNzc1J1bGUpKTsKKyAgICAgICAgICAgIGJyZWFrOwor
I2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6U1RZTEVfUlVMRToKICAgICAgICAgICAgIHdy
YXBwZXJNYXAuYWRkKHN0YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KGNzc1J1bGUpLT5zdHlsZVJ1
bGUoKSwgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4oY3NzUnVsZSkpOwogICAgICAgICAgICAg
YnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4IDQzZTZhNWUxMzc2ODBjYzJkMWM2
YWMzMDE5M2RmZTY1NjY2MjMwMjAuLmJjZDA4ZGY2YjljM2U5Y2VlMWE4MDI0NmI4YTU0ODgxMTZj
NjE0MDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBAIC0yNCw2ICsyNCw3IEBACiAKICNp
bmNsdWRlICJDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgor
I2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2lu
Y2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCkBAIC04Myw3
ICs4NCw3IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2Jq
ZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICAgICAgcmV0dXJuOwogI2lmIEVO
QUJMRShTSEFET1dfRE9NKQogICAgIGNhc2UgSG9zdDoKLSAgICAgICAgc3RhdGljX2Nhc3Q8Y29u
c3QgU3R5bGVSdWxlQmxvY2sqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1l
bW9yeU9iamVjdEluZm8pOworICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0
Kj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsK
ICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElP
TikKQEAgLTIyOCw4ICsyMjksNyBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6
OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogI2VuZGlmCiAj
aWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgY2FzZSBIb3N0OgotICAgICAgICAvLyBGSVhNRTog
VGhlIGN1cnJlbnQgQ1NTT00gZWRpdG9yJ3MgZHJhZnQgKGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dn
L2Nzc29tLykgZG9lcyBub3QgaGFuZGxlIEBob3N0IHJ1bGVzIChzZWUgYnVnIDEwMjM0NCkuCi0g
ICAgICAgIHJ1bGUgPSBhZG9wdFJlZihuZXcgQ1NTVW5rbm93blJ1bGUoKSk7CisgICAgICAgIHJ1
bGUgPSBDU1NIb3N0UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUhvc3QqPihzZWxm
KSwgcGFyZW50U2hlZXQpOwogICAgICAgICBicmVhazsKICNlbmRpZgogICAgIGNhc2UgVW5rbm93
bjoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAppbmRleCA0ZWY3NjQyODM4OGIxYzQ3MmUxMzkxYzM5MWIy
M2E4NjgxZmMxNjM1Li5lOGM1Yjk3MmQzYjI4ODkzNDliYjAyMDA5ZDM5MmJiNjhiNTBhZjJjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUnVsZS5oCkBAIC00NiwxMyArNDYsMTMgQEAgcHVibGljOgogICAgICAg
ICBQYWdlLAogICAgICAgICBLZXlmcmFtZXMsCiAgICAgICAgIEtleWZyYW1lLCAvLyBOb3QgdXNl
ZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVLZXlmcmFtZSBvYmplY3RzLgot
I2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgICAgICBIb3N0LAotI2VuZGlmCiAjaWYgRU5BQkxF
KENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICAgICAgVmlld3BvcnQgPSAxNSwKICNlbmRpZgot
ICAgICAgICBSZWdpb24gPSAxNgorICAgICAgICBSZWdpb24gPSAxNiwKKyNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKKyAgICAgICAgSG9zdCA9IDMxLAorI2VuZGlmCiAgICAgfTsKICAgICBUeXBlIHR5
cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUpOyB9CiAgICAgCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggMDI2MmExZGQ0MjE4NjI2NDJkMThhYjVmOTNl
MTk5MmRiOTNlNDliNy4uNjU3NmQyYWU5ZDYxMmE0ZjAxODJmZjM5Yjc0NjY2NDg2MWUwODAyYSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzU2LDYgKzM1Niw5IEBACiAgICAgYXR0
cmlidXRlIENTU1J1bGVDb25zdHJ1Y3RvciBDU1NSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NDaGFy
c2V0UnVsZUNvbnN0cnVjdG9yIENTU0NoYXJzZXRSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NGb250
RmFjZVJ1bGVDb25zdHJ1Y3RvciBDU1NGb250RmFjZVJ1bGU7CisjaWYgZGVmaW5lZChFTkFCTEVf
U0hBRE9XX0RPTSkgJiYgRU5BQkxFX1NIQURPV19ET00KKyAgICBhdHRyaWJ1dGUgQ1NTSG9zdFJ1
bGVDb25zdHJ1Y3RvciBDU1NIb3N0UnVsZTsKKyNlbmRpZgogICAgIGF0dHJpYnV0ZSBDU1NJbXBv
cnRSdWxlQ29uc3RydWN0b3IgQ1NTSW1wb3J0UnVsZTsKICAgICBhdHRyaWJ1dGUgQ1NTTWVkaWFS
dWxlQ29uc3RydWN0b3IgQ1NTTWVkaWFSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NQYWdlUnVsZUNv
bnN0cnVjdG9yIENTU1BhZ2VSdWxlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9n
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDRjZDNiODVhNjE0M2E5NTc4MWY5MThmNzBi
ZTkzMDYwYTc0ZDQyNWQuLjIyNzI4ZTg2NDIzYzI5M2JlOGU3NGNjYzQ0ZGFjZTA3ZmNiMjM3Mjgg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMi0xMi0xMiAgVGFrYXNoaSBTYWthbW90byAgPHRh
c2FrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTU0hvc3RSdWxlIGZvciBAaG9z
dCBALXJ1bGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/
aWQ9MTAyMzQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAg
ICAgKiBmYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQ6IEFkZGVk
LgorICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWw6IEFkZGVk
LgorCiAyMDEyLTEyLTExICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KIAog
ICAgICAgICBUZXh0IG5vZGVzIGluIHNoYWRvdyByb290cyBkb24ndCBpbmhlcml0IHN0eWxlIHBy
b3Blcmx5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3Ry
dWxlLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhv
c3RydWxlLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRlM2JiN2Y3YWYyNDk0MDZkZDE3
Mzg5Njg0OThjMjQyOGY0YzM3NAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI4IEBA
CitUZXN0IHdoZXRoZXIgQ1NTSG9zdFJ1bGUgQVBJIHdvcmtzIGNvcnJlY3RseSBvciBub3QuCisK
K09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZv
bGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitCZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVy
IHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJv
cmRlckNvbG9yIGlzICJyZ2IoMCwgMCwgMCkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0
aCBpcyAwCitBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSB3aXRoIGFuIGlkIHNlbGVjdG9y
IGludG8gQGhvc3QgQC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJD
b2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCBp
cyAxCitQQVNTIGhvc3RSdWxlLmNzc1RleHQgaXMgIkBob3N0IHsgXG4gICNob3N0IHsgYm9yZGVy
LWNvbG9yOiBncmVlbjsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCBp
cyAiI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IgorQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9y
ZGVyIHJ1bGUgd2l0aCBhIHRhZyBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6CitQQVNTIGdl
dENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFT
UyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMgorUEFTUyBob3N0UnVsZS5jc3NUZXh0IGlz
ICJAaG9zdCB7IFxuICAjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH1cbiAgZGl2IHsgYm9y
ZGVyLWNvbG9yOiBibHVlOyB9XG59IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0
IGlzICIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iCitQQVNTIGhvc3RSdWxlLmNzc1J1
bGVzWzFdLmNzc1RleHQgaXMgImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSIKK0FmdGVyIGRl
bGV0aW5nIHRoZSBib3JkZXIgcnVsZSB3aXRoIGFuIGlkIHNlbGVjdG9yIGZyb20gQGhvc3QgQC1y
dWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciBpcyAicmdiKDAs
IDAsIDI1NSkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIGhvc3RS
dWxlLmNzc1RleHQgaXMgIkBob3N0IHsgXG4gIGRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfVxu
fSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCBpcyAiZGl2IHsgYm9yZGVyLWNv
bG9yOiBibHVlOyB9IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNUIENP
TVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9z
dHJ1bGUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxl
LWFwaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NDNlNDE2YjY0OGNiZmM3MDY3MjkwNTFjMTc4Njk0MjBm
YTdiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3Nz
LWhvc3RydWxlLWFwaS5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwhZG9jdHlwZSBodG1sPgorPGh0
bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2NyaXB0
PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3Jp
cHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBpZD0iaG9zdCI+VGhpcyBkaXYgaXMgYSBzaGFk
b3cgaG9zdC48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB3aGV0
aGVyIENTU0hvc3RSdWxlIEFQSSB3b3JrcyBjb3JyZWN0bHkgb3Igbm90LiIpOwordmFyIGhvc3Qg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwordmFyIHNoYWRvd1Jvb3QgPSBob3N0
LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3NoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxzdHls
ZSBpZD0ic3R5bGUxIj5AaG9zdCB7fTwvc3R5bGU+PGRpdj5TaGFkb3cgVGV4dDwvZGl2Pic7Cisg
IAorZGVidWcoIkJlZm9yZSBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSBpbnRvIEBob3N0IEAtcnVs
ZXM6Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciIsICci
cmdiKDAsIDAsIDApIicpOworCit2YXIgc3R5bGVTaGVldCA9IHNoYWRvd1Jvb3QuZ2V0RWxlbWVu
dEJ5SWQoJ3N0eWxlMScpLnNoZWV0OwordmFyIGhvc3RSdWxlID0gc3R5bGVTaGVldC5jc3NSdWxl
c1swXTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMCcpOworICAKK2Rl
YnVnKCJBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSB3aXRoIGFuIGlkIHNlbGVjdG9yIGlu
dG8gQGhvc3QgQC1ydWxlczoiKTsKK2hvc3RSdWxlLmluc2VydFJ1bGUoIiNob3N0IHsgYm9yZGVy
LWNvbG9yOiBncmVlbjsgfSIsIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCk7CitzaG91bGRCZSgi
Z2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciIsICcicmdiKDAsIDEyOCwgMCkiJyk7
CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzEnKTsKK3Nob3VsZEJlKCJo
b3N0UnVsZS5jc3NUZXh0IiwgJyJAaG9zdCB7IFxcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdy
ZWVuOyB9XFxufSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0Iiwg
JyIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iJyk7CisKK2RlYnVnKCJBZnRlciBpbnNl
cnRpbmcgYSBib3JkZXIgcnVsZSB3aXRoIGEgdGFnIHNlbGVjdG9yIGludG8gQGhvc3QgQC1ydWxl
czoiKTsKK2hvc3RSdWxlLmluc2VydFJ1bGUoImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSIs
IGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCk7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZSho
b3N0KS5ib3JkZXJDb2xvciIsICcicmdiKDAsIDEyOCwgMCkiJyk7CitzaG91bGRCZSgiaG9zdFJ1
bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NUZXh0Iiwg
JyJAaG9zdCB7IFxcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XFxuICBkaXYgeyBi
b3JkZXItY29sb3I6IGJsdWU7IH1cXG59IicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVz
WzBdLmNzc1RleHQiLCAnIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSInKTsKK3Nob3Vs
ZEJlKCJob3N0UnVsZS5jc3NSdWxlc1sxXS5jc3NUZXh0IiwgJyJkaXYgeyBib3JkZXItY29sb3I6
IGJsdWU7IH0iJyk7CisKK2RlYnVnKCJBZnRlciBkZWxldGluZyB0aGUgYm9yZGVyIHJ1bGUgd2l0
aCBhbiBpZCBzZWxlY3RvciBmcm9tIEBob3N0IEAtcnVsZXM6Iik7Citob3N0UnVsZS5kZWxldGVS
dWxlKDApOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAn
InJnYigwLCAwLCAyNTUpIicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIs
ICcxJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3QgeyBcXG4gIGRpdiB7
IGJvcmRlci1jb2xvcjogYmx1ZTsgfVxcbn0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVs
ZXNbMF0uY3NzVGV4dCIsICciZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9IicpOworCis8L3Nj
cmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48
L3NjcmlwdD4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179240</attachid>
            <date>2012-12-13 02:57:16 -0800</date>
            <delta_ts>2012-12-13 18:14:53 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20121213195436.patch</filename>
            <type>text/plain</type>
            <size>43615</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3NTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzQ5MjIzNjcwMjJhOWFj
Y2QwNDQ5NmZhMTJiZDgzZGYzMzRjMDZhYi4uZTMwN2FmMDJiZWMyZjBiYmQyZWFkMjAzZWMwOTAw
MzBlNmRjYWJlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDEyLTEyLTEyICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NT
SG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDU1NIb3N0UnVsZSBpcyBkZWZpbmVkIGluIFNoYWRvdyBET00g
c3BlYzoKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL3dlYmNvbXBvbmVudHMvcmF3LWZp
bGUvdGlwL3NwZWMvc2hhZG93L2luZGV4Lmh0bWwjY3NzLWhvc3QtcnVsZS1pbnRlcmZhY2UKKyAg
ICAgICAgVG8gc2VlIG9yIHRvIG1vZGlmeSBAaG9zdCBALXJ1bGVzIGJ5IHVzaW5nIGluc3BlY3Rv
ciwgd2UgbmVlZCB0bworICAgICAgICBpbXBsZW1lbnQgQ1NTSG9zdFJ1bGUgaW50ZXJmYWNlLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NQ1NTLm1tOgorICAgICAgICAoa2l0Q2xhc3MpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6d3JhcCk6CisgICAgICAgICogY3NzL0NTU0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBj
c3MvQ1NTSG9zdFJ1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0hvc3RSdWxlOjp+Q1NTSG9zdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6
Omluc2VydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmRlbGV0ZVJ1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmNzc1RleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTSG9zdFJ1bGU6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVs
ZTo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3NzUnVsZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0hvc3RSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0hvc3RS
dWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NIb3N0UnVsZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3Mv
Q1NTSG9zdFJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAg
ICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFwcGVycyk6CisgICAgICAgICogY3NzL1N0
eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UnVsZUJhc2U6OnJhcmVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OnJl
cG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRlc3Ry
b3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAgICAgICAqIGNz
cy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OnR5cGUpOgor
ICAgICAgICBJZiB0eXBlKCkgaXMgUmFyZSwgY2FzdCBTdHlsZVJhcmVSdWxlQmxvY2sgYW5kIHJl
dHVybiByYXJlVHlwZS4KKyAgICAgICAgKFN0eWxlUnVsZUJhc2UpOgorICAgICAgICAoU3R5bGVS
YXJlUnVsZUJsb2NrKToKKyAgICAgICAgSW1wbGVtZW50ZWQgU3R5bGVSYXJlUnVsZUJsb2NrLgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlUnVsZUJsb2NrOjpyYXJlVHlwZSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJhcmVSdWxlQmxvY2s6OlN0eWxlUmFyZVJ1bGVCbG9jayk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUhvc3Q6OlN0eWxlUnVs
ZUhvc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKToKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMTItMTIgIFBhdHJpY2sgR2Fuc3Rl
cmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgW1dJTl0gSW1wbGVtZW50IFdlYkNv
cmU6OmZpbGVTeXN0ZW1SZXByZXNlbnRhdGlvbigpIGZvciAhVVNFKENGKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3Rz
LnR4dAppbmRleCBlODlmZjJlNzNkOTZkYWVhMGEzOTU0OTAyYjAzMTg0MmEwMzE1Mzg0Li44NDcy
ODgxMjZkMjRkOTMyMTZhYTg0NDM3ZmVmNWE3MmUzMDM4ODY3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dApAQCAtMzEyLDYgKzMxMiw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAgIGNzcy9Db3Vu
dGVyLmlkbAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5pZGwKICAgICBjc3MvQ1NTRm9udEZhY2VS
dWxlLmlkbAorICAgIGNzcy9DU1NIb3N0UnVsZS5pZGwKICAgICBjc3MvQ1NTSW1wb3J0UnVsZS5p
ZGwKICAgICBjc3MvQ1NTTWVkaWFSdWxlLmlkbAogICAgIGNzcy9DU1NQYWdlUnVsZS5pZGwKQEAg
LTEwMzAsNiArMTAzMSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTRm9udFNl
bGVjdG9yLmNwcAogICAgIGNzcy9DU1NGdW5jdGlvblZhbHVlLmNwcAogICAgIGNzcy9DU1NHcmFk
aWVudFZhbHVlLmNwcAorICAgIGNzcy9DU1NIb3N0UnVsZS5jcHAKICAgICBjc3MvQ1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZS5jcHAKICAgICBjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTSW1hZ2VWYWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRleCBhM2Q3ZjI5
MWRlYjE3MTc0MmNlMmUwZTRmNzhkZjlhZmU4Y2JiYjU0Li4wN2UzZmE2ZDU0Zjg0OWU4NzhiM2E5
Y2M4NTQ3OTgwMzk0MmE3NDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCkBAIC01NSw2
ICs1NSw3IEBACiAjaW5jbHVkZSAiSlNDcnlwdG8uY3BwIgogI2luY2x1ZGUgIkpTQ1NTQ2hhcnNl
dFJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmNwcCIKKyNpbmNsdWRlICJK
U0NTU0hvc3RSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU0ltcG9ydFJ1bGUuY3BwIgogI2luY2x1
ZGUgIkpTQ1NTTWVkaWFSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU1BhZ2VSdWxlLmNwcCIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDk4OTBmMDE4ODFkMmJhYmVjZWViMGMyMThj
YzJkY2FkOGY1ZWVlOTAuLjhiMDIyM2JhNjM0NDM1MDZlNTFkZjJhMjQyZTFlNTc2MzdkZTFiY2Ug
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTY5LDYgKzE2OSw3IEBAIEJJTkRJ
TkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJDb250
ZXh0V2ViU29ja2V0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRs
IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKyAgICAkKFdlYkNv
cmUpL2Nzcy9DU1NIb3N0UnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0ltcG9ydFJ1
bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2Nzcy9DU1NQYWdlUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
RGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCmlu
ZGV4IGQ1OGFmYjkzMTY3ZjcxNTg0ZWJiZWYwZmM2ZDQyNjIzNjgwZTgxMWQuLmU2NGJjNTQ4ZTc4
YzA1NzIyMDdiZTMxNzJmNmRhZDIzYzhmZmIyNjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5w
cmkKQEAgLTE4OSw2ICsxODksNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQkUFdEL2Nzcy9D
b3VudGVyLmlkbCBcCiAgICAgJCRQV0QvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAgICAgJCRQ
V0QvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorICAgICQkUFdEL2Nzcy9DU1NIb3N0UnVsZS5p
ZGwgXAogICAgICQkUFdEL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJCRQV0QvY3NzL0NT
U01lZGlhUnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NQYWdlUnVsZS5pZGwgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggN2JiZDYzNzQ3ZTFhMDM3OTljOTk2ZDNiNTBiNzI4
M2E0ODM3YWY0Mi4uNjY0MTM2NzAwZjQ4NjE3ZTMyODVhMjBiZGZiNzliYTQ2ZmRhY2UwMiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMTMsNiArMTEzLDggQEAgd2ViY29yZV9i
dWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ2hhcnNldFJ1
bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5jcHAgXAog
CURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuaCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU0NTU0hvc3RSdWxlLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU0NTU0hvc3RSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NJbXBvcnRS
dWxlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuaCBcCiAJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU01lZGlhUnVsZS5jcHAgXApAQCAtMTMxOCw2ICsx
MzIwLDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNv
Y2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU0No
YXJzZXRSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisJ
JChXZWJDb3JlKS9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NJbXBv
cnRSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTTWVkaWFSdWxlLmlkbCBcCiAJJChXZWJD
b3JlKS9jc3MvQ1NTUGFnZVJ1bGUuaWRsIFwKQEAgLTI1MjcsNiArMjUzMCw4IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuY3BwIFwK
IAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSGVscGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5jcHAg
XAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZUdlbmVyYXRvclZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZVNldFZh
bHVlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggNjkwZDE4ODE2NGI0NTljMzlkNGExM2UxYjNm
Mzc2MmU5NTg3MTBlMC4uNjMxZTNmYzM1MTAwOWQ5NTkxNWEzZjFhZTdlN2VlNGM2ODlkZTIyMSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTYwLDYgKzE2MCw3IEBACiAgICAgICAgICAgICAnTW9kdWxl
cy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJTb2NrZXQuaWRsJywKICAgICAgICAgICAgICdj
c3MvQ1NTQ2hhcnNldFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTRm9udEZhY2VSdWxl
LmlkbCcsCisgICAgICAgICAgICAnY3NzL0NTU0hvc3RSdWxlLmlkbCcsCiAgICAgICAgICAgICAn
Y3NzL0NTU0ltcG9ydFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTTWVkaWFSdWxlLmlk
bCcsCiAgICAgICAgICAgICAnY3NzL0NTU1BhZ2VSdWxlLmlkbCcsCkBAIC0xNDU4LDYgKzE0NTks
OCBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NGdW5jdGlvblZhbHVlLmgnLAogICAgICAgICAgICAg
J2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0dyYWRpZW50
VmFsdWUuaCcsCisgICAgICAgICAgICAnY3NzL0NTU0hvc3RSdWxlLmNwcCcsCisgICAgICAgICAg
ICAnY3NzL0NTU0hvc3RSdWxlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbWFnZUdlbmVyYXRv
clZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwJywKICAg
ICAgICAgICAgICdjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAnLApAQCAtNTUyMCw2ICs1NTIzLDggQEAK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNT
U0NoYXJzZXRSdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NGb250RmFjZVJ1bGUubW0nLAogICAgICAgICAgICAg
JzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxl
SW50ZXJuYWwuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9ET01DU1NIb3N0UnVsZS5tbScsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NIb3N0UnVsZUludGVybmFsLmgnLAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSW1wb3J0
UnVsZS5tbScsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9ET01DU1NJbXBvcnRSdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NNZWRpYVJ1bGUubW0nLApAQCAtNjA3
OCw2ICs2MDgzLDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTQ2hhcnNldFJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5jcHAnLAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFj
ZVJ1bGUuaCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU0hvc3RSdWxlLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0hvc3RSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NJbXBvcnRSdWxlLmNwcCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0lt
cG9ydFJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU01lZGlhUnVsZS5jcHAnLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAyNWVlM2MwMjk4MWM5NTRkNjBkZmYxNTQyYjVjMDNm
ZmM1ZjQyZDJiLi5lZTk0MTJlMDE5YjBmZDc1MGNkOTFhY2M1MmI4YzU3Yzk3M2NjYjZlIDEwMDc1
NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTg1OCw2
ICsxODU4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBh
dGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNv
dXJjZXNcSlNDU1NIb3N0UnVsZS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9t
QnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxl
clRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJ
PEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQ
cm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NIb3N0UnVsZS5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERp
cilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ1NTSW1wb3J0UnVsZS5jcHAi
CiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpAQCAtMzYwNTgsNiArMzYxMTQsNjIgQEAK
IAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENT
U0hvc3RSdWxlLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19D
YWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJ
CVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0hvc3RSdWxlLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NJbWFnZUdlbmVyYXRvclZhbHVl
LmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNzFiNTIxOTM5NWJjYjcw
NzA1OGNkZGVmMDA4MzU0OGI5MzY3ODBiMi4uYjMwYWI0Y2MzYzQ4M2E5MDU4ODY3YjZkYmQyY2Ew
MmU1MjU3MzY4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagpAQCAtNjQwNCw2ICs2NDA0LDggQEAKIAkJRkFCRTcyRkQxMDU5QzIxMTAw
RDk5OUREIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRo
TUxFbGVtZW50RmFjdG9yeS5jcHAgKi87IH07CiAJCUZBQkU3MkZFMTA1OUMyMTEwMEQ5OTlERCAv
KiBNYXRoTUxOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBGQUJFNzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwICovOyB9
OwogCQlGQjJDMTVDMzE2NUQ2NDlEMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVu
Y2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCMkMx
NUMyMTY1RDY0OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUZCNDlDMzlBMTY3
ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9z
dFJ1bGUuY3BwICovOyB9OworCQlGQjQ5QzM5RDE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNDlD
MzlDMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICovOyB9OwogCQlGQjc4QUQyRTE1
MUJGNUU2MDBGRTU0RDMgLyogQ1NTUGFyc2VyTW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8qIENTU1Bh
cnNlck1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlGQjkyREY0QjE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCOTJERjQ5MTVGRUQw
ODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJV
VEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZCQzIyMERGMTIzN0ZCRUIwMEJDRjc4OCAvKiBH
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQkMyMjBERTEyMzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250
ZXh0M0RPcGVuR0wuY3BwICovOyB9OwpAQCAtMTM5MjMsNiArMTM5MjUsOSBAQAogCQlGQUJFNzJG
QjEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQUJFNzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0
aE1MTmFtZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTWF0aE1M
TmFtZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjJDMTVDMjE2NUQ2NDkw
MDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2UuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2UuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI0OUMzOTkxNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RS
dWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0hvc3RSdWxl
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI0OUMzOUMxNjc4NDk0NzAwN0ZG
QjVEIC8qIENTU0hvc3RSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENT
U0hvc3RSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNDlDMzlFMTY3ODQ5
NTQwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NT
SG9zdFJ1bGUuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjc4QUQyQzE1MUJG
NUQyMDBGRTU0RDMgLyogQ1NTUGFyc2VyTW9kZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBDU1NQYXJzZXJNb2RlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZC
OTJERjQ5MTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDbGlwUGF0aE9wZXJhdGlvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGQkMyMjBERTEyMzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250
ZXh0M0RPcGVuR0wuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gR3Jh
cGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAt
MjEzOTQsNiArMjEzOTksOSBAQAogCQkJCUZDRUJDRDcxMTYyM0E3OTEwMDI5OTY1RSAvKiBDU1NH
cmFtbWFyLnkuaW4gKi8sCiAJCQkJRkNFQkNENzIxNjIzQTc5MTAwMjk5NjVFIC8qIENTU0dyYW1t
YXIueS5pbmNsdWRlcyAqLywKIAkJCQlCQzc3MkIzNjBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTSGVs
cGVyLmggKi8sCisJCQkJRkI0OUMzOTkxNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNw
cCAqLywKKwkJCQlGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLywK
KwkJCQlGQjQ5QzM5RTE2Nzg0OTU0MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaWRsICovLAogCQkJ
CUJDMjNFNzZCMERBRTg4QTkwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCAq
LywKIAkJCQlCQzIzRUU5MTBEQUVEMkJDMDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5oICovLAogCQkJCTkzOTNFNUZEMTUxQTk5RjIwMDA2NkYwNiAvKiBDU1NJbWFnZVNldFZhbHVl
LmNwcCAqLywKQEAgLTI1OTEzLDYgKzI1OTIxLDcgQEAKIAkJCQlFMTUxM0Q0RjE2NzdFQTgzMDAx
NDlGQ0IgLyogSW5pdGlhbGl6ZUxvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUZEQTkzMjVF
MTY3MDNCMkEwMDg5ODJEQyAvKiBPZmZsaW5lQXVkaW9Db250ZXh0LmggaW4gSGVhZGVycyAqLywK
IAkJCQlGREE5MzI2NzE2NzAzQkE5MDA4OTgyREMgLyogSlNPZmZsaW5lQXVkaW9Db250ZXh0Lmgg
aW4gSGVhZGVycyAqLywKKwkJCQlGQjQ5QzM5RDE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1
bGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjkwMjEsNiArMjkwMzAsNyBAQAogCQkJCUZEQTkzMjVE
MTY3MDNCMkEwMDg5ODJEQyAvKiBPZmZsaW5lQXVkaW9Db250ZXh0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUZEQTkzMjY2MTY3MDNCQTkwMDg5ODJEQyAvKiBKU09mZmxpbmVBdWRpb0NvbnRleHQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkU0NTZGMTgxNjc3RDc0RTAwNUVEREY5IC8qIERhdGFi
YXNlTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQjQ5QzM5QTE2Nzg0OTMyMDA3RkZC
NUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZv
ckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCAyYTQ2NWRjN2RjMWVkODc2NjA3
ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi5jYmViM2M2ODVkOTlmZWIwYzE0ZDFmODhlZmNlZjkyNjA1
NzEzODllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVD
dXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3Rv
bS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuaCIK
KyNpbmNsdWRlICJKU0NTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NJbXBvcnRSdWxlLmgi
CiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU1BhZ2VSdWxlLmgi
CkBAIC0xMDYsNiArMTA3LDExIEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4ZWMsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENTU1J1bGUqIHJ1bGUpCiAgICAgICAgICAgICB3
cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgV2ViS2l0Q1NT
UmVnaW9uUnVsZSwgcnVsZSk7CiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJM
RShTSEFET1dfRE9NKQorICAgICAgICBjYXNlIENTU1J1bGU6OkhPU1RfUlVMRToKKyAgICAgICAg
ICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDU1NI
b3N0UnVsZSwgcnVsZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgogICAgICAgICBkZWZh
dWx0OgogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihleGVjLCBnbG9i
YWxPYmplY3QsIENTU1J1bGUsIHJ1bGUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2Jq
Yy9ET01DU1MubW0KaW5kZXggM2MxZGE4MjMxMjE5YzZiMTQ3MTFiOGE0NTg1MzNjYjE3YjgxMGZk
Yy4uZTM5MzRlYmQ0NGNmY2ViY2UxODBhZGNmZWRlM2JmNWI5Mjc5MTJjNyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KQEAgLTY1LDYgKzY1LDEwIEBACiAjaW1wb3J0ICJE
T01TVkdQYWludC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyNpbXBvcnQg
IkRPTUNTU0hvc3RSdWxlLmgiCisjZW5kaWYKKwogLy8tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0KIC8vIERPTVN0eWxlU2hlZXQKIApAQCAtMTA3LDYgKzExMSwxMCBAQCBDbGFzcyBr
aXRDbGFzcyhXZWJDb3JlOjpDU1NSdWxlKiBpbXBsKQogICAgICAgICBjYXNlIERPTV9XRUJLSVRf
UkVHSU9OX1JVTEU6CiAgICAgICAgICAgICByZXR1cm4gW0RPTVdlYktpdENTU1JlZ2lvblJ1bGUg
Y2xhc3NdOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIGNhc2UgRE9N
X0hPU1RfUlVMRToKKyAgICAgICAgICAgIHJldHVybiBbRE9NQ1NTSG9zdFJ1bGUgY2xhc3NdOwor
I2VuZGlmCiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJldHVybiBuaWw7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxl
Q3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVD
dXN0b20uY3BwCmluZGV4IGQxNTFjZDhiMGY1YzljNjk0Mzg4NmY3NTJiOWQ4NjNjNmNkMTM3NmEu
LmNjNDlhNmMwMTU5MTRmYjZmNmVjNDZhZDI2MWQ4MzhhYTBhNmU0ZmYgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCkBA
IC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJWOENTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVk
ZSAiVjhDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJWOENTU0hvc3RSdWxlLmgiCiAjaW5j
bHVkZSAiVjhDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NNZWRpYVJ1bGUuaCIKICNp
bmNsdWRlICJWOENTU1BhZ2VSdWxlLmgiCkBAIC03OCw2ICs3OSwxMCBAQCB2ODo6SGFuZGxlPHY4
OjpPYmplY3Q+IHdyYXAoQ1NTUnVsZSogaW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVh
dGlvbkNvbnRleAogI2VuZGlmCiAgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfUkVHSU9OX1JVTEU6
CiAgICAgICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PFdlYktpdENTU1JlZ2lvblJ1bGUqPihp
bXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KyAgICBjYXNlIENTU1J1bGU6OkhPU1RfUlVMRToKKyAgICAgICAgcmV0dXJuIHdyYXAoc3RhdGlj
X2Nhc3Q8Q1NTSG9zdFJ1bGUqPihpbXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyNl
bmRpZgogICAgIH0KICAgICByZXR1cm4gVjhDU1NSdWxlOjpjcmVhdGVXcmFwcGVyKGltcGwsIGNy
ZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcApp
bmRleCA0NzlkOGRlZjc4YzlkMzc0MDk3YzBjNGU5OTkxMzcxM2UyYTIzMTA1Li43YThmZjU1M2U5
OTZmODEwYjJmYTczMmRlNjE5N2QwZjkzMTEzNzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9u
ZS5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJDU1NGb250U2VsZWN0b3IuY3BwIgog
I2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU0dyYWRpZW50VmFs
dWUuY3BwIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmNwcCIKICNpbmNsdWRlICJDU1NJbWFnZUdl
bmVyYXRvclZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmNwcCIKICNpbmNsdWRl
ICJDU1NJbXBvcnRSdWxlLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NI
b3N0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmE1YTliYjYyY2Y1MDBlZjgwYTFlMDZjNGIxNzZiMjU4YzdmZDVmZjkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuY3BwCkBAIC0wLDAgKzEsMTc0
IEBACisvKioKKyAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAq
IChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmln
aHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMTIgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCisKKyNpZiBFTkFCTEUoU0hBRE9X
X0RPTSkKKworI2luY2x1ZGUgIkNTU1BhcnNlci5oIgorI2luY2x1ZGUgIkNTU1J1bGVMaXN0Lmgi
CisjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIK
KyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVu
dGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgor
I2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUg
eworCitDU1NIb3N0UnVsZTo6Q1NTSG9zdFJ1bGUoU3R5bGVSdWxlSG9zdCogaG9zdFJ1bGUsIENT
U1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENTU1J1bGUocGFyZW50KQorICAgICwgbV9ob3N0
UnVsZShob3N0UnVsZSkKKyAgICAsIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyhob3N0UnVsZS0+
Y2hpbGRSdWxlcygpLnNpemUoKSkKK3sKK30KKworQ1NTSG9zdFJ1bGU6On5DU1NIb3N0UnVsZSgp
Cit7CisgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9ob3N0
UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmICht
X2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0pCisgICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaV0tPnNldFBhcmVudFJ1bGUoMCk7CisgICAgfQorfQorCit1bnNpZ25lZCBDU1NI
b3N0UnVsZTo6aW5zZXJ0UnVsZShjb25zdCBTdHJpbmcmIHJ1bGVTdHJpbmcsIHVuc2lnbmVkIGlu
ZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdy
YXBwZXJzLnNpemUoKSA9PSBtX2hvc3RSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKworICAg
IGlmIChpbmRleCA+IG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpIHsKKyAgICAgICAg
Ly8gSU5ERVhfU0laRV9FUlI6IFJhaXNlZCBpZiB0aGUgc3BlY2lmaWVkIGluZGV4IGlzIG5vdCBh
IHZhbGlkIGluc2VydGlvbiBwb2ludC4KKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgQ1NTUGFyc2VyIHBhcnNlcihwYXJzZXJDb250
ZXh0KCkpOworICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQgPSBwYXJlbnRTdHlsZVNoZWV0
KCk7CisgICAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IG5ld1J1bGUgPSBwYXJzZXIucGFyc2VSdWxl
KHN0eWxlU2hlZXQgPyBzdHlsZVNoZWV0LT5jb250ZW50cygpIDogMCwgcnVsZVN0cmluZyk7Cisg
ICAgaWYgKCFuZXdSdWxlKSB7CisgICAgICAgIC8vIFNZTlRBWF9FUlI6IFJhaXNlZCBpZiB0aGUg
c3BlY2lmaWVkIHJ1bGUgaGFzIGEgc3ludGF4IGVycm9yIGFuZCBpcyB1bnBhcnNhYmxlLgorICAg
ICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlm
IChuZXdSdWxlLT5pc0ltcG9ydFJ1bGUoKSkgeworICAgICAgICAvLyBGSVhNRTogYW4gSElFUkFS
Q0hZX1JFUVVFU1RfRVJSIHNob3VsZCBhbHNvIGJlIHRocm93biBmb3IgYSBAY2hhcnNldCBvciBh
IG5lc3RlZAorICAgICAgICAvLyBAaG9zdCBydWxlLiBUaGV5IGFyZSBjdXJyZW50bHkgbm90IGdl
dHRpbmcgcGFyc2VkLCByZXN1bHRpbmcgaW4gYSBTWU5UQVhfRVJSCisgICAgICAgIC8vIHRvIGdl
dCByYWlzZWQgYWJvdmUuCisKKyAgICAgICAgLy8gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBSYWlz
ZWQgaWYgdGhlIHJ1bGUgY2Fubm90IGJlIGluc2VydGVkIGF0IHRoZSBzcGVjaWZpZWQKKyAgICAg
ICAgLy8gaW5kZXgsIGUuZy4sIGlmIGFuIEBpbXBvcnQgcnVsZSBpcyBpbnNlcnRlZCBhZnRlciBh
IHN0YW5kYXJkIHJ1bGUgc2V0IG9yIG90aGVyCisgICAgICAgIC8vIGF0LXJ1bGUuCisgICAgICAg
IGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9Cisg
ICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlzKTsK
KworICAgIG1faG9zdFJ1bGUtPndyYXBwZXJJbnNlcnRSdWxlKGluZGV4LCBuZXdSdWxlKTsKKwor
ICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5pbnNlcnQoaW5kZXgsIFJlZlB0cjxDU1NSdWxl
PigpKTsKKyAgICByZXR1cm4gaW5kZXg7Cit9CisKK3ZvaWQgQ1NTSG9zdFJ1bGU6OmRlbGV0ZVJ1
bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEFTU0VSVChtX2No
aWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKS5z
aXplKCkpOworCisgICAgaWYgKGluZGV4ID49IG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKS5zaXpl
KCkpIHsKKyAgICAgICAgLy8gSU5ERVhfU0laRV9FUlI6IFJhaXNlZCBpZiB0aGUgc3BlY2lmaWVk
IGluZGV4IGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYQorICAgICAgICAvLyBydWxlIGluIHRoZSBo
b3N0IHJ1bGUgbGlzdC4KKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0
aW9uU2NvcGUodGhpcyk7CisKKyAgICBtX2hvc3RSdWxlLT53cmFwcGVyUmVtb3ZlUnVsZShpbmRl
eCk7CisKKyAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XSkKKyAgICAgICAg
bV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XS0+c2V0UGFyZW50UnVsZSgwKTsKKyAgICBt
X2NoaWxkUnVsZUNTU09NV3JhcHBlcnMucmVtb3ZlKGluZGV4KTsKK30KKworU3RyaW5nIENTU0hv
c3RSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKyAg
ICByZXN1bHQuYXBwZW5kKCJAaG9zdCB7IFxuIik7CisKKyAgICB1bnNpZ25lZCBzaXplID0gbGVu
Z3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAg
ICByZXN1bHQuYXBwZW5kKCIgICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNz
c1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xuJyk7CisgICAgfQorCisgICAgcmVz
dWx0LmFwcGVuZCgnfScpOworICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKwordW5z
aWduZWQgQ1NTSG9zdFJ1bGU6Omxlbmd0aCgpIGNvbnN0Cit7IAorICAgIHJldHVybiBtX2hvc3RS
dWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpOyAKK30KKworQ1NTUnVsZSogQ1NTSG9zdFJ1bGU6Oml0
ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7IAorICAgIGlmIChpbmRleCA+PSBsZW5ndGgoKSkK
KyAgICAgICAgcmV0dXJuIDA7CisgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5z
aXplKCkgPT0gbV9ob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7CisgICAgUmVmUHRyPENT
U1J1bGU+JiBydWxlID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKKyAgICBpZiAo
IXJ1bGUpCisgICAgICAgIHJ1bGUgPSBtX2hvc3RSdWxlLT5jaGlsZFJ1bGVzKClbaW5kZXhdLT5j
cmVhdGVDU1NPTVdyYXBwZXIoY29uc3RfY2FzdDxDU1NIb3N0UnVsZSo+KHRoaXMpKTsKKyAgICBy
ZXR1cm4gcnVsZS5nZXQoKTsKK30KKworQ1NTUnVsZUxpc3QqIENTU0hvc3RSdWxlOjpjc3NSdWxl
cygpIGNvbnN0Cit7CisgICAgaWYgKCFtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKQorICAgICAgICBt
X3J1bGVMaXN0Q1NTT01XcmFwcGVyID0gYWRvcHRQdHIobmV3IExpdmVDU1NSdWxlTGlzdDxDU1NI
b3N0UnVsZT4oY29uc3RfY2FzdDxDU1NIb3N0UnVsZSo+KHRoaXMpKSk7CisgICAgcmV0dXJuIG1f
cnVsZUxpc3RDU1NPTVdyYXBwZXIuZ2V0KCk7Cit9CisKK3ZvaWQgQ1NTSG9zdFJ1bGU6OnJlYXR0
YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCit7CisgICAgQVNTRVJUKHJ1bGUpOworICAgIEFTU0VS
VChydWxlLT5pc0hvc3RSdWxlKCkpOworICAgIG1faG9zdFJ1bGUgPSBzdGF0aWNfY2FzdDxTdHls
ZVJ1bGVIb3N0Kj4ocnVsZSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAobV9jaGlsZFJ1bGVD
U1NPTVdyYXBwZXJzW2ldKQorICAgICAgICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ld
LT5yZWF0dGFjaChtX2hvc3RSdWxlLT5jaGlsZFJ1bGVzKClbaV0uZ2V0KCkpOworICAgIH0KK30K
Kwordm9pZCBDU1NIb3N0UnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyog
bWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1v
cnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7CisgICAgQ1NTUnVs
ZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRNZW1i
ZXIobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3J1bGVM
aXN0Q1NTT01XcmFwcGVyKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gRU5BQkxFKFNIQURPV19ET00pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
SG9zdFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjkzMTQ3MDc0NjM5NjA5NzgwZTY5ZGY0YjdiMDdkYmM0MWVlYTc0ZDcKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaApAQCAtMCwwICsxLDY3IEBACisv
KgorICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogKEMpIDIw
MDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykg
MjAwMiwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtQHdlYmtpdC5vcmcpCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpZm5k
ZWYgQ1NTSG9zdFJ1bGVfaAorI2RlZmluZSBDU1NIb3N0UnVsZV9oCisKKyNpbmNsdWRlICJDU1NS
dWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVOQUJMRShTSEFET1dfRE9NKQor
CitjbGFzcyBDU1NSdWxlTGlzdDsKK2NsYXNzIFN0eWxlUnVsZUhvc3Q7CisKK2NsYXNzIENTU0hv
c3RSdWxlIDogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENTU0hvc3RSdWxlPiBjcmVhdGUoU3R5bGVSdWxlSG9zdCogcnVsZSwgQ1NTU3R5bGVTaGVldCog
c2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NIb3N0UnVsZShydWxlLCBzaGVldCkpOyB9
CisKKyAgICB2aXJ0dWFsIH5DU1NIb3N0UnVsZSgpOworCisgICAgdmlydHVhbCBDU1NSdWxlOjpU
eXBlIHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBIT1NUX1JVTEU7IH0KKyAgICB2aXJ0
dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwg
dm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3QgT1ZFUlJJREU7
CisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgQ1NT
UnVsZUxpc3QqIGNzc1J1bGVzKCkgY29uc3Q7CisKKyAgICB1bnNpZ25lZCBpbnNlcnRSdWxlKGNv
bnN0IFN0cmluZyYgcnVsZSwgdW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2
b2lkIGRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAgICAg
CisgICAgLy8gRm9yIENTU1J1bGVMaXN0CisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7Cisg
ICAgQ1NTUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisKK3ByaXZhdGU6CisgICAg
Q1NTSG9zdFJ1bGUoU3R5bGVSdWxlSG9zdCosIENTU1N0eWxlU2hlZXQqKTsKKyAgICAKKyAgICBS
ZWZQdHI8U3R5bGVSdWxlSG9zdD4gbV9ob3N0UnVsZTsKKyAgICBtdXRhYmxlIFZlY3RvcjxSZWZQ
dHI8Q1NTUnVsZT4gPiBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnM7CisgICAgbXV0YWJsZSBPd25Q
dHI8Q1NTUnVsZUxpc3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXI7Cit9OworCisjZW5kaWYgLy8g
RU5BQkxFKFNIQURPV19ET00pCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8v
IENTU0hvc3RSdWxlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVs
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5
NTc5NzhhYTQzNmVlOTVhZWYzN2VjNWFkMjBmMjA2NGExNDEzZmUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21h
aWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUg
TGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVz
ZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBs
aWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBM
aWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVk
IGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxv
bmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwg
d3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5r
bGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
KyAqLworCisvLyBJbnRyb2R1Y2VkIGluIFNoYWRvdyBET00gc3BlYzoKK1sKKyAgICBDb25kaXRp
b25hbD1TSEFET1dfRE9NLAorICAgIFY4RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET00KK10gaW50
ZXJmYWNlIENTU0hvc3RSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENT
U1J1bGVMaXN0IGNzc1J1bGVzOworICAgIAorICAgIHVuc2lnbmVkIGxvbmcgICAgICBpbnNlcnRS
dWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBydWxlLCAKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5k
ZWZpbmVkXSB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9u
KTsKKyAgICB2b2lkICAgICAgICAgICAgICAgZGVsZXRlUnVsZShpbiBbT3B0aW9uYWw9RGVmYXVs
dElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICByYWlzZXMoRE9NRXhj
ZXB0aW9uKTsKK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCmluZGV4IDA3NThlNzRmODE1MGE5Nzk0ZWEx
Y2I4MzgxMTI2MTExNDRmMzIwNjcuLjEyZmY1ZDA3MjAzMTM3NGY4OGI1NDk2ODFjNTUyODViNmIw
YzljNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApAQCAtNTQsNyArNTQsMTAgQEAgcHVibGljOgogICAg
ICAgICBXRUJLSVRfVklFV1BPUlRfUlVMRSA9IDE1LAogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19S
RUdJT05TKQotICAgICAgICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNgorICAgICAgICBXRUJLSVRf
UkVHSU9OX1JVTEUgPSAxNiwKKyNlbmRpZgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgICAg
ICBIT1NUX1JVTEUgPSAxMDAxLAogI2VuZGlmCiAgICAgfTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRs
CmluZGV4IGFmMTE4ZmU3MmI5YjgwNzRmN2Q2MDgyZDA5M2UyNzBjZmYyYjEwNjguLmQ1MDRlMGMw
ZWFlOWQ4MDg5MzE1MDkxY2Y2YzkyYjlhMDg4YmZhYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwK
QEAgLTQzLDYgKzQzLDkgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfUkVHSU9OUykgJiYgRU5B
QkxFX0NTU19SRUdJT05TCiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgV0VCS0lUX1JFR0lPTl9S
VUxFID0gMTY7CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9TSEFET1dfRE9NKSAmJiBFTkFC
TEVfU0hBRE9XX0RPTQorICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IEhPU1RfUlVMRSA9IDEwMDE7
CisjZW5kaWYKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNpZ25lZCBzaG9ydCAgIHR5cGU7
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRleCBkYzkxYmU2MWFhMjdkZmEx
YzI3NTEzOWM4NWUyYTRkNTM5MDM1ZTI2Li4xZDgyNGM4NDZmNmNkNWU5Yjk1ZDI5ZTdkYzhkM2Uw
MzU2N2UwZGIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5oIgogI2luY2x1ZGUgIkNTU0Zv
bnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5oIgorI2luY2x1ZGUgIkNT
U0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0xp
bmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRlICJDU1NNZWRpYVJ1bGUuaCIKQEAgLTI2MzIs
NiArMjYzMywxMSBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0Q1NTT01XcmFwcGVycyhIYXNoTWFwPFN0
eWxlUnVsZSosIFJlZlB0cjxDU1NTdHlsZVJ1bGU+ID4mIHdyYQogICAgICAgICAgICAgY29sbGVj
dENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVs
ZSo+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNI
QURPV19ET00pCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6SE9TVF9SVUxFOgorICAgICAgICAgICAg
Y29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGljX2Nhc3Q8Q1NTSG9zdFJ1bGUq
Pihjc3NSdWxlKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgogICAgICAgICBjYXNlIENT
U1J1bGU6OlNUWUxFX1JVTEU6CiAgICAgICAgICAgICB3cmFwcGVyTWFwLmFkZChzdGF0aWNfY2Fz
dDxDU1NTdHlsZVJ1bGUqPihjc3NSdWxlKS0+c3R5bGVSdWxlKCksIHN0YXRpY19jYXN0PENTU1N0
eWxlUnVsZSo+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
dWxlLmNwcAppbmRleCA0M2U2YTVlMTM3NjgwY2MyZDFjNmFjMzAxOTNkZmU2NTY2NjIzMDIwLi5m
ZGM1ZGM0ZjQ4N2U3MjRkZGFiYTBkNTBmYjAwNDU0MzFjMWY3M2Q4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmNwcApAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVkZSAiQ1NTQ2hhcnNldFJ1bGUu
aCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJDU1NIb3N0UnVsZS5o
IgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NNZWRpYVJ1bGUuaCIK
ICNpbmNsdWRlICJDU1NQYWdlUnVsZS5oIgpAQCAtNDUsNiArNDYsMTQgQEAgc3RydWN0IFNhbWVT
aXplQXNTdHlsZVJ1bGVCYXNlIDogcHVibGljIFdURjo6UmVmQ291bnRlZEJhc2UgewogCiBDT01Q
SUxFX0FTU0VSVChzaXplb2YoU3R5bGVSdWxlQmFzZSkgPT0gc2l6ZW9mKFNhbWVTaXplQXNTdHls
ZVJ1bGVCYXNlKSwgU3R5bGVSdWxlQmFzZV9zaG91bGRfc3RheV9zbWFsbCk7CiAKKyNpZiBFTkFC
TEUoU0hBRE9XX0RPTSkKK1N0eWxlUnVsZUJhc2U6OlR5cGUgU3R5bGVSdWxlQmFzZTo6cmFyZVR5
cGUoKSBjb25zdAoreworICAgIEFTU0VSVChtX3R5cGUgPT0gUmFyZSk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PGNvbnN0IFN0eWxlUmFyZVJ1bGVCbG9jayo+KHRoaXMpLT5yYXJlVHlwZSgpOwor
fQorI2VuZGlmCisKIFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NT
T01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0KSBjb25zdAogewogICAgIHJldHVy
biBjcmVhdGVDU1NPTVdyYXBwZXIocGFyZW50U2hlZXQsIDApOwpAQCAtODMsNyArOTIsNyBAQCB2
b2lkIFN0eWxlUnVsZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1l
bW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgICAgIHJldHVybjsKICNpZiBFTkFCTEUoU0hBRE9X
X0RPTSkKICAgICBjYXNlIEhvc3Q6Ci0gICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVs
ZUJsb2NrKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlSG9zdCo+KHRoaXMpLT5y
ZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CiAgICAgICAgIHJl
dHVybjsKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCkBAIC05Nyw2
ICsxMDYsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9i
amVjdEluZm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAjaWYgIUVOQUJMRShDU1NfUkVHSU9O
UykKICAgICBjYXNlIFJlZ2lvbjoKICNlbmRpZgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAg
IGNhc2UgUmFyZToKKyNlbmRpZgogICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KQEAgLTE0NSw2ICsxNTcsOSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6
OmRlc3Ryb3koKQogI2lmICFFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2FzZSBSZWdpb246CiAj
ZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBjYXNlIFJhcmU6CisjZW5kaWYKICAg
ICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybjsKICAgICB9CkBAIC0x
ODYsNiArMjAxLDkgQEAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNlOjpj
b3B5KCkgY29uc3QKICNpZiAhRU5BQkxFKENTU19SRUdJT05TKQogICAgIGNhc2UgUmVnaW9uOgog
I2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgY2FzZSBSYXJlOgorI2VuZGlmCiAg
ICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1cm4gMDsKICAgICB9CkBA
IC0yMjgsOCArMjQ2LDcgQEAgUGFzc1JlZlB0cjxDU1NSdWxlPiBTdHlsZVJ1bGVCYXNlOjpjcmVh
dGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQKICNlbmRpZgogI2lmIEVO
QUJMRShTSEFET1dfRE9NKQogICAgIGNhc2UgSG9zdDoKLSAgICAgICAgLy8gRklYTUU6IFRoZSBj
dXJyZW50IENTU09NIGVkaXRvcidzIGRyYWZ0IChodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3Nv
bS8pIGRvZXMgbm90IGhhbmRsZSBAaG9zdCBydWxlcyAoc2VlIGJ1ZyAxMDIzNDQpLgotICAgICAg
ICBydWxlID0gYWRvcHRSZWYobmV3IENTU1Vua25vd25SdWxlKCkpOworICAgICAgICBydWxlID0g
Q1NTSG9zdFJ1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4oc2VsZiksIHBh
cmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIFVua25vd246CkBA
IC0yMzgsNiArMjU1LDkgQEAgUGFzc1JlZlB0cjxDU1NSdWxlPiBTdHlsZVJ1bGVCYXNlOjpjcmVh
dGVDU1NPTVdyYXBwZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQKICNpZiAhRU5BQkxFKENT
U19SRUdJT05TKQogICAgIGNhc2UgUmVnaW9uOgogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19E
T00pCisgICAgY2FzZSBSYXJlOgorI2VuZGlmCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgICAgICByZXR1cm4gMDsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggNGVm
NzY0MjgzODhiMWM0NzJlMTM5MWMzOTFiMjNhODY4MWZjMTYzNS4uOTZmNzIwNzA2NzU0NGYyM2Mw
M2FkM2Q4ZjM4ZjFhMGY5MWVlNDczMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtNDYsMTUg
KzQ2LDI3IEBAIHB1YmxpYzoKICAgICAgICAgUGFnZSwKICAgICAgICAgS2V5ZnJhbWVzLAogICAg
ICAgICBLZXlmcmFtZSwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBpbnRlcm5hbGx5IG5vbi1ydWxl
IFN0eWxlS2V5ZnJhbWUgb2JqZWN0cy4KLSNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICAgICAg
SG9zdCwKLSNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAgICAg
IFZpZXdwb3J0ID0gMTUsCiAjZW5kaWYKLSAgICAgICAgUmVnaW9uID0gMTYKKyAgICAgICAgUmVn
aW9uID0gMTYsCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIFJhcmUgPSAzMSwKKyAg
ICAgICAgSG9zdCA9IDEwMDEsCisjZW5kaWYKICAgICB9OwotICAgIFR5cGUgdHlwZSgpIGNvbnN0
IHsgcmV0dXJuIHN0YXRpY19jYXN0PFR5cGU+KG1fdHlwZSk7IH0KKworICAgIFR5cGUgdHlwZSgp
IGNvbnN0CisgICAgeworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgICAgICByZXR1cm4gbV90
eXBlICE9IFJhcmUgPyBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUpIDogcmFyZVR5cGUoKTsKKyNl
bHNlCisgICAgICAgIHJldHVybiBtX3R5cGU7CisjZW5kaWYKKyAgICB9CisjaWYgRU5BQkxFKFNI
QURPV19ET00pCisgICAgVHlwZSByYXJlVHlwZSgpIGNvbnN0OworI2VuZGlmCiAgICAgCiAgICAg
Ym9vbCBpc0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IENoYXJzZXQ7IH0K
ICAgICBib29sIGlzRm9udEZhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEZvbnRG
YWNlOyB9CkBAIC0yMzYsNyArMjQ4LDE5IEBAIHByaXZhdGU6CiB9OwogCiAjaWYgRU5BQkxFKFNI
QURPV19ET00pCi1jbGFzcyBTdHlsZVJ1bGVIb3N0IDogcHVibGljIFN0eWxlUnVsZUJsb2NrIHsK
K2NsYXNzIFN0eWxlUmFyZVJ1bGVCbG9jayA6IHB1YmxpYyBTdHlsZVJ1bGVCbG9jayB7CitwdWJs
aWM6CisgICAgVHlwZSByYXJlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fcmFyZVR5cGU7IH0KKwor
cHJvdGVjdGVkOgorICAgIFN0eWxlUmFyZVJ1bGVCbG9jayhUeXBlIHR5cGUsIFZlY3RvcjxSZWZQ
dHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlKSA6IFN0eWxlUnVsZUJsb2NrKFJhcmUsIGFk
b3B0UnVsZSksIG1fcmFyZVR5cGUodHlwZSkgeyB9CisgICAgU3R5bGVSYXJlUnVsZUJsb2NrKGNv
bnN0IFN0eWxlUmFyZVJ1bGVCbG9jayYgbykgOiBTdHlsZVJ1bGVCbG9jayhvKSwgbV9yYXJlVHlw
ZShvLm1fcmFyZVR5cGUpIHsgfQorCitwcml2YXRlOgorICAgIFR5cGUgbV9yYXJlVHlwZTsKK307
CisKK2NsYXNzIFN0eWxlUnVsZUhvc3QgOiBwdWJsaWMgU3R5bGVSYXJlUnVsZUJsb2NrIHsKIHB1
YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZVJ1bGVIb3N0PiBjcmVhdGUoVmVjdG9y
PFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBhZG9wdFJ1bGVzKQogICAgIHsKQEAgLTI0Niw4ICsy
NzAsOCBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVIb3N0PiBjb3B5KCkgY29u
c3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlUnVsZUhvc3QoKnRoaXMpKTsgfQogCiBwcml2
YXRlOgotICAgIFN0eWxlUnVsZUhvc3QoVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBh
ZG9wdFJ1bGVzKSA6IFN0eWxlUnVsZUJsb2NrKEhvc3QsIGFkb3B0UnVsZXMpIHsgfQotICAgIFN0
eWxlUnVsZUhvc3QoY29uc3QgU3R5bGVSdWxlSG9zdCYgbykgOiBTdHlsZVJ1bGVCbG9jayhvKSB7
IH0KKyAgICBTdHlsZVJ1bGVIb3N0KFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRv
cHRSdWxlcykgOiBTdHlsZVJhcmVSdWxlQmxvY2soSG9zdCwgYWRvcHRSdWxlcykgeyB9CisgICAg
U3R5bGVSdWxlSG9zdChjb25zdCBTdHlsZVJ1bGVIb3N0JiBvKSA6IFN0eWxlUmFyZVJ1bGVCbG9j
ayhvKSB7IH0KIH07CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlU2hlZXRDb250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRl
bnRzLmNwcAppbmRleCBkYzUyMWRmMzljMmJkNDM2NTY0ZmY1YmM4ODdkMWEzYjEwYmQ3YjFiLi40
NjJiYmU1OTlhYmNiYzk5NjYyM2E3OGViNTgzYTQ5MjJkZGQyNGU5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApAQCAtNDUwLDYgKzQ1MCw5IEBAIHN0YXRpYyBi
b29sIGNoaWxkUnVsZXNIYXZlRmFpbGVkT3JDYW5jZWxlZFN1YnJlc291cmNlcyhjb25zdCBWZWN0
b3I8UmVmUHRyPFN0eWxlCiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgogICAgICAgICBjYXNl
IFN0eWxlUnVsZUJhc2U6OkltcG9ydDoKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAg
Y2FzZSBTdHlsZVJ1bGVCYXNlOjpSYXJlOgorI2VuZGlmCiAgICAgICAgICAgICBBU1NFUlRfTk9U
X1JFQUNIRUQoKTsKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVCYXNlOjpQYWdlOgogICAgICAgICBj
YXNlIFN0eWxlUnVsZUJhc2U6OktleWZyYW1lczoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApp
bmRleCAxNGNlZThlNzJhOTMyZGU0NTQxYWUwZTFhZmQyM2RiZWIzYTRmY2I0Li4xMTVmZTAwNDQw
ZjY0YzQ5MGZmN2NkY2UwYjBlODlmODZhNGVhZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsCkBAIC0zNTYsNiArMzU2LDkgQEAKICAgICBhdHRyaWJ1dGUgQ1NTUnVsZUNvbnN0cnVjdG9y
IENTU1J1bGU7CiAgICAgYXR0cmlidXRlIENTU0NoYXJzZXRSdWxlQ29uc3RydWN0b3IgQ1NTQ2hh
cnNldFJ1bGU7CiAgICAgYXR0cmlidXRlIENTU0ZvbnRGYWNlUnVsZUNvbnN0cnVjdG9yIENTU0Zv
bnRGYWNlUnVsZTsKKyNpZiBkZWZpbmVkKEVOQUJMRV9TSEFET1dfRE9NKSAmJiBFTkFCTEVfU0hB
RE9XX0RPTQorICAgIGF0dHJpYnV0ZSBDU1NIb3N0UnVsZUNvbnN0cnVjdG9yIENTU0hvc3RSdWxl
OworI2VuZGlmCiAgICAgYXR0cmlidXRlIENTU0ltcG9ydFJ1bGVDb25zdHJ1Y3RvciBDU1NJbXBv
cnRSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NNZWRpYVJ1bGVDb25zdHJ1Y3RvciBDU1NNZWRpYVJ1
bGU7CiAgICAgYXR0cmlidXRlIENTU1BhZ2VSdWxlQ29uc3RydWN0b3IgQ1NTUGFnZVJ1bGU7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cK
aW5kZXggNzRhNDU3YzcwYmMyMjM5YmM3MTRhZTY3MGZlZmFlMDFhMzQxZmQ5ZS4uNWJkZTQyZTYw
ZWIzNjhjZTE0NzQ2MzNmOTkyMzM2YWI2ZTNiYjQxMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisy
MDEyLTEyLTEyICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAg
ICBJbXBsZW1lbnQgQ1NTSG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVsZXMuCisgICAgICAgIGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNDQKKworICAgICAgICBSZXZp
ZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jc3Mt
aG9zdHJ1bGUtYXBpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hh
ZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRtbDogQWRkZWQuCisKIDIwMTItMTItMTIgIFNpbW9uIEZy
YXNlciAgPHNpbW9uLmZyYXNlckBhcHBsZS5jb20+CiAKICAgICAgICAgUmViYXNlbGluZSBzb21l
IHRpbGVkIHNjcm9sbGluZyByZXN1bHRzIHRoYXQgd2VyZSBhZmZlY3RlZCBieSByMTM3Mzg3Lgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGkt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1h
cGktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE0ZTNiYjdmN2FmMjQ5NDA2ZGQxNzM4OTY4NDk4
YzI0MjhmNGMzNzQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFk
b3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOCBAQAorVGVzdCB3
aGV0aGVyIENTU0hvc3RSdWxlIEFQSSB3b3JrcyBjb3JyZWN0bHkgb3Igbm90LgorCitPbiBzdWNj
ZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xsb3dlZCBi
eSAiVEVTVCBDT01QTEVURSIuCisKKworQmVmb3JlIGluc2VydGluZyBhIGJvcmRlciBydWxlIGlu
dG8gQGhvc3QgQC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xv
ciBpcyAicmdiKDAsIDAsIDApIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMAor
QWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBpbnRvIEBo
b3N0IEAtcnVsZXM6CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMg
InJnYigwLCAxMjgsIDApIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFT
UyBob3N0UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7IFxuICAjaG9zdCB7IGJvcmRlci1jb2xvcjog
Z3JlZW47IH1cbn0iCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgIiNob3N0
IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSIKK0FmdGVyIGluc2VydGluZyBhIGJvcmRlciBydWxl
IHdpdGggYSB0YWcgc2VsZWN0b3IgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRDb21wdXRl
ZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgaG9zdFJ1
bGUuY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgaG9zdFJ1bGUuY3NzVGV4dCBpcyAiQGhvc3Qg
eyBcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XG4gIGRpdiB7IGJvcmRlci1jb2xv
cjogYmx1ZTsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCBpcyAiI2hv
c3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlc1sxXS5j
c3NUZXh0IGlzICJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iCitBZnRlciBkZWxldGluZyB0
aGUgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBmcm9tIEBob3N0IEAtcnVsZXM6CitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigwLCAwLCAyNTUp
IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFTUyBob3N0UnVsZS5jc3NU
ZXh0IGlzICJAaG9zdCB7IFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1cbn0iCitQQVNT
IGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgImRpdiB7IGJvcmRlci1jb2xvcjogYmx1
ZTsgfSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQor
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFw
aS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRt
bApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi41NTQzZTQxNmI2NDhjYmZjNzA2NzI5MDUxYzE3ODY5NDIwZmE3YmUxCi0t
LSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVs
ZS1hcGkuaHRtbApAQCAtMCwwICsxLDQ3IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhl
YWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKzxzY3Jp
cHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9o
ZWFkPgorPGJvZHk+CisgIDxkaXYgaWQ9Imhvc3QiPlRoaXMgZGl2IGlzIGEgc2hhZG93IGhvc3Qu
PC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgd2hldGhlciBDU1NI
b3N0UnVsZSBBUEkgd29ya3MgY29ycmVjdGx5IG9yIG5vdC4iKTsKK3ZhciBob3N0ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRD
cmVhdGVTaGFkb3dSb290KCk7CitzaGFkb3dSb290LmlubmVySFRNTCA9ICc8c3R5bGUgaWQ9InN0
eWxlMSI+QGhvc3Qge308L3N0eWxlPjxkaXY+U2hhZG93IFRleHQ8L2Rpdj4nOworICAKK2RlYnVn
KCJCZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOiIpOwor
c2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAw
LCAwKSInKTsKKwordmFyIHN0eWxlU2hlZXQgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdz
dHlsZTEnKS5zaGVldDsKK3ZhciBob3N0UnVsZSA9IHN0eWxlU2hlZXQuY3NzUnVsZXNbMF07Citz
aG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzAnKTsKKyAgCitkZWJ1ZygiQWZ0
ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBpbnRvIEBob3N0
IEAtcnVsZXM6Iik7Citob3N0UnVsZS5pbnNlcnRSdWxlKCIjaG9zdCB7IGJvcmRlci1jb2xvcjog
Z3JlZW47IH0iLCBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgpOworc2hvdWxkQmUoImdldENvbXB1
dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxk
QmUoImhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIsICcxJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUu
Y3NzVGV4dCIsICciQGhvc3QgeyBcXG4gICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxc
bn0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCIsICciI2hvc3Qg
eyBib3JkZXItY29sb3I6IGdyZWVuOyB9IicpOworCitkZWJ1ZygiQWZ0ZXIgaW5zZXJ0aW5nIGEg
Ym9yZGVyIHJ1bGUgd2l0aCBhIHRhZyBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6Iik7Cito
b3N0UnVsZS5pbnNlcnRSdWxlKCJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iLCBob3N0UnVs
ZS5jc3NSdWxlcy5sZW5ndGgpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9y
ZGVyQ29sb3IiLCAnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1
bGVzLmxlbmd0aCIsICcyJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3Qg
eyBcXG4gICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxcbiAgZGl2IHsgYm9yZGVyLWNv
bG9yOiBibHVlOyB9XFxufSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NU
ZXh0IiwgJyIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iJyk7CitzaG91bGRCZSgiaG9z
dFJ1bGUuY3NzUnVsZXNbMV0uY3NzVGV4dCIsICciZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9
IicpOworCitkZWJ1ZygiQWZ0ZXIgZGVsZXRpbmcgdGhlIGJvcmRlciBydWxlIHdpdGggYW4gaWQg
c2VsZWN0b3IgZnJvbSBAaG9zdCBALXJ1bGVzOiIpOworaG9zdFJ1bGUuZGVsZXRlUnVsZSgwKTsK
K3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIiwgJyJyZ2IoMCwg
MCwgMjU1KSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMScpOwor
c2hvdWxkQmUoImhvc3RSdWxlLmNzc1RleHQiLCAnIkBob3N0IHsgXFxuICBkaXYgeyBib3JkZXIt
Y29sb3I6IGJsdWU7IH1cXG59IicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzWzBdLmNz
c1RleHQiLCAnImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSInKTsKKworPC9zY3JpcHQ+Cis8
c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+
Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>179393</attachid>
            <date>2012-12-13 18:14:58 -0800</date>
            <delta_ts>2013-01-08 02:34:10 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20121214111218.patch</filename>
            <type>text/plain</type>
            <size>43641</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM3Njg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzNkMmE4NDRhMmQzYTcx
NzQxZGJmMWEyNWQxNGI4NGE0YThiYmJmYy4uYjU4ZGZlNGUyMzIwZGVhZmQ5ZDY3MTQyNWEzOTFm
ODY0NjhjZmNkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc0IEBACisyMDEyLTEyLTEyICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NT
SG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDU1NIb3N0UnVsZSBpcyBkZWZpbmVkIGluIFNoYWRvdyBET00g
c3BlYzoKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL3dlYmNvbXBvbmVudHMvcmF3LWZp
bGUvdGlwL3NwZWMvc2hhZG93L2luZGV4Lmh0bWwjY3NzLWhvc3QtcnVsZS1pbnRlcmZhY2UKKyAg
ICAgICAgVG8gc2VlIG9yIHRvIG1vZGlmeSBAaG9zdCBALXJ1bGVzIGJ5IHVzaW5nIGluc3BlY3Rv
ciwgd2UgbmVlZCB0bworICAgICAgICBpbXBsZW1lbnQgQ1NTSG9zdFJ1bGUgaW50ZXJmYWNlLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NQ1NTLm1tOgorICAgICAgICAoa2l0Q2xhc3MpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6d3JhcCk6CisgICAgICAgICogY3NzL0NTU0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBj
c3MvQ1NTSG9zdFJ1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0hvc3RSdWxlOjp+Q1NTSG9zdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6
Omluc2VydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmRlbGV0ZVJ1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmNzc1RleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTSG9zdFJ1bGU6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVs
ZTo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3NzUnVsZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0hvc3RSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0hvc3RS
dWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NIb3N0UnVsZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3Mv
Q1NTSG9zdFJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAg
ICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFwcGVycyk6CisgICAgICAgICogY3NzL1N0
eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UnVsZUJhc2U6OnJhcmVUeXBlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OnJl
cG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRlc3Ry
b3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6CisgICAgICAgIChX
ZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAgICAgICAqIGNz
cy9TdHlsZVJ1bGUuaDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OnR5cGUpOgor
ICAgICAgICBJZiB0eXBlKCkgaXMgUmFyZSwgY2FzdCBTdHlsZVJhcmVSdWxlQmxvY2sgYW5kIHJl
dHVybiByYXJlVHlwZS4KKyAgICAgICAgKFN0eWxlUnVsZUJhc2UpOgorICAgICAgICAoU3R5bGVS
YXJlUnVsZUJsb2NrKToKKyAgICAgICAgSW1wbGVtZW50ZWQgU3R5bGVSYXJlUnVsZUJsb2NrLgor
ICAgICAgICAoV2ViQ29yZTo6U3R5bGVSYXJlUnVsZUJsb2NrOjpyYXJlVHlwZSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJhcmVSdWxlQmxvY2s6OlN0eWxlUmFyZVJ1bGVCbG9jayk6CisgICAg
ICAgIChXZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUhvc3Q6OlN0eWxlUnVs
ZUhvc3QpOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKToKKyAg
ICAgICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTItMTItMTMgIFRpZW4tUmVuIENoZW4g
IDx0cmNoZW5AY2hyb21pdW0ub3JnPgogCiAgICAgICAgIERvbid0IGNvbnNpZGVyIGNvbnRhaW5l
ciBub2RlcyBvZiBvdGhlciBkaXNhbWJpZ3VhdGVkIG5vZGVzCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0Cmlu
ZGV4IGU4OWZmMmU3M2Q5NmRhZWEwYTM5NTQ5MDJiMDMxODQyYTAzMTUzODQuLjg0NzI4ODEyNmQy
NGQ5MzIxNmFhODQ0MzdmZWY1YTcyZTMwMzg4NjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBAIC0z
MTIsNiArMzEyLDcgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgY3NzL0NvdW50ZXIuaWRs
CiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUuaWRs
CisgICAgY3NzL0NTU0hvc3RSdWxlLmlkbAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAogICAg
IGNzcy9DU1NNZWRpYVJ1bGUuaWRsCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmlkbApAQCAtMTAzMCw2
ICsxMDMxLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NGb250U2VsZWN0b3Iu
Y3BwCiAgICAgY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCiAgICAgY3NzL0NTU0dyYWRpZW50VmFs
dWUuY3BwCisgICAgY3NzL0NTU0hvc3RSdWxlLmNwcAogICAgIGNzcy9DU1NJbWFnZUdlbmVyYXRv
clZhbHVlLmNwcAogICAgIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAogICAgIGNzcy9DU1NJbWFn
ZVZhbHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGEzZDdmMjkxZGViMTcx
NzQyY2UyZTBlNGY3OGRmOWFmZThjYmJiNTQuLjA3ZTNmYTZkNTRmODQ5ZTg3OGIzYTljYzg1NDc5
ODAzOTQyYTc0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTU1LDYgKzU1LDcg
QEAKICNpbmNsdWRlICJKU0NyeXB0by5jcHAiCiAjaW5jbHVkZSAiSlNDU1NDaGFyc2V0UnVsZS5j
cHAiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuY3BwIgorI2luY2x1ZGUgIkpTQ1NTSG9z
dFJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0UnVsZS5jcHAiCiAjaW5jbHVkZSAiSlND
U1NNZWRpYVJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTUGFnZVJ1bGUuY3BwIgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggOTg5MGYwMTg4MWQyYmFiZWNlZWIwYzIxOGNjMmRjYWQ4
ZjVlZWU5MC4uOGIwMjIzYmE2MzQ0MzUwNmU1MWRmMmEyNDJlMWU1NzYzN2RlMWJjZSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNjksNiArMTY5LDcgQEAgQklORElOR19JRExT
ID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJT
b2NrZXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAogICAg
ICQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorICAgICQoV2ViQ29yZSkvY3Nz
L0NTU0hvc3RSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvY3NzL0NTU01lZGlhUnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkv
Y3NzL0NTU1BhZ2VSdWxlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXggZDU4
YWZiOTMxNjdmNzE1ODRlYmJlZjBmYzZkNDI2MjM2ODBlODExZC4uZTY0YmM1NDhlNzhjMDU3MjIw
N2JlMzE3MmY2ZGFkMjNjOGZmYjI2MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpAQCAt
MTg5LDYgKzE4OSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvY3NzL0NvdW50ZXIu
aWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3Mv
Q1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJCRQV0QvY3NzL0NTU0hvc3RSdWxlLmlkbCBcCiAg
ICAgJCRQV0QvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTTWVkaWFS
dWxlLmlkbCBcCiAgICAgJCRQV0QvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05VbWFr
ZWZpbGUubGlzdC5hbQppbmRleCA3YmJkNjM3NDdlMWEwMzc5OWM5OTZkM2I1MGI3MjgzYTQ4Mzdh
ZjQyLi42NjQxMzY3MDBmNDg2MTdlMzI4NWEyMGJkZmI3OWJhNDZmZGFjZTAyIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTExMyw2ICsxMTMsOCBAQCB3ZWJjb3JlX2J1aWx0X3Nv
dXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NDaGFyc2V0UnVsZS5oIFwK
IAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0pTQ1NTSG9zdFJ1bGUuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
SG9zdFJ1bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuY3Bw
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5oIFwKIAlEZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFSdWxlLmNwcCBcCkBAIC0xMzE4LDYgKzEzMjAsNyBA
QCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cy9X
b3JrZXJDb250ZXh0V2ViU29ja2V0LmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNldFJ1
bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKwkkKFdlYkNv
cmUpL2Nzcy9DU1NIb3N0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU0ltcG9ydFJ1bGUu
aWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nz
cy9DU1NQYWdlUnVsZS5pZGwgXApAQCAtMjUyNyw2ICsyNTMwLDggQEAgd2ViY29yZV9zb3VyY2Vz
ICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgXAogCVNvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NIZWxwZXIuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmNwcCBcCisJU291
cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJ
bWFnZUdlbmVyYXRvclZhbHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2Vu
ZXJhdG9yVmFsdWUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3Bw
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJD
b3JlL1dlYkNvcmUuZ3lwaQppbmRleCA2OTBkMTg4MTY0YjQ1OWMzOWQ0YTEzZTFiM2YzNzYyZTk1
ODcxMGUwLi42MzFlM2ZjMzUxMDA5ZDk1OTE1YTNmMWFlN2U3ZWU0YzY4OWRlMjIxIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS5neXBpCkBAIC0xNjAsNiArMTYwLDcgQEAKICAgICAgICAgICAgICdNb2R1bGVzL3dlYnNv
Y2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1ND
aGFyc2V0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsJywK
KyAgICAgICAgICAgICdjc3MvQ1NTSG9zdFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NT
SW1wb3J0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1bGUuaWRsJywKICAg
ICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuaWRsJywKQEAgLTE0NTgsNiArMTQ1OSw4IEBACiAg
ICAgICAgICAgICAnY3NzL0NTU0Z1bmN0aW9uVmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NT
U0dyYWRpZW50VmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTR3JhZGllbnRWYWx1ZS5o
JywKKyAgICAgICAgICAgICdjc3MvQ1NTSG9zdFJ1bGUuY3BwJywKKyAgICAgICAgICAgICdjc3Mv
Q1NTSG9zdFJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUu
Y3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAnLAogICAgICAgICAg
ICAgJ2Nzcy9DU1NJbWFnZVZhbHVlLmNwcCcsCkBAIC01NTIwLDYgKzU1MjMsOCBAQAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTQ2hhcnNl
dFJ1bGVJbnRlcm5hbC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0RPTUNTU0ZvbnRGYWNlUnVsZS5tbScsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NGb250RmFjZVJ1bGVJbnRlcm5h
bC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0RPTUNTU0hvc3RSdWxlLm1tJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0RPTUNTU0hvc3RSdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NJbXBvcnRSdWxlLm1t
JywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RP
TUNTU0ltcG9ydFJ1bGVJbnRlcm5hbC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU01lZGlhUnVsZS5tbScsCkBAIC02MDc4LDYgKzYw
ODMsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NDaGFyc2V0UnVsZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmNwcCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5o
JywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTSG9zdFJ1bGUuY3BwJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTSG9zdFJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJ
UikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVs
ZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTTWVkaWFSdWxlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCmluZGV4IDI1ZWUzYzAyOTgxYzk1NGQ2MGRmZjE1NDJiNWMwM2ZmYzVmNDJk
MmIuLmVlOTQxMmUwMTliMGZkNzUwY2Q5MWFjYzUyYjhjNTdjOTczY2NiNmUgMTAwNzU1Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0xODU4LDYgKzE4NTgs
NjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iJChD
b25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xK
U0NTU0hvc3RSdWxlLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJS
ZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3RO
YW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU0hvc3RSdWxlLmgiCisJCQkJPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NJbXBvcnRSdWxlLmNwcCIKIAkJCQk+
CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0zNjA1OCw2ICszNjExNCw2MiBAQAogCQkJCT4K
IAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSG9zdFJ1
bGUuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8
V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29s
CisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZp
Z3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2lu
MzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJ
CQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3Vy
YXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFz
ZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRp
dmVQYXRoPSIuLlxjc3NcQ1NTSG9zdFJ1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQogCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIgog
CQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA3MWI1MjE5Mzk1YmNiNzA3MDU4Y2Rk
ZWYwMDgzNTQ4YjkzNjc4MGIyLi5iMzBhYjRjYzNjNDgzYTkwNTg4NjdiNmRiZDJjYTAyZTUyNTcz
NjgxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC02NDA0LDYgKzY0MDQsOCBAQAogCQlGQUJFNzJGRDEwNTlDMjExMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1l
bnRGYWN0b3J5LmNwcCAqLzsgfTsKIAkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhN
TE5hbWVzLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAgKi87IH07CiAJCUZC
MkMxNUMzMTY1RDY0OUQwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkIyQzE1QzIxNjVE
NjQ5MDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJRkI0OUMzOUExNjc4NDkzMjAw
N0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZCNDlDMzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5j
cHAgKi87IH07CisJCUZCNDlDMzlEMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOUMxNjc4
NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggKi87IH07CiAJCUZCNzhBRDJFMTUxQkY1RTYw
MEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQjc4QUQyQzE1MUJGNUQyMDBGRTU0RDMgLyogQ1NTUGFyc2VyTW9k
ZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZC
OTJERjRCMTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MkRGNDkxNUZFRDA4NzAwOTk0
NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkJDMjIwREYxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNz
Q29udGV4dDNET3BlbkdMLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEZCQzIyMERFMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9w
ZW5HTC5jcHAgKi87IH07CkBAIC0xMzkyMyw2ICsxMzkyNSw5IEBACiAJCUZBQkU3MkZCMTA1OUMy
MTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxOYW1l
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxOYW1lcy5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCMkMxNUMyMTY1RDY0OTAwMDM5QzlG
OCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTSG9zdFJ1bGUuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyog
Q1NTSG9zdFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTSG9zdFJ1
bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI0OUMzOUUxNjc4NDk1NDAwN0ZG
QjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBDU1NIb3N0UnVs
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCNzhBRDJDMTUxQkY1RDIwMEZF
NTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENTU1BhcnNlck1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkI5MkRGNDkx
NUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENsaXBQYXRoT3BlcmF0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUZCQzIyMERFMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9w
ZW5HTC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBHcmFwaGljc0Nv
bnRleHQzRE9wZW5HTC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yMTM5NCw2
ICsyMTM5OSw5IEBACiAJCQkJRkNFQkNENzExNjIzQTc5MTAwMjk5NjVFIC8qIENTU0dyYW1tYXIu
eS5pbiAqLywKIAkJCQlGQ0VCQ0Q3MjE2MjNBNzkxMDAyOTk2NUUgLyogQ1NTR3JhbW1hci55Lmlu
Y2x1ZGVzICovLAogCQkJCUJDNzcyQjM2MEM0RUE5MUUwMDgzMjg1RiAvKiBDU1NIZWxwZXIuaCAq
LywKKwkJCQlGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwICovLAor
CQkJCUZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICovLAorCQkJCUZC
NDlDMzlFMTY3ODQ5NTQwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5pZGwgKi8sCiAJCQkJQkMyM0U3
NkIwREFFODhBOTAwOUZEQzkxIC8qIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwICovLAogCQkJ
CUJDMjNFRTkxMERBRUQyQkMwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmggKi8s
CiAJCQkJOTM5M0U1RkQxNTFBOTlGMjAwMDY2RjA2IC8qIENTU0ltYWdlU2V0VmFsdWUuY3BwICov
LApAQCAtMjU5MTMsNiArMjU5MjEsNyBAQAogCQkJCUUxNTEzRDRGMTY3N0VBODMwMDE0OUZDQiAv
KiBJbml0aWFsaXplTG9nZ2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRBOTMyNUUxNjcwM0Iy
QTAwODk4MkRDIC8qIE9mZmxpbmVBdWRpb0NvbnRleHQuaCBpbiBIZWFkZXJzICovLAogCQkJCUZE
QTkzMjY3MTY3MDNCQTkwMDg5ODJEQyAvKiBKU09mZmxpbmVBdWRpb0NvbnRleHQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUZCNDlDMzlEMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CkBAIC0yOTAyMSw2ICsyOTAzMCw3IEBACiAJCQkJRkRBOTMyNUQxNjcwM0Iy
QTAwODk4MkRDIC8qIE9mZmxpbmVBdWRpb0NvbnRleHQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
RkRBOTMyNjYxNjcwM0JBOTAwODk4MkRDIC8qIEpTT2ZmbGluZUF1ZGlvQ29udGV4dC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQlGRTQ1NkYxODE2NzdENzRFMDA1RURERjkgLyogRGF0YWJhc2VNYW5h
Z2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCNDlDMzlBMTY3ODQ5MzIwMDdGRkI1RCAvKiBD
U1NIb3N0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCmluZGV4IDJhNDY1ZGM3ZGMxZWQ4NzY2MDdkOWFhYmYy
MWEyMDdmMzE3NWMxOWIuLmNiZWIzYzY4NWQ5OWZlYjBjMTRkMWY4OGVmY2VmOTI2MDU3MTM4OWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcApA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpT
Q1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1
ZGUgIkpTQ1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ltcG9ydFJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTUGFnZVJ1bGUuaCIKQEAgLTEw
Niw2ICsxMDcsMTEgQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgQ1NTUnVsZSogcnVsZSkKICAgICAgICAgICAgIHdyYXBwZXIg
PSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NSZWdpb25S
dWxlLCBydWxlKTsKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6SE9TVF9SVUxFOgorICAgICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIENTU0hvc3RSdWxl
LCBydWxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVj
dCwgQ1NTUnVsZSwgcnVsZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01DU1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbQppbmRleCAzYzFkYTgyMzEyMTljNmIxNDcxMWI4YTQ1ODUzM2NiMTdiODEwZmRjLi5lMzkz
NGViZDQ0Y2ZjZWJjZTE4MGFkY2ZlZGUzYmY1YjkyNzkxMmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUNTUy5tbQpAQCAtNjUsNiArNjUsMTAgQEAKICNpbXBvcnQgIkRPTVNWR1Bh
aW50LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorI2ltcG9ydCAiRE9NQ1NT
SG9zdFJ1bGUuaCIKKyNlbmRpZgorCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogLy8gRE9NU3R5bGVTaGVldAogCkBAIC0xMDcsNiArMTExLDEwIEBAIENsYXNzIGtpdENsYXNz
KFdlYkNvcmU6OkNTU1J1bGUqIGltcGwpCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9SRUdJT05f
UlVMRToKICAgICAgICAgICAgIHJldHVybiBbRE9NV2ViS2l0Q1NTUmVnaW9uUnVsZSBjbGFzc107
CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgY2FzZSBET01fSE9TVF9S
VUxFOgorICAgICAgICAgICAgcmV0dXJuIFtET01DU1NIb3N0UnVsZSBjbGFzc107CisjZW5kaWYK
ICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG5pbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5j
cHAKaW5kZXggZDE1MWNkOGIwZjVjOWM2OTQzODg2Zjc1MmI5ZDg2M2M2Y2QxMzc2YS4uY2M0OWE2
YzAxNTkxNGZiNmY2ZWM0NmFkMjYxZDgzOGFhMGE2ZTRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2luY2x1ZGUgIlY4Q1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJWOENT
U0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIlY4Q1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRlICJW
OENTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJWOENTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUg
IlY4Q1NTUGFnZVJ1bGUuaCIKQEAgLTc4LDYgKzc5LDEwIEBAIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gd3JhcChDU1NSdWxlKiBpbXBsLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29u
dGV4CiAjZW5kaWYKICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9SRUdJT05fUlVMRToKICAgICAg
ICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KGltcGwpLCBj
cmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIGNh
c2UgQ1NTUnVsZTo6SE9TVF9SVUxFOgorICAgICAgICByZXR1cm4gd3JhcChzdGF0aWNfY2FzdDxD
U1NIb3N0UnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2VuZGlmCiAg
ICAgfQogICAgIHJldHVybiBWOENTU1J1bGU6OmNyZWF0ZVdyYXBwZXIoaW1wbCwgY3JlYXRpb25D
b250ZXh0LCBpc29sYXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NB
bGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDQ3
OWQ4ZGVmNzhjOWQzNzQwOTdjMGM0ZTk5OTEzNzEzZTJhMjMxMDUuLjdhOGZmNTUzZTk5NmY4MTBi
MmZhNzMyZGU2MTk3ZDBmOTMxMTM3OTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5jcHAiCiAjaW5jbHVk
ZSAiQ1NTRnVuY3Rpb25WYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5jcHAi
CisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuY3BwIgogI2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJhdG9y
VmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU0lt
cG9ydFJ1bGUuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxl
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTVh
OWJiNjJjZjUwMGVmODBhMWUwNmM0YjE3NmIyNThjN2ZkNWZmOQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5jcHAKQEAgLTAsMCArMSwxNzQgQEAKKy8q
KgorICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQorICogKEMpIDIw
MDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHlyaWdodCAoQykg
MjAwMiwgMjAwNSwgMjAwNiwgMjAxMiBBcHBsZSBDb21wdXRlciwgSW5jLgorICogQ29weXJpZ2h0
IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbUB3ZWJraXQub3JnKQorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAq
IG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0
aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0
aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0
ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFO
WSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMu
CisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNl
ZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3Is
CisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuaCIKKworI2lmIEVOQUJMRShTSEFET1dfRE9NKQor
CisjaW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTUnVsZUxpc3QuaCIKKyNpbmNs
dWRlICJDU1NTdHlsZVNoZWV0LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1
ZGUgIlN0eWxlUnVsZS5oIgorI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24u
aCIKKyNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmg+CisjaW5jbHVk
ZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NT
U0hvc3RSdWxlOjpDU1NIb3N0UnVsZShTdHlsZVJ1bGVIb3N0KiBob3N0UnVsZSwgQ1NTU3R5bGVT
aGVldCogcGFyZW50KQorICAgIDogQ1NTUnVsZShwYXJlbnQpCisgICAgLCBtX2hvc3RSdWxlKGhv
c3RSdWxlKQorICAgICwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKGhvc3RSdWxlLT5jaGlsZFJ1
bGVzKCkuc2l6ZSgpKQoreworfQorCitDU1NIb3N0UnVsZTo6fkNTU0hvc3RSdWxlKCkKK3sKKyAg
ICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX2hvc3RSdWxlLT5j
aGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2No
aWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpOyArK2kpIHsKKyAgICAgICAgaWYgKG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVyc1tpXSkKKyAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
c1tpXS0+c2V0UGFyZW50UnVsZSgwKTsKKyAgICB9Cit9CisKK3Vuc2lnbmVkIENTU0hvc3RSdWxl
OjppbnNlcnRSdWxlKGNvbnN0IFN0cmluZyYgcnVsZVN0cmluZywgdW5zaWduZWQgaW5kZXgsIEV4
Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMu
c2l6ZSgpID09IG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOworCisgICAgaWYgKGlu
ZGV4ID4gbV9ob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgeworICAgICAgICAvLyBJTkRF
WF9TSVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXggaXMgbm90IGEgdmFsaWQg
aW5zZXJ0aW9uIHBvaW50LgorICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisKKyAgICBDU1NQYXJzZXIgcGFyc2VyKHBhcnNlckNvbnRleHQoKSk7
CisgICAgQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCA9IHBhcmVudFN0eWxlU2hlZXQoKTsKKyAg
ICBSZWZQdHI8U3R5bGVSdWxlQmFzZT4gbmV3UnVsZSA9IHBhcnNlci5wYXJzZVJ1bGUoc3R5bGVT
aGVldCA/IHN0eWxlU2hlZXQtPmNvbnRlbnRzKCkgOiAwLCBydWxlU3RyaW5nKTsKKyAgICBpZiAo
IW5ld1J1bGUpIHsKKyAgICAgICAgLy8gU1lOVEFYX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZp
ZWQgcnVsZSBoYXMgYSBzeW50YXggZXJyb3IgYW5kIGlzIHVucGFyc2FibGUuCisgICAgICAgIGVj
ID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKG5ld1J1
bGUtPmlzSW1wb3J0UnVsZSgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBhbiBISUVSQVJDSFlfUkVR
VUVTVF9FUlIgc2hvdWxkIGFsc28gYmUgdGhyb3duIGZvciBhIEBjaGFyc2V0IG9yIGEgbmVzdGVk
CisgICAgICAgIC8vIEBob3N0IHJ1bGUuIFRoZXkgYXJlIGN1cnJlbnRseSBub3QgZ2V0dGluZyBw
YXJzZWQsIHJlc3VsdGluZyBpbiBhIFNZTlRBWF9FUlIKKyAgICAgICAgLy8gdG8gZ2V0IHJhaXNl
ZCBhYm92ZS4KKworICAgICAgICAvLyBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IFJhaXNlZCBpZiB0
aGUgcnVsZSBjYW5ub3QgYmUgaW5zZXJ0ZWQgYXQgdGhlIHNwZWNpZmllZAorICAgICAgICAvLyBp
bmRleCwgZS5nLiwgaWYgYW4gQGltcG9ydCBydWxlIGlzIGluc2VydGVkIGFmdGVyIGEgc3RhbmRh
cmQgcnVsZSBzZXQgb3Igb3RoZXIKKyAgICAgICAgLy8gYXQtcnVsZS4KKyAgICAgICAgZWMgPSBI
SUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBDU1NT
dHlsZVNoZWV0OjpSdWxlTXV0YXRpb25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOworCisgICAg
bV9ob3N0UnVsZS0+d3JhcHBlckluc2VydFJ1bGUoaW5kZXgsIG5ld1J1bGUpOworCisgICAgbV9j
aGlsZFJ1bGVDU1NPTVdyYXBwZXJzLmluc2VydChpbmRleCwgUmVmUHRyPENTU1J1bGU+KCkpOwor
ICAgIHJldHVybiBpbmRleDsKK30KKwordm9pZCBDU1NIb3N0UnVsZTo6ZGVsZXRlUnVsZSh1bnNp
Z25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgQVNTRVJUKG1fY2hpbGRSdWxl
Q1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9ob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7
CisKKyAgICBpZiAoaW5kZXggPj0gbV9ob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgewor
ICAgICAgICAvLyBJTkRFWF9TSVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXgg
ZG9lcyBub3QgY29ycmVzcG9uZCB0byBhCisgICAgICAgIC8vIHJ1bGUgaW4gdGhlIGhvc3QgcnVs
ZSBsaXN0LgorICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAgICByZXR1cm47Cisg
ICAgfQorCisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29w
ZSh0aGlzKTsKKworICAgIG1faG9zdFJ1bGUtPndyYXBwZXJSZW1vdmVSdWxlKGluZGV4KTsKKwor
ICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdKQorICAgICAgICBtX2NoaWxk
UnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdLT5zZXRQYXJlbnRSdWxlKDApOworICAgIG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVycy5yZW1vdmUoaW5kZXgpOworfQorCitTdHJpbmcgQ1NTSG9zdFJ1bGU6
OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OworICAgIHJlc3Vs
dC5hcHBlbmQoIkBob3N0IHsgXG4iKTsKKworICAgIHVuc2lnbmVkIHNpemUgPSBsZW5ndGgoKTsK
KyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIHJlc3Vs
dC5hcHBlbmQoIiAgIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoaXRlbShpKS0+Y3NzVGV4dCgp
KTsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgnXG4nKTsKKyAgICB9CisKKyAgICByZXN1bHQuYXBw
ZW5kKCd9Jyk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCit1bnNpZ25lZCBD
U1NIb3N0UnVsZTo6bGVuZ3RoKCkgY29uc3QKK3sgCisgICAgcmV0dXJuIG1faG9zdFJ1bGUtPmNo
aWxkUnVsZXMoKS5zaXplKCk7IAorfQorCitDU1NSdWxlKiBDU1NIb3N0UnVsZTo6aXRlbSh1bnNp
Z25lZCBpbmRleCkgY29uc3QKK3sgCisgICAgaWYgKGluZGV4ID49IGxlbmd0aCgpKQorICAgICAg
ICByZXR1cm4gMDsKKyAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9
PSBtX2hvc3RSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKyAgICBSZWZQdHI8Q1NTUnVsZT4m
IHJ1bGUgPSBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdOworICAgIGlmICghcnVsZSkK
KyAgICAgICAgcnVsZSA9IG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKVtpbmRleF0tPmNyZWF0ZUNT
U09NV3JhcHBlcihjb25zdF9jYXN0PENTU0hvc3RSdWxlKj4odGhpcykpOworICAgIHJldHVybiBy
dWxlLmdldCgpOworfQorCitDU1NSdWxlTGlzdCogQ1NTSG9zdFJ1bGU6OmNzc1J1bGVzKCkgY29u
c3QKK3sKKyAgICBpZiAoIW1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpCisgICAgICAgIG1fcnVsZUxp
c3RDU1NPTVdyYXBwZXIgPSBhZG9wdFB0cihuZXcgTGl2ZUNTU1J1bGVMaXN0PENTU0hvc3RSdWxl
Pihjb25zdF9jYXN0PENTU0hvc3RSdWxlKj4odGhpcykpKTsKKyAgICByZXR1cm4gbV9ydWxlTGlz
dENTU09NV3JhcHBlci5nZXQoKTsKK30KKwordm9pZCBDU1NIb3N0UnVsZTo6cmVhdHRhY2goU3R5
bGVSdWxlQmFzZSogcnVsZSkKK3sKKyAgICBBU1NFUlQocnVsZSk7CisgICAgQVNTRVJUKHJ1bGUt
PmlzSG9zdFJ1bGUoKSk7CisgICAgbV9ob3N0UnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVsZUhv
c3QqPihydWxlKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NP
TVdyYXBwZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3Jh
cHBlcnNbaV0pCisgICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnJlYXR0
YWNoKG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKVtpXS5nZXQoKSk7CisgICAgfQorfQorCit2b2lk
IENTU0hvc3RSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlP
YmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVj
dEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKKyAgICBDU1NSdWxlOjpyZXBv
cnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2No
aWxkUnVsZUNTU09NV3JhcHBlcnMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcnVsZUxpc3RDU1NP
TVdyYXBwZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFC
TEUoU0hBRE9XX0RPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVs
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTMxNDcw
NzQ2Mzk2MDk3ODBlNjlkZjRiN2IwN2RiYzQxZWVhNzRkNwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiAo
QykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAoQykgMjAwMi0yMDAz
IERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAyLCAy
MDA2LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHly
aWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBUaGlz
IGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29y
CisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFs
IFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3Vy
IG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9V
VCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICog
TUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2Vl
IHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRh
aWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5
OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJl
ZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZs
b29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDU1NI
b3N0UnVsZV9oCisjZGVmaW5lIENTU0hvc3RSdWxlX2gKKworI2luY2x1ZGUgIkNTU1J1bGUuaCIK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisKK2NsYXNz
IENTU1J1bGVMaXN0OworY2xhc3MgU3R5bGVSdWxlSG9zdDsKKworY2xhc3MgQ1NTSG9zdFJ1bGUg
OiBwdWJsaWMgQ1NTUnVsZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSG9z
dFJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGVIb3N0KiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkg
eyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0hvc3RSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KKworICAg
IHZpcnR1YWwgfkNTU0hvc3RSdWxlKCk7CisKKyAgICB2aXJ0dWFsIENTU1J1bGU6OlR5cGUgdHlw
ZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIEhPU1RfUlVMRTsgfQorICAgIHZpcnR1YWwgdm9p
ZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikgT1ZFUlJJREU7CisgICAgdmlydHVhbCB2b2lkIHJl
cG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKKyAgICB2
aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKKyAgICBDU1NSdWxlTGlz
dCogY3NzUnVsZXMoKSBjb25zdDsKKworICAgIHVuc2lnbmVkIGluc2VydFJ1bGUoY29uc3QgU3Ry
aW5nJiBydWxlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgZGVs
ZXRlUnVsZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOworICAgICAgICAKKyAgICAv
LyBGb3IgQ1NTUnVsZUxpc3QKKyAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKKyAgICBDU1NS
dWxlKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NIb3N0
UnVsZShTdHlsZVJ1bGVIb3N0KiwgQ1NTU3R5bGVTaGVldCopOworICAgIAorICAgIFJlZlB0cjxT
dHlsZVJ1bGVIb3N0PiBtX2hvc3RSdWxlOworICAgIG11dGFibGUgVmVjdG9yPFJlZlB0cjxDU1NS
dWxlPiA+IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyczsKKyAgICBtdXRhYmxlIE93blB0cjxDU1NS
dWxlTGlzdD4gbV9ydWxlTGlzdENTU09NV3JhcHBlcjsKK307CisKKyNlbmRpZiAvLyBFTkFCTEUo
U0hBRE9XX0RPTSkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTSG9z
dFJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTk1Nzk3OGFh
NDM2ZWU5NWFlZjM3ZWM1YWQyMGYyMDY0YTE0MTNmZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisK
Ky8vIEludHJvZHVjZWQgaW4gU2hhZG93IERPTSBzcGVjOgorWworICAgIENvbmRpdGlvbmFsPVNI
QURPV19ET00sCisgICAgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTQorXSBpbnRlcmZhY2Ug
Q1NTSG9zdFJ1bGUgOiBDU1NSdWxlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxp
c3QgY3NzUnVsZXM7CisgICAgCisgICAgdW5zaWduZWQgbG9uZyAgICAgIGluc2VydFJ1bGUoaW4g
W09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHJ1bGUsIAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
IHZvaWQgICAgICAgICAgICAgICBkZWxldGVSdWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24p
OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggMDc1OGU3NGY4MTUwYTk3OTRlYTFjYjgzODEx
MjYxMTE0NGYzMjA2Ny4uMTJmZjVkMDcyMDMxMzc0Zjg4YjU0OTY4MWM1NTI4NWI2YjBjOWM1NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUnVsZS5oCkBAIC01NCw3ICs1NCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIFdF
QktJVF9WSUVXUE9SVF9SVUxFID0gMTUsCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMp
Ci0gICAgICAgIFdFQktJVF9SRUdJT05fUlVMRSA9IDE2CisgICAgICAgIFdFQktJVF9SRUdJT05f
UlVMRSA9IDE2LAorI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIEhPU1Rf
UlVMRSA9IDEwMDEsCiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKaW5kZXgg
YWYxMThmZTcyYjliODA3NGY3ZDYwODJkMDkzZTI3MGNmZjJiMTA2OC4uZDUwNGUwYzBlYWU5ZDgw
ODkzMTUwOTFjZjZjOTJiOWEwODhiZmFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbApAQCAtNDMs
NiArNDMsOSBAQAogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19SRUdJT05TKSAmJiBFTkFCTEVfQ1NT
X1JFR0lPTlMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfUkVHSU9OX1JVTEUgPSAx
NjsKICNlbmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFE
T1dfRE9NCisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSE9TVF9SVUxFID0gMTAwMTsKKyNlbmRp
ZgogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgdHlwZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IGRjOTFiZTYxYWEyN2RmYTFjMjc1MTM5
Yzg1ZTJhNGQ1MzkwMzVlMjYuLjFkODI0Yzg0NmY2Y2Q1ZTliOTVkMjllN2RjOGQzZTAzNTY3ZTBk
YjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAK
ICNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VS
dWxlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1
bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENv
bnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgpAQCAtMjYzMiw2ICsyNjMz
LDExIEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RDU1NPTVdyYXBwZXJzKEhhc2hNYXA8U3R5bGVSdWxl
KiwgUmVmUHRyPENTU1N0eWxlUnVsZT4gPiYgd3JhCiAgICAgICAgICAgICBjb2xsZWN0Q1NTT01X
cmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oY3Nz
UnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RP
TSkKKyAgICAgICAgY2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6CisgICAgICAgICAgICBjb2xsZWN0
Q1NTT01XcmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxDU1NIb3N0UnVsZSo+KGNzc1J1
bGUpKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6
U1RZTEVfUlVMRToKICAgICAgICAgICAgIHdyYXBwZXJNYXAuYWRkKHN0YXRpY19jYXN0PENTU1N0
eWxlUnVsZSo+KGNzc1J1bGUpLT5zdHlsZVJ1bGUoKSwgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxl
Kj4oY3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3Bw
CmluZGV4IDQzZTZhNWUxMzc2ODBjYzJkMWM2YWMzMDE5M2RmZTY1NjY2MjMwMjAuLmZkYzVkYzRm
NDg3ZTcyNGRkYWJhMGQ1MGZiMDA0NTQzMWMxZjczZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJDU1NDaGFyc2V0UnVsZS5oIgogI2lu
Y2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCiAjaW5j
bHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1
ZGUgIkNTU1BhZ2VSdWxlLmgiCkBAIC00NSw2ICs0NiwxNCBAQCBzdHJ1Y3QgU2FtZVNpemVBc1N0
eWxlUnVsZUJhc2UgOiBwdWJsaWMgV1RGOjpSZWZDb3VudGVkQmFzZSB7CiAKIENPTVBJTEVfQVNT
RVJUKHNpemVvZihTdHlsZVJ1bGVCYXNlKSA9PSBzaXplb2YoU2FtZVNpemVBc1N0eWxlUnVsZUJh
c2UpLCBTdHlsZVJ1bGVCYXNlX3Nob3VsZF9zdGF5X3NtYWxsKTsKIAorI2lmIEVOQUJMRShTSEFE
T1dfRE9NKQorU3R5bGVSdWxlQmFzZTo6VHlwZSBTdHlsZVJ1bGVCYXNlOjpyYXJlVHlwZSgpIGNv
bnN0Cit7CisgICAgQVNTRVJUKG1fdHlwZSA9PSBSYXJlKTsKKyAgICByZXR1cm4gc3RhdGljX2Nh
c3Q8Y29uc3QgU3R5bGVSYXJlUnVsZUJsb2NrKj4odGhpcyktPnJhcmVUeXBlKCk7Cit9CisjZW5k
aWYKKwogUGFzc1JlZlB0cjxDU1NSdWxlPiBTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBw
ZXIoQ1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQpIGNvbnN0CiB7CiAgICAgcmV0dXJuIGNyZWF0
ZUNTU09NV3JhcHBlcihwYXJlbnRTaGVldCwgMCk7CkBAIC04Myw3ICs5Miw3IEBAIHZvaWQgU3R5
bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2Jq
ZWN0SW5mbykgY29uc3QKICAgICAgICAgcmV0dXJuOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQog
ICAgIGNhc2UgSG9zdDoKLSAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sq
Pih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwor
ICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJuOwog
I2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKQEAgLTk3LDYgKzEwNiw5
IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICNpZiAhRU5BQkxFKENTU19SRUdJT05TKQogICAg
IGNhc2UgUmVnaW9uOgogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgY2FzZSBS
YXJlOgorI2VuZGlmCiAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgICAgICByZXR1
cm47CiAgICAgfQpAQCAtMTQ1LDYgKzE1Nyw5IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVzdHJv
eSgpCiAjaWYgIUVOQUJMRShDU1NfUkVHSU9OUykKICAgICBjYXNlIFJlZ2lvbjoKICNlbmRpZgor
I2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIGNhc2UgUmFyZToKKyNlbmRpZgogICAgICAgICBB
U1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KQEAgLTE4Niw2ICsy
MDEsOSBAQCBQYXNzUmVmUHRyPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBj
b25zdAogI2lmICFFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2FzZSBSZWdpb246CiAjZW5kaWYK
KyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICBjYXNlIFJhcmU6CisjZW5kaWYKICAgICAgICAg
QVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgICAgIHJldHVybiAwOwogICAgIH0KQEAgLTIyOCw4
ICsyNDYsNyBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09N
V3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogI2VuZGlmCiAjaWYgRU5BQkxFKFNI
QURPV19ET00pCiAgICAgY2FzZSBIb3N0OgotICAgICAgICAvLyBGSVhNRTogVGhlIGN1cnJlbnQg
Q1NTT00gZWRpdG9yJ3MgZHJhZnQgKGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLykgZG9l
cyBub3QgaGFuZGxlIEBob3N0IHJ1bGVzIChzZWUgYnVnIDEwMjM0NCkuCi0gICAgICAgIHJ1bGUg
PSBhZG9wdFJlZihuZXcgQ1NTVW5rbm93blJ1bGUoKSk7CisgICAgICAgIHJ1bGUgPSBDU1NIb3N0
UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUhvc3QqPihzZWxmKSwgcGFyZW50U2hl
ZXQpOwogICAgICAgICBicmVhazsKICNlbmRpZgogICAgIGNhc2UgVW5rbm93bjoKQEAgLTIzOCw2
ICsyNTUsOSBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09N
V3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogI2lmICFFTkFCTEUoQ1NTX1JFR0lP
TlMpCiAgICAgY2FzZSBSZWdpb246CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAg
ICBjYXNlIFJhcmU6CisjZW5kaWYKICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAg
ICAgIHJldHVybiAwOwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaAppbmRleCA0ZWY3NjQyODM4
OGIxYzQ3MmUxMzkxYzM5MWIyM2E4NjgxZmMxNjM1Li4zNjExZWVhZmJlYWFkNWYzZmM2MzBiYTNk
OTIwZjk2NjgxY2Y1OTFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxl
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCkBAIC00NiwxNSArNDYsMjcg
QEAgcHVibGljOgogICAgICAgICBQYWdlLAogICAgICAgICBLZXlmcmFtZXMsCiAgICAgICAgIEtl
eWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhlc2UgYXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVL
ZXlmcmFtZSBvYmplY3RzLgotI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgICAgICBIb3N0LAot
I2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICAgICAgVmlld3Bv
cnQgPSAxNSwKICNlbmRpZgotICAgICAgICBSZWdpb24gPSAxNgorICAgICAgICBSZWdpb24gPSAx
NiwKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgUmFyZSA9IDMxLAorICAgICAgICBI
b3N0ID0gMTAwMSwKKyNlbmRpZgogICAgIH07Ci0gICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1
cm4gc3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQorCisgICAgVHlwZSB0eXBlKCkgY29uc3QK
KyAgICB7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIHJldHVybiBtX3R5cGUgIT0g
UmFyZSA/IHN0YXRpY19jYXN0PFR5cGU+KG1fdHlwZSkgOiByYXJlVHlwZSgpOworI2Vsc2UKKyAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFR5cGU+KG1fdHlwZSk7CisjZW5kaWYKKyAgICB9Cisj
aWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgVHlwZSByYXJlVHlwZSgpIGNvbnN0OworI2VuZGlm
CiAgICAgCiAgICAgYm9vbCBpc0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09
IENoYXJzZXQ7IH0KICAgICBib29sIGlzRm9udEZhY2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlw
ZSgpID09IEZvbnRGYWNlOyB9CkBAIC0yMzYsNyArMjQ4LDE5IEBAIHByaXZhdGU6CiB9OwogCiAj
aWYgRU5BQkxFKFNIQURPV19ET00pCi1jbGFzcyBTdHlsZVJ1bGVIb3N0IDogcHVibGljIFN0eWxl
UnVsZUJsb2NrIHsKK2NsYXNzIFN0eWxlUmFyZVJ1bGVCbG9jayA6IHB1YmxpYyBTdHlsZVJ1bGVC
bG9jayB7CitwdWJsaWM6CisgICAgVHlwZSByYXJlVHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRp
Y19jYXN0PFR5cGU+KG1fcmFyZVR5cGUpOyB9CisKK3Byb3RlY3RlZDoKKyAgICBTdHlsZVJhcmVS
dWxlQmxvY2soVHlwZSB0eXBlLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0
UnVsZSkgOiBTdHlsZVJ1bGVCbG9jayhSYXJlLCBhZG9wdFJ1bGUpLCBtX3JhcmVUeXBlKHR5cGUp
IHsgfQorICAgIFN0eWxlUmFyZVJ1bGVCbG9jayhjb25zdCBTdHlsZVJhcmVSdWxlQmxvY2smIG8p
IDogU3R5bGVSdWxlQmxvY2sobyksIG1fcmFyZVR5cGUoby5tX3JhcmVUeXBlKSB7IH0KKworcHJp
dmF0ZToKKyAgICB1bnNpZ25lZCBzaG9ydCBtX3JhcmVUeXBlOworfTsKKworY2xhc3MgU3R5bGVS
dWxlSG9zdCA6IHB1YmxpYyBTdHlsZVJhcmVSdWxlQmxvY2sgewogcHVibGljOgogICAgIHN0YXRp
YyBQYXNzUmVmUHRyPFN0eWxlUnVsZUhvc3Q+IGNyZWF0ZShWZWN0b3I8UmVmUHRyPFN0eWxlUnVs
ZUJhc2U+ID4mIGFkb3B0UnVsZXMpCiAgICAgewpAQCAtMjQ2LDggKzI3MCw4IEBAIHB1YmxpYzoK
ICAgICBQYXNzUmVmUHRyPFN0eWxlUnVsZUhvc3Q+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9w
dFJlZihuZXcgU3R5bGVSdWxlSG9zdCgqdGhpcykpOyB9CiAKIHByaXZhdGU6Ci0gICAgU3R5bGVS
dWxlSG9zdChWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpIDogU3R5
bGVSdWxlQmxvY2soSG9zdCwgYWRvcHRSdWxlcykgeyB9Ci0gICAgU3R5bGVSdWxlSG9zdChjb25z
dCBTdHlsZVJ1bGVIb3N0JiBvKSA6IFN0eWxlUnVsZUJsb2NrKG8pIHsgfQorICAgIFN0eWxlUnVs
ZUhvc3QoVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBhZG9wdFJ1bGVzKSA6IFN0eWxl
UmFyZVJ1bGVCbG9jayhIb3N0LCBhZG9wdFJ1bGVzKSB7IH0KKyAgICBTdHlsZVJ1bGVIb3N0KGNv
bnN0IFN0eWxlUnVsZUhvc3QmIG8pIDogU3R5bGVSYXJlUnVsZUJsb2NrKG8pIHsgfQogfTsKICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRz
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IGRj
NTIxZGYzOWMyYmQ0MzY1NjRmZjViYzg4N2QxYTNiMTBiZDdiMWIuLjQ2MmJiZTU5OWFiY2JjOTk2
NjIzYTc4ZWI1ODNhNDkyMmRkZDI0ZTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVNoZWV0Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0
Q29udGVudHMuY3BwCkBAIC00NTAsNiArNDUwLDkgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hh
dmVGYWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUK
ICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCiAgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6
SW1wb3J0OgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgICAgICBjYXNlIFN0eWxlUnVsZUJh
c2U6OlJhcmU6CisjZW5kaWYKICAgICAgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAg
ICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6OlBhZ2U6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFz
ZTo6S2V5ZnJhbWVzOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDE0Y2VlOGU3MmE5
MzJkZTQ1NDFhZTBlMWFmZDIzZGJlYjNhNGZjYjQuLjExNWZlMDA0NDBmNjRjNDkwZmY3Y2RjZTBi
MGU4OWY4NmE0ZWFlNWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTM1Niw2ICsz
NTYsOSBAQAogICAgIGF0dHJpYnV0ZSBDU1NSdWxlQ29uc3RydWN0b3IgQ1NTUnVsZTsKICAgICBh
dHRyaWJ1dGUgQ1NTQ2hhcnNldFJ1bGVDb25zdHJ1Y3RvciBDU1NDaGFyc2V0UnVsZTsKICAgICBh
dHRyaWJ1dGUgQ1NTRm9udEZhY2VSdWxlQ29uc3RydWN0b3IgQ1NTRm9udEZhY2VSdWxlOworI2lm
IGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFET1dfRE9NCisgICAgYXR0
cmlidXRlIENTU0hvc3RSdWxlQ29uc3RydWN0b3IgQ1NTSG9zdFJ1bGU7CisjZW5kaWYKICAgICBh
dHRyaWJ1dGUgQ1NTSW1wb3J0UnVsZUNvbnN0cnVjdG9yIENTU0ltcG9ydFJ1bGU7CiAgICAgYXR0
cmlidXRlIENTU01lZGlhUnVsZUNvbnN0cnVjdG9yIENTU01lZGlhUnVsZTsKICAgICBhdHRyaWJ1
dGUgQ1NTUGFnZVJ1bGVDb25zdHJ1Y3RvciBDU1NQYWdlUnVsZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA1OTgyYTdkMDQ3
Y2U2YzE5YmM4ZDg3MTBkYjgxOWZkYmQ0ZWM2NjViLi4yYzQzOWRkMWVlMTJkZjFmNmZiMmU1ZGRl
YTVkNTU0ZTViNmIzNDIxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTItMTItMTIgIFRha2Fz
aGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1NI
b3N0UnVsZSBmb3IgQGhvc3QgQC1ydWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMjM0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxl
LWFwaS5odG1sOiBBZGRlZC4KKwogMjAxMi0xMi0xMyAgUmljayBCeWVycyAgPHJieWVyc0BjaHJv
bWl1bS5vcmc+CiAKICAgICAgICAgTGF5b3V0IFRlc3QgZmFzdC9ldmVudHMvbW91c2UtY3Vyc29y
LWltYWdlLXNldC5odG1sIGlzIGZsYWt5CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0
L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMTRl
M2JiN2Y3YWYyNDk0MDZkZDE3Mzg5Njg0OThjMjQyOGY0YzM3NAotLS0gL2Rldi9udWxsCisrKyBi
L0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4cGVjdGVkLnR4
dApAQCAtMCwwICsxLDI4IEBACitUZXN0IHdoZXRoZXIgQ1NTSG9zdFJ1bGUgQVBJIHdvcmtzIGNv
cnJlY3RseSBvciBub3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAi
UEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitCZWZvcmUg
aW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMCwgMCkiCitQQVNTIGhvc3RS
dWxlLmNzc1J1bGVzLmxlbmd0aCBpcyAwCitBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSB3
aXRoIGFuIGlkIHNlbGVjdG9yIGludG8gQGhvc3QgQC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShob3N0KS5ib3JkZXJDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQQVNTIGhvc3RSdWxl
LmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIGhvc3RSdWxlLmNzc1RleHQgaXMgIkBob3N0IHsg
XG4gICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3Nz
UnVsZXNbMF0uY3NzVGV4dCBpcyAiI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IgorQWZ0
ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhIHRhZyBzZWxlY3RvciBpbnRvIEBob3N0
IEAtcnVsZXM6CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJn
YigwLCAxMjgsIDApIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMgorUEFTUyBo
b3N0UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7IFxuICAjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3Jl
ZW47IH1cbiAgZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9XG59IgorUEFTUyBob3N0UnVsZS5j
c3NSdWxlc1swXS5jc3NUZXh0IGlzICIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iCitQ
QVNTIGhvc3RSdWxlLmNzc1J1bGVzWzFdLmNzc1RleHQgaXMgImRpdiB7IGJvcmRlci1jb2xvcjog
Ymx1ZTsgfSIKK0FmdGVyIGRlbGV0aW5nIHRoZSBib3JkZXIgcnVsZSB3aXRoIGFuIGlkIHNlbGVj
dG9yIGZyb20gQGhvc3QgQC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3Jk
ZXJDb2xvciBpcyAicmdiKDAsIDAsIDI1NSkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0
aCBpcyAxCitQQVNTIGhvc3RSdWxlLmNzc1RleHQgaXMgIkBob3N0IHsgXG4gIGRpdiB7IGJvcmRl
ci1jb2xvcjogYmx1ZTsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCBp
cyAiZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQg
aXMgdHJ1ZQorCitURVNUIENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
ZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9z
aGFkb3cvY3NzLWhvc3RydWxlLWFwaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1NDNlNDE2YjY0OGNiZmM3
MDY3MjkwNTFjMTc4Njk0MjBmYTdiZTEKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS5odG1sCkBAIC0wLDAgKzEsNDcgQEAKKzwh
ZG9jdHlwZSBodG1sPgorPGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9s
eWZpbGwuanMiPjwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10
ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBpZD0iaG9zdCI+
VGhpcyBkaXYgaXMgYSBzaGFkb3cgaG9zdC48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitkZXNj
cmlwdGlvbigiVGVzdCB3aGV0aGVyIENTU0hvc3RSdWxlIEFQSSB3b3JrcyBjb3JyZWN0bHkgb3Ig
bm90LiIpOwordmFyIGhvc3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwordmFy
IHNoYWRvd1Jvb3QgPSBob3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3NoYWRvd1Jvb3Qu
aW5uZXJIVE1MID0gJzxzdHlsZSBpZD0ic3R5bGUxIj5AaG9zdCB7fTwvc3R5bGU+PGRpdj5TaGFk
b3cgVGV4dDwvZGl2Pic7CisgIAorZGVidWcoIkJlZm9yZSBpbnNlcnRpbmcgYSBib3JkZXIgcnVs
ZSBpbnRvIEBob3N0IEAtcnVsZXM6Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShob3N0
KS5ib3JkZXJDb2xvciIsICcicmdiKDAsIDAsIDApIicpOworCit2YXIgc3R5bGVTaGVldCA9IHNo
YWRvd1Jvb3QuZ2V0RWxlbWVudEJ5SWQoJ3N0eWxlMScpLnNoZWV0OwordmFyIGhvc3RSdWxlID0g
c3R5bGVTaGVldC5jc3NSdWxlc1swXTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5n
dGgiLCAnMCcpOworICAKK2RlYnVnKCJBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSB3aXRo
IGFuIGlkIHNlbGVjdG9yIGludG8gQGhvc3QgQC1ydWxlczoiKTsKK2hvc3RSdWxlLmluc2VydFJ1
bGUoIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSIsIGhvc3RSdWxlLmNzc1J1bGVzLmxl
bmd0aCk7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciIsICci
cmdiKDAsIDEyOCwgMCkiJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIiwg
JzEnKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NUZXh0IiwgJyJAaG9zdCB7IFxcbiAgI2hvc3Qg
eyBib3JkZXItY29sb3I6IGdyZWVuOyB9XFxufSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NS
dWxlc1swXS5jc3NUZXh0IiwgJyIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iJyk7CisK
K2RlYnVnKCJBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSB3aXRoIGEgdGFnIHNlbGVjdG9y
IGludG8gQGhvc3QgQC1ydWxlczoiKTsKK2hvc3RSdWxlLmluc2VydFJ1bGUoImRpdiB7IGJvcmRl
ci1jb2xvcjogYmx1ZTsgfSIsIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCk7CitzaG91bGRCZSgi
Z2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciIsICcicmdiKDAsIDEyOCwgMCkiJyk7
CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzInKTsKK3Nob3VsZEJlKCJo
b3N0UnVsZS5jc3NUZXh0IiwgJyJAaG9zdCB7IFxcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdy
ZWVuOyB9XFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1cXG59IicpOworc2hvdWxkQmUo
Imhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQiLCAnIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBn
cmVlbjsgfSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlc1sxXS5jc3NUZXh0IiwgJyJk
aXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iJyk7CisKK2RlYnVnKCJBZnRlciBkZWxldGluZyB0
aGUgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBmcm9tIEBob3N0IEAtcnVsZXM6Iik7
Citob3N0UnVsZS5kZWxldGVSdWxlKDApOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9z
dCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAwLCAyNTUpIicpOworc2hvdWxkQmUoImhvc3RSdWxl
LmNzc1J1bGVzLmxlbmd0aCIsICcxJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICci
QGhvc3QgeyBcXG4gIGRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfVxcbn0iJyk7CitzaG91bGRC
ZSgiaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCIsICciZGl2IHsgYm9yZGVyLWNvbG9yOiBi
bHVlOyB9IicpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMv
anMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181624</attachid>
            <date>2013-01-07 19:44:25 -0800</date>
            <delta_ts>2013-01-08 02:30:42 -0800</delta_ts>
            <desc>WIP</desc>
            <filename>bug-102344-20130108124129.patch</filename>
            <type>text/plain</type>
            <size>42058</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNmZTI3MTM2NzYyYzAx
MGU1NjFiNTQ0ZGE2NDhmMzIyZmU4ZGZlMS4uYjlhNDgyZWUxZDk1M2ZjODY4OGZiNDU0ZWM5ZTA5
YWYyZDJjMWYyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDEzLTAxLTA3ICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NT
SG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBDU1NIb3N0UnVsZSBpcyBkZWZpbmVkIGluIFNoYWRvdyBET00g
c3BlYzoKKyAgICAgICAgaHR0cDovL2R2Y3MudzMub3JnL2hnL3dlYmNvbXBvbmVudHMvcmF3LWZp
bGUvdGlwL3NwZWMvc2hhZG93L2luZGV4Lmh0bWwjY3NzLWhvc3QtcnVsZS1pbnRlcmZhY2UKKyAg
ICAgICAgVG8gc2VlIG9yIHRvIG1vZGlmeSBAaG9zdCBALXJ1bGVzIGJ5IHVzaW5nIGluc3BlY3Rv
ciwgd2UgbmVlZCB0bworICAgICAgICBpbXBsZW1lbnQgQ1NTSG9zdFJ1bGUgaW50ZXJmYWNlLgor
CisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKKwor
ICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
LnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFdlYkNvcmUu
Z3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogYmluZGluZ3Mv
anMvSlNDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAg
ICAqIGJpbmRpbmdzL29iamMvRE9NQ1NTLm1tOgorICAgICAgICAoa2l0Q2xhc3MpOgorICAgICAg
ICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6d3JhcCk6CisgICAgICAgICogY3NzL0NTU0FsbEluT25lLmNwcDoKKyAgICAgICAgKiBj
c3MvQ1NTSG9zdFJ1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAo
V2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U0hvc3RSdWxlOjp+Q1NTSG9zdFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6
Omluc2VydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmRlbGV0ZVJ1bGUp
OgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmNzc1RleHQpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTSG9zdFJ1bGU6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVs
ZTo6aXRlbSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3NzUnVsZXMpOgorICAg
ICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6
OkNTU0hvc3RSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgICogY3NzL0NTU0hvc3RS
dWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NIb3N0UnVsZSk6
CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3JlYXRlKToKKyAgICAgICAgKiBjc3Mv
Q1NTSG9zdFJ1bGUuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAg
ICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6Cisg
ICAgICAgIChXZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFwcGVycyk6CisgICAgICAgICogY3NzL1N0
eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpyZXBvcnRNZW1v
cnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KToKKyAg
ICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNvcHkpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKToKKyAgICAgICAgKiBjc3MvU3R5bGVS
dWxlLmg6CisgICAgICAgIEFkZGVkIEhvc3RJbnRlcm5hbCg9MTcpLiBTaGFkb3cgRE9NIHNwZWMg
c2F5cyBIb3N0IHR5cGUgaXMgMTAwMS4KKyAgICAgICAgSG93ZXZlciB3ZSBjYW4gdXNlIG9ubHkg
NSBiaXQgZm9yIHR5cGUuIFNvIGludGVybmFsbHkgdXNlIDE3IGZvcgorICAgICAgICBIb3N0IHJ1
bGUuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjppc0hvc3RSdWxlKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUnVsZUhvc3Q6OlN0eWxlUnVsZUhvc3QpOgorICAgICAgICAqIGNz
cy9TdHlsZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2hpbGRSdWxlc0hh
dmVGYWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKToKKyAgICAgICAgKiBwYWdlL0RPTVdpbmRv
dy5pZGw6CisKIDIwMTMtMDEtMDcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAog
ICAgICAgICBIVE1MVHJlZUJ1aWxkZXIgc2hvdWxkIG5vdCBkZXBlbmQgb24gRnJhbWUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01h
a2VMaXN0cy50eHQKaW5kZXggOGU2NGEzZjRhODhlZDBjNDM1ZWZiODAxMTcwMWNkYWQ1MDZkN2I2
OC4uYTU2NmIxMmQ0OTFhM2I0NzcxOGRiNzkxMTVmZjc3YWUxMmI1YTc5YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VM
aXN0cy50eHQKQEAgLTMxMiw2ICszMTIsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBj
c3MvQ291bnRlci5pZGwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsCiAgICAgY3NzL0NTU0Zv
bnRGYWNlUnVsZS5pZGwKKyAgICBjc3MvQ1NTSG9zdFJ1bGUuaWRsCiAgICAgY3NzL0NTU0ltcG9y
dFJ1bGUuaWRsCiAgICAgY3NzL0NTU01lZGlhUnVsZS5pZGwKICAgICBjc3MvQ1NTUGFnZVJ1bGUu
aWRsCkBAIC0xMDMxLDYgKzEwMzIsNyBAQCBzZXQoV2ViQ29yZV9TT1VSQ0VTCiAgICAgY3NzL0NT
U0ZvbnRTZWxlY3Rvci5jcHAKICAgICBjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAKICAgICBjc3Mv
Q1NTR3JhZGllbnRWYWx1ZS5jcHAKKyAgICBjc3MvQ1NTSG9zdFJ1bGUuY3BwCiAgICAgY3NzL0NT
U0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCiAgICAgY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwCiAg
ICAgY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXgg
YTNkN2YyOTFkZWIxNzE3NDJjZTJlMGU0Zjc4ZGY5YWZlOGNiYmI1NC4uMDdlM2ZhNmQ1NGY4NDll
ODc4YjNhOWNjODU0Nzk4MDM5NDJhNzQxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApA
QCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkpTQ3J5cHRvLmNwcCIKICNpbmNsdWRlICJKU0NT
U0NoYXJzZXRSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU0ZvbnRGYWNlUnVsZS5jcHAiCisjaW5j
bHVkZSAiSlNDU1NIb3N0UnVsZS5jcHAiCiAjaW5jbHVkZSAiSlNDU1NJbXBvcnRSdWxlLmNwcCIK
ICNpbmNsdWRlICJKU0NTU01lZGlhUnVsZS5jcHAiCiAjaW5jbHVkZSAiSlNDU1NQYWdlUnVsZS5j
cHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291
cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBlNDkwNTE5NzZiNzUwYTViMDhl
ZjJmZGQ1M2Y4ZGFkMzU3YjAyNGNhLi45ODM2MjlhZDA1YTI0ZWFmMTRlZTM2NGQzYzBlNjlkZDQ1
YTE5YjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTE2OSw2ICsxNjksNyBA
QCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1bGVzL3dlYnNvY2tldHMvV29y
a2VyQ29udGV4dFdlYlNvY2tldC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU0NoYXJzZXRS
dWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAg
JChXZWJDb3JlKS9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NJ
bXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTTWVkaWFSdWxlLmlkbCBcCiAg
ICAgJChXZWJDb3JlKS9jc3MvQ1NTUGFnZVJ1bGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LnByaQppbmRleCBlYmQ0MDM0ZWFkMTg3N2Y5YjE3MmM4NWYzYzJmNzU0MTA3ZGFlNzgxLi44MTg5
YTg0OWI4OWY0ZGFmNzkyNDdlODcyMDJiMGZlNmFlNmY3MzlkIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNv
dXJjZXMucHJpCkBAIC0xODksNiArMTg5LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBX
RC9jc3MvQ291bnRlci5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAog
ICAgICQkUFdEL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKyAgICAkJFBXRC9jc3MvQ1NTSG9z
dFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogICAgICQkUFdE
L2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTUGFnZVJ1bGUuaWRsIFwK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2Uv
V2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDAxNmI5YjY2M2UzNGRlMDE0MWZiZmJh
YjAxYjA2ODc1ZTMwZTliYmYuLmRjNzA1MmZlOGM2NjdlNzJmM2E1YjI3N2RiOGE2OTlhOTdkYWU5
NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KKysrIGIv
U291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAtMTEzLDYgKzExMyw4IEBAIHdl
YmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0No
YXJzZXRSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5jcHAgXAorCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
SW1wb3J0UnVsZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NJbXBvcnRSdWxl
LmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRpYVJ1bGUuY3BwIFwKQEAgLTEz
MTgsNiArMTMyMCw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvTW9kdWxl
cy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJTb2NrZXQuaWRsIFwKIAkkKFdlYkNvcmUpL2Nz
cy9DU1NDaGFyc2V0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5p
ZGwgXAorCSQoV2ViQ29yZSkvY3NzL0NTU0hvc3RSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9jc3Mv
Q1NTSW1wb3J0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU01lZGlhUnVsZS5pZGwgXAog
CSQoV2ViQ29yZSkvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCkBAIC0yNTM2LDYgKzI1MzksOCBAQCB3
ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFkaWVudFZhbHVl
LmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUuaCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL0NTU0hlbHBlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1
bGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VTZXRWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBp
IGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCmluZGV4IDg2Zjg2MjAxNTAzNWI5OTk1ZWMy
MWFmMTJiMzlkNjlkOWZiNDZhYWUuLjMwMjMyMzQ4YjU3ZTZmNWI1N2JiNDBlODhiNWMxODQyMWVh
N2I1NjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKQEAgLTE2MCw2ICsxNjAsNyBAQAogICAgICAgICAgICAg
J01vZHVsZXMvd2Vic29ja2V0cy9Xb3JrZXJDb250ZXh0V2ViU29ja2V0LmlkbCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ZvbnRG
YWNlUnVsZS5pZGwnLAorICAgICAgICAgICAgJ2Nzcy9DU1NIb3N0UnVsZS5pZGwnLAogICAgICAg
ICAgICAgJ2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU01lZGlh
UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NQYWdlUnVsZS5pZGwnLApAQCAtMTQ2NSw2
ICsxNDY2LDggQEAKICAgICAgICAgICAgICdjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5oJywKICAgICAg
ICAgICAgICdjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NH
cmFkaWVudFZhbHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NIb3N0UnVsZS5jcHAnLAorICAg
ICAgICAgICAgJ2Nzcy9DU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1hZ2VH
ZW5lcmF0b3JWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNw
cCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltYWdlVmFsdWUuY3BwJywKQEAgLTU1NTAsNiArNTU1
Myw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9ET01DU1NDaGFyc2V0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxlLm1tJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0ZvbnRG
YWNlUnVsZUludGVybmFsLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvRE9NQ1NTSG9zdFJ1bGUubW0nLAorICAgICAgICAgICAgJzwoUFJPRFVD
VF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSG9zdFJ1bGVJbnRlcm5hbC5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNT
U0ltcG9ydFJ1bGUubW0nLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvRE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwo
UFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTTWVkaWFSdWxlLm1tJywK
QEAgLTYxMDgsNiArNjExMyw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJP
RFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuY3BwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Rm9udEZhY2VSdWxlLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5j
cHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDU1NJbXBvcnRSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRpYVJ1bGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNWI5ZGNjZjY0YjczMWE4M2FlNjU5Y2Rk
NTQ3MGUwZTYyMTQ3MTM1Ni4uNDAyNWQ2ZmY0Yzk0ZmFmNzEwNDJjMjVlMTUyM2Y5NTc2NThjNzky
MyAxMDA3NTUKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAg
LTE4NTgsNiArMTg1OCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERl
cml2ZWRTb3VyY2VzXEpTQ1NTSG9zdFJ1bGUuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0
cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgor
CQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9u
CisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVl
IgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJ
CQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJ
CQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1
ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NM
Q29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZp
bGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilc
b2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ1NTSG9zdFJ1bGUuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU0ltcG9ydFJ1
bGUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTM2MTUwLDYgKzM2MjA2
LDYyIEBACiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4u
XGNzc1xDU1NIb3N0UnVsZS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJ
CT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJ
CQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFt
ZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4K
KwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJ
PC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0i
RGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIK
KwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJ
Lz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJ
CQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZp
bGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NIb3N0UnVsZS5oIgorCQkJCT4KKwkJCTwv
RmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSW1hZ2VHZW5lcmF0
b3JWYWx1ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMwNDFjYTVm
MjdhMDA5OWNlOGVhODc5ODMwMzE0YTQ4MmM2ZDg4YjAuLmJjM2M4YTI5ZDFlZjM2NTJkYjIxYzIw
MDhkZGU5MjIzZGJjMTgxYmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0MzEsNiArNjQzMSw4IEBACiAJCUZBQkU3MkZEMTA1
OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQg
LyogTWF0aE1MRWxlbWVudEZhY3RvcnkuY3BwICovOyB9OwogCQlGQUJFNzJGRTEwNTlDMjExMDBE
OTk5REQgLyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gRkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNw
cCAqLzsgfTsKIAkJRkIyQzE1QzMxNjVENjQ5RDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50
UmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGQjJDMTVDMjE2NUQ2NDkwMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2Uu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGQjQ5
QzM5QTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOTkxNjc4NDkzMjAwN0ZGQjVEIC8q
IENTU0hvc3RSdWxlLmNwcCAqLzsgfTsKKwkJRkI0OUMzOUQxNjc4NDk0NzAwN0ZGQjVEIC8qIENT
U0hvc3RSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLzsgfTsKIAkJRkI3
OEFEMkUxNTFCRjVFNjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAv
KiBDU1NQYXJzZXJNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9u
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkyREY0
OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGQkMyMjBERjEyMzdGQkVCMDBCQ0Y3
ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBo
aWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLzsgfTsKQEAgLTEzOTkzLDYgKzEzOTk1LDkgQEAKIAkJ
RkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkFCRTcyRkMxMDU5QzIxMTAwRDk5OURE
IC8qIE1hdGhNTE5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1hdGhNTE5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkIyQzE1QzIx
NjVENjQ5MDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNDlDMzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBD
U1NIb3N0UnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NI
b3N0UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNDlDMzlDMTY3ODQ5
NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBDU1NIb3N0UnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5
RTE2Nzg0OTU0MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0
aCA9IENTU0hvc3RSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkI3OEFE
MkMxNTFCRjVEMjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gQ1NTUGFyc2VyTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFBhdGhPcGVyYXRpb24uaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBo
aWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKQEAgLTIxNTA1LDYgKzIxNTEwLDkgQEAKIAkJCQlGQ0VCQ0Q3MTE2MjNBNzkxMDAyOTk2NUUg
LyogQ1NTR3JhbW1hci55LmluICovLAogCQkJCUZDRUJDRDcyMTYyM0E3OTEwMDI5OTY1RSAvKiBD
U1NHcmFtbWFyLnkuaW5jbHVkZXMgKi8sCiAJCQkJQkM3NzJCMzYwQzRFQTkxRTAwODMyODVGIC8q
IENTU0hlbHBlci5oICovLAorCQkJCUZCNDlDMzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0
UnVsZS5jcHAgKi8sCisJCQkJRkI0OUMzOUMxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxl
LmggKi8sCisJCQkJRkI0OUMzOUUxNjc4NDk1NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAq
LywKIAkJCQlCQzIzRTc2QjBEQUU4OEE5MDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAgKi8sCiAJCQkJQkMyM0VFOTEwREFFRDJCQzAwOUZEQzkxIC8qIENTU0ltYWdlR2VuZXJh
dG9yVmFsdWUuaCAqLywKIAkJCQk5MzkzRTVGRDE1MUE5OUYyMDAwNjZGMDYgLyogQ1NTSW1hZ2VT
ZXRWYWx1ZS5jcHAgKi8sCkBAIC0yNjA1MSw2ICsyNjA1OSw3IEBACiAJCQkJRTFCRTUxMkUwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3
RTJFMEYxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUZENTM3MzUzMTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJRkI0OUMzOUQxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggaW4gSGVhZGVycyAq
LywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJ
fTsKQEAgLTI5MTgwLDYgKzI5MTg5LDcgQEAKIAkJCQlFMUJFNTEyRDBDRjZDNTEyMDAyRUE5NTkg
LyogWFNMVFVuaWNvZGVTb3J0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTk3N0UyRTBFMTJGMEZD
OUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUZENTM3MzUy
MTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQjQ5
QzM5QTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCAy
YTQ2NWRjN2RjMWVkODc2NjA3ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi5jYmViM2M2ODVkOTlmZWIw
YzE0ZDFmODhlZmNlZjkyNjA1NzEzODllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDU1NT
dHlsZVJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVkZSAiSlND
U1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJKU0NTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAi
SlNDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRl
ICJKU0NTU1BhZ2VSdWxlLmgiCkBAIC0xMDYsNiArMTA3LDExIEBAIEpTVmFsdWUgdG9KUyhFeGVj
U3RhdGUqIGV4ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENTU1J1bGUqIHJ1
bGUpCiAgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2Jh
bE9iamVjdCwgV2ViS2l0Q1NTUmVnaW9uUnVsZSwgcnVsZSk7CiAgICAgICAgICAgICBicmVhazsK
ICNlbmRpZgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgICAgICBjYXNlIENTU1J1bGU6OkhP
U1RfUlVMRToKKyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywg
Z2xvYmFsT2JqZWN0LCBDU1NIb3N0UnVsZSwgcnVsZSk7CisgICAgICAgICAgICBicmVhazsKKyNl
bmRpZgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01f
V1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIENTU1J1bGUsIHJ1bGUpOwogICAgIH0KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tIGIvU291cmNlL1dl
YkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KaW5kZXggM2MxZGE4MjMxMjE5YzZiMTQ3MTFi
OGE0NTg1MzNjYjE3YjgxMGZkYy4uZTM5MzRlYmQ0NGNmY2ViY2UxODBhZGNmZWRlM2JmNWI5Mjc5
MTJjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KQEAgLTY1LDYgKzY1
LDEwIEBACiAjaW1wb3J0ICJET01TVkdQYWludC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKKyNpbXBvcnQgIkRPTUNTU0hvc3RSdWxlLmgiCisjZW5kaWYKKwogLy8tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTVN0eWxlU2hlZXQKIApAQCAtMTA3LDYg
KzExMSwxMCBAQCBDbGFzcyBraXRDbGFzcyhXZWJDb3JlOjpDU1NSdWxlKiBpbXBsKQogICAgICAg
ICBjYXNlIERPTV9XRUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgICAgICByZXR1cm4gW0RPTVdl
YktpdENTU1JlZ2lvblJ1bGUgY2xhc3NdOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00p
CisgICAgICAgIGNhc2UgRE9NX0hPU1RfUlVMRToKKyAgICAgICAgICAgIHJldHVybiBbRE9NQ1NT
SG9zdFJ1bGUgY2xhc3NdOworI2VuZGlmCiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgp
OwogICAgIHJldHVybiBuaWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4
L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwCmluZGV4IGQxNTFjZDhiMGY1YzljNjk0Mzg4NmY3
NTJiOWQ4NjNjNmNkMTM3NmEuLmNjNDlhNmMwMTU5MTRmYjZmNmVjNDZhZDI2MWQ4MzhhYTBhNmU0
ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1
bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENT
U1J1bGVDdXN0b20uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJWOENTU0NoYXJz
ZXRSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJWOENT
U0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiVjhD
U1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRlICJWOENTU1BhZ2VSdWxlLmgiCkBAIC03OCw2ICs3OSwx
MCBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoQ1NTUnVsZSogaW1wbCwgdjg6OkhhbmRs
ZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleAogI2VuZGlmCiAgICAgY2FzZSBDU1NSdWxlOjpX
RUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PFdlYktp
dENTU1JlZ2lvblJ1bGUqPihpbXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKKyAgICBjYXNlIENTU1J1bGU6OkhPU1RfUlVMRToKKyAgICAgICAg
cmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8Q1NTSG9zdFJ1bGUqPihpbXBsKSwgY3JlYXRpb25Db250
ZXh0LCBpc29sYXRlKTsKKyNlbmRpZgogICAgIH0KICAgICByZXR1cm4gVjhDU1NSdWxlOjpjcmVh
dGVXcmFwcGVyKGltcGwsIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CiB9CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0FsbEluT25lLmNwcAppbmRleCA2YjdhOGI5ZWRmZThjYmJlNmMwMWJmYjk3NTliM2FhNDQw
NTY4ZTRkLi42ZDc3MGIzNDBjMzI3Mzg4YmI1YmIzOTczN2QyNjQ4MGE4MTBlOWRkIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKQEAgLTQxLDYgKzQxLDcgQEAKICNpbmNsdWRlICJDU1NG
b250U2VsZWN0b3IuY3BwIgogI2luY2x1ZGUgIkNTU0Z1bmN0aW9uVmFsdWUuY3BwIgogI2luY2x1
ZGUgIkNTU0dyYWRpZW50VmFsdWUuY3BwIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmNwcCIKICNp
bmNsdWRlICJDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NJbWFnZVZh
bHVlLmNwcCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9z
dFJ1bGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLmE1YTliYjYyY2Y1MDBlZjgwYTFlMDZjNGIxNzZiMjU4Yzdm
ZDVmZjkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUu
Y3BwCkBAIC0wLDAgKzEsMTc0IEBACisvKioKKyAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAo
a25vbGxAa2RlLm9yZykKKyAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtk
ZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYsIDIwMTIgQXBwbGUgQ29t
cHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Vi
a2l0Lm9yZykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkg
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhl
IExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICog
VGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1
c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1w
bGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZl
ZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFs
b25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3Qs
IHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFu
a2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0Eu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCisK
KyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKworI2luY2x1ZGUgIkNTU1BhcnNlci5oIgorI2luY2x1
ZGUgIkNTU1J1bGVMaXN0LmgiCisjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUg
IkV4Y2VwdGlvbkNvZGUuaCIKKyNpbmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJD
b3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1l
bnRhdGlvblZlY3Rvci5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKwor
bmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NIb3N0UnVsZTo6Q1NTSG9zdFJ1bGUoU3R5bGVSdWxl
SG9zdCogaG9zdFJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENTU1J1bGUocGFy
ZW50KQorICAgICwgbV9ob3N0UnVsZShob3N0UnVsZSkKKyAgICAsIG1fY2hpbGRSdWxlQ1NTT01X
cmFwcGVycyhob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkKK3sKK30KKworQ1NTSG9zdFJ1
bGU6On5DU1NIb3N0UnVsZSgpCit7CisgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
cy5zaXplKCkgPT0gbV9ob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7CisKKyAgICBmb3Ig
KHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKTsgKytp
KSB7CisgICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0pCisgICAgICAgICAg
ICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnNldFBhcmVudFJ1bGUoMCk7CisgICAgfQor
fQorCit1bnNpZ25lZCBDU1NIb3N0UnVsZTo6aW5zZXJ0UnVsZShjb25zdCBTdHJpbmcmIHJ1bGVT
dHJpbmcsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBBU1NFUlQo
bV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX2hvc3RSdWxlLT5jaGlsZFJ1bGVz
KCkuc2l6ZSgpKTsKKworICAgIGlmIChpbmRleCA+IG1faG9zdFJ1bGUtPmNoaWxkUnVsZXMoKS5z
aXplKCkpIHsKKyAgICAgICAgLy8gSU5ERVhfU0laRV9FUlI6IFJhaXNlZCBpZiB0aGUgc3BlY2lm
aWVkIGluZGV4IGlzIG5vdCBhIHZhbGlkIGluc2VydGlvbiBwb2ludC4KKyAgICAgICAgZWMgPSBJ
TkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgQ1NTUGFyc2Vy
IHBhcnNlcihwYXJzZXJDb250ZXh0KCkpOworICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQg
PSBwYXJlbnRTdHlsZVNoZWV0KCk7CisgICAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IG5ld1J1bGUg
PSBwYXJzZXIucGFyc2VSdWxlKHN0eWxlU2hlZXQgPyBzdHlsZVNoZWV0LT5jb250ZW50cygpIDog
MCwgcnVsZVN0cmluZyk7CisgICAgaWYgKCFuZXdSdWxlKSB7CisgICAgICAgIC8vIFNZTlRBWF9F
UlI6IFJhaXNlZCBpZiB0aGUgc3BlY2lmaWVkIHJ1bGUgaGFzIGEgc3ludGF4IGVycm9yIGFuZCBp
cyB1bnBhcnNhYmxlLgorICAgICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiAw
OworICAgIH0KKworICAgIGlmIChuZXdSdWxlLT5pc0ltcG9ydFJ1bGUoKSkgeworICAgICAgICAv
LyBGSVhNRTogYW4gSElFUkFSQ0hZX1JFUVVFU1RfRVJSIHNob3VsZCBhbHNvIGJlIHRocm93biBm
b3IgYSBAY2hhcnNldCBvciBhIG5lc3RlZAorICAgICAgICAvLyBAaG9zdCBydWxlLiBUaGV5IGFy
ZSBjdXJyZW50bHkgbm90IGdldHRpbmcgcGFyc2VkLCByZXN1bHRpbmcgaW4gYSBTWU5UQVhfRVJS
CisgICAgICAgIC8vIHRvIGdldCByYWlzZWQgYWJvdmUuCisKKyAgICAgICAgLy8gSElFUkFSQ0hZ
X1JFUVVFU1RfRVJSOiBSYWlzZWQgaWYgdGhlIHJ1bGUgY2Fubm90IGJlIGluc2VydGVkIGF0IHRo
ZSBzcGVjaWZpZWQKKyAgICAgICAgLy8gaW5kZXgsIGUuZy4sIGlmIGFuIEBpbXBvcnQgcnVsZSBp
cyBpbnNlcnRlZCBhZnRlciBhIHN0YW5kYXJkIHJ1bGUgc2V0IG9yIG90aGVyCisgICAgICAgIC8v
IGF0LXJ1bGUuCisgICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOworICAgICAgICBy
ZXR1cm4gMDsKKyAgICB9CisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0
YXRpb25TY29wZSh0aGlzKTsKKworICAgIG1faG9zdFJ1bGUtPndyYXBwZXJJbnNlcnRSdWxlKGlu
ZGV4LCBuZXdSdWxlKTsKKworICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5pbnNlcnQoaW5k
ZXgsIFJlZlB0cjxDU1NSdWxlPigpKTsKKyAgICByZXR1cm4gaW5kZXg7Cit9CisKK3ZvaWQgQ1NT
SG9zdFJ1bGU6OmRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQor
eworICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1faG9zdFJ1
bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOworCisgICAgaWYgKGluZGV4ID49IG1faG9zdFJ1bGUt
PmNoaWxkUnVsZXMoKS5zaXplKCkpIHsKKyAgICAgICAgLy8gSU5ERVhfU0laRV9FUlI6IFJhaXNl
ZCBpZiB0aGUgc3BlY2lmaWVkIGluZGV4IGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYQorICAgICAg
ICAvLyBydWxlIGluIHRoZSBob3N0IHJ1bGUgbGlzdC4KKyAgICAgICAgZWMgPSBJTkRFWF9TSVpF
X0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVN
dXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7CisKKyAgICBtX2hvc3RSdWxlLT53cmFw
cGVyUmVtb3ZlUnVsZShpbmRleCk7CisKKyAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJz
W2luZGV4XSkKKyAgICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XS0+c2V0UGFy
ZW50UnVsZSgwKTsKKyAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMucmVtb3ZlKGluZGV4KTsK
K30KKworU3RyaW5nIENTU0hvc3RSdWxlOjpjc3NUZXh0KCkgY29uc3QKK3sKKyAgICBTdHJpbmdC
dWlsZGVyIHJlc3VsdDsKKyAgICByZXN1bHQuYXBwZW5kKCJAaG9zdCB7IFxuIik7CisKKyAgICB1
bnNpZ25lZCBzaXplID0gbGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNp
emU7ICsraSkgeworICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIpOworICAgICAgICByZXN1bHQu
YXBwZW5kKGl0ZW0oaSktPmNzc1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xuJyk7
CisgICAgfQorCisgICAgcmVzdWx0LmFwcGVuZCgnfScpOworICAgIHJldHVybiByZXN1bHQudG9T
dHJpbmcoKTsKK30KKwordW5zaWduZWQgQ1NTSG9zdFJ1bGU6Omxlbmd0aCgpIGNvbnN0Cit7IAor
ICAgIHJldHVybiBtX2hvc3RSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpOyAKK30KKworQ1NTUnVs
ZSogQ1NTSG9zdFJ1bGU6Oml0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7IAorICAgIGlmIChp
bmRleCA+PSBsZW5ndGgoKSkKKyAgICAgICAgcmV0dXJuIDA7CisgICAgQVNTRVJUKG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9ob3N0UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUo
KSk7CisgICAgUmVmUHRyPENTU1J1bGU+JiBydWxlID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJz
W2luZGV4XTsKKyAgICBpZiAoIXJ1bGUpCisgICAgICAgIHJ1bGUgPSBtX2hvc3RSdWxlLT5jaGls
ZFJ1bGVzKClbaW5kZXhdLT5jcmVhdGVDU1NPTVdyYXBwZXIoY29uc3RfY2FzdDxDU1NIb3N0UnVs
ZSo+KHRoaXMpKTsKKyAgICByZXR1cm4gcnVsZS5nZXQoKTsKK30KKworQ1NTUnVsZUxpc3QqIENT
U0hvc3RSdWxlOjpjc3NSdWxlcygpIGNvbnN0Cit7CisgICAgaWYgKCFtX3J1bGVMaXN0Q1NTT01X
cmFwcGVyKQorICAgICAgICBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyID0gYWRvcHRQdHIobmV3IExp
dmVDU1NSdWxlTGlzdDxDU1NIb3N0UnVsZT4oY29uc3RfY2FzdDxDU1NIb3N0UnVsZSo+KHRoaXMp
KSk7CisgICAgcmV0dXJuIG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIuZ2V0KCk7Cit9CisKK3ZvaWQg
Q1NTSG9zdFJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCit7CisgICAgQVNTRVJU
KHJ1bGUpOworICAgIEFTU0VSVChydWxlLT5pc0hvc3RSdWxlKCkpOworICAgIG1faG9zdFJ1bGUg
PSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4ocnVsZSk7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgeworICAgICAg
ICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQorICAgICAgICAgICAgbV9jaGlsZFJ1
bGVDU1NPTVdyYXBwZXJzW2ldLT5yZWF0dGFjaChtX2hvc3RSdWxlLT5jaGlsZFJ1bGVzKClbaV0u
Z2V0KCkpOworICAgIH0KK30KKwordm9pZCBDU1NIb3N0UnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKK3sKKyAgICBNZW1vcnlD
bGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6
OkNTUyk7CisgICAgQ1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7
CisgICAgaW5mby5hZGRNZW1iZXIobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQorCisjZW5kaWYgLy8gRU5BQkxFKFNIQURPV19ET00pCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0
UnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjkzMTQ3MDc0NjM5NjA5NzgwZTY5ZGY0YjdiMDdkYmM0MWVlYTc0
ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaApA
QCAtMCwwICsxLDY3IEBACisvKgorICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBr
ZGUub3JnKQorICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykK
KyAqIENvcHlyaWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2Ft
QHdlYmtpdC5vcmcpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9m
IHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhl
IGltcGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVi
bGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVj
ZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisg
KiBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYg
bm90LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEg
RnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwg
VVNBLgorICovCisKKyNpZm5kZWYgQ1NTSG9zdFJ1bGVfaAorI2RlZmluZSBDU1NIb3N0UnVsZV9o
CisKKyNpbmNsdWRlICJDU1NSdWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworI2lmIEVO
QUJMRShTSEFET1dfRE9NKQorCitjbGFzcyBDU1NSdWxlTGlzdDsKK2NsYXNzIFN0eWxlUnVsZUhv
c3Q7CisKK2NsYXNzIENTU0hvc3RSdWxlIDogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPENTU0hvc3RSdWxlPiBjcmVhdGUoU3R5bGVSdWxlSG9zdCogcnVs
ZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBDU1NIb3N0UnVs
ZShydWxlLCBzaGVldCkpOyB9CisKKyAgICB2aXJ0dWFsIH5DU1NIb3N0UnVsZSgpOworCisgICAg
dmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBIT1NU
X1JVTEU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSopIE9WRVJS
SURFOworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KikgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IE9W
RVJSSURFOworCisgICAgQ1NTUnVsZUxpc3QqIGNzc1J1bGVzKCkgY29uc3Q7CisKKyAgICB1bnNp
Z25lZCBpbnNlcnRSdWxlKGNvbnN0IFN0cmluZyYgcnVsZSwgdW5zaWduZWQgaW5kZXgsIEV4Y2Vw
dGlvbkNvZGUmKTsKKyAgICB2b2lkIGRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlv
bkNvZGUmKTsKKyAgICAgICAgCisgICAgLy8gRm9yIENTU1J1bGVMaXN0CisgICAgdW5zaWduZWQg
bGVuZ3RoKCkgY29uc3Q7CisgICAgQ1NTUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7
CisKK3ByaXZhdGU6CisgICAgQ1NTSG9zdFJ1bGUoU3R5bGVSdWxlSG9zdCosIENTU1N0eWxlU2hl
ZXQqKTsKKyAgICAKKyAgICBSZWZQdHI8U3R5bGVSdWxlSG9zdD4gbV9ob3N0UnVsZTsKKyAgICBt
dXRhYmxlIFZlY3RvcjxSZWZQdHI8Q1NTUnVsZT4gPiBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnM7
CisgICAgbXV0YWJsZSBPd25QdHI8Q1NTUnVsZUxpc3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXI7
Cit9OworCisjZW5kaWYgLy8gRU5BQkxFKFNIQURPV19ET00pCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIENTU0hvc3RSdWxlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk5NTc5NzhhYTQzNmVlOTVhZWYzN2VjNWFkMjBmMjA2NGExNDEzZmUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsCkBA
IC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvLyBJbnRyb2R1Y2VkIGluIFNoYWRvdyBET00gc3Bl
YzoKK1sKKyAgICBDb25kaXRpb25hbD1TSEFET1dfRE9NLAorICAgIFY4RW5hYmxlZEF0UnVudGlt
ZT1zaGFkb3dET00KK10gaW50ZXJmYWNlIENTU0hvc3RSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOworICAgIAorICAgIHVuc2lnbmVk
IGxvbmcgICAgICBpbnNlcnRSdWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERP
TVN0cmluZyBydWxlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkICAgICAgICAgICAgICAgZGVsZXRlUnVsZShp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25nIGluZGV4KQorICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCmluZGV4IDA3
NThlNzRmODE1MGE5Nzk0ZWExY2I4MzgxMTI2MTExNDRmMzIwNjcuLjEyZmY1ZDA3MjAzMTM3NGY4
OGI1NDk2ODFjNTUyODViNmIwYzljNTUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApAQCAtNTQsNyArNTQs
MTAgQEAgcHVibGljOgogICAgICAgICBXRUJLSVRfVklFV1BPUlRfUlVMRSA9IDE1LAogI2VuZGlm
CiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQotICAgICAgICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAx
NgorICAgICAgICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNiwKKyNlbmRpZgorI2lmIEVOQUJMRShT
SEFET1dfRE9NKQorICAgICAgICBIT1NUX1JVTEUgPSAxMDAxLAogI2VuZGlmCiAgICAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaWRsCmluZGV4IGFmMTE4ZmU3MmI5YjgwNzRmN2Q2MDgyZDA5M2UyNzBj
ZmYyYjEwNjguLmQ1MDRlMGMwZWFlOWQ4MDg5MzE1MDkxY2Y2YzkyYjlhMDg4YmZhYzcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwKQEAgLTQzLDYgKzQzLDkgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJiYgRU5BQkxFX0NTU19SRUdJT05TCiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgV0VCS0lUX1JFR0lPTl9SVUxFID0gMTY7CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9T
SEFET1dfRE9NKSAmJiBFTkFCTEVfU0hBRE9XX0RPTQorICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IEhPU1RfUlVMRSA9IDEwMDE7CisjZW5kaWYKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBzaG9ydCAgIHR5cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRl
eCAwOThlMGQ1N2MwYjdlMWQ3NGVkMTUwOGY3ZTkwMGQ1MTZjMmU5NzBkLi4zNWJhMDA1ZWQ4ZDJl
NDNhYmZkZDNmNGQ5ZTE4M2NhNGU0MGYwMjg3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rv
ci5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5o
IgogI2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRlICJDU1NNZWRp
YVJ1bGUuaCIKQEAgLTI2NDIsNiArMjY0MywxMSBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0Q1NTT01X
cmFwcGVycyhIYXNoTWFwPFN0eWxlUnVsZSosIFJlZlB0cjxDU1NTdHlsZVJ1bGU+ID4mIHdyYQog
ICAgICAgICAgICAgY29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGljX2Nhc3Q8
V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFrOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6SE9TVF9S
VUxFOgorICAgICAgICAgICAgY29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGlj
X2Nhc3Q8Q1NTSG9zdFJ1bGUqPihjc3NSdWxlKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRp
ZgogICAgICAgICBjYXNlIENTU1J1bGU6OlNUWUxFX1JVTEU6CiAgICAgICAgICAgICB3cmFwcGVy
TWFwLmFkZChzdGF0aWNfY2FzdDxDU1NTdHlsZVJ1bGUqPihjc3NSdWxlKS0+c3R5bGVSdWxlKCks
IHN0YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAppbmRleCA0M2U2YTVlMTM3NjgwY2MyZDFjNmFjMzAx
OTNkZmU2NTY2NjIzMDIwLi4xNDYzMjhmOWI0ODA1N2I2ZGZlYTI5YWI2ZDRhM2U0NTU5MWUyMThl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcApAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVk
ZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NIb3N0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRl
ICJDU1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRlICJDU1NQYWdlUnVsZS5oIgpAQCAtODIsOCArODMs
OCBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0
eWxlUnVsZUtleWZyYW1lcyo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7CiAgICAgICAgIHJldHVybjsKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
LSAgICBjYXNlIEhvc3Q6Ci0gICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUJsb2Nr
Kj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsK
KyAgICBjYXNlIEhvc3RJbnRlcm5hbDoKKyAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVS
dWxlSG9zdCo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0
SW5mbyk7CiAgICAgICAgIHJldHVybjsKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FE
QVBUQVRJT04pCkBAIC0xMzAsNyArMTMxLDcgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95
KCkKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KHRoaXMp
OwogICAgICAgICByZXR1cm47CiAjaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgY2FzZSBIb3N0
OgorICAgIGNhc2UgSG9zdEludGVybmFsOgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U3R5
bGVSdWxlSG9zdCo+KHRoaXMpOwogICAgICAgICByZXR1cm47CiAjZW5kaWYKQEAgLTE3Myw3ICsx
NzQsNyBAQCBQYXNzUmVmUHRyPFN0eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBj
b25zdAogICAgIGNhc2UgS2V5ZnJhbWVzOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29u
c3QgU3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyktPmNvcHkoKTsKICNpZiBFTkFCTEUoU0hBRE9X
X0RPTSkKLSAgICBjYXNlIEhvc3Q6CisgICAgY2FzZSBIb3N0SW50ZXJuYWw6CiAgICAgICAgIHJl
dHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPmNvcHkoKTsKICNl
bmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCkBAIC0yMjcsOSArMjI4LDgg
QEAgUGFzc1JlZlB0cjxDU1NSdWxlPiBTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIo
Q1NTU3R5bGVTaGVldCogcGFyZW50U2hlZXQKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKLSAgICBjYXNlIEhvc3Q6Ci0gICAgICAgIC8vIEZJWE1FOiBUaGUg
Y3VycmVudCBDU1NPTSBlZGl0b3IncyBkcmFmdCAoaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3Nz
b20vKSBkb2VzIG5vdCBoYW5kbGUgQGhvc3QgcnVsZXMgKHNlZSBidWcgMTAyMzQ0KS4KLSAgICAg
ICAgcnVsZSA9IGFkb3B0UmVmKG5ldyBDU1NVbmtub3duUnVsZSgpKTsKKyAgICBjYXNlIEhvc3RJ
bnRlcm5hbDoKKyAgICAgICAgcnVsZSA9IENTU0hvc3RSdWxlOjpjcmVhdGUoc3RhdGljX2Nhc3Q8
U3R5bGVSdWxlSG9zdCo+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOwogI2Vu
ZGlmCiAgICAgY2FzZSBVbmtub3duOgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0
eWxlUnVsZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCmluZGV4IDRlZjc2NDI4
Mzg4YjFjNDcyZTEzOTFjMzkxYjIzYTg2ODFmYzE2MzUuLjVlYjhlYTg1OWY4ZTg5ZThiNDlmNTUx
MTViZjdmOWE2NTRkNzIwN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKQEAgLTQ2LDE0ICs0Niwx
NSBAQCBwdWJsaWM6CiAgICAgICAgIFBhZ2UsCiAgICAgICAgIEtleWZyYW1lcywKICAgICAgICAg
S2V5ZnJhbWUsIC8vIE5vdCB1c2VkLiBUaGVzZSBhcmUgaW50ZXJuYWxseSBub24tcnVsZSBTdHls
ZUtleWZyYW1lIG9iamVjdHMuCi0jaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgICAgIEhvc3Qs
Ci0jZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQogICAgICAgICBWaWV3
cG9ydCA9IDE1LAogI2VuZGlmCi0gICAgICAgIFJlZ2lvbiA9IDE2CisgICAgICAgIFJlZ2lvbiA9
IDE2LAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgICAgICBIb3N0SW50ZXJuYWwgPSAxNywg
Ly8gU3BlYyBzYXlzIEhvc3QgPSAxMDAxLCBidXQgd2UgY2FuIHVzZSBvbmx5IDUgYml0IGZvciB0
eXBlKCkuCisjZW5kaWYKICAgICB9OworCiAgICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4g
c3RhdGljX2Nhc3Q8VHlwZT4obV90eXBlKTsgfQogICAgIAogICAgIGJvb2wgaXNDaGFyc2V0UnVs
ZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBDaGFyc2V0OyB9CkBAIC02OCw3ICs2OSw3IEBA
IHB1YmxpYzoKICNlbmRpZgogICAgIGJvb2wgaXNJbXBvcnRSdWxlKCkgY29uc3QgeyByZXR1cm4g
dHlwZSgpID09IEltcG9ydDsgfQogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGJvb2wgaXNI
b3N0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBIb3N0OyB9CisgICAgYm9vbCBpc0hv
c3RSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IEhvc3RJbnRlcm5hbDsgfQogI2VuZGlm
CiAKICAgICBQYXNzUmVmUHRyPFN0eWxlUnVsZUJhc2U+IGNvcHkoKSBjb25zdDsKQEAgLTI0Niw3
ICsyNDcsNyBAQCBwdWJsaWM6CiAgICAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVIb3N0PiBjb3B5KCkg
Y29uc3QgeyByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlUnVsZUhvc3QoKnRoaXMpKTsgfQogCiBw
cml2YXRlOgotICAgIFN0eWxlUnVsZUhvc3QoVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+
JiBhZG9wdFJ1bGVzKSA6IFN0eWxlUnVsZUJsb2NrKEhvc3QsIGFkb3B0UnVsZXMpIHsgfQorICAg
IFN0eWxlUnVsZUhvc3QoVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBhZG9wdFJ1bGVz
KSA6IFN0eWxlUnVsZUJsb2NrKEhvc3RJbnRlcm5hbCwgYWRvcHRSdWxlcykgeyB9CiAgICAgU3R5
bGVSdWxlSG9zdChjb25zdCBTdHlsZVJ1bGVIb3N0JiBvKSA6IFN0eWxlUnVsZUJsb2NrKG8pIHsg
fQogfTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRD
b250ZW50cy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcApp
bmRleCBkYzUyMWRmMzljMmJkNDM2NTY0ZmY1YmM4ODdkMWEzYjEwYmQ3YjFiLi4yNGM2YWRkNmZl
NWEzZDcwYTNkNmU0ZjQ5MjRjNWNmNDFlZTVkOWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcApAQCAtNDQ0LDcgKzQ0NCw3IEBAIHN0YXRpYyBib29sIGNoaWxk
UnVsZXNIYXZlRmFpbGVkT3JDYW5jZWxlZFN1YnJlc291cmNlcyhjb25zdCBWZWN0b3I8UmVmUHRy
PFN0eWxlCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAgICBicmVhazsK
ICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICAgICAgY2FzZSBTdHlsZVJ1bGVCYXNlOjpIb3N0
OgorICAgICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6Okhvc3RJbnRlcm5hbDoKICAgICAgICAgICAg
IGlmIChjaGlsZFJ1bGVzSGF2ZUZhaWxlZE9yQ2FuY2VsZWRTdWJyZXNvdXJjZXMoc3RhdGljX2Nh
c3Q8Y29uc3QgU3R5bGVSdWxlSG9zdCo+KHJ1bGUpLT5jaGlsZFJ1bGVzKCkpKQogICAgICAgICAg
ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdp
bmRvdy5pZGwKaW5kZXggYzk2YzcyNTJhMmI5ZmZhOTM1YTY0MTVhZWZhMmM0NjNjY2NkZTMxNi4u
ZTNlMDAzZmU2YWExNWFjY2M2NjBlMTVhMThlNjZjZjY5NjJkY2QwMCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2Uv
RE9NV2luZG93LmlkbApAQCAtMzQ4LDYgKzM0OCw5IEBACiAgICAgYXR0cmlidXRlIENTU1J1bGVD
b25zdHJ1Y3RvciBDU1NSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NDaGFyc2V0UnVsZUNvbnN0cnVj
dG9yIENTU0NoYXJzZXRSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NGb250RmFjZVJ1bGVDb25zdHJ1
Y3RvciBDU1NGb250RmFjZVJ1bGU7CisjaWYgZGVmaW5lZChFTkFCTEVfU0hBRE9XX0RPTSkgJiYg
RU5BQkxFX1NIQURPV19ET00KKyAgICBhdHRyaWJ1dGUgQ1NTSG9zdFJ1bGVDb25zdHJ1Y3RvciBD
U1NIb3N0UnVsZTsKKyNlbmRpZgogICAgIGF0dHJpYnV0ZSBDU1NJbXBvcnRSdWxlQ29uc3RydWN0
b3IgQ1NTSW1wb3J0UnVsZTsKICAgICBhdHRyaWJ1dGUgQ1NTTWVkaWFSdWxlQ29uc3RydWN0b3Ig
Q1NTTWVkaWFSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NQYWdlUnVsZUNvbnN0cnVjdG9yIENTU1Bh
Z2VSdWxlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDAzNzkyNTNhM2EyYTY1N2VhMDA3MDMxOTJhYjczNTE3NjNlOTNmM2Yu
LjFkOTNhMTQ3ZDY1Mzg3YmI5NTZkNzAyNjU0MGJlMTU0ZDJkMTczN2MgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwxMyBAQAorMjAxMy0wMS0wNyAgVGFrYXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IENTU0hvc3RSdWxlIGZvciBAaG9zdCBALXJ1bGVzLgorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzQ0CisKKyAg
ICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBmYXN0L2RvbS9z
aGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWw6IEFkZGVkLgorCiAyMDEzLTAxLTA3
ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSFRNTFRyZWVCdWls
ZGVyIHNob3VsZCBub3QgZGVwZW5kIG9uIEZyYW1lCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNjIxOTU2NzdlZGZlOTg3YjRhNzg2M2MyMDAyYzRmMTUzMjk1ZDhhNAotLS0gL2Rldi9udWxs
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4cGVj
dGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitUZXN0IHdoZXRoZXIgQ1NTSG9zdFJ1bGUgQVBJIHdv
cmtzIGNvcnJlY3RseSBvciBub3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmll
cyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitC
ZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMCwgMCkiCitQQVNT
IGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCBpcyAwCitQQVNTIGhvc3RSdWxlLnR5cGUgaXMgMTAw
MQorQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBpbnRv
IEBob3N0IEAtcnVsZXM6CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3Ig
aXMgInJnYigwLCAxMjgsIDApIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMQor
UEFTUyBob3N0UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7IFxuICAjaG9zdCB7IGJvcmRlci1jb2xv
cjogZ3JlZW47IH1cbn0iCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgIiNo
b3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSIKK0FmdGVyIGluc2VydGluZyBhIGJvcmRlciBy
dWxlIHdpdGggYSB0YWcgc2VsZWN0b3IgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgaG9z
dFJ1bGUuY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgaG9zdFJ1bGUuY3NzVGV4dCBpcyAiQGhv
c3QgeyBcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XG4gIGRpdiB7IGJvcmRlci1j
b2xvcjogYmx1ZTsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCBpcyAi
I2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlc1sx
XS5jc3NUZXh0IGlzICJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iCitBZnRlciBkZWxldGlu
ZyB0aGUgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBmcm9tIEBob3N0IEAtcnVsZXM6
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigwLCAwLCAy
NTUpIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFTUyBob3N0UnVsZS5j
c3NUZXh0IGlzICJAaG9zdCB7IFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1cbn0iCitQ
QVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgImRpdiB7IGJvcmRlci1jb2xvcjog
Ymx1ZTsgfSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVU
RQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxl
LWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGku
aHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi43ODE1YzY3Y2Y0MzJjNGU1MDU2MzNhYTFiOGNiNzQyMTUwNzE4OTZk
Ci0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0
cnVsZS1hcGkuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgor
PGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKzxz
Y3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0Pgor
PC9oZWFkPgorPGJvZHk+CisgIDxkaXYgaWQ9Imhvc3QiPlRoaXMgZGl2IGlzIGEgc2hhZG93IGhv
c3QuPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgd2hldGhlciBD
U1NIb3N0UnVsZSBBUEkgd29ya3MgY29ycmVjdGx5IG9yIG5vdC4iKTsKK3ZhciBob3N0ID0gZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJr
aXRDcmVhdGVTaGFkb3dSb290KCk7CitzaGFkb3dSb290LmlubmVySFRNTCA9ICc8c3R5bGUgaWQ9
InN0eWxlMSI+QGhvc3Qge308L3N0eWxlPjxkaXY+U2hhZG93IFRleHQ8L2Rpdj4nOworICAKK2Rl
YnVnKCJCZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOiIp
Oworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigw
LCAwLCAwKSInKTsKKwordmFyIHN0eWxlU2hlZXQgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlk
KCdzdHlsZTEnKS5zaGVldDsKK3ZhciBob3N0UnVsZSA9IHN0eWxlU2hlZXQuY3NzUnVsZXNbMF07
CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzAnKTsKK3Nob3VsZEJlKCJo
b3N0UnVsZS50eXBlIiwgJzEwMDEnKTsKKyAgCitkZWJ1ZygiQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9y
ZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6Iik7Citob3N0
UnVsZS5pbnNlcnRSdWxlKCIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iLCBob3N0UnVs
ZS5jc3NSdWxlcy5sZW5ndGgpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9y
ZGVyQ29sb3IiLCAnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1
bGVzLmxlbmd0aCIsICcxJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3Qg
eyBcXG4gICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxcbn0iJyk7CitzaG91bGRCZSgi
aG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCIsICciI2hvc3QgeyBib3JkZXItY29sb3I6IGdy
ZWVuOyB9IicpOworCitkZWJ1ZygiQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBh
IHRhZyBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6Iik7Citob3N0UnVsZS5pbnNlcnRSdWxl
KCJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iLCBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgp
Oworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigw
LCAxMjgsIDApIicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIsICcyJyk7
CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3QgeyBcXG4gICNob3N0IHsgYm9y
ZGVyLWNvbG9yOiBncmVlbjsgfVxcbiAgZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9XFxufSIn
KTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0IiwgJyIjaG9zdCB7IGJv
cmRlci1jb2xvcjogZ3JlZW47IH0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXNbMV0u
Y3NzVGV4dCIsICciZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9IicpOworCitkZWJ1ZygiQWZ0
ZXIgZGVsZXRpbmcgdGhlIGJvcmRlciBydWxlIHdpdGggYW4gaWQgc2VsZWN0b3IgZnJvbSBAaG9z
dCBALXJ1bGVzOiIpOworaG9zdFJ1bGUuZGVsZXRlUnVsZSgwKTsKK3Nob3VsZEJlKCJnZXRDb21w
dXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIiwgJyJyZ2IoMCwgMCwgMjU1KSInKTsKK3Nob3Vs
ZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMScpOworc2hvdWxkQmUoImhvc3RSdWxl
LmNzc1RleHQiLCAnIkBob3N0IHsgXFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1cXG59
IicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQiLCAnImRpdiB7IGJv
cmRlci1jb2xvcjogYmx1ZTsgfSInKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4v
anMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181675</attachid>
            <date>2013-01-08 02:30:50 -0800</date>
            <delta_ts>2013-01-08 02:54:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20130108192754.patch</filename>
            <type>text/plain</type>
            <size>61469</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNmZTI3MTM2NzYyYzAx
MGU1NjFiNTQ0ZGE2NDhmMzIyZmU4ZGZlMS4uNjZmODdiNWRhZGJkYTllNjQzYWNmMDE2NTY1Mjdj
MWRmNDA3ZDExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAxMy0wMS0wOCAgVGFr
YXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENT
U0hvc3RSdWxlIGZvciBAaG9zdCBALXJ1bGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ1NTSG9zdFJ1bGUgaXMgZGVmaW5lZCBpbiBTaGFkb3cgRE9N
IHNwZWM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRzL3Jhdy1m
aWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI2Nzcy1ob3N0LXJ1bGUtaW50ZXJmYWNlCisg
ICAgICAgIFRvIHNlZSBvciB0byBtb2RpZnkgQGhvc3QgQC1ydWxlcyBieSB1c2luZyBpbnNwZWN0
b3IsIHdlIG5lZWQgdG8KKyAgICAgICAgaW1wbGVtZW50IENTU0hvc3RSdWxlIGludGVyZmFjZS4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS5odG1sCisK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgIE1vZGlmaWVkIHRvIGluY2x1
ZGUgSlNDU1NIb3N0UnVsZS5jcHAuCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgIEFkZGVkIENTU0hvc3RSdWxlLmNwcCwgQ1NTSG9zdFJ1bGUuaCwgQ1NTSG9zdFJ1bGUuaWRs
IGFuZAorICAgICAgICBDU1NCbG9ja1J1bGUuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NT
U1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIEFkZCBh
IG5ldyBjYXNlIHRoYXQgdGhlIGdpdmVuIHJ1bGUgaXMgQGhvc3QgQC1ydWxlcyB0byBzdXBwb3J0
IEBob3N0CisgICAgICAgIEAtcnVsZXMuCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01DU1Mu
bW06CisgICAgICAgIChraXRDbGFzcyk6CisgICAgICAgIEFkZCBhIG5ldyBjYXNlIHRoYXQgdGhl
IGdpdmVuIHJ1bGUgaXMgQGhvc3QgQC1ydWxlcyB0byBzdXBwb3J0IEBob3N0CisgICAgICAgIEAt
cnVsZXMuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp3cmFwKToKKyAgICAgICAgKiBjc3MvQ1NTQWxsSW5PbmUuY3Bw
OgorICAgICAgICAqIGNzcy9DU1NCbG9ja1J1bGUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoQ1NTQmxvY2tSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Jsb2NrUnVsZTo6fkNT
U0Jsb2NrUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NCbG9ja1J1bGU6OkNTU0Jsb2NrUnVs
ZSk6CisgICAgICAgIChXZWJDb3JlOjo6Omluc2VydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6
OjpkZWxldGVSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6cmVhdHRhY2gpOgorICAgICAgICBU
aGVzZSBtZXRob2RzIGFyZSBhbG1vc3QgdGhlIHNhbWUgYXMgQ1NTTWVkaWFSdWxlIChvciBDU1NI
b3N0UnVsZSBvcgorICAgICAgICBXZWJLaXRDU1NSZWdpb25SdWxlKS4gVGhlIGRpZmZlcmVuY2Ug
YmV0d2VlbiBDU1NIb3N0UnVsZSBhbmQgdGhpcyBpcworICAgICAgICBqdXN0IHVzaW5nIHRlbXBs
YXRlIHBhcmFtZXRlciBpbnN0ZWFkIG9mIENTU0hvc3RSdWxlIGFuZCBTdHlsZVJ1bGVIb3N0Lgor
ICAgICAgICAoV2ViQ29yZTo6OjphcHBlbmRDc3NUZXh0Rm9ySXRlbXMpOgorICAgICAgICBUaGlz
IG1ldGhvZCBpcyBpbnZva2VkIGZyb20gY3NzVGV4dCBpbiBkZXJpdmVkIGNsYXNzZXMsIGUuZy4K
KyAgICAgICAgQ1NTSG9zdFJ1bGU6OmNzc1RleHQuIENyZWF0ZSBhIHN0cmluZyBmb3IgQ1NTIHJ1
bGVzIGluIGEgY3NzIGJsb2NrLgorICAgICAgICAoV2ViQ29yZTo6OjpsZW5ndGgpOgorICAgICAg
ICAoV2ViQ29yZTo6OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Y3NzUnVsZXMpOgorICAg
ICAgICBTaW5jZSBMaXZlQ1NTUnVsZUxpc3QgcmVxdWlyZXMgZWFjaCBkZXJpdmVkIGNsYXNzIHBv
aW50ZXIgYW5kIGNzc1J1bGVzCisgICAgICAgIGlzICJjb25zdCIgbWV0aG9kLCBuZWVkcyBzdGF0
aWNfY2FzdCBhbmQgY29uc3RfY2FzdC4KKyAgICAgICAgRm9yIG1ha2UgYSBkZXJpdmVkIGNsYXNz
IHBvaW50ZXIsIGUuZy4gQ1NTTWVkaWFSdWxlKiwgZnJvbQorICAgICAgICBDU1NCbG9ja1J1bGUg
cG9pbnRlciwgdXNlcyB0aGUgc2Vjb25kIHRlbXBhbHRlIHBhcmFtZXRlciwgaS5lLiBjbGFzcwor
ICAgICAgICBjc3NSdWxlQ2xhc3MuCisgICAgICAgIChXZWJDb3JlOjo6OnJlcG9ydE1lbW9yeVVz
YWdlKToKKyAgICAgICAgVGhpcyBDU1NCbG9ja1J1bGUgY2xhc3MgaXMgY3JlYXRlZCBmcm9tIENT
U01lZGlhUnVsZSwgQ1NTSG9zdFJ1bGUgYW5kCisgICAgICAgIFdlYktpdENTU1JlZ2lvblJ1bGUu
CisgICAgICAgICogY3NzL0NTU0hvc3RSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0hvc3RSdWxlOjpDU1NIb3N0UnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU0hvc3RS
dWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NIb3N0UnVsZSk6
CisgICAgICAgIENTU0hvc3RSdWxlIGluaGVyaXRzIENTU0Jsb2NrUnVsZS4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU0hvc3RSdWxlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9DU1NIb3N0UnVsZS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTTWVkaWFSdWxlOjpDU1NNZWRpYVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWVkaWFSdWxlOjp+Q1NTTWVkaWFSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVs
ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6Om1lZGlhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTTWVkaWFSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIENTU01lZGlhUnVs
ZSBpcyBhIGxpdHRsZSBkaWZmZXJlbnQgZnJvbSBDU1NIb3N0UnVsZSBhbmQKKyAgICAgICAgV2Vi
S2l0Q1NTUmVnaW9uUnVsZS4gQ1NTTWVkaWFSdWxlIGhhcyBpdHMgb3duIG1ldGhvZCAoaS5lLiBt
ZWRpYSkgYW5kCisgICAgICAgIGl0cyBvd24gbWVtYmVyIHZhcmlhYmxlcyAoaS5lLiBtX21lZGlh
Q1NTT01XcmFwcGVyKS4gU28gaXQgaXMgcmVxdWlyZWQKKyAgICAgICAgdG8gdXBkYXRlIG1fbWVk
aWFDU1NPTVdyYXBwZXIgaW4gcmVhdHRhY2ggYW5kIH5DU1NNZWRpYVJ1bGUuCisgICAgICAgICog
Y3NzL0NTU01lZGlhUnVsZS5oOgorICAgICAgICBNb2RpZnkgdG8gaW5oZXJpdCBDU1NCbG9ja1J1
bGUuCisgICAgICAgICogY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NSZWdpb25SdWxlOjpjc3NUZXh0KToKKyAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTUmVnaW9uUnVsZS5oOgorICAgICAgICBNb2RpZnkgdG8gaW5oZXJpdCBDU1NCbG9j
a1J1bGUuCisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5p
ZGw6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y29sbGVjdENTU09NV3JhcHBlcnMpOgorICAgICAgICBTdXBwb3J0IEhPU1QgcnVsZS4KKyAgICAg
ICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRl
c3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAgICAgICBB
ZGRlZCBAaG9zdCBALXJ1bGVzIGNhc2UuCisgICAgICAgICogY3NzL1N0eWxlUnVsZS5oOgorICAg
ICAgICBBZGRlZCBIb3N0SW50ZXJuYWwoPTE3KS4gU2hhZG93IERPTSBzcGVjIHNheXMgSG9zdCB0
eXBlIGlzIDEwMDEuCisgICAgICAgIEhvd2V2ZXIgd2UgY2FuIHVzZSBvbmx5IDUgYml0IGZvciB0
eXBlLiBTbyBpbnRlcm5hbGx5IHVzZSAxNyBmb3IKKyAgICAgICAgSG9zdCBydWxlLgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6aXNIb3N0UnVsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJ1bGVIb3N0OjpTdHlsZVJ1bGVIb3N0KToKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVl
dENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNoaWxkUnVsZXNIYXZlRmFpbGVkT3JD
YW5jZWxlZFN1YnJlc291cmNlcyk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAy
MDEzLTAxLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSFRN
TFRyZWVCdWlsZGVyIHNob3VsZCBub3QgZGVwZW5kIG9uIEZyYW1lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDhlNjRhM2Y0YTg4ZWQwYzQzNWVmYjgwMTE3MDFjZGFkNTA2ZDdiNjguLmE1NjZiMTJk
NDkxYTNiNDc3MThkYjc5MTE1ZmY3N2FlMTJiNWE3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0zMTIsNiArMzEyLDcgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgY3NzL0NvdW50ZXIu
aWRsCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUu
aWRsCisgICAgY3NzL0NTU0hvc3RSdWxlLmlkbAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAog
ICAgIGNzcy9DU1NNZWRpYVJ1bGUuaWRsCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmlkbApAQCAtMTAz
MSw2ICsxMDMyLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NGb250U2VsZWN0
b3IuY3BwCiAgICAgY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCiAgICAgY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwCisgICAgY3NzL0NTU0hvc3RSdWxlLmNwcAogICAgIGNzcy9DU1NJbWFnZUdlbmVy
YXRvclZhbHVlLmNwcAogICAgIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAogICAgIGNzcy9DU1NJ
bWFnZVZhbHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGEzZDdmMjkxZGVi
MTcxNzQyY2UyZTBlNGY3OGRmOWFmZThjYmJiNTQuLjA3ZTNmYTZkNTRmODQ5ZTg3OGIzYTljYzg1
NDc5ODAzOTQyYTc0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTU1LDYgKzU1
LDcgQEAKICNpbmNsdWRlICJKU0NyeXB0by5jcHAiCiAjaW5jbHVkZSAiSlNDU1NDaGFyc2V0UnVs
ZS5jcHAiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuY3BwIgorI2luY2x1ZGUgIkpTQ1NT
SG9zdFJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0UnVsZS5jcHAiCiAjaW5jbHVkZSAi
SlNDU1NNZWRpYVJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTUGFnZVJ1bGUuY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZTQ5MDUxOTc2Yjc1MGE1YjA4ZWYyZmRkNTNmOGRh
ZDM1N2IwMjRjYS4uOTgzNjI5YWQwNWEyNGVhZjE0ZWUzNjRkM2MwZTY5ZGQ0NWExOWIyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNjksNiArMTY5LDcgQEAgQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRX
ZWJTb2NrZXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorICAgICQoV2ViQ29yZSkv
Y3NzL0NTU0hvc3RSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU01lZGlhUnVsZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXgg
ZWJkNDAzNGVhZDE4NzdmOWIxNzJjODVmM2MyZjc1NDEwN2RhZTc4MS4uODE4OWE4NDliODlmNGRh
Zjc5MjQ3ZTg3MjAyYjBmZTZhZTZmNzM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpA
QCAtMTg5LDYgKzE4OSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvY3NzL0NvdW50
ZXIuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsIFwKICAgICAkJFBXRC9j
c3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJCRQV0QvY3NzL0NTU0hvc3RSdWxlLmlkbCBc
CiAgICAgJCRQV0QvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTTWVk
aWFSdWxlLmlkbCBcCiAgICAgJCRQV0QvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQppbmRleCAwMTZiOWI2NjNlMzRkZTAxNDFmYmZiYWIwMWIwNjg3NWUz
MGU5YmJmLi45NDM2NzcxNDM1ZGQyYzEwMzkzYzE0Y2EyYTRlYjkxY2NmOGM5NzY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTExMyw2ICsxMTMsOCBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NDaGFyc2V0UnVsZS5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5oIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTSG9zdFJ1bGUuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTSG9zdFJ1bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFSdWxlLmNwcCBcCkBAIC0xMzE4LDYgKzEzMjAs
NyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0
cy9Xb3JrZXJDb250ZXh0V2ViU29ja2V0LmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNl
dFJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKwkkKFdl
YkNvcmUpL2Nzcy9DU1NIb3N0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU0ltcG9ydFJ1
bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUp
L2Nzcy9DU1NQYWdlUnVsZS5pZGwgXApAQCAtMjUwNSw2ICsyNTA4LDcgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQmFzaWNTaGFwZXMuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jsb2NrUnVsZS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2UuY3BwIFwKQEAgLTI1MzYsNiArMjU0MCw4IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSGVscGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVs
ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZVNldFZhbHVlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBiNDU2ZTU3NGJiZjljNjkwNzMzMDYwYTg0
ODZlZmFjOWU4MjJjMjgxLi43MGNkMzg0YWZhMzBlZjAyODA4MGZkODNmMWFiM2FlNzg5OGZkZmM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKQEAgLTI2MSw2ICsyNjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3Mv
Q1NTRm9udEZhY2VTb3VyY2UuY3BwIFwKICAgICBjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAgXAog
ICAgIGNzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBcCisgICAgY3NzL0NTU0hvc3RSdWxlLmNwcCBc
CiAgICAgY3NzL0NTU0ltYWdlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggODZmODYyMDE1MDM1Yjk5OTVlYzIxYWYxMmIzOWQ2OWQ5ZmI0NmFhZS4uNGJhZjA0Mjc2
NzU5MDE0YTI0MGU2MzUzZjllZjkwMmZiM2JhNDA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTYw
LDYgKzE2MCw3IEBACiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRl
eHRXZWJTb2NrZXQuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsJywK
ICAgICAgICAgICAgICdjc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCcsCisgICAgICAgICAgICAnY3Nz
L0NTU0hvc3RSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltcG9ydFJ1bGUuaWRsJywK
ICAgICAgICAgICAgICdjc3MvQ1NTTWVkaWFSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NT
U1BhZ2VSdWxlLmlkbCcsCkBAIC0xNDM3LDYgKzE0MzgsNyBAQAogICAgICAgICAgICAgJ2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0FzcGVjdFJhdGlv
VmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0Jhc2ljU2hhcGVzLmNwcCcsCisgICAgICAg
ICAgICAnY3NzL0NTU0Jsb2NrUnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1h
Z2UuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2UuaCcsCiAgICAgICAgICAg
ICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAnLApAQCAtMTQ2NSw2ICsxNDY3LDgg
QEAKICAgICAgICAgICAgICdjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5oJywKICAgICAgICAgICAgICdj
c3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NHcmFkaWVudFZh
bHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAg
J2Nzcy9DU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcCcsCiAgICAg
ICAgICAgICAnY3NzL0NTU0ltYWdlVmFsdWUuY3BwJywKQEAgLTU1NTAsNiArNTU1NCw4IEBACiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1ND
aGFyc2V0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxlLm1tJywKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0ZvbnRGYWNlUnVsZUlu
dGVybmFsLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvRE9NQ1NTSG9zdFJ1bGUubW0nLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSG9zdFJ1bGVJbnRlcm5hbC5oJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0ltcG9ydFJ1
bGUubW0nLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvRE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTTWVkaWFSdWxlLm1tJywKQEAgLTYxMDgs
NiArNjExNCw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VS
dWxlLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NJbXBv
cnRSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NNZWRpYVJ1bGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNWI5ZGNjZjY0YjczMWE4M2FlNjU5Y2RkNTQ3MGUwZTYy
MTQ3MTM1Ni4uNzZmMmYxOWI4YmMyZjUxNTkyYjIzZjFkMzBlODk5OTA5NDQ1ODNhMCAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTE4NTgsNiAr
MTg1OCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTQ1NTSG9zdFJ1bGUuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ1NTSG9zdFJ1bGUuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU0ltcG9ydFJ1bGUuY3BwIgog
CQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTM1MzQ2LDYgKzM1NDAyLDEwIEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NC
bG9ja1J1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5cY3NzXENTU0JvcmRlckltYWdlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uCkBAIC0zNjE1MCw2ICszNjIxMCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSG9zdFJ1bGUuY3BwIgorCQkJCT4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSG9z
dFJ1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cY3NzXENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAzMDQxY2E1ZjI3YTAwOTljZThlYTg3OTgzMDMxNGE0ODJjNmQ4OGIwLi4y
NTU5MWNjOTVjYzcxMWM3ZWY4NTIyNjRlOTczNzc4NzJkNTMxYzA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDMxLDYgKzY0
MzEsOSBAQAogCQlGQUJFNzJGRDEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3Rv
cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFC
RTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLzsgfTsK
IAkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkZDMTA1OUMyMTEwMEQ5
OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAgKi87IH07CiAJCUZCMkMxNUMzMTY1RDY0OUQwMDM5QzlG
OCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkIyQzE1QzIxNjVENjQ5MDAwMzlDOUY4IC8qIENhY2hl
ZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRkI0OUMzOUExNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNDlD
Mzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgKi87IH07CisJCUZCNDlDMzlE
MTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOUMxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hv
c3RSdWxlLmggKi87IH07CisJCUZCNjU2OUFEMTY5QzE4REEwMDg4Mzc0RSAvKiBDU1NCbG9ja1J1
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNjU2
OUFDMTY5QzE4REEwMDg4Mzc0RSAvKiBDU1NCbG9ja1J1bGUuaCAqLzsgfTsKIAkJRkI3OEFEMkUx
NTFCRjVFNjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQ
YXJzZXJNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkyREY0OTE1RkVE
MDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGQkMyMjBERjEyMzdGQkVCMDBCQ0Y3ODggLyog
R3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29u
dGV4dDNET3BlbkdMLmNwcCAqLzsgfTsKQEAgLTEzOTkzLDYgKzEzOTk2LDEwIEBACiAJCUZBQkU3
MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBN
YXRoTUxOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRo
TUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCMkMxNUMyMTY1RDY0
OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9z
dFJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTSG9zdFJ1
bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5QzE2Nzg0OTQ3MDA3
RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q1NTSG9zdFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI0OUMzOUUxNjc4
NDk1NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBD
U1NIb3N0UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNjU2OUFDMTY5
QzE4REEwMDg4Mzc0RSAvKiBDU1NCbG9ja1J1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ1NTQmxvY2tSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZC
NzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhcnNlck1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkI5MkRGNDkxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBQYXRoT3BlcmF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCQzIyMERFMTIzN0ZCRUIwMEJDRjc4OCAvKiBH
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMTQ3MCw2ICsyMTQ3Nyw3IEBACiAJCQkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0
NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCAqLywKIAkJCQlGQkQ2QUY4NjE1RUYyMUQ0MDA4
QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuY3BwICovLAogCQkJCUZCRDZBRjg3MTVFRjIxRDQwMDhC
NzExMCAvKiBDU1NCYXNpY1NoYXBlcy5oICovLAorCQkJCUZCNjU2OUFDMTY5QzE4REEwMDg4Mzc0
RSAvKiBDU1NCbG9ja1J1bGUuaCAqLywKIAkJCQlFMTZBODRGNzE0Qzg1Q0NDMDAyOTc3REYgLyog
Q1NTQm9yZGVySW1hZ2UuY3BwICovLAogCQkJCUUxNkE4NEY4MTRDODVDQ0MwMDI5NzdERiAvKiBD
U1NCb3JkZXJJbWFnZS5oICovLAogCQkJCUJDMjc0QjMwMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwICovLApAQCAtMjE1MDUsNiArMjE1MTMsOSBAQAogCQkJ
CUZDRUJDRDcxMTYyM0E3OTEwMDI5OTY1RSAvKiBDU1NHcmFtbWFyLnkuaW4gKi8sCiAJCQkJRkNF
QkNENzIxNjIzQTc5MTAwMjk5NjVFIC8qIENTU0dyYW1tYXIueS5pbmNsdWRlcyAqLywKIAkJCQlC
Qzc3MkIzNjBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTSGVscGVyLmggKi8sCisJCQkJRkI0OUMzOTkx
Njc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCAqLywKKwkJCQlGQjQ5QzM5QzE2Nzg0
OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLywKKwkJCQlGQjQ5QzM5RTE2Nzg0OTU0MDA3
RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaWRsICovLAogCQkJCUJDMjNFNzZCMERBRTg4QTkwMDlGREM5
MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCAqLywKIAkJCQlCQzIzRUU5MTBEQUVEMkJD
MDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovLAogCQkJCTkzOTNFNUZEMTUx
QTk5RjIwMDA2NkYwNiAvKiBDU1NJbWFnZVNldFZhbHVlLmNwcCAqLywKQEAgLTI2MDUxLDYgKzI2
MDYyLDggQEAKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVk
aXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENFIC8qIFpl
cm9Qb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQjQ5QzM5RDE2Nzg0OTQ3MDA3RkZCNUQgLyog
Q1NTSG9zdFJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUZCNjU2OUFEMTY5QzE4REEwMDg4Mzc0
RSAvKiBDU1NCbG9ja1J1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjkxODAsNiArMjkxOTMsNyBA
QAogCQkJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Q
b2xlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCNDlDMzlBMTY3ODQ5MzIwMDdGRkI1RCAvKiBD
U1NIb3N0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCmluZGV4IDJhNDY1ZGM3ZGMxZWQ4NzY2MDdkOWFhYmYy
MWEyMDdmMzE3NWMxOWIuLmNiZWIzYzY4NWQ5OWZlYjBjMTRkMWY4OGVmY2VmOTI2MDU3MTM4OWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcApA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpT
Q1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1
ZGUgIkpTQ1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ltcG9ydFJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTUGFnZVJ1bGUuaCIKQEAgLTEw
Niw2ICsxMDcsMTEgQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgQ1NTUnVsZSogcnVsZSkKICAgICAgICAgICAgIHdyYXBwZXIg
PSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NSZWdpb25S
dWxlLCBydWxlKTsKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6SE9TVF9SVUxFOgorICAgICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIENTU0hvc3RSdWxl
LCBydWxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVj
dCwgQ1NTUnVsZSwgcnVsZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01DU1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbQppbmRleCAzYzFkYTgyMzEyMTljNmIxNDcxMWI4YTQ1ODUzM2NiMTdiODEwZmRjLi5lMzkz
NGViZDQ0Y2ZjZWJjZTE4MGFkY2ZlZGUzYmY1YjkyNzkxMmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUNTUy5tbQpAQCAtNjUsNiArNjUsMTAgQEAKICNpbXBvcnQgIkRPTVNWR1Bh
aW50LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorI2ltcG9ydCAiRE9NQ1NT
SG9zdFJ1bGUuaCIKKyNlbmRpZgorCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogLy8gRE9NU3R5bGVTaGVldAogCkBAIC0xMDcsNiArMTExLDEwIEBAIENsYXNzIGtpdENsYXNz
KFdlYkNvcmU6OkNTU1J1bGUqIGltcGwpCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9SRUdJT05f
UlVMRToKICAgICAgICAgICAgIHJldHVybiBbRE9NV2ViS2l0Q1NTUmVnaW9uUnVsZSBjbGFzc107
CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgY2FzZSBET01fSE9TVF9S
VUxFOgorICAgICAgICAgICAgcmV0dXJuIFtET01DU1NIb3N0UnVsZSBjbGFzc107CisjZW5kaWYK
ICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG5pbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5j
cHAKaW5kZXggZDE1MWNkOGIwZjVjOWM2OTQzODg2Zjc1MmI5ZDg2M2M2Y2QxMzc2YS4uY2M0OWE2
YzAxNTkxNGZiNmY2ZWM0NmFkMjYxZDgzOGFhMGE2ZTRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2luY2x1ZGUgIlY4Q1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJWOENT
U0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIlY4Q1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRlICJW
OENTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJWOENTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUg
IlY4Q1NTUGFnZVJ1bGUuaCIKQEAgLTc4LDYgKzc5LDEwIEBAIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gd3JhcChDU1NSdWxlKiBpbXBsLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29u
dGV4CiAjZW5kaWYKICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9SRUdJT05fUlVMRToKICAgICAg
ICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KGltcGwpLCBj
cmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIGNh
c2UgQ1NTUnVsZTo6SE9TVF9SVUxFOgorICAgICAgICByZXR1cm4gd3JhcChzdGF0aWNfY2FzdDxD
U1NIb3N0UnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2VuZGlmCiAg
ICAgfQogICAgIHJldHVybiBWOENTU1J1bGU6OmNyZWF0ZVdyYXBwZXIoaW1wbCwgY3JlYXRpb25D
b250ZXh0LCBpc29sYXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NB
bGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDZi
N2E4YjllZGZlOGNiYmU2YzAxYmZiOTc1OWIzYWE0NDA1NjhlNGQuLjZkNzcwYjM0MGMzMjczODhi
YjViYjM5NzM3ZDI2NDgwYTgxMGU5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5jcHAiCiAjaW5jbHVk
ZSAiQ1NTRnVuY3Rpb25WYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5jcHAi
CisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuY3BwIgogI2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJhdG9y
VmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU0lt
cG9ydFJ1bGUuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jsb2NrUnVs
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jsb2NrUnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NDdi
NDg3NzNlMWEwNWMyNDMyYzU4YzUwOGYzNzIzZTAwMWNiYmIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmxvY2tSdWxlLmgKQEAgLTAsMCArMSwxOTQgQEAKKy8qCisg
KiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAoQykgMjAwMi0y
MDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAy
LCAyMDA2LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBD
U1NCbG9ja1J1bGVfaAorI2RlZmluZSBDU1NCbG9ja1J1bGVfaAorCisjaW5jbHVkZSAiQ1NTUGFy
c2VyLmgiCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgIkNTU1J1bGVMaXN0LmgiCisj
aW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNp
bmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmgiCisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBDU1NSdWxlTGlzdDsKKwordGVtcGxhdGUgPGNsYXNzIHN0eWxlUnVsZUNsYXNzLCBj
bGFzcyBjc3NSdWxlQ2xhc3M+CitjbGFzcyBDU1NCbG9ja1J1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7
CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q1NTQmxvY2tSdWxlKCkKKyAgICB7CisgICAgICAgIEFT
U0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fYmxvY2tSdWxlLT5jaGls
ZFJ1bGVzKCkuc2l6ZSgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVyc1tpXSkKKyAgICAgICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaV0tPnNldFBhcmVudFJ1bGUoMCk7CisgICAgICAgIH0KKyAgICB9CisKKworICAg
IHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVS
UklERTsKKworICAgIENTU1J1bGVMaXN0KiBjc3NSdWxlcygpIGNvbnN0OworCisgICAgdW5zaWdu
ZWQgaW5zZXJ0UnVsZShjb25zdCBTdHJpbmcmIHJ1bGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRp
b25Db2RlJik7CisgICAgdm9pZCBkZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25D
b2RlJik7CisgICAgICAgIAorICAgIC8vIEZvciBDU1NSdWxlTGlzdAorICAgIHVuc2lnbmVkIGxl
bmd0aCgpIGNvbnN0OworICAgIENTU1J1bGUqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Owor
Citwcm90ZWN0ZWQ6CisgICAgQ1NTQmxvY2tSdWxlKHN0eWxlUnVsZUNsYXNzKiBibG9ja1J1bGUs
IENTU1N0eWxlU2hlZXQqIHBhcmVudCkgOiBDU1NSdWxlKHBhcmVudCksIG1fYmxvY2tSdWxlKGJs
b2NrUnVsZSksIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyhibG9ja1J1bGUtPmNoaWxkUnVsZXMo
KS5zaXplKCkpIHsgfQorICAgIAorICAgIHZvaWQgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKFN0cmlu
Z0J1aWxkZXImKSBjb25zdDsKKworICAgIFJlZlB0cjxzdHlsZVJ1bGVDbGFzcz4gbV9ibG9ja1J1
bGU7CisgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+ID4gbV9jaGlsZFJ1bGVDU1NP
TVdyYXBwZXJzOworICAgIG11dGFibGUgT3duUHRyPENTU1J1bGVMaXN0PiBtX3J1bGVMaXN0Q1NT
T01XcmFwcGVyOworfTsKKwordGVtcGxhdGU8Y2xhc3Mgc3R5bGVSdWxlQ2xhc3MsIGNsYXNzIGNz
c1J1bGVDbGFzcz4KK3Vuc2lnbmVkIENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVs
ZUNsYXNzPjo6aW5zZXJ0UnVsZShjb25zdCBTdHJpbmcmIHJ1bGVTdHJpbmcsIHVuc2lnbmVkIGlu
ZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdy
YXBwZXJzLnNpemUoKSA9PSBtX2Jsb2NrUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7CisKKyAg
ICBpZiAoaW5kZXggPiBtX2Jsb2NrUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgeworICAgICAg
ICAvLyBJTkRFWF9TSVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXggaXMgbm90
IGEgdmFsaWQgaW5zZXJ0aW9uIHBvaW50LgorICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBDU1NQYXJzZXIgcGFyc2VyKHBhcnNlckNv
bnRleHQoKSk7CisgICAgQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCA9IHBhcmVudFN0eWxlU2hl
ZXQoKTsKKyAgICBSZWZQdHI8U3R5bGVSdWxlQmFzZT4gbmV3UnVsZSA9IHBhcnNlci5wYXJzZVJ1
bGUoc3R5bGVTaGVldCA/IHN0eWxlU2hlZXQtPmNvbnRlbnRzKCkgOiAwLCBydWxlU3RyaW5nKTsK
KyAgICBpZiAoIW5ld1J1bGUpIHsKKyAgICAgICAgLy8gU1lOVEFYX0VSUjogUmFpc2VkIGlmIHRo
ZSBzcGVjaWZpZWQgcnVsZSBoYXMgYSBzeW50YXggZXJyb3IgYW5kIGlzIHVucGFyc2FibGUuCisg
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
aWYgKG5ld1J1bGUtPmlzSW1wb3J0UnVsZSgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBhbiBISUVS
QVJDSFlfUkVRVUVTVF9FUlIgc2hvdWxkIGFsc28gYmUgdGhyb3duIGZvciBhIEBjaGFyc2V0IG9y
IGEgbmVzdGVkCisgICAgICAgIC8vIEBtZWRpYSBydWxlLiBUaGV5IGFyZSBjdXJyZW50bHkgbm90
IGdldHRpbmcgcGFyc2VkLCByZXN1bHRpbmcgaW4gYSBTWU5UQVhfRVJSCisgICAgICAgIC8vIHRv
IGdldCByYWlzZWQgYWJvdmUuCisKKyAgICAgICAgLy8gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBS
YWlzZWQgaWYgdGhlIHJ1bGUgY2Fubm90IGJlIGluc2VydGVkIGF0IHRoZSBzcGVjaWZpZWQKKyAg
ICAgICAgLy8gaW5kZXgsIGUuZy4sIGlmIGFuIEBpbXBvcnQgcnVsZSBpcyBpbnNlcnRlZCBhZnRl
ciBhIHN0YW5kYXJkIHJ1bGUgc2V0IG9yIG90aGVyCisgICAgICAgIC8vIGF0LXJ1bGUuCisgICAg
ICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlz
KTsKKworICAgIG1fYmxvY2tSdWxlLT53cmFwcGVySW5zZXJ0UnVsZShpbmRleCwgbmV3UnVsZSk7
CisKKyAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuaW5zZXJ0KGluZGV4LCBSZWZQdHI8Q1NT
UnVsZT4oKSk7CisgICAgcmV0dXJuIGluZGV4OworfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1
bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgordm9pZCBDU1NCbG9ja1J1bGU8c3R5bGVSdWxl
Q2xhc3MsIGNzc1J1bGVDbGFzcz46OmRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgp
ID09IG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKworICAgIGlmIChpbmRleCA+
PSBtX2Jsb2NrUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgeworICAgICAgICAvLyBJTkRFWF9T
SVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXggZG9lcyBub3QgY29ycmVzcG9u
ZCB0byBhCisgICAgICAgIC8vIHJ1bGUgaW4gdGhlIG1lZGlhIHJ1bGUgbGlzdC4KKyAgICAgICAg
ZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENTU1N0
eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7CisKKyAgICBt
X2Jsb2NrUnVsZS0+d3JhcHBlclJlbW92ZVJ1bGUoaW5kZXgpOworCisgICAgaWYgKG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVyc1tpbmRleF0pCisgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
c1tpbmRleF0tPnNldFBhcmVudFJ1bGUoMCk7CisgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJz
LnJlbW92ZShpbmRleCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIHN0eWxlUnVsZUNsYXNzLCBjbGFz
cyBjc3NSdWxlQ2xhc3M+Cit2b2lkIENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVs
ZUNsYXNzPjo6YXBwZW5kQ3NzVGV4dEZvckl0ZW1zKFN0cmluZ0J1aWxkZXImIHJlc3VsdCkgY29u
c3QKK3sKKyAgICB1bnNpZ25lZCBzaXplID0gbGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIpOworICAg
ICAgICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNzc1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5h
cHBlbmQoJ1xuJyk7CisgICAgfQorfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVDbGFzcywg
Y2xhc3MgY3NzUnVsZUNsYXNzPgordW5zaWduZWQgQ1NTQmxvY2tSdWxlPHN0eWxlUnVsZUNsYXNz
LCBjc3NSdWxlQ2xhc3M+OjpsZW5ndGgoKSBjb25zdAoreyAKKyAgICByZXR1cm4gbV9ibG9ja1J1
bGUtPmNoaWxkUnVsZXMoKS5zaXplKCk7IAorfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVD
bGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgorQ1NTUnVsZSogQ1NTQmxvY2tSdWxlPHN0eWxlUnVs
ZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreyAKKyAg
ICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiAwOworICAgIEFTU0VSVCht
X2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVz
KCkuc2l6ZSgpKTsKKyAgICBSZWZQdHI8Q1NTUnVsZT4mIHJ1bGUgPSBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaW5kZXhdOworICAgIGlmICghcnVsZSkKKyAgICAgICAgcnVsZSA9IG1fYmxvY2tS
dWxlLT5jaGlsZFJ1bGVzKClbaW5kZXhdLT5jcmVhdGVDU1NPTVdyYXBwZXIoc3RhdGljX2Nhc3Q8
Y3NzUnVsZUNsYXNzKj4oY29uc3RfY2FzdDxDU1NCbG9ja1J1bGU8c3R5bGVSdWxlQ2xhc3MsIGNz
c1J1bGVDbGFzcz4qPih0aGlzKSkpOworICAgIHJldHVybiBydWxlLmdldCgpOworfQorCit0ZW1w
bGF0ZTxjbGFzcyBzdHlsZVJ1bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgorQ1NTUnVsZUxp
c3QqIENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVsZUNsYXNzPjo6Y3NzUnVsZXMo
KSBjb25zdAoreworICAgIGlmICghbV9ydWxlTGlzdENTU09NV3JhcHBlcikKKyAgICAgICAgbV9y
dWxlTGlzdENTU09NV3JhcHBlciA9IGFkb3B0UHRyKG5ldyBMaXZlQ1NTUnVsZUxpc3Q8Y3NzUnVs
ZUNsYXNzPihzdGF0aWNfY2FzdDxjc3NSdWxlQ2xhc3MqPihjb25zdF9jYXN0PENTU0Jsb2NrUnVs
ZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVsZUNsYXNzPio+KHRoaXMpKSkpOworICAgIHJldHVybiBt
X3J1bGVMaXN0Q1NTT01XcmFwcGVyLmdldCgpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1
bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgordm9pZCBDU1NCbG9ja1J1bGU8c3R5bGVSdWxl
Q2xhc3MsIGNzc1J1bGVDbGFzcz46OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCit7Cisg
ICAgQVNTRVJUKHJ1bGUpOworICAgIG1fYmxvY2tSdWxlID0gc3RhdGljX2Nhc3Q8c3R5bGVSdWxl
Q2xhc3MqPihydWxlKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVD
U1NPTVdyYXBwZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaV0pCisgICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnJl
YXR0YWNoKG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVzKClbaV0uZ2V0KCkpOworICAgIH0KK30KKwor
dGVtcGxhdGU8Y2xhc3Mgc3R5bGVSdWxlQ2xhc3MsIGNsYXNzIGNzc1J1bGVDbGFzcz4KK3ZvaWQg
Q1NTQmxvY2tSdWxlPHN0eWxlUnVsZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlU
eXBlczo6Q1NTKTsKKyAgICBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDU1NCbG9ja1J1bGVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NI
b3N0UnVsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhkM2UyMmIwMjE2MDkxMzNiZDc3ZTU5MDczMzkwYWU5
ODgzYWEyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVs
ZS5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoqCisgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwg
KGtub2xsQGtkZS5vcmcpCisgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBr
ZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDEyIEFwcGxlIENv
bXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtQHdl
YmtpdC5vcmcpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NIb3N0UnVsZS5oIgor
CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisKKyNpbmNsdWRlICJDU1NQYXJzZXIuaCIKKyNpbmNs
dWRlICJDU1NSdWxlTGlzdC5oIgorI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiV2Vi
Q29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVt
ZW50YXRpb25WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKFN0eWxlUnVs
ZUhvc3QqIGhvc3RSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NCbG9ja1J1
bGU8U3R5bGVSdWxlSG9zdCwgQ1NTSG9zdFJ1bGU+KGhvc3RSdWxlLCBwYXJlbnQpCit7Cit9CisK
K1N0cmluZyBDU1NIb3N0UnVsZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRl
ciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVuZCgiQGhvc3QgeyBcbiIpOworICAgIGFwcGVuZENz
c1RleHRGb3JJdGVtcyhyZXN1bHQpOworICAgIHJlc3VsdC5hcHBlbmQoJ30nKTsKKyAgICByZXR1
cm4gcmVzdWx0LnRvU3RyaW5nKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShTSEFET1dfRE9NKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0hvc3RSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NTZlOWJjN2U5NjNkNmYyMDI2ZGYxZDRlNTY3Y2EyM2JiMGE1ZDgxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmgKQEAgLTAsMCArMSw0OCBA
QAorLyoKKyAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqIChD
KSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDIsIDIwMDYsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbUB3ZWJraXQub3JnKQor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisj
aWZuZGVmIENTU0hvc3RSdWxlX2gKKyNkZWZpbmUgQ1NTSG9zdFJ1bGVfaAorCisjaW5jbHVkZSAi
Q1NTQmxvY2tSdWxlLmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCitjbGFzcyBDU1NIb3N0UnVsZSA6IHB1
YmxpYyBDU1NCbG9ja1J1bGU8U3R5bGVSdWxlSG9zdCwgQ1NTSG9zdFJ1bGU+IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NIb3N0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZUhvc3Qq
IHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSG9z
dFJ1bGUocnVsZSwgc2hlZXQpKTsgfQorCisgICAgdmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUo
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDU1NSdWxlOjpIT1NUX1JVTEU7IH0KKyAgICB2aXJ0
dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgQ1NT
SG9zdFJ1bGUoU3R5bGVSdWxlSG9zdCosIENTU1N0eWxlU2hlZXQqKTsKK307CisKKyNlbmRpZiAv
LyBFTkFCTEUoU0hBRE9XX0RPTSkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gQ1NTSG9zdFJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RS
dWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTk1Nzk3OGFhNDM2ZWU5NWFlZjM3ZWM1YWQyMGYyMDY0YTE0MTNmZQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKQEAgLTAsMCArMSwzNCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0Bn
bWFpbC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCisKKy8vIEludHJvZHVjZWQgaW4gU2hhZG93IERPTSBzcGVjOgorWworICAgIENvbmRp
dGlvbmFsPVNIQURPV19ET00sCisgICAgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTQorXSBp
bnRlcmZhY2UgQ1NTSG9zdFJ1bGUgOiBDU1NSdWxlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
Q1NTUnVsZUxpc3QgY3NzUnVsZXM7CisgICAgCisgICAgdW5zaWduZWQgbG9uZyAgICAgIGluc2Vy
dFJ1bGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHJ1bGUsIAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOworICAgIHZvaWQgICAgICAgICAgICAgICBkZWxldGVSdWxlKGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlh
UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcAppbmRleCBmYzg2
MjRkYTA5MWViZGI2YTI3ZDhmNzM5ZGI2ZjkwMTc2MzQyOWU5Li4wNjkxYWYzOTJiYzc1MjQ0NGY5
YTBhNWIzYTc5YWM3MDQwYjZlNDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TWVkaWFSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcApA
QCAtMzUsMTU1ICszNSw1MSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDU1NNZWRpYVJ1bGU6
OkNTU01lZGlhUnVsZShTdHlsZVJ1bGVNZWRpYSogbWVkaWFSdWxlLCBDU1NTdHlsZVNoZWV0KiBw
YXJlbnQpCi0gICAgOiBDU1NSdWxlKHBhcmVudCkKLSAgICAsIG1fbWVkaWFSdWxlKG1lZGlhUnVs
ZSkKLSAgICAsIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyhtZWRpYVJ1bGUtPmNoaWxkUnVsZXMo
KS5zaXplKCkpCisgICAgOiBDU1NCbG9ja1J1bGU8U3R5bGVSdWxlTWVkaWEsIENTU01lZGlhUnVs
ZT4obWVkaWFSdWxlLCBwYXJlbnQpCiB7CiB9CiAKIENTU01lZGlhUnVsZTo6fkNTU01lZGlhUnVs
ZSgpCiB7Ci0gICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9t
ZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOwotCi0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgewotICAgICAgICBp
ZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQotICAgICAgICAgICAgbV9jaGlsZFJ1bGVD
U1NPTVdyYXBwZXJzW2ldLT5zZXRQYXJlbnRSdWxlKDApOwotICAgIH0KICAgICBpZiAobV9tZWRp
YUNTU09NV3JhcHBlcikKICAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBlci0+Y2xlYXJQYXJlbnRS
dWxlKCk7CiB9CiAKLXVuc2lnbmVkIENTU01lZGlhUnVsZTo6aW5zZXJ0UnVsZShjb25zdCBTdHJp
bmcmIHJ1bGVTdHJpbmcsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAg
ICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX21lZGlhUnVsZS0+
Y2hpbGRSdWxlcygpLnNpemUoKSk7Ci0KLSAgICBpZiAoaW5kZXggPiBtX21lZGlhUnVsZS0+Y2hp
bGRSdWxlcygpLnNpemUoKSkgewotICAgICAgICAvLyBJTkRFWF9TSVpFX0VSUjogUmFpc2VkIGlm
IHRoZSBzcGVjaWZpZWQgaW5kZXggaXMgbm90IGEgdmFsaWQgaW5zZXJ0aW9uIHBvaW50LgotICAg
ICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAg
ICBDU1NQYXJzZXIgcGFyc2VyKHBhcnNlckNvbnRleHQoKSk7Ci0gICAgQ1NTU3R5bGVTaGVldCog
c3R5bGVTaGVldCA9IHBhcmVudFN0eWxlU2hlZXQoKTsKLSAgICBSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4gbmV3UnVsZSA9IHBhcnNlci5wYXJzZVJ1bGUoc3R5bGVTaGVldCA/IHN0eWxlU2hlZXQtPmNv
bnRlbnRzKCkgOiAwLCBydWxlU3RyaW5nKTsKLSAgICBpZiAoIW5ld1J1bGUpIHsKLSAgICAgICAg
Ly8gU1lOVEFYX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgcnVsZSBoYXMgYSBzeW50YXgg
ZXJyb3IgYW5kIGlzIHVucGFyc2FibGUuCi0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgaWYgKG5ld1J1bGUtPmlzSW1wb3J0UnVsZSgpKSB7
Ci0gICAgICAgIC8vIEZJWE1FOiBhbiBISUVSQVJDSFlfUkVRVUVTVF9FUlIgc2hvdWxkIGFsc28g
YmUgdGhyb3duIGZvciBhIEBjaGFyc2V0IG9yIGEgbmVzdGVkCi0gICAgICAgIC8vIEBtZWRpYSBy
dWxlLiAgVGhleSBhcmUgY3VycmVudGx5IG5vdCBnZXR0aW5nIHBhcnNlZCwgcmVzdWx0aW5nIGlu
IGEgU1lOVEFYX0VSUgotICAgICAgICAvLyB0byBnZXQgcmFpc2VkIGFib3ZlLgotCi0gICAgICAg
IC8vIEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogUmFpc2VkIGlmIHRoZSBydWxlIGNhbm5vdCBiZSBp
bnNlcnRlZCBhdCB0aGUgc3BlY2lmaWVkCi0gICAgICAgIC8vIGluZGV4LCBlLmcuLCBpZiBhbiBA
aW1wb3J0IHJ1bGUgaXMgaW5zZXJ0ZWQgYWZ0ZXIgYSBzdGFuZGFyZCBydWxlIHNldCBvciBvdGhl
cgotICAgICAgICAvLyBhdC1ydWxlLgotICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VS
UjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVNdXRh
dGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7Ci0KLSAgICBtX21lZGlhUnVsZS0+d3JhcHBl
ckluc2VydFJ1bGUoaW5kZXgsIG5ld1J1bGUpOwotCi0gICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzLmluc2VydChpbmRleCwgUmVmUHRyPENTU1J1bGU+KCkpOwotICAgIHJldHVybiBpbmRleDsK
LX0KLQotdm9pZCBDU1NNZWRpYVJ1bGU6OmRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQotewotICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6
ZSgpID09IG1fbWVkaWFSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKLQotICAgIGlmIChpbmRl
eCA+PSBtX21lZGlhUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgewotICAgICAgICAvLyBJTkRF
WF9TSVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXggZG9lcyBub3QgY29ycmVz
cG9uZCB0byBhCi0gICAgICAgIC8vIHJ1bGUgaW4gdGhlIG1lZGlhIHJ1bGUgbGlzdC4KLSAgICAg
ICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIENT
U1N0eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7Ci0KLSAg
ICBtX21lZGlhUnVsZS0+d3JhcHBlclJlbW92ZVJ1bGUoaW5kZXgpOwotCi0gICAgaWYgKG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVyc1tpbmRleF0pCi0gICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFw
cGVyc1tpbmRleF0tPnNldFBhcmVudFJ1bGUoMCk7Ci0gICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzLnJlbW92ZShpbmRleCk7Ci19Ci0KIFN0cmluZyBDU1NNZWRpYVJ1bGU6OmNzc1RleHQoKSBj
b25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBlbmQoIkBt
ZWRpYSAiKTsKLSAgICBpZiAobV9tZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpKSB7Ci0gICAgICAg
IHJlc3VsdC5hcHBlbmQobV9tZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpLT5tZWRpYVRleHQoKSk7
CisgICAgaWYgKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMoKSkgeworICAgICAgICByZXN1bHQu
YXBwZW5kKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMoKS0+bWVkaWFUZXh0KCkpOwogICAgICAg
ICByZXN1bHQuYXBwZW5kKCcgJyk7CiAgICAgfQogICAgIHJlc3VsdC5hcHBlbmQoInsgXG4iKTsK
LSAgICAKLSAgICB1bnNpZ25lZCBzaXplID0gbGVuZ3RoKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIpOwotICAg
ICAgICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNzc1RleHQoKSk7Ci0gICAgICAgIHJlc3VsdC5h
cHBlbmQoJ1xuJyk7Ci0gICAgfQotCisgICAgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKHJlc3VsdCk7
CiAgICAgcmVzdWx0LmFwcGVuZCgnfScpOwogICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsK
IH0KIAogTWVkaWFMaXN0KiBDU1NNZWRpYVJ1bGU6Om1lZGlhKCkgY29uc3QKIHsKLSAgICBpZiAo
IW1fbWVkaWFSdWxlLT5tZWRpYVF1ZXJpZXMoKSkKKyAgICBpZiAoIW1fYmxvY2tSdWxlLT5tZWRp
YVF1ZXJpZXMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKCFtX21lZGlhQ1NTT01XcmFw
cGVyKQotICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVhdGUobV9t
ZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpLCBjb25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMp
KTsKKyAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBlciA9IE1lZGlhTGlzdDo6Y3JlYXRlKG1fYmxv
Y2tSdWxlLT5tZWRpYVF1ZXJpZXMoKSwgY29uc3RfY2FzdDxDU1NNZWRpYVJ1bGUqPih0aGlzKSk7
CiAgICAgcmV0dXJuIG1fbWVkaWFDU1NPTVdyYXBwZXIuZ2V0KCk7CiB9CiAKLXVuc2lnbmVkIENT
U01lZGlhUnVsZTo6bGVuZ3RoKCkgY29uc3QKLXsgCi0gICAgcmV0dXJuIG1fbWVkaWFSdWxlLT5j
aGlsZFJ1bGVzKCkuc2l6ZSgpOyAKLX0KLQotQ1NTUnVsZSogQ1NTTWVkaWFSdWxlOjppdGVtKHVu
c2lnbmVkIGluZGV4KSBjb25zdAoteyAKLSAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCi0gICAg
ICAgIHJldHVybiAwOwotICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgp
ID09IG1fbWVkaWFSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKLSAgICBSZWZQdHI8Q1NTUnVs
ZT4mIHJ1bGUgPSBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdOwotICAgIGlmICghcnVs
ZSkKLSAgICAgICAgcnVsZSA9IG1fbWVkaWFSdWxlLT5jaGlsZFJ1bGVzKClbaW5kZXhdLT5jcmVh
dGVDU1NPTVdyYXBwZXIoY29uc3RfY2FzdDxDU1NNZWRpYVJ1bGUqPih0aGlzKSk7Ci0gICAgcmV0
dXJuIHJ1bGUuZ2V0KCk7Ci19Ci0KLUNTU1J1bGVMaXN0KiBDU1NNZWRpYVJ1bGU6OmNzc1J1bGVz
KCkgY29uc3QKLXsKLSAgICBpZiAoIW1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpCi0gICAgICAgIG1f
cnVsZUxpc3RDU1NPTVdyYXBwZXIgPSBhZG9wdFB0cihuZXcgTGl2ZUNTU1J1bGVMaXN0PENTU01l
ZGlhUnVsZT4oY29uc3RfY2FzdDxDU1NNZWRpYVJ1bGUqPih0aGlzKSkpOwotICAgIHJldHVybiBt
X3J1bGVMaXN0Q1NTT01XcmFwcGVyLmdldCgpOwotfQotCiB2b2lkIENTU01lZGlhUnVsZTo6cmVh
dHRhY2goU3R5bGVSdWxlQmFzZSogcnVsZSkKIHsKLSAgICBBU1NFUlQocnVsZSk7Ci0gICAgQVNT
RVJUKHJ1bGUtPmlzTWVkaWFSdWxlKCkpOwotICAgIG1fbWVkaWFSdWxlID0gc3RhdGljX2Nhc3Q8
U3R5bGVSdWxlTWVkaWEqPihydWxlKTsKLSAgICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAmJiBt
X21lZGlhUnVsZS0+bWVkaWFRdWVyaWVzKCkpCi0gICAgICAgIG1fbWVkaWFDU1NPTVdyYXBwZXIt
PnJlYXR0YWNoKG1fbWVkaWFSdWxlLT5tZWRpYVF1ZXJpZXMoKSk7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgewotICAg
ICAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQotICAgICAgICAgICAgbV9jaGls
ZFJ1bGVDU1NPTVdyYXBwZXJzW2ldLT5yZWF0dGFjaChtX21lZGlhUnVsZS0+Y2hpbGRSdWxlcygp
W2ldLmdldCgpKTsKLSAgICB9CisgICAgQ1NTQmxvY2tSdWxlPFN0eWxlUnVsZU1lZGlhLCBDU1NN
ZWRpYVJ1bGU+OjpyZWF0dGFjaChydWxlKTsKKyAgICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAm
JiBtX2Jsb2NrUnVsZS0+bWVkaWFRdWVyaWVzKCkpCisgICAgICAgIG1fbWVkaWFDU1NPTVdyYXBw
ZXItPnJlYXR0YWNoKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMoKSk7CiB9CiAKIHZvaWQgQ1NT
TWVkaWFSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBDU1NSdWxlOjpyZXBvcnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICBDU1NCbG9ja1J1bGU8U3R5bGVSdWxl
TWVkaWEsIENTU01lZGlhUnVsZT46OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFDU1NPTVdyYXBwZXIpOwotICAgIGluZm8uYWRk
TWVtYmVyKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9y
dWxlTGlzdENTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NNZWRpYVJ1bGUuaAppbmRleCA4NzgzNTk0ODRiNDdlMTQ0OTgxMDUxNGI0YzlkYzhl
NGQ4MzM3NDU4Li41NzEwODY0NGVmZmQ4NmI5M2M2NDg3NjViM2QzMDA3NGE0ZGFlYzMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oCkBAIC0yMywxNSArMjMsMTQgQEAKICNpZm5kZWYgQ1NT
TWVkaWFSdWxlX2gKICNkZWZpbmUgQ1NTTWVkaWFSdWxlX2gKIAotI2luY2x1ZGUgIkNTU1J1bGUu
aCIKKyNpbmNsdWRlICJDU1NCbG9ja1J1bGUuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1NSdWxlTGlzdDsKIGNsYXNzIFN0eWxlUnVs
ZU1lZGlhOwogCi1jbGFzcyBDU1NNZWRpYVJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CitjbGFzcyBD
U1NNZWRpYVJ1bGUgOiBwdWJsaWMgQ1NTQmxvY2tSdWxlPFN0eWxlUnVsZU1lZGlhLCBDU1NNZWRp
YVJ1bGU+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NNZWRpYVJ1bGU+IGNy
ZWF0ZShTdHlsZVJ1bGVNZWRpYSogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBDU1NNZWRpYVJ1bGUocnVsZSwgc2hlZXQpKTsgfQogCkBAIC00MywyMiAr
NDIsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBPVkVS
UklERTsKIAogICAgIE1lZGlhTGlzdCogbWVkaWEoKSBjb25zdDsKLSAgICBDU1NSdWxlTGlzdCog
Y3NzUnVsZXMoKSBjb25zdDsKLQotICAgIHVuc2lnbmVkIGluc2VydFJ1bGUoY29uc3QgU3RyaW5n
JiBydWxlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgZGVsZXRl
UnVsZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAgICAKLSAgICAvLyBG
b3IgQ1NTUnVsZUxpc3QKLSAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKLSAgICBDU1NSdWxl
KiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBDU1NNZWRpYVJ1
bGUoU3R5bGVSdWxlTWVkaWEqLCBDU1NTdHlsZVNoZWV0Kik7CiAgICAgCi0gICAgUmVmUHRyPFN0
eWxlUnVsZU1lZGlhPiBtX21lZGlhUnVsZTsKICAgICBtdXRhYmxlIFJlZlB0cjxNZWRpYUxpc3Q+
IG1fbWVkaWFDU1NPTVdyYXBwZXI7Ci0gICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+
ID4gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzOwotICAgIG11dGFibGUgT3duUHRyPENTU1J1bGVM
aXN0PiBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggMDc1OGU3NGY4MTUwYTk3OTRlYTFjYjgzODExMjYxMTE0
NGYzMjA2Ny4uMTJmZjVkMDcyMDMxMzc0Zjg4YjU0OTY4MWM1NTI4NWI2YjBjOWM1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5oCkBAIC01NCw3ICs1NCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIFdFQktJVF9W
SUVXUE9SVF9SVUxFID0gMTUsCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCi0gICAg
ICAgIFdFQktJVF9SRUdJT05fUlVMRSA9IDE2CisgICAgICAgIFdFQktJVF9SRUdJT05fUlVMRSA9
IDE2LAorI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIEhPU1RfUlVMRSA9
IDEwMDEsCiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKaW5kZXggYWYxMThm
ZTcyYjliODA3NGY3ZDYwODJkMDkzZTI3MGNmZjJiMTA2OC4uZDUwNGUwYzBlYWU5ZDgwODkzMTUw
OTFjZjZjOTJiOWEwODhiZmFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1
bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbApAQCAtNDMsNiArNDMs
OSBAQAogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19SRUdJT05TKSAmJiBFTkFCTEVfQ1NTX1JFR0lP
TlMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNjsKICNl
bmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFET1dfRE9N
CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSE9TVF9SVUxFID0gMTAwMTsKKyNlbmRpZgogCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgdHlwZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDA5OGUwZDU3YzBiN2UxZDc0ZWQxNTA4ZjdlOTAw
ZDUxNmMyZTk3MGQuLjM1YmEwMDVlZDhkMmU0M2FiZmRkM2Y0ZDllMTgzY2E0ZTQwZjAyODcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgi
CiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuaCIK
ICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5W
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgpAQCAtMjY0Miw2ICsyNjQzLDExIEBA
IHN0YXRpYyB2b2lkIGNvbGxlY3RDU1NPTVdyYXBwZXJzKEhhc2hNYXA8U3R5bGVSdWxlKiwgUmVm
UHRyPENTU1N0eWxlUnVsZT4gPiYgd3JhCiAgICAgICAgICAgICBjb2xsZWN0Q1NTT01XcmFwcGVy
cyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oY3NzUnVsZSkp
OwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAg
ICAgICAgY2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6CisgICAgICAgICAgICBjb2xsZWN0Q1NTT01X
cmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxDU1NIb3N0UnVsZSo+KGNzc1J1bGUpKTsK
KyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6U1RZTEVf
UlVMRToKICAgICAgICAgICAgIHdyYXBwZXJNYXAuYWRkKHN0YXRpY19jYXN0PENTU1N0eWxlUnVs
ZSo+KGNzc1J1bGUpLT5zdHlsZVJ1bGUoKSwgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4oY3Nz
UnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4
IDQzZTZhNWUxMzc2ODBjYzJkMWM2YWMzMDE5M2RmZTY1NjY2MjMwMjAuLjE0NjMyOGY5YjQ4MDU3
YjZkZmVhMjlhYjZkNGEzZTQ1NTkxZTIxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBA
IC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUg
IkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNT
U1BhZ2VSdWxlLmgiCkBAIC04Miw4ICs4Myw4IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAg
ICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyktPnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJu
OwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKLSAgICAgICAgc3RhdGlj
X2Nhc3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGNhc2UgSG9zdEludGVybmFsOgorICAgICAg
ICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlm
CiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKQEAgLTEzMCw3ICsxMzEsNyBAQCB2
b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
U3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKICNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKLSAgICBjYXNlIEhvc3Q6CisgICAgY2FzZSBIb3N0SW50ZXJuYWw6CiAgICAg
ICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4odGhpcyk7CiAgICAgICAgIHJl
dHVybjsKICNlbmRpZgpAQCAtMTczLDcgKzE3NCw3IEBAIFBhc3NSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4gU3R5bGVSdWxlQmFzZTo6Y29weSgpIGNvbnN0CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlzKS0+
Y29weSgpOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKKyAgICBjYXNl
IEhvc3RJbnRlcm5hbDoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVs
ZUhvc3QqPih0aGlzKS0+Y29weSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURB
UFRBVElPTikKQEAgLTIyNyw5ICsyMjgsOCBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVs
ZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogICAg
ICAgICBicmVhazsKICNlbmRpZgogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9z
dDoKLSAgICAgICAgLy8gRklYTUU6IFRoZSBjdXJyZW50IENTU09NIGVkaXRvcidzIGRyYWZ0ICho
dHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8pIGRvZXMgbm90IGhhbmRsZSBAaG9zdCBydWxl
cyAoc2VlIGJ1ZyAxMDIzNDQpLgotICAgICAgICBydWxlID0gYWRvcHRSZWYobmV3IENTU1Vua25v
d25SdWxlKCkpOworICAgIGNhc2UgSG9zdEludGVybmFsOgorICAgICAgICBydWxlID0gQ1NTSG9z
dFJ1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4oc2VsZiksIHBhcmVudFNo
ZWV0KTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIFVua25vd246CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlLmgKaW5kZXggNGVmNzY0MjgzODhiMWM0NzJlMTM5MWMzOTFiMjNhODY4MWZjMTYz
NS4uNWViOGVhODU5ZjhlODllOGI0OWY1NTExNWJmN2Y5YTY1NGQ3MjA3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuaApAQCAtNDYsMTQgKzQ2LDE1IEBAIHB1YmxpYzoKICAgICAgICAgUGFnZSwKICAg
ICAgICAgS2V5ZnJhbWVzLAogICAgICAgICBLZXlmcmFtZSwgLy8gTm90IHVzZWQuIFRoZXNlIGFy
ZSBpbnRlcm5hbGx5IG5vbi1ydWxlIFN0eWxlS2V5ZnJhbWUgb2JqZWN0cy4KLSNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKLSAgICAgICAgSG9zdCwKLSNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNF
X0FEQVBUQVRJT04pCiAgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAjZW5kaWYKLSAgICAgICAgUmVn
aW9uID0gMTYKKyAgICAgICAgUmVnaW9uID0gMTYsCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisg
ICAgICAgIEhvc3RJbnRlcm5hbCA9IDE3LCAvLyBTcGVjIHNheXMgSG9zdCA9IDEwMDEsIGJ1dCB3
ZSBjYW4gdXNlIG9ubHkgNSBiaXQgZm9yIHR5cGUoKS4KKyNlbmRpZgogICAgIH07CisKICAgICBU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUpOyB9CiAg
ICAgCiAgICAgYm9vbCBpc0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IENo
YXJzZXQ7IH0KQEAgLTY4LDcgKzY5LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgYm9vbCBpc0lt
cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAjaWYgRU5BQkxF
KFNIQURPV19ET00pCi0gICAgYm9vbCBpc0hvc3RSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgp
ID09IEhvc3Q7IH0KKyAgICBib29sIGlzSG9zdFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gSG9zdEludGVybmFsOyB9CiAjZW5kaWYKIAogICAgIFBhc3NSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4gY29weSgpIGNvbnN0OwpAQCAtMjQ2LDcgKzI0Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVm
UHRyPFN0eWxlUnVsZUhvc3Q+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5
bGVSdWxlSG9zdCgqdGhpcykpOyB9CiAKIHByaXZhdGU6Ci0gICAgU3R5bGVSdWxlSG9zdChWZWN0
b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpIDogU3R5bGVSdWxlQmxvY2so
SG9zdCwgYWRvcHRSdWxlcykgeyB9CisgICAgU3R5bGVSdWxlSG9zdChWZWN0b3I8UmVmUHRyPFN0
eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpIDogU3R5bGVSdWxlQmxvY2soSG9zdEludGVybmFs
LCBhZG9wdFJ1bGVzKSB7IH0KICAgICBTdHlsZVJ1bGVIb3N0KGNvbnN0IFN0eWxlUnVsZUhvc3Qm
IG8pIDogU3R5bGVSdWxlQmxvY2sobykgeyB9CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IGRjNTIxZGYzOWMyYmQ0MzY1NjRmZjViYzg4
N2QxYTNiMTBiZDdiMWIuLjI0YzZhZGQ2ZmU1YTNkNzBhM2Q2ZTRmNDkyNGM1Y2Y0MWVlNWQ5ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC00NDQsNyAr
NDQ0LDcgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVz
b3VyY2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgICAg
ICBjYXNlIFN0eWxlUnVsZUJhc2U6Okhvc3Q6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6
SG9zdEludGVybmFsOgogICAgICAgICAgICAgaWYgKGNoaWxkUnVsZXNIYXZlRmFpbGVkT3JDYW5j
ZWxlZFN1YnJlc291cmNlcyhzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4ocnVsZSkt
PmNoaWxkUnVsZXMoKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAg
ICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25S
dWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcAppbmRl
eCA2OGRiOTY0MWNiMjdlMDk0OTYwMmI1NDFhYWU2NDNkYmQ0NWY5ZmYyLi5lNWMxZjMzMzExOGZi
M2I0YTk5YjE4OGRjYTJhZTFjMTQ0OTFjNWExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1JlZ2lvblJ1bGUuY3BwCkBAIC00Miw4NCArNDIsMjUgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogV2ViS2l0Q1NTUmVnaW9uUnVsZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZShTdHlsZVJ1bGVS
ZWdpb24qIHJlZ2lvblJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU1J1bGUo
cGFyZW50KQotICAgICwgbV9yZWdpb25SdWxlKHJlZ2lvblJ1bGUpCi0gICAgLCBtX2NoaWxkUnVs
ZUNTU09NV3JhcHBlcnMocmVnaW9uUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkKKyAgICA6IENT
U0Jsb2NrUnVsZShyZWdpb25SdWxlLCBwYXJlbnQpCiB7CiB9CiAKLVdlYktpdENTU1JlZ2lvblJ1
bGU6On5XZWJLaXRDU1NSZWdpb25SdWxlKCkKLXsKLSAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBp
IDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKTsgKytpKSB7Ci0gICAgICAgIGlmICht
X2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0pCi0gICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaV0tPnNldFBhcmVudFJ1bGUoMCk7Ci0gICAgfQotfQotCiBTdHJpbmcgV2ViS2l0
Q1NTUmVnaW9uUnVsZTo6Y3NzVGV4dCgpIGNvbnN0CiB7CiAgICAgU3RyaW5nQnVpbGRlciByZXN1
bHQ7CiAgICAgcmVzdWx0LmFwcGVuZCgiQC13ZWJraXQtcmVnaW9uICIpOwogCiAgICAgLy8gRmly
c3QgYWRkIHRoZSBzZWxlY3RvcnMuCi0gICAgcmVzdWx0LmFwcGVuZChtX3JlZ2lvblJ1bGUtPnNl
bGVjdG9yTGlzdCgpLnNlbGVjdG9yc1RleHQoKSk7CisgICAgcmVzdWx0LmFwcGVuZChtX2Jsb2Nr
UnVsZS0+c2VsZWN0b3JMaXN0KCkuc2VsZWN0b3JzVGV4dCgpKTsKIAogICAgIC8vIFRoZW4gYWRk
IHRoZSBydWxlcy4KICAgICByZXN1bHQuYXBwZW5kKCIgeyBcbiIpOwotCi0gICAgdW5zaWduZWQg
c2l6ZSA9IGxlbmd0aCgpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kp
IHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgiICAiKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChp
dGVtKGkpLT5jc3NUZXh0KCkpOwotICAgICAgICByZXN1bHQuYXBwZW5kKCJcbiIpOwotICAgIH0K
KyAgICBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMocmVzdWx0KTsKICAgICByZXN1bHQuYXBwZW5kKCJ9
Iik7CiAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOwogfQogCi11bnNpZ25lZCBXZWJLaXRD
U1NSZWdpb25SdWxlOjpsZW5ndGgoKSBjb25zdAoteyAKLSAgICByZXR1cm4gbV9yZWdpb25SdWxl
LT5jaGlsZFJ1bGVzKCkuc2l6ZSgpOyAKLX0KLQotQ1NTUnVsZSogV2ViS2l0Q1NTUmVnaW9uUnVs
ZTo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QKLXsgCi0gICAgaWYgKGluZGV4ID49IGxlbmd0
aCgpKQotICAgICAgICByZXR1cm4gMDsKLSAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzLnNpemUoKSA9PSBtX3JlZ2lvblJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOwotICAgIFJl
ZlB0cjxDU1NSdWxlPiYgcnVsZSA9IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpbmRleF07Ci0g
ICAgaWYgKCFydWxlKQotICAgICAgICBydWxlID0gbV9yZWdpb25SdWxlLT5jaGlsZFJ1bGVzKClb
aW5kZXhdLT5jcmVhdGVDU1NPTVdyYXBwZXIoY29uc3RfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxl
Kj4odGhpcykpOwotICAgIHJldHVybiBydWxlLmdldCgpOwotfQotCi1DU1NSdWxlTGlzdCogV2Vi
S2l0Q1NTUmVnaW9uUnVsZTo6Y3NzUnVsZXMoKSBjb25zdAotewotICAgIGlmICghbV9ydWxlTGlz
dENTU09NV3JhcHBlcikKLSAgICAgICAgbV9ydWxlTGlzdENTU09NV3JhcHBlciA9IGFkb3B0UHRy
KG5ldyBMaXZlQ1NTUnVsZUxpc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZT4oY29uc3RfY2FzdDxXZWJL
aXRDU1NSZWdpb25SdWxlKj4odGhpcykpKTsKLSAgICByZXR1cm4gbV9ydWxlTGlzdENTU09NV3Jh
cHBlci5nZXQoKTsKLX0KLQotdm9pZCBXZWJLaXRDU1NSZWdpb25SdWxlOjpyZWF0dGFjaChTdHls
ZVJ1bGVCYXNlKiBydWxlKQotewotICAgIEFTU0VSVChydWxlKTsKLSAgICBBU1NFUlQocnVsZS0+
aXNSZWdpb25SdWxlKCkpOwotICAgIG1fcmVnaW9uUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVJlZ2lvbio+KHJ1bGUpOwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkUnVs
ZUNTU09NV3JhcHBlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fY2hpbGRSdWxlQ1NT
T01XcmFwcGVyc1tpXSkKLSAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+
cmVhdHRhY2gobV9yZWdpb25SdWxlLT5jaGlsZFJ1bGVzKClbaV0uZ2V0KCkpOwotICAgIH0KLX0K
LQotdm9pZCBXZWJLaXRDU1NSZWdpb25SdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAotewotICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAg
ICBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKLSAgICBpbmZv
LmFkZE1lbWJlcihtX3JlZ2lvblJ1bGUpOwotICAgIGluZm8uYWRkTWVtYmVyKG1fY2hpbGRSdWxl
Q1NTT01XcmFwcGVycyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9ydWxlTGlzdENTU09NV3JhcHBl
cik7Ci19Ci0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIAogI2VuZGlmCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaAppbmRleCBhNjhiYTExZDUwY2QzZDc5MWUwZWRlNWNl
MjhiOTYxMTYzZTBiYjQ4Li4wZjMyZmIxYTA3OTAxNDhlY2E1NDM3ZDlmM2NhYWU0NzBhZDJlZWI2
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmgKQEAgLTMxLDQxICsz
MSwyNCBAQAogI2lmbmRlZiBXZWJLaXRDU1NSZWdpb25SdWxlX2gKICNkZWZpbmUgV2ViS2l0Q1NT
UmVnaW9uUnVsZV9oCiAKLSNpbmNsdWRlICJDU1NSdWxlLmgiCisjaW5jbHVkZSAiQ1NTQmxvY2tS
dWxlLmgiCiAjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgogCiAjaWYgRU5BQkxFKENTU19SRUdJT05T
KQogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENTU1J1bGVMaXN0OwogY2xhc3MgU3R5
bGVSdWxlUmVnaW9uOwogCi1jbGFzcyBXZWJLaXRDU1NSZWdpb25SdWxlIDogcHVibGljIENTU1J1
bGUgeworY2xhc3MgV2ViS2l0Q1NTUmVnaW9uUnVsZSA6IHB1YmxpYyBDU1NCbG9ja1J1bGU8U3R5
bGVSdWxlUmVnaW9uLCBXZWJLaXRDU1NSZWdpb25SdWxlPiB7CiBwdWJsaWM6CiAgICAgc3RhdGlj
IFBhc3NSZWZQdHI8V2ViS2l0Q1NTUmVnaW9uUnVsZT4gY3JlYXRlKFN0eWxlUnVsZVJlZ2lvbiog
cnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJLaXRD
U1NSZWdpb25SdWxlKHJ1bGUsIHNoZWV0KSk7IH0KIAotICAgIHZpcnR1YWwgfldlYktpdENTU1Jl
Z2lvblJ1bGUoKTsKLQogICAgIHZpcnR1YWwgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29uc3QgT1ZF
UlJJREUgeyByZXR1cm4gV0VCS0lUX1JFR0lPTl9SVUxFOyB9CiAgICAgdmlydHVhbCBTdHJpbmcg
Y3NzVGV4dCgpIGNvbnN0IE9WRVJSSURFOwotICAgIHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHls
ZVJ1bGVCYXNlKikgT1ZFUlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdl
KE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVSUklERTsKLQotICAgIENTU1J1bGVMaXN0KiBj
c3NSdWxlcygpIGNvbnN0OwotICAgIAotICAgIC8vIEZvciBDU1NSdWxlTGlzdAotICAgIHVuc2ln
bmVkIGxlbmd0aCgpIGNvbnN0OwotICAgIENTU1J1bGUqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNv
bnN0OwogCiBwcml2YXRlOgogICAgIFdlYktpdENTU1JlZ2lvblJ1bGUoU3R5bGVSdWxlUmVnaW9u
KiwgQ1NTU3R5bGVTaGVldCogcGFyZW50KTsKLQotICAgIFJlZlB0cjxTdHlsZVJ1bGVSZWdpb24+
IG1fcmVnaW9uUnVsZTsKLSAgICBtdXRhYmxlIFZlY3RvcjxSZWZQdHI8Q1NTUnVsZT4gPiBtX2No
aWxkUnVsZUNTU09NV3JhcHBlcnM7Ci0gICAgbXV0YWJsZSBPd25QdHI8Q1NTUnVsZUxpc3Q+IG1f
cnVsZUxpc3RDU1NPTVdyYXBwZXI7Ci0gICAgCi0gICAgZnJpZW5kIGNsYXNzIFN0eWxlUnVsZUJs
b2NrOwogfTsKIAogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cu
aWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IGM5NmM3MjUyYTJi
OWZmYTkzNWE2NDE1YWVmYTJjNDYzY2NjZGUzMTYuLmUzZTAwM2ZlNmFhMTVhY2NjNjYwZTE1YTE4
ZTY2Y2Y2OTYyZGNkMDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTM0OCw2ICsz
NDgsOSBAQAogICAgIGF0dHJpYnV0ZSBDU1NSdWxlQ29uc3RydWN0b3IgQ1NTUnVsZTsKICAgICBh
dHRyaWJ1dGUgQ1NTQ2hhcnNldFJ1bGVDb25zdHJ1Y3RvciBDU1NDaGFyc2V0UnVsZTsKICAgICBh
dHRyaWJ1dGUgQ1NTRm9udEZhY2VSdWxlQ29uc3RydWN0b3IgQ1NTRm9udEZhY2VSdWxlOworI2lm
IGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFET1dfRE9NCisgICAgYXR0
cmlidXRlIENTU0hvc3RSdWxlQ29uc3RydWN0b3IgQ1NTSG9zdFJ1bGU7CisjZW5kaWYKICAgICBh
dHRyaWJ1dGUgQ1NTSW1wb3J0UnVsZUNvbnN0cnVjdG9yIENTU0ltcG9ydFJ1bGU7CiAgICAgYXR0
cmlidXRlIENTU01lZGlhUnVsZUNvbnN0cnVjdG9yIENTU01lZGlhUnVsZTsKICAgICBhdHRyaWJ1
dGUgQ1NTUGFnZVJ1bGVDb25zdHJ1Y3RvciBDU1NQYWdlUnVsZTsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCAwMzc5MjUzYTNh
MmE2NTdlYTAwNzAzMTkyYWI3MzUxNzYzZTkzZjNmLi41NmM2Mzg1YTNjMDE1OGQ1ZTEyZmFhODVl
OTM2NDNkODljMmViYzliIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDEtMDggIFRha2Fz
aGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1NI
b3N0UnVsZSBmb3IgQGhvc3QgQC1ydWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEwMjM0NAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGktZXhw
ZWN0ZWQudHh0OiBBZGRlZC4KKyAgICAgICAgKiBmYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxl
LWFwaS5odG1sOiBBZGRlZC4KKwogMjAxMy0wMS0wNyAgQWRhbSBCYXJ0aCAgPGFiYXJ0aEB3ZWJr
aXQub3JnPgogCiAgICAgICAgIEhUTUxUcmVlQnVpbGRlciBzaG91bGQgbm90IGRlcGVuZCBvbiBG
cmFtZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVs
ZS1hcGktZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0
cnVsZS1hcGktZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyMTk1Njc3ZWRmZTk4N2I0YTc4NjNj
MjAwMmM0ZjE1MzI5NWQ4YTQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2Rv
bS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQKQEAgLTAsMCArMSwyOSBAQAor
VGVzdCB3aGV0aGVyIENTU0hvc3RSdWxlIEFQSSB3b3JrcyBjb3JyZWN0bHkgb3Igbm90LgorCitP
biBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBmb2xs
b3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworQmVmb3JlIGluc2VydGluZyBhIGJvcmRlciBy
dWxlIGludG8gQGhvc3QgQC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3Jk
ZXJDb2xvciBpcyAicmdiKDAsIDAsIDApIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgg
aXMgMAorUEFTUyBob3N0UnVsZS50eXBlIGlzIDEwMDEKK0FmdGVyIGluc2VydGluZyBhIGJvcmRl
ciBydWxlIHdpdGggYW4gaWQgc2VsZWN0b3IgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRD
b21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1Mg
aG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIGlzIDEKK1BBU1MgaG9zdFJ1bGUuY3NzVGV4dCBpcyAi
QGhvc3QgeyBcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XG59IgorUEFTUyBob3N0
UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0IGlzICIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47
IH0iCitBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSB3aXRoIGEgdGFnIHNlbGVjdG9yIGlu
dG8gQGhvc3QgQC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xv
ciBpcyAicmdiKDAsIDEyOCwgMCkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCBpcyAy
CitQQVNTIGhvc3RSdWxlLmNzc1RleHQgaXMgIkBob3N0IHsgXG4gICNob3N0IHsgYm9yZGVyLWNv
bG9yOiBncmVlbjsgfVxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1cbn0iCitQQVNTIGhv
c3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVl
bjsgfSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMV0uY3NzVGV4dCBpcyAiZGl2IHsgYm9yZGVy
LWNvbG9yOiBibHVlOyB9IgorQWZ0ZXIgZGVsZXRpbmcgdGhlIGJvcmRlciBydWxlIHdpdGggYW4g
aWQgc2VsZWN0b3IgZnJvbSBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGhv
c3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMCwgMjU1KSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVs
ZXMubGVuZ3RoIGlzIDEKK1BBU1MgaG9zdFJ1bGUuY3NzVGV4dCBpcyAiQGhvc3QgeyBcbiAgZGl2
IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9XG59IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlc1swXS5j
c3NUZXh0IGlzICJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iCitQQVNTIHN1Y2Nlc3NmdWxs
eVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzgxNWM2N2Nm
NDMyYzRlNTA1NjMzYWExYjhjYjc0MjE1MDcxODk2ZAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKQEAgLTAsMCArMSw0
OCBAQAorPCFkb2N0eXBlIGh0bWw+Cis8aHRtbD4KKzxoZWFkPgorPHNjcmlwdCBzcmM9InJlc291
cmNlcy9wb2x5ZmlsbC5qcyI+PC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KKzwvaGVhZD4KKzxib2R5PgorICA8ZGl2IGlk
PSJob3N0Ij5UaGlzIGRpdiBpcyBhIHNoYWRvdyBob3N0LjwvZGl2PgorPC9ib2R5PgorPHNjcmlw
dD4KK2Rlc2NyaXB0aW9uKCJUZXN0IHdoZXRoZXIgQ1NTSG9zdFJ1bGUgQVBJIHdvcmtzIGNvcnJl
Y3RseSBvciBub3QuIik7Cit2YXIgaG9zdCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdob3N0
Jyk7Cit2YXIgc2hhZG93Um9vdCA9IGhvc3Qud2Via2l0Q3JlYXRlU2hhZG93Um9vdCgpOworc2hh
ZG93Um9vdC5pbm5lckhUTUwgPSAnPHN0eWxlIGlkPSJzdHlsZTEiPkBob3N0IHt9PC9zdHlsZT48
ZGl2PlNoYWRvdyBUZXh0PC9kaXY+JzsKKyAgCitkZWJ1ZygiQmVmb3JlIGluc2VydGluZyBhIGJv
cmRlciBydWxlIGludG8gQGhvc3QgQC1ydWxlczoiKTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0
eWxlKGhvc3QpLmJvcmRlckNvbG9yIiwgJyJyZ2IoMCwgMCwgMCkiJyk7CisKK3ZhciBzdHlsZVNo
ZWV0ID0gc2hhZG93Um9vdC5nZXRFbGVtZW50QnlJZCgnc3R5bGUxJykuc2hlZXQ7Cit2YXIgaG9z
dFJ1bGUgPSBzdHlsZVNoZWV0LmNzc1J1bGVzWzBdOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1
bGVzLmxlbmd0aCIsICcwJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUudHlwZSIsICcxMDAxJyk7Cisg
IAorZGVidWcoIkFmdGVyIGluc2VydGluZyBhIGJvcmRlciBydWxlIHdpdGggYW4gaWQgc2VsZWN0
b3IgaW50byBAaG9zdCBALXJ1bGVzOiIpOworaG9zdFJ1bGUuaW5zZXJ0UnVsZSgiI2hvc3QgeyBi
b3JkZXItY29sb3I6IGdyZWVuOyB9IiwgaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoKTsKK3Nob3Vs
ZEJlKCJnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIiwgJyJyZ2IoMCwgMTI4LCAw
KSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMScpOworc2hvdWxk
QmUoImhvc3RSdWxlLmNzc1RleHQiLCAnIkBob3N0IHsgXFxuICAjaG9zdCB7IGJvcmRlci1jb2xv
cjogZ3JlZW47IH1cXG59IicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1Rl
eHQiLCAnIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSInKTsKKworZGVidWcoIkFmdGVy
IGluc2VydGluZyBhIGJvcmRlciBydWxlIHdpdGggYSB0YWcgc2VsZWN0b3IgaW50byBAaG9zdCBA
LXJ1bGVzOiIpOworaG9zdFJ1bGUuaW5zZXJ0UnVsZSgiZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVl
OyB9IiwgaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoKTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0
eWxlKGhvc3QpLmJvcmRlckNvbG9yIiwgJyJyZ2IoMCwgMTI4LCAwKSInKTsKK3Nob3VsZEJlKCJo
b3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1Rl
eHQiLCAnIkBob3N0IHsgXFxuICAjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH1cXG4gIGRp
diB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfVxcbn0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3Nz
UnVsZXNbMF0uY3NzVGV4dCIsICciI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IicpOwor
c2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzWzFdLmNzc1RleHQiLCAnImRpdiB7IGJvcmRlci1j
b2xvcjogYmx1ZTsgfSInKTsKKworZGVidWcoIkFmdGVyIGRlbGV0aW5nIHRoZSBib3JkZXIgcnVs
ZSB3aXRoIGFuIGlkIHNlbGVjdG9yIGZyb20gQGhvc3QgQC1ydWxlczoiKTsKK2hvc3RSdWxlLmRl
bGV0ZVJ1bGUoMCk7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xv
ciIsICcicmdiKDAsIDAsIDI1NSkiJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVu
Z3RoIiwgJzEnKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NUZXh0IiwgJyJAaG9zdCB7IFxcbiAg
ZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9XFxufSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5j
c3NSdWxlc1swXS5jc3NUZXh0IiwgJyJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iJyk7CisK
Kzwvc2NyaXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3Qu
anMiPjwvc2NyaXB0PgorPC9odG1sPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181676</attachid>
            <date>2013-01-08 02:43:15 -0800</date>
            <delta_ts>2013-01-08 02:52:52 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20130108194019.patch</filename>
            <type>text/plain</type>
            <size>61507</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5MDIxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggOTNmZTI3MTM2NzYyYzAx
MGU1NjFiNTQ0ZGE2NDhmMzIyZmU4ZGZlMS4uNjZmODdiNWRhZGJkYTllNjQzYWNmMDE2NTY1Mjdj
MWRmNDA3ZDExMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExNCBAQAorMjAxMy0wMS0wOCAgVGFr
YXNoaSBTYWthbW90byAgPHRhc2FrQGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENT
U0hvc3RSdWxlIGZvciBAaG9zdCBALXJ1bGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMzQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgQ1NTSG9zdFJ1bGUgaXMgZGVmaW5lZCBpbiBTaGFkb3cgRE9N
IHNwZWM6CisgICAgICAgIGh0dHA6Ly9kdmNzLnczLm9yZy9oZy93ZWJjb21wb25lbnRzL3Jhdy1m
aWxlL3RpcC9zcGVjL3NoYWRvdy9pbmRleC5odG1sI2Nzcy1ob3N0LXJ1bGUtaW50ZXJmYWNlCisg
ICAgICAgIFRvIHNlZSBvciB0byBtb2RpZnkgQGhvc3QgQC1ydWxlcyBieSB1c2luZyBpbnNwZWN0
b3IsIHdlIG5lZWQgdG8KKyAgICAgICAgaW1wbGVtZW50IENTU0hvc3RSdWxlIGludGVyZmFjZS4K
KworICAgICAgICBUZXN0OiBmYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS5odG1sCisK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5jcHA6CisgICAgICAgIE1vZGlmaWVkIHRvIGluY2x1
ZGUgSlNDU1NIb3N0UnVsZS5jcHAuCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAg
ICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5wcmk6Cisg
ICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJnZXQucHJpOgorICAg
ICAgICAqIFdlYkNvcmUuZ3lwaToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZj
cHJvajoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAg
ICAgIEFkZGVkIENTU0hvc3RSdWxlLmNwcCwgQ1NTSG9zdFJ1bGUuaCwgQ1NTSG9zdFJ1bGUuaWRs
IGFuZAorICAgICAgICBDU1NCbG9ja1J1bGUuaC4KKyAgICAgICAgKiBiaW5kaW5ncy9qcy9KU0NT
U1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAgIEFkZCBh
IG5ldyBjYXNlIHRoYXQgdGhlIGdpdmVuIHJ1bGUgaXMgQGhvc3QgQC1ydWxlcyB0byBzdXBwb3J0
IEBob3N0CisgICAgICAgIEAtcnVsZXMuCisgICAgICAgICogYmluZGluZ3Mvb2JqYy9ET01DU1Mu
bW06CisgICAgICAgIChraXRDbGFzcyk6CisgICAgICAgIEFkZCBhIG5ldyBjYXNlIHRoYXQgdGhl
IGdpdmVuIHJ1bGUgaXMgQGhvc3QgQC1ydWxlcyB0byBzdXBwb3J0IEBob3N0CisgICAgICAgIEAt
cnVsZXMuCisgICAgICAgICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjp3cmFwKToKKyAgICAgICAgKiBjc3MvQ1NTQWxsSW5PbmUuY3Bw
OgorICAgICAgICAqIGNzcy9DU1NCbG9ja1J1bGUuaDoKKyAgICAgICAgKFdlYkNvcmUpOgorICAg
ICAgICAoQ1NTQmxvY2tSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0Jsb2NrUnVsZTo6fkNT
U0Jsb2NrUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NCbG9ja1J1bGU6OkNTU0Jsb2NrUnVs
ZSk6CisgICAgICAgIChXZWJDb3JlOjo6Omluc2VydFJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6
OjpkZWxldGVSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6cmVhdHRhY2gpOgorICAgICAgICBU
aGVzZSBtZXRob2RzIGFyZSBhbG1vc3QgdGhlIHNhbWUgYXMgQ1NTTWVkaWFSdWxlIChvciBDU1NI
b3N0UnVsZSBvcgorICAgICAgICBXZWJLaXRDU1NSZWdpb25SdWxlKS4gVGhlIGRpZmZlcmVuY2Ug
YmV0d2VlbiBDU1NIb3N0UnVsZSBhbmQgdGhpcyBpcworICAgICAgICBqdXN0IHVzaW5nIHRlbXBs
YXRlIHBhcmFtZXRlciBpbnN0ZWFkIG9mIENTU0hvc3RSdWxlIGFuZCBTdHlsZVJ1bGVIb3N0Lgor
ICAgICAgICAoV2ViQ29yZTo6OjphcHBlbmRDc3NUZXh0Rm9ySXRlbXMpOgorICAgICAgICBUaGlz
IG1ldGhvZCBpcyBpbnZva2VkIGZyb20gY3NzVGV4dCBpbiBkZXJpdmVkIGNsYXNzZXMsIGUuZy4K
KyAgICAgICAgQ1NTSG9zdFJ1bGU6OmNzc1RleHQuIENyZWF0ZSBhIHN0cmluZyBmb3IgQ1NTIHJ1
bGVzIGluIGEgY3NzIGJsb2NrLgorICAgICAgICAoV2ViQ29yZTo6OjpsZW5ndGgpOgorICAgICAg
ICAoV2ViQ29yZTo6OjppdGVtKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6Y3NzUnVsZXMpOgorICAg
ICAgICBTaW5jZSBMaXZlQ1NTUnVsZUxpc3QgcmVxdWlyZXMgZWFjaCBkZXJpdmVkIGNsYXNzIHBv
aW50ZXIgYW5kIGNzc1J1bGVzCisgICAgICAgIGlzICJjb25zdCIgbWV0aG9kLCBuZWVkcyBzdGF0
aWNfY2FzdCBhbmQgY29uc3RfY2FzdC4KKyAgICAgICAgRm9yIG1ha2UgYSBkZXJpdmVkIGNsYXNz
IHBvaW50ZXIsIGUuZy4gQ1NTTWVkaWFSdWxlKiwgZnJvbQorICAgICAgICBDU1NCbG9ja1J1bGUg
cG9pbnRlciwgdXNlcyB0aGUgc2Vjb25kIHRlbXBhbHRlIHBhcmFtZXRlciwgaS5lLiBjbGFzcwor
ICAgICAgICBjc3NSdWxlQ2xhc3MuCisgICAgICAgIChXZWJDb3JlOjo6OnJlcG9ydE1lbW9yeVVz
YWdlKToKKyAgICAgICAgVGhpcyBDU1NCbG9ja1J1bGUgY2xhc3MgaXMgY3JlYXRlZCBmcm9tIENT
U01lZGlhUnVsZSwgQ1NTSG9zdFJ1bGUgYW5kCisgICAgICAgIFdlYktpdENTU1JlZ2lvblJ1bGUu
CisgICAgICAgICogY3NzL0NTU0hvc3RSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0hvc3RSdWxlOjpDU1NIb3N0UnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NTU0hvc3RS
dWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NIb3N0UnVsZSk6
CisgICAgICAgIENTU0hvc3RSdWxlIGluaGVyaXRzIENTU0Jsb2NrUnVsZS4KKyAgICAgICAgKFdl
YkNvcmU6OkNTU0hvc3RSdWxlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9DU1NIb3N0UnVsZS5p
ZGw6IEFkZGVkLgorICAgICAgICAqIGNzcy9DU1NNZWRpYVJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTTWVkaWFSdWxlOjpDU1NNZWRpYVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
TWVkaWFSdWxlOjp+Q1NTTWVkaWFSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVs
ZTo6Y3NzVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6Om1lZGlhKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU01lZGlhUnVsZTo6cmVhdHRhY2gpOgorICAgICAgICAoV2ViQ29y
ZTo6Q1NTTWVkaWFSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIENTU01lZGlhUnVs
ZSBpcyBhIGxpdHRsZSBkaWZmZXJlbnQgZnJvbSBDU1NIb3N0UnVsZSBhbmQKKyAgICAgICAgV2Vi
S2l0Q1NTUmVnaW9uUnVsZS4gQ1NTTWVkaWFSdWxlIGhhcyBpdHMgb3duIG1ldGhvZCAoaS5lLiBt
ZWRpYSkgYW5kCisgICAgICAgIGl0cyBvd24gbWVtYmVyIHZhcmlhYmxlcyAoaS5lLiBtX21lZGlh
Q1NTT01XcmFwcGVyKS4gU28gaXQgaXMgcmVxdWlyZWQKKyAgICAgICAgdG8gdXBkYXRlIG1fbWVk
aWFDU1NPTVdyYXBwZXIgaW4gcmVhdHRhY2ggYW5kIH5DU1NNZWRpYVJ1bGUuCisgICAgICAgICog
Y3NzL0NTU01lZGlhUnVsZS5oOgorICAgICAgICBNb2RpZnkgdG8gaW5oZXJpdCBDU1NCbG9ja1J1
bGUuCisgICAgICAgICogY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZSk6CisgICAgICAg
IChXZWJDb3JlOjpXZWJLaXRDU1NSZWdpb25SdWxlOjpjc3NUZXh0KToKKyAgICAgICAgKiBjc3Mv
V2ViS2l0Q1NTUmVnaW9uUnVsZS5oOgorICAgICAgICBNb2RpZnkgdG8gaW5oZXJpdCBDU1NCbG9j
a1J1bGUuCisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5p
ZGw6CisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y29sbGVjdENTU09NV3JhcHBlcnMpOgorICAgICAgICBTdXBwb3J0IEhPU1QgcnVsZS4KKyAgICAg
ICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6
OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRl
c3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6CisgICAgICAg
IChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAgICAgICBB
ZGRlZCBAaG9zdCBALXJ1bGVzIGNhc2UuCisgICAgICAgICogY3NzL1N0eWxlUnVsZS5oOgorICAg
ICAgICBBZGRlZCBIb3N0SW50ZXJuYWwoPTE3KS4gU2hhZG93IERPTSBzcGVjIHNheXMgSG9zdCB0
eXBlIGlzIDEwMDEuCisgICAgICAgIEhvd2V2ZXIgd2UgY2FuIHVzZSBvbmx5IDUgYml0IGZvciB0
eXBlLiBTbyBpbnRlcm5hbGx5IHVzZSAxNyBmb3IKKyAgICAgICAgSG9zdCBydWxlLgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6aXNIb3N0UnVsZSk6CisgICAgICAgIChXZWJDb3Jl
OjpTdHlsZVJ1bGVIb3N0OjpTdHlsZVJ1bGVIb3N0KToKKyAgICAgICAgKiBjc3MvU3R5bGVTaGVl
dENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNoaWxkUnVsZXNIYXZlRmFpbGVkT3JD
YW5jZWxlZFN1YnJlc291cmNlcyk6CisgICAgICAgICogcGFnZS9ET01XaW5kb3cuaWRsOgorCiAy
MDEzLTAxLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAgSFRN
TFRyZWVCdWlsZGVyIHNob3VsZCBub3QgZGVwZW5kIG9uIEZyYW1lCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dCBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0
CmluZGV4IDhlNjRhM2Y0YTg4ZWQwYzQzNWVmYjgwMTE3MDFjZGFkNTA2ZDdiNjguLmE1NjZiMTJk
NDkxYTNiNDc3MThkYjc5MTE1ZmY3N2FlMTJiNWE3OWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL0NNYWtlTGlzdHMudHh0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0CkBA
IC0zMTIsNiArMzEyLDcgQEAgc2V0KFdlYkNvcmVfSURMX0ZJTEVTCiAgICAgY3NzL0NvdW50ZXIu
aWRsCiAgICAgY3NzL0NTU0NoYXJzZXRSdWxlLmlkbAogICAgIGNzcy9DU1NGb250RmFjZVJ1bGUu
aWRsCisgICAgY3NzL0NTU0hvc3RSdWxlLmlkbAogICAgIGNzcy9DU1NJbXBvcnRSdWxlLmlkbAog
ICAgIGNzcy9DU1NNZWRpYVJ1bGUuaWRsCiAgICAgY3NzL0NTU1BhZ2VSdWxlLmlkbApAQCAtMTAz
MSw2ICsxMDMyLDcgQEAgc2V0KFdlYkNvcmVfU09VUkNFUwogICAgIGNzcy9DU1NGb250U2VsZWN0
b3IuY3BwCiAgICAgY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCiAgICAgY3NzL0NTU0dyYWRpZW50
VmFsdWUuY3BwCisgICAgY3NzL0NTU0hvc3RSdWxlLmNwcAogICAgIGNzcy9DU1NJbWFnZUdlbmVy
YXRvclZhbHVlLmNwcAogICAgIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcAogICAgIGNzcy9DU1NJ
bWFnZVZhbHVlLmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
Y3BwIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCmluZGV4IGEzZDdmMjkxZGVi
MTcxNzQyY2UyZTBlNGY3OGRmOWFmZThjYmJiNTQuLjA3ZTNmYTZkNTRmODQ5ZTg3OGIzYTljYzg1
NDc5ODAzOTQyYTc0MTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKQEAgLTU1LDYgKzU1
LDcgQEAKICNpbmNsdWRlICJKU0NyeXB0by5jcHAiCiAjaW5jbHVkZSAiSlNDU1NDaGFyc2V0UnVs
ZS5jcHAiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFjZVJ1bGUuY3BwIgorI2luY2x1ZGUgIkpTQ1NT
SG9zdFJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0UnVsZS5jcHAiCiAjaW5jbHVkZSAi
SlNDU1NNZWRpYVJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTUGFnZVJ1bGUuY3BwIgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3Jl
L0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggZTQ5MDUxOTc2Yjc1MGE1YjA4ZWYyZmRkNTNmOGRh
ZDM1N2IwMjRjYS4uOTgzNjI5YWQwNWEyNGVhZjE0ZWUzNjRkM2MwZTY5ZGQ0NWExOWIyZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC0xNjksNiArMTY5LDcgQEAgQklORElOR19J
RExTID0gXAogICAgICQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRX
ZWJTb2NrZXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAog
ICAgICQoV2ViQ29yZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorICAgICQoV2ViQ29yZSkv
Y3NzL0NTU0hvc3RSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5p
ZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU01lZGlhUnVsZS5pZGwgXAogICAgICQoV2ViQ29y
ZSkvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKaW5kZXgg
ZWJkNDAzNGVhZDE4NzdmOWIxNzJjODVmM2MyZjc1NDEwN2RhZTc4MS4uODE4OWE4NDliODlmNGRh
Zjc5MjQ3ZTg3MjAyYjBmZTZhZTZmNzM5ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMucHJpCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQpA
QCAtMTg5LDYgKzE4OSw3IEBAIElETF9CSU5ESU5HUyArPSBcCiAgICAgJCRQV0QvY3NzL0NvdW50
ZXIuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsIFwKICAgICAkJFBXRC9j
c3MvQ1NTRm9udEZhY2VSdWxlLmlkbCBcCisgICAgJCRQV0QvY3NzL0NTU0hvc3RSdWxlLmlkbCBc
CiAgICAgJCRQV0QvY3NzL0NTU0ltcG9ydFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTTWVk
aWFSdWxlLmlkbCBcCiAgICAgJCRQV0QvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtIGIvU291cmNlL1dlYkNvcmUvR05V
bWFrZWZpbGUubGlzdC5hbQppbmRleCAwMTZiOWI2NjNlMzRkZTAxNDFmYmZiYWIwMWIwNjg3NWUz
MGU5YmJmLi45NDM2NzcxNDM1ZGQyYzEwMzkzYzE0Y2EyYTRlYjkxY2NmOGM5NzY1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KQEAgLTExMyw2ICsxMTMsOCBAQCB3ZWJjb3JlX2J1aWx0
X3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NDaGFyc2V0UnVsZS5o
IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxlLmNwcCBcCiAJRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVsZS5oIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJDb3JlL0pTQ1NTSG9zdFJ1bGUuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTSG9zdFJ1bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUu
Y3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTTWVkaWFSdWxlLmNwcCBcCkBAIC0xMzE4LDYgKzEzMjAs
NyBAQCBkb21fYmluZGluZ19pZGxzICs9IFwKIAkkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0
cy9Xb3JrZXJDb250ZXh0V2ViU29ja2V0LmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNl
dFJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKwkkKFdl
YkNvcmUpL2Nzcy9DU1NIb3N0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU0ltcG9ydFJ1
bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUp
L2Nzcy9DU1NQYWdlUnVsZS5pZGwgXApAQCAtMjUwNSw2ICsyNTA4LDcgQEAgd2ViY29yZV9zb3Vy
Y2VzICs9IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oIFwKIAlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmFzaWNTaGFwZXMuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTQmFzaWNTaGFwZXMuaCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jsb2NrUnVsZS5o
IFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZhbHVlLmNwcCBcCiAJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQm9yZGVySW1hZ2UuY3BwIFwKQEAgLTI1MzYsNiArMjU0MCw4IEBAIHdl
YmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYWRpZW50VmFsdWUu
Y3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5oIFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTSGVscGVyLmggXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVs
ZS5jcHAgXAorCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFn
ZVNldFZhbHVlLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIv
U291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBiNDU2ZTU3NGJiZjljNjkwNzMzMDYwYTg0
ODZlZmFjOWU4MjJjMjgxLi43MGNkMzg0YWZhMzBlZjAyODA4MGZkODNmMWFiM2FlNzg5OGZkZmM0
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJD
b3JlL1RhcmdldC5wcmkKQEAgLTI2MSw2ICsyNjEsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3Mv
Q1NTRm9udEZhY2VTb3VyY2UuY3BwIFwKICAgICBjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5jcHAgXAog
ICAgIGNzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCBcCisgICAgY3NzL0NTU0hvc3RSdWxlLmNwcCBc
CiAgICAgY3NzL0NTU0ltYWdlVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZS5jcHAgXAogICAgIGNzcy9DU1NJbWFnZVNldFZhbHVlLmNwcCBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
aW5kZXggODZmODYyMDE1MDM1Yjk5OTVlYzIxYWYxMmIzOWQ2OWQ5ZmI0NmFhZS4uNGJhZjA0Mjc2
NzU5MDE0YTI0MGU2MzUzZjllZjkwMmZiM2JhNDA1YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpAQCAtMTYw
LDYgKzE2MCw3IEBACiAgICAgICAgICAgICAnTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRl
eHRXZWJTb2NrZXQuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTQ2hhcnNldFJ1bGUuaWRsJywK
ICAgICAgICAgICAgICdjc3MvQ1NTRm9udEZhY2VSdWxlLmlkbCcsCisgICAgICAgICAgICAnY3Nz
L0NTU0hvc3RSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NTU0ltcG9ydFJ1bGUuaWRsJywK
ICAgICAgICAgICAgICdjc3MvQ1NTTWVkaWFSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3NzL0NT
U1BhZ2VSdWxlLmlkbCcsCkBAIC0xNDM3LDYgKzE0MzgsNyBAQAogICAgICAgICAgICAgJ2Nzcy9D
U1NBc3BlY3RSYXRpb1ZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3NzL0NTU0FzcGVjdFJhdGlv
VmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0Jhc2ljU2hhcGVzLmNwcCcsCisgICAgICAg
ICAgICAnY3NzL0NTU0Jsb2NrUnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1h
Z2UuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2UuaCcsCiAgICAgICAgICAg
ICAnY3NzL0NTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAnLApAQCAtMTQ2NSw2ICsxNDY3LDgg
QEAKICAgICAgICAgICAgICdjc3MvQ1NTRnVuY3Rpb25WYWx1ZS5oJywKICAgICAgICAgICAgICdj
c3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NHcmFkaWVudFZh
bHVlLmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAg
J2Nzcy9DU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JW
YWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcCcsCiAgICAg
ICAgICAgICAnY3NzL0NTU0ltYWdlVmFsdWUuY3BwJywKQEAgLTU1NTAsNiArNTU1NCw4IEBACiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1ND
aGFyc2V0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxlLm1tJywKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0ZvbnRGYWNlUnVsZUlu
dGVybmFsLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvRE9NQ1NTSG9zdFJ1bGUubW0nLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSG9zdFJ1bGVJbnRlcm5hbC5oJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0ltcG9ydFJ1
bGUubW0nLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvRE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTTWVkaWFSdWxlLm1tJywKQEAgLTYxMDgs
NiArNjExNCw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMv
V2ViQ29yZS9KU0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuY3BwJywKICAgICAgICAg
ICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VS
dWxlLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAgICc8KFBST0RV
Q1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAnLAogICAg
ICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NJbXBv
cnRSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NNZWRpYVJ1bGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3By
b2ovV2ViQ29yZS52Y3Byb2oKaW5kZXggNWI5ZGNjZjY0YjczMWE4M2FlNjU5Y2RkNTQ3MGUwZTYy
MTQ3MTM1Ni4uNzZmMmYxOWI4YmMyZjUxNTkyYjIzZjFkMzBlODk5OTA5NDQ1ODNhMCAxMDA3NTUK
LS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTE4NTgsNiAr
MTg1OCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRo
PSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3Vy
Y2VzXEpTQ1NTSG9zdFJ1bGUuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJ
CQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgor
CQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5h
bWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1
aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJU
b29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1
cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3Vy
YXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVp
bGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRv
b2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJv
amVjdE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ1NTSG9zdFJ1bGUuaCIKKwkJCQk+CisJCQk8L0Zp
bGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIp
XG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU0ltcG9ydFJ1bGUuY3BwIgog
CQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTM1MzQ2LDYgKzM1NDAyLDEwIEBACiAJ
CQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NC
bG9ja1J1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iLi5cY3NzXENTU0JvcmRlckltYWdlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0
aW9uCkBAIC0zNjE1MCw2ICszNjIxMCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSG9zdFJ1bGUuY3BwIgorCQkJCT4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJv
bUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGls
ZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIK
KwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJ
CU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlv
bj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSG9z
dFJ1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0i
Li5cY3NzXENTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIgogCQkJCT4KIAkJCQk8RmlsZUNvbmZp
Z3VyYXRpb24KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagppbmRleCAzMDQxY2E1ZjI3YTAwOTljZThlYTg3OTgzMDMxNGE0ODJjNmQ4OGIwLi4y
NTU5MWNjOTVjYzcxMWM3ZWY4NTIyNjRlOTczNzc4NzJkNTMxYzA0IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC02NDMxLDYgKzY0
MzEsOSBAQAogCQlGQUJFNzJGRDEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MRWxlbWVudEZhY3Rv
cnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkFC
RTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcCAqLzsgfTsK
IAkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkZDMTA1OUMyMTEwMEQ5
OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAgKi87IH07CiAJCUZCMkMxNUMzMTY1RDY0OUQwMDM5QzlG
OCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkIyQzE1QzIxNjVENjQ5MDAwMzlDOUY4IC8qIENhY2hl
ZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKKwkJRkI0OUMzOUExNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxl
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNDlD
Mzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgKi87IH07CisJCUZCNDlDMzlE
MTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOUMxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hv
c3RSdWxlLmggKi87IH07CisJCUZCNjU2OUFEMTY5QzE4REEwMDg4Mzc0RSAvKiBDU1NCbG9ja1J1
bGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNjU2
OUFDMTY5QzE4REEwMDg4Mzc0RSAvKiBDU1NCbG9ja1J1bGUuaCAqLzsgfTsKIAkJRkI3OEFEMkUx
NTFCRjVFNjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQ
YXJzZXJNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsg
fTsKIAkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjkyREY0OTE1RkVE
MDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGQkMyMjBERjEyMzdGQkVCMDBCQ0Y3ODggLyog
R3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29u
dGV4dDNET3BlbkdMLmNwcCAqLzsgfTsKQEAgLTEzOTkzLDYgKzEzOTk2LDEwIEBACiAJCUZBQkU3
MkZCMTA1OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAvKiBN
YXRoTUxOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNYXRo
TUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCMkMxNUMyMTY1RDY0
OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9z
dFJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ1NTSG9zdFJ1
bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5QzE2Nzg0OTQ3MDA3
RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
Q1NTSG9zdFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkI0OUMzOUUxNjc4
NDk1NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBD
U1NIb3N0UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNjU2OUFDMTY5
QzE4REEwMDg4Mzc0RSAvKiBDU1NCbG9ja1J1bGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gQ1NTQmxvY2tSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZC
NzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhcnNlck1vZGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJRkI5MkRGNDkxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3BlcmF0aW9uLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBQYXRoT3BlcmF0aW9uLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCQzIyMERFMTIzN0ZCRUIwMEJDRjc4OCAvKiBH
cmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0yMTQ3MCw2ICsyMTQ3Nyw3IEBACiAJCQkJQ0FFOUY5MEUxNDY0NDFGMDAwQzI0
NUIwIC8qIENTU0FzcGVjdFJhdGlvVmFsdWUuaCAqLywKIAkJCQlGQkQ2QUY4NjE1RUYyMUQ0MDA4
QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuY3BwICovLAogCQkJCUZCRDZBRjg3MTVFRjIxRDQwMDhC
NzExMCAvKiBDU1NCYXNpY1NoYXBlcy5oICovLAorCQkJCUZCNjU2OUFDMTY5QzE4REEwMDg4Mzc0
RSAvKiBDU1NCbG9ja1J1bGUuaCAqLywKIAkJCQlFMTZBODRGNzE0Qzg1Q0NDMDAyOTc3REYgLyog
Q1NTQm9yZGVySW1hZ2UuY3BwICovLAogCQkJCUUxNkE4NEY4MTRDODVDQ0MwMDI5NzdERiAvKiBD
U1NCb3JkZXJJbWFnZS5oICovLAogCQkJCUJDMjc0QjMwMTQwRUJFRDgwMEVBREZBNiAvKiBDU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwICovLApAQCAtMjE1MDUsNiArMjE1MTMsOSBAQAogCQkJ
CUZDRUJDRDcxMTYyM0E3OTEwMDI5OTY1RSAvKiBDU1NHcmFtbWFyLnkuaW4gKi8sCiAJCQkJRkNF
QkNENzIxNjIzQTc5MTAwMjk5NjVFIC8qIENTU0dyYW1tYXIueS5pbmNsdWRlcyAqLywKIAkJCQlC
Qzc3MkIzNjBDNEVBOTFFMDA4MzI4NUYgLyogQ1NTSGVscGVyLmggKi8sCisJCQkJRkI0OUMzOTkx
Njc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCAqLywKKwkJCQlGQjQ5QzM5QzE2Nzg0
OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLywKKwkJCQlGQjQ5QzM5RTE2Nzg0OTU0MDA3
RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaWRsICovLAogCQkJCUJDMjNFNzZCMERBRTg4QTkwMDlGREM5
MSAvKiBDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCAqLywKIAkJCQlCQzIzRUU5MTBEQUVEMkJD
MDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oICovLAogCQkJCTkzOTNFNUZEMTUx
QTk5RjIwMDA2NkYwNiAvKiBDU1NJbWFnZVNldFZhbHVlLmNwcCAqLywKQEAgLTI2MDUxLDYgKzI2
MDYyLDggQEAKIAkJCQlFMUJFNTEyRTBDRjZDNTEyMDAyRUE5NTkgLyogWFNMVFVuaWNvZGVTb3J0
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5NzdFMkUwRjEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVk
aXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkQ1MzczNTMxMzdCNjUxODAwMDA4RENFIC8qIFpl
cm9Qb2xlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQjQ5QzM5RDE2Nzg0OTQ3MDA3RkZCNUQgLyog
Q1NTSG9zdFJ1bGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUZCNjU2OUFEMTY5QzE4REEwMDg4Mzc0
RSAvKiBDU1NCbG9ja1J1bGUuaCBpbiBIZWFkZXJzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JE
ZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtMjkxODAsNiArMjkxOTMsNyBA
QAogCQkJCUUxQkU1MTJEMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTc3RTJFMEUxMkYwRkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQ1MzczNTIxMzdCNjUxODAwMDA4RENFIC8qIFplcm9Q
b2xlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZCNDlDMzlBMTY3ODQ5MzIwMDdGRkI1RCAvKiBD
U1NIb3N0UnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95
bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCmluZGV4IDJhNDY1ZGM3ZGMxZWQ4NzY2MDdkOWFhYmYy
MWEyMDdmMzE3NWMxOWIuLmNiZWIzYzY4NWQ5OWZlYjBjMTRkMWY4OGVmY2VmOTI2MDU3MTM4OWUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcApA
QCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkpT
Q1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1
ZGUgIkpTQ1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU0ltcG9ydFJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTUGFnZVJ1bGUuaCIKQEAgLTEw
Niw2ICsxMDcsMTEgQEAgSlNWYWx1ZSB0b0pTKEV4ZWNTdGF0ZSogZXhlYywgSlNET01HbG9iYWxP
YmplY3QqIGdsb2JhbE9iamVjdCwgQ1NTUnVsZSogcnVsZSkKICAgICAgICAgICAgIHdyYXBwZXIg
PSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NSZWdpb25S
dWxlLCBydWxlKTsKICAgICAgICAgICAgIGJyZWFrOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURP
V19ET00pCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6SE9TVF9SVUxFOgorICAgICAgICAgICAgd3Jh
cHBlciA9IENSRUFURV9ET01fV1JBUFBFUihleGVjLCBnbG9iYWxPYmplY3QsIENTU0hvc3RSdWxl
LCBydWxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGRlZmF1bHQ6CiAg
ICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVj
dCwgQ1NTUnVsZSwgcnVsZSk7CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01DU1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbQppbmRleCAzYzFkYTgyMzEyMTljNmIxNDcxMWI4YTQ1ODUzM2NiMTdiODEwZmRjLi5lMzkz
NGViZDQ0Y2ZjZWJjZTE4MGFkY2ZlZGUzYmY1YjkyNzkxMmM3IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9vYmpjL0RPTUNTUy5tbQpAQCAtNjUsNiArNjUsMTAgQEAKICNpbXBvcnQgIkRPTVNWR1Bh
aW50LmgiCiAjZW5kaWYKIAorI2lmIEVOQUJMRShTSEFET1dfRE9NKQorI2ltcG9ydCAiRE9NQ1NT
SG9zdFJ1bGUuaCIKKyNlbmRpZgorCiAvLy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LQogLy8gRE9NU3R5bGVTaGVldAogCkBAIC0xMDcsNiArMTExLDEwIEBAIENsYXNzIGtpdENsYXNz
KFdlYkNvcmU6OkNTU1J1bGUqIGltcGwpCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9SRUdJT05f
UlVMRToKICAgICAgICAgICAgIHJldHVybiBbRE9NV2ViS2l0Q1NTUmVnaW9uUnVsZSBjbGFzc107
CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgY2FzZSBET01fSE9TVF9S
VUxFOgorICAgICAgICAgICAgcmV0dXJuIFtET01DU1NIb3N0UnVsZSBjbGFzc107CisjZW5kaWYK
ICAgICB9CiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiAgICAgcmV0dXJuIG5pbDsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5j
cHAKaW5kZXggZDE1MWNkOGIwZjVjOWM2OTQzODg2Zjc1MmI5ZDg2M2M2Y2QxMzc2YS4uY2M0OWE2
YzAxNTkxNGZiNmY2ZWM0NmFkMjYxZDgzOGFhMGE2ZTRmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKQEAgLTMzLDYg
KzMzLDcgQEAKIAogI2luY2x1ZGUgIlY4Q1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJWOENT
U0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIlY4Q1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRlICJW
OENTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJWOENTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUg
IlY4Q1NTUGFnZVJ1bGUuaCIKQEAgLTc4LDYgKzc5LDEwIEBAIHY4OjpIYW5kbGU8djg6Ok9iamVj
dD4gd3JhcChDU1NSdWxlKiBpbXBsLCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IGNyZWF0aW9uQ29u
dGV4CiAjZW5kaWYKICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9SRUdJT05fUlVMRToKICAgICAg
ICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KGltcGwpLCBj
cmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgIGNh
c2UgQ1NTUnVsZTo6SE9TVF9SVUxFOgorICAgICAgICByZXR1cm4gd3JhcChzdGF0aWNfY2FzdDxD
U1NIb3N0UnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2VuZGlmCiAg
ICAgfQogICAgIHJldHVybiBWOENTU1J1bGU6OmNyZWF0ZVdyYXBwZXIoaW1wbCwgY3JlYXRpb25D
b250ZXh0LCBpc29sYXRlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NB
bGxJbk9uZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCmluZGV4IDZi
N2E4YjllZGZlOGNiYmU2YzAxYmZiOTc1OWIzYWE0NDA1NjhlNGQuLjZkNzcwYjM0MGMzMjczODhi
YjViYjM5NzM3ZDI2NDgwYTgxMGU5ZGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBbGxJbk9uZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcApA
QCAtNDEsNiArNDEsNyBAQAogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rvci5jcHAiCiAjaW5jbHVk
ZSAiQ1NTRnVuY3Rpb25WYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRWYWx1ZS5jcHAi
CisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuY3BwIgogI2luY2x1ZGUgIkNTU0ltYWdlR2VuZXJhdG9y
VmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU0ltYWdlVmFsdWUuY3BwIgogI2luY2x1ZGUgIkNTU0lt
cG9ydFJ1bGUuY3BwIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jsb2NrUnVs
ZS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0Jsb2NrUnVsZS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjg4NDdi
NDg3NzNlMWEwNWMyNDMyYzU4YzUwOGYzNzIzZTAwMWNiYmIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmxvY2tSdWxlLmgKQEAgLTAsMCArMSwxOTQgQEAKKy8qCisg
KiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAoQykgMjAwMi0y
MDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAy
LCAyMDA2LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENv
cHlyaWdodCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBU
aGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5k
L29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5
b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRp
c3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgor
ICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAg
U2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdO
VSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJy
YXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUg
RnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRo
IEZsb29yLAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBD
U1NCbG9ja1J1bGVfaAorI2RlZmluZSBDU1NCbG9ja1J1bGVfaAorCisjaW5jbHVkZSAiQ1NTUGFy
c2VyLmgiCisjaW5jbHVkZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgIkNTU1J1bGVMaXN0LmgiCisj
aW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUgIkV4Y2VwdGlvbkNvZGUuaCIKKyNp
bmNsdWRlICJTdHlsZVJ1bGUuaCIKKyNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0
aW9uLmgiCisjaW5jbHVkZSA8d3RmL01lbW9yeUluc3RydW1lbnRhdGlvblZlY3Rvci5oPgorI2lu
Y2x1ZGUgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgewor
CitjbGFzcyBDU1NSdWxlTGlzdDsKKwordGVtcGxhdGUgPGNsYXNzIHN0eWxlUnVsZUNsYXNzLCBj
bGFzcyBjc3NSdWxlQ2xhc3M+CitjbGFzcyBDU1NCbG9ja1J1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7
CitwdWJsaWM6CisgICAgdmlydHVhbCB+Q1NTQmxvY2tSdWxlKCkKKyAgICB7CisgICAgICAgIEFT
U0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fYmxvY2tSdWxlLT5jaGls
ZFJ1bGVzKCkuc2l6ZSgpKTsKKyAgICAgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgeworICAgICAgICAgICAgaWYgKG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVyc1tpXSkKKyAgICAgICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaV0tPnNldFBhcmVudFJ1bGUoMCk7CisgICAgICAgIH0KKyAgICB9CisKKworICAg
IHZpcnR1YWwgdm9pZCByZWF0dGFjaChTdHlsZVJ1bGVCYXNlKikgT1ZFUlJJREU7CisgICAgdmly
dHVhbCB2b2lkIHJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qKSBjb25zdCBPVkVS
UklERTsKKworICAgIENTU1J1bGVMaXN0KiBjc3NSdWxlcygpIGNvbnN0OworCisgICAgdW5zaWdu
ZWQgaW5zZXJ0UnVsZShjb25zdCBTdHJpbmcmIHJ1bGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRp
b25Db2RlJik7CisgICAgdm9pZCBkZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25D
b2RlJik7CisgICAgICAgIAorICAgIC8vIEZvciBDU1NSdWxlTGlzdAorICAgIHVuc2lnbmVkIGxl
bmd0aCgpIGNvbnN0OworICAgIENTU1J1bGUqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Owor
Citwcm90ZWN0ZWQ6CisgICAgQ1NTQmxvY2tSdWxlKHN0eWxlUnVsZUNsYXNzKiBibG9ja1J1bGUs
IENTU1N0eWxlU2hlZXQqIHBhcmVudCkgOiBDU1NSdWxlKHBhcmVudCksIG1fYmxvY2tSdWxlKGJs
b2NrUnVsZSksIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyhibG9ja1J1bGUtPmNoaWxkUnVsZXMo
KS5zaXplKCkpIHsgfQorICAgIAorICAgIHZvaWQgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKFN0cmlu
Z0J1aWxkZXImKSBjb25zdDsKKworICAgIFJlZlB0cjxzdHlsZVJ1bGVDbGFzcz4gbV9ibG9ja1J1
bGU7CisgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+ID4gbV9jaGlsZFJ1bGVDU1NP
TVdyYXBwZXJzOworICAgIG11dGFibGUgT3duUHRyPENTU1J1bGVMaXN0PiBtX3J1bGVMaXN0Q1NT
T01XcmFwcGVyOworfTsKKwordGVtcGxhdGU8Y2xhc3Mgc3R5bGVSdWxlQ2xhc3MsIGNsYXNzIGNz
c1J1bGVDbGFzcz4KK3Vuc2lnbmVkIENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVs
ZUNsYXNzPjo6aW5zZXJ0UnVsZShjb25zdCBTdHJpbmcmIHJ1bGVTdHJpbmcsIHVuc2lnbmVkIGlu
ZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdy
YXBwZXJzLnNpemUoKSA9PSBtX2Jsb2NrUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7CisKKyAg
ICBpZiAoaW5kZXggPiBtX2Jsb2NrUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgeworICAgICAg
ICAvLyBJTkRFWF9TSVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXggaXMgbm90
IGEgdmFsaWQgaW5zZXJ0aW9uIHBvaW50LgorICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBDU1NQYXJzZXIgcGFyc2VyKHBhcnNlckNv
bnRleHQoKSk7CisgICAgQ1NTU3R5bGVTaGVldCogc3R5bGVTaGVldCA9IHBhcmVudFN0eWxlU2hl
ZXQoKTsKKyAgICBSZWZQdHI8U3R5bGVSdWxlQmFzZT4gbmV3UnVsZSA9IHBhcnNlci5wYXJzZVJ1
bGUoc3R5bGVTaGVldCA/IHN0eWxlU2hlZXQtPmNvbnRlbnRzKCkgOiAwLCBydWxlU3RyaW5nKTsK
KyAgICBpZiAoIW5ld1J1bGUpIHsKKyAgICAgICAgLy8gU1lOVEFYX0VSUjogUmFpc2VkIGlmIHRo
ZSBzcGVjaWZpZWQgcnVsZSBoYXMgYSBzeW50YXggZXJyb3IgYW5kIGlzIHVucGFyc2FibGUuCisg
ICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAg
aWYgKG5ld1J1bGUtPmlzSW1wb3J0UnVsZSgpKSB7CisgICAgICAgIC8vIEZJWE1FOiBhbiBISUVS
QVJDSFlfUkVRVUVTVF9FUlIgc2hvdWxkIGFsc28gYmUgdGhyb3duIGZvciBhIEBjaGFyc2V0IG9y
IGEgbmVzdGVkCisgICAgICAgIC8vIEBtZWRpYSBydWxlLiBUaGV5IGFyZSBjdXJyZW50bHkgbm90
IGdldHRpbmcgcGFyc2VkLCByZXN1bHRpbmcgaW4gYSBTWU5UQVhfRVJSCisgICAgICAgIC8vIHRv
IGdldCByYWlzZWQgYWJvdmUuCisKKyAgICAgICAgLy8gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOiBS
YWlzZWQgaWYgdGhlIHJ1bGUgY2Fubm90IGJlIGluc2VydGVkIGF0IHRoZSBzcGVjaWZpZWQKKyAg
ICAgICAgLy8gaW5kZXgsIGUuZy4sIGlmIGFuIEBpbXBvcnQgcnVsZSBpcyBpbnNlcnRlZCBhZnRl
ciBhIHN0YW5kYXJkIHJ1bGUgc2V0IG9yIG90aGVyCisgICAgICAgIC8vIGF0LXJ1bGUuCisgICAg
ICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOworICAgICAgICByZXR1cm4gMDsKKyAgICB9
CisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUgbXV0YXRpb25TY29wZSh0aGlz
KTsKKworICAgIG1fYmxvY2tSdWxlLT53cmFwcGVySW5zZXJ0UnVsZShpbmRleCwgbmV3UnVsZSk7
CisKKyAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuaW5zZXJ0KGluZGV4LCBSZWZQdHI8Q1NT
UnVsZT4oKSk7CisgICAgcmV0dXJuIGluZGV4OworfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1
bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgordm9pZCBDU1NCbG9ja1J1bGU8c3R5bGVSdWxl
Q2xhc3MsIGNzc1J1bGVDbGFzcz46OmRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlv
bkNvZGUmIGVjKQoreworICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgp
ID09IG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKworICAgIGlmIChpbmRleCA+
PSBtX2Jsb2NrUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgeworICAgICAgICAvLyBJTkRFWF9T
SVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXggZG9lcyBub3QgY29ycmVzcG9u
ZCB0byBhCisgICAgICAgIC8vIHJ1bGUgaW4gdGhlIG1lZGlhIHJ1bGUgbGlzdC4KKyAgICAgICAg
ZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIENTU1N0
eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7CisKKyAgICBt
X2Jsb2NrUnVsZS0+d3JhcHBlclJlbW92ZVJ1bGUoaW5kZXgpOworCisgICAgaWYgKG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVyc1tpbmRleF0pCisgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
c1tpbmRleF0tPnNldFBhcmVudFJ1bGUoMCk7CisgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJz
LnJlbW92ZShpbmRleCk7Cit9CisKK3RlbXBsYXRlPGNsYXNzIHN0eWxlUnVsZUNsYXNzLCBjbGFz
cyBjc3NSdWxlQ2xhc3M+Cit2b2lkIENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVs
ZUNsYXNzPjo6YXBwZW5kQ3NzVGV4dEZvckl0ZW1zKFN0cmluZ0J1aWxkZXImIHJlc3VsdCkgY29u
c3QKK3sKKyAgICB1bnNpZ25lZCBzaXplID0gbGVuZ3RoKCk7CisgICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHNpemU7ICsraSkgeworICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIpOworICAg
ICAgICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNzc1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5h
cHBlbmQoJ1xuJyk7CisgICAgfQorfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVDbGFzcywg
Y2xhc3MgY3NzUnVsZUNsYXNzPgordW5zaWduZWQgQ1NTQmxvY2tSdWxlPHN0eWxlUnVsZUNsYXNz
LCBjc3NSdWxlQ2xhc3M+OjpsZW5ndGgoKSBjb25zdAoreyAKKyAgICByZXR1cm4gbV9ibG9ja1J1
bGUtPmNoaWxkUnVsZXMoKS5zaXplKCk7IAorfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVD
bGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgorQ1NTUnVsZSogQ1NTQmxvY2tSdWxlPHN0eWxlUnVs
ZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreyAKKyAg
ICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiAwOworICAgIEFTU0VSVCht
X2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVz
KCkuc2l6ZSgpKTsKKyAgICBSZWZQdHI8Q1NTUnVsZT4mIHJ1bGUgPSBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaW5kZXhdOworICAgIGlmICghcnVsZSkKKyAgICAgICAgcnVsZSA9IG1fYmxvY2tS
dWxlLT5jaGlsZFJ1bGVzKClbaW5kZXhdLT5jcmVhdGVDU1NPTVdyYXBwZXIoc3RhdGljX2Nhc3Q8
Y3NzUnVsZUNsYXNzKj4oY29uc3RfY2FzdDxDU1NCbG9ja1J1bGU8c3R5bGVSdWxlQ2xhc3MsIGNz
c1J1bGVDbGFzcz4qPih0aGlzKSkpOworICAgIHJldHVybiBydWxlLmdldCgpOworfQorCit0ZW1w
bGF0ZTxjbGFzcyBzdHlsZVJ1bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgorQ1NTUnVsZUxp
c3QqIENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVsZUNsYXNzPjo6Y3NzUnVsZXMo
KSBjb25zdAoreworICAgIGlmICghbV9ydWxlTGlzdENTU09NV3JhcHBlcikKKyAgICAgICAgbV9y
dWxlTGlzdENTU09NV3JhcHBlciA9IGFkb3B0UHRyKG5ldyBMaXZlQ1NTUnVsZUxpc3Q8Y3NzUnVs
ZUNsYXNzPihzdGF0aWNfY2FzdDxjc3NSdWxlQ2xhc3MqPihjb25zdF9jYXN0PENTU0Jsb2NrUnVs
ZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVsZUNsYXNzPio+KHRoaXMpKSkpOworICAgIHJldHVybiBt
X3J1bGVMaXN0Q1NTT01XcmFwcGVyLmdldCgpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1
bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgordm9pZCBDU1NCbG9ja1J1bGU8c3R5bGVSdWxl
Q2xhc3MsIGNzc1J1bGVDbGFzcz46OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCit7Cisg
ICAgQVNTRVJUKHJ1bGUpOworICAgIG1fYmxvY2tSdWxlID0gc3RhdGljX2Nhc3Q8c3R5bGVSdWxl
Q2xhc3MqPihydWxlKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVD
U1NPTVdyYXBwZXJzLnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnNbaV0pCisgICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnJl
YXR0YWNoKG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVzKClbaV0uZ2V0KCkpOworICAgIH0KK30KKwor
dGVtcGxhdGU8Y2xhc3Mgc3R5bGVSdWxlQ2xhc3MsIGNsYXNzIGNzc1J1bGVDbGFzcz4KK3ZvaWQg
Q1NTQmxvY2tSdWxlPHN0eWxlUnVsZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjpyZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1l
bW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlU
eXBlczo6Q1NTKTsKKyAgICBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJ
bmZvKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpOworICAg
IGluZm8uYWRkTWVtYmVyKG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDU1NCbG9ja1J1bGVfaApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NI
b3N0UnVsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzhkM2UyMmIwMjE2MDkxMzNiZDc3ZTU5MDczMzkwYWU5
ODgzYWEyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVs
ZS5jcHAKQEAgLTAsMCArMSw1NSBAQAorLyoqCisgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwg
KGtub2xsQGtkZS5vcmcpCisgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBr
ZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDEyIEFwcGxlIENv
bXB1dGVyLCBJbmMuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtQHdl
YmtpdC5vcmcpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJDU1NIb3N0UnVsZS5oIgor
CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisKKyNpbmNsdWRlICJDU1NQYXJzZXIuaCIKKyNpbmNs
dWRlICJDU1NSdWxlTGlzdC5oIgorI2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNpbmNsdWRl
ICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiV2Vi
Q29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVt
ZW50YXRpb25WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisK
K25hbWVzcGFjZSBXZWJDb3JlIHsKKworQ1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKFN0eWxlUnVs
ZUhvc3QqIGhvc3RSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NCbG9ja1J1
bGU8U3R5bGVSdWxlSG9zdCwgQ1NTSG9zdFJ1bGU+KGhvc3RSdWxlLCBwYXJlbnQpCit7Cit9CisK
K1N0cmluZyBDU1NIb3N0UnVsZTo6Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRl
ciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVuZCgiQGhvc3QgeyBcbiIpOworICAgIGFwcGVuZENz
c1RleHRGb3JJdGVtcyhyZXN1bHQpOworICAgIHJlc3VsdC5hcHBlbmQoJ30nKTsKKyAgICByZXR1
cm4gcmVzdWx0LnRvU3RyaW5nKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2Vu
ZGlmIC8vIEVOQUJMRShTSEFET1dfRE9NKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0hvc3RSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi42NTZlOWJjN2U5NjNkNmYyMDI2ZGYxZDRlNTY3Y2EyM2JiMGE1ZDgxCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmgKQEAgLTAsMCArMSw0OCBA
QAorLyoKKyAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqIChD
KSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQg
KEMpIDIwMDIsIDIwMDYsIDIwMDgsIDIwMTIgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbUB3ZWJraXQub3JnKQor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisj
aWZuZGVmIENTU0hvc3RSdWxlX2gKKyNkZWZpbmUgQ1NTSG9zdFJ1bGVfaAorCisjaW5jbHVkZSAi
Q1NTQmxvY2tSdWxlLmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgiCisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKKworI2lmIEVOQUJMRShTSEFET1dfRE9NKQorCitjbGFzcyBDU1NIb3N0UnVsZSA6IHB1
YmxpYyBDU1NCbG9ja1J1bGU8U3R5bGVSdWxlSG9zdCwgQ1NTSG9zdFJ1bGU+IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NIb3N0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZUhvc3Qq
IHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSG9z
dFJ1bGUocnVsZSwgc2hlZXQpKTsgfQorCisgICAgdmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUo
KSBjb25zdCBPVkVSUklERSB7IHJldHVybiBDU1NSdWxlOjpIT1NUX1JVTEU7IH0KKyAgICB2aXJ0
dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgQ1NT
SG9zdFJ1bGUoU3R5bGVSdWxlSG9zdCosIENTU1N0eWxlU2hlZXQqKTsKK307CisKKyNlbmRpZiAv
LyBFTkFCTEUoU0hBRE9XX0RPTSkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYg
Ly8gQ1NTSG9zdFJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RS
dWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTk1Nzk3OGFhNDM2ZWU5NWFlZjM3ZWM1YWQyMGYyMDY0YTE0MTNmZQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKQEAgLTAsMCArMSwzNCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0Bn
bWFpbC5jb20+CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4g
cmVkaXN0cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRo
ZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUg
dXNlZnVsLAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGlt
cGxpZWQgd2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2
ZWQgYSBjb3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBh
bG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90
LCB3cml0ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJh
bmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgorICovCisKKy8vIEludHJvZHVjZWQgaW4gU2hhZG93IERPTSBzcGVjOgorWworICAgIENvbmRp
dGlvbmFsPVNIQURPV19ET00sCisgICAgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTQorXSBp
bnRlcmZhY2UgQ1NTSG9zdFJ1bGUgOiBDU1NSdWxlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUg
Q1NTUnVsZUxpc3QgY3NzUnVsZXM7CisgICAgCisgICAgdW5zaWduZWQgbG9uZyAgICAgIGluc2Vy
dFJ1bGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHJ1bGUsIAor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNV
bmRlZmluZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01FeGNlcHRp
b24pOworICAgIHZvaWQgICAgICAgICAgICAgICBkZWxldGVSdWxlKGluIFtPcHRpb25hbD1EZWZh
dWx0SXNVbmRlZmluZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01F
eGNlcHRpb24pOworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlh
UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcAppbmRleCBmYzg2
MjRkYTA5MWViZGI2YTI3ZDhmNzM5ZGI2ZjkwMTc2MzQyOWU5Li4wNjkxYWYzOTJiYzc1MjQ0NGY5
YTBhNWIzYTc5YWM3MDQwYjZlNDE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
TWVkaWFSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmNwcApA
QCAtMzUsMTU1ICszNSw1MSBAQAogbmFtZXNwYWNlIFdlYkNvcmUgewogCiBDU1NNZWRpYVJ1bGU6
OkNTU01lZGlhUnVsZShTdHlsZVJ1bGVNZWRpYSogbWVkaWFSdWxlLCBDU1NTdHlsZVNoZWV0KiBw
YXJlbnQpCi0gICAgOiBDU1NSdWxlKHBhcmVudCkKLSAgICAsIG1fbWVkaWFSdWxlKG1lZGlhUnVs
ZSkKLSAgICAsIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyhtZWRpYVJ1bGUtPmNoaWxkUnVsZXMo
KS5zaXplKCkpCisgICAgOiBDU1NCbG9ja1J1bGU8U3R5bGVSdWxlTWVkaWEsIENTU01lZGlhUnVs
ZT4obWVkaWFSdWxlLCBwYXJlbnQpCiB7CiB9CiAKIENTU01lZGlhUnVsZTo6fkNTU01lZGlhUnVs
ZSgpCiB7Ci0gICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9t
ZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOwotCi0gICAgZm9yICh1bnNpZ25lZCBpID0g
MDsgaSA8IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgewotICAgICAgICBp
ZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQotICAgICAgICAgICAgbV9jaGlsZFJ1bGVD
U1NPTVdyYXBwZXJzW2ldLT5zZXRQYXJlbnRSdWxlKDApOwotICAgIH0KICAgICBpZiAobV9tZWRp
YUNTU09NV3JhcHBlcikKICAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBlci0+Y2xlYXJQYXJlbnRS
dWxlKCk7CiB9CiAKLXVuc2lnbmVkIENTU01lZGlhUnVsZTo6aW5zZXJ0UnVsZShjb25zdCBTdHJp
bmcmIHJ1bGVTdHJpbmcsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKLXsKLSAg
ICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX21lZGlhUnVsZS0+
Y2hpbGRSdWxlcygpLnNpemUoKSk7Ci0KLSAgICBpZiAoaW5kZXggPiBtX21lZGlhUnVsZS0+Y2hp
bGRSdWxlcygpLnNpemUoKSkgewotICAgICAgICAvLyBJTkRFWF9TSVpFX0VSUjogUmFpc2VkIGlm
IHRoZSBzcGVjaWZpZWQgaW5kZXggaXMgbm90IGEgdmFsaWQgaW5zZXJ0aW9uIHBvaW50LgotICAg
ICAgICBlYyA9IElOREVYX1NJWkVfRVJSOwotICAgICAgICByZXR1cm4gMDsKLSAgICB9Ci0KLSAg
ICBDU1NQYXJzZXIgcGFyc2VyKHBhcnNlckNvbnRleHQoKSk7Ci0gICAgQ1NTU3R5bGVTaGVldCog
c3R5bGVTaGVldCA9IHBhcmVudFN0eWxlU2hlZXQoKTsKLSAgICBSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4gbmV3UnVsZSA9IHBhcnNlci5wYXJzZVJ1bGUoc3R5bGVTaGVldCA/IHN0eWxlU2hlZXQtPmNv
bnRlbnRzKCkgOiAwLCBydWxlU3RyaW5nKTsKLSAgICBpZiAoIW5ld1J1bGUpIHsKLSAgICAgICAg
Ly8gU1lOVEFYX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgcnVsZSBoYXMgYSBzeW50YXgg
ZXJyb3IgYW5kIGlzIHVucGFyc2FibGUuCi0gICAgICAgIGVjID0gU1lOVEFYX0VSUjsKLSAgICAg
ICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgaWYgKG5ld1J1bGUtPmlzSW1wb3J0UnVsZSgpKSB7
Ci0gICAgICAgIC8vIEZJWE1FOiBhbiBISUVSQVJDSFlfUkVRVUVTVF9FUlIgc2hvdWxkIGFsc28g
YmUgdGhyb3duIGZvciBhIEBjaGFyc2V0IG9yIGEgbmVzdGVkCi0gICAgICAgIC8vIEBtZWRpYSBy
dWxlLiAgVGhleSBhcmUgY3VycmVudGx5IG5vdCBnZXR0aW5nIHBhcnNlZCwgcmVzdWx0aW5nIGlu
IGEgU1lOVEFYX0VSUgotICAgICAgICAvLyB0byBnZXQgcmFpc2VkIGFib3ZlLgotCi0gICAgICAg
IC8vIEhJRVJBUkNIWV9SRVFVRVNUX0VSUjogUmFpc2VkIGlmIHRoZSBydWxlIGNhbm5vdCBiZSBp
bnNlcnRlZCBhdCB0aGUgc3BlY2lmaWVkCi0gICAgICAgIC8vIGluZGV4LCBlLmcuLCBpZiBhbiBA
aW1wb3J0IHJ1bGUgaXMgaW5zZXJ0ZWQgYWZ0ZXIgYSBzdGFuZGFyZCBydWxlIHNldCBvciBvdGhl
cgotICAgICAgICAvLyBhdC1ydWxlLgotICAgICAgICBlYyA9IEhJRVJBUkNIWV9SRVFVRVNUX0VS
UjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVNdXRh
dGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7Ci0KLSAgICBtX21lZGlhUnVsZS0+d3JhcHBl
ckluc2VydFJ1bGUoaW5kZXgsIG5ld1J1bGUpOwotCi0gICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzLmluc2VydChpbmRleCwgUmVmUHRyPENTU1J1bGU+KCkpOwotICAgIHJldHVybiBpbmRleDsK
LX0KLQotdm9pZCBDU1NNZWRpYVJ1bGU6OmRlbGV0ZVJ1bGUodW5zaWduZWQgaW5kZXgsIEV4Y2Vw
dGlvbkNvZGUmIGVjKQotewotICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6
ZSgpID09IG1fbWVkaWFSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKLQotICAgIGlmIChpbmRl
eCA+PSBtX21lZGlhUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgewotICAgICAgICAvLyBJTkRF
WF9TSVpFX0VSUjogUmFpc2VkIGlmIHRoZSBzcGVjaWZpZWQgaW5kZXggZG9lcyBub3QgY29ycmVz
cG9uZCB0byBhCi0gICAgICAgIC8vIHJ1bGUgaW4gdGhlIG1lZGlhIHJ1bGUgbGlzdC4KLSAgICAg
ICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIENT
U1N0eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3BlIG11dGF0aW9uU2NvcGUodGhpcyk7Ci0KLSAg
ICBtX21lZGlhUnVsZS0+d3JhcHBlclJlbW92ZVJ1bGUoaW5kZXgpOwotCi0gICAgaWYgKG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVyc1tpbmRleF0pCi0gICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFw
cGVyc1tpbmRleF0tPnNldFBhcmVudFJ1bGUoMCk7Ci0gICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzLnJlbW92ZShpbmRleCk7Ci19Ci0KIFN0cmluZyBDU1NNZWRpYVJ1bGU6OmNzc1RleHQoKSBj
b25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwogICAgIHJlc3VsdC5hcHBlbmQoIkBt
ZWRpYSAiKTsKLSAgICBpZiAobV9tZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpKSB7Ci0gICAgICAg
IHJlc3VsdC5hcHBlbmQobV9tZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpLT5tZWRpYVRleHQoKSk7
CisgICAgaWYgKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMoKSkgeworICAgICAgICByZXN1bHQu
YXBwZW5kKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMoKS0+bWVkaWFUZXh0KCkpOwogICAgICAg
ICByZXN1bHQuYXBwZW5kKCcgJyk7CiAgICAgfQogICAgIHJlc3VsdC5hcHBlbmQoInsgXG4iKTsK
LSAgICAKLSAgICB1bnNpZ25lZCBzaXplID0gbGVuZ3RoKCk7Ci0gICAgZm9yICh1bnNpZ25lZCBp
ID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICByZXN1bHQuYXBwZW5kKCIgICIpOwotICAg
ICAgICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNzc1RleHQoKSk7Ci0gICAgICAgIHJlc3VsdC5h
cHBlbmQoJ1xuJyk7Ci0gICAgfQotCisgICAgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKHJlc3VsdCk7
CiAgICAgcmVzdWx0LmFwcGVuZCgnfScpOwogICAgIHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsK
IH0KIAogTWVkaWFMaXN0KiBDU1NNZWRpYVJ1bGU6Om1lZGlhKCkgY29uc3QKIHsKLSAgICBpZiAo
IW1fbWVkaWFSdWxlLT5tZWRpYVF1ZXJpZXMoKSkKKyAgICBpZiAoIW1fYmxvY2tSdWxlLT5tZWRp
YVF1ZXJpZXMoKSkKICAgICAgICAgcmV0dXJuIDA7CiAgICAgaWYgKCFtX21lZGlhQ1NTT01XcmFw
cGVyKQotICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVhdGUobV9t
ZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpLCBjb25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMp
KTsKKyAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBlciA9IE1lZGlhTGlzdDo6Y3JlYXRlKG1fYmxv
Y2tSdWxlLT5tZWRpYVF1ZXJpZXMoKSwgY29uc3RfY2FzdDxDU1NNZWRpYVJ1bGUqPih0aGlzKSk7
CiAgICAgcmV0dXJuIG1fbWVkaWFDU1NPTVdyYXBwZXIuZ2V0KCk7CiB9CiAKLXVuc2lnbmVkIENT
U01lZGlhUnVsZTo6bGVuZ3RoKCkgY29uc3QKLXsgCi0gICAgcmV0dXJuIG1fbWVkaWFSdWxlLT5j
aGlsZFJ1bGVzKCkuc2l6ZSgpOyAKLX0KLQotQ1NTUnVsZSogQ1NTTWVkaWFSdWxlOjppdGVtKHVu
c2lnbmVkIGluZGV4KSBjb25zdAoteyAKLSAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCi0gICAg
ICAgIHJldHVybiAwOwotICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgp
ID09IG1fbWVkaWFSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKLSAgICBSZWZQdHI8Q1NTUnVs
ZT4mIHJ1bGUgPSBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdOwotICAgIGlmICghcnVs
ZSkKLSAgICAgICAgcnVsZSA9IG1fbWVkaWFSdWxlLT5jaGlsZFJ1bGVzKClbaW5kZXhdLT5jcmVh
dGVDU1NPTVdyYXBwZXIoY29uc3RfY2FzdDxDU1NNZWRpYVJ1bGUqPih0aGlzKSk7Ci0gICAgcmV0
dXJuIHJ1bGUuZ2V0KCk7Ci19Ci0KLUNTU1J1bGVMaXN0KiBDU1NNZWRpYVJ1bGU6OmNzc1J1bGVz
KCkgY29uc3QKLXsKLSAgICBpZiAoIW1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpCi0gICAgICAgIG1f
cnVsZUxpc3RDU1NPTVdyYXBwZXIgPSBhZG9wdFB0cihuZXcgTGl2ZUNTU1J1bGVMaXN0PENTU01l
ZGlhUnVsZT4oY29uc3RfY2FzdDxDU1NNZWRpYVJ1bGUqPih0aGlzKSkpOwotICAgIHJldHVybiBt
X3J1bGVMaXN0Q1NTT01XcmFwcGVyLmdldCgpOwotfQotCiB2b2lkIENTU01lZGlhUnVsZTo6cmVh
dHRhY2goU3R5bGVSdWxlQmFzZSogcnVsZSkKIHsKLSAgICBBU1NFUlQocnVsZSk7Ci0gICAgQVNT
RVJUKHJ1bGUtPmlzTWVkaWFSdWxlKCkpOwotICAgIG1fbWVkaWFSdWxlID0gc3RhdGljX2Nhc3Q8
U3R5bGVSdWxlTWVkaWEqPihydWxlKTsKLSAgICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAmJiBt
X21lZGlhUnVsZS0+bWVkaWFRdWVyaWVzKCkpCi0gICAgICAgIG1fbWVkaWFDU1NPTVdyYXBwZXIt
PnJlYXR0YWNoKG1fbWVkaWFSdWxlLT5tZWRpYVF1ZXJpZXMoKSk7Ci0gICAgZm9yICh1bnNpZ25l
ZCBpID0gMDsgaSA8IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgewotICAg
ICAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQotICAgICAgICAgICAgbV9jaGls
ZFJ1bGVDU1NPTVdyYXBwZXJzW2ldLT5yZWF0dGFjaChtX21lZGlhUnVsZS0+Y2hpbGRSdWxlcygp
W2ldLmdldCgpKTsKLSAgICB9CisgICAgQ1NTQmxvY2tSdWxlPFN0eWxlUnVsZU1lZGlhLCBDU1NN
ZWRpYVJ1bGU+OjpyZWF0dGFjaChydWxlKTsKKyAgICBpZiAobV9tZWRpYUNTU09NV3JhcHBlciAm
JiBtX2Jsb2NrUnVsZS0+bWVkaWFRdWVyaWVzKCkpCisgICAgICAgIG1fbWVkaWFDU1NPTVdyYXBw
ZXItPnJlYXR0YWNoKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMoKSk7CiB9CiAKIHZvaWQgQ1NT
TWVkaWFSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmpl
Y3RJbmZvKSBjb25zdAogewogICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1lbW9yeU9iamVjdElu
Zm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKLSAgICBDU1NSdWxlOjpyZXBvcnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICBDU1NCbG9ja1J1bGU8U3R5bGVSdWxl
TWVkaWEsIENTU01lZGlhUnVsZT46OnJlcG9ydE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8p
OwogICAgIGluZm8uYWRkTWVtYmVyKG1fbWVkaWFDU1NPTVdyYXBwZXIpOwotICAgIGluZm8uYWRk
TWVtYmVyKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9y
dWxlTGlzdENTU09NV3JhcHBlcik7CiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NNZWRpYVJ1bGUuaAppbmRleCA4NzgzNTk0ODRiNDdlMTQ0OTgxMDUxNGI0YzlkYzhl
NGQ4MzM3NDU4Li41NzEwODY0NGVmZmQ4NmI5M2M2NDg3NjViM2QzMDA3NGE0ZGFlYzMzIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oCkBAIC0yMywxNSArMjMsMTQgQEAKICNpZm5kZWYgQ1NT
TWVkaWFSdWxlX2gKICNkZWZpbmUgQ1NTTWVkaWFSdWxlX2gKIAotI2luY2x1ZGUgIkNTU1J1bGUu
aCIKKyNpbmNsdWRlICJDU1NCbG9ja1J1bGUuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKIAog
bmFtZXNwYWNlIFdlYkNvcmUgewogCi1jbGFzcyBDU1NSdWxlTGlzdDsKIGNsYXNzIFN0eWxlUnVs
ZU1lZGlhOwogCi1jbGFzcyBDU1NNZWRpYVJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CitjbGFzcyBD
U1NNZWRpYVJ1bGUgOiBwdWJsaWMgQ1NTQmxvY2tSdWxlPFN0eWxlUnVsZU1lZGlhLCBDU1NNZWRp
YVJ1bGU+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NNZWRpYVJ1bGU+IGNy
ZWF0ZShTdHlsZVJ1bGVNZWRpYSogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpIHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBDU1NNZWRpYVJ1bGUocnVsZSwgc2hlZXQpKTsgfQogCkBAIC00MywyMiAr
NDIsMTEgQEAgcHVibGljOgogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBPVkVS
UklERTsKIAogICAgIE1lZGlhTGlzdCogbWVkaWEoKSBjb25zdDsKLSAgICBDU1NSdWxlTGlzdCog
Y3NzUnVsZXMoKSBjb25zdDsKLQotICAgIHVuc2lnbmVkIGluc2VydFJ1bGUoY29uc3QgU3RyaW5n
JiBydWxlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwotICAgIHZvaWQgZGVsZXRl
UnVsZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYpOwotICAgICAgICAKLSAgICAvLyBG
b3IgQ1NTUnVsZUxpc3QKLSAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKLSAgICBDU1NSdWxl
KiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBDU1NNZWRpYVJ1
bGUoU3R5bGVSdWxlTWVkaWEqLCBDU1NTdHlsZVNoZWV0Kik7CiAgICAgCi0gICAgUmVmUHRyPFN0
eWxlUnVsZU1lZGlhPiBtX21lZGlhUnVsZTsKICAgICBtdXRhYmxlIFJlZlB0cjxNZWRpYUxpc3Q+
IG1fbWVkaWFDU1NPTVdyYXBwZXI7Ci0gICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+
ID4gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzOwotICAgIG11dGFibGUgT3duUHRyPENTU1J1bGVM
aXN0PiBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyOwogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggMDc1OGU3NGY4MTUwYTk3OTRlYTFjYjgzODExMjYxMTE0
NGYzMjA2Ny4uMTJmZjVkMDcyMDMxMzc0Zjg4YjU0OTY4MWM1NTI4NWI2YjBjOWM1NSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5oCkBAIC01NCw3ICs1NCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIFdFQktJVF9W
SUVXUE9SVF9SVUxFID0gMTUsCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCi0gICAg
ICAgIFdFQktJVF9SRUdJT05fUlVMRSA9IDE2CisgICAgICAgIFdFQktJVF9SRUdJT05fUlVMRSA9
IDE2LAorI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIEhPU1RfUlVMRSA9
IDEwMDEsCiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKaW5kZXggYWYxMThm
ZTcyYjliODA3NGY3ZDYwODJkMDkzZTI3MGNmZjJiMTA2OC4uZDUwNGUwYzBlYWU5ZDgwODkzMTUw
OTFjZjZjOTJiOWEwODhiZmFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1
bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbApAQCAtNDMsNiArNDMs
OSBAQAogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19SRUdJT05TKSAmJiBFTkFCTEVfQ1NTX1JFR0lP
TlMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNjsKICNl
bmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFET1dfRE9N
CisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSE9TVF9SVUxFID0gMTAwMTsKKyNlbmRpZgogCiAg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgdHlwZTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDA5OGUwZDU3YzBiN2UxZDc0ZWQxNTA4ZjdlOTAw
ZDUxNmMyZTk3MGQuLjM1YmEwMDVlZDhkMmU0M2FiZmRkM2Y0ZDllMTgzY2E0ZTQwZjAyODcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNs
dWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VSdWxlLmgi
CiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuaCIK
ICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENvbnRhaW5W
YWx1ZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgpAQCAtMjY0Miw2ICsyNjQzLDExIEBA
IHN0YXRpYyB2b2lkIGNvbGxlY3RDU1NPTVdyYXBwZXJzKEhhc2hNYXA8U3R5bGVSdWxlKiwgUmVm
UHRyPENTU1N0eWxlUnVsZT4gPiYgd3JhCiAgICAgICAgICAgICBjb2xsZWN0Q1NTT01XcmFwcGVy
cyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oY3NzUnVsZSkp
OwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAg
ICAgICAgY2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6CisgICAgICAgICAgICBjb2xsZWN0Q1NTT01X
cmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxDU1NIb3N0UnVsZSo+KGNzc1J1bGUpKTsK
KyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6U1RZTEVf
UlVMRToKICAgICAgICAgICAgIHdyYXBwZXJNYXAuYWRkKHN0YXRpY19jYXN0PENTU1N0eWxlUnVs
ZSo+KGNzc1J1bGUpLT5zdHlsZVJ1bGUoKSwgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxlKj4oY3Nz
UnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCmluZGV4
IDQzZTZhNWUxMzc2ODBjYzJkMWM2YWMzMDE5M2RmZTY1NjY2MjMwMjAuLjE0NjMyOGY5YjQ4MDU3
YjZkZmVhMjlhYjZkNGEzZTQ1NTkxZTIxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCkBA
IC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUg
IkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNT
U1BhZ2VSdWxlLmgiCkBAIC04Miw4ICs4Myw4IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6cmVwb3J0
TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAg
ICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyktPnJlcG9y
dERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJu
OwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKLSAgICAgICAgc3RhdGlj
X2Nhc3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9y
eVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGNhc2UgSG9zdEludGVybmFsOgorICAgICAg
ICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPnJlcG9ydERlc2NlbmRh
bnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlm
CiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKQEAgLTEzMCw3ICsxMzEsNyBAQCB2
b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8
U3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKICNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKLSAgICBjYXNlIEhvc3Q6CisgICAgY2FzZSBIb3N0SW50ZXJuYWw6CiAgICAg
ICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4odGhpcyk7CiAgICAgICAgIHJl
dHVybjsKICNlbmRpZgpAQCAtMTczLDcgKzE3NCw3IEBAIFBhc3NSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4gU3R5bGVSdWxlQmFzZTo6Y29weSgpIGNvbnN0CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAg
ICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlzKS0+
Y29weSgpOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKKyAgICBjYXNl
IEhvc3RJbnRlcm5hbDoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVs
ZUhvc3QqPih0aGlzKS0+Y29weSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURB
UFRBVElPTikKQEAgLTIyNyw5ICsyMjgsOCBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVs
ZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogICAg
ICAgICBicmVhazsKICNlbmRpZgogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9z
dDoKLSAgICAgICAgLy8gRklYTUU6IFRoZSBjdXJyZW50IENTU09NIGVkaXRvcidzIGRyYWZ0ICho
dHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8pIGRvZXMgbm90IGhhbmRsZSBAaG9zdCBydWxl
cyAoc2VlIGJ1ZyAxMDIzNDQpLgotICAgICAgICBydWxlID0gYWRvcHRSZWYobmV3IENTU1Vua25v
d25SdWxlKCkpOworICAgIGNhc2UgSG9zdEludGVybmFsOgorICAgICAgICBydWxlID0gQ1NTSG9z
dFJ1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4oc2VsZiksIHBhcmVudFNo
ZWV0KTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIFVua25vd246CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
U3R5bGVSdWxlLmgKaW5kZXggNGVmNzY0MjgzODhiMWM0NzJlMTM5MWMzOTFiMjNhODY4MWZjMTYz
NS4uNWViOGVhODU5ZjhlODllOGI0OWY1NTExNWJmN2Y5YTY1NGQ3MjA3YiAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9T
dHlsZVJ1bGUuaApAQCAtNDYsMTQgKzQ2LDE1IEBAIHB1YmxpYzoKICAgICAgICAgUGFnZSwKICAg
ICAgICAgS2V5ZnJhbWVzLAogICAgICAgICBLZXlmcmFtZSwgLy8gTm90IHVzZWQuIFRoZXNlIGFy
ZSBpbnRlcm5hbGx5IG5vbi1ydWxlIFN0eWxlS2V5ZnJhbWUgb2JqZWN0cy4KLSNpZiBFTkFCTEUo
U0hBRE9XX0RPTSkKLSAgICAgICAgSG9zdCwKLSNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNF
X0FEQVBUQVRJT04pCiAgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAjZW5kaWYKLSAgICAgICAgUmVn
aW9uID0gMTYKKyAgICAgICAgUmVnaW9uID0gMTYsCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisg
ICAgICAgIEhvc3RJbnRlcm5hbCA9IDE3LCAvLyBTcGVjIHNheXMgSG9zdCA9IDEwMDEsIGJ1dCB3
ZSBjYW4gdXNlIG9ubHkgNSBiaXQgZm9yIHR5cGUoKS4KKyNlbmRpZgogICAgIH07CisKICAgICBU
eXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUpOyB9CiAg
ICAgCiAgICAgYm9vbCBpc0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IENo
YXJzZXQ7IH0KQEAgLTY4LDcgKzY5LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgYm9vbCBpc0lt
cG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAjaWYgRU5BQkxF
KFNIQURPV19ET00pCi0gICAgYm9vbCBpc0hvc3RSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgp
ID09IEhvc3Q7IH0KKyAgICBib29sIGlzSG9zdFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkg
PT0gSG9zdEludGVybmFsOyB9CiAjZW5kaWYKIAogICAgIFBhc3NSZWZQdHI8U3R5bGVSdWxlQmFz
ZT4gY29weSgpIGNvbnN0OwpAQCAtMjQ2LDcgKzI0Nyw3IEBAIHB1YmxpYzoKICAgICBQYXNzUmVm
UHRyPFN0eWxlUnVsZUhvc3Q+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5
bGVSdWxlSG9zdCgqdGhpcykpOyB9CiAKIHByaXZhdGU6Ci0gICAgU3R5bGVSdWxlSG9zdChWZWN0
b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpIDogU3R5bGVSdWxlQmxvY2so
SG9zdCwgYWRvcHRSdWxlcykgeyB9CisgICAgU3R5bGVSdWxlSG9zdChWZWN0b3I8UmVmUHRyPFN0
eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpIDogU3R5bGVSdWxlQmxvY2soSG9zdEludGVybmFs
LCBhZG9wdFJ1bGVzKSB7IH0KICAgICBTdHlsZVJ1bGVIb3N0KGNvbnN0IFN0eWxlUnVsZUhvc3Qm
IG8pIDogU3R5bGVSdWxlQmxvY2sobykgeyB9CiB9OwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IGRjNTIxZGYzOWMyYmQ0MzY1NjRmZjViYzg4
N2QxYTNiMTBiZDdiMWIuLjI0YzZhZGQ2ZmU1YTNkNzBhM2Q2ZTRmNDkyNGM1Y2Y0MWVlNWQ5ZjMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC00NDQsNyAr
NDQ0LDcgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVz
b3VyY2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUKICAgICAgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgICAg
ICBjYXNlIFN0eWxlUnVsZUJhc2U6Okhvc3Q6CisgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6
SG9zdEludGVybmFsOgogICAgICAgICAgICAgaWYgKGNoaWxkUnVsZXNIYXZlRmFpbGVkT3JDYW5j
ZWxlZFN1YnJlc291cmNlcyhzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4ocnVsZSkt
PmNoaWxkUnVsZXMoKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgICAgICAg
ICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25S
dWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcAppbmRl
eCA2OGRiOTY0MWNiMjdlMDk0OTYwMmI1NDFhYWU2NDNkYmQ0NWY5ZmYyLi5iMjExYzlkODUxM2Fl
NWZhOWE3YzM3YjJlMWFiZjM3MThiZWIwNTlkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvV2ViS2l0Q1NTUmVnaW9uUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1JlZ2lvblJ1bGUuY3BwCkBAIC00Miw4NCArNDIsMjUgQEAKIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogV2ViS2l0Q1NTUmVnaW9uUnVsZTo6V2ViS2l0Q1NTUmVnaW9uUnVsZShTdHlsZVJ1bGVS
ZWdpb24qIHJlZ2lvblJ1bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKLSAgICA6IENTU1J1bGUo
cGFyZW50KQotICAgICwgbV9yZWdpb25SdWxlKHJlZ2lvblJ1bGUpCi0gICAgLCBtX2NoaWxkUnVs
ZUNTU09NV3JhcHBlcnMocmVnaW9uUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkKKyAgICA6IENT
U0Jsb2NrUnVsZTxTdHlsZVJ1bGVSZWdpb24sIFdlYktpdENTU1JlZ2lvblJ1bGU+KHJlZ2lvblJ1
bGUsIHBhcmVudCkKIHsKIH0KIAotV2ViS2l0Q1NTUmVnaW9uUnVsZTo6fldlYktpdENTU1JlZ2lv
blJ1bGUoKQotewotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fY2hpbGRSdWxlQ1NTT01XcmFw
cGVyc1tpXSkKLSAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+c2V0UGFy
ZW50UnVsZSgwKTsKLSAgICB9Ci19Ci0KIFN0cmluZyBXZWJLaXRDU1NSZWdpb25SdWxlOjpjc3NU
ZXh0KCkgY29uc3QKIHsKICAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKICAgICByZXN1bHQuYXBw
ZW5kKCJALXdlYmtpdC1yZWdpb24gIik7CiAKICAgICAvLyBGaXJzdCBhZGQgdGhlIHNlbGVjdG9y
cy4KLSAgICByZXN1bHQuYXBwZW5kKG1fcmVnaW9uUnVsZS0+c2VsZWN0b3JMaXN0KCkuc2VsZWN0
b3JzVGV4dCgpKTsKKyAgICByZXN1bHQuYXBwZW5kKG1fYmxvY2tSdWxlLT5zZWxlY3Rvckxpc3Qo
KS5zZWxlY3RvcnNUZXh0KCkpOwogCiAgICAgLy8gVGhlbiBhZGQgdGhlIHJ1bGVzLgogICAgIHJl
c3VsdC5hcHBlbmQoIiB7IFxuIik7Ci0KLSAgICB1bnNpZ25lZCBzaXplID0gbGVuZ3RoKCk7Ci0g
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICByZXN1bHQu
YXBwZW5kKCIgICIpOwotICAgICAgICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNzc1RleHQoKSk7
Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoIlxuIik7Ci0gICAgfQorICAgIGFwcGVuZENzc1RleHRG
b3JJdGVtcyhyZXN1bHQpOwogICAgIHJlc3VsdC5hcHBlbmQoIn0iKTsKICAgICByZXR1cm4gcmVz
dWx0LnRvU3RyaW5nKCk7CiB9CiAKLXVuc2lnbmVkIFdlYktpdENTU1JlZ2lvblJ1bGU6Omxlbmd0
aCgpIGNvbnN0Ci17IAotICAgIHJldHVybiBtX3JlZ2lvblJ1bGUtPmNoaWxkUnVsZXMoKS5zaXpl
KCk7IAotfQotCi1DU1NSdWxlKiBXZWJLaXRDU1NSZWdpb25SdWxlOjppdGVtKHVuc2lnbmVkIGlu
ZGV4KSBjb25zdAoteyAKLSAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCi0gICAgICAgIHJldHVy
biAwOwotICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fcmVn
aW9uUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7Ci0gICAgUmVmUHRyPENTU1J1bGU+JiBydWxl
ID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKLSAgICBpZiAoIXJ1bGUpCi0gICAg
ICAgIHJ1bGUgPSBtX3JlZ2lvblJ1bGUtPmNoaWxkUnVsZXMoKVtpbmRleF0tPmNyZWF0ZUNTU09N
V3JhcHBlcihjb25zdF9jYXN0PFdlYktpdENTU1JlZ2lvblJ1bGUqPih0aGlzKSk7Ci0gICAgcmV0
dXJuIHJ1bGUuZ2V0KCk7Ci19Ci0KLUNTU1J1bGVMaXN0KiBXZWJLaXRDU1NSZWdpb25SdWxlOjpj
c3NSdWxlcygpIGNvbnN0Ci17Ci0gICAgaWYgKCFtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKQotICAg
ICAgICBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyID0gYWRvcHRQdHIobmV3IExpdmVDU1NSdWxlTGlz
dDxXZWJLaXRDU1NSZWdpb25SdWxlPihjb25zdF9jYXN0PFdlYktpdENTU1JlZ2lvblJ1bGUqPih0
aGlzKSkpOwotICAgIHJldHVybiBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyLmdldCgpOwotfQotCi12
b2lkIFdlYktpdENTU1JlZ2lvblJ1bGU6OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCi17
Ci0gICAgQVNTRVJUKHJ1bGUpOwotICAgIEFTU0VSVChydWxlLT5pc1JlZ2lvblJ1bGUoKSk7Ci0g
ICAgbV9yZWdpb25SdWxlID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlUmVnaW9uKj4ocnVsZSk7Ci0g
ICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXpl
KCk7ICsraSkgewotICAgICAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQotICAg
ICAgICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldLT5yZWF0dGFjaChtX3JlZ2lvblJ1
bGUtPmNoaWxkUnVsZXMoKVtpXS5nZXQoKSk7Ci0gICAgfQotfQotCi12b2lkIFdlYktpdENTU1Jl
Z2lvblJ1bGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVj
dEluZm8pIGNvbnN0Ci17Ci0gICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0SW5m
bywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIENTU1J1bGU6OnJlcG9ydE1l
bW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwotICAgIGluZm8uYWRkTWVtYmVyKG1fcmVnaW9u
UnVsZSk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKLSAg
ICBpbmZvLmFkZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKLX0KLQogfSAvLyBuYW1l
c3BhY2UgV2ViQ29yZQogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9X
ZWJLaXRDU1NSZWdpb25SdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2ViS2l0Q1NTUmVnaW9u
UnVsZS5oCmluZGV4IGE2OGJhMTFkNTBjZDNkNzkxZTBlZGU1Y2UyOGI5NjExNjNlMGJiNDguLjBm
MzJmYjFhMDc5MDE0OGVjYTU0MzdkOWYzY2FhZTQ3MGFkMmVlYjYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaApAQCAtMzEsNDEgKzMxLDI0IEBACiAjaWZuZGVmIFdl
YktpdENTU1JlZ2lvblJ1bGVfaAogI2RlZmluZSBXZWJLaXRDU1NSZWdpb25SdWxlX2gKIAotI2lu
Y2x1ZGUgIkNTU1J1bGUuaCIKKyNpbmNsdWRlICJDU1NCbG9ja1J1bGUuaCIKICNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CiAKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIAotY2xhc3MgQ1NTUnVsZUxpc3Q7CiBjbGFzcyBTdHlsZVJ1bGVSZWdpb247CiAKLWNs
YXNzIFdlYktpdENTU1JlZ2lvblJ1bGUgOiBwdWJsaWMgQ1NTUnVsZSB7CitjbGFzcyBXZWJLaXRD
U1NSZWdpb25SdWxlIDogcHVibGljIENTU0Jsb2NrUnVsZTxTdHlsZVJ1bGVSZWdpb24sIFdlYktp
dENTU1JlZ2lvblJ1bGU+IHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJLaXRD
U1NSZWdpb25SdWxlPiBjcmVhdGUoU3R5bGVSdWxlUmVnaW9uKiBydWxlLCBDU1NTdHlsZVNoZWV0
KiBzaGVldCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IFdlYktpdENTU1JlZ2lvblJ1bGUocnVsZSwg
c2hlZXQpKTsgfQogCi0gICAgdmlydHVhbCB+V2ViS2l0Q1NTUmVnaW9uUnVsZSgpOwotCiAgICAg
dmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBXRUJL
SVRfUkVHSU9OX1JVTEU7IH0KICAgICB2aXJ0dWFsIFN0cmluZyBjc3NUZXh0KCkgY29uc3QgT1ZF
UlJJREU7Ci0gICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyop
IGNvbnN0IE9WRVJSSURFOwotCi0gICAgQ1NTUnVsZUxpc3QqIGNzc1J1bGVzKCkgY29uc3Q7Ci0g
ICAgCi0gICAgLy8gRm9yIENTU1J1bGVMaXN0Ci0gICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7
Ci0gICAgQ1NTUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CiAKIHByaXZhdGU6CiAg
ICAgV2ViS2l0Q1NTUmVnaW9uUnVsZShTdHlsZVJ1bGVSZWdpb24qLCBDU1NTdHlsZVNoZWV0KiBw
YXJlbnQpOwotCi0gICAgUmVmUHRyPFN0eWxlUnVsZVJlZ2lvbj4gbV9yZWdpb25SdWxlOwotICAg
IG11dGFibGUgVmVjdG9yPFJlZlB0cjxDU1NSdWxlPiA+IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
czsKLSAgICBtdXRhYmxlIE93blB0cjxDU1NSdWxlTGlzdD4gbV9ydWxlTGlzdENTU09NV3JhcHBl
cjsKLSAgICAKLSAgICBmcmllbmQgY2xhc3MgU3R5bGVSdWxlQmxvY2s7CiB9OwogCiB9CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwgYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL0RPTVdpbmRvdy5pZGwKaW5kZXggYzk2YzcyNTJhMmI5ZmZhOTM1YTY0MTVhZWZhMmM0
NjNjY2NkZTMxNi4uZTNlMDAzZmU2YWExNWFjY2M2NjBlMTVhMThlNjZjZjY5NjJkY2QwMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbApAQCAtMzQ4LDYgKzM0OCw5IEBACiAgICAgYXR0cmli
dXRlIENTU1J1bGVDb25zdHJ1Y3RvciBDU1NSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NDaGFyc2V0
UnVsZUNvbnN0cnVjdG9yIENTU0NoYXJzZXRSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NGb250RmFj
ZVJ1bGVDb25zdHJ1Y3RvciBDU1NGb250RmFjZVJ1bGU7CisjaWYgZGVmaW5lZChFTkFCTEVfU0hB
RE9XX0RPTSkgJiYgRU5BQkxFX1NIQURPV19ET00KKyAgICBhdHRyaWJ1dGUgQ1NTSG9zdFJ1bGVD
b25zdHJ1Y3RvciBDU1NIb3N0UnVsZTsKKyNlbmRpZgogICAgIGF0dHJpYnV0ZSBDU1NJbXBvcnRS
dWxlQ29uc3RydWN0b3IgQ1NTSW1wb3J0UnVsZTsKICAgICBhdHRyaWJ1dGUgQ1NTTWVkaWFSdWxl
Q29uc3RydWN0b3IgQ1NTTWVkaWFSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NQYWdlUnVsZUNvbnN0
cnVjdG9yIENTU1BhZ2VSdWxlOwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDAzNzkyNTNhM2EyYTY1N2VhMDA3MDMxOTJhYjcz
NTE3NjNlOTNmM2YuLjU2YzYzODVhM2MwMTU4ZDVlMTJmYWE4NWU5MzY0M2Q4OWMyZWJjOWIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwxMyBAQAorMjAxMy0wMS0wOCAgVGFrYXNoaSBTYWthbW90byAgPHRhc2Fr
QGdvb2dsZS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTU0hvc3RSdWxlIGZvciBAaG9zdCBA
LXJ1bGVzLgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTAyMzQ0CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
KiBmYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQ6IEFkZGVkLgor
ICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWw6IEFkZGVkLgor
CiAyMDEzLTAxLTA3ICBBZGFtIEJhcnRoICA8YWJhcnRoQHdlYmtpdC5vcmc+CiAKICAgICAgICAg
SFRNTFRyZWVCdWlsZGVyIHNob3VsZCBub3QgZGVwZW5kIG9uIEZyYW1lCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQg
Yi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50
eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNjIxOTU2NzdlZGZlOTg3YjRhNzg2M2MyMDAyYzRmMTUzMjk1ZDhhNAot
LS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1
bGUtYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitUZXN0IHdoZXRoZXIgQ1NTSG9z
dFJ1bGUgQVBJIHdvcmtzIGNvcnJlY3RseSBvciBub3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxs
IHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBM
RVRFIi4KKworCitCZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1
bGVzOgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwg
MCwgMCkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCBpcyAwCitQQVNTIGhvc3RSdWxl
LnR5cGUgaXMgMTAwMQorQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBz
ZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCku
Ym9yZGVyQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5s
ZW5ndGggaXMgMQorUEFTUyBob3N0UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7IFxuICAjaG9zdCB7
IGJvcmRlci1jb2xvcjogZ3JlZW47IH1cbn0iCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNz
c1RleHQgaXMgIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSIKK0FmdGVyIGluc2VydGlu
ZyBhIGJvcmRlciBydWxlIHdpdGggYSB0YWcgc2VsZWN0b3IgaW50byBAaG9zdCBALXJ1bGVzOgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAw
KSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgaG9zdFJ1bGUuY3Nz
VGV4dCBpcyAiQGhvc3QgeyBcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XG4gIGRp
diB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0u
Y3NzVGV4dCBpcyAiI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IgorUEFTUyBob3N0UnVs
ZS5jc3NSdWxlc1sxXS5jc3NUZXh0IGlzICJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iCitB
ZnRlciBkZWxldGluZyB0aGUgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBmcm9tIEBo
b3N0IEAtcnVsZXM6CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMg
InJnYigwLCAwLCAyNTUpIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFT
UyBob3N0UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7IFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJs
dWU7IH1cbn0iCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgImRpdiB7IGJv
cmRlci1jb2xvcjogYmx1ZTsgfSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKwor
VEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y3NzLWhvc3RydWxlLWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1o
b3N0cnVsZS1hcGkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODE1YzY3Y2Y0MzJjNGU1MDU2MzNhYTFiOGNi
NzQyMTUwNzE4OTZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hh
ZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IWRvY3R5cGUgaHRt
bD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48
L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMi
Pjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgaWQ9Imhvc3QiPlRoaXMgZGl2IGlz
IGEgc2hhZG93IGhvc3QuPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRl
c3Qgd2hldGhlciBDU1NIb3N0UnVsZSBBUEkgd29ya3MgY29ycmVjdGx5IG9yIG5vdC4iKTsKK3Zh
ciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKK3ZhciBzaGFkb3dSb290
ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CitzaGFkb3dSb290LmlubmVySFRNTCA9
ICc8c3R5bGUgaWQ9InN0eWxlMSI+QGhvc3Qge308L3N0eWxlPjxkaXY+U2hhZG93IFRleHQ8L2Rp
dj4nOworICAKK2RlYnVnKCJCZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9z
dCBALXJ1bGVzOiIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29s
b3IiLCAnInJnYigwLCAwLCAwKSInKTsKKwordmFyIHN0eWxlU2hlZXQgPSBzaGFkb3dSb290Lmdl
dEVsZW1lbnRCeUlkKCdzdHlsZTEnKS5zaGVldDsKK3ZhciBob3N0UnVsZSA9IHN0eWxlU2hlZXQu
Y3NzUnVsZXNbMF07CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzAnKTsK
K3Nob3VsZEJlKCJob3N0UnVsZS50eXBlIiwgJzEwMDEnKTsKKyAgCitkZWJ1ZygiQWZ0ZXIgaW5z
ZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVs
ZXM6Iik7Citob3N0UnVsZS5pbnNlcnRSdWxlKCIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47
IH0iLCBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5
bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoImhv
c3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIsICcxJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4
dCIsICciQGhvc3QgeyBcXG4gICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxcbn0iJyk7
CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCIsICciI2hvc3QgeyBib3Jk
ZXItY29sb3I6IGdyZWVuOyB9IicpOworCitkZWJ1ZygiQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVy
IHJ1bGUgd2l0aCBhIHRhZyBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6Iik7Citob3N0UnVs
ZS5pbnNlcnRSdWxlKCJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iLCBob3N0UnVsZS5jc3NS
dWxlcy5sZW5ndGgpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29s
b3IiLCAnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzLmxl
bmd0aCIsICcyJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3QgeyBcXG4g
ICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxcbiAgZGl2IHsgYm9yZGVyLWNvbG9yOiBi
bHVlOyB9XFxufSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0Iiwg
JyIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUu
Y3NzUnVsZXNbMV0uY3NzVGV4dCIsICciZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9IicpOwor
CitkZWJ1ZygiQWZ0ZXIgZGVsZXRpbmcgdGhlIGJvcmRlciBydWxlIHdpdGggYW4gaWQgc2VsZWN0
b3IgZnJvbSBAaG9zdCBALXJ1bGVzOiIpOworaG9zdFJ1bGUuZGVsZXRlUnVsZSgwKTsKK3Nob3Vs
ZEJlKCJnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIiwgJyJyZ2IoMCwgMCwgMjU1
KSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMScpOworc2hvdWxk
QmUoImhvc3RSdWxlLmNzc1RleHQiLCAnIkBob3N0IHsgXFxuICBkaXYgeyBib3JkZXItY29sb3I6
IGJsdWU7IH1cXG59IicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQi
LCAnImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSInKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0
IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0
bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>181679</attachid>
            <date>2013-01-08 02:53:00 -0800</date>
            <delta_ts>2013-01-11 01:35:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20130108195004.patch</filename>
            <type>text/plain</type>
            <size>61674</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCA5M2ZlMjcxMzY3NjJjMDEwZTU2MWI1NDRkYTY0OGYzMjJmZThkZmUxLi42
NmY4N2I1ZGFkYmRhOWU2NDNhY2YwMTY1NjUyN2MxZGY0MDdkMTExIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsMTE0IEBACisyMDEzLTAxLTA4ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xl
LmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NTSG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVsZXMu
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNDQK
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDU1NIb3N0
UnVsZSBpcyBkZWZpbmVkIGluIFNoYWRvdyBET00gc3BlYzoKKyAgICAgICAgaHR0cDovL2R2Y3Mu
dzMub3JnL2hnL3dlYmNvbXBvbmVudHMvcmF3LWZpbGUvdGlwL3NwZWMvc2hhZG93L2luZGV4Lmh0
bWwjY3NzLWhvc3QtcnVsZS1pbnRlcmZhY2UKKyAgICAgICAgVG8gc2VlIG9yIHRvIG1vZGlmeSBA
aG9zdCBALXJ1bGVzIGJ5IHVzaW5nIGluc3BlY3Rvciwgd2UgbmVlZCB0bworICAgICAgICBpbXBs
ZW1lbnQgQ1NTSG9zdFJ1bGUgaW50ZXJmYWNlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3No
YWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNw
cDoKKyAgICAgICAgTW9kaWZpZWQgdG8gaW5jbHVkZSBKU0NTU0hvc3RSdWxlLmNwcC4KKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkZWQgQ1NTSG9zdFJ1bGUuY3BwLCBD
U1NIb3N0UnVsZS5oLCBDU1NIb3N0UnVsZS5pZGwgYW5kCisgICAgICAgIENTU0Jsb2NrUnVsZS5o
LgorICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjp0b0pTKToKKyAgICAgICAgQWRkIGEgbmV3IGNhc2UgdGhhdCB0aGUgZ2l2ZW4gcnVs
ZSBpcyBAaG9zdCBALXJ1bGVzIHRvIHN1cHBvcnQgQGhvc3QKKyAgICAgICAgQC1ydWxlcy4KKyAg
ICAgICAgKiBiaW5kaW5ncy9vYmpjL0RPTUNTUy5tbToKKyAgICAgICAgKGtpdENsYXNzKToKKyAg
ICAgICAgQWRkIGEgbmV3IGNhc2UgdGhhdCB0aGUgZ2l2ZW4gcnVsZSBpcyBAaG9zdCBALXJ1bGVz
IHRvIHN1cHBvcnQgQGhvc3QKKyAgICAgICAgQC1ydWxlcy4KKyAgICAgICAgKiBiaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyYXApOgor
ICAgICAgICAqIGNzcy9DU1NBbGxJbk9uZS5jcHA6CisgICAgICAgICogY3NzL0NTU0Jsb2NrUnVs
ZS5oOgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NCbG9ja1J1bGUpOgorICAgICAg
ICAoV2ViQ29yZTo6Q1NTQmxvY2tSdWxlOjp+Q1NTQmxvY2tSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU0Jsb2NrUnVsZTo6Q1NTQmxvY2tSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6Ojo6aW5z
ZXJ0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjo6OmRlbGV0ZVJ1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6OjpyZWF0dGFjaCk6CisgICAgICAgIFRoZXNlIG1ldGhvZHMgYXJlIGFsbW9zdCB0aGUg
c2FtZSBhcyBDU1NNZWRpYVJ1bGUgKG9yIENTU0hvc3RSdWxlIG9yCisgICAgICAgIFdlYktpdENT
U1JlZ2lvblJ1bGUpLiBUaGUgZGlmZmVyZW5jZSBiZXR3ZWVuIENTU0hvc3RSdWxlIGFuZCB0aGlz
IGlzCisgICAgICAgIGp1c3QgdXNpbmcgdGVtcGxhdGUgcGFyYW1ldGVyIGluc3RlYWQgb2YgQ1NT
SG9zdFJ1bGUgYW5kIFN0eWxlUnVsZUhvc3QuCisgICAgICAgIChXZWJDb3JlOjo6OmFwcGVuZENz
c1RleHRGb3JJdGVtcyk6CisgICAgICAgIFRoaXMgbWV0aG9kIGlzIGludm9rZWQgZnJvbSBjc3NU
ZXh0IGluIGRlcml2ZWQgY2xhc3NlcywgZS5nLgorICAgICAgICBDU1NIb3N0UnVsZTo6Y3NzVGV4
dC4gQ3JlYXRlIGEgc3RyaW5nIGZvciBDU1MgcnVsZXMgaW4gYSBjc3MgYmxvY2suCisgICAgICAg
IChXZWJDb3JlOjo6Omxlbmd0aCk6CisgICAgICAgIChXZWJDb3JlOjo6Oml0ZW0pOgorICAgICAg
ICAoV2ViQ29yZTo6Ojpjc3NSdWxlcyk6CisgICAgICAgIFNpbmNlIExpdmVDU1NSdWxlTGlzdCBy
ZXF1aXJlcyBlYWNoIGRlcml2ZWQgY2xhc3MgcG9pbnRlciBhbmQgY3NzUnVsZXMKKyAgICAgICAg
aXMgImNvbnN0IiBtZXRob2QsIG5lZWRzIHN0YXRpY19jYXN0IGFuZCBjb25zdF9jYXN0LgorICAg
ICAgICBGb3IgbWFrZSBhIGRlcml2ZWQgY2xhc3MgcG9pbnRlciwgZS5nLiBDU1NNZWRpYVJ1bGUq
LCBmcm9tCisgICAgICAgIENTU0Jsb2NrUnVsZSBwb2ludGVyLCB1c2VzIHRoZSBzZWNvbmQgdGVt
cGFsdGUgcGFyYW1ldGVyLCBpLmUuIGNsYXNzCisgICAgICAgIGNzc1J1bGVDbGFzcy4KKyAgICAg
ICAgKFdlYkNvcmU6Ojo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICBUaGlzIENTU0Jsb2Nr
UnVsZSBjbGFzcyBpcyBjcmVhdGVkIGZyb20gQ1NTTWVkaWFSdWxlLCBDU1NIb3N0UnVsZSBhbmQK
KyAgICAgICAgV2ViS2l0Q1NTUmVnaW9uUnVsZS4KKyAgICAgICAgKiBjc3MvQ1NTSG9zdFJ1bGUu
Y3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9z
dFJ1bGU6OkNTU0hvc3RSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0hvc3RSdWxlOjpjc3NU
ZXh0KToKKyAgICAgICAgKiBjc3MvQ1NTSG9zdFJ1bGUuaDogQWRkZWQuCisgICAgICAgIChXZWJD
b3JlKToKKyAgICAgICAgKENTU0hvc3RSdWxlKToKKyAgICAgICAgQ1NTSG9zdFJ1bGUgaW5oZXJp
dHMgQ1NTQmxvY2tSdWxlLgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OmNyZWF0ZSk6
CisgICAgICAgICogY3NzL0NTU0hvc3RSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL0NT
U01lZGlhUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6OkNTU01lZGlh
UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6On5DU1NNZWRpYVJ1bGUpOgor
ICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU01lZGlhUnVsZTo6bWVkaWEpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTTWVkaWFSdWxl
OjpyZWF0dGFjaCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NNZWRpYVJ1bGU6OnJlcG9ydE1lbW9y
eVVzYWdlKToKKyAgICAgICAgQ1NTTWVkaWFSdWxlIGlzIGEgbGl0dGxlIGRpZmZlcmVudCBmcm9t
IENTU0hvc3RSdWxlIGFuZAorICAgICAgICBXZWJLaXRDU1NSZWdpb25SdWxlLiBDU1NNZWRpYVJ1
bGUgaGFzIGl0cyBvd24gbWV0aG9kIChpLmUuIG1lZGlhKSBhbmQKKyAgICAgICAgaXRzIG93biBt
ZW1iZXIgdmFyaWFibGVzIChpLmUuIG1fbWVkaWFDU1NPTVdyYXBwZXIpLiBTbyBpdCBpcyByZXF1
aXJlZAorICAgICAgICB0byB1cGRhdGUgbV9tZWRpYUNTU09NV3JhcHBlciBpbiByZWF0dGFjaCBh
bmQgfkNTU01lZGlhUnVsZS4KKyAgICAgICAgKiBjc3MvQ1NTTWVkaWFSdWxlLmg6CisgICAgICAg
IE1vZGlmeSB0byBpbmhlcml0IENTU0Jsb2NrUnVsZS4KKyAgICAgICAgKiBjc3MvV2ViS2l0Q1NT
UmVnaW9uUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpXZWJLaXRDU1NSZWdpb25SdWxlOjpX
ZWJLaXRDU1NSZWdpb25SdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OldlYktpdENTU1JlZ2lvblJ1
bGU6OmNzc1RleHQpOgorICAgICAgICAqIGNzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmg6CisgICAg
ICAgIE1vZGlmeSB0byBpbmhlcml0IENTU0Jsb2NrUnVsZS4KKyAgICAgICAgKiBjc3MvQ1NTUnVs
ZS5oOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNv
bHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFwcGVycyk6CisgICAg
ICAgIFN1cHBvcnQgSE9TVCBydWxlLgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJ1bGVCYXNlOjpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNy
ZWF0ZUNTU09NV3JhcHBlcik6CisgICAgICAgIEFkZGVkIEBob3N0IEAtcnVsZXMgY2FzZS4KKyAg
ICAgICAgKiBjc3MvU3R5bGVSdWxlLmg6CisgICAgICAgIEFkZGVkIEhvc3RJbnRlcm5hbCg9MTcp
LiBTaGFkb3cgRE9NIHNwZWMgc2F5cyBIb3N0IHR5cGUgaXMgMTAwMS4KKyAgICAgICAgSG93ZXZl
ciB3ZSBjYW4gdXNlIG9ubHkgNSBiaXQgZm9yIHR5cGUuIFNvIGludGVybmFsbHkgdXNlIDE3IGZv
cgorICAgICAgICBIb3N0IHJ1bGUuCisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpp
c0hvc3RSdWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUhvc3Q6OlN0eWxlUnVsZUhv
c3QpOgorICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKToKKyAgICAg
ICAgKiBwYWdlL0RPTVdpbmRvdy5pZGw6CisKIDIwMTMtMDEtMDcgIEFkYW0gQmFydGggIDxhYmFy
dGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBIVE1MVHJlZUJ1aWxkZXIgc2hvdWxkIG5vdCBkZXBl
bmQgb24gRnJhbWUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIv
U291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOGU2NGEzZjRhODhlZDBjNDM1ZWZi
ODAxMTcwMWNkYWQ1MDZkN2I2OC4uYTU2NmIxMmQ0OTFhM2I0NzcxOGRiNzkxMTVmZjc3YWUxMmI1
YTc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMxMiw2ICszMTIsNyBAQCBzZXQoV2ViQ29y
ZV9JRExfRklMRVMKICAgICBjc3MvQ291bnRlci5pZGwKICAgICBjc3MvQ1NTQ2hhcnNldFJ1bGUu
aWRsCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyAgICBjc3MvQ1NTSG9zdFJ1bGUuaWRs
CiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAgICAgY3NzL0NTU01lZGlhUnVsZS5pZGwKICAg
ICBjc3MvQ1NTUGFnZVJ1bGUuaWRsCkBAIC0xMDMxLDYgKzEwMzIsNyBAQCBzZXQoV2ViQ29yZV9T
T1VSQ0VTCiAgICAgY3NzL0NTU0ZvbnRTZWxlY3Rvci5jcHAKICAgICBjc3MvQ1NTRnVuY3Rpb25W
YWx1ZS5jcHAKICAgICBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKKyAgICBjc3MvQ1NTSG9zdFJ1
bGUuY3BwCiAgICAgY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCiAgICAgY3NzL0NTU0lt
YWdlU2V0VmFsdWUuY3BwCiAgICAgY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAKaW5kZXggYTNkN2YyOTFkZWIxNzE3NDJjZTJlMGU0Zjc4ZGY5YWZlOGNiYmI1
NC4uMDdlM2ZhNmQ1NGY4NDllODc4YjNhOWNjODU0Nzk4MDM5NDJhNzQxMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkpTQ3J5cHRvLmNw
cCIKICNpbmNsdWRlICJKU0NTU0NoYXJzZXRSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU0ZvbnRG
YWNlUnVsZS5jcHAiCisjaW5jbHVkZSAiSlNDU1NIb3N0UnVsZS5jcHAiCiAjaW5jbHVkZSAiSlND
U1NJbXBvcnRSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU01lZGlhUnVsZS5jcHAiCiAjaW5jbHVk
ZSAiSlNDU1NQYWdlUnVsZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBl
NDkwNTE5NzZiNzUwYTViMDhlZjJmZGQ1M2Y4ZGFkMzU3YjAyNGNhLi45ODM2MjlhZDA1YTI0ZWFm
MTRlZTM2NGQzYzBlNjlkZDQ1YTE5YjJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
QEAgLTE2OSw2ICsxNjksNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGwgXAogICAgICQoV2ViQ29y
ZSkvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZh
Y2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NT
TWVkaWFSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTUGFnZVJ1bGUuaWRsIFwKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBlYmQ0MDM0ZWFkMTg3N2Y5YjE3MmM4NWYzYzJm
NzU0MTA3ZGFlNzgxLi44MTg5YTg0OWI4OWY0ZGFmNzkyNDdlODcyMDJiMGZlNmFlNmY3MzlkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xODksNiArMTg5LDcgQEAgSURMX0JJTkRJ
TkdTICs9IFwKICAgICAkJFBXRC9jc3MvQ291bnRlci5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1ND
aGFyc2V0UnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKyAg
ICAkJFBXRC9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTSW1wb3J0UnVs
ZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3Mv
Q1NTUGFnZVJ1bGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxl
Lmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4IDAxNmI5
YjY2M2UzNGRlMDE0MWZiZmJhYjAxYjA2ODc1ZTMwZTliYmYuLjk0MzY3NzE0MzVkZDJjMTAzOTNj
MTRjYTJhNGViOTFjY2Y4Yzk3NjUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQpAQCAt
MTEzLDYgKzExMyw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU0NoYXJzZXRSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDU1NGb250RmFjZVJ1bGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9u
dEZhY2VSdWxlLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5jcHAg
XAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oIFwKIAlEZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NJbXBvcnRSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NNZWRp
YVJ1bGUuY3BwIFwKQEAgLTEzMTgsNiArMTMyMCw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0gXAog
CSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJTb2NrZXQuaWRs
IFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3Nz
L0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorCSQoV2ViQ29yZSkvY3NzL0NTU0hvc3RSdWxlLmlkbCBc
CiAJJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NT
U01lZGlhUnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU1BhZ2VSdWxlLmlkbCBcCkBAIC0y
NTA1LDYgKzI1MDgsNyBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NBc3BlY3RSYXRpb1ZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1No
YXBlcy5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCYXNpY1NoYXBlcy5oIFwKKwlTb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQmxvY2tSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NC
b3JkZXJJbWFnZVNsaWNlVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQm9yZGVy
SW1hZ2VTbGljZVZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCb3JkZXJJbWFnZS5j
cHAgXApAQCAtMjUzNiw2ICsyNTQwLDggQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlTb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NHcmFkaWVudFZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIZWxwZXIuaCBcCisJ
U291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3Nz
L0NTU0hvc3RSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZh
bHVlLmNwcCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCBc
CiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmlu
ZGV4IGI0NTZlNTc0YmJmOWM2OTA3MzMwNjBhODQ4NmVmYWM5ZTgyMmMyODEuLjcwY2QzODRhZmEz
MGVmMDI4MDgwZmQ4M2YxYWIzYWU3ODk4ZmRmYzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjYxLDYgKzI2
MSw3IEBAIFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NGb250RmFjZVNvdXJjZS5jcHAgXAogICAg
IGNzcy9DU1NGdW5jdGlvblZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0dyYWRpZW50VmFsdWUuY3Bw
IFwKKyAgICBjc3MvQ1NTSG9zdFJ1bGUuY3BwIFwKICAgICBjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAg
XAogICAgIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCBcCiAgICAgY3NzL0NTU0ltYWdl
U2V0VmFsdWUuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCA4NmY4NjIwMTUwMzViOTk5NWVjMjFh
ZjEyYjM5ZDY5ZDlmYjQ2YWFlLi40YmFmMDQyNzY3NTkwMTRhMjQwZTYzNTNmOWVmOTAyZmIzYmE0
MDViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNjAsNiArMTYwLDcgQEAKICAgICAgICAgICAgICdN
b2R1bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGwnLAogICAgICAgICAg
ICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NGb250RmFj
ZVJ1bGUuaWRsJywKKyAgICAgICAgICAgICdjc3MvQ1NTSG9zdFJ1bGUuaWRsJywKICAgICAgICAg
ICAgICdjc3MvQ1NTSW1wb3J0UnVsZS5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1
bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTUGFnZVJ1bGUuaWRsJywKQEAgLTE0MzcsNiAr
MTQzOCw3IEBACiAgICAgICAgICAgICAnY3NzL0NTU0FzcGVjdFJhdGlvVmFsdWUuY3BwJywKICAg
ICAgICAgICAgICdjc3MvQ1NTQXNwZWN0UmF0aW9WYWx1ZS5oJywKICAgICAgICAgICAgICdjc3Mv
Q1NTQmFzaWNTaGFwZXMuY3BwJywKKyAgICAgICAgICAgICdjc3MvQ1NTQmxvY2tSdWxlLmgnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NCb3JkZXJJbWFnZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9D
U1NCb3JkZXJJbWFnZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTQm9yZGVySW1hZ2VTbGljZVZh
bHVlLmNwcCcsCkBAIC0xNDY1LDYgKzE0NjcsOCBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NGdW5j
dGlvblZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NHcmFkaWVudFZhbHVlLmNwcCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU0dyYWRpZW50VmFsdWUuaCcsCisgICAgICAgICAgICAnY3NzL0NT
U0hvc3RSdWxlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0hvc3RSdWxlLmgnLAogICAgICAg
ICAgICAgJ2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU0ltYWdlU2V0VmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1hZ2VWYWx1ZS5j
cHAnLApAQCAtNTU1MCw2ICs1NTU0LDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9E
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0NoYXJzZXRSdWxlSW50ZXJuYWwuaCcsCiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NGb250
RmFjZVJ1bGUubW0nLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NIb3N0UnVsZS5tbScsCisg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NI
b3N0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvRE9NQ1NTSW1wb3J0UnVsZS5tbScsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NJbXBvcnRSdWxlSW50ZXJuYWwu
aCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9E
T01DU1NNZWRpYVJ1bGUubW0nLApAQCAtNjEwOCw2ICs2MTE0LDggQEAKICAgICAgICAgICAgICc8
KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ2hhcnNldFJ1bGUuaCcs
CiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NT
U0ZvbnRGYWNlUnVsZS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuaCcsCisgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0hvc3RSdWxlLmNwcCcsCisgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0hvc3RS
dWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NJbXBvcnRSdWxlLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU01lZGlhUnVsZS5jcHAnLApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCA1Yjlk
Y2NmNjRiNzMxYTgzYWU2NTljZGQ1NDcwZTBlNjIxNDcxMzU2Li43NmYyZjE5YjhiYzJmNTE1OTJi
MjNmMWQzMGU4OTk5MDk0NDU4M2EwIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3Jl
LnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJv
ai9XZWJDb3JlLnZjcHJvagpAQCAtMTg1OCw2ICsxODU4LDYyIEBACiAJCQkJPgogCQkJPC9GaWxl
PgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxv
YmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NIb3N0UnVsZS5jcHAiCisJCQkJ
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhj
bHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZD
Q0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8
RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgor
CQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJ
TmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9u
PgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0
ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxs
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9u
fFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9v
bAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25m
aWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29u
ZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlND
U1NIb3N0UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQ
YXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRT
b3VyY2VzXEpTQ1NTSW1wb3J0UnVsZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgpAQCAtMzUzNDYsNiArMzU0MDIsMTAgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQor
CQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0Jsb2NrUnVsZS5oIgorCQkJCT4KKwkJCTwvRmls
ZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTQm9yZGVySW1hZ2UuY3Bw
IgogCQkJCT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTM2MTUwLDYgKzM2MjEwLDYyIEBA
CiAJCQkJPgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xD
U1NIb3N0UnVsZS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJ
CQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9G
aWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVs
ZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
Q2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRy
dWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJ
CQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24K
KwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgor
CQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1
ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJ
CQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJ
CQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NIb3N0UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4K
KwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDMwNDFjYTVmMjdhMDA5
OWNlOGVhODc5ODMwMzE0YTQ4MmM2ZDg4YjAuLjI1NTkxY2M5NWNjNzExYzdlZjg1MjI2NGU5NzM3
Nzg3MmQ1MzFjMDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKQEAgLTY0MzEsNiArNjQzMSw5IEBACiAJCUZBQkU3MkZEMTA1OUMyMTEw
MEQ5OTlERCAvKiBNYXRoTUxFbGVtZW50RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQUJFNzJGQjEwNTlDMjExMDBEOTk5REQgLyogTWF0
aE1MRWxlbWVudEZhY3RvcnkuY3BwICovOyB9OwogCQlGQUJFNzJGRTEwNTlDMjExMDBEOTk5REQg
LyogTWF0aE1MTmFtZXMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gRkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLzsg
fTsKIAkJRkIyQzE1QzMxNjVENjQ5RDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJl
bmNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjJD
MTVDMjE2NUQ2NDkwMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRSZWZlcmVuY2UuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlGQjQ5QzM5QTE2
Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOTkxNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hv
c3RSdWxlLmNwcCAqLzsgfTsKKwkJRkI0OUMzOUQxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RS
dWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQjQ5
QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLzsgfTsKKwkJRkI2NTY5QUQx
NjlDMThEQTAwODgzNzRFIC8qIENTU0Jsb2NrUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI2NTY5QUMxNjlDMThEQTAwODgzNzRFIC8qIENTU0Js
b2NrUnVsZS5oICovOyB9OwogCQlGQjc4QUQyRTE1MUJGNUU2MDBGRTU0RDMgLyogQ1NTUGFyc2Vy
TW9kZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI3
OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGQjkyREY0QjE1RkVEMDg3MDA5OTQ0
MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZCOTJERjQ5MTVGRUQwODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJh
dGlvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUZCQzIyMERGMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkMyMjBERTEy
MzdGQkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwICovOyB9OwpAQCAt
MTM5OTMsNiArMTM5OTYsMTAgQEAKIAkJRkFCRTcyRkIxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhN
TEVsZW1lbnRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IE1hdGhNTEVsZW1lbnRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE5hbWVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkIyQzE1QzIxNjVENjQ5MDAwMzlDOUY4IC8qIENhY2hlZFNWR0RvY3Vt
ZW50UmVmZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENhY2hlZFNW
R0RvY3VtZW50UmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNDlD
Mzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBDU1NIb3N0UnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NIb3N0UnVsZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlGQjQ5QzM5RTE2Nzg0OTU0MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUu
aWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0hvc3RSdWxlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkI2NTY5QUMxNjlDMThEQTAwODgzNzRFIC8qIENTU0Jsb2NrUnVs
ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NCbG9ja1J1bGUuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkI3OEFEMkMxNTFCRjVEMjAwRkU1NEQzIC8qIENT
U1BhcnNlck1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTUGFyc2Vy
TW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjkyREY0OTE1RkVEMDg3MDA5
OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ2xpcFBhdGhPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
RkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBoaWNzQ29udGV4dDNET3Bl
bkdMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIxNDcwLDYgKzIxNDc3LDcg
QEAKIAkJCQlDQUU5RjkwRTE0NjQ0MUYwMDBDMjQ1QjAgLyogQ1NTQXNwZWN0UmF0aW9WYWx1ZS5o
ICovLAogCQkJCUZCRDZBRjg2MTVFRjIxRDQwMDhCNzExMCAvKiBDU1NCYXNpY1NoYXBlcy5jcHAg
Ki8sCiAJCQkJRkJENkFGODcxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmggKi8s
CisJCQkJRkI2NTY5QUMxNjlDMThEQTAwODgzNzRFIC8qIENTU0Jsb2NrUnVsZS5oICovLAogCQkJ
CUUxNkE4NEY3MTRDODVDQ0MwMDI5NzdERiAvKiBDU1NCb3JkZXJJbWFnZS5jcHAgKi8sCiAJCQkJ
RTE2QTg0RjgxNEM4NUNDQzAwMjk3N0RGIC8qIENTU0JvcmRlckltYWdlLmggKi8sCiAJCQkJQkMy
NzRCMzAxNDBFQkVEODAwRUFERkE2IC8qIENTU0JvcmRlckltYWdlU2xpY2VWYWx1ZS5jcHAgKi8s
CkBAIC0yMTUwNSw2ICsyMTUxMyw5IEBACiAJCQkJRkNFQkNENzExNjIzQTc5MTAwMjk5NjVFIC8q
IENTU0dyYW1tYXIueS5pbiAqLywKIAkJCQlGQ0VCQ0Q3MjE2MjNBNzkxMDAyOTk2NUUgLyogQ1NT
R3JhbW1hci55LmluY2x1ZGVzICovLAogCQkJCUJDNzcyQjM2MEM0RUE5MUUwMDgzMjg1RiAvKiBD
U1NIZWxwZXIuaCAqLywKKwkJCQlGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1
bGUuY3BwICovLAorCQkJCUZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5o
ICovLAorCQkJCUZCNDlDMzlFMTY3ODQ5NTQwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5pZGwgKi8s
CiAJCQkJQkMyM0U3NkIwREFFODhBOTAwOUZEQzkxIC8qIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUu
Y3BwICovLAogCQkJCUJDMjNFRTkxMERBRUQyQkMwMDlGREM5MSAvKiBDU1NJbWFnZUdlbmVyYXRv
clZhbHVlLmggKi8sCiAJCQkJOTM5M0U1RkQxNTFBOTlGMjAwMDY2RjA2IC8qIENTU0ltYWdlU2V0
VmFsdWUuY3BwICovLApAQCAtMjYwNTEsNiArMjYwNjIsOCBAQAogCQkJCUUxQkU1MTJFMENGNkM1
MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTk3N0Uy
RTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlG
RDUzNzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUZCNDlDMzlEMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oIGluIEhlYWRlcnMgKi8s
CisJCQkJRkI2NTY5QUQxNjlDMThEQTAwODgzNzRFIC8qIENTU0Jsb2NrUnVsZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7
CiAJCX07CkBAIC0yOTE4MCw2ICsyOTE5Myw3IEBACiAJCQkJRTFCRTUxMkQwQ0Y2QzUxMjAwMkVB
OTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5NzdFMkUwRTEy
RjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUz
NzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
RkI0OUMzOUExNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9t
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKaW5k
ZXggMmE0NjVkYzdkYzFlZDg3NjYwN2Q5YWFiZjIxYTIwN2YzMTc1YzE5Yi4uY2JlYjNjNjg1ZDk5
ZmViMGMxNGQxZjg4ZWZjZWY5MjYwNTcxMzg5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAi
Q1NTU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUg
IkpTQ1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAiSlNDU1NIb3N0UnVsZS5oIgogI2luY2x1
ZGUgIkpTQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTTWVkaWFSdWxlLmgiCiAjaW5j
bHVkZSAiSlNDU1NQYWdlUnVsZS5oIgpAQCAtMTA2LDYgKzEwNywxMSBAQCBKU1ZhbHVlIHRvSlMo
RXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDU1NSdWxl
KiBydWxlKQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihleGVjLCBn
bG9iYWxPYmplY3QsIFdlYktpdENTU1JlZ2lvblJ1bGUsIHJ1bGUpOwogICAgICAgICAgICAgYnJl
YWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgY2FzZSBDU1NSdWxl
OjpIT1NUX1JVTEU6CisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4
ZWMsIGdsb2JhbE9iamVjdCwgQ1NTSG9zdFJ1bGUsIHJ1bGUpOworICAgICAgICAgICAgYnJlYWs7
CisjZW5kaWYKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVf
RE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDU1NSdWxlLCBydWxlKTsKICAgICB9CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbSBiL1NvdXJj
ZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCmluZGV4IDNjMWRhODIzMTIxOWM2YjE0
NzExYjhhNDU4NTMzY2IxN2I4MTBmZGMuLmUzOTM0ZWJkNDRjZmNlYmNlMTgwYWRjZmVkZTNiZjVi
OTI3OTEyYzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NT
Lm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCkBAIC02NSw2
ICs2NSwxMCBAQAogI2ltcG9ydCAiRE9NU1ZHUGFpbnQuaCIKICNlbmRpZgogCisjaWYgRU5BQkxF
KFNIQURPV19ET00pCisjaW1wb3J0ICJET01DU1NIb3N0UnVsZS5oIgorI2VuZGlmCisKIC8vLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01TdHlsZVNoZWV0CiAKQEAgLTEw
Nyw2ICsxMTEsMTAgQEAgQ2xhc3Mga2l0Q2xhc3MoV2ViQ29yZTo6Q1NTUnVsZSogaW1wbCkKICAg
ICAgICAgY2FzZSBET01fV0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICAgICAgcmV0dXJuIFtE
T01XZWJLaXRDU1NSZWdpb25SdWxlIGNsYXNzXTsKICNlbmRpZgorI2lmIEVOQUJMRShTSEFET1df
RE9NKQorICAgICAgICBjYXNlIERPTV9IT1NUX1JVTEU6CisgICAgICAgICAgICByZXR1cm4gW0RP
TUNTU0hvc3RSdWxlIGNsYXNzXTsKKyNlbmRpZgogICAgIH0KICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKICAgICByZXR1cm4gbmlsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCBkMTUxY2Q4YjBmNWM5YzY5NDM4
ODZmNzUyYjlkODYzYzZjZDEzNzZhLi5jYzQ5YTZjMDE1OTE0ZmI2ZjZlYzQ2YWQyNjFkODM4YWEw
YTZlNGZmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
U1NSdWxlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhDU1NSdWxlQ3VzdG9tLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5jbHVkZSAiVjhDU1ND
aGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAi
VjhDU1NIb3N0UnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUg
IlY4Q1NTTWVkaWFSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NQYWdlUnVsZS5oIgpAQCAtNzgsNiAr
NzksMTAgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKENTU1J1bGUqIGltcGwsIHY4OjpI
YW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25Db250ZXgKICNlbmRpZgogICAgIGNhc2UgQ1NTUnVs
ZTo6V0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICByZXR1cm4gd3JhcChzdGF0aWNfY2FzdDxX
ZWJLaXRDU1NSZWdpb25SdWxlKj4oaW1wbCksIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7Cisj
aWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgY2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6CisgICAg
ICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PENTU0hvc3RSdWxlKj4oaW1wbCksIGNyZWF0aW9u
Q29udGV4dCwgaXNvbGF0ZSk7CisjZW5kaWYKICAgICB9CiAgICAgcmV0dXJuIFY4Q1NTUnVsZTo6
Y3JlYXRlV3JhcHBlcihpbXBsLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NBbGxJbk9uZS5jcHAKaW5kZXggNmI3YThiOWVkZmU4Y2JiZTZjMDFiZmI5NzU5YjNh
YTQ0MDU2OGU0ZC4uNmQ3NzBiMzQwYzMyNzM4OGJiNWJiMzk3MzdkMjY0ODBhODEwZTlkZCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCkBAIC00MSw2ICs0MSw3IEBACiAjaW5jbHVkZSAi
Q1NTRm9udFNlbGVjdG9yLmNwcCIKICNpbmNsdWRlICJDU1NGdW5jdGlvblZhbHVlLmNwcCIKICNp
bmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmNwcCIKKyNpbmNsdWRlICJDU1NIb3N0UnVsZS5jcHAi
CiAjaW5jbHVkZSAiQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTSW1h
Z2VWYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5jcHAiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTQmxvY2tSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
QmxvY2tSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmExNjIwNzE1MGFiZmFmOWVmZDlkN2EwM2E4YjllZmEx
YmEyN2VmMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NCbG9ja1J1
bGUuaApAQCAtMCwwICsxLDE5NCBAQAorLyoKKyAqIChDKSAxOTk5LTIwMDMgTGFycyBLbm9sbCAo
a25vbGxAa2RlLm9yZykKKyAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVsbGVyIChtdWVsbGVyQGtk
ZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDYsIDIwMDgsIDIwMTIgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgKHNhbUB3ZWJraXQub3JnKQorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJl
OyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUg
dGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1
Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNp
b24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lv
bi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBp
dCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5l
cmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBo
YXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJ
Qi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KKyAqLworCisjaWZuZGVmIENTU0Jsb2NrUnVsZV9oCisjZGVmaW5lIENTU0Js
b2NrUnVsZV9oCisKKyNpbmNsdWRlICJDU1NQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NSdWxlLmgi
CisjaW5jbHVkZSAiQ1NTUnVsZUxpc3QuaCIKKyNpbmNsdWRlICJDU1NTdHlsZVNoZWV0LmgiCisj
aW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgorI2luY2x1
ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIKKyNpbmNsdWRlIDx3dGYvTWVtb3J5
SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRl
ci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIENTU1J1bGVMaXN0OworCit0ZW1w
bGF0ZSA8Y2xhc3Mgc3R5bGVSdWxlQ2xhc3MsIGNsYXNzIGNzc1J1bGVDbGFzcz4KK2NsYXNzIENT
U0Jsb2NrUnVsZSA6IHB1YmxpYyBDU1NSdWxlIHsKK3B1YmxpYzoKKyAgICB2aXJ0dWFsIH5DU1NC
bG9ja1J1bGUoKQorICAgIHsKKyAgICAgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
cy5zaXplKCkgPT0gbV9ibG9ja1J1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOworICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKTsg
KytpKSB7CisgICAgICAgICAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQorICAg
ICAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+c2V0UGFyZW50UnVsZSgw
KTsKKyAgICAgICAgfQorICAgIH0KKworCisgICAgdmlydHVhbCB2b2lkIHJlYXR0YWNoKFN0eWxl
UnVsZUJhc2UqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2Uo
TWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOworCisgICAgQ1NTUnVsZUxpc3QqIGNz
c1J1bGVzKCkgY29uc3Q7CisKKyAgICB1bnNpZ25lZCBpbnNlcnRSdWxlKGNvbnN0IFN0cmluZyYg
cnVsZSwgdW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGRlbGV0ZVJ1
bGUodW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICAgICAgCisgICAgLy8gRm9y
IENTU1J1bGVMaXN0CisgICAgdW5zaWduZWQgbGVuZ3RoKCkgY29uc3Q7CisgICAgQ1NTUnVsZSog
aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisKK3Byb3RlY3RlZDoKKyAgICBDU1NCbG9ja1J1
bGUoc3R5bGVSdWxlQ2xhc3MqIGJsb2NrUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KSA6IENT
U1J1bGUocGFyZW50KSwgbV9ibG9ja1J1bGUoYmxvY2tSdWxlKSwgbV9jaGlsZFJ1bGVDU1NPTVdy
YXBwZXJzKGJsb2NrUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkgeyB9CisgICAgCisgICAgdm9p
ZCBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMoU3RyaW5nQnVpbGRlciYpIGNvbnN0OworCisgICAgUmVm
UHRyPHN0eWxlUnVsZUNsYXNzPiBtX2Jsb2NrUnVsZTsKKyAgICBtdXRhYmxlIFZlY3RvcjxSZWZQ
dHI8Q1NTUnVsZT4gPiBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnM7CisgICAgbXV0YWJsZSBPd25Q
dHI8Q1NTUnVsZUxpc3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXI7Cit9OworCit0ZW1wbGF0ZTxj
bGFzcyBzdHlsZVJ1bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgordW5zaWduZWQgQ1NTQmxv
Y2tSdWxlPHN0eWxlUnVsZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjppbnNlcnRSdWxlKGNvbnN0IFN0
cmluZyYgcnVsZVN0cmluZywgdW5zaWduZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQorewor
ICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fYmxvY2tSdWxl
LT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKworICAgIGlmIChpbmRleCA+IG1fYmxvY2tSdWxlLT5j
aGlsZFJ1bGVzKCkuc2l6ZSgpKSB7CisgICAgICAgIC8vIElOREVYX1NJWkVfRVJSOiBSYWlzZWQg
aWYgdGhlIHNwZWNpZmllZCBpbmRleCBpcyBub3QgYSB2YWxpZCBpbnNlcnRpb24gcG9pbnQuCisg
ICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKwor
ICAgIENTU1BhcnNlciBwYXJzZXIocGFyc2VyQ29udGV4dCgpKTsKKyAgICBDU1NTdHlsZVNoZWV0
KiBzdHlsZVNoZWV0ID0gcGFyZW50U3R5bGVTaGVldCgpOworICAgIFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPiBuZXdSdWxlID0gcGFyc2VyLnBhcnNlUnVsZShzdHlsZVNoZWV0ID8gc3R5bGVTaGVldC0+
Y29udGVudHMoKSA6IDAsIHJ1bGVTdHJpbmcpOworICAgIGlmICghbmV3UnVsZSkgeworICAgICAg
ICAvLyBTWU5UQVhfRVJSOiBSYWlzZWQgaWYgdGhlIHNwZWNpZmllZCBydWxlIGhhcyBhIHN5bnRh
eCBlcnJvciBhbmQgaXMgdW5wYXJzYWJsZS4KKyAgICAgICAgZWMgPSBTWU5UQVhfRVJSOworICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CisKKyAgICBpZiAobmV3UnVsZS0+aXNJbXBvcnRSdWxlKCkp
IHsKKyAgICAgICAgLy8gRklYTUU6IGFuIEhJRVJBUkNIWV9SRVFVRVNUX0VSUiBzaG91bGQgYWxz
byBiZSB0aHJvd24gZm9yIGEgQGNoYXJzZXQgb3IgYSBuZXN0ZWQKKyAgICAgICAgLy8gQG1lZGlh
IHJ1bGUuIFRoZXkgYXJlIGN1cnJlbnRseSBub3QgZ2V0dGluZyBwYXJzZWQsIHJlc3VsdGluZyBp
biBhIFNZTlRBWF9FUlIKKyAgICAgICAgLy8gdG8gZ2V0IHJhaXNlZCBhYm92ZS4KKworICAgICAg
ICAvLyBISUVSQVJDSFlfUkVRVUVTVF9FUlI6IFJhaXNlZCBpZiB0aGUgcnVsZSBjYW5ub3QgYmUg
aW5zZXJ0ZWQgYXQgdGhlIHNwZWNpZmllZAorICAgICAgICAvLyBpbmRleCwgZS5nLiwgaWYgYW4g
QGltcG9ydCBydWxlIGlzIGluc2VydGVkIGFmdGVyIGEgc3RhbmRhcmQgcnVsZSBzZXQgb3Igb3Ro
ZXIKKyAgICAgICAgLy8gYXQtcnVsZS4KKyAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9F
UlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAgICBDU1NTdHlsZVNoZWV0OjpSdWxlTXV0
YXRpb25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOworCisgICAgbV9ibG9ja1J1bGUtPndyYXBw
ZXJJbnNlcnRSdWxlKGluZGV4LCBuZXdSdWxlKTsKKworICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFw
cGVycy5pbnNlcnQoaW5kZXgsIFJlZlB0cjxDU1NSdWxlPigpKTsKKyAgICByZXR1cm4gaW5kZXg7
Cit9CisKK3RlbXBsYXRlPGNsYXNzIHN0eWxlUnVsZUNsYXNzLCBjbGFzcyBjc3NSdWxlQ2xhc3M+
Cit2b2lkIENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3NzUnVsZUNsYXNzPjo6ZGVsZXRl
UnVsZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgQVNTRVJUKG1f
Y2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9ibG9ja1J1bGUtPmNoaWxkUnVsZXMo
KS5zaXplKCkpOworCisgICAgaWYgKGluZGV4ID49IG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVzKCku
c2l6ZSgpKSB7CisgICAgICAgIC8vIElOREVYX1NJWkVfRVJSOiBSYWlzZWQgaWYgdGhlIHNwZWNp
ZmllZCBpbmRleCBkb2VzIG5vdCBjb3JyZXNwb25kIHRvIGEKKyAgICAgICAgLy8gcnVsZSBpbiB0
aGUgbWVkaWEgcnVsZSBsaXN0LgorICAgICAgICBlYyA9IElOREVYX1NJWkVfRVJSOworICAgICAg
ICByZXR1cm47CisgICAgfQorCisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2NvcGUg
bXV0YXRpb25TY29wZSh0aGlzKTsKKworICAgIG1fYmxvY2tSdWxlLT53cmFwcGVyUmVtb3ZlUnVs
ZShpbmRleCk7CisKKyAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XSkKKyAg
ICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XS0+c2V0UGFyZW50UnVsZSgwKTsK
KyAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMucmVtb3ZlKGluZGV4KTsKK30KKwordGVtcGxh
dGU8Y2xhc3Mgc3R5bGVSdWxlQ2xhc3MsIGNsYXNzIGNzc1J1bGVDbGFzcz4KK3ZvaWQgQ1NTQmxv
Y2tSdWxlPHN0eWxlUnVsZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjphcHBlbmRDc3NUZXh0Rm9ySXRl
bXMoU3RyaW5nQnVpbGRlciYgcmVzdWx0KSBjb25zdAoreworICAgIHVuc2lnbmVkIHNpemUgPSBs
ZW5ndGgoKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAg
ICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCIgICIpOworICAgICAgICByZXN1bHQuYXBwZW5kKGl0
ZW0oaSktPmNzc1RleHQoKSk7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xuJyk7CisgICAgfQor
fQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgor
dW5zaWduZWQgQ1NTQmxvY2tSdWxlPHN0eWxlUnVsZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjpsZW5n
dGgoKSBjb25zdAoreyAKKyAgICByZXR1cm4gbV9ibG9ja1J1bGUtPmNoaWxkUnVsZXMoKS5zaXpl
KCk7IAorfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVDbGFzcywgY2xhc3MgY3NzUnVsZUNs
YXNzPgorQ1NTUnVsZSogQ1NTQmxvY2tSdWxlPHN0eWxlUnVsZUNsYXNzLCBjc3NSdWxlQ2xhc3M+
OjppdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdAoreyAKKyAgICBpZiAoaW5kZXggPj0gbGVuZ3Ro
KCkpCisgICAgICAgIHJldHVybiAwOworICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBl
cnMuc2l6ZSgpID09IG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKyAgICBSZWZQ
dHI8Q1NTUnVsZT4mIHJ1bGUgPSBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdOworICAg
IGlmICghcnVsZSkKKyAgICAgICAgcnVsZSA9IG1fYmxvY2tSdWxlLT5jaGlsZFJ1bGVzKClbaW5k
ZXhdLT5jcmVhdGVDU1NPTVdyYXBwZXIoc3RhdGljX2Nhc3Q8Y3NzUnVsZUNsYXNzKj4oY29uc3Rf
Y2FzdDxDU1NCbG9ja1J1bGU8c3R5bGVSdWxlQ2xhc3MsIGNzc1J1bGVDbGFzcz4qPih0aGlzKSkp
OworICAgIHJldHVybiBydWxlLmdldCgpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVD
bGFzcywgY2xhc3MgY3NzUnVsZUNsYXNzPgorQ1NTUnVsZUxpc3QqIENTU0Jsb2NrUnVsZTxzdHls
ZVJ1bGVDbGFzcywgY3NzUnVsZUNsYXNzPjo6Y3NzUnVsZXMoKSBjb25zdAoreworICAgIGlmICgh
bV9ydWxlTGlzdENTU09NV3JhcHBlcikKKyAgICAgICAgbV9ydWxlTGlzdENTU09NV3JhcHBlciA9
IGFkb3B0UHRyKG5ldyBMaXZlQ1NTUnVsZUxpc3Q8Y3NzUnVsZUNsYXNzPihzdGF0aWNfY2FzdDxj
c3NSdWxlQ2xhc3MqPihjb25zdF9jYXN0PENTU0Jsb2NrUnVsZTxzdHlsZVJ1bGVDbGFzcywgY3Nz
UnVsZUNsYXNzPio+KHRoaXMpKSkpOworICAgIHJldHVybiBtX3J1bGVMaXN0Q1NTT01XcmFwcGVy
LmdldCgpOworfQorCit0ZW1wbGF0ZTxjbGFzcyBzdHlsZVJ1bGVDbGFzcywgY2xhc3MgY3NzUnVs
ZUNsYXNzPgordm9pZCBDU1NCbG9ja1J1bGU8c3R5bGVSdWxlQ2xhc3MsIGNzc1J1bGVDbGFzcz46
OnJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqIHJ1bGUpCit7CisgICAgQVNTRVJUKHJ1bGUpOworICAg
IG1fYmxvY2tSdWxlID0gc3RhdGljX2Nhc3Q8c3R5bGVSdWxlQ2xhc3MqPihydWxlKTsKKyAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKTsg
KytpKSB7CisgICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0pCisgICAgICAg
ICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnJlYXR0YWNoKG1fYmxvY2tSdWxlLT5j
aGlsZFJ1bGVzKClbaV0uZ2V0KCkpOworICAgIH0KK30KKwordGVtcGxhdGU8Y2xhc3Mgc3R5bGVS
dWxlQ2xhc3MsIGNsYXNzIGNzc1J1bGVDbGFzcz4KK3ZvaWQgQ1NTQmxvY2tSdWxlPHN0eWxlUnVs
ZUNsYXNzLCBjc3NSdWxlQ2xhc3M+OjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZv
KiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbyBpbmZvKG1l
bW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKKyAgICBDU1NS
dWxlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICBpbmZvLmFkZE1l
bWJlcihtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpOworICAgIGluZm8uYWRkTWVtYmVyKG1fcnVs
ZUxpc3RDU1NPTVdyYXBwZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRp
ZiAvLyBDU1NCbG9ja1J1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hv
c3RSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMGE3OWUyN2M2ODU4YTZhMjk3ZWRmNzJlOTI4Y2QyZDNmZTJhZjEwNwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5jcHAKQEAgLTAsMCArMSw1NSBA
QAorLyoqCisgKiAoQykgMTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAo
QykgMjAwMi0yMDAzIERpcmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0
IChDKSAyMDAyLCAyMDA1LCAyMDA2LCAyMDEyIEFwcGxlIENvbXB1dGVyLCBJbmMuCisgKiBDb3B5
cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtQHdlYmtpdC5vcmcpCisgKgorICogVGhp
cyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9v
cgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBkaXN0
cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKKyAq
IE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNl
ZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0
YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUg
TGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMgbGlicmFy
eTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICogdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBG
bG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJDU1NIb3N0UnVsZS5oIgorCisjaWYgRU5BQkxFKFNIQURPV19E
T00pCisKKyNpbmNsdWRlICJDU1NQYXJzZXIuaCIKKyNpbmNsdWRlICJDU1NSdWxlTGlzdC5oIgor
I2luY2x1ZGUgIkNTU1N0eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisj
aW5jbHVkZSAiU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRh
dGlvbi5oIgorI2luY2x1ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaD4KKyNp
bmNsdWRlIDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CisKK25hbWVzcGFjZSBXZWJDb3JlIHsK
KworQ1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKFN0eWxlUnVsZUhvc3QqIGhvc3RSdWxlLCBDU1NT
dHlsZVNoZWV0KiBwYXJlbnQpCisgICAgOiBDU1NCbG9ja1J1bGU8U3R5bGVSdWxlSG9zdCwgQ1NT
SG9zdFJ1bGU+KGhvc3RSdWxlLCBwYXJlbnQpCit7Cit9CisKK1N0cmluZyBDU1NIb3N0UnVsZTo6
Y3NzVGV4dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0
LmFwcGVuZExpdGVyYWwoIkBob3N0IHsgXG4iKTsKKyAgICBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMo
cmVzdWx0KTsKKyAgICByZXN1bHQuYXBwZW5kKCd9Jyk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0
cmluZygpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUo
U0hBRE9XX0RPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5o
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjU2ZTliYzdl
OTYzZDZmMjAyNmRmMWQ0ZTU2N2NhMjNiYjBhNWQ4MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oCkBAIC0wLDAgKzEsNDggQEAKKy8qCisgKiAoQykg
MTk5OS0yMDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAoQykgMjAwMi0yMDAzIERp
cmsgTXVlbGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA2
LCAyMDA4LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdo
dCAoQykgMjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYworICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRh
dGlvbjsgZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9w
dGlvbikgYW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1
dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBB
TlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVS
Q0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRo
ZSBHTlUKKyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgorICoKKyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29y
LAorICogQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDU1NIb3N0
UnVsZV9oCisjZGVmaW5lIENTU0hvc3RSdWxlX2gKKworI2luY2x1ZGUgIkNTU0Jsb2NrUnVsZS5o
IgorI2luY2x1ZGUgIlN0eWxlUnVsZS5oIgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKKworY2xhc3MgQ1NTSG9zdFJ1bGUgOiBwdWJsaWMgQ1NTQmxvY2tS
dWxlPFN0eWxlUnVsZUhvc3QsIENTU0hvc3RSdWxlPiB7CitwdWJsaWM6CisgICAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTSG9zdFJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGVIb3N0KiBydWxlLCBDU1NTdHls
ZVNoZWV0KiBzaGVldCkgeyByZXR1cm4gYWRvcHRSZWYobmV3IENTU0hvc3RSdWxlKHJ1bGUsIHNo
ZWV0KSk7IH0KKworICAgIHZpcnR1YWwgQ1NTUnVsZTo6VHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJ
REUgeyByZXR1cm4gQ1NTUnVsZTo6SE9TVF9SVUxFOyB9CisgICAgdmlydHVhbCBTdHJpbmcgY3Nz
VGV4dCgpIGNvbnN0IE9WRVJSSURFOworCitwcml2YXRlOgorICAgIENTU0hvc3RSdWxlKFN0eWxl
UnVsZUhvc3QqLCBDU1NTdHlsZVNoZWV0Kik7Cit9OworCisjZW5kaWYgLy8gRU5BQkxFKFNIQURP
V19ET00pCisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKKworI2VuZGlmIC8vIENTU0hvc3RSdWxl
X2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk5NTc5NzhhYTQzNmVl
OTVhZWYzN2VjNWFkMjBmMjA2NGExNDEzZmUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsCkBAIC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29w
eXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoK
KyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0
d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3Ig
KGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1
dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5
IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBt
b3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlz
IGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAq
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvLyBJ
bnRyb2R1Y2VkIGluIFNoYWRvdyBET00gc3BlYzoKK1sKKyAgICBDb25kaXRpb25hbD1TSEFET1df
RE9NLAorICAgIFY4RW5hYmxlZEF0UnVudGltZT1zaGFkb3dET00KK10gaW50ZXJmYWNlIENTU0hv
c3RSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNz
c1J1bGVzOworICAgIAorICAgIHVuc2lnbmVkIGxvbmcgICAgICBpbnNlcnRSdWxlKGluIFtPcHRp
b25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERPTVN0cmluZyBydWxlLCAKKyAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICBpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNp
Z25lZCBsb25nIGluZGV4KQorICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lk
ICAgICAgICAgICAgICAgZGVsZXRlUnVsZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVk
XSB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKK307
CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuY3BwIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAKaW5kZXggZmM4NjI0ZGEwOTFlYmRiNmEy
N2Q4ZjczOWRiNmY5MDE3NjM0MjllOS4uZGMyODc1ZTBjNzM4NmVkZGFmMDQ2YWE2ZDk4NjlkYzQ5
YTgyMTAwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5jcHAKQEAgLTM1LDE1NSArMzUs
NTEgQEAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogQ1NTTWVkaWFSdWxlOjpDU1NNZWRpYVJ1bGUo
U3R5bGVSdWxlTWVkaWEqIG1lZGlhUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQotICAgIDog
Q1NTUnVsZShwYXJlbnQpCi0gICAgLCBtX21lZGlhUnVsZShtZWRpYVJ1bGUpCi0gICAgLCBtX2No
aWxkUnVsZUNTU09NV3JhcHBlcnMobWVkaWFSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKQorICAg
IDogQ1NTQmxvY2tSdWxlPFN0eWxlUnVsZU1lZGlhLCBDU1NNZWRpYVJ1bGU+KG1lZGlhUnVsZSwg
cGFyZW50KQogewogfQogCiBDU1NNZWRpYVJ1bGU6On5DU1NNZWRpYVJ1bGUoKQogewotICAgIEFT
U0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fbWVkaWFSdWxlLT5jaGls
ZFJ1bGVzKCkuc2l6ZSgpKTsKLQotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX2NoaWxk
UnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpOyArK2kpIHsKLSAgICAgICAgaWYgKG1fY2hpbGRSdWxl
Q1NTT01XcmFwcGVyc1tpXSkKLSAgICAgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tp
XS0+c2V0UGFyZW50UnVsZSgwKTsKLSAgICB9CiAgICAgaWYgKG1fbWVkaWFDU1NPTVdyYXBwZXIp
CiAgICAgICAgIG1fbWVkaWFDU1NPTVdyYXBwZXItPmNsZWFyUGFyZW50UnVsZSgpOwogfQogCi11
bnNpZ25lZCBDU1NNZWRpYVJ1bGU6Omluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxlU3RyaW5n
LCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMpCi17Ci0gICAgQVNTRVJUKG1fY2hp
bGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9tZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKS5z
aXplKCkpOwotCi0gICAgaWYgKGluZGV4ID4gbV9tZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKS5zaXpl
KCkpIHsKLSAgICAgICAgLy8gSU5ERVhfU0laRV9FUlI6IFJhaXNlZCBpZiB0aGUgc3BlY2lmaWVk
IGluZGV4IGlzIG5vdCBhIHZhbGlkIGluc2VydGlvbiBwb2ludC4KLSAgICAgICAgZWMgPSBJTkRF
WF9TSVpFX0VSUjsKLSAgICAgICAgcmV0dXJuIDA7Ci0gICAgfQotCi0gICAgQ1NTUGFyc2VyIHBh
cnNlcihwYXJzZXJDb250ZXh0KCkpOwotICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQgPSBw
YXJlbnRTdHlsZVNoZWV0KCk7Ci0gICAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IG5ld1J1bGUgPSBw
YXJzZXIucGFyc2VSdWxlKHN0eWxlU2hlZXQgPyBzdHlsZVNoZWV0LT5jb250ZW50cygpIDogMCwg
cnVsZVN0cmluZyk7Ci0gICAgaWYgKCFuZXdSdWxlKSB7Ci0gICAgICAgIC8vIFNZTlRBWF9FUlI6
IFJhaXNlZCBpZiB0aGUgc3BlY2lmaWVkIHJ1bGUgaGFzIGEgc3ludGF4IGVycm9yIGFuZCBpcyB1
bnBhcnNhYmxlLgotICAgICAgICBlYyA9IFNZTlRBWF9FUlI7Ci0gICAgICAgIHJldHVybiAwOwot
ICAgIH0KLQotICAgIGlmIChuZXdSdWxlLT5pc0ltcG9ydFJ1bGUoKSkgewotICAgICAgICAvLyBG
SVhNRTogYW4gSElFUkFSQ0hZX1JFUVVFU1RfRVJSIHNob3VsZCBhbHNvIGJlIHRocm93biBmb3Ig
YSBAY2hhcnNldCBvciBhIG5lc3RlZAotICAgICAgICAvLyBAbWVkaWEgcnVsZS4gIFRoZXkgYXJl
IGN1cnJlbnRseSBub3QgZ2V0dGluZyBwYXJzZWQsIHJlc3VsdGluZyBpbiBhIFNZTlRBWF9FUlIK
LSAgICAgICAgLy8gdG8gZ2V0IHJhaXNlZCBhYm92ZS4KLQotICAgICAgICAvLyBISUVSQVJDSFlf
UkVRVUVTVF9FUlI6IFJhaXNlZCBpZiB0aGUgcnVsZSBjYW5ub3QgYmUgaW5zZXJ0ZWQgYXQgdGhl
IHNwZWNpZmllZAotICAgICAgICAvLyBpbmRleCwgZS5nLiwgaWYgYW4gQGltcG9ydCBydWxlIGlz
IGluc2VydGVkIGFmdGVyIGEgc3RhbmRhcmQgcnVsZSBzZXQgb3Igb3RoZXIKLSAgICAgICAgLy8g
YXQtcnVsZS4KLSAgICAgICAgZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7Ci0gICAgICAgIHJl
dHVybiAwOwotICAgIH0KLSAgICBDU1NTdHlsZVNoZWV0OjpSdWxlTXV0YXRpb25TY29wZSBtdXRh
dGlvblNjb3BlKHRoaXMpOwotCi0gICAgbV9tZWRpYVJ1bGUtPndyYXBwZXJJbnNlcnRSdWxlKGlu
ZGV4LCBuZXdSdWxlKTsKLQotICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5pbnNlcnQoaW5k
ZXgsIFJlZlB0cjxDU1NSdWxlPigpKTsKLSAgICByZXR1cm4gaW5kZXg7Ci19Ci0KLXZvaWQgQ1NT
TWVkaWFSdWxlOjpkZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykK
LXsKLSAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX21lZGlh
UnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7Ci0KLSAgICBpZiAoaW5kZXggPj0gbV9tZWRpYVJ1
bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpIHsKLSAgICAgICAgLy8gSU5ERVhfU0laRV9FUlI6IFJh
aXNlZCBpZiB0aGUgc3BlY2lmaWVkIGluZGV4IGRvZXMgbm90IGNvcnJlc3BvbmQgdG8gYQotICAg
ICAgICAvLyBydWxlIGluIHRoZSBtZWRpYSBydWxlIGxpc3QuCi0gICAgICAgIGVjID0gSU5ERVhf
U0laRV9FUlI7Ci0gICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAgICBDU1NTdHlsZVNoZWV0OjpS
dWxlTXV0YXRpb25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOwotCi0gICAgbV9tZWRpYVJ1bGUt
PndyYXBwZXJSZW1vdmVSdWxlKGluZGV4KTsKLQotICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3Jh
cHBlcnNbaW5kZXhdKQotICAgICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdLT5z
ZXRQYXJlbnRSdWxlKDApOwotICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5yZW1vdmUoaW5k
ZXgpOwotfQotCiBTdHJpbmcgQ1NTTWVkaWFSdWxlOjpjc3NUZXh0KCkgY29uc3QKIHsKICAgICBT
dHJpbmdCdWlsZGVyIHJlc3VsdDsKLSAgICByZXN1bHQuYXBwZW5kKCJAbWVkaWEgIik7Ci0gICAg
aWYgKG1fbWVkaWFSdWxlLT5tZWRpYVF1ZXJpZXMoKSkgewotICAgICAgICByZXN1bHQuYXBwZW5k
KG1fbWVkaWFSdWxlLT5tZWRpYVF1ZXJpZXMoKS0+bWVkaWFUZXh0KCkpOworICAgIHJlc3VsdC5h
cHBlbmRMaXRlcmFsKCJAbWVkaWEgIik7CisgICAgaWYgKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJp
ZXMoKSkgeworICAgICAgICByZXN1bHQuYXBwZW5kKG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMo
KS0+bWVkaWFUZXh0KCkpOwogICAgICAgICByZXN1bHQuYXBwZW5kKCcgJyk7CiAgICAgfQotICAg
IHJlc3VsdC5hcHBlbmQoInsgXG4iKTsKLSAgICAKLSAgICB1bnNpZ25lZCBzaXplID0gbGVuZ3Ro
KCk7Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IHNpemU7ICsraSkgewotICAgICAgICBy
ZXN1bHQuYXBwZW5kKCIgICIpOwotICAgICAgICByZXN1bHQuYXBwZW5kKGl0ZW0oaSktPmNzc1Rl
eHQoKSk7Ci0gICAgICAgIHJlc3VsdC5hcHBlbmQoJ1xuJyk7Ci0gICAgfQotCisgICAgcmVzdWx0
LmFwcGVuZExpdGVyYWwoInsgXG4iKTsKKyAgICBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMocmVzdWx0
KTsKICAgICByZXN1bHQuYXBwZW5kKCd9Jyk7CiAgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygp
OwogfQogCiBNZWRpYUxpc3QqIENTU01lZGlhUnVsZTo6bWVkaWEoKSBjb25zdAogewotICAgIGlm
ICghbV9tZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpKQorICAgIGlmICghbV9ibG9ja1J1bGUtPm1l
ZGlhUXVlcmllcygpKQogICAgICAgICByZXR1cm4gMDsKICAgICBpZiAoIW1fbWVkaWFDU1NPTVdy
YXBwZXIpCi0gICAgICAgIG1fbWVkaWFDU1NPTVdyYXBwZXIgPSBNZWRpYUxpc3Q6OmNyZWF0ZSht
X21lZGlhUnVsZS0+bWVkaWFRdWVyaWVzKCksIGNvbnN0X2Nhc3Q8Q1NTTWVkaWFSdWxlKj4odGhp
cykpOworICAgICAgICBtX21lZGlhQ1NTT01XcmFwcGVyID0gTWVkaWFMaXN0OjpjcmVhdGUobV9i
bG9ja1J1bGUtPm1lZGlhUXVlcmllcygpLCBjb25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMp
KTsKICAgICByZXR1cm4gbV9tZWRpYUNTU09NV3JhcHBlci5nZXQoKTsKIH0KIAotdW5zaWduZWQg
Q1NTTWVkaWFSdWxlOjpsZW5ndGgoKSBjb25zdAoteyAKLSAgICByZXR1cm4gbV9tZWRpYVJ1bGUt
PmNoaWxkUnVsZXMoKS5zaXplKCk7IAotfQotCi1DU1NSdWxlKiBDU1NNZWRpYVJ1bGU6Oml0ZW0o
dW5zaWduZWQgaW5kZXgpIGNvbnN0Ci17IAotICAgIGlmIChpbmRleCA+PSBsZW5ndGgoKSkKLSAg
ICAgICAgcmV0dXJuIDA7Ci0gICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXpl
KCkgPT0gbV9tZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOwotICAgIFJlZlB0cjxDU1NS
dWxlPiYgcnVsZSA9IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpbmRleF07Ci0gICAgaWYgKCFy
dWxlKQotICAgICAgICBydWxlID0gbV9tZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKVtpbmRleF0tPmNy
ZWF0ZUNTU09NV3JhcHBlcihjb25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMpKTsKLSAgICBy
ZXR1cm4gcnVsZS5nZXQoKTsKLX0KLQotQ1NTUnVsZUxpc3QqIENTU01lZGlhUnVsZTo6Y3NzUnVs
ZXMoKSBjb25zdAotewotICAgIGlmICghbV9ydWxlTGlzdENTU09NV3JhcHBlcikKLSAgICAgICAg
bV9ydWxlTGlzdENTU09NV3JhcHBlciA9IGFkb3B0UHRyKG5ldyBMaXZlQ1NTUnVsZUxpc3Q8Q1NT
TWVkaWFSdWxlPihjb25zdF9jYXN0PENTU01lZGlhUnVsZSo+KHRoaXMpKSk7Ci0gICAgcmV0dXJu
IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIuZ2V0KCk7Ci19Ci0KIHZvaWQgQ1NTTWVkaWFSdWxlOjpy
ZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKQogewotICAgIEFTU0VSVChydWxlKTsKLSAgICBB
U1NFUlQocnVsZS0+aXNNZWRpYVJ1bGUoKSk7Ci0gICAgbV9tZWRpYVJ1bGUgPSBzdGF0aWNfY2Fz
dDxTdHlsZVJ1bGVNZWRpYSo+KHJ1bGUpOwotICAgIGlmIChtX21lZGlhQ1NTT01XcmFwcGVyICYm
IG1fbWVkaWFSdWxlLT5tZWRpYVF1ZXJpZXMoKSkKLSAgICAgICAgbV9tZWRpYUNTU09NV3JhcHBl
ci0+cmVhdHRhY2gobV9tZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpKTsKLSAgICBmb3IgKHVuc2ln
bmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKTsgKytpKSB7Ci0g
ICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0pCi0gICAgICAgICAgICBtX2No
aWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnJlYXR0YWNoKG1fbWVkaWFSdWxlLT5jaGlsZFJ1bGVz
KClbaV0uZ2V0KCkpOwotICAgIH0KKyAgICBDU1NCbG9ja1J1bGU8U3R5bGVSdWxlTWVkaWEsIENT
U01lZGlhUnVsZT46OnJlYXR0YWNoKHJ1bGUpOworICAgIGlmIChtX21lZGlhQ1NTT01XcmFwcGVy
ICYmIG1fYmxvY2tSdWxlLT5tZWRpYVF1ZXJpZXMoKSkKKyAgICAgICAgbV9tZWRpYUNTU09NV3Jh
cHBlci0+cmVhdHRhY2gobV9ibG9ja1J1bGUtPm1lZGlhUXVlcmllcygpKTsKIH0KIAogdm9pZCBD
U1NNZWRpYVJ1bGU6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9i
amVjdEluZm8pIGNvbnN0CiB7CiAgICAgTWVtb3J5Q2xhc3NJbmZvIGluZm8obWVtb3J5T2JqZWN0
SW5mbywgdGhpcywgV2ViQ29yZU1lbW9yeVR5cGVzOjpDU1MpOwotICAgIENTU1J1bGU6OnJlcG9y
dE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIENTU0Jsb2NrUnVsZTxTdHlsZVJ1
bGVNZWRpYSwgQ1NTTWVkaWFSdWxlPjo6cmVwb3J0TWVtb3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5m
byk7CiAgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYUNTU09NV3JhcHBlcik7Ci0gICAgaW5mby5h
ZGRNZW1iZXIobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzKTsKLSAgICBpbmZvLmFkZE1lbWJlciht
X3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKIH0KIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU01lZGlhUnVsZS5oIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU01lZGlhUnVsZS5oCmluZGV4IDg3ODM1OTQ4NGI0N2UxNDQ5ODEwNTE0YjRjOWRj
OGU0ZDgzMzc0NTguLjU3MTA4NjQ0ZWZmZDg2YjkzYzY0ODc2NWIzZDMwMDc0YTRkYWVjMzMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NNZWRpYVJ1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTTWVkaWFSdWxlLmgKQEAgLTIzLDE1ICsyMywxNCBAQAogI2lmbmRlZiBD
U1NNZWRpYVJ1bGVfaAogI2RlZmluZSBDU1NNZWRpYVJ1bGVfaAogCi0jaW5jbHVkZSAiQ1NTUnVs
ZS5oIgorI2luY2x1ZGUgIkNTU0Jsb2NrUnVsZS5oIgogI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgog
CiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIENTU1J1bGVMaXN0OwogY2xhc3MgU3R5bGVS
dWxlTWVkaWE7CiAKLWNsYXNzIENTU01lZGlhUnVsZSA6IHB1YmxpYyBDU1NSdWxlIHsKK2NsYXNz
IENTU01lZGlhUnVsZSA6IHB1YmxpYyBDU1NCbG9ja1J1bGU8U3R5bGVSdWxlTWVkaWEsIENTU01l
ZGlhUnVsZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU01lZGlhUnVsZT4g
Y3JlYXRlKFN0eWxlUnVsZU1lZGlhKiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyByZXR1
cm4gYWRvcHRSZWYobmV3IENTU01lZGlhUnVsZShydWxlLCBzaGVldCkpOyB9CiAKQEAgLTQzLDIy
ICs0MiwxMSBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IE9W
RVJSSURFOwogCiAgICAgTWVkaWFMaXN0KiBtZWRpYSgpIGNvbnN0OwotICAgIENTU1J1bGVMaXN0
KiBjc3NSdWxlcygpIGNvbnN0OwotCi0gICAgdW5zaWduZWQgaW5zZXJ0UnVsZShjb25zdCBTdHJp
bmcmIHJ1bGUsIHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgdm9pZCBkZWxl
dGVSdWxlKHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJik7Ci0gICAgICAgIAotICAgIC8v
IEZvciBDU1NSdWxlTGlzdAotICAgIHVuc2lnbmVkIGxlbmd0aCgpIGNvbnN0OwotICAgIENTU1J1
bGUqIGl0ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0OwogCiBwcml2YXRlOgogICAgIENTU01lZGlh
UnVsZShTdHlsZVJ1bGVNZWRpYSosIENTU1N0eWxlU2hlZXQqKTsKICAgICAKLSAgICBSZWZQdHI8
U3R5bGVSdWxlTWVkaWE+IG1fbWVkaWFSdWxlOwogICAgIG11dGFibGUgUmVmUHRyPE1lZGlhTGlz
dD4gbV9tZWRpYUNTU09NV3JhcHBlcjsKLSAgICBtdXRhYmxlIFZlY3RvcjxSZWZQdHI8Q1NTUnVs
ZT4gPiBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnM7Ci0gICAgbXV0YWJsZSBPd25QdHI8Q1NTUnVs
ZUxpc3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXI7CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1J1bGUuaAppbmRleCAwNzU4ZTc0ZjgxNTBhOTc5NGVhMWNiODM4MTEyNjEx
MTQ0ZjMyMDY3Li4xMmZmNWQwNzIwMzEzNzRmODhiNTQ5NjgxYzU1Mjg1YjZiMGM5YzU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NSdWxlLmgKQEAgLTU0LDcgKzU0LDEwIEBAIHB1YmxpYzoKICAgICAgICAgV0VCS0lU
X1ZJRVdQT1JUX1JVTEUgPSAxNSwKICNlbmRpZgogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKLSAg
ICAgICAgV0VCS0lUX1JFR0lPTl9SVUxFID0gMTYKKyAgICAgICAgV0VCS0lUX1JFR0lPTl9SVUxF
ID0gMTYsCisjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAgSE9TVF9SVUxF
ID0gMTAwMSwKICNlbmRpZgogICAgIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCBhZjEx
OGZlNzJiOWI4MDc0ZjdkNjA4MmQwOTNlMjcwY2ZmMmIxMDY4Li5kNTA0ZTBjMGVhZTlkODA4OTMx
NTA5MWNmNmM5MmI5YTA4OGJmYWM3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC00Myw2ICs0
Myw5IEBACiAjaWYgZGVmaW5lZChFTkFCTEVfQ1NTX1JFR0lPTlMpICYmIEVOQUJMRV9DU1NfUkVH
SU9OUwogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9SRUdJT05fUlVMRSA9IDE2Owog
I2VuZGlmCisjaWYgZGVmaW5lZChFTkFCTEVfU0hBRE9XX0RPTSkgJiYgRU5BQkxFX1NIQURPV19E
T00KKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBIT1NUX1JVTEUgPSAxMDAxOworI2VuZGlmCiAK
ICAgICByZWFkb25seSBhdHRyaWJ1dGUgdW5zaWduZWQgc2hvcnQgICB0eXBlOwogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKaW5kZXggMDk4ZTBkNTdjMGI3ZTFkNzRlZDE1MDhmN2U5
MDBkNTE2YzJlOTcwZC4uMzViYTAwNWVkOGQyZTQzYWJmZGQzZjRkOWUxODNjYTRlNDBmMDI4NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtMzUsNiArMzUsNyBAQAogI2lu
Y2x1ZGUgIkNTU0N1cnNvckltYWdlVmFsdWUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUu
aCIKICNpbmNsdWRlICJDU1NGb250U2VsZWN0b3IuaCIKKyNpbmNsdWRlICJDU1NIb3N0UnVsZS5o
IgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRlICJDU1NMaW5lQm94Q29udGFp
blZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTTWVkaWFSdWxlLmgiCkBAIC0yNjQyLDYgKzI2NDMsMTEg
QEAgc3RhdGljIHZvaWQgY29sbGVjdENTU09NV3JhcHBlcnMoSGFzaE1hcDxTdHlsZVJ1bGUqLCBS
ZWZQdHI8Q1NTU3R5bGVSdWxlPiA+JiB3cmEKICAgICAgICAgICAgIGNvbGxlY3RDU1NPTVdyYXBw
ZXJzKHdyYXBwZXJNYXAsIHN0YXRpY19jYXN0PFdlYktpdENTU1JlZ2lvblJ1bGUqPihjc3NSdWxl
KSk7CiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgorI2lmIEVOQUJMRShTSEFET1dfRE9NKQor
ICAgICAgICBjYXNlIENTU1J1bGU6OkhPU1RfUlVMRToKKyAgICAgICAgICAgIGNvbGxlY3RDU1NP
TVdyYXBwZXJzKHdyYXBwZXJNYXAsIHN0YXRpY19jYXN0PENTU0hvc3RSdWxlKj4oY3NzUnVsZSkp
OworICAgICAgICAgICAgYnJlYWs7CisjZW5kaWYKICAgICAgICAgY2FzZSBDU1NSdWxlOjpTVFlM
RV9SVUxFOgogICAgICAgICAgICAgd3JhcHBlck1hcC5hZGQoc3RhdGljX2Nhc3Q8Q1NTU3R5bGVS
dWxlKj4oY3NzUnVsZSktPnN0eWxlUnVsZSgpLCBzdGF0aWNfY2FzdDxDU1NTdHlsZVJ1bGUqPihj
c3NSdWxlKSk7CiAgICAgICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAKaW5k
ZXggNDNlNmE1ZTEzNzY4MGNjMmQxYzZhYzMwMTkzZGZlNjU2NjYyMzAyMC4uMTQ2MzI4ZjliNDgw
NTdiNmRmZWEyOWFiNmQ0YTNlNDU1OTFlMjE4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUnVsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAK
QEAgLTI0LDYgKzI0LDcgQEAKIAogI2luY2x1ZGUgIkNTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVk
ZSAiQ1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuaCIKICNpbmNsdWRl
ICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTTWVkaWFSdWxlLmgiCiAjaW5jbHVkZSAi
Q1NTUGFnZVJ1bGUuaCIKQEAgLTgyLDggKzgzLDggQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpyZXBv
cnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAog
ICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlzKS0+cmVw
b3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgICAgICByZXR1
cm47CiAjaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgY2FzZSBIb3N0OgotICAgICAgICBzdGF0
aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVCbG9jayo+KHRoaXMpLT5yZXBvcnREZXNjZW5kYW50TWVt
b3J5VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7CisgICAgY2FzZSBIb3N0SW50ZXJuYWw6CisgICAg
ICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUhvc3QqPih0aGlzKS0+cmVwb3J0RGVzY2Vu
ZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwogICAgICAgICByZXR1cm47CiAjZW5k
aWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQpAQCAtMTMwLDcgKzEzMSw3IEBA
IHZvaWQgU3R5bGVSdWxlQmFzZTo6ZGVzdHJveSgpCiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2Fz
dDxTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOwogI2lmIEVOQUJM
RShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKKyAgICBjYXNlIEhvc3RJbnRlcm5hbDoKICAg
ICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0eWxlUnVsZUhvc3QqPih0aGlzKTsKICAgICAgICAg
cmV0dXJuOwogI2VuZGlmCkBAIC0xNzMsNyArMTc0LDcgQEAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVC
YXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAgICBjYXNlIEtleWZyYW1lczoKICAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUtleWZyYW1lcyo+KHRoaXMp
LT5jb3B5KCk7CiAjaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgY2FzZSBIb3N0OgorICAgIGNh
c2UgSG9zdEludGVybmFsOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVS
dWxlSG9zdCo+KHRoaXMpLT5jb3B5KCk7CiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9B
REFQVEFUSU9OKQpAQCAtMjI3LDkgKzIyOCw4IEBAIFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVS
dWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENTU1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0CiAg
ICAgICAgIGJyZWFrOwogI2VuZGlmCiAjaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAgY2FzZSBI
b3N0OgotICAgICAgICAvLyBGSVhNRTogVGhlIGN1cnJlbnQgQ1NTT00gZWRpdG9yJ3MgZHJhZnQg
KGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLykgZG9lcyBub3QgaGFuZGxlIEBob3N0IHJ1
bGVzIChzZWUgYnVnIDEwMjM0NCkuCi0gICAgICAgIHJ1bGUgPSBhZG9wdFJlZihuZXcgQ1NTVW5r
bm93blJ1bGUoKSk7CisgICAgY2FzZSBIb3N0SW50ZXJuYWw6CisgICAgICAgIHJ1bGUgPSBDU1NI
b3N0UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUhvc3QqPihzZWxmKSwgcGFyZW50
U2hlZXQpOwogICAgICAgICBicmVhazsKICNlbmRpZgogICAgIGNhc2UgVW5rbm93bjoKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuaAppbmRleCA0ZWY3NjQyODM4OGIxYzQ3MmUxMzkxYzM5MWIyM2E4NjgxZmMx
NjM1Li41ZWI4ZWE4NTlmOGU4OWU4YjQ5ZjU1MTE1YmY3ZjlhNjU0ZDcyMDdiIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5oCkBAIC00NiwxNCArNDYsMTUgQEAgcHVibGljOgogICAgICAgICBQYWdlLAog
ICAgICAgICBLZXlmcmFtZXMsCiAgICAgICAgIEtleWZyYW1lLCAvLyBOb3QgdXNlZC4gVGhlc2Ug
YXJlIGludGVybmFsbHkgbm9uLXJ1bGUgU3R5bGVLZXlmcmFtZSBvYmplY3RzLgotI2lmIEVOQUJM
RShTSEFET1dfRE9NKQotICAgICAgICBIb3N0LAotI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJ
Q0VfQURBUFRBVElPTikKICAgICAgICAgVmlld3BvcnQgPSAxNSwKICNlbmRpZgotICAgICAgICBS
ZWdpb24gPSAxNgorICAgICAgICBSZWdpb24gPSAxNiwKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KyAgICAgICAgSG9zdEludGVybmFsID0gMTcsIC8vIFNwZWMgc2F5cyBIb3N0ID0gMTAwMSwgYnV0
IHdlIGNhbiB1c2Ugb25seSA1IGJpdCBmb3IgdHlwZSgpLgorI2VuZGlmCiAgICAgfTsKKwogICAg
IFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFR5cGU+KG1fdHlwZSk7IH0K
ICAgICAKICAgICBib29sIGlzQ2hhcnNldFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
Q2hhcnNldDsgfQpAQCAtNjgsNyArNjksNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBib29sIGlz
SW1wb3J0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBJbXBvcnQ7IH0KICNpZiBFTkFC
TEUoU0hBRE9XX0RPTSkKLSAgICBib29sIGlzSG9zdFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gSG9zdDsgfQorICAgIGJvb2wgaXNIb3N0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUo
KSA9PSBIb3N0SW50ZXJuYWw7IH0KICNlbmRpZgogCiAgICAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVC
YXNlPiBjb3B5KCkgY29uc3Q7CkBAIC0yNDYsNyArMjQ3LDcgQEAgcHVibGljOgogICAgIFBhc3NS
ZWZQdHI8U3R5bGVSdWxlSG9zdD4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVmKG5ldyBT
dHlsZVJ1bGVIb3N0KCp0aGlzKSk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1bGVIb3N0KFZl
Y3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykgOiBTdHlsZVJ1bGVCbG9j
ayhIb3N0LCBhZG9wdFJ1bGVzKSB7IH0KKyAgICBTdHlsZVJ1bGVIb3N0KFZlY3RvcjxSZWZQdHI8
U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykgOiBTdHlsZVJ1bGVCbG9jayhIb3N0SW50ZXJu
YWwsIGFkb3B0UnVsZXMpIHsgfQogICAgIFN0eWxlUnVsZUhvc3QoY29uc3QgU3R5bGVSdWxlSG9z
dCYgbykgOiBTdHlsZVJ1bGVCbG9jayhvKSB7IH0KIH07CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggZGM1MjFkZjM5YzJiZDQzNjU2NGZmNWJj
ODg3ZDFhM2IxMGJkN2IxYi4uMjRjNmFkZDZmZTVhM2Q3MGEzZDZlNGY0OTI0YzVjZjQxZWU1ZDlm
MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAgLTQ0NCw3
ICs0NDQsNyBAQCBzdGF0aWMgYm9vbCBjaGlsZFJ1bGVzSGF2ZUZhaWxlZE9yQ2FuY2VsZWRTdWJy
ZXNvdXJjZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZQogICAgICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKFNIQURPV19ET00pCi0gICAg
ICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6SG9zdDoKKyAgICAgICAgY2FzZSBTdHlsZVJ1bGVCYXNl
OjpIb3N0SW50ZXJuYWw6CiAgICAgICAgICAgICBpZiAoY2hpbGRSdWxlc0hhdmVGYWlsZWRPckNh
bmNlbGVkU3VicmVzb3VyY2VzKHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUhvc3QqPihydWxl
KS0+Y2hpbGRSdWxlcygpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAgICAg
ICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lv
blJ1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuY3BwCmlu
ZGV4IDY4ZGI5NjQxY2IyN2UwOTQ5NjAyYjU0MWFhZTY0M2RiZDQ1ZjlmZjIuLmNiMzA2MzYyZTJh
NjFlNDg4ZDI2MWRmMDE1NjQ3MzgyNmUwZGM2ODcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvV2Vi
S2l0Q1NTUmVnaW9uUnVsZS5jcHAKQEAgLTQyLDg0ICs0MiwyNSBAQAogCiBuYW1lc3BhY2UgV2Vi
Q29yZSB7CiBXZWJLaXRDU1NSZWdpb25SdWxlOjpXZWJLaXRDU1NSZWdpb25SdWxlKFN0eWxlUnVs
ZVJlZ2lvbiogcmVnaW9uUnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQotICAgIDogQ1NTUnVs
ZShwYXJlbnQpCi0gICAgLCBtX3JlZ2lvblJ1bGUocmVnaW9uUnVsZSkKLSAgICAsIG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVycyhyZWdpb25SdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKQorICAgIDog
Q1NTQmxvY2tSdWxlPFN0eWxlUnVsZVJlZ2lvbiwgV2ViS2l0Q1NTUmVnaW9uUnVsZT4ocmVnaW9u
UnVsZSwgcGFyZW50KQogewogfQogCi1XZWJLaXRDU1NSZWdpb25SdWxlOjp+V2ViS2l0Q1NTUmVn
aW9uUnVsZSgpCi17Ci0gICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hpbGRSdWxlQ1NT
T01XcmFwcGVycy5zaXplKCk7ICsraSkgewotICAgICAgICBpZiAobV9jaGlsZFJ1bGVDU1NPTVdy
YXBwZXJzW2ldKQotICAgICAgICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldLT5zZXRQ
YXJlbnRSdWxlKDApOwotICAgIH0KLX0KLQogU3RyaW5nIFdlYktpdENTU1JlZ2lvblJ1bGU6OmNz
c1RleHQoKSBjb25zdAogewogICAgIFN0cmluZ0J1aWxkZXIgcmVzdWx0OwotICAgIHJlc3VsdC5h
cHBlbmQoIkAtd2Via2l0LXJlZ2lvbiAiKTsKKyAgICByZXN1bHQuYXBwZW5kTGl0ZXJhbCgiQC13
ZWJraXQtcmVnaW9uICIpOwogCiAgICAgLy8gRmlyc3QgYWRkIHRoZSBzZWxlY3RvcnMuCi0gICAg
cmVzdWx0LmFwcGVuZChtX3JlZ2lvblJ1bGUtPnNlbGVjdG9yTGlzdCgpLnNlbGVjdG9yc1RleHQo
KSk7CisgICAgcmVzdWx0LmFwcGVuZChtX2Jsb2NrUnVsZS0+c2VsZWN0b3JMaXN0KCkuc2VsZWN0
b3JzVGV4dCgpKTsKIAogICAgIC8vIFRoZW4gYWRkIHRoZSBydWxlcy4KLSAgICByZXN1bHQuYXBw
ZW5kKCIgeyBcbiIpOwotCi0gICAgdW5zaWduZWQgc2l6ZSA9IGxlbmd0aCgpOwotICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCBzaXplOyArK2kpIHsKLSAgICAgICAgcmVzdWx0LmFwcGVuZCgi
ICAiKTsKLSAgICAgICAgcmVzdWx0LmFwcGVuZChpdGVtKGkpLT5jc3NUZXh0KCkpOwotICAgICAg
ICByZXN1bHQuYXBwZW5kKCJcbiIpOwotICAgIH0KLSAgICByZXN1bHQuYXBwZW5kKCJ9Iik7Cisg
ICAgcmVzdWx0LmFwcGVuZExpdGVyYWwoIiB7IFxuIik7CisgICAgYXBwZW5kQ3NzVGV4dEZvckl0
ZW1zKHJlc3VsdCk7CisgICAgcmVzdWx0LmFwcGVuZCgnfScpOwogICAgIHJldHVybiByZXN1bHQu
dG9TdHJpbmcoKTsKIH0KIAotdW5zaWduZWQgV2ViS2l0Q1NTUmVnaW9uUnVsZTo6bGVuZ3RoKCkg
Y29uc3QKLXsgCi0gICAgcmV0dXJuIG1fcmVnaW9uUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKTsg
Ci19Ci0KLUNTU1J1bGUqIFdlYktpdENTU1JlZ2lvblJ1bGU6Oml0ZW0odW5zaWduZWQgaW5kZXgp
IGNvbnN0Ci17IAotICAgIGlmIChpbmRleCA+PSBsZW5ndGgoKSkKLSAgICAgICAgcmV0dXJuIDA7
Ci0gICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9yZWdpb25S
dWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsKLSAgICBSZWZQdHI8Q1NTUnVsZT4mIHJ1bGUgPSBt
X2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdOwotICAgIGlmICghcnVsZSkKLSAgICAgICAg
cnVsZSA9IG1fcmVnaW9uUnVsZS0+Y2hpbGRSdWxlcygpW2luZGV4XS0+Y3JlYXRlQ1NTT01XcmFw
cGVyKGNvbnN0X2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMpKTsKLSAgICByZXR1cm4g
cnVsZS5nZXQoKTsKLX0KLQotQ1NTUnVsZUxpc3QqIFdlYktpdENTU1JlZ2lvblJ1bGU6OmNzc1J1
bGVzKCkgY29uc3QKLXsKLSAgICBpZiAoIW1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpCi0gICAgICAg
IG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIgPSBhZG9wdFB0cihuZXcgTGl2ZUNTU1J1bGVMaXN0PFdl
YktpdENTU1JlZ2lvblJ1bGU+KGNvbnN0X2Nhc3Q8V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KHRoaXMp
KSk7Ci0gICAgcmV0dXJuIG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIuZ2V0KCk7Ci19Ci0KLXZvaWQg
V2ViS2l0Q1NTUmVnaW9uUnVsZTo6cmVhdHRhY2goU3R5bGVSdWxlQmFzZSogcnVsZSkKLXsKLSAg
ICBBU1NFUlQocnVsZSk7Ci0gICAgQVNTRVJUKHJ1bGUtPmlzUmVnaW9uUnVsZSgpKTsKLSAgICBt
X3JlZ2lvblJ1bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVSZWdpb24qPihydWxlKTsKLSAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKTsg
KytpKSB7Ci0gICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0pCi0gICAgICAg
ICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnJlYXR0YWNoKG1fcmVnaW9uUnVsZS0+
Y2hpbGRSdWxlcygpW2ldLmdldCgpKTsKLSAgICB9Ci19Ci0KLXZvaWQgV2ViS2l0Q1NTUmVnaW9u
UnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKLXsKLSAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0
aGlzLCBXZWJDb3JlTWVtb3J5VHlwZXM6OkNTUyk7Ci0gICAgQ1NTUnVsZTo6cmVwb3J0TWVtb3J5
VXNhZ2UobWVtb3J5T2JqZWN0SW5mbyk7Ci0gICAgaW5mby5hZGRNZW1iZXIobV9yZWdpb25SdWxl
KTsKLSAgICBpbmZvLmFkZE1lbWJlcihtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpOwotICAgIGlu
Zm8uYWRkTWVtYmVyKG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpOwotfQotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCiAKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1dlYktp
dENTU1JlZ2lvblJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9XZWJLaXRDU1NSZWdpb25SdWxl
LmgKaW5kZXggYTY4YmExMWQ1MGNkM2Q3OTFlMGVkZTVjZTI4Yjk2MTE2M2UwYmI0OC4uMGYzMmZi
MWEwNzkwMTQ4ZWNhNTQzN2Q5ZjNjYWFlNDcwYWQyZWViNiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL1dlYktpdENTU1JlZ2lvblJ1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
V2ViS2l0Q1NTUmVnaW9uUnVsZS5oCkBAIC0zMSw0MSArMzEsMjQgQEAKICNpZm5kZWYgV2ViS2l0
Q1NTUmVnaW9uUnVsZV9oCiAjZGVmaW5lIFdlYktpdENTU1JlZ2lvblJ1bGVfaAogCi0jaW5jbHVk
ZSAiQ1NTUnVsZS5oIgorI2luY2x1ZGUgIkNTU0Jsb2NrUnVsZS5oIgogI2luY2x1ZGUgPHd0Zi9W
ZWN0b3IuaD4KIAogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKIAogbmFtZXNwYWNlIFdlYkNvcmUg
ewogCi1jbGFzcyBDU1NSdWxlTGlzdDsKIGNsYXNzIFN0eWxlUnVsZVJlZ2lvbjsKIAotY2xhc3Mg
V2ViS2l0Q1NTUmVnaW9uUnVsZSA6IHB1YmxpYyBDU1NSdWxlIHsKK2NsYXNzIFdlYktpdENTU1Jl
Z2lvblJ1bGUgOiBwdWJsaWMgQ1NTQmxvY2tSdWxlPFN0eWxlUnVsZVJlZ2lvbiwgV2ViS2l0Q1NT
UmVnaW9uUnVsZT4gewogcHVibGljOgogICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYktpdENTU1Jl
Z2lvblJ1bGU+IGNyZWF0ZShTdHlsZVJ1bGVSZWdpb24qIHJ1bGUsIENTU1N0eWxlU2hlZXQqIHNo
ZWV0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgV2ViS2l0Q1NTUmVnaW9uUnVsZShydWxlLCBzaGVl
dCkpOyB9CiAKLSAgICB2aXJ0dWFsIH5XZWJLaXRDU1NSZWdpb25SdWxlKCk7Ci0KICAgICB2aXJ0
dWFsIENTU1J1bGU6OlR5cGUgdHlwZSgpIGNvbnN0IE9WRVJSSURFIHsgcmV0dXJuIFdFQktJVF9S
RUdJT05fUlVMRTsgfQogICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBPVkVSUklE
RTsKLSAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2goU3R5bGVSdWxlQmFzZSopIE9WRVJSSURFOwot
ICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29u
c3QgT1ZFUlJJREU7Ci0KLSAgICBDU1NSdWxlTGlzdCogY3NzUnVsZXMoKSBjb25zdDsKLSAgICAK
LSAgICAvLyBGb3IgQ1NTUnVsZUxpc3QKLSAgICB1bnNpZ25lZCBsZW5ndGgoKSBjb25zdDsKLSAg
ICBDU1NSdWxlKiBpdGVtKHVuc2lnbmVkIGluZGV4KSBjb25zdDsKIAogcHJpdmF0ZToKICAgICBX
ZWJLaXRDU1NSZWdpb25SdWxlKFN0eWxlUnVsZVJlZ2lvbiosIENTU1N0eWxlU2hlZXQqIHBhcmVu
dCk7Ci0KLSAgICBSZWZQdHI8U3R5bGVSdWxlUmVnaW9uPiBtX3JlZ2lvblJ1bGU7Ci0gICAgbXV0
YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+ID4gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzOwot
ICAgIG11dGFibGUgT3duUHRyPENTU1J1bGVMaXN0PiBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyOwot
ICAgIAotICAgIGZyaWVuZCBjbGFzcyBTdHlsZVJ1bGVCbG9jazsKIH07CiAKIH0KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRE9NV2luZG93LmlkbAppbmRleCBjOTZjNzI1MmEyYjlmZmE5MzVhNjQxNWFlZmEyYzQ2M2Nj
Y2RlMzE2Li5lM2UwMDNmZTZhYTE1YWNjYzY2MGUxNWExOGU2NmNmNjk2MmRjZDAwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKKysrIGIvU291cmNlL1dlYkNv
cmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0zNDgsNiArMzQ4LDkgQEAKICAgICBhdHRyaWJ1dGUg
Q1NTUnVsZUNvbnN0cnVjdG9yIENTU1J1bGU7CiAgICAgYXR0cmlidXRlIENTU0NoYXJzZXRSdWxl
Q29uc3RydWN0b3IgQ1NTQ2hhcnNldFJ1bGU7CiAgICAgYXR0cmlidXRlIENTU0ZvbnRGYWNlUnVs
ZUNvbnN0cnVjdG9yIENTU0ZvbnRGYWNlUnVsZTsKKyNpZiBkZWZpbmVkKEVOQUJMRV9TSEFET1df
RE9NKSAmJiBFTkFCTEVfU0hBRE9XX0RPTQorICAgIGF0dHJpYnV0ZSBDU1NIb3N0UnVsZUNvbnN0
cnVjdG9yIENTU0hvc3RSdWxlOworI2VuZGlmCiAgICAgYXR0cmlidXRlIENTU0ltcG9ydFJ1bGVD
b25zdHJ1Y3RvciBDU1NJbXBvcnRSdWxlOwogICAgIGF0dHJpYnV0ZSBDU1NNZWRpYVJ1bGVDb25z
dHJ1Y3RvciBDU1NNZWRpYVJ1bGU7CiAgICAgYXR0cmlidXRlIENTU1BhZ2VSdWxlQ29uc3RydWN0
b3IgQ1NTUGFnZVJ1bGU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDM3OTI1M2EzYTJhNjU3ZWEwMDcwMzE5MmFiNzM1MTc2
M2U5M2YzZi4uNTZjNjM4NWEzYzAxNThkNWUxMmZhYTg1ZTkzNjQzZDg5YzJlYmM5YiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTA4ICBUYWthc2hpIFNha2Ftb3RvICA8dGFzYWtAZ29v
Z2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NTSG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVs
ZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIz
NDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIGZh
c3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAg
ICAgICogZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRtbDogQWRkZWQuCisKIDIw
MTMtMDEtMDcgIEFkYW0gQmFydGggIDxhYmFydGhAd2Via2l0Lm9yZz4KIAogICAgICAgICBIVE1M
VHJlZUJ1aWxkZXIgc2hvdWxkIG5vdCBkZXBlbmQgb24gRnJhbWUKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4cGVjdGVkLnR4dApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi42MjE5NTY3N2VkZmU5ODdiNGE3ODYzYzIwMDJjNGYxNTMyOTVkOGE0Ci0tLSAv
ZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1h
cGktZXhwZWN0ZWQudHh0CkBAIC0wLDAgKzEsMjkgQEAKK1Rlc3Qgd2hldGhlciBDU1NIb3N0UnVs
ZSBBUEkgd29ya3MgY29ycmVjdGx5IG9yIG5vdC4KKworT24gc3VjY2VzcywgeW91IHdpbGwgc2Vl
IGEgc2VyaWVzIG9mICJQQVNTIiBtZXNzYWdlcywgZm9sbG93ZWQgYnkgIlRFU1QgQ09NUExFVEUi
LgorCisKK0JlZm9yZSBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSBpbnRvIEBob3N0IEAtcnVsZXM6
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigwLCAwLCAw
KSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIGlzIDAKK1BBU1MgaG9zdFJ1bGUudHlw
ZSBpcyAxMDAxCitBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSB3aXRoIGFuIGlkIHNlbGVj
dG9yIGludG8gQGhvc3QgQC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3Jk
ZXJDb2xvciBpcyAicmdiKDAsIDEyOCwgMCkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0
aCBpcyAxCitQQVNTIGhvc3RSdWxlLmNzc1RleHQgaXMgIkBob3N0IHsgXG4gICNob3N0IHsgYm9y
ZGVyLWNvbG9yOiBncmVlbjsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4
dCBpcyAiI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IgorQWZ0ZXIgaW5zZXJ0aW5nIGEg
Ym9yZGVyIHJ1bGUgd2l0aCBhIHRhZyBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6CitQQVNT
IGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigwLCAxMjgsIDApIgor
UEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMgorUEFTUyBob3N0UnVsZS5jc3NUZXh0
IGlzICJAaG9zdCB7IFxuICAjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH1cbiAgZGl2IHsg
Ym9yZGVyLWNvbG9yOiBibHVlOyB9XG59IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NU
ZXh0IGlzICIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iCitQQVNTIGhvc3RSdWxlLmNz
c1J1bGVzWzFdLmNzc1RleHQgaXMgImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSIKK0FmdGVy
IGRlbGV0aW5nIHRoZSBib3JkZXIgcnVsZSB3aXRoIGFuIGlkIHNlbGVjdG9yIGZyb20gQGhvc3Qg
QC1ydWxlczoKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciBpcyAicmdi
KDAsIDAsIDI1NSkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIGhv
c3RSdWxlLmNzc1RleHQgaXMgIkBob3N0IHsgXG4gIGRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsg
fVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCBpcyAiZGl2IHsgYm9yZGVy
LWNvbG9yOiBibHVlOyB9IgorUEFTUyBzdWNjZXNzZnVsbHlQYXJzZWQgaXMgdHJ1ZQorCitURVNU
IENPTVBMRVRFCisKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3Mt
aG9zdHJ1bGUtYXBpLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3Ry
dWxlLWFwaS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc4MTVjNjdjZjQzMmM0ZTUwNTYzM2FhMWI4Y2I3NDIx
NTA3MTg5NmQKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y3NzLWhvc3RydWxlLWFwaS5odG1sCkBAIC0wLDAgKzEsNDggQEAKKzwhZG9jdHlwZSBodG1sPgor
PGh0bWw+Cis8aGVhZD4KKzxzY3JpcHQgc3JjPSJyZXNvdXJjZXMvcG9seWZpbGwuanMiPjwvc2Ny
aXB0PgorPHNjcmlwdCBzcmM9Ii4uLy4uL2pzL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9z
Y3JpcHQ+Cis8L2hlYWQ+Cis8Ym9keT4KKyAgPGRpdiBpZD0iaG9zdCI+VGhpcyBkaXYgaXMgYSBz
aGFkb3cgaG9zdC48L2Rpdj4KKzwvYm9keT4KKzxzY3JpcHQ+CitkZXNjcmlwdGlvbigiVGVzdCB3
aGV0aGVyIENTU0hvc3RSdWxlIEFQSSB3b3JrcyBjb3JyZWN0bHkgb3Igbm90LiIpOwordmFyIGhv
c3QgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgnaG9zdCcpOwordmFyIHNoYWRvd1Jvb3QgPSBo
b3N0LndlYmtpdENyZWF0ZVNoYWRvd1Jvb3QoKTsKK3NoYWRvd1Jvb3QuaW5uZXJIVE1MID0gJzxz
dHlsZSBpZD0ic3R5bGUxIj5AaG9zdCB7fTwvc3R5bGU+PGRpdj5TaGFkb3cgVGV4dDwvZGl2Pic7
CisgIAorZGVidWcoIkJlZm9yZSBpbnNlcnRpbmcgYSBib3JkZXIgcnVsZSBpbnRvIEBob3N0IEAt
cnVsZXM6Iik7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciIs
ICcicmdiKDAsIDAsIDApIicpOworCit2YXIgc3R5bGVTaGVldCA9IHNoYWRvd1Jvb3QuZ2V0RWxl
bWVudEJ5SWQoJ3N0eWxlMScpLnNoZWV0OwordmFyIGhvc3RSdWxlID0gc3R5bGVTaGVldC5jc3NS
dWxlc1swXTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMCcpOworc2hv
dWxkQmUoImhvc3RSdWxlLnR5cGUiLCAnMTAwMScpOworICAKK2RlYnVnKCJBZnRlciBpbnNlcnRp
bmcgYSBib3JkZXIgcnVsZSB3aXRoIGFuIGlkIHNlbGVjdG9yIGludG8gQGhvc3QgQC1ydWxlczoi
KTsKK2hvc3RSdWxlLmluc2VydFJ1bGUoIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSIs
IGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCk7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZSho
b3N0KS5ib3JkZXJDb2xvciIsICcicmdiKDAsIDEyOCwgMCkiJyk7CitzaG91bGRCZSgiaG9zdFJ1
bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzEnKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NUZXh0Iiwg
JyJAaG9zdCB7IFxcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XFxufSInKTsKK3No
b3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0IiwgJyIjaG9zdCB7IGJvcmRlci1j
b2xvcjogZ3JlZW47IH0iJyk7CisKK2RlYnVnKCJBZnRlciBpbnNlcnRpbmcgYSBib3JkZXIgcnVs
ZSB3aXRoIGEgdGFnIHNlbGVjdG9yIGludG8gQGhvc3QgQC1ydWxlczoiKTsKK2hvc3RSdWxlLmlu
c2VydFJ1bGUoImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSIsIGhvc3RSdWxlLmNzc1J1bGVz
Lmxlbmd0aCk7CitzaG91bGRCZSgiZ2V0Q29tcHV0ZWRTdHlsZShob3N0KS5ib3JkZXJDb2xvciIs
ICcicmdiKDAsIDEyOCwgMCkiJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3Ro
IiwgJzInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NUZXh0IiwgJyJAaG9zdCB7IFxcbiAgI2hv
c3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7
IH1cXG59IicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQiLCAnIiNo
b3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NS
dWxlc1sxXS5jc3NUZXh0IiwgJyJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iJyk7CisKK2Rl
YnVnKCJBZnRlciBkZWxldGluZyB0aGUgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBm
cm9tIEBob3N0IEAtcnVsZXM6Iik7Citob3N0UnVsZS5kZWxldGVSdWxlKDApOworc2hvdWxkQmUo
ImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAwLCAyNTUpIicp
Oworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIsICcxJyk7CitzaG91bGRCZSgi
aG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3QgeyBcXG4gIGRpdiB7IGJvcmRlci1jb2xvcjogYmx1
ZTsgfVxcbn0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCIsICci
ZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9IicpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3Jj
PSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KKzwvaHRtbD4K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182296</attachid>
            <date>2013-01-11 01:35:44 -0800</date>
            <delta_ts>2013-01-18 01:51:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20130111183246.patch</filename>
            <type>text/plain</type>
            <size>37936</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBlZGI0ZDUyZjNkZmUwODc3OGViYzAyZWQ4N2MyZWJjMGQ2Y2RmY2M5Li5h
MTU5MDI5ZDM3YzYyNDg5OTMwNjkwZTdmYTlkYmE3MDZjM2MzMWI5IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNzEgQEAKKzIwMTMtMDEtMTEgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1NIb3N0UnVsZSBmb3IgQGhvc3QgQC1ydWxlcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjM0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENTU0hvc3RS
dWxlIGlzIGRlZmluZWQgaW4gU2hhZG93IERPTSBzcGVjOgorICAgICAgICBodHRwOi8vZHZjcy53
My5vcmcvaGcvd2ViY29tcG9uZW50cy9yYXctZmlsZS90aXAvc3BlYy9zaGFkb3cvaW5kZXguaHRt
bCNjc3MtaG9zdC1ydWxlLWludGVyZmFjZQorICAgICAgICBUbyBzZWUgb3IgdG8gbW9kaWZ5IEBo
b3N0IEAtcnVsZXMgYnkgdXNpbmcgaW5zcGVjdG9yLCB3ZSBuZWVkIHRvCisgICAgICAgIGltcGxl
bWVudCBDU1NIb3N0UnVsZSBpbnRlcmZhY2UuCisKKyAgICAgICAgVGVzdDogZmFzdC9kb20vc2hh
ZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRtbAorCisgICAgICAgICogRGVyaXZlZFNvdXJjZXMuY3Bw
OgorICAgICAgICBNb2RpZmllZCB0byBpbmNsdWRlIEpTQ1NTSG9zdFJ1bGUuY3BwLgorICAgICAg
ICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1ha2U6CisgICAg
ICAgICogRGVyaXZlZFNvdXJjZXMucHJpOgorICAgICAgICAqIEdOVW1ha2VmaWxlLmxpc3QuYW06
CisgICAgICAgICogVGFyZ2V0LnByaToKKyAgICAgICAgKiBXZWJDb3JlLmd5cGk6CisgICAgICAg
ICogV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2o6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICBBZGRlZCBDU1NIb3N0UnVsZS5jcHAsIENT
U0hvc3RSdWxlLmgsIGFuZCBDU1NIb3N0UnVsZS5pZGwuCisgICAgICAgICogYmluZGluZ3MvanMv
SlNDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OnRvSlMpOgorICAgICAgICBB
ZGQgYSBuZXcgY2FzZSB0aGF0IHRoZSBnaXZlbiBydWxlIGlzIEBob3N0IEAtcnVsZXMgdG8gc3Vw
cG9ydCBAaG9zdAorICAgICAgICBALXJ1bGVzLgorICAgICAgICAqIGJpbmRpbmdzL29iamMvRE9N
Q1NTLm1tOgorICAgICAgICAoa2l0Q2xhc3MpOgorICAgICAgICBBZGQgYSBuZXcgY2FzZSB0aGF0
IHRoZSBnaXZlbiBydWxlIGlzIEBob3N0IEAtcnVsZXMgdG8gc3VwcG9ydCBAaG9zdAorICAgICAg
ICBALXJ1bGVzLgorICAgICAgICAqIGJpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20u
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6d3JhcCk6CisgICAgICAgICogY3NzL0NTU0FsbEluT25l
LmNwcDoKKyAgICAgICAgKiBjc3MvQ1NTSG9zdFJ1bGUuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YkNvcmUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTSG9zdFJ1bGU6OkNTU0hvc3RSdWxlKToKKyAg
ICAgICAgKFdlYkNvcmU6OkNTU0hvc3RSdWxlOjpjc3NUZXh0KToKKyAgICAgICAgKiBjc3MvQ1NT
SG9zdFJ1bGUuaDogQWRkZWQuCisgICAgICAgIChXZWJDb3JlKToKKyAgICAgICAgKENTU0hvc3RS
dWxlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0hvc3RSdWxlOjpjcmVhdGUpOgorICAgICAgICBJ
bXBsZW1lbnRlZCBjbGFzcyBDU1NIb3N0UnVsZSB3aGljaCBpbmhlcml0cyBDU1NHcm91cGluZ1J1
bGUuCisgICAgICAgIFNpbmNlIENTU0hvc3RSdWxlIGhhcyB0aGUgc2FtZSBpbnRlcmZhY2UgYXMg
Q1NTR3JvdXBpbmdSdWxlLCBpdCBpcworICAgICAgICByZXF1aXJlZCB0byBpbXBsZW1lbnQgaXRz
IGNvbnN0cnVjdG9yIGFuZCB0byBvdmVycmlkZSBvbmx5IHR5cGUKKyAgICAgICAgbWV0aG9kIGFu
ZCBjc3NUZXh0IG1ldGhvZC4KKyAgICAgICAgKiBjc3MvQ1NTSG9zdFJ1bGUuaWRsOiBBZGRlZC4K
KyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NSdWxlLmlkbDoKKyAg
ICAgICAgQWRkZWQgaW50ZXJuYWwgSE9TVF9SVUxFIHR5cGUgbnVtYmVyLgorICAgICAgICAqIGNz
cy9TdHlsZVJlc29sdmVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmNvbGxlY3RDU1NPTVdyYXBw
ZXJzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0
eWxlUnVsZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxl
UnVsZUJhc2U6OmRlc3Ryb3kpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29w
eSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIp
OgorICAgICAgICBNb2RpZmllZCB0byBoYW5kbGUgU3R5bGVSdWxlSG9zdC4KKyAgICAgICAgKiBj
c3MvU3R5bGVSdWxlLmg6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVCYXNlOjppc0hvc3RS
dWxlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUhvc3Q6OlN0eWxlUnVsZUhvc3QpOgor
ICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6
Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKToKKyAgICAgICAgKiBw
YWdlL0RPTVdpbmRvdy5pZGw6CisgICAgICAgIEFkZGVkIENTU0hvc3RSdWxlIGNvbnN0cnVjdG9y
LgorCiAyMDEzLTAxLTEwICBHcnplZ29yeiBDemFqa293c2tpICA8Zy5jemFqa293c2tpQHNhbXN1
bmcuY29tPgogCiAgICAgICAgIE9uIExpbnV4LCBzaG91bGQgYmUgYWJsZSB0byBnZXQgc3BlbGxp
bmcgc3VnZ2VzdGlvbnMgd2l0aG91dCBzZWxlY3RpbmcgdGhlIG1pc3NwZWxsZWQgd29yZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9D
TWFrZUxpc3RzLnR4dAppbmRleCAxYmNlNjIxMWMyNjUyODM5YzQ4YjUwMTY4YjM2NTIxMGE2YTU2
MWZhLi5hNjNmNjA2YzRkM2FmMjhlZjgzODYyNDlhYmIyYzcwODRlMDI5OWQzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFr
ZUxpc3RzLnR4dApAQCAtMzEzLDYgKzMxMyw3IEBAIHNldChXZWJDb3JlX0lETF9GSUxFUwogICAg
IGNzcy9Db3VudGVyLmlkbAogICAgIGNzcy9DU1NDaGFyc2V0UnVsZS5pZGwKICAgICBjc3MvQ1NT
Rm9udEZhY2VSdWxlLmlkbAorICAgIGNzcy9DU1NIb3N0UnVsZS5pZGwKICAgICBjc3MvQ1NTSW1w
b3J0UnVsZS5pZGwKICAgICBjc3MvQ1NTTWVkaWFSdWxlLmlkbAogICAgIGNzcy9DU1NQYWdlUnVs
ZS5pZGwKQEAgLTEwMzQsNiArMTAzNSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3Mv
Q1NTRnVuY3Rpb25WYWx1ZS5jcHAKICAgICBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAKICAgICBj
c3MvQ1NTR3JvdXBpbmdSdWxlLmNwcAorICAgIGNzcy9DU1NIb3N0UnVsZS5jcHAKICAgICBjc3Mv
Q1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAKICAgICBjc3MvQ1NTSW1hZ2VTZXRWYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rl
cml2ZWRTb3VyY2VzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcAppbmRl
eCBhM2Q3ZjI5MWRlYjE3MTc0MmNlMmUwZTRmNzhkZjlhZmU4Y2JiYjU0Li4wN2UzZmE2ZDU0Zjg0
OWU4NzhiM2E5Y2M4NTQ3OTgwMzk0MmE3NDExIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3Bw
CkBAIC01NSw2ICs1NSw3IEBACiAjaW5jbHVkZSAiSlNDcnlwdG8uY3BwIgogI2luY2x1ZGUgIkpT
Q1NTQ2hhcnNldFJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmNwcCIKKyNp
bmNsdWRlICJKU0NTU0hvc3RSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU0ltcG9ydFJ1bGUuY3Bw
IgogI2luY2x1ZGUgIkpTQ1NTTWVkaWFSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU1BhZ2VSdWxl
LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGYzYTJhMWJjNWQwMWI2NTNi
ZDU0ODY0ODU3YmUxMzI0N2NkMGI3YmYuLmFmZDE5MDRmMGU4YjM5YmJiOTYxNTgwZGIxNjViYWJl
Y2RmMzgxODggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTY5LDYgKzE2OSw3
IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL01vZHVsZXMvd2Vic29ja2V0cy9X
b3JrZXJDb250ZXh0V2ViU29ja2V0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTQ2hhcnNl
dFJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsIFwKKyAg
ICAkKFdlYkNvcmUpL2Nzcy9DU1NIb3N0UnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NT
U0ltcG9ydFJ1bGUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NQYWdlUnVsZS5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMucHJpCmluZGV4IDZkZmJkNGUzMWIzNTYwNzNhZGY5MjlmZTc4YWFmYWY0MmE2Zjg2ZmUuLmY2
MjA4NjllMDA3NTdjMDVlZWI1ZGMxOGIwYThlMDNhN2Y2OTA5MDAgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkKQEAgLTE4OSw2ICsxODksNyBAQCBJRExfQklORElOR1MgKz0gXAogICAgICQk
UFdEL2Nzcy9Db3VudGVyLmlkbCBcCiAgICAgJCRQV0QvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBc
CiAgICAgJCRQV0QvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorICAgICQkUFdEL2Nzcy9DU1NI
b3N0UnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJCRQ
V0QvY3NzL0NTU01lZGlhUnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NQYWdlUnVsZS5pZGwg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJj
ZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNjZlOWY5ZWUyY2NmNjM0MjczYTk4
OGJlNzRhYjU2MjFmMTgxMmE1MS4uMWIxOTk4MjUyNDRhZmNjOGVjZDUyMGYzMWFjN2MxMzJkMmQz
NzJiZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMTUsNiArMTE1LDggQEAg
d2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
Q2hhcnNldFJ1bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ZvbnRGYWNlUnVs
ZS5jcHAgXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0hvc3RSdWxlLmNwcCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU0hvc3RSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NJbXBvcnRSdWxlLmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1
bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU01lZGlhUnVsZS5jcHAgXApAQCAt
MTMyMSw2ICsxMzIzLDcgQEAgZG9tX2JpbmRpbmdfaWRscyArPSBcCiAJJChXZWJDb3JlKS9Nb2R1
bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGwgXAogCSQoV2ViQ29yZSkv
Y3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTRm9udEZhY2VSdWxl
LmlkbCBcCisJJChXZWJDb3JlKS9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nz
cy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTTWVkaWFSdWxlLmlkbCBc
CiAJJChXZWJDb3JlKS9jc3MvQ1NTUGFnZVJ1bGUuaWRsIFwKQEAgLTI1NDYsNiArMjU0OSw4IEBA
IHdlYmNvcmVfc291cmNlcyArPSBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0dyb3VwaW5nUnVs
ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuaCBcCiAJU291cmNl
L1dlYkNvcmUvY3NzL0NTU0hlbHBlci5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1
bGUuY3BwIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaCBcCiAJU291cmNlL1dl
YkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSW1h
Z2VTZXRWYWx1ZS5jcHAgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaSBi
L1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKaW5kZXggMzRmNTBmMGE1ZTI3YzNmYmEzNGQ1NmI5
MzI2MzMyZWZhZWFkNTg0YS4uM2U1YTBmZTY3NjEzZWEwMWIyNGZkNmUyODFlOWQwOTM4YWYyZjQ2
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9UYXJnZXQucHJpCkBAIC0yNjQsNiArMjY0LDcgQEAgU09VUkNFUyArPSBcCiAgICAgY3Nz
L0NTU0Z1bmN0aW9uVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTR3JhZGllbnRWYWx1ZS5jcHAgXAog
ICAgIGNzcy9DU1NHcm91cGluZ1J1bGUuY3BwIFwKKyAgICBjc3MvQ1NTSG9zdFJ1bGUuY3BwIFwK
ICAgICBjc3MvQ1NTSW1hZ2VWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NJbWFnZUdlbmVyYXRvclZh
bHVlLmNwcCBcCiAgICAgY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQpp
bmRleCBhYThkMjg3Nzk5ZWZlMjM5ZGFkM2ZiMTM0ZmNhOWEzYmNlMzVmMmQ3Li4wZjEzYzYxY2Rj
YjJmY2I4OWMxMWE0YjM1YTQ2M2Q0NzZmODk1MGU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNjEs
NiArMTYxLDcgQEAKICAgICAgICAgICAgICdNb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4
dFdlYlNvY2tldC5pZGwnLAogICAgICAgICAgICAgJ2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRsJywKKyAgICAgICAgICAgICdjc3Mv
Q1NTSG9zdFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1wb3J0UnVsZS5pZGwnLAog
ICAgICAgICAgICAgJ2Nzcy9DU1NNZWRpYVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NT
UGFnZVJ1bGUuaWRsJywKQEAgLTE0NzIsNiArMTQ3Myw4IEBACiAgICAgICAgICAgICAnY3NzL0NT
U0dyYWRpZW50VmFsdWUuaCcsCiAgICAgICAgICAgICAnY3NzL0NTU0dyb3VwaW5nUnVsZS5jcHAn
LAogICAgICAgICAgICAgJ2Nzcy9DU1NHcm91cGluZ1J1bGUuaCcsCisgICAgICAgICAgICAnY3Nz
L0NTU0hvc3RSdWxlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NTU0hvc3RSdWxlLmgnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCcsCiAgICAgICAgICAgICAn
Y3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1hZ2VWYWx1
ZS5jcHAnLApAQCAtNTU2Miw2ICs1NTY1LDggQEAKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0NoYXJzZXRSdWxlSW50ZXJuYWwuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NG
b250RmFjZVJ1bGUubW0nLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxlSW50ZXJuYWwuaCcsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NIb3N0UnVsZS5tbScs
CisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01D
U1NIb3N0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSW1wb3J0UnVsZS5tbScsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NJbXBvcnRSdWxlSW50ZXJu
YWwuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9ET01DU1NNZWRpYVJ1bGUubW0nLApAQCAtNjEyMiw2ICs2MTI3LDggQEAKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTQ2hhcnNldFJ1bGUu
aCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU0ZvbnRGYWNlUnVsZS5jcHAnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuaCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0hvc3RSdWxlLmNwcCcsCisg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0hv
c3RSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NJbXBvcnRSdWxlLmNwcCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0ltcG9ydFJ1bGUuaCcsCiAgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU01lZGlhUnVsZS5jcHAn
LApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3By
b2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagppbmRleCAy
NzE5NTUzZmZmZDI2MzY4ODg3NGNmYjhjOTNlMzAxZWI5ZDJlZGM5Li5iYWFmOTAzNGExNTMxNmI3
ZmU5NmJhNmVkZjlmMTliYTkzYThmZDVmIDEwMDc1NQotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZj
cHJvai9XZWJDb3JlLnZjcHJvagpAQCAtMTg1OCw2ICsxODU4LDYyIEBACiAJCQkJPgogCQkJPC9G
aWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGly
KVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NIb3N0UnVsZS5jcHAiCisJ
CQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJ
CQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5h
bWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4K
KwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJ
RXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9
IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJ
CQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NG
TGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJ
PFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxl
Q29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdf
QWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0
aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8
VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVD
b25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQo
Q29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNc
SlNDU1NIb3N0UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRp
dmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2
ZWRTb3VyY2VzXEpTQ1NTSW1wb3J0UnVsZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgpAQCAtMzYyMjIsNiArMzYyNzgsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0hvc3RSdWxlLmNwcCIKKwkJCQk+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRl
ZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENv
bXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxl
Q29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4
Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJW
Q0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJ
PEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIi
CisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJ
CQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRp
b24+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU0hv
c3RSdWxlLmgiCisJCQkJPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKIAkJCQlSZWxhdGl2ZVBhdGg9
Ii4uXGNzc1xDU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25m
aWd1cmF0aW9uCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKaW5kZXggOTJhODE0NWM2OTdkMWQ3NzY4Y2MzYmY3NjUzMGIyNzE0MTViODI3My4u
YTdmMWJiYzZkMmMxNWIxOTRkNTRhNTAwMzQ0NTU1YTFlY2NkMTRiMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtNjQzNyw2ICs2
NDM3LDggQEAKIAkJRkFCRTcyRkUxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZBQkU3MkZDMTA1
OUMyMTEwMEQ5OTlERCAvKiBNYXRoTUxOYW1lcy5jcHAgKi87IH07CiAJCUZCMkMxNUMzMTY1RDY0
OUQwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkIyQzE1QzIxNjVENjQ5MDAwMzlDOUY4
IC8qIENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkIzMDU2QzIxNjlFNURBQzAwOTZBMjMyIC8qIENT
U0dyb3VwaW5nUnVsZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRkIzMDU2QzExNjlFNURBQzAwOTZBMjMyIC8qIENTU0dyb3VwaW5nUnVsZS5oICovOyB9
OworCQlGQjQ5QzM5QTE2Nzg0OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOTkxNjc4NDkzMjAw
N0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCAqLzsgfTsKKwkJRkI0OUMzOUQxNjc4NDk0NzAwN0ZG
QjVEIC8qIENTU0hvc3RSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLzsg
fTsKIAkJRkI3OEFEMkUxNTFCRjVFNjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCNzhBRDJDMTUxQkY1RDIw
MEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAo
UHJpdmF0ZSwgKTsgfTsgfTsKIAkJRkI5MkRGNEIxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRo
T3BlcmF0aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBGQjkyREY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlGQkMyMjBERjEyMzdG
QkVCMDBCQ0Y3ODggLyogR3JhcGhpY3NDb250ZXh0M0RPcGVuR0wuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4
IC8qIEdyYXBoaWNzQ29udGV4dDNET3BlbkdMLmNwcCAqLzsgfTsKQEAgLTE0MDE3LDYgKzE0MDE5
LDkgQEAKIAkJRkFCRTcyRkMxMDU5QzIxMTAwRDk5OUREIC8qIE1hdGhNTE5hbWVzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1hdGhNTE5hbWVzLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkIyQzE1QzIxNjVENjQ5MDAwMzlDOUY4IC8qIENhY2hl
ZFNWR0RvY3VtZW50UmVmZXJlbmNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IENhY2hlZFNWR0RvY3VtZW50UmVmZXJlbmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUZCMzA1NkMxMTY5RTVEQUMwMDk2QTIzMiAvKiBDU1NHcm91cGluZ1J1bGUuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTR3JvdXBpbmdSdWxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZCNDlDMzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVs
ZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NIb3N0UnVsZS5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1
RCAvKiBDU1NIb3N0UnVsZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDU1NI
b3N0UnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5RTE2Nzg0OTU0
MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU0hv
c3RSdWxlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkI3OEFEMkMxNTFCRjVE
MjAwRkU1NEQzIC8qIENTU1BhcnNlck1vZGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQ1NTUGFyc2VyTW9kZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjky
REY0OTE1RkVEMDg3MDA5OTQ0MzMgLyogQ2xpcFBhdGhPcGVyYXRpb24uaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gQ2xpcFBhdGhPcGVyYXRpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkJDMjIwREUxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4
dDNET3BlbkdMLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEdyYXBo
aWNzQ29udGV4dDNET3BlbkdMLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIx
NTQwLDYgKzIxNTQ1LDkgQEAKIAkJCQlGQjMwNTZDMTE2OUU1REFDMDA5NkEyMzIgLyogQ1NTR3Jv
dXBpbmdSdWxlLmggKi8sCiAJCQkJRkJGODkwNDQxNjlFOUYxRjAwNTJEODZFIC8qIENTU0dyb3Vw
aW5nUnVsZS5jcHAgKi8sCiAJCQkJQkM3NzJCMzYwQzRFQTkxRTAwODMyODVGIC8qIENTU0hlbHBl
ci5oICovLAorCQkJCUZCNDlDMzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAg
Ki8sCisJCQkJRkI0OUMzOUMxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggKi8sCisJ
CQkJRkI0OUMzOUUxNjc4NDk1NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLywKIAkJCQlC
QzIzRTc2QjBEQUU4OEE5MDA5RkRDOTEgLyogQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgKi8s
CiAJCQkJQkMyM0VFOTEwREFFRDJCQzAwOUZEQzkxIC8qIENTU0ltYWdlR2VuZXJhdG9yVmFsdWUu
aCAqLywKIAkJCQk5MzkzRTVGRDE1MUE5OUYyMDAwNjZGMDYgLyogQ1NTSW1hZ2VTZXRWYWx1ZS5j
cHAgKi8sCkBAIC0yNjEwNCw2ICsyNjExMiw3IEBACiAJCQkJRTFCRTUxMkUwQ0Y2QzUxMjAwMkVB
OTU5IC8qIFhTTFRVbmljb2RlU29ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTc3RTJFMEYxMkYw
RkM5QzAwQzEzMzc5IC8qIFhTU0F1ZGl0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUZENTM3MzUz
MTM3QjY1MTgwMDAwOERDRSAvKiBaZXJvUG9sZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJRkI0OUMz
OUQxNjc4NDk0NzAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCSk7
CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTI5
MjM2LDYgKzI5MjQ1LDcgQEAKIAkJCQk5NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVk
aXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyog
WmVyb1BvbGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkJGODkwNDUxNjlFOUYxRjAwNTJEODZF
IC8qIENTU0dyb3VwaW5nUnVsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQjQ5QzM5QTE2Nzg0
OTMyMDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCAyYTQ2NWRjN2Rj
MWVkODc2NjA3ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi5jYmViM2M2ODVkOTlmZWIwYzE0ZDFmODhl
ZmNlZjkyNjA1NzEzODllIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9K
U0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NT
UnVsZUN1c3RvbS5jcHAKQEAgLTM0LDYgKzM0LDcgQEAKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUu
aCIKICNpbmNsdWRlICJKU0NTU0NoYXJzZXRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NGb250RmFj
ZVJ1bGUuaCIKKyNpbmNsdWRlICJKU0NTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NJbXBv
cnRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRlICJKU0NTU1Bh
Z2VSdWxlLmgiCkBAIC0xMDYsNiArMTA3LDExIEBAIEpTVmFsdWUgdG9KUyhFeGVjU3RhdGUqIGV4
ZWMsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIENTU1J1bGUqIHJ1bGUpCiAgICAg
ICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwg
V2ViS2l0Q1NTUmVnaW9uUnVsZSwgcnVsZSk7CiAgICAgICAgICAgICBicmVhazsKICNlbmRpZgor
I2lmIEVOQUJMRShTSEFET1dfRE9NKQorICAgICAgICBjYXNlIENTU1J1bGU6OkhPU1RfUlVMRToK
KyAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2Jq
ZWN0LCBDU1NIb3N0UnVsZSwgcnVsZSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgogICAg
ICAgICBkZWZhdWx0OgogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JBUFBFUihl
eGVjLCBnbG9iYWxPYmplY3QsIENTU1J1bGUsIHJ1bGUpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tIGIvU291cmNlL1dlYkNvcmUvYmlu
ZGluZ3Mvb2JqYy9ET01DU1MubW0KaW5kZXggM2MxZGE4MjMxMjE5YzZiMTQ3MTFiOGE0NTg1MzNj
YjE3YjgxMGZkYy4uZTM5MzRlYmQ0NGNmY2ViY2UxODBhZGNmZWRlM2JmNWI5Mjc5MTJjNyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KKysrIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0KQEAgLTY1LDYgKzY1LDEwIEBACiAj
aW1wb3J0ICJET01TVkdQYWludC5oIgogI2VuZGlmCiAKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkK
KyNpbXBvcnQgIkRPTUNTU0hvc3RSdWxlLmgiCisjZW5kaWYKKwogLy8tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0KIC8vIERPTVN0eWxlU2hlZXQKIApAQCAtMTA3LDYgKzExMSwxMCBA
QCBDbGFzcyBraXRDbGFzcyhXZWJDb3JlOjpDU1NSdWxlKiBpbXBsKQogICAgICAgICBjYXNlIERP
TV9XRUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgICAgICByZXR1cm4gW0RPTVdlYktpdENTU1Jl
Z2lvblJ1bGUgY2xhc3NdOwogI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAg
IGNhc2UgRE9NX0hPU1RfUlVMRToKKyAgICAgICAgICAgIHJldHVybiBbRE9NQ1NTSG9zdFJ1bGUg
Y2xhc3NdOworI2VuZGlmCiAgICAgfQogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogICAgIHJl
dHVybiBuaWw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20v
VjhDU1NSdWxlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9W
OENTU1J1bGVDdXN0b20uY3BwCmluZGV4IGQxNTFjZDhiMGY1YzljNjk0Mzg4NmY3NTJiOWQ4NjNj
NmNkMTM3NmEuLmNjNDlhNmMwMTU5MTRmYjZmNmVjNDZhZDI2MWQ4MzhhYTBhNmU0ZmYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20u
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0
b20uY3BwCkBAIC0zMyw2ICszMyw3IEBACiAKICNpbmNsdWRlICJWOENTU0NoYXJzZXRSdWxlLmgi
CiAjaW5jbHVkZSAiVjhDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNsdWRlICJWOENTU0hvc3RSdWxl
LmgiCiAjaW5jbHVkZSAiVjhDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NNZWRpYVJ1
bGUuaCIKICNpbmNsdWRlICJWOENTU1BhZ2VSdWxlLmgiCkBAIC03OCw2ICs3OSwxMCBAQCB2ODo6
SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoQ1NTUnVsZSogaW1wbCwgdjg6OkhhbmRsZTx2ODo6T2Jq
ZWN0PiBjcmVhdGlvbkNvbnRleAogI2VuZGlmCiAgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfUkVH
SU9OX1JVTEU6CiAgICAgICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PFdlYktpdENTU1JlZ2lv
blJ1bGUqPihpbXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKKyNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKKyAgICBjYXNlIENTU1J1bGU6OkhPU1RfUlVMRToKKyAgICAgICAgcmV0dXJuIHdy
YXAoc3RhdGljX2Nhc3Q8Q1NTSG9zdFJ1bGUqPihpbXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29s
YXRlKTsKKyNlbmRpZgogICAgIH0KICAgICByZXR1cm4gVjhDU1NSdWxlOjpjcmVhdGVXcmFwcGVy
KGltcGwsIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbElu
T25lLmNwcAppbmRleCBiMDZhNjhkOTExMTg0NWNiMjE2MDQ4YmZjY2JiYWQ0MTg3NzlmYThjLi44
NjQ2ZGY2NjgxMzAwMjdkNWUxNTNlODc3YzJkNTE5ZTM3MGVkZWZiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NBbGxJbk9uZS5jcHAKQEAgLTQyLDYgKzQyLDcgQEAKICNpbmNsdWRlICJDU1NGdW5jdGlvblZh
bHVlLmNwcCIKICNpbmNsdWRlICJDU1NHcmFkaWVudFZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NH
cm91cGluZ1J1bGUuY3BwIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmNwcCIKICNpbmNsdWRlICJD
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmNwcCIKICNpbmNsdWRlICJDU1NJbWFnZVZhbHVlLmNwcCIK
ICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NIb3N0UnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjg2YmViYzlmM2MxMzVmNjMyODg0YTViMTgzYTZhMjc3NWYxYjMwOTEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuY3BwCkBAIC0w
LDAgKzEsNDggQEAKKy8qKgorICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUu
b3JnKQorICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAq
IENvcHlyaWdodCAoQykgMjAwMiwgMjAwNSwgMjAwNiwgMjAxMiBBcHBsZSBDb21wdXRlciwgSW5j
LgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWluaWcgKHNhbUB3ZWJraXQub3JnKQor
ICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0
ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJy
YXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAq
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBV
UlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBv
ZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
KyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVl
dCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1bGUuaCIKKworI2lmIEVOQUJM
RShTSEFET1dfRE9NKQorCisjaW5jbHVkZSA8d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCitu
YW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU0hvc3RSdWxlOjpDU1NIb3N0UnVsZShTdHlsZVJ1bGVI
b3N0KiBob3N0UnVsZSwgQ1NTU3R5bGVTaGVldCogcGFyZW50KQorICAgIDogQ1NTR3JvdXBpbmdS
dWxlKGhvc3RSdWxlLCBwYXJlbnQpCit7Cit9CisKK1N0cmluZyBDU1NIb3N0UnVsZTo6Y3NzVGV4
dCgpIGNvbnN0Cit7CisgICAgU3RyaW5nQnVpbGRlciByZXN1bHQ7CisgICAgcmVzdWx0LmFwcGVu
ZExpdGVyYWwoIkBob3N0IHsgXG4iKTsKKyAgICBhcHBlbmRDc3NUZXh0Rm9ySXRlbXMocmVzdWx0
KTsKKyAgICByZXN1bHQuYXBwZW5kKCd9Jyk7CisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygp
OworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoU0hBRE9X
X0RPTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODYzYzkzZDBjODVmNGZk
MjE2YTNmMTNlZmZjMWQ5ZjgwNWQxYTg5MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NIb3N0UnVsZS5oCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiAoQykgMTk5OS0y
MDAzIExhcnMgS25vbGwgKGtub2xsQGtkZS5vcmcpCisgKiAoQykgMjAwMi0yMDAzIERpcmsgTXVl
bGxlciAobXVlbGxlckBrZGUub3JnKQorICogQ29weXJpZ2h0IChDKSAyMDAyLCAyMDA2LCAyMDA4
LCAyMDEyIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIENvcHlyaWdodCAoQykg
MjAwNiBTYW11ZWwgV2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBUaGlzIGxpYnJhcnkg
aXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2Rp
ZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwor
ICogTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsg
ZWl0aGVyCisgKiB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikg
YW55IGxhdGVyIHZlcnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGlu
IHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FS
UkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
KyAqIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoK
KyAqIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICog
Qm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCisgKi8KKworI2lmbmRlZiBDU1NIb3N0UnVsZV9o
CisjZGVmaW5lIENTU0hvc3RSdWxlX2gKKworI2luY2x1ZGUgIkNTU0dyb3VwaW5nUnVsZS5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKworY2xhc3Mg
Q1NTSG9zdFJ1bGUgOiBwdWJsaWMgQ1NTR3JvdXBpbmdSdWxlIHsKK3B1YmxpYzoKKyAgICBzdGF0
aWMgUGFzc1JlZlB0cjxDU1NIb3N0UnVsZT4gY3JlYXRlKFN0eWxlUnVsZUhvc3QqIHJ1bGUsIENT
U1N0eWxlU2hlZXQqIHNoZWV0KSB7IHJldHVybiBhZG9wdFJlZihuZXcgQ1NTSG9zdFJ1bGUocnVs
ZSwgc2hlZXQpKTsgfQorCisgICAgdmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5cGUoKSBjb25zdCBP
VkVSUklERSB7IHJldHVybiBDU1NSdWxlOjpIT1NUX1JVTEU7IH0KKyAgICB2aXJ0dWFsIFN0cmlu
ZyBjc3NUZXh0KCkgY29uc3QgT1ZFUlJJREU7CisKK3ByaXZhdGU6CisgICAgQ1NTSG9zdFJ1bGUo
U3R5bGVSdWxlSG9zdCosIENTU1N0eWxlU2hlZXQqKTsKK307CisKKyNlbmRpZiAvLyBFTkFCTEUo
U0hBRE9XX0RPTSkKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYgLy8gQ1NTSG9z
dFJ1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmlkbCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTk1Nzk3OGFh
NDM2ZWU5NWFlZjM3ZWM1YWQyMGYyMDY0YTE0MTNmZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAwNiwgMjAwNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyA8c2FtLndlaW5pZ0BnbWFpbC5jb20+
CisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExp
YnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVl
IFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNl
LCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGli
cmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAor
ICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2Fy
cmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3Ry
ZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisK
Ky8vIEludHJvZHVjZWQgaW4gU2hhZG93IERPTSBzcGVjOgorWworICAgIENvbmRpdGlvbmFsPVNI
QURPV19ET00sCisgICAgVjhFbmFibGVkQXRSdW50aW1lPXNoYWRvd0RPTQorXSBpbnRlcmZhY2Ug
Q1NTSG9zdFJ1bGUgOiBDU1NSdWxlIHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgQ1NTUnVsZUxp
c3QgY3NzUnVsZXM7CisgICAgCisgICAgdW5zaWduZWQgbG9uZyAgICAgIGluc2VydFJ1bGUoaW4g
W09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHJ1bGUsIAorICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRd
IHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24pOworICAg
IHZvaWQgICAgICAgICAgICAgICBkZWxldGVSdWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRl
ZmluZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpCisgICAgICAgIHJhaXNlcyhET01FeGNlcHRpb24p
OworfTsKKwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggMDc1OGU3NGY4MTUwYTk3OTRlYTFjYjgzODEx
MjYxMTE0NGYzMjA2Ny4uMTJmZjVkMDcyMDMxMzc0Zjg4YjU0OTY4MWM1NTI4NWI2YjBjOWM1NSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUnVsZS5oCkBAIC01NCw3ICs1NCwxMCBAQCBwdWJsaWM6CiAgICAgICAgIFdF
QktJVF9WSUVXUE9SVF9SVUxFID0gMTUsCiAjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMp
Ci0gICAgICAgIFdFQktJVF9SRUdJT05fUlVMRSA9IDE2CisgICAgICAgIFdFQktJVF9SRUdJT05f
UlVMRSA9IDE2LAorI2VuZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIEhPU1Rf
UlVMRSA9IDEwMDEsCiAjZW5kaWYKICAgICB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwKaW5kZXgg
YWYxMThmZTcyYjliODA3NGY3ZDYwODJkMDkzZTI3MGNmZjJiMTA2OC4uZDUwNGUwYzBlYWU5ZDgw
ODkzMTUwOTFjZjZjOTJiOWEwODhiZmFjNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbApAQCAtNDMs
NiArNDMsOSBAQAogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19SRUdJT05TKSAmJiBFTkFCTEVfQ1NT
X1JFR0lPTlMKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfUkVHSU9OX1JVTEUgPSAx
NjsKICNlbmRpZgorI2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFE
T1dfRE9NCisgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgSE9TVF9SVUxFID0gMTAwMTsKKyNlbmRp
ZgogCiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIHVuc2lnbmVkIHNob3J0ICAgdHlwZTsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCmluZGV4IDgxNDFiZjljN2U0MjE5N2UxMzRkNDA1
NWY0ZjM2MmVkZjczY2MwODYuLmQ3ZjU5MGFlMzgzZmVjOWVjNWRlMGY1Yjg5MzJlMjFkOTJlZmY0
ODIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTM1LDYgKzM1LDcgQEAK
ICNpbmNsdWRlICJDU1NDdXJzb3JJbWFnZVZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udEZhY2VS
dWxlLmgiCiAjaW5jbHVkZSAiQ1NTRm9udFNlbGVjdG9yLmgiCisjaW5jbHVkZSAiQ1NTSG9zdFJ1
bGUuaCIKICNpbmNsdWRlICJDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTTGluZUJveENv
bnRhaW5WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgpAQCAtMjY0Miw2ICsyNjQz
LDExIEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RDU1NPTVdyYXBwZXJzKEhhc2hNYXA8U3R5bGVSdWxl
KiwgUmVmUHRyPENTU1N0eWxlUnVsZT4gPiYgd3JhCiAgICAgICAgICAgICBjb2xsZWN0Q1NTT01X
cmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oY3Nz
UnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RP
TSkKKyAgICAgICAgY2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6CisgICAgICAgICAgICBjb2xsZWN0
Q1NTT01XcmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxDU1NIb3N0UnVsZSo+KGNzc1J1
bGUpKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6
U1RZTEVfUlVMRToKICAgICAgICAgICAgIHdyYXBwZXJNYXAuYWRkKHN0YXRpY19jYXN0PENTU1N0
eWxlUnVsZSo+KGNzc1J1bGUpLT5zdHlsZVJ1bGUoKSwgc3RhdGljX2Nhc3Q8Q1NTU3R5bGVSdWxl
Kj4oY3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3Bw
CmluZGV4IDQzZTZhNWUxMzc2ODBjYzJkMWM2YWMzMDE5M2RmZTY1NjY2MjMwMjAuLjE0NjMyOGY5
YjQ4MDU3YjZkZmVhMjlhYjZkNGEzZTQ1NTkxZTIxOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
Y3BwCkBAIC0yNCw2ICsyNCw3IEBACiAKICNpbmNsdWRlICJDU1NDaGFyc2V0UnVsZS5oIgogI2lu
Y2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCiAjaW5j
bHVkZSAiQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1
ZGUgIkNTU1BhZ2VSdWxlLmgiCkBAIC04Miw4ICs4Myw4IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6
cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29u
c3QKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcykt
PnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAg
cmV0dXJuOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKLSAgICAgICAg
c3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGNhc2UgSG9zdEludGVybmFsOgor
ICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPnJlcG9ydERl
c2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJuOwog
I2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKQEAgLTEzMCw3ICsxMzEs
NyBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3RhdGlj
X2Nhc3Q8U3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKICNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKLSAgICBjYXNlIEhvc3Q6CisgICAgY2FzZSBIb3N0SW50ZXJuYWw6
CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4odGhpcyk7CiAgICAg
ICAgIHJldHVybjsKICNlbmRpZgpAQCAtMTczLDcgKzE3NCw3IEBAIFBhc3NSZWZQdHI8U3R5bGVS
dWxlQmFzZT4gU3R5bGVSdWxlQmFzZTo6Y29weSgpIGNvbnN0CiAgICAgY2FzZSBLZXlmcmFtZXM6
CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0
aGlzKS0+Y29weSgpOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKKyAg
ICBjYXNlIEhvc3RJbnRlcm5hbDoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0
eWxlUnVsZUhvc3QqPih0aGlzKS0+Y29weSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJ
Q0VfQURBUFRBVElPTikKQEAgLTIyNyw5ICsyMjgsOCBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0
eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVl
dAogICAgICAgICBicmVhazsKICNlbmRpZgogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNh
c2UgSG9zdDoKLSAgICAgICAgLy8gRklYTUU6IFRoZSBjdXJyZW50IENTU09NIGVkaXRvcidzIGRy
YWZ0IChodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8pIGRvZXMgbm90IGhhbmRsZSBAaG9z
dCBydWxlcyAoc2VlIGJ1ZyAxMDIzNDQpLgotICAgICAgICBydWxlID0gYWRvcHRSZWYobmV3IENT
U1Vua25vd25SdWxlKCkpOworICAgIGNhc2UgSG9zdEludGVybmFsOgorICAgICAgICBydWxlID0g
Q1NTSG9zdFJ1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4oc2VsZiksIHBh
cmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIFVua25vd246CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXggNzQ2NGIxZjdmMThlZGM0YTZkOGYyZTExOWJiYTg1MmQ5
Yjg5MmM5Zi4uNDg1ZTc5NGFiNjkxZTE2OTBmZDlhMjViODQ5ZDNmOTA1Y2RkNjdjYiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJ1bGUuaApAQCAtNDYsMTQgKzQ2LDE1IEBAIHB1YmxpYzoKICAgICAgICAgUGFn
ZSwKICAgICAgICAgS2V5ZnJhbWVzLAogICAgICAgICBLZXlmcmFtZSwgLy8gTm90IHVzZWQuIFRo
ZXNlIGFyZSBpbnRlcm5hbGx5IG5vbi1ydWxlIFN0eWxlS2V5ZnJhbWUgb2JqZWN0cy4KLSNpZiBF
TkFCTEUoU0hBRE9XX0RPTSkKLSAgICAgICAgSG9zdCwKLSNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
REVWSUNFX0FEQVBUQVRJT04pCiAgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAjZW5kaWYKLSAgICAg
ICAgUmVnaW9uID0gMTYKKyAgICAgICAgUmVnaW9uID0gMTYsCisjaWYgRU5BQkxFKFNIQURPV19E
T00pCisgICAgICAgIEhvc3RJbnRlcm5hbCA9IDE3LCAvLyBTcGVjIHNheXMgSG9zdCA9IDEwMDEs
IGJ1dCB3ZSBjYW4gdXNlIG9ubHkgNSBiaXQgZm9yIHR5cGUoKS4KKyNlbmRpZgogICAgIH07CisK
ICAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBzdGF0aWNfY2FzdDxUeXBlPihtX3R5cGUp
OyB9CiAgICAgCiAgICAgYm9vbCBpc0NoYXJzZXRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgp
ID09IENoYXJzZXQ7IH0KQEAgLTY4LDcgKzY5LDcgQEAgcHVibGljOgogI2VuZGlmCiAgICAgYm9v
bCBpc0ltcG9ydFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gSW1wb3J0OyB9CiAjaWYg
RU5BQkxFKFNIQURPV19ET00pCi0gICAgYm9vbCBpc0hvc3RSdWxlKCkgY29uc3QgeyByZXR1cm4g
dHlwZSgpID09IEhvc3Q7IH0KKyAgICBib29sIGlzSG9zdFJ1bGUoKSBjb25zdCB7IHJldHVybiB0
eXBlKCkgPT0gSG9zdEludGVybmFsOyB9CiAjZW5kaWYKIAogICAgIFBhc3NSZWZQdHI8U3R5bGVS
dWxlQmFzZT4gY29weSgpIGNvbnN0OwpAQCAtMjQ2LDcgKzI0Nyw3IEBAIHB1YmxpYzoKICAgICBQ
YXNzUmVmUHRyPFN0eWxlUnVsZUhvc3Q+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJlZihu
ZXcgU3R5bGVSdWxlSG9zdCgqdGhpcykpOyB9CiAKIHByaXZhdGU6Ci0gICAgU3R5bGVSdWxlSG9z
dChWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpIDogU3R5bGVSdWxl
QmxvY2soSG9zdCwgYWRvcHRSdWxlcykgeyB9CisgICAgU3R5bGVSdWxlSG9zdChWZWN0b3I8UmVm
UHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpIDogU3R5bGVSdWxlQmxvY2soSG9zdElu
dGVybmFsLCBhZG9wdFJ1bGVzKSB7IH0KICAgICBTdHlsZVJ1bGVIb3N0KGNvbnN0IFN0eWxlUnVs
ZUhvc3QmIG8pIDogU3R5bGVSdWxlQmxvY2sobykgeyB9CiB9OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IGRjNTIxZGYzOWMyYmQ0MzY1NjRm
ZjViYzg4N2QxYTNiMTBiZDdiMWIuLjI0YzZhZGQ2ZmU1YTNkNzBhM2Q2ZTRmNDkyNGM1Y2Y0MWVl
NWQ5ZjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC00
NDQsNyArNDQ0LDcgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVk
U3VicmVzb3VyY2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUKICAgICAgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKICAgICAgICAgICAgIGJyZWFrOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQot
ICAgICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6Okhvc3Q6CisgICAgICAgIGNhc2UgU3R5bGVSdWxl
QmFzZTo6SG9zdEludGVybmFsOgogICAgICAgICAgICAgaWYgKGNoaWxkUnVsZXNIYXZlRmFpbGVk
T3JDYW5jZWxlZFN1YnJlc291cmNlcyhzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4o
cnVsZSktPmNoaWxkUnVsZXMoKSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
ICAgICAgICBicmVhazsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2luZG93LmlkbAppbmRleCBmYzM3YjIwNGQ5
YjgyNzRkNzAwYmJjNjhlNTQwMTRjMmFkNWRkYTBlLi5iYjZlNTFiMGViOTBhODkyZGM0MThlNDlh
ZDAwYTY1MTZmNmY4ZmIxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRv
dy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCkBAIC0zNDgsNiAr
MzQ4LDkgQEAKICAgICBhdHRyaWJ1dGUgQ1NTUnVsZUNvbnN0cnVjdG9yIENTU1J1bGU7CiAgICAg
YXR0cmlidXRlIENTU0NoYXJzZXRSdWxlQ29uc3RydWN0b3IgQ1NTQ2hhcnNldFJ1bGU7CiAgICAg
YXR0cmlidXRlIENTU0ZvbnRGYWNlUnVsZUNvbnN0cnVjdG9yIENTU0ZvbnRGYWNlUnVsZTsKKyNp
ZiBkZWZpbmVkKEVOQUJMRV9TSEFET1dfRE9NKSAmJiBFTkFCTEVfU0hBRE9XX0RPTQorICAgIGF0
dHJpYnV0ZSBDU1NIb3N0UnVsZUNvbnN0cnVjdG9yIENTU0hvc3RSdWxlOworI2VuZGlmCiAgICAg
YXR0cmlidXRlIENTU0ltcG9ydFJ1bGVDb25zdHJ1Y3RvciBDU1NJbXBvcnRSdWxlOwogICAgIGF0
dHJpYnV0ZSBDU1NNZWRpYVJ1bGVDb25zdHJ1Y3RvciBDU1NNZWRpYVJ1bGU7CiAgICAgYXR0cmli
dXRlIENTU1BhZ2VSdWxlQ29uc3RydWN0b3IgQ1NTUGFnZVJ1bGU7CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDY1MTJlNjIx
NWZlNDQ4MDM4ZDhmNGJkMWQwMzE2M2ZhMjg5YzY3ZC4uZDkwNzZiZTAxNjY2M2ZmMTcwMjYyYWYx
YzI3OTNhYmMyOTM4ZDcyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBi
L0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEzLTAxLTExICBUYWth
c2hpIFNha2Ftb3RvICA8dGFzYWtAZ29vZ2xlLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NT
SG9zdFJ1bGUgZm9yIEBob3N0IEAtcnVsZXMuCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMDIzNDQKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4
cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVs
ZS1hcGkuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMTAgIEdyemVnb3J6IEN6YWprb3dza2kgIDxn
LmN6YWprb3dza2lAc2Ftc3VuZy5jb20+CiAKICAgICAgICAgT24gTGludXgsIHNob3VsZCBiZSBh
YmxlIHRvIGdldCBzcGVsbGluZyBzdWdnZXN0aW9ucyB3aXRob3V0IHNlbGVjdGluZyB0aGUgbWlz
c3BlbGxlZCB3b3JkCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3Nz
LWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cv
Y3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjIxOTU2NzdlZGZlOTg3
YjRhNzg2M2MyMDAyYzRmMTUzMjk1ZDhhNAotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBpLWV4cGVjdGVkLnR4dApAQCAtMCwwICsx
LDI5IEBACitUZXN0IHdoZXRoZXIgQ1NTSG9zdFJ1bGUgQVBJIHdvcmtzIGNvcnJlY3RseSBvciBu
b3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2Fn
ZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4KKworCitCZWZvcmUgaW5zZXJ0aW5nIGEg
Ym9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGhv
c3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMCwgMCkiCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVz
Lmxlbmd0aCBpcyAwCitQQVNTIGhvc3RSdWxlLnR5cGUgaXMgMTAwMQorQWZ0ZXIgaW5zZXJ0aW5n
IGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6CitQ
QVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigwLCAxMjgsIDAp
IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFTUyBob3N0UnVsZS5jc3NU
ZXh0IGlzICJAaG9zdCB7IFxuICAjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH1cbn0iCitQ
QVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgIiNob3N0IHsgYm9yZGVyLWNvbG9y
OiBncmVlbjsgfSIKK0FmdGVyIGluc2VydGluZyBhIGJvcmRlciBydWxlIHdpdGggYSB0YWcgc2Vs
ZWN0b3IgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJv
cmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXMubGVu
Z3RoIGlzIDIKK1BBU1MgaG9zdFJ1bGUuY3NzVGV4dCBpcyAiQGhvc3QgeyBcbiAgI2hvc3QgeyBi
b3JkZXItY29sb3I6IGdyZWVuOyB9XG4gIGRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfVxufSIK
K1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCBpcyAiI2hvc3QgeyBib3JkZXItY29s
b3I6IGdyZWVuOyB9IgorUEFTUyBob3N0UnVsZS5jc3NSdWxlc1sxXS5jc3NUZXh0IGlzICJkaXYg
eyBib3JkZXItY29sb3I6IGJsdWU7IH0iCitBZnRlciBkZWxldGluZyB0aGUgYm9yZGVyIHJ1bGUg
d2l0aCBhbiBpZCBzZWxlY3RvciBmcm9tIEBob3N0IEAtcnVsZXM6CitQQVNTIGdldENvbXB1dGVk
U3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigwLCAwLCAyNTUpIgorUEFTUyBob3N0UnVs
ZS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFTUyBob3N0UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7
IFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1cbn0iCitQQVNTIGhvc3RSdWxlLmNzc1J1
bGVzWzBdLmNzc1RleHQgaXMgImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSIKK1BBU1Mgc3Vj
Y2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRtbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
ODE1YzY3Y2Y0MzJjNGU1MDU2MzNhYTFiOGNiNzQyMTUwNzE4OTZkCi0tLSAvZGV2L251bGwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVsZS1hcGkuaHRtbApAQCAt
MCwwICsxLDQ4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxodG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNy
Yz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9q
cy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgorPC9oZWFkPgorPGJvZHk+Cisg
IDxkaXYgaWQ9Imhvc3QiPlRoaXMgZGl2IGlzIGEgc2hhZG93IGhvc3QuPC9kaXY+Cis8L2JvZHk+
Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgd2hldGhlciBDU1NIb3N0UnVsZSBBUEkgd29y
a3MgY29ycmVjdGx5IG9yIG5vdC4iKTsKK3ZhciBob3N0ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5
SWQoJ2hvc3QnKTsKK3ZhciBzaGFkb3dSb290ID0gaG9zdC53ZWJraXRDcmVhdGVTaGFkb3dSb290
KCk7CitzaGFkb3dSb290LmlubmVySFRNTCA9ICc8c3R5bGUgaWQ9InN0eWxlMSI+QGhvc3Qge308
L3N0eWxlPjxkaXY+U2hhZG93IFRleHQ8L2Rpdj4nOworICAKK2RlYnVnKCJCZWZvcmUgaW5zZXJ0
aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOiIpOworc2hvdWxkQmUoImdldENv
bXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAwLCAwKSInKTsKKwordmFy
IHN0eWxlU2hlZXQgPSBzaGFkb3dSb290LmdldEVsZW1lbnRCeUlkKCdzdHlsZTEnKS5zaGVldDsK
K3ZhciBob3N0UnVsZSA9IHN0eWxlU2hlZXQuY3NzUnVsZXNbMF07CitzaG91bGRCZSgiaG9zdFJ1
bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzAnKTsKK3Nob3VsZEJlKCJob3N0UnVsZS50eXBlIiwgJzEw
MDEnKTsKKyAgCitkZWJ1ZygiQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBp
ZCBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6Iik7Citob3N0UnVsZS5pbnNlcnRSdWxlKCIj
aG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iLCBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgp
Oworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigw
LCAxMjgsIDApIicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIsICcxJyk7
CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3QgeyBcXG4gICNob3N0IHsgYm9y
ZGVyLWNvbG9yOiBncmVlbjsgfVxcbn0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXNb
MF0uY3NzVGV4dCIsICciI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IicpOworCitkZWJ1
ZygiQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhIHRhZyBzZWxlY3RvciBpbnRv
IEBob3N0IEAtcnVsZXM6Iik7Citob3N0UnVsZS5pbnNlcnRSdWxlKCJkaXYgeyBib3JkZXItY29s
b3I6IGJsdWU7IH0iLCBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgpOworc2hvdWxkQmUoImdldENv
bXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAxMjgsIDApIicpOworc2hv
dWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIsICcyJyk7CitzaG91bGRCZSgiaG9zdFJ1
bGUuY3NzVGV4dCIsICciQGhvc3QgeyBcXG4gICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsg
fVxcbiAgZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9XFxufSInKTsKK3Nob3VsZEJlKCJob3N0
UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0IiwgJyIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47
IH0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXNbMV0uY3NzVGV4dCIsICciZGl2IHsg
Ym9yZGVyLWNvbG9yOiBibHVlOyB9IicpOworCitkZWJ1ZygiQWZ0ZXIgZGVsZXRpbmcgdGhlIGJv
cmRlciBydWxlIHdpdGggYW4gaWQgc2VsZWN0b3IgZnJvbSBAaG9zdCBALXJ1bGVzOiIpOworaG9z
dFJ1bGUuZGVsZXRlUnVsZSgwKTsKK3Nob3VsZEJlKCJnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJv
cmRlckNvbG9yIiwgJyJyZ2IoMCwgMCwgMjU1KSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NS
dWxlcy5sZW5ndGgiLCAnMScpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1RleHQiLCAnIkBob3N0
IHsgXFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1cXG59IicpOworc2hvdWxkQmUoImhv
c3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQiLCAnImRpdiB7IGJvcmRlci1jb2xvcjogYmx1ZTsg
fSInKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0iLi4vLi4vanMvcmVzb3VyY2VzL2pzLXRl
c3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>183403</attachid>
            <date>2013-01-18 01:51:52 -0800</date>
            <delta_ts>2013-01-18 02:29:37 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-102344-20130118184851.patch</filename>
            <type>text/plain</type>
            <size>37846</size>
            <attacher name="Takashi Sakamoto">tasak</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJDb3JlL0No
YW5nZUxvZwppbmRleCBjY2FiNTFhNTYxYTg4ZWQzMDQ4YWJiM2QwNzcyN2FhZDFhMGJhMWY3Li5m
MjJkYzg3MDQwNjA0MDcxNTZmNzMxYThmZDNjNjQ5NjAxMzAwMWNmIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNzEgQEAKKzIwMTMtMDEtMTEgIFRha2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUu
Y29tPgorCisgICAgICAgIEltcGxlbWVudCBDU1NIb3N0UnVsZSBmb3IgQGhvc3QgQC1ydWxlcy4K
KyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjM0NAor
CisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0cmkgR2xhemtvdi4KKworICAgICAgICBDU1NIb3N0
UnVsZSBpcyBkZWZpbmVkIGluIFNoYWRvdyBET00gc3BlYzoKKyAgICAgICAgaHR0cDovL2R2Y3Mu
dzMub3JnL2hnL3dlYmNvbXBvbmVudHMvcmF3LWZpbGUvdGlwL3NwZWMvc2hhZG93L2luZGV4Lmh0
bWwjY3NzLWhvc3QtcnVsZS1pbnRlcmZhY2UKKyAgICAgICAgVG8gc2VlIG9yIHRvIG1vZGlmeSBA
aG9zdCBALXJ1bGVzIGJ5IHVzaW5nIGluc3BlY3Rvciwgd2UgbmVlZCB0bworICAgICAgICBpbXBs
ZW1lbnQgQ1NTSG9zdFJ1bGUgaW50ZXJmYWNlLgorCisgICAgICAgIFRlc3Q6IGZhc3QvZG9tL3No
YWRvdy9jc3MtaG9zdHJ1bGUtYXBpLmh0bWwKKworICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNw
cDoKKyAgICAgICAgTW9kaWZpZWQgdG8gaW5jbHVkZSBKU0NTU0hvc3RSdWxlLmNwcC4KKyAgICAg
ICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAg
ICAgICAqIERlcml2ZWRTb3VyY2VzLnByaToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFt
OgorICAgICAgICAqIFRhcmdldC5wcmk6CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAgICAg
ICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgQWRkZWQgQ1NTSG9zdFJ1bGUuY3BwLCBD
U1NIb3N0UnVsZS5oLCBhbmQgQ1NTSG9zdFJ1bGUuaWRsLgorICAgICAgICAqIGJpbmRpbmdzL2pz
L0pTQ1NTUnVsZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAg
QWRkIGEgbmV3IGNhc2UgdGhhdCB0aGUgZ2l2ZW4gcnVsZSBpcyBAaG9zdCBALXJ1bGVzIHRvIHN1
cHBvcnQgQGhvc3QKKyAgICAgICAgQC1ydWxlcy4KKyAgICAgICAgKiBiaW5kaW5ncy9vYmpjL0RP
TUNTUy5tbToKKyAgICAgICAgKGtpdENsYXNzKToKKyAgICAgICAgQWRkIGEgbmV3IGNhc2UgdGhh
dCB0aGUgZ2l2ZW4gcnVsZSBpcyBAaG9zdCBALXJ1bGVzIHRvIHN1cHBvcnQgQGhvc3QKKyAgICAg
ICAgQC1ydWxlcy4KKyAgICAgICAgKiBiaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9t
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OndyYXApOgorICAgICAgICAqIGNzcy9DU1NBbGxJbk9u
ZS5jcHA6CisgICAgICAgICogY3NzL0NTU0hvc3RSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJDb3JlKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU0hvc3RSdWxlOjpDU1NIb3N0UnVsZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3NzVGV4dCk6CisgICAgICAgICogY3NzL0NT
U0hvc3RSdWxlLmg6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZSk6CisgICAgICAgIChDU1NIb3N0
UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NIb3N0UnVsZTo6Y3JlYXRlKToKKyAgICAgICAg
SW1wbGVtZW50ZWQgY2xhc3MgQ1NTSG9zdFJ1bGUgd2hpY2ggaW5oZXJpdHMgQ1NTR3JvdXBpbmdS
dWxlLgorICAgICAgICBTaW5jZSBDU1NIb3N0UnVsZSBoYXMgdGhlIHNhbWUgaW50ZXJmYWNlIGFz
IENTU0dyb3VwaW5nUnVsZSwgaXQgaXMKKyAgICAgICAgcmVxdWlyZWQgdG8gaW1wbGVtZW50IGl0
cyBjb25zdHJ1Y3RvciBhbmQgdG8gb3ZlcnJpZGUgb25seSB0eXBlCisgICAgICAgIG1ldGhvZCBh
bmQgY3NzVGV4dCBtZXRob2QuCisgICAgICAgICogY3NzL0NTU0hvc3RSdWxlLmlkbDogQWRkZWQu
CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5pZGw6Cisg
ICAgICAgIEFkZGVkIGludGVybmFsIEhPU1RfUlVMRSB0eXBlIG51bWJlci4KKyAgICAgICAgKiBj
c3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFw
cGVycyk6CisgICAgICAgICogY3NzL1N0eWxlUnVsZS5jcHA6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJ1bGVCYXNlOjpyZXBvcnRNZW1vcnlVc2FnZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHls
ZVJ1bGVCYXNlOjpkZXN0cm95KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNv
cHkpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVy
KToKKyAgICAgICAgTW9kaWZpZWQgdG8gaGFuZGxlIFN0eWxlUnVsZUhvc3QuCisgICAgICAgICog
Y3NzL1N0eWxlUnVsZS5oOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6aXNIb3N0
UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVIb3N0OjpTdHlsZVJ1bGVIb3N0KToK
KyAgICAgICAgKiBjc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6
OmNoaWxkUnVsZXNIYXZlRmFpbGVkT3JDYW5jZWxlZFN1YnJlc291cmNlcyk6CisgICAgICAgICog
cGFnZS9ET01XaW5kb3cuaWRsOgorICAgICAgICBBZGRlZCBDU1NIb3N0UnVsZSBjb25zdHJ1Y3Rv
ci4KKwogMjAxMy0wMS0xNyAgSm9hbm1hcmllIERpZ2dzICA8amRpZ2dzQGlnYWxpYS5jb20+CiAK
ICAgICAgICAgUkVHUkVTU0lPTiAocjEzOTQ0NCk6IENyYXNoZXMgaW4gdGhyZWUgYWNjZXNzaWJp
bGl0eSB0ZXN0cyBvbiBHVEsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggN2Y2ZWE4NTQzOGZjZGMx
Y2Y3MjQ2M2ZhNDYxNWJmMDMxNmRkN2RkZS4uYmU1Y2NkZDU3ZmM4YjIyYWNkZTg5M2E3ZWVmZjRh
ODNlNjUyNTcyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMxMiw2ICszMTIsNyBAQCBzZXQo
V2ViQ29yZV9JRExfRklMRVMKICAgICBjc3MvQ291bnRlci5pZGwKICAgICBjc3MvQ1NTQ2hhcnNl
dFJ1bGUuaWRsCiAgICAgY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwKKyAgICBjc3MvQ1NTSG9zdFJ1
bGUuaWRsCiAgICAgY3NzL0NTU0ltcG9ydFJ1bGUuaWRsCiAgICAgY3NzL0NTU01lZGlhUnVsZS5p
ZGwKICAgICBjc3MvQ1NTUGFnZVJ1bGUuaWRsCkBAIC0xMDMzLDYgKzEwMzQsNyBAQCBzZXQoV2Vi
Q29yZV9TT1VSQ0VTCiAgICAgY3NzL0NTU0Z1bmN0aW9uVmFsdWUuY3BwCiAgICAgY3NzL0NTU0dy
YWRpZW50VmFsdWUuY3BwCiAgICAgY3NzL0NTU0dyb3VwaW5nUnVsZS5jcHAKKyAgICBjc3MvQ1NT
SG9zdFJ1bGUuY3BwCiAgICAgY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuY3BwCiAgICAgY3Nz
L0NTU0ltYWdlU2V0VmFsdWUuY3BwCiAgICAgY3NzL0NTU0ltYWdlVmFsdWUuY3BwCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5jcHAKaW5kZXggMGZjMTQ0NDc5ODJlZDYyZGExNjczNDU0YjI2ZjllYzY1
MjFjNmM5My4uM2IxMTdmYTg0YzIyNzc5MGQ0YmFhNzljMzhiNjVlNDgyODBmNGExZiAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNTUsNiArNTUsNyBAQAogI2luY2x1ZGUgIkpTQ3J5
cHRvLmNwcCIKICNpbmNsdWRlICJKU0NTU0NoYXJzZXRSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NT
U0ZvbnRGYWNlUnVsZS5jcHAiCisjaW5jbHVkZSAiSlNDU1NIb3N0UnVsZS5jcHAiCiAjaW5jbHVk
ZSAiSlNDU1NJbXBvcnRSdWxlLmNwcCIKICNpbmNsdWRlICJKU0NTU01lZGlhUnVsZS5jcHAiCiAj
aW5jbHVkZSAiSlNDU1NQYWdlUnVsZS5jcHAiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCA1Mjk1ZDcyODcyNjJhMWZlN2ViMzA1Y2EzMDE4MTE5MjliYWE0NzJiLi4zN2YwYjY5MDEx
ZGQ1NjI5MGM2ZmI3ZjQxODNmNmU5MWJjNTkwNzViIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTE3NSw2ICsxNzUsNyBAQCBCSU5ESU5HX0lETFMgPSBcCiAgICAgJChXZWJDb3Jl
KS9Nb2R1bGVzL3dlYnNvY2tldHMvV29ya2VyQ29udGV4dFdlYlNvY2tldC5pZGwgXAogICAgICQo
V2ViQ29yZSkvY3NzL0NTU0NoYXJzZXRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NT
Rm9udEZhY2VSdWxlLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwK
ICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NJbXBvcnRSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9j
c3MvQ1NTTWVkaWFSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTUGFnZVJ1bGUuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBhOGI2YzJhZDEyZDU2ZDIwMTAzNGQx
MTc5ODBmZjFjMDQ2M2UxYmYxLi5lNzIxZDdmYzgwMDExZTRiOTAwYjY4ZmQ2NTQ2NmRjOGY5MTY2
NTM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xODksNiArMTg5LDcgQEAgSURM
X0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9jc3MvQ291bnRlci5pZGwgXAogICAgICQkUFdEL2Nz
cy9DU1NDaGFyc2V0UnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NGb250RmFjZVJ1bGUuaWRs
IFwKKyAgICAkJFBXRC9jc3MvQ1NTSG9zdFJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTSW1w
b3J0UnVsZS5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NNZWRpYVJ1bGUuaWRsIFwKICAgICAkJFBX
RC9jc3MvQ1NTUGFnZVJ1bGUuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmxpc3QuYW0gYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCmluZGV4
IDJiYjA1ZjMxMmVjMjY2OTBiNGU1NzI1NTM1NmQyMTI2NWIyYjAxNmEuLjY4Y2E0NGVmNDE3MjY0
MDc5YjkxZjYzNjQ0ZGYzYmVmZGM3NzQxNWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KKysrIGIvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5h
bQpAQCAtMTE1LDYgKzExNSw4IEBAIHdlYmNvcmVfYnVpbHRfc291cmNlcyArPSBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU0NoYXJzZXRSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuY3BwIFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTRm9udEZhY2VSdWxlLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVs
ZS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oIFwKIAlEZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAgXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NJbXBvcnRSdWxlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NNZWRpYVJ1bGUuY3BwIFwKQEAgLTEzMjIsNiArMTMyNCw3IEBAIGRvbV9iaW5kaW5nX2lkbHMg
Kz0gXAogCSQoV2ViQ29yZSkvTW9kdWxlcy93ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJTb2Nr
ZXQuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NDaGFyc2V0UnVsZS5pZGwgXAogCSQoV2ViQ29y
ZSkvY3NzL0NTU0ZvbnRGYWNlUnVsZS5pZGwgXAorCSQoV2ViQ29yZSkvY3NzL0NTU0hvc3RSdWxl
LmlkbCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTSW1wb3J0UnVsZS5pZGwgXAogCSQoV2ViQ29yZSkv
Y3NzL0NTU01lZGlhUnVsZS5pZGwgXAogCSQoV2ViQ29yZSkvY3NzL0NTU1BhZ2VSdWxlLmlkbCBc
CkBAIC0yNTQ1LDYgKzI1NDgsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NHcm91cGluZ1J1bGUuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3Jv
dXBpbmdSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIZWxwZXIuaCBcCisJU291cmNl
L1dlYkNvcmUvY3NzL0NTU0hvc3RSdWxlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU0hv
c3RSdWxlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NJbWFnZUdlbmVyYXRvclZhbHVlLmNw
cCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlR2VuZXJhdG9yVmFsdWUuaCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL0NTU0ltYWdlU2V0VmFsdWUuY3BwIFwKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL1RhcmdldC5wcmkgYi9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCmluZGV4IDFm
ZWUzMmEyOGZlYmFlMWQ2MzQ4ODBmZGM3ZGIxZmViODJjMTY4NDcuLmNlZjZkNjkyNDA4YzI3NWI1
YzQwOTFmMjhiNDExZDE5YzVhMTIxY2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1Rhcmdl
dC5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQpAQCAtMjY0LDYgKzI2NCw3IEBA
IFNPVVJDRVMgKz0gXAogICAgIGNzcy9DU1NGdW5jdGlvblZhbHVlLmNwcCBcCiAgICAgY3NzL0NT
U0dyYWRpZW50VmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTR3JvdXBpbmdSdWxlLmNwcCBcCisgICAg
Y3NzL0NTU0hvc3RSdWxlLmNwcCBcCiAgICAgY3NzL0NTU0ltYWdlVmFsdWUuY3BwIFwKICAgICBj
c3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAgXAogICAgIGNzcy9DU1NJbWFnZVNldFZhbHVl
LmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLmd5cGkKaW5kZXggYTAzNGY1ZDAwOThjMTRkOTRkZWQ0YzJjNzMwZjhk
MWJlMzFjZTRhNC4uNDQ2MzUxYmNiNmQ3OTcyYzlmZjQyNGMxYjc4NTc1MmM5NDIzN2YxOCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUuZ3lwaQpAQCAtMTYwLDYgKzE2MCw3IEBACiAgICAgICAgICAgICAnTW9kdWxlcy93
ZWJzb2NrZXRzL1dvcmtlckNvbnRleHRXZWJTb2NrZXQuaWRsJywKICAgICAgICAgICAgICdjc3Mv
Q1NTQ2hhcnNldFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTRm9udEZhY2VSdWxlLmlk
bCcsCisgICAgICAgICAgICAnY3NzL0NTU0hvc3RSdWxlLmlkbCcsCiAgICAgICAgICAgICAnY3Nz
L0NTU0ltcG9ydFJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTTWVkaWFSdWxlLmlkbCcs
CiAgICAgICAgICAgICAnY3NzL0NTU1BhZ2VSdWxlLmlkbCcsCkBAIC0xNDY4LDYgKzE0NjksOCBA
QAogICAgICAgICAgICAgJ2Nzcy9DU1NHcmFkaWVudFZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NHcm91cGluZ1J1bGUuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTR3JvdXBpbmdSdWxl
LmgnLAorICAgICAgICAgICAgJ2Nzcy9DU1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAgJ2Nz
cy9DU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1
ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NJbWFnZVNldFZhbHVlLmNwcCcsCiAgICAgICAg
ICAgICAnY3NzL0NTU0ltYWdlVmFsdWUuY3BwJywKQEAgLTU1NzcsNiArNTU4MCw4IEBACiAgICAg
ICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NDaGFy
c2V0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvRE9NQ1NTRm9udEZhY2VSdWxlLm1tJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0ZvbnRGYWNlUnVsZUludGVy
bmFsLmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvRE9NQ1NTSG9zdFJ1bGUubW0nLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTSG9zdFJ1bGVJbnRlcm5hbC5oJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU0ltcG9ydFJ1bGUu
bW0nLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
RE9NQ1NTSW1wb3J0UnVsZUludGVybmFsLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NTTWVkaWFSdWxlLm1tJywKQEAgLTYxMzksNiAr
NjE0NCw4IEBACiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU0NoYXJzZXRSdWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rl
cml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NGb250RmFjZVJ1bGUuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTRm9udEZhY2VSdWxl
LmgnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNDU1NIb3N0UnVsZS5jcHAnLAorICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNDU1NIb3N0UnVsZS5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1Rf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTSW1wb3J0UnVsZS5jcHAnLAogICAgICAg
ICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NJbXBvcnRS
dWxlLmgnLAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNv
cmUvSlNDU1NNZWRpYVJ1bGUuY3BwJywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUudmNwcm9qL1dlYkNvcmUudmNwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ov
V2ViQ29yZS52Y3Byb2oKaW5kZXggNzJjODkzODc0ODcxMzA4MGM0YjQwMjM3NDgyYmFiM2EyMjQx
ZDJlNy4uYmExMGJlZGEwMTM5Yjc4YzBhNTdlMmE5ODM5ZDI1OGU1MGUwYTYyYSAxMDA3NTUKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS52Y3Byb2ovV2ViQ29yZS52Y3Byb2oKQEAgLTE4NTgsNiArMTg1
OCw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIk
KENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVjdE5hbWUpXERlcml2ZWRTb3VyY2Vz
XEpTQ1NTSG9zdFJ1bGUuY3BwIgorCQkJCT4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWd8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+
CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJ
CTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9
IlJlbGVhc2V8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJ
CQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwv
RmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRl
YnVnX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iUmVsZWFzZV9DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IkRlYnVnX0FsbHxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRp
b24KKwkJCQkJTmFtZT0iUHJvZHVjdGlvbnxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9
InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wi
CisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCTwvRmlsZT4KKwkJCTxGaWxl
CisJCQkJUmVsYXRpdmVQYXRoPSIkKENvbmZpZ3VyYXRpb25CdWlsZERpcilcb2JqXCQoUHJvamVj
dE5hbWUpXERlcml2ZWRTb3VyY2VzXEpTQ1NTSG9zdFJ1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+
CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9i
alwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU0ltcG9ydFJ1bGUuY3BwIgogCQkJ
CT4KIAkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KQEAgLTM2MzE4LDYgKzM2Mzc0LDYyIEBACiAJCQkJ
PgogCQkJPC9GaWxlPgogCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9Ii4uXGNzc1xDU1NIb3N0
UnVsZS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1
Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRv
b2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29u
ZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxX
aW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wK
KwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmln
dXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9f
Q0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJ
CQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0Zp
bGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxl
YXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlO
YW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJ
CQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4K
KwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxh
dGl2ZVBhdGg9Ii4uXGNzc1xDU1NIb3N0UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxG
aWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAi
CiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGM2YzJjYjljM2MzNWI3YTRlMmI4
ZWFlYTcyYjljNTQwYzE5NzQ4ZmQuLjg4ZDU2YjJjMjEyNzBmNmQxZjA1ZWQ5ZWJmNDZkYjBlZDUy
MGM2NWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKQEAgLTY0NjEsNiArNjQ2MSw4IEBACiAJCUZBQkU3MkZFMTA1OUMyMTEwMEQ5OTlE
RCAvKiBNYXRoTUxOYW1lcy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBGQUJFNzJGQzEwNTlDMjExMDBEOTk5REQgLyogTWF0aE1MTmFtZXMuY3BwICov
OyB9OwogCQlGQjJDMTVDMzE2NUQ2NDlEMDAzOUM5RjggLyogQ2FjaGVkU1ZHRG9jdW1lbnRSZWZl
cmVuY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZC
MkMxNUMyMTY1RDY0OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZCMzA1NkMy
MTY5RTVEQUMwMDk2QTIzMiAvKiBDU1NHcm91cGluZ1J1bGUuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCMzA1NkMxMTY5RTVEQUMwMDk2QTIzMiAvKiBD
U1NHcm91cGluZ1J1bGUuaCAqLzsgfTsKKwkJRkI0OUMzOUExNjc4NDkzMjAwN0ZGQjVEIC8qIENT
U0hvc3RSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IEZCNDlDMzk5MTY3ODQ5MzIwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5jcHAgKi87IH07CisJ
CUZCNDlDMzlEMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI0OUMzOUMxNjc4NDk0NzAwN0ZGQjVE
IC8qIENTU0hvc3RSdWxlLmggKi87IH07CiAJCUZCNzhBRDJFMTUxQkY1RTYwMEZFNTREMyAvKiBD
U1NQYXJzZXJNb2RlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBGQjc4QUQyQzE1MUJGNUQyMDBGRTU0RDMgLyogQ1NTUGFyc2VyTW9kZS5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUZCOTJERjRCMTVGRUQw
ODcwMDk5NDQzMyAvKiBDbGlwUGF0aE9wZXJhdGlvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkI5MkRGNDkxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQ
YXRoT3BlcmF0aW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsg
fTsgfTsKIAkJRkJDMjIwREYxMjM3RkJFQjAwQkNGNzg4IC8qIEdyYXBoaWNzQ29udGV4dDNET3Bl
bkdMLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZC
QzIyMERFMTIzN0ZCRUIwMEJDRjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi87
IH07CkBAIC0xNDA4MCw2ICsxNDA4Miw5IEBACiAJCUZBQkU3MkZDMTA1OUMyMTEwMEQ5OTlERCAv
KiBNYXRoTUxOYW1lcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBN
YXRoTUxOYW1lcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCMkMxNUMyMTY1
RDY0OTAwMDM5QzlGOCAvKiBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBDYWNoZWRTVkdEb2N1bWVudFJlZmVyZW5jZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQjMwNTZDMTE2OUU1REFDMDA5NkEyMzIgLyogQ1NT
R3JvdXBpbmdSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0dyb3Vw
aW5nUnVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQjQ5QzM5OTE2Nzg0OTMy
MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ1NTSG9zdFJ1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlG
QjQ5QzM5QzE2Nzg0OTQ3MDA3RkZCNUQgLyogQ1NTSG9zdFJ1bGUuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gQ1NTSG9zdFJ1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJRkI0OUMzOUUxNjc4NDk1NDAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmlkbCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHRleHQ7IHBhdGggPSBDU1NIb3N0UnVsZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUZCNzhBRDJDMTUxQkY1RDIwMEZFNTREMyAvKiBDU1NQYXJzZXJNb2RlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU1BhcnNlck1vZGUuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkI5MkRGNDkxNUZFRDA4NzAwOTk0NDMzIC8qIENsaXBQYXRoT3Bl
cmF0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENsaXBQYXRoT3BlcmF0
aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUZCQzIyMERFMTIzN0ZCRUIwMEJD
Rjc4OCAvKiBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBHcmFwaGljc0NvbnRleHQzRE9wZW5HTC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0yMTY3MSw2ICsyMTY3Niw5IEBACiAJCQkJRkJGODkwNDQxNjlF
OUYxRjAwNTJEODZFIC8qIENTU0dyb3VwaW5nUnVsZS5jcHAgKi8sCiAJCQkJRkIzMDU2QzExNjlF
NURBQzAwOTZBMjMyIC8qIENTU0dyb3VwaW5nUnVsZS5oICovLAogCQkJCUJDNzcyQjM2MEM0RUE5
MUUwMDgzMjg1RiAvKiBDU1NIZWxwZXIuaCAqLywKKwkJCQlGQjQ5QzM5OTE2Nzg0OTMyMDA3RkZC
NUQgLyogQ1NTSG9zdFJ1bGUuY3BwICovLAorCQkJCUZCNDlDMzlDMTY3ODQ5NDcwMDdGRkI1RCAv
KiBDU1NIb3N0UnVsZS5oICovLAorCQkJCUZCNDlDMzlFMTY3ODQ5NTQwMDdGRkI1RCAvKiBDU1NI
b3N0UnVsZS5pZGwgKi8sCiAJCQkJQkMyM0U3NkIwREFFODhBOTAwOUZEQzkxIC8qIENTU0ltYWdl
R2VuZXJhdG9yVmFsdWUuY3BwICovLAogCQkJCUJDMjNFRTkxMERBRUQyQkMwMDlGREM5MSAvKiBD
U1NJbWFnZUdlbmVyYXRvclZhbHVlLmggKi8sCiAJCQkJOTM5M0U1RkQxNTFBOTlGMjAwMDY2RjA2
IC8qIENTU0ltYWdlU2V0VmFsdWUuY3BwICovLApAQCAtMjYyNTMsNiArMjYyNjEsNyBAQAogCQkJ
CUUxQkU1MTJFMENGNkM1MTIwMDJFQTk1OSAvKiBYU0xUVW5pY29kZVNvcnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTk3N0UyRTBGMTJGMEZDOUMwMEMxMzM3OSAvKiBYU1NBdWRpdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlGRDUzNzM1MzEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUZCNDlDMzlEMTY3ODQ5NDcwMDdGRkI1RCAvKiBDU1NIb3N0UnVsZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vz
c2luZyA9IDA7CiAJCX07CkBAIC0yOTQwMSw2ICsyOTQxMCw3IEBACiAJCQkJRTFCRTUxMkQwQ0Y2
QzUxMjAwMkVBOTU5IC8qIFhTTFRVbmljb2RlU29ydC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
NzdFMkUwRTEyRjBGQzlDMDBDMTMzNzkgLyogWFNTQXVkaXRvci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlGRDUzNzM1MjEzN0I2NTE4MDAwMDhEQ0UgLyogWmVyb1BvbGUuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJRkI0OUMzOUExNjc4NDkzMjAwN0ZGQjVEIC8qIENTU0hvc3RSdWxlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3Npbmcg
PSAwOwogCQl9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NS
dWxlQ3VzdG9tLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3Rv
bS5jcHAKaW5kZXggMGQ2N2QxMmEwMzNjN2U2YjU3MTViYTFkOGYxNzI3MTkzZWYxMjBiNS4uZDBm
MzYzMzMxOGM4ZGRhODVlYTQ4ZmNhNjBhYWFmNGQ2NzU3YWQyYSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCkBAIC0zNSw2ICszNSw3IEBACiAj
aW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NDaGFyc2V0UnVsZS5o
IgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgiCisjaW5jbHVkZSAiSlNDU1NIb3N0UnVs
ZS5oIgogI2luY2x1ZGUgIkpTQ1NTSW1wb3J0UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTTWVkaWFS
dWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NQYWdlUnVsZS5oIgpAQCAtMTEzLDYgKzExNCwxMSBAQCBK
U1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2Jq
ZWN0LCBDU1NSdWxlKiBydWxlKQogICAgICAgICAgICAgd3JhcHBlciA9IENSRUFURV9ET01fV1JB
UFBFUihleGVjLCBnbG9iYWxPYmplY3QsIFdlYktpdENTU1JlZ2lvblJ1bGUsIHJ1bGUpOwogICAg
ICAgICAgICAgYnJlYWs7CiAjZW5kaWYKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKyAgICAgICAg
Y2FzZSBDU1NSdWxlOjpIT1NUX1JVTEU6CisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RP
TV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVjdCwgQ1NTSG9zdFJ1bGUsIHJ1bGUpOworICAgICAg
ICAgICAgYnJlYWs7CisjZW5kaWYKICAgICAgICAgZGVmYXVsdDoKICAgICAgICAgICAgIHdyYXBw
ZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBDU1NSdWxlLCBydWxl
KTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbSBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NTLm1tCmluZGV4IDY1OTE0
YmEwYTg4ZDIyOGJjZTNlN2VkYjNjNDY2ZWEwMzZiYzc5NTUuLmI2NGQyMmU5NjM4NWJmZTQzNjZm
MzdkODlmNGNmNjVkNTdlYzA5ZmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L29iamMvRE9NQ1NTLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL29iamMvRE9NQ1NT
Lm1tCkBAIC02OCw2ICs2OCwxMCBAQAogI2ltcG9ydCAiRE9NU1ZHUGFpbnQuaCIKICNlbmRpZgog
CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisjaW1wb3J0ICJET01DU1NIb3N0UnVsZS5oIgorI2Vu
ZGlmCisKIC8vLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t
LS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiAvLyBET01TdHlsZVNo
ZWV0CiAKQEAgLTExNCw2ICsxMTgsMTAgQEAgQ2xhc3Mga2l0Q2xhc3MoV2ViQ29yZTo6Q1NTUnVs
ZSogaW1wbCkKICAgICAgICAgY2FzZSBET01fV0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICAg
ICAgcmV0dXJuIFtET01XZWJLaXRDU1NSZWdpb25SdWxlIGNsYXNzXTsKICNlbmRpZgorI2lmIEVO
QUJMRShTSEFET1dfRE9NKQorICAgICAgICBjYXNlIERPTV9IT1NUX1JVTEU6CisgICAgICAgICAg
ICByZXR1cm4gW0RPTUNTU0hvc3RSdWxlIGNsYXNzXTsKKyNlbmRpZgogICAgIH0KICAgICBBU1NF
UlRfTk9UX1JFQUNIRUQoKTsKICAgICByZXR1cm4gbmlsOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcAppbmRleCA2YmY2ZWVj
Nzc0YTgwNDlkODRkZDBlMjU0MmU4NmJiNWE2NDA1OGE5Li5hMGJhNjdkNjViZWQ2Mzk2MjBkNzI3
ZDY1M2NlZTEzZjU4Y2YwOTc1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92
OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcApAQCAtMzMsNiArMzMsNyBAQAogCiAjaW5j
bHVkZSAiVjhDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTRm9udEZhY2VSdWxlLmgi
CisjaW5jbHVkZSAiVjhDU1NIb3N0UnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTSW1wb3J0UnVsZS5o
IgogI2luY2x1ZGUgIlY4Q1NTTWVkaWFSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NQYWdlUnVsZS5o
IgpAQCAtODUsNiArODYsMTAgQEAgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiB3cmFwKENTU1J1bGUq
IGltcGwsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3JlYXRpb25Db250ZXgKICNlbmRpZgogICAg
IGNhc2UgQ1NTUnVsZTo6V0VCS0lUX1JFR0lPTl9SVUxFOgogICAgICAgICByZXR1cm4gd3JhcChz
dGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oaW1wbCksIGNyZWF0aW9uQ29udGV4dCwg
aXNvbGF0ZSk7CisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgY2FzZSBDU1NSdWxlOjpIT1NU
X1JVTEU6CisgICAgICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PENTU0hvc3RSdWxlKj4oaW1w
bCksIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CisjZW5kaWYKICAgICB9CiAgICAgcmV0dXJu
IFY4Q1NTUnVsZTo6Y3JlYXRlV3JhcHBlcihpbXBsLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUp
OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NBbGxJbk9uZS5jcHAKaW5kZXggYjA2YTY4ZDkxMTE4NDVjYjIx
NjA0OGJmY2NiYmFkNDE4Nzc5ZmE4Yy4uODY0NmRmNjY4MTMwMDI3ZDVlMTUzZTg3N2MyZDUxOWUz
NzBlZGVmYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU0FsbEluT25lLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTQWxsSW5PbmUuY3BwCkBAIC00Miw2ICs0Miw3IEBA
CiAjaW5jbHVkZSAiQ1NTRnVuY3Rpb25WYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTR3JhZGllbnRW
YWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTR3JvdXBpbmdSdWxlLmNwcCIKKyNpbmNsdWRlICJDU1NI
b3N0UnVsZS5jcHAiCiAjaW5jbHVkZSAiQ1NTSW1hZ2VHZW5lcmF0b3JWYWx1ZS5jcHAiCiAjaW5j
bHVkZSAiQ1NTSW1hZ2VWYWx1ZS5jcHAiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5jcHAiCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU0hvc3RSdWxlLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44NmJlYmM5ZjNjMTM1ZjYzMjg4
NGE1YjE4M2E2YTI3NzVmMWIzMDkxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0hvc3RSdWxlLmNwcApAQCAtMCwwICsxLDQ4IEBACisvKioKKyAqIChDKSAxOTk5LTIw
MDMgTGFycyBLbm9sbCAoa25vbGxAa2RlLm9yZykKKyAqIChDKSAyMDAyLTIwMDMgRGlyayBNdWVs
bGVyIChtdWVsbGVyQGtkZS5vcmcpCisgKiBDb3B5cmlnaHQgKEMpIDIwMDIsIDIwMDUsIDIwMDYs
IDIwMTIgQXBwbGUgQ29tcHV0ZXIsIEluYy4KKyAqIENvcHlyaWdodCAoQykgMjAwNiBTYW11ZWwg
V2VpbmlnIChzYW1Ad2Via2l0Lm9yZykKKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNT
U0hvc3RSdWxlLmgiCisKKyNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKKworI2luY2x1ZGUgPHd0Zi90
ZXh0L1N0cmluZ0J1aWxkZXIuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NIb3N0UnVs
ZTo6Q1NTSG9zdFJ1bGUoU3R5bGVSdWxlSG9zdCogaG9zdFJ1bGUsIENTU1N0eWxlU2hlZXQqIHBh
cmVudCkKKyAgICA6IENTU0dyb3VwaW5nUnVsZShob3N0UnVsZSwgcGFyZW50KQoreworfQorCitT
dHJpbmcgQ1NTSG9zdFJ1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxkZXIg
cmVzdWx0OworICAgIHJlc3VsdC5hcHBlbmRMaXRlcmFsKCJAaG9zdCB7IFxuIik7CisgICAgYXBw
ZW5kQ3NzVGV4dEZvckl0ZW1zKHJlc3VsdCk7CisgICAgcmVzdWx0LmFwcGVuZCgnfScpOworICAg
IHJldHVybiByZXN1bHQudG9TdHJpbmcoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQor
CisjZW5kaWYgLy8gRU5BQkxFKFNIQURPV19ET00pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTSG9zdFJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NIb3N0UnVsZS5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjg2M2M5M2QwYzg1ZjRmZDIxNmEzZjEzZWZmYzFkOWY4MDVkMWE4OTAKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaApAQCAtMCwwICsx
LDQ3IEBACisvKgorICogKEMpIDE5OTktMjAwMyBMYXJzIEtub2xsIChrbm9sbEBrZGUub3JnKQor
ICogKEMpIDIwMDItMjAwMyBEaXJrIE11ZWxsZXIgKG11ZWxsZXJAa2RlLm9yZykKKyAqIENvcHly
aWdodCAoQykgMjAwMiwgMjAwNiwgMjAwOCwgMjAxMiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYgU2FtdWVsIFdlaW5pZyAoc2FtQHdlYmtpdC5v
cmcpCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0
cmlidXRlIGl0IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05V
IExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBG
cmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMg
bGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVs
LAorICogYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UgZm9yIG1vcmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBj
b3B5IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bworICogdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4g
U3RyZWV0LCBGaWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICov
CisKKyNpZm5kZWYgQ1NTSG9zdFJ1bGVfaAorI2RlZmluZSBDU1NIb3N0UnVsZV9oCisKKyNpbmNs
dWRlICJDU1NHcm91cGluZ1J1bGUuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCisjaWYgRU5B
QkxFKFNIQURPV19ET00pCisKK2NsYXNzIENTU0hvc3RSdWxlIDogcHVibGljIENTU0dyb3VwaW5n
UnVsZSB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8Q1NTSG9zdFJ1bGU+IGNyZWF0
ZShTdHlsZVJ1bGVIb3N0KiBydWxlLCBDU1NTdHlsZVNoZWV0KiBzaGVldCkgeyByZXR1cm4gYWRv
cHRSZWYobmV3IENTU0hvc3RSdWxlKHJ1bGUsIHNoZWV0KSk7IH0KKworICAgIHZpcnR1YWwgQ1NT
UnVsZTo6VHlwZSB0eXBlKCkgY29uc3QgT1ZFUlJJREUgeyByZXR1cm4gQ1NTUnVsZTo6SE9TVF9S
VUxFOyB9CisgICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IE9WRVJSSURFOworCitw
cml2YXRlOgorICAgIENTU0hvc3RSdWxlKFN0eWxlUnVsZUhvc3QqLCBDU1NTdHlsZVNoZWV0Kik7
Cit9OworCisjZW5kaWYgLy8gRU5BQkxFKFNIQURPV19ET00pCisKK30gLy8gbmFtZXNwYWNlIFdl
YkNvcmUKKworI2VuZGlmIC8vIENTU0hvc3RSdWxlX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NIb3N0UnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUu
aWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjk5NTc5NzhhYTQzNmVlOTVhZWYzN2VjNWFkMjBmMjA2NGExNDEzZmUK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTSG9zdFJ1bGUuaWRsCkBA
IC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMDYsIDIwMDcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogQ29weXJpZ2h0IChDKSAyMDA2IFNhbXVlbCBXZWlu
aWcgPHNhbS53ZWluaWdAZ21haWwuY29tPgorICoKKyAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRl
ciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCisgKiBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAq
IHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIg
dmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0
aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisgKiBNRVJDSEFOVEFCSUxJVFkgb3Ig
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQorICogTGlicmFy
eSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCisgKgorICogWW91IHNo
b3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJs
aWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZ
SU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRp
b24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCisgKiBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisvLyBJbnRyb2R1Y2VkIGluIFNoYWRvdyBET00gc3Bl
YzoKK1sKKyAgICBDb25kaXRpb25hbD1TSEFET1dfRE9NLAorICAgIFY4RW5hYmxlZEF0UnVudGlt
ZT1zaGFkb3dET00KK10gaW50ZXJmYWNlIENTU0hvc3RSdWxlIDogQ1NTUnVsZSB7CisgICAgcmVh
ZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOworICAgIAorICAgIHVuc2lnbmVk
IGxvbmcgICAgICBpbnNlcnRSdWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmluZWRdIERP
TVN0cmluZyBydWxlLCAKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbiBbT3B0
aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25nIGluZGV4KQorICAgICAgICBy
YWlzZXMoRE9NRXhjZXB0aW9uKTsKKyAgICB2b2lkICAgICAgICAgICAgICAgZGVsZXRlUnVsZShp
biBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25nIGluZGV4KQorICAg
ICAgICByYWlzZXMoRE9NRXhjZXB0aW9uKTsKK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCmluZGV4IDRm
MDFiZGQ5Zjk5NGY4ZTIwY2Y2YzRhZTU0MTExNDI5YWI0OTIyMmUuLmIzZGE3ZTJlMTI1MDNhZTAw
MWRiYzI1OTU4ZDBmZWM2MjBhNTdlZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApAQCAtNTcsNyArNTcs
MTAgQEAgcHVibGljOgogICAgICAgICBXRUJLSVRfVklFV1BPUlRfUlVMRSA9IDE1LAogI2VuZGlm
CiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQotICAgICAgICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAx
NgorICAgICAgICBXRUJLSVRfUkVHSU9OX1JVTEUgPSAxNiwKKyNlbmRpZgorI2lmIEVOQUJMRShT
SEFET1dfRE9NKQorICAgICAgICBIT1NUX1JVTEUgPSAxMDAxLAogI2VuZGlmCiAgICAgfTsKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1J1bGUuaWRsCmluZGV4IDMwYjFjMjFkMDRiZGY5MTc4YjY5MDIwMDUzMGVkNjc2
OTg2ZWNmN2YuLjhlNzNlNWVhMTBkODhjNTRmZWM1N2JmOTBjNTI4MGRjMWY3NGYyYjEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvQ1NTUnVsZS5pZGwKQEAgLTQ2LDYgKzQ2LDkgQEAKICNpZiBkZWZpbmVkKEVOQUJMRV9D
U1NfUkVHSU9OUykgJiYgRU5BQkxFX0NTU19SRUdJT05TCiAgICAgY29uc3QgdW5zaWduZWQgc2hv
cnQgV0VCS0lUX1JFR0lPTl9SVUxFID0gMTY7CiAjZW5kaWYKKyNpZiBkZWZpbmVkKEVOQUJMRV9T
SEFET1dfRE9NKSAmJiBFTkFCTEVfU0hBRE9XX0RPTQorICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IEhPU1RfUlVMRSA9IDEwMDE7CisjZW5kaWYKIAogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSB1bnNp
Z25lZCBzaG9ydCAgIHR5cGU7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAppbmRl
eCA0MjhkY2E5ZTM4ZTA2ZDM2MTczZDFmYzU0N2FjMDU0MjUwNzFlNDg0Li45NjcxMGQ2MDliNDQ3
YmVhNzFkMTc0MWZhOTk5YjVkOGZmNjRjZWNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSZXNvbHZlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2
ZXIuY3BwCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAiQ1NTQ3Vyc29ySW1hZ2VWYWx1ZS5o
IgogI2luY2x1ZGUgIkNTU0ZvbnRGYWNlUnVsZS5oIgogI2luY2x1ZGUgIkNTU0ZvbnRTZWxlY3Rv
ci5oIgorI2luY2x1ZGUgIkNTU0hvc3RSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTSW1wb3J0UnVsZS5o
IgogI2luY2x1ZGUgIkNTU0xpbmVCb3hDb250YWluVmFsdWUuaCIKICNpbmNsdWRlICJDU1NNZWRp
YVJ1bGUuaCIKQEAgLTI2NTcsNiArMjY1OCwxMSBAQCBzdGF0aWMgdm9pZCBjb2xsZWN0Q1NTT01X
cmFwcGVycyhIYXNoTWFwPFN0eWxlUnVsZSosIFJlZlB0cjxDU1NTdHlsZVJ1bGU+ID4mIHdyYQog
ICAgICAgICAgICAgY29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGljX2Nhc3Q8
V2ViS2l0Q1NTUmVnaW9uUnVsZSo+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFrOwogI2Vu
ZGlmCisjaWYgRU5BQkxFKFNIQURPV19ET00pCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6SE9TVF9S
VUxFOgorICAgICAgICAgICAgY29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGlj
X2Nhc3Q8Q1NTSG9zdFJ1bGUqPihjc3NSdWxlKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRp
ZgogICAgICAgICBjYXNlIENTU1J1bGU6OlNUWUxFX1JVTEU6CiAgICAgICAgICAgICB3cmFwcGVy
TWFwLmFkZChzdGF0aWNfY2FzdDxDU1NTdHlsZVJ1bGUqPihjc3NSdWxlKS0+c3R5bGVSdWxlKCks
IHN0YXRpY19jYXN0PENTU1N0eWxlUnVsZSo+KGNzc1J1bGUpKTsKICAgICAgICAgICAgIGJyZWFr
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAppbmRleCBiNDM3OTMzMzExMTg1YjdhY2M3NDMxNjIx
NmY3Nzk3NWMxNjMwNTBiLi5kMDE5ZWE2NmY1YzFhNzUzN2M1ZDdhYTQ1YjkxMjY2Y2Y2YzgwMWZj
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcApAQCAtMjQsNiArMjQsNyBAQAogCiAjaW5jbHVk
ZSAiQ1NTQ2hhcnNldFJ1bGUuaCIKICNpbmNsdWRlICJDU1NGb250RmFjZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NIb3N0UnVsZS5oIgogI2luY2x1ZGUgIkNTU0ltcG9ydFJ1bGUuaCIKICNpbmNsdWRl
ICJDU1NNZWRpYVJ1bGUuaCIKICNpbmNsdWRlICJDU1NQYWdlUnVsZS5oIgpAQCAtODYsOCArODcs
OCBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdElu
Zm8qIG1lbW9yeU9iamVjdEluZm8pIGNvbnN0CiAgICAgY2FzZSBTdXBwb3J0czoKICNlbmRpZgog
I2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKLSAgICAgICAgc3RhdGljX2Nh
c3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVz
YWdlKG1lbW9yeU9iamVjdEluZm8pOworICAgIGNhc2UgSG9zdEludGVybmFsOgorICAgICAgICBz
dGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVIb3N0Kj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRN
ZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJuOwogI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKQEAgLTEzOSw3ICsxNDAsNyBAQCB2b2lk
IFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U3R5
bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyk7CiAgICAgICAgIHJldHVybjsKICNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKLSAgICBjYXNlIEhvc3Q6CisgICAgY2FzZSBIb3N0SW50ZXJuYWw6CiAgICAgICAg
IGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4odGhpcyk7CiAgICAgICAgIHJldHVy
bjsKICNlbmRpZgpAQCAtMTg2LDcgKzE4Nyw3IEBAIFBhc3NSZWZQdHI8U3R5bGVSdWxlQmFzZT4g
U3R5bGVSdWxlQmFzZTo6Y29weSgpIGNvbnN0CiAgICAgY2FzZSBLZXlmcmFtZXM6CiAgICAgICAg
IHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlmcmFtZXMqPih0aGlzKS0+Y29w
eSgpOwogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoKKyAgICBjYXNlIEhv
c3RJbnRlcm5hbDoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUhv
c3QqPih0aGlzKS0+Y29weSgpOwogI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRB
VElPTikKQEAgLTI0NSw5ICsyNDYsOCBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVsZUJh
c2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogICAgICAg
ICBicmVhazsKICNlbmRpZgogI2lmIEVOQUJMRShTSEFET1dfRE9NKQotICAgIGNhc2UgSG9zdDoK
LSAgICAgICAgLy8gRklYTUU6IFRoZSBjdXJyZW50IENTU09NIGVkaXRvcidzIGRyYWZ0IChodHRw
Oi8vZGV2LnczLm9yZy9jc3N3Zy9jc3NvbS8pIGRvZXMgbm90IGhhbmRsZSBAaG9zdCBydWxlcyAo
c2VlIGJ1ZyAxMDIzNDQpLgotICAgICAgICBydWxlID0gYWRvcHRSZWYobmV3IENTU1Vua25vd25S
dWxlKCkpOworICAgIGNhc2UgSG9zdEludGVybmFsOgorICAgICAgICBydWxlID0gQ1NTSG9zdFJ1
bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVIb3N0Kj4oc2VsZiksIHBhcmVudFNoZWV0
KTsKICAgICAgICAgYnJlYWs7CiAjZW5kaWYKICAgICBjYXNlIFVua25vd246CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSdWxlLmgKaW5kZXggOTQ5ODIzM2YzNmQ4MTZjMTg3NjdkMGJiODM4YjVlMTc4YjNmMGI2ZS4u
NGJkYWNmY2E0YTk1Y2ZhYzZhMDFhNjZiYTM4ZGRhYjQ0NjZlOTUyMSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuaApAQCAtNDYsMTcgKzQ2LDE4IEBAIHB1YmxpYzoKICAgICAgICAgUGFnZSwKICAgICAg
ICAgS2V5ZnJhbWVzLAogICAgICAgICBLZXlmcmFtZSwgLy8gTm90IHVzZWQuIFRoZXNlIGFyZSBp
bnRlcm5hbGx5IG5vbi1ydWxlIFN0eWxlS2V5ZnJhbWUgb2JqZWN0cy4KLSNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKLSAgICAgICAgSG9zdCwKLSNlbmRpZgogI2lmIEVOQUJMRShDU1MzX0NPTkRJVElP
TkFMX1JVTEVTKQogICAgICAgICBTdXBwb3J0cyA9IDEyLAogI2VuZGlmCiAjaWYgRU5BQkxFKENT
U19ERVZJQ0VfQURBUFRBVElPTikKICAgICAgICAgVmlld3BvcnQgPSAxNSwKICNlbmRpZgotICAg
ICAgICBSZWdpb24gPSAxNgorICAgICAgICBSZWdpb24gPSAxNiwKKyNpZiBFTkFCTEUoU0hBRE9X
X0RPTSkKKyAgICAgICAgSG9zdEludGVybmFsID0gMTcsIC8vIFNwZWMgc2F5cyBIb3N0ID0gMTAw
MSwgYnV0IHdlIGNhbiB1c2Ugb25seSA1IGJpdCBmb3IgdHlwZSgpLgorI2VuZGlmCiAgICAgfTsK
KwogICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIHN0YXRpY19jYXN0PFR5cGU+KG1fdHlw
ZSk7IH0KICAgICAKICAgICBib29sIGlzQ2hhcnNldFJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBl
KCkgPT0gQ2hhcnNldDsgfQpAQCAtNzQsNyArNzUsNyBAQCBwdWJsaWM6CiAjZW5kaWYKICAgICBi
b29sIGlzSW1wb3J0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBJbXBvcnQ7IH0KICNp
ZiBFTkFCTEUoU0hBRE9XX0RPTSkKLSAgICBib29sIGlzSG9zdFJ1bGUoKSBjb25zdCB7IHJldHVy
biB0eXBlKCkgPT0gSG9zdDsgfQorICAgIGJvb2wgaXNIb3N0UnVsZSgpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBIb3N0SW50ZXJuYWw7IH0KICNlbmRpZgogCiAgICAgUGFzc1JlZlB0cjxTdHls
ZVJ1bGVCYXNlPiBjb3B5KCkgY29uc3Q7CkBAIC0yNzMsNyArMjc0LDcgQEAgcHVibGljOgogICAg
IFBhc3NSZWZQdHI8U3R5bGVSdWxlSG9zdD4gY29weSgpIGNvbnN0IHsgcmV0dXJuIGFkb3B0UmVm
KG5ldyBTdHlsZVJ1bGVIb3N0KCp0aGlzKSk7IH0KIAogcHJpdmF0ZToKLSAgICBTdHlsZVJ1bGVI
b3N0KFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykgOiBTdHlsZVJ1
bGVCbG9jayhIb3N0LCBhZG9wdFJ1bGVzKSB7IH0KKyAgICBTdHlsZVJ1bGVIb3N0KFZlY3RvcjxS
ZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykgOiBTdHlsZVJ1bGVCbG9jayhIb3N0
SW50ZXJuYWwsIGFkb3B0UnVsZXMpIHsgfQogICAgIFN0eWxlUnVsZUhvc3QoY29uc3QgU3R5bGVS
dWxlSG9zdCYgbykgOiBTdHlsZVJ1bGVCbG9jayhvKSB7IH0KIH07CiAjZW5kaWYKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKaW5kZXggNjdiMGMxZDc5NzAyOTdhZmY3
ZjgwZjIzODJlN2E4MzQxZjBiOGJjNS4uMjFjN2ZhZmQzNzk1MDlkZmQ4MTFkMTMxZGJhODEwYWM4
MDU1NWEwZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50
cy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5jcHAKQEAg
LTQ0NCw3ICs0NDQsNyBAQCBzdGF0aWMgYm9vbCBjaGlsZFJ1bGVzSGF2ZUZhaWxlZE9yQ2FuY2Vs
ZWRTdWJyZXNvdXJjZXMoY29uc3QgVmVjdG9yPFJlZlB0cjxTdHlsZQogICAgICAgICAgICAgICAg
IHJldHVybiB0cnVlOwogICAgICAgICAgICAgYnJlYWs7CiAjaWYgRU5BQkxFKFNIQURPV19ET00p
Ci0gICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6SG9zdDoKKyAgICAgICAgY2FzZSBTdHlsZVJ1
bGVCYXNlOjpIb3N0SW50ZXJuYWw6CiAgICAgICAgICAgICBpZiAoY2hpbGRSdWxlc0hhdmVGYWls
ZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUhvc3Qq
PihydWxlKS0+Y2hpbGRSdWxlcygpKSkKICAgICAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAg
ICAgICAgICAgIGJyZWFrOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5k
b3cuaWRsIGIvU291cmNlL1dlYkNvcmUvcGFnZS9ET01XaW5kb3cuaWRsCmluZGV4IDMyNTQxNjBj
M2IyYTFhNjkyMDUzZTk2YmE0NTdjOWIxOWY4NzQyNGEuLjVhOTRiNjQ4YjE1MTkwN2EwYWU3NTJj
ZDdjMzc0ODk2ZmFmZTVjNzEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRE9NV2lu
ZG93LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0RPTVdpbmRvdy5pZGwKQEAgLTM1MSw2
ICszNTEsOSBAQAogICAgIGF0dHJpYnV0ZSBDU1NSdWxlQ29uc3RydWN0b3IgQ1NTUnVsZTsKICAg
ICBhdHRyaWJ1dGUgQ1NTQ2hhcnNldFJ1bGVDb25zdHJ1Y3RvciBDU1NDaGFyc2V0UnVsZTsKICAg
ICBhdHRyaWJ1dGUgQ1NTRm9udEZhY2VSdWxlQ29uc3RydWN0b3IgQ1NTRm9udEZhY2VSdWxlOwor
I2lmIGRlZmluZWQoRU5BQkxFX1NIQURPV19ET00pICYmIEVOQUJMRV9TSEFET1dfRE9NCisgICAg
YXR0cmlidXRlIENTU0hvc3RSdWxlQ29uc3RydWN0b3IgQ1NTSG9zdFJ1bGU7CisjZW5kaWYKICAg
ICBhdHRyaWJ1dGUgQ1NTSW1wb3J0UnVsZUNvbnN0cnVjdG9yIENTU0ltcG9ydFJ1bGU7CiAgICAg
YXR0cmlidXRlIENTU01lZGlhUnVsZUNvbnN0cnVjdG9yIENTU01lZGlhUnVsZTsKICAgICBhdHRy
aWJ1dGUgQ1NTUGFnZVJ1bGVDb25zdHJ1Y3RvciBDU1NQYWdlUnVsZTsKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmZDNhZTU3
NTU2OWE0ZGRiOGZmNWYwZWU1NzJiZmMxMWJiZDMzYzFlLi45ZjA0ZmJiNjBhYTg4ODY0YjJkNmMz
ZTJiYzZlMGIwYTNkMjJiNjk2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTMtMDEtMTEgIFRh
a2FzaGkgU2FrYW1vdG8gIDx0YXNha0Bnb29nbGUuY29tPgorCisgICAgICAgIEltcGxlbWVudCBD
U1NIb3N0UnVsZSBmb3IgQGhvc3QgQC1ydWxlcy4KKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTEwMjM0NAorCisgICAgICAgIFJldmlld2VkIGJ5IERpbWl0
cmkgR2xhemtvdi4KKworICAgICAgICAqIGZhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBp
LWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0
cnVsZS1hcGkuaHRtbDogQWRkZWQuCisKIDIwMTMtMDEtMTcgIEpvYW5tYXJpZSBEaWdncyAgPGpk
aWdnc0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFJFR1JFU1NJT04gKHIxMzk0NDQpOiBDcmFzaGVz
IGluIHRocmVlIGFjY2Vzc2liaWxpdHkgdGVzdHMgb24gR1RLCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQgYi9MYXlv
dXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhvc3RydWxlLWFwaS1leHBlY3RlZC50eHQKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNjIxOTU2NzdlZGZlOTg3YjRhNzg2M2MyMDAyYzRmMTUzMjk1ZDhhNAotLS0gL2Rl
di9udWxsCisrKyBiL0xheW91dFRlc3RzL2Zhc3QvZG9tL3NoYWRvdy9jc3MtaG9zdHJ1bGUtYXBp
LWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDI5IEBACitUZXN0IHdoZXRoZXIgQ1NTSG9zdFJ1bGUg
QVBJIHdvcmtzIGNvcnJlY3RseSBvciBub3QuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNlZSBh
IHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRFIi4K
KworCitCZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1bGVzOgor
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMCwgMCki
CitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCBpcyAwCitQQVNTIGhvc3RSdWxlLnR5cGUg
aXMgMTAwMQorQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3Rv
ciBpbnRvIEBob3N0IEAtcnVsZXM6CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVy
Q29sb3IgaXMgInJnYigwLCAxMjgsIDApIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgg
aXMgMQorUEFTUyBob3N0UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7IFxuICAjaG9zdCB7IGJvcmRl
ci1jb2xvcjogZ3JlZW47IH1cbn0iCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQg
aXMgIiNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfSIKK0FmdGVyIGluc2VydGluZyBhIGJv
cmRlciBydWxlIHdpdGggYSB0YWcgc2VsZWN0b3IgaW50byBAaG9zdCBALXJ1bGVzOgorUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIGlzICJyZ2IoMCwgMTI4LCAwKSIKK1BB
U1MgaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgaG9zdFJ1bGUuY3NzVGV4dCBp
cyAiQGhvc3QgeyBcbiAgI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9XG4gIGRpdiB7IGJv
cmRlci1jb2xvcjogYmx1ZTsgfVxufSIKK1BBU1MgaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4
dCBpcyAiI2hvc3QgeyBib3JkZXItY29sb3I6IGdyZWVuOyB9IgorUEFTUyBob3N0UnVsZS5jc3NS
dWxlc1sxXS5jc3NUZXh0IGlzICJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iCitBZnRlciBk
ZWxldGluZyB0aGUgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBmcm9tIEBob3N0IEAt
cnVsZXM6CitQQVNTIGdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IgaXMgInJnYigw
LCAwLCAyNTUpIgorUEFTUyBob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFTUyBob3N0
UnVsZS5jc3NUZXh0IGlzICJAaG9zdCB7IFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH1c
bn0iCitQQVNTIGhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQgaXMgImRpdiB7IGJvcmRlci1j
b2xvcjogYmx1ZTsgfSIKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUKKworVEVTVCBD
T01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L2RvbS9zaGFkb3cvY3NzLWhv
c3RydWxlLWFwaS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nzcy1ob3N0cnVs
ZS1hcGkuaHRtbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43ODE1YzY3Y2Y0MzJjNGU1MDU2MzNhYTFiOGNiNzQyMTUw
NzE4OTZkCi0tLSAvZGV2L251bGwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9kb20vc2hhZG93L2Nz
cy1ob3N0cnVsZS1hcGkuaHRtbApAQCAtMCwwICsxLDQ4IEBACis8IWRvY3R5cGUgaHRtbD4KKzxo
dG1sPgorPGhlYWQ+Cis8c2NyaXB0IHNyYz0icmVzb3VyY2VzL3BvbHlmaWxsLmpzIj48L3Njcmlw
dD4KKzxzY3JpcHQgc3JjPSIuLi8uLi9qcy9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2Ny
aXB0PgorPC9oZWFkPgorPGJvZHk+CisgIDxkaXYgaWQ9Imhvc3QiPlRoaXMgZGl2IGlzIGEgc2hh
ZG93IGhvc3QuPC9kaXY+Cis8L2JvZHk+Cis8c2NyaXB0PgorZGVzY3JpcHRpb24oIlRlc3Qgd2hl
dGhlciBDU1NIb3N0UnVsZSBBUEkgd29ya3MgY29ycmVjdGx5IG9yIG5vdC4iKTsKK3ZhciBob3N0
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ2hvc3QnKTsKK3ZhciBzaGFkb3dSb290ID0gaG9z
dC53ZWJraXRDcmVhdGVTaGFkb3dSb290KCk7CitzaGFkb3dSb290LmlubmVySFRNTCA9ICc8c3R5
bGUgaWQ9InN0eWxlMSI+QGhvc3Qge308L3N0eWxlPjxkaXY+U2hhZG93IFRleHQ8L2Rpdj4nOwor
ICAKK2RlYnVnKCJCZWZvcmUgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUgaW50byBAaG9zdCBALXJ1
bGVzOiIpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAn
InJnYigwLCAwLCAwKSInKTsKKwordmFyIHN0eWxlU2hlZXQgPSBzaGFkb3dSb290LmdldEVsZW1l
bnRCeUlkKCdzdHlsZTEnKS5zaGVldDsKK3ZhciBob3N0UnVsZSA9IHN0eWxlU2hlZXQuY3NzUnVs
ZXNbMF07CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXMubGVuZ3RoIiwgJzAnKTsKK3Nob3Vs
ZEJlKCJob3N0UnVsZS50eXBlIiwgJzEwMDEnKTsKKyAgCitkZWJ1ZygiQWZ0ZXIgaW5zZXJ0aW5n
IGEgYm9yZGVyIHJ1bGUgd2l0aCBhbiBpZCBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6Iik7
Citob3N0UnVsZS5pbnNlcnRSdWxlKCIjaG9zdCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iLCBo
b3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9z
dCkuYm9yZGVyQ29sb3IiLCAnInJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoImhvc3RSdWxl
LmNzc1J1bGVzLmxlbmd0aCIsICcxJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICci
QGhvc3QgeyBcXG4gICNob3N0IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxcbn0iJyk7CitzaG91
bGRCZSgiaG9zdFJ1bGUuY3NzUnVsZXNbMF0uY3NzVGV4dCIsICciI2hvc3QgeyBib3JkZXItY29s
b3I6IGdyZWVuOyB9IicpOworCitkZWJ1ZygiQWZ0ZXIgaW5zZXJ0aW5nIGEgYm9yZGVyIHJ1bGUg
d2l0aCBhIHRhZyBzZWxlY3RvciBpbnRvIEBob3N0IEAtcnVsZXM6Iik7Citob3N0UnVsZS5pbnNl
cnRSdWxlKCJkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7IH0iLCBob3N0UnVsZS5jc3NSdWxlcy5s
ZW5ndGgpOworc2hvdWxkQmUoImdldENvbXB1dGVkU3R5bGUoaG9zdCkuYm9yZGVyQ29sb3IiLCAn
InJnYigwLCAxMjgsIDApIicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzLmxlbmd0aCIs
ICcyJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzVGV4dCIsICciQGhvc3QgeyBcXG4gICNob3N0
IHsgYm9yZGVyLWNvbG9yOiBncmVlbjsgfVxcbiAgZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9
XFxufSInKTsKK3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlc1swXS5jc3NUZXh0IiwgJyIjaG9z
dCB7IGJvcmRlci1jb2xvcjogZ3JlZW47IH0iJyk7CitzaG91bGRCZSgiaG9zdFJ1bGUuY3NzUnVs
ZXNbMV0uY3NzVGV4dCIsICciZGl2IHsgYm9yZGVyLWNvbG9yOiBibHVlOyB9IicpOworCitkZWJ1
ZygiQWZ0ZXIgZGVsZXRpbmcgdGhlIGJvcmRlciBydWxlIHdpdGggYW4gaWQgc2VsZWN0b3IgZnJv
bSBAaG9zdCBALXJ1bGVzOiIpOworaG9zdFJ1bGUuZGVsZXRlUnVsZSgwKTsKK3Nob3VsZEJlKCJn
ZXRDb21wdXRlZFN0eWxlKGhvc3QpLmJvcmRlckNvbG9yIiwgJyJyZ2IoMCwgMCwgMjU1KSInKTsK
K3Nob3VsZEJlKCJob3N0UnVsZS5jc3NSdWxlcy5sZW5ndGgiLCAnMScpOworc2hvdWxkQmUoImhv
c3RSdWxlLmNzc1RleHQiLCAnIkBob3N0IHsgXFxuICBkaXYgeyBib3JkZXItY29sb3I6IGJsdWU7
IH1cXG59IicpOworc2hvdWxkQmUoImhvc3RSdWxlLmNzc1J1bGVzWzBdLmNzc1RleHQiLCAnImRp
diB7IGJvcmRlci1jb2xvcjogYmx1ZTsgfSInKTsKKworPC9zY3JpcHQ+Cis8c2NyaXB0IHNyYz0i
Li4vLi4vanMvcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+Cis8L2h0bWw+Cg==
</data>

          </attachment>
      

    </bug>

</bugzilla>