<?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>137371</bug_id>
          
          <creation_ts>2014-10-02 16:46:33 -0700</creation_ts>
          <short_desc>[iOS] Make WebKit2 build with public iOS SDK and more build fixes for DRT</short_desc>
          <delta_ts>2015-01-09 13:32:21 -0800</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKit2</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>136487</dependson>
    
    <dependson>138928</dependson>
    
    <dependson>138930</dependson>
    
    <dependson>140235</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Daniel Bates">dbates</reporter>
          <assigned_to name="Daniel Bates">dbates</assigned_to>
          <cc>aestes</cc>
    
    <cc>benjamin</cc>
    
    <cc>bjonesbe</cc>
    
    <cc>cmarcelo</cc>
    
    <cc>commit-queue</cc>
    
    <cc>ddkilzer</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>eugenebut</cc>
    
    <cc>glenn</cc>
    
    <cc>jer.noble</cc>
    
    <cc>philipj</cc>
    
    <cc>sergio</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1039047</commentid>
    <comment_count>0</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-10-02 16:46:33 -0700</bug_when>
    <thetext>We should make WebKit2 build with the public iOS SDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1039049</commentid>
    <comment_count>1</comment_count>
      <attachid>239156</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-10-02 16:48:50 -0700</bug_when>
    <thetext>Created attachment 239156
Work-in-progress patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057500</commentid>
    <comment_count>2</comment_count>
      <attachid>243652</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-12-22 17:09:34 -0800</bug_when>
    <thetext>Created attachment 243652
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057501</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-22 17:11:48 -0800</bug_when>
    <thetext>Attachment 243652 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cocoa/ServersSPI.h:37:  name_t is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 1 in 64 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>1057606</commentid>
    <comment_count>4</comment_count>
      <attachid>243679</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2014-12-23 10:44:49 -0800</bug_when>
    <thetext>Created attachment 243679
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1057608</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2014-12-23 10:47:41 -0800</bug_when>
    <thetext>Attachment 243679 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cocoa/ServersSPI.h:37:  name_t is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/ServersSPI.h:43:  bootstrap_look_up is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/ServersSPI.h:44:  bootstrap_register2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 3 in 64 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>1057999</commentid>
    <comment_count>6</comment_count>
      <attachid>243679</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2014-12-27 14:12:24 -0800</bug_when>
    <thetext>Comment on attachment 243679
Patch

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

&gt; Source/WebCore/platform/spi/cocoa/ServersSPI.h:33
&gt; +#include &lt;servers/bootstrap.h&gt;

Is this really SPI everywhere? I think at least on OS X, this file is API.

&gt; Source/WebCore/platform/spi/cocoa/ServersSPI.h:44
&gt; +kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t);

I don&apos;t think you are including a header for this. It is defined in bootstrap_priv.h,

&gt; Source/WebCore/platform/spi/ios/UIKitSPI.h:28
&gt; +// FIXME: Move this header to the WebKit2 framework once we remove DumpRenderTree&apos;s
&gt; +// dependence on it. It is a layering violation to include this header or any UIKit
&gt; +// headers in a WebCore or WebKitLegacy file as UIKit depends on WebKitLegacy.

Why not just make DumpRenderTree get it from WebKit2?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059461</commentid>
    <comment_count>7</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 12:29:40 -0800</bug_when>
    <thetext>(In reply to comment #6)
&gt; Comment on attachment 243679 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=243679&amp;action=review
&gt; 
&gt; &gt; Source/WebCore/platform/spi/cocoa/ServersSPI.h:33
&gt; &gt; +#include &lt;servers/bootstrap.h&gt;
&gt; 
&gt; Is this really SPI everywhere? I think at least on OS X, this file is API.
&gt; 

You&apos;re right! Will fix as this is API on OS X.

&gt; &gt; Source/WebCore/platform/spi/cocoa/ServersSPI.h:44
&gt; &gt; +kern_return_t bootstrap_register2(mach_port_t, name_t, mach_port_t, uint64_t);
&gt; 
&gt; I don&apos;t think you are including a header for this. It is defined in
&gt; bootstrap_priv.h,
&gt; 

Will include header bootstrap_priv.h when building with the Apple Internal SDK.

&gt; &gt; Source/WebCore/platform/spi/ios/UIKitSPI.h:28
&gt; &gt; +// FIXME: Move this header to the WebKit2 framework once we remove DumpRenderTree&apos;s
&gt; &gt; +// dependence on it. It is a layering violation to include this header or any UIKit
&gt; &gt; +// headers in a WebCore or WebKitLegacy file as UIKit depends on WebKitLegacy.
&gt; 
&gt; Why not just make DumpRenderTree get it from WebKit2?

I can do this. When I wrote the patch I thought it would be considered bad form to have a WebKit1-based application, DumpRenderTree, depend on a WebKit2 header and I did not want to add to the bad practices used by DumpRenderTree (including referencing headers from WebCore).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059507</commentid>
    <comment_count>8</comment_count>
      <attachid>244190</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 13:56:40 -0800</bug_when>
    <thetext>Created attachment 244190
Patch 1 of 4: Add new files

Adds SPI wrapper headers and consolidates the content of header _UIHighlightViewSPI.h into the newly added header UIKitSPI.h.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059510</commentid>
    <comment_count>9</comment_count>
      <attachid>244192</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 13:57:39 -0800</bug_when>
    <thetext>Created attachment 244192
Patch 2 of 4: WebCore and WebKit2 Xcode changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059511</commentid>
    <comment_count>10</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-07 13:58:31 -0800</bug_when>
    <thetext>Attachment 244190 did not pass style-queue:


ERROR: Source/WebCore/platform/spi/cocoa/ServersSPI.h:37:  name_t is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/ServersSPI.h:49:  bootstrap_look_up is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
ERROR: Source/WebCore/platform/spi/cocoa/ServersSPI.h:50:  bootstrap_register2 is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming/underscores] [4]
Total errors found: 3 in 9 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>1059512</commentid>
    <comment_count>11</comment_count>
      <attachid>244193</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 13:58:49 -0800</bug_when>
    <thetext>Created attachment 244193
Patch 3 of 4: DumpRenderTree changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059513</commentid>
    <comment_count>12</comment_count>
      <attachid>244194</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 13:59:22 -0800</bug_when>
    <thetext>Created attachment 244194
Patch 4 of 4: Substitute SPI wrapper headers for actual headers; add WTF EXTERN_C_{BEGIN, END}</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059516</commentid>
    <comment_count>13</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-07 14:01:09 -0800</bug_when>
    <thetext>Attachment 244194 did not pass style-queue:


ERROR: Source/WebKit2/UIProcess/ios/SmartMagnificationController.mm:43:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 1 in 45 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>1059581</commentid>
    <comment_count>14</comment_count>
      <attachid>244190</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-07 15:38:53 -0800</bug_when>
    <thetext>Comment on attachment 244190
Patch 1 of 4: Add new files

rs=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059584</commentid>
    <comment_count>15</comment_count>
      <attachid>244192</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-07 15:40:53 -0800</bug_when>
    <thetext>Comment on attachment 244192
Patch 2 of 4: WebCore and WebKit2 Xcode changes

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059587</commentid>
    <comment_count>16</comment_count>
      <attachid>244193</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-07 15:47:07 -0800</bug_when>
    <thetext>Comment on attachment 244193
Patch 3 of 4: DumpRenderTree changes

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

r=me

&gt; Tools/ChangeLog:3
&gt; +        [iOS] Make WebKit2 build with public iOS SDK

I know this is the title of the bug, but the patch actually makes DumpRenderTree build.  Maybe better to change &quot;WebKit2&quot; to &quot;DumpRenderTree&quot;?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059591</commentid>
    <comment_count>17</comment_count>
      <attachid>244194</attachid>
    <who name="David Kilzer (:ddkilzer)">ddkilzer</who>
    <bug_when>2015-01-07 15:55:13 -0800</bug_when>
    <thetext>Comment on attachment 244194
Patch 4 of 4: Substitute SPI wrapper headers for actual headers; add WTF EXTERN_C_{BEGIN, END}

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

r=me

&gt; Source/WTF/wtf/Compiler.h:179
&gt;  #ifdef __cplusplus
&gt; +#define EXTERN_C_BEGIN extern &quot;C&quot; {
&gt; +#define EXTERN_C_END }
&gt; +#else
&gt; +#define EXTERN_C_BEGIN
&gt; +#define EXTERN_C_END
&gt; +#endif

Not to be pedantic, but do these need to be named WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END so we don&apos;t conflict with someone else&apos;s headers?

&gt; Source/WebKit2/ChangeLog:10
&gt; +        * Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to
&gt; +        the list of directories to search for frameworks so that we the linker can find and link against iOS private
&gt; +        frameworks (e.g. AssertionServices).

This was moved to a different patch, I think.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059604</commentid>
    <comment_count>18</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 16:02:22 -0800</bug_when>
    <thetext>(In reply to comment #16)
&gt; Comment on attachment 244193 [details]
&gt; Patch 3 of 4: DumpRenderTree changes
&gt; &gt; Tools/ChangeLog:3
&gt; &gt; +        [iOS] Make WebKit2 build with public iOS SDK
&gt; 
&gt; I know this is the title of the bug, but the patch actually makes
&gt; DumpRenderTree build.  Maybe better to change &quot;WebKit2&quot; to &quot;DumpRenderTree&quot;?

No, more build fixes are needed to make DumpRenderTree build with the public SDK.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059617</commentid>
    <comment_count>19</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 16:09:01 -0800</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; Source/WTF/wtf/Compiler.h:179
&gt; &gt;  #ifdef __cplusplus
&gt; &gt; +#define EXTERN_C_BEGIN extern &quot;C&quot; {
&gt; &gt; +#define EXTERN_C_END }
&gt; &gt; +#else
&gt; &gt; +#define EXTERN_C_BEGIN
&gt; &gt; +#define EXTERN_C_END
&gt; &gt; +#endif
&gt; 
&gt; Not to be pedantic, but do these need to be named WTF_EXTERN_C_BEGIN and
&gt; WTF_EXTERN_C_END so we don&apos;t conflict with someone else&apos;s headers?
&gt; 

Will rename EXTERN_C_BEGIN and EXTERN_C_END to WTF_EXTERN_C_BEGIN and WTF_EXTERN_C_END, respectively.

&gt; &gt; Source/WebKit2/ChangeLog:10
&gt; &gt; +        * Configurations/BaseTarget.xcconfig: Append directory $(SDKROOT)$(SYSTEM_LIBRARY_DIR)/PrivateFrameworks to
&gt; &gt; +        the list of directories to search for frameworks so that we the linker can find and link against iOS private
&gt; &gt; +        frameworks (e.g. AssertionServices).
&gt; 
&gt; This was moved to a different patch, I think.

This change is in &quot;Patch 2 of 4: WebCore and WebKit2 Xcode changes&quot; (attachment 244192).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059633</commentid>
    <comment_count>20</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 16:36:01 -0800</bug_when>
    <thetext>Committed r178068: &lt;http://trac.webkit.org/changeset/178068&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059669</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2015-01-07 17:59:28 -0800</bug_when>
    <thetext>Re-opened since this is blocked by bug 140235</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059681</commentid>
    <comment_count>22</comment_count>
      <attachid>244194</attachid>
    <who name="Tim Horton">thorton</who>
    <bug_when>2015-01-07 18:49:56 -0800</bug_when>
    <thetext>Comment on attachment 244194
Patch 4 of 4: Substitute SPI wrapper headers for actual headers; add WTF EXTERN_C_{BEGIN, END}

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

&gt; Source/WTF/wtf/Compiler.h:181
&gt; +// FIXME: Remove this once we have transitioned to EXTERN_C_BEGIN/EXTERN_C_END.

This file *has* to use /* */ style comments because it gets included in the sandbox profile and the sandbox profile compiler doesn&apos;t understand // comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059700</commentid>
    <comment_count>23</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 20:17:04 -0800</bug_when>
    <thetext>Committed r178080: &lt;http://trac.webkit.org/changeset/178080&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1059741</commentid>
    <comment_count>24</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2015-01-07 22:07:59 -0800</bug_when>
    <thetext>(In reply to comment #22)
&gt; Comment on attachment 244194 [details]
&gt; Patch 4 of 4: Substitute SPI wrapper headers for actual headers; add WTF
&gt; EXTERN_C_{BEGIN, END}
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=244194&amp;action=review
&gt; 
&gt; &gt; Source/WTF/wtf/Compiler.h:181
&gt; &gt; +// FIXME: Remove this once we have transitioned to EXTERN_C_BEGIN/EXTERN_C_END.
&gt; 
&gt; This file *has* to use /* */ style comments because it gets included in the
&gt; sandbox profile and the sandbox profile compiler doesn&apos;t understand //
&gt; comments.

Fixed in &lt;http://trac.webkit.org/changeset/178104&gt;.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>239156</attachid>
            <date>2014-10-02 16:48:50 -0700</date>
            <delta_ts>2014-12-22 17:09:24 -0800</delta_ts>
            <desc>Work-in-progress patch</desc>
            <filename>WIP-WK2_100214.patch</filename>
            <type>text/plain</type>
            <size>232907</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSBhZmE4MzVmZGVmNWM3ODg3NDU1ZjhlZDQzMjYyMzc2YWNjN2U3YzEwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRiYXRlc0B3ZWJraXQub3JnPgpEYXRl
OiBTdW4sIDcgU2VwIDIwMTQgMTU6MTI6NDEgLTA3MDAKU3ViamVjdDogW1BBVENIXSBXZWJLaXQy
IEZpeGVzCgotLS0KIC4uLi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291cmNlTG9hZGVy
TWFjLm1tIHwgICAyICstCiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlvbi5o
ICAgICAgICAgICB8ICAgMyArLQogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25u
ZWN0aW9uTWFjLm1tICAgfCAgMTAgKy0KIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL21hYy9MYXll
ckhvc3RpbmdDb250ZXh0Lm1tIHwgIDE0ICstCiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9tYWMv
TWVudVV0aWxpdGllcy5tbSAgICAgICB8ICAgNSArLQogLi4uL1BsYXRmb3JtL3NwaS9pb3MvQktT
UHJvY2Vzc0Fzc2VydGlvblNQSS5oICAgICAgfCAgNTYgKysrKysKIFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvQm9vdHN0cmFwU1BJLmggICAgIHwgIDUzICsrKysrCiBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0NBQ29udGV4dFNQSS5oICAgICB8ICA0NyArKysrKwogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9DQUZpbHRlclNQSS5oICAgICAgfCAgNDEgKysr
KwogLi4uL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9DQVJlbmRlclNlcnZlclNQSS5oICAgfCAg
NDUgKysrKwogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9DR1BERkRvY3VtZW50U1BJ
LmggfCAgNDUgKysrKwogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9EREFjdGlvblNQ
SS5oICAgICAgfCAgNDAgKysrKwogLi4uL1BsYXRmb3JtL3NwaS9pb3MvREREZXRlY3Rpb25Db250
cm9sbGVyU1BJLmggICAgfCAgNTYgKysrKysKIC4uLi9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3Mv
R3JhcGhpY3NTZXJ2aWNlc1NQSS5oIHwgIDQzICsrKysKIC4uLi9zcGkvaW9zL01QQXVkaW9WaWRl
b1JvdXRpbmdBY3Rpb25TaGVldFNQSS5oICAgIHwgIDQwICsrKysKIC4uLi9pb3MvTVBBdWRpb1Zp
ZGVvUm91dGluZ1BvcG92ZXJDb250cm9sbGVyU1BJLmggIHwgIDM5ICsrKysKIFNvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9pb3MvTVBUeXBlc1NQSS5oICAgICAgIHwgIDM2ICsrKysKIC4uLi9X
ZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVElOU1N0cmluZ0V4dHJhc1NQSS5oIHwgIDM1ICsrKysK
IC4uLi9QbGF0Zm9ybS9zcGkvaW9zL1VJQWxlcnRDb250cm9sbGVyU1BJLmggICAgICAgIHwgIDM2
ICsrKysKIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlBcHBsaWNhdGlvblNQSS5o
IHwgIDUwICsrKysrCiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJRGF0ZVBpY2tl
clNQSS5oICB8ICA0NCArKysrCiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJRGV2
aWNlU1BJLmggICAgICB8ICAzNiArKysrCiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9z
L1VJRm9udFNQSS5oICAgICAgICB8ICAzOCArKysrCiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zL1VJR2VvbWV0cnlTUEkuaCAgICB8ICAzNCArKysKIC4uLi9QbGF0Zm9ybS9zcGkvaW9z
L1VJR2VzdHVyZVJlY29nbml6ZXJTUEkuaCAgICAgIHwgIDM0ICsrKwogLi4uL1BsYXRmb3JtL3Nw
aS9pb3MvVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJTUEkuaCAgfCAgNTAgKysrKysKIFNvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlJbWFnZVNQSS5oICAgICAgIHwgIDM0ICsrKwogU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtleWJvYXJkU1BJLmggICAgfCAxMDMgKysr
KysrKysrKwogLi4uL3NwaS9pb3MvVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplclNQSS5oICAg
ICAgfCAgMzUgKysrKwogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBERkRvY3Vt
ZW50U1BJLmggfCAgNDQgKysrKwogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBE
RlBhZ2VTUEkuaCAgICAgfCAgMzkgKysrKwogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lv
cy9VSVBERlBhZ2VWaWV3U1BJLmggfCAgNjEgKysrKysrCiAuLi4vV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zL1VJUGVyaXBoZXJhbEhvc3RTUEkuaCB8ICA0MyArKysrCiAuLi4vUGxhdGZvcm0vc3Bp
L2lvcy9VSVBpY2tlckNvbnRlbnRWaWV3U1BJLmggICAgICB8ICA0MiArKysrCiBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJUGlja2VyVmlld1NQSS5oICB8ICAzNiArKysrCiBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJU2Nyb2xsVmlld1NQSS5oICB8ICAzOCArKysr
CiAuLi4vV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJU3RyaW5nRHJhd2luZ1NQSS5oICB8ICAz
NiArKysrCiAuLi4vV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJVGFibGVWaWV3Q2VsbFNQSS5o
ICB8ICAzMyArKysKIC4uLi9QbGF0Zm9ybS9zcGkvaW9zL1VJVGFwR2VzdHVyZVJlY29nbml6ZXJT
UEkuaCAgIHwgIDM0ICsrKwogU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVRleHRJ
bnB1dFNQSS5oICAgfCAgNjggKysrKysrCiAuLi4vc3BpL2lvcy9VSVRleHRJbnRlcmFjdGlvbkFz
c2lzdGFudFNQSS5oICAgICAgICB8ICA0MiArKysrCiAuLi4vV2ViS2l0Mi9QbGF0Zm9ybS9zcGkv
aW9zL1VJVmlld0NvbnRyb2xsZXJTUEkuaCB8ICAzNSArKysrCiAuLi4vc3BpL2lvcy9VSVZpZXdD
b250cm9sbGVyVHJhbnNpdGlvbmluZ1NQSS5oICAgICB8ICA3OCArKysrKysrCiBTb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJVmlld1NQSS5oICAgICAgICB8ICA0NiArKysrKwogLi4u
L1BsYXRmb3JtL3NwaS9pb3MvVUlXS1NlbGVjdGlvbkFzc2lzdGFudFNQSS5oICAgfCAgNDUgKysr
KwogLi4uL3NwaS9pb3MvVUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudFNQSS5oICAgICAgfCAx
NDcgKysrKysrKysrKysrKwogLi4uL1BsYXRmb3JtL3NwaS9pb3MvVUlXZWJEb2N1bWVudFZpZXdT
UEkuaCAgICAgICAgfCAgMzMgKysrCiAuLi4vUGxhdGZvcm0vc3BpL2lvcy9VSVdlYkZvcm1BY2Nl
c3NvcnlTUEkuaCAgICAgICB8ICA1NSArKysrKwogLi4uL3NwaS9pb3MvVUlXZWJHZW9sb2NhdGlv
blBvbGljeURlY2lkZXJTUEkuaCAgICAgfCAgNDUgKysrKwogLi4uL1BsYXRmb3JtL3NwaS9pb3Mv
VUlXZWJTZWxlY3Rpb25Bc3Npc3RhbnRTUEkuaCAgfCAgNDggKysrKysKIC4uLi9zcGkvaW9zL1VJ
V2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplclNQSS5oIHwgIDc4ICsrKysrKysKIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlXaW5kb3dTUEkuaCAgICAgIHwgIDM1ICsrKysK
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvWFBDU1BJLmggICAgICAgICAgIHwgMTU0
ICsrKysrKysrKysrKysrCiAuLi4vV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL19VSUJhY2tkcm9w
Vmlld1NQSS5oICB8ICA0MiArKysrCiAuLi4vV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL19VSUhp
Z2hsaWdodFZpZXdTUEkuaCB8ICA0MiArKysrCiAuLi4vaW9zL19VSU5hdmlnYXRpb25JbnRlcmFj
dGl2ZVRyYW5zaXRpb25TUEkuaCAgICB8ICA1MyArKysrKwogLi4uL3NwaS9pb3MvX1VJTmF2aWdh
dGlvblBhcmFsbGF4VHJhbnNpdGlvblNQSS5oICAgfCAgMzggKysrKwogLi4uL19VSVdlYkhpZ2hs
aWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyU1BJLmggfCAgMzcgKysrKwogU291cmNlL1dl
YktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0gfCAgMTEgKy0KIC4uLi9t
YWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRyeVBvaW50Lm1tICAgIHwgICAyICstCiAu
Li4vbWFjL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQuaCAgICAgICAgICB8ICAgMSAr
CiAuLi4vbWFjL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9pbnQubW0gICAgICAgICB8ICAg
OCArLQogLi4uL21hYy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLkRldmVsb3BtZW50Lm1tICAg
fCAgIDIgKy0KIC4uLi9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5tbSAgICAgICAgICAg
ICAgIHwgICAyICstCiAuLi4vV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJ
T1MubW0gICB8ICAgNiArLQogU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0
aWVzLmNwcCAgICAgfCAgIDEgKwogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0gICAgfCAgMTYgKy0KIC4uLi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0ludGVybmFsLmggICAgICAgIHwgICAyICstCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L2lvcy9XS1ZpZXdJT1MubW0gICAgICB8ICAgNiArLQogLi4uL1VJUHJvY2Vzcy9MYXVuY2hlci9t
YWMvUHJvY2Vzc0xhdW5jaGVyTWFjLm1tICAgfCAgMTcgKy0KIC4uLi9VSVByb2Nlc3MvTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc1Byb3h5LmNwcCAgICAgIHwgICAxICsKIFNvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gIHwgICAzICstCiAuLi4vV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0gICB8ICAgMiArLQogLi4uL1VJUHJv
Y2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tbSAgfCAgIDIgKy0KIC4uLi9V
SVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbSAgICAgIHwgICA4ICstCiBT
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXQubW0gICAgICB8ICAgMyAr
LQogLi4uL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50LmggfCAg
IDQgKy0KIC4uLi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0gICAgICAg
IHwgIDIyICstCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0g
ICAgICB8ICAgMiArLQogLi4uL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9u
LmggICAgICAgfCAgMTQgKy0KIC4uLi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5tbSAgICAgIHwgIDM3ICsrLS0KIC4uLi9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1NPYmpD
U2VjdXJpdHlPcmlnaW4ubW0gIHwgICAyICstCiAuLi4vVUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VO
dW1iZXJJbmRpY2F0b3IubW0gICAgICB8ICAgOCArLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS1BERlZpZXcuaCAgICAgICAgICAgfCAgIDIgKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tQREZWaWV3Lm1tICAgICAgICAgIHwgICA4ICstCiBTb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oICAgICAgICB8ICAgOCArCiAuLi4vaW9zL1dLU3lu
dGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5oICAgICB8ICAgMiArLQogLi4uL1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0gICAgfCAgMTAgKy0KIC4uLi9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tICAgICAgIHwgICA5ICstCiAu
Li4vVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0gICAgICB8ICAgNyAr
LQogLi4uL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1Qb3BvdmVyLm1tICAgfCAg
IDQgKy0KIC4uLi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wuaCAgICAg
IHwgICAxIC0KIC4uLi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wubW0g
ICAgIHwgIDEyICstCiAuLi4vVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNrZXIu
bW0gICAgICB8ICAxMCArLQogLi4uL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UG9w
b3Zlci5tbSAgICAgfCAgMTYgKy0KIFNvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1Nu
YXBzaG90U3RvcmUubW0gIHwgICA1ICstCiBTb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogICB8IDIyOCArKysrKysrKysrKysrKysrKysrKysKIC4uLi9tYWMv
TGVnYWN5UHJvY2Vzcy9XZWJDb250ZW50UHJvY2Vzc01haW4ubW0gICAgIHwgICA0ICstCiAuLi4v
bWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tICB8ICAgMiArLQog
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwICAgICAgfCAgIDIg
KwogU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCAgICAgICAgfCAg
IDcgKy0KIC4uLi9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbSAg
IHwgICA3ICsKIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVy
Lm1tIHwgICA3ICstCiAxMDMgZmlsZXMgY2hhbmdlZCwgMjk4OSBpbnNlcnRpb25zKCspLCAxNzUg
ZGVsZXRpb25zKC0pCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
c3BpL2lvcy9CS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0Jvb3RzdHJhcFNQSS5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9DQUNvbnRleHRTUEkuaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvQ0FGaWx0ZXJT
UEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3Mv
Q0FSZW5kZXJTZXJ2ZXJTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvQ0dQREZEb2N1bWVudFNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9EREFjdGlvblNQSS5oCiBjcmVhdGUgbW9kZSAx
MDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9ERERldGVjdGlvbkNvbnRyb2xs
ZXJTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9p
b3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9NUEF1ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hlZXRTUEkuaAog
Y3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvTVBBdWRp
b1ZpZGVvUm91dGluZ1BvcG92ZXJDb250cm9sbGVyU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL01QVHlwZXNTUEkuaAogY3JlYXRlIG1vZGUg
MTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVElOU1N0cmluZ0V4dHJhc1NQ
SS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9V
SUFsZXJ0Q29udHJvbGxlclNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vc3BpL2lvcy9VSUFwcGxpY2F0aW9uU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBT
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJRGF0ZVBpY2tlclNQSS5oCiBjcmVhdGUg
bW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSURldmljZVNQSS5o
CiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUZv
bnRTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9p
b3MvVUlHZW9tZXRyeVNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9VSUdlc3R1cmVSZWNvZ25pemVyU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJSW1hZ2VQaWNrZXJDb250cm9sbGVy
U1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9z
L1VJSW1hZ2VTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvVUlLZXlib2FyZFNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9VSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyU1BJLmgKIGNy
ZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJUERGRG9j
dW1lbnRTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvVUlQREZQYWdlU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9zcGkvaW9zL1VJUERGUGFnZVZpZXdTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlQZXJpcGhlcmFsSG9zdFNQSS5oCiBjcmVh
dGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBpY2tlckNv
bnRlbnRWaWV3U1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9zcGkvaW9zL1VJUGlja2VyVmlld1NQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVNjcm9sbFZpZXdTUEkuaAogY3JlYXRlIG1vZGUgMTAw
NjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlTdHJpbmdEcmF3aW5nU1BJLmgK
IGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJVGFi
bGVWaWV3Q2VsbFNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL2lvcy9VSVRhcEdlc3R1cmVSZWNvZ25pemVyU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0
NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJVGV4dElucHV0U1BJLmgKIGNyZWF0
ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJVGV4dEludGVy
YWN0aW9uQXNzaXN0YW50U1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9zcGkvaW9zL1VJVmlld0NvbnRyb2xsZXJTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0
IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlWaWV3Q29udHJvbGxlclRyYW5zaXRp
b25pbmdTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvVUlWaWV3U1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9zcGkvaW9zL1VJV0tTZWxlY3Rpb25Bc3Npc3RhbnRTUEkuaAogY3JlYXRlIG1vZGUgMTAw
NjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlXS1RleHRJbnRlcmFjdGlvbkFz
c2lzdGFudFNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
c3BpL2lvcy9VSVdlYkRvY3VtZW50Vmlld1NQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVdlYkZvcm1BY2Nlc3NvcnlTUEkuaAogY3JlYXRl
IG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlXZWJHZW9sb2Nh
dGlvblBvbGljeURlY2lkZXJTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL3NwaS9pb3MvVUlXZWJTZWxlY3Rpb25Bc3Npc3RhbnRTUEkuaAogY3JlYXRlIG1v
ZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlXZWJUb3VjaEV2ZW50
c0dlc3R1cmVSZWNvZ25pemVyU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2luZG93U1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1hQQ1NQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQg
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9fVUlCYWNrZHJvcFZpZXdTUEkuaAogY3Jl
YXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvX1VJSGlnaGxp
Z2h0Vmlld1NQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
c3BpL2lvcy9fVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uU1BJLmgKIGNyZWF0ZSBt
b2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL19VSU5hdmlnYXRpb25Q
YXJhbGxheFRyYW5zaXRpb25TUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL3NwaS9pb3MvX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6
ZXJTUEkuaAoKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9O
ZXR3b3JrUmVzb3VyY2VMb2FkZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9tYWMvTmV0d29ya1Jlc291cmNlTG9hZGVyTWFjLm1tCmluZGV4IDQzYWVlMGEuLjBkNjdmYWQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXJNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFj
L05ldHdvcmtSZXNvdXJjZUxvYWRlck1hYy5tbQpAQCAtMTI2LDcgKzEyNiw3IEBAIHZvaWQgTmV0
d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsQ2FjaGVSZXNwb25zZUFzeW5jKFJlc291cmNlSGFuZGxl
KiBoYW5kbGUsIE5TQ2FjCiB7CiAgICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIGhhbmRsZSA9PSBt
X2hhbmRsZSk7CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAK
KyNpZiBQTEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTA5MAogICAgIGlmIChtX2J5dGVzUmVjZWl2ZWQgPj0gZmlsZUJhY2tlZFJlc291cmNlTWluaW11
bVNpemUoKSkKICAgICAgICAgTmV0d29ya0Rpc2tDYWNoZU1vbml0b3I6Om1vbml0b3JGaWxlQmFj
a2luZ1N0b3JlQ3JlYXRpb24oW25zUmVzcG9uc2UgX0NGQ2FjaGVkVVJMUmVzcG9uc2VdLCB0aGlz
KTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL0Nvbm5l
Y3Rpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9Db25uZWN0aW9uLmgKaW5kZXgg
NWEwYWQ5Ni4uMmYzZTA5NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBD
L0Nvbm5lY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvQ29ubmVjdGlv
bi5oCkBAIC0zMyw2ICszMyw3IEBACiAjaW5jbHVkZSAiTWVzc2FnZUVuY29kZXIuaCIKICNpbmNs
dWRlICJNZXNzYWdlUmVjZWl2ZXIuaCIKICNpbmNsdWRlICJXb3JrUXVldWUuaCIKKyNpbmNsdWRl
ICJYUENTUEkuaCIKICNpbmNsdWRlIDxhdG9taWM+CiAjaW5jbHVkZSA8Y29uZGl0aW9uX3Zhcmlh
YmxlPgogI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgpAQCAtNDEsOCArNDIsOCBAQAogI2luY2x1ZGUg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KIAogI2lmIE9TKERBUldJTikKKyNpbmNsdWRlICJYUENTUEku
aCIKICNpbmNsdWRlIDxtYWNoL21hY2hfcG9ydC5oPgotI2luY2x1ZGUgPHhwYy94cGMuaD4KICNp
bmNsdWRlIDx3dGYvT1NPYmplY3RQdHIuaD4KICNlbmRpZgogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5kZXggZDkxYjZkNC4uMjYxNjdi
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9u
TWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1h
Yy5tbQpAQCAtMzAsMjMgKzMwLDE3IEBACiAjaW5jbHVkZSAiSW1wb3J0YW5jZUFzc2VydGlvbi5o
IgogI2luY2x1ZGUgIk1hY2hQb3J0LmgiCiAjaW5jbHVkZSAiTWFjaFV0aWxpdGllcy5oIgorI2lu
Y2x1ZGUgIlhQQ1NQSS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgogI2lu
Y2x1ZGUgPG1hY2gvbWFjaF9lcnJvci5oPgogI2luY2x1ZGUgPG1hY2gvdm1fbWFwLmg+CiAjaW5j
bHVkZSA8d3RmL1J1bkxvb3AuaD4KLSNpbmNsdWRlIDx4cGMveHBjLmg+CisjaW5jbHVkZSA8c3lz
L21tYW4uaD4KIAogI2lmIFBMQVRGT1JNKElPUykKICNpbmNsdWRlICJQcm9jZXNzQXNzZXJ0aW9u
LmgiCiAjZW5kaWYKIAotI2lmIF9faGFzX2luY2x1ZGUoPHhwYy9wcml2YXRlLmg+KQotI2luY2x1
ZGUgPHhwYy9wcml2YXRlLmg+Ci0jZWxzZQotZXh0ZXJuICJDIiB2b2lkIHhwY19jb25uZWN0aW9u
X2dldF9hdWRpdF90b2tlbih4cGNfY29ubmVjdGlvbl90LCBhdWRpdF90b2tlbl90Kik7Ci1leHRl
cm4gIkMiIHZvaWQgeHBjX2Nvbm5lY3Rpb25fa2lsbCh4cGNfY29ubmVjdGlvbl90LCBpbnQpOwot
I2VuZGlmCi0KICNpZiBfX2hhc19pbmNsdWRlKDxISVNlcnZpY2VzL0FjY2Vzc2liaWxpdHlQcml2
Lmg+KQogI2luY2x1ZGUgPEhJU2VydmljZXMvQWNjZXNzaWJpbGl0eVByaXYuaD4KICNlbHNlCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9tYWMvTGF5ZXJIb3N0aW5nQ29udGV4
dC5tbSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0Lm1t
CmluZGV4IDEzZjc0MDkuLjE5NzUyYmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL21hYy9MYXllckhvc3RpbmdDb250ZXh0Lm1tCkBAIC0yNiwyMSArMjYsOSBAQAogI2ltcG9y
dCAiY29uZmlnLmgiCiAjaW1wb3J0ICJMYXllckhvc3RpbmdDb250ZXh0LmgiCiAKKyNpbXBvcnQg
IkNBQ29udGV4dFNQSS5oIgogI2ltcG9ydCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAKLSNp
ZiBfX2hhc19pbmNsdWRlKDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQcml2YXRlLmg+KQotI2ltcG9y
dCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPgotI2Vsc2UKLUBpbnRlcmZhY2UgQ0FD
b250ZXh0IDogTlNPYmplY3QKLUBlbmQKLSNlbmRpZgotCi1AaW50ZXJmYWNlIENBQ29udGV4dCAo
RGV0YWlscykKLSsgKENBQ29udGV4dCAqKXJlbW90ZUNvbnRleHRXaXRoT3B0aW9uczooTlNEaWN0
aW9uYXJ5ICopZGljdDsKLUBlbmQKLQotZXh0ZXJuIE5TU3RyaW5nICogY29uc3Qga0NBQ29udGV4
dElnbm9yZXNIaXRUZXN0OwotCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogc3RkOjp1bmlxdWVfcHRy
PExheWVySG9zdGluZ0NvbnRleHQ+IExheWVySG9zdGluZ0NvbnRleHQ6OmNyZWF0ZUZvclBvcnQo
bWFjaF9wb3J0X3Qgc2VydmVyUG9ydCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL21hYy9NZW51VXRpbGl0aWVzLm1tIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vbWFjL01l
bnVVdGlsaXRpZXMubW0KaW5kZXggM2RhYmM2OC4uZjU5ZTg2OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW0KKysrIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vbWFjL01lbnVVdGlsaXRpZXMubW0KQEAgLTI2LDYgKzI2LDcgQEAKICNpbXBv
cnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTWVudVV0aWxpdGllcy5oIgogCisjaW1wb3J0ICJEREFj
dGlvblNQSS5oIgogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3Jl
L0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KQEAg
LTM3LDEwICszOCw2IEBAIFNPRlRfTElOS19DTEFTUyhEYXRhRGV0ZWN0b3JzLCBEREFjdGlvbikK
IFNPRlRfTElOS19DTEFTUyhEYXRhRGV0ZWN0b3JzLCBEREFjdGlvbnNNYW5hZ2VyKQogU09GVF9M
SU5LX0NPTlNUQU5UKERhdGFEZXRlY3RvcnMsIEREQmluZGVyUGhvbmVOdW1iZXJLZXksIENGU3Ry
aW5nUmVmKQogCi1AaW50ZXJmYWNlIEREQWN0aW9uIDogTlNPYmplY3QKLUBwcm9wZXJ0eSAocmVh
ZG9ubHkpIE5TU3RyaW5nICphY3Rpb25VVEk7Ci1AZW5kCi0KIHR5cGVkZWYgdm9pZCogRERBY3Rp
b25Db250ZXh0OwogCiBAaW50ZXJmYWNlIEREQWN0aW9uc01hbmFnZXIgOiBOU09iamVjdApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9CS1NQcm9jZXNzQXNzZXJ0
aW9uU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0JLU1Byb2Nlc3NBc3Nl
cnRpb25TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jMTczMjU3Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9CS1NQcm9j
ZXNzQXNzZXJ0aW9uU1BJLmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisg
KiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNp
bXBvcnQgPEFzc2VydGlvblNlcnZpY2VzL0JLU1Byb2Nlc3NBc3NlcnRpb24uaD4KKyNlbHNlCisj
aW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworZW51bSB7CisgICAgQktTUHJvY2Vz
c0Fzc2VydGlvbk5vbmUgPSAwLAorICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1
c3BlbmQgID0gMSA8PCAwLAorICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1Rocm90
dGxlRG93biA9IDEgPDwgMSwKKyAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uQWxsb3dJZGxlU2xlZXAg
PSAxIDw8IDIsCisgICAgQktTUHJvY2Vzc0Fzc2VydGlvbldhbnRzRm9yZWdyb3VuZFJlc291cmNl
UHJpb3JpdHkgPSAxIDw8IDMsCisgICAgQktTUHJvY2Vzc0Fzc2VydGlvbkFsbG93U3VzcGVuZE9u
U2xlZXAgPSAxIDw8IDQsCit9OwordHlwZWRlZiB1aW50MzJfdCBCS1NQcm9jZXNzQXNzZXJ0aW9u
RmxhZ3M7CisKK2VudW0geworICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25FeHRlbnNpb24g
PSAxMywKK307Cit0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb247CisK
K3R5cGVkZWYgdm9pZCheQktTUHJvY2Vzc0Fzc2VydGlvbkFjcXVpc2l0aW9uSGFuZGxlcikoQk9P
TCBhY3F1aXJlZCk7CisKK0BpbnRlcmZhY2UgQktTUHJvY2Vzc0Fzc2VydGlvbiA6IE5TT2JqZWN0
CisKK0BlbmQKKworQGludGVyZmFjZSBCS1NQcm9jZXNzQXNzZXJ0aW9uIChEZXRhaWxzKQorLSAo
aWQpaW5pdFdpdGhQSUQ6KHBpZF90KXBpZCBmbGFnczooQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdz
KWZsYWdzIHJlYXNvbjooQktTUHJvY2Vzc0Fzc2VydGlvblJlYXNvbilyZWFzb24gbmFtZTooTlNT
dHJpbmcgKiluYW1lIHdpdGhIYW5kbGVyOihCS1NQcm9jZXNzQXNzZXJ0aW9uQWNxdWlzaXRpb25I
YW5kbGVyKWhhbmRsZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCS1NQcm9jZXNz
QXNzZXJ0aW9uRmxhZ3MgZmxhZ3M7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvQm9vdHN0cmFwU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9zcGkvaW9zL0Jvb3RzdHJhcFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjAwMDc3YTkKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9zcGkvaW9zL0Jvb3RzdHJhcFNQSS5oCkBAIC0wLDAgKzEsNTMgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycg
QU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAor
ICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmbmRlZiBCb290c3RyYXBTUElf
aAorI2RlZmluZSBCb290c3RyYXBTUElfaAorCisjaW5jbHVkZSA8bWFjaC9tZXNzYWdlLmg+CisK
KyNkZWZpbmUgV0tfQk9PVFNUUkFQX01BWF9OQU1FX0xFTkdUSCAxMjgKKworI2lmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8c2VydmVycy9ib290c3RyYXAuaD4KKyNlbHNlCit0
eXBlZGVmIGNoYXIgbmFtZV90W1dLX0JPT1RTVFJBUF9NQVhfTkFNRV9MRU5HVEhdOworI2VuZGlm
CisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworZXh0ZXJuIGtl
cm5fcmV0dXJuX3QgYm9vdHN0cmFwX2xvb2tfdXAobWFjaF9wb3J0X3QsIGNvbnN0IG5hbWVfdCBz
ZXJ2aWNlTmFtZSwgbWFjaF9wb3J0X3QgKik7CitleHRlcm4ga2Vybl9yZXR1cm5fdCBib290c3Ry
YXBfcmVnaXN0ZXIyKG1hY2hfcG9ydF90LCBuYW1lX3QsIG1hY2hfcG9ydF90LCB1aW50NjRfdCk7
CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKK19TdGF0aWNfYXNzZXJ0KHNpemVv
ZihuYW1lX3QpID09IFdLX0JPT1RTVFJBUF9NQVhfTkFNRV9MRU5HVEgsICJzaXplb2YobmFtZV90
KSAhPSBXS19CT09UU1RSQVBfTUFYX05BTUVfTEVOR1RIOyB1cGRhdGUgdG8gbWF0Y2ggdGhlIHZh
bHVlIGluIGJvb3RzdHJhcC5oLiIpOworI3VuZGVmIFdLX0JPT1RTVFJBUF9NQVhfTkFNRV9MRU5H
VEgKKworI2VuZGlmIC8vIEJvb3RzdHJhcFNQSV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9zcGkvaW9zL0NBQ29udGV4dFNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL2lvcy9DQUNvbnRleHRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi41ZTIwYTY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
c3BpL2lvcy9DQUNvbnRleHRTUEkuaApAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBB
TlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
ICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVY
RU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQorI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUNvbnRleHQuaD4KKyNlbHNlCisjaW1wb3J0IDxGb3Vu
ZGF0aW9uL0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6Q29yZS5oPgor
CitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBrQ0FDb250ZXh0RGlzcGxheU5hbWU7CitleHRlcm4g
TlNTdHJpbmcgKiBjb25zdCBrQ0FDb250ZXh0RGlzcGxheUlkOworZXh0ZXJuIE5TU3RyaW5nICog
Y29uc3Qga0NBQ29udGV4dElnbm9yZXNIaXRUZXN0OworCitAaW50ZXJmYWNlIENBQ29udGV4dCA6
IE5TT2JqZWN0CisKK0BlbmQKKworQGludGVyZmFjZSBDQUNvbnRleHQgKENBQ29udGV4dERldGFp
bHMpCisrIChDQUNvbnRleHQgKilyZW1vdGVDb250ZXh0V2l0aE9wdGlvbnM6KE5TRGljdGlvbmFy
eSAqKWRpY3Rpb25hcnk7CisrIChpZClvYmplY3RGb3JTbG90Oih1aW50MzJfdCluYW1lOworLSAo
dm9pZClkZWxldGVTbG90Oih1aW50MzJfdCluYW1lOworLSAodWludDMyX3QpY3JlYXRlSW1hZ2VT
bG90OihDR1NpemUpc2l6ZSBoYXNBbHBoYTooQk9PTClmbGFnOworQHByb3BlcnR5IChyZWFkb25s
eSkgdWludDMyX3QgY29udGV4dElkOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0NBRmlsdGVyU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9zcGkvaW9zL0NBRmlsdGVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uYjhhYmZhNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL3NwaS9pb3MvQ0FGaWx0ZXJTUEkuaApAQCAtMCwwICsxLDQxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQorI2ltcG9ydCA8UXVhcnR6Q29yZS9DQUZpbHRlci5oPgorI2Vsc2UKKyNpbXBvcnQgPEZv
dW5kYXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+
CisKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IGtDQUZpbHRlclBsdXNEOworCitAaW50ZXJmYWNl
IENBRmlsdGVyIDogTlNPYmplY3QgPE5TQ29weWluZywgTlNNdXRhYmxlQ29weWluZywgTlNDb2Rp
bmc+CisKK0BlbmQKKworQGludGVyZmFjZSBDQUZpbHRlciAoQ0FGaWx0ZXJEZXRhaWxzKQorKyAo
Q0FGaWx0ZXIgKilmaWx0ZXJXaXRoVHlwZTooTlNTdHJpbmcgKil0eXBlOworQGVuZAorI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0NBUmVuZGVyU2Vy
dmVyU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0NBUmVuZGVyU2VydmVy
U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTM4MzY2ZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvQ0FSZW5kZXJTZXJ2
ZXJTUEkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0FSZW5kZXJTZXJ2ZXJTUElfaAorI2RlZmluZSBDQVJl
bmRlclNlcnZlclNQSV9oCisKKyNpbmNsdWRlIDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KKwor
I2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8UXVhcnR6Q29yZS9DQVJlbmRl
clNlcnZlci5oPgorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7Cisj
ZW5kaWYKKworZXh0ZXJuIHZvaWQgQ0FSZW5kZXJTZXJ2ZXJDYXB0dXJlTGF5ZXJXaXRoVHJhbnNm
b3JtKG1hY2hfcG9ydF90IHNlcnZlclBvcnQsIHVpbnQzMl90IGNsaWVudElkLCB1aW50NjRfdCBs
YXllcklkLCB1aW50MzJfdCBzbG90SWQsIGludDMyX3Qgb3gsIGludDMyX3Qgb3ksIGNvbnN0IENB
VHJhbnNmb3JtM0QgKik7CisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRp
ZiAvLyBDQVJlbmRlclNlcnZlclNQSV9oCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9zcGkvaW9zL0NHUERGRG9jdW1lbnRTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvQ0dQREZEb2N1bWVudFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjUyM2M1NDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9zcGkvaW9zL0NHUERGRG9jdW1lbnRTUEkuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycn
IEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwK
KyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgQ0dQREZEb2N1bWVu
dFNQSV9oCisjZGVmaW5lIENHUERGRG9jdW1lbnRTUElfaAorCisjaW5jbHVkZSA8Q29yZUdyYXBo
aWNzL0NHUERGRG9jdW1lbnQuaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5j
bHVkZSA8Q29yZUdyYXBoaWNzL0NHUERGRG9jdW1lbnRQcml2YXRlLmg+CisjZW5kaWYKKworI2lm
ZGVmIF9fY3BsdXNwbHVzCitleHRlcm4gIkMiIHsKKyNlbmRpZgorCitleHRlcm4gQ0dEYXRhUHJv
dmlkZXJSZWYgQ0dQREZEb2N1bWVudEdldERhdGFQcm92aWRlcihDR1BERkRvY3VtZW50UmVmKTsK
KworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2VuZGlmIC8vIENHUERGRG9jdW1l
bnRTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9EREFj
dGlvblNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9EREFjdGlvblNQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjJiMjZiZjEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0REQWN0aW9uU1BJLmgKQEAg
LTAsMCArMSw0MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPERhdGFEZXRlY3RvcnNV
SS9EREFjdGlvbi5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgor
CitAaW50ZXJmYWNlIEREQWN0aW9uIDogTlNPYmplY3QKKworQGVuZAorCitAaW50ZXJmYWNlIERE
QWN0aW9uIChEZXRhaWxzKQorLSAoQk9PTCloYXNVc2VySW50ZXJmYWNlOworLSAoTlNTdHJpbmcg
Kilsb2NhbGl6ZWROYW1lOworQHByb3BlcnR5IChyZWFkb25seSkgTlNTdHJpbmcgKmFjdGlvblVU
STsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9ERERldGVjdGlvbkNvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvREREZXRlY3Rpb25Db250cm9sbGVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNTIyOTgwOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL3NwaS9pb3MvREREZXRlY3Rpb25Db250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSw1
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPERhdGFEZXRlY3RvcnNVSS9ERERldGVj
dGlvbkNvbnRyb2xsZXIuaD4KKyNlbHNlCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24u
aD4KKworQGNsYXNzIEREQWN0aW9uOworQHByb3RvY29sIFVJQWN0aW9uU2hlZXREZWxlZ2F0ZTsK
K0Bwcm90b2NvbCBVSUFsZXJ0Q29udHJvbGxlcjsKKworQHByb3RvY29sIERERGV0ZWN0aW9uQ29u
dHJvbGxlckludGVyYWN0aW9uRGVsZWdhdGUgPE5TT2JqZWN0PgorQG9wdGlvbmFsCistICh2b2lk
KWFjdGlvbjooRERBY3Rpb24gKilhY3Rpb24gZGlkRGlzbWlzc0FsZXJ0Q29udHJvbGxlcjooVUlB
bGVydENvbnRyb2xsZXIgKilhbGVydENvbnRyb2xsZXI7CistICh2b2lkKWFjdGlvbkRpZEZpbmlz
aDooRERBY3Rpb24gKilhY3Rpb247CistICh2b2lkKWFjdGlvbldpbGxTdGFydDooRERBY3Rpb24g
KilhY3Rpb247CitAZW5kCisKK0BpbnRlcmZhY2UgREREZXRlY3Rpb25Db250cm9sbGVyIDogTlNP
YmplY3QgPFVJQWN0aW9uU2hlZXREZWxlZ2F0ZT4KKworQGVuZAorCitAaW50ZXJmYWNlIERERGV0
ZWN0aW9uQ29udHJvbGxlciAoRGV0YWlscykKKysgKERERGV0ZWN0aW9uQ29udHJvbGxlciAqKSBz
aGFyZWRDb250cm9sbGVyOworKyAoTlNBcnJheSAqKXRhcEFuZEhvbGRTY2hlbWVzOworLSAodm9p
ZClwZXJmb3JtQWN0aW9uOihEREFjdGlvbiAqKWFjdGlvbiBmcm9tQWxlcnRDb250cm9sbGVyOihV
SUFsZXJ0Q29udHJvbGxlciAqKWFsZXJ0Q29udHJvbGxlciBpbnRlcmFjdGlvbkRlbGVnYXRlOihp
ZCA8REREZXRlY3Rpb25Db250cm9sbGVySW50ZXJhY3Rpb25EZWxlZ2F0ZT4paW50ZXJhY3Rpb25E
ZWxlZ2F0ZTsKK0BlbmQKKyNlbmRpZgorCisvLyBGSVhNRTogVGhpcyB3aWxsIGJlIHJlbW92ZWQg
YXMgc29vbiBhcyA8cmRhcjovL3Byb2JsZW0vMTYzNDY5MTM+IGlzIGZpeGVkLgorQGludGVyZmFj
ZSBERERldGVjdGlvbkNvbnRyb2xsZXIgKERldGFpbHNUb0JlUmVtb3ZlZCkKKy0gKE5TQXJyYXkg
KilhY3Rpb25zRm9yQW5jaG9yOihpZClhbmNob3IgdXJsOihOU1VSTCAqKXRhcmdldFVSTCBmb3JG
cmFtZTooaWQpZnJhbWU7CitAZW5kCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjZlNGZmYjMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9zcGkvaW9zL0dyYXBoaWNzU2VydmljZXNTUEkuaApAQCAtMCwwICsxLDQzIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBB
UyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZm5kZWYgR3JhcGhp
Y3NTZXJ2aWNlc1NQSV9oCisjZGVmaW5lIEdyYXBoaWNzU2VydmljZXNTUElfaAorCisjaWYgVVNF
KEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEdyYXBoaWNzU2VydmljZXMvR3JhcGhpY3NT
ZXJ2aWNlcy5oPgorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7Cisj
ZW5kaWYKKworZXh0ZXJuIHZvaWQgR1NJbml0aWFsaXplKHZvaWQpOworCisjaWZkZWYgX19jcGx1
c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLy8gR3JhcGhpY3NTZXJ2aWNlc1NQSV9oCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL01QQXVkaW9WaWRlb1JvdXRp
bmdBY3Rpb25TaGVldFNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9NUEF1
ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hlZXRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi40NzYzMGUzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9NUEF1ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hlZXRTUEkuaApAQCAtMCww
ICsxLDQwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8TWVkaWFQbGF5ZXIvTVBBdWRp
b1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0Lmg+CisjZWxzZQorI2ltcG9ydCAiTVBUeXBlc1NQSS5o
IgorI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworQGludGVyZmFjZSBNUEF1ZGlvVmlkZW9Sb3V0
aW5nQWN0aW9uU2hlZXQgOiBVSUFjdGlvblNoZWV0CisKK0BlbmQKKworQGludGVyZmFjZSBNUEF1
ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hlZXQgKERldGFpbHMpCistIChpZClpbml0V2l0aFR5cGU6
KE1QQVZJdGVtVHlwZSlhdkl0ZW1UeXBlOworLSAodm9pZClzaG93V2l0aFZhbGlkSW50ZXJmYWNl
T3JpZW50YXRpb25NYXNrQmxvY2s6KFVJSW50ZXJmYWNlT3JpZW50YXRpb25NYXNrICheKSh2b2lk
KSlibG9jayBjb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoKSljb21wbGV0aW9uSGFuZGxlcjsK
K0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lv
cy9NUEF1ZGlvVmlkZW9Sb3V0aW5nUG9wb3ZlckNvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9pb3MvTVBBdWRpb1ZpZGVvUm91dGluZ1BvcG92ZXJDb250cm9sbGVy
U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMjg5Mzk5MwotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvTVBBdWRpb1ZpZGVv
Um91dGluZ1BvcG92ZXJDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPE1lZGlhUGxheWVyL01QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVy
Q29udHJvbGxlci5oPgorI2Vsc2UKKyNpbXBvcnQgIk1QVHlwZXNTUEkuaCIKKyNpbXBvcnQgPFVJ
S2l0L1VJS2l0Lmg+CisKK0BpbnRlcmZhY2UgTVBBdWRpb1ZpZGVvUm91dGluZ1BvcG92ZXJDb250
cm9sbGVyIDogVUlQb3BvdmVyQ29udHJvbGxlcgorCitAZW5kCisKK0BpbnRlcmZhY2UgTVBBdWRp
b1ZpZGVvUm91dGluZ1BvcG92ZXJDb250cm9sbGVyIChEZXRhaWxzKQorLSAoaWQpaW5pdFdpdGhU
eXBlOihNUEFWSXRlbVR5cGUpYXZJdGVtVHlwZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9NUFR5cGVzU1BJLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL01QVHlwZXNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwLi5lMTE3NzcyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vc3BpL2lvcy9NUFR5cGVzU1BJLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPE1lZGlhUGxheWVyL01QVHlwZXMuaD4KKyNlbHNlCisjaW1wb3J0
IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworZW51bSB7CisgICAgTVBBVkl0ZW1UeXBlQXVk
aW8gPSAxLAorICAgIE1QQVZJdGVtVHlwZVZpZGVvID0gMiwKK307Cit0eXBlZGVmIE5TVUludGVn
ZXIgTVBBVkl0ZW1UeXBlOworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0
Zm9ybS9zcGkvaW9zL1RJTlNTdHJpbmdFeHRyYXNTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL3NwaS9pb3MvVElOU1N0cmluZ0V4dHJhc1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAuLjQwYTIyODEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9Q
bGF0Zm9ybS9zcGkvaW9zL1RJTlNTdHJpbmdFeHRyYXNTUEkuaApAQCAtMCwwICsxLDM1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VGV4dElucHV0L1RJX05TU3RyaW5nRXh0cmFzLmg+
CisjZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2Ug
TlNTdHJpbmcgKERldGFpbHMpCistIChCT09MKV9jb250YWluc0NKU2NyaXB0czsKKy0gKEJPT0wp
X2NvbnRhaW5zQ0pTY3JpcHRzT25seTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUFsZXJ0Q29udHJvbGxlclNQSS5oIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUFsZXJ0Q29udHJvbGxlclNQSS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmU0NDQ3YmIKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJQWxlcnRDb250cm9sbGVyU1BJLmgKQEAg
LTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L1VJQWxlcnRD
b250cm9sbGVyX1ByaXZhdGUuaD4KKyNlbHNlCisjaW1wb3J0IDxVSUtpdC9VSUFsZXJ0Q29udHJv
bGxlci5oPgorCitAaW50ZXJmYWNlIFVJQWxlcnRDb250cm9sbGVyIChEZXRhaWxzKQorLSAodm9p
ZClfYWRkQWN0aW9uV2l0aFRpdGxlOihOU1N0cmluZyAqKXRpdGxlIHN0eWxlOihVSUFsZXJ0QWN0
aW9uU3R5bGUpc3R5bGUgaGFuZGxlcjoodm9pZCAoXikodm9pZCkpaGFuZGxlcjsKKy0gKHZvaWQp
X2FkZEFjdGlvbldpdGhUaXRsZTooTlNTdHJpbmcgKil0aXRsZSBzdHlsZTooVUlBbGVydEFjdGlv
blN0eWxlKXN0eWxlIGhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWhhbmRsZXIgc2hvdWxkRGlzbWlz
c0hhbmRsZXI6KEJPT0wgKF4pKHZvaWQpKXNob3VsZERpc21pc3NIYW5kbGVyOworQHByb3BlcnR5
IChub25hdG9taWMpIFVJQWxlcnRDb250cm9sbGVyU3R5bGUgcHJlZmVycmVkU3R5bGU7CitAZW5k
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlB
cHBsaWNhdGlvblNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUFwcGxp
Y2F0aW9uU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDcxOGUxYgot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlBcHBs
aWNhdGlvblNQSS5oCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbi5oPgorCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25f
UHJpdmF0ZS5oPgorI2Vsc2UKK0BpbnRlcmZhY2UgVUlBcHBsaWNhdGlvbiAoRGV0YWlscykKKy0g
KFVJSW50ZXJmYWNlT3JpZW50YXRpb24paW50ZXJmYWNlT3JpZW50YXRpb247CistICh2b2lkKV9j
YW5jZWxBbGxUb3VjaGVzOworQGVuZAorI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0
ZXJuICJDIiB7CisjZW5kaWYKKworI2RlZmluZSBXS19VSVRLSVRfRVhURVJOIGV4dGVybiBfX2F0
dHJpYnV0ZV9fKCh2aXNpYmlsaXR5ICgiZGVmYXVsdCIpKSkKKworV0tfVUlUS0lUX0VYVEVSTiBV
SUFwcGxpY2F0aW9uKiBVSUFwcDsKK1dLX1VJVEtJVF9FWFRFUk4gQk9PTCBfVUlBcHBsaWNhdGlv
blVzZXNMZWdhY3lVSSh2b2lkKTsKKworI3VuZGVmIFdLX1VJVEtJVF9FWFRFUk4KKworI2lmZGVm
IF9fY3BsdXNwbHVzCit9CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL3NwaS9pb3MvVUlEYXRlUGlja2VyU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zL1VJRGF0ZVBpY2tlclNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmIzZWIyOGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zL1VJRGF0ZVBpY2tlclNQSS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5E
IEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICog
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2RlZmluZSBXS19QUklWQVRFX01PREVf
T0JGVVNDQVRJT05fT0ZGU0VUIDQyNjkKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisj
aW1wb3J0IDxVSUtpdC9VSURhdGVQaWNrZXJfUHJpdmF0ZS5oPgorI2Vsc2UKKyNpbXBvcnQgIlVJ
UGlja2VyVmlld1NQSS5oIgorI2ltcG9ydCA8VUlLaXQvVUlEYXRlUGlja2VyLmg+CisKK3R5cGVk
ZWYgTlNfRU5VTShOU0ludGVnZXIsIFVJRGF0ZVBpY2tlclByaXZhdGVNb2RlKSAgeworICAgIFVJ
RGF0ZVBpY2tlck1vZGVZZWFyQW5kTW9udGggPSBXS19QUklWQVRFX01PREVfT0JGVVNDQVRJT05f
T0ZGU0VULAorfTsKKworQGludGVyZmFjZSBVSURhdGVQaWNrZXIgKERldGFpbHMpCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHksIGdldHRlcj1fY29udGVudFdpZHRoKSBDR0Zsb2F0IGNv
bnRlbnRXaWR0aDsKK0BlbmQKKyNlbmRpZgorCitfU3RhdGljX2Fzc2VydChVSURhdGVQaWNrZXJN
b2RlWWVhckFuZE1vbnRoID09IFdLX1BSSVZBVEVfTU9ERV9PQkZVU0NBVElPTl9PRkZTRVQsICJV
SURhdGVQaWNrZXJNb2RlWWVhckFuZE1vbnRoICE9IFdLX1BSSVZBVEVfTU9ERV9PQkZVU0NBVElP
Tl9PRkZTRVQ7IHVwZGF0ZSB0byBtYXRjaCB0aGUgdmFsdWUgaW4gVUlEYXRlUGlja2VyX1ByaXZh
dGUuaCIpOworI3VuZGVmIFdLX1BSSVZBVEVfTU9ERV9PQkZVU0NBVElPTl9PRkZTRVQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlEZXZpY2VTUEkuaCBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlEZXZpY2VTUEkuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi41ZjMwOWM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSURldmljZVNQSS5oCkBAIC0wLDAgKzEsMzYgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENP
TlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisg
KiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+Cisj
ZWxzZQorI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2UuaD4KKworI2RlZmluZSBVSUN1cnJlbnRVc2Vy
SW50ZXJmYWNlSWRpb21Jc1BhZCgpIChbW1VJRGV2aWNlIGN1cnJlbnREZXZpY2VdIHVzZXJJbnRl
cmZhY2VJZGlvbV0gPT0gVUlVc2VySW50ZXJmYWNlSWRpb21QYWQpCisKK0BpbnRlcmZhY2UgVUlE
ZXZpY2UgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIHJldGFpbikg
TlNTdHJpbmcgKmJ1aWxkVmVyc2lvbjsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUZvbnRTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvVUlGb250U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uODRhYTU5NgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvVUlGb250U1BJLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5Z
CisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAg
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVN
UExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
KyNpbXBvcnQgPFVJS2l0L1VJRm9udF9Qcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8VUlLaXQv
VUlGb250Lmg+CisKK3R5cGVkZWYgZW51bSB7CisgICAgVUlGb250VHJhaXRQbGFpbiA9IDB4MDAw
MDAwMDAsCit9IFVJRm9udFRyYWl0OworCitAaW50ZXJmYWNlIFVJRm9udCAoRGV0YWlscykKKysg
KFVJRm9udCAqKWZvbnRXaXRoRmFtaWx5TmFtZTooTlNTdHJpbmcgKilmYW1pbHlOYW1lIHRyYWl0
czooVUlGb250VHJhaXQpdHJhaXRzIHNpemU6KENHRmxvYXQpZm9udFNpemU7CitAZW5kCisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlHZW9tZXRy
eVNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUdlb21ldHJ5U1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjM0Mzg3YQotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlHZW9tZXRyeVNQSS5oCkBA
IC0wLDAgKzEsMzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisg
KiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisg
Ki8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtpdC9VSUdlb21l
dHJ5X1ByaXZhdGUuaD4KKyNlbHNlCisjaW1wb3J0IDxVSUtpdC9VSUdlb21ldHJ5Lmg+CisKK3R5
cGVkZWYgZW51bSB7CisgICAgVUlBbGxDb3JuZXJzID0gMHhGRiwKK30gVUlSZWN0Q29ybmVyczsK
KyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUdl
c3R1cmVSZWNvZ25pemVyU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJ
R2VzdHVyZVJlY29nbml6ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44YTUxZTRiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9VSUdlc3R1cmVSZWNvZ25pemVyU1BJLmgKQEAgLTAsMCArMSwzNCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L1VJR2VzdHVyZVJlY29nbml6ZXJfUHJpdmF0ZS5oPgor
I2Vsc2UKKyNpbXBvcnQgPFVJS2l0L1VJR2VzdHVyZVJlY29nbml6ZXIuaD4KKworQGludGVyZmFj
ZSBVSUdlc3R1cmVSZWNvZ25pemVyIChEZXRhaWxzKQorLSAodm9pZClyZXF1aXJlT3RoZXJHZXN0
dXJlVG9GYWlsOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXI7CitAZW5k
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlJ
bWFnZVBpY2tlckNvbnRyb2xsZXJTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9p
b3MvVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi42NTU5OTQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9VSUltYWdlUGlja2VyQ29udHJvbGxlclNQSS5oCkBAIC0wLDAgKzEsNTAg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAq
IENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBP
UiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
CisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1
ZGUgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKyNpbXBvcnQgPFVJS2l0L1VJSW1hZ2VQaWNrZXJDb250cm9sbGVyX1ByaXZhdGUuaD4KKyNl
bHNlCisjaW1wb3J0IDxVSUtpdC9VSUltYWdlUGlja2VyQ29udHJvbGxlci5oPgorCitAaW50ZXJm
YWNlIFVJSW1hZ2VQaWNrZXJDb250cm9sbGVyIChEZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9t
aWMsIHNldHRlcj1fc2V0QWxsb3dzTXVsdGlwbGVTZWxlY3Rpb246KSBCT09MIF9hbGxvd3NNdWx0
aXBsZVNlbGVjdGlvbjsKK0BlbmQKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVy
biAiQyIgeworI2VuZGlmCisKKyNkZWZpbmUgV0tfVUlUS0lUX0VYVEVSTiBleHRlcm4gX19hdHRy
aWJ1dGVfXygodmlzaWJpbGl0eSAoImRlZmF1bHQiKSkpCisKK1dLX1VJVEtJVF9FWFRFUk4gdm9p
ZCBVSUltYWdlRGF0YVdyaXRlVG9TYXZlZFBob3Rvc0FsYnVtKE5TRGF0YSAqaW1hZ2VEYXRhLCBp
ZCBjb21wbGV0aW9uVGFyZ2V0LCBTRUwgY29tcGxldGlvblNlbGVjdG9yLCB2b2lkICpjb250ZXh0
SW5mbyk7CisKKyN1bmRlZiBXS19VSVRLSVRfRVhURVJOCisKKyNpZmRlZiBfX2NwbHVzcGx1cwor
fQorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJ
SW1hZ2VTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlJbWFnZVNQSS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjIwNjI3ODYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJSW1hZ2VTUEkuaApAQCAt
MCwwICsxLDM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICov
CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvVUlJbWFnZV9Q
cml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8VUlLaXQvVUlJbWFnZS5oPgorCitAaW50ZXJmYWNl
IFVJSW1hZ2UgKERldGFpbHMpCistIChpZClpbml0V2l0aENHSW1hZ2U6KENHSW1hZ2VSZWYpQ0dJ
bWFnZSBpbWFnZU9yaWVudGF0aW9uOihVSUltYWdlT3JpZW50YXRpb24paW1hZ2VPcmllbnRhdGlv
bjsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9VSUtleWJvYXJkU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJ
S2V5Ym9hcmRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iMGNmZjU5
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtl
eWJvYXJkU1BJLmgKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4gCisgKi8KKworI2luY2x1ZGUgPFVJS2l0L1VJS2l0RGVmaW5lcy5oPgorI2lu
Y2x1ZGUgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKyNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmQuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2V5
Ym9hcmRJbXBsLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkSW50bC5oPgorI2Vsc2UKKyNp
bXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb24uaD4KKyNpbXBvcnQgPFVJS2l0L1VJUmVzcG9uZGVy
Lmg+CisjaW1wb3J0IDxVSUtpdC9VSVRleHRJbnB1dC5oPgorI2ltcG9ydCA8VUlLaXQvVUlWaWV3
Lmg+CisKK0Bwcm90b2NvbCBVSUtleWJvYXJkSW1wbEdlb21ldHJ5RGVsZWdhdGUKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIGdldHRlcj1pc01pbmltaXplZCkgQk9PTCBtaW5pbWl6
ZWQ7CistICh2b2lkKXByZXBhcmVGb3JJbXBsQm91bmRzSGVpZ2h0Q2hhbmdlOihDR0Zsb2F0KWVu
ZERlbHRhIHN1cHByZXNzTm90aWZpY2F0aW9uOihCT09MKXN1cHByZXNzTm90aWZpY2F0aW9uOwor
LSAodm9pZClpbXBsQm91bmRzSGVpZ2h0Q2hhbmdlRG9uZTooQ0dGbG9hdCllbmREZWx0YSBzdXBw
cmVzc05vdGlmaWNhdGlvbjooQk9PTClzdXBwcmVzc05vdGlmaWNhdGlvbjsKKy0gKEJPT0wpc2hv
dWxkU2F2ZU1pbmltaXphdGlvblN0YXRlOworLSAoQk9PTCljYW5EaXNtaXNzOworLSAoQk9PTClp
c0FjdGl2ZTsKK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkIDogVUlWaWV3IDxVSUtleWJv
YXJkSW1wbEdlb21ldHJ5RGVsZWdhdGU+CisKK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJk
IChEZXRhaWxzKQorKyAoQ0dTaXplKWRlZmF1bHRTaXplRm9ySW50ZXJmYWNlT3JpZW50YXRpb246
KFVJSW50ZXJmYWNlT3JpZW50YXRpb24pb3JpZW50YXRpb247CistICh2b2lkKWFjdGl2YXRlOwor
LSAodm9pZClnZW9tZXRyeUNoYW5nZURvbmU6KEJPT0wpa2V5Ym9hcmRWaXNpYmxlOworLSAodm9p
ZClwcmVwYXJlRm9yR2VvbWV0cnlDaGFuZ2U7CitAZW5kCisKK0Bwcm90b2NvbCBVSUtleWJvYXJk
Q2FuZGlkYXRlTGlzdDsKKworQHByb3RvY29sIFVJS2V5Ym9hcmRDYW5kaWRhdGVMaXN0RGVsZWdh
dGUgPE5TT2JqZWN0PgorQG9wdGlvbmFsCistICh2b2lkKXNldENhbmRpZGF0ZUxpc3Q6KGlkIDxV
SUtleWJvYXJkQ2FuZGlkYXRlTGlzdD4pY2FuZGlkYXRlTGlzdCB1cGRhdGVDYW5kaWRhdGVWaWV3
OihCT09MKXVwZGF0ZUNhbmRpZGF0ZVZpZXc7CistICh2b2lkKWNhbmRpZGF0ZUxpc3RBY2NlcHRD
YW5kaWRhdGU6KGlkIDxVSUtleWJvYXJkQ2FuZGlkYXRlTGlzdD4pY2FuZGlkYXRlTGlzdDsKKy0g
KHZvaWQpY2FuZGlkYXRlTGlzdFNlbGVjdGlvbkRpZENoYW5nZTooaWQgPFVJS2V5Ym9hcmRDYW5k
aWRhdGVMaXN0PiljYW5kaWRhdGVMaXN0OworLSAodm9pZCljYW5kaWRhdGVMaXN0U2hvdWxkQmVE
aXNtaXNzZWQ6KGlkIDxVSUtleWJvYXJkQ2FuZGlkYXRlTGlzdD4pY2FuZGlkYXRlTGlzdDsKK0Bl
bmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkSW1wbCA6IFVJVmlldyA8VUlLZXlib2FyZENhbmRp
ZGF0ZUxpc3REZWxlZ2F0ZT4KKworQGVuZAorCitAY2xhc3MgVUlUZXh0UmVwbGFjZW1lbnQ7CisK
K0BpbnRlcmZhY2UgVUlLZXlib2FyZEltcGwgKERldGFpbHMpCisrIChVSUtleWJvYXJkSW1wbCAq
KWFjdGl2ZUluc3RhbmNlOworKyAoVUlLZXlib2FyZEltcGwgKilzaGFyZWRJbnN0YW5jZTsKKysg
KENHU2l6ZSlkZWZhdWx0U2l6ZUZvckludGVyZmFjZU9yaWVudGF0aW9uOihVSUludGVyZmFjZU9y
aWVudGF0aW9uKW9yaWVudGF0aW9uOworLSAodm9pZClhZGRJbnB1dFN0cmluZzooTlNTdHJpbmcg
KilzdHJpbmcgd2l0aEZsYWdzOihOU1VJbnRlZ2VyKWZsYWdzOworLSAoQk9PTClhdXRvY29ycmVj
dFNwZWxsaW5nRW5hYmxlZDsKKy0gKHZvaWQpZGVsZXRlRnJvbUlucHV0OworLSAodm9pZClyZXBs
YWNlVGV4dDooVUlUZXh0UmVwbGFjZW1lbnQgKilyZXBsYWNlbWVudDsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkd3JpdGUsIHJldGFpbikgVUlSZXNwb25kZXIgPFVJS2V5SW5wdXQ+ICpkZWxl
Z2F0ZTsKK0BlbmQKKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgewor
I2VuZGlmCisKKyNpZmRlZiBfX09CSkNfXworI2RlZmluZSBXS19VSVRLSVRfRVhURVJOIGV4dGVy
biBfX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5ICgiZGVmYXVsdCIpKSkKKworV0tfVUlUS0lUX0VY
VEVSTiBCT09MIFVJS2V5Ym9hcmRFbmFibGVkSW5wdXRNb2Rlc0FsbG93T25lVG9NYW55U2hvcnRj
dXRzKCk7CitXS19VSVRLSVRfRVhURVJOIEJPT0wgVUlLZXlib2FyZEVuYWJsZWRJbnB1dE1vZGVz
QWxsb3dDaGluZXNlVHJhbnNsaXRlcmF0aW9uRm9yVGV4dChOU1N0cmluZyAqKTsKK1dLX1VJVEtJ
VF9FWFRFUk4gQk9PTCBVSUtleWJvYXJkQ3VycmVudElucHV0TW9kZUFsbG93c0NoaW5lc2VPckph
cGFuZXNlUmVhbmFseXNpc0ZvclRleHQoTlNTdHJpbmcgKik7CisKKyN1bmRlZiBXS19VSVRLSVRf
RVhURVJOCisjZW5kaWYgLy8gX19PQkpDX18KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlMb25nUHJl
c3NHZXN0dXJlUmVjb2duaXplclNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lv
cy9VSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMC4uNDI5MDg0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL3NwaS9pb3MvVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplclNQSS5oCkBAIC0w
LDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtpdC9VSUxvbmdQcmVz
c0dlc3R1cmVSZWNvZ25pemVyX1ByaXZhdGUuaD4KKyNlbHNlCisjaW1wb3J0IDxVSUtpdC9VSUxv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmg+CisKK0BpbnRlcmZhY2UgVUlMb25nUHJlc3NHZXN0
dXJlUmVjb2duaXplciAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBDRlRpbWVJbnRl
cnZhbCBkZWxheTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2ludCBzdGFy
dFBvaW50OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9zcGkvaW9zL1VJUERGRG9jdW1lbnRTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvVUlQREZEb2N1bWVudFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLmRhN2JhNDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zL1VJUERGRG9jdW1lbnRTUEkuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxf
U0RLKQorI2ltcG9ydCA8Q29yZVBERi9VSVBERkRvY3VtZW50Lmg+CisjZWxzZQorI2ltcG9ydCA8
Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0
aW9uLmg+CisKK0BjbGFzcyBVSVBERlBhZ2U7CisKK0BpbnRlcmZhY2UgVUlQREZEb2N1bWVudCA6
IE5TT2JqZWN0CisKK0BlbmQKKworQGludGVyZmFjZSBVSVBERkRvY3VtZW50IChEZXRhaWxzKQor
LSAoVUlQREZQYWdlICopcGFnZUF0SW5kZXg6KE5TVUludGVnZXIpaW5kZXg7CistIChpZClpbml0
V2l0aENHUERGRG9jdW1lbnQ6KENHUERGRG9jdW1lbnRSZWYpZG9jdW1lbnQ7CitAcHJvcGVydHkg
KGFzc2lnbiwgcmVhZG9ubHkpIE5TVUludGVnZXIgbnVtYmVyT2ZQYWdlczsKK0Bwcm9wZXJ0eSAo
cmVhZG9ubHkpIENHUERGRG9jdW1lbnRSZWYgQ0dEb2N1bWVudDsKK0BlbmQKKyNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBERlBhZ2VTUEkuaCBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlQREZQYWdlU1BJLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTAyNDFjYwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlQREZQYWdlU1BJLmgKQEAgLTAsMCArMSwz
OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgor
ICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7
IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYg
VVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPENvcmVQREYvVUlQREZQYWdlLmg+Cisj
ZWxzZQorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgVUlQREZQYWdlIDogTlNPYmplY3QK
KworQGVuZAorCitAaW50ZXJmYWNlIFVJUERGUGFnZSAoRGV0YWlscykKKy0gKENHUmVjdCljcm9w
Qm94QWNjb3VudEZvclJvdGF0aW9uOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJUERGUGFnZVZpZXdTUEkuaCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlQREZQYWdlVmlld1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjIwODJkZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJUERGUGFnZVZpZXdTUEkuaApAQCAtMCwwICsxLDYxIEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8Q29yZVBERi9VSVBERlBhZ2VWaWV3Lmg+Cisj
ZWxzZQorI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworQGNsYXNzIFVJUERGUGFnZTsKK0Bwcm90
b2NvbCBVSVBERlBhZ2VWaWV3RGVsZWdhdGU7CisKK3R5cGVkZWYgZW51bSB7CisgICAga1VJUERG
T2JqZWN0S2luZEdyYXBoaWMgPSAxLAorfSBVSVBERk9iamVjdEtpbmQ7CisKK0BpbnRlcmZhY2Ug
VUlQREZQYWdlVmlldyA6IFVJVmlldworCitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZQYWdlVmll
dyAoRGV0YWlscykKKy0gKGlkKWluaXRXaXRoUGFnZTooVUlQREZQYWdlICopIHBhZ2UgdGlsZWRD
b250ZW50OihCT09MKXRpbGVkOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQk9PTCB1
c2VCYWNraW5nTGF5ZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBpZDxOU09iamVj
dCwgVUlQREZQYWdlVmlld0RlbGVnYXRlPiBkZWxlZ2F0ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWlj
LCByZWFkb25seSkgQ0FMYXllciAqY29udGVudExheWVyOworQGVuZAorCitAcHJvdG9jb2wgVUlQ
REZQYWdlVmlld0RlbGVnYXRlCitAb3B0aW9uYWwKKy0oQk9PTClzZWxlY3Rpb25XaWxsVHJhY2s6
KFVJUERGUGFnZVZpZXcqKXBhZ2VWaWV3OworLShCT09MKXNob3VsZFJlY29nbml6ZVRhcEluOihV
SVBERlBhZ2VWaWV3ICopcGFnZVZpZXcgYXRQb2ludDooQ0dQb2ludClwb2ludDsKKy0oQ2xhc3Mp
Y2xhc3NGb3JBbm5vdGF0aW9uVHlwZTooY29uc3QgY2hhciAqKXR5cGU7CistKHZvaWQpZGlkVGFw
OihVSVBERlBhZ2VWaWV3ICopcGFnZVZpZXcgYXRQb2ludDooQ0dQb2ludClwb2ludDsKKy0odm9p
ZClkb3VibGVUYXBJbjooVUlQREZQYWdlVmlldyAqKXBhZ2VWaWV3IGF0UG9pbnQ6KENHUG9pbnQp
cG9pbnQ7CistKHZvaWQpcGFnZVdhc1JlbmRlcmVkOihVSVBERlBhZ2VWaWV3ICopcGFnZVZpZXc7
CistKHZvaWQpcmVzZXRab29tOihVSVBERlBhZ2VWaWV3ICopcGFnZVZpZXc7CistKHZvaWQpc2Vs
ZWN0aW9uRGlkRW5kVHJhY2tpbmc6KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldzsKKy0odm9pZCl6
b29tOihVSVBERlBhZ2VWaWV3ICopcGFnZVZpZXcgdG86KENHUmVjdClyZWN0IGF0UG9pbnQ6KENH
UG9pbnQpcHQga2luZDooVUlQREZPYmplY3RLaW5kKWtpbmQ7CitAZW5kCisjZW5kaWYKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlQZXJpcGhlcmFsSG9zdFNQ
SS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBlcmlwaGVyYWxIb3N0U1BJ
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTdhMWMyOAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlQZXJpcGhlcmFsSG9z
dFNQSS5oCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtp
dC9VSVBlcmlwaGVyYWxIb3N0X1ByaXZhdGUuaD4KKyNlbHNlCisjaW1wb3J0IDxGb3VuZGF0aW9u
L0ZvdW5kYXRpb24uaD4KKyNpbXBvcnQgPFVJS2l0L1VJR2VzdHVyZVJlY29nbml6ZXIuaD4KKwor
QGludGVyZmFjZSBVSVBlcmlwaGVyYWxIb3N0IDogTlNPYmplY3QgPFVJR2VzdHVyZVJlY29nbml6
ZXJEZWxlZ2F0ZT4KKworQGVuZAorCitAY2xhc3MgVUlLZXlib2FyZFJvdGF0aW9uU3RhdGU7CisK
K0BpbnRlcmZhY2UgVUlQZXJpcGhlcmFsSG9zdCAoRGV0YWlscykKKysgKFVJUGVyaXBoZXJhbEhv
c3QgKilhY3RpdmVJbnN0YW5jZTsKKy0gKEJPT0wpaXNPblNjcmVlbjsKKy0gKFVJS2V5Ym9hcmRS
b3RhdGlvblN0YXRlICopcm90YXRpb25TdGF0ZTsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBpY2tlckNvbnRlbnRWaWV3U1BJLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJUGlja2VyQ29udGVudFZpZXdTUEku
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZjgyNDhmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBpY2tlckNvbnRlbnRW
aWV3U1BJLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRI
RQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQ
Uk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJ
S2l0L1VJUGlja2VyQ29udGVudFZpZXdfUHJpdmF0ZS5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5k
YXRpb24vRm91bmRhdGlvbi5oPgorI2ltcG9ydCA8VUlLaXQvVUlWaWV3Lmg+CisKK0BpbnRlcmZh
Y2UgVUlQaWNrZXJDb250ZW50VmlldyA6IFVJVmlldworCitAZW5kCisKK0BpbnRlcmZhY2UgVUlQ
aWNrZXJDb250ZW50VmlldyAoRGV0YWlscykKKysoQ0dGbG9hdClfY2hlY2ttYXJrT2Zmc2V0Owor
LShDR0Zsb2F0KWxhYmVsV2lkdGhGb3JCb3VuZHM6KENHUmVjdClib3VuZHM7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgZ2V0dGVyPWlzQ2hlY2tlZCkgQk9PTCBjaGVja2VkOworQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBVSUxhYmVsICp0aXRsZUxhYmVsOworQGVuZAorI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJUGlja2VyVmlld1NQ
SS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBpY2tlclZpZXdTUEkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4wMjBmNDE5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVBpY2tlclZpZXdTUEkuaApA
QCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgor
ICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAor
ICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvVUlQaWNr
ZXJWaWV3X1ByaXZhdGUuaD4KKyNlbHNlCisjaW1wb3J0IDxVSUtpdC9VSVBpY2tlclZpZXcuaD4K
KworQGludGVyZmFjZSBVSVBpY2tlclZpZXcgKERldGFpbHMpCisrIChDR1NpemUpZGVmYXVsdFNp
emVGb3JDdXJyZW50T3JpZW50YXRpb247CistICh2b2lkKV9zZXRVc2VzQ2hlY2tlZFNlbGVjdGlv
bjooQk9PTCl1c2VzQ2hlY2tlZFNlbGVjdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLHNldHRl
cj1fc2V0TWFnbmlmaWVyRW5hYmxlZDopIEJPT0wgX21hZ25pZmllckVuYWJsZWQ7CitAZW5kCisj
ZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlTY3Jv
bGxWaWV3U1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJU2Nyb2xsVmll
d1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjYzYjIyN2QKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJU2Nyb2xsVmll
d1NQSS5oCkBAIC0wLDAgKzEsMzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtp
dC9VSVNjcm9sbFZpZXdfUHJpdmF0ZS5oPgorI2Vsc2UKKyNpbXBvcnQgPFVJS2l0L1VJU2Nyb2xs
Vmlldy5oPgorCitAaW50ZXJmYWNlIFVJU2Nyb2xsVmlldyAoRGV0YWlscykKKy0gKHZvaWQpX3N0
b3BTY3JvbGxpbmdBbmRab29taW5nQW5pbWF0aW9uczsKKy0gKHZvaWQpX3pvb21Ub0NlbnRlcjoo
Q0dQb2ludCljZW50ZXIgc2NhbGU6KENHRmxvYXQpc2NhbGUgZHVyYXRpb246KENGVGltZUludGVy
dmFsKWR1cmF0aW9uIGZvcmNlOihCT09MKWZvcmNlOworLSAodm9pZClfem9vbVRvQ2VudGVyOihD
R1BvaW50KWNlbnRlciBzY2FsZTooQ0dGbG9hdClzY2FsZSBkdXJhdGlvbjooQ0ZUaW1lSW50ZXJ2
YWwpZHVyYXRpb247CitAcHJvcGVydHkobm9uYXRvbWljLCBnZXR0ZXI9aXNab29tRW5hYmxlZCkg
Qk9PTCB6b29tRW5hYmxlZDsKK0Bwcm9wZXJ0eShub25hdG9taWMsIHJlYWRvbmx5LCBnZXR0ZXI9
X2lzQW5pbWF0aW5nWm9vbSkgQk9PTCBpc0FuaW1hdGluZ1pvb207CitAZW5kCisjZW5kaWYKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlTdHJpbmdEcmF3aW5n
U1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJU3RyaW5nRHJhd2luZ1NQ
SS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjI2NjQwNWYKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJU3RyaW5nRHJhd2lu
Z1NQSS5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUK
KyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtp
dC9VSVN0cmluZ0RyYXdpbmdfUHJpdmF0ZS5oPgorI2Vsc2UKKyNpbXBvcnQgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgorI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorCitA
aW50ZXJmYWNlIE5TU3RyaW5nIChEZXRhaWxzKQorLSAoQ0dTaXplKV9sZWdhY3lfc2l6ZVdpdGhG
b250OihVSUZvbnQgKilmb250IGZvcldpZHRoOihDR0Zsb2F0KXdpZHRoIGxpbmVCcmVha01vZGU6
KE5TTGluZUJyZWFrTW9kZSlsaW5lQnJlYWtNb2RlOworLSAoQ0dTaXplKV9sZWdhY3lfc2l6ZVdp
dGhGb250OihVSUZvbnQgKilmb250IG1pbkZvbnRTaXplOihDR0Zsb2F0KW1pbkZvbnRTaXplIGFj
dHVhbEZvbnRTaXplOihDR0Zsb2F0ICopYWN0dWFsRm9udFNpemUgZm9yV2lkdGg6KENHRmxvYXQp
d2lkdGggbGluZUJyZWFrTW9kZTooTlNMaW5lQnJlYWtNb2RlKWxpbmVCcmVha01vZGU7CitAZW5k
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlU
YWJsZVZpZXdDZWxsU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJVGFi
bGVWaWV3Q2VsbFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjc4NDkz
ZmEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJ
VGFibGVWaWV3Q2VsbFNQSS5oCkBAIC0wLDAgKzEsMzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQor
ICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBM
QVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8VUlLaXQvVUlUYWJsZVZpZXdDZWxs
Lmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvVUlUYWJs
ZVZpZXdDZWxsX1ByaXZhdGUuaD4KKyNlbmRpZgorCitleHRlcm4gY29uc3QgZmxvYXQgVUlUYWJs
ZUNlbGxEZWZhdWx0Rm9udFNpemU7CitleHRlcm4gY29uc3QgZmxvYXQgVUlUYWJsZVZpZXdDZWxs
RGVmYXVsdEZvbnRTaXplOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9VSVRhcEdlc3R1cmVSZWNvZ25pemVyU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9zcGkvaW9zL1VJVGFwR2VzdHVyZVJlY29nbml6ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwLi45MDY4ZDAyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9VSVRhcEdlc3R1cmVSZWNvZ25pemVyU1BJLmgKQEAgLTAsMCAr
MSwzNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L1VJVGFwR2VzdHVyZVJl
Y29nbml6ZXJfUHJpdmF0ZS5oPgorI2Vsc2UKKyNpbXBvcnQgPFVJS2l0L1VJVGFwR2VzdHVyZVJl
Y29nbml6ZXIuaD4KKworQGludGVyZmFjZSBVSVRhcEdlc3R1cmVSZWNvZ25pemVyIChEZXRhaWxz
KQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBDR1BvaW50IGxvY2F0aW9uOworQGVu
ZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJ
VGV4dElucHV0U1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJVGV4dElu
cHV0U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uZTZlNjk5YQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlUZXh0SW5w
dXRTUEkuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
CisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlL
aXQvVUlUZXh0SW5wdXRfUHJpdmF0ZS5oPgorI2Vsc2UKKyNpbXBvcnQgPFVJS2l0L1VJVGV4dElu
cHV0Lmg+CisKK0BjbGFzcyBXZWJFdmVudDsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBVSVRleHRT
aG9ydGN1dENvbnZlcnNpb25UeXBlRGVmYXVsdCA9IDAsCisgICAgVUlUZXh0U2hvcnRjdXRDb252
ZXJzaW9uVHlwZU5vID0gMSwKKyAgICBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlWWVzID0g
MiwKK30gVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZTsKKworQHByb3RvY29sIFVJVGV4dElu
cHV0VHJhaXRzX1ByaXZhdGUgPE5TT2JqZWN0LCBVSVRleHRJbnB1dFRyYWl0cz4KKy0gKHZvaWQp
dGFrZVRyYWl0c0Zyb206KGlkIDxVSVRleHRJbnB1dFRyYWl0cz4pdHJhaXRzOworQG9wdGlvbmFs
CitAcHJvcGVydHkobm9uYXRvbWljKSBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlIHNob3J0
Y3V0Q29udmVyc2lvblR5cGU7CitAZW5kCisKK0BjbGFzcyBXZWJFdmVudDsKKworQHByb3RvY29s
IFVJVGV4dElucHV0UHJpdmF0ZSA8VUlUZXh0SW5wdXQsIFVJVGV4dElucHV0VG9rZW5pemVyLCBV
SVRleHRJbnB1dFRyYWl0c19Qcml2YXRlPgorQG9wdGlvbmFsCistIChCT09MKXJlcXVpcmVzS2V5
RXZlbnRzOworLSAoTlNBcnJheSAqKW1ldGFkYXRhRGljdGlvbmFyaWVzRm9yRGljdGF0aW9uUmVz
dWx0czsKKy0gKFVJQ29sb3IgKil0ZXh0Q29sb3JGb3JDYXJldFNlbGVjdGlvbjsKKy0gKFVJRm9u
dCAqKWZvbnRGb3JDYXJldFNlbGVjdGlvbjsKKy0gKFVJVmlldyAqKWF1dG9tYXRpY2FsbHlTZWxl
Y3RlZE92ZXJsYXk7CistICh2b2lkKWhhbmRsZUtleVdlYkV2ZW50OihXZWJFdmVudCAqKWV2ZW50
OworLSAodm9pZClpbnNlcnREaWN0YXRpb25SZXN1bHQ6KE5TQXJyYXkgKilkaWN0YXRpb25SZXN1
bHQgd2l0aENvcnJlY3Rpb25JZGVudGlmaWVyOihpZCljb3JyZWN0aW9uSWRlbnRpZmllcjsKKy0g
KHZvaWQpcmVwbGFjZVJhbmdlV2l0aFRleHRXaXRob3V0Q2xvc2luZ1R5cGluZzooVUlUZXh0UmFu
Z2UgKilyYW5nZSByZXBsYWNlbWVudFRleHQ6KE5TU3RyaW5nICopdGV4dDsKKy0gKHZvaWQpc2V0
Qm90dG9tQnVmZmVySGVpZ2h0OihDR0Zsb2F0KWJvdHRvbUJ1ZmZlcjsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljKSBVSVRleHRHcmFudWxhcml0eSBzZWxlY3Rpb25HcmFudWxhcml0eTsKK0ByZXF1aXJl
ZAorLSAoQk9PTCloYXNDb250ZW50OworLSAoQk9PTCloYXNTZWxlY3Rpb247CistICh2b2lkKXNl
bGVjdEFsbDsKK0BlbmQKKworQGludGVyZmFjZSBVSVRleHRJbnB1dFRyYWl0cyA6IE5TT2JqZWN0
IDxVSVRleHRJbnB1dFRyYWl0cywgVUlUZXh0SW5wdXRUcmFpdHNfUHJpdmF0ZSwgTlNDb3B5aW5n
PgorCitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODU2OTM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudFNQ
SS5oCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtpdC9V
SVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudF9Qcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8Rm91
bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKK0BpbnRlcmZhY2UgVUlUZXh0SW50ZXJhY3Rpb25Bc3Np
c3RhbnQgOiBOU09iamVjdAorCitAZW5kCisKK0BpbnRlcmZhY2UgVUlUZXh0SW50ZXJhY3Rpb25B
c3Npc3RhbnQgKERldGFpbHMpCistICh2b2lkKWFjdGl2YXRlU2VsZWN0aW9uOworLSAodm9pZClk
ZWFjdGl2YXRlU2VsZWN0aW9uOworLSAodm9pZClkaWRFbmRTY3JvbGxpbmdPdmVyZmxvdzsKKy0g
KHZvaWQpc2V0R2VzdHVyZVJlY29nbml6ZXJzOworLSAodm9pZCl3aWxsU3RhcnRTY3JvbGxpbmdP
dmVyZmxvdzsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL2lvcy9VSVZpZXdDb250cm9sbGVyU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9zcGkvaW9zL1VJVmlld0NvbnRyb2xsZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwLi44MzgzNzBjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9VSVZpZXdDb250cm9sbGVyU1BJLmgKQEAgLTAsMCArMSwzNSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5o
PgorI2Vsc2UKKyNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXIuaD4KKworQGludGVyZmFj
ZSBVSVZpZXdDb250cm9sbGVyIChEZXRhaWxzKQorKyAoVUlWaWV3Q29udHJvbGxlciAqKV92aWV3
Q29udHJvbGxlckZvckZ1bGxTY3JlZW5QcmVzZW50YXRpb25Gcm9tVmlldzooVUlWaWV3ICopdmll
dzsKKysgKFVJVmlld0NvbnRyb2xsZXIgKil2aWV3Q29udHJvbGxlckZvclZpZXc6KFVJVmlldyAq
KXZpZXc7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25pbmdTUEkuaCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25pbmdTUEkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5mMTA3NWQ1Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVZpZXdDb250cm9sbGVyVHJh
bnNpdGlvbmluZ1NQSS5oCkBAIC0wLDAgKzEsNzggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1w
b3J0IDxVSUtpdC9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbmluZ19Qcml2YXRlLmg+CisjZWxz
ZQorI2ltcG9ydCA8VUlLaXQvVUlOYXZpZ2F0aW9uQ29udHJvbGxlci5oPgorI2ltcG9ydCA8VUlL
aXQvVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25pbmcuaD4KKworQHByb3RvY29sIFVJVmlld0Nv
bnRyb2xsZXJBbmltYXRlZFRyYW5zaXRpb25pbmdFeCA8VUlWaWV3Q29udHJvbGxlckFuaW1hdGVk
VHJhbnNpdGlvbmluZz4KKy0gKEJPT0wpaW50ZXJhY3Rpb25BYm9ydGVkOworLSAoVUlOYXZpZ2F0
aW9uQ29udHJvbGxlck9wZXJhdGlvbikgb3BlcmF0aW9uOworLSAoVUlQZXJjZW50RHJpdmVuSW50
ZXJhY3RpdmVUcmFuc2l0aW9uICopaW50ZXJhY3Rpb25Db250cm9sbGVyOworLSAodm9pZClzZXRJ
bnRlcmFjdGlvbkFib3J0ZWQ6KEJPT0wpYWJvcnRlZDsKKy0gKHZvaWQpc2V0SW50ZXJhY3Rpb25D
b250cm9sbGVyOihVSVBlcmNlbnREcml2ZW5JbnRlcmFjdGl2ZVRyYW5zaXRpb24gKiljb250cm9s
bGVyOworLSAodm9pZClzZXRPcGVyYXRpb246KFVJTmF2aWdhdGlvbkNvbnRyb2xsZXJPcGVyYXRp
b24pb3BlcmF0aW9uOworQG9wdGlvbmFsCistIChVSVdpbmRvdyAqKXdpbmRvdzsKK0BlbmQKKwor
QHByb3RvY29sIFVJVmlld0NvbnRyb2xsZXJDb250ZXh0VHJhbnNpdGlvbmluZ0V4IDxVSVZpZXdD
b250cm9sbGVyQ29udGV4dFRyYW5zaXRpb25pbmc+CistICh2b2lkKV9fcnVuQWxvbmdzaWRlQW5p
bWF0aW9uczsKKy0gKHZvaWQpX2ludGVyYWN0aXZpdHlEaWRDaGFuZ2U6KEJPT0wpaXNJbnRlcmFj
dGl2ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0QWxsb3dVc2Vy
SW50ZXJhY3Rpb246LCBnZXR0ZXI9X2FsbG93VXNlckludGVyYWN0aW9uKSBCT09MIF9hbGxvd1Vz
ZXJJbnRlcmFjdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0
UGVyY2VudE9mZnNldDopIENHRmxvYXQgX3BlcmNlbnRPZmZzZXQ7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmV0YWluLCBzZXR0ZXI9X3NldENvbnRhaW5lclZpZXdzOikgTlNBcnJheSAqX2NvbnRh
aW5lclZpZXdzOworQGVuZAorCitleHRlcm4gQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlclRy
YW5zaXRpb25Db250ZXh0IDogTlNPYmplY3QgPFVJVmlld0NvbnRyb2xsZXJDb250ZXh0VHJhbnNp
dGlvbmluZ0V4PgorCitAZW5kCisKK0BpbnRlcmZhY2UgX1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0
aW9uQ29udGV4dCAoRGV0YWlscykKKy0gKHZvaWQpIF9zZXRUcmFuc2l0aW9uSXNJbkZsaWdodDoo
Qk9PTClmbGFnOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRBbGxv
d1VzZXJJbnRlcmFjdGlvbjosIGdldHRlcj1fYWxsb3dVc2VySW50ZXJhY3Rpb24pIEJPT0wgX2Fs
bG93VXNlckludGVyYWN0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVy
PV9zZXRBbmltYXRvcjopIGlkIDxVSVZpZXdDb250cm9sbGVyQW5pbWF0ZWRUcmFuc2l0aW9uaW5n
PiBfYW5pbWF0b3I7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3NldENv
bnRhaW5lclZpZXc6KSBVSVZpZXcgKmNvbnRhaW5lclZpZXc7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduLCBzZXR0ZXI9X3NldEludGVyYWN0b3I6KSBpZCA8VUlWaWV3Q29udHJvbGxlcklu
dGVyYWN0aXZlVHJhbnNpdGlvbmluZz4gX2ludGVyYWN0b3I7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduLCBzZXR0ZXI9X3NldFBlcmNlbnRPZmZzZXQ6KSBDR0Zsb2F0IF9wZXJjZW50T2Zm
c2V0OworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHksIHNldHRlcj1fc2V0Q29tcGxldGlvbkhh
bmRsZXI6KSAgdm9pZCAoXl9jb21wbGV0aW9uSGFuZGxlcikoX1VJVmlld0NvbnRyb2xsZXJUcmFu
c2l0aW9uQ29udGV4dCAqY29udGV4dCwgQk9PTCB0cmFuc2l0aW9uQ29tcGxldGVkKTsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZXRhaW4sIHNldHRlcj1fc2V0Q29udGFpbmVyVmlld3M6KSBOU0Fy
cmF5ICpfY29udGFpbmVyVmlld3M7CitAZW5kCisKK2V4dGVybiBAaW50ZXJmYWNlIF9VSVZpZXdD
b250cm9sbGVyT25lVG9PbmVUcmFuc2l0aW9uQ29udGV4dCA6IF9VSVZpZXdDb250cm9sbGVyVHJh
bnNpdGlvbkNvbnRleHQKKworQGVuZAorCitAaW50ZXJmYWNlIF9VSVZpZXdDb250cm9sbGVyT25l
VG9PbmVUcmFuc2l0aW9uQ29udGV4dCAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBh
c3NpZ24sIHNldHRlcj1fc2V0RnJvbUVuZEZyYW1lOikgQ0dSZWN0IGZyb21FbmRGcmFtZTsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0RnJvbVN0YXJ0RnJhbWU6KSBD
R1JlY3QgZnJvbVN0YXJ0RnJhbWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0
ZXI9X3NldFRvRW5kRnJhbWU6KSBDR1JlY3QgdG9FbmRGcmFtZTsKK0Bwcm9wZXJ0eSAobm9uYXRv
bWljLCBhc3NpZ24sIHNldHRlcj1fc2V0VG9TdGFydEZyYW1lOikgQ0dSZWN0IHRvU3RhcnRGcmFt
ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4sIHNldHRlcj1fc2V0RnJvbVZpZXdDb250
cm9sbGVyOikgVUlWaWV3Q29udHJvbGxlciAqZnJvbVZpZXdDb250cm9sbGVyOworQHByb3BlcnR5
IChub25hdG9taWMsIHJldGFpbiwgc2V0dGVyPV9zZXRUb1ZpZXdDb250cm9sbGVyOikgVUlWaWV3
Q29udHJvbGxlciAqdG9WaWV3Q29udHJvbGxlcjsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVZpZXdTUEkuaCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlWaWV3U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMC4uOWIwNzE3MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvVUlWaWV3U1BJLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKyNpbXBvcnQgPFVJS2l0L1VJVmlld19Qcml2YXRlLmg+CisjZWxzZQorI2ltcG9ydCA8
VUlLaXQvVUlWaWV3Lmg+CisKK3R5cGVkZWYgTlNfRU5VTSAoTlNJbnRlZ2VyLCBfVUlCYWNrZHJv
cE1hc2tWaWV3RmxhZ3MpIHsKKyAgICBfVUlCYWNrZHJvcE1hc2tWaWV3Tm9uZSA9IDAsCisgICAg
X1VJQmFja2Ryb3BNYXNrVmlld0dyYXlzY2FsZVRpbnQgPSAxIDw8IDAsCisgICAgX1VJQmFja2Ry
b3BNYXNrVmlld0NvbG9yVGludCA9IDEgPDwgMSwKKyAgICBfVUlCYWNrZHJvcE1hc2tWaWV3Rmls
dGVycyA9IDEgPDwgMiwKKyAgICBfVUlCYWNrZHJvcE1hc2tWaWV3QWxsID0gX1VJQmFja2Ryb3BN
YXNrVmlld0dyYXlzY2FsZVRpbnQgfCBfVUlCYWNrZHJvcE1hc2tWaWV3Q29sb3JUaW50IHwgX1VJ
QmFja2Ryb3BNYXNrVmlld0ZpbHRlcnMsCit9OworCitAaW50ZXJmYWNlIFVJVmlldyAoRGV0YWls
cykKKysgKEJPT0wpX2lzSW5BbmltYXRpb25CbG9jazsKKy0gKENHU2l6ZSlzaXplOworLSAodm9p
ZClzZXRGcmFtZU9yaWdpbjooQ0dQb2ludClvcmlnaW47CistICh2b2lkKXNldFNpemU6KENHU2l6
ZSlzaXplOworQHByb3BlcnR5KG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3NldEJhY2tkcm9w
TWFza1ZpZXdGbGFnczopIE5TSW50ZWdlciBfYmFja2Ryb3BNYXNrVmlld0ZsYWdzOworQGVuZAor
I2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV0tT
ZWxlY3Rpb25Bc3Npc3RhbnRTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3Mv
VUlXS1NlbGVjdGlvbkFzc2lzdGFudFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjBjYmNhN2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9y
bS9zcGkvaW9zL1VJV0tTZWxlY3Rpb25Bc3Npc3RhbnRTUEkuaApAQCAtMCwwICsxLDQ1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvVUlXS1NlbGVjdGlvbkFzc2lzdGFudC5o
PgorI2Vsc2UKKyNpbXBvcnQgIlVJV2ViU2VsZWN0aW9uQXNzaXN0YW50U1BJLmgiCisjaW1wb3J0
IDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+CisKK0BpbnRlcmZhY2UgVUlXS1NlbGVjdGlv
bkFzc2lzdGFudCA6IFVJV2ViU2VsZWN0aW9uQXNzaXN0YW50CisKK0BlbmQKKworQGludGVyZmFj
ZSBVSVdLU2VsZWN0aW9uQXNzaXN0YW50IChEZXRhaWxzKQorLSAoQk9PTClzaG91bGRIYW5kbGVT
aW5nbGVUYXBBdFBvaW50OihDR1BvaW50KXBvaW50OworLSAodm9pZClibG9ja1NlbGVjdGlvbkNo
YW5nZWRXaXRoVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCB3aXRoRmxhZ3M6KFVJV0tT
ZWxlY3Rpb25GbGFncylmbGFncyBncm93VGhyZXNob2xkOihDR0Zsb2F0KWdyb3cgc2hyaW5rVGhy
ZXNob2xkOihDR0Zsb2F0KXNocmluazsKKy0gKHZvaWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhHZXN0
dXJlQXQ6KENHUG9pbnQpcG9pbnQgd2l0aEdlc3R1cmU6KFVJV0tHZXN0dXJlVHlwZSlnZXN0dXJl
VHlwZSB3aXRoU3RhdGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlnZXN0dXJlU3RhdGUgd2l0
aEZsYWdzOihVSVdLU2VsZWN0aW9uRmxhZ3MpZmxhZ3M7CistICh2b2lkKXNlbGVjdGlvbkNoYW5n
ZWRXaXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxl
Y3Rpb25Ub3VjaCl0b3VjaCB3aXRoRmxhZ3M6KFVJV0tTZWxlY3Rpb25GbGFncylmbGFnczsKKy0g
KHZvaWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhTZWxl
Y3Rpb25Ub3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNoOworLSAodm9pZClzaG93RGljdGlv
bmFyeUZvcjooTlNTdHJpbmcgKilzZWxlY3RlZFRlcm0gZnJvbVJlY3Q6KENHUmVjdClwcmVzZW50
YXRpb25SZWN0OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUxvbmdQcmVzc0dl
c3R1cmVSZWNvZ25pemVyICpzZWxlY3Rpb25Mb25nUHJlc3NSZWNvZ25pemVyOworQGVuZAorI2Vu
ZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV0tUZXh0
SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9p
b3MvVUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudFNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjQxMjA2OWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaApAQCAt
MCwwICsxLDE0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L1VJV0tUZXh0
SW50ZXJhY3Rpb25Bc3Npc3RhbnQuaD4KKyNlbHNlCisjaW1wb3J0IDxVSUtpdC9VSUxvbmdQcmVz
c0dlc3R1cmVSZWNvZ25pemVyLmg+CisjaW1wb3J0IDxVSUtpdC9VSVZpZXcuaD4KKworI2ltcG9y
dCAiVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaCIKKwordHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgVUlXS0dlc3R1cmVUeXBlKSB7CisgICAgVUlXS0dlc3R1cmVMb3VwZSA9IDAsCisg
ICAgVUlXS0dlc3R1cmVPbmVGaW5nZXJUYXAgPSAxLAorICAgIFVJV0tHZXN0dXJlVGFwQW5kQUhh
bGYgPSAyLAorICAgIFVJV0tHZXN0dXJlRG91YmxlVGFwID0gMywKKyAgICBVSVdLR2VzdHVyZVRh
cEFuZEhhbGYgPSA0LAorICAgIFVJV0tHZXN0dXJlRG91YmxlVGFwSW5VbmVkaXRhYmxlID0gNSwK
KyAgICBVSVdLR2VzdHVyZU9uZUZpbmdlclRhcEluVW5lZGl0YWJsZSA9IDYsCisgICAgVUlXS0dl
c3R1cmVPbmVGaW5nZXJUYXBTZWxlY3RzQWxsID0gNywKKyAgICBVSVdLR2VzdHVyZU9uZUZpbmdl
ckRvdWJsZVRhcCA9IDgsCisgICAgVUlXS0dlc3R1cmVPbmVGaW5nZXJUcmlwbGVUYXAgPSA5LAor
ICAgIFVJV0tHZXN0dXJlVHdvRmluZ2VyU2luZ2xlVGFwID0gMTAsCisgICAgVUlXS0dlc3R1cmVU
d29GaW5nZXJSYW5nZWRTZWxlY3RHZXN0dXJlID0gMTEsCisgICAgVUlXS0dlc3R1cmVUYXBPbkxp
bmtXaXRoR2VzdHVyZSA9IDEyLAorICAgIFVJV0tHZXN0dXJlTWFrZVdlYlNlbGVjdGlvbiA9IDEz
LAorICAgIFVJV0tHZXN0dXJlUGhyYXNlQm91bmRhcnkgPSAxNCwKK307CisKK3R5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIFVJV0tTZWxlY3Rpb25Ub3VjaCkgeworICAgIFVJV0tTZWxlY3Rpb25U
b3VjaFN0YXJ0ZWQgPSAwLAorICAgIFVJV0tTZWxlY3Rpb25Ub3VjaE1vdmVkID0gMSwKKyAgICBV
SVdLU2VsZWN0aW9uVG91Y2hFbmRlZCA9IDIsCisgICAgVUlXS1NlbGVjdGlvblRvdWNoRW5kZWRN
b3ZpbmdGb3J3YXJkID0gMywKKyAgICBVSVdLU2VsZWN0aW9uVG91Y2hFbmRlZE1vdmluZ0JhY2t3
YXJkID0gNCwKKyAgICBVSVdLU2VsZWN0aW9uVG91Y2hFbmRlZE5vdE1vdmluZyA9IDUsCit9Owor
Cit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBVSVdLU2VsZWN0aW9uRmxhZ3MpIHsKKyAgICBV
SVdLTm9uZSA9IDAsCisgICAgVUlXS1dvcmRJc05lYXJUYXAgPSAxLAorICAgIFVJV0tJc0Jsb2Nr
U2VsZWN0aW9uID0gMiwKKyAgICBVSVdLUGhyYXNlQm91bmRhcnlDaGFuZ2VkID0gNCwKK307CisK
K3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFVJV0tIYW5kbGVQb3NpdGlvbikgeworICAgIFVJ
V0tIYW5kbGVUb3AgPSAwLAorICAgIFVJV0tIYW5kbGVSaWdodCA9IDEsCisgICAgVUlXS0hhbmRs
ZUJvdHRvbSA9IDIsCisgICAgVUlXS0hhbmRsZUxlZnQgPSAzLAorfTsKKworQGludGVyZmFjZSBV
SVdLQXV0b2NvcnJlY3Rpb25SZWN0cyA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgVUlX
S0F1dG9jb3JyZWN0aW9uUmVjdHMgKFVJV0tBdXRvY29ycmVjdGlvblJlY3RzRGV0YWlscykKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIENHUmVjdCBmaXJzdFJlY3Q7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgYXNzaWduKSBDR1JlY3QgbGFzdFJlY3Q7CitAZW5kCisKK0BpbnRlcmZhY2Ug
VUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dCA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2Ug
VUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dCAoVUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dERldGFp
bHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmNvbnRleHRCZWZvcmVT
ZWxlY3Rpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKnNlbGVjdGVk
VGV4dDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAqY29udGV4dEFmdGVy
U2VsZWN0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICptYXJrZWRU
ZXh0OworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTlNSYW5nZSByYW5nZUluTWFya2Vk
VGV4dDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50IDog
VUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQKK0BlbmQKKworQGludGVyZmFjZSBVSVdLVGV4dElu
dGVyYWN0aW9uQXNzaXN0YW50IChVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50RGV0YWlscykK
Ky0gKHZvaWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhHZXN0dXJlQXQ6KENHUG9pbnQpcG9pbnQgd2l0
aEdlc3R1cmU6KFVJV0tHZXN0dXJlVHlwZSlnZXN0dXJlVHlwZSB3aXRoU3RhdGU6KFVJR2VzdHVy
ZVJlY29nbml6ZXJTdGF0ZSlnZXN0dXJlU3RhdGUgd2l0aEZsYWdzOihVSVdLU2VsZWN0aW9uRmxh
Z3MpZmxhZ3M7CistICh2b2lkKXNob3dEaWN0aW9uYXJ5Rm9yOihOU1N0cmluZyAqKXNlbGVjdGVk
VGVybSBmcm9tUmVjdDooQ0dSZWN0KXByZXNlbnRhdGlvblJlY3Q7CistICh2b2lkKXNlbGVjdGlv
bkNoYW5nZWRXaXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJ
V0tTZWxlY3Rpb25Ub3VjaCl0b3VjaDsKKy0gKHZvaWQpc2hvd1RleHRTdHlsZU9wdGlvbnM7Cist
ICh2b2lkKWhpZGVUZXh0U3R5bGVPcHRpb25zOworCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVh
ZG9ubHksIHJldGFpbikgVUlUYXBHZXN0dXJlUmVjb2duaXplciAqc2luZ2xlVGFwR2VzdHVyZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgcmV0YWluKSBVSUxvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyICpsb3VwZUdlc3R1cmU7CitAZW5kCisKK0Bwcm90b2NvbCBVSVdLSW50ZXJh
Y3Rpb25WaWV3UHJvdG9jb2wKKy0gKHZvaWQpY2hhbmdlU2VsZWN0aW9uV2l0aEdlc3R1cmVBdDoo
Q0dQb2ludClwb2ludCB3aXRoR2VzdHVyZTooVUlXS0dlc3R1cmVUeXBlKWdlc3R1cmVUeXBlIHdp
dGhTdGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKXN0YXRlOworCistICh2b2lkKWNoYW5n
ZVNlbGVjdGlvbldpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhTZWxlY3Rpb25Ub3VjaDoo
VUlXS1NlbGVjdGlvblRvdWNoKXRvdWNoIGJhc2VJc1N0YXJ0OihCT09MKWJhc2VJc1N0YXJ0Owor
LSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hlc0Zyb206KENHUG9pbnQpZnJvbSB0bzoo
Q0dQb2ludCl0byB3aXRoR2VzdHVyZTooVUlXS0dlc3R1cmVUeXBlKWdlc3R1cmVUeXBlIHdpdGhT
dGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKWdlc3R1cmVTdGF0ZTsKKy0gKENHUmVjdCl0
ZXh0Rmlyc3RSZWN0OworLSAoQ0dSZWN0KXRleHRMYXN0UmVjdDsKKworLSAodm9pZClyZXF1ZXN0
QXV0b2NvcnJlY3Rpb25Db250ZXh0V2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShVSVdL
QXV0b2NvcnJlY3Rpb25Db250ZXh0ICphdXRvY29ycmVjdGlvbkNvbnRleHQpKWNvbXBsZXRpb25I
YW5kbGVyOworCistICh2b2lkKXJlcXVlc3RBdXRvY29ycmVjdGlvblJlY3RzRm9yU3RyaW5nOihO
U1N0cmluZyAqKWlucHV0IHdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAoXikoVUlXS0F1dG9j
b3JyZWN0aW9uUmVjdHMgKnJlY3RzRm9ySW5wdXQpKWNvbXBsZXRpb25IYW5kbGVyOworCistICh2
b2lkKWFwcGx5QXV0b2NvcnJlY3Rpb246KE5TU3RyaW5nICopY29ycmVjdGlvbiB0b1N0cmluZzoo
TlNTdHJpbmcgKilpbnB1dCB3aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKFVJV0tBdXRv
Y29ycmVjdGlvblJlY3RzICpyZWN0c0ZvckNvcnJlY3Rpb24pKWNvbXBsZXRpb25IYW5kbGVyOwor
CistIChOU1N0cmluZyAqKW1hcmtlZFRleHQ7CistIChCT09MKWhhc01hcmtlZFRleHQ7CisKKy0g
KEJPT0wpaGFzU2VsZWN0YWJsZVBvc2l0aW9uQXRQb2ludDooQ0dQb2ludClwb2ludDsKKy0gKEJP
T0wpcG9pbnRJc0luQXNzaXN0ZWROb2RlOihDR1BvaW50KXBvaW50OworLSAoTlNBcnJheSAqKXdl
YlNlbGVjdGlvblJlY3RzOworLSAodm9pZClfY2FuY2VsTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6
ZXI7CisKK0BvcHRpb25hbAorLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hBdDooQ0dQ
b2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCBi
YXNlSXNTdGFydDooQk9PTCliYXNlSXNTdGFydCB3aXRoRmxhZ3M6KFVJV0tTZWxlY3Rpb25GbGFn
cylmbGFnczsKKy0gKHZvaWQpY2hhbmdlQmxvY2tTZWxlY3Rpb25XaXRoVG91Y2hBdDooQ0dQb2lu
dClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCBmb3JI
YW5kbGU6KFVJV0tIYW5kbGVQb3NpdGlvbiloYW5kbGU7CistICh2b2lkKWNsZWFyU2VsZWN0aW9u
OworLSAodm9pZClyZXBsYWNlRGljdGF0ZWRUZXh0OihOU1N0cmluZyAqKW9sZFRleHQgd2l0aFRl
eHQ6KE5TU3RyaW5nICopbmV3VGV4dDsKKy0gKHZvaWQpcmVxdWVzdERpY3RhdGlvbkNvbnRleHQ6
KHZvaWQgKF4pKE5TU3RyaW5nICpzZWxlY3RlZFRleHQsIE5TU3RyaW5nICpwcmVmaXhUZXh0LCBO
U1N0cmluZyAqcG9zdGZpeFRleHQpKWNvbXBsZXRpb25IYW5kbGVyOworLSAoQk9PTClwb2ludElz
TmVhck1hcmtlZFRleHQ6KENHUG9pbnQpcG9pbnQ7CistIChOU1N0cmluZyAqKXNlbGVjdGVkVGV4
dDsKKy0gKHZvaWQpcmVwbGFjZVRleHQ6KE5TU3RyaW5nICopdGV4dCB3aXRoVGV4dDooTlNTdHJp
bmcgKil3b3JkOworLSAodm9pZClzZWxlY3RXb3JkRm9yUmVwbGFjZW1lbnQ7CistIChCT09MKWlz
UmVwbGFjZUFsbG93ZWQ7CistICh2b2lkKXNlbGVjdFdvcmRCYWNrd2FyZDsKKy0gKFVJVmlldyAq
KXVuc2NhbGVkVmlldzsKKy0gKENHRmxvYXQpaW52ZXJzZVNjYWxlOworLSAoQ0dSZWN0KXVub2Jz
Y3VyZWRDb250ZW50UmVjdDsKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2ViRG9jdW1lbnRWaWV3U1BJLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2ViRG9jdW1lbnRWaWV3U1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2ZkYTdkZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlXZWJEb2N1bWVudFZpZXdTUEkuaApAQCAtMCww
ICsxLDMzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisK
KyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvVUlXZWJEb2N1bWVu
dFZpZXcuaD4KKyNlbHNlCit0eXBlZGVmIGVudW0geworICAgIFVJV2ViU2VsZWN0aW9uTW9kZVdl
YiA9IDAsCisgICAgVUlXZWJTZWxlY3Rpb25Nb2RlVGV4dE9ubHkgPSAxLAorfSBVSVdlYlNlbGVj
dGlvbk1vZGU7CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvVUlXZWJGb3JtQWNjZXNzb3J5U1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zL1VJV2ViRm9ybUFjY2Vzc29yeVNQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjU2ZDNlZDJiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9VSVdlYkZvcm1BY2Nlc3NvcnlTUEkuaApAQCAtMCwwICsxLDU1IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
YGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBDT05U
UklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQorICog
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvVUlXZWJGb3JtQWNjZXNzb3J5Lmg+Cisj
ZWxzZQorI2ltcG9ydCA8VUlLaXQvVUlJbnB1dFZpZXcuaD4KKworQGNsYXNzIE5TU3RyaW5nOwor
QHByb3RvY29sIFVJV2ViRm9ybUFjY2Vzc29yeURlbGVnYXRlOworCitAaW50ZXJmYWNlIFVJV2Vi
Rm9ybUFjY2Vzc29yeSA6IFVJSW5wdXRWaWV3CisKK0BlbmQKKworQGludGVyZmFjZSBVSVdlYkZv
cm1BY2Nlc3NvcnkgKERldGFpbHMpCistICh2b2lkKWhpZGVBdXRvRmlsbEJ1dHRvbjsKKy0gKHZv
aWQpc2V0Q2xlYXJWaXNpYmxlOihCT09MKWZsYWc7CistICh2b2lkKXNob3dBdXRvRmlsbEJ1dHRv
bldpdGhUaXRsZTooTlNTdHJpbmcgKil0aXRsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRh
aW4pIFVJQmFyQnV0dG9uSXRlbSAqX2F1dG9maWxsOworQHByb3BlcnR5IChub25hdG9taWMsIGFz
c2lnbikgaWQgPFVJV2ViRm9ybUFjY2Vzc29yeURlbGVnYXRlPiBkZWxlZ2F0ZTsKKworQHByb3Bl
cnR5IChub25hdG9taWMsIGFzc2lnbiwgZ2V0dGVyPWlzTmV4dEVuYWJsZWQpIEJPT0wgbmV4dEVu
YWJsZWQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBnZXR0ZXI9aXNQcmV2aW91c0Vu
YWJsZWQpIEJPT0wgcHJldmlvdXNFbmFibGVkOworQGVuZAorCitAcHJvdG9jb2wgVUlXZWJGb3Jt
QWNjZXNzb3J5RGVsZWdhdGUKKy0gKHZvaWQpYWNjZXNzb3J5QXV0b0ZpbGw7CistICh2b2lkKWFj
Y2Vzc29yeUNsZWFyOworLSAodm9pZClhY2Nlc3NvcnlEb25lOworLSAodm9pZClhY2Nlc3NvcnlU
YWI6KEJPT0wpaXNOZXh0OworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNpZGVyU1BJLmggYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNp
ZGVyU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNTQ0MzY0OTkKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2ViR2Vv
bG9jYXRpb25Qb2xpY3lEZWNpZGVyU1BJLmgKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBB
TkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisg
KiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKyNpbXBvcnQgPFVJS2l0L1VJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNpZGVyLmg+Cisj
ZWxzZQorI2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisjaW1wb3J0IDxVSUtpdC9V
SUtpdC5oPgorCitAY2xhc3MgTlNVUkw7CitAY2xhc3MgVUlXaW5kb3c7CitAY2xhc3MgV2ViU2Vj
dXJpdHlPcmlnaW47CitAcHJvdG9jb2wgV2ViQWxsb3dEZW55UG9saWN5TGlzdGVuZXI7CisKK0Bp
bnRlcmZhY2UgVUlXZWJHZW9sb2NhdGlvblBvbGljeURlY2lkZXIgOiBOU09iamVjdAorCitAZW5k
CisKK0BpbnRlcmZhY2UgVUlXZWJHZW9sb2NhdGlvblBvbGljeURlY2lkZXIgKERldGFpbHMpCisr
IChpbnN0YW5jZXR5cGUpc2hhcmVkUG9saWN5RGVjaWRlcjsKKy0gKHZvaWQpZGVjaWRlUG9saWN5
Rm9yR2VvbG9jYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjooV2ViU2VjdXJpdHlPcmlnaW4gKilzZWN1
cml0eU9yaWdpbiByZXF1ZXN0aW5nVVJMOihOU1VSTCAqKXJlcXVlc3RpbmdVUkwgd2luZG93OihV
SVdpbmRvdyAqKXdpbmRvdyBsaXN0ZW5lcjooaWQgPFdlYkFsbG93RGVueVBvbGljeUxpc3RlbmVy
PilsaXN0ZW5lcjsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9VSVdlYlNlbGVjdGlvbkFzc2lzdGFudFNQSS5oIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9VSVdlYlNlbGVjdGlvbkFzc2lzdGFudFNQSS5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLmI0NTNiZGYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2ViU2VsZWN0aW9uQXNzaXN0YW50U1BJ
LmgKQEAgLTAsMCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICog
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJF
TUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L1VJ
V2ViU2VsZWN0aW9uQXNzaXN0YW50Lmg+CisjZWxzZQorI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJl
UmVjb2duaXplci5oPgorCitAaW50ZXJmYWNlIFVJV2ViU2VsZWN0aW9uQXNzaXN0YW50IDogTlNP
YmplY3QgPFVJR2VzdHVyZVJlY29nbml6ZXJEZWxlZ2F0ZT4KKworQGVuZAorCitAaW50ZXJmYWNl
IFVJV2ViU2VsZWN0aW9uQXNzaXN0YW50IChEZXRhaWxzKQorLSAoQk9PTClpc1NlbGVjdGlvbkdl
c3R1cmVSZWNvZ25pemVyOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXI7
CistIChpZClpbml0V2l0aFZpZXc6KFVJVmlldyAqKXZpZXc7CistICh2b2lkKWNsZWFyU2VsZWN0
aW9uOworLSAodm9pZClkaWRFbmRTY3JvbGxpbmdPclpvb21pbmdQYWdlOworLSAodm9pZClkaWRF
bmRTY3JvbGxpbmdPdmVyZmxvdzsKKy0gKHZvaWQpcmVzaWduZWRGaXJzdFJlc3BvbmRlcjsKKy0g
KHZvaWQpc2VsZWN0aW9uQ2hhbmdlZDsKKy0gKHZvaWQpc2V0R2VzdHVyZVJlY29nbml6ZXJzOwor
LSAodm9pZCl3aWxsU3RhcnRTY3JvbGxpbmdPclpvb21pbmdQYWdlOworLSAodm9pZCl3aWxsU3Rh
cnRTY3JvbGxpbmdPdmVyZmxvdzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dS
ZWN0IHNlbGVjdGlvbkZyYW1lOworQGVuZAorI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplclNQ
SS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSVdlYlRvdWNoRXZlbnRzR2Vz
dHVyZVJlY29nbml6ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5j
OGIzZmZkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lv
cy9VSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXJTUEkuaApAQCAtMCwwICsxLDc4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgorICogUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuIAorICovCisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvVUlXZWJUb3VjaEV2ZW50c0dlc3R1
cmVSZWNvZ25pemVyLmg+CisjZWxzZQorI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXpl
ci5oPgorI2ltcG9ydCA8VUlLaXQvVUlUb3VjaC5oPgorCitAcHJvdG9jb2wgVUlXZWJUb3VjaEV2
ZW50c0dlc3R1cmVSZWNvZ25pemVyRGVsZWdhdGUKKy0gKEJPT0wpaXNBbnlUb3VjaE92ZXJBY3Rp
dmVBcmVhOihOU1NldCAqKXRvdWNoZXM7CistIChCT09MKXNob3VsZElnbm9yZVdlYlRvdWNoOwor
QGVuZAorCit0eXBlZGVmIGVudW0geworICAgIFVJV2ViVG91Y2hFdmVudFRvdWNoQmVnaW4gPSAw
LAorICAgIFVJV2ViVG91Y2hFdmVudFRvdWNoQ2hhbmdlID0gMSwKKyAgICBVSVdlYlRvdWNoRXZl
bnRUb3VjaEVuZCA9IDIsCisgICAgVUlXZWJUb3VjaEV2ZW50VG91Y2hDYW5jZWwgPSAzLAorfSBV
SVdlYlRvdWNoRXZlbnRUeXBlOworCitzdHJ1Y3QgX1VJV2ViVG91Y2hQb2ludCB7CisgICAgQ0dQ
b2ludCBsb2NhdGlvbkluU2NyZWVuQ29vcmRpbmF0ZXM7CisgICAgQ0dQb2ludCBsb2NhdGlvbklu
RG9jdW1lbnRDb29yZGluYXRlczsKKyAgICB1bnNpZ25lZCBpZGVudGlmaWVyOworICAgIFVJVG91
Y2hQaGFzZSBwaGFzZTsKKyAgICBDR0Zsb2F0IG1ham9yUmFkaXVzSW5TY3JlZW5Db29yZGluYXRl
czsKK307CisKK3N0cnVjdCBfVUlXZWJUb3VjaEV2ZW50IHsKKyAgICBVSVdlYlRvdWNoRXZlbnRU
eXBlIHR5cGU7CisgICAgTlNUaW1lSW50ZXJ2YWwgdGltZXN0YW1wOworICAgIENHUG9pbnQgbG9j
YXRpb25JblNjcmVlbkNvb3JkaW5hdGVzOworICAgIENHUG9pbnQgbG9jYXRpb25JbkRvY3VtZW50
Q29vcmRpbmF0ZXM7CisgICAgQ0dGbG9hdCBzY2FsZTsKKyAgICBDR0Zsb2F0IHJvdGF0aW9uOwor
CisgICAgYm9vbCBpbkphdmFTY3JpcHRHZXN0dXJlOworCisgICAgc3RydWN0IF9VSVdlYlRvdWNo
UG9pbnQqIHRvdWNoUG9pbnRzOworICAgIHVuc2lnbmVkIHRvdWNoUG9pbnRDb3VudDsKK307CisK
K0BpbnRlcmZhY2UgVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyIDogVUlHZXN0dXJl
UmVjb2duaXplcgorCitAZW5kCisKK0BpbnRlcmZhY2UgVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVS
ZWNvZ25pemVyIChEZXRhaWxzKQorLSAoaWQpaW5pdFdpdGhUYXJnZXQ6KGlkKXRhcmdldCBhY3Rp
b246KFNFTClhY3Rpb24gdG91Y2hEZWxlZ2F0ZTooaWQgPFVJV2ViVG91Y2hFdmVudHNHZXN0dXJl
UmVjb2duaXplckRlbGVnYXRlPilkZWxlZ2F0ZTsKK0Bwcm9wZXJ0eShub25hdG9taWMsIGdldHRl
cj1pc0RlZmF1bHRQcmV2ZW50ZWQpIEJPT0wgZGVmYXVsdFByZXZlbnRlZDsKK0Bwcm9wZXJ0eShu
b25hdG9taWMsIHJlYWRvbmx5KSBCT09MIGluSmF2YVNjcmlwdEdlc3R1cmU7CitAcHJvcGVydHko
bm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2ludCBsb2NhdGlvbkluV2luZG93OworQHByb3BlcnR5
KG5vbmF0b21pYywgcmVhZG9ubHkpIFVJV2ViVG91Y2hFdmVudFR5cGUgdHlwZTsKK0Bwcm9wZXJ0
eShub25hdG9taWMsIHJlYWRvbmx5KSBjb25zdCBzdHJ1Y3QgX1VJV2ViVG91Y2hFdmVudCAqbGFz
dFRvdWNoRXZlbnQ7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvVUlXaW5kb3dTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvVUlXaW5kb3dTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5h
MGE1OWQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lv
cy9VSVdpbmRvd1NQSS5oCkBAIC0wLDAgKzEsMzUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICog
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUKKyAqIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4gCisgKi8KKworI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3cuaD4KKworI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRl
Lmg+CisjZW5kaWYKKworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgVUlXaW5kb3dEaWRNb3ZlVG9T
Y3JlZW5Ob3RpZmljYXRpb247CitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBVSVdpbmRvd0RpZFJv
dGF0ZU5vdGlmaWNhdGlvbjsKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IFVJV2luZG93TmV3U2Ny
ZWVuVXNlckluZm9LZXk7IAorZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgVUlXaW5kb3dXaWxsUm90
YXRlTm90aWZpY2F0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9YUENTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvWFBDU1BJLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjhjYjFlMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvWFBDU1BJLmgKQEAgLTAsMCAr
MSwxNTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8KKwor
I2lmbmRlZiBYUENTUElfaAorI2RlZmluZSBYUENTUElfaAorCisjaW5jbHVkZSA8ZGlzcGF0Y2gv
ZGlzcGF0Y2guaD4KKyNpbmNsdWRlIDxvcy9vYmplY3QuaD4KKworI2lmIFBMQVRGT1JNKE1BQykg
fHwgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPHhwYy94cGMuaD4KKyNlbHNlCisK
KyNpZiBPU19PQkpFQ1RfVVNFX09CSkMKK09TX09CSkVDVF9ERUNMKHhwY19vYmplY3QpOwordHlw
ZWRlZiB4cGNfb2JqZWN0X3QgeHBjX2Nvbm5lY3Rpb25fdDsKKworc3RhdGljIGlubGluZSBfX2F0
dHJpYnV0ZV9fKChfX2Fsd2F5c19pbmxpbmVfXykpIHZvaWQgX3hwY19vYmplY3RfdmFsaWRhdGUo
eHBjX29iamVjdF90IG9iamVjdCkKK3sKKyAgICB2b2lkICppc2EgPSAqKHZvaWQgKiB2b2xhdGls
ZSAqKShPU19PQkpFQ1RfQlJJREdFIHZvaWQgKilvYmplY3Q7CisgICAgKHZvaWQpaXNhOworfQor
I2RlZmluZSBYUENfR0xPQkFMX09CSkVDVChvYmplY3QpICgoT1NfT0JKRUNUX0JSSURHRSB4cGNf
b2JqZWN0X3QpJihvYmplY3QpKQorI2Vsc2UKK3R5cGVkZWYgdm9pZCogeHBjX29iamVjdF90Owor
dHlwZWRlZiB2b2lkKiB4cGNfY29ubmVjdGlvbl90OworI2RlZmluZSBYUENfR0xPQkFMX09CSkVD
VChvYmplY3QpICgmKG9iamVjdCkpCisjZW5kaWYgLy8gT1NfT0JKRUNUX1VTRV9PQkpDCisKK3R5
cGVkZWYgY29uc3Qgc3RydWN0IF94cGNfdHlwZV9zKiB4cGNfdHlwZV90OworI2RlZmluZSBYUENf
VFlQRSh0eXBlKSBjb25zdCBzdHJ1Y3QgX3hwY190eXBlX3MgdHlwZQorCisjaWYgX19CTE9DS1Nf
XwordHlwZWRlZiBib29sICheeHBjX2FycmF5X2FwcGxpZXJfdCkoc2l6ZV90IGluZGV4LCB4cGNf
b2JqZWN0X3QpOwordHlwZWRlZiB2b2lkICheeHBjX2hhbmRsZXJfdCkoeHBjX29iamVjdF90KTsK
KyNlbmRpZgorCit0eXBlZGVmIHZvaWQgKCp4cGNfY29ubmVjdGlvbl9oYW5kbGVyX3QpKHhwY19j
b25uZWN0aW9uX3QgY29ubmVjdGlvbik7CisKKyNkZWZpbmUgWFBDX0FSUkFZX0FQUEVORCAoKHNp
emVfdCkoLTEpKQorCisjZGVmaW5lIFhQQ19FUlJPUl9URVJNSU5BVElPTl9JTU1JTkVOVCBYUENf
R0xPQkFMX09CSkVDVChfeHBjX2Vycm9yX3Rlcm1pbmF0aW9uX2ltbWluZW50KQorZXh0ZXJuIGNv
bnN0IHN0cnVjdCBfeHBjX2RpY3Rpb25hcnlfcyBfeHBjX2Vycm9yX3Rlcm1pbmF0aW9uX2ltbWlu
ZW50OworCisjZGVmaW5lIFhQQ19FUlJPUl9DT05ORUNUSU9OX0lOVkFMSUQgWFBDX0dMT0JBTF9P
QkpFQ1QoX3hwY19lcnJvcl9jb25uZWN0aW9uX2ludmFsaWQpCitleHRlcm4gY29uc3Qgc3RydWN0
IF94cGNfZGljdGlvbmFyeV9zIF94cGNfZXJyb3JfY29ubmVjdGlvbl9pbnZhbGlkOworCisjZGVm
aW5lIFhQQ19UWVBFX0FSUkFZICgmX3hwY190eXBlX2FycmF5KQorZXh0ZXJuIFhQQ19UWVBFKF94
cGNfdHlwZV9hcnJheSk7CisKKyNkZWZpbmUgWFBDX1RZUEVfQk9PTCAoJl94cGNfdHlwZV9ib29s
KQorZXh0ZXJuIFhQQ19UWVBFKF94cGNfdHlwZV9ib29sKTsKKworI2RlZmluZSBYUENfVFlQRV9E
SUNUSU9OQVJZICgmX3hwY190eXBlX2RpY3Rpb25hcnkpCitleHRlcm4gWFBDX1RZUEUoX3hwY190
eXBlX2RpY3Rpb25hcnkpOworCisjZGVmaW5lIFhQQ19UWVBFX0VSUk9SICgmX3hwY190eXBlX2Vy
cm9yKQorZXh0ZXJuIFhQQ19UWVBFKF94cGNfdHlwZV9lcnJvcik7CisKKyNkZWZpbmUgWFBDX1RZ
UEVfU1RSSU5HICgmX3hwY190eXBlX3N0cmluZykKK2V4dGVybiBYUENfVFlQRShfeHBjX3R5cGVf
c3RyaW5nKTsKKworI2VuZGlmIC8vIFBMQVRGT1JNKE1BQykgfHwgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW5jbHVkZSA8eHBjL3ByaXZh
dGUuaD4KKyNlbmRpZgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlm
CisKK2V4dGVybiB4cGNfb2JqZWN0X3QgeHBjX2FycmF5X2NyZWF0ZShjb25zdCB4cGNfb2JqZWN0
X3QqLCBzaXplX3QgY291bnQpOworI2lmIF9fQkxPQ0tTX18KK2V4dGVybiBib29sIHhwY19hcnJh
eV9hcHBseSh4cGNfb2JqZWN0X3QsIHhwY19hcnJheV9hcHBsaWVyX3QpOworI2VuZGlmCitleHRl
cm4gc2l6ZV90IHhwY19hcnJheV9nZXRfY291bnQoeHBjX29iamVjdF90KTsKK2V4dGVybiBjb25z
dCBjaGFyKiB4cGNfYXJyYXlfZ2V0X3N0cmluZyh4cGNfb2JqZWN0X3QsIHNpemVfdCBpbmRleCk7
CitleHRlcm4gdm9pZCB4cGNfYXJyYXlfc2V0X3N0cmluZyh4cGNfb2JqZWN0X3QsIHNpemVfdCBp
bmRleCwgY29uc3QgY2hhciogc3RyaW5nKTsKK2V4dGVybiBib29sIHhwY19ib29sX2dldF92YWx1
ZSh4cGNfb2JqZWN0X3QpOworZXh0ZXJuIHhwY19jb25uZWN0aW9uX3QgeHBjX2Nvbm5lY3Rpb25f
Y3JlYXRlKGNvbnN0IGNoYXIqIG5hbWUsIGRpc3BhdGNoX3F1ZXVlX3QpOworZXh0ZXJuIHBpZF90
IHhwY19jb25uZWN0aW9uX2dldF9waWQoeHBjX2Nvbm5lY3Rpb25fdCk7CitleHRlcm4gdm9pZCB4
cGNfY29ubmVjdGlvbl9yZXN1bWUoeHBjX2Nvbm5lY3Rpb25fdCk7CitleHRlcm4gdm9pZCB4cGNf
Y29ubmVjdGlvbl9zZW5kX21lc3NhZ2UoeHBjX2Nvbm5lY3Rpb25fdCwgeHBjX29iamVjdF90KTsK
K2V4dGVybiB2b2lkIHhwY19jb25uZWN0aW9uX3NlbmRfbWVzc2FnZV93aXRoX3JlcGx5KHhwY19j
b25uZWN0aW9uX3QsIHhwY19vYmplY3RfdCwgZGlzcGF0Y2hfcXVldWVfdCwgeHBjX2hhbmRsZXJf
dCk7CitleHRlcm4gdm9pZCB4cGNfY29ubmVjdGlvbl9zZXRfZXZlbnRfaGFuZGxlcih4cGNfY29u
bmVjdGlvbl90LCB4cGNfaGFuZGxlcl90KTsKK2V4dGVybiB2b2lkIHhwY19jb25uZWN0aW9uX3Nl
dF90YXJnZXRfcXVldWUoeHBjX2Nvbm5lY3Rpb25fdCwgZGlzcGF0Y2hfcXVldWVfdCk7CitleHRl
cm4geHBjX29iamVjdF90IHhwY19kaWN0aW9uYXJ5X2NyZWF0ZShjb25zdCBjaGFyKiAgY29uc3Qq
IGtleXMsIGNvbnN0IHhwY19vYmplY3RfdCosIHNpemVfdCBjb3VudCk7CitleHRlcm4geHBjX29i
amVjdF90IHhwY19kaWN0aW9uYXJ5X2NyZWF0ZV9yZXBseSh4cGNfb2JqZWN0X3QpOworZXh0ZXJu
IGludCB4cGNfZGljdGlvbmFyeV9kdXBfZmQoeHBjX29iamVjdF90LCBjb25zdCBjaGFyKiBrZXkp
OworZXh0ZXJuIHhwY19jb25uZWN0aW9uX3QgeHBjX2RpY3Rpb25hcnlfZ2V0X3JlbW90ZV9jb25u
ZWN0aW9uKHhwY19vYmplY3RfdCk7CitleHRlcm4gYm9vbCB4cGNfZGljdGlvbmFyeV9nZXRfYm9v
bCh4cGNfb2JqZWN0X3QsIGNvbnN0IGNoYXIqIGtleSk7CitleHRlcm4gY29uc3QgY2hhciogeHBj
X2RpY3Rpb25hcnlfZ2V0X3N0cmluZyh4cGNfb2JqZWN0X3QsIGNvbnN0IGNoYXIqIGtleSk7Citl
eHRlcm4gdWludDY0X3QgeHBjX2RpY3Rpb25hcnlfZ2V0X3VpbnQ2NCh4cGNfb2JqZWN0X3QsIGNv
bnN0IGNoYXIqIGtleSk7CitleHRlcm4geHBjX29iamVjdF90IHhwY19kaWN0aW9uYXJ5X2dldF92
YWx1ZSh4cGNfb2JqZWN0X3QsIGNvbnN0IGNoYXIqIGtleSk7CitleHRlcm4gdm9pZCB4cGNfZGlj
dGlvbmFyeV9zZXRfYm9vbCh4cGNfb2JqZWN0X3QsIGNvbnN0IGNoYXIqIGtleSwgYm9vbCB2YWx1
ZSk7CitleHRlcm4gdm9pZCB4cGNfZGljdGlvbmFyeV9zZXRfZmQoeHBjX29iamVjdF90LCBjb25z
dCBjaGFyKiBrZXksIGludCBmZCk7CitleHRlcm4gdm9pZCB4cGNfZGljdGlvbmFyeV9zZXRfc3Ry
aW5nKHhwY19vYmplY3RfdCwgY29uc3QgY2hhcioga2V5LCBjb25zdCBjaGFyKiBzdHJpbmcpOwor
ZXh0ZXJuIHZvaWQgeHBjX2RpY3Rpb25hcnlfc2V0X3VpbnQ2NCh4cGNfb2JqZWN0X3QsIGNvbnN0
IGNoYXIqIGtleSwgdWludDY0X3QgdmFsdWUpOworZXh0ZXJuIHZvaWQgeHBjX2RpY3Rpb25hcnlf
c2V0X3ZhbHVlKHhwY19vYmplY3RfdCwgY29uc3QgY2hhciprZXksIHhwY19vYmplY3RfdCB2YWx1
ZSk7CitleHRlcm4geHBjX3R5cGVfdCB4cGNfZ2V0X3R5cGUoeHBjX29iamVjdF90KTsKK2V4dGVy
biB2b2lkIHhwY19tYWluKHhwY19jb25uZWN0aW9uX2hhbmRsZXJfdCk7CitleHRlcm4geHBjX29i
amVjdF90IHhwY19yZXRhaW4oeHBjX29iamVjdF90KTsKK2V4dGVybiB2b2lkIHhwY19yZWxlYXNl
KHhwY19vYmplY3RfdCk7CitleHRlcm4gY29uc3QgY2hhciogeHBjX3N0cmluZ19nZXRfc3RyaW5n
X3B0cih4cGNfb2JqZWN0X3QpOworZXh0ZXJuIHZvaWQgeHBjX3RyYW5zYWN0aW9uX2JlZ2luKHZv
aWQpOworCisjaWYgIWRlZmluZWQoeHBjX3JldGFpbikgJiYgT1NfT0JKRUNUX1VTRV9PQkpDX1JF
VEFJTl9SRUxFQVNFCisjZGVmaW5lIHhwY19yZXRhaW4ob2JqZWN0KSAoeyB4cGNfb2JqZWN0X3Qg
X28gPSAob2JqZWN0KTsgX3hwY19vYmplY3RfdmFsaWRhdGUoX28pOyBbX28gcmV0YWluXTsgfSkK
KyNlbmRpZgorCisjaWYgIWRlZmluZWQoeHBjX3JlbGVhc2UpICYmIE9TX09CSkVDVF9VU0VfT0JK
Q19SRVRBSU5fUkVMRUFTRQorI2RlZmluZSB4cGNfcmVsZWFzZShvYmplY3QpICh7IHhwY19vYmpl
Y3RfdCBfbyA9IChvYmplY3QpOyBfeHBjX29iamVjdF92YWxpZGF0ZShfbyk7IFtfbyByZWxlYXNl
XTsgfSkKKyNlbmRpZgorCisvLyBUaGUgZm9sbG93aW5nIGV4dGVybnMgYXJlIGZyb20gPHhwYy9w
cml2YXRlLmg+LgorZXh0ZXJuIHhwY19vYmplY3RfdCB4cGNfY29ubmVjdGlvbl9jb3B5X2VudGl0
bGVtZW50X3ZhbHVlKHhwY19jb25uZWN0aW9uX3QsIGNvbnN0IGNoYXIqIGVudGl0bGVtZW50KTsK
K2V4dGVybiB2b2lkIHhwY19jb25uZWN0aW9uX2dldF9hdWRpdF90b2tlbih4cGNfY29ubmVjdGlv
bl90LCBhdWRpdF90b2tlbl90Kik7CitleHRlcm4gdm9pZCB4cGNfY29ubmVjdGlvbl9raWxsKHhw
Y19jb25uZWN0aW9uX3QsIGludCk7CitleHRlcm4gdm9pZCB4cGNfY29ubmVjdGlvbl9zZXRfaW5z
dGFuY2UoeHBjX2Nvbm5lY3Rpb25fdCwgdXVpZF90KTsKK2V4dGVybiBtYWNoX3BvcnRfdCB4cGNf
ZGljdGlvbmFyeV9jb3B5X21hY2hfc2VuZCh4cGNfb2JqZWN0X3QsIGNvbnN0IGNoYXIqKTsKK2V4
dGVybiB2b2lkIHhwY19kaWN0aW9uYXJ5X3NldF9tYWNoX3NlbmQoeHBjX29iamVjdF90LCBjb25z
dCBjaGFyKiwgbWFjaF9wb3J0X3QpOworCisjaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTAwMAorZXh0ZXJuIHZvaWQgeHBjX2Nvbm5lY3Rp
b25fc2V0X2Jvb3RzdHJhcCh4cGNfY29ubmVjdGlvbl90IGNvbm5lY3Rpb24sIHhwY19vYmplY3Rf
dCBib290c3RyYXApOworI2VuZGlmCisKKyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisK
KyNlbmRpZiAvLyBYUENTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0v
c3BpL2lvcy9fVUlCYWNrZHJvcFZpZXdTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvX1VJQmFja2Ryb3BWaWV3U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMC4uYmE5NzVkYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvX1VJQmFja2Ryb3BWaWV3U1BJLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMn
JyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVAorICog
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVS
TkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L19VSUJhY2tkcm9wVmlld19Qcml2YXRlLmg+CisjZWxz
ZQorI2ltcG9ydCA8VUlLaXQvVUlWaWV3Lmg+CisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIs
IF9VSUJhY2tkcm9wVmlld1N0eWxlUHJpdmF0ZSkgeworICAgIF9VSUJhY2tkcm9wVmlld1N0eWxl
X0xpZ2h0ID0gMjAyMCwKK307CisKK0BpbnRlcmZhY2UgX1VJQmFja2Ryb3BWaWV3IDogVUlWaWV3
CitAZW5kCisKK0BpbnRlcmZhY2UgX1VJQmFja2Ryb3BWaWV3IChfVUlCYWNrZHJvcFZpZXdEZXRh
aWxzKQorLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoUHJpdmF0ZVN0eWxlOihfVUlCYWNrZHJvcFZp
ZXdTdHlsZVByaXZhdGUpc3R5bGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nLCByZWFk
b25seSkgVUlWaWV3ICpjb250ZW50VmlldzsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9fVUlIaWdobGlnaHRWaWV3U1BJLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL19VSUhpZ2hsaWdodFZpZXdTUEkuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43M2QyYTI1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9fVUlIaWdobGlnaHRWaWV3U1BJLmgKQEAg
LTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUgorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAq
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAq
LworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPFVJS2l0L19VSUhpZ2hs
aWdodFZpZXcuaD4KKyNlbHNlCisjaW1wb3J0IDxVSUtpdC9VSVZpZXcuaD4KKworQGludGVyZmFj
ZSBfVUlIaWdobGlnaHRWaWV3IDogVUlWaWV3CisKK0BlbmQKKworQGludGVyZmFjZSBfVUlIaWdo
bGlnaHRWaWV3IChEZXRhaWxzKQorLSAodm9pZClzZXRDb2xvcjooVUlDb2xvciAqKWFDb2xvcjsK
Ky0gKHZvaWQpc2V0Q29ybmVyUmFkaWk6KE5TQXJyYXkgKiljb3JuZXJSYWRpaTsKKy0gKHZvaWQp
c2V0Q29ybmVyUmFkaXVzOihDR0Zsb2F0KWFDb3JuZXJSYWRpdXM7CistICh2b2lkKXNldEZyYW1l
czooTlNBcnJheSAqKWZyYW1lcyBib3VuZGFyeVJlY3Q6KENHUmVjdClhQm91bmRhclJlY3Q7Cist
ICh2b2lkKXNldFF1YWRzOihOU0FycmF5ICopcXVhZHMgYm91bmRhcnlSZWN0OihDR1JlY3QpYUJv
dW5kYXJ5UmVjdDsKK0BlbmQKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9fVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uU1BJLmggYi9T
b3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL19VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRy
YW5zaXRpb25TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi42N2VhNTJk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9fVUlO
YXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uU1BJLmgKQEAgLTAsMCArMSw1MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAqIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLiAKKyAqLworCisvKiNpZiBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvX1VJTmF2aWdhdGlvbkludGVyYWN0aXZl
VHJhbnNpdGlvbi5oPgorI2Vsc2UqLworI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXpl
ci5oPgorI2ltcG9ydCA8VUlLaXQvVUlQYW5HZXN0dXJlUmVjb2duaXplci5oPgorI2ltcG9ydCA8
VUlLaXQvVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25pbmcuaD4KKworQGNsYXNzIF9VSU5hdmln
YXRpb25QYXJhbGxheFRyYW5zaXRpb247CitAcHJvdG9jb2wgX1VJTmF2aWdhdGlvbkludGVyYWN0
aXZlVHJhbnNpdGlvbkJhc2VEZWxlZ2F0ZTsKKworVUlLSVRfRVhURVJOIEBpbnRlcmZhY2UgX1VJ
TmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2UgOiBVSVBlcmNlbnREcml2ZW5JbnRl
cmFjdGl2ZVRyYW5zaXRpb24gPFVJR2VzdHVyZVJlY29nbml6ZXJEZWxlZ2F0ZT4KK0BlbmQKKwor
QGludGVyZmFjZSBfVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSAoX1VJTmF2
aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2VEZXRhaWxzKQorLSAoaWQpaW5pdFdpdGhH
ZXN0dXJlUmVjb2duaXplclZpZXc6KFVJVmlldyAqKWdlc3R1cmVSZWNvZ25pemVyVmlldyBhbmlt
YXRvcjooaWQ8VUlWaWV3Q29udHJvbGxlckFuaW1hdGVkVHJhbnNpdGlvbmluZz4pYW5pbWF0b3Ig
ZGVsZWdhdGU6KGlkPF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlRGVsZWdh
dGU+KWRlbGVnYXRlOworCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBCT09MIHNob3Vs
ZFJldmVyc2VUcmFuc2xhdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4pIF9VSU5h
dmlnYXRpb25QYXJhbGxheFRyYW5zaXRpb24gKmFuaW1hdGlvbkNvbnRyb2xsZXI7CitAZW5kCisK
K0Bwcm90b2NvbCBfVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZURlbGVnYXRl
IDxOU09iamVjdD4KKy0gKHZvaWQpc3RhcnRJbnRlcmFjdGl2ZVRyYW5zaXRpb246KF9VSU5hdmln
YXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFuc2l0aW9uOwor
LSAoQk9PTClzaG91bGRCZWdpbkludGVyYWN0aXZlVHJhbnNpdGlvbjooX1VJTmF2aWdhdGlvbklu
dGVyYWN0aXZlVHJhbnNpdGlvbkJhc2UgKilpbnRlcmFjdGl2ZVRyYW5zaXRpb247CistIChCT09M
KWludGVyYWN0aXZlVHJhbnNpdGlvbjooX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlv
bkJhc2UgKilpbnRlcmFjdGl2ZVRyYW5zaXRpb24gZ2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVy
ZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplciBzaG91bGRSZWNvZ25pemVTaW11bHRhbmVv
dXNseVdpdGhHZXN0dXJlUmVjb2duaXplcjooVUlHZXN0dXJlUmVjb2duaXplciAqKW90aGVyR2Vz
dHVyZVJlY29nbml6ZXI7CistIChCT09MKWludGVyYWN0aXZlVHJhbnNpdGlvbjooX1VJTmF2aWdh
dGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2UgKilpbnRlcmFjdGl2ZVRyYW5zaXRpb24gZ2Vz
dHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplciBz
aG91bGRSZWNlaXZlVG91Y2g6KFVJVG91Y2ggKil0b3VjaDsKKy0gKFVJUGFuR2VzdHVyZVJlY29n
bml6ZXIgKilnZXN0dXJlUmVjb2duaXplckZvckludGVyYWN0aXZlVHJhbnNpdGlvbjooX1VJTmF2
aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2UgKilpbnRlcmFjdGl2ZVRyYW5zaXRpb24g
V2l0aFRhcmdldDooaWQpdGFyZ2V0IGFjdGlvbjooU0VMKWFjdGlvbjsKK0BlbmQKKy8vI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL19VSU5hdmlnYXRp
b25QYXJhbGxheFRyYW5zaXRpb25TUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9p
b3MvX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvblNQSS5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAuLjYyNGI5OWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL19VSU5hdmlnYXRpb25QYXJhbGxheFRyYW5zaXRpb25TUEku
aApAQCAtMCwwICsxLDM4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKKyAqIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCisgKiBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UgorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWQorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyAqIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
IAorICovCisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VUlLaXQvX1VJ
TmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbi5oPgorI2Vsc2UKKyNpbXBvcnQgIlVJVmlld0Nv
bnRyb2xsZXJUcmFuc2l0aW9uaW5nU1BJLmgiCisjaW1wb3J0IDxVSUtpdC9VSU5hdmlnYXRpb25D
b250cm9sbGVyLmg+CisKK0BpbnRlcmZhY2UgX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlv
biA6IE5TT2JqZWN0IDxVSVZpZXdDb250cm9sbGVyQW5pbWF0ZWRUcmFuc2l0aW9uaW5nRXg+CitA
ZW5kCisKK0BpbnRlcmZhY2UgX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbiAoX1VJTmF2
aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbkRldGFpbHMpCistIChpbnN0YW5jZXR5cGUpIGluaXRX
aXRoQ3VycmVudE9wZXJhdGlvbjooVUlOYXZpZ2F0aW9uQ29udHJvbGxlck9wZXJhdGlvbilvcGVy
YXRpb247CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJTUEkuaCBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNz
R2VzdHVyZVJlY29nbml6ZXJTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li44MjZmNTNhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9fVUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplclNQSS5oCkBAIC0w
LDAgKzEsMzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4gCisgKi8K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisjaW1wb3J0IDxVSUtpdC9fVUlXZWJIaWdo
bGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplci5oPgorI2Vsc2UKKyNpbXBvcnQgPFVJS2l0
L1VJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaD4KKworQGludGVyZmFjZSBfVUlXZWJIaWdo
bGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciA6IFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29n
bml6ZXIKK0BlbmQKKworQGludGVyZmFjZSBfVUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJl
UmVjb2duaXplciAoX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJEZXRh
aWxzKQorLSAodm9pZCljYW5jZWw7CitAZW5kCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0KaW5kZXggODhlMDRhMC4uN2Uy
ZjM0NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9pb3MvRG93
bmxvYWRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9pb3MvRG93
bmxvYWRJT1MubW0KQEAgLTI5LDcgKzI5LDYgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBv
cnQgIkRhdGFSZWZlcmVuY2UuaCIKLSNpbXBvcnQgPENGTmV0d29yay9DRlVSTERvd25sb2FkLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jl
c291cmNlRXJyb3IuaD4KICNpbXBvcnQgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KQEAgLTM3
LDEwICszNiwxNSBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogI2ltcG9ydCA8d3RmL1J1
bkxvb3AuaD4KIAorI2lmIFVTRShDRk5FVFdPUkspCisjaW1wb3J0IDxDRk5ldHdvcmsvQ0ZVUkxE
b3dubG9hZC5oPgorI2VuZGlmCisKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3Bh
Y2UgV2ViS2l0IHsKIAorI2lmIFVTRShDRk5FVFdPUkspCiAvLyBGSVhNRTogSWYgcG9zc2libGUs
IHdlIHNob3VsZCBjb25zaWRlciBtb3Zpbmcgc29tZSBjYWxsYmFja3Mgb2ZmIHRoZSBtYWluIHRo
cmVhZCBvciBhdCBsZWFzdAogLy8gbWFraW5nIHRoZW0gYXN5bmNob25vdXMgY2FsbHMuCiBzdGF0
aWMgdm9pZCBkaXNwYXRjaE9uTWFpblRocmVhZCh2b2lkKF5ibG9jaykoKSkKQEAgLTEyMSw2ICsx
MjUsNyBAQCBzdGF0aWMgdm9pZCBzZXRVcERvd25sb2FkQ2xpZW50KENGVVJMRG93bmxvYWRDbGll
bnQmIGNsaWVudCwgRG93bmxvYWQmIGRvd25sb2FkKQogICAgICAgICB9KTsKICAgICB9OwogfQor
I2VuZGlmIC8vIFVTRShDRk5FVFdPUkspCiAKIHZvaWQgRG93bmxvYWQ6OnN0YXJ0KCkKIHsKQEAg
LTEyOSw5ICsxMzQsMTMgQEAgdm9pZCBEb3dubG9hZDo6c3RhcnQoKQogCiB2b2lkIERvd25sb2Fk
OjpzdGFydFdpdGhIYW5kbGUoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgY29uc3QgUmVzb3VyY2VS
ZXNwb25zZSYgcmVzcG9uc2UpCiB7CisjaWYgVVNFKENGTkVUV09SSykKICAgICBDRlVSTERvd25s
b2FkQ2xpZW50IGNsaWVudDsKICAgICBzZXRVcERvd25sb2FkQ2xpZW50KGNsaWVudCwgKnRoaXMp
OwogICAgIG1fZG93bmxvYWQgPSBhZG9wdENGKENGVVJMRG93bmxvYWRDcmVhdGVBbmRTdGFydFdp
dGhMb2FkaW5nQ29ubmVjdGlvbihOVUxMLCBoYW5kbGUtPnJlbGVhc2VDb25uZWN0aW9uRm9yRG93
bmxvYWQoKS5nZXQoKSwgbV9yZXF1ZXN0LmNmVVJMUmVxdWVzdChVcGRhdGVIVFRQQm9keSksIHJl
c3BvbnNlLmNmVVJMUmVzcG9uc2UoKSwgJmNsaWVudCkpOworI2Vsc2UKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworI2VuZGlmCiB9CiAKIHZvaWQgRG93bmxvYWQ6OmNhbmNlbCgpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvTGVnYWN5UHJv
Y2Vzcy9DaGlsZFByb2Nlc3NFbnRyeVBvaW50Lm1tIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Vu
dHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xlZ2FjeVByb2Nlc3MvQ2hpbGRQcm9jZXNzRW50cnlQb2lu
dC5tbQppbmRleCAxM2YzMDZlLi4wOWYwYzhmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NF
bnRyeVBvaW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0
aWVzL21hYy9MZWdhY3lQcm9jZXNzL0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW0KQEAgLTI2LDgg
KzI2LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiQ2hpbGRQcm9jZXNzRW50cnlQ
b2ludC5oIgogCisjaW1wb3J0ICJCb290c3RyYXBTUEkuaCIKICNpbXBvcnQgPG1hY2gvbWFjaF9l
cnJvci5oPgotI2ltcG9ydCA8c2VydmVycy9ib290c3RyYXAuaD4KICNpbXBvcnQgPHN0ZGlvLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9t
YWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZpY2UvWFBDU2VydmljZUVudHJ5UG9p
bnQuaAppbmRleCA1NjY0YTZmLi4yNGMyOWQ5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQ
b2ludC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21h
Yy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50LmgKQEAgLTI4LDYgKzI4LDcgQEAKIAog
I2ltcG9ydCAiQ2hpbGRQcm9jZXNzLmgiCiAjaW1wb3J0ICJXZWJLaXQySW5pdGlhbGl6ZS5oIgor
I2ltcG9ydCAiWFBDU1BJLmgiCiAjaW1wb3J0IDx3dGYvT1NPYmplY3RQdHIuaD4KIAogI2lmIEhB
VkUoVk9VQ0hFUlMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2lu
dFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlRW50cnlQb2ludC5tbSBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9YUENTZXJ2aWNlL1hQQ1Nl
cnZpY2VFbnRyeVBvaW50Lm1tCmluZGV4IDE2OTdlZTkuLmJkNjI4MzIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9YUENTZXJ2aWNlL1hQ
Q1NlcnZpY2VFbnRyeVBvaW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBv
aW50VXRpbGl0aWVzL21hYy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VFbnRyeVBvaW50Lm1tCkBAIC0y
NywxNSArMjcsOSBAQAogCiAjaW1wb3J0ICJBcmd1bWVudENvZGVyc0NGLmgiCiAjaW1wb3J0ICJT
YW5kYm94VXRpbGl0aWVzLmgiCisjaW1wb3J0ICJYUENTUEkuaCIKICNpbXBvcnQgIlhQQ1NlcnZp
Y2VFbnRyeVBvaW50LmgiCiAKLSNpZiBfX2hhc19pbmNsdWRlKDx4cGMvcHJpdmF0ZS5oPikKLSNp
bXBvcnQgPHhwYy9wcml2YXRlLmg+Ci0jZWxzZQotZXh0ZXJuICJDIiB4cGNfb2JqZWN0X3QgeHBj
X2Nvbm5lY3Rpb25fY29weV9lbnRpdGxlbWVudF92YWx1ZSh4cGNfY29ubmVjdGlvbl90IGNvbm5l
Y3Rpb24sIGNvbnN0IGNoYXIgKmVudGl0bGVtZW50KTsKLWV4dGVybiAiQyIgbWFjaF9wb3J0X3Qg
eHBjX2RpY3Rpb25hcnlfY29weV9tYWNoX3NlbmQoeHBjX29iamVjdF90LCBjb25zdCBjaGFyKik7
Ci0jZW5kaWYKLQogbmFtZXNwYWNlIFdlYktpdCB7CiAKIFhQQ1NlcnZpY2VJbml0aWFsaXplckRl
bGVnYXRlOjp+WFBDU2VydmljZUluaXRpYWxpemVyRGVsZWdhdGUoKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZpY2UvWFBD
U2VydmljZU1haW4uRGV2ZWxvcG1lbnQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQ
b2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5EZXZlbG9wbWVudC5t
bQppbmRleCAyYTk3M2I1Li5lMWNkZTk3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5EZXZl
bG9wbWVudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGll
cy9tYWMvWFBDU2VydmljZS9YUENTZXJ2aWNlTWFpbi5EZXZlbG9wbWVudC5tbQpAQCAtMjUsNiAr
MjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAorI2ltcG9ydCAiWFBDU1BJLmgiCiAjaW1w
b3J0IDxjcnRfZXh0ZXJucy5oPgogI2ltcG9ydCA8ZGxmY24uaD4KICNpbXBvcnQgPG1hY2gtby9k
eWxkLmg+CkBAIC0zMiw3ICszMyw2IEBACiAjaW1wb3J0IDxzdGRpby5oPgogI2ltcG9ydCA8c3Rk
bGliLmg+CiAjaW1wb3J0IDx3dGYvT1NPYmplY3RQdHIuaD4KLSNpbXBvcnQgPHhwYy94cGMuaD4K
IAogbmFtZXNwYWNlIFdlYktpdCB7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJl
ZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9YUENTZXJ2aWNlL1hQQ1NlcnZpY2VNYWluLm1tIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZpY2Uv
WFBDU2VydmljZU1haW4ubW0KaW5kZXggYjY2ZjIzMS4uNDNhOTQ3MiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL1hQQ1NlcnZpY2UvWFBD
U2VydmljZU1haW4ubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGls
aXRpZXMvbWFjL1hQQ1NlcnZpY2UvWFBDU2VydmljZU1haW4ubW0KQEAgLTI1LDkgKzI1LDkgQEAK
IAogI2ltcG9ydCAiY29uZmlnLmgiCiAKKyNpbXBvcnQgIlhQQ1NQSS5oIgogI2ltcG9ydCA8Q29y
ZUZvdW5kYXRpb24vQ29yZUZvdW5kYXRpb24uaD4KICNpbXBvcnQgPHd0Zi9PU09iamVjdFB0ci5o
PgotI2ltcG9ydCA8eHBjL3hwYy5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tIGIv
U291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tCmluZGV4
IDBlODcxNmYuLjg3ZDdlODAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3Mv
TmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9z
L05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0KQEAgLTI2LDEwICsyNiwxMCBAQAogI2ltcG9ydCAi
Y29uZmlnLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJUb3VjaEV2ZW50LmgiCiAKLSNpZiBQTEFURk9S
TShJT1MpCisjaWYgUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQorI2ltcG9y
dCAiVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyU1BJLmgiCiAjaW1wb3J0ICJXZWJF
dmVudC5oIgogI2ltcG9ydCA8VUlLaXQvVUlUb3VjaC5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJU
b3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ludFBvaW50
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL05TR2VvbWV0cnlTUEkuaD4KICNpbXBvcnQgPHd0Zi9DdXJy
ZW50VGltZS5oPgpAQCAtOTcsNCArOTcsNCBAQCBOYXRpdmVXZWJUb3VjaEV2ZW50OjpOYXRpdmVX
ZWJUb3VjaEV2ZW50KGNvbnN0IF9VSVdlYlRvdWNoRXZlbnQqIGV2ZW50KQogCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyNlbmRpZiAvLyBQTEFURk9S
TShJT1MpICYmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVk
L21hYy9TYW5kYm94VXRpbGl0aWVzLmNwcAppbmRleCBlNzE0YTg2Li5hNmEwYzk5IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5jcHAKQEAgLTMyLDYg
KzMyLDcgQEAKICNpZiBfX2hhc19pbmNsdWRlKDxzYW5kYm94L3ByaXZhdGUuaD4pCiAjaW1wb3J0
IDxzYW5kYm94L3ByaXZhdGUuaD4KICNlbHNlCisjaW5jbHVkZSA8c3lzL3BhcmFtLmg+CiBlbnVt
IHNhbmRib3hfZmlsdGVyX3R5cGUgewogICAgIFNBTkRCT1hfRklMVEVSX05PTkUsCiB9OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCA5
ZmRmYmRlLi40NzFlNGEyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlldy5tbQpAQCAtNzgsMjMgKzc4LDIzIEBACiAjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CiAKICNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0ICJfV0tGcmFtZUhhbmRsZUludGVy
bmFsLmgiCi0jaW1wb3J0ICJfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCIKKyNpbXBvcnQgIkNB
Q29udGV4dFNQSS5oIgorI2ltcG9ydCAiQ0FSZW5kZXJTZXJ2ZXJTUEkuaCIKKyNpbXBvcnQgIkNH
UERGRG9jdW1lbnRTUEkuaCIKICNpbXBvcnQgIlByaW50SW5mby5oIgogI2ltcG9ydCAiUHJvY2Vz
c1Rocm90dGxlci5oIgogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5o
IgogI2ltcG9ydCAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIgorI2ltcG9ydCAi
VUlEZXZpY2VTUEkuaCIKKyNpbXBvcnQgIlVJUGVyaXBoZXJhbEhvc3RTUEkuaCIKKyNpbXBvcnQg
IlVJV2luZG93U1BJLmgiCiAjaW1wb3J0ICJXS1BERlZpZXcuaCIKICNpbXBvcnQgIldLU2Nyb2xs
Vmlldy5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCIKICNp
bXBvcnQgIldlYlBhZ2VNZXNzYWdlcy5oIgotI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0NHUERGRG9j
dW1lbnRQcml2YXRlLmg+CisjaW1wb3J0ICJfV0tGcmFtZUhhbmRsZUludGVybmFsLmgiCisjaW1w
b3J0ICJfV0tXZWJWaWV3UHJpbnRGb3JtYXR0ZXIuaCIKICNpbXBvcnQgPFVJS2l0L1VJQXBwbGlj
YXRpb24uaD4KLSNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJ
S2l0L1VJUGVyaXBoZXJhbEhvc3RfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3df
UHJpdmF0ZS5oPgotI2ltcG9ydCA8UXVhcnR6Q29yZS9DQVJlbmRlclNlcnZlci5oPgotI2ltcG9y
dCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9DQUxh
eWVyU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NHRmxvYXRTUEkuaD4KICNpbXBvcnQgPFdlYkNv
cmUvSW5zcGVjdG9yT3ZlcmxheS5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4IDFlZmExODUuLmIzNDcwNzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlld0ludGVybmFsLmgKQEAgLTMxLDEwICszMSwxMCBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQorI2ltcG9ydCAiVUlTY3JvbGxWaWV3U1BJLmgiCiAj
aW1wb3J0ICJXS0NvbnRlbnRWaWV3LmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rp
b24uaCIKICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVNj
cm9sbFZpZXdfUHJpdmF0ZS5oPgogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS1ZpZXdJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS1ZpZXdJT1MubW0KaW5kZXggZjZmMGM5NS4u
NDEyYTkyNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tW
aWV3SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lP
Uy5tbQpAQCAtMjksNiArMjksOCBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiUmVt
b3RlTGF5ZXJUcmVlVHJhbnNhY3Rpb24uaCIKKyNpbXBvcnQgIlVJUGVyaXBoZXJhbEhvc3RTUEku
aCIKKyNpbXBvcnQgIlVJU2Nyb2xsVmlld1NQSS5oIgogI2ltcG9ydCAiVmlld0dlc3R1cmVDb250
cm9sbGVyLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdD
b250ZXh0R3JvdXBQcml2YXRlLmgiCkBAIC0zNiwxMSArMzgsNyBAQAogI2ltcG9ydCAiV0tQcm9j
ZXNzR3JvdXBQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1Njcm9sbFZpZXcuaCIKICNpbXBvcnQgIldL
QVBJQ2FzdC5oIgotI2ltcG9ydCA8VUlLaXQvVUlJbWFnZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxV
SUtpdC9VSVBlcmlwaGVyYWxIb3N0X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJU2NyZWVu
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVNjcm9sbFZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlL
aXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2lu
ZyBuYW1lc3BhY2UgV2ViS2l0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCA1ZmU4ZTdmLi43
NTNlYjhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFj
L1Byb2Nlc3NMYXVuY2hlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQpAQCAtMjYsMTQgKzI2LDE1IEBACiAjaW1w
b3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlByb2Nlc3NMYXVuY2hlci5oIgogCisjaW1wb3J0ICJC
b290c3RyYXBTUEkuaCIKICNpbXBvcnQgIkR5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rv
ci5oIgogI2ltcG9ydCAiRW52aXJvbm1lbnRWYXJpYWJsZXMuaCIKKyNpbXBvcnQgIlhQQ1NQSS5o
IgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJD
b3JlTlNTdHJpbmdFeHRyYXMuaD4KICNpbXBvcnQgPGNydF9leHRlcm5zLmg+CiAjaW1wb3J0IDxt
YWNoLW8vZHlsZC5oPgogI2ltcG9ydCA8bWFjaC9tYWNoaW5lLmg+Ci0jaW1wb3J0IDxzZXJ2ZXJz
L2Jvb3RzdHJhcC5oPgogI2ltcG9ydCA8c3Bhd24uaD4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgog
I2ltcG9ydCA8c3lzL3N0YXQuaD4KQEAgLTQzLDI1ICs0NCwxMSBAQAogI2ltcG9ydCA8d3RmL1Ro
cmVhZGluZy5oPgogI2ltcG9ydCA8d3RmL3RleHQvQ1N0cmluZy5oPgogI2ltcG9ydCA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+Ci0jaW1wb3J0IDx4cGMveHBjLmg+Ci0KLSNpZiBfX2hhc19pbmNsdWRl
KDx4cGMvcHJpdmF0ZS5oPikKLSNpbXBvcnQgPHhwYy9wcml2YXRlLmg+Ci0jZW5kaWYKLQotLy8g
RklYTUU6IFdlIHNob3VsZCBiZSBkb2luZyB0aGlzIGFub3RoZXIgd2F5LgotZXh0ZXJuICJDIiBr
ZXJuX3JldHVybl90IGJvb3RzdHJhcF9yZWdpc3RlcjIobWFjaF9wb3J0X3QsIG5hbWVfdCwgbWFj
aF9wb3J0X3QsIHVpbnQ2NF90KTsKLQotZXh0ZXJuICJDIiB2b2lkIHhwY19jb25uZWN0aW9uX3Nl
dF9pbnN0YW5jZSh4cGNfY29ubmVjdGlvbl90LCB1dWlkX3QpOwotZXh0ZXJuICJDIiB2b2lkIHhw
Y19kaWN0aW9uYXJ5X3NldF9tYWNoX3NlbmQoeHBjX29iamVjdF90LCBjb25zdCBjaGFyKiwgbWFj
aF9wb3J0X3QpOwogCiAjaWYgUExBVEZPUk0oSU9TKSB8fCBfX01BQ19PU19YX1ZFUlNJT05fTUlO
X1JFUVVJUkVEID49IDEwMTAwMAotZXh0ZXJuICJDIiB2b2lkIHhwY19jb25uZWN0aW9uX3NldF9i
b290c3RyYXAoeHBjX2Nvbm5lY3Rpb25fdCBjb25uZWN0aW9uLCB4cGNfb2JqZWN0X3QgYm9vdHN0
cmFwKTsKLQogLy8gRklYTUU6IFNvZnQgbGlua2luZyBpcyB0ZW1wb3JhcnksIG1ha2UgdGhpcyBp
bnRvIGEgcmVndWxhciBmdW5jdGlvbiBjYWxsIG9uY2UgdGhpcyBmdW5jdGlvbiBpcyBhdmFpbGFi
bGUgZXZlcnl3aGVyZSB3ZSBuZWVkLgogU09GVF9MSU5LX0ZSQU1FV09SSyhDb3JlRm91bmRhdGlv
bikKIFNPRlRfTElOS19PUFRJT05BTChDb3JlRm91bmRhdGlvbiwgX0NGQnVuZGxlU2V0dXBYUENC
b290c3RyYXAsIHZvaWQsIHVudXNlZCwgKHhwY19vYmplY3RfdCkpCi0KICNlbmRpZgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9OZXR3
b3JrL05ldHdvcmtQcm9jZXNzUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05l
dHdvcmsvTmV0d29ya1Byb2Nlc3NQcm94eS5jcHAKaW5kZXggZTZkMDY5ZC4uNmU4YmQ0MiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NQ
cm94eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NQcm94eS5jcHAKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
c01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViQ29udGV4dC5oIgogI2luY2x1ZGUgIldlYlByb2Nl
c3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIlhQQ1NQSS5oIgogI2luY2x1ZGUgPHd0Zi9SdW5Mb29w
Lmg+CiAKICNpZiBFTkFCTEUoU0VDX0lURU1fU0hJTSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDQ0Yjg2NDEuLjg4M2Q5ZGYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJ
T1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElP
Uy5tbQpAQCAtMzUsNiArMzUsNyBAQAogI2ltcG9ydCAiSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0
UG9zaXRpb24uaCIKICNpbXBvcnQgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKICNpbXBvcnQg
Ik5hdmlnYXRpb25TdGF0ZS5oIgorI2ltcG9ydCAiVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJTUEku
aCIKICNpbXBvcnQgIlZpZXdTbmFwc2hvdFN0b3JlLmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3
LmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIKQEAgLTQ3LDggKzQ4LDYg
QEAKICNpbXBvcnQgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQ
cm94eS5oIgogI2ltcG9ydCAiX1dLRG93bmxvYWRJbnRlcm5hbC5oIgotI2ltcG9ydCA8VUlLaXQv
VUlJbWFnZVBpY2tlckNvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJU
b3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxl
bWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCmluZGV4IGUzNDRiMzMuLjY2ZTQxZGYgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1Mu
bW0KQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAotI2ltcG9ydCA8QXNz
ZXJ0aW9uU2VydmljZXMvQktTUHJvY2Vzc0Fzc2VydGlvbi5oPgorI2ltcG9ydCAiQktTUHJvY2Vz
c0Fzc2VydGlvblNQSS5oIgogI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbi5oPgogCiAjaWYg
IVBMQVRGT1JNKElPU19TSU1VTEFUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KaW5kZXggM2Qz
NzI3Yy4uNDgzNmY5NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9T
bWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tbQpAQCAtNDEsNyArNDEsNyBA
QAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3Rp
YyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgogCi0jaW1wb3J0IDxVSUtpdC9V
SUtpdF9Qcml2YXRlLmg+CisjaW1wb3J0ICJVSURldmljZVNQSS5oIgogCiAjcHJhZ21hIGNsYW5n
IGRpYWdub3N0aWMgcG9wCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvVmlld0dlc3R1cmVDb250cm9sbGVySU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KaW5kZXggOGZlOWE2ZS4uMWQ0MWU2NyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRy
b2xsZXJJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVy
ZUNvbnRyb2xsZXJJT1MubW0KQEAgLTI4LDYgKzI4LDkgQEAKIAogI2lmIFBMQVRGT1JNKElPUykK
IAorI2ltcG9ydCAiX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvblNQSS5oIgorI2lt
cG9ydCAiX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvblNQSS5oIgorI2ltcG9ydCAiVUlW
aWV3Q29udHJvbGxlclRyYW5zaXRpb25pbmdTUEkuaCIKICNpbXBvcnQgIlZpZXdHZXN0dXJlQ29u
dHJvbGxlck1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJWaWV3R2VzdHVyZUdlb21ldHJ5Q29sbGVjdG9y
TWVzc2FnZXMuaCIKICNpbXBvcnQgIlZpZXdTbmFwc2hvdFN0b3JlLmgiCkBAIC0zOCwxMiArNDEs
NyBAQAogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHku
aCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgotI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFy
dHpDb3JlUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5FZGdlUGFuR2VzdHVyZVJl
Y29nbml6ZXIuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uaW5n
X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2du
aXplci5oPgotI2ltcG9ydCA8VUlLaXQvX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlv
bi5oPgotI2ltcG9ydCA8VUlLaXQvX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbi5oPgog
I2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KICNpbXBvcnQgPHd0Zi9OZXZlckRlc3Ryb3ll
ZC5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9u
U2hlZXQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXQubW0K
aW5kZXggYmQ4YjdiNi4uNWMwYmMyNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XS0FjdGlvblNoZWV0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV0tBY3Rpb25TaGVldC5tbQpAQCAtMjgsOSArMjgsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9T
KQogCisjaW1wb3J0ICJVSVdpbmRvd1NQSS5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLmgiCi0jaW1wb3J0IDxVSUtpdC9VSUFsZXJ0Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CiAKIEBpbXBsZW1lbnRhdGlvbiBXS0Fj
dGlvblNoZWV0IHsKICAgICBpZCA8V0tBY3Rpb25TaGVldERlbGVnYXRlPiBfc2hlZXREZWxlZ2F0
ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVl
dEFzc2lzdGFudC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0
QXNzaXN0YW50LmgKaW5kZXggMGU0YTk5YS4uYTVjM2E1NyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50LmgKQEAgLTI3LDEz
ICsyNywxMyBAQAogCiAjaW1wb3J0ICJXS0FjdGlvblNoZWV0LmgiCiAKLSNpbXBvcnQgPERhdGFE
ZXRlY3RvcnNVSS9ERERldGVjdGlvbkNvbnRyb2xsZXIuaD4KKyNpbXBvcnQgIkRERGV0ZWN0aW9u
Q29udHJvbGxlclNQSS5oIgogI2ltcG9ydCA8VUlLaXQvVUlQb3BvdmVyQ29udHJvbGxlci5oPgog
I2ltcG9ydCA8V2ViS2l0L1dLRGVjbGFyYXRpb25TcGVjaWZpZXJzLmg+CiAjaW1wb3J0IDx3dGYv
UmV0YWluUHRyLmg+CiAKLUBwcm90b2NvbCBXS0FjdGlvblNoZWV0RGVsZWdhdGU7CiBAY2xhc3Mg
V0tDb250ZW50VmlldzsKK0Bwcm90b2NvbCBXS0FjdGlvblNoZWV0RGVsZWdhdGU7CiAKIG5hbWVz
cGFjZSBXZWJLaXQgewogY2xhc3MgV2ViUGFnZVByb3h5OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1tCmluZGV4IDVjOWI0
YzMuLjBmZjIyMjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tB
Y3Rpb25TaGVldEFzc2lzdGFudC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0KQEAgLTI5LDI0ICsyOSwyOSBAQAogI2lmIFBMQVRG
T1JNKElPUykKIAogI2ltcG9ydCAiQVBJVUlDbGllbnQuaCIKKyNpbXBvcnQgIkREQWN0aW9uU1BJ
LmgiCisjaW1wb3J0ICJVSUFsZXJ0Q29udHJvbGxlclNQSS5oIgorI2ltcG9ydCAiVUlWaWV3Q29u
dHJvbGxlclNQSS5oIgogI2ltcG9ydCAiV0tBY3Rpb25TaGVldC5oIgogI2ltcG9ydCAiV0tDb250
ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQg
Il9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0VsZW1lbnRB
Y3Rpb25JbnRlcm5hbC5oIgotI2ltcG9ydCA8RGF0YURldGVjdG9yc1VJL0REQWN0aW9uLmg+Ci0j
aW1wb3J0IDxEYXRhRGV0ZWN0b3JzVUkvREREZXRlY3Rpb25Db250cm9sbGVyLmg+CiAjaW1wb3J0
IDxTYWZhcmlTZXJ2aWNlcy9TU1JlYWRpbmdMaXN0Lmg+Ci0jaW1wb3J0IDxUQ0MvVENDLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSUFsZXJ0Q29udHJvbGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0IDxVSUtp
dC9VSVZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgot
I2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2Nh
bGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL1dlYkNvcmVOU1VSTEV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3Ry
aW5nLmg+CiAKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorI2ltcG9ydCA8VENDL1RDQy5o
PgorI2Vsc2UKK3R5cGVkZWYgZW51bSB7CisgICAga1RDQ0FjY2Vzc1ByZWZsaWdodERlbmllZCA9
IDEsCit9IFRDQ0FjY2Vzc1ByZWZsaWdodFJlc3VsdDsKKyNlbmRpZgorCiBTT0ZUX0xJTktfRlJB
TUVXT1JLKFNhZmFyaVNlcnZpY2VzKQogU09GVF9MSU5LX0NMQVNTKFNhZmFyaVNlcnZpY2VzLCBT
U1JlYWRpbmdMaXN0KQogCkBAIC01NywxMSArNjIsNiBAQCBTT0ZUX0xJTktfQ09OU1RBTlQoVEND
LCBrVENDU2VydmljZVBob3RvcywgQ0ZTdHJpbmdSZWYpCiBTT0ZUX0xJTktfUFJJVkFURV9GUkFN
RVdPUksoRGF0YURldGVjdG9yc1VJKQogU09GVF9MSU5LX0NMQVNTKERhdGFEZXRlY3RvcnNVSSwg
REREZXRlY3Rpb25Db250cm9sbGVyKQogCi0vLyBGSVhNRTogVGhpcyB3aWxsIGJlIHJlbW92ZWQg
YXMgc29vbiBhcyA8cmRhcjovL3Byb2JsZW0vMTYzNDY5MTM+IGlzIGZpeGVkLgotQGludGVyZmFj
ZSBERERldGVjdGlvbkNvbnRyb2xsZXIgKFdLRERBY3Rpb25Qcml2YXRlKQotLSAoTlNBcnJheSAq
KWFjdGlvbnNGb3JBbmNob3I6KGlkKWFuY2hvciB1cmw6KE5TVVJMICopdGFyZ2V0VVJMIGZvckZy
YW1lOihpZClmcmFtZTsKLUBlbmQKLQogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIAogQGltcGxl
bWVudGF0aW9uIFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDUzMDI4NTMuLjQwM2ZjN2MgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTMyLDYg
KzMyLDcgQEAKICNpbXBvcnQgIlJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJveHkuaCIKICNp
bXBvcnQgIlJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9yUHJveHkuaCIKICNpbXBvcnQgIlNtYXJ0
TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIuaCIKKyNpbXBvcnQgIlVJV2luZG93U1BJLmgiCiAjaW1w
b3J0ICJXS0Jyb3dzaW5nQ29udGV4dENvbnRyb2xsZXJJbnRlcm5hbC5oIgogI2ltcG9ydCAiV0tC
cm93c2luZ0NvbnRleHRHcm91cFByaXZhdGUuaCIKICNpbXBvcnQgIldLSW5zcGVjdG9ySGlnaGxp
Z2h0Vmlldy5oIgpAQCAtNDYsNyArNDcsNiBAQAogI2ltcG9ydCAiV2ViUGFnZUdyb3VwLmgiCiAj
aW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPENvcmVHcmFwaGljcy9Db3Jl
R3JhcGhpY3MuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KICNpbXBvcnQg
PFdlYkNvcmUvRmxvYXRRdWFkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1lVmlldy5oPgogI2lt
cG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JPdmVybGF5Lmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAppbmRleCBjOTYz
MmI3Zi4uODUyZTgwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0zMCwxNiArMzAsMTcgQEAKICNpbXBv
cnQgIkFzc2lzdGVkTm9kZUluZm9ybWF0aW9uLmgiCiAjaW1wb3J0ICJHZXN0dXJlVHlwZXMuaCIK
ICNpbXBvcnQgIkludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmgiCisjaW1wb3J0ICJV
SUFwcGxpY2F0aW9uU1BJLmgiCisjaW1wb3J0ICJVSVdlYkZvcm1BY2Nlc3NvcnlTUEkuaCIKKyNp
bXBvcnQgIlVJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplclNQSS5oIgorI2ltcG9ydCAi
VUlUZXh0SW5wdXRTUEkuaCIKKyNpbXBvcnQgIlVJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRT
UEkuaCIKKyNpbXBvcnQgIlVJV0tTZWxlY3Rpb25Bc3Npc3RhbnRTUEkuaCIKICNpbXBvcnQgIldL
U3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5oIgogI2ltcG9ydCAiV0tBaXJQbGF5
Um91dGVQaWNrZXIuaCIKICNpbXBvcnQgIldLRmlsZVVwbG9hZFBhbmVsLmgiCiAjaW1wb3J0ICJX
S0Zvcm1QZXJpcGhlcmFsLmgiCi0jaW1wb3J0IDxVSUtpdC9VSVRleHRJbnB1dF9Qcml2YXRlLmg+
CiAjaW1wb3J0IDxVSUtpdC9VSVZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV0tTZWxlY3Rpb25B
c3Npc3RhbnQuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJV2ViRm9ybUFjY2Vzc29yeS5oPgotI2ltcG9ydCA8VUlLaXQv
VUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Nv
bG9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UXVhZC5oPgogI2ltcG9ydCA8d3RmL0Zvcndh
cmQuaD4KQEAgLTY2LDYgKzY3LDcgQEAgY2xhc3MgV2ViUGFnZVByb3h5OwogQGNsYXNzIFdlYklP
U0V2ZW50OwogQGNsYXNzIF9VSUhpZ2hsaWdodFZpZXc7CiBAY2xhc3MgX1VJV2ViSGlnaGxpZ2h0
TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXI7CitAcHJvdG9jb2wgVUlUZXh0SW5wdXRQcml2YXRl
OwogCiB0eXBlZGVmIHZvaWQgKF5VSVdLQXV0b2NvcnJlY3Rpb25Db21wbGV0aW9uSGFuZGxlciko
VUlXS0F1dG9jb3JyZWN0aW9uUmVjdHMgKnJlY3RzRm9ySW5wdXQpOwogdHlwZWRlZiB2b2lkIChe
VUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dEhhbmRsZXIpKFVJV0tBdXRvY29ycmVjdGlvbkNvbnRl
eHQgKmF1dG9jb3JyZWN0aW9uQ29udGV4dCk7CkBAIC0xNTksNyArMTYxLDkgQEAgc3RydWN0IFdL
QXV0b0NvcnJlY3Rpb25EYXRhIHsKIAogLSAodm9pZClzY3JvbGxWaWV3V2lsbFN0YXJ0UGFuT3JQ
aW5jaEdlc3R1cmU7CiAKKyNpZiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQogLSAodm9pZClfd2ViVG91
Y2hFdmVudDooY29uc3QgV2ViS2l0OjpOYXRpdmVXZWJUb3VjaEV2ZW50Jil0b3VjaEV2ZW50IHBy
ZXZlbnRzTmF0aXZlR2VzdHVyZXM6KEJPT0wpcHJldmVudHNEZWZhdWx0OworI2VuZGlmCiAtICh2
b2lkKV9jb21taXRQb3RlbnRpYWxUYXBGYWlsZWQ7CiAtICh2b2lkKV9kaWRHZXRUYXBIaWdobGln
aHRGb3JSZXF1ZXN0Oih1aW50NjRfdClyZXF1ZXN0SUQgY29sb3I6KGNvbnN0IFdlYkNvcmU6OkNv
bG9yJiljb2xvciBxdWFkczooY29uc3QgVmVjdG9yPFdlYkNvcmU6OkZsb2F0UXVhZD4mKWhpZ2hs
aWdodGVkUXVhZHMgdG9wTGVmdFJhZGl1czooY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpdG9wTGVm
dFJhZGl1cyB0b3BSaWdodFJhZGl1czooY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpdG9wUmlnaHRS
YWRpdXMgYm90dG9tTGVmdFJhZGl1czooY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpYm90dG9tTGVm
dFJhZGl1cyBib3R0b21SaWdodFJhZGl1czooY29uc3QgV2ViQ29yZTo6SW50U2l6ZSYpYm90dG9t
UmlnaHRSYWRpdXM7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
V0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KaW5kZXggNmIwZjNkZC4uN2JjODliYSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJh
Y3Rpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24ubW0KQEAgLTMyLDYgKzMyLDE3IEBACiAjaW1wb3J0ICJOYXRpdmVXZWJLZXli
b2FyZEV2ZW50LmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJUb3VjaEV2ZW50LmgiCiAjaW1wb3J0ICJT
bWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLmgiCisjaW1wb3J0ICJUSU5TU3RyaW5nRXh0cmFz
U1BJLmgiCisjaW1wb3J0ICJVSURldmljZVNQSS5oIgorI2ltcG9ydCAiVUlGb250U1BJLmgiCisj
aW1wb3J0ICJVSUdlc3R1cmVSZWNvZ25pemVyU1BJLmgiCisjaW1wb3J0ICJVSUtleWJvYXJkU1BJ
LmgiCisjaW1wb3J0ICJVSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyU1BJLmgiCisjaW1wb3J0
ICJVSVRhcEdlc3R1cmVSZWNvZ25pemVyU1BJLmgiCisjaW1wb3J0ICJVSVRleHRJbnB1dFNQSS5o
IgorI2ltcG9ydCAiVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaCIKKyNpbXBvcnQgIlVJ
Vmlld1NQSS5oIgorI2ltcG9ydCAiVUlXZWJEb2N1bWVudFZpZXdTUEkuaCIgLy8gRklYTUU6IFNo
b3VsZCBub3QgaW5jbHVkZSB0aGlzIGhlYWRlci4KICNpbXBvcnQgIldLQWN0aW9uU2hlZXRBc3Np
c3RhbnQuaCIKICNpbXBvcnQgIldLRm9ybUlucHV0Q29udHJvbC5oIgogI2ltcG9ydCAiV0tGb3Jt
U2VsZWN0Q29udHJvbC5oIgpAQCAtNDMsMjIgKzU0LDE0IEBACiAjaW1wb3J0ICJXZWJJT1NFdmVu
dEZhY3RvcnkuaCIKICNpbXBvcnQgIldlYlBhZ2VNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2ViUHJv
Y2Vzc1Byb3h5LmgiCisjaW1wb3J0ICJfVUlIaWdobGlnaHRWaWV3U1BJLmgiCisjaW1wb3J0ICJf
VUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplclNQSS5oIgogI2ltcG9ydCAi
X1dLRm9ybURlbGVnYXRlLmgiCiAjaW1wb3J0ICJfV0tGb3JtSW5wdXRTZXNzaW9uLmgiCisjaW1w
b3J0IDxDb3JlVGV4dC9DVEZvbnQuaD4KICNpbXBvcnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0
b3IuaD4KLSNpbXBvcnQgPERhdGFEZXRlY3RvcnNVSS9ERERldGVjdGlvbkNvbnRyb2xsZXIuaD4K
LSNpbXBvcnQgPFRleHRJbnB1dC9USV9OU1N0cmluZ0V4dHJhcy5oPgotI2ltcG9ydCA8VUlLaXQv
VUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUZvbnRfUHJpdmF0ZS5o
PgotI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXplcl9Qcml2YXRlLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSUtleWJvYXJkSW1wbC5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZEludGwu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJfUHJpdmF0ZS5o
PgotI2ltcG9ydCA8VUlLaXQvVUlUYXBHZXN0dXJlUmVjb2duaXplcl9Qcml2YXRlLmg+Ci0jaW1w
b3J0IDxVSUtpdC9VSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudF9Qcml2YXRlLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSVdlYkRvY3VtZW50Vmlldy5oPiAvLyBGSVhNRTogc2hvdWxkIG5vdCBpbmNsdWRl
IHRoaXMgaGVhZGVyLgotI2ltcG9ydCA8VUlLaXQvX1VJSGlnaGxpZ2h0Vmlldy5oPgotI2ltcG9y
dCA8VUlLaXQvX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvQ0dGbG9hdFNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db2xvci5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GbG9hdFF1YWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KQEAg
LTc2LDYgKzc5LDggQEAgc3RhdGljIGNvbnN0IGZsb2F0IGhpZ2hsaWdodERlbGF5ID0gMC4xMjsK
IHN0YXRpYyBjb25zdCBmbG9hdCB0YXBBbmRIb2xkRGVsYXkgID0gMC43NTsKIGNvbnN0IENHRmxv
YXQgbWluaW11bVRhcEhpZ2hsaWdodFJhZGl1cyA9IDIuMDsKIAorQGNsYXNzIFVJVGV4dElucHV0
QXJyb3dLZXlIaXN0b3J5OworCiBAaW50ZXJmYWNlIFdLVGV4dFJhbmdlIDogVUlUZXh0UmFuZ2Ug
ewogICAgIENHUmVjdCBfc3RhcnRSZWN0OwogICAgIENHUmVjdCBfZW5kUmVjdDsKQEAgLTIzMSw5
ICsyMzYsMTEgQEAgc3RhdGljIFVJV2ViU2VsZWN0aW9uTW9kZSB0b1VJV2ViU2VsZWN0aW9uTW9k
ZShXS1NlbGVjdGlvbkdyYW51bGFyaXR5IGdyYW51bGFyaXQKIAogICAgIFtzZWxmLmxheWVyIGFk
ZE9ic2VydmVyOnNlbGYgZm9yS2V5UGF0aDpAInRyYW5zZm9ybSIgb3B0aW9uczpOU0tleVZhbHVl
T2JzZXJ2aW5nT3B0aW9uSW5pdGlhbCBjb250ZXh0Om5pbF07CiAKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQogICAgIF90b3VjaEV2ZW50R2VzdHVyZVJlY29nbml6ZXIgPSBhZG9wdE5TKFtbVUlX
ZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyIGFsbG9jXSBpbml0V2l0aFRhcmdldDpzZWxm
IGFjdGlvbjpAc2VsZWN0b3IoX3dlYlRvdWNoRXZlbnRzUmVjb2duaXplZDopIHRvdWNoRGVsZWdh
dGU6c2VsZl0pOwogICAgIFtfdG91Y2hFdmVudEdlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRl
OnNlbGZdOwogICAgIFtzZWxmIGFkZEdlc3R1cmVSZWNvZ25pemVyOl90b3VjaEV2ZW50R2VzdHVy
ZVJlY29nbml6ZXIuZ2V0KCldOworI2VuZGlmCiAKICAgICBfc2luZ2xlVGFwR2VzdHVyZVJlY29n
bml6ZXIgPSBhZG9wdE5TKFtbV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyIGFs
bG9jXSBpbml0V2l0aFRhcmdldDpzZWxmIGFjdGlvbjpAc2VsZWN0b3IoX3NpbmdsZVRhcENvbW1p
dGVkOildKTsKICAgICBbX3NpbmdsZVRhcEdlc3R1cmVSZWNvZ25pemVyIHNldERlbGVnYXRlOnNl
bGZdOwpAQCAtNDU5LDYgKzQ2Niw3IEBAIHN0YXRpYyBVSVdlYlNlbGVjdGlvbk1vZGUgdG9VSVdl
YlNlbGVjdGlvbk1vZGUoV0tTZWxlY3Rpb25HcmFudWxhcml0eSBncmFudWxhcml0CiAgICAgcmV0
dXJuIFtzdXBlciByZXNpZ25GaXJzdFJlc3BvbmRlcl07CiB9CiAKKyNpZiBFTkFCTEUoVE9VQ0hf
RVZFTlRTKQogLSAodm9pZClfd2ViVG91Y2hFdmVudHNSZWNvZ25pemVkOihVSVdlYlRvdWNoRXZl
bnRzR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2duaXplcgogewogICAgIGNvbnN0IF9V
SVdlYlRvdWNoRXZlbnQqIGxhc3RUb3VjaEV2ZW50ID0gZ2VzdHVyZVJlY29nbml6ZXIubGFzdFRv
dWNoRXZlbnQ7CkBAIC00NzUsNiArNDgzLDcgQEAgc3RhdGljIFVJV2ViU2VsZWN0aW9uTW9kZSB0
b1VJV2ViU2VsZWN0aW9uTW9kZShXS1NlbGVjdGlvbkdyYW51bGFyaXR5IGdyYW51bGFyaXQKICAg
ICBpZiAobmF0aXZlV2ViVG91Y2hFdmVudC5hbGxUb3VjaFBvaW50c0FyZVJlbGVhc2VkKCkpCiAg
ICAgICAgIF9jYW5TZW5kVG91Y2hFdmVudHNBc3luY2hyb25vdXNseSA9IE5POwogfQorI2VuZGlm
CiAKIC0gKHZvaWQpX2luc3BlY3Rvck5vZGVTZWFyY2hSZWNvZ25pemVkOihVSUdlc3R1cmVSZWNv
Z25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIKIHsKQEAgLTUzMiw2ICs1NDEsNyBAQCBzdGF0aWMg
RmxvYXRRdWFkIGluZmxhdGVRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCwgZmxvYXQgaW5mbGF0
ZVNpemUpCiAgICAgcmV0dXJuIEZsb2F0UXVhZChwb2ludHNbMV0sIHBvaW50c1swXSwgcG9pbnRz
WzJdLCBwb2ludHNbM10pOwogfQogCisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIC0gKHZvaWQp
X3dlYlRvdWNoRXZlbnQ6KGNvbnN0IFdlYktpdDo6TmF0aXZlV2ViVG91Y2hFdmVudCYpdG91Y2hF
dmVudCBwcmV2ZW50c05hdGl2ZUdlc3R1cmVzOihCT09MKXByZXZlbnRzTmF0aXZlR2VzdHVyZQog
ewogICAgIGlmIChwcmV2ZW50c05hdGl2ZUdlc3R1cmUpIHsKQEAgLTUzOSw2ICs1NDksNyBAQCBz
dGF0aWMgRmxvYXRRdWFkIGluZmxhdGVRdWFkKGNvbnN0IEZsb2F0UXVhZCYgcXVhZCwgZmxvYXQg
aW5mbGF0ZVNpemUpCiAgICAgICAgIFtfdG91Y2hFdmVudEdlc3R1cmVSZWNvZ25pemVyIHNldERl
ZmF1bHRQcmV2ZW50ZWQ6WUVTXTsKICAgICB9CiB9CisjZW5kaWYKIAogc3RhdGljIGlubGluZSBi
b29sIGhpZ2hsaWdodGVkUXVhZHNBcmVTbWFsbGVyVGhhblJlY3QoY29uc3QgVmVjdG9yPEZsb2F0
UXVhZD4mIHF1YWRzLCBjb25zdCBGbG9hdFJlY3QmIHJlY3QpCiB7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92aWRlcklPU09iakNTZWN1
cml0eU9yaWdpbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tHZW9sb2NhdGlv
blByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tCmluZGV4IDliZGE3YjAuLjU4ZDBhMjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tHZW9sb2NhdGlvblBy
b3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tHZW9sb2NhdGlvblByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tCkBA
IC0yOCw4ICsyOCw4IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbXBvcnQgIlVJV2ViR2Vv
bG9jYXRpb25Qb2xpY3lEZWNpZGVyU1BJLmgiCiAjaW1wb3J0IDxGb3VuZGF0aW9uL05TVVJMLmg+
Ci0jaW1wb3J0IDxVSUtpdC9VSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlci5oPgogI2ltcG9y
dCA8VUlLaXQvVUlXaW5kb3cuaD4KICNpbXBvcnQgPFdlYkNvcmUvU2VjdXJpdHlPcmlnaW4uaD4K
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KaW5kZXggODFhZGU1YS4u
NjJmNTdlMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlBh
Z2VOdW1iZXJJbmRpY2F0b3IubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KQEAgLTI4LDExICsyOCwxMSBAQAogCiAjaWYgUExB
VEZPUk0oSU9TKQogCi0jaW1wb3J0IDxRdWFydHpDb3JlL0NBRmlsdGVyLmg+Ci0jaW1wb3J0IDxV
SUtpdC9VSUdlb21ldHJ5X1ByaXZhdGUuaD4KKyNpbXBvcnQgIkNBRmlsdGVyU1BJLmgiCisjaW1w
b3J0ICJVSUdlb21ldHJ5U1BJLmgiCisjaW1wb3J0ICJVSVZpZXdTUEkuaCIKKyNpbXBvcnQgIl9V
SUJhY2tkcm9wVmlld1NQSS5oIgogI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KLSNpbXBvcnQgPFVJ
S2l0L1VJVmlld19Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9fVUlCYWNrZHJvcFZpZXdfUHJp
dmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9DQUxheWVyU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5oCmluZGV4IDBkOWMwOTcuLjAwZTVmNmMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmgKKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaApAQCAtMjUsOCArMjUsOCBA
QAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJVSVBERlBhZ2VWaWV3U1BJLmgiCiAj
aW1wb3J0ICJXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCIKLSNpbXBvcnQgPENvcmVQREYvVUlQ
REZQYWdlVmlldy5oPgogI2ltcG9ydCA8VUlLaXQvVUlWaWV3Lmg+CiAKIEBpbnRlcmZhY2UgV0tQ
REZWaWV3IDogVUlWaWV3IDxXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIsIFVJUERGUGFnZVZpZXdE
ZWxlZ2F0ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZW
aWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KaW5kZXgg
ZGMxNDRmOS4uNDUwMzljMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XS1BERlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlZp
ZXcubW0KQEAgLTI4LDEyICsyOCwxMiBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0
ICJVSVBERkRvY3VtZW50U1BJLmgiCisjaW1wb3J0ICJVSVBERlBhZ2VTUEkuaCIKKyNpbXBvcnQg
IlVJUERGUGFnZVZpZXdTUEkuaCIKKyNpbXBvcnQgIlVJU2Nyb2xsVmlld1NQSS5oIgogI2ltcG9y
dCAiV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLmgiCiAjaW1wb3J0ICJXS1dlYlZpZXdJbnRlcm5h
bC5oIgotI2ltcG9ydCA8Q29yZVBERi9VSVBERkRvY3VtZW50Lmg+Ci0jaW1wb3J0IDxDb3JlUERG
L1VJUERGUGFnZS5oPgotI2ltcG9ydCA8Q29yZVBERi9VSVBERlBhZ2VWaWV3Lmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSVNjcm9sbFZpZXdfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFJl
Y3QuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oCmluZGV4IGNiNDBi
ZDguLjE4NWU3ZWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tT
Y3JvbGxWaWV3LmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZp
ZXcuaApAQCAtMjUsNyArMjUsMTUgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCiAjaW1wb3J0IDxVSUtpdC9VSVdlYlNjcm9sbFZpZXcuaD4KKyNl
bHNlCisjaW1wb3J0IDxVSUtpdC9VSVNjcm9sbFZpZXcuaD4KKworQGludGVyZmFjZSBVSVdlYlNj
cm9sbFZpZXcgOiBVSVNjcm9sbFZpZXcKKworQGVuZAorI2VuZGlmCiAKIEBjbGFzcyBXS1dlYlZp
ZXc7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0
aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5oCmluZGV4IGI5ZWQ3ZTcu
LjNlMjM1OGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTeW50
aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaApAQCAtMjUs
NyArMjUsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCi0jaW1wb3J0IDxVSUtpdC9VSVRhcEdl
c3R1cmVSZWNvZ25pemVyX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJVGFwR2VzdHVyZVJl
Y29nbml6ZXIuaD4KIAogQGludGVyZmFjZSBXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29n
bml6ZXIgOiBVSVRhcEdlc3R1cmVSZWNvZ25pemVyCiAtICh2b2lkKXNldEdlc3R1cmVSZWNvZ25p
emVkVGFyZ2V0OihpZCl0YXJnZXQgYWN0aW9uOihTRUwpYWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIu
bW0KaW5kZXggOGUzMzc0Yi4uZjc0Mjk4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCkBAIC0yOCwx
NiArMjgsMTYgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2ltcG9ydCAiTVBUeXBlc1NQSS5o
IgorI2ltcG9ydCAiTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0U1BJLmgiCisjaW1wb3J0
ICJNUEF1ZGlvVmlkZW9Sb3V0aW5nUG9wb3ZlckNvbnRyb2xsZXJTUEkuaCIKKyNpbXBvcnQgIlVJ
RGV2aWNlU1BJLmgiCisjaW1wb3J0ICJVSVdpbmRvd1NQSS5oIgogI2ltcG9ydCAiV0tDb250ZW50
Vmlldy5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJX
ZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPE1lZGlhUGxheWVyL01QQVZJdGVtLmg+Ci0jaW1wb3J0
IDxNZWRpYVBsYXllci9NUEF1ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hlZXQuaD4KLSNpbXBvcnQg
PE1lZGlhUGxheWVyL01QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVyQ29udHJvbGxlci5oPgogI2lt
cG9ydCA8V2ViQ29yZS9NUEFWUm91dGluZ0NvbnRyb2xsZXJTUEkuaD4KICNpbXBvcnQgPFdlYkNv
cmUvU29mdExpbmtpbmcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5o
PgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgogCiBTT0ZUX0xJTktfRlJBTUVXT1JLKE1lZGlhUGxheWVyKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0K
aW5kZXggNDZlZWRjYS4uNzViMmQ3MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tCkBAIC0zMSw2ICszMSwxMCBA
QAogI2ltcG9ydCAiQVBJQXJyYXkuaCIKICNpbXBvcnQgIkFQSURhdGEuaCIKICNpbXBvcnQgIkFQ
SVN0cmluZy5oIgorI2ltcG9ydCAiVUlEZXZpY2VTUEkuaCIKKyNpbXBvcnQgIlVJSW1hZ2VQaWNr
ZXJDb250cm9sbGVyU1BJLmgiCisjaW1wb3J0ICJVSUltYWdlU1BJLmgiCisjaW1wb3J0ICJVSVZp
ZXdDb250cm9sbGVyU1BJLmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIK
ICNpbXBvcnQgIldLRGF0YS5oIgogI2ltcG9ydCAiV0tTdHJpbmdDRi5oIgpAQCAtNDEsMTEgKzQ1
LDYgQEAKICNpbXBvcnQgPEFWRm91bmRhdGlvbi9BVkZvdW5kYXRpb24uaD4KICNpbXBvcnQgPENv
cmVNZWRpYS9Db3JlTWVkaWEuaD4KICNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9Nb2JpbGVD
b3JlU2VydmljZXMuaD4KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgot
I2ltcG9ydCA8VUlLaXQvVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9y
dCA8VUlLaXQvVUlJbWFnZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVZpZXdDb250cm9s
bGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KICNpbXBv
cnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlu
a2luZy5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYk5TRmlsZU1hbmFnZXJFeHRyYXMuaD4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250
cm9sLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENv
bnRyb2wubW0KaW5kZXggYWMwMGNlOC4uMDI4NDM2OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0KKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0KQEAgLTI4
LDE2ICsyOCwxNSBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJVSURhdGVQaWNr
ZXJTUEkuaCIKKyNpbXBvcnQgIlVJRGV2aWNlU1BJLmgiCisjaW1wb3J0ICJVSUtleWJvYXJkU1BJ
LmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3LmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24uaCIKICNpbXBvcnQgIldLRm9ybVBvcG92ZXIuaCIKICNpbXBvcnQgIldlYlBhZ2VQ
cm94eS5oIgogI2ltcG9ydCA8VUlLaXQvVUlCYXJCdXR0b25JdGVtLmg+Ci0jaW1wb3J0IDxVSUtp
dC9VSUJhckJ1dHRvbkl0ZW1fUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlEYXRlUGlja2Vy
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURhdGVQaWNrZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlL
aXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZF9Qcml2YXRl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPHd0Zi9S
ZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0Zvcm1Qb3BvdmVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS0Zvcm1Qb3BvdmVyLm1tCmluZGV4IGZjOTlhN2UuLjVkYjM4MzcgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtUG9wb3Zlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVBvcG92ZXIubW0KQEAgLTI4
LDExICsyOCwxMSBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJVSVBlcmlwaGVy
YWxIb3N0U1BJLmgiCisjaW1wb3J0ICJVSVdpbmRvd1NQSS5oIgogI2ltcG9ydCAiV0tDb250ZW50
Vmlldy5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJX
ZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPFVJS2l0L1VJUGVyaXBoZXJhbEhvc3QuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5oIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLmgKaW5kZXggZTU5YmZjOS4u
ZWNmNjk5MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S0Zvcm1TZWxlY3RDb250cm9sLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLmgKQEAgLTI5LDcgKzI5LDYgQEAKICNpbXBvcnQgIldL
Rm9ybVBlcmlwaGVyYWwuaCIKICNpbXBvcnQgIldLRm9ybVBvcG92ZXIuaCIKICNpbXBvcnQgPFVJ
S2l0L1VJUGlja2VyVmlldy5oPgotI2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3X1ByaXZhdGUu
aD4KIAogQ0dGbG9hdCBhZGp1c3RlZEZvbnRTaXplKENHRmxvYXQgdGV4dFdpZHRoLCBVSUZvbnQg
KiwgQ0dGbG9hdCBpbml0aWFsRm9udFNpemUsIGNvbnN0IFZlY3RvcjxXZWJLaXQ6Ok9wdGlvbkl0
ZW0+JiBpdGVtcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5tbQppbmRleCAxMTMyZTJhLi4zNTRiMDkwIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVj
dENvbnRyb2wubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zv
cm1TZWxlY3RDb250cm9sLm1tCkBAIC0yOCwxOCArMjgsMTAgQEAKIAogI2lmIFBMQVRGT1JNKElP
UykKIAorI2ltcG9ydCAiVUlEZXZpY2VTUEkuaCIKKyNpbXBvcnQgIlVJU3RyaW5nRHJhd2luZ1NQ
SS5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlldy5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLmgiCi0jaW1wb3J0ICJXS0Zvcm1Qb3BvdmVyLmgiCi0jaW1wb3J0ICJXZWJQYWdl
UHJveHkuaCIKLSNpbXBvcnQgPENvcmVGb3VuZGF0aW9uL0NGVW5pQ2hhci5oPgotI2ltcG9ydCA8
VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURldmljZV9Q
cml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkX1ByaXZhdGUuaD4KLSNpbXBvcnQg
PFVJS2l0L1VJUGlja2VyVmlldy5oPgotI2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3X1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJU3RyaW5nRHJhd2luZ19Qcml2YXRlLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSVdlYkZvcm1BY2Nlc3NvcnkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlja2VyLm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQaWNrZXIubW0KaW5kZXggM2Q0NGQxMC4u
ODIzMTg0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S0Zvcm1TZWxlY3RQaWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0Zvcm1TZWxlY3RQaWNrZXIubW0KQEAgLTI4LDE1ICsyOCwxNSBAQAogCiAjaWYgUExB
VEZPUk0oSU9TKQogCisjaW1wb3J0ICJVSURldmljZVNQSS5oIgorI2ltcG9ydCAiVUlLZXlib2Fy
ZFNQSS5oIgorI2ltcG9ydCAiVUlQaWNrZXJDb250ZW50Vmlld1NQSS5oIgorI2ltcG9ydCAiVUlQ
aWNrZXJWaWV3U1BJLmgiCisjaW1wb3J0ICJVSVZpZXdTUEkuaCIKICNpbXBvcnQgIldLQ29udGVu
dFZpZXcuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCAi
V0tGb3JtUG9wb3Zlci5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0IDxDb3Jl
Rm91bmRhdGlvbi9DRlVuaUNoYXIuaD4KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJp
dmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlL
aXQvVUlLZXlib2FyZF9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVBpY2tlckNvbnRlbnRW
aWV3X1ByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9y
bXMvV0tGb3JtU2VsZWN0UG9wb3Zlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGb3JtU2VsZWN0UG9wb3Zlci5tbQppbmRleCA2NzkyMGNiLi5mNDY1NWU3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBv
cG92ZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1T
ZWxlY3RQb3BvdmVyLm1tCkBAIC0yOCwyMCArMjgsMTQgQEAKIAogI2lmIFBMQVRGT1JNKElPUykK
IAorI2ltcG9ydCAiVUlBcHBsaWNhdGlvblNQSS5oIgorI2ltcG9ydCAiVUlLZXlib2FyZFNQSS5o
IgorI2ltcG9ydCAiVUlUYWJsZVZpZXdDZWxsU1BJLmgiCisjaW1wb3J0ICJVSVZpZXdTUEkuaCIK
ICNpbXBvcnQgIldLQ29udGVudFZpZXcuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oIgotI2ltcG9ydCAiV0tGb3JtUG9wb3Zlci5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCi0jaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9DRlVuaUNoYXIuaD4KLSNpbXBvcnQgPFVJS2l0
L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0
ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZF9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtp
dC9VSUtleWJvYXJkSW1wbC5oPgotI2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3Lmg+Ci0jaW1w
b3J0IDxVSUtpdC9VSVBpY2tlclZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlUYWJs
ZVZpZXdDZWxsX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJU3RyaW5nRHJhd2luZ19Qcml2
YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdlYkZvcm1BY2Nlc3NvcnkuaD4KKyNpbXBvcnQgPFVJ
S2l0L1VJVGFibGVWaWV3Q2VsbC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdz
Lmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90U3RvcmUubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvbWFjL1ZpZXdTbmFwc2hvdFN0b3JlLm1tCmluZGV4IDQ0YjM4N2YuLjE0OGM1MjAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9tYWMvVmlld1NuYXBzaG90U3Rv
cmUubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL21hYy9WaWV3U25hcHNob3RTdG9y
ZS5tbQpAQCAtMjYsMTUgKzI2LDEyIEBACiAjaW1wb3J0ICJjb25maWcuaCIKICNpbXBvcnQgIlZp
ZXdTbmFwc2hvdFN0b3JlLmgiCiAKKyNpbXBvcnQgIkNBQ29udGV4dFNQSS5oIgogI2ltcG9ydCAi
V2ViQmFja0ZvcndhcmRMaXN0LmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQg
PENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvSU9TdXJmYWNl
Lmg+CiAKLSNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmVQ
cml2YXRlLmg+Ci0jZW5kaWYKLQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKICNpZiBVU0Vf
SU9TVVJGQUNFX1ZJRVdfU05BUFNIT1RTCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggMDc0YWZjZi4uZGI2OTE3ZSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTU4
NCw2ICsxNTg0LDU5IEBACiAJCUNEQzM4MzEwMTcyMTI0NDAwMDhBMkZDMyAvKiBDb29raWVTdG9y
YWdlU2hpbS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQzM4MzBEMTcyMTI0MkQwMDhBMkZDMyAvKiBDb29raWVTdG9yYWdlU2hpbS5tbSAqLzsgfTsK
IAkJQ0RDQTg1QzgxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xs
ZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENB
ODVDNjEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSAq
LzsgfTsKIAkJQ0RDQTg1QzkxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0Nv
bnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENEQ0E4NUM3MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVy
LmggKi87IH07CisJCUNFMDhBQzUyMTlDMTQ0NkQwMDY0NDg0MyAvKiBYUENTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMDhBQzUxMTlDMTQ0NkQw
MDY0NDg0MyAvKiBYUENTUEkuaCAqLzsgfTsKKwkJQ0UyN0RDRDAxOUJFMkRERjAwM0ZCRjVDIC8q
IFVJVGFwR2VzdHVyZVJlY29nbml6ZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFMjdEQ0NDMTlCRTJDNDcwMDNGQkY1QyAvKiBVSVRhcEdlc3R1
cmVSZWNvZ25pemVyU1BJLmggKi87IH07CisJCUNFMjdEQ0QxMTlCRTJERTQwMDNGQkY1QyAvKiBf
VUlIaWdobGlnaHRWaWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTI3RENDRTE5QkUyRDg5MDAzRkJGNUMgLyogX1VJSGlnaGxpZ2h0Vmlld1NQ
SS5oICovOyB9OworCQlDRTI3RENENTE5QkUzMUFDMDAzRkJGNUMgLyogVElOU1N0cmluZ0V4dHJh
c1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0Uy
N0RDRDQxOUJFMzFBQzAwM0ZCRjVDIC8qIFRJTlNTdHJpbmdFeHRyYXNTUEkuaCAqLzsgfTsKKwkJ
Q0UyN0RDRDYxOUJFMzFBRjAwM0ZCRjVDIC8qIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRTI3RENEMjE5QkUyRUE0MDAzRkJGNUMgLyogX1VJV2ViSGlnaGxpZ2h0TG9uZ1By
ZXNzR2VzdHVyZVJlY29nbml6ZXJTUEkuaCAqLzsgfTsKKwkJQ0UyN0RDRDgxOUJFMzI3NDAwM0ZC
RjVDIC8qIFVJVGV4dEludGVyYWN0aW9uQXNzaXN0YW50U1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI3RENENzE5QkUzMjc0MDAzRkJGNUMgLyog
VUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaCAqLzsgfTsKKwkJQ0UyN0RDREExOUJFNEIw
QTAwM0ZCRjVDIC8qIFVJUGVyaXBoZXJhbEhvc3RTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMjdEQ0Q5MTlCRTRCMEEwMDNGQkY1QyAvKiBVSVBl
cmlwaGVyYWxIb3N0U1BJLmggKi87IH07CisJCUNFMjdEQ0RDMTlCRTREQzUwMDNGQkY1QyAvKiBV
SVNjcm9sbFZpZXdTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFMjdEQ0RCMTlCRTREQzUwMDNGQkY1QyAvKiBVSVNjcm9sbFZpZXdTUEkuaCAqLzsg
fTsKKwkJQ0UyN0RDREUxOUJFNTAwRTAwM0ZCRjVDIC8qIF9VSUJhY2tkcm9wVmlld1NQSS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UyN0RDREQxOUJF
NTAwRTAwM0ZCRjVDIC8qIF9VSUJhY2tkcm9wVmlld1NQSS5oICovOyB9OworCQlDRTI3RENFMDE5
QkU1MEJDMDAzRkJGNUMgLyogVUlWaWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI3RENERjE5QkU1MEJDMDAzRkJGNUMgLyogVUlWaWV3U1BJ
LmggKi87IH07CisJCUNFMjdEQ0UyMTlCRTUxQzIwMDNGQkY1QyAvKiBVSUdlb21ldHJ5U1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI3RENFMTE5
QkU1MUMyMDAzRkJGNUMgLyogVUlHZW9tZXRyeVNQSS5oICovOyB9OworCQlDRTI3RENFNDE5QkU1
NTBDMDAzRkJGNUMgLyogVUlXZWJHZW9sb2NhdGlvblBvbGljeURlY2lkZXJTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMjdEQ0UzMTlCRTU1MEMw
MDNGQkY1QyAvKiBVSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlclNQSS5oICovOyB9OworCQlD
RTI3RENFNjE5QkU1NUY4MDAzRkJGNUMgLyogVUlJbWFnZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UyN0RDRTUxOUJFNTVGODAwM0ZCRjVDIC8q
IFVJSW1hZ2VTUEkuaCAqLzsgfTsKKwkJQ0UyN0RDRTgxOUJFNTg4MjAwM0ZCRjVDIC8qIFVJV2Vi
VG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplclNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UyN0RDRTcxOUJFNTg4MjAwM0ZCRjVDIC8qIFVJV2Vi
VG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplclNQSS5oICovOyB9OworCQlDRTI3RENFQTE5QkU1
RTdEMDAzRkJGNUMgLyogVUlEYXRlUGlja2VyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI3RENFOTE5QkU1RTdEMDAzRkJGNUMgLyogVUlEYXRl
UGlja2VyU1BJLmggKi87IH07CisJCUNFMjdEQ0VDMTlCRTY1MDcwMDNGQkY1QyAvKiBVSVdLVGV4
dEludGVyYWN0aW9uQXNzaXN0YW50U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRTI3RENFQjE5QkU2NTA3MDAzRkJGNUMgLyogVUlXS1RleHRJbnRl
cmFjdGlvbkFzc2lzdGFudFNQSS5oICovOyB9OworCQlDRTI3RENFRTE5QkU2NjdBMDAzRkJGNUMg
LyogVUlXS1NlbGVjdGlvbkFzc2lzdGFudFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UyN0RDRUQxOUJFNjY3QTAwM0ZCRjVDIC8qIFVJV0tTZWxl
Y3Rpb25Bc3Npc3RhbnRTUEkuaCAqLzsgfTsKKwkJQ0UyN0RDRjAxOUJFNjZFODAwM0ZCRjVDIC8q
IFVJV2ViU2VsZWN0aW9uQXNzaXN0YW50U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI3RENFRjE5QkU2NkU4MDAzRkJGNUMgLyogVUlXZWJTZWxl
Y3Rpb25Bc3Npc3RhbnRTUEkuaCAqLzsgfTsKKwkJQ0UyN0RDRjIxOUJFNjg5QTAwM0ZCRjVDIC8q
IFVJV2ViRG9jdW1lbnRWaWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRTI3RENGMTE5QkU2ODlBMDAzRkJGNUMgLyogVUlXZWJEb2N1bWVudFZp
ZXdTUEkuaCAqLzsgfTsKKwkJQ0UyN0RDRjQxOUJFNzQ2OTAwM0ZCRjVDIC8qIFVJTG9uZ1ByZXNz
R2VzdHVyZVJlY29nbml6ZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IENFMjdEQ0YzMTlCRTc0NjkwMDNGQkY1QyAvKiBVSUxvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyU1BJLmggKi87IH07CisJCUNFMjdEQ0Y2MTlCRTc2OEMwMDNGQkY1QyAvKiBf
VUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uU1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTI3RENGNTE5QkU3NjhDMDAzRkJGNUMgLyog
X1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvblNQSS5oICovOyB9OworCQlDRTI3RENG
ODE5QkU3N0UwMDAzRkJGNUMgLyogX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvblNQSS5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UyN0RDRjcx
OUJFNzdFMDAwM0ZCRjVDIC8qIF9VSU5hdmlnYXRpb25QYXJhbGxheFRyYW5zaXRpb25TUEkuaCAq
LzsgfTsKKwkJQ0UyN0RDRkExOUJFNzdFQTAwM0ZCRjVDIC8qIFVJVmlld0NvbnRyb2xsZXJUcmFu
c2l0aW9uaW5nU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBDRTI3RENGOTE5QkU3N0VBMDAzRkJGNUMgLyogVUlWaWV3Q29udHJvbGxlclRyYW5zaXRp
b25pbmdTUEkuaCAqLzsgfTsKKwkJQ0U1QUNCNDgxOUJGQ0E5NTAwNzhCMEVFIC8qIEJvb3RzdHJh
cFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U1
QUNCNDcxOUJGQ0E5NTAwNzhCMEVFIC8qIEJvb3RzdHJhcFNQSS5oICovOyB9OworCQlDRTVBQ0I0
QTE5QkZENEZDMDA3OEIwRUUgLyogQ0FDb250ZXh0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTVBQ0I0OTE5QkZENEZCMDA3OEIwRUUgLyogQ0FD
b250ZXh0U1BJLmggKi87IH07CisJCUNFNUFDQjRDMTlDMDk2MzYwMDc4QjBFRSAvKiBVSVBERlBh
Z2VWaWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRTVBQ0I0QjE5QzA5NjM2MDA3OEIwRUUgLyogVUlQREZQYWdlVmlld1NQSS5oICovOyB9Owor
CQlDRTVBQ0I0RTE5QzA5OEQ3MDA3OEIwRUUgLyogVUlQREZQYWdlU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTVBQ0I0RDE5QzA5OEQ3MDA3OEIw
RUUgLyogVUlQREZQYWdlU1BJLmggKi87IH07CisJCUNFNUFDQjUwMTlDMDlBOTgwMDc4QjBFRSAv
KiBVSVBERkRvY3VtZW50U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTVBQ0I0RjE5QzA5QTk4MDA3OEIwRUUgLyogVUlQREZEb2N1bWVudFNQSS5o
ICovOyB9OworCQlDRTVBQ0I1MjE5QzA5RDZBMDA3OEIwRUUgLyogQ0FGaWx0ZXJTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNUFDQjUxMTlDMDlE
NkEwMDc4QjBFRSAvKiBDQUZpbHRlclNQSS5oICovOyB9OworCQlDRTVBQ0I1NDE5QzBBRjRCMDA3
OEIwRUUgLyogQ0FSZW5kZXJTZXJ2ZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFNUFDQjUzMTlDMEFGNEIwMDc4QjBFRSAvKiBDQVJlbmRlclNl
cnZlclNQSS5oICovOyB9OworCQlDRTY1MERCODE5QkUxMkFCMDA2MTM1MTggLyogVUlQaWNrZXJW
aWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTY1MERCNjE5QkUxMkFCMDA2MTM1MTggLyogVUlQaWNrZXJWaWV3U1BJLmggKi87IH07CisJCUNF
NjUwREI5MTlCRTEyQUIwMDYxMzUxOCAvKiBVSVdlYkZvcm1BY2Nlc3NvcnlTUEkuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNjUwREI3MTlCRTEyQUIw
MDYxMzUxOCAvKiBVSVdlYkZvcm1BY2Nlc3NvcnlTUEkuaCAqLzsgfTsKKwkJQ0U2NTBEQkIxOUJF
MTU1RjAwNjEzNTE4IC8qIFVJQXBwbGljYXRpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNjUwREJBMTlCRTE1NUYwMDYxMzUxOCAvKiBVSUFw
cGxpY2F0aW9uU1BJLmggKi87IH07CisJCUNFNjUwREJEMTlCRTE1NjUwMDYxMzUxOCAvKiBVSVRh
YmxlVmlld0NlbGxTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFNjUwREJDMTlCRTE1NjUwMDYxMzUxOCAvKiBVSVRhYmxlVmlld0NlbGxTUEkuaCAq
LzsgfTsKKwkJQ0U2NTBEQkYxOUJFMTZCQjAwNjEzNTE4IC8qIFVJS2V5Ym9hcmRTUEkuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNjUwREJFMTlCRTE2
QkIwMDYxMzUxOCAvKiBVSUtleWJvYXJkU1BJLmggKi87IH07CisJCUNFNjUwREMxMTlCRTE5MEMw
MDYxMzUxOCAvKiBVSURldmljZVNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0U2NTBEQzAxOUJFMTkwQzAwNjEzNTE4IC8qIFVJRGV2aWNlU1BJLmgg
Ki87IH07CisJCUNFNjUwREMzMTlCRTFBQjkwMDYxMzUxOCAvKiBVSVN0cmluZ0RyYXdpbmdTUEku
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNjUwREMy
MTlCRTFBQjkwMDYxMzUxOCAvKiBVSVN0cmluZ0RyYXdpbmdTUEkuaCAqLzsgfTsKKwkJQ0U2NTBE
QzUxOUJFMUI4MzAwNjEzNTE4IC8qIFVJSW1hZ2VQaWNrZXJDb250cm9sbGVyU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTY1MERDNDE5QkUxQjgz
MDA2MTM1MTggLyogVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJTUEkuaCAqLzsgfTsKKwkJQ0U2NTBE
QzcxOUJFMURFODAwNjEzNTE4IC8qIFVJUGlja2VyQ29udGVudFZpZXdTUEkuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNjUwREM2MTlCRTFERTgwMDYx
MzUxOCAvKiBVSVBpY2tlckNvbnRlbnRWaWV3U1BJLmggKi87IH07CisJCUNFNjUwREM5MTlCRTFF
OTgwMDYxMzUxOCAvKiBVSVdpbmRvd1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0U2NTBEQzgxOUJFMUU5ODAwNjEzNTE4IC8qIFVJV2luZG93U1BJ
LmggKi87IH07CisJCUNFNjUwRENCMTlCRTIxNzkwMDYxMzUxOCAvKiBVSUFsZXJ0Q29udHJvbGxl
clNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0U2
NTBEQ0ExOUJFMjE3OTAwNjEzNTE4IC8qIFVJQWxlcnRDb250cm9sbGVyU1BJLmggKi87IH07CisJ
CUNFNjUwRENEMTlCRTIyNDIwMDYxMzUxOCAvKiBVSVZpZXdDb250cm9sbGVyU1BJLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTY1MERDQzE5QkUyMjQy
MDA2MTM1MTggLyogVUlWaWV3Q29udHJvbGxlclNQSS5oICovOyB9OworCQlDRTY1MERDRjE5QkUy
NUI1MDA2MTM1MTggLyogVUlUZXh0SW5wdXRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFNjUwRENFMTlCRTI1QjUwMDYxMzUxOCAvKiBVSVRleHRJ
bnB1dFNQSS5oICovOyB9OworCQlDRTY1MEREMTE5QkUyQTk0MDA2MTM1MTggLyogVUlGb250U1BJ
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTY1MERE
MDE5QkUyQTk0MDA2MTM1MTggLyogVUlGb250U1BJLmggKi87IH07CisJCUNFNjUwREQzMTlCRTJC
NTIwMDYxMzUxOCAvKiBVSUdlc3R1cmVSZWNvZ25pemVyU1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTY1MEREMjE5QkUyQjUyMDA2MTM1MTggLyog
VUlHZXN0dXJlUmVjb2duaXplclNQSS5oICovOyB9OworCQlDRUEzNEU5MjE5QzBCNzZCMDA0OTYx
MjcgLyogQ0dQREZEb2N1bWVudFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0VBMzRFOTAxOUMwQjc2NDAwNDk2MTI3IC8qIENHUERGRG9jdW1lbnRT
UEkuaCAqLzsgfTsKKwkJQ0VDN0JGNDAxOUMyMERDNjAwOUQwMDlEIC8qIEdyYXBoaWNzU2Vydmlj
ZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
QzdCRjNGMTlDMjBEQzYwMDlEMDA5RCAvKiBHcmFwaGljc1NlcnZpY2VzU1BJLmggKi87IH07CisJ
CUNFQzdCRjQyMTlDMjExNjcwMDlEMDA5RCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRUM3QkY0MTE5QzIx
MTY3MDA5RDAwOUQgLyogQktTUHJvY2Vzc0Fzc2VydGlvblNQSS5oICovOyB9OworCQlDRUM3QkY0
NjE5QzIxNkEwMDA5RDAwOUQgLyogTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0U1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRUM3QkY0MzE5
QzIxNkEwMDA5RDAwOUQgLyogTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0U1BJLmggKi87
IH07CisJCUNFQzdCRjQ3MTlDMjE2QTAwMDlEMDA5RCAvKiBNUEF1ZGlvVmlkZW9Sb3V0aW5nUG9w
b3ZlckNvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENFQzdCRjQ0MTlDMjE2QTAwMDlEMDA5RCAvKiBNUEF1ZGlvVmlkZW9Sb3V0aW5n
UG9wb3ZlckNvbnRyb2xsZXJTUEkuaCAqLzsgfTsKKwkJQ0VDN0JGNDgxOUMyMTZBMDAwOUQwMDlE
IC8qIE1QVHlwZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFQzdCRjQ1MTlDMjE2QTAwMDlEMDA5RCAvKiBNUFR5cGVzU1BJLmggKi87IH07CisJ
CUNFQzdCRjRCMTlDMjFCQTMwMDlEMDA5RCAvKiBEREFjdGlvblNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VDN0JGNDkxOUMyMUJBMzAwOUQwMDlE
IC8qIEREQWN0aW9uU1BJLmggKi87IH07CisJCUNFQzdCRjRDMTlDMjFCQTMwMDlEMDA5RCAvKiBE
RERldGVjdGlvbkNvbnRyb2xsZXJTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFQzdCRjRBMTlDMjFCQTMwMDlEMDA5RCAvKiBERERldGVjdGlvbkNv
bnRyb2xsZXJTUEkuaCAqLzsgfTsKIAkJQ0VEQTEyRTIxNTJDRDFBRTAwRDlFMDhEIC8qIFdlYkFs
dGVybmF0aXZlVGV4dENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRURBMTJERjE1MkNDQUU4MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVU
ZXh0Q2xpZW50LmNwcCAqLzsgfTsKIAkJQ0VEQTEyRTMxNTJDRDFCMzAwRDlFMDhEIC8qIFdlYkFs
dGVybmF0aXZlVGV4dENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0VEQTEyREUxNTJDQ0FFODAwRDlFMDhEIC8qIFdlYkFsdGVybmF0aXZlVGV4
dENsaWVudC5oICovOyB9OwogCQlEM0I5NDg0NjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBN
ZW51LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQz
Qjk0ODQyMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovOyB9OwpAQCAtMzY3
Myw2ICszNzI2LDU5IEBACiAJCUNEQ0E4NUM2MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3Jl
ZW5XaW5kb3dDb250cm9sbGVyLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBw
YXRoID0gV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0RDQTg1QzcxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tGdWxsU2Ny
ZWVuV2luZG93Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRENB
ODVENDEzMkFDMkIzMDBFOTYxREYgLyogSU9LaXQuZnJhbWV3b3JrICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5mcmFtZXdvcms7IG5hbWUg
PSBJT0tpdC5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9JT0tp
dC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07CisJCUNFMDhBQzUxMTlD
MTQ0NkQwMDY0NDg0MyAvKiBYUENTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gWFBDU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMjdEQ0NDMTlCRTJD
NDcwMDNGQkY1QyAvKiBVSVRhcEdlc3R1cmVSZWNvZ25pemVyU1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFVJVGFwR2VzdHVyZVJlY29nbml6ZXJTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0UyN0RDQ0UxOUJFMkQ4OTAwM0ZCRjVDIC8qIF9VSUhpZ2hs
aWdodFZpZXdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1VJSGlnaGxp
Z2h0Vmlld1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTI3RENEMjE5QkUy
RUE0MDAzRkJGNUMgLyogX1VJV2ViSGlnaGxpZ2h0TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1VJV2ViSGlnaGxpZ2h0TG9u
Z1ByZXNzR2VzdHVyZVJlY29nbml6ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0UyN0RDRDQxOUJFMzFBQzAwM0ZCRjVDIC8qIFRJTlNTdHJpbmdFeHRyYXNTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVElOU1N0cmluZ0V4dHJhc1NQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTI3RENENzE5QkUzMjc0MDAzRkJGNUMgLyogVUlU
ZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0UyN0RDRDkxOUJFNEIwQTAwM0ZCRjVDIC8qIFVJUGVyaXBoZXJhbEhvc3RT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlQZXJpcGhlcmFsSG9zdFNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTI3RENEQjE5QkU0REM1MDAzRkJG
NUMgLyogVUlTY3JvbGxWaWV3U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFVJU2Nyb2xsVmlld1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTI3RENE
RDE5QkU1MDBFMDAzRkJGNUMgLyogX1VJQmFja2Ryb3BWaWV3U1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IF9VSUJhY2tkcm9wVmlld1NQSS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQlDRTI3RENERjE5QkU1MEJDMDAzRkJGNUMgLyogVUlWaWV3U1BJLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJVmlld1NQSS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQlDRTI3RENFMTE5QkU1MUMyMDAzRkJGNUMgLyogVUlHZW9tZXRyeVNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSUdlb21ldHJ5U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMjdEQ0UzMTlCRTU1MEMwMDNGQkY1QyAvKiBV
SVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBVSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlclNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRTI3RENFNTE5QkU1NUY4MDAzRkJGNUMgLyogVUlJbWFnZVNQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSUltYWdlU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMjdEQ0U3MTlCRTU4ODIwMDNGQkY1QyAvKiBVSVdl
YlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMjdEQ0U5MTlCRTVFN0QwMDNGQkY1QyAvKiBVSURh
dGVQaWNrZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlEYXRlUGlj
a2VyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMjdEQ0VCMTlCRTY1MDcw
MDNGQkY1QyAvKiBVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50U1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0UyN0RDRUQxOUJFNjY3QTAwM0ZCRjVDIC8q
IFVJV0tTZWxlY3Rpb25Bc3Npc3RhbnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gVUlXS1NlbGVjdGlvbkFzc2lzdGFudFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRTI3RENFRjE5QkU2NkU4MDAzRkJGNUMgLyogVUlXZWJTZWxlY3Rpb25Bc3Npc3Rh
bnRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlXZWJTZWxlY3Rpb25B
c3Npc3RhbnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0UyN0RDRjExOUJF
Njg5QTAwM0ZCRjVDIC8qIFVJV2ViRG9jdW1lbnRWaWV3U1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFVJV2ViRG9jdW1lbnRWaWV3U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNFMjdEQ0YzMTlCRTc0NjkwMDNGQkY1QyAvKiBVSUxvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJTG9u
Z1ByZXNzR2VzdHVyZVJlY29nbml6ZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJQ0UyN0RDRjUxOUJFNzY4QzAwM0ZCRjVDIC8qIF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRy
YW5zaXRpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gX1VJTmF2aWdh
dGlvbkludGVyYWN0aXZlVHJhbnNpdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQlDRTI3RENGNzE5QkU3N0UwMDAzRkJGNUMgLyogX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJh
bnNpdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBfVUlOYXZpZ2F0
aW9uUGFyYWxsYXhUcmFuc2l0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUNFMjdEQ0Y5MTlCRTc3RUEwMDNGQkY1QyAvKiBVSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbmlu
Z1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSVZpZXdDb250cm9sbGVy
VHJhbnNpdGlvbmluZ1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTVBQ0I0
NzE5QkZDQTk1MDA3OEIwRUUgLyogQm9vdHN0cmFwU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEJvb3RzdHJhcFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQlDRTVBQ0I0OTE5QkZENEZCMDA3OEIwRUUgLyogQ0FDb250ZXh0U1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENBQ29udGV4dFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQlDRTVBQ0I0QjE5QzA5NjM2MDA3OEIwRUUgLyogVUlQREZQYWdlVmlld1NQSS5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSVBERlBhZ2VWaWV3U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNUFDQjREMTlDMDk4RDcwMDc4QjBFRSAvKiBV
SVBERlBhZ2VTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlQREZQYWdl
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNUFDQjRGMTlDMDlBOTgwMDc4
QjBFRSAvKiBVSVBERkRvY3VtZW50U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFVJUERGRG9jdW1lbnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U1
QUNCNTExOUMwOUQ2QTAwNzhCMEVFIC8qIENBRmlsdGVyU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IENBRmlsdGVyU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNFNUFDQjUzMTlDMEFGNEIwMDc4QjBFRSAvKiBDQVJlbmRlclNlcnZlclNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDQVJlbmRlclNlcnZlclNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRTY1MERCNjE5QkUxMkFCMDA2MTM1MTggLyogVUlQaWNr
ZXJWaWV3U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFVJUGlja2VyVmll
d1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTY1MERCNzE5QkUxMkFCMDA2
MTM1MTggLyogVUlXZWJGb3JtQWNjZXNzb3J5U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFVJV2ViRm9ybUFjY2Vzc29yeVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRTY1MERCQTE5QkUxNTVGMDA2MTM1MTggLyogVUlBcHBsaWNhdGlvblNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSUFwcGxpY2F0aW9uU1BJLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNjUwREJDMTlCRTE1NjUwMDYxMzUxOCAvKiBVSVRh
YmxlVmlld0NlbGxTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlUYWJs
ZVZpZXdDZWxsU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNjUwREJFMTlC
RTE2QkIwMDYxMzUxOCAvKiBVSUtleWJvYXJkU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IFVJS2V5Ym9hcmRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
Q0U2NTBEQzAxOUJFMTkwQzAwNjEzNTE4IC8qIFVJRGV2aWNlU1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFVJRGV2aWNlU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUNFNjUwREMyMTlCRTFBQjkwMDYxMzUxOCAvKiBVSVN0cmluZ0RyYXdpbmdTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlTdHJpbmdEcmF3aW5nU1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNjUwREM0MTlCRTFCODMwMDYxMzUxOCAvKiBV
SUltYWdlUGlja2VyQ29udHJvbGxlclNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBVSUltYWdlUGlja2VyQ29udHJvbGxlclNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQlDRTY1MERDNjE5QkUxREU4MDA2MTM1MTggLyogVUlQaWNrZXJDb250ZW50Vmlld1NQ
SS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBVSVBpY2tlckNvbnRlbnRWaWV3
U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFNjUwREM4MTlCRTFFOTgwMDYx
MzUxOCAvKiBVSVdpbmRvd1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBV
SVdpbmRvd1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTY1MERDQTE5QkUy
MTc5MDA2MTM1MTggLyogVUlBbGVydENvbnRyb2xsZXJTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gVUlBbGVydENvbnRyb2xsZXJTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0U2NTBEQ0MxOUJFMjI0MjAwNjEzNTE4IC8qIFVJVmlld0NvbnRyb2xsZXJT
UEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlWaWV3Q29udHJvbGxlclNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTY1MERDRTE5QkUyNUI1MDA2MTM1
MTggLyogVUlUZXh0SW5wdXRTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
VUlUZXh0SW5wdXRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U2NTBERDAx
OUJFMkE5NDAwNjEzNTE4IC8qIFVJRm9udFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBVSUZvbnRTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0U2NTBE
RDIxOUJFMkI1MjAwNjEzNTE4IC8qIFVJR2VzdHVyZVJlY29nbml6ZXJTUEkuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVUlHZXN0dXJlUmVjb2duaXplclNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRUEzNEU5MDE5QzBCNzY0MDA0OTYxMjcgLyogQ0dQREZE
b2N1bWVudFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDR1BERkRvY3Vt
ZW50U1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFQzdCRjNGMTlDMjBEQzYw
MDlEMDA5RCAvKiBHcmFwaGljc1NlcnZpY2VzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgcGF0aCA9IEdyYXBoaWNzU2VydmljZXNTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJQ0VDN0JGNDExOUMyMTE2NzAwOUQwMDlEIC8qIEJLU1Byb2Nlc3NBc3NlcnRpb25TUEku
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQktTUHJvY2Vzc0Fzc2VydGlvblNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRUM3QkY0MzE5QzIxNkEwMDA5RDAw
OUQgLyogTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0U1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1QQXVkaW9WaWRlb1JvdXRpbmdBY3Rpb25TaGVldFNQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRUM3QkY0NDE5QzIxNkEwMDA5RDAwOUQgLyog
TVBBdWRpb1ZpZGVvUm91dGluZ1BvcG92ZXJDb250cm9sbGVyU1BJLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IE1QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVyQ29udHJvbGxlclNQ
SS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRUM3QkY0NTE5QzIxNkEwMDA5RDAw
OUQgLyogTVBUeXBlc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNUFR5
cGVzU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFQzdCRjQ5MTlDMjFCQTMw
MDlEMDA5RCAvKiBEREFjdGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBEREFjdGlvblNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRUM3QkY0QTE5
QzIxQkEzMDA5RDAwOUQgLyogREREZXRlY3Rpb25Db250cm9sbGVyU1BJLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERERGV0ZWN0aW9uQ29udHJvbGxlclNQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlDRURBMTJERTE1MkNDQUU4MDBEOUUwOEQgLyogV2ViQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkFsdGVybmF0aXZlVGV4dENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RURBMTJERjE1MkNDQUU4MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkFsdGVybmF0aXZlVGV4dENs
aWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQjk0ODQyMTFGRjRCNjUw
MDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gV2ViUG9wdXBNZW51LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTYyNjMsNiArNjM2OSw3IEBACiAJCQkJMUFBMkU1MUExMkU0QzA1NjAwQkM0OTY2IC8qIGNnICov
LAogCQkJCTM3MDk1MDQyMThBODhDREUwMDg3QUU1RCAvKiBmb3VuZGF0aW9uICovLAogCQkJCTFB
N0U4MTRFMTE1MkQyMjQwMDAzNjk1QiAvKiBtYWMgKi8sCisJCQkJQ0U2NTBEQjQxOUJFMTJBQjAw
NjEzNTE4IC8qIHNwaSAqLywKIAkJCQk1MUIxNUE3RDEzODQzOUIyMDAzMjFBRDggLyogdW5peCAq
LywKIAkJCQk1MUE3RjJGNDEyNUJGOEQ0MDA4QUVCMUQgLyogTG9nZ2luZy5jcHAgKi8sCiAJCQkJ
NTFBN0YyRjIxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dpbmcuaCAqLywKQEAgLTY5MjQsNiArNzAz
MSw3NCBAQAogCQkJcGF0aCA9IEZ1bGxTY3JlZW4vbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKIAkJfTsKKwkJQ0U2NTBEQjQxOUJFMTJBQjAwNjEzNTE4IC8qIHNwaSAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0U2NTBEQjUxOUJFMTJBQjAw
NjEzNTE4IC8qIGlvcyAqLywKKwkJCSk7CisJCQlwYXRoID0gc3BpOworCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0U2NTBEQjUxOUJFMTJBQjAwNjEzNTE4IC8qIGlvcyAqLyA9
IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJQ0UyN0RDREQxOUJF
NTAwRTAwM0ZCRjVDIC8qIF9VSUJhY2tkcm9wVmlld1NQSS5oICovLAorCQkJCUNFMjdEQ0NFMTlC
RTJEODkwMDNGQkY1QyAvKiBfVUlIaWdobGlnaHRWaWV3U1BJLmggKi8sCisJCQkJQ0UyN0RDRjUx
OUJFNzY4QzAwM0ZCRjVDIC8qIF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25TUEku
aCAqLywKKwkJCQlDRTI3RENGNzE5QkU3N0UwMDAzRkJGNUMgLyogX1VJTmF2aWdhdGlvblBhcmFs
bGF4VHJhbnNpdGlvblNQSS5oICovLAorCQkJCUNFMjdEQ0QyMTlCRTJFQTQwMDNGQkY1QyAvKiBf
VUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplclNQSS5oICovLAorCQkJCUNF
QzdCRjQxMTlDMjExNjcwMDlEMDA5RCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggKi8sCisJ
CQkJQ0U1QUNCNDcxOUJGQ0E5NTAwNzhCMEVFIC8qIEJvb3RzdHJhcFNQSS5oICovLAorCQkJCUNF
NUFDQjQ5MTlCRkQ0RkIwMDc4QjBFRSAvKiBDQUNvbnRleHRTUEkuaCAqLywKKwkJCQlDRTVBQ0I1
MTE5QzA5RDZBMDA3OEIwRUUgLyogQ0FGaWx0ZXJTUEkuaCAqLywKKwkJCQlDRTVBQ0I1MzE5QzBB
RjRCMDA3OEIwRUUgLyogQ0FSZW5kZXJTZXJ2ZXJTUEkuaCAqLywKKwkJCQlDRUEzNEU5MDE5QzBC
NzY0MDA0OTYxMjcgLyogQ0dQREZEb2N1bWVudFNQSS5oICovLAorCQkJCUNFQzdCRjQ5MTlDMjFC
QTMwMDlEMDA5RCAvKiBEREFjdGlvblNQSS5oICovLAorCQkJCUNFQzdCRjRBMTlDMjFCQTMwMDlE
MDA5RCAvKiBERERldGVjdGlvbkNvbnRyb2xsZXJTUEkuaCAqLywKKwkJCQlDRUM3QkYzRjE5QzIw
REM2MDA5RDAwOUQgLyogR3JhcGhpY3NTZXJ2aWNlc1NQSS5oICovLAorCQkJCUNFQzdCRjQzMTlD
MjE2QTAwMDlEMDA5RCAvKiBNUEF1ZGlvVmlkZW9Sb3V0aW5nQWN0aW9uU2hlZXRTUEkuaCAqLywK
KwkJCQlDRUM3QkY0NDE5QzIxNkEwMDA5RDAwOUQgLyogTVBBdWRpb1ZpZGVvUm91dGluZ1BvcG92
ZXJDb250cm9sbGVyU1BJLmggKi8sCisJCQkJQ0VDN0JGNDUxOUMyMTZBMDAwOUQwMDlEIC8qIE1Q
VHlwZXNTUEkuaCAqLywKKwkJCQlDRTI3RENENDE5QkUzMUFDMDAzRkJGNUMgLyogVElOU1N0cmlu
Z0V4dHJhc1NQSS5oICovLAorCQkJCUNFNjUwRENBMTlCRTIxNzkwMDYxMzUxOCAvKiBVSUFsZXJ0
Q29udHJvbGxlclNQSS5oICovLAorCQkJCUNFNjUwREJBMTlCRTE1NUYwMDYxMzUxOCAvKiBVSUFw
cGxpY2F0aW9uU1BJLmggKi8sCisJCQkJQ0UyN0RDRTkxOUJFNUU3RDAwM0ZCRjVDIC8qIFVJRGF0
ZVBpY2tlclNQSS5oICovLAorCQkJCUNFNjUwREMwMTlCRTE5MEMwMDYxMzUxOCAvKiBVSURldmlj
ZVNQSS5oICovLAorCQkJCUNFNjUwREQwMTlCRTJBOTQwMDYxMzUxOCAvKiBVSUZvbnRTUEkuaCAq
LywKKwkJCQlDRTI3RENFMTE5QkU1MUMyMDAzRkJGNUMgLyogVUlHZW9tZXRyeVNQSS5oICovLAor
CQkJCUNFNjUwREQyMTlCRTJCNTIwMDYxMzUxOCAvKiBVSUdlc3R1cmVSZWNvZ25pemVyU1BJLmgg
Ki8sCisJCQkJQ0U2NTBEQzQxOUJFMUI4MzAwNjEzNTE4IC8qIFVJSW1hZ2VQaWNrZXJDb250cm9s
bGVyU1BJLmggKi8sCisJCQkJQ0UyN0RDRTUxOUJFNTVGODAwM0ZCRjVDIC8qIFVJSW1hZ2VTUEku
aCAqLywKKwkJCQlDRTY1MERCRTE5QkUxNkJCMDA2MTM1MTggLyogVUlLZXlib2FyZFNQSS5oICov
LAorCQkJCUNFMjdEQ0YzMTlCRTc0NjkwMDNGQkY1QyAvKiBVSUxvbmdQcmVzc0dlc3R1cmVSZWNv
Z25pemVyU1BJLmggKi8sCisJCQkJQ0U1QUNCNEYxOUMwOUE5ODAwNzhCMEVFIC8qIFVJUERGRG9j
dW1lbnRTUEkuaCAqLywKKwkJCQlDRTVBQ0I0RDE5QzA5OEQ3MDA3OEIwRUUgLyogVUlQREZQYWdl
U1BJLmggKi8sCisJCQkJQ0U1QUNCNEIxOUMwOTYzNjAwNzhCMEVFIC8qIFVJUERGUGFnZVZpZXdT
UEkuaCAqLywKKwkJCQlDRTI3RENEOTE5QkU0QjBBMDAzRkJGNUMgLyogVUlQZXJpcGhlcmFsSG9z
dFNQSS5oICovLAorCQkJCUNFNjUwREM2MTlCRTFERTgwMDYxMzUxOCAvKiBVSVBpY2tlckNvbnRl
bnRWaWV3U1BJLmggKi8sCisJCQkJQ0U2NTBEQjYxOUJFMTJBQjAwNjEzNTE4IC8qIFVJUGlja2Vy
Vmlld1NQSS5oICovLAorCQkJCUNFMjdEQ0RCMTlCRTREQzUwMDNGQkY1QyAvKiBVSVNjcm9sbFZp
ZXdTUEkuaCAqLywKKwkJCQlDRTY1MERDMjE5QkUxQUI5MDA2MTM1MTggLyogVUlTdHJpbmdEcmF3
aW5nU1BJLmggKi8sCisJCQkJQ0U2NTBEQkMxOUJFMTU2NTAwNjEzNTE4IC8qIFVJVGFibGVWaWV3
Q2VsbFNQSS5oICovLAorCQkJCUNFMjdEQ0NDMTlCRTJDNDcwMDNGQkY1QyAvKiBVSVRhcEdlc3R1
cmVSZWNvZ25pemVyU1BJLmggKi8sCisJCQkJQ0U2NTBEQ0UxOUJFMjVCNTAwNjEzNTE4IC8qIFVJ
VGV4dElucHV0U1BJLmggKi8sCisJCQkJQ0UyN0RDRDcxOUJFMzI3NDAwM0ZCRjVDIC8qIFVJVGV4
dEludGVyYWN0aW9uQXNzaXN0YW50U1BJLmggKi8sCisJCQkJQ0U2NTBEQ0MxOUJFMjI0MjAwNjEz
NTE4IC8qIFVJVmlld0NvbnRyb2xsZXJTUEkuaCAqLywKKwkJCQlDRTI3RENGOTE5QkU3N0VBMDAz
RkJGNUMgLyogVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25pbmdTUEkuaCAqLywKKwkJCQlDRTI3
RENERjE5QkU1MEJDMDAzRkJGNUMgLyogVUlWaWV3U1BJLmggKi8sCisJCQkJQ0UyN0RDRjExOUJF
Njg5QTAwM0ZCRjVDIC8qIFVJV2ViRG9jdW1lbnRWaWV3U1BJLmggKi8sCisJCQkJQ0U2NTBEQjcx
OUJFMTJBQjAwNjEzNTE4IC8qIFVJV2ViRm9ybUFjY2Vzc29yeVNQSS5oICovLAorCQkJCUNFMjdE
Q0UzMTlCRTU1MEMwMDNGQkY1QyAvKiBVSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlclNQSS5o
ICovLAorCQkJCUNFMjdEQ0VGMTlCRTY2RTgwMDNGQkY1QyAvKiBVSVdlYlNlbGVjdGlvbkFzc2lz
dGFudFNQSS5oICovLAorCQkJCUNFMjdEQ0U3MTlCRTU4ODIwMDNGQkY1QyAvKiBVSVdlYlRvdWNo
RXZlbnRzR2VzdHVyZVJlY29nbml6ZXJTUEkuaCAqLywKKwkJCQlDRTY1MERDODE5QkUxRTk4MDA2
MTM1MTggLyogVUlXaW5kb3dTUEkuaCAqLywKKwkJCQlDRTI3RENFRDE5QkU2NjdBMDAzRkJGNUMg
LyogVUlXS1NlbGVjdGlvbkFzc2lzdGFudFNQSS5oICovLAorCQkJCUNFMjdEQ0VCMTlCRTY1MDcw
MDNGQkY1QyAvKiBVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50U1BJLmggKi8sCisJCQkJQ0Uw
OEFDNTExOUMxNDQ2RDAwNjQ0ODQzIC8qIFhQQ1NQSS5oICovLAorCQkJKTsKKwkJCXBhdGggPSBp
b3M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlFMTcwODc2RDE2RDZDQTcy
MDBGOTkyMjYgLyogRmlsZUFQSSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRy
ZW4gPSAoCkBAIC03MDI5LDYgKzcyMDQsNyBAQAogCQkJCUUxNzlGRDlDMTM0RDM4MDYwMDE1Qjg4
MyAvKiBBcmd1bWVudENvZGVyc01hYy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEQTYxMEY0
MzdEMTAwNThDMTVBIC8qIEFyZ3VtZW50RGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMw
MzJEQTgxMEY0MzdEMTAwNThDMTVBIC8qIEFyZ3VtZW50RW5jb2Rlci5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0U2NTBERDExOUJFMkE5NDAwNjEzNTE4IC8qIFVJRm9udFNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkMwMzJEQTkxMEY0MzdEMTAwNThDMTVBIC8qIEFyZ3VtZW50cy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMzdCRUM0RTExOTQ5MTQ4NjAwOEI0Mjg2IC8qIENvbXBsZXRpb25IYW5kbGVy
Q2FsbENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUU5NjZEMTEyRkFGNTcwMDZCQ0My
NCAvKiBBdHRhY2htZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTcwNDYsNyArNzIyMiw5IEBACiAJ
CQkJNEY2MDE0MzIxNTVDNUFBMjAwMUZCREUwIC8qIEJsb2NraW5nUmVzcG9uc2VNYXAuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxRTM1MUNCMTgwRjJDQ0MwMEU1M0JFOSAvKiBJREJVdGlsaXRpZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzA2NUZBMTI1OTM0NEUwMEU3MTI3OCAvKiBDYWNoZU1v
ZGVsLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTI3RENFRTE5QkU2NjdBMDAzRkJGNUMgLyogVUlX
S1NlbGVjdGlvbkFzc2lzdGFudFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBMkU1MUQxMkU0
QzA1RTAwQkM0OTY2IC8qIENHVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1MERD
RDE5QkUyMjQyMDA2MTM1MTggLyogVUlWaWV3Q29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUEyRDk1NkYxMjg0ODU2NDAwMUVCOTYyIC8qIENoaWxkUHJvY2Vzcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkM4MjgzN0ExNkIzNkE0RjAwQTI3OEZFIC8qIENoaWxkUHJvY2Vzc0VudHJ5
UG9pbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNTEzQzY3MTY2RUFCQjIwMDE0OUZDQiAvKiBD
aGlsZFByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC03MDYxLDYgKzcyMzksNyBAQAog
CQkJCTFGQjAwQUM3MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdlR3Jv
dXAuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3N0VBRDQ5MTdFMkM3N0IwMDJEMTkzRCAvKiBXS1Vz
ZXJTY3JpcHRJbmplY3Rpb25UaW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNjMxNzJDRjE4QjQ2
OTQ5MDA2NUI5QzMgLyogTmF0aXZlV2ViVG91Y2hFdmVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0UyN0RDRDAxOUJFMkRERjAwM0ZCRjVDIC8qIFVJVGFwR2VzdHVyZVJlY29nbml6ZXJTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTFGNzUwNkIyMTg1OTE2M0UwMEVDMEZGNyAvKiBXS1dlYlByb2Nl
c3NQbHVnSW5IaXRUZXN0UmVzdWx0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxRjc1MDZCMTE4NTkx
NjM3MDBFQzBGRjcgLyogV0tXZWJQcm9jZXNzUGx1Z0luRnJhbWUuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDNTk1NDg5MTVDNzg2ODUwMEZEMUUzRSAvKiBXZWJLaXQyLmggaW4gSGVhZGVycyAqLywK
QEAgLTcwNzAsOSArNzI0OSwxMSBAQAogCQkJCUJDQkFBRDBCMTQ1NjBBNDMwMDUzRjgyRiAvKiBX
S0Jyb3dzaW5nQ29udGV4dExvYWREZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMjg0
RDcxNDkyRjJDNzAwMUY5MDQyIC8qIFdLQ29ubmVjdGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMwMTdEMDcxNjI2MEZGNDAwNzA1NEY1IC8qIFdLRE9NRG9jdW1lbnQuaCBpbiBIZWFkZXJzICov
LAorCQkJCUNFNjUwREM3MTlCRTFERTgwMDYxMzUxOCAvKiBVSVBpY2tlckNvbnRlbnRWaWV3U1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAxN0QwOTE2MjYwRkY0MDA3MDU0RjUgLyogV0tET01F
bGVtZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkwRkNCNEU2MjE4QkJFM0Q5MDAwRkNGQzkgLyog
UGFnZUNsaWVudEltcGwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDE3RDBEMTYyNjBGRjQwMDcw
NTRGNSAvKiBXS0RPTU5vZGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMjdEQ0VBMTlCRTVFN0Qw
MDNGQkY1QyAvKiBVSURhdGVQaWNrZXJTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMzlDNDM2
MTYyNjM2NkYwMDhCQzY4OSAvKiBXS0RPTVJhbmdlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTdF
Mzc3NTE4RTRBMzNBMDAzRDBGRkYgLyogV0tTY3JpcHRNZXNzYWdlSGFuZGxlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMjkzRUJFQUIxNjI3RDlDOTAwNUY4OUYxIC8qIFdLRE9NVGV4dC5oIGluIEhl
YWRlcnMgKi8sCkBAIC03MTAxLDYgKzcyODIsNyBAQAogCQkJCTUxNUU3NzMwMTg0MDE1ODAwMDA3
MjAzRiAvKiBVbmlxdWVJREJEYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQzRUY0NDMx
OTE3NjQ2MzAwMDM0MTg0IC8qIFdlYk1lbW9yeVByZXNzdXJlSGFuZGxlcklPUy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQjg3OEI2MTUxMzM0MjhEQzAwNjg4OEU5IC8qIENvcnJlY3Rpb25QYW5lbC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQkQxOUJFMTU2NTAwNjEzNTE4IC8qIFVJVGFibGVW
aWV3Q2VsbFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTI4QzM3QzExOTVDQkIxQTAwRDhCOUND
IC8qIFdLQmFja0ZvcndhcmRMaXN0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjk4OUE0
MTQxNjdEMTg0QjAwNEY5NkQyIC8qIEN1c3RvbVByb3RvY29sTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMjk4NEY1ODkxNjRCQTA5NTAwNEJDMEM2IC8qIEN1c3RvbVByb3RvY29sTWFuYWdl
ck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTcxMTIsNiArNzI5NCw3IEBACiAJCQkJQzU4
Q0RGMkUxODg3NjA5RjAwODcxNTM2IC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTY3RUVBMDE3MDM3N0JGMDA3NjgxQ0EgLyogTmV0d29y
a0Rpc2tDYWNoZU1vbml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxOEU4RjA4MTZCMjA5Mzcw
MEU5MTQyOSAvKiBEb3dubG9hZC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U1QUNCNEUxOUMwOThE
NzAwNzhCMEVFIC8qIFVJUERGUGFnZVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThGMEEx
NkIyMDkzNzAwRTkxNDI5IC8qIERvd25sb2FkQXV0aGVudGljYXRpb25DbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxOEU4RjBDMTZCMjA5MzcwMEU5MTQyOSAvKiBEb3dubG9hZE1hbmFnZXIu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQjdENENBMTI4OEFBQTcwMENGRDA4QyAvKiBEb3dubG9h
ZFByb3h5LmggaW4gSGVhZGVycyAqLywKQEAgLTcxMjgsNiArNzMxMSw3IEBACiAJCQkJMjZGOUE4
M0IxOEEzNDY4MTAwQUVCODhBIC8qIFdLV2ViVmlld1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAog
CQkJCTBGQ0I0RTQ4MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0FjdGlvblNoZWV0LmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTY0MjI5QTEyREQwMjkyMDBDQUFFMkMgLyogRHJhd2luZ0FyZWFNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQjgxOUJFMTJBQjAwNjEzNTE4IC8qIFVJUGlj
a2VyVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCQzNERjYxODk5RTQzNzAwNEYwNjI2
IC8qIE5hdmlnYXRpb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyNjUyMTcxMTgyNjA4
MTAwMjQzRTEyIC8qIERyYXdpbmdBcmVhUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNjQy
MzA5MTJERDA5RUIwMENBQUUyQyAvKiBEcmF3aW5nQXJlYVByb3h5TWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLApAQCAtNzE0NCw4ICs3MzI4LDEwIEBACiAJCQkJMUFCQzNERkMxODk5RjUxQzAwNEYw
NjI2IC8qIFdLTmF2aWdhdGlvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU1MkY5
MjE5MjAxREE3MDBBMUZBMzcgLyogQVBJQ29udGV4dENvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDMzYxRDczMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFu
ZGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RDREUxOUJFNTAwRTAwM0ZCRjVDIC8qIF9V
SUJhY2tkcm9wVmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTEwNUZFNTQxOEQ3QjlERTAw
OEY1N0E4IC8qIEVkaXRpbmdSYW5nZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQxNDBFQjAxOEYz
N0JFMDAwNUU3NUEwIC8qIFBhZ2VPdmVybGF5Q29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJQ0U1QUNCNTIxOUMwOUQ2QTAwNzhCMEVFIC8qIENBRmlsdGVyU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzE3NzUzRjExOEJBQkYwMDA3RDlFOUEgLyogR2VuZXJpY0NhbGxiYWNrLmggaW4g
SGVhZGVycyAqLywKIAkJCQkzNzlBODczNjE4QkJGQTQzMDA1ODhBRjIgLyogX1dLQWN0aXZhdGVk
RWxlbWVudEluZm9JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwNkY0MkYxMkRCQjlC
NjAwMkQ3OERFIC8qIEdlb2xvY2F0aW9uUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLywKQEAgLTcxODYsMTggKzczNzIsMjMgQEAKIAkJCQkxQTlFMzI4OTE4MjE2MzY5MDBG
NUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
NjU0RUZFMTg0RUYzM0YwMDdEQzgzNyAvKiBVbmlxdWVJREJEYXRhYmFzZUJhY2tpbmdTdG9yZVNR
TGl0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMzM0UwRDExMjQwOEU4NjAwMzYwRjNGIC8qIElu
amVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMjdEQ0U2MTlC
RTU1RjgwMDNGQkY1QyAvKiBVSUltYWdlU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlBMTE1REM3
MjE5MUQ4MkRBMDBEQTgwNzIgLyogX1dLV2ViVmlld1ByaW50Rm9ybWF0dGVyLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwRkNCNEU2MDE4QkJFM0Q5MDAwRkNGQzkgLyogRmluZEluZGljYXRvcldpbmRv
dy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VBMzRFOTIxOUMwQjc2QjAwNDk2MTI3IC8qIENHUERG
RG9jdW1lbnRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMTRERjc3MTIwQjVCNzkwMDgyNkMw
QyAvKiBJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Iw
QjBERTEyMzA1QThDMDBCMTM0MUUgLyogSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFNDlBNDkxMUZGQThDRTAwNDhCNDY0IC8qIEpTTlBNZXRo
b2QuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTQ5ODc4MTFGRjdGQUEwMDQ4QjQ2NCAvKiBKU05Q
T2JqZWN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTI3RENEODE5QkUzMjc0MDAzRkJGNUMgLyog
VUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRTA5
Mzc4MTRGQjEyOEMwMDExMzhEOSAvKiBMYXllckhvc3RpbmdDb250ZXh0LmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQTkyREMxMTEyRjhCQTQ2MDAxN0FGNjUgLyogTGF5ZXJUcmVlQ29udGV4dC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQzU5QzRBNTkxOEI4MTE3NDAwN0JEQ0I2IC8qIEFzc2lzdGVkTm9k
ZUluZm9ybWF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTFEOEJBMjE3MzFBMzYzMDAxNDFE
QTQgLyogTG9jYWxTdG9yYWdlRGF0YWJhc2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBOEM3MjhE
MTczODQ3N0MwMDBBNjU1NCAvKiBMb2NhbFN0b3JhZ2VEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUNFNjUwREMxMTlCRTE5MEMwMDYxMzUxOCAvKiBVSURldmljZVNQSS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTFBN0YyRjMxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dpbmcuaCBp
biBIZWFkZXJzICovLAorCQkJCUNFMjdEQ0U0MTlCRTU1MEMwMDNGQkY1QyAvKiBVSVdlYkdlb2xv
Y2F0aW9uUG9saWN5RGVjaWRlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNTZGNzkxMTU5
OTU3RDAwMUNDQUY5IC8qIE1hY2hQb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTI0QjVGMzEx
RjUzMUU4MDBDMzgyNjkgLyogTWFjaFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEy
MzI5MDMxNjJDODY3MzAwRDgyRjdBIC8qIE1lc3NhZ2VEZWNvZGVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTcyMjAsNiArNzQxMSw3IEBACiAJCQkJNTEzQTE2NEQxNjMwQTlCRjAwNUQ3RDIyIC8qIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlBODcz
QzE4QkJGRjA3MDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbkludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MUREOUYyOTE2MzY3REEyMDAxNTc4RTkgLyogTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RDRTIxOUJFNTFD
MjAwM0ZCRjVDIC8qIFVJR2VvbWV0cnlTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGM0M3MjVC
MTk2RjYwNEUwMEFFREQwQyAvKiBXS0luc3BlY3RvckhpZ2hsaWdodFZpZXcuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxNzk1NTZBMTYyODc2RjMwMEZBNDNCNiAvKiBOZXR3b3JrUHJvY2Vzcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE3Q0YwRTQxNjNBNDg2QzAwQzI5NTBFIC8qIE5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTcyNDIsNiArNzQzNCw3
IEBACiAJCQkJMzEzMTI2MUYxNDhGRjgyQzAwQkEyQTM5IC8qIE5vdGlmaWNhdGlvblBlcm1pc3Np
b25SZXF1ZXN0TWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE0NDVCQTExODRENUZDMTAw
NEIzNDE0IC8qIFdLQ29udGV4dEhpc3RvcnlDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTMx
QTJFQzUyMTQ4OTk4MTkwMDgxMEQ3MSAvKiBOb3RpZmljYXRpb25QZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RDRDYxOUJFMzFBRjAwM0ZCRjVD
IC8qIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyU1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUI0NzRFMDE4NEQ0NDZBMDA1MUI2MjIgLyogV0tCdW5kbGVQYWdlRWRp
dG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTJEODQ4QjEyN0Y2QTQ5MDAxRUI5NjIg
LyogTlBJZGVudGlmaWVyRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFNDk3NjgxMUZGNjU4
RTAwNDhCNDY0IC8qIE5QSlNPYmplY3QuaCBpbiBIZWFkZXJzICovLApAQCAtNzI1Myw2ICs3NDQ2
LDcgQEAKIAkJCQkxQTJEODJBNzEyN0Y0RUFCMDAxRUI5NjIgLyogTlBPYmplY3RQcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMkQ2QjM3MUIxOEE5NjdBRDAwNDJBRTgwIC8qIF9XS1RodW1ibmFp
bFZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMkQ4MkE5MTI3RjRFQUIwMDFFQjk2MiAvKiBO
UFJlbW90ZU9iamVjdE1hcC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RDRjgxOUJFNzdFMDAw
M0ZCRjVDIC8qIF9VSU5hdmlnYXRpb25QYXJhbGxheFRyYW5zaXRpb25TUEkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBMjE2MUIwMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJEQTA0OUI4MTgwQ0NEMEEwMEFBRkE5RSAvKiBHcmFwaGlj
c0xheWVyQ0FSZW1vdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMURDMzQwMTk2MzQ2RDcwMEZG
NzA1OSAvKiBMZWdhY3lTZXNzaW9uU3RhdGVDb2RpbmcuaCBpbiBIZWFkZXJzICovLApAQCAtNzMx
Miw2ICs3NTA2LDcgQEAKIAkJCQkxQUZFNDM2NjE4QjZDMDgxMDA5QzdBNDggLyogVUlEZWxlZ2F0
ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTFDQzFCOTAxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50
SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQTdDNTgxMTM2RTE5QzAwRkI3MTY3IC8qIFBy
b2Nlc3NMYXVuY2hlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDN0JGNDIxOUMyMTE2NzAwOUQw
MDlEIC8qIEJLU1Byb2Nlc3NBc3NlcnRpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTk3
MDc1MTE2NTkxRDAwMDU1MUZDQSAvKiBQcm9jZXNzTW9kZWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQjE2QUVBMTY0QjNBODgwMDI5MEQ2MiAvKiBSZW1vdGVMYXllclRyZWVDb250ZXh0LmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUIxNkFERTE2NDg1OTg0MDAyOTBENjIgLyogUmVtb3RlTGF5ZXJU
cmVlRHJhd2luZ0FyZWEuaCBpbiBIZWFkZXJzICovLApAQCAtNzM0NCw2ICs3NTM5LDcgQEAKIAkJ
CQkxQUQzMzA2RjE2QjFEOTkxMDA0RjYwRTcgLyogU3RvcmFnZUFyZWFJbXBsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQTRENjY0RTE4QTMwMzFCMDBEODJFMjEgLyogV0tGcmFtZUluZm9JbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGNDEyOUIxOEI0MEZDRDAwNTQ2RkRDIC8qIFdLTmF2
aWdhdGlvbkFjdGlvblByaXZhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMjdEQ0UwMTlCRTUw
QkMwMDNGQkY1QyAvKiBVSVZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQ0VDRDI1MTcx
NjJEQjEwMDFGQzlFRiAvKiBTdG9yYWdlQXJlYU1hcC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEz
MzRERUUxNkRFOEY4ODAwNkE4RTM4IC8qIFN0b3JhZ2VBcmVhTWFwTWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBOEU3RDNEMThDMTUxNDkwMDVBNzAyQSAvKiBWaXNpdGVkTGlua1RhYmxl
Q29udHJvbGxlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTczNTMsMTIgKzc1NDksMTUg
QEAKIAkJCQkxQTYyODBDNzE5MTk5NTBDMDA2QUQ5RjkgLyogV2ViS2l0UHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFCMzFBOTcxNkJDNjg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2Vy
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5NkJEODVEMTUwMTlCQzMwMDcxRjQyNCAv
KiBTdHJpbmdVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMjdEQ0QxMTlCRTJERTQw
MDNGQkY1QyAvKiBfVUlIaWdobGlnaHRWaWV3U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzlB
ODczQTE4QkJGRTBGMDA1ODhBRjIgLyogX1dLRWxlbWVudEFjdGlvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJQ0U1QUNCNDgxOUJGQ0E5NTAwNzhCMEVFIC8qIEJvb3RzdHJhcFNQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTExRDgxRkYxODVCQkRFRTAwMUFFRDU2IC8qIFNRTGl0ZUlEQlRyYW5zYWN0
aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNTQyNTZCQTE4QkVDMThDMDBERTQxNzkgLyogV0tG
b3JtU2VsZWN0Q29udHJvbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkRBOTQ0QTAxODg0RTRGMDAw
RUQ4NkRCIC8qIFdlYklPU0V2ZW50RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NEMTAy
REExODY2NzcwNjAwRUQ0MjlEIC8qIEF1dG9Db3JyZWN0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBQjQ3NEU0MTg0RDQ0OTgwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VDb250ZXh0
TWVudUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RDRjYxOUJFNzY4QzAwM0ZCRjVD
IC8qIF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25TUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBQTQxN0NCMTJDMDBDQ0EwMDJCRTY3QiAvKiBUZXh0Q2hlY2tlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMVFRNDE3Q0IxMkMwMENDQTAwMkJFNjdCIC8qIFRleHRDaGVja2VyQ29tcGxl
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1RTREQTQxMkQzQkQzRDAwOTlBMkJCIC8qIFRl
eHRDaGVja2VyU3RhdGUuaCBpbiBIZWFkZXJzICovLApAQCAtNzM3OSwxMCArNzU3OCwxMiBAQAog
CQkJCTUxMkUzNTZCMTMwQjU3RjAwMEFCRDE5QSAvKiBXZWJBcHBsaWNhdGlvbkNhY2hlTWFuYWdl
ck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJFMzUyNTEzMEI1NTA2MDBBQkQxOUEg
LyogV2ViQXBwbGljYXRpb25DYWNoZU1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTEyRTM1RjkxMzBCNjQyRTAwQUJEMTlBIC8qIFdlYkFwcGxpY2F0aW9uQ2FjaGVNYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U1QUNCNEExOUJGRDRGQzAwNzhCMEVF
IC8qIENBQ29udGV4dFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQzVFMUFGRUQxNkIyMTAxNzAw
NkNDMUYyIC8qIEFQSVdlYkFyY2hpdmUuaCBpbiBIZWFkZXJzICovLAogCQkJCUM1RTFBRkVGMTZC
MjEwMjkwMDZDQzFGMiAvKiBBUElXZWJBcmNoaXZlUmVzb3VyY2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCUM1NDI1NkI3MThCRUMxOEMwMERFNDE3OSAvKiBXS0Zvcm1QZXJpcGhlcmFsLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQzcyQkExRTExRTY0OTA3MDAxRUI0RUEgLyogV2ViQmFja0ZvcndhcmRM
aXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTA4QUM1MjE5QzE0NDZEMDA2NDQ4NDMgLyogWFBD
U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MThEMkNBRTEyRDUxNTNCMDAzQkI5M0IgLyogV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3MkI5RkIxMUU2NDc2
QjAwMUVCNEVBIC8qIFdlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkzN0ZDMTk0QjE4NTEwRDZBMDA4Q0ZBNDcgLyogV0tOU1VSTEF1dGhlbnRpY2F0aW9uQ2hhbGxl
bmdlLmggaW4gSGVhZGVycyAqLywKQEAgLTc0MTcsNiArNzYxOCw3IEBACiAJCQkJNTFBQ0JCODIx
MjdBOEJBRDAwRDIwM0I5IC8qIFdlYkNvbnRleHRNZW51UHJveHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBQjhBMUY0MTg0MDBCOEYwMEU5QUU2OSAvKiBXS1BhZ2VGaW5kQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3NUU3NDlFQTE4MERCQjk4MDAwODhCQTYgLyogV2ViT3JpZ2luRGF0YU1h
bmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U1QUNCNEMxOUMwOTYzNjAwNzhC
MEVFIC8qIFVJUERGUGFnZVZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3QTY0RTU1MThG
MzhFM0MwMEVCMzBGMSAvKiBfV0tGb3JtRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
QUNCQkEwMTI3QThGMkMwMEQyMDNCOSAvKiBXZWJDb250ZXh0TWVudVByb3h5TWFjLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0NCNzVDNjEyMDNBMUNFMDAyMjJEMUIgLyogV2ViQ29udGV4dE1lc3Nh
Z2VLaW5kcy5oIGluIEhlYWRlcnMgKi8sCkBAIC03NDI4LDExICs3NjMwLDEzIEBACiAJCQkJMzMw
OTM0NTAxMzE1Qjk0RDAwOTdBN0JDIC8qIFdlYkNvb2tpZU1hbmFnZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMzMDkzNDQ4MTMxNUI5MjIwMDk3QTdCQyAvKiBXZWJDb29raWVNYW5hZ2VyTWVzc2Fn
ZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzMDkzNDU2MTMxNUI5NzUwMDk3QTdCQyAvKiBXZWJD
b29raWVNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMjdEQ0VDMTlCRTY1MDcw
MDNGQkY1QyAvKiBVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50U1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTVFNzcyQzE4NDAwOEI5MDAwNzIwM0YgLyogRGF0YWJhc2VQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzM0FBMTA2NzEzMUYwNjAwMDBENEE1
NzUgLyogV2ViQ29va2llTWFuYWdlclByb3h5Q2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkz
MzA5MzQ0QTEzMTVCOTIyMDA5N0E3QkMgLyogV2ViQ29va2llTWFuYWdlclByb3h5TWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjQ2NEYzMTg5MUU0NTEwMDIzNEM1QiAvKiBBUElMb2Fk
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUREN0IyMTE0REMzOTYwMDVBREFGMyAv
KiBXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFNUFDQjU0MTlD
MEFGNEIwMDc4QjBFRSAvKiBDQVJlbmRlclNlcnZlclNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTEyRjU4OUIxMkE4ODM4ODAwNjI5NTMwIC8qIFdlYkNyZWRlbnRpYWwuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJEN0FBRkQ2MThDOTU2QUYwMEE3QUNENCAvKiBXS1dlYlZpZXdDb25maWd1cmF0aW9u
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEQUNFNjRFMThBREJGRjAwMEU0Q0E3NiAv
KiBfV0tUaHVtYm5haWxWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtNzQ0MSw3ICs3
NjQ1LDkgQEAKIAkJCQlGNjJBNzZCNzEyQjFCMjVGMDAwNUYxQjYgLyogV2ViRGF0YWJhc2VNYW5h
Z2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUY2MkE3NjVEMTJCMUFCQzMwMDA1RjFC
NiAvKiBXZWJEYXRhYmFzZU1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ2QUI1
NDExOTJCMUM0QTAwM0E5RkQxIC8qIFdLUERGUGFnZU51bWJlckluZGljYXRvci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJQ0UyN0RDRjIxOUJFNjg5QTAwM0ZCRjVDIC8qIFVJV2ViRG9jdW1lbnRWaWV3
U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTQ0NUJBMzE4NEQ1RkNGMDA0QjM0MTQgLyogV0tD
b250ZXh0RG93bmxvYWRDbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMjdEQ0U4MTlCRTU4
ODIwMDNGQkY1QyAvKiBVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXJTUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQzEzMzg2MTg1OTBDNDYwMEYzRUMwNSAvKiBSZW1vdGVPYmplY3RS
ZWdpc3RyeU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0FDMTExRjEyQzkyQzFGMDBC
MDhFRUUgLyogV2ViRGF0YWJhc2VNYW5hZ2VyUHJveHlDbGllbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUY2MkE3NkI5MTJCMUIyNUYwMDA1RjFCNiAvKiBXZWJEYXRhYmFzZU1hbmFnZXJQcm94eU1l
c3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTc0NTMsNiArNzY1OSw3IEBACiAJCQkJQkMwMzJE
N0QxMEY0Mzc4RDAwNThDMTVBIC8qIFdlYkVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMEY1OTQ3QTgxODdCNTE3NjAwNDM3ODU3IC8qIFJlbW90ZVNjcm9sbGluZ0Nvb3JkaW5hdG9y
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTI2ODQwNTUzMThCODZFRDYwMDIyQzM4QiAv
KiBWaWV3VXBkYXRlRGlzcGF0Y2hlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1
MERDMzE5QkUxQUI5MDA2MTM1MTggLyogVUlTdHJpbmdEcmF3aW5nU1BJLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTZBNEE1RDEyMEEyQ0NEMDBDMDVCN0YgLyogQVBJRXJyb3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBNDMzRjBEMTEzQzUzREQwMEZBQ0RFOSAvKiBXZWJFcnJvcnMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBRDAxQkM5MTkwNUQzN0UwMEM5QzQ1RiAvKiBfV0tFcnJvclJlY292ZXJ5
QXR0ZW1wdGluZy5oIGluIEhlYWRlcnMgKi8sCkBAIC03NDY2LDYgKzc2NzMsOCBAQAogCQkJCUJD
RTQ2OTU2MTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHku
aCBpbiBIZWFkZXJzICovLAogCQkJCTc1QThEMkQ3MTg3RDMwM0EwMEMzOUM5RSAvKiBXS1Nlc3Np
b25SZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDhEMTBGNDM3QTAwMDU4QzE1QSAvKiBX
ZWJGcmFtZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RDRjQxOUJFNzQ2OTAwM0ZCRjVDIC8q
IFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJTUEkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
QzdCRjRCMTlDMjFCQTMwMDlEMDA5RCAvKiBEREFjdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkNFNDY5NzcxMjE0RjI3QjAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEN0YxMEY0Mzc4RDAwNThDMTVBIC8qIFdlYkZyYW1lTG9h
ZGVyQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzkxRjJDQjEyMUI2N0FEMDBFQkY3RTgg
LyogV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkBAIC03NDc3LDYg
Kzc2ODYsNyBAQAogCQkJCUJDMEU2MDYyMTJENkJBOTEwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlv
bk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NENBQ0IxMkQ2NDI5MTAw
NUM2N0IwIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxRjdEMzZDMTE4REE1MTNGMDBEOUQ2NTkgLyogQVBJRG93bmxvYWRDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAorCQkJCUNFNUFDQjUwMTlDMDlBOTgwMDc4QjBFRSAvKiBVSVBERkRvY3VtZW50U1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBFNjE4MzEyRDZDQjFEMDAxMkE3MkEgLyogV2ViR2Vv
bG9jYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwRTYw
NzMxMkQ2QkMyMDAwMTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uUG9zaXRpb24uaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMUJFMUYyMTJENTREQkQwMDA0QTIyOCAvKiBXZWJHZW9sb2NhdGlvblByb3Zp
ZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTc0ODYsNiArNzY5Niw3IEBACiAJCQkJNTExQjI0QUIx
MzJFMDk3MjAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE4MzQ1OTMxMzQ1MzJFOTAwOTJCNjk2IC8qIFdlYkljb25EYXRhYmFzZUNsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNTFEMDJGNkExMzJFQzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFz
ZU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUM3QkY0NjE5QzIxNkEwMDA5RDAwOUQg
LyogTVBBdWRpb1ZpZGVvUm91dGluZ0FjdGlvblNoZWV0U1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MTFCMjRBNzEzMkUwOTU3MDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlUHJveHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQjQ3NEVBMTg0RDQ1MTMwMDUxQjYyMiAvKiBXS0J1bmRsZVBhZ2VQ
b2xpY3lDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFGNzUwNkI3MTg1OTE2NUEwMEVDMEZG
NyAvKiBXS1dlYlByb2Nlc3NQbHVnSW5IaXRUZXN0UmVzdWx0SW50ZXJuYWwuaCBpbiBIZWFkZXJz
ICovLApAQCAtNzQ5OSw2ICs3NzEwLDcgQEAKIAkJCQkxQzhFMjgzNDEyNzVENzM4MDBCQzdCRDAg
LyogV2ViSW5zcGVjdG9yUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFDQThCOTQ2MTI3Qzg4
MkEwMDU3NkMyQiAvKiBXZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTgxQjM4MTE4QkQ2NkFEMDAwN0ZEQUMgLyogX1dLVmlzaXRlZExpbmtQcm92aWRlci5o
IGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQzUxOUJFMUI4MzAwNjEzNTE4IC8qIFVJSW1hZ2VQ
aWNrZXJDb250cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAzMkYxRTE4MEY3OTE3
MDA5NjFCQjcgLyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxQTlFMTA2MTMxNUNDRkMwMDlFNzAzMSAvKiBXZWJLZXlWYWx1ZVN0
b3JhZ2VNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzNEMTIyNzE4QTQ3M0Y2MDA2NkQ5
Q0MgLyogX1dLRnJhbWVIYW5kbGVJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkBAIC03NTA2LDYg
Kzc3MTgsNyBAQAogCQkJCUJDQjYzNDc4MTE2QkYxMDYwMDYwMzIxNSAvKiBXZWJLaXQyX0MuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBODFCMzg1MThCRDY3M0EwMDA3RkRBQyAvKiBfV0tWaXNpdGVk
TGlua1Byb3ZpZGVySW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDOUJBNTA1MTY5N0M0
NTMwMEU0NDYxNiAvKiBXZWJLaXQySW5pdGlhbGl6ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0Uy
N0RDRkExOUJFNzdFQTAwM0ZCRjVDIC8qIFVJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uaW5nU1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzM0QzQTNDMjEzMzk2MEIwMDA3MDlCRTQgLyogV2ViTWVk
aWFDYWNoZU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEMTI1QzVFMTg1N0VBMDUwMDNC
QTNDQiAvKiBWaWV3R2VzdHVyZUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTMzRDNB
M0M5MTMzOTYxNzkwMDcwOUJFNCAvKiBXZWJNZWRpYUNhY2hlTWFuYWdlck1lc3NhZ2VzLmggaW4g
SGVhZGVycyAqLywKQEAgLTc1MTUsNiArNzcyOCw3IEBACiAJCQkJMzNEM0EzQ0IxMzM5NjE3OTAw
NzA5QkU0IC8qIFdlYk1lZGlhQ2FjaGVNYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEwMDJENDMxOTZCMzM3MDAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZUludGVy
bmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk5MDk4NTRFRDEyQkM0RTE4MDAwQUQwODAgLyogV2Vi
TWVtb3J5U2FtcGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQkYxOUJFMTZCQjAwNjEz
NTE4IC8qIFVJS2V5Ym9hcmRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjY5RkEyMTE3NkQw
MTQwMDQ3MUE1MiAvKiBBUElOYXZpZ2F0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNG
NjlGOUExMTc2Q0VENjAwNDcxQTUyIC8qIFdlYk5hdmlnYXRpb25EYXRhU3RvcmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTMxQTJFQzQ5MTQ4OTk3QzIwMDgxMEQ3MSAvKiBXZWJOb3RpZmljYXRpb24u
aCBpbiBIZWFkZXJzICovLApAQCAtNzU0MCwxMiArNzc1NCwxNCBAQAogCQkJCUJDQkQzOTE1MTI1
QkIxQTgwMEQyQzI5RiAvKiBXZWJQYWdlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUEzRTczNjExMUNDMjY1OTAwN0JENTM5IC8qIFdlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMzFENTkyOUYxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJbkNs
aWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RDRDUxOUJFMzFBQzAwM0ZCRjVDIC8qIFRJ
TlNTdHJpbmdFeHRyYXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQzg3MDJEMTMwQjQ5QTIw
MDJDMTI1NyAvKiBXZWJQbHVnaW5TaXRlRGF0YU1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTUxMjEyN0M0MTkwODIzOUEwMERBRjM1QyAvKiBXZWJQYXN0ZWJvYXJkT3ZlcnJpZGVzLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTgzNTNEQjE4ODVCRjhDMDBEOUZFNDQgLyogSURCU2VyaWFsaXph
dGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFERjU5MUIxODkwNTI4RTAwNDNDMTQ1IC8qIFdL
V2ViVmlld0NvbmZpZ3VyYXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhG
QjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0ODQ3
MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
QzdCRjRDMTlDMjFCQTMwMDlEMDA5RCAvKiBERERldGVjdGlvbkNvbnRyb2xsZXJTUEkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNTc0RTYzMTI2N0QwODAwMDZGMEYxMiAvKiBXZWJQb3B1cE1lbnVQ
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4RUIxMTcxOERCNkExOTAwNzkxN0MyIC8qIFdL
UHJlZmVyZW5jZXNQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNThDREYyQTE4ODc1NDhC
MDA4NzE1MzYgLyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJz
ICovLApAQCAtNzU2MCw5ICs3Nzc2LDExIEBACiAJCQkJQkMzMDY2QkYxMjVBNDQyMTAwRTcxMjc4
IC8qIFdlYlByb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJERDUxMEY0
Mzg5RjAwNThDMTVBIC8qIFdlYlByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzVB
OEQyRDYxODdEMUMwRTAwQzM5QzlFIC8qIF9XS1dlYnNpdGVEYXRhU3RvcmVJbnRlcm5hbC5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQ0IxOUJFMjE3OTAwNjEzNTE4IC8qIFVJQWxlcnRDb250
cm9sbGVyU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAzMkYxOTE4MEY3M0JCMDA5NjFCQjcg
LyogV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
Q0VFN0FEMTEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDRTBFNDI1MTY4QjdBMjgwMDU3RTY2QSAvKiBXZWJQcm9jZXNzU3Vw
cGxlbWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQjkxOUJFMTJBQjAwNjEzNTE4IC8q
IFVJV2ViRm9ybUFjY2Vzc29yeVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyRjU4OUQxMkE4
ODM4ODAwNjI5NTMwIC8qIFdlYlByb3RlY3Rpb25TcGFjZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFDMTMzNzIxODU2NkM3QzAwRjNFQzA1IC8qIEFQSUZyYW1lSGFuZGxlLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyNjg0MDU0NDE4Qjg1QTYzMDAyMkMzOEIgLyogVmlzaWJsZUNvbnRlbnRSZWN0VXBk
YXRlSW5mby5oIGluIEhlYWRlcnMgKi8sCkBAIC03NTcyLDYgKzc3OTAsNyBAQAogCQkJCTM3NjA4
ODFGMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMjE3NDY1MTY0QzIxMzcwMDM3QTVDMSAvKiBXZWJSZXNvdXJjZUJ1ZmZlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMzMzNjc2MzAxMzBDOTk5ODAwNkM5REUyIC8qIFdlYlJlc291cmNlQ2Fj
aGVNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTI3RENEQzE5QkU0REM1MDAzRkJGNUMg
LyogVUlTY3JvbGxWaWV3U1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUFGMDg5QjE5MjY3RUU1
MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0LmggaW4gSGVhZGVycyAqLywKIAkJCQkzMzM2NzY1NjEz
MEM5RUNBMDA2QzlERTIgLyogV2ViUmVzb3VyY2VDYWNoZU1hbmFnZXJNZXNzYWdlcy5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkRBOTQ0QTQxODg0RTRGMDAwRUQ4NkRCIC8qIEdlc3R1cmVUeXBlcy5o
IGluIEhlYWRlcnMgKi8sCkBAIC03NTg0LDYgKzc4MDMsNyBAQAogCQkJCTFBMDAyRDQ0MTk2QjMz
ODkwMEI5QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQjk0
ODQ5MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFGQjAwQUM5MTg1Rjc2NDYwMDE5MTQyRSAvKiBXS1dlYlByb2Nlc3NQbHVnSW5QYWdl
R3JvdXBJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDN0JGNDgxOUMyMTZBMDAwOUQw
MDlEIC8qIE1QVHlwZXNTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUY2MzQ0NDU2MTJBODg1Qzgw
MDA2MTJEOCAvKiBXZWJTZWN1cml0eU9yaWdpbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNTcx
NUIxMTVBREFFRjAwMUNDQUY5IC8qIFdlYlN5c3RlbUludGVyZmFjZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNBMEVGN0YxMjMzMUU3ODAwN0QzQ0ZCIC8qIFdlYlVuZG9TdGVwLmggaW4gSGVhZGVy
cyAqLywKQEAgLTc2MTAsNiArNzgzMCw3IEBACiAJCQkJMUFCNDc0REExODRENDQyNTAwNTFCNjIy
IC8qIFdLQnVuZGxlUGFnZVJlc291cmNlTG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MEZGMjRBMkUxODc5RTRCQzAwM0FCRjBDIC8qIFJlbW90ZUxheWVyVHJlZURyYXdpbmdBcmVhUHJv
eHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNEREIzMTcxMjRFQkQxMzAwNDhEMTND
IC8qIFdLQmFzZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDN0JGNDcxOUMyMTZBMDAwOUQwMDlE
IC8qIE1QQXVkaW9WaWRlb1JvdXRpbmdQb3BvdmVyQ29udHJvbGxlclNQSS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJN0NENUVCQkIxNzQ2QTgzRTAwMEMxQzQ1IC8qIFdLQmFzZU1hYy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNCQUFDNzQxNDRFNjFBNTAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0
Q29udHJvbGxlckludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzg4QTA1QzE0NzQzQzkw
MDA2MzE5RTUgLyogV0tCcm93c2luZ0NvbnRleHRDb250cm9sbGVyUHJpdmF0ZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC03NjIxLDYgKzc4NDIsNyBAQAogCQkJCTBGQ0I0RTZDMThCQkYyNkEwMDBGQ0ZD
OSAvKiBXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTUxN0RE
NUJGMTgwREE3RDMwMDgxNjYwQiAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTM1RUVCOUIxMjc3NjE3QzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRM
aXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2NTBEQkIxOUJFMTU1RjAwNjEzNTE4IC8q
IFVJQXBwbGljYXRpb25TUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRUZDMUNGMTUyNEU2MjUw
MEM5QTkzOCAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFDQzg3QkExOTgxQzM0MTAwM0QxQUY0IC8qIFdLTmF2aWdhdGlvblByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBQUYwOEEyMTkyNjgxRDEwMEI2MzkwQyAvKiBXZWJVc2VyQ29udGVu
dENvbnRyb2xsZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCkBAIC03NjI4LDYgKzc4NTAsNyBAQAog
CQkJCUJDRjA0OUU2MTFGRTIwRjYwMEY4NkE1OCAvKiBXS0J1bmRsZUZyYW1lUHJpdmF0ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMjkyMzJERjQxOEIyOUQ2ODAwRDA1OTZGIC8qIFdLQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3RNYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDk4NjJGMTI0RDE4
QzEwMEQ4MzRFMSAvKiBXS0J1bmRsZUhpdFRlc3RSZXN1bHQuaCBpbiBIZWFkZXJzICovLAorCQkJ
CUNFNjUwREQzMTlCRTJCNTIwMDYxMzUxOCAvKiBVSUdlc3R1cmVSZWNvZ25pemVyU1BJLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzIwNEVGMjExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGVJbml0
aWFsaXplLmggaW4gSGVhZGVycyAqLywKIAkJCQk2NUI4NkYxRTEyRjExREUzMDBCN0REOEEgLyog
V0tCdW5kbGVJbnNwZWN0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNzA0M0NDMTJGNzVFRTAw
MDY0NzJCOSAvKiBXS0J1bmRsZU5hdmlnYXRpb25BY3Rpb24uaCBpbiBIZWFkZXJzICovLApAQCAt
NzczNSw2ICs3OTU4LDcgQEAKIAkJCQkwMDVEMTU4RjE4RTRDNEVCMDA3MzQ2MTkgLyogX1dLRmlu
ZERlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFERkU4RjEyQjMxQ0E4MDA1REY3MzAg
LyogV0tPcGVuUGFuZWxSZXN1bHRMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNENTk3
RDcxMTJCNTZEQzAwRUM4QzIzIC8qIFdLUGFnZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UyN0RD
RjAxOUJFNjZFODAwM0ZCRjVDIC8qIFVJV2ViU2VsZWN0aW9uQXNzaXN0YW50U1BJLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkyRDZDRDExOTE4OTA1OEE1MDBFNUE0QTAgLyogVmlld1NuYXBzaG90U3Rv
cmUuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3M0QxMjIzMThBNDczMDEwMDY2RDlDQyAvKiBfV0tG
cmFtZUhhbmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM3QjYzMzcxMkE0NUFCQTAwRDE3NEE0
IC8qIFdLUGFnZUdyb3VwLmggaW4gSGVhZGVycyAqLywKQEAgLTc3NjEsNiArNzk4NSw3IEBACiAJ
CQkJQkM4QTUwMTUxMTc2NUY1NjAwNzU3NTczIC8qIFdLUmV0YWluUHRyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGNjM0NDQ1RDEyQTg4NUU5MDAwNjEyRDggLyogV0tTZWN1cml0eU9yaWdpbi5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFBRjA4QjgxOTI2OUU2RDAwQjYzOTBDIC8qIFdlYlVzZXJDb250
ZW50Q29udHJvbGxlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTY1MERDRjE5QkUy
NUI1MDA2MTM1MTggLyogVUlUZXh0SW5wdXRTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDNDA3
NjA0MTI0RkYwMjcwMDY4RjIwQSAvKiBXS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMEZDQjRFNEMxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQ29udGVudFZpZXcuaCBp
biBIZWFkZXJzICovLAogCQkJCTM3QTY0RTU3MThGMzhGNDYwMEVCMzBGMSAvKiBfV0tGb3JtSW5w
dXRTZXNzaW9uLmggaW4gSGVhZGVycyAqLywKQEAgLTc3ODYsNiArODAxMSw3IEBACiAJCQkJNzUz
RTNFMEUxODg3Mzk4OTAwMTg4NDk2IC8qIFNlc3Npb25UcmFja2VyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzQwNzYwRTEyNEZGMDI3MDA2OEYyMEEgLyogV0tVUkxSZXNwb25zZS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU5Q0NENUExODA4RjYxNjAwNzhFOEE4IC8qIFdlYk9yaWdpbkRhdGFNYW5h
Z2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQzdCRjQwMTlDMjBEQzYwMDlEMDA5RCAv
KiBHcmFwaGljc1NlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkyNkYxMEJFODE5MTg3
RTJFMDAxRDBFNjggLyogV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzQwNzYyQjEyNEZGMDQwMDA2OEYyMEEgLyogV0tVUkxSZXNwb25z
ZU5TLmggaW4gSGVhZGVycyAqLywKIAkJCQlGNjExM0UyOTEyNkNFMTlCMDA1N0QwQTcgLyogV0tV
c2VyQ29udGVudFVSTFBhdHRlcm4uaCBpbiBIZWFkZXJzICovLApAQCAtNzc5Myw2ICs4MDE5LDgg
QEAKIAkJCQkxQTI1NkUzODE4QTFBNzg4MDA2RkI5MjIgLyogV0tOYXZpZ2F0aW9uQWN0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCRkE2MTc5RjEyRjBCOTlEMDAzM0UwQ0EgLyogV0tWaWV3UHJp
dmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzU1NDIyQ0MxODA3NzNDRTAwNDZGNkE4IC8qIFdl
Yk9yaWdpbkRhdGFNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTI3RENEQTE5QkU0QjBB
MDAzRkJGNUMgLyogVUlQZXJpcGhlcmFsSG9zdFNQSS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0U2
NTBEQzkxOUJFMUU5ODAwNjEzNTE4IC8qIFVJV2luZG93U1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlDNUUxQUZFOTE2QjIwQjc1MDA2Q0MxRjIgLyogV0tXZWJBcmNoaXZlLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDNUUxQUZFQjE2QjIwQjdFMDA2Q0MxRjIgLyogV0tXZWJBcmNoaXZlUmVzb3VyY2Uu
aCBpbiBIZWFkZXJzICovLAogCQkJCTg2RTY3QTI1MTkxMEI5RDEwMDAwNEFCNyAvKiBQcm9jZXNz
VGhyb3R0bGVyLmggaW4gSGVhZGVycyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9XZWJDb250ZW50UHJvY2Vzc01h
aW4ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVBy
b2Nlc3MvV2ViQ29udGVudFByb2Nlc3NNYWluLm1tCmluZGV4IDlhZGU5MTMuLjAwZDllY2QgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5
UHJvY2Vzcy9XZWJDb250ZW50UHJvY2Vzc01haW4ubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNvbnRlbnRQcm9jZXNzTWFp
bi5tbQpAQCAtMjUsNiArMjUsNyBAQAogCiAjaW1wb3J0ICJjb25maWcuaCIKIAorI2ltcG9ydCAi
Qm9vdHN0cmFwU1BJLmgiCiAjaW1wb3J0ICJDaGlsZFByb2Nlc3NFbnRyeVBvaW50LmgiCiAjaW1w
b3J0ICJFbnZpcm9ubWVudFV0aWxpdGllcy5oIgogI2ltcG9ydCAiRW52aXJvbm1lbnRWYXJpYWJs
ZXMuaCIKQEAgLTMyLDcgKzMzLDYgQEAKICNpbXBvcnQgIldLQmFzZS5oIgogI2ltcG9ydCAiV2Vi
UHJvY2Vzcy5oIgogI2ltcG9ydCA8bWFjaC9tYWNoX2Vycm9yLmg+Ci0jaW1wb3J0IDxzZXJ2ZXJz
L2Jvb3RzdHJhcC5oPgogI2ltcG9ydCA8c3Bhd24uaD4KICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CkBAIC00MSw3ICs0MSw3IEBACiAjaW1wb3J0IDx3dGYvdGV4
dC9XVEZTdHJpbmcuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPEdyYXBoaWNzU2Vy
dmljZXMvR3JhcGhpY3NTZXJ2aWNlcy5oPgorI2ltcG9ydCAiR3JhcGhpY3NTZXJ2aWNlc1NQSS5o
IgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmg+CiAjZW5k
aWYgLy8gUExBVEZPUk0oSU9TKQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50
Lm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNl
L1dlYkNvbnRlbnRTZXJ2aWNlRW50cnlQb2ludC5tbQppbmRleCAyMDllMDJiLi5jZTg4NmZmIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1Nl
cnZpY2UvV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2VydmljZUVu
dHJ5UG9pbnQubW0KQEAgLTMyLDcgKzMyLDcgQEAKICNpbXBvcnQgPHd0Zi9SdW5Mb29wLmg+CiAK
ICNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0IDxHcmFwaGljc1NlcnZpY2VzL0dyYXBoaWNzU2Vy
dmljZXMuaD4KKyNpbXBvcnQgIkdyYXBoaWNzU2VydmljZXNTUEkuaCIKICNpbXBvcnQgPFdlYkNv
cmUvV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oPgogI2VuZGlmIC8vIFBMQVRGT1JNKElP
UykKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmlu
ZGV4IDI1YWE4ZTkuLmM3OTJlYzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTQ0NjIsNyArNDQ2Miw5IEBAIHZvaWQgV2ViUGFnZTo6ZGlk
Q29tbWl0TG9hZChXZWJGcmFtZSogZnJhbWUpCiAgICAgbV91c2VySGFzQ2hhbmdlZFBhZ2VTY2Fs
ZUZhY3RvciA9IGZhbHNlOwogICAgIG1fZXN0aW1hdGVkTGF0ZW5jeSA9IHN0ZDo6Y2hyb25vOjpt
aWxsaXNlY29uZHMoMTAwMCAvIDYwKTsKIAorI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQog
ICAgIFdlYlByb2Nlc3M6OnNoYXJlZCgpLmV2ZW50RGlzcGF0Y2hlcigpLmNsZWFyUXVldWVkVG91
Y2hFdmVudHNGb3JQYWdlKCp0aGlzKTsKKyNlbmRpZgogCiAgICAgcmVzZXRWaWV3cG9ydERlZmF1
bHRDb25maWd1cmF0aW9uKGZyYW1lKTsKICAgICBtX3ZpZXdwb3J0Q29uZmlndXJhdGlvbi5yZXNl
dE1pbmltYWxVSSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYlBhZ2UuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmgKaW5kZXggYmFiYTUwNi4uMzVmNmE4NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oCkBAIC01MDQsNyArNTA0LDkgQEAgcHVibGljOgogICAgIFdlYkNv
cmU6OkludFJlY3QgcmVjdEZvckVsZW1lbnRBdEludGVyYWN0aW9uTG9jYXRpb24oKTsKICAgICB2
b2lkIHVwZGF0ZVNlbGVjdGlvbkFwcGVhcmFuY2UoKTsKIAorI2lmIEVOQUJMRShJT1NfVE9VQ0hf
RVZFTlRTKQogICAgIHZvaWQgZGlzcGF0Y2hBc3luY2hyb25vdXNUb3VjaEV2ZW50cyhjb25zdCBW
ZWN0b3I8V2ViVG91Y2hFdmVudCwgMT4mIHF1ZXVlKTsKKyNlbmRpZgogICAgIHZvaWQgY29udGVu
dFNpemVDYXRlZ29yeURpZENoYW5nZShjb25zdCBTdHJpbmcmKTsKICAgICB2b2lkIGV4ZWN1dGVF
ZGl0Q29tbWFuZFdpdGhDYWxsYmFjayhjb25zdCBTdHJpbmcmLCB1aW50NjRfdCBjYWxsYmFja0lE
KTsKIApAQCAtNzU1LDEwICs3NTcsMTMgQEAgcHVibGljOgogICAgIHZvaWQgYXBwbGljYXRpb25X
aWxsRW50ZXJGb3JlZ3JvdW5kKCk7CiAgICAgdm9pZCBhcHBsaWNhdGlvbkRpZEJlY29tZUFjdGl2
ZSgpOwogICAgIHZvaWQgem9vbVRvUmVjdChXZWJDb3JlOjpGbG9hdFJlY3QsIGRvdWJsZSBtaW5p
bXVtU2NhbGUsIGRvdWJsZSBtYXhpbXVtU2NhbGUpOwotICAgIHZvaWQgZGlzcGF0Y2hUb3VjaEV2
ZW50KGNvbnN0IFdlYlRvdWNoRXZlbnQmLCBib29sJiBoYW5kbGVkKTsKICAgICB2b2lkIGNvbXBs
ZXRlUGVuZGluZ1N5bnRoZXRpY0NsaWNrRm9yQ29udGVudENoYW5nZU9ic2VydmVyKCk7CiAjZW5k
aWYKIAorI2lmIEVOQUJMRShJT1NfVE9VQ0hfRVZFTlRTKQorICAgIHZvaWQgZGlzcGF0Y2hUb3Vj
aEV2ZW50KGNvbnN0IFdlYlRvdWNoRXZlbnQmLCBib29sJiBoYW5kbGVkKTsKKyNlbmRpZgorCiAj
aWYgUExBVEZPUk0oR1RLKSAmJiBVU0UoVEVYVFVSRV9NQVBQRVJfR0wpCiAgICAgdWludDY0X3Qg
bmF0aXZlV2luZG93SGFuZGxlKCkgeyByZXR1cm4gbV9uYXRpdmVXaW5kb3dIYW5kbGU7IH0KICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9X
ZWJQYWdlSU9TLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2lvcy9XZWJQ
YWdlSU9TLm1tCmluZGV4IGYzNjNjMDEuLjMzNjFjOGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9pb3MvV2ViUGFnZUlPUy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvaW9zL1dlYlBhZ2VJT1MubW0KQEAgLTUxMiw2ICs1MTIs
NyBAQCB2b2lkIFdlYlBhZ2U6OmhhbmRsZVRhcChjb25zdCBJbnRQb2ludCYgcG9pbnQpCiAKIHZv
aWQgV2ViUGFnZTo6c2VuZFRhcEhpZ2hsaWdodEZvck5vZGVJZk5lY2Vzc2FyeSh1aW50NjRfdCBy
ZXF1ZXN0SUQsIE5vZGUqIG5vZGUpCiB7CisjaWYgRU5BQkxFKFRPVUNIX0VWRU5UUykKICAgICBp
ZiAoIW5vZGUpCiAgICAgICAgIHJldHVybjsKIApAQCAtNTQxLDYgKzU0MiwxMCBAQCB2b2lkIFdl
YlBhZ2U6OnNlbmRUYXBIaWdobGlnaHRGb3JOb2RlSWZOZWNlc3NhcnkodWludDY0X3QgcmVxdWVz
dElELCBOb2RlKiBub2RlKQogCiAgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhZ2VQcm94eTo6
RGlkR2V0VGFwSGlnaGxpZ2h0R2VvbWV0cmllcyhyZXF1ZXN0SUQsIGhpZ2hsaWdodENvbG9yLCBx
dWFkcywgcm91bmRlZEludFNpemUoYm9yZGVyUmFkaWkudG9wTGVmdCgpKSwgcm91bmRlZEludFNp
emUoYm9yZGVyUmFkaWkudG9wUmlnaHQoKSksIHJvdW5kZWRJbnRTaXplKGJvcmRlclJhZGlpLmJv
dHRvbUxlZnQoKSksIHJvdW5kZWRJbnRTaXplKGJvcmRlclJhZGlpLmJvdHRvbVJpZ2h0KCkpKSk7
CiAgICAgfQorI2Vsc2UKKyAgICBVTlVTRURfUEFSQU0ocmVxdWVzdElEKTsKKyAgICBVTlVTRURf
UEFSQU0obm9kZSk7CisjZW5kaWYKIH0KIAogdm9pZCBXZWJQYWdlOjpwb3RlbnRpYWxUYXBBdFBv
c2l0aW9uKHVpbnQ2NF90IHJlcXVlc3RJRCwgY29uc3QgV2ViQ29yZTo6RmxvYXRQb2ludCYgcG9z
aXRpb24pCkBAIC0yNjA4LDEyICsyNjEzLDE0IEBAIHZvaWQgV2ViUGFnZTo6em9vbVRvUmVjdChG
bG9hdFJlY3QgcmVjdCwgZG91YmxlIG1pbmltdW1TY2FsZSwgZG91YmxlIG1heGltdW1TY2FsCiAg
ICAgc2VuZChNZXNzYWdlczo6V2ViUGFnZVByb3h5Ojpab29tVG9SZWN0KHJlY3QsIG1pbmltdW1T
Y2FsZSwgbWF4aW11bVNjYWxlKSk7CiB9CiAKKyNpZiBFTkFCTEUoSU9TX1RPVUNIX0VWRU5UUykK
IHZvaWQgV2ViUGFnZTo6ZGlzcGF0Y2hBc3luY2hyb25vdXNUb3VjaEV2ZW50cyhjb25zdCBWZWN0
b3I8V2ViVG91Y2hFdmVudCwgMT4mIHF1ZXVlKQogewogICAgIGJvb2wgaWdub3JlZDsKICAgICBm
b3IgKGNvbnN0IFdlYlRvdWNoRXZlbnQmIGV2ZW50IDogcXVldWUpCiAgICAgICAgIGRpc3BhdGNo
VG91Y2hFdmVudChldmVudCwgaWdub3JlZCk7CiB9CisjZW5kaWYKIAogdm9pZCBXZWJQYWdlOjpj
b21wdXRlUGFnZXNGb3JQcmludGluZ0FuZFN0YXJ0RHJhd2luZ1RvUERGKHVpbnQ2NF90IGZyYW1l
SUQsIGNvbnN0IFByaW50SW5mbyYgcHJpbnRJbmZvLCB1aW50MzJfdCBmaXJzdFBhZ2UsIFBhc3NS
ZWZQdHI8TWVzc2FnZXM6OldlYlBhZ2U6OkNvbXB1dGVQYWdlc0ZvclByaW50aW5nQW5kU3RhcnRE
cmF3aW5nVG9QREY6OkRlbGF5ZWRSZXBseT4gcmVwbHkpCiB7CmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbSBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCmluZGV4IGUwMzQxOTguLmU0
NTdkMTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdD
b250cm9sbGVyLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdD
b250cm9sbGVyLm1tCkBAIC00NSwxMSArNDUsMTYgQEAKICNlbmRpZgogCiAjaWYgUExBVEZPUk0o
SU9TKQotI2ltcG9ydCA8R3JhcGhpY3NTZXJ2aWNlcy9HcmFwaGljc1NlcnZpY2VzLmg+ICAgICAg
IC8vIGZvciBHU0N1cnJlbnRFdmVudFRpbWVzdGFtcCgpCiAjaW1wb3J0IDxXZWJLaXQvS2V5RXZl
bnRDb2Rlc0lPUy5oPgogI2ltcG9ydCA8V2ViS2l0L1dBS1dpbmRvdy5oPgogI2ltcG9ydCA8V2Vi
S2l0L1dlYkV2ZW50Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgorCisjaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKKyNpbXBvcnQgPEdyYXBoaWNzU2VydmljZXMvR3JhcGhpY3NTZXJ2aWNl
cy5oPgorI2VuZGlmCisKK2V4dGVybiB1aW50NjRfdCBHU0N1cnJlbnRFdmVudFRpbWVzdGFtcCh2
b2lkKTsKICNlbmRpZgogCiAjaWYgIVBMQVRGT1JNKElPUykKLS0gCjEuOS4zIChBcHBsZSBHaXQt
NTApCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243652</attachid>
            <date>2014-12-22 17:09:34 -0800</date>
            <delta_ts>2014-12-23 10:44:46 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137371-20141222170935.patch</filename>
            <type>text/plain</type>
            <size>122579</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3NjYxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZmJiMjcwOGYyM2Y2ZWQx
ZDZhMjJiZDE3ZjI5MDA5Y2U2Yzg5ODM1ZC4uZmExODU5NzkzM2RjNmUxMDEwZjU3OTMwOTIxZmQw
YmZkOGM2MTZmZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE0LTEyLTIyICBEYW5p
ZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYktp
dDIgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogcGxhdGZvcm0vc3BpL0dyYXBoaWNzU2VydmljZXNTUEkuaDogQWRkZWQuCisg
ICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaDogQWRkIENBTGF5ZXIg
U1BJIHByb3BlcnR5IGhpdFRlc3RzQXNPcGFxdWUuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2Nv
Y29hL1NlcnZlcnNTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9zcGkvbWFjL0RhdGFEZXRlY3RvcnNT
UEkuaDogSW5jbHVkZSBoZWFkZXIgRGF0YURldGVjdG9yc0NvcmUvRGF0YURldGVjdG9yc0NvcmVf
UHJpdmF0ZS5oIHdoZW4KKyAgICAgICAgYnVpbGRpbmcgd2l0aCBBcHBsZSBpbnRlcm5hbCBTREss
IGFkZCBmb3J3YXJkIGRlY2xhcmF0aW9uIGZvciAtW0REQWN0aW9uc01hbmFnZXIgbWVudUl0ZW1z
Rm9yVmFsdWU6dHlwZTpzZXJ2aWNlOmNvbnRleHRdLgorCiAyMDE0LTEyLTIyICBBbmRlcnMgQ2Fy
bHNzb24gIDxhbmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgQWRkIGEgU2VjdXJpdHlPcmln
aW5Qb2xpY3kgY2xhc3MKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwppbmRleCA4YzkxOTYwOTNmOGFmYzA1MjQ2ZDhl
M2Q3ZDhjYTljYTY2OWNiMGVlLi5jMmJkZTA3MTIzNGRkYjU0MWY0YzZkODA4OTQzYmJhMzdkYWVl
Y2E2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTQtMTItMjIgIERhbmll
bCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViS2l0
MiBidWlsZCB3aXRoIHB1YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xMzczNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBVc2UgU1BJIHdyYXBwZXIgaGVhZGVycyBpbnN0ZWFkIG9mIGRp
cmVjdGx5IHJlZmVyZW5jZXMgcHJpdmF0ZSBTUEkgaGVhZGVycy4KKworICAgICAgICAqIFBsdWdp
bnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdE1hbmFnZXIubW06CisKIDIwMTQtMTItMjAgIEVy
aWMgQ2FybHNvbiAgPGVyaWMuY2FybHNvbkBhcHBsZS5jb20+CiAKICAgICAgICAgW2lPU10gYWRk
IG9wdGltaXplZCBmdWxsc2NyZWVuIEFQSQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hh
bmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDUxYTE3Njk1ZThlNjIxNWE4
NjNkMDRhOTM5ZjIzMjQ5NTJhMjgzNjUuLmRhMmUzMjA5YWRjOWVmNzA3OWMyYjgzZDk2ZGI4NDQw
OTgwM2QyOGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsNSArMSw3MCBAQAogMjAxNC0xMi0yMiAgRGFuaWVs
IEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CiAKKyAgICAgICAgW2lPU10gTWFrZSBXZWJLaXQy
IGJ1aWxkIHdpdGggcHVibGljIGlPUyBTREsKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5v
cmcvc2hvd19idWcuY2dpP2lkPTEzNzM3MQorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgICogQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZzog
QXBwZW5kIGRpcmVjdG9yeSAkKFNES1JPT1QpJChTWVNURU1fTElCUkFSWV9ESVIpL1ByaXZhdGVG
cmFtZXdvcmtzIHRvCisgICAgICAgIHRoZSBsaXN0IG9mIGRpcmVjdG9yaWVzIHRvIHNlYXJjaCBm
b3IgZnJhbWV3b3JrcyBzbyB0aGF0IHdlIHRoZSBsaW5rZXIgY2FuIGZpbmQgYW5kIGxpbmsgYWdh
aW5zdCBpT1MgcHJpdmF0ZQorICAgICAgICBmcmFtZXdvcmtzIChlLmcuIEFzc2VydGlvblNlcnZp
Y2VzKS4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291cmNlTG9hZGVy
TWFjLm1tOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6OndpbGxDYWNo
ZVJlc3BvbnNlQXN5bmMpOiBBZGQgUExBVEZPUk0oSU9TKS1ndWFyZCBhcm91bmQgY2FsbCB0byBO
ZXR3b3JrRGlza0NhY2hlTW9uaXRvcjo6bW9uaXRvckZpbGVCYWNraW5nU3RvcmVDcmVhdGlvbigp
LgorICAgICAgICAqIFBsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbTogQWRkIGhlYWRl
ciBzeXMvbW1hbi5oLgorICAgICAgICAqIFBsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tOiBN
b3ZlIERhdGFEZXRlY3RvcnNVSSBmb3J3YXJkIGRlY2xhcmF0aW9ucyB0byBEYXRhRGV0ZWN0b3Jz
VUlTUEkuaCBhbmQgaW5jbHVkZSBpdC4KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL0JLU1By
b2Nlc3NBc3NlcnRpb25TUEkuaDogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9D
b3JlUERGU1BJLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvRGF0YURldGVj
dG9yc1VJU1BJLmg6IENvcGllZCBmcm9tIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3Mv
X1VJSGlnaGxpZ2h0Vmlld1NQSS5oLgorICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvTWFuYWdl
ZENvbmZpZ3VyYXRpb25TUEkuaDogQ29waWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2lvcy9fVUlIaWdobGlnaHRWaWV3U1BJLmguCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lv
cy9UQ0NTUEkuaDogQ29waWVkIGZyb20gU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1N5
bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaC4KKyAgICAgICAgKiBQbGF0Zm9ybS9z
cGkvaW9zL1RleHRJbnB1dFNQSS5oOiBSZW5hbWVkIGZyb20gU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2lvcy9fVUlIaWdobGlnaHRWaWV3U1BJLmguCisgICAgICAgICogU2hhcmVkL0Rvd25s
b2Fkcy9pb3MvRG93bmxvYWRJT1MubW06IEFkZCBVU0UoQ0ZORVRXT1JLKS1ndWFyZCBhcm91bmQg
Q0ZOZXR3b3JrLXNwZWNpZmljIGNvZGUgYW5kIGNvbmRpdGlvbmFsbHkKKyAgICAgICAgaW5jbHVk
ZSBoZWFkZXIgQ0ZOZXR3b3JrL0NGVVJMRG93bmxvYWQuaC4KKyAgICAgICAgKFdlYktpdDo6RG93
bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZSk6IERpdHRvLgorICAgICAgICAqIFNoYXJlZC9FbnRyeVBv
aW50VXRpbGl0aWVzL21hYy9MZWdhY3lQcm9jZXNzL0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW06
IEluY2x1ZGUgaGVhZGVyIFNlcnZlcnNTUEkuaCBpbnN0ZWFkCisgICAgICAgIG9mIGRpcmVjdGx5
IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogU2hhcmVkL2lvcy9OYXRpdmVX
ZWJUb3VjaEV2ZW50SU9TLm1tOiBJbmNsdWRlIGhlYWRlciBVSUtpdFNQSS5oIGluc3RlYWQgb2Yg
ZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBTaGFyZWQvbWFj
L1NhbmRib3hVdGlsaXRpZXMuY3BwOiBJbmNsdWRlIGhlYWRlciBzeXMvcGFyYW0uaC4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbTogSW5jbHVkZSBoZWFkZXIgVUlL
aXRTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOiBE
aXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6
IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lPUy5tbTogRGl0dG8u
CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW06
IEluY2x1ZGUgaGVhZGVyIFNlcnZlcnNTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGlu
ZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1w
bElPUy5tbTogSW5jbHVkZSBoZWFkZXIgVUlLaXRTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGlu
Y2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9Qcm9jZXNz
QXNzZXJ0aW9uSU9TLm1tOiBJbmNsdWRlIGhlYWRlciBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmgg
aW5zdGVhZCBvZiBkaXJlY3RseSBpbmNsdWRpbmcgcHJpdmF0ZSBoZWFkZXJzLgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tbTogSW5jbHVkZSBo
ZWFkZXIgVUlLaXRTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhl
YWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1Mu
bW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldC5tbTogRGl0
dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lmg6IElu
Y2x1ZGUgaGVhZGVyIERhdGFEZXRlY3RvcnNVSVNQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5j
bHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQWN0aW9u
U2hlZXRBc3Npc3RhbnQubW06IEluY2x1ZGUgaGVhZGVycyBUQ0NTUEkuaCBhbmQgVUlLaXRTUEku
aCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tOiBJbmNsdWRlIGhlYWRlciBVSUtpdFNQ
SS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4gQWxzbywg
bW92ZSBDQUxheWVyIFNQSQorICAgICAgICBmb3J3YXJkIGRlY2xhcmF0aW9ucyB0byBRdWFydHpD
b3JlU1BJLmgKKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5oOiBJbmNsdWRlIGhlYWRlciBVSUtpdFNQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVk
aW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5tbTogRGl0dG8uIEFsc28sIGluY2x1ZGUgaGVhZGVycyBDb3JlR3JhcGhp
Y3NTUEkuaCwgQ29yZVRleHQvQ1RGb250LmgsIERhdGFEZXRlY3RvcnNVSVNQSS5oLAorICAgICAg
ICBNYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oLCBUZXh0SW5wdXRTUEkuaC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92aWRlcklPU09iakNTZWN1cml0eU9yaWdpbi5t
bTogSW5jbHVkZSBoZWFkZXIgVUlLaXRTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGlu
ZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1i
ZXJJbmRpY2F0b3IubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tQREZWaWV3
Lmg6IEluY2x1ZGUgaGVhZGVyIENvcmVQREZTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1
ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcu
bW06IERpdHRvLiBBbHNvLCByZW1vdmUgaGVhZGVyIF9VSUhpZ2hsaWdodFZpZXdTUEkuaCBhbmQg
aW5jbHVkZSBVSUtpdFNQSS5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3
Lmg6IEluY2x1ZGUgaGVhZGVyIFVJS2l0U1BJLmggaW5zdGVhZCBvZiBkaXJlY3RseSBpbmNsdWRp
bmcgcHJpdmF0ZSBoZWFkZXJzLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWND
bGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tOiBEaXR0by4KKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tOiBEaXR0by4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tOiBEaXR0by4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybUlucHV0Q29udHJvbC5tbTogRGl0dG8u
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1Qb3BvdmVyLm1tOiBEaXR0by4K
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wuaDogRGl0
dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLm1t
OiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBpY2tl
ci5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQ
b3BvdmVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNz
L1dlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbTogSW5jbHVkZSBoZWFkZXJzIFNlcnZlcnNTUEkuaCBh
bmQgR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGluc3RlYWQgb2YKKyAgICAgICAgZGlyZWN0bHkgaW5j
bHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0VudHJ5UG9pbnQv
bWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tOiBJbmNsdWRlIGhl
YWRlciBHcmFwaGljc1NlcnZpY2VzU1BJLmggaW5zdGVhZCBvZiBkaXJlY3RseQorICAgICAgICBp
bmNsdWRpbmcgcHJpdmF0ZSBoZWFkZXJzLgorCisyMDE0LTEyLTIyICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KKwogICAgICAgICBGaXggdGhlIGlPUyBidWlsZCBhZnRlciA8aHR0
cHM6Ly90cmFjLndlYmtpdC5vcmcvY2hhbmdlc2V0LzE3NzYzOT4KICAgICAgICAgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzk4NjYpCiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9X
ZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBkNzNkNWVkODZh
ZmRhNGYxOGEzYzc3ZDRhMmU1NzgzYWVlN2JkNTZjLi45ZWIwZDllYzg4YmJkOWE2ZDA1MjRmMWM4
ODI2MGFmZGM0ZmYxYTRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNzQ5LDcgKzM3NDksNiBAQAogCQlBMTQ4MzJDRDE4N0Y2
ODJFMDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZFNhZmUuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNDgzMjlGMTg3RjUwODcwMERBNjNBNiAvKiBXZWJD
b3JlVGhyZWFkU2FmZS5oICovOyB9OwogCQlBMTQ4MzJDRTE4N0Y2ODM0MDBEQTYzQTYgLyogV2Vi
Q29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ4MzJBMDE4N0Y1MDg3MDBEQTYzQTYgLyogV2ViQ29yZVRo
cmVhZFN5c3RlbUludGVyZmFjZS5jcHAgKi87IH07CiAJCUExNDgzMkNGMTg3RjY4NDcwMERBNjNB
NiAvKiBXZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ4MzJBMTE4N0Y1MDg3MDBEQTYzQTYgLyogV2Vi
Q29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0g
KFByaXZhdGUsICk7IH07IH07Ci0JCUExNzIxODI2MTlERTE4M0YwMDQ2NEQxNyAvKiBfVUlIaWdo
bGlnaHRWaWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBBMTcyMTgyNTE5REUxODNGMDA0NjREMTcgLyogX1VJSGlnaGxpZ2h0Vmlld1NQSS5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUExN0M4MTIy
MEYyQTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3QzgxMjAwRjJBNUNGNzAwNURBQUVC
IC8qIEhUTUxFbGVtZW50RmFjdG9yeS5jcHAgKi87IH07CiAJCUExN0M4MTIzMEYyQTVDRjcwMDVE
QUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IEExN0M4MTIxMEYyQTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVu
dEZhY3RvcnkuaCAqLzsgfTsKIAkJQTFDNzk3MTgxODgzREQ4MjAwMEY1RTFGIC8qIERPTUdlc3R1
cmVFdmVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gMEY1NERDREQxODgwRjkwMTAwM0VFREJCIC8qIERPTUdlc3R1cmVFdmVu
dC5oICovOyB9OwpAQCAtNTc5Niw2ICs1Nzk1LDggQEAKIAkJQ0U3QjJEQjYxNTg2QUJBRDAwOThC
M0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIyMTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0
QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0gKi87IH07CiAJCUNFODI0NUYwMTlCNjcxQkEwMEFDMDEy
MiAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFODI0NUVGMTlCNjcxQkEwMEFDMDEyMiAvKiBDRk5l
dHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQlDRTk1MjA4QTE4MTFCNDc1MDA3QTUzOTIgLyogV2ViU2FmZUlu
Y3JlbWVudGFsU3dlZXBlcklPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQzJDNENCMUQxNjFBMTMxMjAwRDIxNERBIC8qIFdlYlNhZmVJbmNyZW1lbnRh
bFN3ZWVwZXJJT1MuaCAqLzsgfTsKKwkJQ0VDMzM3QUQxQTQ2MDcxRjAwOUI4NTIzIC8qIFNlcnZl
cnNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
QzMzN0FDMUE0NjA3MUYwMDlCODUyMyAvKiBTZXJ2ZXJzU1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0VDMzM3QUYxQTQ2MDg2RDAwOUI4NTIz
IC8qIEdyYXBoaWNzU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IENFQzMzN0FFMUE0NjA4NkQwMDlCODUyMyAvKiBHcmFwaGljc1NlcnZp
Y2VzU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZlLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFQ0FERkMyMTUz
Nzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5jcHAgKi87IH07CiAJCUNFQ0FE
RkM3MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VDQURGQzMxNTM3NzhGRjAwRTM3
MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZlLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0VDQURGQzgxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3Rh
dGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0VDQURGQzQxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkNvbW1hbmQuY3BwICov
OyB9OwpAQCAtNTgwNCw2ICs1ODA1LDcgQEAKIAkJQ0VDQURGQ0UxNTM3NzkxRDAwRTM3MDY4IC8q
IFRleHRJbnNlcnRpb25CYXNlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQ0VDQURGQ0MxNTM3NzkxRDAwRTM3MDY4IC8qIFRleHRJbnNlcnRp
b25CYXNlQ29tbWFuZC5oICovOyB9OwogCQlDRUNDRkMzQjE0MTk3M0Q1MDAyQTBBQzEgLyogRGVj
b2RlRXNjYXBlU2VxdWVuY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRUNDRkMzQTE0MTk3M0Q1MDAyQTBBQzEgLyogRGVjb2RlRXNjYXBlU2VxdWVu
Y2VzLmggKi87IH07CiAJCUNFREExMkQ3MTUyQ0ExQ0IwMEQ5RTA4RCAvKiBBbHRlcm5hdGl2ZVRl
eHRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IENFREExMkQ2MTUyQ0ExQ0IwMEQ5RTA4RCAvKiBBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlDRUUyQjE5RjFB
NDRFMzJEMDA0QjU5RUEgLyogVUlLaXRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFRTJCMTlFMUE0NEUzMkQwMDRCNTlFQSAvKiBVSUtpdFNQSS5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFRUZD
RDc5MTlEQjMxRjcwMDM4NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFRUZDRDc3MTlEQjMxRjcwMDM4
NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmNwcCAqLzsgfTsKIAkJQ0VFRkNEN0ExOURCMzFG
NzAwMzg3NkQ3IC8qIE1lZGlhUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFRUZDRDc4MTlEQjMxRjcwMDM4NzZENyAvKiBNZWRp
YVJlc291cmNlTG9hZGVyLmggKi87IH07CiAJCUNFRUZDRDdDMTlEQjMzREMwMDM4NzZENyAvKiBQ
bGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFRUZDRDdCMTlEQjMzREMwMDM4NzZENyAvKiBQbGF0Zm9ybU1l
ZGlhUmVzb3VyY2VMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwpAQCAtMTA5NzcsNyArMTA5NzksNiBAQAogCQlBMTQ4MzJBOTE4N0Y1MDg3MDBE
QTYzQTYgLyogV0tWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdLVmll
dy5oOyBwYXRoID0gaW9zL3dhay9XS1ZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQTE0ODMyQUExODdGNTA4NzAwREE2M0E2IC8qIFdLVmlldy5tbSAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLVmlldy5tbTsgcGF0aCA9IGlvcy93YWsvV0tWaWV3
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTQ4MzJBQjE4N0Y1MDg3MDBEQTYz
QTYgLyogV0tWaWV3UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBX
S1ZpZXdQcml2YXRlLmg7IHBhdGggPSBpb3Mvd2FrL1dLVmlld1ByaXZhdGUuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTE3MjE4MjUxOURFMTgzRjAwNDY0RDE3IC8qIF9VSUhpZ2hs
aWdodFZpZXdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gX1VJSGlnaGxp
Z2h0Vmlld1NQSS5oOyBwYXRoID0gaW9zL19VSUhpZ2hsaWdodFZpZXdTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE3QzgxMjAwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVt
ZW50RmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBIVE1M
RWxlbWVudEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTdDODEy
MTBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxFbGVtZW50RmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlBMUM3OTcxQzE4ODNFNTFGMDAwRjVFMUYgLyogRE9NSFRNTFRleHRBcmVh
RWxlbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRE9NSFRN
TFRleHRBcmVhRWxlbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAg
LTEzMzI4LDYgKzEzMzI5LDggQEAKIAkJQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRB
bHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBU
ZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
Q0U3QjJEQjIxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5tbSAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRBbHRlcm5hdGl2ZVdp
dGhSYW5nZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U4MjQ1RUYxOUI2NzFC
QTAwQUMwMTIyIC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0VDMzM3QUMxQTQ2MDcxRjAwOUI4NTIzIC8qIFNlcnZl
cnNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmVyc1NQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRUMzMzdBRTFBNDYwODZEMDA5Qjg1MjMgLyog
R3JhcGhpY3NTZXJ2aWNlc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBH
cmFwaGljc1NlcnZpY2VzU1BJLmg7IHBhdGggPSBpb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRUNBREZDMjE1Mzc3OEZGMDBFMzcwNjggLyog
RGljdGF0aW9uQWx0ZXJuYXRpdmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRGljdGF0aW9uQWx0ZXJuYXRpdmUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQlDRUNBREZDMzE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGljdGF0aW9uQWx0ZXJuYXRpdmUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VDQURGQzQxNTM3NzhGRjAwRTM3MDY4IC8q
IERpY3RhdGlvbkNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gRGljdGF0aW9uQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0x
MzMzNiw2ICsxMzMzOSw3IEBACiAJCUNFQ0FERkNDMTUzNzc5MUQwMEUzNzA2OCAvKiBUZXh0SW5z
ZXJ0aW9uQmFzZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4
dEluc2VydGlvbkJhc2VDb21tYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNF
Q0NGQzNBMTQxOTczRDUwMDJBMEFDMSAvKiBEZWNvZGVFc2NhcGVTZXF1ZW5jZXMuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVjb2RlRXNjYXBlU2VxdWVuY2VzLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFREExMkQ2MTUyQ0ExQ0IwMEQ5RTA4RCAvKiBBbHRl
cm5hdGl2ZVRleHRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQWx0
ZXJuYXRpdmVUZXh0Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFRTJC
MTlFMUE0NEUzMkQwMDRCNTlFQSAvKiBVSUtpdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IG5hbWUgPSBVSUtpdFNQSS5oOyBwYXRoID0gaW9zL1VJS2l0U1BJLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCUNFRUM2MDM0MTg3REQ5NjIwMDNFNDNCQiAvKiBUZXh0VHJhY2tS
ZXByZXNlbnRhdGlvbklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0
VHJhY2tSZXByZXNlbnRhdGlvbklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlD
RUVGQ0Q3NzE5REIzMUY3MDAzODc2RDcgLyogTWVkaWFSZXNvdXJjZUxvYWRlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVJlc291cmNlTG9hZGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VFRkNENzgxOURCMzFGNzAwMzg3NkQ3IC8q
IE1lZGlhUmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
TWVkaWFSZXNvdXJjZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTYz
MDUsNiArMTYzMDksNyBAQAogCQkJCUNFMTI1MjU0MUExQkVDMEUwMDg2NDQ4MCAvKiBOU1VSTERv
d25sb2FkU1BJLmggKi8sCiAJCQkJNjUzRUY4MzgxOUEwNDNBRTAwNTIyMDJDIC8qIE5TVVJMRmls
ZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUNFMTI1MjNDMUExNjc2Q0QwMDg2NDQ4MCAvKiBR
dWFydHpDb3JlU1BJLmggKi8sCisJCQkJQ0VDMzM3QUMxQTQ2MDcxRjAwOUI4NTIzIC8qIFNlcnZl
cnNTUEkuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gY29jb2E7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwpAQCAtMTg1NzEsMTIgKzE4NTc2LDEzIEBACiAJCUExNzIxODI0MTlERTE4MkIwMDQ2
NEQxNyAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAot
CQkJCUExNzIxODI1MTlERTE4M0YwMDQ2NEQxNyAvKiBfVUlIaWdobGlnaHRWaWV3U1BJLmggKi8s
CiAJCQkJQ0UxMjUyM0UxQTE2QUUxMjAwODY0NDgwIC8qIEFWS2l0U1BJLmggKi8sCiAJCQkJQ0Ux
MjUyNDIxQTE2QzAxQTAwODY0NDgwIC8qIENvcmVVSVNQSS5oICovLAorCQkJCUNFQzMzN0FFMUE0
NjA4NkQwMDlCODUyMyAvKiBHcmFwaGljc1NlcnZpY2VzU1BJLmggKi8sCiAJCQkJQ0UxMjUyNDgx
QTE2QzNCQzAwODY0NDgwIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLywKIAkJCQlDRTEyNTI0MDFB
MTZCMUI2MDA4NjQ0ODAgLyogTWVkaWFQbGF5ZXJTUEkuaCAqLywKIAkJCQlDRTEyNTIzODFBMTY2
RkEwMDA4NjQ0ODAgLyogUXVpY2tMb29rU1BJLmggKi8sCisJCQkJQ0VFMkIxOUUxQTQ0RTMyRDAw
NEI1OUVBIC8qIFVJS2l0U1BJLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsKIAkJCXNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMzQzNiw3ICsyMzQ0Miw2IEBACiAJCQlpc2EgPSBQQlhI
ZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7CiAJCQlm
aWxlcyA9ICgKLQkJCQlBMTcyMTgyNjE5REUxODNGMDA0NjREMTcgLyogX1VJSGlnaGxpZ2h0Vmll
d1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkUxMTVGQUIxNjc5ODhDRDAwMjQ5MTM0IC8qIEFi
c3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFNEFBREVFMTZEMkMz
NzQwMDAyNkZGQyAvKiBBYnN0cmFjdFNRTFN0YXRlbWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
RkU0QUFERUYxNkQyQzM3NDAwMDI2RkZDIC8qIEFic3RyYWN0U1FMU3RhdGVtZW50QmFja2VuZC5o
IGluIEhlYWRlcnMgKi8sCkBAIC0yNDUyMCw2ICsyNDUyNSw3IEBACiAJCQkJMEY1ODBCMEUwRjEy
QTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQzY5NTkzMTYxQTFFNTMwMDM3MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMEZBMjREN0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBoaWNzTGF5ZXJV
cGRhdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUMzMzdBRjFBNDYwODZEMDA5Qjg1MjMgLyog
R3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMDE1QUIwQUY2Q0Q1
MzAwNkJDRTBFIC8qIEdyYXBoaWNzVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTc3QTE3QTdC
MTJGMjg5MEIwMDRFMDJGNiAvKiBHcmFwaGljc1R5cGVzM0QuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUNEM0UyNTFDMTgwNDZCMDYwMEUyN0Y1NiAvKiBHcmlkQ29vcmRpbmF0ZS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC0yNjExMyw2ICsyNjExOSw3IEBACiAJCQkJMDc3QUYxNDAxOEY0QUU0MDAwMDFFRDYx
IC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwNzdBRjE0MzE4RjRCMUJCMDAwMUVENjEgLyogU2VyaWFsaXplZFBsYXRmb3JtUmVwcmVzZW50
YXRpb25NYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NUU0OTc2MTA3NTJBQ0IwMEM5Qjg5NiAv
KiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFQzMzN0FEMUE0
NjA3MUYwMDlCODUyMyAvKiBTZXJ2ZXJzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDkzQUVF
MzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAwRkVDRkFBIC8qIFNlc3Npb25JRC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJNzVEQ0M3QjgxOEI4MUM4ODAwQTU3MTI4IC8qIFNlc3Npb25JREhhc2gu
aCBpbiBIZWFkZXJzICovLApAQCAtMjY2NDcsNiArMjY2NTQsNyBAQAogCQkJCTkzMzA5RTFBMDk5
RTY0OTIwMDU2RTU4MSAvKiBUeXBpbmdDb21tYW5kLmggaW4gSGVhZGVycyAqLywKIAkJCQk4NTAz
MUI0RTBBNDRFRkM3MDBGOTkyRTAgLyogVUlFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODUw
MzFCNEYwQTQ0RUZDNzAwRjk5MkUwIC8qIFVJRXZlbnRXaXRoS2V5U3RhdGUuaCBpbiBIZWFkZXJz
ICovLAorCQkJCUNFRTJCMTlGMUE0NEUzMkQwMDRCNTlFQSAvKiBVSUtpdFNQSS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQUE0NzM5RDIxNzU3QUZFQzAwRTc2NzY3IC8qIFVJUmVxdWVzdEV2ZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk5QjJEOEE3OTE0OTk3Q0NGMDBFQ0VGM0UgLyogVW5kb1N0ZXAu
aCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjNFMjAxMTM0MzQxMjAwMDI3NDkyNiAvKiBVbmljb2Rl
QmlkaS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3Bp
L2NvY29hL1F1YXJ0ekNvcmVTUEkuaAppbmRleCAzMzBhZDYwMjhlMjFlZmJjOTAxNWE0ZDM4NDEz
MjAwNDc5M2M1MTk0Li43OGQ4OTQxMjczZWU4ZmNmZDY3Njg3NDkwYmJjZDUwMDFmYzgyYWFhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQ
SS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJ
LmgKQEAgLTc3LDYgKzc3LDcgQEAgZXh0ZXJuICJDIiB7CiBAcHJvcGVydHkgQk9PTCBhbGxvd3NH
cm91cEJsZW5kaW5nOwogQHByb3BlcnR5IEJPT0wgY2FuRHJhd0NvbmN1cnJlbnRseTsKIEBwcm9w
ZXJ0eSBCT09MIGNvbnRlbnRzT3BhcXVlOworQHByb3BlcnR5IEJPT0wgaGl0VGVzdHNBc09wYXF1
ZTsKIEBwcm9wZXJ0eSBCT09MIG5lZWRzTGF5b3V0T25HZW9tZXRyeUNoYW5nZTsKIEBwcm9wZXJ0
eSBCT09MIHNoYWRvd1BhdGhJc0JvdW5kczsKIEBlbmQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9TZXJ2ZXJzU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9zcGkvY29jb2EvU2VydmVyc1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZhYzY3ZmYyNmFjNGVhY2Ri
OTYyYjY1ODcxZDMwYTZmNGFmYWVjYmMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvU2VydmVyc1NQSS5oCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFNlcnZlcnNTUElfaAorI2RlZmluZSBTZXJ2ZXJzU1BJX2gKKworI2lu
Y2x1ZGUgPG1hY2gvbWVzc2FnZS5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKwor
I2luY2x1ZGUgPHNlcnZlcnMvYm9vdHN0cmFwLmg+CisKKyNlbHNlCisKK3R5cGVkZWYgY2hhciBu
YW1lX3RbMTI4XTsKKworI2VuZGlmCisKK0VYVEVSTl9DIGtlcm5fcmV0dXJuX3QgYm9vdHN0cmFw
X2xvb2tfdXAobWFjaF9wb3J0X3QsIGNvbnN0IG5hbWVfdCBzZXJ2aWNlTmFtZSwgbWFjaF9wb3J0
X3QgKik7CitFWFRFUk5fQyBrZXJuX3JldHVybl90IGJvb3RzdHJhcF9yZWdpc3RlcjIobWFjaF9w
b3J0X3QsIG5hbWVfdCwgbWFjaF9wb3J0X3QsIHVpbnQ2NF90KTsKKworI2VuZGlmIC8vIFNlcnZl
cnNTUElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9HcmFw
aGljc1NlcnZpY2VzU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0dyYXBo
aWNzU2VydmljZXNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45NTdmZWQ1NmFjN2UxMDlhZTFhNjU2OTUyYzZi
MzE1YmE3MjE2YTVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpZm5kZWYgR3JhcGhpY3NTZXJ2aWNlc1NQSV9oCisjZGVmaW5lIEdyYXBoaWNzU2Vydmlj
ZXNTUElfaAorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8R3JhcGhp
Y3NTZXJ2aWNlcy9HcmFwaGljc1NlcnZpY2VzLmg+CisKKyNlbmRpZgorCitFWFRFUk5fQyB2b2lk
IEdTSW5pdGlhbGl6ZSh2b2lkKTsKK0VYVEVSTl9DIHVpbnQ2NF90IEdTQ3VycmVudEV2ZW50VGlt
ZXN0YW1wKHZvaWQpOworCisjZW5kaWYgLy8gR3JhcGhpY3NTZXJ2aWNlc1NQSV9oCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmggYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjkxNzJhYmYy
OTE2YmRkY2ZhZDEwZjFlYTJjYWU2ZDFmZmZkYTJhMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApAQCAtMCwwICsxLDY1NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisKKyNpZiBVU0UoQVBQTEVfSU5U
RVJOQUxfU0RLKQorCisjaW1wb3J0IDxVSUtpdC9VSUFsZXJ0Q29udHJvbGxlcl9Qcml2YXRlLmg+
CisjaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0
L1VJQmFyQnV0dG9uSXRlbV9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSURhdGVQaWNrZXJf
UHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgorI2ltcG9ydCA8
VUlLaXQvVUlGb250X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJR2VvbWV0cnlfUHJpdmF0
ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXplcl9Qcml2YXRlLmg+CisjaW1w
b3J0IDxVSUtpdC9VSUltYWdlUGlja2VyQ29udHJvbGxlcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxV
SUtpdC9VSUltYWdlX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmRJbXBsLmg+
CisjaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkSW50bC5oPgorI2ltcG9ydCA8VUlLaXQvVUlLZXli
b2FyZF9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25p
emVyX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJUGVyaXBoZXJhbEhvc3QuaD4KKyNpbXBv
cnQgPFVJS2l0L1VJUGVyaXBoZXJhbEhvc3RfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlQ
aWNrZXJDb250ZW50Vmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVBpY2tlclZpZXdf
UHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlTY3JvbGxWaWV3X1ByaXZhdGUuaD4KKyNpbXBv
cnQgPFVJS2l0L1VJU3RyaW5nRHJhd2luZ19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVRh
YmxlVmlld0NlbGxfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlUYXBHZXN0dXJlUmVjb2du
aXplcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVRleHRJbnB1dF9Qcml2YXRlLmg+Cisj
aW1wb3J0IDxVSUtpdC9VSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudF9Qcml2YXRlLmg+CisjaW1w
b3J0IDxVSUtpdC9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbmluZ19Qcml2YXRlLmg+CisjaW1w
b3J0IDxVSUtpdC9VSVZpZXdDb250cm9sbGVyX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJ
Vmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVdLU2VsZWN0aW9uQXNzaXN0YW50Lmg+
CisjaW1wb3J0IDxVSUtpdC9VSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50Lmg+CisjaW1wb3J0
IDxVSUtpdC9VSVdlYkJyb3dzZXJWaWV3Lmg+CisjaW1wb3J0IDxVSUtpdC9VSVdlYkRvY3VtZW50
Vmlldy5oPgorI2ltcG9ydCA8VUlLaXQvVUlXZWJGb3JtQWNjZXNzb3J5Lmg+CisjaW1wb3J0IDxV
SUtpdC9VSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlci5oPgorI2ltcG9ydCA8VUlLaXQvVUlX
ZWJTY3JvbGxWaWV3Lmg+CisjaW1wb3J0IDxVSUtpdC9VSVdlYlRpbGVkVmlldy5oPgorI2ltcG9y
dCA8VUlLaXQvVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CisjaW1wb3J0IDxV
SUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9fVUlCYWNrZHJvcFZpZXdf
UHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvX1VJSGlnaGxpZ2h0Vmlldy5oPgorI2ltcG9ydCA8
VUlLaXQvX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbi5oPgorI2ltcG9ydCA8VUlL
aXQvX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbi5oPgorCisjZWxzZQorCitAaW50ZXJm
YWNlIFVJQWxlcnRDb250cm9sbGVyIChEZXRhaWxzKQorLSAodm9pZClfYWRkQWN0aW9uV2l0aFRp
dGxlOihOU1N0cmluZyAqKXRpdGxlIHN0eWxlOihVSUFsZXJ0QWN0aW9uU3R5bGUpc3R5bGUgaGFu
ZGxlcjoodm9pZCAoXikodm9pZCkpaGFuZGxlcjsKKy0gKHZvaWQpX2FkZEFjdGlvbldpdGhUaXRs
ZTooTlNTdHJpbmcgKil0aXRsZSBzdHlsZTooVUlBbGVydEFjdGlvblN0eWxlKXN0eWxlIGhhbmRs
ZXI6KHZvaWQgKF4pKHZvaWQpKWhhbmRsZXIgc2hvdWxkRGlzbWlzc0hhbmRsZXI6KEJPT0wgKF4p
KHZvaWQpKXNob3VsZERpc21pc3NIYW5kbGVyOworQHByb3BlcnR5IChub25hdG9taWMpIFVJQWxl
cnRDb250cm9sbGVyU3R5bGUgcHJlZmVycmVkU3R5bGU7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlB
cHBsaWNhdGlvbiAoRGV0YWlscykKKy0gKFVJSW50ZXJmYWNlT3JpZW50YXRpb24paW50ZXJmYWNl
T3JpZW50YXRpb247CistICh2b2lkKV9jYW5jZWxBbGxUb3VjaGVzOworQGVuZAorCit0eXBlZGVm
IE5TX0VOVU0oTlNJbnRlZ2VyLCBVSURhdGVQaWNrZXJQcml2YXRlTW9kZSkgIHsKKyAgICBVSURh
dGVQaWNrZXJNb2RlWWVhckFuZE1vbnRoID0gNDI2OSwKK307CisKK0BpbnRlcmZhY2UgVUlEYXRl
UGlja2VyIChEZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBnZXR0ZXI9
X2NvbnRlbnRXaWR0aCkgQ0dGbG9hdCBjb250ZW50V2lkdGg7CitAZW5kCisKKyNkZWZpbmUgVUlD
dXJyZW50VXNlckludGVyZmFjZUlkaW9tSXNQYWQoKSAoW1tVSURldmljZSBjdXJyZW50RGV2aWNl
XSB1c2VySW50ZXJmYWNlSWRpb21dID09IFVJVXNlckludGVyZmFjZUlkaW9tUGFkKQorCitAaW50
ZXJmYWNlIFVJRGV2aWNlIChEZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
LCByZXRhaW4pIE5TU3RyaW5nICpidWlsZFZlcnNpb247CitAZW5kCisKK3R5cGVkZWYgZW51bSB7
CisgICAgVUlGb250VHJhaXRQbGFpbiA9IDB4MDAwMDAwMDAsCit9IFVJRm9udFRyYWl0OworCitA
aW50ZXJmYWNlIFVJRm9udCAoRGV0YWlscykKKysgKFVJRm9udCAqKWZvbnRXaXRoRmFtaWx5TmFt
ZTooTlNTdHJpbmcgKilmYW1pbHlOYW1lIHRyYWl0czooVUlGb250VHJhaXQpdHJhaXRzIHNpemU6
KENHRmxvYXQpZm9udFNpemU7CitAZW5kCisKK3R5cGVkZWYgZW51bSB7CisgICAgVUlBbGxDb3Ju
ZXJzID0gMHhGRiwKK30gVUlSZWN0Q29ybmVyczsKKworQGludGVyZmFjZSBVSUltYWdlUGlja2Vy
Q29udHJvbGxlciAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzZXR0ZXI9X3NldEFs
bG93c011bHRpcGxlU2VsZWN0aW9uOikgQk9PTCBfYWxsb3dzTXVsdGlwbGVTZWxlY3Rpb247CitA
ZW5kCisKK0BpbnRlcmZhY2UgVUlJbWFnZSAoRGV0YWlscykKKy0gKGlkKWluaXRXaXRoQ0dJbWFn
ZTooQ0dJbWFnZVJlZilDR0ltYWdlIGltYWdlT3JpZW50YXRpb246KFVJSW1hZ2VPcmllbnRhdGlv
bilpbWFnZU9yaWVudGF0aW9uOworQGVuZAorCitAcHJvdG9jb2wgVUlLZXlib2FyZEltcGxHZW9t
ZXRyeURlbGVnYXRlCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZHdyaXRlLCBnZXR0ZXI9aXNN
aW5pbWl6ZWQpIEJPT0wgbWluaW1pemVkOworLSAodm9pZClwcmVwYXJlRm9ySW1wbEJvdW5kc0hl
aWdodENoYW5nZTooQ0dGbG9hdCllbmREZWx0YSBzdXBwcmVzc05vdGlmaWNhdGlvbjooQk9PTClz
dXBwcmVzc05vdGlmaWNhdGlvbjsKKy0gKHZvaWQpaW1wbEJvdW5kc0hlaWdodENoYW5nZURvbmU6
KENHRmxvYXQpZW5kRGVsdGEgc3VwcHJlc3NOb3RpZmljYXRpb246KEJPT0wpc3VwcHJlc3NOb3Rp
ZmljYXRpb247CistIChCT09MKXNob3VsZFNhdmVNaW5pbWl6YXRpb25TdGF0ZTsKKy0gKEJPT0wp
Y2FuRGlzbWlzczsKKy0gKEJPT0wpaXNBY3RpdmU7CitAZW5kCisKK0Bwcm90b2NvbCBVSUtleWJv
YXJkQ2FuZGlkYXRlTGlzdERlbGVnYXRlIDxOU09iamVjdD4KK0BvcHRpb25hbAorLSAodm9pZClz
ZXRDYW5kaWRhdGVMaXN0OihpZCljYW5kaWRhdGVMaXN0IHVwZGF0ZUNhbmRpZGF0ZVZpZXc6KEJP
T0wpdXBkYXRlQ2FuZGlkYXRlVmlldzsKKy0gKHZvaWQpY2FuZGlkYXRlTGlzdEFjY2VwdENhbmRp
ZGF0ZTooaWQpY2FuZGlkYXRlTGlzdDsKKy0gKHZvaWQpY2FuZGlkYXRlTGlzdFNlbGVjdGlvbkRp
ZENoYW5nZTooaWQpY2FuZGlkYXRlTGlzdDsKKy0gKHZvaWQpY2FuZGlkYXRlTGlzdFNob3VsZEJl
RGlzbWlzc2VkOihpZCljYW5kaWRhdGVMaXN0OworQGVuZAorCitAaW50ZXJmYWNlIFVJS2V5Ym9h
cmQgOiBVSVZpZXcgPFVJS2V5Ym9hcmRJbXBsR2VvbWV0cnlEZWxlZ2F0ZT4KK0BlbmQKKworQGlu
dGVyZmFjZSBVSUtleWJvYXJkIChEZXRhaWxzKQorKyAoQ0dTaXplKWRlZmF1bHRTaXplRm9ySW50
ZXJmYWNlT3JpZW50YXRpb246KFVJSW50ZXJmYWNlT3JpZW50YXRpb24pb3JpZW50YXRpb247Cist
ICh2b2lkKWFjdGl2YXRlOworLSAodm9pZClnZW9tZXRyeUNoYW5nZURvbmU6KEJPT0wpa2V5Ym9h
cmRWaXNpYmxlOworLSAodm9pZClwcmVwYXJlRm9yR2VvbWV0cnlDaGFuZ2U7CitAZW5kCisKK0Bp
bnRlcmZhY2UgVUlLZXlib2FyZEltcGwgOiBVSVZpZXcgPFVJS2V5Ym9hcmRDYW5kaWRhdGVMaXN0
RGVsZWdhdGU+CitAZW5kCisKK0BpbnRlcmZhY2UgVUlLZXlib2FyZEltcGwgKERldGFpbHMpCisr
IChVSUtleWJvYXJkSW1wbCAqKWFjdGl2ZUluc3RhbmNlOworKyAoVUlLZXlib2FyZEltcGwgKilz
aGFyZWRJbnN0YW5jZTsKKysgKENHU2l6ZSlkZWZhdWx0U2l6ZUZvckludGVyZmFjZU9yaWVudGF0
aW9uOihVSUludGVyZmFjZU9yaWVudGF0aW9uKW9yaWVudGF0aW9uOworLSAodm9pZClhZGRJbnB1
dFN0cmluZzooTlNTdHJpbmcgKilzdHJpbmcgd2l0aEZsYWdzOihOU1VJbnRlZ2VyKWZsYWdzOwor
LSAoQk9PTClhdXRvY29ycmVjdFNwZWxsaW5nRW5hYmxlZDsKKy0gKHZvaWQpZGVsZXRlRnJvbUlu
cHV0OworLSAodm9pZClyZXBsYWNlVGV4dDooaWQpcmVwbGFjZW1lbnQ7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmVhZHdyaXRlLCByZXRhaW4pIFVJUmVzcG9uZGVyIDxVSUtleUlucHV0PiAqZGVs
ZWdhdGU7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlHZXN0dXJlUmVjb2duaXplciAoRGV0YWlscykK
Ky0gKHZvaWQpcmVxdWlyZU90aGVyR2VzdHVyZVRvRmFpbDooVUlHZXN0dXJlUmVjb2duaXplciAq
KWdlc3R1cmVSZWNvZ25pemVyOworQGVuZAorCitAaW50ZXJmYWNlIFVJTG9uZ1ByZXNzR2VzdHVy
ZVJlY29nbml6ZXIgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYykgQ0ZUaW1lSW50ZXJ2
YWwgZGVsYXk7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHUG9pbnQgc3RhcnRQ
b2ludDsKK0BlbmQKKworQGludGVyZmFjZSBfVUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJl
UmVjb2duaXplciA6IFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIKK0BlbmQKKworQGludGVy
ZmFjZSBfVUlXZWJIaWdobGlnaHRMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplciAoRGV0YWlscykK
Ky0gKHZvaWQpY2FuY2VsOworQGVuZAorCitAaW50ZXJmYWNlIFVJUGVyaXBoZXJhbEhvc3QgOiBO
U09iamVjdCA8VUlHZXN0dXJlUmVjb2duaXplckRlbGVnYXRlPgorQGVuZAorCitAY2xhc3MgVUlL
ZXlib2FyZFJvdGF0aW9uU3RhdGU7CisKK0BpbnRlcmZhY2UgVUlQZXJpcGhlcmFsSG9zdCAoRGV0
YWlscykKKysgKFVJUGVyaXBoZXJhbEhvc3QgKilzaGFyZWRJbnN0YW5jZTsKKysgKFVJUGVyaXBo
ZXJhbEhvc3QgKilhY3RpdmVJbnN0YW5jZTsKKy0gKEJPT0wpaXNPblNjcmVlbjsKKy0gKFVJS2V5
Ym9hcmRSb3RhdGlvblN0YXRlICopcm90YXRpb25TdGF0ZTsKK0BlbmQKKworQGludGVyZmFjZSBV
SVBpY2tlckNvbnRlbnRWaWV3IDogVUlWaWV3CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQaWNrZXJD
b250ZW50VmlldyAoRGV0YWlscykKKysoQ0dGbG9hdClfY2hlY2ttYXJrT2Zmc2V0OworLShDR0Zs
b2F0KWxhYmVsV2lkdGhGb3JCb3VuZHM6KENHUmVjdClib3VuZHM7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgZ2V0dGVyPWlzQ2hlY2tlZCkgQk9PTCBjaGVja2VkOworQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBVSUxhYmVsICp0aXRsZUxhYmVsOworQGVuZAorCitAaW50ZXJmYWNlIFVJ
UGlja2VyVmlldyAoRGV0YWlscykKKysgKENHU2l6ZSlkZWZhdWx0U2l6ZUZvckN1cnJlbnRPcmll
bnRhdGlvbjsKKy0gKHZvaWQpX3NldFVzZXNDaGVja2VkU2VsZWN0aW9uOihCT09MKXVzZXNDaGVj
a2VkU2VsZWN0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIHNldHRlcj1fc2V0TWFnbmlmaWVy
RW5hYmxlZDopIEJPT0wgX21hZ25pZmllckVuYWJsZWQ7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlT
Y3JvbGxWaWV3IChEZXRhaWxzKQorLSAodm9pZClfc3RvcFNjcm9sbGluZ0FuZFpvb21pbmdBbmlt
YXRpb25zOworLSAodm9pZClfem9vbVRvQ2VudGVyOihDR1BvaW50KWNlbnRlciBzY2FsZTooQ0dG
bG9hdClzY2FsZSBkdXJhdGlvbjooQ0ZUaW1lSW50ZXJ2YWwpZHVyYXRpb24gZm9yY2U6KEJPT0wp
Zm9yY2U7CistICh2b2lkKV96b29tVG9DZW50ZXI6KENHUG9pbnQpY2VudGVyIHNjYWxlOihDR0Zs
b2F0KXNjYWxlIGR1cmF0aW9uOihDRlRpbWVJbnRlcnZhbClkdXJhdGlvbjsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBnZXR0ZXI9aXNab29tRW5hYmxlZCkgQk9PTCB6b29tRW5hYmxlZDsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgZ2V0dGVyPV9pc0FuaW1hdGluZ1pvb20pIEJPT0wg
aXNBbmltYXRpbmdab29tOworQHByb3BlcnR5IChub25hdG9taWMpIENHRmxvYXQgaG9yaXpvbnRh
bFNjcm9sbERlY2VsZXJhdGlvbkZhY3RvcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBDR0Zsb2F0
IHZlcnRpY2FsU2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yOworQGVuZAorCitAaW50ZXJmYWNlIE5T
U3RyaW5nIChVSUtpdERldGFpbHMpCistIChDR1NpemUpX2xlZ2FjeV9zaXplV2l0aEZvbnQ6KFVJ
Rm9udCAqKWZvbnQgZm9yV2lkdGg6KENHRmxvYXQpd2lkdGggbGluZUJyZWFrTW9kZTooTlNMaW5l
QnJlYWtNb2RlKWxpbmVCcmVha01vZGU7CistIChDR1NpemUpX2xlZ2FjeV9zaXplV2l0aEZvbnQ6
KFVJRm9udCAqKWZvbnQgbWluRm9udFNpemU6KENHRmxvYXQpbWluRm9udFNpemUgYWN0dWFsRm9u
dFNpemU6KENHRmxvYXQgKilhY3R1YWxGb250U2l6ZSBmb3JXaWR0aDooQ0dGbG9hdCl3aWR0aCBs
aW5lQnJlYWtNb2RlOihOU0xpbmVCcmVha01vZGUpbGluZUJyZWFrTW9kZTsKK0BlbmQKKworQGlu
dGVyZmFjZSBVSVRhcEdlc3R1cmVSZWNvZ25pemVyIChEZXRhaWxzKQorQHByb3BlcnR5IChub25h
dG9taWMsIHJlYWRvbmx5KSBDR1BvaW50IGxvY2F0aW9uOworQGVuZAorCitAY2xhc3MgV2ViRXZl
bnQ7CisKK3R5cGVkZWYgZW51bSB7CisgICAgVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZURl
ZmF1bHQgPSAwLAorICAgIFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGVObyA9IDEsCisgICAg
VUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZVllcyA9IDIsCit9IFVJVGV4dFNob3J0Y3V0Q29u
dmVyc2lvblR5cGU7CisKK0Bwcm90b2NvbCBVSVRleHRJbnB1dFRyYWl0c19Qcml2YXRlIDxOU09i
amVjdCwgVUlUZXh0SW5wdXRUcmFpdHM+CistICh2b2lkKXRha2VUcmFpdHNGcm9tOihpZCA8VUlU
ZXh0SW5wdXRUcmFpdHM+KXRyYWl0czsKK0BvcHRpb25hbAorQHByb3BlcnR5IChub25hdG9taWMp
IFVJVGV4dFNob3J0Y3V0Q29udmVyc2lvblR5cGUgc2hvcnRjdXRDb252ZXJzaW9uVHlwZTsKK0Bl
bmQKKworQGNsYXNzIFVJVGV4dElucHV0QXJyb3dLZXlIaXN0b3J5OworCitAcHJvdG9jb2wgVUlU
ZXh0SW5wdXRQcml2YXRlIDxVSVRleHRJbnB1dCwgVUlUZXh0SW5wdXRUb2tlbml6ZXIsIFVJVGV4
dElucHV0VHJhaXRzX1ByaXZhdGU+CitAb3B0aW9uYWwKKy0gKEJPT0wpcmVxdWlyZXNLZXlFdmVu
dHM7CistIChOU0FycmF5ICopbWV0YWRhdGFEaWN0aW9uYXJpZXNGb3JEaWN0YXRpb25SZXN1bHRz
OworLSAoVUlDb2xvciAqKXRleHRDb2xvckZvckNhcmV0U2VsZWN0aW9uOworLSAoVUlGb250ICop
Zm9udEZvckNhcmV0U2VsZWN0aW9uOworLSAoVUlWaWV3ICopYXV0b21hdGljYWxseVNlbGVjdGVk
T3ZlcmxheTsKKy0gKHZvaWQpaGFuZGxlS2V5V2ViRXZlbnQ6KFdlYkV2ZW50ICopZXZlbnQ7Cist
ICh2b2lkKWluc2VydERpY3RhdGlvblJlc3VsdDooTlNBcnJheSAqKWRpY3RhdGlvblJlc3VsdCB3
aXRoQ29ycmVjdGlvbklkZW50aWZpZXI6KGlkKWNvcnJlY3Rpb25JZGVudGlmaWVyOworLSAodm9p
ZClyZXBsYWNlUmFuZ2VXaXRoVGV4dFdpdGhvdXRDbG9zaW5nVHlwaW5nOihVSVRleHRSYW5nZSAq
KXJhbmdlIHJlcGxhY2VtZW50VGV4dDooTlNTdHJpbmcgKil0ZXh0OworLSAodm9pZClzZXRCb3R0
b21CdWZmZXJIZWlnaHQ6KENHRmxvYXQpYm90dG9tQnVmZmVyOworQHByb3BlcnR5IChub25hdG9t
aWMpIFVJVGV4dEdyYW51bGFyaXR5IHNlbGVjdGlvbkdyYW51bGFyaXR5OworQHJlcXVpcmVkCist
IChCT09MKWhhc0NvbnRlbnQ7CistIChCT09MKWhhc1NlbGVjdGlvbjsKKy0gKHZvaWQpc2VsZWN0
QWxsOworQGVuZAorCitAaW50ZXJmYWNlIFVJVGV4dElucHV0VHJhaXRzIDogTlNPYmplY3QgPFVJ
VGV4dElucHV0VHJhaXRzLCBVSVRleHRJbnB1dFRyYWl0c19Qcml2YXRlLCBOU0NvcHlpbmc+CitA
ZW5kCisKK0BpbnRlcmZhY2UgVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgOiBOU09iamVjdAor
QGVuZAorCitAaW50ZXJmYWNlIFVJVGV4dEludGVyYWN0aW9uQXNzaXN0YW50IChEZXRhaWxzKQor
LSAodm9pZClhY3RpdmF0ZVNlbGVjdGlvbjsKKy0gKHZvaWQpZGVhY3RpdmF0ZVNlbGVjdGlvbjsK
Ky0gKHZvaWQpZGlkRW5kU2Nyb2xsaW5nT3ZlcmZsb3c7CistICh2b2lkKXNlbGVjdGlvbkNoYW5n
ZWQ7CistICh2b2lkKXNldEdlc3R1cmVSZWNvZ25pemVyczsKKy0gKHZvaWQpd2lsbFN0YXJ0U2Ny
b2xsaW5nT3ZlcmZsb3c7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlWaWV3Q29udHJvbGxlciAoRGV0
YWlscykKKysgKFVJVmlld0NvbnRyb2xsZXIgKilfdmlld0NvbnRyb2xsZXJGb3JGdWxsU2NyZWVu
UHJlc2VudGF0aW9uRnJvbVZpZXc6KFVJVmlldyAqKXZpZXc7CisrIChVSVZpZXdDb250cm9sbGVy
ICopdmlld0NvbnRyb2xsZXJGb3JWaWV3OihVSVZpZXcgKil2aWV3OworQGVuZAorCitAcHJvdG9j
b2wgVUlWaWV3Q29udHJvbGxlckNvbnRleHRUcmFuc2l0aW9uaW5nRXggPFVJVmlld0NvbnRyb2xs
ZXJDb250ZXh0VHJhbnNpdGlvbmluZz4KKy0gKHZvaWQpX19ydW5BbG9uZ3NpZGVBbmltYXRpb25z
OworLSAodm9pZClfaW50ZXJhY3Rpdml0eURpZENoYW5nZTooQk9PTClpc0ludGVyYWN0aXZlOwor
QHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRBbGxvd1VzZXJJbnRlcmFj
dGlvbjosIGdldHRlcj1fYWxsb3dVc2VySW50ZXJhY3Rpb24pIEJPT0wgX2FsbG93VXNlckludGVy
YWN0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRQZXJjZW50
T2Zmc2V0OikgQ0dGbG9hdCBfcGVyY2VudE9mZnNldDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBy
ZXRhaW4sIHNldHRlcj1fc2V0Q29udGFpbmVyVmlld3M6KSBOU0FycmF5ICpfY29udGFpbmVyVmll
d3M7CitAZW5kCisKK0BpbnRlcmZhY2UgX1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uQ29udGV4
dCA6IE5TT2JqZWN0IDxVSVZpZXdDb250cm9sbGVyQ29udGV4dFRyYW5zaXRpb25pbmdFeD4KK0Bl
bmQKKworQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25Db250ZXh0IChEZXRh
aWxzKQorLSAodm9pZCkgX3NldFRyYW5zaXRpb25Jc0luRmxpZ2h0OihCT09MKWZsYWc7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3NldEFsbG93VXNlckludGVyYWN0aW9u
OiwgZ2V0dGVyPV9hbGxvd1VzZXJJbnRlcmFjdGlvbikgQk9PTCBfYWxsb3dVc2VySW50ZXJhY3Rp
b247CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3NldEFuaW1hdG9yOikg
aWQgPFVJVmlld0NvbnRyb2xsZXJBbmltYXRlZFRyYW5zaXRpb25pbmc+IF9hbmltYXRvcjsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0Q29udGFpbmVyVmlldzopIFVJ
VmlldyAqY29udGFpbmVyVmlldzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRl
cj1fc2V0SW50ZXJhY3RvcjopIGlkIDxVSVZpZXdDb250cm9sbGVySW50ZXJhY3RpdmVUcmFuc2l0
aW9uaW5nPiBfaW50ZXJhY3RvcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRl
cj1fc2V0UGVyY2VudE9mZnNldDopIENHRmxvYXQgX3BlcmNlbnRPZmZzZXQ7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgY29weSwgc2V0dGVyPV9zZXRDb21wbGV0aW9uSGFuZGxlcjopICB2b2lkIChe
X2NvbXBsZXRpb25IYW5kbGVyKShfVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25Db250ZXh0ICpj
b250ZXh0LCBCT09MIHRyYW5zaXRpb25Db21wbGV0ZWQpOworQHByb3BlcnR5IChub25hdG9taWMs
IHJldGFpbiwgc2V0dGVyPV9zZXRDb250YWluZXJWaWV3czopIE5TQXJyYXkgKl9jb250YWluZXJW
aWV3czsKK0BlbmQKKworQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlck9uZVRvT25lVHJhbnNp
dGlvbkNvbnRleHQgOiBfVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25Db250ZXh0CitAZW5kCisK
K0BpbnRlcmZhY2UgX1VJVmlld0NvbnRyb2xsZXJPbmVUb09uZVRyYW5zaXRpb25Db250ZXh0IChE
ZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRGcm9tRW5k
RnJhbWU6KSBDR1JlY3QgZnJvbUVuZEZyYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgc2V0dGVyPV9zZXRGcm9tU3RhcnRGcmFtZTopIENHUmVjdCBmcm9tU3RhcnRGcmFtZTsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0VG9FbmRGcmFtZTopIENHUmVj
dCB0b0VuZEZyYW1lOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRU
b1N0YXJ0RnJhbWU6KSBDR1JlY3QgdG9TdGFydEZyYW1lOworQHByb3BlcnR5IChub25hdG9taWMs
IHJldGFpbiwgc2V0dGVyPV9zZXRGcm9tVmlld0NvbnRyb2xsZXI6KSBVSVZpZXdDb250cm9sbGVy
ICpmcm9tVmlld0NvbnRyb2xsZXI7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWluLCBzZXR0
ZXI9X3NldFRvVmlld0NvbnRyb2xsZXI6KSBVSVZpZXdDb250cm9sbGVyICp0b1ZpZXdDb250cm9s
bGVyOworQGVuZAorCitAcHJvdG9jb2wgVUlWaWV3Q29udHJvbGxlckFuaW1hdGVkVHJhbnNpdGlv
bmluZ0V4IDxVSVZpZXdDb250cm9sbGVyQW5pbWF0ZWRUcmFuc2l0aW9uaW5nPgorLSAoQk9PTClp
bnRlcmFjdGlvbkFib3J0ZWQ7CistIChVSU5hdmlnYXRpb25Db250cm9sbGVyT3BlcmF0aW9uKSBv
cGVyYXRpb247CistIChVSVBlcmNlbnREcml2ZW5JbnRlcmFjdGl2ZVRyYW5zaXRpb24gKilpbnRl
cmFjdGlvbkNvbnRyb2xsZXI7CistICh2b2lkKXNldEludGVyYWN0aW9uQWJvcnRlZDooQk9PTClh
Ym9ydGVkOworLSAodm9pZClzZXRJbnRlcmFjdGlvbkNvbnRyb2xsZXI6KFVJUGVyY2VudERyaXZl
bkludGVyYWN0aXZlVHJhbnNpdGlvbiAqKWNvbnRyb2xsZXI7CistICh2b2lkKXNldE9wZXJhdGlv
bjooVUlOYXZpZ2F0aW9uQ29udHJvbGxlck9wZXJhdGlvbilvcGVyYXRpb247CitAb3B0aW9uYWwK
Ky0gKFVJV2luZG93ICopd2luZG93OworQGVuZAorCit0eXBlZGVmIE5TX0VOVU0gKE5TSW50ZWdl
ciwgX1VJQmFja2Ryb3BNYXNrVmlld0ZsYWdzKSB7CisgICAgX1VJQmFja2Ryb3BNYXNrVmlld05v
bmUgPSAwLAorICAgIF9VSUJhY2tkcm9wTWFza1ZpZXdHcmF5c2NhbGVUaW50ID0gMSA8PCAwLAor
ICAgIF9VSUJhY2tkcm9wTWFza1ZpZXdDb2xvclRpbnQgPSAxIDw8IDEsCisgICAgX1VJQmFja2Ry
b3BNYXNrVmlld0ZpbHRlcnMgPSAxIDw8IDIsCisgICAgX1VJQmFja2Ryb3BNYXNrVmlld0FsbCA9
IF9VSUJhY2tkcm9wTWFza1ZpZXdHcmF5c2NhbGVUaW50IHwgX1VJQmFja2Ryb3BNYXNrVmlld0Nv
bG9yVGludCB8IF9VSUJhY2tkcm9wTWFza1ZpZXdGaWx0ZXJzLAorfTsKKworQGludGVyZmFjZSBV
SVZpZXcgKERldGFpbHMpCisrIChCT09MKV9pc0luQW5pbWF0aW9uQmxvY2s7CistIChDR1NpemUp
c2l6ZTsKKy0gKHZvaWQpc2V0RnJhbWVPcmlnaW46KENHUG9pbnQpb3JpZ2luOworLSAodm9pZClz
ZXRTaXplOihDR1NpemUpc2l6ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRl
cj1fc2V0QmFja2Ryb3BNYXNrVmlld0ZsYWdzOikgTlNJbnRlZ2VyIF9iYWNrZHJvcE1hc2tWaWV3
RmxhZ3M7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlXZWJTZWxlY3Rpb25Bc3Npc3RhbnQgOiBOU09i
amVjdCA8VUlHZXN0dXJlUmVjb2duaXplckRlbGVnYXRlPgorQGVuZAorCitAaW50ZXJmYWNlIFVJ
V2ViU2VsZWN0aW9uQXNzaXN0YW50IChEZXRhaWxzKQorLSAoQk9PTClpc1NlbGVjdGlvbkdlc3R1
cmVSZWNvZ25pemVyOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXI7Cist
IChpZClpbml0V2l0aFZpZXc6KFVJVmlldyAqKXZpZXc7CistICh2b2lkKWNsZWFyU2VsZWN0aW9u
OworLSAodm9pZClkaWRFbmRTY3JvbGxpbmdPclpvb21pbmdQYWdlOworLSAodm9pZClkaWRFbmRT
Y3JvbGxpbmdPdmVyZmxvdzsKKy0gKHZvaWQpcmVzaWduZWRGaXJzdFJlc3BvbmRlcjsKKy0gKHZv
aWQpc2VsZWN0aW9uQ2hhbmdlZDsKKy0gKHZvaWQpc2V0R2VzdHVyZVJlY29nbml6ZXJzOworLSAo
dm9pZCl3aWxsU3RhcnRTY3JvbGxpbmdPclpvb21pbmdQYWdlOworLSAodm9pZCl3aWxsU3RhcnRT
Y3JvbGxpbmdPdmVyZmxvdzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dSZWN0
IHNlbGVjdGlvbkZyYW1lOworQGVuZAorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBVSVdL
U2VsZWN0aW9uVG91Y2gpIHsKKyAgICBVSVdLU2VsZWN0aW9uVG91Y2hTdGFydGVkID0gMCwKKyAg
ICBVSVdLU2VsZWN0aW9uVG91Y2hNb3ZlZCA9IDEsCisgICAgVUlXS1NlbGVjdGlvblRvdWNoRW5k
ZWQgPSAyLAorICAgIFVJV0tTZWxlY3Rpb25Ub3VjaEVuZGVkTW92aW5nRm9yd2FyZCA9IDMsCisg
ICAgVUlXS1NlbGVjdGlvblRvdWNoRW5kZWRNb3ZpbmdCYWNrd2FyZCA9IDQsCisgICAgVUlXS1Nl
bGVjdGlvblRvdWNoRW5kZWROb3RNb3ZpbmcgPSA1LAorfTsKKwordHlwZWRlZiBOU19FTlVNKE5T
SW50ZWdlciwgVUlXS1NlbGVjdGlvbkZsYWdzKSB7CisgICAgVUlXS05vbmUgPSAwLAorICAgIFVJ
V0tXb3JkSXNOZWFyVGFwID0gMSwKKyAgICBVSVdLSXNCbG9ja1NlbGVjdGlvbiA9IDIsCisgICAg
VUlXS1BocmFzZUJvdW5kYXJ5Q2hhbmdlZCA9IDQsCit9OworCit0eXBlZGVmIE5TX0VOVU0oTlNJ
bnRlZ2VyLCBVSVdLR2VzdHVyZVR5cGUpIHsKKyAgICBVSVdLR2VzdHVyZUxvdXBlID0gMCwKKyAg
ICBVSVdLR2VzdHVyZU9uZUZpbmdlclRhcCA9IDEsCisgICAgVUlXS0dlc3R1cmVUYXBBbmRBSGFs
ZiA9IDIsCisgICAgVUlXS0dlc3R1cmVEb3VibGVUYXAgPSAzLAorICAgIFVJV0tHZXN0dXJlVGFw
QW5kSGFsZiA9IDQsCisgICAgVUlXS0dlc3R1cmVEb3VibGVUYXBJblVuZWRpdGFibGUgPSA1LAor
ICAgIFVJV0tHZXN0dXJlT25lRmluZ2VyVGFwSW5VbmVkaXRhYmxlID0gNiwKKyAgICBVSVdLR2Vz
dHVyZU9uZUZpbmdlclRhcFNlbGVjdHNBbGwgPSA3LAorICAgIFVJV0tHZXN0dXJlT25lRmluZ2Vy
RG91YmxlVGFwID0gOCwKKyAgICBVSVdLR2VzdHVyZU9uZUZpbmdlclRyaXBsZVRhcCA9IDksCisg
ICAgVUlXS0dlc3R1cmVUd29GaW5nZXJTaW5nbGVUYXAgPSAxMCwKKyAgICBVSVdLR2VzdHVyZVR3
b0ZpbmdlclJhbmdlZFNlbGVjdEdlc3R1cmUgPSAxMSwKKyAgICBVSVdLR2VzdHVyZVRhcE9uTGlu
a1dpdGhHZXN0dXJlID0gMTIsCisgICAgVUlXS0dlc3R1cmVNYWtlV2ViU2VsZWN0aW9uID0gMTMs
CisgICAgVUlXS0dlc3R1cmVQaHJhc2VCb3VuZGFyeSA9IDE0LAorfTsKKworQGludGVyZmFjZSBV
SVdLU2VsZWN0aW9uQXNzaXN0YW50IDogVUlXZWJTZWxlY3Rpb25Bc3Npc3RhbnQKK0BlbmQKKwor
QGludGVyZmFjZSBVSVdLU2VsZWN0aW9uQXNzaXN0YW50IChEZXRhaWxzKQorLSAoQk9PTClzaG91
bGRIYW5kbGVTaW5nbGVUYXBBdFBvaW50OihDR1BvaW50KXBvaW50OworLSAodm9pZClibG9ja1Nl
bGVjdGlvbkNoYW5nZWRXaXRoVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCB3aXRoRmxh
Z3M6KFVJV0tTZWxlY3Rpb25GbGFncylmbGFncyBncm93VGhyZXNob2xkOihDR0Zsb2F0KWdyb3cg
c2hyaW5rVGhyZXNob2xkOihDR0Zsb2F0KXNocmluazsKKy0gKHZvaWQpc2VsZWN0aW9uQ2hhbmdl
ZFdpdGhHZXN0dXJlQXQ6KENHUG9pbnQpcG9pbnQgd2l0aEdlc3R1cmU6KFVJV0tHZXN0dXJlVHlw
ZSlnZXN0dXJlVHlwZSB3aXRoU3RhdGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlnZXN0dXJl
U3RhdGUgd2l0aEZsYWdzOihVSVdLU2VsZWN0aW9uRmxhZ3MpZmxhZ3M7CistICh2b2lkKXNlbGVj
dGlvbkNoYW5nZWRXaXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6
KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCB3aXRoRmxhZ3M6KFVJV0tTZWxlY3Rpb25GbGFncylm
bGFnczsKKy0gKHZvaWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50
IHdpdGhTZWxlY3Rpb25Ub3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNoOworLSAodm9pZClz
aG93RGljdGlvbmFyeUZvcjooTlNTdHJpbmcgKilzZWxlY3RlZFRlcm0gZnJvbVJlY3Q6KENHUmVj
dClwcmVzZW50YXRpb25SZWN0OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSUxv
bmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyICpzZWxlY3Rpb25Mb25nUHJlc3NSZWNvZ25pemVyOwor
QGVuZAorCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBVSVdLSGFuZGxlUG9zaXRpb24pIHsK
KyAgICBVSVdLSGFuZGxlVG9wID0gMCwKKyAgICBVSVdLSGFuZGxlUmlnaHQgPSAxLAorICAgIFVJ
V0tIYW5kbGVCb3R0b20gPSAyLAorICAgIFVJV0tIYW5kbGVMZWZ0ID0gMywKK307CisKK0BpbnRl
cmZhY2UgVUlXS0F1dG9jb3JyZWN0aW9uUmVjdHMgOiBOU09iamVjdAorQGVuZAorCitAaW50ZXJm
YWNlIFVJV0tBdXRvY29ycmVjdGlvblJlY3RzIChVSVdLQXV0b2NvcnJlY3Rpb25SZWN0c0RldGFp
bHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBDR1JlY3QgZmlyc3RSZWN0OworQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQ0dSZWN0IGxhc3RSZWN0OworQGVuZAorCitAaW50
ZXJmYWNlIFVJV0tBdXRvY29ycmVjdGlvbkNvbnRleHQgOiBOU09iamVjdAorQGVuZAorCitAaW50
ZXJmYWNlIFVJV0tBdXRvY29ycmVjdGlvbkNvbnRleHQgKFVJV0tBdXRvY29ycmVjdGlvbkNvbnRl
eHREZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpjb250ZXh0
QmVmb3JlU2VsZWN0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5TU3RyaW5nICpz
ZWxlY3RlZFRleHQ7CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcgKmNvbnRl
eHRBZnRlclNlbGVjdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmluZyAq
bWFya2VkVGV4dDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIE5TUmFuZ2UgcmFuZ2VJ
bk1hcmtlZFRleHQ7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlXS1RleHRJbnRlcmFjdGlvbkFzc2lz
dGFudCA6IFVJVGV4dEludGVyYWN0aW9uQXNzaXN0YW50CitAZW5kCisKK0BpbnRlcmZhY2UgVUlX
S1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudCAoVUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudERl
dGFpbHMpCistICh2b2lkKXNlbGVjdGlvbkNoYW5nZWRXaXRoR2VzdHVyZUF0OihDR1BvaW50KXBv
aW50IHdpdGhHZXN0dXJlOihVSVdLR2VzdHVyZVR5cGUpZ2VzdHVyZVR5cGUgd2l0aFN0YXRlOihV
SUdlc3R1cmVSZWNvZ25pemVyU3RhdGUpZ2VzdHVyZVN0YXRlIHdpdGhGbGFnczooVUlXS1NlbGVj
dGlvbkZsYWdzKWZsYWdzOworLSAodm9pZClzaG93RGljdGlvbmFyeUZvcjooTlNTdHJpbmcgKilz
ZWxlY3RlZFRlcm0gZnJvbVJlY3Q6KENHUmVjdClwcmVzZW50YXRpb25SZWN0OworLSAodm9pZClz
ZWxlY3Rpb25DaGFuZ2VkV2l0aFRvdWNoQXQ6KENHUG9pbnQpcG9pbnQgd2l0aFNlbGVjdGlvblRv
dWNoOihVSVdLU2VsZWN0aW9uVG91Y2gpdG91Y2g7CistICh2b2lkKXNob3dUZXh0U3R5bGVPcHRp
b25zOworLSAodm9pZCloaWRlVGV4dFN0eWxlT3B0aW9uczsKKworQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5LCByZXRhaW4pIFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKnNpbmdsZVRhcEdl
c3R1cmU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHksIHJldGFpbikgVUlMb25nUHJl
c3NHZXN0dXJlUmVjb2duaXplciAqbG91cGVHZXN0dXJlOworQGVuZAorCitAcHJvdG9jb2wgVUlX
S0ludGVyYWN0aW9uVmlld1Byb3RvY29sCistICh2b2lkKWNoYW5nZVNlbGVjdGlvbldpdGhHZXN0
dXJlQXQ6KENHUG9pbnQpcG9pbnQgd2l0aEdlc3R1cmU6KFVJV0tHZXN0dXJlVHlwZSlnZXN0dXJl
VHlwZSB3aXRoU3RhdGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlzdGF0ZTsKKworLSAodm9p
ZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9u
VG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaCBiYXNlSXNTdGFydDooQk9PTCliYXNlSXNT
dGFydDsKKy0gKHZvaWQpY2hhbmdlU2VsZWN0aW9uV2l0aFRvdWNoZXNGcm9tOihDR1BvaW50KWZy
b20gdG86KENHUG9pbnQpdG8gd2l0aEdlc3R1cmU6KFVJV0tHZXN0dXJlVHlwZSlnZXN0dXJlVHlw
ZSB3aXRoU3RhdGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlnZXN0dXJlU3RhdGU7CistIChD
R1JlY3QpdGV4dEZpcnN0UmVjdDsKKy0gKENHUmVjdCl0ZXh0TGFzdFJlY3Q7CisKKy0gKHZvaWQp
cmVxdWVzdEF1dG9jb3JyZWN0aW9uQ29udGV4dFdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9pZCAo
XikoVUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dCAqYXV0b2NvcnJlY3Rpb25Db250ZXh0KSljb21w
bGV0aW9uSGFuZGxlcjsKKworLSAodm9pZClyZXF1ZXN0QXV0b2NvcnJlY3Rpb25SZWN0c0ZvclN0
cmluZzooTlNTdHJpbmcgKilpbnB1dCB3aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZvaWQgKF4pKFVJ
V0tBdXRvY29ycmVjdGlvblJlY3RzICpyZWN0c0ZvcklucHV0KSljb21wbGV0aW9uSGFuZGxlcjsK
KworLSAodm9pZClhcHBseUF1dG9jb3JyZWN0aW9uOihOU1N0cmluZyAqKWNvcnJlY3Rpb24gdG9T
dHJpbmc6KE5TU3RyaW5nICopaW5wdXQgd2l0aENvbXBsZXRpb25IYW5kbGVyOih2b2lkICheKShV
SVdLQXV0b2NvcnJlY3Rpb25SZWN0cyAqcmVjdHNGb3JDb3JyZWN0aW9uKSljb21wbGV0aW9uSGFu
ZGxlcjsKKworLSAoTlNTdHJpbmcgKiltYXJrZWRUZXh0OworLSAoQk9PTCloYXNNYXJrZWRUZXh0
OworCistIChCT09MKWhhc1NlbGVjdGFibGVQb3NpdGlvbkF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7
CistIChCT09MKXBvaW50SXNJbkFzc2lzdGVkTm9kZTooQ0dQb2ludClwb2ludDsKKy0gKE5TQXJy
YXkgKil3ZWJTZWxlY3Rpb25SZWN0czsKKy0gKHZvaWQpX2NhbmNlbExvbmdQcmVzc0dlc3R1cmVS
ZWNvZ25pemVyOworCitAb3B0aW9uYWwKKy0gKHZvaWQpY2hhbmdlU2VsZWN0aW9uV2l0aFRvdWNo
QXQ6KENHUG9pbnQpcG9pbnQgd2l0aFNlbGVjdGlvblRvdWNoOihVSVdLU2VsZWN0aW9uVG91Y2gp
dG91Y2ggYmFzZUlzU3RhcnQ6KEJPT0wpYmFzZUlzU3RhcnQgd2l0aEZsYWdzOihVSVdLU2VsZWN0
aW9uRmxhZ3MpZmxhZ3M7CistICh2b2lkKWNoYW5nZUJsb2NrU2VsZWN0aW9uV2l0aFRvdWNoQXQ6
KENHUG9pbnQpcG9pbnQgd2l0aFNlbGVjdGlvblRvdWNoOihVSVdLU2VsZWN0aW9uVG91Y2gpdG91
Y2ggZm9ySGFuZGxlOihVSVdLSGFuZGxlUG9zaXRpb24paGFuZGxlOworLSAodm9pZCljbGVhclNl
bGVjdGlvbjsKKy0gKHZvaWQpcmVwbGFjZURpY3RhdGVkVGV4dDooTlNTdHJpbmcgKilvbGRUZXh0
IHdpdGhUZXh0OihOU1N0cmluZyAqKW5ld1RleHQ7CistICh2b2lkKXJlcXVlc3REaWN0YXRpb25D
b250ZXh0Oih2b2lkICheKShOU1N0cmluZyAqc2VsZWN0ZWRUZXh0LCBOU1N0cmluZyAqcHJlZml4
VGV4dCwgTlNTdHJpbmcgKnBvc3RmaXhUZXh0KSljb21wbGV0aW9uSGFuZGxlcjsKKy0gKEJPT0wp
cG9pbnRJc05lYXJNYXJrZWRUZXh0OihDR1BvaW50KXBvaW50OworLSAoTlNTdHJpbmcgKilzZWxl
Y3RlZFRleHQ7CistICh2b2lkKXJlcGxhY2VUZXh0OihOU1N0cmluZyAqKXRleHQgd2l0aFRleHQ6
KE5TU3RyaW5nICopd29yZDsKKy0gKHZvaWQpc2VsZWN0V29yZEZvclJlcGxhY2VtZW50OworLSAo
Qk9PTClpc1JlcGxhY2VBbGxvd2VkOworLSAodm9pZClzZWxlY3RXb3JkQmFja3dhcmQ7CistIChV
SVZpZXcgKil1bnNjYWxlZFZpZXc7CistIChDR0Zsb2F0KWludmVyc2VTY2FsZTsKKy0gKENHUmVj
dCl1bm9ic2N1cmVkQ29udGVudFJlY3Q7CitAZW5kCisKK3R5cGVkZWYgZW51bSB7CisgICAgVUlX
ZWJTZWxlY3Rpb25Nb2RlV2ViID0gMCwKKyAgICBVSVdlYlNlbGVjdGlvbk1vZGVUZXh0T25seSA9
IDEsCit9IFVJV2ViU2VsZWN0aW9uTW9kZTsKKworQHByb3RvY29sIFVJV2ViRm9ybUFjY2Vzc29y
eURlbGVnYXRlOworCitAaW50ZXJmYWNlIFVJV2ViRm9ybUFjY2Vzc29yeSA6IFVJSW5wdXRWaWV3
CitAZW5kCisKK0BpbnRlcmZhY2UgVUlXZWJGb3JtQWNjZXNzb3J5IChEZXRhaWxzKQorLSAodm9p
ZCloaWRlQXV0b0ZpbGxCdXR0b247CistICh2b2lkKXNldENsZWFyVmlzaWJsZTooQk9PTClmbGFn
OworLSAodm9pZClzaG93QXV0b0ZpbGxCdXR0b25XaXRoVGl0bGU6KE5TU3RyaW5nICopdGl0bGU7
CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWluKSBVSUJhckJ1dHRvbkl0ZW0gKl9hdXRvZmls
bDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIGlkIDxVSVdlYkZvcm1BY2Nlc3NvcnlE
ZWxlZ2F0ZT4gZGVsZWdhdGU7CisKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIGdldHRl
cj1pc05leHRFbmFibGVkKSBCT09MIG5leHRFbmFibGVkOworQHByb3BlcnR5IChub25hdG9taWMs
IGFzc2lnbiwgZ2V0dGVyPWlzUHJldmlvdXNFbmFibGVkKSBCT09MIHByZXZpb3VzRW5hYmxlZDsK
K0BlbmQKKworQHByb3RvY29sIFVJV2ViRm9ybUFjY2Vzc29yeURlbGVnYXRlCistICh2b2lkKWFj
Y2Vzc29yeUF1dG9GaWxsOworLSAodm9pZClhY2Nlc3NvcnlDbGVhcjsKKy0gKHZvaWQpYWNjZXNz
b3J5RG9uZTsKKy0gKHZvaWQpYWNjZXNzb3J5VGFiOihCT09MKWlzTmV4dDsKK0BlbmQKKworQGlu
dGVyZmFjZSBVSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlciA6IE5TT2JqZWN0CitAZW5kCisK
K0BpbnRlcmZhY2UgVUlXZWJHZW9sb2NhdGlvblBvbGljeURlY2lkZXIgKERldGFpbHMpCisrIChp
bnN0YW5jZXR5cGUpc2hhcmVkUG9saWN5RGVjaWRlcjsKKy0gKHZvaWQpZGVjaWRlUG9saWN5Rm9y
R2VvbG9jYXRpb25SZXF1ZXN0RnJvbU9yaWdpbjooaWQpc2VjdXJpdHlPcmlnaW4gcmVxdWVzdGlu
Z1VSTDooTlNVUkwgKilyZXF1ZXN0aW5nVVJMIHdpbmRvdzooVUlXaW5kb3cgKil3aW5kb3cgbGlz
dGVuZXI6KGlkKWxpc3RlbmVyOworQGVuZAorCit0eXBlZGVmIGVudW0geworICAgIFVJV2ViVG91
Y2hFdmVudFRvdWNoQmVnaW4gPSAwLAorICAgIFVJV2ViVG91Y2hFdmVudFRvdWNoQ2hhbmdlID0g
MSwKKyAgICBVSVdlYlRvdWNoRXZlbnRUb3VjaEVuZCA9IDIsCisgICAgVUlXZWJUb3VjaEV2ZW50
VG91Y2hDYW5jZWwgPSAzLAorfSBVSVdlYlRvdWNoRXZlbnRUeXBlOworCitzdHJ1Y3QgX1VJV2Vi
VG91Y2hQb2ludCB7CisgICAgQ0dQb2ludCBsb2NhdGlvbkluU2NyZWVuQ29vcmRpbmF0ZXM7Cisg
ICAgQ0dQb2ludCBsb2NhdGlvbkluRG9jdW1lbnRDb29yZGluYXRlczsKKyAgICB1bnNpZ25lZCBp
ZGVudGlmaWVyOworICAgIFVJVG91Y2hQaGFzZSBwaGFzZTsKKyAgICBDR0Zsb2F0IG1ham9yUmFk
aXVzSW5TY3JlZW5Db29yZGluYXRlczsKK307CisKK3N0cnVjdCBfVUlXZWJUb3VjaEV2ZW50IHsK
KyAgICBVSVdlYlRvdWNoRXZlbnRUeXBlIHR5cGU7CisgICAgTlNUaW1lSW50ZXJ2YWwgdGltZXN0
YW1wOworICAgIENHUG9pbnQgbG9jYXRpb25JblNjcmVlbkNvb3JkaW5hdGVzOworICAgIENHUG9p
bnQgbG9jYXRpb25JbkRvY3VtZW50Q29vcmRpbmF0ZXM7CisgICAgQ0dGbG9hdCBzY2FsZTsKKyAg
ICBDR0Zsb2F0IHJvdGF0aW9uOworCisgICAgYm9vbCBpbkphdmFTY3JpcHRHZXN0dXJlOworCisg
ICAgc3RydWN0IF9VSVdlYlRvdWNoUG9pbnQqIHRvdWNoUG9pbnRzOworICAgIHVuc2lnbmVkIHRv
dWNoUG9pbnRDb3VudDsKK307CisKK0Bwcm90b2NvbCBVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJl
Y29nbml6ZXJEZWxlZ2F0ZQorLSAoQk9PTClpc0FueVRvdWNoT3ZlckFjdGl2ZUFyZWE6KE5TU2V0
ICopdG91Y2hlczsKKy0gKEJPT0wpc2hvdWxkSWdub3JlV2ViVG91Y2g7CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyIDogVUlHZXN0dXJlUmVjb2du
aXplcgorQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXpl
ciAoRGV0YWlscykKKy0gKGlkKWluaXRXaXRoVGFyZ2V0OihpZCl0YXJnZXQgYWN0aW9uOihTRUwp
YWN0aW9uIHRvdWNoRGVsZWdhdGU6KGlkIDxVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6
ZXJEZWxlZ2F0ZT4pZGVsZWdhdGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgZ2V0dGVyPWlzRGVm
YXVsdFByZXZlbnRlZCkgQk9PTCBkZWZhdWx0UHJldmVudGVkOworQHByb3BlcnR5IChub25hdG9t
aWMsIHJlYWRvbmx5KSBCT09MIGluSmF2YVNjcmlwdEdlc3R1cmU7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgcmVhZG9ubHkpIENHUG9pbnQgbG9jYXRpb25JbldpbmRvdzsKK0Bwcm9wZXJ0eSAobm9u
YXRvbWljLCByZWFkb25seSkgVUlXZWJUb3VjaEV2ZW50VHlwZSB0eXBlOworQHByb3BlcnR5IChu
b25hdG9taWMsIHJlYWRvbmx5KSBjb25zdCBzdHJ1Y3QgX1VJV2ViVG91Y2hFdmVudCAqbGFzdFRv
dWNoRXZlbnQ7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIF9VSUJhY2tkcm9w
Vmlld1N0eWxlUHJpdmF0ZSkgeworICAgIF9VSUJhY2tkcm9wVmlld1N0eWxlX0xpZ2h0ID0gMjAy
MCwKK307CisKK0BpbnRlcmZhY2UgX1VJQmFja2Ryb3BWaWV3IDogVUlWaWV3CitAZW5kCisKK0Bp
bnRlcmZhY2UgX1VJQmFja2Ryb3BWaWV3IChfVUlCYWNrZHJvcFZpZXdEZXRhaWxzKQorLSAoaW5z
dGFuY2V0eXBlKWluaXRXaXRoUHJpdmF0ZVN0eWxlOihfVUlCYWNrZHJvcFZpZXdTdHlsZVByaXZh
dGUpc3R5bGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgc3Ryb25nLCByZWFkb25seSkgVUlWaWV3
ICpjb250ZW50VmlldzsKK0BlbmQKKworQGludGVyZmFjZSBfVUlIaWdobGlnaHRWaWV3IDogVUlW
aWV3CitAZW5kCisKK0BpbnRlcmZhY2UgX1VJSGlnaGxpZ2h0VmlldyAoRGV0YWlscykKKy0gKHZv
aWQpc2V0Q29sb3I6KFVJQ29sb3IgKilhQ29sb3I7CistICh2b2lkKXNldENvcm5lclJhZGlpOihO
U0FycmF5ICopY29ybmVyUmFkaWk7CistICh2b2lkKXNldENvcm5lclJhZGl1czooQ0dGbG9hdClh
Q29ybmVyUmFkaXVzOworLSAodm9pZClzZXRGcmFtZXM6KE5TQXJyYXkgKilmcmFtZXMgYm91bmRh
cnlSZWN0OihDR1JlY3QpYUJvdW5kYXJSZWN0OworLSAodm9pZClzZXRRdWFkczooTlNBcnJheSAq
KXF1YWRzIGJvdW5kYXJ5UmVjdDooQ0dSZWN0KWFCb3VuZGFyeVJlY3Q7CitAZW5kCisKK0BpbnRl
cmZhY2UgX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbiA6IE5TT2JqZWN0IDxVSVZpZXdD
b250cm9sbGVyQW5pbWF0ZWRUcmFuc2l0aW9uaW5nRXg+CitAZW5kCisKK0BpbnRlcmZhY2UgX1VJ
TmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbiAoRGV0YWlscykKKy0gKGluc3RhbmNldHlwZSkg
aW5pdFdpdGhDdXJyZW50T3BlcmF0aW9uOihVSU5hdmlnYXRpb25Db250cm9sbGVyT3BlcmF0aW9u
KW9wZXJhdGlvbjsKK0BlbmQKKworQHByb3RvY29sIF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRy
YW5zaXRpb25CYXNlRGVsZWdhdGU7CisKK0BpbnRlcmZhY2UgX1VJTmF2aWdhdGlvbkludGVyYWN0
aXZlVHJhbnNpdGlvbkJhc2UgOiBVSVBlcmNlbnREcml2ZW5JbnRlcmFjdGl2ZVRyYW5zaXRpb24g
PFVJR2VzdHVyZVJlY29nbml6ZXJEZWxlZ2F0ZT4KK0BlbmQKKworQGludGVyZmFjZSBfVUlOYXZp
Z2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSAoRGV0YWlscykKKy0gKGlkKWluaXRXaXRo
R2VzdHVyZVJlY29nbml6ZXJWaWV3OihVSVZpZXcgKilnZXN0dXJlUmVjb2duaXplclZpZXcgYW5p
bWF0b3I6KGlkPFVJVmlld0NvbnRyb2xsZXJBbmltYXRlZFRyYW5zaXRpb25pbmc+KWFuaW1hdG9y
IGRlbGVnYXRlOihpZDxfVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZURlbGVn
YXRlPilkZWxlZ2F0ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgc2hvdWxk
UmV2ZXJzZVRyYW5zbGF0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIHJldGFpbikgX1VJTmF2
aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbiAqYW5pbWF0aW9uQ29udHJvbGxlcjsKK0BlbmQKKwor
QHByb3RvY29sIF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlRGVsZWdhdGUg
PE5TT2JqZWN0PgorLSAodm9pZClzdGFydEludGVyYWN0aXZlVHJhbnNpdGlvbjooX1VJTmF2aWdh
dGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2UgKilpbnRlcmFjdGl2ZVRyYW5zaXRpb247Cist
IChCT09MKXNob3VsZEJlZ2luSW50ZXJhY3RpdmVUcmFuc2l0aW9uOihfVUlOYXZpZ2F0aW9uSW50
ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSAqKWludGVyYWN0aXZlVHJhbnNpdGlvbjsKKy0gKEJPT0wp
aW50ZXJhY3RpdmVUcmFuc2l0aW9uOihfVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9u
QmFzZSAqKWludGVyYWN0aXZlVHJhbnNpdGlvbiBnZXN0dXJlUmVjb2duaXplcjooVUlHZXN0dXJl
UmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyIHNob3VsZFJlY29nbml6ZVNpbXVsdGFuZW91
c2x5V2l0aEdlc3R1cmVSZWNvZ25pemVyOihVSUdlc3R1cmVSZWNvZ25pemVyICopb3RoZXJHZXN0
dXJlUmVjb2duaXplcjsKKy0gKEJPT0wpaW50ZXJhY3RpdmVUcmFuc2l0aW9uOihfVUlOYXZpZ2F0
aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSAqKWludGVyYWN0aXZlVHJhbnNpdGlvbiBnZXN0
dXJlUmVjb2duaXplcjooVUlHZXN0dXJlUmVjb2duaXplciAqKWdlc3R1cmVSZWNvZ25pemVyIHNo
b3VsZFJlY2VpdmVUb3VjaDooVUlUb3VjaCAqKXRvdWNoOworLSAoVUlQYW5HZXN0dXJlUmVjb2du
aXplciAqKWdlc3R1cmVSZWNvZ25pemVyRm9ySW50ZXJhY3RpdmVUcmFuc2l0aW9uOihfVUlOYXZp
Z2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSAqKWludGVyYWN0aXZlVHJhbnNpdGlvbiBX
aXRoVGFyZ2V0OihpZCl0YXJnZXQgYWN0aW9uOihTRUwpYWN0aW9uOworQGVuZAorCitAaW50ZXJm
YWNlIFVJV2luZG93IChEZXRhaWxzKQorKyAobWFjaF9wb3J0X3QpX3N5bmNocm9uaXplRHJhd2lu
Z0Fjcm9zc1Byb2Nlc3NlczsKK0BlbmQKKworQGludGVyZmFjZSBVSVdlYlNjcm9sbFZpZXcgOiBV
SVNjcm9sbFZpZXcKK0BlbmQKKworQGludGVyZmFjZSBVSVdlYlRpbGVkVmlldyA6IFVJVmlldwor
QGVuZAorCitAaW50ZXJmYWNlIFVJV2ViRG9jdW1lbnRWaWV3IDogVUlXZWJUaWxlZFZpZXcKK0Bl
bmQKKworQGludGVyZmFjZSBVSVdlYkJyb3dzZXJWaWV3IDogVUlXZWJEb2N1bWVudFZpZXcKK0Bl
bmQKKworQGludGVyZmFjZSBVSVdlYkJyb3dzZXJWaWV3IChEZXRhaWxzKQorLSAoV2ViVmlldyAq
KXdlYlZpZXc7CistICh2b2lkKXNlbmRTY3JvbGxFdmVudElmTmVjZXNzYXJ5V2FzVXNlclNjcm9s
bDooQk9PTCl1c2VyU2Nyb2xsOworQGVuZAorCisjZW5kaWYgLy8gVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKworLy8gRklYTUU6IENhbiB3ZSBtb3ZlIHRoZXNlIGZvcndhcmQgZGVjbGFyYXRpb25z
IGludG8gdGhlIEFwcGxlIGludGVybmFsIFNESyAjaWYvZWxzZS1ibG9jayBhYm92ZT8KK0BpbnRl
cmZhY2UgVUlWaWV3IChJUEkpCistIChVSVNjcm9sbFZpZXcgKilfc2Nyb2xsZXI7CistIChDR1Bv
aW50KWFjY2Vzc2liaWxpdHlDb252ZXJ0UG9pbnRGcm9tU2NlbmVSZWZlcmVuY2VDb29yZGluYXRl
czooQ0dQb2ludClwb2ludDsKKy0gKENHUmVjdClhY2Nlc3NpYmlsaXR5Q29udmVydFJlY3RUb1Nj
ZW5lUmVmZXJlbmNlQ29vcmRpbmF0ZXM6KENHUmVjdClyZWN0OworQGVuZAorCitFWFRFUk5fQyBC
T09MIFVJS2V5Ym9hcmRFbmFibGVkSW5wdXRNb2Rlc0FsbG93T25lVG9NYW55U2hvcnRjdXRzKCk7
CitFWFRFUk5fQyBCT09MIFVJS2V5Ym9hcmRFbmFibGVkSW5wdXRNb2Rlc0FsbG93Q2hpbmVzZVRy
YW5zbGl0ZXJhdGlvbkZvclRleHQoTlNTdHJpbmcgKik7CitFWFRFUk5fQyBCT09MIFVJS2V5Ym9h
cmRDdXJyZW50SW5wdXRNb2RlQWxsb3dzQ2hpbmVzZU9ySmFwYW5lc2VSZWFuYWx5c2lzRm9yVGV4
dChOU1N0cmluZyAqKTsKKworRVhURVJOX0MgY29uc3QgZmxvYXQgVUlUYWJsZUNlbGxEZWZhdWx0
Rm9udFNpemU7CitFWFRFUk5fQyBjb25zdCBmbG9hdCBVSVRhYmxlVmlld0NlbGxEZWZhdWx0Rm9u
dFNpemU7CisKK0VYVEVSTl9DIE5TU3RyaW5nICogY29uc3QgVUlXaW5kb3dEaWRNb3ZlVG9TY3Jl
ZW5Ob3RpZmljYXRpb247CitFWFRFUk5fQyBOU1N0cmluZyAqIGNvbnN0IFVJV2luZG93RGlkUm90
YXRlTm90aWZpY2F0aW9uOworRVhURVJOX0MgTlNTdHJpbmcgKiBjb25zdCBVSVdpbmRvd05ld1Nj
cmVlblVzZXJJbmZvS2V5OworRVhURVJOX0MgTlNTdHJpbmcgKiBjb25zdCBVSVdpbmRvd1dpbGxS
b3RhdGVOb3RpZmljYXRpb247CisKK0VYVEVSTl9DIFVJQXBwbGljYXRpb24gKlVJQXBwOworRVhU
RVJOX0MgQk9PTCBfVUlBcHBsaWNhdGlvblVzZXNMZWdhY3lVSSh2b2lkKTsKKworRVhURVJOX0Mg
dm9pZCBVSUltYWdlRGF0YVdyaXRlVG9TYXZlZFBob3Rvc0FsYnVtKE5TRGF0YSAqaW1hZ2VEYXRh
LCBpZCBjb21wbGV0aW9uVGFyZ2V0LCBTRUwgY29tcGxldGlvblNlbGVjdG9yLCB2b2lkICpjb250
ZXh0SW5mbyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL19V
SUhpZ2hsaWdodFZpZXdTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvX1VJ
SGlnaGxpZ2h0Vmlld1NQSS5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBiNTkzY2Rm
MGZjYzVmMGMwNTBlZjliM2RiYTIxZjJjMzFlMjAwNzFmLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3Mv
X1VJSGlnaGxpZ2h0Vmlld1NQSS5oCisrKyAvZGV2L251bGwKQEAgLTEsNDcgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCi0g
KgotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKLSAqIGFyZSBtZXQ6Ci0gKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKLSAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCi0gKgotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwotICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCi0gKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCi0gKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKLSAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKLSAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCi0gKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKLSAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCi0gKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQotICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgotICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgotICovCi0KLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQotCi0jaW1wb3J0IDxVSUtpdC9f
VUlIaWdobGlnaHRWaWV3Lmg+Ci0KLSNlbHNlCi0KLSNpbXBvcnQgPFVJS2l0L1VJVmlldy5oPgot
Ci1AY2xhc3MgVUlDb2xvcjsKLQotQGludGVyZmFjZSBfVUlIaWdobGlnaHRWaWV3IDogVUlWaWV3
Ci1AZW5kCi0KLUBpbnRlcmZhY2UgX1VJSGlnaGxpZ2h0VmlldyAoUHJpdmF0ZSkKLS0gKHZvaWQp
c2V0Q29sb3I6KFVJQ29sb3IgKiljb2xvcjsKLS0gKHZvaWQpc2V0Q29ybmVyUmFkaXVzOihDR0Zs
b2F0KWNvcm5lclJhZGl1czsKLS0gKHZvaWQpc2V0Q29ybmVyUmFkaWk6KE5TQXJyYXkgKiljb3Ju
ZXJSYWRpaTsKLS0gKHZvaWQpc2V0RnJhbWVzOihOU0FycmF5ICopZnJhbWVzIGJvdW5kYXJ5UmVj
dDooQ0dSZWN0KWJvdW5kYXJ5UmVjdDsKLS0gKHZvaWQpc2V0UXVhZHM6KE5TQXJyYXkgKilxdWFk
cyBib3VuZGFyeVJlY3Q6KENHUmVjdClib3VuZGFyeVJlY3Q7Ci1AZW5kCi0KLSNlbmRpZgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL21hYy9EYXRhRGV0ZWN0b3JzU1BJ
LmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvbWFjL0RhdGFEZXRlY3RvcnNTUEkuaApp
bmRleCA3NmU5NWZlMzIzZGNhZThiNjA5ZjcyODQ4YWRlNWU3ZjExNDMzOGQ5Li4zMzI0ZmEwZjBl
NTMxMzExMmJjOGI0ODZhNGUyODE3YTFiOTA3NGQ4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvbWFjL0RhdGFEZXRlY3RvcnNTUEkuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvbWFjL0RhdGFEZXRlY3RvcnNTUEkuaApAQCAtMjYsNyArMjYsMTEgQEAK
ICNpbXBvcnQgIlNvZnRMaW5raW5nLmgiCiAjaW1wb3J0IDxvYmpjL3J1bnRpbWUuaD4KIAotLy8g
RklYTUU6IFRoaXMgaGVhZGVyIHNob3VsZCBpbmNsdWRlIHZhcmlvdXMgRGF0YURldGVjdG9ycyBT
UEkgaGVhZGVycyBpZiB1c2luZyB0aGUgaW50ZXJuYWwgU0RLLgorI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisKKyNpbXBvcnQgPERhdGFEZXRlY3RvcnNDb3JlL0RhdGFEZXRlY3RvcnNDb3Jl
X1ByaXZhdGUuaD4KKworI2Vsc2UKIAogdHlwZWRlZiBzdHJ1Y3QgX19ERFNjYW5uZXIgRERTY2Fu
bmVyLCAqRERTY2FubmVyUmVmOwogdHlwZWRlZiBzdHJ1Y3QgX19ERFNjYW5RdWVyeSAqRERTY2Fu
UXVlcnlSZWY7CkBAIC00OCwyNSArNTIsMTEgQEAgZW51bSB7CiB9OwogdHlwZWRlZiBDRkluZGV4
IEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9uczsKIAotU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVX
T1JLX09QVElPTkFMKERhdGFEZXRlY3RvcnMpCi1TT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktf
T1BUSU9OQUwoRGF0YURldGVjdG9yc0NvcmUpCi0KLWV4dGVybiAiQyIgewotCi1TT0ZUX0xJTkso
RGF0YURldGVjdG9yc0NvcmUsIEREU2Nhbm5lckNyZWF0ZSwgRERTY2FubmVyUmVmLCAoRERTY2Fu
bmVyVHlwZSB0eXBlLCBERFNjYW5uZXJPcHRpb25zIG9wdGlvbnMsIENGRXJyb3JSZWYqIGVycm9y
UmVmKSwgKHR5cGUsIG9wdGlvbnMsIGVycm9yUmVmKSkKLVNPRlRfTElOSyhEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERTY2FuUXVlcnlDcmVhdGVGcm9tU3RyaW5nLCBERFNjYW5RdWVyeVJlZiwgKENGQWxs
b2NhdG9yUmVmIGFsbG9jYXRvciwgQ0ZTdHJpbmdSZWYgc3RyaW5nLCBDRlJhbmdlIHJhbmdlKSwg
KGFsbG9jYXRvciwgc3RyaW5nLCByYW5nZSkpCi1TT0ZUX0xJTksoRGF0YURldGVjdG9yc0NvcmUs
IEREU2Nhbm5lclNjYW5RdWVyeSwgRERTY2FuUXVlcnlSZWYsIChERFNjYW5uZXJSZWYgc2Nhbm5l
ciwgRERTY2FuUXVlcnlSZWYgcXVlcnkpLCAoc2Nhbm5lciwgcXVlcnkpKQotU09GVF9MSU5LKERh
dGFEZXRlY3RvcnNDb3JlLCBERFNjYW5uZXJDb3B5UmVzdWx0c1dpdGhPcHRpb25zLCBDRkFycmF5
UmVmLCAoRERTY2FubmVyUmVmIHNjYW5uZXIsIEREU2Nhbm5lckNvcHlSZXN1bHRzT3B0aW9ucyBv
cHRpb25zKSwgKHNjYW5uZXIsIG9wdGlvbnMpKQotU09GVF9MSU5LKERhdGFEZXRlY3RvcnNDb3Jl
LCBERFJlc3VsdEdldFJhbmdlLCBDRlJhbmdlLCAoRERSZXN1bHRSZWYgcmVzdWx0KSwgKHJlc3Vs
dCkpCi1TT0ZUX0xJTksoRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0VHlwZSwgQ0ZTdHJp
bmdSZWYsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKLQotfQotCiAjaWYgUExBVEZP
Uk0oTUFDKQotU09GVF9MSU5LX0NMQVNTKERhdGFEZXRlY3RvcnMsIEREQWN0aW9uQ29udGV4dCkK
LQogQGludGVyZmFjZSBEREFjdGlvbkNvbnRleHQgOiBOU09iamVjdCA8TlNDb3B5aW5nLCBOU1Nl
Y3VyZUNvZGluZz4KK0BlbmQKIAorQGludGVyZmFjZSBEREFjdGlvbkNvbnRleHQgKERldGFpbHMp
CiBAcHJvcGVydHkgTlNSZWN0IGhpZ2hsaWdodEZyYW1lOwogQHByb3BlcnR5IChyZXRhaW4pIE5T
QXJyYXkgKmFsbFJlc3VsdHM7CiBAcHJvcGVydHkgKHJldGFpbikgX19hdHRyaWJ1dGVfXygoTlNP
YmplY3QpKSBERFJlc3VsdFJlZiBtYWluUmVzdWx0OwpAQCAtNzQsNyArNjQsNiBAQCBTT0ZUX0xJ
TktfQ0xBU1MoRGF0YURldGVjdG9ycywgRERBY3Rpb25Db250ZXh0KQogQHByb3BlcnR5IChhc3Np
Z24pIEJPT0wgaW1tZWRpYXRlOwogCiAtIChEREFjdGlvbkNvbnRleHQgKiljb250ZXh0Rm9yVmll
dzooTlNWaWV3ICopdmlldyBhbHRNb2RlOihCT09MKWFsdE1vZGUgaW50ZXJhY3Rpb25TdGFydGVk
SGFuZGxlcjoodm9pZCAoXikodm9pZCkpaW50ZXJhY3Rpb25TdGFydGVkSGFuZGxlciBpbnRlcmFj
dGlvbkNoYW5nZWRIYW5kbGVyOih2b2lkICheKSh2b2lkKSlpbnRlcmFjdGlvbkNoYW5nZWRIYW5k
bGVyIGludGVyYWN0aW9uU3RvcHBlZEhhbmRsZXI6KHZvaWQgKF4pKHZvaWQpKWludGVyYWN0aW9u
U3RvcHBlZEhhbmRsZXI7Ci0KIEBlbmQKIAogZW51bSB7CkBAIC05MiwyMCArODEsNDQgQEAgZW51
bSB7CiB9OwogCiB0eXBlZGVmIE5TVUludGVnZXIgRERIaWdobGlnaHRTdHlsZTsKLSNlbmRpZgor
I2VuZGlmIC8vIFBMQVRGT1JNKE1BQykKIAotU09GVF9MSU5LX0NMQVNTKERhdGFEZXRlY3RvcnMs
IEREQWN0aW9uc01hbmFnZXIpCit0eXBlZGVmIHZvaWQqIEREQWN0aW9uQ29udGV4dDsKIAogQGlu
dGVyZmFjZSBEREFjdGlvbnNNYW5hZ2VyIDogTlNPYmplY3QKK0BlbmQKIAorQGludGVyZmFjZSBE
REFjdGlvbnNNYW5hZ2VyIChEZXRhaWxzKQogKyAoRERBY3Rpb25zTWFuYWdlciAqKXNoYXJlZE1h
bmFnZXI7CiAtIChOU0FycmF5ICopbWVudUl0ZW1zRm9yUmVzdWx0OihERFJlc3VsdFJlZilyZXN1
bHQgYWN0aW9uQ29udGV4dDooRERBY3Rpb25Db250ZXh0ICopY29udGV4dDsKIC0gKE5TQXJyYXkg
KiltZW51SXRlbXNGb3JUYXJnZXRVUkw6KE5TU3RyaW5nICopdGFyZ2V0VVJMIGFjdGlvbkNvbnRl
eHQ6KEREQWN0aW9uQ29udGV4dCAqKWNvbnRleHQ7CistIChOU0FycmF5ICopbWVudUl0ZW1zRm9y
VmFsdWU6KE5TU3RyaW5nICopdmFsdWUgdHlwZTooQ0ZTdHJpbmdSZWYpdHlwZSBzZXJ2aWNlOihO
U1N0cmluZyAqKXNlcnZpY2UgY29udGV4dDooRERBY3Rpb25Db250ZXh0ICopY29udGV4dDsKIC0g
KHZvaWQpcmVxdWVzdEJ1YmJsZUNsb3N1cmVVbmFuY2hvck9uRmFpbHVyZTooQk9PTCl1bmFuY2hv
ck9uRmFpbHVyZTsKIAogKyAoQk9PTClzaG91bGRVc2VBY3Rpb25zV2l0aENvbnRleHQ6KEREQWN0
aW9uQ29udGV4dCAqKWNvbnRleHQ7CiArICh2b2lkKWRpZFVzZUFjdGlvbnM7CiAKIC0gKEJPT0wp
aGFzQWN0aW9uc0ZvclJlc3VsdDooRERSZXN1bHRSZWYpcmVzdWx0IGFjdGlvbkNvbnRleHQ6KERE
QWN0aW9uQ29udGV4dCAqKWFjdGlvbkNvbnRleHQ7Ci0KIEBlbmQKKyNlbmRpZiAvLyBVU0UoQVBQ
TEVfSU5URVJOQUxfU0RLKQorCitTT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUktfT1BUSU9OQUwo
RGF0YURldGVjdG9ycykKK1NPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SS19PUFRJT05BTChEYXRh
RGV0ZWN0b3JzQ29yZSkKKworZXh0ZXJuICJDIiB7CisKK1NPRlRfTElOSyhEYXRhRGV0ZWN0b3Jz
Q29yZSwgRERTY2FubmVyQ3JlYXRlLCBERFNjYW5uZXJSZWYsIChERFNjYW5uZXJUeXBlIHR5cGUs
IEREU2Nhbm5lck9wdGlvbnMgb3B0aW9ucywgQ0ZFcnJvclJlZiogZXJyb3JSZWYpLCAodHlwZSwg
b3B0aW9ucywgZXJyb3JSZWYpKQorU09GVF9MSU5LKERhdGFEZXRlY3RvcnNDb3JlLCBERFNjYW5R
dWVyeUNyZWF0ZUZyb21TdHJpbmcsIEREU2NhblF1ZXJ5UmVmLCAoQ0ZBbGxvY2F0b3JSZWYgYWxs
b2NhdG9yLCBDRlN0cmluZ1JlZiBzdHJpbmcsIENGUmFuZ2UgcmFuZ2UpLCAoYWxsb2NhdG9yLCBz
dHJpbmcsIHJhbmdlKSkKK1NPRlRfTElOSyhEYXRhRGV0ZWN0b3JzQ29yZSwgRERTY2FubmVyU2Nh
blF1ZXJ5LCBERFNjYW5RdWVyeVJlZiwgKEREU2Nhbm5lclJlZiBzY2FubmVyLCBERFNjYW5RdWVy
eVJlZiBxdWVyeSksIChzY2FubmVyLCBxdWVyeSkpCitTT0ZUX0xJTksoRGF0YURldGVjdG9yc0Nv
cmUsIEREU2Nhbm5lckNvcHlSZXN1bHRzV2l0aE9wdGlvbnMsIENGQXJyYXlSZWYsIChERFNjYW5u
ZXJSZWYgc2Nhbm5lciwgRERTY2FubmVyQ29weVJlc3VsdHNPcHRpb25zIG9wdGlvbnMpLCAoc2Nh
bm5lciwgb3B0aW9ucykpCitTT0ZUX0xJTksoRGF0YURldGVjdG9yc0NvcmUsIEREUmVzdWx0R2V0
UmFuZ2UsIENGUmFuZ2UsIChERFJlc3VsdFJlZiByZXN1bHQpLCAocmVzdWx0KSkKK1NPRlRfTElO
SyhEYXRhRGV0ZWN0b3JzQ29yZSwgRERSZXN1bHRHZXRUeXBlLCBDRlN0cmluZ1JlZiwgKEREUmVz
dWx0UmVmIHJlc3VsdCksIChyZXN1bHQpKQorCit9CisKKyNpZiBQTEFURk9STShNQUMpCitTT0ZU
X0xJTktfQ0xBU1MoRGF0YURldGVjdG9ycywgRERBY3Rpb25Db250ZXh0KQorI2VuZGlmCitTT0ZU
X0xJTktfQ0xBU1MoRGF0YURldGVjdG9ycywgRERBY3Rpb25zTWFuYWdlcikKK1NPRlRfTElOS19D
TEFTUyhEYXRhRGV0ZWN0b3JzLCBEREFjdGlvbikKK1NPRlRfTElOS19DT05TVEFOVChEYXRhRGV0
ZWN0b3JzLCBEREJpbmRlclBob25lTnVtYmVyS2V5LCBDRlN0cmluZ1JlZikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdE1hbmFn
ZXIubW0gYi9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkhv
c3RNYW5hZ2VyLm1tCmluZGV4IGVjZmIzNGMxMDg5NWM1N2U2OGFjYTg4Y2YzOGY2ZDhkMmY3NmQ4
YjIuLjFmOWZhY2JiZGYyMDU0ODk3YWU2MTcxYWM1MTgwYmU5N2YwZWU3OGQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdE1hbmFn
ZXIubW0KKysrIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVn
aW5Ib3N0TWFuYWdlci5tbQpAQCAtMjksMTIgKzI5LDEyIEBACiAKICNpbXBvcnQgIk5ldHNjYXBl
UGx1Z2luSG9zdFByb3h5LmgiCiAjaW1wb3J0ICJOZXRzY2FwZVBsdWdpbkluc3RhbmNlUHJveHku
aCIKLSNpbXBvcnQgIldlYkxvY2FsaXphYmxlU3RyaW5nc0ludGVybmFsLmgiCiAjaW1wb3J0ICJX
ZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaCIKKyNpbXBvcnQgIldlYkxvY2FsaXphYmxlU3RyaW5nc0lu
dGVybmFsLmgiCiAjaW1wb3J0ICJXZWJOZXRzY2FwZVBsdWdpblBhY2thZ2UuaCIKKyNpbXBvcnQg
PFdlYkNvcmUvU2VydmVyc1NQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlTlNTdHJpbmdF
eHRyYXMuaD4KICNpbXBvcnQgPG1hY2gvbWFjaF9wb3J0Lmg+Ci0jaW1wb3J0IDxzZXJ2ZXJzL2Jv
b3RzdHJhcC5oPgogI2ltcG9ydCA8c3Bhd24uaD4KICNpbXBvcnQgPHd0Zi9Bc3NlcnRpb25zLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
b25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnIGIvU291cmNlL1dlYktpdDIvQ29uZmln
dXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwppbmRleCA2NzJhZmI2NTQ0MjE5NmY5NmQ4M2Fk
MTdkYTQyM2FjNTY2ZmFiOWYyLi4yYTNjNDBiMzkxMGUzNzBmYzQxOWJhNTY3MGY5NTM4ZjM2OGMz
MThhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0
LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQu
eGNjb25maWcKQEAgLTI0LDcgKzI0LDEwIEBACiAjaW5jbHVkZSAiRmVhdHVyZURlZmluZXMueGNj
b25maWciCiAjaW5jbHVkZSAiVmVyc2lvbi54Y2NvbmZpZyIKIAotRlJBTUVXT1JLX1NFQVJDSF9Q
QVRIUyA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpICQoRlJBTUVXT1JLX1NFQVJDSF9QQVRI
Uyk7CitGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UgPSAkKFVNQlJFTExBX0ZSQU1FV09SS1Nf
RElSKSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU1tz
ZGs9aXBob25lKl0gPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSkgJChTREtST09UKSQo
U1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3JrczsKK0ZSQU1FV09SS19TRUFSQ0hf
UEFUSFMgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSk7CisKIEdDQ19QUkVGSVhfSEVB
REVSID0gV2ViS2l0MlByZWZpeC5oOwogR0NDX1BSRVBST0NFU1NPUl9ERUZJTklUSU9OUyA9ICQo
REVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpIEZSQU1FV09SS19OQU1FPVdlYktpdAog
SEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5j
bHVkZSAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnMgJChX
RUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL2ljdSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0MiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJjZUxvYWRlck1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXJNYWMubW0KaW5kZXggNWZlOWViN2UzOTE0YThkZjMyOTZlNWM4MDVlZTdiMzI5MjIzYzZi
Ni4uNTA2MWNjNThiMDYxMWZhZjQ1ZDc4YWU1MTg2MmI5ZDVlZWJkMWYxMSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJjZUxvYWRlck1h
Yy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291
cmNlTG9hZGVyTWFjLm1tCkBAIC0xMDQsNyArMTA0LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VM
b2FkZXI6OndpbGxDYWNoZVJlc3BvbnNlQXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgTlND
YWMKIHsKICAgICBBU1NFUlRfVU5VU0VEKGhhbmRsZSwgaGFuZGxlID09IG1faGFuZGxlKTsKIAot
I2lmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAorI2lmIFBMQVRGT1JN
KElPUykgfHwgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiAgICAgaWYg
KG1fYnl0ZXNSZWNlaXZlZCA+PSBmaWxlQmFja2VkUmVzb3VyY2VNaW5pbXVtU2l6ZSgpKQogICAg
ICAgICBOZXR3b3JrRGlza0NhY2hlTW9uaXRvcjo6bW9uaXRvckZpbGVCYWNraW5nU3RvcmVDcmVh
dGlvbihbbnNSZXNwb25zZSBfQ0ZDYWNoZWRVUkxSZXNwb25zZV0sIHRoaXMpOwogI2VuZGlmCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMu
bW0gYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5k
ZXggODRhODUwYmQ3ZTFkMThkYjIwMmRiMmQ0ODU3YzE4ZGQwZmUxYjJlNi4uNTdjOWYyMGQ4YmMx
NTI3NDM3OTE0MDQ5ZjllOTAxN2Q1NzZiOTljMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1
ZGUgPFdlYkNvcmUvQVhPYmplY3RDYWNoZS5oPgogI2luY2x1ZGUgPG1hY2gvbWFjaF9lcnJvci5o
PgogI2luY2x1ZGUgPG1hY2gvdm1fbWFwLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNs
dWRlIDx3dGYvUnVuTG9vcC5oPgogI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL1hQQ1NQSS5oPgog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9tYWMvTWVudVV0aWxpdGllcy5t
bSBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCmluZGV4IDky
NzYyY2FlOTRjZmE0NDgxNzVlOWJiMTk2ZTQzYzA4NGExMDcxMDMuLjhiOWU5OGVkYTA0NGM1MDE3
ZjVmNTVlZDkwZDMxYjY5ZGQ0NGQ4YjYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL21hYy9NZW51VXRpbGl0aWVzLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL21h
Yy9NZW51VXRpbGl0aWVzLm1tCkBAIC0yOCwzNCArMjgsMTUgQEAKIAogI2ltcG9ydCAiU3RyaW5n
VXRpbGl0aWVzLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KLSNpbXBv
cnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KLSNpbXBvcnQgPG9iamMvcnVudGltZS5oPgogCiAj
aWYgRU5BQkxFKFRFTEVQSE9ORV9OVU1CRVJfREVURUNUSU9OKSAmJiBQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMDAwCi0KKyNpbXBvcnQgIkRh
dGFEZXRlY3RvcnNVSVNQSS5oIgogI2ltcG9ydCA8V2ViQ29yZS9UVUNhbGxTUEkuaD4KLQotU09G
VF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKERhdGFEZXRlY3RvcnMpCi1TT0ZUX0xJTktfQ0xBU1Mo
RGF0YURldGVjdG9ycywgRERBY3Rpb24pCi1TT0ZUX0xJTktfQ0xBU1MoRGF0YURldGVjdG9ycywg
RERBY3Rpb25zTWFuYWdlcikKLVNPRlRfTElOS19DT05TVEFOVChEYXRhRGV0ZWN0b3JzLCBEREJp
bmRlclBob25lTnVtYmVyS2V5LCBDRlN0cmluZ1JlZikKLQotQGludGVyZmFjZSBEREFjdGlvbiA6
IE5TT2JqZWN0Ci1AcHJvcGVydHkgKHJlYWRvbmx5KSBOU1N0cmluZyAqYWN0aW9uVVRJOwotQGVu
ZAotCi10eXBlZGVmIHZvaWQqIEREQWN0aW9uQ29udGV4dDsKLQotQGludGVyZmFjZSBEREFjdGlv
bnNNYW5hZ2VyIDogTlNPYmplY3QKLSsgKEREQWN0aW9uc01hbmFnZXIgKilzaGFyZWRNYW5hZ2Vy
OwotLSAoTlNBcnJheSAqKW1lbnVJdGVtc0ZvclZhbHVlOihOU1N0cmluZyAqKXZhbHVlIHR5cGU6
KENGU3RyaW5nUmVmKXR5cGUgc2VydmljZTooTlNTdHJpbmcgKilzZXJ2aWNlIGNvbnRleHQ6KERE
QWN0aW9uQ29udGV4dCAqKWNvbnRleHQ7Ci1AZW5kCiAjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktp
dCB7CiAKICNpZiBFTkFCTEUoVEVMRVBIT05FX05VTUJFUl9ERVRFQ1RJT04pICYmIFBMQVRGT1JN
KE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEwMDAKLQogTlNT
dHJpbmcgKm1lbnVJdGVtVGl0bGVGb3JUZWxlcGhvbmVOdW1iZXJHcm91cCgpCiB7CiAgICAgaWYg
KFtnZXRUVUNhbGxDbGFzcygpIHJlc3BvbmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc3VwcGxlbWVu
dGFsRGlhbFRlbGVwaG9ueUNhbGxTdHJpbmcpXSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL3NwaS9pb3MvQktTUHJvY2Vzc0Fzc2VydGlvblNQSS5oIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9CS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
NjMxYWJmYWRkMGYzNWQ5YTVmZGUxYzA2YTM1YzY0OTQzNGViZDc0NgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvQktTUHJvY2Vzc0Fzc2VydGlvblNQ
SS5oCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAq
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VS
RU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPEFzc2VydGlvblNlcnZpY2VzL0JLU1Byb2Nl
c3NBc3NlcnRpb24uaD4KKworI2Vsc2UKKworZW51bSB7CisgICAgQktTUHJvY2Vzc0Fzc2VydGlv
bk5vbmUgPSAwLAorICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgID0g
MSA8PCAwLAorICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1Rocm90dGxlRG93biA9
IDEgPDwgMSwKKyAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uQWxsb3dJZGxlU2xlZXAgPSAxIDw8IDIs
CisgICAgQktTUHJvY2Vzc0Fzc2VydGlvbldhbnRzRm9yZWdyb3VuZFJlc291cmNlUHJpb3JpdHkg
PSAxIDw8IDMsCisgICAgQktTUHJvY2Vzc0Fzc2VydGlvbkFsbG93U3VzcGVuZE9uU2xlZXAgPSAx
IDw8IDQsCit9OwordHlwZWRlZiB1aW50MzJfdCBCS1NQcm9jZXNzQXNzZXJ0aW9uRmxhZ3M7CisK
K2VudW0geworICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25FeHRlbnNpb24gPSAxMywKK307
Cit0eXBlZGVmIHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb247CisKK3R5cGVkZWYg
dm9pZCheQktTUHJvY2Vzc0Fzc2VydGlvbkFjcXVpc2l0aW9uSGFuZGxlcikoQk9PTCBhY3F1aXJl
ZCk7CisKK0BpbnRlcmZhY2UgQktTUHJvY2Vzc0Fzc2VydGlvbiA6IE5TT2JqZWN0CitAZW5kCisK
K0BpbnRlcmZhY2UgQktTUHJvY2Vzc0Fzc2VydGlvbiAoRGV0YWlscykKKy0gKGlkKWluaXRXaXRo
UElEOihwaWRfdClwaWQgZmxhZ3M6KEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFncylmbGFncyByZWFz
b246KEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb24pcmVhc29uIG5hbWU6KE5TU3RyaW5nICopbmFt
ZSB3aXRoSGFuZGxlcjooQktTUHJvY2Vzc0Fzc2VydGlvbkFjcXVpc2l0aW9uSGFuZGxlciloYW5k
bGVyOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQktTUHJvY2Vzc0Fzc2VydGlvbkZs
YWdzIGZsYWdzOworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvQ29yZVBERlNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9Db3JlUERGU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjM5NTgxMzUzMTY2YWY3M2M3ZDg2NTkwMmQz
NzkzMGU3MThiNGNhYwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvQ29yZVBERlNQSS5oCkBAIC0wLDAgKzEsMTIzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lt
cG9ydCA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8VUlLaXQvVUlLaXQu
aD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPENvcmVQREYvVUlQ
REZBbm5vdGF0aW9uQ29udHJvbGxlci5oPgorI2ltcG9ydCA8Q29yZVBERi9VSVBERkRvY3VtZW50
Lmg+CisjaW1wb3J0IDxDb3JlUERGL1VJUERGTGlua0Fubm90YXRpb24uaD4KKyNpbXBvcnQgPENv
cmVQREYvVUlQREZQYWdlLmg+CisjaW1wb3J0IDxDb3JlUERGL1VJUERGUGFnZVZpZXcuaD4KKwor
I2Vsc2UKKworQGludGVyZmFjZSBVSVBERlBhZ2UgOiBOU09iamVjdAorQGVuZAorCitAaW50ZXJm
YWNlIFVJUERGUGFnZSAoRGV0YWlscykKKy0gKENHUmVjdCljcm9wQm94QWNjb3VudEZvclJvdGF0
aW9uOworQGVuZAorCitAaW50ZXJmYWNlIFVJUERGRG9jdW1lbnQgOiBOU09iamVjdAorQGVuZAor
CitAaW50ZXJmYWNlIFVJUERGRG9jdW1lbnQgKERldGFpbHMpCistIChVSVBERlBhZ2UgKilwYWdl
QXRJbmRleDooTlNVSW50ZWdlcilpbmRleDsKKy0gKGlkKWluaXRXaXRoQ0dQREZEb2N1bWVudDoo
Q0dQREZEb2N1bWVudFJlZilkb2N1bWVudDsKK0Bwcm9wZXJ0eSAoYXNzaWduLCByZWFkb25seSkg
TlNVSW50ZWdlciBudW1iZXJPZlBhZ2VzOworQHByb3BlcnR5IChyZWFkb25seSkgQ0dQREZEb2N1
bWVudFJlZiBDR0RvY3VtZW50OworQGVuZAorCit0eXBlZGVmIGVudW0geworICAgIGtVSVBERk9i
amVjdEtpbmRHcmFwaGljID0gMSwKK30gVUlQREZPYmplY3RLaW5kOworCitAY2xhc3MgVUlQREZQ
YWdlVmlldzsKK0Bwcm90b2NvbCBVSVBERkFubm90YXRpb25Db250cm9sbGVyRGVsZWdhdGU7CisK
K0BpbnRlcmZhY2UgVUlQREZBbm5vdGF0aW9uQ29udHJvbGxlciA6IE5TT2JqZWN0PFVJR2VzdHVy
ZVJlY29nbml6ZXJEZWxlZ2F0ZT4KK0BlbmQKKworQGludGVyZmFjZSBVSVBERkFubm90YXRpb25D
b250cm9sbGVyIChEZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSVBE
RlBhZ2VWaWV3ICpwYWdlVmlldzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIGlkPE5T
T2JqZWN0LCBVSVBERkFubm90YXRpb25Db250cm9sbGVyRGVsZWdhdGU+IGRlbGVnYXRlOworQGVu
ZAorCitAcHJvdG9jb2wgVUlQREZQYWdlVmlld0RlbGVnYXRlOworCitAaW50ZXJmYWNlIFVJUERG
UGFnZVZpZXcgOiBVSVZpZXcKK0BlbmQKKworQGludGVyZmFjZSBVSVBERlBhZ2VWaWV3IChEZXRh
aWxzKQorLSAoaWQpaW5pdFdpdGhQYWdlOihVSVBERlBhZ2UgKikgcGFnZSB0aWxlZENvbnRlbnQ6
KEJPT0wpdGlsZWQ7CistIChDR1JlY3QpY29udmVydFJlY3RGcm9tUERGUGFnZVNwYWNlOihDR1Jl
Y3QpcDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgdXNlQmFja2luZ0xheWVy
OworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgaWQ8TlNPYmplY3QsIFVJUERGUGFnZVZp
ZXdEZWxlZ2F0ZT4gZGVsZWdhdGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENB
TGF5ZXIgKmNvbnRlbnRMYXllcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlQ
REZBbm5vdGF0aW9uQ29udHJvbGxlciAqYW5ub3RhdGlvbkNvbnRyb2xsZXI7CitAZW5kCisKK0Bw
cm90b2NvbCBVSVBERlBhZ2VWaWV3RGVsZWdhdGUKK0BvcHRpb25hbAorLSAoQk9PTClzZWxlY3Rp
b25XaWxsVHJhY2s6KFVJUERGUGFnZVZpZXcqKXBhZ2VWaWV3OworLSAoQk9PTClzaG91bGRSZWNv
Z25pemVUYXBJbjooVUlQREZQYWdlVmlldyAqKXBhZ2VWaWV3IGF0UG9pbnQ6KENHUG9pbnQpcG9p
bnQ7CistIChDbGFzcyljbGFzc0ZvckFubm90YXRpb25UeXBlOihjb25zdCBjaGFyICopdHlwZTsK
Ky0gKHZvaWQpZGlkVGFwOihVSVBERlBhZ2VWaWV3ICopcGFnZVZpZXcgYXRQb2ludDooQ0dQb2lu
dClwb2ludDsKKy0gKHZvaWQpZG91YmxlVGFwSW46KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldyBh
dFBvaW50OihDR1BvaW50KXBvaW50OworLSAodm9pZClwYWdlV2FzUmVuZGVyZWQ6KFVJUERGUGFn
ZVZpZXcgKilwYWdlVmlldzsKKy0gKHZvaWQpcmVzZXRab29tOihVSVBERlBhZ2VWaWV3ICopcGFn
ZVZpZXc7CistICh2b2lkKXNlbGVjdGlvbkRpZEVuZFRyYWNraW5nOihVSVBERlBhZ2VWaWV3ICop
cGFnZVZpZXc7CistICh2b2lkKXpvb206KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldyB0bzooQ0dS
ZWN0KXJlY3QgYXRQb2ludDooQ0dQb2ludClwdCBraW5kOihVSVBERk9iamVjdEtpbmQpa2luZDsK
K0BlbmQKKworQGludGVyZmFjZSBVSVBERkFubm90YXRpb24gOiBOU09iamVjdAorQGVuZAorCitA
aW50ZXJmYWNlIFVJUERGQW5ub3RhdGlvbiAoRGV0YWlscykKKy0gKENHUmVjdClSZWN0OworQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgVUlQREZBbm5vdGF0aW9uQ29udHJvbGxlciogYW5u
b3RhdGlvbkNvbnRyb2xsZXI7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZNYXJrdXBBbm5vdGF0
aW9uIDogVUlQREZBbm5vdGF0aW9uCitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZMaW5rQW5ub3Rh
dGlvbiA6IFVJUERGTWFya3VwQW5ub3RhdGlvbgorQGVuZAorCitAaW50ZXJmYWNlIFVJUERGTGlu
a0Fubm90YXRpb24gKERldGFpbHMpCistIChOU1VSTCAqKXVybDsKKy0gKE5TVUludGVnZXIpcGFn
ZU51bWJlcjsKK0BlbmQKKworQHByb3RvY29sIFVJUERGQW5ub3RhdGlvbkNvbnRyb2xsZXJEZWxl
Z2F0ZQorQG9wdGlvbmFsCistICh2b2lkKWFubm90YXRpb246KFVJUERGQW5ub3RhdGlvbiAqKWFu
bm90YXRpb24gd2FzVG91Y2hlZEF0UG9pbnQ6KENHUG9pbnQpIHBvaW50IGNvbnRyb2xsZXI6KFVJ
UERGQW5ub3RhdGlvbkNvbnRyb2xsZXIgKiljb250cm9sbGVyOworLSAodm9pZClhbm5vdGF0aW9u
OihVSVBERkFubm90YXRpb24gKilhbm5vdGF0aW9uIGlzQmVpbmdQcmVzc2VkQXRQb2ludDooQ0dQ
b2ludCkgcG9pbnQgY29udHJvbGxlcjooVUlQREZBbm5vdGF0aW9uQ29udHJvbGxlciAqKWNvbnRy
b2xsZXI7CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL2lvcy9EYXRhRGV0ZWN0b3JzVUlTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjI1ODdlZTljMDY1OWQy
MmQxYzVlN2VjM2Q3Mzk3YWU0Y2M4NTE0MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmgKQEAgLTAsMCArMSw2NSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CisjaW1wb3J0IDxXZWJDb3Jl
L1NvZnRMaW5raW5nLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0
IDxEYXRhRGV0ZWN0b3JzVUkvRERBY3Rpb24uaD4KKyNpbXBvcnQgPERhdGFEZXRlY3RvcnNVSS9E
RERldGVjdGlvbkNvbnRyb2xsZXIuaD4KKworI2Vsc2UKKworQGludGVyZmFjZSBEREFjdGlvbiA6
IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgRERBY3Rpb24gKERldGFpbHMpCistIChCT09M
KWhhc1VzZXJJbnRlcmZhY2U7CistIChOU1N0cmluZyAqKWxvY2FsaXplZE5hbWU7CitAcHJvcGVy
dHkgKHJlYWRvbmx5KSBOU1N0cmluZyAqYWN0aW9uVVRJOworQGVuZAorCitAcHJvdG9jb2wgRERE
ZXRlY3Rpb25Db250cm9sbGVySW50ZXJhY3Rpb25EZWxlZ2F0ZSA8TlNPYmplY3Q+CitAZW5kCisK
K0BpbnRlcmZhY2UgREREZXRlY3Rpb25Db250cm9sbGVyIDogTlNPYmplY3QgPFVJQWN0aW9uU2hl
ZXREZWxlZ2F0ZT4KK0BlbmQKKworQGludGVyZmFjZSBERERldGVjdGlvbkNvbnRyb2xsZXIgKERl
dGFpbHMpCisrIChERERldGVjdGlvbkNvbnRyb2xsZXIgKilzaGFyZWRDb250cm9sbGVyOworKyAo
TlNBcnJheSAqKXRhcEFuZEhvbGRTY2hlbWVzOworLSAodm9pZClwZXJmb3JtQWN0aW9uOihEREFj
dGlvbiAqKWFjdGlvbiBmcm9tQWxlcnRDb250cm9sbGVyOihVSUFsZXJ0Q29udHJvbGxlciAqKWFs
ZXJ0Q29udHJvbGxlciBpbnRlcmFjdGlvbkRlbGVnYXRlOihpZCA8REREZXRlY3Rpb25Db250cm9s
bGVySW50ZXJhY3Rpb25EZWxlZ2F0ZT4paW50ZXJhY3Rpb25EZWxlZ2F0ZTsKK0BlbmQKKworI2Vu
ZGlmCisKK0BpbnRlcmZhY2UgREREZXRlY3Rpb25Db250cm9sbGVyIChEZXRhaWxzVG9CZVJlbW92
ZWQpCisvLyBGSVhNRTogVGhpcyB3aWxsIGJlIHJlbW92ZWQgYXMgc29vbiBhcyA8cmRhcjovL3By
b2JsZW0vMTYzNDY5MTM+IGlzIGZpeGVkLgorLSAoTlNBcnJheSAqKWFjdGlvbnNGb3JBbmNob3I6
KGlkKWFuY2hvciB1cmw6KE5TVVJMICopdGFyZ2V0VVJMIGZvckZyYW1lOihpZClmcmFtZTsKK0Bl
bmQKKworU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKERhdGFEZXRlY3RvcnNVSSkKK1NPRlRf
TElOS19DTEFTUyhEYXRhRGV0ZWN0b3JzVUksIERERGV0ZWN0aW9uQ29udHJvbGxlcikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvTWFuYWdlZENvbmZpZ3VyYXRp
b25TUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvTWFuYWdlZENvbmZpZ3Vy
YXRpb25TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kZTQ2MDg2N2ZiN2E2ZjYyZjlmMGJiYWNhZWI1MGZlZDM1
MTliMjFmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lv
cy9NYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisKKy8vIEZJWE1FOiBXZSBjb25kaXRpb25hbGx5IGVuY2xvc2UgdGhlIE1hbmFn
ZWRDb25maWd1cmF0aW9uIGhlYWRlcnMgaW4gYW4gZXh0ZXJuICJDIiBsaW5rYWdlCisvLyBibG9j
ayB0byBtYWtlIHRoZW0gc3VpdGFibGUgZm9yIEMrKyB1c2UuCisjaWZkZWYgX19jcGx1c3BsdXMK
K2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbXBvcnQgPE1hbmFnZWRDb25maWd1cmF0aW9uL01D
RmVhdHVyZXMuaD4KKyNpbXBvcnQgPE1hbmFnZWRDb25maWd1cmF0aW9uL01DUHJvZmlsZUNvbm5l
Y3Rpb24uaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9CisjZW5kaWYKKworI2Vsc2UKKwordHlw
ZWRlZiBlbnVtIE1DUmVzdHJpY3RlZEJvb2xUeXBlIHsKKyAgICBNQ1Jlc3RyaWN0ZWRCb29sRXhw
bGljaXRObyA9IDEgPDwgMSwKK30gTUNSZXN0cmljdGVkQm9vbFR5cGU7CisKK0BpbnRlcmZhY2Ug
TUNQcm9maWxlQ29ubmVjdGlvbiA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgTUNQcm9m
aWxlQ29ubmVjdGlvbiAoRGV0YWlscykKKysgKE1DUHJvZmlsZUNvbm5lY3Rpb24gKilzaGFyZWRD
b25uZWN0aW9uOworLSAoTUNSZXN0cmljdGVkQm9vbFR5cGUpZWZmZWN0aXZlQm9vbFZhbHVlRm9y
U2V0dGluZzooTlNTdHJpbmcgKilmZWF0dXJlOworQGVuZAorCisjZW5kaWYKKworRVhURVJOX0Mg
TlNTdHJpbmcgKiBjb25zdCBNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dlZDsKKworU09G
VF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKE1hbmFnZWRDb25maWd1cmF0aW9uKTsKK1NPRlRfTElO
S19DTEFTUyhNYW5hZ2VkQ29uZmlndXJhdGlvbiwgTUNQcm9maWxlQ29ubmVjdGlvbik7CitTT0ZU
X0xJTktfQ09OU1RBTlQoTWFuYWdlZENvbmZpZ3VyYXRpb24sIE1DRmVhdHVyZURlZmluaXRpb25M
b29rdXBBbGxvd2VkLCBOU1N0cmluZyAqKQorCisjZGVmaW5lIE1DRmVhdHVyZURlZmluaXRpb25M
b29rdXBBbGxvd2VkIGdldE1DRmVhdHVyZURlZmluaXRpb25Mb29rdXBBbGxvd2VkKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVENDU1BJLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1RDQ1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmU0YWM1ZjU3NGZl
ODdkYzE2MzdkNDk5N2U3NmNlY2FkMjFhNmRkZWQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1RDQ1NQSS5oCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8VENDL1RDQy5o
PgorCisjZWxzZQorCit0eXBlZGVmIGVudW0geworICAgIGtUQ0NBY2Nlc3NQcmVmbGlnaHREZW5p
ZWQgPSAxLAorfSBUQ0NBY2Nlc3NQcmVmbGlnaHRSZXN1bHQ7CisKKyNlbmRpZgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9UZXh0SW5wdXRTUEkuaCBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVGV4dElucHV0U1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWY1
NjFmNTVhYTZiM2JmNDY2ODg5YWNmYzFmODcwM2M1YTExZmNlYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVGV4dElucHV0U1BJLmgKQEAgLTAsMCAr
MSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24vRm91bmRhdGlvbi5oPgor
CisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8VGV4dElucHV0L1RJX05T
U3RyaW5nRXh0cmFzLmg+CisKKyNlbHNlCisKK0BpbnRlcmZhY2UgTlNTdHJpbmcgKFRleHRJbnB1
dERldGFpbHMpCistIChCT09MKV9jb250YWluc0NKU2NyaXB0czsKKy0gKEJPT0wpX2NvbnRhaW5z
Q0pTY3JpcHRzT25seTsKK0BlbmQKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1No
YXJlZC9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCmluZGV4IDYxNDM4ZTYwYjQxMDE2Nzdh
OTFjZDQzNzNjMzNhOGI2MjIzNDBiOTIuLmU2YzM4Yjg3YjY1MTJmY2U1NDMwYWQ0OTM1OWJjMmMw
NzI1ZTU3ZTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9z
L0Rvd25sb2FkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9z
L0Rvd25sb2FkSU9TLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAj
aW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW1wb3J0IDxDRk5ldHdvcmsvQ0ZVUkxEb3dubG9h
ZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CkBA
IC0zNywxMCArMzYsMTUgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0
Zi9SdW5Mb29wLmg+CiAKKyNpZiBVU0UoQ0ZORVRXT1JLKQorI2ltcG9ydCA8Q0ZOZXR3b3JrL0NG
VVJMRG93bmxvYWQuaD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKKyNpZiBVU0UoQ0ZORVRXT1JLKQogLy8gRklYTUU6IElmIHBvc3Np
YmxlLCB3ZSBzaG91bGQgY29uc2lkZXIgbW92aW5nIHNvbWUgY2FsbGJhY2tzIG9mZiB0aGUgbWFp
biB0aHJlYWQgb3IgYXQgbGVhc3QKIC8vIG1ha2luZyB0aGVtIGFzeW5jaG9ub3VzIGNhbGxzLgog
c3RhdGljIHZvaWQgZGlzcGF0Y2hPbk1haW5UaHJlYWQodm9pZCheYmxvY2spKCkpCkBAIC0xMjEs
NiArMTI1LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBEb3dubG9hZENsaWVudChDRlVSTERvd25sb2Fk
Q2xpZW50JiBjbGllbnQsIERvd25sb2FkJiBkb3dubG9hZCkKICAgICAgICAgfSk7CiAgICAgfTsK
IH0KKyNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIERvd25sb2FkOjpzdGFydCgpCiB7
CkBAIC0xMzQsOSArMTM5LDEzIEBAIHZvaWQgRG93bmxvYWQ6OnJlc3VtZShjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTYW5kYm94RXh0CiAKIHZvaWQgRG93
bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKKyNpZiBVU0UoQ0ZORVRXT1JLKQogICAgIENGVVJM
RG93bmxvYWRDbGllbnQgY2xpZW50OwogICAgIHNldFVwRG93bmxvYWRDbGllbnQoY2xpZW50LCAq
dGhpcyk7CiAgICAgbV9kb3dubG9hZCA9IGFkb3B0Q0YoQ0ZVUkxEb3dubG9hZENyZWF0ZUFuZFN0
YXJ0V2l0aExvYWRpbmdDb25uZWN0aW9uKE5VTEwsIGhhbmRsZS0+cmVsZWFzZUNvbm5lY3Rpb25G
b3JEb3dubG9hZCgpLmdldCgpLCBtX3JlcXVlc3QuY2ZVUkxSZXF1ZXN0KFVwZGF0ZUhUVFBCb2R5
KSwgcmVzcG9uc2UuY2ZVUkxSZXNwb25zZSgpLCAmY2xpZW50KSk7CisjZWxzZQorICAgIG5vdElt
cGxlbWVudGVkKCk7CisjZW5kaWYKIH0KIAogdm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdh
Y3lQcm9jZXNzL0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRy
eVBvaW50Lm1tCmluZGV4IGQ5NWNlZmRjYTZlM2RhYjcxYTFhZGU2ZGZhODljODQwOTU0MTVjMTAu
LmIwOWNlNTliYjdjNTgwMGQzYmVkNTZjOWI1NjhlMjc1N2Q2NzZjYWUgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdhY3lQcm9jZXNz
L0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0Vu
dHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xlZ2FjeVByb2Nlc3MvQ2hpbGRQcm9jZXNzRW50cnlQb2lu
dC5tbQpAQCAtMjYsOCArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJDaGls
ZFByb2Nlc3NFbnRyeVBvaW50LmgiCiAKKyNpbXBvcnQgPFdlYkNvcmUvU2VydmVyc1NQSS5oPgog
I2ltcG9ydCA8bWFjaC9tYWNoX2Vycm9yLmg+Ci0jaW1wb3J0IDxzZXJ2ZXJzL2Jvb3RzdHJhcC5o
PgogI2ltcG9ydCA8c3RkaW8uaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQg
PHd0Zi90ZXh0L0NTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9p
b3MvTmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3Mv
TmF0aXZlV2ViVG91Y2hFdmVudElPUy5tbQppbmRleCBkYWIyZDAzNzBiOWVlYjA0NGJhNmZlM2E4
MDZkNzZjMGU1ODkxODhhLi5iNmFjNjNkZThmZDdkYTk2ZTk2OWYxNjhmNmVkMmMwMjc3MmRkN2Rl
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZl
bnRJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2
ZW50SU9TLm1tCkBAIC0yNiwxMiArMjYsMTIgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9y
dCAiTmF0aXZlV2ViVG91Y2hFdmVudC5oIgogCi0jaWYgUExBVEZPUk0oSU9TKQorI2lmIFBMQVRG
T1JNKElPUykgJiYgRU5BQkxFKFRPVUNIX0VWRU5UUykKIAogI2ltcG9ydCAiV2ViRXZlbnQuaCIK
ICNpbXBvcnQgPFVJS2l0L1VJVG91Y2guaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2ViVG91Y2hFdmVu
dHNHZXN0dXJlUmVjb2duaXplci5oPgogI2ltcG9ydCA8V2ViQ29yZS9JbnRQb2ludC5oPgorI2lt
cG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XQUtBcHBLaXRTdHVi
cy5oPgogI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+CiAKQEAgLTk4LDQgKzk4LDQgQEAgTmF0
aXZlV2ViVG91Y2hFdmVudDo6TmF0aXZlV2ViVG91Y2hFdmVudChjb25zdCBfVUlXZWJUb3VjaEV2
ZW50KiBldmVudCkKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CiAKLSNlbmRpZiAvLyBQTEFURk9S
TShJT1MpCisjZW5kaWYgLy8gUExBVEZPUk0oSU9TKSAmJiBFTkFCTEUoVE9VQ0hfRVZFTlRTKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5jcHAKaW5kZXgg
ZTcxNGE4NjdjNmQ5MzdlMTExMThkYWVkMDg3YmNhYTc0MjM0MDQ0MC4uMzE1YjgxZWQ5MzYzZGJj
OWZhOGJhYjdjODc1YTI4MWU2NjIyNTg2YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hh
cmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1NhbmRib3hVdGlsaXRpZXMuY3BwCkBAIC0yNyw2ICsyNyw3IEBACiAjaW5jbHVkZSAiU2Fu
ZGJveFV0aWxpdGllcy5oIgogCiAjaW5jbHVkZSA8YXJyYXk+CisjaW5jbHVkZSA8c3lzL3BhcmFt
Lmg+CiAjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBfX2hhc19pbmNsdWRl
KDxzYW5kYm94L3ByaXZhdGUuaD4pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IGY3MjliNTM5ZDJlMGRlNTMwMjMxYzFiMjI1ZTc0MjIw
NDM0YjE0ODIuLjEyNDIwODk1OGRjNTJjZjJjMTA3MjIwMGRhZGRkYmUyMzExNTMzZTcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC05
MiwxMiArOTIsMTAgQEAKICNpbXBvcnQgIldlYlBhZ2VNZXNzYWdlcy5oIgogI2ltcG9ydCAiV2Vi
VmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5LmgiCiAjaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0
aW9uLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtp
dC9VSVBlcmlwaGVyYWxIb3N0X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1By
aXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29yZUdyYXBoaWNzU1BJLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL0luc3BlY3Rvck92ZXJsYXkuaD4KICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29yZVNQ
SS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogCiBAaW50ZXJmYWNlIFVJU2Nyb2xs
VmlldyAoVUlTY3JvbGxWaWV3SW50ZXJuYWwpCiAtICh2b2lkKV9hZGp1c3RGb3JBdXRvbWF0aWNL
ZXlib2FyZEluZm86KE5TRGljdGlvbmFyeSopaW5mbyBhbmltYXRlZDooQk9PTClhbmltYXRlZCBs
YXN0QWRqdXN0bWVudDooQ0dGbG9hdCopbGFzdEFkanVzdG1lbnQ7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0g
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0KaW5kZXggNjIzM2RhOWE0MmJmNDQzYTQ4ZTBjNjliZjljZTY3ZTMzZTM5NzQzZS4uZThj
MDI0ZDhhYTJiZTcxMWQ1NjhiMzEyNzBmNTUyMGM0NmU4YzEwNSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbQpAQCAtMzgsNyArMzgsNyBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAj
aWYgUExBVEZPUk0oSU9TKQotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgorI2lt
cG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2VuZGlmCiAKIHRlbXBsYXRlPHR5cGVuYW1lIFQ+
IGNsYXNzIExhenlJbml0aWFsaXplZCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKaW5kZXggOGIyZGYzZDkzM2RhM2Nm
MTM1NDI3YmI4YzljMjJiZmQxZjc2M2Q4NS4uNjI2ZjVjOTVlODcwNDhjNWQ3ODljOTk1ZjFmYWY0
ZjFmYjM5NGQzZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdJbnRlcm5hbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaApAQCAtMzUsNyArMzUsNyBAQAogI2ltcG9ydCAiV0tD
b250ZW50Vmlldy5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1w
b3J0IDxXZWJDb3JlL0Zsb2F0UmVjdC5oPgotI2ltcG9ydCA8VUlLaXQvVUlTY3JvbGxWaWV3X1By
aXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oSU9TKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3Mv
V0tWaWV3SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tWaWV3SU9T
Lm1tCmluZGV4IDlkNWUzNjU3OTdhNDhmZTZhZGRiMWIxNjcyNmRiODQ4MjdlZDVmZjMuLjdmMjY4
MmNhZDk3YzA0M2FmODZmNGY4OGY5OTEwODY4N2I2OWI1NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS1ZpZXdJT1MubW0KQEAgLTM2LDExICszNiw4IEBACiAjaW1w
b3J0ICJXS1Byb2Nlc3NHcm91cFByaXZhdGUuaCIKICNpbXBvcnQgIldLU2Nyb2xsVmlldy5oIgog
I2ltcG9ydCAiV0tBUElDYXN0LmgiCi0jaW1wb3J0IDxVSUtpdC9VSUltYWdlX1ByaXZhdGUuaD4K
LSNpbXBvcnQgPFVJS2l0L1VJUGVyaXBoZXJhbEhvc3RfUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlL
aXQvVUlTY3JlZW4uaD4KLSNpbXBvcnQgPFVJS2l0L1VJU2Nyb2xsVmlld19Qcml2YXRlLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0
U1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJL
aXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1By
b2Nlc3NMYXVuY2hlck1hYy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9t
YWMvUHJvY2Vzc0xhdW5jaGVyTWFjLm1tCmluZGV4IDEyMjAxN2VkZTA4MjhlNDBiMDkzNWUxMTlm
YmE1NWQ3OGJiMWVjNGMuLjViNzAwYTQ0YzNkZDVjZGVhYzE4NDdjYWIxZjYzZmJiOWJlNmQ2ZjYg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9tYWMvUHJvY2Vz
c0xhdW5jaGVyTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9t
YWMvUHJvY2Vzc0xhdW5jaGVyTWFjLm1tCkBAIC0yOCwxMiArMjgsMTIgQEAKIAogI2ltcG9ydCAi
RHluYW1pY0xpbmtlckVudmlyb25tZW50RXh0cmFjdG9yLmgiCiAjaW1wb3J0ICJFbnZpcm9ubWVu
dFZhcmlhYmxlcy5oIgorI2ltcG9ydCA8V2ViQ29yZS9TZXJ2ZXJzU1BJLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1N0cmluZ0V4
dHJhcy5oPgogI2ltcG9ydCA8Y3J0X2V4dGVybnMuaD4KICNpbXBvcnQgPG1hY2gtby9keWxkLmg+
CiAjaW1wb3J0IDxtYWNoL21hY2hpbmUuaD4KLSNpbXBvcnQgPHNlcnZlcnMvYm9vdHN0cmFwLmg+
CiAjaW1wb3J0IDxzcGF3bi5oPgogI2ltcG9ydCA8c3lzL3BhcmFtLmg+CiAjaW1wb3J0IDxzeXMv
c3RhdC5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xp
ZW50SW1wbElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudElt
cGxJT1MubW0KaW5kZXggOTFiM2U0MTAxOWI5MWQ2MmQyZDlhYzRkZTMwOTUyNGE5ZjdjNTM2NC4u
Y2I2YmZjMmE5OGFjYTRiNzg1ODIyNDFmMTI3OTVhZTEwNzcwMmZhOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCkBAIC00NiwyMSAr
NDYsMTQgQEAKICNpbXBvcnQgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKICNpbXBvcnQgIldlYlBy
b2Nlc3NQcm94eS5oIgogI2ltcG9ydCAiX1dLRG93bmxvYWRJbnRlcm5hbC5oIgotI2ltcG9ydCA8
VUlLaXQvVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQv
VUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05v
dEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgogI2ltcG9ydCA8V2ViQ29yZS9UZXh0SW5kaWNh
dG9yLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAKICNkZWZpbmUgTUVTU0FHRV9D
SEVDSyhhc3NlcnRpb24pIE1FU1NBR0VfQ0hFQ0tfQkFTRShhc3NlcnRpb24sIG1fd2ViVmlldy0+
X3BhZ2UtPnByb2Nlc3MoKS5jb25uZWN0aW9uKCkpCiAKLUBpbnRlcmZhY2UgVUlWaWV3IChJUEkp
Ci0tIChVSVNjcm9sbFZpZXcgKilfc2Nyb2xsZXI7Ci0tIChDR1BvaW50KWFjY2Vzc2liaWxpdHlD
b252ZXJ0UG9pbnRGcm9tU2NlbmVSZWZlcmVuY2VDb29yZGluYXRlczooQ0dQb2ludClwb2ludDsK
LS0gKENHUmVjdClhY2Nlc3NpYmlsaXR5Q29udmVydFJlY3RUb1NjZW5lUmVmZXJlbmNlQ29vcmRp
bmF0ZXM6KENHUmVjdClyZWN0OwotQGVuZAotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5tbQppbmRleCBhODBkODIwOWYwZDI3ODFkZmEyNTc2
NmU0Zjg1NmE0MzA2MjA0NDE2Li4yYTJjYTM0ZGU2MWJhZmY5ZWY4NGVhMmRkMmRhNzgyYTNmZTM3
ZDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3Nl
cnRpb25JT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNz
ZXJ0aW9uSU9TLm1tCkBAIC0yOCw3ICsyOCw3IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKLSNp
bXBvcnQgPEFzc2VydGlvblNlcnZpY2VzL0JLU1Byb2Nlc3NBc3NlcnRpb24uaD4KKyNpbXBvcnQg
IkJLU1Byb2Nlc3NBc3NlcnRpb25TUEkuaCIKICNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb24u
aD4KIAogI2lmICFQTEFURk9STShJT1NfU0lNVUxBVE9SKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1t
CmluZGV4IDNkMzcyN2MyZThjOGYyMWVlYTI5OGM0NzVlNTliM2M0NDljN2JiYmUuLmVjZDYzNTMx
OGMyZmMxODEzYjE1Njg4OGY3NTRhNjFjMGIwNDEwODEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tbQorKysgYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIu
bW0KQEAgLTM2LDEyICszNiwxMSBAQAogI2ltcG9ydCAiV2ViUGFnZU1lc3NhZ2VzLmgiCiAjaW1w
b3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgotI2ltcG9y
dCA8VUlLaXQvVUlLaXQuaD4KIAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGljIHB1c2gKICNwcmFn
bWEgY2xhbmcgZGlhZ25vc3RpYyBpZ25vcmVkICItV2RlcHJlY2F0ZWQtZGVjbGFyYXRpb25zIgog
Ci0jaW1wb3J0IDxVSUtpdC9VSUtpdF9Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0
U1BJLmg+CiAKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBwb3AKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQpp
bmRleCAzZTUwZmRhMDQ3NmZiMmUxZGU4YWQwOTAzMjNiNjUxNzRjODExOGZjLi4xNmFkMjFkYzc2
MjRjNGIwYTM1OTUxOGYyNzFlYWI1NjYzZjE1YzNhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQpAQCAtMzks
MTIgKzM5LDkgQEAKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAiV2ViUHJvY2Vz
c1Byb3h5LmgiCiAjaW1wb3J0IDxVSUtpdC9VSVNjcmVlbkVkZ2VQYW5HZXN0dXJlUmVjb2duaXpl
ci5oPgotI2ltcG9ydCA8VUlLaXQvVUlWaWV3Q29udHJvbGxlclRyYW5zaXRpb25pbmdfUHJpdmF0
ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+
Ci0jaW1wb3J0IDxVSUtpdC9fVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uLmg+Ci0j
aW1wb3J0IDxVSUtpdC9fVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0lPU3VyZmFjZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9RdWFydHpDb3JlU1BJLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJEZXN0cm95
ZWQuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1N0cmluZ0J1aWxkZXIuaD4KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0Lm1tCmluZGV4IGJjNWY1Yjc3ODNmYmEx
YTcwZDNkOTU0ODYxYzkzOGI0MmM2OTVlYzEuLmQwZGNjM2ZjZjgwMDhkMDJkOGRjNjE4ZDFlYzY0
ZGY1OTI2YTlkN2YgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tB
Y3Rpb25TaGVldC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9u
U2hlZXQubW0KQEAgLTI4LDggKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAotI2ltcG9y
dCA8VUlLaXQvVUlBbGVydENvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlX
aW5kb3dfUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogCiBAaW1wbGVtZW50YXRpb24gV0tBY3Rpb25TaGVldCB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFu
dC5oCmluZGV4IGM1YWZhMDVkN2Q5ODFkMzk4NDk4NjJhM2NmY2YyNDg2N2I1NGMyZTUuLjAzZWIx
OWVlMzllOWI3Nzk4MzVmMDMxNDAxYjBlNWYxNmE3YjQxMzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCkBAIC0yNSw5
ICsyNSw5IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbXBvcnQgIkRhdGFEZXRlY3RvcnNV
SVNQSS5oIgogI2ltcG9ydCAiR2VzdHVyZVR5cGVzLmgiCiAjaW1wb3J0ICJXS0FjdGlvblNoZWV0
LmgiCi0jaW1wb3J0IDxEYXRhRGV0ZWN0b3JzVUkvREREZXRlY3Rpb25Db250cm9sbGVyLmg+CiAj
aW1wb3J0IDxVSUtpdC9VSVBvcG92ZXJDb250cm9sbGVyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rp
b25TaGVldEFzc2lzdGFudC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rp
b25TaGVldEFzc2lzdGFudC5tbQppbmRleCA1MzMyMmI2ZGZiMjJlOGUwY2IzNTgwYTZiYWM1MDFj
MzgxOGY2NTk3Li44MjM0ODEyODE2MmQ1NjNhOTZhOWJhN2IyNzlmZWY1ZGRlYmJkYTgwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNz
aXN0YW50Lm1tCkBAIC0yOSwyMiArMjksMTggQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBv
cnQgIkFQSVVJQ2xpZW50LmgiCisjaW1wb3J0ICJUQ0NTUEkuaCIKICNpbXBvcnQgIldLQWN0aW9u
U2hlZXQuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCAi
V2Vha09iakNQdHIuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgogI2ltcG9ydCAiX1dLQWN0
aXZhdGVkRWxlbWVudEluZm9JbnRlcm5hbC5oIgogI2ltcG9ydCAiX1dLRWxlbWVudEFjdGlvbklu
dGVybmFsLmgiCi0jaW1wb3J0IDxEYXRhRGV0ZWN0b3JzVUkvRERBY3Rpb24uaD4KLSNpbXBvcnQg
PERhdGFEZXRlY3RvcnNVSS9ERERldGVjdGlvbkNvbnRyb2xsZXIuaD4KICNpbXBvcnQgPFNhZmFy
aVNlcnZpY2VzL1NTUmVhZGluZ0xpc3QuaD4KLSNpbXBvcnQgPFRDQy9UQ0MuaD4KLSNpbXBvcnQg
PFVJS2l0L1VJQWxlcnRDb250cm9sbGVyX1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJVmll
dy5oPgotI2ltcG9ydCA8VUlLaXQvVUlWaWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0
cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU5TVVJMRXh0cmFzLmg+CiAj
aW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApAQCAtNTUsMTQgKzUxLDYgQEAgU09GVF9M
SU5LX1BSSVZBVEVfRlJBTUVXT1JLKFRDQykKIFNPRlRfTElOSyhUQ0MsIFRDQ0FjY2Vzc1ByZWZs
aWdodCwgVENDQWNjZXNzUHJlZmxpZ2h0UmVzdWx0LCAoQ0ZTdHJpbmdSZWYgc2VydmljZSwgQ0ZE
aWN0aW9uYXJ5UmVmIG9wdGlvbnMpLCAoc2VydmljZSwgb3B0aW9ucykpCiBTT0ZUX0xJTktfQ09O
U1RBTlQoVENDLCBrVENDU2VydmljZVBob3RvcywgQ0ZTdHJpbmdSZWYpCiAKLVNPRlRfTElOS19Q
UklWQVRFX0ZSQU1FV09SSyhEYXRhRGV0ZWN0b3JzVUkpCi1TT0ZUX0xJTktfQ0xBU1MoRGF0YURl
dGVjdG9yc1VJLCBERERldGVjdGlvbkNvbnRyb2xsZXIpCi0KLS8vIEZJWE1FOiBUaGlzIHdpbGwg
YmUgcmVtb3ZlZCBhcyBzb29uIGFzIDxyZGFyOi8vcHJvYmxlbS8xNjM0NjkxMz4gaXMgZml4ZWQu
Ci1AaW50ZXJmYWNlIERERGV0ZWN0aW9uQ29udHJvbGxlciAoV0tEREFjdGlvblByaXZhdGUpCi0t
IChOU0FycmF5ICopYWN0aW9uc0ZvckFuY2hvcjooaWQpYW5jaG9yIHVybDooTlNVUkwgKil0YXJn
ZXRVUkwgZm9yRnJhbWU6KGlkKWZyYW1lOwotQGVuZAotCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwogCiBAaW1wbGVtZW50YXRpb24gV0tBY3Rpb25TaGVldEFzc2lzdGFudCB7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggMTcxZTFiMmRkY2Q1
YTE2NzdjZjVhNWYxNmM5YTRmMDdmYTY1NTY3NS4uOGVkODMyNDdhYjUyNmQ5NTQ4YTZkNGFhNzc3
MjAyYTZiZTQwNTI5OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S0NvbnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250
ZW50Vmlldy5tbQpAQCAtNDYsMTkgKzQ2LDE1IEBACiAjaW1wb3J0ICJXZWJQYWdlR3JvdXAuaCIK
ICNpbXBvcnQgIldlYlN5c3RlbUludGVyZmFjZS5oIgogI2ltcG9ydCA8Q29yZUdyYXBoaWNzL0Nv
cmVHcmFwaGljcy5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9y
dCA8V2ViQ29yZS9GbG9hdFF1YWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvRnJhbWVWaWV3Lmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0luc3BlY3Rvck92ZXJsYXkuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90
SW1wbGVtZW50ZWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29yZVNQSS5oPgorI2ltcG9y
dCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL0N1cnJlbnRUaW1lLmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLUBpbnRlcmZhY2UgQ0FMYXllciAoRGV0YWlscykKLUBw
cm9wZXJ0eSBCT09MIGhpdFRlc3RzQXNPcGFxdWU7Ci1AZW5kCi0KIHVzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKaW5kZXggNTZi
ZmRiZDdiMThlZjJmZjQzNGY5YmY3MTBmZWZiZTRlOGYzYWE1OS4uZTA4OTc5OWRmOTlhY2QzYjg3
N2MxNGIzYWQwZTBiZDhjMDY3NTg0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCkBAIC0zNSwxNCArMzUsMTAg
QEAKICNpbXBvcnQgIldLRmlsZVVwbG9hZFBhbmVsLmgiCiAjaW1wb3J0ICJXS0Zvcm1QZXJpcGhl
cmFsLmgiCiAjaW1wb3J0ICJXS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaCIK
LSNpbXBvcnQgPFVJS2l0L1VJVGV4dElucHV0X1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJ
Vmlldy5oPgotI2ltcG9ydCA8VUlLaXQvVUlXS1NlbGVjdGlvbkFzc2lzdGFudC5oPgotI2ltcG9y
dCA8VUlLaXQvVUlXS1RleHRJbnRlcmFjdGlvbkFzc2lzdGFudC5oPgotI2ltcG9ydCA8VUlLaXQv
VUlXZWJGb3JtQWNjZXNzb3J5Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdlYlRvdWNoRXZlbnRzR2Vz
dHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KICNpbXBvcnQgPFdl
YkNvcmUvRmxvYXRRdWFkLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0
IDx3dGYvRm9yd2FyZC5oPgogI2ltcG9ydCA8d3RmL1ZlY3Rvci5oPgogI2ltcG9ydCA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tCmluZGV4IDczMWZhZThkMTdkM2U5YzFlNGI3
ZjgwZmQ1YTAwODEwNDlmN2UyNGMuLmJhY2E1MTgzODJhZWUyM2I5MzIyM2Y3ZTE0MGZkZWM1MzQw
MzNkOGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlld0ludGVyYWN0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLm1tCkBAIC0yOSwxMCArMjksMTMgQEAKICNpZiBQTEFURk9S
TShJT1MpCiAKICNpbXBvcnQgIkFQSVVJQ2xpZW50LmgiCisjaW1wb3J0ICJEYXRhRGV0ZWN0b3Jz
VUlTUEkuaCIKICNpbXBvcnQgIkVkaXRpbmdSYW5nZS5oIgorI2ltcG9ydCAiTWFuYWdlZENvbmZp
Z3VyYXRpb25TUEkuaCIKICNpbXBvcnQgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCIKICNpbXBv
cnQgIk5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIKICNpbXBvcnQgIlNtYXJ0TWFnbmlmaWNhdGlvbkNv
bnRyb2xsZXIuaCIKKyNpbXBvcnQgIlRleHRJbnB1dFNQSS5oIgogI2ltcG9ydCAiV0tBY3Rpb25T
aGVldEFzc2lzdGFudC5oIgogI2ltcG9ydCAiV0tGb3JtSW5wdXRDb250cm9sLmgiCiAjaW1wb3J0
ICJXS0Zvcm1TZWxlY3RDb250cm9sLmgiCkBAIC00NiwzNyArNDksMTcgQEAKICNpbXBvcnQgIldl
YlByb2Nlc3NQcm94eS5oIgogI2ltcG9ydCAiX1dLRm9ybURlbGVnYXRlLmgiCiAjaW1wb3J0ICJf
V0tGb3JtSW5wdXRTZXNzaW9uLmgiCisjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnQuaD4KICNpbXBv
cnQgPENvcmVUZXh0L0NURm9udERlc2NyaXB0b3IuaD4KLSNpbXBvcnQgPERhdGFEZXRlY3RvcnNV
SS9ERERldGVjdGlvbkNvbnRyb2xsZXIuaD4KLSNpbXBvcnQgPE1hbmFnZWRDb25maWd1cmF0aW9u
L01DRmVhdHVyZXMuaD4KLSNpbXBvcnQgPE1hbmFnZWRDb25maWd1cmF0aW9uL01DUHJvZmlsZUNv
bm5lY3Rpb24uaD4KLSNpbXBvcnQgPFRleHRJbnB1dC9USV9OU1N0cmluZ0V4dHJhcy5oPgotI2lt
cG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUZv
bnRfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXplcl9Qcml2YXRl
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkSW1wbC5oPgotI2ltcG9ydCA8VUlLaXQvVUlL
ZXlib2FyZEludGwuaD4KLSNpbXBvcnQgPFVJS2l0L1VJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6
ZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlUYXBHZXN0dXJlUmVjb2duaXplcl9Qcml2
YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudF9Qcml2YXRl
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdlYkRvY3VtZW50Vmlldy5oPiAvLyBGSVhNRTogc2hvdWxk
IG5vdCBpbmNsdWRlIHRoaXMgaGVhZGVyLgotI2ltcG9ydCA8VUlLaXQvX1VJV2ViSGlnaGxpZ2h0
TG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvQ29yZUdyYXBoaWNzU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zs
b2F0UXVhZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJFdmVudC5oPgotI2ltcG9ydCA8
V2ViQ29yZS9fVUlIaWdobGlnaHRWaWV3U1BJLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViU2VsZWN0
aW9uUmVjdC5oPiAvLyBGSVhNRTogV0syIHNob3VsZCBub3QgaW5jbHVkZSBXZWJLaXQgaGVhZGVy
cyEKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAotU09GVF9MSU5LX1BSSVZBVEVfRlJBTUVX
T1JLKERhdGFEZXRlY3RvcnNVSSkKLVNPRlRfTElOS19DTEFTUyhEYXRhRGV0ZWN0b3JzVUksIERE
RGV0ZWN0aW9uQ29udHJvbGxlcikKLVNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhNYW5hZ2Vk
Q29uZmlndXJhdGlvbik7Ci1TT0ZUX0xJTktfQ0xBU1MoTWFuYWdlZENvbmZpZ3VyYXRpb24sIE1D
UHJvZmlsZUNvbm5lY3Rpb24pOwotU09GVF9MSU5LX0NPTlNUQU5UKE1hbmFnZWRDb25maWd1cmF0
aW9uLCBNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dlZCwgTlNTdHJpbmcgKikKLQotI2Rl
ZmluZSBNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dlZCBnZXRNQ0ZlYXR1cmVEZWZpbml0
aW9uTG9va3VwQWxsb3dlZCgpCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNpbmcgbmFt
ZXNwYWNlIFdlYktpdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1NPYmpDU2VjdXJpdHlPcmlnaW4ubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92aWRlcklPU09iakNTZWN1cml0
eU9yaWdpbi5tbQppbmRleCA5YmRhN2IwMmVmMmU5OGI0MDc3YmNiNzM0NTRlZGFmZmIyNThmYmI5
Li4xMTBmNzg1M2NmODNhYzkzMDI2MGM2MjEwNzBiYjQxODM3Yzk4ODg0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92aWRlcklPU09iakNT
ZWN1cml0eU9yaWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLR2Vv
bG9jYXRpb25Qcm92aWRlcklPU09iakNTZWN1cml0eU9yaWdpbi5tbQpAQCAtMjksOSArMjksOSBA
QAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTC5oPgotI2lt
cG9ydCA8VUlLaXQvVUlXZWJHZW9sb2NhdGlvblBvbGljeURlY2lkZXIuaD4KICNpbXBvcnQgPFVJ
S2l0L1VJV2luZG93Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAjaW1w
b3J0IDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dLUERGUGFnZU51bWJlckluZGljYXRvci5tbQppbmRleCBiODhhNGJi
YTZjNDE1NDAyMThlZTA2ODQ1YmNlNDVhNTY5ZTZmMzdhLi5hMDliNjc3YWIwMTg2ZmVkZWZkNzA3
MzhkOTQ0YjFlOTFmNjVhNGFjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLUERGUGFnZU51bWJlckluZGljYXRvci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLUERGUGFnZU51bWJlckluZGljYXRvci5tbQpAQCAtMjgsMTIgKzI4LDkgQEAK
IAogI2lmIFBMQVRGT1JNKElPUykKIAotI2ltcG9ydCA8VUlLaXQvVUlHZW9tZXRyeV9Qcml2YXRl
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgotI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFVJS2l0L19VSUJhY2tkcm9wVmlld19Qcml2YXRlLmg+CiAjaW1wb3J0
IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29y
ZVNQSS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFp
blB0ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLUERGVmlldy5oCmluZGV4IDViYWZiNTk0ZmQzOGMyM2YwOWYxZDkxODAx
NTkwYzM0ZWY1ZjlhNmIuLmQ4M2Q5ZmYwMDcyMTQzN2VmNzliZmJiMmE3Mzc3OGI3YzE0NWMxN2Ig
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmgKKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaApAQCAtMjUsMTAgKzI1
LDkgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2ltcG9ydCAiQ29yZVBERlNQSS5oIgogI2lt
cG9ydCAiV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oIgogI2ltcG9ydCAiV0tXZWJWaWV3Q29udGVu
dFByb3ZpZGVyLmgiCi0jaW1wb3J0IDxDb3JlUERGL1VJUERGQW5ub3RhdGlvbkNvbnRyb2xsZXIu
aD4KLSNpbXBvcnQgPENvcmVQREYvVUlQREZQYWdlVmlldy5oPgogI2ltcG9ydCA8VUlLaXQvVUlW
aWV3Lmg+CiAKIEBpbnRlcmZhY2UgV0tQREZWaWV3IDogVUlWaWV3IDxXS1dlYlZpZXdDb250ZW50
UHJvdmlkZXIsIFVJUERGUGFnZVZpZXdEZWxlZ2F0ZSwgVUlQREZBbm5vdGF0aW9uQ29udHJvbGxl
ckRlbGVnYXRlLCBXS0FjdGlvblNoZWV0QXNzaXN0YW50RGVsZWdhdGU+CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tCmluZGV4IDYwZmVmNTE0NDk0NmNlNDIyZTdkNzdm
ZjNkNTdmZTcyYzFiZDVjNWUuLjAzNDY0MTUxNGU5NWVhZGM1N2ZmY2UxYWZlY2FkMzdjMDY2NDk0
MjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lm1tCkBAIC0yOSwx
OCArMjksMTQgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQgIkFQSVVJQ2xpZW50Lmgi
CisjaW1wb3J0ICJDb3JlUERGU1BJLmgiCiAjaW1wb3J0ICJTZXNzaW9uU3RhdGUuaCIKICNpbXBv
cnQgIldLUERGUGFnZU51bWJlckluZGljYXRvci5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJu
YWwuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgotI2ltcG9ydCA8Q29yZVBERi9VSVBERkRv
Y3VtZW50Lmg+Ci0jaW1wb3J0IDxDb3JlUERGL1VJUERGTGlua0Fubm90YXRpb24uaD4KLSNpbXBv
cnQgPENvcmVQREYvVUlQREZQYWdlLmg+Ci0jaW1wb3J0IDxDb3JlUERGL1VJUERGUGFnZVZpZXcu
aD4KICNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9VVENvcmVUeXBlcy5oPgotI2ltcG9ydCA8
VUlLaXQvVUlTY3JvbGxWaWV3X1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0
Lmg+Ci0jaW1wb3J0IDxXZWJDb3JlL19VSUhpZ2hsaWdodFZpZXdTUEkuaD4KKyNpbXBvcnQgPFdl
YkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0
Zi9WZWN0b3IuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9X
S1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3
LmgKaW5kZXggZTM5NzEyNTU1N2ZjMWUxNmUxZWJmODdmZmJlYjZmNTlmODMxZTdjMy4uNjU5ZWEz
MGUxODRkODg0OTgyMGFmM2UzMmY5ODY4ZTJmOGU0OGRhMiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oCkBAIC0yNSw3ICsyNSw3IEBACiAKICNpZiBQTEFU
Rk9STShJT1MpCiAKLSNpbXBvcnQgPFVJS2l0L1VJV2ViU2Nyb2xsVmlldy5oPgorI2ltcG9ydCA8
V2ViQ29yZS9VSUtpdFNQSS5oPgogCiBAY2xhc3MgV0tXZWJWaWV3OwogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVj
b2duaXplci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY0NsaWNr
VGFwR2VzdHVyZVJlY29nbml6ZXIuaAppbmRleCBiOWVkN2U3NTA5MTQyZGU2ZDk3ZjM5NjM4NTA3
ZjhiMTFlMjM0MzczLi4xOWU1ODBkYmUwOTZmZjAxNjljZGJjNWVkMDNiNzZkODYxODc2NTg5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tU
YXBHZXN0dXJlUmVjb2duaXplci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
V0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmgKQEAgLTI1LDcgKzI1LDcgQEAK
IAogI2lmIFBMQVRGT1JNKElPUykKIAotI2ltcG9ydCA8VUlLaXQvVUlUYXBHZXN0dXJlUmVjb2du
aXplcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAKIEBpbnRlcmZh
Y2UgV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyIDogVUlUYXBHZXN0dXJlUmVj
b2duaXplcgogLSAodm9pZClzZXRHZXN0dXJlUmVjb2duaXplZFRhcmdldDooaWQpdGFyZ2V0IGFj
dGlvbjooU0VMKWFjdGlvbjsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KaW5kZXggNjU2ODM1
YWE5N2FjMzNjMDUyNzg0NDY4MGY2MGYwYWQzMjA1OTc5MC4uODJhZGVjNWY0ZWM2NjkzOGUxZTVj
OGZjNTJmMzlkMTJkZjlhNTA5ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0KQEAgLTM1
LDE3ICszNSw5IEBACiAjaW1wb3J0ICJXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHlNZXNz
YWdlcy5oIgogI2ltcG9ydCA8UXVhcnR6Q29yZS9Db3JlQW5pbWF0aW9uLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1RpbWVSYW5nZXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBv
cnQgPFdlYktpdFN5c3RlbUludGVyZmFjZS5oPgogCi0jaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KLSNlbHNlCi0jaW1wb3J0IDxV
SUtpdC9VSVdpbmRvdy5oPgotQGludGVyZmFjZSBVSVdpbmRvdyAoRGV0YWlscykKLSsgKG1hY2hf
cG9ydF90KV9zeW5jaHJvbml6ZURyYXdpbmdBY3Jvc3NQcm9jZXNzZXM7Ci1AZW5kCi0jZW5kaWYK
LQogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBp
Y2tlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91
dGVQaWNrZXIubW0KaW5kZXggYzAyNmZiYTQzMGVhMDMzZDZhODM3MzkyYzI4MjZjOTI0NTcwZmJi
Zi4uYWJjNGQ5Nzg4YWExODQ5MWM3NjVhNTRiZjk1MGI2NTljNTdiZDNlMyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRl
UGlja2VyLm1tCkBAIC0zMSwxMCArMzEsOSBAQAogI2ltcG9ydCAiV0tDb250ZW50Vmlldy5oIgog
I2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJv
eHkuaCIKLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8
VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9NZWRpYVBsYXllclNQ
SS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgorI2ltcG9ydCA8V2ViQ29yZS9V
SUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBTT0ZUX0xJTktfRlJBTUVX
T1JLKE1lZGlhUGxheWVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0KaW5kZXggYTViNWMxNGFhODM3YjgwYmNlMWU0
NDRkMzY3MjA5Yjg0NGRjMDliYS4uYTI2ODZmZTliNmNhZDg0NWY5M2YxZmUxMmFjZDA3ODk1ZWU0
Zjc5NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zp
bGVVcGxvYWRQYW5lbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLRmlsZVVwbG9hZFBhbmVsLm1tCkBAIC00MSwxMyArNDEsOSBAQAogI2ltcG9ydCA8QVZGb3Vu
ZGF0aW9uL0FWRm91bmRhdGlvbi5oPgogI2ltcG9ydCA8Q29yZU1lZGlhL0NvcmVNZWRpYS5oPgog
I2ltcG9ydCA8TW9iaWxlQ29yZVNlcnZpY2VzL01vYmlsZUNvcmVTZXJ2aWNlcy5oPgotI2ltcG9y
dCA8VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUltYWdl
UGlja2VyQ29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUltYWdlX1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9y
dCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRT
dHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CisjaW1wb3J0IDxXZWJD
b3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViTlNGaWxlTWFuYWdlckV4dHJhcy5o
PgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybUlucHV0Q29udHJvbC5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLm1tCmluZGV4IGFjMDBj
ZTg4YTMzZDA0YmYyY2IwNGE1ODY2NzhlNjEyYTMzMDJhZjMuLmU4NTVmODA2YTQwMWVlZThhZTFk
MjAxZTI0NGM4NzE3YjgyMWM5OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9pb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLm1tCkBAIC0zMywxMiArMzMsOSBA
QAogI2ltcG9ydCAiV0tGb3JtUG9wb3Zlci5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAj
aW1wb3J0IDxVSUtpdC9VSUJhckJ1dHRvbkl0ZW0uaD4KLSNpbXBvcnQgPFVJS2l0L1VJQmFyQnV0
dG9uSXRlbV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxVSUtpdC9VSURhdGVQaWNrZXIuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJRGF0ZVBpY2tlcl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURldmlj
ZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkX1ByaXZhdGUuaD4KICNpbXBv
cnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQ
SS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1Q
b3BvdmVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1Qb3Bv
dmVyLm1tCmluZGV4IGZjOTlhN2UzM2M1OTNkZGVjODY0YzdiMmVlZWFmNmVmOTI4MjhhMWEuLjNk
OTRlMzRmZDk4M2ZjYWI1NjZmYzAwMzJiZGM0ODRlNGZjNGNmMzYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtUG9wb3Zlci5tbQorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVBvcG92ZXIubW0KQEAgLTMxLDgg
KzMxLDcgQEAKICNpbXBvcnQgIldLQ29udGVudFZpZXcuaCIKICNpbXBvcnQgIldLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0IDxVSUtp
dC9VSVBlcmlwaGVyYWxIb3N0Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+
CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wuaCBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5oCmluZGV4IGU1OWJmYzlh
NzEzNmU3ZDhmMjIzZmFhNjU1NjNiMTM0ZGM4NDM2NTYuLmY4NGI2YWNmOTJiMGQ2N2U5NmEzN2Iz
ODFlZGZlYzZmNzg1NzAxMmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5oCkBAIC0yOSw3ICsyOSw3IEBACiAj
aW1wb3J0ICJXS0Zvcm1QZXJpcGhlcmFsLmgiCiAjaW1wb3J0ICJXS0Zvcm1Qb3BvdmVyLmgiCiAj
aW1wb3J0IDxVSUtpdC9VSVBpY2tlclZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJUGlja2VyVmll
d19Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAKIENHRmxvYXQgYWRq
dXN0ZWRGb250U2l6ZShDR0Zsb2F0IHRleHRXaWR0aCwgVUlGb250ICosIENHRmxvYXQgaW5pdGlh
bEZvbnRTaXplLCBjb25zdCBWZWN0b3I8V2ViS2l0OjpPcHRpb25JdGVtPiYgaXRlbXMpOwogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVj
dENvbnRyb2wubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNl
bGVjdENvbnRyb2wubW0KaW5kZXggMTEzMmUyYTE4MzY0NjU3MDc5Y2ViMDA2NmZiZGJjMTMzMzRj
YjJiNC4uZmQ2NTJkOTY2MTUyZTk0MDk1YmIwMWViMTQ1NDUzMDg1OTY2ZWFiYyAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9s
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0
Q29udHJvbC5tbQpAQCAtMzIsMTQgKzMyLDggQEAKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRl
cmFjdGlvbi5oIgogI2ltcG9ydCAiV0tGb3JtUG9wb3Zlci5oIgogI2ltcG9ydCAiV2ViUGFnZVBy
b3h5LmgiCi0jaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9DRlVuaUNoYXIuaD4KLSNpbXBvcnQgPFVJ
S2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJp
dmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZF9Qcml2YXRlLmg+CiAjaW1wb3J0IDxV
SUtpdC9VSVBpY2tlclZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJUGlja2VyVmlld19Qcml2YXRl
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVN0cmluZ0RyYXdpbmdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8
VUlLaXQvVUlXZWJGb3JtQWNjZXNzb3J5Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+
CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVj
dFBpY2tlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2Vs
ZWN0UGlja2VyLm1tCmluZGV4IDMwZWFkMDRjMTQ3OGY0OTRmYTM5NjQ5MjI5ZmUyYjYwMzFhNmQy
N2UuLjQ1MDAzNDE0NWQ3YjY2MGM1YzU4MWJmMGYyYzAwOTEyOWI5ZDFlZWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlja2VyLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlj
a2VyLm1tCkBAIC0zMiwxMSArMzIsNyBAQAogI2ltcG9ydCAiV0tDb250ZW50Vmlld0ludGVyYWN0
aW9uLmgiCiAjaW1wb3J0ICJXS0Zvcm1Qb3BvdmVyLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHku
aCIKLSNpbXBvcnQgPENvcmVGb3VuZGF0aW9uL0NGVW5pQ2hhci5oPgotI2ltcG9ydCA8VUlLaXQv
VUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRl
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0
L1VJUGlja2VyQ29udGVudFZpZXdfUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQ
SS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1T
ZWxlY3RQb3BvdmVyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zv
cm1TZWxlY3RQb3BvdmVyLm1tCmluZGV4IGE1OTJhMmJiMTQ0MzFjNzY2YzU0ZmQwOTJjMDdkMGJj
ODI2ZjJlZDIuLjg5Njc0NTg5ZDIzMDM3N2UyMTk3MzBmZTlkZjE1N2M2OTY5ZjAyMTMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UG9w
b3Zlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNl
bGVjdFBvcG92ZXIubW0KQEAgLTMyLDE3ICszMiw5IEBACiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3
SW50ZXJhY3Rpb24uaCIKICNpbXBvcnQgIldLRm9ybVBvcG92ZXIuaCIKICNpbXBvcnQgIldlYlBh
Z2VQcm94eS5oIgotI2ltcG9ydCA8Q29yZUZvdW5kYXRpb24vQ0ZVbmlDaGFyLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJRGV2aWNl
X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmRfUHJpdmF0ZS5oPgotI2ltcG9y
dCA8VUlLaXQvVUlLZXlib2FyZEltcGwuaD4KICNpbXBvcnQgPFVJS2l0L1VJUGlja2VyVmlldy5o
PgotI2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0
L1VJVGFibGVWaWV3Q2VsbF9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVN0cmluZ0RyYXdp
bmdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJGb3JtQWNjZXNzb3J5Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRT
UEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktp
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agppbmRleCA4OWQyMDQyZWMwNWNiNmJhMzZhMzAwM2M0YWRlMDJlZmNhNWM2MzFkLi5kMzMxZjZj
MzdkOTQ2ZjkyNmEyZjA2YzdjYzhmODFiYWI2NWUzMmNjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0xNjEzLDYgKzE2MTMsMTIg
QEAKIAkJQ0RDQTg1QzgxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRy
b2xsZXIubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RENBODVDNjEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5t
bSAqLzsgfTsKIAkJQ0RDQTg1QzkxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRv
d0NvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENEQ0E4NUM3MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9s
bGVyLmggKi87IH07CiAJCUNERTZFMkQzMTlGNzMxQzQwMEJBOTY4OCAvKiBXZWJPcmlnaW5EYXRh
TWFuYWdlclN1cHBsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENERTZFMkQyMTlGNzMxQzQwMEJBOTY4OCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdl
clN1cHBsZW1lbnQuaCAqLzsgfTsKKwkJQ0UxQTBCRDIxQTQ4RTZDNjAwNTRFRjc0IC8qIEJLU1By
b2Nlc3NBc3NlcnRpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENFMUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9u
U1BJLmggKi87IH07CisJCUNFMUEwQkQzMUE0OEU2QzYwMDU0RUY3NCAvKiBDb3JlUERGU1BJLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTFBMEJDRDFB
NDhFNkM2MDA1NEVGNzQgLyogQ29yZVBERlNQSS5oICovOyB9OworCQlDRTFBMEJENDFBNDhFNkM2
MDA1NEVGNzQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTFBMEJDRTFBNDhFNkM2MDA1NEVGNzQgLyogRGF0YURl
dGVjdG9yc1VJU1BJLmggKi87IH07CisJCUNFMUEwQkQ1MUE0OEU2QzYwMDU0RUY3NCAvKiBNYW5h
Z2VkQ29uZmlndXJhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0UxQTBCQ0YxQTQ4RTZDNjAwNTRFRjc0IC8qIE1hbmFnZWRDb25maWd1cmF0
aW9uU1BJLmggKi87IH07CisJCUNFMUEwQkQ2MUE0OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkQwMUE0
OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCAqLzsgfTsKKwkJQ0UxQTBCRDcxQTQ4RTZDNjAwNTRF
Rjc0IC8qIFRleHRJbnB1dFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQ0UxQTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICov
OyB9OwogCQlDRURBMTJFMjE1MkNEMUFFMDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
REExMkRGMTUyQ0NBRTgwMEQ5RTA4RCAvKiBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuY3BwICov
OyB9OwogCQlDRURBMTJFMzE1MkNEMUIzMDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRURB
MTJERTE1MkNDQUU4MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggKi87IH07
CiAJCUNFREJBODQ3MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VEQkE4
NDUxOUZEQTAwQTAwNjg2NkE1IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAgKi87IH07
CkBAIC0zNzQ5LDYgKzM3NTUsMTIgQEAKIAkJQ0RDQTg1QzcxMzJBQkE0RTAwRTk2MURGIC8qIFdL
RnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQlDRENBODVENDEzMkFDMkIzMDBFOTYxREYgLyogSU9LaXQuZnJhbWV3b3JrICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gd3JhcHBlci5m
cmFtZXdvcms7IG5hbWUgPSBJT0tpdC5mcmFtZXdvcms7IHBhdGggPSAvU3lzdGVtL0xpYnJhcnkv
RnJhbWV3b3Jrcy9JT0tpdC5mcmFtZXdvcms7IHNvdXJjZVRyZWUgPSAiPGFic29sdXRlPiI7IH07
CiAJCUNERTZFMkQyMTlGNzMxQzQwMEJBOTY4OCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBs
ZW1lbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViT3JpZ2luRGF0YU1h
bmFnZXJTdXBwbGVtZW50Lmg7IHBhdGggPSBPcmlnaW5EYXRhL1dlYk9yaWdpbkRhdGFNYW5hZ2Vy
U3VwcGxlbWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTFBMEJDQzFBNDhF
NkM2MDA1NEVGNzQgLyogQktTUHJvY2Vzc0Fzc2VydGlvblNQSS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNFMUEwQkNEMUE0OEU2QzYwMDU0RUY3NCAvKiBDb3JlUERGU1BJLmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IENvcmVQREZTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0UxQTBCQ0UxQTQ4RTZDNjAwNTRFRjc0IC8qIERhdGFEZXRl
Y3RvcnNVSVNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEYXRhRGV0ZWN0
b3JzVUlTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0UxQTBCQ0YxQTQ4RTZD
NjAwNTRFRjc0IC8qIE1hbmFnZWRDb25maWd1cmF0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IE1hbmFnZWRDb25maWd1cmF0aW9uU1BJLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCUNFMUEwQkQwMUE0OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVENDU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gVGV4dElucHV0U1BJLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFREExMkRFMTUyQ0NBRTgwMEQ5RTA4RCAvKiBXZWJBbHRl
cm5hdGl2ZVRleHRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
QWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNF
REExMkRGMTUyQ0NBRTgwMEQ5RTA4RCAvKiBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VEQkE4NDUxOUZEQTAwQTAw
Njg2NkE1IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwpAQCAtNjM4NSw2ICs2Mzk3LDcgQEAKIAkJCQkzNzA5NTA0MjE4
QTg4Q0RFMDA4N0FFNUQgLyogZm91bmRhdGlvbiAqLywKIAkJCQkxQUUwMEQ2ODE4MzI3QzEyMDAw
ODdERDcgLyogSVBDICovLAogCQkJCTFBN0U4MTRFMTE1MkQyMjQwMDAzNjk1QiAvKiBtYWMgKi8s
CisJCQkJQ0UxQTBCQ0ExQTQ4RTZDNjAwNTRFRjc0IC8qIHNwaSAqLywKIAkJCQk1MUIxNUE3RDEz
ODQzOUIyMDAzMjFBRDggLyogdW5peCAqLywKIAkJCQk1MUE3RjJGNDEyNUJGOEQ0MDA4QUVCMUQg
LyogTG9nZ2luZy5jcHAgKi8sCiAJCQkJNTFBN0YyRjIxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dp
bmcuaCAqLywKQEAgLTcwODIsNiArNzA5NSwyNyBAQAogCQkJcGF0aCA9IEZ1bGxTY3JlZW4vbWFj
OwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJQ0UxQTBCQ0ExQTQ4RTZDNjAw
NTRFRjc0IC8qIHNwaSAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAo
CisJCQkJQ0UxQTBCQ0IxQTQ4RTZDNjAwNTRFRjc0IC8qIGlvcyAqLywKKwkJCSk7CisJCQlwYXRo
ID0gc3BpOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKKwkJQ0UxQTBCQ0IxQTQ4
RTZDNjAwNTRFRjc0IC8qIGlvcyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRy
ZW4gPSAoCisJCQkJQ0UxQTBCQ0MxQTQ4RTZDNjAwNTRFRjc0IC8qIEJLU1Byb2Nlc3NBc3NlcnRp
b25TUEkuaCAqLywKKwkJCQlDRTFBMEJDRDFBNDhFNkM2MDA1NEVGNzQgLyogQ29yZVBERlNQSS5o
ICovLAorCQkJCUNFMUEwQkNFMUE0OEU2QzYwMDU0RUY3NCAvKiBEYXRhRGV0ZWN0b3JzVUlTUEku
aCAqLywKKwkJCQlDRTFBMEJDRjFBNDhFNkM2MDA1NEVGNzQgLyogTWFuYWdlZENvbmZpZ3VyYXRp
b25TUEkuaCAqLywKKwkJCQlDRTFBMEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi8s
CisJCQkJQ0UxQTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICovLAorCQkJ
KTsKKwkJCXBhdGggPSBpb3M7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQlF
MTcwODc2RDE2RDZDQTcyMDBGOTkyMjYgLyogRmlsZUFQSSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdy
b3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC03Mjc5LDYgKzczMTMsNyBAQAogCQkJCTUxOEU4RUY5
MTZCMjA5MUMwMEU5MTQyOSAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxMkY1OEEzMTJBODgzQUQwMDYyOTUzMCAvKiBBdXRoZW50aWNhdGlvbk1hbmFnZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NEMTAyREExODY2NzcwNjAwRUQ0MjlEIC8q
IEF1dG9Db3JyZWN0aW9uQ2FsbGJhY2suaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMUEwQkQyMUE0
OEU2QzYwMDU0RUY3NCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTY0QTJGMjE5MUFGMTRFMDAxMDczN0QgLyogQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0
aFNhbmRib3hFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUUxNzA4NzZDMTZENkNBNjkw
MEY5OTIyNiAvKiBCbG9iUmVnaXN0cnlQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNEY2MDE0
MzIxNTVDNUFBMjAwMUZCREUwIC8qIEJsb2NraW5nUmVzcG9uc2VNYXAuaCBpbiBIZWFkZXJzICov
LApAQCAtNzI5NSw2ICs3MzMwLDcgQEAKIAkJCQk1MTM2MTgzRTE2MzEyNkRBMDBBOTlEREUgLyog
Q29ubmVjdGlvblN0YWNrLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA2RDdDNDE4QkRCRTczMDAw
QUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RD
MzgzMEMxNzIxMjI4MjAwOEEyRkMzIC8qIENvb2tpZVN0b3JhZ2VTaGltTGlicmFyeS5oIGluIEhl
YWRlcnMgKi8sCisJCQkJQ0UxQTBCRDMxQTQ4RTZDNjAwNTRFRjc0IC8qIENvcmVQREZTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCUI4NzhCNjE1MTMzNDI4REMwMDY4ODhFOSAvKiBDb3JyZWN0aW9u
UGFuZWwuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5ODlBNDE0MTY3RDE4NEIwMDRGOTZEMiAvKiBD
dXN0b21Qcm90b2NvbE1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5ODRGNTg5MTY0QkEw
OTUwMDRCQzBDNiAvKiBDdXN0b21Qcm90b2NvbE1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8sCkBAIC03MzA2LDYgKzczNDIsNyBAQAogCQkJCTUxN0RENUJGMTgwREE3RDMwMDgxNjYwQiAv
KiBEYXRhYmFzZVByb2Nlc3NQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEyQTk3NkExODBF
MDlCODAwMzlBMTQ5IC8qIERhdGFiYXNlUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxMDMyRjFFMTgwRjc5MTcwMDk2MUJCNyAvKiBEYXRhYmFzZVRvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb25NZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UxQTBCRDQxQTQ4RTZD
NjAwNTRFRjc0IC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFD
NzUzODAxODNCRTUwRjAwNzJDQjE1IC8qIERhdGFSZWZlcmVuY2UuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDRTgxRDk5MTMxQUUwMjEwMDI0MTkxMCAvKiBEaWN0aW9uYXJ5UG9wdXBJbmZvLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MThFOEYwODE2QjIwOTM3MDBFOTE0MjkgLyogRG93bmxvYWQuaCBp
biBIZWFkZXJzICovLApAQCAtNzM3OSw2ICs3NDE2LDcgQEAKIAkJCQk1MUE3RjJGMzEyNUJGODIw
MDA4QUVCMUQgLyogTG9nZ2luZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNDNTZGNzkxMTU5OTU3
RDAwMUNDQUY5IC8qIE1hY2hQb3J0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTI0QjVGMzExRjUz
MUU4MDBDMzgyNjkgLyogTWFjaFV0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UxQTBC
RDUxQTQ4RTZDNjAwNTRFRjc0IC8qIE1hbmFnZWRDb25maWd1cmF0aW9uU1BJLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTkzM0RFRjE5NjVFQjMxMDA4QUMzRUEgLyogTWVudVV0aWxpdGllcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUEyMzI5MDMxNjJDODY3MzAwRDgyRjdBIC8qIE1lc3NhZ2VEZWNv
ZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTIzMjhGRjE2MkM4NjZBMDBEODJGN0EgLyogTWVz
c2FnZUVuY29kZXIuaCBpbiBIZWFkZXJzICovLApAQCAtNzUyOSw5ICs3NTY3LDExIEBACiAJCQkJ
MUFCMzFBOTcxNkJDNjg4MTAwRjZEQkM5IC8qIFN0b3JhZ2VNYW5hZ2VyTWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBRTAwRDZDMTgzMjdDMTIwMDA4N0RENyAvKiBTdHJpbmdSZWZlcmVu
Y2UuaCBpbiBIZWFkZXJzICovLAogCQkJCTI5NkJEODVEMTUwMTlCQzMwMDcxRjQyNCAvKiBTdHJp
bmdVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMUEwQkQ2MUE0OEU2QzYwMDU0RUY3
NCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTQxN0NCMTJDMDBDQ0EwMDJCRTY3
QiAvKiBUZXh0Q2hlY2tlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMVFRNDE3Q0IxMkMwMENDQTAw
MkJFNjdCIC8qIFRleHRDaGVja2VyQ29tcGxldGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1
RTREQTQxMkQzQkQzRDAwOTlBMkJCIC8qIFRleHRDaGVja2VyU3RhdGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCUNFMUEwQkQ3MUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBQUYyNjM5MTQ2ODdDMzkwMDRBMUU4QSAvKiBUaWxlZENvcmVBbmltYXRp
b25EcmF3aW5nQXJlYS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGMDVEODcxNDY4ODM0ODAwOEIx
RTgxIC8qIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhUHJveHkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBRkU0MzY2MThCNkMwODEwMDlDN0E0OCAvKiBVSURlbGVnYXRlLmggaW4gSGVhZGVy
cyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9t
YWMvTGVnYWN5UHJvY2Vzcy9XZWJDb250ZW50UHJvY2Vzc01haW4ubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nlc3MvV2ViQ29udGVudFByb2Nl
c3NNYWluLm1tCmluZGV4IGI3MDBlYTVhOTY0OGZhYWNiODJlMjVjMGZlZDNiZDNjMTcyMDc5YWQu
LjMwMDE4NmJjMzViYTc5MjE1ZmJkYTBlZDJlMDQ0NTE2ZTA0ODNiYTEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9XZWJD
b250ZW50UHJvY2Vzc01haW4ubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRy
eVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbQpAQCAtMzEs
OCArMzEsOCBAQAogI2ltcG9ydCAiU3RyaW5nVXRpbGl0aWVzLmgiCiAjaW1wb3J0ICJXS0Jhc2Uu
aCIKICNpbXBvcnQgIldlYlByb2Nlc3MuaCIKKyNpbXBvcnQgPFdlYkNvcmUvU2VydmVyc1NQSS5o
PgogI2ltcG9ydCA8bWFjaC9tYWNoX2Vycm9yLmg+Ci0jaW1wb3J0IDxzZXJ2ZXJzL2Jvb3RzdHJh
cC5oPgogI2ltcG9ydCA8c3Bhd24uaD4KICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYv
UmV0YWluUHRyLmg+CkBAIC00MSw5ICs0MSw5IEBACiAjaW1wb3J0IDx3dGYvdGV4dC9XVEZTdHJp
bmcuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPEdyYXBoaWNzU2VydmljZXMvR3Jh
cGhpY3NTZXJ2aWNlcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc1NlcnZpY2VzU1BJLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuaD4KLSNlbmRp
ZiAvLyBQTEFURk9STShJT1MpCisjZW5kaWYKIAogI2lmIFVTRShBUFBLSVQpCiBAaW50ZXJmYWNl
IE5TQXBwbGljYXRpb24gKFdlYk5TQXBwbGljYXRpb25EZXRhaWxzKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRl
bnRTZXJ2aWNlRW50cnlQb2ludC5tbSBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQ
b2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2VydmljZUVudHJ5UG9pbnQubW0KaW5kZXgg
MjA5ZTAyYjhjNzU3NzM4ODE2NmQwZmI3MzMwYjU1MTRkMDUwODY1MC4uMTk0ZmJjZjA5NGRkNDdk
ZTU4NGYzODFkMGMwNmEzNzIzNWZlZDZhNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9FbnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlRW50cnlQ
b2ludC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQ
Q1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tCkBAIC0zMiw5ICszMiw5IEBA
CiAjaW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQotI2ltcG9ydCA8
R3JhcGhpY3NTZXJ2aWNlcy9HcmFwaGljc1NlcnZpY2VzLmg+CisjaW1wb3J0IDxXZWJDb3JlL0dy
YXBoaWNzU2VydmljZXNTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZVRocmVhZFN5c3Rl
bUludGVyZmFjZS5oPgotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyNlbmRpZgogCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CmRpZmYgLS1naXQgYS9U
b29scy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZThhNDEzY2EwNDlkZTI2ZmNl
YzI5YjQwYzVjNTZjNGE4YWYwMWVmNS4uZjZlZTU5MDk5ZWJhNTVhOWY5YzFhYTYyN2U3M2JlMTMz
MGQxNGJjNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDE5IEBACisyMDE0LTEyLTIyICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFw
cGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYktpdDIgYnVpbGQgd2l0aCBwdWJsaWMg
aU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MTM3MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAg
VXNlIFNQSSB3cmFwcGVyIGhlYWRlcnMgaW5zdGVhZCBvZiBkaXJlY3RseSByZWZlcmVuY2VzIHBy
aXZhdGUgU1BJIGhlYWRlcnMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9pb3MvRHVtcFJl
bmRlclRyZWVCcm93c2VyVmlldy5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2lvcy9QaXhl
bER1bXBTdXBwb3J0SU9TLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZS5tbToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWVX
aW5kb3cuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJv
bGxlci5tbToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToK
KwogMjAxNC0xMi0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAog
ICAgICAgICBTb3J0IHRoZSBYY29kZSBwcm9qZWN0IGZpbGUuCmRpZmYgLS1naXQgYS9Ub29scy9E
dW1wUmVuZGVyVHJlZS9pb3MvRHVtcFJlbmRlclRyZWVCcm93c2VyVmlldy5oIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvaW9zL0R1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcuaAppbmRleCA2MjY0Nzc3
ZWIxMzU4MGViM2VkMDQ2ZGJmNTUyODRiMWI0YWE3NDcxLi5mNTMxN2E0MmRhOGU1ZDViOGRkNTll
YTQyZmU4YWQ2MjcwMTQ4ZTNkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3Mv
RHVtcFJlbmRlclRyZWVCcm93c2VyVmlldy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lv
cy9EdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3LmgKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiAK
LSNpbXBvcnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlL
aXRTUEkuaD4KIAogQGludGVyZmFjZSBEdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3IDogVUlXZWJC
cm93c2VyVmlldyB7CiAgICAgQk9PTCBfc2Nyb2xsaW5nVXNlc1VJV2ViU2Nyb2xsVmlldzsKZGlm
ZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9QaXhlbER1bXBTdXBwb3J0SU9TLm1t
IGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KaW5kZXgg
NzJiNTI2Yzk2NWE0YmVjNzAyZjU4MzZhOTAzNzMyZGU1NDczZmNmMi4uZTAwMzdlYjIxZGNhYWY4
ZTM1NDg3N2I5NGZmZWViM2Y3NDFmNmIyOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvaW9zL1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUv
aW9zL1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KQEAgLTM2LDkgKzM2LDcgQEAKICNpbXBvcnQgPENv
bW1vbkNyeXB0by9Db21tb25EaWdlc3QuaD4KICNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9V
VENvcmVUeXBlcy5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSUtpdC5oPgotI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEku
aD4KICNpbXBvcnQgPFdlYktpdC9XZWJDb3JlVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUmVmQ291
bnRlZC5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFj
L0R1bXBSZW5kZXJUcmVlLm1tCmluZGV4IGQ0NzcwM2QyZTJkNGI5M2ZkMjNlOTc5YTI0YmQzNzg0
ZDk4YzcwZWQuLjNiODJkYmY0MzExMDExMGM0M2MwMGZiNzZjNGRjYWM0YjBiYjVhYzcgMTAwNjQ0
Ci0tLSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTEwMiwxMCArMTAy
LDggQEAKICNpbXBvcnQgIkR1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcuaCIKICNpbXBvcnQgPENv
cmVHcmFwaGljcy9DR0ZvbnREQi5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+
Ci0jaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0
L1VJTWF0aC5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJCcm93c2VyVmlldy5oPgotI2ltcG9ydCA8
VUlLaXQvVUlXZWJTY3JvbGxWaWV3Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV0FLV2luZG93Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViQ29yZVRocmVh
ZC5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYkNvcmVUaHJlYWRSdW4uaD4KZGlmZiAtLWdpdCBhL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZVdpbmRvdy5oIGIvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlV2luZG93LmgKaW5kZXggZDhjMGI5ZGQ3ODE5
NTVlYTRlNzU2MTVjOGU4MzQ3MzM3YTBjN2ZlNS4uYzY2Njg4YmZkYzU1NzNkMTg4MzY4ZGU5MzYx
NmMzNmJkN2FiNjA2MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBS
ZW5kZXJUcmVlV2luZG93LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlV2luZG93LmgKQEAgLTMxLDggKzMxLDcgQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2lt
cG9ydCA8QXBwS2l0L0FwcEtpdC5oPgogI2Vsc2UKLSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSVdlYkJyb3dzZXJWaWV3Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0
U1BJLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0FLV2luZG93Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0
IGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0gYi9U
b29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQppbmRleCBl
MDM0MTk4MGJkNmFmZWJjZDcxZWQ2YTIxM2Y4OWMwNjcxYjUxYzQ3Li4zNzQ2YzYyMGJkZjQ0MzVi
MDJmOTBhMjBhMmUyYjZkYjc0OTNjZTI3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJl
ZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQpAQCAtNDEsMTEgKzQxLDExIEBACiAjaW1w
b3J0IDxXZWJLaXQvV2ViVmlld1ByaXZhdGUuaD4KIAogI2lmICFQTEFURk9STShJT1MpCi0jaW1w
b3J0IDxDYXJib24vQ2FyYm9uLmg+ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIEdl
dEN1cnJlbnRFdmVudFRpbWUoKQorI2ltcG9ydCA8Q2FyYm9uL0NhcmJvbi5oPiAvLyBmb3IgR2V0
Q3VycmVudEV2ZW50VGltZSgpCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQg
PEdyYXBoaWNzU2VydmljZXMvR3JhcGhpY3NTZXJ2aWNlcy5oPiAgICAgICAvLyBmb3IgR1NDdXJy
ZW50RXZlbnRUaW1lc3RhbXAoKQorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc1NlcnZpY2VzU1BJ
Lmg+IC8vIGZvciBHU0N1cnJlbnRFdmVudFRpbWVzdGFtcCgpCiAjaW1wb3J0IDxXZWJLaXQvS2V5
RXZlbnRDb2Rlc0lPUy5oPgogI2ltcG9ydCA8V2ViS2l0L1dBS1dpbmRvdy5oPgogI2ltcG9ydCA8
V2ViS2l0L1dlYkV2ZW50Lmg+CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
VGVzdFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFj
Lm1tCmluZGV4IDczMTFlZDk2ZDdiMzBhYWY3NzZjMGI4NTk2ZGU0ZGU1MWZjNjNlYjkuLmRjYzQz
ZTg5NmZmYTFmNTFkMTY3M2FlYjVkNGY2MGU2ZDI1Mjk2ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC04Miw3ICs4Miw3IEBACiAjZW5kaWYKIAogI2lm
IFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJDb3JlVGhyZWFkLmg+
CiAjaW1wb3J0IDxXZWJLaXQvV2ViQ29yZVRocmVhZE1lc3NhZ2UuaD4KICNpbXBvcnQgPFdlYktp
dC9XZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>243679</attachid>
            <date>2014-12-23 10:44:49 -0800</date>
            <delta_ts>2015-01-07 13:54:27 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-137371-20141223104449.patch</filename>
            <type>text/plain</type>
            <size>118415</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTc3Njg2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV1RGL0NoYW5n
ZUxvZyBiL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCmluZGV4IDllYjc3M2NlMGNiOTIyZGQwNTI2Yjcy
NGYwZWMwYTNkYzdiNGY0MTUuLjk2MWRjOTY4ZDFkYzk3ODYzYTgyYWVkMjZkNDI5NDM1NTQ0NTNk
YmIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XVEYvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XVEYvQ2hh
bmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMTQtMTItMjMgIERhbmllbCBCYXRlcyAgPGRhYmF0
ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2UgV2ViS2l0MiBidWlsZCB3aXRoIHB1
YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNn
aT9pZD0xMzczNzEKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAg
ICAgICBNb3ZlZCBFWFRFUk5fQ19CRUdJTi9FWFRFUk5fQ19FTkQgbWFjcm9zIGZyb20gZmlsZSBX
ZWJLaXQyL2NvbmZpZy5oIHRvIGhlcmUgc28gdGhhdCB3ZQorICAgICAgICBjYW4gbWFrZSB1c2Ug
b2YgdGhlc2UgbWFjcm9zIGluIFdlYkNvcmUgU1BJIHdyYXBwZXIgaGVhZGVycyAoZS5nLiBVSUtp
dFNQSS5oKS4KKworICAgICAgICBJJ2xsIGxvb2sgdG8gdHJhbnNpdGlvbiBleGlzdGluZyBjb2Rl
IHRvIEVYVEVSTl9DX0JFR0lOL0VYVEVSTl9DX0VORCBhbmQgcmVtb3ZlCisgICAgICAgIEVYVEVS
Tl9DIGluIGEgc3Vic2VxdWVudCBjb21taXQocykuCisKKyAgICAgICAgKiB3dGYvQ29tcGlsZXIu
aDoKKwogMjAxNC0xMi0yMCAgRXJpYyBDYXJsc29uICA8ZXJpYy5jYXJsc29uQGFwcGxlLmNvbT4K
IAogICAgICAgICBbaU9TXSBhZGQgb3B0aW1pemVkIGZ1bGxzY3JlZW4gQVBJCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggMzVmNzU1MWE4ZjRiMGZkYWJjMDk1MWUyNDNiYWNjZTI3MmUwNDYwZS4uNDQ5NzdlMDQ5ZWQ5
YWFhMDAzZWZiNGFkM2ExNmMyYjk0MTQ4Y2QwMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE2IEBA
CisyMDE0LTEyLTIyICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBNYWtlIFdlYktpdDIgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MzcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vc3BpL0dyYXBoaWNzU2Vydmlj
ZXNTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVT
UEkuaDogQWRkIENBTGF5ZXIgU1BJIHByb3BlcnR5IGhpdFRlc3RzQXNPcGFxdWUuCisgICAgICAg
ICogcGxhdGZvcm0vc3BpL2NvY29hL1NlcnZlcnNTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxh
dGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oOiBBZGRlZC4KKwogMjAxNC0xMi0yMyAgWmFsYW4gQnVq
dGFzICA8emFsYW5AYXBwbGUuY29tPgogCiAgICAgICAgIEluY29ycmVjdCBkYXNoZWQgYW5kIGRv
dHRlZCBib3JkZXIgcGFpbnRpbmcuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9DaGFu
Z2VMb2cgYi9Tb3VyY2UvV2ViS2l0L21hYy9DaGFuZ2VMb2cKaW5kZXggOGM5MTk2MDkzZjhhZmMw
NTI0NmQ4ZTNkN2Q4Y2E5Y2E2NjljYjBlZS4uYzJiZGUwNzEyMzRkZGI1NDFmNGM2ZDgwODk0M2Ji
YTM3ZGFlZWNhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCisrKyBi
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBACisyMDE0LTEyLTIy
ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtl
IFdlYktpdDIgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mu
d2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNlIFNQSSB3cmFwcGVyIGhlYWRlcnMgaW5zdGVh
ZCBvZiBkaXJlY3RseSByZWZlcmVuY2VzIHByaXZhdGUgU1BJIGhlYWRlcnMuCisKKyAgICAgICAg
KiBQbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkhvc3RNYW5hZ2VyLm1tOgorCiAyMDE0LTEy
LTIwICBFcmljIENhcmxzb24gIDxlcmljLmNhcmxzb25AYXBwbGUuY29tPgogCiAgICAgICAgIFtp
T1NdIGFkZCBvcHRpbWl6ZWQgZnVsbHNjcmVlbiBBUEkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCA2ZWZhZmVhZjEz
ZGYyMjdiMTU3ZDdmYWUwZmE0MWM2NmI3MDZhYzU2Li4wN2MxZDQ0MDYxNGQwMzBmNzUxNDYzOTk5
Y2M1MzhjOWM2Nzc0MWYzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNjkgQEAKKzIwMTQtMTItMjIg
IERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAgICAgIFtpT1NdIE1ha2Ug
V2ViS2l0MiBidWlsZCB3aXRoIHB1YmxpYyBpT1MgU0RLCisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzczNzEKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNj
b25maWc6IEFwcGVuZCBkaXJlY3RvcnkgJChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9Q
cml2YXRlRnJhbWV3b3JrcyB0bworICAgICAgICB0aGUgbGlzdCBvZiBkaXJlY3RvcmllcyB0byBz
ZWFyY2ggZm9yIGZyYW1ld29ya3Mgc28gdGhhdCB3ZSB0aGUgbGlua2VyIGNhbiBmaW5kIGFuZCBs
aW5rIGFnYWluc3QgaU9TIHByaXZhdGUKKyAgICAgICAgZnJhbWV3b3JrcyAoZS5nLiBBc3NlcnRp
b25TZXJ2aWNlcykuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJj
ZUxvYWRlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Jlc291cmNlTG9hZGVyOjp3
aWxsQ2FjaGVSZXNwb25zZUFzeW5jKTogQWRkIFBMQVRGT1JNKElPUyktZ3VhcmQgYXJvdW5kIGNh
bGwgdG8gTmV0d29ya0Rpc2tDYWNoZU1vbml0b3I6Om1vbml0b3JGaWxlQmFja2luZ1N0b3JlQ3Jl
YXRpb24oKS4KKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW06IEFk
ZCBoZWFkZXIgc3lzL21tYW4uaC4KKyAgICAgICAgKiBQbGF0Zm9ybS9zcGkvaW9zL0JLU1Byb2Nl
c3NBc3NlcnRpb25TUEkuaDogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9Db3Jl
UERGU1BJLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvRGF0YURldGVjdG9y
c1VJU1BJLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtL3NwaS9pb3MvTWFuYWdlZENvbmZp
Z3VyYXRpb25TUEkuaDogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9UQ0NTUEku
aDogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9UZXh0SW5wdXRTUEkuaDogQWRk
ZWQuCisgICAgICAgICogU2hhcmVkL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW06IEFkZCBV
U0UoQ0ZORVRXT1JLKS1ndWFyZCBhcm91bmQgQ0ZOZXR3b3JrLXNwZWNpZmljIGNvZGUgYW5kIGNv
bmRpdGlvbmFsbHkKKyAgICAgICAgaW5jbHVkZSBoZWFkZXIgQ0ZOZXR3b3JrL0NGVVJMRG93bmxv
YWQuaC4KKyAgICAgICAgKFdlYktpdDo6RG93bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZSk6IERpdHRv
LgorICAgICAgICAqIFNoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdhY3lQcm9jZXNz
L0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW06IEluY2x1ZGUgaGVhZGVyIFNlcnZlcnNTUEkuaCBp
bnN0ZWFkCisgICAgICAgIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisg
ICAgICAgICogU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tOiBJbmNsdWRlIGhl
YWRlciBVSUtpdFNQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVh
ZGVycy4KKyAgICAgICAgKiBTaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuY3BwOiBJbmNsdWRl
IGhlYWRlciBzeXMvcGFyYW0uaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbTogSW5jbHVkZSBoZWFkZXIgVUlLaXRTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGlu
Y2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0ludGVybmFsLmg6IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9B
UEkvaW9zL1dLVmlld0lPUy5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVy
L21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW06IEluY2x1ZGUgaGVhZGVyIFNlcnZlcnNTUEkuaCBp
bnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbTogSW5jbHVkZSBoZWFkZXIgVUlLaXRT
UEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAg
ICAgICogVUlQcm9jZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tOiBJbmNsdWRlIGhlYWRl
ciBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggaW5zdGVhZCBvZiBkaXJlY3RseSBpbmNsdWRpbmcg
cHJpdmF0ZSBoZWFkZXJzLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0
aW9uQ29udHJvbGxlci5tbTogSW5jbHVkZSBoZWFkZXIgVUlLaXRTUEkuaCBpbnN0ZWFkIG9mIGRp
cmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lv
cy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvV0tBY3Rpb25TaGVldC5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9X
S0FjdGlvblNoZWV0QXNzaXN0YW50Lmg6IEluY2x1ZGUgaGVhZGVyIERhdGFEZXRlY3RvcnNVSVNQ
SS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW06IEluY2x1ZGUgaGVh
ZGVycyBUQ0NTUEkuaCBhbmQgVUlLaXRTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGlu
ZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3
Lm1tOiBJbmNsdWRlIGhlYWRlciBVSUtpdFNQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVk
aW5nIHByaXZhdGUgaGVhZGVycy4gQWxzbywgbW92ZSBDQUxheWVyIFNQSQorICAgICAgICBmb3J3
YXJkIGRlY2xhcmF0aW9ucyB0byBRdWFydHpDb3JlU1BJLmgKKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oOiBJbmNsdWRlIGhlYWRlciBVSUtpdFNQSS5o
IGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAg
KiBVSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbTogRGl0dG8uIEFsc28s
IGluY2x1ZGUgaGVhZGVycyBDb3JlR3JhcGhpY3NTUEkuaCwgQ29yZVRleHQvQ1RGb250LmgsIERh
dGFEZXRlY3RvcnNVSVNQSS5oLAorICAgICAgICBNYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oLCBU
ZXh0SW5wdXRTUEkuaC4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92
aWRlcklPU09iakNTZWN1cml0eU9yaWdpbi5tbTogSW5jbHVkZSBoZWFkZXIgVUlLaXRTUEkuaCBp
bnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICog
VUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW06IERpdHRvLgorICAgICAg
ICAqIFVJUHJvY2Vzcy9pb3MvV0tQREZWaWV3Lmg6IEluY2x1ZGUgaGVhZGVyIENvcmVQREZTUEku
aCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW06IERpdHRvLiBBbHNvLCByZW1vdmUgaGVhZGVy
IF9VSUhpZ2hsaWdodFZpZXdTUEkuaCBhbmQgaW5jbHVkZSBVSUtpdFNQSS5oLgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3Lmg6IEluY2x1ZGUgaGVhZGVyIFVJS2l0U1BJLmgg
aW5zdGVhZCBvZiBkaXJlY3RseSBpbmNsdWRpbmcgcHJpdmF0ZSBoZWFkZXJzLgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmg6IERp
dHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5Lm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJv
dXRlUGlja2VyLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmls
ZVVwbG9hZFBhbmVsLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
Rm9ybUlucHV0Q29udHJvbC5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS0Zvcm1Qb3BvdmVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLRm9ybVNlbGVjdENvbnRyb2wuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9m
b3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
aW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBpY2tlci5tbTogRGl0dG8uCisgICAgICAgICogVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQb3BvdmVyLm1tOiBEaXR0by4KKyAgICAgICAgKiBX
ZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9F
bnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbTogSW5j
bHVkZSBoZWFkZXJzIFNlcnZlcnNTUEkuaCBhbmQgR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGluc3Rl
YWQgb2YKKyAgICAgICAgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZp
Y2VFbnRyeVBvaW50Lm1tOiBJbmNsdWRlIGhlYWRlciBHcmFwaGljc1NlcnZpY2VzU1BJLmggaW5z
dGVhZCBvZiBkaXJlY3RseQorICAgICAgICBpbmNsdWRpbmcgcHJpdmF0ZSBoZWFkZXJzLgorICAg
ICAgICAqIGNvbmZpZy5oOiBNb3ZlZCBFWFRFUk5fQ19CRUdJTi9FWFRFUk5fQ19FTkQgbWFjcm9z
IGZyb20gaGVyZSB0byBmaWxlIHd0Zi9Db21waWxlci5oIHNvIHRoYXQgd2UgY2FuIG1ha2UgdXNl
IG9mIHRoZW0KKyAgICAgICAgaW4gV2ViQ29yZSBTUEkgd3JhcHBlciBoZWFkZXJzIChlLmcuIFVJ
S2l0U1BJLmgpLgorCiAyMDE0LTEyLTIyICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBhcHBs
ZS5jb20+CiAKICAgICAgICAgVXNlIGEgVHJhbnNmb3JtZXIgZm9yIFVzZXJEYXRhIGFzIHdlbGws
IHRvIGF2b2lkIGFsd2F5cyBjb3B5aW5nIGFycmF5cyBhbmQgZGljdGlvbmFyaWVzCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oIGIvU291cmNlL1dURi93dGYvQ29tcGlsZXIu
aAppbmRleCAyYjFhMWEwMjYxZmQzNzRjYzc1MTJiNjI0MGQ2MzM5ZDBkZmEwNjU3Li5hNmE5MGQ1
M2VlMjI5NTE3NjNjZmYwYzAxZWE1YmRmY2JjOTVlZDI2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RG
L3d0Zi9Db21waWxlci5oCisrKyBiL1NvdXJjZS9XVEYvd3RmL0NvbXBpbGVyLmgKQEAgLTE1OCw2
ICsxNTgsMTUgQEAKIC8qIEVYVEVSTl9DICovCiAKICNpZmRlZiBfX2NwbHVzcGx1cworI2RlZmlu
ZSBFWFRFUk5fQ19CRUdJTiBleHRlcm4gIkMiIHsKKyNkZWZpbmUgRVhURVJOX0NfRU5EIH0KKyNl
bHNlCisjZGVmaW5lIEVYVEVSTl9DX0JFR0lOCisjZGVmaW5lIEVYVEVSTl9DX0VORAorI2VuZGlm
CisKKy8vIEZJWE1FOiBSZW1vdmUgdGhpcyBvbmNlIHdlIGhhdmUgdHJhbnNpdGlvbmVkIHRvIEVY
VEVSTl9DX0JFR0lOL0VYVEVSTl9DX0VORC4KKyNpZmRlZiBfX2NwbHVzcGx1cwogI2RlZmluZSBF
WFRFUk5fQyBleHRlcm4gIkMiCiAjZWxzZQogI2RlZmluZSBFWFRFUk5fQyBleHRlcm4KZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCAz
YTBiNTI2ZTk4MWUxNmQzNzU1OTE2ZTE3NDQ2OTRiNGU2ZjRjNTBiLi4yM2E1NTkyN2MxZGY3ZDky
YTBlZDJmZDdmMzVhNTNiMTk1NmNhZDg4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9XZWJD
b3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUvV2ViQ29y
ZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0zNzQ5LDcgKzM3NDksNiBAQAogCQlBMTQ4
MzJDRDE4N0Y2ODJFMDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZFNhZmUuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExNDgzMjlGMTg3RjUwODcwMERBNjNB
NiAvKiBXZWJDb3JlVGhyZWFkU2FmZS5oICovOyB9OwogCQlBMTQ4MzJDRTE4N0Y2ODM0MDBEQTYz
QTYgLyogV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ4MzJBMDE4N0Y1MDg3MDBEQTYzQTYgLyog
V2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5jcHAgKi87IH07CiAJCUExNDgzMkNGMTg3RjY4
NDcwMERBNjNBNiAvKiBXZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNlLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ4MzJBMTE4N0Y1MDg3MDBEQTYz
QTYgLyogV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oICovOyBzZXR0aW5ncyA9IHtBVFRS
SUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCUExNzIxODI2MTlERTE4M0YwMDQ2NEQxNyAv
KiBfVUlIaWdobGlnaHRWaWV3U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBBMTcyMTgyNTE5REUxODNGMDA0NjREMTcgLyogX1VJSGlnaGxpZ2h0Vmll
d1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJ
CUExN0M4MTIyMEYyQTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE3QzgxMjAwRjJBNUNG
NzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5jcHAgKi87IH07CiAJCUExN0M4MTIzMEYy
QTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExN0M4MTIxMEYyQTVDRjcwMDVEQUFFQiAvKiBI
VE1MRWxlbWVudEZhY3RvcnkuaCAqLzsgfTsKIAkJQTFDNzk3MTgxODgzREQ4MjAwMEY1RTFGIC8q
IERPTUdlc3R1cmVFdmVudC5oIGluIENvcHkgR2VuZXJhdGVkIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMEY1NERDREQxODgwRjkwMTAwM0VFREJCIC8qIERPTUdl
c3R1cmVFdmVudC5oICovOyB9OwpAQCAtNTc5Niw2ICs1Nzk1LDggQEAKIAkJQ0U3QjJEQjYxNTg2
QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFN0IyREIyMTU4NkFCQUQwMDk4QjNG
QSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0gKi87IH07CiAJCUNFODI0NUYwMTlCNjcx
QkEwMEFDMDEyMiAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFODI0NUVGMTlCNjcxQkEwMEFDMDEy
MiAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQlDRTk1MjA4QTE4MTFCNDc1MDA3QTUzOTIgLyog
V2ViU2FmZUluY3JlbWVudGFsU3dlZXBlcklPUy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQzJDNENCMUQxNjFBMTMxMjAwRDIxNERBIC8qIFdlYlNhZmVJ
bmNyZW1lbnRhbFN3ZWVwZXJJT1MuaCAqLzsgfTsKKwkJQ0VDMzM3QUQxQTQ2MDcxRjAwOUI4NTIz
IC8qIFNlcnZlcnNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IENFQzMzN0FDMUE0NjA3MUYwMDlCODUyMyAvKiBTZXJ2ZXJzU1BJLmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKKwkJQ0VDMzM3QUYxQTQ2MDg2
RDAwOUI4NTIzIC8qIEdyYXBoaWNzU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFQzMzN0FFMUE0NjA4NkQwMDlCODUyMyAvKiBHcmFw
aGljc1NlcnZpY2VzU1BJLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJQ0VDQURGQzYxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0
aXZlLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
Q0FERkMyMTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5jcHAgKi87IH07
CiAJCUNFQ0FERkM3MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VDQURGQzMxNTM3
NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZlLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0VDQURGQzgxNTM3NzhGRjAwRTM3MDY4
IC8qIERpY3RhdGlvbkNvbW1hbmQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQ0VDQURGQzQxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkNvbW1h
bmQuY3BwICovOyB9OwpAQCAtNTgwNCw2ICs1ODA1LDcgQEAKIAkJQ0VDQURGQ0UxNTM3NzkxRDAw
RTM3MDY4IC8qIFRleHRJbnNlcnRpb25CYXNlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VDQURGQ0MxNTM3NzkxRDAwRTM3MDY4IC8qIFRl
eHRJbnNlcnRpb25CYXNlQ29tbWFuZC5oICovOyB9OwogCQlDRUNDRkMzQjE0MTk3M0Q1MDAyQTBB
QzEgLyogRGVjb2RlRXNjYXBlU2VxdWVuY2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRUNDRkMzQTE0MTk3M0Q1MDAyQTBBQzEgLyogRGVjb2RlRXNj
YXBlU2VxdWVuY2VzLmggKi87IH07CiAJCUNFREExMkQ3MTUyQ0ExQ0IwMEQ5RTA4RCAvKiBBbHRl
cm5hdGl2ZVRleHRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IENFREExMkQ2MTUyQ0ExQ0IwMEQ5RTA4RCAvKiBBbHRlcm5hdGl2ZVRleHRDbGll
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OworCQlD
RUUyQjE5RjFBNDRFMzJEMDA0QjU5RUEgLyogVUlLaXRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFRTJCMTlFMUE0NEUzMkQwMDRCNTlFQSAvKiBV
SUtpdFNQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCUNFRUZDRDc5MTlEQjMxRjcwMDM4NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFRUZDRDc3MTlE
QjMxRjcwMDM4NzZENyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmNwcCAqLzsgfTsKIAkJQ0VFRkNE
N0ExOURCMzFGNzAwMzg3NkQ3IC8qIE1lZGlhUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFRUZDRDc4MTlEQjMxRjcwMDM4NzZE
NyAvKiBNZWRpYVJlc291cmNlTG9hZGVyLmggKi87IH07CiAJCUNFRUZDRDdDMTlEQjMzREMwMDM4
NzZENyAvKiBQbGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFRUZDRDdCMTlEQjMzREMwMDM4NzZENyAvKiBQ
bGF0Zm9ybU1lZGlhUmVzb3VyY2VMb2FkZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMTA5NzcsNyArMTA5NzksNiBAQAogCQlBMTQ4MzJBOTE4
N0Y1MDg3MDBEQTYzQTYgLyogV0tWaWV3LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IFdLVmlldy5oOyBwYXRoID0gaW9zL3dhay9XS1ZpZXcuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQTE0ODMyQUExODdGNTA4NzAwREE2M0E2IC8qIFdLVmlldy5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgbmFtZSA9IFdLVmlldy5tbTsgcGF0aCA9IGlvcy93
YWsvV0tWaWV3Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlBMTQ4MzJBQjE4N0Y1
MDg3MDBEQTYzQTYgLyogV0tWaWV3UHJpdmF0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXS1ZpZXdQcml2YXRlLmg7IHBhdGggPSBpb3Mvd2FrL1dLVmlld1ByaXZhdGUuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQTE3MjE4MjUxOURFMTgzRjAwNDY0RDE3IC8q
IF9VSUhpZ2hsaWdodFZpZXdTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
X1VJSGlnaGxpZ2h0Vmlld1NQSS5oOyBwYXRoID0gaW9zL19VSUhpZ2hsaWdodFZpZXdTUEkuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE3QzgxMjAwRjJBNUNGNzAwNURBQUVCIC8q
IEhUTUxFbGVtZW50RmFjdG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBh
dGggPSBIVE1MRWxlbWVudEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlBMTdDODEyMTBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEhUTUxFbGVtZW50RmFjdG9yeS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlBMUM3OTcxQzE4ODNFNTFGMDAwRjVFMUYgLyogRE9NSFRN
TFRleHRBcmVhRWxlbWVudFByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gRE9NSFRNTFRleHRBcmVhRWxlbWVudFByaXZhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEzMzI4LDYgKzEzMzI5LDggQEAKIAkJQ0U3QjJEQjExNTg2QUJBRDAwOThCM0ZB
IC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhSYW5nZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJQ0U3QjJEQjIxNTg2QUJBRDAwOThCM0ZBIC8qIFRleHRBbHRlcm5hdGl2ZVdpdGhS
YW5nZS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFRleHRBbHRl
cm5hdGl2ZVdpdGhSYW5nZS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0U4MjQ1
RUYxOUI2NzFCQTAwQUMwMTIyIC8qIENGTmV0d29ya0Nvbm5lY3Rpb25DYWNoZVNQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEku
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0VDMzM3QUMxQTQ2MDcxRjAwOUI4NTIz
IC8qIFNlcnZlcnNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gU2VydmVy
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRUMzMzdBRTFBNDYwODZEMDA5
Qjg1MjMgLyogR3JhcGhpY3NTZXJ2aWNlc1NQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBHcmFwaGljc1NlcnZpY2VzU1BJLmg7IHBhdGggPSBpb3MvR3JhcGhpY3NTZXJ2aWNl
c1NQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRUNBREZDMjE1Mzc3OEZGMDBF
MzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gRGljdGF0aW9uQWx0ZXJuYXRpdmUuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDRUNBREZDMzE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJu
YXRpdmUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGljdGF0aW9uQWx0ZXJu
YXRpdmUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VDQURGQzQxNTM3NzhGRjAw
RTM3MDY4IC8qIERpY3RhdGlvbkNvbW1hbmQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRGljdGF0aW9uQ29tbWFuZC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMzMzNiw2ICsxMzMzOSw3IEBACiAJCUNFQ0FERkNDMTUzNzc5MUQwMEUzNzA2OCAv
KiBUZXh0SW5zZXJ0aW9uQmFzZUNvbW1hbmQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gVGV4dEluc2VydGlvbkJhc2VDb21tYW5kLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNFQ0NGQzNBMTQxOTczRDUwMDJBMEFDMSAvKiBEZWNvZGVFc2NhcGVTZXF1ZW5jZXMu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVjb2RlRXNjYXBlU2VxdWVuY2Vz
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFREExMkQ2MTUyQ0ExQ0IwMEQ5RTA4
RCAvKiBBbHRlcm5hdGl2ZVRleHRDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gQWx0ZXJuYXRpdmVUZXh0Q2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCUNFRTJCMTlFMUE0NEUzMkQwMDRCNTlFQSAvKiBVSUtpdFNQSS5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBVSUtpdFNQSS5oOyBwYXRoID0gaW9zL1VJS2l0U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFRUM2MDM0MTg3REQ5NjIwMDNFNDNCQiAvKiBU
ZXh0VHJhY2tSZXByZXNlbnRhdGlvbklPUy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBUZXh0VHJhY2tSZXByZXNlbnRhdGlvbklPUy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRUVGQ0Q3NzE5REIzMUY3MDAzODc2RDcgLyogTWVkaWFSZXNvdXJjZUxvYWRlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVJlc291cmNlTG9h
ZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VFRkNENzgxOURCMzFGNzAw
Mzg3NkQ3IC8qIE1lZGlhUmVzb3VyY2VMb2FkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFSZXNvdXJjZUxvYWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTYzMDUsNiArMTYzMDksNyBAQAogCQkJCUNFMTI1MjU0MUExQkVDMEUwMDg2NDQ4MCAv
KiBOU1VSTERvd25sb2FkU1BJLmggKi8sCiAJCQkJNjUzRUY4MzgxOUEwNDNBRTAwNTIyMDJDIC8q
IE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUNFMTI1MjNDMUExNjc2Q0QwMDg2
NDQ4MCAvKiBRdWFydHpDb3JlU1BJLmggKi8sCisJCQkJQ0VDMzM3QUMxQTQ2MDcxRjAwOUI4NTIz
IC8qIFNlcnZlcnNTUEkuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gY29jb2E7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwpAQCAtMTg1NzEsMTIgKzE4NTc2LDEzIEBACiAJCUExNzIxODI0MTlE
RTE4MkIwMDQ2NEQxNyAvKiBpb3MgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKAotCQkJCUExNzIxODI1MTlERTE4M0YwMDQ2NEQxNyAvKiBfVUlIaWdobGlnaHRWaWV3
U1BJLmggKi8sCiAJCQkJQ0UxMjUyM0UxQTE2QUUxMjAwODY0NDgwIC8qIEFWS2l0U1BJLmggKi8s
CiAJCQkJQ0UxMjUyNDIxQTE2QzAxQTAwODY0NDgwIC8qIENvcmVVSVNQSS5oICovLAorCQkJCUNF
QzMzN0FFMUE0NjA4NkQwMDlCODUyMyAvKiBHcmFwaGljc1NlcnZpY2VzU1BJLmggKi8sCiAJCQkJ
Q0UxMjUyNDgxQTE2QzNCQzAwODY0NDgwIC8qIE1vYmlsZUdlc3RhbHRTUEkuaCAqLywKIAkJCQlD
RTEyNTI0MDFBMTZCMUI2MDA4NjQ0ODAgLyogTWVkaWFQbGF5ZXJTUEkuaCAqLywKIAkJCQlDRTEy
NTIzODFBMTY2RkEwMDA4NjQ0ODAgLyogUXVpY2tMb29rU1BJLmggKi8sCisJCQkJQ0VFMkIxOUUx
QTQ0RTMyRDAwNEI1OUVBIC8qIFVJS2l0U1BJLmggKi8sCiAJCQkpOwogCQkJbmFtZSA9IGlvczsK
IAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0yMzQzNiw3ICsyMzQ0Miw2IEBACiAJCQlp
c2EgPSBQQlhIZWFkZXJzQnVpbGRQaGFzZTsKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2
NDc7CiAJCQlmaWxlcyA9ICgKLQkJCQlBMTcyMTgyNjE5REUxODNGMDA0NjREMTcgLyogX1VJSGln
aGxpZ2h0Vmlld1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRkUxMTVGQUIxNjc5ODhDRDAwMjQ5
MTM0IC8qIEFic3RyYWN0RGF0YWJhc2VTZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFNEFB
REVFMTZEMkMzNzQwMDAyNkZGQyAvKiBBYnN0cmFjdFNRTFN0YXRlbWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRkU0QUFERUYxNkQyQzM3NDAwMDI2RkZDIC8qIEFic3RyYWN0U1FMU3RhdGVtZW50
QmFja2VuZC5oIGluIEhlYWRlcnMgKi8sCkBAIC0yNDUyMCw2ICsyNDUyNSw3IEBACiAJCQkJMEY1
ODBCMEUwRjEyQTI2OTAwNTFENjg5IC8qIEdyYXBoaWNzTGF5ZXJDbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBQzY5NTkzMTYxQTFFNTMwMDM3MzJDQiAvKiBHcmFwaGljc0xheWVyRmFjdG9y
eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMEZBMjREN0ExNjJERjkxOTAwQTNGNEMwIC8qIEdyYXBo
aWNzTGF5ZXJVcGRhdGVyLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRUMzMzdBRjFBNDYwODZEMDA5
Qjg1MjMgLyogR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQjJBMDE1
QUIwQUY2Q0Q1MzAwNkJDRTBFIC8qIEdyYXBoaWNzVHlwZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTc3QTE3QTdCMTJGMjg5MEIwMDRFMDJGNiAvKiBHcmFwaGljc1R5cGVzM0QuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNEM0UyNTFDMTgwNDZCMDYwMEUyN0Y1NiAvKiBHcmlkQ29vcmRpbmF0ZS5oIGlu
IEhlYWRlcnMgKi8sCkBAIC0yNjExMyw2ICsyNjExOSw3IEBACiAJCQkJMDc3QUYxNDAxOEY0QUU0
MDAwMDFFRDYxIC8qIFNlcmlhbGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkwNzdBRjE0MzE4RjRCMUJCMDAwMUVENjEgLyogU2VyaWFsaXplZFBsYXRmb3Jt
UmVwcmVzZW50YXRpb25NYWMuaCBpbiBIZWFkZXJzICovLAogCQkJCUE3NUU0OTc2MTA3NTJBQ0Iw
MEM5Qjg5NiAvKiBTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNF
QzMzN0FEMUE0NjA3MUYwMDlCODUyMyAvKiBTZXJ2ZXJzU1BJLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkyRDkzQUVFMzE5REY1NjQxMDAyQTg2QzMgLyogU2VydmljZXNPdmVybGF5Q29udHJvbGxlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNzU2QjJDRTExOEI3MTAxNjAwRkVDRkFBIC8qIFNlc3Npb25J
RC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzVEQ0M3QjgxOEI4MUM4ODAwQTU3MTI4IC8qIFNlc3Np
b25JREhhc2guaCBpbiBIZWFkZXJzICovLApAQCAtMjY2NDcsNiArMjY2NTQsNyBAQAogCQkJCTkz
MzA5RTFBMDk5RTY0OTIwMDU2RTU4MSAvKiBUeXBpbmdDb21tYW5kLmggaW4gSGVhZGVycyAqLywK
IAkJCQk4NTAzMUI0RTBBNDRFRkM3MDBGOTkyRTAgLyogVUlFdmVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJODUwMzFCNEYwQTQ0RUZDNzAwRjk5MkUwIC8qIFVJRXZlbnRXaXRoS2V5U3RhdGUuaCBp
biBIZWFkZXJzICovLAorCQkJCUNFRTJCMTlGMUE0NEUzMkQwMDRCNTlFQSAvKiBVSUtpdFNQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQUE0NzM5RDIxNzU3QUZFQzAwRTc2NzY3IC8qIFVJUmVxdWVz
dEV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5QjJEOEE3OTE0OTk3Q0NGMDBFQ0VGM0UgLyog
VW5kb1N0ZXAuaCBpbiBIZWFkZXJzICovLAogCQkJCUE4NjNFMjAxMTM0MzQxMjAwMDI3NDkyNiAv
KiBVbmljb2RlQmlkaS5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAppbmRleCAzMzBhZDYwMjhlMjFlZmJjOTAx
NWE0ZDM4NDEzMjAwNDc5M2M1MTk0Li43OGQ4OTQxMjczZWU4ZmNmZDY3Njg3NDkwYmJjZDUwMDFm
YzgyYWFhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUXVh
cnR6Q29yZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFy
dHpDb3JlU1BJLmgKQEAgLTc3LDYgKzc3LDcgQEAgZXh0ZXJuICJDIiB7CiBAcHJvcGVydHkgQk9P
TCBhbGxvd3NHcm91cEJsZW5kaW5nOwogQHByb3BlcnR5IEJPT0wgY2FuRHJhd0NvbmN1cnJlbnRs
eTsKIEBwcm9wZXJ0eSBCT09MIGNvbnRlbnRzT3BhcXVlOworQHByb3BlcnR5IEJPT0wgaGl0VGVz
dHNBc09wYXF1ZTsKIEBwcm9wZXJ0eSBCT09MIG5lZWRzTGF5b3V0T25HZW9tZXRyeUNoYW5nZTsK
IEBwcm9wZXJ0eSBCT09MIHNoYWRvd1BhdGhJc0JvdW5kczsKIEBlbmQKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9TZXJ2ZXJzU1BJLmggYi9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvU2VydmVyc1NQSS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyZjJiZDM5
MzAxYzQwNzRlOTA4ZmNhMjY2MmMyYTA4YjM1MTRmYzQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvU2VydmVyc1NQSS5oCkBAIC0wLDAgKzEsNDgg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFNlcnZlcnNTUElfaAorI2RlZmluZSBTZXJ2ZXJzU1BJ
X2gKKworI2luY2x1ZGUgPG1hY2gvbWVzc2FnZS5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFM
X1NESykKKworI2luY2x1ZGUgPHNlcnZlcnMvYm9vdHN0cmFwLmg+CisKKyNlbHNlCisKK3R5cGVk
ZWYgY2hhciBuYW1lX3RbMTI4XTsKKworI2VuZGlmCisKK0VYVEVSTl9DX0JFR0lOCisKK2tlcm5f
cmV0dXJuX3QgYm9vdHN0cmFwX2xvb2tfdXAobWFjaF9wb3J0X3QsIGNvbnN0IG5hbWVfdCBzZXJ2
aWNlTmFtZSwgbWFjaF9wb3J0X3QgKik7CitrZXJuX3JldHVybl90IGJvb3RzdHJhcF9yZWdpc3Rl
cjIobWFjaF9wb3J0X3QsIG5hbWVfdCwgbWFjaF9wb3J0X3QsIHVpbnQ2NF90KTsKKworRVhURVJO
X0NfRU5ECisKKyNlbmRpZiAvLyBTZXJ2ZXJzU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oIGIvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNWFj
YTFjZmJlYTk2NTEyMTc5OWIwMjVlODAzYzkxMzljYzU0NWFjMwotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oCkBA
IC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEdyYXBoaWNzU2VydmljZXNTUElf
aAorI2RlZmluZSBHcmFwaGljc1NlcnZpY2VzU1BJX2gKKworI2lmIFVTRShBUFBMRV9JTlRFUk5B
TF9TREspCisKKyNpbXBvcnQgPEdyYXBoaWNzU2VydmljZXMvR3JhcGhpY3NTZXJ2aWNlcy5oPgor
CisjZW5kaWYKKworRVhURVJOX0NfQkVHSU4KKwordm9pZCBHU0luaXRpYWxpemUodm9pZCk7Cit1
aW50NjRfdCBHU0N1cnJlbnRFdmVudFRpbWVzdGFtcCh2b2lkKTsKKworRVhURVJOX0NfRU5ECisK
KyNlbmRpZiAvLyBHcmFwaGljc1NlcnZpY2VzU1BJX2gKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L3NwaS9pb3MvVUlLaXRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hYTlhNjI0NjU4NGMxYjY5ZGI1OWU0MmZi
NmExZjAyY2EwZDQxNjc2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2lvcy9VSUtpdFNQSS5oCkBAIC0wLDAgKzEsNjY1IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworLy8g
RklYTUU6IE1vdmUgdGhpcyBoZWFkZXIgdG8gdGhlIFdlYktpdDIgZnJhbWV3b3JrIG9uY2Ugd2Ug
cmVtb3ZlIER1bXBSZW5kZXJUcmVlJ3MKKy8vIGRlcGVuZGVuY2Ugb24gaXQuIEl0IGlzIGEgbGF5
ZXJpbmcgdmlvbGF0aW9uIHRvIGluY2x1ZGUgdGhpcyBoZWFkZXIgb3IgYW55IFVJS2l0CisvLyBo
ZWFkZXJzIGluIGEgV2ViQ29yZSBvciBXZWJLaXRMZWdhY3kgZmlsZSBhcyBVSUtpdCBkZXBlbmRz
IG9uIFdlYktpdExlZ2FjeS4KKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQWxlcnRDb250cm9sbGVyX1By
aXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgorI2ltcG9y
dCA8VUlLaXQvVUlCYXJCdXR0b25JdGVtX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJRGF0
ZVBpY2tlcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+Cisj
aW1wb3J0IDxVSUtpdC9VSUZvbnRfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlHZW9tZXRy
eV9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSUdlc3R1cmVSZWNvZ25pemVyX1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFVJS2l0L1VJSW1hZ2VQaWNrZXJDb250cm9sbGVyX1ByaXZhdGUuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJSW1hZ2VfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlLZXlib2Fy
ZEltcGwuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmRJbnRsLmg+CisjaW1wb3J0IDxVSUtp
dC9VSUtleWJvYXJkX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJTG9uZ1ByZXNzR2VzdHVy
ZVJlY29nbml6ZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlQZXJpcGhlcmFsSG9zdC5o
PgorI2ltcG9ydCA8VUlLaXQvVUlQZXJpcGhlcmFsSG9zdF9Qcml2YXRlLmg+CisjaW1wb3J0IDxV
SUtpdC9VSVBpY2tlckNvbnRlbnRWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJUGlj
a2VyVmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVNjcm9sbFZpZXdfUHJpdmF0ZS5o
PgorI2ltcG9ydCA8VUlLaXQvVUlTdHJpbmdEcmF3aW5nX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJ
S2l0L1VJVGFibGVWaWV3Q2VsbF9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVRhcEdlc3R1
cmVSZWNvZ25pemVyX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJVGV4dElucHV0X1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJVGV4dEludGVyYWN0aW9uQXNzaXN0YW50X1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uaW5nX1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8
VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV0tTZWxlY3Rpb25Bc3Np
c3RhbnQuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQuaD4K
KyNpbXBvcnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2Vi
RG9jdW1lbnRWaWV3Lmg+CisjaW1wb3J0IDxVSUtpdC9VSVdlYkZvcm1BY2Nlc3NvcnkuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNpZGVyLmg+CisjaW1wb3J0IDxV
SUtpdC9VSVdlYlNjcm9sbFZpZXcuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2ViVGlsZWRWaWV3Lmg+
CisjaW1wb3J0IDxVSUtpdC9VSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXIuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L19VSUJhY2tk
cm9wVmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9fVUlIaWdobGlnaHRWaWV3Lmg+Cisj
aW1wb3J0IDxVSUtpdC9fVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uLmg+CisjaW1w
b3J0IDxVSUtpdC9fVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uLmg+CisKKyNlbHNlCisK
K0BpbnRlcmZhY2UgVUlBbGVydENvbnRyb2xsZXIgKERldGFpbHMpCistICh2b2lkKV9hZGRBY3Rp
b25XaXRoVGl0bGU6KE5TU3RyaW5nICopdGl0bGUgc3R5bGU6KFVJQWxlcnRBY3Rpb25TdHlsZSlz
dHlsZSBoYW5kbGVyOih2b2lkICheKSh2b2lkKSloYW5kbGVyOworLSAodm9pZClfYWRkQWN0aW9u
V2l0aFRpdGxlOihOU1N0cmluZyAqKXRpdGxlIHN0eWxlOihVSUFsZXJ0QWN0aW9uU3R5bGUpc3R5
bGUgaGFuZGxlcjoodm9pZCAoXikodm9pZCkpaGFuZGxlciBzaG91bGREaXNtaXNzSGFuZGxlcjoo
Qk9PTCAoXikodm9pZCkpc2hvdWxkRGlzbWlzc0hhbmRsZXI7CitAcHJvcGVydHkgKG5vbmF0b21p
YykgVUlBbGVydENvbnRyb2xsZXJTdHlsZSBwcmVmZXJyZWRTdHlsZTsKK0BlbmQKKworQGludGVy
ZmFjZSBVSUFwcGxpY2F0aW9uIChEZXRhaWxzKQorLSAoVUlJbnRlcmZhY2VPcmllbnRhdGlvbilp
bnRlcmZhY2VPcmllbnRhdGlvbjsKKy0gKHZvaWQpX2NhbmNlbEFsbFRvdWNoZXM7CitAZW5kCisK
K3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFVJRGF0ZVBpY2tlclByaXZhdGVNb2RlKSAgewor
ICAgIFVJRGF0ZVBpY2tlck1vZGVZZWFyQW5kTW9udGggPSA0MjY5LAorfTsKKworQGludGVyZmFj
ZSBVSURhdGVQaWNrZXIgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHks
IGdldHRlcj1fY29udGVudFdpZHRoKSBDR0Zsb2F0IGNvbnRlbnRXaWR0aDsKK0BlbmQKKworI2Rl
ZmluZSBVSUN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCgpIChbW1VJRGV2aWNlIGN1cnJl
bnREZXZpY2VdIHVzZXJJbnRlcmZhY2VJZGlvbV0gPT0gVUlVc2VySW50ZXJmYWNlSWRpb21QYWQp
CisKK0BpbnRlcmZhY2UgVUlEZXZpY2UgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHksIHJldGFpbikgTlNTdHJpbmcgKmJ1aWxkVmVyc2lvbjsKK0BlbmQKKwordHlwZWRl
ZiBlbnVtIHsKKyAgICBVSUZvbnRUcmFpdFBsYWluID0gMHgwMDAwMDAwMCwKK30gVUlGb250VHJh
aXQ7CisKK0BpbnRlcmZhY2UgVUlGb250IChEZXRhaWxzKQorKyAoVUlGb250ICopZm9udFdpdGhG
YW1pbHlOYW1lOihOU1N0cmluZyAqKWZhbWlseU5hbWUgdHJhaXRzOihVSUZvbnRUcmFpdCl0cmFp
dHMgc2l6ZTooQ0dGbG9hdClmb250U2l6ZTsKK0BlbmQKKwordHlwZWRlZiBlbnVtIHsKKyAgICBV
SUFsbENvcm5lcnMgPSAweEZGLAorfSBVSVJlY3RDb3JuZXJzOworCitAaW50ZXJmYWNlIFVJSW1h
Z2VQaWNrZXJDb250cm9sbGVyIChEZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0QWxsb3dzTXVsdGlwbGVTZWxlY3Rpb246KSBCT09MIF9hbGxvd3NNdWx0aXBsZVNlbGVj
dGlvbjsKK0BlbmQKKworQGludGVyZmFjZSBVSUltYWdlIChEZXRhaWxzKQorLSAoaWQpaW5pdFdp
dGhDR0ltYWdlOihDR0ltYWdlUmVmKUNHSW1hZ2UgaW1hZ2VPcmllbnRhdGlvbjooVUlJbWFnZU9y
aWVudGF0aW9uKWltYWdlT3JpZW50YXRpb247CitAZW5kCisKK0Bwcm90b2NvbCBVSUtleWJvYXJk
SW1wbEdlb21ldHJ5RGVsZWdhdGUKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIGdl
dHRlcj1pc01pbmltaXplZCkgQk9PTCBtaW5pbWl6ZWQ7CistICh2b2lkKXByZXBhcmVGb3JJbXBs
Qm91bmRzSGVpZ2h0Q2hhbmdlOihDR0Zsb2F0KWVuZERlbHRhIHN1cHByZXNzTm90aWZpY2F0aW9u
OihCT09MKXN1cHByZXNzTm90aWZpY2F0aW9uOworLSAodm9pZClpbXBsQm91bmRzSGVpZ2h0Q2hh
bmdlRG9uZTooQ0dGbG9hdCllbmREZWx0YSBzdXBwcmVzc05vdGlmaWNhdGlvbjooQk9PTClzdXBw
cmVzc05vdGlmaWNhdGlvbjsKKy0gKEJPT0wpc2hvdWxkU2F2ZU1pbmltaXphdGlvblN0YXRlOwor
LSAoQk9PTCljYW5EaXNtaXNzOworLSAoQk9PTClpc0FjdGl2ZTsKK0BlbmQKKworQHByb3RvY29s
IFVJS2V5Ym9hcmRDYW5kaWRhdGVMaXN0RGVsZWdhdGUgPE5TT2JqZWN0PgorQG9wdGlvbmFsCist
ICh2b2lkKXNldENhbmRpZGF0ZUxpc3Q6KGlkKWNhbmRpZGF0ZUxpc3QgdXBkYXRlQ2FuZGlkYXRl
VmlldzooQk9PTCl1cGRhdGVDYW5kaWRhdGVWaWV3OworLSAodm9pZCljYW5kaWRhdGVMaXN0QWNj
ZXB0Q2FuZGlkYXRlOihpZCljYW5kaWRhdGVMaXN0OworLSAodm9pZCljYW5kaWRhdGVMaXN0U2Vs
ZWN0aW9uRGlkQ2hhbmdlOihpZCljYW5kaWRhdGVMaXN0OworLSAodm9pZCljYW5kaWRhdGVMaXN0
U2hvdWxkQmVEaXNtaXNzZWQ6KGlkKWNhbmRpZGF0ZUxpc3Q7CitAZW5kCisKK0BpbnRlcmZhY2Ug
VUlLZXlib2FyZCA6IFVJVmlldyA8VUlLZXlib2FyZEltcGxHZW9tZXRyeURlbGVnYXRlPgorQGVu
ZAorCitAaW50ZXJmYWNlIFVJS2V5Ym9hcmQgKERldGFpbHMpCisrIChDR1NpemUpZGVmYXVsdFNp
emVGb3JJbnRlcmZhY2VPcmllbnRhdGlvbjooVUlJbnRlcmZhY2VPcmllbnRhdGlvbilvcmllbnRh
dGlvbjsKKy0gKHZvaWQpYWN0aXZhdGU7CistICh2b2lkKWdlb21ldHJ5Q2hhbmdlRG9uZTooQk9P
TClrZXlib2FyZFZpc2libGU7CistICh2b2lkKXByZXBhcmVGb3JHZW9tZXRyeUNoYW5nZTsKK0Bl
bmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkSW1wbCA6IFVJVmlldyA8VUlLZXlib2FyZENhbmRp
ZGF0ZUxpc3REZWxlZ2F0ZT4KK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkSW1wbCAoRGV0
YWlscykKKysgKFVJS2V5Ym9hcmRJbXBsICopYWN0aXZlSW5zdGFuY2U7CisrIChVSUtleWJvYXJk
SW1wbCAqKXNoYXJlZEluc3RhbmNlOworKyAoQ0dTaXplKWRlZmF1bHRTaXplRm9ySW50ZXJmYWNl
T3JpZW50YXRpb246KFVJSW50ZXJmYWNlT3JpZW50YXRpb24pb3JpZW50YXRpb247CistICh2b2lk
KWFkZElucHV0U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyB3aXRoRmxhZ3M6KE5TVUludGVnZXIp
ZmxhZ3M7CistIChCT09MKWF1dG9jb3JyZWN0U3BlbGxpbmdFbmFibGVkOworLSAodm9pZClkZWxl
dGVGcm9tSW5wdXQ7CistICh2b2lkKXJlcGxhY2VUZXh0OihpZClyZXBsYWNlbWVudDsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHJldGFpbikgVUlSZXNwb25kZXIgPFVJS2V5SW5w
dXQ+ICpkZWxlZ2F0ZTsKK0BlbmQKKworQGludGVyZmFjZSBVSUdlc3R1cmVSZWNvZ25pemVyIChE
ZXRhaWxzKQorLSAodm9pZClyZXF1aXJlT3RoZXJHZXN0dXJlVG9GYWlsOihVSUdlc3R1cmVSZWNv
Z25pemVyICopZ2VzdHVyZVJlY29nbml6ZXI7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlMb25nUHJl
c3NHZXN0dXJlUmVjb2duaXplciAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBDRlRp
bWVJbnRlcnZhbCBkZWxheTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2lu
dCBzdGFydFBvaW50OworQGVuZAorCitAaW50ZXJmYWNlIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVz
c0dlc3R1cmVSZWNvZ25pemVyIDogVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcgorQGVuZAor
CitAaW50ZXJmYWNlIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIChE
ZXRhaWxzKQorLSAodm9pZCljYW5jZWw7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQZXJpcGhlcmFs
SG9zdCA6IE5TT2JqZWN0IDxVSUdlc3R1cmVSZWNvZ25pemVyRGVsZWdhdGU+CitAZW5kCisKK0Bj
bGFzcyBVSUtleWJvYXJkUm90YXRpb25TdGF0ZTsKKworQGludGVyZmFjZSBVSVBlcmlwaGVyYWxI
b3N0IChEZXRhaWxzKQorKyAoVUlQZXJpcGhlcmFsSG9zdCAqKXNoYXJlZEluc3RhbmNlOworKyAo
VUlQZXJpcGhlcmFsSG9zdCAqKWFjdGl2ZUluc3RhbmNlOworLSAoQk9PTClpc09uU2NyZWVuOwor
LSAoVUlLZXlib2FyZFJvdGF0aW9uU3RhdGUgKilyb3RhdGlvblN0YXRlOworQGVuZAorCitAaW50
ZXJmYWNlIFVJUGlja2VyQ29udGVudFZpZXcgOiBVSVZpZXcKK0BlbmQKKworQGludGVyZmFjZSBV
SVBpY2tlckNvbnRlbnRWaWV3IChEZXRhaWxzKQorKyhDR0Zsb2F0KV9jaGVja21hcmtPZmZzZXQ7
CistKENHRmxvYXQpbGFiZWxXaWR0aEZvckJvdW5kczooQ0dSZWN0KWJvdW5kczsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNDaGVja2VkKSBCT09MIGNoZWNrZWQ7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIFVJTGFiZWwgKnRpdGxlTGFiZWw7CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlQaWNrZXJWaWV3IChEZXRhaWxzKQorKyAoQ0dTaXplKWRlZmF1bHRTaXplRm9yQ3Vy
cmVudE9yaWVudGF0aW9uOworLSAodm9pZClfc2V0VXNlc0NoZWNrZWRTZWxlY3Rpb246KEJPT0wp
dXNlc0NoZWNrZWRTZWxlY3Rpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRN
YWduaWZpZXJFbmFibGVkOikgQk9PTCBfbWFnbmlmaWVyRW5hYmxlZDsKK0BlbmQKKworQGludGVy
ZmFjZSBVSVNjcm9sbFZpZXcgKERldGFpbHMpCistICh2b2lkKV9zdG9wU2Nyb2xsaW5nQW5kWm9v
bWluZ0FuaW1hdGlvbnM7CistICh2b2lkKV96b29tVG9DZW50ZXI6KENHUG9pbnQpY2VudGVyIHNj
YWxlOihDR0Zsb2F0KXNjYWxlIGR1cmF0aW9uOihDRlRpbWVJbnRlcnZhbClkdXJhdGlvbiBmb3Jj
ZTooQk9PTClmb3JjZTsKKy0gKHZvaWQpX3pvb21Ub0NlbnRlcjooQ0dQb2ludCljZW50ZXIgc2Nh
bGU6KENHRmxvYXQpc2NhbGUgZHVyYXRpb246KENGVGltZUludGVydmFsKWR1cmF0aW9uOworQHBy
b3BlcnR5IChub25hdG9taWMsIGdldHRlcj1pc1pvb21FbmFibGVkKSBCT09MIHpvb21FbmFibGVk
OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBnZXR0ZXI9X2lzQW5pbWF0aW5nWm9v
bSkgQk9PTCBpc0FuaW1hdGluZ1pvb207CitAcHJvcGVydHkgKG5vbmF0b21pYykgQ0dGbG9hdCBo
b3Jpem9udGFsU2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yOworQHByb3BlcnR5IChub25hdG9taWMp
IENHRmxvYXQgdmVydGljYWxTY3JvbGxEZWNlbGVyYXRpb25GYWN0b3I7CitAZW5kCisKK0BpbnRl
cmZhY2UgTlNTdHJpbmcgKFVJS2l0RGV0YWlscykKKy0gKENHU2l6ZSlfbGVnYWN5X3NpemVXaXRo
Rm9udDooVUlGb250ICopZm9udCBmb3JXaWR0aDooQ0dGbG9hdCl3aWR0aCBsaW5lQnJlYWtNb2Rl
OihOU0xpbmVCcmVha01vZGUpbGluZUJyZWFrTW9kZTsKKy0gKENHU2l6ZSlfbGVnYWN5X3NpemVX
aXRoRm9udDooVUlGb250ICopZm9udCBtaW5Gb250U2l6ZTooQ0dGbG9hdCltaW5Gb250U2l6ZSBh
Y3R1YWxGb250U2l6ZTooQ0dGbG9hdCAqKWFjdHVhbEZvbnRTaXplIGZvcldpZHRoOihDR0Zsb2F0
KXdpZHRoIGxpbmVCcmVha01vZGU6KE5TTGluZUJyZWFrTW9kZSlsaW5lQnJlYWtNb2RlOworQGVu
ZAorCitAaW50ZXJmYWNlIFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKERldGFpbHMpCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHUG9pbnQgbG9jYXRpb247CitAZW5kCisKK0BjbGFz
cyBXZWJFdmVudDsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBVSVRleHRTaG9ydGN1dENvbnZlcnNp
b25UeXBlRGVmYXVsdCA9IDAsCisgICAgVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZU5vID0g
MSwKKyAgICBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlWWVzID0gMiwKK30gVUlUZXh0U2hv
cnRjdXRDb252ZXJzaW9uVHlwZTsKKworQHByb3RvY29sIFVJVGV4dElucHV0VHJhaXRzX1ByaXZh
dGUgPE5TT2JqZWN0LCBVSVRleHRJbnB1dFRyYWl0cz4KKy0gKHZvaWQpdGFrZVRyYWl0c0Zyb206
KGlkIDxVSVRleHRJbnB1dFRyYWl0cz4pdHJhaXRzOworQG9wdGlvbmFsCitAcHJvcGVydHkgKG5v
bmF0b21pYykgVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZSBzaG9ydGN1dENvbnZlcnNpb25U
eXBlOworQGVuZAorCitAY2xhc3MgVUlUZXh0SW5wdXRBcnJvd0tleUhpc3Rvcnk7CisKK0Bwcm90
b2NvbCBVSVRleHRJbnB1dFByaXZhdGUgPFVJVGV4dElucHV0LCBVSVRleHRJbnB1dFRva2VuaXpl
ciwgVUlUZXh0SW5wdXRUcmFpdHNfUHJpdmF0ZT4KK0BvcHRpb25hbAorLSAoQk9PTClyZXF1aXJl
c0tleUV2ZW50czsKKy0gKE5TQXJyYXkgKiltZXRhZGF0YURpY3Rpb25hcmllc0ZvckRpY3RhdGlv
blJlc3VsdHM7CistIChVSUNvbG9yICopdGV4dENvbG9yRm9yQ2FyZXRTZWxlY3Rpb247CistIChV
SUZvbnQgKilmb250Rm9yQ2FyZXRTZWxlY3Rpb247CistIChVSVZpZXcgKilhdXRvbWF0aWNhbGx5
U2VsZWN0ZWRPdmVybGF5OworLSAodm9pZCloYW5kbGVLZXlXZWJFdmVudDooV2ViRXZlbnQgKill
dmVudDsKKy0gKHZvaWQpaW5zZXJ0RGljdGF0aW9uUmVzdWx0OihOU0FycmF5ICopZGljdGF0aW9u
UmVzdWx0IHdpdGhDb3JyZWN0aW9uSWRlbnRpZmllcjooaWQpY29ycmVjdGlvbklkZW50aWZpZXI7
CistICh2b2lkKXJlcGxhY2VSYW5nZVdpdGhUZXh0V2l0aG91dENsb3NpbmdUeXBpbmc6KFVJVGV4
dFJhbmdlICopcmFuZ2UgcmVwbGFjZW1lbnRUZXh0OihOU1N0cmluZyAqKXRleHQ7CistICh2b2lk
KXNldEJvdHRvbUJ1ZmZlckhlaWdodDooQ0dGbG9hdClib3R0b21CdWZmZXI7CitAcHJvcGVydHkg
KG5vbmF0b21pYykgVUlUZXh0R3JhbnVsYXJpdHkgc2VsZWN0aW9uR3JhbnVsYXJpdHk7CitAcmVx
dWlyZWQKKy0gKEJPT0wpaGFzQ29udGVudDsKKy0gKEJPT0wpaGFzU2VsZWN0aW9uOworLSAodm9p
ZClzZWxlY3RBbGw7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlUZXh0SW5wdXRUcmFpdHMgOiBOU09i
amVjdCA8VUlUZXh0SW5wdXRUcmFpdHMsIFVJVGV4dElucHV0VHJhaXRzX1ByaXZhdGUsIE5TQ29w
eWluZz4KK0BlbmQKKworQGludGVyZmFjZSBVSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudCA6IE5T
T2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgKERl
dGFpbHMpCistICh2b2lkKWFjdGl2YXRlU2VsZWN0aW9uOworLSAodm9pZClkZWFjdGl2YXRlU2Vs
ZWN0aW9uOworLSAodm9pZClkaWRFbmRTY3JvbGxpbmdPdmVyZmxvdzsKKy0gKHZvaWQpc2VsZWN0
aW9uQ2hhbmdlZDsKKy0gKHZvaWQpc2V0R2VzdHVyZVJlY29nbml6ZXJzOworLSAodm9pZCl3aWxs
U3RhcnRTY3JvbGxpbmdPdmVyZmxvdzsKK0BlbmQKKworQGludGVyZmFjZSBVSVZpZXdDb250cm9s
bGVyIChEZXRhaWxzKQorKyAoVUlWaWV3Q29udHJvbGxlciAqKV92aWV3Q29udHJvbGxlckZvckZ1
bGxTY3JlZW5QcmVzZW50YXRpb25Gcm9tVmlldzooVUlWaWV3ICopdmlldzsKKysgKFVJVmlld0Nv
bnRyb2xsZXIgKil2aWV3Q29udHJvbGxlckZvclZpZXc6KFVJVmlldyAqKXZpZXc7CitAZW5kCisK
K0Bwcm90b2NvbCBVSVZpZXdDb250cm9sbGVyQ29udGV4dFRyYW5zaXRpb25pbmdFeCA8VUlWaWV3
Q29udHJvbGxlckNvbnRleHRUcmFuc2l0aW9uaW5nPgorLSAodm9pZClfX3J1bkFsb25nc2lkZUFu
aW1hdGlvbnM7CistICh2b2lkKV9pbnRlcmFjdGl2aXR5RGlkQ2hhbmdlOihCT09MKWlzSW50ZXJh
Y3RpdmU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3NldEFsbG93VXNl
ckludGVyYWN0aW9uOiwgZ2V0dGVyPV9hbGxvd1VzZXJJbnRlcmFjdGlvbikgQk9PTCBfYWxsb3dV
c2VySW50ZXJhY3Rpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3Nl
dFBlcmNlbnRPZmZzZXQ6KSBDR0Zsb2F0IF9wZXJjZW50T2Zmc2V0OworQHByb3BlcnR5IChub25h
dG9taWMsIHJldGFpbiwgc2V0dGVyPV9zZXRDb250YWluZXJWaWV3czopIE5TQXJyYXkgKl9jb250
YWluZXJWaWV3czsKK0BlbmQKKworQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlclRyYW5zaXRp
b25Db250ZXh0IDogTlNPYmplY3QgPFVJVmlld0NvbnRyb2xsZXJDb250ZXh0VHJhbnNpdGlvbmlu
Z0V4PgorQGVuZAorCitAaW50ZXJmYWNlIF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRl
eHQgKERldGFpbHMpCistICh2b2lkKSBfc2V0VHJhbnNpdGlvbklzSW5GbGlnaHQ6KEJPT0wpZmxh
ZzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0QWxsb3dVc2VySW50
ZXJhY3Rpb246LCBnZXR0ZXI9X2FsbG93VXNlckludGVyYWN0aW9uKSBCT09MIF9hbGxvd1VzZXJJ
bnRlcmFjdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0QW5p
bWF0b3I6KSBpZCA8VUlWaWV3Q29udHJvbGxlckFuaW1hdGVkVHJhbnNpdGlvbmluZz4gX2FuaW1h
dG9yOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRDb250YWluZXJW
aWV3OikgVUlWaWV3ICpjb250YWluZXJWaWV3OworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgc2V0dGVyPV9zZXRJbnRlcmFjdG9yOikgaWQgPFVJVmlld0NvbnRyb2xsZXJJbnRlcmFjdGl2
ZVRyYW5zaXRpb25pbmc+IF9pbnRlcmFjdG9yOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgc2V0dGVyPV9zZXRQZXJjZW50T2Zmc2V0OikgQ0dGbG9hdCBfcGVyY2VudE9mZnNldDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldENvbXBsZXRpb25IYW5kbGVyOikg
IHZvaWQgKF5fY29tcGxldGlvbkhhbmRsZXIpKF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNv
bnRleHQgKmNvbnRleHQsIEJPT0wgdHJhbnNpdGlvbkNvbXBsZXRlZCk7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmV0YWluLCBzZXR0ZXI9X3NldENvbnRhaW5lclZpZXdzOikgTlNBcnJheSAqX2Nv
bnRhaW5lclZpZXdzOworQGVuZAorCitAaW50ZXJmYWNlIF9VSVZpZXdDb250cm9sbGVyT25lVG9P
bmVUcmFuc2l0aW9uQ29udGV4dCA6IF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQK
K0BlbmQKKworQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlck9uZVRvT25lVHJhbnNpdGlvbkNv
bnRleHQgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3Nl
dEZyb21FbmRGcmFtZTopIENHUmVjdCBmcm9tRW5kRnJhbWU7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduLCBzZXR0ZXI9X3NldEZyb21TdGFydEZyYW1lOikgQ0dSZWN0IGZyb21TdGFydEZy
YW1lOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRUb0VuZEZyYW1l
OikgQ0dSZWN0IHRvRW5kRnJhbWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0
ZXI9X3NldFRvU3RhcnRGcmFtZTopIENHUmVjdCB0b1N0YXJ0RnJhbWU7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmV0YWluLCBzZXR0ZXI9X3NldEZyb21WaWV3Q29udHJvbGxlcjopIFVJVmlld0Nv
bnRyb2xsZXIgKmZyb21WaWV3Q29udHJvbGxlcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRh
aW4sIHNldHRlcj1fc2V0VG9WaWV3Q29udHJvbGxlcjopIFVJVmlld0NvbnRyb2xsZXIgKnRvVmll
d0NvbnRyb2xsZXI7CitAZW5kCisKK0Bwcm90b2NvbCBVSVZpZXdDb250cm9sbGVyQW5pbWF0ZWRU
cmFuc2l0aW9uaW5nRXggPFVJVmlld0NvbnRyb2xsZXJBbmltYXRlZFRyYW5zaXRpb25pbmc+Cist
IChCT09MKWludGVyYWN0aW9uQWJvcnRlZDsKKy0gKFVJTmF2aWdhdGlvbkNvbnRyb2xsZXJPcGVy
YXRpb24pIG9wZXJhdGlvbjsKKy0gKFVJUGVyY2VudERyaXZlbkludGVyYWN0aXZlVHJhbnNpdGlv
biAqKWludGVyYWN0aW9uQ29udHJvbGxlcjsKKy0gKHZvaWQpc2V0SW50ZXJhY3Rpb25BYm9ydGVk
OihCT09MKWFib3J0ZWQ7CistICh2b2lkKXNldEludGVyYWN0aW9uQ29udHJvbGxlcjooVUlQZXJj
ZW50RHJpdmVuSW50ZXJhY3RpdmVUcmFuc2l0aW9uICopY29udHJvbGxlcjsKKy0gKHZvaWQpc2V0
T3BlcmF0aW9uOihVSU5hdmlnYXRpb25Db250cm9sbGVyT3BlcmF0aW9uKW9wZXJhdGlvbjsKK0Bv
cHRpb25hbAorLSAoVUlXaW5kb3cgKil3aW5kb3c7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTSAo
TlNJbnRlZ2VyLCBfVUlCYWNrZHJvcE1hc2tWaWV3RmxhZ3MpIHsKKyAgICBfVUlCYWNrZHJvcE1h
c2tWaWV3Tm9uZSA9IDAsCisgICAgX1VJQmFja2Ryb3BNYXNrVmlld0dyYXlzY2FsZVRpbnQgPSAx
IDw8IDAsCisgICAgX1VJQmFja2Ryb3BNYXNrVmlld0NvbG9yVGludCA9IDEgPDwgMSwKKyAgICBf
VUlCYWNrZHJvcE1hc2tWaWV3RmlsdGVycyA9IDEgPDwgMiwKKyAgICBfVUlCYWNrZHJvcE1hc2tW
aWV3QWxsID0gX1VJQmFja2Ryb3BNYXNrVmlld0dyYXlzY2FsZVRpbnQgfCBfVUlCYWNrZHJvcE1h
c2tWaWV3Q29sb3JUaW50IHwgX1VJQmFja2Ryb3BNYXNrVmlld0ZpbHRlcnMsCit9OworCitAaW50
ZXJmYWNlIFVJVmlldyAoRGV0YWlscykKKysgKEJPT0wpX2lzSW5BbmltYXRpb25CbG9jazsKKy0g
KENHU2l6ZSlzaXplOworLSAodm9pZClzZXRGcmFtZU9yaWdpbjooQ0dQb2ludClvcmlnaW47Cist
ICh2b2lkKXNldFNpemU6KENHU2l6ZSlzaXplOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgc2V0dGVyPV9zZXRCYWNrZHJvcE1hc2tWaWV3RmxhZ3M6KSBOU0ludGVnZXIgX2JhY2tkcm9w
TWFza1ZpZXdGbGFnczsKK0BlbmQKKworQGludGVyZmFjZSBVSVdlYlNlbGVjdGlvbkFzc2lzdGFu
dCA6IE5TT2JqZWN0IDxVSUdlc3R1cmVSZWNvZ25pemVyRGVsZWdhdGU+CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlXZWJTZWxlY3Rpb25Bc3Npc3RhbnQgKERldGFpbHMpCistIChCT09MKWlzU2VsZWN0
aW9uR2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2du
aXplcjsKKy0gKGlkKWluaXRXaXRoVmlldzooVUlWaWV3ICopdmlldzsKKy0gKHZvaWQpY2xlYXJT
ZWxlY3Rpb247CistICh2b2lkKWRpZEVuZFNjcm9sbGluZ09yWm9vbWluZ1BhZ2U7CistICh2b2lk
KWRpZEVuZFNjcm9sbGluZ092ZXJmbG93OworLSAodm9pZClyZXNpZ25lZEZpcnN0UmVzcG9uZGVy
OworLSAodm9pZClzZWxlY3Rpb25DaGFuZ2VkOworLSAodm9pZClzZXRHZXN0dXJlUmVjb2duaXpl
cnM7CistICh2b2lkKXdpbGxTdGFydFNjcm9sbGluZ09yWm9vbWluZ1BhZ2U7CistICh2b2lkKXdp
bGxTdGFydFNjcm9sbGluZ092ZXJmbG93OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBDR1JlY3Qgc2VsZWN0aW9uRnJhbWU7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFVJV0tTZWxlY3Rpb25Ub3VjaCkgeworICAgIFVJV0tTZWxlY3Rpb25Ub3VjaFN0YXJ0ZWQg
PSAwLAorICAgIFVJV0tTZWxlY3Rpb25Ub3VjaE1vdmVkID0gMSwKKyAgICBVSVdLU2VsZWN0aW9u
VG91Y2hFbmRlZCA9IDIsCisgICAgVUlXS1NlbGVjdGlvblRvdWNoRW5kZWRNb3ZpbmdGb3J3YXJk
ID0gMywKKyAgICBVSVdLU2VsZWN0aW9uVG91Y2hFbmRlZE1vdmluZ0JhY2t3YXJkID0gNCwKKyAg
ICBVSVdLU2VsZWN0aW9uVG91Y2hFbmRlZE5vdE1vdmluZyA9IDUsCit9OworCit0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBVSVdLU2VsZWN0aW9uRmxhZ3MpIHsKKyAgICBVSVdLTm9uZSA9IDAs
CisgICAgVUlXS1dvcmRJc05lYXJUYXAgPSAxLAorICAgIFVJV0tJc0Jsb2NrU2VsZWN0aW9uID0g
MiwKKyAgICBVSVdLUGhyYXNlQm91bmRhcnlDaGFuZ2VkID0gNCwKK307CisKK3R5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIFVJV0tHZXN0dXJlVHlwZSkgeworICAgIFVJV0tHZXN0dXJlTG91cGUg
PSAwLAorICAgIFVJV0tHZXN0dXJlT25lRmluZ2VyVGFwID0gMSwKKyAgICBVSVdLR2VzdHVyZVRh
cEFuZEFIYWxmID0gMiwKKyAgICBVSVdLR2VzdHVyZURvdWJsZVRhcCA9IDMsCisgICAgVUlXS0dl
c3R1cmVUYXBBbmRIYWxmID0gNCwKKyAgICBVSVdLR2VzdHVyZURvdWJsZVRhcEluVW5lZGl0YWJs
ZSA9IDUsCisgICAgVUlXS0dlc3R1cmVPbmVGaW5nZXJUYXBJblVuZWRpdGFibGUgPSA2LAorICAg
IFVJV0tHZXN0dXJlT25lRmluZ2VyVGFwU2VsZWN0c0FsbCA9IDcsCisgICAgVUlXS0dlc3R1cmVP
bmVGaW5nZXJEb3VibGVUYXAgPSA4LAorICAgIFVJV0tHZXN0dXJlT25lRmluZ2VyVHJpcGxlVGFw
ID0gOSwKKyAgICBVSVdLR2VzdHVyZVR3b0ZpbmdlclNpbmdsZVRhcCA9IDEwLAorICAgIFVJV0tH
ZXN0dXJlVHdvRmluZ2VyUmFuZ2VkU2VsZWN0R2VzdHVyZSA9IDExLAorICAgIFVJV0tHZXN0dXJl
VGFwT25MaW5rV2l0aEdlc3R1cmUgPSAxMiwKKyAgICBVSVdLR2VzdHVyZU1ha2VXZWJTZWxlY3Rp
b24gPSAxMywKKyAgICBVSVdLR2VzdHVyZVBocmFzZUJvdW5kYXJ5ID0gMTQsCit9OworCitAaW50
ZXJmYWNlIFVJV0tTZWxlY3Rpb25Bc3Npc3RhbnQgOiBVSVdlYlNlbGVjdGlvbkFzc2lzdGFudAor
QGVuZAorCitAaW50ZXJmYWNlIFVJV0tTZWxlY3Rpb25Bc3Npc3RhbnQgKERldGFpbHMpCistIChC
T09MKXNob3VsZEhhbmRsZVNpbmdsZVRhcEF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7CistICh2b2lk
KWJsb2NrU2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNo
IHdpdGhGbGFnczooVUlXS1NlbGVjdGlvbkZsYWdzKWZsYWdzIGdyb3dUaHJlc2hvbGQ6KENHRmxv
YXQpZ3JvdyBzaHJpbmtUaHJlc2hvbGQ6KENHRmxvYXQpc2hyaW5rOworLSAodm9pZClzZWxlY3Rp
b25DaGFuZ2VkV2l0aEdlc3R1cmVBdDooQ0dQb2ludClwb2ludCB3aXRoR2VzdHVyZTooVUlXS0dl
c3R1cmVUeXBlKWdlc3R1cmVUeXBlIHdpdGhTdGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRl
KWdlc3R1cmVTdGF0ZSB3aXRoRmxhZ3M6KFVJV0tTZWxlY3Rpb25GbGFncylmbGFnczsKKy0gKHZv
aWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhTZWxlY3Rp
b25Ub3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNoIHdpdGhGbGFnczooVUlXS1NlbGVjdGlv
bkZsYWdzKWZsYWdzOworLSAodm9pZClzZWxlY3Rpb25DaGFuZ2VkV2l0aFRvdWNoQXQ6KENHUG9p
bnQpcG9pbnQgd2l0aFNlbGVjdGlvblRvdWNoOihVSVdLU2VsZWN0aW9uVG91Y2gpdG91Y2g7Cist
ICh2b2lkKXNob3dEaWN0aW9uYXJ5Rm9yOihOU1N0cmluZyAqKXNlbGVjdGVkVGVybSBmcm9tUmVj
dDooQ0dSZWN0KXByZXNlbnRhdGlvblJlY3Q7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgKnNlbGVjdGlvbkxvbmdQcmVzc1JlY29n
bml6ZXI7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFVJV0tIYW5kbGVQb3Np
dGlvbikgeworICAgIFVJV0tIYW5kbGVUb3AgPSAwLAorICAgIFVJV0tIYW5kbGVSaWdodCA9IDEs
CisgICAgVUlXS0hhbmRsZUJvdHRvbSA9IDIsCisgICAgVUlXS0hhbmRsZUxlZnQgPSAzLAorfTsK
KworQGludGVyZmFjZSBVSVdLQXV0b2NvcnJlY3Rpb25SZWN0cyA6IE5TT2JqZWN0CitAZW5kCisK
K0BpbnRlcmZhY2UgVUlXS0F1dG9jb3JyZWN0aW9uUmVjdHMgKFVJV0tBdXRvY29ycmVjdGlvblJl
Y3RzRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIENHUmVjdCBmaXJzdFJl
Y3Q7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBDR1JlY3QgbGFzdFJlY3Q7CitAZW5k
CisKK0BpbnRlcmZhY2UgVUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dCA6IE5TT2JqZWN0CitAZW5k
CisKK0BpbnRlcmZhY2UgVUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dCAoVUlXS0F1dG9jb3JyZWN0
aW9uQ29udGV4dERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcg
KmNvbnRleHRCZWZvcmVTZWxlY3Rpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKnNlbGVjdGVkVGV4dDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmlu
ZyAqY29udGV4dEFmdGVyU2VsZWN0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5T
U3RyaW5nICptYXJrZWRUZXh0OworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTlNSYW5n
ZSByYW5nZUluTWFya2VkVGV4dDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdLVGV4dEludGVyYWN0
aW9uQXNzaXN0YW50IDogVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQKK0BlbmQKKworQGludGVy
ZmFjZSBVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50IChVSVdLVGV4dEludGVyYWN0aW9uQXNz
aXN0YW50RGV0YWlscykKKy0gKHZvaWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhHZXN0dXJlQXQ6KENH
UG9pbnQpcG9pbnQgd2l0aEdlc3R1cmU6KFVJV0tHZXN0dXJlVHlwZSlnZXN0dXJlVHlwZSB3aXRo
U3RhdGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlnZXN0dXJlU3RhdGUgd2l0aEZsYWdzOihV
SVdLU2VsZWN0aW9uRmxhZ3MpZmxhZ3M7CistICh2b2lkKXNob3dEaWN0aW9uYXJ5Rm9yOihOU1N0
cmluZyAqKXNlbGVjdGVkVGVybSBmcm9tUmVjdDooQ0dSZWN0KXByZXNlbnRhdGlvblJlY3Q7Cist
ICh2b2lkKXNlbGVjdGlvbkNoYW5nZWRXaXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2Vs
ZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaDsKKy0gKHZvaWQpc2hvd1RleHRT
dHlsZU9wdGlvbnM7CistICh2b2lkKWhpZGVUZXh0U3R5bGVPcHRpb25zOworCitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHksIHJldGFpbikgVUlUYXBHZXN0dXJlUmVjb2duaXplciAqc2lu
Z2xlVGFwR2VzdHVyZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgcmV0YWluKSBV
SUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyICpsb3VwZUdlc3R1cmU7CitAZW5kCisKK0Bwcm90
b2NvbCBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wKKy0gKHZvaWQpY2hhbmdlU2VsZWN0aW9u
V2l0aEdlc3R1cmVBdDooQ0dQb2ludClwb2ludCB3aXRoR2VzdHVyZTooVUlXS0dlc3R1cmVUeXBl
KWdlc3R1cmVUeXBlIHdpdGhTdGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKXN0YXRlOwor
CistICh2b2lkKWNoYW5nZVNlbGVjdGlvbldpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhT
ZWxlY3Rpb25Ub3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNoIGJhc2VJc1N0YXJ0OihCT09M
KWJhc2VJc1N0YXJ0OworLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hlc0Zyb206KENH
UG9pbnQpZnJvbSB0bzooQ0dQb2ludCl0byB3aXRoR2VzdHVyZTooVUlXS0dlc3R1cmVUeXBlKWdl
c3R1cmVUeXBlIHdpdGhTdGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKWdlc3R1cmVTdGF0
ZTsKKy0gKENHUmVjdCl0ZXh0Rmlyc3RSZWN0OworLSAoQ0dSZWN0KXRleHRMYXN0UmVjdDsKKwor
LSAodm9pZClyZXF1ZXN0QXV0b2NvcnJlY3Rpb25Db250ZXh0V2l0aENvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShVSVdLQXV0b2NvcnJlY3Rpb25Db250ZXh0ICphdXRvY29ycmVjdGlvbkNvbnRl
eHQpKWNvbXBsZXRpb25IYW5kbGVyOworCistICh2b2lkKXJlcXVlc3RBdXRvY29ycmVjdGlvblJl
Y3RzRm9yU3RyaW5nOihOU1N0cmluZyAqKWlucHV0IHdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9p
ZCAoXikoVUlXS0F1dG9jb3JyZWN0aW9uUmVjdHMgKnJlY3RzRm9ySW5wdXQpKWNvbXBsZXRpb25I
YW5kbGVyOworCistICh2b2lkKWFwcGx5QXV0b2NvcnJlY3Rpb246KE5TU3RyaW5nICopY29ycmVj
dGlvbiB0b1N0cmluZzooTlNTdHJpbmcgKilpbnB1dCB3aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZv
aWQgKF4pKFVJV0tBdXRvY29ycmVjdGlvblJlY3RzICpyZWN0c0ZvckNvcnJlY3Rpb24pKWNvbXBs
ZXRpb25IYW5kbGVyOworCistIChOU1N0cmluZyAqKW1hcmtlZFRleHQ7CistIChCT09MKWhhc01h
cmtlZFRleHQ7CisKKy0gKEJPT0wpaGFzU2VsZWN0YWJsZVBvc2l0aW9uQXRQb2ludDooQ0dQb2lu
dClwb2ludDsKKy0gKEJPT0wpcG9pbnRJc0luQXNzaXN0ZWROb2RlOihDR1BvaW50KXBvaW50Owor
LSAoTlNBcnJheSAqKXdlYlNlbGVjdGlvblJlY3RzOworLSAodm9pZClfY2FuY2VsTG9uZ1ByZXNz
R2VzdHVyZVJlY29nbml6ZXI7CisKK0BvcHRpb25hbAorLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25X
aXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rp
b25Ub3VjaCl0b3VjaCBiYXNlSXNTdGFydDooQk9PTCliYXNlSXNTdGFydCB3aXRoRmxhZ3M6KFVJ
V0tTZWxlY3Rpb25GbGFncylmbGFnczsKKy0gKHZvaWQpY2hhbmdlQmxvY2tTZWxlY3Rpb25XaXRo
VG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25U
b3VjaCl0b3VjaCBmb3JIYW5kbGU6KFVJV0tIYW5kbGVQb3NpdGlvbiloYW5kbGU7CistICh2b2lk
KWNsZWFyU2VsZWN0aW9uOworLSAodm9pZClyZXBsYWNlRGljdGF0ZWRUZXh0OihOU1N0cmluZyAq
KW9sZFRleHQgd2l0aFRleHQ6KE5TU3RyaW5nICopbmV3VGV4dDsKKy0gKHZvaWQpcmVxdWVzdERp
Y3RhdGlvbkNvbnRleHQ6KHZvaWQgKF4pKE5TU3RyaW5nICpzZWxlY3RlZFRleHQsIE5TU3RyaW5n
ICpwcmVmaXhUZXh0LCBOU1N0cmluZyAqcG9zdGZpeFRleHQpKWNvbXBsZXRpb25IYW5kbGVyOwor
LSAoQk9PTClwb2ludElzTmVhck1hcmtlZFRleHQ6KENHUG9pbnQpcG9pbnQ7CistIChOU1N0cmlu
ZyAqKXNlbGVjdGVkVGV4dDsKKy0gKHZvaWQpcmVwbGFjZVRleHQ6KE5TU3RyaW5nICopdGV4dCB3
aXRoVGV4dDooTlNTdHJpbmcgKil3b3JkOworLSAodm9pZClzZWxlY3RXb3JkRm9yUmVwbGFjZW1l
bnQ7CistIChCT09MKWlzUmVwbGFjZUFsbG93ZWQ7CistICh2b2lkKXNlbGVjdFdvcmRCYWNrd2Fy
ZDsKKy0gKFVJVmlldyAqKXVuc2NhbGVkVmlldzsKKy0gKENHRmxvYXQpaW52ZXJzZVNjYWxlOwor
LSAoQ0dSZWN0KXVub2JzY3VyZWRDb250ZW50UmVjdDsKK0BlbmQKKwordHlwZWRlZiBlbnVtIHsK
KyAgICBVSVdlYlNlbGVjdGlvbk1vZGVXZWIgPSAwLAorICAgIFVJV2ViU2VsZWN0aW9uTW9kZVRl
eHRPbmx5ID0gMSwKK30gVUlXZWJTZWxlY3Rpb25Nb2RlOworCitAcHJvdG9jb2wgVUlXZWJGb3Jt
QWNjZXNzb3J5RGVsZWdhdGU7CisKK0BpbnRlcmZhY2UgVUlXZWJGb3JtQWNjZXNzb3J5IDogVUlJ
bnB1dFZpZXcKK0BlbmQKKworQGludGVyZmFjZSBVSVdlYkZvcm1BY2Nlc3NvcnkgKERldGFpbHMp
CistICh2b2lkKWhpZGVBdXRvRmlsbEJ1dHRvbjsKKy0gKHZvaWQpc2V0Q2xlYXJWaXNpYmxlOihC
T09MKWZsYWc7CistICh2b2lkKXNob3dBdXRvRmlsbEJ1dHRvbldpdGhUaXRsZTooTlNTdHJpbmcg
Kil0aXRsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4pIFVJQmFyQnV0dG9uSXRlbSAq
X2F1dG9maWxsOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgaWQgPFVJV2ViRm9ybUFj
Y2Vzc29yeURlbGVnYXRlPiBkZWxlZ2F0ZTsKKworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgZ2V0dGVyPWlzTmV4dEVuYWJsZWQpIEJPT0wgbmV4dEVuYWJsZWQ7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduLCBnZXR0ZXI9aXNQcmV2aW91c0VuYWJsZWQpIEJPT0wgcHJldmlvdXNF
bmFibGVkOworQGVuZAorCitAcHJvdG9jb2wgVUlXZWJGb3JtQWNjZXNzb3J5RGVsZWdhdGUKKy0g
KHZvaWQpYWNjZXNzb3J5QXV0b0ZpbGw7CistICh2b2lkKWFjY2Vzc29yeUNsZWFyOworLSAodm9p
ZClhY2Nlc3NvcnlEb25lOworLSAodm9pZClhY2Nlc3NvcnlUYWI6KEJPT0wpaXNOZXh0OworQGVu
ZAorCitAaW50ZXJmYWNlIFVJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNpZGVyIDogTlNPYmplY3QK
K0BlbmQKKworQGludGVyZmFjZSBVSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlciAoRGV0YWls
cykKKysgKGluc3RhbmNldHlwZSlzaGFyZWRQb2xpY3lEZWNpZGVyOworLSAodm9pZClkZWNpZGVQ
b2xpY3lGb3JHZW9sb2NhdGlvblJlcXVlc3RGcm9tT3JpZ2luOihpZClzZWN1cml0eU9yaWdpbiBy
ZXF1ZXN0aW5nVVJMOihOU1VSTCAqKXJlcXVlc3RpbmdVUkwgd2luZG93OihVSVdpbmRvdyAqKXdp
bmRvdyBsaXN0ZW5lcjooaWQpbGlzdGVuZXI7CitAZW5kCisKK3R5cGVkZWYgZW51bSB7CisgICAg
VUlXZWJUb3VjaEV2ZW50VG91Y2hCZWdpbiA9IDAsCisgICAgVUlXZWJUb3VjaEV2ZW50VG91Y2hD
aGFuZ2UgPSAxLAorICAgIFVJV2ViVG91Y2hFdmVudFRvdWNoRW5kID0gMiwKKyAgICBVSVdlYlRv
dWNoRXZlbnRUb3VjaENhbmNlbCA9IDMsCit9IFVJV2ViVG91Y2hFdmVudFR5cGU7CisKK3N0cnVj
dCBfVUlXZWJUb3VjaFBvaW50IHsKKyAgICBDR1BvaW50IGxvY2F0aW9uSW5TY3JlZW5Db29yZGlu
YXRlczsKKyAgICBDR1BvaW50IGxvY2F0aW9uSW5Eb2N1bWVudENvb3JkaW5hdGVzOworICAgIHVu
c2lnbmVkIGlkZW50aWZpZXI7CisgICAgVUlUb3VjaFBoYXNlIHBoYXNlOworICAgIENHRmxvYXQg
bWFqb3JSYWRpdXNJblNjcmVlbkNvb3JkaW5hdGVzOworfTsKKworc3RydWN0IF9VSVdlYlRvdWNo
RXZlbnQgeworICAgIFVJV2ViVG91Y2hFdmVudFR5cGUgdHlwZTsKKyAgICBOU1RpbWVJbnRlcnZh
bCB0aW1lc3RhbXA7CisgICAgQ0dQb2ludCBsb2NhdGlvbkluU2NyZWVuQ29vcmRpbmF0ZXM7Cisg
ICAgQ0dQb2ludCBsb2NhdGlvbkluRG9jdW1lbnRDb29yZGluYXRlczsKKyAgICBDR0Zsb2F0IHNj
YWxlOworICAgIENHRmxvYXQgcm90YXRpb247CisKKyAgICBib29sIGluSmF2YVNjcmlwdEdlc3R1
cmU7CisKKyAgICBzdHJ1Y3QgX1VJV2ViVG91Y2hQb2ludCogdG91Y2hQb2ludHM7CisgICAgdW5z
aWduZWQgdG91Y2hQb2ludENvdW50OworfTsKKworQHByb3RvY29sIFVJV2ViVG91Y2hFdmVudHNH
ZXN0dXJlUmVjb2duaXplckRlbGVnYXRlCistIChCT09MKWlzQW55VG91Y2hPdmVyQWN0aXZlQXJl
YTooTlNTZXQgKil0b3VjaGVzOworLSAoQk9PTClzaG91bGRJZ25vcmVXZWJUb3VjaDsKK0BlbmQK
KworQGludGVyZmFjZSBVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXIgOiBVSUdlc3R1
cmVSZWNvZ25pemVyCitAZW5kCisKK0BpbnRlcmZhY2UgVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVS
ZWNvZ25pemVyIChEZXRhaWxzKQorLSAoaWQpaW5pdFdpdGhUYXJnZXQ6KGlkKXRhcmdldCBhY3Rp
b246KFNFTClhY3Rpb24gdG91Y2hEZWxlZ2F0ZTooaWQgPFVJV2ViVG91Y2hFdmVudHNHZXN0dXJl
UmVjb2duaXplckRlbGVnYXRlPilkZWxlZ2F0ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0
ZXI9aXNEZWZhdWx0UHJldmVudGVkKSBCT09MIGRlZmF1bHRQcmV2ZW50ZWQ7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgaW5KYXZhU2NyaXB0R2VzdHVyZTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2ludCBsb2NhdGlvbkluV2luZG93OworQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSVdlYlRvdWNoRXZlbnRUeXBlIHR5cGU7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIGNvbnN0IHN0cnVjdCBfVUlXZWJUb3VjaEV2ZW50
ICpsYXN0VG91Y2hFdmVudDsKK0BlbmQKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1VJ
QmFja2Ryb3BWaWV3U3R5bGVQcml2YXRlKSB7CisgICAgX1VJQmFja2Ryb3BWaWV3U3R5bGVfTGln
aHQgPSAyMDIwLAorfTsKKworQGludGVyZmFjZSBfVUlCYWNrZHJvcFZpZXcgOiBVSVZpZXcKK0Bl
bmQKKworQGludGVyZmFjZSBfVUlCYWNrZHJvcFZpZXcgKF9VSUJhY2tkcm9wVmlld0RldGFpbHMp
CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhQcml2YXRlU3R5bGU6KF9VSUJhY2tkcm9wVmlld1N0
eWxlUHJpdmF0ZSlzdHlsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcsIHJlYWRvbmx5
KSBVSVZpZXcgKmNvbnRlbnRWaWV3OworQGVuZAorCitAaW50ZXJmYWNlIF9VSUhpZ2hsaWdodFZp
ZXcgOiBVSVZpZXcKK0BlbmQKKworQGludGVyZmFjZSBfVUlIaWdobGlnaHRWaWV3IChEZXRhaWxz
KQorLSAodm9pZClzZXRDb2xvcjooVUlDb2xvciAqKWFDb2xvcjsKKy0gKHZvaWQpc2V0Q29ybmVy
UmFkaWk6KE5TQXJyYXkgKiljb3JuZXJSYWRpaTsKKy0gKHZvaWQpc2V0Q29ybmVyUmFkaXVzOihD
R0Zsb2F0KWFDb3JuZXJSYWRpdXM7CistICh2b2lkKXNldEZyYW1lczooTlNBcnJheSAqKWZyYW1l
cyBib3VuZGFyeVJlY3Q6KENHUmVjdClhQm91bmRhclJlY3Q7CistICh2b2lkKXNldFF1YWRzOihO
U0FycmF5ICopcXVhZHMgYm91bmRhcnlSZWN0OihDR1JlY3QpYUJvdW5kYXJ5UmVjdDsKK0BlbmQK
KworQGludGVyZmFjZSBfVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uIDogTlNPYmplY3Qg
PFVJVmlld0NvbnRyb2xsZXJBbmltYXRlZFRyYW5zaXRpb25pbmdFeD4KK0BlbmQKKworQGludGVy
ZmFjZSBfVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uIChEZXRhaWxzKQorLSAoaW5zdGFu
Y2V0eXBlKSBpbml0V2l0aEN1cnJlbnRPcGVyYXRpb246KFVJTmF2aWdhdGlvbkNvbnRyb2xsZXJP
cGVyYXRpb24pb3BlcmF0aW9uOworQGVuZAorCitAcHJvdG9jb2wgX1VJTmF2aWdhdGlvbkludGVy
YWN0aXZlVHJhbnNpdGlvbkJhc2VEZWxlZ2F0ZTsKKworQGludGVyZmFjZSBfVUlOYXZpZ2F0aW9u
SW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSA6IFVJUGVyY2VudERyaXZlbkludGVyYWN0aXZlVHJh
bnNpdGlvbiA8VUlHZXN0dXJlUmVjb2duaXplckRlbGVnYXRlPgorQGVuZAorCitAaW50ZXJmYWNl
IF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlIChEZXRhaWxzKQorLSAoaWQp
aW5pdFdpdGhHZXN0dXJlUmVjb2duaXplclZpZXc6KFVJVmlldyAqKWdlc3R1cmVSZWNvZ25pemVy
VmlldyBhbmltYXRvcjooaWQ8VUlWaWV3Q29udHJvbGxlckFuaW1hdGVkVHJhbnNpdGlvbmluZz4p
YW5pbWF0b3IgZGVsZWdhdGU6KGlkPF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25C
YXNlRGVsZWdhdGU+KWRlbGVnYXRlOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQk9P
TCBzaG91bGRSZXZlcnNlVHJhbnNsYXRpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWlu
KSBfVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uICphbmltYXRpb25Db250cm9sbGVyOwor
QGVuZAorCitAcHJvdG9jb2wgX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2VE
ZWxlZ2F0ZSA8TlNPYmplY3Q+CistICh2b2lkKXN0YXJ0SW50ZXJhY3RpdmVUcmFuc2l0aW9uOihf
VUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSAqKWludGVyYWN0aXZlVHJhbnNp
dGlvbjsKKy0gKEJPT0wpc2hvdWxkQmVnaW5JbnRlcmFjdGl2ZVRyYW5zaXRpb246KF9VSU5hdmln
YXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFuc2l0aW9uOwor
LSAoQk9PTClpbnRlcmFjdGl2ZVRyYW5zaXRpb246KF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRy
YW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFuc2l0aW9uIGdlc3R1cmVSZWNvZ25pemVyOihV
SUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIgc2hvdWxkUmVjb2duaXplU2lt
dWx0YW5lb3VzbHlXaXRoR2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilv
dGhlckdlc3R1cmVSZWNvZ25pemVyOworLSAoQk9PTClpbnRlcmFjdGl2ZVRyYW5zaXRpb246KF9V
SU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFuc2l0
aW9uIGdlc3R1cmVSZWNvZ25pemVyOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29n
bml6ZXIgc2hvdWxkUmVjZWl2ZVRvdWNoOihVSVRvdWNoICopdG91Y2g7CistIChVSVBhbkdlc3R1
cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXJGb3JJbnRlcmFjdGl2ZVRyYW5zaXRpb246
KF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFu
c2l0aW9uIFdpdGhUYXJnZXQ6KGlkKXRhcmdldCBhY3Rpb246KFNFTClhY3Rpb247CitAZW5kCisK
K0BpbnRlcmZhY2UgVUlXaW5kb3cgKERldGFpbHMpCisrIChtYWNoX3BvcnRfdClfc3luY2hyb25p
emVEcmF3aW5nQWNyb3NzUHJvY2Vzc2VzOworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViU2Nyb2xs
VmlldyA6IFVJU2Nyb2xsVmlldworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViVGlsZWRWaWV3IDog
VUlWaWV3CitAZW5kCisKK0BpbnRlcmZhY2UgVUlXZWJEb2N1bWVudFZpZXcgOiBVSVdlYlRpbGVk
VmlldworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViQnJvd3NlclZpZXcgOiBVSVdlYkRvY3VtZW50
VmlldworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViQnJvd3NlclZpZXcgKERldGFpbHMpCistIChX
ZWJWaWV3ICopd2ViVmlldzsKKy0gKHZvaWQpc2VuZFNjcm9sbEV2ZW50SWZOZWNlc3NhcnlXYXNV
c2VyU2Nyb2xsOihCT09MKXVzZXJTY3JvbGw7CitAZW5kCisKKyNlbmRpZiAvLyBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorCitAaW50ZXJmYWNlIFVJVmlldyAoSVBJKQorLSAoVUlTY3JvbGxWaWV3
ICopX3Njcm9sbGVyOworLSAoQ0dQb2ludClhY2Nlc3NpYmlsaXR5Q29udmVydFBvaW50RnJvbVNj
ZW5lUmVmZXJlbmNlQ29vcmRpbmF0ZXM6KENHUG9pbnQpcG9pbnQ7CistIChDR1JlY3QpYWNjZXNz
aWJpbGl0eUNvbnZlcnRSZWN0VG9TY2VuZVJlZmVyZW5jZUNvb3JkaW5hdGVzOihDR1JlY3QpcmVj
dDsKK0BlbmQKKworRVhURVJOX0NfQkVHSU4KKworQk9PTCBVSUtleWJvYXJkRW5hYmxlZElucHV0
TW9kZXNBbGxvd09uZVRvTWFueVNob3J0Y3V0cygpOworQk9PTCBVSUtleWJvYXJkRW5hYmxlZElu
cHV0TW9kZXNBbGxvd0NoaW5lc2VUcmFuc2xpdGVyYXRpb25Gb3JUZXh0KE5TU3RyaW5nICopOwor
Qk9PTCBVSUtleWJvYXJkQ3VycmVudElucHV0TW9kZUFsbG93c0NoaW5lc2VPckphcGFuZXNlUmVh
bmFseXNpc0ZvclRleHQoTlNTdHJpbmcgKik7CisKK2V4dGVybiBjb25zdCBmbG9hdCBVSVRhYmxl
Q2VsbERlZmF1bHRGb250U2l6ZTsKK2V4dGVybiBjb25zdCBmbG9hdCBVSVRhYmxlVmlld0NlbGxE
ZWZhdWx0Rm9udFNpemU7CisKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IFVJV2luZG93RGlkTW92
ZVRvU2NyZWVuTm90aWZpY2F0aW9uOworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgVUlXaW5kb3dE
aWRSb3RhdGVOb3RpZmljYXRpb247CitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBVSVdpbmRvd05l
d1NjcmVlblVzZXJJbmZvS2V5OworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgVUlXaW5kb3dXaWxs
Um90YXRlTm90aWZpY2F0aW9uOworCitleHRlcm4gVUlBcHBsaWNhdGlvbiAqVUlBcHA7CisKK0JP
T0wgX1VJQXBwbGljYXRpb25Vc2VzTGVnYWN5VUkodm9pZCk7CisKK3ZvaWQgVUlJbWFnZURhdGFX
cml0ZVRvU2F2ZWRQaG90b3NBbGJ1bShOU0RhdGEgKmltYWdlRGF0YSwgaWQgY29tcGxldGlvblRh
cmdldCwgU0VMIGNvbXBsZXRpb25TZWxlY3Rvciwgdm9pZCAqY29udGV4dEluZm8pOworCitFWFRF
Uk5fQ19FTkQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9pb3MvX1VJ
SGlnaGxpZ2h0Vmlld1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9fVUlI
aWdobGlnaHRWaWV3U1BJLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGI1OTNjZGYw
ZmNjNWYwYzA1MGVmOWIzZGJhMjFmMmMzMWUyMDA3MWYuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9f
VUlIaWdobGlnaHRWaWV3U1BJLmgKKysrIC9kZXYvbnVsbApAQCAtMSw0NyArMCwwIEBACi0vKgot
ICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KLSAq
Ci0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0g
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCi0gKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwotICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgotICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKLSAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUwotICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KLSAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCi0gKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCi0gKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
Ci0gKi8KLQotI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCi0KLSNpbXBvcnQgPFVJS2l0L19V
SUhpZ2hsaWdodFZpZXcuaD4KLQotI2Vsc2UKLQotI2ltcG9ydCA8VUlLaXQvVUlWaWV3Lmg+Ci0K
LUBjbGFzcyBVSUNvbG9yOwotCi1AaW50ZXJmYWNlIF9VSUhpZ2hsaWdodFZpZXcgOiBVSVZpZXcK
LUBlbmQKLQotQGludGVyZmFjZSBfVUlIaWdobGlnaHRWaWV3IChQcml2YXRlKQotLSAodm9pZClz
ZXRDb2xvcjooVUlDb2xvciAqKWNvbG9yOwotLSAodm9pZClzZXRDb3JuZXJSYWRpdXM6KENHRmxv
YXQpY29ybmVyUmFkaXVzOwotLSAodm9pZClzZXRDb3JuZXJSYWRpaTooTlNBcnJheSAqKWNvcm5l
clJhZGlpOwotLSAodm9pZClzZXRGcmFtZXM6KE5TQXJyYXkgKilmcmFtZXMgYm91bmRhcnlSZWN0
OihDR1JlY3QpYm91bmRhcnlSZWN0OwotLSAodm9pZClzZXRRdWFkczooTlNBcnJheSAqKXF1YWRz
IGJvdW5kYXJ5UmVjdDooQ0dSZWN0KWJvdW5kYXJ5UmVjdDsKLUBlbmQKLQotI2VuZGlmCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkhv
c3RNYW5hZ2VyLm1tIGIvU291cmNlL1dlYktpdC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQ
bHVnaW5Ib3N0TWFuYWdlci5tbQppbmRleCBlY2ZiMzRjMTA4OTVjNTdlNjhhY2E4OGNmMzhmNmQ4
ZDJmNzZkOGIyLi4xZjlmYWNiYmRmMjA1NDg5N2FlNjE3MWFjNTE4MGJlOTdmMGVlNzhkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkhv
c3RNYW5hZ2VyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNj
YXBlUGx1Z2luSG9zdE1hbmFnZXIubW0KQEAgLTI5LDEyICsyOSwxMiBAQAogCiAjaW1wb3J0ICJO
ZXRzY2FwZVBsdWdpbkhvc3RQcm94eS5oIgogI2ltcG9ydCAiTmV0c2NhcGVQbHVnaW5JbnN0YW5j
ZVByb3h5LmgiCi0jaW1wb3J0ICJXZWJMb2NhbGl6YWJsZVN0cmluZ3NJbnRlcm5hbC5oIgogI2lt
cG9ydCAiV2ViS2l0U3lzdGVtSW50ZXJmYWNlLmgiCisjaW1wb3J0ICJXZWJMb2NhbGl6YWJsZVN0
cmluZ3NJbnRlcm5hbC5oIgogI2ltcG9ydCAiV2ViTmV0c2NhcGVQbHVnaW5QYWNrYWdlLmgiCisj
aW1wb3J0IDxXZWJDb3JlL1NlcnZlcnNTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViQ29yZU5T
U3RyaW5nRXh0cmFzLmg+CiAjaW1wb3J0IDxtYWNoL21hY2hfcG9ydC5oPgotI2ltcG9ydCA8c2Vy
dmVycy9ib290c3RyYXAuaD4KICNpbXBvcnQgPHNwYXduLmg+CiAjaW1wb3J0IDx3dGYvQXNzZXJ0
aW9ucy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZyBiL1NvdXJjZS9XZWJLaXQy
L0NvbmZpZ3VyYXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWcKaW5kZXggNjcyYWZiNjU0NDIxOTZm
OTZkODNhZDE3ZGE0MjNhYzU2NmZhYjlmMi4uMmEzYzQwYjM5MTBlMzcwZmM0MTliYTU2NzBmOTUz
OGYzNjhjMzE4YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFz
ZVRhcmdldC54Y2NvbmZpZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNl
VGFyZ2V0LnhjY29uZmlnCkBAIC0yNCw3ICsyNCwxMCBAQAogI2luY2x1ZGUgIkZlYXR1cmVEZWZp
bmVzLnhjY29uZmlnIgogI2luY2x1ZGUgIlZlcnNpb24ueGNjb25maWciCiAKLUZSQU1FV09SS19T
RUFSQ0hfUEFUSFMgPSAkKFVNQlJFTExBX0ZSQU1FV09SS1NfRElSKSAkKEZSQU1FV09SS19TRUFS
Q0hfUEFUSFMpOworRlJBTUVXT1JLX1NFQVJDSF9QQVRIU19iYXNlID0gJChVTUJSRUxMQV9GUkFN
RVdPUktTX0RJUikgJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTKTsKK0ZSQU1FV09SS19TRUFSQ0hf
UEFUSFNbc2RrPWlwaG9uZSpdID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpICQoU0RL
Uk9PVCkkKFNZU1RFTV9MSUJSQVJZX0RJUikvUHJpdmF0ZUZyYW1ld29ya3M7CitGUkFNRVdPUktf
U0VBUkNIX1BBVEhTID0gJChGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UpOworCiBHQ0NfUFJF
RklYX0hFQURFUiA9IFdlYktpdDJQcmVmaXguaDsKIEdDQ19QUkVQUk9DRVNTT1JfREVGSU5JVElP
TlMgPSAkKERFQlVHX0RFRklORVMpICQoRkVBVFVSRV9ERUZJTkVTKSBGUkFNRVdPUktfTkFNRT1X
ZWJLaXQKIEhFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xv
Y2FsL2luY2x1ZGUgJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdIZWFk
ZXJzICQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElSKS9pY3UgJChCVUlMVF9QUk9EVUNUU19E
SVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIgJChIRUFERVJfU0VBUkNIX1BBVEhTKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jl
c291cmNlTG9hZGVyTWFjLm1tCmluZGV4IDVmZTllYjdlMzkxNGE4ZGYzMjk2ZTVjODA1ZWU3YjMy
OTIyM2M2YjYuLjUwNjFjYzU4YjA2MTFmYWY0NWQ3OGFlNTE4NjJiOWQ1ZWViZDFmMTEgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXJNYWMubW0KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdv
cmtSZXNvdXJjZUxvYWRlck1hYy5tbQpAQCAtMTA0LDcgKzEwNCw3IEBAIHZvaWQgTmV0d29ya1Jl
c291cmNlTG9hZGVyOjp3aWxsQ2FjaGVSZXNwb25zZUFzeW5jKFJlc291cmNlSGFuZGxlKiBoYW5k
bGUsIE5TQ2FjCiB7CiAgICAgQVNTRVJUX1VOVVNFRChoYW5kbGUsIGhhbmRsZSA9PSBtX2hhbmRs
ZSk7CiAKLSNpZiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwOTAKKyNpZiBQ
TEFURk9STShJT1MpIHx8IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAog
ICAgIGlmIChtX2J5dGVzUmVjZWl2ZWQgPj0gZmlsZUJhY2tlZFJlc291cmNlTWluaW11bVNpemUo
KSkKICAgICAgICAgTmV0d29ya0Rpc2tDYWNoZU1vbml0b3I6Om1vbml0b3JGaWxlQmFja2luZ1N0
b3JlQ3JlYXRpb24oW25zUmVzcG9uc2UgX0NGQ2FjaGVkVVJMUmVzcG9uc2VdLCB0aGlzKTsKICNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0
aW9uTWFjLm1tIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9Db25uZWN0aW9uTWFj
Lm1tCmluZGV4IDg0YTg1MGJkN2UxZDE4ZGIyMDJkYjJkNDg1N2MxOGRkMGZlMWIyZTYuLjU3Yzlm
MjBkOGJjMTUyNzQzNzkxNDA0OWY5ZTkwMTdkNTc2Yjk5YzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29ubmVjdGlvbk1hYy5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KQEAgLTMzLDYgKzMzLDcgQEAK
ICNpbmNsdWRlIDxXZWJDb3JlL0FYT2JqZWN0Q2FjaGUuaD4KICNpbmNsdWRlIDxtYWNoL21hY2hf
ZXJyb3IuaD4KICNpbmNsdWRlIDxtYWNoL3ZtX21hcC5oPgorI2luY2x1ZGUgPHN5cy9tbWFuLmg+
CiAjaW5jbHVkZSA8d3RmL1J1bkxvb3AuaD4KICNpbmNsdWRlIDx3dGYvc3BpL2Rhcndpbi9YUENT
UEkuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9CS1NQ
cm9jZXNzQXNzZXJ0aW9uU1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0JL
U1Byb2Nlc3NBc3NlcnRpb25TUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MzFhYmZhZGQwZjM1ZDlhNWZkZTFj
MDZhMzVjNjQ5NDM0ZWJkNzQ2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9CS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmgKQEAgLTAsMCArMSw1OSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IGBgQVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRQorICogSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUgorICogQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IKKyAqIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkKKyAq
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVAorICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisgKiBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZv
dW5kYXRpb24vRm91bmRhdGlvbi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKwor
I2ltcG9ydCA8QXNzZXJ0aW9uU2VydmljZXMvQktTUHJvY2Vzc0Fzc2VydGlvbi5oPgorCisjZWxz
ZQorCitlbnVtIHsKKyAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uTm9uZSA9IDAsCisgICAgQktTUHJv
Y2Vzc0Fzc2VydGlvblByZXZlbnRUYXNrU3VzcGVuZCAgPSAxIDw8IDAsCisgICAgQktTUHJvY2Vz
c0Fzc2VydGlvblByZXZlbnRUYXNrVGhyb3R0bGVEb3duID0gMSA8PCAxLAorICAgIEJLU1Byb2Nl
c3NBc3NlcnRpb25BbGxvd0lkbGVTbGVlcCA9IDEgPDwgMiwKKyAgICBCS1NQcm9jZXNzQXNzZXJ0
aW9uV2FudHNGb3JlZ3JvdW5kUmVzb3VyY2VQcmlvcml0eSA9IDEgPDwgMywKKyAgICBCS1NQcm9j
ZXNzQXNzZXJ0aW9uQWxsb3dTdXNwZW5kT25TbGVlcCA9IDEgPDwgNCwKK307Cit0eXBlZGVmIHVp
bnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFnczsKKworZW51bSB7CisgICAgQktTUHJvY2Vz
c0Fzc2VydGlvblJlYXNvbkV4dGVuc2lvbiA9IDEzLAorfTsKK3R5cGVkZWYgdWludDMyX3QgQktT
UHJvY2Vzc0Fzc2VydGlvblJlYXNvbjsKKwordHlwZWRlZiB2b2lkKF5CS1NQcm9jZXNzQXNzZXJ0
aW9uQWNxdWlzaXRpb25IYW5kbGVyKShCT09MIGFjcXVpcmVkKTsKKworQGludGVyZmFjZSBCS1NQ
cm9jZXNzQXNzZXJ0aW9uIDogTlNPYmplY3QKK0BlbmQKKworQGludGVyZmFjZSBCS1NQcm9jZXNz
QXNzZXJ0aW9uIChEZXRhaWxzKQorLSAoaWQpaW5pdFdpdGhQSUQ6KHBpZF90KXBpZCBmbGFnczoo
QktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzKWZsYWdzIHJlYXNvbjooQktTUHJvY2Vzc0Fzc2VydGlv
blJlYXNvbilyZWFzb24gbmFtZTooTlNTdHJpbmcgKiluYW1lIHdpdGhIYW5kbGVyOihCS1NQcm9j
ZXNzQXNzZXJ0aW9uQWNxdWlzaXRpb25IYW5kbGVyKWhhbmRsZXI7CitAcHJvcGVydHkgKG5vbmF0
b21pYywgYXNzaWduKSBCS1NQcm9jZXNzQXNzZXJ0aW9uRmxhZ3MgZmxhZ3M7CitAZW5kCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9Db3JlUERG
U1BJLmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0NvcmVQREZTUEkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi42Mzk1ODEzNTMxNjZhZjczYzdkODY1OTAyZDM3OTMwZTcxOGI0Y2FjCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9Db3JlUERGU1BJLmgK
QEAgLTAsMCArMSwxMjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxDb3JlR3JhcGhpY3MvQ29y
ZUdyYXBoaWNzLmg+CisjaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgorCisjaWYgVVNFKEFQUExFX0lO
VEVSTkFMX1NESykKKworI2ltcG9ydCA8Q29yZVBERi9VSVBERkFubm90YXRpb25Db250cm9sbGVy
Lmg+CisjaW1wb3J0IDxDb3JlUERGL1VJUERGRG9jdW1lbnQuaD4KKyNpbXBvcnQgPENvcmVQREYv
VUlQREZMaW5rQW5ub3RhdGlvbi5oPgorI2ltcG9ydCA8Q29yZVBERi9VSVBERlBhZ2UuaD4KKyNp
bXBvcnQgPENvcmVQREYvVUlQREZQYWdlVmlldy5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIFVJ
UERGUGFnZSA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZQYWdlIChEZXRhaWxz
KQorLSAoQ0dSZWN0KWNyb3BCb3hBY2NvdW50Rm9yUm90YXRpb247CitAZW5kCisKK0BpbnRlcmZh
Y2UgVUlQREZEb2N1bWVudCA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZEb2N1
bWVudCAoRGV0YWlscykKKy0gKFVJUERGUGFnZSAqKXBhZ2VBdEluZGV4OihOU1VJbnRlZ2VyKWlu
ZGV4OworLSAoaWQpaW5pdFdpdGhDR1BERkRvY3VtZW50OihDR1BERkRvY3VtZW50UmVmKWRvY3Vt
ZW50OworQHByb3BlcnR5IChhc3NpZ24sIHJlYWRvbmx5KSBOU1VJbnRlZ2VyIG51bWJlck9mUGFn
ZXM7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBDR1BERkRvY3VtZW50UmVmIENHRG9jdW1lbnQ7CitA
ZW5kCisKK3R5cGVkZWYgZW51bSB7CisgICAga1VJUERGT2JqZWN0S2luZEdyYXBoaWMgPSAxLAor
fSBVSVBERk9iamVjdEtpbmQ7CisKK0BjbGFzcyBVSVBERlBhZ2VWaWV3OworQHByb3RvY29sIFVJ
UERGQW5ub3RhdGlvbkNvbnRyb2xsZXJEZWxlZ2F0ZTsKKworQGludGVyZmFjZSBVSVBERkFubm90
YXRpb25Db250cm9sbGVyIDogTlNPYmplY3Q8VUlHZXN0dXJlUmVjb2duaXplckRlbGVnYXRlPgor
QGVuZAorCitAaW50ZXJmYWNlIFVJUERGQW5ub3RhdGlvbkNvbnRyb2xsZXIgKERldGFpbHMpCitA
cHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIFVJUERGUGFnZVZpZXcgKnBhZ2VWaWV3Owor
QHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgaWQ8TlNPYmplY3QsIFVJUERGQW5ub3RhdGlv
bkNvbnRyb2xsZXJEZWxlZ2F0ZT4gZGVsZWdhdGU7CitAZW5kCisKK0Bwcm90b2NvbCBVSVBERlBh
Z2VWaWV3RGVsZWdhdGU7CisKK0BpbnRlcmZhY2UgVUlQREZQYWdlVmlldyA6IFVJVmlldworQGVu
ZAorCitAaW50ZXJmYWNlIFVJUERGUGFnZVZpZXcgKERldGFpbHMpCistIChpZClpbml0V2l0aFBh
Z2U6KFVJUERGUGFnZSAqKSBwYWdlIHRpbGVkQ29udGVudDooQk9PTCl0aWxlZDsKKy0gKENHUmVj
dCljb252ZXJ0UmVjdEZyb21QREZQYWdlU3BhY2U6KENHUmVjdClwOworQHByb3BlcnR5IChub25h
dG9taWMsIGFzc2lnbikgQk9PTCB1c2VCYWNraW5nTGF5ZXI7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduKSBpZDxOU09iamVjdCwgVUlQREZQYWdlVmlld0RlbGVnYXRlPiBkZWxlZ2F0ZTsK
K0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0FMYXllciAqY29udGVudExheWVyOwor
QHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSVBERkFubm90YXRpb25Db250cm9sbGVy
ICphbm5vdGF0aW9uQ29udHJvbGxlcjsKK0BlbmQKKworQHByb3RvY29sIFVJUERGUGFnZVZpZXdE
ZWxlZ2F0ZQorQG9wdGlvbmFsCistIChCT09MKXNlbGVjdGlvbldpbGxUcmFjazooVUlQREZQYWdl
VmlldyopcGFnZVZpZXc7CistIChCT09MKXNob3VsZFJlY29nbml6ZVRhcEluOihVSVBERlBhZ2VW
aWV3ICopcGFnZVZpZXcgYXRQb2ludDooQ0dQb2ludClwb2ludDsKKy0gKENsYXNzKWNsYXNzRm9y
QW5ub3RhdGlvblR5cGU6KGNvbnN0IGNoYXIgKil0eXBlOworLSAodm9pZClkaWRUYXA6KFVJUERG
UGFnZVZpZXcgKilwYWdlVmlldyBhdFBvaW50OihDR1BvaW50KXBvaW50OworLSAodm9pZClkb3Vi
bGVUYXBJbjooVUlQREZQYWdlVmlldyAqKXBhZ2VWaWV3IGF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7
CistICh2b2lkKXBhZ2VXYXNSZW5kZXJlZDooVUlQREZQYWdlVmlldyAqKXBhZ2VWaWV3OworLSAo
dm9pZClyZXNldFpvb206KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldzsKKy0gKHZvaWQpc2VsZWN0
aW9uRGlkRW5kVHJhY2tpbmc6KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldzsKKy0gKHZvaWQpem9v
bTooVUlQREZQYWdlVmlldyAqKXBhZ2VWaWV3IHRvOihDR1JlY3QpcmVjdCBhdFBvaW50OihDR1Bv
aW50KXB0IGtpbmQ6KFVJUERGT2JqZWN0S2luZClraW5kOworQGVuZAorCitAaW50ZXJmYWNlIFVJ
UERGQW5ub3RhdGlvbiA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZBbm5vdGF0
aW9uIChEZXRhaWxzKQorLSAoQ0dSZWN0KVJlY3Q7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNz
aWduKSBVSVBERkFubm90YXRpb25Db250cm9sbGVyKiBhbm5vdGF0aW9uQ29udHJvbGxlcjsKK0Bl
bmQKKworQGludGVyZmFjZSBVSVBERk1hcmt1cEFubm90YXRpb24gOiBVSVBERkFubm90YXRpb24K
K0BlbmQKKworQGludGVyZmFjZSBVSVBERkxpbmtBbm5vdGF0aW9uIDogVUlQREZNYXJrdXBBbm5v
dGF0aW9uCitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZMaW5rQW5ub3RhdGlvbiAoRGV0YWlscykK
Ky0gKE5TVVJMICopdXJsOworLSAoTlNVSW50ZWdlcilwYWdlTnVtYmVyOworQGVuZAorCitAcHJv
dG9jb2wgVUlQREZBbm5vdGF0aW9uQ29udHJvbGxlckRlbGVnYXRlCitAb3B0aW9uYWwKKy0gKHZv
aWQpYW5ub3RhdGlvbjooVUlQREZBbm5vdGF0aW9uICopYW5ub3RhdGlvbiB3YXNUb3VjaGVkQXRQ
b2ludDooQ0dQb2ludCkgcG9pbnQgY29udHJvbGxlcjooVUlQREZBbm5vdGF0aW9uQ29udHJvbGxl
ciAqKWNvbnRyb2xsZXI7CistICh2b2lkKWFubm90YXRpb246KFVJUERGQW5ub3RhdGlvbiAqKWFu
bm90YXRpb24gaXNCZWluZ1ByZXNzZWRBdFBvaW50OihDR1BvaW50KSBwb2ludCBjb250cm9sbGVy
OihVSVBERkFubm90YXRpb25Db250cm9sbGVyICopY29udHJvbGxlcjsKK0BlbmQKKworI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0RhdGFEZXRlY3Rv
cnNVSVNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9EYXRhRGV0ZWN0b3Jz
VUlTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5iMjU4N2VlOWMwNjU5ZDIyZDFjNWU3ZWMzZDczOTdhZTRjYzg1
MTQwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9E
YXRhRGV0ZWN0b3JzVUlTUEkuaApAQCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9y
dCA8VUlLaXQvVUlLaXQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KKworI2lm
IFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPERhdGFEZXRlY3RvcnNVSS9EREFj
dGlvbi5oPgorI2ltcG9ydCA8RGF0YURldGVjdG9yc1VJL0RERGV0ZWN0aW9uQ29udHJvbGxlci5o
PgorCisjZWxzZQorCitAaW50ZXJmYWNlIEREQWN0aW9uIDogTlNPYmplY3QKK0BlbmQKKworQGlu
dGVyZmFjZSBEREFjdGlvbiAoRGV0YWlscykKKy0gKEJPT0wpaGFzVXNlckludGVyZmFjZTsKKy0g
KE5TU3RyaW5nICopbG9jYWxpemVkTmFtZTsKK0Bwcm9wZXJ0eSAocmVhZG9ubHkpIE5TU3RyaW5n
ICphY3Rpb25VVEk7CitAZW5kCisKK0Bwcm90b2NvbCBERERldGVjdGlvbkNvbnRyb2xsZXJJbnRl
cmFjdGlvbkRlbGVnYXRlIDxOU09iamVjdD4KK0BlbmQKKworQGludGVyZmFjZSBERERldGVjdGlv
bkNvbnRyb2xsZXIgOiBOU09iamVjdCA8VUlBY3Rpb25TaGVldERlbGVnYXRlPgorQGVuZAorCitA
aW50ZXJmYWNlIERERGV0ZWN0aW9uQ29udHJvbGxlciAoRGV0YWlscykKKysgKERERGV0ZWN0aW9u
Q29udHJvbGxlciAqKXNoYXJlZENvbnRyb2xsZXI7CisrIChOU0FycmF5ICopdGFwQW5kSG9sZFNj
aGVtZXM7CistICh2b2lkKXBlcmZvcm1BY3Rpb246KEREQWN0aW9uICopYWN0aW9uIGZyb21BbGVy
dENvbnRyb2xsZXI6KFVJQWxlcnRDb250cm9sbGVyICopYWxlcnRDb250cm9sbGVyIGludGVyYWN0
aW9uRGVsZWdhdGU6KGlkIDxERERldGVjdGlvbkNvbnRyb2xsZXJJbnRlcmFjdGlvbkRlbGVnYXRl
PilpbnRlcmFjdGlvbkRlbGVnYXRlOworQGVuZAorCisjZW5kaWYKKworQGludGVyZmFjZSBERERl
dGVjdGlvbkNvbnRyb2xsZXIgKERldGFpbHNUb0JlUmVtb3ZlZCkKKy8vIEZJWE1FOiBUaGlzIHdp
bGwgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIDxyZGFyOi8vcHJvYmxlbS8xNjM0NjkxMz4gaXMgZml4
ZWQuCistIChOU0FycmF5ICopYWN0aW9uc0ZvckFuY2hvcjooaWQpYW5jaG9yIHVybDooTlNVUkwg
Kil0YXJnZXRVUkwgZm9yRnJhbWU6KGlkKWZyYW1lOworQGVuZAorCitTT0ZUX0xJTktfUFJJVkFU
RV9GUkFNRVdPUksoRGF0YURldGVjdG9yc1VJKQorU09GVF9MSU5LX0NMQVNTKERhdGFEZXRlY3Rv
cnNVSSwgREREZXRlY3Rpb25Db250cm9sbGVyKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vc3BpL2lvcy9NYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9NYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjdkZTc2OGU4ZDRlOTQ2ZjZhYTU4YmJmYzU2YjNjN2JlMzQyN2NlNjkKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL01hbmFnZWRDb25maWd1cmF0aW9u
U1BJLmgKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPEZvdW5kYXRpb24v
Rm91bmRhdGlvbi5oPgorCisjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworLy8gRklYTUU6
IFdlIGNvbmRpdGlvbmFsbHkgZW5jbG9zZSB0aGUgTWFuYWdlZENvbmZpZ3VyYXRpb24gaGVhZGVy
cyBpbiBhbiBleHRlcm4gIkMiIGxpbmthZ2UKKy8vIGJsb2NrIHRvIG1ha2UgdGhlbSBzdWl0YWJs
ZSBmb3IgQysrIHVzZS4KKyNpZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYK
KworI2ltcG9ydCA8TWFuYWdlZENvbmZpZ3VyYXRpb24vTUNGZWF0dXJlcy5oPgorI2ltcG9ydCA8
TWFuYWdlZENvbmZpZ3VyYXRpb24vTUNQcm9maWxlQ29ubmVjdGlvbi5oPgorCisjaWZkZWYgX19j
cGx1c3BsdXMKK30KKyNlbmRpZgorCisjZWxzZQorCit0eXBlZGVmIGVudW0gTUNSZXN0cmljdGVk
Qm9vbFR5cGUgeworICAgIE1DUmVzdHJpY3RlZEJvb2xFeHBsaWNpdE5vID0gMSA8PCAxLAorfSBN
Q1Jlc3RyaWN0ZWRCb29sVHlwZTsKKworQGludGVyZmFjZSBNQ1Byb2ZpbGVDb25uZWN0aW9uIDog
TlNPYmplY3QKK0BlbmQKKworQGludGVyZmFjZSBNQ1Byb2ZpbGVDb25uZWN0aW9uIChEZXRhaWxz
KQorKyAoTUNQcm9maWxlQ29ubmVjdGlvbiAqKXNoYXJlZENvbm5lY3Rpb247CistIChNQ1Jlc3Ry
aWN0ZWRCb29sVHlwZSllZmZlY3RpdmVCb29sVmFsdWVGb3JTZXR0aW5nOihOU1N0cmluZyAqKWZl
YXR1cmU7CitAZW5kCisKKyNlbmRpZgorCitFWFRFUk5fQ19CRUdJTgorCitleHRlcm4gTlNTdHJp
bmcgKiBjb25zdCBNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dlZDsKKworRVhURVJOX0Nf
RU5ECisKK1NPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhNYW5hZ2VkQ29uZmlndXJhdGlvbik7
CitTT0ZUX0xJTktfQ0xBU1MoTWFuYWdlZENvbmZpZ3VyYXRpb24sIE1DUHJvZmlsZUNvbm5lY3Rp
b24pOworU09GVF9MSU5LX0NPTlNUQU5UKE1hbmFnZWRDb25maWd1cmF0aW9uLCBNQ0ZlYXR1cmVE
ZWZpbml0aW9uTG9va3VwQWxsb3dlZCwgTlNTdHJpbmcgKikKKworI2RlZmluZSBNQ0ZlYXR1cmVE
ZWZpbml0aW9uTG9va3VwQWxsb3dlZCBnZXRNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dl
ZCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1RDQ1NQSS5o
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9UQ0NTUEkuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5l
NGFjNWY1NzRmZTg3ZGMxNjM3ZDQ5OTdlNzZjZWNhZDIxYTZkZGVkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9UQ0NTUEkuaApAQCAtMCwwICsxLDM2
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQg
PFRDQy9UQ0MuaD4KKworI2Vsc2UKKwordHlwZWRlZiBlbnVtIHsKKyAgICBrVENDQWNjZXNzUHJl
ZmxpZ2h0RGVuaWVkID0gMSwKK30gVENDQWNjZXNzUHJlZmxpZ2h0UmVzdWx0OworCisjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVGV4dElucHV0U1BJ
LmggYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1RleHRJbnB1dFNQSS5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjlmNTYxZjU1YWE2YjNiZjQ2Njg4OWFjZmMxZjg3MDNjNWExMWZjZWEKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1RleHRJbnB1dFNQSS5o
CkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5k
YXRpb24uaD4KKworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFRleHRJ
bnB1dC9USV9OU1N0cmluZ0V4dHJhcy5oPgorCisjZWxzZQorCitAaW50ZXJmYWNlIE5TU3RyaW5n
IChUZXh0SW5wdXREZXRhaWxzKQorLSAoQk9PTClfY29udGFpbnNDSlNjcmlwdHM7CistIChCT09M
KV9jb250YWluc0NKU2NyaXB0c09ubHk7CitAZW5kCisKKyNlbmRpZgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9pb3MvRG93bmxvYWRJT1MubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQppbmRleCA2MTQzOGU2
MGI0MTAxNjc3YTkxY2Q0MzczYzMzYThiNjIyMzQwYjkyLi5lNmMzOGI4N2I2NTEyZmNlNTQzMGFk
NDkzNTliYzJjMDcyNWU1N2UxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93
bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRG93
bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbQpAQCAtMjksNyArMjksNiBAQAogI2lmIFBMQVRGT1JN
KElPUykKIAogI2ltcG9ydCAiRGF0YVJlZmVyZW5jZS5oIgotI2ltcG9ydCA8Q0ZOZXR3b3JrL0NG
VVJMRG93bmxvYWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvTm90SW1wbGVtZW50ZWQuaD4KICNpbXBv
cnQgPFdlYkNvcmUvUmVzb3VyY2VFcnJvci5oPgogI2ltcG9ydCA8V2ViQ29yZS9SZXNvdXJjZUhh
bmRsZS5oPgpAQCAtMzcsMTAgKzM2LDE1IEBACiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAj
aW1wb3J0IDx3dGYvUnVuTG9vcC5oPgogCisjaWYgVVNFKENGTkVUV09SSykKKyNpbXBvcnQgPENG
TmV0d29yay9DRlVSTERvd25sb2FkLmg+CisjZW5kaWYKKwogdXNpbmcgbmFtZXNwYWNlIFdlYkNv
cmU7CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCisjaWYgVVNFKENGTkVUV09SSykKIC8vIEZJWE1F
OiBJZiBwb3NzaWJsZSwgd2Ugc2hvdWxkIGNvbnNpZGVyIG1vdmluZyBzb21lIGNhbGxiYWNrcyBv
ZmYgdGhlIG1haW4gdGhyZWFkIG9yIGF0IGxlYXN0CiAvLyBtYWtpbmcgdGhlbSBhc3luY2hvbm91
cyBjYWxscy4KIHN0YXRpYyB2b2lkIGRpc3BhdGNoT25NYWluVGhyZWFkKHZvaWQoXmJsb2NrKSgp
KQpAQCAtMTIxLDYgKzEyNSw3IEBAIHN0YXRpYyB2b2lkIHNldFVwRG93bmxvYWRDbGllbnQoQ0ZV
UkxEb3dubG9hZENsaWVudCYgY2xpZW50LCBEb3dubG9hZCYgZG93bmxvYWQpCiAgICAgICAgIH0p
OwogICAgIH07CiB9CisjZW5kaWYgLy8gVVNFKENGTkVUV09SSykKIAogdm9pZCBEb3dubG9hZDo6
c3RhcnQoKQogewpAQCAtMTM0LDkgKzEzOSwxMyBAQCB2b2lkIERvd25sb2FkOjpyZXN1bWUoY29u
c3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgU3RyaW5nJiwgY29uc3QgU2FuZGJveEV4dAog
CiB2b2lkIERvd25sb2FkOjpzdGFydFdpdGhIYW5kbGUoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwg
Y29uc3QgUmVzb3VyY2VSZXNwb25zZSYgcmVzcG9uc2UpCiB7CisjaWYgVVNFKENGTkVUV09SSykK
ICAgICBDRlVSTERvd25sb2FkQ2xpZW50IGNsaWVudDsKICAgICBzZXRVcERvd25sb2FkQ2xpZW50
KGNsaWVudCwgKnRoaXMpOwogICAgIG1fZG93bmxvYWQgPSBhZG9wdENGKENGVVJMRG93bmxvYWRD
cmVhdGVBbmRTdGFydFdpdGhMb2FkaW5nQ29ubmVjdGlvbihOVUxMLCBoYW5kbGUtPnJlbGVhc2VD
b25uZWN0aW9uRm9yRG93bmxvYWQoKS5nZXQoKSwgbV9yZXF1ZXN0LmNmVVJMUmVxdWVzdChVcGRh
dGVIVFRQQm9keSksIHJlc3BvbnNlLmNmVVJMUmVzcG9uc2UoKSwgJmNsaWVudCkpOworI2Vsc2UK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworI2VuZGlmCiB9CiAKIHZvaWQgRG93bmxvYWQ6OmNhbmNl
bCgpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGll
cy9tYWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRyeVBvaW50Lm1tIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xlZ2FjeVByb2Nlc3MvQ2hpbGRQ
cm9jZXNzRW50cnlQb2ludC5tbQppbmRleCBkOTVjZWZkY2E2ZTNkYWI3MWExYWRlNmRmYTg5Yzg0
MDk1NDE1YzEwLi5iMDljZTU5YmI3YzU4MDBkM2JlZDU2YzliNTY4ZTI3NTdkNjc2Y2FlIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvTGVn
YWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRyeVBvaW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdhY3lQcm9jZXNzL0NoaWxkUHJvY2Vz
c0VudHJ5UG9pbnQubW0KQEAgLTI2LDggKzI2LDggQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2lt
cG9ydCAiQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5oIgogCisjaW1wb3J0IDxXZWJDb3JlL1NlcnZl
cnNTUEkuaD4KICNpbXBvcnQgPG1hY2gvbWFjaF9lcnJvci5oPgotI2ltcG9ydCA8c2VydmVycy9i
b290c3RyYXAuaD4KICNpbXBvcnQgPHN0ZGlvLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CiAjaW1wb3J0IDx3dGYvdGV4dC9DU3RyaW5nLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0KaW5kZXggZGFiMmQwMzcwYjllZWIw
NDRiYTZmZTNhODA2ZDc2YzBlNTg5MTg4YS4uYjZhYzYzZGU4ZmQ3ZGE5NmU5NjlmMTY4ZjZlZDJj
MDI3NzJkZDdkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVX
ZWJUb3VjaEV2ZW50SU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZl
V2ViVG91Y2hFdmVudElPUy5tbQpAQCAtMjYsMTIgKzI2LDEyIEBACiAjaW1wb3J0ICJjb25maWcu
aCIKICNpbXBvcnQgIk5hdGl2ZVdlYlRvdWNoRXZlbnQuaCIKIAotI2lmIFBMQVRGT1JNKElPUykK
KyNpZiBQTEFURk9STShJT1MpICYmIEVOQUJMRShUT1VDSF9FVkVOVFMpCiAKICNpbXBvcnQgIldl
YkV2ZW50LmgiCiAjaW1wb3J0IDxVSUtpdC9VSVRvdWNoLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdl
YlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW50UG9p
bnQuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV0FL
QXBwS2l0U3R1YnMuaD4KICNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogCkBAIC05OCw0ICs5
OCw0IEBAIE5hdGl2ZVdlYlRvdWNoRXZlbnQ6Ok5hdGl2ZVdlYlRvdWNoRXZlbnQoY29uc3QgX1VJ
V2ViVG91Y2hFdmVudCogZXZlbnQpCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdAogCi0jZW5kaWYg
Ly8gUExBVEZPUk0oSU9TKQorI2VuZGlmIC8vIFBMQVRGT1JNKElPUykgJiYgRU5BQkxFKFRPVUNI
X0VWRU5UUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0
aWxpdGllcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMu
Y3BwCmluZGV4IGU3MTRhODY3YzZkOTM3ZTExMTE4ZGFlZDA4N2JjYWE3NDIzNDA0NDAuLjMxNWI4
MWVkOTM2M2RiYzlmYThiYWI3Yzg3NWEyODFlNjYyMjU4NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL21hYy9TYW5kYm94VXRpbGl0aWVzLmNwcApAQCAtMjcsNiArMjcsNyBAQAogI2lu
Y2x1ZGUgIlNhbmRib3hVdGlsaXRpZXMuaCIKIAogI2luY2x1ZGUgPGFycmF5PgorI2luY2x1ZGUg
PHN5cy9wYXJhbS5oPgogI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCiAjaWYgX19o
YXNfaW5jbHVkZSg8c2FuZGJveC9wcml2YXRlLmg+KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbQppbmRleCBmNzI5YjUzOWQyZTBkZTUzMDIzMWMx
YjIyNWU3NDIyMDQzNGIxNDgyLi4xMjQyMDg5NThkYzUyY2YyYzEwNzIyMDBkYWRkZGJlMjMxMTUz
M2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2Vi
Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbQpAQCAtOTIsMTIgKzkyLDEwIEBACiAjaW1wb3J0ICJXZWJQYWdlTWVzc2FnZXMuaCIKICNp
bXBvcnQgIldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5oIgogI2ltcG9ydCA8VUlLaXQv
VUlBcHBsaWNhdGlvbi5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotI2lt
cG9ydCA8VUlLaXQvVUlQZXJpcGhlcmFsSG9zdF9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9V
SVdpbmRvd19Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JPdmVybGF5Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1F1
YXJ0ekNvcmVTUEkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KIAogQGludGVyZmFj
ZSBVSVNjcm9sbFZpZXcgKFVJU2Nyb2xsVmlld0ludGVybmFsKQogLSAodm9pZClfYWRqdXN0Rm9y
QXV0b21hdGljS2V5Ym9hcmRJbmZvOihOU0RpY3Rpb25hcnkqKWluZm8gYW5pbWF0ZWQ6KEJPT0wp
YW5pbWF0ZWQgbGFzdEFkanVzdG1lbnQ6KENHRmxvYXQqKWxhc3RBZGp1c3RtZW50OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1
cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLm1tCmluZGV4IDYyMzNkYTlhNDJiZjQ0M2E0OGUwYzY5YmY5Y2U2N2UzM2Uz
OTc0M2UuLmU4YzAyNGQ4YWEyYmU3MTFkNTY4YjMxMjcwZjU1MjBjNDZlOGMxMDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24ubW0KQEAgLTM4LDcgKzM4LDcgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KIAogI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNlbmRpZgogCiB0ZW1wbGF0ZTx0
eXBlbmFtZSBUPiBjbGFzcyBMYXp5SW5pdGlhbGl6ZWQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5hbC5oCmluZGV4IDhiMmRm
M2Q5MzNkYTNjZjEzNTQyN2JiOGM5YzIyYmZkMWY3NjNkODUuLjYyNmY1Yzk1ZTg3MDQ4YzVkNzg5
Yzk5NWYxZmFmNGYxZmIzOTRkM2QgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKQEAgLTM1LDcgKzM1LDcgQEAKICNp
bXBvcnQgIldLQ29udGVudFZpZXcuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFjdGlv
bi5oIgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFJlY3QuaD4KLSNpbXBvcnQgPFVJS2l0L1VJU2Ny
b2xsVmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjZW5kaWYK
IAogI2lmIFBMQVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvaW9zL1dLVmlld0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9z
L1dLVmlld0lPUy5tbQppbmRleCA5ZDVlMzY1Nzk3YTQ4ZmU2YWRkYjFiMTY3MjZkYjg0ODI3ZWQ1
ZmYzLi43ZjI2ODJjYWQ5N2MwNDNhZjg2ZjRmODhmOTkxMDg2ODdiNjliNTZlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2lvcy9XS1ZpZXdJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9pb3MvV0tWaWV3SU9TLm1tCkBAIC0zNiwxMSArMzYs
OCBAQAogI2ltcG9ydCAiV0tQcm9jZXNzR3JvdXBQcml2YXRlLmgiCiAjaW1wb3J0ICJXS1Njcm9s
bFZpZXcuaCIKICNpbXBvcnQgIldLQVBJQ2FzdC5oIgotI2ltcG9ydCA8VUlLaXQvVUlJbWFnZV9Q
cml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVBlcmlwaGVyYWxIb3N0X1ByaXZhdGUuaD4KICNp
bXBvcnQgPFVJS2l0L1VJU2NyZWVuLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVNjcm9sbFZpZXdfUHJp
dmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2luZyBuYW1l
c3BhY2UgV2ViS2l0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5j
aGVyL21hYy9Qcm9jZXNzTGF1bmNoZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQppbmRleCAxMjIwMTdlZGUwODI4ZTQw
YjA5MzVlMTE5ZmJhNTVkNzhiYjFlYzRjLi41YjcwMGE0NGMzZGQ1Y2RlYWMxODQ3Y2FiMWY2M2Zi
YjliZTZkNmY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIv
bWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQpAQCAtMjgsMTIgKzI4LDEyIEBACiAK
ICNpbXBvcnQgIkR5bmFtaWNMaW5rZXJFbnZpcm9ubWVudEV4dHJhY3Rvci5oIgogI2ltcG9ydCAi
RW52aXJvbm1lbnRWYXJpYWJsZXMuaCIKKyNpbXBvcnQgPFdlYkNvcmUvU2VydmVyc1NQSS5oPgog
I2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3Jl
TlNTdHJpbmdFeHRyYXMuaD4KICNpbXBvcnQgPGNydF9leHRlcm5zLmg+CiAjaW1wb3J0IDxtYWNo
LW8vZHlsZC5oPgogI2ltcG9ydCA8bWFjaC9tYWNoaW5lLmg+Ci0jaW1wb3J0IDxzZXJ2ZXJzL2Jv
b3RzdHJhcC5oPgogI2ltcG9ydCA8c3Bhd24uaD4KICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogI2lt
cG9ydCA8c3lzL3N0YXQuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Bh
Z2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDkxYjNlNDEwMTliOTFkNjJkMmQ5YWM0ZGUzMDk1MjRh
OWY3YzUzNjQuLmNiNmJmYzJhOThhY2E0Yjc4NTgyMjQxZjEyNzk1YWUxMDc3MDJmYTkgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdlQ2xpZW50SW1wbElPUy5tbQpA
QCAtNDYsMjEgKzQ2LDE0IEBACiAjaW1wb3J0ICJXZWJFZGl0Q29tbWFuZFByb3h5LmgiCiAjaW1w
b3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbXBvcnQgIl9XS0Rvd25sb2FkSW50ZXJuYWwuaCIK
LSNpbXBvcnQgPFVJS2l0L1VJSW1hZ2VQaWNrZXJDb250cm9sbGVyX1ByaXZhdGUuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplci5oPgogI2ltcG9ydCA8
V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVl
bi5oPgogI2ltcG9ydCA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUv
VGV4dEluZGljYXRvci5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogCiAjZGVmaW5l
IE1FU1NBR0VfQ0hFQ0soYXNzZXJ0aW9uKSBNRVNTQUdFX0NIRUNLX0JBU0UoYXNzZXJ0aW9uLCBt
X3dlYlZpZXctPl9wYWdlLT5wcm9jZXNzKCkuY29ubmVjdGlvbigpKQogCi1AaW50ZXJmYWNlIFVJ
VmlldyAoSVBJKQotLSAoVUlTY3JvbGxWaWV3ICopX3Njcm9sbGVyOwotLSAoQ0dQb2ludClhY2Nl
c3NpYmlsaXR5Q29udmVydFBvaW50RnJvbVNjZW5lUmVmZXJlbmNlQ29vcmRpbmF0ZXM6KENHUG9p
bnQpcG9pbnQ7Ci0tIChDR1JlY3QpYWNjZXNzaWJpbGl0eUNvbnZlcnRSZWN0VG9TY2VuZVJlZmVy
ZW5jZUNvb3JkaW5hdGVzOihDR1JlY3QpcmVjdDsKLUBlbmQKLQogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0KaW5kZXggYTgwZDgyMDlmMGQy
NzgxZGZhMjU3NjZlNGY4NTZhNDMwNjIwNDQxNi4uMmEyY2EzNGRlNjFiYWZmOWVmODRlYTJkZDJk
YTc4MmEzZmUzN2Q3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9Q
cm9jZXNzQXNzZXJ0aW9uSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
UHJvY2Vzc0Fzc2VydGlvbklPUy5tbQpAQCAtMjgsNyArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0o
SU9TKQogCi0jaW1wb3J0IDxBc3NlcnRpb25TZXJ2aWNlcy9CS1NQcm9jZXNzQXNzZXJ0aW9uLmg+
CisjaW1wb3J0ICJCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmgiCiAjaW1wb3J0IDxVSUtpdC9VSUFw
cGxpY2F0aW9uLmg+CiAKICNpZiAhUExBVEZPUk0oSU9TX1NJTVVMQVRPUikKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxl
ci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29u
dHJvbGxlci5tbQppbmRleCAzZDM3MjdjMmU4YzhmMjFlZWEyOThjNDc1ZTU5YjNjNDQ5YzdiYmJl
Li5lY2Q2MzUzMThjMmZjMTgxM2IxNTY4ODhmNzU0YTYxYzBiMDQxMDgxIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIu
bW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25D
b250cm9sbGVyLm1tCkBAIC0zNiwxMiArMzYsMTEgQEAKICNpbXBvcnQgIldlYlBhZ2VNZXNzYWdl
cy5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUHJveHku
aCIKLSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+CiAKICNwcmFnbWEgY2xhbmcgZGlhZ25vc3RpYyBw
dXNoCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgaWdub3JlZCAiLVdkZXByZWNhdGVkLWRlY2xh
cmF0aW9ucyIKIAotI2ltcG9ydCA8VUlLaXQvVUlLaXRfUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2Vi
Q29yZS9VSUtpdFNQSS5oPgogCiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcG9wCiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvVmlld0dlc3R1cmVDb250cm9sbGVy
SU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xs
ZXJJT1MubW0KaW5kZXggM2U1MGZkYTA0NzZmYjJlMWRlOGFkMDkwMzIzYjY1MTc0YzgxMThmYy4u
MTZhZDIxZGM3NjI0YzRiMGEzNTk1MThmMjcxZWFiNTY2M2YxNWMzYSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1Mu
bW0KQEAgLTM5LDEyICszOSw5IEBACiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQg
IldlYlByb2Nlc3NQcm94eS5oIgogI2ltcG9ydCA8VUlLaXQvVUlTY3JlZW5FZGdlUGFuR2VzdHVy
ZVJlY29nbml6ZXIuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9u
aW5nX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVj
b2duaXplci5oPgotI2ltcG9ydCA8VUlLaXQvX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNp
dGlvbi5oPgotI2ltcG9ydCA8VUlLaXQvX1VJTmF2aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbi5o
PgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2UuaD4KICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6
Q29yZVNQSS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CiAjaW1wb3J0IDx3dGYvdGV4dC9TdHJpbmdCdWlsZGVyLmg+CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldC5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldC5tbQppbmRleCBiYzVm
NWI3NzgzZmJhMWE3MGQzZDk1NDg2MWM5MzhiNDJjNjk1ZWMxLi5kMGRjYzNmY2Y4MDA4ZDAyZDhk
YzYxOGQxZWM2NGRmNTkyNmE5ZDdmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dLQWN0aW9uU2hlZXQubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lv
cy9XS0FjdGlvblNoZWV0Lm1tCkBAIC0yOCw4ICsyOCw3IEBACiAKICNpZiBQTEFURk9STShJT1Mp
CiAKLSNpbXBvcnQgPFVJS2l0L1VJQWxlcnRDb250cm9sbGVyX1ByaXZhdGUuaD4KLSNpbXBvcnQg
PFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4K
ICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogQGltcGxlbWVudGF0aW9uIFdLQWN0aW9uU2hl
ZXQgewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNo
ZWV0QXNzaXN0YW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hl
ZXRBc3Npc3RhbnQuaAppbmRleCBjNWFmYTA1ZDdkOTgxZDM5ODQ5ODYyYTNjZmNmMjQ4NjdiNTRj
MmU1Li4wM2ViMTllZTM5ZTliNzc5ODM1ZjAzMTQwMWIwZTVmMTZhN2I0MTMzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQu
aApAQCAtMjUsOSArMjUsOSBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJEYXRh
RGV0ZWN0b3JzVUlTUEkuaCIKICNpbXBvcnQgIkdlc3R1cmVUeXBlcy5oIgogI2ltcG9ydCAiV0tB
Y3Rpb25TaGVldC5oIgotI2ltcG9ydCA8RGF0YURldGVjdG9yc1VJL0RERGV0ZWN0aW9uQ29udHJv
bGxlci5oPgogI2ltcG9ydCA8VUlLaXQvVUlQb3BvdmVyQ29udHJvbGxlci5oPgogI2ltcG9ydCA8
d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0KaW5kZXggNTMzMjJiNmRmYjIyZThlMGNiMzU4
MGE2YmFjNTAxYzM4MThmNjU5Ny4uODIzNDgxMjgxNjJkNTYzYTk2YTliYTdiMjc5ZmVmNWRkZWJi
ZGE4MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNo
ZWV0QXNzaXN0YW50Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rp
b25TaGVldEFzc2lzdGFudC5tbQpAQCAtMjksMjIgKzI5LDE4IEBACiAjaWYgUExBVEZPUk0oSU9T
KQogCiAjaW1wb3J0ICJBUElVSUNsaWVudC5oIgorI2ltcG9ydCAiVENDU1BJLmgiCiAjaW1wb3J0
ICJXS0FjdGlvblNoZWV0LmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIK
ICNpbXBvcnQgIldlYWtPYmpDUHRyLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNpbXBv
cnQgIl9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0VsZW1l
bnRBY3Rpb25JbnRlcm5hbC5oIgotI2ltcG9ydCA8RGF0YURldGVjdG9yc1VJL0REQWN0aW9uLmg+
Ci0jaW1wb3J0IDxEYXRhRGV0ZWN0b3JzVUkvREREZXRlY3Rpb25Db250cm9sbGVyLmg+CiAjaW1w
b3J0IDxTYWZhcmlTZXJ2aWNlcy9TU1JlYWRpbmdMaXN0Lmg+Ci0jaW1wb3J0IDxUQ0MvVENDLmg+
Ci0jaW1wb3J0IDxVSUtpdC9VSUFsZXJ0Q29udHJvbGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0IDxV
SUtpdC9VSVZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5o
PgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9M
b2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CisjaW1w
b3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1VSTEV4
dHJhcy5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKQEAgLTU1LDE0ICs1MSw2
IEBAIFNPRlRfTElOS19QUklWQVRFX0ZSQU1FV09SSyhUQ0MpCiBTT0ZUX0xJTksoVENDLCBUQ0NB
Y2Nlc3NQcmVmbGlnaHQsIFRDQ0FjY2Vzc1ByZWZsaWdodFJlc3VsdCwgKENGU3RyaW5nUmVmIHNl
cnZpY2UsIENGRGljdGlvbmFyeVJlZiBvcHRpb25zKSwgKHNlcnZpY2UsIG9wdGlvbnMpKQogU09G
VF9MSU5LX0NPTlNUQU5UKFRDQywga1RDQ1NlcnZpY2VQaG90b3MsIENGU3RyaW5nUmVmKQogCi1T
T0ZUX0xJTktfUFJJVkFURV9GUkFNRVdPUksoRGF0YURldGVjdG9yc1VJKQotU09GVF9MSU5LX0NM
QVNTKERhdGFEZXRlY3RvcnNVSSwgREREZXRlY3Rpb25Db250cm9sbGVyKQotCi0vLyBGSVhNRTog
VGhpcyB3aWxsIGJlIHJlbW92ZWQgYXMgc29vbiBhcyA8cmRhcjovL3Byb2JsZW0vMTYzNDY5MTM+
IGlzIGZpeGVkLgotQGludGVyZmFjZSBERERldGVjdGlvbkNvbnRyb2xsZXIgKFdLRERBY3Rpb25Q
cml2YXRlKQotLSAoTlNBcnJheSAqKWFjdGlvbnNGb3JBbmNob3I6KGlkKWFuY2hvciB1cmw6KE5T
VVJMICopdGFyZ2V0VVJMIGZvckZyYW1lOihpZClmcmFtZTsKLUBlbmQKLQogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKIAogQGltcGxlbWVudGF0aW9uIFdLQWN0aW9uU2hlZXRBc3Npc3RhbnQgewpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3Lm1tCmluZGV4IDE3
MWUxYjJkZGNkNWExNjc3Y2Y1YTVmMTZjOWE0ZjA3ZmE2NTU2NzUuLjhlZDgzMjQ3YWI1MjZkOTU0
OGE2ZDRhYTc3NzIwMmE2YmU0MDUyOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
aW9zL1dLQ29udGVudFZpZXcubW0KQEAgLTQ2LDE5ICs0NiwxNSBAQAogI2ltcG9ydCAiV2ViUGFn
ZUdyb3VwLmgiCiAjaW1wb3J0ICJXZWJTeXN0ZW1JbnRlcmZhY2UuaCIKICNpbXBvcnQgPENvcmVH
cmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUu
aD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRRdWFkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0ZyYW1l
Vmlldy5oPgogI2ltcG9ydCA8V2ViQ29yZS9JbnNwZWN0b3JPdmVybGF5Lmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL05vdEltcGxlbWVudGVkLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1F1YXJ0ekNvcmVTUEku
aD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPHd0Zi9DdXJyZW50VGlt
ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCi1AaW50ZXJmYWNlIENBTGF5ZXIgKERl
dGFpbHMpCi1AcHJvcGVydHkgQk9PTCBoaXRUZXN0c0FzT3BhcXVlOwotQGVuZAotCiB1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5o
CmluZGV4IDU2YmZkYmQ3YjE4ZWYyZmY0MzRmOWJmNzEwZmVmYmU0ZThmM2FhNTkuLmUwODk3OTlk
Zjk5YWNkM2I4NzdjMTRiM2FkMGUwYmQ4YzA2NzU4NDMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMzUs
MTQgKzM1LDEwIEBACiAjaW1wb3J0ICJXS0ZpbGVVcGxvYWRQYW5lbC5oIgogI2ltcG9ydCAiV0tG
b3JtUGVyaXBoZXJhbC5oIgogI2ltcG9ydCAiV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNv
Z25pemVyLmgiCi0jaW1wb3J0IDxVSUtpdC9VSVRleHRJbnB1dF9Qcml2YXRlLmg+CiAjaW1wb3J0
IDxVSUtpdC9VSVZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV0tTZWxlY3Rpb25Bc3Npc3RhbnQu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJV2ViRm9ybUFjY2Vzc29yeS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJUb3Vj
aEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0Zsb2F0UXVhZC5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5o
PgogI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KICNpbXBvcnQgPHd0Zi9WZWN0b3IuaD4KICNpbXBv
cnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQppbmRleCA3MzFmYWU4ZDE3
ZDNlOWMxZTRiN2Y4MGZkNWEwMDgxMDQ5ZjdlMjRjLi5iYWNhNTE4MzgyYWVlMjNiOTMyMjNmN2Ux
NDBmZGVjNTM0MDMzZDhjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5tbQpAQCAtMjksMTAgKzI5LDEzIEBACiAj
aWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJBUElVSUNsaWVudC5oIgorI2ltcG9ydCAiRGF0
YURldGVjdG9yc1VJU1BJLmgiCiAjaW1wb3J0ICJFZGl0aW5nUmFuZ2UuaCIKKyNpbXBvcnQgIk1h
bmFnZWRDb25maWd1cmF0aW9uU1BJLmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50
LmgiCiAjaW1wb3J0ICJOYXRpdmVXZWJUb3VjaEV2ZW50LmgiCiAjaW1wb3J0ICJTbWFydE1hZ25p
ZmljYXRpb25Db250cm9sbGVyLmgiCisjaW1wb3J0ICJUZXh0SW5wdXRTUEkuaCIKICNpbXBvcnQg
IldLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaCIKICNpbXBvcnQgIldLRm9ybUlucHV0Q29udHJvbC5o
IgogI2ltcG9ydCAiV0tGb3JtU2VsZWN0Q29udHJvbC5oIgpAQCAtNDYsMzcgKzQ5LDE3IEBACiAj
aW1wb3J0ICJXZWJQcm9jZXNzUHJveHkuaCIKICNpbXBvcnQgIl9XS0Zvcm1EZWxlZ2F0ZS5oIgog
I2ltcG9ydCAiX1dLRm9ybUlucHV0U2Vzc2lvbi5oIgorI2ltcG9ydCA8Q29yZVRleHQvQ1RGb250
Lmg+CiAjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnREZXNjcmlwdG9yLmg+Ci0jaW1wb3J0IDxEYXRh
RGV0ZWN0b3JzVUkvREREZXRlY3Rpb25Db250cm9sbGVyLmg+Ci0jaW1wb3J0IDxNYW5hZ2VkQ29u
ZmlndXJhdGlvbi9NQ0ZlYXR1cmVzLmg+Ci0jaW1wb3J0IDxNYW5hZ2VkQ29uZmlndXJhdGlvbi9N
Q1Byb2ZpbGVDb25uZWN0aW9uLmg+Ci0jaW1wb3J0IDxUZXh0SW5wdXQvVElfTlNTdHJpbmdFeHRy
YXMuaD4KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8
VUlLaXQvVUlGb250X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJR2VzdHVyZVJlY29nbml6
ZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZEltcGwuaD4KLSNpbXBvcnQg
PFVJS2l0L1VJS2V5Ym9hcmRJbnRsLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUxvbmdQcmVzc0dlc3R1
cmVSZWNvZ25pemVyX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVGFwR2VzdHVyZVJlY29n
bml6ZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3Rh
bnRfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJEb2N1bWVudFZpZXcuaD4gLy8gRklY
TUU6IHNob3VsZCBub3QgaW5jbHVkZSB0aGlzIGhlYWRlci4KLSNpbXBvcnQgPFVJS2l0L19VSVdl
YkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0NvbG9yLmg+CisjaW1wb3J0IDxXZWJDb3JlL0NvcmVHcmFwaGljc1NQSS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9GbG9hdFF1YWQuaD4KICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KKyNp
bXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvV2ViRXZlbnQuaD4K
LSNpbXBvcnQgPFdlYkNvcmUvX1VJSGlnaGxpZ2h0Vmlld1NQSS5oPgogI2ltcG9ydCA8V2ViS2l0
L1dlYlNlbGVjdGlvblJlY3QuaD4gLy8gRklYTUU6IFdLMiBzaG91bGQgbm90IGluY2x1ZGUgV2Vi
S2l0IGhlYWRlcnMhCiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKLVNPRlRfTElOS19QUklW
QVRFX0ZSQU1FV09SSyhEYXRhRGV0ZWN0b3JzVUkpCi1TT0ZUX0xJTktfQ0xBU1MoRGF0YURldGVj
dG9yc1VJLCBERERldGVjdGlvbkNvbnRyb2xsZXIpCi1TT0ZUX0xJTktfUFJJVkFURV9GUkFNRVdP
UksoTWFuYWdlZENvbmZpZ3VyYXRpb24pOwotU09GVF9MSU5LX0NMQVNTKE1hbmFnZWRDb25maWd1
cmF0aW9uLCBNQ1Byb2ZpbGVDb25uZWN0aW9uKTsKLVNPRlRfTElOS19DT05TVEFOVChNYW5hZ2Vk
Q29uZmlndXJhdGlvbiwgTUNGZWF0dXJlRGVmaW5pdGlvbkxvb2t1cEFsbG93ZWQsIE5TU3RyaW5n
ICopCi0KLSNkZWZpbmUgTUNGZWF0dXJlRGVmaW5pdGlvbkxvb2t1cEFsbG93ZWQgZ2V0TUNGZWF0
dXJlRGVmaW5pdGlvbkxvb2t1cEFsbG93ZWQoKQotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsK
IHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvV0tHZW9sb2NhdGlvblByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1t
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1NP
YmpDU2VjdXJpdHlPcmlnaW4ubW0KaW5kZXggOWJkYTdiMDJlZjJlOThiNDA3N2JjYjczNDU0ZWRh
ZmZiMjU4ZmJiOS4uMTEwZjc4NTNjZjgzYWM5MzAyNjBjNjIxMDcwYmI0MTgzN2M5ODg4NCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0dlb2xvY2F0aW9uUHJvdmlk
ZXJJT1NPYmpDU2VjdXJpdHlPcmlnaW4ubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1NPYmpDU2VjdXJpdHlPcmlnaW4ubW0KQEAgLTI5
LDkgKzI5LDkgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQgPEZvdW5kYXRpb24vTlNV
UkwuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNpZGVyLmg+CiAj
aW1wb3J0IDxVSUtpdC9VSVdpbmRvdy5oPgogI2ltcG9ydCA8V2ViQ29yZS9TZWN1cml0eU9yaWdp
bi5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0
ci5oPgogI2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KaW5k
ZXggYjg4YTRiYmE2YzQxNTQwMjE4ZWUwNjg0NWJjZTQ1YTU2OWU2ZjM3YS4uYTA5YjY3N2FiMDE4
NmZlZGVmZDcwNzM4ZDk0NGIxZTkxZjY1YTRhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KKysrIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0KQEAgLTI4LDEy
ICsyOCw5IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKLSNpbXBvcnQgPFVJS2l0L1VJR2VvbWV0
cnlfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KLSNpbXBvcnQgPFVJS2l0L1VJ
Vmlld19Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9fVUlCYWNrZHJvcFZpZXdfUHJpdmF0ZS5o
PgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1F1YXJ0ekNvcmVTUEkuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQg
PHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaAppbmRleCA1YmFmYjU5NGZkMzhjMjNm
MDlmMWQ5MTgwMTU5MGMzNGVmNWY5YTZiLi5kODNkOWZmMDA3MjE0MzdlZjc5YmZiYjJhNzM3Nzhi
N2MxNDVjMTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERG
Vmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3LmgKQEAg
LTI1LDEwICsyNSw5IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbXBvcnQgIkNvcmVQREZT
UEkuaCIKICNpbXBvcnQgIldLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaCIKICNpbXBvcnQgIldLV2Vi
Vmlld0NvbnRlbnRQcm92aWRlci5oIgotI2ltcG9ydCA8Q29yZVBERi9VSVBERkFubm90YXRpb25D
b250cm9sbGVyLmg+Ci0jaW1wb3J0IDxDb3JlUERGL1VJUERGUGFnZVZpZXcuaD4KICNpbXBvcnQg
PFVJS2l0L1VJVmlldy5oPgogCiBAaW50ZXJmYWNlIFdLUERGVmlldyA6IFVJVmlldyA8V0tXZWJW
aWV3Q29udGVudFByb3ZpZGVyLCBVSVBERlBhZ2VWaWV3RGVsZWdhdGUsIFVJUERGQW5ub3RhdGlv
bkNvbnRyb2xsZXJEZWxlZ2F0ZSwgV0tBY3Rpb25TaGVldEFzc2lzdGFudERlbGVnYXRlPgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbQppbmRleCA2MGZlZjUxNDQ5NDZj
ZTQyMmU3ZDc3ZmYzZDU3ZmU3MmMxYmQ1YzVlLi4wMzQ2NDE1MTRlOTVlYWRjNTdmZmNlMWFmZWNh
ZDM3YzA2NjQ5NDI5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
UERGVmlldy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5t
bQpAQCAtMjksMTggKzI5LDE0IEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJBUElV
SUNsaWVudC5oIgorI2ltcG9ydCAiQ29yZVBERlNQSS5oIgogI2ltcG9ydCAiU2Vzc2lvblN0YXRl
LmgiCiAjaW1wb3J0ICJXS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IuaCIKICNpbXBvcnQgIldLV2Vi
Vmlld0ludGVybmFsLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPENvcmVQ
REYvVUlQREZEb2N1bWVudC5oPgotI2ltcG9ydCA8Q29yZVBERi9VSVBERkxpbmtBbm5vdGF0aW9u
Lmg+Ci0jaW1wb3J0IDxDb3JlUERGL1VJUERGUGFnZS5oPgotI2ltcG9ydCA8Q29yZVBERi9VSVBE
RlBhZ2VWaWV3Lmg+CiAjaW1wb3J0IDxNb2JpbGVDb3JlU2VydmljZXMvVVRDb3JlVHlwZXMuaD4K
LSNpbXBvcnQgPFVJS2l0L1VJU2Nyb2xsVmlld19Qcml2YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L0Zsb2F0UmVjdC5oPgotI2ltcG9ydCA8V2ViQ29yZS9fVUlIaWdobGlnaHRWaWV3U1BJLmg+Cisj
aW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAj
aW1wb3J0IDx3dGYvVmVjdG9yLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tTY3JvbGxWaWV3LmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
U2Nyb2xsVmlldy5oCmluZGV4IGUzOTcxMjU1NTdmYzFlMTZlMWViZjg3ZmZiZWI2ZjU5ZjgzMWU3
YzMuLjY1OWVhMzBlMTg0ZDg4NDk4MjBhZjNlMzJmOTg2OGUyZjhlNDhkYTIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3LmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcuaApAQCAtMjUsNyArMjUsNyBAQAog
CiAjaWYgUExBVEZPUk0oSU9TKQogCi0jaW1wb3J0IDxVSUtpdC9VSVdlYlNjcm9sbFZpZXcuaD4K
KyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4KIAogQGNsYXNzIFdLV2ViVmlldzsKIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY0NsaWNrVGFw
R2VzdHVyZVJlY29nbml6ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTeW50
aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNvZ25pemVyLmgKaW5kZXggYjllZDdlNzUwOTE0MmRlNmQ5
N2YzOTYzODUwN2Y4YjExZTIzNDM3My4uMTllNTgwZGJlMDk2ZmYwMTY5Y2RiYzVlZDAzYjc2ZDg2
MTg3NjU4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1N5bnRo
ZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplci5oCkBAIC0yNSw3
ICsyNSw3IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKLSNpbXBvcnQgPFVJS2l0L1VJVGFwR2Vz
dHVyZVJlY29nbml6ZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgog
CiBAaW50ZXJmYWNlIFdLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXplciA6IFVJVGFw
R2VzdHVyZVJlY29nbml6ZXIKIC0gKHZvaWQpc2V0R2VzdHVyZVJlY29nbml6ZWRUYXJnZXQ6KGlk
KXRhcmdldCBhY3Rpb246KFNFTClhY3Rpb247CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCmlu
ZGV4IDY1NjgzNWFhOTdhYzMzYzA1Mjc4NDQ2ODBmNjBmMGFkMzIwNTk3OTAuLjgyYWRlYzVmNGVj
NjY5MzhlMWU1YzhmYzUyZjM5ZDEyZGY5YTUwOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5Lm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
Lm1tCkBAIC0zNSwxNyArMzUsOSBAQAogI2ltcG9ydCAiV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdl
clByb3h5TWVzc2FnZXMuaCIKICNpbXBvcnQgPFF1YXJ0ekNvcmUvQ29yZUFuaW1hdGlvbi5oPgog
I2ltcG9ydCA8V2ViQ29yZS9UaW1lUmFuZ2VzLmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJ
Lmg+CiAjaW1wb3J0IDxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UuaD4KIAotI2lmIFVTRShBUFBMRV9J
TlRFUk5BTF9TREspCi0jaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+Ci0jZWxzZQot
I2ltcG9ydCA8VUlLaXQvVUlXaW5kb3cuaD4KLUBpbnRlcmZhY2UgVUlXaW5kb3cgKERldGFpbHMp
Ci0rIChtYWNoX3BvcnRfdClfc3luY2hyb25pemVEcmF3aW5nQWNyb3NzUHJvY2Vzc2VzOwotQGVu
ZAotI2VuZGlmCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0
IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQ
bGF5Um91dGVQaWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
QWlyUGxheVJvdXRlUGlja2VyLm1tCmluZGV4IGMwMjZmYmE0MzBlYTAzM2Q2YTgzNzM5MmMyODI2
YzkyNDU3MGZiYmYuLmFiYzRkOTc4OGFhMTg0OTFjNzY1YTU0YmY5NTBiNjU5YzU3YmQzZTMgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91
dGVQaWNrZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Fp
clBsYXlSb3V0ZVBpY2tlci5tbQpAQCAtMzEsMTAgKzMxLDkgQEAKICNpbXBvcnQgIldLQ29udGVu
dFZpZXcuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCAi
V2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4K
LSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvTWVk
aWFQbGF5ZXJTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvU29mdExpbmtpbmcuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogU09GVF9M
SU5LX0ZSQU1FV09SSyhNZWRpYVBsYXllcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0gYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tCmluZGV4IGE1YjVjMTRhYTgz
N2I4MGJjZTFlNDQ0ZDM2NzIwOWI4NDRkYzA5YmEuLmEyNjg2ZmU5YjZjYWQ4NDVmOTNmMWZlMTJh
Y2QwNzg5NWVlNGY3OTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbQpAQCAtNDEsMTMgKzQxLDkgQEAKICNpbXBv
cnQgPEFWRm91bmRhdGlvbi9BVkZvdW5kYXRpb24uaD4KICNpbXBvcnQgPENvcmVNZWRpYS9Db3Jl
TWVkaWEuaD4KICNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9Nb2JpbGVDb3JlU2VydmljZXMu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlL
aXQvVUlJbWFnZVBpY2tlckNvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlJ
bWFnZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVZpZXdDb250cm9sbGVyX1ByaXZhdGUu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUv
TG9jYWxpemVkU3RyaW5ncy5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgorI2lt
cG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYk5TRmlsZU1hbmFn
ZXJFeHRyYXMuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybUlucHV0Q29udHJvbC5tbQpp
bmRleCBhYzAwY2U4OGEzM2QwNGJmMmNiMDRhNTg2Njc4ZTYxMmEzMzAyYWYzLi5lODU1ZjgwNmE0
MDFlZWU4YWUxZDIwMWUyNDRjODcxN2I4MjFjOTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybUlucHV0Q29udHJvbC5tbQorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybUlucHV0Q29udHJvbC5tbQpAQCAtMzMs
MTIgKzMzLDkgQEAKICNpbXBvcnQgIldLRm9ybVBvcG92ZXIuaCIKICNpbXBvcnQgIldlYlBhZ2VQ
cm94eS5oIgogI2ltcG9ydCA8VUlLaXQvVUlCYXJCdXR0b25JdGVtLmg+Ci0jaW1wb3J0IDxVSUtp
dC9VSUJhckJ1dHRvbkl0ZW1fUHJpdmF0ZS5oPgogI2ltcG9ydCA8VUlLaXQvVUlEYXRlUGlja2Vy
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSURhdGVQaWNrZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlL
aXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZF9Qcml2YXRl
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9y
bXMvV0tGb3JtUG9wb3Zlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tGb3JtUG9wb3Zlci5tbQppbmRleCBmYzk5YTdlMzNjNTkzZGRlYzg2NGM3YjJlZWVhZjZlZjky
ODI4YTFhLi4zZDk0ZTM0ZmQ5ODNmY2FiNTY2ZmMwMDMyYmRjNDg0ZTRmYzRjZjM2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVBvcG92ZXIubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1Qb3BvdmVyLm1t
CkBAIC0zMSw4ICszMSw3IEBACiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3LmgiCiAjaW1wb3J0ICJX
S0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgotI2lt
cG9ydCA8VUlLaXQvVUlQZXJpcGhlcmFsSG9zdC5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3df
UHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL1Jl
dGFpblB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250cm9sLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wuaAppbmRl
eCBlNTliZmM5YTcxMzZlN2Q4ZjIyM2ZhYTY1NTYzYjEzNGRjODQzNjU2Li5mODRiNmFjZjkyYjBk
NjdlOTZhMzdiMzgxZWRmZWM2Zjc4NTcwMTJlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wuaApAQCAtMjksNyAr
MjksNyBAQAogI2ltcG9ydCAiV0tGb3JtUGVyaXBoZXJhbC5oIgogI2ltcG9ydCAiV0tGb3JtUG9w
b3Zlci5oIgogI2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3Lmg+Ci0jaW1wb3J0IDxVSUtpdC9V
SVBpY2tlclZpZXdfUHJpdmF0ZS5oPgorI2ltcG9ydCA8V2ViQ29yZS9VSUtpdFNQSS5oPgogCiBD
R0Zsb2F0IGFkanVzdGVkRm9udFNpemUoQ0dGbG9hdCB0ZXh0V2lkdGgsIFVJRm9udCAqLCBDR0Zs
b2F0IGluaXRpYWxGb250U2l6ZSwgY29uc3QgVmVjdG9yPFdlYktpdDo6T3B0aW9uSXRlbT4mIGl0
ZW1zKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S0Zvcm1TZWxlY3RDb250cm9sLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS0Zvcm1TZWxlY3RDb250cm9sLm1tCmluZGV4IDExMzJlMmExODM2NDY1NzA3OWNlYjAwNjZm
YmRiYzEzMzM0Y2IyYjQuLmZkNjUyZDk2NjE1MmU5NDA5NWJiMDFlYjE0NTQ1MzA4NTk2NmVhYmMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2Vs
ZWN0Q29udHJvbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
Rm9ybVNlbGVjdENvbnRyb2wubW0KQEAgLTMyLDE0ICszMiw4IEBACiAjaW1wb3J0ICJXS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaCIKICNpbXBvcnQgIldLRm9ybVBvcG92ZXIuaCIKICNpbXBvcnQg
IldlYlBhZ2VQcm94eS5oIgotI2ltcG9ydCA8Q29yZUZvdW5kYXRpb24vQ0ZVbmlDaGFyLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJ
RGV2aWNlX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmRfUHJpdmF0ZS5oPgog
I2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVBpY2tlclZp
ZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlTdHJpbmdEcmF3aW5nX1ByaXZhdGUuaD4K
LSNpbXBvcnQgPFVJS2l0L1VJV2ViRm9ybUFjY2Vzc29yeS5oPgorI2ltcG9ydCA8V2ViQ29yZS9V
SUtpdFNQSS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9X
S0Zvcm1TZWxlY3RQaWNrZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1z
L1dLRm9ybVNlbGVjdFBpY2tlci5tbQppbmRleCAzMGVhZDA0YzE0NzhmNDk0ZmEzOTY0OTIyOWZl
MmI2MDMxYTZkMjdlLi40NTAwMzQxNDVkN2I2NjBjNWM1ODFiZjBmMmMwMDkxMjliOWQxZWVjIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVj
dFBpY2tlci5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9y
bVNlbGVjdFBpY2tlci5tbQpAQCAtMzIsMTEgKzMyLDcgQEAKICNpbXBvcnQgIldLQ29udGVudFZp
ZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCAiV0tGb3JtUG9wb3Zlci5oIgogI2ltcG9ydCAiV2Vi
UGFnZVByb3h5LmgiCi0jaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9DRlVuaUNoYXIuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZp
Y2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZF9Qcml2YXRlLmg+Ci0jaW1w
b3J0IDxVSUtpdC9VSVBpY2tlckNvbnRlbnRWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAogdXNpbmcgbmFtZXNw
YWNlIFdlYktpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9y
bXMvV0tGb3JtU2VsZWN0UG9wb3Zlci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGb3JtU2VsZWN0UG9wb3Zlci5tbQppbmRleCBhNTkyYTJiYjE0NDMxYzc2NmM1NGZk
MDkyYzA3ZDBiYzgyNmYyZWQyLi44OTY3NDU4OWQyMzAzNzdlMjE5NzMwZmU5ZGYxNTdjNjk2OWYw
MjEzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9y
bVNlbGVjdFBvcG92ZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jt
cy9XS0Zvcm1TZWxlY3RQb3BvdmVyLm1tCkBAIC0zMiwxNyArMzIsOSBAQAogI2ltcG9ydCAiV0tD
b250ZW50Vmlld0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJXS0Zvcm1Qb3BvdmVyLmgiCiAjaW1w
b3J0ICJXZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPENvcmVGb3VuZGF0aW9uL0NGVW5pQ2hhci5o
PgotI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtp
dC9VSURldmljZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkX1ByaXZhdGUu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmRJbXBsLmg+CiAjaW1wb3J0IDxVSUtpdC9VSVBp
Y2tlclZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJUGlja2VyVmlld19Qcml2YXRlLmg+Ci0jaW1w
b3J0IDxVSUtpdC9VSVRhYmxlVmlld0NlbGxfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlT
dHJpbmdEcmF3aW5nX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2ViRm9ybUFjY2Vzc29y
eS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CisjaW1wb3J0IDxXZWJD
b3JlL1VJS2l0U1BJLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIHVzaW5nIG5hbWVz
cGFjZSBXZWJLaXQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggY2VjZGY2YWUzMDY3ZDg4MTVjZTdhNDgzMTkwYWFkYjFiOWY4ZmMw
YS4uZGEyMWQ0ODY0ZDJlZmEyMDU0MjA4OTQwYmFkMjQ2OGJiZTRkM2U4YyAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMTYxNSw2
ICsxNjE1LDEyIEBACiAJCUNEQ0E4NUM4MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5X
aW5kb3dDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQ0RDQTg1QzYxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0Nv
bnRyb2xsZXIubW0gKi87IH07CiAJCUNEQ0E4NUM5MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxT
Y3JlZW5XaW5kb3dDb250cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSBDRENBODVDNzEzMkFCQTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2lu
ZG93Q29udHJvbGxlci5oICovOyB9OwogCQlDREU2RTJEMzE5RjczMUM0MDBCQTk2ODggLyogV2Vi
T3JpZ2luRGF0YU1hbmFnZXJTdXBwbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDREU2RTJEMjE5RjczMUM0MDBCQTk2ODggLyogV2ViT3JpZ2lu
RGF0YU1hbmFnZXJTdXBwbGVtZW50LmggKi87IH07CisJCUNFMUEwQkQyMUE0OEU2QzYwMDU0RUY3
NCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSBDRTFBMEJDQzFBNDhFNkM2MDA1NEVGNzQgLyogQktTUHJvY2Vz
c0Fzc2VydGlvblNQSS5oICovOyB9OworCQlDRTFBMEJEMzFBNDhFNkM2MDA1NEVGNzQgLyogQ29y
ZVBERlNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0UxQTBCQ0QxQTQ4RTZDNjAwNTRFRjc0IC8qIENvcmVQREZTUEkuaCAqLzsgfTsKKwkJQ0UxQTBC
RDQxQTQ4RTZDNjAwNTRFRjc0IC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0UxQTBCQ0UxQTQ4RTZDNjAwNTRFRjc0
IC8qIERhdGFEZXRlY3RvcnNVSVNQSS5oICovOyB9OworCQlDRTFBMEJENTFBNDhFNkM2MDA1NEVG
NzQgLyogTWFuYWdlZENvbmZpZ3VyYXRpb25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkNGMUE0OEU2QzYwMDU0RUY3NCAvKiBNYW5hZ2Vk
Q29uZmlndXJhdGlvblNQSS5oICovOyB9OworCQlDRTFBMEJENjFBNDhFNkM2MDA1NEVGNzQgLyog
VENDU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBD
RTFBMEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVENDU1BJLmggKi87IH07CisJCUNFMUEwQkQ3MUE0
OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5w
dXRTUEkuaCAqLzsgfTsKIAkJQ0VEQTEyRTIxNTJDRDFBRTAwRDlFMDhEIC8qIFdlYkFsdGVybmF0
aXZlVGV4dENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBDRURBMTJERjE1MkNDQUU4MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmNwcCAqLzsgfTsKIAkJQ0VEQTEyRTMxNTJDRDFCMzAwRDlFMDhEIC8qIFdlYkFsdGVybmF0
aXZlVGV4dENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQ0VEQTEyREUxNTJDQ0FFODAwRDlFMDhEIC8qIFdlYkFsdGVybmF0aXZlVGV4dENsaWVu
dC5oICovOyB9OwogCQlDRURCQTg0NzE5RkRBMDBBMDA2ODY2QTUgLyogV2ViU1FMaXRlRGF0YWJh
c2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IENFREJBODQ1MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIu
Y3BwICovOyB9OwpAQCAtMzc1Myw2ICszNzU5LDEyIEBACiAJCUNEQ0E4NUM3MTMyQUJBNEUwMEU5
NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0RDQTg1RDQxMzJBQzJCMzAwRTk2MURGIC8qIElPS2l0LmZy
YW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHdyYXBwZXIuZnJhbWV3b3JrOyBuYW1lID0gSU9LaXQuZnJhbWV3b3JrOyBwYXRoID0gL1N5c3Rl
bS9MaWJyYXJ5L0ZyYW1ld29ya3MvSU9LaXQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0gIjxhYnNv
bHV0ZT4iOyB9OwogCQlDREU2RTJEMjE5RjczMUM0MDBCQTk2ODggLyogV2ViT3JpZ2luRGF0YU1h
bmFnZXJTdXBwbGVtZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYk9y
aWdpbkRhdGFNYW5hZ2VyU3VwcGxlbWVudC5oOyBwYXRoID0gT3JpZ2luRGF0YS9XZWJPcmlnaW5E
YXRhTWFuYWdlclN1cHBsZW1lbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0Ux
QTBCQ0MxQTQ4RTZDNjAwNTRFRjc0IC8qIEJLU1Byb2Nlc3NBc3NlcnRpb25TUEkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQktTUHJvY2Vzc0Fzc2VydGlvblNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTFBMEJDRDFBNDhFNkM2MDA1NEVGNzQgLyogQ29y
ZVBERlNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBDb3JlUERGU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMUEwQkNFMUE0OEU2QzYwMDU0RUY3NCAv
KiBEYXRhRGV0ZWN0b3JzVUlTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
RGF0YURldGVjdG9yc1VJU1BJLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMUEw
QkNGMUE0OEU2QzYwMDU0RUY3NCAvKiBNYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTFBMEJEMDFBNDhFNkM2MDA1NEVGNzQgLyogVEND
U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRDQ1NQSS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQlDRTFBMEJEMTFBNDhFNkM2MDA1NEVGNzQgLyogVGV4dElu
cHV0U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFRleHRJbnB1dFNQSS5o
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRURBMTJERTE1MkNDQUU4MDBEOUUwOEQg
LyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlDRURBMTJERjE1MkNDQUU4MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xp
ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkFsdGVybmF0
aXZlVGV4dENsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFREJBODQ1
MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYzODksNiArNjQwMSw3IEBACiAJCQkJ
MzcwOTUwNDIxOEE4OENERTAwODdBRTVEIC8qIGZvdW5kYXRpb24gKi8sCiAJCQkJMUFFMDBENjgx
ODMyN0MxMjAwMDg3REQ3IC8qIElQQyAqLywKIAkJCQkxQTdFODE0RTExNTJEMjI0MDAwMzY5NUIg
LyogbWFjICovLAorCQkJCUNFMUEwQkNBMUE0OEU2QzYwMDU0RUY3NCAvKiBzcGkgKi8sCiAJCQkJ
NTFCMTVBN0QxMzg0MzlCMjAwMzIxQUQ4IC8qIHVuaXggKi8sCiAJCQkJNTFBN0YyRjQxMjVCRjhE
NDAwOEFFQjFEIC8qIExvZ2dpbmcuY3BwICovLAogCQkJCTUxQTdGMkYyMTI1QkY4MjAwMDhBRUIx
RCAvKiBMb2dnaW5nLmggKi8sCkBAIC03MDg4LDYgKzcxMDEsMjcgQEAKIAkJCXBhdGggPSBGdWxs
U2NyZWVuL21hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCUNFMUEwQkNB
MUE0OEU2QzYwMDU0RUY3NCAvKiBzcGkgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCUNFMUEwQkNCMUE0OEU2QzYwMDU0RUY3NCAvKiBpb3MgKi8sCisJCQkp
OworCQkJcGF0aCA9IHNwaTsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCUNF
MUEwQkNCMUE0OEU2QzYwMDU0RUY3NCAvKiBpb3MgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsK
KwkJCWNoaWxkcmVuID0gKAorCQkJCUNFMUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBCS1NQcm9j
ZXNzQXNzZXJ0aW9uU1BJLmggKi8sCisJCQkJQ0UxQTBCQ0QxQTQ4RTZDNjAwNTRFRjc0IC8qIENv
cmVQREZTUEkuaCAqLywKKwkJCQlDRTFBMEJDRTFBNDhFNkM2MDA1NEVGNzQgLyogRGF0YURldGVj
dG9yc1VJU1BJLmggKi8sCisJCQkJQ0UxQTBCQ0YxQTQ4RTZDNjAwNTRFRjc0IC8qIE1hbmFnZWRD
b25maWd1cmF0aW9uU1BJLmggKi8sCisJCQkJQ0UxQTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRD
Q1NQSS5oICovLAorCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0RUY3NCAvKiBUZXh0SW5wdXRTUEku
aCAqLywKKwkJCSk7CisJCQlwYXRoID0gaW9zOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsK
KwkJfTsKIAkJRTE3MDg3NkQxNkQ2Q0E3MjAwRjk5MjI2IC8qIEZpbGVBUEkgKi8gPSB7CiAJCQlp
c2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNzI4Niw2ICs3MzIwLDcgQEAKIAkJ
CQk1MThFOEVGOTE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25NYW5hZ2VyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTJGNThBMzEyQTg4M0FEMDA2Mjk1MzAgLyogQXV0aGVudGljYXRp
b25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRDEwMkRBMTg2Njc3MDYw
MEVENDI5RCAvKiBBdXRvQ29ycmVjdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVycyAqLywKKwkJCQlD
RTFBMEJEMjFBNDhFNkM2MDA1NEVGNzQgLyogQktTUHJvY2Vzc0Fzc2VydGlvblNQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRTE2NEEyRjIxOTFBRjE0RTAwMTA3MzdEIC8qIEJsb2JEYXRhRmlsZVJl
ZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlFMTcwODc2
QzE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTRGNjAxNDMyMTU1QzVBQTIwMDFGQkRFMCAvKiBCbG9ja2luZ1Jlc3BvbnNlTWFwLmggaW4g
SGVhZGVycyAqLywKQEAgLTczMDIsNiArNzMzNyw3IEBACiAJCQkJNTEzNjE4M0UxNjMxMjZEQTAw
QTk5RERFIC8qIENvbm5lY3Rpb25TdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNkQ3QzQx
OEJEQkU3MzAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dERhdGEuaCBpbiBIZWFkZXJzICov
LAogCQkJCUNEQzM4MzBDMTcyMTIyODIwMDhBMkZDMyAvKiBDb29raWVTdG9yYWdlU2hpbUxpYnJh
cnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMUEwQkQzMUE0OEU2QzYwMDU0RUY3NCAvKiBDb3Jl
UERGU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlCODc4QjYxNTEzMzQyOERDMDA2ODg4RTkgLyog
Q29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTg5QTQxNDE2N0QxODRCMDA0
Rjk2RDIgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTg0
RjU4OTE2NEJBMDk1MDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLApAQCAtNzMxMyw2ICs3MzQ5LDcgQEAKIAkJCQk1MTdERDVCRjE4MERBN0Qz
MDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUx
MkE5NzZBMTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94eU1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTAzMkYxRTE4MEY3OTE3MDA5NjFCQjcgLyogRGF0YWJhc2VU
b1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMUEw
QkQ0MUE0OEU2QzYwMDU0RUY3NCAvKiBEYXRhRGV0ZWN0b3JzVUlTUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBQzc1MzgwMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJlbmNlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlCQ0U4MUQ5OTEzMUFFMDIxMDAyNDE5MTAgLyogRGljdGlvbmFyeVBvcHVw
SW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThGMDgxNkIyMDkzNzAwRTkxNDI5IC8qIERv
d25sb2FkLmggaW4gSGVhZGVycyAqLywKQEAgLTczODYsNiArNzQyMyw3IEBACiAJCQkJNTFBN0Yy
RjMxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDQzU2
Rjc5MTE1OTk1N0QwMDFDQ0FGOSAvKiBNYWNoUG9ydC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEy
NEI1RjMxMUY1MzFFODAwQzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAor
CQkJCUNFMUEwQkQ1MUE0OEU2QzYwMDU0RUY3NCAvKiBNYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTE5MzNERUYxOTY1RUIzMTAwOEFDM0VBIC8qIE1lbnVVdGls
aXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjMyOTAzMTYyQzg2NzMwMEQ4MkY3QSAvKiBN
ZXNzYWdlRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyMzI4RkYxNjJDODY2QTAwRDgy
RjdBIC8qIE1lc3NhZ2VFbmNvZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTc1MzYsOSArNzU3NCwx
MSBAQAogCQkJCTFBQjMxQTk3MTZCQzY4ODEwMEY2REJDOSAvKiBTdG9yYWdlTWFuYWdlck1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUUwMEQ2QzE4MzI3QzEyMDAwODdERDcgLyogU3Ry
aW5nUmVmZXJlbmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTZCRDg1RDE1MDE5QkMzMDA3MUY0
MjQgLyogU3RyaW5nVXRpbGl0aWVzLmggaW4gSGVhZGVycyAqLywKKwkJCQlDRTFBMEJENjFBNDhF
NkM2MDA1NEVGNzQgLyogVENDU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUE0MTdDQjEyQzAw
Q0NBMDAyQkU2N0IgLyogVGV4dENoZWNrZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFRUTQxN0NC
MTJDMDBDQ0EwMDJCRTY3QiAvKiBUZXh0Q2hlY2tlckNvbXBsZXRpb24uaCBpbiBIZWFkZXJzICov
LAogCQkJCTFBNUU0REE0MTJEM0JEM0QwMDk5QTJCQiAvKiBUZXh0Q2hlY2tlclN0YXRlLmggaW4g
SGVhZGVycyAqLywKKwkJCQlDRTFBMEJENzFBNDhFNkM2MDA1NEVGNzQgLyogVGV4dElucHV0U1BJ
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUFGMjYzOTE0Njg3QzM5MDA0QTFFOEEgLyogVGlsZWRD
b3JlQW5pbWF0aW9uRHJhd2luZ0FyZWEuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRjA1RDg3MTQ2
ODgzNDgwMDhCMUU4MSAvKiBUaWxlZENvcmVBbmltYXRpb25EcmF3aW5nQXJlYVByb3h5LmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUZFNDM2NjE4QjZDMDgxMDA5QzdBNDggLyogVUlEZWxlZ2F0ZS5o
IGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0Vu
dHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nlc3MvV2ViQ29udGVudFByb2Nlc3NNYWluLm1tIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNv
bnRlbnRQcm9jZXNzTWFpbi5tbQppbmRleCBiNzAwZWE1YTk2NDhmYWFjYjgyZTI1YzBmZWQzYmQz
YzE3MjA3OWFkLi4zMDAxODZiYzM1YmE3OTIxNWZiZGEwZWQyZTA0NDUxNmUwNDgzYmExIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVBy
b2Nlc3MvV2ViQ29udGVudFByb2Nlc3NNYWluLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9XZWJDb250ZW50UHJvY2Vzc01haW4u
bW0KQEAgLTMxLDggKzMxLDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxpdGllcy5oIgogI2ltcG9y
dCAiV0tCYXNlLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCisjaW1wb3J0IDxXZWJDb3JlL1Nl
cnZlcnNTUEkuaD4KICNpbXBvcnQgPG1hY2gvbWFjaF9lcnJvci5oPgotI2ltcG9ydCA8c2VydmVy
cy9ib290c3RyYXAuaD4KICNpbXBvcnQgPHNwYXduLmg+CiAjaW1wb3J0IDxzdGRpby5oPgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgpAQCAtNDEsOSArNDEsOSBAQAogI2ltcG9ydCA8d3RmL3Rl
eHQvV1RGU3RyaW5nLmg+CiAKICNpZiBQTEFURk9STShJT1MpCi0jaW1wb3J0IDxHcmFwaGljc1Nl
cnZpY2VzL0dyYXBoaWNzU2VydmljZXMuaD4KKyNpbXBvcnQgPFdlYkNvcmUvR3JhcGhpY3NTZXJ2
aWNlc1NQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFkU3lzdGVtSW50ZXJmYWNl
Lmg+Ci0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorI2VuZGlmCiAKICNpZiBVU0UoQVBQS0lUKQog
QGludGVyZmFjZSBOU0FwcGxpY2F0aW9uIChXZWJOU0FwcGxpY2F0aW9uRGV0YWlscykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2Vydmlj
ZS9XZWJDb250ZW50U2VydmljZUVudHJ5UG9pbnQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50
Lm1tCmluZGV4IDIwOWUwMmI4Yzc1NzczODgxNjZkMGZiNzMzMGI1NTE0ZDA1MDg2NTAuLjE5NGZi
Y2YwOTRkZDQ3ZGU1ODRmMzgxZDBjMDZhMzcyMzVmZWQ2YTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2Vy
dmljZUVudHJ5UG9pbnQubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBv
aW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlRW50cnlQb2ludC5tbQpAQCAtMzIs
OSArMzIsOSBAQAogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KIAogI2lmIFBMQVRGT1JNKElPUykK
LSNpbXBvcnQgPEdyYXBoaWNzU2VydmljZXMvR3JhcGhpY3NTZXJ2aWNlcy5oPgorI2ltcG9ydCA8
V2ViQ29yZS9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVU
aHJlYWRTeXN0ZW1JbnRlcmZhY2UuaD4KLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCisjZW5kaWYK
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvY29uZmlnLmggYi9Tb3VyY2UvV2ViS2l0Mi9jb25maWcu
aAppbmRleCBkNDBlN2JjZGZhNTk5MjU3MDI0NDA4M2FmODFjYjlmMGNiMTgxZDE4Li5kMjgzYzgz
NTQ1ZGMzOWIzMzhmMjliNmFjNGU5MWVkYTAxYWVkZmIwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9jb25maWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9jb25maWcuaApAQCAtMzYsMTggKzM2
LDYgQEAKICNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1
cwotI2lmbmRlZiBFWFRFUk5fQ19CRUdJTgotI2RlZmluZSBFWFRFUk5fQ19CRUdJTiBleHRlcm4g
IkMiIHsKLSNlbmRpZgotI2lmbmRlZiBFWFRFUk5fQ19FTkQKLSNkZWZpbmUgRVhURVJOX0NfRU5E
IH0KLSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgRVhURVJOX0NfQkVHSU4KLSNkZWZpbmUgRVhURVJO
X0NfRU5ECi0jZW5kaWYKLQotI2lmZGVmIF9fY3BsdXNwbHVzCiAKIC8vIFRoZXNlIHVuZGVmcyBt
YXRjaCB1cCB3aXRoIGRlZmluZXMgaW4gV2ViS2l0MlByZWZpeC5oIGZvciBNYWMgT1MgWC4KIC8v
IEhlbHBzIHVzIGNhdGNoIGlmIGFueW9uZSB1c2VzIG5ldyBvciBkZWxldGUgYnkgYWNjaWRlbnQg
aW4gY29kZSBhbmQgZG9lc24ndCBpbmNsdWRlICJjb25maWcuaCIuCmRpZmYgLS1naXQgYS9Ub29s
cy9DaGFuZ2VMb2cgYi9Ub29scy9DaGFuZ2VMb2cKaW5kZXggZThhNDEzY2EwNDlkZTI2ZmNlYzI5
YjQwYzVjNTZjNGE4YWYwMWVmNS4uZjZlZTU5MDk5ZWJhNTVhOWY5YzFhYTYyN2U3M2JlMTMzMGQx
NGJjNyAxMDA2NDQKLS0tIGEvVG9vbHMvQ2hhbmdlTG9nCisrKyBiL1Rvb2xzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE5IEBACisyMDE0LTEyLTIyICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxl
LmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYktpdDIgYnVpbGQgd2l0aCBwdWJsaWMgaU9T
IFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3
MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgVXNl
IFNQSSB3cmFwcGVyIGhlYWRlcnMgaW5zdGVhZCBvZiBkaXJlY3RseSByZWZlcmVuY2VzIHByaXZh
dGUgU1BJIGhlYWRlcnMuCisKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9pb3MvRHVtcFJlbmRl
clRyZWVCcm93c2VyVmlldy5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2lvcy9QaXhlbER1
bXBTdXBwb3J0SU9TLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVy
VHJlZS5tbToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWVXaW5k
b3cuaDoKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxl
ci5tbToKKyAgICAgICAgKiBEdW1wUmVuZGVyVHJlZS9tYWMvVGVzdFJ1bm5lck1hYy5tbToKKwog
MjAxNC0xMi0yMiAgU2ltb24gRnJhc2VyICA8c2ltb24uZnJhc2VyQGFwcGxlLmNvbT4KIAogICAg
ICAgICBTb3J0IHRoZSBYY29kZSBwcm9qZWN0IGZpbGUuCmRpZmYgLS1naXQgYS9Ub29scy9EdW1w
UmVuZGVyVHJlZS9pb3MvRHVtcFJlbmRlclRyZWVCcm93c2VyVmlldy5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvaW9zL0R1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcuaAppbmRleCA2MjY0Nzc3ZWIx
MzU4MGViM2VkMDQ2ZGJmNTUyODRiMWI0YWE3NDcxLi5mNTMxN2E0MmRhOGU1ZDViOGRkNTllYTQy
ZmU4YWQ2MjcwMTQ4ZTNkIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvRHVt
cFJlbmRlclRyZWVCcm93c2VyVmlldy5oCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9E
dW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3LmgKQEAgLTI0LDcgKzI0LDcgQEAKICAqLwogCiAKLSNp
bXBvcnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRT
UEkuaD4KIAogQGludGVyZmFjZSBEdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3IDogVUlXZWJCcm93
c2VyVmlldyB7CiAgICAgQk9PTCBfc2Nyb2xsaW5nVXNlc1VJV2ViU2Nyb2xsVmlldzsKZGlmZiAt
LWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9QaXhlbER1bXBTdXBwb3J0SU9TLm1tIGIv
VG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KaW5kZXggNzJi
NTI2Yzk2NWE0YmVjNzAyZjU4MzZhOTAzNzMyZGU1NDczZmNmMi4uZTAwMzdlYjIxZGNhYWY4ZTM1
NDg3N2I5NGZmZWViM2Y3NDFmNmIyOSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUv
aW9zL1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9z
L1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KQEAgLTM2LDkgKzM2LDcgQEAKICNpbXBvcnQgPENvbW1v
bkNyeXB0by9Db21tb25EaWdlc3QuaD4KICNpbXBvcnQgPE1vYmlsZUNvcmVTZXJ2aWNlcy9VVENv
cmVUeXBlcy5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+Ci0jaW1wb3J0IDxV
SUtpdC9VSUtpdC5oPgotI2ltcG9ydCA8VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KLSNpbXBvcnQg
PFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBvcnQgPFdlYkNvcmUvVUlLaXRTUEkuaD4K
ICNpbXBvcnQgPFdlYktpdC9XZWJDb3JlVGhyZWFkLmg+CiAjaW1wb3J0IDx3dGYvUmVmQ291bnRl
ZC5oPgogI2ltcG9ydCA8d3RmL1JlZlB0ci5oPgpkaWZmIC0tZ2l0IGEvVG9vbHMvRHVtcFJlbmRl
clRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1
bXBSZW5kZXJUcmVlLm1tCmluZGV4IGQ0NzcwM2QyZTJkNGI5M2ZkMjNlOTc5YTI0YmQzNzg0ZDk4
YzcwZWQuLjNiODJkYmY0MzExMDExMGM0M2MwMGZiNzZjNGRjYWM0YjBiYjVhYzcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQorKysgYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0KQEAgLTEwMiwxMCArMTAyLDgg
QEAKICNpbXBvcnQgIkR1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcuaCIKICNpbXBvcnQgPENvcmVH
cmFwaGljcy9DR0ZvbnREQi5oPgogI2ltcG9ydCA8UXVhcnR6Q29yZS9RdWFydHpDb3JlLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9uX1ByaXZhdGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJ
TWF0aC5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJCcm93c2VyVmlldy5oPgotI2ltcG9ydCA8VUlL
aXQvVUlXZWJTY3JvbGxWaWV3Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJLmg+CiAjaW1w
b3J0IDxXZWJLaXQvV0FLV2luZG93Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV2ViQ29yZVRocmVhZC5o
PgogI2ltcG9ydCA8V2ViS2l0L1dlYkNvcmVUaHJlYWRSdW4uaD4KZGlmZiAtLWdpdCBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZVdpbmRvdy5oIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvbWFjL0R1bXBSZW5kZXJUcmVlV2luZG93LmgKaW5kZXggZDhjMGI5ZGQ3ODE5NTVl
YTRlNzU2MTVjOGU4MzQ3MzM3YTBjN2ZlNS4uYzY2Njg4YmZkYzU1NzNkMTg4MzY4ZGU5MzYxNmMz
NmJkN2FiNjA2MSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5k
ZXJUcmVlV2luZG93LmgKKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlV2luZG93LmgKQEAgLTMxLDggKzMxLDcgQEAKICNpZiAhUExBVEZPUk0oSU9TKQogI2ltcG9y
dCA8QXBwS2l0L0FwcEtpdC5oPgogI2Vsc2UKLSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+Ci0jaW1w
b3J0IDxVSUtpdC9VSVdlYkJyb3dzZXJWaWV3Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1VJS2l0U1BJ
Lmg+CiAjaW1wb3J0IDxXZWJLaXQvV0FLV2luZG93Lmg+CiAjZW5kaWYKIApkaWZmIC0tZ2l0IGEv
VG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0V2ZW50U2VuZGluZ0NvbnRyb2xsZXIubW0gYi9Ub29s
cy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQppbmRleCBlMDM0
MTk4MGJkNmFmZWJjZDcxZWQ2YTIxM2Y4OWMwNjcxYjUxYzQ3Li4zNzQ2YzYyMGJkZjQ0MzViMDJm
OTBhMjBhMmUyYjZkYjc0OTNjZTI3IDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQorKysgYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9t
YWMvRXZlbnRTZW5kaW5nQ29udHJvbGxlci5tbQpAQCAtNDEsMTEgKzQxLDExIEBACiAjaW1wb3J0
IDxXZWJLaXQvV2ViVmlld1ByaXZhdGUuaD4KIAogI2lmICFQTEFURk9STShJT1MpCi0jaW1wb3J0
IDxDYXJib24vQ2FyYm9uLmg+ICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZm9yIEdldEN1
cnJlbnRFdmVudFRpbWUoKQorI2ltcG9ydCA8Q2FyYm9uL0NhcmJvbi5oPiAvLyBmb3IgR2V0Q3Vy
cmVudEV2ZW50VGltZSgpCiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKLSNpbXBvcnQgPEdy
YXBoaWNzU2VydmljZXMvR3JhcGhpY3NTZXJ2aWNlcy5oPiAgICAgICAvLyBmb3IgR1NDdXJyZW50
RXZlbnRUaW1lc3RhbXAoKQorI2ltcG9ydCA8V2ViQ29yZS9HcmFwaGljc1NlcnZpY2VzU1BJLmg+
IC8vIGZvciBHU0N1cnJlbnRFdmVudFRpbWVzdGFtcCgpCiAjaW1wb3J0IDxXZWJLaXQvS2V5RXZl
bnRDb2Rlc0lPUy5oPgogI2ltcG9ydCA8V2ViS2l0L1dBS1dpbmRvdy5oPgogI2ltcG9ydCA8V2Vi
S2l0L1dlYkV2ZW50Lmg+CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvVGVz
dFJ1bm5lck1hYy5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1t
CmluZGV4IDczMTFlZDk2ZDdiMzBhYWY3NzZjMGI4NTk2ZGU0ZGU1MWZjNjNlYjkuLmRjYzQzZTg5
NmZmYTFmNTFkMTY3M2FlYjVkNGY2MGU2ZDI1Mjk2ZDYgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9UZXN0UnVubmVyTWFjLm1tCisrKyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVl
L21hYy9UZXN0UnVubmVyTWFjLm1tCkBAIC04Miw3ICs4Miw3IEBACiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKElPUykKLSNpbXBvcnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBvcnQg
PFdlYkNvcmUvVUlLaXRTUEkuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJDb3JlVGhyZWFkLmg+CiAj
aW1wb3J0IDxXZWJLaXQvV2ViQ29yZVRocmVhZE1lc3NhZ2UuaD4KICNpbXBvcnQgPFdlYktpdC9X
ZWJET01PcGVyYXRpb25zUHJpdmF0ZS5oPgo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244190</attachid>
            <date>2015-01-07 13:56:40 -0800</date>
            <delta_ts>2015-01-07 15:38:53 -0800</delta_ts>
            <desc>Patch 1 of 4: Add new files</desc>
            <filename>0001-New-files.patch</filename>
            <type>text/plain</type>
            <size>51050</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSBlNGQ2MDc0ZWVlNDViYTgzMmMyNTc5MTA3ZWRiMThjMzcyN2EwMGUyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRiYXRlc0B3ZWJraXQub3JnPgpEYXRl
OiBXZWQsIDcgSmFuIDIwMTUgMTM6NDY6NDAgLTA4MDAKU3ViamVjdDogW1BBVENIIDEvNF0gTmV3
IGZpbGVzCgotLS0KIFNvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9TZXJ2ZXJzU1BJ
LmggICAgIHwgIDU0ICsrCiAuLi4vV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0dyYXBoaWNzU2Vy
dmljZXNTUEkuaCB8ICA0MiArKwogLi4uL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9fVUlIaWdo
bGlnaHRWaWV3U1BJLmggfCAgNDcgLS0KIC4uLi9QbGF0Zm9ybS9zcGkvaW9zL0JLU1Byb2Nlc3NB
c3NlcnRpb25TUEkuaCAgICAgIHwgIDU5ICsrCiBTb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9zcGkv
aW9zL0NvcmVQREZTUEkuaCAgICAgICB8IDEyMyArKysrCiAuLi4vV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zL0RhdGFEZXRlY3RvcnNVSVNQSS5oICB8ICA2NSArKwogLi4uL1BsYXRmb3JtL3NwaS9p
b3MvTWFuYWdlZENvbmZpZ3VyYXRpb25TUEkuaCAgICAgfCAgNjkgKysrCiBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9zcGkvaW9zL1RDQ1NQSS5oICAgICAgICAgICB8ICAzNiArKwogU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vc3BpL2lvcy9UZXh0SW5wdXRTUEkuaCAgICAgfCAgMzkgKysKIFNvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaCAgICAgICAgIHwgNjYxICsrKysr
KysrKysrKysrKysrKysrKwogMTAgZmlsZXMgY2hhbmdlZCwgMTE0OCBpbnNlcnRpb25zKCspLCA0
NyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9zcGkvY29jb2EvU2VydmVyc1NQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vc3BpL2lvcy9HcmFwaGljc1NlcnZpY2VzU1BJLmgKIGRlbGV0ZSBtb2RlIDEw
MDY0NCBTb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL19VSUhpZ2hsaWdodFZpZXdTUEku
aAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvQktT
UHJvY2Vzc0Fzc2VydGlvblNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIv
UGxhdGZvcm0vc3BpL2lvcy9Db3JlUERGU1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2Uv
V2ViS2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL0RhdGFEZXRlY3RvcnNVSVNQSS5oCiBjcmVhdGUgbW9k
ZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9NYW5hZ2VkQ29uZmlndXJh
dGlvblNQSS5oCiBjcmVhdGUgbW9kZSAxMDA2NDQgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3Bp
L2lvcy9UQ0NTUEkuaAogY3JlYXRlIG1vZGUgMTAwNjQ0IFNvdXJjZS9XZWJLaXQyL1BsYXRmb3Jt
L3NwaS9pb3MvVGV4dElucHV0U1BJLmgKIGNyZWF0ZSBtb2RlIDEwMDY0NCBTb3VyY2UvV2ViS2l0
Mi9QbGF0Zm9ybS9zcGkvaW9zL1VJS2l0U1BJLmgKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9zcGkvY29jb2EvU2VydmVyc1NQSS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vc3BpL2NvY29hL1NlcnZlcnNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwLi44NzExNTE2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
c3BpL2NvY29hL1NlcnZlcnNTUEkuaApAQCAtMCwwICsxLDU0IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBTZXJ2ZXJzU1BJX2gKKyNkZWZpbmUgU2VydmVyc1NQSV9oCisKKyNpbmNsdWRlIDxtYWNo
L21lc3NhZ2UuaD4KKworI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKEFQUExFX0lOVEVSTkFMX1NE
SykKKworI2luY2x1ZGUgPHNlcnZlcnMvYm9vdHN0cmFwLmg+CisKKyNlbHNlCisKK3R5cGVkZWYg
Y2hhciBuYW1lX3RbMTI4XTsKKworI2VuZGlmCisKKyNpZiBQTEFURk9STShJT1MpICYmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisKKyNpbmNsdWRlIDxib290c3RyYXBfcHJpdi5oPgorCisjZW5k
aWYKKworRVhURVJOX0NfQkVHSU4KKwora2Vybl9yZXR1cm5fdCBib290c3RyYXBfbG9va191cCht
YWNoX3BvcnRfdCwgY29uc3QgbmFtZV90IHNlcnZpY2VOYW1lLCBtYWNoX3BvcnRfdCAqKTsKK2tl
cm5fcmV0dXJuX3QgYm9vdHN0cmFwX3JlZ2lzdGVyMihtYWNoX3BvcnRfdCwgbmFtZV90LCBtYWNo
X3BvcnRfdCwgdWludDY0X3QpOworCitFWFRFUk5fQ19FTkQKKworI2VuZGlmIC8vIFNlcnZlcnNT
UElfaApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9HcmFwaGlj
c1NlcnZpY2VzU1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL0dyYXBoaWNz
U2VydmljZXNTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi41YWNhMWNm
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9HcmFw
aGljc1NlcnZpY2VzU1BJLmgKQEAgLTAsMCArMSw0MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYg
R3JhcGhpY3NTZXJ2aWNlc1NQSV9oCisjZGVmaW5lIEdyYXBoaWNzU2VydmljZXNTUElfaAorCisj
aWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykKKworI2ltcG9ydCA8R3JhcGhpY3NTZXJ2aWNlcy9H
cmFwaGljc1NlcnZpY2VzLmg+CisKKyNlbmRpZgorCitFWFRFUk5fQ19CRUdJTgorCit2b2lkIEdT
SW5pdGlhbGl6ZSh2b2lkKTsKK3VpbnQ2NF90IEdTQ3VycmVudEV2ZW50VGltZXN0YW1wKHZvaWQp
OworCitFWFRFUk5fQ19FTkQKKworI2VuZGlmIC8vIEdyYXBoaWNzU2VydmljZXNTUElfaApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vc3BpL2lvcy9fVUlIaWdobGlnaHRWaWV3
U1BJLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL19VSUhpZ2hsaWdodFZpZXdT
UEkuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggYjU5M2NkZi4uMDAwMDAwMAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvaW9zL19VSUhpZ2hsaWdodFZpZXdTUEkuaAor
KysgL2Rldi9udWxsCkBAIC0xLDQ3ICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTQg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgotICoKLSAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCi0gKiBhcmUgbWV0OgotICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKLSAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCi0gKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgotICoKLSAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKLSAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAotICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgotICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCi0gKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCi0gKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgotICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
Ci0gKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgotICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKLSAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
LSAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaWYgVVNFKEFQUExF
X0lOVEVSTkFMX1NESykKLQotI2ltcG9ydCA8VUlLaXQvX1VJSGlnaGxpZ2h0Vmlldy5oPgotCi0j
ZWxzZQotCi0jaW1wb3J0IDxVSUtpdC9VSVZpZXcuaD4KLQotQGNsYXNzIFVJQ29sb3I7Ci0KLUBp
bnRlcmZhY2UgX1VJSGlnaGxpZ2h0VmlldyA6IFVJVmlldwotQGVuZAotCi1AaW50ZXJmYWNlIF9V
SUhpZ2hsaWdodFZpZXcgKFByaXZhdGUpCi0tICh2b2lkKXNldENvbG9yOihVSUNvbG9yICopY29s
b3I7Ci0tICh2b2lkKXNldENvcm5lclJhZGl1czooQ0dGbG9hdCljb3JuZXJSYWRpdXM7Ci0tICh2
b2lkKXNldENvcm5lclJhZGlpOihOU0FycmF5ICopY29ybmVyUmFkaWk7Ci0tICh2b2lkKXNldEZy
YW1lczooTlNBcnJheSAqKWZyYW1lcyBib3VuZGFyeVJlY3Q6KENHUmVjdClib3VuZGFyeVJlY3Q7
Ci0tICh2b2lkKXNldFF1YWRzOihOU0FycmF5ICopcXVhZHMgYm91bmRhcnlSZWN0OihDR1JlY3Qp
Ym91bmRhcnlSZWN0OwotQGVuZAotCi0jZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1BsYXRmb3JtL3NwaS9pb3MvQktTUHJvY2Vzc0Fzc2VydGlvblNQSS5oIGIvU291cmNlL1dlYktp
dDIvUGxhdGZvcm0vc3BpL2lvcy9CS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjMxYWJmYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvQktTUHJvY2Vzc0Fzc2VydGlvblNQSS5oCkBAIC0w
LDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBgYEFTIElTJycgQU5EIEFOWQorICogRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUKKyAqIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLAorICogRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SCisgKiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZCisgKiBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorICogT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4KKworI2lmIFVTRShBUFBMRV9JTlRF
Uk5BTF9TREspCisKKyNpbXBvcnQgPEFzc2VydGlvblNlcnZpY2VzL0JLU1Byb2Nlc3NBc3NlcnRp
b24uaD4KKworI2Vsc2UKKworZW51bSB7CisgICAgQktTUHJvY2Vzc0Fzc2VydGlvbk5vbmUgPSAw
LAorICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1N1c3BlbmQgID0gMSA8PCAwLAor
ICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25QcmV2ZW50VGFza1Rocm90dGxlRG93biA9IDEgPDwgMSwK
KyAgICBCS1NQcm9jZXNzQXNzZXJ0aW9uQWxsb3dJZGxlU2xlZXAgPSAxIDw8IDIsCisgICAgQktT
UHJvY2Vzc0Fzc2VydGlvbldhbnRzRm9yZWdyb3VuZFJlc291cmNlUHJpb3JpdHkgPSAxIDw8IDMs
CisgICAgQktTUHJvY2Vzc0Fzc2VydGlvbkFsbG93U3VzcGVuZE9uU2xlZXAgPSAxIDw8IDQsCit9
OwordHlwZWRlZiB1aW50MzJfdCBCS1NQcm9jZXNzQXNzZXJ0aW9uRmxhZ3M7CisKK2VudW0gewor
ICAgIEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb25FeHRlbnNpb24gPSAxMywKK307Cit0eXBlZGVm
IHVpbnQzMl90IEJLU1Byb2Nlc3NBc3NlcnRpb25SZWFzb247CisKK3R5cGVkZWYgdm9pZCheQktT
UHJvY2Vzc0Fzc2VydGlvbkFjcXVpc2l0aW9uSGFuZGxlcikoQk9PTCBhY3F1aXJlZCk7CisKK0Bp
bnRlcmZhY2UgQktTUHJvY2Vzc0Fzc2VydGlvbiA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZh
Y2UgQktTUHJvY2Vzc0Fzc2VydGlvbiAoRGV0YWlscykKKy0gKGlkKWluaXRXaXRoUElEOihwaWRf
dClwaWQgZmxhZ3M6KEJLU1Byb2Nlc3NBc3NlcnRpb25GbGFncylmbGFncyByZWFzb246KEJLU1By
b2Nlc3NBc3NlcnRpb25SZWFzb24pcmVhc29uIG5hbWU6KE5TU3RyaW5nICopbmFtZSB3aXRoSGFu
ZGxlcjooQktTUHJvY2Vzc0Fzc2VydGlvbkFjcXVpc2l0aW9uSGFuZGxlciloYW5kbGVyOworQHBy
b3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQktTUHJvY2Vzc0Fzc2VydGlvbkZsYWdzIGZsYWdz
OworQGVuZAorCisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3Nw
aS9pb3MvQ29yZVBERlNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9Db3Jl
UERGU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNjM5NTgxMwotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvQ29yZVBERlNQ
SS5oCkBAIC0wLDAgKzEsMTIzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8Q29yZUdyYXBoaWNz
L0NvcmVHcmFwaGljcy5oPgorI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lmIFVTRShBUFBM
RV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPENvcmVQREYvVUlQREZBbm5vdGF0aW9uQ29udHJv
bGxlci5oPgorI2ltcG9ydCA8Q29yZVBERi9VSVBERkRvY3VtZW50Lmg+CisjaW1wb3J0IDxDb3Jl
UERGL1VJUERGTGlua0Fubm90YXRpb24uaD4KKyNpbXBvcnQgPENvcmVQREYvVUlQREZQYWdlLmg+
CisjaW1wb3J0IDxDb3JlUERGL1VJUERGUGFnZVZpZXcuaD4KKworI2Vsc2UKKworQGludGVyZmFj
ZSBVSVBERlBhZ2UgOiBOU09iamVjdAorQGVuZAorCitAaW50ZXJmYWNlIFVJUERGUGFnZSAoRGV0
YWlscykKKy0gKENHUmVjdCljcm9wQm94QWNjb3VudEZvclJvdGF0aW9uOworQGVuZAorCitAaW50
ZXJmYWNlIFVJUERGRG9jdW1lbnQgOiBOU09iamVjdAorQGVuZAorCitAaW50ZXJmYWNlIFVJUERG
RG9jdW1lbnQgKERldGFpbHMpCistIChVSVBERlBhZ2UgKilwYWdlQXRJbmRleDooTlNVSW50ZWdl
cilpbmRleDsKKy0gKGlkKWluaXRXaXRoQ0dQREZEb2N1bWVudDooQ0dQREZEb2N1bWVudFJlZilk
b2N1bWVudDsKK0Bwcm9wZXJ0eSAoYXNzaWduLCByZWFkb25seSkgTlNVSW50ZWdlciBudW1iZXJP
ZlBhZ2VzOworQHByb3BlcnR5IChyZWFkb25seSkgQ0dQREZEb2N1bWVudFJlZiBDR0RvY3VtZW50
OworQGVuZAorCit0eXBlZGVmIGVudW0geworICAgIGtVSVBERk9iamVjdEtpbmRHcmFwaGljID0g
MSwKK30gVUlQREZPYmplY3RLaW5kOworCitAY2xhc3MgVUlQREZQYWdlVmlldzsKK0Bwcm90b2Nv
bCBVSVBERkFubm90YXRpb25Db250cm9sbGVyRGVsZWdhdGU7CisKK0BpbnRlcmZhY2UgVUlQREZB
bm5vdGF0aW9uQ29udHJvbGxlciA6IE5TT2JqZWN0PFVJR2VzdHVyZVJlY29nbml6ZXJEZWxlZ2F0
ZT4KK0BlbmQKKworQGludGVyZmFjZSBVSVBERkFubm90YXRpb25Db250cm9sbGVyIChEZXRhaWxz
KQorQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSVBERlBhZ2VWaWV3ICpwYWdlVmll
dzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIGlkPE5TT2JqZWN0LCBVSVBERkFubm90
YXRpb25Db250cm9sbGVyRGVsZWdhdGU+IGRlbGVnYXRlOworQGVuZAorCitAcHJvdG9jb2wgVUlQ
REZQYWdlVmlld0RlbGVnYXRlOworCitAaW50ZXJmYWNlIFVJUERGUGFnZVZpZXcgOiBVSVZpZXcK
K0BlbmQKKworQGludGVyZmFjZSBVSVBERlBhZ2VWaWV3IChEZXRhaWxzKQorLSAoaWQpaW5pdFdp
dGhQYWdlOihVSVBERlBhZ2UgKikgcGFnZSB0aWxlZENvbnRlbnQ6KEJPT0wpdGlsZWQ7CistIChD
R1JlY3QpY29udmVydFJlY3RGcm9tUERGUGFnZVNwYWNlOihDR1JlY3QpcDsKK0Bwcm9wZXJ0eSAo
bm9uYXRvbWljLCBhc3NpZ24pIEJPT0wgdXNlQmFja2luZ0xheWVyOworQHByb3BlcnR5IChub25h
dG9taWMsIGFzc2lnbikgaWQ8TlNPYmplY3QsIFVJUERGUGFnZVZpZXdEZWxlZ2F0ZT4gZGVsZWdh
dGU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENBTGF5ZXIgKmNvbnRlbnRMYXll
cjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgVUlQREZBbm5vdGF0aW9uQ29udHJv
bGxlciAqYW5ub3RhdGlvbkNvbnRyb2xsZXI7CitAZW5kCisKK0Bwcm90b2NvbCBVSVBERlBhZ2VW
aWV3RGVsZWdhdGUKK0BvcHRpb25hbAorLSAoQk9PTClzZWxlY3Rpb25XaWxsVHJhY2s6KFVJUERG
UGFnZVZpZXcqKXBhZ2VWaWV3OworLSAoQk9PTClzaG91bGRSZWNvZ25pemVUYXBJbjooVUlQREZQ
YWdlVmlldyAqKXBhZ2VWaWV3IGF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7CistIChDbGFzcyljbGFz
c0ZvckFubm90YXRpb25UeXBlOihjb25zdCBjaGFyICopdHlwZTsKKy0gKHZvaWQpZGlkVGFwOihV
SVBERlBhZ2VWaWV3ICopcGFnZVZpZXcgYXRQb2ludDooQ0dQb2ludClwb2ludDsKKy0gKHZvaWQp
ZG91YmxlVGFwSW46KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldyBhdFBvaW50OihDR1BvaW50KXBv
aW50OworLSAodm9pZClwYWdlV2FzUmVuZGVyZWQ6KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldzsK
Ky0gKHZvaWQpcmVzZXRab29tOihVSVBERlBhZ2VWaWV3ICopcGFnZVZpZXc7CistICh2b2lkKXNl
bGVjdGlvbkRpZEVuZFRyYWNraW5nOihVSVBERlBhZ2VWaWV3ICopcGFnZVZpZXc7CistICh2b2lk
KXpvb206KFVJUERGUGFnZVZpZXcgKilwYWdlVmlldyB0bzooQ0dSZWN0KXJlY3QgYXRQb2ludDoo
Q0dQb2ludClwdCBraW5kOihVSVBERk9iamVjdEtpbmQpa2luZDsKK0BlbmQKKworQGludGVyZmFj
ZSBVSVBERkFubm90YXRpb24gOiBOU09iamVjdAorQGVuZAorCitAaW50ZXJmYWNlIFVJUERGQW5u
b3RhdGlvbiAoRGV0YWlscykKKy0gKENHUmVjdClSZWN0OworQHByb3BlcnR5IChub25hdG9taWMs
IGFzc2lnbikgVUlQREZBbm5vdGF0aW9uQ29udHJvbGxlciogYW5ub3RhdGlvbkNvbnRyb2xsZXI7
CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZNYXJrdXBBbm5vdGF0aW9uIDogVUlQREZBbm5vdGF0
aW9uCitAZW5kCisKK0BpbnRlcmZhY2UgVUlQREZMaW5rQW5ub3RhdGlvbiA6IFVJUERGTWFya3Vw
QW5ub3RhdGlvbgorQGVuZAorCitAaW50ZXJmYWNlIFVJUERGTGlua0Fubm90YXRpb24gKERldGFp
bHMpCistIChOU1VSTCAqKXVybDsKKy0gKE5TVUludGVnZXIpcGFnZU51bWJlcjsKK0BlbmQKKwor
QHByb3RvY29sIFVJUERGQW5ub3RhdGlvbkNvbnRyb2xsZXJEZWxlZ2F0ZQorQG9wdGlvbmFsCist
ICh2b2lkKWFubm90YXRpb246KFVJUERGQW5ub3RhdGlvbiAqKWFubm90YXRpb24gd2FzVG91Y2hl
ZEF0UG9pbnQ6KENHUG9pbnQpIHBvaW50IGNvbnRyb2xsZXI6KFVJUERGQW5ub3RhdGlvbkNvbnRy
b2xsZXIgKiljb250cm9sbGVyOworLSAodm9pZClhbm5vdGF0aW9uOihVSVBERkFubm90YXRpb24g
Kilhbm5vdGF0aW9uIGlzQmVpbmdQcmVzc2VkQXRQb2ludDooQ0dQb2ludCkgcG9pbnQgY29udHJv
bGxlcjooVUlQREZBbm5vdGF0aW9uQ29udHJvbGxlciAqKWNvbnRyb2xsZXI7CitAZW5kCisKKyNl
bmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9EYXRhRGV0
ZWN0b3JzVUlTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvRGF0YURldGVj
dG9yc1VJU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYjI1ODdlZQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvRGF0YURl
dGVjdG9yc1VJU1BJLmgKQEAgLTAsMCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbXBvcnQgPFVJ
S2l0L1VJS2l0Lmg+CisjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CisKKyNpZiBVU0Uo
QVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxEYXRhRGV0ZWN0b3JzVUkvRERBY3Rpb24u
aD4KKyNpbXBvcnQgPERhdGFEZXRlY3RvcnNVSS9ERERldGVjdGlvbkNvbnRyb2xsZXIuaD4KKwor
I2Vsc2UKKworQGludGVyZmFjZSBEREFjdGlvbiA6IE5TT2JqZWN0CitAZW5kCisKK0BpbnRlcmZh
Y2UgRERBY3Rpb24gKERldGFpbHMpCistIChCT09MKWhhc1VzZXJJbnRlcmZhY2U7CistIChOU1N0
cmluZyAqKWxvY2FsaXplZE5hbWU7CitAcHJvcGVydHkgKHJlYWRvbmx5KSBOU1N0cmluZyAqYWN0
aW9uVVRJOworQGVuZAorCitAcHJvdG9jb2wgREREZXRlY3Rpb25Db250cm9sbGVySW50ZXJhY3Rp
b25EZWxlZ2F0ZSA8TlNPYmplY3Q+CitAZW5kCisKK0BpbnRlcmZhY2UgREREZXRlY3Rpb25Db250
cm9sbGVyIDogTlNPYmplY3QgPFVJQWN0aW9uU2hlZXREZWxlZ2F0ZT4KK0BlbmQKKworQGludGVy
ZmFjZSBERERldGVjdGlvbkNvbnRyb2xsZXIgKERldGFpbHMpCisrIChERERldGVjdGlvbkNvbnRy
b2xsZXIgKilzaGFyZWRDb250cm9sbGVyOworKyAoTlNBcnJheSAqKXRhcEFuZEhvbGRTY2hlbWVz
OworLSAodm9pZClwZXJmb3JtQWN0aW9uOihEREFjdGlvbiAqKWFjdGlvbiBmcm9tQWxlcnRDb250
cm9sbGVyOihVSUFsZXJ0Q29udHJvbGxlciAqKWFsZXJ0Q29udHJvbGxlciBpbnRlcmFjdGlvbkRl
bGVnYXRlOihpZCA8REREZXRlY3Rpb25Db250cm9sbGVySW50ZXJhY3Rpb25EZWxlZ2F0ZT4paW50
ZXJhY3Rpb25EZWxlZ2F0ZTsKK0BlbmQKKworI2VuZGlmCisKK0BpbnRlcmZhY2UgREREZXRlY3Rp
b25Db250cm9sbGVyIChEZXRhaWxzVG9CZVJlbW92ZWQpCisvLyBGSVhNRTogVGhpcyB3aWxsIGJl
IHJlbW92ZWQgYXMgc29vbiBhcyA8cmRhcjovL3Byb2JsZW0vMTYzNDY5MTM+IGlzIGZpeGVkLgor
LSAoTlNBcnJheSAqKWFjdGlvbnNGb3JBbmNob3I6KGlkKWFuY2hvciB1cmw6KE5TVVJMICopdGFy
Z2V0VVJMIGZvckZyYW1lOihpZClmcmFtZTsKK0BlbmQKKworU09GVF9MSU5LX1BSSVZBVEVfRlJB
TUVXT1JLKERhdGFEZXRlY3RvcnNVSSkKK1NPRlRfTElOS19DTEFTUyhEYXRhRGV0ZWN0b3JzVUks
IERERGV0ZWN0aW9uQ29udHJvbGxlcikKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL3NwaS9pb3MvTWFuYWdlZENvbmZpZ3VyYXRpb25TUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1Bs
YXRmb3JtL3NwaS9pb3MvTWFuYWdlZENvbmZpZ3VyYXRpb25TUEkuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwLi43ZGU3NjhlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvUGxhdGZvcm0vc3BpL2lvcy9NYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oCkBAIC0wLDAg
KzEsNjkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTQgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW1wb3J0IDxGb3VuZGF0aW9uL0ZvdW5kYXRpb24uaD4K
KworI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCisKKy8vIEZJWE1FOiBXZSBjb25kaXRpb25h
bGx5IGVuY2xvc2UgdGhlIE1hbmFnZWRDb25maWd1cmF0aW9uIGhlYWRlcnMgaW4gYW4gZXh0ZXJu
ICJDIiBsaW5rYWdlCisvLyBibG9jayB0byBtYWtlIHRoZW0gc3VpdGFibGUgZm9yIEMrKyB1c2Uu
CisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKKyNpbXBvcnQgPE1h
bmFnZWRDb25maWd1cmF0aW9uL01DRmVhdHVyZXMuaD4KKyNpbXBvcnQgPE1hbmFnZWRDb25maWd1
cmF0aW9uL01DUHJvZmlsZUNvbm5lY3Rpb24uaD4KKworI2lmZGVmIF9fY3BsdXNwbHVzCit9Cisj
ZW5kaWYKKworI2Vsc2UKKwordHlwZWRlZiBlbnVtIE1DUmVzdHJpY3RlZEJvb2xUeXBlIHsKKyAg
ICBNQ1Jlc3RyaWN0ZWRCb29sRXhwbGljaXRObyA9IDEgPDwgMSwKK30gTUNSZXN0cmljdGVkQm9v
bFR5cGU7CisKK0BpbnRlcmZhY2UgTUNQcm9maWxlQ29ubmVjdGlvbiA6IE5TT2JqZWN0CitAZW5k
CisKK0BpbnRlcmZhY2UgTUNQcm9maWxlQ29ubmVjdGlvbiAoRGV0YWlscykKKysgKE1DUHJvZmls
ZUNvbm5lY3Rpb24gKilzaGFyZWRDb25uZWN0aW9uOworLSAoTUNSZXN0cmljdGVkQm9vbFR5cGUp
ZWZmZWN0aXZlQm9vbFZhbHVlRm9yU2V0dGluZzooTlNTdHJpbmcgKilmZWF0dXJlOworQGVuZAor
CisjZW5kaWYKKworRVhURVJOX0NfQkVHSU4KKworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgTUNG
ZWF0dXJlRGVmaW5pdGlvbkxvb2t1cEFsbG93ZWQ7CisKK0VYVEVSTl9DX0VORAorCitTT0ZUX0xJ
TktfUFJJVkFURV9GUkFNRVdPUksoTWFuYWdlZENvbmZpZ3VyYXRpb24pOworU09GVF9MSU5LX0NM
QVNTKE1hbmFnZWRDb25maWd1cmF0aW9uLCBNQ1Byb2ZpbGVDb25uZWN0aW9uKTsKK1NPRlRfTElO
S19DT05TVEFOVChNYW5hZ2VkQ29uZmlndXJhdGlvbiwgTUNGZWF0dXJlRGVmaW5pdGlvbkxvb2t1
cEFsbG93ZWQsIE5TU3RyaW5nICopCisKKyNkZWZpbmUgTUNGZWF0dXJlRGVmaW5pdGlvbkxvb2t1
cEFsbG93ZWQgZ2V0TUNGZWF0dXJlRGVmaW5pdGlvbkxvb2t1cEFsbG93ZWQoKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9UQ0NTUEkuaCBiL1NvdXJjZS9XZWJL
aXQyL1BsYXRmb3JtL3NwaS9pb3MvVENDU1BJLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMC4uZTRhYzVmNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRm
b3JtL3NwaS9pb3MvVENDU1BJLmgKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQorCisjaW1wb3J0IDxUQ0MvVENDLmg+CisKKyNlbHNlCisK
K3R5cGVkZWYgZW51bSB7CisgICAga1RDQ0FjY2Vzc1ByZWZsaWdodERlbmllZCA9IDEsCit9IFRD
Q0FjY2Vzc1ByZWZsaWdodFJlc3VsdDsKKworI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9QbGF0Zm9ybS9zcGkvaW9zL1RleHRJbnB1dFNQSS5oIGIvU291cmNlL1dlYktpdDIvUGxh
dGZvcm0vc3BpL2lvcy9UZXh0SW5wdXRTUEkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwLi45ZjU2MWY1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvUGxhdGZv
cm0vc3BpL2lvcy9UZXh0SW5wdXRTUEkuaApAQCAtMCwwICsxLDM5IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2ltcG9ydCA8Rm91bmRhdGlvbi9Gb3VuZGF0aW9uLmg+CisKKyNpZiBVU0UoQVBQTEVfSU5URVJO
QUxfU0RLKQorCisjaW1wb3J0IDxUZXh0SW5wdXQvVElfTlNTdHJpbmdFeHRyYXMuaD4KKworI2Vs
c2UKKworQGludGVyZmFjZSBOU1N0cmluZyAoVGV4dElucHV0RGV0YWlscykKKy0gKEJPT0wpX2Nv
bnRhaW5zQ0pTY3JpcHRzOworLSAoQk9PTClfY29udGFpbnNDSlNjcmlwdHNPbmx5OworQGVuZAor
CisjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlL
aXRTUEkuaCBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL3NwaS9pb3MvVUlLaXRTUEkuaApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zODYzNjkzCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcy9VSUtpdFNQSS5oCkBAIC0wLDAgKzEs
NjYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE0IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2ltcG9ydCA8VUlLaXQvVUlLaXQuaD4KKworI2lmIFVTRShB
UFBMRV9JTlRFUk5BTF9TREspCisKKyNpbXBvcnQgPFVJS2l0L1VJQWxlcnRDb250cm9sbGVyX1By
aXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgorI2ltcG9y
dCA8VUlLaXQvVUlCYXJCdXR0b25JdGVtX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJRGF0
ZVBpY2tlcl9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+Cisj
aW1wb3J0IDxVSUtpdC9VSUZvbnRfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlHZW9tZXRy
eV9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSUdlc3R1cmVSZWNvZ25pemVyX1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFVJS2l0L1VJSW1hZ2VQaWNrZXJDb250cm9sbGVyX1ByaXZhdGUuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJSW1hZ2VfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlLZXlib2Fy
ZEltcGwuaD4KKyNpbXBvcnQgPFVJS2l0L1VJS2V5Ym9hcmRJbnRsLmg+CisjaW1wb3J0IDxVSUtp
dC9VSUtleWJvYXJkX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJTG9uZ1ByZXNzR2VzdHVy
ZVJlY29nbml6ZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8VUlLaXQvVUlQZXJpcGhlcmFsSG9zdC5o
PgorI2ltcG9ydCA8VUlLaXQvVUlQZXJpcGhlcmFsSG9zdF9Qcml2YXRlLmg+CisjaW1wb3J0IDxV
SUtpdC9VSVBpY2tlckNvbnRlbnRWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJUGlj
a2VyVmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVNjcm9sbFZpZXdfUHJpdmF0ZS5o
PgorI2ltcG9ydCA8VUlLaXQvVUlTdHJpbmdEcmF3aW5nX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJ
S2l0L1VJVGFibGVWaWV3Q2VsbF9Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9VSVRhcEdlc3R1
cmVSZWNvZ25pemVyX1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJVGV4dElucHV0X1ByaXZh
dGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJVGV4dEludGVyYWN0aW9uQXNzaXN0YW50X1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uaW5nX1ByaXZhdGUu
aD4KKyNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJfUHJpdmF0ZS5oPgorI2ltcG9ydCA8
VUlLaXQvVUlWaWV3X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV0tTZWxlY3Rpb25Bc3Np
c3RhbnQuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQuaD4K
KyNpbXBvcnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2Vi
RG9jdW1lbnRWaWV3Lmg+CisjaW1wb3J0IDxVSUtpdC9VSVdlYkZvcm1BY2Nlc3NvcnkuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNpZGVyLmg+CisjaW1wb3J0IDxV
SUtpdC9VSVdlYlNjcm9sbFZpZXcuaD4KKyNpbXBvcnQgPFVJS2l0L1VJV2ViVGlsZWRWaWV3Lmg+
CisjaW1wb3J0IDxVSUtpdC9VSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXIuaD4KKyNp
bXBvcnQgPFVJS2l0L1VJV2luZG93X1ByaXZhdGUuaD4KKyNpbXBvcnQgPFVJS2l0L19VSUJhY2tk
cm9wVmlld19Qcml2YXRlLmg+CisjaW1wb3J0IDxVSUtpdC9fVUlIaWdobGlnaHRWaWV3Lmg+Cisj
aW1wb3J0IDxVSUtpdC9fVUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uLmg+CisjaW1w
b3J0IDxVSUtpdC9fVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uLmg+CisKKyNlbHNlCisK
K0BpbnRlcmZhY2UgVUlBbGVydENvbnRyb2xsZXIgKERldGFpbHMpCistICh2b2lkKV9hZGRBY3Rp
b25XaXRoVGl0bGU6KE5TU3RyaW5nICopdGl0bGUgc3R5bGU6KFVJQWxlcnRBY3Rpb25TdHlsZSlz
dHlsZSBoYW5kbGVyOih2b2lkICheKSh2b2lkKSloYW5kbGVyOworLSAodm9pZClfYWRkQWN0aW9u
V2l0aFRpdGxlOihOU1N0cmluZyAqKXRpdGxlIHN0eWxlOihVSUFsZXJ0QWN0aW9uU3R5bGUpc3R5
bGUgaGFuZGxlcjoodm9pZCAoXikodm9pZCkpaGFuZGxlciBzaG91bGREaXNtaXNzSGFuZGxlcjoo
Qk9PTCAoXikodm9pZCkpc2hvdWxkRGlzbWlzc0hhbmRsZXI7CitAcHJvcGVydHkgKG5vbmF0b21p
YykgVUlBbGVydENvbnRyb2xsZXJTdHlsZSBwcmVmZXJyZWRTdHlsZTsKK0BlbmQKKworQGludGVy
ZmFjZSBVSUFwcGxpY2F0aW9uIChEZXRhaWxzKQorLSAoVUlJbnRlcmZhY2VPcmllbnRhdGlvbilp
bnRlcmZhY2VPcmllbnRhdGlvbjsKKy0gKHZvaWQpX2NhbmNlbEFsbFRvdWNoZXM7CitAZW5kCisK
K3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFVJRGF0ZVBpY2tlclByaXZhdGVNb2RlKSAgewor
ICAgIFVJRGF0ZVBpY2tlck1vZGVZZWFyQW5kTW9udGggPSA0MjY5LAorfTsKKworQGludGVyZmFj
ZSBVSURhdGVQaWNrZXIgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHks
IGdldHRlcj1fY29udGVudFdpZHRoKSBDR0Zsb2F0IGNvbnRlbnRXaWR0aDsKK0BlbmQKKworI2Rl
ZmluZSBVSUN1cnJlbnRVc2VySW50ZXJmYWNlSWRpb21Jc1BhZCgpIChbW1VJRGV2aWNlIGN1cnJl
bnREZXZpY2VdIHVzZXJJbnRlcmZhY2VJZGlvbV0gPT0gVUlVc2VySW50ZXJmYWNlSWRpb21QYWQp
CisKK0BpbnRlcmZhY2UgVUlEZXZpY2UgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywg
cmVhZG9ubHksIHJldGFpbikgTlNTdHJpbmcgKmJ1aWxkVmVyc2lvbjsKK0BlbmQKKwordHlwZWRl
ZiBlbnVtIHsKKyAgICBVSUZvbnRUcmFpdFBsYWluID0gMHgwMDAwMDAwMCwKK30gVUlGb250VHJh
aXQ7CisKK0BpbnRlcmZhY2UgVUlGb250IChEZXRhaWxzKQorKyAoVUlGb250ICopZm9udFdpdGhG
YW1pbHlOYW1lOihOU1N0cmluZyAqKWZhbWlseU5hbWUgdHJhaXRzOihVSUZvbnRUcmFpdCl0cmFp
dHMgc2l6ZTooQ0dGbG9hdClmb250U2l6ZTsKK0BlbmQKKwordHlwZWRlZiBlbnVtIHsKKyAgICBV
SUFsbENvcm5lcnMgPSAweEZGLAorfSBVSVJlY3RDb3JuZXJzOworCitAaW50ZXJmYWNlIFVJSW1h
Z2VQaWNrZXJDb250cm9sbGVyIChEZXRhaWxzKQorQHByb3BlcnR5IChub25hdG9taWMsIHNldHRl
cj1fc2V0QWxsb3dzTXVsdGlwbGVTZWxlY3Rpb246KSBCT09MIF9hbGxvd3NNdWx0aXBsZVNlbGVj
dGlvbjsKK0BlbmQKKworQGludGVyZmFjZSBVSUltYWdlIChEZXRhaWxzKQorLSAoaWQpaW5pdFdp
dGhDR0ltYWdlOihDR0ltYWdlUmVmKUNHSW1hZ2UgaW1hZ2VPcmllbnRhdGlvbjooVUlJbWFnZU9y
aWVudGF0aW9uKWltYWdlT3JpZW50YXRpb247CitAZW5kCisKK0Bwcm90b2NvbCBVSUtleWJvYXJk
SW1wbEdlb21ldHJ5RGVsZWdhdGUKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIGdl
dHRlcj1pc01pbmltaXplZCkgQk9PTCBtaW5pbWl6ZWQ7CistICh2b2lkKXByZXBhcmVGb3JJbXBs
Qm91bmRzSGVpZ2h0Q2hhbmdlOihDR0Zsb2F0KWVuZERlbHRhIHN1cHByZXNzTm90aWZpY2F0aW9u
OihCT09MKXN1cHByZXNzTm90aWZpY2F0aW9uOworLSAodm9pZClpbXBsQm91bmRzSGVpZ2h0Q2hh
bmdlRG9uZTooQ0dGbG9hdCllbmREZWx0YSBzdXBwcmVzc05vdGlmaWNhdGlvbjooQk9PTClzdXBw
cmVzc05vdGlmaWNhdGlvbjsKKy0gKEJPT0wpc2hvdWxkU2F2ZU1pbmltaXphdGlvblN0YXRlOwor
LSAoQk9PTCljYW5EaXNtaXNzOworLSAoQk9PTClpc0FjdGl2ZTsKK0BlbmQKKworQHByb3RvY29s
IFVJS2V5Ym9hcmRDYW5kaWRhdGVMaXN0RGVsZWdhdGUgPE5TT2JqZWN0PgorQG9wdGlvbmFsCist
ICh2b2lkKXNldENhbmRpZGF0ZUxpc3Q6KGlkKWNhbmRpZGF0ZUxpc3QgdXBkYXRlQ2FuZGlkYXRl
VmlldzooQk9PTCl1cGRhdGVDYW5kaWRhdGVWaWV3OworLSAodm9pZCljYW5kaWRhdGVMaXN0QWNj
ZXB0Q2FuZGlkYXRlOihpZCljYW5kaWRhdGVMaXN0OworLSAodm9pZCljYW5kaWRhdGVMaXN0U2Vs
ZWN0aW9uRGlkQ2hhbmdlOihpZCljYW5kaWRhdGVMaXN0OworLSAodm9pZCljYW5kaWRhdGVMaXN0
U2hvdWxkQmVEaXNtaXNzZWQ6KGlkKWNhbmRpZGF0ZUxpc3Q7CitAZW5kCisKK0BpbnRlcmZhY2Ug
VUlLZXlib2FyZCA6IFVJVmlldyA8VUlLZXlib2FyZEltcGxHZW9tZXRyeURlbGVnYXRlPgorQGVu
ZAorCitAaW50ZXJmYWNlIFVJS2V5Ym9hcmQgKERldGFpbHMpCisrIChDR1NpemUpZGVmYXVsdFNp
emVGb3JJbnRlcmZhY2VPcmllbnRhdGlvbjooVUlJbnRlcmZhY2VPcmllbnRhdGlvbilvcmllbnRh
dGlvbjsKKy0gKHZvaWQpYWN0aXZhdGU7CistICh2b2lkKWdlb21ldHJ5Q2hhbmdlRG9uZTooQk9P
TClrZXlib2FyZFZpc2libGU7CistICh2b2lkKXByZXBhcmVGb3JHZW9tZXRyeUNoYW5nZTsKK0Bl
bmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkSW1wbCA6IFVJVmlldyA8VUlLZXlib2FyZENhbmRp
ZGF0ZUxpc3REZWxlZ2F0ZT4KK0BlbmQKKworQGludGVyZmFjZSBVSUtleWJvYXJkSW1wbCAoRGV0
YWlscykKKysgKFVJS2V5Ym9hcmRJbXBsICopYWN0aXZlSW5zdGFuY2U7CisrIChVSUtleWJvYXJk
SW1wbCAqKXNoYXJlZEluc3RhbmNlOworKyAoQ0dTaXplKWRlZmF1bHRTaXplRm9ySW50ZXJmYWNl
T3JpZW50YXRpb246KFVJSW50ZXJmYWNlT3JpZW50YXRpb24pb3JpZW50YXRpb247CistICh2b2lk
KWFkZElucHV0U3RyaW5nOihOU1N0cmluZyAqKXN0cmluZyB3aXRoRmxhZ3M6KE5TVUludGVnZXIp
ZmxhZ3M7CistIChCT09MKWF1dG9jb3JyZWN0U3BlbGxpbmdFbmFibGVkOworLSAodm9pZClkZWxl
dGVGcm9tSW5wdXQ7CistICh2b2lkKXJlcGxhY2VUZXh0OihpZClyZXBsYWNlbWVudDsKK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljLCByZWFkd3JpdGUsIHJldGFpbikgVUlSZXNwb25kZXIgPFVJS2V5SW5w
dXQ+ICpkZWxlZ2F0ZTsKK0BlbmQKKworQGludGVyZmFjZSBVSUdlc3R1cmVSZWNvZ25pemVyIChE
ZXRhaWxzKQorLSAodm9pZClyZXF1aXJlT3RoZXJHZXN0dXJlVG9GYWlsOihVSUdlc3R1cmVSZWNv
Z25pemVyICopZ2VzdHVyZVJlY29nbml6ZXI7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlMb25nUHJl
c3NHZXN0dXJlUmVjb2duaXplciAoRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBDRlRp
bWVJbnRlcnZhbCBkZWxheTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2lu
dCBzdGFydFBvaW50OworQGVuZAorCitAaW50ZXJmYWNlIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVz
c0dlc3R1cmVSZWNvZ25pemVyIDogVUlMb25nUHJlc3NHZXN0dXJlUmVjb2duaXplcgorQGVuZAor
CitAaW50ZXJmYWNlIF9VSVdlYkhpZ2hsaWdodExvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyIChE
ZXRhaWxzKQorLSAodm9pZCljYW5jZWw7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlQZXJpcGhlcmFs
SG9zdCA6IE5TT2JqZWN0IDxVSUdlc3R1cmVSZWNvZ25pemVyRGVsZWdhdGU+CitAZW5kCisKK0Bj
bGFzcyBVSUtleWJvYXJkUm90YXRpb25TdGF0ZTsKKworQGludGVyZmFjZSBVSVBlcmlwaGVyYWxI
b3N0IChEZXRhaWxzKQorKyAoVUlQZXJpcGhlcmFsSG9zdCAqKXNoYXJlZEluc3RhbmNlOworKyAo
VUlQZXJpcGhlcmFsSG9zdCAqKWFjdGl2ZUluc3RhbmNlOworLSAoQk9PTClpc09uU2NyZWVuOwor
LSAoVUlLZXlib2FyZFJvdGF0aW9uU3RhdGUgKilyb3RhdGlvblN0YXRlOworQGVuZAorCitAaW50
ZXJmYWNlIFVJUGlja2VyQ29udGVudFZpZXcgOiBVSVZpZXcKK0BlbmQKKworQGludGVyZmFjZSBV
SVBpY2tlckNvbnRlbnRWaWV3IChEZXRhaWxzKQorKyhDR0Zsb2F0KV9jaGVja21hcmtPZmZzZXQ7
CistKENHRmxvYXQpbGFiZWxXaWR0aEZvckJvdW5kczooQ0dSZWN0KWJvdW5kczsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCBnZXR0ZXI9aXNDaGVja2VkKSBCT09MIGNoZWNrZWQ7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIFVJTGFiZWwgKnRpdGxlTGFiZWw7CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlQaWNrZXJWaWV3IChEZXRhaWxzKQorKyAoQ0dTaXplKWRlZmF1bHRTaXplRm9yQ3Vy
cmVudE9yaWVudGF0aW9uOworLSAodm9pZClfc2V0VXNlc0NoZWNrZWRTZWxlY3Rpb246KEJPT0wp
dXNlc0NoZWNrZWRTZWxlY3Rpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgc2V0dGVyPV9zZXRN
YWduaWZpZXJFbmFibGVkOikgQk9PTCBfbWFnbmlmaWVyRW5hYmxlZDsKK0BlbmQKKworQGludGVy
ZmFjZSBVSVNjcm9sbFZpZXcgKERldGFpbHMpCistICh2b2lkKV9zdG9wU2Nyb2xsaW5nQW5kWm9v
bWluZ0FuaW1hdGlvbnM7CistICh2b2lkKV96b29tVG9DZW50ZXI6KENHUG9pbnQpY2VudGVyIHNj
YWxlOihDR0Zsb2F0KXNjYWxlIGR1cmF0aW9uOihDRlRpbWVJbnRlcnZhbClkdXJhdGlvbiBmb3Jj
ZTooQk9PTClmb3JjZTsKKy0gKHZvaWQpX3pvb21Ub0NlbnRlcjooQ0dQb2ludCljZW50ZXIgc2Nh
bGU6KENHRmxvYXQpc2NhbGUgZHVyYXRpb246KENGVGltZUludGVydmFsKWR1cmF0aW9uOworQHBy
b3BlcnR5IChub25hdG9taWMsIGdldHRlcj1pc1pvb21FbmFibGVkKSBCT09MIHpvb21FbmFibGVk
OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5LCBnZXR0ZXI9X2lzQW5pbWF0aW5nWm9v
bSkgQk9PTCBpc0FuaW1hdGluZ1pvb207CitAcHJvcGVydHkgKG5vbmF0b21pYykgQ0dGbG9hdCBo
b3Jpem9udGFsU2Nyb2xsRGVjZWxlcmF0aW9uRmFjdG9yOworQHByb3BlcnR5IChub25hdG9taWMp
IENHRmxvYXQgdmVydGljYWxTY3JvbGxEZWNlbGVyYXRpb25GYWN0b3I7CitAZW5kCisKK0BpbnRl
cmZhY2UgTlNTdHJpbmcgKFVJS2l0RGV0YWlscykKKy0gKENHU2l6ZSlfbGVnYWN5X3NpemVXaXRo
Rm9udDooVUlGb250ICopZm9udCBmb3JXaWR0aDooQ0dGbG9hdCl3aWR0aCBsaW5lQnJlYWtNb2Rl
OihOU0xpbmVCcmVha01vZGUpbGluZUJyZWFrTW9kZTsKKy0gKENHU2l6ZSlfbGVnYWN5X3NpemVX
aXRoRm9udDooVUlGb250ICopZm9udCBtaW5Gb250U2l6ZTooQ0dGbG9hdCltaW5Gb250U2l6ZSBh
Y3R1YWxGb250U2l6ZTooQ0dGbG9hdCAqKWFjdHVhbEZvbnRTaXplIGZvcldpZHRoOihDR0Zsb2F0
KXdpZHRoIGxpbmVCcmVha01vZGU6KE5TTGluZUJyZWFrTW9kZSlsaW5lQnJlYWtNb2RlOworQGVu
ZAorCitAaW50ZXJmYWNlIFVJVGFwR2VzdHVyZVJlY29nbml6ZXIgKERldGFpbHMpCitAcHJvcGVy
dHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIENHUG9pbnQgbG9jYXRpb247CitAZW5kCisKK0BjbGFz
cyBXZWJFdmVudDsKKwordHlwZWRlZiBlbnVtIHsKKyAgICBVSVRleHRTaG9ydGN1dENvbnZlcnNp
b25UeXBlRGVmYXVsdCA9IDAsCisgICAgVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZU5vID0g
MSwKKyAgICBVSVRleHRTaG9ydGN1dENvbnZlcnNpb25UeXBlWWVzID0gMiwKK30gVUlUZXh0U2hv
cnRjdXRDb252ZXJzaW9uVHlwZTsKKworQHByb3RvY29sIFVJVGV4dElucHV0VHJhaXRzX1ByaXZh
dGUgPE5TT2JqZWN0LCBVSVRleHRJbnB1dFRyYWl0cz4KKy0gKHZvaWQpdGFrZVRyYWl0c0Zyb206
KGlkIDxVSVRleHRJbnB1dFRyYWl0cz4pdHJhaXRzOworQG9wdGlvbmFsCitAcHJvcGVydHkgKG5v
bmF0b21pYykgVUlUZXh0U2hvcnRjdXRDb252ZXJzaW9uVHlwZSBzaG9ydGN1dENvbnZlcnNpb25U
eXBlOworQGVuZAorCitAY2xhc3MgVUlUZXh0SW5wdXRBcnJvd0tleUhpc3Rvcnk7CisKK0Bwcm90
b2NvbCBVSVRleHRJbnB1dFByaXZhdGUgPFVJVGV4dElucHV0LCBVSVRleHRJbnB1dFRva2VuaXpl
ciwgVUlUZXh0SW5wdXRUcmFpdHNfUHJpdmF0ZT4KK0BvcHRpb25hbAorLSAoQk9PTClyZXF1aXJl
c0tleUV2ZW50czsKKy0gKE5TQXJyYXkgKiltZXRhZGF0YURpY3Rpb25hcmllc0ZvckRpY3RhdGlv
blJlc3VsdHM7CistIChVSUNvbG9yICopdGV4dENvbG9yRm9yQ2FyZXRTZWxlY3Rpb247CistIChV
SUZvbnQgKilmb250Rm9yQ2FyZXRTZWxlY3Rpb247CistIChVSVZpZXcgKilhdXRvbWF0aWNhbGx5
U2VsZWN0ZWRPdmVybGF5OworLSAodm9pZCloYW5kbGVLZXlXZWJFdmVudDooV2ViRXZlbnQgKill
dmVudDsKKy0gKHZvaWQpaW5zZXJ0RGljdGF0aW9uUmVzdWx0OihOU0FycmF5ICopZGljdGF0aW9u
UmVzdWx0IHdpdGhDb3JyZWN0aW9uSWRlbnRpZmllcjooaWQpY29ycmVjdGlvbklkZW50aWZpZXI7
CistICh2b2lkKXJlcGxhY2VSYW5nZVdpdGhUZXh0V2l0aG91dENsb3NpbmdUeXBpbmc6KFVJVGV4
dFJhbmdlICopcmFuZ2UgcmVwbGFjZW1lbnRUZXh0OihOU1N0cmluZyAqKXRleHQ7CistICh2b2lk
KXNldEJvdHRvbUJ1ZmZlckhlaWdodDooQ0dGbG9hdClib3R0b21CdWZmZXI7CitAcHJvcGVydHkg
KG5vbmF0b21pYykgVUlUZXh0R3JhbnVsYXJpdHkgc2VsZWN0aW9uR3JhbnVsYXJpdHk7CitAcmVx
dWlyZWQKKy0gKEJPT0wpaGFzQ29udGVudDsKKy0gKEJPT0wpaGFzU2VsZWN0aW9uOworLSAodm9p
ZClzZWxlY3RBbGw7CitAZW5kCisKK0BpbnRlcmZhY2UgVUlUZXh0SW5wdXRUcmFpdHMgOiBOU09i
amVjdCA8VUlUZXh0SW5wdXRUcmFpdHMsIFVJVGV4dElucHV0VHJhaXRzX1ByaXZhdGUsIE5TQ29w
eWluZz4KK0BlbmQKKworQGludGVyZmFjZSBVSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudCA6IE5T
T2JqZWN0CitAZW5kCisKK0BpbnRlcmZhY2UgVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQgKERl
dGFpbHMpCistICh2b2lkKWFjdGl2YXRlU2VsZWN0aW9uOworLSAodm9pZClkZWFjdGl2YXRlU2Vs
ZWN0aW9uOworLSAodm9pZClkaWRFbmRTY3JvbGxpbmdPdmVyZmxvdzsKKy0gKHZvaWQpc2VsZWN0
aW9uQ2hhbmdlZDsKKy0gKHZvaWQpc2V0R2VzdHVyZVJlY29nbml6ZXJzOworLSAodm9pZCl3aWxs
U3RhcnRTY3JvbGxpbmdPdmVyZmxvdzsKK0BlbmQKKworQGludGVyZmFjZSBVSVZpZXdDb250cm9s
bGVyIChEZXRhaWxzKQorKyAoVUlWaWV3Q29udHJvbGxlciAqKV92aWV3Q29udHJvbGxlckZvckZ1
bGxTY3JlZW5QcmVzZW50YXRpb25Gcm9tVmlldzooVUlWaWV3ICopdmlldzsKKysgKFVJVmlld0Nv
bnRyb2xsZXIgKil2aWV3Q29udHJvbGxlckZvclZpZXc6KFVJVmlldyAqKXZpZXc7CitAZW5kCisK
K0Bwcm90b2NvbCBVSVZpZXdDb250cm9sbGVyQ29udGV4dFRyYW5zaXRpb25pbmdFeCA8VUlWaWV3
Q29udHJvbGxlckNvbnRleHRUcmFuc2l0aW9uaW5nPgorLSAodm9pZClfX3J1bkFsb25nc2lkZUFu
aW1hdGlvbnM7CistICh2b2lkKV9pbnRlcmFjdGl2aXR5RGlkQ2hhbmdlOihCT09MKWlzSW50ZXJh
Y3RpdmU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3NldEFsbG93VXNl
ckludGVyYWN0aW9uOiwgZ2V0dGVyPV9hbGxvd1VzZXJJbnRlcmFjdGlvbikgQk9PTCBfYWxsb3dV
c2VySW50ZXJhY3Rpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3Nl
dFBlcmNlbnRPZmZzZXQ6KSBDR0Zsb2F0IF9wZXJjZW50T2Zmc2V0OworQHByb3BlcnR5IChub25h
dG9taWMsIHJldGFpbiwgc2V0dGVyPV9zZXRDb250YWluZXJWaWV3czopIE5TQXJyYXkgKl9jb250
YWluZXJWaWV3czsKK0BlbmQKKworQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlclRyYW5zaXRp
b25Db250ZXh0IDogTlNPYmplY3QgPFVJVmlld0NvbnRyb2xsZXJDb250ZXh0VHJhbnNpdGlvbmlu
Z0V4PgorQGVuZAorCitAaW50ZXJmYWNlIF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRl
eHQgKERldGFpbHMpCistICh2b2lkKSBfc2V0VHJhbnNpdGlvbklzSW5GbGlnaHQ6KEJPT0wpZmxh
ZzsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0QWxsb3dVc2VySW50
ZXJhY3Rpb246LCBnZXR0ZXI9X2FsbG93VXNlckludGVyYWN0aW9uKSBCT09MIF9hbGxvd1VzZXJJ
bnRlcmFjdGlvbjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24sIHNldHRlcj1fc2V0QW5p
bWF0b3I6KSBpZCA8VUlWaWV3Q29udHJvbGxlckFuaW1hdGVkVHJhbnNpdGlvbmluZz4gX2FuaW1h
dG9yOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRDb250YWluZXJW
aWV3OikgVUlWaWV3ICpjb250YWluZXJWaWV3OworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgc2V0dGVyPV9zZXRJbnRlcmFjdG9yOikgaWQgPFVJVmlld0NvbnRyb2xsZXJJbnRlcmFjdGl2
ZVRyYW5zaXRpb25pbmc+IF9pbnRlcmFjdG9yOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgc2V0dGVyPV9zZXRQZXJjZW50T2Zmc2V0OikgQ0dGbG9hdCBfcGVyY2VudE9mZnNldDsKK0Bw
cm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5LCBzZXR0ZXI9X3NldENvbXBsZXRpb25IYW5kbGVyOikg
IHZvaWQgKF5fY29tcGxldGlvbkhhbmRsZXIpKF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNv
bnRleHQgKmNvbnRleHQsIEJPT0wgdHJhbnNpdGlvbkNvbXBsZXRlZCk7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmV0YWluLCBzZXR0ZXI9X3NldENvbnRhaW5lclZpZXdzOikgTlNBcnJheSAqX2Nv
bnRhaW5lclZpZXdzOworQGVuZAorCitAaW50ZXJmYWNlIF9VSVZpZXdDb250cm9sbGVyT25lVG9P
bmVUcmFuc2l0aW9uQ29udGV4dCA6IF9VSVZpZXdDb250cm9sbGVyVHJhbnNpdGlvbkNvbnRleHQK
K0BlbmQKKworQGludGVyZmFjZSBfVUlWaWV3Q29udHJvbGxlck9uZVRvT25lVHJhbnNpdGlvbkNv
bnRleHQgKERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0ZXI9X3Nl
dEZyb21FbmRGcmFtZTopIENHUmVjdCBmcm9tRW5kRnJhbWU7CitAcHJvcGVydHkgKG5vbmF0b21p
YywgYXNzaWduLCBzZXR0ZXI9X3NldEZyb21TdGFydEZyYW1lOikgQ0dSZWN0IGZyb21TdGFydEZy
YW1lOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbiwgc2V0dGVyPV9zZXRUb0VuZEZyYW1l
OikgQ0dSZWN0IHRvRW5kRnJhbWU7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduLCBzZXR0
ZXI9X3NldFRvU3RhcnRGcmFtZTopIENHUmVjdCB0b1N0YXJ0RnJhbWU7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgcmV0YWluLCBzZXR0ZXI9X3NldEZyb21WaWV3Q29udHJvbGxlcjopIFVJVmlld0Nv
bnRyb2xsZXIgKmZyb21WaWV3Q29udHJvbGxlcjsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRh
aW4sIHNldHRlcj1fc2V0VG9WaWV3Q29udHJvbGxlcjopIFVJVmlld0NvbnRyb2xsZXIgKnRvVmll
d0NvbnRyb2xsZXI7CitAZW5kCisKK0Bwcm90b2NvbCBVSVZpZXdDb250cm9sbGVyQW5pbWF0ZWRU
cmFuc2l0aW9uaW5nRXggPFVJVmlld0NvbnRyb2xsZXJBbmltYXRlZFRyYW5zaXRpb25pbmc+Cist
IChCT09MKWludGVyYWN0aW9uQWJvcnRlZDsKKy0gKFVJTmF2aWdhdGlvbkNvbnRyb2xsZXJPcGVy
YXRpb24pIG9wZXJhdGlvbjsKKy0gKFVJUGVyY2VudERyaXZlbkludGVyYWN0aXZlVHJhbnNpdGlv
biAqKWludGVyYWN0aW9uQ29udHJvbGxlcjsKKy0gKHZvaWQpc2V0SW50ZXJhY3Rpb25BYm9ydGVk
OihCT09MKWFib3J0ZWQ7CistICh2b2lkKXNldEludGVyYWN0aW9uQ29udHJvbGxlcjooVUlQZXJj
ZW50RHJpdmVuSW50ZXJhY3RpdmVUcmFuc2l0aW9uICopY29udHJvbGxlcjsKKy0gKHZvaWQpc2V0
T3BlcmF0aW9uOihVSU5hdmlnYXRpb25Db250cm9sbGVyT3BlcmF0aW9uKW9wZXJhdGlvbjsKK0Bv
cHRpb25hbAorLSAoVUlXaW5kb3cgKil3aW5kb3c7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTSAo
TlNJbnRlZ2VyLCBfVUlCYWNrZHJvcE1hc2tWaWV3RmxhZ3MpIHsKKyAgICBfVUlCYWNrZHJvcE1h
c2tWaWV3Tm9uZSA9IDAsCisgICAgX1VJQmFja2Ryb3BNYXNrVmlld0dyYXlzY2FsZVRpbnQgPSAx
IDw8IDAsCisgICAgX1VJQmFja2Ryb3BNYXNrVmlld0NvbG9yVGludCA9IDEgPDwgMSwKKyAgICBf
VUlCYWNrZHJvcE1hc2tWaWV3RmlsdGVycyA9IDEgPDwgMiwKKyAgICBfVUlCYWNrZHJvcE1hc2tW
aWV3QWxsID0gX1VJQmFja2Ryb3BNYXNrVmlld0dyYXlzY2FsZVRpbnQgfCBfVUlCYWNrZHJvcE1h
c2tWaWV3Q29sb3JUaW50IHwgX1VJQmFja2Ryb3BNYXNrVmlld0ZpbHRlcnMsCit9OworCitAaW50
ZXJmYWNlIFVJVmlldyAoRGV0YWlscykKKysgKEJPT0wpX2lzSW5BbmltYXRpb25CbG9jazsKKy0g
KENHU2l6ZSlzaXplOworLSAodm9pZClzZXRGcmFtZU9yaWdpbjooQ0dQb2ludClvcmlnaW47Cist
ICh2b2lkKXNldFNpemU6KENHU2l6ZSlzaXplOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgc2V0dGVyPV9zZXRCYWNrZHJvcE1hc2tWaWV3RmxhZ3M6KSBOU0ludGVnZXIgX2JhY2tkcm9w
TWFza1ZpZXdGbGFnczsKK0BlbmQKKworQGludGVyZmFjZSBVSVdlYlNlbGVjdGlvbkFzc2lzdGFu
dCA6IE5TT2JqZWN0IDxVSUdlc3R1cmVSZWNvZ25pemVyRGVsZWdhdGU+CitAZW5kCisKK0BpbnRl
cmZhY2UgVUlXZWJTZWxlY3Rpb25Bc3Npc3RhbnQgKERldGFpbHMpCistIChCT09MKWlzU2VsZWN0
aW9uR2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilnZXN0dXJlUmVjb2du
aXplcjsKKy0gKGlkKWluaXRXaXRoVmlldzooVUlWaWV3ICopdmlldzsKKy0gKHZvaWQpY2xlYXJT
ZWxlY3Rpb247CistICh2b2lkKWRpZEVuZFNjcm9sbGluZ09yWm9vbWluZ1BhZ2U7CistICh2b2lk
KWRpZEVuZFNjcm9sbGluZ092ZXJmbG93OworLSAodm9pZClyZXNpZ25lZEZpcnN0UmVzcG9uZGVy
OworLSAodm9pZClzZWxlY3Rpb25DaGFuZ2VkOworLSAodm9pZClzZXRHZXN0dXJlUmVjb2duaXpl
cnM7CistICh2b2lkKXdpbGxTdGFydFNjcm9sbGluZ09yWm9vbWluZ1BhZ2U7CistICh2b2lkKXdp
bGxTdGFydFNjcm9sbGluZ092ZXJmbG93OworQHByb3BlcnR5IChub25hdG9taWMsIHJlYWRvbmx5
KSBDR1JlY3Qgc2VsZWN0aW9uRnJhbWU7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVn
ZXIsIFVJV0tTZWxlY3Rpb25Ub3VjaCkgeworICAgIFVJV0tTZWxlY3Rpb25Ub3VjaFN0YXJ0ZWQg
PSAwLAorICAgIFVJV0tTZWxlY3Rpb25Ub3VjaE1vdmVkID0gMSwKKyAgICBVSVdLU2VsZWN0aW9u
VG91Y2hFbmRlZCA9IDIsCisgICAgVUlXS1NlbGVjdGlvblRvdWNoRW5kZWRNb3ZpbmdGb3J3YXJk
ID0gMywKKyAgICBVSVdLU2VsZWN0aW9uVG91Y2hFbmRlZE1vdmluZ0JhY2t3YXJkID0gNCwKKyAg
ICBVSVdLU2VsZWN0aW9uVG91Y2hFbmRlZE5vdE1vdmluZyA9IDUsCit9OworCit0eXBlZGVmIE5T
X0VOVU0oTlNJbnRlZ2VyLCBVSVdLU2VsZWN0aW9uRmxhZ3MpIHsKKyAgICBVSVdLTm9uZSA9IDAs
CisgICAgVUlXS1dvcmRJc05lYXJUYXAgPSAxLAorICAgIFVJV0tJc0Jsb2NrU2VsZWN0aW9uID0g
MiwKKyAgICBVSVdLUGhyYXNlQm91bmRhcnlDaGFuZ2VkID0gNCwKK307CisKK3R5cGVkZWYgTlNf
RU5VTShOU0ludGVnZXIsIFVJV0tHZXN0dXJlVHlwZSkgeworICAgIFVJV0tHZXN0dXJlTG91cGUg
PSAwLAorICAgIFVJV0tHZXN0dXJlT25lRmluZ2VyVGFwID0gMSwKKyAgICBVSVdLR2VzdHVyZVRh
cEFuZEFIYWxmID0gMiwKKyAgICBVSVdLR2VzdHVyZURvdWJsZVRhcCA9IDMsCisgICAgVUlXS0dl
c3R1cmVUYXBBbmRIYWxmID0gNCwKKyAgICBVSVdLR2VzdHVyZURvdWJsZVRhcEluVW5lZGl0YWJs
ZSA9IDUsCisgICAgVUlXS0dlc3R1cmVPbmVGaW5nZXJUYXBJblVuZWRpdGFibGUgPSA2LAorICAg
IFVJV0tHZXN0dXJlT25lRmluZ2VyVGFwU2VsZWN0c0FsbCA9IDcsCisgICAgVUlXS0dlc3R1cmVP
bmVGaW5nZXJEb3VibGVUYXAgPSA4LAorICAgIFVJV0tHZXN0dXJlT25lRmluZ2VyVHJpcGxlVGFw
ID0gOSwKKyAgICBVSVdLR2VzdHVyZVR3b0ZpbmdlclNpbmdsZVRhcCA9IDEwLAorICAgIFVJV0tH
ZXN0dXJlVHdvRmluZ2VyUmFuZ2VkU2VsZWN0R2VzdHVyZSA9IDExLAorICAgIFVJV0tHZXN0dXJl
VGFwT25MaW5rV2l0aEdlc3R1cmUgPSAxMiwKKyAgICBVSVdLR2VzdHVyZU1ha2VXZWJTZWxlY3Rp
b24gPSAxMywKKyAgICBVSVdLR2VzdHVyZVBocmFzZUJvdW5kYXJ5ID0gMTQsCit9OworCitAaW50
ZXJmYWNlIFVJV0tTZWxlY3Rpb25Bc3Npc3RhbnQgOiBVSVdlYlNlbGVjdGlvbkFzc2lzdGFudAor
QGVuZAorCitAaW50ZXJmYWNlIFVJV0tTZWxlY3Rpb25Bc3Npc3RhbnQgKERldGFpbHMpCistIChC
T09MKXNob3VsZEhhbmRsZVNpbmdsZVRhcEF0UG9pbnQ6KENHUG9pbnQpcG9pbnQ7CistICh2b2lk
KWJsb2NrU2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNo
IHdpdGhGbGFnczooVUlXS1NlbGVjdGlvbkZsYWdzKWZsYWdzIGdyb3dUaHJlc2hvbGQ6KENHRmxv
YXQpZ3JvdyBzaHJpbmtUaHJlc2hvbGQ6KENHRmxvYXQpc2hyaW5rOworLSAodm9pZClzZWxlY3Rp
b25DaGFuZ2VkV2l0aEdlc3R1cmVBdDooQ0dQb2ludClwb2ludCB3aXRoR2VzdHVyZTooVUlXS0dl
c3R1cmVUeXBlKWdlc3R1cmVUeXBlIHdpdGhTdGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRl
KWdlc3R1cmVTdGF0ZSB3aXRoRmxhZ3M6KFVJV0tTZWxlY3Rpb25GbGFncylmbGFnczsKKy0gKHZv
aWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhTZWxlY3Rp
b25Ub3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNoIHdpdGhGbGFnczooVUlXS1NlbGVjdGlv
bkZsYWdzKWZsYWdzOworLSAodm9pZClzZWxlY3Rpb25DaGFuZ2VkV2l0aFRvdWNoQXQ6KENHUG9p
bnQpcG9pbnQgd2l0aFNlbGVjdGlvblRvdWNoOihVSVdLU2VsZWN0aW9uVG91Y2gpdG91Y2g7Cist
ICh2b2lkKXNob3dEaWN0aW9uYXJ5Rm9yOihOU1N0cmluZyAqKXNlbGVjdGVkVGVybSBmcm9tUmVj
dDooQ0dSZWN0KXByZXNlbnRhdGlvblJlY3Q7CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmVhZG9u
bHkpIFVJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXIgKnNlbGVjdGlvbkxvbmdQcmVzc1JlY29n
bml6ZXI7CitAZW5kCisKK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFVJV0tIYW5kbGVQb3Np
dGlvbikgeworICAgIFVJV0tIYW5kbGVUb3AgPSAwLAorICAgIFVJV0tIYW5kbGVSaWdodCA9IDEs
CisgICAgVUlXS0hhbmRsZUJvdHRvbSA9IDIsCisgICAgVUlXS0hhbmRsZUxlZnQgPSAzLAorfTsK
KworQGludGVyZmFjZSBVSVdLQXV0b2NvcnJlY3Rpb25SZWN0cyA6IE5TT2JqZWN0CitAZW5kCisK
K0BpbnRlcmZhY2UgVUlXS0F1dG9jb3JyZWN0aW9uUmVjdHMgKFVJV0tBdXRvY29ycmVjdGlvblJl
Y3RzRGV0YWlscykKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBhc3NpZ24pIENHUmVjdCBmaXJzdFJl
Y3Q7CitAcHJvcGVydHkgKG5vbmF0b21pYywgYXNzaWduKSBDR1JlY3QgbGFzdFJlY3Q7CitAZW5k
CisKK0BpbnRlcmZhY2UgVUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dCA6IE5TT2JqZWN0CitAZW5k
CisKK0BpbnRlcmZhY2UgVUlXS0F1dG9jb3JyZWN0aW9uQ29udGV4dCAoVUlXS0F1dG9jb3JyZWN0
aW9uQ29udGV4dERldGFpbHMpCitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNTdHJpbmcg
KmNvbnRleHRCZWZvcmVTZWxlY3Rpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgY29weSkgTlNT
dHJpbmcgKnNlbGVjdGVkVGV4dDsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBjb3B5KSBOU1N0cmlu
ZyAqY29udGV4dEFmdGVyU2VsZWN0aW9uOworQHByb3BlcnR5IChub25hdG9taWMsIGNvcHkpIE5T
U3RyaW5nICptYXJrZWRUZXh0OworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgTlNSYW5n
ZSByYW5nZUluTWFya2VkVGV4dDsKK0BlbmQKKworQGludGVyZmFjZSBVSVdLVGV4dEludGVyYWN0
aW9uQXNzaXN0YW50IDogVUlUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQKK0BlbmQKKworQGludGVy
ZmFjZSBVSVdLVGV4dEludGVyYWN0aW9uQXNzaXN0YW50IChVSVdLVGV4dEludGVyYWN0aW9uQXNz
aXN0YW50RGV0YWlscykKKy0gKHZvaWQpc2VsZWN0aW9uQ2hhbmdlZFdpdGhHZXN0dXJlQXQ6KENH
UG9pbnQpcG9pbnQgd2l0aEdlc3R1cmU6KFVJV0tHZXN0dXJlVHlwZSlnZXN0dXJlVHlwZSB3aXRo
U3RhdGU6KFVJR2VzdHVyZVJlY29nbml6ZXJTdGF0ZSlnZXN0dXJlU3RhdGUgd2l0aEZsYWdzOihV
SVdLU2VsZWN0aW9uRmxhZ3MpZmxhZ3M7CistICh2b2lkKXNob3dEaWN0aW9uYXJ5Rm9yOihOU1N0
cmluZyAqKXNlbGVjdGVkVGVybSBmcm9tUmVjdDooQ0dSZWN0KXByZXNlbnRhdGlvblJlY3Q7Cist
ICh2b2lkKXNlbGVjdGlvbkNoYW5nZWRXaXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2Vs
ZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25Ub3VjaCl0b3VjaDsKKy0gKHZvaWQpc2hvd1RleHRT
dHlsZU9wdGlvbnM7CistICh2b2lkKWhpZGVUZXh0U3R5bGVPcHRpb25zOworCitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHksIHJldGFpbikgVUlUYXBHZXN0dXJlUmVjb2duaXplciAqc2lu
Z2xlVGFwR2VzdHVyZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZWFkb25seSwgcmV0YWluKSBV
SUxvbmdQcmVzc0dlc3R1cmVSZWNvZ25pemVyICpsb3VwZUdlc3R1cmU7CitAZW5kCisKK0Bwcm90
b2NvbCBVSVdLSW50ZXJhY3Rpb25WaWV3UHJvdG9jb2wKKy0gKHZvaWQpY2hhbmdlU2VsZWN0aW9u
V2l0aEdlc3R1cmVBdDooQ0dQb2ludClwb2ludCB3aXRoR2VzdHVyZTooVUlXS0dlc3R1cmVUeXBl
KWdlc3R1cmVUeXBlIHdpdGhTdGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKXN0YXRlOwor
CistICh2b2lkKWNoYW5nZVNlbGVjdGlvbldpdGhUb3VjaEF0OihDR1BvaW50KXBvaW50IHdpdGhT
ZWxlY3Rpb25Ub3VjaDooVUlXS1NlbGVjdGlvblRvdWNoKXRvdWNoIGJhc2VJc1N0YXJ0OihCT09M
KWJhc2VJc1N0YXJ0OworLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25XaXRoVG91Y2hlc0Zyb206KENH
UG9pbnQpZnJvbSB0bzooQ0dQb2ludCl0byB3aXRoR2VzdHVyZTooVUlXS0dlc3R1cmVUeXBlKWdl
c3R1cmVUeXBlIHdpdGhTdGF0ZTooVUlHZXN0dXJlUmVjb2duaXplclN0YXRlKWdlc3R1cmVTdGF0
ZTsKKy0gKENHUmVjdCl0ZXh0Rmlyc3RSZWN0OworLSAoQ0dSZWN0KXRleHRMYXN0UmVjdDsKKwor
LSAodm9pZClyZXF1ZXN0QXV0b2NvcnJlY3Rpb25Db250ZXh0V2l0aENvbXBsZXRpb25IYW5kbGVy
Oih2b2lkICheKShVSVdLQXV0b2NvcnJlY3Rpb25Db250ZXh0ICphdXRvY29ycmVjdGlvbkNvbnRl
eHQpKWNvbXBsZXRpb25IYW5kbGVyOworCistICh2b2lkKXJlcXVlc3RBdXRvY29ycmVjdGlvblJl
Y3RzRm9yU3RyaW5nOihOU1N0cmluZyAqKWlucHV0IHdpdGhDb21wbGV0aW9uSGFuZGxlcjoodm9p
ZCAoXikoVUlXS0F1dG9jb3JyZWN0aW9uUmVjdHMgKnJlY3RzRm9ySW5wdXQpKWNvbXBsZXRpb25I
YW5kbGVyOworCistICh2b2lkKWFwcGx5QXV0b2NvcnJlY3Rpb246KE5TU3RyaW5nICopY29ycmVj
dGlvbiB0b1N0cmluZzooTlNTdHJpbmcgKilpbnB1dCB3aXRoQ29tcGxldGlvbkhhbmRsZXI6KHZv
aWQgKF4pKFVJV0tBdXRvY29ycmVjdGlvblJlY3RzICpyZWN0c0ZvckNvcnJlY3Rpb24pKWNvbXBs
ZXRpb25IYW5kbGVyOworCistIChOU1N0cmluZyAqKW1hcmtlZFRleHQ7CistIChCT09MKWhhc01h
cmtlZFRleHQ7CisKKy0gKEJPT0wpaGFzU2VsZWN0YWJsZVBvc2l0aW9uQXRQb2ludDooQ0dQb2lu
dClwb2ludDsKKy0gKEJPT0wpcG9pbnRJc0luQXNzaXN0ZWROb2RlOihDR1BvaW50KXBvaW50Owor
LSAoTlNBcnJheSAqKXdlYlNlbGVjdGlvblJlY3RzOworLSAodm9pZClfY2FuY2VsTG9uZ1ByZXNz
R2VzdHVyZVJlY29nbml6ZXI7CisKK0BvcHRpb25hbAorLSAodm9pZCljaGFuZ2VTZWxlY3Rpb25X
aXRoVG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rp
b25Ub3VjaCl0b3VjaCBiYXNlSXNTdGFydDooQk9PTCliYXNlSXNTdGFydCB3aXRoRmxhZ3M6KFVJ
V0tTZWxlY3Rpb25GbGFncylmbGFnczsKKy0gKHZvaWQpY2hhbmdlQmxvY2tTZWxlY3Rpb25XaXRo
VG91Y2hBdDooQ0dQb2ludClwb2ludCB3aXRoU2VsZWN0aW9uVG91Y2g6KFVJV0tTZWxlY3Rpb25U
b3VjaCl0b3VjaCBmb3JIYW5kbGU6KFVJV0tIYW5kbGVQb3NpdGlvbiloYW5kbGU7CistICh2b2lk
KWNsZWFyU2VsZWN0aW9uOworLSAodm9pZClyZXBsYWNlRGljdGF0ZWRUZXh0OihOU1N0cmluZyAq
KW9sZFRleHQgd2l0aFRleHQ6KE5TU3RyaW5nICopbmV3VGV4dDsKKy0gKHZvaWQpcmVxdWVzdERp
Y3RhdGlvbkNvbnRleHQ6KHZvaWQgKF4pKE5TU3RyaW5nICpzZWxlY3RlZFRleHQsIE5TU3RyaW5n
ICpwcmVmaXhUZXh0LCBOU1N0cmluZyAqcG9zdGZpeFRleHQpKWNvbXBsZXRpb25IYW5kbGVyOwor
LSAoQk9PTClwb2ludElzTmVhck1hcmtlZFRleHQ6KENHUG9pbnQpcG9pbnQ7CistIChOU1N0cmlu
ZyAqKXNlbGVjdGVkVGV4dDsKKy0gKHZvaWQpcmVwbGFjZVRleHQ6KE5TU3RyaW5nICopdGV4dCB3
aXRoVGV4dDooTlNTdHJpbmcgKil3b3JkOworLSAodm9pZClzZWxlY3RXb3JkRm9yUmVwbGFjZW1l
bnQ7CistIChCT09MKWlzUmVwbGFjZUFsbG93ZWQ7CistICh2b2lkKXNlbGVjdFdvcmRCYWNrd2Fy
ZDsKKy0gKFVJVmlldyAqKXVuc2NhbGVkVmlldzsKKy0gKENHRmxvYXQpaW52ZXJzZVNjYWxlOwor
LSAoQ0dSZWN0KXVub2JzY3VyZWRDb250ZW50UmVjdDsKK0BlbmQKKwordHlwZWRlZiBlbnVtIHsK
KyAgICBVSVdlYlNlbGVjdGlvbk1vZGVXZWIgPSAwLAorICAgIFVJV2ViU2VsZWN0aW9uTW9kZVRl
eHRPbmx5ID0gMSwKK30gVUlXZWJTZWxlY3Rpb25Nb2RlOworCitAcHJvdG9jb2wgVUlXZWJGb3Jt
QWNjZXNzb3J5RGVsZWdhdGU7CisKK0BpbnRlcmZhY2UgVUlXZWJGb3JtQWNjZXNzb3J5IDogVUlJ
bnB1dFZpZXcKK0BlbmQKKworQGludGVyZmFjZSBVSVdlYkZvcm1BY2Nlc3NvcnkgKERldGFpbHMp
CistICh2b2lkKWhpZGVBdXRvRmlsbEJ1dHRvbjsKKy0gKHZvaWQpc2V0Q2xlYXJWaXNpYmxlOihC
T09MKWZsYWc7CistICh2b2lkKXNob3dBdXRvRmlsbEJ1dHRvbldpdGhUaXRsZTooTlNTdHJpbmcg
Kil0aXRsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCByZXRhaW4pIFVJQmFyQnV0dG9uSXRlbSAq
X2F1dG9maWxsOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgaWQgPFVJV2ViRm9ybUFj
Y2Vzc29yeURlbGVnYXRlPiBkZWxlZ2F0ZTsKKworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2ln
biwgZ2V0dGVyPWlzTmV4dEVuYWJsZWQpIEJPT0wgbmV4dEVuYWJsZWQ7CitAcHJvcGVydHkgKG5v
bmF0b21pYywgYXNzaWduLCBnZXR0ZXI9aXNQcmV2aW91c0VuYWJsZWQpIEJPT0wgcHJldmlvdXNF
bmFibGVkOworQGVuZAorCitAcHJvdG9jb2wgVUlXZWJGb3JtQWNjZXNzb3J5RGVsZWdhdGUKKy0g
KHZvaWQpYWNjZXNzb3J5QXV0b0ZpbGw7CistICh2b2lkKWFjY2Vzc29yeUNsZWFyOworLSAodm9p
ZClhY2Nlc3NvcnlEb25lOworLSAodm9pZClhY2Nlc3NvcnlUYWI6KEJPT0wpaXNOZXh0OworQGVu
ZAorCitAaW50ZXJmYWNlIFVJV2ViR2VvbG9jYXRpb25Qb2xpY3lEZWNpZGVyIDogTlNPYmplY3QK
K0BlbmQKKworQGludGVyZmFjZSBVSVdlYkdlb2xvY2F0aW9uUG9saWN5RGVjaWRlciAoRGV0YWls
cykKKysgKGluc3RhbmNldHlwZSlzaGFyZWRQb2xpY3lEZWNpZGVyOworLSAodm9pZClkZWNpZGVQ
b2xpY3lGb3JHZW9sb2NhdGlvblJlcXVlc3RGcm9tT3JpZ2luOihpZClzZWN1cml0eU9yaWdpbiBy
ZXF1ZXN0aW5nVVJMOihOU1VSTCAqKXJlcXVlc3RpbmdVUkwgd2luZG93OihVSVdpbmRvdyAqKXdp
bmRvdyBsaXN0ZW5lcjooaWQpbGlzdGVuZXI7CitAZW5kCisKK3R5cGVkZWYgZW51bSB7CisgICAg
VUlXZWJUb3VjaEV2ZW50VG91Y2hCZWdpbiA9IDAsCisgICAgVUlXZWJUb3VjaEV2ZW50VG91Y2hD
aGFuZ2UgPSAxLAorICAgIFVJV2ViVG91Y2hFdmVudFRvdWNoRW5kID0gMiwKKyAgICBVSVdlYlRv
dWNoRXZlbnRUb3VjaENhbmNlbCA9IDMsCit9IFVJV2ViVG91Y2hFdmVudFR5cGU7CisKK3N0cnVj
dCBfVUlXZWJUb3VjaFBvaW50IHsKKyAgICBDR1BvaW50IGxvY2F0aW9uSW5TY3JlZW5Db29yZGlu
YXRlczsKKyAgICBDR1BvaW50IGxvY2F0aW9uSW5Eb2N1bWVudENvb3JkaW5hdGVzOworICAgIHVu
c2lnbmVkIGlkZW50aWZpZXI7CisgICAgVUlUb3VjaFBoYXNlIHBoYXNlOworICAgIENHRmxvYXQg
bWFqb3JSYWRpdXNJblNjcmVlbkNvb3JkaW5hdGVzOworfTsKKworc3RydWN0IF9VSVdlYlRvdWNo
RXZlbnQgeworICAgIFVJV2ViVG91Y2hFdmVudFR5cGUgdHlwZTsKKyAgICBOU1RpbWVJbnRlcnZh
bCB0aW1lc3RhbXA7CisgICAgQ0dQb2ludCBsb2NhdGlvbkluU2NyZWVuQ29vcmRpbmF0ZXM7Cisg
ICAgQ0dQb2ludCBsb2NhdGlvbkluRG9jdW1lbnRDb29yZGluYXRlczsKKyAgICBDR0Zsb2F0IHNj
YWxlOworICAgIENHRmxvYXQgcm90YXRpb247CisKKyAgICBib29sIGluSmF2YVNjcmlwdEdlc3R1
cmU7CisKKyAgICBzdHJ1Y3QgX1VJV2ViVG91Y2hQb2ludCogdG91Y2hQb2ludHM7CisgICAgdW5z
aWduZWQgdG91Y2hQb2ludENvdW50OworfTsKKworQHByb3RvY29sIFVJV2ViVG91Y2hFdmVudHNH
ZXN0dXJlUmVjb2duaXplckRlbGVnYXRlCistIChCT09MKWlzQW55VG91Y2hPdmVyQWN0aXZlQXJl
YTooTlNTZXQgKil0b3VjaGVzOworLSAoQk9PTClzaG91bGRJZ25vcmVXZWJUb3VjaDsKK0BlbmQK
KworQGludGVyZmFjZSBVSVdlYlRvdWNoRXZlbnRzR2VzdHVyZVJlY29nbml6ZXIgOiBVSUdlc3R1
cmVSZWNvZ25pemVyCitAZW5kCisKK0BpbnRlcmZhY2UgVUlXZWJUb3VjaEV2ZW50c0dlc3R1cmVS
ZWNvZ25pemVyIChEZXRhaWxzKQorLSAoaWQpaW5pdFdpdGhUYXJnZXQ6KGlkKXRhcmdldCBhY3Rp
b246KFNFTClhY3Rpb24gdG91Y2hEZWxlZ2F0ZTooaWQgPFVJV2ViVG91Y2hFdmVudHNHZXN0dXJl
UmVjb2duaXplckRlbGVnYXRlPilkZWxlZ2F0ZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBnZXR0
ZXI9aXNEZWZhdWx0UHJldmVudGVkKSBCT09MIGRlZmF1bHRQcmV2ZW50ZWQ7CitAcHJvcGVydHkg
KG5vbmF0b21pYywgcmVhZG9ubHkpIEJPT0wgaW5KYXZhU2NyaXB0R2VzdHVyZTsKK0Bwcm9wZXJ0
eSAobm9uYXRvbWljLCByZWFkb25seSkgQ0dQb2ludCBsb2NhdGlvbkluV2luZG93OworQHByb3Bl
cnR5IChub25hdG9taWMsIHJlYWRvbmx5KSBVSVdlYlRvdWNoRXZlbnRUeXBlIHR5cGU7CitAcHJv
cGVydHkgKG5vbmF0b21pYywgcmVhZG9ubHkpIGNvbnN0IHN0cnVjdCBfVUlXZWJUb3VjaEV2ZW50
ICpsYXN0VG91Y2hFdmVudDsKK0BlbmQKKwordHlwZWRlZiBOU19FTlVNKE5TSW50ZWdlciwgX1VJ
QmFja2Ryb3BWaWV3U3R5bGVQcml2YXRlKSB7CisgICAgX1VJQmFja2Ryb3BWaWV3U3R5bGVfTGln
aHQgPSAyMDIwLAorfTsKKworQGludGVyZmFjZSBfVUlCYWNrZHJvcFZpZXcgOiBVSVZpZXcKK0Bl
bmQKKworQGludGVyZmFjZSBfVUlCYWNrZHJvcFZpZXcgKF9VSUJhY2tkcm9wVmlld0RldGFpbHMp
CistIChpbnN0YW5jZXR5cGUpaW5pdFdpdGhQcml2YXRlU3R5bGU6KF9VSUJhY2tkcm9wVmlld1N0
eWxlUHJpdmF0ZSlzdHlsZTsKK0Bwcm9wZXJ0eSAobm9uYXRvbWljLCBzdHJvbmcsIHJlYWRvbmx5
KSBVSVZpZXcgKmNvbnRlbnRWaWV3OworQGVuZAorCitAaW50ZXJmYWNlIF9VSUhpZ2hsaWdodFZp
ZXcgOiBVSVZpZXcKK0BlbmQKKworQGludGVyZmFjZSBfVUlIaWdobGlnaHRWaWV3IChEZXRhaWxz
KQorLSAodm9pZClzZXRDb2xvcjooVUlDb2xvciAqKWFDb2xvcjsKKy0gKHZvaWQpc2V0Q29ybmVy
UmFkaWk6KE5TQXJyYXkgKiljb3JuZXJSYWRpaTsKKy0gKHZvaWQpc2V0Q29ybmVyUmFkaXVzOihD
R0Zsb2F0KWFDb3JuZXJSYWRpdXM7CistICh2b2lkKXNldEZyYW1lczooTlNBcnJheSAqKWZyYW1l
cyBib3VuZGFyeVJlY3Q6KENHUmVjdClhQm91bmRhclJlY3Q7CistICh2b2lkKXNldFF1YWRzOihO
U0FycmF5ICopcXVhZHMgYm91bmRhcnlSZWN0OihDR1JlY3QpYUJvdW5kYXJ5UmVjdDsKK0BlbmQK
KworQGludGVyZmFjZSBfVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uIDogTlNPYmplY3Qg
PFVJVmlld0NvbnRyb2xsZXJBbmltYXRlZFRyYW5zaXRpb25pbmdFeD4KK0BlbmQKKworQGludGVy
ZmFjZSBfVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uIChEZXRhaWxzKQorLSAoaW5zdGFu
Y2V0eXBlKSBpbml0V2l0aEN1cnJlbnRPcGVyYXRpb246KFVJTmF2aWdhdGlvbkNvbnRyb2xsZXJP
cGVyYXRpb24pb3BlcmF0aW9uOworQGVuZAorCitAcHJvdG9jb2wgX1VJTmF2aWdhdGlvbkludGVy
YWN0aXZlVHJhbnNpdGlvbkJhc2VEZWxlZ2F0ZTsKKworQGludGVyZmFjZSBfVUlOYXZpZ2F0aW9u
SW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSA6IFVJUGVyY2VudERyaXZlbkludGVyYWN0aXZlVHJh
bnNpdGlvbiA8VUlHZXN0dXJlUmVjb2duaXplckRlbGVnYXRlPgorQGVuZAorCitAaW50ZXJmYWNl
IF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlIChEZXRhaWxzKQorLSAoaWQp
aW5pdFdpdGhHZXN0dXJlUmVjb2duaXplclZpZXc6KFVJVmlldyAqKWdlc3R1cmVSZWNvZ25pemVy
VmlldyBhbmltYXRvcjooaWQ8VUlWaWV3Q29udHJvbGxlckFuaW1hdGVkVHJhbnNpdGlvbmluZz4p
YW5pbWF0b3IgZGVsZWdhdGU6KGlkPF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25C
YXNlRGVsZWdhdGU+KWRlbGVnYXRlOworQHByb3BlcnR5IChub25hdG9taWMsIGFzc2lnbikgQk9P
TCBzaG91bGRSZXZlcnNlVHJhbnNsYXRpb247CitAcHJvcGVydHkgKG5vbmF0b21pYywgcmV0YWlu
KSBfVUlOYXZpZ2F0aW9uUGFyYWxsYXhUcmFuc2l0aW9uICphbmltYXRpb25Db250cm9sbGVyOwor
QGVuZAorCitAcHJvdG9jb2wgX1VJTmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbkJhc2VE
ZWxlZ2F0ZSA8TlNPYmplY3Q+CistICh2b2lkKXN0YXJ0SW50ZXJhY3RpdmVUcmFuc2l0aW9uOihf
VUlOYXZpZ2F0aW9uSW50ZXJhY3RpdmVUcmFuc2l0aW9uQmFzZSAqKWludGVyYWN0aXZlVHJhbnNp
dGlvbjsKKy0gKEJPT0wpc2hvdWxkQmVnaW5JbnRlcmFjdGl2ZVRyYW5zaXRpb246KF9VSU5hdmln
YXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFuc2l0aW9uOwor
LSAoQk9PTClpbnRlcmFjdGl2ZVRyYW5zaXRpb246KF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRy
YW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFuc2l0aW9uIGdlc3R1cmVSZWNvZ25pemVyOihV
SUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXIgc2hvdWxkUmVjb2duaXplU2lt
dWx0YW5lb3VzbHlXaXRoR2VzdHVyZVJlY29nbml6ZXI6KFVJR2VzdHVyZVJlY29nbml6ZXIgKilv
dGhlckdlc3R1cmVSZWNvZ25pemVyOworLSAoQk9PTClpbnRlcmFjdGl2ZVRyYW5zaXRpb246KF9V
SU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFuc2l0
aW9uIGdlc3R1cmVSZWNvZ25pemVyOihVSUdlc3R1cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29n
bml6ZXIgc2hvdWxkUmVjZWl2ZVRvdWNoOihVSVRvdWNoICopdG91Y2g7CistIChVSVBhbkdlc3R1
cmVSZWNvZ25pemVyICopZ2VzdHVyZVJlY29nbml6ZXJGb3JJbnRlcmFjdGl2ZVRyYW5zaXRpb246
KF9VSU5hdmlnYXRpb25JbnRlcmFjdGl2ZVRyYW5zaXRpb25CYXNlICopaW50ZXJhY3RpdmVUcmFu
c2l0aW9uIFdpdGhUYXJnZXQ6KGlkKXRhcmdldCBhY3Rpb246KFNFTClhY3Rpb247CitAZW5kCisK
K0BpbnRlcmZhY2UgVUlXaW5kb3cgKERldGFpbHMpCisrIChtYWNoX3BvcnRfdClfc3luY2hyb25p
emVEcmF3aW5nQWNyb3NzUHJvY2Vzc2VzOworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViU2Nyb2xs
VmlldyA6IFVJU2Nyb2xsVmlldworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViVGlsZWRWaWV3IDog
VUlWaWV3CitAZW5kCisKK0BpbnRlcmZhY2UgVUlXZWJEb2N1bWVudFZpZXcgOiBVSVdlYlRpbGVk
VmlldworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViQnJvd3NlclZpZXcgOiBVSVdlYkRvY3VtZW50
VmlldworQGVuZAorCitAaW50ZXJmYWNlIFVJV2ViQnJvd3NlclZpZXcgKERldGFpbHMpCistIChX
ZWJWaWV3ICopd2ViVmlldzsKKy0gKHZvaWQpc2VuZFNjcm9sbEV2ZW50SWZOZWNlc3NhcnlXYXNV
c2VyU2Nyb2xsOihCT09MKXVzZXJTY3JvbGw7CitAZW5kCisKKyNlbmRpZiAvLyBVU0UoQVBQTEVf
SU5URVJOQUxfU0RLKQorCitAaW50ZXJmYWNlIFVJVmlldyAoSVBJKQorLSAoVUlTY3JvbGxWaWV3
ICopX3Njcm9sbGVyOworLSAoQ0dQb2ludClhY2Nlc3NpYmlsaXR5Q29udmVydFBvaW50RnJvbVNj
ZW5lUmVmZXJlbmNlQ29vcmRpbmF0ZXM6KENHUG9pbnQpcG9pbnQ7CistIChDR1JlY3QpYWNjZXNz
aWJpbGl0eUNvbnZlcnRSZWN0VG9TY2VuZVJlZmVyZW5jZUNvb3JkaW5hdGVzOihDR1JlY3QpcmVj
dDsKK0BlbmQKKworRVhURVJOX0NfQkVHSU4KKworQk9PTCBVSUtleWJvYXJkRW5hYmxlZElucHV0
TW9kZXNBbGxvd09uZVRvTWFueVNob3J0Y3V0cygpOworQk9PTCBVSUtleWJvYXJkRW5hYmxlZElu
cHV0TW9kZXNBbGxvd0NoaW5lc2VUcmFuc2xpdGVyYXRpb25Gb3JUZXh0KE5TU3RyaW5nICopOwor
Qk9PTCBVSUtleWJvYXJkQ3VycmVudElucHV0TW9kZUFsbG93c0NoaW5lc2VPckphcGFuZXNlUmVh
bmFseXNpc0ZvclRleHQoTlNTdHJpbmcgKik7CisKK2V4dGVybiBjb25zdCBmbG9hdCBVSVRhYmxl
Q2VsbERlZmF1bHRGb250U2l6ZTsKK2V4dGVybiBjb25zdCBmbG9hdCBVSVRhYmxlVmlld0NlbGxE
ZWZhdWx0Rm9udFNpemU7CisKK2V4dGVybiBOU1N0cmluZyAqIGNvbnN0IFVJV2luZG93RGlkTW92
ZVRvU2NyZWVuTm90aWZpY2F0aW9uOworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgVUlXaW5kb3dE
aWRSb3RhdGVOb3RpZmljYXRpb247CitleHRlcm4gTlNTdHJpbmcgKiBjb25zdCBVSVdpbmRvd05l
d1NjcmVlblVzZXJJbmZvS2V5OworZXh0ZXJuIE5TU3RyaW5nICogY29uc3QgVUlXaW5kb3dXaWxs
Um90YXRlTm90aWZpY2F0aW9uOworCitleHRlcm4gVUlBcHBsaWNhdGlvbiAqVUlBcHA7CisKK0JP
T0wgX1VJQXBwbGljYXRpb25Vc2VzTGVnYWN5VUkodm9pZCk7CisKK3ZvaWQgVUlJbWFnZURhdGFX
cml0ZVRvU2F2ZWRQaG90b3NBbGJ1bShOU0RhdGEgKmltYWdlRGF0YSwgaWQgY29tcGxldGlvblRh
cmdldCwgU0VMIGNvbXBsZXRpb25TZWxlY3Rvciwgdm9pZCAqY29udGV4dEluZm8pOworCitFWFRF
Uk5fQ19FTkQKLS0gCjIuMS4xIChBcHBsZSBHaXQtNTEpCgo=
</data>
<flag name="review"
          id="269107"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244192</attachid>
            <date>2015-01-07 13:57:39 -0800</date>
            <delta_ts>2015-01-07 15:40:53 -0800</delta_ts>
            <desc>Patch 2 of 4: WebCore and WebKit2 Xcode changes</desc>
            <filename>0002-WebCore-and-WebKit2-Xcode-changes.patch</filename>
            <type>text/plain</type>
            <size>20526</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSAzYWE5MTYwYWJiOWEzMWQ4MjE0YWQzNmMzNGNmMzhjMDZlZTBlNjI0IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRiYXRlc0B3ZWJraXQub3JnPgpEYXRl
OiBXZWQsIDcgSmFuIDIwMTUgMTM6NTA6MTYgLTA4MDAKU3ViamVjdDogW1BBVENIIDIvNF0gV2Vi
Q29yZSBhbmQgV2ViS2l0MiBYY29kZSBjaGFuZ2VzCgotLS0KIFNvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiAgfCAxMiArKysrLS0tCiBTb3VyY2UvV2ViS2l0
Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnIHwgIDUgKystCiBTb3VyY2UvV2Vi
S2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogIHwgNDQgKysrKysrKysrKysr
KysrKysrKysrKysKIDMgZmlsZXMgY2hhbmdlZCwgNTYgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlv
bnMoLSkKCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBi
eHByb2oKaW5kZXggY2FjMmI4ZC4uNmNhMTZhNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dl
YkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMzc2Myw3ICszNzYzLDYgQEAKIAkJ
QTE0ODMyQ0QxODdGNjgyRTAwREE2M0E2IC8qIFdlYkNvcmVUaHJlYWRTYWZlLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTQ4MzI5RjE4N0Y1MDg3MDBE
QTYzQTYgLyogV2ViQ29yZVRocmVhZFNhZmUuaCAqLzsgfTsKIAkJQTE0ODMyQ0UxODdGNjgzNDAw
REE2M0E2IC8qIFdlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0ODMyQTAxODdGNTA4NzAwREE2M0E2
IC8qIFdlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuY3BwICovOyB9OwogCQlBMTQ4MzJDRjE4
N0Y2ODQ3MDBEQTYzQTYgLyogV2ViQ29yZVRocmVhZFN5c3RlbUludGVyZmFjZS5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQTE0ODMyQTExODdGNTA4NzAw
REE2M0E2IC8qIFdlYkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwotCQlBMTcyMTgyNjE5REUxODNGMDA0NjRE
MTcgLyogX1VJSGlnaGxpZ2h0Vmlld1NQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gQTE3MjE4MjUxOURFMTgzRjAwNDY0RDE3IC8qIF9VSUhpZ2hsaWdo
dFZpZXdTUEkuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQlBMTdDODEyMjBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEExN0M4MTIwMEYy
QTVDRjcwMDVEQUFFQiAvKiBIVE1MRWxlbWVudEZhY3RvcnkuY3BwICovOyB9OwogCQlBMTdDODEy
MzBGMkE1Q0Y3MDA1REFBRUIgLyogSFRNTEVsZW1lbnRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBBMTdDODEyMTBGMkE1Q0Y3MDA1REFBRUIg
LyogSFRNTEVsZW1lbnRGYWN0b3J5LmggKi87IH07CiAJCUExQzc5NzE4MTg4M0REODIwMDBGNUUx
RiAvKiBET01HZXN0dXJlRXZlbnQuaCBpbiBDb3B5IEdlbmVyYXRlZCBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDBGNTREQ0REMTg4MEY5MDEwMDNFRURCQiAvKiBE
T01HZXN0dXJlRXZlbnQuaCAqLzsgfTsKQEAgLTU3OTgsNiArNTc5Nyw4IEBACiAJCUNFN0IyREI2
MTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTdCMkRCMjE1ODZBQkFEMDA5
OEIzRkEgLyogVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLm1tICovOyB9OwogCQlDRTgyNDVGMDE5
QjY3MUJBMDBBQzAxMjIgLyogQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTgyNDVFRjE5QjY3MUJBMDBB
QzAxMjIgLyogQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJQ0U5NTIwOEExODExQjQ3NTAwN0E1Mzky
IC8qIFdlYlNhZmVJbmNyZW1lbnRhbFN3ZWVwZXJJT1MuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEMyQzRDQjFEMTYxQTEzMTIwMEQyMTREQSAvKiBXZWJT
YWZlSW5jcmVtZW50YWxTd2VlcGVySU9TLmggKi87IH07CisJCUNFQzMzN0FEMUE0NjA3MUYwMDlC
ODUyMyAvKiBTZXJ2ZXJzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRUMzMzdBQzFBNDYwNzFGMDA5Qjg1MjMgLyogU2VydmVyc1NQSS5oICovOyBz
ZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CisJCUNFQzMzN0FGMUE0
NjA4NkQwMDlCODUyMyAvKiBHcmFwaGljc1NlcnZpY2VzU1BJLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRUMzMzdBRTFBNDYwODZEMDA5Qjg1MjMgLyog
R3JhcGhpY3NTZXJ2aWNlc1NQSS5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUNFQ0FERkM2MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRl
cm5hdGl2ZS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSBDRUNBREZDMjE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUuY3BwICov
OyB9OwogCQlDRUNBREZDNzE1Mzc3OEZGMDBFMzcwNjggLyogRGljdGF0aW9uQWx0ZXJuYXRpdmUu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFQ0FERkMz
MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25BbHRlcm5hdGl2ZS5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCUNFQ0FERkM4MTUzNzc4RkYwMEUz
NzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IENFQ0FERkM0MTUzNzc4RkYwMEUzNzA2OCAvKiBEaWN0YXRpb25D
b21tYW5kLmNwcCAqLzsgfTsKQEAgLTEwOTY4LDcgKzEwOTY5LDYgQEAKIAkJQTE0ODMyQTkxODdG
NTA4NzAwREE2M0E2IC8qIFdLVmlldy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBXS1ZpZXcuaDsgcGF0aCA9IGlvcy93YWsvV0tWaWV3Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUExNDgzMkFBMTg3RjUwODcwMERBNjNBNiAvKiBXS1ZpZXcubW0gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IG5hbWUgPSBXS1ZpZXcubW07IHBhdGggPSBpb3Mvd2Fr
L1dLVmlldy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTE0ODMyQUIxODdGNTA4
NzAwREE2M0E2IC8qIFdLVmlld1ByaXZhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV0tWaWV3UHJpdmF0ZS5oOyBwYXRoID0gaW9zL3dhay9XS1ZpZXdQcml2YXRlLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCUExNzIxODI1MTlERTE4M0YwMDQ2NEQxNyAvKiBf
VUlIaWdobGlnaHRWaWV3U1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IF9V
SUhpZ2hsaWdodFZpZXdTUEkuaDsgcGF0aCA9IGlvcy9fVUlIaWdobGlnaHRWaWV3U1BJLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUExN0M4MTIwMEYyQTVDRjcwMDVEQUFFQiAvKiBI
VE1MRWxlbWVudEZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gSFRNTEVsZW1lbnRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QTE3QzgxMjEwRjJBNUNGNzAwNURBQUVCIC8qIEhUTUxFbGVtZW50RmFjdG9yeS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBIVE1MRWxlbWVudEZhY3RvcnkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQTFDNzk3MUMxODgzRTUxRjAwMEY1RTFGIC8qIERPTUhUTUxU
ZXh0QXJlYUVsZW1lbnRQcml2YXRlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IERPTUhUTUxUZXh0QXJlYUVsZW1lbnRQcml2YXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xMzMwNyw2ICsxMzMwNyw4IEBACiAJCUNFN0IyREIxMTU4NkFCQUQwMDk4QjNGQSAv
KiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFuZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gVGV4dEFsdGVybmF0aXZlV2l0aFJhbmdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCUNFN0IyREIyMTU4NkFCQUQwMDk4QjNGQSAvKiBUZXh0QWx0ZXJuYXRpdmVXaXRoUmFu
Z2UubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBUZXh0QWx0ZXJu
YXRpdmVXaXRoUmFuZ2UubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFODI0NUVG
MTlCNjcxQkEwMEFDMDEyMiAvKiBDRk5ldHdvcmtDb25uZWN0aW9uQ2FjaGVTUEkuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ0ZOZXR3b3JrQ29ubmVjdGlvbkNhY2hlU1BJLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFQzMzN0FDMUE0NjA3MUYwMDlCODUyMyAv
KiBTZXJ2ZXJzU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNlcnZlcnNT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJQ0VDMzM3QUUxQTQ2MDg2RDAwOUI4
NTIzIC8qIEdyYXBoaWNzU2VydmljZXNTUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gR3JhcGhpY3NTZXJ2aWNlc1NQSS5oOyBwYXRoID0gaW9zL0dyYXBoaWNzU2VydmljZXNT
UEkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VDQURGQzIxNTM3NzhGRjAwRTM3
MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0aXZlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IERpY3RhdGlvbkFsdGVybmF0aXZlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQ0VDQURGQzMxNTM3NzhGRjAwRTM3MDY4IC8qIERpY3RhdGlvbkFsdGVybmF0
aXZlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERpY3RhdGlvbkFsdGVybmF0
aXZlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFQ0FERkM0MTUzNzc4RkYwMEUz
NzA2OCAvKiBEaWN0YXRpb25Db21tYW5kLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IERpY3RhdGlvbkNvbW1hbmQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwpAQCAtMTYyNjcsNiArMTYyNjksNyBAQAogCQkJCUNFMTI1MjU0MUExQkVDMEUwMDg2NDQ4MCAv
KiBOU1VSTERvd25sb2FkU1BJLmggKi8sCiAJCQkJNjUzRUY4MzgxOUEwNDNBRTAwNTIyMDJDIC8q
IE5TVVJMRmlsZVR5cGVNYXBwaW5nc1NQSS5oICovLAogCQkJCUNFMTI1MjNDMUExNjc2Q0QwMDg2
NDQ4MCAvKiBRdWFydHpDb3JlU1BJLmggKi8sCisJCQkJQ0VDMzM3QUMxQTQ2MDcxRjAwOUI4NTIz
IC8qIFNlcnZlcnNTUEkuaCAqLywKIAkJCSk7CiAJCQlwYXRoID0gY29jb2E7CiAJCQlzb3VyY2VU
cmVlID0gIjxncm91cD4iOwpAQCAtMTg1MjksOSArMTg1MzIsOSBAQAogCQlBMTcyMTgyNDE5REUx
ODJCMDA0NjREMTcgLyogaW9zICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJl
biA9ICgKLQkJCQlBMTcyMTgyNTE5REUxODNGMDA0NjREMTcgLyogX1VJSGlnaGxpZ2h0Vmlld1NQ
SS5oICovLAogCQkJCUNFMTI1MjNFMUExNkFFMTIwMDg2NDQ4MCAvKiBBVktpdFNQSS5oICovLAog
CQkJCUNFMTI1MjQyMUExNkMwMUEwMDg2NDQ4MCAvKiBDb3JlVUlTUEkuaCAqLywKKwkJCQlDRUMz
MzdBRTFBNDYwODZEMDA5Qjg1MjMgLyogR3JhcGhpY3NTZXJ2aWNlc1NQSS5oICovLAogCQkJCUNF
MTI1MjQ4MUExNkMzQkMwMDg2NDQ4MCAvKiBNb2JpbGVHZXN0YWx0U1BJLmggKi8sCiAJCQkJQ0Ux
MjUyNDAxQTE2QjFCNjAwODY0NDgwIC8qIE1lZGlhUGxheWVyU1BJLmggKi8sCiAJCQkJQ0UxMjUy
MzgxQTE2NkZBMDAwODY0NDgwIC8qIFF1aWNrTG9va1NQSS5oICovLApAQCAtMjMzOTAsNyArMjMz
OTMsNiBAQAogCQkJaXNhID0gUEJYSGVhZGVyc0J1aWxkUGhhc2U7CiAJCQlidWlsZEFjdGlvbk1h
c2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCi0JCQkJQTE3MjE4MjYxOURFMTgzRjAwNDY0
RDE3IC8qIF9VSUhpZ2hsaWdodFZpZXdTUEkuaCBpbiBIZWFkZXJzICovLAogCQkJCUZFMTE1RkFC
MTY3OTg4Q0QwMDI0OTEzNCAvKiBBYnN0cmFjdERhdGFiYXNlU2VydmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlGRTRBQURFRTE2RDJDMzc0MDAwMjZGRkMgLyogQWJzdHJhY3RTUUxTdGF0ZW1lbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUZFNEFBREVGMTZEMkMzNzQwMDAyNkZGQyAvKiBBYnN0cmFj
dFNRTFN0YXRlbWVudEJhY2tlbmQuaCBpbiBIZWFkZXJzICovLApAQCAtMjQ0NzMsNiArMjQ0NzUs
NyBAQAogCQkJCTBGNTgwQjBFMEYxMkEyNjkwMDUxRDY4OSAvKiBHcmFwaGljc0xheWVyQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUM2OTU5MzE2MUExRTUzMDAzNzMyQ0IgLyogR3JhcGhp
Y3NMYXllckZhY3RvcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTBGQTI0RDdBMTYyREY5MTkwMEEz
RjRDMCAvKiBHcmFwaGljc0xheWVyVXBkYXRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0VDMzM3
QUYxQTQ2MDg2RDAwOUI4NTIzIC8qIEdyYXBoaWNzU2VydmljZXNTUEkuaCBpbiBIZWFkZXJzICov
LAogCQkJCUIyQTAxNUFCMEFGNkNENTMwMDZCQ0UwRSAvKiBHcmFwaGljc1R5cGVzLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3N0ExN0E3QjEyRjI4OTBCMDA0RTAyRjYgLyogR3JhcGhpY3NUeXBlczNE
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDNFMjUxQzE4MDQ2QjA2MDBFMjdGNTYgLyogR3JpZENv
b3JkaW5hdGUuaCBpbiBIZWFkZXJzICovLApAQCAtMjYwNjQsNiArMjYwNjcsNyBAQAogCQkJCTA3
N0FGMTQwMThGNEFFNDAwMDAxRUQ2MSAvKiBTZXJpYWxpemVkUGxhdGZvcm1SZXByZXNlbnRhdGlv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDc3QUYxNDMxOEY0QjFCQjAwMDFFRDYxIC8qIFNlcmlh
bGl6ZWRQbGF0Zm9ybVJlcHJlc2VudGF0aW9uTWFjLmggaW4gSGVhZGVycyAqLywKIAkJCQlBNzVF
NDk3NjEwNzUyQUNCMDBDOUI4OTYgLyogU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDRUMzMzdBRDFBNDYwNzFGMDA5Qjg1MjMgLyogU2VydmVyc1NQSS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMkQ5M0FFRTMxOURGNTY0MTAwMkE4NkMzIC8qIFNlcnZpY2VzT3Zlcmxh
eUNvbnRyb2xsZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1NkIyQ0UxMThCNzEwMTYwMEZFQ0ZB
QSAvKiBTZXNzaW9uSUQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzMzA5RTEwMDk5RTY0OTIwMDU2
RTU4MSAvKiBTZXROb2RlQXR0cmlidXRlQ29tbWFuZC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9ucy9CYXNlVGFyZ2V0LnhjY29uZmlnIGIv
U291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlvbnMvQmFzZVRhcmdldC54Y2NvbmZpZwppbmRleCA2
NzJhZmI2Li4yYTNjNDBiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1cmF0aW9u
cy9CYXNlVGFyZ2V0LnhjY29uZmlnCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25z
L0Jhc2VUYXJnZXQueGNjb25maWcKQEAgLTI0LDcgKzI0LDEwIEBACiAjaW5jbHVkZSAiRmVhdHVy
ZURlZmluZXMueGNjb25maWciCiAjaW5jbHVkZSAiVmVyc2lvbi54Y2NvbmZpZyIKIAotRlJBTUVX
T1JLX1NFQVJDSF9QQVRIUyA9ICQoVU1CUkVMTEFfRlJBTUVXT1JLU19ESVIpICQoRlJBTUVXT1JL
X1NFQVJDSF9QQVRIUyk7CitGUkFNRVdPUktfU0VBUkNIX1BBVEhTX2Jhc2UgPSAkKFVNQlJFTExB
X0ZSQU1FV09SS1NfRElSKSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFMpOworRlJBTUVXT1JLX1NF
QVJDSF9QQVRIU1tzZGs9aXBob25lKl0gPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSkg
JChTREtST09UKSQoU1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3JrczsKK0ZSQU1F
V09SS19TRUFSQ0hfUEFUSFMgPSAkKEZSQU1FV09SS19TRUFSQ0hfUEFUSFNfYmFzZSk7CisKIEdD
Q19QUkVGSVhfSEVBREVSID0gV2ViS2l0MlByZWZpeC5oOwogR0NDX1BSRVBST0NFU1NPUl9ERUZJ
TklUSU9OUyA9ICQoREVCVUdfREVGSU5FUykgJChGRUFUVVJFX0RFRklORVMpIEZSQU1FV09SS19O
QU1FPVdlYktpdAogSEVBREVSX1NFQVJDSF9QQVRIUyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91
c3IvbG9jYWwvaW5jbHVkZSAkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvRm9yd2FyZGlu
Z0hlYWRlcnMgJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL2ljdSAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MiAkKEhFQURFUl9TRUFSQ0hfUEFUSFMpOwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmlu
ZGV4IDExZGFlYTQuLjMyZjAyMGMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTE2MTIsMTAgKzE2MTIsMTcgQEAKIAkJQ0RDQTg1
QzgxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIubW0gaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRENBODVDNjEzMkFC
QTRFMDBFOTYxREYgLyogV0tGdWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5tbSAqLzsgfTsKIAkJ
Q0RDQTg1QzkxMzJBQkE0RTAwRTk2MURGIC8qIFdLRnVsbFNjcmVlbldpbmRvd0NvbnRyb2xsZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENEQ0E4NUM3
MTMyQUJBNEUwMEU5NjFERiAvKiBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmggKi87IH07
CiAJCUNERTZFMkQzMTlGNzMxQzQwMEJBOTY4OCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBs
ZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENE
RTZFMkQyMTlGNzMxQzQwMEJBOTY4OCAvKiBXZWJPcmlnaW5EYXRhTWFuYWdlclN1cHBsZW1lbnQu
aCAqLzsgfTsKKwkJQ0UxQTBCRDIxQTQ4RTZDNjAwNTRFRjc0IC8qIEJLU1Byb2Nlc3NBc3NlcnRp
b25TUEkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENF
MUEwQkNDMUE0OEU2QzYwMDU0RUY3NCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggKi87IH07
CisJCUNFMUEwQkQzMUE0OEU2QzYwMDU0RUY3NCAvKiBDb3JlUERGU1BJLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRTFBMEJDRDFBNDhFNkM2MDA1NEVG
NzQgLyogQ29yZVBERlNQSS5oICovOyB9OworCQlDRTFBMEJENDFBNDhFNkM2MDA1NEVGNzQgLyog
RGF0YURldGVjdG9yc1VJU1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBDRTFBMEJDRTFBNDhFNkM2MDA1NEVGNzQgLyogRGF0YURldGVjdG9yc1VJU1BJ
LmggKi87IH07CisJCUNFMUEwQkQ1MUE0OEU2QzYwMDU0RUY3NCAvKiBNYW5hZ2VkQ29uZmlndXJh
dGlvblNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0UxQTBCQ0YxQTQ4RTZDNjAwNTRFRjc0IC8qIE1hbmFnZWRDb25maWd1cmF0aW9uU1BJLmggKi87
IH07CisJCUNFMUEwQkQ2MUE0OEU2QzYwMDU0RUY3NCAvKiBUQ0NTUEkuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFMUEwQkQwMUE0OEU2QzYwMDU0RUY3
NCAvKiBUQ0NTUEkuaCAqLzsgfTsKKwkJQ0UxQTBCRDcxQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJ
bnB1dFNQSS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
Q0UxQTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICovOyB9OwogCQlDRURB
MTJFMjE1MkNEMUFFMDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFREExMkRGMTUyQ0NB
RTgwMEQ5RTA4RCAvKiBXZWJBbHRlcm5hdGl2ZVRleHRDbGllbnQuY3BwICovOyB9OwogCQlDRURB
MTJFMzE1MkNEMUIzMDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBDRURBMTJERTE1MkNDQUU4
MDBEOUUwOEQgLyogV2ViQWx0ZXJuYXRpdmVUZXh0Q2xpZW50LmggKi87IH07CiAJCUNFREJBODQ3
MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQ0VEQkE4NDUxOUZEQTAwQTAw
Njg2NkE1IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHAgKi87IH07CiAJCUNFREJBODQ4
MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IENFREJBODQ2MTlGREEwMEEwMDY4
NjZBNSAvKiBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCAqLzsgfTsKKwkJQ0VFNEFFMkIxQTVE
Q0Y0MzAwMDJGNDlCIC8qIFVJS2l0U1BJLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIgLyogVUlLaXRTUEkuaCAq
LzsgfTsKIAkJRDNCOTQ4NDYxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0I5NDg0MjExRkY0
QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCAqLzsgfTsKIAkJRDNCOTQ4NDcxMUZGNEI2
NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVudS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gRDNCOTQ4NDMxMUZGNEI2NTAwMDMyQjM5IC8qIFdlYlBvcHVwTWVu
dS5oICovOyB9OwogCQlEM0I5NDg0ODExRkY0QjY1MDAwMzJCMzkgLyogV2ViU2VhcmNoUG9wdXBN
ZW51LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQz
Qjk0ODQ0MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJTZWFyY2hQb3B1cE1lbnUuY3BwICovOyB9OwpA
QCAtMzc0OCwxMCArMzc1NSwxNyBAQAogCQlDRENBODVDNzEzMkFCQTRFMDBFOTYxREYgLyogV0tG
dWxsU2NyZWVuV2luZG93Q29udHJvbGxlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS0Z1bGxTY3JlZW5XaW5kb3dDb250cm9sbGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUNEQ0E4NUQ0MTMyQUMyQjMwMEU5NjFERiAvKiBJT0tpdC5mcmFtZXdvcmsgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB3cmFwcGVyLmZy
YW1ld29yazsgbmFtZSA9IElPS2l0LmZyYW1ld29yazsgcGF0aCA9IC9TeXN0ZW0vTGlicmFyeS9G
cmFtZXdvcmtzL0lPS2l0LmZyYW1ld29yazsgc291cmNlVHJlZSA9ICI8YWJzb2x1dGU+IjsgfTsK
IAkJQ0RFNkUyRDIxOUY3MzFDNDAwQkE5Njg4IC8qIFdlYk9yaWdpbkRhdGFNYW5hZ2VyU3VwcGxl
bWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJPcmlnaW5EYXRhTWFu
YWdlclN1cHBsZW1lbnQuaDsgcGF0aCA9IE9yaWdpbkRhdGEvV2ViT3JpZ2luRGF0YU1hbmFnZXJT
dXBwbGVtZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNFMUEwQkNDMUE0OEU2
QzYwMDU0RUY3NCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEJLU1Byb2Nlc3NBc3NlcnRpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0UxQTBCQ0QxQTQ4RTZDNjAwNTRFRjc0IC8qIENvcmVQREZTUEkuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQ29yZVBERlNQSS5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQlDRTFBMEJDRTFBNDhFNkM2MDA1NEVGNzQgLyogRGF0YURldGVj
dG9yc1VJU1BJLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IERhdGFEZXRlY3Rv
cnNVSVNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQlDRTFBMEJDRjFBNDhFNkM2
MDA1NEVGNzQgLyogTWFuYWdlZENvbmZpZ3VyYXRpb25TUEkuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gTWFuYWdlZENvbmZpZ3VyYXRpb25TUEkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJQ0UxQTBCRDAxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUQ0NTUEkuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJQ0UxQTBCRDExQTQ4RTZDNjAwNTRFRjc0IC8qIFRleHRJbnB1dFNQSS5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBUZXh0SW5wdXRTUEkuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VEQTEyREUxNTJDQ0FFODAwRDlFMDhEIC8qIFdlYkFsdGVy
bmF0aXZlVGV4dENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJB
bHRlcm5hdGl2ZVRleHRDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQ0VE
QTEyREYxNTJDQ0FFODAwRDlFMDhEIC8qIFdlYkFsdGVybmF0aXZlVGV4dENsaWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJBbHRlcm5hdGl2ZVRleHRDbGll
bnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDRURCQTg0NTE5RkRBMDBBMDA2
ODY2QTUgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCUNFREJBODQ2MTlGREEwMEEwMDY4NjZBNSAvKiBXZWJTUUxp
dGVEYXRhYmFzZVRyYWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
U1FMaXRlRGF0YWJhc2VUcmFja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCUNF
RTRBRTJBMUE1RENGNDMwMDAyRjQ5QiAvKiBVSUtpdFNQSS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBVSUtpdFNQSS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
M0I5NDg0MjExRkY0QjY1MDAwMzJCMzkgLyogV2ViUG9wdXBNZW51LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBvcHVwTWVudS5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQzQjk0ODQzMTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJQb3B1cE1lbnUu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUG9wdXBNZW51Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQjk0ODQ0MTFGRjRCNjUwMDAzMkIzOSAvKiBXZWJT
ZWFyY2hQb3B1cE1lbnUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V2ViU2VhcmNoUG9wdXBNZW51LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTYz
OTEsNiArNjQwNSw3IEBACiAJCQkJMzcwOTUwNDIxOEE4OENERTAwODdBRTVEIC8qIGZvdW5kYXRp
b24gKi8sCiAJCQkJMUFFMDBENjgxODMyN0MxMjAwMDg3REQ3IC8qIElQQyAqLywKIAkJCQkxQTdF
ODE0RTExNTJEMjI0MDAwMzY5NUIgLyogbWFjICovLAorCQkJCUNFMUEwQkNBMUE0OEU2QzYwMDU0
RUY3NCAvKiBzcGkgKi8sCiAJCQkJNTFCMTVBN0QxMzg0MzlCMjAwMzIxQUQ4IC8qIHVuaXggKi8s
CiAJCQkJNTFBN0YyRjQxMjVCRjhENDAwOEFFQjFEIC8qIExvZ2dpbmcuY3BwICovLAogCQkJCTUx
QTdGMkYyMTI1QkY4MjAwMDhBRUIxRCAvKiBMb2dnaW5nLmggKi8sCkBAIC03MDg5LDYgKzcxMDQs
MjggQEAKIAkJCXBhdGggPSBGdWxsU2NyZWVuL21hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7CiAJCX07CisJCUNFMUEwQkNBMUE0OEU2QzYwMDU0RUY3NCAvKiBzcGkgKi8gPSB7CisJCQlp
c2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFMUEwQkNCMUE0OEU2QzYwMDU0
RUY3NCAvKiBpb3MgKi8sCisJCQkpOworCQkJcGF0aCA9IHNwaTsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CisJCUNFMUEwQkNCMUE0OEU2QzYwMDU0RUY3NCAvKiBpb3MgKi8gPSB7
CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCUNFMUEwQkNDMUE0OEU2
QzYwMDU0RUY3NCAvKiBCS1NQcm9jZXNzQXNzZXJ0aW9uU1BJLmggKi8sCisJCQkJQ0UxQTBCQ0Qx
QTQ4RTZDNjAwNTRFRjc0IC8qIENvcmVQREZTUEkuaCAqLywKKwkJCQlDRTFBMEJDRTFBNDhFNkM2
MDA1NEVGNzQgLyogRGF0YURldGVjdG9yc1VJU1BJLmggKi8sCisJCQkJQ0UxQTBCQ0YxQTQ4RTZD
NjAwNTRFRjc0IC8qIE1hbmFnZWRDb25maWd1cmF0aW9uU1BJLmggKi8sCisJCQkJQ0UxQTBCRDAx
QTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oICovLAorCQkJCUNFMUEwQkQxMUE0OEU2QzYwMDU0
RUY3NCAvKiBUZXh0SW5wdXRTUEkuaCAqLywKKwkJCQlDRUU0QUUyQTFBNURDRjQzMDAwMkY0OUIg
LyogVUlLaXRTUEkuaCAqLywKKwkJCSk7CisJCQlwYXRoID0gaW9zOworCQkJc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsKKwkJfTsKIAkJRTE3MDg3NkQxNkQ2Q0E3MjAwRjk5MjI2IC8qIEZpbGVBUEkg
Ki8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNzI4OCw2ICs3
MzI1LDcgQEAKIAkJCQk1MThFOEVGOTE2QjIwOTFDMDBFOTE0MjkgLyogQXV0aGVudGljYXRpb25N
YW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTJGNThBMzEyQTg4M0FEMDA2Mjk1MzAgLyog
QXV0aGVudGljYXRpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDRDEw
MkRBMTg2Njc3MDYwMEVENDI5RCAvKiBBdXRvQ29ycmVjdGlvbkNhbGxiYWNrLmggaW4gSGVhZGVy
cyAqLywKKwkJCQlDRTFBMEJEMjFBNDhFNkM2MDA1NEVGNzQgLyogQktTUHJvY2Vzc0Fzc2VydGlv
blNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE2NEEyRjIxOTFBRjE0RTAwMTA3MzdEIC8qIEJs
b2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQlFMTcwODc2QzE2RDZDQTY5MDBGOTkyMjYgLyogQmxvYlJlZ2lzdHJ5UHJveHkuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTRGNjAxNDMyMTU1QzVBQTIwMDFGQkRFMCAvKiBCbG9ja2luZ1Jlc3Bv
bnNlTWFwLmggaW4gSGVhZGVycyAqLywKQEAgLTczMDQsNiArNzM0Miw3IEBACiAJCQkJNTEzNjE4
M0UxNjMxMjZEQTAwQTk5RERFIC8qIENvbm5lY3Rpb25TdGFjay5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTEwNkQ3QzQxOEJEQkU3MzAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dERhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCUNEQzM4MzBDMTcyMTIyODIwMDhBMkZDMyAvKiBDb29raWVTdG9y
YWdlU2hpbUxpYnJhcnkuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFMUEwQkQzMUE0OEU2QzYwMDU0
RUY3NCAvKiBDb3JlUERGU1BJLmggaW4gSGVhZGVycyAqLywKIAkJCQlCODc4QjYxNTEzMzQyOERD
MDA2ODg4RTkgLyogQ29ycmVjdGlvblBhbmVsLmggaW4gSGVhZGVycyAqLywKIAkJCQkyOTg5QTQx
NDE2N0QxODRCMDA0Rjk2RDIgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2VyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkyOTg0RjU4OTE2NEJBMDk1MDA0QkMwQzYgLyogQ3VzdG9tUHJvdG9jb2xNYW5hZ2Vy
TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApAQCAtNzMxNSw2ICs3MzU0LDcgQEAKIAkJCQk1MTdE
RDVCRjE4MERBN0QzMDA4MTY2MEIgLyogRGF0YWJhc2VQcm9jZXNzUHJveHkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxMkE5NzZBMTgwRTA5QjgwMDM5QTE0OSAvKiBEYXRhYmFzZVByb2Nlc3NQcm94
eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTAzMkYxRTE4MEY3OTE3MDA5NjFCQjcg
LyogRGF0YWJhc2VUb1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAorCQkJCUNFMUEwQkQ0MUE0OEU2QzYwMDU0RUY3NCAvKiBEYXRhRGV0ZWN0b3JzVUlTUEkuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBQzc1MzgwMTgzQkU1MEYwMDcyQ0IxNSAvKiBEYXRhUmVmZXJl
bmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0U4MUQ5OTEzMUFFMDIxMDAyNDE5MTAgLyogRGlj
dGlvbmFyeVBvcHVwSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE4RThGMDgxNkIyMDkzNzAw
RTkxNDI5IC8qIERvd25sb2FkLmggaW4gSGVhZGVycyAqLywKQEAgLTczODcsNiArNzQyNyw3IEBA
CiAJCQkJNTFBN0YyRjMxMjVCRjgyMDAwOEFFQjFEIC8qIExvZ2dpbmcuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDQzU2Rjc5MTE1OTk1N0QwMDFDQ0FGOSAvKiBNYWNoUG9ydC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUEyNEI1RjMxMUY1MzFFODAwQzM4MjY5IC8qIE1hY2hVdGlsaXRpZXMuaCBpbiBI
ZWFkZXJzICovLAorCQkJCUNFMUEwQkQ1MUE0OEU2QzYwMDU0RUY3NCAvKiBNYW5hZ2VkQ29uZmln
dXJhdGlvblNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE5MzNERUYxOTY1RUIzMTAwOEFDM0VB
IC8qIE1lbnVVdGlsaXRpZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMjMyOTAzMTYyQzg2NzMw
MEQ4MkY3QSAvKiBNZXNzYWdlRGVjb2Rlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEyMzI4RkYx
NjJDODY2QTAwRDgyRjdBIC8qIE1lc3NhZ2VFbmNvZGVyLmggaW4gSGVhZGVycyAqLywKQEAgLTc1
MzcsMTIgKzc1NzgsMTUgQEAKIAkJCQkxQUIzMUE5NzE2QkM2ODgxMDBGNkRCQzkgLyogU3RvcmFn
ZU1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFMDBENkMxODMyN0MxMjAw
MDg3REQ3IC8qIFN0cmluZ1JlZmVyZW5jZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMjk2QkQ4NUQx
NTAxOUJDMzAwNzFGNDI0IC8qIFN0cmluZ1V0aWxpdGllcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
Q0UxQTBCRDYxQTQ4RTZDNjAwNTRFRjc0IC8qIFRDQ1NQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFBNDE3Q0IxMkMwMENDQTAwMkJFNjdCIC8qIFRleHRDaGVja2VyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxUVE0MTdDQjEyQzAwQ0NBMDAyQkU2N0IgLyogVGV4dENoZWNrZXJDb21wbGV0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTVFNERBNDEyRDNCRDNEMDA5OUEyQkIgLyogVGV4dENoZWNr
ZXJTdGF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJQ0UxQTBCRDcxQTQ4RTZDNjAwNTRFRjc0IC8q
IFRleHRJbnB1dFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjI2MzkxNDY4N0MzOTAwNEEx
RThBIC8qIFRpbGVkQ29yZUFuaW1hdGlvbkRyYXdpbmdBcmVhLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUYwNUQ4NzE0Njg4MzQ4MDA4QjFFODEgLyogVGlsZWRDb3JlQW5pbWF0aW9uRHJhd2luZ0Fy
ZWFQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGRTQzNjYxOEI2QzA4MTAwOUM3QTQ4IC8q
IFVJRGVsZWdhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCUNFRTRBRTJCMUE1RENGNDMwMDAyRjQ5
QiAvKiBVSUtpdFNQSS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1RTc3MzAxODQwMTU4MDAwMDcy
MDNGIC8qIFVuaXF1ZUlEQkRhdGFiYXNlLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTY1NEYwMDE4
NEVGMzRBMDA3REM4MzcgLyogVW5pcXVlSURCRGF0YWJhc2VCYWNraW5nU3RvcmUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNjU0RUZFMTg0RUYzM0YwMDdEQzgzNyAvKiBVbmlxdWVJREJEYXRhYmFz
ZUJhY2tpbmdTdG9yZVNRTGl0ZS5oIGluIEhlYWRlcnMgKi8sCi0tIAoyLjEuMSAoQXBwbGUgR2l0
LTUxKQoK
</data>
<flag name="review"
          id="269108"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244193</attachid>
            <date>2015-01-07 13:58:49 -0800</date>
            <delta_ts>2015-01-07 15:47:07 -0800</delta_ts>
            <desc>Patch 3 of 4: DumpRenderTree changes</desc>
            <filename>0003-DumpRenderTree-changes.patch</filename>
            <type>text/plain</type>
            <size>6430</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSA1YjI0ODRmMmYzZmM3NzgzZGZiY2MwNWQ3NGFmNzAwZjc0NzE4MDJjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRiYXRlc0B3ZWJraXQub3JnPgpEYXRl
OiBXZWQsIDcgSmFuIDIwMTUgMTM6NTE6MDMgLTA4MDAKU3ViamVjdDogW1BBVENIIDMvNF0gRHVt
cFJlbmRlclRyZWUgY2hhbmdlcwoKLS0tCiBUb29scy9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB8IDE4ICsrKysrKysrKysrKysrKysrKwogVG9vbHMvRHVt
cFJlbmRlclRyZWUvaW9zL0R1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcuaCAgfCAgMiArLQogVG9v
bHMvRHVtcFJlbmRlclRyZWUvaW9zL1BpeGVsRHVtcFN1cHBvcnRJT1MubW0gICAgICAgfCAgNCAr
LS0tCiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlvbnMvQmFzZS54Y2NvbmZp
ZyB8ICAyICstCiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVtcFJlbmRlclRyZWUubW0gICAg
ICAgICAgICB8ICA0ICstLS0KIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZVdpbmRvdy5oICAgICAgIHwgIDMgKy0tCiBUb29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRT
ZW5kaW5nQ29udHJvbGxlci5tbSAgICB8ICA0ICsrLS0KIFRvb2xzL0R1bXBSZW5kZXJUcmVlL21h
Yy9UZXN0UnVubmVyTWFjLm1tICAgICAgICAgICAgIHwgIDIgKy0KIDggZmlsZXMgY2hhbmdlZCwg
MjYgaW5zZXJ0aW9ucygrKSwgMTMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvVG9vbHMvQ2hh
bmdlTG9nIGIvVG9vbHMvQ2hhbmdlTG9nCmluZGV4IDc2NjA3YzQuLjZiNjFkZTcgMTAwNjQ0Ci0t
LSBhL1Rvb2xzL0NoYW5nZUxvZworKysgYi9Ub29scy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMSBA
QAorMjAxNS0wMS0wNyAgRGFuaWVsIEJhdGVzICA8ZGFiYXRlc0BhcHBsZS5jb20+CisKKyAgICAg
ICAgW2lPU10gTWFrZSBXZWJLaXQyIGJ1aWxkIHdpdGggcHVibGljIGlPUyBTREsKKyAgICAgICAg
aHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTEzNzM3MQorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVzZSBTUEkgd3JhcHBlciBo
ZWFkZXJzIGluc3RlYWQgb2YgZGlyZWN0bHkgcmVmZXJlbmNpbmcgcHJpdmF0ZSBTUEkgaGVhZGVy
cy4KKworICAgICAgICAqIER1bXBSZW5kZXJUcmVlL2lvcy9EdW1wUmVuZGVyVHJlZUJyb3dzZXJW
aWV3Lmg6CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvaW9zL1BpeGVsRHVtcFN1cHBvcnRJT1Mu
bW06CisgICAgICAgICogRHVtcFJlbmRlclRyZWUvbWFjL0NvbmZpZ3VyYXRpb25zL0Jhc2UueGNj
b25maWc6IEFwcGVuZCBkaXJlY3RvcnkgU291cmNlL1dlYktpdDIvUGxhdGZvcm0vc3BpL2lvcwor
ICAgICAgICB0byB0aGUgbGlzdCBvZiBoZWFkZXIgc2VhcmNoIGRpcmVjdG9yaWVzIHNvIHRoYXQg
d2UgY2FuIGluY2x1ZGUgaGVhZGVyIFVJS2l0U1BJLmguCisgICAgICAgICogRHVtcFJlbmRlclRy
ZWUvbWFjL0R1bXBSZW5kZXJUcmVlLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9E
dW1wUmVuZGVyVHJlZVdpbmRvdy5oOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9FdmVu
dFNlbmRpbmdDb250cm9sbGVyLm1tOgorICAgICAgICAqIER1bXBSZW5kZXJUcmVlL21hYy9UZXN0
UnVubmVyTWFjLm1tOgorCiAyMDE1LTAxLTA2ICBBbmRlcnMgQ2FybHNzb24gIDxhbmRlcnNjYUBh
cHBsZS5jb20+CiAKICAgICAgICAgVHJ5IHRvIGZpeCB0aGUgTW91bnRhaW4gTGlvbiBidWlsZC4K
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9EdW1wUmVuZGVyVHJlZUJyb3dz
ZXJWaWV3LmggYi9Ub29scy9EdW1wUmVuZGVyVHJlZS9pb3MvRHVtcFJlbmRlclRyZWVCcm93c2Vy
Vmlldy5oCmluZGV4IDYyNjQ3NzcuLjViZjQ0OTUgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBSZW5k
ZXJUcmVlL2lvcy9EdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3LmgKKysrIGIvVG9vbHMvRHVtcFJl
bmRlclRyZWUvaW9zL0R1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcuaApAQCAtMjQsNyArMjQsNyBA
QAogICovCiAKIAotI2ltcG9ydCA8VUlLaXQvVUlXZWJCcm93c2VyVmlldy5oPgorI2ltcG9ydCAi
VUlLaXRTUEkuaCIKIAogQGludGVyZmFjZSBEdW1wUmVuZGVyVHJlZUJyb3dzZXJWaWV3IDogVUlX
ZWJCcm93c2VyVmlldyB7CiAgICAgQk9PTCBfc2Nyb2xsaW5nVXNlc1VJV2ViU2Nyb2xsVmlldzsK
ZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL2lvcy9QaXhlbER1bXBTdXBwb3J0SU9T
Lm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KaW5k
ZXggNzJiNTI2Yy4uMzk5MTQxYSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9z
L1BpeGVsRHVtcFN1cHBvcnRJT1MubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvaW9zL1Bp
eGVsRHVtcFN1cHBvcnRJT1MubW0KQEAgLTMxLDE0ICszMSwxMiBAQAogCiAjaW1wb3J0ICJEdW1w
UmVuZGVyVHJlZS5oIgogI2ltcG9ydCAiRHVtcFJlbmRlclRyZWVXaW5kb3cuaCIKKyNpbXBvcnQg
IlVJS2l0U1BJLmgiCiAKICNkZWZpbmUgQ09NTU9OX0RJR0VTVF9GT1JfT1BFTlNTTAogI2ltcG9y
dCA8Q29tbW9uQ3J5cHRvL0NvbW1vbkRpZ2VzdC5oPgogI2ltcG9ydCA8TW9iaWxlQ29yZVNlcnZp
Y2VzL1VUQ29yZVR5cGVzLmg+CiAjaW1wb3J0IDxRdWFydHpDb3JlL1F1YXJ0ekNvcmUuaD4KLSNp
bXBvcnQgPFVJS2l0L1VJS2l0Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVZpZXdfUHJpdmF0ZS5oPgot
I2ltcG9ydCA8VUlLaXQvVUlXZWJCcm93c2VyVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYkNv
cmVUaHJlYWQuaD4KICNpbXBvcnQgPHd0Zi9SZWZDb3VudGVkLmg+CiAjaW1wb3J0IDx3dGYvUmVm
UHRyLmg+CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvQ29uZmlndXJhdGlv
bnMvQmFzZS54Y2NvbmZpZyBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9u
cy9CYXNlLnhjY29uZmlnCmluZGV4IGJkMTc0OWEuLjk2NjVkMDcgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCisrKyBiL1Rv
b2xzL0R1bXBSZW5kZXJUcmVlL21hYy9Db25maWd1cmF0aW9ucy9CYXNlLnhjY29uZmlnCkBAIC0y
Niw3ICsyNiw3IEBACiBDTEFOR19DWFhfTEFOR1VBR0VfU1RBTkRBUkQgPSBnbnUrKzB4OwogQ0xB
TkdfQ1hYX0xJQlJBUlkgPSBsaWJjKys7CiBDTEFOR19XQVJOX0NYWDBYX0VYVEVOU0lPTlMgPSBO
TzsKLUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKEJVSUxUX1BST0RVQ1RTX0RJUikvdXNyL2xvY2Fs
L2luY2x1ZGUgJChCVUlMVF9QUk9EVUNUU19ESVIpL1dlYkNvcmVUZXN0U3VwcG9ydCBGb3J3YXJk
aW5nSGVhZGVycyAkKEhFQURFUl9TRUFSQ0hfUEFUSFNfJChQTEFURk9STV9OQU1FKSkgJChTUkNS
T09UKS8uLi8uLi9Tb3VyY2UvSmF2YVNjcmlwdENvcmUvaWN1OworSEVBREVSX1NFQVJDSF9QQVRI
UyA9ICQoQlVJTFRfUFJPRFVDVFNfRElSKS91c3IvbG9jYWwvaW5jbHVkZSAkKEJVSUxUX1BST0RV
Q1RTX0RJUikvV2ViQ29yZVRlc3RTdXBwb3J0IEZvcndhcmRpbmdIZWFkZXJzICQoSEVBREVSX1NF
QVJDSF9QQVRIU18kKFBMQVRGT1JNX05BTUUpKSAkKFNSQ1JPT1QpLy4uLy4uL1NvdXJjZS9KYXZh
U2NyaXB0Q29yZS9pY3UgJChTUkNST09UKS8uLi8uLi9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9z
cGkvaW9zOwogSEVBREVSX1NFQVJDSF9QQVRIU19pcGhvbmVvcyA9ICQoU0RLUk9PVCkvdXNyL2xv
Y2FsL2luY2x1ZGUgJChTREtST09UKS91c3IvbG9jYWwvaW5jbHVkZS9XZWJDb3JlVGVzdFN1cHBv
cnQ7CiBIRUFERVJfU0VBUkNIX1BBVEhTX2lwaG9uZXNpbXVsYXRvciA9ICQoSEVBREVSX1NFQVJD
SF9QQVRIU19pcGhvbmVvcyk7CiBIRUFERVJfU0VBUkNIX1BBVEhTX21hY29zeCA9IG1hYy9JbnRl
cm5hbEhlYWRlcnMgJChORVhUX1JPT1QpL3Vzci9sb2NhbC9pbmNsdWRlL1dlYkNvcmVUZXN0U3Vw
cG9ydDsKZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJl
ZS5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZS5tbQppbmRleCA3
NmZlNzExLi5kYWJhNTBlIDEwMDY0NAotLS0gYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRHVt
cFJlbmRlclRyZWUubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL0R1bXBSZW5kZXJU
cmVlLm1tCkBAIC05OSwxMiArOTksMTAgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKICNpbXBvcnQg
IkR1bXBSZW5kZXJUcmVlQnJvd3NlclZpZXcuaCIKKyNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjaW1w
b3J0IDxDb3JlR3JhcGhpY3MvQ0dGb250REIuaD4KICNpbXBvcnQgPFF1YXJ0ekNvcmUvUXVhcnR6
Q29yZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+CiAjaW1wb3J0
IDxVSUtpdC9VSU1hdGguaD4KLSNpbXBvcnQgPFVJS2l0L1VJV2ViQnJvd3NlclZpZXcuaD4KLSNp
bXBvcnQgPFVJS2l0L1VJV2ViU2Nyb2xsVmlldy5oPgogI2ltcG9ydCA8V2ViS2l0L1dBS1dpbmRv
dy5oPgogI2ltcG9ydCA8V2ViS2l0L1dlYkNvcmVUaHJlYWQuaD4KICNpbXBvcnQgPFdlYktpdC9X
ZWJDb3JlVGhyZWFkUnVuLmg+CmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMv
RHVtcFJlbmRlclRyZWVXaW5kb3cuaCBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVu
ZGVyVHJlZVdpbmRvdy5oCmluZGV4IGQ4YzBiOWQuLjZkN2ZjYzQgMTAwNjQ0Ci0tLSBhL1Rvb2xz
L0R1bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZVdpbmRvdy5oCisrKyBiL1Rvb2xzL0R1
bXBSZW5kZXJUcmVlL21hYy9EdW1wUmVuZGVyVHJlZVdpbmRvdy5oCkBAIC0zMSw4ICszMSw3IEBA
CiAjaWYgIVBMQVRGT1JNKElPUykKICNpbXBvcnQgPEFwcEtpdC9BcHBLaXQuaD4KICNlbHNlCi0j
aW1wb3J0IDxVSUtpdC9VSUtpdC5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJCcm93c2VyVmlldy5o
PgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgPFdlYktpdC9XQUtXaW5kb3cuaD4KICNl
bmRpZgogCmRpZmYgLS1naXQgYS9Ub29scy9EdW1wUmVuZGVyVHJlZS9tYWMvRXZlbnRTZW5kaW5n
Q29udHJvbGxlci5tbSBiL1Rvb2xzL0R1bXBSZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250
cm9sbGVyLm1tCmluZGV4IGUwMzQxOTguLjM3NDZjNjIgMTAwNjQ0Ci0tLSBhL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCisrKyBiL1Rvb2xzL0R1bXBS
ZW5kZXJUcmVlL21hYy9FdmVudFNlbmRpbmdDb250cm9sbGVyLm1tCkBAIC00MSwxMSArNDEsMTEg
QEAKICNpbXBvcnQgPFdlYktpdC9XZWJWaWV3UHJpdmF0ZS5oPgogCiAjaWYgIVBMQVRGT1JNKElP
UykKLSNpbXBvcnQgPENhcmJvbi9DYXJib24uaD4gICAgICAgICAgICAgICAgICAgICAgICAgICAv
LyBmb3IgR2V0Q3VycmVudEV2ZW50VGltZSgpCisjaW1wb3J0IDxDYXJib24vQ2FyYm9uLmg+IC8v
IGZvciBHZXRDdXJyZW50RXZlbnRUaW1lKCkKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQot
I2ltcG9ydCA8R3JhcGhpY3NTZXJ2aWNlcy9HcmFwaGljc1NlcnZpY2VzLmg+ICAgICAgIC8vIGZv
ciBHU0N1cnJlbnRFdmVudFRpbWVzdGFtcCgpCisjaW1wb3J0IDxXZWJDb3JlL0dyYXBoaWNzU2Vy
dmljZXNTUEkuaD4gLy8gZm9yIEdTQ3VycmVudEV2ZW50VGltZXN0YW1wKCkKICNpbXBvcnQgPFdl
YktpdC9LZXlFdmVudENvZGVzSU9TLmg+CiAjaW1wb3J0IDxXZWJLaXQvV0FLV2luZG93Lmg+CiAj
aW1wb3J0IDxXZWJLaXQvV2ViRXZlbnQuaD4KZGlmZiAtLWdpdCBhL1Rvb2xzL0R1bXBSZW5kZXJU
cmVlL21hYy9UZXN0UnVubmVyTWFjLm1tIGIvVG9vbHMvRHVtcFJlbmRlclRyZWUvbWFjL1Rlc3RS
dW5uZXJNYWMubW0KaW5kZXggNzM2Yzg4MC4uMmEzOTY1YSAxMDA2NDQKLS0tIGEvVG9vbHMvRHVt
cFJlbmRlclRyZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KKysrIGIvVG9vbHMvRHVtcFJlbmRlclRy
ZWUvbWFjL1Rlc3RSdW5uZXJNYWMubW0KQEAgLTgxLDcgKzgxLDcgQEAKICNlbmRpZgogCiAjaWYg
UExBVEZPUk0oSU9TKQotI2ltcG9ydCA8VUlLaXQvVUlXZWJCcm93c2VyVmlldy5oPgorI2ltcG9y
dCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgPFdlYktpdC9XZWJDb3JlVGhyZWFkLmg+CiAjaW1wb3J0
IDxXZWJLaXQvV2ViQ29yZVRocmVhZE1lc3NhZ2UuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJET01P
cGVyYXRpb25zUHJpdmF0ZS5oPgotLSAKMi4xLjEgKEFwcGxlIEdpdC01MSkKCg==
</data>
<flag name="review"
          id="269109"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>244194</attachid>
            <date>2015-01-07 13:59:22 -0800</date>
            <delta_ts>2015-01-07 15:55:13 -0800</delta_ts>
            <desc>Patch 4 of 4: Substitute SPI wrapper headers for actual headers; add WTF EXTERN_C_{BEGIN, END}</desc>
            <filename>0004-Substitute-SPI-wrapper-headers-for-actual-headers-ad.patch</filename>
            <type>text/plain</type>
            <size>43326</size>
            <attacher name="Daniel Bates">dbates</attacher>
            
              <data encoding="base64">RnJvbSA3ZmUyODlmNGEzOTE2ZjhmMmE1NGVkMjgxZjViYjc3OWU2YjkzNzAzIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBEYW5pZWwgQmF0ZXMgPGRiYXRlc0B3ZWJraXQub3JnPgpEYXRl
OiBXZWQsIDcgSmFuIDIwMTUgMTM6NTM6MjMgLTA4MDAKU3ViamVjdDogW1BBVENIIDQvNF0gU3Vi
c3RpdHV0ZSBTUEkgd3JhcHBlciBoZWFkZXJzIGZvciBhY3R1YWwgaGVhZGVyczsgYWRkCiBXVEYg
RVhURVJOX0Nfe0JFR0lOLCBFTkR9CgotLS0KIFNvdXJjZS9XVEYvQ2hhbmdlTG9nICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIHwgMTUgKysrKysKIFNvdXJjZS9XVEYvd3RmL0NvbXBpbGVy
LmggICAgICAgICAgICAgICAgICAgICAgICAgIHwgIDkgKysrCiBTb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDExICsrKysKIFNvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3NwaS9jb2NvYS9RdWFydHpDb3JlU1BJLmggIHwgIDEgKwogU291cmNlL1dlYktp
dC9tYWMvQ2hhbmdlTG9nICAgICAgICAgICAgICAgICAgICAgICAgfCAxMSArKysrCiAuLi4vUGx1
Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0TWFuYWdlci5tbSAgICB8ICA0ICstCiBTb3Vy
Y2UvV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDY3ICsrKysr
KysrKysrKysrKysrKysrKysKIC4uLi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291cmNl
TG9hZGVyTWFjLm1tIHwgIDIgKy0KIFNvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29u
bmVjdGlvbk1hYy5tbSAgIHwgIDEgKwogU291cmNlL1dlYktpdDIvU2hhcmVkL0Rvd25sb2Fkcy9p
b3MvRG93bmxvYWRJT1MubW0gfCAxMSArKystCiAuLi4vbWFjL0xlZ2FjeVByb2Nlc3MvQ2hpbGRQ
cm9jZXNzRW50cnlQb2ludC5tbSAgICB8ICAyICstCiAuLi4vV2ViS2l0Mi9TaGFyZWQvaW9zL05h
dGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0gICB8ICA2ICstCiBTb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
bWFjL1NhbmRib3hVdGlsaXRpZXMuY3BwICAgICB8ICAxICsKIFNvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tICAgIHwgIDQgKy0KIC4uLi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gIHwgIDIgKy0KIC4uLi9VSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmggICAgICAgIHwgIDIgKy0KIFNvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lPUy5tbSAgICAgIHwgIDUgKy0KIC4uLi9VSVBy
b2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbSAgIHwgIDIgKy0KIFNvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gIHwgIDkgKy0tCiAu
Li4vV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW0gICB8ICAyICst
CiAuLi4vVUlQcm9jZXNzL2lvcy9TbWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tICB8ICAz
ICstCiAuLi4vVUlQcm9jZXNzL2lvcy9WaWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0gICAgICB8
ICA1ICstCiBTb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXQubW0gICAg
ICB8ICAzICstCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3Rh
bnQuaCB8ICAyICstCiAuLi4vVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1t
ICAgICAgICB8IDE2ICstLS0tLQogU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3Lm1tICAgICAgfCAgNiArLQogLi4uL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLmggICAgICAgfCAgNiArLQogLi4uL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLm1tICAgICAgfCAyOSArKy0tLS0tLS0tCiAuLi4vV0tHZW9sb2NhdGlvblBy
b3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tICB8ICAyICstCiAuLi4vVUlQcm9jZXNzL2lv
cy9XS1BERlBhZ2VOdW1iZXJJbmRpY2F0b3IubW0gICAgICB8ICA1ICstCiBTb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5oICAgICAgICAgICB8ICAzICstCiBTb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbSAgICAgICAgICB8ICA4ICstLQogU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcuaCAgICAgICAgfCAgMiArLQogLi4u
L2lvcy9XS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29nbml6ZXIuaCAgICAgfCAgMiArLQog
Li4uL2lvcy9XZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gICAgICAgICAgfCAxMCAr
LS0tCiAuLi4vVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0ZVBpY2tlci5tbSAgICB8
ICAzICstCiAuLi4vVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbSAgICAg
ICB8ICA2ICstCiAuLi4vVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1JbnB1dENvbnRyb2wubW0g
ICAgICB8ICA1ICstCiAuLi4vV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVBvcG92
ZXIubW0gICB8ICAzICstCiAuLi4vVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RDb250
cm9sLmggICAgICB8ICAyICstCiAuLi4vVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RD
b250cm9sLm1tICAgICB8ICA4ICstLQogLi4uL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2Vs
ZWN0UGlja2VyLm1tICAgICAgfCAgNiArLQogLi4uL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3Jt
U2VsZWN0UG9wb3Zlci5tbSAgICAgfCAxMCArLS0tCiAuLi4vbWFjL0xlZ2FjeVByb2Nlc3MvV2Vi
Q29udGVudFByb2Nlc3NNYWluLm1tICAgICB8ICA2ICstCiAuLi4vbWFjL1hQQ1NlcnZpY2UvV2Vi
Q29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tICB8ICA0ICstCiBTb3VyY2UvV2ViS2l0Mi9jb25m
aWcuaCAgICAgICAgICAgICAgICAgICAgICAgICAgICB8IDEyIC0tLS0KIDQ2IGZpbGVzIGNoYW5n
ZWQsIDE3NSBpbnNlcnRpb25zKCspLCAxNTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dURi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV1RGL0NoYW5nZUxvZwppbmRleCAyYmMyOTkzLi4z
ZmZlYjIzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV1RGL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV1RG
L0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE1LTAxLTA3ICBEYW5pZWwgQmF0ZXMgIDxk
YWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAgICBbaU9TXSBNYWtlIFdlYktpdDIgYnVpbGQgd2l0
aCBwdWJsaWMgaU9TIFNESworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MTM3MzcxCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisK
KyAgICAgICAgTW92ZWQgRVhURVJOX0NfQkVHSU4vRVhURVJOX0NfRU5EIG1hY3JvcyBmcm9tIGZp
bGUgV2ViS2l0Mi9jb25maWcuaCB0byBoZXJlIHNvIHRoYXQgd2UKKyAgICAgICAgY2FuIG1ha2Ug
dXNlIG9mIHRoZXNlIG1hY3JvcyBpbiBXZWJDb3JlIFNQSSB3cmFwcGVyIGhlYWRlcnMgKGUuZy4g
VUlLaXRTUEkuaCkuCisKKyAgICAgICAgSSdsbCBsb29rIHRvIHRyYW5zaXRpb24gZXhpc3Rpbmcg
Y29kZSB0byBFWFRFUk5fQ19CRUdJTi9FWFRFUk5fQ19FTkQgYW5kIHJlbW92ZQorICAgICAgICBF
WFRFUk5fQyBpbiBhIHN1YnNlcXVlbnQgY29tbWl0KHMpLgorCisgICAgICAgICogd3RmL0NvbXBp
bGVyLmg6CisKIDIwMTUtMDEtMDYgIEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24u
ZWR1PgogCiAgICAgICAgIFdlYiBJbnNwZWN0b3I6IHB1cmdlIFBhc3NSZWZQdHIgZnJvbSBJbnNw
ZWN0b3IgY29kZSBhbmQgdXNlIFJlZiBmb3IgdHlwZWQgYW5kIHVudHlwZWQgcHJvdG9jb2wgb2Jq
ZWN0cwpkaWZmIC0tZ2l0IGEvU291cmNlL1dURi93dGYvQ29tcGlsZXIuaCBiL1NvdXJjZS9XVEYv
d3RmL0NvbXBpbGVyLmgKaW5kZXggYTA3NTJhYS4uY2Y1M2FiNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dURi93dGYvQ29tcGlsZXIuaAorKysgYi9Tb3VyY2UvV1RGL3d0Zi9Db21waWxlci5oCkBAIC0x
NzEsNiArMTcxLDE1IEBACiAvKiBFWFRFUk5fQyAqLwogCiAjaWZkZWYgX19jcGx1c3BsdXMKKyNk
ZWZpbmUgRVhURVJOX0NfQkVHSU4gZXh0ZXJuICJDIiB7CisjZGVmaW5lIEVYVEVSTl9DX0VORCB9
CisjZWxzZQorI2RlZmluZSBFWFRFUk5fQ19CRUdJTgorI2RlZmluZSBFWFRFUk5fQ19FTkQKKyNl
bmRpZgorCisvLyBGSVhNRTogUmVtb3ZlIHRoaXMgb25jZSB3ZSBoYXZlIHRyYW5zaXRpb25lZCB0
byBFWFRFUk5fQ19CRUdJTi9FWFRFUk5fQ19FTkQuCisjaWZkZWYgX19jcGx1c3BsdXMKICNkZWZp
bmUgRVhURVJOX0MgZXh0ZXJuICJDIgogI2Vsc2UKICNkZWZpbmUgRVhURVJOX0MgZXh0ZXJuCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFu
Z2VMb2cKaW5kZXggY2FhODUxNi4uOGJmNTMxYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
Q2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0IEBA
CisyMDE1LTAxLTA3ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KKworICAgICAg
ICBbaU9TXSBNYWtlIFdlYktpdDIgYnVpbGQgd2l0aCBwdWJsaWMgaU9TIFNESworICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTM3MzcxCisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogcGxhdGZvcm0vc3BpL0dyYXBoaWNzU2Vydmlj
ZXNTUEkuaDogQWRkZWQuCisgICAgICAgICogcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVT
UEkuaDogQWRkIENBTGF5ZXIgU1BJIHByb3BlcnR5IGhpdFRlc3RzQXNPcGFxdWUuCisgICAgICAg
ICogcGxhdGZvcm0vc3BpL2NvY29hL1NlcnZlcnNTUEkuaDogQWRkZWQuCiAKIDIwMTUtMDEtMDYg
IEJyaWFuIEouIEJ1cmcgIDxidXJnQGNzLndhc2hpbmd0b24uZWR1PgogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2EvUXVhcnR6Q29yZVNQSS5oIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vc3BpL2NvY29hL1F1YXJ0ekNvcmVTUEkuaAppbmRleCAzMzBhZDYw
Li43OGQ4OTQxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9zcGkvY29jb2Ev
UXVhcnR6Q29yZVNQSS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3NwaS9jb2NvYS9R
dWFydHpDb3JlU1BJLmgKQEAgLTc3LDYgKzc3LDcgQEAgZXh0ZXJuICJDIiB7CiBAcHJvcGVydHkg
Qk9PTCBhbGxvd3NHcm91cEJsZW5kaW5nOwogQHByb3BlcnR5IEJPT0wgY2FuRHJhd0NvbmN1cnJl
bnRseTsKIEBwcm9wZXJ0eSBCT09MIGNvbnRlbnRzT3BhcXVlOworQHByb3BlcnR5IEJPT0wgaGl0
VGVzdHNBc09wYXF1ZTsKIEBwcm9wZXJ0eSBCT09MIG5lZWRzTGF5b3V0T25HZW9tZXRyeUNoYW5n
ZTsKIEBwcm9wZXJ0eSBCT09MIHNoYWRvd1BhdGhJc0JvdW5kczsKIEBlbmQKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQvbWFjL0NoYW5nZUxv
ZwppbmRleCA5Nzc5MmM1Li5iNWRjNWY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0L21hYy9D
aGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdC9tYWMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQg
QEAKKzIwMTUtMDEtMDcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgorCisgICAg
ICAgIFtpT1NdIE1ha2UgV2ViS2l0MiBidWlsZCB3aXRoIHB1YmxpYyBpT1MgU0RLCisgICAgICAg
IGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzczNzEKKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBVc2UgU1BJIHdyYXBwZXIg
aGVhZGVycyBpbnN0ZWFkIG9mIGRpcmVjdGx5IHJlZmVyZW5jZXMgcHJpdmF0ZSBTUEkgaGVhZGVy
cy4KKworICAgICAgICAqIFBsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdE1hbmFnZXIu
bW06CisKIDIwMTUtMDEtMDYgIEFuZGVycyBDYXJsc3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4K
IAogICAgICAgICBSZWltcGxlbWVudCBOUE5fUGx1Z2luVGhyZWFkQXN5bmNDYWxsIHdpdGhvdXQg
dXNpbmcgUGx1Z2luTWFpblRocmVhZFNjaGVkdWxlcgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dC9tYWMvUGx1Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0TWFuYWdlci5tbSBiL1NvdXJj
ZS9XZWJLaXQvbWFjL1BsdWdpbnMvSG9zdGVkL05ldHNjYXBlUGx1Z2luSG9zdE1hbmFnZXIubW0K
aW5kZXggZWNmYjM0Yy4uMWY5ZmFjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdC9tYWMvUGx1
Z2lucy9Ib3N0ZWQvTmV0c2NhcGVQbHVnaW5Ib3N0TWFuYWdlci5tbQorKysgYi9Tb3VyY2UvV2Vi
S2l0L21hYy9QbHVnaW5zL0hvc3RlZC9OZXRzY2FwZVBsdWdpbkhvc3RNYW5hZ2VyLm1tCkBAIC0y
OSwxMiArMjksMTIgQEAKIAogI2ltcG9ydCAiTmV0c2NhcGVQbHVnaW5Ib3N0UHJveHkuaCIKICNp
bXBvcnQgIk5ldHNjYXBlUGx1Z2luSW5zdGFuY2VQcm94eS5oIgotI2ltcG9ydCAiV2ViTG9jYWxp
emFibGVTdHJpbmdzSW50ZXJuYWwuaCIKICNpbXBvcnQgIldlYktpdFN5c3RlbUludGVyZmFjZS5o
IgorI2ltcG9ydCAiV2ViTG9jYWxpemFibGVTdHJpbmdzSW50ZXJuYWwuaCIKICNpbXBvcnQgIldl
Yk5ldHNjYXBlUGx1Z2luUGFja2FnZS5oIgorI2ltcG9ydCA8V2ViQ29yZS9TZXJ2ZXJzU1BJLmg+
CiAjaW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1N0cmluZ0V4dHJhcy5oPgogI2ltcG9ydCA8bWFj
aC9tYWNoX3BvcnQuaD4KLSNpbXBvcnQgPHNlcnZlcnMvYm9vdHN0cmFwLmg+CiAjaW1wb3J0IDxz
cGF3bi5oPgogI2ltcG9ydCA8d3RmL0Fzc2VydGlvbnMuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5Q
dHIuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCAxMTU4ZTUzLi4yZjUzMjFiIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsNzAgQEAKKzIwMTUtMDEtMDcgIERhbmllbCBCYXRlcyAgPGRhYmF0ZXNAYXBwbGUuY29tPgor
CisgICAgICAgIFtpT1NdIE1ha2UgV2ViS2l0MiBidWlsZCB3aXRoIHB1YmxpYyBpT1MgU0RLCisg
ICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xMzczNzEKKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENvbmZpZ3Vy
YXRpb25zL0Jhc2VUYXJnZXQueGNjb25maWc6IEFwcGVuZCBkaXJlY3RvcnkgJChTREtST09UKSQo
U1lTVEVNX0xJQlJBUllfRElSKS9Qcml2YXRlRnJhbWV3b3JrcyB0bworICAgICAgICB0aGUgbGlz
dCBvZiBkaXJlY3RvcmllcyB0byBzZWFyY2ggZm9yIGZyYW1ld29ya3Mgc28gdGhhdCB3ZSB0aGUg
bGlua2VyIGNhbiBmaW5kIGFuZCBsaW5rIGFnYWluc3QgaU9TIHByaXZhdGUKKyAgICAgICAgZnJh
bWV3b3JrcyAoZS5nLiBBc3NlcnRpb25TZXJ2aWNlcykuCisgICAgICAgICogTmV0d29ya1Byb2Nl
c3MvbWFjL05ldHdvcmtSZXNvdXJjZUxvYWRlck1hYy5tbToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1Jlc291cmNlTG9hZGVyOjp3aWxsQ2FjaGVSZXNwb25zZUFzeW5jKTogQWRkIFBMQVRGT1JN
KElPUyktZ3VhcmQgYXJvdW5kIGNhbGwgdG8gTmV0d29ya0Rpc2tDYWNoZU1vbml0b3I6Om1vbml0
b3JGaWxlQmFja2luZ1N0b3JlQ3JlYXRpb24oKS4KKyAgICAgICAgKiBQbGF0Zm9ybS9JUEMvbWFj
L0Nvbm5lY3Rpb25NYWMubW06IEFkZCBoZWFkZXIgc3lzL21tYW4uaC4KKyAgICAgICAgKiBQbGF0
Zm9ybS9zcGkvaW9zL0JLU1Byb2Nlc3NBc3NlcnRpb25TUEkuaDogQWRkZWQuCisgICAgICAgICog
UGxhdGZvcm0vc3BpL2lvcy9Db3JlUERGU1BJLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3Jt
L3NwaS9pb3MvRGF0YURldGVjdG9yc1VJU1BJLmg6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3Jt
L3NwaS9pb3MvTWFuYWdlZENvbmZpZ3VyYXRpb25TUEkuaDogQWRkZWQuCisgICAgICAgICogUGxh
dGZvcm0vc3BpL2lvcy9UQ0NTUEkuaDogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lv
cy9UZXh0SW5wdXRTUEkuaDogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vc3BpL2lvcy9VSUtp
dFNQSS5oOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElP
Uy5tbTogQWRkIFVTRShDRk5FVFdPUkspLWd1YXJkIGFyb3VuZCBDRk5ldHdvcmstc3BlY2lmaWMg
Y29kZSBhbmQgY29uZGl0aW9uYWxseQorICAgICAgICBpbmNsdWRlIGhlYWRlciBDRk5ldHdvcmsv
Q0ZVUkxEb3dubG9hZC5oLgorICAgICAgICAoV2ViS2l0OjpEb3dubG9hZDo6c3RhcnRXaXRoSGFu
ZGxlKTogRGl0dG8uCisgICAgICAgICogU2hhcmVkL0VudHJ5UG9pbnRVdGlsaXRpZXMvbWFjL0xl
Z2FjeVByb2Nlc3MvQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5tbTogSW5jbHVkZSBoZWFkZXIgU2Vy
dmVyc1NQSS5oIGluc3RlYWQKKyAgICAgICAgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUg
aGVhZGVycy4KKyAgICAgICAgKiBTaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW06
IEluY2x1ZGUgaGVhZGVyIFVJS2l0U1BJLmggaW5zdGVhZCBvZiBkaXJlY3RseSBpbmNsdWRpbmcg
cHJpdmF0ZSBoZWFkZXJzLgorICAgICAgICAqIFNoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5j
cHA6IEluY2x1ZGUgaGVhZGVyIHN5cy9wYXJhbS5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tOiBJbmNsdWRlIGhlYWRlciBVSUtpdFNQSS5oIGluc3RlYWQgb2Yg
ZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBVSVByb2Nlc3Mv
QVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW06IERpdHRvLgorICAgICAgICAqIFVJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaDogRGl0dG8uCisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9pb3MvV0tWaWV3SU9TLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nl
c3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbTogSW5jbHVkZSBoZWFkZXIgU2Vy
dmVyc1NQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4K
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tOiBJbmNsdWRlIGhl
YWRlciBVSUtpdFNQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVh
ZGVycy4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1MubW06IElu
Y2x1ZGUgaGVhZGVyIEJLU1Byb2Nlc3NBc3NlcnRpb25TUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5
IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMuCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9TbWFy
dE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tOiBJbmNsdWRlIGhlYWRlciBVSUtpdFNQSS5oIGlu
c3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBV
SVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbTogRGl0dG8uCisgICAgICAg
ICogVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0Lm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaDogSW5jbHVkZSBoZWFkZXIgRGF0YURl
dGVjdG9yc1VJU1BJLmggaW5zdGVhZCBvZiBkaXJlY3RseSBpbmNsdWRpbmcgcHJpdmF0ZSBoZWFk
ZXJzLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5tbTog
SW5jbHVkZSBoZWFkZXJzIFRDQ1NQSS5oIGFuZCBVSUtpdFNQSS5oIGluc3RlYWQgb2YgZGlyZWN0
bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dL
Q29udGVudFZpZXcubW06IEluY2x1ZGUgaGVhZGVyIFVJS2l0U1BJLmggaW5zdGVhZCBvZiBkaXJl
Y3RseSBpbmNsdWRpbmcgcHJpdmF0ZSBoZWFkZXJzLiBBbHNvLCBtb3ZlIENBTGF5ZXIgU1BJCisg
ICAgICAgIGZvcndhcmQgZGVjbGFyYXRpb25zIHRvIFF1YXJ0ekNvcmVTUEkuaAorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmg6IEluY2x1ZGUgaGVhZGVy
IFVJS2l0U1BJLmggaW5zdGVhZCBvZiBkaXJlY3RseSBpbmNsdWRpbmcgcHJpdmF0ZSBoZWFkZXJz
LgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLm1tOiBE
aXR0by4gQWxzbywgaW5jbHVkZSBoZWFkZXJzIENvcmVHcmFwaGljc1NQSS5oLCBDb3JlVGV4dC9D
VEZvbnQuaCwgRGF0YURldGVjdG9yc1VJU1BJLmgsCisgICAgICAgIE1hbmFnZWRDb25maWd1cmF0
aW9uU1BJLmgsIFRleHRJbnB1dFNQSS5oLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvV0tHZW9s
b2NhdGlvblByb3ZpZGVySU9TT2JqQ1NlY3VyaXR5T3JpZ2luLm1tOiBJbmNsdWRlIGhlYWRlciBV
SUtpdFNQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVycy4K
KyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGUGFnZU51bWJlckluZGljYXRvci5tbTogRGl0
dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcuaDogSW5jbHVkZSBoZWFkZXIg
Q29yZVBERlNQSS5oIGluc3RlYWQgb2YgZGlyZWN0bHkgaW5jbHVkaW5nIHByaXZhdGUgaGVhZGVy
cy4KKyAgICAgICAgKiBVSVByb2Nlc3MvaW9zL1dLUERGVmlldy5tbTogRGl0dG8uIEFsc28sIHJl
bW92ZSBoZWFkZXIgX1VJSGlnaGxpZ2h0Vmlld1NQSS5oIGFuZCBpbmNsdWRlIFVJS2l0U1BJLmgu
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1Njcm9sbFZpZXcuaDogSW5jbHVkZSBoZWFkZXIg
VUlLaXRTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5IGluY2x1ZGluZyBwcml2YXRlIGhlYWRlcnMu
CisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY0NsaWNrVGFwR2VzdHVyZVJlY29n
bml6ZXIuaDogRGl0dG8uCisgICAgICAgICogVUlQcm9jZXNzL2lvcy9XZWJWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHkubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tBaXJQbGF5Um91dGVQaWNrZXIubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLm1tOiBEaXR0by4KKyAgICAgICAgKiBVSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLRm9ybVBvcG92ZXIubW06IERpdHRvLgorICAgICAgICAqIFVJUHJvY2Vz
cy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5oOiBEaXR0by4KKyAgICAgICAgKiBVSVBy
b2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wubW06IERpdHRvLgorICAgICAgICAq
IFVJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlja2VyLm1tOiBEaXR0by4KKyAgICAg
ICAgKiBVSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBvcG92ZXIubW06IERpdHRvLgor
ICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBX
ZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nlc3MvV2ViQ29udGVudFByb2Nlc3NN
YWluLm1tOiBJbmNsdWRlIGhlYWRlcnMgU2VydmVyc1NQSS5oIGFuZCBHcmFwaGljc1NlcnZpY2Vz
U1BJLmggaW5zdGVhZCBvZgorICAgICAgICBkaXJlY3RseSBpbmNsdWRpbmcgcHJpdmF0ZSBoZWFk
ZXJzLgorICAgICAgICAqIFdlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJD
b250ZW50U2VydmljZUVudHJ5UG9pbnQubW06IEluY2x1ZGUgaGVhZGVyIEdyYXBoaWNzU2Vydmlj
ZXNTUEkuaCBpbnN0ZWFkIG9mIGRpcmVjdGx5CisgICAgICAgIGluY2x1ZGluZyBwcml2YXRlIGhl
YWRlcnMuCisgICAgICAgICogY29uZmlnLmg6IE1vdmVkIEVYVEVSTl9DX0JFR0lOL0VYVEVSTl9D
X0VORCBtYWNyb3MgZnJvbSBoZXJlIHRvIGZpbGUgd3RmL0NvbXBpbGVyLmggc28gdGhhdCB3ZSBj
YW4gbWFrZSB1c2Ugb2YgdGhlbQorICAgICAgICBpbiBXZWJDb3JlIFNQSSB3cmFwcGVyIGhlYWRl
cnMgKGUuZy4gVUlLaXRTUEkuaCkuCisKIDIwMTUtMDEtMDcgIFphbiBEb2JlcnNlayAgPHpkb2Jl
cnNla0BpZ2FsaWEuY29tPgogCiAgICAgICAgIFtUZXhNYXBdIG1fbGF5ZXIgbWVtYmVyIGluIEdy
YXBoaWNzTGF5ZXJUZXh0dXJlTWFwcGVyIGlzIGFsd2F5cyBub24tbnVsbApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJjZUxvYWRlck1h
Yy5tbSBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL21hYy9OZXR3b3JrUmVzb3VyY2VM
b2FkZXJNYWMubW0KaW5kZXggNWZlOWViNy4uNTA2MWNjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvbWFjL05ldHdvcmtSZXNvdXJjZUxvYWRlck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9tYWMvTmV0d29ya1Jlc291cmNlTG9hZGVy
TWFjLm1tCkBAIC0xMDQsNyArMTA0LDcgQEAgdm9pZCBOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Ondp
bGxDYWNoZVJlc3BvbnNlQXN5bmMoUmVzb3VyY2VIYW5kbGUqIGhhbmRsZSwgTlNDYWMKIHsKICAg
ICBBU1NFUlRfVU5VU0VEKGhhbmRsZSwgaGFuZGxlID09IG1faGFuZGxlKTsKIAotI2lmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTA5MAorI2lmIFBMQVRGT1JNKElPUykgfHwg
X19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDkwCiAgICAgaWYgKG1fYnl0ZXNS
ZWNlaXZlZCA+PSBmaWxlQmFja2VkUmVzb3VyY2VNaW5pbXVtU2l6ZSgpKQogICAgICAgICBOZXR3
b3JrRGlza0NhY2hlTW9uaXRvcjo6bW9uaXRvckZpbGVCYWNraW5nU3RvcmVDcmVhdGlvbihbbnNS
ZXNwb25zZSBfQ0ZDYWNoZWRVUkxSZXNwb25zZV0sIHRoaXMpOwogI2VuZGlmCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9QbGF0Zm9ybS9JUEMvbWFjL0Nvbm5lY3Rpb25NYWMubW0KaW5kZXggODRhODUw
Yi4uNTdjOWYyMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvUGxhdGZvcm0vSVBDL21hYy9D
b25uZWN0aW9uTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1BsYXRmb3JtL0lQQy9tYWMvQ29u
bmVjdGlvbk1hYy5tbQpAQCAtMzMsNiArMzMsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvQVhPYmpl
Y3RDYWNoZS5oPgogI2luY2x1ZGUgPG1hY2gvbWFjaF9lcnJvci5oPgogI2luY2x1ZGUgPG1hY2gv
dm1fbWFwLmg+CisjaW5jbHVkZSA8c3lzL21tYW4uaD4KICNpbmNsdWRlIDx3dGYvUnVuTG9vcC5o
PgogI2luY2x1ZGUgPHd0Zi9zcGkvZGFyd2luL1hQQ1NQSS5oPgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvRG93bmxvYWRzL2lvcy9Eb3dubG9hZElPUy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9zL0Rvd25sb2FkSU9TLm1tCmluZGV4IDYxNDM4ZTYu
LmU2YzM4YjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9z
L0Rvd25sb2FkSU9TLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9Eb3dubG9hZHMvaW9z
L0Rvd25sb2FkSU9TLm1tCkBAIC0yOSw3ICsyOSw2IEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAj
aW1wb3J0ICJEYXRhUmVmZXJlbmNlLmgiCi0jaW1wb3J0IDxDRk5ldHdvcmsvQ0ZVUkxEb3dubG9h
ZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Ob3RJbXBsZW1lbnRlZC5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9SZXNvdXJjZUVycm9yLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1Jlc291cmNlSGFuZGxlLmg+CkBA
IC0zNywxMCArMzYsMTUgQEAKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0
Zi9SdW5Mb29wLmg+CiAKKyNpZiBVU0UoQ0ZORVRXT1JLKQorI2ltcG9ydCA8Q0ZOZXR3b3JrL0NG
VVJMRG93bmxvYWQuaD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFt
ZXNwYWNlIFdlYktpdCB7CiAKKyNpZiBVU0UoQ0ZORVRXT1JLKQogLy8gRklYTUU6IElmIHBvc3Np
YmxlLCB3ZSBzaG91bGQgY29uc2lkZXIgbW92aW5nIHNvbWUgY2FsbGJhY2tzIG9mZiB0aGUgbWFp
biB0aHJlYWQgb3IgYXQgbGVhc3QKIC8vIG1ha2luZyB0aGVtIGFzeW5jaG9ub3VzIGNhbGxzLgog
c3RhdGljIHZvaWQgZGlzcGF0Y2hPbk1haW5UaHJlYWQodm9pZCheYmxvY2spKCkpCkBAIC0xMjEs
NiArMTI1LDcgQEAgc3RhdGljIHZvaWQgc2V0VXBEb3dubG9hZENsaWVudChDRlVSTERvd25sb2Fk
Q2xpZW50JiBjbGllbnQsIERvd25sb2FkJiBkb3dubG9hZCkKICAgICAgICAgfSk7CiAgICAgfTsK
IH0KKyNlbmRpZiAvLyBVU0UoQ0ZORVRXT1JLKQogCiB2b2lkIERvd25sb2FkOjpzdGFydCgpCiB7
CkBAIC0xMzQsOSArMTM5LDEzIEBAIHZvaWQgRG93bmxvYWQ6OnJlc3VtZShjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmLCBjb25zdCBTdHJpbmcmLCBjb25zdCBTYW5kYm94RXh0CiAKIHZvaWQgRG93
bmxvYWQ6OnN0YXJ0V2l0aEhhbmRsZShSZXNvdXJjZUhhbmRsZSogaGFuZGxlLCBjb25zdCBSZXNv
dXJjZVJlc3BvbnNlJiByZXNwb25zZSkKIHsKKyNpZiBVU0UoQ0ZORVRXT1JLKQogICAgIENGVVJM
RG93bmxvYWRDbGllbnQgY2xpZW50OwogICAgIHNldFVwRG93bmxvYWRDbGllbnQoY2xpZW50LCAq
dGhpcyk7CiAgICAgbV9kb3dubG9hZCA9IGFkb3B0Q0YoQ0ZVUkxEb3dubG9hZENyZWF0ZUFuZFN0
YXJ0V2l0aExvYWRpbmdDb25uZWN0aW9uKE5VTEwsIGhhbmRsZS0+cmVsZWFzZUNvbm5lY3Rpb25G
b3JEb3dubG9hZCgpLmdldCgpLCBtX3JlcXVlc3QuY2ZVUkxSZXF1ZXN0KFVwZGF0ZUhUVFBCb2R5
KSwgcmVzcG9uc2UuY2ZVUkxSZXNwb25zZSgpLCAmY2xpZW50KSk7CisjZWxzZQorICAgIG5vdElt
cGxlbWVudGVkKCk7CisjZW5kaWYKIH0KIAogdm9pZCBEb3dubG9hZDo6Y2FuY2VsKCkKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdh
Y3lQcm9jZXNzL0NoaWxkUHJvY2Vzc0VudHJ5UG9pbnQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvRW50cnlQb2ludFV0aWxpdGllcy9tYWMvTGVnYWN5UHJvY2Vzcy9DaGlsZFByb2Nlc3NFbnRy
eVBvaW50Lm1tCmluZGV4IGQ5NWNlZmQuLmIwOWNlNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1NoYXJlZC9FbnRyeVBvaW50VXRpbGl0aWVzL21hYy9MZWdhY3lQcm9jZXNzL0NoaWxkUHJv
Y2Vzc0VudHJ5UG9pbnQubW0KKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL0VudHJ5UG9pbnRV
dGlsaXRpZXMvbWFjL0xlZ2FjeVByb2Nlc3MvQ2hpbGRQcm9jZXNzRW50cnlQb2ludC5tbQpAQCAt
MjYsOCArMjYsOCBAQAogI2ltcG9ydCAiY29uZmlnLmgiCiAjaW1wb3J0ICJDaGlsZFByb2Nlc3NF
bnRyeVBvaW50LmgiCiAKKyNpbXBvcnQgPFdlYkNvcmUvU2VydmVyc1NQSS5oPgogI2ltcG9ydCA8
bWFjaC9tYWNoX2Vycm9yLmg+Ci0jaW1wb3J0IDxzZXJ2ZXJzL2Jvb3RzdHJhcC5oPgogI2ltcG9y
dCA8c3RkaW8uaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNpbXBvcnQgPHd0Zi90ZXh0
L0NTdHJpbmcuaD4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZl
V2ViVG91Y2hFdmVudElPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9pb3MvTmF0aXZlV2Vi
VG91Y2hFdmVudElPUy5tbQppbmRleCBkYWIyZDAzLi44YzVlNGUxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvaW9zL05hdGl2ZVdlYlRvdWNoRXZlbnRJT1MubW0KKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL2lvcy9OYXRpdmVXZWJUb3VjaEV2ZW50SU9TLm1tCkBAIC0yNiwx
MSArMjYsMTEgQEAKICNpbXBvcnQgImNvbmZpZy5oIgogI2ltcG9ydCAiTmF0aXZlV2ViVG91Y2hF
dmVudC5oIgogCi0jaWYgUExBVEZPUk0oSU9TKQorI2lmIFBMQVRGT1JNKElPUykgJiYgRU5BQkxF
KFRPVUNIX0VWRU5UUykKIAorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldlYkV2ZW50
LmgiCiAjaW1wb3J0IDxVSUtpdC9VSVRvdWNoLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdlYlRvdWNo
RXZlbnRzR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW50UG9pbnQuaD4K
ICNpbXBvcnQgPFdlYkNvcmUvV0FLQXBwS2l0U3R1YnMuaD4KICNpbXBvcnQgPHd0Zi9DdXJyZW50
VGltZS5oPgpAQCAtOTgsNCArOTgsNCBAQCBOYXRpdmVXZWJUb3VjaEV2ZW50OjpOYXRpdmVXZWJU
b3VjaEV2ZW50KGNvbnN0IF9VSVdlYlRvdWNoRXZlbnQqIGV2ZW50KQogCiB9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKIAotI2VuZGlmIC8vIFBMQVRGT1JNKElPUykKKyNlbmRpZiAvLyBQTEFURk9STShJ
T1MpICYmIEVOQUJMRShUT1VDSF9FVkVOVFMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL21h
Yy9TYW5kYm94VXRpbGl0aWVzLmNwcAppbmRleCBlNzE0YTg2Li4zMTViODFlIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvbWFjL1NhbmRib3hVdGlsaXRpZXMuY3BwCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9tYWMvU2FuZGJveFV0aWxpdGllcy5jcHAKQEAgLTI3LDYgKzI3
LDcgQEAKICNpbmNsdWRlICJTYW5kYm94VXRpbGl0aWVzLmgiCiAKICNpbmNsdWRlIDxhcnJheT4K
KyNpbmNsdWRlIDxzeXMvcGFyYW0uaD4KICNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4K
IAogI2lmIF9faGFzX2luY2x1ZGUoPHNhbmRib3gvcHJpdmF0ZS5oPikKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggMmIxODIwNi4uNjg1
OWY3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZp
ZXcubW0KQEAgLTg2LDE1ICs4NiwxMyBAQAogI2ltcG9ydCAiUHJvY2Vzc1Rocm90dGxlci5oIgog
I2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2luZ0FyZWFQcm94eS5oIgogI2ltcG9ydCAiUmVt
b3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5oIgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNp
bXBvcnQgIldLUERGVmlldy5oIgogI2ltcG9ydCAiV0tTY3JvbGxWaWV3LmgiCiAjaW1wb3J0ICJX
S1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5oIgogI2ltcG9ydCAiV2ViUGFnZU1lc3Nh
Z2VzLmgiCiAjaW1wb3J0ICJXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkuaCIKICNpbXBv
cnQgPFVJS2l0L1VJQXBwbGljYXRpb24uaD4KLSNpbXBvcnQgPFVJS2l0L1VJRGV2aWNlX1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJUGVyaXBoZXJhbEhvc3RfUHJpdmF0ZS5oPgotI2ltcG9y
dCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Db3JlR3JhcGhp
Y3NTUEkuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yT3ZlcmxheS5oPgogI2ltcG9ydCA8
V2ViQ29yZS9RdWFydHpDb3JlU1BJLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggNjIz
M2RhOS4uNTI1NTAzNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQpAQCAtMzgsNyArMzgsNyBA
QAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQotI2ltcG9y
dCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNlbmRp
ZgogCiB0ZW1wbGF0ZTx0eXBlbmFtZSBUPiBjbGFzcyBMYXp5SW5pdGlhbGl6ZWQgewpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5h
bC5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdJbnRlcm5h
bC5oCmluZGV4IDhiMmRmM2QuLjhkNDA1Y2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3SW50ZXJuYWwuaAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0ludGVybmFsLmgKQEAgLTMyLDEwICszMiwx
MCBAQAogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiAjaWYgUExBVEZPUk0oSU9TKQorI2lt
cG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXcuaCIKICNpbXBvcnQgIldL
Q29udGVudFZpZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCA8V2ViQ29yZS9GbG9hdFJlY3QuaD4K
LSNpbXBvcnQgPFVJS2l0L1VJU2Nyb2xsVmlld19Qcml2YXRlLmg+CiAjZW5kaWYKIAogI2lmIFBM
QVRGT1JNKElPUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9z
L1dLVmlld0lPUy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvaW9zL1dLVmlld0lP
Uy5tbQppbmRleCA5ZDEwYzQxLi5hZTM5ODg1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2lvcy9XS1ZpZXdJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9pb3MvV0tWaWV3SU9TLm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgUExBVEZPUk0o
SU9TKQogCiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVUcmFuc2FjdGlvbi5oIgorI2ltcG9ydCAi
VUlLaXRTUEkuaCIKICNpbXBvcnQgIlZpZXdHZXN0dXJlQ29udHJvbGxlci5oIgogI2ltcG9ydCAi
V0tBUElDYXN0LmgiCiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dEdyb3VwUHJpdmF0ZS5oIgpA
QCAtMzcsMTEgKzM4LDcgQEAKICNpbXBvcnQgIldLU2Nyb2xsVmlldy5oIgogI2ltcG9ydCAiV2Vi
UGFnZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzUG9vbC5oIgotI2ltcG9ydCA8VUlLaXQv
VUlJbWFnZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVBlcmlwaGVyYWxIb3N0X1ByaXZh
dGUuaD4KICNpbXBvcnQgPFVJS2l0L1VJU2NyZWVuLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVNjcm9s
bFZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0OwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL21hYy9Qcm9jZXNzTGF1bmNo
ZXJNYWMubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NM
YXVuY2hlck1hYy5tbQppbmRleCAxMjIwMTdlLi41YjcwMGE0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1hYy5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvbWFjL1Byb2Nlc3NMYXVuY2hlck1h
Yy5tbQpAQCAtMjgsMTIgKzI4LDEyIEBACiAKICNpbXBvcnQgIkR5bmFtaWNMaW5rZXJFbnZpcm9u
bWVudEV4dHJhY3Rvci5oIgogI2ltcG9ydCAiRW52aXJvbm1lbnRWYXJpYWJsZXMuaCIKKyNpbXBv
cnQgPFdlYkNvcmUvU2VydmVyc1NQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5o
PgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlTlNTdHJpbmdFeHRyYXMuaD4KICNpbXBvcnQgPGNy
dF9leHRlcm5zLmg+CiAjaW1wb3J0IDxtYWNoLW8vZHlsZC5oPgogI2ltcG9ydCA8bWFjaC9tYWNo
aW5lLmg+Ci0jaW1wb3J0IDxzZXJ2ZXJzL2Jvb3RzdHJhcC5oPgogI2ltcG9ydCA8c3Bhd24uaD4K
ICNpbXBvcnQgPHN5cy9wYXJhbS5oPgogI2ltcG9ydCA8c3lzL3N0YXQuaD4KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFnZUNsaWVudEltcGxJT1MubW0gYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1BhZ2VDbGllbnRJbXBsSU9TLm1tCmluZGV4IDlmZTlm
OWMuLjA1MGQxNGIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUGFn
ZUNsaWVudEltcGxJT1MubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9QYWdl
Q2xpZW50SW1wbElPUy5tbQpAQCAtMzQsNiArMzQsNyBAQAogI2ltcG9ydCAiSW50ZXJhY3Rpb25J
bmZvcm1hdGlvbkF0UG9zaXRpb24uaCIKICNpbXBvcnQgIk5hdGl2ZVdlYktleWJvYXJkRXZlbnQu
aCIKICNpbXBvcnQgIk5hdmlnYXRpb25TdGF0ZS5oIgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNp
bXBvcnQgIlZpZXdTbmFwc2hvdFN0b3JlLmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3LmgiCiAj
aW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24uaCIKQEAgLTQ2LDggKzQ3LDYgQEAKICNp
bXBvcnQgIldlYkVkaXRDb21tYW5kUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5o
IgogI2ltcG9ydCAiX1dLRG93bmxvYWRJbnRlcm5hbC5oIgotI2ltcG9ydCA8VUlLaXQvVUlJbWFn
ZVBpY2tlckNvbnRyb2xsZXJfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJUb3VjaEV2
ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL05vdEltcGxlbWVudGVk
Lmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxXZWJDb3Jl
L1NoYXJlZEJ1ZmZlci5oPgpAQCAtNTUsMTIgKzU0LDYgQEAKIAogI2RlZmluZSBNRVNTQUdFX0NI
RUNLKGFzc2VydGlvbikgTUVTU0FHRV9DSEVDS19CQVNFKGFzc2VydGlvbiwgbV93ZWJWaWV3LT5f
cGFnZS0+cHJvY2VzcygpLmNvbm5lY3Rpb24oKSkKIAotQGludGVyZmFjZSBVSVZpZXcgKElQSSkK
LS0gKFVJU2Nyb2xsVmlldyAqKV9zY3JvbGxlcjsKLS0gKENHUG9pbnQpYWNjZXNzaWJpbGl0eUNv
bnZlcnRQb2ludEZyb21TY2VuZVJlZmVyZW5jZUNvb3JkaW5hdGVzOihDR1BvaW50KXBvaW50Owot
LSAoQ0dSZWN0KWFjY2Vzc2liaWxpdHlDb252ZXJ0UmVjdFRvU2NlbmVSZWZlcmVuY2VDb29yZGlu
YXRlczooQ0dSZWN0KXJlY3Q7Ci1AZW5kCi0KIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwogdXNp
bmcgbmFtZXNwYWNlIFdlYktpdDsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9Qcm9jZXNzQXNzZXJ0aW9uSU9TLm1tCmluZGV4IGE4MGQ4MjAuLjJhMmNhMzQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvUHJvY2Vzc0Fzc2VydGlvbklPUy5t
bQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1Byb2Nlc3NBc3NlcnRpb25JT1Mu
bW0KQEAgLTI4LDcgKzI4LDcgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAotI2ltcG9ydCA8QXNz
ZXJ0aW9uU2VydmljZXMvQktTUHJvY2Vzc0Fzc2VydGlvbi5oPgorI2ltcG9ydCAiQktTUHJvY2Vz
c0Fzc2VydGlvblNQSS5oIgogI2ltcG9ydCA8VUlLaXQvVUlBcHBsaWNhdGlvbi5oPgogCiAjaWYg
IVBMQVRGT1JNKElPU19TSU1VTEFUT1IpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0gYi9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvaW9zL1NtYXJ0TWFnbmlmaWNhdGlvbkNvbnRyb2xsZXIubW0KaW5kZXggM2Qz
NzI3Yy4uZmI3YjY4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9T
bWFydE1hZ25pZmljYXRpb25Db250cm9sbGVyLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5tbQpAQCAtMzYsMTIgKzM2LDEx
IEBACiAjaW1wb3J0ICJXZWJQYWdlTWVzc2FnZXMuaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5o
IgogI2ltcG9ydCAiV2ViUHJvY2Vzc1Byb3h5LmgiCi0jaW1wb3J0IDxVSUtpdC9VSUtpdC5oPgog
CiAjcHJhZ21hIGNsYW5nIGRpYWdub3N0aWMgcHVzaAogI3ByYWdtYSBjbGFuZyBkaWFnbm9zdGlj
IGlnbm9yZWQgIi1XZGVwcmVjYXRlZC1kZWNsYXJhdGlvbnMiCiAKLSNpbXBvcnQgPFVJS2l0L1VJ
S2l0X1ByaXZhdGUuaD4KKyNpbXBvcnQgIlVJS2l0U1BJLmgiCiAKICNwcmFnbWEgY2xhbmcgZGlh
Z25vc3RpYyBwb3AKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9W
aWV3R2VzdHVyZUNvbnRyb2xsZXJJT1MubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1ZpZXdHZXN0dXJlQ29udHJvbGxlcklPUy5tbQppbmRleCAzZTUwZmRhLi44ZDM5MWU1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29udHJvbGxl
cklPUy5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1ZpZXdHZXN0dXJlQ29u
dHJvbGxlcklPUy5tbQpAQCAtMjgsNiArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisj
aW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiVmlld0dlc3R1cmVDb250cm9sbGVyTWVzc2Fn
ZXMuaCIKICNpbXBvcnQgIlZpZXdHZXN0dXJlR2VvbWV0cnlDb2xsZWN0b3JNZXNzYWdlcy5oIgog
I2ltcG9ydCAiVmlld1NuYXBzaG90U3RvcmUuaCIKQEAgLTM5LDEwICs0MCw2IEBACiAjaW1wb3J0
ICJXZWJQYWdlUHJveHkuaCIKICNpbXBvcnQgIldlYlByb2Nlc3NQcm94eS5oIgogI2ltcG9ydCA8
VUlLaXQvVUlTY3JlZW5FZGdlUGFuR2VzdHVyZVJlY29nbml6ZXIuaD4KLSNpbXBvcnQgPFVJS2l0
L1VJVmlld0NvbnRyb2xsZXJUcmFuc2l0aW9uaW5nX1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0
L1VJV2ViVG91Y2hFdmVudHNHZXN0dXJlUmVjb2duaXplci5oPgotI2ltcG9ydCA8VUlLaXQvX1VJ
TmF2aWdhdGlvbkludGVyYWN0aXZlVHJhbnNpdGlvbi5oPgotI2ltcG9ydCA8VUlLaXQvX1VJTmF2
aWdhdGlvblBhcmFsbGF4VHJhbnNpdGlvbi5oPgogI2ltcG9ydCA8V2ViQ29yZS9JT1N1cmZhY2Uu
aD4KICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9ydCA8d3RmL05ldmVy
RGVzdHJveWVkLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dL
QWN0aW9uU2hlZXQubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hl
ZXQubW0KaW5kZXggYmM1ZjViNy4uZTVjNTg3OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tBY3Rpb25TaGVldC5tbQpAQCAtMjgsOCArMjgsNyBAQAogCiAjaWYgUExBVEZP
Uk0oSU9TKQogCi0jaW1wb3J0IDxVSUtpdC9VSUFsZXJ0Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2YXRlLmg+CisjaW1wb3J0ICJVSUtpdFNQSS5oIgog
I2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiBAaW1wbGVtZW50YXRpb24gV0tBY3Rpb25TaGVl
dCB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hl
ZXRBc3Npc3RhbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVl
dEFzc2lzdGFudC5oCmluZGV4IGM1YWZhMDUuLjAzZWIxOWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rpb25TaGVldEFzc2lzdGFudC5oCkBAIC0yNSw5
ICsyNSw5IEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbXBvcnQgIkRhdGFEZXRlY3RvcnNV
SVNQSS5oIgogI2ltcG9ydCAiR2VzdHVyZVR5cGVzLmgiCiAjaW1wb3J0ICJXS0FjdGlvblNoZWV0
LmgiCi0jaW1wb3J0IDxEYXRhRGV0ZWN0b3JzVUkvREREZXRlY3Rpb25Db250cm9sbGVyLmg+CiAj
aW1wb3J0IDxVSUtpdC9VSVBvcG92ZXJDb250cm9sbGVyLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWlu
UHRyLmg+CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rp
b25TaGVldEFzc2lzdGFudC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tBY3Rp
b25TaGVldEFzc2lzdGFudC5tbQppbmRleCA1MzMyMmI2Li42MjFiY2I0IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQWN0aW9uU2hlZXRBc3Npc3RhbnQubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0FjdGlvblNoZWV0QXNzaXN0YW50Lm1t
CkBAIC0yOSwyMCArMjksMTYgQEAKICNpZiBQTEFURk9STShJT1MpCiAKICNpbXBvcnQgIkFQSVVJ
Q2xpZW50LmgiCisjaW1wb3J0ICJUQ0NTUEkuaCIKKyNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjaW1w
b3J0ICJXS0FjdGlvblNoZWV0LmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24u
aCIKICNpbXBvcnQgIldlYWtPYmpDUHRyLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKICNp
bXBvcnQgIl9XS0FjdGl2YXRlZEVsZW1lbnRJbmZvSW50ZXJuYWwuaCIKICNpbXBvcnQgIl9XS0Vs
ZW1lbnRBY3Rpb25JbnRlcm5hbC5oIgotI2ltcG9ydCA8RGF0YURldGVjdG9yc1VJL0REQWN0aW9u
Lmg+Ci0jaW1wb3J0IDxEYXRhRGV0ZWN0b3JzVUkvREREZXRlY3Rpb25Db250cm9sbGVyLmg+CiAj
aW1wb3J0IDxTYWZhcmlTZXJ2aWNlcy9TU1JlYWRpbmdMaXN0Lmg+Ci0jaW1wb3J0IDxUQ0MvVEND
Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUFsZXJ0Q29udHJvbGxlcl9Qcml2YXRlLmg+CiAjaW1wb3J0
IDxVSUtpdC9VSVZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJVmlld0NvbnRyb2xsZXJfUHJpdmF0
ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Mb2NhbGl6ZWRTdHJpbmdzLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1NvZnRMaW5raW5nLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL1dlYkNvcmVOU1VSTEV4dHJhcy5oPgpAQCAtNTUsMTQgKzUxLDYgQEAg
U09GVF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKFRDQykKIFNPRlRfTElOSyhUQ0MsIFRDQ0FjY2Vz
c1ByZWZsaWdodCwgVENDQWNjZXNzUHJlZmxpZ2h0UmVzdWx0LCAoQ0ZTdHJpbmdSZWYgc2Vydmlj
ZSwgQ0ZEaWN0aW9uYXJ5UmVmIG9wdGlvbnMpLCAoc2VydmljZSwgb3B0aW9ucykpCiBTT0ZUX0xJ
TktfQ09OU1RBTlQoVENDLCBrVENDU2VydmljZVBob3RvcywgQ0ZTdHJpbmdSZWYpCiAKLVNPRlRf
TElOS19QUklWQVRFX0ZSQU1FV09SSyhEYXRhRGV0ZWN0b3JzVUkpCi1TT0ZUX0xJTktfQ0xBU1Mo
RGF0YURldGVjdG9yc1VJLCBERERldGVjdGlvbkNvbnRyb2xsZXIpCi0KLS8vIEZJWE1FOiBUaGlz
IHdpbGwgYmUgcmVtb3ZlZCBhcyBzb29uIGFzIDxyZGFyOi8vcHJvYmxlbS8xNjM0NjkxMz4gaXMg
Zml4ZWQuCi1AaW50ZXJmYWNlIERERGV0ZWN0aW9uQ29udHJvbGxlciAoV0tEREFjdGlvblByaXZh
dGUpCi0tIChOU0FycmF5ICopYWN0aW9uc0ZvckFuY2hvcjooaWQpYW5jaG9yIHVybDooTlNVUkwg
Kil0YXJnZXRVUkwgZm9yRnJhbWU6KGlkKWZyYW1lOwotQGVuZAotCiB1c2luZyBuYW1lc3BhY2Ug
V2ViS2l0OwogCiBAaW1wbGVtZW50YXRpb24gV0tBY3Rpb25TaGVldEFzc2lzdGFudCB7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0gYi9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLQ29udGVudFZpZXcubW0KaW5kZXggOWNlMmYz
ZC4uZjBmMGIxMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0Nv
bnRlbnRWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50
Vmlldy5tbQpAQCAtMzIsNiArMzIsNyBAQAogI2ltcG9ydCAiUmVtb3RlTGF5ZXJUcmVlRHJhd2lu
Z0FyZWFQcm94eS5oIgogI2ltcG9ydCAiUmVtb3RlU2Nyb2xsaW5nQ29vcmRpbmF0b3JQcm94eS5o
IgogI2ltcG9ydCAiU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2ltcG9ydCAiVUlL
aXRTUEkuaCIKICNpbXBvcnQgIldLQnJvd3NpbmdDb250ZXh0Q29udHJvbGxlckludGVybmFsLmgi
CiAjaW1wb3J0ICJXS0Jyb3dzaW5nQ29udGV4dEdyb3VwUHJpdmF0ZS5oIgogI2ltcG9ydCAiV0tJ
bnNwZWN0b3JIaWdobGlnaHRWaWV3LmgiCkBAIC00Niw3ICs0Nyw2IEBACiAjaW1wb3J0ICJXZWJQ
cm9jZXNzUG9vbC5oIgogI2ltcG9ydCAiV2ViU3lzdGVtSW50ZXJmYWNlLmgiCiAjaW1wb3J0IDxD
b3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNzLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2
YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UXVhZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9G
cmFtZVZpZXcuaD4KICNpbXBvcnQgPFdlYkNvcmUvSW5zcGVjdG9yT3ZlcmxheS5oPgpAQCAtNTUs
MTAgKzU1LDYgQEAKICNpbXBvcnQgPHd0Zi9DdXJyZW50VGltZS5oPgogI2ltcG9ydCA8d3RmL1Jl
dGFpblB0ci5oPgogCi1AaW50ZXJmYWNlIENBTGF5ZXIgKERldGFpbHMpCi1AcHJvcGVydHkgQk9P
TCBoaXRUZXN0c0FzT3BhcXVlOwotQGVuZAotCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIHVz
aW5nIG5hbWVzcGFjZSBXZWJLaXQ7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVyYWN0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL1dLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oCmluZGV4IDU2YmZkYmQuLmIyMTkx
NDAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaApAQCAtMzAsMTcgKzMwLDEzIEBACiAjaW1wb3J0ICJBc3Npc3Rl
ZE5vZGVJbmZvcm1hdGlvbi5oIgogI2ltcG9ydCAiR2VzdHVyZVR5cGVzLmgiCiAjaW1wb3J0ICJJ
bnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oIgorI2ltcG9ydCAiVUlLaXRTUEkuaCIK
ICNpbXBvcnQgIldLQWN0aW9uU2hlZXRBc3Npc3RhbnQuaCIKICNpbXBvcnQgIldLQWlyUGxheVJv
dXRlUGlja2VyLmgiCiAjaW1wb3J0ICJXS0ZpbGVVcGxvYWRQYW5lbC5oIgogI2ltcG9ydCAiV0tG
b3JtUGVyaXBoZXJhbC5oIgogI2ltcG9ydCAiV0tTeW50aGV0aWNDbGlja1RhcEdlc3R1cmVSZWNv
Z25pemVyLmgiCi0jaW1wb3J0IDxVSUtpdC9VSVRleHRJbnB1dF9Qcml2YXRlLmg+CiAjaW1wb3J0
IDxVSUtpdC9VSVZpZXcuaD4KLSNpbXBvcnQgPFVJS2l0L1VJV0tTZWxlY3Rpb25Bc3Npc3RhbnQu
aD4KLSNpbXBvcnQgPFVJS2l0L1VJV0tUZXh0SW50ZXJhY3Rpb25Bc3Npc3RhbnQuaD4KLSNpbXBv
cnQgPFVJS2l0L1VJV2ViRm9ybUFjY2Vzc29yeS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJUb3Vj
aEV2ZW50c0dlc3R1cmVSZWNvZ25pemVyLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0NvbG9yLmg+CiAj
aW1wb3J0IDxXZWJDb3JlL0Zsb2F0UXVhZC5oPgogI2ltcG9ydCA8d3RmL0ZvcndhcmQuaD4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tDb250ZW50Vmlld0ludGVy
YWN0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50
ZXJhY3Rpb24ubW0KaW5kZXggNzMxZmFlOC4uNDM1OTA4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0NvbnRlbnRWaWV3SW50ZXJhY3Rpb24ubW0KQEAg
LTI5LDEwICsyOSwxNCBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9ydCAiQVBJVUlDbGll
bnQuaCIKKyNpbXBvcnQgIkRhdGFEZXRlY3RvcnNVSVNQSS5oIgogI2ltcG9ydCAiRWRpdGluZ1Jh
bmdlLmgiCisjaW1wb3J0ICJNYW5hZ2VkQ29uZmlndXJhdGlvblNQSS5oIgogI2ltcG9ydCAiTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgogI2ltcG9ydCAiTmF0aXZlV2ViVG91Y2hFdmVudC5oIgog
I2ltcG9ydCAiU21hcnRNYWduaWZpY2F0aW9uQ29udHJvbGxlci5oIgorI2ltcG9ydCAiVGV4dElu
cHV0U1BJLmgiCisjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiV0tBY3Rpb25TaGVldEFz
c2lzdGFudC5oIgogI2ltcG9ydCAiV0tGb3JtSW5wdXRDb250cm9sLmgiCiAjaW1wb3J0ICJXS0Zv
cm1TZWxlY3RDb250cm9sLmgiCkBAIC00NiwzNyArNTAsMTYgQEAKICNpbXBvcnQgIldlYlByb2Nl
c3NQcm94eS5oIgogI2ltcG9ydCAiX1dLRm9ybURlbGVnYXRlLmgiCiAjaW1wb3J0ICJfV0tGb3Jt
SW5wdXRTZXNzaW9uLmgiCisjaW1wb3J0IDxDb3JlVGV4dC9DVEZvbnQuaD4KICNpbXBvcnQgPENv
cmVUZXh0L0NURm9udERlc2NyaXB0b3IuaD4KLSNpbXBvcnQgPERhdGFEZXRlY3RvcnNVSS9ERERl
dGVjdGlvbkNvbnRyb2xsZXIuaD4KLSNpbXBvcnQgPE1hbmFnZWRDb25maWd1cmF0aW9uL01DRmVh
dHVyZXMuaD4KLSNpbXBvcnQgPE1hbmFnZWRDb25maWd1cmF0aW9uL01DUHJvZmlsZUNvbm5lY3Rp
b24uaD4KLSNpbXBvcnQgPFRleHRJbnB1dC9USV9OU1N0cmluZ0V4dHJhcy5oPgotI2ltcG9ydCA8
VUlLaXQvVUlBcHBsaWNhdGlvbl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUZvbnRfUHJp
dmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlHZXN0dXJlUmVjb2duaXplcl9Qcml2YXRlLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkSW1wbC5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2Fy
ZEludGwuaD4KLSNpbXBvcnQgPFVJS2l0L1VJTG9uZ1ByZXNzR2VzdHVyZVJlY29nbml6ZXJfUHJp
dmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlUYXBHZXN0dXJlUmVjb2duaXplcl9Qcml2YXRlLmg+
Ci0jaW1wb3J0IDxVSUtpdC9VSVRleHRJbnRlcmFjdGlvbkFzc2lzdGFudF9Qcml2YXRlLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSVdlYkRvY3VtZW50Vmlldy5oPiAvLyBGSVhNRTogc2hvdWxkIG5vdCBp
bmNsdWRlIHRoaXMgaGVhZGVyLgotI2ltcG9ydCA8VUlLaXQvX1VJV2ViSGlnaGxpZ2h0TG9uZ1By
ZXNzR2VzdHVyZVJlY29nbml6ZXIuaD4KICNpbXBvcnQgPFdlYkNvcmUvQ29sb3IuaD4KKyNpbXBv
cnQgPFdlYkNvcmUvQ29yZUdyYXBoaWNzU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0Zsb2F0UXVh
ZC5oPgogI2ltcG9ydCA8V2ViQ29yZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8V2ViQ29yZS9X
ZWJFdmVudC5oPgotI2ltcG9ydCA8V2ViQ29yZS9fVUlIaWdobGlnaHRWaWV3U1BJLmg+CiAjaW1w
b3J0IDxXZWJLaXQvV2ViU2VsZWN0aW9uUmVjdC5oPiAvLyBGSVhNRTogV0syIHNob3VsZCBub3Qg
aW5jbHVkZSBXZWJLaXQgaGVhZGVycyEKICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KIAotU09G
VF9MSU5LX1BSSVZBVEVfRlJBTUVXT1JLKERhdGFEZXRlY3RvcnNVSSkKLVNPRlRfTElOS19DTEFT
UyhEYXRhRGV0ZWN0b3JzVUksIERERGV0ZWN0aW9uQ29udHJvbGxlcikKLVNPRlRfTElOS19QUklW
QVRFX0ZSQU1FV09SSyhNYW5hZ2VkQ29uZmlndXJhdGlvbik7Ci1TT0ZUX0xJTktfQ0xBU1MoTWFu
YWdlZENvbmZpZ3VyYXRpb24sIE1DUHJvZmlsZUNvbm5lY3Rpb24pOwotU09GVF9MSU5LX0NPTlNU
QU5UKE1hbmFnZWRDb25maWd1cmF0aW9uLCBNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dl
ZCwgTlNTdHJpbmcgKikKLQotI2RlZmluZSBNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dl
ZCBnZXRNQ0ZlYXR1cmVEZWZpbml0aW9uTG9va3VwQWxsb3dlZCgpCi0KIHVzaW5nIG5hbWVzcGFj
ZSBXZWJDb3JlOwogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS0dlb2xvY2F0aW9uUHJvdmlkZXJJT1NPYmpDU2VjdXJp
dHlPcmlnaW4ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLR2VvbG9jYXRpb25Q
cm92aWRlcklPU09iakNTZWN1cml0eU9yaWdpbi5tbQppbmRleCA5YmRhN2IwLi4wZDdmYTBhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92
aWRlcklPU09iakNTZWN1cml0eU9yaWdpbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL1dLR2VvbG9jYXRpb25Qcm92aWRlcklPU09iakNTZWN1cml0eU9yaWdpbi5tbQpAQCAt
MjgsOCArMjgsOCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJVSUtpdFNQSS5o
IgogI2ltcG9ydCA8Rm91bmRhdGlvbi9OU1VSTC5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJHZW9s
b2NhdGlvblBvbGljeURlY2lkZXIuaD4KICNpbXBvcnQgPFVJS2l0L1VJV2luZG93Lmg+CiAjaW1w
b3J0IDxXZWJDb3JlL1NlY3VyaXR5T3JpZ2luLmg+CiAjaW1wb3J0IDx3dGYvUmV0YWluUHRyLmg+
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLUERGUGFnZU51bWJl
ckluZGljYXRvci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZQYWdlTnVt
YmVySW5kaWNhdG9yLm1tCmluZGV4IGI4OGE0YmIuLjE2NTEwMmQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLm1tCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZQYWdlTnVtYmVySW5kaWNhdG9yLm1t
CkBAIC0yOCwxMCArMjgsNyBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCi0jaW1wb3J0IDxVSUtp
dC9VSUdlb21ldHJ5X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJS2l0Lmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSVZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvX1VJQmFja2Ryb3BWaWV3
X1ByaXZhdGUuaD4KKyNpbXBvcnQgIlVJS2l0U1BJLmgiCiAjaW1wb3J0IDxXZWJDb3JlL0xvY2Fs
aXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdlYkNvcmUvUXVhcnR6Q29yZVNQSS5oPgogI2ltcG9y
dCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS1BERlZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQREZWaWV3
LmgKaW5kZXggNWJhZmI1OS4uZDgzZDlmZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL2lvcy9XS1BERlZpZXcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9z
L1dLUERGVmlldy5oCkBAIC0yNSwxMCArMjUsOSBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisj
aW1wb3J0ICJDb3JlUERGU1BJLmgiCiAjaW1wb3J0ICJXS0FjdGlvblNoZWV0QXNzaXN0YW50Lmgi
CiAjaW1wb3J0ICJXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCIKLSNpbXBvcnQgPENvcmVQREYv
VUlQREZBbm5vdGF0aW9uQ29udHJvbGxlci5oPgotI2ltcG9ydCA8Q29yZVBERi9VSVBERlBhZ2VW
aWV3Lmg+CiAjaW1wb3J0IDxVSUtpdC9VSVZpZXcuaD4KIAogQGludGVyZmFjZSBXS1BERlZpZXcg
OiBVSVZpZXcgPFdLV2ViVmlld0NvbnRlbnRQcm92aWRlciwgVUlQREZQYWdlVmlld0RlbGVnYXRl
LCBVSVBERkFubm90YXRpb25Db250cm9sbGVyRGVsZWdhdGUsIFdLQWN0aW9uU2hlZXRBc3Npc3Rh
bnREZWxlZ2F0ZT4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tQ
REZWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BERlZpZXcubW0KaW5k
ZXggNjBmZWY1MS4uZTI0OTVlNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9XS1BERlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1BE
RlZpZXcubW0KQEAgLTI5LDE4ICsyOSwxNCBAQAogI2lmIFBMQVRGT1JNKElPUykKIAogI2ltcG9y
dCAiQVBJVUlDbGllbnQuaCIKKyNpbXBvcnQgIkNvcmVQREZTUEkuaCIKICNpbXBvcnQgIlNlc3Np
b25TdGF0ZS5oIgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLUERGUGFnZU51bWJl
ckluZGljYXRvci5oIgogI2ltcG9ydCAiV0tXZWJWaWV3SW50ZXJuYWwuaCIKICNpbXBvcnQgIldl
YlBhZ2VQcm94eS5oIgotI2ltcG9ydCA8Q29yZVBERi9VSVBERkRvY3VtZW50Lmg+Ci0jaW1wb3J0
IDxDb3JlUERGL1VJUERGTGlua0Fubm90YXRpb24uaD4KLSNpbXBvcnQgPENvcmVQREYvVUlQREZQ
YWdlLmg+Ci0jaW1wb3J0IDxDb3JlUERGL1VJUERGUGFnZVZpZXcuaD4KICNpbXBvcnQgPE1vYmls
ZUNvcmVTZXJ2aWNlcy9VVENvcmVUeXBlcy5oPgotI2ltcG9ydCA8VUlLaXQvVUlTY3JvbGxWaWV3
X1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+Ci0jaW1wb3J0IDxXZWJD
b3JlL19VSUhpZ2hsaWdodFZpZXdTUEkuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIuaD4KICNp
bXBvcnQgPHd0Zi9WZWN0b3IuaD4KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9XS1Njcm9sbFZpZXcuaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tT
Y3JvbGxWaWV3LmgKaW5kZXggZTM5NzEyNTU1Li4xNzQ4NjAxIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLU2Nyb2xsVmlldy5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvV0tTY3JvbGxWaWV3LmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2lmIFBM
QVRGT1JNKElPUykKIAotI2ltcG9ydCA8VUlLaXQvVUlXZWJTY3JvbGxWaWV3Lmg+CisjaW1wb3J0
ICJVSUtpdFNQSS5oIgogCiBAY2xhc3MgV0tXZWJWaWV3OwogCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2duaXpl
ci5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9XS1N5bnRoZXRpY0NsaWNrVGFwR2Vz
dHVyZVJlY29nbml6ZXIuaAppbmRleCBiOWVkN2U3Li4xNjdkMTk1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dLU3ludGhldGljQ2xpY2tUYXBHZXN0dXJlUmVjb2du
aXplci5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV0tTeW50aGV0aWNDbGlj
a1RhcEdlc3R1cmVSZWNvZ25pemVyLmgKQEAgLTI1LDcgKzI1LDcgQEAKIAogI2lmIFBMQVRGT1JN
KElPUykKIAotI2ltcG9ydCA8VUlLaXQvVUlUYXBHZXN0dXJlUmVjb2duaXplcl9Qcml2YXRlLmg+
CisjaW1wb3J0ICJVSUtpdFNQSS5oIgogCiBAaW50ZXJmYWNlIFdLU3ludGhldGljQ2xpY2tUYXBH
ZXN0dXJlUmVjb2duaXplciA6IFVJVGFwR2VzdHVyZVJlY29nbml6ZXIKIC0gKHZvaWQpc2V0R2Vz
dHVyZVJlY29nbml6ZWRUYXJnZXQ6KGlkKXRhcmdldCBhY3Rpb246KFNFTClhY3Rpb247CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL1dlYlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJQcm94eS5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxs
c2NyZWVuTWFuYWdlclByb3h5Lm1tCmluZGV4IDY1NjgzNWEuLjUzZGRkMDEgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclBy
b3h5Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvV2ViVmlkZW9GdWxsc2Ny
ZWVuTWFuYWdlclByb3h5Lm1tCkBAIC0yOSw2ICsyOSw3IEBACiAjaWYgUExBVEZPUk0oSU9TKQog
CiAjaW1wb3J0ICJSZW1vdGVMYXllclRyZWVEcmF3aW5nQXJlYVByb3h5LmgiCisjaW1wb3J0ICJV
SUtpdFNQSS5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNz
UHJveHkuaCIKICNpbXBvcnQgIldlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJNZXNzYWdlcy5oIgpA
QCAtMzcsMTUgKzM4LDYgQEAKICNpbXBvcnQgPFdlYkNvcmUvVGltZVJhbmdlcy5oPgogI2ltcG9y
dCA8V2ViS2l0U3lzdGVtSW50ZXJmYWNlLmg+CiAKLSNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RL
KQotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0ZS5oPgotI2Vsc2UKLSNpbXBvcnQgPFVJ
S2l0L1VJV2luZG93Lmg+Ci1AaW50ZXJmYWNlIFVJV2luZG93IChEZXRhaWxzKQotKyAobWFjaF9w
b3J0X3QpX3N5bmNocm9uaXplRHJhd2luZ0Fjcm9zc1Byb2Nlc3NlczsKLUBlbmQKLSNlbmRpZgot
CiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNlIFdlYktpdCB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlj
a2VyLm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0FpclBsYXlSb3V0
ZVBpY2tlci5tbQppbmRleCBjMDI2ZmJhLi4xZjFkN2FiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLQWlyUGxheVJvdXRlUGlja2VyLm1tCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tBaXJQbGF5Um91dGVQaWNrZXIubW0K
QEAgLTI4LDExICsyOCwxMCBAQAogCiAjaWYgUExBVEZPUk0oSU9TKQogCisjaW1wb3J0ICJVSUtp
dFNQSS5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlldy5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmll
d0ludGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJXZWJQYWdlUHJveHkuaCIKLSNpbXBvcnQgPFVJS2l0
L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0
ZS5oPgogI2ltcG9ydCA8V2ViQ29yZS9NZWRpYVBsYXllclNQSS5oPgogI2ltcG9ydCA8V2ViQ29y
ZS9Tb2Z0TGlua2luZy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGaWxlVXBsb2FkUGFuZWwubW0K
aW5kZXggYTViNWMxNC4uNTlmY2NiZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL2lvcy9mb3Jtcy9XS0ZpbGVVcGxvYWRQYW5lbC5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvaW9zL2Zvcm1zL1dLRmlsZVVwbG9hZFBhbmVsLm1tCkBAIC0zMSw2ICszMSw3IEBA
CiAjaW1wb3J0ICJBUElBcnJheS5oIgogI2ltcG9ydCAiQVBJRGF0YS5oIgogI2ltcG9ydCAiQVBJ
U3RyaW5nLmgiCisjaW1wb3J0ICJVSUtpdFNQSS5oIgogI2ltcG9ydCAiV0tDb250ZW50Vmlld0lu
dGVyYWN0aW9uLmgiCiAjaW1wb3J0ICJXS0RhdGEuaCIKICNpbXBvcnQgIldLU3RyaW5nQ0YuaCIK
QEAgLTQxLDExICs0Miw2IEBACiAjaW1wb3J0IDxBVkZvdW5kYXRpb24vQVZGb3VuZGF0aW9uLmg+
CiAjaW1wb3J0IDxDb3JlTWVkaWEvQ29yZU1lZGlhLmg+CiAjaW1wb3J0IDxNb2JpbGVDb3JlU2Vy
dmljZXMvTW9iaWxlQ29yZVNlcnZpY2VzLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUFwcGxpY2F0aW9u
X1ByaXZhdGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJSW1hZ2VQaWNrZXJDb250cm9sbGVyX1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJSW1hZ2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQv
VUlWaWV3Q29udHJvbGxlcl9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVdpbmRvd19Qcml2
YXRlLmg+CiAjaW1wb3J0IDxXZWJDb3JlL0xvY2FsaXplZFN0cmluZ3MuaD4KICNpbXBvcnQgPFdl
YkNvcmUvU29mdExpbmtpbmcuaD4KICNpbXBvcnQgPFdlYktpdC9XZWJOU0ZpbGVNYW5hZ2VyRXh0
cmFzLmg+CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dL
Rm9ybUlucHV0Q29udHJvbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMv
V0tGb3JtSW5wdXRDb250cm9sLm1tCmluZGV4IGFjMDBjZTguLjE5YzFhM2YgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250cm9sLm1t
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtSW5wdXRDb250
cm9sLm1tCkBAIC0yOCwxNiArMjgsMTMgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2ltcG9y
dCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXcuaCIKICNpbXBvcnQgIldLQ29u
dGVudFZpZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCAiV0tGb3JtUG9wb3Zlci5oIgogI2ltcG9y
dCAiV2ViUGFnZVByb3h5LmgiCiAjaW1wb3J0IDxVSUtpdC9VSUJhckJ1dHRvbkl0ZW0uaD4KLSNp
bXBvcnQgPFVJS2l0L1VJQmFyQnV0dG9uSXRlbV9Qcml2YXRlLmg+CiAjaW1wb3J0IDxVSUtpdC9V
SURhdGVQaWNrZXIuaD4KLSNpbXBvcnQgPFVJS2l0L1VJRGF0ZVBpY2tlcl9Qcml2YXRlLmg+Ci0j
aW1wb3J0IDxVSUtpdC9VSURldmljZV9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJv
YXJkX1ByaXZhdGUuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVkU3RyaW5ncy5oPgogI2lt
cG9ydCA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVBvcG92ZXIubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvaW9zL2Zvcm1zL1dLRm9ybVBvcG92ZXIubW0KaW5kZXggZmM5OWE3ZS4uOTFjZmI2NiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1Qb3BvdmVy
Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtUG9wb3Zl
ci5tbQpAQCAtMjgsMTEgKzI4LDEwIEBACiAKICNpZiBQTEFURk9STShJT1MpCiAKKyNpbXBvcnQg
IlVJS2l0U1BJLmgiCiAjaW1wb3J0ICJXS0NvbnRlbnRWaWV3LmgiCiAjaW1wb3J0ICJXS0NvbnRl
bnRWaWV3SW50ZXJhY3Rpb24uaCIKICNpbXBvcnQgIldlYlBhZ2VQcm94eS5oIgotI2ltcG9ydCA8
VUlLaXQvVUlQZXJpcGhlcmFsSG9zdC5oPgotI2ltcG9ydCA8VUlLaXQvVUlXaW5kb3dfUHJpdmF0
ZS5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zvcm1T
ZWxlY3RDb250cm9sLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9y
bVNlbGVjdENvbnRyb2wuaAppbmRleCBlNTliZmM5Li5kNjVmMDZhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdENvbnRyb2wu
aApAQCAtMjYsMTAgKzI2LDEwIEBACiAjaWYgUExBVEZPUk0oSU9TKQogCiAjaW1wb3J0ICJBc3Np
c3RlZE5vZGVJbmZvcm1hdGlvbi5oIgorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldL
Rm9ybVBlcmlwaGVyYWwuaCIKICNpbXBvcnQgIldLRm9ybVBvcG92ZXIuaCIKICNpbXBvcnQgPFVJ
S2l0L1VJUGlja2VyVmlldy5oPgotI2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3X1ByaXZhdGUu
aD4KIAogQ0dGbG9hdCBhZGp1c3RlZEZvbnRTaXplKENHRmxvYXQgdGV4dFdpZHRoLCBVSUZvbnQg
KiwgQ0dGbG9hdCBpbml0aWFsRm9udFNpemUsIGNvbnN0IFZlY3RvcjxXZWJLaXQ6Ok9wdGlvbkl0
ZW0+JiBpdGVtcyk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3Mv
Zm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9p
b3MvZm9ybXMvV0tGb3JtU2VsZWN0Q29udHJvbC5tbQppbmRleCAxMTMyZTJhLi5kZDBlMWVlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVj
dENvbnRyb2wubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL2lvcy9mb3Jtcy9XS0Zv
cm1TZWxlY3RDb250cm9sLm1tCkBAIC0yOCwxOCArMjgsMTIgQEAKIAogI2lmIFBMQVRGT1JNKElP
UykKIAorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXcuaCIKICNp
bXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9ydCAiV0tGb3JtUG9wb3Zl
ci5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9D
RlVuaUNoYXIuaD4KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2lt
cG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2Fy
ZF9Qcml2YXRlLmg+CiAjaW1wb3J0IDxVSUtpdC9VSVBpY2tlclZpZXcuaD4KLSNpbXBvcnQgPFVJ
S2l0L1VJUGlja2VyVmlld19Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVN0cmluZ0RyYXdp
bmdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlXZWJGb3JtQWNjZXNzb3J5Lmg+CiAjaW1w
b3J0IDx3dGYvUmV0YWluUHRyLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zvcm1zL1dLRm9ybVNlbGVjdFBpY2tl
ci5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlj
a2VyLm1tCmluZGV4IDMwZWFkMDQuLmYzN2JlMDcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlja2VyLm1tCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UGlja2VyLm1tCkBAIC0yOCwx
NSArMjgsMTEgQEAKIAogI2lmIFBMQVRGT1JNKElPUykKIAorI2ltcG9ydCAiVUlLaXRTUEkuaCIK
ICNpbXBvcnQgIldLQ29udGVudFZpZXcuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFj
dGlvbi5oIgogI2ltcG9ydCAiV0tGb3JtUG9wb3Zlci5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5
LmgiCi0jaW1wb3J0IDxDb3JlRm91bmRhdGlvbi9DRlVuaUNoYXIuaD4KLSNpbXBvcnQgPFVJS2l0
L1VJQXBwbGljYXRpb25fUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0
ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlLZXlib2FyZF9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtp
dC9VSVBpY2tlckNvbnRlbnRWaWV3X1ByaXZhdGUuaD4KICNpbXBvcnQgPHd0Zi9SZXRhaW5QdHIu
aD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYktpdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UG9wb3Zlci5tbSBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9pb3MvZm9ybXMvV0tGb3JtU2VsZWN0UG9wb3Zlci5tbQppbmRleCBhNTky
YTJiLi45ZWMxNTE2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvaW9zL2Zv
cm1zL1dLRm9ybVNlbGVjdFBvcG92ZXIubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L2lvcy9mb3Jtcy9XS0Zvcm1TZWxlY3RQb3BvdmVyLm1tCkBAIC0yOCwyMCArMjgsMTIgQEAKIAog
I2lmIFBMQVRGT1JNKElPUykKIAorI2ltcG9ydCAiVUlLaXRTUEkuaCIKICNpbXBvcnQgIldLQ29u
dGVudFZpZXcuaCIKICNpbXBvcnQgIldLQ29udGVudFZpZXdJbnRlcmFjdGlvbi5oIgogI2ltcG9y
dCAiV0tGb3JtUG9wb3Zlci5oIgogI2ltcG9ydCAiV2ViUGFnZVByb3h5LmgiCi0jaW1wb3J0IDxD
b3JlRm91bmRhdGlvbi9DRlVuaUNoYXIuaD4KLSNpbXBvcnQgPFVJS2l0L1VJQXBwbGljYXRpb25f
UHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlEZXZpY2VfUHJpdmF0ZS5oPgotI2ltcG9ydCA8
VUlLaXQvVUlLZXlib2FyZF9Qcml2YXRlLmg+Ci0jaW1wb3J0IDxVSUtpdC9VSUtleWJvYXJkSW1w
bC5oPgogI2ltcG9ydCA8VUlLaXQvVUlQaWNrZXJWaWV3Lmg+Ci0jaW1wb3J0IDxVSUtpdC9VSVBp
Y2tlclZpZXdfUHJpdmF0ZS5oPgotI2ltcG9ydCA8VUlLaXQvVUlUYWJsZVZpZXdDZWxsX1ByaXZh
dGUuaD4KLSNpbXBvcnQgPFVJS2l0L1VJU3RyaW5nRHJhd2luZ19Qcml2YXRlLmg+Ci0jaW1wb3J0
IDxVSUtpdC9VSVdlYkZvcm1BY2Nlc3NvcnkuaD4KICNpbXBvcnQgPFdlYkNvcmUvTG9jYWxpemVk
U3RyaW5ncy5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL0xlZ2FjeVByb2Nlc3MvV2ViQ29u
dGVudFByb2Nlc3NNYWluLm1tIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9FbnRyeVBvaW50
L21hYy9MZWdhY3lQcm9jZXNzL1dlYkNvbnRlbnRQcm9jZXNzTWFpbi5tbQppbmRleCBiNzAwZWE1
Li4zMDAxODZiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9p
bnQvbWFjL0xlZ2FjeVByb2Nlc3MvV2ViQ29udGVudFByb2Nlc3NNYWluLm1tCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvTGVnYWN5UHJvY2Vzcy9XZWJDb250
ZW50UHJvY2Vzc01haW4ubW0KQEAgLTMxLDggKzMxLDggQEAKICNpbXBvcnQgIlN0cmluZ1V0aWxp
dGllcy5oIgogI2ltcG9ydCAiV0tCYXNlLmgiCiAjaW1wb3J0ICJXZWJQcm9jZXNzLmgiCisjaW1w
b3J0IDxXZWJDb3JlL1NlcnZlcnNTUEkuaD4KICNpbXBvcnQgPG1hY2gvbWFjaF9lcnJvci5oPgot
I2ltcG9ydCA8c2VydmVycy9ib290c3RyYXAuaD4KICNpbXBvcnQgPHNwYXduLmg+CiAjaW1wb3J0
IDxzdGRpby5oPgogI2ltcG9ydCA8d3RmL1JldGFpblB0ci5oPgpAQCAtNDEsOSArNDEsOSBAQAog
I2ltcG9ydCA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CiAKICNpZiBQTEFURk9STShJT1MpCi0jaW1w
b3J0IDxHcmFwaGljc1NlcnZpY2VzL0dyYXBoaWNzU2VydmljZXMuaD4KKyNpbXBvcnQgPFdlYkNv
cmUvR3JhcGhpY3NTZXJ2aWNlc1NQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9XZWJDb3JlVGhyZWFk
U3lzdGVtSW50ZXJmYWNlLmg+Ci0jZW5kaWYgLy8gUExBVEZPUk0oSU9TKQorI2VuZGlmCiAKICNp
ZiBVU0UoQVBQS0lUKQogQGludGVyZmFjZSBOU0FwcGxpY2F0aW9uIChXZWJOU0FwcGxpY2F0aW9u
RGV0YWlscykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2lu
dC9tYWMvWFBDU2VydmljZS9XZWJDb250ZW50U2VydmljZUVudHJ5UG9pbnQubW0gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL0VudHJ5UG9pbnQvbWFjL1hQQ1NlcnZpY2UvV2ViQ29udGVudFNl
cnZpY2VFbnRyeVBvaW50Lm1tCmluZGV4IDIwOWUwMmIuLjE5NGZiY2YgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvRW50cnlQb2ludC9tYWMvWFBDU2VydmljZS9XZWJDb250
ZW50U2VydmljZUVudHJ5UG9pbnQubW0KKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9F
bnRyeVBvaW50L21hYy9YUENTZXJ2aWNlL1dlYkNvbnRlbnRTZXJ2aWNlRW50cnlQb2ludC5tbQpA
QCAtMzIsOSArMzIsOSBAQAogI2ltcG9ydCA8d3RmL1J1bkxvb3AuaD4KIAogI2lmIFBMQVRGT1JN
KElPUykKLSNpbXBvcnQgPEdyYXBoaWNzU2VydmljZXMvR3JhcGhpY3NTZXJ2aWNlcy5oPgorI2lt
cG9ydCA8V2ViQ29yZS9HcmFwaGljc1NlcnZpY2VzU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1dl
YkNvcmVUaHJlYWRTeXN0ZW1JbnRlcmZhY2UuaD4KLSNlbmRpZiAvLyBQTEFURk9STShJT1MpCisj
ZW5kaWYKIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiB1c2luZyBuYW1lc3BhY2UgV2ViS2l0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvY29uZmlnLmggYi9Tb3VyY2UvV2ViS2l0Mi9j
b25maWcuaAppbmRleCBkNDBlN2JjLi5kMjgzYzgzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9jb25maWcuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9jb25maWcuaApAQCAtMzYsMTggKzM2LDYg
QEAKICNpbmNsdWRlIDx3dGYvRXhwb3J0TWFjcm9zLmg+CiAKICNpZmRlZiBfX2NwbHVzcGx1cwot
I2lmbmRlZiBFWFRFUk5fQ19CRUdJTgotI2RlZmluZSBFWFRFUk5fQ19CRUdJTiBleHRlcm4gIkMi
IHsKLSNlbmRpZgotI2lmbmRlZiBFWFRFUk5fQ19FTkQKLSNkZWZpbmUgRVhURVJOX0NfRU5EIH0K
LSNlbmRpZgotI2Vsc2UKLSNkZWZpbmUgRVhURVJOX0NfQkVHSU4KLSNkZWZpbmUgRVhURVJOX0Nf
RU5ECi0jZW5kaWYKLQotI2lmZGVmIF9fY3BsdXNwbHVzCiAKIC8vIFRoZXNlIHVuZGVmcyBtYXRj
aCB1cCB3aXRoIGRlZmluZXMgaW4gV2ViS2l0MlByZWZpeC5oIGZvciBNYWMgT1MgWC4KIC8vIEhl
bHBzIHVzIGNhdGNoIGlmIGFueW9uZSB1c2VzIG5ldyBvciBkZWxldGUgYnkgYWNjaWRlbnQgaW4g
Y29kZSBhbmQgZG9lc24ndCBpbmNsdWRlICJjb25maWcuaCIuCi0tIAoyLjEuMSAoQXBwbGUgR2l0
LTUxKQoK
</data>
<flag name="review"
          id="269110"
          type_id="1"
          status="+"
          setter="ddkilzer"
    />
          </attachment>
      

    </bug>

</bugzilla>