<?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>104822</bug_id>
          
          <creation_ts>2012-12-12 10:05:27 -0800</creation_ts>
          <short_desc>Implement CSSSupportsRule</short_desc>
          <delta_ts>2013-04-14 22:05:31 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>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>WebExposed</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>114601</dependson>
    
    <dependson>106418</dependson>
    
    <dependson>106696</dependson>
          <blocked>103506</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Pablo Flouret">pf</reporter>
          <assigned_to name="Pablo Flouret">pf</assigned_to>
          <cc>abarth</cc>
    
    <cc>allan.jensen</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>dglazkov</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>haraken</cc>
    
    <cc>japhet</cc>
    
    <cc>kling</cc>
    
    <cc>koivisto</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>ojan.autocc</cc>
    
    <cc>peter+ews</cc>
    
    <cc>philn</cc>
    
    <cc>rakuco</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>syoichi</cc>
    
    <cc>webkit-ews</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>789659</commentid>
    <comment_count>0</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-12-12 10:05:27 -0800</bug_when>
    <thetext>http://dev.w3.org/csswg/css3-conditional/#the-csssupportsrule-interface

Right now @supports is not creating CSSSupportRules, so they don&apos;t show up in the stylesheets&apos; cssRules, and also creates problems like the one in http://hg.csswg.org/test/file/5f94e4b03ed9/contributors/opera/submitted/css3-conditional/at-supports-004.html Namely, @support rules declared within @media are applied whether the media query applies or not.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795677</commentid>
    <comment_count>1</comment_count>
      <attachid>180389</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-12-20 12:40:17 -0800</bug_when>
    <thetext>Created attachment 180389
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795682</commentid>
    <comment_count>2</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 12:46:09 -0800</bug_when>
    <thetext>Attachment 180389 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/css3...&quot; exit_code: 1
Source/WebCore/css/RuleSet.cpp:326:  One line control clauses should not use braces.  [whitespace/braces] [4]
Source/WebCore/css/CSSRule.h:54:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:100:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:101:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 4 in 43 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>795688</commentid>
    <comment_count>3</comment_count>
      <attachid>180389</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-20 12:48:49 -0800</bug_when>
    <thetext>Comment on attachment 180389
Patch

Attachment 180389 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15454123</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795689</commentid>
    <comment_count>4</comment_count>
      <attachid>180389</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2012-12-20 12:49:12 -0800</bug_when>
    <thetext>Comment on attachment 180389
Patch

Attachment 180389 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15462039</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795717</commentid>
    <comment_count>5</comment_count>
      <attachid>180389</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 13:12:22 -0800</bug_when>
    <thetext>Comment on attachment 180389
Patch

Attachment 180389 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15451149</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795720</commentid>
    <comment_count>6</comment_count>
      <attachid>180389</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2012-12-20 13:15:51 -0800</bug_when>
    <thetext>Comment on attachment 180389
Patch

Attachment 180389 did not pass win-ews (win):
Output: http://queues.webkit.org/results/15445209</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795739</commentid>
    <comment_count>7</comment_count>
      <attachid>180389</attachid>
    <who name="Peter Beverloo (cr-android ews)">peter+ews</who>
    <bug_when>2012-12-20 13:32:57 -0800</bug_when>
    <thetext>Comment on attachment 180389
Patch

Attachment 180389 did not pass cr-android-ews (chromium-android):
Output: http://queues.webkit.org/results/15464033</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795763</commentid>
    <comment_count>8</comment_count>
      <attachid>180402</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2012-12-20 13:49:21 -0800</bug_when>
    <thetext>Created attachment 180402
Patch

Missed some ENABLE guards, sorry for the noise.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>795769</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2012-12-20 13:55:32 -0800</bug_when>
    <thetext>Attachment 180402 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/css3...&quot; exit_code: 1
Source/WebCore/css/RuleSet.cpp:326:  One line control clauses should not use braces.  [whitespace/braces] [4]
Source/WebCore/css/CSSRule.h:54:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:100:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:101:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 4 in 43 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>803262</commentid>
    <comment_count>10</comment_count>
      <attachid>180402</attachid>
    <who name="Allan Sandfeld Jensen">allan.jensen</who>
    <bug_when>2013-01-09 05:52:36 -0800</bug_when>
    <thetext>Comment on attachment 180402
Patch

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

&gt; Source/WebCore/ChangeLog:15
&gt; +        This patch also incidentally adds support for proper nesting of at-rules
&gt; +        where allowed by the spec.

Would it make sense to land the part about nesting at-rules as a separate patch, so this patch only addresses the support of support-rules?

&gt;&gt; Source/WebCore/css/RuleSet.cpp:326
&gt;&gt; +        else if (isWithinNestedRule &amp;&amp; rule-&gt;isImportRule()) {
&gt;&gt; +            // Ignore.
&gt;&gt; +        }
&gt; 
&gt; One line control clauses should not use braces.  [whitespace/braces] [4]

Ignore? Why make the test then?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>803417</commentid>
    <comment_count>11</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2013-01-09 09:54:14 -0800</bug_when>
    <thetext>(In reply to comment #10)
&gt; (From update of attachment 180402 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=180402&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/ChangeLog:15
&gt; &gt; +        This patch also incidentally adds support for proper nesting of at-rules
&gt; &gt; +        where allowed by the spec.
&gt; 
&gt; Would it make sense to land the part about nesting at-rules as a separate patch, so this patch only addresses the support of support-rules?
&gt;

Sure.

&gt; &gt;&gt; Source/WebCore/css/RuleSet.cpp:326
&gt; &gt;&gt; +        else if (isWithinNestedRule &amp;&amp; rule-&gt;isImportRule()) {
&gt; &gt;&gt; +            // Ignore.
&gt; &gt;&gt; +        }
&gt; &gt; 
&gt; &gt; One line control clauses should not use braces.  [whitespace/braces] [4]
&gt; 
&gt; Ignore? Why make the test then?

To make it explicit, but i can get rid of it.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806583</commentid>
    <comment_count>12</comment_count>
      <attachid>182622</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2013-01-14 13:41:51 -0800</bug_when>
    <thetext>Created attachment 182622
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806589</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 13:47:07 -0800</bug_when>
    <thetext>Attachment 182622 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/css3...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:54:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:100:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:101:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 3 in 42 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>806597</commentid>
    <comment_count>14</comment_count>
      <attachid>182622</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-14 13:58:45 -0800</bug_when>
    <thetext>Comment on attachment 182622
Patch

Attachment 182622 did not pass qt-ews (qt):
Output: http://queues.webkit.org/results/15860648</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806601</commentid>
    <comment_count>15</comment_count>
      <attachid>182622</attachid>
    <who name="Early Warning System Bot">webkit-ews</who>
    <bug_when>2013-01-14 14:00:35 -0800</bug_when>
    <thetext>Comment on attachment 182622
Patch

Attachment 182622 did not pass qt-wk2-ews (qt):
Output: http://queues.webkit.org/results/15841632</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806613</commentid>
    <comment_count>16</comment_count>
      <attachid>182622</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 14:13:13 -0800</bug_when>
    <thetext>Comment on attachment 182622
Patch

Attachment 182622 did not pass chromium-ews (chromium-xvfb):
Output: http://queues.webkit.org/results/15860645</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806617</commentid>
    <comment_count>17</comment_count>
      <attachid>182627</attachid>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2013-01-14 14:17:23 -0800</bug_when>
    <thetext>Created attachment 182627
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>806623</commentid>
    <comment_count>18</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-14 14:23:23 -0800</bug_when>
    <thetext>Attachment 182627 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/css3...&quot; exit_code: 1
Source/WebCore/css/CSSRule.h:54:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:100:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Source/WebCore/css/CSSPropertySourceData.h:101:  enum members should use InterCaps with an initial capital letter.  [readability/enum_casing] [4]
Total errors found: 3 in 42 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>808243</commentid>
    <comment_count>19</comment_count>
      <attachid>182627</attachid>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 03:33:08 -0800</bug_when>
    <thetext>Comment on attachment 182627
Patch

Clearing flags on attachment: 182627

Committed r139866: &lt;http://trac.webkit.org/changeset/139866&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808244</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2013-01-16 03:33:15 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808690</commentid>
    <comment_count>21</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-16 13:55:49 -0800</bug_when>
    <thetext>This messed up the Mac Xcode project by adding CSSSupportsRule.h and JSCSSSupportsRule.h to the compile build phase.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808694</commentid>
    <comment_count>22</comment_count>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2013-01-16 13:58:10 -0800</bug_when>
    <thetext>Also caused:
ld: warning: ignoring undefined symbol .objc_class_name_DOMCSSSupportsRule from -exported_symbols_list</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808732</commentid>
    <comment_count>23</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2013-01-16 14:39:32 -0800</bug_when>
    <thetext>(In reply to comment #21)
&gt; This messed up the Mac Xcode project by adding CSSSupportsRule.h and JSCSSSupportsRule.h to the compile build phase.

I&apos;ll check it out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>808796</commentid>
    <comment_count>24</comment_count>
    <who name="Pablo Flouret">pf</who>
    <bug_when>2013-01-16 15:50:25 -0800</bug_when>
    <thetext>Patch for the warnings at bug 107056.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180389</attachid>
            <date>2012-12-20 12:40:17 -0800</date>
            <delta_ts>2012-12-20 13:49:15 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104822-20121220123733.patch</filename>
            <type>text/plain</type>
            <size>78014</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThjMDMzNWE5NWZmYjBi
M2QyYzE2OTIwODk5ZGE1ZGNhMGU3YjZkNC4uMzFlYzllM2M0ZDc3NzljNDFmYmU3NzYzODQ0Zjk2
MDAzZmUyMjBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMi0xMi0xOSAgUGFi
bG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENT
U1N1cHBvcnRzUnVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA0ODIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1jb25kaXRpb25hbC8jdGhlLWNzc3N1
cHBvcnRzcnVsZS1pbnRlcmZhY2UKKworICAgICAgICBSaWdodCBub3csIEBzdXBwb3J0cyBpcyBu
b3QgaW1wbGVtZW50ZWQgYXMgYSBwcm9wZXIgQ1NTUnVsZS4gQXBhcnQgZnJvbQorICAgICAgICB0
aGUgQ1NTT00gaW1wbGljYXRpb25zIGl0IGdpdmVzIHdyb25nIHJlc3VsdHMgd2hlbiwgZm9yIGlu
c3RhbmNlLCBhbgorICAgICAgICBAc3VwcG9ydHMgcnVsZSBpcyBuZXN0ZWQgaW5zaWRlIGEgQG1l
ZGlhIHJ1bGUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGluY2lkZW50YWxseSBhZGRzIHN1
cHBvcnQgZm9yIHByb3BlciBuZXN0aW5nIG9mIGF0LXJ1bGVzCisgICAgICAgIHdoZXJlIGFsbG93
ZWQgYnkgdGhlIHNwZWMuCisKKyAgICAgICAgVGVzdDogY3NzMy9zdXBwb3J0cy1jc3NvbS5odG1s
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5j
cHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJn
ZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBBZGQgQ1NTU3Vw
cG9ydHNSdWxlLiogYW5kIGFzc29jaWF0ZWQgZmlsZXMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0NTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAg
ICogYmluZGluZ3Mvb2JqYy9ET01DU1MubW06CisgICAgICAgIChraXRDbGFzcyk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp3cmFwKToKKyAgICAgICAgICAgIENyZWF0ZSB0aGUgY29ycmVjdCB3cmFwcGVycyBmb3Ig
dGhlIHJ1bGUuCisKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55LmluOgorICAgICAgICAqIGNz
cy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjcmVhdGVTdXBw
b3J0c1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrU3VwcG9ydHNSdWxl
SGVhZGVyU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrU3VwcG9ydHNS
dWxlSGVhZGVyRW5kKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICAgICBD
cmVhdGUgdGhlIHN1cHBvcnRzIHJ1bGUgd2hlbiBwYXJzaW5nIGFuZCBhZGQgaXQgd2hlcmUgaXQg
Y29ycmVzcG9uZHMsCisgICAgICAgICAgICBpbnN0ZWFkIG9mIGRpcmVjdGx5IGFkZGluZyB0aGUg
Y2hpbGQgcnVsZXMgdG8gdGhlIHN0eWxlc2hlZXQuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVy
dHlTb3VyY2VEYXRhLmg6CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3Mv
Q1NTUnVsZS5pZGw6CisgICAgICAgICAgICBBZGQgU1VQUE9SVFNfUlVMRSB0eXBlIHRvIGVudW1z
LgorCisgICAgICAgICogY3NzL0NTU1N1cHBvcnRzUnVsZS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3VwcG9ydHNSdWxlOjpDU1NTdXBwb3J0c1J1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3VwcG9ydHNSdWxlOjp+Q1NTU3VwcG9ydHNSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1N1cHBvcnRzUnVsZTo6aW5zZXJ0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dXBwb3J0c1J1bGU6OmRlbGV0ZVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3VwcG9ydHNS
dWxlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6bGVuZ3Ro
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6aXRlbSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NTdXBwb3J0c1J1bGU6OmNzc1J1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1N1cHBvcnRzUnVsZTo6Y29uZGl0aW9uVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdXBw
b3J0c1J1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaDogQWRk
ZWQuCisgICAgICAgIChDU1NTdXBwb3J0c1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3Vw
cG9ydHNSdWxlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsOiBB
ZGRlZC4KKyAgICAgICAgICAgIERPTSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBjc3MvUnVsZVNl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSdWxlU2V0OjphZGRDaGlsZFJ1bGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KToKKyAgICAgICAgKiBjc3Mv
UnVsZVNldC5oOgorICAgICAgICAgICAgQWRkIHJ1bGVzIGluY2x1ZGVkIGluIHRoZSBAc3VwcG9y
dHMgcnVsZS4gTW92ZSB0aGUgYWN0dWFsIGFkZGl0aW9uCisgICAgICAgICAgICBvZiB0aGUgc2hl
ZXQncyBydWxlcyB0byBhIHNlcGFyYXRlIGFkZENoaWxkUnVsZXMgbWV0aG9kIHNvIHRoYXQgaXQK
KyAgICAgICAgICAgIGNhbiBiZSBjYWxsZWQgYWdhaW4gYnkgcnVsZXMgdGhhdCB0aGVtc2VsdmVz
IGhhdmUgY2hpbGQgcnVsZXMgKGxpa2UKKyAgICAgICAgICAgIEBtZWRpYSBhbmQgQHN1cHBvcnRz
KS4gVGhpcyBtZWFucyB0aGF0IG5lc3RpbmcgYXQtcnVsZXMgaXMgbm93CisgICAgICAgICAgICBz
dXBwb3J0ZWQuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFwcGVycyk6CisgICAgICAgICAgICBDb2xsZWN0IENTU1N1
cHBvcnRzUnVsZSB3cmFwcGVycy4KKworICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJ1bGVCYXNlOjpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNy
ZWF0ZUNTU09NV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVTdXBwb3J0czo6
U3R5bGVSdWxlU3VwcG9ydHMpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoKKyAgICAgICAg
KFN0eWxlUnVsZUJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6aXNTdXBw
b3J0c1J1bGUpOgorICAgICAgICAoU3R5bGVSdWxlU3VwcG9ydHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSdWxlU3VwcG9ydHM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVTdXBwb3J0czo6Y29uZGl0aW9uVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVT
dXBwb3J0czo6Y29uZGl0aW9uSXNTdXBwb3J0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlU3VwcG9ydHM6OmNvcHkpOgorICAgICAgICAgICAgTmV3IHN1YmNsYXNzIG9mIFN0eWxlUnVs
ZUJsb2NrOiBTdHlsZVJ1bGVTdXBwb3J0cy4KKworICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29u
dGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNl
bGVkU3VicmVzb3VyY2VzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVl
dC5jcHA6CisgICAgICAgIChmbGF0dGVuU291cmNlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjph
c0NTU1J1bGVMaXN0KToKKyAgICAgICAgICAgIEhhbmRsZSBAc3VwcG9ydHMgcnVsZXMgd2hlcmUg
bmVlZGVkLgorCiAyMDEyLTEyLTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGb2xsb3cgV2ViVlRUIGxpbmUgYnJlYWtpbmcgcnVsZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggMTc0NTkzM2U0YmMyNWQ5ZmNmZGViNWI5YmY5NzgzZTg4YWY2ZTllYy4uNjNkZjc5
Njk5MjU3MmMzOWY5YTAwZjYxZTZkMzhjOGM3MjMwNDY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTMyMSw2ICszMjEsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBjc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5pZGwKICAgICBjc3MvQ1NTU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NT
dHlsZVNoZWV0LmlkbAorICAgIGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCiAgICAgY3NzL0NTU1Zh
bHVlLmlkbAogICAgIGNzcy9DU1NWYWx1ZUxpc3QuaWRsCiAgICAgY3NzL01lZGlhTGlzdC5pZGwK
QEAgLTEwNTQsNiArMTA1NSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTU2Vs
ZWN0b3JMaXN0LmNwcAogICAgIGNzcy9DU1NTdHlsZVJ1bGUuY3BwCiAgICAgY3NzL0NTU1N0eWxl
U2hlZXQuY3BwCisgICAgY3NzL0NTU1N1cHBvcnRzUnVsZS5jcHAKICAgICBjc3MvQ1NTVGltaW5n
RnVuY3Rpb25WYWx1ZS5jcHAKICAgICBjc3MvQ1NTVG9TdHlsZU1hcC5jcHAKICAgICBjc3MvQ1NT
VW5pY29kZVJhbmdlVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYTNk
N2YyOTFkZWIxNzE3NDJjZTJlMGU0Zjc4ZGY5YWZlOGNiYmI1NC4uMGZjMTQ0NDc5ODJlZDYyZGEx
NjczNDU0YjI2ZjllYzY1MjFjNmM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAt
NjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIkpTQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAiCiAjaW5j
bHVkZSAiSlNDU1NTdHlsZVJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTU3R5bGVTaGVldC5jcHAi
CisjaW5jbHVkZSAiSlNDU1NTdXBwb3J0c1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWUu
Y3BwIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0N1c3RvbUV2
ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDk4OTBmMDE4ODFkMmJh
YmVjZWViMGMyMThjYzJkY2FkOGY1ZWVlOTAuLjcwZWFiMGU5NDMzNTVhYzg3NWVhM2JhY2E1OTky
NGMwN2UyYTM4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc4LDYgKzE3
OCw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZURlY2xh
cmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTU3R5bGVSdWxlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwgXAorICAgICQoV2ViQ29yZSkvY3NzL0NT
U1N1cHBvcnRzUnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU1Vua25vd25SdWxlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nz
cy9DU1NWYWx1ZUxpc3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBkNThh
ZmI5MzE2N2Y3MTU4NGViYmVmMGZjNmQ0MjYyMzY4MGU4MTFkLi5jNmZlMDU2NThiZTI4MzVlMjJk
ZjZjYmQxOTIwM2VhMTQ1OTM5NjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0x
OTgsNiArMTk4LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9jc3MvQ1NTU3R5bGVE
ZWNsYXJhdGlvbi5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKICAgICAk
JFBXRC9jc3MvQ1NTU3R5bGVTaGVldC5pZGwgXAorICAgICQkUFdEL2Nzcy9DU1NTdXBwb3J0c1J1
bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NT
VmFsdWVMaXN0LmlkbCBcCiAgICAgJCRQV0QvY3NzL01lZGlhTGlzdC5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNWVhM2FmMjkyNzFiNDE3ZjFiMjFiN2Q1ZGM2MzY3NDhm
MzBlNzFlMC4uOTRkNjlmYWZkZTk3MmEwZmIyYjBiNWJhYTcyOWY5MGRiNzVhZjliNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMzEsNiArMTMxLDggQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVSdWxlLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVNoZWV0LmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU1N1cHBvcnRzUnVsZS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NTdXBwb3J0c1J1bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDU1NWYWx1ZUxpc3QuY3BwIFwKQEAgLTEzMjcsNiArMTMyOSw3IEBAIGRv
bV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24u
aWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nz
cy9DU1NTdHlsZVNoZWV0LmlkbCBcCisJJChXZWJDb3JlKS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlk
bCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTVmFsdWUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NW
YWx1ZUxpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9Db3VudGVyLmlkbCBcCkBAIC0yNTgxLDYg
KzI1ODQsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVJ1bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3VwcG9ydHNSdWxlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVs
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBlNmQ0N2Y2Y2Fm
MjgyYjgxZGYwZmVlZDRhYWJiNjQ5MjRjNjg2MThlLi5kMDUzODcwMWU0NzBlNDJmNmQxOTUwZTk1
Yzc0MjEyMDI5YjcyZWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTI4Myw2ICsyODMsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBjc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwIFwKICAgICBjc3MvQ1NTU3R5
bGVSdWxlLmNwcCBcCiAgICAgY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKKyAgICBjc3MvQ1NTU3Vw
cG9ydHNSdWxlLmNwcCBcCiAgICAgY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwIFwKICAg
ICBjc3MvQ1NTVG9TdHlsZU1hcC5jcHAgXAogICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5j
cHAgXApAQCAtMTQ4Myw2ICsxNDg0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL0NTU1N0eWxl
RGVjbGFyYXRpb24uaCBcCiAgICAgY3NzL0NTU1N0eWxlUnVsZS5oIFwKICAgICBjc3MvQ1NTU3R5
bGVTaGVldC5oIFwKKyAgICBjc3MvQ1NTU3VwcG9ydHNSdWxlLmggXAogICAgIGNzcy9DU1NUaW1p
bmdGdW5jdGlvblZhbHVlLmggXAogICAgIGNzcy9DU1NUb1N0eWxlTWFwLmggXAogICAgIGNzcy9D
U1NVbmljb2RlUmFuZ2VWYWx1ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMGM3MzA2ZTJl
MzNhY2FhZmRhOTNlMGQzYmVhNmU5OGZiNmRmY2FlMi4uNjlhZDIyNDk1OGMwZmEwYzNhMDE0OTkz
YWU2NWQ3YzZlYzA3ODBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE1NjksNiArMTU2OSw3
IEBAIF93a1NpZ25hbENGUmVhZFN0cmVhbUhhc0J5dGVzCiAub2JqY19jbGFzc19uYW1lX0RPTUNT
U1J1bGVMaXN0CiAub2JqY19jbGFzc19uYW1lX0RPTUNTU1N0eWxlUnVsZQogLm9iamNfY2xhc3Nf
bmFtZV9ET01DU1NTdHlsZVNoZWV0Cisub2JqY19jbGFzc19uYW1lX0RPTUNTU1N1cHBvcnRzUnVs
ZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NVbmtub3duUnVsZQogLm9iamNfY2xhc3NfbmFtZV9E
T01DU1NWYWx1ZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NWYWx1ZUxpc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCAyNTNkZGM0M2EwYzc0Nzg4ZmQ1ODMwMjcxNDg0MDg4NTAyOGZkMDNlLi41ZWJkNmU1
MDE0M2MzYmUyYTUxM2MwZGE0YTg0MzBhNDVlYTYyODFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0x
NjksNiArMTY5LDcgQEAKICAgICAgICAgICAgICdjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwn
LAogICAgICAgICAgICAgJ2Nzcy9DU1NTdHlsZVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3Mv
Q1NTU3R5bGVTaGVldC5pZGwnLAorICAgICAgICAgICAgJ2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRs
JywKICAgICAgICAgICAgICdjc3MvQ1NTVW5rbm93blJ1bGUuaWRsJywKICAgICAgICAgICAgICdj
c3MvQ1NTVmFsdWUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWVMaXN0LmlkbCcsCkBA
IC0xNDk5LDYgKzE1MDAsOCBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NTdHlsZVJ1bGUuaCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU1N0eWxlU2hlZXQuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NT
U3R5bGVTaGVldC5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCcsCisg
ICAgICAgICAgICAnY3NzL0NTU1N1cHBvcnRzUnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NT
VGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NUaW1pbmdGdW5j
dGlvblZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NUb1N0eWxlTWFwLmNwcCcsCkBAIC01
NTQ4LDYgKzU1NTEsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvRE9NQ1NTU3R5bGVSdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdHlsZVNoZWV0Lm1tJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNT
U1N0eWxlU2hlZXRJbnRlcm5hbC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1N1cHBvcnRzUnVsZS5tbScsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdXBwb3J0c1J1bGVJ
bnRlcm5hbC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0RPTUNTU1Vua25vd25SdWxlLm1tJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NW
YWx1ZS5tbScsCkBAIC02MTA2LDYgKzYxMTEsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUuaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQu
Y3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTU3R5bGVTaGVldC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTU3VwcG9ydHNSdWxlLmNwcCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N1cHBvcnRzUnVsZS5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
VW5rbm93blJ1bGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDJmOTYxNjUzZWI1OTMw
ZTMwODg3ZWQ5ODgzZmM0ZDdhYTc1NTE3Y2IuLmY5Yzk1ZDBmNDA3NDQ2MTFhYmU3ZjZhNWFhYjIy
ZDdiYTFhMDljYTggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC0yMzYyLDYgKzIzNjIsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU1N1cHBvcnRzUnVsZS5jcHAiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NTdXBw
b3J0c1J1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0NTU1ZhbHVlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0z
NzI0Niw2ICszNzMwMiw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxjc3NcQ1NTU3VwcG9ydHNSdWxlLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1N1cHBvcnRz
UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDgzNTNkZjhmZjk1ZGQ0M2I2NGFiYWY4YzU2MDY5ZDI1Y2RiMDIxNDguLmMz
MWM3MTNjN2RkNDUxZTk3YjBkMDFjNjEyNTY0NjZjNTFhNTQwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0MjMsNiArNjQy
MywxMyBAQAogCQlGQkQ2QUY4QjE1RUYyNUU1MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODYx
NUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmNwcCAqLzsgfTsKIAkJRkJENkFGOEMx
NUVGMjYwNDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2QUY4MzE1RUYyMUEzMDA4QjcxMTAgLyogQmFzaWNT
aGFwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlGQkQ2QUY4RDE1RUYyNjBBMDA4QjcxMTAgLyogQmFzaWNTaGFwZXMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODIxNUVGMjFBMzAwOEI3
MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCAqLzsgfTsKKwkJRkM2M0JEQjMxNjdBQUJBQzAwRjkzODBG
IC8qIENTU1N1cHBvcnRzUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQzYzQkRCMDE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxl
LmNwcCAqLzsgfTsKKwkJRkM2M0JEQjQxNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVs
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkM2M0JE
QjExNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5oICovOyB9OworCQlGQzdFNjZF
OTE2ODBFRjFGMDAyODM3MTYgLyogSlNDU1NTdXBwb3J0c1J1bGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkM4NDgwMkQxNjdBQjQ0NDAwOENEMTAw
IC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLzsgfTsKKwkJRkM3RTY2RUExNjgwRUYyMjAwMjgz
NzE2IC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQzg0ODAyRTE2N0FCNDQ0MDA4Q0QxMDAgLyogSlNDU1NTdXBwb3J0
c1J1bGUuaCAqLzsgfTsKKwkJRkNDNTJENjUxNjdCRTI3NjAwM0RDMEUyIC8qIERPTUNTU1N1cHBv
cnRzUnVsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZDQzRCMkMzMTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gKi87IH07
CisJCUZDQzUyRDY2MTY3QkUyN0UwMDNEQzBFMiAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZDQzRCMkMyMTY3QkRC
MTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCAqLzsgfTsKKwkJRkNDNTJENjcxNjdC
RTJBQTAwM0RDMEUyIC8qIERPTUNTU1N1cHBvcnRzUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0M0QjJDNDE2N0JEQjE5MDBBNTVD
NDIgLyogRE9NQ1NTU3VwcG9ydHNSdWxlSW50ZXJuYWwuaCAqLzsgfTsKIAkJRkQwMEQ3QTQxNEEz
RjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQwMEQ3QTIxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNS
ZXNhbXBsZXIuY3BwICovOyB9OwogCQlGRDAwRDdBNTE0QTNGNjE5MDA3MzQwMTEgLyogU2luY1Jl
c2FtcGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkQwMEQ3QTMxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuaCAqLzsgfTsKIAkJRkQw
NkRGQTUxMzRBNERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDA2REZBMzEz
NEE0REVGMDA2RjVEN0QgLyogRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCAqLzsgfTsK
QEAgLTEzOTYzLDYgKzEzOTcwLDE0IEBACiAJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBC
YXNpY1NoYXBlRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJh
c2ljU2hhcGVGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFG
ODYxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0Jhc2ljU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkJENkFGODcxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0Jhc2ljU2hhcGVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDNjNCREIwMTY3QUFCQUMwMEY5MzgwRiAvKiBD
U1NTdXBwb3J0c1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q1NTU3VwcG9ydHNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkM2M0JE
QjExNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDU1NTdXBwb3J0c1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRkM2M0JEQjIxNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTU3VwcG9ydHNSdWxlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkM4NDgwMkQxNjdBQjQ0NDAwOENEMTAwIC8qIEpTQ1NTU3VwcG9y
dHNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1NTU3Vw
cG9ydHNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkM4NDgwMkUxNjdB
QjQ0NDAwOENEMTAwIC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQ1NTU3VwcG9ydHNSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUZDQzRCMkMyMTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTU3VwcG9ydHNSdWxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDQzRCMkMzMTY3QkRCMTkwMEE1NUM0MiAvKiBE
T01DU1NTdXBwb3J0c1J1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBET01DU1NTdXBwb3J0c1J1bGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUZDQzRCMkM0MTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NTdXBwb3J0c1J1bGVJbnRl
cm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQ0VCQ0Q3MTE2MjNBNzkxMDAy
OTk2NUUgLyogQ1NTR3JhbW1hci55LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS55YWNjOyBwYXRo
ID0gQ1NTR3JhbW1hci55LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQ0VCQ0Q3
MjE2MjNBNzkxMDAyOTk2NUUgLyogQ1NTR3JhbW1hci55LmluY2x1ZGVzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS55YWNjOyBwYXRoID0gQ1NTR3JhbW1hci55LmluY2x1ZGVzOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGRDAwRDdBMjE0QTNGNjE5MDA3MzQwMTEgLyogU2luY1Jlc2FtcGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW5jUmVzYW1wbGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MzQxLDYgKzE2MzU2LDkgQEAK
IAkJCQk4NTAzMkRENDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLm1tICovLAog
CQkJCTg1OEMzOTI2MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggKi8sCiAJ
CQkJODU4QzM5MjcwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQubW0gKi8sCisJ
CQkJRkNDNEIyQzIxNjdCREIxOTAwQTU1QzQyIC8qIERPTUNTU1N1cHBvcnRzUnVsZS5oICovLAor
CQkJCUZDQzRCMkMzMTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gKi8s
CisJCQkJRkNDNEIyQzQxNjdCREIxOTAwQTU1QzQyIC8qIERPTUNTU1N1cHBvcnRzUnVsZUludGVy
bmFsLmggKi8sCiAJCQkJODUwMzJERDUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25S
dWxlLmggKi8sCiAJCQkJODUwMzJERDYwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25S
dWxlLm1tICovLAogCQkJCTg1OEMzODFBMEFBOEUyOTYwMEIxODdBNCAvKiBET01DU1NWYWx1ZS5o
ICovLApAQCAtMTkxNTcsNiArMTkxNzUsOCBAQAogCQkJCUJDNDZDMjA1MEMwRERDQTEwMDIwQ0ZD
MyAvKiBKU0NTU1N0eWxlUnVsZS5oICovLAogCQkJCUJDQzVCREZFMEMwRTkzMTEwMDExQzJEQiAv
KiBKU0NTU1N0eWxlU2hlZXQuY3BwICovLAogCQkJCUJDQzVCREZGMEMwRTkzMTEwMDExQzJEQiAv
KiBKU0NTU1N0eWxlU2hlZXQuaCAqLywKKwkJCQlGQzg0ODAyRDE2N0FCNDQ0MDA4Q0QxMDAgLyog
SlNDU1NTdXBwb3J0c1J1bGUuY3BwICovLAorCQkJCUZDODQ4MDJFMTY3QUI0NDQwMDhDRDEwMCAv
KiBKU0NTU1N1cHBvcnRzUnVsZS5oICovLAogCQkJCTE0Q0Y3OEEzMDlGNThDQkYwMEVCMzY2NSAv
KiBKU0NTU1ZhbHVlLmNwcCAqLywKIAkJCQkxNENGNzhBNTA5RjU4Q0Q4MDBFQjM2NjUgLyogSlND
U1NWYWx1ZS5oICovLAogCQkJCUE4RDA1RkE5MEEyM0IzMEYwMDVFNzIwMyAvKiBKU0NTU1ZhbHVl
TGlzdC5jcHAgKi8sCkBAIC0yMTUwNiw2ICsyMTUyNiw5IEBACiAJCQkJQThFQTgwMDAwQTE5NTE2
RTAwQThFRjVGIC8qIENTU1N0eWxlU2hlZXQuY3BwICovLAogCQkJCUE4RUE3RkZGMEExOTUxNkUw
MEE4RUY1RiAvKiBDU1NTdHlsZVNoZWV0LmggKi8sCiAJCQkJODU4QzM5MTAwQUE4RkYwMDAwQjE4
N0E0IC8qIENTU1N0eWxlU2hlZXQuaWRsICovLAorCQkJCUZDNjNCREIwMTY3QUFCQUMwMEY5Mzgw
RiAvKiBDU1NTdXBwb3J0c1J1bGUuY3BwICovLAorCQkJCUZDNjNCREIxMTY3QUFCQUMwMEY5Mzgw
RiAvKiBDU1NTdXBwb3J0c1J1bGUuaCAqLywKKwkJCQlGQzYzQkRCMjE2N0FBQkFDMDBGOTM4MEYg
LyogQ1NTU3VwcG9ydHNSdWxlLmlkbCAqLywKIAkJCQlCQzgwQzk4NTBDRDI5NEVFMDBBMEI3QjMg
LyogQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgKi8sCiAJCQkJQkM4MEM5ODYwQ0QyOTRFRTAw
QTBCN0IzIC8qIENTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCAqLywKIAkJCQlBODgyREExRjE1OTM4
NDZBMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5jcHAgKi8sCkBAIC0yNTk3Myw2ICsyNTk5Niwx
MCBAQAogCQkJCTMxRDU5MUIzMTY2OTdBNkMwMEU2QkYwMiAvKiBQbHVnSW5DbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMxRDU5MUJDMTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5I
YXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQk5ODZFQTg4MzE1RkZGMjkwMDA5ODVFNUUgLyogUHJl
cmVuZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGQzYzQkRCNDE2N0FBQkFDMDBGOTM4
MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQ0M1MkQ2NjE2N0JF
MjdFMDAzREMwRTIgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlG
Q0M1MkQ2NzE2N0JFMkFBMDAzREMwRTIgLyogRE9NQ1NTU3VwcG9ydHNSdWxlSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAorCQkJCUZDN0U2NkVBMTY4MEVGMjIwMDI4MzcxNiAvKiBKU0NTU1N1cHBv
cnRzUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1MTNENEYxNjc3RUE4MzAwMTQ5RkNCIC8q
IEluaXRpYWxpemVMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREE5MzI1RTE2NzAzQjJB
MDA4OTgyREMgLyogT2ZmbGluZUF1ZGlvQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRB
OTMyNjcxNjcwM0JBOTAwODk4MkRDIC8qIEpTT2ZmbGluZUF1ZGlvQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yOTA5Niw2ICsyOTEyMyw5IEBACiAJCQkJOUE5Q0VGOEQxNjNCM0VBMTAwREU3
RUZFIC8qIEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEZCODg5MEUxNjdEMzAxNjAwMTBDREE1IC8qIFNjcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQzYzQkRCMzE2N0FBQkFDMDBG
OTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZDQzUyRDY1
MTY3QkUyNzYwMDNEQzBFMiAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gaW4gU291cmNlcyAqLywK
KwkJCQlGQzdFNjZFOTE2ODBFRjFGMDAyODM3MTYgLyogSlNDU1NTdXBwb3J0c1J1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3Vz
dG9tLmNwcAppbmRleCAyYTQ2NWRjN2RjMWVkODc2NjA3ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi4w
ZDY3ZDEyYTAzM2M3ZTZiNTcxNWJhMWQ4ZjE3MjcxOTNlZjEyMGI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTMyLDEyICszMiwxNCBA
QAogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAj
aW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAj
aW5jbHVkZSAiSlNDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxl
LmgiCiAjaW5jbHVkZSAiSlNDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1
bGUuaCIKICNpbmNsdWRlICJKU0NTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZVJ1
bGUuaCIKKyNpbmNsdWRlICJKU0NTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5o
IgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiSlNXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC05Niw2ICs5OCwxMSBAQCBKU1ZhbHVlIHRvSlMoRXhl
Y1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDU1NSdWxlKiBy
dWxlKQogICAgICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRToKICAgICAg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLCBydWxlKTsKICAgICAgICAgICAgIGJyZWFrOworI2lmIEVO
QUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgICAgICBjYXNlIENTU1J1bGU6OlNVUFBP
UlRTX1JVTEU6CisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMs
IGdsb2JhbE9iamVjdCwgQ1NTU3VwcG9ydHNSdWxlLCBydWxlKTsKKyAgICAgICAgICAgIGJyZWFr
OworI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICAgICAgY2Fz
ZSBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVMRToKICAgICAgICAgICAgIHdyYXBwZXIgPSBD
UkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NWaWV3cG9ydFJ1
bGUsIHJ1bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01D
U1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQppbmRleCAzYzFk
YTgyMzEyMTljNmIxNDcxMWI4YTQ1ODUzM2NiMTdiODEwZmRjLi5kZGYxNGQxNzgxYmQ0YWQwYzhh
ZTkzN2M2OWQzN2FkMTRhMDY2MjQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUNTUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbQpAQCAtNDAsNiArNDAsNyBAQAogI2ltcG9ydCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5o
IgogI2ltcG9ydCAiRE9NQ1NTU3R5bGVSdWxlLmgiCiAjaW1wb3J0ICJET01DU1NTdHlsZVNoZWV0
LmgiCisjaW1wb3J0ICJET01DU1NTdXBwb3J0c1J1bGUuaCIKICNpbXBvcnQgIkRPTUNTU1Vua25v
d25SdWxlLmgiCiAjaW1wb3J0ICJET01DU1NWYWx1ZUludGVybmFsLmgiCiAjaW1wb3J0ICJET01D
U1NWYWx1ZUxpc3QuaCIKQEAgLTk5LDYgKzEwMCwxMCBAQCBDbGFzcyBraXRDbGFzcyhXZWJDb3Jl
OjpDU1NSdWxlKiBpbXBsKQogICAgICAgICAgICAgcmV0dXJuIFtET01XZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlIGNsYXNzXTsKICAgICAgICAgY2FzZSBET01fV0VCS0lUX0tFWUZSQU1FX1JVTEU6CiAg
ICAgICAgICAgICByZXR1cm4gW0RPTVdlYktpdENTU0tleWZyYW1lUnVsZSBjbGFzc107CisjaWYg
RU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgICAgIGNhc2UgRE9NX1NVUFBPUlRT
X1JVTEU6CisgICAgICAgICAgICByZXR1cm4gW0RPTUNTU1N1cHBvcnRzUnVsZSBjbGFzc107Cisj
ZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQogICAgICAgICBjYXNlIERP
TV9XRUJLSVRfVklFV1BPUlRfUlVMRToKICAgICAgICAgICAgIHJldHVybiBbRE9NV2ViS2l0Q1NT
Vmlld3BvcnRSdWxlIGNsYXNzXTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3Y4L2N1c3RvbS9WOENTU1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
djgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHAKaW5kZXggZDE1MWNkOGIwZjVjOWM2OTQzODg2
Zjc1MmI5ZDg2M2M2Y2QxMzc2YS4uNmJmNmVlYzc3NGE4MDQ5ZDg0ZGQwZTI1NDJlODZiYjVhNjQw
NThhOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NT
UnVsZUN1c3RvbS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q1NTUnVsZUN1c3RvbS5jcHAKQEAgLTM3LDYgKzM3LDkgQEAKICNpbmNsdWRlICJWOENTU01lZGlh
UnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTUGFnZVJ1bGUuaCIKICNpbmNsdWRlICJWOENTU1N0eWxl
UnVsZS5oIgorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorI2luY2x1ZGUgIlY4
Q1NTU3VwcG9ydHNSdWxlLmgiCisjZW5kaWYKICNpbmNsdWRlICJWOFdlYktpdENTU0tleWZyYW1l
UnVsZS5oIgogI2luY2x1ZGUgIlY4V2ViS2l0Q1NTS2V5ZnJhbWVzUnVsZS5oIgogI2luY2x1ZGUg
IlY4V2ViS2l0Q1NTUmVnaW9uUnVsZS5oIgpAQCAtNzIsNiArNzUsMTAgQEAgdjg6OkhhbmRsZTx2
ODo6T2JqZWN0PiB3cmFwKENTU1J1bGUqIGltcGwsIHY4OjpIYW5kbGU8djg6Ok9iamVjdD4gY3Jl
YXRpb25Db250ZXgKICAgICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTS2V5
ZnJhbWVSdWxlKj4oaW1wbCksIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CiAgICAgY2FzZSBD
U1NSdWxlOjpXRUJLSVRfS0VZRlJBTUVTX1JVTEU6CiAgICAgICAgIHJldHVybiB3cmFwKHN0YXRp
Y19jYXN0PFdlYktpdENTU0tleWZyYW1lc1J1bGUqPihpbXBsKSwgY3JlYXRpb25Db250ZXh0LCBp
c29sYXRlKTsKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAgICBjYXNlIENT
U1J1bGU6OlNVUFBPUlRTX1JVTEU6CisgICAgICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PENT
U1N1cHBvcnRzUnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2VuZGlm
CiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICBjYXNlIENTU1J1bGU6OldF
QktJVF9WSUVXUE9SVF9SVUxFOgogICAgICAgICByZXR1cm4gd3JhcChzdGF0aWNfY2FzdDxXZWJL
aXRDU1NWaWV3cG9ydFJ1bGUqPihpbXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4gYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTR3JhbW1hci55LmluCmluZGV4IGZhMWM2ODg5MWQyNzA4ZTM3OWUwNmMxOTk5
MTc1MGRiYTQ3MTM2NGIuLjE3ZWE1MDNlMWVhNjQ1OWEwODlmZDJlY2Y4NDM5NDZlOGE1ODI3OGUg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4KKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgpAQCAtNDQ3LDkgKzQ0NywxMyBAQCBibG9j
a19ydWxlX2xpc3Q6CiAKIGJsb2NrX3ZhbGlkX3J1bGU6CiAgICAgcnVsZXNldAorICB8IG1lZGlh
CiAgIHwgcGFnZQogICB8IGZvbnRfZmFjZQogICB8IGtleWZyYW1lcworI2lmIEVOQUJMRV9DU1Mz
X0NPTkRJVElPTkFMX1JVTEVTCisgIHwgc3VwcG9ydHMKKyNlbmRpZgogI2lmIEVOQUJMRV9DU1Nf
REVWSUNFX0FEQVBUQVRJT04KICAgfCB2aWV3cG9ydAogI2VuZGlmCkBAIC00NjEsMTAgKzQ2NSw2
IEBAIGJsb2NrX3J1bGU6CiAgIHwgaW52YWxpZF9hdAogICB8IG5hbWVzcGFjZQogICB8IGltcG9y
dAotICB8IG1lZGlhCi0jaWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKLSAgfCBzdXBw
b3J0cwotI2VuZGlmCiAgIDsKIAogYXRfaW1wb3J0X2hlYWRlcl9lbmRfbWF5YmVfc3BhY2U6CkBA
IC02NjIsMTMgKzY2MiwyMiBAQCBtZWRpdW06CiAKICNpZiBFTkFCTEVfQ1NTM19DT05ESVRJT05B
TF9SVUxFUwogc3VwcG9ydHM6Ci0gICAgU1VQUE9SVFNfU1lNIG1heWJlX3NwYWNlIHN1cHBvcnRz
X2NvbmRpdGlvbiAneycgbWF5YmVfc3BhY2UgYmxvY2tfcnVsZV9saXN0IHNhdmVfYmxvY2sgewot
ICAgICAgICBDU1NQYXJzZXIqIHAgPSBzdGF0aWNfY2FzdDxDU1NQYXJzZXIqPihwYXJzZXIpOwot
ICAgICAgICBpZiAoJDMgJiYgJDYgJiYgcC0+bV9zdHlsZVNoZWV0KSB7Ci0gICAgICAgICAgICBm
b3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgJDYtPnNpemUoKTsgaSsrKQotICAgICAgICAgICAgICAg
IHAtPm1fc3R5bGVTaGVldC0+cGFyc2VyQXBwZW5kUnVsZSgkNi0+YXQoaSkucmVsZWFzZSgpKTsK
LSAgICAgICAgfQotICAgICAgICAkJCA9IDA7CisgICAgYmVmb3JlX3N1cHBvcnRzX3J1bGUgU1VQ
UE9SVFNfU1lNIG1heWJlX3NwYWNlIHN1cHBvcnRzX2NvbmRpdGlvbiBhdF9zdXBwb3J0c19ydWxl
X2hlYWRlcl9lbmQgJ3snIGF0X3J1bGVfYm9keV9zdGFydCBtYXliZV9zcGFjZSBibG9ja19ydWxl
X2xpc3Qgc2F2ZV9ibG9jayB7CisgICAgICAgICQkID0gcGFyc2VyLT5jcmVhdGVTdXBwb3J0c1J1
bGUoJDQsICQ5KTsKKyAgICB9CisgICAgOworCitiZWZvcmVfc3VwcG9ydHNfcnVsZToKKyAgICAv
KiBlbXB0eSAqLyB7CisgICAgICAgIHBhcnNlci0+bWFya1J1bGVIZWFkZXJTdGFydChDU1NSdWxl
U291cmNlRGF0YTo6U1VQUE9SVFNfUlVMRSk7CisgICAgICAgIHBhcnNlci0+bWFya1N1cHBvcnRz
UnVsZUhlYWRlclN0YXJ0KCk7CisgICAgfQorICAgIDsKKworYXRfc3VwcG9ydHNfcnVsZV9oZWFk
ZXJfZW5kOgorICAgIC8qIGVtcHR5ICovIHsKKyAgICAgICAgcGFyc2VyLT5tYXJrUnVsZUhlYWRl
ckVuZCgpOworICAgICAgICBwYXJzZXItPm1hcmtTdXBwb3J0c1J1bGVIZWFkZXJFbmQoKTsKICAg
ICB9CiAgICAgOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCmluZGV4IGRkMTAxOTUxYWE0Y2Ez
OGIwNTRiNzUzYzc0YzFkNDZkOTMyYzY2MDguLjIxZDIwN2NjZDRmMjZiZTgwNzNmYWUyYzVlNjFk
MDM2Zjc3NjRlZjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwCkBAIC0xMDQ2Nyw2ICsxMDQ2
Nyw2MiBAQCBTdHlsZVJ1bGVCYXNlKiBDU1NQYXJzZXI6OmNyZWF0ZU1lZGlhUnVsZShNZWRpYVF1
ZXJ5U2V0KiBtZWRpYSwgUnVsZUxpc3QqIHJ1bGVzKQogICAgIHJldHVybiByZXN1bHQ7CiB9CiAK
KyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKK1N0eWxlUnVsZUJhc2UqIENTU1Bh
cnNlcjo6Y3JlYXRlU3VwcG9ydHNSdWxlKGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFJ1bGVM
aXN0KiBydWxlcykKK3sKKyAgICBtX2FsbG93SW1wb3J0UnVsZXMgPSBtX2FsbG93TmFtZXNwYWNl
RGVjbGFyYXRpb25zID0gZmFsc2U7CisKKyAgICBBU1NFUlQoIW1fc3VwcG9ydHNSdWxlRGF0YVN0
YWNrLT5pc0VtcHR5KCkpOworICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gZGF0YSA9IG1f
c3VwcG9ydHNSdWxlRGF0YVN0YWNrLT5sYXN0KCk7CisgICAgbV9zdXBwb3J0c1J1bGVEYXRhU3Rh
Y2stPnJlbW92ZUxhc3QoKTsKKyAgICBpZiAobV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmlzRW1w
dHkoKSkKKyAgICAgICAgbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2suY2xlYXIoKTsKKworICAgIFJl
ZlB0cjxTdHlsZVJ1bGVTdXBwb3J0cz4gcnVsZTsKKyAgICBTdHJpbmcgY29uZGl0aW9uVGV4dDsK
KyAgICB1bnNpZ25lZCBjb25kaXRpb25PZmZzZXQgPSBkYXRhLT5ydWxlSGVhZGVyUmFuZ2Uuc3Rh
cnQgKyA5OworICAgIHVuc2lnbmVkIGNvbmRpdGlvbkxlbmd0aCA9IGRhdGEtPnJ1bGVIZWFkZXJS
YW5nZS5sZW5ndGgoKSAtIDk7CisKKyAgICBpZiAoaXM4Qml0U291cmNlKCkpCisgICAgICAgIGNv
bmRpdGlvblRleHQgPSBTdHJpbmcobV9kYXRhU3RhcnQ4LmdldCgpICsgY29uZGl0aW9uT2Zmc2V0
LCBjb25kaXRpb25MZW5ndGgpLnN0cmlwV2hpdGVTcGFjZSgpOworICAgIGVsc2UKKyAgICAgICAg
Y29uZGl0aW9uVGV4dCA9IFN0cmluZyhtX2RhdGFTdGFydDE2LmdldCgpICsgY29uZGl0aW9uT2Zm
c2V0LCBjb25kaXRpb25MZW5ndGgpLnN0cmlwV2hpdGVTcGFjZSgpOworCisgICAgaWYgKHJ1bGVz
KQorICAgICAgICBydWxlID0gU3R5bGVSdWxlU3VwcG9ydHM6OmNyZWF0ZShjb25kaXRpb25UZXh0
LCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgKnJ1bGVzKTsKKyAgICBlbHNlIHsKKyAgICAgICAgUnVs
ZUxpc3QgZW1wdHlSdWxlczsKKyAgICAgICAgcnVsZSA9IFN0eWxlUnVsZVN1cHBvcnRzOjpjcmVh
dGUoY29uZGl0aW9uVGV4dCwgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIGVtcHR5UnVsZXMpOworICAg
IH0KKworICAgIFN0eWxlUnVsZVN1cHBvcnRzKiByZXN1bHQgPSBydWxlLmdldCgpOworICAgIG1f
cGFyc2VkUnVsZXMuYXBwZW5kKHJ1bGUucmVsZWFzZSgpKTsKKyAgICBwcm9jZXNzQW5kQWRkTmV3
UnVsZVRvU291cmNlVHJlZUlmTmVlZGVkKCk7CisKKyAgICByZXR1cm4gcmVzdWx0OworfQorCit2
b2lkIENTU1BhcnNlcjo6bWFya1N1cHBvcnRzUnVsZUhlYWRlclN0YXJ0KCkKK3sKKyAgICBpZiAo
IW1fc3VwcG9ydHNSdWxlRGF0YVN0YWNrKQorICAgICAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFj
ayA9IGFkb3B0UHRyKG5ldyBSdWxlU291cmNlRGF0YUxpc3QoKSk7CisKKyAgICBSZWZQdHI8Q1NT
UnVsZVNvdXJjZURhdGE+IGRhdGEgPSBDU1NSdWxlU291cmNlRGF0YTo6Y3JlYXRlKENTU1J1bGVT
b3VyY2VEYXRhOjpTVVBQT1JUU19SVUxFKTsKKyAgICBkYXRhLT5ydWxlSGVhZGVyUmFuZ2Uuc3Rh
cnQgPSB0b2tlblN0YXJ0T2Zmc2V0KCk7CisgICAgbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmFw
cGVuZChkYXRhKTsKK30KKwordm9pZCBDU1NQYXJzZXI6Om1hcmtTdXBwb3J0c1J1bGVIZWFkZXJF
bmQoKQoreworICAgIEFTU0VSVCghbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7
CisKKyAgICBpZiAoaXM4Qml0U291cmNlKCkpCisgICAgICAgIG1fc3VwcG9ydHNSdWxlRGF0YVN0
YWNrLT5sYXN0KCktPnJ1bGVIZWFkZXJSYW5nZS5lbmQgPSB0b2tlblN0YXJ0PExDaGFyPigpIC0g
bV9kYXRhU3RhcnQ4LmdldCgpOworICAgIGVsc2UKKyAgICAgICAgbV9zdXBwb3J0c1J1bGVEYXRh
U3RhY2stPmxhc3QoKS0+cnVsZUhlYWRlclJhbmdlLmVuZCA9IHRva2VuU3RhcnQ8VUNoYXI+KCkg
LSBtX2RhdGFTdGFydDE2LmdldCgpOworfQorI2VuZGlmCisKIENTU1BhcnNlcjo6UnVsZUxpc3Qq
IENTU1BhcnNlcjo6Y3JlYXRlUnVsZUxpc3QoKQogewogICAgIE93blB0cjxSdWxlTGlzdD4gbGlz
dCA9IGFkb3B0UHRyKG5ldyBSdWxlTGlzdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUGFyc2VyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKaW5kZXggMzky
ZmY5ODQwYzVhNmM4MzljMmYyMTQ0MzdhYjc1ODRiYjcyNWE5ZC4uNDliNGM2ZTNlYTc2MWY0NzEw
OGFlYzZjN2VkMjU1ZDY2ZjY3ZmYxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaApAQCAtMjkwLDYg
KzI5MCwxMSBAQCBwdWJsaWM6CiAgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRlUGFnZVJ1bGUoUGFz
c093blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gcGFnZVNlbGVjdG9yKTsKICAgICBTdHlsZVJ1bGVC
YXNlKiBjcmVhdGVSZWdpb25SdWxlKFZlY3RvcjxPd25QdHI8Q1NTUGFyc2VyU2VsZWN0b3I+ID4q
IHJlZ2lvblNlbGVjdG9yLCBSdWxlTGlzdCogcnVsZXMpOwogICAgIFN0eWxlUnVsZUJhc2UqIGNy
ZWF0ZU1hcmdpbkF0UnVsZShDU1NTZWxlY3Rvcjo6TWFyZ2luQm94VHlwZSk7CisjaWYgRU5BQkxF
KENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRlU3VwcG9y
dHNSdWxlKGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFJ1bGVMaXN0Kik7CisgICAgdm9pZCBt
YXJrU3VwcG9ydHNSdWxlSGVhZGVyU3RhcnQoKTsKKyAgICB2b2lkIG1hcmtTdXBwb3J0c1J1bGVI
ZWFkZXJFbmQoKTsKKyNlbmRpZgogI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAgIFN0eWxlUnVs
ZUJhc2UqIGNyZWF0ZUhvc3RSdWxlKFJ1bGVMaXN0KiBydWxlcyk7CiAjZW5kaWYKQEAgLTU2NCw2
ICs1NjksMTAgQEAgcHJpdmF0ZToKIAogICAgIFJlZlB0cjxDU1NDYWxjVmFsdWU+IG1fcGFyc2Vk
Q2FsY3VsYXRpb247CiAKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAgICBP
d25QdHI8UnVsZVNvdXJjZURhdGFMaXN0PiBtX3N1cHBvcnRzUnVsZURhdGFTdGFjazsKKyNlbmRp
ZgorCiAgICAgLy8gZGVmaW5lcyB1bml0cyBhbGxvd2VkIGZvciBhIGNlcnRhaW4gcHJvcGVydHks
IHVzZWQgaW4gcGFyc2VVbml0CiAgICAgZW51bSBVbml0cyB7CiAgICAgICAgIEZVbmtub3duID0g
MHgwMDAwLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNl
RGF0YS5oIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCmluZGV4
IGUxMmFhYWUwNDNkMjIzYWIxYWE0YTFiYjA2ZjRjN2MwM2VhZDlhYzEuLjJjOTBmODNmMTRjZmEw
YjFiNmE2MjkyZmM1ZmI5NDNjOWFiZDI5NDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJv
cGVydHlTb3VyY2VEYXRhLmgKQEAgLTk3LDcgKzk3LDggQEAgc3RydWN0IENTU1J1bGVTb3VyY2VE
YXRhIDogcHVibGljIFJlZkNvdW50ZWQ8Q1NTUnVsZVNvdXJjZURhdGE+IHsKICAgICAgICAgS0VZ
RlJBTUVTX1JVTEUsCiAgICAgICAgIFJFR0lPTl9SVUxFLAogICAgICAgICBIT1NUX1JVTEUsCi0g
ICAgICAgIFZJRVdQT1JUX1JVTEUKKyAgICAgICAgVklFV1BPUlRfUlVMRSwKKyAgICAgICAgU1VQ
UE9SVFNfUlVMRQogICAgIH07CiAKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NSdWxlU291cmNl
RGF0YT4gY3JlYXRlKFR5cGUgdHlwZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5oCmluZGV4IDA3NThlNzRmODE1
MGE5Nzk0ZWExY2I4MzgxMTI2MTExNDRmMzIwNjcuLjRmMDFiZGQ5Zjk5NGY4ZTIwY2Y2YzRhZTU0
MTExNDI5YWI0OTIyMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaApAQCAtNTAsNiArNTAsOSBAQCBwdWJs
aWM6CiAgICAgICAgIC8vIDxodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
NzEyOTM+LgogICAgICAgICBXRUJLSVRfS0VZRlJBTUVTX1JVTEUsCiAgICAgICAgIFdFQktJVF9L
RVlGUkFNRV9SVUxFLAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgICAg
ICBTVVBQT1JUU19SVUxFID0gMTIsCisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQ
VEFUSU9OKQogICAgICAgICBXRUJLSVRfVklFV1BPUlRfUlVMRSA9IDE1LAogI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVsZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTUnVsZS5pZGwKaW5kZXggYWYxMThmZTcyYjliODA3NGY3ZDYwODJkMDkzZTI3MGNmZjJi
MTA2OC4uMzBiMWMyMWQwNGJkZjkxNzhiNjkwMjAwNTMwZWQ2NzY5ODZlY2Y3ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmlkbApAQCAtMzcsNiArMzcsOSBAQAogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0
IFBBR0VfUlVMRSA9IDY7CiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgV0VCS0lUX0tFWUZSQU1F
U19SVUxFID0gNzsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVfUlVM
RSA9IDg7CisjaWYgZGVmaW5lZChFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUykgJiYgRU5B
QkxFX0NTUzNfQ09ORElUSU9OQUxfUlVMRVMKKyAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBTVVBQ
T1JUU19SVUxFID0gMTI7CisjZW5kaWYKICNpZiBkZWZpbmVkKEVOQUJMRV9DU1NfREVWSUNFX0FE
QVBUQVRJT04pICYmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBUQVRJT04KICAgICBjb25zdCB1bnNp
Z25lZCBzaG9ydCBXRUJLSVRfVklFV1BPUlRfUlVMRSA9IDE1OwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZiNjg3NTU5Y2UzOGQxNmUxMGEx
MGM2ZmMxYTRjZjU1NTg0MDQwMmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3VwcG9ydHNSdWxlLmNwcApAQCAtMCwwICsxLDE3NSBAQAorLyogQ29weXJpZ2h0IChD
KSAyMDEyIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoKKyAqCisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbgorICogICAgdGhlIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4g
bm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0byBl
bmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRoaXMKKyAqICAgIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKKyAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCisg
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAorICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgorCisj
aW5jbHVkZSAiQ1NTUGFyc2VyLmgiCisjaW5jbHVkZSAiQ1NTUnVsZUxpc3QuaCIKKyNpbmNsdWRl
ICJDU1NTdHlsZVNoZWV0LmgiCisjaW5jbHVkZSAiRXhjZXB0aW9uQ29kZS5oIgorI2luY2x1ZGUg
IlN0eWxlUnVsZS5oIgorI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVtZW50YXRpb24uaCIK
KyNpbmNsdWRlIDx3dGYvTWVtb3J5SW5zdHJ1bWVudGF0aW9uVmVjdG9yLmg+CisjaW5jbHVkZSA8
d3RmL3RleHQvU3RyaW5nQnVpbGRlci5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK0NTU1N1
cHBvcnRzUnVsZTo6Q1NTU3VwcG9ydHNSdWxlKFN0eWxlUnVsZVN1cHBvcnRzKiBzdXBwb3J0c1J1
bGUsIENTU1N0eWxlU2hlZXQqIHBhcmVudCkKKyAgICA6IENTU1J1bGUocGFyZW50KQorICAgICwg
bV9zdXBwb3J0c1J1bGUoc3VwcG9ydHNSdWxlKQorICAgICwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzKHN1cHBvcnRzUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSkKK3sKK30KKworQ1NTU3VwcG9y
dHNSdWxlOjp+Q1NTU3VwcG9ydHNSdWxlKCkKK3sKKyAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NP
TVdyYXBwZXJzLnNpemUoKSA9PSBtX3N1cHBvcnRzUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7
CisKKyAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJz
LnNpemUoKTsgKytpKSB7CisgICAgICAgIGlmIChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0p
CisgICAgICAgICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnNbaV0tPnNldFBhcmVudFJ1bGUo
MCk7CisgICAgfQorfQorCit1bnNpZ25lZCBDU1NTdXBwb3J0c1J1bGU6Omluc2VydFJ1bGUoY29u
c3QgU3RyaW5nJiBydWxlU3RyaW5nLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9uQ29kZSYgZWMp
Cit7CisgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9zdXBw
b3J0c1J1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOworCisgICAgaWYgKGluZGV4ID4gbV9zdXBw
b3J0c1J1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpF
X0VSUjsKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgQ1NTUGFyc2VyIHBhcnNlcihw
YXJzZXJDb250ZXh0KCkpOworICAgIENTU1N0eWxlU2hlZXQqIHN0eWxlU2hlZXQgPSBwYXJlbnRT
dHlsZVNoZWV0KCk7CisgICAgUmVmUHRyPFN0eWxlUnVsZUJhc2U+IG5ld1J1bGUgPSBwYXJzZXIu
cGFyc2VSdWxlKHN0eWxlU2hlZXQgPyBzdHlsZVNoZWV0LT5jb250ZW50cygpIDogMCwgcnVsZVN0
cmluZyk7CisgICAgaWYgKCFuZXdSdWxlKSB7CisgICAgICAgIGVjID0gU1lOVEFYX0VSUjsKKyAg
ICAgICAgcmV0dXJuIDA7CisgICAgfQorCisgICAgaWYgKG5ld1J1bGUtPmlzSW1wb3J0UnVsZSgp
KSB7CisgICAgICAgIC8vIEZJWE1FOiBhIEhJRVJBUkNIWV9SRVFVRVNUX0VSUiBzaG91bGQgYWxz
byBiZSB0aHJvd24gZm9yIGEgQGNoYXJzZXQgb3IgYSBuZXN0ZWQKKyAgICAgICAgLy8gQG1lZGlh
IHJ1bGUuIFRoZXkgYXJlIGN1cnJlbnRseSBub3QgZ2V0dGluZyBwYXJzZWQsIHJlc3VsdGluZyBp
biBhIFNZTlRBWF9FUlIKKyAgICAgICAgLy8gdG8gZ2V0IHJhaXNlZCBhYm92ZS4KKyAgICAgICAg
ZWMgPSBISUVSQVJDSFlfUkVRVUVTVF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKyAg
ICBDU1NTdHlsZVNoZWV0OjpSdWxlTXV0YXRpb25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOwor
CisgICAgbV9zdXBwb3J0c1J1bGUtPndyYXBwZXJJbnNlcnRSdWxlKGluZGV4LCBuZXdSdWxlKTsK
KworICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5pbnNlcnQoaW5kZXgsIFJlZlB0cjxDU1NS
dWxlPigpKTsKKyAgICByZXR1cm4gaW5kZXg7Cit9CisKK3ZvaWQgQ1NTU3VwcG9ydHNSdWxlOjpk
ZWxldGVSdWxlKHVuc2lnbmVkIGluZGV4LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBBU1NF
UlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNpemUoKSA9PSBtX3N1cHBvcnRzUnVsZS0+Y2hp
bGRSdWxlcygpLnNpemUoKSk7CisKKyAgICBpZiAoaW5kZXggPj0gbV9zdXBwb3J0c1J1bGUtPmNo
aWxkUnVsZXMoKS5zaXplKCkpIHsKKyAgICAgICAgZWMgPSBJTkRFWF9TSVpFX0VSUjsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKworICAgIENTU1N0eWxlU2hlZXQ6OlJ1bGVNdXRhdGlvblNjb3Bl
IG11dGF0aW9uU2NvcGUodGhpcyk7CisKKyAgICBtX3N1cHBvcnRzUnVsZS0+d3JhcHBlclJlbW92
ZVJ1bGUoaW5kZXgpOworCisgICAgaWYgKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpbmRleF0p
CisgICAgICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpbmRleF0tPnNldFBhcmVudFJ1bGUo
MCk7CisgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnJlbW92ZShpbmRleCk7Cit9CisKK1N0
cmluZyBDU1NTdXBwb3J0c1J1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxk
ZXIgcmVzdWx0OworCisgICAgcmVzdWx0LmFwcGVuZCgiQHN1cHBvcnRzICIpOworICAgIHJlc3Vs
dC5hcHBlbmQoY29uZGl0aW9uVGV4dCgpKTsKKyAgICByZXN1bHQuYXBwZW5kKCIge1xuIik7Cisg
ICAgdW5zaWduZWQgc2l6ZSA9IGxlbmd0aCgpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkg
PCBzaXplOyArK2kpIHsKKyAgICAgICAgcmVzdWx0LmFwcGVuZCgiICAiKTsKKyAgICAgICAgcmVz
dWx0LmFwcGVuZChpdGVtKGkpLT5jc3NUZXh0KCkpOworICAgICAgICByZXN1bHQuYXBwZW5kKCdc
bicpOworICAgIH0KKyAgICByZXN1bHQuYXBwZW5kKCd9Jyk7CisKKyAgICByZXR1cm4gcmVzdWx0
LnRvU3RyaW5nKCk7Cit9CisKK3Vuc2lnbmVkIENTU1N1cHBvcnRzUnVsZTo6bGVuZ3RoKCkgY29u
c3QKK3sKKyAgICByZXR1cm4gbV9zdXBwb3J0c1J1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCk7Cit9
CisKK0NTU1J1bGUqIENTU1N1cHBvcnRzUnVsZTo6aXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3QK
K3sKKyAgICBpZiAoaW5kZXggPj0gbGVuZ3RoKCkpCisgICAgICAgIHJldHVybiAwOworICAgIEFT
U0VSVChtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpID09IG1fc3VwcG9ydHNSdWxlLT5j
aGlsZFJ1bGVzKCkuc2l6ZSgpKTsKKyAgICBSZWZQdHI8Q1NTUnVsZT4mIHJ1bGUgPSBtX2NoaWxk
UnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdOworICAgIGlmICghcnVsZSkKKyAgICAgICAgcnVsZSA9
IG1fc3VwcG9ydHNSdWxlLT5jaGlsZFJ1bGVzKClbaW5kZXhdLT5jcmVhdGVDU1NPTVdyYXBwZXIo
Y29uc3RfY2FzdDxDU1NTdXBwb3J0c1J1bGUqPih0aGlzKSk7CisgICAgcmV0dXJuIHJ1bGUuZ2V0
KCk7Cit9CisKK0NTU1J1bGVMaXN0KiBDU1NTdXBwb3J0c1J1bGU6OmNzc1J1bGVzKCkgY29uc3QK
K3sKKyAgICBpZiAoIW1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpCisgICAgICAgIG1fcnVsZUxpc3RD
U1NPTVdyYXBwZXIgPSBhZG9wdFB0cihuZXcgTGl2ZUNTU1J1bGVMaXN0PENTU1N1cHBvcnRzUnVs
ZT4oY29uc3RfY2FzdDxDU1NTdXBwb3J0c1J1bGUqPih0aGlzKSkpOworICAgIHJldHVybiBtX3J1
bGVMaXN0Q1NTT01XcmFwcGVyLmdldCgpOworfQorCitTdHJpbmcgQ1NTU3VwcG9ydHNSdWxlOjpj
b25kaXRpb25UZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9zdXBwb3J0c1J1bGUtPmNvbmRp
dGlvblRleHQoKTsKK30KKwordm9pZCBDU1NTdXBwb3J0c1J1bGU6OnJlYXR0YWNoKFN0eWxlUnVs
ZUJhc2UqIHJ1bGUpCit7CisgICAgQVNTRVJUKHJ1bGUpOworICAgIEFTU0VSVChydWxlLT5pc1N1
cHBvcnRzUnVsZSgpKTsKKyAgICBtX3N1cHBvcnRzUnVsZSA9IHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVN1cHBvcnRzKj4ocnVsZSk7CisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8IG1fY2hpbGRS
dWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAobV9jaGlsZFJ1bGVD
U1NPTVdyYXBwZXJzW2ldKQorICAgICAgICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ld
LT5yZWF0dGFjaChtX3N1cHBvcnRzUnVsZS0+Y2hpbGRSdWxlcygpW2ldLmdldCgpKTsKKyAgICB9
Cit9CisKK3ZvaWQgQ1NTU3VwcG9ydHNSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShNZW1vcnlPYmpl
Y3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAoreworICAgIE1lbW9yeUNsYXNzSW5mbyBp
bmZvKG1lbW9yeU9iamVjdEluZm8sIHRoaXMsIFdlYkNvcmVNZW1vcnlUeXBlczo6Q1NTKTsKKyAg
ICBDU1NSdWxlOjpyZXBvcnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKKyAgICBpbmZv
LmFkZE1lbWJlcihtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMpOworICAgIGluZm8uYWRkTWVtYmVy
KG1fcnVsZUxpc3RDU1NPTVdyYXBwZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTM5M2Y4NmQxZTVmYzA2
MTllNzQyNTgzZWU0ZTFiZWNlNTJmMDgzZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaApAQCAtMCwwICsxLDczIEBACisvKiBDb3B5cmlnaHQg
KEMpIDIwMTIgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqIDMuIE5laXRoZXIgdGhlIG5hbWUgb2YgTW90b3JvbGEgTW9iaWxpdHkgSW5j
LiBub3IgdGhlIG5hbWVzIG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29m
dHdhcmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENP
TlRSSUJVVE9SUworICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQK
KyAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkKKyAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaWZuZGVmIENTU1N1cHBvcnRzUnVsZV9oCisjZGVmaW5lIENTU1N1cHBvcnRzUnVsZV9o
CisKKyNpbmNsdWRlICJDU1NSdWxlLmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworY2xhc3Mg
Q1NTUnVsZUxpc3Q7CitjbGFzcyBTdHlsZVJ1bGVTdXBwb3J0czsKKworY2xhc3MgQ1NTU3VwcG9y
dHNSdWxlIDogcHVibGljIENTU1J1bGUgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENTU1N1cHBvcnRzUnVsZT4gY3JlYXRlKFN0eWxlUnVsZVN1cHBvcnRzKiBydWxlLCBDU1NTdHls
ZVNoZWV0KiBzaGVldCkKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZihuZXcgQ1NTU3Vw
cG9ydHNSdWxlKHJ1bGUsIHNoZWV0KSk7CisgICAgfQorCisgICAgdmlydHVhbCB+Q1NTU3VwcG9y
dHNSdWxlKCk7CisKKyAgICB2aXJ0dWFsIENTU1J1bGU6OlR5cGUgdHlwZSgpIGNvbnN0IE9WRVJS
SURFIHsgcmV0dXJuIFNVUFBPUlRTX1JVTEU7IH0KKyAgICB2aXJ0dWFsIHZvaWQgcmVhdHRhY2go
U3R5bGVSdWxlQmFzZSopIE9WRVJSSURFOworICAgIHZpcnR1YWwgdm9pZCByZXBvcnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKikgY29uc3QgT1ZFUlJJREU7CisgICAgdmlydHVhbCBTdHJp
bmcgY3NzVGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgQ1NTUnVsZUxpc3QqIGNzc1J1bGVz
KCkgY29uc3Q7CisgICAgU3RyaW5nIGNvbmRpdGlvblRleHQoKSBjb25zdDsKKworICAgIHVuc2ln
bmVkIGluc2VydFJ1bGUoY29uc3QgU3RyaW5nJiBydWxlLCB1bnNpZ25lZCBpbmRleCwgRXhjZXB0
aW9uQ29kZSYpOworICAgIHZvaWQgZGVsZXRlUnVsZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0aW9u
Q29kZSYpOworCisgICAgLy8gRm9yIENTU1J1bGVMaXN0CisgICAgdW5zaWduZWQgbGVuZ3RoKCkg
Y29uc3Q7CisgICAgQ1NTUnVsZSogaXRlbSh1bnNpZ25lZCBpbmRleCkgY29uc3Q7CisKK3ByaXZh
dGU6CisgICAgQ1NTU3VwcG9ydHNSdWxlKFN0eWxlUnVsZVN1cHBvcnRzKiwgQ1NTU3R5bGVTaGVl
dCopOworCisgICAgUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBtX3N1cHBvcnRzUnVsZTsKKyAg
ICBtdXRhYmxlIFZlY3RvcjxSZWZQdHI8Q1NTUnVsZT4gPiBtX2NoaWxkUnVsZUNTU09NV3JhcHBl
cnM7CisgICAgbXV0YWJsZSBPd25QdHI8Q1NTUnVsZUxpc3Q+IG1fcnVsZUxpc3RDU1NPTVdyYXBw
ZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBDU1NTdXBwb3J0
c1J1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5p
ZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4x
YWVkNDFiMjFlYjFkMjI5NWEwNTVjYjRhYjRkNGEwYmExZmVhMWIyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5pZGwKQEAgLTAsMCArMSwzNyBA
QAorLyogQ29weXJpZ2h0IChDKSAyMDEyIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1ldDoK
KyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
bgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1vdG9y
b2xhIE1vYmlsaXR5IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1dG9y
cyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9t
IHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJt
aXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdI
VCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRPLCBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IK
KyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworaW50ZXJmYWNlIENTU1N1cHBvcnRzUnVsZSA6IENTU1J1bGUg
eworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCBjc3NSdWxlczsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIGNvbmRpdGlvblRleHQ7CisKKyAgICB1bnNpZ25lZCBs
b25nIGluc2VydFJ1bGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5n
IHJ1bGUsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0
SXNVbmRlZmluZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOwor
ICAgIHZvaWQgZGVsZXRlUnVsZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNp
Z25lZCBsb25nIGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKK307CisKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxl
U2V0LmNwcAppbmRleCAzNTBhMjcxNWRiN2IwM2I5MDZiOTMyNmM5MGIwYTEzOWUyM2ZlMjFhLi4y
NGIwODYzNWU2ODA4MTE5ZmUxMDhkMjQxZWUzMWI5ZDFhYmRiOGUyIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvUnVsZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVT
ZXQuY3BwCkBAIC0yNjgsNjUgKzI2OCwyMSBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJlZ2lvblJ1bGUo
U3R5bGVSdWxlUmVnaW9uKiByZWdpb25SdWxlLCBib29sIGhhc0RvY3VtZW50U2VjdXJpdAogICAg
IG1fcmVnaW9uU2VsZWN0b3JzQW5kUnVsZVNldHMuYXBwZW5kKFJ1bGVTZXRTZWxlY3RvclBhaXIo
cmVnaW9uUnVsZS0+c2VsZWN0b3JMaXN0KCkuZmlyc3QoKSwgcmVnaW9uUnVsZVNldC5yZWxlYXNl
KCkpKTsKIH0KIAotdm9pZCBSdWxlU2V0OjphZGRSdWxlc0Zyb21TaGVldChTdHlsZVNoZWV0Q29u
dGVudHMqIHNoZWV0LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpdW0sIFN0eWxlUmVz
b2x2ZXIqIHJlc29sdmVyLCBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSkKK3ZvaWQgUnVsZVNl
dDo6YWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIHJ1
bGVzLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpdW0sIFN0eWxlUmVzb2x2ZXIqIHJl
c29sdmVyLCBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSwgYm9vbCBoYXNEb2N1bWVudFNlY3Vy
aXR5T3JpZ2luLCBBZGRSdWxlRmxhZ3MgYWRkUnVsZUZsYWdzLCBib29sIGlzV2l0aGluTmVzdGVk
UnVsZSkKIHsKLSAgICBBU1NFUlQoc2hlZXQpOwotICAgIAotICAgIGNvbnN0IFZlY3RvcjxSZWZQ
dHI8U3R5bGVSdWxlSW1wb3J0PiA+JiBpbXBvcnRSdWxlcyA9IHNoZWV0LT5pbXBvcnRSdWxlcygp
OwotICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBpbXBvcnRSdWxlcy5zaXplKCk7ICsraSkg
ewotICAgICAgICBTdHlsZVJ1bGVJbXBvcnQqIGltcG9ydFJ1bGUgPSBpbXBvcnRSdWxlc1tpXS5n
ZXQoKTsKLSAgICAgICAgaWYgKGltcG9ydFJ1bGUtPnN0eWxlU2hlZXQoKSAmJiAoIWltcG9ydFJ1
bGUtPm1lZGlhUXVlcmllcygpIHx8IG1lZGl1bS5ldmFsKGltcG9ydFJ1bGUtPm1lZGlhUXVlcmll
cygpLCByZXNvbHZlcikpKQotICAgICAgICAgICAgYWRkUnVsZXNGcm9tU2hlZXQoaW1wb3J0UnVs
ZS0+c3R5bGVTaGVldCgpLCBtZWRpdW0sIHJlc29sdmVyLCBzY29wZSk7Ci0gICAgfQotICAgIGJv
b2wgaGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbiA9IHJlc29sdmVyICYmIHJlc29sdmVyLT5kb2N1
bWVudCgpLT5zZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHNoZWV0LT5iYXNlVVJMKCkpOwot
ICAgIEFkZFJ1bGVGbGFncyBhZGRSdWxlRmxhZ3MgPSBzdGF0aWNfY2FzdDxBZGRSdWxlRmxhZ3M+
KChoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luID8gUnVsZUhhc0RvY3VtZW50U2VjdXJpdHlPcmln
aW4gOiAwKSB8ICghc2NvcGUgPyBSdWxlQ2FuVXNlRmFzdENoZWNrU2VsZWN0b3IgOiAwKSk7Ci0K
LSAgICBjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIHJ1bGVzID0gc2hlZXQt
PmNoaWxkUnVsZXMoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcnVsZXMuc2l6ZSgp
OyArK2kpIHsKICAgICAgICAgU3R5bGVSdWxlQmFzZSogcnVsZSA9IHJ1bGVzW2ldLmdldCgpOwog
Ci0gICAgICAgIEFTU0VSVCghcnVsZS0+aXNJbXBvcnRSdWxlKCkpOworICAgICAgICBBU1NFUlQo
aXNXaXRoaW5OZXN0ZWRSdWxlIHx8ICFydWxlLT5pc0ltcG9ydFJ1bGUoKSk7CisKICAgICAgICAg
aWYgKHJ1bGUtPmlzU3R5bGVSdWxlKCkpCiAgICAgICAgICAgICBhZGRTdHlsZVJ1bGUoc3RhdGlj
X2Nhc3Q8U3R5bGVSdWxlKj4ocnVsZSksIGFkZFJ1bGVGbGFncyk7CiAgICAgICAgIGVsc2UgaWYg
KHJ1bGUtPmlzUGFnZVJ1bGUoKSkKICAgICAgICAgICAgIGFkZFBhZ2VSdWxlKHN0YXRpY19jYXN0
PFN0eWxlUnVsZVBhZ2UqPihydWxlKSk7CiAgICAgICAgIGVsc2UgaWYgKHJ1bGUtPmlzTWVkaWFS
dWxlKCkpIHsKICAgICAgICAgICAgIFN0eWxlUnVsZU1lZGlhKiBtZWRpYVJ1bGUgPSBzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGVNZWRpYSo+KHJ1bGUpOwotCi0gICAgICAgICAgICBpZiAoKCFtZWRpYVJ1
bGUtPm1lZGlhUXVlcmllcygpIHx8IG1lZGl1bS5ldmFsKG1lZGlhUnVsZS0+bWVkaWFRdWVyaWVz
KCksIHJlc29sdmVyKSkpIHsKLSAgICAgICAgICAgICAgICAvLyBUcmF2ZXJzZSBjaGlsZCBlbGVt
ZW50cyBvZiB0aGUgQG1lZGlhIHJ1bGUuCi0gICAgICAgICAgICAgICAgY29uc3QgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBjaGlsZFJ1bGVzID0gbWVkaWFSdWxlLT5jaGlsZFJ1bGVz
KCk7Ci0gICAgICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IGNoaWxkUnVsZXMu
c2l6ZSgpOyArK2opIHsKLSAgICAgICAgICAgICAgICAgICAgU3R5bGVSdWxlQmFzZSogY2hpbGRS
dWxlID0gY2hpbGRSdWxlc1tqXS5nZXQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxk
UnVsZS0+aXNTdHlsZVJ1bGUoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZFN0eWxlUnVs
ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGUqPihjaGlsZFJ1bGUpLCBhZGRSdWxlRmxhZ3MpOwotICAg
ICAgICAgICAgICAgICAgICBlbHNlIGlmIChjaGlsZFJ1bGUtPmlzUGFnZVJ1bGUoKSkKLSAgICAg
ICAgICAgICAgICAgICAgICAgIGFkZFBhZ2VSdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVBhZ2Uq
PihjaGlsZFJ1bGUpKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2hpbGRSdWxlLT5p
c0ZvbnRGYWNlUnVsZSgpICYmIHJlc29sdmVyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAv
LyBBZGQgdGhpcyBmb250IGZhY2UgdG8gb3VyIHNldC4KLSAgICAgICAgICAgICAgICAgICAgICAg
IC8vIEZJWE1FKEJVRyA3MjQ2MSk6IFdlIGRvbid0IGFkZCBAZm9udC1mYWNlIHJ1bGVzIG9mIHNj
b3BlZCBzdHlsZSBzaGVldHMgZm9yIHRoZSBtb21lbnQuCi0gICAgICAgICAgICAgICAgICAgICAg
ICBpZiAoc2NvcGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAg
ICAgICAgICAgICAgICAgICAgICBjb25zdCBTdHlsZVJ1bGVGb250RmFjZSogZm9udEZhY2VSdWxl
ID0gc3RhdGljX2Nhc3Q8U3R5bGVSdWxlRm9udEZhY2UqPihjaGlsZFJ1bGUpOwotICAgICAgICAg
ICAgICAgICAgICAgICAgcmVzb2x2ZXItPmZvbnRTZWxlY3RvcigpLT5hZGRGb250RmFjZVJ1bGUo
Zm9udEZhY2VSdWxlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyLT5pbnZhbGlk
YXRlTWF0Y2hlZFByb3BlcnRpZXNDYWNoZSgpOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2Ug
aWYgKGNoaWxkUnVsZS0+aXNLZXlmcmFtZXNSdWxlKCkgJiYgcmVzb2x2ZXIpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIEFkZCB0aGlzIGtleWZyYW1lIHJ1bGUgdG8gb3VyIHNldC4KLSAg
ICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1FKEJVRyA3MjQ2Mik6IFdlIGRvbid0IGFkZCBA
a2V5ZnJhbWUgcnVsZXMgb2Ygc2NvcGVkIHN0eWxlIHNoZWV0cyBmb3IgdGhlIG1vbWVudC4KLSAg
ICAgICAgICAgICAgICAgICAgICAgIGlmIChzY29wZSkKLSAgICAgICAgICAgICAgICAgICAgICAg
ICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyLT5hZGRLZXlm
cmFtZVN0eWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KGNoaWxkUnVsZSkpOwot
ICAgICAgICAgICAgICAgICAgICB9Ci0jaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikK
LSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2hpbGRSdWxlLT5pc1ZpZXdwb3J0UnVsZSgp
ICYmIHJlc29sdmVyICYmICFyZXNvbHZlci0+YWZmZWN0ZWRCeVZpZXdwb3J0Q2hhbmdlKCkpIHsK
LSAgICAgICAgICAgICAgICAgICAgICAgIC8vIEB2aWV3cG9ydCBzaG91bGQgbm90IGJlIHNjb3Bl
ZC4KLSAgICAgICAgICAgICAgICAgICAgICAgIGlmIChzY29wZSkKLSAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyLT52
aWV3cG9ydFN0eWxlUmVzb2x2ZXIoKS0+YWRkVmlld3BvcnRSdWxlKHN0YXRpY19jYXN0PFN0eWxl
UnVsZVZpZXdwb3J0Kj4oY2hpbGRSdWxlKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSNlbmRp
ZgotICAgICAgICAgICAgICAgIH0gLy8gZm9yIHJ1bGVzCi0gICAgICAgICAgICB9IC8vIGlmIHJ1
bGVzCisgICAgICAgICAgICBpZiAoKCFtZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpIHx8IG1lZGl1
bS5ldmFsKG1lZGlhUnVsZS0+bWVkaWFRdWVyaWVzKCksIHJlc29sdmVyKSkpCisgICAgICAgICAg
ICAgICAgYWRkQ2hpbGRSdWxlcyhtZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKSwgbWVkaXVtLCByZXNv
bHZlciwgc2NvcGUsIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4sIGFkZFJ1bGVGbGFncywgdHJ1
ZSk7CiAgICAgICAgIH0gZWxzZSBpZiAocnVsZS0+aXNGb250RmFjZVJ1bGUoKSAmJiByZXNvbHZl
cikgewogICAgICAgICAgICAgLy8gQWRkIHRoaXMgZm9udCBmYWNlIHRvIG91ciBzZXQuCiAgICAg
ICAgICAgICAvLyBGSVhNRShCVUcgNzI0NjEpOiBXZSBkb24ndCBhZGQgQGZvbnQtZmFjZSBydWxl
cyBvZiBzY29wZWQgc3R5bGUgc2hlZXRzIGZvciB0aGUgbW9tZW50LgpAQCAtMzYxLDcgKzMxNywz
MiBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxlU2hlZXRDb250ZW50cyog
c2hlZXQsIGNvbnN0IE1lZGlhUXVlcnlFdmFsdQogICAgICAgICAgICAgcmVzb2x2ZXItPnZpZXdw
b3J0U3R5bGVSZXNvbHZlcigpLT5hZGRWaWV3cG9ydFJ1bGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
Vmlld3BvcnQqPihydWxlKSk7CiAgICAgICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShDU1MzX0NP
TkRJVElPTkFMX1JVTEVTKQorICAgICAgICBlbHNlIGlmIChydWxlLT5pc1N1cHBvcnRzUnVsZSgp
ICYmIHN0YXRpY19jYXN0PFN0eWxlUnVsZVN1cHBvcnRzKj4ocnVsZSktPmNvbmRpdGlvbklzU3Vw
cG9ydGVkKCkpCisgICAgICAgICAgICBhZGRDaGlsZFJ1bGVzKHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVN1cHBvcnRzKj4ocnVsZSktPmNoaWxkUnVsZXMoKSwgbWVkaXVtLCByZXNvbHZlciwgc2NvcGUs
IGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4sIGFkZFJ1bGVGbGFncywgdHJ1ZSk7CisjZW5kaWYK
KyAgICAgICAgZWxzZSBpZiAoaXNXaXRoaW5OZXN0ZWRSdWxlICYmIHJ1bGUtPmlzSW1wb3J0UnVs
ZSgpKSB7CisgICAgICAgICAgICAvLyBJZ25vcmUuCisgICAgICAgIH0KICAgICB9Cit9CisKK3Zv
aWQgUnVsZVNldDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENvbnRlbnRzKiBzaGVldCwg
Y29uc3QgTWVkaWFRdWVyeUV2YWx1YXRvciYgbWVkaXVtLCBTdHlsZVJlc29sdmVyKiByZXNvbHZl
ciwgY29uc3QgQ29udGFpbmVyTm9kZSogc2NvcGUpCit7CisgICAgQVNTRVJUKHNoZWV0KTsKKwor
ICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlSW1wb3J0PiA+JiBpbXBvcnRSdWxlcyA9
IHNoZWV0LT5pbXBvcnRSdWxlcygpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBpbXBv
cnRSdWxlcy5zaXplKCk7ICsraSkgeworICAgICAgICBTdHlsZVJ1bGVJbXBvcnQqIGltcG9ydFJ1
bGUgPSBpbXBvcnRSdWxlc1tpXS5nZXQoKTsKKyAgICAgICAgaWYgKGltcG9ydFJ1bGUtPnN0eWxl
U2hlZXQoKSAmJiAoIWltcG9ydFJ1bGUtPm1lZGlhUXVlcmllcygpIHx8IG1lZGl1bS5ldmFsKGlt
cG9ydFJ1bGUtPm1lZGlhUXVlcmllcygpLCByZXNvbHZlcikpKQorICAgICAgICAgICAgYWRkUnVs
ZXNGcm9tU2hlZXQoaW1wb3J0UnVsZS0+c3R5bGVTaGVldCgpLCBtZWRpdW0sIHJlc29sdmVyLCBz
Y29wZSk7CisgICAgfQorCisgICAgYm9vbCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luID0gcmVz
b2x2ZXIgJiYgcmVzb2x2ZXItPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVl
c3Qoc2hlZXQtPmJhc2VVUkwoKSk7CisgICAgQWRkUnVsZUZsYWdzIGFkZFJ1bGVGbGFncyA9IHN0
YXRpY19jYXN0PEFkZFJ1bGVGbGFncz4oKGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPyBSdWxl
SGFzRG9jdW1lbnRTZWN1cml0eU9yaWdpbiA6IDApIHwgKCFzY29wZSA/IFJ1bGVDYW5Vc2VGYXN0
Q2hlY2tTZWxlY3RvciA6IDApKTsKKworICAgIGFkZENoaWxkUnVsZXMoc2hlZXQtPmNoaWxkUnVs
ZXMoKSwgbWVkaXVtLCByZXNvbHZlciwgc2NvcGUsIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4s
IGFkZFJ1bGVGbGFncywgZmFsc2UpOworCiAgICAgaWYgKG1fYXV0b1Nocmlua1RvRml0RW5hYmxl
ZCkKICAgICAgICAgc2hyaW5rVG9GaXQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9SdWxlU2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUnVsZVNldC5oCmluZGV4IDgzNGJh
YjkzYTg4MWRlZjM2MzQyMDU5Yzg4NmM3MjFhNDU2YjcyNDkuLjljYTc3YWY5Mzk3Mzk4YmNkYmM2
ODcyNjBhMjNhM2M0MTNiNGVmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxl
U2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuaApAQCAtMTI5LDYgKzEyOSw5
IEBAIHB1YmxpYzoKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5m
byopIGNvbnN0OwogCitwcml2YXRlOgorICAgIHZvaWQgYWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0
b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBt
ZWRpdW0sIFN0eWxlUmVzb2x2ZXIqLCBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSwgYm9vbCBo
YXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luLCBBZGRSdWxlRmxhZ3MsIGJvb2wgaXNXaXRoaW5OZXN0
ZWRSdWxlKTsKKwogcHVibGljOgogICAgIFJ1bGVTZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxl
UmVzb2x2ZXIuY3BwCmluZGV4IGY2ZmYzZDRlOTYyNzkzMWU5NTM2OWJiNTIyNDY1YzM1NzU4N2Mz
YWEuLmExMjMyMzFiNzA0ZGE0MWM0NjU0OThjNDljZGRiOTg1ZmQxYzgyMjYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJDU1NT
ZWxlY3Rvckxpc3QuaCIKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NT
dHlsZVNoZWV0LmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
VGltaW5nRnVuY3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2lmIEVO
QUJMRShDU1NfVkFSSUFCTEVTKQpAQCAtMjYzMiw2ICsyNjMzLDkgQEAgc3RhdGljIHZvaWQgY29s
bGVjdENTU09NV3JhcHBlcnMoSGFzaE1hcDxTdHlsZVJ1bGUqLCBSZWZQdHI8Q1NTU3R5bGVSdWxl
PiA+JiB3cmEKICAgICAgICAgY2FzZSBDU1NSdWxlOjpNRURJQV9SVUxFOgogICAgICAgICAgICAg
Y29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGljX2Nhc3Q8Q1NTTWVkaWFSdWxl
Kj4oY3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIGNhc2UgQ1NTUnVsZTo6
U1VQUE9SVFNfUlVMRToKKyAgICAgICAgICAgIGNvbGxlY3RDU1NPTVdyYXBwZXJzKHdyYXBwZXJN
YXAsIHN0YXRpY19jYXN0PENTU1N1cHBvcnRzUnVsZSo+KGNzc1J1bGUpKTsKKyAgICAgICAgICAg
IGJyZWFrOwogI2lmIEVOQUJMRShDU1NfUkVHSU9OUykKICAgICAgICAgY2FzZSBDU1NSdWxlOjpX
RUJLSVRfUkVHSU9OX1JVTEU6CiAgICAgICAgICAgICBjb2xsZWN0Q1NTT01XcmFwcGVycyh3cmFw
cGVyTWFwLCBzdGF0aWNfY2FzdDxXZWJLaXRDU1NSZWdpb25SdWxlKj4oY3NzUnVsZSkpOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlLmNwcAppbmRleCA0M2U2YTVlMTM3NjgwY2MyZDFjNmFjMzAxOTNkZmU2
NTY2NjIzMDIwLi5iNDM3OTMzMzExMTg1YjdhY2M3NDMxNjIxNmY3Nzk3NWMxNjMwNTBiIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlLmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNTU01l
ZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVS
dWxlLmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTVW5rbm93
blJ1bGUuaCIKICNpbmNsdWRlICJTdHlsZVJ1bGVJbXBvcnQuaCIKICNpbmNsdWRlICJXZWJDb3Jl
TWVtb3J5SW5zdHJ1bWVudGF0aW9uLmgiCkBAIC04MSw2ICs4Miw5IEBAIHZvaWQgU3R5bGVSdWxl
QmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5m
bykgY29uc3QKICAgICBjYXNlIEtleWZyYW1lczoKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3Qg
U3R5bGVSdWxlS2V5ZnJhbWVzKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZSht
ZW1vcnlPYmplY3RJbmZvKTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShDU1MzX0NPTkRJ
VElPTkFMX1JVTEVTKQorICAgIGNhc2UgU3VwcG9ydHM6CisjZW5kaWYKICNpZiBFTkFCTEUoU0hB
RE9XX0RPTSkKICAgICBjYXNlIEhvc3Q6CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxl
UnVsZUJsb2NrKj4odGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmpl
Y3RJbmZvKTsKQEAgLTExOCw2ICsxMjIsMTEgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95
KCkKICAgICBjYXNlIE1lZGlhOgogICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U3R5bGVSdWxl
TWVkaWEqPih0aGlzKTsKICAgICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElP
TkFMX1JVTEVTKQorICAgIGNhc2UgU3VwcG9ydHM6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2Fz
dDxTdHlsZVJ1bGVTdXBwb3J0cyo+KHRoaXMpOworICAgICAgICByZXR1cm47CisjZW5kaWYKICNp
ZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2FzZSBSZWdpb246CiAgICAgICAgIGRlbGV0ZSBz
dGF0aWNfY2FzdDxTdHlsZVJ1bGVSZWdpb24qPih0aGlzKTsKQEAgLTE2Miw2ICsxNzEsMTAgQEAg
UGFzc1JlZlB0cjxTdHlsZVJ1bGVCYXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAg
ICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUZvbnRGYWNlKj4odGhpcykt
PmNvcHkoKTsKICAgICBjYXNlIE1lZGlhOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29u
c3QgU3R5bGVSdWxlTWVkaWEqPih0aGlzKS0+Y29weSgpOworI2lmIEVOQUJMRShDU1MzX0NPTkRJ
VElPTkFMX1JVTEVTKQorICAgIGNhc2UgU3VwcG9ydHM6CisgICAgICAgIHJldHVybiBzdGF0aWNf
Y2FzdDxjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyo+KHRoaXMpLT5jb3B5KCk7CisjZW5kaWYKICNp
ZiBFTkFCTEUoQ1NTX1JFR0lPTlMpCiAgICAgY2FzZSBSZWdpb246CiAgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVSZWdpb24qPih0aGlzKS0+Y29weSgpOwpAQCAtMjEw
LDYgKzIyMywxMSBAQCBQYXNzUmVmUHRyPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNT
U09NV3JhcHBlcihDU1NTdHlsZVNoZWV0KiBwYXJlbnRTaGVldAogICAgIGNhc2UgTWVkaWE6CiAg
ICAgICAgIHJ1bGUgPSBDU1NNZWRpYVJ1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVN
ZWRpYSo+KHNlbGYpLCBwYXJlbnRTaGVldCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShD
U1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGNhc2UgU3VwcG9ydHM6CisgICAgICAgIHJ1bGUg
PSBDU1NTdXBwb3J0c1J1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cyo+
KHNlbGYpLCBwYXJlbnRTaGVldCk7CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxF
KENTU19SRUdJT05TKQogICAgIGNhc2UgUmVnaW9uOgogICAgICAgICBydWxlID0gV2ViS2l0Q1NT
UmVnaW9uUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVJlZ2lvbio+KHNlbGYpLCBw
YXJlbnRTaGVldCk7CkBAIC00MDQsNiArNDIyLDIzIEBAIHZvaWQgU3R5bGVSdWxlTWVkaWE6OnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJ
CiAgICAgaW5mby5hZGRNZW1iZXIobV9tZWRpYVF1ZXJpZXMpOwogfQogCisKKyNpZiBFTkFCTEUo
Q1NTM19DT05ESVRJT05BTF9SVUxFUykKK1N0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBw
b3J0cyhjb25zdCBTdHJpbmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0
ZWQsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKKyAgICA6IFN0
eWxlUnVsZUJsb2NrKFN1cHBvcnRzLCBhZG9wdFJ1bGVzKQorICAgICwgbV9jb25kaXRpb25UZXh0
KGNvbmRpdGlvblRleHQpCisgICAgLCBtX2NvbmRpdGlvbklzU3VwcG9ydGVkKGNvbmRpdGlvbklz
U3VwcG9ydGVkKQoreworfQorCitTdHlsZVJ1bGVTdXBwb3J0czo6U3R5bGVSdWxlU3VwcG9ydHMo
Y29uc3QgU3R5bGVSdWxlU3VwcG9ydHMmIG8pCisgICAgOiBTdHlsZVJ1bGVCbG9jayhvKQorICAg
ICwgbV9jb25kaXRpb25UZXh0KG8ubV9jb25kaXRpb25UZXh0KQorICAgICwgbV9jb25kaXRpb25J
c1N1cHBvcnRlZChvLm1fY29uZGl0aW9uSXNTdXBwb3J0ZWQpCit7Cit9CisjZW5kaWYKKwogU3R5
bGVSdWxlUmVnaW9uOjpTdHlsZVJ1bGVSZWdpb24oVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxl
Y3Rvcj4gPiogc2VsZWN0b3JzLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0
UnVsZXMpCiAgICAgOiBTdHlsZVJ1bGVCbG9jayhSZWdpb24sIGFkb3B0UnVsZXMpCiB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvU3R5bGVSdWxlLmgKaW5kZXggNGVmNzY0MjgzODhiMWM0NzJlMTM5MWMzOTFiMjNhODY4MWZj
MTYzNS4uMjljODhhMzIyNGNiMmNmNmUxNjllNTU0ODQzMWViNzExMTJiMmNjNiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVJ1bGUuaApAQCAtNDksNiArNDksOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFNIQURP
V19ET00pCiAgICAgICAgIEhvc3QsCiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05B
TF9SVUxFUykKKyAgICAgICAgU3VwcG9ydHMgPSAxMiwKKyNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
REVWSUNFX0FEQVBUQVRJT04pCiAgICAgICAgIFZpZXdwb3J0ID0gMTUsCiAjZW5kaWYKQEAgLTYz
LDYgKzY2LDkgQEAgcHVibGljOgogICAgIGJvb2wgaXNQYWdlUnVsZSgpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBQYWdlOyB9CiAgICAgYm9vbCBpc1N0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJu
IHR5cGUoKSA9PSBTdHlsZTsgfQogICAgIGJvb2wgaXNSZWdpb25SdWxlKCkgY29uc3QgeyByZXR1
cm4gdHlwZSgpID09IFJlZ2lvbjsgfQorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVT
KQorICAgIGJvb2wgaXNTdXBwb3J0c1J1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3Vw
cG9ydHM7IH0KKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAg
Ym9vbCBpc1ZpZXdwb3J0UnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBWaWV3cG9ydDsg
fQogI2VuZGlmCkBAIC0yMTUsNiArMjIxLDI3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlh
UXVlcnlTZXQ+IG1fbWVkaWFRdWVyaWVzOwogfTsKIAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElP
TkFMX1JVTEVTKQorY2xhc3MgU3R5bGVSdWxlU3VwcG9ydHMgOiBwdWJsaWMgU3R5bGVSdWxlQmxv
Y2sgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBj
cmVhdGUoY29uc3QgU3RyaW5nJiBjb25kaXRpb25UZXh0LCBib29sIGNvbmRpdGlvbklzU3VwcG9y
dGVkLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpCisgICAgewor
ICAgICAgICByZXR1cm4gYWRvcHRSZWYobmV3IFN0eWxlUnVsZVN1cHBvcnRzKGNvbmRpdGlvblRl
eHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBhZG9wdFJ1bGVzKSk7CisgICAgfQorCisgICAgU3Ry
aW5nIGNvbmRpdGlvblRleHQoKSBjb25zdCB7IHJldHVybiBtX2NvbmRpdGlvblRleHQ7IH0KKyAg
ICBib29sIGNvbmRpdGlvbklzU3VwcG9ydGVkKCkgY29uc3QgeyByZXR1cm4gbV9jb25kaXRpb25J
c1N1cHBvcnRlZDsgfQorICAgIFBhc3NSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IGNvcHkoKSBj
b25zdCB7IHJldHVybiBhZG9wdFJlZihuZXcgU3R5bGVSdWxlU3VwcG9ydHMoKnRoaXMpKTsgfQor
Citwcml2YXRlOgorICAgIFN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0IFN0cmluZyYgY29uZGl0aW9u
VGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVC
YXNlPiA+JiBhZG9wdFJ1bGVzKTsKKyAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1
bGVTdXBwb3J0cyYpOworCisgICAgU3RyaW5nIG1fY29uZGl0aW9uVGV4dDsKKyAgICBib29sIG1f
Y29uZGl0aW9uSXNTdXBwb3J0ZWQ7Cit9OworI2VuZGlmCisKIGNsYXNzIFN0eWxlUnVsZVJlZ2lv
biA6IHB1YmxpYyBTdHlsZVJ1bGVCbG9jayB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQ
dHI8U3R5bGVSdWxlUmVnaW9uPiBjcmVhdGUoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rv
cj4gPiogc2VsZWN0b3JzLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVs
ZXMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IGRjNTIx
ZGYzOWMyYmQ0MzY1NjRmZjViYzg4N2QxYTNiMTBiZDdiMWIuLjAwMDc3NGIxZjBiZjM3OTM5MmNi
NGNjMjJiOWIzNmE3Y2QwYzc1ZmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVNoZWV0Q29udGVudHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29u
dGVudHMuY3BwCkBAIC00NTYsNiArNDU2LDkgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hhdmVG
YWlsZWRPckNhbmNlbGVkU3VicmVzb3VyY2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUKICAg
ICAgICAgY2FzZSBTdHlsZVJ1bGVCYXNlOjpVbmtub3duOgogICAgICAgICBjYXNlIFN0eWxlUnVs
ZUJhc2U6OkNoYXJzZXQ6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6S2V5ZnJhbWU6Cisj
aWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgICAgIGNhc2UgU3R5bGVSdWxl
QmFzZTo6U3VwcG9ydHM6CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9O
KQogICAgICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6OlZpZXdwb3J0OgogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKaW5kZXggYWIx
ODJjODIyYjRkOGRkMzEwNzkwYmQ1OGExNmE3OWRmMThjOGZkNi4uMzMxOTdhMjI4ZmI4YjQ5MzQw
MzQzZjRhYjdlOTAyY2NmMDcyYjViOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVj
dG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rv
ci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkNT
U1J1bGVMaXN0LmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5
bGVTaGVldC5oIgorI2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkNvbnRl
bnRTZWN1cml0eVBvbGljeS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxl
bWVudC5oIgpAQCAtMTA5LDYgKzExMCw4IEBAIHN0YXRpYyB2b2lkIGZsYXR0ZW5Tb3VyY2VEYXRh
KFJ1bGVTb3VyY2VEYXRhTGlzdCogZGF0YUxpc3QsIFJ1bGVTb3VyY2VEYXRhTGlzdCoKICAgICAg
ICAgICAgIHRhcmdldC0+YXBwZW5kKGRhdGEpOwogICAgICAgICBlbHNlIGlmIChkYXRhLT50eXBl
ID09IENTU1J1bGVTb3VyY2VEYXRhOjpNRURJQV9SVUxFKQogICAgICAgICAgICAgZmxhdHRlblNv
dXJjZURhdGEoJmRhdGEtPmNoaWxkUnVsZXMsIHRhcmdldCk7CisgICAgICAgIGVsc2UgaWYgKGRh
dGEtPnR5cGUgPT0gQ1NTUnVsZVNvdXJjZURhdGE6OlNVUFBPUlRTX1JVTEUpCisgICAgICAgICAg
ICBmbGF0dGVuU291cmNlRGF0YSgmZGF0YS0+Y2hpbGRSdWxlcywgdGFyZ2V0KTsKICAgICB9CiB9
CiAKQEAgLTIwOSw2ICsyMTIsOSBAQCBzdGF0aWMgUGFzc1JlZlB0cjxDU1NSdWxlTGlzdD4gYXND
U1NSdWxlTGlzdChDU1NSdWxlKiBydWxlKQogICAgIGlmIChydWxlLT50eXBlKCkgPT0gQ1NTUnVs
ZTo6V0VCS0lUX0tFWUZSQU1FU19SVUxFKQogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2Vi
S2l0Q1NTS2V5ZnJhbWVzUnVsZSo+KHJ1bGUpLT5jc3NSdWxlcygpOwogCisgICAgaWYgKHJ1bGUt
PnR5cGUoKSA9PSBDU1NSdWxlOjpTVVBQT1JUU19SVUxFKQorICAgICAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8Q1NTU3VwcG9ydHNSdWxlKj4ocnVsZSktPmNzc1J1bGVzKCk7CisKICAgICByZXR1cm4g
MDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMv
Q2hhbmdlTG9nCmluZGV4IDZlMjRjOGU1ZDkwMzI0NWRlZTkyMWU5OTE2ZTRiMzlhYzQzYzIxNmUu
LjgxMTM3N2Y5M2YxMDYyNzQ5YTNmNjMxZDJkYjJlMGE0ZjliZjE3MGIgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyAr
MSwyNCBAQAorMjAxMi0xMi0xOSAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rvcm9sYS5jb20+
CisKKyAgICAgICAgSW1wbGVtZW50IENTU1N1cHBvcnRzUnVsZQorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0ODIyCisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MzL3N1cHBvcnRzLWNzc29tLWV4cGVj
dGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9zdXBwb3J0cy1jc3NvbS5odG1sOiBBZGRl
ZC4KKyAgICAgICAgKiBjc3MzL3N1cHBvcnRzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiBjc3Mz
L3N1cHBvcnRzLmh0bWw6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0
YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAg
ICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlv
bnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICog
cGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS93
azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMi0xMi0xOSAgRGVhbiBKYWNrc29uICA8ZGlub0Bh
cHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW51cCBzb21lIGNhcHRpb25zIG1lbnUgdGVzdHMKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20tZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvY3NzMy9zdXBwb3J0cy1jc3NvbS1leHBlY3RlZC50eHQKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
ZTYyNDFhZGIxNzBiZTE2NmUyMzZhODcwZmRjOGNkMGE2MzRiZmNkZgotLS0gL2Rldi9udWxsCisr
KyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20tZXhwZWN0ZWQudHh0CkBAIC0wLDAg
KzEsNjIgQEAKK1Rlc3QgQ1NTU3VwcG9ydFJ1bGUuCisKK09uIHN1Y2Nlc3MsIHlvdSB3aWxsIHNl
ZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJURVNUIENPTVBMRVRF
Ii4KKworCitQQVNTIENTU1J1bGUuU1VQUE9SVFNfUlVMRSBpcyBkZWZpbmVkLgorcnVsZXMgPSBk
b2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxlcworUEFTUyBydWxlcy5sZW5ndGggaXMgNAor
UEFTUyBydWxlc1swXS50eXBlIGlzIENTU1J1bGUuU1VQUE9SVFNfUlVMRQorUEFTUyBydWxlc1sw
XS5jc3NSdWxlcy5sZW5ndGggaXMgMgorUEFTUyBydWxlc1swXS5jc3NSdWxlc1swXS50eXBlIGlz
IENTU1J1bGUuU1RZTEVfUlVMRQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS50eXBlIGlzIENT
U1J1bGUuU1VQUE9SVFNfUlVMRQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlcy5s
ZW5ndGggaXMgMQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlc1swXS50eXBlIGlz
IENTU1J1bGUuU1RZTEVfUlVMRQorUEFTUyBydWxlc1swXS5jb25kaXRpb25UZXh0IGlzICIod2lk
dGg6IDApIgorUEFTUyBydWxlc1swXS5jc3NUZXh0IGlzICJAc3VwcG9ydHMgKHdpZHRoOiAwKSB7
XG4gIHMgeyB3aWR0aDogMHB4OyB9XG4gIEBzdXBwb3J0cyAod2lkdGg6IDEpIHtcbiAgcyB7IGNv
bG9yOiByZ2IoMCwgMCwgMCk7IH1cbn1cbn0iCisKK0luc2VydGluZyBhbmQgZGVsZXRpbmcgcnVs
ZXMuCitydWxlc1swXS5pbnNlcnRSdWxlKCdAbWVkaWEgYWxsIHsgI3MgeyB3aWR0aDogMHB4OyB9
IH0nLCAyKQorUEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMworUEFTUyBydWxlc1sw
XS5jc3NSdWxlc1syXS50eXBlIGlzIENTU1J1bGUuTUVESUFfUlVMRQorcnVsZXNbMF0uZGVsZXRl
UnVsZSgyKQorUEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMgorcnVsZXNbMF0uY3Nz
UnVsZXNbMV0uaW5zZXJ0UnVsZSgnQHN1cHBvcnRzIChkaXNwbGF5OiByYWluYm93KSB7fScsIDEp
CitQQVNTIHJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCBpcyAyCitQQVNTIHJ1
bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzWzFdLnR5cGUgaXMgQ1NTUnVsZS5TVVBQT1JUU19S
VUxFCitydWxlc1swXS5jc3NSdWxlc1sxXS5kZWxldGVSdWxlKDEpCitQQVNTIHJ1bGVzWzBdLmNz
c1J1bGVzLmxlbmd0aCBpcyAyCisKK0BjaGFyc2V0LCBAbmFtZXNwYWNlLCBAaW1wb3J0IHJ1bGVz
IGFyZSBub3QgYWxsb3dlZCBpbnNpZGUgQHN1cHBvcnRzLgorUEFTUyBydWxlc1swXS5pbnNlcnRS
dWxlKCdAY2hhcnNldCAiVVRGLTgiJywgMikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhF
cnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgcnVsZXNbMF0uaW5zZXJ0UnVsZSgnQG5hbWVz
cGFjZSAiIicsIDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNl
cHRpb24gMTIuCitQQVNTIHJ1bGVzWzBdLmluc2VydFJ1bGUoJ0BpbXBvcnQgdXJsKCIuLi9mYXN0
L2Nzc29tL3Jlc291cmNlcy9pbXBvcnQuY3NzIiknLCAyKSB0aHJldyBleGNlcHRpb24gRXJyb3I6
IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorCitXaGl0ZXNwYWNlIGFuZCBmb3JtYXR0
aW5nIHNob3VsZCBiZSBwcmVzZXJ2ZWQgd2l0aGluIHRoZSBjb25kaXRpb24sIHdoaXRlc3BhY2Ug
b3V0c2lkZSB0aGUgY29uZGl0aW9uIHNob3VsZCBiZSB0cmltbWVkLgorUEFTUyBydWxlc1sxXS5j
b25kaXRpb25UZXh0IGlzICIoKCAgKCAgICAgcGFkZGluZzogMCkgICAgYW5kIChkaXNwbGF5OiBu
b25lKSkgb3IgKGRpc3BsYXk6IHJhaW5ib3cpKSIKKworQHN1cHBvcnRzIHJ1bGUgbmVzdGVkIGlu
c2lkZSBhIG1lZGlhIHJ1bGUuCitQQVNTIHJ1bGVzWzJdLnR5cGUgaXMgQ1NTUnVsZS5NRURJQV9S
VUxFCitQQVNTIHJ1bGVzWzJdLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIHJ1bGVzWzJdLmNz
c1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5TVVBQT1JUU19SVUxFCitQQVNTIHJ1bGVzWzJdLmNz
c1J1bGVzWzBdLmNvbmRpdGlvblRleHQgaXMgIiggcGFkZGluZzogMCkiCitQQVNTIHJ1bGVzWzBd
LmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIHJ1bGVzWzJdLmNzc1J1bGVz
WzBdLmNzc1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5QQUdFX1JVTEUKK1BBU1MgcnVsZXNbMl0u
Y3NzVGV4dCBpcyAiQG1lZGlhIGFsbCB7IFxuICBAc3VwcG9ydHMgKCBwYWRkaW5nOiAwKSB7XG4g
IEBwYWdlIDpsZWZ0IHsgdG9wOiAwcHg7IH1cbn1cbn0iCisKK05vIGV4dHJhIHBhcmVucyBzaG91
bGQgYmUgYWRkZWQgdG8gdGhlIGNvbmRpdGlvblRleHQuCitQQVNTIHJ1bGVzWzNdLmNvbmRpdGlv
blRleHQgaXMgIihib3JkZXI6IGJsYWNrKSBhbmQgKHBhZGRpbmc6IDApIGFuZCAod2lkdGg6IDAp
IgorCitEZWxldGluZyBhIHRvcC1sZXZlbCBydWxlIHNob3VsZCB3b3JrIGNvcnJlY3RseS4KK2Rv
Y3VtZW50LnN0eWxlU2hlZXRzWzFdLmRlbGV0ZVJ1bGUoMykKK1BBU1MgcnVsZXMubGVuZ3RoIGlz
IDMKK1BBU1MgcnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNVUFBPUlRTX1JVTEUKK1BBU1MgcnVs
ZXNbMF0uY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXNbMF0udHlw
ZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXNbMV0udHlwZSBp
cyBDU1NSdWxlLlNVUFBPUlRTX1JVTEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXNbMV0uY3NzUnVs
ZXMubGVuZ3RoIGlzIDEKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXNbMV0uY3NzUnVsZXNbMF0udHlw
ZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFyc2VkIGlzIHRydWUK
KworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRz
LWNzc29tLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTg5N2I2MGYwMDVlMjcxZmM1ZTkyYWVhOGZiMGU4Mjc4ZDA5YjA2ZgotLS0gL2Rldi9u
dWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20uaHRtbApAQCAtMCwwICsx
LDExNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1ldGEgY2hhcnNldD11
dGY4PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48
L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBAc3VwcG9ydHMgKHdpZHRoOiAwKSB7CisgICAgICAgIHMg
eyB3aWR0aDogMDsgfQorICAgICAgICBAc3VwcG9ydHMgKHdpZHRoOiAxKSB7CisgICAgICAgICAg
ICBzIHsgY29sb3I6ICMwMDA7IH0KKyAgICAgICAgICAgIEBpbXBvcnQgdXJsKCIuLi9mYXN0L2Nz
c29tL3Jlc291cmNlcy9pbXBvcnQuY3NzIik7CisgICAgICAgICAgICBAY2hhcnNldCAiVVRGLTgi
OworICAgICAgICAgICAgQG5hbWVzcGFjZSAiIjsKKyAgICAgICAgfQorICAgIH0KKworICAgIEBz
dXBwb3J0cyAgKCggICggICAgIHBhZGRpbmc6IDApICAgIGFuZCAoZGlzcGxheTogbm9uZSkpIG9y
IChkaXNwbGF5OiByYWluYm93KSkgIHsKKyAgICAgICAgZGZuIHsgd2lkdGg6MDsgfQorICAgICAg
ICBAc3VwcG9ydHMgKHdpZHRoOiAwKSB7CisgICAgICAgICAgICBiciB7IGhlaWdodDowOyB9Cisg
ICAgICAgIH0KKyAgICAgICAgb2wgeyBkaXNwbGF5Om5vbmU7IH0KKyAgICB9CisKKyAgICBAbWVk
aWEgYWxsIHsKKyAgICAgICAgQHN1cHBvcnRzICAoIHBhZGRpbmc6IDApIHsKKyAgICAgICAgICAg
IEBwYWdlIDpsZWZ0IHsgdG9wOiAwIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIEBzdXBwb3J0
cyAoYm9yZGVyOiBibGFjaykgYW5kIChwYWRkaW5nOiAwKSBhbmQgKHdpZHRoOiAwKSB7CisgICAg
ICAgIGRmbiB7IHdpZHRoOjA7IH0KKyAgICB9Cis8L3N0eWxlPgorPC9oZWFkPgorPGJvZHk+Cis8
c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUZXN0IENTU1N1cHBvcnRSdWxlLiIpOworCisKKyAg
ICBzaG91bGRCZURlZmluZWQoIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworCisgICAgZXZhbEFu
ZExvZygicnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxlcyIpOworICAgIHNo
b3VsZEV2YWx1YXRlVG8oInJ1bGVzLmxlbmd0aCIsIDQpOworICAgIHNob3VsZEJlKCJydWxlc1sw
XS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8o
InJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCIsIDIpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5j
c3NSdWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAgIHNob3VsZEJlKCJy
dWxlc1swXS5jc3NSdWxlc1sxXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAg
IHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCIs
IDEpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlc1swXS50eXBl
IiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicnVs
ZXNbMF0uY29uZGl0aW9uVGV4dCIsICIod2lkdGg6IDApIik7CisgICAgc2hvdWxkQmVFcXVhbFRv
U3RyaW5nKCJydWxlc1swXS5jc3NUZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIkBz
dXBwb3J0cyAod2lkdGg6IDApIHtcbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAiICBz
IHsgd2lkdGg6IDBweDsgfVxuIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICIgIEBzdXBw
b3J0cyAod2lkdGg6IDEpIHtcbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAiICBzIHsg
Y29sb3I6IHJnYigwLCAwLCAwKTsgfVxuIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ9
XG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIn0iKTsKKworICAgIGRlYnVnKCJcbklu
c2VydGluZyBhbmQgZGVsZXRpbmcgcnVsZXMuIik7CisgICAgZXZhbEFuZExvZygicnVsZXNbMF0u
aW5zZXJ0UnVsZSgnQG1lZGlhIGFsbCB7ICNzIHsgd2lkdGg6IDBweDsgfSB9JywgMikiKTsKKyAg
ICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NSdWxlcy5sZW5ndGgiLCAzKTsKKyAgICBz
aG91bGRCZSgicnVsZXNbMF0uY3NzUnVsZXNbMl0udHlwZSIsICJDU1NSdWxlLk1FRElBX1JVTEUi
KTsKKyAgICBldmFsQW5kTG9nKCJydWxlc1swXS5kZWxldGVSdWxlKDIpIik7CisgICAgc2hvdWxk
RXZhbHVhdGVUbygicnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIiwgMik7CisKKyAgICBldmFsQW5k
TG9nKCJydWxlc1swXS5jc3NSdWxlc1sxXS5pbnNlcnRSdWxlKCdAc3VwcG9ydHMgKGRpc3BsYXk6
IHJhaW5ib3cpIHt9JywgMSkiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NS
dWxlc1sxXS5jc3NSdWxlcy5sZW5ndGgiLCAyKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMF0uY3Nz
UnVsZXNbMV0uY3NzUnVsZXNbMV0udHlwZSIsICJDU1NSdWxlLlNVUFBPUlRTX1JVTEUiKTsKKyAg
ICBldmFsQW5kTG9nKCJydWxlc1swXS5jc3NSdWxlc1sxXS5kZWxldGVSdWxlKDEpIik7CisgICAg
c2hvdWxkRXZhbHVhdGVUbygicnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIiwgMik7CisKKyAgICBk
ZWJ1ZygiXG5AY2hhcnNldCwgQG5hbWVzcGFjZSwgQGltcG9ydCBydWxlcyBhcmUgbm90IGFsbG93
ZWQgaW5zaWRlIEBzdXBwb3J0cy4iKQorICAgIHNob3VsZFRocm93KCJydWxlc1swXS5pbnNlcnRS
dWxlKCdAY2hhcnNldCBcIlVURi04XCInLCAyKSIpOworICAgIHNob3VsZFRocm93KCJydWxlc1sw
XS5pbnNlcnRSdWxlKCdAbmFtZXNwYWNlIFwiXCInLCAyKSIpOworICAgIHNob3VsZFRocm93KCJy
dWxlc1swXS5pbnNlcnRSdWxlKCdAaW1wb3J0IHVybChcIi4uL2Zhc3QvY3Nzb20vcmVzb3VyY2Vz
L2ltcG9ydC5jc3NcIiknLCAyKSIpOworCisKKyAgICBkZWJ1ZygiXG5XaGl0ZXNwYWNlIGFuZCBm
b3JtYXR0aW5nIHNob3VsZCBiZSBwcmVzZXJ2ZWQgd2l0aGluIHRoZSBjb25kaXRpb24sIHdoaXRl
c3BhY2Ugb3V0c2lkZSB0aGUgY29uZGl0aW9uIHNob3VsZCBiZSB0cmltbWVkLiIpOworICAgIHNo
b3VsZEJlRXF1YWxUb1N0cmluZygicnVsZXNbMV0uY29uZGl0aW9uVGV4dCIsICIoKCAgKCAgICAg
cGFkZGluZzogMCkgICAgYW5kIChkaXNwbGF5OiBub25lKSkgb3IgKGRpc3BsYXk6IHJhaW5ib3cp
KSIpOworCisKKyAgICBkZWJ1ZygiXG5Ac3VwcG9ydHMgcnVsZSBuZXN0ZWQgaW5zaWRlIGEgbWVk
aWEgcnVsZS4iKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMl0udHlwZSIsICJDU1NSdWxlLk1FRElB
X1JVTEUiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1syXS5jc3NSdWxlcy5sZW5ndGgi
LCAxKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMl0uY3NzUnVsZXNbMF0udHlwZSIsICJDU1NSdWxl
LlNVUFBPUlRTX1JVTEUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJ1bGVzWzJdLmNz
c1J1bGVzWzBdLmNvbmRpdGlvblRleHQiLCAiKCBwYWRkaW5nOiAwKSIpOworICAgIHNob3VsZEV2
YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCIsIDEpOworICAg
IHNob3VsZEJlKCJydWxlc1syXS5jc3NSdWxlc1swXS5jc3NSdWxlc1swXS50eXBlIiwgIkNTU1J1
bGUuUEFHRV9SVUxFIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJydWxlc1syXS5jc3NU
ZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIkBtZWRpYSBhbGwgeyBcbiIgKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAiICBAc3VwcG9ydHMgKCBwYWRkaW5nOiAwKSB7XG4iICsK
KyAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgQHBhZ2UgOmxlZnQgeyB0b3A6IDBweDsgfVxu
IiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iICsKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIn0iKTsKKworCisgICAgZGVidWcoIlxuTm8gZXh0cmEgcGFyZW5zIHNob3VsZCBi
ZSBhZGRlZCB0byB0aGUgY29uZGl0aW9uVGV4dC4iKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJp
bmcoInJ1bGVzWzNdLmNvbmRpdGlvblRleHQiLCAiKGJvcmRlcjogYmxhY2spIGFuZCAocGFkZGlu
ZzogMCkgYW5kICh3aWR0aDogMCkiKTsKKworCisgICAgZGVidWcoIlxuRGVsZXRpbmcgYSB0b3At
bGV2ZWwgcnVsZSBzaG91bGQgd29yayBjb3JyZWN0bHkuIik7CisgICAgZXZhbEFuZExvZygiZG9j
dW1lbnQuc3R5bGVTaGVldHNbMV0uZGVsZXRlUnVsZSgzKSIpOworICAgIHNob3VsZEV2YWx1YXRl
VG8oInJ1bGVzLmxlbmd0aCIsIDMpOworICAgIHNob3VsZEJlKCJydWxlc1swXS50eXBlIiwgIkNT
U1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNz
c1J1bGVzLmxlbmd0aCIsIDIpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1swXS50
eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5jc3NS
dWxlc1sxXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAgIHNob3VsZEV2YWx1
YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCIsIDEpOworICAgIHNo
b3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlc1swXS50eXBlIiwgIkNTU1J1bGUu
U1RZTEVfUlVMRSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jlc291
cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9odG1sPgorCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWV4cGVjdGVkLnR4dCBiL0xheW91dFRl
c3RzL2NzczMvc3VwcG9ydHMtZXhwZWN0ZWQudHh0CmluZGV4IGQ3N2U3MmY3NzA1ZWZmMTU1ZTMz
NTc2OTg3NDQ4YzBhMWIxNWJmZDIuLjQxYTc2YmFjM2YzYmZiMmZjYTRmYjQwZGM4ZDA0NTM5Yjlh
ZjIxYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtZXhwZWN0ZWQudHh0CkBAIC0zOCw2ICsz
OCw4IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndDMx
JykpLmNvbnRlbnQgaXMgIkFQUExJRUQiCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoJ3QzMicpKS5jb250ZW50IGlzICJBUFBMSUVEIgogUEFTUyBnZXRDb21w
dXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0MzMnKSkuY29udGVudCBpcyAiQVBQ
TElFRCIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndDM0
JykpLmNvbnRlbnQgaXMgIlVOVE9VQ0hFRCIKK1BBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgndDM1JykpLmNvbnRlbnQgaXMgIkFQUExJRUQiCitQQVNTIGdldENv
bXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzNicpKS5jb250ZW50IGlzICJV
TlRPVUNIRUQiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAKIFRFU1QgQ09NUExF
VEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMuaHRtbCBiL0xheW91dFRl
c3RzL2NzczMvc3VwcG9ydHMuaHRtbAppbmRleCAxZTY4YzljNjg1NDg1ZDdhODFjYmY0YzBhNmZi
NmNiZjlmMWFhY2ExLi40NDM0N2RhZTU5OGZjYThlYzBiYjUxM2FjODY0YjdmOTU0M2VmMjBkIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvY3NzMy9zdXBwb3J0cy5odG1sCkBAIC04NCwyNCArODQsNiBAQAogICAgICAgICAjdDE3IHsg
Y29udGVudDogIkFQUExJRUQiIH0KICAgICB9CiAKLSAgICAvKiBOZXN0aW5nLiAqLwotICAgIEBz
dXBwb3J0cyAoZGlzcGxheTogbm9uZSkgewotICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGRl
YWRiZWVmKSB7Ci0gICAgICAgICAgICAjdDE4IHsgY29udGVudDogIkZBSUwiIH0KLSAgICAgICAg
fQotICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgewotICAgICAgICAgICAgI3Qx
OSB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9Ci0gICAgICAgIH0KLSAgICAgICAgQHN1cHBvcnRzIChk
aXNwbGF5OiBpbmxpbmUpIHsKLSAgICAgICAgfQotICAgICAgICBAbWVkaWEgYWxsIHsKLSAgICAg
ICAgICAgICN0MjAgeyBjb250ZW50OiAiQVBQTElFRCIgfQotICAgICAgICAgICAgQHN1cHBvcnRz
IChkaXNwbGF5OiBpbmxpbmUpIHsKLSAgICAgICAgICAgICAgICAjdDIxIHsgY29udGVudDogIkFQ
UExJRUQiIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQogICAgIC8qIFdoaXRl
c3BhY2UvU3ludGF4ICovCiAgICAgQHN1cHBvcnRzIG5vdCggZGlzcGxheTogZGVhZGJlZWYpIHsK
ICAgICAgICAgI3QyMiB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9CkBAIC0xNTcsNiArMTM5LDM5IEBA
CiAgICAgICAgICN0MzQgeyBjb250ZW50OiAiRkFJTCIgfQogICAgIH0KIAorICAgIC8qIE5lc3Rp
bmcuICovCisgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBub25lKSB7CisgICAgICAgIEBzdXBwb3J0
cyAoZGlzcGxheTogZGVhZGJlZWYpIHsKKyAgICAgICAgICAgICN0MTggeyBjb250ZW50OiAiRkFJ
TCIgfQorICAgICAgICB9CisgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogaW5saW5lKSB7Cisg
ICAgICAgICAgICAjdDE5IHsgY29udGVudDogIkFQUExJRUQiIH0KKyAgICAgICAgfQorICAgICAg
ICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICB9CisgICAgICAgIEBtZWRp
YSBhbGwgeworICAgICAgICAgICAgI3QyMCB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9CisgICAgICAg
ICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICAgICAgICAgICN0MjEg
eyBjb250ZW50OiAiQVBQTElFRCIgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAgfQor
CisgICAgQG1lZGlhIGFsbCB7CisgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogaW5saW5lKSB7
CisgICAgICAgICAgICBAbWVkaWEgYWxsIHsKKyAgICAgICAgICAgICAgICBAc3VwcG9ydHMgKGRp
c3BsYXk6IG5vbmUpIHsKKyAgICAgICAgICAgICAgICAgICAgI3QzNSB7IGNvbnRlbnQ6ICJBUFBM
SUVEIiB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAgICAgICB9CisgICAg
fQorCisgICAgQG1lZGlhIG5vdCBhbGwgeworICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IG5v
bmUpIHsKKyAgICAgICAgICAgICN0MzYgeyBjb250ZW50OiAiRkFJTCIgfQorICAgICAgICB9Cisg
ICAgfQogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTY0LDggKzE3OSw4IEBACiAKIDxz
Y3JpcHQ+CiAgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhlIEBzdXBwb3J0cyBydWxlLiIpOwotICAg
IHZhciBudW1UZXN0cyA9IDM1OwotICAgIHZhciB1bnRvdWNoZWRUZXN0cyA9IFsxLCAzLCA1LCA4
LCAxMiwgMTMsIDE0LCAxOCwgMjgsIDI5LCAzNF07IC8vIFRlc3RzIHdob3NlIGNvbnRlbnQgc2hv
dWxkbid0IGNoYW5nZSBmcm9tIHRoZSBVTlRPVUNIRUQgZGVmYXVsdC4KKyAgICB2YXIgbnVtVGVz
dHMgPSAzNzsKKyAgICB2YXIgdW50b3VjaGVkVGVzdHMgPSBbMSwgMywgNSwgOCwgMTIsIDEzLCAx
NCwgMTgsIDI4LCAyOSwgMzQsIDM2XTsgLy8gVGVzdHMgd2hvc2UgY29udGVudCBzaG91bGRuJ3Qg
Y2hhbmdlIGZyb20gdGhlIFVOVE9VQ0hFRCBkZWZhdWx0LgogCiAgICAgdmFyIGNvbnRhaW5lciA9
IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0X2NvbnRhaW5lciIpOwogICAgIGZvciAodmFy
IGk9MDsgaSA8IG51bVRlc3RzOyBpKyspIHsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRm
b3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJv
bWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDcyMWFjNzBjZGFjNzU1ODNlY2FhNTlkNzA0MWNh
ZGEyODI1MzU3N2EuLjdlZWE1OTUyYTJlMTMxYzNiZGIxNDc4MGM5YTlmNWM1ZmNjZGY3NmYgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMK
KysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
Mzk3NCw2ICszOTc0LDcgQEAgd2Via2l0Lm9yZy9iLzk1MTIxIFsgQW5kcm9pZCBdIGZhc3QvYm9y
ZGVycy9ib3JkZXItaW1hZ2Utc2lkZS1yZWR1Y3Rpb24uaHRtbCBbIEkKIAogIyBjc3MzLWNvbmRp
dGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84NjE0NiBj
c3MzL3N1cHBvcnRzLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDQ4MjIgY3NzMy9zdXBwb3J0cy1jc3Nv
bS5odG1sCiAKICMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5vdCBlbmFibGVkLgogd2Via2l0
Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBdCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDEwZDgxMjgzMWQxMjZkZTc1NDNmOTE1YzQ0
OTU5NGFiZTgwMjdjNDMuLjA4M2MzYjNhYmYzNTJlNDlhNjUwMmQwMDYxYzI2ODUxZmZmMmE1NGUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCisr
KyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCkBAIC0xNTU4LDYg
KzE1NTgsNyBAQCB3ZWJraXQub3JnL2IvOTk4NzggY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFzZWxp
bmUtbWFyZ2lucy5odG1sIFsgTWlzc2luZyBJbWFnZU9ubAogCiAjIGNzczMtY29uZGl0aW9uYWxz
IHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3Vw
cG9ydHMuaHRtbAord2Via2l0Lm9yZy9iLzEwNDgyMiBjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwK
IAogIyBPY2Nhc2lvbmFsbHkgZmFpbHMgaWYgcnVuIGFmdGVyIHJpZ2h0IGFmdGVyCiAjIGZhc3Qv
c2VsZWN0b3JzL3VucXVhbGlmaWVkLWhvdmVyLXF1aXJrcy5odG1sIG9yIGl0c2VsZi4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggN2E5NzVlYTBjOWQyODNi
MWYwNTA2MzI2ZWZkZjAwZWQ5ZTZkNTE1My4uNDdmNWQ2OWYyZmMyNGQ0NjJjZWMwMzVhZmRlMzAw
ZDIzNTU1ZDc2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBl
Y3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTQ0MSw2ICs0NDEsNyBAQCB3ZWJraXQub3JnL2IvOTkwNTkgZmFzdC9kb20vdGltZXItdGhy
b3R0bGluZy1oaWRkZW4tcGFnZS5odG1sIFsgRmFpbHVyZSBdCiAKICMgY3NzMy1jb25kaXRpb25h
bHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9z
dXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3VwcG9ydHMtY3Nzb20uaHRt
bAogCiAjIFJlcXVpcmVzIFJlc29sdXRpb24gTWVkaWEgUXVlcnkgc3VwcG9ydAogd2Via2l0Lm9y
Zy9iLzEwMDEzNyBmYXN0L21lZGlhL21xLXJlc29sdXRpb24uaHRtbCBbIEZhaWx1cmUgXQpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlv
dXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3MmRiOTJjZjlhYjg0
OGU1OGUxZGRhNmE1ZjM4NDlkODFkZDdmMzU3Li5iYzI2OTA2ZDI1MDYyNjRmZWY2YzlmMmNlOTBl
M2IwYjkwZjQwMTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4
cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9u
cwpAQCAtMTE3OSw2ICsxMTc5LDcgQEAgd2Via2l0Lm9yZy9iLzkyNDY0IFsgRGVidWcgXSBmYXN0
L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC5odG1sIFsgQ3Jhc2ggUGEKIAogIyBjc3Mz
LWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi84
NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDQ4MjIgY3NzMy9zdXBwb3J0
cy1jc3NvbS5odG1sCiAKICMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5vdCBlbmFibGVkLgog
d2Via2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBdCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMv
cGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ZmVlNTVmMTQ1YmVhZGQ3MTIyNTIw
YmI4ZThlZjMyZWYwMWRjZDE1Li5lMzRkZDM0OTliOTI2MTRkZmMwYmU1OWU2ODgyZTU2ZGRmNmJk
YmUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25z
CisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTI0MTIs
NiArMjQxMiw3IEBAIHdlYmtpdC5vcmcvYi8yMzE2NiBpZXRlc3RjZW50ZXIvY3NzMy9ib3JkZXJz
YmFja2dyb3VuZHMvYm9yZGVyLXJhZGl1cy1jbGlwLTAwMi5oCiAKICMgY3NzMy1jb25kaXRpb25h
bHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9z
dXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3VwcG9ydHMtY3Nzb20uaHRt
bAogCiAjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KIHdlYmtpdC5vcmcv
Yi85NTk2OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlOTFjZjM3NjU0MGM2OTNmZjE5NGM2ZTMwZDNlOTFm
NWE2M2I2YmYxLi5lYzE2ZTI4MGYxN2I4ZjQ2ZTFhZDhkNTUyYmNhNDYyYTc0YzBhOGEwIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucworKysgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjM5NSw4ICsyMzk1
LDkgQEAgY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFzZWxpbmUuaHRtbAogI2h0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTg3OAogY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFz
ZWxpbmUtbWFyZ2lucy5odG1sCiAKLSMgY3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3Qg
eWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvODYxNDYKKyMgY3NzMy1jb25kaXRpb25h
bHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvODYxNDYg
aHR0cDovL3dlYmtpdC5vcmcvYi8xMDQ4MjIKIGNzczMvc3VwcG9ydHMuaHRtbAorY3NzMy9zdXBw
b3J0cy1jc3NvbS5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTk4MTY5CiBodHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggYWZhNjgxZTg4NmE3
NTA3ZjU1ZTBjZmMzMzE4NTc0NmJjOWNkYWE3OS4uZWMzYjA5NGRmNGRiYWYxNzA2YzIwZDdkM2Rl
MjM3MDUxYWFhMTVlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8v
VGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0
RXhwZWN0YXRpb25zCkBAIC0yODkxLDggKzI4OTEsOSBAQCBjc3MzL2ZsZXhib3gvZmxleGJveC1i
YXNlbGluZS5odG1sCiAjaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTk5
ODc4CiBjc3MzL2ZsZXhib3gvZmxleGJveC1iYXNlbGluZS1tYXJnaW5zLmh0bWwKIAotIyBjc3Mz
LWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5v
cmcvYi84NjE0NgorIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxl
ZC4gaHR0cDovL3dlYmtpdC5vcmcvYi84NjE0NiBodHRwOi8vd2Via2l0Lm9yZy9iLzEwNDgyMgog
Y3NzMy9zdXBwb3J0cy5odG1sCitjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwKIAogIyBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxNjkKIGh0dHAvdGVzdHMvaW5zcGVj
dG9yL3N0YWNrdHJhY2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25z
CmluZGV4IDA4ZTg4ZDQ1NGVjZWQ0YmRmNDE3NzY2YjQ1ZjkyMWY0MDJkZTYxYjAuLjViNmY4NGZj
ZTc4ZGM5NWQ4ZjEyYzk5OGFhZDBmYzNiYzZiMjZlMDkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3Jt
L3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNDUsNiArMzQ1LDcgQEAgaHR0cC90ZXN0cy9zZWN1
cml0eS9yZWZlcnJlci1wb2xpY3ktcmVkaXJlY3QtbGluay5odG1sCiAKICMgY3NzMy1jb25kaXRp
b25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3Nz
My9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3VwcG9ydHMtY3Nzb20u
aHRtbAogCiAjIFRleHQgQXV0b3NpemluZyBpcyBub3QgeWV0IGVuYWJsZWQuCiAjIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE4Ngo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>180402</attachid>
            <date>2012-12-20 13:49:21 -0800</date>
            <delta_ts>2013-01-14 13:41:45 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104822-20121220134637.patch</filename>
            <type>text/plain</type>
            <size>78368</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM4MjgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggYThjMDMzNWE5NWZmYjBi
M2QyYzE2OTIwODk5ZGE1ZGNhMGU3YjZkNC4uMzFlYzllM2M0ZDc3NzljNDFmYmU3NzYzODQ0Zjk2
MDAzZmUyMjBiZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDExMCBAQAorMjAxMi0xMi0xOSAgUGFi
bG8gRmxvdXJldCAgPHBhYmxvZkBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENT
U1N1cHBvcnRzUnVsZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MTA0ODIyCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgaHR0cDovL2Rldi53My5vcmcvY3Nzd2cvY3NzMy1jb25kaXRpb25hbC8jdGhlLWNzc3N1
cHBvcnRzcnVsZS1pbnRlcmZhY2UKKworICAgICAgICBSaWdodCBub3csIEBzdXBwb3J0cyBpcyBu
b3QgaW1wbGVtZW50ZWQgYXMgYSBwcm9wZXIgQ1NTUnVsZS4gQXBhcnQgZnJvbQorICAgICAgICB0
aGUgQ1NTT00gaW1wbGljYXRpb25zIGl0IGdpdmVzIHdyb25nIHJlc3VsdHMgd2hlbiwgZm9yIGlu
c3RhbmNlLCBhbgorICAgICAgICBAc3VwcG9ydHMgcnVsZSBpcyBuZXN0ZWQgaW5zaWRlIGEgQG1l
ZGlhIHJ1bGUuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGluY2lkZW50YWxseSBhZGRzIHN1
cHBvcnQgZm9yIHByb3BlciBuZXN0aW5nIG9mIGF0LXJ1bGVzCisgICAgICAgIHdoZXJlIGFsbG93
ZWQgYnkgdGhlIHNwZWMuCisKKyAgICAgICAgVGVzdDogY3NzMy9zdXBwb3J0cy1jc3NvbS5odG1s
CisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy5j
cHA6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBEZXJpdmVkU291
cmNlcy5wcmk6CisgICAgICAgICogR05VbWFrZWZpbGUubGlzdC5hbToKKyAgICAgICAgKiBUYXJn
ZXQucHJpOgorICAgICAgICAqIFdlYkNvcmUuZXhwLmluOgorICAgICAgICAqIFdlYkNvcmUuZ3lw
aToKKyAgICAgICAgKiBXZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvajoKKyAgICAgICAgKiBX
ZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICAgICBBZGQgQ1NTU3Vw
cG9ydHNSdWxlLiogYW5kIGFzc29jaWF0ZWQgZmlsZXMuCisKKyAgICAgICAgKiBiaW5kaW5ncy9q
cy9KU0NTU1J1bGVDdXN0b20uY3BwOgorICAgICAgICAoV2ViQ29yZTo6dG9KUyk6CisgICAgICAg
ICogYmluZGluZ3Mvb2JqYy9ET01DU1MubW06CisgICAgICAgIChraXRDbGFzcyk6CisgICAgICAg
ICogYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJD
b3JlOjp3cmFwKToKKyAgICAgICAgICAgIENyZWF0ZSB0aGUgY29ycmVjdCB3cmFwcGVycyBmb3Ig
dGhlIHJ1bGUuCisKKyAgICAgICAgKiBjc3MvQ1NTR3JhbW1hci55LmluOgorICAgICAgICAqIGNz
cy9DU1NQYXJzZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjpjcmVhdGVTdXBw
b3J0c1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrU3VwcG9ydHNSdWxl
SGVhZGVyU3RhcnQpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTUGFyc2VyOjptYXJrU3VwcG9ydHNS
dWxlSGVhZGVyRW5kKToKKyAgICAgICAgKiBjc3MvQ1NTUGFyc2VyLmg6CisgICAgICAgICAgICBD
cmVhdGUgdGhlIHN1cHBvcnRzIHJ1bGUgd2hlbiBwYXJzaW5nIGFuZCBhZGQgaXQgd2hlcmUgaXQg
Y29ycmVzcG9uZHMsCisgICAgICAgICAgICBpbnN0ZWFkIG9mIGRpcmVjdGx5IGFkZGluZyB0aGUg
Y2hpbGQgcnVsZXMgdG8gdGhlIHN0eWxlc2hlZXQuCisKKyAgICAgICAgKiBjc3MvQ1NTUHJvcGVy
dHlTb3VyY2VEYXRhLmg6CisgICAgICAgICogY3NzL0NTU1J1bGUuaDoKKyAgICAgICAgKiBjc3Mv
Q1NTUnVsZS5pZGw6CisgICAgICAgICAgICBBZGQgU1VQUE9SVFNfUlVMRSB0eXBlIHRvIGVudW1z
LgorCisgICAgICAgICogY3NzL0NTU1N1cHBvcnRzUnVsZS5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViQ29yZTo6Q1NTU3VwcG9ydHNSdWxlOjpDU1NTdXBwb3J0c1J1bGUpOgorICAgICAgICAoV2Vi
Q29yZTo6Q1NTU3VwcG9ydHNSdWxlOjp+Q1NTU3VwcG9ydHNSdWxlKToKKyAgICAgICAgKFdlYkNv
cmU6OkNTU1N1cHBvcnRzUnVsZTo6aW5zZXJ0UnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NT
dXBwb3J0c1J1bGU6OmRlbGV0ZVJ1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3VwcG9ydHNS
dWxlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6bGVuZ3Ro
KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6aXRlbSk6CisgICAgICAgIChX
ZWJDb3JlOjpDU1NTdXBwb3J0c1J1bGU6OmNzc1J1bGVzKToKKyAgICAgICAgKFdlYkNvcmU6OkNT
U1N1cHBvcnRzUnVsZTo6Y29uZGl0aW9uVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NTdXBw
b3J0c1J1bGU6OnJlYXR0YWNoKToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6
cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaDogQWRk
ZWQuCisgICAgICAgIChDU1NTdXBwb3J0c1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NTU3Vw
cG9ydHNSdWxlOjpjcmVhdGUpOgorICAgICAgICAqIGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsOiBB
ZGRlZC4KKyAgICAgICAgICAgIERPTSBpbnRlcmZhY2UuCisKKyAgICAgICAgKiBjc3MvUnVsZVNl
dC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSdWxlU2V0OjphZGRDaGlsZFJ1bGVzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KToKKyAgICAgICAgKiBjc3Mv
UnVsZVNldC5oOgorICAgICAgICAgICAgQWRkIHJ1bGVzIGluY2x1ZGVkIGluIHRoZSBAc3VwcG9y
dHMgcnVsZS4gTW92ZSB0aGUgYWN0dWFsIGFkZGl0aW9uCisgICAgICAgICAgICBvZiB0aGUgc2hl
ZXQncyBydWxlcyB0byBhIHNlcGFyYXRlIGFkZENoaWxkUnVsZXMgbWV0aG9kIHNvIHRoYXQgaXQK
KyAgICAgICAgICAgIGNhbiBiZSBjYWxsZWQgYWdhaW4gYnkgcnVsZXMgdGhhdCB0aGVtc2VsdmVz
IGhhdmUgY2hpbGQgcnVsZXMgKGxpa2UKKyAgICAgICAgICAgIEBtZWRpYSBhbmQgQHN1cHBvcnRz
KS4gVGhpcyBtZWFucyB0aGF0IG5lc3RpbmcgYXQtcnVsZXMgaXMgbm93CisgICAgICAgICAgICBz
dXBwb3J0ZWQuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSZXNvbHZlci5jcHA6CisgICAgICAgIChX
ZWJDb3JlOjpjb2xsZWN0Q1NTT01XcmFwcGVycyk6CisgICAgICAgICAgICBDb2xsZWN0IENTU1N1
cHBvcnRzUnVsZSB3cmFwcGVycy4KKworICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuY3BwOgorICAg
ICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNhZ2UpOgorICAgICAg
ICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6ZGVzdHJveSk6CisgICAgICAgIChXZWJDb3JlOjpT
dHlsZVJ1bGVCYXNlOjpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmNy
ZWF0ZUNTU09NV3JhcHBlcik6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVTdXBwb3J0czo6
U3R5bGVSdWxlU3VwcG9ydHMpOgorICAgICAgICAqIGNzcy9TdHlsZVJ1bGUuaDoKKyAgICAgICAg
KFN0eWxlUnVsZUJhc2UpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6aXNTdXBw
b3J0c1J1bGUpOgorICAgICAgICAoU3R5bGVSdWxlU3VwcG9ydHMpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSdWxlU3VwcG9ydHM6OmNyZWF0ZSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVTdXBwb3J0czo6Y29uZGl0aW9uVGV4dCk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1bGVT
dXBwb3J0czo6Y29uZGl0aW9uSXNTdXBwb3J0ZWQpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVS
dWxlU3VwcG9ydHM6OmNvcHkpOgorICAgICAgICAgICAgTmV3IHN1YmNsYXNzIG9mIFN0eWxlUnVs
ZUJsb2NrOiBTdHlsZVJ1bGVTdXBwb3J0cy4KKworICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29u
dGVudHMuY3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNl
bGVkU3VicmVzb3VyY2VzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVl
dC5jcHA6CisgICAgICAgIChmbGF0dGVuU291cmNlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjph
c0NTU1J1bGVMaXN0KToKKyAgICAgICAgICAgIEhhbmRsZSBAc3VwcG9ydHMgcnVsZXMgd2hlcmUg
bmVlZGVkLgorCiAyMDEyLTEyLTE5ICBEZWFuIEphY2tzb24gIDxkaW5vQGFwcGxlLmNvbT4KIAog
ICAgICAgICBGb2xsb3cgV2ViVlRUIGxpbmUgYnJlYWtpbmcgcnVsZXMKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKaW5kZXggMTc0NTkzM2U0YmMyNWQ5ZmNmZGViNWI5YmY5NzgzZTg4YWY2ZTllYy4uNjNkZjc5
Njk5MjU3MmMzOWY5YTAwZjYxZTZkMzhjOGM3MjMwNDY4NiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQK
QEAgLTMyMSw2ICszMjEsNyBAQCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBjc3MvQ1NTU3R5
bGVEZWNsYXJhdGlvbi5pZGwKICAgICBjc3MvQ1NTU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NT
dHlsZVNoZWV0LmlkbAorICAgIGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCiAgICAgY3NzL0NTU1Zh
bHVlLmlkbAogICAgIGNzcy9DU1NWYWx1ZUxpc3QuaWRsCiAgICAgY3NzL01lZGlhTGlzdC5pZGwK
QEAgLTEwNTQsNiArMTA1NSw3IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTU2Vs
ZWN0b3JMaXN0LmNwcAogICAgIGNzcy9DU1NTdHlsZVJ1bGUuY3BwCiAgICAgY3NzL0NTU1N0eWxl
U2hlZXQuY3BwCisgICAgY3NzL0NTU1N1cHBvcnRzUnVsZS5jcHAKICAgICBjc3MvQ1NTVGltaW5n
RnVuY3Rpb25WYWx1ZS5jcHAKICAgICBjc3MvQ1NTVG9TdHlsZU1hcC5jcHAKICAgICBjc3MvQ1NT
VW5pY29kZVJhbmdlVmFsdWUuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYTNk
N2YyOTFkZWIxNzE3NDJjZTJlMGU0Zjc4ZGY5YWZlOGNiYmI1NC4uMGZjMTQ0NDc5ODJlZDYyZGEx
NjczNDU0YjI2ZjllYzY1MjFjNmM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZl
ZFNvdXJjZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAt
NjQsNiArNjQsNyBAQAogI2luY2x1ZGUgIkpTQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAiCiAjaW5j
bHVkZSAiSlNDU1NTdHlsZVJ1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTU3R5bGVTaGVldC5jcHAi
CisjaW5jbHVkZSAiSlNDU1NTdXBwb3J0c1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWUu
Y3BwIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0N1c3RvbUV2
ZW50LmNwcCIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2Ug
Yi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IDk4OTBmMDE4ODFkMmJh
YmVjZWViMGMyMThjYzJkY2FkOGY1ZWVlOTAuLjcwZWFiMGU5NDMzNTVhYzg3NWVhM2JhY2E1OTky
NGMwN2UyYTM4ZDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc4LDYgKzE3
OCw3IEBAIEJJTkRJTkdfSURMUyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZURlY2xh
cmF0aW9uLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTU3R5bGVSdWxlLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9jc3MvQ1NTU3R5bGVTaGVldC5pZGwgXAorICAgICQoV2ViQ29yZSkvY3NzL0NT
U1N1cHBvcnRzUnVsZS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL0NTU1Vua25vd25SdWxlLmlk
bCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nz
cy9DU1NWYWx1ZUxpc3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLnByaSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCBkNThh
ZmI5MzE2N2Y3MTU4NGViYmVmMGZjNmQ0MjYyMzY4MGU4MTFkLi5jNmZlMDU2NThiZTI4MzVlMjJk
ZjZjYmQxOTIwM2VhMTQ1OTM5NjFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5wcmkKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0x
OTgsNiArMTk4LDcgQEAgSURMX0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9jc3MvQ1NTU3R5bGVE
ZWNsYXJhdGlvbi5pZGwgXAogICAgICQkUFdEL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKICAgICAk
JFBXRC9jc3MvQ1NTU3R5bGVTaGVldC5pZGwgXAorICAgICQkUFdEL2Nzcy9DU1NTdXBwb3J0c1J1
bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NT
VmFsdWVMaXN0LmlkbCBcCiAgICAgJCRQV0QvY3NzL01lZGlhTGlzdC5pZGwgXApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dO
VW1ha2VmaWxlLmxpc3QuYW0KaW5kZXggNWVhM2FmMjkyNzFiNDE3ZjFiMjFiN2Q1ZGM2MzY3NDhm
MzBlNzFlMC4uOTRkNjlmYWZkZTk3MmEwZmIyYjBiNWJhYTcyOWY5MGRiNzVhZjliNCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9HTlVtYWtlZmlsZS5saXN0LmFtCkBAIC0xMzEsNiArMTMxLDggQEAgd2ViY29yZV9idWls
dF9zb3VyY2VzICs9IFwKIAlEZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVSdWxlLmgg
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVNoZWV0LmNwcCBcCiAJRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU0NTU1N1cHBvcnRzUnVsZS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlND
U1NTdXBwb3J0c1J1bGUuaCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNw
cCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmggXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNDU1NWYWx1ZUxpc3QuY3BwIFwKQEAgLTEzMjcsNiArMTMyOSw3IEBAIGRv
bV9iaW5kaW5nX2lkbHMgKz0gXAogCSQoV2ViQ29yZSkvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24u
aWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nz
cy9DU1NTdHlsZVNoZWV0LmlkbCBcCisJJChXZWJDb3JlKS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlk
bCBcCiAJJChXZWJDb3JlKS9jc3MvQ1NTVmFsdWUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NW
YWx1ZUxpc3QuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9Db3VudGVyLmlkbCBcCkBAIC0yNTgxLDYg
KzI1ODQsOCBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NT
dHlsZVJ1bGUuaCBcCiAJU291cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKIAlT
b3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3R5bGVTaGVldC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3VwcG9ydHNSdWxlLmNwcCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVs
ZS5oIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgXAog
CVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggXAogCVNvdXJjZS9X
ZWJDb3JlL2Nzcy9DU1NUb1N0eWxlTWFwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9UYXJnZXQucHJpIGIvU291cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBlNmQ0N2Y2Y2Fm
MjgyYjgxZGYwZmVlZDRhYWJiNjQ5MjRjNjg2MThlLi5kMDUzODcwMWU0NzBlNDJmNmQxOTUwZTk1
Yzc0MjEyMDI5YjcyZWFmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisr
KyBiL1NvdXJjZS9XZWJDb3JlL1RhcmdldC5wcmkKQEAgLTI4Myw2ICsyODMsNyBAQCBTT1VSQ0VT
ICs9IFwKICAgICBjc3MvQ1NTU2VnbWVudGVkRm9udEZhY2UuY3BwIFwKICAgICBjc3MvQ1NTU3R5
bGVSdWxlLmNwcCBcCiAgICAgY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKKyAgICBjc3MvQ1NTU3Vw
cG9ydHNSdWxlLmNwcCBcCiAgICAgY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwIFwKICAg
ICBjc3MvQ1NTVG9TdHlsZU1hcC5jcHAgXAogICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5j
cHAgXApAQCAtMTQ4Myw2ICsxNDg0LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL0NTU1N0eWxl
RGVjbGFyYXRpb24uaCBcCiAgICAgY3NzL0NTU1N0eWxlUnVsZS5oIFwKICAgICBjc3MvQ1NTU3R5
bGVTaGVldC5oIFwKKyAgICBjc3MvQ1NTU3VwcG9ydHNSdWxlLmggXAogICAgIGNzcy9DU1NUaW1p
bmdGdW5jdGlvblZhbHVlLmggXAogICAgIGNzcy9DU1NUb1N0eWxlTWFwLmggXAogICAgIGNzcy9D
U1NVbmljb2RlUmFuZ2VWYWx1ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUuZXhwLmluIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggMGM3MzA2ZTJl
MzNhY2FhZmRhOTNlMGQzYmVhNmU5OGZiNmRmY2FlMi4uNjlhZDIyNDk1OGMwZmEwYzNhMDE0OTkz
YWU2NWQ3YzZlYzA3ODBjZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAu
aW4KKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE1NjksNiArMTU2OSw3
IEBAIF93a1NpZ25hbENGUmVhZFN0cmVhbUhhc0J5dGVzCiAub2JqY19jbGFzc19uYW1lX0RPTUNT
U1J1bGVMaXN0CiAub2JqY19jbGFzc19uYW1lX0RPTUNTU1N0eWxlUnVsZQogLm9iamNfY2xhc3Nf
bmFtZV9ET01DU1NTdHlsZVNoZWV0Cisub2JqY19jbGFzc19uYW1lX0RPTUNTU1N1cHBvcnRzUnVs
ZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NVbmtub3duUnVsZQogLm9iamNfY2xhc3NfbmFtZV9E
T01DU1NWYWx1ZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NWYWx1ZUxpc3QKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lw
aQppbmRleCAyNTNkZGM0M2EwYzc0Nzg4ZmQ1ODMwMjcxNDg0MDg4NTAyOGZkMDNlLi41ZWJkNmU1
MDE0M2MzYmUyYTUxM2MwZGE0YTg0MzBhNDVlYTYyODFiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9XZWJDb3JlLmd5cGkKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0x
NjksNiArMTY5LDcgQEAKICAgICAgICAgICAgICdjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwn
LAogICAgICAgICAgICAgJ2Nzcy9DU1NTdHlsZVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3Mv
Q1NTU3R5bGVTaGVldC5pZGwnLAorICAgICAgICAgICAgJ2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRs
JywKICAgICAgICAgICAgICdjc3MvQ1NTVW5rbm93blJ1bGUuaWRsJywKICAgICAgICAgICAgICdj
c3MvQ1NTVmFsdWUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWVMaXN0LmlkbCcsCkBA
IC0xNDk5LDYgKzE1MDAsOCBAQAogICAgICAgICAgICAgJ2Nzcy9DU1NTdHlsZVJ1bGUuaCcsCiAg
ICAgICAgICAgICAnY3NzL0NTU1N0eWxlU2hlZXQuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NT
U3R5bGVTaGVldC5oJywKKyAgICAgICAgICAgICdjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCcsCisg
ICAgICAgICAgICAnY3NzL0NTU1N1cHBvcnRzUnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NT
VGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NUaW1pbmdGdW5j
dGlvblZhbHVlLmgnLAogICAgICAgICAgICAgJ2Nzcy9DU1NUb1N0eWxlTWFwLmNwcCcsCkBAIC01
NTQ4LDYgKzU1NTEsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvRE9NQ1NTU3R5bGVSdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdHlsZVNoZWV0Lm1tJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNT
U1N0eWxlU2hlZXRJbnRlcm5hbC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1N1cHBvcnRzUnVsZS5tbScsCisgICAgICAgICAgICAn
PChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdXBwb3J0c1J1bGVJ
bnRlcm5hbC5oJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0RPTUNTU1Vua25vd25SdWxlLm1tJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCcsCiAg
ICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NW
YWx1ZS5tbScsCkBAIC02MTA2LDYgKzYxMTEsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUuaCcsCiAgICAgICAgICAg
ICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQu
Y3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTQ1NTU3R5bGVTaGVldC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTQ1NTU3VwcG9ydHNSdWxlLmNwcCcsCisgICAgICAgICAgICAnPChQ
Uk9EVUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N1cHBvcnRzUnVsZS5oJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
VW5rbm93blJ1bGUuY3BwJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNU
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNwcCcsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDJmOTYxNjUzZWI1OTMw
ZTMwODg3ZWQ5ODgzZmM0ZDdhYTc1NTE3Y2IuLmY5Yzk1ZDBmNDA3NDQ2MTFhYmU3ZjZhNWFhYjIy
ZDdiYTFhMDljYTggMTAwNzU1Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dl
YkNvcmUudmNwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUu
dmNwcm9qCkBAIC0yMzYyLDYgKzIzNjIsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2pl
Y3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU1N1cHBvcnRzUnVsZS5jcHAiCisJCQkJPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVk
ZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xD
b21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8Rmls
ZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlF
eGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0i
VkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJ
CTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4z
MiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJ
CQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJh
dGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMy
IgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJ
CQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0
aW9uPgorCQkJPC9GaWxlPgorCQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJh
dGlvbkJ1aWxkRGlyKVxvYmpcJChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NTdXBw
b3J0c1J1bGUuaCIKKwkJCQk+CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0NTU1ZhbHVlLmNwcCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0z
NzI0Niw2ICszNzMwMiw2MiBAQAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVs
YXRpdmVQYXRoPSIuLlxjc3NcQ1NTU3VwcG9ydHNSdWxlLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21C
dWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVy
VG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgorCQkJCQlOYW1lPSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVk
RnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29t
cGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVD
b25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJ
CQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFt
ZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgor
CQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJ
CUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1l
PSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJ
CQk8L0ZpbGU+CisJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1N1cHBvcnRz
UnVsZS5oIgorCQkJCT4KKwkJCTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIu
Llxjc3NcQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmln
dXJhdGlvbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJv
amVjdC5wYnhwcm9qIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCmluZGV4IDgzNTNkZjhmZjk1ZGQ0M2I2NGFiYWY4YzU2MDY5ZDI1Y2RiMDIxNDguLmMz
MWM3MTNjN2RkNDUxZTk3YjBkMDFjNjEyNTY0NjZjNTFhNTQwYzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0MjMsNiArNjQy
MywxMyBAQAogCQlGQkQ2QUY4QjE1RUYyNUU1MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODYx
NUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmNwcCAqLzsgfTsKIAkJRkJENkFGOEMx
NUVGMjYwNDAwOEI3MTEwIC8qIEJhc2ljU2hhcGVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2QUY4MzE1RUYyMUEzMDA4QjcxMTAgLyogQmFzaWNT
aGFwZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9Owog
CQlGQkQ2QUY4RDE1RUYyNjBBMDA4QjcxMTAgLyogQmFzaWNTaGFwZXMuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkJENkFGODIxNUVGMjFBMzAwOEI3
MTEwIC8qIEJhc2ljU2hhcGVzLmNwcCAqLzsgfTsKKwkJRkM2M0JEQjMxNjdBQUJBQzAwRjkzODBG
IC8qIENTU1N1cHBvcnRzUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBGQzYzQkRCMDE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxl
LmNwcCAqLzsgfTsKKwkJRkM2M0JEQjQxNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVs
ZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkM2M0JE
QjExNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5oICovOyB9OworCQlGQzdFNjZF
OTE2ODBFRjFGMDAyODM3MTYgLyogSlNDU1NTdXBwb3J0c1J1bGUuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkM4NDgwMkQxNjdBQjQ0NDAwOENEMTAw
IC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLzsgfTsKKwkJRkM3RTY2RUExNjgwRUYyMjAwMjgz
NzE2IC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQzg0ODAyRTE2N0FCNDQ0MDA4Q0QxMDAgLyogSlNDU1NTdXBwb3J0
c1J1bGUuaCAqLzsgfTsKKwkJRkNDNTJENjUxNjdCRTI3NjAwM0RDMEUyIC8qIERPTUNTU1N1cHBv
cnRzUnVsZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZDQzRCMkMzMTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gKi87IH07
CisJCUZDQzUyRDY2MTY3QkUyN0UwMDNEQzBFMiAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZDQzRCMkMyMTY3QkRC
MTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCAqLzsgfTsKKwkJRkNDNTJENjcxNjdC
RTJBQTAwM0RDMEUyIC8qIERPTUNTU1N1cHBvcnRzUnVsZUludGVybmFsLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0M0QjJDNDE2N0JEQjE5MDBBNTVD
NDIgLyogRE9NQ1NTU3VwcG9ydHNSdWxlSW50ZXJuYWwuaCAqLzsgfTsKIAkJRkQwMEQ3QTQxNEEz
RjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQwMEQ3QTIxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNS
ZXNhbXBsZXIuY3BwICovOyB9OwogCQlGRDAwRDdBNTE0QTNGNjE5MDA3MzQwMTEgLyogU2luY1Jl
c2FtcGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
RkQwMEQ3QTMxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuaCAqLzsgfTsKIAkJRkQw
NkRGQTUxMzRBNERFRjAwNkY1RDdEIC8qIERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGRDA2REZBMzEz
NEE0REVGMDA2RjVEN0QgLyogRGVmYXVsdEF1ZGlvRGVzdGluYXRpb25Ob2RlLmNwcCAqLzsgfTsK
QEAgLTEzOTYzLDYgKzEzOTcwLDE0IEBACiAJCUZCRDZBRjg1MTVFRjIxRDQwMDhCNzExMCAvKiBC
YXNpY1NoYXBlRnVuY3Rpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEJh
c2ljU2hhcGVGdW5jdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJENkFG
ODYxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVzLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IENTU0Jhc2ljU2hhcGVzLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJRkJENkFGODcxNUVGMjFENDAwOEI3MTEwIC8qIENTU0Jhc2ljU2hhcGVz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENTU0Jhc2ljU2hhcGVzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDNjNCREIwMTY3QUFCQUMwMEY5MzgwRiAvKiBD
U1NTdXBwb3J0c1J1bGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
Q1NTU3VwcG9ydHNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkM2M0JE
QjExNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBDU1NTdXBwb3J0c1J1bGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJRkM2M0JEQjIxNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gQ1NTU3VwcG9ydHNSdWxlLmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJRkM4NDgwMkQxNjdBQjQ0NDAwOENEMTAwIC8qIEpTQ1NTU3VwcG9y
dHNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTQ1NTU3Vw
cG9ydHNSdWxlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJRkM4NDgwMkUxNjdB
QjQ0NDAwOENEMTAwIC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEpTQ1NTU3VwcG9ydHNSdWxlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUZDQzRCMkMyMTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NQ1NTU3VwcG9ydHNSdWxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDQzRCMkMzMTY3QkRCMTkwMEE1NUM0MiAvKiBE
T01DU1NTdXBwb3J0c1J1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBh
dGggPSBET01DU1NTdXBwb3J0c1J1bGUubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUZDQzRCMkM0MTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBET01DU1NTdXBwb3J0c1J1bGVJbnRl
cm5hbC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQ0VCQ0Q3MTE2MjNBNzkxMDAy
OTk2NUUgLyogQ1NTR3JhbW1hci55LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS55YWNjOyBwYXRo
ID0gQ1NTR3JhbW1hci55LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlGQ0VCQ0Q3
MjE2MjNBNzkxMDAyOTk2NUUgLyogQ1NTR3JhbW1hci55LmluY2x1ZGVzICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS55YWNjOyBwYXRoID0gQ1NTR3JhbW1hci55LmluY2x1ZGVzOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQlGRDAwRDdBMjE0QTNGNjE5MDA3MzQwMTEgLyogU2luY1Jlc2FtcGxl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTaW5jUmVzYW1wbGVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE2MzQxLDYgKzE2MzU2LDkgQEAK
IAkJCQk4NTAzMkRENDBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLm1tICovLAog
CQkJCTg1OEMzOTI2MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0LmggKi8sCiAJ
CQkJODU4QzM5MjcwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQubW0gKi8sCisJ
CQkJRkNDNEIyQzIxNjdCREIxOTAwQTU1QzQyIC8qIERPTUNTU1N1cHBvcnRzUnVsZS5oICovLAor
CQkJCUZDQzRCMkMzMTY3QkRCMTkwMEE1NUM0MiAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gKi8s
CisJCQkJRkNDNEIyQzQxNjdCREIxOTAwQTU1QzQyIC8qIERPTUNTU1N1cHBvcnRzUnVsZUludGVy
bmFsLmggKi8sCiAJCQkJODUwMzJERDUwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25S
dWxlLmggKi8sCiAJCQkJODUwMzJERDYwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1Vua25vd25S
dWxlLm1tICovLAogCQkJCTg1OEMzODFBMEFBOEUyOTYwMEIxODdBNCAvKiBET01DU1NWYWx1ZS5o
ICovLApAQCAtMTkxNTcsNiArMTkxNzUsOCBAQAogCQkJCUJDNDZDMjA1MEMwRERDQTEwMDIwQ0ZD
MyAvKiBKU0NTU1N0eWxlUnVsZS5oICovLAogCQkJCUJDQzVCREZFMEMwRTkzMTEwMDExQzJEQiAv
KiBKU0NTU1N0eWxlU2hlZXQuY3BwICovLAogCQkJCUJDQzVCREZGMEMwRTkzMTEwMDExQzJEQiAv
KiBKU0NTU1N0eWxlU2hlZXQuaCAqLywKKwkJCQlGQzg0ODAyRDE2N0FCNDQ0MDA4Q0QxMDAgLyog
SlNDU1NTdXBwb3J0c1J1bGUuY3BwICovLAorCQkJCUZDODQ4MDJFMTY3QUI0NDQwMDhDRDEwMCAv
KiBKU0NTU1N1cHBvcnRzUnVsZS5oICovLAogCQkJCTE0Q0Y3OEEzMDlGNThDQkYwMEVCMzY2NSAv
KiBKU0NTU1ZhbHVlLmNwcCAqLywKIAkJCQkxNENGNzhBNTA5RjU4Q0Q4MDBFQjM2NjUgLyogSlND
U1NWYWx1ZS5oICovLAogCQkJCUE4RDA1RkE5MEEyM0IzMEYwMDVFNzIwMyAvKiBKU0NTU1ZhbHVl
TGlzdC5jcHAgKi8sCkBAIC0yMTUwNiw2ICsyMTUyNiw5IEBACiAJCQkJQThFQTgwMDAwQTE5NTE2
RTAwQThFRjVGIC8qIENTU1N0eWxlU2hlZXQuY3BwICovLAogCQkJCUE4RUE3RkZGMEExOTUxNkUw
MEE4RUY1RiAvKiBDU1NTdHlsZVNoZWV0LmggKi8sCiAJCQkJODU4QzM5MTAwQUE4RkYwMDAwQjE4
N0E0IC8qIENTU1N0eWxlU2hlZXQuaWRsICovLAorCQkJCUZDNjNCREIwMTY3QUFCQUMwMEY5Mzgw
RiAvKiBDU1NTdXBwb3J0c1J1bGUuY3BwICovLAorCQkJCUZDNjNCREIxMTY3QUFCQUMwMEY5Mzgw
RiAvKiBDU1NTdXBwb3J0c1J1bGUuaCAqLywKKwkJCQlGQzYzQkRCMjE2N0FBQkFDMDBGOTM4MEYg
LyogQ1NTU3VwcG9ydHNSdWxlLmlkbCAqLywKIAkJCQlCQzgwQzk4NTBDRDI5NEVFMDBBMEI3QjMg
LyogQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgKi8sCiAJCQkJQkM4MEM5ODYwQ0QyOTRFRTAw
QTBCN0IzIC8qIENTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuaCAqLywKIAkJCQlBODgyREExRjE1OTM4
NDZBMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5jcHAgKi8sCkBAIC0yNTk3Myw2ICsyNTk5Niwx
MCBAQAogCQkJCTMxRDU5MUIzMTY2OTdBNkMwMEU2QkYwMiAvKiBQbHVnSW5DbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTMxRDU5MUJDMTY2QzJFNkMwMEU2QkYwMiAvKiBQbHVnSW5PcmlnaW5I
YXNoLmggaW4gSGVhZGVycyAqLywKIAkJCQk5ODZFQTg4MzE1RkZGMjkwMDA5ODVFNUUgLyogUHJl
cmVuZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQlGQzYzQkRCNDE2N0FBQkFDMDBGOTM4
MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlGQ0M1MkQ2NjE2N0JF
MjdFMDAzREMwRTIgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVhZGVycyAqLywKKwkJCQlG
Q0M1MkQ2NzE2N0JFMkFBMDAzREMwRTIgLyogRE9NQ1NTU3VwcG9ydHNSdWxlSW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLAorCQkJCUZDN0U2NkVBMTY4MEVGMjIwMDI4MzcxNiAvKiBKU0NTU1N1cHBv
cnRzUnVsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE1MTNENEYxNjc3RUE4MzAwMTQ5RkNCIC8q
IEluaXRpYWxpemVMb2dnaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQlGREE5MzI1RTE2NzAzQjJB
MDA4OTgyREMgLyogT2ZmbGluZUF1ZGlvQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkRB
OTMyNjcxNjcwM0JBOTAwODk4MkRDIC8qIEpTT2ZmbGluZUF1ZGlvQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCkBAIC0yOTA5Niw2ICsyOTEyMyw5IEBACiAJCQkJOUE5Q0VGOEQxNjNCM0VBMTAwREU3
RUZFIC8qIEV4Y2x1c2lvblNoYXBlT3V0c2lkZUluZm8uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MEZCODg5MEIxNjdEMkZBMTAwMTBDREE1IC8qIFNjcm9sbGluZ1RyZWVTdGlja3lOb2RlLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMEZCODg5MEUxNjdEMzAxNjAwMTBDREE1IC8qIFNjcm9sbGluZ1N0
YXRlU3RpY2t5Tm9kZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQlGQzYzQkRCMzE2N0FBQkFDMDBG
OTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCUZDQzUyRDY1
MTY3QkUyNzYwMDNEQzBFMiAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gaW4gU291cmNlcyAqLywK
KwkJCQlGQzdFNjZFOTE2ODBFRjFGMDAyODM3MTYgLyogSlNDU1NTdXBwb3J0c1J1bGUuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkpOwogCQkJcnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2lu
ZyA9IDA7CiAJCX07CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NT
U1J1bGVDdXN0b20uY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3Vz
dG9tLmNwcAppbmRleCAyYTQ2NWRjN2RjMWVkODc2NjA3ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi4w
ZDY3ZDEyYTAzM2M3ZTZiNTcxNWJhMWQ4ZjE3MjcxOTNlZjEyMGI1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTMyLDEyICszMiwxNCBA
QAogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAj
aW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAj
aW5jbHVkZSAiSlNDU1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxl
LmgiCiAjaW5jbHVkZSAiSlNDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1
bGUuaCIKICNpbmNsdWRlICJKU0NTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZVJ1
bGUuaCIKKyNpbmNsdWRlICJKU0NTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5o
IgogI2luY2x1ZGUgIkpTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiSlNXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmgiCkBAIC05Niw2ICs5OCwxMSBAQCBKU1ZhbHVlIHRvSlMoRXhl
Y1N0YXRlKiBleGVjLCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDU1NSdWxlKiBy
dWxlKQogICAgICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRToKICAgICAg
ICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBX
ZWJLaXRDU1NLZXlmcmFtZXNSdWxlLCBydWxlKTsKICAgICAgICAgICAgIGJyZWFrOworI2lmIEVO
QUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgICAgICBjYXNlIENTU1J1bGU6OlNVUFBP
UlRTX1JVTEU6CisgICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMs
IGdsb2JhbE9iamVjdCwgQ1NTU3VwcG9ydHNSdWxlLCBydWxlKTsKKyAgICAgICAgICAgIGJyZWFr
OworI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICAgICAgY2Fz
ZSBDU1NSdWxlOjpXRUJLSVRfVklFV1BPUlRfUlVMRToKICAgICAgICAgICAgIHdyYXBwZXIgPSBD
UkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NWaWV3cG9ydFJ1
bGUsIHJ1bGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01D
U1MubW0gYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQppbmRleCAzYzFk
YTgyMzEyMTljNmIxNDcxMWI4YTQ1ODUzM2NiMTdiODEwZmRjLi42NTkxNGJhMGE4OGQyMjhiY2Uz
ZTdlZGIzYzQ2NmVhMDM2YmM3OTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9vYmpjL0RPTUNTUy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbQpAQCAtNDAsNiArNDAsOSBAQAogI2ltcG9ydCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5o
IgogI2ltcG9ydCAiRE9NQ1NTU3R5bGVSdWxlLmgiCiAjaW1wb3J0ICJET01DU1NTdHlsZVNoZWV0
LmgiCisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisjaW1wb3J0ICJET01DU1NT
dXBwb3J0c1J1bGUuaCIKKyNlbmRpZgogI2ltcG9ydCAiRE9NQ1NTVW5rbm93blJ1bGUuaCIKICNp
bXBvcnQgIkRPTUNTU1ZhbHVlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNTU1ZhbHVlTGlzdC5o
IgpAQCAtOTksNiArMTAyLDEwIEBAIENsYXNzIGtpdENsYXNzKFdlYkNvcmU6OkNTU1J1bGUqIGlt
cGwpCiAgICAgICAgICAgICByZXR1cm4gW0RPTVdlYktpdENTU0tleWZyYW1lc1J1bGUgY2xhc3Nd
OwogICAgICAgICBjYXNlIERPTV9XRUJLSVRfS0VZRlJBTUVfUlVMRToKICAgICAgICAgICAgIHJl
dHVybiBbRE9NV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlIGNsYXNzXTsKKyNpZiBFTkFCTEUoQ1NTM19D
T05ESVRJT05BTF9SVUxFUykKKyAgICAgICAgY2FzZSBET01fU1VQUE9SVFNfUlVMRToKKyAgICAg
ICAgICAgIHJldHVybiBbRE9NQ1NTU3VwcG9ydHNSdWxlIGNsYXNzXTsKKyNlbmRpZgogI2lmIEVO
QUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9WSUVX
UE9SVF9SVUxFOgogICAgICAgICAgICAgcmV0dXJuIFtET01XZWJLaXRDU1NWaWV3cG9ydFJ1bGUg
Y2xhc3NdOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4
Q1NTUnVsZUN1c3RvbS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhD
U1NSdWxlQ3VzdG9tLmNwcAppbmRleCBkMTUxY2Q4YjBmNWM5YzY5NDM4ODZmNzUyYjlkODYzYzZj
ZDEzNzZhLi42YmY2ZWVjNzc0YTgwNDlkODRkZDBlMjU0MmU4NmJiNWE2NDA1OGE5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9t
LmNwcApAQCAtMzcsNiArMzcsOSBAQAogI2luY2x1ZGUgIlY4Q1NTTWVkaWFSdWxlLmgiCiAjaW5j
bHVkZSAiVjhDU1NQYWdlUnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTU3R5bGVSdWxlLmgiCisjaWYg
RU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisjaW5jbHVkZSAiVjhDU1NTdXBwb3J0c1J1
bGUuaCIKKyNlbmRpZgogI2luY2x1ZGUgIlY4V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5j
bHVkZSAiVjhXZWJLaXRDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiVjhXZWJLaXRDU1NS
ZWdpb25SdWxlLmgiCkBAIC03Miw2ICs3NSwxMCBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdy
YXAoQ1NTUnVsZSogaW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleAog
ICAgICAgICByZXR1cm4gd3JhcChzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPihp
bXBsKSwgY3JlYXRpb25Db250ZXh0LCBpc29sYXRlKTsKICAgICBjYXNlIENTU1J1bGU6OldFQktJ
VF9LRVlGUkFNRVNfUlVMRToKICAgICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8V2ViS2l0
Q1NTS2V5ZnJhbWVzUnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2lm
IEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGNhc2UgQ1NTUnVsZTo6U1VQUE9S
VFNfUlVMRToKKyAgICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8Q1NTU3VwcG9ydHNSdWxl
Kj4oaW1wbCksIGNyZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CisjZW5kaWYKICNpZiBFTkFCTEUo
Q1NTX0RFVklDRV9BREFQVEFUSU9OKQogICAgIGNhc2UgQ1NTUnVsZTo6V0VCS0lUX1ZJRVdQT1JU
X1JVTEU6CiAgICAgICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PFdlYktpdENTU1ZpZXdwb3J0
UnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NH
cmFtbWFyLnkuaW4KaW5kZXggZmExYzY4ODkxZDI3MDhlMzc5ZTA2YzE5OTkxNzUwZGJhNDcxMzY0
Yi4uMTdlYTUwM2UxZWE2NDU5YTA4OWZkMmVjZjg0Mzk0NmU4YTU4Mjc4ZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTR3JhbW1hci55LmluCkBAIC00NDcsOSArNDQ3LDEzIEBAIGJsb2NrX3J1bGVfbGlzdDoK
IAogYmxvY2tfdmFsaWRfcnVsZToKICAgICBydWxlc2V0CisgIHwgbWVkaWEKICAgfCBwYWdlCiAg
IHwgZm9udF9mYWNlCiAgIHwga2V5ZnJhbWVzCisjaWYgRU5BQkxFX0NTUzNfQ09ORElUSU9OQUxf
UlVMRVMKKyAgfCBzdXBwb3J0cworI2VuZGlmCiAjaWYgRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRB
VElPTgogICB8IHZpZXdwb3J0CiAjZW5kaWYKQEAgLTQ2MSwxMCArNDY1LDYgQEAgYmxvY2tfcnVs
ZToKICAgfCBpbnZhbGlkX2F0CiAgIHwgbmFtZXNwYWNlCiAgIHwgaW1wb3J0Ci0gIHwgbWVkaWEK
LSNpZiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUwotICB8IHN1cHBvcnRzCi0jZW5kaWYK
ICAgOwogCiBhdF9pbXBvcnRfaGVhZGVyX2VuZF9tYXliZV9zcGFjZToKQEAgLTY2MiwxMyArNjYy
LDIyIEBAIG1lZGl1bToKIAogI2lmIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTCiBzdXBw
b3J0czoKLSAgICBTVVBQT1JUU19TWU0gbWF5YmVfc3BhY2Ugc3VwcG9ydHNfY29uZGl0aW9uICd7
JyBtYXliZV9zcGFjZSBibG9ja19ydWxlX2xpc3Qgc2F2ZV9ibG9jayB7Ci0gICAgICAgIENTU1Bh
cnNlciogcCA9IHN0YXRpY19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7Ci0gICAgICAgIGlmICgk
MyAmJiAkNiAmJiBwLT5tX3N0eWxlU2hlZXQpIHsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQg
aSA9IDA7IGkgPCAkNi0+c2l6ZSgpOyBpKyspCi0gICAgICAgICAgICAgICAgcC0+bV9zdHlsZVNo
ZWV0LT5wYXJzZXJBcHBlbmRSdWxlKCQ2LT5hdChpKS5yZWxlYXNlKCkpOwotICAgICAgICB9Ci0g
ICAgICAgICQkID0gMDsKKyAgICBiZWZvcmVfc3VwcG9ydHNfcnVsZSBTVVBQT1JUU19TWU0gbWF5
YmVfc3BhY2Ugc3VwcG9ydHNfY29uZGl0aW9uIGF0X3N1cHBvcnRzX3J1bGVfaGVhZGVyX2VuZCAn
eycgYXRfcnVsZV9ib2R5X3N0YXJ0IG1heWJlX3NwYWNlIGJsb2NrX3J1bGVfbGlzdCBzYXZlX2Js
b2NrIHsKKyAgICAgICAgJCQgPSBwYXJzZXItPmNyZWF0ZVN1cHBvcnRzUnVsZSgkNCwgJDkpOwor
ICAgIH0KKyAgICA7CisKK2JlZm9yZV9zdXBwb3J0c19ydWxlOgorICAgIC8qIGVtcHR5ICovIHsK
KyAgICAgICAgcGFyc2VyLT5tYXJrUnVsZUhlYWRlclN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpT
VVBQT1JUU19SVUxFKTsKKyAgICAgICAgcGFyc2VyLT5tYXJrU3VwcG9ydHNSdWxlSGVhZGVyU3Rh
cnQoKTsKKyAgICB9CisgICAgOworCithdF9zdXBwb3J0c19ydWxlX2hlYWRlcl9lbmQ6CisgICAg
LyogZW1wdHkgKi8geworICAgICAgICBwYXJzZXItPm1hcmtSdWxlSGVhZGVyRW5kKCk7CisgICAg
ICAgIHBhcnNlci0+bWFya1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpOwogICAgIH0KICAgICA7CiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dl
YkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKaW5kZXggZGQxMDE5NTFhYTRjYTM4YjA1NGI3NTNjNzRj
MWQ0NmQ5MzJjNjYwOC4uMjFkMjA3Y2NkNGYyNmJlODA3M2ZhZTJjNWU2MWQwMzZmNzc2NGVmNiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKQEAgLTEwNDY3LDYgKzEwNDY3LDYyIEBAIFN0eWxl
UnVsZUJhc2UqIENTU1BhcnNlcjo6Y3JlYXRlTWVkaWFSdWxlKE1lZGlhUXVlcnlTZXQqIG1lZGlh
LCBSdWxlTGlzdCogcnVsZXMpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShD
U1MzX0NPTkRJVElPTkFMX1JVTEVTKQorU3R5bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVT
dXBwb3J0c1J1bGUoYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgUnVsZUxpc3QqIHJ1bGVzKQor
eworICAgIG1fYWxsb3dJbXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnMg
PSBmYWxzZTsKKworICAgIEFTU0VSVCghbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmlzRW1wdHko
KSk7CisgICAgUmVmUHRyPENTU1J1bGVTb3VyY2VEYXRhPiBkYXRhID0gbV9zdXBwb3J0c1J1bGVE
YXRhU3RhY2stPmxhc3QoKTsKKyAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+cmVtb3ZlTGFz
dCgpOworICAgIGlmIChtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKQorICAgICAg
ICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay5jbGVhcigpOworCisgICAgUmVmUHRyPFN0eWxlUnVs
ZVN1cHBvcnRzPiBydWxlOworICAgIFN0cmluZyBjb25kaXRpb25UZXh0OworICAgIHVuc2lnbmVk
IGNvbmRpdGlvbk9mZnNldCA9IGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCArIDk7CisgICAg
dW5zaWduZWQgY29uZGl0aW9uTGVuZ3RoID0gZGF0YS0+cnVsZUhlYWRlclJhbmdlLmxlbmd0aCgp
IC0gOTsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgY29uZGl0aW9uVGV4dCA9
IFN0cmluZyhtX2RhdGFTdGFydDguZ2V0KCkgKyBjb25kaXRpb25PZmZzZXQsIGNvbmRpdGlvbkxl
bmd0aCkuc3RyaXBXaGl0ZVNwYWNlKCk7CisgICAgZWxzZQorICAgICAgICBjb25kaXRpb25UZXh0
ID0gU3RyaW5nKG1fZGF0YVN0YXJ0MTYuZ2V0KCkgKyBjb25kaXRpb25PZmZzZXQsIGNvbmRpdGlv
bkxlbmd0aCkuc3RyaXBXaGl0ZVNwYWNlKCk7CisKKyAgICBpZiAocnVsZXMpCisgICAgICAgIHJ1
bGUgPSBTdHlsZVJ1bGVTdXBwb3J0czo6Y3JlYXRlKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklz
U3VwcG9ydGVkLCAqcnVsZXMpOworICAgIGVsc2UgeworICAgICAgICBSdWxlTGlzdCBlbXB0eVJ1
bGVzOworICAgICAgICBydWxlID0gU3R5bGVSdWxlU3VwcG9ydHM6OmNyZWF0ZShjb25kaXRpb25U
ZXh0LCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgZW1wdHlSdWxlcyk7CisgICAgfQorCisgICAgU3R5
bGVSdWxlU3VwcG9ydHMqIHJlc3VsdCA9IHJ1bGUuZ2V0KCk7CisgICAgbV9wYXJzZWRSdWxlcy5h
cHBlbmQocnVsZS5yZWxlYXNlKCkpOworICAgIHByb2Nlc3NBbmRBZGROZXdSdWxlVG9Tb3VyY2VU
cmVlSWZOZWVkZWQoKTsKKworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgQ1NTUGFyc2Vy
OjptYXJrU3VwcG9ydHNSdWxlSGVhZGVyU3RhcnQoKQoreworICAgIGlmICghbV9zdXBwb3J0c1J1
bGVEYXRhU3RhY2spCisgICAgICAgIG1fc3VwcG9ydHNSdWxlRGF0YVN0YWNrID0gYWRvcHRQdHIo
bmV3IFJ1bGVTb3VyY2VEYXRhTGlzdCgpKTsKKworICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0
YT4gZGF0YSA9IENTU1J1bGVTb3VyY2VEYXRhOjpjcmVhdGUoQ1NTUnVsZVNvdXJjZURhdGE6OlNV
UFBPUlRTX1JVTEUpOworICAgIGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCA9IHRva2VuU3Rh
cnRPZmZzZXQoKTsKKyAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+YXBwZW5kKGRhdGEpOwor
fQorCit2b2lkIENTU1BhcnNlcjo6bWFya1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpCit7CisgICAg
QVNTRVJUKCFtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKTsKKworICAgIGlmIChp
czhCaXRTb3VyY2UoKSkKKyAgICAgICAgbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmxhc3QoKS0+
cnVsZUhlYWRlclJhbmdlLmVuZCA9IHRva2VuU3RhcnQ8TENoYXI+KCkgLSBtX2RhdGFTdGFydDgu
Z2V0KCk7CisgICAgZWxzZQorICAgICAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+bGFzdCgp
LT5ydWxlSGVhZGVyUmFuZ2UuZW5kID0gdG9rZW5TdGFydDxVQ2hhcj4oKSAtIG1fZGF0YVN0YXJ0
MTYuZ2V0KCk7Cit9CisjZW5kaWYKKwogQ1NTUGFyc2VyOjpSdWxlTGlzdCogQ1NTUGFyc2VyOjpj
cmVhdGVSdWxlTGlzdCgpCiB7CiAgICAgT3duUHRyPFJ1bGVMaXN0PiBsaXN0ID0gYWRvcHRQdHIo
bmV3IFJ1bGVMaXN0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIu
aCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAzOTJmZjk4NDBjNWE2Yzgz
OWMyZjIxNDQzN2FiNzU4NGJiNzI1YTlkLi40OWI0YzZlM2VhNzYxZjQ3MTA4YWVjNmM3ZWQyNTVk
NjZmNjdmZjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yOTAsNiArMjkwLDExIEBAIHB1
YmxpYzoKICAgICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVQYWdlUnVsZShQYXNzT3duUHRyPENTU1Bh
cnNlclNlbGVjdG9yPiBwYWdlU2VsZWN0b3IpOwogICAgIFN0eWxlUnVsZUJhc2UqIGNyZWF0ZVJl
Z2lvblJ1bGUoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogcmVnaW9uU2VsZWN0
b3IsIFJ1bGVMaXN0KiBydWxlcyk7CiAgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRlTWFyZ2luQXRS
dWxlKENTU1NlbGVjdG9yOjpNYXJnaW5Cb3hUeXBlKTsKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJ
T05BTF9SVUxFUykKKyAgICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVTdXBwb3J0c1J1bGUoYm9vbCBj
b25kaXRpb25Jc1N1cHBvcnRlZCwgUnVsZUxpc3QqKTsKKyAgICB2b2lkIG1hcmtTdXBwb3J0c1J1
bGVIZWFkZXJTdGFydCgpOworICAgIHZvaWQgbWFya1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpOwor
I2VuZGlmCiAjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRl
SG9zdFJ1bGUoUnVsZUxpc3QqIHJ1bGVzKTsKICNlbmRpZgpAQCAtNTY0LDYgKzU2OSwxMCBAQCBw
cml2YXRlOgogCiAgICAgUmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9wYXJzZWRDYWxjdWxhdGlvbjsK
IAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIE93blB0cjxSdWxlU291
cmNlRGF0YUxpc3Q+IG1fc3VwcG9ydHNSdWxlRGF0YVN0YWNrOworI2VuZGlmCisKICAgICAvLyBk
ZWZpbmVzIHVuaXRzIGFsbG93ZWQgZm9yIGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNlZCBpbiBwYXJz
ZVVuaXQKICAgICBlbnVtIFVuaXRzIHsKICAgICAgICAgRlVua25vd24gPSAweDAwMDAsCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmgKaW5kZXggZTEyYWFhZTA0M2Qy
MjNhYjFhYTRhMWJiMDZmNGM3YzAzZWFkOWFjMS4uMmM5MGY4M2YxNGNmYTBiMWI2YTYyOTJmYzVm
Yjk0M2M5YWJkMjk0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5
U291cmNlRGF0YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURh
dGEuaApAQCAtOTcsNyArOTcsOCBAQCBzdHJ1Y3QgQ1NTUnVsZVNvdXJjZURhdGEgOiBwdWJsaWMg
UmVmQ291bnRlZDxDU1NSdWxlU291cmNlRGF0YT4gewogICAgICAgICBLRVlGUkFNRVNfUlVMRSwK
ICAgICAgICAgUkVHSU9OX1JVTEUsCiAgICAgICAgIEhPU1RfUlVMRSwKLSAgICAgICAgVklFV1BP
UlRfUlVMRQorICAgICAgICBWSUVXUE9SVF9SVUxFLAorICAgICAgICBTVVBQT1JUU19SVUxFCiAg
ICAgfTsKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRyPENTU1J1bGVTb3VyY2VEYXRhPiBjcmVhdGUo
VHlwZSB0eXBlKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmgKaW5kZXggMDc1OGU3NGY4MTUwYTk3OTRlYTFjYjgz
ODExMjYxMTE0NGYzMjA2Ny4uNGYwMWJkZDlmOTk0ZjhlMjBjZjZjNGFlNTQxMTE0MjlhYjQ5MjIy
ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUnVsZS5oCkBAIC01MCw2ICs1MCw5IEBAIHB1YmxpYzoKICAgICAgICAg
Ly8gPGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAg
ICAgIFdFQktJVF9LRVlGUkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUs
CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgICAgIFNVUFBPUlRTX1JV
TEUgPSAxMiwKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAg
ICAgIFdFQktJVF9WSUVXUE9SVF9SVUxFID0gMTUsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlk
bAppbmRleCBhZjExOGZlNzJiOWI4MDc0ZjdkNjA4MmQwOTNlMjcwY2ZmMmIxMDY4Li4zMGIxYzIx
ZDA0YmRmOTE3OGI2OTAyMDA1MzBlZDY3Njk4NmVjZjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTUnVsZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRs
CkBAIC0zNyw2ICszNyw5IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEFHRV9SVUxFID0g
NjsKICAgICBjb25zdCB1bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3Owog
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRV9SVUxFID0gODsKKyNpZiBk
ZWZpbmVkKEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTKSAmJiBFTkFCTEVfQ1NTM19DT05E
SVRJT05BTF9SVUxFUworICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNVUFBPUlRTX1JVTEUgPSAx
MjsKKyNlbmRpZgogI2lmIGRlZmluZWQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJiYg
RU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdF
QktJVF9WSUVXUE9SVF9SVUxFID0gMTU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBv
cnRzUnVsZS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTZlNGZlMzA4ZTQ4MDg1OTUzMDYwMzc3YThiYWUxNWNm
Mzk3MDgwZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0
c1J1bGUuY3BwCkBAIC0wLDAgKzEsMTc5IEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3Jv
bGEgTW9iaWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zIGFyZQorICogbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlCisgKiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMu
IE5laXRoZXIgdGhlIG5hbWUgb2YgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBub3IgdGhlIG5hbWVz
IG9mIGl0cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJv
bW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICog
IkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LAorICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCisKKyNpbmNsdWRlICJDU1NQ
YXJzZXIuaCIKKyNpbmNsdWRlICJDU1NSdWxlTGlzdC5oIgorI2luY2x1ZGUgIkNTU1N0eWxlU2hl
ZXQuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3R5bGVSdWxlLmgi
CisjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1ZGUgPHd0
Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9TdHJp
bmdCdWlsZGVyLmg+CisKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitDU1NTdXBwb3J0c1J1bGU6OkNTU1N1cHBvcnRzUnVsZShTdHls
ZVJ1bGVTdXBwb3J0cyogc3VwcG9ydHNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQpCisgICAg
OiBDU1NSdWxlKHBhcmVudCkKKyAgICAsIG1fc3VwcG9ydHNSdWxlKHN1cHBvcnRzUnVsZSkKKyAg
ICAsIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycyhzdXBwb3J0c1J1bGUtPmNoaWxkUnVsZXMoKS5z
aXplKCkpCit7Cit9CisKK0NTU1N1cHBvcnRzUnVsZTo6fkNTU1N1cHBvcnRzUnVsZSgpCit7Cisg
ICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCkgPT0gbV9zdXBwb3J0c1J1
bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOworCisgICAgZm9yICh1bnNpZ25lZCBpID0gMDsgaSA8
IG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXplKCk7ICsraSkgeworICAgICAgICBpZiAobV9j
aGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2ldKQorICAgICAgICAgICAgbV9jaGlsZFJ1bGVDU1NPTVdy
YXBwZXJzW2ldLT5zZXRQYXJlbnRSdWxlKDApOworICAgIH0KK30KKwordW5zaWduZWQgQ1NTU3Vw
cG9ydHNSdWxlOjppbnNlcnRSdWxlKGNvbnN0IFN0cmluZyYgcnVsZVN0cmluZywgdW5zaWduZWQg
aW5kZXgsIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEFTU0VSVChtX2NoaWxkUnVsZUNTU09N
V3JhcHBlcnMuc2l6ZSgpID09IG1fc3VwcG9ydHNSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKTsK
KworICAgIGlmIChpbmRleCA+IG1fc3VwcG9ydHNSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKSB7
CisgICAgICAgIGVjID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0K
KworICAgIENTU1BhcnNlciBwYXJzZXIocGFyc2VyQ29udGV4dCgpKTsKKyAgICBDU1NTdHlsZVNo
ZWV0KiBzdHlsZVNoZWV0ID0gcGFyZW50U3R5bGVTaGVldCgpOworICAgIFJlZlB0cjxTdHlsZVJ1
bGVCYXNlPiBuZXdSdWxlID0gcGFyc2VyLnBhcnNlUnVsZShzdHlsZVNoZWV0ID8gc3R5bGVTaGVl
dC0+Y29udGVudHMoKSA6IDAsIHJ1bGVTdHJpbmcpOworICAgIGlmICghbmV3UnVsZSkgeworICAg
ICAgICBlYyA9IFNZTlRBWF9FUlI7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworICAgIGlm
IChuZXdSdWxlLT5pc0ltcG9ydFJ1bGUoKSkgeworICAgICAgICAvLyBGSVhNRTogYSBISUVSQVJD
SFlfUkVRVUVTVF9FUlIgc2hvdWxkIGFsc28gYmUgdGhyb3duIGZvciBhIEBjaGFyc2V0IG9yIGEg
bmVzdGVkCisgICAgICAgIC8vIEBtZWRpYSBydWxlLiBUaGV5IGFyZSBjdXJyZW50bHkgbm90IGdl
dHRpbmcgcGFyc2VkLCByZXN1bHRpbmcgaW4gYSBTWU5UQVhfRVJSCisgICAgICAgIC8vIHRvIGdl
dCByYWlzZWQgYWJvdmUuCisgICAgICAgIGVjID0gSElFUkFSQ0hZX1JFUVVFU1RfRVJSOworICAg
ICAgICByZXR1cm4gMDsKKyAgICB9CisgICAgQ1NTU3R5bGVTaGVldDo6UnVsZU11dGF0aW9uU2Nv
cGUgbXV0YXRpb25TY29wZSh0aGlzKTsKKworICAgIG1fc3VwcG9ydHNSdWxlLT53cmFwcGVySW5z
ZXJ0UnVsZShpbmRleCwgbmV3UnVsZSk7CisKKyAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMu
aW5zZXJ0KGluZGV4LCBSZWZQdHI8Q1NTUnVsZT4oKSk7CisgICAgcmV0dXJuIGluZGV4OworfQor
Cit2b2lkIENTU1N1cHBvcnRzUnVsZTo6ZGVsZXRlUnVsZSh1bnNpZ25lZCBpbmRleCwgRXhjZXB0
aW9uQ29kZSYgZWMpCit7CisgICAgQVNTRVJUKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVycy5zaXpl
KCkgPT0gbV9zdXBwb3J0c1J1bGUtPmNoaWxkUnVsZXMoKS5zaXplKCkpOworCisgICAgaWYgKGlu
ZGV4ID49IG1fc3VwcG9ydHNSdWxlLT5jaGlsZFJ1bGVzKCkuc2l6ZSgpKSB7CisgICAgICAgIGVj
ID0gSU5ERVhfU0laRV9FUlI7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBDU1NTdHls
ZVNoZWV0OjpSdWxlTXV0YXRpb25TY29wZSBtdXRhdGlvblNjb3BlKHRoaXMpOworCisgICAgbV9z
dXBwb3J0c1J1bGUtPndyYXBwZXJSZW1vdmVSdWxlKGluZGV4KTsKKworICAgIGlmIChtX2NoaWxk
UnVsZUNTU09NV3JhcHBlcnNbaW5kZXhdKQorICAgICAgICBtX2NoaWxkUnVsZUNTU09NV3JhcHBl
cnNbaW5kZXhdLT5zZXRQYXJlbnRSdWxlKDApOworICAgIG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVy
cy5yZW1vdmUoaW5kZXgpOworfQorCitTdHJpbmcgQ1NTU3VwcG9ydHNSdWxlOjpjc3NUZXh0KCkg
Y29uc3QKK3sKKyAgICBTdHJpbmdCdWlsZGVyIHJlc3VsdDsKKworICAgIHJlc3VsdC5hcHBlbmQo
IkBzdXBwb3J0cyAiKTsKKyAgICByZXN1bHQuYXBwZW5kKGNvbmRpdGlvblRleHQoKSk7CisgICAg
cmVzdWx0LmFwcGVuZCgiIHtcbiIpOworICAgIHVuc2lnbmVkIHNpemUgPSBsZW5ndGgoKTsKKyAg
ICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgc2l6ZTsgKytpKSB7CisgICAgICAgIHJlc3VsdC5h
cHBlbmQoIiAgIik7CisgICAgICAgIHJlc3VsdC5hcHBlbmQoaXRlbShpKS0+Y3NzVGV4dCgpKTsK
KyAgICAgICAgcmVzdWx0LmFwcGVuZCgnXG4nKTsKKyAgICB9CisgICAgcmVzdWx0LmFwcGVuZCgn
fScpOworCisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCit1bnNpZ25lZCBDU1NT
dXBwb3J0c1J1bGU6Omxlbmd0aCgpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fc3VwcG9ydHNSdWxl
LT5jaGlsZFJ1bGVzKCkuc2l6ZSgpOworfQorCitDU1NSdWxlKiBDU1NTdXBwb3J0c1J1bGU6Oml0
ZW0odW5zaWduZWQgaW5kZXgpIGNvbnN0Cit7CisgICAgaWYgKGluZGV4ID49IGxlbmd0aCgpKQor
ICAgICAgICByZXR1cm4gMDsKKyAgICBBU1NFUlQobV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzLnNp
emUoKSA9PSBtX3N1cHBvcnRzUnVsZS0+Y2hpbGRSdWxlcygpLnNpemUoKSk7CisgICAgUmVmUHRy
PENTU1J1bGU+JiBydWxlID0gbV9jaGlsZFJ1bGVDU1NPTVdyYXBwZXJzW2luZGV4XTsKKyAgICBp
ZiAoIXJ1bGUpCisgICAgICAgIHJ1bGUgPSBtX3N1cHBvcnRzUnVsZS0+Y2hpbGRSdWxlcygpW2lu
ZGV4XS0+Y3JlYXRlQ1NTT01XcmFwcGVyKGNvbnN0X2Nhc3Q8Q1NTU3VwcG9ydHNSdWxlKj4odGhp
cykpOworICAgIHJldHVybiBydWxlLmdldCgpOworfQorCitDU1NSdWxlTGlzdCogQ1NTU3VwcG9y
dHNSdWxlOjpjc3NSdWxlcygpIGNvbnN0Cit7CisgICAgaWYgKCFtX3J1bGVMaXN0Q1NTT01XcmFw
cGVyKQorICAgICAgICBtX3J1bGVMaXN0Q1NTT01XcmFwcGVyID0gYWRvcHRQdHIobmV3IExpdmVD
U1NSdWxlTGlzdDxDU1NTdXBwb3J0c1J1bGU+KGNvbnN0X2Nhc3Q8Q1NTU3VwcG9ydHNSdWxlKj4o
dGhpcykpKTsKKyAgICByZXR1cm4gbV9ydWxlTGlzdENTU09NV3JhcHBlci5nZXQoKTsKK30KKwor
U3RyaW5nIENTU1N1cHBvcnRzUnVsZTo6Y29uZGl0aW9uVGV4dCgpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fc3VwcG9ydHNSdWxlLT5jb25kaXRpb25UZXh0KCk7Cit9CisKK3ZvaWQgQ1NTU3VwcG9y
dHNSdWxlOjpyZWF0dGFjaChTdHlsZVJ1bGVCYXNlKiBydWxlKQoreworICAgIEFTU0VSVChydWxl
KTsKKyAgICBBU1NFUlQocnVsZS0+aXNTdXBwb3J0c1J1bGUoKSk7CisgICAgbV9zdXBwb3J0c1J1
bGUgPSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cyo+KHJ1bGUpOworICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtX2NoaWxkUnVsZUNTU09NV3JhcHBlcnMuc2l6ZSgpOyArK2kpIHsK
KyAgICAgICAgaWYgKG1fY2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXSkKKyAgICAgICAgICAgIG1f
Y2hpbGRSdWxlQ1NTT01XcmFwcGVyc1tpXS0+cmVhdHRhY2gobV9zdXBwb3J0c1J1bGUtPmNoaWxk
UnVsZXMoKVtpXS5nZXQoKSk7CisgICAgfQorfQorCit2b2lkIENTU1N1cHBvcnRzUnVsZTo6cmVw
b3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QK
K3sKKyAgICBNZW1vcnlDbGFzc0luZm8gaW5mbyhtZW1vcnlPYmplY3RJbmZvLCB0aGlzLCBXZWJD
b3JlTWVtb3J5VHlwZXM6OkNTUyk7CisgICAgQ1NTUnVsZTo6cmVwb3J0TWVtb3J5VXNhZ2UobWVt
b3J5T2JqZWN0SW5mbyk7CisgICAgaW5mby5hZGRNZW1iZXIobV9jaGlsZFJ1bGVDU1NPTVdyYXBw
ZXJzKTsKKyAgICBpbmZvLmFkZE1lbWJlcihtX3J1bGVMaXN0Q1NTT01XcmFwcGVyKTsKK30KKwor
fSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0
c1J1bGUuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5lYTZmNjRmNDNlMWYxYjNiOTUyOWQ0Y2M0NTU1MWM0ZWQxNDNm
ZGE3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVs
ZS5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qIENvcHlyaWdodCAoQykgMjAxMiBNb3Rvcm9sYSBNb2Jp
bGl0eSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlCisgKiBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAq
ICAgIGNvcHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhl
ciB0aGUgbmFtZSBvZiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRz
CisgKiAgICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmlj
IHByaW9yIHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMi
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VAorICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVU
T1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UCisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAor
ICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTU3VwcG9y
dHNSdWxlX2gKKyNkZWZpbmUgQ1NTU3VwcG9ydHNSdWxlX2gKKworI2luY2x1ZGUgIkNTU1J1bGUu
aCIKKworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorCituYW1lc3BhY2UgV2Vi
Q29yZSB7CisKK2NsYXNzIENTU1J1bGVMaXN0OworY2xhc3MgU3R5bGVSdWxlU3VwcG9ydHM7CisK
K2NsYXNzIENTU1N1cHBvcnRzUnVsZSA6IHB1YmxpYyBDU1NSdWxlIHsKK3B1YmxpYzoKKyAgICBz
dGF0aWMgUGFzc1JlZlB0cjxDU1NTdXBwb3J0c1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVTdXBwb3J0
cyogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpCisgICAgeworICAgICAgICByZXR1cm4gYWRv
cHRSZWYobmV3IENTU1N1cHBvcnRzUnVsZShydWxlLCBzaGVldCkpOworICAgIH0KKworICAgIHZp
cnR1YWwgfkNTU1N1cHBvcnRzUnVsZSgpOworCisgICAgdmlydHVhbCBDU1NSdWxlOjpUeXBlIHR5
cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBTVVBQT1JUU19SVUxFOyB9CisgICAgdmlydHVh
bCB2b2lkIHJlYXR0YWNoKFN0eWxlUnVsZUJhc2UqKSBPVkVSUklERTsKKyAgICB2aXJ0dWFsIHZv
aWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0IE9WRVJSSURFOwor
ICAgIHZpcnR1YWwgU3RyaW5nIGNzc1RleHQoKSBjb25zdCBPVkVSUklERTsKKworICAgIENTU1J1
bGVMaXN0KiBjc3NSdWxlcygpIGNvbnN0OworICAgIFN0cmluZyBjb25kaXRpb25UZXh0KCkgY29u
c3Q7CisKKyAgICB1bnNpZ25lZCBpbnNlcnRSdWxlKGNvbnN0IFN0cmluZyYgcnVsZSwgdW5zaWdu
ZWQgaW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIGRlbGV0ZVJ1bGUodW5zaWduZWQg
aW5kZXgsIEV4Y2VwdGlvbkNvZGUmKTsKKworICAgIC8vIEZvciBDU1NSdWxlTGlzdAorICAgIHVu
c2lnbmVkIGxlbmd0aCgpIGNvbnN0OworICAgIENTU1J1bGUqIGl0ZW0odW5zaWduZWQgaW5kZXgp
IGNvbnN0OworCitwcml2YXRlOgorICAgIENTU1N1cHBvcnRzUnVsZShTdHlsZVJ1bGVTdXBwb3J0
cyosIENTU1N0eWxlU2hlZXQqKTsKKworICAgIFJlZlB0cjxTdHlsZVJ1bGVTdXBwb3J0cz4gbV9z
dXBwb3J0c1J1bGU7CisgICAgbXV0YWJsZSBWZWN0b3I8UmVmUHRyPENTU1J1bGU+ID4gbV9jaGls
ZFJ1bGVDU1NPTVdyYXBwZXJzOworICAgIG11dGFibGUgT3duUHRyPENTU1J1bGVMaXN0PiBtX3J1
bGVMaXN0Q1NTT01XcmFwcGVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQorCisjZW5k
aWYgLy8gRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisKKyNlbmRpZiAvLyBDU1NTdXBw
b3J0c1J1bGVfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVs
ZS5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5jNTMzODgyZDkwYTEwNmZjNjljM2M0NGNlYTUzZjAxYTIzOWEwODFhCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5pZGwKQEAgLTAsMCArMSwz
OSBAQAorLyogQ29weXJpZ2h0IChDKSAyMDEyIE1vdG9yb2xhIE1vYmlsaXR5IEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKKyAqIG1l
dDoKKyAqCisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQorICogICAgY29weXJpZ2h0IG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbgorICogICAgdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKiAzLiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1v
dG9yb2xhIE1vYmlsaXR5IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKKyAqICAgIGNvbnRyaWJ1
dG9ycyBtYXkgYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMKKyAqICAgIHNvZnR3YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UCisgKiBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IKKyAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUCisgKiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwKKyAqIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKKyAqIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLAorICogREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCisgKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UK
KyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENvbmRpdGlvbmFsPUNTUzNfQ09ORElUSU9O
QUxfUlVMRVMKK10gaW50ZXJmYWNlIENTU1N1cHBvcnRzUnVsZSA6IENTU1J1bGUgeworICAgIHJl
YWRvbmx5IGF0dHJpYnV0ZSBDU1NSdWxlTGlzdCBjc3NSdWxlczsKKyAgICByZWFkb25seSBhdHRy
aWJ1dGUgRE9NU3RyaW5nIGNvbmRpdGlvblRleHQ7CisKKyAgICB1bnNpZ25lZCBsb25nIGluc2Vy
dFJ1bGUoaW4gW09wdGlvbmFsPURlZmF1bHRJc1VuZGVmaW5lZF0gRE9NU3RyaW5nIHJ1bGUsCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOworICAgIHZvaWQg
ZGVsZXRlUnVsZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSB1bnNpZ25lZCBsb25n
IGluZGV4KSByYWlzZXMoRE9NRXhjZXB0aW9uKTsKK307CisKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9SdWxlU2V0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmNwcApp
bmRleCAzNTBhMjcxNWRiN2IwM2I5MDZiOTMyNmM5MGIwYTEzOWUyM2ZlMjFhLi4yNGIwODYzNWU2
ODA4MTE5ZmUxMDhkMjQxZWUzMWI5ZDFhYmRiOGUyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvUnVsZVNldC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwCkBA
IC0yNjgsNjUgKzI2OCwyMSBAQCB2b2lkIFJ1bGVTZXQ6OmFkZFJlZ2lvblJ1bGUoU3R5bGVSdWxl
UmVnaW9uKiByZWdpb25SdWxlLCBib29sIGhhc0RvY3VtZW50U2VjdXJpdAogICAgIG1fcmVnaW9u
U2VsZWN0b3JzQW5kUnVsZVNldHMuYXBwZW5kKFJ1bGVTZXRTZWxlY3RvclBhaXIocmVnaW9uUnVs
ZS0+c2VsZWN0b3JMaXN0KCkuZmlyc3QoKSwgcmVnaW9uUnVsZVNldC5yZWxlYXNlKCkpKTsKIH0K
IAotdm9pZCBSdWxlU2V0OjphZGRSdWxlc0Zyb21TaGVldChTdHlsZVNoZWV0Q29udGVudHMqIHNo
ZWV0LCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpdW0sIFN0eWxlUmVzb2x2ZXIqIHJl
c29sdmVyLCBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSkKK3ZvaWQgUnVsZVNldDo6YWRkQ2hp
bGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIHJ1bGVzLCBjb25z
dCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpdW0sIFN0eWxlUmVzb2x2ZXIqIHJlc29sdmVyLCBj
b25zdCBDb250YWluZXJOb2RlKiBzY29wZSwgYm9vbCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2lu
LCBBZGRSdWxlRmxhZ3MgYWRkUnVsZUZsYWdzLCBib29sIGlzV2l0aGluTmVzdGVkUnVsZSkKIHsK
LSAgICBBU1NFUlQoc2hlZXQpOwotICAgIAotICAgIGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVS
dWxlSW1wb3J0PiA+JiBpbXBvcnRSdWxlcyA9IHNoZWV0LT5pbXBvcnRSdWxlcygpOwotICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCBpbXBvcnRSdWxlcy5zaXplKCk7ICsraSkgewotICAgICAg
ICBTdHlsZVJ1bGVJbXBvcnQqIGltcG9ydFJ1bGUgPSBpbXBvcnRSdWxlc1tpXS5nZXQoKTsKLSAg
ICAgICAgaWYgKGltcG9ydFJ1bGUtPnN0eWxlU2hlZXQoKSAmJiAoIWltcG9ydFJ1bGUtPm1lZGlh
UXVlcmllcygpIHx8IG1lZGl1bS5ldmFsKGltcG9ydFJ1bGUtPm1lZGlhUXVlcmllcygpLCByZXNv
bHZlcikpKQotICAgICAgICAgICAgYWRkUnVsZXNGcm9tU2hlZXQoaW1wb3J0UnVsZS0+c3R5bGVT
aGVldCgpLCBtZWRpdW0sIHJlc29sdmVyLCBzY29wZSk7Ci0gICAgfQotICAgIGJvb2wgaGFzRG9j
dW1lbnRTZWN1cml0eU9yaWdpbiA9IHJlc29sdmVyICYmIHJlc29sdmVyLT5kb2N1bWVudCgpLT5z
ZWN1cml0eU9yaWdpbigpLT5jYW5SZXF1ZXN0KHNoZWV0LT5iYXNlVVJMKCkpOwotICAgIEFkZFJ1
bGVGbGFncyBhZGRSdWxlRmxhZ3MgPSBzdGF0aWNfY2FzdDxBZGRSdWxlRmxhZ3M+KChoYXNEb2N1
bWVudFNlY3VyaXR5T3JpZ2luID8gUnVsZUhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gOiAwKSB8
ICghc2NvcGUgPyBSdWxlQ2FuVXNlRmFzdENoZWNrU2VsZWN0b3IgOiAwKSk7Ci0KLSAgICBjb25z
dCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIHJ1bGVzID0gc2hlZXQtPmNoaWxkUnVs
ZXMoKTsKICAgICBmb3IgKHVuc2lnbmVkIGkgPSAwOyBpIDwgcnVsZXMuc2l6ZSgpOyArK2kpIHsK
ICAgICAgICAgU3R5bGVSdWxlQmFzZSogcnVsZSA9IHJ1bGVzW2ldLmdldCgpOwogCi0gICAgICAg
IEFTU0VSVCghcnVsZS0+aXNJbXBvcnRSdWxlKCkpOworICAgICAgICBBU1NFUlQoaXNXaXRoaW5O
ZXN0ZWRSdWxlIHx8ICFydWxlLT5pc0ltcG9ydFJ1bGUoKSk7CisKICAgICAgICAgaWYgKHJ1bGUt
PmlzU3R5bGVSdWxlKCkpCiAgICAgICAgICAgICBhZGRTdHlsZVJ1bGUoc3RhdGljX2Nhc3Q8U3R5
bGVSdWxlKj4ocnVsZSksIGFkZFJ1bGVGbGFncyk7CiAgICAgICAgIGVsc2UgaWYgKHJ1bGUtPmlz
UGFnZVJ1bGUoKSkKICAgICAgICAgICAgIGFkZFBhZ2VSdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVs
ZVBhZ2UqPihydWxlKSk7CiAgICAgICAgIGVsc2UgaWYgKHJ1bGUtPmlzTWVkaWFSdWxlKCkpIHsK
ICAgICAgICAgICAgIFN0eWxlUnVsZU1lZGlhKiBtZWRpYVJ1bGUgPSBzdGF0aWNfY2FzdDxTdHls
ZVJ1bGVNZWRpYSo+KHJ1bGUpOwotCi0gICAgICAgICAgICBpZiAoKCFtZWRpYVJ1bGUtPm1lZGlh
UXVlcmllcygpIHx8IG1lZGl1bS5ldmFsKG1lZGlhUnVsZS0+bWVkaWFRdWVyaWVzKCksIHJlc29s
dmVyKSkpIHsKLSAgICAgICAgICAgICAgICAvLyBUcmF2ZXJzZSBjaGlsZCBlbGVtZW50cyBvZiB0
aGUgQG1lZGlhIHJ1bGUuCi0gICAgICAgICAgICAgICAgY29uc3QgVmVjdG9yPFJlZlB0cjxTdHls
ZVJ1bGVCYXNlPiA+JiBjaGlsZFJ1bGVzID0gbWVkaWFSdWxlLT5jaGlsZFJ1bGVzKCk7Ci0gICAg
ICAgICAgICAgICAgZm9yICh1bnNpZ25lZCBqID0gMDsgaiA8IGNoaWxkUnVsZXMuc2l6ZSgpOyAr
K2opIHsKLSAgICAgICAgICAgICAgICAgICAgU3R5bGVSdWxlQmFzZSogY2hpbGRSdWxlID0gY2hp
bGRSdWxlc1tqXS5nZXQoKTsKLSAgICAgICAgICAgICAgICAgICAgaWYgKGNoaWxkUnVsZS0+aXNT
dHlsZVJ1bGUoKSkKLSAgICAgICAgICAgICAgICAgICAgICAgIGFkZFN0eWxlUnVsZShzdGF0aWNf
Y2FzdDxTdHlsZVJ1bGUqPihjaGlsZFJ1bGUpLCBhZGRSdWxlRmxhZ3MpOwotICAgICAgICAgICAg
ICAgICAgICBlbHNlIGlmIChjaGlsZFJ1bGUtPmlzUGFnZVJ1bGUoKSkKLSAgICAgICAgICAgICAg
ICAgICAgICAgIGFkZFBhZ2VSdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVBhZ2UqPihjaGlsZFJ1
bGUpKTsKLSAgICAgICAgICAgICAgICAgICAgZWxzZSBpZiAoY2hpbGRSdWxlLT5pc0ZvbnRGYWNl
UnVsZSgpICYmIHJlc29sdmVyKSB7Ci0gICAgICAgICAgICAgICAgICAgICAgICAvLyBBZGQgdGhp
cyBmb250IGZhY2UgdG8gb3VyIHNldC4KLSAgICAgICAgICAgICAgICAgICAgICAgIC8vIEZJWE1F
KEJVRyA3MjQ2MSk6IFdlIGRvbid0IGFkZCBAZm9udC1mYWNlIHJ1bGVzIG9mIHNjb3BlZCBzdHls
ZSBzaGVldHMgZm9yIHRoZSBtb21lbnQuCi0gICAgICAgICAgICAgICAgICAgICAgICBpZiAoc2Nv
cGUpCi0gICAgICAgICAgICAgICAgICAgICAgICAgICAgY29udGludWU7Ci0gICAgICAgICAgICAg
ICAgICAgICAgICBjb25zdCBTdHlsZVJ1bGVGb250RmFjZSogZm9udEZhY2VSdWxlID0gc3RhdGlj
X2Nhc3Q8U3R5bGVSdWxlRm9udEZhY2UqPihjaGlsZFJ1bGUpOwotICAgICAgICAgICAgICAgICAg
ICAgICAgcmVzb2x2ZXItPmZvbnRTZWxlY3RvcigpLT5hZGRGb250RmFjZVJ1bGUoZm9udEZhY2VS
dWxlKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyLT5pbnZhbGlkYXRlTWF0Y2hl
ZFByb3BlcnRpZXNDYWNoZSgpOwotICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKGNoaWxk
UnVsZS0+aXNLZXlmcmFtZXNSdWxlKCkgJiYgcmVzb2x2ZXIpIHsKLSAgICAgICAgICAgICAgICAg
ICAgICAgIC8vIEFkZCB0aGlzIGtleWZyYW1lIHJ1bGUgdG8gb3VyIHNldC4KLSAgICAgICAgICAg
ICAgICAgICAgICAgIC8vIEZJWE1FKEJVRyA3MjQ2Mik6IFdlIGRvbid0IGFkZCBAa2V5ZnJhbWUg
cnVsZXMgb2Ygc2NvcGVkIHN0eWxlIHNoZWV0cyBmb3IgdGhlIG1vbWVudC4KLSAgICAgICAgICAg
ICAgICAgICAgICAgIGlmIChzY29wZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb250
aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyLT5hZGRLZXlmcmFtZVN0eWxl
KHN0YXRpY19jYXN0PFN0eWxlUnVsZUtleWZyYW1lcyo+KGNoaWxkUnVsZSkpOwotICAgICAgICAg
ICAgICAgICAgICB9Ci0jaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKLSAgICAgICAg
ICAgICAgICAgICAgZWxzZSBpZiAoY2hpbGRSdWxlLT5pc1ZpZXdwb3J0UnVsZSgpICYmIHJlc29s
dmVyICYmICFyZXNvbHZlci0+YWZmZWN0ZWRCeVZpZXdwb3J0Q2hhbmdlKCkpIHsKLSAgICAgICAg
ICAgICAgICAgICAgICAgIC8vIEB2aWV3cG9ydCBzaG91bGQgbm90IGJlIHNjb3BlZC4KLSAgICAg
ICAgICAgICAgICAgICAgICAgIGlmIChzY29wZSkKLSAgICAgICAgICAgICAgICAgICAgICAgICAg
ICBjb250aW51ZTsKLSAgICAgICAgICAgICAgICAgICAgICAgIHJlc29sdmVyLT52aWV3cG9ydFN0
eWxlUmVzb2x2ZXIoKS0+YWRkVmlld3BvcnRSdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdw
b3J0Kj4oY2hpbGRSdWxlKSk7Ci0gICAgICAgICAgICAgICAgICAgIH0KLSNlbmRpZgotICAgICAg
ICAgICAgICAgIH0gLy8gZm9yIHJ1bGVzCi0gICAgICAgICAgICB9IC8vIGlmIHJ1bGVzCisgICAg
ICAgICAgICBpZiAoKCFtZWRpYVJ1bGUtPm1lZGlhUXVlcmllcygpIHx8IG1lZGl1bS5ldmFsKG1l
ZGlhUnVsZS0+bWVkaWFRdWVyaWVzKCksIHJlc29sdmVyKSkpCisgICAgICAgICAgICAgICAgYWRk
Q2hpbGRSdWxlcyhtZWRpYVJ1bGUtPmNoaWxkUnVsZXMoKSwgbWVkaXVtLCByZXNvbHZlciwgc2Nv
cGUsIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4sIGFkZFJ1bGVGbGFncywgdHJ1ZSk7CiAgICAg
ICAgIH0gZWxzZSBpZiAocnVsZS0+aXNGb250RmFjZVJ1bGUoKSAmJiByZXNvbHZlcikgewogICAg
ICAgICAgICAgLy8gQWRkIHRoaXMgZm9udCBmYWNlIHRvIG91ciBzZXQuCiAgICAgICAgICAgICAv
LyBGSVhNRShCVUcgNzI0NjEpOiBXZSBkb24ndCBhZGQgQGZvbnQtZmFjZSBydWxlcyBvZiBzY29w
ZWQgc3R5bGUgc2hlZXRzIGZvciB0aGUgbW9tZW50LgpAQCAtMzYxLDcgKzMxNywzMiBAQCB2b2lk
IFJ1bGVTZXQ6OmFkZFJ1bGVzRnJvbVNoZWV0KFN0eWxlU2hlZXRDb250ZW50cyogc2hlZXQsIGNv
bnN0IE1lZGlhUXVlcnlFdmFsdQogICAgICAgICAgICAgcmVzb2x2ZXItPnZpZXdwb3J0U3R5bGVS
ZXNvbHZlcigpLT5hZGRWaWV3cG9ydFJ1bGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlVmlld3BvcnQq
PihydWxlKSk7CiAgICAgICAgIH0KICNlbmRpZgorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFM
X1JVTEVTKQorICAgICAgICBlbHNlIGlmIChydWxlLT5pc1N1cHBvcnRzUnVsZSgpICYmIHN0YXRp
Y19jYXN0PFN0eWxlUnVsZVN1cHBvcnRzKj4ocnVsZSktPmNvbmRpdGlvbklzU3VwcG9ydGVkKCkp
CisgICAgICAgICAgICBhZGRDaGlsZFJ1bGVzKHN0YXRpY19jYXN0PFN0eWxlUnVsZVN1cHBvcnRz
Kj4ocnVsZSktPmNoaWxkUnVsZXMoKSwgbWVkaXVtLCByZXNvbHZlciwgc2NvcGUsIGhhc0RvY3Vt
ZW50U2VjdXJpdHlPcmlnaW4sIGFkZFJ1bGVGbGFncywgdHJ1ZSk7CisjZW5kaWYKKyAgICAgICAg
ZWxzZSBpZiAoaXNXaXRoaW5OZXN0ZWRSdWxlICYmIHJ1bGUtPmlzSW1wb3J0UnVsZSgpKSB7Cisg
ICAgICAgICAgICAvLyBJZ25vcmUuCisgICAgICAgIH0KICAgICB9Cit9CisKK3ZvaWQgUnVsZVNl
dDo6YWRkUnVsZXNGcm9tU2hlZXQoU3R5bGVTaGVldENvbnRlbnRzKiBzaGVldCwgY29uc3QgTWVk
aWFRdWVyeUV2YWx1YXRvciYgbWVkaXVtLCBTdHlsZVJlc29sdmVyKiByZXNvbHZlciwgY29uc3Qg
Q29udGFpbmVyTm9kZSogc2NvcGUpCit7CisgICAgQVNTRVJUKHNoZWV0KTsKKworICAgIGNvbnN0
IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlSW1wb3J0PiA+JiBpbXBvcnRSdWxlcyA9IHNoZWV0LT5p
bXBvcnRSdWxlcygpOworICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBpbXBvcnRSdWxlcy5z
aXplKCk7ICsraSkgeworICAgICAgICBTdHlsZVJ1bGVJbXBvcnQqIGltcG9ydFJ1bGUgPSBpbXBv
cnRSdWxlc1tpXS5nZXQoKTsKKyAgICAgICAgaWYgKGltcG9ydFJ1bGUtPnN0eWxlU2hlZXQoKSAm
JiAoIWltcG9ydFJ1bGUtPm1lZGlhUXVlcmllcygpIHx8IG1lZGl1bS5ldmFsKGltcG9ydFJ1bGUt
Pm1lZGlhUXVlcmllcygpLCByZXNvbHZlcikpKQorICAgICAgICAgICAgYWRkUnVsZXNGcm9tU2hl
ZXQoaW1wb3J0UnVsZS0+c3R5bGVTaGVldCgpLCBtZWRpdW0sIHJlc29sdmVyLCBzY29wZSk7Cisg
ICAgfQorCisgICAgYm9vbCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2luID0gcmVzb2x2ZXIgJiYg
cmVzb2x2ZXItPmRvY3VtZW50KCktPnNlY3VyaXR5T3JpZ2luKCktPmNhblJlcXVlc3Qoc2hlZXQt
PmJhc2VVUkwoKSk7CisgICAgQWRkUnVsZUZsYWdzIGFkZFJ1bGVGbGFncyA9IHN0YXRpY19jYXN0
PEFkZFJ1bGVGbGFncz4oKGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4gPyBSdWxlSGFzRG9jdW1l
bnRTZWN1cml0eU9yaWdpbiA6IDApIHwgKCFzY29wZSA/IFJ1bGVDYW5Vc2VGYXN0Q2hlY2tTZWxl
Y3RvciA6IDApKTsKKworICAgIGFkZENoaWxkUnVsZXMoc2hlZXQtPmNoaWxkUnVsZXMoKSwgbWVk
aXVtLCByZXNvbHZlciwgc2NvcGUsIGhhc0RvY3VtZW50U2VjdXJpdHlPcmlnaW4sIGFkZFJ1bGVG
bGFncywgZmFsc2UpOworCiAgICAgaWYgKG1fYXV0b1Nocmlua1RvRml0RW5hYmxlZCkKICAgICAg
ICAgc2hyaW5rVG9GaXQoKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxl
U2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvUnVsZVNldC5oCmluZGV4IDgzNGJhYjkzYTg4MWRl
ZjM2MzQyMDU5Yzg4NmM3MjFhNDU2YjcyNDkuLjljYTc3YWY5Mzk3Mzk4YmNkYmM2ODcyNjBhMjNh
M2M0MTNiNGVmMzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmgKKysr
IGIvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuaApAQCAtMTI5LDYgKzEyOSw5IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgcmVwb3J0TWVtb3J5VXNhZ2UoTWVtb3J5T2JqZWN0SW5mbyopIGNvbnN0
OwogCitwcml2YXRlOgorICAgIHZvaWQgYWRkQ2hpbGRSdWxlcyhjb25zdCBWZWN0b3I8UmVmUHRy
PFN0eWxlUnVsZUJhc2U+ID4mLCBjb25zdCBNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBtZWRpdW0sIFN0
eWxlUmVzb2x2ZXIqLCBjb25zdCBDb250YWluZXJOb2RlKiBzY29wZSwgYm9vbCBoYXNEb2N1bWVu
dFNlY3VyaXR5T3JpZ2luLCBBZGRSdWxlRmxhZ3MsIGJvb2wgaXNXaXRoaW5OZXN0ZWRSdWxlKTsK
KwogcHVibGljOgogICAgIFJ1bGVTZXQoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL1N0eWxlUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIu
Y3BwCmluZGV4IGY2ZmYzZDRlOTYyNzkzMWU5NTM2OWJiNTIyNDY1YzM1NzU4N2MzYWEuLjFkMDFh
YTVmMjc4OWEzMWQ2NTYwZDQ5YWQ0MTNlMmQzNDMzOTI3NzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVJlc29sdmVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVSZXNvbHZlci5jcHAKQEAgLTQ4LDYgKzQ4LDcgQEAKICNpbmNsdWRlICJDU1NTZWxlY3Rvckxp
c3QuaCIKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVNoZWV0
LmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTVGltaW5nRnVu
Y3Rpb25WYWx1ZS5oIgogI2luY2x1ZGUgIkNTU1ZhbHVlTGlzdC5oIgogI2lmIEVOQUJMRShDU1Nf
VkFSSUFCTEVTKQpAQCAtMjYzMiw2ICsyNjMzLDExIEBAIHN0YXRpYyB2b2lkIGNvbGxlY3RDU1NP
TVdyYXBwZXJzKEhhc2hNYXA8U3R5bGVSdWxlKiwgUmVmUHRyPENTU1N0eWxlUnVsZT4gPiYgd3Jh
CiAgICAgICAgIGNhc2UgQ1NTUnVsZTo6TUVESUFfUlVMRToKICAgICAgICAgICAgIGNvbGxlY3RD
U1NPTVdyYXBwZXJzKHdyYXBwZXJNYXAsIHN0YXRpY19jYXN0PENTU01lZGlhUnVsZSo+KGNzc1J1
bGUpKTsKICAgICAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JV
TEVTKQorICAgICAgICBjYXNlIENTU1J1bGU6OlNVUFBPUlRTX1JVTEU6CisgICAgICAgICAgICBj
b2xsZWN0Q1NTT01XcmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxDU1NTdXBwb3J0c1J1
bGUqPihjc3NSdWxlKSk7CisgICAgICAgICAgICBicmVhazsKKyNlbmRpZgogI2lmIEVOQUJMRShD
U1NfUkVHSU9OUykKICAgICAgICAgY2FzZSBDU1NSdWxlOjpXRUJLSVRfUkVHSU9OX1JVTEU6CiAg
ICAgICAgICAgICBjb2xsZWN0Q1NTT01XcmFwcGVycyh3cmFwcGVyTWFwLCBzdGF0aWNfY2FzdDxX
ZWJLaXRDU1NSZWdpb25SdWxlKj4oY3NzUnVsZSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL1N0eWxlUnVsZS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcApp
bmRleCA0M2U2YTVlMTM3NjgwY2MyZDFjNmFjMzAxOTNkZmU2NTY2NjIzMDIwLi5iNDM3OTMzMzEx
MTg1YjdhY2M3NDMxNjIxNmY3Nzk3NWMxNjMwNTBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNw
cApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUg
IkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiQ1NT
U3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTVW5rbm93blJ1bGUuaCIKICNpbmNsdWRlICJT
dHlsZVJ1bGVJbXBvcnQuaCIKICNpbmNsdWRlICJXZWJDb3JlTWVtb3J5SW5zdHJ1bWVudGF0aW9u
LmgiCkBAIC04MSw2ICs4Miw5IEBAIHZvaWQgU3R5bGVSdWxlQmFzZTo6cmVwb3J0TWVtb3J5VXNh
Z2UoTWVtb3J5T2JqZWN0SW5mbyogbWVtb3J5T2JqZWN0SW5mbykgY29uc3QKICAgICBjYXNlIEtl
eWZyYW1lczoKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlS2V5ZnJhbWVzKj4o
dGhpcyktPnJlcG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKICAg
ICAgICAgcmV0dXJuOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGNh
c2UgU3VwcG9ydHM6CisjZW5kaWYKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICBjYXNlIEhv
c3Q6CiAgICAgICAgIHN0YXRpY19jYXN0PGNvbnN0IFN0eWxlUnVsZUJsb2NrKj4odGhpcyktPnJl
cG9ydERlc2NlbmRhbnRNZW1vcnlVc2FnZShtZW1vcnlPYmplY3RJbmZvKTsKQEAgLTExOCw2ICsx
MjIsMTEgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpkZXN0cm95KCkKICAgICBjYXNlIE1lZGlhOgog
ICAgICAgICBkZWxldGUgc3RhdGljX2Nhc3Q8U3R5bGVSdWxlTWVkaWEqPih0aGlzKTsKICAgICAg
ICAgcmV0dXJuOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGNhc2Ug
U3VwcG9ydHM6CisgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cyo+
KHRoaXMpOworICAgICAgICByZXR1cm47CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMp
CiAgICAgY2FzZSBSZWdpb246CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVS
ZWdpb24qPih0aGlzKTsKQEAgLTE2Miw2ICsxNzEsMTAgQEAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVC
YXNlPiBTdHlsZVJ1bGVCYXNlOjpjb3B5KCkgY29uc3QKICAgICAgICAgcmV0dXJuIHN0YXRpY19j
YXN0PGNvbnN0IFN0eWxlUnVsZUZvbnRGYWNlKj4odGhpcyktPmNvcHkoKTsKICAgICBjYXNlIE1l
ZGlhOgogICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlTWVkaWEqPih0
aGlzKS0+Y29weSgpOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGNh
c2UgU3VwcG9ydHM6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVT
dXBwb3J0cyo+KHRoaXMpLT5jb3B5KCk7CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMp
CiAgICAgY2FzZSBSZWdpb246CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHls
ZVJ1bGVSZWdpb24qPih0aGlzKS0+Y29weSgpOwpAQCAtMjEwLDYgKzIyMywxMSBAQCBQYXNzUmVm
UHRyPENTU1J1bGU+IFN0eWxlUnVsZUJhc2U6OmNyZWF0ZUNTU09NV3JhcHBlcihDU1NTdHlsZVNo
ZWV0KiBwYXJlbnRTaGVldAogICAgIGNhc2UgTWVkaWE6CiAgICAgICAgIHJ1bGUgPSBDU1NNZWRp
YVJ1bGU6OmNyZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVNZWRpYSo+KHNlbGYpLCBwYXJlbnRT
aGVldCk7CiAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVT
KQorICAgIGNhc2UgU3VwcG9ydHM6CisgICAgICAgIHJ1bGUgPSBDU1NTdXBwb3J0c1J1bGU6OmNy
ZWF0ZShzdGF0aWNfY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cyo+KHNlbGYpLCBwYXJlbnRTaGVldCk7
CisgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYgRU5BQkxFKENTU19SRUdJT05TKQogICAgIGNh
c2UgUmVnaW9uOgogICAgICAgICBydWxlID0gV2ViS2l0Q1NTUmVnaW9uUnVsZTo6Y3JlYXRlKHN0
YXRpY19jYXN0PFN0eWxlUnVsZVJlZ2lvbio+KHNlbGYpLCBwYXJlbnRTaGVldCk7CkBAIC00MDQs
NiArNDIyLDIzIEBAIHZvaWQgU3R5bGVSdWxlTWVkaWE6OnJlcG9ydERlc2NlbmRhbnRNZW1vcnlV
c2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJCiAgICAgaW5mby5hZGRNZW1iZXIo
bV9tZWRpYVF1ZXJpZXMpOwogfQogCisKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxF
UykKK1N0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHJpbmcmIGNv
bmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxSZWZQdHI8U3R5
bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKKyAgICA6IFN0eWxlUnVsZUJsb2NrKFN1cHBvcnRz
LCBhZG9wdFJ1bGVzKQorICAgICwgbV9jb25kaXRpb25UZXh0KGNvbmRpdGlvblRleHQpCisgICAg
LCBtX2NvbmRpdGlvbklzU3VwcG9ydGVkKGNvbmRpdGlvbklzU3VwcG9ydGVkKQoreworfQorCitT
dHlsZVJ1bGVTdXBwb3J0czo6U3R5bGVSdWxlU3VwcG9ydHMoY29uc3QgU3R5bGVSdWxlU3VwcG9y
dHMmIG8pCisgICAgOiBTdHlsZVJ1bGVCbG9jayhvKQorICAgICwgbV9jb25kaXRpb25UZXh0KG8u
bV9jb25kaXRpb25UZXh0KQorICAgICwgbV9jb25kaXRpb25Jc1N1cHBvcnRlZChvLm1fY29uZGl0
aW9uSXNTdXBwb3J0ZWQpCit7Cit9CisjZW5kaWYKKwogU3R5bGVSdWxlUmVnaW9uOjpTdHlsZVJ1
bGVSZWdpb24oVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogc2VsZWN0b3JzLCBW
ZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpCiAgICAgOiBTdHlsZVJ1
bGVCbG9jayhSZWdpb24sIGFkb3B0UnVsZXMpCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvU3R5bGVSdWxlLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmgKaW5kZXgg
NGVmNzY0MjgzODhiMWM0NzJlMTM5MWMzOTFiMjNhODY4MWZjMTYzNS4uMjljODhhMzIyNGNiMmNm
NmUxNjllNTU0ODQzMWViNzExMTJiMmNjNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3Nz
L1N0eWxlUnVsZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaApAQCAtNDks
NiArNDksOSBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKFNIQURPV19ET00pCiAgICAgICAgIEhvc3Qs
CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAgICAgICAgU3Vw
cG9ydHMgPSAxMiwKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAg
ICAgICAgIFZpZXdwb3J0ID0gMTUsCiAjZW5kaWYKQEAgLTYzLDYgKzY2LDkgQEAgcHVibGljOgog
ICAgIGJvb2wgaXNQYWdlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBQYWdlOyB9CiAg
ICAgYm9vbCBpc1N0eWxlUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdHlsZTsgfQog
ICAgIGJvb2wgaXNSZWdpb25SdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFJlZ2lvbjsg
fQorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGJvb2wgaXNTdXBwb3J0
c1J1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0gU3VwcG9ydHM7IH0KKyNlbmRpZgogI2lm
IEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAgYm9vbCBpc1ZpZXdwb3J0UnVsZSgp
IGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBWaWV3cG9ydDsgfQogI2VuZGlmCkBAIC0yMTUsNiAr
MjIxLDI3IEBAIHByaXZhdGU6CiAgICAgUmVmUHRyPE1lZGlhUXVlcnlTZXQ+IG1fbWVkaWFRdWVy
aWVzOwogfTsKIAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorY2xhc3MgU3R5
bGVSdWxlU3VwcG9ydHMgOiBwdWJsaWMgU3R5bGVSdWxlQmxvY2sgeworcHVibGljOgorICAgIHN0
YXRpYyBQYXNzUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBjcmVhdGUoY29uc3QgU3RyaW5nJiBj
b25kaXRpb25UZXh0LCBib29sIGNvbmRpdGlvbklzU3VwcG9ydGVkLCBWZWN0b3I8UmVmUHRyPFN0
eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRS
ZWYobmV3IFN0eWxlUnVsZVN1cHBvcnRzKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9y
dGVkLCBhZG9wdFJ1bGVzKSk7CisgICAgfQorCisgICAgU3RyaW5nIGNvbmRpdGlvblRleHQoKSBj
b25zdCB7IHJldHVybiBtX2NvbmRpdGlvblRleHQ7IH0KKyAgICBib29sIGNvbmRpdGlvbklzU3Vw
cG9ydGVkKCkgY29uc3QgeyByZXR1cm4gbV9jb25kaXRpb25Jc1N1cHBvcnRlZDsgfQorICAgIFBh
c3NSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IGNvcHkoKSBjb25zdCB7IHJldHVybiBhZG9wdFJl
ZihuZXcgU3R5bGVSdWxlU3VwcG9ydHMoKnRoaXMpKTsgfQorCitwcml2YXRlOgorICAgIFN0eWxl
UnVsZVN1cHBvcnRzKGNvbnN0IFN0cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25J
c1N1cHBvcnRlZCwgVmVjdG9yPFJlZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBhZG9wdFJ1bGVzKTsK
KyAgICBTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyYpOworCisgICAg
U3RyaW5nIG1fY29uZGl0aW9uVGV4dDsKKyAgICBib29sIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQ7
Cit9OworI2VuZGlmCisKIGNsYXNzIFN0eWxlUnVsZVJlZ2lvbiA6IHB1YmxpYyBTdHlsZVJ1bGVC
bG9jayB7CiBwdWJsaWM6CiAgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVSdWxlUmVnaW9uPiBj
cmVhdGUoVmVjdG9yPE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogc2VsZWN0b3JzLCBWZWN0
b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0UnVsZXMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IGRjNTIxZGYzOWMyYmQ0MzY1NjRmZjViYzg4
N2QxYTNiMTBiZDdiMWIuLjAwMDc3NGIxZjBiZjM3OTM5MmNiNGNjMjJiOWIzNmE3Y2QwYzc1ZmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBAIC00NTYsNiAr
NDU2LDkgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3VicmVz
b3VyY2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVC
YXNlOjpVbmtub3duOgogICAgICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6OkNoYXJzZXQ6CiAgICAg
ICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6S2V5ZnJhbWU6CisjaWYgRU5BQkxFKENTUzNfQ09ORElU
SU9OQUxfUlVMRVMpCisgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6U3VwcG9ydHM6CisjZW5k
aWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQogICAgICAgICBjYXNlIFN0eWxl
UnVsZUJhc2U6OlZpZXdwb3J0OgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9p
bnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKaW5kZXggYWIxODJjODIyYjRkOGRkMzEwNzkwYmQ1
OGExNmE3OWRmMThjOGZkNi4uNWI0YTAwODU4ZjM2NjU4ZmM4YmYzY2M3NTI3ZWQwNTU4MjM3MWEy
NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hl
ZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0
LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkNTU1J1bGVMaXN0LmgiCiAjaW5jbHVk
ZSAiQ1NTU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgorI2luY2x1ZGUg
IkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBvbGljeS5oIgog
I2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAtMTA5LDYgKzEx
MCwxMCBAQCBzdGF0aWMgdm9pZCBmbGF0dGVuU291cmNlRGF0YShSdWxlU291cmNlRGF0YUxpc3Qq
IGRhdGFMaXN0LCBSdWxlU291cmNlRGF0YUxpc3QqCiAgICAgICAgICAgICB0YXJnZXQtPmFwcGVu
ZChkYXRhKTsKICAgICAgICAgZWxzZSBpZiAoZGF0YS0+dHlwZSA9PSBDU1NSdWxlU291cmNlRGF0
YTo6TUVESUFfUlVMRSkKICAgICAgICAgICAgIGZsYXR0ZW5Tb3VyY2VEYXRhKCZkYXRhLT5jaGls
ZFJ1bGVzLCB0YXJnZXQpOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAg
ICAgICBlbHNlIGlmIChkYXRhLT50eXBlID09IENTU1J1bGVTb3VyY2VEYXRhOjpTVVBQT1JUU19S
VUxFKQorICAgICAgICAgICAgZmxhdHRlblNvdXJjZURhdGEoJmRhdGEtPmNoaWxkUnVsZXMsIHRh
cmdldCk7CisjZW5kaWYKICAgICB9CiB9CiAKQEAgLTIwOSw2ICsyMTQsMTEgQEAgc3RhdGljIFBh
c3NSZWZQdHI8Q1NTUnVsZUxpc3Q+IGFzQ1NTUnVsZUxpc3QoQ1NTUnVsZSogcnVsZSkKICAgICBp
ZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRSkKICAgICAg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYktpdENTU0tleWZyYW1lc1J1bGUqPihydWxlKS0+Y3Nz
UnVsZXMoKTsKIAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGlmIChy
dWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRSkKKyAgICAgICAgcmV0dXJuIHN0
YXRpY19jYXN0PENTU1N1cHBvcnRzUnVsZSo+KHJ1bGUpLT5jc3NSdWxlcygpOworI2VuZGlmCisK
ICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIv
TGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDZlMjRjOGU1ZDkwMzI0NWRlZTkyMWU5OTE2ZTRi
MzlhYzQzYzIxNmUuLjgxMTM3N2Y5M2YxMDYyNzQ5YTNmNjMxZDJkYjJlMGE0ZjliZjE3MGIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMi0xMi0xOSAgUGFibG8gRmxvdXJldCAgPHBhYmxvZkBt
b3Rvcm9sYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTU1N1cHBvcnRzUnVsZQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0ODIyCisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3MzL3N1cHBvcnRz
LWNzc29tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9zdXBwb3J0cy1jc3Nv
bS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL3N1cHBvcnRzLWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiBjc3MzL3N1cHBvcnRzLmh0bWw6CisKKyAgICAgICAgKiBwbGF0Zm9ybS9jaHJvbWl1
bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRp
b25zOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3F0L1Rl
c3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnM6
CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAg
KiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMi0xMi0xOSAgRGVhbiBKYWNr
c29uICA8ZGlub0BhcHBsZS5jb20+CiAKICAgICAgICAgQ2xlYW51cCBzb21lIGNhcHRpb25zIG1l
bnUgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9zdXBwb3J0cy1jc3NvbS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTYyNDFhZGIxNzBiZTE2NmUyMzZhODcwZmRjOGNkMGE2MzRiZmNkZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNjIgQEAKK1Rlc3QgQ1NTU3VwcG9ydFJ1bGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIENTU1J1bGUuU1VQUE9SVFNfUlVMRSBpcyBkZWZpbmVk
LgorcnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxlcworUEFTUyBydWxlcy5s
ZW5ndGggaXMgNAorUEFTUyBydWxlc1swXS50eXBlIGlzIENTU1J1bGUuU1VQUE9SVFNfUlVMRQor
UEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMgorUEFTUyBydWxlc1swXS5jc3NSdWxl
c1swXS50eXBlIGlzIENTU1J1bGUuU1RZTEVfUlVMRQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sx
XS50eXBlIGlzIENTU1J1bGUuU1VQUE9SVFNfUlVMRQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sx
XS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxl
c1swXS50eXBlIGlzIENTU1J1bGUuU1RZTEVfUlVMRQorUEFTUyBydWxlc1swXS5jb25kaXRpb25U
ZXh0IGlzICIod2lkdGg6IDApIgorUEFTUyBydWxlc1swXS5jc3NUZXh0IGlzICJAc3VwcG9ydHMg
KHdpZHRoOiAwKSB7XG4gIHMgeyB3aWR0aDogMHB4OyB9XG4gIEBzdXBwb3J0cyAod2lkdGg6IDEp
IHtcbiAgcyB7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IH1cbn1cbn0iCisKK0luc2VydGluZyBhbmQg
ZGVsZXRpbmcgcnVsZXMuCitydWxlc1swXS5pbnNlcnRSdWxlKCdAbWVkaWEgYWxsIHsgI3MgeyB3
aWR0aDogMHB4OyB9IH0nLCAyKQorUEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMwor
UEFTUyBydWxlc1swXS5jc3NSdWxlc1syXS50eXBlIGlzIENTU1J1bGUuTUVESUFfUlVMRQorcnVs
ZXNbMF0uZGVsZXRlUnVsZSgyKQorUEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMgor
cnVsZXNbMF0uY3NzUnVsZXNbMV0uaW5zZXJ0UnVsZSgnQHN1cHBvcnRzIChkaXNwbGF5OiByYWlu
Ym93KSB7fScsIDEpCitQQVNTIHJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCBp
cyAyCitQQVNTIHJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzWzFdLnR5cGUgaXMgQ1NTUnVs
ZS5TVVBQT1JUU19SVUxFCitydWxlc1swXS5jc3NSdWxlc1sxXS5kZWxldGVSdWxlKDEpCitQQVNT
IHJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCBpcyAyCisKK0BjaGFyc2V0LCBAbmFtZXNwYWNlLCBA
aW1wb3J0IHJ1bGVzIGFyZSBub3QgYWxsb3dlZCBpbnNpZGUgQHN1cHBvcnRzLgorUEFTUyBydWxl
c1swXS5pbnNlcnRSdWxlKCdAY2hhcnNldCAiVVRGLTgiJywgMikgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgcnVsZXNbMF0uaW5zZXJ0
UnVsZSgnQG5hbWVzcGFjZSAiIicsIDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJy
b3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIHJ1bGVzWzBdLmluc2VydFJ1bGUoJ0BpbXBvcnQg
dXJsKCIuLi9mYXN0L2Nzc29tL3Jlc291cmNlcy9pbXBvcnQuY3NzIiknLCAyKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorCitXaGl0ZXNwYWNl
IGFuZCBmb3JtYXR0aW5nIHNob3VsZCBiZSBwcmVzZXJ2ZWQgd2l0aGluIHRoZSBjb25kaXRpb24s
IHdoaXRlc3BhY2Ugb3V0c2lkZSB0aGUgY29uZGl0aW9uIHNob3VsZCBiZSB0cmltbWVkLgorUEFT
UyBydWxlc1sxXS5jb25kaXRpb25UZXh0IGlzICIoKCAgKCAgICAgcGFkZGluZzogMCkgICAgYW5k
IChkaXNwbGF5OiBub25lKSkgb3IgKGRpc3BsYXk6IHJhaW5ib3cpKSIKKworQHN1cHBvcnRzIHJ1
bGUgbmVzdGVkIGluc2lkZSBhIG1lZGlhIHJ1bGUuCitQQVNTIHJ1bGVzWzJdLnR5cGUgaXMgQ1NT
UnVsZS5NRURJQV9SVUxFCitQQVNTIHJ1bGVzWzJdLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNT
IHJ1bGVzWzJdLmNzc1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5TVVBQT1JUU19SVUxFCitQQVNT
IHJ1bGVzWzJdLmNzc1J1bGVzWzBdLmNvbmRpdGlvblRleHQgaXMgIiggcGFkZGluZzogMCkiCitQ
QVNTIHJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIHJ1bGVz
WzJdLmNzc1J1bGVzWzBdLmNzc1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5QQUdFX1JVTEUKK1BB
U1MgcnVsZXNbMl0uY3NzVGV4dCBpcyAiQG1lZGlhIGFsbCB7IFxuICBAc3VwcG9ydHMgKCBwYWRk
aW5nOiAwKSB7XG4gIEBwYWdlIDpsZWZ0IHsgdG9wOiAwcHg7IH1cbn1cbn0iCisKK05vIGV4dHJh
IHBhcmVucyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbmRpdGlvblRleHQuCitQQVNTIHJ1bGVz
WzNdLmNvbmRpdGlvblRleHQgaXMgIihib3JkZXI6IGJsYWNrKSBhbmQgKHBhZGRpbmc6IDApIGFu
ZCAod2lkdGg6IDApIgorCitEZWxldGluZyBhIHRvcC1sZXZlbCBydWxlIHNob3VsZCB3b3JrIGNv
cnJlY3RseS4KK2RvY3VtZW50LnN0eWxlU2hlZXRzWzFdLmRlbGV0ZVJ1bGUoMykKK1BBU1MgcnVs
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgcnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNVUFBPUlRTX1JV
TEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgcnVsZXNbMF0uY3Nz
UnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVs
ZXNbMV0udHlwZSBpcyBDU1NSdWxlLlNVUFBPUlRTX1JVTEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVs
ZXNbMV0uY3NzUnVsZXMubGVuZ3RoIGlzIDEKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXNbMV0uY3Nz
UnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL3N1cHBvcnRzLWNzc29tLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWNzc29t
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTg5N2I2MGYwMDVlMjcxZmM1ZTkyYWVhOGZiMGU4Mjc4ZDA5YjA2
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20uaHRt
bApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD11dGY4PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBAc3VwcG9ydHMgKHdpZHRoOiAwKSB7
CisgICAgICAgIHMgeyB3aWR0aDogMDsgfQorICAgICAgICBAc3VwcG9ydHMgKHdpZHRoOiAxKSB7
CisgICAgICAgICAgICBzIHsgY29sb3I6ICMwMDA7IH0KKyAgICAgICAgICAgIEBpbXBvcnQgdXJs
KCIuLi9mYXN0L2Nzc29tL3Jlc291cmNlcy9pbXBvcnQuY3NzIik7CisgICAgICAgICAgICBAY2hh
cnNldCAiVVRGLTgiOworICAgICAgICAgICAgQG5hbWVzcGFjZSAiIjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIEBzdXBwb3J0cyAgKCggICggICAgIHBhZGRpbmc6IDApICAgIGFuZCAoZGlzcGxh
eTogbm9uZSkpIG9yIChkaXNwbGF5OiByYWluYm93KSkgIHsKKyAgICAgICAgZGZuIHsgd2lkdGg6
MDsgfQorICAgICAgICBAc3VwcG9ydHMgKHdpZHRoOiAwKSB7CisgICAgICAgICAgICBiciB7IGhl
aWdodDowOyB9CisgICAgICAgIH0KKyAgICAgICAgb2wgeyBkaXNwbGF5Om5vbmU7IH0KKyAgICB9
CisKKyAgICBAbWVkaWEgYWxsIHsKKyAgICAgICAgQHN1cHBvcnRzICAoIHBhZGRpbmc6IDApIHsK
KyAgICAgICAgICAgIEBwYWdlIDpsZWZ0IHsgdG9wOiAwIH0KKyAgICAgICAgfQorICAgIH0KKwor
ICAgIEBzdXBwb3J0cyAoYm9yZGVyOiBibGFjaykgYW5kIChwYWRkaW5nOiAwKSBhbmQgKHdpZHRo
OiAwKSB7CisgICAgICAgIGRmbiB7IHdpZHRoOjA7IH0KKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUZXN0IENTU1N1cHBvcnRSdWxl
LiIpOworCisKKyAgICBzaG91bGRCZURlZmluZWQoIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOwor
CisgICAgZXZhbEFuZExvZygicnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxl
cyIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzLmxlbmd0aCIsIDQpOworICAgIHNob3Vs
ZEJlKCJydWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAgIHNob3Vs
ZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCIsIDIpOworICAgIHNob3VsZEJl
KCJydWxlc1swXS5jc3NSdWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAg
IHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNf
UlVMRSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1
bGVzLmxlbmd0aCIsIDEpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NS
dWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygicnVsZXNbMF0uY29uZGl0aW9uVGV4dCIsICIod2lkdGg6IDApIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJydWxlc1swXS5jc3NUZXh0IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIkBzdXBwb3J0cyAod2lkdGg6IDApIHtcbiIgKworICAgICAgICAgICAgICAgICAg
ICAgICAgICAiICBzIHsgd2lkdGg6IDBweDsgfVxuIiArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgIEBzdXBwb3J0cyAod2lkdGg6IDEpIHtcbiIgKworICAgICAgICAgICAgICAgICAgICAg
ICAgICAiICBzIHsgY29sb3I6IHJnYigwLCAwLCAwKTsgfVxuIiArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ9XG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIn0iKTsKKworICAg
IGRlYnVnKCJcbkluc2VydGluZyBhbmQgZGVsZXRpbmcgcnVsZXMuIik7CisgICAgZXZhbEFuZExv
ZygicnVsZXNbMF0uaW5zZXJ0UnVsZSgnQG1lZGlhIGFsbCB7ICNzIHsgd2lkdGg6IDBweDsgfSB9
JywgMikiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NSdWxlcy5sZW5ndGgi
LCAzKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMF0uY3NzUnVsZXNbMl0udHlwZSIsICJDU1NSdWxl
Lk1FRElBX1JVTEUiKTsKKyAgICBldmFsQW5kTG9nKCJydWxlc1swXS5kZWxldGVSdWxlKDIpIik7
CisgICAgc2hvdWxkRXZhbHVhdGVUbygicnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIiwgMik7CisK
KyAgICBldmFsQW5kTG9nKCJydWxlc1swXS5jc3NSdWxlc1sxXS5pbnNlcnRSdWxlKCdAc3VwcG9y
dHMgKGRpc3BsYXk6IHJhaW5ib3cpIHt9JywgMSkiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJy
dWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlcy5sZW5ndGgiLCAyKTsKKyAgICBzaG91bGRCZSgi
cnVsZXNbMF0uY3NzUnVsZXNbMV0uY3NzUnVsZXNbMV0udHlwZSIsICJDU1NSdWxlLlNVUFBPUlRT
X1JVTEUiKTsKKyAgICBldmFsQW5kTG9nKCJydWxlc1swXS5jc3NSdWxlc1sxXS5kZWxldGVSdWxl
KDEpIik7CisgICAgc2hvdWxkRXZhbHVhdGVUbygicnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIiwg
Mik7CisKKyAgICBkZWJ1ZygiXG5AY2hhcnNldCwgQG5hbWVzcGFjZSwgQGltcG9ydCBydWxlcyBh
cmUgbm90IGFsbG93ZWQgaW5zaWRlIEBzdXBwb3J0cy4iKQorICAgIHNob3VsZFRocm93KCJydWxl
c1swXS5pbnNlcnRSdWxlKCdAY2hhcnNldCBcIlVURi04XCInLCAyKSIpOworICAgIHNob3VsZFRo
cm93KCJydWxlc1swXS5pbnNlcnRSdWxlKCdAbmFtZXNwYWNlIFwiXCInLCAyKSIpOworICAgIHNo
b3VsZFRocm93KCJydWxlc1swXS5pbnNlcnRSdWxlKCdAaW1wb3J0IHVybChcIi4uL2Zhc3QvY3Nz
b20vcmVzb3VyY2VzL2ltcG9ydC5jc3NcIiknLCAyKSIpOworCisKKyAgICBkZWJ1ZygiXG5XaGl0
ZXNwYWNlIGFuZCBmb3JtYXR0aW5nIHNob3VsZCBiZSBwcmVzZXJ2ZWQgd2l0aGluIHRoZSBjb25k
aXRpb24sIHdoaXRlc3BhY2Ugb3V0c2lkZSB0aGUgY29uZGl0aW9uIHNob3VsZCBiZSB0cmltbWVk
LiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicnVsZXNbMV0uY29uZGl0aW9uVGV4dCIs
ICIoKCAgKCAgICAgcGFkZGluZzogMCkgICAgYW5kIChkaXNwbGF5OiBub25lKSkgb3IgKGRpc3Bs
YXk6IHJhaW5ib3cpKSIpOworCisKKyAgICBkZWJ1ZygiXG5Ac3VwcG9ydHMgcnVsZSBuZXN0ZWQg
aW5zaWRlIGEgbWVkaWEgcnVsZS4iKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMl0udHlwZSIsICJD
U1NSdWxlLk1FRElBX1JVTEUiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1syXS5jc3NS
dWxlcy5sZW5ndGgiLCAxKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMl0uY3NzUnVsZXNbMF0udHlw
ZSIsICJDU1NSdWxlLlNVUFBPUlRTX1JVTEUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InJ1bGVzWzJdLmNzc1J1bGVzWzBdLmNvbmRpdGlvblRleHQiLCAiKCBwYWRkaW5nOiAwKSIpOwor
ICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0
aCIsIDEpOworICAgIHNob3VsZEJlKCJydWxlc1syXS5jc3NSdWxlc1swXS5jc3NSdWxlc1swXS50
eXBlIiwgIkNTU1J1bGUuUEFHRV9SVUxFIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJy
dWxlc1syXS5jc3NUZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIkBtZWRpYSBhbGwg
eyBcbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAiICBAc3VwcG9ydHMgKCBwYWRkaW5n
OiAwKSB7XG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgQHBhZ2UgOmxlZnQgeyB0
b3A6IDBweDsgfVxuIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIn0iKTsKKworCisgICAgZGVidWcoIlxuTm8gZXh0cmEgcGFy
ZW5zIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29uZGl0aW9uVGV4dC4iKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInJ1bGVzWzNdLmNvbmRpdGlvblRleHQiLCAiKGJvcmRlcjogYmxhY2sp
IGFuZCAocGFkZGluZzogMCkgYW5kICh3aWR0aDogMCkiKTsKKworCisgICAgZGVidWcoIlxuRGVs
ZXRpbmcgYSB0b3AtbGV2ZWwgcnVsZSBzaG91bGQgd29yayBjb3JyZWN0bHkuIik7CisgICAgZXZh
bEFuZExvZygiZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0uZGVsZXRlUnVsZSgzKSIpOworICAgIHNo
b3VsZEV2YWx1YXRlVG8oInJ1bGVzLmxlbmd0aCIsIDMpOworICAgIHNob3VsZEJlKCJydWxlc1sw
XS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8o
InJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCIsIDIpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5j
c3NSdWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAgIHNob3VsZEJlKCJy
dWxlc1swXS5jc3NSdWxlc1sxXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAg
IHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCIs
IDEpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlc1swXS50eXBl
IiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtZXhwZWN0ZWQudHh0CmluZGV4IGQ3N2U3MmY3
NzA1ZWZmMTU1ZTMzNTc2OTg3NDQ4YzBhMWIxNWJmZDIuLjQxYTc2YmFjM2YzYmZiMmZjYTRmYjQw
ZGM4ZDA0NTM5YjlhZjIxYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtZXhwZWN0ZWQudHh0
CkBAIC0zOCw2ICszOCw4IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndDMxJykpLmNvbnRlbnQgaXMgIkFQUExJRUQiCiBQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzMicpKS5jb250ZW50IGlzICJBUFBMSUVEIgog
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0MzMnKSkuY29u
dGVudCBpcyAiQVBQTElFRCIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndDM0JykpLmNvbnRlbnQgaXMgIlVOVE9VQ0hFRCIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndDM1JykpLmNvbnRlbnQgaXMgIkFQUExJRUQi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzNicpKS5j
b250ZW50IGlzICJVTlRPVUNIRUQiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAK
IFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMuaHRtbAppbmRleCAxZTY4YzljNjg1NDg1ZDdh
ODFjYmY0YzBhNmZiNmNiZjlmMWFhY2ExLi40NDM0N2RhZTU5OGZjYThlYzBiYjUxM2FjODY0Yjdm
OTU0M2VmMjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9zdXBwb3J0cy5odG1sCkBAIC04NCwyNCArODQsNiBAQAogICAg
ICAgICAjdDE3IHsgY29udGVudDogIkFQUExJRUQiIH0KICAgICB9CiAKLSAgICAvKiBOZXN0aW5n
LiAqLwotICAgIEBzdXBwb3J0cyAoZGlzcGxheTogbm9uZSkgewotICAgICAgICBAc3VwcG9ydHMg
KGRpc3BsYXk6IGRlYWRiZWVmKSB7Ci0gICAgICAgICAgICAjdDE4IHsgY29udGVudDogIkZBSUwi
IH0KLSAgICAgICAgfQotICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgewotICAg
ICAgICAgICAgI3QxOSB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9Ci0gICAgICAgIH0KLSAgICAgICAg
QHN1cHBvcnRzIChkaXNwbGF5OiBpbmxpbmUpIHsKLSAgICAgICAgfQotICAgICAgICBAbWVkaWEg
YWxsIHsKLSAgICAgICAgICAgICN0MjAgeyBjb250ZW50OiAiQVBQTElFRCIgfQotICAgICAgICAg
ICAgQHN1cHBvcnRzIChkaXNwbGF5OiBpbmxpbmUpIHsKLSAgICAgICAgICAgICAgICAjdDIxIHsg
Y29udGVudDogIkFQUExJRUQiIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQog
ICAgIC8qIFdoaXRlc3BhY2UvU3ludGF4ICovCiAgICAgQHN1cHBvcnRzIG5vdCggZGlzcGxheTog
ZGVhZGJlZWYpIHsKICAgICAgICAgI3QyMiB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9CkBAIC0xNTcs
NiArMTM5LDM5IEBACiAgICAgICAgICN0MzQgeyBjb250ZW50OiAiRkFJTCIgfQogICAgIH0KIAor
ICAgIC8qIE5lc3RpbmcuICovCisgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBub25lKSB7CisgICAg
ICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZGVhZGJlZWYpIHsKKyAgICAgICAgICAgICN0MTggeyBj
b250ZW50OiAiRkFJTCIgfQorICAgICAgICB9CisgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTog
aW5saW5lKSB7CisgICAgICAgICAgICAjdDE5IHsgY29udGVudDogIkFQUExJRUQiIH0KKyAgICAg
ICAgfQorICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICB9Cisg
ICAgICAgIEBtZWRpYSBhbGwgeworICAgICAgICAgICAgI3QyMCB7IGNvbnRlbnQ6ICJBUFBMSUVE
IiB9CisgICAgICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICAg
ICAgICAgICN0MjEgeyBjb250ZW50OiAiQVBQTElFRCIgfQorICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfQorCisgICAgQG1lZGlhIGFsbCB7CisgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxh
eTogaW5saW5lKSB7CisgICAgICAgICAgICBAbWVkaWEgYWxsIHsKKyAgICAgICAgICAgICAgICBA
c3VwcG9ydHMgKGRpc3BsYXk6IG5vbmUpIHsKKyAgICAgICAgICAgICAgICAgICAgI3QzNSB7IGNv
bnRlbnQ6ICJBUFBMSUVEIiB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorCisgICAgQG1lZGlhIG5vdCBhbGwgeworICAgICAgICBAc3VwcG9ydHMg
KGRpc3BsYXk6IG5vbmUpIHsKKyAgICAgICAgICAgICN0MzYgeyBjb250ZW50OiAiRkFJTCIgfQor
ICAgICAgICB9CisgICAgfQogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTY0LDggKzE3
OSw4IEBACiAKIDxzY3JpcHQ+CiAgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhlIEBzdXBwb3J0cyBy
dWxlLiIpOwotICAgIHZhciBudW1UZXN0cyA9IDM1OwotICAgIHZhciB1bnRvdWNoZWRUZXN0cyA9
IFsxLCAzLCA1LCA4LCAxMiwgMTMsIDE0LCAxOCwgMjgsIDI5LCAzNF07IC8vIFRlc3RzIHdob3Nl
IGNvbnRlbnQgc2hvdWxkbid0IGNoYW5nZSBmcm9tIHRoZSBVTlRPVUNIRUQgZGVmYXVsdC4KKyAg
ICB2YXIgbnVtVGVzdHMgPSAzNzsKKyAgICB2YXIgdW50b3VjaGVkVGVzdHMgPSBbMSwgMywgNSwg
OCwgMTIsIDEzLCAxNCwgMTgsIDI4LCAyOSwgMzQsIDM2XTsgLy8gVGVzdHMgd2hvc2UgY29udGVu
dCBzaG91bGRuJ3QgY2hhbmdlIGZyb20gdGhlIFVOVE9VQ0hFRCBkZWZhdWx0LgogCiAgICAgdmFy
IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0X2NvbnRhaW5lciIpOwog
ICAgIGZvciAodmFyIGk9MDsgaSA8IG51bVRlc3RzOyBpKyspIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDcyMWFjNzBjZGFjNzU1ODNl
Y2FhNTlkNzA0MWNhZGEyODI1MzU3N2EuLjdlZWE1OTUyYTJlMTMxYzNiZGIxNDc4MGM5YTlmNWM1
ZmNjZGY3NmYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMzk3NCw2ICszOTc0LDcgQEAgd2Via2l0Lm9yZy9iLzk1MTIxIFsgQW5kcm9p
ZCBdIGZhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2Utc2lkZS1yZWR1Y3Rpb24uaHRtbCBbIEkKIAog
IyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5v
cmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDQ4MjIgY3NzMy9z
dXBwb3J0cy1jc3NvbS5odG1sCiAKICMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5vdCBlbmFi
bGVkLgogd2Via2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDEwZDgxMjgzMWQxMjZk
ZTc1NDNmOTE1YzQ0OTU5NGFiZTgwMjdjNDMuLjA4M2MzYjNhYmYzNTJlNDlhNjUwMmQwMDYxYzI2
ODUxZmZmMmE1NGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xNTU4LDYgKzE1NTgsNyBAQCB3ZWJraXQub3JnL2IvOTk4NzggY3NzMy9mbGV4Ym94L2Zs
ZXhib3gtYmFzZWxpbmUtbWFyZ2lucy5odG1sIFsgTWlzc2luZyBJbWFnZU9ubAogCiAjIGNzczMt
Y29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg2
MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAord2Via2l0Lm9yZy9iLzEwNDgyMiBjc3MzL3N1cHBvcnRz
LWNzc29tLmh0bWwKIAogIyBPY2Nhc2lvbmFsbHkgZmFpbHMgaWYgcnVuIGFmdGVyIHJpZ2h0IGFm
dGVyCiAjIGZhc3Qvc2VsZWN0b3JzL3VucXVhbGlmaWVkLWhvdmVyLXF1aXJrcy5odG1sIG9yIGl0
c2VsZi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggN2E5
NzVlYTBjOWQyODNiMWYwNTA2MzI2ZWZkZjAwZWQ5ZTZkNTE1My4uNDdmNWQ2OWYyZmMyNGQ0NjJj
ZWMwMzVhZmRlMzAwZDIzNTU1ZDc2NiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQ0MSw2ICs0NDEsNyBAQCB3ZWJraXQub3JnL2IvOTkwNTkgZmFzdC9k
b20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5odG1sIFsgRmFpbHVyZSBdCiAKICMgY3Nz
My1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2Iv
ODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3VwcG9y
dHMtY3Nzb20uaHRtbAogCiAjIFJlcXVpcmVzIFJlc29sdXRpb24gTWVkaWEgUXVlcnkgc3VwcG9y
dAogd2Via2l0Lm9yZy9iLzEwMDEzNyBmYXN0L21lZGlhL21xLXJlc29sdXRpb24uaHRtbCBbIEZh
aWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3
MmRiOTJjZjlhYjg0OGU1OGUxZGRhNmE1ZjM4NDlkODFkZDdmMzU3Li5iYzI2OTA2ZDI1MDYyNjRm
ZWY2YzlmMmNlOTBlM2IwYjkwZjQwMTQ1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTE3OSw2ICsxMTc5LDcgQEAgd2Via2l0Lm9yZy9iLzkyNDY0IFsg
RGVidWcgXSBmYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC5odG1sIFsgQ3Jhc2gg
UGEKIAogIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdl
YmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDQ4MjIg
Y3NzMy9zdXBwb3J0cy1jc3NvbS5odG1sCiAKICMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5v
dCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA3ZmVlNTVmMTQ1
YmVhZGQ3MTIyNTIwYmI4ZThlZjMyZWYwMWRjZDE1Li5lMzRkZDM0OTliOTI2MTRkZmMwYmU1OWU2
ODgyZTU2ZGRmNmJkYmUzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTI0MTIsNiArMjQxMiw3IEBAIHdlYmtpdC5vcmcvYi8yMzE2NiBpZXRlc3RjZW50ZXIv
Y3NzMy9ib3JkZXJzYmFja2dyb3VuZHMvYm9yZGVyLXJhZGl1cy1jbGlwLTAwMi5oCiAKICMgY3Nz
My1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2Iv
ODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3VwcG9y
dHMtY3Nzb20uaHRtbAogCiAjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4K
IHdlYmtpdC5vcmcvYi85NTk2OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBlOTFjZjM3NjU0MGM2OTNmZjE5
NGM2ZTMwZDNlOTFmNWE2M2I2YmYxLi5lYzE2ZTI4MGYxN2I4ZjQ2ZTFhZDhkNTUyYmNhNDYyYTc0
YzBhOGEwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MjM5NSw4ICsyMzk1LDkgQEAgY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFzZWxpbmUuaHRtbAogI2h0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTg3OAogY3NzMy9mbGV4Ym94
L2ZsZXhib3gtYmFzZWxpbmUtbWFyZ2lucy5odG1sCiAKLSMgY3NzMy1jb25kaXRpb25hbHMgc3Vw
cG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvODYxNDYKKyMgY3Nz
My1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQu
b3JnL2IvODYxNDYgaHR0cDovL3dlYmtpdC5vcmcvYi8xMDQ4MjIKIGNzczMvc3VwcG9ydHMuaHRt
bAorY3NzMy9zdXBwb3J0cy1jc3NvbS5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk4MTY5CiBodHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
YWZhNjgxZTg4NmE3NTA3ZjU1ZTBjZmMzMzE4NTc0NmJjOWNkYWE3OS4uZWMzYjA5NGRmNGRiYWYx
NzA2YzIwZDdkM2RlMjM3MDUxYWFhMTVlZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC0yODkxLDggKzI4OTEsOSBAQCBjc3MzL2ZsZXhi
b3gvZmxleGJveC1iYXNlbGluZS5odG1sCiAjaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk5ODc4CiBjc3MzL2ZsZXhib3gvZmxleGJveC1iYXNlbGluZS1tYXJnaW5zLmh0
bWwKIAotIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0
cDovL3dlYmtpdC5vcmcvYi84NjE0NgorIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5v
dCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi84NjE0NiBodHRwOi8vd2Via2l0Lm9y
Zy9iLzEwNDgyMgogY3NzMy9zdXBwb3J0cy5odG1sCitjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwK
IAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxNjkKIGh0dHAv
dGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDA4ZTg4ZDQ1NGVjZWQ0YmRmNDE3NzY2YjQ1ZjkyMWY0MDJkZTYx
YjAuLjViNmY4NGZjZTc4ZGM5NWQ4ZjEyYzk5OGFhZDBmYzNiYzZiMjZlMDkgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNDUsNiArMzQ1LDcgQEAgaHR0
cC90ZXN0cy9zZWN1cml0eS9yZWZlcnJlci1wb2xpY3ktcmVkaXJlY3QtbGluay5odG1sCiAKICMg
Y3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3Jn
L2IvODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3Vw
cG9ydHMtY3Nzb20uaHRtbAogCiAjIFRleHQgQXV0b3NpemluZyBpcyBub3QgeWV0IGVuYWJsZWQu
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE4Ngo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182622</attachid>
            <date>2013-01-14 13:41:51 -0800</date>
            <delta_ts>2013-01-14 14:17:17 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104822-20130114133851.patch</filename>
            <type>text/plain</type>
            <size>69888</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmOWJiYzQ1MDIxMmMy
YjQ5ZWQ4NzhmOTI4NmFmODQ2NTRhN2QxZC4uM2FlN2M3YmViOTgxYmQyMzk2ODJmMjczM2Y2NmYx
MDc1ZDkzODRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk0IEBACisyMDEzLTAxLTE0ICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NT
U3VwcG9ydHNSdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDQ4MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLWNvbmRpdGlvbmFsLyN0aGUtY3Nzc3Vw
cG9ydHNydWxlLWludGVyZmFjZQorCisgICAgICAgIFJpZ2h0IG5vdywgQHN1cHBvcnRzIGlzIG5v
dCBpbXBsZW1lbnRlZCBhcyBhIHByb3BlciBDU1NSdWxlLiBBcGFydCBmcm9tCisgICAgICAgIHRo
ZSBDU1NPTSBpbXBsaWNhdGlvbnMgaXQgZ2l2ZXMgd3JvbmcgcmVzdWx0cyB3aGVuLCBmb3IgaW5z
dGFuY2UsIGFuCisgICAgICAgIEBzdXBwb3J0cyBydWxlIGlzIG5lc3RlZCBpbnNpZGUgYSBAbWVk
aWEgcnVsZS4KKworICAgICAgICBUZXN0OiBjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBy
aToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAgIEFkZCBDU1NTdXBwb3J0c1J1
bGUuKiBhbmQgYXNzb2NpYXRlZCBmaWxlcy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NT
UnVsZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5k
aW5ncy9vYmpjL0RPTUNTUy5tbToKKyAgICAgICAgKGtpdENsYXNzKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ondy
YXApOgorICAgICAgICAgICAgQ3JlYXRlIHRoZSBjb3JyZWN0IHdyYXBwZXJzIGZvciB0aGUgcnVs
ZS4KKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAgICAgICogY3NzL0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVN1cHBvcnRzUnVs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtTdXBwb3J0c1J1bGVIZWFkZXJT
dGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtTdXBwb3J0c1J1bGVIZWFk
ZXJFbmQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgICAgIENyZWF0ZSB0
aGUgc3VwcG9ydHMgcnVsZSB3aGVuIHBhcnNpbmcgYW5kIGFkZCBpdCB3aGVyZSBpdCBjb3JyZXNw
b25kcywKKyAgICAgICAgICAgIGluc3RlYWQgb2YgZGlyZWN0bHkgYWRkaW5nIHRoZSBjaGlsZCBy
dWxlcyB0byB0aGUgc3R5bGVzaGVldC4KKworICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eVNvdXJj
ZURhdGEuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NSdWxl
LmlkbDoKKyAgICAgICAgICAgIEFkZCBTVVBQT1JUU19SVUxFIHR5cGUgdG8gZW51bXMuCisKKyAg
ICAgICAgKiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdXBwb3J0c1J1bGU6OkNTU1N1cHBvcnRzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTdXBwb3J0c1J1bGU6On5DU1NTdXBwb3J0c1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3VwcG9ydHNSdWxlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVs
ZTo6Y29uZGl0aW9uVGV4dCk6CisgICAgICAgICogY3NzL0NTU1N1cHBvcnRzUnVsZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICAgICBET00gaW50ZXJm
YWNlLgorCisgICAgICAgICogY3NzL1J1bGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVs
ZVNldDo6YWRkQ2hpbGRSdWxlcyk6CisgICAgICAgICAgICBBZGQgcnVsZXMgaW5jbHVkZWQgaW4g
dGhlIEBzdXBwb3J0cyBydWxlLgorCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y29sbGVjdENTU09NV3JhcHBlcnMpOgorICAgICAgICAgICAgQ29s
bGVjdCBDU1NTdXBwb3J0c1J1bGUgd3JhcHBlcnMuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRlc3Ryb3kpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
U3VwcG9ydHM6OlN0eWxlUnVsZVN1cHBvcnRzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmg6
CisgICAgICAgIChTdHlsZVJ1bGVCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJh
c2U6OmlzU3VwcG9ydHNSdWxlKToKKyAgICAgICAgKFN0eWxlUnVsZVN1cHBvcnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUnVsZVN1cHBvcnRzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSdWxlU3VwcG9ydHM6OmNvbmRpdGlvblRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlU3VwcG9ydHM6OmNvbmRpdGlvbklzU3VwcG9ydGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZVN1cHBvcnRzOjpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OnRvU3R5bGVS
dWxlU3VwcG9ydHMpOgorICAgICAgICAgICAgTmV3IHN1YmNsYXNzIG9mIFN0eWxlUnVsZUJsb2Nr
OiBTdHlsZVJ1bGVTdXBwb3J0cy4KKworICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3Vi
cmVzb3VyY2VzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6
CisgICAgICAgIChmbGF0dGVuU291cmNlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjphc0NTU1J1
bGVMaXN0KToKKyAgICAgICAgICAgIEhhbmRsZSBAc3VwcG9ydHMgcnVsZXMgd2hlcmUgbmVlZGVk
LgorCiAyMDEzLTAxLTE0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbVjhdIE1ha2UgYW4gSXNvbGF0ZSBwYXJhbWV0ZXIgbWFuZGF0b3J5IGluIGFzc29j
aWF0ZU9iamVjdFdpdGhXcmFwcGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjg0YjliZTY3
MzQ1ODM3ODVlOTdiOWEwZGQ2ZmViZjU5ZmVkNTM4Yi4uYzJkOTIxZDFhMDQ1YzRlMjljOTE0NDQy
ZWI3MzBiYTRkNzE1NDdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMyMSw2ICszMjEsNyBA
QCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwK
ICAgICBjc3MvQ1NTU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NTdHlsZVNoZWV0LmlkbAorICAg
IGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCiAgICAgY3NzL0NTU1ZhbHVlLmlkbAogICAgIGNzcy9D
U1NWYWx1ZUxpc3QuaWRsCiAgICAgY3NzL01lZGlhTGlzdC5pZGwKQEAgLTEwNTUsNiArMTA1Niw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcAogICAg
IGNzcy9DU1NTdHlsZVJ1bGUuY3BwCiAgICAgY3NzL0NTU1N0eWxlU2hlZXQuY3BwCisgICAgY3Nz
L0NTU1N1cHBvcnRzUnVsZS5jcHAKICAgICBjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTVG9TdHlsZU1hcC5jcHAKICAgICBjc3MvQ1NTVW5pY29kZVJhbmdlVmFsdWUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYTNkN2YyOTFkZWIxNzE3NDJjZTJl
MGU0Zjc4ZGY5YWZlOGNiYmI1NC4uMGZjMTQ0NDc5ODJlZDYyZGExNjczNDU0YjI2ZjllYzY1MjFj
NmM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNjQsNiArNjQsNyBAQAogI2lu
Y2x1ZGUgIkpTQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZVJ1
bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTU3R5bGVTaGVldC5jcHAiCisjaW5jbHVkZSAiSlNDU1NT
dXBwb3J0c1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWUuY3BwIgogI2luY2x1ZGUgIkpT
Q1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGYzYTJhMWJjNWQwMWI2NTNiZDU0ODY0ODU3YmUxMzI0
N2NkMGI3YmYuLjFiMjA1ZGI1MzY1ZmM1OTZiYmFlYTJlZjY3YTI0OTFmNWViMjljZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc4LDYgKzE3OCw3IEBAIEJJTkRJTkdfSURM
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9jc3MvQ1NTU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NT
U3R5bGVTaGVldC5pZGwgXAorICAgICQoV2ViQ29yZSkvY3NzL0NTU1N1cHBvcnRzUnVsZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvY3NzL0NTU1Vua25vd25SdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NWYWx1ZUxpc3QuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA2ZGZiZDRlMzFiMzU2MDczYWRmOTI5
ZmU3OGFhZmFmNDJhNmY4NmZlLi5hOGI2YzJhZDEyZDU2ZDIwMTAzNGQxMTc5ODBmZjFjMDQ2M2Ux
YmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xOTgsNiArMTk4LDcgQEAgSURM
X0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwgXAog
ICAgICQkUFdEL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTU3R5bGVT
aGVldC5pZGwgXAorICAgICQkUFdEL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsIFwKICAgICAkJFBX
RC9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTVmFsdWVMaXN0LmlkbCBcCiAg
ICAgJCRQV0QvY3NzL01lZGlhTGlzdC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggNDA0NmE5OTkzOTk2YWI1MmFhZjk0ZTE5ZmVjYTdmZDBmMmU2YTMyZS4uYTU4NTdiMTA3
Yjg0ODFjY2UwMzBjOWNhOGY4OGNmM2FmY2YyYmMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0xMzMsNiArMTMzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVSdWxlLmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NTdHlsZVNoZWV0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1N0eWxlU2hlZXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N1cHBvcnRz
UnVsZS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdXBwb3J0c1J1bGUuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NW
YWx1ZUxpc3QuY3BwIFwKQEAgLTEzMjcsNiArMTMyOSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0g
XAogCSQoV2ViQ29yZSkvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsIFwKIAkkKFdlYkNvcmUp
L2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZVNoZWV0Lmlk
bCBcCisJJChXZWJDb3JlKS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9j
c3MvQ1NTVmFsdWUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NWYWx1ZUxpc3QuaWRsIFwKIAkk
KFdlYkNvcmUpL2Nzcy9Db3VudGVyLmlkbCBcCkBAIC0yNTkxLDYgKzI1OTQsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTaGVldC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0
eWxlTWFwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBlZGRmYTcyMjE3YzBhZmJlOTk1ZWU5NDYyOGJi
MzIwZDI5NTZjM2UwLi40ZTI4ZGU5ZDI5YmNjMTJhN2RhYmRjMGE1MTlhZDkyYjc1MmYwMDRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTI4Nyw2ICsyODcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NT
U2VnbWVudGVkRm9udEZhY2UuY3BwIFwKICAgICBjc3MvQ1NTU3R5bGVSdWxlLmNwcCBcCiAgICAg
Y3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKKyAgICBjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCBcCiAg
ICAgY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTVG9TdHlsZU1h
cC5jcHAgXAogICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAgXApAQCAtMTQ5OCw2ICsx
NDk5LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaCBcCiAg
ICAgY3NzL0NTU1N0eWxlUnVsZS5oIFwKICAgICBjc3MvQ1NTU3R5bGVTaGVldC5oIFwKKyAgICBj
c3MvQ1NTU3VwcG9ydHNSdWxlLmggXAogICAgIGNzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgg
XAogICAgIGNzcy9DU1NUb1N0eWxlTWFwLmggXAogICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1
ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzk3YTdmMWFhODA2YzhlYThhZmQ1MTc3OTQw
MGE5NzFjZDljMzRiMS4uNDk3ODM3ZTM4NTQ1MDJmN2FlYzE1MmUyMmM2MjU3OTk1ODk3NGE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE1NzUsNiArMTU3NSw3IEBAIF93a1NpZ25hbENGUmVh
ZFN0cmVhbUhhc0J5dGVzCiAub2JqY19jbGFzc19uYW1lX0RPTUNTU1J1bGVMaXN0CiAub2JqY19j
bGFzc19uYW1lX0RPTUNTU1N0eWxlUnVsZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NTdHlsZVNo
ZWV0Cisub2JqY19jbGFzc19uYW1lX0RPTUNTU1N1cHBvcnRzUnVsZQogLm9iamNfY2xhc3NfbmFt
ZV9ET01DU1NVbmtub3duUnVsZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NWYWx1ZQogLm9iamNf
Y2xhc3NfbmFtZV9ET01DU1NWYWx1ZUxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhNGNhZDVmMGM3
MDhhMGJiNmIzOTdkNWYxMjU4Yzg0OTMyYTE2YTkzLi5hZWQyNzBiYjI3NmVhMTdmY2I0MDIwNWU0
ZjVmY2M0YmUxOTlhZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNjksNiArMTY5LDcgQEAKICAg
ICAgICAgICAgICdjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NTdHlsZVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTU3R5bGVTaGVldC5pZGwn
LAorICAgICAgICAgICAgJ2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsJywKICAgICAgICAgICAgICdj
c3MvQ1NTVW5rbm93blJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWUuaWRsJywK
ICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWVMaXN0LmlkbCcsCkBAIC0xNTA3LDYgKzE1MDgsOCBA
QAogICAgICAgICAgICAgJ2Nzcy9DU1NTdHlsZVJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NT
U1N0eWxlU2hlZXQuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTU3R5bGVTaGVldC5oJywKKyAg
ICAgICAgICAgICdjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U1N1cHBvcnRzUnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1
ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NUb1N0eWxlTWFwLmNwcCcsCkBAIC01NTc3LDYgKzU1ODAsOCBAQAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NT
U3R5bGVSdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdHlsZVNoZWV0Lm1tJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1N0eWxlU2hlZXRJbnRlcm5h
bC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0RPTUNTU1N1cHBvcnRzUnVsZS5tbScsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1Vua25v
d25SdWxlLm1tJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0RPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NWYWx1ZS5tbScsCkBAIC02MTM3
LDYgKzYxNDIsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVTaGVldC5o
JywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTU3VwcG9ydHNSdWxlLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N1cHBvcnRzUnVsZS5oJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuY3BwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
VW5rbm93blJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDk5Y2ExY2YzMjk2NjFhMTI0MTA1NmVlMjYxOGE2OTY1
ZDlkYTVkNTAuLjU2OWVjMjYxNGY5MTVjY2I3NzZjZDIxNjhjYWVmOGFjZmIwZWNjZDggMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yMzYyLDYg
KzIzNjIsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0NTU1N1cHBvcnRzUnVsZS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NTdXBwb3J0c1J1bGUuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU1ZhbHVlLmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0zNzM3NCw2ICszNzQzMCw2MiBA
QAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3Nc
Q1NTU3VwcG9ydHNSdWxlLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1N1cHBvcnRzUnVsZS5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTVGltaW5nRnVu
Y3Rpb25WYWx1ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdmMTE0
MTQ4MjMxY2UxYTZiNTViM2YxODkzNDkxY2Q2MTI4OWNjMzMuLjA3Yzc0ZWQ5Mjg0ZDRhOGU3NWM3
YmE2YjU2MDlhMDg5MGY5OWIxOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0NDcsNiArNjQ0NywxNCBAQAogCQlGQkQ2QUY4
QzE1RUYyNjA0MDA4QjcxMTAgLyogQmFzaWNTaGFwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCRDZBRjgzMTVFRjIxQTMwMDhCNzExMCAvKiBCYXNp
Y1NoYXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUZCRDZBRjhEMTVFRjI2MEEwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2QUY4MjE1RUYyMUEzMDA4
QjcxMTAgLyogQmFzaWNTaGFwZXMuY3BwICovOyB9OwogCQlGQkY4OTA0NTE2OUU5RjFGMDA1MkQ4
NkUgLyogQ1NTR3JvdXBpbmdSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZCRjg5MDQ0MTY5RTlGMUYwMDUyRDg2RSAvKiBDU1NHcm91cGluZ1J1
bGUuY3BwICovOyB9OworCQlGQzYzQkRCMzE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNS
dWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZD
NjNCREIwMTY3QUFCQUMwMEY5MzgwRiAvKiBDU1NTdXBwb3J0c1J1bGUuY3BwICovOyB9OworCQlG
QzYzQkRCNDE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQzYzQkRCMTE2N0FBQkFDMDBGOTM4
MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggKi87IH07CisJCUZDN0U2NkU5MTY4MEVGMUYwMDI4Mzcx
NiAvKiBKU0NTU1N1cHBvcnRzUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQzg0ODAyRDE2N0FCNDQ0MDA4Q0QxMDAgLyogSlNDU1NTdXBwb3J0
c1J1bGUuY3BwICovOyB9OworCQlGQzdFNjZFQTE2ODBFRjIyMDAyODM3MTYgLyogSlNDU1NTdXBw
b3J0c1J1bGUuaCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZDODQ4MDJFMTY3QUI0NDQwMDhDRDEwMCAvKiBKU0NTU1N1cHBvcnRzUnVsZS5oICovOyB9Owor
CQlGQ0Q4ODMyQTE2QTQ5RjgyMDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0Q4ODMyODE2QTQ5Rjgy
MDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggKi87IH07CisJCUZDRDg4MzJCMTZBNDlG
ODIwMDk2MjIyNyAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0Q4ODMyOTE2QTQ5RjgyMDA5NjIyMjcgLyogRE9N
Q1NTU3VwcG9ydHNSdWxlLm1tICovOyB9OworCQlGQ0Q4ODMyQzE2QTQ5RkIwMDA5NjIyMjcgLyog
RE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0Q4ODMyODE2QTQ5RjgyMDA5NjIyMjcgLyogRE9N
Q1NTU3VwcG9ydHNSdWxlLmggKi87IH07CisJCUZDRUJCQUFCMTZBNDk2N0EwMEZBMjBBNiAvKiBE
T01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkNFQkJBQUExNkE0OTY3QTAwRkEyMEE2IC8qIERPTUNTU1N1cHBv
cnRzUnVsZUludGVybmFsLmggKi87IH07CiAJCUZEMDBEN0E0MTRBM0Y2MTkwMDczNDAxMSAvKiBT
aW5jUmVzYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZEMDBEN0EyMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmNwcCAqLzsg
fTsKIAkJRkQwMEQ3QTUxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMDBEN0EzMTRBM0Y2MTkw
MDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmggKi87IH07CiAJCUZEMDZERkE1MTM0QTRERUYwMDZG
NUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQwNkRGQTMxMzRBNERFRjAwNkY1RDdEIC8q
IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi87IH07CkBAIC02Nzc2LDYgKzY3ODQs
NyBAQAogCQkJCTFBQ0QxQjYzMEIwMjk3MzkwMDdFNTAxNiAvKiBET01DU1NTdHlsZURlY2xhcmF0
aW9uSW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTg1Rjc0RTA5
MEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NTdHlsZVJ1bGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBI
ZWFkZXJzICovLAogCQkJCTg1OEMzOUJEMEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NTdHlsZVNo
ZWV0LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKKwkJCQlGQ0Q4ODMyQzE2QTQ5RkIw
MDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVy
cyAqLywKIAkJCQk4NUY3NEUwQTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTVW5rbm93blJ1bGUu
aCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTg1OEMzOUI4MEFBOTA1RUYwMEIx
ODdBNCAvKiBET01DU1NWYWx1ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJ
ODU4QzM5QkEwQUE5MDVFRjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5oIGluIENvcHkgR2Vu
ZXJhdGVkIEhlYWRlcnMgKi8sCkBAIC0xNDAyOCw2ICsxNDAzNywxNCBAQAogCQlGQkQ2QUY4NjE1
RUYyMUQ0MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ1NTQmFzaWNTaGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGQkQ2QUY4NzE1RUYyMUQ0MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQmFzaWNTaGFwZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJGODkwNDQxNjlFOUYxRjAwNTJEODZFIC8qIENTU0dy
b3VwaW5nUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NH
cm91cGluZ1J1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQzYzQkRCMDE2
N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENTU1N1cHBvcnRzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUZDNjNCREIxMTY3QUFCQUMwMEY5MzgwRiAvKiBDU1NTdXBwb3J0c1J1bGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTU3VwcG9ydHNSdWxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDNjNCREIyMTY3QUFCQUMwMEY5MzgwRiAvKiBD
U1NTdXBwb3J0c1J1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1N1cHBvcnRzUnVs
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDODQ4MDJEMTY3QUI0NDQwMDhD
RDEwMCAvKiBKU0NTU1N1cHBvcnRzUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0NTU1N1cHBvcnRzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUZDODQ4MDJFMTY3QUI0NDQwMDhDRDEwMCAvKiBKU0NTU1N1cHBvcnRzUnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NTU1N1cHBvcnRzUnVsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQ0Q4ODMyODE2QTQ5RjgyMDA5NjIyMjcgLyogRE9N
Q1NTU3VwcG9ydHNSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUNT
U1N1cHBvcnRzUnVsZS5oOyBwYXRoID0gRE9NQ1NTU3VwcG9ydHNSdWxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZDRDg4MzI5MTZBNDlGODIwMDk2MjIyNyAvKiBET01DU1NTdXBw
b3J0c1J1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBET01D
U1NTdXBwb3J0c1J1bGUubW07IHBhdGggPSBET01DU1NTdXBwb3J0c1J1bGUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDRUJCQUFBMTZBNDk2N0EwMEZBMjBBNiAvKiBET01DU1NT
dXBwb3J0c1J1bGVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
T01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oOyBwYXRoID0gRE9NQ1NTU3VwcG9ydHNSdWxlSW50
ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkNFQkNENzExNjIzQTc5MTAw
Mjk5NjVFIC8qIENTU0dyYW1tYXIueS5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUueWFjYzsgcGF0
aCA9IENTU0dyYW1tYXIueS5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkNFQkNE
NzIxNjIzQTc5MTAwMjk5NjVFIC8qIENTU0dyYW1tYXIueS5pbmNsdWRlcyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUueWFjYzsgcGF0aCA9IENTU0dyYW1tYXIueS5pbmNsdWRlczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkQwMEQ3QTIxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBs
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2luY1Jlc2FtcGxl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjQyNyw2ICsxNjQ0NCw4IEBA
CiAJCQkJODUwMzJERDQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5tbSAqLywK
IAkJCQk4NThDMzkyNjBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5oICovLAog
CQkJCTg1OEMzOTI3MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0Lm1tICovLAor
CQkJCUZDRDg4MzI4MTZBNDlGODIwMDk2MjIyNyAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCAqLywK
KwkJCQlGQ0Q4ODMyOTE2QTQ5RjgyMDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLm1tICov
LAogCQkJCTg1MDMyREQ1MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5oICov
LAogCQkJCTg1MDMyREQ2MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5tbSAq
LywKIAkJCQk4NThDMzgxQTBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUuaCAqLywKQEAg
LTE3MTI2LDYgKzE3MTQ1LDcgQEAKIAkJCQk4NUU3MTE0NDBBQzVENTM0MDA1MzI3MEYgLyogRE9N
Q1NTU3R5bGVEZWNsYXJhdGlvbkludGVybmFsLmggKi8sCiAJCQkJODU5MDlDRDkwQUNDN0E3RTAw
REYwMUYxIC8qIERPTUNTU1N0eWxlUnVsZUludGVybmFsLmggKi8sCiAJCQkJODU5MDlDREEwQUND
N0E3RTAwREYwMUYxIC8qIERPTUNTU1N0eWxlU2hlZXRJbnRlcm5hbC5oICovLAorCQkJCUZDRUJC
QUFBMTZBNDk2N0EwMEZBMjBBNiAvKiBET01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oICovLAog
CQkJCTg1OTA5Q0RCMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NVbmtub3duUnVsZUludGVybmFs
LmggKi8sCiAJCQkJODVCNDk4RjIwQURCMzM2QTAwOTI1Q0JCIC8qIERPTUNTU1ZhbHVlSW50ZXJu
YWwuaCAqLywKIAkJCQk4NTkwOUQyODBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTVmFsdWVMaXN0
SW50ZXJuYWwuaCAqLywKQEAgLTE5MjQ3LDYgKzE5MjY3LDggQEAKIAkJCQlCQzQ2QzIwNTBDMERE
Q0ExMDAyMENGQzMgLyogSlNDU1NTdHlsZVJ1bGUuaCAqLywKIAkJCQlCQ0M1QkRGRTBDMEU5MzEx
MDAxMUMyREIgLyogSlNDU1NTdHlsZVNoZWV0LmNwcCAqLywKIAkJCQlCQ0M1QkRGRjBDMEU5MzEx
MDAxMUMyREIgLyogSlNDU1NTdHlsZVNoZWV0LmggKi8sCisJCQkJRkM4NDgwMkQxNjdBQjQ0NDAw
OENEMTAwIC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLywKKwkJCQlGQzg0ODAyRTE2N0FCNDQ0
MDA4Q0QxMDAgLyogSlNDU1NTdXBwb3J0c1J1bGUuaCAqLywKIAkJCQkxNENGNzhBMzA5RjU4Q0JG
MDBFQjM2NjUgLyogSlNDU1NWYWx1ZS5jcHAgKi8sCiAJCQkJMTRDRjc4QTUwOUY1OENEODAwRUIz
NjY1IC8qIEpTQ1NTVmFsdWUuaCAqLywKIAkJCQlBOEQwNUZBOTBBMjNCMzBGMDA1RTcyMDMgLyog
SlNDU1NWYWx1ZUxpc3QuY3BwICovLApAQCAtMjE2MDIsNiArMjE2MjQsOSBAQAogCQkJCUE4RUE4
MDAwMEExOTUxNkUwMEE4RUY1RiAvKiBDU1NTdHlsZVNoZWV0LmNwcCAqLywKIAkJCQlBOEVBN0ZG
RjBBMTk1MTZFMDBBOEVGNUYgLyogQ1NTU3R5bGVTaGVldC5oICovLAogCQkJCTg1OEMzOTEwMEFB
OEZGMDAwMEIxODdBNCAvKiBDU1NTdHlsZVNoZWV0LmlkbCAqLywKKwkJCQlGQzYzQkRCMDE2N0FB
QkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLywKKwkJCQlGQzYzQkRCMTE2N0FB
QkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggKi8sCisJCQkJRkM2M0JEQjIxNjdBQUJB
QzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5pZGwgKi8sCiAJCQkJQkM4MEM5ODUwQ0QyOTRF
RTAwQTBCN0IzIC8qIENTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwICovLAogCQkJCUJDODBDOTg2
MENEMjk0RUUwMEEwQjdCMyAvKiBDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggKi8sCiAJCQkJQTg4
MkRBMUYxNTkzODQ2QTAwMDExNUVEIC8qIENTU1RvU3R5bGVNYXAuY3BwICovLApAQCAtMjMyMjQs
NiArMjMyNDksOCBAQAogCQkJCTg1OTA5Q0UyMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHls
ZVJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU4QzM5MjgwQUE4RkY5RDAwQjE4
N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTA5Q0UzMEFD
QzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAorCQkJCUZDRDg4MzJBMTZBNDlGODIwMDk2MjIyNyAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCBp
biBIZWFkZXJzICovLAorCQkJCUZDRUJCQUFCMTZBNDk2N0EwMEZBMjBBNiAvKiBET01DU1NTdXBw
b3J0c1J1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzJERTkwQUE4QzlCRTAw
N0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkwOUNF
NDBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTVW5rbm93blJ1bGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODU4QzM4MUMwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLmggaW4g
SGVhZGVycyAqLywKQEAgLTI2Njk1LDYgKzI2NzIyLDggQEAKIAkJCQlFNEMxNzg5QTBFRTY5MDM4
MDA4MjRENjkgLyogQ1NTU2VsZWN0b3JMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2
Q0VGMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NTdHlsZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQThFQTgwMDgwQTE5NTE2RTAwQThFRjVGIC8qIENTU1N0eWxlU2hlZXQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJRkM2M0JEQjMxNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlGQzYzQkRCNDE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3Vw
cG9ydHNSdWxlLmggaW4gU291cmNlcyAqLywKIAkJCQlCQzgwQzk4NzBDRDI5NEVFMDBBMEI3QjMg
LyogQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODgyREEy
MDE1OTM4NDZBMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkzNzFGNTNFQTBEMjcwNEY5MDBFQ0UwRDUgLyogQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yNjgxNSw2ICsyNjg0NCw3IEBACiAJCQkJODUwMzJERTYwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk4NTAzMkRFODBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJODU4QzM5MjkwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQu
bW0gaW4gU291cmNlcyAqLywKKwkJCQlGQ0Q4ODMyQjE2QTQ5RjgyMDA5NjIyMjcgLyogRE9NQ1NT
U3VwcG9ydHNSdWxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODUwMzJERUEwQUE4QzlCRTAwN0Qz
QjdEIC8qIERPTUNTU1Vua25vd25SdWxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODU4QzM4MUQw
QUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODU4
QzM4M0QwQUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5tbSBpbiBTb3VyY2VzICov
LApAQCAtMjc2MzEsNiArMjc2NjEsOCBAQAogCQkJCUJDNDZDMjA2MEMwRERDQTEwMDIwQ0ZDMyAv
KiBKU0NTU1N0eWxlUnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUFEMTRFODEyOTczNzc0
MDBBQ0E5ODkgLyogSlNDU1NTdHlsZVJ1bGVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNDNUJFMDAwQzBFOTMxMTAwMTFDMkRCIC8qIEpTQ1NTU3R5bGVTaGVldC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlGQzdFNjZFOTE2ODBFRjFGMDAyODM3MTYgLyogSlNDU1NTdXBwb3J0c1J1bGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkM3RTY2RUExNjgwRUYyMjAwMjgzNzE2IC8qIEpTQ1NT
U3VwcG9ydHNSdWxlLmggaW4gU291cmNlcyAqLywKIAkJCQkxNENGNzhBNDA5RjU4Q0JGMDBFQjM2
NjUgLyogSlNDU1NWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzIwRkI3RjBDMEU4RTZD
MDBEMTQ0N0YgLyogSlNDU1NWYWx1ZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEQw
NUZBQjBBMjNCMzBGMDA1RTcyMDMgLyogSlNDU1NWYWx1ZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRl
eCAyYTQ2NWRjN2RjMWVkODc2NjA3ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi4wZDY3ZDEyYTAzM2M3
ZTZiNTcxNWJhMWQ4ZjE3MjcxOTNlZjEyMGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTMyLDEyICszMiwxNCBAQAogI2luY2x1ZGUg
IkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
U3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiSlND
U1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgiCiAjaW5jbHVk
ZSAiSlNDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZVJ1bGUuaCIKKyNpbmNs
dWRlICJKU0NTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgogI2luY2x1ZGUg
IkpTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlLmgiCkBAIC05Niw2ICs5OCwxMSBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVj
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDU1NSdWxlKiBydWxlKQogICAgICAg
ICBjYXNlIENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRToKICAgICAgICAgICAgIHdyYXBw
ZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLCBydWxlKTsKICAgICAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShDU1MzX0NP
TkRJVElPTkFMX1JVTEVTKQorICAgICAgICBjYXNlIENTU1J1bGU6OlNVUFBPUlRTX1JVTEU6Cisg
ICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVj
dCwgQ1NTU3VwcG9ydHNSdWxlLCBydWxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICAgICAgY2FzZSBDU1NSdWxlOjpX
RUJLSVRfVklFV1BPUlRfUlVMRToKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dS
QVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUsIHJ1bGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQppbmRleCAzYzFkYTgyMzEyMTljNmIx
NDcxMWI4YTQ1ODUzM2NiMTdiODEwZmRjLi42NTkxNGJhMGE4OGQyMjhiY2UzZTdlZGIzYzQ2NmVh
MDM2YmM3OTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQpAQCAtNDAs
NiArNDAsOSBAQAogI2ltcG9ydCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIgogI2ltcG9ydCAi
RE9NQ1NTU3R5bGVSdWxlLmgiCiAjaW1wb3J0ICJET01DU1NTdHlsZVNoZWV0LmgiCisjaWYgRU5B
QkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisjaW1wb3J0ICJET01DU1NTdXBwb3J0c1J1bGUu
aCIKKyNlbmRpZgogI2ltcG9ydCAiRE9NQ1NTVW5rbm93blJ1bGUuaCIKICNpbXBvcnQgIkRPTUNT
U1ZhbHVlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNTU1ZhbHVlTGlzdC5oIgpAQCAtOTksNiAr
MTAyLDEwIEBAIENsYXNzIGtpdENsYXNzKFdlYkNvcmU6OkNTU1J1bGUqIGltcGwpCiAgICAgICAg
ICAgICByZXR1cm4gW0RPTVdlYktpdENTU0tleWZyYW1lc1J1bGUgY2xhc3NdOwogICAgICAgICBj
YXNlIERPTV9XRUJLSVRfS0VZRlJBTUVfUlVMRToKICAgICAgICAgICAgIHJldHVybiBbRE9NV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlIGNsYXNzXTsKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9S
VUxFUykKKyAgICAgICAgY2FzZSBET01fU1VQUE9SVFNfUlVMRToKKyAgICAgICAgICAgIHJldHVy
biBbRE9NQ1NTU3VwcG9ydHNSdWxlIGNsYXNzXTsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVW
SUNFX0FEQVBUQVRJT04pCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9WSUVXUE9SVF9SVUxFOgog
ICAgICAgICAgICAgcmV0dXJuIFtET01XZWJLaXRDU1NWaWV3cG9ydFJ1bGUgY2xhc3NdOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9t
LmNwcAppbmRleCBkMTUxY2Q4YjBmNWM5YzY5NDM4ODZmNzUyYjlkODYzYzZjZDEzNzZhLi42YmY2
ZWVjNzc0YTgwNDlkODRkZDBlMjU0MmU4NmJiNWE2NDA1OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcApAQCAtMzcs
NiArMzcsOSBAQAogI2luY2x1ZGUgIlY4Q1NTTWVkaWFSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NQ
YWdlUnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTU3R5bGVSdWxlLmgiCisjaWYgRU5BQkxFKENTUzNf
Q09ORElUSU9OQUxfUlVMRVMpCisjaW5jbHVkZSAiVjhDU1NTdXBwb3J0c1J1bGUuaCIKKyNlbmRp
ZgogI2luY2x1ZGUgIlY4V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiVjhXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiVjhXZWJLaXRDU1NSZWdpb25SdWxlLmgi
CkBAIC03Miw2ICs3NSwxMCBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoQ1NTUnVsZSog
aW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleAogICAgICAgICByZXR1
cm4gd3JhcChzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPihpbXBsKSwgY3JlYXRp
b25Db250ZXh0LCBpc29sYXRlKTsKICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNf
UlVMRToKICAgICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2lmIEVOQUJMRShDU1Mz
X0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGNhc2UgQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRToKKyAg
ICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8Q1NTU3VwcG9ydHNSdWxlKj4oaW1wbCksIGNy
ZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9B
REFQVEFUSU9OKQogICAgIGNhc2UgQ1NTUnVsZTo6V0VCS0lUX1ZJRVdQT1JUX1JVTEU6CiAgICAg
ICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KGltcGwp
LCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4K
aW5kZXggNTY4MTRjZGM2YmUwODQxMmMyNDY0MWRkMjBlZGNiYmI2NzhjODU3Yy4uNjE4N2Q2YzE1
NDVhOGUzYzA3MTc2NDIwZTA0YTkzZWQ0MWVjMDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55LmluCkBAIC00NjQsNiArNDY0LDkgQEAgYmxvY2tfdmFsaWRfcnVsZToKICAgfCBmb250X2Zh
Y2UKICAgfCBtZWRpYQogICB8IGtleWZyYW1lcworI2lmIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFM
X1JVTEVTCisgIHwgc3VwcG9ydHMKKyNlbmRpZgogI2lmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04KICAgfCB2aWV3cG9ydAogI2VuZGlmCkBAIC00NzYsOSArNDc5LDYgQEAgYmxvY2tfcnVs
ZToKICAgfCBuYW1lc3BhY2UKICAgfCBpbXBvcnQKICAgfCByZWdpb24KLSNpZiBFTkFCTEVfQ1NT
M19DT05ESVRJT05BTF9SVUxFUwotICB8IHN1cHBvcnRzCi0jZW5kaWYKICAgOwogCiBhdF9pbXBv
cnRfaGVhZGVyX2VuZF9tYXliZV9zcGFjZToKQEAgLTY3NiwxMyArNjc2LDIyIEBAIG1lZGl1bToK
IAogI2lmIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTCiBzdXBwb3J0czoKLSAgICBTVVBQ
T1JUU19TWU0gbWF5YmVfc3BhY2Ugc3VwcG9ydHNfY29uZGl0aW9uICd7JyBtYXliZV9zcGFjZSBi
bG9ja19ydWxlX2xpc3Qgc2F2ZV9ibG9jayB7Ci0gICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRp
Y19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7Ci0gICAgICAgIGlmICgkMyAmJiAkNiAmJiBwLT5t
X3N0eWxlU2hlZXQpIHsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAkNi0+
c2l6ZSgpOyBpKyspCi0gICAgICAgICAgICAgICAgcC0+bV9zdHlsZVNoZWV0LT5wYXJzZXJBcHBl
bmRSdWxlKCQ2LT5hdChpKS5yZWxlYXNlKCkpOwotICAgICAgICB9Ci0gICAgICAgICQkID0gMDsK
KyAgICBiZWZvcmVfc3VwcG9ydHNfcnVsZSBTVVBQT1JUU19TWU0gbWF5YmVfc3BhY2Ugc3VwcG9y
dHNfY29uZGl0aW9uIGF0X3N1cHBvcnRzX3J1bGVfaGVhZGVyX2VuZCAneycgYXRfcnVsZV9ib2R5
X3N0YXJ0IG1heWJlX3NwYWNlIGJsb2NrX3J1bGVfbGlzdCBzYXZlX2Jsb2NrIHsKKyAgICAgICAg
JCQgPSBwYXJzZXItPmNyZWF0ZVN1cHBvcnRzUnVsZSgkNCwgJDkpOworICAgIH0KKyAgICA7CisK
K2JlZm9yZV9zdXBwb3J0c19ydWxlOgorICAgIC8qIGVtcHR5ICovIHsKKyAgICAgICAgcGFyc2Vy
LT5tYXJrUnVsZUhlYWRlclN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpTVVBQT1JUU19SVUxFKTsK
KyAgICAgICAgcGFyc2VyLT5tYXJrU3VwcG9ydHNSdWxlSGVhZGVyU3RhcnQoKTsKKyAgICB9Cisg
ICAgOworCithdF9zdXBwb3J0c19ydWxlX2hlYWRlcl9lbmQ6CisgICAgLyogZW1wdHkgKi8gewor
ICAgICAgICBwYXJzZXItPm1hcmtSdWxlSGVhZGVyRW5kKCk7CisgICAgICAgIHBhcnNlci0+bWFy
a1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpOwogICAgIH0KICAgICA7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKaW5kZXggYmEwOWZkMDI0ZWVkMjA3MjZlZThhNjY2ZDY4M2ExM2FjZDNhMGNkMy4u
ZTIzZWY2NGRkMDkyYjYwMDI2ODdkM2E5MjlkNzQ5YmUzMzEyMTM3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKQEAgLTEwNDk2LDYgKzEwNDk2LDYyIEBAIFN0eWxlUnVsZUJhc2UqIENTU1Bh
cnNlcjo6Y3JlYXRlTWVkaWFSdWxlKE1lZGlhUXVlcnlTZXQqIG1lZGlhLCBSdWxlTGlzdCogcnVs
ZXMpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFM
X1JVTEVTKQorU3R5bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVTdXBwb3J0c1J1bGUoYm9v
bCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgUnVsZUxpc3QqIHJ1bGVzKQoreworICAgIG1fYWxsb3dJ
bXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnMgPSBmYWxzZTsKKworICAg
IEFTU0VSVCghbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7CisgICAgUmVmUHRy
PENTU1J1bGVTb3VyY2VEYXRhPiBkYXRhID0gbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmxhc3Qo
KTsKKyAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+cmVtb3ZlTGFzdCgpOworICAgIGlmICht
X3N1cHBvcnRzUnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKQorICAgICAgICBtX3N1cHBvcnRzUnVs
ZURhdGFTdGFjay5jbGVhcigpOworCisgICAgUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBydWxl
OworICAgIFN0cmluZyBjb25kaXRpb25UZXh0OworICAgIHVuc2lnbmVkIGNvbmRpdGlvbk9mZnNl
dCA9IGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCArIDk7CisgICAgdW5zaWduZWQgY29uZGl0
aW9uTGVuZ3RoID0gZGF0YS0+cnVsZUhlYWRlclJhbmdlLmxlbmd0aCgpIC0gOTsKKworICAgIGlm
IChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgY29uZGl0aW9uVGV4dCA9IFN0cmluZyhtX2RhdGFT
dGFydDguZ2V0KCkgKyBjb25kaXRpb25PZmZzZXQsIGNvbmRpdGlvbkxlbmd0aCkuc3RyaXBXaGl0
ZVNwYWNlKCk7CisgICAgZWxzZQorICAgICAgICBjb25kaXRpb25UZXh0ID0gU3RyaW5nKG1fZGF0
YVN0YXJ0MTYuZ2V0KCkgKyBjb25kaXRpb25PZmZzZXQsIGNvbmRpdGlvbkxlbmd0aCkuc3RyaXBX
aGl0ZVNwYWNlKCk7CisKKyAgICBpZiAocnVsZXMpCisgICAgICAgIHJ1bGUgPSBTdHlsZVJ1bGVT
dXBwb3J0czo6Y3JlYXRlKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCAqcnVs
ZXMpOworICAgIGVsc2UgeworICAgICAgICBSdWxlTGlzdCBlbXB0eVJ1bGVzOworICAgICAgICBy
dWxlID0gU3R5bGVSdWxlU3VwcG9ydHM6OmNyZWF0ZShjb25kaXRpb25UZXh0LCBjb25kaXRpb25J
c1N1cHBvcnRlZCwgZW1wdHlSdWxlcyk7CisgICAgfQorCisgICAgU3R5bGVSdWxlU3VwcG9ydHMq
IHJlc3VsdCA9IHJ1bGUuZ2V0KCk7CisgICAgbV9wYXJzZWRSdWxlcy5hcHBlbmQocnVsZS5yZWxl
YXNlKCkpOworICAgIHByb2Nlc3NBbmRBZGROZXdSdWxlVG9Tb3VyY2VUcmVlSWZOZWVkZWQoKTsK
KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgQ1NTUGFyc2VyOjptYXJrU3VwcG9ydHNS
dWxlSGVhZGVyU3RhcnQoKQoreworICAgIGlmICghbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2spCisg
ICAgICAgIG1fc3VwcG9ydHNSdWxlRGF0YVN0YWNrID0gYWRvcHRQdHIobmV3IFJ1bGVTb3VyY2VE
YXRhTGlzdCgpKTsKKworICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gZGF0YSA9IENTU1J1
bGVTb3VyY2VEYXRhOjpjcmVhdGUoQ1NTUnVsZVNvdXJjZURhdGE6OlNVUFBPUlRTX1JVTEUpOwor
ICAgIGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAg
ICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+YXBwZW5kKGRhdGEpOworfQorCit2b2lkIENTU1Bh
cnNlcjo6bWFya1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpCit7CisgICAgQVNTRVJUKCFtX3N1cHBv
cnRzUnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKTsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkK
KyAgICAgICAgbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmxhc3QoKS0+cnVsZUhlYWRlclJhbmdl
LmVuZCA9IHRva2VuU3RhcnQ8TENoYXI+KCkgLSBtX2RhdGFTdGFydDguZ2V0KCk7CisgICAgZWxz
ZQorICAgICAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlSGVhZGVyUmFu
Z2UuZW5kID0gdG9rZW5TdGFydDxVQ2hhcj4oKSAtIG1fZGF0YVN0YXJ0MTYuZ2V0KCk7Cit9Cisj
ZW5kaWYKKwogQ1NTUGFyc2VyOjpSdWxlTGlzdCogQ1NTUGFyc2VyOjpjcmVhdGVSdWxlTGlzdCgp
CiB7CiAgICAgT3duUHRyPFJ1bGVMaXN0PiBsaXN0ID0gYWRvcHRQdHIobmV3IFJ1bGVMaXN0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxNGFjZDU5NzIxZmVmNjYzYmI5OWZlMzYwZDU1ZWVl
MTc0MzM0YWMxLi41MzZmZTlhNGM2MjMwYTEzMzQzMGQzNjJhMGUxYzM2ZGExZmM0YmU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yOTAsNiArMjkwLDExIEBAIHB1YmxpYzoKICAgICBTdHls
ZVJ1bGVCYXNlKiBjcmVhdGVQYWdlUnVsZShQYXNzT3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiBw
YWdlU2VsZWN0b3IpOwogICAgIFN0eWxlUnVsZUJhc2UqIGNyZWF0ZVJlZ2lvblJ1bGUoVmVjdG9y
PE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogcmVnaW9uU2VsZWN0b3IsIFJ1bGVMaXN0KiBy
dWxlcyk7CiAgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRlTWFyZ2luQXRSdWxlKENTU1NlbGVjdG9y
OjpNYXJnaW5Cb3hUeXBlKTsKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAg
ICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVTdXBwb3J0c1J1bGUoYm9vbCBjb25kaXRpb25Jc1N1cHBv
cnRlZCwgUnVsZUxpc3QqKTsKKyAgICB2b2lkIG1hcmtTdXBwb3J0c1J1bGVIZWFkZXJTdGFydCgp
OworICAgIHZvaWQgbWFya1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpOworI2VuZGlmCiAjaWYgRU5B
QkxFKFNIQURPV19ET00pCiAgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRlSG9zdFJ1bGUoUnVsZUxp
c3QqIHJ1bGVzKTsKICNlbmRpZgpAQCAtNTY0LDYgKzU2OSwxMCBAQCBwcml2YXRlOgogCiAgICAg
UmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9wYXJzZWRDYWxjdWxhdGlvbjsKIAorI2lmIEVOQUJMRShD
U1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIE93blB0cjxSdWxlU291cmNlRGF0YUxpc3Q+IG1f
c3VwcG9ydHNSdWxlRGF0YVN0YWNrOworI2VuZGlmCisKICAgICAvLyBkZWZpbmVzIHVuaXRzIGFs
bG93ZWQgZm9yIGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNlZCBpbiBwYXJzZVVuaXQKICAgICBlbnVt
IFVuaXRzIHsKICAgICAgICAgRlVua25vd24gPSAweDAwMDAsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlTb3VyY2VEYXRhLmgKaW5kZXggZTEyYWFhZTA0M2QyMjNhYjFhYTRhMWJiMDZm
NGM3YzAzZWFkOWFjMS4uMmM5MGY4M2YxNGNmYTBiMWI2YTYyOTJmYzVmYjk0M2M5YWJkMjk0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaApAQCAtOTcsNyAr
OTcsOCBAQCBzdHJ1Y3QgQ1NTUnVsZVNvdXJjZURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NS
dWxlU291cmNlRGF0YT4gewogICAgICAgICBLRVlGUkFNRVNfUlVMRSwKICAgICAgICAgUkVHSU9O
X1JVTEUsCiAgICAgICAgIEhPU1RfUlVMRSwKLSAgICAgICAgVklFV1BPUlRfUlVMRQorICAgICAg
ICBWSUVXUE9SVF9SVUxFLAorICAgICAgICBTVVBQT1JUU19SVUxFCiAgICAgfTsKIAogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU1J1bGVTb3VyY2VEYXRhPiBjcmVhdGUoVHlwZSB0eXBlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmgKaW5kZXggMDc1OGU3NGY4MTUwYTk3OTRlYTFjYjgzODExMjYxMTE0NGYzMjA2
Ny4uNGYwMWJkZDlmOTk0ZjhlMjBjZjZjNGFlNTQxMTE0MjlhYjQ5MjIyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5oCkBAIC01MCw2ICs1MCw5IEBAIHB1YmxpYzoKICAgICAgICAgLy8gPGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIFdFQktJVF9LRVlG
UkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUsCisjaWYgRU5BQkxFKENT
UzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgICAgIFNVUFBPUlRTX1JVTEUgPSAxMiwKKyNlbmRp
ZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAgICAgIFdFQktJVF9WSUVX
UE9SVF9SVUxFID0gMTUsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCBhZjExOGZl
NzJiOWI4MDc0ZjdkNjA4MmQwOTNlMjcwY2ZmMmIxMDY4Li4zMGIxYzIxZDA0YmRmOTE3OGI2OTAy
MDA1MzBlZDY3Njk4NmVjZjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC0zNyw2ICszNyw5
IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEFHRV9SVUxFID0gNjsKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwogICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRV9SVUxFID0gODsKKyNpZiBkZWZpbmVkKEVOQUJMRV9D
U1MzX0NPTkRJVElPTkFMX1JVTEVTKSAmJiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUwor
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNVUFBPUlRTX1JVTEUgPSAxMjsKKyNlbmRpZgogI2lm
IGRlZmluZWQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJiYgRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9WSUVXUE9SVF9S
VUxFID0gMTU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBw
b3J0c1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjYwMmZmYzg1OGUyMWU4MjI5YTRkYTE2ZTNiNzZjMmQyYjVhYmRmNwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCkBAIC0w
LDAgKzEsNzEgQEAKKy8qIENvcHlyaWdodCAoQykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFt
ZSBvZiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJDU1NTdXBwb3J0c1J1bGUuaCIKKworI2luY2x1ZGUgIkNTU1BhcnNlci5oIgorI2luY2x1
ZGUgIkNTU1J1bGUuaCIKKyNpbmNsdWRlICJDU1NSdWxlTGlzdC5oIgorI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3R5bGVS
dWxlLmgiCisjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1
ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CisKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NTdXBwb3J0c1J1bGU6OkNTU1N1cHBvcnRzUnVs
ZShTdHlsZVJ1bGVTdXBwb3J0cyogc3VwcG9ydHNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQp
CisgICAgOiBDU1NHcm91cGluZ1J1bGUoc3VwcG9ydHNSdWxlLCBwYXJlbnQpCit7Cit9CisKK1N0
cmluZyBDU1NTdXBwb3J0c1J1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxk
ZXIgcmVzdWx0OworCisgICAgcmVzdWx0LmFwcGVuZCgiQHN1cHBvcnRzICIpOworICAgIHJlc3Vs
dC5hcHBlbmQoY29uZGl0aW9uVGV4dCgpKTsKKyAgICByZXN1bHQuYXBwZW5kKCIge1xuIik7Cisg
ICAgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKHJlc3VsdCk7CisgICAgcmVzdWx0LmFwcGVuZCgnfScp
OworCisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCitTdHJpbmcgQ1NTU3VwcG9y
dHNSdWxlOjpjb25kaXRpb25UZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG9TdHlsZVJ1bGVT
dXBwb3J0cyhtX2dyb3VwUnVsZS5nZXQoKSktPmNvbmRpdGlvblRleHQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdXBwb3J0c1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YzVlMjQ0MDg1NmE0ZDJiNTRlNDQ2YzE3MzY0ZjUwMjA2YTRkMmFjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oCkBA
IC0wLDAgKzEsNjMgQEAKKy8qIENvcHlyaWdodCAoQykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUg
bmFtZSBvZiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAg
ICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTU3VwcG9ydHNSdWxl
X2gKKyNkZWZpbmUgQ1NTU3VwcG9ydHNSdWxlX2gKKworI2luY2x1ZGUgIkNTU0dyb3VwaW5nUnVs
ZS5oIgorCisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgQ1NTUnVsZTsKK2NsYXNzIFN0eWxlUnVsZVN1cHBvcnRzOworCitj
bGFzcyBDU1NTdXBwb3J0c1J1bGUgOiBwdWJsaWMgQ1NTR3JvdXBpbmdSdWxlIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NTdXBwb3J0c1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVT
dXBwb3J0cyogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IENTU1N1cHBvcnRzUnVsZShydWxlLCBzaGVldCkpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgfkNTU1N1cHBvcnRzUnVsZSgpIHsgfQorCisgICAgdmlydHVhbCBDU1NSdWxl
OjpUeXBlIHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBTVVBQT1JUU19SVUxFOyB9Cisg
ICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgU3RyaW5n
IGNvbmRpdGlvblRleHQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NTdXBwb3J0c1J1bGUo
U3R5bGVSdWxlU3VwcG9ydHMqLCBDU1NTdHlsZVNoZWV0Kik7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKwor
I2VuZGlmIC8vIENTU1N1cHBvcnRzUnVsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3VwcG9ydHNSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1
bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM1MzM4ODJkOTBhMTA2ZmM2OWMzYzQ0Y2VhNTNmMDFhMjM5YTA4
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxl
LmlkbApAQCAtMCwwICsxLDM5IEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3JvbGEgTW9i
aWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9Q1NTM19DT05ESVRJT05BTF9SVUxFUworXSBpbnRlcmZhY2UgQ1NTU3VwcG9ydHNSdWxlIDog
Q1NTUnVsZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgY29uZGl0aW9uVGV4dDsKKworICAgIHVu
c2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBE
T01TdHJpbmcgcnVsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gdW5zaWduZWQgbG9uZyBpbmRleCkgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CisgICAgdm9pZCBkZWxldGVSdWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOworfTsKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1J1bGVTZXQuY3BwCmluZGV4IGQ3YjUyMGI5MDgyYTE3MDk3MGUxYTZkNzc5ZWQ2YWU1MzVj
OTI0MmYuLmE3YzMyZGY4ZGUxZGFlY2M1MmQ2M2M4OGIyYTY5MmNlZjFlZWQ0MGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvUnVsZVNldC5jcHAKQEAgLTMyMCw2ICszMjAsMTAgQEAgdm9pZCBSdWxlU2V0OjphZGRDaGls
ZFJ1bGVzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgcnVsZXMsIGNvbnN0
IE0KICAgICAgICAgICAgIHJlc29sdmVyLT52aWV3cG9ydFN0eWxlUmVzb2x2ZXIoKS0+YWRkVmll
d3BvcnRSdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4ocnVsZSkpOwogICAgICAg
ICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAgICAgICAg
ZWxzZSBpZiAocnVsZS0+aXNTdXBwb3J0c1J1bGUoKSAmJiBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVT
dXBwb3J0cyo+KHJ1bGUpLT5jb25kaXRpb25Jc1N1cHBvcnRlZCgpKQorICAgICAgICAgICAgYWRk
Q2hpbGRSdWxlcyhzdGF0aWNfY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cyo+KHJ1bGUpLT5jaGlsZFJ1
bGVzKCksIG1lZGl1bSwgcmVzb2x2ZXIsIHNjb3BlLCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2lu
LCBhZGRSdWxlRmxhZ3MpOworI2VuZGlmCiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggZGYxNDVkYTdmNmUzZmYzMWNkMGI1ZTc3NDIyM2MwZDQ3NWI2ZGZl
OC4uMzMwYTQ4OWZmYTQ4NjcxYzQ2YmQ0NTZhNjI5NzAyNjZmYmVjYTRjYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgIkNTU1Nl
bGVjdG9yTGlzdC5oIgogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDU1NTdXBwb3J0c1J1bGUuaCIKICNpbmNsdWRlICJDU1NU
aW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCkBAIC0yNjM3LDYgKzI2MzgsMTEgQEAgc3RhdGljIHZvaWQgY29s
bGVjdENTU09NV3JhcHBlcnMoSGFzaE1hcDxTdHlsZVJ1bGUqLCBSZWZQdHI8Q1NTU3R5bGVSdWxl
PiA+JiB3cmEKICAgICAgICAgY2FzZSBDU1NSdWxlOjpNRURJQV9SVUxFOgogICAgICAgICAgICAg
Y29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGljX2Nhc3Q8Q1NTTWVkaWFSdWxl
Kj4oY3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTUzNfQ09ORElU
SU9OQUxfUlVMRVMpCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRToKKyAgICAg
ICAgICAgIGNvbGxlY3RDU1NPTVdyYXBwZXJzKHdyYXBwZXJNYXAsIHN0YXRpY19jYXN0PENTU1N1
cHBvcnRzUnVsZSo+KGNzc1J1bGUpKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYg
RU5BQkxFKENTU19SRUdJT05TKQogICAgICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9SRUdJT05f
UlVMRToKICAgICAgICAgICAgIGNvbGxlY3RDU1NPTVdyYXBwZXJzKHdyYXBwZXJNYXAsIHN0YXRp
Y19jYXN0PFdlYktpdENTU1JlZ2lvblJ1bGUqPihjc3NSdWxlKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuY3BwCmluZGV4IDQzZTZhNWUxMzc2ODBjYzJkMWM2YWMzMDE5M2RmZTY1NjY2MjMwMjAuLmI0
Mzc5MzMzMTExODViN2FjYzc0MzE2MjE2Zjc3OTc1YzE2MzA1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQ1NTTWVkaWFSdWxlLmgiCiAj
aW5jbHVkZSAiQ1NTUGFnZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NTdXBwb3J0c1J1bGUuaCIKICNpbmNsdWRlICJDU1NVbmtub3duUnVsZS5oIgogI2lu
Y2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVt
ZW50YXRpb24uaCIKQEAgLTgxLDYgKzgyLDkgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IGNhc2UgS2V5ZnJhbWVzOgogICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlm
cmFtZXMqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMp
CisgICAgY2FzZSBTdXBwb3J0czoKKyNlbmRpZgogI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAg
IGNhc2UgSG9zdDoKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sqPih0
aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwpAQCAt
MTE4LDYgKzEyMiwxMSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2Ug
TWVkaWE6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVNZWRpYSo+KHRoaXMp
OwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisg
ICAgY2FzZSBTdXBwb3J0czoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0eWxlUnVsZVN1
cHBvcnRzKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
UkVHSU9OUykKICAgICBjYXNlIFJlZ2lvbjoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0
eWxlUnVsZVJlZ2lvbio+KHRoaXMpOwpAQCAtMTYyLDYgKzE3MSwxMCBAQCBQYXNzUmVmUHRyPFN0
eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlRm9udEZhY2UqPih0aGlzKS0+Y29weSgpOwogICAg
IGNhc2UgTWVkaWE6CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVN
ZWRpYSo+KHRoaXMpLT5jb3B5KCk7CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMp
CisgICAgY2FzZSBTdXBwb3J0czoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0
eWxlUnVsZVN1cHBvcnRzKj4odGhpcyktPmNvcHkoKTsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
UkVHSU9OUykKICAgICBjYXNlIFJlZ2lvbjoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNv
bnN0IFN0eWxlUnVsZVJlZ2lvbio+KHRoaXMpLT5jb3B5KCk7CkBAIC0yMTAsNiArMjIzLDExIEBA
IFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENT
U1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0CiAgICAgY2FzZSBNZWRpYToKICAgICAgICAgcnVsZSA9
IENTU01lZGlhUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZU1lZGlhKj4oc2VsZiks
IHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9O
QUxfUlVMRVMpCisgICAgY2FzZSBTdXBwb3J0czoKKyAgICAgICAgcnVsZSA9IENTU1N1cHBvcnRz
UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVN1cHBvcnRzKj4oc2VsZiksIHBhcmVu
dFNoZWV0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMp
CiAgICAgY2FzZSBSZWdpb246CiAgICAgICAgIHJ1bGUgPSBXZWJLaXRDU1NSZWdpb25SdWxlOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlUmVnaW9uKj4oc2VsZiksIHBhcmVudFNoZWV0KTsK
QEAgLTQwNCw2ICs0MjIsMjMgQEAgdm9pZCBTdHlsZVJ1bGVNZWRpYTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEkKICAgICBpbmZvLmFk
ZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CiB9CiAKKworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElP
TkFMX1JVTEVTKQorU3R5bGVSdWxlU3VwcG9ydHM6OlN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0IFN0
cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBhZG9wdFJ1bGVzKQorICAgIDogU3R5bGVSdWxlQmxvY2so
U3VwcG9ydHMsIGFkb3B0UnVsZXMpCisgICAgLCBtX2NvbmRpdGlvblRleHQoY29uZGl0aW9uVGV4
dCkKKyAgICAsIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQoY29uZGl0aW9uSXNTdXBwb3J0ZWQpCit7
Cit9CisKK1N0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1
bGVTdXBwb3J0cyYgbykKKyAgICA6IFN0eWxlUnVsZUJsb2NrKG8pCisgICAgLCBtX2NvbmRpdGlv
blRleHQoby5tX2NvbmRpdGlvblRleHQpCisgICAgLCBtX2NvbmRpdGlvbklzU3VwcG9ydGVkKG8u
bV9jb25kaXRpb25Jc1N1cHBvcnRlZCkKK3sKK30KKyNlbmRpZgorCiBTdHlsZVJ1bGVSZWdpb246
OlN0eWxlUnVsZVJlZ2lvbihWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+KiBzZWxl
Y3RvcnMsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKICAgICA6
IFN0eWxlUnVsZUJsb2NrKFJlZ2lvbiwgYWRvcHRSdWxlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
aAppbmRleCA3NDY0YjFmN2YxOGVkYzRhNmQ4ZjJlMTE5YmJhODUyZDliODkyYzlmLi45N2NlZTY1
YTE1NzgyZWQ3MDVlNzczMzVkMzIxOTBlZjg1MThjZWQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5o
CkBAIC00OSw2ICs0OSw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICAg
ICAgSG9zdCwKICNlbmRpZgorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAg
ICAgICBTdXBwb3J0cyA9IDEyLAorI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRB
VElPTikKICAgICAgICAgVmlld3BvcnQgPSAxNSwKICNlbmRpZgpAQCAtNjMsNiArNjYsOSBAQCBw
dWJsaWM6CiAgICAgYm9vbCBpc1BhZ2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFBh
Z2U7IH0KICAgICBib29sIGlzU3R5bGVSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0
eWxlOyB9CiAgICAgYm9vbCBpc1JlZ2lvblJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
UmVnaW9uOyB9CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgYm9vbCBp
c1N1cHBvcnRzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdXBwb3J0czsgfQorI2Vu
ZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICBib29sIGlzVmlld3Bv
cnRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFZpZXdwb3J0OyB9CiAjZW5kaWYKQEAg
LTIxNSw2ICsyMjEsMjcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFRdWVyeVNldD4gbV9t
ZWRpYVF1ZXJpZXM7CiB9OwogCisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCitj
bGFzcyBTdHlsZVJ1bGVTdXBwb3J0cyA6IHB1YmxpYyBTdHlsZVJ1bGVCbG9jayB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxS
ZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU3R5bGVSdWxlU3VwcG9ydHMoY29uZGl0aW9uVGV4dCwgY29uZGl0aW9u
SXNTdXBwb3J0ZWQsIGFkb3B0UnVsZXMpKTsKKyAgICB9CisKKyAgICBTdHJpbmcgY29uZGl0aW9u
VGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29uZGl0aW9uVGV4dDsgfQorICAgIGJvb2wgY29uZGl0
aW9uSXNTdXBwb3J0ZWQoKSBjb25zdCB7IHJldHVybiBtX2NvbmRpdGlvbklzU3VwcG9ydGVkOyB9
CisgICAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVTdXBwb3J0cz4gY29weSgpIGNvbnN0IHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTdHlsZVJ1bGVTdXBwb3J0cygqdGhpcykpOyB9CisKK3ByaXZhdGU6Cisg
ICAgU3R5bGVSdWxlU3VwcG9ydHMoY29uc3QgU3RyaW5nJiBjb25kaXRpb25UZXh0LCBib29sIGNv
bmRpdGlvbklzU3VwcG9ydGVkLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0
UnVsZXMpOworICAgIFN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0IFN0eWxlUnVsZVN1cHBvcnRzJik7
CisKKyAgICBTdHJpbmcgbV9jb25kaXRpb25UZXh0OworICAgIGJvb2wgbV9jb25kaXRpb25Jc1N1
cHBvcnRlZDsKK307CisjZW5kaWYKKwogY2xhc3MgU3R5bGVSdWxlUmVnaW9uIDogcHVibGljIFN0
eWxlUnVsZUJsb2NrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZVJ1bGVS
ZWdpb24+IGNyZWF0ZShWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+KiBzZWxlY3Rv
cnMsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKQEAgLTI4MSw2
ICszMDgsMTIgQEAgaW5saW5lIGNvbnN0IFN0eWxlUnVsZU1lZGlhKiB0b1N0eWxlUnVsZU1lZGlh
KGNvbnN0IFN0eWxlUnVsZUJsb2NrKiBydWxlKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25z
dCBTdHlsZVJ1bGVNZWRpYSo+KHJ1bGUpOwogfQogCitpbmxpbmUgY29uc3QgU3R5bGVSdWxlU3Vw
cG9ydHMqIHRvU3R5bGVSdWxlU3VwcG9ydHMoY29uc3QgU3R5bGVSdWxlQmxvY2sqIHJ1bGUpCit7
CisgICAgQVNTRVJUKCFydWxlIHx8IHJ1bGUtPmlzU3VwcG9ydHNSdWxlKCkpOworICAgIHJldHVy
biBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVTdXBwb3J0cyo+KHJ1bGUpOworfQorCiBpbmxp
bmUgY29uc3QgU3R5bGVSdWxlUmVnaW9uKiB0b1N0eWxlUnVsZVJlZ2lvbihjb25zdCBTdHlsZVJ1
bGVCbG9jayogcnVsZSkKIHsKICAgICBBU1NFUlQoIXJ1bGUgfHwgcnVsZS0+aXNSZWdpb25SdWxl
KCkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlU2hlZXRDb250ZW50cy5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcAppbmRleCA2Yjdj
MGM1ZjA4MmJhNWNjZTI2MTI4MDhjOGRjOGY3NWRjNjdjZTRiLi42N2IwYzFkNzk3MDI5N2FmZjdm
ODBmMjM4MmU3YTgzNDFmMGI4YmM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5
bGVTaGVldENvbnRlbnRzLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENv
bnRlbnRzLmNwcApAQCAtNDU2LDYgKzQ1Niw5IEBAIHN0YXRpYyBib29sIGNoaWxkUnVsZXNIYXZl
RmFpbGVkT3JDYW5jZWxlZFN1YnJlc291cmNlcyhjb25zdCBWZWN0b3I8UmVmUHRyPFN0eWxlCiAg
ICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6VW5rbm93bjoKICAgICAgICAgY2FzZSBTdHlsZVJ1
bGVCYXNlOjpDaGFyc2V0OgogICAgICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6OktleWZyYW1lOgor
I2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgICAgICBjYXNlIFN0eWxlUnVs
ZUJhc2U6OlN1cHBvcnRzOgorI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElP
TikKICAgICAgICAgY2FzZSBTdHlsZVJ1bGVCYXNlOjpWaWV3cG9ydDoKICNlbmRpZgpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwIGIv
U291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3RvclN0eWxlU2hlZXQuY3BwCmluZGV4IGM1
MjgzZDU4YmQ4NDYyNjg5MzliZTY3OWQ4YTViYmQ2NTJmYTM5Y2YuLmNlOTg4NzlhODBlZjNmMzE1
ZTE2ODFkYjlkMTVkZDlhZDMyNjNhZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2luc3Bl
Y3Rvci9JbnNwZWN0b3JTdHlsZVNoZWV0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9pbnNwZWN0
b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKQEAgLTM3LDYgKzM3LDcgQEAKICNpbmNsdWRlICJD
U1NSdWxlTGlzdC5oIgogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDU1NTdXBwb3J0c1J1bGUuaCIKICNpbmNsdWRlICJDb250
ZW50U2VjdXJpdHlQb2xpY3kuaCIKICNpbmNsdWRlICJEb2N1bWVudC5oIgogI2luY2x1ZGUgIkVs
ZW1lbnQuaCIKQEAgLTEwOSw2ICsxMTAsMTAgQEAgc3RhdGljIHZvaWQgZmxhdHRlblNvdXJjZURh
dGEoUnVsZVNvdXJjZURhdGFMaXN0KiBkYXRhTGlzdCwgUnVsZVNvdXJjZURhdGFMaXN0KgogICAg
ICAgICAgICAgdGFyZ2V0LT5hcHBlbmQoZGF0YSk7CiAgICAgICAgIGVsc2UgaWYgKGRhdGEtPnR5
cGUgPT0gQ1NTUnVsZVNvdXJjZURhdGE6Ok1FRElBX1JVTEUpCiAgICAgICAgICAgICBmbGF0dGVu
U291cmNlRGF0YSgmZGF0YS0+Y2hpbGRSdWxlcywgdGFyZ2V0KTsKKyNpZiBFTkFCTEUoQ1NTM19D
T05ESVRJT05BTF9SVUxFUykKKyAgICAgICAgZWxzZSBpZiAoZGF0YS0+dHlwZSA9PSBDU1NSdWxl
U291cmNlRGF0YTo6U1VQUE9SVFNfUlVMRSkKKyAgICAgICAgICAgIGZsYXR0ZW5Tb3VyY2VEYXRh
KCZkYXRhLT5jaGlsZFJ1bGVzLCB0YXJnZXQpOworI2VuZGlmCiAgICAgfQogfQogCkBAIC0yMDks
NiArMjE0LDExIEBAIHN0YXRpYyBQYXNzUmVmUHRyPENTU1J1bGVMaXN0PiBhc0NTU1J1bGVMaXN0
KENTU1J1bGUqIHJ1bGUpCiAgICAgaWYgKHJ1bGUtPnR5cGUoKSA9PSBDU1NSdWxlOjpXRUJLSVRf
S0VZRlJBTUVTX1JVTEUpCiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlKj4ocnVsZSktPmNzc1J1bGVzKCk7CiAKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJ
T05BTF9SVUxFUykKKyAgICBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OlNVUFBPUlRTX1JV
TEUpCisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxDU1NTdXBwb3J0c1J1bGUqPihydWxlKS0+
Y3NzUnVsZXMoKTsKKyNlbmRpZgorCiAgICAgcmV0dXJuIDA7CiB9CiAKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCBmY2FlY2Mw
NTEzMTg4MWFjNmNjYTExMGI1Y2U1NDZlMjdkYTA4OWI5Li4yM2M0ZTcxZjFmZDA1MGMwYjBmODlh
MjE0NThjZWU2ZThmZmMzZTg2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjQgQEAKKzIwMTMtMDEtMTQgIFBh
YmxvIEZsb3VyZXQgIDxwYWJsb2ZAbW90b3JvbGEuY29tPgorCisgICAgICAgIEltcGxlbWVudCBD
U1NTdXBwb3J0c1J1bGUKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTEwNDgyMgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisg
ICAgICAgICogY3NzMy9zdXBwb3J0cy1jc3NvbS1leHBlY3RlZC50eHQ6IEFkZGVkLgorICAgICAg
ICAqIGNzczMvc3VwcG9ydHMtY3Nzb20uaHRtbDogQWRkZWQuCisgICAgICAgICogY3NzMy9zdXBw
b3J0cy1leHBlY3RlZC50eHQ6CisgICAgICAgICogY3NzMy9zdXBwb3J0cy5odG1sOgorCisgICAg
ICAgICogcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0
Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9ndGsvVGVzdEV4
cGVjdGF0aW9uczoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9uczoKKyAg
ICAgICAgKiBwbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3Jt
L3dpbi9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL3dpbmNhaXJvL1Rlc3RF
eHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnM6CisK
IDIwMTMtMDEtMTQgIExldmkgV2VpbnRyYXViICA8bGV2aXdAY2hyb21pdW0ub3JnPgogCiAgICAg
ICAgIFVucmV2aWV3ZWQgZ2FyZGVuaW5nLiBNYXJraW5nIGVkaXRpbmcvc3BlbGxpbmcvc3BlbGxj
aGVjay1zZXF1ZW5jZW51bS5odG1sCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBv
cnRzLWNzc29tLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20t
ZXhwZWN0ZWQudHh0Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU2MjQxYWRiMTcwYmUxNjZlMjM2YTg3MGZkYzhjZDBh
NjM0YmZjZGYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWNz
c29tLWV4cGVjdGVkLnR4dApAQCAtMCwwICsxLDYyIEBACitUZXN0IENTU1N1cHBvcnRSdWxlLgor
CitPbiBzdWNjZXNzLCB5b3Ugd2lsbCBzZWUgYSBzZXJpZXMgb2YgIlBBU1MiIG1lc3NhZ2VzLCBm
b2xsb3dlZCBieSAiVEVTVCBDT01QTEVURSIuCisKKworUEFTUyBDU1NSdWxlLlNVUFBPUlRTX1JV
TEUgaXMgZGVmaW5lZC4KK3J1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0uY3NzUnVsZXMK
K1BBU1MgcnVsZXMubGVuZ3RoIGlzIDQKK1BBU1MgcnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNV
UFBPUlRTX1JVTEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgcnVs
ZXNbMF0uY3NzUnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1MgcnVsZXNb
MF0uY3NzUnVsZXNbMV0udHlwZSBpcyBDU1NSdWxlLlNVUFBPUlRTX1JVTEUKK1BBU1MgcnVsZXNb
MF0uY3NzUnVsZXNbMV0uY3NzUnVsZXMubGVuZ3RoIGlzIDEKK1BBU1MgcnVsZXNbMF0uY3NzUnVs
ZXNbMV0uY3NzUnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1MgcnVsZXNb
MF0uY29uZGl0aW9uVGV4dCBpcyAiKHdpZHRoOiAwKSIKK1BBU1MgcnVsZXNbMF0uY3NzVGV4dCBp
cyAiQHN1cHBvcnRzICh3aWR0aDogMCkge1xuICBzIHsgd2lkdGg6IDBweDsgfVxuICBAc3VwcG9y
dHMgKHdpZHRoOiAxKSB7XG4gIHMgeyBjb2xvcjogcmdiKDAsIDAsIDApOyB9XG59XG59IgorCitJ
bnNlcnRpbmcgYW5kIGRlbGV0aW5nIHJ1bGVzLgorcnVsZXNbMF0uaW5zZXJ0UnVsZSgnQG1lZGlh
IGFsbCB7ICNzIHsgd2lkdGg6IDBweDsgfSB9JywgMikKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXMu
bGVuZ3RoIGlzIDMKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXNbMl0udHlwZSBpcyBDU1NSdWxlLk1F
RElBX1JVTEUKK3J1bGVzWzBdLmRlbGV0ZVJ1bGUoMikKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXMu
bGVuZ3RoIGlzIDIKK3J1bGVzWzBdLmNzc1J1bGVzWzFdLmluc2VydFJ1bGUoJ0BzdXBwb3J0cyAo
ZGlzcGxheTogcmFpbmJvdykge30nLCAxKQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NS
dWxlcy5sZW5ndGggaXMgMgorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlc1sxXS50
eXBlIGlzIENTU1J1bGUuU1VQUE9SVFNfUlVMRQorcnVsZXNbMF0uY3NzUnVsZXNbMV0uZGVsZXRl
UnVsZSgxKQorUEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMgorCitAY2hhcnNldCwg
QG5hbWVzcGFjZSwgQGltcG9ydCBydWxlcyBhcmUgbm90IGFsbG93ZWQgaW5zaWRlIEBzdXBwb3J0
cy4KK1BBU1MgcnVsZXNbMF0uaW5zZXJ0UnVsZSgnQGNoYXJzZXQgIlVURi04IicsIDIpIHRocmV3
IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJyb3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIHJ1
bGVzWzBdLmluc2VydFJ1bGUoJ0BuYW1lc3BhY2UgIiInLCAyKSB0aHJldyBleGNlcHRpb24gRXJy
b3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorUEFTUyBydWxlc1swXS5pbnNlcnRS
dWxlKCdAaW1wb3J0IHVybCgiLi4vZmFzdC9jc3NvbS9yZXNvdXJjZXMvaW1wb3J0LmNzcyIpJywg
MikgdGhyZXcgZXhjZXB0aW9uIEVycm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4K
KworV2hpdGVzcGFjZSBhbmQgZm9ybWF0dGluZyBzaG91bGQgYmUgcHJlc2VydmVkIHdpdGhpbiB0
aGUgY29uZGl0aW9uLCB3aGl0ZXNwYWNlIG91dHNpZGUgdGhlIGNvbmRpdGlvbiBzaG91bGQgYmUg
dHJpbW1lZC4KK1BBU1MgcnVsZXNbMV0uY29uZGl0aW9uVGV4dCBpcyAiKCggICggICAgIHBhZGRp
bmc6IDApICAgIGFuZCAoZGlzcGxheTogbm9uZSkpIG9yIChkaXNwbGF5OiByYWluYm93KSkiCisK
K0BzdXBwb3J0cyBydWxlIG5lc3RlZCBpbnNpZGUgYSBtZWRpYSBydWxlLgorUEFTUyBydWxlc1sy
XS50eXBlIGlzIENTU1J1bGUuTUVESUFfUlVMRQorUEFTUyBydWxlc1syXS5jc3NSdWxlcy5sZW5n
dGggaXMgMQorUEFTUyBydWxlc1syXS5jc3NSdWxlc1swXS50eXBlIGlzIENTU1J1bGUuU1VQUE9S
VFNfUlVMRQorUEFTUyBydWxlc1syXS5jc3NSdWxlc1swXS5jb25kaXRpb25UZXh0IGlzICIoIHBh
ZGRpbmc6IDApIgorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlcy5sZW5ndGggaXMg
MQorUEFTUyBydWxlc1syXS5jc3NSdWxlc1swXS5jc3NSdWxlc1swXS50eXBlIGlzIENTU1J1bGUu
UEFHRV9SVUxFCitQQVNTIHJ1bGVzWzJdLmNzc1RleHQgaXMgIkBtZWRpYSBhbGwgeyBcbiAgQHN1
cHBvcnRzICggcGFkZGluZzogMCkge1xuICBAcGFnZSA6bGVmdCB7IHRvcDogMHB4OyB9XG59XG59
IgorCitObyBleHRyYSBwYXJlbnMgc2hvdWxkIGJlIGFkZGVkIHRvIHRoZSBjb25kaXRpb25UZXh0
LgorUEFTUyBydWxlc1szXS5jb25kaXRpb25UZXh0IGlzICIoYm9yZGVyOiBibGFjaykgYW5kIChw
YWRkaW5nOiAwKSBhbmQgKHdpZHRoOiAwKSIKKworRGVsZXRpbmcgYSB0b3AtbGV2ZWwgcnVsZSBz
aG91bGQgd29yayBjb3JyZWN0bHkuCitkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5kZWxldGVSdWxl
KDMpCitQQVNTIHJ1bGVzLmxlbmd0aCBpcyAzCitQQVNTIHJ1bGVzWzBdLnR5cGUgaXMgQ1NTUnVs
ZS5TVVBQT1JUU19SVUxFCitQQVNTIHJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCBpcyAyCitQQVNT
IHJ1bGVzWzBdLmNzc1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5TVFlMRV9SVUxFCitQQVNTIHJ1
bGVzWzBdLmNzc1J1bGVzWzFdLnR5cGUgaXMgQ1NTUnVsZS5TVVBQT1JUU19SVUxFCitQQVNTIHJ1
bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIHJ1bGVzWzBdLmNz
c1J1bGVzWzFdLmNzc1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5TVFlMRV9SVUxFCitQQVNTIHN1
Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCisKK1RFU1QgQ09NUExFVEUKKwpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvY3NzMy9zdXBwb3J0cy1jc3NvbS5odG1sIGIvTGF5b3V0VGVzdHMvY3NzMy9z
dXBwb3J0cy1jc3NvbS5odG1sCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjk4OTdiNjBmMDA1ZTI3MWZjNWU5MmFlYThm
YjBlODI3OGQwOWIwNmYKLS0tIC9kZXYvbnVsbAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBv
cnRzLWNzc29tLmh0bWwKQEAgLTAsMCArMSwxMTYgQEAKKzwhRE9DVFlQRSBIVE1MPgorPGh0bWw+
Cis8aGVhZD4KKzxtZXRhIGNoYXJzZXQ9dXRmOD4KKzxzY3JpcHQgc3JjPSIuLi9mYXN0L2pzL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+Cis8c3R5bGU+CisgICAgQHN1cHBvcnRz
ICh3aWR0aDogMCkgeworICAgICAgICBzIHsgd2lkdGg6IDA7IH0KKyAgICAgICAgQHN1cHBvcnRz
ICh3aWR0aDogMSkgeworICAgICAgICAgICAgcyB7IGNvbG9yOiAjMDAwOyB9CisgICAgICAgICAg
ICBAaW1wb3J0IHVybCgiLi4vZmFzdC9jc3NvbS9yZXNvdXJjZXMvaW1wb3J0LmNzcyIpOworICAg
ICAgICAgICAgQGNoYXJzZXQgIlVURi04IjsKKyAgICAgICAgICAgIEBuYW1lc3BhY2UgIiI7Cisg
ICAgICAgIH0KKyAgICB9CisKKyAgICBAc3VwcG9ydHMgICgoICAoICAgICBwYWRkaW5nOiAwKSAg
ICBhbmQgKGRpc3BsYXk6IG5vbmUpKSBvciAoZGlzcGxheTogcmFpbmJvdykpICB7CisgICAgICAg
IGRmbiB7IHdpZHRoOjA7IH0KKyAgICAgICAgQHN1cHBvcnRzICh3aWR0aDogMCkgeworICAgICAg
ICAgICAgYnIgeyBoZWlnaHQ6MDsgfQorICAgICAgICB9CisgICAgICAgIG9sIHsgZGlzcGxheTpu
b25lOyB9CisgICAgfQorCisgICAgQG1lZGlhIGFsbCB7CisgICAgICAgIEBzdXBwb3J0cyAgKCBw
YWRkaW5nOiAwKSB7CisgICAgICAgICAgICBAcGFnZSA6bGVmdCB7IHRvcDogMCB9CisgICAgICAg
IH0KKyAgICB9CisKKyAgICBAc3VwcG9ydHMgKGJvcmRlcjogYmxhY2spIGFuZCAocGFkZGluZzog
MCkgYW5kICh3aWR0aDogMCkgeworICAgICAgICBkZm4geyB3aWR0aDowOyB9CisgICAgfQorPC9z
dHlsZT4KKzwvaGVhZD4KKzxib2R5PgorPHNjcmlwdD4KKyAgICBkZXNjcmlwdGlvbigiVGVzdCBD
U1NTdXBwb3J0UnVsZS4iKTsKKworCisgICAgc2hvdWxkQmVEZWZpbmVkKCJDU1NSdWxlLlNVUFBP
UlRTX1JVTEUiKTsKKworICAgIGV2YWxBbmRMb2coInJ1bGVzID0gZG9jdW1lbnQuc3R5bGVTaGVl
dHNbMV0uY3NzUnVsZXMiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlcy5sZW5ndGgiLCA0
KTsKKyAgICBzaG91bGRCZSgicnVsZXNbMF0udHlwZSIsICJDU1NSdWxlLlNVUFBPUlRTX1JVTEUi
KTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NSdWxlcy5sZW5ndGgiLCAyKTsK
KyAgICBzaG91bGRCZSgicnVsZXNbMF0uY3NzUnVsZXNbMF0udHlwZSIsICJDU1NSdWxlLlNUWUxF
X1JVTEUiKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMF0uY3NzUnVsZXNbMV0udHlwZSIsICJDU1NS
dWxlLlNVUFBPUlRTX1JVTEUiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NS
dWxlc1sxXS5jc3NSdWxlcy5sZW5ndGgiLCAxKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMF0uY3Nz
UnVsZXNbMV0uY3NzUnVsZXNbMF0udHlwZSIsICJDU1NSdWxlLlNUWUxFX1JVTEUiKTsKKyAgICBz
aG91bGRCZUVxdWFsVG9TdHJpbmcoInJ1bGVzWzBdLmNvbmRpdGlvblRleHQiLCAiKHdpZHRoOiAw
KSIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicnVsZXNbMF0uY3NzVGV4dCIsCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICJAc3VwcG9ydHMgKHdpZHRoOiAwKSB7XG4iICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIiAgcyB7IHdpZHRoOiAwcHg7IH1cbiIgKworICAgICAgICAg
ICAgICAgICAgICAgICAgICAiICBAc3VwcG9ydHMgKHdpZHRoOiAxKSB7XG4iICsKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgIiAgcyB7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IH1cbiIgKworICAg
ICAgICAgICAgICAgICAgICAgICAgICAifVxuIiArCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICJ9Iik7CisKKyAgICBkZWJ1ZygiXG5JbnNlcnRpbmcgYW5kIGRlbGV0aW5nIHJ1bGVzLiIpOwor
ICAgIGV2YWxBbmRMb2coInJ1bGVzWzBdLmluc2VydFJ1bGUoJ0BtZWRpYSBhbGwgeyAjcyB7IHdp
ZHRoOiAwcHg7IH0gfScsIDIpIik7CisgICAgc2hvdWxkRXZhbHVhdGVUbygicnVsZXNbMF0uY3Nz
UnVsZXMubGVuZ3RoIiwgMyk7CisgICAgc2hvdWxkQmUoInJ1bGVzWzBdLmNzc1J1bGVzWzJdLnR5
cGUiLCAiQ1NTUnVsZS5NRURJQV9SVUxFIik7CisgICAgZXZhbEFuZExvZygicnVsZXNbMF0uZGVs
ZXRlUnVsZSgyKSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzLmxl
bmd0aCIsIDIpOworCisgICAgZXZhbEFuZExvZygicnVsZXNbMF0uY3NzUnVsZXNbMV0uaW5zZXJ0
UnVsZSgnQHN1cHBvcnRzIChkaXNwbGF5OiByYWluYm93KSB7fScsIDEpIik7CisgICAgc2hvdWxk
RXZhbHVhdGVUbygicnVsZXNbMF0uY3NzUnVsZXNbMV0uY3NzUnVsZXMubGVuZ3RoIiwgMik7Cisg
ICAgc2hvdWxkQmUoInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzWzFdLnR5cGUiLCAiQ1NT
UnVsZS5TVVBQT1JUU19SVUxFIik7CisgICAgZXZhbEFuZExvZygicnVsZXNbMF0uY3NzUnVsZXNb
MV0uZGVsZXRlUnVsZSgxKSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1
bGVzLmxlbmd0aCIsIDIpOworCisgICAgZGVidWcoIlxuQGNoYXJzZXQsIEBuYW1lc3BhY2UsIEBp
bXBvcnQgcnVsZXMgYXJlIG5vdCBhbGxvd2VkIGluc2lkZSBAc3VwcG9ydHMuIikKKyAgICBzaG91
bGRUaHJvdygicnVsZXNbMF0uaW5zZXJ0UnVsZSgnQGNoYXJzZXQgXCJVVEYtOFwiJywgMikiKTsK
KyAgICBzaG91bGRUaHJvdygicnVsZXNbMF0uaW5zZXJ0UnVsZSgnQG5hbWVzcGFjZSBcIlwiJywg
MikiKTsKKyAgICBzaG91bGRUaHJvdygicnVsZXNbMF0uaW5zZXJ0UnVsZSgnQGltcG9ydCB1cmwo
XCIuLi9mYXN0L2Nzc29tL3Jlc291cmNlcy9pbXBvcnQuY3NzXCIpJywgMikiKTsKKworCisgICAg
ZGVidWcoIlxuV2hpdGVzcGFjZSBhbmQgZm9ybWF0dGluZyBzaG91bGQgYmUgcHJlc2VydmVkIHdp
dGhpbiB0aGUgY29uZGl0aW9uLCB3aGl0ZXNwYWNlIG91dHNpZGUgdGhlIGNvbmRpdGlvbiBzaG91
bGQgYmUgdHJpbW1lZC4iKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmcoInJ1bGVzWzFdLmNv
bmRpdGlvblRleHQiLCAiKCggICggICAgIHBhZGRpbmc6IDApICAgIGFuZCAoZGlzcGxheTogbm9u
ZSkpIG9yIChkaXNwbGF5OiByYWluYm93KSkiKTsKKworCisgICAgZGVidWcoIlxuQHN1cHBvcnRz
IHJ1bGUgbmVzdGVkIGluc2lkZSBhIG1lZGlhIHJ1bGUuIik7CisgICAgc2hvdWxkQmUoInJ1bGVz
WzJdLnR5cGUiLCAiQ1NTUnVsZS5NRURJQV9SVUxFIik7CisgICAgc2hvdWxkRXZhbHVhdGVUbygi
cnVsZXNbMl0uY3NzUnVsZXMubGVuZ3RoIiwgMSk7CisgICAgc2hvdWxkQmUoInJ1bGVzWzJdLmNz
c1J1bGVzWzBdLnR5cGUiLCAiQ1NTUnVsZS5TVVBQT1JUU19SVUxFIik7CisgICAgc2hvdWxkQmVF
cXVhbFRvU3RyaW5nKCJydWxlc1syXS5jc3NSdWxlc1swXS5jb25kaXRpb25UZXh0IiwgIiggcGFk
ZGluZzogMCkiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NSdWxlc1sxXS5j
c3NSdWxlcy5sZW5ndGgiLCAxKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMl0uY3NzUnVsZXNbMF0u
Y3NzUnVsZXNbMF0udHlwZSIsICJDU1NSdWxlLlBBR0VfUlVMRSIpOworICAgIHNob3VsZEJlRXF1
YWxUb1N0cmluZygicnVsZXNbMl0uY3NzVGV4dCIsCisgICAgICAgICAgICAgICAgICAgICAgICAg
ICJAbWVkaWEgYWxsIHsgXG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgQHN1cHBv
cnRzICggcGFkZGluZzogMCkge1xuIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICIgIEBw
YWdlIDpsZWZ0IHsgdG9wOiAwcHg7IH1cbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAi
fVxuIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ9Iik7CisKKworICAgIGRlYnVnKCJc
bk5vIGV4dHJhIHBhcmVucyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbmRpdGlvblRleHQuIik7
CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJydWxlc1szXS5jb25kaXRpb25UZXh0IiwgIihi
b3JkZXI6IGJsYWNrKSBhbmQgKHBhZGRpbmc6IDApIGFuZCAod2lkdGg6IDApIik7CisKKworICAg
IGRlYnVnKCJcbkRlbGV0aW5nIGEgdG9wLWxldmVsIHJ1bGUgc2hvdWxkIHdvcmsgY29ycmVjdGx5
LiIpOworICAgIGV2YWxBbmRMb2coImRvY3VtZW50LnN0eWxlU2hlZXRzWzFdLmRlbGV0ZVJ1bGUo
MykiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlcy5sZW5ndGgiLCAzKTsKKyAgICBzaG91
bGRCZSgicnVsZXNbMF0udHlwZSIsICJDU1NSdWxlLlNVUFBPUlRTX1JVTEUiKTsKKyAgICBzaG91
bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NSdWxlcy5sZW5ndGgiLCAyKTsKKyAgICBzaG91bGRC
ZSgicnVsZXNbMF0uY3NzUnVsZXNbMF0udHlwZSIsICJDU1NSdWxlLlNUWUxFX1JVTEUiKTsKKyAg
ICBzaG91bGRCZSgicnVsZXNbMF0uY3NzUnVsZXNbMV0udHlwZSIsICJDU1NSdWxlLlNVUFBPUlRT
X1JVTEUiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NS
dWxlcy5sZW5ndGgiLCAxKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMF0uY3NzUnVsZXNbMV0uY3Nz
UnVsZXNbMF0udHlwZSIsICJDU1NSdWxlLlNUWUxFX1JVTEUiKTsKKworPC9zY3JpcHQ+Cis8c2Ny
aXB0IHNyYz0iLi4vZmFzdC9qcy9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4K
KzwvYm9keT4KKzwvaHRtbD4KKwpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvY3NzMy9zdXBwb3J0
cy1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWV4cGVjdGVkLnR4dApp
bmRleCBkNzdlNzJmNzcwNWVmZjE1NWUzMzU3Njk4NzQ0OGMwYTFiMTViZmQyLi40MWE3NmJhYzNm
M2JmYjJmY2E0ZmI0MGRjOGQwNDUzOWI5YWYyMWM3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9j
c3MzL3N1cHBvcnRzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRz
LWV4cGVjdGVkLnR4dApAQCAtMzgsNiArMzgsOCBAQCBQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzMScpKS5jb250ZW50IGlzICJBUFBMSUVEIgogUEFTUyBn
ZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0MzInKSkuY29udGVudCBp
cyAiQVBQTElFRCIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgndDMzJykpLmNvbnRlbnQgaXMgIkFQUExJRUQiCiBQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzNCcpKS5jb250ZW50IGlzICJVTlRPVUNIRUQiCitQQVNT
IGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzNScpKS5jb250ZW50
IGlzICJBUFBMSUVEIgorUEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRC
eUlkKCd0MzYnKSkuY29udGVudCBpcyAiVU5UT1VDSEVEIgogUEFTUyBzdWNjZXNzZnVsbHlQYXJz
ZWQgaXMgdHJ1ZQogCiBURVNUIENPTVBMRVRFCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3Mz
L3N1cHBvcnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLmh0bWwKaW5kZXggMWU2
OGM5YzY4NTQ4NWQ3YTgxY2JmNGMwYTZmYjZjYmY5ZjFhYWNhMS4uNDQzNDdkYWU1OThmY2E4ZWMw
YmI1MTNhYzg2NGI3Zjk1NDNlZjIwZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvY3NzMy9zdXBw
b3J0cy5odG1sCisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMuaHRtbApAQCAtODQsMjQg
Kzg0LDYgQEAKICAgICAgICAgI3QxNyB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9CiAgICAgfQogCi0g
ICAgLyogTmVzdGluZy4gKi8KLSAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IG5vbmUpIHsKLSAgICAg
ICAgQHN1cHBvcnRzIChkaXNwbGF5OiBkZWFkYmVlZikgewotICAgICAgICAgICAgI3QxOCB7IGNv
bnRlbnQ6ICJGQUlMIiB9Ci0gICAgICAgIH0KLSAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBp
bmxpbmUpIHsKLSAgICAgICAgICAgICN0MTkgeyBjb250ZW50OiAiQVBQTElFRCIgfQotICAgICAg
ICB9Ci0gICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogaW5saW5lKSB7Ci0gICAgICAgIH0KLSAg
ICAgICAgQG1lZGlhIGFsbCB7Ci0gICAgICAgICAgICAjdDIwIHsgY29udGVudDogIkFQUExJRUQi
IH0KLSAgICAgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTogaW5saW5lKSB7Ci0gICAgICAgICAg
ICAgICAgI3QyMSB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9Ci0gICAgICAgICAgICB9Ci0gICAgICAg
IH0KLSAgICB9Ci0KICAgICAvKiBXaGl0ZXNwYWNlL1N5bnRheCAqLwogICAgIEBzdXBwb3J0cyBu
b3QoIGRpc3BsYXk6IGRlYWRiZWVmKSB7CiAgICAgICAgICN0MjIgeyBjb250ZW50OiAiQVBQTElF
RCIgfQpAQCAtMTU3LDYgKzEzOSwzOSBAQAogICAgICAgICAjdDM0IHsgY29udGVudDogIkZBSUwi
IH0KICAgICB9CiAKKyAgICAvKiBOZXN0aW5nLiAqLworICAgIEBzdXBwb3J0cyAoZGlzcGxheTog
bm9uZSkgeworICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGRlYWRiZWVmKSB7CisgICAgICAg
ICAgICAjdDE4IHsgY29udGVudDogIkZBSUwiIH0KKyAgICAgICAgfQorICAgICAgICBAc3VwcG9y
dHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICAgICAgI3QxOSB7IGNvbnRlbnQ6ICJBUFBM
SUVEIiB9CisgICAgICAgIH0KKyAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBpbmxpbmUpIHsK
KyAgICAgICAgfQorICAgICAgICBAbWVkaWEgYWxsIHsKKyAgICAgICAgICAgICN0MjAgeyBjb250
ZW50OiAiQVBQTElFRCIgfQorICAgICAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBpbmxpbmUp
IHsKKyAgICAgICAgICAgICAgICAjdDIxIHsgY29udGVudDogIkFQUExJRUQiIH0KKyAgICAgICAg
ICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIEBtZWRpYSBhbGwgeworICAgICAgICBAc3Vw
cG9ydHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICAgICAgQG1lZGlhIGFsbCB7CisgICAg
ICAgICAgICAgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBub25lKSB7CisgICAgICAgICAgICAgICAg
ICAgICN0MzUgeyBjb250ZW50OiAiQVBQTElFRCIgfQorICAgICAgICAgICAgICAgIH0KKyAgICAg
ICAgICAgIH0KKyAgICAgICAgfQorICAgIH0KKworICAgIEBtZWRpYSBub3QgYWxsIHsKKyAgICAg
ICAgQHN1cHBvcnRzIChkaXNwbGF5OiBub25lKSB7CisgICAgICAgICAgICAjdDM2IHsgY29udGVu
dDogIkZBSUwiIH0KKyAgICAgICAgfQorICAgIH0KIDwvc3R5bGU+CiA8L2hlYWQ+CiA8Ym9keT4K
QEAgLTE2NCw4ICsxNzksOCBAQAogCiA8c2NyaXB0PgogICAgIGRlc2NyaXB0aW9uKCJUZXN0IHRo
ZSBAc3VwcG9ydHMgcnVsZS4iKTsKLSAgICB2YXIgbnVtVGVzdHMgPSAzNTsKLSAgICB2YXIgdW50
b3VjaGVkVGVzdHMgPSBbMSwgMywgNSwgOCwgMTIsIDEzLCAxNCwgMTgsIDI4LCAyOSwgMzRdOyAv
LyBUZXN0cyB3aG9zZSBjb250ZW50IHNob3VsZG4ndCBjaGFuZ2UgZnJvbSB0aGUgVU5UT1VDSEVE
IGRlZmF1bHQuCisgICAgdmFyIG51bVRlc3RzID0gMzc7CisgICAgdmFyIHVudG91Y2hlZFRlc3Rz
ID0gWzEsIDMsIDUsIDgsIDEyLCAxMywgMTQsIDE4LCAyOCwgMjksIDM0LCAzNl07IC8vIFRlc3Rz
IHdob3NlIGNvbnRlbnQgc2hvdWxkbid0IGNoYW5nZSBmcm9tIHRoZSBVTlRPVUNIRUQgZGVmYXVs
dC4KIAogICAgIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgidGVzdF9j
b250YWluZXIiKTsKICAgICBmb3IgKHZhciBpPTA7IGkgPCBudW1UZXN0czsgaSsrKSB7CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVjdGF0aW9ucwppbmRleCA0NDE1
Mzc4ZDAyNzM4YTllNDQ0NDFiNzVjMWM4MDg4NWQ4OGE4NzBkLi4xZDA2ZGY1YmQ0YmJmMzYzMjlj
NTVkMTU5ODAxNTQwZTI1OWNmM2VkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9j
aHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9t
aXVtL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTM5MzIsNiArMzkzMiw3IEBAIHdlYmtpdC5vcmcvYi85
NTEyMSBbIEFuZHJvaWQgXSBmYXN0L2JvcmRlcnMvYm9yZGVyLWltYWdlLXNpZGUtcmVkdWN0aW9u
Lmh0bWwgWyBJCiAKICMgY3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJs
ZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2Iv
MTA0ODIyIGNzczMvc3VwcG9ydHMtY3Nzb20uaHRtbAogCiAjIENTUyBEZXZpY2UgQWRhcHRhdGlv
biBpcyBub3QgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1hZGFwdCBb
IFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZWZsL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBk
NjE2ZmRlMDIzN2RmNGM4MzY4NDcxZmU2ODk1NDI5Nzk4MmYyNDBhLi4zMWJiMjM3YjU2YzU1NGUw
MTAyZDBlMTM0Yzk2MTJiZDlmNWY1YjA1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9lZmwvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTU1OCw2ICsxNTU4LDcgQEAgd2Via2l0Lm9yZy9iLzk5ODc4IGNz
czMvZmxleGJveC9mbGV4Ym94LWJhc2VsaW5lLW1hcmdpbnMuaHRtbCBbIE1pc3NpbmcgSW1hZ2VP
bmwKIAogIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdl
YmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDQ4MjIg
Y3NzMy9zdXBwb3J0cy1jc3NvbS5odG1sCiAKICMgT2NjYXNpb25hbGx5IGZhaWxzIGlmIHJ1biBh
ZnRlciByaWdodCBhZnRlcgogIyBmYXN0L3NlbGVjdG9ycy91bnF1YWxpZmllZC1ob3Zlci1xdWly
a3MuaHRtbCBvciBpdHNlbGYuCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9ndGsv
VGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zCmluZGV4IDg0YjFlYzFkZTYzNTkxMmFjYzJhZmJlMzZjNDYxMjRhOTZhYzk3ZTYuLjAwOWJj
MTBhZDYyNzBkMjgwYTNlMjlmN2NlNWY2MzIwYzU3ZTEyNTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRm
b3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zCkBAIC00MDgsNiArNDA4LDcgQEAgd2Via2l0Lm9yZy9i
Lzk5MDU5IGZhc3QvZG9tL3RpbWVyLXRocm90dGxpbmctaGlkZGVuLXBhZ2UuaHRtbCBbIEZhaWx1
cmUgXQogCiAjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgog
d2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAord2Via2l0Lm9yZy9iLzEwNDgy
MiBjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwKIAogIyBSZXF1aXJlcyBSZXNvbHV0aW9uIE1lZGlh
IFF1ZXJ5IHN1cHBvcnQKIHdlYmtpdC5vcmcvYi8xMDAxMzcgZmFzdC9tZWRpYS9tcS1yZXNvbHV0
aW9uLmh0bWwgWyBGYWlsdXJlIF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21h
Yy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggOWVlNDYzZTJiMDJmNjM2YzViODQxMGY3M2FkN2E4NzgzNWI2YjllNS4uMzQ3
OGNlZWQ0NmQ2NzUxNmFiM2EyOGVlNmI0MDdiOTJmMTI3MWYyYyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vbWFjL1Rlc3RFeHBlY3RhdGlvbnMKQEAgLTExNjEsNiArMTE2MSw3IEBAIHdlYmtpdC5v
cmcvYi85MjQ2NCBbIERlYnVnIF0gZmFzdC9ldmVudHMvdGFiaW5kZXgtZm9jdXMtYmx1ci1hbGwu
aHRtbCBbIENyYXNoIFBhCiAKICMgY3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0
IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQu
b3JnL2IvMTA0ODIyIGNzczMvc3VwcG9ydHMtY3Nzb20uaHRtbAogCiAjIENTUyBEZXZpY2UgQWRh
cHRhdGlvbiBpcyBub3QgZW5hYmxlZC4KIHdlYmtpdC5vcmcvYi85NTk1OSBjc3MzL2RldmljZS1h
ZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4
cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnMKaW5k
ZXggZjhkMzgxYmUwZTgyYzZiZGQ2ZjMyOTVmYzg2ZTBkZGFiMTQwNWY0Zi4uOGEzN2M2N2QwODQ5
YjVkNmZjYzc0MjM4MjgyZWFmOTI4M2Q3YzAyNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxh
dGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9U
ZXN0RXhwZWN0YXRpb25zCkBAIC0yMzkwLDYgKzIzOTAsNyBAQCB3ZWJraXQub3JnL2IvMjMxNjYg
aWV0ZXN0Y2VudGVyL2NzczMvYm9yZGVyc2JhY2tncm91bmRzL2JvcmRlci1yYWRpdXMtY2xpcC0w
MDIuaAogCiAjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgog
d2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAord2Via2l0Lm9yZy9iLzEwNDgy
MiBjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwKIAogIyBDU1MgRGV2aWNlIEFkYXB0YXRpb24gaXMg
bm90IGVuYWJsZWQuCiB3ZWJraXQub3JnL2IvOTU5NjkgY3NzMy9kZXZpY2UtYWRhcHQgWyBTa2lw
IF0KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbi9UZXN0RXhwZWN0YXRpb25z
IGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggY2E5ODFh
ODI3NzMxM2JkMzc5YzhjMmExZTU4MTJmOTRjMzI3ZDYwNS4uZDFjNzAwZWI3MjI4YTAxZmU3NTY0
YTYyYzMxYWRkMmM2M2NhOTQyZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2lu
L1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnMKQEAgLTIzODgsOCArMjM4OCw5IEBAIGNzczMvZmxleGJveC9mbGV4Ym94LWJhc2Vs
aW5lLmh0bWwKICNodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTk4NzgK
IGNzczMvZmxleGJveC9mbGV4Ym94LWJhc2VsaW5lLW1hcmdpbnMuaHRtbAogCi0jIGNzczMtY29u
ZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLiBodHRwOi8vd2Via2l0Lm9yZy9i
Lzg2MTQ2CisjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLiBo
dHRwOi8vd2Via2l0Lm9yZy9iLzg2MTQ2IGh0dHA6Ly93ZWJraXQub3JnL2IvMTA0ODIyCiBjc3Mz
L3N1cHBvcnRzLmh0bWwKK2NzczMvc3VwcG9ydHMtY3Nzb20uaHRtbAogCiAjIGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05ODE2OQogaHR0cC90ZXN0cy9pbnNwZWN0b3Iv
c3RhY2t0cmFjZXMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rl
c3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW5jYWlyby9UZXN0RXhwZWN0
YXRpb25zCmluZGV4IDFmZTU0ZTU3NGMxNDI1M2M2NWY0MjkzNjQ5ZTFjYjA4ZGExZjQwODUuLjg1
YzRlM2I5MGY0YjYzZGQ1YTMxNDc2MDVjZWEwZmQyZDA0NWZmNWUgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucwpAQCAtMjg5Myw4ICsyODkzLDkg
QEAgY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFzZWxpbmUuaHRtbAogI2h0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTg3OAogY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFzZWxp
bmUtbWFyZ2lucy5odG1sCiAKLSMgY3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0
IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvODYxNDYKKyMgY3NzMy1jb25kaXRpb25hbHMg
c3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvODYxNDYgaHR0
cDovL3dlYmtpdC5vcmcvYi8xMDQ4MjIKIGNzczMvc3VwcG9ydHMuaHRtbAorY3NzMy9zdXBwb3J0
cy1jc3NvbS5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lk
PTk4MTY5CiBodHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcwpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vd2syL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwppbmRleCAyNWRkOGFlMDAxM2M4OTgyYjNmMzdhODlj
NmU3YWIyOGY4Yjk2NTRjLi4wYTc5YWI2NTkyNGQ0YzZmMGExZTk1NzU2YzRiYTFjNDBiZjkxMzgz
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwor
KysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucwpAQCAtMzQ1LDYg
KzM0NSw3IEBAIGh0dHAvdGVzdHMvc2VjdXJpdHkvcmVmZXJyZXItcG9saWN5LXJlZGlyZWN0LWxp
bmsuaHRtbAogCiAjIGNzczMtY29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVk
Lgogd2Via2l0Lm9yZy9iLzg2MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAord2Via2l0Lm9yZy9iLzEw
NDgyMiBjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwKIAogIyBUZXh0IEF1dG9zaXppbmcgaXMgbm90
IHlldCBlbmFibGVkLgogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
ODQxODYK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>182627</attachid>
            <date>2013-01-14 14:17:23 -0800</date>
            <delta_ts>2013-01-16 03:33:08 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-104822-20130114141423.patch</filename>
            <type>text/plain</type>
            <size>69932</size>
            <attacher name="Pablo Flouret">pf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTM5NjI0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNjdmOWJiYzQ1MDIxMmMy
YjQ5ZWQ4NzhmOTI4NmFmODQ2NTRhN2QxZC4uM2FlN2M3YmViOTgxYmQyMzk2ODJmMjczM2Y2NmYx
MDc1ZDkzODRlNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDk0IEBACisyMDEzLTAxLTE0ICBQYWJs
byBGbG91cmV0ICA8cGFibG9mQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBJbXBsZW1lbnQgQ1NT
U3VwcG9ydHNSdWxlCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMDQ4MjIKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBodHRwOi8vZGV2LnczLm9yZy9jc3N3Zy9jc3MzLWNvbmRpdGlvbmFsLyN0aGUtY3Nzc3Vw
cG9ydHNydWxlLWludGVyZmFjZQorCisgICAgICAgIFJpZ2h0IG5vdywgQHN1cHBvcnRzIGlzIG5v
dCBpbXBsZW1lbnRlZCBhcyBhIHByb3BlciBDU1NSdWxlLiBBcGFydCBmcm9tCisgICAgICAgIHRo
ZSBDU1NPTSBpbXBsaWNhdGlvbnMgaXQgZ2l2ZXMgd3JvbmcgcmVzdWx0cyB3aGVuLCBmb3IgaW5z
dGFuY2UsIGFuCisgICAgICAgIEBzdXBwb3J0cyBydWxlIGlzIG5lc3RlZCBpbnNpZGUgYSBAbWVk
aWEgcnVsZS4KKworICAgICAgICBUZXN0OiBjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwKKworICAg
ICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLmNwcDoKKyAg
ICAgICAgKiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLnBy
aToKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5saXN0LmFtOgorICAgICAgICAqIFRhcmdldC5wcmk6
CisgICAgICAgICogV2ViQ29yZS5leHAuaW46CisgICAgICAgICogV2ViQ29yZS5neXBpOgorICAg
ICAgICAqIFdlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qOgorICAgICAgICAqIFdlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgICAgIEFkZCBDU1NTdXBwb3J0c1J1
bGUuKiBhbmQgYXNzb2NpYXRlZCBmaWxlcy4KKworICAgICAgICAqIGJpbmRpbmdzL2pzL0pTQ1NT
UnVsZUN1c3RvbS5jcHA6CisgICAgICAgIChXZWJDb3JlOjp0b0pTKToKKyAgICAgICAgKiBiaW5k
aW5ncy9vYmpjL0RPTUNTUy5tbToKKyAgICAgICAgKGtpdENsYXNzKToKKyAgICAgICAgKiBiaW5k
aW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ondy
YXApOgorICAgICAgICAgICAgQ3JlYXRlIHRoZSBjb3JyZWN0IHdyYXBwZXJzIGZvciB0aGUgcnVs
ZS4KKworICAgICAgICAqIGNzcy9DU1NHcmFtbWFyLnkuaW46CisgICAgICAgICogY3NzL0NTU1Bh
cnNlci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6OmNyZWF0ZVN1cHBvcnRzUnVs
ZSk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtTdXBwb3J0c1J1bGVIZWFkZXJT
dGFydCk6CisgICAgICAgIChXZWJDb3JlOjpDU1NQYXJzZXI6Om1hcmtTdXBwb3J0c1J1bGVIZWFk
ZXJFbmQpOgorICAgICAgICAqIGNzcy9DU1NQYXJzZXIuaDoKKyAgICAgICAgICAgIENyZWF0ZSB0
aGUgc3VwcG9ydHMgcnVsZSB3aGVuIHBhcnNpbmcgYW5kIGFkZCBpdCB3aGVyZSBpdCBjb3JyZXNw
b25kcywKKyAgICAgICAgICAgIGluc3RlYWQgb2YgZGlyZWN0bHkgYWRkaW5nIHRoZSBjaGlsZCBy
dWxlcyB0byB0aGUgc3R5bGVzaGVldC4KKworICAgICAgICAqIGNzcy9DU1NQcm9wZXJ0eVNvdXJj
ZURhdGEuaDoKKyAgICAgICAgKiBjc3MvQ1NTUnVsZS5oOgorICAgICAgICAqIGNzcy9DU1NSdWxl
LmlkbDoKKyAgICAgICAgICAgIEFkZCBTVVBQT1JUU19SVUxFIHR5cGUgdG8gZW51bXMuCisKKyAg
ICAgICAgKiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJDb3Jl
OjpDU1NTdXBwb3J0c1J1bGU6OkNTU1N1cHBvcnRzUnVsZSk6CisgICAgICAgIChXZWJDb3JlOjpD
U1NTdXBwb3J0c1J1bGU6On5DU1NTdXBwb3J0c1J1bGUpOgorICAgICAgICAoV2ViQ29yZTo6Q1NT
U3VwcG9ydHNSdWxlOjpjc3NUZXh0KToKKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVs
ZTo6Y29uZGl0aW9uVGV4dCk6CisgICAgICAgICogY3NzL0NTU1N1cHBvcnRzUnVsZS5oOiBBZGRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OkNTU1N1cHBvcnRzUnVsZTo6Y3JlYXRlKToKKyAgICAgICAg
KiBjc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbDogQWRkZWQuCisgICAgICAgICAgICBET00gaW50ZXJm
YWNlLgorCisgICAgICAgICogY3NzL1J1bGVTZXQuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UnVs
ZVNldDo6YWRkQ2hpbGRSdWxlcyk6CisgICAgICAgICAgICBBZGQgcnVsZXMgaW5jbHVkZWQgaW4g
dGhlIEBzdXBwb3J0cyBydWxlLgorCisgICAgICAgICogY3NzL1N0eWxlUmVzb2x2ZXIuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6Y29sbGVjdENTU09NV3JhcHBlcnMpOgorICAgICAgICAgICAgQ29s
bGVjdCBDU1NTdXBwb3J0c1J1bGUgd3JhcHBlcnMuCisKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxl
LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OnJlcG9ydE1lbW9yeVVzYWdl
KToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJhc2U6OmRlc3Ryb3kpOgorICAgICAgICAo
V2ViQ29yZTo6U3R5bGVSdWxlQmFzZTo6Y29weSk6CisgICAgICAgIChXZWJDb3JlOjpTdHlsZVJ1
bGVCYXNlOjpjcmVhdGVDU1NPTVdyYXBwZXIpOgorICAgICAgICAoV2ViQ29yZTo6U3R5bGVSdWxl
U3VwcG9ydHM6OlN0eWxlUnVsZVN1cHBvcnRzKToKKyAgICAgICAgKiBjc3MvU3R5bGVSdWxlLmg6
CisgICAgICAgIChTdHlsZVJ1bGVCYXNlKToKKyAgICAgICAgKFdlYkNvcmU6OlN0eWxlUnVsZUJh
c2U6OmlzU3VwcG9ydHNSdWxlKToKKyAgICAgICAgKFN0eWxlUnVsZVN1cHBvcnRzKToKKyAgICAg
ICAgKFdlYkNvcmU6OlN0eWxlUnVsZVN1cHBvcnRzOjpjcmVhdGUpOgorICAgICAgICAoV2ViQ29y
ZTo6U3R5bGVSdWxlU3VwcG9ydHM6OmNvbmRpdGlvblRleHQpOgorICAgICAgICAoV2ViQ29yZTo6
U3R5bGVSdWxlU3VwcG9ydHM6OmNvbmRpdGlvbklzU3VwcG9ydGVkKToKKyAgICAgICAgKFdlYkNv
cmU6OlN0eWxlUnVsZVN1cHBvcnRzOjpjb3B5KToKKyAgICAgICAgKFdlYkNvcmU6OnRvU3R5bGVS
dWxlU3VwcG9ydHMpOgorICAgICAgICAgICAgTmV3IHN1YmNsYXNzIG9mIFN0eWxlUnVsZUJsb2Nr
OiBTdHlsZVJ1bGVTdXBwb3J0cy4KKworICAgICAgICAqIGNzcy9TdHlsZVNoZWV0Q29udGVudHMu
Y3BwOgorICAgICAgICAoV2ViQ29yZTo6Y2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNlbGVkU3Vi
cmVzb3VyY2VzKToKKyAgICAgICAgKiBpbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHA6
CisgICAgICAgIChmbGF0dGVuU291cmNlRGF0YSk6CisgICAgICAgIChXZWJDb3JlOjphc0NTU1J1
bGVMaXN0KToKKyAgICAgICAgICAgIEhhbmRsZSBAc3VwcG9ydHMgcnVsZXMgd2hlcmUgbmVlZGVk
LgorCiAyMDEzLTAxLTE0ICBLZW50YXJvIEhhcmEgIDxoYXJha2VuQGNocm9taXVtLm9yZz4KIAog
ICAgICAgICBbVjhdIE1ha2UgYW4gSXNvbGF0ZSBwYXJhbWV0ZXIgbWFuZGF0b3J5IGluIGFzc29j
aWF0ZU9iamVjdFdpdGhXcmFwcGVyKCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggNjg0YjliZTY3
MzQ1ODM3ODVlOTdiOWEwZGQ2ZmViZjU5ZmVkNTM4Yi4uYzJkOTIxZDFhMDQ1YzRlMjljOTE0NDQy
ZWI3MzBiYTRkNzE1NDdkNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTMyMSw2ICszMjEsNyBA
QCBzZXQoV2ViQ29yZV9JRExfRklMRVMKICAgICBjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwK
ICAgICBjc3MvQ1NTU3R5bGVSdWxlLmlkbAogICAgIGNzcy9DU1NTdHlsZVNoZWV0LmlkbAorICAg
IGNzcy9DU1NTdXBwb3J0c1J1bGUuaWRsCiAgICAgY3NzL0NTU1ZhbHVlLmlkbAogICAgIGNzcy9D
U1NWYWx1ZUxpc3QuaWRsCiAgICAgY3NzL01lZGlhTGlzdC5pZGwKQEAgLTEwNTUsNiArMTA1Niw3
IEBAIHNldChXZWJDb3JlX1NPVVJDRVMKICAgICBjc3MvQ1NTU2VsZWN0b3JMaXN0LmNwcAogICAg
IGNzcy9DU1NTdHlsZVJ1bGUuY3BwCiAgICAgY3NzL0NTU1N0eWxlU2hlZXQuY3BwCisgICAgY3Nz
L0NTU1N1cHBvcnRzUnVsZS5jcHAKICAgICBjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAK
ICAgICBjc3MvQ1NTVG9TdHlsZU1hcC5jcHAKICAgICBjc3MvQ1NTVW5pY29kZVJhbmdlVmFsdWUu
Y3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAgYi9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5jcHAKaW5kZXggYTNkN2YyOTFkZWIxNzE3NDJjZTJl
MGU0Zjc4ZGY5YWZlOGNiYmI1NC4uMGZjMTQ0NDc5ODJlZDYyZGExNjczNDU0YjI2ZjllYzY1MjFj
NmM5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLmNwcApAQCAtNjQsNiArNjQsNyBAQAogI2lu
Y2x1ZGUgIkpTQ1NTU3R5bGVEZWNsYXJhdGlvbi5jcHAiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZVJ1
bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTU3R5bGVTaGVldC5jcHAiCisjaW5jbHVkZSAiSlNDU1NT
dXBwb3J0c1J1bGUuY3BwIgogI2luY2x1ZGUgIkpTQ1NTVmFsdWUuY3BwIgogI2luY2x1ZGUgIkpT
Q1NTVmFsdWVMaXN0LmNwcCIKICNpbmNsdWRlICJKU0N1c3RvbUV2ZW50LmNwcCIKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGYzYTJhMWJjNWQwMWI2NTNiZDU0ODY0ODU3YmUxMzI0
N2NkMGI3YmYuLjFiMjA1ZGI1MzY1ZmM1OTZiYmFlYTJlZjY3YTI0OTFmNWViMjljZTAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMTc4LDYgKzE3OCw3IEBAIEJJTkRJTkdfSURM
UyA9IFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZURlY2xhcmF0aW9uLmlkbCBcCiAgICAg
JChXZWJDb3JlKS9jc3MvQ1NTU3R5bGVSdWxlLmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvQ1NT
U3R5bGVTaGVldC5pZGwgXAorICAgICQoV2ViQ29yZSkvY3NzL0NTU1N1cHBvcnRzUnVsZS5pZGwg
XAogICAgICQoV2ViQ29yZSkvY3NzL0NTU1Vua25vd25SdWxlLmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9DU1NWYWx1ZUxpc3QuaWRs
IFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaSBiL1NvdXJj
ZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLnByaQppbmRleCA2ZGZiZDRlMzFiMzU2MDczYWRmOTI5
ZmU3OGFhZmFmNDJhNmY4NmZlLi5hOGI2YzJhZDEyZDU2ZDIwMTAzNGQxMTc5ODBmZjFjMDQ2M2Ux
YmYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5wcmkKKysrIGIv
U291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMucHJpCkBAIC0xOTgsNiArMTk4LDcgQEAgSURM
X0JJTkRJTkdTICs9IFwKICAgICAkJFBXRC9jc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwgXAog
ICAgICQkUFdEL2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTU3R5bGVT
aGVldC5pZGwgXAorICAgICQkUFdEL2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsIFwKICAgICAkJFBX
RC9jc3MvQ1NTVmFsdWUuaWRsIFwKICAgICAkJFBXRC9jc3MvQ1NTVmFsdWVMaXN0LmlkbCBcCiAg
ICAgJCRQV0QvY3NzL01lZGlhTGlzdC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
R05VbWFrZWZpbGUubGlzdC5hbSBiL1NvdXJjZS9XZWJDb3JlL0dOVW1ha2VmaWxlLmxpc3QuYW0K
aW5kZXggNDA0NmE5OTkzOTk2YWI1MmFhZjk0ZTE5ZmVjYTdmZDBmMmU2YTMyZS4uYTU4NTdiMTA3
Yjg0ODFjY2UwMzBjOWNhOGY4OGNmM2FmY2YyYmMyZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvR05VbWFrZWZpbGUubGlzdC5hbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9HTlVtYWtlZmlsZS5s
aXN0LmFtCkBAIC0xMzMsNiArMTMzLDggQEAgd2ViY29yZV9idWlsdF9zb3VyY2VzICs9IFwKIAlE
ZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVSdWxlLmggXAogCURlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NTdHlsZVNoZWV0LmNwcCBcCiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U0NTU1N0eWxlU2hlZXQuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N1cHBvcnRz
UnVsZS5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NTdXBwb3J0c1J1bGUuaCBc
CiAJRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNwcCBcCiAJRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmggXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNDU1NW
YWx1ZUxpc3QuY3BwIFwKQEAgLTEzMjcsNiArMTMyOSw3IEBAIGRvbV9iaW5kaW5nX2lkbHMgKz0g
XAogCSQoV2ViQ29yZSkvY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaWRsIFwKIAkkKFdlYkNvcmUp
L2Nzcy9DU1NTdHlsZVJ1bGUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NTdHlsZVNoZWV0Lmlk
bCBcCisJJChXZWJDb3JlKS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmlkbCBcCiAJJChXZWJDb3JlKS9j
c3MvQ1NTVmFsdWUuaWRsIFwKIAkkKFdlYkNvcmUpL2Nzcy9DU1NWYWx1ZUxpc3QuaWRsIFwKIAkk
KFdlYkNvcmUpL2Nzcy9Db3VudGVyLmlkbCBcCkBAIC0yNTkxLDYgKzI1OTQsOCBAQCB3ZWJjb3Jl
X3NvdXJjZXMgKz0gXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdHlsZVJ1bGUuaCBcCiAJU291
cmNlL1dlYkNvcmUvY3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKIAlTb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTU3R5bGVTaGVldC5oIFwKKwlTb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxlLmNw
cCBcCisJU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oIFwKIAlTb3VyY2UvV2Vi
Q29yZS9jc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgXAogCVNvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggXAogCVNvdXJjZS9XZWJDb3JlL2Nzcy9DU1NUb1N0
eWxlTWFwLmNwcCBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpIGIvU291
cmNlL1dlYkNvcmUvVGFyZ2V0LnByaQppbmRleCBlZGRmYTcyMjE3YzBhZmJlOTk1ZWU5NDYyOGJi
MzIwZDI5NTZjM2UwLi40ZTI4ZGU5ZDI5YmNjMTJhN2RhYmRjMGE1MTlhZDkyYjc1MmYwMDRiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9UYXJnZXQucHJpCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L1RhcmdldC5wcmkKQEAgLTI4Nyw2ICsyODcsNyBAQCBTT1VSQ0VTICs9IFwKICAgICBjc3MvQ1NT
U2VnbWVudGVkRm9udEZhY2UuY3BwIFwKICAgICBjc3MvQ1NTU3R5bGVSdWxlLmNwcCBcCiAgICAg
Y3NzL0NTU1N0eWxlU2hlZXQuY3BwIFwKKyAgICBjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCBcCiAg
ICAgY3NzL0NTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwIFwKICAgICBjc3MvQ1NTVG9TdHlsZU1h
cC5jcHAgXAogICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1ZS5jcHAgXApAQCAtMTQ5OCw2ICsx
NDk5LDcgQEAgSEVBREVSUyArPSBcCiAgICAgY3NzL0NTU1N0eWxlRGVjbGFyYXRpb24uaCBcCiAg
ICAgY3NzL0NTU1N0eWxlUnVsZS5oIFwKICAgICBjc3MvQ1NTU3R5bGVTaGVldC5oIFwKKyAgICBj
c3MvQ1NTU3VwcG9ydHNSdWxlLmggXAogICAgIGNzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgg
XAogICAgIGNzcy9DU1NUb1N0eWxlTWFwLmggXAogICAgIGNzcy9DU1NVbmljb2RlUmFuZ2VWYWx1
ZS5oIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZXhwLmluIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KaW5kZXggNzk3YTdmMWFhODA2YzhlYThhZmQ1MTc3OTQw
MGE5NzFjZDljMzRiMS4uNDk3ODM3ZTM4NTQ1MDJmN2FlYzE1MmUyMmM2MjU3OTk1ODk3NGE5NCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5leHAuaW4KKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS5leHAuaW4KQEAgLTE1NzUsNiArMTU3NSw3IEBAIF93a1NpZ25hbENGUmVh
ZFN0cmVhbUhhc0J5dGVzCiAub2JqY19jbGFzc19uYW1lX0RPTUNTU1J1bGVMaXN0CiAub2JqY19j
bGFzc19uYW1lX0RPTUNTU1N0eWxlUnVsZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NTdHlsZVNo
ZWV0Cisub2JqY19jbGFzc19uYW1lX0RPTUNTU1N1cHBvcnRzUnVsZQogLm9iamNfY2xhc3NfbmFt
ZV9ET01DU1NVbmtub3duUnVsZQogLm9iamNfY2xhc3NfbmFtZV9ET01DU1NWYWx1ZQogLm9iamNf
Y2xhc3NfbmFtZV9ET01DU1NWYWx1ZUxpc3QKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUuZ3lwaSBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUuZ3lwaQppbmRleCBhNGNhZDVmMGM3
MDhhMGJiNmIzOTdkNWYxMjU4Yzg0OTMyYTE2YTkzLi5hZWQyNzBiYjI3NmVhMTdmY2I0MDIwNWU0
ZjVmY2M0YmUxOTlhZDNiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLmd5cGkK
KysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS5neXBpCkBAIC0xNjksNiArMTY5LDcgQEAKICAg
ICAgICAgICAgICdjc3MvQ1NTU3R5bGVEZWNsYXJhdGlvbi5pZGwnLAogICAgICAgICAgICAgJ2Nz
cy9DU1NTdHlsZVJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTU3R5bGVTaGVldC5pZGwn
LAorICAgICAgICAgICAgJ2Nzcy9DU1NTdXBwb3J0c1J1bGUuaWRsJywKICAgICAgICAgICAgICdj
c3MvQ1NTVW5rbm93blJ1bGUuaWRsJywKICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWUuaWRsJywK
ICAgICAgICAgICAgICdjc3MvQ1NTVmFsdWVMaXN0LmlkbCcsCkBAIC0xNTA3LDYgKzE1MDgsOCBA
QAogICAgICAgICAgICAgJ2Nzcy9DU1NTdHlsZVJ1bGUuaCcsCiAgICAgICAgICAgICAnY3NzL0NT
U1N0eWxlU2hlZXQuY3BwJywKICAgICAgICAgICAgICdjc3MvQ1NTU3R5bGVTaGVldC5oJywKKyAg
ICAgICAgICAgICdjc3MvQ1NTU3VwcG9ydHNSdWxlLmNwcCcsCisgICAgICAgICAgICAnY3NzL0NT
U1N1cHBvcnRzUnVsZS5oJywKICAgICAgICAgICAgICdjc3MvQ1NTVGltaW5nRnVuY3Rpb25WYWx1
ZS5jcHAnLAogICAgICAgICAgICAgJ2Nzcy9DU1NUaW1pbmdGdW5jdGlvblZhbHVlLmgnLAogICAg
ICAgICAgICAgJ2Nzcy9DU1NUb1N0eWxlTWFwLmNwcCcsCkBAIC01NTc3LDYgKzU1ODAsOCBAQAog
ICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvRE9NQ1NT
U3R5bGVSdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdHlsZVNoZWV0Lm1tJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1N0eWxlU2hlZXRJbnRlcm5h
bC5oJywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0RPTUNTU1N1cHBvcnRzUnVsZS5tbScsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oJywKICAgICAg
ICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0RPTUNTU1Vua25v
d25SdWxlLm1tJywKICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9X
ZWJDb3JlL0RPTUNTU1Vua25vd25SdWxlSW50ZXJuYWwuaCcsCiAgICAgICAgICAgICAnPChQUk9E
VUNUX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9ET01DU1NWYWx1ZS5tbScsCkBAIC02MTM3
LDYgKzYxNDIsOCBAQAogICAgICAgICAgICAgJzwoUFJPRFVDVF9ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYkNvcmUvSlNDU1NTdHlsZVJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N0eWxlU2hlZXQuY3BwJywKICAgICAgICAgICAg
ICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTU3R5bGVTaGVldC5o
JywKKyAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
Q1NTU3VwcG9ydHNSdWxlLmNwcCcsCisgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZS9KU0NTU1N1cHBvcnRzUnVsZS5oJywKICAgICAgICAgICAgICc8KFBS
T0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NTVW5rbm93blJ1bGUuY3BwJywK
ICAgICAgICAgICAgICc8KFBST0RVQ1RfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTQ1NT
VW5rbm93blJ1bGUuaCcsCiAgICAgICAgICAgICAnPChQUk9EVUNUX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU0NTU1ZhbHVlLmNwcCcsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9X
ZWJDb3JlLnZjcHJvai9XZWJDb3JlLnZjcHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNw
cm9qL1dlYkNvcmUudmNwcm9qCmluZGV4IDk5Y2ExY2YzMjk2NjFhMTI0MTA1NmVlMjYxOGE2OTY1
ZDlkYTVkNTAuLjU2OWVjMjYxNGY5MTVjY2I3NzZjZDIxNjhjYWVmOGFjZmIwZWNjZDggMTAwNzU1
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUudmNwcm9qL1dlYkNvcmUudmNwcm9qCkBAIC0yMzYyLDYg
KzIzNjIsNjIgQEAKIAkJCQk+CiAJCQk8L0ZpbGU+CiAJCQk8RmlsZQorCQkJCVJlbGF0aXZlUGF0
aD0iJChDb25maWd1cmF0aW9uQnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291
cmNlc1xKU0NTU1N1cHBvcnRzUnVsZS5jcHAiCisJCQkJPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJEZWJ1Z3xXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUi
CisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJ
CS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJ
CQkJTmFtZT0iUmVsZWFzZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRGcm9tQnVpbGQ9InRydWUiCisJ
CQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21waWxlclRvb2wiCisJCQkJCS8+
CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNvbmZpZ3VyYXRpb24KKwkJCQkJ
TmFtZT0iRGVidWdfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0i
dHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIK
KwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlv
bgorCQkJCQlOYW1lPSJSZWxlYXNlX0NhaXJvX0NGTGl0ZXxXaW4zMiIKKwkJCQkJRXhjbHVkZWRG
cm9tQnVpbGQ9InRydWUiCisJCQkJCT4KKwkJCQkJPFRvb2wKKwkJCQkJCU5hbWU9IlZDQ0xDb21w
aWxlclRvb2wiCisJCQkJCS8+CisJCQkJPC9GaWxlQ29uZmlndXJhdGlvbj4KKwkJCQk8RmlsZUNv
bmZpZ3VyYXRpb24KKwkJCQkJTmFtZT0iRGVidWdfQWxsfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29u
ZmlndXJhdGlvbgorCQkJCQlOYW1lPSJQcm9kdWN0aW9ufFdpbjMyIgorCQkJCQlFeGNsdWRlZEZy
b21CdWlsZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBp
bGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJPC9GaWxlPgor
CQkJPEZpbGUKKwkJCQlSZWxhdGl2ZVBhdGg9IiQoQ29uZmlndXJhdGlvbkJ1aWxkRGlyKVxvYmpc
JChQcm9qZWN0TmFtZSlcRGVyaXZlZFNvdXJjZXNcSlNDU1NTdXBwb3J0c1J1bGUuaCIKKwkJCQk+
CisJCQk8L0ZpbGU+CisJCQk8RmlsZQogCQkJCVJlbGF0aXZlUGF0aD0iJChDb25maWd1cmF0aW9u
QnVpbGREaXIpXG9ialwkKFByb2plY3ROYW1lKVxEZXJpdmVkU291cmNlc1xKU0NTU1ZhbHVlLmNw
cCIKIAkJCQk+CiAJCQkJPEZpbGVDb25maWd1cmF0aW9uCkBAIC0zNzM3NCw2ICszNzQzMCw2MiBA
QAogCQkJCT4KIAkJCTwvRmlsZT4KIAkJCTxGaWxlCisJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3Nc
Q1NTU3VwcG9ydHNSdWxlLmNwcCIKKwkJCQk+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IkRlYnVnfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJ
PgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJ
CQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1l
PSJSZWxlYXNlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWlsZD0idHJ1ZSIKKwkJCQkJPgor
CQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9vbCIKKwkJCQkJLz4KKwkJCQk8
L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJhdGlvbgorCQkJCQlOYW1lPSJE
ZWJ1Z19DYWlyb19DRkxpdGV8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxkPSJ0cnVlIgor
CQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29sIgorCQkJCQkv
PgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0aW9uCisJCQkJ
CU5hbWU9IlJlbGVhc2VfQ2Fpcm9fQ0ZMaXRlfFdpbjMyIgorCQkJCQlFeGNsdWRlZEZyb21CdWls
ZD0idHJ1ZSIKKwkJCQkJPgorCQkJCQk8VG9vbAorCQkJCQkJTmFtZT0iVkNDTENvbXBpbGVyVG9v
bCIKKwkJCQkJLz4KKwkJCQk8L0ZpbGVDb25maWd1cmF0aW9uPgorCQkJCTxGaWxlQ29uZmlndXJh
dGlvbgorCQkJCQlOYW1lPSJEZWJ1Z19BbGx8V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQkJPEZpbGVDb25maWd1cmF0
aW9uCisJCQkJCU5hbWU9IlByb2R1Y3Rpb258V2luMzIiCisJCQkJCUV4Y2x1ZGVkRnJvbUJ1aWxk
PSJ0cnVlIgorCQkJCQk+CisJCQkJCTxUb29sCisJCQkJCQlOYW1lPSJWQ0NMQ29tcGlsZXJUb29s
IgorCQkJCQkvPgorCQkJCTwvRmlsZUNvbmZpZ3VyYXRpb24+CisJCQk8L0ZpbGU+CisJCQk8Rmls
ZQorCQkJCVJlbGF0aXZlUGF0aD0iLi5cY3NzXENTU1N1cHBvcnRzUnVsZS5oIgorCQkJCT4KKwkJ
CTwvRmlsZT4KKwkJCTxGaWxlCiAJCQkJUmVsYXRpdmVQYXRoPSIuLlxjc3NcQ1NTVGltaW5nRnVu
Y3Rpb25WYWx1ZS5jcHAiCiAJCQkJPgogCQkJCTxGaWxlQ29uZmlndXJhdGlvbgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDdmMTE0
MTQ4MjMxY2UxYTZiNTViM2YxODkzNDkxY2Q2MTI4OWNjMzMuLjA3Yzc0ZWQ5Mjg0ZDRhOGU3NWM3
YmE2YjU2MDlhMDg5MGY5OWIxOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTY0NDcsNiArNjQ0NywxNCBAQAogCQlGQkQ2QUY4
QzE1RUYyNjA0MDA4QjcxMTAgLyogQmFzaWNTaGFwZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZCRDZBRjgzMTVFRjIxQTMwMDhCNzExMCAvKiBCYXNp
Y1NoYXBlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUZCRDZBRjhEMTVFRjI2MEEwMDhCNzExMCAvKiBCYXNpY1NoYXBlcy5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQkQ2QUY4MjE1RUYyMUEzMDA4
QjcxMTAgLyogQmFzaWNTaGFwZXMuY3BwICovOyB9OwogCQlGQkY4OTA0NTE2OUU5RjFGMDA1MkQ4
NkUgLyogQ1NTR3JvdXBpbmdSdWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IEZCRjg5MDQ0MTY5RTlGMUYwMDUyRDg2RSAvKiBDU1NHcm91cGluZ1J1
bGUuY3BwICovOyB9OworCQlGQzYzQkRCMzE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNS
dWxlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZD
NjNCREIwMTY3QUFCQUMwMEY5MzgwRiAvKiBDU1NTdXBwb3J0c1J1bGUuY3BwICovOyB9OworCQlG
QzYzQkRCNDE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQzYzQkRCMTE2N0FBQkFDMDBGOTM4
MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggKi87IH07CisJCUZDN0U2NkU5MTY4MEVGMUYwMDI4Mzcx
NiAvKiBKU0NTU1N1cHBvcnRzUnVsZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBGQzg0ODAyRDE2N0FCNDQ0MDA4Q0QxMDAgLyogSlNDU1NTdXBwb3J0
c1J1bGUuY3BwICovOyB9OworCQlGQzdFNjZFQTE2ODBFRjIyMDAyODM3MTYgLyogSlNDU1NTdXBw
b3J0c1J1bGUuaCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEZDODQ4MDJFMTY3QUI0NDQwMDhDRDEwMCAvKiBKU0NTU1N1cHBvcnRzUnVsZS5oICovOyB9Owor
CQlGQ0Q4ODMyQTE2QTQ5RjgyMDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0Q4ODMyODE2QTQ5Rjgy
MDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggKi87IH07CisJCUZDRDg4MzJCMTZBNDlG
ODIwMDk2MjIyNyAvKiBET01DU1NTdXBwb3J0c1J1bGUubW0gaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0Q4ODMyOTE2QTQ5RjgyMDA5NjIyMjcgLyogRE9N
Q1NTU3VwcG9ydHNSdWxlLm1tICovOyB9OworCQlGQ0Q4ODMyQzE2QTQ5RkIwMDA5NjIyMjcgLyog
RE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBGQ0Q4ODMyODE2QTQ5RjgyMDA5NjIyMjcgLyogRE9N
Q1NTU3VwcG9ydHNSdWxlLmggKi87IH07CisJCUZDRUJCQUFCMTZBNDk2N0EwMEZBMjBBNiAvKiBE
T01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRkNFQkJBQUExNkE0OTY3QTAwRkEyMEE2IC8qIERPTUNTU1N1cHBv
cnRzUnVsZUludGVybmFsLmggKi87IH07CiAJCUZEMDBEN0E0MTRBM0Y2MTkwMDczNDAxMSAvKiBT
aW5jUmVzYW1wbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEZEMDBEN0EyMTRBM0Y2MTkwMDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmNwcCAqLzsg
fTsKIAkJRkQwMEQ3QTUxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEZEMDBEN0EzMTRBM0Y2MTkw
MDczNDAxMSAvKiBTaW5jUmVzYW1wbGVyLmggKi87IH07CiAJCUZEMDZERkE1MTM0QTRERUYwMDZG
NUQ3RCAvKiBEZWZhdWx0QXVkaW9EZXN0aW5hdGlvbk5vZGUuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRkQwNkRGQTMxMzRBNERFRjAwNkY1RDdEIC8q
IERlZmF1bHRBdWRpb0Rlc3RpbmF0aW9uTm9kZS5jcHAgKi87IH07CkBAIC02Nzc2LDYgKzY3ODQs
NyBAQAogCQkJCTFBQ0QxQjYzMEIwMjk3MzkwMDdFNTAxNiAvKiBET01DU1NTdHlsZURlY2xhcmF0
aW9uSW50ZXJuYWwuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTg1Rjc0RTA5
MEFBOERGOEMwMDBEQzI4NCAvKiBET01DU1NTdHlsZVJ1bGUuaCBpbiBDb3B5IEdlbmVyYXRlZCBI
ZWFkZXJzICovLAogCQkJCTg1OEMzOUJEMEFBOTA1RUYwMEIxODdBNCAvKiBET01DU1NTdHlsZVNo
ZWV0LmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVycyAqLywKKwkJCQlGQ0Q4ODMyQzE2QTQ5RkIw
MDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLmggaW4gQ29weSBHZW5lcmF0ZWQgSGVhZGVy
cyAqLywKIAkJCQk4NUY3NEUwQTBBQThERjhDMDAwREMyODQgLyogRE9NQ1NTVW5rbm93blJ1bGUu
aCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovLAogCQkJCTg1OEMzOUI4MEFBOTA1RUYwMEIx
ODdBNCAvKiBET01DU1NWYWx1ZS5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8sCiAJCQkJ
ODU4QzM5QkEwQUE5MDVFRjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5oIGluIENvcHkgR2Vu
ZXJhdGVkIEhlYWRlcnMgKi8sCkBAIC0xNDAyOCw2ICsxNDAzNywxNCBAQAogCQlGQkQ2QUY4NjE1
RUYyMUQ0MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gQ1NTQmFzaWNTaGFwZXMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlGQkQ2QUY4NzE1RUYyMUQ0MDA4QjcxMTAgLyogQ1NTQmFzaWNTaGFwZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTQmFzaWNTaGFwZXMuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkJGODkwNDQxNjlFOUYxRjAwNTJEODZFIC8qIENTU0dy
b3VwaW5nUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDU1NH
cm91cGluZ1J1bGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQzYzQkRCMDE2
N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IENTU1N1cHBvcnRzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUZDNjNCREIxMTY3QUFCQUMwMEY5MzgwRiAvKiBDU1NTdXBwb3J0c1J1bGUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ1NTU3VwcG9ydHNSdWxlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDNjNCREIyMTY3QUFCQUMwMEY5MzgwRiAvKiBD
U1NTdXBwb3J0c1J1bGUuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IENTU1N1cHBvcnRzUnVs
ZS5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDODQ4MDJEMTY3QUI0NDQwMDhD
RDEwMCAvKiBKU0NTU1N1cHBvcnRzUnVsZS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBKU0NTU1N1cHBvcnRzUnVsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUZDODQ4MDJFMTY3QUI0NDQwMDhDRDEwMCAvKiBKU0NTU1N1cHBvcnRzUnVsZS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU0NTU1N1cHBvcnRzUnVsZS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlGQ0Q4ODMyODE2QTQ5RjgyMDA5NjIyMjcgLyogRE9N
Q1NTU3VwcG9ydHNSdWxlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IERPTUNT
U1N1cHBvcnRzUnVsZS5oOyBwYXRoID0gRE9NQ1NTU3VwcG9ydHNSdWxlLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCUZDRDg4MzI5MTZBNDlGODIwMDk2MjIyNyAvKiBET01DU1NTdXBw
b3J0c1J1bGUubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBET01D
U1NTdXBwb3J0c1J1bGUubW07IHBhdGggPSBET01DU1NTdXBwb3J0c1J1bGUubW07IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCUZDRUJCQUFBMTZBNDk2N0EwMEZBMjBBNiAvKiBET01DU1NT
dXBwb3J0c1J1bGVJbnRlcm5hbC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBE
T01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oOyBwYXRoID0gRE9NQ1NTU3VwcG9ydHNSdWxlSW50
ZXJuYWwuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkNFQkNENzExNjIzQTc5MTAw
Mjk5NjVFIC8qIENTU0dyYW1tYXIueS5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUueWFjYzsgcGF0
aCA9IENTU0dyYW1tYXIueS5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRkNFQkNE
NzIxNjIzQTc5MTAwMjk5NjVFIC8qIENTU0dyYW1tYXIueS5pbmNsdWRlcyAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUueWFjYzsgcGF0aCA9IENTU0dyYW1tYXIueS5pbmNsdWRlczsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJRkQwMEQ3QTIxNEEzRjYxOTAwNzM0MDExIC8qIFNpbmNSZXNhbXBs
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gU2luY1Jlc2FtcGxl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNjQyNyw2ICsxNjQ0NCw4IEBA
CiAJCQkJODUwMzJERDQwQUE4QzlCRTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlUnVsZS5tbSAqLywK
IAkJCQk4NThDMzkyNjBBQThGRjlEMDBCMTg3QTQgLyogRE9NQ1NTU3R5bGVTaGVldC5oICovLAog
CQkJCTg1OEMzOTI3MEFBOEZGOUQwMEIxODdBNCAvKiBET01DU1NTdHlsZVNoZWV0Lm1tICovLAor
CQkJCUZDRDg4MzI4MTZBNDlGODIwMDk2MjIyNyAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCAqLywK
KwkJCQlGQ0Q4ODMyOTE2QTQ5RjgyMDA5NjIyMjcgLyogRE9NQ1NTU3VwcG9ydHNSdWxlLm1tICov
LAogCQkJCTg1MDMyREQ1MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5oICov
LAogCQkJCTg1MDMyREQ2MEFBOEM5QkUwMDdEM0I3RCAvKiBET01DU1NVbmtub3duUnVsZS5tbSAq
LywKIAkJCQk4NThDMzgxQTBBQThFMjk2MDBCMTg3QTQgLyogRE9NQ1NTVmFsdWUuaCAqLywKQEAg
LTE3MTI2LDYgKzE3MTQ1LDcgQEAKIAkJCQk4NUU3MTE0NDBBQzVENTM0MDA1MzI3MEYgLyogRE9N
Q1NTU3R5bGVEZWNsYXJhdGlvbkludGVybmFsLmggKi8sCiAJCQkJODU5MDlDRDkwQUNDN0E3RTAw
REYwMUYxIC8qIERPTUNTU1N0eWxlUnVsZUludGVybmFsLmggKi8sCiAJCQkJODU5MDlDREEwQUND
N0E3RTAwREYwMUYxIC8qIERPTUNTU1N0eWxlU2hlZXRJbnRlcm5hbC5oICovLAorCQkJCUZDRUJC
QUFBMTZBNDk2N0EwMEZBMjBBNiAvKiBET01DU1NTdXBwb3J0c1J1bGVJbnRlcm5hbC5oICovLAog
CQkJCTg1OTA5Q0RCMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NVbmtub3duUnVsZUludGVybmFs
LmggKi8sCiAJCQkJODVCNDk4RjIwQURCMzM2QTAwOTI1Q0JCIC8qIERPTUNTU1ZhbHVlSW50ZXJu
YWwuaCAqLywKIAkJCQk4NTkwOUQyODBBQ0M3RDU1MDBERjAxRjEgLyogRE9NQ1NTVmFsdWVMaXN0
SW50ZXJuYWwuaCAqLywKQEAgLTE5MjQ3LDYgKzE5MjY3LDggQEAKIAkJCQlCQzQ2QzIwNTBDMERE
Q0ExMDAyMENGQzMgLyogSlNDU1NTdHlsZVJ1bGUuaCAqLywKIAkJCQlCQ0M1QkRGRTBDMEU5MzEx
MDAxMUMyREIgLyogSlNDU1NTdHlsZVNoZWV0LmNwcCAqLywKIAkJCQlCQ0M1QkRGRjBDMEU5MzEx
MDAxMUMyREIgLyogSlNDU1NTdHlsZVNoZWV0LmggKi8sCisJCQkJRkM4NDgwMkQxNjdBQjQ0NDAw
OENEMTAwIC8qIEpTQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLywKKwkJCQlGQzg0ODAyRTE2N0FCNDQ0
MDA4Q0QxMDAgLyogSlNDU1NTdXBwb3J0c1J1bGUuaCAqLywKIAkJCQkxNENGNzhBMzA5RjU4Q0JG
MDBFQjM2NjUgLyogSlNDU1NWYWx1ZS5jcHAgKi8sCiAJCQkJMTRDRjc4QTUwOUY1OENEODAwRUIz
NjY1IC8qIEpTQ1NTVmFsdWUuaCAqLywKIAkJCQlBOEQwNUZBOTBBMjNCMzBGMDA1RTcyMDMgLyog
SlNDU1NWYWx1ZUxpc3QuY3BwICovLApAQCAtMjE2MDIsNiArMjE2MjQsOSBAQAogCQkJCUE4RUE4
MDAwMEExOTUxNkUwMEE4RUY1RiAvKiBDU1NTdHlsZVNoZWV0LmNwcCAqLywKIAkJCQlBOEVBN0ZG
RjBBMTk1MTZFMDBBOEVGNUYgLyogQ1NTU3R5bGVTaGVldC5oICovLAogCQkJCTg1OEMzOTEwMEFB
OEZGMDAwMEIxODdBNCAvKiBDU1NTdHlsZVNoZWV0LmlkbCAqLywKKwkJCQlGQzYzQkRCMDE2N0FB
QkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmNwcCAqLywKKwkJCQlGQzYzQkRCMTE2N0FB
QkFDMDBGOTM4MEYgLyogQ1NTU3VwcG9ydHNSdWxlLmggKi8sCisJCQkJRkM2M0JEQjIxNjdBQUJB
QzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5pZGwgKi8sCiAJCQkJQkM4MEM5ODUwQ0QyOTRF
RTAwQTBCN0IzIC8qIENTU1RpbWluZ0Z1bmN0aW9uVmFsdWUuY3BwICovLAogCQkJCUJDODBDOTg2
MENEMjk0RUUwMEEwQjdCMyAvKiBDU1NUaW1pbmdGdW5jdGlvblZhbHVlLmggKi8sCiAJCQkJQTg4
MkRBMUYxNTkzODQ2QTAwMDExNUVEIC8qIENTU1RvU3R5bGVNYXAuY3BwICovLApAQCAtMjMyMjQs
NiArMjMyNDksOCBAQAogCQkJCTg1OTA5Q0UyMEFDQzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHls
ZVJ1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODU4QzM5MjgwQUE4RkY5RDAwQjE4
N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTg1OTA5Q0UzMEFD
QzdBN0UwMERGMDFGMSAvKiBET01DU1NTdHlsZVNoZWV0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICov
LAorCQkJCUZDRDg4MzJBMTZBNDlGODIwMDk2MjIyNyAvKiBET01DU1NTdXBwb3J0c1J1bGUuaCBp
biBIZWFkZXJzICovLAorCQkJCUZDRUJCQUFCMTZBNDk2N0EwMEZBMjBBNiAvKiBET01DU1NTdXBw
b3J0c1J1bGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUwMzJERTkwQUE4QzlCRTAw
N0QzQjdEIC8qIERPTUNTU1Vua25vd25SdWxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTkwOUNF
NDBBQ0M3QTdFMDBERjAxRjEgLyogRE9NQ1NTVW5rbm93blJ1bGVJbnRlcm5hbC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJODU4QzM4MUMwQUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLmggaW4g
SGVhZGVycyAqLywKQEAgLTI2Njk1LDYgKzI2NzIyLDggQEAKIAkJCQlFNEMxNzg5QTBFRTY5MDM4
MDA4MjRENjkgLyogQ1NTU2VsZWN0b3JMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE4MEU2
Q0VGMEExOTg5Q0EwMDdGQjhDNSAvKiBDU1NTdHlsZVJ1bGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQThFQTgwMDgwQTE5NTE2RTAwQThFRjVGIC8qIENTU1N0eWxlU2hlZXQuY3BwIGluIFNvdXJj
ZXMgKi8sCisJCQkJRkM2M0JEQjMxNjdBQUJBQzAwRjkzODBGIC8qIENTU1N1cHBvcnRzUnVsZS5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQlGQzYzQkRCNDE2N0FBQkFDMDBGOTM4MEYgLyogQ1NTU3Vw
cG9ydHNSdWxlLmggaW4gU291cmNlcyAqLywKIAkJCQlCQzgwQzk4NzBDRDI5NEVFMDBBMEI3QjMg
LyogQ1NTVGltaW5nRnVuY3Rpb25WYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBODgyREEy
MDE1OTM4NDZBMDAwMTE1RUQgLyogQ1NTVG9TdHlsZU1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkzNzFGNTNFQTBEMjcwNEY5MDBFQ0UwRDUgLyogQ1NTVW5pY29kZVJhbmdlVmFsdWUuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC0yNjgxNSw2ICsyNjg0NCw3IEBACiAJCQkJODUwMzJERTYwQUE4QzlC
RTAwN0QzQjdEIC8qIERPTUNTU1N0eWxlRGVjbGFyYXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJ
CQk4NTAzMkRFODBBQThDOUJFMDA3RDNCN0QgLyogRE9NQ1NTU3R5bGVSdWxlLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJODU4QzM5MjkwQUE4RkY5RDAwQjE4N0E0IC8qIERPTUNTU1N0eWxlU2hlZXQu
bW0gaW4gU291cmNlcyAqLywKKwkJCQlGQ0Q4ODMyQjE2QTQ5RjgyMDA5NjIyMjcgLyogRE9NQ1NT
U3VwcG9ydHNSdWxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODUwMzJERUEwQUE4QzlCRTAwN0Qz
QjdEIC8qIERPTUNTU1Vua25vd25SdWxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODU4QzM4MUQw
QUE4RTI5NjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJODU4
QzM4M0QwQUE4RUQ4MjAwQjE4N0E0IC8qIERPTUNTU1ZhbHVlTGlzdC5tbSBpbiBTb3VyY2VzICov
LApAQCAtMjc2MzEsNiArMjc2NjEsOCBAQAogCQkJCUJDNDZDMjA2MEMwRERDQTEwMDIwQ0ZDMyAv
KiBKU0NTU1N0eWxlUnVsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFMUFEMTRFODEyOTczNzc0
MDBBQ0E5ODkgLyogSlNDU1NTdHlsZVJ1bGVDdXN0b20uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QkNDNUJFMDAwQzBFOTMxMTAwMTFDMkRCIC8qIEpTQ1NTU3R5bGVTaGVldC5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQlGQzdFNjZFOTE2ODBFRjFGMDAyODM3MTYgLyogSlNDU1NTdXBwb3J0c1J1bGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJRkM3RTY2RUExNjgwRUYyMjAwMjgzNzE2IC8qIEpTQ1NT
U3VwcG9ydHNSdWxlLmggaW4gU291cmNlcyAqLywKIAkJCQkxNENGNzhBNDA5RjU4Q0JGMDBFQjM2
NjUgLyogSlNDU1NWYWx1ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzIwRkI3RjBDMEU4RTZD
MDBEMTQ0N0YgLyogSlNDU1NWYWx1ZUN1c3RvbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBOEQw
NUZBQjBBMjNCMzBGMDA1RTcyMDMgLyogSlNDU1NWYWx1ZUxpc3QuY3BwIGluIFNvdXJjZXMgKi8s
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20u
Y3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvSlNDU1NSdWxlQ3VzdG9tLmNwcAppbmRl
eCAyYTQ2NWRjN2RjMWVkODc2NjA3ZDlhYWJmMjFhMjA3ZjMxNzVjMTliLi4wZDY3ZDEyYTAzM2M3
ZTZiNTcxNWJhMWQ4ZjE3MjcxOTNlZjEyMGI1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9i
aW5kaW5ncy9qcy9KU0NTU1J1bGVDdXN0b20uY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRp
bmdzL2pzL0pTQ1NTUnVsZUN1c3RvbS5jcHAKQEAgLTMyLDEyICszMiwxNCBAQAogI2luY2x1ZGUg
IkNTU01lZGlhUnVsZS5oIgogI2luY2x1ZGUgIkNTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiQ1NT
U3R5bGVSdWxlLmgiCisjaW5jbHVkZSAiQ1NTU3VwcG9ydHNSdWxlLmgiCiAjaW5jbHVkZSAiSlND
U1NDaGFyc2V0UnVsZS5oIgogI2luY2x1ZGUgIkpTQ1NTRm9udEZhY2VSdWxlLmgiCiAjaW5jbHVk
ZSAiSlNDU1NJbXBvcnRSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NNZWRpYVJ1bGUuaCIKICNpbmNs
dWRlICJKU0NTU1BhZ2VSdWxlLmgiCiAjaW5jbHVkZSAiSlNDU1NTdHlsZVJ1bGUuaCIKKyNpbmNs
dWRlICJKU0NTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkpTTm9kZS5oIgogI2luY2x1ZGUg
IkpTV2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiSlNXZWJLaXRDU1NLZXlmcmFt
ZXNSdWxlLmgiCkBAIC05Niw2ICs5OCwxMSBAQCBKU1ZhbHVlIHRvSlMoRXhlY1N0YXRlKiBleGVj
LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBDU1NSdWxlKiBydWxlKQogICAgICAg
ICBjYXNlIENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVMRToKICAgICAgICAgICAgIHdyYXBw
ZXIgPSBDUkVBVEVfRE9NX1dSQVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NLZXlm
cmFtZXNSdWxlLCBydWxlKTsKICAgICAgICAgICAgIGJyZWFrOworI2lmIEVOQUJMRShDU1MzX0NP
TkRJVElPTkFMX1JVTEVTKQorICAgICAgICBjYXNlIENTU1J1bGU6OlNVUFBPUlRTX1JVTEU6Cisg
ICAgICAgICAgICB3cmFwcGVyID0gQ1JFQVRFX0RPTV9XUkFQUEVSKGV4ZWMsIGdsb2JhbE9iamVj
dCwgQ1NTU3VwcG9ydHNSdWxlLCBydWxlKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAj
aWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICAgICAgY2FzZSBDU1NSdWxlOjpX
RUJLSVRfVklFV1BPUlRfUlVMRToKICAgICAgICAgICAgIHdyYXBwZXIgPSBDUkVBVEVfRE9NX1dS
QVBQRVIoZXhlYywgZ2xvYmFsT2JqZWN0LCBXZWJLaXRDU1NWaWV3cG9ydFJ1bGUsIHJ1bGUpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvb2JqYy9ET01DU1MubW0gYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQppbmRleCAzYzFkYTgyMzEyMTljNmIx
NDcxMWI4YTQ1ODUzM2NiMTdiODEwZmRjLi42NTkxNGJhMGE4OGQyMjhiY2UzZTdlZGIzYzQ2NmVh
MDM2YmM3OTU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNT
Uy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9vYmpjL0RPTUNTUy5tbQpAQCAtNDAs
NiArNDAsOSBAQAogI2ltcG9ydCAiRE9NQ1NTU3R5bGVEZWNsYXJhdGlvbi5oIgogI2ltcG9ydCAi
RE9NQ1NTU3R5bGVSdWxlLmgiCiAjaW1wb3J0ICJET01DU1NTdHlsZVNoZWV0LmgiCisjaWYgRU5B
QkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisjaW1wb3J0ICJET01DU1NTdXBwb3J0c1J1bGUu
aCIKKyNlbmRpZgogI2ltcG9ydCAiRE9NQ1NTVW5rbm93blJ1bGUuaCIKICNpbXBvcnQgIkRPTUNT
U1ZhbHVlSW50ZXJuYWwuaCIKICNpbXBvcnQgIkRPTUNTU1ZhbHVlTGlzdC5oIgpAQCAtOTksNiAr
MTAyLDEwIEBAIENsYXNzIGtpdENsYXNzKFdlYkNvcmU6OkNTU1J1bGUqIGltcGwpCiAgICAgICAg
ICAgICByZXR1cm4gW0RPTVdlYktpdENTU0tleWZyYW1lc1J1bGUgY2xhc3NdOwogICAgICAgICBj
YXNlIERPTV9XRUJLSVRfS0VZRlJBTUVfUlVMRToKICAgICAgICAgICAgIHJldHVybiBbRE9NV2Vi
S2l0Q1NTS2V5ZnJhbWVSdWxlIGNsYXNzXTsKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9S
VUxFUykKKyAgICAgICAgY2FzZSBET01fU1VQUE9SVFNfUlVMRToKKyAgICAgICAgICAgIHJldHVy
biBbRE9NQ1NTU3VwcG9ydHNSdWxlIGNsYXNzXTsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1NfREVW
SUNFX0FEQVBUQVRJT04pCiAgICAgICAgIGNhc2UgRE9NX1dFQktJVF9WSUVXUE9SVF9SVUxFOgog
ICAgICAgICAgICAgcmV0dXJuIFtET01XZWJLaXRDU1NWaWV3cG9ydFJ1bGUgY2xhc3NdOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvdjgvY3VzdG9tL1Y4Q1NTUnVsZUN1c3Rv
bS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9t
LmNwcAppbmRleCBkMTUxY2Q4YjBmNWM5YzY5NDM4ODZmNzUyYjlkODYzYzZjZDEzNzZhLi42YmY2
ZWVjNzc0YTgwNDlkODRkZDBlMjU0MmU4NmJiNWE2NDA1OGE5IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy92OC9jdXN0b20vVjhDU1NSdWxlQ3VzdG9tLmNwcApAQCAtMzcs
NiArMzcsOSBAQAogI2luY2x1ZGUgIlY4Q1NTTWVkaWFSdWxlLmgiCiAjaW5jbHVkZSAiVjhDU1NQ
YWdlUnVsZS5oIgogI2luY2x1ZGUgIlY4Q1NTU3R5bGVSdWxlLmgiCisjaWYgRU5BQkxFKENTUzNf
Q09ORElUSU9OQUxfUlVMRVMpCisjaW5jbHVkZSAiVjhDU1NTdXBwb3J0c1J1bGUuaCIKKyNlbmRp
ZgogI2luY2x1ZGUgIlY4V2ViS2l0Q1NTS2V5ZnJhbWVSdWxlLmgiCiAjaW5jbHVkZSAiVjhXZWJL
aXRDU1NLZXlmcmFtZXNSdWxlLmgiCiAjaW5jbHVkZSAiVjhXZWJLaXRDU1NSZWdpb25SdWxlLmgi
CkBAIC03Miw2ICs3NSwxMCBAQCB2ODo6SGFuZGxlPHY4OjpPYmplY3Q+IHdyYXAoQ1NTUnVsZSog
aW1wbCwgdjg6OkhhbmRsZTx2ODo6T2JqZWN0PiBjcmVhdGlvbkNvbnRleAogICAgICAgICByZXR1
cm4gd3JhcChzdGF0aWNfY2FzdDxXZWJLaXRDU1NLZXlmcmFtZVJ1bGUqPihpbXBsKSwgY3JlYXRp
b25Db250ZXh0LCBpc29sYXRlKTsKICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNf
UlVMRToKICAgICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8V2ViS2l0Q1NTS2V5ZnJhbWVz
UnVsZSo+KGltcGwpLCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOworI2lmIEVOQUJMRShDU1Mz
X0NPTkRJVElPTkFMX1JVTEVTKQorICAgIGNhc2UgQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRToKKyAg
ICAgICAgcmV0dXJuIHdyYXAoc3RhdGljX2Nhc3Q8Q1NTU3VwcG9ydHNSdWxlKj4oaW1wbCksIGNy
ZWF0aW9uQ29udGV4dCwgaXNvbGF0ZSk7CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9B
REFQVEFUSU9OKQogICAgIGNhc2UgQ1NTUnVsZTo6V0VCS0lUX1ZJRVdQT1JUX1JVTEU6CiAgICAg
ICAgIHJldHVybiB3cmFwKHN0YXRpY19jYXN0PFdlYktpdENTU1ZpZXdwb3J0UnVsZSo+KGltcGwp
LCBjcmVhdGlvbkNvbnRleHQsIGlzb2xhdGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
Y3NzL0NTU0dyYW1tYXIueS5pbiBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NHcmFtbWFyLnkuaW4K
aW5kZXggNTY4MTRjZGM2YmUwODQxMmMyNDY0MWRkMjBlZGNiYmI2NzhjODU3Yy4uNjE4N2Q2YzE1
NDVhOGUzYzA3MTc2NDIwZTA0YTkzZWQ0MWVjMDgxMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvY3NzL0NTU0dyYW1tYXIueS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTR3JhbW1h
ci55LmluCkBAIC00NjQsNiArNDY0LDkgQEAgYmxvY2tfdmFsaWRfcnVsZToKICAgfCBmb250X2Zh
Y2UKICAgfCBtZWRpYQogICB8IGtleWZyYW1lcworI2lmIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFM
X1JVTEVTCisgIHwgc3VwcG9ydHMKKyNlbmRpZgogI2lmIEVOQUJMRV9DU1NfREVWSUNFX0FEQVBU
QVRJT04KICAgfCB2aWV3cG9ydAogI2VuZGlmCkBAIC00NzYsOSArNDc5LDYgQEAgYmxvY2tfcnVs
ZToKICAgfCBuYW1lc3BhY2UKICAgfCBpbXBvcnQKICAgfCByZWdpb24KLSNpZiBFTkFCTEVfQ1NT
M19DT05ESVRJT05BTF9SVUxFUwotICB8IHN1cHBvcnRzCi0jZW5kaWYKICAgOwogCiBhdF9pbXBv
cnRfaGVhZGVyX2VuZF9tYXliZV9zcGFjZToKQEAgLTY3NiwxMyArNjc2LDIyIEBAIG1lZGl1bToK
IAogI2lmIEVOQUJMRV9DU1MzX0NPTkRJVElPTkFMX1JVTEVTCiBzdXBwb3J0czoKLSAgICBTVVBQ
T1JUU19TWU0gbWF5YmVfc3BhY2Ugc3VwcG9ydHNfY29uZGl0aW9uICd7JyBtYXliZV9zcGFjZSBi
bG9ja19ydWxlX2xpc3Qgc2F2ZV9ibG9jayB7Ci0gICAgICAgIENTU1BhcnNlciogcCA9IHN0YXRp
Y19jYXN0PENTU1BhcnNlcio+KHBhcnNlcik7Ci0gICAgICAgIGlmICgkMyAmJiAkNiAmJiBwLT5t
X3N0eWxlU2hlZXQpIHsKLSAgICAgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAkNi0+
c2l6ZSgpOyBpKyspCi0gICAgICAgICAgICAgICAgcC0+bV9zdHlsZVNoZWV0LT5wYXJzZXJBcHBl
bmRSdWxlKCQ2LT5hdChpKS5yZWxlYXNlKCkpOwotICAgICAgICB9Ci0gICAgICAgICQkID0gMDsK
KyAgICBiZWZvcmVfc3VwcG9ydHNfcnVsZSBTVVBQT1JUU19TWU0gbWF5YmVfc3BhY2Ugc3VwcG9y
dHNfY29uZGl0aW9uIGF0X3N1cHBvcnRzX3J1bGVfaGVhZGVyX2VuZCAneycgYXRfcnVsZV9ib2R5
X3N0YXJ0IG1heWJlX3NwYWNlIGJsb2NrX3J1bGVfbGlzdCBzYXZlX2Jsb2NrIHsKKyAgICAgICAg
JCQgPSBwYXJzZXItPmNyZWF0ZVN1cHBvcnRzUnVsZSgkNCwgJDkpOworICAgIH0KKyAgICA7CisK
K2JlZm9yZV9zdXBwb3J0c19ydWxlOgorICAgIC8qIGVtcHR5ICovIHsKKyAgICAgICAgcGFyc2Vy
LT5tYXJrUnVsZUhlYWRlclN0YXJ0KENTU1J1bGVTb3VyY2VEYXRhOjpTVVBQT1JUU19SVUxFKTsK
KyAgICAgICAgcGFyc2VyLT5tYXJrU3VwcG9ydHNSdWxlSGVhZGVyU3RhcnQoKTsKKyAgICB9Cisg
ICAgOworCithdF9zdXBwb3J0c19ydWxlX2hlYWRlcl9lbmQ6CisgICAgLyogZW1wdHkgKi8gewor
ICAgICAgICBwYXJzZXItPm1hcmtSdWxlSGVhZGVyRW5kKCk7CisgICAgICAgIHBhcnNlci0+bWFy
a1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpOwogICAgIH0KICAgICA7CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Bh
cnNlci5jcHAKaW5kZXggYmEwOWZkMDI0ZWVkMjA3MjZlZThhNjY2ZDY4M2ExM2FjZDNhMGNkMy4u
ZTIzZWY2NGRkMDkyYjYwMDI2ODdkM2E5MjlkNzQ5YmUzMzEyMTM3MCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL0NTU1BhcnNlci5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NT
U1BhcnNlci5jcHAKQEAgLTEwNDk2LDYgKzEwNDk2LDYyIEBAIFN0eWxlUnVsZUJhc2UqIENTU1Bh
cnNlcjo6Y3JlYXRlTWVkaWFSdWxlKE1lZGlhUXVlcnlTZXQqIG1lZGlhLCBSdWxlTGlzdCogcnVs
ZXMpCiAgICAgcmV0dXJuIHJlc3VsdDsKIH0KIAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFM
X1JVTEVTKQorU3R5bGVSdWxlQmFzZSogQ1NTUGFyc2VyOjpjcmVhdGVTdXBwb3J0c1J1bGUoYm9v
bCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgUnVsZUxpc3QqIHJ1bGVzKQoreworICAgIG1fYWxsb3dJ
bXBvcnRSdWxlcyA9IG1fYWxsb3dOYW1lc3BhY2VEZWNsYXJhdGlvbnMgPSBmYWxzZTsKKworICAg
IEFTU0VSVCghbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmlzRW1wdHkoKSk7CisgICAgUmVmUHRy
PENTU1J1bGVTb3VyY2VEYXRhPiBkYXRhID0gbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmxhc3Qo
KTsKKyAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+cmVtb3ZlTGFzdCgpOworICAgIGlmICht
X3N1cHBvcnRzUnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKQorICAgICAgICBtX3N1cHBvcnRzUnVs
ZURhdGFTdGFjay5jbGVhcigpOworCisgICAgUmVmUHRyPFN0eWxlUnVsZVN1cHBvcnRzPiBydWxl
OworICAgIFN0cmluZyBjb25kaXRpb25UZXh0OworICAgIHVuc2lnbmVkIGNvbmRpdGlvbk9mZnNl
dCA9IGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCArIDk7CisgICAgdW5zaWduZWQgY29uZGl0
aW9uTGVuZ3RoID0gZGF0YS0+cnVsZUhlYWRlclJhbmdlLmxlbmd0aCgpIC0gOTsKKworICAgIGlm
IChpczhCaXRTb3VyY2UoKSkKKyAgICAgICAgY29uZGl0aW9uVGV4dCA9IFN0cmluZyhtX2RhdGFT
dGFydDguZ2V0KCkgKyBjb25kaXRpb25PZmZzZXQsIGNvbmRpdGlvbkxlbmd0aCkuc3RyaXBXaGl0
ZVNwYWNlKCk7CisgICAgZWxzZQorICAgICAgICBjb25kaXRpb25UZXh0ID0gU3RyaW5nKG1fZGF0
YVN0YXJ0MTYuZ2V0KCkgKyBjb25kaXRpb25PZmZzZXQsIGNvbmRpdGlvbkxlbmd0aCkuc3RyaXBX
aGl0ZVNwYWNlKCk7CisKKyAgICBpZiAocnVsZXMpCisgICAgICAgIHJ1bGUgPSBTdHlsZVJ1bGVT
dXBwb3J0czo6Y3JlYXRlKGNvbmRpdGlvblRleHQsIGNvbmRpdGlvbklzU3VwcG9ydGVkLCAqcnVs
ZXMpOworICAgIGVsc2UgeworICAgICAgICBSdWxlTGlzdCBlbXB0eVJ1bGVzOworICAgICAgICBy
dWxlID0gU3R5bGVSdWxlU3VwcG9ydHM6OmNyZWF0ZShjb25kaXRpb25UZXh0LCBjb25kaXRpb25J
c1N1cHBvcnRlZCwgZW1wdHlSdWxlcyk7CisgICAgfQorCisgICAgU3R5bGVSdWxlU3VwcG9ydHMq
IHJlc3VsdCA9IHJ1bGUuZ2V0KCk7CisgICAgbV9wYXJzZWRSdWxlcy5hcHBlbmQocnVsZS5yZWxl
YXNlKCkpOworICAgIHByb2Nlc3NBbmRBZGROZXdSdWxlVG9Tb3VyY2VUcmVlSWZOZWVkZWQoKTsK
KworICAgIHJldHVybiByZXN1bHQ7Cit9CisKK3ZvaWQgQ1NTUGFyc2VyOjptYXJrU3VwcG9ydHNS
dWxlSGVhZGVyU3RhcnQoKQoreworICAgIGlmICghbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2spCisg
ICAgICAgIG1fc3VwcG9ydHNSdWxlRGF0YVN0YWNrID0gYWRvcHRQdHIobmV3IFJ1bGVTb3VyY2VE
YXRhTGlzdCgpKTsKKworICAgIFJlZlB0cjxDU1NSdWxlU291cmNlRGF0YT4gZGF0YSA9IENTU1J1
bGVTb3VyY2VEYXRhOjpjcmVhdGUoQ1NTUnVsZVNvdXJjZURhdGE6OlNVUFBPUlRTX1JVTEUpOwor
ICAgIGRhdGEtPnJ1bGVIZWFkZXJSYW5nZS5zdGFydCA9IHRva2VuU3RhcnRPZmZzZXQoKTsKKyAg
ICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+YXBwZW5kKGRhdGEpOworfQorCit2b2lkIENTU1Bh
cnNlcjo6bWFya1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpCit7CisgICAgQVNTRVJUKCFtX3N1cHBv
cnRzUnVsZURhdGFTdGFjay0+aXNFbXB0eSgpKTsKKworICAgIGlmIChpczhCaXRTb3VyY2UoKSkK
KyAgICAgICAgbV9zdXBwb3J0c1J1bGVEYXRhU3RhY2stPmxhc3QoKS0+cnVsZUhlYWRlclJhbmdl
LmVuZCA9IHRva2VuU3RhcnQ8TENoYXI+KCkgLSBtX2RhdGFTdGFydDguZ2V0KCk7CisgICAgZWxz
ZQorICAgICAgICBtX3N1cHBvcnRzUnVsZURhdGFTdGFjay0+bGFzdCgpLT5ydWxlSGVhZGVyUmFu
Z2UuZW5kID0gdG9rZW5TdGFydDxVQ2hhcj4oKSAtIG1fZGF0YVN0YXJ0MTYuZ2V0KCk7Cit9Cisj
ZW5kaWYKKwogQ1NTUGFyc2VyOjpSdWxlTGlzdCogQ1NTUGFyc2VyOjpjcmVhdGVSdWxlTGlzdCgp
CiB7CiAgICAgT3duUHRyPFJ1bGVMaXN0PiBsaXN0ID0gYWRvcHRQdHIobmV3IFJ1bGVMaXN0KTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQYXJzZXIuaCBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9DU1NQYXJzZXIuaAppbmRleCAxNGFjZDU5NzIxZmVmNjYzYmI5OWZlMzYwZDU1ZWVl
MTc0MzM0YWMxLi41MzZmZTlhNGM2MjMwYTEzMzQzMGQzNjJhMGUxYzM2ZGExZmM0YmU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUGFyc2VyLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL0NTU1BhcnNlci5oCkBAIC0yOTAsNiArMjkwLDExIEBAIHB1YmxpYzoKICAgICBTdHls
ZVJ1bGVCYXNlKiBjcmVhdGVQYWdlUnVsZShQYXNzT3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiBw
YWdlU2VsZWN0b3IpOwogICAgIFN0eWxlUnVsZUJhc2UqIGNyZWF0ZVJlZ2lvblJ1bGUoVmVjdG9y
PE93blB0cjxDU1NQYXJzZXJTZWxlY3Rvcj4gPiogcmVnaW9uU2VsZWN0b3IsIFJ1bGVMaXN0KiBy
dWxlcyk7CiAgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRlTWFyZ2luQXRSdWxlKENTU1NlbGVjdG9y
OjpNYXJnaW5Cb3hUeXBlKTsKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAg
ICBTdHlsZVJ1bGVCYXNlKiBjcmVhdGVTdXBwb3J0c1J1bGUoYm9vbCBjb25kaXRpb25Jc1N1cHBv
cnRlZCwgUnVsZUxpc3QqKTsKKyAgICB2b2lkIG1hcmtTdXBwb3J0c1J1bGVIZWFkZXJTdGFydCgp
OworICAgIHZvaWQgbWFya1N1cHBvcnRzUnVsZUhlYWRlckVuZCgpOworI2VuZGlmCiAjaWYgRU5B
QkxFKFNIQURPV19ET00pCiAgICAgU3R5bGVSdWxlQmFzZSogY3JlYXRlSG9zdFJ1bGUoUnVsZUxp
c3QqIHJ1bGVzKTsKICNlbmRpZgpAQCAtNTY0LDYgKzU2OSwxMCBAQCBwcml2YXRlOgogCiAgICAg
UmVmUHRyPENTU0NhbGNWYWx1ZT4gbV9wYXJzZWRDYWxjdWxhdGlvbjsKIAorI2lmIEVOQUJMRShD
U1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAgIE93blB0cjxSdWxlU291cmNlRGF0YUxpc3Q+IG1f
c3VwcG9ydHNSdWxlRGF0YVN0YWNrOworI2VuZGlmCisKICAgICAvLyBkZWZpbmVzIHVuaXRzIGFs
bG93ZWQgZm9yIGEgY2VydGFpbiBwcm9wZXJ0eSwgdXNlZCBpbiBwYXJzZVVuaXQKICAgICBlbnVt
IFVuaXRzIHsKICAgICAgICAgRlVua25vd24gPSAweDAwMDAsCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvQ1NTUHJvcGVydHlTb3VyY2VEYXRhLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
Q1NTUHJvcGVydHlTb3VyY2VEYXRhLmgKaW5kZXggZTEyYWFhZTA0M2QyMjNhYjFhYTRhMWJiMDZm
NGM3YzAzZWFkOWFjMS4uMmM5MGY4M2YxNGNmYTBiMWI2YTYyOTJmYzVmYjk0M2M5YWJkMjk0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1Byb3BlcnR5U291cmNlRGF0YS5oCisr
KyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NQcm9wZXJ0eVNvdXJjZURhdGEuaApAQCAtOTcsNyAr
OTcsOCBAQCBzdHJ1Y3QgQ1NTUnVsZVNvdXJjZURhdGEgOiBwdWJsaWMgUmVmQ291bnRlZDxDU1NS
dWxlU291cmNlRGF0YT4gewogICAgICAgICBLRVlGUkFNRVNfUlVMRSwKICAgICAgICAgUkVHSU9O
X1JVTEUsCiAgICAgICAgIEhPU1RfUlVMRSwKLSAgICAgICAgVklFV1BPUlRfUlVMRQorICAgICAg
ICBWSUVXUE9SVF9SVUxFLAorICAgICAgICBTVVBQT1JUU19SVUxFCiAgICAgfTsKIAogICAgIHN0
YXRpYyBQYXNzUmVmUHRyPENTU1J1bGVTb3VyY2VEYXRhPiBjcmVhdGUoVHlwZSB0eXBlKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NSdWxlLmgKaW5kZXggMDc1OGU3NGY4MTUwYTk3OTRlYTFjYjgzODExMjYxMTE0NGYzMjA2
Ny4uNGYwMWJkZDlmOTk0ZjhlMjBjZjZjNGFlNTQxMTE0MjlhYjQ5MjIyZSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NT
UnVsZS5oCkBAIC01MCw2ICs1MCw5IEBAIHB1YmxpYzoKICAgICAgICAgLy8gPGh0dHBzOi8vYnVn
cy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD03MTI5Mz4uCiAgICAgICAgIFdFQktJVF9LRVlG
UkFNRVNfUlVMRSwKICAgICAgICAgV0VCS0lUX0tFWUZSQU1FX1JVTEUsCisjaWYgRU5BQkxFKENT
UzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgICAgIFNVUFBPUlRTX1JVTEUgPSAxMiwKKyNlbmRp
ZgogI2lmIEVOQUJMRShDU1NfREVWSUNFX0FEQVBUQVRJT04pCiAgICAgICAgIFdFQktJVF9WSUVX
UE9SVF9SVUxFID0gMTUsCiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9D
U1NSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NSdWxlLmlkbAppbmRleCBhZjExOGZl
NzJiOWI4MDc0ZjdkNjA4MmQwOTNlMjcwY2ZmMmIxMDY4Li4zMGIxYzIxZDA0YmRmOTE3OGI2OTAy
MDA1MzBlZDY3Njk4NmVjZjdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTUnVs
ZS5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1J1bGUuaWRsCkBAIC0zNyw2ICszNyw5
IEBACiAgICAgY29uc3QgdW5zaWduZWQgc2hvcnQgUEFHRV9SVUxFID0gNjsKICAgICBjb25zdCB1
bnNpZ25lZCBzaG9ydCBXRUJLSVRfS0VZRlJBTUVTX1JVTEUgPSA3OwogICAgIGNvbnN0IHVuc2ln
bmVkIHNob3J0IFdFQktJVF9LRVlGUkFNRV9SVUxFID0gODsKKyNpZiBkZWZpbmVkKEVOQUJMRV9D
U1MzX0NPTkRJVElPTkFMX1JVTEVTKSAmJiBFTkFCTEVfQ1NTM19DT05ESVRJT05BTF9SVUxFUwor
ICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFNVUFBPUlRTX1JVTEUgPSAxMjsKKyNlbmRpZgogI2lm
IGRlZmluZWQoRU5BQkxFX0NTU19ERVZJQ0VfQURBUFRBVElPTikgJiYgRU5BQkxFX0NTU19ERVZJ
Q0VfQURBUFRBVElPTgogICAgIGNvbnN0IHVuc2lnbmVkIHNob3J0IFdFQktJVF9WSUVXUE9SVF9S
VUxFID0gMTU7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBw
b3J0c1J1bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMjYwMmZmYzg1OGUyMWU4MjI5YTRkYTE2ZTNiNzZjMmQyYjVhYmRmNwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUuY3BwCkBAIC0w
LDAgKzEsNzEgQEAKKy8qIENvcHlyaWdodCAoQykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
CisgKiBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNvcHly
aWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUgbmFt
ZSBvZiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAgICBj
b250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRl
cml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdy
aXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRI
RSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICogTElN
SVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFMLCBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCisg
KiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJDU1NTdXBwb3J0c1J1bGUuaCIKKworI2luY2x1ZGUgIkNTU1BhcnNlci5oIgorI2luY2x1
ZGUgIkNTU1J1bGUuaCIKKyNpbmNsdWRlICJDU1NSdWxlTGlzdC5oIgorI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJFeGNlcHRpb25Db2RlLmgiCisjaW5jbHVkZSAiU3R5bGVS
dWxlLmgiCisjaW5jbHVkZSAiV2ViQ29yZU1lbW9yeUluc3RydW1lbnRhdGlvbi5oIgorI2luY2x1
ZGUgPHd0Zi9NZW1vcnlJbnN0cnVtZW50YXRpb25WZWN0b3IuaD4KKyNpbmNsdWRlIDx3dGYvdGV4
dC9TdHJpbmdCdWlsZGVyLmg+CisKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykK
KworbmFtZXNwYWNlIFdlYkNvcmUgeworCitDU1NTdXBwb3J0c1J1bGU6OkNTU1N1cHBvcnRzUnVs
ZShTdHlsZVJ1bGVTdXBwb3J0cyogc3VwcG9ydHNSdWxlLCBDU1NTdHlsZVNoZWV0KiBwYXJlbnQp
CisgICAgOiBDU1NHcm91cGluZ1J1bGUoc3VwcG9ydHNSdWxlLCBwYXJlbnQpCit7Cit9CisKK1N0
cmluZyBDU1NTdXBwb3J0c1J1bGU6OmNzc1RleHQoKSBjb25zdAoreworICAgIFN0cmluZ0J1aWxk
ZXIgcmVzdWx0OworCisgICAgcmVzdWx0LmFwcGVuZCgiQHN1cHBvcnRzICIpOworICAgIHJlc3Vs
dC5hcHBlbmQoY29uZGl0aW9uVGV4dCgpKTsKKyAgICByZXN1bHQuYXBwZW5kKCIge1xuIik7Cisg
ICAgYXBwZW5kQ3NzVGV4dEZvckl0ZW1zKHJlc3VsdCk7CisgICAgcmVzdWx0LmFwcGVuZCgnfScp
OworCisgICAgcmV0dXJuIHJlc3VsdC50b1N0cmluZygpOworfQorCitTdHJpbmcgQ1NTU3VwcG9y
dHNSdWxlOjpjb25kaXRpb25UZXh0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gdG9TdHlsZVJ1bGVT
dXBwb3J0cyhtX2dyb3VwUnVsZS5nZXQoKSktPmNvbmRpdGlvblRleHQoKTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViQ29yZQorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nz
cy9DU1NTdXBwb3J0c1J1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1bGUu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi43YzVlMjQ0MDg1NmE0ZDJiNTRlNDQ2YzE3MzY0ZjUwMjA2YTRkMmFjCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL0NTU1N1cHBvcnRzUnVsZS5oCkBA
IC0wLDAgKzEsNjMgQEAKKy8qIENvcHlyaWdodCAoQykgMjAxMiBNb3Rvcm9sYSBNb2JpbGl0eSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCisgKiBtZXQ6CisgKgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKKyAqICAgIGNv
cHlyaWdodCBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4KKyAqICAgIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICogMy4gTmVpdGhlciB0aGUg
bmFtZSBvZiBNb3Rvcm9sYSBNb2JpbGl0eSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCisgKiAg
ICBjb250cmlidXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3Rz
IGRlcml2ZWQgZnJvbSB0aGlzCisgKiAgICBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9y
IHdyaXR0ZW4gcGVybWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTCisgKiAiQVMgSVMiIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVAorICog
TElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SCisgKiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAorICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsCisgKiBTUEVDSUFM
LCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
CisgKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwKKyAqIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWQorICogVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgQ1NTU3VwcG9ydHNSdWxl
X2gKKyNkZWZpbmUgQ1NTU3VwcG9ydHNSdWxlX2gKKworI2luY2x1ZGUgIkNTU0dyb3VwaW5nUnVs
ZS5oIgorCisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKKworY2xhc3MgQ1NTUnVsZTsKK2NsYXNzIFN0eWxlUnVsZVN1cHBvcnRzOworCitj
bGFzcyBDU1NTdXBwb3J0c1J1bGUgOiBwdWJsaWMgQ1NTR3JvdXBpbmdSdWxlIHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgUGFzc1JlZlB0cjxDU1NTdXBwb3J0c1J1bGU+IGNyZWF0ZShTdHlsZVJ1bGVT
dXBwb3J0cyogcnVsZSwgQ1NTU3R5bGVTaGVldCogc2hlZXQpCisgICAgeworICAgICAgICByZXR1
cm4gYWRvcHRSZWYobmV3IENTU1N1cHBvcnRzUnVsZShydWxlLCBzaGVldCkpOworICAgIH0KKwor
ICAgIHZpcnR1YWwgfkNTU1N1cHBvcnRzUnVsZSgpIHsgfQorCisgICAgdmlydHVhbCBDU1NSdWxl
OjpUeXBlIHR5cGUoKSBjb25zdCBPVkVSUklERSB7IHJldHVybiBTVVBQT1JUU19SVUxFOyB9Cisg
ICAgdmlydHVhbCBTdHJpbmcgY3NzVGV4dCgpIGNvbnN0IE9WRVJSSURFOworCisgICAgU3RyaW5n
IGNvbmRpdGlvblRleHQoKSBjb25zdDsKKworcHJpdmF0ZToKKyAgICBDU1NTdXBwb3J0c1J1bGUo
U3R5bGVSdWxlU3VwcG9ydHMqLCBDU1NTdHlsZVNoZWV0Kik7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCisKKyNlbmRpZiAvLyBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKwor
I2VuZGlmIC8vIENTU1N1cHBvcnRzUnVsZV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvQ1NTU3VwcG9ydHNSdWxlLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9DU1NTdXBwb3J0c1J1
bGUuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmM1MzM4ODJkOTBhMTA2ZmM2OWMzYzQ0Y2VhNTNmMDFhMjM5YTA4
MWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvQ1NTU3VwcG9ydHNSdWxl
LmlkbApAQCAtMCwwICsxLDM5IEBACisvKiBDb3B5cmlnaHQgKEMpIDIwMTIgTW90b3JvbGEgTW9i
aWxpdHkgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zIGFyZQorICogbWV0OgorICoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCisg
KiAgICBjb3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluCisgKiAgICB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqIDMuIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTW90b3JvbGEgTW9iaWxpdHkgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0
cworICogICAgY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBw
cm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcworICogICAgc29mdHdhcmUgd2l0aG91dCBzcGVjaWZp
YyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUworICogIkFTIElT
IiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QKKyAqIExJTUlURUQgVE8sIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUgorICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIFRIRSBDT1BZUklHSFQKKyAqIE9XTkVSIE9SIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAorICog
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVAorICogTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsCisgKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKKyAqIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQK
KyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uZGl0aW9u
YWw9Q1NTM19DT05ESVRJT05BTF9SVUxFUworXSBpbnRlcmZhY2UgQ1NTU3VwcG9ydHNSdWxlIDog
Q1NTUnVsZSB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIENTU1J1bGVMaXN0IGNzc1J1bGVzOwor
ICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgY29uZGl0aW9uVGV4dDsKKworICAgIHVu
c2lnbmVkIGxvbmcgaW5zZXJ0UnVsZShpbiBbT3B0aW9uYWw9RGVmYXVsdElzVW5kZWZpbmVkXSBE
T01TdHJpbmcgcnVsZSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaW4gW09wdGlvbmFs
PURlZmF1bHRJc1VuZGVmaW5lZF0gdW5zaWduZWQgbG9uZyBpbmRleCkgcmFpc2VzKERPTUV4Y2Vw
dGlvbik7CisgICAgdm9pZCBkZWxldGVSdWxlKGluIFtPcHRpb25hbD1EZWZhdWx0SXNVbmRlZmlu
ZWRdIHVuc2lnbmVkIGxvbmcgaW5kZXgpIHJhaXNlcyhET01FeGNlcHRpb24pOworfTsKKwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL1J1bGVTZXQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL1J1bGVTZXQuY3BwCmluZGV4IGQ3YjUyMGI5MDgyYTE3MDk3MGUxYTZkNzc5ZWQ2YWU1MzVj
OTI0MmYuLmE3YzMyZGY4ZGUxZGFlY2M1MmQ2M2M4OGIyYTY5MmNlZjFlZWQ0MGIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9SdWxlU2V0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvUnVsZVNldC5jcHAKQEAgLTMyMCw2ICszMjAsMTAgQEAgdm9pZCBSdWxlU2V0OjphZGRDaGls
ZFJ1bGVzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgcnVsZXMsIGNvbnN0
IE0KICAgICAgICAgICAgIHJlc29sdmVyLT52aWV3cG9ydFN0eWxlUmVzb2x2ZXIoKS0+YWRkVmll
d3BvcnRSdWxlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVZpZXdwb3J0Kj4ocnVsZSkpOwogICAgICAg
ICB9CiAjZW5kaWYKKyNpZiBFTkFCTEUoQ1NTM19DT05ESVRJT05BTF9SVUxFUykKKyAgICAgICAg
ZWxzZSBpZiAocnVsZS0+aXNTdXBwb3J0c1J1bGUoKSAmJiBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVT
dXBwb3J0cyo+KHJ1bGUpLT5jb25kaXRpb25Jc1N1cHBvcnRlZCgpKQorICAgICAgICAgICAgYWRk
Q2hpbGRSdWxlcyhzdGF0aWNfY2FzdDxTdHlsZVJ1bGVTdXBwb3J0cyo+KHJ1bGUpLT5jaGlsZFJ1
bGVzKCksIG1lZGl1bSwgcmVzb2x2ZXIsIHNjb3BlLCBoYXNEb2N1bWVudFNlY3VyaXR5T3JpZ2lu
LCBhZGRSdWxlRmxhZ3MpOworI2VuZGlmCiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvU3R5bGVSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVS
ZXNvbHZlci5jcHAKaW5kZXggZGYxNDVkYTdmNmUzZmYzMWNkMGI1ZTc3NDIyM2MwZDQ3NWI2ZGZl
OC4uMzMwYTQ4OWZmYTQ4NjcxYzQ2YmQ0NTZhNjI5NzAyNjZmYmVjYTRjYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUmVzb2x2ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9TdHlsZVJlc29sdmVyLmNwcApAQCAtNDgsNiArNDgsNyBAQAogI2luY2x1ZGUgIkNTU1Nl
bGVjdG9yTGlzdC5oIgogI2luY2x1ZGUgIkNTU1N0eWxlUnVsZS5oIgogI2luY2x1ZGUgIkNTU1N0
eWxlU2hlZXQuaCIKKyNpbmNsdWRlICJDU1NTdXBwb3J0c1J1bGUuaCIKICNpbmNsdWRlICJDU1NU
aW1pbmdGdW5jdGlvblZhbHVlLmgiCiAjaW5jbHVkZSAiQ1NTVmFsdWVMaXN0LmgiCiAjaWYgRU5B
QkxFKENTU19WQVJJQUJMRVMpCkBAIC0yNjM3LDYgKzI2MzgsMTEgQEAgc3RhdGljIHZvaWQgY29s
bGVjdENTU09NV3JhcHBlcnMoSGFzaE1hcDxTdHlsZVJ1bGUqLCBSZWZQdHI8Q1NTU3R5bGVSdWxl
PiA+JiB3cmEKICAgICAgICAgY2FzZSBDU1NSdWxlOjpNRURJQV9SVUxFOgogICAgICAgICAgICAg
Y29sbGVjdENTU09NV3JhcHBlcnMod3JhcHBlck1hcCwgc3RhdGljX2Nhc3Q8Q1NTTWVkaWFSdWxl
Kj4oY3NzUnVsZSkpOwogICAgICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTUzNfQ09ORElU
SU9OQUxfUlVMRVMpCisgICAgICAgIGNhc2UgQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRToKKyAgICAg
ICAgICAgIGNvbGxlY3RDU1NPTVdyYXBwZXJzKHdyYXBwZXJNYXAsIHN0YXRpY19jYXN0PENTU1N1
cHBvcnRzUnVsZSo+KGNzc1J1bGUpKTsKKyAgICAgICAgICAgIGJyZWFrOworI2VuZGlmCiAjaWYg
RU5BQkxFKENTU19SRUdJT05TKQogICAgICAgICBjYXNlIENTU1J1bGU6OldFQktJVF9SRUdJT05f
UlVMRToKICAgICAgICAgICAgIGNvbGxlY3RDU1NPTVdyYXBwZXJzKHdyYXBwZXJNYXAsIHN0YXRp
Y19jYXN0PFdlYktpdENTU1JlZ2lvblJ1bGUqPihjc3NSdWxlKSk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvU3R5bGVSdWxlLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1
bGUuY3BwCmluZGV4IDQzZTZhNWUxMzc2ODBjYzJkMWM2YWMzMDE5M2RmZTY1NjY2MjMwMjAuLmI0
Mzc5MzMzMTExODViN2FjYzc0MzE2MjE2Zjc3OTc1YzE2MzA1MGIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHls
ZVJ1bGUuY3BwCkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQ1NTTWVkaWFSdWxlLmgiCiAj
aW5jbHVkZSAiQ1NTUGFnZVJ1bGUuaCIKICNpbmNsdWRlICJDU1NTdHlsZVJ1bGUuaCIKKyNpbmNs
dWRlICJDU1NTdXBwb3J0c1J1bGUuaCIKICNpbmNsdWRlICJDU1NVbmtub3duUnVsZS5oIgogI2lu
Y2x1ZGUgIlN0eWxlUnVsZUltcG9ydC5oIgogI2luY2x1ZGUgIldlYkNvcmVNZW1vcnlJbnN0cnVt
ZW50YXRpb24uaCIKQEAgLTgxLDYgKzgyLDkgQEAgdm9pZCBTdHlsZVJ1bGVCYXNlOjpyZXBvcnRN
ZW1vcnlVc2FnZShNZW1vcnlPYmplY3RJbmZvKiBtZW1vcnlPYmplY3RJbmZvKSBjb25zdAogICAg
IGNhc2UgS2V5ZnJhbWVzOgogICAgICAgICBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVLZXlm
cmFtZXMqPih0aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdElu
Zm8pOwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMp
CisgICAgY2FzZSBTdXBwb3J0czoKKyNlbmRpZgogI2lmIEVOQUJMRShTSEFET1dfRE9NKQogICAg
IGNhc2UgSG9zdDoKICAgICAgICAgc3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlQmxvY2sqPih0
aGlzKS0+cmVwb3J0RGVzY2VuZGFudE1lbW9yeVVzYWdlKG1lbW9yeU9iamVjdEluZm8pOwpAQCAt
MTE4LDYgKzEyMiwxMSBAQCB2b2lkIFN0eWxlUnVsZUJhc2U6OmRlc3Ryb3koKQogICAgIGNhc2Ug
TWVkaWE6CiAgICAgICAgIGRlbGV0ZSBzdGF0aWNfY2FzdDxTdHlsZVJ1bGVNZWRpYSo+KHRoaXMp
OwogICAgICAgICByZXR1cm47CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisg
ICAgY2FzZSBTdXBwb3J0czoKKyAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0eWxlUnVsZVN1
cHBvcnRzKj4odGhpcyk7CisgICAgICAgIHJldHVybjsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
UkVHSU9OUykKICAgICBjYXNlIFJlZ2lvbjoKICAgICAgICAgZGVsZXRlIHN0YXRpY19jYXN0PFN0
eWxlUnVsZVJlZ2lvbio+KHRoaXMpOwpAQCAtMTYyLDYgKzE3MSwxMCBAQCBQYXNzUmVmUHRyPFN0
eWxlUnVsZUJhc2U+IFN0eWxlUnVsZUJhc2U6OmNvcHkoKSBjb25zdAogICAgICAgICByZXR1cm4g
c3RhdGljX2Nhc3Q8Y29uc3QgU3R5bGVSdWxlRm9udEZhY2UqPih0aGlzKS0+Y29weSgpOwogICAg
IGNhc2UgTWVkaWE6CiAgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBTdHlsZVJ1bGVN
ZWRpYSo+KHRoaXMpLT5jb3B5KCk7CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMp
CisgICAgY2FzZSBTdXBwb3J0czoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNvbnN0IFN0
eWxlUnVsZVN1cHBvcnRzKj4odGhpcyktPmNvcHkoKTsKKyNlbmRpZgogI2lmIEVOQUJMRShDU1Nf
UkVHSU9OUykKICAgICBjYXNlIFJlZ2lvbjoKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PGNv
bnN0IFN0eWxlUnVsZVJlZ2lvbio+KHRoaXMpLT5jb3B5KCk7CkBAIC0yMTAsNiArMjIzLDExIEBA
IFBhc3NSZWZQdHI8Q1NTUnVsZT4gU3R5bGVSdWxlQmFzZTo6Y3JlYXRlQ1NTT01XcmFwcGVyKENT
U1N0eWxlU2hlZXQqIHBhcmVudFNoZWV0CiAgICAgY2FzZSBNZWRpYToKICAgICAgICAgcnVsZSA9
IENTU01lZGlhUnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZU1lZGlhKj4oc2VsZiks
IHBhcmVudFNoZWV0KTsKICAgICAgICAgYnJlYWs7CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9O
QUxfUlVMRVMpCisgICAgY2FzZSBTdXBwb3J0czoKKyAgICAgICAgcnVsZSA9IENTU1N1cHBvcnRz
UnVsZTo6Y3JlYXRlKHN0YXRpY19jYXN0PFN0eWxlUnVsZVN1cHBvcnRzKj4oc2VsZiksIHBhcmVu
dFNoZWV0KTsKKyAgICAgICAgYnJlYWs7CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX1JFR0lPTlMp
CiAgICAgY2FzZSBSZWdpb246CiAgICAgICAgIHJ1bGUgPSBXZWJLaXRDU1NSZWdpb25SdWxlOjpj
cmVhdGUoc3RhdGljX2Nhc3Q8U3R5bGVSdWxlUmVnaW9uKj4oc2VsZiksIHBhcmVudFNoZWV0KTsK
QEAgLTQwNCw2ICs0MjIsMjMgQEAgdm9pZCBTdHlsZVJ1bGVNZWRpYTo6cmVwb3J0RGVzY2VuZGFu
dE1lbW9yeVVzYWdlKE1lbW9yeU9iamVjdEluZm8qIG1lbW9yeU9iamVjdEkKICAgICBpbmZvLmFk
ZE1lbWJlcihtX21lZGlhUXVlcmllcyk7CiB9CiAKKworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElP
TkFMX1JVTEVTKQorU3R5bGVSdWxlU3VwcG9ydHM6OlN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0IFN0
cmluZyYgY29uZGl0aW9uVGV4dCwgYm9vbCBjb25kaXRpb25Jc1N1cHBvcnRlZCwgVmVjdG9yPFJl
ZlB0cjxTdHlsZVJ1bGVCYXNlPiA+JiBhZG9wdFJ1bGVzKQorICAgIDogU3R5bGVSdWxlQmxvY2so
U3VwcG9ydHMsIGFkb3B0UnVsZXMpCisgICAgLCBtX2NvbmRpdGlvblRleHQoY29uZGl0aW9uVGV4
dCkKKyAgICAsIG1fY29uZGl0aW9uSXNTdXBwb3J0ZWQoY29uZGl0aW9uSXNTdXBwb3J0ZWQpCit7
Cit9CisKK1N0eWxlUnVsZVN1cHBvcnRzOjpTdHlsZVJ1bGVTdXBwb3J0cyhjb25zdCBTdHlsZVJ1
bGVTdXBwb3J0cyYgbykKKyAgICA6IFN0eWxlUnVsZUJsb2NrKG8pCisgICAgLCBtX2NvbmRpdGlv
blRleHQoby5tX2NvbmRpdGlvblRleHQpCisgICAgLCBtX2NvbmRpdGlvbklzU3VwcG9ydGVkKG8u
bV9jb25kaXRpb25Jc1N1cHBvcnRlZCkKK3sKK30KKyNlbmRpZgorCiBTdHlsZVJ1bGVSZWdpb246
OlN0eWxlUnVsZVJlZ2lvbihWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+KiBzZWxl
Y3RvcnMsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKICAgICA6
IFN0eWxlUnVsZUJsb2NrKFJlZ2lvbiwgYWRvcHRSdWxlcykKIHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVJ1bGUu
aAppbmRleCA3NDY0YjFmN2YxOGVkYzRhNmQ4ZjJlMTE5YmJhODUyZDliODkyYzlmLi45NDk4MjMz
ZjM2ZDgxNmMxODc2N2QwYmI4MzhiNWUxNzhiM2YwYjZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9jc3MvU3R5bGVSdWxlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL1N0eWxlUnVsZS5o
CkBAIC00OSw2ICs0OSw5IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoU0hBRE9XX0RPTSkKICAgICAg
ICAgSG9zdCwKICNlbmRpZgorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQorICAg
ICAgICBTdXBwb3J0cyA9IDEyLAorI2VuZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRB
VElPTikKICAgICAgICAgVmlld3BvcnQgPSAxNSwKICNlbmRpZgpAQCAtNjMsNiArNjYsOSBAQCBw
dWJsaWM6CiAgICAgYm9vbCBpc1BhZ2VSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFBh
Z2U7IH0KICAgICBib29sIGlzU3R5bGVSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFN0
eWxlOyB9CiAgICAgYm9vbCBpc1JlZ2lvblJ1bGUoKSBjb25zdCB7IHJldHVybiB0eXBlKCkgPT0g
UmVnaW9uOyB9CisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgYm9vbCBp
c1N1cHBvcnRzUnVsZSgpIGNvbnN0IHsgcmV0dXJuIHR5cGUoKSA9PSBTdXBwb3J0czsgfQorI2Vu
ZGlmCiAjaWYgRU5BQkxFKENTU19ERVZJQ0VfQURBUFRBVElPTikKICAgICBib29sIGlzVmlld3Bv
cnRSdWxlKCkgY29uc3QgeyByZXR1cm4gdHlwZSgpID09IFZpZXdwb3J0OyB9CiAjZW5kaWYKQEAg
LTIxNSw2ICsyMjEsMjcgQEAgcHJpdmF0ZToKICAgICBSZWZQdHI8TWVkaWFRdWVyeVNldD4gbV9t
ZWRpYVF1ZXJpZXM7CiB9OwogCisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9OQUxfUlVMRVMpCitj
bGFzcyBTdHlsZVJ1bGVTdXBwb3J0cyA6IHB1YmxpYyBTdHlsZVJ1bGVCbG9jayB7CitwdWJsaWM6
CisgICAgc3RhdGljIFBhc3NSZWZQdHI8U3R5bGVSdWxlU3VwcG9ydHM+IGNyZWF0ZShjb25zdCBT
dHJpbmcmIGNvbmRpdGlvblRleHQsIGJvb2wgY29uZGl0aW9uSXNTdXBwb3J0ZWQsIFZlY3RvcjxS
ZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKKyAgICB7CisgICAgICAgIHJldHVy
biBhZG9wdFJlZihuZXcgU3R5bGVSdWxlU3VwcG9ydHMoY29uZGl0aW9uVGV4dCwgY29uZGl0aW9u
SXNTdXBwb3J0ZWQsIGFkb3B0UnVsZXMpKTsKKyAgICB9CisKKyAgICBTdHJpbmcgY29uZGl0aW9u
VGV4dCgpIGNvbnN0IHsgcmV0dXJuIG1fY29uZGl0aW9uVGV4dDsgfQorICAgIGJvb2wgY29uZGl0
aW9uSXNTdXBwb3J0ZWQoKSBjb25zdCB7IHJldHVybiBtX2NvbmRpdGlvbklzU3VwcG9ydGVkOyB9
CisgICAgUGFzc1JlZlB0cjxTdHlsZVJ1bGVTdXBwb3J0cz4gY29weSgpIGNvbnN0IHsgcmV0dXJu
IGFkb3B0UmVmKG5ldyBTdHlsZVJ1bGVTdXBwb3J0cygqdGhpcykpOyB9CisKK3ByaXZhdGU6Cisg
ICAgU3R5bGVSdWxlU3VwcG9ydHMoY29uc3QgU3RyaW5nJiBjb25kaXRpb25UZXh0LCBib29sIGNv
bmRpdGlvbklzU3VwcG9ydGVkLCBWZWN0b3I8UmVmUHRyPFN0eWxlUnVsZUJhc2U+ID4mIGFkb3B0
UnVsZXMpOworICAgIFN0eWxlUnVsZVN1cHBvcnRzKGNvbnN0IFN0eWxlUnVsZVN1cHBvcnRzJik7
CisKKyAgICBTdHJpbmcgbV9jb25kaXRpb25UZXh0OworICAgIGJvb2wgbV9jb25kaXRpb25Jc1N1
cHBvcnRlZDsKK307CisjZW5kaWYKKwogY2xhc3MgU3R5bGVSdWxlUmVnaW9uIDogcHVibGljIFN0
eWxlUnVsZUJsb2NrIHsKIHB1YmxpYzoKICAgICBzdGF0aWMgUGFzc1JlZlB0cjxTdHlsZVJ1bGVS
ZWdpb24+IGNyZWF0ZShWZWN0b3I8T3duUHRyPENTU1BhcnNlclNlbGVjdG9yPiA+KiBzZWxlY3Rv
cnMsIFZlY3RvcjxSZWZQdHI8U3R5bGVSdWxlQmFzZT4gPiYgYWRvcHRSdWxlcykKQEAgLTI4MSw2
ICszMDgsMTQgQEAgaW5saW5lIGNvbnN0IFN0eWxlUnVsZU1lZGlhKiB0b1N0eWxlUnVsZU1lZGlh
KGNvbnN0IFN0eWxlUnVsZUJsb2NrKiBydWxlKQogICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25z
dCBTdHlsZVJ1bGVNZWRpYSo+KHJ1bGUpOwogfQogCisjaWYgRU5BQkxFKENTUzNfQ09ORElUSU9O
QUxfUlVMRVMpCitpbmxpbmUgY29uc3QgU3R5bGVSdWxlU3VwcG9ydHMqIHRvU3R5bGVSdWxlU3Vw
cG9ydHMoY29uc3QgU3R5bGVSdWxlQmxvY2sqIHJ1bGUpCit7CisgICAgQVNTRVJUKCFydWxlIHx8
IHJ1bGUtPmlzU3VwcG9ydHNSdWxlKCkpOworICAgIHJldHVybiBzdGF0aWNfY2FzdDxjb25zdCBT
dHlsZVJ1bGVTdXBwb3J0cyo+KHJ1bGUpOworfQorI2VuZGlmCisKIGlubGluZSBjb25zdCBTdHls
ZVJ1bGVSZWdpb24qIHRvU3R5bGVSdWxlUmVnaW9uKGNvbnN0IFN0eWxlUnVsZUJsb2NrKiBydWxl
KQogewogICAgIEFTU0VSVCghcnVsZSB8fCBydWxlLT5pc1JlZ2lvblJ1bGUoKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvU3R5bGVTaGVldENvbnRlbnRzLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCmluZGV4IDZiN2MwYzVmMDgyYmE1Y2Nl
MjYxMjgwOGM4ZGM4Zjc1ZGM2N2NlNGIuLjY3YjBjMWQ3OTcwMjk3YWZmN2Y4MGYyMzgyZTdhODM0
MWYwYjhiYzUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVu
dHMuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9TdHlsZVNoZWV0Q29udGVudHMuY3BwCkBA
IC00NTYsNiArNDU2LDkgQEAgc3RhdGljIGJvb2wgY2hpbGRSdWxlc0hhdmVGYWlsZWRPckNhbmNl
bGVkU3VicmVzb3VyY2VzKGNvbnN0IFZlY3RvcjxSZWZQdHI8U3R5bGUKICAgICAgICAgY2FzZSBT
dHlsZVJ1bGVCYXNlOjpVbmtub3duOgogICAgICAgICBjYXNlIFN0eWxlUnVsZUJhc2U6OkNoYXJz
ZXQ6CiAgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6S2V5ZnJhbWU6CisjaWYgRU5BQkxFKENT
UzNfQ09ORElUSU9OQUxfUlVMRVMpCisgICAgICAgIGNhc2UgU3R5bGVSdWxlQmFzZTo6U3VwcG9y
dHM6CisjZW5kaWYKICNpZiBFTkFCTEUoQ1NTX0RFVklDRV9BREFQVEFUSU9OKQogICAgICAgICBj
YXNlIFN0eWxlUnVsZUJhc2U6OlZpZXdwb3J0OgogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAgYi9Tb3VyY2UvV2ViQ29y
ZS9pbnNwZWN0b3IvSW5zcGVjdG9yU3R5bGVTaGVldC5jcHAKaW5kZXggYzUyODNkNThiZDg0NjI2
ODkzOWJlNjc5ZDhhNWJiZDY1MmZhMzljZi4uY2U5ODg3OWE4MGVmM2YzMTVlMTY4MWRiOWQxNWRk
OWFkMzI2M2FlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvaW5zcGVjdG9yL0luc3BlY3Rv
clN0eWxlU2hlZXQuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2luc3BlY3Rvci9JbnNwZWN0b3JT
dHlsZVNoZWV0LmNwcApAQCAtMzcsNiArMzcsNyBAQAogI2luY2x1ZGUgIkNTU1J1bGVMaXN0Lmgi
CiAjaW5jbHVkZSAiQ1NTU3R5bGVSdWxlLmgiCiAjaW5jbHVkZSAiQ1NTU3R5bGVTaGVldC5oIgor
I2luY2x1ZGUgIkNTU1N1cHBvcnRzUnVsZS5oIgogI2luY2x1ZGUgIkNvbnRlbnRTZWN1cml0eVBv
bGljeS5oIgogI2luY2x1ZGUgIkRvY3VtZW50LmgiCiAjaW5jbHVkZSAiRWxlbWVudC5oIgpAQCAt
MTA5LDYgKzExMCwxMCBAQCBzdGF0aWMgdm9pZCBmbGF0dGVuU291cmNlRGF0YShSdWxlU291cmNl
RGF0YUxpc3QqIGRhdGFMaXN0LCBSdWxlU291cmNlRGF0YUxpc3QqCiAgICAgICAgICAgICB0YXJn
ZXQtPmFwcGVuZChkYXRhKTsKICAgICAgICAgZWxzZSBpZiAoZGF0YS0+dHlwZSA9PSBDU1NSdWxl
U291cmNlRGF0YTo6TUVESUFfUlVMRSkKICAgICAgICAgICAgIGZsYXR0ZW5Tb3VyY2VEYXRhKCZk
YXRhLT5jaGlsZFJ1bGVzLCB0YXJnZXQpOworI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JV
TEVTKQorICAgICAgICBlbHNlIGlmIChkYXRhLT50eXBlID09IENTU1J1bGVTb3VyY2VEYXRhOjpT
VVBQT1JUU19SVUxFKQorICAgICAgICAgICAgZmxhdHRlblNvdXJjZURhdGEoJmRhdGEtPmNoaWxk
UnVsZXMsIHRhcmdldCk7CisjZW5kaWYKICAgICB9CiB9CiAKQEAgLTIwOSw2ICsyMTQsMTEgQEAg
c3RhdGljIFBhc3NSZWZQdHI8Q1NTUnVsZUxpc3Q+IGFzQ1NTUnVsZUxpc3QoQ1NTUnVsZSogcnVs
ZSkKICAgICBpZiAocnVsZS0+dHlwZSgpID09IENTU1J1bGU6OldFQktJVF9LRVlGUkFNRVNfUlVM
RSkKICAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYktpdENTU0tleWZyYW1lc1J1bGUqPihy
dWxlKS0+Y3NzUnVsZXMoKTsKIAorI2lmIEVOQUJMRShDU1MzX0NPTkRJVElPTkFMX1JVTEVTKQor
ICAgIGlmIChydWxlLT50eXBlKCkgPT0gQ1NTUnVsZTo6U1VQUE9SVFNfUlVMRSkKKyAgICAgICAg
cmV0dXJuIHN0YXRpY19jYXN0PENTU1N1cHBvcnRzUnVsZSo+KHJ1bGUpLT5jc3NSdWxlcygpOwor
I2VuZGlmCisKICAgICByZXR1cm4gMDsKIH0KIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hh
bmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IGZjYWVjYzA1MTMxODgxYWM2Y2Nh
MTEwYjVjZTU0NmUyN2RhMDg5YjkuLjIzYzRlNzFmMWZkMDUwYzBiMGY4OWEyMTQ1OGNlZTZlOGZm
YzNlODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNCBAQAorMjAxMy0wMS0xNCAgUGFibG8gRmxvdXJldCAg
PHBhYmxvZkBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgSW1wbGVtZW50IENTU1N1cHBvcnRzUnVs
ZQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTA0ODIy
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBjc3Mz
L3N1cHBvcnRzLWNzc29tLWV4cGVjdGVkLnR4dDogQWRkZWQuCisgICAgICAgICogY3NzMy9zdXBw
b3J0cy1jc3NvbS5odG1sOiBBZGRlZC4KKyAgICAgICAgKiBjc3MzL3N1cHBvcnRzLWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiBjc3MzL3N1cHBvcnRzLmh0bWw6CisKKyAgICAgICAgKiBwbGF0Zm9y
bS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2VmbC9UZXN0
RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRpb25zOgor
ICAgICAgICAqIHBsYXRmb3JtL21hYy9UZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAqIHBsYXRm
b3JtL3F0L1Rlc3RFeHBlY3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luL1Rlc3RFeHBl
Y3RhdGlvbnM6CisgICAgICAgICogcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9uczoK
KyAgICAgICAgKiBwbGF0Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9uczoKKwogMjAxMy0wMS0xNCAg
TGV2aSBXZWludHJhdWIgIDxsZXZpd0BjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgVW5yZXZpZXdl
ZCBnYXJkZW5pbmcuIE1hcmtpbmcgZWRpdGluZy9zcGVsbGluZy9zcGVsbGNoZWNrLXNlcXVlbmNl
bnVtLmh0bWwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20tZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvY3NzMy9zdXBwb3J0cy1jc3NvbS1leHBlY3RlZC50eHQK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uZTYyNDFhZGIxNzBiZTE2NmUyMzZhODcwZmRjOGNkMGE2MzRiZmNkZgotLS0g
L2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20tZXhwZWN0ZWQu
dHh0CkBAIC0wLDAgKzEsNjIgQEAKK1Rlc3QgQ1NTU3VwcG9ydFJ1bGUuCisKK09uIHN1Y2Nlc3Ms
IHlvdSB3aWxsIHNlZSBhIHNlcmllcyBvZiAiUEFTUyIgbWVzc2FnZXMsIGZvbGxvd2VkIGJ5ICJU
RVNUIENPTVBMRVRFIi4KKworCitQQVNTIENTU1J1bGUuU1VQUE9SVFNfUlVMRSBpcyBkZWZpbmVk
LgorcnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxlcworUEFTUyBydWxlcy5s
ZW5ndGggaXMgNAorUEFTUyBydWxlc1swXS50eXBlIGlzIENTU1J1bGUuU1VQUE9SVFNfUlVMRQor
UEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMgorUEFTUyBydWxlc1swXS5jc3NSdWxl
c1swXS50eXBlIGlzIENTU1J1bGUuU1RZTEVfUlVMRQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sx
XS50eXBlIGlzIENTU1J1bGUuU1VQUE9SVFNfUlVMRQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sx
XS5jc3NSdWxlcy5sZW5ndGggaXMgMQorUEFTUyBydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxl
c1swXS50eXBlIGlzIENTU1J1bGUuU1RZTEVfUlVMRQorUEFTUyBydWxlc1swXS5jb25kaXRpb25U
ZXh0IGlzICIod2lkdGg6IDApIgorUEFTUyBydWxlc1swXS5jc3NUZXh0IGlzICJAc3VwcG9ydHMg
KHdpZHRoOiAwKSB7XG4gIHMgeyB3aWR0aDogMHB4OyB9XG4gIEBzdXBwb3J0cyAod2lkdGg6IDEp
IHtcbiAgcyB7IGNvbG9yOiByZ2IoMCwgMCwgMCk7IH1cbn1cbn0iCisKK0luc2VydGluZyBhbmQg
ZGVsZXRpbmcgcnVsZXMuCitydWxlc1swXS5pbnNlcnRSdWxlKCdAbWVkaWEgYWxsIHsgI3MgeyB3
aWR0aDogMHB4OyB9IH0nLCAyKQorUEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMwor
UEFTUyBydWxlc1swXS5jc3NSdWxlc1syXS50eXBlIGlzIENTU1J1bGUuTUVESUFfUlVMRQorcnVs
ZXNbMF0uZGVsZXRlUnVsZSgyKQorUEFTUyBydWxlc1swXS5jc3NSdWxlcy5sZW5ndGggaXMgMgor
cnVsZXNbMF0uY3NzUnVsZXNbMV0uaW5zZXJ0UnVsZSgnQHN1cHBvcnRzIChkaXNwbGF5OiByYWlu
Ym93KSB7fScsIDEpCitQQVNTIHJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCBp
cyAyCitQQVNTIHJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzWzFdLnR5cGUgaXMgQ1NTUnVs
ZS5TVVBQT1JUU19SVUxFCitydWxlc1swXS5jc3NSdWxlc1sxXS5kZWxldGVSdWxlKDEpCitQQVNT
IHJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCBpcyAyCisKK0BjaGFyc2V0LCBAbmFtZXNwYWNlLCBA
aW1wb3J0IHJ1bGVzIGFyZSBub3QgYWxsb3dlZCBpbnNpZGUgQHN1cHBvcnRzLgorUEFTUyBydWxl
c1swXS5pbnNlcnRSdWxlKCdAY2hhcnNldCAiVVRGLTgiJywgMikgdGhyZXcgZXhjZXB0aW9uIEVy
cm9yOiBTeW50YXhFcnJvcjogRE9NIEV4Y2VwdGlvbiAxMi4KK1BBU1MgcnVsZXNbMF0uaW5zZXJ0
UnVsZSgnQG5hbWVzcGFjZSAiIicsIDIpIHRocmV3IGV4Y2VwdGlvbiBFcnJvcjogU3ludGF4RXJy
b3I6IERPTSBFeGNlcHRpb24gMTIuCitQQVNTIHJ1bGVzWzBdLmluc2VydFJ1bGUoJ0BpbXBvcnQg
dXJsKCIuLi9mYXN0L2Nzc29tL3Jlc291cmNlcy9pbXBvcnQuY3NzIiknLCAyKSB0aHJldyBleGNl
cHRpb24gRXJyb3I6IFN5bnRheEVycm9yOiBET00gRXhjZXB0aW9uIDEyLgorCitXaGl0ZXNwYWNl
IGFuZCBmb3JtYXR0aW5nIHNob3VsZCBiZSBwcmVzZXJ2ZWQgd2l0aGluIHRoZSBjb25kaXRpb24s
IHdoaXRlc3BhY2Ugb3V0c2lkZSB0aGUgY29uZGl0aW9uIHNob3VsZCBiZSB0cmltbWVkLgorUEFT
UyBydWxlc1sxXS5jb25kaXRpb25UZXh0IGlzICIoKCAgKCAgICAgcGFkZGluZzogMCkgICAgYW5k
IChkaXNwbGF5OiBub25lKSkgb3IgKGRpc3BsYXk6IHJhaW5ib3cpKSIKKworQHN1cHBvcnRzIHJ1
bGUgbmVzdGVkIGluc2lkZSBhIG1lZGlhIHJ1bGUuCitQQVNTIHJ1bGVzWzJdLnR5cGUgaXMgQ1NT
UnVsZS5NRURJQV9SVUxFCitQQVNTIHJ1bGVzWzJdLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNT
IHJ1bGVzWzJdLmNzc1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5TVVBQT1JUU19SVUxFCitQQVNT
IHJ1bGVzWzJdLmNzc1J1bGVzWzBdLmNvbmRpdGlvblRleHQgaXMgIiggcGFkZGluZzogMCkiCitQ
QVNTIHJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCBpcyAxCitQQVNTIHJ1bGVz
WzJdLmNzc1J1bGVzWzBdLmNzc1J1bGVzWzBdLnR5cGUgaXMgQ1NTUnVsZS5QQUdFX1JVTEUKK1BB
U1MgcnVsZXNbMl0uY3NzVGV4dCBpcyAiQG1lZGlhIGFsbCB7IFxuICBAc3VwcG9ydHMgKCBwYWRk
aW5nOiAwKSB7XG4gIEBwYWdlIDpsZWZ0IHsgdG9wOiAwcHg7IH1cbn1cbn0iCisKK05vIGV4dHJh
IHBhcmVucyBzaG91bGQgYmUgYWRkZWQgdG8gdGhlIGNvbmRpdGlvblRleHQuCitQQVNTIHJ1bGVz
WzNdLmNvbmRpdGlvblRleHQgaXMgIihib3JkZXI6IGJsYWNrKSBhbmQgKHBhZGRpbmc6IDApIGFu
ZCAod2lkdGg6IDApIgorCitEZWxldGluZyBhIHRvcC1sZXZlbCBydWxlIHNob3VsZCB3b3JrIGNv
cnJlY3RseS4KK2RvY3VtZW50LnN0eWxlU2hlZXRzWzFdLmRlbGV0ZVJ1bGUoMykKK1BBU1MgcnVs
ZXMubGVuZ3RoIGlzIDMKK1BBU1MgcnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNVUFBPUlRTX1JV
TEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIGlzIDIKK1BBU1MgcnVsZXNbMF0uY3Nz
UnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVs
ZXNbMV0udHlwZSBpcyBDU1NSdWxlLlNVUFBPUlRTX1JVTEUKK1BBU1MgcnVsZXNbMF0uY3NzUnVs
ZXNbMV0uY3NzUnVsZXMubGVuZ3RoIGlzIDEKK1BBU1MgcnVsZXNbMF0uY3NzUnVsZXNbMV0uY3Nz
UnVsZXNbMF0udHlwZSBpcyBDU1NSdWxlLlNUWUxFX1JVTEUKK1BBU1Mgc3VjY2Vzc2Z1bGx5UGFy
c2VkIGlzIHRydWUKKworVEVTVCBDT01QTEVURQorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9j
c3MzL3N1cHBvcnRzLWNzc29tLmh0bWwgYi9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWNzc29t
Lmh0bWwKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMC4uOTg5N2I2MGYwMDVlMjcxZmM1ZTkyYWVhOGZiMGU4Mjc4ZDA5YjA2
ZgotLS0gL2Rldi9udWxsCisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtY3Nzb20uaHRt
bApAQCAtMCwwICsxLDExNiBAQAorPCFET0NUWVBFIEhUTUw+Cis8aHRtbD4KKzxoZWFkPgorPG1l
dGEgY2hhcnNldD11dGY4PgorPHNjcmlwdCBzcmM9Ii4uL2Zhc3QvanMvcmVzb3VyY2VzL2pzLXRl
c3QtcHJlLmpzIj48L3NjcmlwdD4KKzxzdHlsZT4KKyAgICBAc3VwcG9ydHMgKHdpZHRoOiAwKSB7
CisgICAgICAgIHMgeyB3aWR0aDogMDsgfQorICAgICAgICBAc3VwcG9ydHMgKHdpZHRoOiAxKSB7
CisgICAgICAgICAgICBzIHsgY29sb3I6ICMwMDA7IH0KKyAgICAgICAgICAgIEBpbXBvcnQgdXJs
KCIuLi9mYXN0L2Nzc29tL3Jlc291cmNlcy9pbXBvcnQuY3NzIik7CisgICAgICAgICAgICBAY2hh
cnNldCAiVVRGLTgiOworICAgICAgICAgICAgQG5hbWVzcGFjZSAiIjsKKyAgICAgICAgfQorICAg
IH0KKworICAgIEBzdXBwb3J0cyAgKCggICggICAgIHBhZGRpbmc6IDApICAgIGFuZCAoZGlzcGxh
eTogbm9uZSkpIG9yIChkaXNwbGF5OiByYWluYm93KSkgIHsKKyAgICAgICAgZGZuIHsgd2lkdGg6
MDsgfQorICAgICAgICBAc3VwcG9ydHMgKHdpZHRoOiAwKSB7CisgICAgICAgICAgICBiciB7IGhl
aWdodDowOyB9CisgICAgICAgIH0KKyAgICAgICAgb2wgeyBkaXNwbGF5Om5vbmU7IH0KKyAgICB9
CisKKyAgICBAbWVkaWEgYWxsIHsKKyAgICAgICAgQHN1cHBvcnRzICAoIHBhZGRpbmc6IDApIHsK
KyAgICAgICAgICAgIEBwYWdlIDpsZWZ0IHsgdG9wOiAwIH0KKyAgICAgICAgfQorICAgIH0KKwor
ICAgIEBzdXBwb3J0cyAoYm9yZGVyOiBibGFjaykgYW5kIChwYWRkaW5nOiAwKSBhbmQgKHdpZHRo
OiAwKSB7CisgICAgICAgIGRmbiB7IHdpZHRoOjA7IH0KKyAgICB9Cis8L3N0eWxlPgorPC9oZWFk
PgorPGJvZHk+Cis8c2NyaXB0PgorICAgIGRlc2NyaXB0aW9uKCJUZXN0IENTU1N1cHBvcnRSdWxl
LiIpOworCisKKyAgICBzaG91bGRCZURlZmluZWQoIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOwor
CisgICAgZXZhbEFuZExvZygicnVsZXMgPSBkb2N1bWVudC5zdHlsZVNoZWV0c1sxXS5jc3NSdWxl
cyIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzLmxlbmd0aCIsIDQpOworICAgIHNob3Vs
ZEJlKCJydWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAgIHNob3Vs
ZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCIsIDIpOworICAgIHNob3VsZEJl
KCJydWxlc1swXS5jc3NSdWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAg
IHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNf
UlVMRSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1
bGVzLmxlbmd0aCIsIDEpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NS
dWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAgIHNob3VsZEJlRXF1YWxU
b1N0cmluZygicnVsZXNbMF0uY29uZGl0aW9uVGV4dCIsICIod2lkdGg6IDApIik7CisgICAgc2hv
dWxkQmVFcXVhbFRvU3RyaW5nKCJydWxlc1swXS5jc3NUZXh0IiwKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgIkBzdXBwb3J0cyAod2lkdGg6IDApIHtcbiIgKworICAgICAgICAgICAgICAgICAg
ICAgICAgICAiICBzIHsgd2lkdGg6IDBweDsgfVxuIiArCisgICAgICAgICAgICAgICAgICAgICAg
ICAgICIgIEBzdXBwb3J0cyAod2lkdGg6IDEpIHtcbiIgKworICAgICAgICAgICAgICAgICAgICAg
ICAgICAiICBzIHsgY29sb3I6IHJnYigwLCAwLCAwKTsgfVxuIiArCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICJ9XG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIn0iKTsKKworICAg
IGRlYnVnKCJcbkluc2VydGluZyBhbmQgZGVsZXRpbmcgcnVsZXMuIik7CisgICAgZXZhbEFuZExv
ZygicnVsZXNbMF0uaW5zZXJ0UnVsZSgnQG1lZGlhIGFsbCB7ICNzIHsgd2lkdGg6IDBweDsgfSB9
JywgMikiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1swXS5jc3NSdWxlcy5sZW5ndGgi
LCAzKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMF0uY3NzUnVsZXNbMl0udHlwZSIsICJDU1NSdWxl
Lk1FRElBX1JVTEUiKTsKKyAgICBldmFsQW5kTG9nKCJydWxlc1swXS5kZWxldGVSdWxlKDIpIik7
CisgICAgc2hvdWxkRXZhbHVhdGVUbygicnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIiwgMik7CisK
KyAgICBldmFsQW5kTG9nKCJydWxlc1swXS5jc3NSdWxlc1sxXS5pbnNlcnRSdWxlKCdAc3VwcG9y
dHMgKGRpc3BsYXk6IHJhaW5ib3cpIHt9JywgMSkiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJy
dWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlcy5sZW5ndGgiLCAyKTsKKyAgICBzaG91bGRCZSgi
cnVsZXNbMF0uY3NzUnVsZXNbMV0uY3NzUnVsZXNbMV0udHlwZSIsICJDU1NSdWxlLlNVUFBPUlRT
X1JVTEUiKTsKKyAgICBldmFsQW5kTG9nKCJydWxlc1swXS5jc3NSdWxlc1sxXS5kZWxldGVSdWxl
KDEpIik7CisgICAgc2hvdWxkRXZhbHVhdGVUbygicnVsZXNbMF0uY3NzUnVsZXMubGVuZ3RoIiwg
Mik7CisKKyAgICBkZWJ1ZygiXG5AY2hhcnNldCwgQG5hbWVzcGFjZSwgQGltcG9ydCBydWxlcyBh
cmUgbm90IGFsbG93ZWQgaW5zaWRlIEBzdXBwb3J0cy4iKQorICAgIHNob3VsZFRocm93KCJydWxl
c1swXS5pbnNlcnRSdWxlKCdAY2hhcnNldCBcIlVURi04XCInLCAyKSIpOworICAgIHNob3VsZFRo
cm93KCJydWxlc1swXS5pbnNlcnRSdWxlKCdAbmFtZXNwYWNlIFwiXCInLCAyKSIpOworICAgIHNo
b3VsZFRocm93KCJydWxlc1swXS5pbnNlcnRSdWxlKCdAaW1wb3J0IHVybChcIi4uL2Zhc3QvY3Nz
b20vcmVzb3VyY2VzL2ltcG9ydC5jc3NcIiknLCAyKSIpOworCisKKyAgICBkZWJ1ZygiXG5XaGl0
ZXNwYWNlIGFuZCBmb3JtYXR0aW5nIHNob3VsZCBiZSBwcmVzZXJ2ZWQgd2l0aGluIHRoZSBjb25k
aXRpb24sIHdoaXRlc3BhY2Ugb3V0c2lkZSB0aGUgY29uZGl0aW9uIHNob3VsZCBiZSB0cmltbWVk
LiIpOworICAgIHNob3VsZEJlRXF1YWxUb1N0cmluZygicnVsZXNbMV0uY29uZGl0aW9uVGV4dCIs
ICIoKCAgKCAgICAgcGFkZGluZzogMCkgICAgYW5kIChkaXNwbGF5OiBub25lKSkgb3IgKGRpc3Bs
YXk6IHJhaW5ib3cpKSIpOworCisKKyAgICBkZWJ1ZygiXG5Ac3VwcG9ydHMgcnVsZSBuZXN0ZWQg
aW5zaWRlIGEgbWVkaWEgcnVsZS4iKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMl0udHlwZSIsICJD
U1NSdWxlLk1FRElBX1JVTEUiKTsKKyAgICBzaG91bGRFdmFsdWF0ZVRvKCJydWxlc1syXS5jc3NS
dWxlcy5sZW5ndGgiLCAxKTsKKyAgICBzaG91bGRCZSgicnVsZXNbMl0uY3NzUnVsZXNbMF0udHlw
ZSIsICJDU1NSdWxlLlNVUFBPUlRTX1JVTEUiKTsKKyAgICBzaG91bGRCZUVxdWFsVG9TdHJpbmco
InJ1bGVzWzJdLmNzc1J1bGVzWzBdLmNvbmRpdGlvblRleHQiLCAiKCBwYWRkaW5nOiAwKSIpOwor
ICAgIHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0
aCIsIDEpOworICAgIHNob3VsZEJlKCJydWxlc1syXS5jc3NSdWxlc1swXS5jc3NSdWxlc1swXS50
eXBlIiwgIkNTU1J1bGUuUEFHRV9SVUxFIik7CisgICAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJy
dWxlc1syXS5jc3NUZXh0IiwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIkBtZWRpYSBhbGwg
eyBcbiIgKworICAgICAgICAgICAgICAgICAgICAgICAgICAiICBAc3VwcG9ydHMgKCBwYWRkaW5n
OiAwKSB7XG4iICsKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIiAgQHBhZ2UgOmxlZnQgeyB0
b3A6IDBweDsgfVxuIiArCisgICAgICAgICAgICAgICAgICAgICAgICAgICJ9XG4iICsKKyAgICAg
ICAgICAgICAgICAgICAgICAgICAgIn0iKTsKKworCisgICAgZGVidWcoIlxuTm8gZXh0cmEgcGFy
ZW5zIHNob3VsZCBiZSBhZGRlZCB0byB0aGUgY29uZGl0aW9uVGV4dC4iKTsKKyAgICBzaG91bGRC
ZUVxdWFsVG9TdHJpbmcoInJ1bGVzWzNdLmNvbmRpdGlvblRleHQiLCAiKGJvcmRlcjogYmxhY2sp
IGFuZCAocGFkZGluZzogMCkgYW5kICh3aWR0aDogMCkiKTsKKworCisgICAgZGVidWcoIlxuRGVs
ZXRpbmcgYSB0b3AtbGV2ZWwgcnVsZSBzaG91bGQgd29yayBjb3JyZWN0bHkuIik7CisgICAgZXZh
bEFuZExvZygiZG9jdW1lbnQuc3R5bGVTaGVldHNbMV0uZGVsZXRlUnVsZSgzKSIpOworICAgIHNo
b3VsZEV2YWx1YXRlVG8oInJ1bGVzLmxlbmd0aCIsIDMpOworICAgIHNob3VsZEJlKCJydWxlc1sw
XS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAgIHNob3VsZEV2YWx1YXRlVG8o
InJ1bGVzWzBdLmNzc1J1bGVzLmxlbmd0aCIsIDIpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5j
c3NSdWxlc1swXS50eXBlIiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworICAgIHNob3VsZEJlKCJy
dWxlc1swXS5jc3NSdWxlc1sxXS50eXBlIiwgIkNTU1J1bGUuU1VQUE9SVFNfUlVMRSIpOworICAg
IHNob3VsZEV2YWx1YXRlVG8oInJ1bGVzWzBdLmNzc1J1bGVzWzFdLmNzc1J1bGVzLmxlbmd0aCIs
IDEpOworICAgIHNob3VsZEJlKCJydWxlc1swXS5jc3NSdWxlc1sxXS5jc3NSdWxlc1swXS50eXBl
IiwgIkNTU1J1bGUuU1RZTEVfUlVMRSIpOworCis8L3NjcmlwdD4KKzxzY3JpcHQgc3JjPSIuLi9m
YXN0L2pzL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgorPC9ib2R5PgorPC9o
dG1sPgorCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLWV4cGVjdGVkLnR4
dCBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtZXhwZWN0ZWQudHh0CmluZGV4IGQ3N2U3MmY3
NzA1ZWZmMTU1ZTMzNTc2OTg3NDQ4YzBhMWIxNWJmZDIuLjQxYTc2YmFjM2YzYmZiMmZjYTRmYjQw
ZGM4ZDA0NTM5YjlhZjIxYzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMt
ZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMtZXhwZWN0ZWQudHh0
CkBAIC0zOCw2ICszOCw4IEBAIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndDMxJykpLmNvbnRlbnQgaXMgIkFQUExJRUQiCiBQQVNTIGdldENvbXB1dGVkU3R5
bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzMicpKS5jb250ZW50IGlzICJBUFBMSUVEIgog
UEFTUyBnZXRDb21wdXRlZFN0eWxlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd0MzMnKSkuY29u
dGVudCBpcyAiQVBQTElFRCIKIFBBU1MgZ2V0Q29tcHV0ZWRTdHlsZShkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgndDM0JykpLmNvbnRlbnQgaXMgIlVOVE9VQ0hFRCIKK1BBU1MgZ2V0Q29tcHV0ZWRT
dHlsZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndDM1JykpLmNvbnRlbnQgaXMgIkFQUExJRUQi
CitQQVNTIGdldENvbXB1dGVkU3R5bGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3QzNicpKS5j
b250ZW50IGlzICJVTlRPVUNIRUQiCiBQQVNTIHN1Y2Nlc3NmdWxseVBhcnNlZCBpcyB0cnVlCiAK
IFRFU1QgQ09NUExFVEUKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMuaHRt
bCBiL0xheW91dFRlc3RzL2NzczMvc3VwcG9ydHMuaHRtbAppbmRleCAxZTY4YzljNjg1NDg1ZDdh
ODFjYmY0YzBhNmZiNmNiZjlmMWFhY2ExLi40NDM0N2RhZTU5OGZjYThlYzBiYjUxM2FjODY0Yjdm
OTU0M2VmMjBkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9jc3MzL3N1cHBvcnRzLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvY3NzMy9zdXBwb3J0cy5odG1sCkBAIC04NCwyNCArODQsNiBAQAogICAg
ICAgICAjdDE3IHsgY29udGVudDogIkFQUExJRUQiIH0KICAgICB9CiAKLSAgICAvKiBOZXN0aW5n
LiAqLwotICAgIEBzdXBwb3J0cyAoZGlzcGxheTogbm9uZSkgewotICAgICAgICBAc3VwcG9ydHMg
KGRpc3BsYXk6IGRlYWRiZWVmKSB7Ci0gICAgICAgICAgICAjdDE4IHsgY29udGVudDogIkZBSUwi
IH0KLSAgICAgICAgfQotICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgewotICAg
ICAgICAgICAgI3QxOSB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9Ci0gICAgICAgIH0KLSAgICAgICAg
QHN1cHBvcnRzIChkaXNwbGF5OiBpbmxpbmUpIHsKLSAgICAgICAgfQotICAgICAgICBAbWVkaWEg
YWxsIHsKLSAgICAgICAgICAgICN0MjAgeyBjb250ZW50OiAiQVBQTElFRCIgfQotICAgICAgICAg
ICAgQHN1cHBvcnRzIChkaXNwbGF5OiBpbmxpbmUpIHsKLSAgICAgICAgICAgICAgICAjdDIxIHsg
Y29udGVudDogIkFQUExJRUQiIH0KLSAgICAgICAgICAgIH0KLSAgICAgICAgfQotICAgIH0KLQog
ICAgIC8qIFdoaXRlc3BhY2UvU3ludGF4ICovCiAgICAgQHN1cHBvcnRzIG5vdCggZGlzcGxheTog
ZGVhZGJlZWYpIHsKICAgICAgICAgI3QyMiB7IGNvbnRlbnQ6ICJBUFBMSUVEIiB9CkBAIC0xNTcs
NiArMTM5LDM5IEBACiAgICAgICAgICN0MzQgeyBjb250ZW50OiAiRkFJTCIgfQogICAgIH0KIAor
ICAgIC8qIE5lc3RpbmcuICovCisgICAgQHN1cHBvcnRzIChkaXNwbGF5OiBub25lKSB7CisgICAg
ICAgIEBzdXBwb3J0cyAoZGlzcGxheTogZGVhZGJlZWYpIHsKKyAgICAgICAgICAgICN0MTggeyBj
b250ZW50OiAiRkFJTCIgfQorICAgICAgICB9CisgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxheTog
aW5saW5lKSB7CisgICAgICAgICAgICAjdDE5IHsgY29udGVudDogIkFQUExJRUQiIH0KKyAgICAg
ICAgfQorICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICB9Cisg
ICAgICAgIEBtZWRpYSBhbGwgeworICAgICAgICAgICAgI3QyMCB7IGNvbnRlbnQ6ICJBUFBMSUVE
IiB9CisgICAgICAgICAgICBAc3VwcG9ydHMgKGRpc3BsYXk6IGlubGluZSkgeworICAgICAgICAg
ICAgICAgICN0MjEgeyBjb250ZW50OiAiQVBQTElFRCIgfQorICAgICAgICAgICAgfQorICAgICAg
ICB9CisgICAgfQorCisgICAgQG1lZGlhIGFsbCB7CisgICAgICAgIEBzdXBwb3J0cyAoZGlzcGxh
eTogaW5saW5lKSB7CisgICAgICAgICAgICBAbWVkaWEgYWxsIHsKKyAgICAgICAgICAgICAgICBA
c3VwcG9ydHMgKGRpc3BsYXk6IG5vbmUpIHsKKyAgICAgICAgICAgICAgICAgICAgI3QzNSB7IGNv
bnRlbnQ6ICJBUFBMSUVEIiB9CisgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgfQorICAg
ICAgICB9CisgICAgfQorCisgICAgQG1lZGlhIG5vdCBhbGwgeworICAgICAgICBAc3VwcG9ydHMg
KGRpc3BsYXk6IG5vbmUpIHsKKyAgICAgICAgICAgICN0MzYgeyBjb250ZW50OiAiRkFJTCIgfQor
ICAgICAgICB9CisgICAgfQogPC9zdHlsZT4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTY0LDggKzE3
OSw4IEBACiAKIDxzY3JpcHQ+CiAgICAgZGVzY3JpcHRpb24oIlRlc3QgdGhlIEBzdXBwb3J0cyBy
dWxlLiIpOwotICAgIHZhciBudW1UZXN0cyA9IDM1OwotICAgIHZhciB1bnRvdWNoZWRUZXN0cyA9
IFsxLCAzLCA1LCA4LCAxMiwgMTMsIDE0LCAxOCwgMjgsIDI5LCAzNF07IC8vIFRlc3RzIHdob3Nl
IGNvbnRlbnQgc2hvdWxkbid0IGNoYW5nZSBmcm9tIHRoZSBVTlRPVUNIRUQgZGVmYXVsdC4KKyAg
ICB2YXIgbnVtVGVzdHMgPSAzNzsKKyAgICB2YXIgdW50b3VjaGVkVGVzdHMgPSBbMSwgMywgNSwg
OCwgMTIsIDEzLCAxNCwgMTgsIDI4LCAyOSwgMzQsIDM2XTsgLy8gVGVzdHMgd2hvc2UgY29udGVu
dCBzaG91bGRuJ3QgY2hhbmdlIGZyb20gdGhlIFVOVE9VQ0hFRCBkZWZhdWx0LgogCiAgICAgdmFy
IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJ0ZXN0X2NvbnRhaW5lciIpOwog
ICAgIGZvciAodmFyIGk9MDsgaSA8IG51bVRlc3RzOyBpKyspIHsKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0cy9w
bGF0Zm9ybS9jaHJvbWl1bS9UZXN0RXhwZWN0YXRpb25zCmluZGV4IDQ0MTUzNzhkMDI3MzhhOWU0
NDQ0MWI3NWMxYzgwODg1ZDg4YTg3MGQuLjFkMDZkZjViZDRiYmYzNjMyOWM1NWQxNTk4MDE1NDBl
MjU5Y2YzZWQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2Nocm9taXVtL1Rlc3RF
eHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vY2hyb21pdW0vVGVzdEV4cGVj
dGF0aW9ucwpAQCAtMzkzMiw2ICszOTMyLDcgQEAgd2Via2l0Lm9yZy9iLzk1MTIxIFsgQW5kcm9p
ZCBdIGZhc3QvYm9yZGVycy9ib3JkZXItaW1hZ2Utc2lkZS1yZWR1Y3Rpb24uaHRtbCBbIEkKIAog
IyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdlYmtpdC5v
cmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDQ4MjIgY3NzMy9z
dXBwb3J0cy1jc3NvbS5odG1sCiAKICMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5vdCBlbmFi
bGVkLgogd2Via2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBdCmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9lZmwvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91
dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25zCmluZGV4IGQ2MTZmZGUwMjM3ZGY0
YzgzNjg0NzFmZTY4OTU0Mjk3OTgyZjI0MGEuLjMxYmIyMzdiNTZjNTU0ZTAxMDJkMGUxMzRjOTYx
MmJkOWY1ZjViMDUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhw
ZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL2VmbC9UZXN0RXhwZWN0YXRpb25z
CkBAIC0xNTU4LDYgKzE1NTgsNyBAQCB3ZWJraXQub3JnL2IvOTk4NzggY3NzMy9mbGV4Ym94L2Zs
ZXhib3gtYmFzZWxpbmUtbWFyZ2lucy5odG1sIFsgTWlzc2luZyBJbWFnZU9ubAogCiAjIGNzczMt
Y29uZGl0aW9uYWxzIHN1cHBvcnQgaXMgbm90IHlldCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzg2
MTQ2IGNzczMvc3VwcG9ydHMuaHRtbAord2Via2l0Lm9yZy9iLzEwNDgyMiBjc3MzL3N1cHBvcnRz
LWNzc29tLmh0bWwKIAogIyBPY2Nhc2lvbmFsbHkgZmFpbHMgaWYgcnVuIGFmdGVyIHJpZ2h0IGFm
dGVyCiAjIGZhc3Qvc2VsZWN0b3JzL3VucXVhbGlmaWVkLWhvdmVyLXF1aXJrcy5odG1sIG9yIGl0
c2VsZi4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL2d0ay9UZXN0RXhwZWN0YXRp
b25zIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggODRi
MWVjMWRlNjM1OTEyYWNjMmFmYmUzNmM0NjEyNGE5NmFjOTdlNi4uMDA5YmMxMGFkNjI3MGQyODBh
M2UyOWY3Y2U1ZjYzMjBjNTdlMTI1MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
Z3RrL1Rlc3RFeHBlY3RhdGlvbnMKKysrIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0vZ3RrL1Rlc3RF
eHBlY3RhdGlvbnMKQEAgLTQwOCw2ICs0MDgsNyBAQCB3ZWJraXQub3JnL2IvOTkwNTkgZmFzdC9k
b20vdGltZXItdGhyb3R0bGluZy1oaWRkZW4tcGFnZS5odG1sIFsgRmFpbHVyZSBdCiAKICMgY3Nz
My1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2Iv
ODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3VwcG9y
dHMtY3Nzb20uaHRtbAogCiAjIFJlcXVpcmVzIFJlc29sdXRpb24gTWVkaWEgUXVlcnkgc3VwcG9y
dAogd2Via2l0Lm9yZy9iLzEwMDEzNyBmYXN0L21lZGlhL21xLXJlc29sdXRpb24uaHRtbCBbIEZh
aWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL1Rlc3RFeHBlY3Rh
dGlvbnMgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVzdEV4cGVjdGF0aW9ucwppbmRleCA5
ZWU0NjNlMmIwMmY2MzZjNWI4NDEwZjczYWQ3YTg3ODM1YjZiOWU1Li4zNDc4Y2VlZDQ2ZDY3NTE2
YWIzYTI4ZWU2YjQwN2I5MmYxMjcxZjJjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9y
bS9tYWMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvVGVz
dEV4cGVjdGF0aW9ucwpAQCAtMTE2MSw2ICsxMTYxLDcgQEAgd2Via2l0Lm9yZy9iLzkyNDY0IFsg
RGVidWcgXSBmYXN0L2V2ZW50cy90YWJpbmRleC1mb2N1cy1ibHVyLWFsbC5odG1sIFsgQ3Jhc2gg
UGEKIAogIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4KIHdl
YmtpdC5vcmcvYi84NjE0NiBjc3MzL3N1cHBvcnRzLmh0bWwKK3dlYmtpdC5vcmcvYi8xMDQ4MjIg
Y3NzMy9zdXBwb3J0cy1jc3NvbS5odG1sCiAKICMgQ1NTIERldmljZSBBZGFwdGF0aW9uIGlzIG5v
dCBlbmFibGVkLgogd2Via2l0Lm9yZy9iLzk1OTU5IGNzczMvZGV2aWNlLWFkYXB0IFsgU2tpcCBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0RXhwZWN0YXRpb25zIGIv
TGF5b3V0VGVzdHMvcGxhdGZvcm0vcXQvVGVzdEV4cGVjdGF0aW9ucwppbmRleCBmOGQzODFiZTBl
ODJjNmJkZDZmMzI5NWZjODZlMGRkYWIxNDA1ZjRmLi44YTM3YzY3ZDA4NDliNWQ2ZmNjNzQyMzgy
ODJlYWY5MjgzZDdjMDI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9xdC9UZXN0
RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3F0L1Rlc3RFeHBlY3RhdGlv
bnMKQEAgLTIzOTAsNiArMjM5MCw3IEBAIHdlYmtpdC5vcmcvYi8yMzE2NiBpZXRlc3RjZW50ZXIv
Y3NzMy9ib3JkZXJzYmFja2dyb3VuZHMvYm9yZGVyLXJhZGl1cy1jbGlwLTAwMi5oCiAKICMgY3Nz
My1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3JnL2Iv
ODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3VwcG9y
dHMtY3Nzb20uaHRtbAogCiAjIENTUyBEZXZpY2UgQWRhcHRhdGlvbiBpcyBub3QgZW5hYmxlZC4K
IHdlYmtpdC5vcmcvYi85NTk2OSBjc3MzL2RldmljZS1hZGFwdCBbIFNraXAgXQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luL1Rlc3RFeHBlY3RhdGlvbnMgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwppbmRleCBjYTk4MWE4Mjc3MzEzYmQzNzlj
OGMyYTFlNTgxMmY5NGMzMjdkNjA1Li5kMWM3MDBlYjcyMjhhMDFmZTc1NjRhNjJjMzFhZGQyYzYz
Y2E5NDJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93aW4vVGVzdEV4cGVjdGF0aW9ucwpAQCAt
MjM4OCw4ICsyMzg4LDkgQEAgY3NzMy9mbGV4Ym94L2ZsZXhib3gtYmFzZWxpbmUuaHRtbAogI2h0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD05OTg3OAogY3NzMy9mbGV4Ym94
L2ZsZXhib3gtYmFzZWxpbmUtbWFyZ2lucy5odG1sCiAKLSMgY3NzMy1jb25kaXRpb25hbHMgc3Vw
cG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQub3JnL2IvODYxNDYKKyMgY3Nz
My1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuIGh0dHA6Ly93ZWJraXQu
b3JnL2IvODYxNDYgaHR0cDovL3dlYmtpdC5vcmcvYi8xMDQ4MjIKIGNzczMvc3VwcG9ydHMuaHRt
bAorY3NzMy9zdXBwb3J0cy1jc3NvbS5odG1sCiAKICMgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTk4MTY5CiBodHRwL3Rlc3RzL2luc3BlY3Rvci9zdGFja3RyYWNlcwpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9u
cyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3dpbmNhaXJvL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXgg
MWZlNTRlNTc0YzE0MjUzYzY1ZjQyOTM2NDllMWNiMDhkYTFmNDA4NS4uODVjNGUzYjkwZjRiNjNk
ZDVhMzE0NzYwNWNlYTBmZDJkMDQ1ZmY1ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvcGxhdGZv
cm0vd2luY2Fpcm8vVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS93
aW5jYWlyby9UZXN0RXhwZWN0YXRpb25zCkBAIC0yODkzLDggKzI4OTMsOSBAQCBjc3MzL2ZsZXhi
b3gvZmxleGJveC1iYXNlbGluZS5odG1sCiAjaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTk5ODc4CiBjc3MzL2ZsZXhib3gvZmxleGJveC1iYXNlbGluZS1tYXJnaW5zLmh0
bWwKIAotIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5vdCB5ZXQgZW5hYmxlZC4gaHR0
cDovL3dlYmtpdC5vcmcvYi84NjE0NgorIyBjc3MzLWNvbmRpdGlvbmFscyBzdXBwb3J0IGlzIG5v
dCB5ZXQgZW5hYmxlZC4gaHR0cDovL3dlYmtpdC5vcmcvYi84NjE0NiBodHRwOi8vd2Via2l0Lm9y
Zy9iLzEwNDgyMgogY3NzMy9zdXBwb3J0cy5odG1sCitjc3MzL3N1cHBvcnRzLWNzc29tLmh0bWwK
IAogIyBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9OTgxNjkKIGh0dHAv
dGVzdHMvaW5zcGVjdG9yL3N0YWNrdHJhY2VzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9wbGF0
Zm9ybS93azIvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0
RXhwZWN0YXRpb25zCmluZGV4IDI1ZGQ4YWUwMDEzYzg5ODJiM2YzN2E4OWM2ZTdhYjI4ZjhiOTY1
NGMuLjBhNzlhYjY1OTI0ZDRjNmYwYTFlOTU3NTZjNGJhMWM0MGJmOTEzODMgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRl
c3RzL3BsYXRmb3JtL3drMi9UZXN0RXhwZWN0YXRpb25zCkBAIC0zNDUsNiArMzQ1LDcgQEAgaHR0
cC90ZXN0cy9zZWN1cml0eS9yZWZlcnJlci1wb2xpY3ktcmVkaXJlY3QtbGluay5odG1sCiAKICMg
Y3NzMy1jb25kaXRpb25hbHMgc3VwcG9ydCBpcyBub3QgeWV0IGVuYWJsZWQuCiB3ZWJraXQub3Jn
L2IvODYxNDYgY3NzMy9zdXBwb3J0cy5odG1sCit3ZWJraXQub3JnL2IvMTA0ODIyIGNzczMvc3Vw
cG9ydHMtY3Nzb20uaHRtbAogCiAjIFRleHQgQXV0b3NpemluZyBpcyBub3QgeWV0IGVuYWJsZWQu
CiAjIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD04NDE4Ngo=
</data>

          </attachment>
      

    </bug>

</bugzilla>