<?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>167306</bug_id>
          
          <creation_ts>2017-01-23 07:35:40 -0800</creation_ts>
          <short_desc>[WebRTC] Add support for WK2 libwebrtc endpoint</short_desc>
          <delta_ts>2017-01-31 11:38:56 -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>WebCore Misc.</component>
          <version>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>167294</dependson>
          <blocked>143211</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="youenn fablet">youennf</reporter>
          <assigned_to name="youenn fablet">youennf</assigned_to>
          <cc>achristensen</cc>
    
    <cc>agouaillard</cc>
    
    <cc>andersca</cc>
    
    <cc>beidson</cc>
    
    <cc>bfulgham</cc>
    
    <cc>commit-queue</cc>
    
    <cc>jonlee</cc>
    
    <cc>sam</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1269049</commentid>
    <comment_count>0</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-23 07:35:40 -0800</bug_when>
    <thetext>Add support for WK2 libwebrtc endpoint</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269050</commentid>
    <comment_count>1</comment_count>
      <attachid>299515</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-23 08:03:35 -0800</bug_when>
    <thetext>Created attachment 299515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269436</commentid>
    <comment_count>2</comment_count>
      <attachid>299606</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-24 09:17:52 -0800</bug_when>
    <thetext>Created attachment 299606
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269437</commentid>
    <comment_count>3</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-24 09:19:59 -0800</bug_when>
    <thetext>Attachment 299606 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocket.h:48:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/NetworkProcess/webrtc/NetworkNetworkManager.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocketFactory.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:50:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 5 in 34 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>1269447</commentid>
    <comment_count>4</comment_count>
      <attachid>299608</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-24 10:14:23 -0800</bug_when>
    <thetext>Created attachment 299608
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269454</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-24 10:16:34 -0800</bug_when>
    <thetext>Attachment 299608 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocket.h:48:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/CMakeLists.txt:595:  There should be exactly one empty line instead of 0 between &quot;NetworkProcess/NetworkResourceLoader.messages.in&quot; and &quot;NetworkProcess/webrtc/NetworkPacketSocket.messages.in&quot;.  [list/emptyline] [5]
ERROR: Source/WebKit2/NetworkProcess/webrtc/NetworkNetworkManager.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocketFactory.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:38:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:52:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 6 in 34 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>1269524</commentid>
    <comment_count>6</comment_count>
      <attachid>299623</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-24 13:40:05 -0800</bug_when>
    <thetext>Created attachment 299623
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1269526</commentid>
    <comment_count>7</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-24 13:43:09 -0800</bug_when>
    <thetext>Attachment 299623 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocket.h:48:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/CMakeLists.txt:595:  There should be exactly one empty line instead of 0 between &quot;NetworkProcess/NetworkResourceLoader.messages.in&quot; and &quot;NetworkProcess/webrtc/NetworkPacketSocket.messages.in&quot;.  [list/emptyline] [5]
ERROR: Source/WebKit2/NetworkProcess/webrtc/NetworkNetworkManager.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocketFactory.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:40:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:52:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 6 in 34 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>1270478</commentid>
    <comment_count>8</comment_count>
      <attachid>299893</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-26 18:16:32 -0800</bug_when>
    <thetext>Created attachment 299893
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270484</commentid>
    <comment_count>9</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-26 18:19:50 -0800</bug_when>
    <thetext>Attachment 299893 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocket.h:49:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/NetworkProcess/webrtc/NetworkNetworkManager.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocketFactory.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:40:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:52:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 5 in 34 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>1270719</commentid>
    <comment_count>10</comment_count>
      <attachid>299893</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-27 11:42:14 -0800</bug_when>
    <thetext>Comment on attachment 299893
Patch

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

&gt; Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h:154
&gt; +    NetworkNetworkManager m_networkManager;

Neither of these are good names.

&gt; Source/WebKit2/NetworkProcess/webrtc/NetworkPacketSocket.cpp:100
&gt; +void NetworkPacketSocket::OnMessage(rtc::Message* message)
&gt; +{
&gt; +    ASSERT(message-&gt;message_id == 1);
&gt; +    delete this;
&gt; +}

This seems strange.

&gt; Source/WebKit2/WebKit2.xcodeproj/project.pbxproj:10318
&gt; +				HEADER_SEARCH_PATHS = (
&gt; +					&quot;$(BUILT_PRODUCTS_DIR)/usr/local/include&quot;,
&gt; +					&quot;\&quot;$(WEBCORE_PRIVATE_HEADERS_DIR)/ForwardingHeaders\&quot;&quot;,
&gt; +					&quot;\&quot;$(WEBCORE_PRIVATE_HEADERS_DIR)/icu\&quot;&quot;,

We shouldn&apos;t need to add any more WEBCORE include directories to WebKit2.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270831</commentid>
    <comment_count>11</comment_count>
      <attachid>299978</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-27 16:38:51 -0800</bug_when>
    <thetext>Created attachment 299978
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1270833</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-27 16:40:33 -0800</bug_when>
    <thetext>Attachment 299978 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCResolver.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebPacketSocketFactory.h:63:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:39:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCPacketSocket.h:53:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:51:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 5 in 36 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>1270865</commentid>
    <comment_count>13</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2017-01-27 17:41:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/30245426&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271144</commentid>
    <comment_count>14</comment_count>
      <attachid>300074</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-29 14:31:29 -0800</bug_when>
    <thetext>Created attachment 300074
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271145</commentid>
    <comment_count>15</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-29 14:33:38 -0800</bug_when>
    <thetext>Attachment 300074 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCSocketFactory.cpp:34:  Alphabetical sorting problem.  [build/include_order] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCResolver.h:40:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/WebRTCResolver.h:34:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:40:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCSocket.h:52:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:52:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 7 in 41 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>1271462</commentid>
    <comment_count>16</comment_count>
      <attachid>300074</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-30 16:09:38 -0800</bug_when>
    <thetext>Comment on attachment 300074
Patch

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

partial review.  I&apos;m not sure this is organized completely correctly.

&gt; Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp:76
&gt; +        m_rtcProvider-&gt;close();

Can this happen with a destructor instead of having to call close every time we might lose it?

&gt; Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h:120
&gt; +    RefPtr&lt;NetworkRTCProvider&gt; m_rtcProvider;

Does this need to be ref counted?  It seems to only have one or zero references.

&gt; Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.messages.in:25
&gt; +messages -&gt; NetworkRTCMonitor LegacyReceiver {

Could we not add LegacyReceiver to new IPC message types?

&gt; Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCSocket.cpp:56
&gt; +    std::fill_n(m_options, MAX_SOCKET_OPTION, -1);

could we use memset and sizeof?  That would feel safer, although it&apos;s the same in this case.

&gt; Source/WebKit2/WebProcess/Network/webrtc/WebRTCResolver.h:35
&gt; +    class Decoder;

no indent

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:384
&gt; +#if USE(LIBWEBRTC)
&gt; +        makeUniqueRef&lt;WebKit::LibWebRTCProvider&gt;()
&gt; +#else
&gt;          makeUniqueRef&lt;WebCore::LibWebRTCProvider&gt;()
&gt; +#endif

Could we do something similar and have WebKit::LibWebRTCProvider exist and do nothing if USE(LIBWEBRTC) is false?

&gt; Source/WebKit2/WebProcess/WebProcess.h:171
&gt; +    LibWebRTC&amp; libWebRTC() { return *m_libWebRTC; }
&gt; +    void initializeLibWebRTC();

The name LibWebRTC doesn&apos;t indicate what this class does.
Also, we requiring the caller to call initializeLibWebRTC before calling libWebRTC is strange.  Could we just check if it&apos;s null and if it is then create one?  Then we&apos;d only need one function.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271537</commentid>
    <comment_count>17</comment_count>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-30 18:18:26 -0800</bug_when>
    <thetext>Thanks for the initial review.

&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=300074&amp;action=review
&gt; 
&gt; partial review.  I&apos;m not sure this is organized completely correctly.
&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.cpp:76
&gt; &gt; +        m_rtcProvider-&gt;close();
&gt; 
&gt; Can this happen with a destructor instead of having to call close every time
&gt; we might lose it?

m_rtcProvider may remain live while NetworkConnectionToWebProcess is gone.
close ensures m_rtcProvider will not use its deleted NetworkConnectionToWebProcess.

&gt; &gt; Source/WebKit2/NetworkProcess/NetworkConnectionToWebProcess.h:120
&gt; &gt; +    RefPtr&lt;NetworkRTCProvider&gt; m_rtcProvider;
&gt; 
&gt; Does this need to be ref counted?  It seems to only have one or zero
&gt; references.

It is refcounted each time we go to/from the rtc thread/main thread.
In the future, we should find a path to go directly from web process rtc thread to network process rtc thread

&gt; 
&gt; &gt; Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.messages.in:25
&gt; &gt; +messages -&gt; NetworkRTCMonitor LegacyReceiver {
&gt; 
&gt; Could we not add LegacyReceiver to new IPC message types?

Will try.

&gt; &gt; Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCSocket.cpp:56
&gt; &gt; +    std::fill_n(m_options, MAX_SOCKET_OPTION, -1);
&gt; 
&gt; could we use memset and sizeof?  That would feel safer, although it&apos;s the
&gt; same in this case.

OK

&gt; &gt; Source/WebKit2/WebProcess/Network/webrtc/WebRTCResolver.h:35
&gt; &gt; +    class Decoder;
&gt; 
&gt; no indent

OK

&gt; &gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:384
&gt; &gt; +#if USE(LIBWEBRTC)
&gt; &gt; +        makeUniqueRef&lt;WebKit::LibWebRTCProvider&gt;()
&gt; &gt; +#else
&gt; &gt;          makeUniqueRef&lt;WebCore::LibWebRTCProvider&gt;()
&gt; &gt; +#endif
&gt; 
&gt; Could we do something similar and have WebKit::LibWebRTCProvider exist and
&gt; do nothing if USE(LIBWEBRTC) is false?

OK

&gt; &gt; Source/WebKit2/WebProcess/WebProcess.h:171
&gt; &gt; +    LibWebRTC&amp; libWebRTC() { return *m_libWebRTC; }
&gt; &gt; +    void initializeLibWebRTC();
&gt; 
&gt; The name LibWebRTC doesn&apos;t indicate what this class does.

Let&apos;s change it to LibWebRTCNetwork

&gt; Also, we requiring the caller to call initializeLibWebRTC before calling
&gt; libWebRTC is strange.  Could we just check if it&apos;s null and if it is then
&gt; create one?  Then we&apos;d only need one function.

Sure, that is really a left over.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271542</commentid>
    <comment_count>18</comment_count>
      <attachid>300177</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-30 18:27:39 -0800</bug_when>
    <thetext>Created attachment 300177
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271544</commentid>
    <comment_count>19</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-30 18:30:27 -0800</bug_when>
    <thetext>Attachment 300177 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCResolver.h:40:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:40:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCSocket.h:52:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:52:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 5 in 41 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>1271558</commentid>
    <comment_count>20</comment_count>
      <attachid>300182</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-30 20:07:36 -0800</bug_when>
    <thetext>Created attachment 300182
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271559</commentid>
    <comment_count>21</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-30 20:10:05 -0800</bug_when>
    <thetext>Attachment 300182 did not pass style-queue:


ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCResolver.h:40:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/NetworkProcess/webrtc/NetworkRTCMonitor.h:46:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.cpp:40:  Code inside a namespace should not be indented.  [whitespace/indent] [4]
ERROR: Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCSocket.h:52:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
ERROR: Source/WebKit2/Shared/RTCNetwork.h:52:  Should be indented on a separate line, with the colon or comma first on that line.  [whitespace/indent] [4]
Total errors found: 5 in 41 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>1271633</commentid>
    <comment_count>22</comment_count>
      <attachid>300182</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-01-31 02:05:30 -0800</bug_when>
    <thetext>Comment on attachment 300182
Patch

Attachment 300182 did not pass ios-sim-ews (ios-simulator-wk2):
Output: http://webkit-queues.webkit.org/results/2978395

New failing tests:
css3/filters/backdrop/dynamic-with-clip-path.html</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271634</commentid>
    <comment_count>23</comment_count>
      <attachid>300198</attachid>
    <who name="Build Bot">buildbot</who>
    <bug_when>2017-01-31 02:05:33 -0800</bug_when>
    <thetext>Created attachment 300198
Archive of layout-test-results from ews122 for ios-simulator-wk2

The attached test failures were seen while running run-webkit-tests on the ios-sim-ews.
Bot: ews122  Port: ios-simulator-wk2  Platform: Mac OS X 10.11.6</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271727</commentid>
    <comment_count>24</comment_count>
      <attachid>300182</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-31 08:27:18 -0800</bug_when>
    <thetext>Comment on attachment 300182
Patch

Failure is unrelated to this patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271777</commentid>
    <comment_count>25</comment_count>
      <attachid>300182</attachid>
    <who name="Alex Christensen">achristensen</who>
    <bug_when>2017-01-31 10:34:52 -0800</bug_when>
    <thetext>Comment on attachment 300182
Patch

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

&gt; Source/WebKit2/ChangeLog:11
&gt; +        1 Resolution of DNS names (RTCResikver)

RTCResolver

&gt; Source/WebKit2/NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:61
&gt; +

extra space

&gt; Source/WebKit2/NetworkProcess/webrtc/LibWebRTCSocketClient.cpp:91
&gt; +    auto identifier = m_identifier;
&gt; +    m_rtcProvider.sendFromMainThread([identifier, sentPacket](IPC::Connection&amp; connection) {

You might be able to do identifier = m_identifier

&gt; Source/WebKit2/NetworkProcess/webrtc/NetworkRTCProvider.cpp:133
&gt; +    CFHostClientContext context;
&gt; +    context.version = 0;
&gt; +    context.info = resolver.get();
&gt; +    context.copyDescription = nullptr;
&gt; +    context.release = nullptr;
&gt; +    context.retain = nullptr;

Let&apos;s use an initializer list.

&gt; Source/WebKit2/WebProcess/Network/webrtc/LibWebRTCSocket.h:100
&gt; +    size_t m_availableSendingBytes { 65536 };

This should be a named constant.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271788</commentid>
    <comment_count>26</comment_count>
      <attachid>300236</attachid>
    <who name="youenn fablet">youennf</who>
    <bug_when>2017-01-31 11:00:02 -0800</bug_when>
    <thetext>Created attachment 300236
Patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271809</commentid>
    <comment_count>27</comment_count>
      <attachid>300236</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-31 11:38:49 -0800</bug_when>
    <thetext>Comment on attachment 300236
Patch for landing

Clearing flags on attachment: 300236

Committed r211441: &lt;http://trac.webkit.org/changeset/211441&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1271810</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2017-01-31 11:38:56 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299515</attachid>
            <date>2017-01-23 08:03:35 -0800</date>
            <delta_ts>2017-01-24 09:17:49 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170123080138.patch</filename>
            <type>text/plain</type>
            <size>158789</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjEwOTg4CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZDU5MGVjOWNhOGFiYTM0
OWY4MWFiMGJjMjlhNDIxYjAzZDQ0ZWFkMi4uZTgyY2E5NjFjZDU4ZTQ2M2NhNzQ5ZDI3MGRmYjdl
ZjRjNWRkYjI1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0MyBAQAorMjAxNy0wMS0yMyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRpbmcgUlRDU3RyYXRlZ3kgZm9yIFdl
YktpdDIuCisgICAgICAgIEFsbCBuZXR3b3JraW5nIGlzIG1vdmVkIHRvIHRoZSBOZXR3b3JrUHJv
Y2Vzcy4KKyAgICAgICAgVGhpcyBpbmNsdWRlczoKKyAgICAgICAgLSBpbnRlcmZhY2UgbW9uaXRv
cmluZyAoTmV0d29ya01hbmFnZXIpCisgICAgICAgIC0gRE5TIHJlc29sdXRpb24gKEF5c25jUmVz
b2x2ZXIpCisgICAgICAgIC0gVURQL1RDUCBjb25uZWN0aW9ucyAoUGFja2V0U29ja2V0RmFjdG9y
eS9QYWNrZXRTb2NrZXQpCisKKyAgICAgICAgV0syIFJUQ1N0cmF0ZWd5IGlzIHJlc3BvbnNpYmxl
IHRvIGNyZWF0ZSB0aGUgbGlid2VicnRjIHBlZXJjb25uZWN0aW9uIHRoYXQgd2lsbCB1c2UgdGhl
IGNvcnJlc3BvbmRpbmcKKyAgICAgICAgaW1wbGVtZW50YXRpb25zIHNvIHRoYXQgYWxsIG5ldHdv
cmsgaXMgZG9uZSBieSBOZXR3b3JrUHJvY2Vzcy4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0
OgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAgKiBE
ZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdl
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZVVEUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlQ2xpZW50VENQU29ja2V0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlc29sdmVkTmFtZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVBc3luY1Jl
c29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OnN0b3BBc3luY1Jlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OmFkZFBhY2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjp0YWtlUGFja2V0U29ja2V0KToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVzb2x2ZXI6OlJlc29sdmVyKToK
KyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlc29sdmVy
Ojp+UmVzb2x2ZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnJ0Y05ldHdv
cmtUaHJlYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwYWNrZXRTb2NrZXRGYWN0b3J5KToKKyAg
ICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5j
cHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzOjpj
cmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RvcFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya05ldHdvcmtNYW5hZ2VyOjpPbk1lc3NhZ2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
TmV0d29ya01hbmFnZXI6OnN0YXJ0VXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtU
aHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTmV0d29ya01hbmFnZXI6Om9uTmV0d29y
a3NDaGFuZ2VkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdv
cmtNYW5hZ2VyLmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZVVEUCk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZUNsaWVudFRDUCk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZVNlcnZlclRDUCk6CisgICAgICAgIChXZWJLaXQ6
Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUGFja2V0U29ja2V0Ojp+TmV0d29ya1BhY2tldFNvY2tldCk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6Ok9uTWVzc2FnZSk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNsZWFuKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29y
a1BhY2tldFNvY2tldDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzZW5kVG8pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
UGFja2V0U29ja2V0OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2Nr
ZXQ6OnNldE9wdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNp
Z25hbFJlYWRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0Ojpz
aWduYWxTZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6
c2lnbmFsQWRkcmVzc1JlYWR5KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tl
dDo6c2lnbmFsQ29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6
OnNpZ25hbENsb3NlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1Bh
Y2tldFNvY2tldC5oOiBBZGRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogU2hhcmVkL1JU
Q05ldHdvcmsuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6UlRDTmV0
d29yayk6CisgICAgICAgIChXZWJLaXQ6Omlwcyk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdv
cms6OnZhbHVlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzOjpkZWNv
ZGUpOgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmVuY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJU
Q05ldHdvcms6OmVuY29kZSk6CisgICAgICAgICogU2hhcmVkL1JUQ05ldHdvcmsuaDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzczo6SVBBZGRyZXNzKToKKyAg
ICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAg
ICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTmV0d29ya01hbmFnZXI6OlN0YXJ0VXBkYXRpbmcp
OgorICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6U3RvcFVwZGF0aW5nKToKKyAg
ICAgICAgKFdlYktpdDo6V2ViTmV0d29ya01hbmFnZXI6Om5ldHdvcmtzQ2hhbmdlZCk6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oOiBBZGRl
ZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2Vy
Lm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlBhY2tldFNvY2tldC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRT
b2NrZXQ6OldlYlBhY2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tl
dDo6fldlYlBhY2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6
R2V0TG9jYWxBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpHZXRS
ZW1vdGVBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpzaWduYWxB
ZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFJl
YWRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQ
YWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbENvbm5lY3Qp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbik6Cisg
ICAgICAgIChXZWJLaXQ6OmF1dGhLZXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2Nr
ZXQ6OndpbGxTZW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpTZW5kVG8p
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OkNsb3NlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFja2V0U29ja2V0OjpHZXRPcHRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWNrZXRTb2NrZXQ6OlNldE9wdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9XZWJQYWNrZXRTb2NrZXQuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAq
IFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHA6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpDcmVhdGVTZXJ2
ZXJUY3BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpD
cmVhdGVVZHBTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
OjpDcmVhdGVDbGllbnRUY3BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2Nr
ZXRGYWN0b3J5OjpkZXRhY2gpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0
b3J5OjpDcmVhdGVBc3luY1Jlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29j
a2V0RmFjdG9yeTo6Z2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFj
a2V0U29ja2V0RmFjdG9yeTo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IpOgorICAgICAgICAoV2ViS2l0
OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpTdGFydCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6Okdl
dFJlc29sdmVkQWRkcmVzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rv
cnk6OldlYkFzeW5jUmVzb2x2ZXI6OkRlc3Ryb3kpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNr
ZXRTb2NrZXRGYWN0b3J5OjpzdG9wUmVzb2x2ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1N0cmF0ZWd5LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlJUQ1N0cmF0ZWd5Ojppbml0aWFsaXplKToKKyAgICAgICAgKFdlYktp
dDo6V2ViUlRDU3RyYXRlZ3k6OndlYlBhY2tldFNvY2tldEZvcklkZW50aWZpZXIpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJSVENTdHJhdGVneTo6bmV0d29ya01hbmFnZXIpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJSVENTdHJhdGVneTo6Y3JlYXRlUGVlckNvbm5lY3Rpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU3RyYXRlZ3kuaDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OldlYlJUQ1N0cmF0ZWd5OjpXZWJSVENTdHJhdGVneSk6CisgICAgICAgIChXZWJL
aXQ6OldlYlJUQ1N0cmF0ZWd5Ojpzb2NrZXRGYWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
UlRDU3RyYXRlZ3k6OmdldFJlc29sdmVkQWRkcmVzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJU
Q1N0cmF0ZWd5OjpyZXNvbHZlZEFkZHJlc3NFcnJvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENTdHJhdGVneS5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZVJUQ1N0cmF0ZWd5
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChX
ZWJLaXQ6OldlYlByb2Nlc3M6OldlYlByb2Nlc3MpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjp3ZWJSVENTdHJhdGVneSk6
CisKIDIwMTctMDEtMjAgIEFsZXggQ2hyaXN0ZW5zZW4gIDxhY2hyaXN0ZW5zZW5Ad2Via2l0Lm9y
Zz4KIAogICAgICAgICBGaXggTWFjIENNYWtlIGJ1aWxkLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRl
eCA0NWI1Yzk2ODdmNDE0MzcyZDVmYmY3MDNhYmNlNmE0ODkxNDAxZjA4Li4zYzJhY2Q3MGIzYTVh
ODc1MzVlNzlkZWZmZDA0ZDA5NWE2MDZhYzYyIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9D
TWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtNTkw
LDYgKzU5MCw3IEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgTmV0d29ya1By
b2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVByb3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgog
CiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KKyAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmlu
CiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KIApAQCAtNjQ5LDYg
KzY1MCw3IEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAKICAgICBXZWJQcm9jZXNz
L0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5tZXNzYWdlcy5pbgogCisgICAgV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4KICAgICBX
ZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCiAg
ICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZyBi
L1NvdXJjZS9XZWJLaXQyL0NvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZwppbmRleCA0ZWM4
NzhhMTJhNDkwYjBlNzY5YWU1MzgyNTg0NTRkNmNkZWVmYjZkLi44ZjQxNjJjZDhkN2M0ZTVkMjdk
OTBlNzgzNTE1YjY5NzljZjkxNDVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9Db25maWd1
cmF0aW9ucy9XZWJLaXQueGNjb25maWcKKysrIGIvU291cmNlL1dlYktpdDIvQ29uZmlndXJhdGlv
bnMvV2ViS2l0LnhjY29uZmlnCkBAIC00NCw3ICs0NCwxMSBAQCBGUkFNRVdPUktfQU5EX0xJQlJB
UllfTERGTEFHU1tzZGs9bWFjb3N4Kl0gPSAtZnJhbWV3b3JrIEFwcGxpY2F0aW9uU2VydmljZXMg
LWZyYQogLy8gUHJldmVudCBDKysgc3RhbmRhcmQgbGlicmFyeSBvcGVyYXRvciBuZXcsIGRlbGV0
ZSBhbmQgdGhlaXIgcmVsYXRlZCBleGNlcHRpb24gdHlwZXMgZnJvbSBiZWluZyBleHBvcnRlZCBh
cyB3ZWFrIHN5bWJvbHMuCiBVTkVYUE9SVEVEX1NZTUJPTF9MREZMQUdTID0gLVdsLC11bmV4cG9y
dGVkX3N5bWJvbCAtV2wsX19aVElTdDliYWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAt
V2wsX19aVElTdDlleGNlcHRpb24gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDli
YWRfYWxsb2MgLVdsLC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aVFNTdDlleGNlcHRpb24gLVds
LC11bmV4cG9ydGVkX3N5bWJvbCAtV2wsX19aZGxQdlNfIC1XbCwtdW5leHBvcnRlZF9zeW1ib2wg
LVdsLF9fWm53bVB2IC1XbCwtdW5leHBvcnRlZF9zeW1ib2wgLVdsLF9fWm53bSAtV2wsLXVuZXhw
b3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5
QWN0aW9uRUVFQzJFT1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThm
dW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFQzFFT1M0XyAtV2wsLXVuZXhwb3J0
ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0
aW9uRUVFYVNFRG4gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5LU3QzX18xOGZ1bmN0
aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25FRUVjbEVTMl8gLVdsLC11bmV4cG9ydGVkX3N5
bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rpb25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVF
RTRzd2FwRVJTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVdsLF9fWk5TdDNfXzE4ZnVuY3Rp
b25JRnZON1dlYkNvcmUxMlBvbGljeUFjdGlvbkVFRUMxRVJLUzRfIC1XbCwtdW5leHBvcnRlZF9z
eW1ib2wsIC1XbCxfX1pOU3QzX18xOGZ1bmN0aW9uSUZ2TjdXZWJDb3JlMTJQb2xpY3lBY3Rpb25F
RUVDMkVSS1M0XyAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlv
bklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDFFdiAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9s
LCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2ViQ29yZTEyUG9saWN5QWN0aW9uRUVFRDJF
diAtV2wsLXVuZXhwb3J0ZWRfc3ltYm9sLCAtV2wsX19aTlN0M19fMThmdW5jdGlvbklGdk43V2Vi
Q29yZTEyUG9saWN5QWN0aW9uRUVFYVNFUktTNF8gLVdsLC11bmV4cG9ydGVkX3N5bWJvbCwgLVds
LF9fWlRWTlN0M19fMTE3YmFkX2Z1bmN0aW9uX2NhbGxFOwogCi1PVEhFUl9MREZMQUdTID0gJChp
bmhlcml0ZWQpICQoVU5FWFBPUlRFRF9TWU1CT0xfTERGTEFHUykgJChBU0FOX09USEVSX0xERkxB
R1MpICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xERkxBR1MpICQoT1RIRVJfTERGTEFHU19QTEFU
Rk9STSkgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kgLXN1Yl91bWJyZWxsYSBXZWJLaXRMZWdhY3k7
CitXRUJSVENfTERGTEFHUyA9IC1sd2VicnRjCisKK0hFQURFUl9TRUFSQ0hfUEFUSFMgPSAkKFNS
Q1JPT1QpLy4uL1RoaXJkUGFydHkvbGlid2VicnRjL1NvdXJjZSAkKEhFQURFUl9TRUFSQ0hfUEFU
SFMpOworCitPVEhFUl9MREZMQUdTID0gJChpbmhlcml0ZWQpICQoVU5FWFBPUlRFRF9TWU1CT0xf
TERGTEFHUykgJChBU0FOX09USEVSX0xERkxBR1MpICQoRlJBTUVXT1JLX0FORF9MSUJSQVJZX0xE
RkxBR1MpICQoT1RIRVJfTERGTEFHU19QTEFURk9STSkgLWZyYW1ld29yayBXZWJLaXRMZWdhY3kg
LXN1Yl91bWJyZWxsYSBXZWJLaXRMZWdhY3kgJChXRUJSVENfTERGTEFHUyk7CiBPVEhFUl9MREZM
QUdTX1BMQVRGT1JNW3Nkaz1tYWNvc3gqXSA9IC1zdWJfdW1icmVsbGEgV2ViQ29yZTsKIE9USEVS
X0xERkxBR1NfUExBVEZPUk1bc2RrPWlwaG9uZW9zKl0gPSAtbEFjY2Vzc2liaWxpdHk7CiBPVEhF
Ul9MREZMQUdTX1BMQVRGT1JNW3Nkaz1pcGhvbmVzaW11bGF0b3IqXSA9IC1sQWNjZXNzaWJpbGl0
eTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3Vy
Y2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRjYTRmNTg4ZTE1OGMwMjlkMmU4
YWMyZTFjYmRhMTQ0OGVlNzM0NDguLjgyODczN2JhYzU2YjE3Y2Q0MmUxMDA4MmIwYzE1MjY5OGJm
ZGM1MjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysr
IGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjgsNiArMjgsNyBAQCBW
UEFUSCA9IFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzIFwKICAgICAkKFdlYktpdDIp
L05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scyBcCiAgICAgJChXZWJLaXQyKS9OZXR3b3Jr
UHJvY2Vzcy9tYWMgXAorICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3Mvd2VicnRjIFwKICAg
ICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAogICAgICQoV2ViS2l0MikvUGx1Z2luUHJvY2Vz
cy9tYWMgXAogICAgICQoV2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXApAQCAtNDUsNiArNDYsNyBA
QCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlIFwKICAg
ICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvTWVkaWFDYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQ
cm9jZXNzL05ldHdvcmsgXAorICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
YyBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMgXAogICAgICQoV2Vi
S2l0MikvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3Mv
UGx1Z2lucyBcCkBAIC05Nyw2ICs5OSw4IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIEV2
ZW50RGlzcGF0Y2hlciBcCiAgICAgTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXIgXAogICAgIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIFwKKyAgICBOZXR3b3JrTmV0d29ya01hbmFnZXIgXAor
ICAgIE5ldHdvcmtQYWNrZXRTb2NrZXQgXAogICAgIE5ldHdvcmtQcm9jZXNzIFwKICAgICBOZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24gXAogICAgIE5ldHdvcmtQcm9jZXNzUHJveHkgXApAQCAtMTM3
LDcgKzE0MSw5IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFdlYkluc3BlY3RvciBcCiAg
ICAgV2ViSW5zcGVjdG9yUHJveHkgXAogICAgIFdlYkluc3BlY3RvclVJIFwKKyAgICBXZWJOZXR3
b3JrTWFuYWdlciBcCiAgICAgV2ViTm90aWZpY2F0aW9uTWFuYWdlciBcCisgICAgV2ViUGFja2V0
U29ja2V0IFwKICAgICBXZWJQYWdlIFwKICAgICBXZWJQYWdlUHJveHkgXAogICAgIFdlYlBhc3Rl
Ym9hcmRQcm94eSBcCkBAIC0xNDksNiArMTU1LDcgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAg
ICAgV2ViUHJvY2Vzc0Nvbm5lY3Rpb24gXAogICAgIFdlYlByb2Nlc3NQb29sIFwKICAgICBXZWJQ
cm9jZXNzUHJveHkgXAorICAgIFdlYlJUQ1N0cmF0ZWd5IFwKICAgICBXZWJSZXNvdXJjZUxvYWRl
ciBcCiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIFwKICAgICBXZWJVc2VyQ29u
dGVudENvbnRyb2xsZXIgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDhhMjdh
YjNhMGMyZDVjODJjMjRhNjQzMjQ2YTY2MGY3ODk5M2VlNzUuLjAxZmEwOGRhNTJhYjBkYjQ5ZmZm
ZTMyYjk4YzA4NDAxYzA0ZDhmZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAg
LTMyLDIwICszMiwyOCBAQAogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgogI2luY2x1ZGUgIk5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3Jr
TG9hZC5oIgorI2luY2x1ZGUgIk5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VzLmgiCisjaW5j
bHVkZSAiTmV0d29ya1BhY2tldFNvY2tldC5oIgorI2luY2x1ZGUgIk5ldHdvcmtQYWNrZXRTb2Nr
ZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3Vy
Y2VMb2FkUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgog
I2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiUlRD
TmV0d29yay5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiU2Vzc2lvblRyYWNrZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIK
KyNpbmNsdWRlICJXZWJSVENTdHJhdGVneU1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9M
aWJXZWJSVENNYWNyb3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL05ldHdvcmtTdG9yYWdlU2Vzc2lv
bi5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGluZ0hhbmRsZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
UGxhdGZvcm1Db29raWVKYXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlTG9hZGVyT3B0
aW9ucy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VSZXF1ZXN0Lmg+CiAjaW5jbHVkZSA8
V2ViQ29yZS9TZXNzaW9uSUQuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNv
Y2tldC5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAKICNpZiBVU0UoTkVUV09SS19T
RVNTSU9OKQogI2luY2x1ZGUgIlBpbmdMb2FkLmgiCkBAIC02Miw2ICs3MCw5IEBAIFJlZjxOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OmNyZWF0ZShJUEM6OkNvCiAKIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyhJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVj
dGlvbklkZW50aWZpZXIpCiAgICAgOiBtX2Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uOjpjcmVh
dGVTZXJ2ZXJDb25uZWN0aW9uKGNvbm5lY3Rpb25JZGVudGlmaWVyLCAqdGhpcykpCisjaWYgRU5B
QkxFKExJQldFQlJUQ19FTkRQT0lOVCkKKyAgICAsIG1fbmV0d29ya01hbmFnZXIoKnRoaXMpCisj
ZW5kaWYKIHsKICAgICBtX2Nvbm5lY3Rpb24tPm9wZW4oKTsKIH0KQEAgLTc2LDcgKzg3LDcgQEAg
dm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xlYW51cFJlc291cmNlTG9h
ZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWQKIAogICAgIG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5y
ZW1vdmUobG9hZGVyLmlkZW50aWZpZXIoKSk7CiB9Ci0gICAgCisKIHZvaWQgTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29u
bmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChkZWNvZGVyLm1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpAQCAtODUsMTIgKzk2LDI1IEBAIHZvaWQgTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvCiAgICAgfQogCiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVy
TmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSkgewotICAgICAgICBIYXNoTWFwPFJlc291cmNlTG9hZElkZW50aWZpZXIsIFJlZlB0
cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+Pjo6aXRlcmF0b3IgbG9hZGVySXRlcmF0b3IgPSBtX25l
dHdvcmtSZXNvdXJjZUxvYWRlcnMuZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CisgICAg
ICAgIGF1dG8gbG9hZGVySXRlcmF0b3IgPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZmluZChk
ZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CiAgICAgICAgIGlmIChsb2FkZXJJdGVyYXRvciAhPSBt
X25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZW5kKCkpCiAgICAgICAgICAgICBsb2FkZXJJdGVyYXRv
ci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlKGNvbm5lY3Rp
b24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCisjaWYgRU5BQkxF
KExJQldFQlJUQ19FTkRQT0lOVCkKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSkgeworICAgICAgICBhdXRvIHNvY2tldEl0ZXJhdG9yID0gbV9wYWNrZXRTb2NrZXRzLmZpbmQo
ZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpOworICAgICAgICBpZiAoc29ja2V0SXRlcmF0b3IgIT0g
bV9wYWNrZXRTb2NrZXRzLmVuZCgpKQorICAgICAgICAgICAgc29ja2V0SXRlcmF0b3ItPnZhbHVl
LT5kaWRSZWNlaXZlTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rl
cik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2Vp
dmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrTmV0d29ya01hbmFnZXI6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICBtX25ldHdvcmtNYW5hZ2VyLmRpZFJlY2VpdmVOZXR3b3Jr
TmV0d29ya01hbmFnZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1
cm47CisgICAgfQorI2VuZGlmCisKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKIH0KIApAQCAt
MzM0LDQgKzM1OCwxMTUgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZW5z
dXJlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpCiAgICAgTmV0d29ya1Byb2Nlc3M6OnNp
bmdsZXRvbigpLmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24oU2Vzc2lvbklEOjpsZWdhY3lQ
cml2YXRlU2Vzc2lvbklEKCkpOwogfQogCisjaWYgRU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkK
K3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZVVEUFNvY2tldCh1aW50
NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQs
IHVpbnQxNl90IG1heFBvcnQpCit7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJl
c3M7CisgICAgc29ja2V0QWRkcmVzcy5Gcm9tU3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7
CisKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLklu
dm9rZTx2b2lkPihSVENfRlJPTV9IRVJFLCBbdGhpcywgaWRlbnRpZmllciwgc29ja2V0QWRkcmVz
cywgbWluUG9ydCwgbWF4UG9ydF0oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFz
eW5jUGFja2V0U29ja2V0PiBzb2NrZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnBhY2tl
dFNvY2tldEZhY3RvcnkoKS5DcmVhdGVVZHBTb2NrZXQoc29ja2V0QWRkcmVzcywgbWluUG9ydCwg
bWF4UG9ydCkpOworICAgICAgICBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVhdGVVRFAoaWRlbnRp
ZmllciwgV1RGTW92ZShzb2NrZXQpLCAqdGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCh1aW50NjRfdCBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2Nr
ZXRBZGRyZXNzOworICAgIHNvY2tldEFkZHJlc3MuRnJvbVN0cmluZyhhZGRyZXNzLnV0ZjgoKS5k
YXRhKCkpOworCisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJl
YWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3RoaXMsIGlkZW50aWZpZXIsIHNvY2tl
dEFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnNdKCkgeworICAgICAgICBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KE5ldHdvcmtQcm9jZXNzOjpz
aW5nbGV0b24oKS5wYWNrZXRTb2NrZXRGYWN0b3J5KCkuQ3JlYXRlU2VydmVyVGNwU29ja2V0KHNv
Y2tldEFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMpKTsKKyAgICAgICAgTmV0d29y
a1BhY2tldFNvY2tldDo6Y3JlYXRlU2VydmVyVENQKGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0
KSwgKnRoaXMpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBsb2NhbEFkZHJlc3MsIGNvbnN0IFN0cmluZyYgcmVtb3RlQWRkcmVzcywgaW50IG9wdGlv
bnMpCit7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldExvY2FsQWRkcmVzczsKKyAgICBz
b2NrZXRMb2NhbEFkZHJlc3MuRnJvbVN0cmluZyhsb2NhbEFkZHJlc3MudXRmOCgpLmRhdGEoKSk7
CisKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0UmVtb3RlQWRkcmVzczsKKyAgICBzb2Nr
ZXRSZW1vdGVBZGRyZXNzLkZyb21TdHJpbmcocmVtb3RlQWRkcmVzcy51dGY4KCkuZGF0YSgpKTsK
KworICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCkuSW52
b2tlPHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFt0aGlzLCBpZGVudGlmaWVyLCBzb2NrZXRMb2NhbEFk
ZHJlc3MsIHNvY2tldFJlbW90ZUFkZHJlc3MsIG9wdGlvbnNdKCkgeworICAgICAgICBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KE5ldHdvcmtQcm9jZXNzOjpz
aW5nbGV0b24oKS5wYWNrZXRTb2NrZXRGYWN0b3J5KCkuQ3JlYXRlQ2xpZW50VGNwU29ja2V0KHNv
Y2tldExvY2FsQWRkcmVzcywgc29ja2V0UmVtb3RlQWRkcmVzcywgeyB9LCB7IH0sIG9wdGlvbnMp
KTsKKyAgICAgICAgTmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlQ2xpZW50VENQKGlkZW50aWZp
ZXIsIFdURk1vdmUoc29ja2V0KSwgKnRoaXMpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZXNvbHZlZE5hbWUoQ0ZIb3N0UmVmIGhvc3RSZWYsIENG
SG9zdEluZm9UeXBlIHR5cGVJbmZvLCBjb25zdCBDRlN0cmVhbUVycm9yICplcnJvciwgdm9pZCAq
aW5mbykKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHR5cGVJbmZvLCAhdHlwZUluZm8pOworCisgICAg
aWYgKGVycm9yLT5kb21haW4pIHsKKyAgICAgICAgLy8gRklYTUU6IE5lZWQgdG8gaGFuZGxlIGZh
aWx1cmUsIGJ1dCBpbmZvIGlzIG5vdCBwcm92aWRlZCBpbiB0aGUgY2FsbGJhY2suCisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5mbyk7CisgICAgYXV0byogcmVzb2x2ZXJJ
bmZvID0gc3RhdGljX2Nhc3Q8UmVzb2x2ZXIqPihpbmZvKTsKKyAgICBhdXRvIHJlc29sdmVyID0g
cmVzb2x2ZXJJbmZvLT5jb25uZWN0aW9uLT5tX3Jlc29sdmVycy50YWtlKHJlc29sdmVySW5mby0+
aWRlbnRpZmllcik7CisgICAgaWYgKCFyZXNvbHZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
Qm9vbGVhbiByZXN1bHQ7CisgICAgQ0ZBcnJheVJlZiByZXNvbHZlZEFkZHJlc3NlcyA9IChDRkFy
cmF5UmVmKUNGSG9zdEdldEFkZHJlc3NpbmcoaG9zdFJlZiwgJnJlc3VsdCk7CisgICAgQVNTRVJU
X1VOVVNFRChyZXN1bHQsIHJlc3VsdCk7CisKKyAgICBzaXplX3QgY291bnQgPSBDRkFycmF5R2V0
Q291bnQocmVzb2x2ZWRBZGRyZXNzZXMpOworICAgIFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJl
c3M+IGFkZHJlc3NlczsKKyAgICBhZGRyZXNzZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShjb3Vu
dCk7CisKKyAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQ7ICsraW5kZXgp
IHsKKyAgICAgICAgQ0ZEYXRhUmVmIGRhdGEgPSAoQ0ZEYXRhUmVmKUNGQXJyYXlHZXRWYWx1ZUF0
SW5kZXgocmVzb2x2ZWRBZGRyZXNzZXMsIGluZGV4KTsKKyAgICAgICAgYXV0byogYWRkcmVzcyA9
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgc3RydWN0IHNvY2thZGRyX2luKj4oQ0ZEYXRhR2V0Qnl0
ZVB0cihkYXRhKSk7CisgICAgICAgIGFkZHJlc3Nlcy51bmNoZWNrZWRBcHBlbmQoUlRDTmV0d29y
azo6SVBBZGRyZXNzKHJ0Yzo6SVBBZGRyZXNzKGFkZHJlc3MtPnNpbl9hZGRyKSkpOworICAgIH0K
KyAgICByZXNvbHZlci0+Y29ubmVjdGlvbi0+bV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpX
ZWJSVENTdHJhdGVneTo6R2V0UmVzb2x2ZWRBZGRyZXNzKHJlc29sdmVyLT5pZGVudGlmaWVyLCBh
ZGRyZXNzZXMpLCAwKTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
Y3JlYXRlQXN5bmNSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFk
ZHJlc3MpCit7CisgICAgCisgICAgQ0ZIb3N0UmVmIGhvc3QgPSBDRkhvc3RDcmVhdGVXaXRoTmFt
ZShrQ0ZBbGxvY2F0b3JEZWZhdWx0LCBhZGRyZXNzLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOwor
ICAgIEFTU0VSVChob3N0KTsKKworICAgIGF1dG8gcmVzb2x2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PFJlc29sdmVyPihpZGVudGlmaWVyLCAqdGhpcywgaG9zdCk7CisKKyAgICBDRkhvc3RDbGllbnRD
b250ZXh0IGNvbnRleHQ7CisgICAgY29udGV4dC52ZXJzaW9uID0gMDsKKyAgICBjb250ZXh0Lmlu
Zm8gPSByZXNvbHZlci5nZXQoKTsKKyAgICBjb250ZXh0LmNvcHlEZXNjcmlwdGlvbiA9IG51bGxw
dHI7CisgICAgY29udGV4dC5yZWxlYXNlID0gbnVsbHB0cjsKKyAgICBjb250ZXh0LnJldGFpbiA9
IG51bGxwdHI7CisKKyAgICBDRkhvc3RTZXRDbGllbnQoaG9zdCwgTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M6OnJlc29sdmVkTmFtZSwgJmNvbnRleHQpOworICAgIENGSG9zdFNjaGVkdWxl
V2l0aFJ1bkxvb3AoaG9zdCwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpLCBrQ0ZSdW5Mb29wRGVmYXVs
dE1vZGUpOworICAgIEJvb2xlYW4gcmVzdWx0ID0gQ0ZIb3N0U3RhcnRJbmZvUmVzb2x1dGlvbiho
b3N0LCBrQ0ZIb3N0QWRkcmVzc2VzLCBudWxscHRyKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJlc3Vs
dCwgcmVzdWx0KTsKKworICAgIG1fcmVzb2x2ZXJzLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKHJl
c29sdmVyKSk7Cit9CisKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnN0b3BB
c3luY1Jlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgTmV0d29ya1Byb2Nlc3M6
OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVS
RSwgW3RoaXMsIGlkZW50aWZpZXJdKCkgeworICAgICAgICBhdXRvIHJlc29sdmVyID0gbV9yZXNv
bHZlcnMudGFrZShpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKHJlc29sdmVyKQorICAgICAgICAg
ICAgQ0ZIb3N0Q2FuY2VsSW5mb1Jlc29sdXRpb24ocmVzb2x2ZXItPmhvc3QsIENGSG9zdEluZm9U
eXBlOjprQ0ZIb3N0QWRkcmVzc2VzKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzczo6YWRkUGFja2V0U29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0
ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiYmIHNvY2tldCkKK3sKKyAgICBtX3Bh
Y2tldFNvY2tldHMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSk7Cit9CisKK3N0ZDo6
dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6dGFrZVBhY2tldFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKQoreworICAgIHJldHVy
biBtX3BhY2tldFNvY2tldHMudGFrZShpZGVudGlmaWVyKTsKK30KKyNlbmRpZgorCiB9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDc5NjU2YmE0N2My
MjhiZTAwYTdiMDc3MDI0MjgzNWVkNDU2NTU3YTIuLmMwYjdmNjRlNThjNGJkYTM3NjMxYmRhZDA0
M2NjZjBhMjEwYTNlY2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMjksNyArMjks
MTMgQEAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRJRC5oIgog
I2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJOZXR3b3JrTmV0d29ya01hbmFnZXIuaCIKKworI2luY2x1ZGUgPENGTmV0d29yay9DRkhv
c3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VMb2FkUHJpb3JpdHkuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRo
ZWxwZXJzLmg+CisjaW5jbHVkZSA8d2VicnRjL3AycC9iYXNlL2Jhc2ljcGFja2V0c29ja2V0ZmFj
dG9yeS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKQEAgLTQwLDYgKzQ2LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwogbmFtZXNwYWNlIFdl
YktpdCB7CiAKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworY2xhc3MgTmV0
d29ya1BhY2tldFNvY2tldDsKIGNsYXNzIE5ldHdvcmtSZXNvdXJjZUxvYWRlcjsKIGNsYXNzIFN5
bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXI7CiB0eXBlZGVmIHVpbnQ2NF90IFJlc291cmNlTG9hZElk
ZW50aWZpZXI7CkBAIC01OSw2ICs2NiwxMiBAQCBwdWJsaWM6CiAKICAgICBSZWZQdHI8V2ViQ29y
ZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiBnZXRCbG9iRGF0YUZpbGVSZWZlcmVuY2VGb3JQYXRo
KGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQor
ICAgIHZvaWQgYWRkUGFja2V0U29ja2V0KHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29y
a1BhY2tldFNvY2tldD4mJik7CisgICAgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQYWNrZXRTb2Nr
ZXQ+IHRha2VQYWNrZXRTb2NrZXQodWludDY0X3QpOworICAgIHZvaWQgcmVzb2x2ZXJEb25lKHVp
bnQ2NF90KTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcik7CiAKQEAgLTcxLDcgKzg0LDcgQEAg
cHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkUmVjZWl2ZU5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5p
cXVlX3B0cjxJUEM6OkVuY29kZXI+Jik7Ci0gICAgCisKICAgICB2b2lkIHNjaGVkdWxlUmVzb3Vy
Y2VMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBw
ZXJmb3JtU3luY2hyb25vdXNMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJz
JiwgUmVmPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UGVyZm9ybVN5
bmNocm9ub3VzTG9hZDo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIGxvYWRQaW5nKGNvbnN0
IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CkBAIC0xMDUsMTAgKzExOCwzOCBAQCBw
cml2YXRlOgogCiAgICAgdm9pZCBlbnN1cmVMZWdhY3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7
CiAKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQorICAgIHZvaWQgY3JlYXRlVURQU29j
a2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCB1aW50MTZfdCwgdWludDE2X3QpOworICAgIHZv
aWQgY3JlYXRlQ2xpZW50VENQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCBjb25zdCBT
dHJpbmcmLCBpbnQpOworICAgIHZvaWQgY3JlYXRlU2VydmVyVENQU29ja2V0KHVpbnQ2NF90LCBj
b25zdCBTdHJpbmcmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQpOwor
ICAgIHZvaWQgY3JlYXRlQXN5bmNSZXNvbHZlcih1aW50NjRfdCwgY29uc3QgU3RyaW5nJik7Cisg
ICAgdm9pZCBzdG9wQXN5bmNSZXNvbHZlcih1aW50NjRfdCk7CisjZW5kaWYKKwogICAgIFJlZjxJ
UEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIAogICAgIEhhc2hNYXA8UmVzb3VyY2VMb2Fk
SWRlbnRpZmllciwgUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4+IG1fbmV0d29ya1Jlc291
cmNlTG9hZGVyczsKICAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRh
RmlsZVJlZmVyZW5jZT4+IG1fYmxvYkRhdGFGaWxlUmVmZXJlbmNlczsKKworI2lmIEVOQUJMRShM
SUJXRUJSVENfRU5EUE9JTlQpCisgICAgc3RhdGljIHZvaWQgcmVzb2x2ZWROYW1lKENGSG9zdFJl
ZiwgQ0ZIb3N0SW5mb1R5cGUsIGNvbnN0IENGU3RyZWFtRXJyb3IqLCB2b2lkKik7CisKKyAgICBz
dHJ1Y3QgUmVzb2x2ZXIgeworICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworICAgICAgICBS
ZWY8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+IGNvbm5lY3Rpb247CisgICAgICAgIENG
SG9zdFJlZiBob3N0OworCisgICAgICAgIFJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIFJl
ZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4mJiBjb25uZWN0aW9uLCBSZXRhaW5QdHI8
Q0ZIb3N0UmVmPiYmIGhvc3QpCisgICAgICAgICAgICA6IGlkZW50aWZpZXIoaWRlbnRpZmllcikK
KyAgICAgICAgICAgICwgY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQorICAgICAgICAg
ICAgLCBob3N0KFdURk1vdmUoaG9zdCkpIHsgfQorCisgICAgICAgIH5SZXNvbHZlcigpIHsgQ0ZS
ZWxlYXNlKGhvc3QpOyB9CisgICAgfTsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1
ZV9wdHI8UmVzb2x2ZXI+PiBtX3Jlc29sdmVyczsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6
OnVuaXF1ZV9wdHI8TmV0d29ya1BhY2tldFNvY2tldD4+IG1fcGFja2V0U29ja2V0czsKKyAgICBO
ZXR3b3JrTmV0d29ya01hbmFnZXIgbV9uZXR3b3JrTWFuYWdlcjsKKyNlbmRpZgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3Nh
Z2VzLmluCmluZGV4IGEyNjNhNGVkZTM4OGViZTI1ZjdhNjY3OTE2Y2UwYmUwZDlkOTllM2QuLjY2
YzgwZWIxYzkzNzlhNzdmZDFjN2FiMGE1NDk0YmY3OTFhOGYyZWUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1l
c3NhZ2VzLmluCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCkBAIC01Myw0ICs1MywxMiBAQCBtZXNzYWdl
cyAtPiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAg
U3RvcmVEZXJpdmVkRGF0YVRvQ2FjaGUoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRhdGFLZXkga2V5
LCBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSkKIAogICAgIEVuc3VyZUxlZ2FjeVByaXZhdGVCcm93
c2luZ1Nlc3Npb24oKQorCisjaWYgRU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkKKyAgICBDcmVh
dGVVRFBTb2NrZXQoaW50IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJlc3MsIHVpbnQxNl90
IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpCisgICAgQ3JlYXRlU2VydmVyVENQU29ja2V0KGlu
dCBpZGVudGlmaWVyLCBTdHJpbmcgbG9jYWxBZGRyZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50
MTZfdCBtYXhQb3J0LCBpbnQgb3B0aW9ucykKKyAgICBDcmVhdGVDbGllbnRUQ1BTb2NrZXQoaW50
IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJlc3MsIFN0cmluZyByZW1vdGVBZGRyZXNzLCBp
bnQgb3B0aW9ucykKKyAgICBDcmVhdGVBc3luY1Jlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIs
IFN0cmluZyBhZGRyZXNzKQorICAgIFN0b3BBc3luY1Jlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZp
ZXIpCisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcAppbmRleCBmZmFmN2RiODU4NzViY2U2NjBkODY2MzU0MmE5M2RkNWFjYzU3
NDExLi4zZDA3YjFmZjFhNjFhMTVmZDRkM2I0NjY3ZTc2YjBhMmQwYzhjMDAxIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCkBAIC02NjYs
NCArNjY2LDE2IEBAIHZvaWQgTmV0d29ya1Byb2Nlc3M6OnBsYXRmb3JtTG93TWVtb3J5SGFuZGxl
cihDcml0aWNhbCkKIH0KICNlbmRpZgogCitydGM6OlRocmVhZCYgTmV0d29ya1Byb2Nlc3M6OnJ0
Y05ldHdvcmtUaHJlYWQoKQoreworICAgIGlmICghbV9ydGNOZXR3b3JrVGhyZWFkKSB7CisgICAg
ICAgIG1fcnRjTmV0d29ya1RocmVhZCA9IHJ0Yzo6VGhyZWFkOjpDcmVhdGVXaXRoU29ja2V0U2Vy
dmVyKCk7CisgICAgICAgIG1fcnRjTmV0d29ya1RocmVhZC0+U3RhcnQoKTsKKworICAgICAgICBB
U1NFUlQoIW1fcGFja2V0U29ja2V0RmFjdG9yeSk7CisgICAgICAgIG1fcGFja2V0U29ja2V0RmFj
dG9yeSA9IHN0ZDo6bWFrZV91bmlxdWU8cnRjOjpCYXNpY1BhY2tldFNvY2tldEZhY3Rvcnk+KG1f
cnRjTmV0d29ya1RocmVhZC5nZXQoKSk7CisgICAgfQorICAgIHJldHVybiAqbV9ydGNOZXR3b3Jr
VGhyZWFkOworfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9O
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGRhYjM3NTRlMDIwYzYzYTlkZjIw
MWE1YmQ5ZGExZGU5YjEwNTZhNDguLjZlMDJlYTFhZWFjMDAwYTE5NmZiNzhiNGEwODRiZjdmMTZh
MTRiM2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaApAQCAtNDIsNiArNDIsOSBAQAogI2luY2x1ZGUgIldlYlNRTGl0ZURhdGFiYXNlVHJhY2tl
ci5oIgogI2VuZGlmCiAKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2lu
Y2x1ZGUgPHdlYnJ0Yy9wMnAvYmFzZS9iYXNpY3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKwogbmFt
ZXNwYWNlIFdlYkNvcmUgewogY2xhc3MgRG93bmxvYWRJRDsKIGNsYXNzIENlcnRpZmljYXRlSW5m
bzsKQEAgLTExOCw2ICsxMjEsMTEgQEAgcHVibGljOgogCiAgICAgc3RkOjpjaHJvbm86Om1pbGxp
c2Vjb25kcyBsb2FkVGhyb3R0bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0
bGVMYXRlbmN5OyB9CiAKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQorICAgIHJ0Yzo6
QmFzaWNQYWNrZXRTb2NrZXRGYWN0b3J5JiBwYWNrZXRTb2NrZXRGYWN0b3J5KCkgeyByZXR1cm4g
Km1fcGFja2V0U29ja2V0RmFjdG9yeTsgfQorICAgIHJ0Yzo6VGhyZWFkJiBydGNOZXR3b3JrVGhy
ZWFkKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAgICBOZXR3b3JrUHJvY2VzcygpOwogICAgIH5O
ZXR3b3JrUHJvY2VzcygpOwpAQCAtMjMwLDYgKzIzOCwxMSBAQCBwcml2YXRlOgogI2lmIFBMQVRG
T1JNKElPUykKICAgICBXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIgbV93ZWJTUUxpdGVEYXRhYmFz
ZVRyYWNrZXI7CiAjZW5kaWYKKworI2lmIEVOQUJMRShMSUJXRUJSVENfRU5EUE9JTlQpCisgICAg
c3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QmFzaWNQYWNrZXRTb2NrZXRGYWN0b3J5PiBtX3BhY2tldFNv
Y2tldEZhY3Rvcnk7CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6VGhyZWFkPiBtX3J0Y05ldHdv
cmtUaHJlYWQ7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0
cmF0ZWdpZXMuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3NQbGF0Zm9ybVN0cmF0ZWdpZXMuY3BwCmluZGV4IGU2ZDY3OWY4ZmVmOGJiYzVlNWJlYmEzZDM2
MmQxOTdlNGY1YjlhNDIuLjk1OTg4OWZhOGY1YjBmYWEyOTZmOWJiODk1YzU4ZDljZDc2MmM1YmQg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
UGxhdGZvcm1TdHJhdGVnaWVzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5jcHAKQEAgLTI2LDcgKzI2LDEwIEBA
CiAjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0
cmF0ZWdpZXMuaCIKIAorI2luY2x1ZGUgIldlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmgiCisKICNp
bmNsdWRlIDxXZWJDb3JlL0Jsb2JSZWdpc3RyeUltcGwuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYXBp
L3BlZXJjb25uZWN0aW9uaW50ZXJmYWNlLmg+CiAjaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOwpAQCAtNTksNCArNjIsMTIgQEAgQmxvYlJl
Z2lzdHJ5KiBOZXR3b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llczo6Y3JlYXRlQmxvYlJlZ2lz
dHJ5KCkKICAgICByZXR1cm4gbmV3IEJsb2JSZWdpc3RyeUltcGw7CiB9CiAKKyNpZiBFTkFCTEUo
TElCV0VCUlRDX0VORFBPSU5UKQorcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5l
Y3Rpb25JbnRlcmZhY2U+IE5ldHdvcmtQcm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVQ
ZWVyQ29ubmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImKQoreworICAgIEFT
U0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBudWxscHRyOworfQorI2VuZGlmCisKIH0K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNz
UGxhdGZvcm1TdHJhdGVnaWVzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUHJvY2Vzc1BsYXRmb3JtU3RyYXRlZ2llcy5oCmluZGV4IDNhMDRjOWM1OWZkYzYyZTU4MzZm
ZTkzYzdhY2RmYjY0ODJmZjczNzYuLjRhMmQ0MWI1ODc1MTZmODJiZTZhZWYxZWQyZGQ3ZWUzMWRl
OTAwZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQ
cm9jZXNzUGxhdGZvcm1TdHJhdGVnaWVzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1By
b2Nlc3MvTmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMuaApAQCAtMjgsMTkgKzI4LDI2
IEBACiAKICNpbmNsdWRlIDxXZWJDb3JlL0xvYWRlclN0cmF0ZWd5Lmg+CiAjaW5jbHVkZSA8V2Vi
Q29yZS9QbGF0Zm9ybVN0cmF0ZWdpZXMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JUQ1N0cmF0ZWd5
Lmg+CiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCi1jbGFzcyBOZXR3b3JrUHJvY2Vzc1BsYXRmb3Jt
U3RyYXRlZ2llcyA6IHB1YmxpYyBXZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMgeworY2xhc3Mg
TmV0d29ya1Byb2Nlc3NQbGF0Zm9ybVN0cmF0ZWdpZXMgOiBwdWJsaWMgV2ViQ29yZTo6UGxhdGZv
cm1TdHJhdGVnaWVzLCBwcml2YXRlIFdlYkNvcmU6OlJUQ1N0cmF0ZWd5IHsKIHB1YmxpYzoKICAg
ICBzdGF0aWMgdm9pZCBpbml0aWFsaXplKCk7Ci0gICAgCisKIHByaXZhdGU6CiAgICAgLy8gV2Vi
Q29yZTo6UGxhdGZvcm1TdHJhdGVnaWVzCiAgICAgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBj
cmVhdGVDb29raWVzU3RyYXRlZ3koKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpMb2FkZXJTdHJh
dGVneSogY3JlYXRlTG9hZGVyU3RyYXRlZ3koKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpQYXN0
ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0ZVBhc3RlYm9hcmRTdHJhdGVneSgpIG92ZXJyaWRlOwogICAg
IFdlYkNvcmU6OkJsb2JSZWdpc3RyeSogY3JlYXRlQmxvYlJlZ2lzdHJ5KCkgb3ZlcnJpZGU7CisK
KyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQorICAgIFdlYkNvcmU6OlJUQ1N0cmF0ZWd5
JiBjcmVhdGVSVENTdHJhdGVneSgpIGZpbmFsIHsgcmV0dXJuICp0aGlzOyB9CisKKyAgICBydGM6
OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjZT4gY3JlYXRlUGVl
ckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJikgZmluYWw7CisjZW5k
aWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi4yNTJjZjM5MTAzODcwYmE4MzhkMGVjMWMzMzM4NTlmOGFiYzBlOWNiCi0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtOZXR3b3JrTWFuYWdlci5jcHAKQEAgLTAsMCArMSwxMDIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyLmgiCisK
KyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQorCisjaW5jbHVkZSAiTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1
ZGUgIldlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVh
ZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSB7CisgICAgTWVzc2FnZVN0YXJ0LAor
ICAgIE1lc3NhZ2VTdG9wCit9OworCit2b2lkIE5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RhcnRV
cGRhdGluZygpCit7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtU
aHJlYWQoKS5Qb3N0KFJUQ19GUk9NX0hFUkUsIHRoaXMsIE1lc3NhZ2VTdGFydCk7Cit9CisKK3Zv
aWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdG9wVXBkYXRpbmcoKQoreworICAgIE5ldHdvcmtQ
cm9jZXNzOjpzaW5nbGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCkuUG9zdChSVENfRlJPTV9IRVJF
LCB0aGlzLCBNZXNzYWdlU3RvcCk7Cit9CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpP
bk1lc3NhZ2UocnRjOjpNZXNzYWdlKiBtZXNzYWdlKQoreworICAgIHN3aXRjaCAobWVzc2FnZS0+
bWVzc2FnZV9pZCkgeworICAgIGNhc2UgTWVzc2FnZVN0YXJ0OgorICAgICAgICBzdGFydFVwZGF0
aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBNZXNzYWdl
U3RvcDoKKyAgICAgICAgc3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsKKyAgICAgICAg
YnJlYWs7CisgICAgfQorfQorCit2b2lkIE5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RhcnRVcGRh
dGluZ0Zyb21OZXR3b3JrVGhyZWFkKCkKK3sKKyAgICBtX21hbmFnZXIgPSBzdGQ6Om1ha2VfdW5p
cXVlPHJ0Yzo6QmFzaWNOZXR3b3JrTWFuYWdlcj4oKTsKKyAgICBtX21hbmFnZXItPlNpZ25hbE5l
dHdvcmtzQ2hhbmdlZC5jb25uZWN0KHRoaXMsICZOZXR3b3JrTmV0d29ya01hbmFnZXI6Om9uTmV0
d29ya3NDaGFuZ2VkKTsKKyAgICBtX21hbmFnZXItPlN0YXJ0VXBkYXRpbmcoKTsKK30KKwordm9p
ZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6OnN0b3BVcGRhdGluZ0Zyb21OZXR3b3JrVGhyZWFkKCkK
K3sKKyAgICBtX21hbmFnZXItPlN0b3BVcGRhdGluZygpOworICAgIG1fbWFuYWdlciA9IG51bGxw
dHI7Cit9CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpvbk5ldHdvcmtzQ2hhbmdlZCgp
Cit7CisgICAgcnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyOjpOZXR3b3JrTGlzdCBuZXR3b3JrczsK
KyAgICBtX21hbmFnZXItPkdldE5ldHdvcmtzKCZuZXR3b3Jrcyk7CisKKyAgICBSVENOZXR3b3Jr
OjpJUEFkZHJlc3MgaXB2NDsKKyAgICBtX21hbmFnZXItPkdldERlZmF1bHRMb2NhbEFkZHJlc3Mo
QUZfSU5FVCwgJmlwdjQudmFsdWUpOworICAgIFJUQ05ldHdvcms6OklQQWRkcmVzcyBpcHY2Owor
ICAgIG1fbWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhBRl9JTkVUNiwgJmlwdjYudmFs
dWUpOworCisgICAgVmVjdG9yPFJUQ05ldHdvcms+IG5ldHdvcmtMaXN0OworICAgIG5ldHdvcmtM
aXN0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobmV0d29ya3Muc2l6ZSgpKTsKKyAgICBmb3IgKGF1
dG8qIG5ldHdvcmsgOiBuZXR3b3JrcykgeworICAgICAgICBBU1NFUlQobmV0d29yayk7CisgICAg
ICAgIG5ldHdvcmtMaXN0LnVuY2hlY2tlZEFwcGVuZCh7ICpuZXR3b3JrIH0pOworICAgIH0KKwor
ICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIG5ldHdvcmtMaXN0ID0gV1RGTW92ZShuZXR3b3Jr
TGlzdCksIGlwdjQgPSBXVEZNb3ZlKGlwdjQpLCBpcHY2ID0gV1RGTW92ZShpcHY2KV0geworICAg
ICAgICBtX2Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6OldlYk5ldHdvcmtN
YW5hZ2VyOjpOZXR3b3Jrc0NoYW5nZWQobmV0d29ya0xpc3QsIGlwdjQsIGlwdjYpLCAwKTsKKyAg
ICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTElC
V0VCUlRDX0VORFBPSU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIwZTY2
ZmZkMTU3N2UxMjNmZWI2MWUyNzg0NzI0OGE3Mzk0ODlmZTAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2Vy
LmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgRU5B
QkxFKExJQldFQlJUQ19FTkRQT0lOVCkKKworI2luY2x1ZGUgIldlYkNvcmUvTGliV2ViUlRDTWFj
cm9zLmgiCisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0d29yay5oPgorI2luY2x1ZGUgPHdlYnJ0
Yy9iYXNlL3NpZ3Nsb3QuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS90aHJlYWQuaD4KKworbmFt
ZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwor
CitjbGFzcyBOZXR3b3JrTmV0d29ya01hbmFnZXIgZmluYWwgOiBwcml2YXRlIHJ0Yzo6TWVzc2Fn
ZUhhbmRsZXIsIHB1YmxpYyBzaWdzbG90OjpoYXNfc2xvdHM8PiB7CitwdWJsaWM6CisgICAgTmV0
d29ya05ldHdvcmtNYW5hZ2VyKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0
aW9uKSA6IG1fY29ubmVjdGlvbihjb25uZWN0aW9uKSB7IH0KKworICAgIC8vIE1lc3NhZ2UgaGFu
ZGxlcnMuCisgICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHN0
YXJ0VXBkYXRpbmcoKTsKKyAgICB2b2lkIHN0b3BVcGRhdGluZygpOworCisgICAgdm9pZCBPbk1l
c3NhZ2UocnRjOjpNZXNzYWdlKik7CisKKyAgICB2b2lkIHN0b3BVcGRhdGluZ0Zyb21OZXR3b3Jr
VGhyZWFkKCk7CisgICAgdm9pZCBzdGFydFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsKKwor
ICAgIHZvaWQgb25OZXR3b3Jrc0NoYW5nZWQoKTsKKworICAgIE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb247CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QmFzaWNO
ZXR3b3JrTWFuYWdlcj4gbV9tYW5hZ2VyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0
d29ya01hbmFnZXIubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTFjMzk5MGIxNmVmZjY3MWIyM2Uy
MzA0MjdhZGY4ZDRiODkzODQ2MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4KQEAg
LTAsMCArMSwzMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMg
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisj
aWYgRU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkKKworbWVzc2FnZXMgLT4gTmV0d29ya05ldHdv
cmtNYW5hZ2VyIExlZ2FjeVJlY2VpdmVyIHsKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmcoKQorICAg
IHZvaWQgU3RvcFVwZGF0aW5nKCkKK30KKworI2VuZGlmIC8vIEVOQUJMRShMSUJXRUJSVENfRU5E
UE9JTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1BhY2tldFNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uM2I0ZDZiZTVmYWNiZTI1
ODg2OTlmZmU1ZTVmMDYyZmU3ZTg1YmZiMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0LmNwcApAQCAtMCww
ICsxLDE5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJO
ZXR3b3JrUGFja2V0U29ja2V0LmgiCisKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQor
CisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKKyNpbmNsdWRlICJX
ZWJQYWNrZXRTb2NrZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVy
Lmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvYXN5bmNwYWNrZXRzb2NrZXQuaD4KKyNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBOZXR3b3Jr
UGFja2V0U29ja2V0OjpjcmVhdGVVRFAodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVf
cHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYgc29ja2V0LCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2VzcyYgY29ubmVjdGlvbikKK3sKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1Bh
Y2tldFNvY2tldD4gcGFja2V0U29ja2V0KG5ldyBOZXR3b3JrUGFja2V0U29ja2V0KGlkZW50aWZp
ZXIsIFdURk1vdmUoc29ja2V0KSwgY29ubmVjdGlvbikpOworCisgICAgaWYgKCFwYWNrZXRTb2Nr
ZXQtPm1fc29ja2V0KQorICAgICAgICByZXR1cm47CisKKyAgICBwYWNrZXRTb2NrZXQtPnNpZ25h
bEFkZHJlc3NSZWFkeShwYWNrZXRTb2NrZXQtPm1fc29ja2V0LmdldCgpLCBwYWNrZXRTb2NrZXQt
Pm1fc29ja2V0LT5HZXRMb2NhbEFkZHJlc3MoKSk7CisgICAgY29ubmVjdGlvbi5hZGRQYWNrZXRT
b2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShwYWNrZXRTb2NrZXQpKTsKK30KKwordm9pZCBOZXR3
b3JrUGFja2V0U29ja2V0OjpjcmVhdGVDbGllbnRUQ1AodWludDY0X3QgaWRlbnRpZmllciwgc3Rk
Ojp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYgc29ja2V0LCBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikKK3sKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
TmV0d29ya1BhY2tldFNvY2tldD4gcGFja2V0U29ja2V0KG5ldyBOZXR3b3JrUGFja2V0U29ja2V0
KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwgY29ubmVjdGlvbikpOworCisgICAgaWYgKCFw
YWNrZXRTb2NrZXQtPm1fc29ja2V0KQorICAgICAgICByZXR1cm47CisKKyAgICBjb25uZWN0aW9u
LmFkZFBhY2tldFNvY2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHBhY2tldFNvY2tldCkpOworfQor
Cit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZVNlcnZlclRDUCh1aW50NjRfdCBpZGVu
dGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiBzb2NrZXQs
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQoreworICAgIHN0ZDo6
dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiBwYWNrZXRTb2NrZXQobmV3IE5ldHdvcmtQ
YWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBjb25uZWN0aW9uKSk7CisK
KyAgICBpZiAoIXBhY2tldFNvY2tldC0+bV9zb2NrZXQpCisgICAgICAgIHJldHVybjsKKworICAg
IHBhY2tldFNvY2tldC0+c2lnbmFsQWRkcmVzc1JlYWR5KHBhY2tldFNvY2tldC0+bV9zb2NrZXQu
Z2V0KCksIHBhY2tldFNvY2tldC0+bV9zb2NrZXQtPkdldExvY2FsQWRkcmVzcygpKTsKKyAgICBj
b25uZWN0aW9uLmFkZFBhY2tldFNvY2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHBhY2tldFNvY2tl
dCkpOworfQorCitOZXR3b3JrUGFja2V0U29ja2V0OjpOZXR3b3JrUGFja2V0U29ja2V0KHVpbnQ2
NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYm
IHNvY2tldCwgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiYmIGNvbm5lY3Rpb24p
CisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fc29ja2V0KFdURk1vdmUo
c29ja2V0KSkKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQoreworICAg
IEFTU0VSVChtX3NvY2tldCk7CisKKyAgICBpZiAoIW1fc29ja2V0KSB7CisgICAgICAgIHNlbmQo
TWVzc2FnZXM6OldlYlBhY2tldFNvY2tldDo6U2lnbmFsQ2xvc2UoMSkpOworICAgICAgICByZXR1
cm47CisgICAgfQorCisgICAgbV9zb2NrZXQtPlNpZ25hbFJlYWRQYWNrZXQuY29ubmVjdCh0aGlz
LCAmTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsUmVhZFBhY2tldCk7CisgICAgbV9zb2NrZXQt
PlNpZ25hbFNlbnRQYWNrZXQuY29ubmVjdCh0aGlzLCAmTmV0d29ya1BhY2tldFNvY2tldDo6c2ln
bmFsU2VudFBhY2tldCk7CisgICAgbV9zb2NrZXQtPlNpZ25hbEFkZHJlc3NSZWFkeS5jb25uZWN0
KHRoaXMsICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkpOworICAgIG1f
c29ja2V0LT5TaWduYWxDb25uZWN0LmNvbm5lY3QodGhpcywgJk5ldHdvcmtQYWNrZXRTb2NrZXQ6
OnNpZ25hbENvbm5lY3QpOworICAgIG1fc29ja2V0LT5TaWduYWxDbG9zZS5jb25uZWN0KHRoaXMs
ICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxDbG9zZSk7Cit9CisKK05ldHdvcmtQYWNrZXRT
b2NrZXQ6On5OZXR3b3JrUGFja2V0U29ja2V0KCkKK3sKK30KKwordm9pZCBOZXR3b3JrUGFja2V0
U29ja2V0OjpPbk1lc3NhZ2UocnRjOjpNZXNzYWdlKiBtZXNzYWdlKQoreworICAgIEFTU0VSVCht
ZXNzYWdlLT5tZXNzYWdlX2lkID09IDEpOworICAgIGRlbGV0ZSB0aGlzOworfQorCit2b2lkIE5l
dHdvcmtQYWNrZXRTb2NrZXQ6OmNsZWFuKCkKK3sKKyAgICBhdXRvIHBhY2tldFNvY2tldCA9IG1f
Y29ubmVjdGlvbi0+dGFrZVBhY2tldFNvY2tldChtX2lkZW50aWZpZXIpOworCisgICAgTmV0d29y
a1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5Qb3N0KFJUQ19GUk9NX0hF
UkUsIHBhY2tldFNvY2tldC5yZWxlYXNlKCksIDEpOworfQorCitJUEM6OkNvbm5lY3Rpb24qIE5l
dHdvcmtQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkKK3sKKyAgICByZXR1
cm4gJm1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRT
b2NrZXQ6OnNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tldElELCBp
bnQgcnRwU2VuZHRpbWVFeHRlbnNpb25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90IHNydHBQ
YWNrZXRJbmRleCwgaW50IGRzY3ApCit7CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKworICAgIHJ0
Yzo6U29ja2V0QWRkcmVzcyBzb2NrZXRBZGRyZXNzKGFkZHJlc3MudmFsdWUsIHBvcnQpOworCisg
ICAgcnRjOjpQYWNrZXRPcHRpb25zIG9wdGlvbnM7CisgICAgb3B0aW9ucy5wYWNrZXRfaWQgPSBw
YWNrZXRJRDsKKyAgICBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5ydHBfc2VuZHRpbWVfZXh0
ZW5zaW9uX2lkID0gcnRwU2VuZHRpbWVFeHRlbnNpb25JRDsKKyAgICBvcHRpb25zLnBhY2tldF90
aW1lX3BhcmFtcy5zcnRwX3BhY2tldF9pbmRleCA9IHNydHBQYWNrZXRJbmRleDsKKyAgICBvcHRp
b25zLmRzY3AgPSBzdGF0aWNfY2FzdDxydGM6OkRpZmZTZXJ2Q29kZVBvaW50Pihkc2NwKTsKKyAg
ICBpZiAoc3J0cEF1dGgudXRmOCgpLmxlbmd0aCgpKSB7CisgICAgICAgIG9wdGlvbnMucGFja2V0
X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkgPSBzdGQ6OnZlY3RvcjxjaGFyPihzcnRwQXV0aC51
dGY4KCkuZGF0YSgpLCBzcnRwQXV0aC51dGY4KCkuZGF0YSgpICsgc3J0cEF1dGgudXRmOCgpLmxl
bmd0aCgpKTsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX3Rh
Z19sZW4gPSBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCk7CisgICAgfSBlbHNlCisgICAgICAgIG9w
dGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF90YWdfbGVuID0gLTE7CisKKyAgICBS
ZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZm
ZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgIE5ldHdvcmtQcm9jZXNz
OjpzaW5nbGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCkuSW52b2tlPHZvaWQ+KFJUQ19GUk9NX0hF
UkUsIFt0aGlzLCBhZGRyZXNzLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIHNvY2tldEFkZHJl
c3MsIG9wdGlvbnNdKCkgeworICAgICAgICBtX3NvY2tldC0+U2VuZFRvKHJlaW50ZXJwcmV0X2Nh
c3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5zaXplKCksIHNvY2tl
dEFkZHJlc3MsIG9wdGlvbnMpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2Nr
ZXQ6OmNsb3NlKCkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXQpOworICAgIG1fc29ja2V0LT5DbG9z
ZSgpOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNldE9wdGlvbihpbnQgb3B0aW9u
LCBpbnQgdmFsdWUpCit7CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKyAgICBtX3NvY2tldC0+U2V0
T3B0aW9uKHN0YXRpY19jYXN0PHJ0Yzo6U29ja2V0OjpPcHRpb24+KG9wdGlvbiksIHZhbHVlKTsK
K30KKwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KHJ0Yzo6QXN5
bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBjaGFyKiB2YWx1ZSwgc2l6ZV90IGxlbmd0aCwgY29uc3Qg
cnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldFRpbWUmIHBhY2tl
dFRpbWUpCit7CisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0
ZSh2YWx1ZSwgbGVuZ3RoKTsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIGJ1ZmZlciA9
IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcywgcGFja2V0VGltZV0oKSB7CisgICAgICAgIElQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZl
ci0+ZGF0YSgpKSwgYnVmZmVyLT5zaXplKCkpOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWNrZXRTb2NrZXQ6OlNpZ25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29yazo6SVBBZGRyZXNz
KGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZS50aW1lc3RhbXAp
KTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFj
a2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNlbnRQYWNrZXQmIHNlbnRQ
YWNrZXQpCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgc2VudFBhY2tldF0oKSB7Cisg
ICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhY2tldFNvY2tldDo6U2lnbmFsU2VudFBhY2tldChz
ZW50UGFja2V0LnBhY2tldF9pZCwgc2VudFBhY2tldC5zZW5kX3RpbWVfbXMpKTsKKyAgICB9KTsK
K30KKwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkocnRjOjpB
c3luY1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKK3sK
KyAgICAvLyBGSVhNRTogQ2hlY2sgdGhlIGFkZHJlc3M/CisgICAgY2FsbE9uTWFpblRocmVhZChb
dGhpcywgYWRkcmVzc10oKSB7CisgICAgICAgIGF1dG8gYWRkcmVzc1N0cmluZyA9IGFkZHJlc3Mu
VG9TdHJpbmcoKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWdu
YWxBZGRyZXNzUmVhZHkoU3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5n
Lmxlbmd0aCgpKSkpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNp
Z25hbENvbm5lY3QocnRjOjpBc3luY1BhY2tldFNvY2tldCopCit7CisgICAgY2FsbE9uTWFpblRo
cmVhZChbdGhpc10oKSB7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhY2tldFNvY2tldDo6
U2lnbmFsQ29ubmVjdCgpKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0
OjpzaWduYWxDbG9zZShydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgaW50IGVycm9yKQoreworICAg
IGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIGVycm9yXSgpIHsKKyAgICAgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxDbG9zZShlcnJvcikpOworICAgICAgICBjbGVhbigp
OworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJM
RShMSUJXRUJSVENfRU5EUE9JTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wMGE3
MDVhOGY2ZjZlYzI4NjhhZGQ3NTg0OGNjNGY3NDlmYmIxZWI3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQu
aApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFC
TEUoTElCV0VCUlRDX0VORFBPSU5UKQorCisjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgorI2lu
Y2x1ZGUgIlJUQ05ldHdvcmsuaCIKKworI2luY2x1ZGUgIldlYkNvcmUvTGliV2ViUlRDTWFjcm9z
LmgiCisjaW5jbHVkZSAid2VicnRjL2Jhc2Uvc2lnc2xvdC5oIgorCituYW1lc3BhY2UgcnRjIHsK
K2NsYXNzIEFzeW5jUGFja2V0U29ja2V0OworY2xhc3MgU29ja2V0QWRkcmVzczsKKworc3RydWN0
IFBhY2tldFRpbWU7CitzdHJ1Y3QgU2VudFBhY2tldDsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK2NsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworCitjbGFzcyBOZXR3b3Jr
UGFja2V0U29ja2V0IGZpbmFsIDogcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciwgcHVibGljIHJ0
Yzo6TWVzc2FnZUhhbmRsZXIsIHB1YmxpYyBzaWdzbG90OjpoYXNfc2xvdHM8PiB7CitwdWJsaWM6
CisgICAgc3RhdGljIHZvaWQgY3JlYXRlVURQKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5p
cXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmLCBOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2VzcyYpOworICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNsaWVudFRDUCh1aW50NjRfdCBpZGVu
dGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiwgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVTZXJ2ZXJU
Q1AodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQ+JiYsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+
TmV0d29ya1BhY2tldFNvY2tldCgpOworCisgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAgICB2
b2lkIGRpZFJlY2VpdmVOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICBOZXR3b3JrUGFja2V0U29ja2V0KHVp
bnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0
PiYmLCBSZWY8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+JiYpOworCisgICAgYm9vbCBp
c0Nsb3NlZCgpIGNvbnN0IHsgcmV0dXJuICFtX3NvY2tldDsgfQorICAgIHZvaWQgY2xlYW4oKTsK
KworICAgIC8vIElQQzo6TWVzc2FnZVNlbmRlcgorICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2Fn
ZVNlbmRlckNvbm5lY3Rpb24oKSBmaW5hbDsKKyAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVz
dGluYXRpb25JRCgpIGZpbmFsIHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCisgICAgdm9pZCBz
ZW5kVG8oY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRy
ZXNzJiwgdWludDE2X3QgcG9ydCwgaW50IHBhY2tldElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNp
b25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3Ap
OworICAgIHZvaWQgY2xvc2UoKTsKKyAgICB2b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQg
dmFsdWUpOworCisgICAgdm9pZCBzaWduYWxSZWFkUGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2Nr
ZXQqLCBjb25zdCBjaGFyKiwgc2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25z
dCBydGM6OlBhY2tldFRpbWUmKTsKKyAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3lu
Y1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U2VudFBhY2tldCYpOworICAgIHZvaWQgc2lnbmFs
QWRkcmVzc1JlYWR5KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmKTsKKyAgICB2b2lkIHNpZ25hbENvbm5lY3QocnRjOjpBc3luY1BhY2tldFNvY2tldCop
OworICAgIHZvaWQgc2lnbmFsQ2xvc2UocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGludCk7CisK
KyAgICB2b2lkIE9uTWVzc2FnZShydGM6Ok1lc3NhZ2UqIG1zZykgZmluYWw7CisKKyAgICB1aW50
NjRfdCBtX2lkZW50aWZpZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQ+IG1fc29ja2V0OworICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4g
bV9jb25uZWN0aW9uOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBF
TkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNz
YWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40ZmU4MTI3ZDRiNjgxYzU3NjM2MmIyMjJjNWQ3OTI2MzhjNGFh
MmZiCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2Vi
cnRjL05ldHdvcmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMSBAQAorIyBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgRU5BQkxFKExJQldFQlJU
Q19FTkRQT0lOVCkKKworbWVzc2FnZXMgLT4gTmV0d29ya1BhY2tldFNvY2tldCBMZWdhY3lSZWNl
aXZlciB7CisgICAgdm9pZCBTZW5kVG8oSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6
UlRDTmV0d29yazo6SVBBZGRyZXNzIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGludCBwYWNrZXRJ
RCwgaW50IHJ0cFNlbmR0aW1lRXh0ZW5zaW9uSUQsIFN0cmluZyBzcnRwQXV0aCwgaW50NjRfdCBz
cnRwUGFja2V0SW5kZXgsIGludCBkc2NwKQorICAgIHZvaWQgQ2xvc2UoKQorICAgIHZvaWQgU2V0
T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSkKK30KKworI2VuZGlmIC8vIEVOQUJMRShMSUJX
RUJSVENfRU5EUE9JTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0
d29yay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDkxMTA4MjEwZmQ3YjQ1YTQ5ZWEwZjA2YjAxOTc5ZDRjZTBiNTEzMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcApAQCAtMCwwICsxLDE1
NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSVENOZXR3
b3JrLmgiCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiV2ViQ29yZUFy
Z3VtZW50Q29kZXJzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitSVENOZXR3b3JrOjpSVENO
ZXR3b3JrKGNvbnN0IHJ0Yzo6TmV0d29yayYgbmV0d29yaykKKyAgICA6IG5hbWUobmV0d29yay5u
YW1lKCkpCisgICAgLCBkZXNjcmlwdGlvbihuZXR3b3JrLmRlc2NyaXB0aW9uKCkpCisgICAgLCBw
cmVmaXggeyBuZXR3b3JrLnByZWZpeCgpIH0KKyAgICAsIHByZWZpeExlbmd0aChuZXR3b3JrLnBy
ZWZpeF9sZW5ndGgoKSkKKyAgICAsIHR5cGUobmV0d29yay50eXBlKCkpCisgICAgLCBpZChuZXR3
b3JrLmlkKCkpCisgICAgLCBwcmVmZXJlbmNlKG5ldHdvcmsucHJlZmVyZW5jZSgpKQorICAgICwg
YWN0aXZlKG5ldHdvcmsuYWN0aXZlKCkpCisgICAgLCBpZ25vcmVkKG5ldHdvcmsuaWdub3JlZCgp
KQorICAgICwgc2NvcGVJRChuZXR3b3JrLnNjb3BlX2lkKCkpCisgICAgLCBpcHMobmV0d29yay5H
ZXRJUHMoKSkKK3sKK30KKworcnRjOjpOZXR3b3JrIFJUQ05ldHdvcms6OnZhbHVlKCkgY29uc3QK
K3sKKyAgICBydGM6Ok5ldHdvcmsgbmV0d29yayhuYW1lLmRhdGEoKSwgZGVzY3JpcHRpb24uZGF0
YSgpLCBwcmVmaXgudmFsdWUsIHByZWZpeExlbmd0aCwgcnRjOjpBZGFwdGVyVHlwZSh0eXBlKSk7
CisgICAgbmV0d29yay5zZXRfaWQoaWQpOworICAgIG5ldHdvcmsuc2V0X3ByZWZlcmVuY2UocHJl
ZmVyZW5jZSk7CisgICAgbmV0d29yay5zZXRfYWN0aXZlKGFjdGl2ZSk7CisgICAgbmV0d29yay5z
ZXRfaWdub3JlZChpZ25vcmVkKTsKKyAgICBuZXR3b3JrLnNldF9zY29wZV9pZChzY29wZUlEKTsK
KyAgICBuZXR3b3JrLlNldElQcyhpcHMsIHRydWUpOworICAgIHJldHVybiBuZXR3b3JrOworfQor
Citib29sIFJUQ05ldHdvcms6OklQQWRkcmVzczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2Rl
ciwgSVBBZGRyZXNzJiByZXN1bHQpCit7CisgICAgaW50IGZhbWlseTsKKyAgICBpZiAoIWRlY29k
ZXIuZGVjb2RlKGZhbWlseSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBJUEM6OkRhdGFS
ZWZlcmVuY2UgZGF0YTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKGZhbWlseSA9PSBBRl9JTkVUKSB7CisgICAgICAgIGlmIChk
YXRhLnNpemUoKSAhPSBzaXplb2YoaW5fYWRkcikpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgICAgIHJlc3VsdC52YWx1ZSA9IHJ0Yzo6SVBBZGRyZXNzKCpyZWludGVycHJldF9jYXN0
PGNvbnN0IGluX2FkZHIqPihkYXRhLmRhdGEoKSkpOworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAg
ICB9CisgICAgaWYgKGRhdGEuc2l6ZSgpICE9IHNpemVvZihpbjZfYWRkcikpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICByZXN1bHQudmFsdWUgPSBydGM6OklQQWRkcmVzcygqcmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCBpbjZfYWRkcio+KGRhdGEuZGF0YSgpKSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK3ZvaWQgUlRDTmV0d29yazo6SVBBZGRyZXNzOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgdmFsdWUuZmFtaWx5KCk7CisgICAgaWYg
KHZhbHVlLmZhbWlseSgpID09IEFGX0lORVQpIHsKKyAgICAgICAgYXV0byBhZGRyZXNzID0gdmFs
dWUuaXB2NF9hZGRyZXNzKCk7CisgICAgICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNl
KHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZhZGRyZXNzKSwgc2l6ZW9mKGFkZHJl
c3MpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBhdXRvIGFkZHJlc3MgPSB2YWx1ZS5p
cHY2X2FkZHJlc3MoKTsKKyAgICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShyZWludGVy
cHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPigmYWRkcmVzcyksIHNpemVvZihhZGRyZXNzKSk7Cit9
CisKK2Jvb2wgUlRDTmV0d29yazo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgUlRDTmV0
d29yayYgcmVzdWx0KQoreworICAgIElQQzo6RGF0YVJlZmVyZW5jZSBuYW1lLCBkZXNjcmlwdGlv
bjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKG5hbWUpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgcmVzdWx0Lm5hbWUgPSBzdGQ6OnN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNo
YXIqPihuYW1lLmRhdGEoKSksIG5hbWUuc2l6ZSgpKTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KGRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5kZXNjcmlw
dGlvbiA9IHN0ZDo6c3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGRlc2NyaXB0
aW9uLmRhdGEoKSksIGRlc2NyaXB0aW9uLnNpemUoKSk7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyZXN1bHQucHJlZml4KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUocmVzdWx0LnByZWZpeExlbmd0aCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC50eXBlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmlkKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnByZWZlcmVuY2UpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYWN0aXZlKSkK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0Lmln
bm9yZWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQuc2NvcGVJRCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHVpbnQ2NF90IGxl
bmd0aDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGxlbmd0aCkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXN1bHQuaXBzLnJlc2VydmUobGVuZ3RoKTsKKyAgICBmb3IgKHNpemVfdCBp
bmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7CisgICAgICAgIElQQWRkcmVzcyBh
ZGRyZXNzOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGFkZHJlc3MpKQorICAgICAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpbnQgZmxhZ3M7CisgICAgICAgIGlmICghZGVjb2Rl
ci5kZWNvZGUoZmxhZ3MpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXN1
bHQuaXBzLnB1c2hfYmFjayh7IGFkZHJlc3MudmFsdWUsIGZsYWdzIH0pOworICAgIH0KKyAgICBy
ZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBSVENOZXR3b3JrOjplbmNvZGUoSVBDOjpFbmNvZGVyJiBl
bmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNlKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KG5hbWUuZGF0YSgpKSwgbmFtZS5sZW5ndGgoKSk7
CisgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oZGVzY3JpcHRpb24uZGF0YSgpKSwgZGVzY3JpcHRpb24ubGVuZ3RoKCkpOwor
ICAgIGVuY29kZXIgPDwgcHJlZml4OworICAgIGVuY29kZXIgPDwgcHJlZml4TGVuZ3RoOworICAg
IGVuY29kZXIgPDwgdHlwZTsKKworICAgIGVuY29kZXIgPDwgaWQ7CisgICAgZW5jb2RlciA8PCBw
cmVmZXJlbmNlOworICAgIGVuY29kZXIgPDwgYWN0aXZlOworICAgIGVuY29kZXIgPDwgaWdub3Jl
ZDsKKyAgICBlbmNvZGVyIDw8IHNjb3BlSUQ7CisKKyAgICBlbmNvZGVyIDw8ICh1aW50NjRfdClp
cHMuc2l6ZSgpOworICAgIGZvciAoYXV0byYgaXAgOiBpcHMpIHsKKyAgICAgICAgZW5jb2RlciA8
PCBJUEFkZHJlc3MgeyBpcCB9OworICAgICAgICBlbmNvZGVyIDw8IGlwLmlwdjZfZmxhZ3MoKTsK
KyAgICB9Cit9CisKK30KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3
b3JrLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4
ZjNhOGVhMjczY2QxYzQ0MTQxMTljMzJmYmU4M2YyOWFkYmU3MTIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5oCkBAIC0wLDAgKzEsNzMgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFj
cm9zLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0d29yay5oPgorI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIEVuY29k
ZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdHJ1Y3QgUlRDTmV0d29yayB7CisgICAg
UlRDTmV0d29yaygpID0gZGVmYXVsdDsKKyAgICBSVENOZXR3b3JrKGNvbnN0IHJ0Yzo6TmV0d29y
ayYpOworCisgICAgcnRjOjpOZXR3b3JrIHZhbHVlKCkgY29uc3Q7CisKKyAgICB2b2lkIGVuY29k
ZShJUEM6OkVuY29kZXImKSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpEZWNv
ZGVyJiwgUlRDTmV0d29yayYpOworCisgICAgc3RydWN0IElQQWRkcmVzcyB7CisgICAgICAgIElQ
QWRkcmVzcygpID0gZGVmYXVsdDsKKyAgICAgICAgZXhwbGljaXQgSVBBZGRyZXNzKGNvbnN0IHJ0
Yzo6SVBBZGRyZXNzJiBhZGRyZXNzKTogdmFsdWUoYWRkcmVzcykgeyB9CisKKyAgICAgICAgdm9p
ZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgICAgIHN0YXRpYyBib29sIGRlY29k
ZShJUEM6OkRlY29kZXImLCBJUEFkZHJlc3MmKTsKKworICAgICAgICBydGM6OklQQWRkcmVzcyB2
YWx1ZTsKKyAgICB9OworCisgICAgc3RkOjpzdHJpbmcgbmFtZTsKKyAgICBzdGQ6OnN0cmluZyBk
ZXNjcmlwdGlvbjsKKyAgICBJUEFkZHJlc3MgcHJlZml4OworICAgIGludCBwcmVmaXhMZW5ndGg7
CisgICAgaW50IHR5cGU7CisgICAgdWludDE2X3QgaWQ7CisgICAgaW50IHByZWZlcmVuY2U7Cisg
ICAgYm9vbCBhY3RpdmU7CisgICAgYm9vbCBpZ25vcmVkOworICAgIGludCBzY29wZUlEOworICAg
IHN0ZDo6c3RyaW5nIGtleTsKKyAgICBzaXplX3QgbGVuZ3RoOworICAgIHN0ZDo6dmVjdG9yPHJ0
Yzo6SW50ZXJmYWNlQWRkcmVzcz4gaXBzOworfTsKKworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIv
V2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDRkMzIwMDgxZmVmZGFjMzAx
YTIyMWI1NDc5MzdmOWUyYzE0OGJjYTYuLjdlZjFjMGM2YTcwMGM5ZTJiY2E1NTRhNjYwNWM3NWNm
ZTljMGQ4YmEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3By
b2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKQEAgLTc4Myw3ICs3ODMsNyBAQAogCQkzNzFBMTk0MjE4MjREMjkzMDBGMzJB
NUUgLyogV0tOU0RpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDM3MUExOTQwMTgyNEQyOTMwMEYzMkE1RSAvKiBXS05TRGljdGlvbmFyeS5o
ICovOyB9OwogCQkzNzFFNjk1OTFBRUQ3QTBGMDA0OTVFNDggLyogRm91bmRhdGlvbi5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzNE
RTQ2ODE1QTkxNzYzMDA4RDI2RkMgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJCTM3
MUU2OTVBMUFFRDdBNUIwMDQ5NUU0OCAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdv
cmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMw
MDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKLQkJMzcxRTY5NUIxQUVEN0E2
NzAwNDk1RTQ4IC8qIFdlYktpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0
LmZyYW1ld29yayAqLzsgfTsKKwkJMzcxRTY5NUIxQUVEN0E2NzAwNDk1RTQ4IC8qIC5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4REMy
RUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogLmZyYW1ld29yayAqLzsgfTsKIAkJMzcyQ0FGMEIxODMz
RkQ5MTAwNDBBQzI3IC8qIFdLTlNFcnJvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMzcyQ0FGMDkxODMzRkQ5MTAwNDBBQzI3IC8qIFdLTlNFcnJvci5o
ICovOyB9OwogCQkzNzJDQUYwQzE4MzNGRDkxMDA0MEFDMjcgLyogV0tOU0Vycm9yLm1tIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMzcyQ0FGMEExODMzRkQ5
MTAwNDBBQzI3IC8qIFdLTlNFcnJvci5tbSAqLzsgfTsKIAkJMzczQ0VBRDUxODU0MTdBRTAwOEMz
NjNEIC8qIFdLTlNEYXRhLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gMzczQ0VBRDMxODU0MTdBRTAwOEMzNjNEIC8qIFdLTlNEYXRhLm1tICovOyB9OwpA
QCAtODcxLDYgKzg3MSwyMCBAQAogCQkzRjg3QjlCRDE1ODk0MDEyMDA5MEZGNjIgLyogV2ViQ29s
b3JDaG9vc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDNGODdCOUJBMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovOyB9
OwogCQkzRjg3QjlCRTE1ODk0MDE5MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCQjE1ODkzRjYz
MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggKi87IH07CiAJCTNGODdCOUMwMTU4OTQwRDgw
MDkwRkY2MiAvKiBXZWJDb2xvclBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yUGlj
a2VyLmggKi87IH07CisJCTQxMDQ4MkNEMURERDMyNEMwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDQ4MkNC
MURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLzsgfTsKKwkJNDEwNDgyQ0UxRERE
MzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3Jr
LmggKi87IH07CisJCTQxMzA3NUE5MURFODVGMkMwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29j
a2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmNwcCAqLzsgfTsK
KwkJNDEzMDc1QUExREU4NUYzMDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5QTFE
RTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJNDEz
MDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTk5MURFODRGQjAwMDM5
RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmggKi87IH07CisJCTQxMzA3NUFDMURFODVGMzcw
MDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3
b3JrTmV0d29ya01hbmFnZXIuaCAqLzsgfTsKKwkJNDEzMDc1QUQxREU4NUY1ODAwMzlFQzY5IC8q
IFdlYlBhY2tldFNvY2tldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDEzMDc1QTAxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5oICov
OyB9OworCQk0MTMwNzVBRTFERTg1RjU4MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUExMURF
ODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuY3BwICovOyB9OworCQk0MTMwNzVBRjFE
RTg1RjU4MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTIxREU4NUVFNzAwMzlFQzY5IC8q
IFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJNDEzMDc1QjAxREU4NUY1ODAwMzlFQzY5
IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTMwNzVBMzFERTg1RUU3MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFn
ZXIuaCAqLzsgfTsKKwkJNDEzMDc1QjExREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tl
dEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEzMDc1QTUxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3Bw
ICovOyB9OworCQk0MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFj
dG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEz
MDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaCAqLzsgfTsK
KwkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ1N0cmF0ZWd5LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE3MURFODVFRTcw
MDM5RUM2OSAvKiBXZWJSVENTdHJhdGVneS5jcHAgKi87IH07CisJCTQxMzA3NUI0MURFODVGNTgw
MDM5RUM2OSAvKiBXZWJSVENTdHJhdGVneS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ1N0cmF0
ZWd5LmggKi87IH07CiAJCTQ0NTBBRUMwMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFyZWRNZW1vcnlD
b2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwICovOyB9Owog
CQk0QTNDQzE4QTE5QjA2M0U3MDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEE0MTBGMzkxOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5LmNwcCAqLzsgfTsKIAkJNEEzQ0MxOEIxOUIwNjQwRjAwRDE0QUVGIC8q
IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEYzQTE5QUY3QjA0MDAyRUJBQjUg
LyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCAqLzsgfTsKQEAgLTEw
NDEsOSArMTA1NSwxNCBAQAogCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5kbGVE
T01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxRkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4
dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTUxRjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBE
RTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9Owog
CQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlBhY2tldFNv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8q
IFdlYlJUQ1N0cmF0ZWd5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJS
VENTdHJhdGVneU1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUw
MEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUw
MEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsK
KwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdl
Yk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJO
ZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUxRjdEQzQxMTgwQ0M5
MzYwMDIxMkNBMyAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4Mzk2MTZCNDdFQzQwMEEyNzhGRSAvKiBYUENTZXJ2
aWNlTWFpbi5tbSAqLzsgfTsKIAkJNTFGN0RDNDMxODBDQzkzNjAwMjEyQ0EzIC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICov
OyB9OwotCQk1MUY3REM0NDE4MENDOTM2MDAyMTJDQTMgLyogV2ViS2l0LmZyYW1ld29yayBpbiBG
cmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhEQzJFRjVCMDQ4
NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OworCQk1MUY3REM0NDE4MEND
OTM2MDAyMTJDQTMgLyogLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiAuZnJhbWV3b3Jr
ICovOyB9OwogCQk1MUZBMkQ3NDE1MjEyREYxMDBDMUJBMEIgLyogSW5qZWN0ZWRCdW5kbGVET01X
aW5kb3dFeHRlbnNpb24uY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFGQTJENUMxNTIxMUE1MDAwQzFCQTBCIC8qIEluamVjdGVkQnVuZGxlRE9NV2lu
ZG93RXh0ZW5zaW9uLmNwcCAqLzsgfTsKIAkJNTFGQTJENzcxNTIxMkUyNjAwQzFCQTBCIC8qIFdL
QnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRkEyRDc1MTUyMTJFMUUwMEMxQkEwQiAvKiBXS0J1bmRsZURP
TVdpbmRvd0V4dGVuc2lvbi5jcHAgKi87IH07CiAJCTUxRkFFQzNBMUIwNjU3NjMwMDA5QzRFNyAv
KiBDaGlsZFByb2Nlc3NNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFGQUVDMzcxQjA2NTczMTAwMDlDNEU3IC8qIENoaWxkUHJvY2Vzc01l
c3NhZ2VzLmggKi87IH07CkBAIC0xNjAzLDkgKzE2MjIsOSBAQAogCQlCQzgxNDdENjEyRjY2RDMx
MDA3QjJDMzIgLyogSW5qZWN0ZWRCdW5kbGVOYXZpZ2F0aW9uQWN0aW9uLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODE0N0Q0MTJGNjZEMzEwMDdC
MkMzMiAvKiBJbmplY3RlZEJ1bmRsZU5hdmlnYXRpb25BY3Rpb24uY3BwICovOyB9OwogCQlCQzgy
ODM5OTE2QjQ4REMwMDBBMjc4RkUgLyogV2ViQ29udGVudFNlcnZpY2VFbnRyeVBvaW50Lm1tIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkM4MjgzOTgxNkI0
OERDMDAwQTI3OEZFIC8qIFdlYkNvbnRlbnRTZXJ2aWNlRW50cnlQb2ludC5tbSAqLzsgfTsKIAkJ
QkM4MjgzQUMxNkI0QkYzRjAwQTI3OEZFIC8qIE5ldHdvcmtTZXJ2aWNlRW50cnlQb2ludC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4M0E4MTZC
NEJEOTEwMEEyNzhGRSAvKiBOZXR3b3JrU2VydmljZUVudHJ5UG9pbnQubW0gKi87IH07Ci0JCUJD
ODI4M0RBMTZCNERCOTMwMEEyNzhGRSAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOERDMkVGNUIwNDg2QTY5NDAwOThC
MjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CisJCUJDODI4M0RBMTZCNERCOTMwMEEyNzhG
RSAvKiAuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gOERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIC5mcmFtZXdvcmsgKi87IH07CiAJ
CUJDODI4NDREMTZCNTA4MUMwMEEyNzhGRSAvKiBQbHVnaW5TZXJ2aWNlRW50cnlQb2ludC5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4M0VGMTZC
NEY4RTIwMEEyNzhGRSAvKiBQbHVnaW5TZXJ2aWNlRW50cnlQb2ludC5tbSAqLzsgfTsKLQkJQkM4
Mjg0NEYxNkI1MDg5ODAwQTI3OEZFIC8qIFdlYktpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4REMyRUY1QjA0ODZBNjk0MDA5OEIy
MTYgLyogV2ViS2l0LmZyYW1ld29yayAqLzsgfTsKKwkJQkM4Mjg0NEYxNkI1MDg5ODAwQTI3OEZF
IC8qIC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogLmZyYW1ld29yayAqLzsgfTsKIAkJ
QkM4NDUyQTcxMTYyQzgwOTAwQ0FCOUI1IC8qIERyYXdpbmdBcmVhLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODQ1MkE1MTE2MkM4MDkwMENBQjlC
NSAvKiBEcmF3aW5nQXJlYS5jcHAgKi87IH07CiAJCUJDODQ1MkE4MTE2MkM4MDkwMENBQjlCNSAv
KiBEcmF3aW5nQXJlYS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gQkM4NDUyQTYxMTYyQzgwOTAwQ0FCOUI1IC8qIERyYXdpbmdBcmVhLmggKi87IH07CiAJ
CUJDODRFQjE4MTJBNzEwMEMwMDgzRjJEQSAvKiBXZWJQcmVmZXJlbmNlc01hYy5tbSBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODRFQjE3MTJBNzEwMEMw
MDgzRjJEQSAvKiBXZWJQcmVmZXJlbmNlc01hYy5tbSAqLzsgfTsKQEAgLTE2NDksNyArMTY2OCw3
IEBACiAJCUJDQThDNkE5MTFFM0JBNUYwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEJDQThDNkE3MTFFM0JBNUYwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGll
bnQuaCAqLzsgfTsKIAkJQkNBOEM2QUYxMUUzQzA4NzAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxl
UGFnZVVJQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDQThDNkFEMTFFM0MwODcwMDgxMkZCNyAvKiBJbmplY3RlZEJ1bmRsZVBhZ2VVSUNs
aWVudC5jcHAgKi87IH07CiAJCUJDQThDNkIwMTFFM0MwODcwMDgxMkZCNyAvKiBJbmplY3RlZEJ1
bmRsZVBhZ2VVSUNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gQkNBOEM2QUUxMUUzQzA4NzAwODEyRkI3IC8qIEluamVjdGVkQnVuZGxlUGFnZVVJ
Q2xpZW50LmggKi87IH07Ci0JCUJDQUU5RTA4MTYwQzFDMDcwMEEzMzIxNyAvKiBXZWJLaXQuZnJh
bWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
OERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CisJCUJD
QUU5RTA4MTYwQzFDMDcwMEEzMzIxNyAvKiAuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8q
IC5mcmFtZXdvcmsgKi87IH07CiAJCUJDQUYzNjIwMTZDQTI4RDYwMEQ0RTlGQyAvKiBGb3VuZGF0
aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMwMDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAq
LzsgfTsKIAkJQkNCNjM0NzgxMTZCRjEwNjAwNjAzMjE1IC8qIFdlYktpdDJfQy5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkNCNjM0NzcxMTZCRjEwNjAw
NjAzMjE1IC8qIFdlYktpdDJfQy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZh
dGUsICk7IH07IH07CiAJCUJDQjlFMjRCMTEyMEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDQjlFMjQ5MTEy
MEUxNUMwMEExMzdFMCAvKiBXS0NvbnRleHQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtMjk3OSw2ICsyOTk4LDI1IEBACiAJCTNGODdCOUJBMTU4
OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29sb3JDaG9vc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJM0Y4N0I5QkIxNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvckNob29zZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdl
YkNvbG9yUGlja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9y
UGlja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMDQ4MkNCMURERDJGQjUw
MEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTA0
ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQYWNrZXRTb2NrZXQuY3Bw
OyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyog
TmV0d29ya1BhY2tldFNvY2tldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBO
ZXR3b3JrUGFja2V0U29ja2V0Lmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1BhY2tldFNvY2tldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5QTFE
RTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHA7IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdv
cmtOZXR3b3JrTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3
b3JrTmV0d29ya01hbmFnZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
TmV0d29ya01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUMx
REU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW47IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5RDFERTg0RkIwMDAzOUVD
NjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5h
bWUgPSBOZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CisJCTQxMzA3NTlGMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2Nr
ZXQubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViUGFja2V0U29ja2V0Lm1l
c3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0Lm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBMDFERTg1RUU3MDAzOUVD
NjkgLyogV2ViUGFja2V0U29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9
IFdlYlBhY2tldFNvY2tldC5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUExMURFODVFRTcwMDM5RUM2
OSAvKiBXZWJQYWNrZXRTb2NrZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBu
YW1lID0gV2ViUGFja2V0U29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlBhY2tl
dFNvY2tldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUEyMURFODVF
RTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBXZWJOZXR3b3JrTWFuYWdlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dl
YnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxMzA3NUEzMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJOZXR3b3JrTWFuYWdlci5oOyBwYXRoID0gTmV0
d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDEzMDc1QTQxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLm1lc3Nh
Z2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2Vz
LmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW47
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAv
KiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwOyBwYXRoID0gTmV0d29yay93ZWJy
dGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlBhY2tldFNvY2tldEZhY3Rvcnku
aDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJU
Q1N0cmF0ZWd5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlJU
Q1N0cmF0ZWd5LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1N0cmF0ZWd5LmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8q
IFdlYlJUQ1N0cmF0ZWd5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlJU
Q1N0cmF0ZWd5Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENTdHJhdGVneS5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogV2Vi
UlRDU3RyYXRlZ3kubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViUlRDU3Ry
YXRlZ3kubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENTdHJhdGVneS5t
ZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ1MEFFQkYxREMzRkFF
NTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IFNoYXJlZE1lbW9yeUNvY29hLmNwcDsgcGF0aCA9IGNvY29hL1NoYXJl
ZE1lbW9yeUNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0MTBGMzUx
OUFGN0FDMzAwMkVCQUI1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM2MTlBRjdBQzMw
MDJFQkFCNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNzYsOCArMzIxNCwxMyBAQAogCQk1MUUzOTkwNTFE
NkY1NEM1MDA5Qzg4MzEgLyogVUlHYW1lcGFkUHJvdmlkZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVyQ29jb2EubW07IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVDOUVCOSAvKiBV
SUdhbWVwYWRQcm92aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQz
MTc1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYlBhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENT
dHJhdGVneU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSVENTdHJh
dGVneU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVj
ZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQzMTc1
MDBGMzI4MUUgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAv
KiBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTFGN0RDNEExODBDQzkzNjAwMjEyQ0EzIC8q
IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBleHBsaWNpdEZpbGVUeXBlID0gIndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5J
bmRleCA9IDA7IHBhdGggPSBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy54cGM7IHNvdXJjZVRy
ZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CisJCTUxRjdEQzRBMTgwQ0M5MzYwMDIxMkNBMyAv
KiAueHBjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAi
d3JhcHBlci54cGMtc2VydmljZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IC54cGM7IHNv
dXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRkEyRDU0MTUyMTExODYwMEMx
QkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MUZBMkQ1QTE1MjExQTFFMDBDMUJBMEIgLyogSW5qZWN0ZWRCdW5k
bGVET01XaW5kb3dFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
SW5qZWN0ZWRCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNTFGQTJENUMxNTIxMUE1MDAwQzFCQTBCIC8qIEluamVjdGVkQnVuZGxlRE9NV2lu
ZG93RXh0ZW5zaW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
amVjdGVkQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTM0MzAsNyArMzQ3Myw3IEBACiAJCTg2Rjk1MzYyMThGRjU1MEIwMDFEQjJFRiAv
KiBQcm9jZXNzQXNzZXJ0aW9uSU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3Bw
OyBuYW1lID0gUHJvY2Vzc0Fzc2VydGlvbklPUy5tbTsgcGF0aCA9IGlvcy9Qcm9jZXNzQXNzZXJ0
aW9uSU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4Q0ZFQ0U5MzE0OTBGMTQw
MDAyQUFBMzIgLyogRWRpdG9yU3RhdGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gRWRpdG9yU3RhdGUuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4
REMyRUY1QTA0ODZBNjk0MDA5OEIyMTYgLyogSW5mby5wbGlzdCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxp
c3QueG1sOyBwYXRoID0gSW5mby5wbGlzdDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
OERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9IHdyYXBwZXIuZnJhbWV3b3JrOyBp
bmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBXZWJLaXQuZnJhbWV3b3JrOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQk4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogLmZy
YW1ld29yayAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0g
d3JhcHBlci5mcmFtZXdvcms7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IC5mcmFtZXdvcms7
IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTkwNTYyMEU1MTJCQzI0NzYw
MDA3OTlCNiAvKiBXZWJNZW1vcnlTYW1wbGVyLm1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBpbmRlbnRXaWR0aCA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViTWVtb3J5U2FtcGxlci5tYWMu
bW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHRhYldpZHRoID0gODsgdXNlc1RhYnMgPSAwOyB9
OwogCQk5MDU2MjBFODEyQkMyNDhCMDAwNzk5QjYgLyogV2ViTWVtb3J5U2FtcGxlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJNZW1vcnlTYW1wbGVyLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJOTA1NjIwRTkxMkJDMjQ4QjAwMDc5OUI2IC8q
IFdlYk1lbW9yeVNhbXBsZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2Vi
TWVtb3J5U2FtcGxlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzY3OSw3ICsz
NzIyLDcgQEAKIAkJQkMzM0UwRDAxMjQwOEU4NjAwMzYwRjNGIC8qIEluamVjdGVkQnVuZGxlUmFu
Z2VIYW5kbGUuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5qZWN0
ZWRCdW5kbGVSYW5nZUhhbmRsZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUJD
MzlDNDMzMTYyNjM2NkYwMDhCQzY4OSAvKiBXS0RPTVJhbmdlLm1tICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAub2JqY3BwOyBwYXRoID0gV0tET01SYW5nZS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkMzOUM0MzQxNjI2MzY2RjAwOEJDNjg5IC8qIFdLRE9NUmFuZ2UuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tET01SYW5nZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwotCQlCQzNERTQ2NjE1QTkxNzYzMDA4RDI2RkMgLyogY29tLmFwcGxlLldl
YktpdC5XZWJDb250ZW50LnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNp
dEZpbGVUeXBlID0gIndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBh
dGggPSBjb20uYXBwbGUuV2ViS2l0LldlYkNvbnRlbnQueHBjOyBzb3VyY2VUcmVlID0gQlVJTFRf
UFJPRFVDVFNfRElSOyB9OworCQlCQzNERTQ2NjE1QTkxNzYzMDA4RDI2RkMgLyogLnhwYyAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gIndyYXBwZXIueHBj
LXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSAueHBjOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlCQzNERTQ2ODE1QTkxNzYzMDA4RDI2RkMgLyogRm91
bmRhdGlvbi5mcmFtZXdvcmsgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB3cmFwcGVyLmZyYW1ld29yazsgbmFtZSA9IEZvdW5kYXRpb24uZnJhbWV3b3Jr
OyBwYXRoID0gU3lzdGVtL0xpYnJhcnkvRnJhbWV3b3Jrcy9Gb3VuZGF0aW9uLmZyYW1ld29yazsg
c291cmNlVHJlZSA9IFNES1JPT1Q7IH07CiAJCUJDNDA3NUQ3MTI0RkYwMjcwMDY4RjIwQSAvKiBX
S0FycmF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLQXJyYXku
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzQwNzVEODEyNEZGMDI3MDA2OEYy
MEEgLyogV0tBcnJheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0FycmF5
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zNzg1LDEyICszODI4LDEyIEBACiAJ
CUJDODI4M0EzMTZCNEJEOTEwMEEyNzhGRSAvKiBJbmZvLU9TWC5wbGlzdCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQucGxpc3QueG1sOyBwYXRo
ID0gIkluZm8tT1NYLnBsaXN0Ijsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM4Mjgz
QTgxNkI0QkQ5MTAwQTI3OEZFIC8qIE5ldHdvcmtTZXJ2aWNlRW50cnlQb2ludC5tbSAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IE5ldHdvcmtTZXJ2aWNlRW50cnlQb2ludC5tbTsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJQkM4MjgzQUIxNkI0QkVBRDAwQTI3OEZFIC8qIE5ldHdvcmtTZXJ2
aWNlLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IE5ldHdvcmtTZXJ2aWNlLnhjY29uZmlnOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzgyODNCMTE2QjRCRjc3MDBBMjc4RkUgLyogY29t
LmFwcGxlLldlYktpdC5OZXR3b3JraW5nLnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gIndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRl
eCA9IDA7IHBhdGggPSBjb20uYXBwbGUuV2ViS2l0Lk5ldHdvcmtpbmcueHBjOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlCQzgyODNCMTE2QjRCRjc3MDBBMjc4RkUgLyog
LnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gIndy
YXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSAueHBjOyBzb3Vy
Y2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlCQzgyODNFRjE2QjRGOEUyMDBBMjc4
RkUgLyogUGx1Z2luU2VydmljZUVudHJ5UG9pbnQubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBQ
bHVnaW5TZXJ2aWNlRW50cnlQb2ludC5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
QkM4MjgzRjIxNkI0RkM1MzAwQTI3OEZFIC8qIFBsdWdpblNlcnZpY2UuMzIueGNjb25maWcgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0LnhjY29u
ZmlnOyBwYXRoID0gUGx1Z2luU2VydmljZS4zMi54Y2NvbmZpZzsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkM4MjgzRjQxNkI0RkM1MzAwQTI3OEZFIC8qIFBsdWdpblNlcnZpY2UuNjQu
eGNjb25maWcgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gUGx1Z2luU2VydmljZS42NC54Y2NvbmZpZzsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkM4MjgzRjkxNkI0RkRERTAwQTI3OEZFIC8qIGNvbS5h
cHBsZS5XZWJLaXQuUGx1Z2luLjMyLnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBl
eHBsaWNpdEZpbGVUeXBlID0gIndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9
IDA7IHBhdGggPSBjb20uYXBwbGUuV2ViS2l0LlBsdWdpbi4zMi54cGM7IHNvdXJjZVRyZWUgPSBC
VUlMVF9QUk9EVUNUU19ESVI7IH07Ci0JCUJDODI4NDFGMTZCNEZERjYwMEEyNzhGRSAvKiBjb20u
YXBwbGUuV2ViS2l0LlBsdWdpbi42NC54cGMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZXhwbGljaXRGaWxlVHlwZSA9ICJ3cmFwcGVyLnhwYy1zZXJ2aWNlIjsgaW5jbHVkZUluSW5kZXgg
PSAwOyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5QbHVnaW4uNjQueHBjOyBzb3VyY2VUcmVlID0g
QlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlCQzgyODNGOTE2QjRGRERFMDBBMjc4RkUgLyogLnhw
YyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gIndyYXBw
ZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSAueHBjOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OworCQlCQzgyODQxRjE2QjRGREY2MDBBMjc4RkUg
LyogLnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0g
IndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSAueHBjOyBz
b3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQlCQzg0NTJBNTExNjJDODA5MDBD
QUI5QjUgLyogRHJhd2luZ0FyZWEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gRHJhd2luZ0FyZWEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzg0
NTJBNjExNjJDODA5MDBDQUI5QjUgLyogRHJhd2luZ0FyZWEuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gRHJhd2luZ0FyZWEuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
IAkJQkM4NEVCMTcxMkE3MTAwQzAwODNGMkRBIC8qIFdlYlByZWZlcmVuY2VzTWFjLm1tICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUHJlZmVyZW5jZXNNYWMubW07
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00MTUyLDcgKzQxOTUsNyBAQAogCQkJYnVp
bGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0gKAogCQkJCTUxRjdEQzQzMTgw
Q0M5MzYwMDIxMkNBMyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAot
CQkJCTUxRjdEQzQ0MTgwQ0M5MzYwMDIxMkNBMyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1l
d29ya3MgKi8sCisJCQkJNTFGN0RDNDQxODBDQzkzNjAwMjEyQ0EzIC8qIC5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVwbG95bWVudFBvc3Rwcm9jZXNz
aW5nID0gMDsKIAkJfTsKQEAgLTQxNzMsNyArNDIxNiw3IEBACiAJCQlidWlsZEFjdGlvbk1hc2sg
PSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkJQkNBRjM2MjAxNkNBMjhENjAwRDRFOUZD
IC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCi0JCQkJQkM4MjgzREEx
NkI0REI5MzAwQTI3OEZFIC8qIFdlYktpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKKwkJ
CQlCQzgyODNEQTE2QjREQjkzMDBBMjc4RkUgLyogLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICov
LAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHByb2Nlc3NpbmcgPSAwOwogCQl9
OwpAQCAtNDE4Miw3ICs0MjI1LDcgQEAKIAkJCWJ1aWxkQWN0aW9uTWFzayA9IDIxNDc0ODM2NDc7
CiAJCQlmaWxlcyA9ICgKIAkJCQkzNzFFNjk1QTFBRUQ3QTVCMDA0OTVFNDggLyogRm91bmRhdGlv
bi5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKLQkJCQkzNzFFNjk1QjFBRUQ3QTY3MDA0OTVF
NDggLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovLAorCQkJCTM3MUU2OTVCMUFF
RDdBNjcwMDQ5NUU0OCAvKiAuZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCiAJCQkpOwogCQkJ
cnVuT25seUZvckRlcGxveW1lbnRQb3N0cHJvY2Vzc2luZyA9IDA7CiAJCX07CkBAIC00MTkxLDcg
KzQyMzQsNyBAQAogCQkJYnVpbGRBY3Rpb25NYXNrID0gMjE0NzQ4MzY0NzsKIAkJCWZpbGVzID0g
KAogCQkJCTM3MUU2OTU5MUFFRDdBMEYwMDQ5NUU0OCAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBp
biBGcmFtZXdvcmtzICovLAotCQkJCUJDODI4NDRGMTZCNTA4OTgwMEEyNzhGRSAvKiBXZWJLaXQu
ZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8sCisJCQkJQkM4Mjg0NEYxNkI1MDg5ODAwQTI3OEZF
IC8qIC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLywKIAkJCSk7CiAJCQlydW5Pbmx5Rm9yRGVw
bG95bWVudFBvc3Rwcm9jZXNzaW5nID0gMDsKIAkJfTsKQEAgLTQyMDAsNyArNDI0Myw3IEBACiAJ
CQlidWlsZEFjdGlvbk1hc2sgPSAyMTQ3NDgzNjQ3OwogCQkJZmlsZXMgPSAoCiAJCQkJQkM5RkE1
MjAxNjBEM0I0MzAwNTRERjlBIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8sCi0JCQkJQkNBRTlFMDgxNjBDMUMwNzAwQTMzMjE3IC8qIFdlYktpdC5mcmFtZXdvcmsgaW4g
RnJhbWV3b3JrcyAqLywKKwkJCQlCQ0FFOUUwODE2MEMxQzA3MDBBMzMyMTcgLyogLmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovLAogCQkJKTsKIAkJCXJ1bk9ubHlGb3JEZXBsb3ltZW50UG9zdHBy
b2Nlc3NpbmcgPSAwOwogCQl9OwpAQCAtNDIxNywxNCArNDI2MCwxNCBAQAogCQkwMzQ3NjhERkZG
MzhBNTA0MTFEQjlDOEIgLyogUHJvZHVjdHMgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAotCQkJCTUxRjdEQzRBMTgwQ0M5MzYwMDIxMkNBMyAvKiBjb20uYXBwbGUu
V2ViS2l0LkRhdGFiYXNlcy54cGMgKi8sCi0JCQkJQkM4MjgzQjExNkI0QkY3NzAwQTI3OEZFIC8q
IGNvbS5hcHBsZS5XZWJLaXQuTmV0d29ya2luZy54cGMgKi8sCi0JCQkJQkM4MjgzRjkxNkI0RkRE
RTAwQTI3OEZFIC8qIGNvbS5hcHBsZS5XZWJLaXQuUGx1Z2luLjMyLnhwYyAqLywKLQkJCQlCQzgy
ODQxRjE2QjRGREY2MDBBMjc4RkUgLyogY29tLmFwcGxlLldlYktpdC5QbHVnaW4uNjQueHBjICov
LAotCQkJCUJDM0RFNDY2MTVBOTE3NjMwMDhEMjZGQyAvKiBjb20uYXBwbGUuV2ViS2l0LldlYkNv
bnRlbnQueHBjICovLAorCQkJCTUxRjdEQzRBMTgwQ0M5MzYwMDIxMkNBMyAvKiAueHBjICovLAor
CQkJCUJDODI4M0IxMTZCNEJGNzcwMEEyNzhGRSAvKiAueHBjICovLAorCQkJCUJDODI4M0Y5MTZC
NEZEREUwMEEyNzhGRSAvKiAueHBjICovLAorCQkJCUJDODI4NDFGMTZCNEZERjYwMEEyNzhGRSAv
KiAueHBjICovLAorCQkJCUJDM0RFNDY2MTVBOTE3NjMwMDhEMjZGQyAvKiAueHBjICovLAogCQkJ
CTFBQzI1RkIwMTJBNDhFQTcwMEJEMjY3MSAvKiBQbHVnaW5Qcm9jZXNzU2hpbS5keWxpYiAqLywK
IAkJCQk1MTAwMzFGNjEzNzlDQUNCMDBDOERGRTQgLyogU2VjSXRlbVNoaW0uZHlsaWIgKi8sCi0J
CQkJOERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi8sCisJCQkJ
OERDMkVGNUIwNDg2QTY5NDAwOThCMjE2IC8qIC5mcmFtZXdvcmsgKi8sCiAJCQkJQ0RDMzgzMDYx
NzIxMTc5OTAwOEEyRkMzIC8qIFdlYlByb2Nlc3NTaGltLmR5bGliICovLAogCQkJKTsKIAkJCW5h
bWUgPSBQcm9kdWN0czsKQEAgLTQ2ODgsNiArNDczMSw4IEBACiAJCQkJQkNDNDNBQjkxMjdCOTVE
QzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oICovLAogCQkJCUUxOEM5MkYzMTJE
QjlFNzEwMENGMkFFQiAvKiBQcmludEluZm8uY3BwICovLAogCQkJCUUxQ0MxQjhFMTJEN0VBREYw
MDYyNTgzOCAvKiBQcmludEluZm8uaCAqLywKKwkJCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAg
LyogUlRDTmV0d29yay5jcHAgKi8sCisJCQkJNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJU
Q05ldHdvcmsuaCAqLywKIAkJCQlGNkEwQzEzRjEzMjgxRTZFMDA3MDQzMEYgLyogUmVzb3VyY2VD
YWNoZXNUb0NsZWFyLmggKi8sCiAJCQkJQkMyRDAyMTYxMkFDNDFDQjAwRTczMkEzIC8qIFNhbWVE
b2N1bWVudE5hdmlnYXRpb25UeXBlLmggKi8sCiAJCQkJMUFBQjRBOEMxMjk2RjBBMjAwMjM5NTJG
IC8qIFNhbmRib3hFeHRlbnNpb24uaCAqLywKQEAgLTU1MzEsNiArNTU3NiwzNyBAQAogCQkJcGF0
aCA9IFJlc291cmNlcy9tYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0
MTMwNzU5NzFERTg0RUQ3MDAzOUVDNjkgLyogd2VicnRjICovID0geworCQkJaXNhID0gUEJYR3Jv
dXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0
d29ya1BhY2tldFNvY2tldC5jcHAgKi8sCisJCQkJNDEzMDc1OTkxREU4NEZCMDAwMzlFQzY5IC8q
IE5ldHdvcmtQYWNrZXRTb2NrZXQuaCAqLywKKwkJCQk0MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkg
LyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCAqLywKKwkJCQk0MTMwNzU5QjFERTg0RkIwMDAz
OUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmggKi8sCisJCQkJNDEzMDc1OUMxREU4NEZC
MDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJCQk0
MTMwNzU5RDFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5p
biAqLywKKwkJCSk7CisJCQluYW1lID0gd2VicnRjOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsKKwkJfTsKKwkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0YyAqLyA9IHsKKwkJ
CWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDEzMDc1OUYxREU4NUVFNzAw
MzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzVBMDFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmggKi8sCisJCQkJNDEzMDc1QTExREU4
NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5jcHAgKi8sCisJCQkJNDEzMDc1QTIxREU4
NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCAqLywKKwkJCQk0MTMwNzVBMzFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIuaCAqLywKKwkJCQk0MTMwNzVBNDFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJ
NDEzMDc1QTUxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwICov
LAorCQkJCTQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
LmggKi8sCisJCQkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ1N0cmF0ZWd5LmNw
cCAqLywKKwkJCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDU3RyYXRlZ3kuaCAq
LywKKwkJCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogV2ViUlRDU3RyYXRlZ3kubWVzc2Fn
ZXMuaW4gKi8sCisJCQkpOworCQkJbmFtZSA9IHdlYnJ0YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7CisJCX07CiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLyA9IHsK
IAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC01NTUzLDYgKzU2MjksNyBA
QAogCQk1MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5
IC8qIHdlYnJ0YyAqLywKIAkJCQk1MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uLmNwcCAqLywKIAkJCQk1MTA1QjBENTE2MkY3QTdBMDBFMjc3MDkgLyog
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmggKi8sCiAJCQkJNTFGQjA5MDIxNjNBM0IxQzAwRUMz
MjRBIC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLywKQEAgLTU1Nzks
NiArNTY1Niw3IEBACiAJCQkJRTE3OThDNzYxNkU2ODE1NTAwMjQwMTM5IC8qIEZpbGVBUEkgKi8s
CiAJCQkJMkRBOTQ0QkIxODg1MTFERDAwRUQ4NkRCIC8qIGlvcyAqLywKIAkJCQk1MTBDQzdEQzE2
MTM4RTI5MDBEMDNFRDMgLyogbWFjICovLAorCQkJCTQxMzA3NTk3MURFODRFRDcwMDM5RUM2OSAv
KiB3ZWJydGMgKi8sCiAJCQkJNTEzQTE2NDkxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCAqLywKIAkJCQk1MTNBMTY0QTE2MzBBOUJGMDA1RDdEMjIg
LyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCAqLywKIAkJCQk1MTNBMTY0QjE2MzBB
OUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4g
Ki8sCkBAIC03NDQxLDYgKzc1MTksMTEgQEAKIAkJCQlCQ0VFN0FDQzEyODE3OTg4MDA5ODI3REEg
LyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlCQ0VFN0FDRDEy
ODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLywKIAkJCQk1MUYw
NjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJQYWNrZXRTb2NrZXRN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBX
ZWJSVENTdHJhdGVneVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4
MUQgLyogTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFG
MDYwREQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtN
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4
MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovLAogCQkJCTdBNzkxRUY5MUM3Q0ZC
MzcwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAogCQkJCTdBNzkxRUY4MUM3Q0ZCMTAwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlcy5oICovLApAQCAtNzg4MCw2ICs3OTYzLDcgQEAKIAkJ
CQkxQTFFQzY5RTE4NzIwOTIxMDBCOTUxRjAgLyogSW1wb3J0YW5jZUFzc2VydGlvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkMyMDRFRTMxMUM4M0U5ODAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxl
LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUJBMjEyNzc2MUQwMDAzMzIyQjggLyogSW5qZWN0
ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUIyMURF
ODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywK
IAkJCQk5MzVFRUJBNDEyNzc2MUQ2MDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2Fy
ZExpc3RJdGVtLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFN0RDNTEyOEI2NDVEMDA5ODI3REEg
LyogSW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQkI4MTFEMUFB
MEY4QjEwMDZCMTk0MiAvKiBJbmplY3RlZEJ1bmRsZUZpbGVIYW5kbGUuaCBpbiBIZWFkZXJzICov
LApAQCAtODA3MCw2ICs4MTU0LDcgQEAKIAkJCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyog
U2VjSXRlbVNoaW1Qcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAw
OUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE0RDlGNTcxOTExOUQzNTAwMDA2M0E3IC8qIFNlcnZpY2VzQ29udHJvbGxlci5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2Nr
ZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNz
aW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAv
KiBTZXNzaW9uU3RhdGVDb2RpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1M0UzRTBFMTg4NzM5
ODkwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTU5LDYg
KzgyNDQsNyBAQAogCQkJCTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVBy
b3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyog
V2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1
MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ1N0cmF0ZWd5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzAzMkQ3QjEwRjQzNzhEMDA1OEMxNUEgLyogV2ViRHJhZ0NsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQkNBMEVGOUYxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21t
YW5kUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDdEMTBGNDM3OEQwMDU4QzE1QSAv
KiBXZWJFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODE4Myw2ICs4MjY5LDcgQEAK
IAkJCQlCQzU0Q0FDQjEyRDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJv
eHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMEU2MTgzMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJH
ZW9sb2NhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBF
NjA3MzEyRDZCQzIwMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDEzMDc1QUMxREU4NUYzNzAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQkUxRjIxMkQ1NERCRDAwMDRBMjI4IC8qIFdl
Ykdlb2xvY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENTAzNjc2MUJDRUQx
OUYwMEUyMEJCMyAvKiBXZWJHZXN0dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQTg4
QjMzMUJDNkU5Q0QwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIGluIEhlYWRlcnMg
Ki8sCkBAIC04MTkyLDYgKzgyNzksNyBAQAogCQkJCTUxMUIyNEE3MTMyRTA5NTcwMDA2NUEwQyAv
KiBXZWJJY29uRGF0YWJhc2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMDJGNkMxMzJF
QzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTUxMDUyMzcwMUM3MzlENDIwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9D
bGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2OSAvKiBX
ZWJQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzdBMUM3M0RBNzcwMDc5
OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTE0MTI5OTQxQzY0MjhCQjAwNTlFNzE0IC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZl
ci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzNzQxQzczRDM4QjAwNzk5M0NCIC8qIFdlYklE
QkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTgyNDcsNiAr
ODMzNSw3IEBACiAJCQkJQ0RBMjlBMUIxQ0JEQkY0MTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vz
c2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTI5QTI5MUNCRUI2N0EwMDkwMUND
RiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCUNEQTI5QTIwMUNCRUI1RkIwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2Vy
UHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZEMCAvKiBS
VENOZXR3b3JrLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREEyOUEyQjFDQkVCNjdBMDA5MDFDQ0Yg
LyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0u
aCBpbiBIZWFkZXJzICovLApAQCAtODU4MSw2ICs4NjcwLDcgQEAKIAkJCQkzNzdFQUQ0OTE3RTJD
NzdCMDAyRDE5M0QgLyogV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZS5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUFBRjA4OUQxOTI2N0ZDODAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdEludGVybmFsLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk3Qzg4MkRGQTFDN0U5OTczMDA2QkY3MzEgLyogV0tVc2VyU2Ny
aXB0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjAxREU4NUY1ODAwMzlFQzY5
IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5RDJBNDFBNjc4
ODc1MDAzQTVGREUgLyogV0tVc2VyU2NyaXB0UmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2
OTlCNTExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2
OTlCNzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApA
QCAtODY5NCw3ICs4Nzg0LDcgQEAKIAkJCSk7CiAJCQluYW1lID0gRGF0YWJhc2VzOwogCQkJcHJv
ZHVjdE5hbWUgPSBOZXR3b3JraW5nOwotCQkJcHJvZHVjdFJlZmVyZW5jZSA9IDUxRjdEQzRBMTgw
Q0M5MzYwMDIxMkNBMyAvKiBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy54cGMgKi87CisJCQlw
cm9kdWN0UmVmZXJlbmNlID0gNTFGN0RDNEExODBDQzkzNjAwMjEyQ0EzIC8qIC54cGMgKi87CiAJ
CQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnhwYy1zZXJ2aWNlIjsKIAkJ
fTsKIAkJOERDMkVGNEYwNDg2QTY5NDAwOThCMjE2IC8qIFdlYktpdCAqLyA9IHsKQEAgLTg3MzMs
NyArODgyMyw3IEBACiAJCQluYW1lID0gV2ViS2l0OwogCQkJcHJvZHVjdEluc3RhbGxQYXRoID0g
IiQoSE9NRSkvTGlicmFyeS9GcmFtZXdvcmtzIjsKIAkJCXByb2R1Y3ROYW1lID0gV2ViS2l0MjsK
LQkJCXByb2R1Y3RSZWZlcmVuY2UgPSA4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0
LmZyYW1ld29yayAqLzsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSA4REMyRUY1QjA0ODZBNjk0MDA5
OEIyMTYgLyogLmZyYW1ld29yayAqLzsKIAkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9k
dWN0LXR5cGUuZnJhbWV3b3JrIjsKIAkJfTsKIAkJQkMzREU0NjUxNUE5MTc2MzAwOEQyNkZDIC8q
IFdlYkNvbnRlbnQgKi8gPSB7CkBAIC04NzUxLDcgKzg4NDEsNyBAQAogCQkJKTsKIAkJCW5hbWUg
PSBXZWJDb250ZW50OwogCQkJcHJvZHVjdE5hbWUgPSBXZWJLaXQyU2VydmljZTsKLQkJCXByb2R1
Y3RSZWZlcmVuY2UgPSBCQzNERTQ2NjE1QTkxNzYzMDA4RDI2RkMgLyogY29tLmFwcGxlLldlYktp
dC5XZWJDb250ZW50LnhwYyAqLzsKKwkJCXByb2R1Y3RSZWZlcmVuY2UgPSBCQzNERTQ2NjE1QTkx
NzYzMDA4RDI2RkMgLyogLnhwYyAqLzsKIAkJCXByb2R1Y3RUeXBlID0gImNvbS5hcHBsZS5wcm9k
dWN0LXR5cGUueHBjLXNlcnZpY2UiOwogCQl9OwogCQlCQzgyODNCMDE2QjRCRjc3MDBBMjc4RkUg
LyogTmV0d29ya2luZyAqLyA9IHsKQEAgLTg3NjksNyArODg1OSw3IEBACiAJCQkpOwogCQkJbmFt
ZSA9IE5ldHdvcmtpbmc7CiAJCQlwcm9kdWN0TmFtZSA9IE5ldHdvcmtpbmc7Ci0JCQlwcm9kdWN0
UmVmZXJlbmNlID0gQkM4MjgzQjExNkI0QkY3NzAwQTI3OEZFIC8qIGNvbS5hcHBsZS5XZWJLaXQu
TmV0d29ya2luZy54cGMgKi87CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gQkM4MjgzQjExNkI0QkY3
NzAwQTI3OEZFIC8qIC54cGMgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVj
dC10eXBlLnhwYy1zZXJ2aWNlIjsKIAkJfTsKIAkJQkM4MjgzRjgxNkI0RkRERTAwQTI3OEZFIC8q
IFBsdWdpbi4zMiAqLyA9IHsKQEAgLTg3ODcsNyArODg3Nyw3IEBACiAJCQkpOwogCQkJbmFtZSA9
IFBsdWdpbi4zMjsKIAkJCXByb2R1Y3ROYW1lID0gUGx1Z2luLjMyOwotCQkJcHJvZHVjdFJlZmVy
ZW5jZSA9IEJDODI4M0Y5MTZCNEZEREUwMEEyNzhGRSAvKiBjb20uYXBwbGUuV2ViS2l0LlBsdWdp
bi4zMi54cGMgKi87CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gQkM4MjgzRjkxNkI0RkRERTAwQTI3
OEZFIC8qIC54cGMgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBl
LnhwYy1zZXJ2aWNlIjsKIAkJfTsKIAkJQkM4Mjg0MUUxNkI0RkRGNjAwQTI3OEZFIC8qIFBsdWdp
bi42NCAqLyA9IHsKQEAgLTg4MDUsNyArODg5NSw3IEBACiAJCQkpOwogCQkJbmFtZSA9IFBsdWdp
bi42NDsKIAkJCXByb2R1Y3ROYW1lID0gUGx1Z2luLjY0OwotCQkJcHJvZHVjdFJlZmVyZW5jZSA9
IEJDODI4NDFGMTZCNEZERjYwMEEyNzhGRSAvKiBjb20uYXBwbGUuV2ViS2l0LlBsdWdpbi42NC54
cGMgKi87CisJCQlwcm9kdWN0UmVmZXJlbmNlID0gQkM4Mjg0MUYxNkI0RkRGNjAwQTI3OEZFIC8q
IC54cGMgKi87CiAJCQlwcm9kdWN0VHlwZSA9ICJjb20uYXBwbGUucHJvZHVjdC10eXBlLnhwYy1z
ZXJ2aWNlIjsKIAkJfTsKIAkJQ0RDMzgyRkIxNzIxMTc5OTAwOEEyRkMzIC8qIFdlYlByb2Nlc3NT
aGltICovID0gewpAQCAtOTIzMSw2ICs5MzIxLDcgQEAKIAkJCQkxQTQzRTgyOTE4OEYzQ0RDMDA5
RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFjZS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTFBOUUzMjhBMTgyMTYzNjkwMEY1RDA0QyAvKiBfV0tSZW1v
dGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQxMDQ4MkNEMURERDMyNEMw
MEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1NUJBODExMUJB
MTMxODEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0NCAvKiBfV0tTZXNzaW9u
U3RhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDZCMzcxQzE4QTk2N0FEMDA0MkFFODAgLyog
X1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovLApAQCAtOTM1NSw2ICs5NDQ2LDcgQEAK
IAkJCQk4Q0ZFQ0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9yU3RhdGUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkMwMzJEQTcxMEY0MzdEMTAwNThDMTVBIC8qIEVuY29kZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTFCMTVBODQxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50VXRp
bGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUFGMURFODVGNTgwMDM5RUM2OSAv
KiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzVGQTE0OTZC
NTI2MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
QTU3NjAyMTQ5NkI5NzkwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDBCOTY2MTkxOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRD
bGllbnQubW0gaW4gU291cmNlcyAqLywKQEAgLTk1MDgsNiArOTYwMCw3IEBACiAJCQkJNUM4NUM3
ODgxQzNGMjNDRTAwNjFBNEZBIC8qIFBlbmRpbmdEb3dubG9hZC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkwRjVFMjAwMzE4RTc3MDUxMDAzRUMzRTUgLyogUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEQTA0OUIzMTgwQ0NDRDMwMEFBRkE5RSAvKiBQbGF0
Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QTkxREU4NUYy
QzAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MkQ4NzEwMTYxODI4NDE1RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTJEODk0OUYwMTgyMDQ0RjYwMEU4OThBQSAvKiBQbGF0Zm9y
bUNBTGF5ZXJSZW1vdGVUaWxlZEJhY2tpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNB
QkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTk3MTcsNiArOTgxMCw4IEBACiAJCQkJQkMwRTYwNjExMkQ2QkE5MTAwMTJBNzJB
IC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzU0Q0FDQzEyRDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2Vy
UHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwRTYxODIxMkQ2Q0IxRDAwMTJBNzJBIC8q
IFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTQxMzA3NUFFMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNDEwNDgyQzUxREREMDQ4MzAwRjAwNkQwIC8qIE5ldHdvcmtO
ZXR3b3JrTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBFNjA3NDEyRDZCQzIwMDAx
MkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
QzFCRTFGMzEyRDU0REJEMDAwNEEyMjggLyogV2ViR2VvbG9jYXRpb25Qcm92aWRlci5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQkyRDUwMzY3NTFCQ0VEMTlGMDBFMjBCQjMgLyogV2ViR2VzdHVyZUV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTgzNiw2ICs5OTMxLDExIEBACiAJCQkJMzc2MDg4
MUUxNTA0MTNFOTAwRkM4MkM3IC8qIFdlYlJlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk1MTBBRkZCOTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNl
TG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1
NDMxODUwMEYzMjgxQyAvKiBXZWJQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIFdlYlJUQ1N0cmF0ZWd5
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUw
MEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3JrTmV0d29ya01h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0
MzE4NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTdBNzkxRUZDMUM3RDA4QzUwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxv
YWRTdGF0aXN0aWNzU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OTFFRkExQzdDRkNG
MTAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3MjE5MjdGQTM2MDAzNkE1OUQgLyogV2Vi
U2NyaXB0TWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05ODYzLDEwICs5OTYz
LDEyIEBACiAJCQkJM0Y0MThFRjkxODg3QkQ5NzAwMjc5NUZEIC8qIFdlYlZpZGVvRnVsbHNjcmVl
bk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTJENUExQjEx
QzU3NDk2MjAwREUzNEEzIC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTNGNDE4RUZCMTg4N0JEOTcwMDI3OTVGRCAvKiBXZWJWaWRlb0Z1bGxz
Y3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ1N0cmF0ZWd5LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTJERkM3REJDMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5tbSBpbiBT
b3VyY2VzICovLAogCQkJCUMwMzM3REQxMTI3QTI5ODAwMDhGRjRGNCAvKiBXZWJXaGVlbEV2ZW50
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2ODE2MEQwMTg3NjQ1NTcwMDIxRTc5RCAvKiBXaW5k
b3dTZXJ2ZXJDb25uZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlDRDU1QUIxMjhFMjk0
RjAwMTMzQzg1IC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tIGluIFNvdXJj
ZXMgKi8sCisJCQkJNDEzMDc1QjExREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZh
Y3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkyMzJERjgxOEIyQTlBRTAwRDA1OTZGIC8q
IFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQky
OTIzMkRGOTE4QjJBQjNBMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1h
Yy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0RTQ5MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0Fj
dGlvblNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC05ODg0LDYgKzk5ODYsNyBAQAogCQkJCUJD
QkFBQ0Y1MTQ1MjMyNEYwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwLm1tIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUFFMDBENEMxODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdDb250
ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyMDRFRUUxMUM4M0VDODAwOEYzMzc1
IC8qIFdLQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUFBMURFODVGMzAwMDM5
RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1
RUVCOUUxMjc3NjFBQzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0LmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTkzNUVFQkEwMTI3NzYxQUMwMDMzMjJCOCAvKiBXS0J1bmRsZUJhY2tG
b3J3YXJkTGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQTJENzcxNTIxMkUyNjAw
QzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtMTAyMDIsNyArMTAzMDUsMTYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwog
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBBMUVERDJEOTE4ODRBQ0UwMDBCQkZFOTgg
LyogQWxsLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlIRUFERVJfU0VB
UkNIX1BBVEhTID0gKAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNs
dWRlIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdI
ZWFkZXJzXCIiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvaWN1XCIi
LAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIiLAor
CQkJCQkiJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUykiLAorCQkJCQkiJChI
RUFERVJfU0VBUkNIX1BBVEhTKSIsCisJCQkJKTsKIAkJCQlQUk9EVUNUX05BTUUgPSBBbGw7CisJ
CQkJVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQl9OwogCQkJbmFtZSA9IERlYnVn
OwogCQl9OwpAQCAtMTAyMTAsNyArMTAzMjIsMTYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1
cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBBMUVERDJEOTE4ODRBQ0Uw
MDBCQkZFOTggLyogQWxsLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlI
RUFERVJfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9s
b2NhbC9pbmNsdWRlIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0Zv
cndhcmRpbmdIZWFkZXJzXCIiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJ
UikvaWN1XCIiLAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YktpdDIiLAorCQkJCQkiJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUykiLAor
CQkJCQkiJChIRUFERVJfU0VBUkNIX1BBVEhTKSIsCisJCQkJKTsKIAkJCQlQUk9EVUNUX05BTUUg
PSBBbGw7CisJCQkJVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQl9OwogCQkJbmFt
ZSA9IFJlbGVhc2U7CiAJCX07CkBAIC0xMDI1NCw2ICsxMDM3NSwxNSBAQAogCQkJaXNhID0gWENC
dWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDQjg2
RjRCMTE2QUFBQ0QwMENFMjBCNyAvKiBXZWJLaXQueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRp
bmdzID0geworCQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCSIkKEJVSUxUX1BST0RV
Q1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9I
RUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnNcIiIsCisJCQkJCSJcIiQoV0VCQ09SRV9QUklW
QVRFX0hFQURFUlNfRElSKS9pY3VcIiIsCisJCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0MiIsCisJCQkJCSIkKFdFQktJVEFERElUSU9OU19IRUFERVJfU0VB
UkNIX1BBVEhTKSIsCisJCQkJCSIkKEhFQURFUl9TRUFSQ0hfUEFUSFMpIiwKKwkJCQkpOworCQkJ
CUxJQlJBUllfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQkJT1RIRVJfTERGTEFHUyA9ICgKIAkJCQkJ
IiQoT1RIRVJfTERGTEFHUykiLAogCQkJCQkiLWwkKFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJ
QlJBUlkpIiwKQEAgLTEwMjY1LDYgKzEwMzk1LDE1IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29uZmln
dXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkNCODZGNEIxMTZBQUFD
RDAwQ0UyMEI3IC8qIFdlYktpdC54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7CisJ
CQkJSEVBREVSX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS91
c3IvbG9jYWwvaW5jbHVkZSIsCisJCQkJCSJcIiQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNfRElS
KS9Gb3J3YXJkaW5nSGVhZGVyc1wiIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVS
U19ESVIpL2ljdVwiIiwKKwkJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyIiwKKwkJCQkJIiQoV0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFUSFMp
IiwKKwkJCQkJIiQoSEVBREVSX1NFQVJDSF9QQVRIUykiLAorCQkJCSk7CisJCQkJTElCUkFSWV9T
RUFSQ0hfUEFUSFMgPSAiIjsKIAkJCQlPVEhFUl9MREZMQUdTID0gKAogCQkJCQkiJChPVEhFUl9M
REZMQUdTKSIsCiAJCQkJCSItbCQoV0VCS0lUX1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFSWSkiLApA
QCAtMTAzNDQsNyArMTA0ODMsMTYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9uOwog
CQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBBMUVERDJEOTE4ODRBQ0UwMDBCQkZFOTgg
LyogQWxsLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlIRUFERVJfU0VB
UkNIX1BBVEhTID0gKAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9pbmNs
dWRlIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRpbmdI
ZWFkZXJzXCIiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvaWN1XCIi
LAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIiLAor
CQkJCQkiJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUykiLAorCQkJCQkiJChI
RUFERVJfU0VBUkNIX1BBVEhTKSIsCisJCQkJKTsKIAkJCQlQUk9EVUNUX05BTUUgPSBBbGw7CisJ
CQkJVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQl9OwogCQkJbmFtZSA9IFByb2R1
Y3Rpb247CiAJCX07CkBAIC0xMDM1Miw5ICsxMDUwMCwxOCBAQAogCQkJaXNhID0gWENCdWlsZENv
bmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDQjg2RjRCMTE2
QUFBQ0QwMENFMjBCNyAvKiBXZWJLaXQueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdzID0g
eworCQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJ
UikvdXNyL2xvY2FsL2luY2x1ZGUiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJT
X0RJUikvRm9yd2FyZGluZ0hlYWRlcnNcIiIsCisJCQkJCSJcIiQoV0VCQ09SRV9QUklWQVRFX0hF
QURFUlNfRElSKS9pY3VcIiIsCisJCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0MiIsCisJCQkJCSIkKFdFQktJVEFERElUSU9OU19IRUFERVJfU0VBUkNIX1BB
VEhTKSIsCisJCQkJCSIkKEhFQURFUl9TRUFSQ0hfUEFUSFMpIiwKKwkJCQkpOworCQkJCUxJQlJB
UllfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQkJT1RIRVJfTERGTEFHUyA9ICgKIAkJCQkJIiQoT1RI
RVJfTERGTEFHUykiLAotCQkJCQkiLWxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UiLAorCQkJCQkiLWwk
KFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUlkpIiwKIAkJCQkpOwogCQkJfTsKIAkJCW5h
bWUgPSBQcm9kdWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAwOGFiMWUz
NTUxNmYxOGQ5YzBkNDU3ZWY2MTQ0MTlhOWJjMzAwZDc2Li4wNjBjZDFmMmY4NTkxNDk2MTlhNmE3
NTgyM2RhYjQ1OGI3ZDkyNmI0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMzAs
NyArMzAsMTMgQEAKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2Vi
TG9hZGVyU3RyYXRlZ3kuaCIKKyNpbmNsdWRlICJXZWJOZXR3b3JrTWFuYWdlci5oIgorI2luY2x1
ZGUgIldlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2Nr
ZXQuaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldl
YlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJSVENTdHJhdGVneS5oIgorI2luY2x1ZGUgIldlYlJU
Q1N0cmF0ZWd5TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZWRSZXNvdXJjZS5oPgogI2luY2x1ZGUgPFdlYkNv
cmUvTWVtb3J5Q2FjaGUuaD4KQEAgLTU0LDEyICs2MCwyNyBAQCBOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb246On5OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKQogdm9pZCBOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwg
SVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6Om1lc3NhZ2VSZWNlaXZlck5h
bWUoKSkgewotICAgICAgICBpZiAoV2ViUmVzb3VyY2VMb2FkZXIqIHdlYlJlc291cmNlTG9hZGVy
ID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViTG9hZGVyU3RyYXRlZ3koKS53ZWJSZXNvdXJj
ZUxvYWRlckZvcklkZW50aWZpZXIoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKQorICAgICAgICBp
ZiAoYXV0byogd2ViUmVzb3VyY2VMb2FkZXIgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJM
b2FkZXJTdHJhdGVneSgpLndlYlJlc291cmNlTG9hZGVyRm9ySWRlbnRpZmllcihkZWNvZGVyLmRl
c3RpbmF0aW9uSUQoKSkpCiAgICAgICAgICAgICB3ZWJSZXNvdXJjZUxvYWRlci0+ZGlkUmVjZWl2
ZVdlYlJlc291cmNlTG9hZGVyTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKLSAgICAgICAg
CiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5U
KQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2Vi
UGFja2V0U29ja2V0OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgaWYgKGF1dG8q
IHdlYlBhY2tldFNvY2tldCA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYlJUQ1N0cmF0ZWd5
KCkud2ViUGFja2V0U29ja2V0Rm9ySWRlbnRpZmllcihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkp
CisgICAgICAgICAgICB3ZWJQYWNrZXRTb2NrZXQtPmRpZFJlY2VpdmVXZWJQYWNrZXRTb2NrZXRN
ZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViTmV0d29y
a01hbmFnZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS53ZWJSVENTdHJhdGVneSgpLm5ldHdvcmtNYW5hZ2VyKCkuZGlkUmVjZWl2ZVdl
Yk5ldHdvcmtNYW5hZ2VyTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6OldlYlJUQ1N0cmF0ZWd5OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAg
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViUlRDU3RyYXRlZ3koKS5kaWRSZWNlaXZlV2ViUlRD
U3RyYXRlZ3lNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm47Cisg
ICAgfQorI2VuZGlmCisKICAgICBkaWRSZWNlaXZlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVz
c2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHAgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi40MjRkNDY0ZjgwNTE5YTQxN2E3MGM4OTJhZGNhMzc2MjY2MzI0NzE2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHAKQEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJOZXR3b3JrTWFuYWdlci5oIgorCisjaWYg
RU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkKKworI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrTmV0d29ya01hbmFnZXJN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1
ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+Cisj
aW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQg
V2ViTmV0d29ya01hbmFnZXI6OlN0YXJ0VXBkYXRpbmcoKQoreworICAgIGlmIChtX2NsaWVudENv
dW50KSB7CisgICAgICAgIC8vIE5lZWQgdG8gc2lnbmFsIG5ldyBjbGllbnQgdGhhdCB3ZSBhbHJl
YWR5IGhhdmUgdGhlIG5ldHdvcmsgbGlzdCwgbGV0J3MgZG8gaXQgYXN5bmNocm9ub3VzbHkKKyAg
ICAgICAgaWYgKG1fcmVjZWl2ZWROZXR3b3JrTGlzdCkgeworICAgICAgICAgICAgV2ViQ29yZTo6
Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpc10geworICAgICAgICAgICAgICAgIFNpZ25h
bE5ldHdvcmtzQ2hhbmdlZCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9IGVs
c2UgeworICAgICAgICBtX3JlY2VpdmVkTmV0d29ya0xpc3QgPSBmYWxzZTsKKyAgICAgICAgY2Fs
bE9uTWFpblRocmVhZChbXSgpIHsKKyAgICAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
Lm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtO
ZXR3b3JrTWFuYWdlcjo6U3RhcnRVcGRhdGluZygpLCAwKTsKKyAgICAgICAgfSk7CisgICAgfQor
ICAgICsrbV9jbGllbnRDb3VudDsKK30KKwordm9pZCBXZWJOZXR3b3JrTWFuYWdlcjo6U3RvcFVw
ZGF0aW5nKCkKK3sKKyAgICBBU1NFUlQobV9jbGllbnRDb3VudCk7CisgICAgaWYgKC0tbV9jbGll
bnRDb3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY2FsbE9uTWFpblRocmVhZChbXSgpIHsK
KyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpTdG9wVXBkYXRp
bmcoKSwgMCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViTmV0d29ya01hbmFnZXI6Om5ldHdvcmtz
Q2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtzLCBjb25zdCBSVENOZXR3
b3JrOjpJUEFkZHJlc3MmIGlwdjQsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2NikK
K3sKKyAgICAvLyBObyBuZWVkIHRvIHByb3RlY3QgJ3RoaXMnIGFzIGl0IGhhcyB0aGUgaWxlZnRp
bWUgb2YgV2ViUlRDU3RyYXRlZ3kgd2hpY2ggaGFzIHRoZSBsaWZldGltZSBvZiB0aGUgd2ViIHBy
b2Nlc3MKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBuZXR3
b3JrcywgaXB2NCwgaXB2Nl0geworICAgICAgICBzdGQ6OnZlY3RvcjxydGM6Ok5ldHdvcmsqPiBu
ZXR3b3JrTGlzdChuZXR3b3Jrcy5zaXplKCkpOworICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9
IDA7IGluZGV4IDwgbmV0d29ya3Muc2l6ZSgpOyArK2luZGV4KQorICAgICAgICAgICAgbmV0d29y
a0xpc3RbaW5kZXhdID0gbmV3IHJ0Yzo6TmV0d29yayhuZXR3b3Jrc1tpbmRleF0udmFsdWUoKSk7
CisKKyAgICAgICAgYm9vbCBmb3JjZVNpZ25hbGluZyA9ICFtX3JlY2VpdmVkTmV0d29ya0xpc3Q7
CisgICAgICAgIG1fcmVjZWl2ZWROZXR3b3JrTGlzdCA9IHRydWU7CisKKyAgICAgICAgYm9vbCBo
YXNDaGFuZ2VkOworICAgICAgICBzZXRfZGVmYXVsdF9sb2NhbF9hZGRyZXNzZXMoaXB2NC52YWx1
ZSwgaXB2Ni52YWx1ZSk7CisgICAgICAgIE1lcmdlTmV0d29ya0xpc3QobmV0d29ya0xpc3QsICZo
YXNDaGFuZ2VkKTsKKyAgICAgICAgaWYgKGhhc0NoYW5nZWQgfHwgZm9yY2VTaWduYWxpbmcpCisg
ICAgICAgICAgICBTaWduYWxOZXR3b3Jrc0NoYW5nZWQoKTsKKworICAgIH0pOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShMSUJXRUJSVENfRU5EUE9JTlQp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
Yk5ldHdvcmtNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQ4ZDJhNmIzNjA3ZTg3OTNiNTg2
YmY0YjA0N2Y1ZGQ2ZjE0MmQyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuaApAQCAtMCwwICsxLDYx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VO
RFBPSU5UKQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGli
V2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBJUEMg
eworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdHJ1Y3QgTmV0d29ya3NDaGFuZ2VkRGF0YTsKKworY2xhc3MgV2ViTmV0d29ya01h
bmFnZXIgZmluYWwgOiBwdWJsaWMgcnRjOjpOZXR3b3JrTWFuYWdlckJhc2UgeworcHVibGljOgor
ICAgIFdlYk5ldHdvcmtNYW5hZ2VyKCkgeyB9CisKKyAgICB2b2lkIGRpZFJlY2VpdmVXZWJOZXR3
b3JrTWFuYWdlck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKK3By
aXZhdGU6CisgICAgdm9pZCBuZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+
JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgY29uc3QgUlRDTmV0
d29yazo6SVBBZGRyZXNzJik7CisKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmcoKSBmaW5hbDsKKyAg
ICB2b2lkIFN0b3BVcGRhdGluZygpIGZpbmFsOworCisgICAgdW5zaWduZWQgbV9jbGllbnRDb3Vu
dCB7IDAgfTsKKyAgICBib29sIG1fcmVjZWl2ZWROZXR3b3JrTGlzdCB7IGZhbHNlIH07Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJMRShMSUJXRUJSVENfRU5E
UE9JTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi5lYjRiODYxYTAxYzNjZTk2N2ZhOWQwMTIwNWYwZTgyMzgyZWRhMWU4Ci0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3
b3JrTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDI5IEBACisjIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQor
CittZXNzYWdlcyAtPiBXZWJOZXR3b3JrTWFuYWdlciBMZWdhY3lSZWNlaXZlciB7CisgICAgdm9p
ZCBOZXR3b3Jrc0NoYW5nZWQoVmVjdG9yPFdlYktpdDo6UlRDTmV0d29yaz4gbmV0d29ya3MsIFdl
YktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGRlZmF1bHRJUFY0QWRkcmVzcywgV2ViS2l0OjpS
VENOZXR3b3JrOjpJUEFkZHJlc3MgZGVmYXVsdElQVjZBZGRyZXNzKQorfQorCisjZW5kaWYgLy8g
RU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4xMDQ0N2E5YjMyY2VjMTNjMTM3ZjJiMjZkODg0OWMyYjVlZjJmOWMyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNr
ZXRTb2NrZXQuY3BwCkBAIC0wLDAgKzEsMjA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNv
bmZpZy5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldC5oIgorCisjaWYgRU5BQkxFKExJQldF
QlJUQ19FTkRQT0lOVCkKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJO
ZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24uaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgiCisjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitXZWJQYWNrZXRTb2NrZXQ6OldlYlBhY2tldFNvY2tldChXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5JiBmYWN0b3J5LCBUeXBlIHR5cGUsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVz
cyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3Mp
CisgICAgOiBtX2ZhY3RvcnkoZmFjdG9yeSkKKyAgICAsIG1fdHlwZSh0eXBlKQorICAgICwgbV9s
b2NhbEFkZHJlc3MobG9jYWxBZGRyZXNzKQorICAgICwgbV9yZW1vdGVBZGRyZXNzKHJlbW90ZUFk
ZHJlc3MpCit7CisgICAgbV9mYWN0b3J5LmF0dGFjaCgqdGhpcyk7CisgICAgc3RkOjpmaWxsX24o
bV9vcHRpb25zLCBNQVhfU09DS0VUX09QVElPTiwgLTEpOworfQorCitXZWJQYWNrZXRTb2NrZXQ6
On5XZWJQYWNrZXRTb2NrZXQoKQoreworICAgIG1fZmFjdG9yeS5kZXRhY2goKnRoaXMpOworfQor
CitydGM6OlNvY2tldEFkZHJlc3MgV2ViUGFja2V0U29ja2V0OjpHZXRMb2NhbEFkZHJlc3MoKSBj
b25zdAoreworICAgIHJldHVybiBtX2xvY2FsQWRkcmVzczsKK30KKworcnRjOjpTb2NrZXRBZGRy
ZXNzIFdlYlBhY2tldFNvY2tldDo6R2V0UmVtb3RlQWRkcmVzcygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fcmVtb3RlQWRkcmVzczsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbEFk
ZHJlc3NSZWFkeShjb25zdCBTdHJpbmcmIGFkZHJlc3MpCit7CisgICAgYXV0byogZmFjdG9yeSA9
ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOwor
ICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGZhY3RvcnksIGlk
ZW50aWZpZXIsIGFkZHJlc3NdKCkgeworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHByb2Jh
Ymx5IG1vdmUgdGhpcyBjb2RlIG91dCBvZiBXZWJQYWNrZXRTb2NrZXQgc28gd2UgZG8gbm90IGNo
ZWNrIHR3aWNlIHRoZSBpZGVudGlmaWVyIGluIHRoZSBmYWN0b3J5LgorICAgICAgICBpZiAoIWZh
Y3RvcnktPndlYlBhY2tldFNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgaWYgKG1fdHlwZSA9PSBUeXBlOjpDbGllbnRUQ1ApCisgICAgICAgICAgICBtX3N0
YXRlID0gU1RBVEVfQ09OTkVDVEVEOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX3N0YXRl
ID0gU1RBVEVfQk9VTkQ7CisgICAgICAgIG1fbG9jYWxBZGRyZXNzLkZyb21TdHJpbmcoYWRkcmVz
cy51dGY4KCkuZGF0YSgpKTsKKyAgICAgICAgU2lnbmFsQWRkcmVzc1JlYWR5KHRoaXMsIG1fbG9j
YWxBZGRyZXNzKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFJl
YWRQYWNrZXQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBSVENOZXR3b3Jr
OjpJUEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQor
eworICAgIGF1dG8qIGZhY3RvcnkgPSAmbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9
IHRoaXMtPmlkZW50aWZpZXIoKTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBi
dWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5z
aXplKCkpOworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGZh
Y3RvcnksIGlkZW50aWZpZXIsIGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcywgcG9y
dCwgdGltZXN0YW1wXSgpIHsKKyAgICAgICAgaWYgKCFmYWN0b3J5LT53ZWJQYWNrZXRTb2NrZXQo
aWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fcmVtb3RlQWRkcmVz
cyA9IHJ0Yzo6U29ja2V0QWRkcmVzcyhhZGRyZXNzLnZhbHVlLCBwb3J0KTsKKyAgICAgICAgU2ln
bmFsUmVhZFBhY2tldCh0aGlzLCBidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCksIG1fcmVt
b3RlQWRkcmVzcywgcnRjOjpQYWNrZXRUaW1lKHRpbWVzdGFtcCwgMCkpOworICAgIH0pOworfQor
Cit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFsU2VudFBhY2tldChpbnQgcnRjUGFja2V0SUQs
IGludDY0X3Qgc2VuZFRpbWVNcykKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9yeTsK
KyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgV2ViQ29yZTo6
Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgZmFjdG9yeSwgaWRlbnRpZmllciwgcnRj
UGFja2V0SUQsIHNlbmRUaW1lTXNdKCkgeworICAgICAgICBpZiAoIWZhY3RvcnktPndlYlBhY2tl
dFNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9hdmFp
bGFibGVTZW5kaW5nQnl0ZXMgKz0gbV9iZWluZ1NlbnRQYWNrZXRTaXplcy50YWtlRmlyc3QoKTsK
KyAgICAgICAgU2lnbmFsU2VudFBhY2tldCh0aGlzLCBydGM6OlNlbnRQYWNrZXQocnRjUGFja2V0
SUQsIHNlbmRUaW1lTXMpKTsKKyAgICAgICAgaWYgKG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQp
IHsKKyAgICAgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSBmYWxzZTsKKyAgICAg
ICAgICAgIFNpZ25hbFJlYWR5VG9TZW5kKHRoaXMpOworICAgICAgICB9CisgICAgfSk7Cit9CisK
K3ZvaWQgV2ViUGFja2V0U29ja2V0OjpzaWduYWxDb25uZWN0KCkKK3sKKyAgICBhdXRvKiBmYWN0
b3J5ID0gJm1fZmFjdG9yeTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVy
KCk7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgZmFjdG9y
eSwgaWRlbnRpZmllcl0oKSB7CisgICAgICAgIGlmICghZmFjdG9yeS0+d2ViUGFja2V0U29ja2V0
KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX3N0YXRlID0gU1RB
VEVfQ09OTkVDVEVEOworICAgICAgICBTaWduYWxDb25uZWN0KHRoaXMpOworICAgIH0pOworfQor
Cit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFsQ2xvc2UoaW50IGVycm9yKQoreworICAgIGF1
dG8qIGZhY3RvcnkgPSAmbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlk
ZW50aWZpZXIoKTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlz
LCBmYWN0b3J5LCBpZGVudGlmaWVyLCBlcnJvcl0oKSB7CisgICAgICAgIGlmICghZmFjdG9yeS0+
d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBtX3N0YXRlID0gU1RBVEVfQ0xPU0VEOworICAgICAgICBTaWduYWxDbG9zZSh0aGlzLCBlcnJv
cik7CisgICAgfSk7Cit9CisKK0lQQzo6Q29ubmVjdGlvbiogV2ViUGFja2V0U29ja2V0OjptZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbigpCit7CisgICAgcmV0dXJuICZXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsKK30KKworc3RhdGljIGlubGlu
ZSBTdHJpbmcgYXV0aEtleShjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpCit7Cisg
ICAgaWYgKG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkuc2l6ZSgpIDw9
IDApCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIFN0cmluZyhvcHRpb25zLnBhY2tl
dF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfa2V5LmRhdGEoKSwgb3B0aW9ucy5wYWNrZXRfdGltZV9w
YXJhbXMuc3J0cF9hdXRoX2tleS5zaXplKCkpOworfQorCisKK2Jvb2wgV2ViUGFja2V0U29ja2V0
Ojp3aWxsU2VuZChzaXplX3Qgc2l6ZSkKK3sKKyAgICBpZiAoc2l6ZSA+IG1fYXZhaWxhYmxlU2Vu
ZGluZ0J5dGVzKSB7CisgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSB0cnVlOwor
ICAgICAgICBzZXRFcnJvcihFV09VTERCTE9DSyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgLT0gc2l6ZTsKKyAgICBtX2JlaW5nU2Vu
dFBhY2tldFNpemVzLmFwcGVuZChzaXplKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW50IFdl
YlBhY2tldFNvY2tldDo6U2VuZFRvKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMm
IG9wdGlvbnMpCit7CisgICAgaWYgKCF3aWxsU2VuZChzaXplKSkKKyAgICAgICAgcmV0dXJuIC0x
OworCisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShzdGF0
aWNfY2FzdDxjb25zdCB1aW50OF90Kj4odmFsdWUpLCBzaXplKTsKKyAgICBhdXRvIGlkZW50aWZp
ZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlm
aWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIG9wdGlvbnNdIHsKKyAgICAg
ICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90
Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSk7CisgICAgICAgIFN0cmluZyBzcnRw
QXV0aEtleSA9IGF1dGhLZXkob3B0aW9ucyk7CisgICAgICAgIE1lc3NhZ2VzOjpOZXR3b3JrUGFj
a2V0U29ja2V0OjpTZW5kVG8gbWVzc2FnZShkYXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRk
cmVzcy5pcGFkZHIoKSksIGFkZHJlc3MucG9ydCgpLCBvcHRpb25zLnBhY2tldF9pZCwgb3B0aW9u
cy5wYWNrZXRfdGltZV9wYXJhbXMucnRwX3NlbmR0aW1lX2V4dGVuc2lvbl9pZCwgc3J0cEF1dGhL
ZXksIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfcGFja2V0X2luZGV4LCBvcHRpb25z
LmRzY3ApOworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlv
bigpLmNvbm5lY3Rpb24oKS5zZW5kKFdURk1vdmUobWVzc2FnZSksIGlkZW50aWZpZXIpOworICAg
IH0pOworICAgIHJldHVybiBzaXplOworfQorCitpbnQgV2ViUGFja2V0U29ja2V0OjpDbG9zZSgp
Cit7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOworICAgIGNhbGxP
bk1haW5UaHJlYWQoW2lkZW50aWZpZXJdIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29y
a1BhY2tldFNvY2tldDo6Q2xvc2UoKSwgaWRlbnRpZmllcik7CisgICAgfSk7CisgICAgcmV0dXJu
IDA7Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OkdldE9wdGlvbihydGM6OlNvY2tldDo6T3B0
aW9uIG9wdGlvbiwgaW50KiB2YWx1ZSkKK3sKKyAgICBBU1NFUlQob3B0aW9uIDwgTUFYX1NPQ0tF
VF9PUFRJT04pOworICAgIGludCBzdG9yZWRWYWx1ZSA9IG1fb3B0aW9uc1tvcHRpb25dOworICAg
IGlmIChzdG9yZWRWYWx1ZSAhPSAtMSkKKyAgICAgICAgKnZhbHVlID0gbV9vcHRpb25zW29wdGlv
bl07CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbihy
dGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50IHZhbHVlKQoreworICAgIEFTU0VSVChvcHRp
b24gPCBNQVhfU09DS0VUX09QVElPTik7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBv
cHRpb24sIHZhbHVlXSB7CisgICAgICAgIG1fb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7CisgICAg
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlv
bigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbihvcHRpb24s
IHZhbHVlKSwgbV9pZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gMDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5U
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJQYWNrZXRTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUGFja2V0U29ja2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNjY3N2JhODAyOGNjYmU0NGM4Njg3ZGY5
ZjQwYmYyMDk1OTIyYzY3MQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmgKQEAgLTAsMCArMSwxMDggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIEVOQUJMRShMSUJXRUJSVENfRU5EUE9J
TlQpCisKKyNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDTmV0d29yay5o
IgorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2luY2x1ZGUgPHd0Zi9G
b3J3YXJkLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERh
dGFSZWZlcmVuY2U7CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgV2ViUGFja2V0U29ja2V0RmFjdG9yeTsKKworY2xhc3MgV2ViUGFja2V0U29ja2V0IGZp
bmFsIDogcHVibGljIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VT
ZW5kZXIgeworcHVibGljOgorICAgIGVudW0gY2xhc3MgVHlwZSB7IFVEUCwgU2VydmVyVENQLCBD
bGllbnRUQ1AgfTsKKworICAgIFdlYlBhY2tldFNvY2tldChXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
JiwgVHlwZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0
Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcyk7CisgICAgfldlYlBhY2tldFNvY2tldCgp
OworCisgICAgdm9pZCBzZXRFcnJvcihpbnQgZXJyb3IpIHsgbV9lcnJvciA9IGVycm9yOyB9CisK
KyAgICB2b2lkIHNldElkZW50aWZpZXIodWludDY0X3QgaWRlbnRpZmllcikgeyBtX2lkZW50aWZp
ZXIgPSBpZGVudGlmaWVyOyB9CisgICAgdWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1faWRlbnRpZmllcjsgfQorCisgICAgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2Nh
bEFkZHJlc3MoKSBjb25zdCB7IHJldHVybiBtX2xvY2FsQWRkcmVzczsgfQorICAgIGNvbnN0IHJ0
Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVtb3Rl
QWRkcmVzczsgfQorCisgICAgdm9pZCBkaWRSZWNlaXZlV2ViUGFja2V0U29ja2V0TWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworICAgIHZvaWQgc2V0U3RhdGUoU3Rh
dGUgc3RhdGUpIHsgbV9zdGF0ZSA9IHN0YXRlOyB9CisKK3ByaXZhdGU6CisgICAgdWludDY0X3Qg
bWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBmaW5hbCB7IHJldHVybiBpZGVudGlmaWVyKCk7
IH0KKyAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgZmluYWw7
CisKKyAgICB2b2lkIHNpZ25hbFJlYWRQYWNrZXQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwg
Y29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgdWludDE2X3QgcG9ydCwgaW50NjRfdCk7Cisg
ICAgdm9pZCBzaWduYWxTZW50UGFja2V0KGludCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxB
ZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzaWduYWxDb25uZWN0KCk7Cisg
ICAgdm9pZCBzaWduYWxDbG9zZShpbnQpOworCisgICAgYm9vbCB3aWxsU2VuZChzaXplX3QpOwor
CisgICAgLy8gQXN5bmNQYWNrZXRTb2NrZXQgQVBJCisgICAgaW50IEdldEVycm9yKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9lcnJvcjsgfQorICAgIHZvaWQgU2V0RXJyb3IoaW50IGVycm9yKSBm
aW5hbCB7IHNldEVycm9yKGVycm9yKTsgfQorICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBHZXRMb2Nh
bEFkZHJlc3MoKSBjb25zdCBmaW5hbDsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgR2V0UmVtb3Rl
QWRkcmVzcygpIGNvbnN0IGZpbmFsOworICAgIGludCBTZW5kKGNvbnN0IHZvaWQgKnB2LCBzaXpl
X3QgY2IsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykgZmluYWwgeyByZXR1cm4g
U2VuZFRvKHB2LCBjYiwgbV9yZW1vdGVBZGRyZXNzLCBvcHRpb25zKTsgfQorICAgIGludCBTZW5k
VG8oY29uc3Qgdm9pZCAqLCBzaXplX3QsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNvbnN0
IHJ0Yzo6UGFja2V0T3B0aW9ucyYpIGZpbmFsOworICAgIGludCBDbG9zZSgpIGZpbmFsOworICAg
IFN0YXRlIEdldFN0YXRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIGlu
dCBHZXRPcHRpb24ocnRjOjpTb2NrZXQ6Ok9wdGlvbiwgaW50KikgZmluYWw7CisgICAgaW50IFNl
dE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uLCBpbnQpIGZpbmFsOworCisgICAgV2ViUGFja2V0
U29ja2V0RmFjdG9yeSYgbV9mYWN0b3J5OworICAgIFR5cGUgbV90eXBlOworICAgIHJ0Yzo6U29j
a2V0QWRkcmVzcyBtX2xvY2FsQWRkcmVzczsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9yZW1v
dGVBZGRyZXNzOworCisgICAgdWludDY0X3QgbV9pZGVudGlmaWVyIHsgMCB9OworICAgIGludCBt
X2Vycm9yIHsgMCB9OworICAgIFN0YXRlIG1fc3RhdGUgeyBTVEFURV9CSU5ESU5HIH07CisKKyAg
ICBzdGF0aWMgY29uc3QgdW5zaWduZWQgTUFYX1NPQ0tFVF9PUFRJT04geyBydGM6OkFzeW5jU29j
a2V0OjpPUFRfUlRQX1NFTkRUSU1FX0VYVE5fSUQgKyAxIH07CisgICAgaW50IG1fb3B0aW9uc1tN
QVhfU09DS0VUX09QVElPTl07CisKKyAgICBEZXF1ZTxzaXplX3Q+IG1fYmVpbmdTZW50UGFja2V0
U2l6ZXM7CisgICAgc2l6ZV90IG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzIHsgNjU1MzYgfTsKKyAg
ICBib29sIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgeyBmYWxzZSB9OworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQ
YWNrZXRTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOWUyNWU4
YzJiMmQ1ZTA1Y2VhNjk2ZTU5NjcwNDNjYjk5OTNhODU5Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVz
c2FnZXMuaW4KQEAgLTAsMCArMSwzMyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFy
ZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IK
KyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZF
UgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorCisjaWYgRU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkKKworbWVzc2FnZXMgLT4g
V2ViUGFja2V0U29ja2V0IExlZ2FjeVJlY2VpdmVyIHsKKyAgICBTaWduYWxSZWFkUGFja2V0KElQ
Qzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBhZGRy
ZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBTaWduYWxTZW50UGFj
a2V0KGludCBwYWNrZXRTaXplLCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBTaWduYWxBZGRyZXNz
UmVhZHkoU3RyaW5nIGFkZHJlc3MpCisgICAgU2lnbmFsQ29ubmVjdCgpCisgICAgU2lnbmFsQ2xv
c2UoaW50IGVycm9yKQorfQorCisjZW5kaWYgLy8gRU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UGFja2V0U29ja2V0RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjA0NTIwODQ5
Nzc5ODc1YmZiZDJjOTY5YTA2OWE2ZTNjOWU1ZGU1NGUKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3Rv
cnkuY3BwCkBAIC0wLDAgKzEsMjA0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKworI2lmIEVOQUJMRShMSUJX
RUJSVENfRU5EUE9JTlQpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
c01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIK
KyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJXZWJQYWNr
ZXRTb2NrZXQuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViUlRDU3Ry
YXRlZ3kuaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKwordWludDY0X3QgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6c191bmlxdWVTb2NrZXRJZGVu
dGlmaWVyID0gMDsKK3VpbnQ2NF90IFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OnNfdW5pcXVlUmVz
b2x2ZXJJZGVudGlmaWVyID0gMDsKKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogV2ViUGFja2V0
U29ja2V0RmFjdG9yeTo6Q3JlYXRlU2VydmVyVGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRk
cmVzcyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9w
dGlvbnMpCit7CisgICAgYXV0byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNv
Y2tldD4oKnRoaXMsIFdlYlBhY2tldFNvY2tldDo6VHlwZTo6U2VydmVyVENQLCBhZGRyZXNzLCBy
dGM6OlNvY2tldEFkZHJlc3MoKSk7CisgICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5n
ZXQoKTsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG1pblBv
cnQsIG1heFBvcnQsIG9wdGlvbnNdKCkgeworICAgICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMu
cmVtb3ZlRmlyc3Qoc29ja2V0UG9pbnRlcikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAg
ICAgc29ja2V0UG9pbnRlci0+c2V0SWRlbnRpZmllcigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmll
cik7CisgICAgICAgIGF1dG8gYWRkcmVzc1N0cmluZyA9IHNvY2tldFBvaW50ZXItPmxvY2FsQWRk
cmVzcygpLlRvU3RyaW5nKCk7CisKKyAgICAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRlU2VydmVyVENQU29ja2V0KHNvY2tldFBvaW50
ZXItPmlkZW50aWZpZXIoKSwgU3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3Ry
aW5nLmxlbmd0aCgpKSwgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucyksIDApKSB7CisgICAgICAg
ICAgICBzb2NrZXRQb2ludGVyLT5zZXRFcnJvcigxKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgfQorCisgICAgICAgIG1fc29ja2V0cy5zZXQoc29ja2V0UG9pbnRlci0+aWRlbnRpZmll
cigpLCBzb2NrZXRQb2ludGVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2Uo
KTsKK30KKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6
Q3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgdWludDE2
X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKK3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6
bWFrZV91bmlxdWU8V2ViUGFja2V0U29ja2V0PigqdGhpcywgV2ViUGFja2V0U29ja2V0OjpUeXBl
OjpVRFAsIGFkZHJlc3MsIHJ0Yzo6U29ja2V0QWRkcmVzcygpKTsKKyAgICBhdXRvKiBzb2NrZXRQ
b2ludGVyID0gc29ja2V0LmdldCgpOworCisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgc29j
a2V0UG9pbnRlciwgbWluUG9ydCwgbWF4UG9ydF0oKSB7CisgICAgICAgIGlmICghbV9wZW5kaW5n
U29ja2V0cy5yZW1vdmVGaXJzdChzb2NrZXRQb2ludGVyKSkKKyAgICAgICAgICAgIHJldHVybjsK
KworICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRJZGVudGlmaWVyKCsrc191bmlxdWVTb2NrZXRJ
ZGVudGlmaWVyKTsKKyAgICAgICAgYXV0byBhZGRyZXNzU3RyaW5nID0gc29ja2V0UG9pbnRlci0+
bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVVRFBTb2NrZXQoc29ja2V0UG9p
bnRlci0+aWRlbnRpZmllcigpLCBTdHJpbmcoYWRkcmVzc1N0cmluZy5kYXRhKCksIGFkZHJlc3NT
dHJpbmcubGVuZ3RoKCkpLCBtaW5Qb3J0LCBtYXhQb3J0KSwgMCkpIHsKKyAgICAgICAgICAgIHNv
Y2tldFBvaW50ZXItPnNldEVycm9yKDEpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9
CisKKyAgICAgICAgbV9zb2NrZXRzLnNldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCksIHNv
Y2tldFBvaW50ZXIpOworICAgIH0pOworICAgIHJldHVybiBzb2NrZXQucmVsZWFzZSgpOworfQor
CitydGM6OkFzeW5jUGFja2V0U29ja2V0KiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpDcmVhdGVD
bGllbnRUY3BTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcywgY29uc3QgcnRjOjpQcm94eUlu
Zm8mLCBjb25zdCBzdGQ6OnN0cmluZyYsIGludCBvcHRpb25zKQoreworICAgIGF1dG8gc29ja2V0
ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJQYWNrZXRTb2NrZXQ+KCp0aGlzLCBXZWJQYWNrZXRTb2Nr
ZXQ6OlR5cGU6OkNsaWVudFRDUCwgbG9jYWxBZGRyZXNzLCByZW1vdGVBZGRyZXNzKTsKKyAgICBh
dXRvKiBzb2NrZXRQb2ludGVyID0gc29ja2V0LmdldCgpOworCisgICAgY2FsbE9uTWFpblRocmVh
ZChbdGhpcywgc29ja2V0UG9pbnRlciwgb3B0aW9uc10oKSB7CisgICAgICAgIGlmICghbV9wZW5k
aW5nU29ja2V0cy5yZW1vdmVGaXJzdChzb2NrZXRQb2ludGVyKSkKKyAgICAgICAgICAgIHJldHVy
bjsKKworICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRJZGVudGlmaWVyKCsrc191bmlxdWVTb2Nr
ZXRJZGVudGlmaWVyKTsKKworICAgICAgICBhdXRvIGxvY2FsQWRkcmVzc1N0cmluZyA9IHNvY2tl
dFBvaW50ZXItPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7CisgICAgICAgIGF1dG8gcmVtb3Rl
QWRkcmVzc1N0cmluZyA9IHNvY2tldFBvaW50ZXItPnJlbW90ZUFkZHJlc3MoKS5Ub1N0cmluZygp
OworCisgICAgICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rp
b24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OkNyZWF0ZUNsaWVudFRDUFNvY2tldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCks
IFN0cmluZyhsb2NhbEFkZHJlc3NTdHJpbmcuZGF0YSgpLCBsb2NhbEFkZHJlc3NTdHJpbmcubGVu
Z3RoKCkpLCBTdHJpbmcocmVtb3RlQWRkcmVzc1N0cmluZy5kYXRhKCksIHJlbW90ZUFkZHJlc3NT
dHJpbmcubGVuZ3RoKCkpLCBvcHRpb25zKSwgMCkpIHsKKyAgICAgICAgICAgIHNvY2tldFBvaW50
ZXItPnNldEVycm9yKDEpOworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAg
ICAgc29ja2V0UG9pbnRlci0+c2V0U3RhdGUoV2ViUGFja2V0U29ja2V0OjpTVEFURV9DT05ORUNU
SU5HKTsKKyAgICAgICAgbV9zb2NrZXRzLnNldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCks
IHNvY2tldFBvaW50ZXIpOworCisgICAgfSk7CisKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2Uo
KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpkZXRhY2goV2ViUGFja2V0U29j
a2V0JiBzb2NrZXQpCit7CisgICAgaWYgKHNvY2tldC5pZGVudGlmaWVyKCkpCisgICAgICAgIG1f
c29ja2V0cy5yZW1vdmUoc29ja2V0LmlkZW50aWZpZXIoKSk7CisgICAgZWxzZQorICAgICAgICBt
X3BlbmRpbmdTb2NrZXRzLnJlbW92ZUZpcnN0KCZzb2NrZXQpOworfQorCitydGM6OkFzeW5jUmVz
b2x2ZXJJbnRlcmZhY2UqIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZUFzeW5jUmVzb2x2
ZXIoKQoreworICAgIGF1dG8qIHJlc29sdmVyID0gbmV3IFdlYkFzeW5jUmVzb2x2ZXIoKytzX3Vu
aXF1ZVJlc29sdmVySWRlbnRpZmllcik7CisgICAgbV9yZXNvbHZlcnMuc2V0KHJlc29sdmVyLT5p
ZGVudGlmaWVyKCksIHN0ZDo6dW5pcXVlX3B0cjxXZWJBc3luY1Jlc29sdmVyPihyZXNvbHZlcikp
OworICAgIHJldHVybiByZXNvbHZlcjsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
OjpnZXRSZXNvbHZlZEFkZHJlc3ModWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgVmVjdG9yPFJU
Q05ldHdvcms6OklQQWRkcmVzcz4mIGFkZHJlc3NlcykKK3sKKyAgICBXZWJDb3JlOjpjYWxsT25X
ZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBhZGRyZXNzZXNdKCkgeworICAg
ICAgICBhdXRvKiByZXNvbHZlciA9IG1fcmVzb2x2ZXJzLmdldChpZGVudGlmaWVyKTsKKyAgICAg
ICAgaWYgKCFyZXNvbHZlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgVmVjdG9yPHJ0
Yzo6SVBBZGRyZXNzPiBpcEFkZHJlc3NlczsKKyAgICAgICAgaXBBZGRyZXNzZXMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShhZGRyZXNzZXMuc2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBhZGRy
ZXNzIDogYWRkcmVzc2VzKQorICAgICAgICAgICAgaXBBZGRyZXNzZXMudW5jaGVja2VkQXBwZW5k
KGFkZHJlc3MudmFsdWUpOworCisgICAgICAgIHJlc29sdmVyLT5zZXRSZXNvbHZlZEFkZHJlc3Nl
cyhXVEZNb3ZlKGlwQWRkcmVzc2VzKSk7CisgICAgICAgIHJlc29sdmVyLT5TaWduYWxEb25lKHJl
c29sdmVyKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpyZXNv
bHZlZEFkZHJlc3NFcnJvcih1aW50NjRfdCBpZGVudGlmaWVyLCBpbnQgZXJyb3IpCit7CisgICAg
V2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgZXJy
b3JdKCkgeworICAgICAgICBhdXRvKiByZXNvbHZlciA9IG1fcmVzb2x2ZXJzLmdldChpZGVudGlm
aWVyKTsKKyAgICAgICAgaWYgKCFyZXNvbHZlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgcmVzb2x2ZXItPnNldEVycm9yKGVycm9yKTsKKyAgICAgICAgcmVzb2x2ZXItPlNpZ25hbERv
bmUocmVzb2x2ZXIpOworICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6
OldlYkFzeW5jUmVzb2x2ZXI6OlN0YXJ0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVz
cykKK3sKKyAgICBtX2lzUmVzb2x2aW5nID0gdHJ1ZTsKKyAgICBtX2FkZHJlc3NUb1Jlc29sdmUg
PSBhZGRyZXNzOworICAgIG1fcG9ydCA9IGFkZHJlc3MucG9ydCgpOworICAgIGF1dG8gaWRlbnRp
ZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBh
ZGRyZXNzXSgpIHsKKyAgICAgICAgYXV0byBhZGRyZXNzU3RyaW5nID0gYWRkcmVzcy5Ib3N0QXNV
UklTdHJpbmcoKTsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5l
Y3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OkNyZWF0ZUFzeW5jUmVzb2x2ZXIoaWRlbnRpZmllciwgU3RyaW5nKGFkZHJlc3NT
dHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSksIDApOworICAgIH0pOworfQor
Citib29sIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6OkdldFJlc29s
dmVkQWRkcmVzcyhpbnQgZmFtaWx5LCBydGM6OlNvY2tldEFkZHJlc3MqIGFkZHJlc3MpIGNvbnN0
Cit7CisgICAgQVNTRVJUKGFkZHJlc3MpOworICAgIGlmIChtX2Vycm9yIHx8ICFtX2FkZHJlc3Nl
cy5zaXplKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICphZGRyZXNzID0gbV9hZGRy
ZXNzVG9SZXNvbHZlOworICAgIGZvciAoYXV0byYgaXBBZGRyZXNzIDogbV9hZGRyZXNzZXMpIHsK
KyAgICAgICAgaWYgKGZhbWlseSA9PSBpcEFkZHJlc3MuZmFtaWx5KCkpIHsKKyAgICAgICAgICAg
IGFkZHJlc3MtPlNldFJlc29sdmVkSVAoaXBBZGRyZXNzKTsKKyAgICAgICAgICAgIGFkZHJlc3Mt
PlNldFBvcnQobV9wb3J0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9Cisg
ICAgfQorICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
OjpXZWJBc3luY1Jlc29sdmVyOjpEZXN0cm95KGJvb2wpCit7CisgICAgV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkud2ViUlRDU3RyYXRlZ3koKS5zb2NrZXRGYWN0b3J5KCkuc3RvcFJlc29sdmVyKG1f
aWRlbnRpZmllcik7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6c3RvcFJlc29s
dmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgYXV0byByZXNvbHZlciA9IG1fcmVzb2x2
ZXJzLnRha2UoaWRlbnRpZmllcik7CisgICAgQVNTRVJUKHJlc29sdmVyKTsKKyAgICBpZiAocmVz
b2x2ZXItPmlzUmVzb2x2aW5nKCkpIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbaWRlbnRp
Zmllcl0oKSB7CisgICAgICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29u
bmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6U3RvcEFzeW5jUmVzb2x2ZXIoaWRlbnRpZmllciksIDApOworICAgICAgICB9
KTsKKyAgICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5BQkxF
KExJQldFQlJUQ19FTkRQT0lOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZDIxYTkxOTBkMzMwMjBhNDgzMjMxMTVjZjEzNDg5MDIxYWZlMzQzMAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UGFja2V0U29ja2V0RmFjdG9yeS5oCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJh
Z21hIG9uY2UKKworI2lmIEVOQUJMRShMSUJXRUJSVENfRU5EUE9JTlQpCisKKyNpbmNsdWRlICJS
VENOZXR3b3JrLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2lu
Y2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jh
c2UvcGFja2V0c29ja2V0ZmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5j
bHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQXN5
bmNSZXNvbHZlcjsKK2NsYXNzIFdlYlBhY2tldFNvY2tldDsKKworY2xhc3MgV2ViUGFja2V0U29j
a2V0RmFjdG9yeSBmaW5hbCA6IHB1YmxpYyBydGM6OlBhY2tldFNvY2tldEZhY3RvcnkgeworcHVi
bGljOgorICAgIFdlYlBhY2tldFNvY2tldEZhY3RvcnkoKSB7IH0KKworICAgIHZvaWQgYXR0YWNo
KFdlYlBhY2tldFNvY2tldCYgc29ja2V0KSB7IG1fcGVuZGluZ1NvY2tldHMuYXBwZW5kKCZzb2Nr
ZXQpOyB9CisgICAgdm9pZCBkZXRhY2goV2ViUGFja2V0U29ja2V0Jik7CisKKyAgICBXZWJQYWNr
ZXRTb2NrZXQqIHdlYlBhY2tldFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBt
X3NvY2tldHMuZ2V0KGlkZW50aWZpZXIpOyB9CisKKyAgICB2b2lkIGdldFJlc29sdmVkQWRkcmVz
cyh1aW50NjRfdCwgY29uc3QgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4mKTsKKyAgICB2
b2lkIHJlc29sdmVkQWRkcmVzc0Vycm9yKHVpbnQ2NF90LCBpbnQpOworCitwcml2YXRlOgorICAg
IHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNvY2tl
dEFkZHJlc3MmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KSBmaW5hbDsKKyAg
ICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiwgdWludDE2X3QgbWluX3BvcnQsIHVpbnQxNl90IG1heF9wb3J0LCBp
bnQgb3B0aW9ucykgZmluYWw7CisgICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlQ2xp
ZW50VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJbmZv
JiwgY29uc3Qgc3RkOjpzdHJpbmcmLCBpbnQgb3B0aW9ucyk7CisgICAgcnRjOjpBc3luY1Jlc29s
dmVySW50ZXJmYWNlKiBDcmVhdGVBc3luY1Jlc29sdmVyKCkgZmluYWw7CisgICAgdm9pZCBzdG9w
UmVzb2x2ZXIodWludDY0X3QpOworCisgICAgY2xhc3MgV2ViQXN5bmNSZXNvbHZlciBmaW5hbCA6
IHB1YmxpYyBydGM6OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UgeworICAgIHB1YmxpYzoKKyAgICAg
ICAgV2ViQXN5bmNSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSA6IG1faWRlbnRpZmllcihp
ZGVudGlmaWVyKSB7IH0KKworICAgICAgICB2b2lkIHNldEVycm9yKGludCBlcnJvcikgeyBtX2Vy
cm9yID0gZXJyb3I7IH0KKyAgICAgICAgdm9pZCBzZXRSZXNvbHZlZEFkZHJlc3NlcyhWZWN0b3I8
cnRjOjpJUEFkZHJlc3M+JiYgYWRkcmVzc2VzKSB7IG1fYWRkcmVzc2VzID0gV1RGTW92ZShhZGRy
ZXNzZXMpOyB9CisgICAgICAgIGJvb2wgaXNSZXNvbHZpbmcoKSBjb25zdCB7IHJldHVybiBtX2lz
UmVzb2x2aW5nOyB9CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVy
biBtX2lkZW50aWZpZXI7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgU3RhcnQoY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJikgZmluYWw7CisgICAgICAgIGJvb2wgR2V0UmVzb2x2ZWRB
ZGRyZXNzKGludCwgcnRjOjpTb2NrZXRBZGRyZXNzKikgY29uc3QgZmluYWw7CisgICAgICAgIGlu
dCBHZXRFcnJvcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICAgICAgdm9p
ZCBEZXN0cm95KGJvb2wpIGZpbmFsOworCisgICAgICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsK
KyAgICAgICAgVmVjdG9yPHJ0Yzo6SVBBZGRyZXNzPiBtX2FkZHJlc3NlczsKKyAgICAgICAgcnRj
OjpTb2NrZXRBZGRyZXNzIG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICAgICAgaW50IG1fZXJyb3Ig
eyAwIH07CisgICAgICAgIHVpbnQxNl90IG1fcG9ydCB7IDAgfTsKKyAgICAgICAgYm9vbCBtX2lz
UmVzb2x2aW5nIHsgZmFsc2UgfTsKKyAgICB9OworCisgICAgc3RhdGljIHVpbnQ2NF90IHNfdW5p
cXVlU29ja2V0SWRlbnRpZmllcjsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJQYWNrZXRTb2Nr
ZXQqPiBtX3NvY2tldHM7CisgICAgVmVjdG9yPFdlYlBhY2tldFNvY2tldCo+IG1fcGVuZGluZ1Nv
Y2tldHM7CisKKyAgICBzdGF0aWMgdWludDY0X3Qgc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXI7
CisgICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPFdlYkFzeW5jUmVzb2x2ZXI+
PiBtX3Jlc29sdmVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
RU5BQkxFKExJQldFQlJUQ19FTkRQT0lOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU3RyYXRlZ3kuY3BwIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTdHJhdGVneS5jcHAKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNDlhODM4NGY1YzljMDUzZDMwNDgyNWUyOTliYjIyYzE5OTIxYzUzYgotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU3Ry
YXRlZ3kuY3BwCkBAIC0wLDAgKzEsNzIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiV2ViUlRDU3RyYXRlZ3kuaCIKKworI2lmIEVOQUJMRShMSUJXRUJSVENf
RU5EUE9JTlQpCisKKyNpbmNsdWRlICJXZWJOZXR3b3JrTWFuYWdlci5oIgorI2luY2x1ZGUgIldl
YlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRp
bHMuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL1JUQ1N0cmF0ZWd5Lmg+CisKKyNpbmNsdWRlIDx3ZWJy
dGMvYXBpL3BlZXJjb25uZWN0aW9uZmFjdG9yeS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
dm9pZCBXZWJSVENTdHJhdGVneTo6aW5pdGlhbGl6ZSgpCit7CisgICAgaWYgKG1fc29ja2V0RmFj
dG9yeSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zb2NrZXRGYWN0b3J5ID0gc3RkOjptYWtl
X3VuaXF1ZTxXZWJQYWNrZXRTb2NrZXRGYWN0b3J5PigpOworICAgIG1fd2ViTmV0d29ya01hbmFn
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYk5ldHdvcmtNYW5hZ2VyPigpOworfQorCitXZWJQYWNr
ZXRTb2NrZXQqIFdlYlJUQ1N0cmF0ZWd5Ojp3ZWJQYWNrZXRTb2NrZXRGb3JJZGVudGlmaWVyKHVp
bnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKG1fc29ja2V0RmFjdG9yeSk7CisgICAg
cmV0dXJuIG1fc29ja2V0RmFjdG9yeS0+d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIpOworfQor
CitXZWJOZXR3b3JrTWFuYWdlciYgV2ViUlRDU3RyYXRlZ3k6Om5ldHdvcmtNYW5hZ2VyKCkKK3sK
KyAgICBBU1NFUlQobV93ZWJOZXR3b3JrTWFuYWdlcik7CisgICAgcmV0dXJuICptX3dlYk5ldHdv
cmtNYW5hZ2VyOworfQorCitydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVjdGlv
bkludGVyZmFjZT4gV2ViUlRDU3RyYXRlZ3k6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKHdlYnJ0Yzo6
UGVlckNvbm5lY3Rpb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgLy8gTW9uaXRvcmluZyBv
ZiB0aGUgbmV0d29yayBpbnRlcmZhY2VzIHN0YXJ0cyBhdCBjcmVhdGlvbiBvZiB0aGUgZmlyc3Qg
cGVlciBjb25uZWN0aW9uIHVudGlsIHRoZSBXZWIgUHJvY2VzcyBlbmRzLgorICAgIC8vIEZJWE1F
OiBEZWNpY2Ugd2hldGhlciB0aGlzIG1vZGVsIGlzIGdvb2QgZW5vdWdoIG9yIGlmIHdlIHdvdWxk
IHByZWZlciBzdG9wcGluZyBkb2luZyBzbyB3aGVuIHRoZSBsYXN0IHBlZXIgY29ubmVjdGlvbiBp
cyBjb2xsZWN0ZWQuCisgICAgaW5pdGlhbGl6ZSgpOworICAgIHJldHVybiBXZWJDb3JlOjpjcmVh
dGVQZWVyQ29ubmVjdGlvbihvYnNlcnZlciwgKm1fd2ViTmV0d29ya01hbmFnZXIsICptX3NvY2tl
dEZhY3RvcnkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIEVOQUJM
RShMSUJXRUJSVENfRU5EUE9JTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1N0cmF0ZWd5LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1N0cmF0ZWd5LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTMyYzQ4
MjY5YTY0NmEzMTIwMmQxMTEyNGEyYTViNjI3MmVhYjY5NwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU3RyYXRlZ3kuaApA
QCAtMCwwICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBFTkFCTEUo
TElCV0VCUlRDX0VORFBPSU5UKQorCisjaW5jbHVkZSAiV2ViTmV0d29ya01hbmFnZXIuaCIKKyNp
bmNsdWRlICJXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xp
YldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SVENTdHJhdGVneS5oPgorCisjaW5j
bHVkZSA8d2VicnRjL2FwaS9wZWVyY29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIFdlYlJUQ1N0cmF0ZWd5IDogcHVibGljIFdlYkNvcmU6OlJUQ1N0cmF0
ZWd5IHsKK3B1YmxpYzoKKyAgICBXZWJSVENTdHJhdGVneSgpIHsgfQorCisgICAgV2ViUGFja2V0
U29ja2V0KiB3ZWJQYWNrZXRTb2NrZXRGb3JJZGVudGlmaWVyKHVpbnQ2NF90KTsKKyAgICBXZWJO
ZXR3b3JrTWFuYWdlciYgbmV0d29ya01hbmFnZXIoKTsKKyAgICBXZWJQYWNrZXRTb2NrZXRGYWN0
b3J5JiBzb2NrZXRGYWN0b3J5KCkgY29uc3QgeyByZXR1cm4gKm1fc29ja2V0RmFjdG9yeTsgfQor
CisgICAgdm9pZCBkaWRSZWNlaXZlV2ViUlRDU3RyYXRlZ3lNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOworCitwcml2YXRlOgorICAgIHZvaWQgaW5pdGlhbGl6ZSgpOwor
ICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBj
cmVhdGVQZWVyQ29ubmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImKTsKKwor
ICAgIHZvaWQgZ2V0UmVzb2x2ZWRBZGRyZXNzKHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0IFZl
Y3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMpIHsgbV9zb2NrZXRGYWN0b3J5
LT5nZXRSZXNvbHZlZEFkZHJlc3MoaWRlbnRpZmllciwgYWRkcmVzc2VzKTsgfQorICAgIHZvaWQg
cmVzb2x2ZWRBZGRyZXNzRXJyb3IodWludDY0X3QgaWRlbnRpZmllciwgaW50IGVycm9yKSB7IG1f
c29ja2V0RmFjdG9yeS0+cmVzb2x2ZWRBZGRyZXNzRXJyb3IoaWRlbnRpZmllciwgZXJyb3IpOyB9
CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViUGFja2V0U29ja2V0RmFjdG9yeT4gbV9zb2NrZXRG
YWN0b3J5OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJOZXR3b3JrTWFuYWdlcj4gbV93ZWJOZXR3
b3JrTWFuYWdlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gRU5B
QkxFKExJQldFQlJUQ19FTkRQT0lOVCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU3RyYXRlZ3kubWVzc2FnZXMuaW4gYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1N0cmF0ZWd5Lm1lc3NhZ2Vz
LmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjNlMzkxYWNkMjJiYjkxOGJlOTI0NzQ1ZmQ3YzFkNjM3ZWMxNTE1M2UK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlJUQ1N0cmF0ZWd5Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzAgQEAKKyMgQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMg
Mi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJF
CisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIEVOQUJMRShMSUJXRUJSVENfRU5E
UE9JTlQpCisKK21lc3NhZ2VzIC0+IFdlYlJUQ1N0cmF0ZWd5IExlZ2FjeVJlY2VpdmVyIHsKKyAg
ICB2b2lkIEdldFJlc29sdmVkQWRkcmVzcyh1aW50NjRfdCBpZGVudGlmaWVyLCBWZWN0b3I8V2Vi
S2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M+IGFkZHJlc3NlcykKKyAgICB2b2lkIFJlc29sdmVk
QWRkcmVzc0Vycm9yKHVpbnQ2NF90IGlkZW50aWZpZXIsIGludCBlcnJvcikKK30KKworI2VuZGlm
IC8vIEVOQUJMRShMSUJXRUJSVENfRU5EUE9JTlQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRl
Z2llcy5jcHAKaW5kZXggMzg1NzBhNzcyODdjNTk0N2ZhMzkxNmRiYjAwZWUzOGRkNjgyOWNhOC4u
YjRlMzMxYjVkMzJlZjFlZmIzZThiOTNhMDQ4ZDk3ZjJjNjBmZjNhZiAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UGxhdGZvcm1TdHJhdGVnaWVzLmNwcApAQCAtNDYsNiArNDYsNyBAQAogI2luY2x1ZGUgIldlYlBh
c3RlYm9hcmRQcm94eU1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgogI2luY2x1
ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUlRDU3RyYXRlZ3ku
aCIKICNpbmNsdWRlIDxXZWJDb3JlL0NvbG9yLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Eb2N1bWVu
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvRG9jdW1lbnRMb2FkZXIuaD4KQEAgLTkyLDYgKzkzLDEx
IEBAIENvb2tpZXNTdHJhdGVneSogV2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVDb29raWVz
U3RyYXRlZ3koKQogICAgIHJldHVybiB0aGlzOwogfQogCitXZWJDb3JlOjpSVENTdHJhdGVneSYg
V2ViUGxhdGZvcm1TdHJhdGVnaWVzOjpjcmVhdGVSVENTdHJhdGVneSgpCit7CisgICAgcmV0dXJu
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYlJUQ1N0cmF0ZWd5KCk7Cit9CisKIExvYWRlclN0
cmF0ZWd5KiBXZWJQbGF0Zm9ybVN0cmF0ZWdpZXM6OmNyZWF0ZUxvYWRlclN0cmF0ZWd5KCkKIHsK
ICAgICByZXR1cm4gJldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvYWRlclN0cmF0ZWd5KCk7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBsYXRmb3JtU3RyYXRlZ2llcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaAppbmRleCA4ZDMwMDIxZjgwZWNhNzgwNDI0
ODQ1YWJjYzY3ODBjMzJhNjc2NzJhLi5jYzFlMjFmMzBmN2UyYjQwMTRkZTExZTczYWJkNDdkMDdj
MzdhMTY2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmgKQEAgLTMwLDIzICszMCwy
NSBAQAogI2luY2x1ZGUgPFdlYkNvcmUvTG9hZGVyU3RyYXRlZ3kuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1Bhc3RlYm9hcmRTdHJhdGVneS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJh
dGVnaWVzLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9SVENTdHJhdGVneS5oPgogI2luY2x1ZGUgPHd0
Zi9OZXZlckRlc3Ryb3llZC5oPgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIAotY2xhc3MgV2ViUGxh
dGZvcm1TdHJhdGVnaWVzIDogcHVibGljIFdlYkNvcmU6OlBsYXRmb3JtU3RyYXRlZ2llcywgcHJp
dmF0ZSBXZWJDb3JlOjpDb29raWVzU3RyYXRlZ3ksIHByaXZhdGUgV2ViQ29yZTo6UGFzdGVib2Fy
ZFN0cmF0ZWd5IHsKK2NsYXNzIFdlYlBsYXRmb3JtU3RyYXRlZ2llcyBmaW5hbCA6IHB1YmxpYyBX
ZWJDb3JlOjpQbGF0Zm9ybVN0cmF0ZWdpZXMsIHByaXZhdGUgV2ViQ29yZTo6Q29va2llc1N0cmF0
ZWd5LCBwcml2YXRlIFdlYkNvcmU6OlBhc3RlYm9hcmRTdHJhdGVneSB7CiAgICAgZnJpZW5kIGNs
YXNzIE5ldmVyRGVzdHJveWVkPFdlYlBsYXRmb3JtU3RyYXRlZ2llcz47CiBwdWJsaWM6CiAgICAg
c3RhdGljIHZvaWQgaW5pdGlhbGl6ZSgpOwotICAgIAorCiBwcml2YXRlOgogICAgIFdlYlBsYXRm
b3JtU3RyYXRlZ2llcygpOwotICAgIAorCiAgICAgLy8gV2ViQ29yZTo6UGxhdGZvcm1TdHJhdGVn
aWVzCiAgICAgV2ViQ29yZTo6Q29va2llc1N0cmF0ZWd5KiBjcmVhdGVDb29raWVzU3RyYXRlZ3ko
KSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpMb2FkZXJTdHJhdGVneSogY3JlYXRlTG9hZGVyU3Ry
YXRlZ3koKSBvdmVycmlkZTsKICAgICBXZWJDb3JlOjpQYXN0ZWJvYXJkU3RyYXRlZ3kqIGNyZWF0
ZVBhc3RlYm9hcmRTdHJhdGVneSgpIG92ZXJyaWRlOwogICAgIFdlYkNvcmU6OkJsb2JSZWdpc3Ry
eSogY3JlYXRlQmxvYlJlZ2lzdHJ5KCkgb3ZlcnJpZGU7CisgICAgV2ViQ29yZTo6UlRDU3RyYXRl
Z3kmIGNyZWF0ZVJUQ1N0cmF0ZWd5KCkgZmluYWw7CiAKICAgICAvLyBXZWJDb3JlOjpDb29raWVz
U3RyYXRlZ3kKICAgICBTdHJpbmcgY29va2llc0ZvckRPTShjb25zdCBXZWJDb3JlOjpOZXR3b3Jr
U3RvcmFnZVNlc3Npb24mLCBjb25zdCBXZWJDb3JlOjpVUkwmIGZpcnN0UGFydHksIGNvbnN0IFdl
YkNvcmU6OlVSTCYpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggM2U1Y2JhZGFiMjQ0NDI4NjA1MDEzNzAyZTkzNDUwMjNmMTYwYjI5Mi4uYjI5
Njc0MTgyNTc0ZDE0NDY0MjUyZTIzOTcxYThhMmFkYjFlNzFlNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC02Miw2ICs2Miw3IEBACiAjaW5jbHVkZSAiV2Vi
UHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2xNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUlRDU3Ry
YXRlZ3kuaCIKICNpbmNsdWRlICJXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdl
cy5oIgogI2luY2x1ZGUgIldlYnNpdGVEYXRhLmgiCiAjaW5jbHVkZSAiV2Vic2l0ZURhdGFUeXBl
LmgiCkBAIC0xNjAsNiArMTYxLDcgQEAgV2ViUHJvY2Vzczo6V2ViUHJvY2VzcygpCiAjZW5kaWYK
ICAgICAsIG1faWNvbkRhdGFiYXNlUHJveHkoKm5ldyBXZWJJY29uRGF0YWJhc2VQcm94eSgqdGhp
cykpCiAgICAgLCBtX3dlYkxvYWRlclN0cmF0ZWd5KCpuZXcgV2ViTG9hZGVyU3RyYXRlZ3kpCisg
ICAgLCBtX3dlYlJUQ1N0cmF0ZWd5KCpuZXcgV2ViUlRDU3RyYXRlZ3kpCiAgICAgLCBtX2Ruc1By
ZWZldGNoSHlzdGVyZXJpcyhbdGhpc10oSHlzdGVyZXNpc1N0YXRlIHN0YXRlKSB7IGlmIChzdGF0
ZSA9PSBIeXN0ZXJlc2lzU3RhdGU6OlN0b3BwZWQpIG1fZG5zUHJlZmV0Y2hlZEhvc3RzLmNsZWFy
KCk7IH0pCiAjaWYgRU5BQkxFKE5FVFNDQVBFX1BMVUdJTl9BUEkpCiAgICAgLCBtX3BsdWdpblBy
b2Nlc3NDb25uZWN0aW9uTWFuYWdlcihQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXI6OmNy
ZWF0ZSgpKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNz
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA2ZWJjY2Ji
MjY5ZTlhMmYyZDQxNDE0OWYxNDNkNGM1YzgxNGIyMWM2Li5jMTk3YjA5MzhkNzJmNzA5YTEzM2U2
M2JkZjQ3ZmQ0MDcwMWNkZmE0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
aApAQCAtODYsNyArODYsMTAgQEAgY2xhc3MgV2ViTG9hZGVyU3RyYXRlZ3k7CiBjbGFzcyBXZWJQ
YWdlOwogY2xhc3MgV2ViUGFnZUdyb3VwUHJveHk7CiBjbGFzcyBXZWJQcm9jZXNzU3VwcGxlbWVu
dDsKK2NsYXNzIFdlYlJUQ1N0cmF0ZWd5OworCiBlbnVtIGNsYXNzIFdlYnNpdGVEYXRhVHlwZTsK
Kwogc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnM7CiBzdHJ1Y3QgV2ViUGFnZUdyb3Vw
RGF0YTsKIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0b3JlOwpAQCAtMTY1LDYgKzE2OCwxMCBAQCBw
dWJsaWM6CiAgICAgdm9pZCBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQoTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uKik7CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3kmIHdlYkxvYWRlclN0cmF0
ZWd5KCk7CiAKKyNpZiBFTkFCTEUoTElCV0VCUlRDX0VORFBPSU5UKQorICAgIFdlYlJUQ1N0cmF0
ZWd5JiB3ZWJSVENTdHJhdGVneSgpIHsgcmV0dXJuIG1fd2ViUlRDU3RyYXRlZ3k7IH0KKyNlbmRp
ZgorCiAjaWYgRU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCiAgICAgdm9pZCB3ZWJUb0RhdGFiYXNl
UHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQoV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKik7
CiAgICAgV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKiB3ZWJUb0RhdGFiYXNlUHJvY2Vz
c0Nvbm5lY3Rpb24oKTsKQEAgLTM3Nyw2ICszODQsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVu
c3VyZU5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpOwogICAgIFJlZlB0cjxOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24+IG1fbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogICAgIFdlYkxvYWRlclN0
cmF0ZWd5JiBtX3dlYkxvYWRlclN0cmF0ZWd5OworCisjaWYgRU5BQkxFKExJQldFQlJUQ19FTkRQ
T0lOVCkKKyAgICBXZWJSVENTdHJhdGVneSYgbV93ZWJSVENTdHJhdGVneTsKKyNlbmRpZgorCiAg
ICAgSGFzaFNldDxTdHJpbmc+IG1fZG5zUHJlZmV0Y2hlZEhvc3RzOwogICAgIFdlYkNvcmU6Okh5
c3RlcmVzaXNBY3Rpdml0eSBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpczsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299606</attachid>
            <date>2017-01-24 09:17:52 -0800</date>
            <delta_ts>2017-01-24 10:14:20 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170124091553.patch</filename>
            <type>text/plain</type>
            <size>140727</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGU3YmRjZWI5ZTc3MTcw
ZmJhZjBkNmQwYjYxZDZlY2JjOGQ4ODdmYy4uYjMyYTA1ZWM4ZTA2YzljMTc0OTRjNjNkMjdlZDQx
YTU3ZjJjMDc4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMCBAQAorMjAxNy0wMS0yNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2Up
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
VURQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVzb2x2ZWROYW1lKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZUFzeW5jUmVz
b2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
c3RvcEFzeW5jUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6YWRkUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnRha2VQYWNrZXRTb2NrZXQpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZXNvbHZlcjo6UmVzb2x2ZXIpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVzb2x2ZXI6
On5SZXNvbHZlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cnRjTmV0d29y
a1RocmVhZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBhY2tldFNvY2tldEZhY3RvcnkpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0
aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdG9wVXBkYXRp
bmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTmV0d29ya01hbmFnZXI6Ok9uTWVzc2FnZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RhcnRVcGRhdGluZ0Zy
b21OZXR3b3JrVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2Vy
OjpzdG9wVXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtOZXR3b3JrTWFuYWdlcjo6b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuaDogQWRkZWQuCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbjog
QWRkZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2Nr
ZXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3Jl
YXRlVURQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlQ2xp
ZW50VENQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlU2Vy
dmVyVENQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6TmV0d29ya1Bh
Y2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6On5OZXR3
b3JrUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6
T25NZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y2xlYW4p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjptZXNzYWdlU2VuZGVyQ29u
bmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNlbmRUbyk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNsb3NlKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxDb25uZWN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lmg6IEFkZGVkLgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluOiBB
ZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29yay5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpSVENOZXR3b3JrOjpSVENOZXR3b3JrKToKKyAgICAgICAgKFdlYktpdDo6aXBzKToK
KyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6dmFsdWUpOgorICAgICAgICAoV2ViS2l0OjpS
VENOZXR3b3JrOjpJUEFkZHJlc3M6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdv
cms6OklQQWRkcmVzczo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6ZGVj
b2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6ZW5jb2RlKToKKyAgICAgICAgKiBT
aGFyZWQvUlRDTmV0d29yay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6
SVBBZGRyZXNzOjpJUEFkZHJlc3MpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVEMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjppbml0
aWFsaXplKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjp3ZWJQYWNrZXRTb2NrZXRGb3JJ
ZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjpuZXR3b3JrTWFuYWdlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6c29ja2V0RmFjdG9yeSk6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQzo6Z2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDOjpyZXNvbHZlZEFkZHJlc3NFcnJvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NsaWVudDo6TGliV2ViUlRDQ2xpZW50KToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDQ2xpZW50OjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuaDogQWRkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6U3RhcnRVcGRhdGlu
Zyk6CisgICAgICAgIChXZWJLaXQ6OldlYk5ldHdvcmtNYW5hZ2VyOjpTdG9wVXBkYXRpbmcpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6bmV0d29ya3NDaGFuZ2VkKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmg6IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFn
ZXIubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUGFja2V0U29ja2V0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tl
dFNvY2tldDo6V2ViUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29j
a2V0Ojp+V2ViUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0
OjpHZXRMb2NhbEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6Okdl
dFJlbW90ZUFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25h
bEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFs
UmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsU2Vu
dFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVj
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsQ2xvc2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6YXV0aEtleSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNv
Y2tldDo6d2lsbFNlbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OlNlbmRU
byk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6Q2xvc2UpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OkdldE9wdGlvbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhY2tldFNvY2tldDo6U2V0T3B0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlBhY2tldFNvY2tldC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNl
cnZlclRjcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6
OkNyZWF0ZVVkcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rv
cnk6OkNyZWF0ZUNsaWVudFRjcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNv
Y2tldEZhY3Rvcnk6OmRldGFjaCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZh
Y3Rvcnk6OkNyZWF0ZUFzeW5jUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5OjpnZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5OjpyZXNvbHZlZEFkZHJlc3NFcnJvcik6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6OlN0YXJ0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6
R2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFj
dG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6RGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Y2tldFNvY2tldEZhY3Rvcnk6OnN0b3BSZXNvbHZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5Lmg6IEFkZGVkLgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV91c2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplTGliV2ViUlRD
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6bGliV2ViUlRDKToKKwogMjAxNy0wMS0yNCAgTWlndWVsIEdvbWV6ICA8bWFn
b21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29yZGluYXRlZCBHcmFwaGljc10gRW5zdXJl
IHRoYXQgd2UncmUgaW4gQUMgbW9kZSBiZWZvcmUgdHJ5aW5nIHRvIGNyZWF0ZSBHcmFwaGljc0xh
eWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA0NWI1Yzk2ODdmNDE0MzcyZDVmYmY3MDNhYmNl
NmE0ODkxNDAxZjA4Li4zYzJhY2Q3MGIzYTVhODc1MzVlNzlkZWZmZDA0ZDA5NWE2MDZhYzYyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtNTkwLDYgKzU5MCw3IEBAIHNldChXZWJLaXQyX01FU1NB
R0VTX0lOX0ZJTEVTCiAgICAgTmV0d29ya1Byb2Nlc3MvQ3VzdG9tUHJvdG9jb2xzL0N1c3RvbVBy
b3RvY29sTWFuYWdlci5tZXNzYWdlcy5pbgogCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKyAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIubWVzc2FnZXMuaW4KIApAQCAtNjQ5LDYgKzY1MCw3IEBAIHNldChXZWJLaXQyX01FU1NBR0VT
X0lOX0ZJTEVTCiAKICAgICBXZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQ
cm94eS5tZXNzYWdlcy5pbgogCisgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNr
ZXRTb2NrZXQubWVzc2FnZXMuaW4KICAgICBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291
cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2
ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4
IGRjYTRmNTg4ZTE1OGMwMjlkMmU4YWMyZTFjYmRhMTQ0OGVlNzM0NDguLjJiNzliNzU3ZGY4MjRj
MGQ1YmQwZWRhZmYwZjZkYzRhYzAxMGZlOTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rl
cml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFr
ZQpAQCAtMjgsNiArMjgsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9j
ZXNzIFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scyBcCiAg
ICAgJChXZWJLaXQyKS9OZXR3b3JrUHJvY2Vzcy9tYWMgXAorICAgICQoV2ViS2l0MikvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjIFwKICAgICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAogICAgICQo
V2ViS2l0MikvUGx1Z2luUHJvY2Vzcy9tYWMgXAogICAgICQoV2ViS2l0MikvU2hhcmVkL1BsdWdp
bnMgXApAQCAtNDUsNiArNDYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nl
c3MvSWNvbkRhdGFiYXNlIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvTWVkaWFDYWNoZSBc
CiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05ldHdvcmsgXAorICAgICQoV2ViS2l0MikvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0YyBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05vdGlm
aWNhdGlvbnMgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIFwKICAgICAk
KFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1Z2lucyBcCkBAIC05NSw4ICs5NywxMSBAQCBNRVNTQUdF
X1JFQ0VJVkVSUyA9IFwKICAgICBEcmF3aW5nQXJlYSBcCiAgICAgRHJhd2luZ0FyZWFQcm94eSBc
CiAgICAgRXZlbnREaXNwYXRjaGVyIFwKKyAgICBMaWJXZWJSVEMgXAogICAgIE5QT2JqZWN0TWVz
c2FnZVJlY2VpdmVyIFwKICAgICBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCisgICAg
TmV0d29ya05ldHdvcmtNYW5hZ2VyIFwKKyAgICBOZXR3b3JrUGFja2V0U29ja2V0IFwKICAgICBO
ZXR3b3JrUHJvY2VzcyBcCiAgICAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uIFwKICAgICBOZXR3
b3JrUHJvY2Vzc1Byb3h5IFwKQEAgLTEzNyw3ICsxNDIsOSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9
IFwKICAgICBXZWJJbnNwZWN0b3IgXAogICAgIFdlYkluc3BlY3RvclByb3h5IFwKICAgICBXZWJJ
bnNwZWN0b3JVSSBcCisgICAgV2ViTmV0d29ya01hbmFnZXIgXAogICAgIFdlYk5vdGlmaWNhdGlv
bk1hbmFnZXIgXAorICAgIFdlYlBhY2tldFNvY2tldCBcCiAgICAgV2ViUGFnZSBcCiAgICAgV2Vi
UGFnZVByb3h5IFwKICAgICBXZWJQYXN0ZWJvYXJkUHJveHkgXApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3Bw
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwCmluZGV4IDhhMjdhYjNhMGMyZDVjODJjMjRhNjQzMjQ2YTY2MGY3ODk5M2VlNzUu
LjA1ZGE1NzU4OWQzZTdjZDZjMWRkYWI5ODc1ZDg4ZTE0NzRiNWFmN2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcy5jcHAKQEAgLTI4LDE1ICsyOCwyMCBAQAogCiAjaW5jbHVkZSAiQmxvYkRh
dGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRib3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJEYXRhUmVm
ZXJlbmNlLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3
b3JrQmxvYlJlZ2lzdHJ5LmgiCiAjaW5jbHVkZSAiTmV0d29ya0NhY2hlLmgiCiAjaW5jbHVkZSAi
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdv
cmtMb2FkLmgiCisjaW5jbHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNp
bmNsdWRlICJOZXR3b3JrUGFja2V0U29ja2V0LmgiCisjaW5jbHVkZSAiTmV0d29ya1BhY2tldFNv
Y2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNv
dXJjZUxvYWRQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgi
CiAjaW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJS
VENOZXR3b3JrLmgiCiAjaW5jbHVkZSAiUmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNs
dWRlICJTZXNzaW9uVHJhY2tlci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5o
IgpAQCAtNDYsNiArNTEsOCBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXJPcHRp
b25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxX
ZWJDb3JlL1Nlc3Npb25JRC5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL2FzeW5jcGFja2V0c29j
a2V0Lmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAogI2lmIFVTRShORVRXT1JLX1NF
U1NJT04pCiAjaW5jbHVkZSAiUGluZ0xvYWQuaCIKQEAgLTYyLDYgKzY5LDkgQEAgUmVmPE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
Y3JlYXRlKElQQzo6Q28KIAogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0
aW9uSWRlbnRpZmllcikKICAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246OmNyZWF0
ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlzKSkKKyNpZiBVU0Uo
TElCV0VCUlRDKQorICAgICwgbV9uZXR3b3JrTWFuYWdlcigqdGhpcykKKyNlbmRpZgogewogICAg
IG1fY29ubmVjdGlvbi0+b3BlbigpOwogfQpAQCAtNzYsNyArODYsNyBAQCB2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRDbGVhbnVwUmVzb3VyY2VMb2FkZXIoTmV0d29ya1Jl
c291cmNlTG9hZAogCiAgICAgbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLnJlbW92ZShsb2FkZXIu
aWRlbnRpZmllcigpKTsKIH0KLSAgICAKKwogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6
OkRlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFt
ZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7CkBAIC04NSwxMiArOTUsMjUgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW8KICAgICB9CiAKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Ci0g
ICAgICAgIEhhc2hNYXA8UmVzb3VyY2VMb2FkSWRlbnRpZmllciwgUmVmUHRyPE5ldHdvcmtSZXNv
dXJjZUxvYWRlcj4+OjppdGVyYXRvciBsb2FkZXJJdGVyYXRvciA9IG1fbmV0d29ya1Jlc291cmNl
TG9hZGVycy5maW5kKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKTsKKyAgICAgICAgYXV0byBsb2Fk
ZXJJdGVyYXRvciA9IG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5maW5kKGRlY29kZXIuZGVzdGlu
YXRpb25JRCgpKTsKICAgICAgICAgaWYgKGxvYWRlckl0ZXJhdG9yICE9IG1fbmV0d29ya1Jlc291
cmNlTG9hZGVycy5lbmQoKSkKICAgICAgICAgICAgIGxvYWRlckl0ZXJhdG9yLT52YWx1ZS0+ZGlk
UmVjZWl2ZU5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7
CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAg
IGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1Bh
Y2tldFNvY2tldDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIGF1dG8gc29ja2V0
SXRlcmF0b3IgPSBtX3BhY2tldFNvY2tldHMuZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7
CisgICAgICAgIGlmIChzb2NrZXRJdGVyYXRvciAhPSBtX3BhY2tldFNvY2tldHMuZW5kKCkpCisg
ICAgICAgICAgICBzb2NrZXRJdGVyYXRvci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3b3JrUGFja2V0
U29ja2V0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5l
dHdvcmtOZXR3b3JrTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIG1f
bmV0d29ya01hbmFnZXIuZGlkUmVjZWl2ZU5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2UoY29u
bmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCkBAIC0zMzQsNCArMzU3LDExNSBAQCB2b2lkIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjplbnN1cmVMZWdhY3lQcml2YXRlQnJvd3NpbmdT
ZXNzaW9uKCkKICAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlUHJpdmF0ZUJy
b3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7CiB9CiAK
KyNpZiBVU0UoTElCV0VCUlRDKQordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
Y3JlYXRlVURQU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRkcmVz
cywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKK3sKKyAgICBydGM6OlNvY2tl
dEFkZHJlc3Mgc29ja2V0QWRkcmVzczsKKyAgICBzb2NrZXRBZGRyZXNzLkZyb21TdHJpbmcoYWRk
cmVzcy51dGY4KCkuZGF0YSgpKTsKKworICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5y
dGNOZXR3b3JrVGhyZWFkKCkuSW52b2tlPHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFt0aGlzLCBpZGVu
dGlmaWVyLCBzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChOZXR3b3JrUHJvY2Vz
czo6c2luZ2xldG9uKCkucGFja2V0U29ja2V0RmFjdG9yeSgpLkNyZWF0ZVVkcFNvY2tldChzb2Nr
ZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0KSk7CisgICAgICAgIE5ldHdvcmtQYWNrZXRTb2Nr
ZXQ6OmNyZWF0ZVVEUChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksICp0aGlzKTsKKyAgICB9
KTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlU2VydmVy
VENQU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRkcmVzcywgdWlu
dDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9wdGlvbnMpCit7CisgICAgcnRj
OjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJlc3M7CisgICAgc29ja2V0QWRkcmVzcy5Gcm9tU3Ry
aW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7CisKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xl
dG9uKCkucnRjTmV0d29ya1RocmVhZCgpLkludm9rZTx2b2lkPihSVENfRlJPTV9IRVJFLCBbdGhp
cywgaWRlbnRpZmllciwgc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9uc10o
KSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2Nr
ZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnBhY2tldFNvY2tldEZhY3RvcnkoKS5DcmVh
dGVTZXJ2ZXJUY3BTb2NrZXQoc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9u
cykpOworICAgICAgICBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVhdGVTZXJ2ZXJUQ1AoaWRlbnRp
ZmllciwgV1RGTW92ZShzb2NrZXQpLCAqdGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZUNsaWVudFRDUFNvY2tldCh1aW50NjRfdCBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGxvY2FsQWRkcmVzcywgY29uc3QgU3RyaW5nJiByZW1v
dGVBZGRyZXNzLCBpbnQgb3B0aW9ucykKK3sKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0
TG9jYWxBZGRyZXNzOworICAgIHNvY2tldExvY2FsQWRkcmVzcy5Gcm9tU3RyaW5nKGxvY2FsQWRk
cmVzcy51dGY4KCkuZGF0YSgpKTsKKworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2NrZXRSZW1v
dGVBZGRyZXNzOworICAgIHNvY2tldFJlbW90ZUFkZHJlc3MuRnJvbVN0cmluZyhyZW1vdGVBZGRy
ZXNzLnV0ZjgoKS5kYXRhKCkpOworCisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0
Y05ldHdvcmtUaHJlYWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3RoaXMsIGlkZW50
aWZpZXIsIHNvY2tldExvY2FsQWRkcmVzcywgc29ja2V0UmVtb3RlQWRkcmVzcywgb3B0aW9uc10o
KSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2Nr
ZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnBhY2tldFNvY2tldEZhY3RvcnkoKS5DcmVh
dGVDbGllbnRUY3BTb2NrZXQoc29ja2V0TG9jYWxBZGRyZXNzLCBzb2NrZXRSZW1vdGVBZGRyZXNz
LCB7IH0sIHsgfSwgb3B0aW9ucykpOworICAgICAgICBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVh
dGVDbGllbnRUQ1AoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCAqdGhpcyk7CisgICAgfSk7
Cit9CisKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlc29sdmVkTmFtZShD
Rkhvc3RSZWYgaG9zdFJlZiwgQ0ZIb3N0SW5mb1R5cGUgdHlwZUluZm8sIGNvbnN0IENGU3RyZWFt
RXJyb3IgKmVycm9yLCB2b2lkICppbmZvKQoreworICAgIEFTU0VSVF9VTlVTRUQodHlwZUluZm8s
ICF0eXBlSW5mbyk7CisKKyAgICBpZiAoZXJyb3ItPmRvbWFpbikgeworICAgICAgICAvLyBGSVhN
RTogTmVlZCB0byBoYW5kbGUgZmFpbHVyZSwgYnV0IGluZm8gaXMgbm90IHByb3ZpZGVkIGluIHRo
ZSBjYWxsYmFjay4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VSVChpbmZvKTsK
KyAgICBhdXRvKiByZXNvbHZlckluZm8gPSBzdGF0aWNfY2FzdDxSZXNvbHZlcio+KGluZm8pOwor
ICAgIGF1dG8gcmVzb2x2ZXIgPSByZXNvbHZlckluZm8tPmNvbm5lY3Rpb24tPm1fcmVzb2x2ZXJz
LnRha2UocmVzb2x2ZXJJbmZvLT5pZGVudGlmaWVyKTsKKyAgICBpZiAoIXJlc29sdmVyKQorICAg
ICAgICByZXR1cm47CisKKyAgICBCb29sZWFuIHJlc3VsdDsKKyAgICBDRkFycmF5UmVmIHJlc29s
dmVkQWRkcmVzc2VzID0gKENGQXJyYXlSZWYpQ0ZIb3N0R2V0QWRkcmVzc2luZyhob3N0UmVmLCAm
cmVzdWx0KTsKKyAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKworICAgIHNpemVf
dCBjb3VudCA9IENGQXJyYXlHZXRDb3VudChyZXNvbHZlZEFkZHJlc3Nlcyk7CisgICAgVmVjdG9y
PFJUQ05ldHdvcms6OklQQWRkcmVzcz4gYWRkcmVzc2VzOworICAgIGFkZHJlc3Nlcy5yZXNlcnZl
SW5pdGlhbENhcGFjaXR5KGNvdW50KTsKKworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5k
ZXggPCBjb3VudDsgKytpbmRleCkgeworICAgICAgICBDRkRhdGFSZWYgZGF0YSA9IChDRkRhdGFS
ZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChyZXNvbHZlZEFkZHJlc3NlcywgaW5kZXgpOworICAg
ICAgICBhdXRvKiBhZGRyZXNzID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBzdHJ1Y3Qgc29ja2Fk
ZHJfaW4qPihDRkRhdGFHZXRCeXRlUHRyKGRhdGEpKTsKKyAgICAgICAgYWRkcmVzc2VzLnVuY2hl
Y2tlZEFwcGVuZChSVENOZXR3b3JrOjpJUEFkZHJlc3MocnRjOjpJUEFkZHJlc3MoYWRkcmVzcy0+
c2luX2FkZHIpKSk7CisgICAgfQorICAgIHJlc29sdmVyLT5jb25uZWN0aW9uLT5tX2Nvbm5lY3Rp
b24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQzo6R2V0UmVzb2x2ZWRBZGRyZXNzKHJlc29sdmVy
LT5pZGVudGlmaWVyLCBhZGRyZXNzZXMpLCAwKTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6Y3JlYXRlQXN5bmNSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBj
b25zdCBTdHJpbmcmIGFkZHJlc3MpCit7CisKKyAgICBDRkhvc3RSZWYgaG9zdCA9IENGSG9zdENy
ZWF0ZVdpdGhOYW1lKGtDRkFsbG9jYXRvckRlZmF1bHQsIGFkZHJlc3MuY3JlYXRlQ0ZTdHJpbmco
KS5nZXQoKSk7CisgICAgQVNTRVJUKGhvc3QpOworCisgICAgYXV0byByZXNvbHZlciA9IHN0ZDo6
bWFrZV91bmlxdWU8UmVzb2x2ZXI+KGlkZW50aWZpZXIsICp0aGlzLCBob3N0KTsKKworICAgIENG
SG9zdENsaWVudENvbnRleHQgY29udGV4dDsKKyAgICBjb250ZXh0LnZlcnNpb24gPSAwOworICAg
IGNvbnRleHQuaW5mbyA9IHJlc29sdmVyLmdldCgpOworICAgIGNvbnRleHQuY29weURlc2NyaXB0
aW9uID0gbnVsbHB0cjsKKyAgICBjb250ZXh0LnJlbGVhc2UgPSBudWxscHRyOworICAgIGNvbnRl
eHQucmV0YWluID0gbnVsbHB0cjsKKworICAgIENGSG9zdFNldENsaWVudChob3N0LCBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVzb2x2ZWROYW1lLCAmY29udGV4dCk7CisgICAgQ0ZI
b3N0U2NoZWR1bGVXaXRoUnVuTG9vcChob3N0LCBDRlJ1bkxvb3BHZXRDdXJyZW50KCksIGtDRlJ1
bkxvb3BEZWZhdWx0TW9kZSk7CisgICAgQm9vbGVhbiByZXN1bHQgPSBDRkhvc3RTdGFydEluZm9S
ZXNvbHV0aW9uKGhvc3QsIGtDRkhvc3RBZGRyZXNzZXMsIG51bGxwdHIpOworICAgIEFTU0VSVF9V
TlVTRUQocmVzdWx0LCByZXN1bHQpOworCisgICAgbV9yZXNvbHZlcnMuYWRkKGlkZW50aWZpZXIs
IFdURk1vdmUocmVzb2x2ZXIpKTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6c3RvcEFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICBOZXR3
b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLkludm9rZTx2b2lkPihS
VENfRlJPTV9IRVJFLCBbdGhpcywgaWRlbnRpZmllcl0oKSB7CisgICAgICAgIGF1dG8gcmVzb2x2
ZXIgPSBtX3Jlc29sdmVycy50YWtlKGlkZW50aWZpZXIpOworICAgICAgICBpZiAocmVzb2x2ZXIp
CisgICAgICAgICAgICBDRkhvc3RDYW5jZWxJbmZvUmVzb2x1dGlvbihyZXNvbHZlci0+aG9zdCwg
Q0ZIb3N0SW5mb1R5cGU6OmtDRkhvc3RBZGRyZXNzZXMpOworICAgIH0pOworfQorCit2b2lkIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjphZGRQYWNrZXRTb2NrZXQodWludDY0X3QgaWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQYWNrZXRTb2NrZXQ+JiYgc29ja2V0KQor
eworICAgIG1fcGFja2V0U29ja2V0cy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpKTsK
K30KKworc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQYWNrZXRTb2NrZXQ+IE5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjp0YWtlUGFja2V0U29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIpCit7
CisgICAgcmV0dXJuIG1fcGFja2V0U29ja2V0cy50YWtlKGlkZW50aWZpZXIpOworfQorI2VuZGlm
CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXgg
Nzk2NTZiYTQ3YzIyOGJlMDBhN2IwNzcwMjQyODM1ZWQ0NTY1NTdhMi4uNzdjM2U0ZDY0ODUwNGYz
YTlhZmIxZDkzM2M2ZWVjYTQxM2E1OWZmMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBA
IC0yOSw3ICsyOSwxMyBAQAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJEb3du
bG9hZElELmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdl
cy5oIgorI2luY2x1ZGUgIk5ldHdvcmtOZXR3b3JrTWFuYWdlci5oIgorCisjaW5jbHVkZSA8Q0ZO
ZXR3b3JrL0NGSG9zdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRQcmlvcml0eS5oPgorI2luY2x1ZGUgPHdlYnJ0
Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvYmFzaWNwYWNr
ZXRzb2NrZXRmYWN0b3J5Lmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewpAQCAtNDAsNiArNDYsNyBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBu
YW1lc3BhY2UgV2ViS2l0IHsKIAogY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7
CitjbGFzcyBOZXR3b3JrUGFja2V0U29ja2V0OwogY2xhc3MgTmV0d29ya1Jlc291cmNlTG9hZGVy
OwogY2xhc3MgU3luY05ldHdvcmtSZXNvdXJjZUxvYWRlcjsKIHR5cGVkZWYgdWludDY0X3QgUmVz
b3VyY2VMb2FkSWRlbnRpZmllcjsKQEAgLTU5LDYgKzY2LDEyIEBAIHB1YmxpYzoKIAogICAgIFJl
ZlB0cjxXZWJDb3JlOjpCbG9iRGF0YUZpbGVSZWZlcmVuY2U+IGdldEJsb2JEYXRhRmlsZVJlZmVy
ZW5jZUZvclBhdGgoY29uc3QgU3RyaW5nJiBwYXRoKTsKIAorI2lmIFVTRShMSUJXRUJSVEMpCisg
ICAgdm9pZCBhZGRQYWNrZXRTb2NrZXQodWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3Jr
UGFja2V0U29ja2V0PiYmKTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1BhY2tldFNvY2tl
dD4gdGFrZVBhY2tldFNvY2tldCh1aW50NjRfdCk7CisgICAgdm9pZCByZXNvbHZlckRvbmUodWlu
dDY0X3QpOworI2VuZGlmCisKIHByaXZhdGU6CiAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MoSVBDOjpDb25uZWN0aW9uOjpJZGVudGlmaWVyKTsKIApAQCAtNzEsNyArODQsNyBAQCBw
cml2YXRlOgogICAgIC8vIE1lc3NhZ2UgaGFuZGxlcnMuCiAgICAgdm9pZCBkaWRSZWNlaXZlTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpOwogICAgIHZvaWQgZGlkUmVjZWl2ZVN5bmNOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlx
dWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsKLSAgICAKKwogICAgIHZvaWQgc2NoZWR1bGVSZXNvdXJj
ZUxvYWQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmKTsKICAgICB2b2lkIHBl
cmZvcm1TeW5jaHJvbm91c0xvYWQoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMm
LCBSZWY8TWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQZXJmb3JtU3lu
Y2hyb25vdXNMb2FkOjpEZWxheWVkUmVwbHk+JiYpOwogICAgIHZvaWQgbG9hZFBpbmcoY29uc3Qg
TmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmKTsKQEAgLTEwNSwxMCArMTE4LDM4IEBAIHBy
aXZhdGU6CiAKICAgICB2b2lkIGVuc3VyZUxlZ2FjeVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsK
IAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgdm9pZCBjcmVhdGVVRFBTb2NrZXQodWludDY0X3Qs
IGNvbnN0IFN0cmluZyYsIHVpbnQxNl90LCB1aW50MTZfdCk7CisgICAgdm9pZCBjcmVhdGVDbGll
bnRUQ1BTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGludCk7
CisgICAgdm9pZCBjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYs
IHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCk7CisgICAgdm9pZCBjcmVh
dGVBc3luY1Jlc29sdmVyKHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHN0b3BB
c3luY1Jlc29sdmVyKHVpbnQ2NF90KTsKKyNlbmRpZgorCiAgICAgUmVmPElQQzo6Q29ubmVjdGlv
bj4gbV9jb25uZWN0aW9uOwogCiAgICAgSGFzaE1hcDxSZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBS
ZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPj4gbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzOwog
ICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQdHI8V2ViQ29yZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNl
Pj4gbV9ibG9iRGF0YUZpbGVSZWZlcmVuY2VzOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBz
dGF0aWMgdm9pZCByZXNvbHZlZE5hbWUoQ0ZIb3N0UmVmLCBDRkhvc3RJbmZvVHlwZSwgY29uc3Qg
Q0ZTdHJlYW1FcnJvciosIHZvaWQqKTsKKworICAgIHN0cnVjdCBSZXNvbHZlciB7CisgICAgICAg
IHVpbnQ2NF90IGlkZW50aWZpZXI7CisgICAgICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcz4gY29ubmVjdGlvbjsKKyAgICAgICAgQ0ZIb3N0UmVmIGhvc3Q7CisKKyAgICAgICAg
UmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllciwgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzPiYmIGNvbm5lY3Rpb24sIFJldGFpblB0cjxDRkhvc3RSZWY+JiYgaG9zdCkKKyAgICAg
ICAgICAgIDogaWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICAgICAgICAgLCBjb25uZWN0aW9u
KFdURk1vdmUoY29ubmVjdGlvbikpCisgICAgICAgICAgICAsIGhvc3QoV1RGTW92ZShob3N0KSkg
eyB9CisKKyAgICAgICAgflJlc29sdmVyKCkgeyBDRlJlbGVhc2UoaG9zdCk7IH0KKyAgICB9Owor
ICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZlcj4+IG1fcmVzb2x2
ZXJzOworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0
U29ja2V0Pj4gbV9wYWNrZXRTb2NrZXRzOworICAgIE5ldHdvcmtOZXR3b3JrTWFuYWdlciBtX25l
dHdvcmtNYW5hZ2VyOworI2VuZGlmCiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYTI2M2E0ZWRlMzg4
ZWJlMjVmN2E2Njc5MTZjZTBiZTBkOWQ5OWUzZC4uZWMzYjRhNTU2M2ZjZjRhZGEwYzA3ODUzOGRm
ZGNlZTRiYWU1NjQ1MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW4KQEAgLTUzLDQgKzUzLDEyIEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVyIHsKICAgICBTdG9yZURlcml2ZWREYXRhVG9DYWNoZShX
ZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGF0YUtleSBrZXksIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRh
KQogCiAgICAgRW5zdXJlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpCisKKyNpZiBVU0Uo
TElCV0VCUlRDKQorICAgIENyZWF0ZVVEUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxv
Y2FsQWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKKyAgICBDcmVh
dGVTZXJ2ZXJUQ1BTb2NrZXQoaW50IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJlc3MsIHVp
bnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQorICAgIENyZWF0
ZUNsaWVudFRDUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxvY2FsQWRkcmVzcywgU3Ry
aW5nIHJlbW90ZUFkZHJlc3MsIGludCBvcHRpb25zKQorICAgIENyZWF0ZUFzeW5jUmVzb2x2ZXIo
dWludDY0X3QgaWRlbnRpZmllciwgU3RyaW5nIGFkZHJlc3MpCisgICAgU3RvcEFzeW5jUmVzb2x2
ZXIodWludDY0X3QgaWRlbnRpZmllcikKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuY3BwCmluZGV4IGZmYWY3ZGI4NTg3NWJjZTY2
MGQ4NjYzNTQyYTkzZGQ1YWNjNTc0MTEuLjNkMDdiMWZmMWE2MWExNWZkNGQzYjQ2NjdlNzZiMGEy
ZDBjOGMwMDEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3Jr
UHJvY2Vzcy5jcHAKQEAgLTY2Niw0ICs2NjYsMTYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxh
dGZvcm1Mb3dNZW1vcnlIYW5kbGVyKENyaXRpY2FsKQogfQogI2VuZGlmCiAKK3J0Yzo6VGhyZWFk
JiBOZXR3b3JrUHJvY2Vzczo6cnRjTmV0d29ya1RocmVhZCgpCit7CisgICAgaWYgKCFtX3J0Y05l
dHdvcmtUaHJlYWQpIHsKKyAgICAgICAgbV9ydGNOZXR3b3JrVGhyZWFkID0gcnRjOjpUaHJlYWQ6
OkNyZWF0ZVdpdGhTb2NrZXRTZXJ2ZXIoKTsKKyAgICAgICAgbV9ydGNOZXR3b3JrVGhyZWFkLT5T
dGFydCgpOworCisgICAgICAgIEFTU0VSVCghbV9wYWNrZXRTb2NrZXRGYWN0b3J5KTsKKyAgICAg
ICAgbV9wYWNrZXRTb2NrZXRGYWN0b3J5ID0gc3RkOjptYWtlX3VuaXF1ZTxydGM6OkJhc2ljUGFj
a2V0U29ja2V0RmFjdG9yeT4obV9ydGNOZXR3b3JrVGhyZWFkLmdldCgpKTsKKyAgICB9CisgICAg
cmV0dXJuICptX3J0Y05ldHdvcmtUaHJlYWQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3Mu
aCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXgg
ZGFiMzc1NGUwMjBjNjNhOWRmMjAxYTViZDlkYTFkZTliMTA1NmE0OC4uZGNmODRiYzI4YzdlMGQx
YWYzZDBjZmE3ZTYzMGM0ODkxYTg4YWZmNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCkBAIC00Miw2ICs0Miw5IEBACiAjaW5jbHVkZSAiV2Vi
U1FMaXRlRGF0YWJhc2VUcmFja2VyLmgiCiAjZW5kaWYKIAorI2luY2x1ZGUgPFdlYkNvcmUvTGli
V2ViUlRDTWFjcm9zLmg+CisjaW5jbHVkZSA8d2VicnRjL3AycC9iYXNlL2Jhc2ljcGFja2V0c29j
a2V0ZmFjdG9yeS5oPgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb3dubG9hZElEOwog
Y2xhc3MgQ2VydGlmaWNhdGVJbmZvOwpAQCAtMTE4LDYgKzEyMSwxMSBAQCBwdWJsaWM6CiAKICAg
ICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7
IHJldHVybiBtX2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KIAorI2lmIFVTRShMSUJXRUJSVEMpCisg
ICAgcnRjOjpCYXNpY1BhY2tldFNvY2tldEZhY3RvcnkmIHBhY2tldFNvY2tldEZhY3RvcnkoKSB7
IHJldHVybiAqbV9wYWNrZXRTb2NrZXRGYWN0b3J5OyB9CisgICAgcnRjOjpUaHJlYWQmIHJ0Y05l
dHdvcmtUaHJlYWQoKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7
CiAgICAgfk5ldHdvcmtQcm9jZXNzKCk7CkBAIC0yMzAsNiArMjM4LDExIEBAIHByaXZhdGU6CiAj
aWYgUExBVEZPUk0oSU9TKQogICAgIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlciBtX3dlYlNRTGl0
ZURhdGFiYXNlVHJhY2tlcjsKICNlbmRpZgorCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8cnRjOjpCYXNpY1BhY2tldFNvY2tldEZhY3Rvcnk+IG1fcGFja2V0U29ja2V0
RmFjdG9yeTsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpUaHJlYWQ+IG1fcnRjTmV0d29ya1Ro
cmVhZDsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2Vy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29y
a01hbmFnZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU4N2FiMWNkY2M4OTNkYjNhNmUzNjdiYmMwNDIzN2U1
MWVkZmYxZTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcApAQCAtMCwwICsxLDEwMiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrTmV0d29ya01h
bmFnZXIuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVk
ZSAiV2ViTmV0d29ya01hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitlbnVtIHsKKyAgICBNZXNzYWdlU3RhcnQsCisg
ICAgTWVzc2FnZVN0b3AKK307CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVw
ZGF0aW5nKCkKK3sKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1Ro
cmVhZCgpLlBvc3QoUlRDX0ZST01fSEVSRSwgdGhpcywgTWVzc2FnZVN0YXJ0KTsKK30KKwordm9p
ZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6OnN0b3BVcGRhdGluZygpCit7CisgICAgTmV0d29ya1By
b2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5Qb3N0KFJUQ19GUk9NX0hFUkUs
IHRoaXMsIE1lc3NhZ2VTdG9wKTsKK30KKwordm9pZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6Ok9u
TWVzc2FnZShydGM6Ok1lc3NhZ2UqIG1lc3NhZ2UpCit7CisgICAgc3dpdGNoIChtZXNzYWdlLT5t
ZXNzYWdlX2lkKSB7CisgICAgY2FzZSBNZXNzYWdlU3RhcnQ6CisgICAgICAgIHN0YXJ0VXBkYXRp
bmdGcm9tTmV0d29ya1RocmVhZCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1lc3NhZ2VT
dG9wOgorICAgICAgICBzdG9wVXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCgpOworICAgICAgICBi
cmVhazsKKyAgICB9Cit9CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0
aW5nRnJvbU5ldHdvcmtUaHJlYWQoKQoreworICAgIG1fbWFuYWdlciA9IHN0ZDo6bWFrZV91bmlx
dWU8cnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyPigpOworICAgIG1fbWFuYWdlci0+U2lnbmFsTmV0
d29ya3NDaGFuZ2VkLmNvbm5lY3QodGhpcywgJk5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6b25OZXR3
b3Jrc0NoYW5nZWQpOworICAgIG1fbWFuYWdlci0+U3RhcnRVcGRhdGluZygpOworfQorCit2b2lk
IE5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKQor
eworICAgIG1fbWFuYWdlci0+U3RvcFVwZGF0aW5nKCk7CisgICAgbV9tYW5hZ2VyID0gbnVsbHB0
cjsKK30KKwordm9pZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6Om9uTmV0d29ya3NDaGFuZ2VkKCkK
K3sKKyAgICBydGM6OkJhc2ljTmV0d29ya01hbmFnZXI6Ok5ldHdvcmtMaXN0IG5ldHdvcmtzOwor
ICAgIG1fbWFuYWdlci0+R2V0TmV0d29ya3MoJm5ldHdvcmtzKTsKKworICAgIFJUQ05ldHdvcms6
OklQQWRkcmVzcyBpcHY0OworICAgIG1fbWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhB
Rl9JTkVULCAmaXB2NC52YWx1ZSk7CisgICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIGlwdjY7Cisg
ICAgbV9tYW5hZ2VyLT5HZXREZWZhdWx0TG9jYWxBZGRyZXNzKEFGX0lORVQ2LCAmaXB2Ni52YWx1
ZSk7CisKKyAgICBWZWN0b3I8UlRDTmV0d29yaz4gbmV0d29ya0xpc3Q7CisgICAgbmV0d29ya0xp
c3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShuZXR3b3Jrcy5zaXplKCkpOworICAgIGZvciAoYXV0
byogbmV0d29yayA6IG5ldHdvcmtzKSB7CisgICAgICAgIEFTU0VSVChuZXR3b3JrKTsKKyAgICAg
ICAgbmV0d29ya0xpc3QudW5jaGVja2VkQXBwZW5kKHsgKm5ldHdvcmsgfSk7CisgICAgfQorCisg
ICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgbmV0d29ya0xpc3QgPSBXVEZNb3ZlKG5ldHdvcmtM
aXN0KSwgaXB2NCA9IFdURk1vdmUoaXB2NCksIGlwdjYgPSBXVEZNb3ZlKGlwdjYpXSB7CisgICAg
ICAgIG1fY29ubmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViTmV0d29ya01h
bmFnZXI6Ok5ldHdvcmtzQ2hhbmdlZChuZXR3b3JrTGlzdCwgaXB2NCwgaXB2NiksIDApOworICAg
IH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJS
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya05ldHdvcmtNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ1NjcwMGFmMzM5YTI1MzAy
MmYxM2U5MjA0MzliYzk0NmVkNjBlYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuaApAQCAtMCwwICsx
LDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQor
CisjaW5jbHVkZSAiV2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlIDx3ZWJydGMv
YmFzZS9uZXR3b3JrLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5oPgorI2luY2x1
ZGUgPHdlYnJ0Yy9iYXNlL3RocmVhZC5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5l
Y3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIE5ldHdvcmtOZXR3b3JrTWFu
YWdlciBmaW5hbCA6IHByaXZhdGUgcnRjOjpNZXNzYWdlSGFuZGxlciwgcHVibGljIHNpZ3Nsb3Q6
Omhhc19zbG90czw+IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOZXR3b3JrTmV0d29ya01hbmFn
ZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pIDogbV9jb25uZWN0
aW9uKGNvbm5lY3Rpb24pIHsgfQorCisgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAgICB2b2lk
IGRpZFJlY2VpdmVOZXR3b3JrTmV0d29ya01hbmFnZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpOworCitwcml2YXRlOgorICAgIHZvaWQgc3RhcnRVcGRhdGluZygpOwor
ICAgIHZvaWQgc3RvcFVwZGF0aW5nKCk7CisKKyAgICB2b2lkIE9uTWVzc2FnZShydGM6Ok1lc3Nh
Z2UqKTsKKworICAgIHZvaWQgc3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsKKyAgICB2
b2lkIHN0YXJ0VXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCgpOworCisgICAgdm9pZCBvbk5ldHdv
cmtzQ2hhbmdlZCgpOworCisgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29u
bmVjdGlvbjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyPiBt
X21hbmFnZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShM
SUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbgpuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwLi4zOTQ4YWRhZmIzYjIxOThlODYzOTBmMGFhYmY4YzRiZDk1ZmY2NjNlCi0tLSAvZGV2
L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtO
ZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMwIEBACisjIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisj
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdl
cyAtPiBOZXR3b3JrTmV0d29ya01hbmFnZXIgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgU3Rh
cnRVcGRhdGluZygpCisgICAgdm9pZCBTdG9wVXBkYXRpbmcoKQorfQorCisjZW5kaWYgLy8gVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dl
YnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmY5ODA0YWRk
MGEyNDFmOWJhMjViN2JiMmU3NTg3ZTBjZmZkNzA2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQuY3BwCkBA
IC0wLDAgKzEsMTkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIk5ldHdvcmtQYWNrZXRTb2NrZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNs
dWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlBhY2tl
dFNvY2tldE1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNp
bmNsdWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNvY2tldC5oPgorI2luY2x1ZGUgPHd0Zi9N
YWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIE5ldHdvcmtQYWNrZXRT
b2NrZXQ6OmNyZWF0ZVVEUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRj
OjpBc3luY1BhY2tldFNvY2tldD4mJiBzb2NrZXQsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBjb25uZWN0aW9uKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29j
a2V0PiBwYWNrZXRTb2NrZXQobmV3IE5ldHdvcmtQYWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RG
TW92ZShzb2NrZXQpLCBjb25uZWN0aW9uKSk7CisKKyAgICBpZiAoIXBhY2tldFNvY2tldC0+bV9z
b2NrZXQpCisgICAgICAgIHJldHVybjsKKworICAgIHBhY2tldFNvY2tldC0+c2lnbmFsQWRkcmVz
c1JlYWR5KHBhY2tldFNvY2tldC0+bV9zb2NrZXQuZ2V0KCksIHBhY2tldFNvY2tldC0+bV9zb2Nr
ZXQtPkdldExvY2FsQWRkcmVzcygpKTsKKyAgICBjb25uZWN0aW9uLmFkZFBhY2tldFNvY2tldChp
ZGVudGlmaWVyLCBXVEZNb3ZlKHBhY2tldFNvY2tldCkpOworfQorCit2b2lkIE5ldHdvcmtQYWNr
ZXRTb2NrZXQ6OmNyZWF0ZUNsaWVudFRDUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1
ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiBzb2NrZXQsIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3Jr
UGFja2V0U29ja2V0PiBwYWNrZXRTb2NrZXQobmV3IE5ldHdvcmtQYWNrZXRTb2NrZXQoaWRlbnRp
ZmllciwgV1RGTW92ZShzb2NrZXQpLCBjb25uZWN0aW9uKSk7CisKKyAgICBpZiAoIXBhY2tldFNv
Y2tldC0+bV9zb2NrZXQpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbm5lY3Rpb24uYWRkUGFj
a2V0U29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUocGFja2V0U29ja2V0KSk7Cit9CisKK3ZvaWQg
TmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlU2VydmVyVENQKHVpbnQ2NF90IGlkZW50aWZpZXIs
IHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmIHNvY2tldCwgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pCit7CisgICAgc3RkOjp1bmlxdWVf
cHRyPE5ldHdvcmtQYWNrZXRTb2NrZXQ+IHBhY2tldFNvY2tldChuZXcgTmV0d29ya1BhY2tldFNv
Y2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksIGNvbm5lY3Rpb24pKTsKKworICAgIGlm
ICghcGFja2V0U29ja2V0LT5tX3NvY2tldCkKKyAgICAgICAgcmV0dXJuOworCisgICAgcGFja2V0
U29ja2V0LT5zaWduYWxBZGRyZXNzUmVhZHkocGFja2V0U29ja2V0LT5tX3NvY2tldC5nZXQoKSwg
cGFja2V0U29ja2V0LT5tX3NvY2tldC0+R2V0TG9jYWxBZGRyZXNzKCkpOworICAgIGNvbm5lY3Rp
b24uYWRkUGFja2V0U29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUocGFja2V0U29ja2V0KSk7Cit9
CisKK05ldHdvcmtQYWNrZXRTb2NrZXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQodWludDY0X3QgaWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYgc29ja2V0
LCBSZWY8TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+JiYgY29ubmVjdGlvbikKKyAgICA6
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9zb2NrZXQoV1RGTW92ZShzb2NrZXQp
KQorICAgICwgbV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCit7CisgICAgQVNTRVJU
KG1fc29ja2V0KTsKKworICAgIGlmICghbV9zb2NrZXQpIHsKKyAgICAgICAgc2VuZChNZXNzYWdl
czo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxDbG9zZSgxKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisKKyAgICBtX3NvY2tldC0+U2lnbmFsUmVhZFBhY2tldC5jb25uZWN0KHRoaXMsICZOZXR3
b3JrUGFja2V0U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KTsKKyAgICBtX3NvY2tldC0+U2lnbmFs
U2VudFBhY2tldC5jb25uZWN0KHRoaXMsICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxTZW50
UGFja2V0KTsKKyAgICBtX3NvY2tldC0+U2lnbmFsQWRkcmVzc1JlYWR5LmNvbm5lY3QodGhpcywg
Jk5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk7CisgICAgbV9zb2NrZXQt
PlNpZ25hbENvbm5lY3QuY29ubmVjdCh0aGlzLCAmTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFs
Q29ubmVjdCk7CisgICAgbV9zb2NrZXQtPlNpZ25hbENsb3NlLmNvbm5lY3QodGhpcywgJk5ldHdv
cmtQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKTsKK30KKworTmV0d29ya1BhY2tldFNvY2tldDo6
fk5ldHdvcmtQYWNrZXRTb2NrZXQoKQoreworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6
Ok9uTWVzc2FnZShydGM6Ok1lc3NhZ2UqIG1lc3NhZ2UpCit7CisgICAgQVNTRVJUKG1lc3NhZ2Ut
Pm1lc3NhZ2VfaWQgPT0gMSk7CisgICAgZGVsZXRlIHRoaXM7Cit9CisKK3ZvaWQgTmV0d29ya1Bh
Y2tldFNvY2tldDo6Y2xlYW4oKQoreworICAgIGF1dG8gcGFja2V0U29ja2V0ID0gbV9jb25uZWN0
aW9uLT50YWtlUGFja2V0U29ja2V0KG1faWRlbnRpZmllcik7CisKKyAgICBOZXR3b3JrUHJvY2Vz
czo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLlBvc3QoUlRDX0ZST01fSEVSRSwgcGFj
a2V0U29ja2V0LnJlbGVhc2UoKSwgMSk7Cit9CisKK0lQQzo6Q29ubmVjdGlvbiogTmV0d29ya1Bh
Y2tldFNvY2tldDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKQoreworICAgIHJldHVybiAmbV9j
b25uZWN0aW9uLT5jb25uZWN0aW9uKCk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6
c2VuZFRvKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRDTmV0d29yazo6
SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQgcGFja2V0SUQsIGludCBydHBT
ZW5kdGltZUV4dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1dGgsIGludDY0X3Qgc3J0cFBhY2tldElu
ZGV4LCBpbnQgZHNjcCkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXQpOworCisgICAgcnRjOjpTb2Nr
ZXRBZGRyZXNzIHNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCk7CisKKyAgICBydGM6
OlBhY2tldE9wdGlvbnMgb3B0aW9uczsKKyAgICBvcHRpb25zLnBhY2tldF9pZCA9IHBhY2tldElE
OworICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRlbnNpb25f
aWQgPSBydHBTZW5kdGltZUV4dGVuc2lvbklEOworICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFy
YW1zLnNydHBfcGFja2V0X2luZGV4ID0gc3J0cFBhY2tldEluZGV4OworICAgIG9wdGlvbnMuZHNj
cCA9IHN0YXRpY19jYXN0PHJ0Yzo6RGlmZlNlcnZDb2RlUG9pbnQ+KGRzY3ApOworICAgIGlmIChz
cnRwQXV0aC51dGY4KCkubGVuZ3RoKCkpIHsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9w
YXJhbXMuc3J0cF9hdXRoX2tleSA9IHN0ZDo6dmVjdG9yPGNoYXI+KHNydHBBdXRoLnV0ZjgoKS5k
YXRhKCksIHNydHBBdXRoLnV0ZjgoKS5kYXRhKCkgKyBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCkp
OworICAgICAgICBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfdGFnX2xlbiA9
IHNydHBBdXRoLnV0ZjgoKS5sZW5ndGgoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb3B0aW9ucy5w
YWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX3RhZ19sZW4gPSAtMTsKKworICAgIFJlZlB0cjxX
ZWJDb3JlOjpTaGFyZWRCdWZmZXI+IGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmds
ZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3Ro
aXMsIGFkZHJlc3MsIGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgc29ja2V0QWRkcmVzcywgb3B0
aW9uc10oKSB7CisgICAgICAgIG1fc29ja2V0LT5TZW5kVG8ocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSwgc29ja2V0QWRkcmVz
cywgb3B0aW9ucyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6Y2xv
c2UoKQoreworICAgIEFTU0VSVChtX3NvY2tldCk7CisgICAgbV9zb2NrZXQtPkNsb3NlKCk7Cit9
CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6c2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2
YWx1ZSkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXQpOworICAgIG1fc29ja2V0LT5TZXRPcHRpb24o
c3RhdGljX2Nhc3Q8cnRjOjpTb2NrZXQ6Ok9wdGlvbj4ob3B0aW9uKSwgdmFsdWUpOworfQorCit2
b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tl
dFNvY2tldCosIGNvbnN0IGNoYXIqIHZhbHVlLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYgcGFja2V0VGltZSkK
K3sKKyAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVl
LCBsZW5ndGgpOworCisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgYnVmZmVyID0gV1RGTW92
ZShidWZmZXIpLCBhZGRyZXNzLCBwYWNrZXRUaW1lXSgpIHsKKyAgICAgICAgSVBDOjpEYXRhUmVm
ZXJlbmNlIGRhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRh
KCkpLCBidWZmZXItPnNpemUoKSk7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhY2tldFNv
Y2tldDo6U2lnbmFsUmVhZFBhY2tldChkYXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRkcmVz
cy5pcGFkZHIoKSksIGFkZHJlc3MucG9ydCgpLCBwYWNrZXRUaW1lLnRpbWVzdGFtcCkpOworICAg
IH0pOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQocnRj
OjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U2VudFBhY2tldCYgc2VudFBhY2tldCkK
K3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBzZW50UGFja2V0XSgpIHsKKyAgICAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxTZW50UGFja2V0KHNlbnRQYWNr
ZXQucGFja2V0X2lkLCBzZW50UGFja2V0LnNlbmRfdGltZV9tcykpOworICAgIH0pOworfQorCit2
b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeShydGM6OkFzeW5jUGFj
a2V0U29ja2V0KiwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzKQoreworICAgIC8v
IEZJWE1FOiBDaGVjayB0aGUgYWRkcmVzcz8KKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBh
ZGRyZXNzXSgpIHsKKyAgICAgICAgYXV0byBhZGRyZXNzU3RyaW5nID0gYWRkcmVzcy5Ub1N0cmlu
ZygpOworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWNrZXRTb2NrZXQ6OlNpZ25hbEFkZHJl
c3NSZWFkeShTdHJpbmcoYWRkcmVzc1N0cmluZy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVuZ3Ro
KCkpKSk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ29u
bmVjdChydGM6OkFzeW5jUGFja2V0U29ja2V0KikKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0
aGlzXSgpIHsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxD
b25uZWN0KCkpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25h
bENsb3NlKHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBpbnQgZXJyb3IpCit7CisgICAgY2FsbE9u
TWFpblRocmVhZChbdGhpcywgZXJyb3JdKCkgeworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQ
YWNrZXRTb2NrZXQ6OlNpZ25hbENsb3NlKGVycm9yKSk7CisgICAgICAgIGNsZWFuKCk7CisgICAg
fSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUGFja2V0U29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1BhY2tldFNvY2tldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1OWM5OWI4NDRmMTE3YzY0MmI1N2U1
ZDc4YTY4NGJiOTRhMGFkMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5oCkBAIC0wLDAgKzEsODcgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNs
dWRlICJNZXNzYWdlU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaW5jbHVk
ZSAiV2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlICJ3ZWJydGMvYmFzZS9zaWdz
bG90LmgiCisKK25hbWVzcGFjZSBydGMgeworY2xhc3MgQXN5bmNQYWNrZXRTb2NrZXQ7CitjbGFz
cyBTb2NrZXRBZGRyZXNzOworCitzdHJ1Y3QgUGFja2V0VGltZTsKK3N0cnVjdCBTZW50UGFja2V0
OworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M7CisKK2NsYXNzIE5ldHdvcmtQYWNrZXRTb2NrZXQgZmluYWwgOiBwdWJsaWMgSVBD
OjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMgcnRjOjpNZXNzYWdlSGFuZGxlciwgcHVibGljIHNpZ3Ns
b3Q6Omhhc19zbG90czw+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVVRFAodWlu
dDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+
JiYsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgc3RhdGljIHZvaWQgY3Jl
YXRlQ2xpZW50VENQKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFz
eW5jUGFja2V0U29ja2V0PiYmLCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOworICAg
IHN0YXRpYyB2b2lkIGNyZWF0ZVNlcnZlclRDUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFsIH5OZXR3b3JrUGFja2V0U29ja2V0KCk7CisKKyAgICAv
LyBNZXNzYWdlIGhhbmRsZXJzLgorICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtQYWNrZXRTb2Nr
ZXRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworCitwcml2YXRlOgor
ICAgIE5ldHdvcmtQYWNrZXRTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVf
cHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYsIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcz4mJik7CisKKyAgICBib29sIGlzQ2xvc2VkKCkgY29uc3QgeyByZXR1cm4gIW1fc29j
a2V0OyB9CisgICAgdm9pZCBjbGVhbigpOworCisgICAgLy8gSVBDOjpNZXNzYWdlU2VuZGVyCisg
ICAgSVBDOjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGZpbmFsOworICAg
IHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgZmluYWwgeyByZXR1cm4gbV9p
ZGVudGlmaWVyOyB9CisKKyAgICB2b2lkIHNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2Um
LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50MTZfdCBwb3J0LCBpbnQgcGFja2V0
SUQsIGludCBydHBTZW5kdGltZUV4dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1dGgsIGludDY0X3Qg
c3J0cFBhY2tldEluZGV4LCBpbnQgZHNjcCk7CisgICAgdm9pZCBjbG9zZSgpOworICAgIHZvaWQg
c2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSk7CisKKyAgICB2b2lkIHNpZ25hbFJlYWRQ
YWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IGNoYXIqLCBzaXplX3QsIGNvbnN0
IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYpOworICAgIHZvaWQg
c2lnbmFsU2VudFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpTZW50
UGFja2V0Jik7CisgICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkocnRjOjpBc3luY1BhY2tldFNv
Y2tldCosIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVj
dChydGM6OkFzeW5jUGFja2V0U29ja2V0Kik7CisgICAgdm9pZCBzaWduYWxDbG9zZShydGM6OkFz
eW5jUGFja2V0U29ja2V0KiwgaW50KTsKKworICAgIHZvaWQgT25NZXNzYWdlKHJ0Yzo6TWVzc2Fn
ZSogbXNnKSBmaW5hbDsKKworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gbV9zb2NrZXQ7CisgICAgUmVmPE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rpb247Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFj
a2V0U29ja2V0Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5Y2MyMjAxMTZkOTQ0NTcxNWQ5ZWE0
ZDU4Y2MxNjU1ODczM2RhMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbgpAQCAtMCww
ICsxLDMxIEBACisjIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBV
U0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBOZXR3b3JrUGFja2V0U29ja2V0IExlZ2FjeVJl
Y2VpdmVyIHsKKyAgICB2b2lkIFNlbmRUbyhJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0
OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tl
dElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNpb25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90
IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3ApCisgICAgdm9pZCBDbG9zZSgpCisgICAgdm9pZCBT
ZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldF
QlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTExMDgy
MTBmZDdiNDVhNDllYTBmMDZiMDE5NzlkNGNlMGI1MTMzCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuY3BwCkBAIC0wLDAgKzEsMTU2IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKwor
I2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1JUQ05ldHdvcms6OlJUQ05ldHdvcmsoY29u
c3QgcnRjOjpOZXR3b3JrJiBuZXR3b3JrKQorICAgIDogbmFtZShuZXR3b3JrLm5hbWUoKSkKKyAg
ICAsIGRlc2NyaXB0aW9uKG5ldHdvcmsuZGVzY3JpcHRpb24oKSkKKyAgICAsIHByZWZpeCB7IG5l
dHdvcmsucHJlZml4KCkgfQorICAgICwgcHJlZml4TGVuZ3RoKG5ldHdvcmsucHJlZml4X2xlbmd0
aCgpKQorICAgICwgdHlwZShuZXR3b3JrLnR5cGUoKSkKKyAgICAsIGlkKG5ldHdvcmsuaWQoKSkK
KyAgICAsIHByZWZlcmVuY2UobmV0d29yay5wcmVmZXJlbmNlKCkpCisgICAgLCBhY3RpdmUobmV0
d29yay5hY3RpdmUoKSkKKyAgICAsIGlnbm9yZWQobmV0d29yay5pZ25vcmVkKCkpCisgICAgLCBz
Y29wZUlEKG5ldHdvcmsuc2NvcGVfaWQoKSkKKyAgICAsIGlwcyhuZXR3b3JrLkdldElQcygpKQor
eworfQorCitydGM6Ok5ldHdvcmsgUlRDTmV0d29yazo6dmFsdWUoKSBjb25zdAoreworICAgIHJ0
Yzo6TmV0d29yayBuZXR3b3JrKG5hbWUuZGF0YSgpLCBkZXNjcmlwdGlvbi5kYXRhKCksIHByZWZp
eC52YWx1ZSwgcHJlZml4TGVuZ3RoLCBydGM6OkFkYXB0ZXJUeXBlKHR5cGUpKTsKKyAgICBuZXR3
b3JrLnNldF9pZChpZCk7CisgICAgbmV0d29yay5zZXRfcHJlZmVyZW5jZShwcmVmZXJlbmNlKTsK
KyAgICBuZXR3b3JrLnNldF9hY3RpdmUoYWN0aXZlKTsKKyAgICBuZXR3b3JrLnNldF9pZ25vcmVk
KGlnbm9yZWQpOworICAgIG5ldHdvcmsuc2V0X3Njb3BlX2lkKHNjb3BlSUQpOworICAgIG5ldHdv
cmsuU2V0SVBzKGlwcywgdHJ1ZSk7CisgICAgcmV0dXJuIG5ldHdvcms7Cit9CisKK2Jvb2wgUlRD
TmV0d29yazo6SVBBZGRyZXNzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBJUEFkZHJl
c3MmIHJlc3VsdCkKK3sKKyAgICBpbnQgZmFtaWx5OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUo
ZmFtaWx5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIElQQzo6RGF0YVJlZmVyZW5jZSBk
YXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YSkpCisgICAgICAgIHJldHVybiBmYWxz
ZTsKKyAgICBpZiAoZmFtaWx5ID09IEFGX0lORVQpIHsKKyAgICAgICAgaWYgKGRhdGEuc2l6ZSgp
ICE9IHNpemVvZihpbl9hZGRyKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
cmVzdWx0LnZhbHVlID0gcnRjOjpJUEFkZHJlc3MoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgaW5f
YWRkcio+KGRhdGEuZGF0YSgpKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBp
ZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9mKGluNl9hZGRyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIHJlc3VsdC52YWx1ZSA9IHJ0Yzo6SVBBZGRyZXNzKCpyZWludGVycHJldF9jYXN0PGNv
bnN0IGluNl9hZGRyKj4oZGF0YS5kYXRhKCkpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9p
ZCBSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNv
bnN0Cit7CisgICAgZW5jb2RlciA8PCB2YWx1ZS5mYW1pbHkoKTsKKyAgICBpZiAodmFsdWUuZmFt
aWx5KCkgPT0gQUZfSU5FVCkgeworICAgICAgICBhdXRvIGFkZHJlc3MgPSB2YWx1ZS5pcHY0X2Fk
ZHJlc3MoKTsKKyAgICAgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oJmFkZHJlc3MpLCBzaXplb2YoYWRkcmVzcykpOworICAg
ICAgICByZXR1cm47CisgICAgfQorICAgIGF1dG8gYWRkcmVzcyA9IHZhbHVlLmlwdjZfYWRkcmVz
cygpOworICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgdWludDhfdCo+KCZhZGRyZXNzKSwgc2l6ZW9mKGFkZHJlc3MpKTsKK30KKworYm9vbCBS
VENOZXR3b3JrOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBSVENOZXR3b3JrJiByZXN1
bHQpCit7CisgICAgSVBDOjpEYXRhUmVmZXJlbmNlIG5hbWUsIGRlc2NyaXB0aW9uOworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUobmFtZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1
bHQubmFtZSA9IHN0ZDo6c3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KG5hbWUu
ZGF0YSgpKSwgbmFtZS5zaXplKCkpOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGVzY3JpcHRp
b24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0LmRlc2NyaXB0aW9uID0gc3Rk
OjpzdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oZGVzY3JpcHRpb24uZGF0YSgp
KSwgZGVzY3JpcHRpb24uc2l6ZSgpKTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5w
cmVmaXgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShy
ZXN1bHQucHJlZml4TGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYg
KCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
aWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5hY3RpdmUpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaWdub3JlZCkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zY29w
ZUlEKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdWludDY0X3QgbGVuZ3RoOworICAg
IGlmICghZGVjb2Rlci5kZWNvZGUobGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAg
IHJlc3VsdC5pcHMucmVzZXJ2ZShsZW5ndGgpOworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsg
aW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgSVBBZGRyZXNzIGFkZHJlc3M7Cisg
ICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoYWRkcmVzcykpCisgICAgICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgICAgIGludCBmbGFnczsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShm
bGFncykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJlc3VsdC5pcHMucHVz
aF9iYWNrKHsgYWRkcmVzcy52YWx1ZSwgZmxhZ3MgfSk7CisgICAgfQorICAgIHJldHVybiB0cnVl
OworfQorCit2b2lkIFJUQ05ldHdvcms6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNv
bnN0Cit7CisgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCB1aW50OF90Kj4obmFtZS5kYXRhKCkpLCBuYW1lLmxlbmd0aCgpKTsKKyAgICBlbmNv
ZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3Qq
PihkZXNjcmlwdGlvbi5kYXRhKCkpLCBkZXNjcmlwdGlvbi5sZW5ndGgoKSk7CisgICAgZW5jb2Rl
ciA8PCBwcmVmaXg7CisgICAgZW5jb2RlciA8PCBwcmVmaXhMZW5ndGg7CisgICAgZW5jb2RlciA8
PCB0eXBlOworCisgICAgZW5jb2RlciA8PCBpZDsKKyAgICBlbmNvZGVyIDw8IHByZWZlcmVuY2U7
CisgICAgZW5jb2RlciA8PCBhY3RpdmU7CisgICAgZW5jb2RlciA8PCBpZ25vcmVkOworICAgIGVu
Y29kZXIgPDwgc2NvcGVJRDsKKworICAgIGVuY29kZXIgPDwgKHVpbnQ2NF90KWlwcy5zaXplKCk7
CisgICAgZm9yIChhdXRvJiBpcCA6IGlwcykgeworICAgICAgICBlbmNvZGVyIDw8IElQQWRkcmVz
cyB7IGlwIH07CisgICAgICAgIGVuY29kZXIgPDwgaXAuaXB2Nl9mbGFncygpOworICAgIH0KK30K
KworfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjhmM2E4ZWEyNzNj
ZDFjNDQxNDExOWMzMmZiZTgzZjI5YWRiZTcxMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmgKQEAgLTAsMCArMSw3MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KKyNp
bmNsdWRlIDx3ZWJydGMvYmFzZS9uZXR3b3JrLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4K
KworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsKK30KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBSVENOZXR3b3JrIHsKKyAgICBSVENOZXR3b3Jr
KCkgPSBkZWZhdWx0OworICAgIFJUQ05ldHdvcmsoY29uc3QgcnRjOjpOZXR3b3JrJik7CisKKyAg
ICBydGM6Ok5ldHdvcmsgdmFsdWUoKSBjb25zdDsKKworICAgIHZvaWQgZW5jb2RlKElQQzo6RW5j
b2RlciYpIGNvbnN0OworICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBSVENO
ZXR3b3JrJik7CisKKyAgICBzdHJ1Y3QgSVBBZGRyZXNzIHsKKyAgICAgICAgSVBBZGRyZXNzKCkg
PSBkZWZhdWx0OworICAgICAgICBleHBsaWNpdCBJUEFkZHJlc3MoY29uc3QgcnRjOjpJUEFkZHJl
c3MmIGFkZHJlc3MpOiB2YWx1ZShhZGRyZXNzKSB7IH0KKworICAgICAgICB2b2lkIGVuY29kZShJ
UEM6OkVuY29kZXImKSBjb25zdDsKKyAgICAgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6RGVj
b2RlciYsIElQQWRkcmVzcyYpOworCisgICAgICAgIHJ0Yzo6SVBBZGRyZXNzIHZhbHVlOworICAg
IH07CisKKyAgICBzdGQ6OnN0cmluZyBuYW1lOworICAgIHN0ZDo6c3RyaW5nIGRlc2NyaXB0aW9u
OworICAgIElQQWRkcmVzcyBwcmVmaXg7CisgICAgaW50IHByZWZpeExlbmd0aDsKKyAgICBpbnQg
dHlwZTsKKyAgICB1aW50MTZfdCBpZDsKKyAgICBpbnQgcHJlZmVyZW5jZTsKKyAgICBib29sIGFj
dGl2ZTsKKyAgICBib29sIGlnbm9yZWQ7CisgICAgaW50IHNjb3BlSUQ7CisgICAgc3RkOjpzdHJp
bmcga2V5OworICAgIHNpemVfdCBsZW5ndGg7CisgICAgc3RkOjp2ZWN0b3I8cnRjOjpJbnRlcmZh
Y2VBZGRyZXNzPiBpcHM7Cit9OworCit9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhj
b2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGQzMjAwODFmZWZkYWMzMDFhMjIxYjU0Nzkz
N2Y5ZTJjMTQ4YmNhNi4uNmZhZjU5MjUyMzc2Yjk5MjYxZWFiMzIyYjg1MzJlMmZiODU2Y2VkZiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhw
cm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJv
agpAQCAtODcxLDYgKzg3MSwyMiBAQAogCQkzRjg3QjlCRDE1ODk0MDEyMDA5MEZGNjIgLyogV2Vi
Q29sb3JDaG9vc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDNGODdCOUJBMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICov
OyB9OwogCQkzRjg3QjlCRTE1ODk0MDE5MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCQjE1ODkz
RjYzMDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggKi87IH07CiAJCTNGODdCOUMwMTU4OTQw
RDgwMDkwRkY2MiAvKiBXZWJDb2xvclBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9y
UGlja2VyLmggKi87IH07CisJCTQxMDQ4MkNEMURERDMyNEMwMEYwMDZEMCAvKiBSVENOZXR3b3Jr
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDQ4
MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLzsgfTsKKwkJNDEwNDgyQ0Ux
REREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3
b3JrLmggKi87IH07CisJCTQxMUIyMjY0MUUzNzFCQTYwMDRGNzM2MyAvKiBMaWJXZWJSVEMuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUIyMjYyMUUz
NzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMuaCAqLzsgfTsKKwkJNDExQjIyNjUxRTM3MUJBOTAw
NEY3MzYzIC8qIExpYldlYlJUQy5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTFCMjI2MzFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDLmNwcCAq
LzsgfTsKKwkJNDEzMDc1QTkxREU4NUYyQzAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1
OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQuY3BwICovOyB9OworCQk0
MTMwNzVBQTFERTg1RjMwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTlBMURFODRG
QjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwICovOyB9OworCQk0MTMwNzVB
QjFERTg1RjMzMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OTkxREU4NEZCMDAwMzlFQzY5
IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQuaCAqLzsgfTsKKwkJNDEzMDc1QUMxREU4NUYzNzAwMzlF
QzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtO
ZXR3b3JrTWFuYWdlci5oICovOyB9OworCQk0MTMwNzVBRDFERTg1RjU4MDAzOUVDNjkgLyogV2Vi
UGFja2V0U29ja2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0MTMwNzVBMDFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmggKi87IH07
CisJCTQxMzA3NUFFMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTExREU4NUVF
NzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5jcHAgKi87IH07CisJCTQxMzA3NUFGMURFODVG
NTgwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMjFERTg1RUU3MDAzOUVDNjkgLyogV2Vi
TmV0d29ya01hbmFnZXIuY3BwICovOyB9OworCQk0MTMwNzVCMDFERTg1RjU4MDAzOUVDNjkgLyog
V2ViTmV0d29ya01hbmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzA3NUEzMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5o
ICovOyB9OworCQk0MTMwNzVCMTFERTg1RjU4MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFj
dG9yeS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTMwNzVBNTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAgKi87
IH07CisJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVB
NjFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oICovOyB9OworCQk0
MTMwNzVCMzFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDQ2xpZW50LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5
RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuY3BwICovOyB9OworCQk0MTMwNzVCNDFERTg1RjU4MDAz
OUVDNjkgLyogTGliV2ViUlRDQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDQ2xp
ZW50LmggKi87IH07CiAJCTQ0NTBBRUMwMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFyZWRNZW1vcnlD
b2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwICovOyB9Owog
CQk0QTNDQzE4QTE5QjA2M0U3MDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RN
YW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNEE0MTBGMzkxOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1
ZXN0TWFuYWdlclByb3h5LmNwcCAqLzsgfTsKIAkJNEEzQ0MxOEIxOUIwNjQwRjAwRDE0QUVGIC8q
IFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEYzQTE5QUY3QjA0MDAyRUJBQjUg
LyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCAqLzsgfTsKQEAgLTEw
NDEsNiArMTA1NywxMSBAQAogCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5kbGVE
T01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxRkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4
dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTUxRjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2Vz
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBE
RTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9Owog
CQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlBhY2tldFNv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8q
IE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8q
IE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1MUYwNjBF
MTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2
MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovOyB9OworCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViTmV0d29ya01h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5h
Z2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJD
IC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkMgLyogTGliV2Vi
UlRDTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGN0RDNDExODBDQzkzNjAwMjEyQ0Ez
IC8qIFhQQ1NlcnZpY2VNYWluLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gQkM4MjgzOTYxNkI0N0VDNDAwQTI3OEZFIC8qIFhQQ1NlcnZpY2VNYWluLm1t
ICovOyB9OwogCQk1MUY3REM0MzE4MENDOTM2MDAyMTJDQTMgLyogRm91bmRhdGlvbi5mcmFtZXdv
cmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzNE
RTQ2ODE1QTkxNzYzMDA4RDI2RkMgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJCTUx
RjdEQzQ0MTgwQ0M5MzYwMDIxMkNBMyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29ya3Mg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOERDMkVGNUIwNDg2QTY5NDAwOThC
MjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CkBAIC0yOTc5LDYgKzMwMDAsMjcgQEAKIAkJ
M0Y4N0I5QkExNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb2xvckNob29zZXIuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQkzRjg3QjlCQjE1ODkzRjYzMDA5MEZGNjIgLyogV2ViQ29s
b3JDaG9vc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yQ2hv
b3Nlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzRjg3QjlCRjE1ODk0MEQ4MDA5
MEZGNjIgLyogV2ViQ29sb3JQaWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV2ViQ29sb3JQaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEwNDgy
Q0IxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gUlRDTmV0d29yay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ05ldHdvcmsuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVEMuaDsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL0xpYldlYlJUQy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTFCMjI2
MzFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQy5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVEMuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5ODFERTg0RkIw
MDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUGFja2V0U29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDEzMDc1OTkxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2Nr
ZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1BhY2tldFNvY2tl
dC5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUExREU4NEZCMDAwMzlFQzY5IC8q
IE5ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxMzA3NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya05ldHdvcmtNYW5hZ2Vy
Lmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlDMURFODRGQjAwMDM5RUM2OSAv
KiBOZXR3b3JrTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1l
ID0gTmV0d29ya05ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUQxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtQYWNr
ZXRTb2NrZXQubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTmV0d29ya1BhY2tl
dFNvY2tldC5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTMwNzU5RjFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbjsgcGF0aCA9
IE5ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTAxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNv
Y2tldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJQYWNrZXRTb2NrZXQu
aDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTMwNzVBMTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29j
a2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlBhY2tldFNv
Y2tldC5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBMjFERTg1RUU3MDAzOUVDNjkgLyogV2Vi
TmV0d29ya01hbmFnZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5k
aW5nID0gMDsgbmFtZSA9IFdlYk5ldHdvcmtNYW5hZ2VyLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2Vi
cnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5n
dWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3
NUEzMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJOZXR3b3JrTWFuYWdlci5oOyBwYXRoID0gTmV0d29yay93
ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDEzMDc1QTQxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmlu
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluOyBw
YXRoID0gTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGlu
ZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcDsgcGF0aCA9IE5l
dHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNw
cDsgfTsKKwkJNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3Rv
cnkuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViUGFja2V0U29ja2V0RmFj
dG9yeS5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyog
TGliV2ViUlRDQ2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVu
ZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENDbGllbnQuY3BwOyBwYXRoID0gTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDQ2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFn
ZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3NUE4
MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ0NsaWVudC5oOyBwYXRoID0g
TmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9
OworCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogTGliV2ViUlRDLm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVEMubWVzc2FnZXMu
aW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9ICI8bm9u
ZT4iOyB9OwogCQk0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2Eu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gU2hhcmVkTWVtb3J5Q29j
b2EuY3BwOyBwYXRoID0gY29jb2EvU2hhcmVkTWVtb3J5Q29jb2EuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk0QTQxMEYzNTE5QUY3QUMzMDAyRUJBQjUgLyogV0tVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJNEE0MTBGMzYxOUFGN0FDMzAwMkVCQUI1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lv
blJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzAwNiw3
ICszMDQ4LDcgQEAKIAkJNTEwNTIzNzYxQzczRDlGNjAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBXZWJJREJDb25u
ZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTUxMDUyMzc3MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNz
YWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
SURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTEwNTIzNzgxQzczREE3MDAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rp
b25Ub0NsaWVudE1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTUxMDVCMEQ0MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uLmNwcDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTEwNUIwRDQxNjJGN0E3QTAwRTI3
NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmNwcDsgcGF0aCA9IE5ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNv
ZGUubGFuZy5jcHA7IH07CiAJCTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmg7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA1QjBGMzE2MzA4NzJFMDBF
Mjc3MDkgLyogTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOZXR3b3JrUHJv
Y2Vzc1Byb3h5Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA2
RDdCRjE4QkRCRTczMDAwQUIxNjYgLyogQ29udGV4dE1lbnVDb250ZXh0RGF0YS5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBDb250ZXh0TWVudUNvbnRleHREYXRhLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMwNjMsNyArMzEwNSw3IEBACiAJCTUx
MkY1OEY0MTJBODhBNTQwMDYyOTUzMCAvKiBXS1Byb3RlY3Rpb25TcGFjZS5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXS1Byb3RlY3Rpb25TcGFjZS5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk1MTNBMTYzQTE2MzA4OEY2MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nl
c3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEzQTE2M0IxNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQ
cm9jZXNzUHJveHlNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBO
ZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJNTEzQTE2NDkxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTEz
QTE2NDkxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9Owog
CQk1MTNBMTY0QTE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxM0ExNjRCMTYzMEE5
QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNz
YWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTNFNDYyQjFB
RDgzNzU2MDAxNjIzNEEgLyogV0tTaGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0
ZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMzE3Niw2ICszMjE4LDExIEBACiAJ
CTUxRTM5OTA1MUQ2RjU0QzUwMDlDODgzMSAvKiBVSUdhbWVwYWRQcm92aWRlckNvY29hLm1tICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJD
b2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFFOTQ5OTYxRDc2MUNDNzAw
RUM5RUI5IC8qIFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAub2JqY3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxv
YWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxv
YWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFE
IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrTmV0
d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29y
a05ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5ldHdvcmtNYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQx
NjU0MzE3NTAwRjMyODJDIC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjdEQzRBMTgwQ0M5MzYwMDIxMkNBMyAv
KiBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy54cGMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJ3cmFwcGVyLnhwYy1zZXJ2aWNlIjsgaW5jbHVkZUlu
SW5kZXggPSAwOyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMueHBjOyBzb3VyY2VU
cmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUZBMkQ1NDE1MjExMTg2MDBDMUJBMEIg
LyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTQ2ODgsNiArNDczNSw4IEBACiAJCQkJQkNDNDNBQjkxMjdCOTVEQzAwMzE3
RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oICovLAogCQkJCUUxOEM5MkYzMTJEQjlFNzEw
MENGMkFFQiAvKiBQcmludEluZm8uY3BwICovLAogCQkJCUUxQ0MxQjhFMTJEN0VBREYwMDYyNTgz
OCAvKiBQcmludEluZm8uaCAqLywKKwkJCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyogUlRD
TmV0d29yay5jcHAgKi8sCisJCQkJNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdv
cmsuaCAqLywKIAkJCQlGNkEwQzEzRjEzMjgxRTZFMDA3MDQzMEYgLyogUmVzb3VyY2VDYWNoZXNU
b0NsZWFyLmggKi8sCiAJCQkJQkMyRDAyMTYxMkFDNDFDQjAwRTczMkEzIC8qIFNhbWVEb2N1bWVu
dE5hdmlnYXRpb25UeXBlLmggKi8sCiAJCQkJMUFBQjRBOEMxMjk2RjBBMjAwMjM5NTJGIC8qIFNh
bmRib3hFeHRlbnNpb24uaCAqLywKQEAgLTU1MzEsNiArNTU4MCwzOSBAQAogCQkJcGF0aCA9IFJl
c291cmNlcy9tYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0MTMwNzU5
NzFERTg0RUQ3MDAzOUVDNjkgLyogd2VicnRjICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJ
CQljaGlsZHJlbiA9ICgKKwkJCQk0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1Bh
Y2tldFNvY2tldC5jcHAgKi8sCisJCQkJNDEzMDc1OTkxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdv
cmtQYWNrZXRTb2NrZXQuaCAqLywKKwkJCQk0MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0
d29ya05ldHdvcmtNYW5hZ2VyLmNwcCAqLywKKwkJCQk0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkg
LyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmggKi8sCisJCQkJNDEzMDc1OUMxREU4NEZCMDAwMzlF
QzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzU5
RDFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLywK
KwkJCSk7CisJCQluYW1lID0gd2VicnRjOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKKwkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0YyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDEzMDc1OUYxREU4NUVFNzAwMzlFQzY5
IC8qIFdlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzVBMDFERTg1RUU3
MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmggKi8sCisJCQkJNDEzMDc1QTExREU4NUVFNzAw
MzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5jcHAgKi8sCisJCQkJNDEzMDc1QTIxREU4NUVFNzAw
MzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCAqLywKKwkJCQk0MTMwNzVBMzFERTg1RUU3
MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIuaCAqLywKKwkJCQk0MTMwNzVBNDFERTg1RUU3
MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJNDEzMDc1
QTUxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwICovLAorCQkJ
CTQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggKi8s
CisJCQkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ0NsaWVudC5jcHAgKi8s
CisJCQkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ0NsaWVudC5oICovLAor
CQkJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBMaWJXZWJSVEMubWVzc2FnZXMuaW4gKi8s
CisJCQkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5oICovLAorCQkJCTQx
MUIyMjYzMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMuY3BwICovLAorCQkJKTsKKwkJCW5h
bWUgPSB3ZWJydGM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk0NDUwQUVC
RTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKApAQCAtNTU1Myw2ICs1NjM1LDcgQEAKIAkJNTEwNUIwRDIxNjJGN0E1RTAw
RTI3NzA5IC8qIE5ldHdvcmsgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVu
ID0gKAorCQkJCTQxMzA3NTlFMURFODVFNjUwMDM5RUM2OSAvKiB3ZWJydGMgKi8sCiAJCQkJNTEw
NUIwRDQxNjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8s
CiAJCQkJNTEwNUIwRDUxNjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bi5oICovLAogCQkJCTUxRkIwOTAyMTYzQTNCMUMwMEVDMzI0QSAvKiBOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8sCkBAIC01NTc5LDYgKzU2NjIsNyBAQAogCQkJCUUxNzk4
Qzc2MTZFNjgxNTUwMDI0MDEzOSAvKiBGaWxlQVBJICovLAogCQkJCTJEQTk0NEJCMTg4NTExREQw
MEVEODZEQiAvKiBpb3MgKi8sCiAJCQkJNTEwQ0M3REMxNjEzOEUyOTAwRDAzRUQzIC8qIG1hYyAq
LywKKwkJCQk0MTMwNzU5NzFERTg0RUQ3MDAzOUVDNjkgLyogd2VicnRjICovLAogCQkJCTUxM0Ex
NjQ5MTYzMEE5QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
Ki8sCiAJCQkJNTEzQTE2NEExNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmggKi8sCiAJCQkJNTEzQTE2NEIxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluICovLApAQCAtNzQ0MSw2ICs3NTI1LDEx
IEBACiAJCQkJQkNFRTdBQ0MxMjgxNzk4ODAwOTgyN0RBIC8qIFdlYlByb2Nlc3NQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQkNFRTdBQ0QxMjgxNzk4ODAwOTgyN0RBIC8qIFdlYlBy
b2Nlc3NQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8q
IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1MUYwNjBERDE2
NTQzMTc1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywK
KwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkMgLyogTGliV2ViUlRDTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1BhY2tldFNv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFF
IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFG
MDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKIAkJCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oICovLAogCQkJCTdBNzkxRUY5MUM3Q0ZCMzcwMEM0QzUyQiAvKiBXZWJSZXNv
dXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTdBNzkx
RUY4MUM3Q0ZCMTAwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNz
YWdlcy5oICovLApAQCAtNzg4MCw2ICs3OTY5LDcgQEAKIAkJCQkxQTFFQzY5RTE4NzIwOTIxMDBC
OTUxRjAgLyogSW1wb3J0YW5jZUFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMDRF
RTMxMUM4M0U5ODAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk5MzVFRUJBMjEyNzc2MUQwMDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExp
c3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUJBNDEyNzc2MUQ2
MDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQ0VFN0RDNTEyOEI2NDVEMDA5ODI3REEgLyogSW5qZWN0ZWRCdW5kbGVDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQkI4MTFEMUFBMEY4QjEwMDZCMTk0MiAvKiBJbmpl
Y3RlZEJ1bmRsZUZpbGVIYW5kbGUuaCBpbiBIZWFkZXJzICovLApAQCAtODA3MCw2ICs4MTYwLDcg
QEAKIAkJCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGlt
UHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0RDlGNTcxOTExOUQzNTAwMDA2
M0E3IC8qIFNlcnZpY2VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QUIx
REU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBRkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3RhdGVDb2Rpbmcu
aCBpbiBIZWFkZXJzICovLAogCQkJCTc1M0UzRTBFMTg4NzM5ODkwMDE4ODQ5NiAvKiBTZXNzaW9u
VHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTU5LDYgKzgyNTAsNyBAQAogCQkJCTFBQTgz
RjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdD
bGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBX
ZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjQxREU4NUY1ODAw
MzlFQzY5IC8qIExpYldlYlJUQ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEN0Ix
MEY0Mzc4RDAwNThDMTVBIC8qIFdlYkRyYWdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
QTBFRjlGMTIzMzI2NDIwMDdEM0NGQiAvKiBXZWJFZGl0Q29tbWFuZFByb3h5LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzAzMkQ3RDEwRjQzNzhEMDA1OEMxNUEgLyogV2ViRWRpdG9yQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKQEAgLTgxODMsNiArODI3NSw3IEBACiAJCQkJQkM1NENBQ0IxMkQ2NDI5
MTAwNUM2N0IwIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzBFNjE4MzEyRDZDQjFEMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwRTYwNzMxMkQ2QkMyMDAwMTJBNzJB
IC8qIFdlYkdlb2xvY2F0aW9uUG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUFD
MURFODVGMzcwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuaCBpbiBIZWFkZXJzICov
LAogCQkJCUJDMUJFMUYyMTJENTREQkQwMDA0QTIyOCAvKiBXZWJHZW9sb2NhdGlvblByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDUwMzY3NjFCQ0VEMTlGMDBFMjBCQjMgLyogV2ViR2Vz
dHVyZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0E4OEIzMzFCQzZFOUNEMDBBQkE1QzIg
LyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBpbiBIZWFkZXJzICovLApAQCAtODE5Miw2ICs4Mjg1
LDcgQEAKIAkJCQk1MTFCMjRBNzEzMkUwOTU3MDAwNjVBMEMgLyogV2ViSWNvbkRhdGFiYXNlUHJv
eHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRDAyRjZDMTMyRUM3MzcwMEJFQUE5NiAvKiBXZWJJ
Y29uRGF0YWJhc2VQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1MjM3MDFD
NzM5RDQyMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50LmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTMwNzVBRDFERTg1RjU4MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTA1MjM3QTFDNzNEQTc3MDA3OTkzQ0IgLyogV2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxNDEyOTk0MUM2NDI4
QkIwMDU5RTcxNCAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXIuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMDUyMzc0MUM3M0QzOEIwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2ZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC04MjQ3LDYgKzgzNDEsNyBAQAogCQkJCUNEQTI5
QTFCMUNCREJGNDEwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDREEyOUEyOTFDQkVCNjdBMDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNz
aW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREEyOUEyMDFDQkVCNUZC
MDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTA0ODJDRTFEREQzMjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0RBMjlBMkIxQ0JFQjY3QTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lv
bk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQkzMUQ1OTI5RjE2NkUw
NjAwMDBFNkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzU3
NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVtLmggaW4gSGVhZGVycyAqLywKQEAg
LTg0NTksNiArODU1NCw3IEBACiAJCQkJMzcwRjM0QTMxODI5QkUxRTAwOTAyN0M4IC8qIFdLTmF2
aWdhdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MEYzNEE1MTgyOUJFQTMwMDkwMjdD
OCAvKiBXS05hdmlnYXRpb25EYXRhSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRjY5
RkE5MTE3NkQxQ0IwMDQ3MUE1MiAvKiBXS05hdmlnYXRpb25EYXRhUmVmLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTFCMjI2NDFFMzcxQkE2MDA0RjczNjMgLyogTGliV2ViUlRDLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkxQUJDM0RGQzE4OTlGNTFDMDA0RjA2MjYgLyogV0tOYXZpZ2F0aW9uRGVsZWdh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQTIwRDUxMThBRDUwRTAwMDVEMUVENCAvKiBXS05h
dmlnYXRpb25EZWxlZ2F0ZVByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQkMzREYxMTg5
OUM2QjYwMDRGMDYyNiAvKiBXS05hdmlnYXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkBA
IC04NTgxLDYgKzg2NzcsNyBAQAogCQkJCTM3N0VBRDQ5MTdFMkM3N0IwMDJEMTkzRCAvKiBXS1Vz
ZXJTY3JpcHRJbmplY3Rpb25UaW1lLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUFGMDg5RDE5MjY3
RkM4MDBCNjM5MEMgLyogV0tVc2VyU2NyaXB0SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDODgyREZBMUM3RTk5NzMwMDZCRjczMSAvKiBXS1VzZXJTY3JpcHRQcml2YXRlLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MTMwNzVCMDFERTg1RjU4MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFn
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDODlEMkE0MUE2Nzg4NzUwMDNBNUZERSAvKiBXS1Vz
ZXJTY3JpcHRSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODY5OUI1MTE2QUFEQUEwMDJBOTI1
QiAvKiBXS1ZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODY5OUI3MTE2QUFEQUEwMDJBOTI1
QiAvKiBXS1ZpZXdJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MjMxLDYgKzkzMjgsNyBA
QAogCQkJCTFBNDNFODI5MTg4RjNDREMwMDlFNEQzMCAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3Vy
YXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTlFMzI4RTE4MjE2NUE5MDBGNUQwNEMgLyog
X1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5RTMyOEEx
ODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNvdXJjZXMg
Ki8sCisJCQkJNDEwNDgyQ0QxREREMzI0QzAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQTU1QkE4MTExQkExMzE4MTAwN0NEMzNEIC8qIF9XS1JlbW90ZVdlYklu
c3BlY3RvclZpZXdDb250cm9sbGVyLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwMDJENDUxOTZC
MzM4RTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
NkIzNzFDMThBOTY3QUQwMDQyQUU4MCAvKiBfV0tUaHVtYm5haWxWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8sCkBAIC05MzU1LDYgKzk0NTMsNyBAQAogCQkJCThDRkVDRTk0MTQ5MEYxNDAwMDJBQUEzMiAv
KiBFZGl0b3JTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzAzMkRBNzEwRjQzN0QxMDA1
OEMxNUEgLyogRW5jb2Rlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUIxNUE4NDEzODQzQTM5
MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NDEzMDc1QUYxREU4NUY1ODAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBQTU3NUZBMTQ5NkI1MjYwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBNTc2MDIxNDk2Qjk3OTAwQTRFRTA2IC8qIEV2ZW50
RGlzcGF0Y2hlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwMEI5NjYx
OTE4RTI1QUUxMDBDRTFGODggLyogRmluZENsaWVudC5tbSBpbiBTb3VyY2VzICovLApAQCAtOTQ5
MSw2ICs5NTkwLDcgQEAKIAkJCQkxQTJEODJBODEyN0Y0RUFCMDAxRUI5NjIgLyogTlBSZW1vdGVP
YmplY3RNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyMTYxQjExMUYzNzY2NDAwOEFEMEY1
IC8qIE5QUnVudGltZU9iamVjdE1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTIxNjJCMDEx
RjM4OTcxMDA4QUQwRjUgLyogTlBSdW50aW1lVXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTQxMUIyMjY1MUUzNzFCQTkwMDRGNzM2MyAvKiBMaWJXZWJSVEMuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUEyRDg0QTQxMjdGNkFEMTAwMUVCOTYyIC8qIE5QVmFyaWFudERhdGEuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJQkM4QUNBMTQxNjY3MEQ4OTAwNEMxOTQxIC8qIE9iakNPYmplY3RH
cmFwaC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDMzg3NDM0MTcyRjU2MTUwMDFCRDg4QSAvKiBQ
YWdlQmFubmVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTUwOCw2ICs5NjA4LDcgQEAKIAkJCQk1
Qzg1Qzc4ODFDM0YyM0NFMDA2MUE0RkEgLyogUGVuZGluZ0Rvd25sb2FkLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTBGNUUyMDAzMThFNzcwNTEwMDNFQzNFNSAvKiBQbGF0Zm9ybUNBQW5pbWF0aW9u
UmVtb3RlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRBMDQ5QjMxODBDQ0NEMzAwQUFGQTlFIC8q
IFBsYXRmb3JtQ0FMYXllclJlbW90ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBOTFE
RTg1RjJDMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyRDg3MTAxNjE4Mjg0MTVEMDAxOEZBMDEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlQ3Vz
dG9tLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4OTQ5RjAxODIwNDRGNjAwRTg5OEFBIC8qIFBs
YXRmb3JtQ0FMYXllclJlbW90ZVRpbGVkQmFja2luZy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlC
Q0M0M0FCQTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmNwcCBpbiBT
b3VyY2VzICovLApAQCAtOTcxNyw2ICs5ODE4LDcgQEAKIAkJCQlCQzBFNjA2MTEyRDZCQTkxMDAx
MkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDNTRDQUNDMTJENjQyOTEwMDVDNjdCMCAvKiBXZWJHZW9sb2NhdGlvbk1h
bmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBFNjE4MjEyRDZDQjFEMDAxMkE3
MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDEzMDc1QUUxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tl
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBFNjA3NDEyRDZCQzIwMDAxMkE3MkEgLyogV2Vi
R2VvbG9jYXRpb25Qb3NpdGlvbi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzFCRTFGMzEyRDU0
REJEMDAwNEEyMjggLyogV2ViR2VvbG9jYXRpb25Qcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkyRDUwMzY3NTFCQ0VEMTlGMDBFMjBCQjMgLyogV2ViR2VzdHVyZUV2ZW50LmNwcCBpbiBT
b3VyY2VzICovLApAQCAtOTgzNiw2ICs5OTM4LDExIEBACiAJCQkJMzc2MDg4MUUxNTA0MTNFOTAw
RkM4MkM3IC8qIFdlYlJlbmRlck9iamVjdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTBBRkZC
OTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgx
QyAvKiBXZWJQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUQgLyogTmV0d29y
a1BhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYw
NjBFMTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRiAvKiBX
ZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3
QTc5MUVGQzFDN0QwOEM1MDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBNzkxRUZBMUM3Q0ZDRjEwMEM0QzUyQiAvKiBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0MzNjFENzIxOTI3RkEzNjAwMzZBNTlEIC8qIFdlYlNjcmlwdE1lc3NhZ2VIYW5k
bGVyLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTg2MywxMCArOTk3MCwxMiBAQAogCQkJCTNGNDE4
RUY5MTg4N0JEOTcwMDI3OTVGRCAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUyRDVBMUIxMUM1NzQ5NjIwMERFMzRBMyAv
KiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHkubW0gaW4gU291cmNlcyAqLywKIAkJCQkz
RjQxOEVGQjE4ODdCRDk3MDAyNzk1RkQgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUIzMURFODVGNTgw
MDM5RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRGQzdE
QkMxQkNDQzE5NTAwQzE1NDhDIC8qIFdlYlZpZXdJbXBsLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJ
QzAzMzdERDExMjdBMjk4MDAwOEZGNEY0IC8qIFdlYldoZWVsRXZlbnQuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODY4MTYwRDAxODc2NDU1NzAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rp
b24ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOUNENTVBQjEyOEUyOTRGMDAxMzNDODUgLyogV0tB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdEJhc2UubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTMw
NzVCMTFERTg1RjU4MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQkyOTIzMkRGODE4QjJBOUFFMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmlsaXR5
V2ViUGFnZU9iamVjdElPUy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI5MjMyREY5MThCMkFCM0Ew
MEQwNTk2RiAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0TWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMEZDQjRFNDkxOEJCRTA0NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXQubW0gaW4g
U291cmNlcyAqLywKQEAgLTk4ODQsNiArOTk5Myw3IEBACiAJCQkJQkNCQUFDRjUxNDUyMzI0RjAw
NTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3JvdXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkx
QUUwMEQ0QzE4MkQ2RUIwMDAwODdERDcgLyogV0tCcm93c2luZ0NvbnRleHRIYW5kbGUubW0gaW4g
U291cmNlcyAqLywKIAkJCQlCQzIwNEVFRTExQzgzRUM4MDA4RjMzNzUgLyogV0tCdW5kbGUuY3Bw
IGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QUExREU4NUYzMDAwMzlFQzY5IC8qIE5ldHdvcmtO
ZXR3b3JrTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVFRUI5RTEyNzc2MUFDMDAz
MzIyQjggLyogV0tCdW5kbGVCYWNrRm9yd2FyZExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTM1RUVCQTAxMjc3NjFBQzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUZBMkQ3NzE1MjEyRTI2MDBDMUJBMEIgLyogV0tCdW5k
bGVET01XaW5kb3dFeHRlbnNpb24uY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNw
cCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24uY3BwCmluZGV4IDA4YWIxZTM1NTE2ZjE4ZDljMGQ0NTdlZjYxNDQxOWE5YmMzMDBkNzYu
Ljc2YTQ2Zjc2MzYwMjI4YjdmY2UzMDVkODlmOTZiYTZhNjJhNDQ1MzMgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24uY3BwCkBAIC0yNyw5ICsyNywxNCBAQAogI2luY2x1ZGUgIk5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbi5oIgogCiAjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2lu
Y2x1ZGUgIldlYkxvYWRlclN0cmF0ZWd5LmgiCisjaW5jbHVkZSAiV2ViTmV0d29ya01hbmFnZXIu
aCIKKyNpbmNsdWRlICJXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2Vi
UGFja2V0U29ja2V0LmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0TWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJQcm9jZXNzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVkUmVzb3VyY2UuaD4KQEAgLTU0LDEyICs1OSwy
NyBAQCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246On5OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24o
KQogdm9pZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlm
IChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUmVzb3VyY2VM
b2FkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBpZiAoV2ViUmVzb3VyY2VM
b2FkZXIqIHdlYlJlc291cmNlTG9hZGVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViTG9h
ZGVyU3RyYXRlZ3koKS53ZWJSZXNvdXJjZUxvYWRlckZvcklkZW50aWZpZXIoZGVjb2Rlci5kZXN0
aW5hdGlvbklEKCkpKQorICAgICAgICBpZiAoYXV0byogd2ViUmVzb3VyY2VMb2FkZXIgPSBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS53ZWJMb2FkZXJTdHJhdGVneSgpLndlYlJlc291cmNlTG9hZGVy
Rm9ySWRlbnRpZmllcihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpCiAgICAgICAgICAgICB3ZWJS
ZXNvdXJjZUxvYWRlci0+ZGlkUmVjZWl2ZVdlYlJlc291cmNlTG9hZGVyTWVzc2FnZShjb25uZWN0
aW9uLCBkZWNvZGVyKTsKLSAgICAgICAgCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBV
U0UoTElCV0VCUlRDKQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBN
ZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAg
ICAgaWYgKGF1dG8qIHdlYlBhY2tldFNvY2tldCA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxp
YldlYlJUQygpLndlYlBhY2tldFNvY2tldEZvcklkZW50aWZpZXIoZGVjb2Rlci5kZXN0aW5hdGlv
bklEKCkpKQorICAgICAgICAgICAgd2ViUGFja2V0U29ja2V0LT5kaWRSZWNlaXZlV2ViUGFja2V0
U29ja2V0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Oldl
Yk5ldHdvcmtNYW5hZ2VyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDKCkubmV0d29ya01hbmFnZXIoKS5kaWRSZWNlaXZl
V2ViTmV0d29ya01hbmFnZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBN
ZXNzYWdlczo6TGliV2ViUlRDOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDKCkuZGlkUmVjZWl2ZUxpYldlYlJUQ01lc3Nh
Z2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYK
KwogICAgIGRpZFJlY2VpdmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKGNvbm5lY3Rp
b24sIGRlY29kZXIpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNDk2ZWEyN2Q3MGIxZDk2
MDQ3ZGY4MWQzYzQ5MjI2ODQwZmFmZjhkMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmNwcApAQCAtMCwwICsxLDYx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldlYlJU
Qy5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYk5ldHdvcmtNYW5hZ2Vy
LmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3BlZXJjb25uZWN0aW9u
ZmFjdG9yeS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBMaWJXZWJSVEM6OmluaXRp
YWxpemUoKQoreworICAgIGlmIChtX3NvY2tldEZhY3RvcnkpCisgICAgICAgIHJldHVybjsKKwor
ICAgIG1fc29ja2V0RmFjdG9yeSA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViUGFja2V0U29ja2V0RmFj
dG9yeT4oKTsKKyAgICBtX3dlYk5ldHdvcmtNYW5hZ2VyID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJO
ZXR3b3JrTWFuYWdlcj4oKTsKK30KKworV2ViUGFja2V0U29ja2V0KiBMaWJXZWJSVEM6OndlYlBh
Y2tldFNvY2tldEZvcklkZW50aWZpZXIodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICBBU1NF
UlQobV9zb2NrZXRGYWN0b3J5KTsKKyAgICByZXR1cm4gbV9zb2NrZXRGYWN0b3J5LT53ZWJQYWNr
ZXRTb2NrZXQoaWRlbnRpZmllcik7Cit9CisKK1dlYk5ldHdvcmtNYW5hZ2VyJiBMaWJXZWJSVEM6
Om5ldHdvcmtNYW5hZ2VyKCkKK3sKKyAgICBBU1NFUlQobV93ZWJOZXR3b3JrTWFuYWdlcik7Cisg
ICAgcmV0dXJuICptX3dlYk5ldHdvcmtNYW5hZ2VyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMjEwMzc2
NzI2M2NhZjQwN2Y4Yjc4Yjk1ZmYwOGY1MmI2MzAwMDliCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaApAQCAtMCww
ICsxLDYwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRD
KQorCisjaW5jbHVkZSAiV2ViTmV0d29ya01hbmFnZXIuaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENDbGllbnQuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d2VicnRjL2FwaS9w
ZWVyY29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExp
YldlYlJUQyB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDKCkgPSBkZWZhdWx0OworCisgICAgdm9p
ZCBpbml0aWFsaXplKCk7CisKKyAgICBXZWJQYWNrZXRTb2NrZXQqIHdlYlBhY2tldFNvY2tldEZv
cklkZW50aWZpZXIodWludDY0X3QpOworICAgIFdlYk5ldHdvcmtNYW5hZ2VyJiBuZXR3b3JrTWFu
YWdlcigpOworICAgIFdlYlBhY2tldFNvY2tldEZhY3RvcnkmIHNvY2tldEZhY3RvcnkoKSBjb25z
dCB7IHJldHVybiAqbV9zb2NrZXRGYWN0b3J5OyB9CisKKyAgICB2b2lkIGRpZFJlY2VpdmVMaWJX
ZWJSVENNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworCitwcml2YXRl
OgorICAgIHZvaWQgZ2V0UmVzb2x2ZWRBZGRyZXNzKHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0
IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMpIHsgbV9zb2NrZXRGYWN0
b3J5LT5nZXRSZXNvbHZlZEFkZHJlc3MoaWRlbnRpZmllciwgYWRkcmVzc2VzKTsgfQorICAgIHZv
aWQgcmVzb2x2ZWRBZGRyZXNzRXJyb3IodWludDY0X3QgaWRlbnRpZmllciwgaW50IGVycm9yKSB7
IG1fc29ja2V0RmFjdG9yeS0+cmVzb2x2ZWRBZGRyZXNzRXJyb3IoaWRlbnRpZmllciwgZXJyb3Ip
OyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8V2ViUGFja2V0U29ja2V0RmFjdG9yeT4gbV9zb2Nr
ZXRGYWN0b3J5OworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJOZXR3b3JrTWFuYWdlcj4gbV93ZWJO
ZXR3b3JrTWFuYWdlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
VVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzM0
ZGVhOTM1YmRkNjBlNTA5MDI4OGY4NTljNzk2Y2Y0NjBlODE0ZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLm1lc3Nh
Z2VzLmluCkBAIC0wLDAgKzEsMzAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisj
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIK
KyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IExpYldlYlJUQyBMZWdh
Y3lSZWNlaXZlciB7CisgICAgdm9pZCBHZXRSZXNvbHZlZEFkZHJlc3ModWludDY0X3QgaWRlbnRp
ZmllciwgVmVjdG9yPFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzPiBhZGRyZXNzZXMpCisg
ICAgdm9pZCBSZXNvbHZlZEFkZHJlc3NFcnJvcih1aW50NjRfdCBpZGVudGlmaWVyLCBpbnQgZXJy
b3IpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmI2NDUwN2YzZTBkYWFjMWI1ZTU2NmNlZTQ0MTJmYTZjZjU5NjcyNGEKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ0NsaWVudC5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENDbGllbnQuaCIKKworI2lmIFVTRShM
SUJXRUJSVEMpCisKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9M
aWJXZWJSVENVdGlscy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcGVlcmNvbm5lY3Rpb25mYWN0
b3J5Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitMaWJXZWJSVENDbGllbnQ6OkxpYldlYlJU
Q0NsaWVudCgpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuaW5pdGlhbGl6ZUxpYldl
YlJUQygpOworfQorCitydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVjdGlvbklu
dGVyZmFjZT4gTGliV2ViUlRDQ2xpZW50OjpjcmVhdGVQZWVyQ29ubmVjdGlvbih3ZWJydGM6OlBl
ZXJDb25uZWN0aW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAgIHJldHVybiBXZWJDb3JlOjpj
cmVhdGVQZWVyQ29ubmVjdGlvbihvYnNlcnZlciwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGli
V2ViUlRDKCkubmV0d29ya01hbmFnZXIoKSwgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2Vi
UlRDKCkuc29ja2V0RmFjdG9yeSgpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjNh
ZTM5ODAxMjE2MGVjNDU1YzA3MmU0Y2U2NzM4NWFhZGE4NTQ1MQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50
LmgKQEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDQ2xpZW50Lmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJXZWJSVENDbGllbnQgZmluYWwgOiBwdWJsaWMg
V2ViQ29yZTo6TGliV2ViUlRDQ2xpZW50IHsKK3B1YmxpYzoKKyAgICBMaWJXZWJSVENDbGllbnQo
KTsKKworcHJpdmF0ZToKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVj
dGlvbkludGVyZmFjZT4gY3JlYXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlv
bk9ic2VydmVyJikgZmluYWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjliMTRhYThmMjYyMGQwYTlkYTU5NmRkYzU5Mzg1NDU2YjNhYTRhMmQKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtN
YW5hZ2VyLmNwcApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYk5ldHdvcmtNYW5hZ2VyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRD
KQorCisjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgor
I2luY2x1ZGUgIk5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1
ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJOZXR3b3JrTWFuYWdlcjo6U3RhcnRV
cGRhdGluZygpCit7CisgICAgaWYgKG1fY2xpZW50Q291bnQpIHsKKyAgICAgICAgLy8gTmVlZCB0
byBzaWduYWwgbmV3IGNsaWVudCB0aGF0IHdlIGFscmVhZHkgaGF2ZSB0aGUgbmV0d29yayBsaXN0
LCBsZXQncyBkbyBpdCBhc3luY2hyb25vdXNseQorICAgICAgICBpZiAobV9yZWNlaXZlZE5ldHdv
cmtMaXN0KSB7CisgICAgICAgICAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFk
KFt0aGlzXSB7CisgICAgICAgICAgICAgICAgU2lnbmFsTmV0d29ya3NDaGFuZ2VkKCk7CisgICAg
ICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIG1fcmVjZWl2ZWRO
ZXR3b3JrTGlzdCA9IGZhbHNlOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtdKCkgeworICAg
ICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25u
ZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpTdGFydFVwZGF0
aW5nKCksIDApOworICAgICAgICB9KTsKKyAgICB9CisgICAgKyttX2NsaWVudENvdW50OworfQor
Cit2b2lkIFdlYk5ldHdvcmtNYW5hZ2VyOjpTdG9wVXBkYXRpbmcoKQoreworICAgIEFTU0VSVCht
X2NsaWVudENvdW50KTsKKyAgICBpZiAoLS1tX2NsaWVudENvdW50KQorICAgICAgICByZXR1cm47
CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFtdKCkgeworICAgICAgICBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpO
ZXR3b3JrTmV0d29ya01hbmFnZXI6OlN0b3BVcGRhdGluZygpLCAwKTsKKyAgICB9KTsKK30KKwor
dm9pZCBXZWJOZXR3b3JrTWFuYWdlcjo6bmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZlY3RvcjxSVENO
ZXR3b3JrPiYgbmV0d29ya3MsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2NCwgY29u
c3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBpcHY2KQoreworICAgIC8vIE5vIG5lZWQgdG8gcHJv
dGVjdCAndGhpcycgYXMgaXQgaGFzIHRoZSBsaWZldGltZSBvZiBMaWJXZWJSVEMgd2hpY2ggaGFz
IHRoZSBsaWZldGltZSBvZiB0aGUgd2ViIHByb2Nlc3MuCisgICAgV2ViQ29yZTo6Y2FsbE9uV2Vi
UlRDTmV0d29ya1RocmVhZChbdGhpcywgbmV0d29ya3MsIGlwdjQsIGlwdjZdIHsKKyAgICAgICAg
c3RkOjp2ZWN0b3I8cnRjOjpOZXR3b3JrKj4gbmV0d29ya0xpc3QobmV0d29ya3Muc2l6ZSgpKTsK
KyAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG5ldHdvcmtzLnNpemUoKTsg
KytpbmRleCkKKyAgICAgICAgICAgIG5ldHdvcmtMaXN0W2luZGV4XSA9IG5ldyBydGM6Ok5ldHdv
cmsobmV0d29ya3NbaW5kZXhdLnZhbHVlKCkpOworCisgICAgICAgIGJvb2wgZm9yY2VTaWduYWxp
bmcgPSAhbV9yZWNlaXZlZE5ldHdvcmtMaXN0OworICAgICAgICBtX3JlY2VpdmVkTmV0d29ya0xp
c3QgPSB0cnVlOworCisgICAgICAgIGJvb2wgaGFzQ2hhbmdlZDsKKyAgICAgICAgc2V0X2RlZmF1
bHRfbG9jYWxfYWRkcmVzc2VzKGlwdjQudmFsdWUsIGlwdjYudmFsdWUpOworICAgICAgICBNZXJn
ZU5ldHdvcmtMaXN0KG5ldHdvcmtMaXN0LCAmaGFzQ2hhbmdlZCk7CisgICAgICAgIGlmIChoYXND
aGFuZ2VkIHx8IGZvcmNlU2lnbmFsaW5nKQorICAgICAgICAgICAgU2lnbmFsTmV0d29ya3NDaGFu
Z2VkKCk7CisKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjYyNThl
ZDY3NGIyOWQ1MmE1MGJmNjUxMzI2M2EyMmU1NTU4MjczNjgKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2Vy
LmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2Ug
SVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworc3RydWN0IE5ldHdvcmtzQ2hhbmdlZERhdGE7CisKK2NsYXNzIFdlYk5ldHdv
cmtNYW5hZ2VyIGZpbmFsIDogcHVibGljIHJ0Yzo6TmV0d29ya01hbmFnZXJCYXNlIHsKK3B1Ymxp
YzoKKyAgICBXZWJOZXR3b3JrTWFuYWdlcigpIHsgfQorCisgICAgdm9pZCBkaWRSZWNlaXZlV2Vi
TmV0d29ya01hbmFnZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwor
Citwcml2YXRlOgorICAgIHZvaWQgbmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZlY3RvcjxSVENOZXR3
b3JrPiYgbmV0d29ya0xpc3QsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYsIGNvbnN0IFJU
Q05ldHdvcms6OklQQWRkcmVzcyYpOworCisgICAgdm9pZCBTdGFydFVwZGF0aW5nKCkgZmluYWw7
CisgICAgdm9pZCBTdG9wVXBkYXRpbmcoKSBmaW5hbDsKKworICAgIHVuc2lnbmVkIG1fY2xpZW50
Q291bnQgeyAwIH07CisgICAgYm9vbCBtX3JlY2VpdmVkTmV0d29ya0xpc3QgeyBmYWxzZSB9Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJO
ZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTJk
NjliYzljNmNjZjg5YzkwNzA4MmI5MjY3YTdmNjIxZTUyZjFmMAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFn
ZXIubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwyOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5E
CisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQor
IyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gV2ViTmV0
d29ya01hbmFnZXIgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgTmV0d29ya3NDaGFuZ2VkKFZl
Y3RvcjxXZWJLaXQ6OlJUQ05ldHdvcms+IG5ldHdvcmtzLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQ
QWRkcmVzcyBkZWZhdWx0SVBWNEFkZHJlc3MsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNz
IGRlZmF1bHRJUFY2QWRkcmVzcykKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tl
dFNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
YlBhY2tldFNvY2tldC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI3Y2Y3MDkzMzZhMjU1ODM4NTk5ZDJlMDY0
ZTA1ZWQ0NzM0NTMyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcApAQCAtMCwwICsxLDIwOCBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2Nr
ZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CisjaW5jbHVkZSAiTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0RmFjdG9y
eS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUGFja2V0U29ja2V0OjpXZWJQYWNrZXRTb2Nr
ZXQoV2ViUGFja2V0U29ja2V0RmFjdG9yeSYgZmFjdG9yeSwgVHlwZSB0eXBlLCBjb25zdCBydGM6
OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBy
ZW1vdGVBZGRyZXNzKQorICAgIDogbV9mYWN0b3J5KGZhY3RvcnkpCisgICAgLCBtX3R5cGUodHlw
ZSkKKyAgICAsIG1fbG9jYWxBZGRyZXNzKGxvY2FsQWRkcmVzcykKKyAgICAsIG1fcmVtb3RlQWRk
cmVzcyhyZW1vdGVBZGRyZXNzKQoreworICAgIG1fZmFjdG9yeS5hdHRhY2goKnRoaXMpOworICAg
IHN0ZDo6ZmlsbF9uKG1fb3B0aW9ucywgTUFYX1NPQ0tFVF9PUFRJT04sIC0xKTsKK30KKworV2Vi
UGFja2V0U29ja2V0Ojp+V2ViUGFja2V0U29ja2V0KCkKK3sKKyAgICBtX2ZhY3RvcnkuZGV0YWNo
KCp0aGlzKTsKK30KKworcnRjOjpTb2NrZXRBZGRyZXNzIFdlYlBhY2tldFNvY2tldDo6R2V0TG9j
YWxBZGRyZXNzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9sb2NhbEFkZHJlc3M7Cit9CisKK3J0
Yzo6U29ja2V0QWRkcmVzcyBXZWJQYWNrZXRTb2NrZXQ6OkdldFJlbW90ZUFkZHJlc3MoKSBjb25z
dAoreworICAgIHJldHVybiBtX3JlbW90ZUFkZHJlc3M7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29j
a2V0OjpzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJiBhZGRyZXNzKQoreworICAgIGF1
dG8qIGZhY3RvcnkgPSAmbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlk
ZW50aWZpZXIoKTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlz
LCBmYWN0b3J5LCBpZGVudGlmaWVyLCBhZGRyZXNzXSgpIHsKKyAgICAgICAgLy8gRklYTUU6IFdl
IHNob3VsZCBwcm9iYWJseSBtb3ZlIHRoaXMgY29kZSBvdXQgb2YgV2ViUGFja2V0U29ja2V0IHNv
IHdlIGRvIG5vdCBjaGVjayB0d2ljZSB0aGUgaWRlbnRpZmllciBpbiB0aGUgZmFjdG9yeS4KKyAg
ICAgICAgaWYgKCFmYWN0b3J5LT53ZWJQYWNrZXRTb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIGlmIChtX3R5cGUgPT0gVHlwZTo6Q2xpZW50VENQKQorICAg
ICAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5FQ1RFRDsKKyAgICAgICAgZWxzZQorICAgICAg
ICAgICAgbV9zdGF0ZSA9IFNUQVRFX0JPVU5EOworICAgICAgICBtX2xvY2FsQWRkcmVzcy5Gcm9t
U3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIFNpZ25hbEFkZHJlc3NSZWFk
eSh0aGlzLCBtX2xvY2FsQWRkcmVzcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29j
a2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29u
c3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90
IHRpbWVzdGFtcCkKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9yeTsKKyAgICBhdXRv
IGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgUmVmUHRyPFdlYkNvcmU6OlNo
YXJlZEJ1ZmZlcj4gYnVmZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5k
YXRhKCksIGRhdGEuc2l6ZSgpKTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhy
ZWFkKFt0aGlzLCBmYWN0b3J5LCBpZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciks
IGFkZHJlc3MsIHBvcnQsIHRpbWVzdGFtcF0oKSB7CisgICAgICAgIGlmICghZmFjdG9yeS0+d2Vi
UGFja2V0U29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBt
X3JlbW90ZUFkZHJlc3MgPSBydGM6OlNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCk7
CisgICAgICAgIFNpZ25hbFJlYWRQYWNrZXQodGhpcywgYnVmZmVyLT5kYXRhKCksIGJ1ZmZlci0+
c2l6ZSgpLCBtX3JlbW90ZUFkZHJlc3MsIHJ0Yzo6UGFja2V0VGltZSh0aW1lc3RhbXAsIDApKTsK
KyAgICB9KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQoaW50
IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1lTXMpCit7CisgICAgYXV0byogZmFjdG9yeSA9
ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOwor
ICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGZhY3RvcnksIGlk
ZW50aWZpZXIsIHJ0Y1BhY2tldElELCBzZW5kVGltZU1zXSgpIHsKKyAgICAgICAgaWYgKCFmYWN0
b3J5LT53ZWJQYWNrZXRTb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzICs9IG1fYmVpbmdTZW50UGFja2V0U2l6ZXMu
dGFrZUZpcnN0KCk7CisgICAgICAgIFNpZ25hbFNlbnRQYWNrZXQodGhpcywgcnRjOjpTZW50UGFj
a2V0KHJ0Y1BhY2tldElELCBzZW5kVGltZU1zKSk7CisgICAgICAgIGlmIChtX3Nob3VsZFNpZ25h
bFJlYWR5VG9TZW5kKSB7CisgICAgICAgICAgICBtX3Nob3VsZFNpZ25hbFJlYWR5VG9TZW5kID0g
ZmFsc2U7CisgICAgICAgICAgICBTaWduYWxSZWFkeVRvU2VuZCh0aGlzKTsKKyAgICAgICAgfQor
ICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdCgpCit7Cisg
ICAgYXV0byogZmFjdG9yeSA9ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhp
cy0+aWRlbnRpZmllcigpOworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQo
W3RoaXMsIGZhY3RvcnksIGlkZW50aWZpZXJdKCkgeworICAgICAgICBpZiAoIWZhY3RvcnktPndl
YlBhY2tldFNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAg
bV9zdGF0ZSA9IFNUQVRFX0NPTk5FQ1RFRDsKKyAgICAgICAgU2lnbmFsQ29ubmVjdCh0aGlzKTsK
KyAgICB9KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKGludCBlcnJv
cikKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9yeTsKKyAgICBhdXRvIGlkZW50aWZp
ZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29y
a1RocmVhZChbdGhpcywgZmFjdG9yeSwgaWRlbnRpZmllciwgZXJyb3JdKCkgeworICAgICAgICBp
ZiAoIWZhY3RvcnktPndlYlBhY2tldFNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0NMT1NFRDsKKyAgICAgICAgU2lnbmFsQ2xv
c2UodGhpcywgZXJyb3IpOworICAgIH0pOworfQorCitJUEM6OkNvbm5lY3Rpb24qIFdlYlBhY2tl
dFNvY2tldDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKQoreworICAgIHJldHVybiAmV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7Cit9CisK
K3N0YXRpYyBpbmxpbmUgU3RyaW5nIGF1dGhLZXkoY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBv
cHRpb25zKQoreworICAgIGlmIChvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhf
a2V5LnNpemUoKSA8PSAwKQorICAgICAgICByZXR1cm4geyB9OworICAgIHJldHVybiBTdHJpbmco
b3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5kYXRhKCksIG9wdGlvbnMu
cGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkuc2l6ZSgpKTsKK30KKworCitib29sIFdl
YlBhY2tldFNvY2tldDo6d2lsbFNlbmQoc2l6ZV90IHNpemUpCit7CisgICAgaWYgKHNpemUgPiBt
X2F2YWlsYWJsZVNlbmRpbmdCeXRlcykgeworICAgICAgICBtX3Nob3VsZFNpZ25hbFJlYWR5VG9T
ZW5kID0gdHJ1ZTsKKyAgICAgICAgc2V0RXJyb3IoRVdPVUxEQkxPQ0spOworICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgfQorICAgIG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzIC09IHNpemU7Cisg
ICAgbV9iZWluZ1NlbnRQYWNrZXRTaXplcy5hcHBlbmQoc2l6ZSk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OlNlbmRUbyhjb25zdCB2b2lkICp2YWx1ZSwgc2l6
ZV90IHNpemUsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgY29uc3QgcnRjOjpQ
YWNrZXRPcHRpb25zJiBvcHRpb25zKQoreworICAgIGlmICghd2lsbFNlbmQoc2l6ZSkpCisgICAg
ICAgIHJldHVybiAtMTsKKworICAgIGF1dG8gYnVmZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVy
OjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlKSwgc2l6ZSk7CisgICAg
YXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOworCisgICAgY2FsbE9uTWFpblRo
cmVhZChbaWRlbnRpZmllciwgYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBvcHRp
b25zXSB7CisgICAgICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8
Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5zaXplKCkpOworICAgICAg
ICBTdHJpbmcgc3J0cEF1dGhLZXkgPSBhdXRoS2V5KG9wdGlvbnMpOworICAgICAgICBNZXNzYWdl
czo6TmV0d29ya1BhY2tldFNvY2tldDo6U2VuZFRvIG1lc3NhZ2UoZGF0YSwgUlRDTmV0d29yazo6
SVBBZGRyZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgb3B0aW9ucy5wYWNr
ZXRfaWQsIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRlbnNpb25f
aWQsIHNydHBBdXRoS2V5LCBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX3BhY2tldF9p
bmRleCwgb3B0aW9ucy5kc2NwKTsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0
d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChXVEZNb3ZlKG1lc3NhZ2UpLCBpZGVu
dGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gc2l6ZTsKK30KKworaW50IFdlYlBhY2tldFNv
Y2tldDo6Q2xvc2UoKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZpZXIo
KTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSB7CisgICAgICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVz
c2FnZXM6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OkNsb3NlKCksIGlkZW50aWZpZXIpOworICAgIH0p
OworICAgIHJldHVybiAwOworfQorCitpbnQgV2ViUGFja2V0U29ja2V0OjpHZXRPcHRpb24ocnRj
OjpTb2NrZXQ6Ok9wdGlvbiBvcHRpb24sIGludCogdmFsdWUpCit7CisgICAgQVNTRVJUKG9wdGlv
biA8IE1BWF9TT0NLRVRfT1BUSU9OKTsKKyAgICBpbnQgc3RvcmVkVmFsdWUgPSBtX29wdGlvbnNb
b3B0aW9uXTsKKyAgICBpZiAoc3RvcmVkVmFsdWUgIT0gLTEpCisgICAgICAgICp2YWx1ZSA9IG1f
b3B0aW9uc1tvcHRpb25dOworICAgIHJldHVybiAwOworfQorCitpbnQgV2ViUGFja2V0U29ja2V0
OjpTZXRPcHRpb24ocnRjOjpTb2NrZXQ6Ok9wdGlvbiBvcHRpb24sIGludCB2YWx1ZSkKK3sKKyAg
ICBBU1NFUlQob3B0aW9uIDwgTUFYX1NPQ0tFVF9PUFRJT04pOworCisgICAgY2FsbE9uTWFpblRo
cmVhZChbdGhpcywgb3B0aW9uLCB2YWx1ZV0geworICAgICAgICBtX29wdGlvbnNbb3B0aW9uXSA9
IHZhbHVlOworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlv
bigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUGFja2V0U29ja2V0OjpTZXRP
cHRpb24ob3B0aW9uLCB2YWx1ZSksIG1faWRlbnRpZmllcik7CisgICAgfSk7CisgICAgcmV0dXJu
IDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
V2ViUGFja2V0U29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlBhY2tldFNvY2tldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjI4ZTE3MGRkNzk2NmNiN2MzZjg5OTlm
Y2VmOGFlYjIxYWEzNzNmMGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5oCkBAIC0wLDAgKzEsMTA4IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5j
bHVkZSAiTWVzc2FnZVNlbmRlci5oIgorI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKworI2luY2x1
ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgor
CituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEYXRhUmVmZXJlbmNl
OworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlBh
Y2tldFNvY2tldEZhY3Rvcnk7CisKK2NsYXNzIFdlYlBhY2tldFNvY2tldCBmaW5hbCA6IHB1Ymxp
YyBydGM6OkFzeW5jUGFja2V0U29ja2V0LCBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyIHsKK3B1
YmxpYzoKKyAgICBlbnVtIGNsYXNzIFR5cGUgeyBVRFAsIFNlcnZlclRDUCwgQ2xpZW50VENQIH07
CisKKyAgICBXZWJQYWNrZXRTb2NrZXQoV2ViUGFja2V0U29ja2V0RmFjdG9yeSYsIFR5cGUsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmIHJlbW90ZUFkZHJlc3MpOworICAgIH5XZWJQYWNrZXRTb2NrZXQoKTsKKworICAgIHZv
aWQgc2V0RXJyb3IoaW50IGVycm9yKSB7IG1fZXJyb3IgPSBlcnJvcjsgfQorCisgICAgdm9pZCBz
ZXRJZGVudGlmaWVyKHVpbnQ2NF90IGlkZW50aWZpZXIpIHsgbV9pZGVudGlmaWVyID0gaWRlbnRp
ZmllcjsgfQorICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50
aWZpZXI7IH0KKworICAgIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9sb2NhbEFkZHJlc3M7IH0KKyAgICBjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmIHJlbW90ZUFkZHJlc3MoKSBjb25zdCB7IHJldHVybiBtX3JlbW90ZUFkZHJlc3M7IH0K
KworICAgIHZvaWQgZGlkUmVjZWl2ZVdlYlBhY2tldFNvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0
aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKKyAgICB2b2lkIHNldFN0YXRlKFN0YXRlIHN0YXRlKSB7
IG1fc3RhdGUgPSBzdGF0ZTsgfQorCitwcml2YXRlOgorICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5k
ZXJEZXN0aW5hdGlvbklEKCkgZmluYWwgeyByZXR1cm4gaWRlbnRpZmllcigpOyB9CisgICAgSVBD
OjpDb25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGZpbmFsOworCisgICAgdm9p
ZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYsIHVpbnQxNl90IHBvcnQsIGludDY0X3QpOworICAgIHZvaWQgc2ln
bmFsU2VudFBhY2tldChpbnQsIGludDY0X3QpOworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5
KGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVjdCgpOworICAgIHZvaWQgc2ln
bmFsQ2xvc2UoaW50KTsKKworICAgIGJvb2wgd2lsbFNlbmQoc2l6ZV90KTsKKworICAgIC8vIEFz
eW5jUGFja2V0U29ja2V0IEFQSQorICAgIGludCBHZXRFcnJvcigpIGNvbnN0IGZpbmFsIHsgcmV0
dXJuIG1fZXJyb3I7IH0KKyAgICB2b2lkIFNldEVycm9yKGludCBlcnJvcikgZmluYWwgeyBzZXRF
cnJvcihlcnJvcik7IH0KKyAgICBydGM6OlNvY2tldEFkZHJlc3MgR2V0TG9jYWxBZGRyZXNzKCkg
Y29uc3QgZmluYWw7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIEdldFJlbW90ZUFkZHJlc3MoKSBj
b25zdCBmaW5hbDsKKyAgICBpbnQgU2VuZChjb25zdCB2b2lkICpwdiwgc2l6ZV90IGNiLCBjb25z
dCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpIGZpbmFsIHsgcmV0dXJuIFNlbmRUbyhwdiwg
Y2IsIG1fcmVtb3RlQWRkcmVzcywgb3B0aW9ucyk7IH0KKyAgICBpbnQgU2VuZFRvKGNvbnN0IHZv
aWQgKiwgc2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tl
dE9wdGlvbnMmKSBmaW5hbDsKKyAgICBpbnQgQ2xvc2UoKSBmaW5hbDsKKyAgICBTdGF0ZSBHZXRT
dGF0ZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAgICBpbnQgR2V0T3B0aW9u
KHJ0Yzo6U29ja2V0OjpPcHRpb24sIGludCopIGZpbmFsOworICAgIGludCBTZXRPcHRpb24ocnRj
OjpTb2NrZXQ6Ok9wdGlvbiwgaW50KSBmaW5hbDsKKworICAgIFdlYlBhY2tldFNvY2tldEZhY3Rv
cnkmIG1fZmFjdG9yeTsKKyAgICBUeXBlIG1fdHlwZTsKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mg
bV9sb2NhbEFkZHJlc3M7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIG1fcmVtb3RlQWRkcmVzczsK
KworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllciB7IDAgfTsKKyAgICBpbnQgbV9lcnJvciB7IDAg
fTsKKyAgICBTdGF0ZSBtX3N0YXRlIHsgU1RBVEVfQklORElORyB9OworCisgICAgc3RhdGljIGNv
bnN0IHVuc2lnbmVkIE1BWF9TT0NLRVRfT1BUSU9OIHsgcnRjOjpBc3luY1NvY2tldDo6T1BUX1JU
UF9TRU5EVElNRV9FWFROX0lEICsgMSB9OworICAgIGludCBtX29wdGlvbnNbTUFYX1NPQ0tFVF9P
UFRJT05dOworCisgICAgRGVxdWU8c2l6ZV90PiBtX2JlaW5nU2VudFBhY2tldFNpemVzOworICAg
IHNpemVfdCBtX2F2YWlsYWJsZVNlbmRpbmdCeXRlcyB7IDY1NTM2IH07CisgICAgYm9vbCBtX3No
b3VsZFNpZ25hbFJlYWR5VG9TZW5kIHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2Nr
ZXQubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmM1MDgxMTNiOTk0NjhmMTYwMmZmOTgwYzkxZWZl
ODAwZjE2NzA0YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzMg
QEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMg
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
IFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNU
SVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJX
RUJSVEMpCisKK21lc3NhZ2VzIC0+IFdlYlBhY2tldFNvY2tldCBMZWdhY3lSZWNlaXZlciB7Cisg
ICAgU2lnbmFsUmVhZFBhY2tldChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0OjpSVENO
ZXR3b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1lc3Rh
bXApCisgICAgU2lnbmFsU2VudFBhY2tldChpbnQgcGFja2V0U2l6ZSwgaW50NjRfdCB0aW1lc3Rh
bXApCisgICAgU2lnbmFsQWRkcmVzc1JlYWR5KFN0cmluZyBhZGRyZXNzKQorICAgIFNpZ25hbENv
bm5lY3QoKQorICAgIFNpZ25hbENsb3NlKGludCBlcnJvcikKK30KKworI2VuZGlmIC8vIFVTRShM
SUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5hZjJjYjFiYzdmNWI3MDFmODEwYWFhYzU4OWY2OWRjODRmN2FjNDRjCi0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRT
b2NrZXRGYWN0b3J5LmNwcApAQCAtMCwwICsxLDIwNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgiCisKKyNpZiBV
U0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDQ2xpZW50LmgiCisjaW5jbHVkZSAi
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdv
cmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0LmgiCisjaW5jbHVkZSAiV2ViUHJv
Y2Vzcy5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCit1aW50NjRfdCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpzX3VuaXF1ZVNvY2tldElkZW50
aWZpZXIgPSAwOwordWludDY0X3QgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6c191bmlxdWVSZXNv
bHZlcklkZW50aWZpZXIgPSAwOworCitydGM6OkFzeW5jUGFja2V0U29ja2V0KiBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5OjpDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQgb3B0
aW9ucykKK3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViUGFja2V0U29j
a2V0PigqdGhpcywgV2ViUGFja2V0U29ja2V0OjpUeXBlOjpTZXJ2ZXJUQ1AsIGFkZHJlc3MsIHJ0
Yzo6U29ja2V0QWRkcmVzcygpKTsKKyAgICBhdXRvKiBzb2NrZXRQb2ludGVyID0gc29ja2V0Lmdl
dCgpOworCisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgc29ja2V0UG9pbnRlciwgbWluUG9y
dCwgbWF4UG9ydCwgb3B0aW9uc10oKSB7CisgICAgICAgIGlmICghbV9wZW5kaW5nU29ja2V0cy5y
ZW1vdmVGaXJzdChzb2NrZXRQb2ludGVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAg
ICBzb2NrZXRQb2ludGVyLT5zZXRJZGVudGlmaWVyKCsrc191bmlxdWVTb2NrZXRJZGVudGlmaWVy
KTsKKyAgICAgICAgYXV0byBhZGRyZXNzU3RyaW5nID0gc29ja2V0UG9pbnRlci0+bG9jYWxBZGRy
ZXNzKCkuVG9TdHJpbmcoKTsKKworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
Lm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoc29ja2V0UG9pbnRl
ci0+aWRlbnRpZmllcigpLCBTdHJpbmcoYWRkcmVzc1N0cmluZy5kYXRhKCksIGFkZHJlc3NTdHJp
bmcubGVuZ3RoKCkpLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zKSwgMCkpIHsKKyAgICAgICAg
ICAgIHNvY2tldFBvaW50ZXItPnNldEVycm9yKDEpOworICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICB9CisKKyAgICAgICAgbV9zb2NrZXRzLnNldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVy
KCksIHNvY2tldFBvaW50ZXIpOworICAgIH0pOworICAgIHJldHVybiBzb2NrZXQucmVsZWFzZSgp
OworfQorCitydGM6OkFzeW5jUGFja2V0U29ja2V0KiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpD
cmVhdGVVZHBTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZf
dCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KQoreworICAgIGF1dG8gc29ja2V0ID0gc3RkOjpt
YWtlX3VuaXF1ZTxXZWJQYWNrZXRTb2NrZXQ+KCp0aGlzLCBXZWJQYWNrZXRTb2NrZXQ6OlR5cGU6
OlVEUCwgYWRkcmVzcywgcnRjOjpTb2NrZXRBZGRyZXNzKCkpOworICAgIGF1dG8qIHNvY2tldFBv
aW50ZXIgPSBzb2NrZXQuZ2V0KCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBzb2Nr
ZXRQb2ludGVyLCBtaW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAgICAgICAgaWYgKCFtX3BlbmRpbmdT
b2NrZXRzLnJlbW92ZUZpcnN0KHNvY2tldFBvaW50ZXIpKQorICAgICAgICAgICAgcmV0dXJuOwor
CisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldElkZW50aWZpZXIoKytzX3VuaXF1ZVNvY2tldElk
ZW50aWZpZXIpOworICAgICAgICBhdXRvIGFkZHJlc3NTdHJpbmcgPSBzb2NrZXRQb2ludGVyLT5s
b2NhbEFkZHJlc3MoKS5Ub1N0cmluZygpOworCisgICAgICAgIGlmICghV2ViUHJvY2Vzczo6c2lu
Z2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVVEUFNvY2tldChzb2NrZXRQb2lu
dGVyLT5pZGVudGlmaWVyKCksIFN0cmluZyhhZGRyZXNzU3RyaW5nLmRhdGEoKSwgYWRkcmVzc1N0
cmluZy5sZW5ndGgoKSksIG1pblBvcnQsIG1heFBvcnQpLCAwKSkgeworICAgICAgICAgICAgc29j
a2V0UG9pbnRlci0+c2V0RXJyb3IoMSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0K
KworICAgICAgICBtX3NvY2tldHMuc2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwgc29j
a2V0UG9pbnRlcik7CisgICAgfSk7CisgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisK
K3J0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZUNs
aWVudFRjcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzLCBjb25zdCBydGM6OlByb3h5SW5m
byYsIGNvbnN0IHN0ZDo6c3RyaW5nJiwgaW50IG9wdGlvbnMpCit7CisgICAgYXV0byBzb2NrZXQg
PSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNvY2tldD4oKnRoaXMsIFdlYlBhY2tldFNvY2tl
dDo6VHlwZTo6Q2xpZW50VENQLCBsb2NhbEFkZHJlc3MsIHJlbW90ZUFkZHJlc3MpOworICAgIGF1
dG8qIHNvY2tldFBvaW50ZXIgPSBzb2NrZXQuZ2V0KCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBzb2NrZXRQb2ludGVyLCBvcHRpb25zXSgpIHsKKyAgICAgICAgaWYgKCFtX3BlbmRp
bmdTb2NrZXRzLnJlbW92ZUZpcnN0KHNvY2tldFBvaW50ZXIpKQorICAgICAgICAgICAgcmV0dXJu
OworCisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldElkZW50aWZpZXIoKytzX3VuaXF1ZVNvY2tl
dElkZW50aWZpZXIpOworCisgICAgICAgIGF1dG8gbG9jYWxBZGRyZXNzU3RyaW5nID0gc29ja2V0
UG9pbnRlci0+bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKyAgICAgICAgYXV0byByZW1vdGVB
ZGRyZXNzU3RyaW5nID0gc29ja2V0UG9pbnRlci0+cmVtb3RlQWRkcmVzcygpLlRvU3RyaW5nKCk7
CisKKyAgICAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlv
bigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6Q3JlYXRlQ2xpZW50VENQU29ja2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwg
U3RyaW5nKGxvY2FsQWRkcmVzc1N0cmluZy5kYXRhKCksIGxvY2FsQWRkcmVzc1N0cmluZy5sZW5n
dGgoKSksIFN0cmluZyhyZW1vdGVBZGRyZXNzU3RyaW5nLmRhdGEoKSwgcmVtb3RlQWRkcmVzc1N0
cmluZy5sZW5ndGgoKSksIG9wdGlvbnMpLCAwKSkgeworICAgICAgICAgICAgc29ja2V0UG9pbnRl
ci0+c2V0RXJyb3IoMSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAg
ICBzb2NrZXRQb2ludGVyLT5zZXRTdGF0ZShXZWJQYWNrZXRTb2NrZXQ6OlNUQVRFX0NPTk5FQ1RJ
TkcpOworICAgICAgICBtX3NvY2tldHMuc2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwg
c29ja2V0UG9pbnRlcik7CisKKyAgICB9KTsKKworICAgIHJldHVybiBzb2NrZXQucmVsZWFzZSgp
OworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OmRldGFjaChXZWJQYWNrZXRTb2Nr
ZXQmIHNvY2tldCkKK3sKKyAgICBpZiAoc29ja2V0LmlkZW50aWZpZXIoKSkKKyAgICAgICAgbV9z
b2NrZXRzLnJlbW92ZShzb2NrZXQuaWRlbnRpZmllcigpKTsKKyAgICBlbHNlCisgICAgICAgIG1f
cGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3QoJnNvY2tldCk7Cit9CisKK3J0Yzo6QXN5bmNSZXNv
bHZlckludGVyZmFjZSogV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlQXN5bmNSZXNvbHZl
cigpCit7CisgICAgYXV0byogcmVzb2x2ZXIgPSBuZXcgV2ViQXN5bmNSZXNvbHZlcigrK3NfdW5p
cXVlUmVzb2x2ZXJJZGVudGlmaWVyKTsKKyAgICBtX3Jlc29sdmVycy5zZXQocmVzb2x2ZXItPmlk
ZW50aWZpZXIoKSwgc3RkOjp1bmlxdWVfcHRyPFdlYkFzeW5jUmVzb2x2ZXI+KHJlc29sdmVyKSk7
CisgICAgcmV0dXJuIHJlc29sdmVyOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6
OmdldFJlc29sdmVkQWRkcmVzcyh1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8UlRD
TmV0d29yazo6SVBBZGRyZXNzPiYgYWRkcmVzc2VzKQoreworICAgIFdlYkNvcmU6OmNhbGxPbldl
YlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIGFkZHJlc3Nlc10oKSB7CisgICAg
ICAgIGF1dG8qIHJlc29sdmVyID0gbV9yZXNvbHZlcnMuZ2V0KGlkZW50aWZpZXIpOworICAgICAg
ICBpZiAoIXJlc29sdmVyKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBWZWN0b3I8cnRj
OjpJUEFkZHJlc3M+IGlwQWRkcmVzc2VzOworICAgICAgICBpcEFkZHJlc3Nlcy5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KGFkZHJlc3Nlcy5zaXplKCkpOworICAgICAgICBmb3IgKGF1dG8mIGFkZHJl
c3MgOiBhZGRyZXNzZXMpCisgICAgICAgICAgICBpcEFkZHJlc3Nlcy51bmNoZWNrZWRBcHBlbmQo
YWRkcmVzcy52YWx1ZSk7CisKKyAgICAgICAgcmVzb2x2ZXItPnNldFJlc29sdmVkQWRkcmVzc2Vz
KFdURk1vdmUoaXBBZGRyZXNzZXMpKTsKKyAgICAgICAgcmVzb2x2ZXItPlNpZ25hbERvbmUocmVz
b2x2ZXIpOworICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OnJlc29s
dmVkQWRkcmVzc0Vycm9yKHVpbnQ2NF90IGlkZW50aWZpZXIsIGludCBlcnJvcikKK3sKKyAgICBX
ZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBlcnJv
cl0oKSB7CisgICAgICAgIGF1dG8qIHJlc29sdmVyID0gbV9yZXNvbHZlcnMuZ2V0KGlkZW50aWZp
ZXIpOworICAgICAgICBpZiAoIXJlc29sdmVyKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXNvbHZlci0+c2V0RXJyb3IoZXJyb3IpOworICAgICAgICByZXNvbHZlci0+U2lnbmFsRG9u
ZShyZXNvbHZlcik7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6
V2ViQXN5bmNSZXNvbHZlcjo6U3RhcnQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNz
KQoreworICAgIG1faXNSZXNvbHZpbmcgPSB0cnVlOworICAgIG1fYWRkcmVzc1RvUmVzb2x2ZSA9
IGFkZHJlc3M7CisgICAgbV9wb3J0ID0gYWRkcmVzcy5wb3J0KCk7CisgICAgYXV0byBpZGVudGlm
aWVyID0gbV9pZGVudGlmaWVyOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGFk
ZHJlc3NdKCkgeworICAgICAgICBhdXRvIGFkZHJlc3NTdHJpbmcgPSBhZGRyZXNzLkhvc3RBc1VS
SVN0cmluZygpOworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVj
dGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Q3JlYXRlQXN5bmNSZXNvbHZlcihpZGVudGlmaWVyLCBTdHJpbmcoYWRkcmVzc1N0
cmluZy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVuZ3RoKCkpKSwgMCk7CisgICAgfSk7Cit9CisK
K2Jvb2wgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6R2V0UmVzb2x2
ZWRBZGRyZXNzKGludCBmYW1pbHksIHJ0Yzo6U29ja2V0QWRkcmVzcyogYWRkcmVzcykgY29uc3QK
K3sKKyAgICBBU1NFUlQoYWRkcmVzcyk7CisgICAgaWYgKG1fZXJyb3IgfHwgIW1fYWRkcmVzc2Vz
LnNpemUoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgKmFkZHJlc3MgPSBtX2FkZHJl
c3NUb1Jlc29sdmU7CisgICAgZm9yIChhdXRvJiBpcEFkZHJlc3MgOiBtX2FkZHJlc3Nlcykgewor
ICAgICAgICBpZiAoZmFtaWx5ID09IGlwQWRkcmVzcy5mYW1pbHkoKSkgeworICAgICAgICAgICAg
YWRkcmVzcy0+U2V0UmVzb2x2ZWRJUChpcEFkZHJlc3MpOworICAgICAgICAgICAgYWRkcmVzcy0+
U2V0UG9ydChtX3BvcnQpOworICAgICAgICAgICAgcmV0dXJuIHRydWU7CisgICAgICAgIH0KKyAg
ICB9CisgICAgcmV0dXJuIGZhbHNlOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6
OldlYkFzeW5jUmVzb2x2ZXI6OkRlc3Ryb3koYm9vbCkKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5saWJXZWJSVEMoKS5zb2NrZXRGYWN0b3J5KCkuc3RvcFJlc29sdmVyKG1faWRlbnRp
Zmllcik7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6c3RvcFJlc29sdmVyKHVp
bnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgYXV0byByZXNvbHZlciA9IG1fcmVzb2x2ZXJzLnRh
a2UoaWRlbnRpZmllcik7CisgICAgQVNTRVJUKHJlc29sdmVyKTsKKyAgICBpZiAocmVzb2x2ZXIt
PmlzUmVzb2x2aW5nKCkpIHsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbaWRlbnRpZmllcl0o
KSB7CisgICAgICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlv
bigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6U3RvcEFzeW5jUmVzb2x2ZXIoaWRlbnRpZmllciksIDApOworICAgICAgICB9KTsKKyAg
ICB9Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
V2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzRmN2U1YzBl
OGI3NTg0YzgwMzU1MTQ4ODg0OTE2YWNjNDM3ZTg0NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9y
eS5oCkBAIC0wLDAgKzEsOTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVT
RShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9MaWJXZWJSVENNYWNyb3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+
CisjaW5jbHVkZSA8d2VicnRjL3AycC9iYXNlL3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKyNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIFdlYkFzeW5jUmVzb2x2ZXI7CitjbGFzcyBXZWJQYWNrZXRTb2Nr
ZXQ7CisKK2NsYXNzIFdlYlBhY2tldFNvY2tldEZhY3RvcnkgZmluYWwgOiBwdWJsaWMgcnRjOjpQ
YWNrZXRTb2NrZXRGYWN0b3J5IHsKK3B1YmxpYzoKKyAgICBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
KCkgeyB9CisKKyAgICB2b2lkIGF0dGFjaChXZWJQYWNrZXRTb2NrZXQmIHNvY2tldCkgeyBtX3Bl
bmRpbmdTb2NrZXRzLmFwcGVuZCgmc29ja2V0KTsgfQorICAgIHZvaWQgZGV0YWNoKFdlYlBhY2tl
dFNvY2tldCYpOworCisgICAgV2ViUGFja2V0U29ja2V0KiB3ZWJQYWNrZXRTb2NrZXQodWludDY0
X3QgaWRlbnRpZmllcikgeyByZXR1cm4gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKTsgfQorCisg
ICAgdm9pZCBnZXRSZXNvbHZlZEFkZHJlc3ModWludDY0X3QsIGNvbnN0IFZlY3RvcjxSVENOZXR3
b3JrOjpJUEFkZHJlc3M+Jik7CisgICAgdm9pZCByZXNvbHZlZEFkZHJlc3NFcnJvcih1aW50NjRf
dCwgaW50KTsKKworcHJpdmF0ZToKKyAgICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVV
ZHBTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgdWludDE2X3QgbWluUG9ydCwgdWlu
dDE2X3QgbWF4UG9ydCkgZmluYWw7CisgICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRl
U2VydmVyVGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIHVpbnQxNl90IG1pbl9w
b3J0LCB1aW50MTZfdCBtYXhfcG9ydCwgaW50IG9wdGlvbnMpIGZpbmFsOworICAgIHJ0Yzo6QXN5
bmNQYWNrZXRTb2NrZXQqIENyZWF0ZUNsaWVudFRjcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmIGxvY2FsQWRkcmVzcywgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRy
ZXNzLCBjb25zdCBydGM6OlByb3h5SW5mbyYsIGNvbnN0IHN0ZDo6c3RyaW5nJiwgaW50IG9wdGlv
bnMpOworICAgIHJ0Yzo6QXN5bmNSZXNvbHZlckludGVyZmFjZSogQ3JlYXRlQXN5bmNSZXNvbHZl
cigpIGZpbmFsOworICAgIHZvaWQgc3RvcFJlc29sdmVyKHVpbnQ2NF90KTsKKworICAgIGNsYXNz
IFdlYkFzeW5jUmVzb2x2ZXIgZmluYWwgOiBwdWJsaWMgcnRjOjpBc3luY1Jlc29sdmVySW50ZXJm
YWNlIHsKKyAgICBwdWJsaWM6CisgICAgICAgIFdlYkFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRl
bnRpZmllcikgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikgeyB9CisKKyAgICAgICAgdm9pZCBz
ZXRFcnJvcihpbnQgZXJyb3IpIHsgbV9lcnJvciA9IGVycm9yOyB9CisgICAgICAgIHZvaWQgc2V0
UmVzb2x2ZWRBZGRyZXNzZXMoVmVjdG9yPHJ0Yzo6SVBBZGRyZXNzPiYmIGFkZHJlc3NlcykgeyBt
X2FkZHJlc3NlcyA9IFdURk1vdmUoYWRkcmVzc2VzKTsgfQorICAgICAgICBib29sIGlzUmVzb2x2
aW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1Jlc29sdmluZzsgfQorICAgICAgICB1aW50NjRfdCBp
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKKyAgICBwcml2YXRl
OgorICAgICAgICB2b2lkIFN0YXJ0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpIGZpbmFsOwor
ICAgICAgICBib29sIEdldFJlc29sdmVkQWRkcmVzcyhpbnQsIHJ0Yzo6U29ja2V0QWRkcmVzcyop
IGNvbnN0IGZpbmFsOworICAgICAgICBpbnQgR2V0RXJyb3IoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2Vycm9yOyB9CisgICAgICAgIHZvaWQgRGVzdHJveShib29sKSBmaW5hbDsKKworICAgICAg
ICB1aW50NjRfdCBtX2lkZW50aWZpZXI7CisgICAgICAgIFZlY3RvcjxydGM6OklQQWRkcmVzcz4g
bV9hZGRyZXNzZXM7CisgICAgICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBtX2FkZHJlc3NUb1Jlc29s
dmU7CisgICAgICAgIGludCBtX2Vycm9yIHsgMCB9OworICAgICAgICB1aW50MTZfdCBtX3BvcnQg
eyAwIH07CisgICAgICAgIGJvb2wgbV9pc1Jlc29sdmluZyB7IGZhbHNlIH07CisgICAgfTsKKwor
ICAgIHN0YXRpYyB1aW50NjRfdCBzX3VuaXF1ZVNvY2tldElkZW50aWZpZXI7CisgICAgSGFzaE1h
cDx1aW50NjRfdCwgV2ViUGFja2V0U29ja2V0Kj4gbV9zb2NrZXRzOworICAgIFZlY3RvcjxXZWJQ
YWNrZXRTb2NrZXQqPiBtX3BlbmRpbmdTb2NrZXRzOworCisgICAgc3RhdGljIHVpbnQ2NF90IHNf
dW5pcXVlUmVzb2x2ZXJJZGVudGlmaWVyOworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5p
cXVlX3B0cjxXZWJBc3luY1Jlc29sdmVyPj4gbV9yZXNvbHZlcnM7Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggYmZlMGQyN2JlNGU1ZjllMTlh
ZTkyMmViNDgxNWM2OGE3YzJlMmYyMS4uYTIzMWRjYTM0YTdmYTdlMDkwMmE3ZGEyNTkyYWQxYjc1
MWI3NDY0MCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5j
bHVkZSAiSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJJbmplY3Rl
ZEJ1bmRsZVNjcmlwdFdvcmxkLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDQ2xpZW50LmgiCiAjaW5j
bHVkZSAiTG9hZFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAi
TmV0c2NhcGVQbHVnaW4uaCIKQEAgLTQwNSw3ICs0MDYsOSBAQCBXZWJQYWdlOjpXZWJQYWdlKHVp
bnQ2NF90IHBhZ2VJRCwgY29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVy
cykKICAgICBwYWdlQ29uZmlndXJhdGlvbi5zdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIgPSBXZWJT
dG9yYWdlTmFtZXNwYWNlUHJvdmlkZXI6OmdldE9yQ3JlYXRlKG1fcGFnZUdyb3VwLT5wYWdlR3Jv
dXBJRCgpKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi51c2VyQ29udGVudFByb3ZpZGVyID0gbV91
c2VyQ29udGVudENvbnRyb2xsZXIucHRyKCk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24udmlzaXRl
ZExpbmtTdG9yZSA9IFZpc2l0ZWRMaW5rVGFibGVDb250cm9sbGVyOjpnZXRPckNyZWF0ZShwYXJh
bWV0ZXJzLnZpc2l0ZWRMaW5rVGFibGVJRCk7Ci0KKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIHBh
Z2VDb25maWd1cmF0aW9uLmxpYldlYlJUQ0NsaWVudCA9IHN0ZDo6bWFrZV91bmlxdWU8TGliV2Vi
UlRDQ2xpZW50PigpOworI2VuZGlmCiAjaWYgRU5BQkxFKEFQUExFX1BBWSkKICAgICBwYWdlQ29u
ZmlndXJhdGlvbi5wYXltZW50Q29vcmRpbmF0b3JDbGllbnQgPSBuZXcgV2ViUGF5bWVudENvb3Jk
aW5hdG9yKCp0aGlzKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggZTFjMjZiOTcyZGRlMDQwMDMzMzY0MGU4M2I2M2ZkMDQ0YTZlNGNiNS4uZmI5
NGJiODhjMmEzZTEwNmNkY2I3YmMwZGY1MWU5Y2NhNzNjYTA1NCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0zNCw2ICszNCw3IEBACiAjaW5jbHVkZSAiRHJh
d2luZ0FyZWEuaCIKICNpbmNsdWRlICJFdmVudERpc3BhdGNoZXIuaCIKICNpbmNsdWRlICJJbmpl
Y3RlZEJ1bmRsZS5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ0NsaWVudC5oIgogI2luY2x1ZGUgIkxv
Z2dpbmcuaCIKICNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2Vz
LmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCkBAIC0xNTQ2LDQgKzE1
NDcsMTQgQEAgdm9pZCBXZWJQcm9jZXNzOjpwcmVmZXRjaEROUyhjb25zdCBTdHJpbmcmIGhvc3Ru
YW1lKQogICAgIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzLmltcHVsc2UoKTsKIH0KIAorI2lmIFVT
RShMSUJXRUJSVEMpCit2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVMaWJXZWJSVEMoKQorewor
ICAgIGlmICghbV9saWJXZWJSVEMpIHsKKyAgICAgICAgbV9saWJXZWJSVEMgPSBzdGQ6Om1ha2Vf
dW5pcXVlPExpYldlYlJUQz4oKTsKKyAgICAgICAgbV9saWJXZWJSVEMtPmluaXRpYWxpemUoKTsK
KyAgICB9Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDZlYmNjYmIyNjllOWEyZjJkNDE0MTQ5ZjE0M2Q0
YzVjODE0YjIxYzYuLmQ2M2VhYWU5ZGJjMGViYjZjMTRkNTA1OWUzNGFjNThiYzRkZTBlNWEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0yOCw2ICsyOCw3IEBACiAj
aW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIkNoaWxkUHJvY2Vzcy5oIgogI2luY2x1
ZGUgIkRyYXdpbmdBcmVhLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDLmgiCiAjaW5jbHVkZSAiUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVzb3VyY2VDYWNoZXNU
b0NsZWFyLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgpAQCAtMTY1LDYgKzE2Niwx
MSBAQCBwdWJsaWM6CiAgICAgdm9pZCBuZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25DbG9zZWQoTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uKik7CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3kmIHdlYkxvYWRl
clN0cmF0ZWd5KCk7CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIExpYldlYlJUQyYgbGliV2Vi
UlRDKCkgeyByZXR1cm4gKm1fbGliV2ViUlRDOyB9CisgICAgdm9pZCBpbml0aWFsaXplTGliV2Vi
UlRDKCk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQogICAgIHZvaWQg
d2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKFdlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbiopOwogICAgIFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbiogd2ViVG9E
YXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKCk7CkBAIC0zNzcsNiArMzgzLDExIEBAIHByaXZhdGU6
CiAgICAgdm9pZCBlbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKICAgICBSZWZQdHI8
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uPiBtX25ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsKICAg
ICBXZWJMb2FkZXJTdHJhdGVneSYgbV93ZWJMb2FkZXJTdHJhdGVneTsKKworI2lmIFVTRShMSUJX
RUJSVEMpCisgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQz4gbV9saWJXZWJSVEM7CisjZW5k
aWYKKwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Ruc1ByZWZldGNoZWRIb3N0czsKICAgICBXZWJD
b3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXM7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299608</attachid>
            <date>2017-01-24 10:14:23 -0800</date>
            <delta_ts>2017-01-24 13:40:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170124101223.patch</filename>
            <type>text/plain</type>
            <size>140810</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGU3YmRjZWI5ZTc3MTcw
ZmJhZjBkNmQwYjYxZDZlY2JjOGQ4ODdmYy4uYjMyYTA1ZWM4ZTA2YzljMTc0OTRjNjNkMjdlZDQx
YTU3ZjJjMDc4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMCBAQAorMjAxNy0wMS0yNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2Up
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
VURQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVzb2x2ZWROYW1lKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZUFzeW5jUmVz
b2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
c3RvcEFzeW5jUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6YWRkUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnRha2VQYWNrZXRTb2NrZXQpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZXNvbHZlcjo6UmVzb2x2ZXIpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVzb2x2ZXI6
On5SZXNvbHZlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cnRjTmV0d29y
a1RocmVhZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBhY2tldFNvY2tldEZhY3RvcnkpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0
aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdG9wVXBkYXRp
bmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTmV0d29ya01hbmFnZXI6Ok9uTWVzc2FnZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RhcnRVcGRhdGluZ0Zy
b21OZXR3b3JrVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2Vy
OjpzdG9wVXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtOZXR3b3JrTWFuYWdlcjo6b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuaDogQWRkZWQuCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbjog
QWRkZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2Nr
ZXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3Jl
YXRlVURQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlQ2xp
ZW50VENQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlU2Vy
dmVyVENQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6TmV0d29ya1Bh
Y2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6On5OZXR3
b3JrUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6
T25NZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y2xlYW4p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjptZXNzYWdlU2VuZGVyQ29u
bmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNlbmRUbyk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNsb3NlKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxDb25uZWN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lmg6IEFkZGVkLgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluOiBB
ZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29yay5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpSVENOZXR3b3JrOjpSVENOZXR3b3JrKToKKyAgICAgICAgKFdlYktpdDo6aXBzKToK
KyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6dmFsdWUpOgorICAgICAgICAoV2ViS2l0OjpS
VENOZXR3b3JrOjpJUEFkZHJlc3M6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdv
cms6OklQQWRkcmVzczo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6ZGVj
b2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6ZW5jb2RlKToKKyAgICAgICAgKiBT
aGFyZWQvUlRDTmV0d29yay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6
SVBBZGRyZXNzOjpJUEFkZHJlc3MpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVEMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjppbml0
aWFsaXplKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjp3ZWJQYWNrZXRTb2NrZXRGb3JJ
ZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjpuZXR3b3JrTWFuYWdlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6c29ja2V0RmFjdG9yeSk6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQzo6Z2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDOjpyZXNvbHZlZEFkZHJlc3NFcnJvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NsaWVudDo6TGliV2ViUlRDQ2xpZW50KToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDQ2xpZW50OjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuaDogQWRkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6U3RhcnRVcGRhdGlu
Zyk6CisgICAgICAgIChXZWJLaXQ6OldlYk5ldHdvcmtNYW5hZ2VyOjpTdG9wVXBkYXRpbmcpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6bmV0d29ya3NDaGFuZ2VkKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmg6IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFn
ZXIubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUGFja2V0U29ja2V0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tl
dFNvY2tldDo6V2ViUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29j
a2V0Ojp+V2ViUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0
OjpHZXRMb2NhbEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6Okdl
dFJlbW90ZUFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25h
bEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFs
UmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsU2Vu
dFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVj
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsQ2xvc2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6YXV0aEtleSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNv
Y2tldDo6d2lsbFNlbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OlNlbmRU
byk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6Q2xvc2UpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OkdldE9wdGlvbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhY2tldFNvY2tldDo6U2V0T3B0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlBhY2tldFNvY2tldC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNl
cnZlclRjcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6
OkNyZWF0ZVVkcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rv
cnk6OkNyZWF0ZUNsaWVudFRjcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNv
Y2tldEZhY3Rvcnk6OmRldGFjaCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZh
Y3Rvcnk6OkNyZWF0ZUFzeW5jUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5OjpnZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5OjpyZXNvbHZlZEFkZHJlc3NFcnJvcik6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6OlN0YXJ0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6
R2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFj
dG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6RGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Y2tldFNvY2tldEZhY3Rvcnk6OnN0b3BSZXNvbHZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5Lmg6IEFkZGVkLgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV91c2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplTGliV2ViUlRD
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6bGliV2ViUlRDKToKKwogMjAxNy0wMS0yNCAgTWlndWVsIEdvbWV6ICA8bWFn
b21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29yZGluYXRlZCBHcmFwaGljc10gRW5zdXJl
IHRoYXQgd2UncmUgaW4gQUMgbW9kZSBiZWZvcmUgdHJ5aW5nIHRvIGNyZWF0ZSBHcmFwaGljc0xh
eWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA0NWI1Yzk2ODdmNDE0MzcyZDVmYmY3MDNhYmNl
NmE0ODkxNDAxZjA4Li40MDM0MDI1ZGZmOTJhN2M1OTZhZjYxYzk3NTZmOGE3N2Q0ZTJiOWE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtNTkyLDYgKzU5Miw3IEBAIHNldChXZWJLaXQyX01FU1NB
R0VTX0lOX0ZJTEVTCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgogICAgIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5tZXNzYWdl
cy5pbgorICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3Nh
Z2VzLmluCiAKICAgICBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdl
cy5pbgogICAgIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNjQ5
LDYgKzY1MCw3IEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAKICAgICBXZWJQcm9j
ZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5tZXNzYWdlcy5pbgogCisgICAg
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4KICAg
ICBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRjYTRmNTg4ZTE1OGMwMjlkMmU4YWMy
ZTFjYmRhMTQ0OGVlNzM0NDguLjJiNzliNzU3ZGY4MjRjMGQ1YmQwZWRhZmYwZjZkYzRhYzAxMGZl
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjgsNiArMjgsNyBAQCBWUEFU
SCA9IFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzIFwKICAgICAkKFdlYktpdDIpL05l
dHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scyBcCiAgICAgJChXZWJLaXQyKS9OZXR3b3JrUHJv
Y2Vzcy9tYWMgXAorICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3Mvd2VicnRjIFwKICAgICAk
KFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAogICAgICQoV2ViS2l0MikvUGx1Z2luUHJvY2Vzcy9t
YWMgXAogICAgICQoV2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXApAQCAtNDUsNiArNDYsNyBAQCBW
UEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlIFwKICAgICAk
KFdlYktpdDIpL1dlYlByb2Nlc3MvTWVkaWFDYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9j
ZXNzL05ldHdvcmsgXAorICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0YyBc
CiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMgXAogICAgICQoV2ViS2l0
MikvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1
Z2lucyBcCkBAIC05NSw4ICs5NywxMSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBEcmF3
aW5nQXJlYSBcCiAgICAgRHJhd2luZ0FyZWFQcm94eSBcCiAgICAgRXZlbnREaXNwYXRjaGVyIFwK
KyAgICBMaWJXZWJSVEMgXAogICAgIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyIFwKICAgICBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCisgICAgTmV0d29ya05ldHdvcmtNYW5hZ2VyIFwK
KyAgICBOZXR3b3JrUGFja2V0U29ja2V0IFwKICAgICBOZXR3b3JrUHJvY2VzcyBcCiAgICAgTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uIFwKICAgICBOZXR3b3JrUHJvY2Vzc1Byb3h5IFwKQEAgLTEz
Nyw3ICsxNDIsOSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJJbnNwZWN0b3IgXAog
ICAgIFdlYkluc3BlY3RvclByb3h5IFwKICAgICBXZWJJbnNwZWN0b3JVSSBcCisgICAgV2ViTmV0
d29ya01hbmFnZXIgXAogICAgIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIgXAorICAgIFdlYlBhY2tl
dFNvY2tldCBcCiAgICAgV2ViUGFnZSBcCiAgICAgV2ViUGFnZVByb3h5IFwKICAgICBXZWJQYXN0
ZWJvYXJkUHJveHkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDhhMjdhYjNh
MGMyZDVjODJjMjRhNjQzMjQ2YTY2MGY3ODk5M2VlNzUuLjA1ZGE1NzU4OWQzZTdjZDZjMWRkYWI5
ODc1ZDg4ZTE0NzRiNWFmN2EgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTI4
LDE1ICsyOCwyMCBAQAogCiAjaW5jbHVkZSAiQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRi
b3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTGli
V2ViUlRDTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrQmxvYlJlZ2lzdHJ5LmgiCiAjaW5j
bHVkZSAiTmV0d29ya0NhY2hlLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtMb2FkLmgiCisjaW5jbHVkZSAiTmV0
d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUGFja2V0U29j
a2V0LmgiCisjaW5jbHVkZSAiTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25N
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCiAjaW5jbHVkZSAi
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJTZXNzaW9uVHJhY2tlci5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtNDYsNiArNTEsOCBAQAogI2lu
Y2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2FkZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29y
ZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1Nlc3Npb25JRC5oPgorI2lu
Y2x1ZGUgPHdlYnJ0Yy9iYXNlL2FzeW5jcGFja2V0c29ja2V0Lmg+CisjaW5jbHVkZSA8d3RmL01h
aW5UaHJlYWQuaD4KIAogI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAjaW5jbHVkZSAiUGluZ0xv
YWQuaCIKQEAgLTYyLDYgKzY5LDkgQEAgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
PiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlKElQQzo6Q28KIAogTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKElQ
Qzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllciBjb25uZWN0aW9uSWRlbnRpZmllcikKICAgICA6IG1f
Y29ubmVjdGlvbihJUEM6OkNvbm5lY3Rpb246OmNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVj
dGlvbklkZW50aWZpZXIsICp0aGlzKSkKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgICwgbV9uZXR3
b3JrTWFuYWdlcigqdGhpcykKKyNlbmRpZgogewogICAgIG1fY29ubmVjdGlvbi0+b3BlbigpOwog
fQpAQCAtNzYsNyArODYsNyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aWRDbGVhbnVwUmVzb3VyY2VMb2FkZXIoTmV0d29ya1Jlc291cmNlTG9hZAogCiAgICAgbV9uZXR3
b3JrUmVzb3VyY2VMb2FkZXJzLnJlbW92ZShsb2FkZXIuaWRlbnRpZmllcigpKTsKIH0KLSAgICAK
Kwogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAg
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CkBAIC04NSwx
MiArOTUsMjUgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2
ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW8KICAgICB9CiAKICAgICBpZiAoZGVj
b2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSZXNvdXJjZUxv
YWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIEhhc2hNYXA8UmVzb3VyY2VM
b2FkSWRlbnRpZmllciwgUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4+OjppdGVyYXRvciBs
b2FkZXJJdGVyYXRvciA9IG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5maW5kKGRlY29kZXIuZGVz
dGluYXRpb25JRCgpKTsKKyAgICAgICAgYXV0byBsb2FkZXJJdGVyYXRvciA9IG1fbmV0d29ya1Jl
c291cmNlTG9hZGVycy5maW5kKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKTsKICAgICAgICAgaWYg
KGxvYWRlckl0ZXJhdG9yICE9IG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5lbmQoKSkKICAgICAg
ICAgICAgIGxvYWRlckl0ZXJhdG9yLT52YWx1ZS0+ZGlkUmVjZWl2ZU5ldHdvcmtSZXNvdXJjZUxv
YWRlck1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9
Ci0gICAgCisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNl
aXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1BhY2tldFNvY2tldDo6bWVzc2FnZVJlY2Vp
dmVyTmFtZSgpKSB7CisgICAgICAgIGF1dG8gc29ja2V0SXRlcmF0b3IgPSBtX3BhY2tldFNvY2tl
dHMuZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CisgICAgICAgIGlmIChzb2NrZXRJdGVy
YXRvciAhPSBtX3BhY2tldFNvY2tldHMuZW5kKCkpCisgICAgICAgICAgICBzb2NrZXRJdGVyYXRv
ci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZShjb25uZWN0aW9u
LCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZGVjb2Rlci5tZXNz
YWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIG1fbmV0d29ya01hbmFnZXIuZGlkUmVjZWl2
ZU5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwog
fQogCkBAIC0zMzQsNCArMzU3LDExNSBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjplbnN1cmVMZWdhY3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCkKICAgICBOZXR3b3JrUHJv
Y2Vzczo6c2luZ2xldG9uKCkuZW5zdXJlUHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQ6
OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQoKSk7CiB9CiAKKyNpZiBVU0UoTElCV0VCUlRDKQordm9p
ZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlVURQU29ja2V0KHVpbnQ2NF90
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWlu
dDE2X3QgbWF4UG9ydCkKK3sKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0QWRkcmVzczsK
KyAgICBzb2NrZXRBZGRyZXNzLkZyb21TdHJpbmcoYWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKwor
ICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCkuSW52b2tl
PHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFt0aGlzLCBpZGVudGlmaWVyLCBzb2NrZXRBZGRyZXNzLCBt
aW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQ
YWNrZXRTb2NrZXQ+IHNvY2tldChOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucGFja2V0U29j
a2V0RmFjdG9yeSgpLkNyZWF0ZVVkcFNvY2tldChzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQ
b3J0KSk7CisgICAgICAgIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZVVEUChpZGVudGlmaWVy
LCBXVEZNb3ZlKHNvY2tldCksICp0aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrQ29u
bmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlU2VydmVyVENQU29ja2V0KHVpbnQ2NF90IGlkZW50
aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3Qg
bWF4UG9ydCwgaW50IG9wdGlvbnMpCit7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFk
ZHJlc3M7CisgICAgc29ja2V0QWRkcmVzcy5Gcm9tU3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEo
KSk7CisKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgp
Lkludm9rZTx2b2lkPihSVENfRlJPTV9IRVJFLCBbdGhpcywgaWRlbnRpZmllciwgc29ja2V0QWRk
cmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9uc10oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmds
ZXRvbigpLnBhY2tldFNvY2tldEZhY3RvcnkoKS5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoc29ja2V0
QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucykpOworICAgICAgICBOZXR3b3JrUGFj
a2V0U29ja2V0OjpjcmVhdGVTZXJ2ZXJUQ1AoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCAq
dGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
OmNyZWF0ZUNsaWVudFRDUFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcm
IGxvY2FsQWRkcmVzcywgY29uc3QgU3RyaW5nJiByZW1vdGVBZGRyZXNzLCBpbnQgb3B0aW9ucykK
K3sKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0TG9jYWxBZGRyZXNzOworICAgIHNvY2tl
dExvY2FsQWRkcmVzcy5Gcm9tU3RyaW5nKGxvY2FsQWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKwor
ICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2NrZXRSZW1vdGVBZGRyZXNzOworICAgIHNvY2tldFJl
bW90ZUFkZHJlc3MuRnJvbVN0cmluZyhyZW1vdGVBZGRyZXNzLnV0ZjgoKS5kYXRhKCkpOworCisg
ICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5JbnZva2U8
dm9pZD4oUlRDX0ZST01fSEVSRSwgW3RoaXMsIGlkZW50aWZpZXIsIHNvY2tldExvY2FsQWRkcmVz
cywgc29ja2V0UmVtb3RlQWRkcmVzcywgb3B0aW9uc10oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmds
ZXRvbigpLnBhY2tldFNvY2tldEZhY3RvcnkoKS5DcmVhdGVDbGllbnRUY3BTb2NrZXQoc29ja2V0
TG9jYWxBZGRyZXNzLCBzb2NrZXRSZW1vdGVBZGRyZXNzLCB7IH0sIHsgfSwgb3B0aW9ucykpOwor
ICAgICAgICBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVhdGVDbGllbnRUQ1AoaWRlbnRpZmllciwg
V1RGTW92ZShzb2NrZXQpLCAqdGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OnJlc29sdmVkTmFtZShDRkhvc3RSZWYgaG9zdFJlZiwgQ0ZIb3N0
SW5mb1R5cGUgdHlwZUluZm8sIGNvbnN0IENGU3RyZWFtRXJyb3IgKmVycm9yLCB2b2lkICppbmZv
KQoreworICAgIEFTU0VSVF9VTlVTRUQodHlwZUluZm8sICF0eXBlSW5mbyk7CisKKyAgICBpZiAo
ZXJyb3ItPmRvbWFpbikgeworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBoYW5kbGUgZmFpbHVy
ZSwgYnV0IGluZm8gaXMgbm90IHByb3ZpZGVkIGluIHRoZSBjYWxsYmFjay4KKyAgICAgICAgcmV0
dXJuOworICAgIH0KKworICAgIEFTU0VSVChpbmZvKTsKKyAgICBhdXRvKiByZXNvbHZlckluZm8g
PSBzdGF0aWNfY2FzdDxSZXNvbHZlcio+KGluZm8pOworICAgIGF1dG8gcmVzb2x2ZXIgPSByZXNv
bHZlckluZm8tPmNvbm5lY3Rpb24tPm1fcmVzb2x2ZXJzLnRha2UocmVzb2x2ZXJJbmZvLT5pZGVu
dGlmaWVyKTsKKyAgICBpZiAoIXJlc29sdmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBCb29s
ZWFuIHJlc3VsdDsKKyAgICBDRkFycmF5UmVmIHJlc29sdmVkQWRkcmVzc2VzID0gKENGQXJyYXlS
ZWYpQ0ZIb3N0R2V0QWRkcmVzc2luZyhob3N0UmVmLCAmcmVzdWx0KTsKKyAgICBBU1NFUlRfVU5V
U0VEKHJlc3VsdCwgcmVzdWx0KTsKKworICAgIHNpemVfdCBjb3VudCA9IENGQXJyYXlHZXRDb3Vu
dChyZXNvbHZlZEFkZHJlc3Nlcyk7CisgICAgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4g
YWRkcmVzc2VzOworICAgIGFkZHJlc3Nlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGNvdW50KTsK
KworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBjb3VudDsgKytpbmRleCkgewor
ICAgICAgICBDRkRhdGFSZWYgZGF0YSA9IChDRkRhdGFSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRl
eChyZXNvbHZlZEFkZHJlc3NlcywgaW5kZXgpOworICAgICAgICBhdXRvKiBhZGRyZXNzID0gcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBzdHJ1Y3Qgc29ja2FkZHJfaW4qPihDRkRhdGFHZXRCeXRlUHRy
KGRhdGEpKTsKKyAgICAgICAgYWRkcmVzc2VzLnVuY2hlY2tlZEFwcGVuZChSVENOZXR3b3JrOjpJ
UEFkZHJlc3MocnRjOjpJUEFkZHJlc3MoYWRkcmVzcy0+c2luX2FkZHIpKSk7CisgICAgfQorICAg
IHJlc29sdmVyLT5jb25uZWN0aW9uLT5tX2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldl
YlJUQzo6R2V0UmVzb2x2ZWRBZGRyZXNzKHJlc29sdmVyLT5pZGVudGlmaWVyLCBhZGRyZXNzZXMp
LCAwKTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlQXN5
bmNSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MpCit7
CisKKyAgICBDRkhvc3RSZWYgaG9zdCA9IENGSG9zdENyZWF0ZVdpdGhOYW1lKGtDRkFsbG9jYXRv
ckRlZmF1bHQsIGFkZHJlc3MuY3JlYXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisgICAgQVNTRVJUKGhv
c3QpOworCisgICAgYXV0byByZXNvbHZlciA9IHN0ZDo6bWFrZV91bmlxdWU8UmVzb2x2ZXI+KGlk
ZW50aWZpZXIsICp0aGlzLCBob3N0KTsKKworICAgIENGSG9zdENsaWVudENvbnRleHQgY29udGV4
dDsKKyAgICBjb250ZXh0LnZlcnNpb24gPSAwOworICAgIGNvbnRleHQuaW5mbyA9IHJlc29sdmVy
LmdldCgpOworICAgIGNvbnRleHQuY29weURlc2NyaXB0aW9uID0gbnVsbHB0cjsKKyAgICBjb250
ZXh0LnJlbGVhc2UgPSBudWxscHRyOworICAgIGNvbnRleHQucmV0YWluID0gbnVsbHB0cjsKKwor
ICAgIENGSG9zdFNldENsaWVudChob3N0LCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
cmVzb2x2ZWROYW1lLCAmY29udGV4dCk7CisgICAgQ0ZIb3N0U2NoZWR1bGVXaXRoUnVuTG9vcCho
b3N0LCBDRlJ1bkxvb3BHZXRDdXJyZW50KCksIGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSk7CisgICAg
Qm9vbGVhbiByZXN1bHQgPSBDRkhvc3RTdGFydEluZm9SZXNvbHV0aW9uKGhvc3QsIGtDRkhvc3RB
ZGRyZXNzZXMsIG51bGxwdHIpOworICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQpOwor
CisgICAgbV9yZXNvbHZlcnMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUocmVzb2x2ZXIpKTsKK30K
Kwordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6c3RvcEFzeW5jUmVzb2x2ZXIo
dWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCku
cnRjTmV0d29ya1RocmVhZCgpLkludm9rZTx2b2lkPihSVENfRlJPTV9IRVJFLCBbdGhpcywgaWRl
bnRpZmllcl0oKSB7CisgICAgICAgIGF1dG8gcmVzb2x2ZXIgPSBtX3Jlc29sdmVycy50YWtlKGlk
ZW50aWZpZXIpOworICAgICAgICBpZiAocmVzb2x2ZXIpCisgICAgICAgICAgICBDRkhvc3RDYW5j
ZWxJbmZvUmVzb2x1dGlvbihyZXNvbHZlci0+aG9zdCwgQ0ZIb3N0SW5mb1R5cGU6OmtDRkhvc3RB
ZGRyZXNzZXMpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjphZGRQYWNrZXRTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRy
PE5ldHdvcmtQYWNrZXRTb2NrZXQ+JiYgc29ja2V0KQoreworICAgIG1fcGFja2V0U29ja2V0cy5h
ZGQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPE5l
dHdvcmtQYWNrZXRTb2NrZXQ+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp0YWtlUGFj
a2V0U29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgcmV0dXJuIG1fcGFja2V0U29j
a2V0cy50YWtlKGlkZW50aWZpZXIpOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktp
dApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKaW5kZXggNzk2NTZiYTQ3YzIyOGJlMDBhN2IwNzcw
MjQyODM1ZWQ0NTY1NTdhMi4uNzdjM2U0ZDY0ODUwNGYzYTlhZmIxZDkzM2M2ZWVjYTQxM2E1OWZm
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCkBAIC0yOSw3ICsyOSwxMyBAQAogI2luY2x1
ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVkZSAiTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtO
ZXR3b3JrTWFuYWdlci5oIgorCisjaW5jbHVkZSA8Q0ZOZXR3b3JrL0NGSG9zdC5oPgorI2luY2x1
ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJj
ZUxvYWRQcmlvcml0eS5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNp
bmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvYmFzaWNwYWNrZXRzb2NrZXRmYWN0b3J5Lmg+CiAjaW5j
bHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewpAQCAtNDAsNiAr
NDYsNyBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAogY2xh
c3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CitjbGFzcyBOZXR3b3JrUGFja2V0U29j
a2V0OwogY2xhc3MgTmV0d29ya1Jlc291cmNlTG9hZGVyOwogY2xhc3MgU3luY05ldHdvcmtSZXNv
dXJjZUxvYWRlcjsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsKQEAg
LTU5LDYgKzY2LDEyIEBAIHB1YmxpYzoKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpCbG9iRGF0YUZp
bGVSZWZlcmVuY2U+IGdldEJsb2JEYXRhRmlsZVJlZmVyZW5jZUZvclBhdGgoY29uc3QgU3RyaW5n
JiBwYXRoKTsKIAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgdm9pZCBhZGRQYWNrZXRTb2NrZXQo
dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiYmKTsKKyAgICBz
dGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1BhY2tldFNvY2tldD4gdGFrZVBhY2tldFNvY2tldCh1aW50
NjRfdCk7CisgICAgdm9pZCByZXNvbHZlckRvbmUodWludDY0X3QpOworI2VuZGlmCisKIHByaXZh
dGU6CiAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoSVBDOjpDb25uZWN0aW9uOjpJ
ZGVudGlmaWVyKTsKIApAQCAtNzEsNyArODQsNyBAQCBwcml2YXRlOgogICAgIC8vIE1lc3NhZ2Ug
aGFuZGxlcnMuCiAgICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogICAgIHZvaWQgZGlk
UmVjZWl2ZVN5bmNOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mKTsK
LSAgICAKKwogICAgIHZvaWQgc2NoZWR1bGVSZXNvdXJjZUxvYWQoY29uc3QgTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMmKTsKICAgICB2b2lkIHBlcmZvcm1TeW5jaHJvbm91c0xvYWQoY29u
c3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmLCBSZWY8TWVzc2FnZXM6Ok5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQZXJmb3JtU3luY2hyb25vdXNMb2FkOjpEZWxheWVkUmVw
bHk+JiYpOwogICAgIHZvaWQgbG9hZFBpbmcoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFt
ZXRlcnMmKTsKQEAgLTEwNSwxMCArMTE4LDM4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGVuc3Vy
ZUxlZ2FjeVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKIAorI2lmIFVTRShMSUJXRUJSVEMpCisg
ICAgdm9pZCBjcmVhdGVVRFBTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYsIHVpbnQxNl90
LCB1aW50MTZfdCk7CisgICAgdm9pZCBjcmVhdGVDbGllbnRUQ1BTb2NrZXQodWludDY0X3QsIGNv
bnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGludCk7CisgICAgdm9pZCBjcmVhdGVTZXJ2ZXJU
Q1BTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQsIGludCk7CisgICAgdm9pZCBjcmVhdGVBc3luY1Jlc29sdmVyKHVpbnQ2NF90
LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHN0b3BBc3luY1Jlc29sdmVyKHVpbnQ2NF90KTsK
KyNlbmRpZgorCiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogCiAgICAg
SGFzaE1hcDxSZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9h
ZGVyPj4gbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzOwogICAgIEhhc2hNYXA8U3RyaW5nLCBSZWZQ
dHI8V2ViQ29yZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNlPj4gbV9ibG9iRGF0YUZpbGVSZWZlcmVu
Y2VzOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGF0aWMgdm9pZCByZXNvbHZlZE5hbWUo
Q0ZIb3N0UmVmLCBDRkhvc3RJbmZvVHlwZSwgY29uc3QgQ0ZTdHJlYW1FcnJvciosIHZvaWQqKTsK
KworICAgIHN0cnVjdCBSZXNvbHZlciB7CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7Cisg
ICAgICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gY29ubmVjdGlvbjsKKyAg
ICAgICAgQ0ZIb3N0UmVmIGhvc3Q7CisKKyAgICAgICAgUmVzb2x2ZXIodWludDY0X3QgaWRlbnRp
ZmllciwgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiYmIGNvbm5lY3Rpb24sIFJl
dGFpblB0cjxDRkhvc3RSZWY+JiYgaG9zdCkKKyAgICAgICAgICAgIDogaWRlbnRpZmllcihpZGVu
dGlmaWVyKQorICAgICAgICAgICAgLCBjb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCisg
ICAgICAgICAgICAsIGhvc3QoV1RGTW92ZShob3N0KSkgeyB9CisKKyAgICAgICAgflJlc29sdmVy
KCkgeyBDRlJlbGVhc2UoaG9zdCk7IH0KKyAgICB9OworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0
ZDo6dW5pcXVlX3B0cjxSZXNvbHZlcj4+IG1fcmVzb2x2ZXJzOworICAgIEhhc2hNYXA8dWludDY0
X3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0Pj4gbV9wYWNrZXRTb2NrZXRz
OworICAgIE5ldHdvcmtOZXR3b3JrTWFuYWdlciBtX25ldHdvcmtNYW5hZ2VyOworI2VuZGlmCiB9
OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MubWVzc2FnZXMuaW4KaW5kZXggYTI2M2E0ZWRlMzg4ZWJlMjVmN2E2Njc5MTZjZTBiZTBkOWQ5
OWUzZC4uZWMzYjRhNTU2M2ZjZjRhZGEwYzA3ODUzOGRmZGNlZTRiYWU1NjQ1MCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUzLDQgKzUzLDEyIEBA
IG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIExlZ2FjeVJlY2VpdmVy
IHsKICAgICBTdG9yZURlcml2ZWREYXRhVG9DYWNoZShXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6RGF0
YUtleSBrZXksIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQogCiAgICAgRW5zdXJlTGVnYWN5UHJp
dmF0ZUJyb3dzaW5nU2Vzc2lvbigpCisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIENyZWF0ZVVE
UFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxvY2FsQWRkcmVzcywgdWludDE2X3QgbWlu
UG9ydCwgdWludDE2X3QgbWF4UG9ydCkKKyAgICBDcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoaW50IGlk
ZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90
IG1heFBvcnQsIGludCBvcHRpb25zKQorICAgIENyZWF0ZUNsaWVudFRDUFNvY2tldChpbnQgaWRl
bnRpZmllciwgU3RyaW5nIGxvY2FsQWRkcmVzcywgU3RyaW5nIHJlbW90ZUFkZHJlc3MsIGludCBv
cHRpb25zKQorICAgIENyZWF0ZUFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllciwgU3Ry
aW5nIGFkZHJlc3MpCisgICAgU3RvcEFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikK
KyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MuY3BwCmluZGV4IGZmYWY3ZGI4NTg3NWJjZTY2MGQ4NjYzNTQyYTkzZGQ1YWNjNTc0MTEu
LjNkMDdiMWZmMWE2MWExNWZkNGQzYjQ2NjdlNzZiMGEyZDBjOGMwMDEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTY2Niw0ICs2
NjYsMTYgQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Mb3dNZW1vcnlIYW5kbGVyKENy
aXRpY2FsKQogfQogI2VuZGlmCiAKK3J0Yzo6VGhyZWFkJiBOZXR3b3JrUHJvY2Vzczo6cnRjTmV0
d29ya1RocmVhZCgpCit7CisgICAgaWYgKCFtX3J0Y05ldHdvcmtUaHJlYWQpIHsKKyAgICAgICAg
bV9ydGNOZXR3b3JrVGhyZWFkID0gcnRjOjpUaHJlYWQ6OkNyZWF0ZVdpdGhTb2NrZXRTZXJ2ZXIo
KTsKKyAgICAgICAgbV9ydGNOZXR3b3JrVGhyZWFkLT5TdGFydCgpOworCisgICAgICAgIEFTU0VS
VCghbV9wYWNrZXRTb2NrZXRGYWN0b3J5KTsKKyAgICAgICAgbV9wYWNrZXRTb2NrZXRGYWN0b3J5
ID0gc3RkOjptYWtlX3VuaXF1ZTxydGM6OkJhc2ljUGFja2V0U29ja2V0RmFjdG9yeT4obV9ydGNO
ZXR3b3JrVGhyZWFkLmdldCgpKTsKKyAgICB9CisgICAgcmV0dXJuICptX3J0Y05ldHdvcmtUaHJl
YWQ7Cit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKaW5kZXggZGFiMzc1NGUwMjBjNjNhOWRmMjAxYTVi
ZDlkYTFkZTliMTA1NmE0OC4uZGNmODRiYzI4YzdlMGQxYWYzZDBjZmE3ZTYzMGM0ODkxYTg4YWZm
NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nl
c3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5o
CkBAIC00Miw2ICs0Miw5IEBACiAjaW5jbHVkZSAiV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmgi
CiAjZW5kaWYKIAorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CisjaW5jbHVk
ZSA8d2VicnRjL3AycC9iYXNlL2Jhc2ljcGFja2V0c29ja2V0ZmFjdG9yeS5oPgorCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiBjbGFzcyBEb3dubG9hZElEOwogY2xhc3MgQ2VydGlmaWNhdGVJbmZvOwpA
QCAtMTE4LDYgKzEyMSwxMSBAQCBwdWJsaWM6CiAKICAgICBzdGQ6OmNocm9ubzo6bWlsbGlzZWNv
bmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBtX2xvYWRUaHJvdHRsZUxh
dGVuY3k7IH0KIAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgcnRjOjpCYXNpY1BhY2tldFNvY2tl
dEZhY3RvcnkmIHBhY2tldFNvY2tldEZhY3RvcnkoKSB7IHJldHVybiAqbV9wYWNrZXRTb2NrZXRG
YWN0b3J5OyB9CisgICAgcnRjOjpUaHJlYWQmIHJ0Y05ldHdvcmtUaHJlYWQoKTsKKyNlbmRpZgor
CiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CiAgICAgfk5ldHdvcmtQcm9jZXNzKCk7
CkBAIC0yMzAsNiArMjM4LDExIEBAIHByaXZhdGU6CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFdl
YlNRTGl0ZURhdGFiYXNlVHJhY2tlciBtX3dlYlNRTGl0ZURhdGFiYXNlVHJhY2tlcjsKICNlbmRp
ZgorCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpCYXNpY1Bh
Y2tldFNvY2tldEZhY3Rvcnk+IG1fcGFja2V0U29ja2V0RmFjdG9yeTsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8cnRjOjpUaHJlYWQ+IG1fcnRjTmV0d29ya1RocmVhZDsKKyNlbmRpZgogfTsKIAogfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjU4N2FiMWNkY2M4OTNkYjNhNmUzNjdiYmMwNDIzN2U1MWVkZmYxZTgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtN
YW5hZ2VyLmNwcApAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25m
aWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrTmV0d29ya01hbmFnZXIuaCIKKworI2lmIFVTRShMSUJX
RUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2lu
Y2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViTmV0d29ya01hbmFnZXJNZXNz
YWdlcy5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitlbnVtIHsKKyAgICBNZXNzYWdlU3RhcnQsCisgICAgTWVzc2FnZVN0b3AKK307CisKK3Zv
aWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0aW5nKCkKK3sKKyAgICBOZXR3b3Jr
UHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLlBvc3QoUlRDX0ZST01fSEVS
RSwgdGhpcywgTWVzc2FnZVN0YXJ0KTsKK30KKwordm9pZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6
OnN0b3BVcGRhdGluZygpCit7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05l
dHdvcmtUaHJlYWQoKS5Qb3N0KFJUQ19GUk9NX0hFUkUsIHRoaXMsIE1lc3NhZ2VTdG9wKTsKK30K
Kwordm9pZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6Ok9uTWVzc2FnZShydGM6Ok1lc3NhZ2UqIG1l
c3NhZ2UpCit7CisgICAgc3dpdGNoIChtZXNzYWdlLT5tZXNzYWdlX2lkKSB7CisgICAgY2FzZSBN
ZXNzYWdlU3RhcnQ6CisgICAgICAgIHN0YXJ0VXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCgpOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIE1lc3NhZ2VTdG9wOgorICAgICAgICBzdG9wVXBkYXRp
bmdGcm9tTmV0d29ya1RocmVhZCgpOworICAgICAgICBicmVhazsKKyAgICB9Cit9CisKK3ZvaWQg
TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKQor
eworICAgIG1fbWFuYWdlciA9IHN0ZDo6bWFrZV91bmlxdWU8cnRjOjpCYXNpY05ldHdvcmtNYW5h
Z2VyPigpOworICAgIG1fbWFuYWdlci0+U2lnbmFsTmV0d29ya3NDaGFuZ2VkLmNvbm5lY3QodGhp
cywgJk5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6b25OZXR3b3Jrc0NoYW5nZWQpOworICAgIG1fbWFu
YWdlci0+U3RhcnRVcGRhdGluZygpOworfQorCit2b2lkIE5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6
c3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKQoreworICAgIG1fbWFuYWdlci0+U3RvcFVw
ZGF0aW5nKCk7CisgICAgbV9tYW5hZ2VyID0gbnVsbHB0cjsKK30KKwordm9pZCBOZXR3b3JrTmV0
d29ya01hbmFnZXI6Om9uTmV0d29ya3NDaGFuZ2VkKCkKK3sKKyAgICBydGM6OkJhc2ljTmV0d29y
a01hbmFnZXI6Ok5ldHdvcmtMaXN0IG5ldHdvcmtzOworICAgIG1fbWFuYWdlci0+R2V0TmV0d29y
a3MoJm5ldHdvcmtzKTsKKworICAgIFJUQ05ldHdvcms6OklQQWRkcmVzcyBpcHY0OworICAgIG1f
bWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhBRl9JTkVULCAmaXB2NC52YWx1ZSk7Cisg
ICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIGlwdjY7CisgICAgbV9tYW5hZ2VyLT5HZXREZWZhdWx0
TG9jYWxBZGRyZXNzKEFGX0lORVQ2LCAmaXB2Ni52YWx1ZSk7CisKKyAgICBWZWN0b3I8UlRDTmV0
d29yaz4gbmV0d29ya0xpc3Q7CisgICAgbmV0d29ya0xpc3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShuZXR3b3Jrcy5zaXplKCkpOworICAgIGZvciAoYXV0byogbmV0d29yayA6IG5ldHdvcmtzKSB7
CisgICAgICAgIEFTU0VSVChuZXR3b3JrKTsKKyAgICAgICAgbmV0d29ya0xpc3QudW5jaGVja2Vk
QXBwZW5kKHsgKm5ldHdvcmsgfSk7CisgICAgfQorCisgICAgY2FsbE9uTWFpblRocmVhZChbdGhp
cywgbmV0d29ya0xpc3QgPSBXVEZNb3ZlKG5ldHdvcmtMaXN0KSwgaXB2NCA9IFdURk1vdmUoaXB2
NCksIGlwdjYgPSBXVEZNb3ZlKGlwdjYpXSB7CisgICAgICAgIG1fY29ubmVjdGlvbi5jb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViTmV0d29ya01hbmFnZXI6Ok5ldHdvcmtzQ2hhbmdlZChu
ZXR3b3JrTGlzdCwgaXB2NCwgaXB2NiksIDApOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmggYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2Vy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uMGQ1NjcwMGFmMzM5YTI1MzAyMmYxM2U5MjA0MzliYzk0NmVkNjBlYQot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrTmV0d29ya01hbmFnZXIuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3By
YWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiV2ViQ29yZS9MaWJX
ZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXR3b3JrLmg+CisjaW5jbHVk
ZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL3RocmVhZC5o
PgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOwor
fQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M7CisKK2NsYXNzIE5ldHdvcmtOZXR3b3JrTWFuYWdlciBmaW5hbCA6IHByaXZhdGUgcnRj
OjpNZXNzYWdlSGFuZGxlciwgcHVibGljIHNpZ3Nsb3Q6Omhhc19zbG90czw+IHsKK3B1YmxpYzoK
KyAgICBleHBsaWNpdCBOZXR3b3JrTmV0d29ya01hbmFnZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MmIGNvbm5lY3Rpb24pIDogbV9jb25uZWN0aW9uKGNvbm5lY3Rpb24pIHsgfQorCisg
ICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrTmV0d29y
a01hbmFnZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworCitwcml2
YXRlOgorICAgIHZvaWQgc3RhcnRVcGRhdGluZygpOworICAgIHZvaWQgc3RvcFVwZGF0aW5nKCk7
CisKKyAgICB2b2lkIE9uTWVzc2FnZShydGM6Ok1lc3NhZ2UqKTsKKworICAgIHZvaWQgc3RvcFVw
ZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsKKyAgICB2b2lkIHN0YXJ0VXBkYXRpbmdGcm9tTmV0
d29ya1RocmVhZCgpOworCisgICAgdm9pZCBvbk5ldHdvcmtzQ2hhbmdlZCgpOworCisgICAgTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvbjsKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8cnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyPiBtX21hbmFnZXI7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2Vy
Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zOTQ4YWRhZmIzYjIxOThl
ODYzOTBmMGFhYmY4YzRiZDk1ZmY2NjNlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5p
bgpAQCAtMCwwICsxLDMwIEBACisjIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoK
KyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
VEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05T
RVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBOZXR3b3JrTmV0d29ya01hbmFn
ZXIgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgU3RhcnRVcGRhdGluZygpCisgICAgdm9pZCBT
dG9wVXBkYXRpbmcoKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0
U29ja2V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmY5ODA0YWRkMGEyNDFmOWJhMjViN2JiMmU3NTg3ZTBj
ZmZkNzA2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQuY3BwCkBAIC0wLDAgKzEsMTkyIEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQYWNrZXRTb2NrZXQu
aCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisj
aW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJOZXR3
b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldE1lc3NhZ2VzLmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9hc3lu
Y3BhY2tldHNvY2tldC5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZVVEUCh1aW50NjRf
dCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiBz
b2NrZXQsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQoreworICAg
IHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiBwYWNrZXRTb2NrZXQobmV3IE5l
dHdvcmtQYWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBjb25uZWN0aW9u
KSk7CisKKyAgICBpZiAoIXBhY2tldFNvY2tldC0+bV9zb2NrZXQpCisgICAgICAgIHJldHVybjsK
KworICAgIHBhY2tldFNvY2tldC0+c2lnbmFsQWRkcmVzc1JlYWR5KHBhY2tldFNvY2tldC0+bV9z
b2NrZXQuZ2V0KCksIHBhY2tldFNvY2tldC0+bV9zb2NrZXQtPkdldExvY2FsQWRkcmVzcygpKTsK
KyAgICBjb25uZWN0aW9uLmFkZFBhY2tldFNvY2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHBhY2tl
dFNvY2tldCkpOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZUNsaWVudFRD
UCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNv
Y2tldD4mJiBzb2NrZXQsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9u
KQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiBwYWNrZXRTb2Nr
ZXQobmV3IE5ldHdvcmtQYWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBj
b25uZWN0aW9uKSk7CisKKyAgICBpZiAoIXBhY2tldFNvY2tldC0+bV9zb2NrZXQpCisgICAgICAg
IHJldHVybjsKKworICAgIGNvbm5lY3Rpb24uYWRkUGFja2V0U29ja2V0KGlkZW50aWZpZXIsIFdU
Rk1vdmUocGFja2V0U29ja2V0KSk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6Y3Jl
YXRlU2VydmVyVENQKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFz
eW5jUGFja2V0U29ja2V0PiYmIHNvY2tldCwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IGNvbm5lY3Rpb24pCit7CisgICAgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQYWNrZXRTb2NrZXQ+
IHBhY2tldFNvY2tldChuZXcgTmV0d29ya1BhY2tldFNvY2tldChpZGVudGlmaWVyLCBXVEZNb3Zl
KHNvY2tldCksIGNvbm5lY3Rpb24pKTsKKworICAgIGlmICghcGFja2V0U29ja2V0LT5tX3NvY2tl
dCkKKyAgICAgICAgcmV0dXJuOworCisgICAgcGFja2V0U29ja2V0LT5zaWduYWxBZGRyZXNzUmVh
ZHkocGFja2V0U29ja2V0LT5tX3NvY2tldC5nZXQoKSwgcGFja2V0U29ja2V0LT5tX3NvY2tldC0+
R2V0TG9jYWxBZGRyZXNzKCkpOworICAgIGNvbm5lY3Rpb24uYWRkUGFja2V0U29ja2V0KGlkZW50
aWZpZXIsIFdURk1vdmUocGFja2V0U29ja2V0KSk7Cit9CisKK05ldHdvcmtQYWNrZXRTb2NrZXQ6
Ok5ldHdvcmtQYWNrZXRTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRy
PHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYgc29ja2V0LCBSZWY8TmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3M+JiYgY29ubmVjdGlvbikKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVy
KQorICAgICwgbV9zb2NrZXQoV1RGTW92ZShzb2NrZXQpKQorICAgICwgbV9jb25uZWN0aW9uKFdU
Rk1vdmUoY29ubmVjdGlvbikpCit7CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKworICAgIGlmICgh
bV9zb2NrZXQpIHsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWdu
YWxDbG9zZSgxKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAgICBtX3NvY2tldC0+U2ln
bmFsUmVhZFBhY2tldC5jb25uZWN0KHRoaXMsICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxS
ZWFkUGFja2V0KTsKKyAgICBtX3NvY2tldC0+U2lnbmFsU2VudFBhY2tldC5jb25uZWN0KHRoaXMs
ICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFja2V0KTsKKyAgICBtX3NvY2tldC0+
U2lnbmFsQWRkcmVzc1JlYWR5LmNvbm5lY3QodGhpcywgJk5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNp
Z25hbEFkZHJlc3NSZWFkeSk7CisgICAgbV9zb2NrZXQtPlNpZ25hbENvbm5lY3QuY29ubmVjdCh0
aGlzLCAmTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdCk7CisgICAgbV9zb2NrZXQt
PlNpZ25hbENsb3NlLmNvbm5lY3QodGhpcywgJk5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbENs
b3NlKTsKK30KKworTmV0d29ya1BhY2tldFNvY2tldDo6fk5ldHdvcmtQYWNrZXRTb2NrZXQoKQor
eworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6Ok9uTWVzc2FnZShydGM6Ok1lc3NhZ2Uq
IG1lc3NhZ2UpCit7CisgICAgQVNTRVJUKG1lc3NhZ2UtPm1lc3NhZ2VfaWQgPT0gMSk7CisgICAg
ZGVsZXRlIHRoaXM7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6Y2xlYW4oKQorewor
ICAgIGF1dG8gcGFja2V0U29ja2V0ID0gbV9jb25uZWN0aW9uLT50YWtlUGFja2V0U29ja2V0KG1f
aWRlbnRpZmllcik7CisKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29y
a1RocmVhZCgpLlBvc3QoUlRDX0ZST01fSEVSRSwgcGFja2V0U29ja2V0LnJlbGVhc2UoKSwgMSk7
Cit9CisKK0lQQzo6Q29ubmVjdGlvbiogTmV0d29ya1BhY2tldFNvY2tldDo6bWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24oKQoreworICAgIHJldHVybiAmbV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCk7
Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6c2VuZFRvKGNvbnN0IElQQzo6RGF0YVJl
ZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50
MTZfdCBwb3J0LCBpbnQgcGFja2V0SUQsIGludCBydHBTZW5kdGltZUV4dGVuc2lvbklELCBTdHJp
bmcgc3J0cEF1dGgsIGludDY0X3Qgc3J0cFBhY2tldEluZGV4LCBpbnQgZHNjcCkKK3sKKyAgICBB
U1NFUlQobV9zb2NrZXQpOworCisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJlc3Mo
YWRkcmVzcy52YWx1ZSwgcG9ydCk7CisKKyAgICBydGM6OlBhY2tldE9wdGlvbnMgb3B0aW9uczsK
KyAgICBvcHRpb25zLnBhY2tldF9pZCA9IHBhY2tldElEOworICAgIG9wdGlvbnMucGFja2V0X3Rp
bWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRlbnNpb25faWQgPSBydHBTZW5kdGltZUV4dGVuc2lv
bklEOworICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfcGFja2V0X2luZGV4ID0g
c3J0cFBhY2tldEluZGV4OworICAgIG9wdGlvbnMuZHNjcCA9IHN0YXRpY19jYXN0PHJ0Yzo6RGlm
ZlNlcnZDb2RlUG9pbnQ+KGRzY3ApOworICAgIGlmIChzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCkp
IHsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleSA9IHN0
ZDo6dmVjdG9yPGNoYXI+KHNydHBBdXRoLnV0ZjgoKS5kYXRhKCksIHNydHBBdXRoLnV0ZjgoKS5k
YXRhKCkgKyBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCkpOworICAgICAgICBvcHRpb25zLnBhY2tl
dF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfdGFnX2xlbiA9IHNydHBBdXRoLnV0ZjgoKS5sZW5ndGgo
KTsKKyAgICB9IGVsc2UKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9h
dXRoX3RhZ19sZW4gPSAtMTsKKworICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IGJ1
ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNp
emUoKSk7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQo
KS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3RoaXMsIGFkZHJlc3MsIGJ1ZmZlciA9IFdU
Rk1vdmUoYnVmZmVyKSwgc29ja2V0QWRkcmVzcywgb3B0aW9uc10oKSB7CisgICAgICAgIG1fc29j
a2V0LT5TZW5kVG8ocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRh
KCkpLCBidWZmZXItPnNpemUoKSwgc29ja2V0QWRkcmVzcywgb3B0aW9ucyk7CisgICAgfSk7Cit9
CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6Y2xvc2UoKQoreworICAgIEFTU0VSVChtX3Nv
Y2tldCk7CisgICAgbV9zb2NrZXQtPkNsb3NlKCk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNv
Y2tldDo6c2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSkKK3sKKyAgICBBU1NFUlQobV9z
b2NrZXQpOworICAgIG1fc29ja2V0LT5TZXRPcHRpb24oc3RhdGljX2Nhc3Q8cnRjOjpTb2NrZXQ6
Ok9wdGlvbj4ob3B0aW9uKSwgdmFsdWUpOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6
OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IGNoYXIqIHZh
bHVlLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIGNv
bnN0IHJ0Yzo6UGFja2V0VGltZSYgcGFja2V0VGltZSkKK3sKKyAgICBhdXRvIGJ1ZmZlciA9IFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgpOworCisgICAgY2FsbE9u
TWFpblRocmVhZChbdGhpcywgYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBwYWNr
ZXRUaW1lXSgpIHsKKyAgICAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSk7Cisg
ICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhY2tldFNvY2tldDo6U2lnbmFsUmVhZFBhY2tldChk
YXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRkcmVzcy5pcGFkZHIoKSksIGFkZHJlc3MucG9y
dCgpLCBwYWNrZXRUaW1lLnRpbWVzdGFtcCkpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtQ
YWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNv
bnN0IHJ0Yzo6U2VudFBhY2tldCYgc2VudFBhY2tldCkKK3sKKyAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBzZW50UGFja2V0XSgpIHsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFja2V0
U29ja2V0OjpTaWduYWxTZW50UGFja2V0KHNlbnRQYWNrZXQucGFja2V0X2lkLCBzZW50UGFja2V0
LnNlbmRfdGltZV9tcykpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6
OnNpZ25hbEFkZHJlc3NSZWFkeShydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpT
b2NrZXRBZGRyZXNzJiBhZGRyZXNzKQoreworICAgIC8vIEZJWE1FOiBDaGVjayB0aGUgYWRkcmVz
cz8KKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBhZGRyZXNzXSgpIHsKKyAgICAgICAgYXV0
byBhZGRyZXNzU3RyaW5nID0gYWRkcmVzcy5Ub1N0cmluZygpOworICAgICAgICBzZW5kKE1lc3Nh
Z2VzOjpXZWJQYWNrZXRTb2NrZXQ6OlNpZ25hbEFkZHJlc3NSZWFkeShTdHJpbmcoYWRkcmVzc1N0
cmluZy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVuZ3RoKCkpKSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdChydGM6OkFzeW5jUGFja2V0U29j
a2V0KikKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSgpIHsKKyAgICAgICAgc2VuZChN
ZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxDb25uZWN0KCkpOworICAgIH0pOworfQor
Cit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQqLCBpbnQgZXJyb3IpCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgZXJyb3Jd
KCkgeworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWNrZXRTb2NrZXQ6OlNpZ25hbENsb3Nl
KGVycm9yKSk7CisgICAgICAgIGNsZWFuKCk7CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNl
IFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjU1OWM5OWI4NDRmMTE3YzY0MmI1N2U1ZDc4YTY4NGJiOTRhMGFkMTgKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1BhY2tldFNvY2tldC5oCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCisj
aW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaW5jbHVkZSAiV2ViQ29yZS9MaWJXZWJSVENNYWNy
b3MuaCIKKyNpbmNsdWRlICJ3ZWJydGMvYmFzZS9zaWdzbG90LmgiCisKK25hbWVzcGFjZSBydGMg
eworY2xhc3MgQXN5bmNQYWNrZXRTb2NrZXQ7CitjbGFzcyBTb2NrZXRBZGRyZXNzOworCitzdHJ1
Y3QgUGFja2V0VGltZTsKK3N0cnVjdCBTZW50UGFja2V0OworfQorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIE5ldHdv
cmtQYWNrZXRTb2NrZXQgZmluYWwgOiBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyLCBwdWJsaWMg
cnRjOjpNZXNzYWdlSGFuZGxlciwgcHVibGljIHNpZ3Nsb3Q6Omhhc19zbG90czw+IHsKK3B1Ymxp
YzoKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVVRFAodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1
bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYsIE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzJik7CisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2xpZW50VENQKHVpbnQ2NF90IGlk
ZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmLCBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOworICAgIHN0YXRpYyB2b2lkIGNyZWF0ZVNlcnZl
clRDUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tl
dFNvY2tldD4mJiwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKyAgICB2aXJ0dWFs
IH5OZXR3b3JrUGFja2V0U29ja2V0KCk7CisKKyAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgorICAg
IHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOworCitwcml2YXRlOgorICAgIE5ldHdvcmtQYWNrZXRTb2NrZXQo
dWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2Nr
ZXQ+JiYsIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4mJik7CisKKyAgICBib29s
IGlzQ2xvc2VkKCkgY29uc3QgeyByZXR1cm4gIW1fc29ja2V0OyB9CisgICAgdm9pZCBjbGVhbigp
OworCisgICAgLy8gSVBDOjpNZXNzYWdlU2VuZGVyCisgICAgSVBDOjpDb25uZWN0aW9uKiBtZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbigpIGZpbmFsOworICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJE
ZXN0aW5hdGlvbklEKCkgZmluYWwgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKKyAgICB2b2lk
IHNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFk
ZHJlc3MmLCB1aW50MTZfdCBwb3J0LCBpbnQgcGFja2V0SUQsIGludCBydHBTZW5kdGltZUV4dGVu
c2lvbklELCBTdHJpbmcgc3J0cEF1dGgsIGludDY0X3Qgc3J0cFBhY2tldEluZGV4LCBpbnQgZHNj
cCk7CisgICAgdm9pZCBjbG9zZSgpOworICAgIHZvaWQgc2V0T3B0aW9uKGludCBvcHRpb24sIGlu
dCB2YWx1ZSk7CisKKyAgICB2b2lkIHNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNv
Y2tldCosIGNvbnN0IGNoYXIqLCBzaXplX3QsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNv
bnN0IHJ0Yzo6UGFja2V0VGltZSYpOworICAgIHZvaWQgc2lnbmFsU2VudFBhY2tldChydGM6OkFz
eW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpTZW50UGFja2V0Jik7CisgICAgdm9pZCBzaWdu
YWxBZGRyZXNzUmVhZHkocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U29ja2V0
QWRkcmVzcyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVjdChydGM6OkFzeW5jUGFja2V0U29ja2V0
Kik7CisgICAgdm9pZCBzaWduYWxDbG9zZShydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgaW50KTsK
KworICAgIHZvaWQgT25NZXNzYWdlKHJ0Yzo6TWVzc2FnZSogbXNnKSBmaW5hbDsKKworICAgIHVp
bnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tl
dFNvY2tldD4gbV9zb2NrZXQ7CisgICAgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
PiBtX2Nvbm5lY3Rpb247Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8v
IFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjY5Y2MyMjAxMTZkOTQ0NTcxNWQ5ZWE0ZDU4Y2MxNjU1ODczM2RhMTYKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMxIEBACisjIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
IyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisj
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5U
RVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdl
cyAtPiBOZXR3b3JrUGFja2V0U29ja2V0IExlZ2FjeVJlY2VpdmVyIHsKKyAgICB2b2lkIFNlbmRU
byhJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3Mg
YWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tldElELCBpbnQgcnRwU2VuZHRpbWVFeHRl
bnNpb25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90IHNydHBQYWNrZXRJbmRleCwgaW50IGRz
Y3ApCisgICAgdm9pZCBDbG9zZSgpCisgICAgdm9pZCBTZXRPcHRpb24oaW50IG9wdGlvbiwgaW50
IHZhbHVlKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9S
VENOZXR3b3JrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40OTExMDgyMTBmZDdiNDVhNDllYTBmMDZiMDE5Nzlk
NGNlMGI1MTMzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05l
dHdvcmsuY3BwCkBAIC0wLDAgKzEsMTU2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1JUQ05ldHdvcms6OlJUQ05ldHdvcmsoY29uc3QgcnRjOjpOZXR3b3JrJiBuZXR3b3Jr
KQorICAgIDogbmFtZShuZXR3b3JrLm5hbWUoKSkKKyAgICAsIGRlc2NyaXB0aW9uKG5ldHdvcmsu
ZGVzY3JpcHRpb24oKSkKKyAgICAsIHByZWZpeCB7IG5ldHdvcmsucHJlZml4KCkgfQorICAgICwg
cHJlZml4TGVuZ3RoKG5ldHdvcmsucHJlZml4X2xlbmd0aCgpKQorICAgICwgdHlwZShuZXR3b3Jr
LnR5cGUoKSkKKyAgICAsIGlkKG5ldHdvcmsuaWQoKSkKKyAgICAsIHByZWZlcmVuY2UobmV0d29y
ay5wcmVmZXJlbmNlKCkpCisgICAgLCBhY3RpdmUobmV0d29yay5hY3RpdmUoKSkKKyAgICAsIGln
bm9yZWQobmV0d29yay5pZ25vcmVkKCkpCisgICAgLCBzY29wZUlEKG5ldHdvcmsuc2NvcGVfaWQo
KSkKKyAgICAsIGlwcyhuZXR3b3JrLkdldElQcygpKQoreworfQorCitydGM6Ok5ldHdvcmsgUlRD
TmV0d29yazo6dmFsdWUoKSBjb25zdAoreworICAgIHJ0Yzo6TmV0d29yayBuZXR3b3JrKG5hbWUu
ZGF0YSgpLCBkZXNjcmlwdGlvbi5kYXRhKCksIHByZWZpeC52YWx1ZSwgcHJlZml4TGVuZ3RoLCBy
dGM6OkFkYXB0ZXJUeXBlKHR5cGUpKTsKKyAgICBuZXR3b3JrLnNldF9pZChpZCk7CisgICAgbmV0
d29yay5zZXRfcHJlZmVyZW5jZShwcmVmZXJlbmNlKTsKKyAgICBuZXR3b3JrLnNldF9hY3RpdmUo
YWN0aXZlKTsKKyAgICBuZXR3b3JrLnNldF9pZ25vcmVkKGlnbm9yZWQpOworICAgIG5ldHdvcmsu
c2V0X3Njb3BlX2lkKHNjb3BlSUQpOworICAgIG5ldHdvcmsuU2V0SVBzKGlwcywgdHJ1ZSk7Cisg
ICAgcmV0dXJuIG5ldHdvcms7Cit9CisKK2Jvb2wgUlRDTmV0d29yazo6SVBBZGRyZXNzOjpkZWNv
ZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBJUEFkZHJlc3MmIHJlc3VsdCkKK3sKKyAgICBpbnQg
ZmFtaWx5OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZmFtaWx5KSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhOworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZGF0YSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZmFtaWx5ID09IEFG
X0lORVQpIHsKKyAgICAgICAgaWYgKGRhdGEuc2l6ZSgpICE9IHNpemVvZihpbl9hZGRyKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmVzdWx0LnZhbHVlID0gcnRjOjpJUEFk
ZHJlc3MoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgaW5fYWRkcio+KGRhdGEuZGF0YSgpKSk7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9m
KGluNl9hZGRyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC52YWx1ZSA9IHJ0
Yzo6SVBBZGRyZXNzKCpyZWludGVycHJldF9jYXN0PGNvbnN0IGluNl9hZGRyKj4oZGF0YS5kYXRh
KCkpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBSVENOZXR3b3JrOjpJUEFkZHJlc3M6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2
YWx1ZS5mYW1pbHkoKTsKKyAgICBpZiAodmFsdWUuZmFtaWx5KCkgPT0gQUZfSU5FVCkgeworICAg
ICAgICBhdXRvIGFkZHJlc3MgPSB2YWx1ZS5pcHY0X2FkZHJlc3MoKTsKKyAgICAgICAgZW5jb2Rl
ciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
JmFkZHJlc3MpLCBzaXplb2YoYWRkcmVzcykpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGF1dG8gYWRkcmVzcyA9IHZhbHVlLmlwdjZfYWRkcmVzcygpOworICAgIGVuY29kZXIgPDwgSVBD
OjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZhZGRyZXNz
KSwgc2l6ZW9mKGFkZHJlc3MpKTsKK30KKworYm9vbCBSVENOZXR3b3JrOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBSVENOZXR3b3JrJiByZXN1bHQpCit7CisgICAgSVBDOjpEYXRhUmVm
ZXJlbmNlIG5hbWUsIGRlc2NyaXB0aW9uOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobmFtZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQubmFtZSA9IHN0ZDo6c3RyaW5nKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KG5hbWUuZGF0YSgpKSwgbmFtZS5zaXplKCkpOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmVzdWx0LmRlc2NyaXB0aW9uID0gc3RkOjpzdHJpbmcocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBjaGFyKj4oZGVzY3JpcHRpb24uZGF0YSgpKSwgZGVzY3JpcHRpb24uc2l6ZSgpKTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmVmaXgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZml4TGVuZ3RoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnR5cGUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
aWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQucHJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5hY3RpdmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuaWdub3JlZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zY29wZUlEKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgdWludDY0X3QgbGVuZ3RoOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGVu
Z3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5pcHMucmVzZXJ2ZShsZW5n
dGgpOworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgp
IHsKKyAgICAgICAgSVBBZGRyZXNzIGFkZHJlc3M7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoYWRkcmVzcykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGludCBmbGFn
czsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShmbGFncykpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIHJlc3VsdC5pcHMucHVzaF9iYWNrKHsgYWRkcmVzcy52YWx1ZSwg
ZmxhZ3MgfSk7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFJUQ05ldHdvcms6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBJ
UEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4obmFtZS5k
YXRhKCkpLCBuYW1lLmxlbmd0aCgpKTsKKyAgICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5j
ZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihkZXNjcmlwdGlvbi5kYXRhKCkpLCBk
ZXNjcmlwdGlvbi5sZW5ndGgoKSk7CisgICAgZW5jb2RlciA8PCBwcmVmaXg7CisgICAgZW5jb2Rl
ciA8PCBwcmVmaXhMZW5ndGg7CisgICAgZW5jb2RlciA8PCB0eXBlOworCisgICAgZW5jb2RlciA8
PCBpZDsKKyAgICBlbmNvZGVyIDw8IHByZWZlcmVuY2U7CisgICAgZW5jb2RlciA8PCBhY3RpdmU7
CisgICAgZW5jb2RlciA8PCBpZ25vcmVkOworICAgIGVuY29kZXIgPDwgc2NvcGVJRDsKKworICAg
IGVuY29kZXIgPDwgKHVpbnQ2NF90KWlwcy5zaXplKCk7CisgICAgZm9yIChhdXRvJiBpcCA6IGlw
cykgeworICAgICAgICBlbmNvZGVyIDw8IElQQWRkcmVzcyB7IGlwIH07CisgICAgICAgIGVuY29k
ZXIgPDwgaXAuaXB2Nl9mbGFncygpOworICAgIH0KK30KKworfQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENO
ZXR3b3JrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uYmZiMjk2ZmNiNDI4MzliODU0MTNlNmMzZmUxYmI3Y2Q5NjMy
Njk1ZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3Jr
LmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CisjaW5j
bHVkZSA8d2VicnRjL2Jhc2UvbmV0d29yay5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisK
K25hbWVzcGFjZSBJUEMgeworY2xhc3MgRGVjb2RlcjsKK2NsYXNzIEVuY29kZXI7Cit9CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitzdHJ1Y3QgUlRDTmV0d29yayB7CisgICAgUlRDTmV0d29yaygp
ID0gZGVmYXVsdDsKKyAgICBSVENOZXR3b3JrKGNvbnN0IHJ0Yzo6TmV0d29yayYpOworCisgICAg
cnRjOjpOZXR3b3JrIHZhbHVlKCkgY29uc3Q7CisKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29k
ZXImKSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgUlRDTmV0
d29yayYpOworCisgICAgc3RydWN0IElQQWRkcmVzcyB7CisgICAgICAgIElQQWRkcmVzcygpID0g
ZGVmYXVsdDsKKyAgICAgICAgZXhwbGljaXQgSVBBZGRyZXNzKGNvbnN0IHJ0Yzo6SVBBZGRyZXNz
JiBhZGRyZXNzKTogdmFsdWUoYWRkcmVzcykgeyB9CisKKyAgICAgICAgdm9pZCBlbmNvZGUoSVBD
OjpFbmNvZGVyJikgY29uc3Q7CisgICAgICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkRlY29k
ZXImLCBJUEFkZHJlc3MmKTsKKworICAgICAgICBydGM6OklQQWRkcmVzcyB2YWx1ZTsKKyAgICB9
OworCisgICAgc3RkOjpzdHJpbmcgbmFtZTsKKyAgICBzdGQ6OnN0cmluZyBkZXNjcmlwdGlvbjsK
KyAgICBJUEFkZHJlc3MgcHJlZml4OworICAgIGludCBwcmVmaXhMZW5ndGg7CisgICAgaW50IHR5
cGU7CisgICAgdWludDE2X3QgaWQ7CisgICAgaW50IHByZWZlcmVuY2U7CisgICAgYm9vbCBhY3Rp
dmU7CisgICAgYm9vbCBpZ25vcmVkOworICAgIGludCBzY29wZUlEOworICAgIHN0ZDo6c3RyaW5n
IGtleTsKKyAgICBzaXplX3QgbGVuZ3RoOworICAgIHN0ZDo6dmVjdG9yPHJ0Yzo6SW50ZXJmYWNl
QWRkcmVzcz4gaXBzOworfTsKKworfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBi
L1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0
ZDMyMDA4MWZlZmRhYzMwMWEyMjFiNTQ3OTM3ZjllMmMxNDhiY2E2Li42ZmFmNTkyNTIzNzZiOTky
NjFlYWIzMjJiODUzMmUyZmI4NTZjZWRmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0
Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC04NzEsNiArODcxLDIyIEBACiAJCTNGODdC
OUJEMTU4OTQwMTIwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0Y4N0I5QkExNTg5M0Y2MzAwOTBGRjYy
IC8qIFdlYkNvbG9yQ2hvb3Nlci5jcHAgKi87IH07CiAJCTNGODdCOUJFMTU4OTQwMTkwMDkwRkY2
MiAvKiBXZWJDb2xvckNob29zZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDNGODdCOUJCMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIu
aCAqLzsgfTsKIAkJM0Y4N0I5QzAxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yUGlja2VyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCRjE1
ODk0MEQ4MDA5MEZGNjIgLyogV2ViQ29sb3JQaWNrZXIuaCAqLzsgfTsKKwkJNDEwNDgyQ0QxRERE
MzI0QzAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwNDgyQ0IxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdv
cmsuY3BwICovOyB9OworCQk0MTA0ODJDRTFEREQzMjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwNDgyQ0Mx
REREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCAqLzsgfTsKKwkJNDExQjIyNjQxRTM3MUJB
NjAwNEY3MzYzIC8qIExpYldlYlJUQy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5oICov
OyB9OworCQk0MTFCMjI2NTFFMzcxQkE5MDA0RjczNjMgLyogTGliV2ViUlRDLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUIyMjYzMUUzNzEyNDQw
MDRGNzM2MyAvKiBMaWJXZWJSVEMuY3BwICovOyB9OworCQk0MTMwNzVBOTFERTg1RjJDMDAzOUVD
NjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1Bh
Y2tldFNvY2tldC5jcHAgKi87IH07CisJCTQxMzA3NUFBMURFODVGMzAwMDM5RUM2OSAvKiBOZXR3
b3JrTmV0d29ya01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEzMDc1OUExREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFu
YWdlci5jcHAgKi87IH07CisJCTQxMzA3NUFCMURFODVGMzMwMDM5RUM2OSAvKiBOZXR3b3JrUGFj
a2V0U29ja2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5oICovOyB9
OworCQk0MTMwNzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5QjFE
RTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmggKi87IH07CisJCTQxMzA3
NUFEMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAv
KiBXZWJQYWNrZXRTb2NrZXQuaCAqLzsgfTsKKwkJNDEzMDc1QUUxREU4NUY1ODAwMzlFQzY5IC8q
IFdlYlBhY2tldFNvY2tldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTMwNzVBMTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNw
cCAqLzsgfTsKKwkJNDEzMDc1QUYxREU4NUY1ODAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3
NUEyMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgKi87IH07CisJCTQx
MzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTMxREU4NUVFNzAwMzlF
QzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmggKi87IH07CisJCTQxMzA3NUIxMURFODVGNTgwMDM5
RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5LmNwcCAqLzsgfTsKKwkJNDEzMDc1QjIxREU4NUY1ODAwMzlFQzY5
IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5LmggKi87IH07CisJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2OSAvKiBMaWJX
ZWJSVENDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ0NsaWVudC5jcHAgKi87
IH07CisJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE4MURFODVF
RTcwMDM5RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuaCAqLzsgfTsKIAkJNDQ1MEFFQzAxREMzRkFF
NTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0NTBBRUJGMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFy
ZWRNZW1vcnlDb2NvYS5jcHAgKi87IH07CiAJCTRBM0NDMThBMTlCMDYzRTcwMEQxNEFFRiAvKiBV
c2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEYzOTE5QUY3QjA0MDAyRUJBQjUg
LyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuY3BwICovOyB9OwogCQk0
QTNDQzE4QjE5QjA2NDBGMDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5h
Z2VyUHJveHkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDRBNDEwRjNBMTlBRjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5oICovOyB9OwpAQCAtMTA0MSw2ICsxMDU3LDExIEBACiAJCTUxRUZDMUNGMTUy
NEU2MjUwMEM5QTkzOCAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGQTJENTQxNTIxMTE4NjAwQzFC
QTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8q
IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJj
ZUxvYWRlck1lc3NhZ2VzLmggKi87IH07CiAJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBX
ZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2Vi
UmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1MUYwNjBFMTE2NTQz
MTg1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUw
MEYzMjgxQyAvKiBXZWJQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1
MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUQgLyogTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3JrTmV0
d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtO
ZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMx
ODUwMEYzMjgxRiAvKiBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1
MDBGMzI4MUYgLyogV2ViTmV0d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9Owor
CQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyogTGliV2ViUlRDTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MERE
MTY1NDMxNzUwMEYzMjgyQyAvKiBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9Owog
CQk1MUY3REM0MTE4MENDOTM2MDAyMTJDQTMgLyogWFBDU2VydmljZU1haW4ubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBCQzgyODM5NjE2QjQ3RUM0MDBB
Mjc4RkUgLyogWFBDU2VydmljZU1haW4ubW0gKi87IH07CiAJCTUxRjdEQzQzMTgwQ0M5MzYwMDIx
MkNBMyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RFNDY4MTVBOTE3NjMwMDhEMjZGQyAvKiBGb3VuZGF0
aW9uLmZyYW1ld29yayAqLzsgfTsKIAkJNTFGN0RDNDQxODBDQzkzNjAwMjEyQ0EzIC8qIFdlYktp
dC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA4REMyRUY1QjA0ODZBNjk0MDA5OEIyMTYgLyogV2ViS2l0LmZyYW1ld29yayAqLzsgfTsK
QEAgLTI5NzksNiArMzAwMCwyNyBAQAogCQkzRjg3QjlCQTE1ODkzRjYzMDA5MEZGNjIgLyogV2Vi
Q29sb3JDaG9vc2VyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdl
YkNvbG9yQ2hvb3Nlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNGODdCOUJC
MTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JDaG9vc2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTNGODdCOUJGMTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xvclBpY2tlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvclBpY2tlci5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29y
ay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBSVENOZXR3b3JrLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQw
IC8qIFJUQ05ldHdvcmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDTmV0
d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTFCMjI2MjFFMzcxMjQ0MDA0
RjczNjMgLyogTGliV2ViUlRDLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExp
YldlYlJUQy5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMUIyMjYzMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDLmNwcDsg
cGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQYWNrZXRT
b2NrZXQuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2Nr
ZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5OTFERTg0RkIwMDAz
OUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBOZXR3b3JrUGFja2V0U29ja2V0Lmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1BhY2tldFNvY2tldC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtOZXR3b3JrTWFuYWdlci5j
cHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5
IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBOZXR3b3JrTmV0d29ya01hbmFnZXIuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDEzMDc1OUMxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdl
cy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrTmV0d29ya01hbmFnZXIubWVzc2Fn
ZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2Vy
Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5RDFERTg0
RkIwMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHRleHQ7IG5hbWUgPSBOZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlGMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQ
YWNrZXRTb2NrZXQubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViUGFja2V0
U29ja2V0Lm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0
Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBMDFERTg1
RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IFdlYlBhY2tldFNvY2tldC5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUGFj
a2V0U29ja2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUExMURFODVF
RTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gV2ViUGFja2V0U29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRj
L1dlYlBhY2tldFNvY2tldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3
NUEyMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gV2ViTmV0d29ya01hbmFn
ZXIuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4
Y29kZS5sYW5nLmNwcDsgfTsKKwkJNDEzMDc1QTMxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdv
cmtNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYk5ldHdvcmtN
YW5hZ2VyLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBNDFERTg1RUU3MDAzOUVDNjkgLyogV2Vi
TmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViTmV0
d29ya01hbmFnZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3Jr
TWFuYWdlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1
QTUxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IFdlYlBhY2tldFNv
Y2tldEZhY3RvcnkuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFj
dG9yeS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9u
SWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBNjFERTg1RUU3MDAzOUVD
NjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9X
ZWJQYWNrZXRTb2NrZXRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
MzA3NUE3MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ0NsaWVu
dC5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29k
ZS5sYW5nLmNwcDsgfTsKKwkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ0Ns
aWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0g
TGliV2ViUlRDQ2xpZW50Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlm
aWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAv
KiBMaWJXZWJSVEMubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0gMDsg
bmFtZSA9IExpYldlYlJUQy5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldl
YlJUQy5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNp
ZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CiAJCTQ0NTBBRUJGMURDM0ZBRTUwMDk5
NDNGMiAvKiBTaGFyZWRNZW1vcnlDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBTaGFyZWRNZW1vcnlDb2NvYS5jcHA7IHBhdGggPSBjb2NvYS9TaGFyZWRNZW1v
cnlDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM1MTlBRjdB
QzMwMDJFQkFCNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QTQxMEYzNjE5QUY3QUMzMDAyRUJB
QjUgLyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CkBAIC0zMDA2LDcgKzMwNDgsNyBAQAogCQk1MTA1MjM3NjFDNzNEOUY2
MDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5tZXNzYWdlcy5pbjsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNTIzNzcxQzczREE3MDAwNzk5M0NCIC8qIFdl
YklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlUmVj
ZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA1MjM3ODFDNzNEQTcw
MDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJNTEwNUIwRDQxNjJGN0E3QTAwRTI3NzA5
IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOyBwYXRoID0gTmV0d29y
ay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUg
PSBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKIAkJNTEwNUIwRDUxNjJG
N0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaDsgcGF0aCA9IE5l
dHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTUxMDVCMEYzMTYzMDg3MkUwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5Lm1l
c3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW47IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDZEN0JGMThCREJFNzMwMDBBQjE2NiAvKiBDb250ZXh0
TWVudUNvbnRleHREYXRhLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IENvbnRleHRNZW51Q29udGV4dERhdGEuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpA
QCAtMzA2Myw3ICszMTA1LDcgQEAKIAkJNTEyRjU4RjQxMkE4OEE1NDAwNjI5NTMwIC8qIFdLUHJv
dGVjdGlvblNwYWNlLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLUHJvdGVj
dGlvblNwYWNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxM0ExNjNBMTYzMDg4
RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzUHJveHlNZXNz
YWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTNBMTYzQjE2
MzA4OEY2MDA1RDdEMjIgLyogTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VzLmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MTNBMTY0OTE2MzBBOUJGMDA1RDdEMjIgLyog
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBuYW1lID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOyBwYXRoID0g
TmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk1MTNBMTY0OTE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlm
aWVyID0geGNvZGUubGFuZy5jcHA7IH07CiAJCTUxM0ExNjRBMTYzMEE5QkYwMDVEN0QyMiAvKiBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOyBwYXRoID0gTmV0d29ya1By
b2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTEzQTE2NEIxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxM0U0NjJCMUFEODM3NTYwMDE2MjM0QSAvKiBXS1NoYXJpbmdTZXJ2
aWNlUGlja2VyRGVsZWdhdGUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tT
aGFyaW5nU2VydmljZVBpY2tlckRlbGVnYXRlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CkBAIC0zMTc2LDYgKzMyMTgsMTEgQEAKIAkJNTFFMzk5MDUxRDZGNTRDNTAwOUM4ODMxIC8qIFVJ
R2FtZXBhZFByb3ZpZGVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBVSUdhbWVwYWRQcm92aWRlckNvY29hLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MUU5NDk5NjFENzYxQ0M3MDBFQzlFQjkgLyogVUlHYW1lcGFkUHJvdmlkZXJJT1Mu
bW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVSUdhbWVwYWRQcm92
aWRlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREQxNjU0MzE3
NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlBh
Y2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJQYWNr
ZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrTmV0d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4
MUYgLyogV2ViTmV0d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViTmV0d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkMgLyogTGliV2ViUlRDTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IExpYldlYlJUQ01lc3NhZ2VSZWNl
aXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjA2MERFMTY1NDMxNzUw
MEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NTFGN0RDNEExODBDQzkzNjAwMjEyQ0EzIC8qIGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnhw
YyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBleHBsaWNpdEZpbGVUeXBlID0gIndyYXBw
ZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRleCA9IDA7IHBhdGggPSBjb20uYXBwbGUuV2Vi
S2l0LkRhdGFiYXNlcy54cGM7IHNvdXJjZVRyZWUgPSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJ
CTUxRkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS0J1bmRsZURPTVdpbmRvd0V4dGVu
c2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtNDY4OCw2ICs0NzM1LDggQEAK
IAkJCQlCQ0M0M0FCOTEyN0I5NURDMDAzMTdGMTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmgg
Ki8sCiAJCQkJRTE4QzkyRjMxMkRCOUU3MTAwQ0YyQUVCIC8qIFByaW50SW5mby5jcHAgKi8sCiAJ
CQkJRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4IC8qIFByaW50SW5mby5oICovLAorCQkJCTQxMDQ4
MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLywKKwkJCQk0MTA0ODJDQzFE
REQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovLAogCQkJCUY2QTBDMTNGMTMyODFFNkUw
MDcwNDMwRiAvKiBSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCAqLywKIAkJCQlCQzJEMDIxNjEyQUM0
MUNCMDBFNzMyQTMgLyogU2FtZURvY3VtZW50TmF2aWdhdGlvblR5cGUuaCAqLywKIAkJCQkxQUFC
NEE4QzEyOTZGMEEyMDAyMzk1MkYgLyogU2FuZGJveEV4dGVuc2lvbi5oICovLApAQCAtNTUzMSw2
ICs1NTgwLDM5IEBACiAJCQlwYXRoID0gUmVzb3VyY2VzL21hYzsKIAkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CiAJCX07CisJCTQxMzA3NTk3MURFODRFRDcwMDM5RUM2OSAvKiB3ZWJydGMgKi8g
PSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJCTQxMzA3NTk4MURF
ODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmNwcCAqLywKKwkJCQk0MTMwNzU5
OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5oICovLAorCQkJCTQxMzA3
NTlBMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwICovLAorCQkJ
CTQxMzA3NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuaCAqLywK
KwkJCQk0MTMwNzU5QzFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLm1l
c3NhZ2VzLmluICovLAorCQkJCTQxMzA3NTlEMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFj
a2V0U29ja2V0Lm1lc3NhZ2VzLmluICovLAorCQkJKTsKKwkJCW5hbWUgPSB3ZWJydGM7CisJCQlz
b3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OworCQk0MTMwNzU5RTFERTg1RTY1MDAzOUVDNjkg
Lyogd2VicnRjICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJ
CQk0MTMwNzU5RjFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmlu
ICovLAorCQkJCTQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCAq
LywKKwkJCQk0MTMwNzVBMTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNwcCAq
LywKKwkJCQk0MTMwNzVBMjFERTg1RUU3MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIuY3Bw
ICovLAorCQkJCTQxMzA3NUEzMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5o
ICovLAorCQkJCTQxMzA3NUE0MURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5t
ZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzVBNTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0
U29ja2V0RmFjdG9yeS5jcHAgKi8sCisJCQkJNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIFdl
YlBhY2tldFNvY2tldEZhY3RvcnkuaCAqLywKKwkJCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkg
LyogTGliV2ViUlRDQ2xpZW50LmNwcCAqLywKKwkJCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkg
LyogTGliV2ViUlRDQ2xpZW50LmggKi8sCisJCQkJNDFBQzg2ODExRTA0MkU1MzAwMzAzMDc0IC8q
IExpYldlYlJUQy5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMg
LyogTGliV2ViUlRDLmggKi8sCisJCQkJNDExQjIyNjMxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldl
YlJUQy5jcHAgKi8sCisJCQkpOworCQkJbmFtZSA9IHdlYnJ0YzsKKwkJCXNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7CisJCX07CiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLyA9
IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC01NTUzLDYgKzU2MzUs
NyBAQAogCQk1MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLyA9IHsKIAkJCWlz
YSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDEzMDc1OUUxREU4NUU2NTAwMzlF
QzY5IC8qIHdlYnJ0YyAqLywKIAkJCQk1MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmNwcCAqLywKIAkJCQk1MTA1QjBENTE2MkY3QTdBMDBFMjc3MDkg
LyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmggKi8sCiAJCQkJNTFGQjA5MDIxNjNBM0IxQzAw
RUMzMjRBIC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLywKQEAgLTU1
NzksNiArNTY2Miw3IEBACiAJCQkJRTE3OThDNzYxNkU2ODE1NTAwMjQwMTM5IC8qIEZpbGVBUEkg
Ki8sCiAJCQkJMkRBOTQ0QkIxODg1MTFERDAwRUQ4NkRCIC8qIGlvcyAqLywKIAkJCQk1MTBDQzdE
QzE2MTM4RTI5MDBEMDNFRDMgLyogbWFjICovLAorCQkJCTQxMzA3NTk3MURFODRFRDcwMDM5RUM2
OSAvKiB3ZWJydGMgKi8sCiAJCQkJNTEzQTE2NDkxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCAqLywKIAkJCQk1MTNBMTY0QTE2MzBBOUJGMDA1RDdE
MjIgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCAqLywKIAkJCQk1MTNBMTY0QjE2
MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMu
aW4gKi8sCkBAIC03NDQxLDYgKzc1MjUsMTEgQEAKIAkJCQlCQ0VFN0FDQzEyODE3OTg4MDA5ODI3
REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlCQ0VFN0FD
RDEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLywKIAkJCQk1
MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJQYWNrZXRTb2Nr
ZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAv
KiBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUw
MEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJ
CQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYgLyogV2ViTmV0
d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxRjA2MERFMTY1NDMxNzUw
MEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggKi8sCiAJCQkJN0E3OTFFRjkx
QzdDRkIzNzAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCiAJCQkJN0E3OTFFRjgxQzdDRkIxMDAwQzRDNTJCIC8qIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VzLmggKi8sCkBAIC03ODgwLDYgKzc5NjksNyBA
QAogCQkJCTFBMUVDNjlFMTg3MjA5MjEwMEI5NTFGMCAvKiBJbXBvcnRhbmNlQXNzZXJ0aW9uLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzIwNEVFMzExQzgzRTk4MDA4RjMzNzUgLyogSW5qZWN0ZWRC
dW5kbGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzNUVFQkEyMTI3NzYxRDAwMDMzMjJCOCAvKiBJ
bmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1
QjIxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTkzNUVFQkE0MTI3NzYxRDYwMDMzMjJCOCAvKiBJbmplY3RlZEJ1bmRsZUJhY2tG
b3J3YXJkTGlzdEl0ZW0uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDRUU3REM1MTI4QjY0NUQwMDk4
MjdEQSAvKiBJbmplY3RlZEJ1bmRsZUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCQjgx
MUQxQUEwRjhCMTAwNkIxOTQyIC8qIEluamVjdGVkQnVuZGxlRmlsZUhhbmRsZS5oIGluIEhlYWRl
cnMgKi8sCkBAIC04MDcwLDYgKzgxNjAsNyBAQAogCQkJCUUxOEU2OTBDMTY5QjU2M0YwMDlCNjY3
MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThFNjkxODE2OUI2
NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTREOUY1NzE5MTE5RDM1MDAwMDYzQTcgLyogU2VydmljZXNDb250cm9sbGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MTMwNzVBQjFERTg1RjMzMDAzOUVDNjkgLyogTmV0d29ya1BhY2tl
dFNvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGREU2NUExOTU0QTQyQjAwQzQ4RkZBIC8q
IFNlc3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDkxOTZCMzQ1RDAwQjlB
RDQ0IC8qIFNlc3Npb25TdGF0ZUNvZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzUzRTNFMEUx
ODg3Mzk4OTAwMTg4NDk2IC8qIFNlc3Npb25UcmFja2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTgx
NTksNiArODI1MCw3IEBACiAJCQkJMUFBODNGNkQxQTVCNjNGRjAwMDI2RUM2IC8qIFdlYkRhdGFi
YXNlUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlBMjZFMUExM0U4MzQwMDhENjUw
RSAvKiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1
QjFDNTUxODk4N0VERjAwNEZDRjlCIC8qIFdlYkRvY3VtZW50TG9hZGVyLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzAzMkQ3QjEwRjQzNzhEMDA1OEMxNUEgLyogV2ViRHJhZ0NsaWVu
dC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMEVGOUYxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVk
aXRDb21tYW5kUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDdEMTBGNDM3OEQwMDU4
QzE1QSAvKiBXZWJFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODE4Myw2ICs4Mjc1
LDcgQEAKIAkJCQlCQzU0Q0FDQjEyRDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9jYXRpb25NYW5h
Z2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMEU2MTgzMTJENkNCMUQwMDEyQTcyQSAv
KiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJ
CQlCQzBFNjA3MzEyRDZCQzIwMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QUMxREU4NUYzNzAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3
b3JrTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQkUxRjIxMkQ1NERCRDAwMDRBMjI4
IC8qIFdlYkdlb2xvY2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENTAzNjc2
MUJDRUQxOUYwMEUyMEJCMyAvKiBXZWJHZXN0dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTkzQTg4QjMzMUJDNkU5Q0QwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIGluIEhl
YWRlcnMgKi8sCkBAIC04MTkyLDYgKzgyODUsNyBAQAogCQkJCTUxMUIyNEE3MTMyRTA5NTcwMDA2
NUEwQyAvKiBXZWJJY29uRGF0YWJhc2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMDJG
NkMxMzJFQzczNzAwQkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZVByb3h5TWVzc2FnZXMuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUxMDUyMzcwMUM3MzlENDIwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0
aW9uVG9DbGllbnQuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2
OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzdBMUM3M0RB
NzcwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE0MTI5OTQxQzY0MjhCQjAwNTlFNzE0IC8qIFdlYklEQkNvbm5lY3Rpb25U
b1NlcnZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzNzQxQzczRDM4QjAwNzk5M0NCIC8q
IFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTgy
NDcsNiArODM0MSw3IEBACiAJCQkJQ0RBMjlBMUIxQ0JEQkY0MTAwOTAxQ0NGIC8qIFdlYlBsYXli
YWNrU2Vzc2lvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTI5QTI5MUNCRUI2N0Ew
MDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUNEQTI5QTIwMUNCRUI1RkIwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25N
YW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZE
MCAvKiBSVENOZXR3b3JrLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREEyOUEyQjFDQkVCNjdBMDA5
MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1
cEl0ZW0uaCBpbiBIZWFkZXJzICovLApAQCAtODQ1OSw2ICs4NTU0LDcgQEAKIAkJCQkzNzBGMzRB
MzE4MjlCRTFFMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMzcwRjM0QTUxODI5QkVBMzAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGFJbnRlcm5hbC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkNGNjlGQTkxMTc2RDFDQjAwNDcxQTUyIC8qIFdLTmF2aWdh
dGlvbkRhdGFSZWYuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMUIyMjY0MUUzNzFCQTYwMDRGNzM2
MyAvKiBMaWJXZWJSVEMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQkMzREZDMTg5OUY1MUMwMDRG
MDYyNiAvKiBXS05hdmlnYXRpb25EZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBMjBE
NTExOEFENTBFMDAwNUQxRUQ0IC8qIFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFCQzNERjExODk5QzZCNjAwNEYwNjI2IC8qIFdLTmF2aWdhdGlvbklu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKQEAgLTg1ODEsNiArODY3Nyw3IEBACiAJCQkJMzc3RUFE
NDkxN0UyQzc3QjAwMkQxOTNEIC8qIFdLVXNlclNjcmlwdEluamVjdGlvblRpbWUuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBQUYwODlEMTkyNjdGQzgwMEI2MzkwQyAvKiBXS1VzZXJTY3JpcHRJbnRl
cm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4ODJERkExQzdFOTk3MzAwNkJGNzMxIC8qIFdL
VXNlclNjcmlwdFByaXZhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUIwMURFODVGNTgw
MDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4OUQy
QTQxQTY3ODg3NTAwM0E1RkRFIC8qIFdLVXNlclNjcmlwdFJlZi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM4Njk5QjUxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkM4Njk5QjcxMTZBQURBQTAwMkE5MjVCIC8qIFdLVmlld0ludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKQEAgLTkyMzEsNiArOTMyOCw3IEBACiAJCQkJMUE0M0U4MjkxODhGM0NEQzAwOUU0RDMw
IC8qIF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFB
OUUzMjhFMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gaW4g
U291cmNlcyAqLywKIAkJCQkxQTlFMzI4QTE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2Jq
ZWN0UmVnaXN0cnkubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTA0ODJDRDFEREQzMjRDMDBGMDA2
RDAgLyogUlRDTmV0d29yay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTVCQTgxMTFCQTEzMTgx
MDA3Q0QzM0QgLyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gaW4gU291
cmNlcyAqLywKIAkJCQkxQTAwMkQ0NTE5NkIzMzhFMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRl
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ2QjM3MUMxOEE5NjdBRDAwNDJBRTgwIC8qIF9XS1Ro
dW1ibmFpbFZpZXcubW0gaW4gU291cmNlcyAqLywKQEAgLTkzNTUsNiArOTQ1Myw3IEBACiAJCQkJ
OENGRUNFOTQxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDMDMyREE3MTBGNDM3RDEwMDU4QzE1QSAvKiBFbmNvZGVyLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTUxQjE1QTg0MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGll
cy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBRjFERTg1RjU4MDAzOUVDNjkgLyogV2Vi
TmV0d29ya01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBNTc1RkExNDk2QjUyNjAw
QTRFRTA2IC8qIEV2ZW50RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzYw
MjE0OTZCOTc5MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTAwQjk2NjE5MThFMjVBRTEwMENFMUY4OCAvKiBGaW5kQ2xpZW50
Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC05NDkxLDYgKzk1OTAsNyBAQAogCQkJCTFBMkQ4MkE4MTI3
RjRFQUIwMDFFQjk2MiAvKiBOUFJlbW90ZU9iamVjdE1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQTIxNjFCMTExRjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCTFBMjE2MkIwMTFGMzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGls
aXRpZXMuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDExQjIyNjUxRTM3MUJBOTAwNEY3MzYzIC8q
IExpYldlYlJUQy5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJEODRBNDEyN0Y2QUQxMDAxRUI5
NjIgLyogTlBWYXJpYW50RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzhBQ0ExNDE2Njcw
RDg5MDA0QzE5NDEgLyogT2JqQ09iamVjdEdyYXBoLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0Mz
ODc0MzQxNzJGNTYxNTAwMUJEODhBIC8qIFBhZ2VCYW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC05NTA4LDYgKzk2MDgsNyBAQAogCQkJCTVDODVDNzg4MUMzRjIzQ0UwMDYxQTRGQSAvKiBQZW5k
aW5nRG93bmxvYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1RTIwMDMxOEU3NzA1MTAwM0VD
M0U1IC8qIFBsYXRmb3JtQ0FBbmltYXRpb25SZW1vdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQky
REEwNDlCMzE4MENDQ0QzMDBBQUZBOUUgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcCBpbiBT
b3VyY2VzICovLAorCQkJCTQxMzA3NUE5MURFODVGMkMwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0
U29ja2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEODcxMDE2MTgyODQxNUQwMDE4RkEwMSAv
KiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDg5
NDlGMDE4MjA0NEY2MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5n
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0
Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05NzE3LDYgKzk4MTgsNyBA
QAogCQkJCUJDMEU2MDYxMTJENkJBOTEwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NENBQ0MxMkQ2NDI5MTAw
NUM2N0IwIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDMEU2MTgyMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94
eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBRTFERTg1RjU4
MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEU2
MDc0MTJENkJDMjAwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvblBvc2l0aW9uLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDMUJFMUYzMTJENTREQkQwMDA0QTIyOCAvKiBXZWJHZW9sb2NhdGlvblBy
b3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENTAzNjc1MUJDRUQxOUYwMEUyMEJCMyAv
KiBXZWJHZXN0dXJlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05ODM2LDYgKzk5MzgsMTEg
QEAKIAkJCQkzNzYwODgxRTE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTUxMEFGRkI5MTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJj
ZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIg
LyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlBhY2tldFNvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyog
TGliV2ViUlRDTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUx
MTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3Jr
TmV0d29ya01hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFG
MDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBNzkxRUZDMUM3RDA4QzUwMEM0QzUyQiAvKiBXZWJS
ZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OTFF
RkExQzdDRkNGMTAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3Nh
Z2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3MjE5MjdGQTM2MDAzNkE1
OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05ODYz
LDEwICs5OTcwLDEyIEBACiAJCQkJM0Y0MThFRjkxODg3QkQ5NzAwMjc5NUZEIC8qIFdlYlZpZGVv
RnVsbHNjcmVlbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTJENUExQjExQzU3NDk2MjAwREUzNEEzIC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94
eS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTNGNDE4RUZCMTg4N0JEOTcwMDI3OTVGRCAvKiBXZWJW
aWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ0NsaWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyREZDN0RCQzFCQ0NDMTk1MDBDMTU0OEMgLyogV2ViVmlld0lt
cGwubW0gaW4gU291cmNlcyAqLywKIAkJCQlDMDMzN0REMTEyN0EyOTgwMDA4RkY0RjQgLyogV2Vi
V2hlZWxFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NjgxNjBEMDE4NzY0NTU3MDAyMUU3
OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI5Q0Q1
NUFCMTI4RTI5NEYwMDEzM0M4NSAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5t
bSBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUIxMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNr
ZXRTb2NrZXRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5MjMyREY4MThCMkE5QUUw
MEQwNTk2RiAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0SU9TLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMjkyMzJERjkxOEIyQUIzQTAwRDA1OTZGIC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRkNCNEU0OTE4QkJFMDQ0MDAwRkNG
QzkgLyogV0tBY3Rpb25TaGVldC5tbSBpbiBTb3VyY2VzICovLApAQCAtOTg4NCw2ICs5OTkzLDcg
QEAKIAkJCQlCQ0JBQUNGNTE0NTIzMjRGMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRHcm91
cC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBRTAwRDRDMTgyRDZFQjAwMDA4N0RENyAvKiBXS0Jy
b3dzaW5nQ29udGV4dEhhbmRsZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDMjA0RUVFMTFDODNF
QzgwMDhGMzM3NSAvKiBXS0J1bmRsZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBQTFE
RTg1RjMwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTkzNUVFQjlFMTI3NzYxQUMwMDMzMjJCOCAvKiBXS0J1bmRsZUJhY2tGb3J3YXJkTGlz
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVFRUJBMDEyNzc2MUFDMDAzMzIyQjggLyogV0tC
dW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRkEyRDc3
MTUyMTJFMjYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5jcHAgaW4gU291
cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9O
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKaW5kZXggMDhhYjFlMzU1MTZmMThk
OWMwZDQ1N2VmNjE0NDE5YTliYzMwMGQ3Ni4uNzZhNDZmNzYzNjAyMjhiN2ZjZTMwNWQ4OWY5NmJh
NmE2MmE0NDUzMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKQEAgLTI3LDkgKzI3LDE0
IEBACiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCiAKICNpbmNsdWRlICJE
YXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDTWVzc2FnZXMuaCIKICNpbmNsdWRl
ICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmgiCiAjaW5jbHVkZSAiV2ViTG9hZGVyU3RyYXRlZ3kuaCIKKyNp
bmNsdWRlICJXZWJOZXR3b3JrTWFuYWdlci5oIgorI2luY2x1ZGUgIldlYk5ldHdvcmtNYW5hZ2Vy
TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXQuaCIKKyNpbmNsdWRlICJXZWJQ
YWNrZXRTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKICNpbmNsdWRl
ICJXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZWRS
ZXNvdXJjZS5oPgpAQCAtNTQsMTIgKzU5LDI3IEBAIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
fk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpCiB2b2lkIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRl
Y29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgp
ID09IE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7
Ci0gICAgICAgIGlmIChXZWJSZXNvdXJjZUxvYWRlciogd2ViUmVzb3VyY2VMb2FkZXIgPSBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS53ZWJMb2FkZXJTdHJhdGVneSgpLndlYlJlc291cmNlTG9hZGVy
Rm9ySWRlbnRpZmllcihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpCisgICAgICAgIGlmIChhdXRv
KiB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvYWRlclN0
cmF0ZWd5KCkud2ViUmVzb3VyY2VMb2FkZXJGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVzdGluYXRp
b25JRCgpKSkKICAgICAgICAgICAgIHdlYlJlc291cmNlTG9hZGVyLT5kaWRSZWNlaXZlV2ViUmVz
b3VyY2VMb2FkZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwotICAgICAgICAKICAgICAg
ICAgcmV0dXJuOwogICAgIH0KIAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgaWYgKGRlY29kZXIu
bWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJQYWNrZXRTb2NrZXQ6Om1lc3Nh
Z2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBpZiAoYXV0byogd2ViUGFja2V0U29ja2V0ID0g
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDKCkud2ViUGFja2V0U29ja2V0Rm9ySWRl
bnRpZmllcihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpCisgICAgICAgICAgICB3ZWJQYWNrZXRT
b2NrZXQtPmRpZFJlY2VpdmVXZWJQYWNrZXRTb2NrZXRNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29k
ZXIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNl
aXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViTmV0d29ya01hbmFnZXI6Om1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSkgeworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5u
ZXR3b3JrTWFuYWdlcigpLmRpZFJlY2VpdmVXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2UoY29ubmVj
dGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIu
bWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpMaWJXZWJSVEM6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMo
KS5kaWRSZWNlaXZlTGliV2ViUlRDTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgZGlkUmVjZWl2ZU5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbk1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiB9CiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi40OTZlYTI3ZDcwYjFkOTYwNDdkZjgxZDNjNDkyMjY4NDBmYWZmOGQwCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVEMuY3BwCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29u
ZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisj
aW5jbHVkZSAiV2ViTmV0d29ya01hbmFnZXIuaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXRG
YWN0b3J5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2luY2x1ZGUg
PHdlYnJ0Yy9hcGkvcGVlcmNvbm5lY3Rpb25mYWN0b3J5Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCit2b2lkIExpYldlYlJUQzo6aW5pdGlhbGl6ZSgpCit7CisgICAgaWYgKG1fc29ja2V0RmFj
dG9yeSkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9zb2NrZXRGYWN0b3J5ID0gc3RkOjptYWtl
X3VuaXF1ZTxXZWJQYWNrZXRTb2NrZXRGYWN0b3J5PigpOworICAgIG1fd2ViTmV0d29ya01hbmFn
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYk5ldHdvcmtNYW5hZ2VyPigpOworfQorCitXZWJQYWNr
ZXRTb2NrZXQqIExpYldlYlJUQzo6d2ViUGFja2V0U29ja2V0Rm9ySWRlbnRpZmllcih1aW50NjRf
dCBpZGVudGlmaWVyKQoreworICAgIEFTU0VSVChtX3NvY2tldEZhY3RvcnkpOworICAgIHJldHVy
biBtX3NvY2tldEZhY3RvcnktPndlYlBhY2tldFNvY2tldChpZGVudGlmaWVyKTsKK30KKworV2Vi
TmV0d29ya01hbmFnZXImIExpYldlYlJUQzo6bmV0d29ya01hbmFnZXIoKQoreworICAgIEFTU0VS
VChtX3dlYk5ldHdvcmtNYW5hZ2VyKTsKKyAgICByZXR1cm4gKm1fd2ViTmV0d29ya01hbmFnZXI7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQy5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmEyMTAzNzY3MjYzY2FmNDA3ZjhiNzhiOTVmZjA4ZjUyYjYzMDAw
OWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQy5oCkBAIC0wLDAgKzEsNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJXZWJOZXR3b3JrTWFuYWdl
ci5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ0NsaWVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3BlZXJjb25uZWN0aW9uZmFjdG9yeS5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTGliV2ViUlRDIHsKK3B1YmxpYzoKKyAgICBMaWJXZWJS
VEMoKSA9IGRlZmF1bHQ7CisKKyAgICB2b2lkIGluaXRpYWxpemUoKTsKKworICAgIFdlYlBhY2tl
dFNvY2tldCogd2ViUGFja2V0U29ja2V0Rm9ySWRlbnRpZmllcih1aW50NjRfdCk7CisgICAgV2Vi
TmV0d29ya01hbmFnZXImIG5ldHdvcmtNYW5hZ2VyKCk7CisgICAgV2ViUGFja2V0U29ja2V0RmFj
dG9yeSYgc29ja2V0RmFjdG9yeSgpIGNvbnN0IHsgcmV0dXJuICptX3NvY2tldEZhY3Rvcnk7IH0K
KworICAgIHZvaWQgZGlkUmVjZWl2ZUxpYldlYlJUQ01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwg
SVBDOjpEZWNvZGVyJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBnZXRSZXNvbHZlZEFkZHJlc3Mo
dWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4m
IGFkZHJlc3NlcykgeyBtX3NvY2tldEZhY3RvcnktPmdldFJlc29sdmVkQWRkcmVzcyhpZGVudGlm
aWVyLCBhZGRyZXNzZXMpOyB9CisgICAgdm9pZCByZXNvbHZlZEFkZHJlc3NFcnJvcih1aW50NjRf
dCBpZGVudGlmaWVyLCBpbnQgZXJyb3IpIHsgbV9zb2NrZXRGYWN0b3J5LT5yZXNvbHZlZEFkZHJl
c3NFcnJvcihpZGVudGlmaWVyLCBlcnJvcik7IH0KKworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5PiBtX3NvY2tldEZhY3Rvcnk7CisgICAgc3RkOjp1bmlxdWVfcHRy
PFdlYk5ldHdvcmtNYW5hZ2VyPiBtX3dlYk5ldHdvcmtNYW5hZ2VyOworfTsKKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5t
ZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzRkZWE5MzViZGQ2MGU1MDkwMjg4Zjg1OWM3OTZjZjQ2
MGU4MTRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMCBAQAorIyBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
IyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisj
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBB
UkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09E
UyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0Yg
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKwor
bWVzc2FnZXMgLT4gTGliV2ViUlRDIExlZ2FjeVJlY2VpdmVyIHsKKyAgICB2b2lkIEdldFJlc29s
dmVkQWRkcmVzcyh1aW50NjRfdCBpZGVudGlmaWVyLCBWZWN0b3I8V2ViS2l0OjpSVENOZXR3b3Jr
OjpJUEFkZHJlc3M+IGFkZHJlc3NlcykKKyAgICB2b2lkIFJlc29sdmVkQWRkcmVzc0Vycm9yKHVp
bnQ2NF90IGlkZW50aWZpZXIsIGludCBlcnJvcikKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJS
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ0NsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ0NsaWVudC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjY0NTA3ZjNlMGRhYWMxYjVl
NTY2Y2VlNDQxMmZhNmNmNTk2NzI0YQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50LmNwcApAQCAtMCwwICsx
LDQ5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldl
YlJUQ0NsaWVudC5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYlByb2Nl
c3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d2Vi
cnRjL2FwaS9wZWVyY29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K0xpYldlYlJUQ0NsaWVudDo6TGliV2ViUlRDQ2xpZW50KCkKK3sKKyAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5pbml0aWFsaXplTGliV2ViUlRDKCk7Cit9CisKK3J0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBMaWJXZWJSVENDbGllbnQ6OmNyZWF0
ZVBlZXJDb25uZWN0aW9uKHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYgb2JzZXJ2ZXIp
Cit7CisgICAgcmV0dXJuIFdlYkNvcmU6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5uZXR3b3JrTWFuYWdlcigpLCBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5zb2NrZXRGYWN0b3J5KCkpOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ0Ns
aWVudC5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4yM2FlMzk4MDEyMTYwZWM0NTVjMDcyZTRjZTY3Mzg1YWFk
YTg1NDUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29y
ZS9MaWJXZWJSVENDbGllbnQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExpYldl
YlJUQ0NsaWVudCBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpMaWJXZWJSVENDbGllbnQgeworcHVi
bGljOgorICAgIExpYldlYlJUQ0NsaWVudCgpOworCitwcml2YXRlOgorICAgIHJ0Yzo6c2NvcGVk
X3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBjcmVhdGVQZWVyQ29ubmVj
dGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImKSBmaW5hbDsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFn
ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3
b3JrTWFuYWdlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWIxNGFhOGYyNjIwZDBhOWRhNTk2ZGRjNTkzODU0
NTZiM2FhNGEyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuY3BwCkBAIC0wLDAgKzEsOTEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViTmV0d29ya01hbmFn
ZXIuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2Vy
TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNs
dWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0aGVscGVycy5oPgor
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lk
IFdlYk5ldHdvcmtNYW5hZ2VyOjpTdGFydFVwZGF0aW5nKCkKK3sKKyAgICBpZiAobV9jbGllbnRD
b3VudCkgeworICAgICAgICAvLyBOZWVkIHRvIHNpZ25hbCBuZXcgY2xpZW50IHRoYXQgd2UgYWxy
ZWFkeSBoYXZlIHRoZSBuZXR3b3JrIGxpc3QsIGxldCdzIGRvIGl0IGFzeW5jaHJvbm91c2x5Cisg
ICAgICAgIGlmIChtX3JlY2VpdmVkTmV0d29ya0xpc3QpIHsKKyAgICAgICAgICAgIFdlYkNvcmU6
OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXNdIHsKKyAgICAgICAgICAgICAgICBTaWdu
YWxOZXR3b3Jrc0NoYW5nZWQoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSBl
bHNlIHsKKyAgICAgICAgbV9yZWNlaXZlZE5ldHdvcmtMaXN0ID0gZmFsc2U7CisgICAgICAgIGNh
bGxPbk1haW5UaHJlYWQoW10oKSB7CisgICAgICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
TmV0d29ya01hbmFnZXI6OlN0YXJ0VXBkYXRpbmcoKSwgMCk7CisgICAgICAgIH0pOworICAgIH0K
KyAgICArK21fY2xpZW50Q291bnQ7Cit9CisKK3ZvaWQgV2ViTmV0d29ya01hbmFnZXI6OlN0b3BV
cGRhdGluZygpCit7CisgICAgQVNTRVJUKG1fY2xpZW50Q291bnQpOworICAgIGlmICgtLW1fY2xp
ZW50Q291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW10oKSB7
CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6U3RvcFVwZGF0
aW5nKCksIDApOworICAgIH0pOworfQorCit2b2lkIFdlYk5ldHdvcmtNYW5hZ2VyOjpuZXR3b3Jr
c0NoYW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrcywgY29uc3QgUlRDTmV0
d29yazo6SVBBZGRyZXNzJiBpcHY0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGlwdjYp
Cit7CisgICAgLy8gTm8gbmVlZCB0byBwcm90ZWN0ICd0aGlzJyBhcyBpdCBoYXMgdGhlIGxpZmV0
aW1lIG9mIExpYldlYlJUQyB3aGljaCBoYXMgdGhlIGxpZmV0aW1lIG9mIHRoZSB3ZWIgcHJvY2Vz
cy4KKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBuZXR3b3Jr
cywgaXB2NCwgaXB2Nl0geworICAgICAgICBzdGQ6OnZlY3RvcjxydGM6Ok5ldHdvcmsqPiBuZXR3
b3JrTGlzdChuZXR3b3Jrcy5zaXplKCkpOworICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7
IGluZGV4IDwgbmV0d29ya3Muc2l6ZSgpOyArK2luZGV4KQorICAgICAgICAgICAgbmV0d29ya0xp
c3RbaW5kZXhdID0gbmV3IHJ0Yzo6TmV0d29yayhuZXR3b3Jrc1tpbmRleF0udmFsdWUoKSk7CisK
KyAgICAgICAgYm9vbCBmb3JjZVNpZ25hbGluZyA9ICFtX3JlY2VpdmVkTmV0d29ya0xpc3Q7Cisg
ICAgICAgIG1fcmVjZWl2ZWROZXR3b3JrTGlzdCA9IHRydWU7CisKKyAgICAgICAgYm9vbCBoYXND
aGFuZ2VkOworICAgICAgICBzZXRfZGVmYXVsdF9sb2NhbF9hZGRyZXNzZXMoaXB2NC52YWx1ZSwg
aXB2Ni52YWx1ZSk7CisgICAgICAgIE1lcmdlTmV0d29ya0xpc3QobmV0d29ya0xpc3QsICZoYXND
aGFuZ2VkKTsKKyAgICAgICAgaWYgKGhhc0NoYW5nZWQgfHwgZm9yY2VTaWduYWxpbmcpCisgICAg
ICAgICAgICBTaWduYWxOZXR3b3Jrc0NoYW5nZWQoKTsKKworICAgIH0pOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2Vy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtN
YW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNjI1OGVkNjc0YjI5ZDUyYTUwYmY2NTEzMjYzYTIyZTU1NTgy
NzM2OAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiUlRDTmV0
d29yay5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3
dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNz
IERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdHJ1Y3QgTmV0d29ya3NDaGFu
Z2VkRGF0YTsKKworY2xhc3MgV2ViTmV0d29ya01hbmFnZXIgZmluYWwgOiBwdWJsaWMgcnRjOjpO
ZXR3b3JrTWFuYWdlckJhc2UgeworcHVibGljOgorICAgIFdlYk5ldHdvcmtNYW5hZ2VyKCkgeyB9
CisKKyAgICB2b2lkIGRpZFJlY2VpdmVXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBuZXR3b3Jrc0No
YW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRDTmV0
d29yazo6SVBBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJik7CisKKyAgICB2
b2lkIFN0YXJ0VXBkYXRpbmcoKSBmaW5hbDsKKyAgICB2b2lkIFN0b3BVcGRhdGluZygpIGZpbmFs
OworCisgICAgdW5zaWduZWQgbV9jbGllbnRDb3VudCB7IDAgfTsKKyAgICBib29sIG1fcmVjZWl2
ZWROZXR3b3JrTGlzdCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5t
ZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMmQ2OWJjOWM2Y2NmODljOTA3MDgyYjkyNjdhN2Y2MjFl
NTJmMWYwCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDI5IEBA
CisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VC
UlRDKQorCittZXNzYWdlcyAtPiBXZWJOZXR3b3JrTWFuYWdlciBMZWdhY3lSZWNlaXZlciB7Cisg
ICAgdm9pZCBOZXR3b3Jrc0NoYW5nZWQoVmVjdG9yPFdlYktpdDo6UlRDTmV0d29yaz4gbmV0d29y
a3MsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGRlZmF1bHRJUFY0QWRkcmVzcywgV2Vi
S2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgZGVmYXVsdElQVjZBZGRyZXNzKQorfQorCisjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5h
MjdjZjcwOTMzNmEyNTU4Mzg1OTlkMmUwNjRlMDVlZDQ3MzQ1MzI5Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2Nr
ZXQuY3BwCkBAIC0wLDAgKzEsMjA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5o
IgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldC5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKwor
I2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJOZXR3b3JrUGFja2V0U29ja2V0
TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNs
dWRlICJXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgor
I2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitXZWJQ
YWNrZXRTb2NrZXQ6OldlYlBhY2tldFNvY2tldChXZWJQYWNrZXRTb2NrZXRGYWN0b3J5JiBmYWN0
b3J5LCBUeXBlIHR5cGUsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpCisgICAgOiBtX2ZhY3Rvcnko
ZmFjdG9yeSkKKyAgICAsIG1fdHlwZSh0eXBlKQorICAgICwgbV9sb2NhbEFkZHJlc3MobG9jYWxB
ZGRyZXNzKQorICAgICwgbV9yZW1vdGVBZGRyZXNzKHJlbW90ZUFkZHJlc3MpCit7CisgICAgbV9m
YWN0b3J5LmF0dGFjaCgqdGhpcyk7CisgICAgc3RkOjpmaWxsX24obV9vcHRpb25zLCBNQVhfU09D
S0VUX09QVElPTiwgLTEpOworfQorCitXZWJQYWNrZXRTb2NrZXQ6On5XZWJQYWNrZXRTb2NrZXQo
KQoreworICAgIG1fZmFjdG9yeS5kZXRhY2goKnRoaXMpOworfQorCitydGM6OlNvY2tldEFkZHJl
c3MgV2ViUGFja2V0U29ja2V0OjpHZXRMb2NhbEFkZHJlc3MoKSBjb25zdAoreworICAgIHJldHVy
biBtX2xvY2FsQWRkcmVzczsKK30KKworcnRjOjpTb2NrZXRBZGRyZXNzIFdlYlBhY2tldFNvY2tl
dDo6R2V0UmVtb3RlQWRkcmVzcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmVtb3RlQWRkcmVz
czsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBT
dHJpbmcmIGFkZHJlc3MpCit7CisgICAgYXV0byogZmFjdG9yeSA9ICZtX2ZhY3Rvcnk7CisgICAg
YXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOworICAgIFdlYkNvcmU6OmNhbGxP
bldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGZhY3RvcnksIGlkZW50aWZpZXIsIGFkZHJlc3Nd
KCkgeworICAgICAgICAvLyBGSVhNRTogV2Ugc2hvdWxkIHByb2JhYmx5IG1vdmUgdGhpcyBjb2Rl
IG91dCBvZiBXZWJQYWNrZXRTb2NrZXQgc28gd2UgZG8gbm90IGNoZWNrIHR3aWNlIHRoZSBpZGVu
dGlmaWVyIGluIHRoZSBmYWN0b3J5LgorICAgICAgICBpZiAoIWZhY3RvcnktPndlYlBhY2tldFNv
Y2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgaWYgKG1fdHlw
ZSA9PSBUeXBlOjpDbGllbnRUQ1ApCisgICAgICAgICAgICBtX3N0YXRlID0gU1RBVEVfQ09OTkVD
VEVEOworICAgICAgICBlbHNlCisgICAgICAgICAgICBtX3N0YXRlID0gU1RBVEVfQk9VTkQ7Cisg
ICAgICAgIG1fbG9jYWxBZGRyZXNzLkZyb21TdHJpbmcoYWRkcmVzcy51dGY4KCkuZGF0YSgpKTsK
KyAgICAgICAgU2lnbmFsQWRkcmVzc1JlYWR5KHRoaXMsIG1fbG9jYWxBZGRyZXNzKTsKKyAgICB9
KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQoY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGFkZHJl
c3MsIHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQoreworICAgIGF1dG8qIGZhY3Rv
cnkgPSAmbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZpZXIo
KTsKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBXZWJDb3JlOjpT
aGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgIFdlYkNv
cmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGZhY3RvcnksIGlkZW50aWZpZXIs
IGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcywgcG9ydCwgdGltZXN0YW1wXSgpIHsK
KyAgICAgICAgaWYgKCFmYWN0b3J5LT53ZWJQYWNrZXRTb2NrZXQoaWRlbnRpZmllcikpCisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIG1fcmVtb3RlQWRkcmVzcyA9IHJ0Yzo6U29ja2V0QWRk
cmVzcyhhZGRyZXNzLnZhbHVlLCBwb3J0KTsKKyAgICAgICAgU2lnbmFsUmVhZFBhY2tldCh0aGlz
LCBidWZmZXItPmRhdGEoKSwgYnVmZmVyLT5zaXplKCksIG1fcmVtb3RlQWRkcmVzcywgcnRjOjpQ
YWNrZXRUaW1lKHRpbWVzdGFtcCwgMCkpOworICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNv
Y2tldDo6c2lnbmFsU2VudFBhY2tldChpbnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2VuZFRpbWVN
cykKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9yeTsKKyAgICBhdXRvIGlkZW50aWZp
ZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29y
a1RocmVhZChbdGhpcywgZmFjdG9yeSwgaWRlbnRpZmllciwgcnRjUGFja2V0SUQsIHNlbmRUaW1l
TXNdKCkgeworICAgICAgICBpZiAoIWZhY3RvcnktPndlYlBhY2tldFNvY2tldChpZGVudGlmaWVy
KSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMg
Kz0gbV9iZWluZ1NlbnRQYWNrZXRTaXplcy50YWtlRmlyc3QoKTsKKyAgICAgICAgU2lnbmFsU2Vu
dFBhY2tldCh0aGlzLCBydGM6OlNlbnRQYWNrZXQocnRjUGFja2V0SUQsIHNlbmRUaW1lTXMpKTsK
KyAgICAgICAgaWYgKG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQpIHsKKyAgICAgICAgICAgIG1f
c2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSBmYWxzZTsKKyAgICAgICAgICAgIFNpZ25hbFJlYWR5
VG9TZW5kKHRoaXMpOworICAgICAgICB9CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29j
a2V0OjpzaWduYWxDb25uZWN0KCkKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9yeTsK
KyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgV2ViQ29yZTo6
Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgZmFjdG9yeSwgaWRlbnRpZmllcl0oKSB7
CisgICAgICAgIGlmICghZmFjdG9yeS0+d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIpKQorICAg
ICAgICAgICAgcmV0dXJuOworICAgICAgICBtX3N0YXRlID0gU1RBVEVfQ09OTkVDVEVEOworICAg
ICAgICBTaWduYWxDb25uZWN0KHRoaXMpOworICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNv
Y2tldDo6c2lnbmFsQ2xvc2UoaW50IGVycm9yKQoreworICAgIGF1dG8qIGZhY3RvcnkgPSAmbV9m
YWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZpZXIoKTsKKyAgICBX
ZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBmYWN0b3J5LCBpZGVudGlm
aWVyLCBlcnJvcl0oKSB7CisgICAgICAgIGlmICghZmFjdG9yeS0+d2ViUGFja2V0U29ja2V0KGlk
ZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX3N0YXRlID0gU1RBVEVf
Q0xPU0VEOworICAgICAgICBTaWduYWxDbG9zZSh0aGlzLCBlcnJvcik7CisgICAgfSk7Cit9CisK
K0lQQzo6Q29ubmVjdGlvbiogV2ViUGFja2V0U29ja2V0OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlv
bigpCit7CisgICAgcmV0dXJuICZXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVj
dGlvbigpLmNvbm5lY3Rpb24oKTsKK30KKworc3RhdGljIGlubGluZSBTdHJpbmcgYXV0aEtleShj
b25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgaWYgKG9wdGlvbnMucGFj
a2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkuc2l6ZSgpIDw9IDApCisgICAgICAgIHJldHVy
biB7IH07CisgICAgcmV0dXJuIFN0cmluZyhvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRw
X2F1dGhfa2V5LmRhdGEoKSwgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tl
eS5zaXplKCkpOworfQorCisKK2Jvb2wgV2ViUGFja2V0U29ja2V0Ojp3aWxsU2VuZChzaXplX3Qg
c2l6ZSkKK3sKKyAgICBpZiAoc2l6ZSA+IG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzKSB7CisgICAg
ICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSB0cnVlOworICAgICAgICBzZXRFcnJvcihF
V09VTERCTE9DSyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgbV9hdmFpbGFi
bGVTZW5kaW5nQnl0ZXMgLT0gc2l6ZTsKKyAgICBtX2JlaW5nU2VudFBhY2tldFNpemVzLmFwcGVu
ZChzaXplKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW50IFdlYlBhY2tldFNvY2tldDo6U2Vu
ZFRvKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAg
aWYgKCF3aWxsU2VuZChzaXplKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgYXV0byBidWZm
ZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCB1aW50
OF90Kj4odmFsdWUpLCBzaXplKTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlm
aWVyKCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBidWZmZXIgPSBXVEZN
b3ZlKGJ1ZmZlciksIGFkZHJlc3MsIG9wdGlvbnNdIHsKKyAgICAgICAgSVBDOjpEYXRhUmVmZXJl
bmNlIGRhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkp
LCBidWZmZXItPnNpemUoKSk7CisgICAgICAgIFN0cmluZyBzcnRwQXV0aEtleSA9IGF1dGhLZXko
b3B0aW9ucyk7CisgICAgICAgIE1lc3NhZ2VzOjpOZXR3b3JrUGFja2V0U29ja2V0OjpTZW5kVG8g
bWVzc2FnZShkYXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRkcmVzcy5pcGFkZHIoKSksIGFk
ZHJlc3MucG9ydCgpLCBvcHRpb25zLnBhY2tldF9pZCwgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJh
bXMucnRwX3NlbmR0aW1lX2V4dGVuc2lvbl9pZCwgc3J0cEF1dGhLZXksIG9wdGlvbnMucGFja2V0
X3RpbWVfcGFyYW1zLnNydHBfcGFja2V0X2luZGV4LCBvcHRpb25zLmRzY3ApOworICAgICAgICBX
ZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5z
ZW5kKFdURk1vdmUobWVzc2FnZSksIGlkZW50aWZpZXIpOworICAgIH0pOworICAgIHJldHVybiBz
aXplOworfQorCitpbnQgV2ViUGFja2V0U29ja2V0OjpDbG9zZSgpCit7CisgICAgYXV0byBpZGVu
dGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50
aWZpZXJdIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rp
b24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1BhY2tldFNvY2tldDo6Q2xv
c2UoKSwgaWRlbnRpZmllcik7CisgICAgfSk7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBXZWJQ
YWNrZXRTb2NrZXQ6OkdldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50KiB2
YWx1ZSkKK3sKKyAgICBBU1NFUlQob3B0aW9uIDwgTUFYX1NPQ0tFVF9PUFRJT04pOworICAgIGlu
dCBzdG9yZWRWYWx1ZSA9IG1fb3B0aW9uc1tvcHRpb25dOworICAgIGlmIChzdG9yZWRWYWx1ZSAh
PSAtMSkKKyAgICAgICAgKnZhbHVlID0gbV9vcHRpb25zW29wdGlvbl07CisgICAgcmV0dXJuIDA7
Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9u
IG9wdGlvbiwgaW50IHZhbHVlKQoreworICAgIEFTU0VSVChvcHRpb24gPCBNQVhfU09DS0VUX09Q
VElPTik7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBvcHRpb24sIHZhbHVlXSB7Cisg
ICAgICAgIG1fb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7CisgICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbihvcHRpb24sIHZhbHVlKSwgbV9pZGVudGlm
aWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuaCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uMjhlMTcwZGQ3OTY2Y2I3YzNmODk5OWZjZWY4YWViMjFhYTM3M2YwZAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0
U29ja2V0LmgKQEAgLTAsMCArMSwxMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKwor
I2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCisjaW5jbHVk
ZSAiUlRDTmV0d29yay5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgor
I2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVj
dGlvbjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFja2V0U29ja2V0RmFjdG9yeTsKKworY2xhc3MgV2Vi
UGFja2V0U29ja2V0IGZpbmFsIDogcHVibGljIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQsIHB1Ymxp
YyBJUEM6Ok1lc3NhZ2VTZW5kZXIgeworcHVibGljOgorICAgIGVudW0gY2xhc3MgVHlwZSB7IFVE
UCwgU2VydmVyVENQLCBDbGllbnRUQ1AgfTsKKworICAgIFdlYlBhY2tldFNvY2tldChXZWJQYWNr
ZXRTb2NrZXRGYWN0b3J5JiwgVHlwZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFk
ZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcyk7CisgICAgfldl
YlBhY2tldFNvY2tldCgpOworCisgICAgdm9pZCBzZXRFcnJvcihpbnQgZXJyb3IpIHsgbV9lcnJv
ciA9IGVycm9yOyB9CisKKyAgICB2b2lkIHNldElkZW50aWZpZXIodWludDY0X3QgaWRlbnRpZmll
cikgeyBtX2lkZW50aWZpZXIgPSBpZGVudGlmaWVyOyB9CisgICAgdWludDY0X3QgaWRlbnRpZmll
cigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCisgICAgY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MoKSBjb25zdCB7IHJldHVybiBtX2xvY2FsQWRkcmVzczsg
fQorICAgIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcygpIGNvbnN0IHsg
cmV0dXJuIG1fcmVtb3RlQWRkcmVzczsgfQorCisgICAgdm9pZCBkaWRSZWNlaXZlV2ViUGFja2V0
U29ja2V0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworICAgIHZv
aWQgc2V0U3RhdGUoU3RhdGUgc3RhdGUpIHsgbV9zdGF0ZSA9IHN0YXRlOyB9CisKK3ByaXZhdGU6
CisgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3RpbmF0aW9uSUQoKSBmaW5hbCB7IHJldHVy
biBpZGVudGlmaWVyKCk7IH0KKyAgICBJUEM6OkNvbm5lY3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25u
ZWN0aW9uKCkgZmluYWw7CisKKyAgICB2b2lkIHNpZ25hbFJlYWRQYWNrZXQoY29uc3QgSVBDOjpE
YXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgdWludDE2X3QgcG9y
dCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KGludCwgaW50NjRfdCk7Cisg
ICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzaWdu
YWxDb25uZWN0KCk7CisgICAgdm9pZCBzaWduYWxDbG9zZShpbnQpOworCisgICAgYm9vbCB3aWxs
U2VuZChzaXplX3QpOworCisgICAgLy8gQXN5bmNQYWNrZXRTb2NrZXQgQVBJCisgICAgaW50IEdl
dEVycm9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9lcnJvcjsgfQorICAgIHZvaWQgU2V0RXJy
b3IoaW50IGVycm9yKSBmaW5hbCB7IHNldEVycm9yKGVycm9yKTsgfQorICAgIHJ0Yzo6U29ja2V0
QWRkcmVzcyBHZXRMb2NhbEFkZHJlc3MoKSBjb25zdCBmaW5hbDsKKyAgICBydGM6OlNvY2tldEFk
ZHJlc3MgR2V0UmVtb3RlQWRkcmVzcygpIGNvbnN0IGZpbmFsOworICAgIGludCBTZW5kKGNvbnN0
IHZvaWQgKnB2LCBzaXplX3QgY2IsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykg
ZmluYWwgeyByZXR1cm4gU2VuZFRvKHB2LCBjYiwgbV9yZW1vdGVBZGRyZXNzLCBvcHRpb25zKTsg
fQorICAgIGludCBTZW5kVG8oY29uc3Qgdm9pZCAqLCBzaXplX3QsIGNvbnN0IHJ0Yzo6U29ja2V0
QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYpIGZpbmFsOworICAgIGludCBDbG9z
ZSgpIGZpbmFsOworICAgIFN0YXRlIEdldFN0YXRlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9z
dGF0ZTsgfQorICAgIGludCBHZXRPcHRpb24ocnRjOjpTb2NrZXQ6Ok9wdGlvbiwgaW50KikgZmlu
YWw7CisgICAgaW50IFNldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uLCBpbnQpIGZpbmFsOwor
CisgICAgV2ViUGFja2V0U29ja2V0RmFjdG9yeSYgbV9mYWN0b3J5OworICAgIFR5cGUgbV90eXBl
OworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBtX2xvY2FsQWRkcmVzczsKKyAgICBydGM6OlNvY2tl
dEFkZHJlc3MgbV9yZW1vdGVBZGRyZXNzOworCisgICAgdWludDY0X3QgbV9pZGVudGlmaWVyIHsg
MCB9OworICAgIGludCBtX2Vycm9yIHsgMCB9OworICAgIFN0YXRlIG1fc3RhdGUgeyBTVEFURV9C
SU5ESU5HIH07CisKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQgTUFYX1NPQ0tFVF9PUFRJT04g
eyBydGM6OkFzeW5jU29ja2V0OjpPUFRfUlRQX1NFTkRUSU1FX0VYVE5fSUQgKyAxIH07CisgICAg
aW50IG1fb3B0aW9uc1tNQVhfU09DS0VUX09QVElPTl07CisKKyAgICBEZXF1ZTxzaXplX3Q+IG1f
YmVpbmdTZW50UGFja2V0U2l6ZXM7CisgICAgc2l6ZV90IG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVz
IHsgNjU1MzYgfTsKKyAgICBib29sIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgeyBmYWxzZSB9
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzUw
ODExM2I5OTQ2OGYxNjAyZmY5ODBjOTFlZmU4MDBmMTY3MDRhCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQu
bWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisj
IGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisj
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gV2ViUGFja2V0
U29ja2V0IExlZ2FjeVJlY2VpdmVyIHsKKyAgICBTaWduYWxSZWFkUGFja2V0KElQQzo6RGF0YVJl
ZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBhZGRyZXNzLCB1aW50
MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBTaWduYWxTZW50UGFja2V0KGludCBw
YWNrZXRTaXplLCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBTaWduYWxBZGRyZXNzUmVhZHkoU3Ry
aW5nIGFkZHJlc3MpCisgICAgU2lnbmFsQ29ubmVjdCgpCisgICAgU2lnbmFsQ2xvc2UoaW50IGVy
cm9yKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5j
cHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNv
Y2tldEZhY3RvcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFmMmNiMWJjN2Y1YjcwMWY4MTBhYWFjNTg5ZjY5
ZGM4NGY3YWM0NGMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwCkBAIC0wLDAgKzEsMjA0
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlBhY2tl
dFNvY2tldEZhY3RvcnkuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJX
ZWJSVENDbGllbnQuaCIKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01l
c3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNp
bmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRT
b2NrZXQuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VpbnQ2NF90IFdlYlBhY2tldFNvY2tldEZh
Y3Rvcnk6OnNfdW5pcXVlU29ja2V0SWRlbnRpZmllciA9IDA7Cit1aW50NjRfdCBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5OjpzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmllciA9IDA7CisKK3J0Yzo6QXN5
bmNQYWNrZXRTb2NrZXQqIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNlcnZlclRjcFNv
Y2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQs
IHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIGF1dG8gc29ja2V0ID0gc3Rk
OjptYWtlX3VuaXF1ZTxXZWJQYWNrZXRTb2NrZXQ+KCp0aGlzLCBXZWJQYWNrZXRTb2NrZXQ6OlR5
cGU6OlNlcnZlclRDUCwgYWRkcmVzcywgcnRjOjpTb2NrZXRBZGRyZXNzKCkpOworICAgIGF1dG8q
IHNvY2tldFBvaW50ZXIgPSBzb2NrZXQuZ2V0KCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0
aGlzLCBzb2NrZXRQb2ludGVyLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zXSgpIHsKKyAgICAg
ICAgaWYgKCFtX3BlbmRpbmdTb2NrZXRzLnJlbW92ZUZpcnN0KHNvY2tldFBvaW50ZXIpKQorICAg
ICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldElkZW50aWZpZXIo
KytzX3VuaXF1ZVNvY2tldElkZW50aWZpZXIpOworICAgICAgICBhdXRvIGFkZHJlc3NTdHJpbmcg
PSBzb2NrZXRQb2ludGVyLT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmluZygpOworCisgICAgICAgIGlm
ICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVNl
cnZlclRDUFNvY2tldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCksIFN0cmluZyhhZGRyZXNz
U3RyaW5nLmRhdGEoKSwgYWRkcmVzc1N0cmluZy5sZW5ndGgoKSksIG1pblBvcnQsIG1heFBvcnQs
IG9wdGlvbnMpLCAwKSkgeworICAgICAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0RXJyb3IoMSk7
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBtX3NvY2tldHMuc2V0
KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwgc29ja2V0UG9pbnRlcik7CisgICAgfSk7Cisg
ICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3J0Yzo6QXN5bmNQYWNrZXRTb2NrZXQq
IFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNvY2tl
dEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpCit7
CisgICAgYXV0byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNvY2tldD4oKnRo
aXMsIFdlYlBhY2tldFNvY2tldDo6VHlwZTo6VURQLCBhZGRyZXNzLCBydGM6OlNvY2tldEFkZHJl
c3MoKSk7CisgICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5nZXQoKTsKKworICAgIGNh
bGxPbk1haW5UaHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG1pblBvcnQsIG1heFBvcnRdKCkg
eworICAgICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3Qoc29ja2V0UG9pbnRl
cikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0SWRl
bnRpZmllcigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllcik7CisgICAgICAgIGF1dG8gYWRkcmVz
c1N0cmluZyA9IHNvY2tldFBvaW50ZXItPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7CisKKyAg
ICAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
Q3JlYXRlVURQU29ja2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwgU3RyaW5nKGFkZHJl
c3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgbWluUG9ydCwgbWF4UG9y
dCksIDApKSB7CisgICAgICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRFcnJvcigxKTsKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG1fc29ja2V0cy5zZXQoc29ja2V0
UG9pbnRlci0+aWRlbnRpZmllcigpLCBzb2NrZXRQb2ludGVyKTsKKyAgICB9KTsKKyAgICByZXR1
cm4gc29ja2V0LnJlbGVhc2UoKTsKK30KKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogV2ViUGFj
a2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlQ2xpZW50VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0
QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFk
ZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJbmZvJiwgY29uc3Qgc3RkOjpzdHJpbmcmLCBpbnQgb3B0
aW9ucykKK3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViUGFja2V0U29j
a2V0PigqdGhpcywgV2ViUGFja2V0U29ja2V0OjpUeXBlOjpDbGllbnRUQ1AsIGxvY2FsQWRkcmVz
cywgcmVtb3RlQWRkcmVzcyk7CisgICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5nZXQo
KTsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG9wdGlvbnNd
KCkgeworICAgICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3Qoc29ja2V0UG9p
bnRlcikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0
SWRlbnRpZmllcigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllcik7CisKKyAgICAgICAgYXV0byBs
b2NhbEFkZHJlc3NTdHJpbmcgPSBzb2NrZXRQb2ludGVyLT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmlu
ZygpOworICAgICAgICBhdXRvIHJlbW90ZUFkZHJlc3NTdHJpbmcgPSBzb2NrZXRQb2ludGVyLT5y
ZW1vdGVBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVDbGllbnRUQ1BTb2NrZXQoc29j
a2V0UG9pbnRlci0+aWRlbnRpZmllcigpLCBTdHJpbmcobG9jYWxBZGRyZXNzU3RyaW5nLmRhdGEo
KSwgbG9jYWxBZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgU3RyaW5nKHJlbW90ZUFkZHJlc3NTdHJp
bmcuZGF0YSgpLCByZW1vdGVBZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgb3B0aW9ucyksIDApKSB7
CisgICAgICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRFcnJvcigxKTsKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldFN0YXRlKFdlYlBh
Y2tldFNvY2tldDo6U1RBVEVfQ09OTkVDVElORyk7CisgICAgICAgIG1fc29ja2V0cy5zZXQoc29j
a2V0UG9pbnRlci0+aWRlbnRpZmllcigpLCBzb2NrZXRQb2ludGVyKTsKKworICAgIH0pOworCisg
ICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0RmFj
dG9yeTo6ZGV0YWNoKFdlYlBhY2tldFNvY2tldCYgc29ja2V0KQoreworICAgIGlmIChzb2NrZXQu
aWRlbnRpZmllcigpKQorICAgICAgICBtX3NvY2tldHMucmVtb3ZlKHNvY2tldC5pZGVudGlmaWVy
KCkpOworICAgIGVsc2UKKyAgICAgICAgbV9wZW5kaW5nU29ja2V0cy5yZW1vdmVGaXJzdCgmc29j
a2V0KTsKK30KKworcnRjOjpBc3luY1Jlc29sdmVySW50ZXJmYWNlKiBXZWJQYWNrZXRTb2NrZXRG
YWN0b3J5OjpDcmVhdGVBc3luY1Jlc29sdmVyKCkKK3sKKyAgICBhdXRvKiByZXNvbHZlciA9IG5l
dyBXZWJBc3luY1Jlc29sdmVyKCsrc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXIpOworICAgIG1f
cmVzb2x2ZXJzLnNldChyZXNvbHZlci0+aWRlbnRpZmllcigpLCBzdGQ6OnVuaXF1ZV9wdHI8V2Vi
QXN5bmNSZXNvbHZlcj4ocmVzb2x2ZXIpKTsKKyAgICByZXR1cm4gcmVzb2x2ZXI7Cit9CisKK3Zv
aWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Z2V0UmVzb2x2ZWRBZGRyZXNzKHVpbnQ2NF90IGlk
ZW50aWZpZXIsIGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMp
Cit7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRp
ZmllciwgYWRkcmVzc2VzXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIgPSBtX3Jlc29sdmVy
cy5nZXQoaWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgICAgICBy
ZXR1cm47CisgICAgICAgIFZlY3RvcjxydGM6OklQQWRkcmVzcz4gaXBBZGRyZXNzZXM7CisgICAg
ICAgIGlwQWRkcmVzc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYWRkcmVzc2VzLnNpemUoKSk7
CisgICAgICAgIGZvciAoYXV0byYgYWRkcmVzcyA6IGFkZHJlc3NlcykKKyAgICAgICAgICAgIGlw
QWRkcmVzc2VzLnVuY2hlY2tlZEFwcGVuZChhZGRyZXNzLnZhbHVlKTsKKworICAgICAgICByZXNv
bHZlci0+c2V0UmVzb2x2ZWRBZGRyZXNzZXMoV1RGTW92ZShpcEFkZHJlc3NlcykpOworICAgICAg
ICByZXNvbHZlci0+U2lnbmFsRG9uZShyZXNvbHZlcik7CisgICAgfSk7Cit9CisKK3ZvaWQgV2Vi
UGFja2V0U29ja2V0RmFjdG9yeTo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IodWludDY0X3QgaWRlbnRp
ZmllciwgaW50IGVycm9yKQoreworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJl
YWQoW3RoaXMsIGlkZW50aWZpZXIsIGVycm9yXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIg
PSBtX3Jlc29sdmVycy5nZXQoaWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2ZXIpCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlc29sdmVyLT5zZXRFcnJvcihlcnJvcik7Cisg
ICAgICAgIHJlc29sdmVyLT5TaWduYWxEb25lKHJlc29sdmVyKTsKKyAgICB9KTsKK30KKwordm9p
ZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpTdGFydChjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MpCit7CisgICAgbV9pc1Jlc29sdmluZyA9IHRydWU7
CisgICAgbV9hZGRyZXNzVG9SZXNvbHZlID0gYWRkcmVzczsKKyAgICBtX3BvcnQgPSBhZGRyZXNz
LnBvcnQoKTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgY2FsbE9u
TWFpblRocmVhZChbaWRlbnRpZmllciwgYWRkcmVzc10oKSB7CisgICAgICAgIGF1dG8gYWRkcmVz
c1N0cmluZyA9IGFkZHJlc3MuSG9zdEFzVVJJU3RyaW5nKCk7CisgICAgICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVBc3luY1Jlc29sdmVyKGlk
ZW50aWZpZXIsIFN0cmluZyhhZGRyZXNzU3RyaW5nLmRhdGEoKSwgYWRkcmVzc1N0cmluZy5sZW5n
dGgoKSkpLCAwKTsKKyAgICB9KTsKK30KKworYm9vbCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpX
ZWJBc3luY1Jlc29sdmVyOjpHZXRSZXNvbHZlZEFkZHJlc3MoaW50IGZhbWlseSwgcnRjOjpTb2Nr
ZXRBZGRyZXNzKiBhZGRyZXNzKSBjb25zdAoreworICAgIEFTU0VSVChhZGRyZXNzKTsKKyAgICBp
ZiAobV9lcnJvciB8fCAhbV9hZGRyZXNzZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAqYWRkcmVzcyA9IG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICBmb3IgKGF1dG8mIGlw
QWRkcmVzcyA6IG1fYWRkcmVzc2VzKSB7CisgICAgICAgIGlmIChmYW1pbHkgPT0gaXBBZGRyZXNz
LmZhbWlseSgpKSB7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRSZXNvbHZlZElQKGlwQWRkcmVz
cyk7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRQb3J0KG1fcG9ydCk7CisgICAgICAgICAgICBy
ZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3Zv
aWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6RGVzdHJveShib29s
KQoreworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLnNvY2tldEZhY3Rv
cnkoKS5zdG9wUmVzb2x2ZXIobV9pZGVudGlmaWVyKTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2Nr
ZXRGYWN0b3J5OjpzdG9wUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICBhdXRv
IHJlc29sdmVyID0gbV9yZXNvbHZlcnMudGFrZShpZGVudGlmaWVyKTsKKyAgICBBU1NFUlQocmVz
b2x2ZXIpOworICAgIGlmIChyZXNvbHZlci0+aXNSZXNvbHZpbmcoKSkgeworICAgICAgICBjYWxs
T25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSgpIHsKKyAgICAgICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpTdG9wQXN5bmNSZXNvbHZlcihpZGVudGlm
aWVyKSwgMCk7CisgICAgICAgIH0pOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3Rv
cnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4zNGY3ZTVjMGU4Yjc1ODRjODAzNTUxNDg4ODQ5MTZhY2M0MzdlODQ3
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIlJUQ05l
dHdvcmsuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUg
PHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvcGFj
a2V0c29ja2V0ZmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8
d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQXN5bmNSZXNv
bHZlcjsKK2NsYXNzIFdlYlBhY2tldFNvY2tldDsKKworY2xhc3MgV2ViUGFja2V0U29ja2V0RmFj
dG9yeSBmaW5hbCA6IHB1YmxpYyBydGM6OlBhY2tldFNvY2tldEZhY3RvcnkgeworcHVibGljOgor
ICAgIFdlYlBhY2tldFNvY2tldEZhY3RvcnkoKSB7IH0KKworICAgIHZvaWQgYXR0YWNoKFdlYlBh
Y2tldFNvY2tldCYgc29ja2V0KSB7IG1fcGVuZGluZ1NvY2tldHMuYXBwZW5kKCZzb2NrZXQpOyB9
CisgICAgdm9pZCBkZXRhY2goV2ViUGFja2V0U29ja2V0Jik7CisKKyAgICBXZWJQYWNrZXRTb2Nr
ZXQqIHdlYlBhY2tldFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBtX3NvY2tl
dHMuZ2V0KGlkZW50aWZpZXIpOyB9CisKKyAgICB2b2lkIGdldFJlc29sdmVkQWRkcmVzcyh1aW50
NjRfdCwgY29uc3QgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4mKTsKKyAgICB2b2lkIHJl
c29sdmVkQWRkcmVzc0Vycm9yKHVpbnQ2NF90LCBpbnQpOworCitwcml2YXRlOgorICAgIHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KSBmaW5hbDsKKyAgICBydGM6
OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiwgdWludDE2X3QgbWluX3BvcnQsIHVpbnQxNl90IG1heF9wb3J0LCBpbnQgb3B0
aW9ucykgZmluYWw7CisgICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlQ2xpZW50VGNw
U29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6
OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJbmZvJiwgY29u
c3Qgc3RkOjpzdHJpbmcmLCBpbnQgb3B0aW9ucyk7CisgICAgcnRjOjpBc3luY1Jlc29sdmVySW50
ZXJmYWNlKiBDcmVhdGVBc3luY1Jlc29sdmVyKCkgZmluYWw7CisgICAgdm9pZCBzdG9wUmVzb2x2
ZXIodWludDY0X3QpOworCisgICAgY2xhc3MgV2ViQXN5bmNSZXNvbHZlciBmaW5hbCA6IHB1Ymxp
YyBydGM6OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UgeworICAgIHB1YmxpYzoKKyAgICAgICAgV2Vi
QXN5bmNSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSA6IG1faWRlbnRpZmllcihpZGVudGlm
aWVyKSB7IH0KKworICAgICAgICB2b2lkIHNldEVycm9yKGludCBlcnJvcikgeyBtX2Vycm9yID0g
ZXJyb3I7IH0KKyAgICAgICAgdm9pZCBzZXRSZXNvbHZlZEFkZHJlc3NlcyhWZWN0b3I8cnRjOjpJ
UEFkZHJlc3M+JiYgYWRkcmVzc2VzKSB7IG1fYWRkcmVzc2VzID0gV1RGTW92ZShhZGRyZXNzZXMp
OyB9CisgICAgICAgIGJvb2wgaXNSZXNvbHZpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVzb2x2
aW5nOyB9CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lk
ZW50aWZpZXI7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgU3RhcnQoY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJikgZmluYWw7CisgICAgICAgIGJvb2wgR2V0UmVzb2x2ZWRBZGRyZXNz
KGludCwgcnRjOjpTb2NrZXRBZGRyZXNzKikgY29uc3QgZmluYWw7CisgICAgICAgIGludCBHZXRF
cnJvcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICAgICAgdm9pZCBEZXN0
cm95KGJvb2wpIGZpbmFsOworCisgICAgICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICAg
ICAgVmVjdG9yPHJ0Yzo6SVBBZGRyZXNzPiBtX2FkZHJlc3NlczsKKyAgICAgICAgcnRjOjpTb2Nr
ZXRBZGRyZXNzIG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICAgICAgaW50IG1fZXJyb3IgeyAwIH07
CisgICAgICAgIHVpbnQxNl90IG1fcG9ydCB7IDAgfTsKKyAgICAgICAgYm9vbCBtX2lzUmVzb2x2
aW5nIHsgZmFsc2UgfTsKKyAgICB9OworCisgICAgc3RhdGljIHVpbnQ2NF90IHNfdW5pcXVlU29j
a2V0SWRlbnRpZmllcjsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJQYWNrZXRTb2NrZXQqPiBt
X3NvY2tldHM7CisgICAgVmVjdG9yPFdlYlBhY2tldFNvY2tldCo+IG1fcGVuZGluZ1NvY2tldHM7
CisKKyAgICBzdGF0aWMgdWludDY0X3Qgc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXI7CisgICAg
SGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPFdlYkFzeW5jUmVzb2x2ZXI+PiBtX3Jl
c29sdmVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAppbmRleCBiZmUwZDI3YmU0ZTVmOWUxOWFlOTIyZWI0ODE1YzY4YTdjMmUyZjIxLi5hMjMxZGNh
MzRhN2ZhN2UwOTAyYTdkYTI1OTJhZDFiNzUxYjc0NjQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJk
TGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCIKKyNpbmNsdWRl
ICJMaWJXZWJSVENDbGllbnQuaCIKICNpbmNsdWRlICJMb2FkUGFyYW1ldGVycy5oIgogI2luY2x1
ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXRzY2FwZVBsdWdpbi5oIgpAQCAtNDA1LDcgKzQw
Niw5IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLnN0b3Jh
Z2VOYW1lc3BhY2VQcm92aWRlciA9IFdlYlN0b3JhZ2VOYW1lc3BhY2VQcm92aWRlcjo6Z2V0T3JD
cmVhdGUobV9wYWdlR3JvdXAtPnBhZ2VHcm91cElEKCkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9u
LnVzZXJDb250ZW50UHJvdmlkZXIgPSBtX3VzZXJDb250ZW50Q29udHJvbGxlci5wdHIoKTsKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi52aXNpdGVkTGlua1N0b3JlID0gVmlzaXRlZExpbmtUYWJsZUNv
bnRyb2xsZXI6OmdldE9yQ3JlYXRlKHBhcmFtZXRlcnMudmlzaXRlZExpbmtUYWJsZUlEKTsKLQor
I2lmIFVTRShMSUJXRUJSVEMpCisgICAgcGFnZUNvbmZpZ3VyYXRpb24ubGliV2ViUlRDQ2xpZW50
ID0gc3RkOjptYWtlX3VuaXF1ZTxMaWJXZWJSVENDbGllbnQ+KCk7CisjZW5kaWYKICNpZiBFTkFC
TEUoQVBQTEVfUEFZKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLnBheW1lbnRDb29yZGluYXRvckNs
aWVudCA9IG5ldyBXZWJQYXltZW50Q29vcmRpbmF0b3IoKnRoaXMpOwogI2VuZGlmCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBlMWMyNmI5NzJkZGUwNDAwMzMz
NjQwZTgzYjYzZmQwNDRhNmU0Y2I1Li5mYjk0YmI4OGMyYTNlMTA2Y2RjYjdiYzBkZjUxZTljY2E3
M2NhMDU0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTM0
LDYgKzM0LDcgQEAKICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIkV2ZW50RGlz
cGF0Y2hlci5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisjaW5jbHVkZSAiTGliV2Vi
UlRDQ2xpZW50LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24uaCIKQEAgLTE1NDYsNCArMTU0NywxNCBAQCB2b2lkIFdlYlByb2Nlc3M6OnByZWZl
dGNoRE5TKGNvbnN0IFN0cmluZyYgaG9zdG5hbWUpCiAgICAgbV9kbnNQcmVmZXRjaEh5c3RlcmVy
aXMuaW1wdWxzZSgpOwogfQogCisjaWYgVVNFKExJQldFQlJUQykKK3ZvaWQgV2ViUHJvY2Vzczo6
aW5pdGlhbGl6ZUxpYldlYlJUQygpCit7CisgICAgaWYgKCFtX2xpYldlYlJUQykgeworICAgICAg
ICBtX2xpYldlYlJUQyA9IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDPigpOworICAgICAgICBt
X2xpYldlYlJUQy0+aW5pdGlhbGl6ZSgpOworICAgIH0KK30KKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggNmVi
Y2NiYjI2OWU5YTJmMmQ0MTQxNDlmMTQzZDRjNWM4MTRiMjFjNi4uZDYzZWFhZTlkYmMwZWJiNmMx
NGQ1MDU5ZTM0YWM1OGJjNGRlMGU1YSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVk
ZSAiQ2hpbGRQcm9jZXNzLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKKyNpbmNsdWRlICJM
aWJXZWJSVEMuaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCkBAIC0xNjUsNiArMTY2LDExIEBAIHB1YmxpYzoKICAgICB2b2lkIG5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbkNsb3NlZChOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24qKTsKICAgICBX
ZWJMb2FkZXJTdHJhdGVneSYgd2ViTG9hZGVyU3RyYXRlZ3koKTsKIAorI2lmIFVTRShMSUJXRUJS
VEMpCisgICAgTGliV2ViUlRDJiBsaWJXZWJSVEMoKSB7IHJldHVybiAqbV9saWJXZWJSVEM7IH0K
KyAgICB2b2lkIGluaXRpYWxpemVMaWJXZWJSVEMoKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxFKERB
VEFCQVNFX1BST0NFU1MpCiAgICAgdm9pZCB3ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb25D
bG9zZWQoV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKik7CiAgICAgV2ViVG9EYXRhYmFz
ZVByb2Nlc3NDb25uZWN0aW9uKiB3ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKQEAg
LTM3Nyw2ICszODMsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZU5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbigpOwogICAgIFJlZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24+IG1fbmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBtX3dlYkxvYWRl
clN0cmF0ZWd5OworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TGli
V2ViUlRDPiBtX2xpYldlYlJUQzsKKyNlbmRpZgorCiAgICAgSGFzaFNldDxTdHJpbmc+IG1fZG5z
UHJlZmV0Y2hlZEhvc3RzOwogICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2Ruc1By
ZWZldGNoSHlzdGVyZXJpczsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299623</attachid>
            <date>2017-01-24 13:40:05 -0800</date>
            <delta_ts>2017-01-26 18:16:29 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170124133805.patch</filename>
            <type>text/plain</type>
            <size>141331</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMDgzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggMGU3YmRjZWI5ZTc3MTcw
ZmJhZjBkNmQwYjYxZDZlY2JjOGQ4ODdmYy4uYjMyYTA1ZWM4ZTA2YzljMTc0OTRjNjNkMjdlZDQx
YTU3ZjJjMDc4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzMCBAQAorMjAxNy0wMS0yNCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLm1ha2U6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2Up
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRl
VURQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVzb2x2ZWROYW1lKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZUFzeW5jUmVz
b2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
c3RvcEFzeW5jUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6YWRkUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnRha2VQYWNrZXRTb2NrZXQpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpSZXNvbHZlcjo6UmVzb2x2ZXIpOgor
ICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVzb2x2ZXI6
On5SZXNvbHZlcik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MubWVzc2FnZXMuaW46CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUHJvY2Vzczo6cnRjTmV0d29y
a1RocmVhZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaDoKKyAg
ICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnBhY2tldFNvY2tldEZhY3RvcnkpOgorICAg
ICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0
aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdG9wVXBkYXRp
bmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTmV0d29ya01hbmFnZXI6Ok9uTWVzc2FnZSk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RhcnRVcGRhdGluZ0Zy
b21OZXR3b3JrVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2Vy
OjpzdG9wVXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtOZXR3b3JrTWFuYWdlcjo6b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuaDogQWRkZWQuCisgICAgICAgICog
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbjog
QWRkZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2Nr
ZXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3Jl
YXRlVURQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlQ2xp
ZW50VENQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlU2Vy
dmVyVENQKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6TmV0d29ya1Bh
Y2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6On5OZXR3
b3JrUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6
T25NZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6Y2xlYW4p
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjptZXNzYWdlU2VuZGVyQ29u
bmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNlbmRUbyk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNsb3NlKToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktp
dDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxDb25uZWN0KToKKyAgICAgICAgKFdl
YktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAqIE5ldHdv
cmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lmg6IEFkZGVkLgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluOiBB
ZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29yay5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpSVENOZXR3b3JrOjpSVENOZXR3b3JrKToKKyAgICAgICAgKFdlYktpdDo6aXBzKToK
KyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6dmFsdWUpOgorICAgICAgICAoV2ViS2l0OjpS
VENOZXR3b3JrOjpJUEFkZHJlc3M6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdv
cms6OklQQWRkcmVzczo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6ZGVj
b2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6ZW5jb2RlKToKKyAgICAgICAgKiBT
aGFyZWQvUlRDTmV0d29yay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6
SVBBZGRyZXNzOjpJUEFkZHJlc3MpOgorICAgICAgICAqIFdlYktpdDIueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
OjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVEMuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjppbml0
aWFsaXplKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjp3ZWJQYWNrZXRTb2NrZXRGb3JJ
ZGVudGlmaWVyKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDOjpuZXR3b3JrTWFuYWdlcik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6c29ja2V0RmFjdG9yeSk6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQzo6Z2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDOjpyZXNvbHZlZEFkZHJlc3NFcnJvcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ0NsaWVudDo6TGliV2ViUlRDQ2xpZW50KToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDQ2xpZW50OjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuaDogQWRkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6U3RhcnRVcGRhdGlu
Zyk6CisgICAgICAgIChXZWJLaXQ6OldlYk5ldHdvcmtNYW5hZ2VyOjpTdG9wVXBkYXRpbmcpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6bmV0d29ya3NDaGFuZ2VkKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmg6IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFn
ZXIubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUGFja2V0U29ja2V0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tl
dFNvY2tldDo6V2ViUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29j
a2V0Ojp+V2ViUGFja2V0U29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0
OjpHZXRMb2NhbEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6Okdl
dFJlbW90ZUFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25h
bEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFs
UmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsU2Vu
dFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVj
dCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsQ2xvc2UpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKToK
KyAgICAgICAgKFdlYktpdDo6YXV0aEtleSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNv
Y2tldDo6d2lsbFNlbmQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OlNlbmRU
byk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6Q2xvc2UpOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OkdldE9wdGlvbik6CisgICAgICAgIChXZWJLaXQ6Oldl
YlBhY2tldFNvY2tldDo6U2V0T3B0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlBhY2tldFNvY2tldC5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcDog
QWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNl
cnZlclRjcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6
OkNyZWF0ZVVkcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rv
cnk6OkNyZWF0ZUNsaWVudFRjcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNv
Y2tldEZhY3Rvcnk6OmRldGFjaCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZh
Y3Rvcnk6OkNyZWF0ZUFzeW5jUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5OjpnZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5OjpyZXNvbHZlZEFkZHJlc3NFcnJvcik6CisgICAgICAgIChXZWJL
aXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6OlN0YXJ0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6
R2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFj
dG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6RGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBh
Y2tldFNvY2tldEZhY3Rvcnk6OnN0b3BSZXNvbHZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5Lmg6IEFkZGVkLgorICAgICAgICAq
IFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV91c2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nl
c3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplTGliV2ViUlRD
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6
V2ViUHJvY2Vzczo6bGliV2ViUlRDKToKKwogMjAxNy0wMS0yNCAgTWlndWVsIEdvbWV6ICA8bWFn
b21lekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtDb29yZGluYXRlZCBHcmFwaGljc10gRW5zdXJl
IHRoYXQgd2UncmUgaW4gQUMgbW9kZSBiZWZvcmUgdHJ5aW5nIHRvIGNyZWF0ZSBHcmFwaGljc0xh
eWVycwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2Uv
V2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA0NWI1Yzk2ODdmNDE0MzcyZDVmYmY3MDNhYmNl
NmE0ODkxNDAxZjA4Li40MDM0MDI1ZGZmOTJhN2M1OTZhZjYxYzk3NTZmOGE3N2Q0ZTJiOWE5IDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtNTkyLDYgKzU5Miw3IEBAIHNldChXZWJLaXQyX01FU1NB
R0VTX0lOX0ZJTEVTCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5tZXNz
YWdlcy5pbgogICAgIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtSZXNvdXJjZUxvYWRlci5tZXNzYWdl
cy5pbgorICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3Nh
Z2VzLmluCiAKICAgICBQbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdl
cy5pbgogICAgIFBsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5tZXNzYWdlcy5pbgpAQCAtNjQ5
LDYgKzY1MCw3IEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAKICAgICBXZWJQcm9j
ZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5tZXNzYWdlcy5pbgogCisgICAg
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4KICAg
ICBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmlu
CiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2Uv
V2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRjYTRmNTg4ZTE1OGMwMjlkMmU4YWMy
ZTFjYmRhMTQ0OGVlNzM0NDguLjJiNzliNzU3ZGY4MjRjMGQ1YmQwZWRhZmYwZjZkYzRhYzAxMGZl
OTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIv
U291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjgsNiArMjgsNyBAQCBWUEFU
SCA9IFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzIFwKICAgICAkKFdlYktpdDIpL05l
dHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scyBcCiAgICAgJChXZWJLaXQyKS9OZXR3b3JrUHJv
Y2Vzcy9tYWMgXAorICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3Mvd2VicnRjIFwKICAgICAk
KFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAogICAgICQoV2ViS2l0MikvUGx1Z2luUHJvY2Vzcy9t
YWMgXAogICAgICQoV2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXApAQCAtNDUsNiArNDYsNyBAQCBW
UEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlIFwKICAgICAk
KFdlYktpdDIpL1dlYlByb2Nlc3MvTWVkaWFDYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9j
ZXNzL05ldHdvcmsgXAorICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0YyBc
CiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMgXAogICAgICQoV2ViS2l0
MikvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1
Z2lucyBcCkBAIC05NSw4ICs5NywxMSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBEcmF3
aW5nQXJlYSBcCiAgICAgRHJhd2luZ0FyZWFQcm94eSBcCiAgICAgRXZlbnREaXNwYXRjaGVyIFwK
KyAgICBMaWJXZWJSVEMgXAogICAgIE5QT2JqZWN0TWVzc2FnZVJlY2VpdmVyIFwKICAgICBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyBcCisgICAgTmV0d29ya05ldHdvcmtNYW5hZ2VyIFwK
KyAgICBOZXR3b3JrUGFja2V0U29ja2V0IFwKICAgICBOZXR3b3JrUHJvY2VzcyBcCiAgICAgTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uIFwKICAgICBOZXR3b3JrUHJvY2Vzc1Byb3h5IFwKQEAgLTEz
Nyw3ICsxNDIsOSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJJbnNwZWN0b3IgXAog
ICAgIFdlYkluc3BlY3RvclByb3h5IFwKICAgICBXZWJJbnNwZWN0b3JVSSBcCisgICAgV2ViTmV0
d29ya01hbmFnZXIgXAogICAgIFdlYk5vdGlmaWNhdGlvbk1hbmFnZXIgXAorICAgIFdlYlBhY2tl
dFNvY2tldCBcCiAgICAgV2ViUGFnZSBcCiAgICAgV2ViUGFnZVByb3h5IFwKICAgICBXZWJQYXN0
ZWJvYXJkUHJveHkgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDhhMjdhYjNh
MGMyZDVjODJjMjRhNjQzMjQ2YTY2MGY3ODk5M2VlNzUuLmQwM2Y2M2Y1ZjJmMGViM2RmOTA5YmM4
Y2FlMjZhYWVhYTExMWM1ODkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTI4
LDE1ICsyOCwyMCBAQAogCiAjaW5jbHVkZSAiQmxvYkRhdGFGaWxlUmVmZXJlbmNlV2l0aFNhbmRi
b3hFeHRlbnNpb24uaCIKICNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTGli
V2ViUlRDTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrQmxvYlJlZ2lzdHJ5LmgiCiAjaW5j
bHVkZSAiTmV0d29ya0NhY2hlLmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtMb2FkLmgiCisjaW5jbHVkZSAiTmV0
d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUGFja2V0U29j
a2V0LmgiCisjaW5jbHVkZSAiTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3MuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25N
ZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Jlc291cmNlTG9hZGVyLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCiAjaW5jbHVkZSAi
UmVtb3RlTmV0d29ya2luZ0NvbnRleHQuaCIKICNpbmNsdWRlICJTZXNzaW9uVHJhY2tlci5oIgog
I2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgpAQCAtNDYsMTEgKzUxLDE2IEBACiAj
aW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRlck9wdGlvbnMuaD4KICNpbmNsdWRlIDxXZWJD
b3JlL1Jlc291cmNlUmVxdWVzdC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vzc2lvbklELmg+Cisj
aW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KIAogI2lmIFVTRShORVRXT1JLX1NFU1NJT04pCiAj
aW5jbHVkZSAiUGluZ0xvYWQuaCIKICNlbmRpZgogCisjaWYgVVNFKExJQldFQlJUQykKKyNpbmNs
dWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNvY2tldC5oPgorI2VuZGlmCisKIHVzaW5nIG5h
bWVzcGFjZSBXZWJDb3JlOwogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTYyLDYgKzcyLDkgQEAg
UmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiBOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Y3JlYXRlKElQQzo6Q28KIAogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6
Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmll
ciBjb25uZWN0aW9uSWRlbnRpZmllcikKICAgICA6IG1fY29ubmVjdGlvbihJUEM6OkNvbm5lY3Rp
b246OmNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oY29ubmVjdGlvbklkZW50aWZpZXIsICp0aGlzKSkK
KyNpZiBVU0UoTElCV0VCUlRDKQorICAgICwgbV9uZXR3b3JrTWFuYWdlcigqdGhpcykKKyNlbmRp
ZgogewogICAgIG1fY29ubmVjdGlvbi0+b3BlbigpOwogfQpAQCAtNzYsNyArODksNyBAQCB2b2lk
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRDbGVhbnVwUmVzb3VyY2VMb2FkZXIo
TmV0d29ya1Jlc291cmNlTG9hZAogCiAgICAgbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLnJlbW92
ZShsb2FkZXIuaWRlbnRpZmllcigpKTsKIH0KLSAgICAKKwogdm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJl
Y2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CkBAIC04NSwxMiArOTgsMjUgQEAgdm9pZCBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW8KICAgICB9CiAKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1l
KCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSZXNvdXJjZUxvYWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKSB7Ci0gICAgICAgIEhhc2hNYXA8UmVzb3VyY2VMb2FkSWRlbnRpZmllciwgUmVmUHRyPE5l
dHdvcmtSZXNvdXJjZUxvYWRlcj4+OjppdGVyYXRvciBsb2FkZXJJdGVyYXRvciA9IG1fbmV0d29y
a1Jlc291cmNlTG9hZGVycy5maW5kKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKTsKKyAgICAgICAg
YXV0byBsb2FkZXJJdGVyYXRvciA9IG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5maW5kKGRlY29k
ZXIuZGVzdGluYXRpb25JRCgpKTsKICAgICAgICAgaWYgKGxvYWRlckl0ZXJhdG9yICE9IG1fbmV0
d29ya1Jlc291cmNlTG9hZGVycy5lbmQoKSkKICAgICAgICAgICAgIGxvYWRlckl0ZXJhdG9yLT52
YWx1ZS0+ZGlkUmVjZWl2ZU5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2UoY29ubmVjdGlvbiwg
ZGVjb2Rlcik7CiAgICAgICAgIHJldHVybjsKICAgICB9Ci0gICAgCisKKyNpZiBVU0UoTElCV0VC
UlRDKQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6
TmV0d29ya1BhY2tldFNvY2tldDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIGF1
dG8gc29ja2V0SXRlcmF0b3IgPSBtX3BhY2tldFNvY2tldHMuZmluZChkZWNvZGVyLmRlc3RpbmF0
aW9uSUQoKSk7CisgICAgICAgIGlmIChzb2NrZXRJdGVyYXRvciAhPSBtX3BhY2tldFNvY2tldHMu
ZW5kKCkpCisgICAgICAgICAgICBzb2NrZXRJdGVyYXRvci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3
b3JrUGFja2V0U29ja2V0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7Cisg
ICAgICAgIG1fbmV0d29ya01hbmFnZXIuZGlkUmVjZWl2ZU5ldHdvcmtOZXR3b3JrTWFuYWdlck1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5k
aWYKKwogICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOwogfQogCkBAIC0zMzQsNCArMzYwLDExNSBA
QCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjplbnN1cmVMZWdhY3lQcml2YXRl
QnJvd3NpbmdTZXNzaW9uKCkKICAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkuZW5zdXJl
UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbihTZXNzaW9uSUQ6OmxlZ2FjeVByaXZhdGVTZXNzaW9uSUQo
KSk7CiB9CiAKKyNpZiBVU0UoTElCV0VCUlRDKQordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6Y3JlYXRlVURQU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0IFN0cmlu
ZyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKK3sKKyAgICBy
dGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0QWRkcmVzczsKKyAgICBzb2NrZXRBZGRyZXNzLkZyb21T
dHJpbmcoYWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKworICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5n
bGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCkuSW52b2tlPHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFt0
aGlzLCBpZGVudGlmaWVyLCBzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAg
ICAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChOZXR3
b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucGFja2V0U29ja2V0RmFjdG9yeSgpLkNyZWF0ZVVkcFNv
Y2tldChzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0KSk7CisgICAgICAgIE5ldHdvcmtQ
YWNrZXRTb2NrZXQ6OmNyZWF0ZVVEUChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksICp0aGlz
KTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3Jl
YXRlU2VydmVyVENQU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRk
cmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9wdGlvbnMpCit7
CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJlc3M7CisgICAgc29ja2V0QWRkcmVz
cy5Gcm9tU3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7CisKKyAgICBOZXR3b3JrUHJvY2Vz
czo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLkludm9rZTx2b2lkPihSVENfRlJPTV9I
RVJFLCBbdGhpcywgaWRlbnRpZmllciwgc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwg
b3B0aW9uc10oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29j
a2V0PiBzb2NrZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnBhY2tldFNvY2tldEZhY3Rv
cnkoKS5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9y
dCwgb3B0aW9ucykpOworICAgICAgICBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVhdGVTZXJ2ZXJU
Q1AoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCAqdGhpcyk7CisgICAgfSk7Cit9CisKK3Zv
aWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZUNsaWVudFRDUFNvY2tldCh1
aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGxvY2FsQWRkcmVzcywgY29uc3QgU3Ry
aW5nJiByZW1vdGVBZGRyZXNzLCBpbnQgb3B0aW9ucykKK3sKKyAgICBydGM6OlNvY2tldEFkZHJl
c3Mgc29ja2V0TG9jYWxBZGRyZXNzOworICAgIHNvY2tldExvY2FsQWRkcmVzcy5Gcm9tU3RyaW5n
KGxvY2FsQWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBz
b2NrZXRSZW1vdGVBZGRyZXNzOworICAgIHNvY2tldFJlbW90ZUFkZHJlc3MuRnJvbVN0cmluZyhy
ZW1vdGVBZGRyZXNzLnV0ZjgoKS5kYXRhKCkpOworCisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmds
ZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3Ro
aXMsIGlkZW50aWZpZXIsIHNvY2tldExvY2FsQWRkcmVzcywgc29ja2V0UmVtb3RlQWRkcmVzcywg
b3B0aW9uc10oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29j
a2V0PiBzb2NrZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnBhY2tldFNvY2tldEZhY3Rv
cnkoKS5DcmVhdGVDbGllbnRUY3BTb2NrZXQoc29ja2V0TG9jYWxBZGRyZXNzLCBzb2NrZXRSZW1v
dGVBZGRyZXNzLCB7IH0sIHsgfSwgb3B0aW9ucykpOworICAgICAgICBOZXR3b3JrUGFja2V0U29j
a2V0OjpjcmVhdGVDbGllbnRUQ1AoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCAqdGhpcyk7
CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlc29s
dmVkTmFtZShDRkhvc3RSZWYgaG9zdFJlZiwgQ0ZIb3N0SW5mb1R5cGUgdHlwZUluZm8sIGNvbnN0
IENGU3RyZWFtRXJyb3IgKmVycm9yLCB2b2lkICppbmZvKQoreworICAgIEFTU0VSVF9VTlVTRUQo
dHlwZUluZm8sICF0eXBlSW5mbyk7CisKKyAgICBpZiAoZXJyb3ItPmRvbWFpbikgeworICAgICAg
ICAvLyBGSVhNRTogTmVlZCB0byBoYW5kbGUgZmFpbHVyZSwgYnV0IGluZm8gaXMgbm90IHByb3Zp
ZGVkIGluIHRoZSBjYWxsYmFjay4KKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIEFTU0VS
VChpbmZvKTsKKyAgICBhdXRvKiByZXNvbHZlckluZm8gPSBzdGF0aWNfY2FzdDxSZXNvbHZlcio+
KGluZm8pOworICAgIGF1dG8gcmVzb2x2ZXIgPSByZXNvbHZlckluZm8tPmNvbm5lY3Rpb24tPm1f
cmVzb2x2ZXJzLnRha2UocmVzb2x2ZXJJbmZvLT5pZGVudGlmaWVyKTsKKyAgICBpZiAoIXJlc29s
dmVyKQorICAgICAgICByZXR1cm47CisKKyAgICBCb29sZWFuIHJlc3VsdDsKKyAgICBDRkFycmF5
UmVmIHJlc29sdmVkQWRkcmVzc2VzID0gKENGQXJyYXlSZWYpQ0ZIb3N0R2V0QWRkcmVzc2luZyho
b3N0UmVmLCAmcmVzdWx0KTsKKyAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKwor
ICAgIHNpemVfdCBjb3VudCA9IENGQXJyYXlHZXRDb3VudChyZXNvbHZlZEFkZHJlc3Nlcyk7Cisg
ICAgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4gYWRkcmVzc2VzOworICAgIGFkZHJlc3Nl
cy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGNvdW50KTsKKworICAgIGZvciAoc2l6ZV90IGluZGV4
ID0gMDsgaW5kZXggPCBjb3VudDsgKytpbmRleCkgeworICAgICAgICBDRkRhdGFSZWYgZGF0YSA9
IChDRkRhdGFSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChyZXNvbHZlZEFkZHJlc3NlcywgaW5k
ZXgpOworICAgICAgICBhdXRvKiBhZGRyZXNzID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBzdHJ1
Y3Qgc29ja2FkZHJfaW4qPihDRkRhdGFHZXRCeXRlUHRyKGRhdGEpKTsKKyAgICAgICAgYWRkcmVz
c2VzLnVuY2hlY2tlZEFwcGVuZChSVENOZXR3b3JrOjpJUEFkZHJlc3MocnRjOjpJUEFkZHJlc3Mo
YWRkcmVzcy0+c2luX2FkZHIpKSk7CisgICAgfQorICAgIHJlc29sdmVyLT5jb25uZWN0aW9uLT5t
X2Nvbm5lY3Rpb24tPnNlbmQoTWVzc2FnZXM6OkxpYldlYlJUQzo6R2V0UmVzb2x2ZWRBZGRyZXNz
KHJlc29sdmVyLT5pZGVudGlmaWVyLCBhZGRyZXNzZXMpLCAwKTsKK30KKwordm9pZCBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlQXN5bmNSZXNvbHZlcih1aW50NjRfdCBpZGVu
dGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MpCit7CisKKyAgICBDRkhvc3RSZWYgaG9zdCA9
IENGSG9zdENyZWF0ZVdpdGhOYW1lKGtDRkFsbG9jYXRvckRlZmF1bHQsIGFkZHJlc3MuY3JlYXRl
Q0ZTdHJpbmcoKS5nZXQoKSk7CisgICAgQVNTRVJUKGhvc3QpOworCisgICAgYXV0byByZXNvbHZl
ciA9IHN0ZDo6bWFrZV91bmlxdWU8UmVzb2x2ZXI+KGlkZW50aWZpZXIsICp0aGlzLCBob3N0KTsK
KworICAgIENGSG9zdENsaWVudENvbnRleHQgY29udGV4dDsKKyAgICBjb250ZXh0LnZlcnNpb24g
PSAwOworICAgIGNvbnRleHQuaW5mbyA9IHJlc29sdmVyLmdldCgpOworICAgIGNvbnRleHQuY29w
eURlc2NyaXB0aW9uID0gbnVsbHB0cjsKKyAgICBjb250ZXh0LnJlbGVhc2UgPSBudWxscHRyOwor
ICAgIGNvbnRleHQucmV0YWluID0gbnVsbHB0cjsKKworICAgIENGSG9zdFNldENsaWVudChob3N0
LCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cmVzb2x2ZWROYW1lLCAmY29udGV4dCk7
CisgICAgQ0ZIb3N0U2NoZWR1bGVXaXRoUnVuTG9vcChob3N0LCBDRlJ1bkxvb3BHZXRDdXJyZW50
KCksIGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSk7CisgICAgQm9vbGVhbiByZXN1bHQgPSBDRkhvc3RT
dGFydEluZm9SZXNvbHV0aW9uKGhvc3QsIGtDRkhvc3RBZGRyZXNzZXMsIG51bGxwdHIpOworICAg
IEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQpOworCisgICAgbV9yZXNvbHZlcnMuYWRkKGlk
ZW50aWZpZXIsIFdURk1vdmUocmVzb2x2ZXIpKTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6c3RvcEFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikKK3sK
KyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLkludm9r
ZTx2b2lkPihSVENfRlJPTV9IRVJFLCBbdGhpcywgaWRlbnRpZmllcl0oKSB7CisgICAgICAgIGF1
dG8gcmVzb2x2ZXIgPSBtX3Jlc29sdmVycy50YWtlKGlkZW50aWZpZXIpOworICAgICAgICBpZiAo
cmVzb2x2ZXIpCisgICAgICAgICAgICBDRkhvc3RDYW5jZWxJbmZvUmVzb2x1dGlvbihyZXNvbHZl
ci0+aG9zdCwgQ0ZIb3N0SW5mb1R5cGU6OmtDRkhvc3RBZGRyZXNzZXMpOworICAgIH0pOworfQor
Cit2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjphZGRQYWNrZXRTb2NrZXQodWlu
dDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQYWNrZXRTb2NrZXQ+JiYg
c29ja2V0KQoreworICAgIG1fcGFja2V0U29ja2V0cy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShz
b2NrZXQpKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQYWNrZXRTb2NrZXQ+IE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp0YWtlUGFja2V0U29ja2V0KHVpbnQ2NF90IGlkZW50
aWZpZXIpCit7CisgICAgcmV0dXJuIG1fcGFja2V0U29ja2V0cy50YWtlKGlkZW50aWZpZXIpOwor
fQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmgKaW5kZXggNzk2NTZiYTQ3YzIyOGJlMDBhN2IwNzcwMjQyODM1ZWQ0NTY1NTdhMi4uZDY3NGFl
Zjg3OGExNDczYzNhNGFjNDg1MjU4YTFlMDQzZWZhMmRmMSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5oCkBAIC0yOSw5ICsyOSwxOCBAQAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNs
dWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtOZXR3b3JrTWFuYWdlci5oIgorCisjaW5j
bHVkZSA8Q0ZOZXR3b3JrL0NGSG9zdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFj
cm9zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRQcmlvcml0eS5oPgogI2luY2x1
ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorI2luY2x1ZGUgPHdl
YnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvYmFzaWNw
YWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewogY2xh
c3MgQmxvYkRhdGFGaWxlUmVmZXJlbmNlOwogY2xhc3MgUmVzb3VyY2VSZXF1ZXN0OwpAQCAtNDAs
NiArNDksNyBAQCBjbGFzcyBSZXNvdXJjZVJlcXVlc3Q7CiBuYW1lc3BhY2UgV2ViS2l0IHsKIAog
Y2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CitjbGFzcyBOZXR3b3JrUGFja2V0
U29ja2V0OwogY2xhc3MgTmV0d29ya1Jlc291cmNlTG9hZGVyOwogY2xhc3MgU3luY05ldHdvcmtS
ZXNvdXJjZUxvYWRlcjsKIHR5cGVkZWYgdWludDY0X3QgUmVzb3VyY2VMb2FkSWRlbnRpZmllcjsK
QEAgLTU5LDYgKzY5LDEyIEBAIHB1YmxpYzoKIAogICAgIFJlZlB0cjxXZWJDb3JlOjpCbG9iRGF0
YUZpbGVSZWZlcmVuY2U+IGdldEJsb2JEYXRhRmlsZVJlZmVyZW5jZUZvclBhdGgoY29uc3QgU3Ry
aW5nJiBwYXRoKTsKIAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgdm9pZCBhZGRQYWNrZXRTb2Nr
ZXQodWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiYmKTsKKyAg
ICBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29ya1BhY2tldFNvY2tldD4gdGFrZVBhY2tldFNvY2tldCh1
aW50NjRfdCk7CisgICAgdm9pZCByZXNvbHZlckRvbmUodWludDY0X3QpOworI2VuZGlmCisKIHBy
aXZhdGU6CiAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoSVBDOjpDb25uZWN0aW9u
OjpJZGVudGlmaWVyKTsKIApAQCAtNzEsNyArODcsNyBAQCBwcml2YXRlOgogICAgIC8vIE1lc3Nh
Z2UgaGFuZGxlcnMuCiAgICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwogICAgIHZvaWQg
ZGlkUmVjZWl2ZVN5bmNOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJiwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4m
KTsKLSAgICAKKwogICAgIHZvaWQgc2NoZWR1bGVSZXNvdXJjZUxvYWQoY29uc3QgTmV0d29ya1Jl
c291cmNlTG9hZFBhcmFtZXRlcnMmKTsKICAgICB2b2lkIHBlcmZvcm1TeW5jaHJvbm91c0xvYWQo
Y29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBhcmFtZXRlcnMmLCBSZWY8TWVzc2FnZXM6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpQZXJmb3JtU3luY2hyb25vdXNMb2FkOjpEZWxheWVk
UmVwbHk+JiYpOwogICAgIHZvaWQgbG9hZFBpbmcoY29uc3QgTmV0d29ya1Jlc291cmNlTG9hZFBh
cmFtZXRlcnMmKTsKQEAgLTEwNSwxMCArMTIxLDM4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIGVu
c3VyZUxlZ2FjeVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKTsKIAorI2lmIFVTRShMSUJXRUJSVEMp
CisgICAgdm9pZCBjcmVhdGVVRFBTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYsIHVpbnQx
Nl90LCB1aW50MTZfdCk7CisgICAgdm9pZCBjcmVhdGVDbGllbnRUQ1BTb2NrZXQodWludDY0X3Qs
IGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGludCk7CisgICAgdm9pZCBjcmVhdGVTZXJ2
ZXJUQ1BTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYsIHVpbnQxNl90IG1pblBvcnQsIHVp
bnQxNl90IG1heFBvcnQsIGludCk7CisgICAgdm9pZCBjcmVhdGVBc3luY1Jlc29sdmVyKHVpbnQ2
NF90LCBjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lkIHN0b3BBc3luY1Jlc29sdmVyKHVpbnQ2NF90
KTsKKyNlbmRpZgorCiAgICAgUmVmPElQQzo6Q29ubmVjdGlvbj4gbV9jb25uZWN0aW9uOwogCiAg
ICAgSGFzaE1hcDxSZXNvdXJjZUxvYWRJZGVudGlmaWVyLCBSZWZQdHI8TmV0d29ya1Jlc291cmNl
TG9hZGVyPj4gbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzOwogICAgIEhhc2hNYXA8U3RyaW5nLCBS
ZWZQdHI8V2ViQ29yZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNlPj4gbV9ibG9iRGF0YUZpbGVSZWZl
cmVuY2VzOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGF0aWMgdm9pZCByZXNvbHZlZE5h
bWUoQ0ZIb3N0UmVmLCBDRkhvc3RJbmZvVHlwZSwgY29uc3QgQ0ZTdHJlYW1FcnJvciosIHZvaWQq
KTsKKworICAgIHN0cnVjdCBSZXNvbHZlciB7CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXI7
CisgICAgICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gY29ubmVjdGlvbjsK
KyAgICAgICAgQ0ZIb3N0UmVmIGhvc3Q7CisKKyAgICAgICAgUmVzb2x2ZXIodWludDY0X3QgaWRl
bnRpZmllciwgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiYmIGNvbm5lY3Rpb24s
IFJldGFpblB0cjxDRkhvc3RSZWY+JiYgaG9zdCkKKyAgICAgICAgICAgIDogaWRlbnRpZmllcihp
ZGVudGlmaWVyKQorICAgICAgICAgICAgLCBjb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikp
CisgICAgICAgICAgICAsIGhvc3QoV1RGTW92ZShob3N0KSkgeyB9CisKKyAgICAgICAgflJlc29s
dmVyKCkgeyBDRlJlbGVhc2UoaG9zdCk7IH0KKyAgICB9OworICAgIEhhc2hNYXA8dWludDY0X3Qs
IHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZlcj4+IG1fcmVzb2x2ZXJzOworICAgIEhhc2hNYXA8dWlu
dDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0Pj4gbV9wYWNrZXRTb2Nr
ZXRzOworICAgIE5ldHdvcmtOZXR3b3JrTWFuYWdlciBtX25ldHdvcmtNYW5hZ2VyOworI2VuZGlm
CiB9OwogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmlu
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MubWVzc2FnZXMuaW4KaW5kZXggYTI2M2E0ZWRlMzg4ZWJlMjVmN2E2Njc5MTZjZTBiZTBk
OWQ5OWUzZC4uZWMzYjRhNTU2M2ZjZjRhZGEwYzA3ODUzOGRmZGNlZTRiYWU1NjQ1MCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MubWVzc2FnZXMuaW4KKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4KQEAgLTUzLDQgKzUzLDEy
IEBAIG1lc3NhZ2VzIC0+IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzIExlZ2FjeVJlY2Vp
dmVyIHsKICAgICBTdG9yZURlcml2ZWREYXRhVG9DYWNoZShXZWJLaXQ6Ok5ldHdvcmtDYWNoZTo6
RGF0YUtleSBrZXksIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKQogCiAgICAgRW5zdXJlTGVnYWN5
UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpCisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIENyZWF0
ZVVEUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxvY2FsQWRkcmVzcywgdWludDE2X3Qg
bWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKKyAgICBDcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoaW50
IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQsIGludCBvcHRpb25zKQorICAgIENyZWF0ZUNsaWVudFRDUFNvY2tldChpbnQg
aWRlbnRpZmllciwgU3RyaW5nIGxvY2FsQWRkcmVzcywgU3RyaW5nIHJlbW90ZUFkZHJlc3MsIGlu
dCBvcHRpb25zKQorICAgIENyZWF0ZUFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllciwg
U3RyaW5nIGFkZHJlc3MpCisgICAgU3RvcEFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmll
cikKKyNlbmRpZgogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29y
a1Byb2Nlc3MuY3BwCmluZGV4IGZmYWY3ZGI4NTg3NWJjZTY2MGQ4NjYzNTQyYTkzZGQ1YWNjNTc0
MTEuLmU2ZjhlZDIwZjExMzViMGEzZjljMmYwZWMzMWU4MTM1MDY5MDg4ZTUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5jcHAKQEAgLTY2Niw0
ICs2NjYsMTggQEAgdm9pZCBOZXR3b3JrUHJvY2Vzczo6cGxhdGZvcm1Mb3dNZW1vcnlIYW5kbGVy
KENyaXRpY2FsKQogfQogI2VuZGlmCiAKKyNpZiBVU0UoTElCV0VCUlRDKQorcnRjOjpUaHJlYWQm
IE5ldHdvcmtQcm9jZXNzOjpydGNOZXR3b3JrVGhyZWFkKCkKK3sKKyAgICBpZiAoIW1fcnRjTmV0
d29ya1RocmVhZCkgeworICAgICAgICBtX3J0Y05ldHdvcmtUaHJlYWQgPSBydGM6OlRocmVhZDo6
Q3JlYXRlV2l0aFNvY2tldFNlcnZlcigpOworICAgICAgICBtX3J0Y05ldHdvcmtUaHJlYWQtPlN0
YXJ0KCk7CisKKyAgICAgICAgQVNTRVJUKCFtX3BhY2tldFNvY2tldEZhY3RvcnkpOworICAgICAg
ICBtX3BhY2tldFNvY2tldEZhY3RvcnkgPSBzdGQ6Om1ha2VfdW5pcXVlPHJ0Yzo6QmFzaWNQYWNr
ZXRTb2NrZXRGYWN0b3J5PihtX3J0Y05ldHdvcmtUaHJlYWQuZ2V0KCkpOworICAgIH0KKyAgICBy
ZXR1cm4gKm1fcnRjTmV0d29ya1RocmVhZDsKK30KKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQor
CiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdv
cmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5oCmluZGV4IGRhYjM3NTRlMDIwYzYzYTlkZjIwMWE1YmQ5ZGExZGU5
YjEwNTZhNDguLmMwNDA4MWVmNTMxYWVjNzBjYzdjNjliMWZjODc0YjlhYWExYzVjZjAgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmgKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaApAQCAtMzAs
NiArMzAsNyBAQAogI2luY2x1ZGUgIkRvd25sb2FkTWFuYWdlci5oIgogI2luY2x1ZGUgIk1lc3Nh
Z2VSZWNlaXZlck1hcC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvRGlhZ25vc3RpY0xvZ2dpbmdDbGll
bnQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvTWVtb3J5UHJlc3N1cmVIYW5kbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9TZXNzaW9u
SUQuaD4KICNpbmNsdWRlIDxtZW1vcnk+CkBAIC00Miw2ICs0MywxMCBAQAogI2luY2x1ZGUgIldl
YlNRTGl0ZURhdGFiYXNlVHJhY2tlci5oIgogI2VuZGlmCiAKKyNpZiBVU0UoTElCV0VCUlRDKQor
I2luY2x1ZGUgPHdlYnJ0Yy9wMnAvYmFzZS9iYXNpY3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKyNl
bmRpZgorCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiBjbGFzcyBEb3dubG9hZElEOwogY2xhc3MgQ2Vy
dGlmaWNhdGVJbmZvOwpAQCAtMTE4LDYgKzEyMywxMSBAQCBwdWJsaWM6CiAKICAgICBzdGQ6OmNo
cm9ubzo6bWlsbGlzZWNvbmRzIGxvYWRUaHJvdHRsZUxhdGVuY3koKSBjb25zdCB7IHJldHVybiBt
X2xvYWRUaHJvdHRsZUxhdGVuY3k7IH0KIAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgcnRjOjpC
YXNpY1BhY2tldFNvY2tldEZhY3RvcnkmIHBhY2tldFNvY2tldEZhY3RvcnkoKSB7IHJldHVybiAq
bV9wYWNrZXRTb2NrZXRGYWN0b3J5OyB9CisgICAgcnRjOjpUaHJlYWQmIHJ0Y05ldHdvcmtUaHJl
YWQoKTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5ldHdvcmtQcm9jZXNzKCk7CiAgICAgfk5l
dHdvcmtQcm9jZXNzKCk7CkBAIC0yMzAsNiArMjQwLDExIEBAIHByaXZhdGU6CiAjaWYgUExBVEZP
Uk0oSU9TKQogICAgIFdlYlNRTGl0ZURhdGFiYXNlVHJhY2tlciBtX3dlYlNRTGl0ZURhdGFiYXNl
VHJhY2tlcjsKICNlbmRpZgorCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8cnRjOjpCYXNpY1BhY2tldFNvY2tldEZhY3Rvcnk+IG1fcGFja2V0U29ja2V0RmFjdG9yeTsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpUaHJlYWQ+IG1fcnRjTmV0d29ya1RocmVhZDsKKyNl
bmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIu
Y3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAuLjU4N2FiMWNkY2M4OTNkYjNhNmUzNjdiYmMwNDIzN2U1MWVkZmYxZTgK
LS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcApAQCAtMCwwICsxLDEwMiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrTmV0d29ya01hbmFnZXIuaCIK
KworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVkZSAiV2ViTmV0
d29ya01hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitlbnVtIHsKKyAgICBNZXNzYWdlU3RhcnQsCisgICAgTWVzc2Fn
ZVN0b3AKK307CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0aW5nKCkK
K3sKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLlBv
c3QoUlRDX0ZST01fSEVSRSwgdGhpcywgTWVzc2FnZVN0YXJ0KTsKK30KKwordm9pZCBOZXR3b3Jr
TmV0d29ya01hbmFnZXI6OnN0b3BVcGRhdGluZygpCit7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNp
bmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5Qb3N0KFJUQ19GUk9NX0hFUkUsIHRoaXMsIE1l
c3NhZ2VTdG9wKTsKK30KKwordm9pZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6Ok9uTWVzc2FnZShy
dGM6Ok1lc3NhZ2UqIG1lc3NhZ2UpCit7CisgICAgc3dpdGNoIChtZXNzYWdlLT5tZXNzYWdlX2lk
KSB7CisgICAgY2FzZSBNZXNzYWdlU3RhcnQ6CisgICAgICAgIHN0YXJ0VXBkYXRpbmdGcm9tTmV0
d29ya1RocmVhZCgpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIE1lc3NhZ2VTdG9wOgorICAg
ICAgICBzdG9wVXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCgpOworICAgICAgICBicmVhazsKKyAg
ICB9Cit9CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdGFydFVwZGF0aW5nRnJvbU5l
dHdvcmtUaHJlYWQoKQoreworICAgIG1fbWFuYWdlciA9IHN0ZDo6bWFrZV91bmlxdWU8cnRjOjpC
YXNpY05ldHdvcmtNYW5hZ2VyPigpOworICAgIG1fbWFuYWdlci0+U2lnbmFsTmV0d29ya3NDaGFu
Z2VkLmNvbm5lY3QodGhpcywgJk5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6b25OZXR3b3Jrc0NoYW5n
ZWQpOworICAgIG1fbWFuYWdlci0+U3RhcnRVcGRhdGluZygpOworfQorCit2b2lkIE5ldHdvcmtO
ZXR3b3JrTWFuYWdlcjo6c3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKQoreworICAgIG1f
bWFuYWdlci0+U3RvcFVwZGF0aW5nKCk7CisgICAgbV9tYW5hZ2VyID0gbnVsbHB0cjsKK30KKwor
dm9pZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6Om9uTmV0d29ya3NDaGFuZ2VkKCkKK3sKKyAgICBy
dGM6OkJhc2ljTmV0d29ya01hbmFnZXI6Ok5ldHdvcmtMaXN0IG5ldHdvcmtzOworICAgIG1fbWFu
YWdlci0+R2V0TmV0d29ya3MoJm5ldHdvcmtzKTsKKworICAgIFJUQ05ldHdvcms6OklQQWRkcmVz
cyBpcHY0OworICAgIG1fbWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhBRl9JTkVULCAm
aXB2NC52YWx1ZSk7CisgICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIGlwdjY7CisgICAgbV9tYW5h
Z2VyLT5HZXREZWZhdWx0TG9jYWxBZGRyZXNzKEFGX0lORVQ2LCAmaXB2Ni52YWx1ZSk7CisKKyAg
ICBWZWN0b3I8UlRDTmV0d29yaz4gbmV0d29ya0xpc3Q7CisgICAgbmV0d29ya0xpc3QucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShuZXR3b3Jrcy5zaXplKCkpOworICAgIGZvciAoYXV0byogbmV0d29y
ayA6IG5ldHdvcmtzKSB7CisgICAgICAgIEFTU0VSVChuZXR3b3JrKTsKKyAgICAgICAgbmV0d29y
a0xpc3QudW5jaGVja2VkQXBwZW5kKHsgKm5ldHdvcmsgfSk7CisgICAgfQorCisgICAgY2FsbE9u
TWFpblRocmVhZChbdGhpcywgbmV0d29ya0xpc3QgPSBXVEZNb3ZlKG5ldHdvcmtMaXN0KSwgaXB2
NCA9IFdURk1vdmUoaXB2NCksIGlwdjYgPSBXVEZNb3ZlKGlwdjYpXSB7CisgICAgICAgIG1fY29u
bmVjdGlvbi5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViTmV0d29ya01hbmFnZXI6Ok5l
dHdvcmtzQ2hhbmdlZChuZXR3b3JrTGlzdCwgaXB2NCwgaXB2NiksIDApOworICAgIH0pOworfQor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdv
cmtNYW5hZ2VyLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a05ldHdvcmtNYW5hZ2VyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ1NjcwMGFmMzM5YTI1MzAyMmYxM2U5MjA0
MzliYzk0NmVkNjBlYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuaApAQCAtMCwwICsxLDY4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVk
ZSAiV2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXR3
b3JrLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5oPgorI2luY2x1ZGUgPHdlYnJ0
Yy9iYXNlL3RocmVhZC5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247Citj
bGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3M7CisKK2NsYXNzIE5ldHdvcmtOZXR3b3JrTWFuYWdlciBmaW5h
bCA6IHByaXZhdGUgcnRjOjpNZXNzYWdlSGFuZGxlciwgcHVibGljIHNpZ3Nsb3Q6Omhhc19zbG90
czw+IHsKK3B1YmxpYzoKKyAgICBleHBsaWNpdCBOZXR3b3JrTmV0d29ya01hbmFnZXIoTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pIDogbV9jb25uZWN0aW9uKGNvbm5l
Y3Rpb24pIHsgfQorCisgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAgICB2b2lkIGRpZFJlY2Vp
dmVOZXR3b3JrTmV0d29ya01hbmFnZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVj
b2RlciYpOworCitwcml2YXRlOgorICAgIHZvaWQgc3RhcnRVcGRhdGluZygpOworICAgIHZvaWQg
c3RvcFVwZGF0aW5nKCk7CisKKyAgICB2b2lkIE9uTWVzc2FnZShydGM6Ok1lc3NhZ2UqKTsKKwor
ICAgIHZvaWQgc3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsKKyAgICB2b2lkIHN0YXJ0
VXBkYXRpbmdGcm9tTmV0d29ya1RocmVhZCgpOworCisgICAgdm9pZCBvbk5ldHdvcmtzQ2hhbmdl
ZCgpOworCisgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIG1fY29ubmVjdGlvbjsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyPiBtX21hbmFnZXI7
Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a05ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4z
OTQ4YWRhZmIzYjIxOThlODYzOTBmMGFhYmY4YzRiZDk1ZmY2NjNlCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFu
YWdlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMwIEBACisjIENvcHlyaWdodCAoQykgMjAxNiBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBB
TkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
CisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBOZXR3
b3JrTmV0d29ya01hbmFnZXIgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgU3RhcnRVcGRhdGlu
ZygpCisgICAgdm9pZCBTdG9wVXBkYXRpbmcoKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUGFja2V0U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUGFja2V0U29ja2V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4zNmY5ODA0YWRkMGEyNDFmOWJh
MjViN2JiMmU3NTg3ZTBjZmZkNzA2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQuY3BwCkBAIC0wLDAgKzEs
MTkyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5ldHdv
cmtQYWNrZXRTb2NrZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRh
UmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIK
KyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldE1l
c3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbmNsdWRlIDx3
ZWJydGMvYmFzZS9hc3luY3BhY2tldHNvY2tldC5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNy
ZWF0ZVVEUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1Bh
Y2tldFNvY2tldD4mJiBzb2NrZXQsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25u
ZWN0aW9uKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiBwYWNr
ZXRTb2NrZXQobmV3IE5ldHdvcmtQYWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2Nr
ZXQpLCBjb25uZWN0aW9uKSk7CisKKyAgICBpZiAoIXBhY2tldFNvY2tldC0+bV9zb2NrZXQpCisg
ICAgICAgIHJldHVybjsKKworICAgIHBhY2tldFNvY2tldC0+c2lnbmFsQWRkcmVzc1JlYWR5KHBh
Y2tldFNvY2tldC0+bV9zb2NrZXQuZ2V0KCksIHBhY2tldFNvY2tldC0+bV9zb2NrZXQtPkdldExv
Y2FsQWRkcmVzcygpKTsKKyAgICBjb25uZWN0aW9uLmFkZFBhY2tldFNvY2tldChpZGVudGlmaWVy
LCBXVEZNb3ZlKHBhY2tldFNvY2tldCkpOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6
OmNyZWF0ZUNsaWVudFRDUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRj
OjpBc3luY1BhY2tldFNvY2tldD4mJiBzb2NrZXQsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzJiBjb25uZWN0aW9uKQoreworICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29j
a2V0PiBwYWNrZXRTb2NrZXQobmV3IE5ldHdvcmtQYWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RG
TW92ZShzb2NrZXQpLCBjb25uZWN0aW9uKSk7CisKKyAgICBpZiAoIXBhY2tldFNvY2tldC0+bV9z
b2NrZXQpCisgICAgICAgIHJldHVybjsKKworICAgIGNvbm5lY3Rpb24uYWRkUGFja2V0U29ja2V0
KGlkZW50aWZpZXIsIFdURk1vdmUocGFja2V0U29ja2V0KSk7Cit9CisKK3ZvaWQgTmV0d29ya1Bh
Y2tldFNvY2tldDo6Y3JlYXRlU2VydmVyVENQKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5p
cXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmIHNvY2tldCwgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MmIGNvbm5lY3Rpb24pCit7CisgICAgc3RkOjp1bmlxdWVfcHRyPE5ldHdv
cmtQYWNrZXRTb2NrZXQ+IHBhY2tldFNvY2tldChuZXcgTmV0d29ya1BhY2tldFNvY2tldChpZGVu
dGlmaWVyLCBXVEZNb3ZlKHNvY2tldCksIGNvbm5lY3Rpb24pKTsKKworICAgIGlmICghcGFja2V0
U29ja2V0LT5tX3NvY2tldCkKKyAgICAgICAgcmV0dXJuOworCisgICAgcGFja2V0U29ja2V0LT5z
aWduYWxBZGRyZXNzUmVhZHkocGFja2V0U29ja2V0LT5tX3NvY2tldC5nZXQoKSwgcGFja2V0U29j
a2V0LT5tX3NvY2tldC0+R2V0TG9jYWxBZGRyZXNzKCkpOworICAgIGNvbm5lY3Rpb24uYWRkUGFj
a2V0U29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUocGFja2V0U29ja2V0KSk7Cit9CisKK05ldHdv
cmtQYWNrZXRTb2NrZXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwg
c3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYgc29ja2V0LCBSZWY8TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+JiYgY29ubmVjdGlvbikKKyAgICA6IG1faWRlbnRp
ZmllcihpZGVudGlmaWVyKQorICAgICwgbV9zb2NrZXQoV1RGTW92ZShzb2NrZXQpKQorICAgICwg
bV9jb25uZWN0aW9uKFdURk1vdmUoY29ubmVjdGlvbikpCit7CisgICAgQVNTRVJUKG1fc29ja2V0
KTsKKworICAgIGlmICghbV9zb2NrZXQpIHsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFj
a2V0U29ja2V0OjpTaWduYWxDbG9zZSgxKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisKKyAg
ICBtX3NvY2tldC0+U2lnbmFsUmVhZFBhY2tldC5jb25uZWN0KHRoaXMsICZOZXR3b3JrUGFja2V0
U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KTsKKyAgICBtX3NvY2tldC0+U2lnbmFsU2VudFBhY2tl
dC5jb25uZWN0KHRoaXMsICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFja2V0KTsK
KyAgICBtX3NvY2tldC0+U2lnbmFsQWRkcmVzc1JlYWR5LmNvbm5lY3QodGhpcywgJk5ldHdvcmtQ
YWNrZXRTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk7CisgICAgbV9zb2NrZXQtPlNpZ25hbENv
bm5lY3QuY29ubmVjdCh0aGlzLCAmTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdCk7
CisgICAgbV9zb2NrZXQtPlNpZ25hbENsb3NlLmNvbm5lY3QodGhpcywgJk5ldHdvcmtQYWNrZXRT
b2NrZXQ6OnNpZ25hbENsb3NlKTsKK30KKworTmV0d29ya1BhY2tldFNvY2tldDo6fk5ldHdvcmtQ
YWNrZXRTb2NrZXQoKQoreworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6Ok9uTWVzc2Fn
ZShydGM6Ok1lc3NhZ2UqIG1lc3NhZ2UpCit7CisgICAgQVNTRVJUKG1lc3NhZ2UtPm1lc3NhZ2Vf
aWQgPT0gMSk7CisgICAgZGVsZXRlIHRoaXM7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tl
dDo6Y2xlYW4oKQoreworICAgIGF1dG8gcGFja2V0U29ja2V0ID0gbV9jb25uZWN0aW9uLT50YWtl
UGFja2V0U29ja2V0KG1faWRlbnRpZmllcik7CisKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xl
dG9uKCkucnRjTmV0d29ya1RocmVhZCgpLlBvc3QoUlRDX0ZST01fSEVSRSwgcGFja2V0U29ja2V0
LnJlbGVhc2UoKSwgMSk7Cit9CisKK0lQQzo6Q29ubmVjdGlvbiogTmV0d29ya1BhY2tldFNvY2tl
dDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKQoreworICAgIHJldHVybiAmbV9jb25uZWN0aW9u
LT5jb25uZWN0aW9uKCk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6c2VuZFRvKGNv
bnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNz
JiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQgcGFja2V0SUQsIGludCBydHBTZW5kdGltZUV4
dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1dGgsIGludDY0X3Qgc3J0cFBhY2tldEluZGV4LCBpbnQg
ZHNjcCkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXQpOworCisgICAgcnRjOjpTb2NrZXRBZGRyZXNz
IHNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCk7CisKKyAgICBydGM6OlBhY2tldE9w
dGlvbnMgb3B0aW9uczsKKyAgICBvcHRpb25zLnBhY2tldF9pZCA9IHBhY2tldElEOworICAgIG9w
dGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRlbnNpb25faWQgPSBydHBT
ZW5kdGltZUV4dGVuc2lvbklEOworICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBf
cGFja2V0X2luZGV4ID0gc3J0cFBhY2tldEluZGV4OworICAgIG9wdGlvbnMuZHNjcCA9IHN0YXRp
Y19jYXN0PHJ0Yzo6RGlmZlNlcnZDb2RlUG9pbnQ+KGRzY3ApOworICAgIGlmIChzcnRwQXV0aC51
dGY4KCkubGVuZ3RoKCkpIHsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0
cF9hdXRoX2tleSA9IHN0ZDo6dmVjdG9yPGNoYXI+KHNydHBBdXRoLnV0ZjgoKS5kYXRhKCksIHNy
dHBBdXRoLnV0ZjgoKS5kYXRhKCkgKyBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCkpOworICAgICAg
ICBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfdGFnX2xlbiA9IHNydHBBdXRo
LnV0ZjgoKS5sZW5ndGgoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGlt
ZV9wYXJhbXMuc3J0cF9hdXRoX3RhZ19sZW4gPSAtMTsKKworICAgIFJlZlB0cjxXZWJDb3JlOjpT
aGFyZWRCdWZmZXI+IGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEu
ZGF0YSgpLCBkYXRhLnNpemUoKSk7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0
Y05ldHdvcmtUaHJlYWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3RoaXMsIGFkZHJl
c3MsIGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgc29ja2V0QWRkcmVzcywgb3B0aW9uc10oKSB7
CisgICAgICAgIG1fc29ja2V0LT5TZW5kVG8ocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90
Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSwgc29ja2V0QWRkcmVzcywgb3B0aW9u
cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6Y2xvc2UoKQorewor
ICAgIEFTU0VSVChtX3NvY2tldCk7CisgICAgbV9zb2NrZXQtPkNsb3NlKCk7Cit9CisKK3ZvaWQg
TmV0d29ya1BhY2tldFNvY2tldDo6c2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSkKK3sK
KyAgICBBU1NFUlQobV9zb2NrZXQpOworICAgIG1fc29ja2V0LT5TZXRPcHRpb24oc3RhdGljX2Nh
c3Q8cnRjOjpTb2NrZXQ6Ok9wdGlvbj4ob3B0aW9uKSwgdmFsdWUpOworfQorCit2b2lkIE5ldHdv
cmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCos
IGNvbnN0IGNoYXIqIHZhbHVlLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYgcGFja2V0VGltZSkKK3sKKyAgICBh
dXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgp
OworCisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgYnVmZmVyID0gV1RGTW92ZShidWZmZXIp
LCBhZGRyZXNzLCBwYWNrZXRUaW1lXSgpIHsKKyAgICAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRh
dGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZm
ZXItPnNpemUoKSk7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhY2tldFNvY2tldDo6U2ln
bmFsUmVhZFBhY2tldChkYXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRkcmVzcy5pcGFkZHIo
KSksIGFkZHJlc3MucG9ydCgpLCBwYWNrZXRUaW1lLnRpbWVzdGFtcCkpOworICAgIH0pOworfQor
Cit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1Bh
Y2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U2VudFBhY2tldCYgc2VudFBhY2tldCkKK3sKKyAgICBj
YWxsT25NYWluVGhyZWFkKFt0aGlzLCBzZW50UGFja2V0XSgpIHsKKyAgICAgICAgc2VuZChNZXNz
YWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxTZW50UGFja2V0KHNlbnRQYWNrZXQucGFja2V0
X2lkLCBzZW50UGFja2V0LnNlbmRfdGltZV9tcykpOworICAgIH0pOworfQorCit2b2lkIE5ldHdv
cmtQYWNrZXRTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeShydGM6OkFzeW5jUGFja2V0U29ja2V0
KiwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzKQoreworICAgIC8vIEZJWE1FOiBD
aGVjayB0aGUgYWRkcmVzcz8KKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBhZGRyZXNzXSgp
IHsKKyAgICAgICAgYXV0byBhZGRyZXNzU3RyaW5nID0gYWRkcmVzcy5Ub1N0cmluZygpOworICAg
ICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWNrZXRTb2NrZXQ6OlNpZ25hbEFkZHJlc3NSZWFkeShT
dHJpbmcoYWRkcmVzc1N0cmluZy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVuZ3RoKCkpKSk7Cisg
ICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdChydGM6
OkFzeW5jUGFja2V0U29ja2V0KikKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzXSgpIHsK
KyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxDb25uZWN0KCkp
OworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKHJ0
Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBpbnQgZXJyb3IpCit7CisgICAgY2FsbE9uTWFpblRocmVh
ZChbdGhpcywgZXJyb3JdKCkgeworICAgICAgICBzZW5kKE1lc3NhZ2VzOjpXZWJQYWNrZXRTb2Nr
ZXQ6OlNpZ25hbENsb3NlKGVycm9yKSk7CisgICAgICAgIGNsZWFuKCk7CisgICAgfSk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0
U29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1Bh
Y2tldFNvY2tldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1OWM5OWI4NDRmMTE3YzY0MmI1N2U1ZDc4YTY4NGJi
OTRhMGFkMTgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5oCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJNZXNz
YWdlU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaW5jbHVkZSAiV2ViQ29y
ZS9MaWJXZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlICJ3ZWJydGMvYmFzZS9zaWdzbG90LmgiCisK
K25hbWVzcGFjZSBydGMgeworY2xhc3MgQXN5bmNQYWNrZXRTb2NrZXQ7CitjbGFzcyBTb2NrZXRB
ZGRyZXNzOworCitzdHJ1Y3QgUGFja2V0VGltZTsKK3N0cnVjdCBTZW50UGFja2V0OworfQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7
CisKK2NsYXNzIE5ldHdvcmtQYWNrZXRTb2NrZXQgZmluYWwgOiBwdWJsaWMgSVBDOjpNZXNzYWdl
U2VuZGVyLCBwdWJsaWMgcnRjOjpNZXNzYWdlSGFuZGxlciwgcHVibGljIHNpZ3Nsb3Q6Omhhc19z
bG90czw+IHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVVRFAodWludDY0X3QgaWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYsIE5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgc3RhdGljIHZvaWQgY3JlYXRlQ2xpZW50
VENQKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0
U29ja2V0PiYmLCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOworICAgIHN0YXRpYyB2
b2lkIGNyZWF0ZVNlcnZlclRDUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8
cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
KTsKKyAgICB2aXJ0dWFsIH5OZXR3b3JrUGFja2V0U29ja2V0KCk7CisKKyAgICAvLyBNZXNzYWdl
IGhhbmRsZXJzLgorICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworCitwcml2YXRlOgorICAgIE5ldHdv
cmtQYWNrZXRTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQ+JiYsIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4m
Jik7CisKKyAgICBib29sIGlzQ2xvc2VkKCkgY29uc3QgeyByZXR1cm4gIW1fc29ja2V0OyB9Cisg
ICAgdm9pZCBjbGVhbigpOworCisgICAgLy8gSVBDOjpNZXNzYWdlU2VuZGVyCisgICAgSVBDOjpD
b25uZWN0aW9uKiBtZXNzYWdlU2VuZGVyQ29ubmVjdGlvbigpIGZpbmFsOworICAgIHVpbnQ2NF90
IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgZmluYWwgeyByZXR1cm4gbV9pZGVudGlmaWVy
OyB9CisKKyAgICB2b2lkIHNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBS
VENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50MTZfdCBwb3J0LCBpbnQgcGFja2V0SUQsIGludCBy
dHBTZW5kdGltZUV4dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1dGgsIGludDY0X3Qgc3J0cFBhY2tl
dEluZGV4LCBpbnQgZHNjcCk7CisgICAgdm9pZCBjbG9zZSgpOworICAgIHZvaWQgc2V0T3B0aW9u
KGludCBvcHRpb24sIGludCB2YWx1ZSk7CisKKyAgICB2b2lkIHNpZ25hbFJlYWRQYWNrZXQocnRj
OjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IGNoYXIqLCBzaXplX3QsIGNvbnN0IHJ0Yzo6U29j
a2V0QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYpOworICAgIHZvaWQgc2lnbmFsU2Vu
dFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpTZW50UGFja2V0Jik7
CisgICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVjdChydGM6OkFz
eW5jUGFja2V0U29ja2V0Kik7CisgICAgdm9pZCBzaWduYWxDbG9zZShydGM6OkFzeW5jUGFja2V0
U29ja2V0KiwgaW50KTsKKworICAgIHZvaWQgT25NZXNzYWdlKHJ0Yzo6TWVzc2FnZSogbXNnKSBm
aW5hbDsKKworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
cnRjOjpBc3luY1BhY2tldFNvY2tldD4gbV9zb2NrZXQ7CisgICAgUmVmPE5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzPiBtX2Nvbm5lY3Rpb247Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0
Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY5Y2MyMjAxMTZkOTQ0NTcxNWQ5ZWE0ZDU4Y2MxNjU1
ODczM2RhMTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMxIEBA
CisjIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VC
UlRDKQorCittZXNzYWdlcyAtPiBOZXR3b3JrUGFja2V0U29ja2V0IExlZ2FjeVJlY2VpdmVyIHsK
KyAgICB2b2lkIFNlbmRUbyhJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3
b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tldElELCBpbnQg
cnRwU2VuZHRpbWVFeHRlbnNpb25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90IHNydHBQYWNr
ZXRJbmRleCwgaW50IGRzY3ApCisgICAgdm9pZCBDbG9zZSgpCisgICAgdm9pZCBTZXRPcHRpb24o
aW50IG9wdGlvbiwgaW50IHZhbHVlKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMTNlYmM5YzA3YmRhMDZk
OWNiNThjYzlhN2QxMGQ4YjM2ZjUwMmRkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvU2hhcmVkL1JUQ05ldHdvcmsuY3BwCkBAIC0wLDAgKzEsMTYwIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE2IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKworI2lmIFVTRShM
SUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiV2ViQ29y
ZUFyZ3VtZW50Q29kZXJzLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitSVENOZXR3b3JrOjpS
VENOZXR3b3JrKGNvbnN0IHJ0Yzo6TmV0d29yayYgbmV0d29yaykKKyAgICA6IG5hbWUobmV0d29y
ay5uYW1lKCkpCisgICAgLCBkZXNjcmlwdGlvbihuZXR3b3JrLmRlc2NyaXB0aW9uKCkpCisgICAg
LCBwcmVmaXggeyBuZXR3b3JrLnByZWZpeCgpIH0KKyAgICAsIHByZWZpeExlbmd0aChuZXR3b3Jr
LnByZWZpeF9sZW5ndGgoKSkKKyAgICAsIHR5cGUobmV0d29yay50eXBlKCkpCisgICAgLCBpZChu
ZXR3b3JrLmlkKCkpCisgICAgLCBwcmVmZXJlbmNlKG5ldHdvcmsucHJlZmVyZW5jZSgpKQorICAg
ICwgYWN0aXZlKG5ldHdvcmsuYWN0aXZlKCkpCisgICAgLCBpZ25vcmVkKG5ldHdvcmsuaWdub3Jl
ZCgpKQorICAgICwgc2NvcGVJRChuZXR3b3JrLnNjb3BlX2lkKCkpCisgICAgLCBpcHMobmV0d29y
ay5HZXRJUHMoKSkKK3sKK30KKworcnRjOjpOZXR3b3JrIFJUQ05ldHdvcms6OnZhbHVlKCkgY29u
c3QKK3sKKyAgICBydGM6Ok5ldHdvcmsgbmV0d29yayhuYW1lLmRhdGEoKSwgZGVzY3JpcHRpb24u
ZGF0YSgpLCBwcmVmaXgudmFsdWUsIHByZWZpeExlbmd0aCwgcnRjOjpBZGFwdGVyVHlwZSh0eXBl
KSk7CisgICAgbmV0d29yay5zZXRfaWQoaWQpOworICAgIG5ldHdvcmsuc2V0X3ByZWZlcmVuY2Uo
cHJlZmVyZW5jZSk7CisgICAgbmV0d29yay5zZXRfYWN0aXZlKGFjdGl2ZSk7CisgICAgbmV0d29y
ay5zZXRfaWdub3JlZChpZ25vcmVkKTsKKyAgICBuZXR3b3JrLnNldF9zY29wZV9pZChzY29wZUlE
KTsKKyAgICBuZXR3b3JrLlNldElQcyhpcHMsIHRydWUpOworICAgIHJldHVybiBuZXR3b3JrOwor
fQorCitib29sIFJUQ05ldHdvcms6OklQQWRkcmVzczo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVj
b2RlciwgSVBBZGRyZXNzJiByZXN1bHQpCit7CisgICAgaW50IGZhbWlseTsKKyAgICBpZiAoIWRl
Y29kZXIuZGVjb2RlKGZhbWlseSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBJUEM6OkRh
dGFSZWZlcmVuY2UgZGF0YTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGRhdGEpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgaWYgKGZhbWlseSA9PSBBRl9JTkVUKSB7CisgICAgICAgIGlm
IChkYXRhLnNpemUoKSAhPSBzaXplb2YoaW5fYWRkcikpCisgICAgICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgICAgIHJlc3VsdC52YWx1ZSA9IHJ0Yzo6SVBBZGRyZXNzKCpyZWludGVycHJldF9j
YXN0PGNvbnN0IGluX2FkZHIqPihkYXRhLmRhdGEoKSkpOworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9CisgICAgaWYgKGRhdGEuc2l6ZSgpICE9IHNpemVvZihpbjZfYWRkcikpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQudmFsdWUgPSBydGM6OklQQWRkcmVzcygqcmVpbnRl
cnByZXRfY2FzdDxjb25zdCBpbjZfYWRkcio+KGRhdGEuZGF0YSgpKSk7CisgICAgcmV0dXJuIHRy
dWU7Cit9CisKK3ZvaWQgUlRDTmV0d29yazo6SVBBZGRyZXNzOjplbmNvZGUoSVBDOjpFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgdmFsdWUuZmFtaWx5KCk7CisgICAg
aWYgKHZhbHVlLmZhbWlseSgpID09IEFGX0lORVQpIHsKKyAgICAgICAgYXV0byBhZGRyZXNzID0g
dmFsdWUuaXB2NF9hZGRyZXNzKCk7CisgICAgICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJl
bmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZhZGRyZXNzKSwgc2l6ZW9mKGFk
ZHJlc3MpKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBhdXRvIGFkZHJlc3MgPSB2YWx1
ZS5pcHY2X2FkZHJlc3MoKTsKKyAgICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShyZWlu
dGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPigmYWRkcmVzcyksIHNpemVvZihhZGRyZXNzKSk7
Cit9CisKK2Jvb2wgUlRDTmV0d29yazo6ZGVjb2RlKElQQzo6RGVjb2RlciYgZGVjb2RlciwgUlRD
TmV0d29yayYgcmVzdWx0KQoreworICAgIElQQzo6RGF0YVJlZmVyZW5jZSBuYW1lLCBkZXNjcmlw
dGlvbjsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKG5hbWUpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmVzdWx0Lm5hbWUgPSBzdGQ6OnN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0
IGNoYXIqPihuYW1lLmRhdGEoKSksIG5hbWUuc2l6ZSgpKTsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKGRlc2NyaXB0aW9uKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5kZXNj
cmlwdGlvbiA9IHN0ZDo6c3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KGRlc2Ny
aXB0aW9uLmRhdGEoKSksIGRlc2NyaXB0aW9uLnNpemUoKSk7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShyZXN1bHQucHJlZml4KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnByZWZpeExlbmd0aCkpCisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC50eXBlKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LmlkKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnByZWZlcmVuY2UpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuYWN0aXZl
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0
Lmlnbm9yZWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShyZXN1bHQuc2NvcGVJRCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHVpbnQ2NF90
IGxlbmd0aDsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGxlbmd0aCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICByZXN1bHQuaXBzLnJlc2VydmUobGVuZ3RoKTsKKyAgICBmb3IgKHNpemVf
dCBpbmRleCA9IDA7IGluZGV4IDwgbGVuZ3RoOyArK2luZGV4KSB7CisgICAgICAgIElQQWRkcmVz
cyBhZGRyZXNzOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGFkZHJlc3MpKQorICAgICAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBpbnQgZmxhZ3M7CisgICAgICAgIGlmICghZGVj
b2Rlci5kZWNvZGUoZmxhZ3MpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICBy
ZXN1bHQuaXBzLnB1c2hfYmFjayh7IGFkZHJlc3MudmFsdWUsIGZsYWdzIH0pOworICAgIH0KKyAg
ICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBSVENOZXR3b3JrOjplbmNvZGUoSVBDOjpFbmNvZGVy
JiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNlKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KG5hbWUuZGF0YSgpKSwgbmFtZS5sZW5ndGgo
KSk7CisgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxj
b25zdCB1aW50OF90Kj4oZGVzY3JpcHRpb24uZGF0YSgpKSwgZGVzY3JpcHRpb24ubGVuZ3RoKCkp
OworICAgIGVuY29kZXIgPDwgcHJlZml4OworICAgIGVuY29kZXIgPDwgcHJlZml4TGVuZ3RoOwor
ICAgIGVuY29kZXIgPDwgdHlwZTsKKworICAgIGVuY29kZXIgPDwgaWQ7CisgICAgZW5jb2RlciA8
PCBwcmVmZXJlbmNlOworICAgIGVuY29kZXIgPDwgYWN0aXZlOworICAgIGVuY29kZXIgPDwgaWdu
b3JlZDsKKyAgICBlbmNvZGVyIDw8IHNjb3BlSUQ7CisKKyAgICBlbmNvZGVyIDw8ICh1aW50NjRf
dClpcHMuc2l6ZSgpOworICAgIGZvciAoYXV0byYgaXAgOiBpcHMpIHsKKyAgICAgICAgZW5jb2Rl
ciA8PCBJUEFkZHJlc3MgeyBpcCB9OworICAgICAgICBlbmNvZGVyIDw8IGlwLmlwdjZfZmxhZ3Mo
KTsKKyAgICB9Cit9CisKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5oIGIvU291cmNlL1dlYktpdDIvU2hh
cmVkL1JUQ05ldHdvcmsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iZmIyOTZmY2I0MjgzOWI4NTQxM2U2YzNmZTFi
YjdjZDk2MzI2OTVlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1JU
Q05ldHdvcmsuaApAQCAtMCwwICsxLDc3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3Mu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXR3b3JrLmg+CisjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBSVENOZXR3b3JrIHsKKyAgICBSVENO
ZXR3b3JrKCkgPSBkZWZhdWx0OworICAgIFJUQ05ldHdvcmsoY29uc3QgcnRjOjpOZXR3b3JrJik7
CisKKyAgICBydGM6Ok5ldHdvcmsgdmFsdWUoKSBjb25zdDsKKworICAgIHZvaWQgZW5jb2RlKElQ
Qzo6RW5jb2RlciYpIGNvbnN0OworICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkRlY29kZXIm
LCBSVENOZXR3b3JrJik7CisKKyAgICBzdHJ1Y3QgSVBBZGRyZXNzIHsKKyAgICAgICAgSVBBZGRy
ZXNzKCkgPSBkZWZhdWx0OworICAgICAgICBleHBsaWNpdCBJUEFkZHJlc3MoY29uc3QgcnRjOjpJ
UEFkZHJlc3MmIGFkZHJlc3MpOiB2YWx1ZShhZGRyZXNzKSB7IH0KKworICAgICAgICB2b2lkIGVu
Y29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKKyAgICAgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQ
Qzo6RGVjb2RlciYsIElQQWRkcmVzcyYpOworCisgICAgICAgIHJ0Yzo6SVBBZGRyZXNzIHZhbHVl
OworICAgIH07CisKKyAgICBzdGQ6OnN0cmluZyBuYW1lOworICAgIHN0ZDo6c3RyaW5nIGRlc2Ny
aXB0aW9uOworICAgIElQQWRkcmVzcyBwcmVmaXg7CisgICAgaW50IHByZWZpeExlbmd0aDsKKyAg
ICBpbnQgdHlwZTsKKyAgICB1aW50MTZfdCBpZDsKKyAgICBpbnQgcHJlZmVyZW5jZTsKKyAgICBi
b29sIGFjdGl2ZTsKKyAgICBib29sIGlnbm9yZWQ7CisgICAgaW50IHNjb3BlSUQ7CisgICAgc3Rk
OjpzdHJpbmcga2V5OworICAgIHNpemVfdCBsZW5ndGg7CisgICAgc3RkOjp2ZWN0b3I8cnRjOjpJ
bnRlcmZhY2VBZGRyZXNzPiBpcHM7Cit9OworCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9q
CmluZGV4IDRkMzIwMDgxZmVmZGFjMzAxYTIyMWI1NDc5MzdmOWUyYzE0OGJjYTYuLjZmYWY1OTI1
MjM3NmI5OTI2MWVhYjMyMmI4NTMyZTJmYjg1NmNlZGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg3MSw2ICs4NzEsMjIgQEAK
IAkJM0Y4N0I5QkQxNTg5NDAxMjAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCQTE1ODkzRjYz
MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmNwcCAqLzsgfTsKIAkJM0Y4N0I5QkUxNTg5NDAx
OTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gM0Y4N0I5QkIxNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9y
Q2hvb3Nlci5oICovOyB9OwogCQkzRjg3QjlDMDE1ODk0MEQ4MDA5MEZGNjIgLyogV2ViQ29sb3JQ
aWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNG
ODdCOUJGMTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xvclBpY2tlci5oICovOyB9OworCQk0MTA0
ODJDRDFEREQzMjRDMDBGMDA2RDAgLyogUlRDTmV0d29yay5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyog
UlRDTmV0d29yay5jcHAgKi87IH07CisJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZEMCAvKiBSVENO
ZXR3b3JrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovOyB9OworCQk0MTFCMjI2
NDFFMzcxQkE2MDA0RjczNjMgLyogTGliV2ViUlRDLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2Vi
UlRDLmggKi87IH07CisJCTQxMUIyMjY1MUUzNzFCQTkwMDRGNzM2MyAvKiBMaWJXZWJSVEMuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExQjIyNjMx
RTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5jcHAgKi87IH07CisJCTQxMzA3NUE5MURFODVG
MkMwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBO
ZXR3b3JrUGFja2V0U29ja2V0LmNwcCAqLzsgfTsKKwkJNDEzMDc1QUExREU4NUYzMDAwMzlFQzY5
IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05l
dHdvcmtNYW5hZ2VyLmNwcCAqLzsgfTsKKwkJNDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5l
dHdvcmtQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzA3NTk5MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0
LmggKi87IH07CisJCTQxMzA3NUFDMURFODVGMzcwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01h
bmFnZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MzA3NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuaCAqLzsgfTsK
KwkJNDEzMDc1QUQxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTAxREU4NUVFNzAw
MzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5oICovOyB9OworCQk0MTMwNzVBRTFERTg1RjU4MDAz
OUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUExMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRT
b2NrZXQuY3BwICovOyB9OworCQk0MTMwNzVBRjFERTg1RjU4MDAzOUVDNjkgLyogV2ViTmV0d29y
a01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDEzMDc1QTIxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCAqLzsg
fTsKKwkJNDEzMDc1QjAxREU4NUY1ODAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMzFERTg1
RUU3MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIuaCAqLzsgfTsKKwkJNDEzMDc1QjExREU4
NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTUxREU4NUVFNzAwMzlFQzY5
IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwICovOyB9OworCQk0MTMwNzVCMjFERTg1RjU4
MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIFdl
YlBhY2tldFNvY2tldEZhY3RvcnkuaCAqLzsgfTsKKwkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5
IC8qIExpYldlYlJUQ0NsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDQ2xpZW50
LmNwcCAqLzsgfTsKKwkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ0NsaWVu
dC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1
QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ0NsaWVudC5oICovOyB9OwogCQk0NDUwQUVD
MDFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwIGluIFNvdXJjZXMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEFFQkYxREMzRkFFNTAwOTk0M0Yy
IC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCAqLzsgfTsKIAkJNEEzQ0MxOEExOUIwNjNFNzAwRDE0
QUVGIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjM5MTlBRjdCMDQw
MDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgKi87
IH07CiAJCTRBM0NDMThCMTlCMDY0MEYwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVx
dWVzdE1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEE0MTBGM0ExOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5LmggKi87IH07CkBAIC0xMDQxLDYgKzEwNTcsMTEgQEAKIAkJNTFF
RkMxQ0YxNTI0RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUZBMkQ1NDE1MjEx
MTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUYwNjBFMDE2NTQzMTdGMDBG
MzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMy
ODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgx
QiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2
MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQx
NjU0MzE3NTAwRjMyODFDIC8qIFdlYlBhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87
IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5l
dHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyog
TmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYw
RTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MERE
MTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyQyAvKiBMaWJXZWJSVENNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFGMDYwREQxNjU0MzE3NTAwRjMyODJDIC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CiAJCTUxRjdEQzQxMTgwQ0M5MzYwMDIxMkNBMyAvKiBYUENTZXJ2aWNlTWFpbi5tbSBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4Mzk2MTZC
NDdFQzQwMEEyNzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5tbSAqLzsgfTsKIAkJNTFGN0RDNDMxODBD
QzkzNjAwMjEyQ0EzIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8q
IEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk1MUY3REM0NDE4MENDOTM2MDAyMTJDQTMg
LyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQuZnJhbWV3b3Jr
ICovOyB9OwpAQCAtMjk3OSw2ICszMDAwLDI3IEBACiAJCTNGODdCOUJBMTU4OTNGNjMwMDkwRkY2
MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gV2ViQ29sb3JDaG9vc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
M0Y4N0I5QkIxNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvckNob29zZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yUGlja2Vy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBS
VENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05l
dHdvcmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTA0ODJDQzFEREQyRkI1
MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMUIyMjYyMUUz
NzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gTGliV2ViUlRDLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExQjIyNjMxRTM3MTI0NDAwNEY3MzYzIC8qIExp
YldlYlJUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJS
VEMuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtQYWNr
ZXRTb2NrZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29y
a1BhY2tldFNvY2tldC5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1Bh
Y2tldFNvY2tldC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTk5MURF
ODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQYWNrZXRTb2NrZXQuaDsgcGF0aCA9IE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxMzA3NTlBMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya05ldHdvcmtN
YW5hZ2VyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01h
bmFnZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5QjFERTg0RkIw
MDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IE5ldHdvcmtOZXR3b3JrTWFuYWdlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTMwNzU5QzFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2Vy
Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtOZXR3b3JrTWFuYWdl
ci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29y
a01hbmFnZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3
NTlEMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW47IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5p
bjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUYxREU4NUVFNzAwMzlFQzY5
IC8qIFdlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBX
ZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJQYWNr
ZXRTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3
NUEwMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gV2ViUGFja2V0U29ja2V0Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0
Yy9XZWJQYWNrZXRTb2NrZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1
QTExREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJQYWNrZXRTb2NrZXQuY3BwOyBwYXRoID0gTmV0d29y
ay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDEzMDc1QTIxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJOZXR3
b3JrTWFuYWdlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRp
ZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBMzFERTg1RUU3MDAzOUVDNjkgLyog
V2ViTmV0d29ya01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2Vi
TmV0d29ya01hbmFnZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2Vy
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE0MURFODVFRTcwMDM5RUM2
OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUg
PSBXZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dl
Yk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTMwNzVBNTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gV2Vi
UGFja2V0U29ja2V0RmFjdG9yeS5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRT
b2NrZXRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNp
ZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3NUE2MURFODVF
RTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaDsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ0NsaWVudC5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2Vi
UlRDQ2xpZW50LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ0NsaWVudC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmll
ciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGli
V2ViUlRDQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7
IG5hbWUgPSBMaWJXZWJSVENDbGllbnQuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q0NsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJNDFBQzg2ODExRTA0MkU1MzAw
MzAzMDc0IC8qIExpYldlYlJUQy5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRp
bmcgPSAwOyBuYW1lID0gTGliV2ViUlRDLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1
YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsKIAkJNDQ1MEFFQkYxREMz
RkFFNTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IFNoYXJlZE1lbW9yeUNvY29hLmNwcDsgcGF0aCA9IGNvY29hL1No
YXJlZE1lbW9yeUNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0MTBG
MzUxOUFGN0FDMzAwMkVCQUI1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyTWVkaWFQZXJtaXNzaW9u
UmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM2MTlBRjdB
QzMwMDJFQkFCNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMwMDYsNyArMzA0OCw3IEBACiAJCTUxMDUyMzc2
MUM3M0Q5RjYwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQubWVzc2FnZXMuaW4g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50Lm1lc3NhZ2Vz
LmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTA1MjM3NzFDNzNEQTcwMDA3OTkz
Q0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1l
c3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxMDUyMzc4
MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRN
ZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk1MTA1QjBENDE2MkY3QTdB
MDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHBhdGgg
PSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTUxMDVCMEQ0MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0g
MDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHBhdGggPSBOZXR3b3JrL05l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFu
Z3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OwogCQk1MTA1
QjBENTE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oOyBw
YXRoID0gTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTEwNUIwRjMxNjMwODcyRTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNz
UHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmV0d29ya1Byb2Nlc3NQcm94eS5tZXNzYWdlcy5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNkQ3QkYxOEJEQkU3MzAwMEFCMTY2IC8q
IENvbnRleHRNZW51Q29udGV4dERhdGEuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gQ29udGV4dE1lbnVDb250ZXh0RGF0YS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0zMDYzLDcgKzMxMDUsNyBAQAogCQk1MTJGNThGNDEyQTg4QTU0MDA2Mjk1MzAg
LyogV0tQcm90ZWN0aW9uU3BhY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0g
V0tQcm90ZWN0aW9uU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEzQTE2
M0ExNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3NQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUx
M0ExNjNCMTYzMDg4RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3NQcm94eU1lc3Nh
Z2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTUxM0ExNjQ5MTYzMEE5QkYwMDVE
N0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA7
IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxM0ExNjQ5MTYzMEE5QkYwMDVEN0QyMiAv
KiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKIAkJNTEzQTE2NEExNjMwQTlCRjAwNUQ3
RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmg7IHBhdGggPSBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MTNBMTY0QjE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0g
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEzRTQ2MkIxQUQ4Mzc1NjAwMTYyMzRBIC8qIFdLU2hh
cmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKQEAgLTMxNzYsNiArMzIxOCwxMSBAQAogCQk1MUUzOTkwNTFENkY1NEM1MDA5Qzg4
MzEgLyogVUlHYW1lcGFkUHJvdmlkZXJDb2NvYS5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVyQ29jb2EubW07IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVDOUVCOSAvKiBVSUdhbWVwYWRQcm92
aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJR2Ft
ZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUYwNjBE
RDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMg
LyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9
IFdlYlBhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtQYWNrZXRTb2Nr
ZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYw
NjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMx
NzUwMEYzMjgxRiAvKiBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IHBhdGggPSBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBMaWJX
ZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTGliV2ViUlRDTWVz
c2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREUx
NjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQk1MUY3REM0QTE4MENDOTM2MDAyMTJDQTMgLyogY29tLmFwcGxlLldlYktpdC5EYXRh
YmFzZXMueHBjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUg
PSAid3JhcHBlci54cGMtc2VydmljZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGNvbS5h
cHBsZS5XZWJLaXQuRGF0YWJhc2VzLnhwYzsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJ
UjsgfTsKIAkJNTFGQTJENTQxNTIxMTE4NjAwQzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0
ZW5zaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlRE9NV2lu
ZG93RXh0ZW5zaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00Njg4LDYgKzQ3
MzUsOCBAQAogCQkJCUJDQzQzQUI5MTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVu
dURhdGEuaCAqLywKIAkJCQlFMThDOTJGMzEyREI5RTcxMDBDRjJBRUIgLyogUHJpbnRJbmZvLmNw
cCAqLywKIAkJCQlFMUNDMUI4RTEyRDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvLmggKi8sCisJ
CQkJNDEwNDgyQ0IxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwICovLAorCQkJCTQx
MDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggKi8sCiAJCQkJRjZBMEMxM0Yx
MzI4MUU2RTAwNzA0MzBGIC8qIFJlc291cmNlQ2FjaGVzVG9DbGVhci5oICovLAogCQkJCUJDMkQw
MjE2MTJBQzQxQ0IwMEU3MzJBMyAvKiBTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZS5oICovLAog
CQkJCTFBQUI0QThDMTI5NkYwQTIwMDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uLmggKi8sCkBA
IC01NTMxLDYgKzU1ODAsMzkgQEAKIAkJCXBhdGggPSBSZXNvdXJjZXMvbWFjOwogCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDEzMDc1OTcxREU4NEVENzAwMzlFQzY5IC8qIHdl
YnJ0YyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDEz
MDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQuY3BwICovLAorCQkJ
CTQxMzA3NTk5MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmggKi8sCisJ
CQkJNDEzMDc1OUExREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHAg
Ki8sCisJCQkJNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdl
ci5oICovLAorCQkJCTQxMzA3NTlDMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01h
bmFnZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJNDEzMDc1OUQxREU4NEZCMDAwMzlFQzY5IC8qIE5l
dHdvcmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4gKi8sCisJCQkpOworCQkJbmFtZSA9IHdlYnJ0
YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTQxMzA3NTlFMURFODVFNjUw
MDM5RUM2OSAvKiB3ZWJydGMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVu
ID0gKAorCQkJCTQxMzA3NTlGMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQubWVz
c2FnZXMuaW4gKi8sCisJCQkJNDEzMDc1QTAxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNv
Y2tldC5oICovLAorCQkJCTQxMzA3NUExMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2Nr
ZXQuY3BwICovLAorCQkJCTQxMzA3NUEyMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFu
YWdlci5jcHAgKi8sCisJCQkJNDEzMDc1QTMxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtN
YW5hZ2VyLmggKi8sCisJCQkJNDEzMDc1QTQxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtN
YW5hZ2VyLm1lc3NhZ2VzLmluICovLAorCQkJCTQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAvKiBX
ZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcCAqLywKKwkJCQk0MTMwNzVBNjFERTg1RUU3MDAzOUVD
NjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oICovLAorCQkJCTQxMzA3NUE3MURFODVFRTcw
MDM5RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuY3BwICovLAorCQkJCTQxMzA3NUE4MURFODVFRTcw
MDM5RUM2OSAvKiBMaWJXZWJSVENDbGllbnQuaCAqLywKKwkJCQk0MUFDODY4MTFFMDQyRTUzMDAz
MDMwNzQgLyogTGliV2ViUlRDLm1lc3NhZ2VzLmluICovLAorCQkJCTQxMUIyMjYyMUUzNzEyNDQw
MDRGNzM2MyAvKiBMaWJXZWJSVEMuaCAqLywKKwkJCQk0MTFCMjI2MzFFMzcxMjQ0MDA0RjczNjMg
LyogTGliV2ViUlRDLmNwcCAqLywKKwkJCSk7CisJCQluYW1lID0gd2VicnRjOworCQkJc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsKKwkJfTsKIAkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNv
Y29hICovID0gewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTU1NTMs
NiArNTYzNSw3IEBACiAJCTUxMDVCMEQyMTYyRjdBNUUwMEUyNzcwOSAvKiBOZXR3b3JrICovID0g
ewogCQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTMwNzU5RTFERTg1
RTY1MDAzOUVDNjkgLyogd2VicnRjICovLAogCQkJCTUxMDVCMEQ0MTYyRjdBN0EwMEUyNzcwOSAv
KiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovLAogCQkJCTUxMDVCMEQ1MTYyRjdBN0Ew
MEUyNzcwOSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLywKIAkJCQk1MUZCMDkwMjE2
M0EzQjFDMDBFQzMyNEEgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluICov
LApAQCAtNTU3OSw2ICs1NjYyLDcgQEAKIAkJCQlFMTc5OEM3NjE2RTY4MTU1MDAyNDAxMzkgLyog
RmlsZUFQSSAqLywKIAkJCQkyREE5NDRCQjE4ODUxMUREMDBFRDg2REIgLyogaW9zICovLAogCQkJ
CTUxMENDN0RDMTYxMzhFMjkwMEQwM0VEMyAvKiBtYWMgKi8sCisJCQkJNDEzMDc1OTcxREU4NEVE
NzAwMzlFQzY5IC8qIHdlYnJ0YyAqLywKIAkJCQk1MTNBMTY0OTE2MzBBOUJGMDA1RDdEMjIgLyog
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwICovLAogCQkJCTUxM0ExNjRBMTYzMEE5
QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oICovLAogCQkJCTUx
M0ExNjRCMTYzMEE5QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5t
ZXNzYWdlcy5pbiAqLywKQEAgLTc0NDEsNiArNzUyNSwxMSBAQAogCQkJCUJDRUU3QUNDMTI4MTc5
ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJ
CUJDRUU3QUNEMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oICov
LAogCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlBh
Y2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAw
RjMyODJDIC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQx
NjU0MzE3NTAwRjMyODFEIC8qIE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3Bw
ICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrTmV0d29ya01hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAv
KiBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTFGMDYwREUx
NjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLywKIAkJCQk3
QTc5MUVGOTFDN0NGQjM3MDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3Jl
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk3QTc5MUVGODFDN0NGQjEwMDBDNEM1MkIgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlTWVzc2FnZXMuaCAqLywKQEAgLTc4ODAsNiAr
Nzk2OSw3IEBACiAJCQkJMUExRUM2OUUxODcyMDkyMTAwQjk1MUYwIC8qIEltcG9ydGFuY2VBc3Nl
cnRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUUzMTFDODNFOTgwMDhGMzM3NSAvKiBJ
bmplY3RlZEJ1bmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVCQTIxMjc3NjFEMDAwMzMy
MkI4IC8qIEluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVCQTQxMjc3NjFENjAwMzMyMkI4IC8qIEluamVjdGVkQnVu
ZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTdEQzUxMjhC
NjQ1RDAwOTgyN0RBIC8qIEluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3Q0JCODExRDFBQTBGOEIxMDA2QjE5NDIgLyogSW5qZWN0ZWRCdW5kbGVGaWxlSGFuZGxlLmgg
aW4gSGVhZGVycyAqLywKQEAgLTgwNzAsNiArODE2MCw3IEBACiAJCQkJRTE4RTY5MEMxNjlCNTYz
RjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUUxOEU2
OTE4MTY5QjY2N0IwMDlCNjY3MCAvKiBTZWNJdGVtU2hpbVByb3h5TWVzc2FnZXMuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTUxNEQ5RjU3MTkxMTlEMzUwMDAwNjNBNyAvKiBTZXJ2aWNlc0NvbnRyb2xs
ZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUFCMURFODVGMzMwMDM5RUM2OSAvKiBOZXR3
b3JrUGFja2V0U29ja2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUZERTY1QTE5NTRBNDJCMDBD
NDhGRkEgLyogU2Vzc2lvblN0YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTAwMkQ0OTE5NkIz
NDVEMDBCOUFENDQgLyogU2Vzc2lvblN0YXRlQ29kaW5nLmggaW4gSGVhZGVycyAqLywKIAkJCQk3
NTNFM0UwRTE4ODczOTg5MDAxODg0OTYgLyogU2Vzc2lvblRyYWNrZXIuaCBpbiBIZWFkZXJzICov
LApAQCAtODE1OSw2ICs4MjUwLDcgQEAKIAkJCQkxQUE4M0Y2RDFBNUI2M0ZGMDAwMjZFQzYgLyog
V2ViRGF0YWJhc2VQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUEyNkUxQTEzRTgz
NDAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTVCMUM1NTE4OTg3RURGMDA0RkNGOUIgLyogV2ViRG9jdW1lbnRMb2FkZXIuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENDbGll
bnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDdCMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJE
cmFnQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwRUY5RjEyMzMyNjQyMDA3RDNDRkIg
LyogV2ViRWRpdENvbW1hbmRQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEN0QxMEY0
Mzc4RDAwNThDMTVBIC8qIFdlYkVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTgz
LDYgKzgyNzUsNyBAQAogCQkJCUJDNTRDQUNCMTJENjQyOTEwMDVDNjdCMCAvKiBXZWJHZW9sb2Nh
dGlvbk1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwRTYxODMxMkQ2Q0IxRDAw
MTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDMEU2MDczMTJENkJDMjAwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvblBvc2l0
aW9uLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTMwNzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0
d29ya05ldHdvcmtNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFCRTFGMjEyRDU0REJE
MDAwNEEyMjggLyogV2ViR2VvbG9jYXRpb25Qcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MkQ1MDM2NzYxQkNFRDE5RjAwRTIwQkIzIC8qIFdlYkdlc3R1cmVFdmVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJOTNBODhCMzMxQkM2RTlDRDAwQUJBNUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRh
LmggaW4gSGVhZGVycyAqLywKQEAgLTgxOTIsNiArODI4NSw3IEBACiAJCQkJNTExQjI0QTcxMzJF
MDk1NzAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJ
CQk1MUQwMkY2QzEzMkVDNzM3MDBCRUFBOTYgLyogV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdl
cy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzNzAxQzczOUQ0MjAwNzk5M0NCIC8qIFdlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QUQxREU4NUY1
ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIz
N0ExQzczREE3NzAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTQxMjk5NDFDNjQyOEJCMDA1OUU3MTQgLyogV2ViSURCQ29u
bmVjdGlvblRvU2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1MjM3NDFDNzNEMzhCMDA3
OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LApAQCAtODI0Nyw2ICs4MzQxLDcgQEAKIAkJCQlDREEyOUExQjFDQkRCRjQxMDA5MDFDQ0YgLyog
V2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMjkx
Q0JFQjY3QTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMjAxQ0JFQjVGQjAwOTAxQ0NGIC8qIFdlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEwNDgyQ0UxREREMzI0
RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTI5QTJCMUNC
RUI2N0EwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENTkyOUYxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJ
bkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZCMzAwNkYwRjEyIC8q
IFdlYlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDU5LDYgKzg1NTQsNyBAQAogCQkJ
CTM3MEYzNEEzMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLmggaW4gSGVhZGVy
cyAqLywKIAkJCQkzNzBGMzRBNTE4MjlCRUEzMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9uRGF0YUlu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y2OUZBOTExNzZEMUNCMDA0NzFBNTIgLyog
V0tOYXZpZ2F0aW9uRGF0YVJlZi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExQjIyNjQxRTM3MUJB
NjAwNEY3MzYzIC8qIExpYldlYlJUQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCQzNERkMxODk5
RjUxQzAwNEYwNjI2IC8qIFdLTmF2aWdhdGlvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkxQUEyMEQ1MTE4QUQ1MEUwMDA1RDFFRDQgLyogV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUJDM0RGMTE4OTlDNkI2MDA0RjA2MjYgLyogV0tOYXZp
Z2F0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtODU4MSw2ICs4Njc3LDcgQEAKIAkJ
CQkzNzdFQUQ0OTE3RTJDNzdCMDAyRDE5M0QgLyogV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjA4OUQxOTI2N0ZDODAwQjYzOTBDIC8qIFdLVXNlclNj
cmlwdEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg4MkRGQTFDN0U5OTczMDA2QkY3
MzEgLyogV0tVc2VyU2NyaXB0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjAx
REU4NUY1ODAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3Qzg5RDJBNDFBNjc4ODc1MDAzQTVGREUgLyogV0tVc2VyU2NyaXB0UmVmLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzg2OTlCNTExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3LmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzg2OTlCNzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3SW50ZXJuYWwuaCBp
biBIZWFkZXJzICovLApAQCAtOTIzMSw2ICs5MzI4LDcgQEAKIAkJCQkxQTQzRTgyOTE4OEYzQ0RD
MDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9iamVjdEludGVyZmFj
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOUUzMjhBMTgyMTYzNjkwMEY1RDA0QyAvKiBfV0tS
ZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQxMDQ4MkNEMURERDMy
NEMwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1NUJBODEx
MUJBMTMxODEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3Q29udHJvbGxlci5t
bSBpbiBTb3VyY2VzICovLAogCQkJCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0NCAvKiBfV0tTZXNz
aW9uU3RhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDZCMzcxQzE4QTk2N0FEMDA0MkFFODAg
LyogX1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovLApAQCAtOTM1NSw2ICs5NDUzLDcg
QEAKIAkJCQk4Q0ZFQ0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9yU3RhdGUuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkMwMzJEQTcxMEY0MzdEMTAwNThDMTVBIC8qIEVuY29kZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJNTFCMTVBODQxMzg0M0EzOTAwMzIxQUQ4IC8qIEVudmlyb25tZW50
VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUFGMURFODVGNTgwMDM5RUM2
OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzVGQTE0
OTZCNTI2MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTFBQTU3NjAyMTQ5NkI5NzkwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDBCOTY2MTkxOEUyNUFFMTAwQ0UxRjg4IC8qIEZp
bmRDbGllbnQubW0gaW4gU291cmNlcyAqLywKQEAgLTk0OTEsNiArOTU5MCw3IEBACiAJCQkJMUEy
RDgyQTgxMjdGNEVBQjAwMUVCOTYyIC8qIE5QUmVtb3RlT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCTFBMjE2MUIxMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRpbWVPYmplY3RNYXAu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyMTYyQjAxMUYzODk3MTAwOEFEMEY1IC8qIE5QUnVu
dGltZVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTFCMjI2NTFFMzcxQkE5MDA0
RjczNjMgLyogTGliV2ViUlRDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMkQ4NEE0MTI3RjZB
RDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDOEFD
QTE0MTY2NzBEODkwMDRDMTk0MSAvKiBPYmpDT2JqZWN0R3JhcGgubW0gaW4gU291cmNlcyAqLywK
IAkJCQk3QzM4NzQzNDE3MkY1NjE1MDAxQkQ4OEEgLyogUGFnZUJhbm5lci5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTk1MDgsNiArOTYwOCw3IEBACiAJCQkJNUM4NUM3ODgxQzNGMjNDRTAwNjFBNEZB
IC8qIFBlbmRpbmdEb3dubG9hZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjVFMjAwMzE4RTc3
MDUxMDAzRUMzRTUgLyogUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90ZS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTJEQTA0OUIzMTgwQ0NDRDMwMEFBRkE5RSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QTkxREU4NUYyQzAwMzlFQzY5IC8qIE5ldHdv
cmtQYWNrZXRTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4NzEwMTYxODI4NDE1RDAw
MThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTJEODk0OUYwMTgyMDQ0RjYwMEU4OThBQSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVUaWxl
ZEJhY2tpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3RjE2
IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk3MTcsNiAr
OTgxOCw3IEBACiAJCQkJQkMwRTYwNjExMkQ2QkE5MTAwMTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9u
TWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzU0Q0FDQzEy
RDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkMwRTYxODIxMkQ2Q0IxRDAwMTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uTWFu
YWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUFF
MURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkMwRTYwNzQxMkQ2QkMyMDAwMTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uUG9zaXRpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxQkUxRjMxMkQ1NERCRDAwMDRBMjI4IC8qIFdlYkdlb2xv
Y2F0aW9uUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ1MDM2NzUxQkNFRDE5RjAw
RTIwQkIzIC8qIFdlYkdlc3R1cmVFdmVudC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk4MzYsNiAr
OTkzOCwxMSBAQAogCQkJCTM3NjA4ODFFMTUwNDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmpl
Y3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEwQUZGQjkxNjU0MjA0ODAwMUJBMDVFIC8qIFdl
YlJlc291cmNlTG9hZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUw
MEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNl
cyAqLywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgyQyAvKiBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8qIE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8q
IE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
KwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViTmV0d29ya01hbmFnZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OTFFRkMxQzdEMDhDNTAwQzRDNTJC
IC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQk3QTc5MUVGQTFDN0NGQ0YxMDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDMzYxRDcyMTkyN0ZB
MzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywK
QEAgLTk4NjMsMTAgKzk5NzAsMTIgQEAKIAkJCQkzRjQxOEVGOTE4ODdCRDk3MDAyNzk1RkQgLyog
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MkQ1QTFCMTFDNTc0OTYyMDBERTM0QTMgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0Y0MThFRkIxODg3QkQ5NzAwMjc5NUZE
IC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0MTMwNzVCMzFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDQ2xp
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERkM3REJDMUJDQ0MxOTUwMEMxNTQ4QyAvKiBX
ZWJWaWV3SW1wbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMwMzM3REQxMTI3QTI5ODAwMDhGRjRG
NCAvKiBXZWJXaGVlbEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2ODE2MEQwMTg3NjQ1
NTcwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmpl
Y3RCYXNlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QjExREU4NUY1ODAwMzlFQzY5IC8q
IFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkyMzJERjgx
OEIyQTlBRTAwRDA1OTZGIC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MubW0gaW4g
U291cmNlcyAqLywKIAkJCQkyOTIzMkRGOTE4QjJBQjNBMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmls
aXR5V2ViUGFnZU9iamVjdE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0RTQ5MThCQkUw
NDQwMDBGQ0ZDOSAvKiBXS0FjdGlvblNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC05ODg0LDYg
Kzk5OTMsNyBAQAogCQkJCUJDQkFBQ0Y1MTQ1MjMyNEYwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29u
dGV4dEdyb3VwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMDBENEMxODJENkVCMDAwMDg3REQ3
IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyMDRF
RUUxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
MzA3NUFBMURFODVGMzAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJOTM1RUVCOUUxMjc3NjFBQzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0Zv
cndhcmRMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUVFQkEwMTI3NzYxQUMwMDMzMjJC
OCAvKiBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTFGQTJENzcxNTIxMkUyNjAwQzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNw
cCBpbiBTb3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAwOGFiMWUz
NTUxNmYxOGQ5YzBkNDU3ZWY2MTQ0MTlhOWJjMzAwZDc2Li43NmE0NmY3NjM2MDIyOGI3ZmNlMzA1
ZDg5Zjk2YmE2YTYyYTQ0NTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMjcs
OSArMjcsMTQgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKIAogI2lu
Y2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENNZXNzYWdlcy5oIgog
I2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJMb2FkZXJTdHJhdGVn
eS5oIgorI2luY2x1ZGUgIldlYk5ldHdvcmtNYW5hZ2VyLmgiCisjaW5jbHVkZSAiV2ViTmV0d29y
a01hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldC5oIgorI2luY2x1
ZGUgIldlYlBhY2tldFNvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgog
I2luY2x1ZGUgIldlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0NhY2hlZFJlc291cmNlLmg+CkBAIC01NCwxMiArNTksMjcgQEAgTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uOjp+TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkKIHZvaWQgTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24s
IElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2
ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjptZXNzYWdlUmVjZWl2ZXJO
YW1lKCkpIHsKLSAgICAgICAgaWYgKFdlYlJlc291cmNlTG9hZGVyKiB3ZWJSZXNvdXJjZUxvYWRl
ciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvYWRlclN0cmF0ZWd5KCkud2ViUmVzb3Vy
Y2VMb2FkZXJGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkKKyAgICAgICAg
aWYgKGF1dG8qIHdlYlJlc291cmNlTG9hZGVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2Vi
TG9hZGVyU3RyYXRlZ3koKS53ZWJSZXNvdXJjZUxvYWRlckZvcklkZW50aWZpZXIoZGVjb2Rlci5k
ZXN0aW5hdGlvbklEKCkpKQogICAgICAgICAgICAgd2ViUmVzb3VyY2VMb2FkZXItPmRpZFJlY2Vp
dmVXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAgICAg
IAogICAgICAgICByZXR1cm47CiAgICAgfQogCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBpZiAo
ZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhY2tldFNvY2tl
dDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIGlmIChhdXRvKiB3ZWJQYWNrZXRT
b2NrZXQgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS53ZWJQYWNrZXRTb2Nr
ZXRGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkKKyAgICAgICAgICAgIHdl
YlBhY2tldFNvY2tldC0+ZGlkUmVjZWl2ZVdlYlBhY2tldFNvY2tldE1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIubWVz
c2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJOZXR3b3JrTWFuYWdlcjo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldl
YlJUQygpLm5ldHdvcmtNYW5hZ2VyKCkuZGlkUmVjZWl2ZVdlYk5ldHdvcmtNYW5hZ2VyTWVzc2Fn
ZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAo
ZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OkxpYldlYlJUQzo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxp
YldlYlJUQygpLmRpZFJlY2VpdmVMaWJXZWJSVENNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIp
OworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBkaWRSZWNlaXZlTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VEMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VEMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjQ5NmVhMjdkNzBiMWQ5NjA0N2RmODFkM2M0OTIyNjg0MGZhZmY4
ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQy5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVEMuaCIKKworI2lmIFVTRShMSUJXRUJS
VEMpCisKKyNpbmNsdWRlICJXZWJOZXR3b3JrTWFuYWdlci5oIgorI2luY2x1ZGUgIldlYlBhY2tl
dFNvY2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+Cisj
aW5jbHVkZSA8d2VicnRjL2FwaS9wZWVyY29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK3ZvaWQgTGliV2ViUlRDOjppbml0aWFsaXplKCkKK3sKKyAgICBpZiAobV9z
b2NrZXRGYWN0b3J5KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3NvY2tldEZhY3RvcnkgPSBz
dGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNvY2tldEZhY3Rvcnk+KCk7CisgICAgbV93ZWJOZXR3
b3JrTWFuYWdlciA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViTmV0d29ya01hbmFnZXI+KCk7Cit9CisK
K1dlYlBhY2tldFNvY2tldCogTGliV2ViUlRDOjp3ZWJQYWNrZXRTb2NrZXRGb3JJZGVudGlmaWVy
KHVpbnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKG1fc29ja2V0RmFjdG9yeSk7Cisg
ICAgcmV0dXJuIG1fc29ja2V0RmFjdG9yeS0+d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIpOwor
fQorCitXZWJOZXR3b3JrTWFuYWdlciYgTGliV2ViUlRDOjpuZXR3b3JrTWFuYWdlcigpCit7Cisg
ICAgQVNTRVJUKG1fd2ViTmV0d29ya01hbmFnZXIpOworICAgIHJldHVybiAqbV93ZWJOZXR3b3Jr
TWFuYWdlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVEMuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTIxMDM3NjcyNjNjYWY0MDdmOGI3OGI5NWZmMDhm
NTJiNjMwMDA5YgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDLmgKQEAgLTAsMCArMSw2MCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYk5ldHdv
cmtNYW5hZ2VyLmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIgorI2luY2x1
ZGUgPFdlYkNvcmUvTGliV2ViUlRDQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJS
VENVdGlscy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcGVlcmNvbm5lY3Rpb25mYWN0b3J5Lmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJXZWJSVEMgeworcHVibGljOgorICAg
IExpYldlYlJUQygpID0gZGVmYXVsdDsKKworICAgIHZvaWQgaW5pdGlhbGl6ZSgpOworCisgICAg
V2ViUGFja2V0U29ja2V0KiB3ZWJQYWNrZXRTb2NrZXRGb3JJZGVudGlmaWVyKHVpbnQ2NF90KTsK
KyAgICBXZWJOZXR3b3JrTWFuYWdlciYgbmV0d29ya01hbmFnZXIoKTsKKyAgICBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5JiBzb2NrZXRGYWN0b3J5KCkgY29uc3QgeyByZXR1cm4gKm1fc29ja2V0RmFj
dG9yeTsgfQorCisgICAgdm9pZCBkaWRSZWNlaXZlTGliV2ViUlRDTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIGdldFJlc29sdmVk
QWRkcmVzcyh1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBWZWN0b3I8UlRDTmV0d29yazo6SVBB
ZGRyZXNzPiYgYWRkcmVzc2VzKSB7IG1fc29ja2V0RmFjdG9yeS0+Z2V0UmVzb2x2ZWRBZGRyZXNz
KGlkZW50aWZpZXIsIGFkZHJlc3Nlcyk7IH0KKyAgICB2b2lkIHJlc29sdmVkQWRkcmVzc0Vycm9y
KHVpbnQ2NF90IGlkZW50aWZpZXIsIGludCBlcnJvcikgeyBtX3NvY2tldEZhY3RvcnktPnJlc29s
dmVkQWRkcmVzc0Vycm9yKGlkZW50aWZpZXIsIGVycm9yKTsgfQorCisgICAgc3RkOjp1bmlxdWVf
cHRyPFdlYlBhY2tldFNvY2tldEZhY3Rvcnk+IG1fc29ja2V0RmFjdG9yeTsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8V2ViTmV0d29ya01hbmFnZXI+IG1fd2ViTmV0d29ya01hbmFnZXI7Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5t
ZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjczNGRlYTkzNWJkZDYwZTUwOTAyODhmODU5
Yzc5NmNmNDYwZTgxNGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMwIEBA
CisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisj
CisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElU
VVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
CisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VC
UlRDKQorCittZXNzYWdlcyAtPiBMaWJXZWJSVEMgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQg
R2V0UmVzb2x2ZWRBZGRyZXNzKHVpbnQ2NF90IGlkZW50aWZpZXIsIFZlY3RvcjxXZWJLaXQ6OlJU
Q05ldHdvcms6OklQQWRkcmVzcz4gYWRkcmVzc2VzKQorICAgIHZvaWQgUmVzb2x2ZWRBZGRyZXNz
RXJyb3IodWludDY0X3QgaWRlbnRpZmllciwgaW50IGVycm9yKQorfQorCisjZW5kaWYgLy8gVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDQ2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDQ2xpZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iNjQ1MDdmM2Uw
ZGFhYzFiNWU1NjZjZWU0NDEyZmE2Y2Y1OTY3MjRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENDbGllbnQuY3BwCkBA
IC0wLDAgKzEsNDkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiTGliV2ViUlRDQ2xpZW50LmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAi
V2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNs
dWRlIDx3ZWJydGMvYXBpL3BlZXJjb25uZWN0aW9uZmFjdG9yeS5oPgorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworTGliV2ViUlRDQ2xpZW50OjpMaWJXZWJSVENDbGllbnQoKQoreworICAgIFdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLmluaXRpYWxpemVMaWJXZWJSVEMoKTsKK30KKworcnRjOjpzY29w
ZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IExpYldlYlJUQ0NsaWVu
dDo6Y3JlYXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJiBv
YnNlcnZlcikKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6Y3JlYXRlUGVlckNvbm5lY3Rpb24ob2Jz
ZXJ2ZXIsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLm5ldHdvcmtNYW5hZ2Vy
KCksIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLnNvY2tldEZhY3RvcnkoKSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDQ2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ0NsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjIzYWUzOTgwMTIxNjBlYzQ1NWMwNzJlNGNl
NjczODVhYWRhODU0NTEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ0NsaWVudC5oCkBAIC0wLDAgKzEsNDQgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRl
IDxXZWJDb3JlL0xpYldlYlJUQ0NsaWVudC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgTGliV2ViUlRDQ2xpZW50IGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkxpYldlYlJUQ0NsaWVu
dCB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDQ2xpZW50KCk7CisKK3ByaXZhdGU6CisgICAgcnRj
OjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IGNyZWF0ZVBl
ZXJDb25uZWN0aW9uKHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYpIGZpbmFsOworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3
b3JrTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYk5ldHdvcmtNYW5hZ2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YjE0YWE4ZjI2MjBkMGE5ZGE1OTZk
ZGM1OTM4NTQ1NmIzYWE0YTJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHAKQEAgLTAsMCArMSw5
MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJOZXR3
b3JrTWFuYWdlci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIk5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrTmV0d29y
a01hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxw
ZXJzLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3ZvaWQgV2ViTmV0d29ya01hbmFnZXI6OlN0YXJ0VXBkYXRpbmcoKQoreworICAgIGlmICht
X2NsaWVudENvdW50KSB7CisgICAgICAgIC8vIE5lZWQgdG8gc2lnbmFsIG5ldyBjbGllbnQgdGhh
dCB3ZSBhbHJlYWR5IGhhdmUgdGhlIG5ldHdvcmsgbGlzdCwgbGV0J3MgZG8gaXQgYXN5bmNocm9u
b3VzbHkKKyAgICAgICAgaWYgKG1fcmVjZWl2ZWROZXR3b3JrTGlzdCkgeworICAgICAgICAgICAg
V2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpc10geworICAgICAgICAgICAg
ICAgIFNpZ25hbE5ldHdvcmtzQ2hhbmdlZCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0K
KyAgICB9IGVsc2UgeworICAgICAgICBtX3JlY2VpdmVkTmV0d29ya0xpc3QgPSBmYWxzZTsKKyAg
ICAgICAgY2FsbE9uTWFpblRocmVhZChbXSgpIHsKKyAgICAgICAgICAgIFdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6U3RhcnRVcGRhdGluZygpLCAwKTsKKyAgICAgICAgfSk7
CisgICAgfQorICAgICsrbV9jbGllbnRDb3VudDsKK30KKwordm9pZCBXZWJOZXR3b3JrTWFuYWdl
cjo6U3RvcFVwZGF0aW5nKCkKK3sKKyAgICBBU1NFUlQobV9jbGllbnRDb3VudCk7CisgICAgaWYg
KC0tbV9jbGllbnRDb3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY2FsbE9uTWFpblRocmVh
ZChbXSgpIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rp
b24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpT
dG9wVXBkYXRpbmcoKSwgMCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViTmV0d29ya01hbmFnZXI6
Om5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtzLCBjb25z
dCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGlwdjQsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVz
cyYgaXB2NikKK3sKKyAgICAvLyBObyBuZWVkIHRvIHByb3RlY3QgJ3RoaXMnIGFzIGl0IGhhcyB0
aGUgbGlmZXRpbWUgb2YgTGliV2ViUlRDIHdoaWNoIGhhcyB0aGUgbGlmZXRpbWUgb2YgdGhlIHdl
YiBwcm9jZXNzLgorICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMs
IG5ldHdvcmtzLCBpcHY0LCBpcHY2XSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHJ0Yzo6TmV0d29y
ayo+IG5ldHdvcmtMaXN0KG5ldHdvcmtzLnNpemUoKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGlu
ZGV4ID0gMDsgaW5kZXggPCBuZXR3b3Jrcy5zaXplKCk7ICsraW5kZXgpCisgICAgICAgICAgICBu
ZXR3b3JrTGlzdFtpbmRleF0gPSBuZXcgcnRjOjpOZXR3b3JrKG5ldHdvcmtzW2luZGV4XS52YWx1
ZSgpKTsKKworICAgICAgICBib29sIGZvcmNlU2lnbmFsaW5nID0gIW1fcmVjZWl2ZWROZXR3b3Jr
TGlzdDsKKyAgICAgICAgbV9yZWNlaXZlZE5ldHdvcmtMaXN0ID0gdHJ1ZTsKKworICAgICAgICBi
b29sIGhhc0NoYW5nZWQ7CisgICAgICAgIHNldF9kZWZhdWx0X2xvY2FsX2FkZHJlc3NlcyhpcHY0
LnZhbHVlLCBpcHY2LnZhbHVlKTsKKyAgICAgICAgTWVyZ2VOZXR3b3JrTGlzdChuZXR3b3JrTGlz
dCwgJmhhc0NoYW5nZWQpOworICAgICAgICBpZiAoaGFzQ2hhbmdlZCB8fCBmb3JjZVNpZ25hbGlu
ZykKKyAgICAgICAgICAgIFNpZ25hbE5ldHdvcmtzQ2hhbmdlZCgpOworCisgICAgfSk7Cit9CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29y
a01hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
TmV0d29ya01hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MjU4ZWQ2NzRiMjlkNTJhNTBiZjY1MTMyNjNh
MjJlNTU1ODI3MzY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oCkBAIC0wLDAgKzEsNjEgQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRl
ICJSVENOZXR3b3JrLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9u
OworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBOZXR3
b3Jrc0NoYW5nZWREYXRhOworCitjbGFzcyBXZWJOZXR3b3JrTWFuYWdlciBmaW5hbCA6IHB1Ymxp
YyBydGM6Ok5ldHdvcmtNYW5hZ2VyQmFzZSB7CitwdWJsaWM6CisgICAgV2ViTmV0d29ya01hbmFn
ZXIoKSB7IH0KKworICAgIHZvaWQgZGlkUmVjZWl2ZVdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZShJ
UEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIG5l
dHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtMaXN0LCBjb25z
dCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmKTsK
KworICAgIHZvaWQgU3RhcnRVcGRhdGluZygpIGZpbmFsOworICAgIHZvaWQgU3RvcFVwZGF0aW5n
KCkgZmluYWw7CisKKyAgICB1bnNpZ25lZCBtX2NsaWVudENvdW50IHsgMCB9OworICAgIGJvb2wg
bV9yZWNlaXZlZE5ldHdvcmtMaXN0IHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtN
YW5hZ2VyLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZDY5YmM5YzZjY2Y4OWM5MDcwODJiOTI2
N2E3ZjYyMWU1MmYxZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluCkBAIC0wLDAg
KzEsMjkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElF
RAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwK
KyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVT
RShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IFdlYk5ldHdvcmtNYW5hZ2VyIExlZ2FjeVJlY2Vp
dmVyIHsKKyAgICB2b2lkIE5ldHdvcmtzQ2hhbmdlZChWZWN0b3I8V2ViS2l0OjpSVENOZXR3b3Jr
PiBuZXR3b3JrcywgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgZGVmYXVsdElQVjRBZGRy
ZXNzLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBkZWZhdWx0SVBWNkFkZHJlc3MpCit9
CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmEyN2NmNzA5MzM2YTI1NTgzODU5OWQyZTA2NGUwNWVkNDczNDUzMjkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBh
Y2tldFNvY2tldC5jcHAKQEAgLTAsMCArMSwyMDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0LmgiCisKKyNpZiBVU0UoTElCV0VC
UlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIk5ldHdvcmtQYWNr
ZXRTb2NrZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK1dlYlBhY2tldFNvY2tldDo6V2ViUGFja2V0U29ja2V0KFdlYlBhY2tldFNvY2tldEZhY3Rv
cnkmIGZhY3RvcnksIFR5cGUgdHlwZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFk
ZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKKyAgICA6IG1f
ZmFjdG9yeShmYWN0b3J5KQorICAgICwgbV90eXBlKHR5cGUpCisgICAgLCBtX2xvY2FsQWRkcmVz
cyhsb2NhbEFkZHJlc3MpCisgICAgLCBtX3JlbW90ZUFkZHJlc3MocmVtb3RlQWRkcmVzcykKK3sK
KyAgICBtX2ZhY3RvcnkuYXR0YWNoKCp0aGlzKTsKKyAgICBzdGQ6OmZpbGxfbihtX29wdGlvbnMs
IE1BWF9TT0NLRVRfT1BUSU9OLCAtMSk7Cit9CisKK1dlYlBhY2tldFNvY2tldDo6fldlYlBhY2tl
dFNvY2tldCgpCit7CisgICAgbV9mYWN0b3J5LmRldGFjaCgqdGhpcyk7Cit9CisKK3J0Yzo6U29j
a2V0QWRkcmVzcyBXZWJQYWNrZXRTb2NrZXQ6OkdldExvY2FsQWRkcmVzcygpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIG1fbG9jYWxBZGRyZXNzOworfQorCitydGM6OlNvY2tldEFkZHJlc3MgV2ViUGFj
a2V0U29ja2V0OjpHZXRSZW1vdGVBZGRyZXNzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZW1v
dGVBZGRyZXNzOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5
KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9y
eTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgV2ViQ29y
ZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgZmFjdG9yeSwgaWRlbnRpZmllciwg
YWRkcmVzc10oKSB7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcHJvYmFibHkgbW92ZSB0
aGlzIGNvZGUgb3V0IG9mIFdlYlBhY2tldFNvY2tldCBzbyB3ZSBkbyBub3QgY2hlY2sgdHdpY2Ug
dGhlIGlkZW50aWZpZXIgaW4gdGhlIGZhY3RvcnkuCisgICAgICAgIGlmICghZmFjdG9yeS0+d2Vi
UGFja2V0U29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBp
ZiAobV90eXBlID09IFR5cGU6OkNsaWVudFRDUCkKKyAgICAgICAgICAgIG1fc3RhdGUgPSBTVEFU
RV9DT05ORUNURUQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fc3RhdGUgPSBTVEFURV9C
T1VORDsKKyAgICAgICAgbV9sb2NhbEFkZHJlc3MuRnJvbVN0cmluZyhhZGRyZXNzLnV0ZjgoKS5k
YXRhKCkpOworICAgICAgICBTaWduYWxBZGRyZXNzUmVhZHkodGhpcywgbV9sb2NhbEFkZHJlc3Mp
OworICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFsUmVhZFBhY2tldChj
b25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVz
cyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1lc3RhbXApCit7CisgICAgYXV0
byogZmFjdG9yeSA9ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRl
bnRpZmllcigpOworICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+IGJ1ZmZlciA9IFdl
YkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7Cisg
ICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgZmFjdG9yeSwgaWRl
bnRpZmllciwgYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBwb3J0LCB0aW1lc3Rh
bXBdKCkgeworICAgICAgICBpZiAoIWZhY3RvcnktPndlYlBhY2tldFNvY2tldChpZGVudGlmaWVy
KSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9yZW1vdGVBZGRyZXNzID0gcnRjOjpT
b2NrZXRBZGRyZXNzKGFkZHJlc3MudmFsdWUsIHBvcnQpOworICAgICAgICBTaWduYWxSZWFkUGFj
a2V0KHRoaXMsIGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSwgbV9yZW1vdGVBZGRyZXNz
LCBydGM6OlBhY2tldFRpbWUodGltZXN0YW1wLCAwKSk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2Vi
UGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFja2V0KGludCBydGNQYWNrZXRJRCwgaW50NjRfdCBz
ZW5kVGltZU1zKQoreworICAgIGF1dG8qIGZhY3RvcnkgPSAmbV9mYWN0b3J5OworICAgIGF1dG8g
aWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZpZXIoKTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJS
VENOZXR3b3JrVGhyZWFkKFt0aGlzLCBmYWN0b3J5LCBpZGVudGlmaWVyLCBydGNQYWNrZXRJRCwg
c2VuZFRpbWVNc10oKSB7CisgICAgICAgIGlmICghZmFjdG9yeS0+d2ViUGFja2V0U29ja2V0KGlk
ZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2F2YWlsYWJsZVNlbmRp
bmdCeXRlcyArPSBtX2JlaW5nU2VudFBhY2tldFNpemVzLnRha2VGaXJzdCgpOworICAgICAgICBT
aWduYWxTZW50UGFja2V0KHRoaXMsIHJ0Yzo6U2VudFBhY2tldChydGNQYWNrZXRJRCwgc2VuZFRp
bWVNcykpOworICAgICAgICBpZiAobV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCkgeworICAgICAg
ICAgICAgbV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCA9IGZhbHNlOworICAgICAgICAgICAgU2ln
bmFsUmVhZHlUb1NlbmQodGhpcyk7CisgICAgICAgIH0KKyAgICB9KTsKK30KKwordm9pZCBXZWJQ
YWNrZXRTb2NrZXQ6OnNpZ25hbENvbm5lY3QoKQoreworICAgIGF1dG8qIGZhY3RvcnkgPSAmbV9m
YWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZpZXIoKTsKKyAgICBX
ZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBmYWN0b3J5LCBpZGVudGlm
aWVyXSgpIHsKKyAgICAgICAgaWYgKCFmYWN0b3J5LT53ZWJQYWNrZXRTb2NrZXQoaWRlbnRpZmll
cikpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fc3RhdGUgPSBTVEFURV9DT05ORUNU
RUQ7CisgICAgICAgIFNpZ25hbENvbm5lY3QodGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2Vi
UGFja2V0U29ja2V0OjpzaWduYWxDbG9zZShpbnQgZXJyb3IpCit7CisgICAgYXV0byogZmFjdG9y
eSA9ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigp
OworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGZhY3Rvcnks
IGlkZW50aWZpZXIsIGVycm9yXSgpIHsKKyAgICAgICAgaWYgKCFmYWN0b3J5LT53ZWJQYWNrZXRT
b2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fc3RhdGUg
PSBTVEFURV9DTE9TRUQ7CisgICAgICAgIFNpZ25hbENsb3NlKHRoaXMsIGVycm9yKTsKKyAgICB9
KTsKK30KKworSVBDOjpDb25uZWN0aW9uKiBXZWJQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VTZW5kZXJD
b25uZWN0aW9uKCkKK3sKKyAgICByZXR1cm4gJldlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdv
cmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpOworfQorCitzdGF0aWMgaW5saW5lIFN0cmluZyBh
dXRoS2V5KGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBpZiAob3B0
aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5zaXplKCkgPD0gMCkKKyAgICAg
ICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gU3RyaW5nKG9wdGlvbnMucGFja2V0X3RpbWVfcGFy
YW1zLnNydHBfYXV0aF9rZXkuZGF0YSgpLCBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRw
X2F1dGhfa2V5LnNpemUoKSk7Cit9CisKKworYm9vbCBXZWJQYWNrZXRTb2NrZXQ6OndpbGxTZW5k
KHNpemVfdCBzaXplKQoreworICAgIGlmIChzaXplID4gbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMp
IHsKKyAgICAgICAgbV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCA9IHRydWU7CisgICAgICAgIHNl
dEVycm9yKEVXT1VMREJMT0NLKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0KKyAgICBt
X2F2YWlsYWJsZVNlbmRpbmdCeXRlcyAtPSBzaXplOworICAgIG1fYmVpbmdTZW50UGFja2V0U2l6
ZXMuYXBwZW5kKHNpemUpOworICAgIHJldHVybiB0cnVlOworfQorCitpbnQgV2ViUGFja2V0U29j
a2V0OjpTZW5kVG8oY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykK
K3sKKyAgICBpZiAoIXdpbGxTZW5kKHNpemUpKQorICAgICAgICByZXR1cm4gLTE7CisKKyAgICBh
dXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHN0YXRpY19jYXN0PGNv
bnN0IHVpbnQ4X3QqPih2YWx1ZSksIHNpemUpOworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMt
PmlkZW50aWZpZXIoKTsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGJ1ZmZl
ciA9IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcywgb3B0aW9uc10geworICAgICAgICBJUEM6OkRh
dGFSZWZlcmVuY2UgZGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXIt
PmRhdGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICAgICAgU3RyaW5nIHNydHBBdXRoS2V5ID0g
YXV0aEtleShvcHRpb25zKTsKKyAgICAgICAgTWVzc2FnZXM6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6
OlNlbmRUbyBtZXNzYWdlKGRhdGEsIFJUQ05ldHdvcms6OklQQWRkcmVzcyhhZGRyZXNzLmlwYWRk
cigpKSwgYWRkcmVzcy5wb3J0KCksIG9wdGlvbnMucGFja2V0X2lkLCBvcHRpb25zLnBhY2tldF90
aW1lX3BhcmFtcy5ydHBfc2VuZHRpbWVfZXh0ZW5zaW9uX2lkLCBzcnRwQXV0aEtleSwgb3B0aW9u
cy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9wYWNrZXRfaW5kZXgsIG9wdGlvbnMuZHNjcCk7Cisg
ICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVj
dGlvbigpLnNlbmQoV1RGTW92ZShtZXNzYWdlKSwgaWRlbnRpZmllcik7CisgICAgfSk7CisgICAg
cmV0dXJuIHNpemU7Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OkNsb3NlKCkKK3sKKyAgICBh
dXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgY2FsbE9uTWFpblRocmVh
ZChbaWRlbnRpZmllcl0geworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3Jr
Q29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUGFja2V0U29j
a2V0OjpDbG9zZSgpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gMDsKK30KKwor
aW50IFdlYlBhY2tldFNvY2tldDo6R2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24gb3B0aW9u
LCBpbnQqIHZhbHVlKQoreworICAgIEFTU0VSVChvcHRpb24gPCBNQVhfU09DS0VUX09QVElPTik7
CisgICAgaW50IHN0b3JlZFZhbHVlID0gbV9vcHRpb25zW29wdGlvbl07CisgICAgaWYgKHN0b3Jl
ZFZhbHVlICE9IC0xKQorICAgICAgICAqdmFsdWUgPSBtX29wdGlvbnNbb3B0aW9uXTsKKyAgICBy
ZXR1cm4gMDsKK30KKworaW50IFdlYlBhY2tldFNvY2tldDo6U2V0T3B0aW9uKHJ0Yzo6U29ja2V0
OjpPcHRpb24gb3B0aW9uLCBpbnQgdmFsdWUpCit7CisgICAgQVNTRVJUKG9wdGlvbiA8IE1BWF9T
T0NLRVRfT1BUSU9OKTsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIG9wdGlvbiwgdmFs
dWVdIHsKKyAgICAgICAgbV9vcHRpb25zW29wdGlvbl0gPSB2YWx1ZTsKKyAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6TmV0d29ya1BhY2tldFNvY2tldDo6U2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpLCBt
X2lkZW50aWZpZXIpOworICAgIH0pOworICAgIHJldHVybiAwOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4yOGUxNzBkZDc5NjZjYjdjM2Y4OTk5ZmNlZjhhZWIyMWFhMzczZjBkCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJQYWNrZXRTb2NrZXQuaApAQCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIk1lc3NhZ2VTZW5kZXIuaCIK
KyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0
aWxzLmg+CisjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFz
cyBDb25uZWN0aW9uOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK2NsYXNzIERlY29kZXI7Cit9CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OworCitj
bGFzcyBXZWJQYWNrZXRTb2NrZXQgZmluYWwgOiBwdWJsaWMgcnRjOjpBc3luY1BhY2tldFNvY2tl
dCwgcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciB7CitwdWJsaWM6CisgICAgZW51bSBjbGFzcyBU
eXBlIHsgVURQLCBTZXJ2ZXJUQ1AsIENsaWVudFRDUCB9OworCisgICAgV2ViUGFja2V0U29ja2V0
KFdlYlBhY2tldFNvY2tldEZhY3RvcnkmLCBUeXBlLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3Mm
IGxvY2FsQWRkcmVzcywgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKTsK
KyAgICB+V2ViUGFja2V0U29ja2V0KCk7CisKKyAgICB2b2lkIHNldEVycm9yKGludCBlcnJvcikg
eyBtX2Vycm9yID0gZXJyb3I7IH0KKworICAgIHZvaWQgc2V0SWRlbnRpZmllcih1aW50NjRfdCBp
ZGVudGlmaWVyKSB7IG1faWRlbnRpZmllciA9IGlkZW50aWZpZXI7IH0KKyAgICB1aW50NjRfdCBp
ZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisKKyAgICBjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxB
ZGRyZXNzOyB9CisgICAgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKCkg
Y29uc3QgeyByZXR1cm4gbV9yZW1vdGVBZGRyZXNzOyB9CisKKyAgICB2b2lkIGRpZFJlY2VpdmVX
ZWJQYWNrZXRTb2NrZXRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOwor
CisgICAgdm9pZCBzZXRTdGF0ZShTdGF0ZSBzdGF0ZSkgeyBtX3N0YXRlID0gc3RhdGU7IH0KKwor
cHJpdmF0ZToKKyAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgpIGZpbmFs
IHsgcmV0dXJuIGlkZW50aWZpZXIoKTsgfQorICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNl
bmRlckNvbm5lY3Rpb24oKSBmaW5hbDsKKworICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChjb25z
dCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50
MTZfdCBwb3J0LCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQoaW50LCBpbnQ2
NF90KTsKKyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBTdHJpbmcmKTsKKyAgICB2
b2lkIHNpZ25hbENvbm5lY3QoKTsKKyAgICB2b2lkIHNpZ25hbENsb3NlKGludCk7CisKKyAgICBi
b29sIHdpbGxTZW5kKHNpemVfdCk7CisKKyAgICAvLyBBc3luY1BhY2tldFNvY2tldCBBUEkKKyAg
ICBpbnQgR2V0RXJyb3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAgdm9p
ZCBTZXRFcnJvcihpbnQgZXJyb3IpIGZpbmFsIHsgc2V0RXJyb3IoZXJyb3IpOyB9CisgICAgcnRj
OjpTb2NrZXRBZGRyZXNzIEdldExvY2FsQWRkcmVzcygpIGNvbnN0IGZpbmFsOworICAgIHJ0Yzo6
U29ja2V0QWRkcmVzcyBHZXRSZW1vdGVBZGRyZXNzKCkgY29uc3QgZmluYWw7CisgICAgaW50IFNl
bmQoY29uc3Qgdm9pZCAqcHYsIHNpemVfdCBjYiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBv
cHRpb25zKSBmaW5hbCB7IHJldHVybiBTZW5kVG8ocHYsIGNiLCBtX3JlbW90ZUFkZHJlc3MsIG9w
dGlvbnMpOyB9CisgICAgaW50IFNlbmRUbyhjb25zdCB2b2lkICosIHNpemVfdCwgY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJikgZmluYWw7CisgICAg
aW50IENsb3NlKCkgZmluYWw7CisgICAgU3RhdGUgR2V0U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX3N0YXRlOyB9CisgICAgaW50IEdldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uLCBp
bnQqKSBmaW5hbDsKKyAgICBpbnQgU2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24sIGludCkg
ZmluYWw7CisKKyAgICBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5JiBtX2ZhY3Rvcnk7CisgICAgVHlw
ZSBtX3R5cGU7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIG1fbG9jYWxBZGRyZXNzOworICAgIHJ0
Yzo6U29ja2V0QWRkcmVzcyBtX3JlbW90ZUFkZHJlc3M7CisKKyAgICB1aW50NjRfdCBtX2lkZW50
aWZpZXIgeyAwIH07CisgICAgaW50IG1fZXJyb3IgeyAwIH07CisgICAgU3RhdGUgbV9zdGF0ZSB7
IFNUQVRFX0JJTkRJTkcgfTsKKworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNQVhfU09DS0VU
X09QVElPTiB7IHJ0Yzo6QXN5bmNTb2NrZXQ6Ok9QVF9SVFBfU0VORFRJTUVfRVhUTl9JRCArIDEg
fTsKKyAgICBpbnQgbV9vcHRpb25zW01BWF9TT0NLRVRfT1BUSU9OXTsKKworICAgIERlcXVlPHNp
emVfdD4gbV9iZWluZ1NlbnRQYWNrZXRTaXplczsKKyAgICBzaXplX3QgbV9hdmFpbGFibGVTZW5k
aW5nQnl0ZXMgeyA2NTUzNiB9OworICAgIGJvb2wgbV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCB7
IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShM
SUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmZjNTA4MTEzYjk5NDY4ZjE2MDJmZjk4MGM5MWVmZTgwMGYxNjcwNGEKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tl
dFNvY2tldC5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMzIEBACisjIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBX
ZWJQYWNrZXRTb2NrZXQgTGVnYWN5UmVjZWl2ZXIgeworICAgIFNpZ25hbFJlYWRQYWNrZXQoSVBD
OjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGFkZHJl
c3MsIHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25hbFNlbnRQYWNr
ZXQoaW50IHBhY2tldFNpemUsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25hbEFkZHJlc3NS
ZWFkeShTdHJpbmcgYWRkcmVzcykKKyAgICBTaWduYWxDb25uZWN0KCkKKyAgICBTaWduYWxDbG9z
ZShpbnQgZXJyb3IpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRG
YWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UGFja2V0U29ja2V0RmFjdG9yeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYWYyY2IxYmM3ZjViNzAxZjgxMGFh
YWM1ODlmNjlkYzg0ZjdhYzQ0YwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAKQEAgLTAs
MCArMSwyMDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAi
V2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIkxpYldlYlJUQ0NsaWVudC5oIgorI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrTmV0d29ya01hbmFnZXJNZXNzYWdl
cy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIldl
YlBhY2tldFNvY2tldC5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3dGYv
TWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordWludDY0X3QgV2ViUGFja2V0
U29ja2V0RmFjdG9yeTo6c191bmlxdWVTb2NrZXRJZGVudGlmaWVyID0gMDsKK3VpbnQ2NF90IFdl
YlBhY2tldFNvY2tldEZhY3Rvcnk6OnNfdW5pcXVlUmVzb2x2ZXJJZGVudGlmaWVyID0gMDsKKwor
cnRjOjpBc3luY1BhY2tldFNvY2tldCogV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlU2Vy
dmVyVGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3Qg
bWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9wdGlvbnMpCit7CisgICAgYXV0byBzb2Nr
ZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNvY2tldD4oKnRoaXMsIFdlYlBhY2tldFNv
Y2tldDo6VHlwZTo6U2VydmVyVENQLCBhZGRyZXNzLCBydGM6OlNvY2tldEFkZHJlc3MoKSk7Cisg
ICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5nZXQoKTsKKworICAgIGNhbGxPbk1haW5U
aHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnNdKCkg
eworICAgICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3Qoc29ja2V0UG9pbnRl
cikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0SWRl
bnRpZmllcigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllcik7CisgICAgICAgIGF1dG8gYWRkcmVz
c1N0cmluZyA9IHNvY2tldFBvaW50ZXItPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7CisKKyAg
ICAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNv
bm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6
Q3JlYXRlU2VydmVyVENQU29ja2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwgU3RyaW5n
KGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgbWluUG9ydCwg
bWF4UG9ydCwgb3B0aW9ucyksIDApKSB7CisgICAgICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRF
cnJvcigxKTsKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG1fc29j
a2V0cy5zZXQoc29ja2V0UG9pbnRlci0+aWRlbnRpZmllcigpLCBzb2NrZXRQb2ludGVyKTsKKyAg
ICB9KTsKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2UoKTsKK30KKworcnRjOjpBc3luY1BhY2tl
dFNvY2tldCogV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0
Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4
UG9ydCkKK3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViUGFja2V0U29j
a2V0PigqdGhpcywgV2ViUGFja2V0U29ja2V0OjpUeXBlOjpVRFAsIGFkZHJlc3MsIHJ0Yzo6U29j
a2V0QWRkcmVzcygpKTsKKyAgICBhdXRvKiBzb2NrZXRQb2ludGVyID0gc29ja2V0LmdldCgpOwor
CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgc29ja2V0UG9pbnRlciwgbWluUG9ydCwgbWF4
UG9ydF0oKSB7CisgICAgICAgIGlmICghbV9wZW5kaW5nU29ja2V0cy5yZW1vdmVGaXJzdChzb2Nr
ZXRQb2ludGVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzb2NrZXRQb2ludGVy
LT5zZXRJZGVudGlmaWVyKCsrc191bmlxdWVTb2NrZXRJZGVudGlmaWVyKTsKKyAgICAgICAgYXV0
byBhZGRyZXNzU3RyaW5nID0gc29ja2V0UG9pbnRlci0+bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmco
KTsKKworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0
aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpDcmVhdGVVRFBTb2NrZXQoc29ja2V0UG9pbnRlci0+aWRlbnRpZmllcigpLCBTdHJp
bmcoYWRkcmVzc1N0cmluZy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVuZ3RoKCkpLCBtaW5Qb3J0
LCBtYXhQb3J0KSwgMCkpIHsKKyAgICAgICAgICAgIHNvY2tldFBvaW50ZXItPnNldEVycm9yKDEp
OworICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgbV9zb2NrZXRzLnNl
dChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCksIHNvY2tldFBvaW50ZXIpOworICAgIH0pOwor
ICAgIHJldHVybiBzb2NrZXQucmVsZWFzZSgpOworfQorCitydGM6OkFzeW5jUGFja2V0U29ja2V0
KiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpDcmVhdGVDbGllbnRUY3BTb2NrZXQoY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYg
cmVtb3RlQWRkcmVzcywgY29uc3QgcnRjOjpQcm94eUluZm8mLCBjb25zdCBzdGQ6OnN0cmluZyYs
IGludCBvcHRpb25zKQoreworICAgIGF1dG8gc29ja2V0ID0gc3RkOjptYWtlX3VuaXF1ZTxXZWJQ
YWNrZXRTb2NrZXQ+KCp0aGlzLCBXZWJQYWNrZXRTb2NrZXQ6OlR5cGU6OkNsaWVudFRDUCwgbG9j
YWxBZGRyZXNzLCByZW1vdGVBZGRyZXNzKTsKKyAgICBhdXRvKiBzb2NrZXRQb2ludGVyID0gc29j
a2V0LmdldCgpOworCisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgc29ja2V0UG9pbnRlciwg
b3B0aW9uc10oKSB7CisgICAgICAgIGlmICghbV9wZW5kaW5nU29ja2V0cy5yZW1vdmVGaXJzdChz
b2NrZXRQb2ludGVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKworICAgICAgICBzb2NrZXRQb2lu
dGVyLT5zZXRJZGVudGlmaWVyKCsrc191bmlxdWVTb2NrZXRJZGVudGlmaWVyKTsKKworICAgICAg
ICBhdXRvIGxvY2FsQWRkcmVzc1N0cmluZyA9IHNvY2tldFBvaW50ZXItPmxvY2FsQWRkcmVzcygp
LlRvU3RyaW5nKCk7CisgICAgICAgIGF1dG8gcmVtb3RlQWRkcmVzc1N0cmluZyA9IHNvY2tldFBv
aW50ZXItPnJlbW90ZUFkZHJlc3MoKS5Ub1N0cmluZygpOworCisgICAgICAgIGlmICghV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZUNsaWVudFRDUFNv
Y2tldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCksIFN0cmluZyhsb2NhbEFkZHJlc3NTdHJp
bmcuZGF0YSgpLCBsb2NhbEFkZHJlc3NTdHJpbmcubGVuZ3RoKCkpLCBTdHJpbmcocmVtb3RlQWRk
cmVzc1N0cmluZy5kYXRhKCksIHJlbW90ZUFkZHJlc3NTdHJpbmcubGVuZ3RoKCkpLCBvcHRpb25z
KSwgMCkpIHsKKyAgICAgICAgICAgIHNvY2tldFBvaW50ZXItPnNldEVycm9yKDEpOworICAgICAg
ICAgICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0U3Rh
dGUoV2ViUGFja2V0U29ja2V0OjpTVEFURV9DT05ORUNUSU5HKTsKKyAgICAgICAgbV9zb2NrZXRz
LnNldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCksIHNvY2tldFBvaW50ZXIpOworCisgICAg
fSk7CisKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2UoKTsKK30KKwordm9pZCBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5OjpkZXRhY2goV2ViUGFja2V0U29ja2V0JiBzb2NrZXQpCit7CisgICAgaWYg
KHNvY2tldC5pZGVudGlmaWVyKCkpCisgICAgICAgIG1fc29ja2V0cy5yZW1vdmUoc29ja2V0Lmlk
ZW50aWZpZXIoKSk7CisgICAgZWxzZQorICAgICAgICBtX3BlbmRpbmdTb2NrZXRzLnJlbW92ZUZp
cnN0KCZzb2NrZXQpOworfQorCitydGM6OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UqIFdlYlBhY2tl
dFNvY2tldEZhY3Rvcnk6OkNyZWF0ZUFzeW5jUmVzb2x2ZXIoKQoreworICAgIGF1dG8qIHJlc29s
dmVyID0gbmV3IFdlYkFzeW5jUmVzb2x2ZXIoKytzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmllcik7
CisgICAgbV9yZXNvbHZlcnMuc2V0KHJlc29sdmVyLT5pZGVudGlmaWVyKCksIHN0ZDo6dW5pcXVl
X3B0cjxXZWJBc3luY1Jlc29sdmVyPihyZXNvbHZlcikpOworICAgIHJldHVybiByZXNvbHZlcjsK
K30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpnZXRSZXNvbHZlZEFkZHJlc3ModWlu
dDY0X3QgaWRlbnRpZmllciwgY29uc3QgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4mIGFk
ZHJlc3NlcykKK3sKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlz
LCBpZGVudGlmaWVyLCBhZGRyZXNzZXNdKCkgeworICAgICAgICBhdXRvKiByZXNvbHZlciA9IG1f
cmVzb2x2ZXJzLmdldChpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFyZXNvbHZlcikKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgVmVjdG9yPHJ0Yzo6SVBBZGRyZXNzPiBpcEFkZHJlc3Nl
czsKKyAgICAgICAgaXBBZGRyZXNzZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShhZGRyZXNzZXMu
c2l6ZSgpKTsKKyAgICAgICAgZm9yIChhdXRvJiBhZGRyZXNzIDogYWRkcmVzc2VzKQorICAgICAg
ICAgICAgaXBBZGRyZXNzZXMudW5jaGVja2VkQXBwZW5kKGFkZHJlc3MudmFsdWUpOworCisgICAg
ICAgIHJlc29sdmVyLT5zZXRSZXNvbHZlZEFkZHJlc3NlcyhXVEZNb3ZlKGlwQWRkcmVzc2VzKSk7
CisgICAgICAgIHJlc29sdmVyLT5TaWduYWxEb25lKHJlc29sdmVyKTsKKyAgICB9KTsKK30KKwor
dm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpyZXNvbHZlZEFkZHJlc3NFcnJvcih1aW50NjRf
dCBpZGVudGlmaWVyLCBpbnQgZXJyb3IpCit7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0
d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgZXJyb3JdKCkgeworICAgICAgICBhdXRvKiBy
ZXNvbHZlciA9IG1fcmVzb2x2ZXJzLmdldChpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFyZXNv
bHZlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVzb2x2ZXItPnNldEVycm9yKGVy
cm9yKTsKKyAgICAgICAgcmVzb2x2ZXItPlNpZ25hbERvbmUocmVzb2x2ZXIpOworICAgIH0pOwor
fQorCit2b2lkIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6OlN0YXJ0
KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKK3sKKyAgICBtX2lzUmVzb2x2aW5n
ID0gdHJ1ZTsKKyAgICBtX2FkZHJlc3NUb1Jlc29sdmUgPSBhZGRyZXNzOworICAgIG1fcG9ydCA9
IGFkZHJlc3MucG9ydCgpOworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAg
ICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBhZGRyZXNzXSgpIHsKKyAgICAgICAgYXV0
byBhZGRyZXNzU3RyaW5nID0gYWRkcmVzcy5Ib3N0QXNVUklTdHJpbmcoKTsKKyAgICAgICAgV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZUFzeW5jUmVz
b2x2ZXIoaWRlbnRpZmllciwgU3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3Ry
aW5nLmxlbmd0aCgpKSksIDApOworICAgIH0pOworfQorCitib29sIFdlYlBhY2tldFNvY2tldEZh
Y3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6OkdldFJlc29sdmVkQWRkcmVzcyhpbnQgZmFtaWx5LCBy
dGM6OlNvY2tldEFkZHJlc3MqIGFkZHJlc3MpIGNvbnN0Cit7CisgICAgQVNTRVJUKGFkZHJlc3Mp
OworICAgIGlmIChtX2Vycm9yIHx8ICFtX2FkZHJlc3Nlcy5zaXplKCkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKworICAgICphZGRyZXNzID0gbV9hZGRyZXNzVG9SZXNvbHZlOworICAgIGZvciAo
YXV0byYgaXBBZGRyZXNzIDogbV9hZGRyZXNzZXMpIHsKKyAgICAgICAgaWYgKGZhbWlseSA9PSBp
cEFkZHJlc3MuZmFtaWx5KCkpIHsKKyAgICAgICAgICAgIGFkZHJlc3MtPlNldFJlc29sdmVkSVAo
aXBBZGRyZXNzKTsKKyAgICAgICAgICAgIGFkZHJlc3MtPlNldFBvcnQobV9wb3J0KTsKKyAgICAg
ICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAgfQorICAgIHJldHVybiBmYWxzZTsK
K30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpEZXN0
cm95KGJvb2wpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDKCkuc29j
a2V0RmFjdG9yeSgpLnN0b3BSZXNvbHZlcihtX2lkZW50aWZpZXIpOworfQorCit2b2lkIFdlYlBh
Y2tldFNvY2tldEZhY3Rvcnk6OnN0b3BSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKQorewor
ICAgIGF1dG8gcmVzb2x2ZXIgPSBtX3Jlc29sdmVycy50YWtlKGlkZW50aWZpZXIpOworICAgIEFT
U0VSVChyZXNvbHZlcik7CisgICAgaWYgKHJlc29sdmVyLT5pc1Jlc29sdmluZygpKSB7CisgICAg
ICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXJdKCkgeworICAgICAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlN0b3BBc3luY1Jlc29sdmVy
KGlkZW50aWZpZXIpLCAwKTsKKyAgICAgICAgfSk7CisgICAgfQorfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3Rvcnku
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29j
a2V0RmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjM0ZjdlNWMwZThiNzU4NGM4MDM1NTE0ODg4NDkxNmFj
YzQzN2U4NDcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuaApAQCAtMCwwICsxLDk0IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVk
ZSAiUlRDTmV0d29yay5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+Cisj
aW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0aGVscGVycy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9wMnAv
YmFzZS9wYWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJB
c3luY1Jlc29sdmVyOworY2xhc3MgV2ViUGFja2V0U29ja2V0OworCitjbGFzcyBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5IGZpbmFsIDogcHVibGljIHJ0Yzo6UGFja2V0U29ja2V0RmFjdG9yeSB7Citw
dWJsaWM6CisgICAgV2ViUGFja2V0U29ja2V0RmFjdG9yeSgpIHsgfQorCisgICAgdm9pZCBhdHRh
Y2goV2ViUGFja2V0U29ja2V0JiBzb2NrZXQpIHsgbV9wZW5kaW5nU29ja2V0cy5hcHBlbmQoJnNv
Y2tldCk7IH0KKyAgICB2b2lkIGRldGFjaChXZWJQYWNrZXRTb2NrZXQmKTsKKworICAgIFdlYlBh
Y2tldFNvY2tldCogd2ViUGFja2V0U29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIpIHsgcmV0dXJu
IG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcik7IH0KKworICAgIHZvaWQgZ2V0UmVzb2x2ZWRBZGRy
ZXNzKHVpbnQ2NF90LCBjb25zdCBWZWN0b3I8UlRDTmV0d29yazo6SVBBZGRyZXNzPiYpOworICAg
IHZvaWQgcmVzb2x2ZWRBZGRyZXNzRXJyb3IodWludDY0X3QsIGludCk7CisKK3ByaXZhdGU6Cisg
ICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0Yzo6U29j
a2V0QWRkcmVzcyYsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpIGZpbmFsOwor
ICAgIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZVNlcnZlclRjcFNvY2tldChjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmLCB1aW50MTZfdCBtaW5fcG9ydCwgdWludDE2X3QgbWF4X3BvcnQs
IGludCBvcHRpb25zKSBmaW5hbDsKKyAgICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVD
bGllbnRUY3BTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcywgY29uc3QgcnRjOjpQcm94eUlu
Zm8mLCBjb25zdCBzdGQ6OnN0cmluZyYsIGludCBvcHRpb25zKTsKKyAgICBydGM6OkFzeW5jUmVz
b2x2ZXJJbnRlcmZhY2UqIENyZWF0ZUFzeW5jUmVzb2x2ZXIoKSBmaW5hbDsKKyAgICB2b2lkIHN0
b3BSZXNvbHZlcih1aW50NjRfdCk7CisKKyAgICBjbGFzcyBXZWJBc3luY1Jlc29sdmVyIGZpbmFs
IDogcHVibGljIHJ0Yzo6QXN5bmNSZXNvbHZlckludGVyZmFjZSB7CisgICAgcHVibGljOgorICAg
ICAgICBXZWJBc3luY1Jlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpIDogbV9pZGVudGlmaWVy
KGlkZW50aWZpZXIpIHsgfQorCisgICAgICAgIHZvaWQgc2V0RXJyb3IoaW50IGVycm9yKSB7IG1f
ZXJyb3IgPSBlcnJvcjsgfQorICAgICAgICB2b2lkIHNldFJlc29sdmVkQWRkcmVzc2VzKFZlY3Rv
cjxydGM6OklQQWRkcmVzcz4mJiBhZGRyZXNzZXMpIHsgbV9hZGRyZXNzZXMgPSBXVEZNb3ZlKGFk
ZHJlc3Nlcyk7IH0KKyAgICAgICAgYm9vbCBpc1Jlc29sdmluZygpIGNvbnN0IHsgcmV0dXJuIG1f
aXNSZXNvbHZpbmc7IH0KKyAgICAgICAgdWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0
dXJuIG1faWRlbnRpZmllcjsgfQorCisgICAgcHJpdmF0ZToKKyAgICAgICAgdm9pZCBTdGFydChj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmKSBmaW5hbDsKKyAgICAgICAgYm9vbCBHZXRSZXNvbHZl
ZEFkZHJlc3MoaW50LCBydGM6OlNvY2tldEFkZHJlc3MqKSBjb25zdCBmaW5hbDsKKyAgICAgICAg
aW50IEdldEVycm9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9lcnJvcjsgfQorICAgICAgICB2
b2lkIERlc3Ryb3koYm9vbCkgZmluYWw7CisKKyAgICAgICAgdWludDY0X3QgbV9pZGVudGlmaWVy
OworICAgICAgICBWZWN0b3I8cnRjOjpJUEFkZHJlc3M+IG1fYWRkcmVzc2VzOworICAgICAgICBy
dGM6OlNvY2tldEFkZHJlc3MgbV9hZGRyZXNzVG9SZXNvbHZlOworICAgICAgICBpbnQgbV9lcnJv
ciB7IDAgfTsKKyAgICAgICAgdWludDE2X3QgbV9wb3J0IHsgMCB9OworICAgICAgICBib29sIG1f
aXNSZXNvbHZpbmcgeyBmYWxzZSB9OworICAgIH07CisKKyAgICBzdGF0aWMgdWludDY0X3Qgc191
bmlxdWVTb2NrZXRJZGVudGlmaWVyOworICAgIEhhc2hNYXA8dWludDY0X3QsIFdlYlBhY2tldFNv
Y2tldCo+IG1fc29ja2V0czsKKyAgICBWZWN0b3I8V2ViUGFja2V0U29ja2V0Kj4gbV9wZW5kaW5n
U29ja2V0czsKKworICAgIHN0YXRpYyB1aW50NjRfdCBzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmll
cjsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8V2ViQXN5bmNSZXNvbHZl
cj4+IG1fcmVzb2x2ZXJzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwCmluZGV4IGJmZTBkMjdiZTRlNWY5ZTE5YWU5MjJlYjQ4MTVjNjhhN2MyZTJmMjEu
LmEyMzFkY2EzNGE3ZmE3ZTA5MDJhN2RhMjU5MmFkMWI3NTFiNzQ2NDAgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTQwLDYgKzQwLDcgQEAK
ICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlQmFj
a0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIgor
I2luY2x1ZGUgIkxpYldlYlJUQ0NsaWVudC5oIgogI2luY2x1ZGUgIkxvYWRQYXJhbWV0ZXJzLmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHNjYXBlUGx1Z2luLmgiCkBAIC00
MDUsNyArNDA2LDkgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQsIGNvbnN0IFdl
YlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24uc3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyID0gV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVy
OjpnZXRPckNyZWF0ZShtX3BhZ2VHcm91cC0+cGFnZUdyb3VwSUQoKSk7CiAgICAgcGFnZUNvbmZp
Z3VyYXRpb24udXNlckNvbnRlbnRQcm92aWRlciA9IG1fdXNlckNvbnRlbnRDb250cm9sbGVyLnB0
cigpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLnZpc2l0ZWRMaW5rU3RvcmUgPSBWaXNpdGVkTGlu
a1RhYmxlQ29udHJvbGxlcjo6Z2V0T3JDcmVhdGUocGFyYW1ldGVycy52aXNpdGVkTGlua1RhYmxl
SUQpOwotCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBwYWdlQ29uZmlndXJhdGlvbi5saWJXZWJS
VENDbGllbnQgPSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ0NsaWVudD4oKTsKKyNlbmRpZgog
I2lmIEVOQUJMRShBUFBMRV9QQVkpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24ucGF5bWVudENvb3Jk
aW5hdG9yQ2xpZW50ID0gbmV3IFdlYlBheW1lbnRDb29yZGluYXRvcigqdGhpcyk7CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmluZGV4IGUxYzI2Yjk3MmRk
ZTA0MDAzMzM2NDBlODNiNjNmZDA0NGE2ZTRjYjUuLmZiOTRiYjg4YzJhM2UxMDZjZGNiN2JjMGRm
NTFlOWNjYTczY2EwNTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNw
cApAQCAtMzQsNiArMzQsNyBAQAogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCiAjaW5jbHVkZSAi
RXZlbnREaXNwYXRjaGVyLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKKyNpbmNsdWRl
ICJMaWJXZWJSVENDbGllbnQuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgpAQCAtMTU0Niw0ICsxNTQ3LDE0IEBAIHZvaWQgV2ViUHJvY2Vz
czo6cHJlZmV0Y2hETlMoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICBtX2Ruc1ByZWZldGNo
SHlzdGVyZXJpcy5pbXB1bHNlKCk7CiB9CiAKKyNpZiBVU0UoTElCV0VCUlRDKQordm9pZCBXZWJQ
cm9jZXNzOjppbml0aWFsaXplTGliV2ViUlRDKCkKK3sKKyAgICBpZiAoIW1fbGliV2ViUlRDKSB7
CisgICAgICAgIG1fbGliV2ViUlRDID0gc3RkOjptYWtlX3VuaXF1ZTxMaWJXZWJSVEM+KCk7Cisg
ICAgICAgIG1fbGliV2ViUlRDLT5pbml0aWFsaXplKCk7CisgICAgfQorfQorI2VuZGlmCisKIH0g
Ly8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApp
bmRleCA2ZWJjY2JiMjY5ZTlhMmYyZDQxNDE0OWYxNDNkNGM1YzgxNGIyMWM2Li5kNjNlYWFlOWRi
YzBlYmI2YzE0ZDUwNTllMzRhYzU4YmM0ZGUwZTVhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlByb2Nlc3MuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIK
ICNpbmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNsdWRlICJEcmF3aW5nQXJlYS5oIgorI2lu
Y2x1ZGUgIkxpYldlYlJUQy5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5oIgogI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2luY2x1ZGUgIlNh
bmRib3hFeHRlbnNpb24uaCIKQEAgLTE2NSw2ICsxNjYsMTEgQEAgcHVibGljOgogICAgIHZvaWQg
bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiop
OwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiB3ZWJMb2FkZXJTdHJhdGVneSgpOwogCisjaWYgVVNF
KExJQldFQlJUQykKKyAgICBMaWJXZWJSVEMmIGxpYldlYlJUQygpIHsgcmV0dXJuICptX2xpYldl
YlJUQzsgfQorICAgIHZvaWQgaW5pdGlhbGl6ZUxpYldlYlJUQygpOworI2VuZGlmCisKICNpZiBF
TkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKICAgICB2b2lkIHdlYlRvRGF0YWJhc2VQcm9jZXNzQ29u
bmVjdGlvbkNsb3NlZChXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24qKTsKICAgICBXZWJU
b0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24qIHdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlv
bigpOwpAQCAtMzc3LDYgKzM4MywxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bj4gbV9uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1f
d2ViTG9hZGVyU3RyYXRlZ3k7CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIHN0ZDo6dW5pcXVl
X3B0cjxMaWJXZWJSVEM+IG1fbGliV2ViUlRDOworI2VuZGlmCisKICAgICBIYXNoU2V0PFN0cmlu
Zz4gbV9kbnNQcmVmZXRjaGVkSG9zdHM7CiAgICAgV2ViQ29yZTo6SHlzdGVyZXNpc0FjdGl2aXR5
IG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299893</attachid>
            <date>2017-01-26 18:16:32 -0800</date>
            <delta_ts>2017-01-27 16:38:48 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170126181429.patch</filename>
            <type>text/plain</type>
            <size>152376</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMjA5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggZjgyNDlmYjBjYjQ0Mzkz
Y2EwNDE0MGQxMzA3NjMyYzMzODQwN2M4YS4uNGY5NDViZjJhMDRmOTM1MDcxZmZkYmNmMDRkYzUx
ZjRjODQ5OThjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NCBAQAorMjAxNy0wMS0yNiAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGliV2ViUlRD
IG5ldHdvcmtpbmcgdGhyb3VnaCBOZXR3b3JrUHJvY2Vzcy4KKyAgICAgICAgVGhlIGZvbGxvd2lu
ZyBjb21wb25lbnRzIGFyZSByZXF1aXJlZDoKKyAgICAgICAgMSBSZXNvbHV0aW9uIG9mIEROUyBu
YW1lcworICAgICAgICAyIEVudW1lcmF0aW9uIG9mIGludGVyZmFjZXMvZ2F0aGVyaW5nIG9mIGhv
c3QgYWRkcmVzc2VzCisgICAgICAgIDMgSW1wbGVtZW50YXRpb24gb2YgUGFja2V0IFNvY2tldCBm
b3IgVENQL1VEUCBjb21tdW5pY2F0aW9uLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50
cyB0aGUgcmVsYXRlZCBjbGFzc2VzIGluIFdlYlByb2Nlc3MgYW5kIE5ldHdvcmtQcm9jZXNzLgor
ICAgICAgICBSZXNvbHV0aW9uIG9mIEROUyBuYW1lcyBpcyBkb25lIHRocm91Z2ggdGhlIENGIEFQ
SSAodGFzayAxKS4KKyAgICAgICAgVGhlIHR3byBvdGhlcnMgYXJlIGltcGxlbWVudGVkIGluIE5l
dHdvcmtQcm9jZXNzIHVzaW5nIExpYldlYlJUQyBzdGFjay4KKworICAgICAgICBJbXBsZW1lbnRh
dGlvbiBvZiB0aGUgTGliV2ViUlRDUHJvdmlkZXIgZm9yIFdlYktpdDIuCisgICAgICAgIFRoaXMg
cHJvdmlkZXIgdXNlcyB0aGUgcmVsYXRlZCBjbGFzc2VzIHRvIGNyZWF0ZSBhIHBlZXIgY29ubmVj
dGlvbiBmYWN0b3J5IHRoYXQgd2lsbCB1c2UgdGhlbS4KKworICAgICAgICAqIENNYWtlTGlzdHMu
dHh0OgorICAgICAgICAqIENvbmZpZ3VyYXRpb25zL1dlYktpdC54Y2NvbmZpZzoKKyAgICAgICAg
KiBEZXJpdmVkU291cmNlcy5tYWtlOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNz
YWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNy
ZWF0ZVVEUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjpjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Y3JlYXRlQ2xpZW50VENQU29ja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJlc29sdmVkTmFtZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpjcmVhdGVBc3lu
Y1Jlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnN0b3BBc3luY1Jlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmFkZFBhY2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjp0YWtlUGFja2V0U29ja2V0KToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UmVzb2x2ZXI6OlJlc29sdmVy
KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OlJlc29s
dmVyOjp+UmVzb2x2ZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05l
dHdvcmtQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1Byb2Nlc3M6OnJ0Y05l
dHdvcmtUaHJlYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmg6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzOjpwYWNrZXRTb2NrZXRGYWN0b3J5KToK
KyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNw
cDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RhcnRV
cGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6c3RvcFVw
ZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpPbk1lc3Nh
Z2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTmV0d29ya01hbmFnZXI6OnN0YXJ0VXBkYXRp
bmdGcm9tTmV0d29ya1RocmVhZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtOZXR3b3JrTWFu
YWdlcjo6c3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrTmV0d29ya01hbmFnZXI6Om9uTmV0d29ya3NDaGFuZ2VkKToKKyAgICAgICAgKiBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmg6IEFkZGVkLgorICAgICAg
ICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIubWVzc2FnZXMu
aW46IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUGFja2V0
U29ja2V0LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6
OmNyZWF0ZVVEUCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0
ZUNsaWVudFRDUCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0
ZVNlcnZlclRDUCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6Ok5ldHdv
cmtQYWNrZXRTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0Ojp+
TmV0d29ya1BhY2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2Nr
ZXQ6Ok9uTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNs
ZWFuKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6bWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzZW5k
VG8pOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpjbG9zZSk6CisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNldE9wdGlvbik6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQpOgorICAgICAgICAo
V2ViS2l0OjpOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KToKKyAgICAg
ICAgKFdlYktpdDo6TmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdCk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKToKKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5oOiBBZGRlZC4KKyAgICAg
ICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5p
bjogQWRkZWQuCisgICAgICAgICogU2hhcmVkL1JUQ05ldHdvcmsuY3BwOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6UlRDTmV0d29yazo6UlRDTmV0d29yayk6CisgICAgICAgIChXZWJLaXQ6Omlw
cyk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OnZhbHVlKToKKyAgICAgICAgKFdlYktp
dDo6UlRDTmV0d29yazo6SVBBZGRyZXNzOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpSVENO
ZXR3b3JrOjpJUEFkZHJlc3M6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6
OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OmVuY29kZSk6CisgICAgICAg
ICogU2hhcmVkL1JUQ05ldHdvcmsuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdv
cms6OklQQWRkcmVzczo6SVBBZGRyZXNzKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6
aW5pdGlhbGl6ZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6d2ViUGFja2V0U29ja2V0
Rm9ySWRlbnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6bmV0d29ya01hbmFn
ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmg6IEFk
ZGVkLgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVEM6OnNvY2tldEZhY3RvcnkpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVEM6OmdldFJlc29sdmVkQWRkcmVzcyk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQzo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYkxpYldlYlJUQ1Byb3ZpZGVyLmNwcDogQWRk
ZWQuCisgICAgICAgIChXZWJLaXQ6OldlYkxpYldlYlJUQ1Byb3ZpZGVyOjpXZWJMaWJXZWJSVENQ
cm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6OldlYkxpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQ
ZWVyQ29ubmVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJM
aWJXZWJSVENQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Oldl
Yk5ldHdvcmtNYW5hZ2VyOjpTdGFydFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViTmV0
d29ya01hbmFnZXI6OlN0b3BVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYk5ldHdvcmtN
YW5hZ2VyOjpuZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAg
ICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuY3BwOiBBZGRl
ZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpXZWJQYWNrZXRTb2NrZXQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6On5XZWJQYWNrZXRTb2NrZXQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OkdldExvY2FsQWRkcmVzcyk6CisgICAgICAg
IChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6R2V0UmVtb3RlQWRkcmVzcyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFja2V0U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KToKKyAgICAgICAgKFdlYktp
dDo6V2ViUGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFja2V0U29ja2V0OjpzaWduYWxDb25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFj
a2V0U29ja2V0OjpzaWduYWxDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tl
dDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24pOgorICAgICAgICAoV2ViS2l0OjphdXRoS2V5KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0Ojp3aWxsU2VuZCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6U2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFj
a2V0U29ja2V0OjpDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6R2V0
T3B0aW9uKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpTZXRPcHRpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0Lmg6IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0
Lm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2Vi
UGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlU2VydmVyVGNwU29ja2V0KToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlVWRwU29ja2V0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlQ2xpZW50VGNwU29ja2V0KToK
KyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6ZGV0YWNoKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlQXN5bmNSZXNvbHZlcik6
CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OmdldFJlc29sdmVkQWRk
cmVzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OnJlc29sdmVk
QWRkcmVzc0Vycm9yKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6
V2ViQXN5bmNSZXNvbHZlcjo6U3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2Nr
ZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpHZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpEZXN0
cm95KToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6c3RvcFJlc29s
dmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tl
dEZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2Uu
Y3BwOgorICAgICAgICAoV2ViS2l0OjptX3VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24pOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Oldl
YlByb2Nlc3M6OmluaXRpYWxpemVMaWJXZWJSVEMpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjpsaWJXZWJSVEMpOgorCiAy
MDE3LTAxLTI2ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBbVGhyZWFkZWQgQ29tcG9zaXRvcl0gVXBkYXRlIGFsc28gdGhlIGNvbnRlbnRzIHNp
emUgd2hlbiBjcmVhdGluZyB0aGUgdGhyZWFkZWQgY29tcG9zaXRvcgpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4
dAppbmRleCA0NWI1Yzk2ODdmNDE0MzcyZDVmYmY3MDNhYmNlNmE0ODkxNDAxZjA4Li43NDg2OGZm
ZDE0Njk1ODM1MzQwM2U3MDMwZmI5Mzk3MmUzMTFjZjBjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApA
QCAtNTkzLDYgKzU5Myw4IEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgTmV0
d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KIAorICAgIE5ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluCisKICAgICBQbHVnaW5Qcm9j
ZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5tZXNzYWdlcy5pbgogICAgIFBsdWdpblByb2Nlc3Mv
UGx1Z2luUHJvY2Vzcy5tZXNzYWdlcy5pbgogICAgIFBsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb24ubWVzc2FnZXMuaW4KQEAgLTY0OSw2ICs2NTEsNyBAQCBzZXQoV2ViS2l0Ml9NRVNT
QUdFU19JTl9GSUxFUwogCiAgICAgV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRhdGFi
YXNlUHJveHkubWVzc2FnZXMuaW4KIAorICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nlc3MvTmV0d29yay9XZWJS
ZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9E
ZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpp
bmRleCBkY2E0ZjU4OGUxNThjMDI5ZDJlOGFjMmUxY2JkYTE0NDhlZTczNDQ4Li4yYjc5Yjc1N2Rm
ODI0YzBkNWJkMGVkYWZmMGY2ZGM0YWMwMTBmZTk4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKQEAgLTI4LDYgKzI4LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJLaXQyKS9OZXR3b3Jr
UHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9OZXR3b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMg
XAogICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3MvbWFjIFwKKyAgICAkKFdlYktpdDIpL05l
dHdvcmtQcm9jZXNzL3dlYnJ0YyBcCiAgICAgJChXZWJLaXQyKS9QbHVnaW5Qcm9jZXNzIFwKICAg
ICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MvbWFjIFwKICAgICAkKFdlYktpdDIpL1NoYXJlZC9Q
bHVnaW5zIFwKQEAgLTQ1LDYgKzQ2LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJLaXQyKS9XZWJQ
cm9jZXNzL0ljb25EYXRhYmFzZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL01lZGlhQ2Fj
aGUgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9OZXR3b3JrIFwKKyAgICAkKFdlYktpdDIp
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9O
b3RpZmljYXRpb25zIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvT3JpZ2luRGF0YSBcCiAg
ICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL1BsdWdpbnMgXApAQCAtOTUsOCArOTcsMTEgQEAgTUVT
U0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgRHJhd2luZ0FyZWEgXAogICAgIERyYXdpbmdBcmVhUHJv
eHkgXAogICAgIEV2ZW50RGlzcGF0Y2hlciBcCisgICAgTGliV2ViUlRDIFwKICAgICBOUE9iamVj
dE1lc3NhZ2VSZWNlaXZlciBcCiAgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MgXAor
ICAgIE5ldHdvcmtOZXR3b3JrTWFuYWdlciBcCisgICAgTmV0d29ya1BhY2tldFNvY2tldCBcCiAg
ICAgTmV0d29ya1Byb2Nlc3MgXAogICAgIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiBcCiAgICAg
TmV0d29ya1Byb2Nlc3NQcm94eSBcCkBAIC0xMzcsNyArMTQyLDkgQEAgTUVTU0FHRV9SRUNFSVZF
UlMgPSBcCiAgICAgV2ViSW5zcGVjdG9yIFwKICAgICBXZWJJbnNwZWN0b3JQcm94eSBcCiAgICAg
V2ViSW5zcGVjdG9yVUkgXAorICAgIFdlYk5ldHdvcmtNYW5hZ2VyIFwKICAgICBXZWJOb3RpZmlj
YXRpb25NYW5hZ2VyIFwKKyAgICBXZWJQYWNrZXRTb2NrZXQgXAogICAgIFdlYlBhZ2UgXAogICAg
IFdlYlBhZ2VQcm94eSBcCiAgICAgV2ViUGFzdGVib2FyZFByb3h5IFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcAppbmRleCA4YTI3YWIzYTBjMmQ1YzgyYzI0YTY0MzI0NmE2NjBmNzg5OTNl
ZTc1Li5kMDNmNjNmNWYyZjBlYjNkZjkwOWJjOGNhZTI2YWFlYWExMTFjNTg5IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0yOCwxNSArMjgsMjAgQEAKIAogI2luY2x1ZGUgIkJs
b2JEYXRhRmlsZVJlZmVyZW5jZVdpdGhTYW5kYm94RXh0ZW5zaW9uLmgiCiAjaW5jbHVkZSAiRGF0
YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ01lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya0Jsb2JSZWdpc3RyeS5oIgogI2luY2x1ZGUgIk5ldHdvcmtDYWNoZS5oIgogI2luY2x1
ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJO
ZXR3b3JrTG9hZC5oIgorI2luY2x1ZGUgIk5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VzLmgi
CisjaW5jbHVkZSAiTmV0d29ya1BhY2tldFNvY2tldC5oIgorI2luY2x1ZGUgIk5ldHdvcmtQYWNr
ZXRTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3Jr
UmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRl
ci5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCisjaW5jbHVk
ZSAiUlRDTmV0d29yay5oIgogI2luY2x1ZGUgIlJlbW90ZU5ldHdvcmtpbmdDb250ZXh0LmgiCiAj
aW5jbHVkZSAiU2Vzc2lvblRyYWNrZXIuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2Rl
cnMuaCIKQEAgLTQ2LDExICs1MSwxNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VMb2Fk
ZXJPcHRpb25zLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1Nlc3Npb25JRC5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CiAK
ICNpZiBVU0UoTkVUV09SS19TRVNTSU9OKQogI2luY2x1ZGUgIlBpbmdMb2FkLmgiCiAjZW5kaWYK
IAorI2lmIFVTRShMSUJXRUJSVEMpCisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvYXN5bmNwYWNrZXRz
b2NrZXQuaD4KKyNlbmRpZgorCiB1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKIAogbmFtZXNwYWNl
IFdlYktpdCB7CkBAIC02Miw2ICs3Miw5IEBAIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcz4gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZShJUEM6OkNvCiAKIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cyhJUEM6OkNvbm5lY3Rpb246OklkZW50aWZpZXIgY29ubmVjdGlvbklkZW50aWZpZXIpCiAgICAg
OiBtX2Nvbm5lY3Rpb24oSVBDOjpDb25uZWN0aW9uOjpjcmVhdGVTZXJ2ZXJDb25uZWN0aW9uKGNv
bm5lY3Rpb25JZGVudGlmaWVyLCAqdGhpcykpCisjaWYgVVNFKExJQldFQlJUQykKKyAgICAsIG1f
bmV0d29ya01hbmFnZXIoKnRoaXMpCisjZW5kaWYKIHsKICAgICBtX2Nvbm5lY3Rpb24tPm9wZW4o
KTsKIH0KQEAgLTc2LDcgKzg5LDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6ZGlkQ2xlYW51cFJlc291cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWQKIAogICAgIG1f
bmV0d29ya1Jlc291cmNlTG9hZGVycy5yZW1vdmUobG9hZGVyLmlkZW50aWZpZXIoKSk7CiB9Ci0g
ICAgCisKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQog
ewogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpAQCAt
ODUsMTIgKzk4LDI1IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvCiAgICAgfQogCiAgICAgaWYg
KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBIYXNoTWFwPFJlc291
cmNlTG9hZElkZW50aWZpZXIsIFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+Pjo6aXRlcmF0
b3IgbG9hZGVySXRlcmF0b3IgPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZmluZChkZWNvZGVy
LmRlc3RpbmF0aW9uSUQoKSk7CisgICAgICAgIGF1dG8gbG9hZGVySXRlcmF0b3IgPSBtX25ldHdv
cmtSZXNvdXJjZUxvYWRlcnMuZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CiAgICAgICAg
IGlmIChsb2FkZXJJdGVyYXRvciAhPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZW5kKCkpCiAg
ICAgICAgICAgICBsb2FkZXJJdGVyYXRvci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQotICAgIAorCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdl
UmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSkgeworICAgICAgICBhdXRvIHNvY2tldEl0ZXJhdG9yID0gbV9wYWNrZXRT
b2NrZXRzLmZpbmQoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpOworICAgICAgICBpZiAoc29ja2V0
SXRlcmF0b3IgIT0gbV9wYWNrZXRTb2NrZXRzLmVuZCgpKQorICAgICAgICAgICAgc29ja2V0SXRl
cmF0b3ItPnZhbHVlLT5kaWRSZWNlaXZlTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2UoY29ubmVj
dGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIu
bWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrTmV0d29ya01hbmFnZXI6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBtX25ldHdvcmtNYW5hZ2VyLmRpZFJl
Y2VpdmVOZXR3b3JrTmV0d29ya01hbmFnZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBBU1NFUlRfTk9UX1JFQUNIRUQo
KTsKIH0KIApAQCAtMzM0LDQgKzM2MCwxMTUgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6ZW5zdXJlTGVnYWN5UHJpdmF0ZUJyb3dzaW5nU2Vzc2lvbigpCiAgICAgTmV0d29y
a1Byb2Nlc3M6OnNpbmdsZXRvbigpLmVuc3VyZVByaXZhdGVCcm93c2luZ1Nlc3Npb24oU2Vzc2lv
bklEOjpsZWdhY3lQcml2YXRlU2Vzc2lvbklEKCkpOwogfQogCisjaWYgVVNFKExJQldFQlJUQykK
K3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZVVEUFNvY2tldCh1aW50
NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQs
IHVpbnQxNl90IG1heFBvcnQpCit7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJl
c3M7CisgICAgc29ja2V0QWRkcmVzcy5Gcm9tU3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7
CisKKyAgICBOZXR3b3JrUHJvY2Vzczo6c2luZ2xldG9uKCkucnRjTmV0d29ya1RocmVhZCgpLklu
dm9rZTx2b2lkPihSVENfRlJPTV9IRVJFLCBbdGhpcywgaWRlbnRpZmllciwgc29ja2V0QWRkcmVz
cywgbWluUG9ydCwgbWF4UG9ydF0oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFz
eW5jUGFja2V0U29ja2V0PiBzb2NrZXQoTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnBhY2tl
dFNvY2tldEZhY3RvcnkoKS5DcmVhdGVVZHBTb2NrZXQoc29ja2V0QWRkcmVzcywgbWluUG9ydCwg
bWF4UG9ydCkpOworICAgICAgICBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVhdGVVRFAoaWRlbnRp
ZmllciwgV1RGTW92ZShzb2NrZXQpLCAqdGhpcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCh1aW50NjRfdCBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2Nr
ZXRBZGRyZXNzOworICAgIHNvY2tldEFkZHJlc3MuRnJvbVN0cmluZyhhZGRyZXNzLnV0ZjgoKS5k
YXRhKCkpOworCisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJl
YWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3RoaXMsIGlkZW50aWZpZXIsIHNvY2tl
dEFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnNdKCkgeworICAgICAgICBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KE5ldHdvcmtQcm9jZXNzOjpz
aW5nbGV0b24oKS5wYWNrZXRTb2NrZXRGYWN0b3J5KCkuQ3JlYXRlU2VydmVyVGNwU29ja2V0KHNv
Y2tldEFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMpKTsKKyAgICAgICAgTmV0d29y
a1BhY2tldFNvY2tldDo6Y3JlYXRlU2VydmVyVENQKGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0
KSwgKnRoaXMpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzOjpjcmVhdGVDbGllbnRUQ1BTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgU3Ry
aW5nJiBsb2NhbEFkZHJlc3MsIGNvbnN0IFN0cmluZyYgcmVtb3RlQWRkcmVzcywgaW50IG9wdGlv
bnMpCit7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldExvY2FsQWRkcmVzczsKKyAgICBz
b2NrZXRMb2NhbEFkZHJlc3MuRnJvbVN0cmluZyhsb2NhbEFkZHJlc3MudXRmOCgpLmRhdGEoKSk7
CisKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0UmVtb3RlQWRkcmVzczsKKyAgICBzb2Nr
ZXRSZW1vdGVBZGRyZXNzLkZyb21TdHJpbmcocmVtb3RlQWRkcmVzcy51dGY4KCkuZGF0YSgpKTsK
KworICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCkuSW52
b2tlPHZvaWQ+KFJUQ19GUk9NX0hFUkUsIFt0aGlzLCBpZGVudGlmaWVyLCBzb2NrZXRMb2NhbEFk
ZHJlc3MsIHNvY2tldFJlbW90ZUFkZHJlc3MsIG9wdGlvbnNdKCkgeworICAgICAgICBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KE5ldHdvcmtQcm9jZXNzOjpz
aW5nbGV0b24oKS5wYWNrZXRTb2NrZXRGYWN0b3J5KCkuQ3JlYXRlQ2xpZW50VGNwU29ja2V0KHNv
Y2tldExvY2FsQWRkcmVzcywgc29ja2V0UmVtb3RlQWRkcmVzcywgeyB9LCB7IH0sIG9wdGlvbnMp
KTsKKyAgICAgICAgTmV0d29ya1BhY2tldFNvY2tldDo6Y3JlYXRlQ2xpZW50VENQKGlkZW50aWZp
ZXIsIFdURk1vdmUoc29ja2V0KSwgKnRoaXMpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzOjpyZXNvbHZlZE5hbWUoQ0ZIb3N0UmVmIGhvc3RSZWYsIENG
SG9zdEluZm9UeXBlIHR5cGVJbmZvLCBjb25zdCBDRlN0cmVhbUVycm9yICplcnJvciwgdm9pZCAq
aW5mbykKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHR5cGVJbmZvLCAhdHlwZUluZm8pOworCisgICAg
aWYgKGVycm9yLT5kb21haW4pIHsKKyAgICAgICAgLy8gRklYTUU6IE5lZWQgdG8gaGFuZGxlIGZh
aWx1cmUsIGJ1dCBpbmZvIGlzIG5vdCBwcm92aWRlZCBpbiB0aGUgY2FsbGJhY2suCisgICAgICAg
IHJldHVybjsKKyAgICB9CisKKyAgICBBU1NFUlQoaW5mbyk7CisgICAgYXV0byogcmVzb2x2ZXJJ
bmZvID0gc3RhdGljX2Nhc3Q8UmVzb2x2ZXIqPihpbmZvKTsKKyAgICBhdXRvIHJlc29sdmVyID0g
cmVzb2x2ZXJJbmZvLT5jb25uZWN0aW9uLT5tX3Jlc29sdmVycy50YWtlKHJlc29sdmVySW5mby0+
aWRlbnRpZmllcik7CisgICAgaWYgKCFyZXNvbHZlcikKKyAgICAgICAgcmV0dXJuOworCisgICAg
Qm9vbGVhbiByZXN1bHQ7CisgICAgQ0ZBcnJheVJlZiByZXNvbHZlZEFkZHJlc3NlcyA9IChDRkFy
cmF5UmVmKUNGSG9zdEdldEFkZHJlc3NpbmcoaG9zdFJlZiwgJnJlc3VsdCk7CisgICAgQVNTRVJU
X1VOVVNFRChyZXN1bHQsIHJlc3VsdCk7CisKKyAgICBzaXplX3QgY291bnQgPSBDRkFycmF5R2V0
Q291bnQocmVzb2x2ZWRBZGRyZXNzZXMpOworICAgIFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJl
c3M+IGFkZHJlc3NlczsKKyAgICBhZGRyZXNzZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShjb3Vu
dCk7CisKKyAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgY291bnQ7ICsraW5kZXgp
IHsKKyAgICAgICAgQ0ZEYXRhUmVmIGRhdGEgPSAoQ0ZEYXRhUmVmKUNGQXJyYXlHZXRWYWx1ZUF0
SW5kZXgocmVzb2x2ZWRBZGRyZXNzZXMsIGluZGV4KTsKKyAgICAgICAgYXV0byogYWRkcmVzcyA9
IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgc3RydWN0IHNvY2thZGRyX2luKj4oQ0ZEYXRhR2V0Qnl0
ZVB0cihkYXRhKSk7CisgICAgICAgIGFkZHJlc3Nlcy51bmNoZWNrZWRBcHBlbmQoUlRDTmV0d29y
azo6SVBBZGRyZXNzKHJ0Yzo6SVBBZGRyZXNzKGFkZHJlc3MtPnNpbl9hZGRyKSkpOworICAgIH0K
KyAgICByZXNvbHZlci0+Y29ubmVjdGlvbi0+bV9jb25uZWN0aW9uLT5zZW5kKE1lc3NhZ2VzOjpM
aWJXZWJSVEM6OkdldFJlc29sdmVkQWRkcmVzcyhyZXNvbHZlci0+aWRlbnRpZmllciwgYWRkcmVz
c2VzKSwgMCk7Cit9CisKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmNyZWF0
ZUFzeW5jUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBhZGRyZXNz
KQoreworCisgICAgQ0ZIb3N0UmVmIGhvc3QgPSBDRkhvc3RDcmVhdGVXaXRoTmFtZShrQ0ZBbGxv
Y2F0b3JEZWZhdWx0LCBhZGRyZXNzLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOworICAgIEFTU0VS
VChob3N0KTsKKworICAgIGF1dG8gcmVzb2x2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlc29sdmVy
PihpZGVudGlmaWVyLCAqdGhpcywgaG9zdCk7CisKKyAgICBDRkhvc3RDbGllbnRDb250ZXh0IGNv
bnRleHQ7CisgICAgY29udGV4dC52ZXJzaW9uID0gMDsKKyAgICBjb250ZXh0LmluZm8gPSByZXNv
bHZlci5nZXQoKTsKKyAgICBjb250ZXh0LmNvcHlEZXNjcmlwdGlvbiA9IG51bGxwdHI7CisgICAg
Y29udGV4dC5yZWxlYXNlID0gbnVsbHB0cjsKKyAgICBjb250ZXh0LnJldGFpbiA9IG51bGxwdHI7
CisKKyAgICBDRkhvc3RTZXRDbGllbnQoaG9zdCwgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OnJlc29sdmVkTmFtZSwgJmNvbnRleHQpOworICAgIENGSG9zdFNjaGVkdWxlV2l0aFJ1bkxv
b3AoaG9zdCwgQ0ZSdW5Mb29wR2V0Q3VycmVudCgpLCBrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUpOwor
ICAgIEJvb2xlYW4gcmVzdWx0ID0gQ0ZIb3N0U3RhcnRJbmZvUmVzb2x1dGlvbihob3N0LCBrQ0ZI
b3N0QWRkcmVzc2VzLCBudWxscHRyKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0
KTsKKworICAgIG1fcmVzb2x2ZXJzLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKHJlc29sdmVyKSk7
Cit9CisKK3ZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnN0b3BBc3luY1Jlc29s
dmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRv
bigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5JbnZva2U8dm9pZD4oUlRDX0ZST01fSEVSRSwgW3RoaXMs
IGlkZW50aWZpZXJdKCkgeworICAgICAgICBhdXRvIHJlc29sdmVyID0gbV9yZXNvbHZlcnMudGFr
ZShpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKHJlc29sdmVyKQorICAgICAgICAgICAgQ0ZIb3N0
Q2FuY2VsSW5mb1Jlc29sdXRpb24ocmVzb2x2ZXItPmhvc3QsIENGSG9zdEluZm9UeXBlOjprQ0ZI
b3N0QWRkcmVzc2VzKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzczo6YWRkUGFja2V0U29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVl
X3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiYmIHNvY2tldCkKK3sKKyAgICBtX3BhY2tldFNvY2tl
dHMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0
cjxOZXR3b3JrUGFja2V0U29ja2V0PiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6dGFr
ZVBhY2tldFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKQoreworICAgIHJldHVybiBtX3BhY2tl
dFNvY2tldHMudGFrZShpZGVudGlmaWVyKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9O
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDc5NjU2YmE0N2MyMjhiZTAwYTdi
MDc3MDI0MjgzNWVkNDU2NTU3YTIuLmQ2NzRhZWY4NzhhMTQ3M2MzYTRhYzQ4NTI1OGExZTA0M2Vm
YTJkZjEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMjksOSArMjksMTggQEAKICNp
bmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiRG93bmxvYWRJRC5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3
b3JrTmV0d29ya01hbmFnZXIuaCIKKworI2luY2x1ZGUgPENGTmV0d29yay9DRkhvc3QuaD4KKyNp
bmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgogI2luY2x1ZGUgPFdlYkNvcmUvUmVz
b3VyY2VMb2FkUHJpb3JpdHkuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCisjaWYg
VVNFKExJQldFQlJUQykKKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+CisjaW5j
bHVkZSA8d2VicnRjL3AycC9iYXNlL2Jhc2ljcGFja2V0c29ja2V0ZmFjdG9yeS5oPgorI2VuZGlm
CisKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIGNsYXNzIEJsb2JEYXRhRmlsZVJlZmVyZW5jZTsKIGNs
YXNzIFJlc291cmNlUmVxdWVzdDsKQEAgLTQwLDYgKzQ5LDcgQEAgY2xhc3MgUmVzb3VyY2VSZXF1
ZXN0OwogbmFtZXNwYWNlIFdlYktpdCB7CiAKIGNsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOworY2xhc3MgTmV0d29ya1BhY2tldFNvY2tldDsKIGNsYXNzIE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcjsKIGNsYXNzIFN5bmNOZXR3b3JrUmVzb3VyY2VMb2FkZXI7CiB0eXBlZGVmIHVpbnQ2
NF90IFJlc291cmNlTG9hZElkZW50aWZpZXI7CkBAIC01OSw2ICs2OSwxMiBAQCBwdWJsaWM6CiAK
ICAgICBSZWZQdHI8V2ViQ29yZTo6QmxvYkRhdGFGaWxlUmVmZXJlbmNlPiBnZXRCbG9iRGF0YUZp
bGVSZWZlcmVuY2VGb3JQYXRoKGNvbnN0IFN0cmluZyYgcGF0aCk7CiAKKyNpZiBVU0UoTElCV0VC
UlRDKQorICAgIHZvaWQgYWRkUGFja2V0U29ja2V0KHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8
TmV0d29ya1BhY2tldFNvY2tldD4mJik7CisgICAgc3RkOjp1bmlxdWVfcHRyPE5ldHdvcmtQYWNr
ZXRTb2NrZXQ+IHRha2VQYWNrZXRTb2NrZXQodWludDY0X3QpOworICAgIHZvaWQgcmVzb2x2ZXJE
b25lKHVpbnQ2NF90KTsKKyNlbmRpZgorCiBwcml2YXRlOgogICAgIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzKElQQzo6Q29ubmVjdGlvbjo6SWRlbnRpZmllcik7CiAKQEAgLTcxLDcgKzg3
LDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkUmVj
ZWl2ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0
ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jik7Ci0gICAgCisKICAgICB2b2lkIHNjaGVkdWxl
UmVzb3VyY2VMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CiAgICAg
dm9pZCBwZXJmb3JtU3luY2hyb25vdXNMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzJiwgUmVmPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UGVy
Zm9ybVN5bmNocm9ub3VzTG9hZDo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIGxvYWRQaW5n
KGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CkBAIC0xMDUsMTAgKzEyMSwz
OCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbnN1cmVMZWdhY3lQcml2YXRlQnJvd3NpbmdTZXNz
aW9uKCk7CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIHZvaWQgY3JlYXRlVURQU29ja2V0KHVp
bnQ2NF90LCBjb25zdCBTdHJpbmcmLCB1aW50MTZfdCwgdWludDE2X3QpOworICAgIHZvaWQgY3Jl
YXRlQ2xpZW50VENQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcm
LCBpbnQpOworICAgIHZvaWQgY3JlYXRlU2VydmVyVENQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBT
dHJpbmcmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQpOworICAgIHZv
aWQgY3JlYXRlQXN5bmNSZXNvbHZlcih1aW50NjRfdCwgY29uc3QgU3RyaW5nJik7CisgICAgdm9p
ZCBzdG9wQXN5bmNSZXNvbHZlcih1aW50NjRfdCk7CisjZW5kaWYKKwogICAgIFJlZjxJUEM6OkNv
bm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIAogICAgIEhhc2hNYXA8UmVzb3VyY2VMb2FkSWRlbnRp
ZmllciwgUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4+IG1fbmV0d29ya1Jlc291cmNlTG9h
ZGVyczsKICAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJl
ZmVyZW5jZT4+IG1fYmxvYkRhdGFGaWxlUmVmZXJlbmNlczsKKworI2lmIFVTRShMSUJXRUJSVEMp
CisgICAgc3RhdGljIHZvaWQgcmVzb2x2ZWROYW1lKENGSG9zdFJlZiwgQ0ZIb3N0SW5mb1R5cGUs
IGNvbnN0IENGU3RyZWFtRXJyb3IqLCB2b2lkKik7CisKKyAgICBzdHJ1Y3QgUmVzb2x2ZXIgewor
ICAgICAgICB1aW50NjRfdCBpZGVudGlmaWVyOworICAgICAgICBSZWY8TmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M+IGNvbm5lY3Rpb247CisgICAgICAgIENGSG9zdFJlZiBob3N0OworCisg
ICAgICAgIFJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIFJlZjxOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzcz4mJiBjb25uZWN0aW9uLCBSZXRhaW5QdHI8Q0ZIb3N0UmVmPiYmIGhvc3Qp
CisgICAgICAgICAgICA6IGlkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAgICAgICAgICwgY29u
bmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rpb24pKQorICAgICAgICAgICAgLCBob3N0KFdURk1vdmUo
aG9zdCkpIHsgfQorCisgICAgICAgIH5SZXNvbHZlcigpIHsgQ0ZSZWxlYXNlKGhvc3QpOyB9Cisg
ICAgfTsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8UmVzb2x2ZXI+PiBt
X3Jlc29sdmVyczsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8TmV0d29y
a1BhY2tldFNvY2tldD4+IG1fcGFja2V0U29ja2V0czsKKyAgICBOZXR3b3JrTmV0d29ya01hbmFn
ZXIgbV9uZXR3b3JrTWFuYWdlcjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCmluZGV4IGEyNjNh
NGVkZTM4OGViZTI1ZjdhNjY3OTE2Y2UwYmUwZDlkOTllM2QuLmVjM2I0YTU1NjNmY2Y0YWRhMGMw
Nzg1MzhkZmRjZWU0YmFlNTY0NTAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
Lm1lc3NhZ2VzLmluCkBAIC01Myw0ICs1MywxMiBAQCBtZXNzYWdlcyAtPiBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2VzcyBMZWdhY3lSZWNlaXZlciB7CiAgICAgU3RvcmVEZXJpdmVkRGF0YVRv
Q2FjaGUoV2ViS2l0OjpOZXR3b3JrQ2FjaGU6OkRhdGFLZXkga2V5LCBJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YSkKIAogICAgIEVuc3VyZUxlZ2FjeVByaXZhdGVCcm93c2luZ1Nlc3Npb24oKQorCisj
aWYgVVNFKExJQldFQlJUQykKKyAgICBDcmVhdGVVRFBTb2NrZXQoaW50IGlkZW50aWZpZXIsIFN0
cmluZyBsb2NhbEFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpCisg
ICAgQ3JlYXRlU2VydmVyVENQU29ja2V0KGludCBpZGVudGlmaWVyLCBTdHJpbmcgbG9jYWxBZGRy
ZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQgb3B0aW9ucykKKyAg
ICBDcmVhdGVDbGllbnRUQ1BTb2NrZXQoaW50IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJl
c3MsIFN0cmluZyByZW1vdGVBZGRyZXNzLCBpbnQgb3B0aW9ucykKKyAgICBDcmVhdGVBc3luY1Jl
c29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIFN0cmluZyBhZGRyZXNzKQorICAgIFN0b3BBc3lu
Y1Jlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCisjZW5kaWYKIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcCBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLmNwcAppbmRleCBmZmFmN2RiODU4
NzViY2U2NjBkODY2MzU0MmE5M2RkNWFjYzU3NDExLi5lNmY4ZWQyMGYxMTM1YjBhM2Y5YzJmMGVj
MzFlODEzNTA2OTA4OGU1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy9OZXR3b3JrUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MuY3BwCkBAIC02NjYsNCArNjY2LDE4IEBAIHZvaWQgTmV0d29ya1Byb2Nl
c3M6OnBsYXRmb3JtTG93TWVtb3J5SGFuZGxlcihDcml0aWNhbCkKIH0KICNlbmRpZgogCisjaWYg
VVNFKExJQldFQlJUQykKK3J0Yzo6VGhyZWFkJiBOZXR3b3JrUHJvY2Vzczo6cnRjTmV0d29ya1Ro
cmVhZCgpCit7CisgICAgaWYgKCFtX3J0Y05ldHdvcmtUaHJlYWQpIHsKKyAgICAgICAgbV9ydGNO
ZXR3b3JrVGhyZWFkID0gcnRjOjpUaHJlYWQ6OkNyZWF0ZVdpdGhTb2NrZXRTZXJ2ZXIoKTsKKyAg
ICAgICAgbV9ydGNOZXR3b3JrVGhyZWFkLT5TdGFydCgpOworCisgICAgICAgIEFTU0VSVCghbV9w
YWNrZXRTb2NrZXRGYWN0b3J5KTsKKyAgICAgICAgbV9wYWNrZXRTb2NrZXRGYWN0b3J5ID0gc3Rk
OjptYWtlX3VuaXF1ZTxydGM6OkJhc2ljUGFja2V0U29ja2V0RmFjdG9yeT4obV9ydGNOZXR3b3Jr
VGhyZWFkLmdldCgpKTsKKyAgICB9CisgICAgcmV0dXJuICptX3J0Y05ldHdvcmtUaHJlYWQ7Cit9
CisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MuaAppbmRleCBkYWIz
NzU0ZTAyMGM2M2E5ZGYyMDFhNWJkOWRhMWRlOWIxMDU2YTQ4Li5jMDQwODFlZjUzMWFlYzcwY2M3
YzY5YjFmYzg3NGI5YWFhMWM1Y2YwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL05ldHdvcmtQcm9jZXNzLmgKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNsdWRlICJEb3dubG9h
ZE1hbmFnZXIuaCIKICNpbmNsdWRlICJNZXNzYWdlUmVjZWl2ZXJNYXAuaCIKICNpbmNsdWRlIDxX
ZWJDb3JlL0RpYWdub3N0aWNMb2dnaW5nQ2xpZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MaWJX
ZWJSVENNYWNyb3MuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lbW9yeVByZXNzdXJlSGFuZGxlci5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvU2Vzc2lvbklELmg+CiAjaW5jbHVkZSA8bWVtb3J5PgpAQCAt
NDIsNiArNDMsMTAgQEAKICNpbmNsdWRlICJXZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXIuaCIKICNl
bmRpZgogCisjaWYgVVNFKExJQldFQlJUQykKKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvYmFz
aWNwYWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjZW5kaWYKKwogbmFtZXNwYWNlIFdlYkNvcmUgewog
Y2xhc3MgRG93bmxvYWRJRDsKIGNsYXNzIENlcnRpZmljYXRlSW5mbzsKQEAgLTExOCw2ICsxMjMs
MTEgQEAgcHVibGljOgogCiAgICAgc3RkOjpjaHJvbm86Om1pbGxpc2Vjb25kcyBsb2FkVGhyb3R0
bGVMYXRlbmN5KCkgY29uc3QgeyByZXR1cm4gbV9sb2FkVGhyb3R0bGVMYXRlbmN5OyB9CiAKKyNp
ZiBVU0UoTElCV0VCUlRDKQorICAgIHJ0Yzo6QmFzaWNQYWNrZXRTb2NrZXRGYWN0b3J5JiBwYWNr
ZXRTb2NrZXRGYWN0b3J5KCkgeyByZXR1cm4gKm1fcGFja2V0U29ja2V0RmFjdG9yeTsgfQorICAg
IHJ0Yzo6VGhyZWFkJiBydGNOZXR3b3JrVGhyZWFkKCk7CisjZW5kaWYKKwogcHJpdmF0ZToKICAg
ICBOZXR3b3JrUHJvY2VzcygpOwogICAgIH5OZXR3b3JrUHJvY2VzcygpOwpAQCAtMjMwLDYgKzI0
MCwxMSBAQCBwcml2YXRlOgogI2lmIFBMQVRGT1JNKElPUykKICAgICBXZWJTUUxpdGVEYXRhYmFz
ZVRyYWNrZXIgbV93ZWJTUUxpdGVEYXRhYmFzZVRyYWNrZXI7CiAjZW5kaWYKKworI2lmIFVTRShM
SUJXRUJSVEMpCisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QmFzaWNQYWNrZXRTb2NrZXRGYWN0
b3J5PiBtX3BhY2tldFNvY2tldEZhY3Rvcnk7CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6VGhy
ZWFkPiBtX3J0Y05ldHdvcmtUaHJlYWQ7CisjZW5kaWYKIH07CiAKIH0gLy8gbmFtZXNwYWNlIFdl
YktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtOZXR3b3JrTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ODdhYjFjZGNjODkz
ZGIzYTZlMzY3YmJjMDQyMzdlNTFlZGZmMWU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHAKQEAg
LTAsMCArMSwxMDIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVk
ZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5j
bHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworZW51bSB7Cisg
ICAgTWVzc2FnZVN0YXJ0LAorICAgIE1lc3NhZ2VTdG9wCit9OworCit2b2lkIE5ldHdvcmtOZXR3
b3JrTWFuYWdlcjo6c3RhcnRVcGRhdGluZygpCit7CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmds
ZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5Qb3N0KFJUQ19GUk9NX0hFUkUsIHRoaXMsIE1lc3Nh
Z2VTdGFydCk7Cit9CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpzdG9wVXBkYXRpbmco
KQoreworICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCku
UG9zdChSVENfRlJPTV9IRVJFLCB0aGlzLCBNZXNzYWdlU3RvcCk7Cit9CisKK3ZvaWQgTmV0d29y
a05ldHdvcmtNYW5hZ2VyOjpPbk1lc3NhZ2UocnRjOjpNZXNzYWdlKiBtZXNzYWdlKQoreworICAg
IHN3aXRjaCAobWVzc2FnZS0+bWVzc2FnZV9pZCkgeworICAgIGNhc2UgTWVzc2FnZVN0YXJ0Ogor
ICAgICAgICBzdGFydFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsKKyAgICAgICAgYnJlYWs7
CisgICAgY2FzZSBNZXNzYWdlU3RvcDoKKyAgICAgICAgc3RvcFVwZGF0aW5nRnJvbU5ldHdvcmtU
aHJlYWQoKTsKKyAgICAgICAgYnJlYWs7CisgICAgfQorfQorCit2b2lkIE5ldHdvcmtOZXR3b3Jr
TWFuYWdlcjo6c3RhcnRVcGRhdGluZ0Zyb21OZXR3b3JrVGhyZWFkKCkKK3sKKyAgICBtX21hbmFn
ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPHJ0Yzo6QmFzaWNOZXR3b3JrTWFuYWdlcj4oKTsKKyAgICBt
X21hbmFnZXItPlNpZ25hbE5ldHdvcmtzQ2hhbmdlZC5jb25uZWN0KHRoaXMsICZOZXR3b3JrTmV0
d29ya01hbmFnZXI6Om9uTmV0d29ya3NDaGFuZ2VkKTsKKyAgICBtX21hbmFnZXItPlN0YXJ0VXBk
YXRpbmcoKTsKK30KKwordm9pZCBOZXR3b3JrTmV0d29ya01hbmFnZXI6OnN0b3BVcGRhdGluZ0Zy
b21OZXR3b3JrVGhyZWFkKCkKK3sKKyAgICBtX21hbmFnZXItPlN0b3BVcGRhdGluZygpOworICAg
IG1fbWFuYWdlciA9IG51bGxwdHI7Cit9CisKK3ZvaWQgTmV0d29ya05ldHdvcmtNYW5hZ2VyOjpv
bk5ldHdvcmtzQ2hhbmdlZCgpCit7CisgICAgcnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyOjpOZXR3
b3JrTGlzdCBuZXR3b3JrczsKKyAgICBtX21hbmFnZXItPkdldE5ldHdvcmtzKCZuZXR3b3Jrcyk7
CisKKyAgICBSVENOZXR3b3JrOjpJUEFkZHJlc3MgaXB2NDsKKyAgICBtX21hbmFnZXItPkdldERl
ZmF1bHRMb2NhbEFkZHJlc3MoQUZfSU5FVCwgJmlwdjQudmFsdWUpOworICAgIFJUQ05ldHdvcms6
OklQQWRkcmVzcyBpcHY2OworICAgIG1fbWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhB
Rl9JTkVUNiwgJmlwdjYudmFsdWUpOworCisgICAgVmVjdG9yPFJUQ05ldHdvcms+IG5ldHdvcmtM
aXN0OworICAgIG5ldHdvcmtMaXN0LnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobmV0d29ya3Muc2l6
ZSgpKTsKKyAgICBmb3IgKGF1dG8qIG5ldHdvcmsgOiBuZXR3b3JrcykgeworICAgICAgICBBU1NF
UlQobmV0d29yayk7CisgICAgICAgIG5ldHdvcmtMaXN0LnVuY2hlY2tlZEFwcGVuZCh7ICpuZXR3
b3JrIH0pOworICAgIH0KKworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIG5ldHdvcmtMaXN0
ID0gV1RGTW92ZShuZXR3b3JrTGlzdCksIGlwdjQgPSBXVEZNb3ZlKGlwdjQpLCBpcHY2ID0gV1RG
TW92ZShpcHY2KV0geworICAgICAgICBtX2Nvbm5lY3Rpb24uY29ubmVjdGlvbigpLnNlbmQoTWVz
c2FnZXM6OldlYk5ldHdvcmtNYW5hZ2VyOjpOZXR3b3Jrc0NoYW5nZWQobmV0d29ya0xpc3QsIGlw
djQsIGlwdjYpLCAwKTsKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjBkNTY3MDBhZjMzOWEyNTMwMjJmMTNlOTIwNDM5YmM5NDZlZDYwZWEKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya05ldHdvcmtN
YW5hZ2VyLmgKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmgi
CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0d29yay5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNl
L3NpZ3Nsb3QuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS90aHJlYWQuaD4KKworbmFtZXNwYWNl
IElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworCitjbGFz
cyBOZXR3b3JrTmV0d29ya01hbmFnZXIgZmluYWwgOiBwcml2YXRlIHJ0Yzo6TWVzc2FnZUhhbmRs
ZXIsIHB1YmxpYyBzaWdzbG90OjpoYXNfc2xvdHM8PiB7CitwdWJsaWM6CisgICAgZXhwbGljaXQg
TmV0d29ya05ldHdvcmtNYW5hZ2VyKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25u
ZWN0aW9uKSA6IG1fY29ubmVjdGlvbihjb25uZWN0aW9uKSB7IH0KKworICAgIC8vIE1lc3NhZ2Ug
aGFuZGxlcnMuCisgICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lk
IHN0YXJ0VXBkYXRpbmcoKTsKKyAgICB2b2lkIHN0b3BVcGRhdGluZygpOworCisgICAgdm9pZCBP
bk1lc3NhZ2UocnRjOjpNZXNzYWdlKik7CisKKyAgICB2b2lkIHN0b3BVcGRhdGluZ0Zyb21OZXR3
b3JrVGhyZWFkKCk7CisgICAgdm9pZCBzdGFydFVwZGF0aW5nRnJvbU5ldHdvcmtUaHJlYWQoKTsK
KworICAgIHZvaWQgb25OZXR3b3Jrc0NoYW5nZWQoKTsKKworICAgIE5ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzJiBtX2Nvbm5lY3Rpb247CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QmFz
aWNOZXR3b3JrTWFuYWdlcj4gbV9tYW5hZ2VyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFn
ZXIubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzk0OGFkYWZiM2IyMTk4ZTg2MzkwZjBhYWJmOGM0
YmQ5NWZmNjYzZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwz
MCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisj
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJ
QldFQlJUQykKKworbWVzc2FnZXMgLT4gTmV0d29ya05ldHdvcmtNYW5hZ2VyIExlZ2FjeVJlY2Vp
dmVyIHsKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmcoKQorICAgIHZvaWQgU3RvcFVwZGF0aW5nKCkK
K30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5jcHAgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMzZmOTgwNGFkZDBhMjQxZjliYTI1YjdiYjJlNzU4N2UwY2ZmZDcwNgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UGFja2V0U29ja2V0LmNwcApAQCAtMCwwICsxLDE5MiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrUGFja2V0U29ja2V0LmgiCisKKyNpZiBVU0Uo
TElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIk5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3MuaCIK
KyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUv
U2hhcmVkQnVmZmVyLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvYXN5bmNwYWNrZXRzb2NrZXQu
aD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
dm9pZCBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVhdGVVRFAodWludDY0X3QgaWRlbnRpZmllciwg
c3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYgc29ja2V0LCBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikKK3sKKyAgICBzdGQ6OnVuaXF1ZV9w
dHI8TmV0d29ya1BhY2tldFNvY2tldD4gcGFja2V0U29ja2V0KG5ldyBOZXR3b3JrUGFja2V0U29j
a2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwgY29ubmVjdGlvbikpOworCisgICAgaWYg
KCFwYWNrZXRTb2NrZXQtPm1fc29ja2V0KQorICAgICAgICByZXR1cm47CisKKyAgICBwYWNrZXRT
b2NrZXQtPnNpZ25hbEFkZHJlc3NSZWFkeShwYWNrZXRTb2NrZXQtPm1fc29ja2V0LmdldCgpLCBw
YWNrZXRTb2NrZXQtPm1fc29ja2V0LT5HZXRMb2NhbEFkZHJlc3MoKSk7CisgICAgY29ubmVjdGlv
bi5hZGRQYWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShwYWNrZXRTb2NrZXQpKTsKK30K
Kwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0OjpjcmVhdGVDbGllbnRUQ1AodWludDY0X3QgaWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYgc29ja2V0
LCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikKK3sKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8TmV0d29ya1BhY2tldFNvY2tldD4gcGFja2V0U29ja2V0KG5ldyBOZXR3b3Jr
UGFja2V0U29ja2V0KGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0KSwgY29ubmVjdGlvbikpOwor
CisgICAgaWYgKCFwYWNrZXRTb2NrZXQtPm1fc29ja2V0KQorICAgICAgICByZXR1cm47CisKKyAg
ICBjb25uZWN0aW9uLmFkZFBhY2tldFNvY2tldChpZGVudGlmaWVyLCBXVEZNb3ZlKHBhY2tldFNv
Y2tldCkpOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNyZWF0ZVNlcnZlclRDUCh1
aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tl
dD4mJiBzb2NrZXQsIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQor
eworICAgIHN0ZDo6dW5pcXVlX3B0cjxOZXR3b3JrUGFja2V0U29ja2V0PiBwYWNrZXRTb2NrZXQo
bmV3IE5ldHdvcmtQYWNrZXRTb2NrZXQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpLCBjb25u
ZWN0aW9uKSk7CisKKyAgICBpZiAoIXBhY2tldFNvY2tldC0+bV9zb2NrZXQpCisgICAgICAgIHJl
dHVybjsKKworICAgIHBhY2tldFNvY2tldC0+c2lnbmFsQWRkcmVzc1JlYWR5KHBhY2tldFNvY2tl
dC0+bV9zb2NrZXQuZ2V0KCksIHBhY2tldFNvY2tldC0+bV9zb2NrZXQtPkdldExvY2FsQWRkcmVz
cygpKTsKKyAgICBjb25uZWN0aW9uLmFkZFBhY2tldFNvY2tldChpZGVudGlmaWVyLCBXVEZNb3Zl
KHBhY2tldFNvY2tldCkpOworfQorCitOZXR3b3JrUGFja2V0U29ja2V0OjpOZXR3b3JrUGFja2V0
U29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFj
a2V0U29ja2V0PiYmIHNvY2tldCwgUmVmPE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzPiYm
IGNvbm5lY3Rpb24pCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAsIG1fc29j
a2V0KFdURk1vdmUoc29ja2V0KSkKKyAgICAsIG1fY29ubmVjdGlvbihXVEZNb3ZlKGNvbm5lY3Rp
b24pKQoreworICAgIEFTU0VSVChtX3NvY2tldCk7CisKKyAgICBpZiAoIW1fc29ja2V0KSB7Cisg
ICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhY2tldFNvY2tldDo6U2lnbmFsQ2xvc2UoMSkpOwor
ICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgbV9zb2NrZXQtPlNpZ25hbFJlYWRQYWNrZXQu
Y29ubmVjdCh0aGlzLCAmTmV0d29ya1BhY2tldFNvY2tldDo6c2lnbmFsUmVhZFBhY2tldCk7Cisg
ICAgbV9zb2NrZXQtPlNpZ25hbFNlbnRQYWNrZXQuY29ubmVjdCh0aGlzLCAmTmV0d29ya1BhY2tl
dFNvY2tldDo6c2lnbmFsU2VudFBhY2tldCk7CisgICAgbV9zb2NrZXQtPlNpZ25hbEFkZHJlc3NS
ZWFkeS5jb25uZWN0KHRoaXMsICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNzUmVh
ZHkpOworICAgIG1fc29ja2V0LT5TaWduYWxDb25uZWN0LmNvbm5lY3QodGhpcywgJk5ldHdvcmtQ
YWNrZXRTb2NrZXQ6OnNpZ25hbENvbm5lY3QpOworICAgIG1fc29ja2V0LT5TaWduYWxDbG9zZS5j
b25uZWN0KHRoaXMsICZOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxDbG9zZSk7Cit9CisKK05l
dHdvcmtQYWNrZXRTb2NrZXQ6On5OZXR3b3JrUGFja2V0U29ja2V0KCkKK3sKK30KKwordm9pZCBO
ZXR3b3JrUGFja2V0U29ja2V0OjpPbk1lc3NhZ2UocnRjOjpNZXNzYWdlKiBtZXNzYWdlKQorewor
ICAgIEFTU0VSVChtZXNzYWdlLT5tZXNzYWdlX2lkID09IDEpOworICAgIGRlbGV0ZSB0aGlzOwor
fQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OmNsZWFuKCkKK3sKKyAgICBhdXRvIHBhY2tl
dFNvY2tldCA9IG1fY29ubmVjdGlvbi0+dGFrZVBhY2tldFNvY2tldChtX2lkZW50aWZpZXIpOwor
CisgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJ0Y05ldHdvcmtUaHJlYWQoKS5Qb3N0
KFJUQ19GUk9NX0hFUkUsIHBhY2tldFNvY2tldC5yZWxlYXNlKCksIDEpOworfQorCitJUEM6OkNv
bm5lY3Rpb24qIE5ldHdvcmtQYWNrZXRTb2NrZXQ6Om1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkK
K3sKKyAgICByZXR1cm4gJm1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpOworfQorCit2b2lkIE5l
dHdvcmtQYWNrZXRTb2NrZXQ6OnNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEs
IGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50
IHBhY2tldElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNpb25JRCwgU3RyaW5nIHNydHBBdXRoLCBp
bnQ2NF90IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3ApCit7CisgICAgQVNTRVJUKG1fc29ja2V0
KTsKKworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2NrZXRBZGRyZXNzKGFkZHJlc3MudmFsdWUs
IHBvcnQpOworCisgICAgcnRjOjpQYWNrZXRPcHRpb25zIG9wdGlvbnM7CisgICAgb3B0aW9ucy5w
YWNrZXRfaWQgPSBwYWNrZXRJRDsKKyAgICBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5ydHBf
c2VuZHRpbWVfZXh0ZW5zaW9uX2lkID0gcnRwU2VuZHRpbWVFeHRlbnNpb25JRDsKKyAgICBvcHRp
b25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX3BhY2tldF9pbmRleCA9IHNydHBQYWNrZXRJbmRl
eDsKKyAgICBvcHRpb25zLmRzY3AgPSBzdGF0aWNfY2FzdDxydGM6OkRpZmZTZXJ2Q29kZVBvaW50
Pihkc2NwKTsKKyAgICBpZiAoc3J0cEF1dGgudXRmOCgpLmxlbmd0aCgpKSB7CisgICAgICAgIG9w
dGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkgPSBzdGQ6OnZlY3RvcjxjaGFy
PihzcnRwQXV0aC51dGY4KCkuZGF0YSgpLCBzcnRwQXV0aC51dGY4KCkuZGF0YSgpICsgc3J0cEF1
dGgudXRmOCgpLmxlbmd0aCgpKTsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMu
c3J0cF9hdXRoX3RhZ19sZW4gPSBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCk7CisgICAgfSBlbHNl
CisgICAgICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF90YWdfbGVuID0g
LTE7CisKKyAgICBSZWZQdHI8V2ViQ29yZTo6U2hhcmVkQnVmZmVyPiBidWZmZXIgPSBXZWJDb3Jl
OjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgIE5l
dHdvcmtQcm9jZXNzOjpzaW5nbGV0b24oKS5ydGNOZXR3b3JrVGhyZWFkKCkuSW52b2tlPHZvaWQ+
KFJUQ19GUk9NX0hFUkUsIFt0aGlzLCBhZGRyZXNzLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciks
IHNvY2tldEFkZHJlc3MsIG9wdGlvbnNdKCkgeworICAgICAgICBtX3NvY2tldC0+U2VuZFRvKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5z
aXplKCksIHNvY2tldEFkZHJlc3MsIG9wdGlvbnMpOworICAgIH0pOworfQorCit2b2lkIE5ldHdv
cmtQYWNrZXRTb2NrZXQ6OmNsb3NlKCkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXQpOworICAgIG1f
c29ja2V0LT5DbG9zZSgpOworfQorCit2b2lkIE5ldHdvcmtQYWNrZXRTb2NrZXQ6OnNldE9wdGlv
bihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCit7CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKyAgICBt
X3NvY2tldC0+U2V0T3B0aW9uKHN0YXRpY19jYXN0PHJ0Yzo6U29ja2V0OjpPcHRpb24+KG9wdGlv
biksIHZhbHVlKTsKK30KKwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxSZWFkUGFj
a2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBjaGFyKiB2YWx1ZSwgc2l6ZV90IGxl
bmd0aCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tl
dFRpbWUmIHBhY2tldFRpbWUpCit7CisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRC
dWZmZXI6OmNyZWF0ZSh2YWx1ZSwgbGVuZ3RoKTsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW3Ro
aXMsIGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcywgcGFja2V0VGltZV0oKSB7Cisg
ICAgICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWlu
dDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5zaXplKCkpOworICAgICAgICBzZW5kKE1l
c3NhZ2VzOjpXZWJQYWNrZXRTb2NrZXQ6OlNpZ25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29y
azo6SVBBZGRyZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGlt
ZS50aW1lc3RhbXApKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0Ojpz
aWduYWxTZW50UGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNlbnRQ
YWNrZXQmIHNlbnRQYWNrZXQpCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbdGhpcywgc2VudFBh
Y2tldF0oKSB7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBhY2tldFNvY2tldDo6U2lnbmFs
U2VudFBhY2tldChzZW50UGFja2V0LnBhY2tldF9pZCwgc2VudFBhY2tldC5zZW5kX3RpbWVfbXMp
KTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNz
UmVhZHkocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYg
YWRkcmVzcykKK3sKKyAgICAvLyBGSVhNRTogQ2hlY2sgdGhlIGFkZHJlc3M/CisgICAgY2FsbE9u
TWFpblRocmVhZChbdGhpcywgYWRkcmVzc10oKSB7CisgICAgICAgIGF1dG8gYWRkcmVzc1N0cmlu
ZyA9IGFkZHJlc3MuVG9TdHJpbmcoKTsKKyAgICAgICAgc2VuZChNZXNzYWdlczo6V2ViUGFja2V0
U29ja2V0OjpTaWduYWxBZGRyZXNzUmVhZHkoU3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBh
ZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSkpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtQYWNr
ZXRTb2NrZXQ6OnNpZ25hbENvbm5lY3QocnRjOjpBc3luY1BhY2tldFNvY2tldCopCit7CisgICAg
Y2FsbE9uTWFpblRocmVhZChbdGhpc10oKSB7CisgICAgICAgIHNlbmQoTWVzc2FnZXM6OldlYlBh
Y2tldFNvY2tldDo6U2lnbmFsQ29ubmVjdCgpKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3Jr
UGFja2V0U29ja2V0OjpzaWduYWxDbG9zZShydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgaW50IGVy
cm9yKQoreworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIGVycm9yXSgpIHsKKyAgICAgICAg
c2VuZChNZXNzYWdlczo6V2ViUGFja2V0U29ja2V0OjpTaWduYWxDbG9zZShlcnJvcikpOworICAg
ICAgICBjbGVhbigpOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41NTlj
OTliODQ0ZjExN2M2NDJiNTdlNWQ3OGE2ODRiYjk0YTBhZDE4Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQu
aApAQCAtMCwwICsxLDg3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0Uo
TElCV0VCUlRDKQorCisjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgorI2luY2x1ZGUgIlJUQ05l
dHdvcmsuaCIKKworI2luY2x1ZGUgIldlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmgiCisjaW5jbHVk
ZSAid2VicnRjL2Jhc2Uvc2lnc2xvdC5oIgorCituYW1lc3BhY2UgcnRjIHsKK2NsYXNzIEFzeW5j
UGFja2V0U29ja2V0OworY2xhc3MgU29ja2V0QWRkcmVzczsKKworc3RydWN0IFBhY2tldFRpbWU7
CitzdHJ1Y3QgU2VudFBhY2tldDsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworCitjbGFzcyBOZXR3b3JrUGFja2V0U29ja2V0
IGZpbmFsIDogcHVibGljIElQQzo6TWVzc2FnZVNlbmRlciwgcHVibGljIHJ0Yzo6TWVzc2FnZUhh
bmRsZXIsIHB1YmxpYyBzaWdzbG90OjpoYXNfc2xvdHM8PiB7CitwdWJsaWM6CisgICAgc3RhdGlj
IHZvaWQgY3JlYXRlVURQKHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6
OkFzeW5jUGFja2V0U29ja2V0PiYmLCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYpOwor
ICAgIHN0YXRpYyB2b2lkIGNyZWF0ZUNsaWVudFRDUCh1aW50NjRfdCBpZGVudGlmaWVyLCBzdGQ6
OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJiwgTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MmKTsKKyAgICBzdGF0aWMgdm9pZCBjcmVhdGVTZXJ2ZXJUQ1AodWludDY0X3Qg
aWRlbnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYsIE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJik7CisgICAgdmlydHVhbCB+TmV0d29ya1BhY2tl
dFNvY2tldCgpOworCisgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KKyAgICB2b2lkIGRpZFJlY2Vp
dmVOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29k
ZXImKTsKKworcHJpdmF0ZToKKyAgICBOZXR3b3JrUGFja2V0U29ja2V0KHVpbnQ2NF90IGlkZW50
aWZpZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmLCBSZWY8TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M+JiYpOworCisgICAgYm9vbCBpc0Nsb3NlZCgpIGNv
bnN0IHsgcmV0dXJuICFtX3NvY2tldDsgfQorICAgIHZvaWQgY2xlYW4oKTsKKworICAgIC8vIElQ
Qzo6TWVzc2FnZVNlbmRlcgorICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRlckNvbm5l
Y3Rpb24oKSBmaW5hbDsKKyAgICB1aW50NjRfdCBtZXNzYWdlU2VuZGVyRGVzdGluYXRpb25JRCgp
IGZpbmFsIHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCisgICAgdm9pZCBzZW5kVG8oY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgdWludDE2
X3QgcG9ydCwgaW50IHBhY2tldElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNpb25JRCwgU3RyaW5n
IHNydHBBdXRoLCBpbnQ2NF90IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3ApOworICAgIHZvaWQg
Y2xvc2UoKTsKKyAgICB2b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpOworCisg
ICAgdm9pZCBzaWduYWxSZWFkUGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBj
aGFyKiwgc2l6ZV90LCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tl
dFRpbWUmKTsKKyAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tl
dCosIGNvbnN0IHJ0Yzo6U2VudFBhY2tldCYpOworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5
KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmKTsKKyAg
ICB2b2lkIHNpZ25hbENvbm5lY3QocnRjOjpBc3luY1BhY2tldFNvY2tldCopOworICAgIHZvaWQg
c2lnbmFsQ2xvc2UocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGludCk7CisKKyAgICB2b2lkIE9u
TWVzc2FnZShydGM6Ok1lc3NhZ2UqIG1zZykgZmluYWw7CisKKyAgICB1aW50NjRfdCBtX2lkZW50
aWZpZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IG1fc29j
a2V0OworICAgIFJlZjxOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcz4gbV9jb25uZWN0aW9u
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42OWNj
MjIwMTE2ZDk0NDU3MTVkOWVhNGQ1OGNjMTY1NTg3MzNkYTE2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtQYWNrZXRTb2NrZXQu
bWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisj
IGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisj
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBG
T1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9X
RVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTmV0d29ya1Bh
Y2tldFNvY2tldCBMZWdhY3lSZWNlaXZlciB7CisgICAgdm9pZCBTZW5kVG8oSVBDOjpEYXRhUmVm
ZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGFkZHJlc3MsIHVpbnQx
Nl90IHBvcnQsIGludCBwYWNrZXRJRCwgaW50IHJ0cFNlbmR0aW1lRXh0ZW5zaW9uSUQsIFN0cmlu
ZyBzcnRwQXV0aCwgaW50NjRfdCBzcnRwUGFja2V0SW5kZXgsIGludCBkc2NwKQorICAgIHZvaWQg
Q2xvc2UoKQorICAgIHZvaWQgU2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSkKK30KKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvUlRDTmV0d29yay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5jcHAK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uYjEzZWJjOWMwN2JkYTA2ZDljYjU4Y2M5YTdkMTBkOGIzNmY1MDJkZAotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcApAQCAt
MCwwICsxLDE2MCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJSVENOZXR3b3JrLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJl
ZmVyZW5jZS5oIgorI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworUlRDTmV0d29yazo6UlRDTmV0d29yayhjb25zdCBydGM6Ok5ldHdvcmsm
IG5ldHdvcmspCisgICAgOiBuYW1lKG5ldHdvcmsubmFtZSgpKQorICAgICwgZGVzY3JpcHRpb24o
bmV0d29yay5kZXNjcmlwdGlvbigpKQorICAgICwgcHJlZml4IHsgbmV0d29yay5wcmVmaXgoKSB9
CisgICAgLCBwcmVmaXhMZW5ndGgobmV0d29yay5wcmVmaXhfbGVuZ3RoKCkpCisgICAgLCB0eXBl
KG5ldHdvcmsudHlwZSgpKQorICAgICwgaWQobmV0d29yay5pZCgpKQorICAgICwgcHJlZmVyZW5j
ZShuZXR3b3JrLnByZWZlcmVuY2UoKSkKKyAgICAsIGFjdGl2ZShuZXR3b3JrLmFjdGl2ZSgpKQor
ICAgICwgaWdub3JlZChuZXR3b3JrLmlnbm9yZWQoKSkKKyAgICAsIHNjb3BlSUQobmV0d29yay5z
Y29wZV9pZCgpKQorICAgICwgaXBzKG5ldHdvcmsuR2V0SVBzKCkpCit7Cit9CisKK3J0Yzo6TmV0
d29yayBSVENOZXR3b3JrOjp2YWx1ZSgpIGNvbnN0Cit7CisgICAgcnRjOjpOZXR3b3JrIG5ldHdv
cmsobmFtZS5kYXRhKCksIGRlc2NyaXB0aW9uLmRhdGEoKSwgcHJlZml4LnZhbHVlLCBwcmVmaXhM
ZW5ndGgsIHJ0Yzo6QWRhcHRlclR5cGUodHlwZSkpOworICAgIG5ldHdvcmsuc2V0X2lkKGlkKTsK
KyAgICBuZXR3b3JrLnNldF9wcmVmZXJlbmNlKHByZWZlcmVuY2UpOworICAgIG5ldHdvcmsuc2V0
X2FjdGl2ZShhY3RpdmUpOworICAgIG5ldHdvcmsuc2V0X2lnbm9yZWQoaWdub3JlZCk7CisgICAg
bmV0d29yay5zZXRfc2NvcGVfaWQoc2NvcGVJRCk7CisgICAgbmV0d29yay5TZXRJUHMoaXBzLCB0
cnVlKTsKKyAgICByZXR1cm4gbmV0d29yazsKK30KKworYm9vbCBSVENOZXR3b3JrOjpJUEFkZHJl
c3M6OmRlY29kZShJUEM6OkRlY29kZXImIGRlY29kZXIsIElQQWRkcmVzcyYgcmVzdWx0KQorewor
ICAgIGludCBmYW1pbHk7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShmYW1pbHkpKQorICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGE7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShkYXRhKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChmYW1p
bHkgPT0gQUZfSU5FVCkgeworICAgICAgICBpZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9mKGluX2Fk
ZHIpKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworICAgICAgICByZXN1bHQudmFsdWUgPSBy
dGM6OklQQWRkcmVzcygqcmVpbnRlcnByZXRfY2FzdDxjb25zdCBpbl9hZGRyKj4oZGF0YS5kYXRh
KCkpKTsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorICAgIGlmIChkYXRhLnNpemUoKSAh
PSBzaXplb2YoaW42X2FkZHIpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0LnZh
bHVlID0gcnRjOjpJUEFkZHJlc3MoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgaW42X2FkZHIqPihk
YXRhLmRhdGEoKSkpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFJUQ05ldHdvcms6OklQ
QWRkcmVzczo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNv
ZGVyIDw8IHZhbHVlLmZhbWlseSgpOworICAgIGlmICh2YWx1ZS5mYW1pbHkoKSA9PSBBRl9JTkVU
KSB7CisgICAgICAgIGF1dG8gYWRkcmVzcyA9IHZhbHVlLmlwdjRfYWRkcmVzcygpOworICAgICAg
ICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVp
bnQ4X3QqPigmYWRkcmVzcyksIHNpemVvZihhZGRyZXNzKSk7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgYXV0byBhZGRyZXNzID0gdmFsdWUuaXB2Nl9hZGRyZXNzKCk7CisgICAgZW5jb2Rl
ciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
JmFkZHJlc3MpLCBzaXplb2YoYWRkcmVzcykpOworfQorCitib29sIFJUQ05ldHdvcms6OmRlY29k
ZShJUEM6OkRlY29kZXImIGRlY29kZXIsIFJUQ05ldHdvcmsmIHJlc3VsdCkKK3sKKyAgICBJUEM6
OkRhdGFSZWZlcmVuY2UgbmFtZSwgZGVzY3JpcHRpb247CisgICAgaWYgKCFkZWNvZGVyLmRlY29k
ZShuYW1lKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5uYW1lID0gc3RkOjpz
dHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4obmFtZS5kYXRhKCkpLCBuYW1lLnNp
emUoKSk7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkZXNjcmlwdGlvbikpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICByZXN1bHQuZGVzY3JpcHRpb24gPSBzdGQ6OnN0cmluZyhyZWludGVy
cHJldF9jYXN0PGNvbnN0IGNoYXIqPihkZXNjcmlwdGlvbi5kYXRhKCkpLCBkZXNjcmlwdGlvbi5z
aXplKCkpOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnByZWZpeCkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmVmaXhMZW5n
dGgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQudHlwZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2Rl
KHJlc3VsdC5pZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJlc3VsdC5wcmVmZXJlbmNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0LmFjdGl2ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pZ25vcmVkKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnNjb3BlSUQpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICB1aW50NjRfdCBsZW5ndGg7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShsZW5ndGgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0Lmlwcy5yZXNl
cnZlKGxlbmd0aCk7CisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsg
KytpbmRleCkgeworICAgICAgICBJUEFkZHJlc3MgYWRkcmVzczsKKyAgICAgICAgaWYgKCFkZWNv
ZGVyLmRlY29kZShhZGRyZXNzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAg
aW50IGZsYWdzOworICAgICAgICBpZiAoIWRlY29kZXIuZGVjb2RlKGZsYWdzKSkKKyAgICAgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmVzdWx0Lmlwcy5wdXNoX2JhY2soeyBhZGRyZXNz
LnZhbHVlLCBmbGFncyB9KTsKKyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgUlRD
TmV0d29yazo6ZW5jb2RlKElQQzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNv
ZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3Qq
PihuYW1lLmRhdGEoKSksIG5hbWUubGVuZ3RoKCkpOworICAgIGVuY29kZXIgPDwgSVBDOjpEYXRh
UmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRlc2NyaXB0aW9uLmRh
dGEoKSksIGRlc2NyaXB0aW9uLmxlbmd0aCgpKTsKKyAgICBlbmNvZGVyIDw8IHByZWZpeDsKKyAg
ICBlbmNvZGVyIDw8IHByZWZpeExlbmd0aDsKKyAgICBlbmNvZGVyIDw8IHR5cGU7CisKKyAgICBl
bmNvZGVyIDw8IGlkOworICAgIGVuY29kZXIgPDwgcHJlZmVyZW5jZTsKKyAgICBlbmNvZGVyIDw8
IGFjdGl2ZTsKKyAgICBlbmNvZGVyIDw8IGlnbm9yZWQ7CisgICAgZW5jb2RlciA8PCBzY29wZUlE
OworCisgICAgZW5jb2RlciA8PCAodWludDY0X3QpaXBzLnNpemUoKTsKKyAgICBmb3IgKGF1dG8m
IGlwIDogaXBzKSB7CisgICAgICAgIGVuY29kZXIgPDwgSVBBZGRyZXNzIHsgaXAgfTsKKyAgICAg
ICAgZW5jb2RlciA8PCBpcC5pcHY2X2ZsYWdzKCk7CisgICAgfQorfQorCit9CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05l
dHdvcmsuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmgKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YmZiMjk2ZmNiNDI4MzliODU0MTNlNmMzZmUxYmI3Y2Q5NjMyNjk1ZQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmgKQEAgLTAsMCArMSw3NyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0
d29yay5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xh
c3MgRGVjb2RlcjsKK2NsYXNzIEVuY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitz
dHJ1Y3QgUlRDTmV0d29yayB7CisgICAgUlRDTmV0d29yaygpID0gZGVmYXVsdDsKKyAgICBSVENO
ZXR3b3JrKGNvbnN0IHJ0Yzo6TmV0d29yayYpOworCisgICAgcnRjOjpOZXR3b3JrIHZhbHVlKCkg
Y29uc3Q7CisKKyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKKyAgICBzdGF0
aWMgYm9vbCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgUlRDTmV0d29yayYpOworCisgICAgc3RydWN0
IElQQWRkcmVzcyB7CisgICAgICAgIElQQWRkcmVzcygpID0gZGVmYXVsdDsKKyAgICAgICAgZXhw
bGljaXQgSVBBZGRyZXNzKGNvbnN0IHJ0Yzo6SVBBZGRyZXNzJiBhZGRyZXNzKTogdmFsdWUoYWRk
cmVzcykgeyB9CisKKyAgICAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7Cisg
ICAgICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBJUEFkZHJlc3MmKTsKKwor
ICAgICAgICBydGM6OklQQWRkcmVzcyB2YWx1ZTsKKyAgICB9OworCisgICAgc3RkOjpzdHJpbmcg
bmFtZTsKKyAgICBzdGQ6OnN0cmluZyBkZXNjcmlwdGlvbjsKKyAgICBJUEFkZHJlc3MgcHJlZml4
OworICAgIGludCBwcmVmaXhMZW5ndGg7CisgICAgaW50IHR5cGU7CisgICAgdWludDE2X3QgaWQ7
CisgICAgaW50IHByZWZlcmVuY2U7CisgICAgYm9vbCBhY3RpdmU7CisgICAgYm9vbCBpZ25vcmVk
OworICAgIGludCBzY29wZUlEOworICAgIHN0ZDo6c3RyaW5nIGtleTsKKyAgICBzaXplX3QgbGVu
Z3RoOworICAgIHN0ZDo6dmVjdG9yPHJ0Yzo6SW50ZXJmYWNlQWRkcmVzcz4gaXBzOworfTsKKwor
fQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktp
dDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagppbmRleCA0ZDMyMDA4MWZlZmRhYzMwMWEyMjFi
NTQ3OTM3ZjllMmMxNDhiY2E2Li44M2MzZTAwNWQ0NDk2NTBlYTBlYTY0YTlhNzkxZTM1NDg0MmU0
MmUxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2oKKysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5w
Ynhwcm9qCkBAIC04NzEsNiArODcxLDIyIEBACiAJCTNGODdCOUJEMTU4OTQwMTIwMDkwRkY2MiAv
KiBXZWJDb2xvckNob29zZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gM0Y4N0I5QkExNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5j
cHAgKi87IH07CiAJCTNGODdCOUJFMTU4OTQwMTkwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGODdCOUJC
MTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCAqLzsgfTsKIAkJM0Y4N0I5QzAx
NTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yUGlja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCRjE1ODk0MEQ4MDA5MEZGNjIgLyogV2Vi
Q29sb3JQaWNrZXIuaCAqLzsgfTsKKwkJNDEwNDgyQ0QxREREMzI0QzAwRjAwNkQwIC8qIFJUQ05l
dHdvcmsuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEwNDgyQ0IxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwICovOyB9OworCQk0MTA0
ODJDRTFEREQzMjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJU
Q05ldHdvcmsuaCAqLzsgfTsKKwkJNDExQjIyNjQxRTM3MUJBNjAwNEY3MzYzIC8qIExpYldlYlJU
Qy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDExQjIy
NjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5oICovOyB9OworCQk0MTFCMjI2NTFFMzcx
QkE5MDA0RjczNjMgLyogTGliV2ViUlRDLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUIyMjYzMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMu
Y3BwICovOyB9OworCQk0MTMwNzVBOTFERTg1RjJDMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNv
Y2tldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5jcHAgKi87IH07
CisJCTQxMzA3NUFBMURFODVGMzAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OUEx
REU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5jcHAgKi87IH07CisJCTQx
MzA3NUFCMURFODVGMzMwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5OTFERTg0RkIwMDAz
OUVDNjkgLyogTmV0d29ya1BhY2tldFNvY2tldC5oICovOyB9OworCQk0MTMwNzVBQzFERTg1RjM3
MDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0
d29ya05ldHdvcmtNYW5hZ2VyLmggKi87IH07CisJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2OSAv
KiBXZWJQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCAq
LzsgfTsKKwkJNDEzMDc1QUUxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMTFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNwcCAqLzsgfTsKKwkJNDEzMDc1QUYx
REU4NUY1ODAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUEyMURFODVFRTcwMDM5RUM2OSAv
KiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgKi87IH07CisJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2
OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEzMDc1QTMxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5h
Z2VyLmggKi87IH07CisJCTQxMzA3NUIxMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2Nr
ZXRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNw
cCAqLzsgfTsKKwkJNDEzMDc1QjIxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZh
Y3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
MzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggKi87IH07
CisJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2OSAvKiBXZWJMaWJXZWJSVENQcm92aWRlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNzFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViTGliV2ViUlRDUHJvdmlkZXIuY3BwICovOyB9OworCQk0MTMw
NzVCNDFERTg1RjU4MDAzOUVDNjkgLyogV2ViTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE4MURFODVFRTcwMDM5
RUM2OSAvKiBXZWJMaWJXZWJSVENQcm92aWRlci5oICovOyB9OwogCQk0NDUwQUVDMDFEQzNGQUU1
MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEFFQkYxREMzRkFFNTAwOTk0M0YyIC8qIFNoYXJl
ZE1lbW9yeUNvY29hLmNwcCAqLzsgfTsKIAkJNEEzQ0MxOEExOUIwNjNFNzAwRDE0QUVGIC8qIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjM5MTlBRjdCMDQwMDJFQkFCNSAv
KiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5jcHAgKi87IH07CiAJCTRB
M0NDMThCMTlCMDY0MEYwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFn
ZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NEE0MTBGM0ExOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFu
YWdlclByb3h5LmggKi87IH07CkBAIC0xMDQxLDYgKzEwNTcsMTEgQEAKIAkJNTFFRkMxQ0YxNTI0
RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUZBMkQ1NDE1MjExMTg2MDBDMUJB
MEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyog
V2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNl
TG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdl
YlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJS
ZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMx
ODUwMEYzMjgxQyAvKiBXZWJQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAw
RjMyODFDIC8qIFdlYlBhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUx
RjA2MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtOZXR3
b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya05l
dHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4
NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUw
MEYzMjgxRiAvKiBXZWJOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJ
CTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyQyAvKiBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQx
NjU0MzE3NTAwRjMyODJDIC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJ
CTUxRjdEQzQxMTgwQ0M5MzYwMDIxMkNBMyAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDODI4Mzk2MTZCNDdFQzQwMEEy
NzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5tbSAqLzsgfTsKIAkJNTFGN0RDNDMxODBDQzkzNjAwMjEy
Q0EzIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5kYXRp
b24uZnJhbWV3b3JrICovOyB9OwogCQk1MUY3REM0NDE4MENDOTM2MDAyMTJDQTMgLyogV2ViS2l0
LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJl
ZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OwpA
QCAtMjk3OSw2ICszMDAwLDI3IEBACiAJCTNGODdCOUJBMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJD
b2xvckNob29zZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
Q29sb3JDaG9vc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkIx
NTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJDb2xvckNob29zZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yUGlja2VyLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlja2VyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3Jr
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAg
LyogUlRDTmV0d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3
b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMUIyMjYyMUUzNzEyNDQwMDRG
NzM2MyAvKiBMaWJXZWJSVEMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGli
V2ViUlRDLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDExQjIyNjMxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVEMuY3BwOyBw
YXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1BhY2tldFNv
Y2tldC5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tl
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTk5MURFODRGQjAwMDM5
RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IE5ldHdvcmtQYWNrZXRTb2NrZXQuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUGFja2V0U29ja2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
MzA3NTlBMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya05ldHdvcmtNYW5hZ2VyLmNw
cDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkg
LyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IE5ldHdvcmtOZXR3b3JrTWFuYWdlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtOZXR3b3JrTWFuYWdlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTMwNzU5QzFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLm1lc3NhZ2Vz
LmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtOZXR3b3JrTWFuYWdlci5tZXNzYWdl
cy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrTmV0d29ya01hbmFnZXIu
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlEMURFODRG
QjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IE5ldHdvcmtQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1BhY2tldFNvY2tldC5tZXNzYWdlcy5pbjsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUYxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBh
Y2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJQYWNrZXRT
b2NrZXQubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQu
bWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUEwMURFODVF
RTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBuYW1lID0gV2ViUGFja2V0U29ja2V0Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJQYWNr
ZXRTb2NrZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTExREU4NUVF
NzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IG5hbWUgPSBXZWJQYWNrZXRTb2NrZXQuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMv
V2ViUGFja2V0U29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1
QTIxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJOZXR3b3JrTWFuYWdl
ci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBMzFERTg1RUU3MDAzOUVDNjkgLyogV2ViTmV0d29y
a01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViTmV0d29ya01h
bmFnZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE0MURFODVFRTcwMDM5RUM2OSAvKiBXZWJO
ZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJOZXR3
b3JrTWFuYWdlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtN
YW5hZ2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVB
NTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gV2ViUGFja2V0U29j
a2V0RmFjdG9yeS5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0
b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25J
ZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3NUE2MURFODVFRTcwMDM5RUM2
OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
bmFtZSA9IFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dl
YlBhY2tldFNvY2tldEZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEz
MDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIFdlYkxpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJMaWJXZWJS
VENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJMaWJXZWJSVENQcm92aWRl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRl
bnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkg
LyogV2ViTGliV2ViUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5l
RW5kaW5nID0gMDsgbmFtZSA9IFdlYkxpYldlYlJUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3Jr
L3dlYnJ0Yy9XZWJMaWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4
Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsK
KwkJNDFBQzg2ODExRTA0MkU1MzAwMzAzMDc0IC8qIExpYldlYlJUQy5tZXNzYWdlcy5pbiAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDLm1lc3NhZ2VzLmlu
OyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+
IjsgfTsKIAkJNDQ1MEFFQkYxREMzRkFFNTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNoYXJlZE1lbW9yeUNvY29h
LmNwcDsgcGF0aCA9IGNvY29hL1NoYXJlZE1lbW9yeUNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNEE0MTBGMzUxOUFGN0FDMzAwMkVCQUI1IC8qIFdLVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
V0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTRBNDEwRjM2MTlBRjdBQzMwMDJFQkFCNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlck1lZGlhUGVy
bWlzc2lvblJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMwMDYsNyAr
MzA0OCw3IEBACiAJCTUxMDUyMzc2MUM3M0Q5RjYwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9u
VG9DbGllbnQubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gV2ViSURCQ29ubmVj
dGlvblRvQ2xpZW50Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1
MTA1MjM3NzFDNzNEQTcwMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYklE
QkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTUxMDUyMzc4MUM3M0RBNzAwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9u
VG9DbGllbnRNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJJ
REJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwotCQk1MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5jcHA7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxMDVCMEQ0MTYyRjdBN0EwMEUyNzcw
OSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5j
cHA7IHBhdGggPSBOZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2Rl
LmxhbmcuY3BwOyB9OwogCQk1MTA1QjBENTE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oOyBwYXRoID0gTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNUIwRjMxNjMwODcyRTAwRTI3
NzA5IC8qIE5ldHdvcmtQcm9jZXNzUHJveHkubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmV0d29ya1Byb2Nl
c3NQcm94eS5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEwNkQ3
QkYxOEJEQkU3MzAwMEFCMTY2IC8qIENvbnRleHRNZW51Q29udGV4dERhdGEuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gQ29udGV4dE1lbnVDb250ZXh0RGF0YS5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMDYzLDcgKzMxMDUsNyBAQAogCQk1MTJG
NThGNDEyQTg4QTU0MDA2Mjk1MzAgLyogV0tQcm90ZWN0aW9uU3BhY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gV0tQcm90ZWN0aW9uU3BhY2UuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJNTEzQTE2M0ExNjMwODhGNjAwNUQ3RDIyIC8qIE5ldHdvcmtQcm9jZXNz
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmV0d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTUxM0ExNjNCMTYzMDg4RjYwMDVEN0QyMiAvKiBOZXR3b3JrUHJv
Y2Vzc1Byb3h5TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTmV0
d29ya1Byb2Nlc3NQcm94eU1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0J
CTUxM0ExNjQ5MTYzMEE5QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVj
dGlvblRvV2ViUHJvY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxM0Ex
NjQ5MTYzMEE5QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4
Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKIAkJ
NTEzQTE2NEExNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MTNBMTY0QjE2MzBBOUJG
MDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBuYW1lID0gTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2Fn
ZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
cy5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTEzRTQ2MkIxQUQ4
Mzc1NjAwMTYyMzRBIC8qIFdLU2hhcmluZ1NlcnZpY2VQaWNrZXJEZWxlZ2F0ZS5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1NoYXJpbmdTZXJ2aWNlUGlja2VyRGVsZWdhdGUu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNzYsNiArMzIxOCwxMSBAQAogCQk1
MUUzOTkwNTFENkY1NEM1MDA5Qzg4MzEgLyogVUlHYW1lcGFkUHJvdmlkZXJDb2NvYS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVyQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVD
OUVCOSAvKiBVSUdhbWVwYWRQcm92aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYw
NjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAv
KiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya05ldHdv
cmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtO
ZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJOZXR3b3JrTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJOZXR3b3JrTWFuYWdlck1lc3Nh
Z2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1
NDMxNzUwMEYzMjgyQyAvKiBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3Bw
OyBwYXRoID0gTGliV2ViUlRDTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVy
TWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUY3REM0QTE4MENDOTM2MDAyMTJDQTMgLyog
Y29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMueHBjICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAid3JhcHBlci54cGMtc2VydmljZSI7IGluY2x1ZGVJbklu
ZGV4ID0gMDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnhwYzsgc291cmNlVHJl
ZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGQTJENTQxNTIxMTE4NjAwQzFCQTBCIC8q
IFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CkBAIC0zNTc3LDcgKzM2MjQsNyBAQAogCQlCQzAzMkQ2RDEwRjQzNzhEMDA1OEMxNUEg
LyogV2ViSW5zcGVjdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYkluc3BlY3RvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzAz
MkQ4OTEwRjQzN0EwMDA1OEMxNUEgLyogV2ViRnJhbWUuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViRnJhbWUuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMw
MzJEOEIxMEY0MzdBMDAwNThDMTVBIC8qIFdlYlBhZ2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gV2ViUGFnZS5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlCQzAz
MkQ5MTEwRjQzN0FGMDA1OEMxNUEgLyogV2ViUHJvY2Vzcy5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBXZWJQcm9jZXNzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CUJDMDMyRDkxMTBGNDM3QUYwMDU4QzE1QSAvKiBXZWJQcm9jZXNzLmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBXZWJQcm9jZXNzLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2Rl
Lmxhbmcub2JqY3BwOyB9OwogCQlCQzAzMkQ5RDEwRjQzN0QxMDA1OEMxNUEgLyogRGVjb2Rlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBEZWNvZGVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMwMzJEOUUxMEY0MzdEMTAwNThDMTVBIC8qIERl
Y29kZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGVjb2Rlci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlCQzAzMkQ5RjEwRjQzN0QxMDA1OEMxNUEgLyogRW5j
b2Rlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBFbmNvZGVyLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM2MjAsNyArMzY2Nyw3IEBACiAJCUJD
MTExQTU5MTEyRjRGQkIwMDMzN0JBQiAvKiBXZWJJbnNwZWN0b3JDbGllbnQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViSW5zcGVjdG9yQ2xpZW50LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMxMTFBREMxMTJGNUI5MzAwMzM3QkFCIC8qIFdl
YkZyYW1lLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkZyYW1l
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMxMTFBREYxMTJGNUJDMjAwMzM3
QkFCIC8qIFdlYkVycm9yc01hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IFdlYkVycm9yc01hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJQkMx
MTFBRTMxMTJGNUMyNjAwMzM3QkFCIC8qIFdlYlByb2Nlc3MuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUHJvY2Vzcy5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCUJDMTExQUUzMTEyRjVDMjYwMDMzN0JBQiAvKiBXZWJQcm9jZXNzLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBXZWJQcm9j
ZXNzLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25J
ZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CiAJCUJDMTExQjA4MTEyRjVFM0MwMDMzN0JB
QiAvKiBSZXNwb25zaXZlbmVzc1RpbWVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgcGF0aCA9IFJlc3BvbnNpdmVuZXNzVGltZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlCQzExMUIwQTExMkY1RTRGMDAzMzdCQUIgLyogV2ViRnJhbWVQcm94eS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJGcmFtZVByb3h5LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkMxMTFCMEIxMTJGNUU0RjAwMzM3QkFCIC8qIFdl
YlBhZ2VQcm94eS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgZmlsZUVuY29kaW5nID0gNDsgcGF0aCA9IFdlYlBh
Z2VQcm94eS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zODE0LDcgKzM4NjEs
NyBAQAogCQlCQzkwOTk3RjEyNTZBOTgyMDAwODM3NTYgLyogV0tTdHJpbmdQcml2YXRlLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLU3RyaW5nUHJpdmF0ZS5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQlCQzkwQTFEMDEyMkRENTVFMDBDQzhDNTAgLyogQVBJVVJM
UmVzcG9uc2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gQVBJVVJMUmVzcG9u
c2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM5MEExRDExMjJERDU1RTAwQ0M4
QzUwIC8qIEFQSVVSTFJlc3BvbnNlLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IEFQSVVSTFJlc3BvbnNlLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
QkM5NjNENkExMTNERDE5MjAwNTc0QkUyIC8qIFdlYlBhZ2UuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUGFnZS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCUJDOTYzRDZBMTEzREQxOTIwMDU3NEJFMiAvKiBXZWJQYWdlLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBXZWJQYWdlLmNwcDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVy
ID0geGNvZGUubGFuZy5jcHA7IH07CiAJCUJDOTYzRDZEMTEzREQxQTUwMDU3NEJFMiAvKiBXZWJQ
YWdlTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gV2ViUGFn
ZU1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQkM5ODlEN0YxNjFBN0U1QjAw
MEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1BsdWdJbi5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFdLV2ViUHJvY2Vzc1BsdWdJbi5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJQkM5ODlEODAxNjFBN0U1QzAwMEQ0NkQzIC8qIFdLV2ViUHJvY2Vzc1BsdWdJ
bi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXS1dlYlByb2Nlc3NQbHVnSW4u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTM5NTIsNyArMzk5OSw3IEBACiAJCUMw
Q0U3MjlFMTI0N0U3MUQwMEJDMEVDNCAvKiBXZWJQYWdlTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlBhZ2VNZXNzYWdlUmVjZWl2ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMENFNzI5RjEyNDdFNzFEMDBCQzBF
QzQgLyogV2ViUGFnZU1lc3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYlBhZ2VNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlDMENFNzJB
QzEyNDdFNzhEMDBCQzBFQzQgLyogSGFuZGxlTWVzc2FnZS5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBIYW5kbGVNZXNzYWdlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUMwQ0U3MkRCMTI0N0U4RjcwMEJDMEVDNCAvKiBEZXJpdmVkU291cmNlcy5tYWtlICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gdGV4dDsgcGF0aCA9IERlcml2ZWRTb3VyY2VzLm1ha2U7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCUMwQ0U3MkRCMTI0N0U4RjcwMEJDMEVDNCAvKiBEZXJpdmVkU291cmNlcy5t
YWtlICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gdGV4dDsgbGluZUVuZGluZyA9IDA7IHBhdGggPSBEZXJpdmVkU291cmNl
cy5tYWtlOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklk
ZW50aWZpZXIgPSB4Y29kZS5sYW5nLnNpbXBsZUNvbG9yaW5nOyB9OwogCQlDMENFNzMzNjEyNDdG
NzBFMDBCQzBFQzQgLyogZ2VuZXJhdGUtbWVzc2FnZS1yZWNlaXZlci5weSAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQuc2NyaXB0LnB5dGhvbjsgcGF0aCA9ICJnZW5lcmF0ZS1tZXNzYWdlLXJlY2VpdmVyLnB5Ijsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJQzBDRTczMzcxMjQ3RjcwRTAwQkMwRUM0IC8q
IGdlbmVyYXRlLW1lc3NhZ2VzLWhlYWRlci5weSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQuc2NyaXB0LnB5dGhv
bjsgcGF0aCA9ICJnZW5lcmF0ZS1tZXNzYWdlcy1oZWFkZXIucHkiOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQlDMEUzQUE0NDEyMDlFMkJBMDBBNDlEMDEgLyogTW9kdWxlLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1vZHVsZS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwpAQCAtNDY4OCw2ICs0NzM1LDggQEAKIAkJCQlCQ0M0M0FCOTEyN0I5NURDMDAzMTdG
MTYgLyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggKi8sCiAJCQkJRTE4QzkyRjMxMkRCOUU3MTAw
Q0YyQUVCIC8qIFByaW50SW5mby5jcHAgKi8sCiAJCQkJRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4
IC8qIFByaW50SW5mby5oICovLAorCQkJCTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENO
ZXR3b3JrLmNwcCAqLywKKwkJCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29y
ay5oICovLAogCQkJCUY2QTBDMTNGMTMyODFFNkUwMDcwNDMwRiAvKiBSZXNvdXJjZUNhY2hlc1Rv
Q2xlYXIuaCAqLywKIAkJCQlCQzJEMDIxNjEyQUM0MUNCMDBFNzMyQTMgLyogU2FtZURvY3VtZW50
TmF2aWdhdGlvblR5cGUuaCAqLywKIAkJCQkxQUFCNEE4QzEyOTZGMEEyMDAyMzk1MkYgLyogU2Fu
ZGJveEV4dGVuc2lvbi5oICovLApAQCAtNTUzMSw2ICs1NTgwLDM5IEBACiAJCQlwYXRoID0gUmVz
b3VyY2VzL21hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxMzA3NTk3
MURFODRFRDcwMDM5RUM2OSAvKiB3ZWJydGMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJ
CWNoaWxkcmVuID0gKAorCQkJCTQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFj
a2V0U29ja2V0LmNwcCAqLywKKwkJCQk0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29y
a1BhY2tldFNvY2tldC5oICovLAorCQkJCTQxMzA3NTlBMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3
b3JrTmV0d29ya01hbmFnZXIuY3BwICovLAorCQkJCTQxMzA3NTlCMURFODRGQjAwMDM5RUM2OSAv
KiBOZXR3b3JrTmV0d29ya01hbmFnZXIuaCAqLywKKwkJCQk0MTMwNzU5QzFERTg0RkIwMDAzOUVD
NjkgLyogTmV0d29ya05ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluICovLAorCQkJCTQxMzA3NTlE
MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluICovLAor
CQkJKTsKKwkJCW5hbWUgPSB3ZWJydGM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9
OworCQk0MTMwNzU5RTFERTg1RTY1MDAzOUVDNjkgLyogd2VicnRjICovID0geworCQkJaXNhID0g
UEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTMwNzU5RjFERTg1RUU3MDAzOUVDNjkg
LyogV2ViUGFja2V0U29ja2V0Lm1lc3NhZ2VzLmluICovLAorCQkJCTQxMzA3NUEwMURFODVFRTcw
MDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCAqLywKKwkJCQk0MTMwNzVBMTFERTg1RUU3MDAz
OUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNwcCAqLywKKwkJCQk0MTMwNzVBMjFERTg1RUU3MDAz
OUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIuY3BwICovLAorCQkJCTQxMzA3NUEzMURFODVFRTcw
MDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5oICovLAorCQkJCTQxMzA3NUE0MURFODVFRTcw
MDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzVB
NTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAgKi8sCisJCQkJ
NDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaCAqLywK
KwkJCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogV2ViTGliV2ViUlRDUHJvdmlkZXIuY3Bw
ICovLAorCQkJCTQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBXZWJMaWJXZWJSVENQcm92aWRl
ci5oICovLAorCQkJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBMaWJXZWJSVEMubWVzc2Fn
ZXMuaW4gKi8sCisJCQkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5oICov
LAorCQkJCTQxMUIyMjYzMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMuY3BwICovLAorCQkJ
KTsKKwkJCW5hbWUgPSB3ZWJydGM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9Owog
CQk0NDUwQUVCRTFEQzNGQUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhH
cm91cDsKIAkJCWNoaWxkcmVuID0gKApAQCAtNTU1Myw2ICs1NjM1LDcgQEAKIAkJNTEwNUIwRDIx
NjJGN0E1RTAwRTI3NzA5IC8qIE5ldHdvcmsgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJ
CWNoaWxkcmVuID0gKAorCQkJCTQxMzA3NTlFMURFODVFNjUwMDM5RUM2OSAvKiB3ZWJydGMgKi8s
CiAJCQkJNTEwNUIwRDQxNjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
bi5jcHAgKi8sCiAJCQkJNTEwNUIwRDUxNjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5oICovLAogCQkJCTUxRkIwOTAyMTYzQTNCMUMwMEVDMzI0QSAvKiBOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24ubWVzc2FnZXMuaW4gKi8sCkBAIC01NTc5LDYgKzU2NjIsNyBAQAog
CQkJCUUxNzk4Qzc2MTZFNjgxNTUwMDI0MDEzOSAvKiBGaWxlQVBJICovLAogCQkJCTJEQTk0NEJC
MTg4NTExREQwMEVEODZEQiAvKiBpb3MgKi8sCiAJCQkJNTEwQ0M3REMxNjEzOEUyOTAwRDAzRUQz
IC8qIG1hYyAqLywKKwkJCQk0MTMwNzU5NzFERTg0RUQ3MDAzOUVDNjkgLyogd2VicnRjICovLAog
CQkJCTUxM0ExNjQ5MTYzMEE5QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAgKi8sCiAJCQkJNTEzQTE2NEExNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmggKi8sCiAJCQkJNTEzQTE2NEIxNjMwQTlCRjAwNUQ3RDIyIC8q
IE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLm1lc3NhZ2VzLmluICovLApAQCAtNzQ0MSw2
ICs3NTI1LDExIEBACiAJCQkJQkNFRTdBQ0MxMjgxNzk4ODAwOTgyN0RBIC8qIFdlYlByb2Nlc3NQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJQkNFRTdBQ0QxMjgxNzk4ODAwOTgyN0RB
IC8qIFdlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmggKi8sCiAJCQkJNTFGMDYwREQxNjU0MzE3NTAw
RjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1
MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkMgLyogTGliV2ViUlRDTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29y
a1BhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3
NTAwRjMyODFFIC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVz
b3VyY2VMb2FkZXJNZXNzYWdlcy5oICovLAogCQkJCTdBNzkxRUY5MUM3Q0ZCMzcwMEM0QzUyQiAv
KiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAog
CQkJCTdBNzkxRUY4MUM3Q0ZCMTAwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNz
U3RvcmVNZXNzYWdlcy5oICovLApAQCAtNzg4MCw2ICs3OTY5LDcgQEAKIAkJCQkxQTFFQzY5RTE4
NzIwOTIxMDBCOTUxRjAgLyogSW1wb3J0YW5jZUFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQkMyMDRFRTMxMUM4M0U5ODAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk5MzVFRUJBMjEyNzc2MUQwMDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNr
Rm9yd2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2
OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUJB
NDEyNzc2MUQ2MDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQ0VFN0RDNTEyOEI2NDVEMDA5ODI3REEgLyogSW5qZWN0ZWRC
dW5kbGVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQkI4MTFEMUFBMEY4QjEwMDZCMTk0
MiAvKiBJbmplY3RlZEJ1bmRsZUZpbGVIYW5kbGUuaCBpbiBIZWFkZXJzICovLApAQCAtODA3MCw2
ICs4MTYwLDcgQEAKIAkJCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Q
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAwOUI2NjcwIC8qIFNl
Y0l0ZW1TaGltUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0RDlGNTcxOTEx
OUQzNTAwMDA2M0E3IC8qIFNlcnZpY2VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtQYWNrZXRTb2NrZXQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBRkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3Rh
dGVDb2RpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1M0UzRTBFMTg4NzM5ODkwMDE4ODQ5NiAv
KiBTZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTU5LDYgKzgyNTAsNyBAQAog
CQkJCTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3Rp
Y0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRG
Q0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjQx
REU4NUY1ODAwMzlFQzY5IC8qIFdlYkxpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywK
IAkJCQlCQzAzMkQ3QjEwRjQzNzhEMDA1OEMxNUEgLyogV2ViRHJhZ0NsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQkNBMEVGOUYxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5kUHJv
eHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDdEMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJF
ZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODE4Myw2ICs4Mjc1LDcgQEAKIAkJCQlC
QzU0Q0FDQjEyRDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMEU2MTgzMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2Nh
dGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBFNjA3MzEy
RDZCQzIwMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8s
CisJCQkJNDEzMDc1QUMxREU4NUYzNzAwMzlFQzY5IC8qIE5ldHdvcmtOZXR3b3JrTWFuYWdlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJQkMxQkUxRjIxMkQ1NERCRDAwMDRBMjI4IC8qIFdlYkdlb2xv
Y2F0aW9uUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJENTAzNjc2MUJDRUQxOUYwMEUy
MEJCMyAvKiBXZWJHZXN0dXJlRXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzQTg4QjMzMUJD
NkU5Q0QwMEFCQTVDMiAvKiBXZWJIaXRUZXN0UmVzdWx0RGF0YS5oIGluIEhlYWRlcnMgKi8sCkBA
IC04MTkyLDYgKzgyODUsNyBAQAogCQkJCTUxMUIyNEE3MTMyRTA5NTcwMDA2NUEwQyAvKiBXZWJJ
Y29uRGF0YWJhc2VQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTFEMDJGNkMxMzJFQzczNzAw
QkVBQTk2IC8qIFdlYkljb25EYXRhYmFzZVByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAog
CQkJCTUxMDUyMzcwMUM3MzlENDIwMDc5OTNDQiAvKiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnQu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNr
ZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzdBMUM3M0RBNzcwMDc5OTNDQiAv
KiBXZWJJREJDb25uZWN0aW9uVG9DbGllbnRNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
NTE0MTI5OTQxQzY0MjhCQjAwNTlFNzE0IC8qIFdlYklEQkNvbm5lY3Rpb25Ub1NlcnZlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzNzQxQzczRDM4QjAwNzk5M0NCIC8qIFdlYklEQkNvbm5l
Y3Rpb25Ub1NlcnZlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKQEAgLTgyNDcsNiArODM0MSw3
IEBACiAJCQkJQ0RBMjlBMUIxQ0JEQkY0MTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1h
bmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTI5QTI5MUNCRUI2N0EwMDkwMUNDRiAvKiBX
ZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJCUNE
QTI5QTIwMUNCRUI1RkIwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHku
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZEMCAvKiBSVENOZXR3
b3JrLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREEyOUEyQjFDQkVCNjdBMDA5MDFDQ0YgLyogV2Vi
UGxheWJhY2tTZXNzaW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTMxRDU5MjlGMTY2RTA2MDAwMEU2QkYwMiAvKiBXZWJQbHVnSW5DbGllbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUJDNTc0NEYwMTI2MzhGQjMwMDZGMEYxMiAvKiBXZWJQb3B1cEl0ZW0uaCBpbiBI
ZWFkZXJzICovLApAQCAtODQ1OSw2ICs4NTU0LDcgQEAKIAkJCQkzNzBGMzRBMzE4MjlCRTFFMDA5
MDI3QzggLyogV0tOYXZpZ2F0aW9uRGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzcwRjM0QTUx
ODI5QkVBMzAwOTAyN0M4IC8qIFdLTmF2aWdhdGlvbkRhdGFJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNGNjlGQTkxMTc2RDFDQjAwNDcxQTUyIC8qIFdLTmF2aWdhdGlvbkRhdGFSZWYu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxMUIyMjY0MUUzNzFCQTYwMDRGNzM2MyAvKiBMaWJXZWJS
VEMuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQkMzREZDMTg5OUY1MUMwMDRGMDYyNiAvKiBXS05h
dmlnYXRpb25EZWxlZ2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBMjBENTExOEFENTBFMDAw
NUQxRUQ0IC8qIFdLTmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMUFCQzNERjExODk5QzZCNjAwNEYwNjI2IC8qIFdLTmF2aWdhdGlvbkludGVybmFsLmggaW4g
SGVhZGVycyAqLywKQEAgLTg1ODEsNiArODY3Nyw3IEBACiAJCQkJMzc3RUFENDkxN0UyQzc3QjAw
MkQxOTNEIC8qIFdLVXNlclNjcmlwdEluamVjdGlvblRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBQUYwODlEMTkyNjdGQzgwMEI2MzkwQyAvKiBXS1VzZXJTY3JpcHRJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJN0M4ODJERkExQzdFOTk3MzAwNkJGNzMxIC8qIFdLVXNlclNjcmlwdFBy
aXZhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBX
ZWJOZXR3b3JrTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4OUQyQTQxQTY3ODg3NTAw
M0E1RkRFIC8qIFdLVXNlclNjcmlwdFJlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4Njk5QjUx
MTZBQURBQTAwMkE5MjVCIC8qIFdLVmlldy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM4Njk5Qjcx
MTZBQURBQTAwMkE5MjVCIC8qIFdLVmlld0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKQEAgLTky
MzEsNiArOTMyOCw3IEBACiAJCQkJMUE0M0U4MjkxODhGM0NEQzAwOUU0RDMwIC8qIF9XS1Byb2Nl
c3NQb29sQ29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOUUzMjhFMTgyMTY1
QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gaW4gU291cmNlcyAqLywK
IAkJCQkxQTlFMzI4QTE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnku
bW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTA0ODJDRDFEREQzMjRDMDBGMDA2RDAgLyogUlRDTmV0
d29yay5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTVCQTgxMTFCQTEzMTgxMDA3Q0QzM0QgLyog
X1dLUmVtb3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkxQTAwMkQ0NTE5NkIzMzhFMDBCOUFENDQgLyogX1dLU2Vzc2lvblN0YXRlLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQ2QjM3MUMxOEE5NjdBRDAwNDJBRTgwIC8qIF9XS1RodW1ibmFpbFZpZXcu
bW0gaW4gU291cmNlcyAqLywKQEAgLTkzNTUsNiArOTQ1Myw3IEBACiAJCQkJOENGRUNFOTQxNDkw
RjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMDMy
REE3MTBGNDM3RDEwMDU4QzE1QSAvKiBFbmNvZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUx
QjE1QTg0MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5jcHAgaW4gU291
cmNlcyAqLywKKwkJCQk0MTMwNzVBRjFERTg1RjU4MDAzOUVDNjkgLyogV2ViTmV0d29ya01hbmFn
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBNTc1RkExNDk2QjUyNjAwQTRFRTA2IC8qIEV2
ZW50RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzYwMjE0OTZCOTc5MDBB
NEVFMDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTAwQjk2NjE5MThFMjVBRTEwMENFMUY4OCAvKiBGaW5kQ2xpZW50Lm1tIGluIFNvdXJj
ZXMgKi8sCkBAIC05NDkxLDYgKzk1OTAsNyBAQAogCQkJCTFBMkQ4MkE4MTI3RjRFQUIwMDFFQjk2
MiAvKiBOUFJlbW90ZU9iamVjdE1hcC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTIxNjFCMTEx
RjM3NjY0MDA4QUQwRjUgLyogTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFBMjE2MkIwMTFGMzg5NzEwMDhBRDBGNSAvKiBOUFJ1bnRpbWVVdGlsaXRpZXMuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNDExQjIyNjUxRTM3MUJBOTAwNEY3MzYzIC8qIExpYldlYlJUQy5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQkxQTJEODRBNDEyN0Y2QUQxMDAxRUI5NjIgLyogTlBWYXJp
YW50RGF0YS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzhBQ0ExNDE2NjcwRDg5MDA0QzE5NDEg
LyogT2JqQ09iamVjdEdyYXBoLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MzODc0MzQxNzJGNTYx
NTAwMUJEODhBIC8qIFBhZ2VCYW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05NTA4LDYgKzk2
MDgsNyBAQAogCQkJCTVDODVDNzg4MUMzRjIzQ0UwMDYxQTRGQSAvKiBQZW5kaW5nRG93bmxvYWQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1RTIwMDMxOEU3NzA1MTAwM0VDM0U1IC8qIFBsYXRm
b3JtQ0FBbmltYXRpb25SZW1vdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyREEwNDlCMzE4MEND
Q0QzMDBBQUZBOUUgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcCBpbiBTb3VyY2VzICovLAor
CQkJCTQxMzA3NUE5MURFODVGMkMwMDM5RUM2OSAvKiBOZXR3b3JrUGFja2V0U29ja2V0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTJEODcxMDE2MTgyODQxNUQwMDE4RkEwMSAvKiBQbGF0Zm9ybUNB
TGF5ZXJSZW1vdGVDdXN0b20ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDg5NDlGMDE4MjA0NEY2
MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5nLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVu
dURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05NzE3LDYgKzk4MTgsNyBAQAogCQkJCUJDMEU2
MDYxMTJENkJBOTEwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1NENBQ0MxMkQ2NDI5MTAwNUM2N0IwIC8qIFdl
Ykdlb2xvY2F0aW9uTWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEU2MTgy
MTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBRTFERTg1RjU4MDAzOUVDNjkgLyog
V2ViUGFja2V0U29ja2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEU2MDc0MTJENkJDMjAw
MDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvblBvc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDMUJFMUYzMTJENTREQkQwMDA0QTIyOCAvKiBXZWJHZW9sb2NhdGlvblByb3ZpZGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTJENTAzNjc1MUJDRUQxOUYwMEUyMEJCMyAvKiBXZWJHZXN0dXJl
RXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05ODM2LDYgKzk5MzgsMTEgQEAKIAkJCQkzNzYw
ODgxRTE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxMEFGRkI5MTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTEx
NjU0MzE4NTAwRjMyODFDIC8qIFdlYlBhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyogTGliV2ViUlRDTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgxRCAvKiBOZXR3b3JrUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRSAvKiBOZXR3b3JrTmV0d29ya01hbmFn
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4
NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdBNzkxRUZDMUM3RDA4QzUwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRT
dGF0aXN0aWNzU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OTFFRkExQzdDRkNGMTAw
QzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNlaXZlci5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3MjE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2Ny
aXB0TWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05ODYzLDEwICs5OTcwLDEy
IEBACiAJCQkJM0Y0MThFRjkxODg3QkQ5NzAwMjc5NUZEIC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1h
bmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTJENUExQjExQzU3
NDk2MjAwREUzNEEzIC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTNGNDE4RUZCMTg4N0JEOTcwMDI3OTVGRCAvKiBXZWJWaWRlb0Z1bGxzY3Jl
ZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEz
MDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIFdlYkxpYldlYlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTJERkM3REJDMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5tbSBp
biBTb3VyY2VzICovLAogCQkJCUMwMzM3REQxMTI3QTI5ODAwMDhGRjRGNCAvKiBXZWJXaGVlbEV2
ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2ODE2MEQwMTg3NjQ1NTcwMDIxRTc5RCAvKiBX
aW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlDRDU1QUIxMjhF
Mjk0RjAwMTMzQzg1IC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tIGluIFNv
dXJjZXMgKi8sCisJCQkJNDEzMDc1QjExREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tl
dEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkyMzJERjgxOEIyQTlBRTAwRDA1OTZG
IC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkyOTIzMkRGOTE4QjJBQjNBMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVj
dE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0RTQ5MThCQkUwNDQwMDBGQ0ZDOSAvKiBX
S0FjdGlvblNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC05ODg0LDYgKzk5OTMsNyBAQAogCQkJ
CUJDQkFBQ0Y1MTQ1MjMyNEYwMDUzRjgyRiAvKiBXS0Jyb3dzaW5nQ29udGV4dEdyb3VwLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUFFMDBENEMxODJENkVCMDAwMDg3REQ3IC8qIFdLQnJvd3NpbmdD
b250ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMyMDRFRUUxMUM4M0VDODAwOEYz
Mzc1IC8qIFdLQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUFBMURFODVGMzAw
MDM5RUM2OSAvKiBOZXR3b3JrTmV0d29ya01hbmFnZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
OTM1RUVCOUUxMjc3NjFBQzAwMzMyMkI4IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTkzNUVFQkEwMTI3NzYxQUMwMDMzMjJCOCAvKiBXS0J1bmRsZUJh
Y2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQTJENzcxNTIxMkUy
NjAwQzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICov
LApAQCAtMTAyMDIsNyArMTAzMTIsMTYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBBMUVERDJEOTE4ODRBQ0UwMDBCQkZF
OTggLyogQWxsLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlIRUFERVJf
U0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9p
bmNsdWRlIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRp
bmdIZWFkZXJzXCIiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvaWN1
XCIiLAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIi
LAorCQkJCQkiJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUykiLAorCQkJCQki
JChIRUFERVJfU0VBUkNIX1BBVEhTKSIsCisJCQkJKTsKIAkJCQlQUk9EVUNUX05BTUUgPSBBbGw7
CisJCQkJVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQl9OwogCQkJbmFtZSA9IERl
YnVnOwogCQl9OwpAQCAtMTAyMTAsNyArMTAzMjksMTYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25m
aWd1cmF0aW9uOwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBBMUVERDJEOTE4ODRB
Q0UwMDBCQkZFOTggLyogQWxsLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJ
CQlIRUFERVJfU0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vz
ci9sb2NhbC9pbmNsdWRlIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIp
L0ZvcndhcmRpbmdIZWFkZXJzXCIiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJT
X0RJUikvaWN1XCIiLAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIiLAorCQkJCQkiJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUyki
LAorCQkJCQkiJChIRUFERVJfU0VBUkNIX1BBVEhTKSIsCisJCQkJKTsKIAkJCQlQUk9EVUNUX05B
TUUgPSBBbGw7CisJCQkJVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQl9OwogCQkJ
bmFtZSA9IFJlbGVhc2U7CiAJCX07CkBAIC0xMDI1NCw2ICsxMDM4MiwxNSBAQAogCQkJaXNhID0g
WENCdWlsZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJD
Qjg2RjRCMTE2QUFBQ0QwMENFMjBCNyAvKiBXZWJLaXQueGNjb25maWcgKi87CiAJCQlidWlsZFNl
dHRpbmdzID0geworCQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCSIkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvdXNyL2xvY2FsL2luY2x1ZGUiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFU
RV9IRUFERVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnNcIiIsCisJCQkJCSJcIiQoV0VCQ09SRV9Q
UklWQVRFX0hFQURFUlNfRElSKS9pY3VcIiIsCisJCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0MiIsCisJCQkJCSIkKFdFQktJVEFERElUSU9OU19IRUFERVJf
U0VBUkNIX1BBVEhTKSIsCisJCQkJCSIkKEhFQURFUl9TRUFSQ0hfUEFUSFMpIiwKKwkJCQkpOwor
CQkJCUxJQlJBUllfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQkJT1RIRVJfTERGTEFHUyA9ICgKIAkJ
CQkJIiQoT1RIRVJfTERGTEFHUykiLAogCQkJCQkiLWwkKFdFQktJVF9TWVNURU1fSU5URVJGQUNF
X0xJQlJBUlkpIiwKQEAgLTEwMjY1LDYgKzEwNDAyLDE1IEBACiAJCQlpc2EgPSBYQ0J1aWxkQ29u
ZmlndXJhdGlvbjsKIAkJCWJhc2VDb25maWd1cmF0aW9uUmVmZXJlbmNlID0gQkNCODZGNEIxMTZB
QUFDRDAwQ0UyMEI3IC8qIFdlYktpdC54Y2NvbmZpZyAqLzsKIAkJCWJ1aWxkU2V0dGluZ3MgPSB7
CisJCQkJSEVBREVSX1NFQVJDSF9QQVRIUyA9ICgKKwkJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElS
KS91c3IvbG9jYWwvaW5jbHVkZSIsCisJCQkJCSJcIiQoV0VCQ09SRV9QUklWQVRFX0hFQURFUlNf
RElSKS9Gb3J3YXJkaW5nSGVhZGVyc1wiIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVB
REVSU19ESVIpL2ljdVwiIiwKKwkJCQkJIiQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyIiwKKwkJCQkJIiQoV0VCS0lUQURESVRJT05TX0hFQURFUl9TRUFSQ0hfUEFU
SFMpIiwKKwkJCQkJIiQoSEVBREVSX1NFQVJDSF9QQVRIUykiLAorCQkJCSk7CisJCQkJTElCUkFS
WV9TRUFSQ0hfUEFUSFMgPSAiIjsKIAkJCQlPVEhFUl9MREZMQUdTID0gKAogCQkJCQkiJChPVEhF
Ul9MREZMQUdTKSIsCiAJCQkJCSItbCQoV0VCS0lUX1NZU1RFTV9JTlRFUkZBQ0VfTElCUkFSWSki
LApAQCAtMTAzNDQsNyArMTA0OTAsMTYgQEAKIAkJCWlzYSA9IFhDQnVpbGRDb25maWd1cmF0aW9u
OwogCQkJYmFzZUNvbmZpZ3VyYXRpb25SZWZlcmVuY2UgPSBBMUVERDJEOTE4ODRBQ0UwMDBCQkZF
OTggLyogQWxsLnhjY29uZmlnICovOwogCQkJYnVpbGRTZXR0aW5ncyA9IHsKKwkJCQlIRUFERVJf
U0VBUkNIX1BBVEhTID0gKAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL3Vzci9sb2NhbC9p
bmNsdWRlIiwKKwkJCQkJIlwiJChXRUJDT1JFX1BSSVZBVEVfSEVBREVSU19ESVIpL0ZvcndhcmRp
bmdIZWFkZXJzXCIiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFERVJTX0RJUikvaWN1
XCIiLAorCQkJCQkiJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIi
LAorCQkJCQkiJChXRUJLSVRBRERJVElPTlNfSEVBREVSX1NFQVJDSF9QQVRIUykiLAorCQkJCQki
JChIRUFERVJfU0VBUkNIX1BBVEhTKSIsCisJCQkJKTsKIAkJCQlQUk9EVUNUX05BTUUgPSBBbGw7
CisJCQkJVVNFUl9IRUFERVJfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQl9OwogCQkJbmFtZSA9IFBy
b2R1Y3Rpb247CiAJCX07CkBAIC0xMDM1Miw5ICsxMDUwNywxOCBAQAogCQkJaXNhID0gWENCdWls
ZENvbmZpZ3VyYXRpb247CiAJCQliYXNlQ29uZmlndXJhdGlvblJlZmVyZW5jZSA9IEJDQjg2RjRC
MTE2QUFBQ0QwMENFMjBCNyAvKiBXZWJLaXQueGNjb25maWcgKi87CiAJCQlidWlsZFNldHRpbmdz
ID0geworCQkJCUhFQURFUl9TRUFSQ0hfUEFUSFMgPSAoCisJCQkJCSIkKEJVSUxUX1BST0RVQ1RT
X0RJUikvdXNyL2xvY2FsL2luY2x1ZGUiLAorCQkJCQkiXCIkKFdFQkNPUkVfUFJJVkFURV9IRUFE
RVJTX0RJUikvRm9yd2FyZGluZ0hlYWRlcnNcIiIsCisJCQkJCSJcIiQoV0VCQ09SRV9QUklWQVRF
X0hFQURFUlNfRElSKS9pY3VcIiIsCisJCQkJCSIkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0MiIsCisJCQkJCSIkKFdFQktJVEFERElUSU9OU19IRUFERVJfU0VBUkNI
X1BBVEhTKSIsCisJCQkJCSIkKEhFQURFUl9TRUFSQ0hfUEFUSFMpIiwKKwkJCQkpOworCQkJCUxJ
QlJBUllfU0VBUkNIX1BBVEhTID0gIiI7CiAJCQkJT1RIRVJfTERGTEFHUyA9ICgKIAkJCQkJIiQo
T1RIRVJfTERGTEFHUykiLAotCQkJCQkiLWxXZWJLaXRTeXN0ZW1JbnRlcmZhY2UiLAorCQkJCQki
LWwkKFdFQktJVF9TWVNURU1fSU5URVJGQUNFX0xJQlJBUlkpIiwKIAkJCQkpOwogCQkJfTsKIAkJ
CW5hbWUgPSBQcm9kdWN0aW9uOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAwOGFi
MWUzNTUxNmYxOGQ5YzBkNDU3ZWY2MTQ0MTlhOWJjMzAwZDc2Li43NmE0NmY3NjM2MDIyOGI3ZmNl
MzA1ZDg5Zjk2YmE2YTYyYTQ0NTMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAt
MjcsOSArMjcsMTQgQEAKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKIAog
I2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNp
bmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJMb2FkZXJTdHJh
dGVneS5oIgorI2luY2x1ZGUgIldlYk5ldHdvcmtNYW5hZ2VyLmgiCisjaW5jbHVkZSAiV2ViTmV0
d29ya01hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldC5oIgorI2lu
Y2x1ZGUgIldlYlBhY2tldFNvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5o
IgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJD
b3JlL0NhY2hlZFJlc291cmNlLmg+CkBAIC01NCwxMiArNTksMjcgQEAgTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uOjp+TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkKIHZvaWQgTmV0d29ya1Byb2Nl
c3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rp
b24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVj
ZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCkpIHsKLSAgICAgICAgaWYgKFdlYlJlc291cmNlTG9hZGVyKiB3ZWJSZXNvdXJjZUxv
YWRlciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvYWRlclN0cmF0ZWd5KCkud2ViUmVz
b3VyY2VMb2FkZXJGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkKKyAgICAg
ICAgaWYgKGF1dG8qIHdlYlJlc291cmNlTG9hZGVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
d2ViTG9hZGVyU3RyYXRlZ3koKS53ZWJSZXNvdXJjZUxvYWRlckZvcklkZW50aWZpZXIoZGVjb2Rl
ci5kZXN0aW5hdGlvbklEKCkpKQogICAgICAgICAgICAgd2ViUmVzb3VyY2VMb2FkZXItPmRpZFJl
Y2VpdmVXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAg
ICAgIAogICAgICAgICByZXR1cm47CiAgICAgfQogCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlBhY2tldFNv
Y2tldDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIGlmIChhdXRvKiB3ZWJQYWNr
ZXRTb2NrZXQgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS53ZWJQYWNrZXRT
b2NrZXRGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkKKyAgICAgICAgICAg
IHdlYlBhY2tldFNvY2tldC0+ZGlkUmVjZWl2ZVdlYlBhY2tldFNvY2tldE1lc3NhZ2UoY29ubmVj
dGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIu
bWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJOZXR3b3JrTWFuYWdlcjo6bWVz
c2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxp
YldlYlJUQygpLm5ldHdvcmtNYW5hZ2VyKCkuZGlkUmVjZWl2ZVdlYk5ldHdvcmtNYW5hZ2VyTWVz
c2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OkxpYldlYlJUQzo6
bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
LmxpYldlYlJUQygpLmRpZFJlY2VpdmVMaWJXZWJSVENNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29k
ZXIpOworICAgICAgICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBkaWRSZWNlaXZlTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVEMuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVEMuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5NmVhMjdkNzBiMWQ5NjA0N2RmODFkM2M0OTIyNjg0MGZh
ZmY4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL0xpYldlYlJUQy5jcHAKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVEMuaCIKKworI2lmIFVTRShMSUJX
RUJSVEMpCisKKyNpbmNsdWRlICJXZWJOZXR3b3JrTWFuYWdlci5oIgorI2luY2x1ZGUgIldlYlBh
Y2tldFNvY2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+
CisjaW5jbHVkZSA8d2VicnRjL2FwaS9wZWVyY29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3ZvaWQgTGliV2ViUlRDOjppbml0aWFsaXplKCkKK3sKKyAgICBpZiAo
bV9zb2NrZXRGYWN0b3J5KQorICAgICAgICByZXR1cm47CisKKyAgICBtX3NvY2tldEZhY3Rvcnkg
PSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNvY2tldEZhY3Rvcnk+KCk7CisgICAgbV93ZWJO
ZXR3b3JrTWFuYWdlciA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViTmV0d29ya01hbmFnZXI+KCk7Cit9
CisKK1dlYlBhY2tldFNvY2tldCogTGliV2ViUlRDOjp3ZWJQYWNrZXRTb2NrZXRGb3JJZGVudGlm
aWVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgQVNTRVJUKG1fc29ja2V0RmFjdG9yeSk7
CisgICAgcmV0dXJuIG1fc29ja2V0RmFjdG9yeS0+d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIp
OworfQorCitXZWJOZXR3b3JrTWFuYWdlciYgTGliV2ViUlRDOjpuZXR3b3JrTWFuYWdlcigpCit7
CisgICAgQVNTRVJUKG1fd2ViTmV0d29ya01hbmFnZXIpOworICAgIHJldHVybiAqbV93ZWJOZXR3
b3JrTWFuYWdlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVEMuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMjQyZjFlNjUzZTJjM2VhZmQ0MjBiN2E0YzFj
ZGYwM2QwNWNhNjdjNwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmgKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYk5l
dHdvcmtNYW5hZ2VyLmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3Bl
ZXJjb25uZWN0aW9uZmFjdG9yeS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTGli
V2ViUlRDIHsKK3B1YmxpYzoKKyAgICBMaWJXZWJSVEMoKSA9IGRlZmF1bHQ7CisKKyAgICB2b2lk
IGluaXRpYWxpemUoKTsKKworICAgIFdlYlBhY2tldFNvY2tldCogd2ViUGFja2V0U29ja2V0Rm9y
SWRlbnRpZmllcih1aW50NjRfdCk7CisgICAgV2ViTmV0d29ya01hbmFnZXImIG5ldHdvcmtNYW5h
Z2VyKCk7CisgICAgV2ViUGFja2V0U29ja2V0RmFjdG9yeSYgc29ja2V0RmFjdG9yeSgpIGNvbnN0
IHsgcmV0dXJuICptX3NvY2tldEZhY3Rvcnk7IH0KKworICAgIHZvaWQgZGlkUmVjZWl2ZUxpYldl
YlJUQ01lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKK3ByaXZhdGU6
CisgICAgdm9pZCBnZXRSZXNvbHZlZEFkZHJlc3ModWludDY0X3QgaWRlbnRpZmllciwgY29uc3Qg
VmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4mIGFkZHJlc3NlcykgeyBtX3NvY2tldEZhY3Rv
cnktPmdldFJlc29sdmVkQWRkcmVzcyhpZGVudGlmaWVyLCBhZGRyZXNzZXMpOyB9CisgICAgdm9p
ZCByZXNvbHZlZEFkZHJlc3NFcnJvcih1aW50NjRfdCBpZGVudGlmaWVyLCBpbnQgZXJyb3IpIHsg
bV9zb2NrZXRGYWN0b3J5LT5yZXNvbHZlZEFkZHJlc3NFcnJvcihpZGVudGlmaWVyLCBlcnJvcik7
IH0KKworICAgIHN0ZDo6dW5pcXVlX3B0cjxXZWJQYWNrZXRTb2NrZXRGYWN0b3J5PiBtX3NvY2tl
dEZhY3Rvcnk7CisgICAgc3RkOjp1bmlxdWVfcHRyPFdlYk5ldHdvcmtNYW5hZ2VyPiBtX3dlYk5l
dHdvcmtNYW5hZ2VyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBV
U0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzRk
ZWE5MzViZGQ2MGU1MDkwMjg4Zjg1OWM3OTZjZjQ2MGU4MTRkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2Fn
ZXMuaW4KQEAgLTAsMCArMSwzMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBt
ZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMg
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgor
IyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTGliV2ViUlRDIExlZ2Fj
eVJlY2VpdmVyIHsKKyAgICB2b2lkIEdldFJlc29sdmVkQWRkcmVzcyh1aW50NjRfdCBpZGVudGlm
aWVyLCBWZWN0b3I8V2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M+IGFkZHJlc3NlcykKKyAg
ICB2b2lkIFJlc29sdmVkQWRkcmVzc0Vycm9yKHVpbnQ2NF90IGlkZW50aWZpZXIsIGludCBlcnJv
cikKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYkxpYldlYlJUQ1Byb3ZpZGVyLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTGliV2ViUlRDUHJv
dmlkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU1YzU1MGJkYjA5Y2E3OTVjOTNlMTU4MzdiN2Y0MGQ2MmNi
MDFmYWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYkxpYldlYlJUQ1Byb3ZpZGVyLmNwcApAQCAtMCwwICsxLDQ5IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYkxpYldlYlJUQ1Byb3Zp
ZGVyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgor
I2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYXBp
L3BlZXJjb25uZWN0aW9uZmFjdG9yeS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViTGli
V2ViUlRDUHJvdmlkZXI6OldlYkxpYldlYlJUQ1Byb3ZpZGVyKCkKK3sKKyAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5pbml0aWFsaXplTGliV2ViUlRDKCk7Cit9CisKK3J0Yzo6c2NvcGVkX3Jl
ZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBXZWJMaWJXZWJSVENQcm92aWRl
cjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJiBv
YnNlcnZlcikKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6Y3JlYXRlUGVlckNvbm5lY3Rpb24ob2Jz
ZXJ2ZXIsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLm5ldHdvcmtNYW5hZ2Vy
KCksIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLnNvY2tldEZhY3RvcnkoKSk7
Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
TGliV2ViUlRDUHJvdmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViTGliV2ViUlRDUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5iMDc5YmI0N2FiYjM4NzQ1
NzQ4NzRkNzkxZDA3ZjljZWE2YTJhYmU4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJMaWJXZWJSVENQcm92aWRlci5oCkBAIC0w
LDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0
OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8g
RVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04p
IEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdM
SUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVT
RSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNv
cmUvTGliV2ViUlRDUHJvdmlkZXIuaD4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitjbGFzcyBXZWJMaWJXZWJSVENQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBX
ZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlciB7CitwdWJsaWM6CisgICAgV2ViTGliV2ViUlRDUHJv
dmlkZXIoKTsKKworcHJpdmF0ZToKKyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVy
Q29ubmVjdGlvbkludGVyZmFjZT4gY3JlYXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29u
bmVjdGlvbk9ic2VydmVyJikgZmluYWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjliMTRhYThmMjYyMGQwYTlkYTU5NmRkYzU5Mzg1NDU2YjNhYTRhMmQKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5l
dHdvcmtNYW5hZ2VyLmNwcApAQCAtMCwwICsxLDkxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYk5ldHdvcmtNYW5hZ2VyLmgiCisKKyNpZiBVU0UoTElC
V0VCUlRDKQorCisjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdl
cy5oIgorI2luY2x1ZGUgIk5ldHdvcmtOZXR3b3JrTWFuYWdlck1lc3NhZ2VzLmgiCisjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgor
I2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBXZWJOZXR3b3JrTWFuYWdlcjo6
U3RhcnRVcGRhdGluZygpCit7CisgICAgaWYgKG1fY2xpZW50Q291bnQpIHsKKyAgICAgICAgLy8g
TmVlZCB0byBzaWduYWwgbmV3IGNsaWVudCB0aGF0IHdlIGFscmVhZHkgaGF2ZSB0aGUgbmV0d29y
ayBsaXN0LCBsZXQncyBkbyBpdCBhc3luY2hyb25vdXNseQorICAgICAgICBpZiAobV9yZWNlaXZl
ZE5ldHdvcmtMaXN0KSB7CisgICAgICAgICAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3Jr
VGhyZWFkKFt0aGlzXSB7CisgICAgICAgICAgICAgICAgU2lnbmFsTmV0d29ya3NDaGFuZ2VkKCk7
CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0gZWxzZSB7CisgICAgICAgIG1fcmVj
ZWl2ZWROZXR3b3JrTGlzdCA9IGZhbHNlOworICAgICAgICBjYWxsT25NYWluVGhyZWFkKFtdKCkg
eworICAgICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24o
KS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya05ldHdvcmtNYW5hZ2VyOjpTdGFy
dFVwZGF0aW5nKCksIDApOworICAgICAgICB9KTsKKyAgICB9CisgICAgKyttX2NsaWVudENvdW50
OworfQorCit2b2lkIFdlYk5ldHdvcmtNYW5hZ2VyOjpTdG9wVXBkYXRpbmcoKQoreworICAgIEFT
U0VSVChtX2NsaWVudENvdW50KTsKKyAgICBpZiAoLS1tX2NsaWVudENvdW50KQorICAgICAgICBy
ZXR1cm47CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFtdKCkgeworICAgICAgICBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrTmV0d29ya01hbmFnZXI6OlN0b3BVcGRhdGluZygpLCAwKTsKKyAgICB9KTsK
K30KKwordm9pZCBXZWJOZXR3b3JrTWFuYWdlcjo6bmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZlY3Rv
cjxSVENOZXR3b3JrPiYgbmV0d29ya3MsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2
NCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBpcHY2KQoreworICAgIC8vIE5vIG5lZWQg
dG8gcHJvdGVjdCAndGhpcycgYXMgaXQgaGFzIHRoZSBsaWZldGltZSBvZiBMaWJXZWJSVEMgd2hp
Y2ggaGFzIHRoZSBsaWZldGltZSBvZiB0aGUgd2ViIHByb2Nlc3MuCisgICAgV2ViQ29yZTo6Y2Fs
bE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgbmV0d29ya3MsIGlwdjQsIGlwdjZdIHsKKyAg
ICAgICAgc3RkOjp2ZWN0b3I8cnRjOjpOZXR3b3JrKj4gbmV0d29ya0xpc3QobmV0d29ya3Muc2l6
ZSgpKTsKKyAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IG5ldHdvcmtzLnNp
emUoKTsgKytpbmRleCkKKyAgICAgICAgICAgIG5ldHdvcmtMaXN0W2luZGV4XSA9IG5ldyBydGM6
Ok5ldHdvcmsobmV0d29ya3NbaW5kZXhdLnZhbHVlKCkpOworCisgICAgICAgIGJvb2wgZm9yY2VT
aWduYWxpbmcgPSAhbV9yZWNlaXZlZE5ldHdvcmtMaXN0OworICAgICAgICBtX3JlY2VpdmVkTmV0
d29ya0xpc3QgPSB0cnVlOworCisgICAgICAgIGJvb2wgaGFzQ2hhbmdlZDsKKyAgICAgICAgc2V0
X2RlZmF1bHRfbG9jYWxfYWRkcmVzc2VzKGlwdjQudmFsdWUsIGlwdjYudmFsdWUpOworICAgICAg
ICBNZXJnZU5ldHdvcmtMaXN0KG5ldHdvcmtMaXN0LCAmaGFzQ2hhbmdlZCk7CisgICAgICAgIGlm
IChoYXNDaGFuZ2VkIHx8IGZvcmNlU2lnbmFsaW5nKQorICAgICAgICAgICAgU2lnbmFsTmV0d29y
a3NDaGFuZ2VkKCk7CisKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LjYyNThlZDY3NGIyOWQ1MmE1MGJmNjUxMzI2M2EyMmU1NTU4MjczNjgKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtN
YW5hZ2VyLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1l
c3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1l
c3BhY2UgV2ViS2l0IHsKKworc3RydWN0IE5ldHdvcmtzQ2hhbmdlZERhdGE7CisKK2NsYXNzIFdl
Yk5ldHdvcmtNYW5hZ2VyIGZpbmFsIDogcHVibGljIHJ0Yzo6TmV0d29ya01hbmFnZXJCYXNlIHsK
K3B1YmxpYzoKKyAgICBXZWJOZXR3b3JrTWFuYWdlcigpIHsgfQorCisgICAgdm9pZCBkaWRSZWNl
aXZlV2ViTmV0d29ya01hbmFnZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2Rl
ciYpOworCitwcml2YXRlOgorICAgIHZvaWQgbmV0d29ya3NDaGFuZ2VkKGNvbnN0IFZlY3RvcjxS
VENOZXR3b3JrPiYgbmV0d29ya0xpc3QsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYsIGNv
bnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYpOworCisgICAgdm9pZCBTdGFydFVwZGF0aW5nKCkg
ZmluYWw7CisgICAgdm9pZCBTdG9wVXBkYXRpbmcoKSBmaW5hbDsKKworICAgIHVuc2lnbmVkIG1f
Y2xpZW50Q291bnQgeyAwIH07CisgICAgYm9vbCBtX3JlY2VpdmVkTmV0d29ya0xpc3QgeyBmYWxz
ZSB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIubWVzc2FnZXMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZTJkNjliYzljNmNjZjg5YzkwNzA4MmI5MjY3YTdmNjIxZTUyZjFmMAotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29y
a01hbmFnZXIubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwyOSBAQAorIyBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJF
IExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4g
V2ViTmV0d29ya01hbmFnZXIgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgTmV0d29ya3NDaGFu
Z2VkKFZlY3RvcjxXZWJLaXQ6OlJUQ05ldHdvcms+IG5ldHdvcmtzLCBXZWJLaXQ6OlJUQ05ldHdv
cms6OklQQWRkcmVzcyBkZWZhdWx0SVBWNEFkZHJlc3MsIFdlYktpdDo6UlRDTmV0d29yazo6SVBB
ZGRyZXNzIGRlZmF1bHRJUFY2QWRkcmVzcykKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMp
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
YlBhY2tldFNvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlBhY2tldFNvY2tldC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYTI3Y2Y3MDkzMzZhMjU1ODM4NTk5
ZDJlMDY0ZTA1ZWQ0NzM0NTMyOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcApAQCAtMCwwICsxLDIw
OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJQYWNr
ZXRTb2NrZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJl
bmNlLmgiCisjaW5jbHVkZSAiTmV0d29ya1BhY2tldFNvY2tldE1lc3NhZ2VzLmgiCisjaW5jbHVk
ZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0
RmFjdG9yeS5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRo
cmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUGFja2V0U29ja2V0OjpXZWJQYWNr
ZXRTb2NrZXQoV2ViUGFja2V0U29ja2V0RmFjdG9yeSYgZmFjdG9yeSwgVHlwZSB0eXBlLCBjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiByZW1vdGVBZGRyZXNzKQorICAgIDogbV9mYWN0b3J5KGZhY3RvcnkpCisgICAgLCBtX3R5
cGUodHlwZSkKKyAgICAsIG1fbG9jYWxBZGRyZXNzKGxvY2FsQWRkcmVzcykKKyAgICAsIG1fcmVt
b3RlQWRkcmVzcyhyZW1vdGVBZGRyZXNzKQoreworICAgIG1fZmFjdG9yeS5hdHRhY2goKnRoaXMp
OworICAgIHN0ZDo6ZmlsbF9uKG1fb3B0aW9ucywgTUFYX1NPQ0tFVF9PUFRJT04sIC0xKTsKK30K
KworV2ViUGFja2V0U29ja2V0Ojp+V2ViUGFja2V0U29ja2V0KCkKK3sKKyAgICBtX2ZhY3Rvcnku
ZGV0YWNoKCp0aGlzKTsKK30KKworcnRjOjpTb2NrZXRBZGRyZXNzIFdlYlBhY2tldFNvY2tldDo6
R2V0TG9jYWxBZGRyZXNzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9sb2NhbEFkZHJlc3M7Cit9
CisKK3J0Yzo6U29ja2V0QWRkcmVzcyBXZWJQYWNrZXRTb2NrZXQ6OkdldFJlbW90ZUFkZHJlc3Mo
KSBjb25zdAoreworICAgIHJldHVybiBtX3JlbW90ZUFkZHJlc3M7Cit9CisKK3ZvaWQgV2ViUGFj
a2V0U29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJiBhZGRyZXNzKQorewor
ICAgIGF1dG8qIGZhY3RvcnkgPSAmbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRo
aXMtPmlkZW50aWZpZXIoKTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFk
KFt0aGlzLCBmYWN0b3J5LCBpZGVudGlmaWVyLCBhZGRyZXNzXSgpIHsKKyAgICAgICAgLy8gRklY
TUU6IFdlIHNob3VsZCBwcm9iYWJseSBtb3ZlIHRoaXMgY29kZSBvdXQgb2YgV2ViUGFja2V0U29j
a2V0IHNvIHdlIGRvIG5vdCBjaGVjayB0d2ljZSB0aGUgaWRlbnRpZmllciBpbiB0aGUgZmFjdG9y
eS4KKyAgICAgICAgaWYgKCFmYWN0b3J5LT53ZWJQYWNrZXRTb2NrZXQoaWRlbnRpZmllcikpCisg
ICAgICAgICAgICByZXR1cm47CisgICAgICAgIGlmIChtX3R5cGUgPT0gVHlwZTo6Q2xpZW50VENQ
KQorICAgICAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5FQ1RFRDsKKyAgICAgICAgZWxzZQor
ICAgICAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0JPVU5EOworICAgICAgICBtX2xvY2FsQWRkcmVz
cy5Gcm9tU3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7CisgICAgICAgIFNpZ25hbEFkZHJl
c3NSZWFkeSh0aGlzLCBtX2xvY2FsQWRkcmVzcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUGFj
a2V0U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0
YSwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBp
bnQ2NF90IHRpbWVzdGFtcCkKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9yeTsKKyAg
ICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgUmVmUHRyPFdlYkNv
cmU6OlNoYXJlZEJ1ZmZlcj4gYnVmZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUo
ZGF0YS5kYXRhKCksIGRhdGEuc2l6ZSgpKTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3
b3JrVGhyZWFkKFt0aGlzLCBmYWN0b3J5LCBpZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1
ZmZlciksIGFkZHJlc3MsIHBvcnQsIHRpbWVzdGFtcF0oKSB7CisgICAgICAgIGlmICghZmFjdG9y
eS0+d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAg
ICAgICBtX3JlbW90ZUFkZHJlc3MgPSBydGM6OlNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwg
cG9ydCk7CisgICAgICAgIFNpZ25hbFJlYWRQYWNrZXQodGhpcywgYnVmZmVyLT5kYXRhKCksIGJ1
ZmZlci0+c2l6ZSgpLCBtX3JlbW90ZUFkZHJlc3MsIHJ0Yzo6UGFja2V0VGltZSh0aW1lc3RhbXAs
IDApKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNr
ZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1lTXMpCit7CisgICAgYXV0byogZmFj
dG9yeSA9ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmll
cigpOworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIGZhY3Rv
cnksIGlkZW50aWZpZXIsIHJ0Y1BhY2tldElELCBzZW5kVGltZU1zXSgpIHsKKyAgICAgICAgaWYg
KCFmYWN0b3J5LT53ZWJQYWNrZXRTb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzICs9IG1fYmVpbmdTZW50UGFja2V0
U2l6ZXMudGFrZUZpcnN0KCk7CisgICAgICAgIFNpZ25hbFNlbnRQYWNrZXQodGhpcywgcnRjOjpT
ZW50UGFja2V0KHJ0Y1BhY2tldElELCBzZW5kVGltZU1zKSk7CisgICAgICAgIGlmIChtX3Nob3Vs
ZFNpZ25hbFJlYWR5VG9TZW5kKSB7CisgICAgICAgICAgICBtX3Nob3VsZFNpZ25hbFJlYWR5VG9T
ZW5kID0gZmFsc2U7CisgICAgICAgICAgICBTaWduYWxSZWFkeVRvU2VuZCh0aGlzKTsKKyAgICAg
ICAgfQorICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdCgp
Cit7CisgICAgYXV0byogZmFjdG9yeSA9ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVy
ID0gdGhpcy0+aWRlbnRpZmllcigpOworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtU
aHJlYWQoW3RoaXMsIGZhY3RvcnksIGlkZW50aWZpZXJdKCkgeworICAgICAgICBpZiAoIWZhY3Rv
cnktPndlYlBhY2tldFNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAg
ICAgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5FQ1RFRDsKKyAgICAgICAgU2lnbmFsQ29ubmVjdCh0
aGlzKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKGlu
dCBlcnJvcikKK3sKKyAgICBhdXRvKiBmYWN0b3J5ID0gJm1fZmFjdG9yeTsKKyAgICBhdXRvIGlk
ZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRD
TmV0d29ya1RocmVhZChbdGhpcywgZmFjdG9yeSwgaWRlbnRpZmllciwgZXJyb3JdKCkgeworICAg
ICAgICBpZiAoIWZhY3RvcnktPndlYlBhY2tldFNvY2tldChpZGVudGlmaWVyKSkKKyAgICAgICAg
ICAgIHJldHVybjsKKyAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0NMT1NFRDsKKyAgICAgICAgU2ln
bmFsQ2xvc2UodGhpcywgZXJyb3IpOworICAgIH0pOworfQorCitJUEM6OkNvbm5lY3Rpb24qIFdl
YlBhY2tldFNvY2tldDo6bWVzc2FnZVNlbmRlckNvbm5lY3Rpb24oKQoreworICAgIHJldHVybiAm
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCk7
Cit9CisKK3N0YXRpYyBpbmxpbmUgU3RyaW5nIGF1dGhLZXkoY29uc3QgcnRjOjpQYWNrZXRPcHRp
b25zJiBvcHRpb25zKQoreworICAgIGlmIChvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRw
X2F1dGhfa2V5LnNpemUoKSA8PSAwKQorICAgICAgICByZXR1cm4geyB9OworICAgIHJldHVybiBT
dHJpbmcob3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5kYXRhKCksIG9w
dGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkuc2l6ZSgpKTsKK30KKworCiti
b29sIFdlYlBhY2tldFNvY2tldDo6d2lsbFNlbmQoc2l6ZV90IHNpemUpCit7CisgICAgaWYgKHNp
emUgPiBtX2F2YWlsYWJsZVNlbmRpbmdCeXRlcykgeworICAgICAgICBtX3Nob3VsZFNpZ25hbFJl
YWR5VG9TZW5kID0gdHJ1ZTsKKyAgICAgICAgc2V0RXJyb3IoRVdPVUxEQkxPQ0spOworICAgICAg
ICByZXR1cm4gZmFsc2U7CisgICAgfQorICAgIG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzIC09IHNp
emU7CisgICAgbV9iZWluZ1NlbnRQYWNrZXRTaXplcy5hcHBlbmQoc2l6ZSk7CisgICAgcmV0dXJu
IHRydWU7Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OlNlbmRUbyhjb25zdCB2b2lkICp2YWx1
ZSwgc2l6ZV90IHNpemUsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgY29uc3Qg
cnRjOjpQYWNrZXRPcHRpb25zJiBvcHRpb25zKQoreworICAgIGlmICghd2lsbFNlbmQoc2l6ZSkp
CisgICAgICAgIHJldHVybiAtMTsKKworICAgIGF1dG8gYnVmZmVyID0gV2ViQ29yZTo6U2hhcmVk
QnVmZmVyOjpjcmVhdGUoc3RhdGljX2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlKSwgc2l6ZSk7
CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOworCisgICAgY2FsbE9u
TWFpblRocmVhZChbaWRlbnRpZmllciwgYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNz
LCBvcHRpb25zXSB7CisgICAgICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5zaXplKCkpOwor
ICAgICAgICBTdHJpbmcgc3J0cEF1dGhLZXkgPSBhdXRoS2V5KG9wdGlvbnMpOworICAgICAgICBN
ZXNzYWdlczo6TmV0d29ya1BhY2tldFNvY2tldDo6U2VuZFRvIG1lc3NhZ2UoZGF0YSwgUlRDTmV0
d29yazo6SVBBZGRyZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgb3B0aW9u
cy5wYWNrZXRfaWQsIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRl
bnNpb25faWQsIHNydHBBdXRoS2V5LCBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX3Bh
Y2tldF9pbmRleCwgb3B0aW9ucy5kc2NwKTsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChXVEZNb3ZlKG1lc3NhZ2Up
LCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gc2l6ZTsKK30KKworaW50IFdlYlBh
Y2tldFNvY2tldDo6Q2xvc2UoKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50
aWZpZXIoKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSB7CisgICAgICAgIFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OkNsb3NlKCksIGlkZW50aWZpZXIpOwor
ICAgIH0pOworICAgIHJldHVybiAwOworfQorCitpbnQgV2ViUGFja2V0U29ja2V0OjpHZXRPcHRp
b24ocnRjOjpTb2NrZXQ6Ok9wdGlvbiBvcHRpb24sIGludCogdmFsdWUpCit7CisgICAgQVNTRVJU
KG9wdGlvbiA8IE1BWF9TT0NLRVRfT1BUSU9OKTsKKyAgICBpbnQgc3RvcmVkVmFsdWUgPSBtX29w
dGlvbnNbb3B0aW9uXTsKKyAgICBpZiAoc3RvcmVkVmFsdWUgIT0gLTEpCisgICAgICAgICp2YWx1
ZSA9IG1fb3B0aW9uc1tvcHRpb25dOworICAgIHJldHVybiAwOworfQorCitpbnQgV2ViUGFja2V0
U29ja2V0OjpTZXRPcHRpb24ocnRjOjpTb2NrZXQ6Ok9wdGlvbiBvcHRpb24sIGludCB2YWx1ZSkK
K3sKKyAgICBBU1NFUlQob3B0aW9uIDwgTUFYX1NPQ0tFVF9PUFRJT04pOworCisgICAgY2FsbE9u
TWFpblRocmVhZChbdGhpcywgb3B0aW9uLCB2YWx1ZV0geworICAgICAgICBtX29wdGlvbnNbb3B0
aW9uXSA9IHZhbHVlOworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29u
bmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUGFja2V0U29ja2V0
OjpTZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSksIG1faWRlbnRpZmllcik7CisgICAgfSk7CisgICAg
cmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUGFja2V0U29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmZlOGNmMjI5NDM0ZTU1NWY2
MDkwNzQ5MjcxMDFkNTE5Y2NhMTAyZTYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5oCkBAIC0wLDAgKzEs
MTA5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQor
CisjaW5jbHVkZSAiTWVzc2FnZVNlbmRlci5oIgorI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKwor
I2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFz
ZS9hc3luY3BhY2tldHNvY2tldC5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVz
cGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7CitjbGFz
cyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViUGFja2V0U29j
a2V0RmFjdG9yeTsKKworY2xhc3MgV2ViUGFja2V0U29ja2V0IGZpbmFsIDogcHVibGljIHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQsIHB1YmxpYyBJUEM6Ok1lc3NhZ2VTZW5kZXIgeworcHVibGljOgor
ICAgIGVudW0gY2xhc3MgVHlwZSB7IFVEUCwgU2VydmVyVENQLCBDbGllbnRUQ1AgfTsKKworICAg
IFdlYlBhY2tldFNvY2tldChXZWJQYWNrZXRTb2NrZXRGYWN0b3J5JiwgVHlwZSwgY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYg
cmVtb3RlQWRkcmVzcyk7CisgICAgfldlYlBhY2tldFNvY2tldCgpOworCisgICAgdm9pZCBzZXRF
cnJvcihpbnQgZXJyb3IpIHsgbV9lcnJvciA9IGVycm9yOyB9CisKKyAgICB2b2lkIHNldElkZW50
aWZpZXIodWludDY0X3QgaWRlbnRpZmllcikgeyBtX2lkZW50aWZpZXIgPSBpZGVudGlmaWVyOyB9
CisgICAgdWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsg
fQorCisgICAgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MoKSBjb25zdCB7
IHJldHVybiBtX2xvY2FsQWRkcmVzczsgfQorICAgIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYg
cmVtb3RlQWRkcmVzcygpIGNvbnN0IHsgcmV0dXJuIG1fcmVtb3RlQWRkcmVzczsgfQorCisgICAg
dm9pZCBkaWRSZWNlaXZlV2ViUGFja2V0U29ja2V0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6OkRlY29kZXImKTsKKworICAgIHZvaWQgc2V0U3RhdGUoU3RhdGUgc3RhdGUpIHsgbV9zdGF0
ZSA9IHN0YXRlOyB9CisKK3ByaXZhdGU6CisgICAgdWludDY0X3QgbWVzc2FnZVNlbmRlckRlc3Rp
bmF0aW9uSUQoKSBmaW5hbCB7IHJldHVybiBpZGVudGlmaWVyKCk7IH0KKyAgICBJUEM6OkNvbm5l
Y3Rpb24qIG1lc3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkgZmluYWw7CisKKyAgICB2b2lkIHNpZ25h
bFJlYWRQYWNrZXQoY29uc3QgSVBDOjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6
SVBBZGRyZXNzJiwgdWludDE2X3QgcG9ydCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxTZW50
UGFja2V0KGludCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29uc3Qg
U3RyaW5nJik7CisgICAgdm9pZCBzaWduYWxDb25uZWN0KCk7CisgICAgdm9pZCBzaWduYWxDbG9z
ZShpbnQpOworCisgICAgYm9vbCB3aWxsU2VuZChzaXplX3QpOworCisgICAgLy8gQXN5bmNQYWNr
ZXRTb2NrZXQgQVBJCisgICAgaW50IEdldEVycm9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9l
cnJvcjsgfQorICAgIHZvaWQgU2V0RXJyb3IoaW50IGVycm9yKSBmaW5hbCB7IHNldEVycm9yKGVy
cm9yKTsgfQorICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBHZXRMb2NhbEFkZHJlc3MoKSBjb25zdCBm
aW5hbDsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgR2V0UmVtb3RlQWRkcmVzcygpIGNvbnN0IGZp
bmFsOworICAgIGludCBTZW5kKGNvbnN0IHZvaWQgKnB2LCBzaXplX3QgY2IsIGNvbnN0IHJ0Yzo6
UGFja2V0T3B0aW9ucyYgb3B0aW9ucykgZmluYWwgeyByZXR1cm4gU2VuZFRvKHB2LCBjYiwgbV9y
ZW1vdGVBZGRyZXNzLCBvcHRpb25zKTsgfQorICAgIGludCBTZW5kVG8oY29uc3Qgdm9pZCAqLCBz
aXplX3QsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9u
cyYpIGZpbmFsOworICAgIGludCBDbG9zZSgpIGZpbmFsOworICAgIFN0YXRlIEdldFN0YXRlKCkg
Y29uc3QgZmluYWwgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIGludCBHZXRPcHRpb24ocnRjOjpT
b2NrZXQ6Ok9wdGlvbiwgaW50KikgZmluYWw7CisgICAgaW50IFNldE9wdGlvbihydGM6OlNvY2tl
dDo6T3B0aW9uLCBpbnQpIGZpbmFsOworCisgICAgV2ViUGFja2V0U29ja2V0RmFjdG9yeSYgbV9m
YWN0b3J5OworICAgIFR5cGUgbV90eXBlOworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBtX2xvY2Fs
QWRkcmVzczsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9yZW1vdGVBZGRyZXNzOworCisgICAg
dWludDY0X3QgbV9pZGVudGlmaWVyIHsgMCB9OworICAgIGludCBtX2Vycm9yIHsgMCB9OworICAg
IFN0YXRlIG1fc3RhdGUgeyBTVEFURV9CSU5ESU5HIH07CisKKyAgICBzdGF0aWMgY29uc3QgdW5z
aWduZWQgTUFYX1NPQ0tFVF9PUFRJT04geyBydGM6OkFzeW5jU29ja2V0OjpPUFRfUlRQX1NFTkRU
SU1FX0VYVE5fSUQgKyAxIH07CisgICAgaW50IG1fb3B0aW9uc1tNQVhfU09DS0VUX09QVElPTl07
CisKKyAgICBEZXF1ZTxzaXplX3Q+IG1fYmVpbmdTZW50UGFja2V0U2l6ZXM7CisgICAgc2l6ZV90
IG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzIHsgNjU1MzYgfTsKKyAgICBib29sIG1fc2hvdWxkU2ln
bmFsUmVhZHlUb1NlbmQgeyBmYWxzZSB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldC5tZXNz
YWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi5mYzUwODExM2I5OTQ2OGYxNjAyZmY5ODBjOTFlZmU4MDBmMTY3
MDRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMyBAQAorIyBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisj
CisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBH
T09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykK
KworbWVzc2FnZXMgLT4gV2ViUGFja2V0U29ja2V0IExlZ2FjeVJlY2VpdmVyIHsKKyAgICBTaWdu
YWxSZWFkUGFja2V0KElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6
OklQQWRkcmVzcyBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAg
ICBTaWduYWxTZW50UGFja2V0KGludCBwYWNrZXRTaXplLCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAg
ICBTaWduYWxBZGRyZXNzUmVhZHkoU3RyaW5nIGFkZHJlc3MpCisgICAgU2lnbmFsQ29ubmVjdCgp
CisgICAgU2lnbmFsQ2xvc2UoaW50IGVycm9yKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
V2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmJlZWU3
NTQ1NjI1MTVmMDNhMDI1N2ZjZjljNzRiOWNlNDUzMjA1ZDcKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZh
Y3RvcnkuY3BwCkBAIC0wLDAgKzEsMjAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKworI2lmIFVTRShMSUJX
RUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2Vz
LmgiCisjaW5jbHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNpbmNsdWRl
ICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXQu
aCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VpbnQ2NF90IFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6
OnNfdW5pcXVlU29ja2V0SWRlbnRpZmllciA9IDA7Cit1aW50NjRfdCBXZWJQYWNrZXRTb2NrZXRG
YWN0b3J5OjpzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmllciA9IDA7CisKK3J0Yzo6QXN5bmNQYWNr
ZXRTb2NrZXQqIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNlcnZlclRjcFNvY2tldChj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIGF1dG8gc29ja2V0ID0gc3RkOjptYWtl
X3VuaXF1ZTxXZWJQYWNrZXRTb2NrZXQ+KCp0aGlzLCBXZWJQYWNrZXRTb2NrZXQ6OlR5cGU6OlNl
cnZlclRDUCwgYWRkcmVzcywgcnRjOjpTb2NrZXRBZGRyZXNzKCkpOworICAgIGF1dG8qIHNvY2tl
dFBvaW50ZXIgPSBzb2NrZXQuZ2V0KCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBz
b2NrZXRQb2ludGVyLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zXSgpIHsKKyAgICAgICAgaWYg
KCFtX3BlbmRpbmdTb2NrZXRzLnJlbW92ZUZpcnN0KHNvY2tldFBvaW50ZXIpKQorICAgICAgICAg
ICAgcmV0dXJuOworCisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldElkZW50aWZpZXIoKytzX3Vu
aXF1ZVNvY2tldElkZW50aWZpZXIpOworICAgICAgICBhdXRvIGFkZHJlc3NTdHJpbmcgPSBzb2Nr
ZXRQb2ludGVyLT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmluZygpOworCisgICAgICAgIGlmICghV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZVNlcnZlclRD
UFNvY2tldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCksIFN0cmluZyhhZGRyZXNzU3RyaW5n
LmRhdGEoKSwgYWRkcmVzc1N0cmluZy5sZW5ndGgoKSksIG1pblBvcnQsIG1heFBvcnQsIG9wdGlv
bnMpLCAwKSkgeworICAgICAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0RXJyb3IoMSk7CisgICAg
ICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBtX3NvY2tldHMuc2V0KHNvY2tl
dFBvaW50ZXItPmlkZW50aWZpZXIoKSwgc29ja2V0UG9pbnRlcik7CisgICAgfSk7CisgICAgcmV0
dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3J0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIFdlYlBh
Y2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJl
c3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpCit7CisgICAg
YXV0byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNvY2tldD4oKnRoaXMsIFdl
YlBhY2tldFNvY2tldDo6VHlwZTo6VURQLCBhZGRyZXNzLCBydGM6OlNvY2tldEFkZHJlc3MoKSk7
CisgICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5nZXQoKTsKKworICAgIGNhbGxPbk1h
aW5UaHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG1pblBvcnQsIG1heFBvcnRdKCkgeworICAg
ICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3Qoc29ja2V0UG9pbnRlcikpCisg
ICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0SWRlbnRpZmll
cigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllcik7CisgICAgICAgIGF1dG8gYWRkcmVzc1N0cmlu
ZyA9IHNvY2tldFBvaW50ZXItPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7CisKKyAgICAgICAg
aWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rp
b24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6Q3JlYXRl
VURQU29ja2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwgU3RyaW5nKGFkZHJlc3NTdHJp
bmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgbWluUG9ydCwgbWF4UG9ydCksIDAp
KSB7CisgICAgICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRFcnJvcigxKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG1fc29ja2V0cy5zZXQoc29ja2V0UG9pbnRl
ci0+aWRlbnRpZmllcigpLCBzb2NrZXRQb2ludGVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gc29j
a2V0LnJlbGVhc2UoKTsKK30KKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogV2ViUGFja2V0U29j
a2V0RmFjdG9yeTo6Q3JlYXRlQ2xpZW50VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVz
cyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3Ms
IGNvbnN0IHJ0Yzo6UHJveHlJbmZvJiwgY29uc3Qgc3RkOjpzdHJpbmcmLCBpbnQgb3B0aW9ucykK
K3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViUGFja2V0U29ja2V0Pigq
dGhpcywgV2ViUGFja2V0U29ja2V0OjpUeXBlOjpDbGllbnRUQ1AsIGxvY2FsQWRkcmVzcywgcmVt
b3RlQWRkcmVzcyk7CisgICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5nZXQoKTsKKwor
ICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG9wdGlvbnNdKCkgewor
ICAgICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3Qoc29ja2V0UG9pbnRlcikp
CisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0SWRlbnRp
ZmllcigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllcik7CisKKyAgICAgICAgYXV0byBsb2NhbEFk
ZHJlc3NTdHJpbmcgPSBzb2NrZXRQb2ludGVyLT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmluZygpOwor
ICAgICAgICBhdXRvIHJlbW90ZUFkZHJlc3NTdHJpbmcgPSBzb2NrZXRQb2ludGVyLT5yZW1vdGVB
ZGRyZXNzKCkuVG9TdHJpbmcoKTsKKworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVDbGllbnRUQ1BTb2NrZXQoc29ja2V0UG9p
bnRlci0+aWRlbnRpZmllcigpLCBTdHJpbmcobG9jYWxBZGRyZXNzU3RyaW5nLmRhdGEoKSwgbG9j
YWxBZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgU3RyaW5nKHJlbW90ZUFkZHJlc3NTdHJpbmcuZGF0
YSgpLCByZW1vdGVBZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgb3B0aW9ucyksIDApKSB7CisgICAg
ICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRFcnJvcigxKTsKKyAgICAgICAgICAgIHJldHVybjsK
KyAgICAgICAgfQorCisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldFN0YXRlKFdlYlBhY2tldFNv
Y2tldDo6U1RBVEVfQ09OTkVDVElORyk7CisgICAgICAgIG1fc29ja2V0cy5zZXQoc29ja2V0UG9p
bnRlci0+aWRlbnRpZmllcigpLCBzb2NrZXRQb2ludGVyKTsKKworICAgIH0pOworCisgICAgcmV0
dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6
ZGV0YWNoKFdlYlBhY2tldFNvY2tldCYgc29ja2V0KQoreworICAgIGlmIChzb2NrZXQuaWRlbnRp
ZmllcigpKQorICAgICAgICBtX3NvY2tldHMucmVtb3ZlKHNvY2tldC5pZGVudGlmaWVyKCkpOwor
ICAgIGVsc2UKKyAgICAgICAgbV9wZW5kaW5nU29ja2V0cy5yZW1vdmVGaXJzdCgmc29ja2V0KTsK
K30KKworcnRjOjpBc3luY1Jlc29sdmVySW50ZXJmYWNlKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
OjpDcmVhdGVBc3luY1Jlc29sdmVyKCkKK3sKKyAgICBhdXRvKiByZXNvbHZlciA9IG5ldyBXZWJB
c3luY1Jlc29sdmVyKCsrc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXIpOworICAgIG1fcmVzb2x2
ZXJzLnNldChyZXNvbHZlci0+aWRlbnRpZmllcigpLCBzdGQ6OnVuaXF1ZV9wdHI8V2ViQXN5bmNS
ZXNvbHZlcj4ocmVzb2x2ZXIpKTsKKyAgICByZXR1cm4gcmVzb2x2ZXI7Cit9CisKK3ZvaWQgV2Vi
UGFja2V0U29ja2V0RmFjdG9yeTo6Z2V0UmVzb2x2ZWRBZGRyZXNzKHVpbnQ2NF90IGlkZW50aWZp
ZXIsIGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMpCit7Cisg
ICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwg
YWRkcmVzc2VzXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIgPSBtX3Jlc29sdmVycy5nZXQo
aWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIFZlY3RvcjxydGM6OklQQWRkcmVzcz4gaXBBZGRyZXNzZXM7CisgICAgICAgIGlw
QWRkcmVzc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYWRkcmVzc2VzLnNpemUoKSk7CisgICAg
ICAgIGZvciAoYXV0byYgYWRkcmVzcyA6IGFkZHJlc3NlcykKKyAgICAgICAgICAgIGlwQWRkcmVz
c2VzLnVuY2hlY2tlZEFwcGVuZChhZGRyZXNzLnZhbHVlKTsKKworICAgICAgICByZXNvbHZlci0+
c2V0UmVzb2x2ZWRBZGRyZXNzZXMoV1RGTW92ZShpcEFkZHJlc3NlcykpOworICAgICAgICByZXNv
bHZlci0+U2lnbmFsRG9uZShyZXNvbHZlcik7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUGFja2V0
U29ja2V0RmFjdG9yeTo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IodWludDY0X3QgaWRlbnRpZmllciwg
aW50IGVycm9yKQoreworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3Ro
aXMsIGlkZW50aWZpZXIsIGVycm9yXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIgPSBtX3Jl
c29sdmVycy5nZXQoaWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIHJlc29sdmVyLT5zZXRFcnJvcihlcnJvcik7CisgICAgICAg
IHJlc29sdmVyLT5TaWduYWxEb25lKHJlc29sdmVyKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpTdGFydChjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmIGFkZHJlc3MpCit7CisgICAgbV9pc1Jlc29sdmluZyA9IHRydWU7CisgICAg
bV9hZGRyZXNzVG9SZXNvbHZlID0gYWRkcmVzczsKKyAgICBtX3BvcnQgPSBhZGRyZXNzLnBvcnQo
KTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgY2FsbE9uTWFpblRo
cmVhZChbaWRlbnRpZmllciwgYWRkcmVzc10oKSB7CisgICAgICAgIGF1dG8gYWRkcmVzc1N0cmlu
ZyA9IGFkZHJlc3MuSG9zdEFzVVJJU3RyaW5nKCk7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVBc3luY1Jlc29sdmVyKGlkZW50aWZp
ZXIsIFN0cmluZyhhZGRyZXNzU3RyaW5nLmRhdGEoKSwgYWRkcmVzc1N0cmluZy5sZW5ndGgoKSkp
LCAwKTsKKyAgICB9KTsKK30KKworYm9vbCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3lu
Y1Jlc29sdmVyOjpHZXRSZXNvbHZlZEFkZHJlc3MoaW50IGZhbWlseSwgcnRjOjpTb2NrZXRBZGRy
ZXNzKiBhZGRyZXNzKSBjb25zdAoreworICAgIEFTU0VSVChhZGRyZXNzKTsKKyAgICBpZiAobV9l
cnJvciB8fCAhbV9hZGRyZXNzZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICAqYWRkcmVzcyA9IG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICBmb3IgKGF1dG8mIGlwQWRkcmVz
cyA6IG1fYWRkcmVzc2VzKSB7CisgICAgICAgIGlmIChmYW1pbHkgPT0gaXBBZGRyZXNzLmZhbWls
eSgpKSB7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRSZXNvbHZlZElQKGlwQWRkcmVzcyk7Cisg
ICAgICAgICAgICBhZGRyZXNzLT5TZXRQb3J0KG1fcG9ydCk7CisgICAgICAgICAgICByZXR1cm4g
dHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgV2Vi
UGFja2V0U29ja2V0RmFjdG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6RGVzdHJveShib29sKQorewor
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLnNvY2tldEZhY3RvcnkoKS5z
dG9wUmVzb2x2ZXIobV9pZGVudGlmaWVyKTsKK30KKwordm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0
b3J5OjpzdG9wUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICBhdXRvIHJlc29s
dmVyID0gbV9yZXNvbHZlcnMudGFrZShpZGVudGlmaWVyKTsKKyAgICBBU1NFUlQocmVzb2x2ZXIp
OworICAgIGlmIChyZXNvbHZlci0+aXNSZXNvbHZpbmcoKSkgeworICAgICAgICBjYWxsT25NYWlu
VGhyZWFkKFtpZGVudGlmaWVyXSgpIHsKKyAgICAgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpTdG9wQXN5bmNSZXNvbHZlcihpZGVudGlmaWVyKSwg
MCk7CisgICAgICAgIH0pOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4zNGY3ZTVjMGU4Yjc1ODRjODAzNTUxNDg4ODQ5MTZhY2M0MzdlODQ3Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIlJUQ05ldHdvcmsu
aCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0
Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvcGFja2V0c29j
a2V0ZmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQXN5bmNSZXNvbHZlcjsK
K2NsYXNzIFdlYlBhY2tldFNvY2tldDsKKworY2xhc3MgV2ViUGFja2V0U29ja2V0RmFjdG9yeSBm
aW5hbCA6IHB1YmxpYyBydGM6OlBhY2tldFNvY2tldEZhY3RvcnkgeworcHVibGljOgorICAgIFdl
YlBhY2tldFNvY2tldEZhY3RvcnkoKSB7IH0KKworICAgIHZvaWQgYXR0YWNoKFdlYlBhY2tldFNv
Y2tldCYgc29ja2V0KSB7IG1fcGVuZGluZ1NvY2tldHMuYXBwZW5kKCZzb2NrZXQpOyB9CisgICAg
dm9pZCBkZXRhY2goV2ViUGFja2V0U29ja2V0Jik7CisKKyAgICBXZWJQYWNrZXRTb2NrZXQqIHdl
YlBhY2tldFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBtX3NvY2tldHMuZ2V0
KGlkZW50aWZpZXIpOyB9CisKKyAgICB2b2lkIGdldFJlc29sdmVkQWRkcmVzcyh1aW50NjRfdCwg
Y29uc3QgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4mKTsKKyAgICB2b2lkIHJlc29sdmVk
QWRkcmVzc0Vycm9yKHVpbnQ2NF90LCBpbnQpOworCitwcml2YXRlOgorICAgIHJ0Yzo6QXN5bmNQ
YWNrZXRTb2NrZXQqIENyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCB1
aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KSBmaW5hbDsKKyAgICBydGM6OkFzeW5j
UGFja2V0U29ja2V0KiBDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiwgdWludDE2X3QgbWluX3BvcnQsIHVpbnQxNl90IG1heF9wb3J0LCBpbnQgb3B0aW9ucykg
ZmluYWw7CisgICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlQ2xpZW50VGNwU29ja2V0
KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tl
dEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJbmZvJiwgY29uc3Qgc3Rk
OjpzdHJpbmcmLCBpbnQgb3B0aW9ucyk7CisgICAgcnRjOjpBc3luY1Jlc29sdmVySW50ZXJmYWNl
KiBDcmVhdGVBc3luY1Jlc29sdmVyKCkgZmluYWw7CisgICAgdm9pZCBzdG9wUmVzb2x2ZXIodWlu
dDY0X3QpOworCisgICAgY2xhc3MgV2ViQXN5bmNSZXNvbHZlciBmaW5hbCA6IHB1YmxpYyBydGM6
OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UgeworICAgIHB1YmxpYzoKKyAgICAgICAgV2ViQXN5bmNS
ZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKSB7
IH0KKworICAgICAgICB2b2lkIHNldEVycm9yKGludCBlcnJvcikgeyBtX2Vycm9yID0gZXJyb3I7
IH0KKyAgICAgICAgdm9pZCBzZXRSZXNvbHZlZEFkZHJlc3NlcyhWZWN0b3I8cnRjOjpJUEFkZHJl
c3M+JiYgYWRkcmVzc2VzKSB7IG1fYWRkcmVzc2VzID0gV1RGTW92ZShhZGRyZXNzZXMpOyB9Cisg
ICAgICAgIGJvb2wgaXNSZXNvbHZpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVzb2x2aW5nOyB9
CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZp
ZXI7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgU3RhcnQoY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJikgZmluYWw7CisgICAgICAgIGJvb2wgR2V0UmVzb2x2ZWRBZGRyZXNzKGludCwg
cnRjOjpTb2NrZXRBZGRyZXNzKikgY29uc3QgZmluYWw7CisgICAgICAgIGludCBHZXRFcnJvcigp
IGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICAgICAgdm9pZCBEZXN0cm95KGJv
b2wpIGZpbmFsOworCisgICAgICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICAgICAgVmVj
dG9yPHJ0Yzo6SVBBZGRyZXNzPiBtX2FkZHJlc3NlczsKKyAgICAgICAgcnRjOjpTb2NrZXRBZGRy
ZXNzIG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICAgICAgaW50IG1fZXJyb3IgeyAwIH07CisgICAg
ICAgIHVpbnQxNl90IG1fcG9ydCB7IDAgfTsKKyAgICAgICAgYm9vbCBtX2lzUmVzb2x2aW5nIHsg
ZmFsc2UgfTsKKyAgICB9OworCisgICAgc3RhdGljIHVpbnQ2NF90IHNfdW5pcXVlU29ja2V0SWRl
bnRpZmllcjsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJQYWNrZXRTb2NrZXQqPiBtX3NvY2tl
dHM7CisgICAgVmVjdG9yPFdlYlBhY2tldFNvY2tldCo+IG1fcGVuZGluZ1NvY2tldHM7CisKKyAg
ICBzdGF0aWMgdWludDY0X3Qgc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXI7CisgICAgSGFzaE1h
cDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPFdlYkFzeW5jUmVzb2x2ZXI+PiBtX3Jlc29sdmVy
czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdl
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRl
eCBhZTgyODAwNzQ3YThjNWI5OTQ5OTBiYjgyZWFmZDg3YWY1MGM1MDMwLi4xNTc5NWFjNzQxMjdl
MmFjYjA5OGNjZTFiNWVhZWRlN2QzMjU2NmMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC04Nyw2ICs4Nyw3IEBACiAjaW5jbHVkZSAiV2Vi
SW5zcGVjdG9yTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJJbnNwZWN0b3JVSS5oIgogI2luY2x1
ZGUgIldlYkluc3BlY3RvclVJTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJMaWJXZWJSVENQcm92
aWRlci5oIgogI2luY2x1ZGUgIldlYk1lZGlhS2V5U3RvcmFnZU1hbmFnZXIuaCIKICNpbmNsdWRl
ICJXZWJOb3RpZmljYXRpb25DbGllbnQuaCIKICNpbmNsdWRlICJXZWJPcGVuUGFuZWxSZXN1bHRM
aXN0ZW5lci5oIgpAQCAtMTQ3LDcgKzE0OCw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0
b3JDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU0RPTVdpbmRvdy5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRD
UHJvdmlkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL01haW5GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5o
PgpAQCAtMzc3LDcgKzM3NywxMSBAQCBXZWJQYWdlOjpXZWJQYWdlKHVpbnQ2NF90IHBhZ2VJRCwg
Y29uc3QgV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycyYgcGFyYW1ldGVycykKICAgICBQYWdlQ29u
ZmlndXJhdGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJF
ZGl0b3JDbGllbnQ+KHRoaXMpLAogICAgICAgICBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCks
Ci0gICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyNp
ZiBVU0UoTElCV0VCUlRDKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkxpYldlYlJUQ1Byb3Zp
ZGVyPigpCisjZWxzZQorICAgICAgICBtYWtlVW5pcXVlUmVmPExpYldlYlJUQ1Byb3ZpZGVyPigp
CisjZW5kaWYKICAgICApOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5l
dyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lmIEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKaW5kZXggZTFjMjZiOTcyZGRlMDQw
MDMzMzY0MGU4M2I2M2ZkMDQ0YTZlNGNiNS4uODFhOGRmNjk2ZTYxNzM1MjU5ZjYxMTZmYTc1NzA0
ZTczZjFhNGIzNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBA
IC0xNTQ2LDQgKzE1NDYsMTQgQEAgdm9pZCBXZWJQcm9jZXNzOjpwcmVmZXRjaEROUyhjb25zdCBT
dHJpbmcmIGhvc3RuYW1lKQogICAgIG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzLmltcHVsc2UoKTsK
IH0KIAorI2lmIFVTRShMSUJXRUJSVEMpCit2b2lkIFdlYlByb2Nlc3M6OmluaXRpYWxpemVMaWJX
ZWJSVEMoKQoreworICAgIGlmICghbV9saWJXZWJSVEMpIHsKKyAgICAgICAgbV9saWJXZWJSVEMg
PSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQz4oKTsKKyAgICAgICAgbV9saWJXZWJSVEMtPmlu
aXRpYWxpemUoKTsKKyAgICB9Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDZlYmNjYmIyNjllOWEyZjJk
NDE0MTQ5ZjE0M2Q0YzVjODE0YjIxYzYuLjY5YTYyYjBlZjQzYzEyMjkwNjJkNzcwZjFhYTA4OTcy
NTU5NjU4N2MgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBAIC0yOCw2
ICsyOCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIkNoaWxkUHJvY2Vz
cy5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDLmgiCiAj
aW5jbHVkZSAiUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAiUmVz
b3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgpAQCAt
ODYsNyArODcsOSBAQCBjbGFzcyBXZWJMb2FkZXJTdHJhdGVneTsKIGNsYXNzIFdlYlBhZ2U7CiBj
bGFzcyBXZWJQYWdlR3JvdXBQcm94eTsKIGNsYXNzIFdlYlByb2Nlc3NTdXBwbGVtZW50OworCiBl
bnVtIGNsYXNzIFdlYnNpdGVEYXRhVHlwZTsKKwogc3RydWN0IFdlYlBhZ2VDcmVhdGlvblBhcmFt
ZXRlcnM7CiBzdHJ1Y3QgV2ViUGFnZUdyb3VwRGF0YTsKIHN0cnVjdCBXZWJQcmVmZXJlbmNlc1N0
b3JlOwpAQCAtMTY1LDYgKzE2OCwxMSBAQCBwdWJsaWM6CiAgICAgdm9pZCBuZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb25DbG9zZWQoTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKik7CiAgICAgV2ViTG9h
ZGVyU3RyYXRlZ3kmIHdlYkxvYWRlclN0cmF0ZWd5KCk7CiAKKyNpZiBVU0UoTElCV0VCUlRDKQor
ICAgIExpYldlYlJUQyYgbGliV2ViUlRDKCkgeyByZXR1cm4gKm1fbGliV2ViUlRDOyB9CisgICAg
dm9pZCBpbml0aWFsaXplTGliV2ViUlRDKCk7CisjZW5kaWYKKwogI2lmIEVOQUJMRShEQVRBQkFT
RV9QUk9DRVNTKQogICAgIHZvaWQgd2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uQ2xvc2Vk
KFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbiopOwogICAgIFdlYlRvRGF0YWJhc2VQcm9j
ZXNzQ29ubmVjdGlvbiogd2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKCk7CkBAIC0zNzcs
NiArMzg1LDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbnN1cmVOZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb24oKTsKICAgICBSZWZQdHI8TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uPiBtX25ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbjsKICAgICBXZWJMb2FkZXJTdHJhdGVneSYgbV93ZWJMb2FkZXJTdHJh
dGVneTsKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJU
Qz4gbV9saWJXZWJSVEM7CisjZW5kaWYKKwogICAgIEhhc2hTZXQ8U3RyaW5nPiBtX2Ruc1ByZWZl
dGNoZWRIb3N0czsKICAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZpdHkgbV9kbnNQcmVmZXRj
aEh5c3RlcmVyaXM7CiAK
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>299978</attachid>
            <date>2017-01-27 16:38:51 -0800</date>
            <delta_ts>2017-01-29 14:31:25 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170127163646.patch</filename>
            <type>text/plain</type>
            <size>139565</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzUyODJlODRjZjk3OGM2
Y2RiYTJhOWEzYWIzYjQ5ZmJhZjU0MDNiYS4uZjQyNmJjMGI4NmNjN2EzZTNjN2FmYjYyN2YyOTZj
YTlkYzk0MjI1MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE0NyBAQAorMjAxNy0wMS0yNyAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBJbXBsZW1lbnRhdGlvbiBvZiB0aGUgTGliV2ViUlRD
IG5ldHdvcmtpbmcgaW4gV2ViS2l0Mi4KKyAgICAgICAgVGhlIGZvbGxvd2luZyBmZWF0dXJlcyBh
cmUgcmVxdWlyZWQgdG8gYmUgbW92ZWQgZnJvbSBXZWJQcm9jZXNzIHRvIE5ldHdvcmtQcm9jZXNz
OgorICAgICAgICAxIFJlc29sdXRpb24gb2YgRE5TIG5hbWVzCisgICAgICAgIDIgRW51bWVyYXRp
b24gb2YgaW50ZXJmYWNlcy9nYXRoZXJpbmcgb2YgaG9zdCBhZGRyZXNzZXMKKyAgICAgICAgMyBJ
bXBsZW1lbnRhdGlvbiBvZiBQYWNrZXQgU29ja2V0IGZvciBUQ1AvVURQIGNvbW11bmljYXRpb24u
CisKKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzIHRoZSByZWxhdGVkIGNsYXNzZXMgaW4g
dGhlIFdlYlByb2Nlc3MgYW5kIHRoZSBpbnRlZ3JhdGlvbiB3aXRoIGxpYndlYnJ0Yy4KKworICAg
ICAgICBUaGlzIHBhdGNoIGFsc28gaW1wbGVtZW50cyB0aGUgTGliV2ViUlRDUHJvdmlkZXIgZm9y
IFdlYktpdDIuCisgICAgICAgIFRoaXMgcHJvdmlkZXIgdXNlcyB0aGUgcmVsYXRlZCBjbGFzc2Vz
IHRvIGNyZWF0ZSBhIHBlZXIgY29ubmVjdGlvbiBmYWN0b3J5IHRoYXQgd2lsbCB1c2UgdGhlbS4K
KworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2VzLm1h
a2U6CisgICAgICAgICogU2hhcmVkL1JUQ05ldHdvcmsuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6UlRDTmV0d29yazo6UlRDTmV0d29yayk6CisgICAgICAgIChXZWJLaXQ6Omlwcyk6Cisg
ICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OnZhbHVlKToKKyAgICAgICAgKFdlYktpdDo6UlRD
TmV0d29yazo6SVBBZGRyZXNzOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3Jr
OjpJUEFkZHJlc3M6OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OmRlY29k
ZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OmVuY29kZSk6CisgICAgICAgICogU2hh
cmVkL1JUQ05ldHdvcmsuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OklQ
QWRkcmVzczo6SVBBZGRyZXNzKToKKyAgICAgICAgKiBXZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2o6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjo6
ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
TGliV2ViUlRDLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6aW5pdGlh
bGl6ZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6d2ViUGFja2V0U29ja2V0Rm9ySWRl
bnRpZmllcik6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6bmV0d29ya01hbmFnZXIpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmg6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVEM6Om5ldHdvcmtNb25pdG9yKToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDOjpzb2NrZXRGYWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6TGliV2Vi
UlRDOjpzb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVEM6OnJlc29sdmVyKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5tZXNzYWdlcy5pbjog
QWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQYWNr
ZXRTb2NrZXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29j
a2V0OjpQcm94eTo6UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENQYWNrZXRTb2Nr
ZXQ6OlByb3h5OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbik6CisgICAgICAgIChXZWJLaXQ6Okxp
YldlYlJUQ1BhY2tldFNvY2tldDo6UHJveHk6OnNpZ25hbEFkZHJlc3NSZWFkeSk6CisgICAgICAg
IChXZWJLaXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldDo6UHJveHk6OnNpZ25hbFJlYWRQYWNrZXQp
OgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OlByb3h5OjpzaWduYWxT
ZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29ja2V0OjpQcm94
eTo6c2lnbmFsQ29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tl
dDo6UHJveHk6OnNpZ25hbENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0
U29ja2V0OjpMaWJXZWJSVENQYWNrZXRTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENQYWNrZXRTb2NrZXQ6On5MaWJXZWJSVENQYWNrZXRTb2NrZXQpOgorICAgICAgICAoV2ViS2l0
OjpMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OkdldExvY2FsQWRkcmVzcyk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldDo6R2V0UmVtb3RlQWRkcmVzcyk6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KToKKyAgICAg
ICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KToKKyAg
ICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFja2V0KToK
KyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29ja2V0OjpzaWduYWxDb25uZWN0KToK
KyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29ja2V0OjpzaWduYWxDbG9zZSk6Cisg
ICAgICAgIChXZWJLaXQ6OmF1dGhLZXkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENQYWNr
ZXRTb2NrZXQ6OndpbGxTZW5kKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29j
a2V0OjpTZW5kVG8pOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OkNs
b3NlKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUGFja2V0U29ja2V0OjpHZXRPcHRpb24p
OgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbik6Cisg
ICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQYWNrZXRTb2NrZXQu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQ
YWNrZXRTb2NrZXRGYWN0b3J5LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJU
Q1BhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNlcnZlclRjcFNvY2tldCk6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVVkcFNvY2tldCk6Cisg
ICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZUNsaWVu
dFRjcFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldEZhY3Rv
cnk6OmRldGFjaCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldEZhY3Rv
cnk6OkNyZWF0ZUFzeW5jUmVzb2x2ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUGFja2V0U29ja2V0RmFjdG9yeS5oOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5o
OiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jl
c29sdmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVyOjpQ
cm94eTo6UHJveHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6UHJveHk6
OnNldFJlc29sdmVkQWRkcmVzcyk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVy
OjpQcm94eTo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENSZXNvbHZlcjo6U3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6
R2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUmVzb2x2ZXI6
OkRlc3Ryb3kpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6c2V0UmVzb2x2
ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUmVzb2x2ZXI6OnNldEVycm9y
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVy
Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTGliV2Vi
UlRDUHJvdmlkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViTGliV2ViUlRDUHJv
dmlkZXI6OldlYkxpYldlYlJUQ1Byb3ZpZGVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViTGliV2Vi
UlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL1dlYkxpYldlYlJUQ1Byb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAq
IFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuY3BwOiBBZGRlZC4K
KyAgICAgICAgKFdlYktpdDo6V2ViTmV0d29ya01hbmFnZXI6OlN0YXJ0VXBkYXRpbmcpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJOZXR3b3JrTWFuYWdlcjo6U3RvcFVwZGF0aW5nKToKKyAgICAgICAg
KFdlYktpdDo6V2ViTmV0d29ya01hbmFnZXI6Om5ldHdvcmtzQ2hhbmdlZCk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oOiBBZGRlZC4KKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLm1lc3Nh
Z2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBh
Y2tldFNvY2tldC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6
OldlYlBhY2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6fldl
YlBhY2tldFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldDo6R2V0TG9j
YWxBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpHZXRSZW1vdGVB
ZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpzaWduYWxBZGRyZXNz
UmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFJlYWRQYWNr
ZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQp
OgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbENvbm5lY3QpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbENsb3NlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUGFja2V0U29ja2V0OjptZXNzYWdlU2VuZGVyQ29ubmVjdGlvbik6CisgICAgICAg
IChXZWJLaXQ6OmF1dGhLZXkpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6Ondp
bGxTZW5kKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0OjpTZW5kVG8pOgorICAg
ICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXQ6OkNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUGFja2V0U29ja2V0OjpHZXRPcHRpb24pOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRT
b2NrZXQ6OlNldE9wdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9X
ZWJQYWNrZXRTb2NrZXQuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHA6IEFkZGVkLgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpDcmVhdGVTZXJ2ZXJUY3BT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpDcmVhdGVV
ZHBTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpDcmVh
dGVDbGllbnRUY3BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0
b3J5OjpkZXRhY2gpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpD
cmVhdGVBc3luY1Jlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29ja2V0RmFj
dG9yeTo6Z2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFja2V0U29j
a2V0RmFjdG9yeTo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpTdGFydCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6OldlYkFzeW5jUmVzb2x2ZXI6OkdldFJlc29s
dmVkQWRkcmVzcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlBhY2tldFNvY2tldEZhY3Rvcnk6Oldl
YkFzeW5jUmVzb2x2ZXI6OkRlc3Ryb3kpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWNrZXRTb2Nr
ZXRGYWN0b3J5OjpzdG9wUmVzb2x2ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6V2ViUlRDTW9uaXRvcjo6U3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJUQ01vbml0b3I6OlN0b3BVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ01vbml0
b3I6Om5ldHdvcmtzQ2hhbmdlZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENNb25pdG9yLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5oOiBBZGRlZC4KKyAgICAgICAgKiBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOiBBZGRl
ZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChX
ZWJLaXQ6Om1fdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6aW5pdGlh
bGl6ZUxpYldlYlJUQyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmg6CisgICAg
ICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmxpYldlYlJUQyk6CisKIDIwMTctMDEtMjcgIENhcmxv
cyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAgICAgIFtUaHJlYWRl
ZCBDb21wb3NpdG9yXSBTdG9wIGNyZWF0aW5nIHRoZSBHTENvbnRleHQgb24gZGVtYW5kIHRoZSBm
aXJzdCB0aW1lIG1ha2VDb250ZXh0Q3VycmVudCBpcyBjYWxsZWQKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQK
aW5kZXggNDViNWM5Njg3ZjQxNDM3MmQ1ZmJmNzAzYWJjZTZhNDg5MTQwMWYwOC4uYzRiMTQxZDlj
MTZmOTk0YjlkMWRlODJjYjIwNGU4NDFmODYzMTNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKQEAg
LTY1LDYgKzY1LDcgQEAgc2V0KFdlYktpdDJfSU5DTFVERV9ESVJFQ1RPUklFUwogICAgICIke1dF
QktJVDJfRElSfS9XZWJQcm9jZXNzL01lZGlhQ2FjaGUiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dl
YlByb2Nlc3MvTWVkaWFTdHJlYW0iCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvTmV0
d29yayIKKyAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9OZXR3b3JrL2xpYndlYnJ0YyIK
ICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zIgogICAgICIke1dF
QktJVDJfRElSfS9XZWJQcm9jZXNzL09yaWdpbkRhdGEiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dl
YlByb2Nlc3MvUGx1Z2lucyIKQEAgLTY0OSw2ICs2NTAsNyBAQCBzZXQoV2ViS2l0Ml9NRVNTQUdF
U19JTl9GSUxFUwogCiAgICAgV2ViUHJvY2Vzcy9JY29uRGF0YWJhc2UvV2ViSWNvbkRhdGFiYXNl
UHJveHkubWVzc2FnZXMuaW4KIAorICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFj
a2V0U29ja2V0Lm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgogICAgIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNv
dXJjZUxvYWRlci5tZXNzYWdlcy5pbgogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EZXJp
dmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRl
eCBkY2E0ZjU4OGUxNThjMDI5ZDJlOGFjMmUxY2JkYTE0NDhlZTczNDQ4Li4xMWFlMDgzNDZlZmNi
MTFiN2UxMDhjMjZkOTUyMzE5ZjIxNzU3NGE3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9E
ZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1h
a2UKQEAgLTQ1LDYgKzQ1LDcgQEAgVlBBVEggPSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNz
L0ljb25EYXRhYmFzZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL01lZGlhQ2FjaGUgXAog
ICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9OZXR3b3JrIFwKKyAgICAkKFdlYktpdDIpL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9Ob3RpZmlj
YXRpb25zIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvT3JpZ2luRGF0YSBcCiAgICAgJChX
ZWJLaXQyKS9XZWJQcm9jZXNzL1BsdWdpbnMgXApAQCAtMTM3LDcgKzEzOCw5IEBAIE1FU1NBR0Vf
UkVDRUlWRVJTID0gXAogICAgIFdlYkluc3BlY3RvciBcCiAgICAgV2ViSW5zcGVjdG9yUHJveHkg
XAogICAgIFdlYkluc3BlY3RvclVJIFwKKyAgICBXZWJOZXR3b3JrTWFuYWdlciBcCiAgICAgV2Vi
Tm90aWZpY2F0aW9uTWFuYWdlciBcCisgICAgV2ViUGFja2V0U29ja2V0IFwKICAgICBXZWJQYWdl
IFwKICAgICBXZWJQYWdlUHJveHkgXAogICAgIFdlYlBhc3RlYm9hcmRQcm94eSBcCkBAIC0xNTEs
NiArMTU0LDggQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgV2ViUHJvY2Vzc1Byb3h5IFwK
ICAgICBXZWJSZXNvdXJjZUxvYWRlciBcCiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0
b3JlIFwKKyAgICBXZWJSVENNb25pdG9yIFwKKyAgICBXZWJSVENSZXNvbHZlciBcCiAgICAgV2Vi
VXNlckNvbnRlbnRDb250cm9sbGVyIFwKICAgICBXZWJVc2VyQ29udGVudENvbnRyb2xsZXJQcm94
eSBcCiAgICAgV2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlciBcCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRD
TmV0d29yay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWZiMTAxNjVlZTY1YTk5YWVkNjE4YTViOWQ2NWU2ZTFj
ZGI2ZmU1MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3
b3JrLmNwcApAQCAtMCwwICsxLDE1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORCBBTlkKKyAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFIElNUExJRUQKKyAqIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyAqIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WQorICogRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMKKyAqIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsKKyAqIExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTgorICogQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKKyAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUlRDTmV0
d29yay5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1JUQ05ldHdvcms6OlJUQ05ldHdvcmsoY29uc3QgcnRjOjpOZXR3b3JrJiBuZXR3b3Jr
KQorICAgIDogbmFtZShuZXR3b3JrLm5hbWUoKSkKKyAgICAsIGRlc2NyaXB0aW9uKG5ldHdvcmsu
ZGVzY3JpcHRpb24oKSkKKyAgICAsIHByZWZpeCB7IG5ldHdvcmsucHJlZml4KCkgfQorICAgICwg
cHJlZml4TGVuZ3RoKG5ldHdvcmsucHJlZml4X2xlbmd0aCgpKQorICAgICwgdHlwZShuZXR3b3Jr
LnR5cGUoKSkKKyAgICAsIGlkKG5ldHdvcmsuaWQoKSkKKyAgICAsIHByZWZlcmVuY2UobmV0d29y
ay5wcmVmZXJlbmNlKCkpCisgICAgLCBhY3RpdmUobmV0d29yay5hY3RpdmUoKSkKKyAgICAsIGln
bm9yZWQobmV0d29yay5pZ25vcmVkKCkpCisgICAgLCBzY29wZUlEKG5ldHdvcmsuc2NvcGVfaWQo
KSkKKyAgICAsIGlwcyhuZXR3b3JrLkdldElQcygpKQoreworfQorCitydGM6Ok5ldHdvcmsgUlRD
TmV0d29yazo6dmFsdWUoKSBjb25zdAoreworICAgIHJ0Yzo6TmV0d29yayBuZXR3b3JrKG5hbWUu
ZGF0YSgpLCBkZXNjcmlwdGlvbi5kYXRhKCksIHByZWZpeC52YWx1ZSwgcHJlZml4TGVuZ3RoLCBy
dGM6OkFkYXB0ZXJUeXBlKHR5cGUpKTsKKyAgICBuZXR3b3JrLnNldF9pZChpZCk7CisgICAgbmV0
d29yay5zZXRfcHJlZmVyZW5jZShwcmVmZXJlbmNlKTsKKyAgICBuZXR3b3JrLnNldF9hY3RpdmUo
YWN0aXZlKTsKKyAgICBuZXR3b3JrLnNldF9pZ25vcmVkKGlnbm9yZWQpOworICAgIG5ldHdvcmsu
c2V0X3Njb3BlX2lkKHNjb3BlSUQpOworICAgIG5ldHdvcmsuU2V0SVBzKGlwcywgdHJ1ZSk7Cisg
ICAgcmV0dXJuIG5ldHdvcms7Cit9CisKK2Jvb2wgUlRDTmV0d29yazo6SVBBZGRyZXNzOjpkZWNv
ZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBJUEFkZHJlc3MmIHJlc3VsdCkKK3sKKyAgICBpbnQg
ZmFtaWx5OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZmFtaWx5KSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhOworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZGF0YSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZmFtaWx5ID09IEFG
X0lORVQpIHsKKyAgICAgICAgaWYgKGRhdGEuc2l6ZSgpICE9IHNpemVvZihpbl9hZGRyKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmVzdWx0LnZhbHVlID0gcnRjOjpJUEFk
ZHJlc3MoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgaW5fYWRkcio+KGRhdGEuZGF0YSgpKSk7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9m
KGluNl9hZGRyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC52YWx1ZSA9IHJ0
Yzo6SVBBZGRyZXNzKCpyZWludGVycHJldF9jYXN0PGNvbnN0IGluNl9hZGRyKj4oZGF0YS5kYXRh
KCkpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBSVENOZXR3b3JrOjpJUEFkZHJlc3M6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2
YWx1ZS5mYW1pbHkoKTsKKyAgICBpZiAodmFsdWUuZmFtaWx5KCkgPT0gQUZfSU5FVCkgeworICAg
ICAgICBhdXRvIGFkZHJlc3MgPSB2YWx1ZS5pcHY0X2FkZHJlc3MoKTsKKyAgICAgICAgZW5jb2Rl
ciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
JmFkZHJlc3MpLCBzaXplb2YoYWRkcmVzcykpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGF1dG8gYWRkcmVzcyA9IHZhbHVlLmlwdjZfYWRkcmVzcygpOworICAgIGVuY29kZXIgPDwgSVBD
OjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZhZGRyZXNz
KSwgc2l6ZW9mKGFkZHJlc3MpKTsKK30KKworYm9vbCBSVENOZXR3b3JrOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBSVENOZXR3b3JrJiByZXN1bHQpCit7CisgICAgSVBDOjpEYXRhUmVm
ZXJlbmNlIG5hbWUsIGRlc2NyaXB0aW9uOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobmFtZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQubmFtZSA9IHN0ZDo6c3RyaW5nKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KG5hbWUuZGF0YSgpKSwgbmFtZS5zaXplKCkpOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmVzdWx0LmRlc2NyaXB0aW9uID0gc3RkOjpzdHJpbmcocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBjaGFyKj4oZGVzY3JpcHRpb24uZGF0YSgpKSwgZGVzY3JpcHRpb24uc2l6ZSgpKTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmVmaXgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZml4TGVuZ3RoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnR5cGUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
aWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQucHJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5hY3RpdmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuaWdub3JlZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zY29wZUlEKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgdWludDY0X3QgbGVuZ3RoOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGVu
Z3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5pcHMucmVzZXJ2ZShsZW5n
dGgpOworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgp
IHsKKyAgICAgICAgSVBBZGRyZXNzIGFkZHJlc3M7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoYWRkcmVzcykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGludCBmbGFn
czsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShmbGFncykpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIHJlc3VsdC5pcHMucHVzaF9iYWNrKHsgYWRkcmVzcy52YWx1ZSwg
ZmxhZ3MgfSk7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFJUQ05ldHdvcms6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBJ
UEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4obmFtZS5k
YXRhKCkpLCBuYW1lLmxlbmd0aCgpKTsKKyAgICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5j
ZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihkZXNjcmlwdGlvbi5kYXRhKCkpLCBk
ZXNjcmlwdGlvbi5sZW5ndGgoKSk7CisgICAgZW5jb2RlciA8PCBwcmVmaXg7CisgICAgZW5jb2Rl
ciA8PCBwcmVmaXhMZW5ndGg7CisgICAgZW5jb2RlciA8PCB0eXBlOworCisgICAgZW5jb2RlciA8
PCBpZDsKKyAgICBlbmNvZGVyIDw8IHByZWZlcmVuY2U7CisgICAgZW5jb2RlciA8PCBhY3RpdmU7
CisgICAgZW5jb2RlciA8PCBpZ25vcmVkOworICAgIGVuY29kZXIgPDwgc2NvcGVJRDsKKworICAg
IGVuY29kZXIgPDwgKHVpbnQ2NF90KWlwcy5zaXplKCk7CisgICAgZm9yIChhdXRvJiBpcCA6IGlw
cykgeworICAgICAgICBlbmNvZGVyIDw8IElQQWRkcmVzcyB7IGlwIH07CisgICAgICAgIGVuY29k
ZXIgPDwgaXAuaXB2Nl9mbGFncygpOworICAgIH0KK30KKworfQorCisjZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmRkMDNiYzAy
OTc5NzFiZGNjN2ExMzkwOWQ3MDdkYWFmMmM1ZWViM2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5oCkBAIC0wLDAgKzEsNzYgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJyBBTkQgQU5ZCisgKiBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisgKiBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisg
KiBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMgQkUgTElBQkxFIEZPUiBBTlkKKyAqIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTCisgKiAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7CisgKiBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04KKyAqIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
CisgKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUworICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3Mu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXR3b3JrLmg+CisjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBEZWNvZGVyOworY2xhc3MgRW5jb2RlcjsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBSVENOZXR3b3JrIHsKKyAgICBSVENO
ZXR3b3JrKCkgPSBkZWZhdWx0OworICAgIGV4cGxpY2l0IFJUQ05ldHdvcmsoY29uc3QgcnRjOjpO
ZXR3b3JrJik7CisKKyAgICBydGM6Ok5ldHdvcmsgdmFsdWUoKSBjb25zdDsKKworICAgIHZvaWQg
ZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OworICAgIHN0YXRpYyBib29sIGRlY29kZShJUEM6
OkRlY29kZXImLCBSVENOZXR3b3JrJik7CisKKyAgICBzdHJ1Y3QgSVBBZGRyZXNzIHsKKyAgICAg
ICAgSVBBZGRyZXNzKCkgPSBkZWZhdWx0OworICAgICAgICBleHBsaWNpdCBJUEFkZHJlc3MoY29u
c3QgcnRjOjpJUEFkZHJlc3MmIGFkZHJlc3MpOiB2YWx1ZShhZGRyZXNzKSB7IH0KKworICAgICAg
ICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKKyAgICAgICAgc3RhdGljIGJvb2wg
ZGVjb2RlKElQQzo6RGVjb2RlciYsIElQQWRkcmVzcyYpOworCisgICAgICAgIHJ0Yzo6SVBBZGRy
ZXNzIHZhbHVlOworICAgIH07CisKKyAgICBzdGQ6OnN0cmluZyBuYW1lOworICAgIHN0ZDo6c3Ry
aW5nIGRlc2NyaXB0aW9uOworICAgIElQQWRkcmVzcyBwcmVmaXg7CisgICAgaW50IHByZWZpeExl
bmd0aDsKKyAgICBpbnQgdHlwZTsKKyAgICB1aW50MTZfdCBpZDsKKyAgICBpbnQgcHJlZmVyZW5j
ZTsKKyAgICBib29sIGFjdGl2ZTsKKyAgICBib29sIGlnbm9yZWQ7CisgICAgaW50IHNjb3BlSUQ7
CisgICAgc3RkOjpzdHJpbmcga2V5OworICAgIHNpemVfdCBsZW5ndGg7CisgICAgc3RkOjp2ZWN0
b3I8cnRjOjpJbnRlcmZhY2VBZGRyZXNzPiBpcHM7Cit9OworCit9CisKKyNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ov
cHJvamVjdC5wYnhwcm9qIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCmluZGV4IDRkMzIwMDgxZmVmZGFjMzAxYTIyMWI1NDc5MzdmOWUyYzE0OGJjYTYu
LmVkMGMwOTQyNDNhYTA5YjA1MTQyNDFjNWEwNzQ3MmNhYzA2MDU4Y2EgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTg3MSw2ICs4
NzEsMTggQEAKIAkJM0Y4N0I5QkQxNTg5NDAxMjAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlC
QTE1ODkzRjYzMDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmNwcCAqLzsgfTsKIAkJM0Y4N0I5
QkUxNTg5NDAxOTAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0Y4N0I5QkIxNTg5M0Y2MzAwOTBGRjYyIC8q
IFdlYkNvbG9yQ2hvb3Nlci5oICovOyB9OwogCQkzRjg3QjlDMDE1ODk0MEQ4MDA5MEZGNjIgLyog
V2ViQ29sb3JQaWNrZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDNGODdCOUJGMTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xvclBpY2tlci5oICovOyB9
OworCQk0MTA0ODJDRDFEREQzMjRDMDBGMDA2RDAgLyogUlRDTmV0d29yay5jcHAgaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTA0ODJDQjFEREQyRkI1MDBG
MDA2RDAgLyogUlRDTmV0d29yay5jcHAgKi87IH07CisJCTQxMDQ4MkNFMURERDMyNEYwMEYwMDZE
MCAvKiBSVENOZXR3b3JrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovOyB9Owor
CQk0MTFCMjI2NDFFMzcxQkE2MDA0RjczNjMgLyogTGliV2ViUlRDLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMg
LyogTGliV2ViUlRDLmggKi87IH07CisJCTQxMUIyMjY1MUUzNzFCQTkwMDRGNzM2MyAvKiBMaWJX
ZWJSVEMuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDExQjIyNjMxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5jcHAgKi87IH07CisJCTQxMzA3
NUFEMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAv
KiBXZWJQYWNrZXRTb2NrZXQuaCAqLzsgfTsKKwkJNDEzMDc1QUUxREU4NUY1ODAwMzlFQzY5IC8q
IFdlYlBhY2tldFNvY2tldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTMwNzVBMTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0LmNw
cCAqLzsgfTsKKwkJNDEzMDc1QUYxREU4NUY1ODAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3
NUEyMURFODVFRTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgKi87IH07CisJCTQx
MzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTMxREU4NUVFNzAwMzlF
QzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmggKi87IH07CisJCTQxMzA3NUIxMURFODVGNTgwMDM5
RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQ
YWNrZXRTb2NrZXRGYWN0b3J5LmNwcCAqLzsgfTsKKwkJNDEzMDc1QjIxREU4NUY1ODAwMzlFQzY5
IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5LmggKi87IH07CisJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2OSAvKiBXZWJM
aWJXZWJSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogV2ViTGliV2ViUlRDUHJvdmlk
ZXIuY3BwICovOyB9OworCQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogV2ViTGliV2ViUlRD
UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBXZWJMaWJXZWJSVENQcm92aWRlci5oICovOyB9
OwogCQk0NDUwQUVDMDFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEFFQkYxREMz
RkFFNTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCAqLzsgfTsKIAkJNEEzQ0MxOEEx
OUIwNjNFNzAwRDE0QUVGIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEw
RjM5MTlBRjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQ
cm94eS5jcHAgKi87IH07CiAJCTRBM0NDMThCMTlCMDY0MEYwMEQxNEFFRiAvKiBVc2VyTWVkaWFQ
ZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGM0ExOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRp
YVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggKi87IH07CkBAIC0xMDQxLDYgKzEwNTMs
OSBAQAogCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5kbGVET01XaW5kb3dFeHRl
bnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUx
RkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oICov
OyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTUxRjA2MEUw
MTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERTE2NTQzMTc1MDBG
MzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9OwogCQk1MUYwNjBFMTE2
NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsg
fTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlBhY2tldFNvY2tldE1lc3NhZ2VS
ZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtN
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJOZXR3b3JrTWFu
YWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgy
QyAvKiBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODJDIC8qIExpYldl
YlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUxRjdEQzQxMTgwQ0M5MzYwMDIxMkNB
MyAvKiBYUENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEJDODI4Mzk2MTZCNDdFQzQwMEEyNzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5t
bSAqLzsgfTsKIAkJNTFGN0RDNDMxODBDQzkzNjAwMjEyQ0EzIC8qIEZvdW5kYXRpb24uZnJhbWV3
b3JrIGluIEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMz
REU0NjgxNUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk1
MUY3REM0NDE4MENDOTM2MDAyMTJDQTMgLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4
QjIxNiAvKiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OwpAQCAtMjk3OSw2ICsyOTk0LDIxIEBACiAJ
CTNGODdCOUJBMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29sb3JDaG9vc2VyLmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkIxNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNv
bG9yQ2hvb3Nlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvckNo
b29zZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkYxNTg5NDBEODAw
OTBGRjYyIC8qIFdlYkNvbG9yUGlja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYkNvbG9yUGlja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMDQ4
MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxMUIyMjYyMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDLmg7IHBhdGggPSBOZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVEMuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDExQjIy
NjMxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVEMuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGli
V2ViUlRDLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUYxREU4NUVF
NzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7
IG5hbWUgPSBXZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0
Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViUGFja2V0U29ja2V0Lmg7IHBhdGggPSBOZXR3
b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDEzMDc1QTExREU4NUVFNzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJQYWNrZXRTb2NrZXQuY3BwOyBwYXRo
ID0gTmV0d29yay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKKwkJNDEzMDc1QTIxREU4NUVFNzAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2Vy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUg
PSBXZWJOZXR3b3JrTWFuYWdlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3Jr
TWFuYWdlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0
aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBMzFERTg1RUU3MDAz
OUVDNjkgLyogV2ViTmV0d29ya01hbmFnZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBu
YW1lID0gV2ViTmV0d29ya01hbmFnZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYk5ldHdv
cmtNYW5hZ2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE0MURFODVF
RTcwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRl
eHQ7IG5hbWUgPSBXZWJOZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTMwNzVBNTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29ja2V0RmFj
dG9yeS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBu
YW1lID0gV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9X
ZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5n
dWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3
NUE2MURFODVFRTcwMDM5RUM2OSAvKiBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaDsgcGF0aCA9
IE5ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIFdlYkxpYldlYlJUQ1By
b3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7
IG5hbWUgPSBXZWJMaWJXZWJSVENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9X
ZWJMaWJXZWJSVENQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3Vh
Z2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVB
ODFERTg1RUU3MDAzOUVDNjkgLyogV2ViTGliV2ViUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IFdlYkxpYldlYlJUQ1Byb3ZpZGVy
Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJMaWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29k
ZS5sYW5nLm9iamNwcDsgfTsKKwkJNDFBQzg2ODExRTA0MkU1MzAwMzAzMDc0IC8qIExpYldlYlJU
Qy5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGli
V2ViUlRDLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDLm1lc3Nh
Z2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklk
ZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsKIAkJNDQ1MEFFQkYxREMzRkFFNTAwOTk0M0YyIC8qIFNo
YXJlZE1lbW9yeUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9
IFNoYXJlZE1lbW9yeUNvY29hLmNwcDsgcGF0aCA9IGNvY29hL1NoYXJlZE1lbW9yeUNvY29hLmNw
cDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0MTBGMzUxOUFGN0FDMzAwMkVCQUI1
IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM2MTlBRjdBQzMwMDJFQkFCNSAvKiBXS1Vz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTMxNzYsNiArMzIwNiw5IEBACiAJCTUxRTM5OTA1MUQ2RjU0QzUwMDlDODgzMSAv
KiBVSUdhbWVwYWRQcm92aWRlckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTFFOTQ5OTYxRDc2MUNDNzAwRUM5RUI5IC8qIFVJR2FtZXBhZFByb3ZpZGVy
SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVUlHYW1lcGFk
UHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjA2MEREMTY1
NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBX
ZWJQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2Vi
UGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0
MzE3NTAwRjMyODJDIC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBMaWJXZWJSVENNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjdEQzRBMTgwQ0M5MzYwMDIxMkNBMyAvKiBj
b20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy54cGMgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJ3cmFwcGVyLnhwYy1zZXJ2aWNlIjsgaW5jbHVkZUluSW5k
ZXggPSAwOyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMueHBjOyBzb3VyY2VUcmVl
ID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUZBMkQ1NDE1MjExMTg2MDBDMUJBMEIgLyog
V0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTQ2ODgsNiArNDcyMSw4IEBACiAJCQkJQkNDNDNBQjkxMjdCOTVEQzAwMzE3RjE2
IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oICovLAogCQkJCUUxOEM5MkYzMTJEQjlFNzEwMENG
MkFFQiAvKiBQcmludEluZm8uY3BwICovLAogCQkJCUUxQ0MxQjhFMTJEN0VBREYwMDYyNTgzOCAv
KiBQcmludEluZm8uaCAqLywKKwkJCQk0MTA0ODJDQjFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0
d29yay5jcHAgKi8sCisJCQkJNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsu
aCAqLywKIAkJCQlGNkEwQzEzRjEzMjgxRTZFMDA3MDQzMEYgLyogUmVzb3VyY2VDYWNoZXNUb0Ns
ZWFyLmggKi8sCiAJCQkJQkMyRDAyMTYxMkFDNDFDQjAwRTczMkEzIC8qIFNhbWVEb2N1bWVudE5h
dmlnYXRpb25UeXBlLmggKi8sCiAJCQkJMUFBQjRBOEMxMjk2RjBBMjAwMjM5NTJGIC8qIFNhbmRi
b3hFeHRlbnNpb24uaCAqLywKQEAgLTU1MzEsNiArNTU2NiwyNiBAQAogCQkJcGF0aCA9IFJlc291
cmNlcy9tYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOwogCQl9OworCQk0MTMwNzU5RTFE
RTg1RTY1MDAzOUVDNjkgLyogd2VicnRjICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQlj
aGlsZHJlbiA9ICgKKwkJCQk0MTMwNzU5RjFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFja2V0U29j
a2V0Lm1lc3NhZ2VzLmluICovLAorCQkJCTQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBXZWJQ
YWNrZXRTb2NrZXQuaCAqLywKKwkJCQk0MTMwNzVBMTFERTg1RUU3MDAzOUVDNjkgLyogV2ViUGFj
a2V0U29ja2V0LmNwcCAqLywKKwkJCQk0MTMwNzVBMjFERTg1RUU3MDAzOUVDNjkgLyogV2ViTmV0
d29ya01hbmFnZXIuY3BwICovLAorCQkJCTQxMzA3NUEzMURFODVFRTcwMDM5RUM2OSAvKiBXZWJO
ZXR3b3JrTWFuYWdlci5oICovLAorCQkJCTQxMzA3NUE0MURFODVFRTcwMDM5RUM2OSAvKiBXZWJO
ZXR3b3JrTWFuYWdlci5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzVBNTFERTg1RUU3MDAzOUVD
NjkgLyogV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAgKi8sCisJCQkJNDEzMDc1QTYxREU4NUVF
NzAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuaCAqLywKKwkJCQk0MTMwNzVBNzFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViTGliV2ViUlRDUHJvdmlkZXIuY3BwICovLAorCQkJCTQxMzA3
NUE4MURFODVFRTcwMDM5RUM2OSAvKiBXZWJMaWJXZWJSVENQcm92aWRlci5oICovLAorCQkJCTQx
QUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAvKiBMaWJXZWJSVEMubWVzc2FnZXMuaW4gKi8sCisJCQkJ
NDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQy5oICovLAorCQkJCTQxMUIyMjYz
MUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMuY3BwICovLAorCQkJKTsKKwkJCW5hbWUgPSB3
ZWJydGM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91cD4iOworCQl9OwogCQk0NDUwQUVCRTFEQzNG
QUFDMDA5OTQzRjIgLyogY29jb2EgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxk
cmVuID0gKApAQCAtNTU1Myw2ICs1NjA4LDcgQEAKIAkJNTEwNUIwRDIxNjJGN0E1RTAwRTI3NzA5
IC8qIE5ldHdvcmsgKi8gPSB7CiAJCQlpc2EgPSBQQlhHcm91cDsKIAkJCWNoaWxkcmVuID0gKAor
CQkJCTQxMzA3NTlFMURFODVFNjUwMDM5RUM2OSAvKiB3ZWJydGMgKi8sCiAJCQkJNTEwNUIwRDQx
NjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgKi8sCiAJCQkJ
NTEwNUIwRDUxNjJGN0E3QTAwRTI3NzA5IC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oICov
LAogCQkJCTUxRkIwOTAyMTYzQTNCMUMwMEVDMzI0QSAvKiBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24ubWVzc2FnZXMuaW4gKi8sCkBAIC03NDQxLDYgKzc0OTcsOSBAQAogCQkJCUJDRUU3QUNDMTI4
MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAog
CQkJCUJDRUU3QUNEMTI4MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5o
ICovLAogCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdl
YlBhY2tldFNvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3
NTAwRjMyODJDIC8qIExpYldlYlJUQ01lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYw
REQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNw
cCAqLywKIAkJCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJN
ZXNzYWdlcy5oICovLAogCQkJCTdBNzkxRUY5MUM3Q0ZCMzcwMEM0QzUyQiAvKiBXZWJSZXNvdXJj
ZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTdBNzkxRUY4
MUM3Q0ZCMTAwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmVNZXNzYWdl
cy5oICovLApAQCAtNzg4MCw2ICs3OTM5LDcgQEAKIAkJCQkxQTFFQzY5RTE4NzIwOTIxMDBCOTUx
RjAgLyogSW1wb3J0YW5jZUFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMyMDRFRTMx
MUM4M0U5ODAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlLmggaW4gSGVhZGVycyAqLywKIAkJCQk5
MzVFRUJBMjEyNzc2MUQwMDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3Qu
aCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNr
ZXRTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUJBNDEyNzc2MUQ2MDAz
MzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQ0VFN0RDNTEyOEI2NDVEMDA5ODI3REEgLyogSW5qZWN0ZWRCdW5kbGVDbGllbnQu
aCBpbiBIZWFkZXJzICovLAogCQkJCTdDQkI4MTFEMUFBMEY4QjEwMDZCMTk0MiAvKiBJbmplY3Rl
ZEJ1bmRsZUZpbGVIYW5kbGUuaCBpbiBIZWFkZXJzICovLApAQCAtODE1OSw2ICs4MjE5LDcgQEAK
IAkJCQkxQUE4M0Y2RDFBNUI2M0ZGMDAwMjZFQzYgLyogV2ViRGF0YWJhc2VQcm92aWRlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0QxOUEyNkUxQTEzRTgzNDAwOEQ2NTBFIC8qIFdlYkRpYWdub3N0
aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTVCMUM1NTE4OTg3RURGMDA0
RkNGOUIgLyogV2ViRG9jdW1lbnRMb2FkZXIuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUI0
MURFODVGNTgwMDM5RUM2OSAvKiBXZWJMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkMwMzJEN0IxMEY0Mzc4RDAwNThDMTVBIC8qIFdlYkRyYWdDbGllbnQuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDQTBFRjlGMTIzMzI2NDIwMDdEM0NGQiAvKiBXZWJFZGl0Q29tbWFuZFBy
b3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkQ3RDEwRjQzNzhEMDA1OEMxNUEgLyogV2Vi
RWRpdG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLywKQEAgLTgxOTIsNiArODI1Myw3IEBACiAJCQkJ
NTExQjI0QTcxMzJFMDk1NzAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZVByb3h5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUQwMkY2QzEzMkVDNzM3MDBCRUFBOTYgLyogV2ViSWNvbkRhdGFiYXNl
UHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzNzAxQzczOUQ0MjAwNzk5
M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEz
MDc1QUQxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlBhY2tldFNvY2tldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEwNTIzN0ExQzczREE3NzAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTQxMjk5NDFDNjQyOEJCMDA1OUU3MTQg
LyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1MjM3
NDFDNzNEMzhCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLApAQCAtODI0Nyw2ICs4MzA5LDcgQEAKIAkJCQlDREEyOUExQjFDQkRCRjQx
MDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0RBMjlBMjkxQ0JFQjY3QTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMjAxQ0JFQjVGQjAwOTAxQ0NGIC8q
IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEw
NDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUNEQTI5QTJCMUNCRUI2N0EwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENTkyOUYxNjZFMDYwMDAwRTZCRjAy
IC8qIFdlYlBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZC
MzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDU5LDYgKzg1
MjIsNyBAQAogCQkJCTM3MEYzNEEzMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRh
LmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzBGMzRBNTE4MjlCRUEzMDA5MDI3QzggLyogV0tOYXZp
Z2F0aW9uRGF0YUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y2OUZBOTExNzZEMUNC
MDA0NzFBNTIgLyogV0tOYXZpZ2F0aW9uRGF0YVJlZi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEx
QjIyNjQxRTM3MUJBNjAwNEY3MzYzIC8qIExpYldlYlJUQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MUFCQzNERkMxODk5RjUxQzAwNEYwNjI2IC8qIFdLTmF2aWdhdGlvbkRlbGVnYXRlLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUEyMEQ1MTE4QUQ1MEUwMDA1RDFFRDQgLyogV0tOYXZpZ2F0aW9uRGVs
ZWdhdGVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUJDM0RGMTE4OTlDNkI2MDA0RjA2
MjYgLyogV0tOYXZpZ2F0aW9uSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtODU4MSw2ICs4
NjQ1LDcgQEAKIAkJCQkzNzdFQUQ0OTE3RTJDNzdCMDAyRDE5M0QgLyogV0tVc2VyU2NyaXB0SW5q
ZWN0aW9uVGltZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBRjA4OUQxOTI2N0ZDODAwQjYzOTBD
IC8qIFdLVXNlclNjcmlwdEludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg4MkRGQTFD
N0U5OTczMDA2QkY3MzEgLyogV0tVc2VyU2NyaXB0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDEzMDc1QjAxREU4NUY1ODAwMzlFQzY5IC8qIFdlYk5ldHdvcmtNYW5hZ2VyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3Qzg5RDJBNDFBNjc4ODc1MDAzQTVGREUgLyogV0tVc2VyU2NyaXB0UmVm
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2OTlCNTExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2OTlCNzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtOTIzMSw2ICs5Mjk2LDcgQEAKIAkJCQkxQTQz
RTgyOTE4OEYzQ0RDMDA5RTREMzAgLyogX1dLUHJvY2Vzc1Bvb2xDb25maWd1cmF0aW9uLm1tIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMUE5RTMyOEUxODIxNjVBOTAwRjVEMDRDIC8qIF9XS1JlbW90ZU9i
amVjdEludGVyZmFjZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOUUzMjhBMTgyMTYzNjkwMEY1
RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RSZWdpc3RyeS5tbSBpbiBTb3VyY2VzICovLAorCQkJCTQx
MDQ4MkNEMURERDMyNEMwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1NUJBODExMUJBMTMxODEwMDdDRDMzRCAvKiBfV0tSZW1vdGVXZWJJbnNwZWN0b3JWaWV3
Q29udHJvbGxlci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0
NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDZCMzcxQzE4QTk2
N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovLApAQCAtOTM1
NSw2ICs5NDIxLDcgQEAKIAkJCQk4Q0ZFQ0U5NDE0OTBGMTQwMDAyQUFBMzIgLyogRWRpdG9yU3Rh
dGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwMzJEQTcxMEY0MzdEMTAwNThDMTVBIC8qIEVu
Y29kZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFCMTVBODQxMzg0M0EzOTAwMzIxQUQ4IC8q
IEVudmlyb25tZW50VXRpbGl0aWVzLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUFGMURF
ODVGNTgwMDM5RUM2OSAvKiBXZWJOZXR3b3JrTWFuYWdlci5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQkxQUE1NzVGQTE0OTZCNTI2MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTFBQTU3NjAyMTQ5NkI5NzkwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDBCOTY2MTkxOEUyNUFFMTAw
Q0UxRjg4IC8qIEZpbmRDbGllbnQubW0gaW4gU291cmNlcyAqLywKQEAgLTk0OTEsNiArOTU1OCw3
IEBACiAJCQkJMUEyRDgyQTgxMjdGNEVBQjAwMUVCOTYyIC8qIE5QUmVtb3RlT2JqZWN0TWFwLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBMjE2MUIxMTFGMzc2NjQwMDhBRDBGNSAvKiBOUFJ1bnRp
bWVPYmplY3RNYXAuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEyMTYyQjAxMUYzODk3MTAwOEFE
MEY1IC8qIE5QUnVudGltZVV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTFCMjI2
NTFFMzcxQkE5MDA0RjczNjMgLyogTGliV2ViUlRDLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFB
MkQ4NEE0MTI3RjZBRDEwMDFFQjk2MiAvKiBOUFZhcmlhbnREYXRhLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDOEFDQTE0MTY2NzBEODkwMDRDMTk0MSAvKiBPYmpDT2JqZWN0R3JhcGgubW0gaW4g
U291cmNlcyAqLywKIAkJCQk3QzM4NzQzNDE3MkY1NjE1MDAxQkQ4OEEgLyogUGFnZUJhbm5lci5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTk3MTcsNiArOTc4NSw3IEBACiAJCQkJQkMwRTYwNjExMkQ2
QkE5MTAwMTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzU0Q0FDQzEyRDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9j
YXRpb25NYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwRTYxODIxMkQ2Q0Ix
RDAwMTJBNzJBIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUFFMURFODVGNTgwMDM5RUM2OSAvKiBXZWJQYWNr
ZXRTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMwRTYwNzQxMkQ2QkMyMDAwMTJBNzJB
IC8qIFdlYkdlb2xvY2F0aW9uUG9zaXRpb24uY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxQkUx
RjMxMkQ1NERCRDAwMDRBMjI4IC8qIFdlYkdlb2xvY2F0aW9uUHJvdmlkZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMkQ1MDM2NzUxQkNFRDE5RjAwRTIwQkIzIC8qIFdlYkdlc3R1cmVFdmVudC5j
cHAgaW4gU291cmNlcyAqLywKQEAgLTk4MzYsNiArOTkwNSwxMCBAQAogCQkJCTM3NjA4ODFFMTUw
NDEzRTkwMEZDODJDNyAvKiBXZWJSZW5kZXJPYmplY3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
NTEwQUZGQjkxNjU0MjA0ODAwMUJBMDVFIC8qIFdlYlJlc291cmNlTG9hZGVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUMgLyogV2ViUGFja2V0U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyQyAvKiBMaWJXZWJSVENNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8q
IE5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJ
CQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYk5ldHdvcmtNYW5hZ2VyTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBNzkxRUZDMUM3RDA4QzUwMEM0QzUyQiAv
KiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
N0E3OTFFRkExQzdDRkNGMTAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9y
ZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2MUQ3MjE5MjdGQTM2
MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuY3BwIGluIFNvdXJjZXMgKi8sCkBA
IC05ODYzLDEwICs5OTM2LDEyIEBACiAJCQkJM0Y0MThFRjkxODg3QkQ5NzAwMjc5NUZEIC8qIFdl
YlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTJENUExQjExQzU3NDk2MjAwREUzNEEzIC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFn
ZXJQcm94eS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTNGNDE4RUZCMTg4N0JEOTcwMDI3OTVGRCAv
KiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIFdlYkxpYldlYlJUQ1By
b3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERkM3REJDMUJDQ0MxOTUwMEMxNTQ4QyAv
KiBXZWJWaWV3SW1wbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMwMzM3REQxMTI3QTI5ODAwMDhG
RjRGNCAvKiBXZWJXaGVlbEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2ODE2MEQwMTg3
NjQ1NTcwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VP
YmplY3RCYXNlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QjExREU4NUY1ODAwMzlFQzY5
IC8qIFdlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMjkyMzJE
RjgxOEIyQTlBRTAwRDA1OTZGIC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJT1MubW0g
aW4gU291cmNlcyAqLywKIAkJCQkyOTIzMkRGOTE4QjJBQjNBMDBEMDU5NkYgLyogV0tBY2Nlc3Np
YmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0RTQ5MThC
QkUwNDQwMDBGQ0ZDOSAvKiBXS0FjdGlvblNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwCmluZGV4IDA4YWIxZTM1NTE2ZjE4ZDljMGQ0NTdlZjYxNDQxOWE5
YmMzMDBkNzYuLjllZTUzMWM3ZGZhZDVjNjYxMTI5OTA5ZDU4Yjk4N2FjNTJhMDJlMjcgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3
b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0zMCw3ICszMCwxMSBAQAogI2luY2x1ZGUgIk5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJDb3Jl
QXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJMb2FkZXJTdHJhdGVneS5oIgorI2luY2x1
ZGUgIldlYlBhY2tldFNvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgor
I2luY2x1ZGUgIldlYlJUQ01vbml0b3IuaCIKKyNpbmNsdWRlICJXZWJSVENNb25pdG9yTWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlICJXZWJSVENSZXNvbHZlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiV2Vi
UmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVkUmVzb3Vy
Y2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lbW9yeUNhY2hlLmg+CkBAIC01NCwxMiArNTgsMjYg
QEAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjp+TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCkK
IHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBpZiAo
ZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlJlc291cmNlTG9h
ZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgaWYgKFdlYlJlc291cmNlTG9h
ZGVyKiB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxvYWRl
clN0cmF0ZWd5KCkud2ViUmVzb3VyY2VMb2FkZXJGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVzdGlu
YXRpb25JRCgpKSkKKyAgICAgICAgaWYgKGF1dG8qIHdlYlJlc291cmNlTG9hZGVyID0gV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkud2ViTG9hZGVyU3RyYXRlZ3koKS53ZWJSZXNvdXJjZUxvYWRlckZv
cklkZW50aWZpZXIoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKQogICAgICAgICAgICAgd2ViUmVz
b3VyY2VMb2FkZXItPmRpZFJlY2VpdmVXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7Ci0gICAgICAgIAogICAgICAgICByZXR1cm47CiAgICAgfQogCisjaWYgVVNF
KExJQldFQlJUQykKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6OldlYlBhY2tldFNvY2tldDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLnNvY2tldChkZWNvZGVyLmRlc3Rp
bmF0aW9uSUQoKSkuZGlkUmVjZWl2ZVdlYlBhY2tldFNvY2tldE1lc3NhZ2UoY29ubmVjdGlvbiwg
ZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIubWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENNb25pdG9yOjptZXNzYWdlUmVjZWl2
ZXJOYW1lKCkpIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDKCku
bmV0d29ya01vbml0b3IoKS5kaWRSZWNlaXZlV2ViUlRDTW9uaXRvck1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIubWVz
c2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENSZXNvbHZlcjo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJU
QygpLnJlc29sdmVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKS5kaWRSZWNlaXZlV2ViUlRDUmVz
b2x2ZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm47CisgICAg
fQorI2VuZGlmCisKICAgICBkaWRSZWNlaXZlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2Fn
ZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQ5NmVh
MjdkNzBiMWQ5NjA0N2RmODFkM2M0OTIyNjg0MGZhZmY4ZDAKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5jcHAKQEAg
LTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJMaWJXZWJSVEMuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJXZWJOZXR3
b3JrTWFuYWdlci5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKyNpbmNs
dWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d2VicnRjL2FwaS9wZWVy
Y29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgTGliV2Vi
UlRDOjppbml0aWFsaXplKCkKK3sKKyAgICBpZiAobV9zb2NrZXRGYWN0b3J5KQorICAgICAgICBy
ZXR1cm47CisKKyAgICBtX3NvY2tldEZhY3RvcnkgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tl
dFNvY2tldEZhY3Rvcnk+KCk7CisgICAgbV93ZWJOZXR3b3JrTWFuYWdlciA9IHN0ZDo6bWFrZV91
bmlxdWU8V2ViTmV0d29ya01hbmFnZXI+KCk7Cit9CisKK1dlYlBhY2tldFNvY2tldCogTGliV2Vi
UlRDOjp3ZWJQYWNrZXRTb2NrZXRGb3JJZGVudGlmaWVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCit7
CisgICAgQVNTRVJUKG1fc29ja2V0RmFjdG9yeSk7CisgICAgcmV0dXJuIG1fc29ja2V0RmFjdG9y
eS0+d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIpOworfQorCitXZWJOZXR3b3JrTWFuYWdlciYg
TGliV2ViUlRDOjpuZXR3b3JrTWFuYWdlcigpCit7CisgICAgQVNTRVJUKG1fd2ViTmV0d29ya01h
bmFnZXIpOworICAgIHJldHVybiAqbV93ZWJOZXR3b3JrTWFuYWdlcjsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uNTRkNmM0YzAzYWY2YmZlODNhNTA0ODQ5NTE1MDI1MWI5ZmMxMDdjMwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
LmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1BhY2tldFNvY2tldEZhY3RvcnkuaCIK
KyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXQuaCIKKyNpbmNsdWRlICJXZWJSVENNb25pdG9yLmgi
CisjaW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXIuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIExpYldlYlJUQyB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDKCkgPSBkZWZhdWx0OworCisg
ICAgV2ViUlRDTW9uaXRvciYgbmV0d29ya01vbml0b3IoKSB7IHJldHVybiBtX3dlYk5ldHdvcmtN
b25pdG9yOyB9CisgICAgTGliV2ViUlRDUGFja2V0U29ja2V0RmFjdG9yeSYgc29ja2V0RmFjdG9y
eSgpIHsgcmV0dXJuIG1fc29ja2V0RmFjdG9yeTsgfQorCisgICAgV2ViUGFja2V0U29ja2V0IHNv
Y2tldCh1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBXZWJQYWNrZXRTb2NrZXQoc29ja2V0
RmFjdG9yeSgpLCBpZGVudGlmaWVyKTsgfQorICAgIFdlYlJUQ1Jlc29sdmVyIHJlc29sdmVyKHVp
bnQ2NF90IGlkZW50aWZpZXIpIHsgcmV0dXJuIFdlYlJUQ1Jlc29sdmVyKHNvY2tldEZhY3Rvcnko
KSwgaWRlbnRpZmllcik7IH0KKyAgICAKK3ByaXZhdGU6CisgICAgTGliV2ViUlRDUGFja2V0U29j
a2V0RmFjdG9yeSBtX3NvY2tldEZhY3Rvcnk7CisgICAgV2ViUlRDTW9uaXRvciBtX3dlYk5ldHdv
cmtNb25pdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL0xpYldlYlJUQy5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43MzRkZWE5
MzViZGQ2MGU1MDkwMjg4Zjg1OWM3OTZjZjQ2MGU4MTRkCi0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMubWVzc2FnZXMu
aW4KQEAgLTAsMCArMSwzMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6
CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTGliV2ViUlRDIExlZ2FjeVJl
Y2VpdmVyIHsKKyAgICB2b2lkIEdldFJlc29sdmVkQWRkcmVzcyh1aW50NjRfdCBpZGVudGlmaWVy
LCBWZWN0b3I8V2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M+IGFkZHJlc3NlcykKKyAgICB2
b2lkIFJlc29sdmVkQWRkcmVzc0Vycm9yKHVpbnQ2NF90IGlkZW50aWZpZXIsIGludCBlcnJvcikK
K30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1BhY2tldFNvY2tldC5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1BhY2tldFNv
Y2tldC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uNTQwMGM3MTI1YzI4M2M1MzcxZWZlMjBiNmMxMDY1ZThlMGJh
NGE1MAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvTGliV2ViUlRDUGFja2V0U29ja2V0LmNwcApAQCAtMCwwICsxLDI0NiBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENQYWNrZXRT
b2NrZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUGFja2V0U29ja2V0RmFjdG9yeS5oIgorI2luY2x1ZGUg
Ik5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L1NoYXJlZEJ1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OlByb3h5OjpQcm94eShMaWJXZWJS
VENQYWNrZXRTb2NrZXRGYWN0b3J5JiBmYWN0b3J5LCB1aW50NjRfdCBpZGVudGlmaWVyKQorICAg
IDogbV9mYWN0b3J5KGZhY3RvcnkpCisgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKK3sK
K30KKworSVBDOjpDb25uZWN0aW9uKiBMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OlByb3h5OjptZXNz
YWdlU2VuZGVyQ29ubmVjdGlvbigpCit7CisgICAgcmV0dXJuICZXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKTsKK30KKwordm9pZCBMaWJXZWJS
VENQYWNrZXRTb2NrZXQ6OlByb3h5OjpzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJiBh
ZGRyZXNzKQoreworICAgIC8vIEZJWE1FOiBXcmFwIHRoaXMgcGF0dGVybiBpbiBhIGhlbHBlciBy
b3V0aW5lLgorICAgIGF1dG8mIGZhY3RvcnkgPSBtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlm
aWVyID0gbV9pZGVudGlmaWVyOworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJl
YWQoWyZmYWN0b3J5LCBpZGVudGlmaWVyLCBhZGRyZXNzXSgpIHsKKyAgICAgICAgYXV0byogbGli
V2ViUlRDUGFja2V0U29ja2V0ID0gZmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcik7CisgICAgICAg
IGlmICghbGliV2ViUlRDUGFja2V0U29ja2V0KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICBsaWJXZWJSVENQYWNrZXRTb2NrZXQtPnNpZ25hbEFkZHJlc3NSZWFkeShhZGRyZXNzKTsKKyAg
ICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OlByb3h5OjpzaWduYWxSZWFk
UGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRDTmV0d29yazo6
SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKK3sK
KyAgICBhdXRvJiBmYWN0b3J5ID0gbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IG1f
aWRlbnRpZmllcjsKKyAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3Jl
YXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRD
TmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZpZXIsIGJ1ZmZlciA9IFdURk1vdmUoYnVm
ZmVyKSwgYWRkcmVzcywgcG9ydCwgdGltZXN0YW1wXSgpIHsKKyAgICAgICAgYXV0byogbGliV2Vi
UlRDUGFja2V0U29ja2V0ID0gZmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcik7CisgICAgICAgIGlm
ICghbGliV2ViUlRDUGFja2V0U29ja2V0KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBs
aWJXZWJSVENQYWNrZXRTb2NrZXQtPnNpZ25hbFJlYWRQYWNrZXQoYnVmZmVyLmdldCgpLCBydGM6
OlNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCksIHRpbWVzdGFtcCk7CisgICAgfSk7
Cit9CisKK3ZvaWQgTGliV2ViUlRDUGFja2V0U29ja2V0OjpQcm94eTo6c2lnbmFsU2VudFBhY2tl
dChpbnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2VuZFRpbWVNcykKK3sKKyAgICBhdXRvJiBmYWN0
b3J5ID0gbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAg
ICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFsmZmFjdG9yeSwgaWRlbnRpZmll
ciwgcnRjUGFja2V0SUQsIHNlbmRUaW1lTXNdKCkgeworICAgICAgICBhdXRvKiBsaWJXZWJSVENQ
YWNrZXRTb2NrZXQgPSBmYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFs
aWJXZWJSVENQYWNrZXRTb2NrZXQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGxpYldl
YlJUQ1BhY2tldFNvY2tldC0+c2lnbmFsU2VudFBhY2tldChydGNQYWNrZXRJRCwgc2VuZFRpbWVN
cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUGFja2V0U29ja2V0OjpQcm94eTo6c2ln
bmFsQ29ubmVjdCgpCit7CisgICAgYXV0byYgZmFjdG9yeSA9IG1fZmFjdG9yeTsKKyAgICBhdXRv
IGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0
d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZpZXJdKCkgeworICAgICAgICBhdXRvKiBsaWJX
ZWJSVENQYWNrZXRTb2NrZXQgPSBmYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKTsKKyAgICAgICAg
aWYgKCFsaWJXZWJSVENQYWNrZXRTb2NrZXQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAg
IGxpYldlYlJUQ1BhY2tldFNvY2tldC0+c2lnbmFsQ29ubmVjdCgpOworICAgIH0pOworfQorCit2
b2lkIExpYldlYlJUQ1BhY2tldFNvY2tldDo6UHJveHk6OnNpZ25hbENsb3NlKGludCBlcnJvcikK
K3sKKyAgICBhdXRvJiBmYWN0b3J5ID0gbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9
IG1faWRlbnRpZmllcjsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFsm
ZmFjdG9yeSwgaWRlbnRpZmllciwgZXJyb3JdKCkgeworICAgICAgICBhdXRvKiBsaWJXZWJSVENQ
YWNrZXRTb2NrZXQgPSBmYWN0b3J5LnNvY2tldChpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFs
aWJXZWJSVENQYWNrZXRTb2NrZXQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGxpYldl
YlJUQ1BhY2tldFNvY2tldC0+c2lnbmFsQ2xvc2UoZXJyb3IpOworICAgIH0pOworfQorCitMaWJX
ZWJSVENQYWNrZXRTb2NrZXQ6OkxpYldlYlJUQ1BhY2tldFNvY2tldChMaWJXZWJSVENQYWNrZXRT
b2NrZXRGYWN0b3J5JiBmYWN0b3J5LCB1aW50NjRfdCBpZGVudGlmaWVyLCBUeXBlIHR5cGUsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmIHJlbW90ZUFkZHJlc3MpCisgICAgOiBtX2ZhY3RvcnkoZmFjdG9yeSkKKyAgICAsIG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV90eXBlKHR5cGUpCisgICAgLCBtX2xvY2Fs
QWRkcmVzcyhsb2NhbEFkZHJlc3MpCisgICAgLCBtX3JlbW90ZUFkZHJlc3MocmVtb3RlQWRkcmVz
cykKK3sKKyAgICBzdGQ6OmZpbGxfbihtX29wdGlvbnMsIE1BWF9TT0NLRVRfT1BUSU9OLCAtMSk7
Cit9CisKK0xpYldlYlJUQ1BhY2tldFNvY2tldDo6fkxpYldlYlJUQ1BhY2tldFNvY2tldCgpCit7
CisgICAgbV9mYWN0b3J5LmRldGFjaCgqdGhpcyk7Cit9CisKK3J0Yzo6U29ja2V0QWRkcmVzcyBM
aWJXZWJSVENQYWNrZXRTb2NrZXQ6OkdldExvY2FsQWRkcmVzcygpIGNvbnN0Cit7CisgICAgcmV0
dXJuIG1fbG9jYWxBZGRyZXNzOworfQorCitydGM6OlNvY2tldEFkZHJlc3MgTGliV2ViUlRDUGFj
a2V0U29ja2V0OjpHZXRSZW1vdGVBZGRyZXNzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9yZW1v
dGVBZGRyZXNzOworfQorCit2b2lkIExpYldlYlJUQ1BhY2tldFNvY2tldDo6c2lnbmFsQWRkcmVz
c1JlYWR5KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBpZiAobV90eXBlID09IFR5cGU6
OkNsaWVudFRDUCkKKyAgICAgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5FQ1RFRDsKKyAgICBlbHNl
CisgICAgICAgIG1fc3RhdGUgPSBTVEFURV9CT1VORDsKKyAgICBtX2xvY2FsQWRkcmVzcy5Gcm9t
U3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7CisgICAgU2lnbmFsQWRkcmVzc1JlYWR5KHRo
aXMsIG1fbG9jYWxBZGRyZXNzKTsKK30KKwordm9pZCBMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OnNp
Z25hbFJlYWRQYWNrZXQoY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiBidWZmZXIsIHJ0Yzo6
U29ja2V0QWRkcmVzcyYmIGFkZHJlc3MsIGludDY0X3QgdGltZXN0YW1wKQoreworICAgIG1fcmVt
b3RlQWRkcmVzcyA9IFdURk1vdmUoYWRkcmVzcyk7CisgICAgU2lnbmFsUmVhZFBhY2tldCh0aGlz
LCBidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpLCBtX3JlbW90ZUFkZHJlc3MsIHJ0Yzo6UGFj
a2V0VGltZSh0aW1lc3RhbXAsIDApKTsKK30KKwordm9pZCBMaWJXZWJSVENQYWNrZXRTb2NrZXQ6
OnNpZ25hbFNlbnRQYWNrZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1lTXMpCit7
CisgICAgbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgKz0gbV9iZWluZ1NlbnRQYWNrZXRTaXplcy50
YWtlRmlyc3QoKTsKKyAgICBTaWduYWxTZW50UGFja2V0KHRoaXMsIHJ0Yzo6U2VudFBhY2tldChy
dGNQYWNrZXRJRCwgc2VuZFRpbWVNcykpOworICAgIGlmIChtX3Nob3VsZFNpZ25hbFJlYWR5VG9T
ZW5kKSB7CisgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSBmYWxzZTsKKyAgICAg
ICAgU2lnbmFsUmVhZHlUb1NlbmQodGhpcyk7CisgICAgfQorfQorCit2b2lkIExpYldlYlJUQ1Bh
Y2tldFNvY2tldDo6c2lnbmFsQ29ubmVjdCgpCit7CisgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5F
Q1RFRDsKKyAgICBTaWduYWxDb25uZWN0KHRoaXMpOworfQorCit2b2lkIExpYldlYlJUQ1BhY2tl
dFNvY2tldDo6c2lnbmFsQ2xvc2UoaW50IGVycm9yKQoreworICAgIG1fc3RhdGUgPSBTVEFURV9D
TE9TRUQ7CisgICAgU2lnbmFsQ2xvc2UodGhpcywgZXJyb3IpOworfQorCitzdGF0aWMgaW5saW5l
IFN0cmluZyBhdXRoS2V5KGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAg
ICBpZiAob3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5zaXplKCkgPD0g
MCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gU3RyaW5nKG9wdGlvbnMucGFja2V0
X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkuZGF0YSgpLCBvcHRpb25zLnBhY2tldF90aW1lX3Bh
cmFtcy5zcnRwX2F1dGhfa2V5LnNpemUoKSk7Cit9CisKK2Jvb2wgTGliV2ViUlRDUGFja2V0U29j
a2V0Ojp3aWxsU2VuZChzaXplX3Qgc2l6ZSkKK3sKKyAgICBpZiAoc2l6ZSA+IG1fYXZhaWxhYmxl
U2VuZGluZ0J5dGVzKSB7CisgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSB0cnVl
OworICAgICAgICBzZXRFcnJvcihFV09VTERCTE9DSyk7CisgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICB9CisgICAgbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgLT0gc2l6ZTsKKyAgICBtX2JlaW5n
U2VudFBhY2tldFNpemVzLmFwcGVuZChzaXplKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW50
IExpYldlYlJUQ1BhY2tldFNvY2tldDo6U2VuZFRvKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qg
c2l6ZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tl
dE9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgaWYgKCF3aWxsU2VuZChzaXplKSkKKyAgICAgICAg
cmV0dXJuIC0xOworCisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNy
ZWF0ZShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90Kj4odmFsdWUpLCBzaXplKTsKKyAgICBhdXRv
IGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFk
KFtpZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIG9wdGlvbnNd
IHsKKyAgICAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEocmVpbnRlcnByZXRfY2FzdDxjb25z
dCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSk7CisgICAgICAgIFN0
cmluZyBzcnRwQXV0aEtleSA9IGF1dGhLZXkob3B0aW9ucyk7CisgICAgICAgIE1lc3NhZ2VzOjpO
ZXR3b3JrUGFja2V0U29ja2V0OjpTZW5kVG8gbWVzc2FnZShkYXRhLCBSVENOZXR3b3JrOjpJUEFk
ZHJlc3MoYWRkcmVzcy5pcGFkZHIoKSksIGFkZHJlc3MucG9ydCgpLCBvcHRpb25zLnBhY2tldF9p
ZCwgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMucnRwX3NlbmR0aW1lX2V4dGVuc2lvbl9pZCwg
c3J0cEF1dGhLZXksIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfcGFja2V0X2luZGV4
LCBvcHRpb25zLmRzY3ApOworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3Jr
Q29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKFdURk1vdmUobWVzc2FnZSksIGlkZW50aWZp
ZXIpOworICAgIH0pOworICAgIHJldHVybiBzaXplOworfQorCitpbnQgTGliV2ViUlRDUGFja2V0
U29ja2V0OjpDbG9zZSgpCit7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmll
cigpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXJdIHsKKyAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChN
ZXNzYWdlczo6TmV0d29ya1BhY2tldFNvY2tldDo6Q2xvc2UoKSwgaWRlbnRpZmllcik7CisgICAg
fSk7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OkdldE9w
dGlvbihydGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50KiB2YWx1ZSkKK3sKKyAgICBBU1NF
UlQob3B0aW9uIDwgTUFYX1NPQ0tFVF9PUFRJT04pOworICAgIGludCBzdG9yZWRWYWx1ZSA9IG1f
b3B0aW9uc1tvcHRpb25dOworICAgIGlmIChzdG9yZWRWYWx1ZSAhPSAtMSkKKyAgICAgICAgKnZh
bHVlID0gbV9vcHRpb25zW29wdGlvbl07CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBMaWJXZWJS
VENQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50
IHZhbHVlKQoreworICAgIEFTU0VSVChvcHRpb24gPCBNQVhfU09DS0VUX09QVElPTik7CisKKyAg
ICBtX29wdGlvbnNbb3B0aW9uXSA9IHZhbHVlOworCisgICAgYXV0byBpZGVudGlmaWVyID0gdGhp
cy0+aWRlbnRpZmllcigpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIG9wdGlv
biwgdmFsdWVdIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5l
Y3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1BhY2tldFNvY2tldDo6
U2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1
cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVENQYWNrZXRTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUGFja2V0U29ja2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZDViNTk4ZGU0
MzgzZjdmNWEyZmJkZTgzMjM0NjI5NjRlNDc0OGRjMQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUGFja2V0U29ja2V0
LmgKQEAgLTAsMCArMSwxMjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVT
RShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJNZXNzYWdlU2VuZGVyLmgiCisjaW5jbHVkZSAiUlRD
TmV0d29yay5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2luY2x1
ZGUgPHdlYnJ0Yy9iYXNlL2FzeW5jcGFja2V0c29ja2V0Lmg+CisjaW5jbHVkZSA8d3RmL0Zvcndh
cmQuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGF0YVJl
ZmVyZW5jZTsKK2NsYXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNz
IFNoYXJlZEJ1ZmZlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExpYldlYlJU
Q1BhY2tldFNvY2tldEZhY3Rvcnk7CisKK2NsYXNzIExpYldlYlJUQ1BhY2tldFNvY2tldCBmaW5h
bCA6IHB1YmxpYyBydGM6OkFzeW5jUGFja2V0U29ja2V0IHsKK3B1YmxpYzoKKyAgICBlbnVtIGNs
YXNzIFR5cGUgeyBVRFAsIFNlcnZlclRDUCwgQ2xpZW50VENQIH07CisKKyAgICBMaWJXZWJSVENQ
YWNrZXRTb2NrZXQoTGliV2ViUlRDUGFja2V0U29ja2V0RmFjdG9yeSYsIHVpbnQ2NF90IGlkZW50
aWZpZXIsIFR5cGUsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpOworICAgIH5MaWJXZWJSVENQYWNr
ZXRTb2NrZXQoKTsKKworICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBt
X2lkZW50aWZpZXI7IH0KKyAgICBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVz
cygpIGNvbnN0IHsgcmV0dXJuIG1fbG9jYWxBZGRyZXNzOyB9CisgICAgY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9yZW1vdGVBZGRyZXNz
OyB9CisKKyAgICB2b2lkIHNldEVycm9yKGludCBlcnJvcikgeyBtX2Vycm9yID0gZXJyb3I7IH0K
KyAgICB2b2lkIHNldFN0YXRlKFN0YXRlIHN0YXRlKSB7IG1fc3RhdGUgPSBzdGF0ZTsgfQorCisg
ICAgY2xhc3MgUHJveHkgOiBwdWJsaWMgSVBDOjpNZXNzYWdlU2VuZGVyIHsKKyAgICBwdWJsaWM6
CisgICAgICAgIFByb3h5KExpYldlYlJUQ1BhY2tldFNvY2tldEZhY3RvcnkmLCB1aW50NjRfdCk7
CisgICAgICAgIAorICAgICAgICB2b2lkIGRpZFJlY2VpdmVXZWJQYWNrZXRTb2NrZXRNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworICAgICAgICAKKyAgICAgICAgdm9p
ZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYsIHVpbnQxNl90IHBvcnQsIGludDY0X3QpOworICAgICAgICB2b2lk
IHNpZ25hbFNlbnRQYWNrZXQoaW50LCBpbnQ2NF90KTsKKyAgICAgICAgdm9pZCBzaWduYWxBZGRy
ZXNzUmVhZHkoY29uc3QgU3RyaW5nJik7CisgICAgICAgIHZvaWQgc2lnbmFsQ29ubmVjdCgpOwor
ICAgICAgICB2b2lkIHNpZ25hbENsb3NlKGludCk7CisgICAgICAgIAorICAgIHByaXZhdGU6Cisg
ICAgICAgIHVpbnQ2NF90IG1lc3NhZ2VTZW5kZXJEZXN0aW5hdGlvbklEKCkgZmluYWwgeyByZXR1
cm4gbV9pZGVudGlmaWVyOyB9CisgICAgICAgIElQQzo6Q29ubmVjdGlvbiogbWVzc2FnZVNlbmRl
ckNvbm5lY3Rpb24oKSBmaW5hbDsKKyAgICAgICAgCisgICAgICAgIExpYldlYlJUQ1BhY2tldFNv
Y2tldEZhY3RvcnkmIG1fZmFjdG9yeTsKKyAgICAgICAgdWludDY0X3QgbV9pZGVudGlmaWVyIHsg
MCB9OworICAgIH07CisKK3ByaXZhdGU6CisgICAgYm9vbCB3aWxsU2VuZChzaXplX3QpOworCisg
ICAgdm9pZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciYsIHJ0
Yzo6U29ja2V0QWRkcmVzcyYmLCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQo
aW50LCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBTdHJpbmcm
KTsKKyAgICB2b2lkIHNpZ25hbENvbm5lY3QoKTsKKyAgICB2b2lkIHNpZ25hbENsb3NlKGludCk7
CisKKyAgICAvLyBBc3luY1BhY2tldFNvY2tldCBBUEkKKyAgICBpbnQgR2V0RXJyb3IoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAgdm9pZCBTZXRFcnJvcihpbnQgZXJyb3Ip
IGZpbmFsIHsgc2V0RXJyb3IoZXJyb3IpOyB9CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIEdldExv
Y2FsQWRkcmVzcygpIGNvbnN0IGZpbmFsOworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBHZXRSZW1v
dGVBZGRyZXNzKCkgY29uc3QgZmluYWw7CisgICAgaW50IFNlbmQoY29uc3Qgdm9pZCAqcHYsIHNp
emVfdCBjYiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBvcHRpb25zKSBmaW5hbCB7IHJldHVy
biBTZW5kVG8ocHYsIGNiLCBtX3JlbW90ZUFkZHJlc3MsIG9wdGlvbnMpOyB9CisgICAgaW50IFNl
bmRUbyhjb25zdCB2b2lkICosIHNpemVfdCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgY29u
c3QgcnRjOjpQYWNrZXRPcHRpb25zJikgZmluYWw7CisgICAgaW50IENsb3NlKCkgZmluYWw7Cisg
ICAgU3RhdGUgR2V0U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3N0YXRlOyB9CisgICAg
aW50IEdldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uLCBpbnQqKSBmaW5hbDsKKyAgICBpbnQg
U2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24sIGludCkgZmluYWw7CisKKyAgICBMaWJXZWJS
VENQYWNrZXRTb2NrZXRGYWN0b3J5JiBtX2ZhY3Rvcnk7CisgICAgdWludDY0X3QgbV9pZGVudGlm
aWVyIHsgMCB9OworICAgIFR5cGUgbV90eXBlOworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBtX2xv
Y2FsQWRkcmVzczsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9yZW1vdGVBZGRyZXNzOworCisg
ICAgaW50IG1fZXJyb3IgeyAwIH07CisgICAgU3RhdGUgbV9zdGF0ZSB7IFNUQVRFX0JJTkRJTkcg
fTsKKworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNQVhfU09DS0VUX09QVElPTiB7IHJ0Yzo6
QXN5bmNTb2NrZXQ6Ok9QVF9SVFBfU0VORFRJTUVfRVhUTl9JRCArIDEgfTsKKyAgICBpbnQgbV9v
cHRpb25zW01BWF9TT0NLRVRfT1BUSU9OXTsKKworICAgIERlcXVlPHNpemVfdD4gbV9iZWluZ1Nl
bnRQYWNrZXRTaXplczsKKyAgICBzaXplX3QgbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgeyA2NTUz
NiB9OworICAgIGJvb2wgbV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCB7IGZhbHNlIH07Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1BhY2tldFNvY2tldEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5LmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44
MGQzNTJlOGY1YWEwOGNmNTMyMGUzNzIwMWVlOWQ4MWM2NjMzZTYyCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQYWNr
ZXRTb2NrZXRGYWN0b3J5LmNwcApAQCAtMCwwICsxLDEyMSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5Lmgi
CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUmVzb2x2ZXIuaCIK
KyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5j
bHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJXZWJQYWNrZXRTb2NrZXQuaCIKKyNpbmNs
dWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3VpbnQ2NF90IExpYldlYlJUQ1BhY2tldFNvY2tldEZhY3Rvcnk6OnNf
dW5pcXVlU29ja2V0SWRlbnRpZmllciA9IDA7Cit1aW50NjRfdCBMaWJXZWJSVENQYWNrZXRTb2Nr
ZXRGYWN0b3J5OjpzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmllciA9IDA7CisKK3J0Yzo6QXN5bmNQ
YWNrZXRTb2NrZXQqIExpYldlYlJUQ1BhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNlcnZlclRj
cFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHNvY2tldEFkZHJlc3MsIHVpbnQxNl90
IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIC8vIEZJWE1F
OiBBZGQgYXNzZXJ0IHRoYXQgd2UgYXJlIG9uIHRoZSBuZXR3b3JrIHRocmVhZC4KKyAgICBhdXRv
IHNvY2tldCA9IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDUGFja2V0U29ja2V0PigqdGhpcywg
KytzX3VuaXF1ZVNvY2tldElkZW50aWZpZXIsIExpYldlYlJUQ1BhY2tldFNvY2tldDo6VHlwZTo6
U2VydmVyVENQLCBzb2NrZXRBZGRyZXNzLCBydGM6OlNvY2tldEFkZHJlc3MoKSk7CisgICAgbV9z
b2NrZXRzLnNldChzb2NrZXQtPmlkZW50aWZpZXIoKSwgc29ja2V0LmdldCgpKTsKKworICAgIGF1
dG8gaWRlbnRpZmllciA9IHNvY2tldC0+aWRlbnRpZmllcigpOworICAgIGF1dG8gYWRkcmVzcyA9
IHNvY2tldC0+bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKyAgICBjYWxsT25NYWluVGhyZWFk
KFtpZGVudGlmaWVyLCBhZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zXSgpIHsKKyAg
ICAgICAgU3RyaW5nIGFkZHJlc3NTdHJpbmcgPSBTdHJpbmcoYWRkcmVzcy5kYXRhKCksIGFkZHJl
c3MubGVuZ3RoKCkpOworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdv
cmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0
aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoaWRlbnRpZmllciwgYWRkcmVz
c1N0cmluZywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucyksIDApKSB7CisgICAgICAgICAgICAv
LyBGSVhNRTogU2V0IGVycm9yIGJhY2sgdG8gc29ja2V0CisgICAgICAgICAgICByZXR1cm47Cisg
ICAgICAgIH0KKworICAgIH0pOworICAgIHJldHVybiBzb2NrZXQucmVsZWFzZSgpOworfQorCity
dGM6OkFzeW5jUGFja2V0U29ja2V0KiBMaWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5OjpDcmVh
dGVVZHBTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNzLCB1aW50
MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KQoreworICAgIC8vIEZJWE1FOiBBZGQgYXNz
ZXJ0IHRoYXQgd2UgYXJlIG9uIHRoZSBuZXR3b3JrIHRocmVhZC4KKyAgICBhdXRvIHNvY2tldCA9
IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDUGFja2V0U29ja2V0PigqdGhpcywgKytzX3VuaXF1
ZVNvY2tldElkZW50aWZpZXIsIExpYldlYlJUQ1BhY2tldFNvY2tldDo6VHlwZTo6U2VydmVyVENQ
LCBzb2NrZXRBZGRyZXNzLCBydGM6OlNvY2tldEFkZHJlc3MoKSk7CisgICAgbV9zb2NrZXRzLnNl
dChzb2NrZXQtPmlkZW50aWZpZXIoKSwgc29ja2V0LmdldCgpKTsKKworICAgIGF1dG8gaWRlbnRp
ZmllciA9IHNvY2tldC0+aWRlbnRpZmllcigpOworICAgIGF1dG8gYWRkcmVzcyA9IHNvY2tldC0+
bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlm
aWVyLCBhZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAgICAgICAgU3RyaW5nIGFkZHJl
c3NTdHJpbmcgPSBTdHJpbmcoYWRkcmVzcy5kYXRhKCksIGFkZHJlc3MubGVuZ3RoKCkpOworICAg
ICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpD
cmVhdGVVRFBTb2NrZXQoaWRlbnRpZmllciwgYWRkcmVzc1N0cmluZywgbWluUG9ydCwgbWF4UG9y
dCksIDApKSB7CisgICAgICAgICAgICAvLyBGSVhNRTogU2V0IGVycm9yIGJhY2sgdG8gc29ja2V0
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKyAgICB9KTsKKyAgICByZXR1cm4gc29j
a2V0LnJlbGVhc2UoKTsKK30KKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogTGliV2ViUlRDUGFj
a2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlQ2xpZW50VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0
QWRkcmVzcyYgbG9jYWxTb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJl
bW90ZVNvY2tldEFkZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJbmZvJiwgY29uc3Qgc3RkOjpzdHJp
bmcmLCBpbnQgb3B0aW9ucykKK3sKKyAgICAvLyBGSVhNRTogQWRkIGFzc2VydCB0aGF0IHdlIGFy
ZSBvbiB0aGUgbmV0d29yayB0aHJlYWQuCisgICAgYXV0byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5p
cXVlPExpYldlYlJUQ1BhY2tldFNvY2tldD4oKnRoaXMsICsrc191bmlxdWVTb2NrZXRJZGVudGlm
aWVyLCBMaWJXZWJSVENQYWNrZXRTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwgbG9jYWxTb2NrZXRB
ZGRyZXNzLCByZW1vdGVTb2NrZXRBZGRyZXNzKTsKKyAgICBzb2NrZXQtPnNldFN0YXRlKExpYldl
YlJUQ1BhY2tldFNvY2tldDo6U1RBVEVfQ09OTkVDVElORyk7CisgICAgbV9zb2NrZXRzLnNldChz
b2NrZXQtPmlkZW50aWZpZXIoKSwgc29ja2V0LmdldCgpKTsKKworICAgIGF1dG8gaWRlbnRpZmll
ciA9IHNvY2tldC0+aWRlbnRpZmllcigpOworICAgIGF1dG8gbG9jYWxBZGRyZXNzID0gc29ja2V0
LT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmluZygpOworICAgIGF1dG8gcmVtb3RlQWRkcmVzcyA9IHNv
Y2tldC0+cmVtb3RlQWRkcmVzcygpLlRvU3RyaW5nKCk7CisgICAgY2FsbE9uTWFpblRocmVhZChb
aWRlbnRpZmllciwgbG9jYWxBZGRyZXNzLCByZW1vdGVBZGRyZXNzLCBvcHRpb25zXSgpIHsKKyAg
ICAgICAgU3RyaW5nIGxvY2FsQWRkcmVzc1N0cmluZyA9IFN0cmluZyhsb2NhbEFkZHJlc3MuZGF0
YSgpLCBsb2NhbEFkZHJlc3MubGVuZ3RoKCkpOworICAgICAgICBTdHJpbmcgcmVtb3RlQWRkcmVz
c1N0cmluZyA9IFN0cmluZyhyZW1vdGVBZGRyZXNzLmRhdGEoKSwgcmVtb3RlQWRkcmVzcy5sZW5n
dGgoKSk7CisgICAgICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5l
Y3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6OkNyZWF0ZUNsaWVudFRDUFNvY2tldChpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3NT
dHJpbmcsIHJlbW90ZUFkZHJlc3NTdHJpbmcsIG9wdGlvbnMpLCAwKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IFNldCBlcnJvciBiYWNrIHRvIHNvY2tldAorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfSk7CisKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2UoKTsKK30KKwor
dm9pZCBMaWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5OjpkZXRhY2goTGliV2ViUlRDUGFja2V0
U29ja2V0JiBzb2NrZXQpCit7CisgICAgLy8gRklYTUU6IEFkZCBhc3NlcnQgdGhhdCB3ZSBhcmUg
b24gdGhlIG5ldHdvcmsgdGhyZWFkLgorICAgIEFTU0VSVChtX3NvY2tldHMuY29udGFpbnMoc29j
a2V0LmlkZW50aWZpZXIoKSkpOworICAgIG1fc29ja2V0cy5yZW1vdmUoc29ja2V0LmlkZW50aWZp
ZXIoKSk7Cit9CisKK3J0Yzo6QXN5bmNSZXNvbHZlckludGVyZmFjZSogTGliV2ViUlRDUGFja2V0
U29ja2V0RmFjdG9yeTo6Q3JlYXRlQXN5bmNSZXNvbHZlcigpCit7CisgICAgLy8gRklYTUU6IEFk
ZCBhc3NlcnQgdGhhdCB3ZSBhcmUgb24gdGhlIG5ldHdvcmsgdGhyZWFkLgorICAgIGF1dG8gcmVz
b2x2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1Jlc29sdmVyPigrK3NfdW5pcXVlUmVz
b2x2ZXJJZGVudGlmaWVyKTsKKyAgICBhdXRvKiByZXNvbHZlclBvaW50ZXIgPSByZXNvbHZlci5n
ZXQoKTsKKyAgICBtX3Jlc29sdmVycy5zZXQocmVzb2x2ZXJQb2ludGVyLT5pZGVudGlmaWVyKCks
IFdURk1vdmUocmVzb2x2ZXIpKTsKKyAgICByZXR1cm4gcmVzb2x2ZXJQb2ludGVyOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Bh
Y2tldFNvY2tldEZhY3RvcnkuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUGFja2V0U29ja2V0RmFjdG9yeS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZjYzUwN2Jl
ODY5ZDU3NWIwNzZmMGUxNmVmMDllZTVjNzhmMzYxNWIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1BhY2tldFNvY2tl
dEZhY3RvcnkuaApAQCAtMCwwICsxLDY4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3Mu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+CisjaW5jbHVkZSA8d2VicnRj
L3AycC9iYXNlL3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTGliV2ViUlRDUmVzb2x2ZXI7CitjbGFz
cyBMaWJXZWJSVENQYWNrZXRTb2NrZXQ7CisKK2NsYXNzIExpYldlYlJUQ1BhY2tldFNvY2tldEZh
Y3RvcnkgZmluYWwgOiBwdWJsaWMgcnRjOjpQYWNrZXRTb2NrZXRGYWN0b3J5IHsKK3B1YmxpYzoK
KyAgICBMaWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5KCkgeyB9CisKKyAgICB2b2lkIGRldGFj
aChMaWJXZWJSVENQYWNrZXRTb2NrZXQmKTsKKworICAgIExpYldlYlJUQ1BhY2tldFNvY2tldCog
c29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIpIHsgcmV0dXJuIG1fc29ja2V0cy5nZXQoaWRlbnRp
Zmllcik7IH0KKyAgICBMaWJXZWJSVENSZXNvbHZlciogcmVzb2x2ZXIodWludDY0X3QgaWRlbnRp
ZmllcikgeyByZXR1cm4gbV9yZXNvbHZlcnMuZ2V0KGlkZW50aWZpZXIpOyB9CisKKyAgICBzdGQ6
OnVuaXF1ZV9wdHI8TGliV2ViUlRDUmVzb2x2ZXI+IHRha2VSZXNvbHZlcih1aW50NjRfdCBpZGVu
dGlmaWVyKSB7IHJldHVybiBtX3Jlc29sdmVycy50YWtlKGlkZW50aWZpZXIpOyB9CisKK3ByaXZh
dGU6CisgICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0
Yzo6U29ja2V0QWRkcmVzcyYsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpIGZp
bmFsOworICAgIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZVNlcnZlclRjcFNvY2tldChj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCB1aW50MTZfdCBtaW5fcG9ydCwgdWludDE2X3QgbWF4
X3BvcnQsIGludCBvcHRpb25zKSBmaW5hbDsKKyAgICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBD
cmVhdGVDbGllbnRUY3BTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJl
c3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcywgY29uc3QgcnRjOjpQ
cm94eUluZm8mLCBjb25zdCBzdGQ6OnN0cmluZyYsIGludCBvcHRpb25zKTsKKyAgICBydGM6OkFz
eW5jUmVzb2x2ZXJJbnRlcmZhY2UqIENyZWF0ZUFzeW5jUmVzb2x2ZXIoKSBmaW5hbDsKKworICAg
IC8vIFdlIGNhbm5vdCBvd24gc29ja2V0cywgY2xpZW50cyBvZiB0aGUgZmFjdG9yeSBhcmUgcmVz
cG9uc2libGUgdG8gZnJlZSB0aGVtLgorICAgIEhhc2hNYXA8dWludDY0X3QsIExpYldlYlJUQ1Bh
Y2tldFNvY2tldCo+IG1fc29ja2V0czsKKyAgICBzdGF0aWMgdWludDY0X3Qgc191bmlxdWVTb2Nr
ZXRJZGVudGlmaWVyOworICAgIAorICAgIC8vIFdlIGNhbiBvd24gcmVzb2x2ZXJzIGFzIHdlIGNv
bnRyb2wgdGhlaXIgRGVzdHJveSBtZXRob2QuCisgICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1
bmlxdWVfcHRyPExpYldlYlJUQ1Jlc29sdmVyPj4gbV9yZXNvbHZlcnM7CisgICAgc3RhdGljIHVp
bnQ2NF90IHNfdW5pcXVlUmVzb2x2ZXJJZGVudGlmaWVyOworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVy
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi41N2U5YjA2Yjc4YmY0NmI1NjU3NzZlMDJjOTcwYTE5Mzk5NmI1MTQx
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgorCisj
aWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxX
ZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d2VicnRjL2FwaS9wZWVyY29ubmVj
dGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3J0Yzo6c2NvcGVkX3JlZnB0
cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBMaWJXZWJSVENQcm92aWRlcjo6Y3Jl
YXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJiBvYnNlcnZl
cikKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5pbml0aWFsaXplTGliV2ViUlRDKCk7
CisgICAgcmV0dXJuIFdlYkNvcmU6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5uZXR3b3JrTW9uaXRvcigpLCBXZWJQcm9j
ZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5zb2NrZXRGYWN0b3J5KCkpOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3Zp
ZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1Byb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTMzZmFjNWI4ZTQwNmE2NDIwNzUyN2YwOTAwY2JjNjdj
MDJjZTkyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtMCwwICsxLDQ0IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVy
Lmg+CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
TGliV2ViUlRDUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlk
ZXIgeworcHVibGljOgorICAgIExpYldlYlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0OworCitwcml2
YXRlOgorICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJm
YWNlPiBjcmVhdGVQZWVyQ29ubmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXIm
KSBmaW5hbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGRmYmI4ZDhm
NDM4NGFlOWIzYTVmMmE5MzA4OWRlNGVlOWQ1NjViNQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3Bw
CkBAIC0wLDAgKzEsMTMwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkxpYldlYlJUQ1Jlc29sdmVyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5j
bHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUg
Ik5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldC5o
IgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworTGliV2ViUlRDUmVzb2x2ZXI6OlByb3h5OjpQcm94eShM
aWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5JiBzb2NrZXRGYWN0b3J5LCB1aW50NjRfdCBpZGVu
dGlmaWVyKQorICAgIDogbV9zb2NrZXRGYWN0b3J5KHNvY2tldEZhY3RvcnkpCisgICAgLCBtX2lk
ZW50aWZpZXIoaWRlbnRpZmllcikKK3sKK30KKwordm9pZCBMaWJXZWJSVENSZXNvbHZlcjo6UHJv
eHk6OnNldFJlc29sdmVkQWRkcmVzcyhjb25zdCBWZWN0b3I8UlRDTmV0d29yazo6SVBBZGRyZXNz
PiYgYWRkcmVzc2VzKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAg
ICBhdXRvJiBmYWN0b3J5ID0gbV9zb2NrZXRGYWN0b3J5OworICAgIFdlYkNvcmU6OmNhbGxPbldl
YlJUQ05ldHdvcmtUaHJlYWQoWyZmYWN0b3J5LCBpZGVudGlmaWVyLCBhZGRyZXNzZXNdKCkgewor
ICAgICAgICBhdXRvKiByZXNvbHZlciA9IGZhY3RvcnkucmVzb2x2ZXIoaWRlbnRpZmllcik7Cisg
ICAgICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlc29s
dmVyLT5zZXRSZXNvbHZlZEFkZHJlc3MoYWRkcmVzc2VzKTsKKyAgICB9KTsKK30KKwordm9pZCBM
aWJXZWJSVENSZXNvbHZlcjo6UHJveHk6OnJlc29sdmVkQWRkcmVzc0Vycm9yKGludCBlcnJvcikK
K3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgYXV0byYgZmFjdG9y
eSA9IG1fc29ja2V0RmFjdG9yeTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhy
ZWFkKFsmZmFjdG9yeSwgaWRlbnRpZmllciwgZXJyb3JdKCkgeworICAgICAgICBhdXRvKiByZXNv
bHZlciA9IGZhY3RvcnkucmVzb2x2ZXIoaWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2
ZXIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlc29sdmVyLT5zZXRFcnJvcihlcnJv
cik7CisgICAgfSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2ZXI6OlN0YXJ0KGNvbnN0IHJ0
Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKK3sKKyAgICBtX2lzUmVzb2x2aW5nID0gdHJ1ZTsK
KyAgICBtX2FkZHJlc3NUb1Jlc29sdmUgPSBhZGRyZXNzOworICAgIG1fcG9ydCA9IGFkZHJlc3Mu
cG9ydCgpOworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBjYWxsT25N
YWluVGhyZWFkKFtpZGVudGlmaWVyLCBhZGRyZXNzXSgpIHsKKyAgICAgICAgYXV0byBhZGRyZXNz
U3RyaW5nID0gYWRkcmVzcy5Ib3N0QXNVUklTdHJpbmcoKTsKKyAgICAgICAgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdl
czo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0ZUFzeW5jUmVzb2x2ZXIoaWRl
bnRpZmllciwgU3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0
aCgpKSksIDApOworICAgIH0pOworfQorCitib29sIExpYldlYlJUQ1Jlc29sdmVyOjpHZXRSZXNv
bHZlZEFkZHJlc3MoaW50IGZhbWlseSwgcnRjOjpTb2NrZXRBZGRyZXNzKiBhZGRyZXNzKSBjb25z
dAoreworICAgIEFTU0VSVChhZGRyZXNzKTsKKyAgICBpZiAobV9lcnJvciB8fCAhbV9hZGRyZXNz
ZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAqYWRkcmVzcyA9IG1fYWRk
cmVzc1RvUmVzb2x2ZTsKKyAgICBmb3IgKGF1dG8mIGlwQWRkcmVzcyA6IG1fYWRkcmVzc2VzKSB7
CisgICAgICAgIGlmIChmYW1pbHkgPT0gaXBBZGRyZXNzLmZhbWlseSgpKSB7CisgICAgICAgICAg
ICBhZGRyZXNzLT5TZXRSZXNvbHZlZElQKGlwQWRkcmVzcyk7CisgICAgICAgICAgICBhZGRyZXNz
LT5TZXRQb3J0KG1fcG9ydCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2ZXI6OkRl
c3Ryb3koYm9vbCkKK3sKKyAgICAvLyBMZXQncyB0YWtlIHRoZSByZXNvbHZlciBzbyB0aGF0IGl0
IGdldHMgZGVzdHJveWVkIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4KKyAgICBhdXRvIHJl
c29sdmVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDKCkuc29ja2V0RmFjdG9y
eSgpLnRha2VSZXNvbHZlcihtX2lkZW50aWZpZXIpOworICAgIEFTU0VSVChyZXNvbHZlcik7CisK
KyAgICBpZiAoIWlzUmVzb2x2aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gaWRl
bnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVy
XSgpIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24o
KS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OlN0b3BBc3luY1Jlc29sdmVyKGlkZW50aWZpZXIpLCAwKTsKKyAgICB9KTsKK30KKwordm9p
ZCBMaWJXZWJSVENSZXNvbHZlcjo6c2V0UmVzb2x2ZWRBZGRyZXNzKGNvbnN0IFZlY3RvcjxSVENO
ZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMpCit7CisgICAgbV9hZGRyZXNzZXMucmVzZXJ2
ZUluaXRpYWxDYXBhY2l0eShhZGRyZXNzZXMuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIGFkZHJl
c3MgOiBhZGRyZXNzZXMpCisgICAgICAgIG1fYWRkcmVzc2VzLnVuY2hlY2tlZEFwcGVuZChhZGRy
ZXNzLnZhbHVlKTsKKworICAgIFNpZ25hbERvbmUodGhpcyk7Cit9CisKK3ZvaWQgTGliV2ViUlRD
UmVzb2x2ZXI6OnNldEVycm9yKGludCBlcnJvcikKK3sKKyAgICBtX2Vycm9yID0gZXJyb3I7Cisg
ICAgU2lnbmFsRG9uZSh0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRp
ZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4
Njk0NmM3YjY2NDVmYzA2MjMzMTE1ZTY4NDMxYzJhOGIwZjI4MDIKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29s
dmVyLmgKQEAgLTAsMCArMSw4NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
VVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvcGFja2V0c29ja2V0ZmFjdG9yeS5oPgorI2lu
Y2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9u
OworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CitjbGFzcyBMaWJXZWJS
VENQYWNrZXRTb2NrZXRGYWN0b3J5OworCitjbGFzcyBMaWJXZWJSVENSZXNvbHZlciBmaW5hbCA6
IHB1YmxpYyBydGM6OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UgeworcHVibGljOgorICAgIExpYldl
YlJUQ1Jlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpIDogbV9pZGVudGlmaWVyKGlkZW50aWZp
ZXIpIHsgfQorCisgICAgYm9vbCBpc1Jlc29sdmluZygpIGNvbnN0IHsgcmV0dXJuIG1faXNSZXNv
bHZpbmc7IH0KKyAgICB1aW50NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVu
dGlmaWVyOyB9CisKKyAgICBjbGFzcyBQcm94eSB7CisgICAgcHVibGljOgorICAgICAgICBQcm94
eShMaWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5JiwgdWludDY0X3QpOworICAgICAgICAKKyAg
ICAgICAgdm9pZCBkaWRSZWNlaXZlV2ViUlRDUmVzb2x2ZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOworICAgICAgICAKKyAgICBwcml2YXRlOgorICAgICAgICB2b2lk
IHNldFJlc29sdmVkQWRkcmVzcyhjb25zdCBWZWN0b3I8UlRDTmV0d29yazo6SVBBZGRyZXNzPiYp
OworICAgICAgICB2b2lkIHJlc29sdmVkQWRkcmVzc0Vycm9yKGludCk7CisgICAgICAgIAorICAg
ICAgICBMaWJXZWJSVENQYWNrZXRTb2NrZXRGYWN0b3J5JiBtX3NvY2tldEZhY3Rvcnk7CisgICAg
ICAgIHVpbnQ2NF90IG1faWRlbnRpZmllciB7IDAgfTsKKyAgICB9OworCitwcml2YXRlOgorICAg
IC8vIEFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UgQVBJLgorICAgIHZvaWQgU3RhcnQoY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJikgZmluYWw7CisgICAgYm9vbCBHZXRSZXNvbHZlZEFkZHJlc3MoaW50
LCBydGM6OlNvY2tldEFkZHJlc3MqKSBjb25zdCBmaW5hbDsKKyAgICBpbnQgR2V0RXJyb3IoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAgdm9pZCBEZXN0cm95KGJvb2wpIGZp
bmFsOworCisgICAgdm9pZCBzZXRFcnJvcihpbnQpOworICAgIHZvaWQgc2V0UmVzb2x2ZWRBZGRy
ZXNzKGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+Jik7CisKKyAgICB1aW50NjRf
dCBtX2lkZW50aWZpZXI7CisgICAgVmVjdG9yPHJ0Yzo6SVBBZGRyZXNzPiBtX2FkZHJlc3NlczsK
KyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9hZGRyZXNzVG9SZXNvbHZlOworICAgIGludCBtX2Vy
cm9yIHsgMCB9OworICAgIHVpbnQxNl90IG1fcG9ydCB7IDAgfTsKKyAgICBib29sIG1faXNSZXNv
bHZpbmcgeyBmYWxzZSB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJMaWJXZWJSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYkxpYldlYlJUQ1Byb3ZpZGVyLmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi41NWM1NTBiZGIwOWNhNzk1YzkzZTE1ODM3YjdmNDBkNjJjYjAxZmFhCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJMaWJX
ZWJSVENQcm92aWRlci5jcHAKQEAgLTAsMCArMSw0OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJMaWJXZWJSVENQcm92aWRlci5oIgorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d2VicnRjL2FwaS9wZWVyY29ubmVjdGlvbmZh
Y3RvcnkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYkxpYldlYlJUQ1Byb3ZpZGVyOjpX
ZWJMaWJXZWJSVENQcm92aWRlcigpCit7CisgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkuaW5p
dGlhbGl6ZUxpYldlYlJUQygpOworfQorCitydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVy
Q29ubmVjdGlvbkludGVyZmFjZT4gV2ViTGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25u
ZWN0aW9uKHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAg
cmV0dXJuIFdlYkNvcmU6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5uZXR3b3JrTWFuYWdlcigpLCBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5saWJXZWJSVEMoKS5zb2NrZXRGYWN0b3J5KCkpOworfQorCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYkxpYldlYlJUQ1Byb3ZpZGVy
LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYkxpYldlYlJU
Q1Byb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjA3OWJiNDdhYmIzODc0NTc0ODc0ZDc5MWQwN2Y5Y2Vh
NmEyYWJlOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtMCwwICsxLDQ0IEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1Byb3Zp
ZGVyLmg+CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgV2ViTGliV2ViUlRDUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6TGliV2ViUlRD
UHJvdmlkZXIgeworcHVibGljOgorICAgIFdlYkxpYldlYlJUQ1Byb3ZpZGVyKCk7CisKK3ByaXZh
dGU6CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRlcmZh
Y2U+IGNyZWF0ZVBlZXJDb25uZWN0aW9uKHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYp
IGZpbmFsOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YjE0YWE4ZjI2
MjBkMGE5ZGE1OTZkZGM1OTM4NTQ1NmIzYWE0YTJkCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5jcHAK
QEAgLTAsMCArMSw5MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXZWJOZXR3b3JrTWFuYWdlci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJO
ZXR3b3JrTmV0d29ya01hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3ZWJydGMv
YmFzZS9uZXRoZWxwZXJzLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViTmV0d29ya01hbmFnZXI6OlN0YXJ0VXBkYXRpbmcoKQor
eworICAgIGlmIChtX2NsaWVudENvdW50KSB7CisgICAgICAgIC8vIE5lZWQgdG8gc2lnbmFsIG5l
dyBjbGllbnQgdGhhdCB3ZSBhbHJlYWR5IGhhdmUgdGhlIG5ldHdvcmsgbGlzdCwgbGV0J3MgZG8g
aXQgYXN5bmNocm9ub3VzbHkKKyAgICAgICAgaWYgKG1fcmVjZWl2ZWROZXR3b3JrTGlzdCkgewor
ICAgICAgICAgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpc10gewor
ICAgICAgICAgICAgICAgIFNpZ25hbE5ldHdvcmtzQ2hhbmdlZCgpOworICAgICAgICAgICAgfSk7
CisgICAgICAgIH0KKyAgICB9IGVsc2UgeworICAgICAgICBtX3JlY2VpdmVkTmV0d29ya0xpc3Qg
PSBmYWxzZTsKKyAgICAgICAgY2FsbE9uTWFpblRocmVhZChbXSgpIHsKKyAgICAgICAgICAgIFdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6U3RhcnRVcGRhdGluZygpLCAwKTsK
KyAgICAgICAgfSk7CisgICAgfQorICAgICsrbV9jbGllbnRDb3VudDsKK30KKwordm9pZCBXZWJO
ZXR3b3JrTWFuYWdlcjo6U3RvcFVwZGF0aW5nKCkKK3sKKyAgICBBU1NFUlQobV9jbGllbnRDb3Vu
dCk7CisgICAgaWYgKC0tbV9jbGllbnRDb3VudCkKKyAgICAgICAgcmV0dXJuOworCisgICAgY2Fs
bE9uTWFpblRocmVhZChbXSgpIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0
d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya05ldHdv
cmtNYW5hZ2VyOjpTdG9wVXBkYXRpbmcoKSwgMCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViTmV0
d29ya01hbmFnZXI6Om5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5l
dHdvcmtzLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGlwdjQsIGNvbnN0IFJUQ05ldHdv
cms6OklQQWRkcmVzcyYgaXB2NikKK3sKKyAgICAvLyBObyBuZWVkIHRvIHByb3RlY3QgJ3RoaXMn
IGFzIGl0IGhhcyB0aGUgbGlmZXRpbWUgb2YgTGliV2ViUlRDIHdoaWNoIGhhcyB0aGUgbGlmZXRp
bWUgb2YgdGhlIHdlYiBwcm9jZXNzLgorICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtU
aHJlYWQoW3RoaXMsIG5ldHdvcmtzLCBpcHY0LCBpcHY2XSB7CisgICAgICAgIHN0ZDo6dmVjdG9y
PHJ0Yzo6TmV0d29yayo+IG5ldHdvcmtMaXN0KG5ldHdvcmtzLnNpemUoKSk7CisgICAgICAgIGZv
ciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBuZXR3b3Jrcy5zaXplKCk7ICsraW5kZXgpCisg
ICAgICAgICAgICBuZXR3b3JrTGlzdFtpbmRleF0gPSBuZXcgcnRjOjpOZXR3b3JrKG5ldHdvcmtz
W2luZGV4XS52YWx1ZSgpKTsKKworICAgICAgICBib29sIGZvcmNlU2lnbmFsaW5nID0gIW1fcmVj
ZWl2ZWROZXR3b3JrTGlzdDsKKyAgICAgICAgbV9yZWNlaXZlZE5ldHdvcmtMaXN0ID0gdHJ1ZTsK
KworICAgICAgICBib29sIGhhc0NoYW5nZWQ7CisgICAgICAgIHNldF9kZWZhdWx0X2xvY2FsX2Fk
ZHJlc3NlcyhpcHY0LnZhbHVlLCBpcHY2LnZhbHVlKTsKKyAgICAgICAgTWVyZ2VOZXR3b3JrTGlz
dChuZXR3b3JrTGlzdCwgJmhhc0NoYW5nZWQpOworICAgICAgICBpZiAoaGFzQ2hhbmdlZCB8fCBm
b3JjZVNpZ25hbGluZykKKyAgICAgICAgICAgIFNpZ25hbE5ldHdvcmtzQ2hhbmdlZCgpOworCisg
ICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldF
QlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViTmV0d29ya01hbmFnZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViTmV0d29ya01hbmFnZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42MjU4ZWQ2NzRiMjlkNTJh
NTBiZjY1MTMyNjNhMjJlNTU1ODI3MzY4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJOZXR3b3JrTWFuYWdlci5oCkBAIC0wLDAg
KzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMp
CisKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENV
dGlscy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFz
cyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K3N0cnVjdCBOZXR3b3Jrc0NoYW5nZWREYXRhOworCitjbGFzcyBXZWJOZXR3b3JrTWFuYWdlciBm
aW5hbCA6IHB1YmxpYyBydGM6Ok5ldHdvcmtNYW5hZ2VyQmFzZSB7CitwdWJsaWM6CisgICAgV2Vi
TmV0d29ya01hbmFnZXIoKSB7IH0KKworICAgIHZvaWQgZGlkUmVjZWl2ZVdlYk5ldHdvcmtNYW5h
Z2VyTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworcHJpdmF0ZToK
KyAgICB2b2lkIG5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdv
cmtMaXN0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCBjb25zdCBSVENOZXR3b3JrOjpJ
UEFkZHJlc3MmKTsKKworICAgIHZvaWQgU3RhcnRVcGRhdGluZygpIGZpbmFsOworICAgIHZvaWQg
U3RvcFVwZGF0aW5nKCkgZmluYWw7CisKKyAgICB1bnNpZ25lZCBtX2NsaWVudENvdW50IHsgMCB9
OworICAgIGJvb2wgbV9yZWNlaXZlZE5ldHdvcmtMaXN0IHsgZmFsc2UgfTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViTmV0d29ya01hbmFn
ZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmUyZDY5YmM5YzZjY2Y4
OWM5MDcwODJiOTI2N2E3ZjYyMWU1MmYxZjAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYk5ldHdvcmtNYW5hZ2VyLm1lc3NhZ2Vz
LmluCkBAIC0wLDAgKzEsMjkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0
OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4g
dGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQg
d2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENP
TlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IFdlYk5ldHdvcmtNYW5hZ2Vy
IExlZ2FjeVJlY2VpdmVyIHsKKyAgICB2b2lkIE5ldHdvcmtzQ2hhbmdlZChWZWN0b3I8V2ViS2l0
OjpSVENOZXR3b3JrPiBuZXR3b3JrcywgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgZGVm
YXVsdElQVjRBZGRyZXNzLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBkZWZhdWx0SVBW
NkFkZHJlc3MpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQuY3Bw
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2Nr
ZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjg5YTBkYzJhNTM4ZGQ4NDMwMGRjNDljMmRlY2U4OGNlNmNiNmVi
ZTAKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlBhY2tldFNvY2tldC5jcHAKQEAgLTAsMCArMSwyMDcgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUGFja2V0U29ja2V0LmgiCisKKyNp
ZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUg
Ik5ldHdvcmtQYWNrZXRTb2NrZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKyNpbmNs
dWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYlBhY2tldFNvY2tldDo6V2ViUGFja2V0U29ja2V0KFdlYlBhY2tl
dFNvY2tldEZhY3RvcnkmIGZhY3RvcnksIFR5cGUgdHlwZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVz
cykKKyAgICA6IG1fZmFjdG9yeShmYWN0b3J5KQorICAgICwgbV90eXBlKHR5cGUpCisgICAgLCBt
X2xvY2FsQWRkcmVzcyhsb2NhbEFkZHJlc3MpCisgICAgLCBtX3JlbW90ZUFkZHJlc3MocmVtb3Rl
QWRkcmVzcykKK3sKKyAgICBtX2ZhY3RvcnkuYXR0YWNoKCp0aGlzKTsKKyAgICBzdGQ6OmZpbGxf
bihtX29wdGlvbnMsIE1BWF9TT0NLRVRfT1BUSU9OLCAtMSk7Cit9CisKK1dlYlBhY2tldFNvY2tl
dDo6fldlYlBhY2tldFNvY2tldCgpCit7CisgICAgbV9mYWN0b3J5LmRldGFjaCgqdGhpcyk7Cit9
CisKK3J0Yzo6U29ja2V0QWRkcmVzcyBXZWJQYWNrZXRTb2NrZXQ6OkdldExvY2FsQWRkcmVzcygp
IGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbG9jYWxBZGRyZXNzOworfQorCitydGM6OlNvY2tldEFk
ZHJlc3MgV2ViUGFja2V0U29ja2V0OjpHZXRSZW1vdGVBZGRyZXNzKCkgY29uc3QKK3sKKyAgICBy
ZXR1cm4gbV9yZW1vdGVBZGRyZXNzOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFs
QWRkcmVzc1JlYWR5KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBhdXRvKiBmYWN0b3J5
ID0gJm1fZmFjdG9yeTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7
CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgZmFjdG9yeSwg
aWRlbnRpZmllciwgYWRkcmVzc10oKSB7CisgICAgICAgIC8vIEZJWE1FOiBXZSBzaG91bGQgcHJv
YmFibHkgbW92ZSB0aGlzIGNvZGUgb3V0IG9mIFdlYlBhY2tldFNvY2tldCBzbyB3ZSBkbyBub3Qg
Y2hlY2sgdHdpY2UgdGhlIGlkZW50aWZpZXIgaW4gdGhlIGZhY3RvcnkuCisgICAgICAgIGlmICgh
ZmFjdG9yeS0+d2ViUGFja2V0U29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJu
OworICAgICAgICBpZiAobV90eXBlID09IFR5cGU6OkNsaWVudFRDUCkKKyAgICAgICAgICAgIG1f
c3RhdGUgPSBTVEFURV9DT05ORUNURUQ7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIG1fc3Rh
dGUgPSBTVEFURV9CT1VORDsKKyAgICAgICAgbV9sb2NhbEFkZHJlc3MuRnJvbVN0cmluZyhhZGRy
ZXNzLnV0ZjgoKS5kYXRhKCkpOworICAgICAgICBTaWduYWxBZGRyZXNzUmVhZHkodGhpcywgbV9s
b2NhbEFkZHJlc3MpOworICAgIH0pOworfQorCit2b2lkIFdlYlBhY2tldFNvY2tldDo6c2lnbmFs
UmVhZFBhY2tldChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJUQ05ldHdv
cms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1lc3RhbXAp
Cit7CisgICAgYXV0byogZmFjdG9yeSA9ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVy
ID0gdGhpcy0+aWRlbnRpZmllcigpOworICAgIFJlZlB0cjxXZWJDb3JlOjpTaGFyZWRCdWZmZXI+
IGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRh
LnNpemUoKSk7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywg
ZmFjdG9yeSwgaWRlbnRpZmllciwgYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBw
b3J0LCB0aW1lc3RhbXBdKCkgeworICAgICAgICBpZiAoIWZhY3RvcnktPndlYlBhY2tldFNvY2tl
dChpZGVudGlmaWVyKSkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgbV9yZW1vdGVBZGRy
ZXNzID0gcnRjOjpTb2NrZXRBZGRyZXNzKGFkZHJlc3MudmFsdWUsIHBvcnQpOworICAgICAgICBT
aWduYWxSZWFkUGFja2V0KHRoaXMsIGJ1ZmZlci0+ZGF0YSgpLCBidWZmZXItPnNpemUoKSwgbV9y
ZW1vdGVBZGRyZXNzLCBydGM6OlBhY2tldFRpbWUodGltZXN0YW1wLCAwKSk7CisgICAgfSk7Cit9
CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0OjpzaWduYWxTZW50UGFja2V0KGludCBydGNQYWNrZXRJ
RCwgaW50NjRfdCBzZW5kVGltZU1zKQoreworICAgIGF1dG8qIGZhY3RvcnkgPSAmbV9mYWN0b3J5
OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZpZXIoKTsKKyAgICBXZWJDb3Jl
OjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBmYWN0b3J5LCBpZGVudGlmaWVyLCBy
dGNQYWNrZXRJRCwgc2VuZFRpbWVNc10oKSB7CisgICAgICAgIGlmICghZmFjdG9yeS0+d2ViUGFj
a2V0U29ja2V0KGlkZW50aWZpZXIpKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBtX2F2
YWlsYWJsZVNlbmRpbmdCeXRlcyArPSBtX2JlaW5nU2VudFBhY2tldFNpemVzLnRha2VGaXJzdCgp
OworICAgICAgICBTaWduYWxTZW50UGFja2V0KHRoaXMsIHJ0Yzo6U2VudFBhY2tldChydGNQYWNr
ZXRJRCwgc2VuZFRpbWVNcykpOworICAgICAgICBpZiAobV9zaG91bGRTaWduYWxSZWFkeVRvU2Vu
ZCkgeworICAgICAgICAgICAgbV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCA9IGZhbHNlOworICAg
ICAgICAgICAgU2lnbmFsUmVhZHlUb1NlbmQodGhpcyk7CisgICAgICAgIH0KKyAgICB9KTsKK30K
Kwordm9pZCBXZWJQYWNrZXRTb2NrZXQ6OnNpZ25hbENvbm5lY3QoKQoreworICAgIGF1dG8qIGZh
Y3RvcnkgPSAmbV9mYWN0b3J5OworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZp
ZXIoKTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBmYWN0
b3J5LCBpZGVudGlmaWVyXSgpIHsKKyAgICAgICAgaWYgKCFmYWN0b3J5LT53ZWJQYWNrZXRTb2Nr
ZXQoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIG1fc3RhdGUgPSBT
VEFURV9DT05ORUNURUQ7CisgICAgICAgIFNpZ25hbENvbm5lY3QodGhpcyk7CisgICAgfSk7Cit9
CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0OjpzaWduYWxDbG9zZShpbnQgZXJyb3IpCit7CisgICAg
YXV0byogZmFjdG9yeSA9ICZtX2ZhY3Rvcnk7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+
aWRlbnRpZmllcigpOworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3Ro
aXMsIGZhY3RvcnksIGlkZW50aWZpZXIsIGVycm9yXSgpIHsKKyAgICAgICAgaWYgKCFmYWN0b3J5
LT53ZWJQYWNrZXRTb2NrZXQoaWRlbnRpZmllcikpCisgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgIG1fc3RhdGUgPSBTVEFURV9DTE9TRUQ7CisgICAgICAgIFNpZ25hbENsb3NlKHRoaXMsIGVy
cm9yKTsKKyAgICB9KTsKK30KKworSVBDOjpDb25uZWN0aW9uKiBXZWJQYWNrZXRTb2NrZXQ6Om1l
c3NhZ2VTZW5kZXJDb25uZWN0aW9uKCkKK3sKKyAgICByZXR1cm4gJldlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpOworfQorCitzdGF0aWMgaW5s
aW5lIFN0cmluZyBhdXRoS2V5KGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykKK3sK
KyAgICBpZiAob3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5zaXplKCkg
PD0gMCkKKyAgICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gU3RyaW5nKG9wdGlvbnMucGFj
a2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkuZGF0YSgpLCBvcHRpb25zLnBhY2tldF90aW1l
X3BhcmFtcy5zcnRwX2F1dGhfa2V5LnNpemUoKSk7Cit9CisKK2Jvb2wgV2ViUGFja2V0U29ja2V0
Ojp3aWxsU2VuZChzaXplX3Qgc2l6ZSkKK3sKKyAgICBpZiAoc2l6ZSA+IG1fYXZhaWxhYmxlU2Vu
ZGluZ0J5dGVzKSB7CisgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSB0cnVlOwor
ICAgICAgICBzZXRFcnJvcihFV09VTERCTE9DSyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICB9CisgICAgbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgLT0gc2l6ZTsKKyAgICBtX2JlaW5nU2Vu
dFBhY2tldFNpemVzLmFwcGVuZChzaXplKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW50IFdl
YlBhY2tldFNvY2tldDo6U2VuZFRvKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMm
IG9wdGlvbnMpCit7CisgICAgaWYgKCF3aWxsU2VuZChzaXplKSkKKyAgICAgICAgcmV0dXJuIC0x
OworCisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShzdGF0
aWNfY2FzdDxjb25zdCB1aW50OF90Kj4odmFsdWUpLCBzaXplKTsKKyAgICBhdXRvIGlkZW50aWZp
ZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlm
aWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIG9wdGlvbnNdIHsKKyAgICAg
ICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90
Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSk7CisgICAgICAgIFN0cmluZyBzcnRw
QXV0aEtleSA9IGF1dGhLZXkob3B0aW9ucyk7CisgICAgICAgIE1lc3NhZ2VzOjpOZXR3b3JrUGFj
a2V0U29ja2V0OjpTZW5kVG8gbWVzc2FnZShkYXRhLCBSVENOZXR3b3JrOjpJUEFkZHJlc3MoYWRk
cmVzcy5pcGFkZHIoKSksIGFkZHJlc3MucG9ydCgpLCBvcHRpb25zLnBhY2tldF9pZCwgb3B0aW9u
cy5wYWNrZXRfdGltZV9wYXJhbXMucnRwX3NlbmR0aW1lX2V4dGVuc2lvbl9pZCwgc3J0cEF1dGhL
ZXksIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfcGFja2V0X2luZGV4LCBvcHRpb25z
LmRzY3ApOworICAgICAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlv
bigpLmNvbm5lY3Rpb24oKS5zZW5kKFdURk1vdmUobWVzc2FnZSksIGlkZW50aWZpZXIpOworICAg
IH0pOworICAgIHJldHVybiBzaXplOworfQorCitpbnQgV2ViUGFja2V0U29ja2V0OjpDbG9zZSgp
Cit7CisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmllcigpOworICAgIGNhbGxP
bk1haW5UaHJlYWQoW2lkZW50aWZpZXJdIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29y
a1BhY2tldFNvY2tldDo6Q2xvc2UoKSwgaWRlbnRpZmllcik7CisgICAgfSk7CisgICAgcmV0dXJu
IDA7Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OkdldE9wdGlvbihydGM6OlNvY2tldDo6T3B0
aW9uIG9wdGlvbiwgaW50KiB2YWx1ZSkKK3sKKyAgICBBU1NFUlQob3B0aW9uIDwgTUFYX1NPQ0tF
VF9PUFRJT04pOworICAgIGludCBzdG9yZWRWYWx1ZSA9IG1fb3B0aW9uc1tvcHRpb25dOworICAg
IGlmIChzdG9yZWRWYWx1ZSAhPSAtMSkKKyAgICAgICAgKnZhbHVlID0gbV9vcHRpb25zW29wdGlv
bl07CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBXZWJQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbihy
dGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50IHZhbHVlKQoreworICAgIEFTU0VSVChvcHRp
b24gPCBNQVhfU09DS0VUX09QVElPTik7CisKKyAgICBjYWxsT25NYWluVGhyZWFkKFt0aGlzLCBv
cHRpb24sIHZhbHVlXSB7CisgICAgICAgIG1fb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7CisgICAg
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlv
bigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtQYWNrZXRTb2NrZXQ6OlNldE9wdGlvbihvcHRpb24s
IHZhbHVlKSwgbV9pZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gMDsKK30KKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2Nr
ZXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUGFja2V0
U29ja2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uZGM1M2M3OGZkYzI4Zjk5NWIxZTVkYjlhMDY2YmNkZWFmNzlm
MWJhOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUGFja2V0U29ja2V0LmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiTGliV2ViUlRDUGFja2V0U29ja2V0LmgiCisKKyNp
ZiBVU0UoTElCV0VCUlRDKQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordXNpbmcgV2ViUGFja2V0
U29ja2V0ID0gTGliV2ViUlRDUGFja2V0U29ja2V0OjpQcm94eTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMu
aW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNv
Y2tldC5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mYzUwODExM2I5OTQ2OGYxNjAyZmY5ODBjOTFl
ZmU4MDBmMTY3MDRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXQubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwz
MyBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
IyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisj
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VC
U1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJ
QldFQlJUQykKKworbWVzc2FnZXMgLT4gV2ViUGFja2V0U29ja2V0IExlZ2FjeVJlY2VpdmVyIHsK
KyAgICBTaWduYWxSZWFkUGFja2V0KElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJU
Q05ldHdvcms6OklQQWRkcmVzcyBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVz
dGFtcCkKKyAgICBTaWduYWxTZW50UGFja2V0KGludCBwYWNrZXRTaXplLCBpbnQ2NF90IHRpbWVz
dGFtcCkKKyAgICBTaWduYWxBZGRyZXNzUmVhZHkoU3RyaW5nIGFkZHJlc3MpCisgICAgU2lnbmFs
Q29ubmVjdCgpCisgICAgU2lnbmFsQ2xvc2UoaW50IGVycm9yKQorfQorCisjZW5kaWYgLy8gVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUGFja2V0U29ja2V0RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZhY3RvcnkuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmJlZWU3NTQ1NjI1MTVmMDNhMDI1N2ZjZjljNzRiOWNlNDUzMjA1ZDcKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tl
dFNvY2tldEZhY3RvcnkuY3BwCkBAIC0wLDAgKzEsMjAzIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlBhY2tldFNvY2tldEZhY3RvcnkuaCIKKworI2lm
IFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
c01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya05ldHdvcmtNYW5hZ2VyTWVzc2FnZXMuaCIK
KyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJXZWJQYWNr
ZXRTb2NrZXQuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5U
aHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3VpbnQ2NF90IFdlYlBhY2tldFNvY2tl
dEZhY3Rvcnk6OnNfdW5pcXVlU29ja2V0SWRlbnRpZmllciA9IDA7Cit1aW50NjRfdCBXZWJQYWNr
ZXRTb2NrZXRGYWN0b3J5OjpzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmllciA9IDA7CisKK3J0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVNlcnZlclRj
cFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBv
cnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIGF1dG8gc29ja2V0ID0g
c3RkOjptYWtlX3VuaXF1ZTxXZWJQYWNrZXRTb2NrZXQ+KCp0aGlzLCBXZWJQYWNrZXRTb2NrZXQ6
OlR5cGU6OlNlcnZlclRDUCwgYWRkcmVzcywgcnRjOjpTb2NrZXRBZGRyZXNzKCkpOworICAgIGF1
dG8qIHNvY2tldFBvaW50ZXIgPSBzb2NrZXQuZ2V0KCk7CisKKyAgICBjYWxsT25NYWluVGhyZWFk
KFt0aGlzLCBzb2NrZXRQb2ludGVyLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zXSgpIHsKKyAg
ICAgICAgaWYgKCFtX3BlbmRpbmdTb2NrZXRzLnJlbW92ZUZpcnN0KHNvY2tldFBvaW50ZXIpKQor
ICAgICAgICAgICAgcmV0dXJuOworCisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldElkZW50aWZp
ZXIoKytzX3VuaXF1ZVNvY2tldElkZW50aWZpZXIpOworICAgICAgICBhdXRvIGFkZHJlc3NTdHJp
bmcgPSBzb2NrZXRQb2ludGVyLT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmluZygpOworCisgICAgICAg
IGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0
aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OkNyZWF0
ZVNlcnZlclRDUFNvY2tldChzb2NrZXRQb2ludGVyLT5pZGVudGlmaWVyKCksIFN0cmluZyhhZGRy
ZXNzU3RyaW5nLmRhdGEoKSwgYWRkcmVzc1N0cmluZy5sZW5ndGgoKSksIG1pblBvcnQsIG1heFBv
cnQsIG9wdGlvbnMpLCAwKSkgeworICAgICAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0RXJyb3Io
MSk7CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgICAgICBtX3NvY2tldHMu
c2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwgc29ja2V0UG9pbnRlcik7CisgICAgfSk7
CisgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3J0Yzo6QXN5bmNQYWNrZXRTb2Nr
ZXQqIFdlYlBhY2tldFNvY2tldEZhY3Rvcnk6OkNyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQp
Cit7CisgICAgYXV0byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPFdlYlBhY2tldFNvY2tldD4o
KnRoaXMsIFdlYlBhY2tldFNvY2tldDo6VHlwZTo6VURQLCBhZGRyZXNzLCBydGM6OlNvY2tldEFk
ZHJlc3MoKSk7CisgICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5nZXQoKTsKKworICAg
IGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG1pblBvcnQsIG1heFBvcnRd
KCkgeworICAgICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3Qoc29ja2V0UG9p
bnRlcikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+c2V0
SWRlbnRpZmllcigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllcik7CisgICAgICAgIGF1dG8gYWRk
cmVzc1N0cmluZyA9IHNvY2tldFBvaW50ZXItPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7CisK
KyAgICAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigp
LmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6Q3JlYXRlVURQU29ja2V0KHNvY2tldFBvaW50ZXItPmlkZW50aWZpZXIoKSwgU3RyaW5nKGFk
ZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgbWluUG9ydCwgbWF4
UG9ydCksIDApKSB7CisgICAgICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRFcnJvcigxKTsKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIG1fc29ja2V0cy5zZXQoc29j
a2V0UG9pbnRlci0+aWRlbnRpZmllcigpLCBzb2NrZXRQb2ludGVyKTsKKyAgICB9KTsKKyAgICBy
ZXR1cm4gc29ja2V0LnJlbGVhc2UoKTsKK30KKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogV2Vi
UGFja2V0U29ja2V0RmFjdG9yeTo6Q3JlYXRlQ2xpZW50VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29j
a2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90
ZUFkZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJbmZvJiwgY29uc3Qgc3RkOjpzdHJpbmcmLCBpbnQg
b3B0aW9ucykKK3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91bmlxdWU8V2ViUGFja2V0
U29ja2V0PigqdGhpcywgV2ViUGFja2V0U29ja2V0OjpUeXBlOjpDbGllbnRUQ1AsIGxvY2FsQWRk
cmVzcywgcmVtb3RlQWRkcmVzcyk7CisgICAgYXV0byogc29ja2V0UG9pbnRlciA9IHNvY2tldC5n
ZXQoKTsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW3RoaXMsIHNvY2tldFBvaW50ZXIsIG9wdGlv
bnNdKCkgeworICAgICAgICBpZiAoIW1fcGVuZGluZ1NvY2tldHMucmVtb3ZlRmlyc3Qoc29ja2V0
UG9pbnRlcikpCisgICAgICAgICAgICByZXR1cm47CisKKyAgICAgICAgc29ja2V0UG9pbnRlci0+
c2V0SWRlbnRpZmllcigrK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllcik7CisKKyAgICAgICAgYXV0
byBsb2NhbEFkZHJlc3NTdHJpbmcgPSBzb2NrZXRQb2ludGVyLT5sb2NhbEFkZHJlc3MoKS5Ub1N0
cmluZygpOworICAgICAgICBhdXRvIHJlbW90ZUFkZHJlc3NTdHJpbmcgPSBzb2NrZXRQb2ludGVy
LT5yZW1vdGVBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVDbGllbnRUQ1BTb2NrZXQo
c29ja2V0UG9pbnRlci0+aWRlbnRpZmllcigpLCBTdHJpbmcobG9jYWxBZGRyZXNzU3RyaW5nLmRh
dGEoKSwgbG9jYWxBZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgU3RyaW5nKHJlbW90ZUFkZHJlc3NT
dHJpbmcuZGF0YSgpLCByZW1vdGVBZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSwgb3B0aW9ucyksIDAp
KSB7CisgICAgICAgICAgICBzb2NrZXRQb2ludGVyLT5zZXRFcnJvcigxKTsKKyAgICAgICAgICAg
IHJldHVybjsKKyAgICAgICAgfQorCisgICAgICAgIHNvY2tldFBvaW50ZXItPnNldFN0YXRlKFdl
YlBhY2tldFNvY2tldDo6U1RBVEVfQ09OTkVDVElORyk7CisgICAgICAgIG1fc29ja2V0cy5zZXQo
c29ja2V0UG9pbnRlci0+aWRlbnRpZmllcigpLCBzb2NrZXRQb2ludGVyKTsKKworICAgIH0pOwor
CisgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3ZvaWQgV2ViUGFja2V0U29ja2V0
RmFjdG9yeTo6ZGV0YWNoKFdlYlBhY2tldFNvY2tldCYgc29ja2V0KQoreworICAgIGlmIChzb2Nr
ZXQuaWRlbnRpZmllcigpKQorICAgICAgICBtX3NvY2tldHMucmVtb3ZlKHNvY2tldC5pZGVudGlm
aWVyKCkpOworICAgIGVsc2UKKyAgICAgICAgbV9wZW5kaW5nU29ja2V0cy5yZW1vdmVGaXJzdCgm
c29ja2V0KTsKK30KKworcnRjOjpBc3luY1Jlc29sdmVySW50ZXJmYWNlKiBXZWJQYWNrZXRTb2Nr
ZXRGYWN0b3J5OjpDcmVhdGVBc3luY1Jlc29sdmVyKCkKK3sKKyAgICBhdXRvKiByZXNvbHZlciA9
IG5ldyBXZWJBc3luY1Jlc29sdmVyKCsrc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXIpOworICAg
IG1fcmVzb2x2ZXJzLnNldChyZXNvbHZlci0+aWRlbnRpZmllcigpLCBzdGQ6OnVuaXF1ZV9wdHI8
V2ViQXN5bmNSZXNvbHZlcj4ocmVzb2x2ZXIpKTsKKyAgICByZXR1cm4gcmVzb2x2ZXI7Cit9CisK
K3ZvaWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6Z2V0UmVzb2x2ZWRBZGRyZXNzKHVpbnQ2NF90
IGlkZW50aWZpZXIsIGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNz
ZXMpCit7CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRl
bnRpZmllciwgYWRkcmVzc2VzXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIgPSBtX3Jlc29s
dmVycy5nZXQoaWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIFZlY3RvcjxydGM6OklQQWRkcmVzcz4gaXBBZGRyZXNzZXM7Cisg
ICAgICAgIGlwQWRkcmVzc2VzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkoYWRkcmVzc2VzLnNpemUo
KSk7CisgICAgICAgIGZvciAoYXV0byYgYWRkcmVzcyA6IGFkZHJlc3NlcykKKyAgICAgICAgICAg
IGlwQWRkcmVzc2VzLnVuY2hlY2tlZEFwcGVuZChhZGRyZXNzLnZhbHVlKTsKKworICAgICAgICBy
ZXNvbHZlci0+c2V0UmVzb2x2ZWRBZGRyZXNzZXMoV1RGTW92ZShpcEFkZHJlc3NlcykpOworICAg
ICAgICByZXNvbHZlci0+U2lnbmFsRG9uZShyZXNvbHZlcik7CisgICAgfSk7Cit9CisKK3ZvaWQg
V2ViUGFja2V0U29ja2V0RmFjdG9yeTo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IodWludDY0X3QgaWRl
bnRpZmllciwgaW50IGVycm9yKQoreworICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtU
aHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIGVycm9yXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2
ZXIgPSBtX3Jlc29sdmVycy5nZXQoaWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2ZXIp
CisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlc29sdmVyLT5zZXRFcnJvcihlcnJvcik7
CisgICAgICAgIHJlc29sdmVyLT5TaWduYWxEb25lKHJlc29sdmVyKTsKKyAgICB9KTsKK30KKwor
dm9pZCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5OjpXZWJBc3luY1Jlc29sdmVyOjpTdGFydChjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MpCit7CisgICAgbV9pc1Jlc29sdmluZyA9IHRy
dWU7CisgICAgbV9hZGRyZXNzVG9SZXNvbHZlID0gYWRkcmVzczsKKyAgICBtX3BvcnQgPSBhZGRy
ZXNzLnBvcnQoKTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgY2Fs
bE9uTWFpblRocmVhZChbaWRlbnRpZmllciwgYWRkcmVzc10oKSB7CisgICAgICAgIGF1dG8gYWRk
cmVzc1N0cmluZyA9IGFkZHJlc3MuSG9zdEFzVVJJU3RyaW5nKCk7CisgICAgICAgIFdlYlByb2Nl
c3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVz
c2FnZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpDcmVhdGVBc3luY1Jlc29sdmVy
KGlkZW50aWZpZXIsIFN0cmluZyhhZGRyZXNzU3RyaW5nLmRhdGEoKSwgYWRkcmVzc1N0cmluZy5s
ZW5ndGgoKSkpLCAwKTsKKyAgICB9KTsKK30KKworYm9vbCBXZWJQYWNrZXRTb2NrZXRGYWN0b3J5
OjpXZWJBc3luY1Jlc29sdmVyOjpHZXRSZXNvbHZlZEFkZHJlc3MoaW50IGZhbWlseSwgcnRjOjpT
b2NrZXRBZGRyZXNzKiBhZGRyZXNzKSBjb25zdAoreworICAgIEFTU0VSVChhZGRyZXNzKTsKKyAg
ICBpZiAobV9lcnJvciB8fCAhbV9hZGRyZXNzZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisKKyAgICAqYWRkcmVzcyA9IG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICBmb3IgKGF1dG8m
IGlwQWRkcmVzcyA6IG1fYWRkcmVzc2VzKSB7CisgICAgICAgIGlmIChmYW1pbHkgPT0gaXBBZGRy
ZXNzLmZhbWlseSgpKSB7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRSZXNvbHZlZElQKGlwQWRk
cmVzcyk7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRQb3J0KG1fcG9ydCk7CisgICAgICAgICAg
ICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisK
K3ZvaWQgV2ViUGFja2V0U29ja2V0RmFjdG9yeTo6V2ViQXN5bmNSZXNvbHZlcjo6RGVzdHJveShi
b29sKQoreworICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLnNvY2tldEZh
Y3RvcnkoKS5zdG9wUmVzb2x2ZXIobV9pZGVudGlmaWVyKTsKK30KKwordm9pZCBXZWJQYWNrZXRT
b2NrZXRGYWN0b3J5OjpzdG9wUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICBh
dXRvIHJlc29sdmVyID0gbV9yZXNvbHZlcnMudGFrZShpZGVudGlmaWVyKTsKKyAgICBBU1NFUlQo
cmVzb2x2ZXIpOworICAgIGlmIChyZXNvbHZlci0+aXNSZXNvbHZpbmcoKSkgeworICAgICAgICBj
YWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXSgpIHsKKyAgICAgICAgICAgIFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2Fn
ZXM6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpTdG9wQXN5bmNSZXNvbHZlcihpZGVu
dGlmaWVyKSwgMCk7CisgICAgICAgIH0pOworICAgIH0KK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmggYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlBhY2tldFNvY2tldEZh
Y3RvcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi4zNGY3ZTVjMGU4Yjc1ODRjODAzNTUxNDg4ODQ5MTZhY2M0Mzdl
ODQ3Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJQYWNrZXRTb2NrZXRGYWN0b3J5LmgKQEAgLTAsMCArMSw5NCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIlJU
Q05ldHdvcmsuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1
ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2Uv
cGFja2V0c29ja2V0ZmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5jbHVk
ZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgV2ViQXN5bmNS
ZXNvbHZlcjsKK2NsYXNzIFdlYlBhY2tldFNvY2tldDsKKworY2xhc3MgV2ViUGFja2V0U29ja2V0
RmFjdG9yeSBmaW5hbCA6IHB1YmxpYyBydGM6OlBhY2tldFNvY2tldEZhY3RvcnkgeworcHVibGlj
OgorICAgIFdlYlBhY2tldFNvY2tldEZhY3RvcnkoKSB7IH0KKworICAgIHZvaWQgYXR0YWNoKFdl
YlBhY2tldFNvY2tldCYgc29ja2V0KSB7IG1fcGVuZGluZ1NvY2tldHMuYXBwZW5kKCZzb2NrZXQp
OyB9CisgICAgdm9pZCBkZXRhY2goV2ViUGFja2V0U29ja2V0Jik7CisKKyAgICBXZWJQYWNrZXRT
b2NrZXQqIHdlYlBhY2tldFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBtX3Nv
Y2tldHMuZ2V0KGlkZW50aWZpZXIpOyB9CisKKyAgICB2b2lkIGdldFJlc29sdmVkQWRkcmVzcyh1
aW50NjRfdCwgY29uc3QgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4mKTsKKyAgICB2b2lk
IHJlc29sdmVkQWRkcmVzc0Vycm9yKHVpbnQ2NF90LCBpbnQpOworCitwcml2YXRlOgorICAgIHJ0
Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KSBmaW5hbDsKKyAgICBy
dGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29uc3QgcnRjOjpT
b2NrZXRBZGRyZXNzJiwgdWludDE2X3QgbWluX3BvcnQsIHVpbnQxNl90IG1heF9wb3J0LCBpbnQg
b3B0aW9ucykgZmluYWw7CisgICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlQ2xpZW50
VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJbmZvJiwg
Y29uc3Qgc3RkOjpzdHJpbmcmLCBpbnQgb3B0aW9ucyk7CisgICAgcnRjOjpBc3luY1Jlc29sdmVy
SW50ZXJmYWNlKiBDcmVhdGVBc3luY1Jlc29sdmVyKCkgZmluYWw7CisgICAgdm9pZCBzdG9wUmVz
b2x2ZXIodWludDY0X3QpOworCisgICAgY2xhc3MgV2ViQXN5bmNSZXNvbHZlciBmaW5hbCA6IHB1
YmxpYyBydGM6OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UgeworICAgIHB1YmxpYzoKKyAgICAgICAg
V2ViQXN5bmNSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSA6IG1faWRlbnRpZmllcihpZGVu
dGlmaWVyKSB7IH0KKworICAgICAgICB2b2lkIHNldEVycm9yKGludCBlcnJvcikgeyBtX2Vycm9y
ID0gZXJyb3I7IH0KKyAgICAgICAgdm9pZCBzZXRSZXNvbHZlZEFkZHJlc3NlcyhWZWN0b3I8cnRj
OjpJUEFkZHJlc3M+JiYgYWRkcmVzc2VzKSB7IG1fYWRkcmVzc2VzID0gV1RGTW92ZShhZGRyZXNz
ZXMpOyB9CisgICAgICAgIGJvb2wgaXNSZXNvbHZpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVz
b2x2aW5nOyB9CisgICAgICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBt
X2lkZW50aWZpZXI7IH0KKworICAgIHByaXZhdGU6CisgICAgICAgIHZvaWQgU3RhcnQoY29uc3Qg
cnRjOjpTb2NrZXRBZGRyZXNzJikgZmluYWw7CisgICAgICAgIGJvb2wgR2V0UmVzb2x2ZWRBZGRy
ZXNzKGludCwgcnRjOjpTb2NrZXRBZGRyZXNzKikgY29uc3QgZmluYWw7CisgICAgICAgIGludCBH
ZXRFcnJvcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZXJyb3I7IH0KKyAgICAgICAgdm9pZCBE
ZXN0cm95KGJvb2wpIGZpbmFsOworCisgICAgICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAg
ICAgICAgVmVjdG9yPHJ0Yzo6SVBBZGRyZXNzPiBtX2FkZHJlc3NlczsKKyAgICAgICAgcnRjOjpT
b2NrZXRBZGRyZXNzIG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICAgICAgaW50IG1fZXJyb3IgeyAw
IH07CisgICAgICAgIHVpbnQxNl90IG1fcG9ydCB7IDAgfTsKKyAgICAgICAgYm9vbCBtX2lzUmVz
b2x2aW5nIHsgZmFsc2UgfTsKKyAgICB9OworCisgICAgc3RhdGljIHVpbnQ2NF90IHNfdW5pcXVl
U29ja2V0SWRlbnRpZmllcjsKKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBXZWJQYWNrZXRTb2NrZXQq
PiBtX3NvY2tldHM7CisgICAgVmVjdG9yPFdlYlBhY2tldFNvY2tldCo+IG1fcGVuZGluZ1NvY2tl
dHM7CisKKyAgICBzdGF0aWMgdWludDY0X3Qgc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXI7Cisg
ICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPFdlYkFzeW5jUmVzb2x2ZXI+PiBt
X3Jlc29sdmVyczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjU5Y2JmNzhjNTUzYTY4
YmVhMTIzZmU2YmRjOTUyMDA1NWQzMjkxNDYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCkBAIC0wLDAg
KzEsOTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2Vi
UlRDTW9uaXRvci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIk5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrTmV0d29y
a01hbmFnZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5o
IgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxw
ZXJzLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK3ZvaWQgV2ViUlRDTW9uaXRvcjo6U3RhcnRVcGRhdGluZygpCit7CisgICAgaWYgKG1fY2xp
ZW50Q291bnQpIHsKKyAgICAgICAgLy8gTmVlZCB0byBzaWduYWwgbmV3IGNsaWVudCB0aGF0IHdl
IGFscmVhZHkgaGF2ZSB0aGUgbmV0d29yayBsaXN0LCBsZXQncyBkbyBpdCBhc3luY2hyb25vdXNs
eQorICAgICAgICBpZiAobV9yZWNlaXZlZE5ldHdvcmtMaXN0KSB7CisgICAgICAgICAgICBXZWJD
b3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzXSB7CisgICAgICAgICAgICAgICAg
U2lnbmFsTmV0d29ya3NDaGFuZ2VkKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAg
IH0gZWxzZSB7CisgICAgICAgIG1fcmVjZWl2ZWROZXR3b3JrTGlzdCA9IGZhbHNlOworICAgICAg
ICBjYWxsT25NYWluVGhyZWFkKFtdKCkgeworICAgICAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xl
dG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0
d29ya05ldHdvcmtNYW5hZ2VyOjpTdGFydFVwZGF0aW5nKCksIDApOworICAgICAgICB9KTsKKyAg
ICB9CisgICAgKyttX2NsaWVudENvdW50OworfQorCit2b2lkIFdlYlJUQ01vbml0b3I6OlN0b3BV
cGRhdGluZygpCit7CisgICAgQVNTRVJUKG1fY2xpZW50Q291bnQpOworICAgIGlmICgtLW1fY2xp
ZW50Q291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIGNhbGxPbk1haW5UaHJlYWQoW10oKSB7
CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29u
bmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtOZXR3b3JrTWFuYWdlcjo6U3RvcFVwZGF0
aW5nKCksIDApOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ01vbml0b3I6Om5ldHdvcmtzQ2hh
bmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtzLCBjb25zdCBSVENOZXR3b3Jr
OjpJUEFkZHJlc3MmIGlwdjQsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2NikKK3sK
KyAgICAvLyBObyBuZWVkIHRvIHByb3RlY3QgJ3RoaXMnIGFzIGl0IGhhcyB0aGUgbGlmZXRpbWUg
b2YgTGliV2ViUlRDIHdoaWNoIGhhcyB0aGUgbGlmZXRpbWUgb2YgdGhlIHdlYiBwcm9jZXNzLgor
ICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIG5ldHdvcmtzLCBp
cHY0LCBpcHY2XSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHJ0Yzo6TmV0d29yayo+IG5ldHdvcmtM
aXN0KG5ldHdvcmtzLnNpemUoKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5k
ZXggPCBuZXR3b3Jrcy5zaXplKCk7ICsraW5kZXgpCisgICAgICAgICAgICBuZXR3b3JrTGlzdFtp
bmRleF0gPSBuZXcgcnRjOjpOZXR3b3JrKG5ldHdvcmtzW2luZGV4XS52YWx1ZSgpKTsKKworICAg
ICAgICBib29sIGZvcmNlU2lnbmFsaW5nID0gIW1fcmVjZWl2ZWROZXR3b3JrTGlzdDsKKyAgICAg
ICAgbV9yZWNlaXZlZE5ldHdvcmtMaXN0ID0gdHJ1ZTsKKworICAgICAgICBib29sIGhhc0NoYW5n
ZWQ7CisgICAgICAgIHNldF9kZWZhdWx0X2xvY2FsX2FkZHJlc3NlcyhpcHY0LnZhbHVlLCBpcHY2
LnZhbHVlKTsKKyAgICAgICAgTWVyZ2VOZXR3b3JrTGlzdChuZXR3b3JrTGlzdCwgJmhhc0NoYW5n
ZWQpOworICAgICAgICBpZiAoaGFzQ2hhbmdlZCB8fCBmb3JjZVNpZ25hbGluZykKKyAgICAgICAg
ICAgIFNpZ25hbE5ldHdvcmtzQ2hhbmdlZCgpOworCisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZjY5NzY2Y2JiMGYyNDYxODlhNDcxM2NkMzgzNmFkMTNkOTAwMjExOAotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDTW9uaXRvci5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisjaW5jbHVk
ZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKwor
bmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBOZXR3b3Jrc0NoYW5nZWREYXRhOworCitjbGFz
cyBXZWJSVENNb25pdG9yIGZpbmFsIDogcHVibGljIHJ0Yzo6TmV0d29ya01hbmFnZXJCYXNlIHsK
K3B1YmxpYzoKKyAgICBXZWJSVENNb25pdG9yKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBkaWRS
ZWNlaXZlV2ViUlRDTW9uaXRvck1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVy
Jik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBuZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVjdG9yPFJU
Q05ldHdvcms+JiBuZXR3b3JrTGlzdCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgY29u
c3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJik7CisKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmcoKSBm
aW5hbDsKKyAgICB2b2lkIFN0b3BVcGRhdGluZygpIGZpbmFsOworCisgICAgdW5zaWduZWQgbV9j
bGllbnRDb3VudCB7IDAgfTsKKyAgICBib29sIG1fcmVjZWl2ZWROZXR3b3JrTGlzdCB7IGZhbHNl
IH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJS
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ01vbml0b3IubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTU2Njhh
ZmMwZTg2YmVkOWFjNDIwNDVhYTFmMzllZDc0MDE2NTNjZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNz
YWdlcy5pbgpAQCAtMCwwICsxLDI5IEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJl
IG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgor
IyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVS
CisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBXZWJSVENNb25pdG9y
IExlZ2FjeVJlY2VpdmVyIHsKKyAgICB2b2lkIE5ldHdvcmtzQ2hhbmdlZChWZWN0b3I8V2ViS2l0
OjpSVENOZXR3b3JrPiBuZXR3b3JrcywgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgZGVm
YXVsdElQVjRBZGRyZXNzLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBkZWZhdWx0SVBW
NkFkZHJlc3MpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmFjNWI3NzYzOGFiYzk2Nzg3ZTU3MGI2MDdjZTUzMWUxZTliYjgwNzYKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ1Jlc29sdmVyLmgKQEAgLTAsMCArMSwzOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1Jlc29sdmVy
LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCit1c2luZyBXZWJSVENSZXNvbHZlciA9IExpYldl
YlJUQ1Jlc29sdmVyOjpQcm94eTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uNzg0OTRhMTVhZjc3NjhhNmVkZDU3ODVjYTRlZjQ4YzRmMWQ5OGE1ZgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMCBAQAorIyBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMg
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
IEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVS
UlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMg
LT4gV2ViUlRDUmVzb2x2ZXIgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgU2V0UmVzb2x2ZWRB
ZGRyZXNzKFZlY3RvcjxXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcz4gYWRkcmVzc2VzKQor
ICAgIHZvaWQgUmVzb2x2ZWRBZGRyZXNzRXJyb3IoaW50IGVycm9yKQorfQorCisjZW5kaWYgLy8g
VVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAppbmRleCBmOTdmNTY3NzE5ODViMjkxNmIxNTg4NGQwNzk3NDA5ZGEwODcxYzM2Li5k
ODk0MGVkZmEwYjg5NDc2Mjg1MjUyNGVhNDkwYjU0YWJhM2YxZjAwIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC00MCw2ICs0MCw3IEBACiAj
aW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZUJhY2tG
b3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCIKKyNp
bmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1ZGUgIkxvYWRQYXJhbWV0ZXJzLmgi
CiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5ldHNjYXBlUGx1Z2luLmgiCkBAIC0x
NDcsNyArMTQ4LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0luc3BlY3RvckNvbnRyb2xsZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL0pTRE9NV2luZG93Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9LZXli
b2FyZEV2ZW50Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENQcm92aWRlci5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTWFp
bkZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Nb3VzZUV2ZW50Lmg+CkBAIC0zNzcsNyArMzc3
LDExIEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdlQ3Jl
YXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBhZ2VD
b25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4odGhp
cyksCiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKKyNpZiBVU0UoTElCV0VC
UlRDKQorICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCkK
KyNlbHNlCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+
KCkKKyNlbmRpZgogICAgICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0g
bmV3IFdlYkNocm9tZUNsaWVudCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBlMWMyNmI5NzJkZGUw
NDAwMzMzNjQwZTgzYjYzZmQwNDRhNmU0Y2I1Li4xZTU3YmQyYzRkMTllMzExMmUwZTUyY2U3OWQ1
YjkzZjg3M2RmMDhlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAK
QEAgLTE1NDYsNCArMTU0NiwxMiBAQCB2b2lkIFdlYlByb2Nlc3M6OnByZWZldGNoRE5TKGNvbnN0
IFN0cmluZyYgaG9zdG5hbWUpCiAgICAgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMuaW1wdWxzZSgp
OwogfQogCisjaWYgVVNFKExJQldFQlJUQykKK3ZvaWQgV2ViUHJvY2Vzczo6aW5pdGlhbGl6ZUxp
YldlYlJUQygpCit7CisgICAgaWYgKCFtX2xpYldlYlJUQykKKyAgICAgICAgbV9saWJXZWJSVEMg
PSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQz4oKTsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJv
Y2Vzcy5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggNmVi
Y2NiYjI2OWU5YTJmMmQ0MTQxNDlmMTQzZDRjNWM4MTRiMjFjNi4uNjlhNjJiMGVmNDNjMTIyOTA2
MmQ3NzBmMWFhMDg5NzI1NTk2NTg3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmgKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVk
ZSAiQ2hpbGRQcm9jZXNzLmgiCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKKyNpbmNsdWRlICJM
aWJXZWJSVEMuaCIKICNpbmNsdWRlICJQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCIK
ICNpbmNsdWRlICJSZXNvdXJjZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0
ZW5zaW9uLmgiCkBAIC04Niw3ICs4Nyw5IEBAIGNsYXNzIFdlYkxvYWRlclN0cmF0ZWd5OwogY2xh
c3MgV2ViUGFnZTsKIGNsYXNzIFdlYlBhZ2VHcm91cFByb3h5OwogY2xhc3MgV2ViUHJvY2Vzc1N1
cHBsZW1lbnQ7CisKIGVudW0gY2xhc3MgV2Vic2l0ZURhdGFUeXBlOworCiBzdHJ1Y3QgV2ViUGFn
ZUNyZWF0aW9uUGFyYW1ldGVyczsKIHN0cnVjdCBXZWJQYWdlR3JvdXBEYXRhOwogc3RydWN0IFdl
YlByZWZlcmVuY2VzU3RvcmU7CkBAIC0xNjUsNiArMTY4LDExIEBAIHB1YmxpYzoKICAgICB2b2lk
IG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkNsb3NlZChOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24q
KTsKICAgICBXZWJMb2FkZXJTdHJhdGVneSYgd2ViTG9hZGVyU3RyYXRlZ3koKTsKIAorI2lmIFVT
RShMSUJXRUJSVEMpCisgICAgTGliV2ViUlRDJiBsaWJXZWJSVEMoKSB7IHJldHVybiAqbV9saWJX
ZWJSVEM7IH0KKyAgICB2b2lkIGluaXRpYWxpemVMaWJXZWJSVEMoKTsKKyNlbmRpZgorCiAjaWYg
RU5BQkxFKERBVEFCQVNFX1BST0NFU1MpCiAgICAgdm9pZCB3ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nv
bm5lY3Rpb25DbG9zZWQoV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKik7CiAgICAgV2Vi
VG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKiB3ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rp
b24oKTsKQEAgLTM3Nyw2ICszODUsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZU5ldHdv
cmtQcm9jZXNzQ29ubmVjdGlvbigpOwogICAgIFJlZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24+IG1fbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBt
X3dlYkxvYWRlclN0cmF0ZWd5OworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGQ6OnVuaXF1
ZV9wdHI8TGliV2ViUlRDPiBtX2xpYldlYlJUQzsKKyNlbmRpZgorCiAgICAgSGFzaFNldDxTdHJp
bmc+IG1fZG5zUHJlZmV0Y2hlZEhvc3RzOwogICAgIFdlYkNvcmU6Okh5c3RlcmVzaXNBY3Rpdml0
eSBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpczsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300074</attachid>
            <date>2017-01-29 14:31:29 -0800</date>
            <delta_ts>2017-01-30 18:27:35 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170129142921.patch</filename>
            <type>text/plain</type>
            <size>168757</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzUyODJlODRjZjk3OGM2
Y2RiYTJhOWEzYWIzYjQ5ZmJhZjU0MDNiYS4uYjNhM2RjM2NhYzcxNWM3YmY0ZGNjZjFjYjAwN2Qy
N2U2MzgzMTA4OSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MiBAQAorMjAxNy0wMS0yOSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ1NDI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcGxlbWVudGF0aW9uIG9mIHRoZSBMaWJXZWJSVEMgbmV0d29ya2luZyBpbiBXZWJLaXQy
LgorICAgICAgICBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGFyZSByZXF1aXJlZCB0byBiZSBtb3Zl
ZCBmcm9tIFdlYlByb2Nlc3MgdG8gTmV0d29ya1Byb2Nlc3M6CisgICAgICAgIDEgUmVzb2x1dGlv
biBvZiBETlMgbmFtZXMgKFJUQ1Jlc2lrdmVyKQorICAgICAgICAyIEVudW1lcmF0aW9uIG9mIGlu
dGVyZmFjZXMvZ2F0aGVyaW5nIG9mIGhvc3QgYWRkcmVzc2VzIChSVENNb25pdG9yKQorICAgICAg
ICAzIEltcGxlbWVudGF0aW9uIG9mIFBhY2tldCBTb2NrZXQgZm9yIFRDUC9VRFAgY29tbXVuaWNh
dGlvbiAoUlRDU29ja2V0KS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHJl
bGF0ZWQgY2xhc3NlcyBpbiBXZWJQcm9jZXNzL05ldHdvcmtQcm9jZXNzIGFuZCB0aGUgaW50ZWdy
YXRpb24gd2l0aCBsaWJ3ZWJydGMuCisgICAgICAgIE5ldHdvcmtQcm9jZXNzIGltcGxlbWVudGF0
aW9uIGlzIHVzaW5nIGxpYndlYmV0YyBmb3IgTmV0d29ya1JUQ01vbml0b3IgYW5kIE5ldHdvcmtS
VENTb2NrZXQuCisgICAgICAgIFRoaXMgZW5zdXJlcyBhbiBhcy1jbG9zZSBpbXBsZW1lbnRhdGlv
biB0byBsaWJ3ZWJydGMgYXMgcG9zc2libGUuCisgICAgICAgIEluIHRoZSBmdXR1cmUsIGFmdGVy
IGdldHRpbmcgYSBiZXR0ZXIgdGVzdCBpbmZyYXN0cnVjdHVyZSB3ZSBzaG91bGQgdHJ5IHRvIGlt
cGxlbWVudCB0aGVzZSB1c2luZyBuYXRpdmUgQVBJcy4KKworICAgICAgICBDdXJyZW50bHksIHRo
ZSBpbXBsZW1lbnRhdGlvbiBpcyBhcyBmb2xsb3c6CisgICAgICAgIC0gbGlid2VicnRjIGlzIGNh
bGxpbmcgV2ViUHJvY2VzcyBzdGFjayBvbiB0aGUgcnRjIG5ldHdvcmsgdGhyZWFkCisgICAgICAg
IC0gV2ViUHJvY2VzcyBzdGFjayBpcyBmb3J3YXJkaW5nIGNhbGxzIHRvIHRoZSBtYWluIHRocmVh
ZCBhbmQgbWFrZXMgcmVsYXRlZCBJUEMgY2FsbHMKKyAgICAgICAgLSBOZXR3b3JrUHJvY2VzcyBy
ZWNlaXZlcyB0aGUgSVBDIGNhbGxzIGFuZCBmb3J3YXJkIHRoZW0gdG8gdGhlIHJ0YyBuZXR3b3Jr
IHRocmVhZC4KKyAgICAgICAgLSBUaGUgY2FsbHMgYXJlIHByb2Nlc3NlZCBpbiB0aGUgcnRjIG5l
dHdvcmsgdGhyZWFkCisgICAgICAgIENvbnZlcnNlbHksIHdoZW4gdGhlIHJ0YyBuZXR3b3JrIHRo
cmVhZCB3YW50cyB0byBub3RpZnkgaXRzIGNsaWVudCwgdGhlIHJldmVyc2UgcGF0aCBpcyB1c2Vk
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBpbXBsZW1lbnRzIHRoZSBMaWJXZWJSVENQcm92
aWRlciBmb3IgV2ViS2l0Mi4KKyAgICAgICAgVGhpcyBwcm92aWRlciB1c2VzIHRoZSByZWxhdGVk
IGNsYXNzZXMgdG8gY3JlYXRlIGEgcGVlciBjb25uZWN0aW9uIGZhY3RvcnkgdGhhdCB3aWxsIHVz
ZSB0aGVtLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjp+TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cnRjUHJvdmlkZXIp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xv
c2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENs
aWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OkxpYldlYlJUQ1NvY2tldENsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tl
dENsaWVudDo6c2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50
OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2V0T3B0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFk
UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxT
ZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWdu
YWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbENsb3NlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
U29ja2V0Q2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDTW9uaXRvci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRD
TW9uaXRvcjo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENNb25p
dG9yOjpzdG9wVXBkYXRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDTW9uaXRvcjo6
b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDTW9uaXRvci5oOiBBZGRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6Y3JlYXRlVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVy
OjpOZXR3b3JrUlRDUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVV
RFBTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNl
cnZlclRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlQ2xpZW50VENQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVy
OjphZGRTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OnRha2VT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2VpdmVO
ZXR3b3JrUlRDU29ja2V0TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6Y3JlYXRlUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OnN0b3BSZXNvbHZlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6
cmVzb2x2ZWROYW1lKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya01lc3NhZ2VEYXRhOjpOZXR3
b3JrTWVzc2FnZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6Ok9u
TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y2FsbE9uUlRD
TmV0d29ya1RocmVhZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y2Fs
bFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6c2VuZEZyb21N
YWluVGhyZWFkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlkUmVjZWl2ZU5l
dHdvcmtSVENNb25pdG9yTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6UmVzb2x2ZXI6OlJlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1By
b3ZpZGVyOjpSZXNvbHZlcjo6flJlc29sdmVyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUlRDU29ja2V0OjpOZXR3b3JrUlRDU29ja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1JUQ1NvY2tldDo6c2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1JUQ1NvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDU29ja2V0
OjpzZXRPcHRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
U29ja2V0Lmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0Lm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29y
ay5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpSVENOZXR3b3JrKToK
KyAgICAgICAgKFdlYktpdDo6aXBzKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6dmFs
dWUpOgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmRlY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzczo6ZW5jb2RlKToKKyAgICAgICAg
KFdlYktpdDo6UlRDTmV0d29yazo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29y
azo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29yay5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzOjpJUEFkZHJlc3MpOgorICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQzo6bmV0d29ya01vbml0b3IpOgorICAgICAgICAoV2ViS2l0OjpMaWJX
ZWJSVEM6OnNvY2tldEZhY3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVEM6OnNvY2tl
dCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQzo6cmVzb2x2ZXIpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVz
b2x2ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6c2VuZE9uTWFpblRocmVhZCk6Cisg
ICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVyOjpTdGFydCk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ1Jlc29sdmVyOjpHZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAgICAoV2Vi
S2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6RGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ1Jlc29sdmVyOjpzZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpMaWJX
ZWJSVENSZXNvbHZlcjo6c2V0RXJyb3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktp
dDo6c2VuZE9uTWFpblRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6
TGliV2ViUlRDU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Ojp+TGli
V2ViUlRDU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpHZXRMb2Nh
bEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6OkdldFJlbW90ZUFk
ZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NS
ZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6c2lnbmFsUmVhZFBhY2tl
dCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6c2lnbmFsU2VudFBhY2tldCk6
CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6c2lnbmFsQ29ubmVjdCk6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAoV2Vi
S2l0OjphdXRoS2V5KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Ojp3aWxsU2Vu
ZCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6U2VuZFRvKToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpDbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ1NvY2tldDo6R2V0T3B0aW9uKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0
OjpTZXRPcHRpb24pOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDU29ja2V0Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
TGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQpOgorICAgICAgICAoV2Vi
S2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVVZHBTb2NrZXQpOgorICAgICAgICAo
V2ViS2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVDbGllbnRUY3BTb2NrZXQpOgor
ICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpkZXRhY2gpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVBc3luY1Jlc29sdmVyKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3Rv
cnkuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENN
b25pdG9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnNlbmRPbk1haW5UaHJlYWQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJSVENNb25pdG9yOjpTdGFydFVwZGF0aW5nKToKKyAgICAgICAg
KFdlYktpdDo6V2ViUlRDTW9uaXRvcjo6U3RvcFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6
V2ViUlRDTW9uaXRvcjo6bmV0d29ya3NDaGFuZ2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAg
ICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcDogQWRkZWQu
CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1Jlc29sdmVyOjpXZWJSVENSZXNvbHZlcik6CisgICAg
ICAgIChXZWJLaXQ6OldlYlJUQ1Jlc29sdmVyOjpzZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJSVENSZXNvbHZlcjo6cmVzb2x2ZWRBZGRyZXNzRXJyb3IpOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuaDogQWRkZWQuCisg
ICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdl
cy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENT
b2NrZXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6V2ViUlRDU29ja2V0OjpzaWduYWxP
bk5ldHdvcmtUaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENTb2NrZXQ6OldlYlJUQ1Nv
Y2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5
KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDU29ja2V0OjpzaWduYWxSZWFkUGFja2V0KToKKyAg
ICAgICAgKFdlYktpdDo6V2ViUlRDU29ja2V0OjpzaWduYWxTZW50UGFja2V0KToKKyAgICAgICAg
KFdlYktpdDo6V2ViUlRDU29ja2V0OjpzaWduYWxDb25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6
V2ViUlRDU29ja2V0OjpzaWduYWxDbG9zZSk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENTb2NrZXQuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6bV91c2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3Mu
Y3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQcm9jZXNzOjppbml0aWFsaXplTGliV2ViUlRDKToK
KyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2Vi
UHJvY2Vzczo6bGliV2ViUlRDKToKKwogMjAxNy0wMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3Mg
IDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAgICAgICAgW1RocmVhZGVkIENvbXBvc2l0b3JdIFN0
b3AgY3JlYXRpbmcgdGhlIEdMQ29udGV4dCBvbiBkZW1hbmQgdGhlIGZpcnN0IHRpbWUgbWFrZUNv
bnRleHRDdXJyZW50IGlzIGNhbGxlZApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VM
aXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA0NWI1Yzk2ODdm
NDE0MzcyZDVmYmY3MDNhYmNlNmE0ODkxNDAxZjA4Li4yYTNiNTExZDViNDg2NDZiZGJhMzAzMGI0
ZWEzZTdhODA5MzUzNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4
dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMTAsNiArMTAsNyBAQCBz
ZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdv
cmtQcm9jZXNzL0ZpbGVBUEkiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL2Nh
Y2hlIgogICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9jYXB0dXJlIgorICAgICIk
e1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy93ZWJydGMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9
L1BsYXRmb3JtIgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9JUEMiCiAgICAgIiR7V0VC
S0lUMl9ESVJ9L1BsdWdpblByb2Nlc3MiCkBAIC02NSw2ICs2Niw3IEBAIHNldChXZWJLaXQyX0lO
Q0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9NZWRpYUNh
Y2hlIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL01lZGlhU3RyZWFtIgogICAgICIk
e1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL05ldHdvcmsiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mv
Tm90aWZpY2F0aW9ucyIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9PcmlnaW5EYXRh
IgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1BsdWdpbnMiCkBAIC01OTMsNiArNTk1
LDEwIEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVz
b3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KIAorICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgorICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4KKyAgICBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbgorCiAgICAgUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250
cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KICAgICBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
bWVzc2FnZXMuaW4KICAgICBQbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCkBAIC02NDksNiArNjU1LDEwIEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVT
CiAKICAgICBXZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5tZXNz
YWdlcy5pbgogCisgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLm1l
c3NhZ2VzLmluCisgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5t
ZXNzYWdlcy5pbgorICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1l
c3NhZ2VzLmluCisKICAgICBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0
aW9uLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVy
Lm1lc3NhZ2VzLmluCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRjYTRmNTg4
ZTE1OGMwMjlkMmU4YWMyZTFjYmRhMTQ0OGVlNzM0NDguLjFhYzZhZjJhMDMyYjA0YWJlZTQ3NDg3
ODBlOGI1ZWQyMTlhMDJkNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjgs
NiArMjgsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzIFwKICAg
ICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scyBcCiAgICAgJChXZWJL
aXQyKS9OZXR3b3JrUHJvY2Vzcy9tYWMgXAorICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3Mv
d2VicnRjIFwKICAgICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAogICAgICQoV2ViS2l0Mikv
UGx1Z2luUHJvY2Vzcy9tYWMgXAogICAgICQoV2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXApAQCAt
NDUsNiArNDYsNyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvSWNvbkRh
dGFiYXNlIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvTWVkaWFDYWNoZSBcCiAgICAgJChX
ZWJLaXQyKS9XZWJQcm9jZXNzL05ldHdvcmsgXAorICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0YyBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMg
XAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIFwKICAgICAkKFdlYktpdDIp
L1dlYlByb2Nlc3MvUGx1Z2lucyBcCkBAIC0xMDAsNiArMTAyLDkgQEAgTUVTU0FHRV9SRUNFSVZF
UlMgPSBcCiAgICAgTmV0d29ya1Byb2Nlc3MgXAogICAgIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlv
biBcCiAgICAgTmV0d29ya1Byb2Nlc3NQcm94eSBcCisgICAgTmV0d29ya1JUQ01vbml0b3IgXAor
ICAgIE5ldHdvcmtSVENQcm92aWRlciBcCisgICAgTmV0d29ya1JUQ1NvY2tldCBcCiAgICAgTmV0
d29ya1Jlc291cmNlTG9hZGVyIFwKICAgICBQbHVnaW5Db250cm9sbGVyUHJveHkgXAogICAgIFBs
dWdpblByb2Nlc3MgXApAQCAtMTQ5LDYgKzE1NCw5IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAog
ICAgIFdlYlByb2Nlc3NDb25uZWN0aW9uIFwKICAgICBXZWJQcm9jZXNzUG9vbCBcCiAgICAgV2Vi
UHJvY2Vzc1Byb3h5IFwKKyAgICBXZWJSVENNb25pdG9yIFwKKyAgICBXZWJSVENSZXNvbHZlciBc
CisgICAgV2ViUlRDU29ja2V0IFwKICAgICBXZWJSZXNvdXJjZUxvYWRlciBcCiAgICAgV2ViUmVz
b3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIFwKICAgICBXZWJVc2VyQ29udGVudENvbnRyb2xsZXIg
XApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDhhMjdhYjNhMGMyZDVjODJjMjRh
NjQzMjQ2YTY2MGY3ODk5M2VlNzUuLmU4ZjkzMDBkMTJhNTYwMWI1MWQxZjkzMzdmYTg3OGVmOWQ0
NTE0ZjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTM0LDYgKzM0LDkgQEAK
ICNpbmNsdWRlICJOZXR3b3JrTG9hZC5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAj
aW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJO
ZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVy
TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNs
dWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIk5ldHdvcmtS
ZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2Vz
LmgiCkBAIC02OCw2ICs3MSwxMCBAQCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MoSVBDOjpDb25uZWN0aW9uOjpJZAogCiBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6fk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkK
IHsKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIGlmIChtX3J0Y1Byb3ZpZGVyKQorICAgICAgICBt
X3J0Y1Byb3ZpZGVyLT5jbG9zZSgpOworI2VuZGlmCiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6OmRpZENsZWFudXBSZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VM
b2FkZXImIGxvYWRlcikKQEAgLTc2LDcgKzgzLDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzczo6ZGlkQ2xlYW51cFJlc291cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWQK
IAogICAgIG1fbmV0d29ya1Jlc291cmNlTG9hZGVycy5yZW1vdmUobG9hZGVyLmlkZW50aWZpZXIo
KSk7CiB9Ci0gICAgCisKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBk
ZWNvZGVyKQogewogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNz
YWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUo
KSkgewpAQCAtODUsMTUgKzkyLDM5IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvCiAgICAgfQog
CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3
b3JrUmVzb3VyY2VMb2FkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBIYXNo
TWFwPFJlc291cmNlTG9hZElkZW50aWZpZXIsIFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+
Pjo6aXRlcmF0b3IgbG9hZGVySXRlcmF0b3IgPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZmlu
ZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CisgICAgICAgIGF1dG8gbG9hZGVySXRlcmF0b3Ig
PSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7
CiAgICAgICAgIGlmIChsb2FkZXJJdGVyYXRvciAhPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMu
ZW5kKCkpCiAgICAgICAgICAgICBsb2FkZXJJdGVyYXRvci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3
b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICBy
ZXR1cm47CiAgICAgfQotICAgIAorCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBpZiAoZGVjb2Rl
ci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6Om1l
c3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBydGNQcm92aWRlcigpLmRpZFJlY2VpdmVO
ZXR3b3JrUlRDU29ja2V0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0
dXJuOworICAgIH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6Ok5ldHdvcmtSVENNb25pdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAg
ICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKGNvbm5l
Y3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZl
TmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAK
KyNpZiBVU0UoTElCV0VCUlRDKQorTmV0d29ya1JUQ1Byb3ZpZGVyJiBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6cnRjUHJvdmlkZXIoKQoreworICAgIGlmICghbV9ydGNQcm92aWRlcikK
KyAgICAgICAgbV9ydGNQcm92aWRlciA9IE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlKCp0aGlz
KTsKKyAgICByZXR1cm4gKm1fcnRjUHJvdmlkZXI7Cit9CisjZW5kaWYKKwogdm9pZCBOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8
SVBDOjpFbmNvZGVyPiYgcmVwbHkpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVy
TmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpKSB7CkBAIC0xMTYsNiArMTQ3LDEzIEBAIHZvaWQgTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYpCiAKICAgICBOZXR3
b3JrQmxvYlJlZ2lzdHJ5OjpzaW5nbGV0b24oKS5jb25uZWN0aW9uVG9XZWJQcm9jZXNzRGlkQ2xv
c2UodGhpcyk7CiAgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJlbW92ZU5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzKHRoaXMpOworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBp
ZiAobV9ydGNQcm92aWRlcikgeworICAgICAgICBtX3J0Y1Byb3ZpZGVyLT5jbG9zZSgpOworICAg
ICAgICBtX3J0Y1Byb3ZpZGVyID0gbnVsbHB0cjsKKyAgICB9CisjZW5kaWYKIH0KIAogdm9pZCBO
ZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQ
Qzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlLCBJUEM6OlN0cmluZ1JlZmVyZW5j
ZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDc5NjU2YmE0N2MyMjhiZTAwYTdiMDc3
MDI0MjgzNWVkNDU2NTU3YTIuLjk3MjkzMTRkNjc3ZjkxM2JmMzUxZGZiMDU2MDhmOWI5Y2E4MDk1
MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mv
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMjksNiArMjksOCBAQAogI2luY2x1
ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgiCiAjaW5jbHVkZSAiTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtS
VENQcm92aWRlci5oIgorCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxvYWRQcmlvcml0eS5o
PgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTcxLDcgKzczLDcgQEAgcHJpdmF0
ZToKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtD
b25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29k
ZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0
cjxJUEM6OkVuY29kZXI+Jik7Ci0gICAgCisKICAgICB2b2lkIHNjaGVkdWxlUmVzb3VyY2VMb2Fk
KGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CiAgICAgdm9pZCBwZXJmb3Jt
U3luY2hyb25vdXNMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiwgUmVm
PE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UGVyZm9ybVN5bmNocm9u
b3VzTG9hZDo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIGxvYWRQaW5nKGNvbnN0IE5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CkBAIC0xMDUsMTAgKzEwNywxOCBAQCBwcml2YXRl
OgogCiAgICAgdm9pZCBlbnN1cmVMZWdhY3lQcml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CiAKKyNp
ZiBVU0UoTElCV0VCUlRDKQorICAgIE5ldHdvcmtSVENQcm92aWRlciYgcnRjUHJvdmlkZXIoKTsK
KyNlbmRpZgorICAgIAogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIAog
ICAgIEhhc2hNYXA8UmVzb3VyY2VMb2FkSWRlbnRpZmllciwgUmVmUHRyPE5ldHdvcmtSZXNvdXJj
ZUxvYWRlcj4+IG1fbmV0d29ya1Jlc291cmNlTG9hZGVyczsKICAgICBIYXNoTWFwPFN0cmluZywg
UmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4+IG1fYmxvYkRhdGFGaWxlUmVm
ZXJlbmNlczsKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgUmVmUHRyPE5ldHdvcmtSVENQcm92
aWRlcj4gbV9ydGNQcm92aWRlcjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2Vi
UlRDU29ja2V0Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwNmNmNDZjNDFkMmQ0OGMx
MTVmYjM2MzYxM2I0MDI2NDNlZmNkYzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcApAQCAtMCww
ICsxLDEyNCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJM
aWJXZWJSVENTb2NrZXRDbGllbnQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRl
ICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIk5l
dHdvcmtSVENQcm92aWRlci5oIgorI2luY2x1ZGUgIldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCisj
aW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24u
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0xpYldlYlJUQ1NvY2tldENsaWVudDo6TGliV2Vi
UlRDU29ja2V0Q2xpZW50KHVpbnQ2NF90IGlkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92aWRlciYg
cnRjUHJvdmlkZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmIHNv
Y2tldCkKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV9ydGNQcm92aWRl
cihydGNQcm92aWRlcikKKyAgICAsIG1fc29ja2V0KFdURk1vdmUoc29ja2V0KSkKK3sKKyAgICBp
ZiAoIW1fc29ja2V0KSB7CisgICAgICAgIHJ0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChb
aWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgICAgICBj
b25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoMSksIGlk
ZW50aWZpZXIpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1f
c29ja2V0LT5TaWduYWxSZWFkUGFja2V0LmNvbm5lY3QodGhpcywgJkxpYldlYlJUQ1NvY2tldENs
aWVudDo6c2lnbmFsUmVhZFBhY2tldCk7CisgICAgbV9zb2NrZXQtPlNpZ25hbFNlbnRQYWNrZXQu
Y29ubmVjdCh0aGlzLCAmTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxTZW50UGFja2V0KTsK
KyAgICBtX3NvY2tldC0+U2lnbmFsQWRkcmVzc1JlYWR5LmNvbm5lY3QodGhpcywgJkxpYldlYlJU
Q1NvY2tldENsaWVudDo6c2lnbmFsQWRkcmVzc1JlYWR5KTsKKyAgICBtX3NvY2tldC0+U2lnbmFs
Q29ubmVjdC5jb25uZWN0KHRoaXMsICZMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENvbm5l
Y3QpOworICAgIG1fc29ja2V0LT5TaWduYWxDbG9zZS5jb25uZWN0KHRoaXMsICZMaWJXZWJSVENT
b2NrZXRDbGllbnQ6OnNpZ25hbENsb3NlKTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGll
bnQ6OnNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGJ1ZmZlciwgY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMm
IG9wdGlvbnMpCit7CisKKyAgICBtX3NvY2tldC0+U2VuZFRvKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgdWludDhfdCo+KGJ1ZmZlci5kYXRhKCkpLCBidWZmZXIuc2l6ZSgpLCBzb2NrZXRBZGRyZXNz
LCBvcHRpb25zKTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OmNsb3NlKCkKK3sK
KyAgICBBU1NFUlQobV9zb2NrZXQpOworICAgIG1fc29ja2V0LT5DbG9zZSgpOworICAgIG1fcnRj
UHJvdmlkZXIudGFrZVNvY2tldChtX2lkZW50aWZpZXIpOworfQorCit2b2lkIExpYldlYlJUQ1Nv
Y2tldENsaWVudDo6c2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSkKK3sKKyAgICBBU1NF
UlQobV9zb2NrZXQpOworICAgIG1fc29ja2V0LT5TZXRPcHRpb24oc3RhdGljX2Nhc3Q8cnRjOjpT
b2NrZXQ6Ok9wdGlvbj4ob3B0aW9uKSwgdmFsdWUpOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tl
dENsaWVudDo6c2lnbmFsUmVhZFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3Qg
Y2hhciogdmFsdWUsIHNpemVfdCBsZW5ndGgsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRk
cmVzcywgY29uc3QgcnRjOjpQYWNrZXRUaW1lJiBwYWNrZXRUaW1lKQoreworICAgIGF1dG8gaWRl
bnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJl
ZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVlLCBsZW5ndGgpOworICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZy
b21NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJl
c3MsIHBhY2tldFRpbWVdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBJ
UEM6OkRhdGFSZWZlcmVuY2UgZGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihi
dWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5k
KE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29y
azo6SVBBZGRyZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGlt
ZS50aW1lc3RhbXApLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENT
b2NrZXRDbGllbnQ6OnNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNv
bnN0IHJ0Yzo6U2VudFBhY2tldCYgc2VudFBhY2tldCkKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIg
PSBtX2lkZW50aWZpZXI7CisgICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lk
ZW50aWZpZXIsIHNlbnRQYWNrZXRdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAg
ICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsU2VudFBh
Y2tldChzZW50UGFja2V0LnBhY2tldF9pZCwgc2VudFBhY2tldC5zZW5kX3RpbWVfbXMpLCBpZGVu
dGlmaWVyKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25h
bEFkZHJlc3NSZWFkeShydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpTb2NrZXRB
ZGRyZXNzJiBhZGRyZXNzKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsK
KyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciwgYWRkcmVz
c10oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGF1dG8gYWRkcmVzc1N0
cmluZyA9IGFkZHJlc3MuVG9TdHJpbmcoKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3Nh
Z2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbEFkZHJlc3NSZWFkeShTdHJpbmcoYWRkcmVzc1N0cmlu
Zy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVuZ3RoKCkpKSwgaWRlbnRpZmllcik7CisgICAgfSk7
Cit9CisKK3ZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxDb25uZWN0KHJ0Yzo6QXN5
bmNQYWNrZXRTb2NrZXQqKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsK
KyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllcl0oSVBDOjpD
b25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdl
czo6V2ViUlRDU29ja2V0OjpTaWduYWxDb25uZWN0KCksIGlkZW50aWZpZXIpOworICAgIH0pOwor
fQorCit2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ2xvc2UocnRjOjpBc3luY1Bh
Y2tldFNvY2tldCosIGludCBlcnJvcikKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50
aWZpZXI7CisgICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIs
IGVycm9yXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlv
bi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbENsb3NlKGVycm9yKSwgaWRlbnRp
Zmllcik7CisgICAgfSk7CisgICAgbV9ydGNQcm92aWRlci50YWtlU29ja2V0KG1faWRlbnRpZmll
cik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJU
QykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJX
ZWJSVENTb2NrZXRDbGllbnQuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5kMDgzOTM5M2NhMDJiN2QzZGY3
NjAzNzM3MWNjNmYxNWU1MWFiOWZjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCkBAIC0wLDAgKzEs
NzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisK
KyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9i
YXNlL2FzeW5jcGFja2V0c29ja2V0Lmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5o
PgorCituYW1lc3BhY2UgcnRjIHsKK2NsYXNzIEFzeW5jUGFja2V0U29ja2V0OworY2xhc3MgU29j
a2V0QWRkcmVzczsKK3N0cnVjdCBQYWNrZXRPcHRpb25zOworc3RydWN0IFBhY2tldFRpbWU7Citz
dHJ1Y3QgU2VudFBhY2tldDsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2hhcmVk
QnVmZmVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmV0d29ya1JUQ1Byb3Zp
ZGVyOworCitjbGFzcyBMaWJXZWJSVENTb2NrZXRDbGllbnQgZmluYWwgOiBwdWJsaWMgc2lnc2xv
dDo6aGFzX3Nsb3RzPD4geworcHVibGljOgorICAgIExpYldlYlJUQ1NvY2tldENsaWVudCh1aW50
NjRfdCBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImLCBzdGQ6OnVuaXF1ZV9wdHI8cnRj
OjpBc3luY1BhY2tldFNvY2tldD4mJik7CisKK3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIE5l
dHdvcmtSVENTb2NrZXQ7CisKKyAgICB2b2lkIGNsb3NlKCk7CisgICAgdm9pZCBzZXRPcHRpb24o
aW50IG9wdGlvbiwgaW50IHZhbHVlKTsKKyAgICB2b2lkIHNlbmRUbyhjb25zdCBXZWJDb3JlOjpT
aGFyZWRCdWZmZXImLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tl
dE9wdGlvbnMmKTsKKworICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChydGM6OkFzeW5jUGFja2V0
U29ja2V0KiwgY29uc3QgY2hhciosIHNpemVfdCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwg
Y29uc3QgcnRjOjpQYWNrZXRUaW1lJik7CisgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNlbnRQYWNrZXQmKTsKKyAgICB2b2lkIHNp
Z25hbEFkZHJlc3NSZWFkeShydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJik7CisgICAgdm9pZCBzaWduYWxDb25uZWN0KHJ0Yzo6QXN5bmNQYWNrZXRTb2Nr
ZXQqKTsKKyAgICB2b2lkIHNpZ25hbENsb3NlKHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBpbnQp
OworCisgICAgdWludDY0X3QgbV9pZGVudGlmaWVyOworICAgIE5ldHdvcmtSVENQcm92aWRlciYg
bV9ydGNQcm92aWRlcjsKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tl
dD4gbV9zb2NrZXQ7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVT
RShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lMzBiNWViMDcwMWI4
NTVlNjQxN2FhMDJmN2M0NDU5ZWE4MWI2YmM1Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcApAQCAtMCww
ICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5l
dHdvcmtSVENNb25pdG9yLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiQ29u
bmVjdGlvbi5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgorI2luY2x1ZGUgIldl
YlJUQ01vbml0b3JNZXNzYWdlcy5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorCituYW1l
c3BhY2UgV2ViS2l0IHsKKwordm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6c3RhcnRVcGRhdGluZygp
Cit7CisgICAgbV9pc1N0YXJ0ZWQgPSB0cnVlOworICAgIG1fcnRjUHJvdmlkZXIuY2FsbE9uUlRD
TmV0d29ya1RocmVhZChbdGhpc10oKSB7CisgICAgICAgIG1fbWFuYWdlciA9IHN0ZDo6bWFrZV91
bmlxdWU8cnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyPigpOworICAgICAgICBtX21hbmFnZXItPlNp
Z25hbE5ldHdvcmtzQ2hhbmdlZC5jb25uZWN0KHRoaXMsICZOZXR3b3JrUlRDTW9uaXRvcjo6b25O
ZXR3b3Jrc0NoYW5nZWQpOworICAgICAgICBtX21hbmFnZXItPlN0YXJ0VXBkYXRpbmcoKTsKKyAg
ICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6c3RvcFVwZGF0aW5nKCkKK3sKKyAg
ICBtX2lzU3RhcnRlZCA9IGZhbHNlOworICAgIG1fcnRjUHJvdmlkZXIuY2FsbE9uUlRDTmV0d29y
a1RocmVhZChbdGhpc10oKSB7CisgICAgICAgIG1fbWFuYWdlci0+U3RvcFVwZGF0aW5nKCk7Cisg
ICAgICAgIG1fbWFuYWdlciA9IG51bGxwdHI7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1JU
Q01vbml0b3I6Om9uTmV0d29ya3NDaGFuZ2VkKCkKK3sKKyAgICBydGM6OkJhc2ljTmV0d29ya01h
bmFnZXI6Ok5ldHdvcmtMaXN0IG5ldHdvcmtzOworICAgIG1fbWFuYWdlci0+R2V0TmV0d29ya3Mo
Jm5ldHdvcmtzKTsKKworICAgIFJUQ05ldHdvcms6OklQQWRkcmVzcyBpcHY0OworICAgIG1fbWFu
YWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhBRl9JTkVULCAmaXB2NC52YWx1ZSk7CisgICAg
UlRDTmV0d29yazo6SVBBZGRyZXNzIGlwdjY7CisgICAgbV9tYW5hZ2VyLT5HZXREZWZhdWx0TG9j
YWxBZGRyZXNzKEFGX0lORVQ2LCAmaXB2Ni52YWx1ZSk7CisKKyAgICBWZWN0b3I8UlRDTmV0d29y
az4gbmV0d29ya0xpc3Q7CisgICAgbmV0d29ya0xpc3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShu
ZXR3b3Jrcy5zaXplKCkpOworICAgIGZvciAoYXV0byogbmV0d29yayA6IG5ldHdvcmtzKSB7Cisg
ICAgICAgIEFTU0VSVChuZXR3b3JrKTsKKyAgICAgICAgbmV0d29ya0xpc3QudW5jaGVja2VkQXBw
ZW5kKFJUQ05ldHdvcmsgeyAqbmV0d29yayB9KTsKKyAgICB9CisKKyAgICBtX3J0Y1Byb3ZpZGVy
LnNlbmRGcm9tTWFpblRocmVhZChbdGhpcywgbmV0d29ya0xpc3QgPSBXVEZNb3ZlKG5ldHdvcmtM
aXN0KSwgaXB2NCA9IFdURk1vdmUoaXB2NCksIGlwdjYgPSBXVEZNb3ZlKGlwdjYpXShJUEM6OkNv
bm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgaWYgKCFtX2lzU3RhcnRlZCkKKyAgICAg
ICAgICAgIHJldHVybjsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENN
b25pdG9yOjpOZXR3b3Jrc0NoYW5nZWQobmV0d29ya0xpc3QsIGlwdjQsIGlwdjYpLCAwKTsKKyAg
ICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENNb25pdG9yLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ01vbml0b3IuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40Njg2MmMzNjMzZmYyNWEzODEzNWU2N2Uz
NmFkZTEwY2VjYmQxODE4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmgKQEAgLTAsMCArMSw2NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUg
IldlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmgiCisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0d29y
ay5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL3NpZ3Nsb3QuaD4KKyNpbmNsdWRlIDx3ZWJydGMv
YmFzZS90aHJlYWQuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xh
c3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE5ldHdvcmtSVENQ
cm92aWRlcjsKKworY2xhc3MgTmV0d29ya1JUQ01vbml0b3IgZmluYWwgOiBwdWJsaWMgc2lnc2xv
dDo6aGFzX3Nsb3RzPD4geworcHVibGljOgorICAgIGV4cGxpY2l0IE5ldHdvcmtSVENNb25pdG9y
KE5ldHdvcmtSVENQcm92aWRlciYgcnRjUHJvdmlkZXIpIDogbV9ydGNQcm92aWRlcihydGNQcm92
aWRlcikgeyB9CisKKyAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgorICAgIHZvaWQgZGlkUmVjZWl2
ZU5ldHdvcmtSVENNb25pdG9yTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXIm
KTsKKyAgICB2b2lkIHN0b3BVcGRhdGluZygpOworCitwcml2YXRlOgorICAgIHZvaWQgc3RhcnRV
cGRhdGluZygpOworCisgICAgdm9pZCBvbk5ldHdvcmtzQ2hhbmdlZCgpOworCisgICAgTmV0d29y
a1JUQ1Byb3ZpZGVyJiBtX3J0Y1Byb3ZpZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkJh
c2ljTmV0d29ya01hbmFnZXI+IG1fbWFuYWdlcjsKKyAgICBib29sIG1faXNTdGFydGVkIHsgZmFs
c2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldF
QlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYjUx
Zjc4MTVhNWY2ZTI2ZjliNWMwNzE5OTFiZTRlMzA5Y2RjYThiCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1l
c3NhZ2VzLmluCkBAIC0wLDAgKzEsMzAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBh
cmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
CisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlks
IE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IE5ldHdvcmtSVENN
b25pdG9yIExlZ2FjeVJlY2VpdmVyIHsKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmcoKQorICAgIHZv
aWQgU3RvcFVwZGF0aW5nKCkKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3Zp
ZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwYzg0MzVjYTNlNDE5OTZkZTIxMDBiYjM1MjgwM2Rl
Y2U2YTYyMzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcApAQCAtMCwwICsxLDIyMCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXIu
aCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCisjaW5jbHVkZSAiTmV0
d29ya1JUQ1NvY2tldC5oIgorI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyTWVzc2FnZXMuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNl
L2FzeW5jcGFja2V0c29ja2V0Lmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKyNpbmNs
dWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRp
YyBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6VGhyZWFkPiBjcmVhdGVUaHJlYWQoKQorewor
ICAgIGF1dG8gdGhyZWFkID0gcnRjOjpUaHJlYWQ6OkNyZWF0ZVdpdGhTb2NrZXRTZXJ2ZXIoKTsK
KyAgICBhdXRvIHJlc3VsdCA9IHRocmVhZC0+U3RhcnQoKTsKKyAgICBBU1NFUlRfVU5VU0VEKHJl
c3VsdCwgcmVzdWx0KTsKKyAgICAvLyBGSVhNRTogU2V0IHRocmVhZCBuYW1lLgorICAgIHJldHVy
biB0aHJlYWQ7Cit9CisKK05ldHdvcmtSVENQcm92aWRlcjo6TmV0d29ya1JUQ1Byb3ZpZGVyKE5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKQorICAgIDogbV9jb25uZWN0
aW9uKCZjb25uZWN0aW9uKQorICAgICwgbV9ydGNNb25pdG9yKCp0aGlzKQorICAgICwgbV9ydGNO
ZXR3b3JrVGhyZWFkKGNyZWF0ZVRocmVhZCgpKQorICAgICwgbV9wYWNrZXRTb2NrZXRGYWN0b3J5
KG1ha2VVbmlxdWVSZWY8cnRjOjpCYXNpY1BhY2tldFNvY2tldEZhY3Rvcnk+KG1fcnRjTmV0d29y
a1RocmVhZC5nZXQoKSkpCit7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjbG9zZSgp
Cit7CisgICAgbV9jb25uZWN0aW9uID0gbnVsbHB0cjsKKyAgICBtX3Jlc29sdmVycy5jbGVhcigp
OworICAgIG1fcnRjTW9uaXRvci5zdG9wVXBkYXRpbmcoKTsKKworICAgIGNhbGxPblJUQ05ldHdv
cmtUaHJlYWQoW3RoaXNdKCkgeworICAgICAgICBtX3NvY2tldHMuY2xlYXIoKTsKKyAgICB9KTsK
K30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVVEUFNvY2tldCh1aW50NjRfdCBp
ZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQpCit7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJlc3M7Cisg
ICAgc29ja2V0QWRkcmVzcy5Gcm9tU3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7CisKKyAg
ICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBzb2NrZXRBZGRyZXNz
LCBtaW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5
bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tldEZhY3RvcnktPkNyZWF0ZVVkcFNv
Y2tldChzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0KSk7CisgICAgICAgIGFkZFNvY2tl
dChpZGVudGlmaWVyLCBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1NvY2tldENsaWVudD4oaWRl
bnRpZmllciwgKnRoaXMsIFdURk1vdmUoc29ja2V0KSkpOworICAgIH0pOworfQorCit2b2lkIE5l
dHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU2VydmVyVENQU29ja2V0KHVpbnQ2NF90IGlkZW50aWZp
ZXIsIGNvbnN0IFN0cmluZyYgYWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4
UG9ydCwgaW50IG9wdGlvbnMpCit7CisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJl
c3M7CisgICAgc29ja2V0QWRkcmVzcy5Gcm9tU3RyaW5nKGFkZHJlc3MudXRmOCgpLmRhdGEoKSk7
CisgICAgCisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgc29j
a2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9uc10oKSB7CisgICAgICAgIHN0ZDo6
dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRG
YWN0b3J5LT5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4
UG9ydCwgb3B0aW9ucykpOworICAgICAgICBhZGRTb2NrZXQoaWRlbnRpZmllciwgc3RkOjptYWtl
X3VuaXF1ZTxMaWJXZWJSVENTb2NrZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlzLCBXVEZNb3Zl
KHNvY2tldCkpKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0
ZUNsaWVudFRDUFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGxvY2Fs
QWRkcmVzcywgY29uc3QgU3RyaW5nJiByZW1vdGVBZGRyZXNzLCBpbnQgb3B0aW9ucykKK3sKKyAg
ICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0TG9jYWxBZGRyZXNzOworICAgIHNvY2tldExvY2Fs
QWRkcmVzcy5Gcm9tU3RyaW5nKGxvY2FsQWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKyAgICAKKyAg
ICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0UmVtb3RlQWRkcmVzczsKKyAgICBzb2NrZXRSZW1v
dGVBZGRyZXNzLkZyb21TdHJpbmcocmVtb3RlQWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKyAgICAK
KyAgICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBzb2NrZXRMb2Nh
bEFkZHJlc3MsIHNvY2tldFJlbW90ZUFkZHJlc3MsIG9wdGlvbnNdKCkgeworICAgICAgICBzdGQ6
OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KG1fcGFja2V0U29ja2V0
RmFjdG9yeS0+Q3JlYXRlQ2xpZW50VGNwU29ja2V0KHNvY2tldExvY2FsQWRkcmVzcywgc29ja2V0
UmVtb3RlQWRkcmVzcywgeyB9LCB7IH0sIG9wdGlvbnMpKTsKKyAgICAgICAgYWRkU29ja2V0KGlk
ZW50aWZpZXIsIHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDU29ja2V0Q2xpZW50PihpZGVudGlm
aWVyLCAqdGhpcywgV1RGTW92ZShzb2NrZXQpKSk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29y
a1JUQ1Byb3ZpZGVyOjphZGRTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgc3RkOjp1bmlxdWVf
cHRyPExpYldlYlJUQ1NvY2tldENsaWVudD4mJiBzb2NrZXQpCit7CisgICAgbV9zb2NrZXRzLmFk
ZChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCkpOworfQorCitzdGQ6OnVuaXF1ZV9wdHI8TGli
V2ViUlRDU29ja2V0Q2xpZW50PiBOZXR3b3JrUlRDUHJvdmlkZXI6OnRha2VTb2NrZXQodWludDY0
X3QgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gbV9zb2NrZXRzLnRha2UoaWRlbnRpZmllcik7
Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpkaWRSZWNlaXZlTmV0d29ya1JUQ1NvY2tl
dE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29k
ZXIpCit7CisgICAgTmV0d29ya1JUQ1NvY2tldChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSwgKnRo
aXMpLmRpZFJlY2VpdmVOZXR3b3JrUlRDU29ja2V0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVy
KTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVJlc29sdmVyKHVpbnQ2NF90
IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBDRkhvc3RSZWYgaG9z
dCA9IENGSG9zdENyZWF0ZVdpdGhOYW1lKGtDRkFsbG9jYXRvckRlZmF1bHQsIGFkZHJlc3MuY3Jl
YXRlQ0ZTdHJpbmcoKS5nZXQoKSk7CisgICAgQVNTRVJUKGhvc3QpOworICAgIAorICAgIGF1dG8g
cmVzb2x2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPFJlc29sdmVyPihpZGVudGlmaWVyLCAqdGhpcywg
aG9zdCk7CisgICAgCisgICAgQ0ZIb3N0Q2xpZW50Q29udGV4dCBjb250ZXh0OworICAgIGNvbnRl
eHQudmVyc2lvbiA9IDA7CisgICAgY29udGV4dC5pbmZvID0gcmVzb2x2ZXIuZ2V0KCk7CisgICAg
Y29udGV4dC5jb3B5RGVzY3JpcHRpb24gPSBudWxscHRyOworICAgIGNvbnRleHQucmVsZWFzZSA9
IG51bGxwdHI7CisgICAgY29udGV4dC5yZXRhaW4gPSBudWxscHRyOworICAgIAorICAgIENGSG9z
dFNldENsaWVudChob3N0LCBOZXR3b3JrUlRDUHJvdmlkZXI6OnJlc29sdmVkTmFtZSwgJmNvbnRl
eHQpOworICAgIENGSG9zdFNjaGVkdWxlV2l0aFJ1bkxvb3AoaG9zdCwgQ0ZSdW5Mb29wR2V0Q3Vy
cmVudCgpLCBrQ0ZSdW5Mb29wRGVmYXVsdE1vZGUpOworICAgIEJvb2xlYW4gcmVzdWx0ID0gQ0ZI
b3N0U3RhcnRJbmZvUmVzb2x1dGlvbihob3N0LCBrQ0ZIb3N0QWRkcmVzc2VzLCBudWxscHRyKTsK
KyAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKyAgICAKKyAgICBtX3Jlc29sdmVy
cy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShyZXNvbHZlcikpOworfQorCit2b2lkIE5ldHdvcmtS
VENQcm92aWRlcjo6c3RvcFJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCit7CisgICAgYXV0
byByZXNvbHZlciA9IG1fcmVzb2x2ZXJzLnRha2UoaWRlbnRpZmllcik7CisgICAgaWYgKHJlc29s
dmVyKQorICAgICAgICBDRkhvc3RDYW5jZWxJbmZvUmVzb2x1dGlvbihyZXNvbHZlci0+aG9zdCwg
Q0ZIb3N0SW5mb1R5cGU6OmtDRkhvc3RBZGRyZXNzZXMpOworfQorICAgIAordm9pZCBOZXR3b3Jr
UlRDUHJvdmlkZXI6OnJlc29sdmVkTmFtZShDRkhvc3RSZWYgaG9zdFJlZiwgQ0ZIb3N0SW5mb1R5
cGUgdHlwZUluZm8sIGNvbnN0IENGU3RyZWFtRXJyb3IgKmVycm9yLCB2b2lkICppbmZvKQorewor
ICAgIEFTU0VSVF9VTlVTRUQodHlwZUluZm8sICF0eXBlSW5mbyk7CisgICAgCisgICAgaWYgKGVy
cm9yLT5kb21haW4pIHsKKyAgICAgICAgLy8gRklYTUU6IE5lZWQgdG8gaGFuZGxlIGZhaWx1cmUs
IGJ1dCBpbmZvIGlzIG5vdCBwcm92aWRlZCBpbiB0aGUgY2FsbGJhY2suCisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgCisgICAgQVNTRVJUKGluZm8pOworICAgIGF1dG8qIHJlc29sdmVySW5m
byA9IHN0YXRpY19jYXN0PFJlc29sdmVyKj4oaW5mbyk7CisgICAgYXV0byByZXNvbHZlciA9IHJl
c29sdmVySW5mby0+cnRjUHJvdmlkZXIubV9yZXNvbHZlcnMudGFrZShyZXNvbHZlckluZm8tPmlk
ZW50aWZpZXIpOworICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgIHJldHVybjsKKyAgICAKKyAg
ICBCb29sZWFuIHJlc3VsdDsKKyAgICBDRkFycmF5UmVmIHJlc29sdmVkQWRkcmVzc2VzID0gKENG
QXJyYXlSZWYpQ0ZIb3N0R2V0QWRkcmVzc2luZyhob3N0UmVmLCAmcmVzdWx0KTsKKyAgICBBU1NF
UlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKyAgICAKKyAgICBzaXplX3QgY291bnQgPSBDRkFy
cmF5R2V0Q291bnQocmVzb2x2ZWRBZGRyZXNzZXMpOworICAgIFZlY3RvcjxSVENOZXR3b3JrOjpJ
UEFkZHJlc3M+IGFkZHJlc3NlczsKKyAgICBhZGRyZXNzZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShjb3VudCk7CisgICAgCisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50
OyArK2luZGV4KSB7CisgICAgICAgIENGRGF0YVJlZiBkYXRhID0gKENGRGF0YVJlZilDRkFycmF5
R2V0VmFsdWVBdEluZGV4KHJlc29sdmVkQWRkcmVzc2VzLCBpbmRleCk7CisgICAgICAgIGF1dG8q
IGFkZHJlc3MgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbio+KENG
RGF0YUdldEJ5dGVQdHIoZGF0YSkpOworICAgICAgICBhZGRyZXNzZXMudW5jaGVja2VkQXBwZW5k
KFJUQ05ldHdvcms6OklQQWRkcmVzcyhydGM6OklQQWRkcmVzcyhhZGRyZXNzLT5zaW5fYWRkcikp
KTsKKyAgICB9CisgICAgQVNTRVJUKHJlc29sdmVyLT5ydGNQcm92aWRlci5tX2Nvbm5lY3Rpb24p
OworICAgIHJlc29sdmVyLT5ydGNQcm92aWRlci5tX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpXZWJSVENSZXNvbHZlcjo6U2V0UmVzb2x2ZWRBZGRyZXNzKGFkZHJlc3Nl
cyksIHJlc29sdmVyLT5pZGVudGlmaWVyKTsKK30KKworc3RydWN0IE5ldHdvcmtNZXNzYWdlRGF0
YSA6IHB1YmxpYyBydGM6Ok1lc3NhZ2VEYXRhIHsKKyAgICBOZXR3b3JrTWVzc2FnZURhdGEoUmVm
PE5ldHdvcmtSVENQcm92aWRlcj4mJiBydGNQcm92aWRlciwgRnVuY3Rpb248dm9pZCgpPiYmIGNh
bGxiYWNrKQorICAgICAgICA6IHJ0Y1Byb3ZpZGVyKFdURk1vdmUocnRjUHJvdmlkZXIpKQorICAg
ICAgICAsIGNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQorICAgIHsgfQorICAgIFJlZjxOZXR3
b3JrUlRDUHJvdmlkZXI+IHJ0Y1Byb3ZpZGVyOworICAgIEZ1bmN0aW9uPHZvaWQoKT4gY2FsbGJh
Y2s7Cit9OworCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6T25NZXNzYWdlKHJ0Yzo6TWVzc2Fn
ZSogbWVzc2FnZSkKK3sKKyAgICBBU1NFUlQobWVzc2FnZS0+bWVzc2FnZV9pZCA9PSAxKTsKKyAg
ICBzdGF0aWNfY2FzdDxOZXR3b3JrTWVzc2FnZURhdGEqPihtZXNzYWdlLT5wZGF0YSktPmNhbGxi
YWNrKCk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjYWxsT25SVENOZXR3b3JrVGhy
ZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3sKKyAgICBtX3J0Y05ldHdvcmtUaHJl
YWQtPlBvc3QoUlRDX0ZST01fSEVSRSwgdGhpcywgMSwgbmV3IE5ldHdvcmtNZXNzYWdlRGF0YSgq
dGhpcywgV1RGTW92ZShjYWxsYmFjaykpKTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6
OmNhbGxTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgRnVuY3Rpb248dm9pZChMaWJXZWJSVENT
b2NrZXRDbGllbnQmKT4mJiBjYWxsYmFjaykKK3sKKyAgICBjYWxsT25SVENOZXR3b3JrVGhyZWFk
KFt0aGlzLCBpZGVudGlmaWVyLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKKyAg
ICAgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcikpCisgICAg
ICAgICAgICBjYWxsYmFjaygqc29ja2V0KTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRD
UHJvdmlkZXI6OnNlbmRGcm9tTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlv
biYpPiYmIGNhbGxiYWNrKQoreworICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3ZpZGVyID0gbWFr
ZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgeworICAgICAgICBp
ZiAocHJvdmlkZXItPm1fY29ubmVjdGlvbikKKyAgICAgICAgICAgIGNhbGxiYWNrKHByb3ZpZGVy
LT5tX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSk7CisgICAgfSk7Cit9CisgICAgCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVy
LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMC4uNzRkYzAyYjZkZWZmMDY1N2I3OGU3OGJiZDQwNjljZDI4MGY5ZmU4Ygot
LS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDUHJvdmlkZXIuaApAQCAtMCwwICsxLDEwOCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tl
dENsaWVudC5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENNb25pdG9yLmgiCisjaW5jbHVkZSA8Q0ZO
ZXR3b3JrL0NGSG9zdC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+Cisj
aW5jbHVkZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9wMnAvYmFz
ZS9iYXNpY3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvSGFzaE1hcC5oPgor
I2luY2x1ZGUgPHd0Zi9UaHJlYWRTYWZlUmVmQ291bnRlZC5oPgorI2luY2x1ZGUgPHd0Zi9Vbmlx
dWVSZWYuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNwYWNlIElQ
QyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworY2xhc3MgTmV0
d29ya1JUQ1NvY2tldDsKKyAgICAKK2NsYXNzIE5ldHdvcmtSVENQcm92aWRlciA6IHB1YmxpYyBU
aHJlYWRTYWZlUmVmQ291bnRlZDxOZXR3b3JrUlRDUHJvdmlkZXI+LCBwdWJsaWMgcnRjOjpNZXNz
YWdlSGFuZGxlciB7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxOZXR3b3JrUlRDUHJvdmlkZXI+
IGNyZWF0ZShOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikgeyByZXR1
cm4gYWRvcHRSZWYoKm5ldyBOZXR3b3JrUlRDUHJvdmlkZXIoY29ubmVjdGlvbikpOyB9CisKKyAg
ICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOworICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtSVENNb25pdG9y
TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2Rl
cikgeyBtX3J0Y01vbml0b3IuZGlkUmVjZWl2ZU5ldHdvcmtSVENNb25pdG9yTWVzc2FnZShjb25u
ZWN0aW9uLCBkZWNvZGVyKTsgfQorICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtSVENTb2NrZXRN
ZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworCisgICAgc3RkOjp1bmlx
dWVfcHRyPExpYldlYlJUQ1NvY2tldENsaWVudD4gdGFrZVNvY2tldCh1aW50NjRfdCk7CisgICAg
dm9pZCByZXNvbHZlckRvbmUodWludDY0X3QpOworCisgICAgdm9pZCBjbG9zZSgpOworCisgICAg
dm9pZCBjYWxsU29ja2V0KHVpbnQ2NF90LCBGdW5jdGlvbjx2b2lkKExpYldlYlJUQ1NvY2tldENs
aWVudCYpPiYmKTsKKyAgICB2b2lkIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoRnVuY3Rpb248dm9p
ZCgpPiYmKTsKKyAgICB2b2lkIHNlbmRGcm9tTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6
Q29ubmVjdGlvbiYpPiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBsaWNpdCBOZXR3b3JrUlRDUHJv
dmlkZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsKKworICAgIHZvaWQgY3JlYXRl
VURQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCB1aW50MTZfdCwgdWludDE2X3QpOwor
ICAgIHZvaWQgY3JlYXRlQ2xpZW50VENQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCBj
b25zdCBTdHJpbmcmLCBpbnQpOworICAgIHZvaWQgY3JlYXRlU2VydmVyVENQU29ja2V0KHVpbnQ2
NF90LCBjb25zdCBTdHJpbmcmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBp
bnQpOworICAgIHZvaWQgY3JlYXRlUmVzb2x2ZXIodWludDY0X3QsIGNvbnN0IFN0cmluZyYpOwor
ICAgIHZvaWQgc3RvcFJlc29sdmVyKHVpbnQ2NF90KTsKKworICAgIHZvaWQgYWRkU29ja2V0KHVp
bnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDU29ja2V0Q2xpZW50PiYmKTsKKworICAg
IHZvaWQgT25NZXNzYWdlKHJ0Yzo6TWVzc2FnZSopOworCisgICAgc3RhdGljIHZvaWQgcmVzb2x2
ZWROYW1lKENGSG9zdFJlZiwgQ0ZIb3N0SW5mb1R5cGUsIGNvbnN0IENGU3RyZWFtRXJyb3IqLCB2
b2lkKik7CisKKyAgICBzdHJ1Y3QgUmVzb2x2ZXIgeworICAgICAgICBSZXNvbHZlcih1aW50NjRf
dCBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyLCBSZXRhaW5QdHI8
Q0ZIb3N0UmVmPiYmIGhvc3QpCisgICAgICAgICAgICA6IGlkZW50aWZpZXIoaWRlbnRpZmllcikK
KyAgICAgICAgICAgICwgcnRjUHJvdmlkZXIocnRjUHJvdmlkZXIpCisgICAgICAgICAgICAsIGhv
c3QoV1RGTW92ZShob3N0KSkgeyB9CisgICAgICAgIH5SZXNvbHZlcigpIHsgQ0ZSZWxlYXNlKGhv
c3QpOyB9CisKKyAgICAgICAgdWludDY0X3QgaWRlbnRpZmllcjsKKyAgICAgICAgTmV0d29ya1JU
Q1Byb3ZpZGVyJiBydGNQcm92aWRlcjsKKyAgICAgICAgQ0ZIb3N0UmVmIGhvc3Q7CisgICAgfTsK
KworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxSZXNvbHZlcj4+IG1fcmVz
b2x2ZXJzOworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVENT
b2NrZXRDbGllbnQ+PiBtX3NvY2tldHM7CisgICAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MqIG1fY29ubmVjdGlvbjsKKyAgICBib29sIG1faXNTdGFydGVkIHsgdHJ1ZSB9OworCisgICAg
TmV0d29ya1JUQ01vbml0b3IgbV9ydGNNb25pdG9yOworCisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0
Yzo6VGhyZWFkPiBtX3J0Y05ldHdvcmtUaHJlYWQ7CisgICAgVW5pcXVlUmVmPHJ0Yzo6QmFzaWNQ
YWNrZXRTb2NrZXRGYWN0b3J5PiBtX3BhY2tldFNvY2tldEZhY3Rvcnk7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1l
c3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtS
VENQcm92aWRlci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi42NGZiOWNhMWEwNzFmMmU3ZmY0ZTIy
NGEzZWVlM2Q5MWZhMzQxOTdjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgpAQCAtMCww
ICsxLDMzIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBV
U0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBOZXR3b3JrUlRDUHJvdmlkZXIgTGVnYWN5UmVj
ZWl2ZXIgeworICAgIENyZWF0ZVVEUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxvY2Fs
QWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKKyAgICBDcmVhdGVT
ZXJ2ZXJUQ1BTb2NrZXQoaW50IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJlc3MsIHVpbnQx
Nl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQorICAgIENyZWF0ZUNs
aWVudFRDUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxvY2FsQWRkcmVzcywgU3RyaW5n
IHJlbW90ZUFkZHJlc3MsIGludCBvcHRpb25zKQorICAgIENyZWF0ZVJlc29sdmVyKHVpbnQ2NF90
IGlkZW50aWZpZXIsIFN0cmluZyBhZGRyZXNzKQorICAgIFN0b3BSZXNvbHZlcih1aW50NjRfdCBp
ZGVudGlmaWVyKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcCBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5lYzA5ZTMwYmMzZDI2ZDQ4MjhiMWVhODhhMWJkMjg0ZTAzMzkyYzg2Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENTb2NrZXQuY3BwCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldC5oIgorCisjaWYgVVNFKExJ
QldFQlJUQykKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJMaWJXZWJS
VENTb2NrZXRDbGllbnQuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXIuaCIKKyNpbmNs
dWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworTmV0d29ya1JUQ1NvY2tldDo6TmV0d29ya1JUQ1NvY2tl
dCh1aW50NjRfdCBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyKQor
ICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX3J0Y1Byb3ZpZGVyKHJ0Y1By
b3ZpZGVyKQoreworfQorCit2b2lkIE5ldHdvcmtSVENTb2NrZXQ6OnNlbmRUbyhjb25zdCBJUEM6
OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVz
cywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tldElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNpb25J
RCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3ApCit7
CisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLmRh
dGEoKSwgZGF0YS5zaXplKCkpOworCisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFkZHJl
c3MoYWRkcmVzcy52YWx1ZSwgcG9ydCk7CisKKyAgICBydGM6OlBhY2tldE9wdGlvbnMgb3B0aW9u
czsKKyAgICBvcHRpb25zLnBhY2tldF9pZCA9IHBhY2tldElEOworICAgIG9wdGlvbnMucGFja2V0
X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRlbnNpb25faWQgPSBydHBTZW5kdGltZUV4dGVu
c2lvbklEOworICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfcGFja2V0X2luZGV4
ID0gc3J0cFBhY2tldEluZGV4OworICAgIG9wdGlvbnMuZHNjcCA9IHN0YXRpY19jYXN0PHJ0Yzo6
RGlmZlNlcnZDb2RlUG9pbnQ+KGRzY3ApOworICAgIGlmIChzcnRwQXV0aC51dGY4KCkubGVuZ3Ro
KCkpIHsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleSA9
IHN0ZDo6dmVjdG9yPGNoYXI+KHNydHBBdXRoLnV0ZjgoKS5kYXRhKCksIHNydHBBdXRoLnV0Zjgo
KS5kYXRhKCkgKyBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCkpOworICAgICAgICBvcHRpb25zLnBh
Y2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfdGFnX2xlbiA9IHNydHBBdXRoLnV0ZjgoKS5sZW5n
dGgoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0
cF9hdXRoX3RhZ19sZW4gPSAtMTsKKyAgICAKKyAgICBtX3J0Y1Byb3ZpZGVyLmNhbGxTb2NrZXQo
bV9pZGVudGlmaWVyLCBbYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBzb2NrZXRBZGRyZXNzLCBv
cHRpb25zXShMaWJXZWJSVENTb2NrZXRDbGllbnQmIGNsaWVudCkgeworICAgICAgICBjbGllbnQu
c2VuZFRvKGJ1ZmZlci5nZXQoKSwgc29ja2V0QWRkcmVzcywgb3B0aW9ucyk7CisgICAgfSk7Cit9
CisKK3ZvaWQgTmV0d29ya1JUQ1NvY2tldDo6Y2xvc2UoKQoreworICAgIG1fcnRjUHJvdmlkZXIu
Y2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtdKExpYldlYlJUQ1NvY2tldENsaWVudCYgc29ja2V0
KSB7CisgICAgICAgIHNvY2tldC5jbG9zZSgpOworICAgIH0pOworfQorICAgIAordm9pZCBOZXR3
b3JrUlRDU29ja2V0OjpzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKQoreworICAgIG1f
cnRjUHJvdmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtvcHRpb24sIHZhbHVlXShMaWJX
ZWJSVENTb2NrZXRDbGllbnQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQuc2V0T3B0aW9uKG9w
dGlvbiwgdmFsdWUpOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wOWIwYmMxNDhl
MjU3OGQyZWQ0Y2E4ODBlZjA1Njk2NmU5ZWJkMGRjCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaApAQCAtMCww
ICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRD
KQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJS
VENNYWNyb3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNvY2tldC5oPgor
I2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL3NpZ3Nsb3QuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFz
cyBDb25uZWN0aW9uOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK30KKworbmFtZXNwYWNlIHJ0YyB7
CitjbGFzcyBBc3luY1BhY2tldFNvY2tldDsKK2NsYXNzIFNvY2tldEFkZHJlc3M7CitzdHJ1Y3Qg
UGFja2V0T3B0aW9uczsKK3N0cnVjdCBQYWNrZXRUaW1lOworc3RydWN0IFNlbnRQYWNrZXQ7Cit9
CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNoYXJlZEJ1ZmZlcjsKK30KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK2NsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOworY2xh
c3MgTmV0d29ya1JUQ1Byb3ZpZGVyOworCitjbGFzcyBOZXR3b3JrUlRDU29ja2V0IHsKK3B1Ymxp
YzoKKyAgICBOZXR3b3JrUlRDU29ja2V0KHVpbnQ2NF90LCBOZXR3b3JrUlRDUHJvdmlkZXImKTsK
KyAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUlRDU29ja2V0TWVzc2FnZShJUEM6OkNvbm5lY3Rp
b24mLCBJUEM6OkRlY29kZXImKTsKK3ByaXZhdGU6CisgICAgdm9pZCBzZW5kVG8oY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgdWludDE2X3Qg
cG9ydCwgaW50IHBhY2tldElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNpb25JRCwgU3RyaW5nIHNy
dHBBdXRoLCBpbnQ2NF90IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3ApOworICAgIHZvaWQgY2xv
c2UoKTsKKyAgICB2b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpOworCisgICAg
dWludDY0X3QgbV9pZGVudGlmaWVyOworICAgIE5ldHdvcmtSVENQcm92aWRlciYgbV9ydGNQcm92
aWRlcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldF
QlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTU5YmY3
N2RiYmMzMDFkYzY0MTEwMTMyNjk1MGQ4ZGVkYjBhZWM5YwotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0Lm1lc3Nh
Z2VzLmluCkBAIC0wLDAgKzEsMzEgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUg
bWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisj
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
IENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIK
KyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IE5ldHdvcmtSVENTb2Nr
ZXQgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgU2VuZFRvKElQQzo6RGF0YVJlZmVyZW5jZSBk
YXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBhZGRyZXNzLCB1aW50MTZfdCBwb3J0
LCBpbnQgcGFja2V0SUQsIGludCBydHBTZW5kdGltZUV4dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1
dGgsIGludDY0X3Qgc3J0cFBhY2tldEluZGV4LCBpbnQgZHNjcCkKKyAgICB2b2lkIENsb3NlKCkK
KyAgICB2b2lkIFNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCit9CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05l
dHdvcmsuY3BwIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuY3BwCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmIxM2ViYzljMDdiZGEwNmQ5Y2I1OGNjOWE3ZDEwZDhiMzZmNTAyZGQKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5jcHAKQEAgLTAsMCArMSwx
NjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUlRDTmV0
d29yay5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2Uu
aCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktp
dCB7CisKK1JUQ05ldHdvcms6OlJUQ05ldHdvcmsoY29uc3QgcnRjOjpOZXR3b3JrJiBuZXR3b3Jr
KQorICAgIDogbmFtZShuZXR3b3JrLm5hbWUoKSkKKyAgICAsIGRlc2NyaXB0aW9uKG5ldHdvcmsu
ZGVzY3JpcHRpb24oKSkKKyAgICAsIHByZWZpeCB7IG5ldHdvcmsucHJlZml4KCkgfQorICAgICwg
cHJlZml4TGVuZ3RoKG5ldHdvcmsucHJlZml4X2xlbmd0aCgpKQorICAgICwgdHlwZShuZXR3b3Jr
LnR5cGUoKSkKKyAgICAsIGlkKG5ldHdvcmsuaWQoKSkKKyAgICAsIHByZWZlcmVuY2UobmV0d29y
ay5wcmVmZXJlbmNlKCkpCisgICAgLCBhY3RpdmUobmV0d29yay5hY3RpdmUoKSkKKyAgICAsIGln
bm9yZWQobmV0d29yay5pZ25vcmVkKCkpCisgICAgLCBzY29wZUlEKG5ldHdvcmsuc2NvcGVfaWQo
KSkKKyAgICAsIGlwcyhuZXR3b3JrLkdldElQcygpKQoreworfQorCitydGM6Ok5ldHdvcmsgUlRD
TmV0d29yazo6dmFsdWUoKSBjb25zdAoreworICAgIHJ0Yzo6TmV0d29yayBuZXR3b3JrKG5hbWUu
ZGF0YSgpLCBkZXNjcmlwdGlvbi5kYXRhKCksIHByZWZpeC52YWx1ZSwgcHJlZml4TGVuZ3RoLCBy
dGM6OkFkYXB0ZXJUeXBlKHR5cGUpKTsKKyAgICBuZXR3b3JrLnNldF9pZChpZCk7CisgICAgbmV0
d29yay5zZXRfcHJlZmVyZW5jZShwcmVmZXJlbmNlKTsKKyAgICBuZXR3b3JrLnNldF9hY3RpdmUo
YWN0aXZlKTsKKyAgICBuZXR3b3JrLnNldF9pZ25vcmVkKGlnbm9yZWQpOworICAgIG5ldHdvcmsu
c2V0X3Njb3BlX2lkKHNjb3BlSUQpOworICAgIG5ldHdvcmsuU2V0SVBzKGlwcywgdHJ1ZSk7Cisg
ICAgcmV0dXJuIG5ldHdvcms7Cit9CisKK2Jvb2wgUlRDTmV0d29yazo6SVBBZGRyZXNzOjpkZWNv
ZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBJUEFkZHJlc3MmIHJlc3VsdCkKK3sKKyAgICBpbnQg
ZmFtaWx5OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZmFtaWx5KSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhOworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZGF0YSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZmFtaWx5ID09IEFG
X0lORVQpIHsKKyAgICAgICAgaWYgKGRhdGEuc2l6ZSgpICE9IHNpemVvZihpbl9hZGRyKSkKKyAg
ICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgcmVzdWx0LnZhbHVlID0gcnRjOjpJUEFk
ZHJlc3MoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgaW5fYWRkcio+KGRhdGEuZGF0YSgpKSk7Cisg
ICAgICAgIHJldHVybiB0cnVlOworICAgIH0KKyAgICBpZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9m
KGluNl9hZGRyKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC52YWx1ZSA9IHJ0
Yzo6SVBBZGRyZXNzKCpyZWludGVycHJldF9jYXN0PGNvbnN0IGluNl9hZGRyKj4oZGF0YS5kYXRh
KCkpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBSVENOZXR3b3JrOjpJUEFkZHJlc3M6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2
YWx1ZS5mYW1pbHkoKTsKKyAgICBpZiAodmFsdWUuZmFtaWx5KCkgPT0gQUZfSU5FVCkgeworICAg
ICAgICBhdXRvIGFkZHJlc3MgPSB2YWx1ZS5pcHY0X2FkZHJlc3MoKTsKKyAgICAgICAgZW5jb2Rl
ciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4o
JmFkZHJlc3MpLCBzaXplb2YoYWRkcmVzcykpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGF1dG8gYWRkcmVzcyA9IHZhbHVlLmlwdjZfYWRkcmVzcygpOworICAgIGVuY29kZXIgPDwgSVBD
OjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZhZGRyZXNz
KSwgc2l6ZW9mKGFkZHJlc3MpKTsKK30KKworYm9vbCBSVENOZXR3b3JrOjpkZWNvZGUoSVBDOjpE
ZWNvZGVyJiBkZWNvZGVyLCBSVENOZXR3b3JrJiByZXN1bHQpCit7CisgICAgSVBDOjpEYXRhUmVm
ZXJlbmNlIG5hbWUsIGRlc2NyaXB0aW9uOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobmFtZSkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICByZXN1bHQubmFtZSA9IHN0ZDo6c3RyaW5nKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+KG5hbWUuZGF0YSgpKSwgbmFtZS5zaXplKCkpOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm4gZmFs
c2U7CisgICAgcmVzdWx0LmRlc2NyaXB0aW9uID0gc3RkOjpzdHJpbmcocmVpbnRlcnByZXRfY2Fz
dDxjb25zdCBjaGFyKj4oZGVzY3JpcHRpb24uZGF0YSgpKSwgZGVzY3JpcHRpb24uc2l6ZSgpKTsK
KyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmVmaXgpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZml4TGVuZ3RoKSkKKyAg
ICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnR5cGUp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQu
aWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQucHJlZmVyZW5jZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5hY3RpdmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQuaWdub3JlZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5zY29wZUlEKSkKKyAgICAgICAgcmV0dXJuIGZh
bHNlOworCisgICAgdWludDY0X3QgbGVuZ3RoOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGVu
Z3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5pcHMucmVzZXJ2ZShsZW5n
dGgpOworICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgp
IHsKKyAgICAgICAgSVBBZGRyZXNzIGFkZHJlc3M7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNv
ZGUoYWRkcmVzcykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGludCBmbGFn
czsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShmbGFncykpCisgICAgICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgICAgIHJlc3VsdC5pcHMucHVzaF9iYWNrKHsgYWRkcmVzcy52YWx1ZSwg
ZmxhZ3MgfSk7CisgICAgfQorICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFJUQ05ldHdvcms6
OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBJ
UEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4obmFtZS5k
YXRhKCkpLCBuYW1lLmxlbmd0aCgpKTsKKyAgICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5j
ZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihkZXNjcmlwdGlvbi5kYXRhKCkpLCBk
ZXNjcmlwdGlvbi5sZW5ndGgoKSk7CisgICAgZW5jb2RlciA8PCBwcmVmaXg7CisgICAgZW5jb2Rl
ciA8PCBwcmVmaXhMZW5ndGg7CisgICAgZW5jb2RlciA8PCB0eXBlOworCisgICAgZW5jb2RlciA8
PCBpZDsKKyAgICBlbmNvZGVyIDw8IHByZWZlcmVuY2U7CisgICAgZW5jb2RlciA8PCBhY3RpdmU7
CisgICAgZW5jb2RlciA8PCBpZ25vcmVkOworICAgIGVuY29kZXIgPDwgc2NvcGVJRDsKKworICAg
IGVuY29kZXIgPDwgKHVpbnQ2NF90KWlwcy5zaXplKCk7CisgICAgZm9yIChhdXRvJiBpcCA6IGlw
cykgeworICAgICAgICBlbmNvZGVyIDw8IElQQWRkcmVzcyB7IGlwIH07CisgICAgICAgIGVuY29k
ZXIgPDwgaXAuaXB2Nl9mbGFncygpOworICAgIH0KK30KKworfQorCisjZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxMGZiZmMx
OTM4MmI5ODU3NzAxYTZkNDNkZTQ2NzFlMjMzZjExMzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldHdvcmsuaD4K
KyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIERlY29k
ZXI7CitjbGFzcyBFbmNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IFJU
Q05ldHdvcmsgeworICAgIFJUQ05ldHdvcmsoKSA9IGRlZmF1bHQ7CisgICAgZXhwbGljaXQgUlRD
TmV0d29yayhjb25zdCBydGM6Ok5ldHdvcmsmKTsKKworICAgIHJ0Yzo6TmV0d29yayB2YWx1ZSgp
IGNvbnN0OworCisgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgc3Rh
dGljIGJvb2wgZGVjb2RlKElQQzo6RGVjb2RlciYsIFJUQ05ldHdvcmsmKTsKKworICAgIHN0cnVj
dCBJUEFkZHJlc3MgeworICAgICAgICBJUEFkZHJlc3MoKSA9IGRlZmF1bHQ7CisgICAgICAgIGV4
cGxpY2l0IElQQWRkcmVzcyhjb25zdCBydGM6OklQQWRkcmVzcyYgYWRkcmVzcyk6IHZhbHVlKGFk
ZHJlc3MpIHsgfQorCisgICAgICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0Owor
ICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgSVBBZGRyZXNzJik7CisK
KyAgICAgICAgcnRjOjpJUEFkZHJlc3MgdmFsdWU7CisgICAgfTsKKworICAgIHN0ZDo6c3RyaW5n
IG5hbWU7CisgICAgc3RkOjpzdHJpbmcgZGVzY3JpcHRpb247CisgICAgSVBBZGRyZXNzIHByZWZp
eDsKKyAgICBpbnQgcHJlZml4TGVuZ3RoOworICAgIGludCB0eXBlOworICAgIHVpbnQxNl90IGlk
OworICAgIGludCBwcmVmZXJlbmNlOworICAgIGJvb2wgYWN0aXZlOworICAgIGJvb2wgaWdub3Jl
ZDsKKyAgICBpbnQgc2NvcGVJRDsKKyAgICBzdGQ6OnN0cmluZyBrZXk7CisgICAgc2l6ZV90IGxl
bmd0aDsKKyAgICBzdGQ6OnZlY3RvcjxydGM6OkludGVyZmFjZUFkZHJlc3M+IGlwczsKK307CisK
K30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJL
aXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggNGQzMjAwODFmZWZkYWMzMDFhMjIx
YjU0NzkzN2Y5ZTJjMTQ4YmNhNi4uMTFkYmJiNzU1YjBhNTBkZjExZjljZjYzZTdhNjlkYzc1MTZl
ZjBkYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVj
dC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3Qu
cGJ4cHJvagpAQCAtODcxLDYgKzg3MSwzMSBAQAogCQkzRjg3QjlCRDE1ODk0MDEyMDA5MEZGNjIg
LyogV2ViQ29sb3JDaG9vc2VyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDNGODdCOUJBMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIu
Y3BwICovOyB9OwogCQkzRjg3QjlCRTE1ODk0MDE5MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2Vy
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlC
QjE1ODkzRjYzMDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggKi87IH07CiAJCTNGODdCOUMw
MTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xvclBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdl
YkNvbG9yUGlja2VyLmggKi87IH07CisJCTQxMDQ4MkNEMURERDMyNEMwMEYwMDZEMCAvKiBSVENO
ZXR3b3JrLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLzsgfTsKKwkJNDEw
NDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBS
VENOZXR3b3JrLmggKi87IH07CisJCTQxMUIyMjY0MUUzNzFCQTYwMDRGNzM2MyAvKiBMaWJXZWJS
VEMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUIy
MjYyMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVEMuaCAqLzsgfTsKKwkJNDEzMDc1QTkxREU4
NUYyQzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5l
dHdvcmtSVENTb2NrZXQuY3BwICovOyB9OworCQk0MTMwNzVBQTFERTg1RjMwMDAzOUVDNjkgLyog
TmV0d29ya1JUQ01vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDEzMDc1OUExREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9y
LmNwcCAqLzsgfTsKKwkJNDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2Nr
ZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3
NTk5MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmggKi87IH07CisJCTQxMzA3
NUFDMURFODVGMzcwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5
IC8qIE5ldHdvcmtSVENNb25pdG9yLmggKi87IH07CisJCTQxMzA3NUFEMURFODVGNTgwMDM5RUM2
OSAvKiBMaWJXZWJSVENTb2NrZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXQu
aCAqLzsgfTsKKwkJNDEzMDc1QUUxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5j
cHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVB
MTFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCAqLzsgfTsKKwkJNDEzMDc1
QUYxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTIxREU4NUVFNzAwMzlFQzY5IC8q
IFdlYlJUQ01vbml0b3IuY3BwICovOyB9OworCQk0MTMwNzVCMDFERTg1RjU4MDAzOUVDNjkgLyog
V2ViUlRDTW9uaXRvci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNDEzMDc1QTMxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuaCAqLzsgfTsK
KwkJNDEzMDc1QjExREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTUx
REU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwICovOyB9OworCQk0
MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTYxREU4NUVF
NzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCAqLzsgfTsKKwkJNDEzMDc1QjMx
REU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE3MURFODVFRTcwMDM5RUM2OSAv
KiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi87IH07CisJCTQxMzA3NUI0MURFODVGNTgwMDM5RUM2
OSAvKiBMaWJXZWJSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3Zp
ZGVyLmggKi87IH07CisJCTQxREM0NTk2MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJv
dmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQx
REM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAqLzsgfTsKKwkJ
NDFEQzQ1OTcxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5NTFFM0Q2RTFF
MDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCAqLzsgfTsKKwkJNDFEQzQ1OUIxRTNE
QkIyODAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgaW4gU291cmNlcyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEg
LyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCAqLzsgfTsKKwkJNDFEQzQ1OUMxRTNEQkIyODAw
QjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OUExRTNEQkIyNDAwQjExRjUxIC8qIExpYldl
YlJUQ1NvY2tldENsaWVudC5oICovOyB9OworCQk0MURDNDU5RTFFM0RCREExMDBCMTFGNTEgLyog
V2ViUlRDU29ja2V0LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDQxREM0NTlEMUUzREJDRjAwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQuY3BwICovOyB9
OworCQk0MURDNDU5RjFFM0RCREE1MDBCMTFGNTEgLyogV2ViUlRDU29ja2V0LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZBRjVGMzFFM0JGRTdGMDAx
QUU2NzggLyogV2ViUlRDU29ja2V0LmggKi87IH07CisJCTQxREM0NUExMUUzREM1M0YwMEIxMUY1
MSAvKiBXZWJSVENSZXNvbHZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MURDNDVBMDFFM0RDNTNDMDBCMTFGNTEgLyogV2ViUlRDUmVzb2x2ZXIu
Y3BwICovOyB9OworCQk0MUZBRjVGNTFFM0MwNjQ5MDAxQUU2NzggLyogV2ViUlRDUmVzb2x2ZXIu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkFGNUY0
MUUzQzA2NDEwMDFBRTY3OCAvKiBXZWJSVENSZXNvbHZlci5oICovOyB9OworCQk0MUZBRjVGODFF
M0MxMDIxMDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkFGNUY2MUUzQzBCNDcwMDFBRTY3OCAvKiBM
aWJXZWJSVENSZXNvbHZlci5oICovOyB9OworCQk0MUZBRjVGOTFFM0MxMDI1MDAxQUU2NzggLyog
TGliV2ViUlRDUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gNDFGQUY1RjcxRTNDMEI0NzAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVy
LmNwcCAqLzsgfTsKIAkJNDQ1MEFFQzAxREMzRkFFNTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNv
Y29hLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQ0
NTBBRUJGMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFyZWRNZW1vcnlDb2NvYS5jcHAgKi87IH07CiAJ
CTRBM0NDMThBMTlCMDYzRTcwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA0QTQxMEYzOTE5QUY3QjA0MDAyRUJBQjUgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkuY3BwICovOyB9OwogCQk0QTNDQzE4QjE5QjA2NDBGMDBEMTRBRUYgLyog
VXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjNBMTlBRjdCMDQwMDJFQkFCNSAv
KiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oICovOyB9OwpAQCAtMTA0
MSw2ICsxMDY2LDEyIEBACiAJCTUxRUZDMUNGMTUyNEU2MjUwMEM5QTkzOCAvKiBXS0J1bmRsZURP
TVdpbmRvd0V4dGVuc2lvbi5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFGQTJENTQxNTIxMTE4NjAwQzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0
ZW5zaW9uLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJNTFGMDYwRTAxNjU0MzE3RjAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MERF
MTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggKi87IH07CiAJ
CTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwICovOyB9OworCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0
TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdl
UmVjZWl2ZXIuY3BwICovOyB9OworCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUQgLyogTmV0d29y
a1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JU
Q1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYz
MjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4
MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1MUYw
NjBFMTE2NTQzMTg1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAg
aW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2
NTQzMTc1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNl
aXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1
MUYwNjBERDE2NTQzMTc1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovOyB9OworCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkUgLyogTmV0d29ya1JUQ1Byb3Zp
ZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OwogCQk1MUY3REM0MTE4MENDOTM2MDAyMTJDQTMg
LyogWFBDU2VydmljZU1haW4ubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSBCQzgyODM5NjE2QjQ3RUM0MDBBMjc4RkUgLyogWFBDU2VydmljZU1haW4ubW0g
Ki87IH07CiAJCTUxRjdEQzQzMTgwQ0M5MzYwMDIxMkNBMyAvKiBGb3VuZGF0aW9uLmZyYW1ld29y
ayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJDM0RF
NDY4MTVBOTE3NjMwMDhEMjZGQyAvKiBGb3VuZGF0aW9uLmZyYW1ld29yayAqLzsgfTsKIAkJNTFG
N0RDNDQxODBDQzkzNjAwMjEyQ0EzIC8qIFdlYktpdC5mcmFtZXdvcmsgaW4gRnJhbWV3b3JrcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4REMyRUY1QjA0ODZBNjk0MDA5OEIy
MTYgLyogV2ViS2l0LmZyYW1ld29yayAqLzsgfTsKQEAgLTI5NzksNiArMzAxMCwzNyBAQAogCQkz
Rjg3QjlCQTE1ODkzRjYzMDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYkNvbG9yQ2hvb3Nlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNGODdCOUJCMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xv
ckNob29zZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViQ29sb3JDaG9v
c2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTNGODdCOUJGMTU4OTQwRDgwMDkw
RkY2MiAvKiBXZWJDb2xvclBpY2tlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBXZWJDb2xvclBpY2tlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTA0ODJD
QjFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBSVENOZXR3b3JrLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gUlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQy5oOyBwYXRoID0gTmV0d29yay93
ZWJydGMvTGliV2ViUlRDLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTk4
MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENTb2NrZXQuY3BwOyBwYXRoID0gTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDU29ja2V0Lmg7IHBh
dGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5oOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JU
Q01vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29y
a1JUQ01vbml0b3IuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENN
b25pdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUIxREU4NEZC
MDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMu
aDsgbmFtZSA9IE5ldHdvcmtSVENNb25pdG9yLmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ01vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEz
MDc1OUMxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgbmFtZSA9IE5ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluOyBwYXRo
ID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5RDFERTg0RkIwMDAzOUVDNjkgLyog
TmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3
b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTQxMzA3NTlGMURFODVFRTcwMDM5RUM2OSAvKiBXZWJSVENTb2NrZXQubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBuYW1lID0gV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0
d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTMwNzVBMDFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldC5oOyBwYXRo
ID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxMzA3NUExMURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDU29ja2V0LmNw
cDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUEyMURFODVFRTcwMDM5RUM2OSAvKiBXZWJSVENNb25p
dG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5h
bWUgPSBXZWJSVENNb25pdG9yLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0
b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklk
ZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJNDEzMDc1QTMxREU4NUVFNzAwMzlFQzY5
IC8qIFdlYlJUQ01vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2Vi
UlRDTW9uaXRvci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBNDFERTg1RUU3MDAzOUVDNjkgLyogV2Vi
UlRDTW9uaXRvci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJSVENNb25p
dG9yLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNz
YWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTUxREU4NUVFNzAw
MzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldEZhY3Rvcnku
Y3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9
IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBNjFERTg1RUU3MDAzOUVDNjkgLyogTGliV2Vi
UlRDU29ja2V0RmFjdG9yeS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXRGYWN0b3J5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE3MURFODVF
RTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBw
YXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5n
LmNwcDsgfTsKKwkJNDEzMDc1QTgxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVy
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJX
ZWJSVENQcm92aWRlci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlm
aWVyID0geGNvZGUubGFuZy5vYmpjcHA7IH07CisJCTQxQUM4NjgxMUUwNDJFNTMwMDMwMzA3NCAv
KiBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IGxpbmVFbmRpbmcg
PSAwOyBuYW1lID0gV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dl
YnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
eGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0gIjxub25lPiI7IH07CisJCTQxREM0
NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxREM0NTk1MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1Byb3Zp
ZGVyLmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MURDNDU5ODFFM0Q2RUQ2MDBCMTFG
NTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFt
ZSA9IE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CisJCTQxREM0NTk5MUUzREJCMjQwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRD
bGllbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRD
U29ja2V0Q2xpZW50LmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENT
b2NrZXRDbGllbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MURDNDU5QTFF
M0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldENsaWVudC5oOyBwYXRoID0gTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MURDNDU5RDFFM0RCQ0YwMDBCMTFGNTEgLyogV2ViUlRDU29ja2V0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFdlYlJUQ1NvY2tldC5jcHA7
IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MURDNDVBMDFFM0RDNTNDMDBCMTFGNTEgLyogV2ViUlRDUmVzb2x2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDUmVzb2x2ZXIu
Y3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OworCQk0MUZBRjVGMzFFM0JGRTdGMDAxQUU2NzggLyogV2ViUlRDU29j
a2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlJUQ1NvY2tldC5oOyBw
YXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxRkFGNUY0MUUzQzA2NDEwMDFBRTY3OCAvKiBXZWJSVENSZXNvbHZlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBXZWJSVENSZXNvbHZlci5oOyBwYXRoID0g
TmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKKwkJNDFGQUY1RjYxRTNDMEI0NzAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVyLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ1Jlc29sdmVyLmg7IHBhdGgg
PSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MUZBRjVGNzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTGliV2ViUlRDUmVzb2x2
ZXIuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hh
cmVkTWVtb3J5Q29jb2EuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
U2hhcmVkTWVtb3J5Q29jb2EuY3BwOyBwYXRoID0gY29jb2EvU2hhcmVkTWVtb3J5Q29jb2EuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QTQxMEYzNTE5QUY3QUMzMDAyRUJBQjUg
LyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNEE0MTBGMzYxOUFGN0FDMzAwMkVCQUI1IC8qIFdLVXNl
ck1lZGlhUGVybWlzc2lvblJlcXVlc3QuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRo
ID0gV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtMzE3Niw2ICszMjM4LDEyIEBACiAJCTUxRTM5OTA1MUQ2RjU0QzUwMDlDODgzMSAv
KiBVSUdhbWVwYWRQcm92aWRlckNvY29hLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2Jq
Y3BwOyBwYXRoID0gVUlHYW1lcGFkUHJvdmlkZXJDb2NvYS5tbTsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJNTFFOTQ5OTYxRDc2MUNDNzAwRUM5RUI5IC8qIFVJR2FtZXBhZFByb3ZpZGVy
SU9TLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gVUlHYW1lcGFk
UHJvdmlkZXJJT1MubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjA2MEREMTY1
NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBX
ZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUlRD
U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2
ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYz
MjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IHBhdGggPSBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRiAvKiBXZWJSVENNb25p
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJUQ01vbml0b3JN
ZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYwNjBE
RDE2NTQzMTc1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkUgLyogTmV0
d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5l
dHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1l
c3NhZ2VzLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUg
PSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGN0RDNEExODBDQzkzNjAwMjEyQ0EzIC8qIGNv
bS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnhwYyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBleHBsaWNpdEZpbGVUeXBlID0gIndyYXBwZXIueHBjLXNlcnZpY2UiOyBpbmNsdWRlSW5JbmRl
eCA9IDA7IHBhdGggPSBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy54cGM7IHNvdXJjZVRyZWUg
PSBCVUlMVF9QUk9EVUNUU19ESVI7IH07CiAJCTUxRkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBX
S0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwpAQCAtNDY4OCw2ICs0NzU2LDggQEAKIAkJCQlCQ0M0M0FCOTEyN0I5NURDMDAzMTdGMTYg
LyogUGxhdGZvcm1Qb3B1cE1lbnVEYXRhLmggKi8sCiAJCQkJRTE4QzkyRjMxMkRCOUU3MTAwQ0Yy
QUVCIC8qIFByaW50SW5mby5jcHAgKi8sCiAJCQkJRTFDQzFCOEUxMkQ3RUFERjAwNjI1ODM4IC8q
IFByaW50SW5mby5oICovLAorCQkJCTQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3
b3JrLmNwcCAqLywKKwkJCQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5o
ICovLAogCQkJCUY2QTBDMTNGMTMyODFFNkUwMDcwNDMwRiAvKiBSZXNvdXJjZUNhY2hlc1RvQ2xl
YXIuaCAqLywKIAkJCQlCQzJEMDIxNjEyQUM0MUNCMDBFNzMyQTMgLyogU2FtZURvY3VtZW50TmF2
aWdhdGlvblR5cGUuaCAqLywKIAkJCQkxQUFCNEE4QzEyOTZGMEEyMDAyMzk1MkYgLyogU2FuZGJv
eEV4dGVuc2lvbi5oICovLApAQCAtNTUzMSw2ICs1NjAxLDQ5IEBACiAJCQlwYXRoID0gUmVzb3Vy
Y2VzL21hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CiAJCX07CisJCTQxMzA3NTk3MURF
ODRFRDcwMDM5RUM2OSAvKiB3ZWJydGMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNo
aWxkcmVuID0gKAorCQkJCTQxREM0NTk0MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJv
dmlkZXIuaCAqLywKKwkJCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1By
b3ZpZGVyLmNwcCAqLywKKwkJCQk0MURDNDU5ODFFM0Q2RUQ2MDBCMTFGNTEgLyogTmV0d29ya1JU
Q1Byb3ZpZGVyLm1lc3NhZ2VzLmluICovLAorCQkJCTQxREM0NTk5MUUzREJCMjQwMEIxMUY1MSAv
KiBMaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwICovLAorCQkJCTQxREM0NTlBMUUzREJCMjQwMEIx
MUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuaCAqLywKKwkJCQk0MTMwNzU5ODFERTg0RkIw
MDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5jcHAgKi8sCisJCQkJNDEzMDc1OTkxREU4NEZC
MDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCAqLywKKwkJCQk0MTMwNzU5RDFERTg0RkIw
MDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzU5
QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuY3BwICovLAorCQkJCTQxMzA3
NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oICovLAorCQkJCTQxMzA3
NTlDMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbiAqLywK
KwkJCSk7CisJCQluYW1lID0gd2VicnRjOworCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKKwkJ
fTsKKwkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0YyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFEQzQ1OUQxRTNEQkNGMDAwQjExRjUx
IC8qIFdlYlJUQ1NvY2tldC5jcHAgKi8sCisJCQkJNDFGQUY1RjMxRTNCRkU3RjAwMUFFNjc4IC8q
IFdlYlJUQ1NvY2tldC5oICovLAorCQkJCTQxMzA3NTlGMURFODVFRTcwMDM5RUM2OSAvKiBXZWJS
VENTb2NrZXQubWVzc2FnZXMuaW4gKi8sCisJCQkJNDEzMDc1QTAxREU4NUVFNzAwMzlFQzY5IC8q
IExpYldlYlJUQ1NvY2tldC5oICovLAorCQkJCTQxMzA3NUExMURFODVFRTcwMDM5RUM2OSAvKiBM
aWJXZWJSVENTb2NrZXQuY3BwICovLAorCQkJCTQxMzA3NUEyMURFODVFRTcwMDM5RUM2OSAvKiBX
ZWJSVENNb25pdG9yLmNwcCAqLywKKwkJCQk0MTMwNzVBMzFERTg1RUU3MDAzOUVDNjkgLyogV2Vi
UlRDTW9uaXRvci5oICovLAorCQkJCTQxMzA3NUE0MURFODVFRTcwMDM5RUM2OSAvKiBXZWJSVENN
b25pdG9yLm1lc3NhZ2VzLmluICovLAorCQkJCTQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAvKiBM
aWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcCAqLywKKwkJCQk0MTMwNzVBNjFERTg1RUU3MDAzOUVD
NjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oICovLAorCQkJCTQxMzA3NUE3MURFODVFRTcw
MDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgKi8sCisJCQkJNDEzMDc1QTgxREU4NUVF
NzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggKi8sCisJCQkJNDFGQUY1RjcxRTNDMEI0
NzAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVyLmNwcCAqLywKKwkJCQk0MUZBRjVGNjFFM0Mw
QjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCAqLywKKwkJCQk0MURDNDVBMDFFM0RD
NTNDMDBCMTFGNTEgLyogV2ViUlRDUmVzb2x2ZXIuY3BwICovLAorCQkJCTQxRkFGNUY0MUUzQzA2
NDEwMDFBRTY3OCAvKiBXZWJSVENSZXNvbHZlci5oICovLAorCQkJCTQxQUM4NjgxMUUwNDJFNTMw
MDMwMzA3NCAvKiBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTFCMjI2MjFF
MzcxMjQ0MDA0RjczNjMgLyogTGliV2ViUlRDLmggKi8sCisJCQkpOworCQkJbmFtZSA9IHdlYnJ0
YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ0NTBBRUJFMURDM0ZBQUMw
MDk5NDNGMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4g
PSAoCkBAIC01NTUzLDYgKzU2NjYsNyBAQAogCQk1MTA1QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyog
TmV0d29yayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCisJCQkJ
NDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0YyAqLywKIAkJCQk1MTA1QjBENDE2MkY3
QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcCAqLywKIAkJCQk1MTA1
QjBENTE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmggKi8sCiAJ
CQkJNTFGQjA5MDIxNjNBM0IxQzAwRUMzMjRBIC8qIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5t
ZXNzYWdlcy5pbiAqLywKQEAgLTU1NzksNiArNTY5Myw3IEBACiAJCQkJRTE3OThDNzYxNkU2ODE1
NTAwMjQwMTM5IC8qIEZpbGVBUEkgKi8sCiAJCQkJMkRBOTQ0QkIxODg1MTFERDAwRUQ4NkRCIC8q
IGlvcyAqLywKIAkJCQk1MTBDQzdEQzE2MTM4RTI5MDBEMDNFRDMgLyogbWFjICovLAorCQkJCTQx
MzA3NTk3MURFODRFRDcwMDM5RUM2OSAvKiB3ZWJydGMgKi8sCiAJCQkJNTEzQTE2NDkxNjMwQTlC
RjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcCAqLywKIAkJCQk1
MTNBMTY0QTE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
aCAqLywKIAkJCQk1MTNBMTY0QjE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rpb25U
b1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gKi8sCkBAIC03NDQxLDYgKzc1NTYsMTIgQEAKIAkJCQlC
Q0VFN0FDQzEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCAqLywKIAkJCQlCQ0VFN0FDRDEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCAqLywKIAkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYz
MjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MERE
MTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8s
CisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNzYWdl
UmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyRSAvKiBOZXR3b3Jr
UlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUw
MEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJ
NTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwICovLAogCQkJCTUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRl
ck1lc3NhZ2VzLmggKi8sCiAJCQkJN0E3OTFFRjkxQzdDRkIzNzAwQzRDNTJCIC8qIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJN0E3OTFF
RjgxQzdDRkIxMDAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3Nh
Z2VzLmggKi8sCkBAIC03NzM5LDYgKzc4NjAsNyBAQAogCQkJCTA3NkU4ODRFMUExM0NBREYwMDVF
OTBGQyAvKiBBUElDb250ZXh0TWVudUNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE1NzhC
ODMxMjA5RUNFRjAwQTM3QzRBIC8qIEFQSURhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTgzODkx
QjYzMUE2OEIzNDIwMDMwRjM4NiAvKiBBUElEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92
aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxQkEzM0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQ
SURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFGN0QzNkMxMThEQTUxM0YwMEQ5RDY1
OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE2QTRBNUQxMjBB
MkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmggaW4gSGVhZGVycyAqLywKQEAgLTc4ODAsNiArODAw
Miw3IEBACiAJCQkJMUExRUM2OUUxODcyMDkyMTAwQjk1MUYwIC8qIEltcG9ydGFuY2VBc3NlcnRp
b24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUUzMTFDODNFOTgwMDhGMzM3NSAvKiBJbmpl
Y3RlZEJ1bmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVCQTIxMjc3NjFEMDAwMzMyMkI4
IC8qIEluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTM1RUVCQTQxMjc3NjFENjAwMzMyMkI4IC8qIEluamVjdGVkQnVuZGxl
QmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNFRTdEQzUxMjhCNjQ1
RDAwOTgyN0RBIC8qIEluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk3
Q0JCODExRDFBQTBGOEIxMDA2QjE5NDIgLyogSW5qZWN0ZWRCdW5kbGVGaWxlSGFuZGxlLmggaW4g
SGVhZGVycyAqLywKQEAgLTc4OTksNiArODAyMiw3IEBACiAJCQkJQzVCQ0U1REYxQzUwNzY2QTAw
Q0RFM0ZBIC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9uLmggaW4gSGVhZGVycyAq
LywKIAkJCQlDNThDREYyQTE4ODc1NDhCMDA4NzE1MzYgLyogSW50ZXJhY3Rpb25JbmZvcm1hdGlv
bkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJENEQyQzgxMURGNjBCRjMwMDJFQjEw
QyAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdC5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDFGQUY1RjUxRTNDMDY0OTAwMUFFNjc4IC8qIFdlYlJUQ1Jlc29sdmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQkxQUU0OUE0OTExRkZBOENFMDA0OEI0NjQgLyogSlNOUE1ldGhvZC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMUFFNDk4NzgxMUZGN0ZBQTAwNDhCNDY0IC8qIEpTTlBPYmplY3QuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTUzREVBMzY2MURERTQyMzEwMEU4MjY0OCAvKiBqc29uLmhwcCBpbiBI
ZWFkZXJzICovLApAQCAtODAxNCw2ICs4MTM4LDcgQEAKIAkJCQkxQTNENjEwMjEzQTdDQzJBMDBG
OTVENEUgLyogUGx1Z2luTW9kdWxlSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwNDM5NzYx
MjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblByb2Nlc3MuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
QzVGRkMyMTc0QkZEMUIwMDAxNDgzRCAvKiBQbHVnaW5Qcm9jZXNzQXR0cmlidXRlcy5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDFEQzQ1OUYxRTNEQkRBNTAwQjExRjUxIC8qIFdlYlJUQ1NvY2tldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwRUM5MDYxMjRDMEFCODAwN0VGNEE1IC8qIFBsdWdpblBy
b2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTBFQzkwRjEyNEMwQUY1MDA3
RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTc4NjVCQTE2Q0FDNzE1MDBBQ0U4M0EgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApAQCAtODA3MCw2ICs4MTk1LDcgQEAKIAkJ
CQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eS5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAwOUI2NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0RDlGNTcxOTExOUQzNTAwMDA2M0E3IC8q
IFNlcnZpY2VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QUIxREU4NUYz
MzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRkRF
NjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3RhdGVDb2RpbmcuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTc1M0UzRTBFMTg4NzM5ODkwMDE4ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5o
IGluIEhlYWRlcnMgKi8sCkBAIC04MTU5LDYgKzgyODUsNyBAQAogCQkJCTFBQTgzRjZEMUE1QjYz
RkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlD
RDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xvZ2dpbmdDbGllbnQuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVu
dExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8q
IExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzAzMkQ3QjEwRjQzNzhE
MDA1OEMxNUEgLyogV2ViRHJhZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNBMEVGOUYx
MjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5kUHJveHkuaCBpbiBIZWFkZXJzICovLAog
CQkJCUJDMDMyRDdEMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJFZGl0b3JDbGllbnQuaCBpbiBIZWFk
ZXJzICovLApAQCAtODE4Myw2ICs4MzEwLDcgQEAKIAkJCQlCQzU0Q0FDQjEyRDY0MjkxMDA1QzY3
QjAgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
MEU2MTgzMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eU1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBFNjA3MzEyRDZCQzIwMDAxMkE3MkEgLyogV2Vi
R2VvbG9jYXRpb25Qb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QUMxREU4NUYz
NzAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzFC
RTFGMjEyRDU0REJEMDAwNEEyMjggLyogV2ViR2VvbG9jYXRpb25Qcm92aWRlci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkQ1MDM2NzYxQkNFRDE5RjAwRTIwQkIzIC8qIFdlYkdlc3R1cmVFdmVudC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTNBODhCMzMxQkM2RTlDRDAwQUJBNUMyIC8qIFdlYkhpdFRl
c3RSZXN1bHREYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTgxOTIsNiArODMyMCw3IEBACiAJCQkJ
NTExQjI0QTcxMzJFMDk1NzAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFzZVByb3h5LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk1MUQwMkY2QzEzMkVDNzM3MDBCRUFBOTYgLyogV2ViSWNvbkRhdGFiYXNl
UHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzNzAxQzczOUQ0MjAwNzk5
M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEz
MDc1QUQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJNTEwNTIzN0ExQzczREE3NzAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVu
dE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTQxMjk5NDFDNjQyOEJCMDA1OUU3MTQg
LyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1MjM3
NDFDNzNEMzhCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyTWVzc2FnZXMuaCBp
biBIZWFkZXJzICovLApAQCAtODI0Nyw2ICs4Mzc2LDcgQEAKIAkJCQlDREEyOUExQjFDQkRCRjQx
MDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJQ0RBMjlBMjkxQ0JFQjY3QTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJN
ZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMjAxQ0JFQjVGQjAwOTAxQ0NGIC8q
IFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEw
NDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUNEQTI5QTJCMUNCRUI2N0EwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJv
eHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENTkyOUYxNjZFMDYwMDAwRTZCRjAy
IC8qIFdlYlBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZC
MzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDIwLDYgKzg1
NTAsNyBAQAogCQkJCTA3QTVFQkJDMUM3QkE0M0UwMEI5Q0E2OSAvKiBXS0ZyYW1lSGFuZGxlUmVm
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTRENjY0QzE4QTMwMzBFMDBEODJFMjEgLyogV0tGcmFt
ZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTJERjlFRUU4MUE3ODI0NTUwMEI2Q0ZCRSAvKiBX
S0ZyYW1lSW5mb0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUZBRjVGODFFM0MxMDIx
MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNkZB
MjFFMUJEMDQzNUIwMEFBQTY1MCAvKiBXS0ZyYW1lSW5mb1ByaXZhdGUuaCBpbiBIZWFkZXJzICov
LAogCQkJCTJEM0E2NUU3MUE3QzNBQTcwMENBQzYzNyAvKiBXS0ZyYW1lSW5mb1JlZi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNCOUY2QTUxMTIzREQwRDAwQTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lM
aXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDU5LDYgKzg1OTAsNyBAQAogCQkJCTM3MEYz
NEEzMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLmggaW4gSGVhZGVycyAqLywK
IAkJCQkzNzBGMzRBNTE4MjlCRUEzMDA5MDI3QzggLyogV0tOYXZpZ2F0aW9uRGF0YUludGVybmFs
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y2OUZBOTExNzZEMUNCMDA0NzFBNTIgLyogV0tOYXZp
Z2F0aW9uRGF0YVJlZi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExQjIyNjQxRTM3MUJBNjAwNEY3
MzYzIC8qIExpYldlYlJUQy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCQzNERkMxODk5RjUxQzAw
NEYwNjI2IC8qIFdLTmF2aWdhdGlvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEy
MEQ1MTE4QUQ1MEUwMDA1RDFFRDQgLyogV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmggaW4g
SGVhZGVycyAqLywKIAkJCQkxQUJDM0RGMTE4OTlDNkI2MDA0RjA2MjYgLyogV0tOYXZpZ2F0aW9u
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtODU4MSw2ICs4NzEzLDcgQEAKIAkJCQkzNzdF
QUQ0OTE3RTJDNzdCMDAyRDE5M0QgLyogV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZS5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUFBRjA4OUQxOTI2N0ZDODAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdElu
dGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg4MkRGQTFDN0U5OTczMDA2QkY3MzEgLyog
V0tVc2VyU2NyaXB0UHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjAxREU4NUY1
ODAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDODlEMkE0
MUE2Nzg4NzUwMDNBNUZERSAvKiBXS1VzZXJTY3JpcHRSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDODY5OUI1MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDODY5OUI3MTE2QUFEQUEwMDJBOTI1QiAvKiBXS1ZpZXdJbnRlcm5hbC5oIGluIEhlYWRlcnMg
Ki8sCkBAIC04NjI0LDYgKzg3NTcsNyBAQAogCQkJCTFBREY1OTFCMTg5MDUyOEUwMDQzQzE0NSAv
KiBXS1dlYlZpZXdDb25maWd1cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDdBQUZENjE4
Qzk1NkFGMDBBN0FDRDQgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbkludGVybmFsLmggaW4gSGVh
ZGVycyAqLywKIAkJCQkxQUMxNDE1MTE4QUM0N0VFMDA2QzYwMkMgLyogV0tXZWJWaWV3Q29uZmln
dXJhdGlvblByaXZhdGUuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxREM0NTlDMUUzREJCMjgwMEIx
MUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEN0FB
RkQzMThDODY0MDYwMEE3QUNENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTJEQzZEOUMzMThDNDRBNjEwMDQzQkFENCAvKiBXS1dlYlZpZXdDb250ZW50
UHJvdmlkZXJSZWdpc3RyeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2NkJGOEYxOEEwNTJFRDAw
MjA3MUI0IC8qIFdLV2ViVmlld0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKQEAgLTkyMzEsNyAr
OTM2NSw5IEBACiAJCQkJMUE0M0U4MjkxODhGM0NEQzAwOUU0RDMwIC8qIF9XS1Byb2Nlc3NQb29s
Q29uZmlndXJhdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBOUUzMjhFMTgyMTY1QTkwMEY1
RDA0QyAvKiBfV0tSZW1vdGVPYmplY3RJbnRlcmZhY2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkx
QTlFMzI4QTE4MjE2MzY5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gaW4g
U291cmNlcyAqLywKKwkJCQk0MTA0ODJDRDFEREQzMjRDMDBGMDA2RDAgLyogUlRDTmV0d29yay5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlBNTVCQTgxMTFCQTEzMTgxMDA3Q0QzM0QgLyogX1dLUmVt
b3RlV2ViSW5zcGVjdG9yVmlld0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MURD
NDVBMTFFM0RDNTNGMDBCMTFGNTEgLyogV2ViUlRDUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUEwMDJENDUxOTZCMzM4RTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTJENkIzNzFDMThBOTY3QUQwMDQyQUU4MCAvKiBfV0tUaHVtYm5haWxW
aWV3Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJN0MyNDEzMDIxQUFDRkE3NTAwQTU4QzE1IC8qIF9X
S1VzZXJDb250ZW50RXh0ZW5zaW9uU3RvcmUubW0gaW4gU291cmNlcyAqLywKQEAgLTkzNTUsNiAr
OTQ5MSw3IEBACiAJCQkJOENGRUNFOTQxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDMDMyREE3MTBGNDM3RDEwMDU4QzE1QSAvKiBFbmNvZGVy
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxQjE1QTg0MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZp
cm9ubWVudFV0aWxpdGllcy5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBRjFERTg1RjU4
MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzVG
QTE0OTZCNTI2MDBBNEVFMDYgLyogRXZlbnREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTFBQTU3NjAyMTQ5NkI5NzkwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMDBCOTY2MTkxOEUyNUFFMTAwQ0UxRjg4IC8q
IEZpbmRDbGllbnQubW0gaW4gU291cmNlcyAqLywKQEAgLTk1MDgsNiArOTY0NSw3IEBACiAJCQkJ
NUM4NUM3ODgxQzNGMjNDRTAwNjFBNEZBIC8qIFBlbmRpbmdEb3dubG9hZC5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQkwRjVFMjAwMzE4RTc3MDUxMDAzRUMzRTUgLyogUGxhdGZvcm1DQUFuaW1hdGlv
blJlbW90ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEQTA0OUIzMTgwQ0NDRDMwMEFBRkE5RSAv
KiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QTkx
REU4NUYyQzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJMkQ4NzEwMTYxODI4NDE1RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3Rv
bS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJEODk0OUYwMTgyMDQ0RjYwMEU4OThBQSAvKiBQbGF0
Zm9ybUNBTGF5ZXJSZW1vdGVUaWxlZEJhY2tpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkND
NDNBQkExMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291
cmNlcyAqLywKQEAgLTk2OTksNiArOTgzNyw3IEBACiAJCQkJQkMxMTFCNUUxMTJGNjI5ODAwMzM3
QkFCIC8qIFdlYkV2ZW50RmFjdG9yeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDRTQ2OTUzMTIx
NEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
RTQ2OTU1MTIxNEU2Q0IwMDBCOThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHku
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDFEQzQ1OTcxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUFERDExMkY1QjkzMDAz
MzdCQUIgLyogV2ViRnJhbWUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFNDY5NzkxMjE0RjJC
NDAwMEI5OEVCIC8qIFdlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzExMUE1RjExMkY0RkJCMDAzMzdCQUIgLyogV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC05NzE3LDYgKzk4NTYsNyBAQAogCQkJCUJDMEU2MDYxMTJENkJBOTEw
MDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkM1NENBQ0MxMkQ2NDI5MTAwNUM2N0IwIC8qIFdlYkdlb2xvY2F0aW9u
TWFuYWdlclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEU2MTgyMTJENkNCMUQwMDEy
QTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0MTMwNzVBRTFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29j
a2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMEU2MDc0MTJENkJDMjAwMDEyQTcyQSAvKiBX
ZWJHZW9sb2NhdGlvblBvc2l0aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMUJFMUYzMTJE
NTREQkQwMDA0QTIyOCAvKiBXZWJHZW9sb2NhdGlvblByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTJENTAzNjc1MUJDRUQxOUYwMEUyMEJCMyAvKiBXZWJHZXN0dXJlRXZlbnQuY3BwIGlu
IFNvdXJjZXMgKi8sCkBAIC05ODM2LDYgKzk5NzYsMTIgQEAKIAkJCQkzNzYwODgxRTE1MDQxM0U5
MDBGQzgyQzcgLyogV2ViUmVuZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMEFG
RkI5MTY1NDIwNDgwMDFCQTA1RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMy
ODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJ
CQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8qIE5l
dHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFG
MDYwRTExNjU0MzE4NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0
d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFG
MDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OTFFRkMxQzdEMDhDNTAwQzRDNTJCIC8qIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTc5MUVGQTFD
N0NGQ0YxMDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlTWVzc2FnZVJl
Y2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdDMzYxRDcyMTkyN0ZBMzYwMDM2QTU5RCAv
KiBXZWJTY3JpcHRNZXNzYWdlSGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk4NDYsNiAr
OTk5Miw3IEBACiAJCQkJMUE0ODMyQzMxQTk2NUEzQzAwOEI0REZFIC8qIFdlYnNpdGVEYXRhU3Rv
cmVDb2NvYS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTVDNzcwNjc0MUQxMTM4MzgwMDEyNzAwRiAv
KiBXZWJTb2NrZXRQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzYwMzQ5RjFBQ0Iz
NEQ2MDA2MjY1NDkgLyogV2ViU1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQxREM0NTlCMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE1MkMwRjcxQTM4Q0RDNzAwMTYxNjBBIC8qIFdlYlN0
b3JhZ2VOYW1lc3BhY2VQcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M1NzE1QzEx
NUFEQUVGMDAxQ0NBRjkgLyogV2ViU3lzdGVtSW50ZXJmYWNlLm1tIGluIFNvdXJjZXMgKi8sCiAJ
CQkJNTEwMzJGMTgxODBGNzNCQjAwOTYxQkI3IC8qIFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVj
dGlvbi5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk4NjMsMTAgKzEwMDEwLDEyIEBACiAJCQkJM0Y0
MThFRjkxODg3QkQ5NzAwMjc5NUZEIC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTJENUExQjExQzU3NDk2MjAwREUzNEEz
IC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eS5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTNGNDE4RUZCMTg4N0JEOTcwMDI3OTVGRCAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJv
eHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QjMxREU4NUY1
ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJE
RkM3REJDMUJDQ0MxOTUwMEMxNTQ4QyAvKiBXZWJWaWV3SW1wbC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUMwMzM3REQxMTI3QTI5ODAwMDhGRjRGNCAvKiBXZWJXaGVlbEV2ZW50LmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTg2ODE2MEQwMTg3NjQ1NTcwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25u
ZWN0aW9uLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8q
IFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RCYXNlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJ
NDEzMDc1QjExREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJMjkyMzJERjgxOEIyQTlBRTAwRDA1OTZGIC8qIFdLQWNjZXNzaWJp
bGl0eVdlYlBhZ2VPYmplY3RJT1MubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOTIzMkRGOTE4QjJB
QjNBMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTBGQ0I0RTQ5MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0FjdGlvblNoZWV0Lm1t
IGluIFNvdXJjZXMgKi8sCkBAIC05ODg0LDYgKzEwMDMzLDcgQEAKIAkJCQlCQ0JBQUNGNTE0NTIz
MjRGMDA1M0Y4MkYgLyogV0tCcm93c2luZ0NvbnRleHRHcm91cC5tbSBpbiBTb3VyY2VzICovLAog
CQkJCTFBRTAwRDRDMTgyRDZFQjAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5t
bSBpbiBTb3VyY2VzICovLAogCQkJCUJDMjA0RUVFMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRs
ZS5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBQTFERTg1RjMwMDAzOUVDNjkgLyogTmV0
d29ya1JUQ01vbml0b3IuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RUVCOUUxMjc3NjFBQzAw
MzMyMkI4IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTkzNUVFQkEwMTI3NzYxQUMwMDMzMjJCOCAvKiBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW0u
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGQTJENzcxNTIxMkUyNjAwQzFCQTBCIC8qIFdLQnVu
ZGxlRE9NV2luZG93RXh0ZW5zaW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTg5OCw2ICsxMDA0
OCw3IEBACiAJCQkJN0NGNDdGRjYxNzI3NUI3MTAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5l
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3Q0Y0N0ZGRTE3Mjc2QUUzMDA4QUNCOTEgLyogV0tC
dW5kbGVQYWdlQmFubmVyTWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3QjYzM0UxMkE0NUQx
MjAwRDE3NEE0IC8qIFdLQnVuZGxlUGFnZUdyb3VwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
RkFGNUY5MUUzQzEwMjUwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlFRENBNzFCNzEyOEREQThDMDAyMDFCMjYgLyogV0tCdW5kbGVQYWdlT3Zlcmxh
eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzYwQzU3QTEyNDBBNTQ2MDA4QzVFMjkgLyogV0tC
dW5kbGVSYW5nZUhhbmRsZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzE0REY5RTEyMEI2MzVG
MDA4MjZDMEMgLyogV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk5
MjYsNiArMTAwNzcsNyBAQAogCQkJCUJDMDE3RDIwMTYyNjMzMDgwMDcwNTRGNSAvKiBXS0RPTVRl
eHRJdGVyYXRvci5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBQjdENzhFMTI4OENEOUEwMENGRDA4
QyAvKiBXS0Rvd25sb2FkLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBRjQ1OTJFMTk0NjRCMjAw
MEY5RDRBMiAvKiBXS0Vycm9yLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDFEQzQ1OUUxRTNEQkRB
MTAwQjExRjUxIC8qIFdlYlJUQ1NvY2tldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0ZENTQ4
QjEzMkQ4MjY4MDA1NUQ4MTYgLyogV0tFcnJvckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJD
NDA3NUZCMTI0RkYwMjcwMDY4RjIwQSAvKiBXS0Vycm9yUmVmLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUE1OEI2RjA5MThGQ0E3MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSBpbiBT
b3VyY2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAwOGFiMWUzNTUxNmYx
OGQ5YzBkNDU3ZWY2MTQ0MTlhOWJjMzAwZDc2Li5jNDljYjIyNTQ0ZGFjMDQ1ZjhmYWI3NTgyYWJk
M2ZlZDY0ODdiOWM1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMzEsNiArMzEs
MTAgQEAKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJM
b2FkZXJTdHJhdGVneS5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJS
VENNb25pdG9yLmgiCisjaW5jbHVkZSAiV2ViUlRDTW9uaXRvck1lc3NhZ2VzLmgiCisjaW5jbHVk
ZSAiV2ViUlRDUmVzb2x2ZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlJUQ1NvY2tldE1lc3Nh
Z2VzLmgiCiAjaW5jbHVkZSAiV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUg
PFdlYkNvcmUvQ2FjaGVkUmVzb3VyY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lbW9yeUNhY2hl
Lmg+CkBAIC01NCwxMiArNTgsMjYgQEAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjp+TmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uKCkKIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRS
ZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYg
ZGVjb2RlcikKIHsKICAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVz
c2FnZXM6OldlYlJlc291cmNlTG9hZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAg
ICAgaWYgKFdlYlJlc291cmNlTG9hZGVyKiB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlByb2Nlc3M6
OnNpbmdsZXRvbigpLndlYkxvYWRlclN0cmF0ZWd5KCkud2ViUmVzb3VyY2VMb2FkZXJGb3JJZGVu
dGlmaWVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKSkKKyAgICAgICAgaWYgKGF1dG8qIHdlYlJl
c291cmNlTG9hZGVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViTG9hZGVyU3RyYXRlZ3ko
KS53ZWJSZXNvdXJjZUxvYWRlckZvcklkZW50aWZpZXIoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkp
KQogICAgICAgICAgICAgd2ViUmVzb3VyY2VMb2FkZXItPmRpZFJlY2VpdmVXZWJSZXNvdXJjZUxv
YWRlck1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7Ci0gICAgICAgIAogICAgICAgICByZXR1
cm47CiAgICAgfQogCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdl
UmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6bWVzc2FnZVJlY2VpdmVy
TmFtZSgpKSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQygpLnNv
Y2tldChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkuZGlkUmVjZWl2ZVdlYlJUQ1NvY2tldE1lc3Nh
Z2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYg
KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENNb25pdG9y
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkubGliV2ViUlRDKCkubmV0d29ya01vbml0b3IoKS5kaWRSZWNlaXZlV2ViUlRDTW9uaXRvck1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
aWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENSZXNv
bHZlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmds
ZXRvbigpLmxpYldlYlJUQygpLnJlc29sdmVyKGRlY29kZXIuZGVzdGluYXRpb25JRCgpKS5kaWRS
ZWNlaXZlV2ViUlRDUmVzb2x2ZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBkaWRSZWNlaXZlTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVEMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uZjkxMjM1MjU1ZGFkMTg2OGY1MTJiZDNhZWUyOTBmMTliYTM1Zjc4ZAotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYg
VVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCIKKyNp
bmNsdWRlICJXZWJSVENNb25pdG9yLmgiCisjaW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXIuaCIKKyNp
bmNsdWRlICJXZWJSVENTb2NrZXQuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExp
YldlYlJUQyB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDKCkgPSBkZWZhdWx0OworCisgICAgV2Vi
UlRDTW9uaXRvciYgbmV0d29ya01vbml0b3IoKSB7IHJldHVybiBtX3dlYk5ldHdvcmtNb25pdG9y
OyB9CisgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSYgc29ja2V0RmFjdG9yeSgpIHsgcmV0dXJu
IG1fc29ja2V0RmFjdG9yeTsgfQorCisgICAgV2ViUlRDU29ja2V0IHNvY2tldCh1aW50NjRfdCBp
ZGVudGlmaWVyKSB7IHJldHVybiBXZWJSVENTb2NrZXQoc29ja2V0RmFjdG9yeSgpLCBpZGVudGlm
aWVyKTsgfQorICAgIFdlYlJUQ1Jlc29sdmVyIHJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIp
IHsgcmV0dXJuIFdlYlJUQ1Jlc29sdmVyKHNvY2tldEZhY3RvcnkoKSwgaWRlbnRpZmllcik7IH0K
KyAgICAKK3ByaXZhdGU6CisgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSBtX3NvY2tldEZhY3Rv
cnk7CisgICAgV2ViUlRDTW9uaXRvciBtX3dlYk5ldHdvcmtNb25pdG9yOworfTsKKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRl
ci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1Byb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41N2U5YjA2Yjc4YmY0NmI1NjU3NzZlMDJjOTcwYTE5
Mzk5NmI1MTQxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKQEAgLTAsMCArMSw0NSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRl
ci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d2VicnRjL2FwaS9w
ZWVyY29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3J0Yzo6c2Nv
cGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBMaWJXZWJSVENQcm92
aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVy
JiBvYnNlcnZlcikKK3sKKyAgICBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5pbml0aWFsaXplTGli
V2ViUlRDKCk7CisgICAgcmV0dXJuIFdlYkNvcmU6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKG9ic2Vy
dmVyLCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5uZXR3b3JrTW9uaXRvcigp
LCBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVEMoKS5zb2NrZXRGYWN0b3J5KCkpOwor
fQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ1Byb3ZpZGVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTMzZmFjNWI4ZTQwNmE2NDIwNzUyN2Yw
OTAwY2JjNjdjMDJjZTkyYgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuaApAQCAtMCwwICsxLDQ0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJU
Q1Byb3ZpZGVyLmg+CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgTGliV2ViUlRDUHJvdmlkZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6TGliV2Vi
UlRDUHJvdmlkZXIgeworcHVibGljOgorICAgIExpYldlYlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0
OworCitwcml2YXRlOgorICAgIHJ0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0
aW9uSW50ZXJmYWNlPiBjcmVhdGVQZWVyQ29ubmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9u
T2JzZXJ2ZXImKSBmaW5hbDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YWUzNWIxZjc4YjAzZDU3NjllYTJkNDliNWViZDExOGUyYjIyMGFiYQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVz
b2x2ZXIuY3BwCkBAIC0wLDAgKzEsMTAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZp
Zy5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1Jlc29sdmVyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRD
KQorCisjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTmV0
d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5j
bHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBp
bmxpbmUgdm9pZCBzZW5kT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25uZWN0aW9u
Jik+JiYgY2FsbGJhY2spCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbY2FsbGJhY2sgPSBXVEZN
b3ZlKGNhbGxiYWNrKV0oKSB7CisgICAgICAgIGNhbGxiYWNrKFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpKTsKKyAgICB9KTsKK30KKwordm9p
ZCBMaWJXZWJSVENSZXNvbHZlcjo6U3RhcnQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRy
ZXNzKQoreworICAgIG1faXNSZXNvbHZpbmcgPSB0cnVlOworICAgIG1fYWRkcmVzc1RvUmVzb2x2
ZSA9IGFkZHJlc3M7CisgICAgbV9wb3J0ID0gYWRkcmVzcy5wb3J0KCk7CisgICAgYXV0byBpZGVu
dGlmaWVyID0gbV9pZGVudGlmaWVyOworICAgIHNlbmRPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIs
IGFkZHJlc3NdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBhdXRvIGFk
ZHJlc3NTdHJpbmcgPSBhZGRyZXNzLkhvc3RBc1VSSVN0cmluZygpOworICAgICAgICBjb25uZWN0
aW9uLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6Q3JlYXRlUmVzb2x2ZXIoaWRl
bnRpZmllciwgU3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0
aCgpKSksIDApOworICAgIH0pOworfQorCitib29sIExpYldlYlJUQ1Jlc29sdmVyOjpHZXRSZXNv
bHZlZEFkZHJlc3MoaW50IGZhbWlseSwgcnRjOjpTb2NrZXRBZGRyZXNzKiBhZGRyZXNzKSBjb25z
dAoreworICAgIEFTU0VSVChhZGRyZXNzKTsKKyAgICBpZiAobV9lcnJvciB8fCAhbV9hZGRyZXNz
ZXMuc2l6ZSgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAqYWRkcmVzcyA9IG1fYWRk
cmVzc1RvUmVzb2x2ZTsKKyAgICBmb3IgKGF1dG8mIGlwQWRkcmVzcyA6IG1fYWRkcmVzc2VzKSB7
CisgICAgICAgIGlmIChmYW1pbHkgPT0gaXBBZGRyZXNzLmZhbWlseSgpKSB7CisgICAgICAgICAg
ICBhZGRyZXNzLT5TZXRSZXNvbHZlZElQKGlwQWRkcmVzcyk7CisgICAgICAgICAgICBhZGRyZXNz
LT5TZXRQb3J0KG1fcG9ydCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQor
ICAgIH0KKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2ZXI6OkRl
c3Ryb3koYm9vbCkKK3sKKyAgICBpZiAoIWlzUmVzb2x2aW5nKCkpCisgICAgICAgIHJldHVybjsK
KworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBzZW5kT25NYWluVGhy
ZWFkKFtpZGVudGlmaWVyXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAg
Y29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6OlN0b3BSZXNvbHZl
cihpZGVudGlmaWVyKSwgMCk7CisgICAgfSk7CisKKyAgICAvLyBMZXQncyB0YWtlIHRoZSByZXNv
bHZlciBzbyB0aGF0IGl0IGdldHMgZGVzdHJveWVkIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlv
bi4KKyAgICBhdXRvIHJlc29sdmVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRD
KCkuc29ja2V0RmFjdG9yeSgpLnRha2VSZXNvbHZlcihtX2lkZW50aWZpZXIpOworICAgIEFTU0VS
VChyZXNvbHZlcik7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2ZXI6OnNldFJlc29sdmVkQWRk
cmVzcyhjb25zdCBWZWN0b3I8cnRjOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMpCit7CisgICAgbV9h
ZGRyZXNzZXMgPSBhZGRyZXNzZXM7CisgICAgU2lnbmFsRG9uZSh0aGlzKTsKK30KKwordm9pZCBM
aWJXZWJSVENSZXNvbHZlcjo6c2V0RXJyb3IoaW50IGVycm9yKQoreworICAgIG1fZXJyb3IgPSBl
cnJvcjsKKyAgICBTaWduYWxEb25lKHRoaXMpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uOTM1YjYyOTc1ODM1OTlmMmJjMTk4ODY3NWZjNjZlMGJiODdlMzc2NgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDUmVzb2x2ZXIuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNy
b3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+CisjaW5jbHVkZSA8d2Vi
cnRjL3AycC9iYXNlL3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9y
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgTGliV2ViUlRDU29ja2V0RmFjdG9yeTsK
KworY2xhc3MgTGliV2ViUlRDUmVzb2x2ZXIgZmluYWwgOiBwdWJsaWMgcnRjOjpBc3luY1Jlc29s
dmVySW50ZXJmYWNlIHsKK3B1YmxpYzoKKyAgICBMaWJXZWJSVENSZXNvbHZlcih1aW50NjRfdCBp
ZGVudGlmaWVyKSA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKSB7IH0KKworICAgIGJvb2wgaXNS
ZXNvbHZpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVzb2x2aW5nOyB9CisgICAgdWludDY0X3Qg
aWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCitwcml2YXRlOgor
ICAgIGZyaWVuZCBjbGFzcyBXZWJSVENSZXNvbHZlcjsKKworICAgIC8vIEFzeW5jUmVzb2x2ZXJJ
bnRlcmZhY2UgQVBJLgorICAgIHZvaWQgU3RhcnQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJikg
ZmluYWw7CisgICAgYm9vbCBHZXRSZXNvbHZlZEFkZHJlc3MoaW50LCBydGM6OlNvY2tldEFkZHJl
c3MqKSBjb25zdCBmaW5hbDsKKyAgICBpbnQgR2V0RXJyb3IoKSBjb25zdCBmaW5hbCB7IHJldHVy
biBtX2Vycm9yOyB9CisgICAgdm9pZCBEZXN0cm95KGJvb2wpIGZpbmFsOworCisgICAgdm9pZCBz
ZXRFcnJvcihpbnQpOworICAgIHZvaWQgc2V0UmVzb2x2ZWRBZGRyZXNzKGNvbnN0IFZlY3Rvcjxy
dGM6OklQQWRkcmVzcz4mKTsKKworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICBWZWN0
b3I8cnRjOjpJUEFkZHJlc3M+IG1fYWRkcmVzc2VzOworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBt
X2FkZHJlc3NUb1Jlc29sdmU7CisgICAgaW50IG1fZXJyb3IgeyAwIH07CisgICAgdWludDE2X3Qg
bV9wb3J0IHsgMCB9OworICAgIGJvb2wgbV9pc1Jlc29sdmluZyB7IGZhbHNlIH07Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1NvY2tldC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uN2NkY2IyNDNiM2RjMjI5OTQ1Nzk5OWIxN2E5MjRm
ODdlMDJkNmUzOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmNwcApAQCAtMCwwICsxLDE5MyBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXQu
aCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgiCisj
aW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5oIgor
I2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5o
PgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgaW5saW5lIHZvaWQgc2VuZE9uTWFpblRo
cmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlvbiYpPiYmIGNhbGxiYWNrKQoreworICAg
IGNhbGxPbk1haW5UaHJlYWQoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgeworICAg
ICAgICBjYWxsYmFjayhXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigp
LmNvbm5lY3Rpb24oKSk7CisgICAgfSk7Cit9CisKK0xpYldlYlJUQ1NvY2tldDo6TGliV2ViUlRD
U29ja2V0KExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIGZhY3RvcnksIHVpbnQ2NF90IGlkZW50aWZp
ZXIsIFR5cGUgdHlwZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNv
bnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKKyAgICA6IG1fZmFjdG9yeShm
YWN0b3J5KQorICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX3R5cGUodHlw
ZSkKKyAgICAsIG1fbG9jYWxBZGRyZXNzKGxvY2FsQWRkcmVzcykKKyAgICAsIG1fcmVtb3RlQWRk
cmVzcyhyZW1vdGVBZGRyZXNzKQoreworICAgIHN0ZDo6ZmlsbF9uKG1fb3B0aW9ucywgTUFYX1NP
Q0tFVF9PUFRJT04sIC0xKTsKKworICAgIGlmICh0eXBlID09IFR5cGU6OkNsaWVudFRDUCkKKyAg
ICAgICAgcmV0dXJuOworCisgICAgV2ViUlRDU29ja2V0OjpzaWduYWxPbk5ldHdvcmtUaHJlYWQo
bV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtdKExpYldlYlJUQ1NvY2tldCYgc29ja2V0KSB7Cisg
ICAgICAgIHNvY2tldC5zaWduYWxBZGRyZXNzUmVhZHkoKTsKKyAgICB9KTsKK30KKworTGliV2Vi
UlRDU29ja2V0Ojp+TGliV2ViUlRDU29ja2V0KCkKK3sKKyAgICBtX2ZhY3RvcnkuZGV0YWNoKCp0
aGlzKTsKK30KKworcnRjOjpTb2NrZXRBZGRyZXNzIExpYldlYlJUQ1NvY2tldDo6R2V0TG9jYWxB
ZGRyZXNzKCkgY29uc3QKK3sKKyAgICByZXR1cm4gbV9sb2NhbEFkZHJlc3M7Cit9CisKK3J0Yzo6
U29ja2V0QWRkcmVzcyBMaWJXZWJSVENTb2NrZXQ6OkdldFJlbW90ZUFkZHJlc3MoKSBjb25zdAor
eworICAgIHJldHVybiBtX3JlbW90ZUFkZHJlc3M7Cit9CisKK3ZvaWQgTGliV2ViUlRDU29ja2V0
OjpzaWduYWxBZGRyZXNzUmVhZHkoKQoreworICAgIEFTU0VSVChtX3R5cGUgIT0gVHlwZTo6Q2xp
ZW50VENQKTsKKyAgICBtX3N0YXRlID0gU1RBVEVfQk9VTkQ7CisgICAgU2lnbmFsQWRkcmVzc1Jl
YWR5KHRoaXMsIG1fbG9jYWxBZGRyZXNzKTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXQ6OnNp
Z25hbEFkZHJlc3NSZWFkeShjb25zdCBTdHJpbmcmIGFkZHJlc3MpCit7CisgICAgQVNTRVJUKG1f
dHlwZSA9PSBUeXBlOjpDbGllbnRUQ1ApOworICAgIG1fbG9jYWxBZGRyZXNzLkZyb21TdHJpbmco
YWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKyAgICBtX3N0YXRlID0gU1RBVEVfQ09OTkVDVEVEOwor
ICAgIFNpZ25hbEFkZHJlc3NSZWFkeSh0aGlzLCBtX2xvY2FsQWRkcmVzcyk7Cit9CisKK3ZvaWQg
TGliV2ViUlRDU29ja2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0IFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlciYgYnVmZmVyLCBydGM6OlNvY2tldEFkZHJlc3MmJiBhZGRyZXNzLCBpbnQ2NF90IHRpbWVz
dGFtcCkKK3sKKyAgICBtX3JlbW90ZUFkZHJlc3MgPSBXVEZNb3ZlKGFkZHJlc3MpOworICAgIFNp
Z25hbFJlYWRQYWNrZXQodGhpcywgYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSwgbV9yZW1v
dGVBZGRyZXNzLCBydGM6OlBhY2tldFRpbWUodGltZXN0YW1wLCAwKSk7Cit9CisKK3ZvaWQgTGli
V2ViUlRDU29ja2V0OjpzaWduYWxTZW50UGFja2V0KGludCBydGNQYWNrZXRJRCwgaW50NjRfdCBz
ZW5kVGltZU1zKQoreworICAgIG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzICs9IG1fYmVpbmdTZW50
UGFja2V0U2l6ZXMudGFrZUZpcnN0KCk7CisgICAgU2lnbmFsU2VudFBhY2tldCh0aGlzLCBydGM6
OlNlbnRQYWNrZXQocnRjUGFja2V0SUQsIHNlbmRUaW1lTXMpKTsKKyAgICBpZiAobV9zaG91bGRT
aWduYWxSZWFkeVRvU2VuZCkgeworICAgICAgICBtX3Nob3VsZFNpZ25hbFJlYWR5VG9TZW5kID0g
ZmFsc2U7CisgICAgICAgIFNpZ25hbFJlYWR5VG9TZW5kKHRoaXMpOworICAgIH0KK30KKwordm9p
ZCBMaWJXZWJSVENTb2NrZXQ6OnNpZ25hbENvbm5lY3QoKQoreworICAgIG1fc3RhdGUgPSBTVEFU
RV9DT05ORUNURUQ7CisgICAgU2lnbmFsQ29ubmVjdCh0aGlzKTsKK30KKwordm9pZCBMaWJXZWJS
VENTb2NrZXQ6OnNpZ25hbENsb3NlKGludCBlcnJvcikKK3sKKyAgICBtX3N0YXRlID0gU1RBVEVf
Q0xPU0VEOworICAgIFNpZ25hbENsb3NlKHRoaXMsIGVycm9yKTsKK30KKworc3RhdGljIGlubGlu
ZSBTdHJpbmcgYXV0aEtleShjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpCit7Cisg
ICAgaWYgKG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF9rZXkuc2l6ZSgpIDw9
IDApCisgICAgICAgIHJldHVybiB7IH07CisgICAgcmV0dXJuIFN0cmluZyhvcHRpb25zLnBhY2tl
dF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfa2V5LmRhdGEoKSwgb3B0aW9ucy5wYWNrZXRfdGltZV9w
YXJhbXMuc3J0cF9hdXRoX2tleS5zaXplKCkpOworfQorCitib29sIExpYldlYlJUQ1NvY2tldDo6
d2lsbFNlbmQoc2l6ZV90IHNpemUpCit7CisgICAgaWYgKHNpemUgPiBtX2F2YWlsYWJsZVNlbmRp
bmdCeXRlcykgeworICAgICAgICBtX3Nob3VsZFNpZ25hbFJlYWR5VG9TZW5kID0gdHJ1ZTsKKyAg
ICAgICAgc2V0RXJyb3IoRVdPVUxEQkxPQ0spOworICAgICAgICByZXR1cm4gZmFsc2U7CisgICAg
fQorICAgIG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzIC09IHNpemU7CisgICAgbV9iZWluZ1NlbnRQ
YWNrZXRTaXplcy5hcHBlbmQoc2l6ZSk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2ludCBMaWJX
ZWJSVENTb2NrZXQ6OlNlbmRUbyhjb25zdCB2b2lkICp2YWx1ZSwgc2l6ZV90IHNpemUsIGNvbnN0
IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBv
cHRpb25zKQoreworICAgIGlmICghd2lsbFNlbmQoc2l6ZSkpCisgICAgICAgIHJldHVybiAtMTsK
KworICAgIGF1dG8gYnVmZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoc3RhdGlj
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KHZhbHVlKSwgc2l6ZSk7CisgICAgYXV0byBpZGVudGlmaWVy
ID0gdGhpcy0+aWRlbnRpZmllcigpOworCisgICAgc2VuZE9uTWFpblRocmVhZChbaWRlbnRpZmll
ciwgYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBvcHRpb25zXShJUEM6OkNvbm5l
Y3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEocmVp
bnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNp
emUoKSk7CisgICAgICAgIFN0cmluZyBzcnRwQXV0aEtleSA9IGF1dGhLZXkob3B0aW9ucyk7Cisg
ICAgICAgIE1lc3NhZ2VzOjpOZXR3b3JrUlRDU29ja2V0OjpTZW5kVG8gbWVzc2FnZShkYXRhLCBS
VENOZXR3b3JrOjpJUEFkZHJlc3MoYWRkcmVzcy5pcGFkZHIoKSksIGFkZHJlc3MucG9ydCgpLCBv
cHRpb25zLnBhY2tldF9pZCwgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMucnRwX3NlbmR0aW1l
X2V4dGVuc2lvbl9pZCwgc3J0cEF1dGhLZXksIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNy
dHBfcGFja2V0X2luZGV4LCBvcHRpb25zLmRzY3ApOworICAgICAgICBjb25uZWN0aW9uLnNlbmQo
V1RGTW92ZShtZXNzYWdlKSwgaWRlbnRpZmllcik7CisgICAgfSk7CisgICAgcmV0dXJuIHNpemU7
Cit9CisKK2ludCBMaWJXZWJSVENTb2NrZXQ6OkNsb3NlKCkKK3sKKyAgICBhdXRvIGlkZW50aWZp
ZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgc2VuZE9uTWFpblRocmVhZChbaWRlbnRpZmll
cl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGNvbm5lY3Rpb24uc2Vu
ZChNZXNzYWdlczo6TmV0d29ya1JUQ1NvY2tldDo6Q2xvc2UoKSwgaWRlbnRpZmllcik7CisgICAg
fSk7CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBMaWJXZWJSVENTb2NrZXQ6OkdldE9wdGlvbihy
dGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50KiB2YWx1ZSkKK3sKKyAgICBBU1NFUlQob3B0
aW9uIDwgTUFYX1NPQ0tFVF9PUFRJT04pOworICAgIGludCBzdG9yZWRWYWx1ZSA9IG1fb3B0aW9u
c1tvcHRpb25dOworICAgIGlmIChzdG9yZWRWYWx1ZSAhPSAtMSkKKyAgICAgICAgKnZhbHVlID0g
bV9vcHRpb25zW29wdGlvbl07CisgICAgcmV0dXJuIDA7Cit9CisKK2ludCBMaWJXZWJSVENTb2Nr
ZXQ6OlNldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uIG9wdGlvbiwgaW50IHZhbHVlKQorewor
ICAgIEFTU0VSVChvcHRpb24gPCBNQVhfU09DS0VUX09QVElPTik7CisKKyAgICBtX29wdGlvbnNb
b3B0aW9uXSA9IHZhbHVlOworCisgICAgYXV0byBpZGVudGlmaWVyID0gdGhpcy0+aWRlbnRpZmll
cigpOworICAgIHNlbmRPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIG9wdGlvbiwgdmFsdWVdKElQ
Qzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVz
c2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6OlNldE9wdGlvbihvcHRpb24sIHZhbHVlKSwgaWRlbnRp
Zmllcik7CisgICAgfSk7CisgICAgcmV0dXJuIDA7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLmU0ZWNhOTg0NDFhMjNiOWIwNDM3MmNmNjgxMzAyNmUxNzkxOGJmYjkKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1NvY2tldC5oCkBAIC0wLDAgKzEsMTA2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3Mu
aD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d2VicnRj
L2Jhc2UvYXN5bmNwYWNrZXRzb2NrZXQuaD4KKyNpbmNsdWRlIDx3dGYvRGVxdWUuaD4KKyNpbmNs
dWRlIDx3dGYvRm9yd2FyZC5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247
CitjbGFzcyBEYXRhUmVmZXJlbmNlOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdl
YkNvcmUgeworY2xhc3MgU2hhcmVkQnVmZmVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
Y2xhc3MgTGliV2ViUlRDU29ja2V0RmFjdG9yeTsKKworY2xhc3MgTGliV2ViUlRDU29ja2V0IGZp
bmFsIDogcHVibGljIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQgeworcHVibGljOgorICAgIGVudW0g
Y2xhc3MgVHlwZSB7IFVEUCwgU2VydmVyVENQLCBDbGllbnRUQ1AgfTsKKworICAgIExpYldlYlJU
Q1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiwgdWludDY0X3QgaWRlbnRpZmllciwgVHlw
ZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0Yzo6U29j
a2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcyk7CisgICAgfkxpYldlYlJUQ1NvY2tldCgpOworCisg
ICAgdWludDY0X3QgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQor
ICAgIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzKCkgY29uc3QgeyByZXR1
cm4gbV9sb2NhbEFkZHJlc3M7IH0KKyAgICBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90
ZUFkZHJlc3MoKSBjb25zdCB7IHJldHVybiBtX3JlbW90ZUFkZHJlc3M7IH0KKworICAgIHZvaWQg
c2V0RXJyb3IoaW50IGVycm9yKSB7IG1fZXJyb3IgPSBlcnJvcjsgfQorICAgIHZvaWQgc2V0U3Rh
dGUoU3RhdGUgc3RhdGUpIHsgbV9zdGF0ZSA9IHN0YXRlOyB9CisKK3ByaXZhdGU6CisgICAgYm9v
bCB3aWxsU2VuZChzaXplX3QpOworCisgICAgZnJpZW5kIGNsYXNzIFdlYlJUQ1NvY2tldDsKKyAg
ICB2b2lkIHNpZ25hbFJlYWRQYWNrZXQoY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiwgcnRj
OjpTb2NrZXRBZGRyZXNzJiYsIGludDY0X3QpOworICAgIHZvaWQgc2lnbmFsU2VudFBhY2tldChp
bnQsIGludDY0X3QpOworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IFN0cmluZyYp
OworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5KCk7CisgICAgdm9pZCBzaWduYWxDb25uZWN0
KCk7CisgICAgdm9pZCBzaWduYWxDbG9zZShpbnQpOworCisgICAgLy8gQXN5bmNQYWNrZXRTb2Nr
ZXQgQVBJCisgICAgaW50IEdldEVycm9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9lcnJvcjsg
fQorICAgIHZvaWQgU2V0RXJyb3IoaW50IGVycm9yKSBmaW5hbCB7IHNldEVycm9yKGVycm9yKTsg
fQorICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBHZXRMb2NhbEFkZHJlc3MoKSBjb25zdCBmaW5hbDsK
KyAgICBydGM6OlNvY2tldEFkZHJlc3MgR2V0UmVtb3RlQWRkcmVzcygpIGNvbnN0IGZpbmFsOwor
ICAgIGludCBTZW5kKGNvbnN0IHZvaWQgKnB2LCBzaXplX3QgY2IsIGNvbnN0IHJ0Yzo6UGFja2V0
T3B0aW9ucyYgb3B0aW9ucykgZmluYWwgeyByZXR1cm4gU2VuZFRvKHB2LCBjYiwgbV9yZW1vdGVB
ZGRyZXNzLCBvcHRpb25zKTsgfQorICAgIGludCBTZW5kVG8oY29uc3Qgdm9pZCAqLCBzaXplX3Qs
IGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYpIGZp
bmFsOworICAgIGludCBDbG9zZSgpIGZpbmFsOworICAgIFN0YXRlIEdldFN0YXRlKCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gbV9zdGF0ZTsgfQorICAgIGludCBHZXRPcHRpb24ocnRjOjpTb2NrZXQ6
Ok9wdGlvbiwgaW50KikgZmluYWw7CisgICAgaW50IFNldE9wdGlvbihydGM6OlNvY2tldDo6T3B0
aW9uLCBpbnQpIGZpbmFsOworCisgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSYgbV9mYWN0b3J5
OworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllciB7IDAgfTsKKyAgICBUeXBlIG1fdHlwZTsKKyAg
ICBydGM6OlNvY2tldEFkZHJlc3MgbV9sb2NhbEFkZHJlc3M7CisgICAgcnRjOjpTb2NrZXRBZGRy
ZXNzIG1fcmVtb3RlQWRkcmVzczsKKworICAgIGludCBtX2Vycm9yIHsgMCB9OworICAgIFN0YXRl
IG1fc3RhdGUgeyBTVEFURV9CSU5ESU5HIH07CisKKyAgICBzdGF0aWMgY29uc3QgdW5zaWduZWQg
TUFYX1NPQ0tFVF9PUFRJT04geyBydGM6OlNvY2tldDo6T1BUX1JUUF9TRU5EVElNRV9FWFROX0lE
ICsgMSB9OworICAgIGludCBtX29wdGlvbnNbTUFYX1NPQ0tFVF9PUFRJT05dOworCisgICAgRGVx
dWU8c2l6ZV90PiBtX2JlaW5nU2VudFBhY2tldFNpemVzOworICAgIHNpemVfdCBtX2F2YWlsYWJs
ZVNlbmRpbmdCeXRlcyB7IDY1NTM2IH07CisgICAgYm9vbCBtX3Nob3VsZFNpZ25hbFJlYWR5VG9T
ZW5kIHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8g
VVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjdkZjNjYjk5NjI2ODVjNGVlMDFkM2UxMzZhMWM2YTUxZjIxNGRiN2MKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1NvY2tldEZhY3RvcnkuY3BwCkBAIC0wLDAgKzEsMTE2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCIKKwor
I2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0
d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJSVENTb2NrZXQuaCIKKyNp
bmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQuaD4KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK3VpbnQ2NF90IExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OnNfdW5p
cXVlU29ja2V0SWRlbnRpZmllciA9IDA7Cit1aW50NjRfdCBMaWJXZWJSVENTb2NrZXRGYWN0b3J5
OjpzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmllciA9IDA7CisKK3J0Yzo6QXN5bmNQYWNrZXRTb2Nr
ZXQqIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OkNyZWF0ZVNlcnZlclRjcFNvY2tldChjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmIHNvY2tldEFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQx
Nl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIGF1dG8gc29ja2V0ID0gc3RkOjptYWtl
X3VuaXF1ZTxMaWJXZWJSVENTb2NrZXQ+KCp0aGlzLCArK3NfdW5pcXVlU29ja2V0SWRlbnRpZmll
ciwgTGliV2ViUlRDU29ja2V0OjpUeXBlOjpTZXJ2ZXJUQ1AsIHNvY2tldEFkZHJlc3MsIHJ0Yzo6
U29ja2V0QWRkcmVzcygpKTsKKyAgICBtX3NvY2tldHMuc2V0KHNvY2tldC0+aWRlbnRpZmllcigp
LCBzb2NrZXQuZ2V0KCkpOworCisgICAgYXV0byBpZGVudGlmaWVyID0gc29ja2V0LT5pZGVudGlm
aWVyKCk7CisgICAgYXV0byBhZGRyZXNzID0gc29ja2V0LT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmlu
ZygpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGFkZHJlc3MsIG1pblBvcnQs
IG1heFBvcnQsIG9wdGlvbnNdKCkgeworICAgICAgICBTdHJpbmcgYWRkcmVzc1N0cmluZyA9IFN0
cmluZyhhZGRyZXNzLmRhdGEoKSwgYWRkcmVzcy5sZW5ndGgoKSk7CisgICAgICAgIGlmICghV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2Vu
ZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoaWRl
bnRpZmllciwgYWRkcmVzc1N0cmluZywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucyksIDApKSB7
CisgICAgICAgICAgICAvLyBGSVhNRTogU2V0IGVycm9yIGJhY2sgdG8gc29ja2V0CisgICAgICAg
ICAgICByZXR1cm47CisgICAgICAgIH0KKworICAgIH0pOworCisgICAgcmV0dXJuIHNvY2tldC5y
ZWxlYXNlKCk7Cit9CisKK3J0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIExpYldlYlJUQ1NvY2tldEZh
Y3Rvcnk6OkNyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHNvY2tldEFk
ZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpCit7CisgICAgYXV0byBz
b2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1NvY2tldD4oKnRoaXMsICsrc191bmlx
dWVTb2NrZXRJZGVudGlmaWVyLCBMaWJXZWJSVENTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwgc29j
a2V0QWRkcmVzcywgcnRjOjpTb2NrZXRBZGRyZXNzKCkpOworICAgIG1fc29ja2V0cy5zZXQoc29j
a2V0LT5pZGVudGlmaWVyKCksIHNvY2tldC5nZXQoKSk7CisKKyAgICBhdXRvIGlkZW50aWZpZXIg
PSBzb2NrZXQtPmlkZW50aWZpZXIoKTsKKyAgICBhdXRvIGFkZHJlc3MgPSBzb2NrZXQtPmxvY2Fs
QWRkcmVzcygpLlRvU3RyaW5nKCk7CisgICAgY2FsbE9uTWFpblRocmVhZChbaWRlbnRpZmllciwg
YWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydF0oKSB7CisgICAgICAgIFN0cmluZyBhZGRyZXNzU3Ry
aW5nID0gU3RyaW5nKGFkZHJlc3MuZGF0YSgpLCBhZGRyZXNzLmxlbmd0aCgpKTsKKyAgICAgICAg
aWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rp
b24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6OkNyZWF0ZVVEUFNvY2tldChp
ZGVudGlmaWVyLCBhZGRyZXNzU3RyaW5nLCBtaW5Qb3J0LCBtYXhQb3J0KSwgMCkpIHsKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBTZXQgZXJyb3IgYmFjayB0byBzb2NrZXQKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorICAgIH0pOworICAgIHJldHVybiBzb2NrZXQucmVsZWFzZSgpOwor
fQorCitydGM6OkFzeW5jUGFja2V0U29ja2V0KiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVh
dGVDbGllbnRUY3BTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbFNvY2tldEFk
ZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlU29ja2V0QWRkcmVzcywgY29u
c3QgcnRjOjpQcm94eUluZm8mLCBjb25zdCBzdGQ6OnN0cmluZyYsIGludCBvcHRpb25zKQorewor
ICAgIGF1dG8gc29ja2V0ID0gc3RkOjptYWtlX3VuaXF1ZTxMaWJXZWJSVENTb2NrZXQ+KCp0aGlz
LCArK3NfdW5pcXVlU29ja2V0SWRlbnRpZmllciwgTGliV2ViUlRDU29ja2V0OjpUeXBlOjpTZXJ2
ZXJUQ1AsIGxvY2FsU29ja2V0QWRkcmVzcywgcmVtb3RlU29ja2V0QWRkcmVzcyk7CisgICAgc29j
a2V0LT5zZXRTdGF0ZShMaWJXZWJSVENTb2NrZXQ6OlNUQVRFX0NPTk5FQ1RJTkcpOworICAgIG1f
c29ja2V0cy5zZXQoc29ja2V0LT5pZGVudGlmaWVyKCksIHNvY2tldC5nZXQoKSk7CisKKyAgICBh
dXRvIGlkZW50aWZpZXIgPSBzb2NrZXQtPmlkZW50aWZpZXIoKTsKKyAgICBhdXRvIGxvY2FsQWRk
cmVzcyA9IHNvY2tldC0+bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKyAgICBhdXRvIHJlbW90
ZUFkZHJlc3MgPSBzb2NrZXQtPnJlbW90ZUFkZHJlc3MoKS5Ub1N0cmluZygpOworICAgIGNhbGxP
bk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGxvY2FsQWRkcmVzcywgcmVtb3RlQWRkcmVzcywgb3B0
aW9uc10oKSB7CisgICAgICAgIFN0cmluZyBsb2NhbEFkZHJlc3NTdHJpbmcgPSBTdHJpbmcobG9j
YWxBZGRyZXNzLmRhdGEoKSwgbG9jYWxBZGRyZXNzLmxlbmd0aCgpKTsKKyAgICAgICAgU3RyaW5n
IHJlbW90ZUFkZHJlc3NTdHJpbmcgPSBTdHJpbmcocmVtb3RlQWRkcmVzcy5kYXRhKCksIHJlbW90
ZUFkZHJlc3MubGVuZ3RoKCkpOworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNpbmdsZXRvbigp
Lm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtS
VENQcm92aWRlcjo6Q3JlYXRlQ2xpZW50VENQU29ja2V0KGlkZW50aWZpZXIsIGxvY2FsQWRkcmVz
c1N0cmluZywgcmVtb3RlQWRkcmVzc1N0cmluZywgb3B0aW9ucyksIDApKSB7CisgICAgICAgICAg
ICAvLyBGSVhNRTogU2V0IGVycm9yIGJhY2sgdG8gc29ja2V0CisgICAgICAgICAgICByZXR1cm47
CisgICAgICAgIH0KKyAgICB9KTsKKworICAgIHJldHVybiBzb2NrZXQucmVsZWFzZSgpOworfQor
Cit2b2lkIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OmRldGFjaChMaWJXZWJSVENTb2NrZXQmIHNv
Y2tldCkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXRzLmNvbnRhaW5zKHNvY2tldC5pZGVudGlmaWVy
KCkpKTsKKyAgICBtX3NvY2tldHMucmVtb3ZlKHNvY2tldC5pZGVudGlmaWVyKCkpOworfQorCity
dGM6OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UqIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OkNyZWF0
ZUFzeW5jUmVzb2x2ZXIoKQoreworICAgIGF1dG8gcmVzb2x2ZXIgPSBzdGQ6Om1ha2VfdW5pcXVl
PExpYldlYlJUQ1Jlc29sdmVyPigrK3NfdW5pcXVlUmVzb2x2ZXJJZGVudGlmaWVyKTsKKyAgICBh
dXRvKiByZXNvbHZlclBvaW50ZXIgPSByZXNvbHZlci5nZXQoKTsKKyAgICBtX3Jlc29sdmVycy5z
ZXQocmVzb2x2ZXJQb2ludGVyLT5pZGVudGlmaWVyKCksIFdURk1vdmUocmVzb2x2ZXIpKTsKKyAg
ICByZXR1cm4gcmVzb2x2ZXJQb2ludGVyOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5o
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjAyM2YxNzU2MWUyN2MyY2UyYWI3Nzg2YmY4ZjkwYWZmM2I1MDgwN2IKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRD
UmVzb2x2ZXIuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXQuaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvcDJwL2Jhc2UvcGFja2V0c29ja2V0ZmFjdG9yeS5oPgorI2lu
Y2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5IGZpbmFsIDogcHVibGljIHJ0Yzo6UGFja2V0U29ja2V0RmFjdG9y
eSB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSgpIHsgfQorCisgICAgdm9p
ZCBkZXRhY2goTGliV2ViUlRDU29ja2V0Jik7CisKKyAgICBMaWJXZWJSVENTb2NrZXQqIHNvY2tl
dCh1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBtX3NvY2tldHMuZ2V0KGlkZW50aWZpZXIp
OyB9CisgICAgTGliV2ViUlRDUmVzb2x2ZXIqIHJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIp
IHsgcmV0dXJuIG1fcmVzb2x2ZXJzLmdldChpZGVudGlmaWVyKTsgfQorCisgICAgc3RkOjp1bmlx
dWVfcHRyPExpYldlYlJUQ1Jlc29sdmVyPiB0YWtlUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmll
cikgeyByZXR1cm4gbV9yZXNvbHZlcnMudGFrZShpZGVudGlmaWVyKTsgfQorCitwcml2YXRlOgor
ICAgIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZVVkcFNvY2tldChjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KSBmaW5hbDsK
KyAgICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29uc3Qg
cnRjOjpTb2NrZXRBZGRyZXNzJiwgdWludDE2X3QgbWluX3BvcnQsIHVpbnQxNl90IG1heF9wb3J0
LCBpbnQgb3B0aW9ucykgZmluYWw7CisgICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRl
Q2xpZW50VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MsIGNvbnN0IHJ0Yzo6UHJveHlJ
bmZvJiwgY29uc3Qgc3RkOjpzdHJpbmcmLCBpbnQgb3B0aW9ucyk7CisgICAgcnRjOjpBc3luY1Jl
c29sdmVySW50ZXJmYWNlKiBDcmVhdGVBc3luY1Jlc29sdmVyKCkgZmluYWw7CisKKyAgICAvLyBX
ZSBjYW5ub3Qgb3duIHNvY2tldHMsIGNsaWVudHMgb2YgdGhlIGZhY3RvcnkgYXJlIHJlc3BvbnNp
YmxlIHRvIGZyZWUgdGhlbS4KKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBMaWJXZWJSVENTb2NrZXQq
PiBtX3NvY2tldHM7CisgICAgc3RhdGljIHVpbnQ2NF90IHNfdW5pcXVlU29ja2V0SWRlbnRpZmll
cjsKKyAgICAKKyAgICAvLyBXZSBjYW4gb3duIHJlc29sdmVycyBhcyB3ZSBjb250cm9sIHRoZWly
IERlc3Ryb3kgbWV0aG9kLgorICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0cjxM
aWJXZWJSVENSZXNvbHZlcj4+IG1fcmVzb2x2ZXJzOworICAgIHN0YXRpYyB1aW50NjRfdCBzX3Vu
aXF1ZVJlc29sdmVySWRlbnRpZmllcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM4
M2ZjMWI2MDFjMTM0Yjk0NjczYWU5ZTBjMmQ0MWU4ZDEwYzM3NDUKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3Iu
Y3BwCkBAIC0wLDAgKzEsOTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiV2ViUlRDTW9uaXRvci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDTW9uaXRvck1l
c3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNPcmUvTGli
V2ViUlRDTWFjcm9zLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0aGVscGVycy5oPgorI2lu
Y2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMg
aW5saW5lIHZvaWQgc2VuZE9uTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlv
biYpPiYmIGNhbGxiYWNrKQoreworICAgIGNhbGxPbk1haW5UaHJlYWQoW2NhbGxiYWNrID0gV1RG
TW92ZShjYWxsYmFjayldKCkgeworICAgICAgICBjYWxsYmFjayhXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKSk7CisgICAgfSk7Cit9CisKK3Zv
aWQgV2ViUlRDTW9uaXRvcjo6U3RhcnRVcGRhdGluZygpCit7CisgICAgaWYgKG1fY2xpZW50Q291
bnQpIHsKKyAgICAgICAgLy8gTmVlZCB0byBzaWduYWwgbmV3IGNsaWVudCB0aGF0IHdlIGFscmVh
ZHkgaGF2ZSB0aGUgbmV0d29yayBsaXN0LCBsZXQncyBkbyBpdCBhc3luY2hyb25vdXNseQorICAg
ICAgICBpZiAobV9yZWNlaXZlZE5ldHdvcmtMaXN0KSB7CisgICAgICAgICAgICBXZWJDb3JlOjpj
YWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzXSB7CisgICAgICAgICAgICAgICAgU2lnbmFs
TmV0d29ya3NDaGFuZ2VkKCk7CisgICAgICAgICAgICB9KTsKKyAgICAgICAgfQorICAgIH0gZWxz
ZSB7CisgICAgICAgIG1fcmVjZWl2ZWROZXR3b3JrTGlzdCA9IGZhbHNlOworICAgICAgICBzZW5k
T25NYWluVGhyZWFkKFtdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICAg
ICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDTW9uaXRvcjo6U3RhcnRVcGRh
dGluZygpLCAwKTsKKyAgICAgICAgfSk7CisgICAgfQorICAgICsrbV9jbGllbnRDb3VudDsKK30K
Kwordm9pZCBXZWJSVENNb25pdG9yOjpTdG9wVXBkYXRpbmcoKQoreworICAgIEFTU0VSVChtX2Ns
aWVudENvdW50KTsKKyAgICBpZiAoLS1tX2NsaWVudENvdW50KQorICAgICAgICByZXR1cm47CisK
KyAgICBzZW5kT25NYWluVGhyZWFkKFtdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewor
ICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENNb25pdG9yOjpTdG9w
VXBkYXRpbmcoKSwgMCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUlRDTW9uaXRvcjo6bmV0d29y
a3NDaGFuZ2VkKGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrPiYgbmV0d29ya3MsIGNvbnN0IFJUQ05l
dHdvcms6OklQQWRkcmVzcyYgaXB2NCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBpcHY2
KQoreworICAgIC8vIE5vIG5lZWQgdG8gcHJvdGVjdCAndGhpcycgYXMgaXQgaGFzIHRoZSBsaWZl
dGltZSBvZiBMaWJXZWJSVEMgd2hpY2ggaGFzIHRoZSBsaWZldGltZSBvZiB0aGUgd2ViIHByb2Nl
c3MuCisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpcywgbmV0d29y
a3MsIGlwdjQsIGlwdjZdIHsKKyAgICAgICAgc3RkOjp2ZWN0b3I8cnRjOjpOZXR3b3JrKj4gbmV0
d29ya0xpc3QobmV0d29ya3Muc2l6ZSgpKTsKKyAgICAgICAgZm9yIChzaXplX3QgaW5kZXggPSAw
OyBpbmRleCA8IG5ldHdvcmtzLnNpemUoKTsgKytpbmRleCkKKyAgICAgICAgICAgIG5ldHdvcmtM
aXN0W2luZGV4XSA9IG5ldyBydGM6Ok5ldHdvcmsobmV0d29ya3NbaW5kZXhdLnZhbHVlKCkpOwor
CisgICAgICAgIGJvb2wgZm9yY2VTaWduYWxpbmcgPSAhbV9yZWNlaXZlZE5ldHdvcmtMaXN0Owor
ICAgICAgICBtX3JlY2VpdmVkTmV0d29ya0xpc3QgPSB0cnVlOworCisgICAgICAgIGJvb2wgaGFz
Q2hhbmdlZDsKKyAgICAgICAgc2V0X2RlZmF1bHRfbG9jYWxfYWRkcmVzc2VzKGlwdjQudmFsdWUs
IGlwdjYudmFsdWUpOworICAgICAgICBNZXJnZU5ldHdvcmtMaXN0KG5ldHdvcmtMaXN0LCAmaGFz
Q2hhbmdlZCk7CisgICAgICAgIGlmIChoYXNDaGFuZ2VkIHx8IGZvcmNlU2lnbmFsaW5nKQorICAg
ICAgICAgICAgU2lnbmFsTmV0d29ya3NDaGFuZ2VkKCk7CisKKyAgICB9KTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3Iu
aApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mNjk3NjZjYmIwZjI0NjE4OWE0NzEzY2QzODM2YWQxM2Q5MDAyMTE4Ci0t
LSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENNb25pdG9yLmgKQEAgLTAsMCArMSw2MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEg
b25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOwor
fQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IE5ldHdvcmtzQ2hhbmdlZERhdGE7CisK
K2NsYXNzIFdlYlJUQ01vbml0b3IgZmluYWwgOiBwdWJsaWMgcnRjOjpOZXR3b3JrTWFuYWdlckJh
c2UgeworcHVibGljOgorICAgIFdlYlJUQ01vbml0b3IoKSA9IGRlZmF1bHQ7CisKKyAgICB2b2lk
IGRpZFJlY2VpdmVXZWJSVENNb25pdG9yTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIG5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0
b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtMaXN0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3Mm
LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmKTsKKworICAgIHZvaWQgU3RhcnRVcGRhdGlu
ZygpIGZpbmFsOworICAgIHZvaWQgU3RvcFVwZGF0aW5nKCkgZmluYWw7CisKKyAgICB1bnNpZ25l
ZCBtX2NsaWVudENvdW50IHsgMCB9OworICAgIGJvb2wgbV9yZWNlaXZlZE5ldHdvcmtMaXN0IHsg
ZmFsc2UgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45
NTY2OGFmYzBlODZiZWQ5YWM0MjA0NWFhMWYzOWVkNzQwMTY1M2NkCi0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9y
Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMjkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
IyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAor
IyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IFdlYlJUQ01v
bml0b3IgTGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgTmV0d29ya3NDaGFuZ2VkKFZlY3RvcjxX
ZWJLaXQ6OlJUQ05ldHdvcms+IG5ldHdvcmtzLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVz
cyBkZWZhdWx0SVBWNEFkZHJlc3MsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGRlZmF1
bHRJUFY2QWRkcmVzcykKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVy
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVz
b2x2ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyZWQyZGRiYTI1Y2UwMDEzNjNhYjQ0NThhNjM1NGYyZGVi
ZDg5NWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcApAQCAtMCwwICsxLDc2IEBACisvKgorICogQ29w
eXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyLmgiCisKKyNp
ZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDUmVzb2x2ZXIuaCIKKyNpbmNs
dWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJS
VENVdGlscy5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworV2ViUlRDUmVzb2x2ZXI6OldlYlJUQ1Jlc29sdmVyKExpYldlYlJUQ1NvY2tldEZhY3Rv
cnkmIHNvY2tldEZhY3RvcnksIHVpbnQ2NF90IGlkZW50aWZpZXIpCisgICAgOiBtX3NvY2tldEZh
Y3Rvcnkoc29ja2V0RmFjdG9yeSkKKyAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorewor
fQorCit2b2lkIFdlYlJUQ1Jlc29sdmVyOjpzZXRSZXNvbHZlZEFkZHJlc3MoY29uc3QgVmVjdG9y
PFJUQ05ldHdvcms6OklQQWRkcmVzcz4mIGFkZHJlc3NlcykKK3sKKyAgICBhdXRvIGlkZW50aWZp
ZXIgPSBtX2lkZW50aWZpZXI7CisgICAgYXV0byYgZmFjdG9yeSA9IG1fc29ja2V0RmFjdG9yeTsK
KworICAgIFZlY3RvcjxydGM6OklQQWRkcmVzcz4gcnRjQWRkcmVzc2VzOworICAgIHJ0Y0FkZHJl
c3Nlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGFkZHJlc3Nlcy5zaXplKCkpOworICAgIGZvciAo
YXV0byYgYWRkcmVzcyA6IGFkZHJlc3NlcykKKyAgICAgICAgcnRjQWRkcmVzc2VzLnVuY2hlY2tl
ZEFwcGVuZChhZGRyZXNzLnZhbHVlKTsKKyAgICAKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENO
ZXR3b3JrVGhyZWFkKFsmZmFjdG9yeSwgaWRlbnRpZmllciwgcnRjQWRkcmVzc2VzID0gV1RGTW92
ZShydGNBZGRyZXNzZXMpXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIgPSBmYWN0b3J5LnJl
c29sdmVyKGlkZW50aWZpZXIpOworICAgICAgICBpZiAoIXJlc29sdmVyKQorICAgICAgICAgICAg
cmV0dXJuOworICAgICAgICByZXNvbHZlci0+c2V0UmVzb2x2ZWRBZGRyZXNzKHJ0Y0FkZHJlc3Nl
cyk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUlRDUmVzb2x2ZXI6OnJlc29sdmVkQWRkcmVzc0Vy
cm9yKGludCBlcnJvcikKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7Cisg
ICAgYXV0byYgZmFjdG9yeSA9IG1fc29ja2V0RmFjdG9yeTsKKyAgICBXZWJDb3JlOjpjYWxsT25X
ZWJSVENOZXR3b3JrVGhyZWFkKFsmZmFjdG9yeSwgaWRlbnRpZmllciwgZXJyb3JdKCkgeworICAg
ICAgICBhdXRvKiByZXNvbHZlciA9IGZhY3RvcnkucmVzb2x2ZXIoaWRlbnRpZmllcik7CisgICAg
ICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIHJlc29sdmVy
LT5zZXRFcnJvcihlcnJvcik7CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi43
M2JhYjM0MzhhNDYyNWYxYzdhNDRhYmYzODM3NzhiMTkwMDZlNTM5Ci0tLSAvZGV2L251bGwKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZl
ci5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVT
RShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisjaW5jbHVkZSA8d3RmL1Zl
Y3Rvci5oPgorCituYW1lc3BhY2UgSVBDIHsKKyAgICBjbGFzcyBDb25uZWN0aW9uOworICAgIGNs
YXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJXZWJSVENT
b2NrZXRGYWN0b3J5OworICAgIAorY2xhc3MgV2ViUlRDUmVzb2x2ZXIgeworcHVibGljOgorICAg
IFdlYlJUQ1Jlc29sdmVyKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmLCB1aW50NjRfdCk7CisgICAg
CisgICAgdm9pZCBkaWRSZWNlaXZlV2ViUlRDUmVzb2x2ZXJNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYsIElQQzo6RGVjb2RlciYpOworICAgIAorcHJpdmF0ZToKKyAgICB2b2lkIHNldFJlc29sdmVk
QWRkcmVzcyhjb25zdCBWZWN0b3I8UlRDTmV0d29yazo6SVBBZGRyZXNzPiYpOworICAgIHZvaWQg
cmVzb2x2ZWRBZGRyZXNzRXJyb3IoaW50KTsKKyAgICAKKyAgICBMaWJXZWJSVENTb2NrZXRGYWN0
b3J5JiBtX3NvY2tldEZhY3Rvcnk7CisgICAgdWludDY0X3QgbV9pZGVudGlmaWVyIHsgMCB9Owor
fTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJS
VENSZXNvbHZlci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNzg0OTRhMTVh
Zjc3NjhhNmVkZDU3ODVjYTRlZjQ4YzRmMWQ5OGE1ZgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2Fn
ZXMuaW4KQEAgLTAsMCArMSwzMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBt
ZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQg
QlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMg
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1Ig
Q09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgor
IyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gV2ViUlRDUmVzb2x2ZXIg
TGVnYWN5UmVjZWl2ZXIgeworICAgIHZvaWQgU2V0UmVzb2x2ZWRBZGRyZXNzKFZlY3RvcjxXZWJL
aXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcz4gYWRkcmVzc2VzKQorICAgIHZvaWQgUmVzb2x2ZWRB
ZGRyZXNzRXJyb3IoaW50IGVycm9yKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRD
U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDU29ja2V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jNTI5NWM2MzM0ZDQwOTZiMDk2ODhkZjFkOTY5OGZh
OTNhZjliN2RmCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwCkBAIC0wLDAgKzEsOTUgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiV2ViUlRDU29ja2V0LmgiCisKKyNp
ZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUg
IkxpYldlYlJUQ1NvY2tldC5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCIK
KyNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3Jl
L1NoYXJlZEJ1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKwordm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbE9uTmV0d29ya1RocmVhZChMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5LCB1aW50NjRfdCBpZGVudGlmaWVyLCBGdW5jdGlv
bjx2b2lkKExpYldlYlJUQ1NvY2tldCYpPiYmIGNhbGxiYWNrKQoreworICAgIC8vIGZhY3Rvcnkg
aXMgc3RheWluZyB2YWxpZCBkdXJpbmcgdGhlIHByb2Nlc3MgbGlmZXRpbWUuCisgICAgV2ViQ29y
ZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZpZXIsIGNhbGxi
YWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgeworICAgICAgICBhdXRvKiBzb2NrZXQgPSBmYWN0
b3J5LnNvY2tldChpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFzb2NrZXQpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIGNhbGxiYWNrKCpzb2NrZXQpOworICAgIH0pOworfQorCitXZWJS
VENTb2NrZXQ6OldlYlJUQ1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5LCB1
aW50NjRfdCBpZGVudGlmaWVyKQorICAgIDogbV9mYWN0b3J5KGZhY3RvcnkpCisgICAgLCBtX2lk
ZW50aWZpZXIoaWRlbnRpZmllcikKK3sKK30KKwordm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbEFk
ZHJlc3NSZWFkeShjb25zdCBTdHJpbmcmIGFkZHJlc3MpCit7CisgICAgc2lnbmFsT25OZXR3b3Jr
VGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbYWRkcmVzc10oTGliV2ViUlRDU29ja2V0
JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25hbEFkZHJlc3NSZWFkeShhZGRyZXNzKTsK
KyAgICB9KTsKK30KKwordm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQoY29uc3Qg
SVBDOjpEYXRhUmVmZXJlbmNlJiBkYXRhLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGFk
ZHJlc3MsIHVpbnQxNl90IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQoreworICAgIGF1dG8gYnVm
ZmVyID0gV2ViQ29yZTo6U2hhcmVkQnVmZmVyOjpjcmVhdGUoZGF0YS5kYXRhKCksIGRhdGEuc2l6
ZSgpKTsKKyAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIs
IFtidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIHBvcnQsIHRpbWVzdGFtcF0oTGli
V2ViUlRDU29ja2V0JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25hbFJlYWRQYWNrZXQo
YnVmZmVyLmdldCgpLCBydGM6OlNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCksIHRp
bWVzdGFtcCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxTZW50UGFj
a2V0KGludCBydGNQYWNrZXRJRCwgaW50NjRfdCBzZW5kVGltZU1zKQoreworICAgIHNpZ25hbE9u
TmV0d29ya1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW3J0Y1BhY2tldElELCBzZW5k
VGltZU1zXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQuc2lnbmFs
U2VudFBhY2tldChydGNQYWNrZXRJRCwgc2VuZFRpbWVNcyk7CisgICAgfSk7Cit9CisKK3ZvaWQg
V2ViUlRDU29ja2V0OjpzaWduYWxDb25uZWN0KCkKK3sKKyAgICBzaWduYWxPbk5ldHdvcmtUaHJl
YWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtdKExpYldlYlJUQ1NvY2tldCYgc29ja2V0KSB7
CisgICAgICAgIHNvY2tldC5zaWduYWxDb25uZWN0KCk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2Vi
UlRDU29ja2V0OjpzaWduYWxDbG9zZShpbnQgZXJyb3IpCit7CisgICAgc2lnbmFsT25OZXR3b3Jr
VGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbZXJyb3JdKExpYldlYlJUQ1NvY2tldCYg
c29ja2V0KSB7CisgICAgICAgIHNvY2tldC5zaWduYWxDbG9zZShlcnJvcik7CisgICAgfSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRD
U29ja2V0LmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJU
Q1NvY2tldC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjc3NWRjMzlkNTYyMTg2NTYzNjRkMTgxNDJiNjVhMDg2N2I5
MDcwMjIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL1dlYlJUQ1NvY2tldC5oCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
cHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJSVENOZXR3b3Jr
LmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3Mg
Q29ubmVjdGlvbjsKK2NsYXNzIERhdGFSZWZlcmVuY2U7CitjbGFzcyBEZWNvZGVyOworfQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTGliV2ViUlRDU29ja2V0OworY2xhc3MgTGliV2Vi
UlRDU29ja2V0RmFjdG9yeTsKKworY2xhc3MgV2ViUlRDU29ja2V0IHsKK3B1YmxpYzoKKyAgICBX
ZWJSVENTb2NrZXQoTGliV2ViUlRDU29ja2V0RmFjdG9yeSYsIHVpbnQ2NF90KTsKKworICAgIHZv
aWQgZGlkUmVjZWl2ZVdlYlJUQ1NvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpE
ZWNvZGVyJik7CisKKyAgICBzdGF0aWMgdm9pZCBzaWduYWxPbk5ldHdvcmtUaHJlYWQoTGliV2Vi
UlRDU29ja2V0RmFjdG9yeSYsIHVpbnQ2NF90LCBGdW5jdGlvbjx2b2lkKExpYldlYlJUQ1NvY2tl
dCYpPiYmKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHNpZ25hbFJlYWRQYWNrZXQoY29uc3QgSVBD
OjpEYXRhUmVmZXJlbmNlJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgdWludDE2X3Qg
cG9ydCwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KGludCwgaW50NjRfdCk7
CisgICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBz
aWduYWxDb25uZWN0KCk7CisgICAgdm9pZCBzaWduYWxDbG9zZShpbnQpOworICAgIAorICAgIExp
YldlYlJUQ1NvY2tldEZhY3RvcnkmIG1fZmFjdG9yeTsKKyAgICB1aW50NjRfdCBtX2lkZW50aWZp
ZXIgeyAwIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShM
SUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmFk
ODU0YWJhNjk0Y2Q4YjNjYTYyODAyYzI3NmU4ZDU4MmE5ZjVkYjgKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5t
ZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMzIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMg
YXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBXZWJSVENTb2Nr
ZXQgTGVnYWN5UmVjZWl2ZXIgeworICAgIFNpZ25hbFJlYWRQYWNrZXQoSVBDOjpEYXRhUmVmZXJl
bmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzIGFkZHJlc3MsIHVpbnQxNl90
IHBvcnQsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25hbFNlbnRQYWNrZXQoaW50IHBhY2tl
dFNpemUsIGludDY0X3QgdGltZXN0YW1wKQorICAgIFNpZ25hbEFkZHJlc3NSZWFkeShTdHJpbmcg
YWRkcmVzcykKKyAgICBTaWduYWxDb25uZWN0KCkKKyAgICBTaWduYWxDbG9zZShpbnQgZXJyb3Ip
Cit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGY5N2Y1Njc3MTk4NWIyOTE2YjE1ODg0ZDA3
OTc0MDlkYTA4NzFjMzYuLmQ4OTQwZWRmYTBiODk0NzYyODUyNTI0ZWE0OTBiNTRhYmEzZjFmMDAg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAg
LTQwLDYgKzQwLDcgQEAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgogI2luY2x1ZGUgIklu
amVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVT
Y3JpcHRXb3JsZC5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCiAjaW5jbHVkZSAi
TG9hZFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTmV0c2Nh
cGVQbHVnaW4uaCIKQEAgLTE0Nyw3ICsxNDgsNiBAQAogI2luY2x1ZGUgPFdlYkNvcmUvSW5zcGVj
dG9yQ29udHJvbGxlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvSlNET01XaW5kb3cuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL0tleWJvYXJkRXZlbnQuaD4KLSNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJU
Q1Byb3ZpZGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9NSU1FVHlwZVJlZ2lzdHJ5Lmg+CiAjaW5j
bHVkZSA8V2ViQ29yZS9NYWluRnJhbWUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01vdXNlRXZlbnQu
aD4KQEAgLTM3Nyw3ICszNzcsMTEgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdlSUQs
IGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgUGFnZUNv
bmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8V2Vi
RWRpdG9yQ2xpZW50Pih0aGlzKSwKICAgICAgICAgV2ViU29ja2V0UHJvdmlkZXI6OmNyZWF0ZSgp
LAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJX
ZWJSVENQcm92aWRlcj4oKQorI2Vsc2UKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJDb3JlOjpM
aWJXZWJSVENQcm92aWRlcj4oKQorI2VuZGlmCiAgICAgKTsKICAgICBwYWdlQ29uZmlndXJhdGlv
bi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlzKTsKICNpZiBFTkFCTEUo
Q09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCmlu
ZGV4IGUxYzI2Yjk3MmRkZTA0MDAzMzM2NDBlODNiNjNmZDA0NGE2ZTRjYjUuLjFlNTdiZDJjNGQx
OWUzMTEyZTBlNTJjZTc5ZDViOTNmODczZGYwOGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzLmNwcApAQCAtMTU0Niw0ICsxNTQ2LDEyIEBAIHZvaWQgV2ViUHJvY2Vzczo6
cHJlZmV0Y2hETlMoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICBtX2Ruc1ByZWZldGNoSHlz
dGVyZXJpcy5pbXB1bHNlKCk7CiB9CiAKKyNpZiBVU0UoTElCV0VCUlRDKQordm9pZCBXZWJQcm9j
ZXNzOjppbml0aWFsaXplTGliV2ViUlRDKCkKK3sKKyAgICBpZiAoIW1fbGliV2ViUlRDKQorICAg
ICAgICBtX2xpYldlYlJUQyA9IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDPigpOworfQorI2Vu
ZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaAppbmRleCA2ZWJjY2JiMjY5ZTlhMmYyZDQxNDE0OWYxNDNkNGM1YzgxNGIyMWM2Li5k
NjNlYWFlOWRiYzBlYmI2YzE0ZDUwNTllMzRhYzU4YmM0ZGUwZTVhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIkNhY2hl
TW9kZWwuaCIKICNpbmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNsdWRlICJEcmF3aW5nQXJl
YS5oIgorI2luY2x1ZGUgIkxpYldlYlJUQy5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlci5oIgogI2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2lu
Y2x1ZGUgIlNhbmRib3hFeHRlbnNpb24uaCIKQEAgLTE2NSw2ICsxNjYsMTEgQEAgcHVibGljOgog
ICAgIHZvaWQgbmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uQ2xvc2VkKE5ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbiopOwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiB3ZWJMb2FkZXJTdHJhdGVneSgpOwog
CisjaWYgVVNFKExJQldFQlJUQykKKyAgICBMaWJXZWJSVEMmIGxpYldlYlJUQygpIHsgcmV0dXJu
ICptX2xpYldlYlJUQzsgfQorICAgIHZvaWQgaW5pdGlhbGl6ZUxpYldlYlJUQygpOworI2VuZGlm
CisKICNpZiBFTkFCTEUoREFUQUJBU0VfUFJPQ0VTUykKICAgICB2b2lkIHdlYlRvRGF0YWJhc2VQ
cm9jZXNzQ29ubmVjdGlvbkNsb3NlZChXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24qKTsK
ICAgICBXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24qIHdlYlRvRGF0YWJhc2VQcm9jZXNz
Q29ubmVjdGlvbigpOwpAQCAtMzc3LDYgKzM4MywxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5z
dXJlTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKCk7CiAgICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNz
Q29ubmVjdGlvbj4gbV9uZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgV2ViTG9hZGVyU3Ry
YXRlZ3kmIG1fd2ViTG9hZGVyU3RyYXRlZ3k7CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIHN0
ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVEM+IG1fbGliV2ViUlRDOworI2VuZGlmCisKICAgICBIYXNo
U2V0PFN0cmluZz4gbV9kbnNQcmVmZXRjaGVkSG9zdHM7CiAgICAgV2ViQ29yZTo6SHlzdGVyZXNp
c0FjdGl2aXR5IG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300177</attachid>
            <date>2017-01-30 18:27:39 -0800</date>
            <delta_ts>2017-01-30 20:07:31 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170130182529.patch</filename>
            <type>text/plain</type>
            <size>168529</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMzYzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggOWUzZGVmOWFkNGIwZDFm
NWQ1NDA0NzkzM2JjYjNiM2QwZmEyYTAwYS4uZDM2MGZlMWE0NWYxMGUwZDA2OGYzNjNiZDgxMzFk
ZjQwZWRmMjI1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MiBAQAorMjAxNy0wMS0zMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ1NDI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcGxlbWVudGF0aW9uIG9mIHRoZSBMaWJXZWJSVEMgbmV0d29ya2luZyBpbiBXZWJLaXQy
LgorICAgICAgICBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGFyZSByZXF1aXJlZCB0byBiZSBtb3Zl
ZCBmcm9tIFdlYlByb2Nlc3MgdG8gTmV0d29ya1Byb2Nlc3M6CisgICAgICAgIDEgUmVzb2x1dGlv
biBvZiBETlMgbmFtZXMgKFJUQ1Jlc2lrdmVyKQorICAgICAgICAyIEVudW1lcmF0aW9uIG9mIGlu
dGVyZmFjZXMvZ2F0aGVyaW5nIG9mIGhvc3QgYWRkcmVzc2VzIChSVENNb25pdG9yKQorICAgICAg
ICAzIEltcGxlbWVudGF0aW9uIG9mIFBhY2tldCBTb2NrZXQgZm9yIFRDUC9VRFAgY29tbXVuaWNh
dGlvbiAoUlRDU29ja2V0KS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHJl
bGF0ZWQgY2xhc3NlcyBpbiBXZWJQcm9jZXNzL05ldHdvcmtQcm9jZXNzIGFuZCB0aGUgaW50ZWdy
YXRpb24gd2l0aCBsaWJ3ZWJydGMuCisgICAgICAgIE5ldHdvcmtQcm9jZXNzIGltcGxlbWVudGF0
aW9uIGlzIHVzaW5nIGxpYndlYmV0YyBmb3IgTmV0d29ya1JUQ01vbml0b3IgYW5kIE5ldHdvcmtS
VENTb2NrZXQuCisgICAgICAgIFRoaXMgZW5zdXJlcyBhbiBhcy1jbG9zZSBpbXBsZW1lbnRhdGlv
biB0byBsaWJ3ZWJydGMgYXMgcG9zc2libGUuCisgICAgICAgIEluIHRoZSBmdXR1cmUsIGFmdGVy
IGdldHRpbmcgYSBiZXR0ZXIgdGVzdCBpbmZyYXN0cnVjdHVyZSB3ZSBzaG91bGQgdHJ5IHRvIGlt
cGxlbWVudCB0aGVzZSB1c2luZyBuYXRpdmUgQVBJcy4KKworICAgICAgICBDdXJyZW50bHksIHRo
ZSBpbXBsZW1lbnRhdGlvbiBpcyBhcyBmb2xsb3c6CisgICAgICAgIC0gbGlid2VicnRjIGlzIGNh
bGxpbmcgV2ViUHJvY2VzcyBzdGFjayBvbiB0aGUgcnRjIG5ldHdvcmsgdGhyZWFkCisgICAgICAg
IC0gV2ViUHJvY2VzcyBzdGFjayBpcyBmb3J3YXJkaW5nIGNhbGxzIHRvIHRoZSBtYWluIHRocmVh
ZCBhbmQgbWFrZXMgcmVsYXRlZCBJUEMgY2FsbHMKKyAgICAgICAgLSBOZXR3b3JrUHJvY2VzcyBy
ZWNlaXZlcyB0aGUgSVBDIGNhbGxzIGFuZCBmb3J3YXJkIHRoZW0gdG8gdGhlIHJ0YyBuZXR3b3Jr
IHRocmVhZC4KKyAgICAgICAgLSBUaGUgY2FsbHMgYXJlIHByb2Nlc3NlZCBpbiB0aGUgcnRjIG5l
dHdvcmsgdGhyZWFkCisgICAgICAgIENvbnZlcnNlbHksIHdoZW4gdGhlIHJ0YyBuZXR3b3JrIHRo
cmVhZCB3YW50cyB0byBub3RpZnkgaXRzIGNsaWVudCwgdGhlIHJldmVyc2UgcGF0aCBpcyB1c2Vk
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBpbXBsZW1lbnRzIHRoZSBMaWJXZWJSVENQcm92
aWRlciBmb3IgV2ViS2l0Mi4KKyAgICAgICAgVGhpcyBwcm92aWRlciB1c2VzIHRoZSByZWxhdGVk
IGNsYXNzZXMgdG8gY3JlYXRlIGEgcGVlciBjb25uZWN0aW9uIGZhY3RvcnkgdGhhdCB3aWxsIHVz
ZSB0aGVtLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjp+TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cnRjUHJvdmlkZXIp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xv
c2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENs
aWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OkxpYldlYlJUQ1NvY2tldENsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tl
dENsaWVudDo6c2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50
OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2V0T3B0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFk
UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxT
ZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWdu
YWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbENsb3NlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
U29ja2V0Q2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDTW9uaXRvci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRD
TW9uaXRvcjo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENNb25p
dG9yOjpzdG9wVXBkYXRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDTW9uaXRvcjo6
b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDTW9uaXRvci5oOiBBZGRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6Y3JlYXRlVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVy
OjpOZXR3b3JrUlRDUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVV
RFBTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNl
cnZlclRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlQ2xpZW50VENQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVy
OjphZGRTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OnRha2VT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2VpdmVO
ZXR3b3JrUlRDU29ja2V0TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6Y3JlYXRlUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OnN0b3BSZXNvbHZlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6
cmVzb2x2ZWROYW1lKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya01lc3NhZ2VEYXRhOjpOZXR3
b3JrTWVzc2FnZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6Ok9u
TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y2FsbE9uUlRD
TmV0d29ya1RocmVhZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y2Fs
bFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6c2VuZEZyb21N
YWluVGhyZWFkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlkUmVjZWl2ZU5l
dHdvcmtSVENNb25pdG9yTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6UmVzb2x2ZXI6OlJlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1By
b3ZpZGVyOjpSZXNvbHZlcjo6flJlc29sdmVyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUlRDU29ja2V0OjpOZXR3b3JrUlRDU29ja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1JUQ1NvY2tldDo6c2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1JUQ1NvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDU29ja2V0
OjpzZXRPcHRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
U29ja2V0Lmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0Lm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29y
ay5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpSVENOZXR3b3JrKToK
KyAgICAgICAgKFdlYktpdDo6aXBzKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6dmFs
dWUpOgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmRlY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzczo6ZW5jb2RlKToKKyAgICAgICAg
KFdlYktpdDo6UlRDTmV0d29yazo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29y
azo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29yay5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzOjpJUEFkZHJlc3MpOgorICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjptb25pdG9yKToKKyAgICAgICAgKFdlYktp
dDo6TGliV2ViUlRDTmV0d29yazo6c29ja2V0RmFjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6Okxp
YldlYlJUQ05ldHdvcms6OnNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ05ldHdv
cms6OnJlc29sdmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Byb3Zp
ZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OnNlbmRPbk1haW5UaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNv
bHZlcjo6U3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6R2V0UmVz
b2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUmVzb2x2ZXI6OkRlc3Ry
b3kpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6c2V0UmVzb2x2ZWRBZGRy
ZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUmVzb2x2ZXI6OnNldEVycm9yKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmg6IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnNlbmRPbk1haW5UaHJlYWQpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6OkxpYldlYlJUQ1NvY2tldCk6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6fkxpYldlYlJUQ1NvY2tldCk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ1NvY2tldDo6R2V0TG9jYWxBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDU29ja2V0OjpHZXRSZW1vdGVBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDU29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJX
ZWJSVENTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENT
b2NrZXQ6OnNpZ25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6
OnNpZ25hbENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6YXV0aEtleSk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ1NvY2tldDo6d2lsbFNlbmQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENTb2NrZXQ6OlNlbmRUbyk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6Q2xv
c2UpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6OkdldE9wdGlvbik6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6U2V0T3B0aW9uKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oOiBBZGRlZC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRlU2Vy
dmVyVGNwU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFjdG9yeTo6
Q3JlYXRlVWRwU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFjdG9y
eTo6Q3JlYXRlQ2xpZW50VGNwU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29j
a2V0RmFjdG9yeTo6ZGV0YWNoKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFj
dG9yeTo6Q3JlYXRlQXN5bmNSZXNvbHZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpzZW5kT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDTW9uaXRv
cjo6U3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ01vbml0b3I6OlN0b3BV
cGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ01vbml0b3I6Om5ldHdvcmtzQ2hhbmdl
ZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmg6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRv
ci5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENSZXNvbHZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSVENSZXNv
bHZlcjo6V2ViUlRDUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENSZXNvbHZlcjo6
c2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDUmVzb2x2ZXI6OnJl
c29sdmVkQWRkcmVzc0Vycm9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ1Jlc29sdmVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlJUQ1NvY2tldDo6c2lnbmFsT25OZXR3b3JrVGhyZWFkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUlRDU29ja2V0OjpXZWJSVENTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJS
VENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1Nv
Y2tldDo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1NvY2tldDo6
c2lnbmFsU2VudFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1NvY2tldDo6c2lnbmFs
Q29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1NvY2tldDo6c2lnbmFsQ2xvc2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lmg6IEFkZGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3Nh
Z2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Om1fdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6aW5pdGlhbGl6ZUxpYldlYlJUQyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmxpYldlYlJUQyk6CisKIDIwMTct
MDEtMzAgIENhcmxvcyBHYXJjaWEgQ2FtcG9zICA8Y2dhcmNpYUBpZ2FsaWEuY29tPgogCiAgICAg
ICAgIFtHVEtdIEFkZCBBUEkgdG8gaGFuZGxlIHRoZSBhY2NlbGVyYXRlZCBjb21wb3NpdGluZyBw
b2xpY3kKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NNYWtlTGlzdHMudHh0IGIvU291cmNl
L1dlYktpdDIvQ01ha2VMaXN0cy50eHQKaW5kZXggNDViNWM5Njg3ZjQxNDM3MmQ1ZmJmNzAzYWJj
ZTZhNDg5MTQwMWYwOC4uMmEzYjUxMWQ1YjQ4NjQ2YmRiYTMwMzBiNGVhM2U3YTgwOTM1MzYxNSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dl
YktpdDIvQ01ha2VMaXN0cy50eHQKQEAgLTEwLDYgKzEwLDcgQEAgc2V0KFdlYktpdDJfSU5DTFVE
RV9ESVJFQ1RPUklFUwogICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9GaWxlQVBJ
IgogICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9jYWNoZSIKICAgICAiJHtXRUJL
SVQyX0RJUn0vTmV0d29ya1Byb2Nlc3MvY2FwdHVyZSIKKyAgICAiJHtXRUJLSVQyX0RJUn0vTmV0
d29ya1Byb2Nlc3Mvd2VicnRjIgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybSIKICAgICAi
JHtXRUJLSVQyX0RJUn0vUGxhdGZvcm0vSVBDIgogICAgICIke1dFQktJVDJfRElSfS9QbHVnaW5Q
cm9jZXNzIgpAQCAtNjUsNiArNjYsNyBAQCBzZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9SSUVT
CiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvTWVkaWFDYWNoZSIKICAgICAiJHtXRUJL
SVQyX0RJUn0vV2ViUHJvY2Vzcy9NZWRpYVN0cmVhbSIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2Vi
UHJvY2Vzcy9OZXR3b3JrIgorICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvT3JpZ2luRGF0YSIKICAgICAiJHtXRUJLSVQy
X0RJUn0vV2ViUHJvY2Vzcy9QbHVnaW5zIgpAQCAtNTkzLDYgKzU5NSwxMCBAQCBzZXQoV2ViS2l0
Ml9NRVNTQUdFU19JTl9GSUxFUwogICAgIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtQcm9jZXNzLm1l
c3NhZ2VzLmluCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Jlc291cmNlTG9hZGVyLm1lc3Nh
Z2VzLmluCiAKKyAgICBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IubWVz
c2FnZXMuaW4KKyAgICBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1l
c3NhZ2VzLmluCisgICAgTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQubWVz
c2FnZXMuaW4KKwogICAgIFBsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lm1lc3Nh
Z2VzLmluCiAgICAgUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLm1lc3NhZ2VzLmluCiAgICAg
UGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgpAQCAtNjQ5LDYg
KzY1NSwxMCBAQCBzZXQoV2ViS2l0Ml9NRVNTQUdFU19JTl9GSUxFUwogCiAgICAgV2ViUHJvY2Vz
cy9JY29uRGF0YWJhc2UvV2ViSWNvbkRhdGFiYXNlUHJveHkubWVzc2FnZXMuaW4KIAorICAgIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbgorICAgIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4KKyAgICBX
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbgorCiAgICAg
V2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbgog
ICAgIFdlYlByb2Nlc3MvTmV0d29yay9XZWJSZXNvdXJjZUxvYWRlci5tZXNzYWdlcy5pbgogCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dl
YktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQppbmRleCBkY2E0ZjU4OGUxNThjMDI5ZDJlOGFjMmUx
Y2JkYTE0NDhlZTczNDQ4Li4xYWM2YWYyYTAzMmIwNGFiZWU0NzQ4NzgwZThiNWVkMjE5YTAyZDU5
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKQEAgLTI4LDYgKzI4LDcgQEAgVlBBVEgg
PSBcCiAgICAgJChXZWJLaXQyKS9OZXR3b3JrUHJvY2VzcyBcCiAgICAgJChXZWJLaXQyKS9OZXR3
b3JrUHJvY2Vzcy9DdXN0b21Qcm90b2NvbHMgXAogICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nl
c3MvbWFjIFwKKyAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzL3dlYnJ0YyBcCiAgICAgJChX
ZWJLaXQyKS9QbHVnaW5Qcm9jZXNzIFwKICAgICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MvbWFj
IFwKICAgICAkKFdlYktpdDIpL1NoYXJlZC9QbHVnaW5zIFwKQEAgLTQ1LDYgKzQ2LDcgQEAgVlBB
VEggPSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL0ljb25EYXRhYmFzZSBcCiAgICAgJChX
ZWJLaXQyKS9XZWJQcm9jZXNzL01lZGlhQ2FjaGUgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vz
cy9OZXR3b3JrIFwKKyAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMgXAog
ICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9Ob3RpZmljYXRpb25zIFwKICAgICAkKFdlYktpdDIp
L1dlYlByb2Nlc3MvT3JpZ2luRGF0YSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL1BsdWdp
bnMgXApAQCAtMTAwLDYgKzEwMiw5IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIE5ldHdv
cmtQcm9jZXNzIFwKICAgICBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24gXAogICAgIE5ldHdvcmtQ
cm9jZXNzUHJveHkgXAorICAgIE5ldHdvcmtSVENNb25pdG9yIFwKKyAgICBOZXR3b3JrUlRDUHJv
dmlkZXIgXAorICAgIE5ldHdvcmtSVENTb2NrZXQgXAogICAgIE5ldHdvcmtSZXNvdXJjZUxvYWRl
ciBcCiAgICAgUGx1Z2luQ29udHJvbGxlclByb3h5IFwKICAgICBQbHVnaW5Qcm9jZXNzIFwKQEAg
LTE0OSw2ICsxNTQsOSBAQCBNRVNTQUdFX1JFQ0VJVkVSUyA9IFwKICAgICBXZWJQcm9jZXNzQ29u
bmVjdGlvbiBcCiAgICAgV2ViUHJvY2Vzc1Bvb2wgXAogICAgIFdlYlByb2Nlc3NQcm94eSBcCisg
ICAgV2ViUlRDTW9uaXRvciBcCisgICAgV2ViUlRDUmVzb2x2ZXIgXAorICAgIFdlYlJUQ1NvY2tl
dCBcCiAgICAgV2ViUmVzb3VyY2VMb2FkZXIgXAogICAgIFdlYlJlc291cmNlTG9hZFN0YXRpc3Rp
Y3NTdG9yZSBcCiAgICAgV2ViVXNlckNvbnRlbnRDb250cm9sbGVyIFwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcAppbmRleCA4YTI3YWIzYTBjMmQ1YzgyYzI0YTY0MzI0NmE2NjBmNzg5OTNl
ZTc1Li4xNDE2MjQyZjEyZTFhMWJmMGNhNjQxOWJmMDM1NzM2YTQwMjFlODM0IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzcy5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwCkBAIC0zNCw2ICszNCw5IEBACiAjaW5jbHVkZSAiTmV0d29y
a0xvYWQuaCIKICNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgogI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3JN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VzLmgiCisjaW5j
bHVkZSAiTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Jlc291
cmNlTG9hZFBhcmFtZXRlcnMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXIuaCIK
ICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgpAQCAtNjgsNiArNzEs
MTAgQEAgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Ok5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzKElQQzo6Q29ubmVjdGlvbjo6SWQKIAogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6On5OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcygpCiB7CisjaWYgVVNFKExJQldF
QlJUQykKKyAgICBpZiAobV9ydGNQcm92aWRlcikKKyAgICAgICAgbV9ydGNQcm92aWRlci0+Y2xv
c2UoKTsKKyNlbmRpZgogfQogCiB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpk
aWRDbGVhbnVwUmVzb3VyY2VMb2FkZXIoTmV0d29ya1Jlc291cmNlTG9hZGVyJiBsb2FkZXIpCkBA
IC03Niw3ICs4Myw3IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENs
ZWFudXBSZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkCiAKICAgICBtX25ldHdvcmtS
ZXNvdXJjZUxvYWRlcnMucmVtb3ZlKGxvYWRlci5pZGVudGlmaWVyKCkpOwogfQotICAgIAorCiB2
b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtDb25u
ZWN0aW9uVG9XZWJQcm9jZXNzOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKQEAgLTg1LDE1ICs5
MiwzOSBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3RpbwogICAgIH0KIAogICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1Jlc291cmNlTG9hZGVy
OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgSGFzaE1hcDxSZXNvdXJjZUxvYWRJ
ZGVudGlmaWVyLCBSZWZQdHI8TmV0d29ya1Jlc291cmNlTG9hZGVyPj46Oml0ZXJhdG9yIGxvYWRl
ckl0ZXJhdG9yID0gbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLmZpbmQoZGVjb2Rlci5kZXN0aW5h
dGlvbklEKCkpOworICAgICAgICBhdXRvIGxvYWRlckl0ZXJhdG9yID0gbV9uZXR3b3JrUmVzb3Vy
Y2VMb2FkZXJzLmZpbmQoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpOwogICAgICAgICBpZiAobG9h
ZGVySXRlcmF0b3IgIT0gbV9uZXR3b3JrUmVzb3VyY2VMb2FkZXJzLmVuZCgpKQogICAgICAgICAg
ICAgbG9hZGVySXRlcmF0b3ItPnZhbHVlLT5kaWRSZWNlaXZlTmV0d29ya1Jlc291cmNlTG9hZGVy
TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKICAgICAgICAgcmV0dXJuOwogICAgIH0KLSAg
ICAKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVy
TmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrUlRDU29ja2V0OjptZXNzYWdlUmVjZWl2ZXJOYW1l
KCkpIHsKKyAgICAgICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTmV0d29ya1JUQ1NvY2tldE1l
c3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAg
aWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrUlRD
TW9uaXRvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAgIHJ0Y1Byb3ZpZGVyKCku
ZGlkUmVjZWl2ZU5ldHdvcmtSVENNb25pdG9yTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJO
YW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6bWVzc2FnZVJlY2VpdmVyTmFt
ZSgpKSB7CisgICAgICAgIHJ0Y1Byb3ZpZGVyKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlv
biwgZGVjb2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIEFTU0VS
VF9OT1RfUkVBQ0hFRCgpOwogfQogCisjaWYgVVNFKExJQldFQlJUQykKK05ldHdvcmtSVENQcm92
aWRlciYgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OnJ0Y1Byb3ZpZGVyKCkKK3sKKyAg
ICBpZiAoIW1fcnRjUHJvdmlkZXIpCisgICAgICAgIG1fcnRjUHJvdmlkZXIgPSBOZXR3b3JrUlRD
UHJvdmlkZXI6OmNyZWF0ZSgqdGhpcyk7CisgICAgcmV0dXJuICptX3J0Y1Byb3ZpZGVyOworfQor
I2VuZGlmCisKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVT
eW5jTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVj
b2Rlciwgc3RkOjp1bmlxdWVfcHRyPElQQzo6RW5jb2Rlcj4mIHJlcGx5KQogewogICAgIGlmIChk
ZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpAQCAtMTE2LDYgKzE0Nywx
MyBAQCB2b2lkIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRDbG9zZShJUEM6OkNv
bm5lY3Rpb24mKQogCiAgICAgTmV0d29ya0Jsb2JSZWdpc3RyeTo6c2luZ2xldG9uKCkuY29ubmVj
dGlvblRvV2ViUHJvY2Vzc0RpZENsb3NlKHRoaXMpOwogICAgIE5ldHdvcmtQcm9jZXNzOjpzaW5n
bGV0b24oKS5yZW1vdmVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyh0aGlzKTsKKworI2lm
IFVTRShMSUJXRUJSVEMpCisgICAgaWYgKG1fcnRjUHJvdmlkZXIpIHsKKyAgICAgICAgbV9ydGNQ
cm92aWRlci0+Y2xvc2UoKTsKKyAgICAgICAgbV9ydGNQcm92aWRlciA9IG51bGxwdHI7CisgICAg
fQorI2VuZGlmCiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJl
Y2VpdmVJbnZhbGlkTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OlN0cmluZ1JlZmVyZW5j
ZSwgSVBDOjpTdHJpbmdSZWZlcmVuY2UpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaAppbmRleCA3
OTY1NmJhNDdjMjI4YmUwMGE3YjA3NzAyNDI4MzVlZDQ1NjU1N2EyLi45NzI5MzE0ZDY3N2Y5MTNi
ZjM1MWRmYjA1NjA4ZjliOWNhODA5NTBmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKQEAg
LTI5LDYgKzI5LDggQEAKICNpbmNsdWRlICJDb25uZWN0aW9uLmgiCiAjaW5jbHVkZSAiRG93bmxv
YWRJRC5oIgogI2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZXMu
aCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXIuaCIKKwogI2luY2x1ZGUgPFdlYkNvcmUv
UmVzb3VyY2VMb2FkUHJpb3JpdHkuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogCkBA
IC03MSw3ICs3Myw3IEBAIHByaXZhdGU6CiAgICAgLy8gTWVzc2FnZSBoYW5kbGVycy4KICAgICB2
b2lkIGRpZFJlY2VpdmVOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2UoSVBDOjpD
b25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CiAgICAgdm9pZCBkaWRSZWNlaXZlU3luY05ldHdv
cmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRl
Y29kZXImLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYpOwotICAgIAorCiAgICAgdm9p
ZCBzY2hlZHVsZVJlc291cmNlTG9hZChjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVy
cyYpOwogICAgIHZvaWQgcGVyZm9ybVN5bmNocm9ub3VzTG9hZChjb25zdCBOZXR3b3JrUmVzb3Vy
Y2VMb2FkUGFyYW1ldGVycyYsIFJlZjxNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OlBlcmZvcm1TeW5jaHJvbm91c0xvYWQ6OkRlbGF5ZWRSZXBseT4mJik7CiAgICAgdm9p
ZCBsb2FkUGluZyhjb25zdCBOZXR3b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycyYpOwpAQCAtMTA1
LDEwICsxMDcsMTggQEAgcHJpdmF0ZToKIAogICAgIHZvaWQgZW5zdXJlTGVnYWN5UHJpdmF0ZUJy
b3dzaW5nU2Vzc2lvbigpOwogCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBOZXR3b3JrUlRDUHJv
dmlkZXImIHJ0Y1Byb3ZpZGVyKCk7CisjZW5kaWYKKyAgICAKICAgICBSZWY8SVBDOjpDb25uZWN0
aW9uPiBtX2Nvbm5lY3Rpb247CiAKICAgICBIYXNoTWFwPFJlc291cmNlTG9hZElkZW50aWZpZXIs
IFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+PiBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnM7
CiAgICAgSGFzaE1hcDxTdHJpbmcsIFJlZlB0cjxXZWJDb3JlOjpCbG9iRGF0YUZpbGVSZWZlcmVu
Y2U+PiBtX2Jsb2JEYXRhRmlsZVJlZmVyZW5jZXM7CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAg
IFJlZlB0cjxOZXR3b3JrUlRDUHJvdmlkZXI+IG1fcnRjUHJvdmlkZXI7CisjZW5kaWYKIH07CiAK
IH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi43MDZjZjQ2YzQxZDJkNDhjMTE1ZmIzNjM2MTNiNDAyNjQzZWZjZGMyCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1Nv
Y2tldENsaWVudC5jcHAKQEAgLTAsMCArMSwxMjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0Q2xpZW50LmgiCisKKyNpZiBVU0Uo
TElCV0VCUlRDKQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIkRhdGFSZWZl
cmVuY2UuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXIuaCIKKyNpbmNsdWRlICJXZWJS
VENTb2NrZXRNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+Cisj
aW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitMaWJXZWJS
VENTb2NrZXRDbGllbnQ6OkxpYldlYlJUQ1NvY2tldENsaWVudCh1aW50NjRfdCBpZGVudGlmaWVy
LCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpB
c3luY1BhY2tldFNvY2tldD4mJiBzb2NrZXQpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmll
cikKKyAgICAsIG1fcnRjUHJvdmlkZXIocnRjUHJvdmlkZXIpCisgICAgLCBtX3NvY2tldChXVEZN
b3ZlKHNvY2tldCkpCit7CisgICAgaWYgKCFtX3NvY2tldCkgeworICAgICAgICBydGNQcm92aWRl
ci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXJdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVj
dGlvbikgeworICAgICAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2Nr
ZXQ6OlNpZ25hbENsb3NlKDEpLCBpZGVudGlmaWVyKTsKKyAgICAgICAgfSk7CisgICAgICAgIHJl
dHVybjsKKyAgICB9CisKKyAgICBtX3NvY2tldC0+U2lnbmFsUmVhZFBhY2tldC5jb25uZWN0KHRo
aXMsICZMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQpOworICAgIG1fc29j
a2V0LT5TaWduYWxTZW50UGFja2V0LmNvbm5lY3QodGhpcywgJkxpYldlYlJUQ1NvY2tldENsaWVu
dDo6c2lnbmFsU2VudFBhY2tldCk7CisgICAgbV9zb2NrZXQtPlNpZ25hbEFkZHJlc3NSZWFkeS5j
b25uZWN0KHRoaXMsICZMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk7
CisgICAgbV9zb2NrZXQtPlNpZ25hbENvbm5lY3QuY29ubmVjdCh0aGlzLCAmTGliV2ViUlRDU29j
a2V0Q2xpZW50OjpzaWduYWxDb25uZWN0KTsKKyAgICBtX3NvY2tldC0+U2lnbmFsQ2xvc2UuY29u
bmVjdCh0aGlzLCAmTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxDbG9zZSk7Cit9CisKK3Zv
aWQgTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzZW5kVG8oY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVm
ZmVyJiBidWZmZXIsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgc29ja2V0QWRkcmVzcywgY29u
c3QgcnRjOjpQYWNrZXRPcHRpb25zJiBvcHRpb25zKQoreworCisgICAgbV9zb2NrZXQtPlNlbmRU
byhyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXIuZGF0YSgpKSwgYnVmZmVy
LnNpemUoKSwgc29ja2V0QWRkcmVzcywgb3B0aW9ucyk7Cit9CisKK3ZvaWQgTGliV2ViUlRDU29j
a2V0Q2xpZW50OjpjbG9zZSgpCit7CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKyAgICBtX3NvY2tl
dC0+Q2xvc2UoKTsKKyAgICBtX3J0Y1Byb3ZpZGVyLnRha2VTb2NrZXQobV9pZGVudGlmaWVyKTsK
K30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNldE9wdGlvbihpbnQgb3B0aW9uLCBp
bnQgdmFsdWUpCit7CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKyAgICBtX3NvY2tldC0+U2V0T3B0
aW9uKHN0YXRpY19jYXN0PHJ0Yzo6U29ja2V0OjpPcHRpb24+KG9wdGlvbiksIHZhbHVlKTsKK30K
Kwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3lu
Y1BhY2tldFNvY2tldCosIGNvbnN0IGNoYXIqIHZhbHVlLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYgcGFja2V0
VGltZSkKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgYXV0byBi
dWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZSh2YWx1ZSwgbGVuZ3RoKTsKKyAg
ICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciwgYnVmZmVyID0g
V1RGTW92ZShidWZmZXIpLCBhZGRyZXNzLCBwYWNrZXRUaW1lXShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24pIHsKKyAgICAgICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCB1aW50OF90Kj4oYnVmZmVyLT5kYXRhKCkpLCBidWZmZXItPnNpemUoKSk7Cisg
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxSZWFk
UGFja2V0KGRhdGEsIFJUQ05ldHdvcms6OklQQWRkcmVzcyhhZGRyZXNzLmlwYWRkcigpKSwgYWRk
cmVzcy5wb3J0KCksIHBhY2tldFRpbWUudGltZXN0YW1wKSwgaWRlbnRpZmllcik7CisgICAgfSk7
Cit9CisKK3ZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxTZW50UGFja2V0KHJ0Yzo6
QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBydGM6OlNlbnRQYWNrZXQmIHNlbnRQYWNrZXQpCit7
CisgICAgYXV0byBpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyOworICAgIG1fcnRjUHJvdmlkZXIu
c2VuZEZyb21NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBzZW50UGFja2V0XShJUEM6OkNvbm5lY3Rp
b24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJS
VENTb2NrZXQ6OlNpZ25hbFNlbnRQYWNrZXQoc2VudFBhY2tldC5wYWNrZXRfaWQsIHNlbnRQYWNr
ZXQuc2VuZF90aW1lX21zKSwgaWRlbnRpZmllcik7CisgICAgfSk7Cit9CisKK3ZvaWQgTGliV2Vi
UlRDU29ja2V0Q2xpZW50OjpzaWduYWxBZGRyZXNzUmVhZHkocnRjOjpBc3luY1BhY2tldFNvY2tl
dCosIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcykKK3sKKyAgICBhdXRvIGlkZW50
aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJl
YWQoW2lkZW50aWZpZXIsIGFkZHJlc3NdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgewor
ICAgICAgICBhdXRvIGFkZHJlc3NTdHJpbmcgPSBhZGRyZXNzLlRvU3RyaW5nKCk7CisgICAgICAg
IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxBZGRyZXNzUmVh
ZHkoU3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSks
IGlkZW50aWZpZXIpOworICAgIH0pOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6
c2lnbmFsQ29ubmVjdChydGM6OkFzeW5jUGFja2V0U29ja2V0KikKK3sKKyAgICBhdXRvIGlkZW50
aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJl
YWQoW2lkZW50aWZpZXJdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBj
b25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ29ubmVjdCgpLCBp
ZGVudGlmaWVyKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNp
Z25hbENsb3NlKHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBpbnQgZXJyb3IpCit7CisgICAgYXV0
byBpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyOworICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21N
YWluVGhyZWFkKFtpZGVudGlmaWVyLCBlcnJvcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
KSB7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWdu
YWxDbG9zZShlcnJvciksIGlkZW50aWZpZXIpOworICAgIH0pOworICAgIG1fcnRjUHJvdmlkZXIu
dGFrZVNvY2tldChtX2lkZW50aWZpZXIpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmggYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmgKbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MC4uZDA4MzkzOTNjYTAyYjdkM2RmNzYwMzczNzFjYzZmMTVlNTFhYjlmYwotLS0gL2Rldi9udWxs
CisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXRDbGllbnQuaApAQCAtMCwwICsxLDc0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3Mu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNvY2tldC5oPgorI2luY2x1ZGUg
PHdlYnJ0Yy9iYXNlL3NpZ3Nsb3QuaD4KKworbmFtZXNwYWNlIHJ0YyB7CitjbGFzcyBBc3luY1Bh
Y2tldFNvY2tldDsKK2NsYXNzIFNvY2tldEFkZHJlc3M7CitzdHJ1Y3QgUGFja2V0T3B0aW9uczsK
K3N0cnVjdCBQYWNrZXRUaW1lOworc3RydWN0IFNlbnRQYWNrZXQ7Cit9CisKK25hbWVzcGFjZSBX
ZWJDb3JlIHsKK2NsYXNzIFNoYXJlZEJ1ZmZlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K2NsYXNzIE5ldHdvcmtSVENQcm92aWRlcjsKKworY2xhc3MgTGliV2ViUlRDU29ja2V0Q2xpZW50
IGZpbmFsIDogcHVibGljIHNpZ3Nsb3Q6Omhhc19zbG90czw+IHsKK3B1YmxpYzoKKyAgICBMaWJX
ZWJSVENTb2NrZXRDbGllbnQodWludDY0X3QgaWRlbnRpZmllciwgTmV0d29ya1JUQ1Byb3ZpZGVy
Jiwgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+JiYpOworCitwcml2YXRl
OgorICAgIGZyaWVuZCBjbGFzcyBOZXR3b3JrUlRDU29ja2V0OworCisgICAgdm9pZCBjbG9zZSgp
OworICAgIHZvaWQgc2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSk7CisgICAgdm9pZCBz
ZW5kVG8oY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiwgY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJik7CisKKyAgICB2b2lkIHNpZ25hbFJlYWRQ
YWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IGNoYXIqLCBzaXplX3QsIGNvbnN0
IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYpOworICAgIHZvaWQg
c2lnbmFsU2VudFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpTZW50
UGFja2V0Jik7CisgICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkocnRjOjpBc3luY1BhY2tldFNv
Y2tldCosIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVj
dChydGM6OkFzeW5jUGFja2V0U29ja2V0Kik7CisgICAgdm9pZCBzaWduYWxDbG9zZShydGM6OkFz
eW5jUGFja2V0U29ja2V0KiwgaW50KTsKKworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAg
ICBOZXR3b3JrUlRDUHJvdmlkZXImIG1fcnRjUHJvdmlkZXI7CisgICAgc3RkOjp1bmlxdWVfcHRy
PHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IG1fc29ja2V0OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHAKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uZTMwYjVlYjA3MDFiODU1ZTY0MTdhYTAyZjdjNDQ1OWVhODFiNmJjNQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDTW9uaXRvci5jcHAKQEAgLTAsMCArMSw4MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJj
b25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDTW9uaXRvci5oIgorCisjaWYgVVNFKExJQldF
QlJUQykKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJv
dmlkZXIuaCIKKyNpbmNsdWRlICJXZWJSVENNb25pdG9yTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgTmV0d29ya1JUQ01v
bml0b3I6OnN0YXJ0VXBkYXRpbmcoKQoreworICAgIG1faXNTdGFydGVkID0gdHJ1ZTsKKyAgICBt
X3J0Y1Byb3ZpZGVyLmNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3RoaXNdKCkgeworICAgICAgICBt
X21hbmFnZXIgPSBzdGQ6Om1ha2VfdW5pcXVlPHJ0Yzo6QmFzaWNOZXR3b3JrTWFuYWdlcj4oKTsK
KyAgICAgICAgbV9tYW5hZ2VyLT5TaWduYWxOZXR3b3Jrc0NoYW5nZWQuY29ubmVjdCh0aGlzLCAm
TmV0d29ya1JUQ01vbml0b3I6Om9uTmV0d29ya3NDaGFuZ2VkKTsKKyAgICAgICAgbV9tYW5hZ2Vy
LT5TdGFydFVwZGF0aW5nKCk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ01vbml0b3I6
OnN0b3BVcGRhdGluZygpCit7CisgICAgbV9pc1N0YXJ0ZWQgPSBmYWxzZTsKKyAgICBtX3J0Y1By
b3ZpZGVyLmNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3RoaXNdKCkgeworICAgICAgICBtX21hbmFn
ZXItPlN0b3BVcGRhdGluZygpOworICAgICAgICBtX21hbmFnZXIgPSBudWxscHRyOworICAgIH0p
OworfQorCit2b2lkIE5ldHdvcmtSVENNb25pdG9yOjpvbk5ldHdvcmtzQ2hhbmdlZCgpCit7Cisg
ICAgcnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyOjpOZXR3b3JrTGlzdCBuZXR3b3JrczsKKyAgICBt
X21hbmFnZXItPkdldE5ldHdvcmtzKCZuZXR3b3Jrcyk7CisKKyAgICBSVENOZXR3b3JrOjpJUEFk
ZHJlc3MgaXB2NDsKKyAgICBtX21hbmFnZXItPkdldERlZmF1bHRMb2NhbEFkZHJlc3MoQUZfSU5F
VCwgJmlwdjQudmFsdWUpOworICAgIFJUQ05ldHdvcms6OklQQWRkcmVzcyBpcHY2OworICAgIG1f
bWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVzcyhBRl9JTkVUNiwgJmlwdjYudmFsdWUpOwor
CisgICAgVmVjdG9yPFJUQ05ldHdvcms+IG5ldHdvcmtMaXN0OworICAgIG5ldHdvcmtMaXN0LnJl
c2VydmVJbml0aWFsQ2FwYWNpdHkobmV0d29ya3Muc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8qIG5l
dHdvcmsgOiBuZXR3b3JrcykgeworICAgICAgICBBU1NFUlQobmV0d29yayk7CisgICAgICAgIG5l
dHdvcmtMaXN0LnVuY2hlY2tlZEFwcGVuZChSVENOZXR3b3JrIHsgKm5ldHdvcmsgfSk7CisgICAg
fQorCisgICAgbV9ydGNQcm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW3RoaXMsIG5ldHdvcmtM
aXN0ID0gV1RGTW92ZShuZXR3b3JrTGlzdCksIGlwdjQgPSBXVEZNb3ZlKGlwdjQpLCBpcHY2ID0g
V1RGTW92ZShpcHY2KV0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGlm
ICghbV9pc1N0YXJ0ZWQpCisgICAgICAgICAgICByZXR1cm47CisgICAgICAgIGNvbm5lY3Rpb24u
c2VuZChNZXNzYWdlczo6V2ViUlRDTW9uaXRvcjo6TmV0d29ya3NDaGFuZ2VkKG5ldHdvcmtMaXN0
LCBpcHY0LCBpcHY2KSwgMCk7CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGUw
N2Q4NGI3OTg0NWEzMWU4MDg4NWI5ZWJlZGQ2ZmRhMDk5OTg0ZgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5o
CkBAIC0wLDAgKzEsNjMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShM
SUJXRUJSVEMpCisKKyNpbmNsdWRlICJXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oIgorI2luY2x1
ZGUgPHdlYnJ0Yy9iYXNlL25ldHdvcmsuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9zaWdzbG90
Lmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvdGhyZWFkLmg+CisKK25hbWVzcGFjZSBJUEMgewor
Y2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBOZXR3b3JrUlRDUHJvdmlkZXI7CisKK2NsYXNzIE5ldHdvcmtSVENNb25pdG9y
IGZpbmFsIDogcHVibGljIHNpZ3Nsb3Q6Omhhc19zbG90czw+IHsKK3B1YmxpYzoKKyAgICBleHBs
aWNpdCBOZXR3b3JrUlRDTW9uaXRvcihOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVyKSA6
IG1fcnRjUHJvdmlkZXIocnRjUHJvdmlkZXIpIHsgfQorCisgICAgdm9pZCBkaWRSZWNlaXZlTWVz
c2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKyAgICB2b2lkIHN0b3BVcGRh
dGluZygpOworCitwcml2YXRlOgorICAgIHZvaWQgc3RhcnRVcGRhdGluZygpOworCisgICAgdm9p
ZCBvbk5ldHdvcmtzQ2hhbmdlZCgpOworCisgICAgTmV0d29ya1JUQ1Byb3ZpZGVyJiBtX3J0Y1By
b3ZpZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkJhc2ljTmV0d29ya01hbmFnZXI+IG1f
bWFuYWdlcjsKKyAgICBib29sIG1faXNTdGFydGVkIHsgZmFsc2UgfTsKK307CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNz
YWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
TW9uaXRvci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41MWIxNWRkMjgzZjUzMGVjMDdhYzgxYzBm
YzA5MmQ4YmQ3MDJmNmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEs
MzAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAor
IyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVTRShM
SUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IE5ldHdvcmtSVENNb25pdG9yIHsKKyAgICB2b2lkIFN0
YXJ0VXBkYXRpbmcoKQorICAgIHZvaWQgU3RvcFVwZGF0aW5nKCkKK30KKworI2VuZGlmIC8vIFVT
RShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjAwYjY1ZWFiZWE0
NDJiMzE4NGRiNmU3OWQ1MWNkZGY3YzEzOTA5MGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcApAQCAt
MCwwICsxLDIyMCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJOZXR3b3JrUlRDUHJvdmlkZXIuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRl
ICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9j
ZXNzLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldC5oIgorI2luY2x1ZGUgIldlYlJUQ1Jl
c29sdmVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgor
I2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL2FzeW5jcGFja2V0c29ja2V0Lmg+CisjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9XVEZTdHJpbmcuaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3N0YXRpYyBpbmxpbmUgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6VGhyZWFk
PiBjcmVhdGVUaHJlYWQoKQoreworICAgIGF1dG8gdGhyZWFkID0gcnRjOjpUaHJlYWQ6OkNyZWF0
ZVdpdGhTb2NrZXRTZXJ2ZXIoKTsKKyAgICBhdXRvIHJlc3VsdCA9IHRocmVhZC0+U3RhcnQoKTsK
KyAgICBBU1NFUlRfVU5VU0VEKHJlc3VsdCwgcmVzdWx0KTsKKyAgICAvLyBGSVhNRTogU2V0IHRo
cmVhZCBuYW1lLgorICAgIHJldHVybiB0aHJlYWQ7Cit9CisKK05ldHdvcmtSVENQcm92aWRlcjo6
TmV0d29ya1JUQ1Byb3ZpZGVyKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0
aW9uKQorICAgIDogbV9jb25uZWN0aW9uKCZjb25uZWN0aW9uKQorICAgICwgbV9ydGNNb25pdG9y
KCp0aGlzKQorICAgICwgbV9ydGNOZXR3b3JrVGhyZWFkKGNyZWF0ZVRocmVhZCgpKQorICAgICwg
bV9wYWNrZXRTb2NrZXRGYWN0b3J5KG1ha2VVbmlxdWVSZWY8cnRjOjpCYXNpY1BhY2tldFNvY2tl
dEZhY3Rvcnk+KG1fcnRjTmV0d29ya1RocmVhZC5nZXQoKSkpCit7Cit9CisKK3ZvaWQgTmV0d29y
a1JUQ1Byb3ZpZGVyOjpjbG9zZSgpCit7CisgICAgbV9jb25uZWN0aW9uID0gbnVsbHB0cjsKKyAg
ICBtX3Jlc29sdmVycy5jbGVhcigpOworICAgIG1fcnRjTW9uaXRvci5zdG9wVXBkYXRpbmcoKTsK
KworICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3RoaXNdKCkgeworICAgICAgICBtX3NvY2tl
dHMuY2xlYXIoKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0
ZVVEUFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MsIHVp
bnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpCit7CisgICAgcnRjOjpTb2NrZXRBZGRy
ZXNzIHNvY2tldEFkZHJlc3M7CisgICAgc29ja2V0QWRkcmVzcy5Gcm9tU3RyaW5nKGFkZHJlc3Mu
dXRmOCgpLmRhdGEoKSk7CisKKyAgICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBpZGVu
dGlmaWVyLCBzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tl
dEZhY3RvcnktPkNyZWF0ZVVkcFNvY2tldChzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0
KSk7CisgICAgICAgIGFkZFNvY2tldChpZGVudGlmaWVyLCBzdGQ6Om1ha2VfdW5pcXVlPExpYldl
YlJUQ1NvY2tldENsaWVudD4oaWRlbnRpZmllciwgKnRoaXMsIFdURk1vdmUoc29ja2V0KSkpOwor
ICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlU2VydmVyVENQU29j
a2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRkcmVzcywgdWludDE2X3Qg
bWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9wdGlvbnMpCit7CisgICAgcnRjOjpTb2Nr
ZXRBZGRyZXNzIHNvY2tldEFkZHJlc3M7CisgICAgc29ja2V0QWRkcmVzcy5Gcm9tU3RyaW5nKGFk
ZHJlc3MudXRmOCgpLmRhdGEoKSk7CisgICAgCisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChb
dGhpcywgaWRlbnRpZmllciwgc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9u
c10oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBz
b2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoc29ja2V0
QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9ucykpOworICAgICAgICBhZGRTb2NrZXQo
aWRlbnRpZmllciwgc3RkOjptYWtlX3VuaXF1ZTxMaWJXZWJSVENTb2NrZXRDbGllbnQ+KGlkZW50
aWZpZXIsICp0aGlzLCBXVEZNb3ZlKHNvY2tldCkpKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3
b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZUNsaWVudFRDUFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVy
LCBjb25zdCBTdHJpbmcmIGxvY2FsQWRkcmVzcywgY29uc3QgU3RyaW5nJiByZW1vdGVBZGRyZXNz
LCBpbnQgb3B0aW9ucykKK3sKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0TG9jYWxBZGRy
ZXNzOworICAgIHNvY2tldExvY2FsQWRkcmVzcy5Gcm9tU3RyaW5nKGxvY2FsQWRkcmVzcy51dGY4
KCkuZGF0YSgpKTsKKyAgICAKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0UmVtb3RlQWRk
cmVzczsKKyAgICBzb2NrZXRSZW1vdGVBZGRyZXNzLkZyb21TdHJpbmcocmVtb3RlQWRkcmVzcy51
dGY4KCkuZGF0YSgpKTsKKyAgICAKKyAgICBjYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBp
ZGVudGlmaWVyLCBzb2NrZXRMb2NhbEFkZHJlc3MsIHNvY2tldFJlbW90ZUFkZHJlc3MsIG9wdGlv
bnNdKCkgeworICAgICAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4g
c29ja2V0KG1fcGFja2V0U29ja2V0RmFjdG9yeS0+Q3JlYXRlQ2xpZW50VGNwU29ja2V0KHNvY2tl
dExvY2FsQWRkcmVzcywgc29ja2V0UmVtb3RlQWRkcmVzcywgeyB9LCB7IH0sIG9wdGlvbnMpKTsK
KyAgICAgICAgYWRkU29ja2V0KGlkZW50aWZpZXIsIHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRD
U29ja2V0Q2xpZW50PihpZGVudGlmaWVyLCAqdGhpcywgV1RGTW92ZShzb2NrZXQpKSk7CisgICAg
fSk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjphZGRTb2NrZXQodWludDY0X3QgaWRl
bnRpZmllciwgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ1NvY2tldENsaWVudD4mJiBzb2NrZXQp
Cit7CisgICAgbV9zb2NrZXRzLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKHNvY2tldCkpOworfQor
CitzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDU29ja2V0Q2xpZW50PiBOZXR3b3JrUlRDUHJvdmlk
ZXI6OnRha2VTb2NrZXQodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAgICByZXR1cm4gbV9zb2Nr
ZXRzLnRha2UoaWRlbnRpZmllcik7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpkaWRS
ZWNlaXZlTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
LCBJUEM6OkRlY29kZXImIGRlY29kZXIpCit7CisgICAgTmV0d29ya1JUQ1NvY2tldChkZWNvZGVy
LmRlc3RpbmF0aW9uSUQoKSwgKnRoaXMpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRl
Y29kZXIpOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlUmVzb2x2ZXIodWlu
dDY0X3QgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBhZGRyZXNzKQoreworICAgIENGSG9zdFJl
ZiBob3N0ID0gQ0ZIb3N0Q3JlYXRlV2l0aE5hbWUoa0NGQWxsb2NhdG9yRGVmYXVsdCwgYWRkcmVz
cy5jcmVhdGVDRlN0cmluZygpLmdldCgpKTsKKyAgICBBU1NFUlQoaG9zdCk7CisgICAgCisgICAg
YXV0byByZXNvbHZlciA9IHN0ZDo6bWFrZV91bmlxdWU8UmVzb2x2ZXI+KGlkZW50aWZpZXIsICp0
aGlzLCBob3N0KTsKKyAgICAKKyAgICBDRkhvc3RDbGllbnRDb250ZXh0IGNvbnRleHQ7CisgICAg
Y29udGV4dC52ZXJzaW9uID0gMDsKKyAgICBjb250ZXh0LmluZm8gPSByZXNvbHZlci5nZXQoKTsK
KyAgICBjb250ZXh0LmNvcHlEZXNjcmlwdGlvbiA9IG51bGxwdHI7CisgICAgY29udGV4dC5yZWxl
YXNlID0gbnVsbHB0cjsKKyAgICBjb250ZXh0LnJldGFpbiA9IG51bGxwdHI7CisgICAgCisgICAg
Q0ZIb3N0U2V0Q2xpZW50KGhvc3QsIE5ldHdvcmtSVENQcm92aWRlcjo6cmVzb2x2ZWROYW1lLCAm
Y29udGV4dCk7CisgICAgQ0ZIb3N0U2NoZWR1bGVXaXRoUnVuTG9vcChob3N0LCBDRlJ1bkxvb3BH
ZXRDdXJyZW50KCksIGtDRlJ1bkxvb3BEZWZhdWx0TW9kZSk7CisgICAgQm9vbGVhbiByZXN1bHQg
PSBDRkhvc3RTdGFydEluZm9SZXNvbHV0aW9uKGhvc3QsIGtDRkhvc3RBZGRyZXNzZXMsIG51bGxw
dHIpOworICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQpOworICAgIAorICAgIG1fcmVz
b2x2ZXJzLmFkZChpZGVudGlmaWVyLCBXVEZNb3ZlKHJlc29sdmVyKSk7Cit9CisKK3ZvaWQgTmV0
d29ya1JUQ1Byb3ZpZGVyOjpzdG9wUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikKK3sKKyAg
ICBhdXRvIHJlc29sdmVyID0gbV9yZXNvbHZlcnMudGFrZShpZGVudGlmaWVyKTsKKyAgICBpZiAo
cmVzb2x2ZXIpCisgICAgICAgIENGSG9zdENhbmNlbEluZm9SZXNvbHV0aW9uKHJlc29sdmVyLT5o
b3N0LCBDRkhvc3RJbmZvVHlwZTo6a0NGSG9zdEFkZHJlc3Nlcyk7Cit9CisgICAgCit2b2lkIE5l
dHdvcmtSVENQcm92aWRlcjo6cmVzb2x2ZWROYW1lKENGSG9zdFJlZiBob3N0UmVmLCBDRkhvc3RJ
bmZvVHlwZSB0eXBlSW5mbywgY29uc3QgQ0ZTdHJlYW1FcnJvciAqZXJyb3IsIHZvaWQgKmluZm8p
Cit7CisgICAgQVNTRVJUX1VOVVNFRCh0eXBlSW5mbywgIXR5cGVJbmZvKTsKKyAgICAKKyAgICBp
ZiAoZXJyb3ItPmRvbWFpbikgeworICAgICAgICAvLyBGSVhNRTogTmVlZCB0byBoYW5kbGUgZmFp
bHVyZSwgYnV0IGluZm8gaXMgbm90IHByb3ZpZGVkIGluIHRoZSBjYWxsYmFjay4KKyAgICAgICAg
cmV0dXJuOworICAgIH0KKyAgICAKKyAgICBBU1NFUlQoaW5mbyk7CisgICAgYXV0byogcmVzb2x2
ZXJJbmZvID0gc3RhdGljX2Nhc3Q8UmVzb2x2ZXIqPihpbmZvKTsKKyAgICBhdXRvIHJlc29sdmVy
ID0gcmVzb2x2ZXJJbmZvLT5ydGNQcm92aWRlci5tX3Jlc29sdmVycy50YWtlKHJlc29sdmVySW5m
by0+aWRlbnRpZmllcik7CisgICAgaWYgKCFyZXNvbHZlcikKKyAgICAgICAgcmV0dXJuOworICAg
IAorICAgIEJvb2xlYW4gcmVzdWx0OworICAgIENGQXJyYXlSZWYgcmVzb2x2ZWRBZGRyZXNzZXMg
PSAoQ0ZBcnJheVJlZilDRkhvc3RHZXRBZGRyZXNzaW5nKGhvc3RSZWYsICZyZXN1bHQpOworICAg
IEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQpOworICAgIAorICAgIHNpemVfdCBjb3VudCA9
IENGQXJyYXlHZXRDb3VudChyZXNvbHZlZEFkZHJlc3Nlcyk7CisgICAgVmVjdG9yPFJUQ05ldHdv
cms6OklQQWRkcmVzcz4gYWRkcmVzc2VzOworICAgIGFkZHJlc3Nlcy5yZXNlcnZlSW5pdGlhbENh
cGFjaXR5KGNvdW50KTsKKyAgICAKKyAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwg
Y291bnQ7ICsraW5kZXgpIHsKKyAgICAgICAgQ0ZEYXRhUmVmIGRhdGEgPSAoQ0ZEYXRhUmVmKUNG
QXJyYXlHZXRWYWx1ZUF0SW5kZXgocmVzb2x2ZWRBZGRyZXNzZXMsIGluZGV4KTsKKyAgICAgICAg
YXV0byogYWRkcmVzcyA9IHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qgc3RydWN0IHNvY2thZGRyX2lu
Kj4oQ0ZEYXRhR2V0Qnl0ZVB0cihkYXRhKSk7CisgICAgICAgIGFkZHJlc3Nlcy51bmNoZWNrZWRB
cHBlbmQoUlRDTmV0d29yazo6SVBBZGRyZXNzKHJ0Yzo6SVBBZGRyZXNzKGFkZHJlc3MtPnNpbl9h
ZGRyKSkpOworICAgIH0KKyAgICBBU1NFUlQocmVzb2x2ZXItPnJ0Y1Byb3ZpZGVyLm1fY29ubmVj
dGlvbik7CisgICAgcmVzb2x2ZXItPnJ0Y1Byb3ZpZGVyLm1fY29ubmVjdGlvbi0+Y29ubmVjdGlv
bigpLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1Jlc29sdmVyOjpTZXRSZXNvbHZlZEFkZHJlc3MoYWRk
cmVzc2VzKSwgcmVzb2x2ZXItPmlkZW50aWZpZXIpOworfQorCitzdHJ1Y3QgTmV0d29ya01lc3Nh
Z2VEYXRhIDogcHVibGljIHJ0Yzo6TWVzc2FnZURhdGEgeworICAgIE5ldHdvcmtNZXNzYWdlRGF0
YShSZWY8TmV0d29ya1JUQ1Byb3ZpZGVyPiYmIHJ0Y1Byb3ZpZGVyLCBGdW5jdGlvbjx2b2lkKCk+
JiYgY2FsbGJhY2spCisgICAgICAgIDogcnRjUHJvdmlkZXIoV1RGTW92ZShydGNQcm92aWRlcikp
CisgICAgICAgICwgY2FsbGJhY2soV1RGTW92ZShjYWxsYmFjaykpCisgICAgeyB9CisgICAgUmVm
PE5ldHdvcmtSVENQcm92aWRlcj4gcnRjUHJvdmlkZXI7CisgICAgRnVuY3Rpb248dm9pZCgpPiBj
YWxsYmFjazsKK307CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpPbk1lc3NhZ2UocnRjOjpN
ZXNzYWdlKiBtZXNzYWdlKQoreworICAgIEFTU0VSVChtZXNzYWdlLT5tZXNzYWdlX2lkID09IDEp
OworICAgIHN0YXRpY19jYXN0PE5ldHdvcmtNZXNzYWdlRGF0YSo+KG1lc3NhZ2UtPnBkYXRhKS0+
Y2FsbGJhY2soKTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNhbGxPblJUQ05ldHdv
cmtUaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmIGNhbGxiYWNrKQoreworICAgIG1fcnRjTmV0d29y
a1RocmVhZC0+UG9zdChSVENfRlJPTV9IRVJFLCB0aGlzLCAxLCBuZXcgTmV0d29ya01lc3NhZ2VE
YXRhKCp0aGlzLCBXVEZNb3ZlKGNhbGxiYWNrKSkpOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92
aWRlcjo6Y2FsbFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyLCBGdW5jdGlvbjx2b2lkKExpYldl
YlJUQ1NvY2tldENsaWVudCYpPiYmIGNhbGxiYWNrKQoreworICAgIGNhbGxPblJUQ05ldHdvcmtU
aHJlYWQoW3RoaXMsIGlkZW50aWZpZXIsIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkg
eworICAgICAgICBpZiAoYXV0byogc29ja2V0ID0gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKSkK
KyAgICAgICAgICAgIGNhbGxiYWNrKCpzb2NrZXQpOworICAgIH0pOworfQorCit2b2lkIE5ldHdv
cmtSVENQcm92aWRlcjo6c2VuZEZyb21NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25u
ZWN0aW9uJik+JiYgY2FsbGJhY2spCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbcHJvdmlkZXIg
PSBtYWtlUmVmKCp0aGlzKSwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7CisgICAg
ICAgIGlmIChwcm92aWRlci0+bV9jb25uZWN0aW9uKQorICAgICAgICAgICAgY2FsbGJhY2socHJv
dmlkZXItPm1fY29ubmVjdGlvbi0+Y29ubmVjdGlvbigpKTsKKyAgICB9KTsKK30KKyAgICAKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlk
ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJv
dmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi43MDBjMzhmYjQ3NzY0ODlhZjhjNWE3NGI4ZjQ3YTM3YjU4MDFj
NmQ4Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2Vi
cnRjL05ldHdvcmtSVENQcm92aWRlci5oCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRD
U29ja2V0Q2xpZW50LmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3IuaCIKKyNpbmNsdWRl
IDxDRk5ldHdvcmsvQ0ZIb3N0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3Mu
aD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9zaWdzbG90Lmg+CisjaW5jbHVkZSA8d2VicnRjL3Ay
cC9iYXNlL2Jhc2ljcGFja2V0c29ja2V0ZmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFw
Lmg+CisjaW5jbHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3Rm
L1VuaXF1ZVJlZi5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3Bh
Y2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CitjbGFz
cyBOZXR3b3JrUlRDU29ja2V0OworICAgIAorY2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyIDogcHVi
bGljIFRocmVhZFNhZmVSZWZDb3VudGVkPE5ldHdvcmtSVENQcm92aWRlcj4sIHB1YmxpYyBydGM6
Ok1lc3NhZ2VIYW5kbGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE5ldHdvcmtSVENQcm92
aWRlcj4gY3JlYXRlKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKSB7
IHJldHVybiBhZG9wdFJlZigqbmV3IE5ldHdvcmtSVENQcm92aWRlcihjb25uZWN0aW9uKSk7IH0K
KworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNv
ZGVyJik7CisgICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKSB7IG1fcnRjTW9u
aXRvci5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsgfQorICAgIHZvaWQg
ZGlkUmVjZWl2ZU5ldHdvcmtSVENTb2NrZXRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6
RGVjb2RlciYpOworCisgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ1NvY2tldENsaWVudD4g
dGFrZVNvY2tldCh1aW50NjRfdCk7CisgICAgdm9pZCByZXNvbHZlckRvbmUodWludDY0X3QpOwor
CisgICAgdm9pZCBjbG9zZSgpOworCisgICAgdm9pZCBjYWxsU29ja2V0KHVpbnQ2NF90LCBGdW5j
dGlvbjx2b2lkKExpYldlYlJUQ1NvY2tldENsaWVudCYpPiYmKTsKKyAgICB2b2lkIGNhbGxPblJU
Q05ldHdvcmtUaHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICB2b2lkIHNlbmRGcm9tTWFp
blRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlvbiYpPiYmKTsKKworcHJpdmF0ZToK
KyAgICBleHBsaWNpdCBOZXR3b3JrUlRDUHJvdmlkZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MmKTsKKworICAgIHZvaWQgY3JlYXRlVURQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJp
bmcmLCB1aW50MTZfdCwgdWludDE2X3QpOworICAgIHZvaWQgY3JlYXRlQ2xpZW50VENQU29ja2V0
KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBpbnQpOworICAgIHZvaWQg
Y3JlYXRlU2VydmVyVENQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCB1aW50MTZfdCBt
aW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQpOworICAgIHZvaWQgY3JlYXRlUmVzb2x2ZXIo
dWludDY0X3QsIGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc3RvcFJlc29sdmVyKHVpbnQ2NF90
KTsKKworICAgIHZvaWQgYWRkU29ja2V0KHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8TGliV2Vi
UlRDU29ja2V0Q2xpZW50PiYmKTsKKworICAgIHZvaWQgT25NZXNzYWdlKHJ0Yzo6TWVzc2FnZSop
OworCisgICAgc3RhdGljIHZvaWQgcmVzb2x2ZWROYW1lKENGSG9zdFJlZiwgQ0ZIb3N0SW5mb1R5
cGUsIGNvbnN0IENGU3RyZWFtRXJyb3IqLCB2b2lkKik7CisKKyAgICBzdHJ1Y3QgUmVzb2x2ZXIg
eworICAgICAgICBSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlk
ZXImIHJ0Y1Byb3ZpZGVyLCBSZXRhaW5QdHI8Q0ZIb3N0UmVmPiYmIGhvc3QpCisgICAgICAgICAg
ICA6IGlkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAgICAgICAgICwgcnRjUHJvdmlkZXIocnRj
UHJvdmlkZXIpCisgICAgICAgICAgICAsIGhvc3QoV1RGTW92ZShob3N0KSkgeyB9CisgICAgICAg
IH5SZXNvbHZlcigpIHsgQ0ZSZWxlYXNlKGhvc3QpOyB9CisKKyAgICAgICAgdWludDY0X3QgaWRl
bnRpZmllcjsKKyAgICAgICAgTmV0d29ya1JUQ1Byb3ZpZGVyJiBydGNQcm92aWRlcjsKKyAgICAg
ICAgQ0ZIb3N0UmVmIGhvc3Q7CisgICAgfTsKKworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6
dW5pcXVlX3B0cjxSZXNvbHZlcj4+IG1fcmVzb2x2ZXJzOworICAgIEhhc2hNYXA8dWludDY0X3Qs
IHN0ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVENTb2NrZXRDbGllbnQ+PiBtX3NvY2tldHM7CisgICAg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MqIG1fY29ubmVjdGlvbjsKKyAgICBib29sIG1f
aXNTdGFydGVkIHsgdHJ1ZSB9OworCisgICAgTmV0d29ya1JUQ01vbml0b3IgbV9ydGNNb25pdG9y
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6VGhyZWFkPiBtX3J0Y05ldHdvcmtUaHJlYWQ7
CisgICAgVW5pcXVlUmVmPHJ0Yzo6QmFzaWNQYWNrZXRTb2NrZXRGYWN0b3J5PiBtX3BhY2tldFNv
Y2tldEZhY3Rvcnk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVT
RShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wZjY2Y2E5ODhjNmFlMWQyYmMyZDIyZTAzMzIzOGE2ZjIzNzllMWVkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQ
cm92aWRlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMzIEBACisjIENvcHlyaWdodCAoQykgMjAx
NyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBU
SU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBO
ZXR3b3JrUlRDUHJvdmlkZXIgeworICAgIENyZWF0ZVVEUFNvY2tldChpbnQgaWRlbnRpZmllciwg
U3RyaW5nIGxvY2FsQWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkK
KyAgICBDcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQoaW50IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFk
ZHJlc3MsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQor
ICAgIENyZWF0ZUNsaWVudFRDUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxvY2FsQWRk
cmVzcywgU3RyaW5nIHJlbW90ZUFkZHJlc3MsIGludCBvcHRpb25zKQorICAgIENyZWF0ZVJlc29s
dmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIFN0cmluZyBhZGRyZXNzKQorICAgIFN0b3BSZXNvbHZl
cih1aW50NjRfdCBpZGVudGlmaWVyKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
U29ja2V0LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYzA5ZTMwYmMzZDI2ZDQ4MjhiMWVhODhhMWJkMjg0
ZTAzMzkyYzg2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuY3BwCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldC5oIgor
CisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNs
dWRlICJMaWJXZWJSVENTb2NrZXRDbGllbnQuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlk
ZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi9G
dW5jdGlvbi5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmV0d29ya1JUQ1NvY2tldDo6TmV0
d29ya1JUQ1NvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0
Y1Byb3ZpZGVyKQorICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX3J0Y1By
b3ZpZGVyKHJ0Y1Byb3ZpZGVyKQoreworfQorCit2b2lkIE5ldHdvcmtSVENTb2NrZXQ6OnNlbmRU
byhjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRk
cmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tldElELCBpbnQgcnRwU2VuZHRp
bWVFeHRlbnNpb25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90IHNydHBQYWNrZXRJbmRleCwg
aW50IGRzY3ApCit7CisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNy
ZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworCisgICAgcnRjOjpTb2NrZXRBZGRyZXNz
IHNvY2tldEFkZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCk7CisKKyAgICBydGM6OlBhY2tldE9w
dGlvbnMgb3B0aW9uczsKKyAgICBvcHRpb25zLnBhY2tldF9pZCA9IHBhY2tldElEOworICAgIG9w
dGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRlbnNpb25faWQgPSBydHBT
ZW5kdGltZUV4dGVuc2lvbklEOworICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBf
cGFja2V0X2luZGV4ID0gc3J0cFBhY2tldEluZGV4OworICAgIG9wdGlvbnMuZHNjcCA9IHN0YXRp
Y19jYXN0PHJ0Yzo6RGlmZlNlcnZDb2RlUG9pbnQ+KGRzY3ApOworICAgIGlmIChzcnRwQXV0aC51
dGY4KCkubGVuZ3RoKCkpIHsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0
cF9hdXRoX2tleSA9IHN0ZDo6dmVjdG9yPGNoYXI+KHNydHBBdXRoLnV0ZjgoKS5kYXRhKCksIHNy
dHBBdXRoLnV0ZjgoKS5kYXRhKCkgKyBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCkpOworICAgICAg
ICBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfdGFnX2xlbiA9IHNydHBBdXRo
LnV0ZjgoKS5sZW5ndGgoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGlt
ZV9wYXJhbXMuc3J0cF9hdXRoX3RhZ19sZW4gPSAtMTsKKyAgICAKKyAgICBtX3J0Y1Byb3ZpZGVy
LmNhbGxTb2NrZXQobV9pZGVudGlmaWVyLCBbYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBzb2Nr
ZXRBZGRyZXNzLCBvcHRpb25zXShMaWJXZWJSVENTb2NrZXRDbGllbnQmIGNsaWVudCkgeworICAg
ICAgICBjbGllbnQuc2VuZFRvKGJ1ZmZlci5nZXQoKSwgc29ja2V0QWRkcmVzcywgb3B0aW9ucyk7
CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1NvY2tldDo6Y2xvc2UoKQoreworICAgIG1f
cnRjUHJvdmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtdKExpYldlYlJUQ1NvY2tldENs
aWVudCYgc29ja2V0KSB7CisgICAgICAgIHNvY2tldC5jbG9zZSgpOworICAgIH0pOworfQorICAg
IAordm9pZCBOZXR3b3JrUlRDU29ja2V0OjpzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVl
KQoreworICAgIG1fcnRjUHJvdmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtvcHRpb24s
IHZhbHVlXShMaWJXZWJSVENTb2NrZXRDbGllbnQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQu
c2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5oIGIvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li40NDBmNzBmNGVhOGEwNTY3MjE4NjZhMTQ1YTQxNzEyNGUzNDYxNGY3Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQuaApAQCAtMCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBV
U0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaW5jbHVkZSA8V2Vi
Q29yZS9MaWJXZWJSVENNYWNyb3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tl
dHNvY2tldC5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL3NpZ3Nsb3QuaD4KKworbmFtZXNwYWNl
IElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK30KKworbmFt
ZXNwYWNlIHJ0YyB7CitjbGFzcyBBc3luY1BhY2tldFNvY2tldDsKK2NsYXNzIFNvY2tldEFkZHJl
c3M7CitzdHJ1Y3QgUGFja2V0T3B0aW9uczsKK3N0cnVjdCBQYWNrZXRUaW1lOworc3RydWN0IFNl
bnRQYWNrZXQ7Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNoYXJlZEJ1ZmZlcjsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOworY2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyOworCitjbGFzcyBOZXR3b3JrUlRDU29j
a2V0IHsKK3B1YmxpYzoKKyAgICBOZXR3b3JrUlRDU29ja2V0KHVpbnQ2NF90LCBOZXR3b3JrUlRD
UHJvdmlkZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpOworcHJpdmF0ZToKKyAgICB2b2lkIHNlbmRUbyhjb25zdCBJUEM6OkRh
dGFSZWZlcmVuY2UmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50MTZfdCBwb3J0
LCBpbnQgcGFja2V0SUQsIGludCBydHBTZW5kdGltZUV4dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1
dGgsIGludDY0X3Qgc3J0cFBhY2tldEluZGV4LCBpbnQgZHNjcCk7CisgICAgdm9pZCBjbG9zZSgp
OworICAgIHZvaWQgc2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSk7CisKKyAgICB1aW50
NjRfdCBtX2lkZW50aWZpZXI7CisgICAgTmV0d29ya1JUQ1Byb3ZpZGVyJiBtX3J0Y1Byb3ZpZGVy
OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRD
KQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmVhM2UxYmU3
NjdkY2I0MWU0NzJiODVjYTc3Y2U0ZjU3M2ViNGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMu
aW4KQEAgLTAsMCArMSwzMSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6
CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTmV0d29ya1JUQ1NvY2tldCB7
CisgICAgdm9pZCBTZW5kVG8oSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0
d29yazo6SVBBZGRyZXNzIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGludCBwYWNrZXRJRCwgaW50
IHJ0cFNlbmR0aW1lRXh0ZW5zaW9uSUQsIFN0cmluZyBzcnRwQXV0aCwgaW50NjRfdCBzcnRwUGFj
a2V0SW5kZXgsIGludCBkc2NwKQorICAgIHZvaWQgQ2xvc2UoKQorICAgIHZvaWQgU2V0T3B0aW9u
KGludCBvcHRpb24sIGludCB2YWx1ZSkKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpcwpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuY3BwIGIvU291cmNl
L1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxM2ViYzljMDdiZGEw
NmQ5Y2I1OGNjOWE3ZDEwZDhiMzZmNTAyZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvUlRDTmV0d29yay5jcHAKQEAgLTAsMCArMSwxNjAgQEAKKy8qCisgKiBDb3B5
cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJXZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1JUQ05ldHdvcms6
OlJUQ05ldHdvcmsoY29uc3QgcnRjOjpOZXR3b3JrJiBuZXR3b3JrKQorICAgIDogbmFtZShuZXR3
b3JrLm5hbWUoKSkKKyAgICAsIGRlc2NyaXB0aW9uKG5ldHdvcmsuZGVzY3JpcHRpb24oKSkKKyAg
ICAsIHByZWZpeCB7IG5ldHdvcmsucHJlZml4KCkgfQorICAgICwgcHJlZml4TGVuZ3RoKG5ldHdv
cmsucHJlZml4X2xlbmd0aCgpKQorICAgICwgdHlwZShuZXR3b3JrLnR5cGUoKSkKKyAgICAsIGlk
KG5ldHdvcmsuaWQoKSkKKyAgICAsIHByZWZlcmVuY2UobmV0d29yay5wcmVmZXJlbmNlKCkpCisg
ICAgLCBhY3RpdmUobmV0d29yay5hY3RpdmUoKSkKKyAgICAsIGlnbm9yZWQobmV0d29yay5pZ25v
cmVkKCkpCisgICAgLCBzY29wZUlEKG5ldHdvcmsuc2NvcGVfaWQoKSkKKyAgICAsIGlwcyhuZXR3
b3JrLkdldElQcygpKQoreworfQorCitydGM6Ok5ldHdvcmsgUlRDTmV0d29yazo6dmFsdWUoKSBj
b25zdAoreworICAgIHJ0Yzo6TmV0d29yayBuZXR3b3JrKG5hbWUuZGF0YSgpLCBkZXNjcmlwdGlv
bi5kYXRhKCksIHByZWZpeC52YWx1ZSwgcHJlZml4TGVuZ3RoLCBydGM6OkFkYXB0ZXJUeXBlKHR5
cGUpKTsKKyAgICBuZXR3b3JrLnNldF9pZChpZCk7CisgICAgbmV0d29yay5zZXRfcHJlZmVyZW5j
ZShwcmVmZXJlbmNlKTsKKyAgICBuZXR3b3JrLnNldF9hY3RpdmUoYWN0aXZlKTsKKyAgICBuZXR3
b3JrLnNldF9pZ25vcmVkKGlnbm9yZWQpOworICAgIG5ldHdvcmsuc2V0X3Njb3BlX2lkKHNjb3Bl
SUQpOworICAgIG5ldHdvcmsuU2V0SVBzKGlwcywgdHJ1ZSk7CisgICAgcmV0dXJuIG5ldHdvcms7
Cit9CisKK2Jvb2wgUlRDTmV0d29yazo6SVBBZGRyZXNzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBk
ZWNvZGVyLCBJUEFkZHJlc3MmIHJlc3VsdCkKK3sKKyAgICBpbnQgZmFtaWx5OworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUoZmFtaWx5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIElQQzo6
RGF0YVJlZmVyZW5jZSBkYXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YSkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoZmFtaWx5ID09IEFGX0lORVQpIHsKKyAgICAgICAg
aWYgKGRhdGEuc2l6ZSgpICE9IHNpemVvZihpbl9hZGRyKSkKKyAgICAgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICAgICAgcmVzdWx0LnZhbHVlID0gcnRjOjpJUEFkZHJlc3MoKnJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgaW5fYWRkcio+KGRhdGEuZGF0YSgpKSk7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KKyAgICBpZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9mKGluNl9hZGRyKSkKKyAgICAg
ICAgcmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC52YWx1ZSA9IHJ0Yzo6SVBBZGRyZXNzKCpyZWlu
dGVycHJldF9jYXN0PGNvbnN0IGluNl9hZGRyKj4oZGF0YS5kYXRhKCkpKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwordm9pZCBSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmVuY29kZShJUEM6OkVuY29k
ZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2YWx1ZS5mYW1pbHkoKTsKKyAg
ICBpZiAodmFsdWUuZmFtaWx5KCkgPT0gQUZfSU5FVCkgeworICAgICAgICBhdXRvIGFkZHJlc3Mg
PSB2YWx1ZS5pcHY0X2FkZHJlc3MoKTsKKyAgICAgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZl
cmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oJmFkZHJlc3MpLCBzaXplb2Yo
YWRkcmVzcykpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGF1dG8gYWRkcmVzcyA9IHZh
bHVlLmlwdjZfYWRkcmVzcygpOworICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNlKHJl
aW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZhZGRyZXNzKSwgc2l6ZW9mKGFkZHJlc3Mp
KTsKK30KKworYm9vbCBSVENOZXR3b3JrOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBS
VENOZXR3b3JrJiByZXN1bHQpCit7CisgICAgSVBDOjpEYXRhUmVmZXJlbmNlIG5hbWUsIGRlc2Ny
aXB0aW9uOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobmFtZSkpCisgICAgICAgIHJldHVybiBm
YWxzZTsKKyAgICByZXN1bHQubmFtZSA9IHN0ZDo6c3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgY2hhcio+KG5hbWUuZGF0YSgpKSwgbmFtZS5zaXplKCkpOworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZGVzY3JpcHRpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0LmRl
c2NyaXB0aW9uID0gc3RkOjpzdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oZGVz
Y3JpcHRpb24uZGF0YSgpKSwgZGVzY3JpcHRpb24uc2l6ZSgpKTsKKyAgICBpZiAoIWRlY29kZXIu
ZGVjb2RlKHJlc3VsdC5wcmVmaXgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZml4TGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnR5cGUpKQorICAgICAgICByZXR1cm4g
ZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaWQpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZmVyZW5jZSkpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5hY3Rp
dmUpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1
bHQuaWdub3JlZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJlc3VsdC5zY29wZUlEKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdWludDY0
X3QgbGVuZ3RoOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGVuZ3RoKSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworICAgIHJlc3VsdC5pcHMucmVzZXJ2ZShsZW5ndGgpOworICAgIGZvciAoc2l6
ZV90IGluZGV4ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgSVBBZGRy
ZXNzIGFkZHJlc3M7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoYWRkcmVzcykpCisgICAg
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIGludCBmbGFnczsKKyAgICAgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShmbGFncykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAg
IHJlc3VsdC5pcHMucHVzaF9iYWNrKHsgYWRkcmVzcy52YWx1ZSwgZmxhZ3MgfSk7CisgICAgfQor
ICAgIHJldHVybiB0cnVlOworfQorCit2b2lkIFJUQ05ldHdvcms6OmVuY29kZShJUEM6OkVuY29k
ZXImIGVuY29kZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2Uo
cmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4obmFtZS5kYXRhKCkpLCBuYW1lLmxlbmd0
aCgpKTsKKyAgICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0
PGNvbnN0IHVpbnQ4X3QqPihkZXNjcmlwdGlvbi5kYXRhKCkpLCBkZXNjcmlwdGlvbi5sZW5ndGgo
KSk7CisgICAgZW5jb2RlciA8PCBwcmVmaXg7CisgICAgZW5jb2RlciA8PCBwcmVmaXhMZW5ndGg7
CisgICAgZW5jb2RlciA8PCB0eXBlOworCisgICAgZW5jb2RlciA8PCBpZDsKKyAgICBlbmNvZGVy
IDw8IHByZWZlcmVuY2U7CisgICAgZW5jb2RlciA8PCBhY3RpdmU7CisgICAgZW5jb2RlciA8PCBp
Z25vcmVkOworICAgIGVuY29kZXIgPDwgc2NvcGVJRDsKKworICAgIGVuY29kZXIgPDwgKHVpbnQ2
NF90KWlwcy5zaXplKCk7CisgICAgZm9yIChhdXRvJiBpcCA6IGlwcykgeworICAgICAgICBlbmNv
ZGVyIDw8IElQQWRkcmVzcyB7IGlwIH07CisgICAgICAgIGVuY29kZXIgPDwgaXAuaXB2Nl9mbGFn
cygpOworICAgIH0KK30KKworfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmggYi9Tb3VyY2UvV2ViS2l0Mi9T
aGFyZWQvUlRDTmV0d29yay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxMGZiZmMxOTM4MmI5ODU3NzAxYTZkNDNk
ZTQ2NzFlMjMzZjExMzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
UlRDTmV0d29yay5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jv
cy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldHdvcmsuaD4KKyNpbmNsdWRlIDx3dGYvRm9y
d2FyZC5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBFbmNvZGVy
OworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IFJUQ05ldHdvcmsgeworICAgIFJU
Q05ldHdvcmsoKSA9IGRlZmF1bHQ7CisgICAgZXhwbGljaXQgUlRDTmV0d29yayhjb25zdCBydGM6
Ok5ldHdvcmsmKTsKKworICAgIHJ0Yzo6TmV0d29yayB2YWx1ZSgpIGNvbnN0OworCisgICAgdm9p
ZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQ
Qzo6RGVjb2RlciYsIFJUQ05ldHdvcmsmKTsKKworICAgIHN0cnVjdCBJUEFkZHJlc3MgeworICAg
ICAgICBJUEFkZHJlc3MoKSA9IGRlZmF1bHQ7CisgICAgICAgIGV4cGxpY2l0IElQQWRkcmVzcyhj
b25zdCBydGM6OklQQWRkcmVzcyYgYWRkcmVzcyk6IHZhbHVlKGFkZHJlc3MpIHsgfQorCisgICAg
ICAgIHZvaWQgZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OworICAgICAgICBzdGF0aWMgYm9v
bCBkZWNvZGUoSVBDOjpEZWNvZGVyJiwgSVBBZGRyZXNzJik7CisKKyAgICAgICAgcnRjOjpJUEFk
ZHJlc3MgdmFsdWU7CisgICAgfTsKKworICAgIHN0ZDo6c3RyaW5nIG5hbWU7CisgICAgc3RkOjpz
dHJpbmcgZGVzY3JpcHRpb247CisgICAgSVBBZGRyZXNzIHByZWZpeDsKKyAgICBpbnQgcHJlZml4
TGVuZ3RoOworICAgIGludCB0eXBlOworICAgIHVpbnQxNl90IGlkOworICAgIGludCBwcmVmZXJl
bmNlOworICAgIGJvb2wgYWN0aXZlOworICAgIGJvb2wgaWdub3JlZDsKKyAgICBpbnQgc2NvcGVJ
RDsKKyAgICBzdGQ6OnN0cmluZyBrZXk7CisgICAgc2l6ZV90IGxlbmd0aDsKKyAgICBzdGQ6OnZl
Y3RvcjxydGM6OkludGVyZmFjZUFkZHJlc3M+IGlwczsKK307CisKK30KKworI2VuZGlmIC8vIFVT
RShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9q
ZWN0LnBieHByb2oKaW5kZXggOTBmZmJjN2NkNjBhYzdiM2E3MjdhNDZhYjUxYmRlY2YxZWQ1YWIy
NC4uNzZhZGEyNjc4YzUzMGJkNWQ3ZWVmOWFhZGY0MzRlN2FkZTY3MjJlYSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODczLDYg
Kzg3MywzMSBAQAogCQkzRjg3QjlCRDE1ODk0MDEyMDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2Vy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGODdC
OUJBMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovOyB9OwogCQkzRjg3
QjlCRTE1ODk0MDE5MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCQjE1ODkzRjYzMDA5MEZGNjIg
LyogV2ViQ29sb3JDaG9vc2VyLmggKi87IH07CiAJCTNGODdCOUMwMTU4OTQwRDgwMDkwRkY2MiAv
KiBXZWJDb2xvclBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yUGlja2VyLmggKi87
IH07CisJCTQxMDQ4MkNEMURERDMyNEMwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCBpbiBTb3Vy
Y2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDQ4MkNCMURERDJGQjUw
MEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLzsgfTsKKwkJNDEwNDgyQ0UxREREMzI0RjAwRjAw
NkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggKi87IH07
CisJCTQxMUIyMjY0MUUzNzFCQTYwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggaW4gSGVh
ZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFCMjI2MjFFMzcxMjQ0
MDA0RjczNjMgLyogTGliV2ViUlRDTmV0d29yay5oICovOyB9OworCQk0MTMwNzVBOTFERTg1RjJD
MDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29y
a1JUQ1NvY2tldC5jcHAgKi87IH07CisJCTQxMzA3NUFBMURFODVGMzAwMDM5RUM2OSAvKiBOZXR3
b3JrUlRDTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuY3Bw
ICovOyB9OworCQk0MTMwNzVBQjFERTg1RjMzMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OTkx
REU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCAqLzsgfTsKKwkJNDEzMDc1QUMx
REU4NUYzNzAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyog
TmV0d29ya1JUQ01vbml0b3IuaCAqLzsgfTsKKwkJNDEzMDc1QUQxREU4NUY1ODAwMzlFQzY5IC8q
IExpYldlYlJUQ1NvY2tldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNDEzMDc1QTAxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5oICov
OyB9OworCQk0MTMwNzVBRTFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCBp
biBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUExMURF
ODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXQuY3BwICovOyB9OworCQk0MTMwNzVBRjFE
RTg1RjU4MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMjFERTg1RUU3MDAzOUVDNjkgLyogV2Vi
UlRDTW9uaXRvci5jcHAgKi87IH07CisJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBXZWJS
VENNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTMwNzVBMzFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5oICovOyB9OworCQk0
MTMwNzVCMTFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgaW4g
U291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNTFERTg1
RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgKi87IH07CisJCTQxMzA3
NUIyMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNjFERTg1RUU3MDAz
OUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oICovOyB9OworCQk0MTMwNzVCMzFERTg1
RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExp
YldlYlJUQ1Byb3ZpZGVyLmNwcCAqLzsgfTsKKwkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8q
IExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIu
aCAqLzsgfTsKKwkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1
OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovOyB9OworCQk0MURD
NDU5NzFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk1MUUzRDZFMUUwMEIx
MUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwICovOyB9OworCQk0MURDNDU5QjFFM0RCQjI4
MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk5MUUzREJCMjQwMEIxMUY1MSAvKiBM
aWJXZWJSVENTb2NrZXRDbGllbnQuY3BwICovOyB9OworCQk0MURDNDU5QzFFM0RCQjI4MDBCMTFG
NTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MURDNDU5QTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRD
U29ja2V0Q2xpZW50LmggKi87IH07CisJCTQxREM0NTlFMUUzREJEQTEwMEIxMUY1MSAvKiBXZWJS
VENTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNDFEQzQ1OUQxRTNEQkNGMDAwQjExRjUxIC8qIFdlYlJUQ1NvY2tldC5jcHAgKi87IH07CisJ
CTQxREM0NTlGMUUzREJEQTUwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkFGNUYzMUUzQkZFN0YwMDFBRTY3
OCAvKiBXZWJSVENTb2NrZXQuaCAqLzsgfTsKKwkJNDFEQzQ1QTExRTNEQzUzRjAwQjExRjUxIC8q
IFdlYlJUQ1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxREM0NUEwMUUzREM1M0MwMEIxMUY1MSAvKiBXZWJSVENSZXNvbHZlci5jcHAg
Ki87IH07CisJCTQxRkFGNUY1MUUzQzA2NDkwMDFBRTY3OCAvKiBXZWJSVENSZXNvbHZlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQUY1RjQxRTND
MDY0MTAwMUFFNjc4IC8qIFdlYlJUQ1Jlc29sdmVyLmggKi87IH07CisJCTQxRkFGNUY4MUUzQzEw
MjEwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQUY1RjYxRTNDMEI0NzAwMUFFNjc4IC8qIExpYldl
YlJUQ1Jlc29sdmVyLmggKi87IH07CisJCTQxRkFGNUY5MUUzQzEwMjUwMDFBRTY3OCAvKiBMaWJX
ZWJSVENSZXNvbHZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSA0MUZBRjVGNzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuY3Bw
ICovOyB9OwogCQk0NDUwQUVDMDFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2Eu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEFF
QkYxREMzRkFFNTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCAqLzsgfTsKIAkJNEEz
Q0MxOEExOUIwNjNFNzAwRDE0QUVGIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdl
clByb3h5LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDRBNDEwRjM5MTlBRjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1h
bmFnZXJQcm94eS5jcHAgKi87IH07CiAJCTRBM0NDMThCMTlCMDY0MEYwMEQxNEFFRiAvKiBVc2Vy
TWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGM0ExOUFGN0IwNDAwMkVCQUI1IC8qIFVz
ZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggKi87IH07CkBAIC0xMDQzLDYg
KzEwNjgsMTIgQEAKIAkJNTFFRkMxQ0YxNTI0RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxlRE9NV2lu
ZG93RXh0ZW5zaW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSA1MUZBMkQ1NDE1MjExMTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNp
b24uaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1
MUYwNjBFMDE2NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREUxNjU0
MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsKIAkJNTFG
MDYwRTExNjU0MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2
MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUlRD
U29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29j
a2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFF
IC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAv
KiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUx
MTY1NDMxODUwMEYzMjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMx
NzUwMEYzMjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJ
NTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVy
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2
MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1l
c3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CiAJCTUxRjdEQzQxMTgwQ0M5MzYwMDIxMkNBMyAvKiBY
UENTZXJ2aWNlTWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEJDODI4Mzk2MTZCNDdFQzQwMEEyNzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5tbSAqLzsg
fTsKIAkJNTFGN0RDNDMxODBDQzkzNjAwMjEyQ0EzIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGlu
IEZyYW1ld29ya3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0Njgx
NUE5MTc2MzAwOEQyNkZDIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk1MUY3REM0
NDE4MENDOTM2MDAyMTJDQTMgLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAv
KiBXZWJLaXQuZnJhbWV3b3JrICovOyB9OwpAQCAtMjk4Myw2ICszMDE0LDM3IEBACiAJCTNGODdC
OUJBMTU4OTNGNjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViQ29sb3JDaG9vc2VyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkIxNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hv
b3Nlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvckNob29zZXIu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYy
IC8qIFdlYkNvbG9yUGlja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdl
YkNvbG9yUGlja2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMDQ4MkNCMURE
RDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTA0ODJDQzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxMUIyMjYyMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ05ldHdvcmsuaDsgcGF0aCA9
IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuY3Bw
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1NvY2tldC5j
cHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTk5MURFODRGQjAwMDM5RUM2OSAvKiBO
ZXR3b3JrUlRDU29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdv
cmtSVENTb2NrZXQuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29j
a2V0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlBMURFODRGQjAwMDM5
RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IG5hbWUgPSBOZXR3b3JrUlRDTW9uaXRvci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owor
CQk0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1JUQ01vbml0b3IuaDsgcGF0aCA9IE5l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MTMwNzU5QzFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0
b3IubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTmV0d29ya1JUQ01vbml0b3Iu
bWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0
b3IubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlEMURF
ODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbmFtZSA9IE5ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUYxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ1NvY2tl
dC5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJSVENTb2NrZXQubWVzc2Fn
ZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW47IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBM
aWJXZWJSVENTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2Vi
UlRDU29ja2V0Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTExREU4NUVFNzAwMzlFQzY5IC8qIExp
YldlYlJUQ1NvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBM
aWJXZWJSVENTb2NrZXQuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTIxREU4NUVFNzAwMzlF
QzY5IC8qIFdlYlJUQ01vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBs
aW5lRW5kaW5nID0gMDsgbmFtZSA9IFdlYlJUQ01vbml0b3IuY3BwOyBwYXRoID0gTmV0d29yay93
ZWJydGMvV2ViUlRDTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3Vh
Z2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVB
MzFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IG5hbWUgPSBXZWJSVENNb25pdG9yLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJS
VENNb25pdG9yLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE0MURFODVF
RTcwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
bmFtZSA9IFdlYlJUQ01vbml0b3IubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9X
ZWJSVENNb25pdG9yLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0
MTMwNzVBNTFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2Vi
UlRDU29ja2V0RmFjdG9yeS5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXRGYWN0b3J5LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmlj
YXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3NUE2MURFODVFRTcw
MDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaDsgcGF0aCA9IE5ldHdvcmsvd2Vi
cnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJS
VENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRp
ZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyog
TGliV2ViUlRDUHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5j
b2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5n
ID0gMDsgbmFtZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENQcm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3Bl
Y2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJNDFBQzg2ODEx
RTA0MkU1MzAwMzAzMDc0IC8qIFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsg
cGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5v
bmU+IjsgfTsKKwkJNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRl
ci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIu
aDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5l
dHdvcmtSVENQcm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENQcm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxREM0
NTk4MUUzRDZFRDYwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBwYXRo
ID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEQzQ1OTkxRTNEQkIyNDAwQjExRjUxIC8q
IExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBMaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mv
d2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxREM0NTlBMUUzREJCMjQwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQu
aCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDU29ja2V0Q2xpZW50
Lmg7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxREM0NTlEMUUzREJDRjAwMEIxMUY1MSAv
KiBXZWJSVENTb2NrZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0g
V2ViUlRDU29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHA7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxREM0NUEwMUUzREM1M0MwMEIxMUY1MSAv
KiBXZWJSVENSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBXZWJSVENSZXNvbHZlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZl
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRkFGNUYzMUUzQkZFN0YwMDFB
RTY3OCAvKiBXZWJSVENTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V2ViUlRDU29ja2V0Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFGQUY1RjQxRTNDMDY0MTAwMUFFNjc4IC8qIFdl
YlJUQ1Jlc29sdmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlJUQ1Jl
c29sdmVyLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OworCQk0MUZBRjVGNjFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2Vi
UlRDUmVzb2x2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRD
UmVzb2x2ZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRkFGNUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBM
aWJXZWJSVENSZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBMaWJXZWJSVENSZXNvbHZlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENS
ZXNvbHZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NTBBRUJGMURDM0ZB
RTUwMDk5NDNGMiAvKiBTaGFyZWRNZW1vcnlDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IG5hbWUgPSBTaGFyZWRNZW1vcnlDb2NvYS5jcHA7IHBhdGggPSBjb2NvYS9TaGFy
ZWRNZW1vcnlDb2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM1
MTlBRjdBQzMwMDJFQkFCNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJl
cXVlc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QTQxMEYzNjE5QUY3QUMz
MDAyRUJBQjUgLyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291
cmNlY29kZS5jLmg7IHBhdGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0zMTgwLDYgKzMyNDIsMTIgQEAKIAkJNTFFMzk5MDUx
RDZGNTRDNTAwOUM4ODMxIC8qIFVJR2FtZXBhZFByb3ZpZGVyQ29jb2EubW0gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBVSUdhbWVwYWRQcm92aWRlckNvY29hLm1tOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUU5NDk5NjFENzYxQ0M3MDBFQzlFQjkgLyog
VUlHYW1lcGFkUHJvdmlkZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7
IHBhdGggPSBVSUdhbWVwYWRQcm92aWRlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1Nv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUlRDU29j
a2V0TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFG
MDYwREQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMy
ODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSVENSZXNvbHZlck1lc3NhZ2VS
ZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMx
NzUwMEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdl
YlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlcy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUY3REM0QTE4MEND
OTM2MDAyMTJDQTMgLyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMueHBjICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAid3JhcHBlci54cGMtc2Vydmlj
ZSI7IGluY2x1ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2Vz
LnhwYzsgc291cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGQTJENTQxNTIx
MTE4NjAwQzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC00NjkyLDYgKzQ3NjAsOCBAQAogCQkJCUJDQzQzQUI5
MTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCAqLywKIAkJCQlFMThD
OTJGMzEyREI5RTcxMDBDRjJBRUIgLyogUHJpbnRJbmZvLmNwcCAqLywKIAkJCQlFMUNDMUI4RTEy
RDdFQURGMDA2MjU4MzggLyogUHJpbnRJbmZvLmggKi8sCisJCQkJNDEwNDgyQ0IxREREMkZCNTAw
RjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwICovLAorCQkJCTQxMDQ4MkNDMURERDJGQjUwMEYwMDZE
MCAvKiBSVENOZXR3b3JrLmggKi8sCiAJCQkJRjZBMEMxM0YxMzI4MUU2RTAwNzA0MzBGIC8qIFJl
c291cmNlQ2FjaGVzVG9DbGVhci5oICovLAogCQkJCUJDMkQwMjE2MTJBQzQxQ0IwMEU3MzJBMyAv
KiBTYW1lRG9jdW1lbnROYXZpZ2F0aW9uVHlwZS5oICovLAogCQkJCTFBQUI0QThDMTI5NkYwQTIw
MDIzOTUyRiAvKiBTYW5kYm94RXh0ZW5zaW9uLmggKi8sCkBAIC01NTM3LDYgKzU2MDcsNDkgQEAK
IAkJCXBhdGggPSBSZXNvdXJjZXMvbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJ
fTsKKwkJNDEzMDc1OTcxREU4NEVENzAwMzlFQzY5IC8qIHdlYnJ0YyAqLyA9IHsKKwkJCWlzYSA9
IFBCWEdyb3VwOworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUx
IC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovLAorCQkJCTQxREM0NTk1MUUzRDZFMUUwMEIxMUY1
MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwICovLAorCQkJCTQxREM0NTk4MUUzRDZFRDYwMEIx
MUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJNDFEQzQ1OTkx
RTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgKi8sCisJCQkJNDFE
QzQ1OUExRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5oICovLAorCQkJ
CTQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmNwcCAqLywKKwkJ
CQk0MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5oICovLAorCQkJ
CTQxMzA3NTlEMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmlu
ICovLAorCQkJCTQxMzA3NTlBMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5j
cHAgKi8sCisJCQkJNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9y
LmggKi8sCisJCQkJNDEzMDc1OUMxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9y
Lm1lc3NhZ2VzLmluICovLAorCQkJKTsKKwkJCW5hbWUgPSB3ZWJydGM7CisJCQlzb3VyY2VUcmVl
ID0gIjxncm91cD4iOworCQl9OworCQk0MTMwNzU5RTFERTg1RTY1MDAzOUVDNjkgLyogd2VicnRj
ICovID0geworCQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MURDNDU5
RDFFM0RCQ0YwMDBCMTFGNTEgLyogV2ViUlRDU29ja2V0LmNwcCAqLywKKwkJCQk0MUZBRjVGMzFF
M0JGRTdGMDAxQUU2NzggLyogV2ViUlRDU29ja2V0LmggKi8sCisJCQkJNDEzMDc1OUYxREU4NUVF
NzAwMzlFQzY5IC8qIFdlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzVBMDFE
RTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmggKi8sCisJCQkJNDEzMDc1QTExREU4
NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5jcHAgKi8sCisJCQkJNDEzMDc1QTIxREU4
NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuY3BwICovLAorCQkJCTQxMzA3NUEzMURFODVF
RTcwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLmggKi8sCisJCQkJNDEzMDc1QTQxREU4NUVFNzAw
MzlFQzY5IC8qIFdlYlJUQ01vbml0b3IubWVzc2FnZXMuaW4gKi8sCisJCQkJNDEzMDc1QTUxREU4
NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwICovLAorCQkJCTQxMzA3
NUE2MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggKi8sCisJCQkJ
NDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLywKKwkJ
CQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLywKKwkJ
CQk0MUZBRjVGNzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuY3BwICovLAor
CQkJCTQxRkFGNUY2MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5oICovLAor
CQkJCTQxREM0NUEwMUUzREM1M0MwMEIxMUY1MSAvKiBXZWJSVENSZXNvbHZlci5jcHAgKi8sCisJ
CQkJNDFGQUY1RjQxRTNDMDY0MTAwMUFFNjc4IC8qIFdlYlJUQ1Jlc29sdmVyLmggKi8sCisJCQkJ
NDFBQzg2ODExRTA0MkU1MzAwMzAzMDc0IC8qIFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluICov
LAorCQkJCTQxMUIyMjYyMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi8s
CisJCQkpOworCQkJbmFtZSA9IHdlYnJ0YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJ
CX07CiAJCTQ0NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9
IFBCWEdyb3VwOwogCQkJY2hpbGRyZW4gPSAoCkBAIC01NTU5LDYgKzU2NzIsNyBAQAogCQk1MTA1
QjBEMjE2MkY3QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCisJCQkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0
YyAqLywKIAkJCQk1MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uLmNwcCAqLywKIAkJCQk1MTA1QjBENTE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uLmggKi8sCiAJCQkJNTFGQjA5MDIxNjNBM0IxQzAwRUMzMjRBIC8qIE5l
dHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLywKQEAgLTU1ODUsNiArNTY5OSw3
IEBACiAJCQkJRTE3OThDNzYxNkU2ODE1NTAwMjQwMTM5IC8qIEZpbGVBUEkgKi8sCiAJCQkJMkRB
OTQ0QkIxODg1MTFERDAwRUQ4NkRCIC8qIGlvcyAqLywKIAkJCQk1MTBDQzdEQzE2MTM4RTI5MDBE
MDNFRDMgLyogbWFjICovLAorCQkJCTQxMzA3NTk3MURFODRFRDcwMDM5RUM2OSAvKiB3ZWJydGMg
Ki8sCiAJCQkJNTEzQTE2NDkxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9X
ZWJQcm9jZXNzLmNwcCAqLywKIAkJCQk1MTNBMTY0QTE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCAqLywKIAkJCQk1MTNBMTY0QjE2MzBBOUJGMDA1RDdE
MjIgLyogTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gKi8sCkBAIC03
NDQ3LDYgKzc1NjIsMTIgQEAKIAkJCQlCQ0VFN0FDQzEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJv
Y2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlCQ0VFN0FDRDEyODE3OTg4MDA5
ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLywKIAkJCQk1MUYwNjBERDE2NTQz
MTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAor
CQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2
ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZl
ck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8q
IE5ldHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1
NDMxNzUwMEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICov
LAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJU
Q01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxRjA2MERFMTY1NDMxNzUwMEYz
MjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggKi8sCiAJCQkJN0E3OTFFRjkxQzdD
RkIzNzAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNl
aXZlci5jcHAgKi8sCiAJCQkJN0E3OTFFRjgxQzdDRkIxMDAwQzRDNTJCIC8qIFdlYlJlc291cmNl
TG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VzLmggKi8sCkBAIC03NzQ5LDYgKzc4NzAsNyBAQAog
CQkJCTA3NkU4ODRFMUExM0NBREYwMDVFOTBGQyAvKiBBUElDb250ZXh0TWVudUNsaWVudC5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJNTE1NzhCODMxMjA5RUNFRjAwQTM3QzRBIC8qIEFQSURhdGEuaCBp
biBIZWFkZXJzICovLAogCQkJCTgzODkxQjYzMUE2OEIzNDIwMDMwRjM4NiAvKiBBUElEaWFnbm9z
dGljTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEQzQ1OTYxRTNENkUyMjAw
QjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxQkEz
M0UxQTRBMEU2MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTFGN0QzNkMxMThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJNTE2QTRBNUQxMjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmggaW4gSGVh
ZGVycyAqLywKQEAgLTc4OTAsNiArODAxMiw3IEBACiAJCQkJMUExRUM2OUUxODcyMDkyMTAwQjk1
MUYwIC8qIEltcG9ydGFuY2VBc3NlcnRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUUz
MTFDODNFOTgwMDhGMzM3NSAvKiBJbmplY3RlZEJ1bmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
OTM1RUVCQTIxMjc3NjFEMDAwMzMyMkI4IC8qIEluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0
LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkgLyogTGliV2Vi
UlRDU29ja2V0RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVCQTQxMjc3NjFENjAw
MzMyMkI4IC8qIEluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkNFRTdEQzUxMjhCNjQ1RDAwOTgyN0RBIC8qIEluamVjdGVkQnVuZGxlQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3Q0JCODExRDFBQTBGOEIxMDA2QjE5NDIgLyogSW5qZWN0
ZWRCdW5kbGVGaWxlSGFuZGxlLmggaW4gSGVhZGVycyAqLywKQEAgLTc5MDksNiArODAzMiw3IEBA
CiAJCQkJQzVCQ0U1REYxQzUwNzY2QTAwQ0RFM0ZBIC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25B
dFBvc2l0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlDNThDREYyQTE4ODc1NDhCMDA4NzE1MzYg
LyogSW50ZXJhY3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJ
CTJENEQyQzgxMURGNjBCRjMwMDJFQjEwQyAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVz
dC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFGQUY1RjUxRTNDMDY0OTAwMUFFNjc4IC8qIFdlYlJU
Q1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU0OUE0OTExRkZBOENFMDA0OEI0NjQg
LyogSlNOUE1ldGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFNDk4NzgxMUZGN0ZBQTAwNDhC
NDY0IC8qIEpTTlBPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUzREVBMzY2MURERTQyMzEw
MEU4MjY0OCAvKiBqc29uLmhwcCBpbiBIZWFkZXJzICovLApAQCAtODAyNCw2ICs4MTQ4LDcgQEAK
IAkJCQkxQTNENjEwMjEzQTdDQzJBMDBGOTVENEUgLyogUGx1Z2luTW9kdWxlSW5mby5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJMUEwNDM5NzYxMjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblByb2Nlc3Mu
aCBpbiBIZWFkZXJzICovLAogCQkJCTFBQzVGRkMyMTc0QkZEMUIwMDAxNDgzRCAvKiBQbHVnaW5Q
cm9jZXNzQXR0cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEQzQ1OUYxRTNEQkRBNTAw
QjExRjUxIC8qIFdlYlJUQ1NvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwRUM5MDYxMjRD
MEFCODAwN0VGNEE1IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywK
IAkJCQkxQTBFQzkwRjEyNEMwQUY1MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25N
YW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTc4NjVCQTE2Q0FDNzE1MDBBQ0U4M0EgLyog
UGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApA
QCAtODA4MCw2ICs4MjA1LDcgQEAKIAkJCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2Vj
SXRlbVNoaW1Qcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAwOUI2
NjcwIC8qIFNlY0l0ZW1TaGltUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0
RDlGNTcxOTExOUQzNTAwMDA2M0E3IC8qIFNlcnZpY2VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBRkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3Rh
dGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNz
aW9uU3RhdGVDb2RpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1M0UzRTBFMTg4NzM5ODkwMDE4
ODQ5NiAvKiBTZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTY5LDYgKzgyOTUs
NyBAQAogCQkJCTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlh
Z25vc3RpY0xvZ2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdF
REYwMDRGQ0Y5QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEz
MDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQlCQzAzMkQ3QjEwRjQzNzhEMDA1OEMxNUEgLyogV2ViRHJhZ0NsaWVudC5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJQkNBMEVGOUYxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5k
UHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMDMyRDdEMTBGNDM3OEQwMDU4QzE1QSAvKiBX
ZWJFZGl0b3JDbGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODE5Myw2ICs4MzIwLDcgQEAKIAkJ
CQlCQzU0Q0FDQjEyRDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHku
aCBpbiBIZWFkZXJzICovLAogCQkJCUJDMEU2MTgzMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9s
b2NhdGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBFNjA3
MzEyRDZCQzIwMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCisJCQkJNDEzMDc1QUMxREU4NUYzNzAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmgg
aW4gSGVhZGVycyAqLywKIAkJCQlCQzFCRTFGMjEyRDU0REJEMDAwNEEyMjggLyogV2ViR2VvbG9j
YXRpb25Qcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ1MDM2NzYxQkNFRDE5RjAwRTIw
QkIzIC8qIFdlYkdlc3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNBODhCMzMxQkM2
RTlDRDAwQUJBNUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRhLmggaW4gSGVhZGVycyAqLywKQEAg
LTgyMDIsNiArODMzMCw3IEBACiAJCQkJNTExQjI0QTcxMzJFMDk1NzAwMDY1QTBDIC8qIFdlYklj
b25EYXRhYmFzZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUQwMkY2QzEzMkVDNzM3MDBC
RUFBOTYgLyogV2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTEwNTIzNzAxQzczOUQ0MjAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QUQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJU
Q1NvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzN0ExQzczREE3NzAwNzk5M0NCIC8q
IFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1
MTQxMjk5NDFDNjQyOEJCMDA1OUU3MTQgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmggaW4g
SGVhZGVycyAqLywKIAkJCQk1MTA1MjM3NDFDNzNEMzhCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVj
dGlvblRvU2VydmVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApAQCAtODI1Niw2ICs4Mzg1LDcg
QEAKIAkJCQlDREEyOUExQjFDQkRCRjQxMDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFu
YWdlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMjkxQ0JFQjY3QTAwOTAxQ0NGIC8qIFdl
YlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RB
MjlBMjAxQ0JFQjVGQjAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5o
IGluIEhlYWRlcnMgKi8sCisJCQkJNDEwNDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdv
cmsuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEQTI5QTJCMUNCRUI2N0EwMDkwMUNDRiAvKiBXZWJQ
bGF5YmFja1Nlc3Npb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
MzFENTkyOUYxNjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJQkM1NzQ0RjAxMjYzOEZCMzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oIGluIEhl
YWRlcnMgKi8sCkBAIC04NDI4LDYgKzg1NTgsNyBAQAogCQkJCTA3QTVFQkJDMUM3QkE0M0UwMEI5
Q0E2OSAvKiBXS0ZyYW1lSGFuZGxlUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTRENjY0QzE4
QTMwMzBFMDBEODJFMjEgLyogV0tGcmFtZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTJERjlF
RUU4MUE3ODI0NTUwMEI2Q0ZCRSAvKiBXS0ZyYW1lSW5mb0ludGVybmFsLmggaW4gSGVhZGVycyAq
LywKKwkJCQk0MUZBRjVGODFFM0MxMDIxMDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCBp
biBIZWFkZXJzICovLAogCQkJCTFBNkZBMjFFMUJEMDQzNUIwMEFBQTY1MCAvKiBXS0ZyYW1lSW5m
b1ByaXZhdGUuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEM0E2NUU3MUE3QzNBQTcwMENBQzYzNyAv
KiBXS0ZyYW1lSW5mb1JlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCOUY2QTUxMTIzREQwRDAw
QTEzN0UwIC8qIFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDY3
LDYgKzg1OTgsNyBAQAogCQkJCTM3MEYzNEEzMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRp
b25EYXRhLmggaW4gSGVhZGVycyAqLywKIAkJCQkzNzBGMzRBNTE4MjlCRUEzMDA5MDI3QzggLyog
V0tOYXZpZ2F0aW9uRGF0YUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y2OUZBOTEx
NzZEMUNCMDA0NzFBNTIgLyogV0tOYXZpZ2F0aW9uRGF0YVJlZi5oIGluIEhlYWRlcnMgKi8sCisJ
CQkJNDExQjIyNjQxRTM3MUJBNjAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBQkMzREZDMTg5OUY1MUMwMDRGMDYyNiAvKiBXS05hdmlnYXRpb25EZWxl
Z2F0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFBMjBENTExOEFENTBFMDAwNUQxRUQ0IC8qIFdL
TmF2aWdhdGlvbkRlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCQzNERjEx
ODk5QzZCNjAwNEYwNjI2IC8qIFdLTmF2aWdhdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLywK
QEAgLTg1ODksNiArODcyMSw3IEBACiAJCQkJMzc3RUFENDkxN0UyQzc3QjAwMkQxOTNEIC8qIFdL
VXNlclNjcmlwdEluamVjdGlvblRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQUYwODlEMTky
NjdGQzgwMEI2MzkwQyAvKiBXS1VzZXJTY3JpcHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJN0M4ODJERkExQzdFOTk3MzAwNkJGNzMxIC8qIFdLVXNlclNjcmlwdFByaXZhdGUuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9y
LmggaW4gSGVhZGVycyAqLywKIAkJCQk3Qzg5RDJBNDFBNjc4ODc1MDAzQTVGREUgLyogV0tVc2Vy
U2NyaXB0UmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2OTlCNTExNkFBREFBMDAyQTkyNUIg
LyogV0tWaWV3LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2OTlCNzExNkFBREFBMDAyQTkyNUIg
LyogV0tWaWV3SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtODYzMiw2ICs4NzY1LDcgQEAK
IAkJCQkxQURGNTkxQjE4OTA1MjhFMDA0M0MxNDUgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ3QUFGRDYxOEM5NTZBRjAwQTdBQ0Q0IC8qIFdLV2ViVmll
d0NvbmZpZ3VyYXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDMTQxNTExOEFD
NDdFRTAwNkM2MDJDIC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MURDNDU5QzFFM0RCQjI4MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDdBQUZEMzE4Qzg2NDA2MDBBN0FDRDQgLyogV0tX
ZWJWaWV3Q29udGVudFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREM2RDlDMzE4QzQ0
QTYxMDA0M0JBRDQgLyogV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBNjZCRjhGMThBMDUyRUQwMDIwNzFCNCAvKiBXS1dlYlZpZXdJbnRlcm5h
bC5oIGluIEhlYWRlcnMgKi8sCkBAIC05MjM5LDcgKzkzNzMsOSBAQAogCQkJCTFBNDNFODI5MTg4
RjNDREMwMDlFNEQzMCAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNl
cyAqLywKIAkJCQkxQTlFMzI4RTE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50
ZXJmYWNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5RTMyOEExODIxNjM2OTAwRjVEMDRDIC8q
IF9XS1JlbW90ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDEwNDgyQ0Qx
REREMzI0QzAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1
QkE4MTExQkExMzE4MTAwN0NEMzNEIC8qIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9s
bGVyLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDFEQzQ1QTExRTNEQzUzRjAwQjExRjUxIC8qIFdl
YlJUQ1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMDAyRDQ1MTk2QjMzOEUwMEI5
QUQ0NCAvKiBfV0tTZXNzaW9uU3RhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDZCMzcxQzE4
QTk2N0FEMDA0MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJ
CTdDMjQxMzAyMUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3Jl
Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC05MzYzLDYgKzk0OTksNyBAQAogCQkJCThDRkVDRTk0MTQ5
MEYxNDAwMDJBQUEzMiAvKiBFZGl0b3JTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzAz
MkRBNzEwRjQzN0QxMDA1OEMxNUEgLyogRW5jb2Rlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MUIxNUE4NDEzODQzQTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwIGluIFNv
dXJjZXMgKi8sCisJCQkJNDEzMDc1QUYxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3Iu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFBNTc1RkExNDk2QjUyNjAwQTRFRTA2IC8qIEV2ZW50
RGlzcGF0Y2hlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzYwMjE0OTZCOTc5MDBBNEVF
MDYgLyogRXZlbnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTAwQjk2NjE5MThFMjVBRTEwMENFMUY4OCAvKiBGaW5kQ2xpZW50Lm1tIGluIFNvdXJjZXMg
Ki8sCkBAIC05NTE2LDYgKzk2NTMsNyBAQAogCQkJCTVDODVDNzg4MUMzRjIzQ0UwMDYxQTRGQSAv
KiBQZW5kaW5nRG93bmxvYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1RTIwMDMxOEU3NzA1
MTAwM0VDM0U1IC8qIFBsYXRmb3JtQ0FBbmltYXRpb25SZW1vdGUubW0gaW4gU291cmNlcyAqLywK
IAkJCQkyREEwNDlCMzE4MENDQ0QzMDBBQUZBOUUgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNw
cCBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUE5MURFODVGMkMwMDM5RUM2OSAvKiBOZXR3b3Jr
UlRDU29ja2V0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEODcxMDE2MTgyODQxNUQwMDE4RkEw
MSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20ubW0gaW4gU291cmNlcyAqLywKIAkJCQky
RDg5NDlGMDE4MjA0NEY2MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNr
aW5nLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQ
bGF0Zm9ybVBvcHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05NzA3LDYgKzk4NDUs
NyBAQAogCQkJCUJDMTExQjVFMTEyRjYyOTgwMDMzN0JBQiAvKiBXZWJFdmVudEZhY3RvcnkubW0g
aW4gU291cmNlcyAqLywKIAkJCQlCQ0U0Njk1MzEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybUNs
aWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0U0Njk1NTEyMTRFNkNCMDAwQjk4RUIgLyog
V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQx
REM0NTk3MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkMxMTFBREQxMTJGNUI5MzAwMzM3QkFCIC8qIFdlYkZyYW1lLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDRTQ2OTc5MTIxNEYyQjQwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3Rl
bmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFBNUYxMTJGNEZCQjAwMzM3QkFC
IC8qIFdlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTcyNSw2ICs5
ODY0LDcgQEAKIAkJCQlCQzBFNjA2MTEyRDZCQTkxMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25N
YW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTRDQUNDMTJE
NjQyOTEwMDVDNjdCMCAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzBFNjE4MjEyRDZDQjFEMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5h
Z2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QUUx
REU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzBFNjA3NDEyRDZCQzIwMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzFCRTFGMzEyRDU0REJEMDAwNEEyMjggLyogV2ViR2VvbG9j
YXRpb25Qcm92aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDUwMzY3NTFCQ0VEMTlGMDBF
MjBCQjMgLyogV2ViR2VzdHVyZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTg0NCw2ICs5
OTg0LDEyIEBACiAJCQkJMzc2MDg4MUUxNTA0MTNFOTAwRkM4MkM3IC8qIFdlYlJlbmRlck9iamVj
dC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MTBBRkZCOTE2NTQyMDQ4MDAxQkEwNUUgLyogV2Vi
UmVzb3VyY2VMb2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAw
RjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2Vz
ICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJD
IC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyRSAvKiBO
ZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJ
NTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2Vp
dmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRiAvKiBX
ZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBNzkx
RUZDMUM3RDA4QzUwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJN0E3OTFFRkExQzdDRkNGMTAwQzRDNTJCIC8qIFdlYlJlc291
cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQk3QzM2MUQ3MjE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCkBAIC05ODU0LDYgKzEwMDAwLDcgQEAKIAkJCQkxQTQ4MzJDMzFB
OTY1QTNDMDA4QjRERkUgLyogV2Vic2l0ZURhdGFTdG9yZUNvY29hLm1tIGluIFNvdXJjZXMgKi8s
CiAJCQkJNUM3NzA2NzQxRDExMzgzODAwMTI3MDBGIC8qIFdlYlNvY2tldFByb3ZpZGVyLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTgzNjAzNDlGMUFDQjM0RDYwMDYyNjU0OSAvKiBXZWJTUUxpdGVE
YXRhYmFzZVRyYWNrZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDFEQzQ1OUIxRTNEQkIyODAw
QjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkx
QTUyQzBGNzFBMzhDREM3MDAxNjE2MEEgLyogV2ViU3RvcmFnZU5hbWVzcGFjZVByb3ZpZGVyLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCUJDQzU3MTVDMTE1QURBRUYwMDFDQ0FGOSAvKiBXZWJTeXN0
ZW1JbnRlcmZhY2UubW0gaW4gU291cmNlcyAqLywKIAkJCQk1MTAzMkYxODE4MEY3M0JCMDA5NjFC
QjcgLyogV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uLmNwcCBpbiBTb3VyY2VzICovLApA
QCAtOTg3MSwxMCArMTAwMTgsMTIgQEAKIAkJCQkzRjQxOEVGOTE4ODdCRDk3MDAyNzk1RkQgLyog
V2ViVmlkZW9GdWxsc2NyZWVuTWFuYWdlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk1MkQ1QTFCMTFDNTc0OTYyMDBERTM0QTMgLyogV2ViVmlkZW9GdWxsc2NyZWVuTWFu
YWdlclByb3h5Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJM0Y0MThFRkIxODg3QkQ5NzAwMjc5NUZE
IC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4g
U291cmNlcyAqLywKKwkJCQk0MTMwNzVCMzFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJv
dmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkRGQzdEQkMxQkNDQzE5NTAwQzE1NDhDIC8q
IFdlYlZpZXdJbXBsLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQzAzMzdERDExMjdBMjk4MDAwOEZG
NEY0IC8qIFdlYldoZWVsRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJODY4MTYwRDAxODc2
NDU1NzAwMjFFNzlEIC8qIFdpbmRvd1NlcnZlckNvbm5lY3Rpb24ubW0gaW4gU291cmNlcyAqLywK
IAkJCQkyOUNENTVBQjEyOEUyOTRGMDAxMzNDODUgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9i
amVjdEJhc2UubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVCMTFERTg1RjU4MDAzOUVDNjkg
LyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyOTIzMkRG
ODE4QjJBOUFFMDBEMDU5NkYgLyogV0tBY2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdElPUy5tbSBp
biBTb3VyY2VzICovLAogCQkJCTI5MjMyREY5MThCMkFCM0EwMEQwNTk2RiAvKiBXS0FjY2Vzc2li
aWxpdHlXZWJQYWdlT2JqZWN0TWFjLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMEZDQjRFNDkxOEJC
RTA0NDAwMEZDRkM5IC8qIFdLQWN0aW9uU2hlZXQubW0gaW4gU291cmNlcyAqLywKQEAgLTk4OTIs
NiArMTAwNDEsNyBAQAogCQkJCUJDQkFBQ0Y1MTQ1MjMyNEYwMDUzRjgyRiAvKiBXS0Jyb3dzaW5n
Q29udGV4dEdyb3VwLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJMUFFMDBENEMxODJENkVCMDAwMDg3
REQ3IC8qIFdLQnJvd3NpbmdDb250ZXh0SGFuZGxlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMy
MDRFRUUxMUM4M0VDODAwOEYzMzc1IC8qIFdLQnVuZGxlLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTQxMzA3NUFBMURFODVGMzAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5jcHAgaW4gU291
cmNlcyAqLywKIAkJCQk5MzVFRUI5RTEyNzc2MUFDMDAzMzIyQjggLyogV0tCdW5kbGVCYWNrRm9y
d2FyZExpc3QuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RUVCQTAxMjc3NjFBQzAwMzMyMkI4
IC8qIFdLQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1
MUZBMkQ3NzE1MjEyRTI2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC05OTA2LDYgKzEwMDU2LDcgQEAKIAkJCQk3Q0Y0N0ZGNjE3Mjc1
QjcxMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CTdDRjQ3RkZFMTcyNzZBRTMwMDhBQ0I5MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXJNYWMubW0gaW4g
U291cmNlcyAqLywKIAkJCQlCQzdCNjMzRTEyQTQ1RDEyMDBEMTc0QTQgLyogV0tCdW5kbGVQYWdl
R3JvdXAuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDFGQUY1RjkxRTNDMTAyNTAwMUFFNjc4IC8q
IExpYldlYlJUQ1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUVEQ0E3MUI3MTI4RERB
OEMwMDIwMUIyNiAvKiBXS0J1bmRsZVBhZ2VPdmVybGF5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUJDNjBDNTdBMTI0MEE1NDYwMDhDNUUyOSAvKiBXS0J1bmRsZVJhbmdlSGFuZGxlLmNwcCBpbiBT
b3VyY2VzICovLAogCQkJCUJDMTRERjlFMTIwQjYzNUYwMDgyNkMwQyAvKiBXS0J1bmRsZVNjcmlw
dFdvcmxkLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTkzNCw2ICsxMDA4NSw3IEBACiAJCQkJQkMw
MTdEMjAxNjI2MzMwODAwNzA1NEY1IC8qIFdLRE9NVGV4dEl0ZXJhdG9yLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMUFCN0Q3OEUxMjg4Q0Q5QTAwQ0ZEMDhDIC8qIFdLRG93bmxvYWQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUFGNDU5MkUxOTQ2NEIyMDAwRjlENEEyIC8qIFdLRXJyb3IubW0gaW4g
U291cmNlcyAqLywKKwkJCQk0MURDNDU5RTFFM0RCREExMDBCMTFGNTEgLyogV2ViUlRDU29ja2V0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRkQ1NDhCMTMyRDgyNjgwMDU1RDgxNiAvKiBXS0Vy
cm9yQ0YuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM0MDc1RkIxMjRGRjAyNzAwNjhGMjBBIC8q
IFdLRXJyb3JSZWYuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU4QjZGMDkxOEZDQTczMzAwOENC
QTUzIC8qIFdLRmlsZVVwbG9hZFBhbmVsLm1tIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nv
bm5lY3Rpb24uY3BwCmluZGV4IDA4YWIxZTM1NTE2ZjE4ZDljMGQ0NTdlZjYxNDQxOWE5YmMzMDBk
NzYuLjY0MDNjNzQ2ZTg5ZTVlMmIwNjI4MWYzYmRkM2UzNzczYjQ0ZjU0ZWIgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwCkBAIC0zMSw2ICszMSwxMCBAQAogI2luY2x1ZGUgIldlYkNvcmVB
cmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkxvYWRlclN0cmF0ZWd5LmgiCiAjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgIldlYlJUQ01vbml0b3IuaCIKKyNpbmNsdWRlICJX
ZWJSVENNb25pdG9yTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJSVENSZXNvbHZlck1lc3NhZ2Vz
LmgiCisjaW5jbHVkZSAiV2ViUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VzLmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9DYWNoZWRSZXNvdXJjZS5o
PgogI2luY2x1ZGUgPFdlYkNvcmUvTWVtb3J5Q2FjaGUuaD4KQEAgLTU0LDEyICs1OCwyNiBAQCBO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246On5OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKQogdm9p
ZCBOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChkZWNv
ZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUmVzb3VyY2VMb2FkZXI6
Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBpZiAoV2ViUmVzb3VyY2VMb2FkZXIq
IHdlYlJlc291cmNlTG9hZGVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkud2ViTG9hZGVyU3Ry
YXRlZ3koKS53ZWJSZXNvdXJjZUxvYWRlckZvcklkZW50aWZpZXIoZGVjb2Rlci5kZXN0aW5hdGlv
bklEKCkpKQorICAgICAgICBpZiAoYXV0byogd2ViUmVzb3VyY2VMb2FkZXIgPSBXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS53ZWJMb2FkZXJTdHJhdGVneSgpLndlYlJlc291cmNlTG9hZGVyRm9ySWRl
bnRpZmllcihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpCiAgICAgICAgICAgICB3ZWJSZXNvdXJj
ZUxvYWRlci0+ZGlkUmVjZWl2ZVdlYlJlc291cmNlTG9hZGVyTWVzc2FnZShjb25uZWN0aW9uLCBk
ZWNvZGVyKTsKLSAgICAgICAgCiAgICAgICAgIHJldHVybjsKICAgICB9CiAKKyNpZiBVU0UoTElC
V0VCUlRDKQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdl
czo6V2ViUlRDU29ja2V0OjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgV2ViUHJv
Y2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLnNvY2tldChkZWNvZGVyLmRlc3Rp
bmF0aW9uSUQoKSkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgp
ID09IE1lc3NhZ2VzOjpXZWJSVENNb25pdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAg
ICAgICAgV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLm1vbml0b3Io
KS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2Fn
ZXM6OldlYlJUQ1Jlc29sdmVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLnJlc29sdmVyKGRlY29kZXIu
ZGVzdGluYXRpb25JRCgpKS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsK
KyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgZGlkUmVjZWl2ZU5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CiB9CiAKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRD
TmV0d29yay5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJX
ZWJSVENOZXR3b3JrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMmE5YzViYTczZjg4NDM2NTM3Y2YyZWMxOGUxZDJj
NDYyZTZkZjFjZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oCkBAIC0wLDAgKzEsNTQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJM
aWJXZWJSVENTb2NrZXRGYWN0b3J5LmgiCisjaW5jbHVkZSAiV2ViUlRDTW9uaXRvci5oIgorI2lu
Y2x1ZGUgIldlYlJUQ1Jlc29sdmVyLmgiCisjaW5jbHVkZSAiV2ViUlRDU29ja2V0LmgiCisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJXZWJSVENOZXR3b3JrIHsKK3B1YmxpYzoKKyAg
ICBMaWJXZWJSVENOZXR3b3JrKCkgPSBkZWZhdWx0OworCisgICAgV2ViUlRDTW9uaXRvciYgbW9u
aXRvcigpIHsgcmV0dXJuIG1fd2ViTmV0d29ya01vbml0b3I7IH0KKyAgICBMaWJXZWJSVENTb2Nr
ZXRGYWN0b3J5JiBzb2NrZXRGYWN0b3J5KCkgeyByZXR1cm4gbV9zb2NrZXRGYWN0b3J5OyB9CisK
KyAgICBXZWJSVENTb2NrZXQgc29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIpIHsgcmV0dXJuIFdl
YlJUQ1NvY2tldChzb2NrZXRGYWN0b3J5KCksIGlkZW50aWZpZXIpOyB9CisgICAgV2ViUlRDUmVz
b2x2ZXIgcmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikgeyByZXR1cm4gV2ViUlRDUmVzb2x2
ZXIoc29ja2V0RmFjdG9yeSgpLCBpZGVudGlmaWVyKTsgfQorCitwcml2YXRlOgorICAgIExpYldl
YlJUQ1NvY2tldEZhY3RvcnkgbV9zb2NrZXRGYWN0b3J5OworICAgIFdlYlJUQ01vbml0b3IgbV93
ZWJOZXR3b3JrTW9uaXRvcjsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzNhZTI2NWNhMmM1MGI1NDU0ZWVmYTAwYzQ5M2ExMDk0ZjY3ZjMwMwotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuY3BwCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmln
LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKKworI2lmIFVTRShMSUJXRUJSVEMp
CisKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENV
dGlscy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9hcGkvcGVlcmNvbm5lY3Rpb25mYWN0b3J5Lmg+CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29u
bmVjdGlvbkludGVyZmFjZT4gTGliV2ViUlRDUHJvdmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9u
KHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZlciYgb2JzZXJ2ZXIpCit7CisgICAgcmV0dXJu
IFdlYkNvcmU6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKG9ic2VydmVyLCBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5saWJXZWJSVENOZXR3b3JrKCkubW9uaXRvcigpLCBXZWJQcm9jZXNzOjpzaW5nbGV0
b24oKS5saWJXZWJSVENOZXR3b3JrKCkuc29ja2V0RmFjdG9yeSgpKTsKK30KKworfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5o
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92
aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLmY0M2JmOWYyMmYwNDY2YWFlODZiZmU5NDlkYTg4MTk4MTk3NmRk
MTcKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKQEAgLTAsMCArMSw0NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENQcm92aWRlci5oPgor
CisjaWYgVVNFKExJQldFQlJUQykKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExpYldl
YlJUQ1Byb3ZpZGVyIGZpbmFsIDogcHVibGljIFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyIHsK
K3B1YmxpYzoKKyAgICBMaWJXZWJSVENQcm92aWRlcigpID0gZGVmYXVsdDsKKworcHJpdmF0ZToK
KyAgICBydGM6OnNjb3BlZF9yZWZwdHI8d2VicnRjOjpQZWVyQ29ubmVjdGlvbkludGVyZmFjZT4g
Y3JlYXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQZWVyQ29ubmVjdGlvbk9ic2VydmVyJikgZmlu
YWw7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vsc2UKK3VzaW5nIExpYldlYlJU
Q1Byb3ZpZGVyID0gV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI7CisjZW5kaWYgLy8gVVNFKExJ
QldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWM3MTg3OTBm
OWU3OTM0ZDI4OTVhZWFlYWZiZWVjMjE3ZTI2OTJlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3Bw
CkBAIC0wLDAgKzEsMTAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIkxpYldlYlJUQ1Jlc29sdmVyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5j
bHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1By
b3ZpZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3Rm
L01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBpbmxpbmUgdm9p
ZCBzZW5kT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25uZWN0aW9uJik+JiYgY2Fs
bGJhY2spCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0oKSB7CisgICAgICAgIGNhbGxiYWNrKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdv
cmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJS
VENSZXNvbHZlcjo6U3RhcnQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzKQorewor
ICAgIG1faXNSZXNvbHZpbmcgPSB0cnVlOworICAgIG1fYWRkcmVzc1RvUmVzb2x2ZSA9IGFkZHJl
c3M7CisgICAgbV9wb3J0ID0gYWRkcmVzcy5wb3J0KCk7CisgICAgYXV0byBpZGVudGlmaWVyID0g
bV9pZGVudGlmaWVyOworICAgIHNlbmRPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGFkZHJlc3Nd
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBhdXRvIGFkZHJlc3NTdHJp
bmcgPSBhZGRyZXNzLkhvc3RBc1VSSVN0cmluZygpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6Q3JlYXRlUmVzb2x2ZXIoaWRlbnRpZmllciwg
U3RyaW5nKGFkZHJlc3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSksIDAp
OworICAgIH0pOworfQorCitib29sIExpYldlYlJUQ1Jlc29sdmVyOjpHZXRSZXNvbHZlZEFkZHJl
c3MoaW50IGZhbWlseSwgcnRjOjpTb2NrZXRBZGRyZXNzKiBhZGRyZXNzKSBjb25zdAoreworICAg
IEFTU0VSVChhZGRyZXNzKTsKKyAgICBpZiAobV9lcnJvciB8fCAhbV9hZGRyZXNzZXMuc2l6ZSgp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAgICAqYWRkcmVzcyA9IG1fYWRkcmVzc1RvUmVz
b2x2ZTsKKyAgICBmb3IgKGF1dG8mIGlwQWRkcmVzcyA6IG1fYWRkcmVzc2VzKSB7CisgICAgICAg
IGlmIChmYW1pbHkgPT0gaXBBZGRyZXNzLmZhbWlseSgpKSB7CisgICAgICAgICAgICBhZGRyZXNz
LT5TZXRSZXNvbHZlZElQKGlwQWRkcmVzcyk7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRQb3J0
KG1fcG9ydCk7CisgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAg
ICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2ZXI6OkRlc3Ryb3koYm9v
bCkKK3sKKyAgICBpZiAoIWlzUmVzb2x2aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1
dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBzZW5kT25NYWluVGhyZWFkKFtpZGVu
dGlmaWVyXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlv
bi5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6OlN0b3BSZXNvbHZlcihpZGVudGlm
aWVyKSwgMCk7CisgICAgfSk7CisKKyAgICAvLyBMZXQncyB0YWtlIHRoZSByZXNvbHZlciBzbyB0
aGF0IGl0IGdldHMgZGVzdHJveWVkIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4KKyAgICBh
dXRvIHJlc29sdmVyID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygp
LnNvY2tldEZhY3RvcnkoKS50YWtlUmVzb2x2ZXIobV9pZGVudGlmaWVyKTsKKyAgICBBU1NFUlQo
cmVzb2x2ZXIpOworfQorCit2b2lkIExpYldlYlJUQ1Jlc29sdmVyOjpzZXRSZXNvbHZlZEFkZHJl
c3MoY29uc3QgVmVjdG9yPHJ0Yzo6SVBBZGRyZXNzPiYgYWRkcmVzc2VzKQoreworICAgIG1fYWRk
cmVzc2VzID0gYWRkcmVzc2VzOworICAgIFNpZ25hbERvbmUodGhpcyk7Cit9CisKK3ZvaWQgTGli
V2ViUlRDUmVzb2x2ZXI6OnNldEVycm9yKGludCBlcnJvcikKK3sKKyAgICBtX2Vycm9yID0gZXJy
b3I7CisgICAgU2lnbmFsRG9uZSh0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisK
KyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oCm5ldyBmaWxl
IG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAuLjkzNWI2Mjk3NTgzNTk5ZjJiYzE5ODg2NzVmYzY2ZTBiYjg3ZTM3NjYKLS0tIC9kZXYvbnVs
bAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1Jlc29sdmVyLmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUg
bXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1h
dGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZU
V0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMg
SVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQor
CisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9z
Lmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0aGVscGVycy5oPgorI2luY2x1ZGUgPHdlYnJ0
Yy9wMnAvYmFzZS9wYWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKK2NsYXNzIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk7CisK
K2NsYXNzIExpYldlYlJUQ1Jlc29sdmVyIGZpbmFsIDogcHVibGljIHJ0Yzo6QXN5bmNSZXNvbHZl
ckludGVyZmFjZSB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDUmVzb2x2ZXIodWludDY0X3QgaWRl
bnRpZmllcikgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikgeyB9CisKKyAgICBib29sIGlzUmVz
b2x2aW5nKCkgY29uc3QgeyByZXR1cm4gbV9pc1Jlc29sdmluZzsgfQorICAgIHVpbnQ2NF90IGlk
ZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKworcHJpdmF0ZToKKyAg
ICBmcmllbmQgY2xhc3MgV2ViUlRDUmVzb2x2ZXI7CisKKyAgICAvLyBBc3luY1Jlc29sdmVySW50
ZXJmYWNlIEFQSS4KKyAgICB2b2lkIFN0YXJ0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpIGZp
bmFsOworICAgIGJvb2wgR2V0UmVzb2x2ZWRBZGRyZXNzKGludCwgcnRjOjpTb2NrZXRBZGRyZXNz
KikgY29uc3QgZmluYWw7CisgICAgaW50IEdldEVycm9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4g
bV9lcnJvcjsgfQorICAgIHZvaWQgRGVzdHJveShib29sKSBmaW5hbDsKKworICAgIHZvaWQgc2V0
RXJyb3IoaW50KTsKKyAgICB2b2lkIHNldFJlc29sdmVkQWRkcmVzcyhjb25zdCBWZWN0b3I8cnRj
OjpJUEFkZHJlc3M+Jik7CisKKyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXI7CisgICAgVmVjdG9y
PHJ0Yzo6SVBBZGRyZXNzPiBtX2FkZHJlc3NlczsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9h
ZGRyZXNzVG9SZXNvbHZlOworICAgIGludCBtX2Vycm9yIHsgMCB9OworICAgIHVpbnQxNl90IG1f
cG9ydCB7IDAgfTsKKyAgICBib29sIG1faXNSZXNvbHZpbmcgeyBmYWxzZSB9OworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmMyOWEzZDI3YmU5M2E2MDVkOGQ5OGZhYmFmNDQ4YmEy
NTdiMjI5OTMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTAsMCArMSwxOTMgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0Lmgi
CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2lu
Y2x1ZGUgIkxpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vz
c0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKKyNp
bmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4K
KyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGlubGluZSB2b2lkIHNlbmRPbk1haW5UaHJl
YWQoRnVuY3Rpb248dm9pZChJUEM6OkNvbm5lY3Rpb24mKT4mJiBjYWxsYmFjaykKK3sKKyAgICBj
YWxsT25NYWluVGhyZWFkKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKKyAgICAg
ICAgY2FsbGJhY2soV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5j
b25uZWN0aW9uKCkpOworICAgIH0pOworfQorCitMaWJXZWJSVENTb2NrZXQ6OkxpYldlYlJUQ1Nv
Y2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5LCB1aW50NjRfdCBpZGVudGlmaWVy
LCBUeXBlIHR5cGUsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpCisgICAgOiBtX2ZhY3RvcnkoZmFj
dG9yeSkKKyAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV90eXBlKHR5cGUp
CisgICAgLCBtX2xvY2FsQWRkcmVzcyhsb2NhbEFkZHJlc3MpCisgICAgLCBtX3JlbW90ZUFkZHJl
c3MocmVtb3RlQWRkcmVzcykKK3sKKyAgICBtZW1zZXQoJm1fb3B0aW9ucywgMSwgTUFYX1NPQ0tF
VF9PUFRJT04pOworCisgICAgaWYgKHR5cGUgPT0gVHlwZTo6Q2xpZW50VENQKQorICAgICAgICBy
ZXR1cm47CisKKyAgICBXZWJSVENTb2NrZXQ6OnNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3Rv
cnksIG1faWRlbnRpZmllciwgW10oTGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsKKyAgICAgICAg
c29ja2V0LnNpZ25hbEFkZHJlc3NSZWFkeSgpOworICAgIH0pOworfQorCitMaWJXZWJSVENTb2Nr
ZXQ6On5MaWJXZWJSVENTb2NrZXQoKQoreworICAgIG1fZmFjdG9yeS5kZXRhY2goKnRoaXMpOwor
fQorCitydGM6OlNvY2tldEFkZHJlc3MgTGliV2ViUlRDU29ja2V0OjpHZXRMb2NhbEFkZHJlc3Mo
KSBjb25zdAoreworICAgIHJldHVybiBtX2xvY2FsQWRkcmVzczsKK30KKworcnRjOjpTb2NrZXRB
ZGRyZXNzIExpYldlYlJUQ1NvY2tldDo6R2V0UmVtb3RlQWRkcmVzcygpIGNvbnN0Cit7CisgICAg
cmV0dXJuIG1fcmVtb3RlQWRkcmVzczsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXQ6OnNpZ25h
bEFkZHJlc3NSZWFkeSgpCit7CisgICAgQVNTRVJUKG1fdHlwZSAhPSBUeXBlOjpDbGllbnRUQ1Ap
OworICAgIG1fc3RhdGUgPSBTVEFURV9CT1VORDsKKyAgICBTaWduYWxBZGRyZXNzUmVhZHkodGhp
cywgbV9sb2NhbEFkZHJlc3MpOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsQWRk
cmVzc1JlYWR5KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBBU1NFUlQobV90eXBlID09
IFR5cGU6OkNsaWVudFRDUCk7CisgICAgbV9sb2NhbEFkZHJlc3MuRnJvbVN0cmluZyhhZGRyZXNz
LnV0ZjgoKS5kYXRhKCkpOworICAgIG1fc3RhdGUgPSBTVEFURV9DT05ORUNURUQ7CisgICAgU2ln
bmFsQWRkcmVzc1JlYWR5KHRoaXMsIG1fbG9jYWxBZGRyZXNzKTsKK30KKwordm9pZCBMaWJXZWJS
VENTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQoY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiBi
dWZmZXIsIHJ0Yzo6U29ja2V0QWRkcmVzcyYmIGFkZHJlc3MsIGludDY0X3QgdGltZXN0YW1wKQor
eworICAgIG1fcmVtb3RlQWRkcmVzcyA9IFdURk1vdmUoYWRkcmVzcyk7CisgICAgU2lnbmFsUmVh
ZFBhY2tldCh0aGlzLCBidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpLCBtX3JlbW90ZUFkZHJl
c3MsIHJ0Yzo6UGFja2V0VGltZSh0aW1lc3RhbXAsIDApKTsKK30KKwordm9pZCBMaWJXZWJSVENT
b2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1l
TXMpCit7CisgICAgbV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgKz0gbV9iZWluZ1NlbnRQYWNrZXRT
aXplcy50YWtlRmlyc3QoKTsKKyAgICBTaWduYWxTZW50UGFja2V0KHRoaXMsIHJ0Yzo6U2VudFBh
Y2tldChydGNQYWNrZXRJRCwgc2VuZFRpbWVNcykpOworICAgIGlmIChtX3Nob3VsZFNpZ25hbFJl
YWR5VG9TZW5kKSB7CisgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSBmYWxzZTsK
KyAgICAgICAgU2lnbmFsUmVhZHlUb1NlbmQodGhpcyk7CisgICAgfQorfQorCit2b2lkIExpYldl
YlJUQ1NvY2tldDo6c2lnbmFsQ29ubmVjdCgpCit7CisgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5F
Q1RFRDsKKyAgICBTaWduYWxDb25uZWN0KHRoaXMpOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tl
dDo6c2lnbmFsQ2xvc2UoaW50IGVycm9yKQoreworICAgIG1fc3RhdGUgPSBTVEFURV9DTE9TRUQ7
CisgICAgU2lnbmFsQ2xvc2UodGhpcywgZXJyb3IpOworfQorCitzdGF0aWMgaW5saW5lIFN0cmlu
ZyBhdXRoS2V5KGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBpZiAo
b3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5zaXplKCkgPD0gMCkKKyAg
ICAgICAgcmV0dXJuIHsgfTsKKyAgICByZXR1cm4gU3RyaW5nKG9wdGlvbnMucGFja2V0X3RpbWVf
cGFyYW1zLnNydHBfYXV0aF9rZXkuZGF0YSgpLCBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5z
cnRwX2F1dGhfa2V5LnNpemUoKSk7Cit9CisKK2Jvb2wgTGliV2ViUlRDU29ja2V0Ojp3aWxsU2Vu
ZChzaXplX3Qgc2l6ZSkKK3sKKyAgICBpZiAoc2l6ZSA+IG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVz
KSB7CisgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSB0cnVlOworICAgICAgICBz
ZXRFcnJvcihFV09VTERCTE9DSyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAg
bV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgLT0gc2l6ZTsKKyAgICBtX2JlaW5nU2VudFBhY2tldFNp
emVzLmFwcGVuZChzaXplKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW50IExpYldlYlJUQ1Nv
Y2tldDo6U2VuZFRvKGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgY29uc3QgcnRjOjpT
b2NrZXRBZGRyZXNzJiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMp
Cit7CisgICAgaWYgKCF3aWxsU2VuZChzaXplKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAg
YXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxj
b25zdCB1aW50OF90Kj4odmFsdWUpLCBzaXplKTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlz
LT5pZGVudGlmaWVyKCk7CisKKyAgICBzZW5kT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBidWZm
ZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIG9wdGlvbnNdKElQQzo6Q29ubmVjdGlvbiYg
Y29ubmVjdGlvbikgeworICAgICAgICBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YShyZWludGVycHJl
dF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsK
KyAgICAgICAgU3RyaW5nIHNydHBBdXRoS2V5ID0gYXV0aEtleShvcHRpb25zKTsKKyAgICAgICAg
TWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6OlNlbmRUbyBtZXNzYWdlKGRhdGEsIFJUQ05ldHdv
cms6OklQQWRkcmVzcyhhZGRyZXNzLmlwYWRkcigpKSwgYWRkcmVzcy5wb3J0KCksIG9wdGlvbnMu
cGFja2V0X2lkLCBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5ydHBfc2VuZHRpbWVfZXh0ZW5z
aW9uX2lkLCBzcnRwQXV0aEtleSwgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9wYWNr
ZXRfaW5kZXgsIG9wdGlvbnMuZHNjcCk7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChXVEZNb3Zl
KG1lc3NhZ2UpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gc2l6ZTsKK30KKwor
aW50IExpYldlYlJUQ1NvY2tldDo6Q2xvc2UoKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IHRo
aXMtPmlkZW50aWZpZXIoKTsKKyAgICBzZW5kT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUlRDU29ja2V0OjpDbG9zZSgpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAg
ICByZXR1cm4gMDsKK30KKworaW50IExpYldlYlJUQ1NvY2tldDo6R2V0T3B0aW9uKHJ0Yzo6U29j
a2V0OjpPcHRpb24gb3B0aW9uLCBpbnQqIHZhbHVlKQoreworICAgIEFTU0VSVChvcHRpb24gPCBN
QVhfU09DS0VUX09QVElPTik7CisgICAgaW50IHN0b3JlZFZhbHVlID0gbV9vcHRpb25zW29wdGlv
bl07CisgICAgaWYgKHN0b3JlZFZhbHVlICE9IC0xKQorICAgICAgICAqdmFsdWUgPSBtX29wdGlv
bnNbb3B0aW9uXTsKKyAgICByZXR1cm4gMDsKK30KKworaW50IExpYldlYlJUQ1NvY2tldDo6U2V0
T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24gb3B0aW9uLCBpbnQgdmFsdWUpCit7CisgICAgQVNT
RVJUKG9wdGlvbiA8IE1BWF9TT0NLRVRfT1BUSU9OKTsKKworICAgIG1fb3B0aW9uc1tvcHRpb25d
ID0gdmFsdWU7CisKKyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7Cisg
ICAgc2VuZE9uTWFpblRocmVhZChbaWRlbnRpZmllciwgb3B0aW9uLCB2YWx1ZV0oSVBDOjpDb25u
ZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6
TmV0d29ya1JUQ1NvY2tldDo6U2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpLCBpZGVudGlmaWVyKTsK
KyAgICB9KTsKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTRl
Y2E5ODQ0MWEyM2I5YjA0MzcyY2Y2ODEzMDI2ZTE3OTE4YmZiOQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
LmgKQEAgLTAsMCArMSwxMDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVT
RShMSUJXRUJSVEMpCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9h
c3luY3BhY2tldHNvY2tldC5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0
Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNz
IERhdGFSZWZlcmVuY2U7CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBTaGFyZWRCdWZmZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBM
aWJXZWJSVENTb2NrZXRGYWN0b3J5OworCitjbGFzcyBMaWJXZWJSVENTb2NrZXQgZmluYWwgOiBw
dWJsaWMgcnRjOjpBc3luY1BhY2tldFNvY2tldCB7CitwdWJsaWM6CisgICAgZW51bSBjbGFzcyBU
eXBlIHsgVURQLCBTZXJ2ZXJUQ1AsIENsaWVudFRDUCB9OworCisgICAgTGliV2ViUlRDU29ja2V0
KExpYldlYlJUQ1NvY2tldEZhY3RvcnkmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBUeXBlLCBjb25z
dCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29uc3QgcnRjOjpTb2NrZXRBZGRy
ZXNzJiByZW1vdGVBZGRyZXNzKTsKKyAgICB+TGliV2ViUlRDU29ja2V0KCk7CisKKyAgICB1aW50
NjRfdCBpZGVudGlmaWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisgICAgY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MoKSBjb25zdCB7IHJldHVybiBtX2xv
Y2FsQWRkcmVzczsgfQorICAgIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVz
cygpIGNvbnN0IHsgcmV0dXJuIG1fcmVtb3RlQWRkcmVzczsgfQorCisgICAgdm9pZCBzZXRFcnJv
cihpbnQgZXJyb3IpIHsgbV9lcnJvciA9IGVycm9yOyB9CisgICAgdm9pZCBzZXRTdGF0ZShTdGF0
ZSBzdGF0ZSkgeyBtX3N0YXRlID0gc3RhdGU7IH0KKworcHJpdmF0ZToKKyAgICBib29sIHdpbGxT
ZW5kKHNpemVfdCk7CisKKyAgICBmcmllbmQgY2xhc3MgV2ViUlRDU29ja2V0OworICAgIHZvaWQg
c2lnbmFsUmVhZFBhY2tldChjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBydGM6OlNvY2tl
dEFkZHJlc3MmJiwgaW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KGludCwgaW50
NjRfdCk7CisgICAgdm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJik7CisgICAg
dm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoKTsKKyAgICB2b2lkIHNpZ25hbENvbm5lY3QoKTsKKyAg
ICB2b2lkIHNpZ25hbENsb3NlKGludCk7CisKKyAgICAvLyBBc3luY1BhY2tldFNvY2tldCBBUEkK
KyAgICBpbnQgR2V0RXJyb3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAg
dm9pZCBTZXRFcnJvcihpbnQgZXJyb3IpIGZpbmFsIHsgc2V0RXJyb3IoZXJyb3IpOyB9CisgICAg
cnRjOjpTb2NrZXRBZGRyZXNzIEdldExvY2FsQWRkcmVzcygpIGNvbnN0IGZpbmFsOworICAgIHJ0
Yzo6U29ja2V0QWRkcmVzcyBHZXRSZW1vdGVBZGRyZXNzKCkgY29uc3QgZmluYWw7CisgICAgaW50
IFNlbmQoY29uc3Qgdm9pZCAqcHYsIHNpemVfdCBjYiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25z
JiBvcHRpb25zKSBmaW5hbCB7IHJldHVybiBTZW5kVG8ocHYsIGNiLCBtX3JlbW90ZUFkZHJlc3Ms
IG9wdGlvbnMpOyB9CisgICAgaW50IFNlbmRUbyhjb25zdCB2b2lkICosIHNpemVfdCwgY29uc3Qg
cnRjOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJikgZmluYWw7Cisg
ICAgaW50IENsb3NlKCkgZmluYWw7CisgICAgU3RhdGUgR2V0U3RhdGUoKSBjb25zdCBmaW5hbCB7
IHJldHVybiBtX3N0YXRlOyB9CisgICAgaW50IEdldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9u
LCBpbnQqKSBmaW5hbDsKKyAgICBpbnQgU2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24sIGlu
dCkgZmluYWw7CisKKyAgICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBtX2ZhY3Rvcnk7CisgICAg
dWludDY0X3QgbV9pZGVudGlmaWVyIHsgMCB9OworICAgIFR5cGUgbV90eXBlOworICAgIHJ0Yzo6
U29ja2V0QWRkcmVzcyBtX2xvY2FsQWRkcmVzczsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9y
ZW1vdGVBZGRyZXNzOworCisgICAgaW50IG1fZXJyb3IgeyAwIH07CisgICAgU3RhdGUgbV9zdGF0
ZSB7IFNUQVRFX0JJTkRJTkcgfTsKKworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNQVhfU09D
S0VUX09QVElPTiB7IHJ0Yzo6U29ja2V0OjpPUFRfUlRQX1NFTkRUSU1FX0VYVE5fSUQgKyAxIH07
CisgICAgaW50IG1fb3B0aW9uc1tNQVhfU09DS0VUX09QVElPTl07CisKKyAgICBEZXF1ZTxzaXpl
X3Q+IG1fYmVpbmdTZW50UGFja2V0U2l6ZXM7CisgICAgc2l6ZV90IG1fYXZhaWxhYmxlU2VuZGlu
Z0J5dGVzIHsgNjU1MzYgfTsKKyAgICBib29sIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgeyBm
YWxzZSB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
MzI5Njc2NmNhMjJlNjY3ZDc3YjEyZTQ5NWEzMGI3OTZkZGRjOTcyZAotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29j
a2V0RmFjdG9yeS5jcHAKQEAgLTAsMCArMSwxMTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAi
Y29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2lu
Y2x1ZGUgIk5ldHdvcmtSVENNb25pdG9yTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRD
UHJvdmlkZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJX
ZWJSVENTb2NrZXQuaCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKwordWludDY0X3QgTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6c191bmlxdWVTb2Nr
ZXRJZGVudGlmaWVyID0gMDsKK3VpbnQ2NF90IExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OnNfdW5p
cXVlUmVzb2x2ZXJJZGVudGlmaWVyID0gMDsKKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogTGli
V2ViUlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRlU2VydmVyVGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29j
a2V0QWRkcmVzcyYgc29ja2V0QWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4
UG9ydCwgaW50IG9wdGlvbnMpCit7CisgICAgYXV0byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVl
PExpYldlYlJUQ1NvY2tldD4oKnRoaXMsICsrc191bmlxdWVTb2NrZXRJZGVudGlmaWVyLCBMaWJX
ZWJSVENTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwgc29ja2V0QWRkcmVzcywgcnRjOjpTb2NrZXRB
ZGRyZXNzKCkpOworICAgIG1fc29ja2V0cy5zZXQoc29ja2V0LT5pZGVudGlmaWVyKCksIHNvY2tl
dC5nZXQoKSk7CisKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBzb2NrZXQtPmlkZW50aWZpZXIoKTsK
KyAgICBhdXRvIGFkZHJlc3MgPSBzb2NrZXQtPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7Cisg
ICAgY2FsbE9uTWFpblRocmVhZChbaWRlbnRpZmllciwgYWRkcmVzcywgbWluUG9ydCwgbWF4UG9y
dCwgb3B0aW9uc10oKSB7CisgICAgICAgIFN0cmluZyBhZGRyZXNzU3RyaW5nID0gU3RyaW5nKGFk
ZHJlc3MuZGF0YSgpLCBhZGRyZXNzLmxlbmd0aCgpKTsKKyAgICAgICAgaWYgKCFXZWJQcm9jZXNz
OjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6OkNyZWF0ZVNlcnZlclRDUFNvY2tldChpZGVudGlmaWVy
LCBhZGRyZXNzU3RyaW5nLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zKSwgMCkpIHsKKyAgICAg
ICAgICAgIC8vIEZJWE1FOiBTZXQgZXJyb3IgYmFjayB0byBzb2NrZXQKKyAgICAgICAgICAgIHJl
dHVybjsKKyAgICAgICAgfQorCisgICAgfSk7CisKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2Uo
KTsKK30KKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6
Q3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgc29ja2V0QWRkcmVzcywg
dWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKK3sKKyAgICBhdXRvIHNvY2tldCA9
IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDU29ja2V0PigqdGhpcywgKytzX3VuaXF1ZVNvY2tl
dElkZW50aWZpZXIsIExpYldlYlJUQ1NvY2tldDo6VHlwZTo6U2VydmVyVENQLCBzb2NrZXRBZGRy
ZXNzLCBydGM6OlNvY2tldEFkZHJlc3MoKSk7CisgICAgbV9zb2NrZXRzLnNldChzb2NrZXQtPmlk
ZW50aWZpZXIoKSwgc29ja2V0LmdldCgpKTsKKworICAgIGF1dG8gaWRlbnRpZmllciA9IHNvY2tl
dC0+aWRlbnRpZmllcigpOworICAgIGF1dG8gYWRkcmVzcyA9IHNvY2tldC0+bG9jYWxBZGRyZXNz
KCkuVG9TdHJpbmcoKTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBhZGRyZXNz
LCBtaW5Qb3J0LCBtYXhQb3J0XSgpIHsKKyAgICAgICAgU3RyaW5nIGFkZHJlc3NTdHJpbmcgPSBT
dHJpbmcoYWRkcmVzcy5kYXRhKCksIGFkZHJlc3MubGVuZ3RoKCkpOworICAgICAgICBpZiAoIVdl
YlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNl
bmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6Q3JlYXRlVURQU29ja2V0KGlkZW50aWZp
ZXIsIGFkZHJlc3NTdHJpbmcsIG1pblBvcnQsIG1heFBvcnQpLCAwKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IFNldCBlcnJvciBiYWNrIHRvIHNvY2tldAorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfSk7CisgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3J0
Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OkNyZWF0ZUNsaWVu
dFRjcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsU29ja2V0QWRkcmVzcywg
Y29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVTb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6
OlByb3h5SW5mbyYsIGNvbnN0IHN0ZDo6c3RyaW5nJiwgaW50IG9wdGlvbnMpCit7CisgICAgYXV0
byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1NvY2tldD4oKnRoaXMsICsrc191
bmlxdWVTb2NrZXRJZGVudGlmaWVyLCBMaWJXZWJSVENTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwg
bG9jYWxTb2NrZXRBZGRyZXNzLCByZW1vdGVTb2NrZXRBZGRyZXNzKTsKKyAgICBzb2NrZXQtPnNl
dFN0YXRlKExpYldlYlJUQ1NvY2tldDo6U1RBVEVfQ09OTkVDVElORyk7CisgICAgbV9zb2NrZXRz
LnNldChzb2NrZXQtPmlkZW50aWZpZXIoKSwgc29ja2V0LmdldCgpKTsKKworICAgIGF1dG8gaWRl
bnRpZmllciA9IHNvY2tldC0+aWRlbnRpZmllcigpOworICAgIGF1dG8gbG9jYWxBZGRyZXNzID0g
c29ja2V0LT5sb2NhbEFkZHJlc3MoKS5Ub1N0cmluZygpOworICAgIGF1dG8gcmVtb3RlQWRkcmVz
cyA9IHNvY2tldC0+cmVtb3RlQWRkcmVzcygpLlRvU3RyaW5nKCk7CisgICAgY2FsbE9uTWFpblRo
cmVhZChbaWRlbnRpZmllciwgbG9jYWxBZGRyZXNzLCByZW1vdGVBZGRyZXNzLCBvcHRpb25zXSgp
IHsKKyAgICAgICAgU3RyaW5nIGxvY2FsQWRkcmVzc1N0cmluZyA9IFN0cmluZyhsb2NhbEFkZHJl
c3MuZGF0YSgpLCBsb2NhbEFkZHJlc3MubGVuZ3RoKCkpOworICAgICAgICBTdHJpbmcgcmVtb3Rl
QWRkcmVzc1N0cmluZyA9IFN0cmluZyhyZW1vdGVBZGRyZXNzLmRhdGEoKSwgcmVtb3RlQWRkcmVz
cy5sZW5ndGgoKSk7CisgICAgICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29y
a0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3Zp
ZGVyOjpDcmVhdGVDbGllbnRUQ1BTb2NrZXQoaWRlbnRpZmllciwgbG9jYWxBZGRyZXNzU3RyaW5n
LCByZW1vdGVBZGRyZXNzU3RyaW5nLCBvcHRpb25zKSwgMCkpIHsKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiBTZXQgZXJyb3IgYmFjayB0byBzb2NrZXQKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorICAgIH0pOworCisgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3ZvaWQg
TGliV2ViUlRDU29ja2V0RmFjdG9yeTo6ZGV0YWNoKExpYldlYlJUQ1NvY2tldCYgc29ja2V0KQor
eworICAgIEFTU0VSVChtX3NvY2tldHMuY29udGFpbnMoc29ja2V0LmlkZW50aWZpZXIoKSkpOwor
ICAgIG1fc29ja2V0cy5yZW1vdmUoc29ja2V0LmlkZW50aWZpZXIoKSk7Cit9CisKK3J0Yzo6QXN5
bmNSZXNvbHZlckludGVyZmFjZSogTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRlQXN5bmNS
ZXNvbHZlcigpCit7CisgICAgYXV0byByZXNvbHZlciA9IHN0ZDo6bWFrZV91bmlxdWU8TGliV2Vi
UlRDUmVzb2x2ZXI+KCsrc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXIpOworICAgIGF1dG8qIHJl
c29sdmVyUG9pbnRlciA9IHJlc29sdmVyLmdldCgpOworICAgIG1fcmVzb2x2ZXJzLnNldChyZXNv
bHZlclBvaW50ZXItPmlkZW50aWZpZXIoKSwgV1RGTW92ZShyZXNvbHZlcikpOworICAgIHJldHVy
biByZXNvbHZlclBvaW50ZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYg
Ly8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMC4uMDIzZjE3NTYxZTI3YzJjZTJhYjc3ODZiZjhmOTBhZmYzYjUwODA3YgotLS0gL2Rldi9u
dWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDU29ja2V0RmFjdG9yeS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSZXNvbHZl
ci5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tldC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGli
V2ViUlRDTWFjcm9zLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0aGVscGVycy5oPgorI2lu
Y2x1ZGUgPHdlYnJ0Yy9wMnAvYmFzZS9wYWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8
d3RmL0hhc2hNYXAuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkgZmluYWwgOiBwdWJsaWMgcnRjOjpQYWNrZXRTb2NrZXRGYWN0b3J5IHsKK3B1
YmxpYzoKKyAgICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5KCkgeyB9CisKKyAgICB2b2lkIGRldGFj
aChMaWJXZWJSVENTb2NrZXQmKTsKKworICAgIExpYldlYlJUQ1NvY2tldCogc29ja2V0KHVpbnQ2
NF90IGlkZW50aWZpZXIpIHsgcmV0dXJuIG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcik7IH0KKyAg
ICBMaWJXZWJSVENSZXNvbHZlciogcmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikgeyByZXR1
cm4gbV9yZXNvbHZlcnMuZ2V0KGlkZW50aWZpZXIpOyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
TGliV2ViUlRDUmVzb2x2ZXI+IHRha2VSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJl
dHVybiBtX3Jlc29sdmVycy50YWtlKGlkZW50aWZpZXIpOyB9CisKK3ByaXZhdGU6CisgICAgcnRj
OjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRk
cmVzcyYsIHVpbnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpIGZpbmFsOworICAgIHJ0
Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZVNlcnZlclRjcFNvY2tldChjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmLCB1aW50MTZfdCBtaW5fcG9ydCwgdWludDE2X3QgbWF4X3BvcnQsIGludCBv
cHRpb25zKSBmaW5hbDsKKyAgICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVDbGllbnRU
Y3BTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0
Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcywgY29uc3QgcnRjOjpQcm94eUluZm8mLCBj
b25zdCBzdGQ6OnN0cmluZyYsIGludCBvcHRpb25zKTsKKyAgICBydGM6OkFzeW5jUmVzb2x2ZXJJ
bnRlcmZhY2UqIENyZWF0ZUFzeW5jUmVzb2x2ZXIoKSBmaW5hbDsKKworICAgIC8vIFdlIGNhbm5v
dCBvd24gc29ja2V0cywgY2xpZW50cyBvZiB0aGUgZmFjdG9yeSBhcmUgcmVzcG9uc2libGUgdG8g
ZnJlZSB0aGVtLgorICAgIEhhc2hNYXA8dWludDY0X3QsIExpYldlYlJUQ1NvY2tldCo+IG1fc29j
a2V0czsKKyAgICBzdGF0aWMgdWludDY0X3Qgc191bmlxdWVTb2NrZXRJZGVudGlmaWVyOworICAg
IAorICAgIC8vIFdlIGNhbiBvd24gcmVzb2x2ZXJzIGFzIHdlIGNvbnRyb2wgdGhlaXIgRGVzdHJv
eSBtZXRob2QuCisgICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJU
Q1Jlc29sdmVyPj4gbV9yZXNvbHZlcnM7CisgICAgc3RhdGljIHVpbnQ2NF90IHNfdW5pcXVlUmVz
b2x2ZXJJZGVudGlmaWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgzZmMxYjYw
MWMxMzRiOTQ2NzNhZTllMGMyZDQxZThkMTBjMzc0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKQEAg
LTAsMCArMSw5OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRl
ICJXZWJSVENNb25pdG9yLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENNb25pdG9yTWVzc2FnZXMu
aCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ09yZS9MaWJXZWJSVENN
YWNyb3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+CisjaW5jbHVkZSA8
d3RmL01haW5UaHJlYWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBpbmxpbmUg
dm9pZCBzZW5kT25NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25uZWN0aW9uJik+JiYg
Y2FsbGJhY2spCit7CisgICAgY2FsbE9uTWFpblRocmVhZChbY2FsbGJhY2sgPSBXVEZNb3ZlKGNh
bGxiYWNrKV0oKSB7CisgICAgICAgIGNhbGxiYWNrKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5l
dHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJS
VENNb25pdG9yOjpTdGFydFVwZGF0aW5nKCkKK3sKKyAgICBpZiAobV9jbGllbnRDb3VudCkgewor
ICAgICAgICAvLyBOZWVkIHRvIHNpZ25hbCBuZXcgY2xpZW50IHRoYXQgd2UgYWxyZWFkeSBoYXZl
IHRoZSBuZXR3b3JrIGxpc3QsIGxldCdzIGRvIGl0IGFzeW5jaHJvbm91c2x5CisgICAgICAgIGlm
IChtX3JlY2VpdmVkTmV0d29ya0xpc3QpIHsKKyAgICAgICAgICAgIFdlYkNvcmU6OmNhbGxPbldl
YlJUQ05ldHdvcmtUaHJlYWQoW3RoaXNdIHsKKyAgICAgICAgICAgICAgICBTaWduYWxOZXR3b3Jr
c0NoYW5nZWQoKTsKKyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAg
ICAgICAgbV9yZWNlaXZlZE5ldHdvcmtMaXN0ID0gZmFsc2U7CisgICAgICAgIHNlbmRPbk1haW5U
aHJlYWQoW10oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgICAgICBjb25u
ZWN0aW9uLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENNb25pdG9yOjpTdGFydFVwZGF0aW5nKCks
IDApOworICAgICAgICB9KTsKKyAgICB9CisgICAgKyttX2NsaWVudENvdW50OworfQorCit2b2lk
IFdlYlJUQ01vbml0b3I6OlN0b3BVcGRhdGluZygpCit7CisgICAgQVNTRVJUKG1fY2xpZW50Q291
bnQpOworICAgIGlmICgtLW1fY2xpZW50Q291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIHNl
bmRPbk1haW5UaHJlYWQoW10oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAg
IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ01vbml0b3I6OlN0b3BVcGRhdGlu
ZygpLCAwKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJSVENNb25pdG9yOjpuZXR3b3Jrc0NoYW5n
ZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrcywgY29uc3QgUlRDTmV0d29yazo6
SVBBZGRyZXNzJiBpcHY0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGlwdjYpCit7Cisg
ICAgLy8gTm8gbmVlZCB0byBwcm90ZWN0ICd0aGlzJyBhcyBpdCBoYXMgdGhlIGxpZmV0aW1lIG9m
IExpYldlYlJUQyB3aGljaCBoYXMgdGhlIGxpZmV0aW1lIG9mIHRoZSB3ZWIgcHJvY2Vzcy4KKyAg
ICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBuZXR3b3JrcywgaXB2
NCwgaXB2Nl0geworICAgICAgICBzdGQ6OnZlY3RvcjxydGM6Ok5ldHdvcmsqPiBuZXR3b3JrTGlz
dChuZXR3b3Jrcy5zaXplKCkpOworICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4
IDwgbmV0d29ya3Muc2l6ZSgpOyArK2luZGV4KQorICAgICAgICAgICAgbmV0d29ya0xpc3RbaW5k
ZXhdID0gbmV3IHJ0Yzo6TmV0d29yayhuZXR3b3Jrc1tpbmRleF0udmFsdWUoKSk7CisKKyAgICAg
ICAgYm9vbCBmb3JjZVNpZ25hbGluZyA9ICFtX3JlY2VpdmVkTmV0d29ya0xpc3Q7CisgICAgICAg
IG1fcmVjZWl2ZWROZXR3b3JrTGlzdCA9IHRydWU7CisKKyAgICAgICAgYm9vbCBoYXNDaGFuZ2Vk
OworICAgICAgICBzZXRfZGVmYXVsdF9sb2NhbF9hZGRyZXNzZXMoaXB2NC52YWx1ZSwgaXB2Ni52
YWx1ZSk7CisgICAgICAgIE1lcmdlTmV0d29ya0xpc3QobmV0d29ya0xpc3QsICZoYXNDaGFuZ2Vk
KTsKKyAgICAgICAgaWYgKGhhc0NoYW5nZWQgfHwgZm9yY2VTaWduYWxpbmcpCisgICAgICAgICAg
ICBTaWduYWxOZXR3b3Jrc0NoYW5nZWQoKTsKKworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuaCBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLjY1YjRmMTE1MmViYWU5YWVmODEwNjY2ZGYwODQ4MTRjZTQ3M2JiNDkKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJU
Q01vbml0b3IuaApAQCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisK
KyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorI2luY2x1ZGUg
PFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25h
bWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Cit9CisKK25h
bWVzcGFjZSBXZWJLaXQgeworCitzdHJ1Y3QgTmV0d29ya3NDaGFuZ2VkRGF0YTsKKworY2xhc3Mg
V2ViUlRDTW9uaXRvciBmaW5hbCA6IHB1YmxpYyBydGM6Ok5ldHdvcmtNYW5hZ2VyQmFzZSB7Citw
dWJsaWM6CisgICAgV2ViUlRDTW9uaXRvcigpID0gZGVmYXVsdDsKKworICAgIHZvaWQgZGlkUmVj
ZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKK3ByaXZhdGU6
CisgICAgdm9pZCBuZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3
b3JrTGlzdCwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6
SVBBZGRyZXNzJik7CisKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmcoKSBmaW5hbDsKKyAgICB2b2lk
IFN0b3BVcGRhdGluZygpIGZpbmFsOworCisgICAgdW5zaWduZWQgbV9jbGllbnRDb3VudCB7IDAg
fTsKKyAgICBib29sIG1fcmVjZWl2ZWROZXR3b3JrTGlzdCB7IGZhbHNlIH07Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3Iu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
YlJUQ01vbml0b3IubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFlMTc3MDQ3MGY1NGFmNWNjNzQz
M2E0ZDYzZWU5Yjc2ODgxNDA0MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpAQCAtMCww
ICsxLDI5IEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJ
RUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFM
CisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBV
U0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBXZWJSVENNb25pdG9yIHsKKyAgICB2b2lkIE5l
dHdvcmtzQ2hhbmdlZChWZWN0b3I8V2ViS2l0OjpSVENOZXR3b3JrPiBuZXR3b3JrcywgV2ViS2l0
OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgZGVmYXVsdElQVjRBZGRyZXNzLCBXZWJLaXQ6OlJUQ05l
dHdvcms6OklQQWRkcmVzcyBkZWZhdWx0SVBWNkFkZHJlc3MpCit9CisKKyNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRl
eCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmVkMmRkYmEyNWNl
MDAxMzYzYWI0NDU4YTYzNTRmMmRlYmQ4OTVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5jcHAKQEAgLTAs
MCArMSw3NiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJX
ZWJSVENSZXNvbHZlci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldl
YlJUQ1Jlc29sdmVyLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24u
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1dlYlJUQ1Jlc29sdmVyOjpXZWJSVENSZXNvbHZl
cihMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBzb2NrZXRGYWN0b3J5LCB1aW50NjRfdCBpZGVudGlm
aWVyKQorICAgIDogbV9zb2NrZXRGYWN0b3J5KHNvY2tldEZhY3RvcnkpCisgICAgLCBtX2lkZW50
aWZpZXIoaWRlbnRpZmllcikKK3sKK30KKwordm9pZCBXZWJSVENSZXNvbHZlcjo6c2V0UmVzb2x2
ZWRBZGRyZXNzKGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMp
Cit7CisgICAgYXV0byBpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyOworICAgIGF1dG8mIGZhY3Rv
cnkgPSBtX3NvY2tldEZhY3Rvcnk7CisKKyAgICBWZWN0b3I8cnRjOjpJUEFkZHJlc3M+IHJ0Y0Fk
ZHJlc3NlczsKKyAgICBydGNBZGRyZXNzZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShhZGRyZXNz
ZXMuc2l6ZSgpKTsKKyAgICBmb3IgKGF1dG8mIGFkZHJlc3MgOiBhZGRyZXNzZXMpCisgICAgICAg
IHJ0Y0FkZHJlc3Nlcy51bmNoZWNrZWRBcHBlbmQoYWRkcmVzcy52YWx1ZSk7CisgICAgCisgICAg
V2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZpZXIs
IHJ0Y0FkZHJlc3NlcyA9IFdURk1vdmUocnRjQWRkcmVzc2VzKV0oKSB7CisgICAgICAgIGF1dG8q
IHJlc29sdmVyID0gZmFjdG9yeS5yZXNvbHZlcihpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFy
ZXNvbHZlcikKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVzb2x2ZXItPnNldFJlc29s
dmVkQWRkcmVzcyhydGNBZGRyZXNzZXMpOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ1Jlc29s
dmVyOjpyZXNvbHZlZEFkZHJlc3NFcnJvcihpbnQgZXJyb3IpCit7CisgICAgYXV0byBpZGVudGlm
aWVyID0gbV9pZGVudGlmaWVyOworICAgIGF1dG8mIGZhY3RvcnkgPSBtX3NvY2tldEZhY3Rvcnk7
CisgICAgV2ViQ29yZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50
aWZpZXIsIGVycm9yXSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIgPSBmYWN0b3J5LnJlc29s
dmVyKGlkZW50aWZpZXIpOworICAgICAgICBpZiAoIXJlc29sdmVyKQorICAgICAgICAgICAgcmV0
dXJuOworICAgICAgICByZXNvbHZlci0+c2V0RXJyb3IoZXJyb3IpOworICAgIH0pOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29s
dmVyLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jl
c29sdmVyLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMC4uMWI4MmVlYzBhODAxNGI1Y2ZiNTFiODlmNWRlYTk5NmExZmY2
MjcwZQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiUlRDTmV0d29y
ay5oIgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBD
b25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk7CisKK2NsYXNzIFdlYlJUQ1Jlc29sdmVyIHsKK3B1
YmxpYzoKKyAgICBXZWJSVENSZXNvbHZlcihMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiwgdWludDY0
X3QpOworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKTsKKworcHJpdmF0ZToKKyAgICB2b2lkIHNldFJlc29sdmVkQWRkcmVzcyhjb25z
dCBWZWN0b3I8UlRDTmV0d29yazo6SVBBZGRyZXNzPiYpOworICAgIHZvaWQgcmVzb2x2ZWRBZGRy
ZXNzRXJyb3IoaW50KTsKKworICAgIExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIG1fc29ja2V0RmFj
dG9yeTsKKyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXIgeyAwIH07Cit9OworCit9IC8vIG5hbWVz
cGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3Nh
Z2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENS
ZXNvbHZlci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MzBjOGQ2Yjg4ODk1ZWUyOWM4ZTlmOGNl
ZTg4Y2U5ZTU4ZmY1Y2NhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsx
LDMwIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQK
KyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisj
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBT
VUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0Uo
TElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBXZWJSVENSZXNvbHZlciB7CisgICAgdm9pZCBTZXRS
ZXNvbHZlZEFkZHJlc3MoVmVjdG9yPFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzPiBhZGRy
ZXNzZXMpCisgICAgdm9pZCBSZXNvbHZlZEFkZHJlc3NFcnJvcihpbnQgZXJyb3IpCit9CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1Mjk1
YzYzMzRkNDA5NmIwOTY4OGRmMWQ5Njk4ZmE5M2FmOWI3ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHAK
QEAgLTAsMCArMSw5NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJXZWJSVENTb2NrZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJE
YXRhUmVmZXJlbmNlLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0LmgiCisjaW5jbHVkZSAi
TGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXRNZXNz
YWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW5jbHVkZSA8d3Rm
L0Z1bmN0aW9uLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYlJUQ1NvY2tldDo6
c2lnbmFsT25OZXR3b3JrVGhyZWFkKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIGZhY3RvcnksIHVp
bnQ2NF90IGlkZW50aWZpZXIsIEZ1bmN0aW9uPHZvaWQoTGliV2ViUlRDU29ja2V0Jik+JiYgY2Fs
bGJhY2spCit7CisgICAgLy8gZmFjdG9yeSBpcyBzdGF5aW5nIHZhbGlkIGR1cmluZyB0aGUgcHJv
Y2VzcyBsaWZldGltZS4KKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFsm
ZmFjdG9yeSwgaWRlbnRpZmllciwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7Cisg
ICAgICAgIGF1dG8qIHNvY2tldCA9IGZhY3Rvcnkuc29ja2V0KGlkZW50aWZpZXIpOworICAgICAg
ICBpZiAoIXNvY2tldCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2FsbGJhY2soKnNv
Y2tldCk7CisgICAgfSk7Cit9CisKK1dlYlJUQ1NvY2tldDo6V2ViUlRDU29ja2V0KExpYldlYlJU
Q1NvY2tldEZhY3RvcnkmIGZhY3RvcnksIHVpbnQ2NF90IGlkZW50aWZpZXIpCisgICAgOiBtX2Zh
Y3RvcnkoZmFjdG9yeSkKKyAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQoreworfQorCit2
b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IFN0cmluZyYgYWRkcmVz
cykKK3sKKyAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIs
IFthZGRyZXNzXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQuc2ln
bmFsQWRkcmVzc1JlYWR5KGFkZHJlc3MpOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ1NvY2tl
dDo6c2lnbmFsUmVhZFBhY2tldChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0
IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0
aW1lc3RhbXApCit7CisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNy
ZWF0ZShkYXRhLmRhdGEoKSwgZGF0YS5zaXplKCkpOworICAgIHNpZ25hbE9uTmV0d29ya1RocmVh
ZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW2J1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgYWRk
cmVzcywgcG9ydCwgdGltZXN0YW1wXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAgICAg
ICBzb2NrZXQuc2lnbmFsUmVhZFBhY2tldChidWZmZXIuZ2V0KCksIHJ0Yzo6U29ja2V0QWRkcmVz
cyhhZGRyZXNzLnZhbHVlLCBwb3J0KSwgdGltZXN0YW1wKTsKKyAgICB9KTsKK30KKwordm9pZCBX
ZWJSVENTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNl
bmRUaW1lTXMpCit7CisgICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVu
dGlmaWVyLCBbcnRjUGFja2V0SUQsIHNlbmRUaW1lTXNdKExpYldlYlJUQ1NvY2tldCYgc29ja2V0
KSB7CisgICAgICAgIHNvY2tldC5zaWduYWxTZW50UGFja2V0KHJ0Y1BhY2tldElELCBzZW5kVGlt
ZU1zKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbENvbm5lY3QoKQor
eworICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW10o
TGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25hbENvbm5lY3Qo
KTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbENsb3NlKGludCBlcnJv
cikKK3sKKyAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIs
IFtlcnJvcl0oTGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25h
bENsb3NlKGVycm9yKTsKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQK
aW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWJjN2NhMzVm
MmVkYzA5YTljNTM5NzNlZjc3YmI5MmIyMDE5ODQ3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmgKQEAgLTAs
MCArMSw2NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJU
QykKKworI2luY2x1ZGUgIlJUQ05ldHdvcmsuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4K
KworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGF0YVJlZmVyZW5j
ZTsKK2NsYXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJX
ZWJSVENTb2NrZXQ7CitjbGFzcyBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OworCitjbGFzcyBXZWJS
VENTb2NrZXQgeworcHVibGljOgorICAgIFdlYlJUQ1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0
b3J5JiwgdWludDY0X3QpOworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5l
Y3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworICAgIHN0YXRpYyB2b2lkIHNpZ25hbE9uTmV0d29y
a1RocmVhZChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiwgdWludDY0X3QsIEZ1bmN0aW9uPHZvaWQo
TGliV2ViUlRDU29ja2V0Jik+JiYpOworCitwcml2YXRlOgorICAgIHZvaWQgc2lnbmFsUmVhZFBh
Y2tldChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJl
c3MmLCB1aW50MTZfdCBwb3J0LCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQo
aW50LCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBTdHJpbmcm
KTsKKyAgICB2b2lkIHNpZ25hbENvbm5lY3QoKTsKKyAgICB2b2lkIHNpZ25hbENsb3NlKGludCk7
CisgICAgCisgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSYgbV9mYWN0b3J5OworICAgIHVpbnQ2
NF90IG1faWRlbnRpZmllciB7IDAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisj
ZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4K
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uOTkzMTc4MTYyNTQwOWNkYTU4MDkwZDVkYTIwMWQwMzRmMDUzMjM5YQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
V2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzMgQEAKKyMgQ29weXJpZ2h0IChD
KSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisj
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMg
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2Vz
IC0+IFdlYlJUQ1NvY2tldCB7CisgICAgU2lnbmFsUmVhZFBhY2tldChJUEM6OkRhdGFSZWZlcmVu
Y2UgZGF0YSwgV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3Qg
cG9ydCwgaW50NjRfdCB0aW1lc3RhbXApCisgICAgU2lnbmFsU2VudFBhY2tldChpbnQgcGFja2V0
U2l6ZSwgaW50NjRfdCB0aW1lc3RhbXApCisgICAgU2lnbmFsQWRkcmVzc1JlYWR5KFN0cmluZyBh
ZGRyZXNzKQorICAgIFNpZ25hbENvbm5lY3QoKQorICAgIFNpZ25hbENsb3NlKGludCBlcnJvcikK
K30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggZjU1YjY0YTU1YTI4ZjA0MWViMWRhZDc2Yjc0
NDhmNDY2ZTI4OGQxZC4uMmNkMjZmMDc1NmRhZWI2Yjg4MGRkM2JiZWZmNDQ0ZTI4M2Q3MDk5ZSAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAt
NDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiSW5q
ZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVNj
cmlwdFdvcmxkLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJM
b2FkUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXRzY2Fw
ZVBsdWdpbi5oIgpAQCAtMTQ3LDcgKzE0OCw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0
b3JDb250cm9sbGVyLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU0RPTVdpbmRvdy5oPgogI2luY2x1
ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRD
UHJvdmlkZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL01haW5GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5o
PgpAQCAtMzczLDcgKzM3Myw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBX
ZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzJiYgcGFyYW1ldGVycykKICAgICBQYWdlQ29uZmlndXJh
dGlvbiBwYWdlQ29uZmlndXJhdGlvbigKICAgICAgICAgbWFrZVVuaXF1ZVJlZjxXZWJFZGl0b3JD
bGllbnQ+KHRoaXMpLAogICAgICAgICBXZWJTb2NrZXRQcm92aWRlcjo6Y3JlYXRlKCksCi0gICAg
ICAgIG1ha2VVbmlxdWVSZWY8V2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXI+KCkKKyAgICAgICAg
bWFrZVVuaXF1ZVJlZjxXZWJLaXQ6OkxpYldlYlJUQ1Byb3ZpZGVyPigpCiAgICAgKTsKICAgICBw
YWdlQ29uZmlndXJhdGlvbi5jaHJvbWVDbGllbnQgPSBuZXcgV2ViQ2hyb21lQ2xpZW50KCp0aGlz
KTsKICNpZiBFTkFCTEUoQ09OVEVYVF9NRU5VUykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuY3BwCmluZGV4IGQ2MzJlYzczNzAwNTdkYjZkNTdlMzQxZTFlODRiNzBiZTE0M2M4
YjIuLjlhZGQ3MDYzMjRiMzhjNGVkMDhkMmJiYWY0YmQ0ZmM2YzAyNWYxYjkgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKKysrIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcApAQCAtMTU0Niw0ICsxNTQ2LDEzIEBAIHZv
aWQgV2ViUHJvY2Vzczo6cHJlZmV0Y2hETlMoY29uc3QgU3RyaW5nJiBob3N0bmFtZSkKICAgICBt
X2Ruc1ByZWZldGNoSHlzdGVyZXJpcy5pbXB1bHNlKCk7CiB9CiAKKyNpZiBVU0UoTElCV0VCUlRD
KQorTGliV2ViUlRDTmV0d29yayYgV2ViUHJvY2Vzczo6bGliV2ViUlRDTmV0d29yaygpCit7Cisg
ICAgaWYgKCFtX2xpYldlYlJUQ05ldHdvcmspCisgICAgICAgIG1fbGliV2ViUlRDTmV0d29yayA9
IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDTmV0d29yaz4oKTsKKyAgICByZXR1cm4gKm1fbGli
V2ViUlRDTmV0d29yazsKK30KKyNlbmRpZgorCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKaW5kZXggNDBmYmM2ZmI4OTFhMjI4YmYxOTU2
OGYxMGY0NGU5NDY1NzJmYTAwZC4uMzIwYjNkOTMwM2NjNjY3NjNlMjZjYzg2ZTRiZTg3Y2IyODdk
OGRmMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmgKQEAgLTI4LDYgKzI4
LDcgQEAKICNpbmNsdWRlICJDYWNoZU1vZGVsLmgiCiAjaW5jbHVkZSAiQ2hpbGRQcm9jZXNzLmgi
CiAjaW5jbHVkZSAiRHJhd2luZ0FyZWEuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENOZXR3b3JrLmgi
CiAjaW5jbHVkZSAiUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgiCiAjaW5jbHVkZSAi
UmVzb3VyY2VDYWNoZXNUb0NsZWFyLmgiCiAjaW5jbHVkZSAiU2FuZGJveEV4dGVuc2lvbi5oIgpA
QCAtMTY1LDYgKzE2NiwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBuZXR3b3JrUHJvY2Vzc0Nvbm5l
Y3Rpb25DbG9zZWQoTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uKik7CiAgICAgV2ViTG9hZGVyU3Ry
YXRlZ3kmIHdlYkxvYWRlclN0cmF0ZWd5KCk7CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIExp
YldlYlJUQ05ldHdvcmsmIGxpYldlYlJUQ05ldHdvcmsoKTsKKyNlbmRpZgorCiAjaWYgRU5BQkxF
KERBVEFCQVNFX1BST0NFU1MpCiAgICAgdm9pZCB3ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rp
b25DbG9zZWQoV2ViVG9EYXRhYmFzZVByb2Nlc3NDb25uZWN0aW9uKik7CiAgICAgV2ViVG9EYXRh
YmFzZVByb2Nlc3NDb25uZWN0aW9uKiB3ZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24oKTsK
QEAgLTM3Nyw2ICszODIsMTEgQEAgcHJpdmF0ZToKICAgICB2b2lkIGVuc3VyZU5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbigpOwogICAgIFJlZlB0cjxOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24+IG1f
bmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOwogICAgIFdlYkxvYWRlclN0cmF0ZWd5JiBtX3dlYkxv
YWRlclN0cmF0ZWd5OworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8
TGliV2ViUlRDTmV0d29yaz4gbV9saWJXZWJSVENOZXR3b3JrOworI2VuZGlmCisKICAgICBIYXNo
U2V0PFN0cmluZz4gbV9kbnNQcmVmZXRjaGVkSG9zdHM7CiAgICAgV2ViQ29yZTo6SHlzdGVyZXNp
c0FjdGl2aXR5IG1fZG5zUHJlZmV0Y2hIeXN0ZXJlcmlzOwogCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300182</attachid>
            <date>2017-01-30 20:07:36 -0800</date>
            <delta_ts>2017-01-31 10:59:58 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-167306-20170130200525.patch</filename>
            <type>text/plain</type>
            <size>168482</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggYTFiZjM1ODFlZjg0OTQ5
NGJhZTFkYWVhMjU3OThiYzA5MjBhNTRmMS4uYmI0Yzk4ODZhZTZjNzVhYWJiNzQ5Y2Y5Nzk4Zjdm
MGZhY2Q1Y2Q0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MiBAQAorMjAxNy0wMS0zMCAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ1NDI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIEltcGxlbWVudGF0aW9uIG9mIHRoZSBMaWJXZWJSVEMgbmV0d29ya2luZyBpbiBXZWJLaXQy
LgorICAgICAgICBUaGUgZm9sbG93aW5nIGZlYXR1cmVzIGFyZSByZXF1aXJlZCB0byBiZSBtb3Zl
ZCBmcm9tIFdlYlByb2Nlc3MgdG8gTmV0d29ya1Byb2Nlc3M6CisgICAgICAgIDEgUmVzb2x1dGlv
biBvZiBETlMgbmFtZXMgKFJUQ1Jlc2lrdmVyKQorICAgICAgICAyIEVudW1lcmF0aW9uIG9mIGlu
dGVyZmFjZXMvZ2F0aGVyaW5nIG9mIGhvc3QgYWRkcmVzc2VzIChSVENNb25pdG9yKQorICAgICAg
ICAzIEltcGxlbWVudGF0aW9uIG9mIFBhY2tldCBTb2NrZXQgZm9yIFRDUC9VRFAgY29tbXVuaWNh
dGlvbiAoUlRDU29ja2V0KS4KKworICAgICAgICBUaGlzIHBhdGNoIGltcGxlbWVudHMgdGhlIHJl
bGF0ZWQgY2xhc3NlcyBpbiBXZWJQcm9jZXNzL05ldHdvcmtQcm9jZXNzIGFuZCB0aGUgaW50ZWdy
YXRpb24gd2l0aCBsaWJ3ZWJydGMuCisgICAgICAgIE5ldHdvcmtQcm9jZXNzIGltcGxlbWVudGF0
aW9uIGlzIHVzaW5nIGxpYndlYmV0YyBmb3IgTmV0d29ya1JUQ01vbml0b3IgYW5kIE5ldHdvcmtS
VENTb2NrZXQuCisgICAgICAgIFRoaXMgZW5zdXJlcyBhbiBhcy1jbG9zZSBpbXBsZW1lbnRhdGlv
biB0byBsaWJ3ZWJydGMgYXMgcG9zc2libGUuCisgICAgICAgIEluIHRoZSBmdXR1cmUsIGFmdGVy
IGdldHRpbmcgYSBiZXR0ZXIgdGVzdCBpbmZyYXN0cnVjdHVyZSB3ZSBzaG91bGQgdHJ5IHRvIGlt
cGxlbWVudCB0aGVzZSB1c2luZyBuYXRpdmUgQVBJcy4KKworICAgICAgICBDdXJyZW50bHksIHRo
ZSBpbXBsZW1lbnRhdGlvbiBpcyBhcyBmb2xsb3c6CisgICAgICAgIC0gbGlid2VicnRjIGlzIGNh
bGxpbmcgV2ViUHJvY2VzcyBzdGFjayBvbiB0aGUgcnRjIG5ldHdvcmsgdGhyZWFkCisgICAgICAg
IC0gV2ViUHJvY2VzcyBzdGFjayBpcyBmb3J3YXJkaW5nIGNhbGxzIHRvIHRoZSBtYWluIHRocmVh
ZCBhbmQgbWFrZXMgcmVsYXRlZCBJUEMgY2FsbHMKKyAgICAgICAgLSBOZXR3b3JrUHJvY2VzcyBy
ZWNlaXZlcyB0aGUgSVBDIGNhbGxzIGFuZCBmb3J3YXJkIHRoZW0gdG8gdGhlIHJ0YyBuZXR3b3Jr
IHRocmVhZC4KKyAgICAgICAgLSBUaGUgY2FsbHMgYXJlIHByb2Nlc3NlZCBpbiB0aGUgcnRjIG5l
dHdvcmsgdGhyZWFkCisgICAgICAgIENvbnZlcnNlbHksIHdoZW4gdGhlIHJ0YyBuZXR3b3JrIHRo
cmVhZCB3YW50cyB0byBub3RpZnkgaXRzIGNsaWVudCwgdGhlIHJldmVyc2UgcGF0aCBpcyB1c2Vk
LgorCisgICAgICAgIFRoaXMgcGF0Y2ggYWxzbyBpbXBsZW1lbnRzIHRoZSBMaWJXZWJSVENQcm92
aWRlciBmb3IgV2ViS2l0Mi4KKyAgICAgICAgVGhpcyBwcm92aWRlciB1c2VzIHRoZSByZWxhdGVk
IGNsYXNzZXMgdG8gY3JlYXRlIGEgcGVlciBjb25uZWN0aW9uIGZhY3RvcnkgdGhhdCB3aWxsIHVz
ZSB0aGVtLgorCisgICAgICAgICogQ01ha2VMaXN0cy50eHQ6CisgICAgICAgICogRGVyaXZlZFNv
dXJjZXMubWFrZToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRv
V2ViUHJvY2Vzcy5jcHA6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQ
cm9jZXNzOjp+TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZU1lc3NhZ2UpOgorICAg
ICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cnRjUHJvdmlkZXIp
OgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xv
c2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9j
ZXNzLmg6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENs
aWVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OkxpYldlYlJUQ1NvY2tldENsaWVudCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tl
dENsaWVudDo6c2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50
OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2V0T3B0
aW9uKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxSZWFk
UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxT
ZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWdu
YWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbENsb3NlKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRD
U29ja2V0Q2xpZW50Lmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9O
ZXR3b3JrUlRDTW9uaXRvci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRD
TW9uaXRvcjo6c3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENNb25p
dG9yOjpzdG9wVXBkYXRpbmcpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDTW9uaXRvcjo6
b25OZXR3b3Jrc0NoYW5nZWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3
b3JrUlRDTW9uaXRvci5oOiBBZGRlZC4KKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMv
TmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdl
YktpdDo6Y3JlYXRlVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVy
OjpOZXR3b3JrUlRDUHJvdmlkZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVV
RFBTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNl
cnZlclRDUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3Jl
YXRlQ2xpZW50VENQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVy
OjphZGRTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OnRha2VT
b2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmRpZFJlY2VpdmVO
ZXR3b3JrUlRDU29ja2V0TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6Y3JlYXRlUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OnN0b3BSZXNvbHZlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6
cmVzb2x2ZWROYW1lKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya01lc3NhZ2VEYXRhOjpOZXR3
b3JrTWVzc2FnZURhdGEpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6Ok9u
TWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y2FsbE9uUlRD
TmV0d29ya1RocmVhZCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y2Fs
bFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6c2VuZEZyb21N
YWluVGhyZWFkKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1By
b3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNy
ZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlkUmVjZWl2ZU5l
dHdvcmtSVENNb25pdG9yTWVzc2FnZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6UmVzb2x2ZXI6OlJlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1By
b3ZpZGVyOjpSZXNvbHZlcjo6flJlc29sdmVyKToKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBO
ZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHA6IEFkZGVkLgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUlRDU29ja2V0OjpOZXR3b3JrUlRDU29ja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TmV0d29ya1JUQ1NvY2tldDo6c2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TmV0
d29ya1JUQ1NvY2tldDo6Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDU29ja2V0
OjpzZXRPcHRpb24pOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
U29ja2V0Lmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDU29ja2V0Lm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29y
ay5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpSVENOZXR3b3JrKToK
KyAgICAgICAgKFdlYktpdDo6aXBzKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6dmFs
dWUpOgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmRlY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzczo6ZW5jb2RlKToKKyAgICAgICAg
KFdlYktpdDo6UlRDTmV0d29yazo6ZGVjb2RlKToKKyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29y
azo6ZW5jb2RlKToKKyAgICAgICAgKiBTaGFyZWQvUlRDTmV0d29yay5oOiBBZGRlZC4KKyAgICAg
ICAgKFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzOjpJUEFkZHJlc3MpOgorICAgICAgICAq
IFdlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvajoKKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcDoKKyAgICAgICAgKFdlYktpdDo6
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZSk6CisgICAgICAgICog
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpMaWJXZWJSVENOZXR3b3JrOjptb25pdG9yKToKKyAgICAgICAgKFdlYktp
dDo6TGliV2ViUlRDTmV0d29yazo6c29ja2V0RmFjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6Okxp
YldlYlJUQ05ldHdvcms6OnNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ05ldHdv
cms6OnJlc29sdmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Byb3Zp
ZGVyOjpjcmVhdGVQZWVyQ29ubmVjdGlvbik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNz
L05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OnNlbmRPbk1haW5UaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNv
bHZlcjo6U3RhcnQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6R2V0UmVz
b2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUmVzb2x2ZXI6OkRlc3Ry
b3kpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6c2V0UmVzb2x2ZWRBZGRy
ZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUmVzb2x2ZXI6OnNldEVycm9yKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmg6IEFk
ZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0
LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OnNlbmRPbk1haW5UaHJlYWQpOgorICAgICAg
ICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6OkxpYldlYlJUQ1NvY2tldCk6CisgICAgICAgIChX
ZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6fkxpYldlYlJUQ1NvY2tldCk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ1NvY2tldDo6R2V0TG9jYWxBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDU29ja2V0OjpHZXRSZW1vdGVBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6TGli
V2ViUlRDU29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkpOgorICAgICAgICAoV2ViS2l0OjpMaWJX
ZWJSVENTb2NrZXQ6OnNpZ25hbFJlYWRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENTb2NrZXQ6OnNpZ25hbFNlbnRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENT
b2NrZXQ6OnNpZ25hbENvbm5lY3QpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6
OnNpZ25hbENsb3NlKToKKyAgICAgICAgKFdlYktpdDo6YXV0aEtleSk6CisgICAgICAgIChXZWJL
aXQ6OkxpYldlYlJUQ1NvY2tldDo6d2lsbFNlbmQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJS
VENTb2NrZXQ6OlNlbmRUbyk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6Q2xv
c2UpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXQ6OkdldE9wdGlvbik6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6U2V0T3B0aW9uKToKKyAgICAgICAgKiBXZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oOiBBZGRlZC4KKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwOiBB
ZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRlU2Vy
dmVyVGNwU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFjdG9yeTo6
Q3JlYXRlVWRwU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFjdG9y
eTo6Q3JlYXRlQ2xpZW50VGNwU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29j
a2V0RmFjdG9yeTo6ZGV0YWNoKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0RmFj
dG9yeTo6Q3JlYXRlQXN5bmNSZXNvbHZlcik6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5Lmg6IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpzZW5kT25NYWluVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDTW9uaXRv
cjo6U3RhcnRVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ01vbml0b3I6OlN0b3BV
cGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ01vbml0b3I6Om5ldHdvcmtzQ2hhbmdl
ZCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmg6
IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRv
ci5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENSZXNvbHZlci5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpXZWJSVENSZXNv
bHZlcjo6V2ViUlRDUmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENSZXNvbHZlcjo6
c2V0UmVzb2x2ZWRBZGRyZXNzKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDUmVzb2x2ZXI6OnJl
c29sdmVkQWRkcmVzc0Vycm9yKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ1Jlc29sdmVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlBy
b2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmNwcDogQWRkZWQuCisgICAgICAgIChX
ZWJLaXQ6OldlYlJUQ1NvY2tldDo6c2lnbmFsT25OZXR3b3JrVGhyZWFkKToKKyAgICAgICAgKFdl
YktpdDo6V2ViUlRDU29ja2V0OjpXZWJSVENTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpXZWJS
VENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1Nv
Y2tldDo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1NvY2tldDo6
c2lnbmFsU2VudFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1NvY2tldDo6c2lnbmFs
Q29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1NvY2tldDo6c2lnbmFsQ2xvc2UpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lmg6IEFkZGVk
LgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3Nh
Z2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHA6
CisgICAgICAgIChXZWJLaXQ6Om1fdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbik6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJv
Y2Vzczo6aW5pdGlhbGl6ZUxpYldlYlJUQyk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQcm9j
ZXNzLmg6CisgICAgICAgIChXZWJLaXQ6OldlYlByb2Nlc3M6OmxpYldlYlJUQyk6CisKIDIwMTct
MDEtMjkgIFlvdWVubiBGYWJsZXQgIDx5b3Vlbm5mQGdtYWlsLmNvbT4KIAogICAgICAgICBTb2Z0
ZW5pbmcgc2FuZGJveApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQg
Yi9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAppbmRleCA0NWI1Yzk2ODdmNDE0MzcyZDVm
YmY3MDNhYmNlNmE0ODkxNDAxZjA4Li4yYTNiNTExZDViNDg2NDZiZGJhMzAzMGI0ZWEzZTdhODA5
MzUzNjE1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dApAQCAtMTAsNiArMTAsNyBAQCBzZXQoV2ViS2l0
Ml9JTkNMVURFX0RJUkVDVE9SSUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNz
L0ZpbGVBUEkiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL2NhY2hlIgogICAg
ICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vzcy9jYXB0dXJlIgorICAgICIke1dFQktJVDJf
RElSfS9OZXR3b3JrUHJvY2Vzcy93ZWJydGMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3Jt
IgogICAgICIke1dFQktJVDJfRElSfS9QbGF0Zm9ybS9JUEMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9
L1BsdWdpblByb2Nlc3MiCkBAIC02NSw2ICs2Niw3IEBAIHNldChXZWJLaXQyX0lOQ0xVREVfRElS
RUNUT1JJRVMKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9NZWRpYUNhY2hlIgogICAg
ICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL01lZGlhU3RyZWFtIgogICAgICIke1dFQktJVDJf
RElSfS9XZWJQcm9jZXNzL05ldHdvcmsiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvTm90aWZpY2F0
aW9ucyIKICAgICAiJHtXRUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIgogICAgICIk
e1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL1BsdWdpbnMiCkBAIC01OTMsNiArNTk1LDEwIEBAIHNl
dChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya1By
b2Nlc3MubWVzc2FnZXMuaW4KICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2Fk
ZXIubWVzc2FnZXMuaW4KIAorICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9u
aXRvci5tZXNzYWdlcy5pbgorICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJv
dmlkZXIubWVzc2FnZXMuaW4KKyAgICBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Nv
Y2tldC5tZXNzYWdlcy5pbgorCiAgICAgUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkubWVzc2FnZXMuaW4KICAgICBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MubWVzc2FnZXMu
aW4KICAgICBQbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBA
IC02NDksNiArNjU1LDEwIEBAIHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAKICAgICBX
ZWJQcm9jZXNzL0ljb25EYXRhYmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5tZXNzYWdlcy5pbgog
CisgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLm1lc3NhZ2VzLmlu
CisgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5p
bgorICAgIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmlu
CisKICAgICBXZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3Nh
Z2VzLmluCiAgICAgV2ViUHJvY2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2Vz
LmluCiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9T
b3VyY2UvV2ViS2l0Mi9EZXJpdmVkU291cmNlcy5tYWtlCmluZGV4IGRjYTRmNTg4ZTE1OGMwMjlk
MmU4YWMyZTFjYmRhMTQ0OGVlNzM0NDguLjFhYzZhZjJhMDMyYjA0YWJlZTQ3NDg3ODBlOGI1ZWQy
MTlhMDJkNTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UK
KysrIGIvU291cmNlL1dlYktpdDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjgsNiArMjgsNyBA
QCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNzIFwKICAgICAkKFdlYktp
dDIpL05ldHdvcmtQcm9jZXNzL0N1c3RvbVByb3RvY29scyBcCiAgICAgJChXZWJLaXQyKS9OZXR3
b3JrUHJvY2Vzcy9tYWMgXAorICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3Mvd2VicnRjIFwK
ICAgICAkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAogICAgICQoV2ViS2l0MikvUGx1Z2luUHJv
Y2Vzcy9tYWMgXAogICAgICQoV2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXApAQCAtNDUsNiArNDYs
NyBAQCBWUEFUSCA9IFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlIFwK
ICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvTWVkaWFDYWNoZSBcCiAgICAgJChXZWJLaXQyKS9X
ZWJQcm9jZXNzL05ldHdvcmsgXAorICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0YyBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMgXAogICAgICQo
V2ViS2l0MikvV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nl
c3MvUGx1Z2lucyBcCkBAIC0xMDAsNiArMTAyLDkgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAg
ICAgTmV0d29ya1Byb2Nlc3MgXAogICAgIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiBcCiAgICAg
TmV0d29ya1Byb2Nlc3NQcm94eSBcCisgICAgTmV0d29ya1JUQ01vbml0b3IgXAorICAgIE5ldHdv
cmtSVENQcm92aWRlciBcCisgICAgTmV0d29ya1JUQ1NvY2tldCBcCiAgICAgTmV0d29ya1Jlc291
cmNlTG9hZGVyIFwKICAgICBQbHVnaW5Db250cm9sbGVyUHJveHkgXAogICAgIFBsdWdpblByb2Nl
c3MgXApAQCAtMTQ5LDYgKzE1NCw5IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFdlYlBy
b2Nlc3NDb25uZWN0aW9uIFwKICAgICBXZWJQcm9jZXNzUG9vbCBcCiAgICAgV2ViUHJvY2Vzc1By
b3h5IFwKKyAgICBXZWJSVENNb25pdG9yIFwKKyAgICBXZWJSVENSZXNvbHZlciBcCisgICAgV2Vi
UlRDU29ja2V0IFwKICAgICBXZWJSZXNvdXJjZUxvYWRlciBcCiAgICAgV2ViUmVzb3VyY2VMb2Fk
U3RhdGlzdGljc1N0b3JlIFwKICAgICBXZWJVc2VyQ29udGVudENvbnRyb2xsZXIgXApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwCmluZGV4IDhhMjdhYjNhMGMyZDVjODJjMjRhNjQzMjQ2YTY2
MGY3ODk5M2VlNzUuLjE0MTYyNDJmMTJlMWExYmYwY2E2NDE5YmYwMzU3MzZhNDAyMWU4MzQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5jcHAKQEAgLTM0LDYgKzM0LDkgQEAKICNpbmNsdWRl
ICJOZXR3b3JrTG9hZC5oIgogI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAi
TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRD
TW9uaXRvck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMu
aCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3
b3JrUmVzb3VyY2VMb2FkUGFyYW1ldGVycy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxv
YWRlci5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCkBAIC02
OCw2ICs3MSwxMCBAQCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6TmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MoSVBDOjpDb25uZWN0aW9uOjpJZAogCiBOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6fk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkKIHsKKyNpZiBV
U0UoTElCV0VCUlRDKQorICAgIGlmIChtX3J0Y1Byb3ZpZGVyKQorICAgICAgICBtX3J0Y1Byb3Zp
ZGVyLT5jbG9zZSgpOworI2VuZGlmCiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3M6OmRpZENsZWFudXBSZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXImIGxv
YWRlcikKQEAgLTc2LDcgKzgzLDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6ZGlkQ2xlYW51cFJlc291cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWQKIAogICAgIG1f
bmV0d29ya1Jlc291cmNlTG9hZGVycy5yZW1vdmUobG9hZGVyLmlkZW50aWZpZXIoKSk7CiB9Ci0g
ICAgCisKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNz
YWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQog
ewogICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpAQCAt
ODUsMTUgKzkyLDM5IEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvCiAgICAgfQogCiAgICAgaWYg
KGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewotICAgICAgICBIYXNoTWFwPFJlc291
cmNlTG9hZElkZW50aWZpZXIsIFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+Pjo6aXRlcmF0
b3IgbG9hZGVySXRlcmF0b3IgPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZmluZChkZWNvZGVy
LmRlc3RpbmF0aW9uSUQoKSk7CisgICAgICAgIGF1dG8gbG9hZGVySXRlcmF0b3IgPSBtX25ldHdv
cmtSZXNvdXJjZUxvYWRlcnMuZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CiAgICAgICAg
IGlmIChsb2FkZXJJdGVyYXRvciAhPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZW5kKCkpCiAg
ICAgICAgICAgICBsb2FkZXJJdGVyYXRvci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3b3JrUmVzb3Vy
Y2VMb2FkZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAg
ICAgfQotICAgIAorCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdl
UmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6Om1lc3NhZ2VSZWNl
aXZlck5hbWUoKSkgeworICAgICAgICBydGNQcm92aWRlcigpLmRpZFJlY2VpdmVOZXR3b3JrUlRD
U29ja2V0TWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5l
dHdvcmtSVENNb25pdG9yOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgcnRjUHJv
dmlkZXIoKS5kaWRSZWNlaXZlTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKGNvbm5lY3Rpb24sIGRl
Y29kZXIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjptZXNzYWdlUmVj
ZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTWVzc2FnZShj
b25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAg
ICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CiB9CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorTmV0d29y
a1JUQ1Byb3ZpZGVyJiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cnRjUHJvdmlkZXIo
KQoreworICAgIGlmICghbV9ydGNQcm92aWRlcikKKyAgICAgICAgbV9ydGNQcm92aWRlciA9IE5l
dHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlKCp0aGlzKTsKKyAgICByZXR1cm4gKm1fcnRjUHJvdmlk
ZXI7Cit9CisjZW5kaWYKKwogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlk
UmVjZWl2ZVN5bmNNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNv
ZGVyJiBkZWNvZGVyLCBzdGQ6OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYgcmVwbHkpCiB7CiAg
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3Jr
Q29ubmVjdGlvblRvV2ViUHJvY2Vzczo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CkBAIC0xMTYs
NiArMTQ3LDEzIEBAIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3Nl
KElQQzo6Q29ubmVjdGlvbiYpCiAKICAgICBOZXR3b3JrQmxvYlJlZ2lzdHJ5OjpzaW5nbGV0b24o
KS5jb25uZWN0aW9uVG9XZWJQcm9jZXNzRGlkQ2xvc2UodGhpcyk7CiAgICAgTmV0d29ya1Byb2Nl
c3M6OnNpbmdsZXRvbigpLnJlbW92ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKHRoaXMp
OworCisjaWYgVVNFKExJQldFQlJUQykKKyAgICBpZiAobV9ydGNQcm92aWRlcikgeworICAgICAg
ICBtX3J0Y1Byb3ZpZGVyLT5jbG9zZSgpOworICAgICAgICBtX3J0Y1Byb3ZpZGVyID0gbnVsbHB0
cjsKKyAgICB9CisjZW5kaWYKIH0KIAogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czo6ZGlkUmVjZWl2ZUludmFsaWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5n
UmVmZXJlbmNlLCBJUEM6OlN0cmluZ1JlZmVyZW5jZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5o
CmluZGV4IDc5NjU2YmE0N2MyMjhiZTAwYTdiMDc3MDI0MjgzNWVkNDU2NTU3YTIuLjk3MjkzMTRk
Njc3ZjkxM2JmMzUxZGZiMDU2MDhmOWI5Y2E4MDk1MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nl
c3MuaApAQCAtMjksNiArMjksOCBAQAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRl
ICJEb3dubG9hZElELmgiCiAjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgorCiAjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZUxvYWRQcmlvcml0eS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVk
Lmg+CiAKQEAgLTcxLDcgKzczLDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJz
LgogICAgIHZvaWQgZGlkUmVjZWl2ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2Fn
ZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVT
eW5jTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYsIHN0ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jik7Ci0gICAgCisK
ICAgICB2b2lkIHNjaGVkdWxlUmVzb3VyY2VMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQ
YXJhbWV0ZXJzJik7CiAgICAgdm9pZCBwZXJmb3JtU3luY2hyb25vdXNMb2FkKGNvbnN0IE5ldHdv
cmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJiwgUmVmPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2Vzczo6UGVyZm9ybVN5bmNocm9ub3VzTG9hZDo6RGVsYXllZFJlcGx5PiYmKTsK
ICAgICB2b2lkIGxvYWRQaW5nKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7
CkBAIC0xMDUsMTAgKzEwNywxOCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbnN1cmVMZWdhY3lQ
cml2YXRlQnJvd3NpbmdTZXNzaW9uKCk7CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIE5ldHdv
cmtSVENQcm92aWRlciYgcnRjUHJvdmlkZXIoKTsKKyNlbmRpZgorICAgIAogICAgIFJlZjxJUEM6
OkNvbm5lY3Rpb24+IG1fY29ubmVjdGlvbjsKIAogICAgIEhhc2hNYXA8UmVzb3VyY2VMb2FkSWRl
bnRpZmllciwgUmVmUHRyPE5ldHdvcmtSZXNvdXJjZUxvYWRlcj4+IG1fbmV0d29ya1Jlc291cmNl
TG9hZGVyczsKICAgICBIYXNoTWFwPFN0cmluZywgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmls
ZVJlZmVyZW5jZT4+IG1fYmxvYkRhdGFGaWxlUmVmZXJlbmNlczsKKworI2lmIFVTRShMSUJXRUJS
VEMpCisgICAgUmVmUHRyPE5ldHdvcmtSVENQcm92aWRlcj4gbV9ydGNQcm92aWRlcjsKKyNlbmRp
ZgogfTsKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjcwNmNmNDZjNDFkMmQ0OGMxMTVmYjM2MzYxM2I0MDI2NDNlZmNkYzIKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGli
V2ViUlRDU29ja2V0Q2xpZW50LmNwcApAQCAtMCwwICsxLDEyNCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRDbGllbnQuaCIKKwor
I2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAi
RGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgorI2luY2x1
ZGUgIldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZm
ZXIuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisK
K0xpYldlYlJUQ1NvY2tldENsaWVudDo6TGliV2ViUlRDU29ja2V0Q2xpZW50KHVpbnQ2NF90IGlk
ZW50aWZpZXIsIE5ldHdvcmtSVENQcm92aWRlciYgcnRjUHJvdmlkZXIsIHN0ZDo6dW5pcXVlX3B0
cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmIHNvY2tldCkKKyAgICA6IG1faWRlbnRpZmllcihp
ZGVudGlmaWVyKQorICAgICwgbV9ydGNQcm92aWRlcihydGNQcm92aWRlcikKKyAgICAsIG1fc29j
a2V0KFdURk1vdmUoc29ja2V0KSkKK3sKKyAgICBpZiAoIW1fc29ja2V0KSB7CisgICAgICAgIHJ0
Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9u
JiBjb25uZWN0aW9uKSB7CisgICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6Oldl
YlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2UoMSksIGlkZW50aWZpZXIpOworICAgICAgICB9KTsKKyAg
ICAgICAgcmV0dXJuOworICAgIH0KKworICAgIG1fc29ja2V0LT5TaWduYWxSZWFkUGFja2V0LmNv
bm5lY3QodGhpcywgJkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsUmVhZFBhY2tldCk7Cisg
ICAgbV9zb2NrZXQtPlNpZ25hbFNlbnRQYWNrZXQuY29ubmVjdCh0aGlzLCAmTGliV2ViUlRDU29j
a2V0Q2xpZW50OjpzaWduYWxTZW50UGFja2V0KTsKKyAgICBtX3NvY2tldC0+U2lnbmFsQWRkcmVz
c1JlYWR5LmNvbm5lY3QodGhpcywgJkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQWRkcmVz
c1JlYWR5KTsKKyAgICBtX3NvY2tldC0+U2lnbmFsQ29ubmVjdC5jb25uZWN0KHRoaXMsICZMaWJX
ZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENvbm5lY3QpOworICAgIG1fc29ja2V0LT5TaWduYWxD
bG9zZS5jb25uZWN0KHRoaXMsICZMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENsb3NlKTsK
K30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNlbmRUbyhjb25zdCBXZWJDb3JlOjpT
aGFyZWRCdWZmZXImIGJ1ZmZlciwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRy
ZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpCit7CisKKyAgICBtX3NvY2tl
dC0+U2VuZFRvKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci5kYXRhKCkp
LCBidWZmZXIuc2l6ZSgpLCBzb2NrZXRBZGRyZXNzLCBvcHRpb25zKTsKK30KKwordm9pZCBMaWJX
ZWJSVENTb2NrZXRDbGllbnQ6OmNsb3NlKCkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXQpOworICAg
IG1fc29ja2V0LT5DbG9zZSgpOworICAgIG1fcnRjUHJvdmlkZXIudGFrZVNvY2tldChtX2lkZW50
aWZpZXIpOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2V0T3B0aW9uKGludCBv
cHRpb24sIGludCB2YWx1ZSkKK3sKKyAgICBBU1NFUlQobV9zb2NrZXQpOworICAgIG1fc29ja2V0
LT5TZXRPcHRpb24oc3RhdGljX2Nhc3Q8cnRjOjpTb2NrZXQ6Ok9wdGlvbj4ob3B0aW9uKSwgdmFs
dWUpOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsUmVhZFBhY2tldChy
dGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgY2hhciogdmFsdWUsIHNpemVfdCBsZW5ndGgs
IGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgYWRkcmVzcywgY29uc3QgcnRjOjpQYWNrZXRUaW1l
JiBwYWNrZXRUaW1lKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAg
ICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVlLCBsZW5n
dGgpOworICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBi
dWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIHBhY2tldFRpbWVdKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YShyZWlu
dGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+c2l6
ZSgpKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNp
Z25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29yazo6SVBBZGRyZXNzKGFkZHJlc3MuaXBhZGRy
KCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZS50aW1lc3RhbXApLCBpZGVudGlmaWVyKTsK
KyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFNlbnRQYWNr
ZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U2VudFBhY2tldCYgc2VudFBh
Y2tldCkKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgbV9ydGNQ
cm92aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIsIHNlbnRQYWNrZXRdKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2Fn
ZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsU2VudFBhY2tldChzZW50UGFja2V0LnBhY2tldF9pZCwg
c2VudFBhY2tldC5zZW5kX3RpbWVfbXMpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKK30KKwordm9p
ZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbEFkZHJlc3NSZWFkeShydGM6OkFzeW5jUGFj
a2V0U29ja2V0KiwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzKQoreworICAgIGF1
dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9t
TWFpblRocmVhZChbaWRlbnRpZmllciwgYWRkcmVzc10oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0
aW9uKSB7CisgICAgICAgIGF1dG8gYWRkcmVzc1N0cmluZyA9IGFkZHJlc3MuVG9TdHJpbmcoKTsK
KyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2NrZXQ6OlNpZ25hbEFk
ZHJlc3NSZWFkeShTdHJpbmcoYWRkcmVzc1N0cmluZy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVu
Z3RoKCkpKSwgaWRlbnRpZmllcik7CisgICAgfSk7Cit9CisKK3ZvaWQgTGliV2ViUlRDU29ja2V0
Q2xpZW50OjpzaWduYWxDb25uZWN0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqKQoreworICAgIGF1
dG8gaWRlbnRpZmllciA9IG1faWRlbnRpZmllcjsKKyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9t
TWFpblRocmVhZChbaWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Cisg
ICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxDb25u
ZWN0KCksIGlkZW50aWZpZXIpOworICAgIH0pOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldENs
aWVudDo6c2lnbmFsQ2xvc2UocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGludCBlcnJvcikKK3sK
KyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgbV9ydGNQcm92aWRlci5z
ZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGVycm9yXShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENTb2Nr
ZXQ6OlNpZ25hbENsb3NlKGVycm9yKSwgaWRlbnRpZmllcik7CisgICAgfSk7CisgICAgbV9ydGNQ
cm92aWRlci50YWtlU29ja2V0KG1faWRlbnRpZmllcik7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuaCBiL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi5kMDgzOTM5M2NhMDJiN2QzZGY3NjAzNzM3MWNjNmYxNWU1MWFiOWZjCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xpYldl
YlJUQ1NvY2tldENsaWVudC5oCkBAIC0wLDAgKzEsNzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJU
Q01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL2FzeW5jcGFja2V0c29ja2V0Lmg+Cisj
aW5jbHVkZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5oPgorCituYW1lc3BhY2UgcnRjIHsKK2NsYXNz
IEFzeW5jUGFja2V0U29ja2V0OworY2xhc3MgU29ja2V0QWRkcmVzczsKK3N0cnVjdCBQYWNrZXRP
cHRpb25zOworc3RydWN0IFBhY2tldFRpbWU7CitzdHJ1Y3QgU2VudFBhY2tldDsKK30KKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2hhcmVkQnVmZmVyOworfQorCituYW1lc3BhY2UgV2Vi
S2l0IHsKKworY2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyOworCitjbGFzcyBMaWJXZWJSVENTb2Nr
ZXRDbGllbnQgZmluYWwgOiBwdWJsaWMgc2lnc2xvdDo6aGFzX3Nsb3RzPD4geworcHVibGljOgor
ICAgIExpYldlYlJUQ1NvY2tldENsaWVudCh1aW50NjRfdCBpZGVudGlmaWVyLCBOZXR3b3JrUlRD
UHJvdmlkZXImLCBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4mJik7CisK
K3ByaXZhdGU6CisgICAgZnJpZW5kIGNsYXNzIE5ldHdvcmtSVENTb2NrZXQ7CisKKyAgICB2b2lk
IGNsb3NlKCk7CisgICAgdm9pZCBzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKTsKKyAg
ICB2b2lkIHNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmKTsKKworICAgIHZvaWQgc2ln
bmFsUmVhZFBhY2tldChydGM6OkFzeW5jUGFja2V0U29ja2V0KiwgY29uc3QgY2hhciosIHNpemVf
dCwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRUaW1lJik7Cisg
ICAgdm9pZCBzaWduYWxTZW50UGFja2V0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBy
dGM6OlNlbnRQYWNrZXQmKTsKKyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShydGM6OkFzeW5j
UGFja2V0U29ja2V0KiwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJik7CisgICAgdm9pZCBzaWdu
YWxDb25uZWN0KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqKTsKKyAgICB2b2lkIHNpZ25hbENsb3Nl
KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBpbnQpOworCisgICAgdWludDY0X3QgbV9pZGVudGlm
aWVyOworICAgIE5ldHdvcmtSVENQcm92aWRlciYgbV9ydGNQcm92aWRlcjsKKyAgICBzdGQ6OnVu
aXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gbV9zb2NrZXQ7Cit9OworCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3Bw
IGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9y
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lMzBiNWViMDcwMWI4NTVlNjQxN2FhMDJmN2M0NDU5ZWE4MWI2YmM1
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENNb25pdG9yLmNwcApAQCAtMCwwICsxLDgzIEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENNb25pdG9yLmgiCisKKyNpZiBV
U0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk5ldHdv
cmtSVENQcm92aWRlci5oIgorI2luY2x1ZGUgIldlYlJUQ01vbml0b3JNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwordm9pZCBOZXR3
b3JrUlRDTW9uaXRvcjo6c3RhcnRVcGRhdGluZygpCit7CisgICAgbV9pc1N0YXJ0ZWQgPSB0cnVl
OworICAgIG1fcnRjUHJvdmlkZXIuY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpc10oKSB7Cisg
ICAgICAgIG1fbWFuYWdlciA9IHN0ZDo6bWFrZV91bmlxdWU8cnRjOjpCYXNpY05ldHdvcmtNYW5h
Z2VyPigpOworICAgICAgICBtX21hbmFnZXItPlNpZ25hbE5ldHdvcmtzQ2hhbmdlZC5jb25uZWN0
KHRoaXMsICZOZXR3b3JrUlRDTW9uaXRvcjo6b25OZXR3b3Jrc0NoYW5nZWQpOworICAgICAgICBt
X21hbmFnZXItPlN0YXJ0VXBkYXRpbmcoKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRD
TW9uaXRvcjo6c3RvcFVwZGF0aW5nKCkKK3sKKyAgICBtX2lzU3RhcnRlZCA9IGZhbHNlOworICAg
IG1fcnRjUHJvdmlkZXIuY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpc10oKSB7CisgICAgICAg
IG1fbWFuYWdlci0+U3RvcFVwZGF0aW5nKCk7CisgICAgICAgIG1fbWFuYWdlciA9IG51bGxwdHI7
CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ01vbml0b3I6Om9uTmV0d29ya3NDaGFuZ2Vk
KCkKK3sKKyAgICBydGM6OkJhc2ljTmV0d29ya01hbmFnZXI6Ok5ldHdvcmtMaXN0IG5ldHdvcmtz
OworICAgIG1fbWFuYWdlci0+R2V0TmV0d29ya3MoJm5ldHdvcmtzKTsKKworICAgIFJUQ05ldHdv
cms6OklQQWRkcmVzcyBpcHY0OworICAgIG1fbWFuYWdlci0+R2V0RGVmYXVsdExvY2FsQWRkcmVz
cyhBRl9JTkVULCAmaXB2NC52YWx1ZSk7CisgICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIGlwdjY7
CisgICAgbV9tYW5hZ2VyLT5HZXREZWZhdWx0TG9jYWxBZGRyZXNzKEFGX0lORVQ2LCAmaXB2Ni52
YWx1ZSk7CisKKyAgICBWZWN0b3I8UlRDTmV0d29yaz4gbmV0d29ya0xpc3Q7CisgICAgbmV0d29y
a0xpc3QucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShuZXR3b3Jrcy5zaXplKCkpOworICAgIGZvciAo
YXV0byogbmV0d29yayA6IG5ldHdvcmtzKSB7CisgICAgICAgIEFTU0VSVChuZXR3b3JrKTsKKyAg
ICAgICAgbmV0d29ya0xpc3QudW5jaGVja2VkQXBwZW5kKFJUQ05ldHdvcmsgeyAqbmV0d29yayB9
KTsKKyAgICB9CisKKyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbdGhpcywg
bmV0d29ya0xpc3QgPSBXVEZNb3ZlKG5ldHdvcmtMaXN0KSwgaXB2NCA9IFdURk1vdmUoaXB2NCks
IGlwdjYgPSBXVEZNb3ZlKGlwdjYpXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAg
ICAgICAgaWYgKCFtX2lzU3RhcnRlZCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY29u
bmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpXZWJSVENNb25pdG9yOjpOZXR3b3Jrc0NoYW5nZWQobmV0
d29ya0xpc3QsIGlwdjQsIGlwdjYpLCAwKTsKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4wZTA3ZDg0Yjc5ODQ1YTMxZTgwODg1YjllYmVkZDZmZGEwOTk5ODRmCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENN
b25pdG9yLmgKQEAgLTAsMCArMSw2MyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIldlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmgi
CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0d29yay5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNl
L3NpZ3Nsb3QuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS90aHJlYWQuaD4KKworbmFtZXNwYWNl
IElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2NsYXNzIE5ldHdvcmtSVENQcm92aWRlcjsKKworY2xhc3MgTmV0d29ya1JU
Q01vbml0b3IgZmluYWwgOiBwdWJsaWMgc2lnc2xvdDo6aGFzX3Nsb3RzPD4geworcHVibGljOgor
ICAgIGV4cGxpY2l0IE5ldHdvcmtSVENNb25pdG9yKE5ldHdvcmtSVENQcm92aWRlciYgcnRjUHJv
dmlkZXIpIDogbV9ydGNQcm92aWRlcihydGNQcm92aWRlcikgeyB9CisKKyAgICB2b2lkIGRpZFJl
Y2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworICAgIHZvaWQg
c3RvcFVwZGF0aW5nKCk7CisKK3ByaXZhdGU6CisgICAgdm9pZCBzdGFydFVwZGF0aW5nKCk7CisK
KyAgICB2b2lkIG9uTmV0d29ya3NDaGFuZ2VkKCk7CisKKyAgICBOZXR3b3JrUlRDUHJvdmlkZXIm
IG1fcnRjUHJvdmlkZXI7CisgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QmFzaWNOZXR3b3JrTWFu
YWdlcj4gbV9tYW5hZ2VyOworICAgIGJvb2wgbV9pc1N0YXJ0ZWQgeyBmYWxzZSB9OworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25p
dG9yLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENNb25pdG9yLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjUxYjE1ZGQyODNmNTMwZWMw
N2FjODFjMGZjMDkyZDhiZDcwMmY2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMuaW4KQEAg
LTAsMCArMSwzMCBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEu
ICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMg
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJ
TVBMSUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVO
VElBTAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisj
aWYgVVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTmV0d29ya1JUQ01vbml0b3IgeworICAg
IHZvaWQgU3RhcnRVcGRhdGluZygpCisgICAgdm9pZCBTdG9wVXBkYXRpbmcoKQorfQorCisjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDBi
NjVlYWJlYTQ0MmIzMTg0ZGI2ZTc5ZDUxY2RkZjdjMTM5MDkwZAotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIu
Y3BwCkBAIC0wLDAgKzEsMjIwIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKwor
I2luY2x1ZGUgIk5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgiCisjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3MuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0LmgiCisjaW5jbHVkZSAi
V2ViUlRDUmVzb2x2ZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFj
cm9zLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvYXN5bmNwYWNrZXRzb2NrZXQuaD4KKyNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgor
CituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGlubGluZSBzdGQ6OnVuaXF1ZV9wdHI8cnRj
OjpUaHJlYWQ+IGNyZWF0ZVRocmVhZCgpCit7CisgICAgYXV0byB0aHJlYWQgPSBydGM6OlRocmVh
ZDo6Q3JlYXRlV2l0aFNvY2tldFNlcnZlcigpOworICAgIGF1dG8gcmVzdWx0ID0gdGhyZWFkLT5T
dGFydCgpOworICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQpOworICAgIC8vIEZJWE1F
OiBTZXQgdGhyZWFkIG5hbWUuCisgICAgcmV0dXJuIHRocmVhZDsKK30KKworTmV0d29ya1JUQ1By
b3ZpZGVyOjpOZXR3b3JrUlRDUHJvdmlkZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mm
IGNvbm5lY3Rpb24pCisgICAgOiBtX2Nvbm5lY3Rpb24oJmNvbm5lY3Rpb24pCisgICAgLCBtX3J0
Y01vbml0b3IoKnRoaXMpCisgICAgLCBtX3J0Y05ldHdvcmtUaHJlYWQoY3JlYXRlVGhyZWFkKCkp
CisgICAgLCBtX3BhY2tldFNvY2tldEZhY3RvcnkobWFrZVVuaXF1ZVJlZjxydGM6OkJhc2ljUGFj
a2V0U29ja2V0RmFjdG9yeT4obV9ydGNOZXR3b3JrVGhyZWFkLmdldCgpKSkKK3sKK30KKwordm9p
ZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNsb3NlKCkKK3sKKyAgICBtX2Nvbm5lY3Rpb24gPSBudWxs
cHRyOworICAgIG1fcmVzb2x2ZXJzLmNsZWFyKCk7CisgICAgbV9ydGNNb25pdG9yLnN0b3BVcGRh
dGluZygpOworCisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpc10oKSB7CisgICAgICAg
IG1fc29ja2V0cy5jbGVhcigpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRl
cjo6Y3JlYXRlVURQU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgYWRk
cmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKK3sKKyAgICBydGM6OlNv
Y2tldEFkZHJlc3Mgc29ja2V0QWRkcmVzczsKKyAgICBzb2NrZXRBZGRyZXNzLkZyb21TdHJpbmco
YWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKworICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQoW3Ro
aXMsIGlkZW50aWZpZXIsIHNvY2tldEFkZHJlc3MsIG1pblBvcnQsIG1heFBvcnRdKCkgeworICAg
ICAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpBc3luY1BhY2tldFNvY2tldD4gc29ja2V0KG1fcGFj
a2V0U29ja2V0RmFjdG9yeS0+Q3JlYXRlVWRwU29ja2V0KHNvY2tldEFkZHJlc3MsIG1pblBvcnQs
IG1heFBvcnQpKTsKKyAgICAgICAgYWRkU29ja2V0KGlkZW50aWZpZXIsIHN0ZDo6bWFrZV91bmlx
dWU8TGliV2ViUlRDU29ja2V0Q2xpZW50PihpZGVudGlmaWVyLCAqdGhpcywgV1RGTW92ZShzb2Nr
ZXQpKSk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVTZXJ2
ZXJUQ1BTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBhZGRyZXNzLCB1
aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0LCBpbnQgb3B0aW9ucykKK3sKKyAgICBy
dGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0QWRkcmVzczsKKyAgICBzb2NrZXRBZGRyZXNzLkZyb21T
dHJpbmcoYWRkcmVzcy51dGY4KCkuZGF0YSgpKTsKKyAgICAKKyAgICBjYWxsT25SVENOZXR3b3Jr
VGhyZWFkKFt0aGlzLCBpZGVudGlmaWVyLCBzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0
LCBvcHRpb25zXSgpIHsKKyAgICAgICAgc3RkOjp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRT
b2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tldEZhY3RvcnktPkNyZWF0ZVNlcnZlclRjcFNvY2tl
dChzb2NrZXRBZGRyZXNzLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zKSk7CisgICAgICAgIGFk
ZFNvY2tldChpZGVudGlmaWVyLCBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1NvY2tldENsaWVu
dD4oaWRlbnRpZmllciwgKnRoaXMsIFdURk1vdmUoc29ja2V0KSkpOworICAgIH0pOworfQorCit2
b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRlQ2xpZW50VENQU29ja2V0KHVpbnQ2NF90IGlk
ZW50aWZpZXIsIGNvbnN0IFN0cmluZyYgbG9jYWxBZGRyZXNzLCBjb25zdCBTdHJpbmcmIHJlbW90
ZUFkZHJlc3MsIGludCBvcHRpb25zKQoreworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2NrZXRM
b2NhbEFkZHJlc3M7CisgICAgc29ja2V0TG9jYWxBZGRyZXNzLkZyb21TdHJpbmcobG9jYWxBZGRy
ZXNzLnV0ZjgoKS5kYXRhKCkpOworICAgIAorICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2NrZXRS
ZW1vdGVBZGRyZXNzOworICAgIHNvY2tldFJlbW90ZUFkZHJlc3MuRnJvbVN0cmluZyhyZW1vdGVB
ZGRyZXNzLnV0ZjgoKS5kYXRhKCkpOworICAgIAorICAgIGNhbGxPblJUQ05ldHdvcmtUaHJlYWQo
W3RoaXMsIGlkZW50aWZpZXIsIHNvY2tldExvY2FsQWRkcmVzcywgc29ja2V0UmVtb3RlQWRkcmVz
cywgb3B0aW9uc10oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0
U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVDbGllbnRUY3BTb2Nr
ZXQoc29ja2V0TG9jYWxBZGRyZXNzLCBzb2NrZXRSZW1vdGVBZGRyZXNzLCB7IH0sIHsgfSwgb3B0
aW9ucykpOworICAgICAgICBhZGRTb2NrZXQoaWRlbnRpZmllciwgc3RkOjptYWtlX3VuaXF1ZTxM
aWJXZWJSVENTb2NrZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlzLCBXVEZNb3ZlKHNvY2tldCkp
KTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmFkZFNvY2tldCh1aW50
NjRfdCBpZGVudGlmaWVyLCBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDU29ja2V0Q2xpZW50PiYm
IHNvY2tldCkKK3sKKyAgICBtX3NvY2tldHMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUoc29ja2V0
KSk7Cit9CisKK3N0ZDo6dW5pcXVlX3B0cjxMaWJXZWJSVENTb2NrZXRDbGllbnQ+IE5ldHdvcmtS
VENQcm92aWRlcjo6dGFrZVNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKQoreworICAgIHJldHVy
biBtX3NvY2tldHMudGFrZShpZGVudGlmaWVyKTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6OmRpZFJlY2VpdmVOZXR3b3JrUlRDU29ja2V0TWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mIGNv
bm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKK3sKKyAgICBOZXR3b3JrUlRDU29ja2V0
KGRlY29kZXIuZGVzdGluYXRpb25JRCgpLCAqdGhpcykuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVj
dGlvbiwgZGVjb2Rlcik7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVSZXNv
bHZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MpCit7CisgICAg
Q0ZIb3N0UmVmIGhvc3QgPSBDRkhvc3RDcmVhdGVXaXRoTmFtZShrQ0ZBbGxvY2F0b3JEZWZhdWx0
LCBhZGRyZXNzLmNyZWF0ZUNGU3RyaW5nKCkuZ2V0KCkpOworICAgIEFTU0VSVChob3N0KTsKKyAg
ICAKKyAgICBhdXRvIHJlc29sdmVyID0gc3RkOjptYWtlX3VuaXF1ZTxSZXNvbHZlcj4oaWRlbnRp
ZmllciwgKnRoaXMsIGhvc3QpOworICAgIAorICAgIENGSG9zdENsaWVudENvbnRleHQgY29udGV4
dDsKKyAgICBjb250ZXh0LnZlcnNpb24gPSAwOworICAgIGNvbnRleHQuaW5mbyA9IHJlc29sdmVy
LmdldCgpOworICAgIGNvbnRleHQuY29weURlc2NyaXB0aW9uID0gbnVsbHB0cjsKKyAgICBjb250
ZXh0LnJlbGVhc2UgPSBudWxscHRyOworICAgIGNvbnRleHQucmV0YWluID0gbnVsbHB0cjsKKyAg
ICAKKyAgICBDRkhvc3RTZXRDbGllbnQoaG9zdCwgTmV0d29ya1JUQ1Byb3ZpZGVyOjpyZXNvbHZl
ZE5hbWUsICZjb250ZXh0KTsKKyAgICBDRkhvc3RTY2hlZHVsZVdpdGhSdW5Mb29wKGhvc3QsIENG
UnVuTG9vcEdldEN1cnJlbnQoKSwga0NGUnVuTG9vcERlZmF1bHRNb2RlKTsKKyAgICBCb29sZWFu
IHJlc3VsdCA9IENGSG9zdFN0YXJ0SW5mb1Jlc29sdXRpb24oaG9zdCwga0NGSG9zdEFkZHJlc3Nl
cywgbnVsbHB0cik7CisgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdCk7CisgICAgCisg
ICAgbV9yZXNvbHZlcnMuYWRkKGlkZW50aWZpZXIsIFdURk1vdmUocmVzb2x2ZXIpKTsKK30KKwor
dm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OnN0b3BSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVy
KQoreworICAgIGF1dG8gcmVzb2x2ZXIgPSBtX3Jlc29sdmVycy50YWtlKGlkZW50aWZpZXIpOwor
ICAgIGlmIChyZXNvbHZlcikKKyAgICAgICAgQ0ZIb3N0Q2FuY2VsSW5mb1Jlc29sdXRpb24ocmVz
b2x2ZXItPmhvc3QsIENGSG9zdEluZm9UeXBlOjprQ0ZIb3N0QWRkcmVzc2VzKTsKK30KKyAgICAK
K3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpyZXNvbHZlZE5hbWUoQ0ZIb3N0UmVmIGhvc3RSZWYs
IENGSG9zdEluZm9UeXBlIHR5cGVJbmZvLCBjb25zdCBDRlN0cmVhbUVycm9yICplcnJvciwgdm9p
ZCAqaW5mbykKK3sKKyAgICBBU1NFUlRfVU5VU0VEKHR5cGVJbmZvLCAhdHlwZUluZm8pOworICAg
IAorICAgIGlmIChlcnJvci0+ZG9tYWluKSB7CisgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRvIGhh
bmRsZSBmYWlsdXJlLCBidXQgaW5mbyBpcyBub3QgcHJvdmlkZWQgaW4gdGhlIGNhbGxiYWNrLgor
ICAgICAgICByZXR1cm47CisgICAgfQorICAgIAorICAgIEFTU0VSVChpbmZvKTsKKyAgICBhdXRv
KiByZXNvbHZlckluZm8gPSBzdGF0aWNfY2FzdDxSZXNvbHZlcio+KGluZm8pOworICAgIGF1dG8g
cmVzb2x2ZXIgPSByZXNvbHZlckluZm8tPnJ0Y1Byb3ZpZGVyLm1fcmVzb2x2ZXJzLnRha2UocmVz
b2x2ZXJJbmZvLT5pZGVudGlmaWVyKTsKKyAgICBpZiAoIXJlc29sdmVyKQorICAgICAgICByZXR1
cm47CisgICAgCisgICAgQm9vbGVhbiByZXN1bHQ7CisgICAgQ0ZBcnJheVJlZiByZXNvbHZlZEFk
ZHJlc3NlcyA9IChDRkFycmF5UmVmKUNGSG9zdEdldEFkZHJlc3NpbmcoaG9zdFJlZiwgJnJlc3Vs
dCk7CisgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdCk7CisgICAgCisgICAgc2l6ZV90
IGNvdW50ID0gQ0ZBcnJheUdldENvdW50KHJlc29sdmVkQWRkcmVzc2VzKTsKKyAgICBWZWN0b3I8
UlRDTmV0d29yazo6SVBBZGRyZXNzPiBhZGRyZXNzZXM7CisgICAgYWRkcmVzc2VzLnJlc2VydmVJ
bml0aWFsQ2FwYWNpdHkoY291bnQpOworICAgIAorICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsg
aW5kZXggPCBjb3VudDsgKytpbmRleCkgeworICAgICAgICBDRkRhdGFSZWYgZGF0YSA9IChDRkRh
dGFSZWYpQ0ZBcnJheUdldFZhbHVlQXRJbmRleChyZXNvbHZlZEFkZHJlc3NlcywgaW5kZXgpOwor
ICAgICAgICBhdXRvKiBhZGRyZXNzID0gcmVpbnRlcnByZXRfY2FzdDxjb25zdCBzdHJ1Y3Qgc29j
a2FkZHJfaW4qPihDRkRhdGFHZXRCeXRlUHRyKGRhdGEpKTsKKyAgICAgICAgYWRkcmVzc2VzLnVu
Y2hlY2tlZEFwcGVuZChSVENOZXR3b3JrOjpJUEFkZHJlc3MocnRjOjpJUEFkZHJlc3MoYWRkcmVz
cy0+c2luX2FkZHIpKSk7CisgICAgfQorICAgIEFTU0VSVChyZXNvbHZlci0+cnRjUHJvdmlkZXIu
bV9jb25uZWN0aW9uKTsKKyAgICByZXNvbHZlci0+cnRjUHJvdmlkZXIubV9jb25uZWN0aW9uLT5j
b25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6V2ViUlRDUmVzb2x2ZXI6OlNldFJlc29sdmVkQWRk
cmVzcyhhZGRyZXNzZXMpLCByZXNvbHZlci0+aWRlbnRpZmllcik7Cit9CisKK3N0cnVjdCBOZXR3
b3JrTWVzc2FnZURhdGEgOiBwdWJsaWMgcnRjOjpNZXNzYWdlRGF0YSB7CisgICAgTmV0d29ya01l
c3NhZ2VEYXRhKFJlZjxOZXR3b3JrUlRDUHJvdmlkZXI+JiYgcnRjUHJvdmlkZXIsIEZ1bmN0aW9u
PHZvaWQoKT4mJiBjYWxsYmFjaykKKyAgICAgICAgOiBydGNQcm92aWRlcihXVEZNb3ZlKHJ0Y1By
b3ZpZGVyKSkKKyAgICAgICAgLCBjYWxsYmFjayhXVEZNb3ZlKGNhbGxiYWNrKSkKKyAgICB7IH0K
KyAgICBSZWY8TmV0d29ya1JUQ1Byb3ZpZGVyPiBydGNQcm92aWRlcjsKKyAgICBGdW5jdGlvbjx2
b2lkKCk+IGNhbGxiYWNrOworfTsKKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6Ok9uTWVzc2Fn
ZShydGM6Ok1lc3NhZ2UqIG1lc3NhZ2UpCit7CisgICAgQVNTRVJUKG1lc3NhZ2UtPm1lc3NhZ2Vf
aWQgPT0gMSk7CisgICAgc3RhdGljX2Nhc3Q8TmV0d29ya01lc3NhZ2VEYXRhKj4obWVzc2FnZS0+
cGRhdGEpLT5jYWxsYmFjaygpOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6Y2FsbE9u
UlRDTmV0d29ya1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYgY2FsbGJhY2spCit7CisgICAgbV9y
dGNOZXR3b3JrVGhyZWFkLT5Qb3N0KFJUQ19GUk9NX0hFUkUsIHRoaXMsIDEsIG5ldyBOZXR3b3Jr
TWVzc2FnZURhdGEoKnRoaXMsIFdURk1vdmUoY2FsbGJhY2spKSk7Cit9CisKK3ZvaWQgTmV0d29y
a1JUQ1Byb3ZpZGVyOjpjYWxsU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIEZ1bmN0aW9uPHZv
aWQoTGliV2ViUlRDU29ja2V0Q2xpZW50Jik+JiYgY2FsbGJhY2spCit7CisgICAgY2FsbE9uUlRD
TmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxi
YWNrKV0oKSB7CisgICAgICAgIGlmIChhdXRvKiBzb2NrZXQgPSBtX3NvY2tldHMuZ2V0KGlkZW50
aWZpZXIpKQorICAgICAgICAgICAgY2FsbGJhY2soKnNvY2tldCk7CisgICAgfSk7Cit9CisKK3Zv
aWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kRnJvbU1haW5UaHJlYWQoRnVuY3Rpb248dm9pZChJ
UEM6OkNvbm5lY3Rpb24mKT4mJiBjYWxsYmFjaykKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFtw
cm92aWRlciA9IG1ha2VSZWYoKnRoaXMpLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgp
IHsKKyAgICAgICAgaWYgKHByb3ZpZGVyLT5tX2Nvbm5lY3Rpb24pCisgICAgICAgICAgICBjYWxs
YmFjayhwcm92aWRlci0+bV9jb25uZWN0aW9uLT5jb25uZWN0aW9uKCkpOworICAgIH0pOworfQor
ICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtS
VENQcm92aWRlci5oIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENQcm92aWRlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjcwMGMzOGZiNDc3NjQ4OWFmOGM1YTc0YjhmNDdh
MzdiNTgwMWM2ZDgKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmgKQEAgLTAsMCArMSwxMDggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJM
aWJXZWJSVENTb2NrZXRDbGllbnQuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDTW9uaXRvci5oIgor
I2luY2x1ZGUgPENGTmV0d29yay9DRkhvc3QuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJU
Q01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL3NpZ3Nsb3QuaD4KKyNpbmNsdWRlIDx3
ZWJydGMvcDJwL2Jhc2UvYmFzaWNwYWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3Rm
L0hhc2hNYXAuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkU2FmZVJlZkNvdW50ZWQuaD4KKyNpbmNs
dWRlIDx3dGYvVW5pcXVlUmVmLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisK
K25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Cit9CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vz
czsKK2NsYXNzIE5ldHdvcmtSVENTb2NrZXQ7CisgICAgCitjbGFzcyBOZXR3b3JrUlRDUHJvdmlk
ZXIgOiBwdWJsaWMgVGhyZWFkU2FmZVJlZkNvdW50ZWQ8TmV0d29ya1JUQ1Byb3ZpZGVyPiwgcHVi
bGljIHJ0Yzo6TWVzc2FnZUhhbmRsZXIgeworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TmV0d29y
a1JUQ1Byb3ZpZGVyPiBjcmVhdGUoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmIGNvbm5l
Y3Rpb24pIHsgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTmV0d29ya1JUQ1Byb3ZpZGVyKGNvbm5lY3Rp
b24pKTsgfQorCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJ
UEM6OkRlY29kZXImKTsKKyAgICB2b2lkIGRpZFJlY2VpdmVOZXR3b3JrUlRDTW9uaXRvck1lc3Nh
Z2UoSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpIHsg
bV9ydGNNb25pdG9yLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOyB9Cisg
ICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2UoSVBDOjpDb25uZWN0aW9u
JiwgSVBDOjpEZWNvZGVyJik7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDU29ja2V0
Q2xpZW50PiB0YWtlU29ja2V0KHVpbnQ2NF90KTsKKyAgICB2b2lkIHJlc29sdmVyRG9uZSh1aW50
NjRfdCk7CisKKyAgICB2b2lkIGNsb3NlKCk7CisKKyAgICB2b2lkIGNhbGxTb2NrZXQodWludDY0
X3QsIEZ1bmN0aW9uPHZvaWQoTGliV2ViUlRDU29ja2V0Q2xpZW50Jik+JiYpOworICAgIHZvaWQg
Y2FsbE9uUlRDTmV0d29ya1RocmVhZChGdW5jdGlvbjx2b2lkKCk+JiYpOworICAgIHZvaWQgc2Vu
ZEZyb21NYWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25uZWN0aW9uJik+JiYpOworCitw
cml2YXRlOgorICAgIGV4cGxpY2l0IE5ldHdvcmtSVENQcm92aWRlcihOZXR3b3JrQ29ubmVjdGlv
blRvV2ViUHJvY2VzcyYpOworCisgICAgdm9pZCBjcmVhdGVVRFBTb2NrZXQodWludDY0X3QsIGNv
bnN0IFN0cmluZyYsIHVpbnQxNl90LCB1aW50MTZfdCk7CisgICAgdm9pZCBjcmVhdGVDbGllbnRU
Q1BTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYsIGludCk7Cisg
ICAgdm9pZCBjcmVhdGVTZXJ2ZXJUQ1BTb2NrZXQodWludDY0X3QsIGNvbnN0IFN0cmluZyYsIHVp
bnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCk7CisgICAgdm9pZCBjcmVhdGVS
ZXNvbHZlcih1aW50NjRfdCwgY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzdG9wUmVzb2x2ZXIo
dWludDY0X3QpOworCisgICAgdm9pZCBhZGRTb2NrZXQodWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0
cjxMaWJXZWJSVENTb2NrZXRDbGllbnQ+JiYpOworCisgICAgdm9pZCBPbk1lc3NhZ2UocnRjOjpN
ZXNzYWdlKik7CisKKyAgICBzdGF0aWMgdm9pZCByZXNvbHZlZE5hbWUoQ0ZIb3N0UmVmLCBDRkhv
c3RJbmZvVHlwZSwgY29uc3QgQ0ZTdHJlYW1FcnJvciosIHZvaWQqKTsKKworICAgIHN0cnVjdCBS
ZXNvbHZlciB7CisgICAgICAgIFJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIE5ldHdvcmtS
VENQcm92aWRlciYgcnRjUHJvdmlkZXIsIFJldGFpblB0cjxDRkhvc3RSZWY+JiYgaG9zdCkKKyAg
ICAgICAgICAgIDogaWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICAgICAgICAgLCBydGNQcm92
aWRlcihydGNQcm92aWRlcikKKyAgICAgICAgICAgICwgaG9zdChXVEZNb3ZlKGhvc3QpKSB7IH0K
KyAgICAgICAgflJlc29sdmVyKCkgeyBDRlJlbGVhc2UoaG9zdCk7IH0KKworICAgICAgICB1aW50
NjRfdCBpZGVudGlmaWVyOworICAgICAgICBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVy
OworICAgICAgICBDRkhvc3RSZWYgaG9zdDsKKyAgICB9OworCisgICAgSGFzaE1hcDx1aW50NjRf
dCwgc3RkOjp1bmlxdWVfcHRyPFJlc29sdmVyPj4gbV9yZXNvbHZlcnM7CisgICAgSGFzaE1hcDx1
aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ1NvY2tldENsaWVudD4+IG1fc29ja2V0
czsKKyAgICBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyogbV9jb25uZWN0aW9uOworICAg
IGJvb2wgbV9pc1N0YXJ0ZWQgeyB0cnVlIH07CisKKyAgICBOZXR3b3JrUlRDTW9uaXRvciBtX3J0
Y01vbml0b3I7CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpUaHJlYWQ+IG1fcnRjTmV0d29y
a1RocmVhZDsKKyAgICBVbmlxdWVSZWY8cnRjOjpCYXNpY1BhY2tldFNvY2tldEZhY3Rvcnk+IG1f
cGFja2V0U29ja2V0RmFjdG9yeTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmlu
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLjBmNjZjYTk4OGM2YWUxZDJiYzJkMjJlMDMzMjM4YTZmMjM3OWUxZWQKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzMgQEAKKyMgQ29weXJpZ2h0
IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4g
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisj
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IK
KyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3Nh
Z2VzIC0+IE5ldHdvcmtSVENQcm92aWRlciB7CisgICAgQ3JlYXRlVURQU29ja2V0KGludCBpZGVu
dGlmaWVyLCBTdHJpbmcgbG9jYWxBZGRyZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBt
YXhQb3J0KQorICAgIENyZWF0ZVNlcnZlclRDUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5n
IGxvY2FsQWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9w
dGlvbnMpCisgICAgQ3JlYXRlQ2xpZW50VENQU29ja2V0KGludCBpZGVudGlmaWVyLCBTdHJpbmcg
bG9jYWxBZGRyZXNzLCBTdHJpbmcgcmVtb3RlQWRkcmVzcywgaW50IG9wdGlvbnMpCisgICAgQ3Jl
YXRlUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllciwgU3RyaW5nIGFkZHJlc3MpCisgICAgU3Rv
cFJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENTb2NrZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmVjMDllMzBiYzNkMjZkNDgyOGIxZWE4
OGExYmQyODRlMDMzOTJjODYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHAKQEAgLTAsMCArMSw4MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDU29j
a2V0LmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5o
IgorI2luY2x1ZGUgIkxpYldlYlJUQ1NvY2tldENsaWVudC5oIgorI2luY2x1ZGUgIk5ldHdvcmtS
VENQcm92aWRlci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW5jbHVk
ZSA8d3RmL0Z1bmN0aW9uLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOZXR3b3JrUlRDU29j
a2V0OjpOZXR3b3JrUlRDU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92
aWRlciYgcnRjUHJvdmlkZXIpCisgICAgOiBtX2lkZW50aWZpZXIoaWRlbnRpZmllcikKKyAgICAs
IG1fcnRjUHJvdmlkZXIocnRjUHJvdmlkZXIpCit7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1NvY2tl
dDo6c2VuZFRvKGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwgY29uc3QgUlRDTmV0d29y
azo6SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQgcGFja2V0SUQsIGludCBy
dHBTZW5kdGltZUV4dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1dGgsIGludDY0X3Qgc3J0cFBhY2tl
dEluZGV4LCBpbnQgZHNjcCkKK3sKKyAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1
ZmZlcjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CisKKyAgICBydGM6OlNvY2tl
dEFkZHJlc3Mgc29ja2V0QWRkcmVzcyhhZGRyZXNzLnZhbHVlLCBwb3J0KTsKKworICAgIHJ0Yzo6
UGFja2V0T3B0aW9ucyBvcHRpb25zOworICAgIG9wdGlvbnMucGFja2V0X2lkID0gcGFja2V0SUQ7
CisgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMucnRwX3NlbmR0aW1lX2V4dGVuc2lvbl9p
ZCA9IHJ0cFNlbmR0aW1lRXh0ZW5zaW9uSUQ7CisgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJh
bXMuc3J0cF9wYWNrZXRfaW5kZXggPSBzcnRwUGFja2V0SW5kZXg7CisgICAgb3B0aW9ucy5kc2Nw
ID0gc3RhdGljX2Nhc3Q8cnRjOjpEaWZmU2VydkNvZGVQb2ludD4oZHNjcCk7CisgICAgaWYgKHNy
dHBBdXRoLnV0ZjgoKS5sZW5ndGgoKSkgeworICAgICAgICBvcHRpb25zLnBhY2tldF90aW1lX3Bh
cmFtcy5zcnRwX2F1dGhfa2V5ID0gc3RkOjp2ZWN0b3I8Y2hhcj4oc3J0cEF1dGgudXRmOCgpLmRh
dGEoKSwgc3J0cEF1dGgudXRmOCgpLmRhdGEoKSArIHNydHBBdXRoLnV0ZjgoKS5sZW5ndGgoKSk7
CisgICAgICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfYXV0aF90YWdfbGVuID0g
c3J0cEF1dGgudXRmOCgpLmxlbmd0aCgpOworICAgIH0gZWxzZQorICAgICAgICBvcHRpb25zLnBh
Y2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfdGFnX2xlbiA9IC0xOworICAgIAorICAgIG1fcnRj
UHJvdmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZl
ciksIHNvY2tldEFkZHJlc3MsIG9wdGlvbnNdKExpYldlYlJUQ1NvY2tldENsaWVudCYgY2xpZW50
KSB7CisgICAgICAgIGNsaWVudC5zZW5kVG8oYnVmZmVyLmdldCgpLCBzb2NrZXRBZGRyZXNzLCBv
cHRpb25zKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRDU29ja2V0OjpjbG9zZSgpCit7
CisgICAgbV9ydGNQcm92aWRlci5jYWxsU29ja2V0KG1faWRlbnRpZmllciwgW10oTGliV2ViUlRD
U29ja2V0Q2xpZW50JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LmNsb3NlKCk7CisgICAgfSk7
Cit9CisgICAgCit2b2lkIE5ldHdvcmtSVENTb2NrZXQ6OnNldE9wdGlvbihpbnQgb3B0aW9uLCBp
bnQgdmFsdWUpCit7CisgICAgbV9ydGNQcm92aWRlci5jYWxsU29ja2V0KG1faWRlbnRpZmllciwg
W29wdGlvbiwgdmFsdWVdKExpYldlYlJUQ1NvY2tldENsaWVudCYgc29ja2V0KSB7CisgICAgICAg
IHNvY2tldC5zZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSk7CisgICAgfSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmggYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjQ0MGY3MGY0ZWE4YTA1NjcyMTg2NmExNDVhNDE3MTI0ZTM0NjE0ZjcKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29y
a1JUQ1NvY2tldC5oCkBAIC0wLDAgKzEsNzMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UK
KworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisKKyNpbmNs
dWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL2Fz
eW5jcGFja2V0c29ja2V0Lmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5oPgorCitu
YW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEYXRhUmVmZXJlbmNlOwor
fQorCituYW1lc3BhY2UgcnRjIHsKK2NsYXNzIEFzeW5jUGFja2V0U29ja2V0OworY2xhc3MgU29j
a2V0QWRkcmVzczsKK3N0cnVjdCBQYWNrZXRPcHRpb25zOworc3RydWN0IFBhY2tldFRpbWU7Citz
dHJ1Y3QgU2VudFBhY2tldDsKK30KKworbmFtZXNwYWNlIFdlYkNvcmUgeworY2xhc3MgU2hhcmVk
QnVmZmVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3M7CitjbGFzcyBOZXR3b3JrUlRDUHJvdmlkZXI7CisKK2NsYXNzIE5ldHdv
cmtSVENTb2NrZXQgeworcHVibGljOgorICAgIE5ldHdvcmtSVENTb2NrZXQodWludDY0X3QsIE5l
dHdvcmtSVENQcm92aWRlciYpOworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25u
ZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7Citwcml2YXRlOgorICAgIHZvaWQgc2VuZFRvKGNvbnN0
IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYsIHVpbnQx
Nl90IHBvcnQsIGludCBwYWNrZXRJRCwgaW50IHJ0cFNlbmR0aW1lRXh0ZW5zaW9uSUQsIFN0cmlu
ZyBzcnRwQXV0aCwgaW50NjRfdCBzcnRwUGFja2V0SW5kZXgsIGludCBkc2NwKTsKKyAgICB2b2lk
IGNsb3NlKCk7CisgICAgdm9pZCBzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKTsKKwor
ICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICBOZXR3b3JrUlRDUHJvdmlkZXImIG1fcnRj
UHJvdmlkZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShM
SUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUg
MTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmEy
ZWEzZTFiZTc2N2RjYjQxZTQ3MmI4NWNhNzdjZTRmNTczZWI0ZGEKLS0tIC9kZXYvbnVsbAorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5t
ZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMxIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMg
YXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBOZXR3b3JrUlRD
U29ja2V0IHsKKyAgICB2b2lkIFNlbmRUbyhJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2ViS2l0
OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tl
dElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNpb25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90
IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3ApCisgICAgdm9pZCBDbG9zZSgpCisgICAgdm9pZCBT
ZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldF
QlJUQylzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29yay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYjEzZWJj
OWMwN2JkYTA2ZDljYjU4Y2M5YTdkMTBkOGIzNmY1MDJkZAotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmNwcApAQCAtMCwwICsxLDE2MCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisK
KyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1
ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworUlRD
TmV0d29yazo6UlRDTmV0d29yayhjb25zdCBydGM6Ok5ldHdvcmsmIG5ldHdvcmspCisgICAgOiBu
YW1lKG5ldHdvcmsubmFtZSgpKQorICAgICwgZGVzY3JpcHRpb24obmV0d29yay5kZXNjcmlwdGlv
bigpKQorICAgICwgcHJlZml4IHsgbmV0d29yay5wcmVmaXgoKSB9CisgICAgLCBwcmVmaXhMZW5n
dGgobmV0d29yay5wcmVmaXhfbGVuZ3RoKCkpCisgICAgLCB0eXBlKG5ldHdvcmsudHlwZSgpKQor
ICAgICwgaWQobmV0d29yay5pZCgpKQorICAgICwgcHJlZmVyZW5jZShuZXR3b3JrLnByZWZlcmVu
Y2UoKSkKKyAgICAsIGFjdGl2ZShuZXR3b3JrLmFjdGl2ZSgpKQorICAgICwgaWdub3JlZChuZXR3
b3JrLmlnbm9yZWQoKSkKKyAgICAsIHNjb3BlSUQobmV0d29yay5zY29wZV9pZCgpKQorICAgICwg
aXBzKG5ldHdvcmsuR2V0SVBzKCkpCit7Cit9CisKK3J0Yzo6TmV0d29yayBSVENOZXR3b3JrOjp2
YWx1ZSgpIGNvbnN0Cit7CisgICAgcnRjOjpOZXR3b3JrIG5ldHdvcmsobmFtZS5kYXRhKCksIGRl
c2NyaXB0aW9uLmRhdGEoKSwgcHJlZml4LnZhbHVlLCBwcmVmaXhMZW5ndGgsIHJ0Yzo6QWRhcHRl
clR5cGUodHlwZSkpOworICAgIG5ldHdvcmsuc2V0X2lkKGlkKTsKKyAgICBuZXR3b3JrLnNldF9w
cmVmZXJlbmNlKHByZWZlcmVuY2UpOworICAgIG5ldHdvcmsuc2V0X2FjdGl2ZShhY3RpdmUpOwor
ICAgIG5ldHdvcmsuc2V0X2lnbm9yZWQoaWdub3JlZCk7CisgICAgbmV0d29yay5zZXRfc2NvcGVf
aWQoc2NvcGVJRCk7CisgICAgbmV0d29yay5TZXRJUHMoaXBzLCB0cnVlKTsKKyAgICByZXR1cm4g
bmV0d29yazsKK30KKworYm9vbCBSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmRlY29kZShJUEM6OkRl
Y29kZXImIGRlY29kZXIsIElQQWRkcmVzcyYgcmVzdWx0KQoreworICAgIGludCBmYW1pbHk7Cisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShmYW1pbHkpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGE7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShkYXRh
KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmIChmYW1pbHkgPT0gQUZfSU5FVCkgewor
ICAgICAgICBpZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9mKGluX2FkZHIpKQorICAgICAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgICAgICByZXN1bHQudmFsdWUgPSBydGM6OklQQWRkcmVzcygqcmVp
bnRlcnByZXRfY2FzdDxjb25zdCBpbl9hZGRyKj4oZGF0YS5kYXRhKCkpKTsKKyAgICAgICAgcmV0
dXJuIHRydWU7CisgICAgfQorICAgIGlmIChkYXRhLnNpemUoKSAhPSBzaXplb2YoaW42X2FkZHIp
KQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0LnZhbHVlID0gcnRjOjpJUEFkZHJl
c3MoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgaW42X2FkZHIqPihkYXRhLmRhdGEoKSkpOworICAg
IHJldHVybiB0cnVlOworfQorCit2b2lkIFJUQ05ldHdvcms6OklQQWRkcmVzczo6ZW5jb2RlKElQ
Qzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IHZhbHVlLmZhbWls
eSgpOworICAgIGlmICh2YWx1ZS5mYW1pbHkoKSA9PSBBRl9JTkVUKSB7CisgICAgICAgIGF1dG8g
YWRkcmVzcyA9IHZhbHVlLmlwdjRfYWRkcmVzcygpOworICAgICAgICBlbmNvZGVyIDw8IElQQzo6
RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPigmYWRkcmVzcyks
IHNpemVvZihhZGRyZXNzKSk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgYXV0byBhZGRy
ZXNzID0gdmFsdWUuaXB2Nl9hZGRyZXNzKCk7CisgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZl
cmVuY2UocmVpbnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oJmFkZHJlc3MpLCBzaXplb2Yo
YWRkcmVzcykpOworfQorCitib29sIFJUQ05ldHdvcms6OmRlY29kZShJUEM6OkRlY29kZXImIGRl
Y29kZXIsIFJUQ05ldHdvcmsmIHJlc3VsdCkKK3sKKyAgICBJUEM6OkRhdGFSZWZlcmVuY2UgbmFt
ZSwgZGVzY3JpcHRpb247CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShuYW1lKSkKKyAgICAgICAg
cmV0dXJuIGZhbHNlOworICAgIHJlc3VsdC5uYW1lID0gc3RkOjpzdHJpbmcocmVpbnRlcnByZXRf
Y2FzdDxjb25zdCBjaGFyKj4obmFtZS5kYXRhKCkpLCBuYW1lLnNpemUoKSk7CisgICAgaWYgKCFk
ZWNvZGVyLmRlY29kZShkZXNjcmlwdGlvbikpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBy
ZXN1bHQuZGVzY3JpcHRpb24gPSBzdGQ6OnN0cmluZyhyZWludGVycHJldF9jYXN0PGNvbnN0IGNo
YXIqPihkZXNjcmlwdGlvbi5kYXRhKCkpLCBkZXNjcmlwdGlvbi5zaXplKCkpOworICAgIGlmICgh
ZGVjb2Rlci5kZWNvZGUocmVzdWx0LnByZWZpeCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmVmaXhMZW5ndGgpKQorICAgICAgICByZXR1
cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQudHlwZSkpCisgICAgICAg
IHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5pZCkpCisgICAg
ICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5wcmVmZXJl
bmNlKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUocmVz
dWx0LmFjdGl2ZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVj
b2RlKHJlc3VsdC5pZ25vcmVkKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlmICghZGVj
b2Rlci5kZWNvZGUocmVzdWx0LnNjb3BlSUQpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisKKyAg
ICB1aW50NjRfdCBsZW5ndGg7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShsZW5ndGgpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0Lmlwcy5yZXNlcnZlKGxlbmd0aCk7CisgICAg
Zm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGxlbmd0aDsgKytpbmRleCkgeworICAgICAg
ICBJUEFkZHJlc3MgYWRkcmVzczsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRlY29kZShhZGRyZXNz
KSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICAgICAgaW50IGZsYWdzOworICAgICAg
ICBpZiAoIWRlY29kZXIuZGVjb2RlKGZsYWdzKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsK
KyAgICAgICAgcmVzdWx0Lmlwcy5wdXNoX2JhY2soeyBhZGRyZXNzLnZhbHVlLCBmbGFncyB9KTsK
KyAgICB9CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQgUlRDTmV0d29yazo6ZW5jb2RlKElQ
Qzo6RW5jb2RlciYgZW5jb2RlcikgY29uc3QKK3sKKyAgICBlbmNvZGVyIDw8IElQQzo6RGF0YVJl
ZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihuYW1lLmRhdGEoKSksIG5h
bWUubGVuZ3RoKCkpOworICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJw
cmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGRlc2NyaXB0aW9uLmRhdGEoKSksIGRlc2NyaXB0aW9u
Lmxlbmd0aCgpKTsKKyAgICBlbmNvZGVyIDw8IHByZWZpeDsKKyAgICBlbmNvZGVyIDw8IHByZWZp
eExlbmd0aDsKKyAgICBlbmNvZGVyIDw8IHR5cGU7CisKKyAgICBlbmNvZGVyIDw8IGlkOworICAg
IGVuY29kZXIgPDwgcHJlZmVyZW5jZTsKKyAgICBlbmNvZGVyIDw8IGFjdGl2ZTsKKyAgICBlbmNv
ZGVyIDw8IGlnbm9yZWQ7CisgICAgZW5jb2RlciA8PCBzY29wZUlEOworCisgICAgZW5jb2RlciA8
PCAodWludDY0X3QpaXBzLnNpemUoKTsKKyAgICBmb3IgKGF1dG8mIGlwIDogaXBzKSB7CisgICAg
ICAgIGVuY29kZXIgPDwgSVBBZGRyZXNzIHsgaXAgfTsKKyAgICAgICAgZW5jb2RlciA8PCBpcC5p
cHY2X2ZsYWdzKCk7CisgICAgfQorfQorCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuaCBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOTEwZmJmYzE5MzgyYjk4NTc3
MDFhNmQ0M2RlNDY3MWUyMzNmMTEzMgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1NoYXJlZC9SVENOZXR3b3JrLmgKQEAgLTAsMCArMSw3NyBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNiBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFn
bWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2Vi
UlRDTWFjcm9zLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0d29yay5oPgorI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgRGVjb2RlcjsKK2NsYXNz
IEVuY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdHJ1Y3QgUlRDTmV0d29yayB7
CisgICAgUlRDTmV0d29yaygpID0gZGVmYXVsdDsKKyAgICBleHBsaWNpdCBSVENOZXR3b3JrKGNv
bnN0IHJ0Yzo6TmV0d29yayYpOworCisgICAgcnRjOjpOZXR3b3JrIHZhbHVlKCkgY29uc3Q7CisK
KyAgICB2b2lkIGVuY29kZShJUEM6OkVuY29kZXImKSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBk
ZWNvZGUoSVBDOjpEZWNvZGVyJiwgUlRDTmV0d29yayYpOworCisgICAgc3RydWN0IElQQWRkcmVz
cyB7CisgICAgICAgIElQQWRkcmVzcygpID0gZGVmYXVsdDsKKyAgICAgICAgZXhwbGljaXQgSVBB
ZGRyZXNzKGNvbnN0IHJ0Yzo6SVBBZGRyZXNzJiBhZGRyZXNzKTogdmFsdWUoYWRkcmVzcykgeyB9
CisKKyAgICAgICAgdm9pZCBlbmNvZGUoSVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgICAgIHN0
YXRpYyBib29sIGRlY29kZShJUEM6OkRlY29kZXImLCBJUEFkZHJlc3MmKTsKKworICAgICAgICBy
dGM6OklQQWRkcmVzcyB2YWx1ZTsKKyAgICB9OworCisgICAgc3RkOjpzdHJpbmcgbmFtZTsKKyAg
ICBzdGQ6OnN0cmluZyBkZXNjcmlwdGlvbjsKKyAgICBJUEFkZHJlc3MgcHJlZml4OworICAgIGlu
dCBwcmVmaXhMZW5ndGg7CisgICAgaW50IHR5cGU7CisgICAgdWludDE2X3QgaWQ7CisgICAgaW50
IHByZWZlcmVuY2U7CisgICAgYm9vbCBhY3RpdmU7CisgICAgYm9vbCBpZ25vcmVkOworICAgIGlu
dCBzY29wZUlEOworICAgIHN0ZDo6c3RyaW5nIGtleTsKKyAgICBzaXplX3QgbGVuZ3RoOworICAg
IHN0ZDo6dmVjdG9yPHJ0Yzo6SW50ZXJmYWNlQWRkcmVzcz4gaXBzOworfTsKKworfQorCisjZW5k
aWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIu
eGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJLaXQyL1dlYktpdDIueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagppbmRleCBmOWM1OGFkMDJkMzZkZWVhYTQwN2Q0YjI1NzQ3MWIx
M2MzZDRjZWVjLi4xYmJmZTBhNDA3ZmRkMzE4ZjVmYTRkMmZkNjMzZGNiYmYzYTMyMjkxIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBA
IC04NzEsNiArODcxLDMxIEBACiAJCTNGODdCOUJEMTU4OTQwMTIwMDkwRkY2MiAvKiBXZWJDb2xv
ckNob29zZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gM0Y4N0I5QkExNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5jcHAgKi87IH07
CiAJCTNGODdCOUJFMTU4OTQwMTkwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGODdCOUJCMTU4OTNGNjMw
MDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuaCAqLzsgfTsKIAkJM0Y4N0I5QzAxNTg5NDBEODAw
OTBGRjYyIC8qIFdlYkNvbG9yUGlja2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCRjE1ODk0MEQ4MDA5MEZGNjIgLyogV2ViQ29sb3JQaWNr
ZXIuaCAqLzsgfTsKKwkJNDEwNDgyQ0QxREREMzI0QzAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3Bw
IGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEwNDgyQ0Ix
REREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwICovOyB9OworCQk0MTA0ODJDRTFEREQz
MjRGMDBGMDA2RDAgLyogUlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEwNDgyQ0MxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsu
aCAqLzsgfTsKKwkJNDExQjIyNjQxRTM3MUJBNjAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMUIyMjYy
MUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi87IH07CisJCTQxMzA3NUE5
MURFODVGMkMwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTk4MURFODRGQjAwMDM5RUM2OSAv
KiBOZXR3b3JrUlRDU29ja2V0LmNwcCAqLzsgfTsKKwkJNDEzMDc1QUExREU4NUYzMDAwMzlFQzY5
IC8qIE5ldHdvcmtSVENNb25pdG9yLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxMzA3NTlBMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9u
aXRvci5jcHAgKi87IH07CisJCTQxMzA3NUFCMURFODVGMzMwMDM5RUM2OSAvKiBOZXR3b3JrUlRD
U29ja2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTMwNzU5OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5oICovOyB9OworCQk0
MTMwNzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NTlCMURFODRGQjAwMDM5
RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5oICovOyB9OworCQk0MTMwNzVBRDFERTg1RjU4MDAz
OUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMDFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29j
a2V0LmggKi87IH07CisJCTQxMzA3NUFFMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2Nr
ZXQuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEz
MDc1QTExREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5jcHAgKi87IH07CisJCTQx
MzA3NUFGMURFODVGNTgwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUEyMURFODVFRTcwMDM5RUM2
OSAvKiBXZWJSVENNb25pdG9yLmNwcCAqLzsgfTsKKwkJNDEzMDc1QjAxREU4NUY1ODAwMzlFQzY5
IC8qIFdlYlJUQ01vbml0b3IuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IDQxMzA3NUEzMURFODVFRTcwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLmggKi87
IH07CisJCTQxMzA3NUIxMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5
LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3
NUE1MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcCAqLzsgfTsK
KwkJNDEzMDc1QjIxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE2MURF
ODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggKi87IH07CisJCTQxMzA3
NUIzMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNzFERTg1RUU3MDAzOUVD
NjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwICovOyB9OworCQk0MTMwNzVCNDFERTg1RjU4MDAz
OUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQ
cm92aWRlci5oICovOyB9OworCQk0MURDNDU5NjFFM0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JU
Q1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi87IH07
CisJCTQxREM0NTk3MUUzRDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGlu
IFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OTUxRTNE
NkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgKi87IH07CisJCTQxREM0NTlC
MUUzREJCMjgwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwIGluIFNvdXJjZXMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OTkxRTNEQkIyNDAwQjEx
RjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgKi87IH07CisJCTQxREM0NTlDMUUzREJC
MjgwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTlBMUUzREJCMjQwMEIxMUY1MSAvKiBM
aWJXZWJSVENTb2NrZXRDbGllbnQuaCAqLzsgfTsKKwkJNDFEQzQ1OUUxRTNEQkRBMTAwQjExRjUx
IC8qIFdlYlJUQ1NvY2tldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MURDNDU5RDFFM0RCQ0YwMDBCMTFGNTEgLyogV2ViUlRDU29ja2V0LmNwcCAq
LzsgfTsKKwkJNDFEQzQ1OUYxRTNEQkRBNTAwQjExRjUxIC8qIFdlYlJUQ1NvY2tldC5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQUY1RjMxRTNCRkU3
RjAwMUFFNjc4IC8qIFdlYlJUQ1NvY2tldC5oICovOyB9OworCQk0MURDNDVBMTFFM0RDNTNGMDBC
MTFGNTEgLyogV2ViUlRDUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1QTAxRTNEQzUzQzAwQjExRjUxIC8qIFdlYlJUQ1Jlc29s
dmVyLmNwcCAqLzsgfTsKKwkJNDFGQUY1RjUxRTNDMDY0OTAwMUFFNjc4IC8qIFdlYlJUQ1Jlc29s
dmVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZB
RjVGNDFFM0MwNjQxMDAxQUU2NzggLyogV2ViUlRDUmVzb2x2ZXIuaCAqLzsgfTsKKwkJNDFGQUY1
RjgxRTNDMTAyMTAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVyLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MUZBRjVGNjFFM0MwQjQ3MDAxQUU2Nzgg
LyogTGliV2ViUlRDUmVzb2x2ZXIuaCAqLzsgfTsKKwkJNDFGQUY1RjkxRTNDMTAyNTAwMUFFNjc4
IC8qIExpYldlYlJUQ1Jlc29sdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDQxRkFGNUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNv
bHZlci5jcHAgKi87IH07CiAJCTQ0NTBBRUMwMURDM0ZBRTUwMDk5NDNGMiAvKiBTaGFyZWRNZW1v
cnlDb2NvYS5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0NDUwQUVCRjFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwICovOyB9
OwogCQk0QTNDQzE4QTE5QjA2M0U3MDBEMTRBRUYgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVl
c3RNYW5hZ2VyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBm
aWxlUmVmID0gNEE0MTBGMzkxOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25S
ZXF1ZXN0TWFuYWdlclByb3h5LmNwcCAqLzsgfTsKIAkJNEEzQ0MxOEIxOUIwNjQwRjAwRDE0QUVG
IC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0QTQxMEYzQTE5QUY3QjA0MDAyRUJB
QjUgLyogVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3RNYW5hZ2VyUHJveHkuaCAqLzsgfTsKQEAg
LTEwNDEsNiArMTA2NiwxMiBAQAogCQk1MUVGQzFDRjE1MjRFNjI1MDBDOUE5MzggLyogV0tCdW5k
bGVET01XaW5kb3dFeHRlbnNpb24uaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDUxRkEyRDU0MTUyMTExODYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRv
d0V4dGVuc2lvbi5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07CiAJCTUxRjA2MEUwMTY1NDMxN0YwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3Nh
Z2VzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUYw
NjBERTE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovOyB9
OwogCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJl
Y2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1Nv
Y2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8qIE5l
dHdvcmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8qIE5ldHdv
cmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovOyB9OworCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREQxNjU0MzE3NTAw
RjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJ
NTFGMDYwRTExNjU0MzE4NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYw
REQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICov
OyB9OworCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdl
UmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gNTFGMDYwREQxNjU0MzE3NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2Vp
dmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQ
cm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA1MUYwNjBERDE2NTQzMTc1MDBGMzI4MkUgLyogTmV0d29ya1JUQ1By
b3ZpZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKIAkJNTFGN0RDNDExODBDQzkzNjAwMjEy
Q0EzIC8qIFhQQ1NlcnZpY2VNYWluLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gQkM4MjgzOTYxNkI0N0VDNDAwQTI3OEZFIC8qIFhQQ1NlcnZpY2VNYWlu
Lm1tICovOyB9OwogCQk1MUY3REM0MzE4MENDOTM2MDAyMTJDQTMgLyogRm91bmRhdGlvbi5mcmFt
ZXdvcmsgaW4gRnJhbWV3b3JrcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBC
QzNERTQ2ODE1QTkxNzYzMDA4RDI2RkMgLyogRm91bmRhdGlvbi5mcmFtZXdvcmsgKi87IH07CiAJ
CTUxRjdEQzQ0MTgwQ0M5MzYwMDIxMkNBMyAvKiBXZWJLaXQuZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gOERDMkVGNUIwNDg2QTY5NDAw
OThCMjE2IC8qIFdlYktpdC5mcmFtZXdvcmsgKi87IH07CkBAIC0yOTc5LDYgKzMwMTAsMzcgQEAK
IAkJM0Y4N0I5QkExNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5jcHAgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJDb2xvckNob29zZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzRjg3QjlCQjE1ODkzRjYzMDA5MEZGNjIgLyogV2Vi
Q29sb3JDaG9vc2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9y
Q2hvb3Nlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkzRjg3QjlCRjE1ODk0MEQ4
MDA5MEZGNjIgLyogV2ViQ29sb3JQaWNrZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBw
YXRoID0gV2ViQ29sb3JQaWNrZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEw
NDgyQ0IxREREMkZCNTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gUlRDTmV0d29yay5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFJUQ05ldHdvcmsuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdv
cmsuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDTmV0d29yay5o
OyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDTmV0d29yay5oOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OworCQk0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1Nv
Y2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3JrUlRD
U29ja2V0LmNwcDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OTkxREU4NEZCMDAwMzlF
QzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1l
ID0gTmV0d29ya1JUQ1NvY2tldC5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENTb2NrZXQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1OUExREU4
NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgbmFtZSA9IE5ldHdvcmtSVENNb25pdG9yLmNwcDsgcGF0aCA9IE5ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTQxMzA3NTlCMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDTW9uaXRvci5oOyBw
YXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENNb25pdG9yLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlDMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3Jr
UlRDTW9uaXRvci5tZXNzYWdlcy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrUlRD
TW9uaXRvci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3Jr
UlRDTW9uaXRvci5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEz
MDc1OUQxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBuYW1lID0gTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbjsgcGF0aCA9
IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5RjFERTg1RUU3MDAzOUVDNjkgLyogV2Vi
UlRDU29ja2V0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdlYlJUQ1NvY2tl
dC5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdl
cy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTAxREU4NUVFNzAwMzlF
QzY5IC8qIExpYldlYlJUQ1NvY2tldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUg
PSBMaWJXZWJSVENTb2NrZXQuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tl
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBMTFERTg1RUU3MDAzOUVD
NjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
bmFtZSA9IExpYldlYlJUQ1NvY2tldC5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBMjFERTg1
RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gV2ViUlRDTW9uaXRvci5jcHA7IHBhdGggPSBO
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
eGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJ
CTQxMzA3NUEzMURFODVFRTcwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlJUQ01vbml0b3IuaDsgcGF0aCA9IE5ldHdvcmsvd2Vi
cnRjL1dlYlJUQ01vbml0b3IuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1
QTQxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IubWVzc2FnZXMuaW4gKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUg
PSB0ZXh0OyBuYW1lID0gV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL1dlYlJUQ01vbml0b3IubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CisJCTQxMzA3NUE1MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUg
PSBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1NvY2tldEZhY3RvcnkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdl
U3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLmNwcDsgfTsKKwkJNDEzMDc1QTYx
REU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oOyBwYXRoID0gTmV0
d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OworCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9
IExpYldlYlJUQ1Byb3ZpZGVyLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1By
b3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRp
b25JZGVudGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3NUE4MURFODVFRTcwMDM5
RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IGxp
bmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDUHJvdmlkZXIuaDsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFu
Z3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcub2JqY3BwOyB9OworCQk0
MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW4gKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSB0ZXh0OyBsaW5lRW5kaW5nID0gMDsgbmFtZSA9IFdlYlJUQ1Jlc29sdmVyLm1lc3Nh
Z2VzLmluOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIubWVzc2FnZXMuaW47
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmll
ciA9ICI8bm9uZT4iOyB9OworCQk0MURDNDU5NDFFM0Q2RTFFMDBCMTFGNTEgLyogTmV0d29ya1JU
Q1Byb3ZpZGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENQ
cm92aWRlci5oOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRl
ci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MURDNDU5NTFFM0Q2RTFFMDBCMTFG
NTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IE5ldHdvcmtSVENQcm92aWRlci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
KwkJNDFEQzQ1OTgxRTNENkVENjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdl
cy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMu
aW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3Nh
Z2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MURDNDU5OTFFM0RCQjI0MDBC
MTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgbmFtZSA9IExpYldlYlJUQ1NvY2tldENsaWVudC5jcHA7IHBhdGggPSBOZXR3b3Jr
UHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKKwkJNDFEQzQ1OUExRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tl
dENsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBMaWJXZWJSVENTb2Nr
ZXRDbGllbnQuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRD
bGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEQzQ1OUQxRTNEQkNGMDAw
QjExRjUxIC8qIFdlYlJUQ1NvY2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBXZWJSVENTb2NrZXQuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2ViUlRDU29j
a2V0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEQzQ1QTAxRTNEQzUzQzAw
QjExRjUxIC8qIFdlYlJUQ1Jlc29sdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IFdlYlJUQ1Jlc29sdmVyLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJU
Q1Jlc29sdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFGQUY1RjMxRTNC
RkU3RjAwMUFFNjc4IC8qIFdlYlJUQ1NvY2tldC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IG5hbWUgPSBXZWJSVENTb2NrZXQuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tl
dC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MUZBRjVGNDFFM0MwNjQxMDAxQUU2
NzggLyogV2ViUlRDUmVzb2x2ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0g
V2ViUlRDUmVzb2x2ZXIuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRkFGNUY2MUUzQzBCNDcwMDFBRTY3OCAv
KiBMaWJXZWJSVENSZXNvbHZlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBM
aWJXZWJSVENSZXNvbHZlci5oOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2
ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFGQUY1RjcxRTNDMEI0NzAwMUFF
Njc4IC8qIExpYldlYlJUQ1Jlc29sdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNl
OyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNw
cDsgbmFtZSA9IExpYldlYlJUQ1Jlc29sdmVyLmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1Jlc29sdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNDQ1MEFF
QkYxREMzRkFFNTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbmFtZSA9IFNoYXJlZE1lbW9yeUNvY29hLmNwcDsgcGF0aCA9IGNv
Y29hL1NoYXJlZE1lbW9yeUNvY29hLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
NEE0MTBGMzUxOUFGN0FDMzAwMkVCQUI1IC8qIFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3Qu
Y3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV0tVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM2
MTlBRjdBQzMwMDJFQkFCNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3Qu
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTMxNzYsNiArMzIzOCwxMiBAQAogCQk1
MUUzOTkwNTFENkY1NEM1MDA5Qzg4MzEgLyogVUlHYW1lcGFkUHJvdmlkZXJDb2NvYS5tbSAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVyQ29j
b2EubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRTk0OTk2MUQ3NjFDQzcwMEVD
OUVCOSAvKiBVSUdhbWVwYWRQcm92aWRlcklPUy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
Lm9iamNwcDsgcGF0aCA9IFVJR2FtZXBhZFByb3ZpZGVySU9TLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUmVzb3VyY2VMb2Fk
ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYw
NjBERDE2NTQzMTc1MDBGMzI4MUMgLyogV2ViUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3
b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE5ldHdv
cmtSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNzYWdl
UmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gTmV0d29ya1JUQ01vbml0b3JNZXNzYWdl
UmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk1MUYwNjBERDE2NTQz
MTc1MDBGMzI4MUYgLyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNh
ID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29s
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJUQ1Jlc29sdmVy
TWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYw
REQxNjU0MzE3NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUYwNjBERTE2NTQzMTc1MDBGMzI4
MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJSZXNv
dXJjZUxvYWRlck1lc3NhZ2VzLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTUxRjdE
QzRBMTgwQ0M5MzYwMDIxMkNBMyAvKiBjb20uYXBwbGUuV2ViS2l0LkRhdGFiYXNlcy54cGMgKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZXhwbGljaXRGaWxlVHlwZSA9ICJ3cmFwcGVyLnhw
Yy1zZXJ2aWNlIjsgaW5jbHVkZUluSW5kZXggPSAwOyBwYXRoID0gY29tLmFwcGxlLldlYktpdC5E
YXRhYmFzZXMueHBjOyBzb3VyY2VUcmVlID0gQlVJTFRfUFJPRFVDVFNfRElSOyB9OwogCQk1MUZB
MkQ1NDE1MjExMTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24u
aDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTQ2ODgsNiArNDc1Niw4IEBACiAJCQkJ
QkNDNDNBQjkxMjdCOTVEQzAwMzE3RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5oICovLAog
CQkJCUUxOEM5MkYzMTJEQjlFNzEwMENGMkFFQiAvKiBQcmludEluZm8uY3BwICovLAogCQkJCUUx
Q0MxQjhFMTJEN0VBREYwMDYyNTgzOCAvKiBQcmludEluZm8uaCAqLywKKwkJCQk0MTA0ODJDQjFE
REQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5jcHAgKi8sCisJCQkJNDEwNDgyQ0MxREREMkZC
NTAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCAqLywKIAkJCQlGNkEwQzEzRjEzMjgxRTZFMDA3MDQz
MEYgLyogUmVzb3VyY2VDYWNoZXNUb0NsZWFyLmggKi8sCiAJCQkJQkMyRDAyMTYxMkFDNDFDQjAw
RTczMkEzIC8qIFNhbWVEb2N1bWVudE5hdmlnYXRpb25UeXBlLmggKi8sCiAJCQkJMUFBQjRBOEMx
Mjk2RjBBMjAwMjM5NTJGIC8qIFNhbmRib3hFeHRlbnNpb24uaCAqLywKQEAgLTU1MzEsNiArNTYw
MSw0OSBAQAogCQkJcGF0aCA9IFJlc291cmNlcy9tYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwogCQl9OworCQk0MTMwNzU5NzFERTg0RUQ3MDAzOUVDNjkgLyogd2VicnRjICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MURDNDU5NDFFM0Q2RTFF
MDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggKi8sCisJCQkJNDFEQzQ1OTUxRTNENkUx
RTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAgKi8sCisJCQkJNDFEQzQ1OTgxRTNE
NkVENjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbiAqLywKKwkJCQk0
MURDNDU5OTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCAqLywK
KwkJCQk0MURDNDU5QTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50Lmgg
Ki8sCisJCQkJNDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuY3Bw
ICovLAorCQkJCTQxMzA3NTk5MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0Lmgg
Ki8sCisJCQkJNDEzMDc1OUQxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQubWVz
c2FnZXMuaW4gKi8sCisJCQkJNDEzMDc1OUExREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENN
b25pdG9yLmNwcCAqLywKKwkJCQk0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JU
Q01vbml0b3IuaCAqLywKKwkJCQk0MTMwNzU5QzFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JU
Q01vbml0b3IubWVzc2FnZXMuaW4gKi8sCisJCQkpOworCQkJbmFtZSA9IHdlYnJ0YzsKKwkJCXNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CisJCTQxMzA3NTlFMURFODVFNjUwMDM5RUM2OSAv
KiB3ZWJydGMgKi8gPSB7CisJCQlpc2EgPSBQQlhHcm91cDsKKwkJCWNoaWxkcmVuID0gKAorCQkJ
CTQxREM0NTlEMUUzREJDRjAwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQuY3BwICovLAorCQkJCTQx
RkFGNUYzMUUzQkZFN0YwMDFBRTY3OCAvKiBXZWJSVENTb2NrZXQuaCAqLywKKwkJCQk0MTMwNzU5
RjFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovLAorCQkJCTQx
MzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXQuaCAqLywKKwkJCQk0MTMw
NzVBMTFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCAqLywKKwkJCQk0MTMw
NzVBMjFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5jcHAgKi8sCisJCQkJNDEzMDc1
QTMxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuaCAqLywKKwkJCQk0MTMwNzVBNDFE
RTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMw
NzVBNTFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgKi8sCisJ
CQkJNDEzMDc1QTYxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaCAq
LywKKwkJCQk0MTMwNzVBNzFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3Bw
ICovLAorCQkJCTQxMzA3NUE4MURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5o
ICovLAorCQkJCTQxRkFGNUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5j
cHAgKi8sCisJCQkJNDFGQUY1RjYxRTNDMEI0NzAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29sdmVy
LmggKi8sCisJCQkJNDFEQzQ1QTAxRTNEQzUzQzAwQjExRjUxIC8qIFdlYlJUQ1Jlc29sdmVyLmNw
cCAqLywKKwkJCQk0MUZBRjVGNDFFM0MwNjQxMDAxQUU2NzggLyogV2ViUlRDUmVzb2x2ZXIuaCAq
LywKKwkJCQk0MUFDODY4MTFFMDQyRTUzMDAzMDMwNzQgLyogV2ViUlRDUmVzb2x2ZXIubWVzc2Fn
ZXMuaW4gKi8sCisJCQkJNDExQjIyNjIxRTM3MTI0NDAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdv
cmsuaCAqLywKKwkJCSk7CisJCQluYW1lID0gd2VicnRjOworCQkJc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsKKwkJfTsKIAkJNDQ1MEFFQkUxREMzRkFBQzAwOTk0M0YyIC8qIGNvY29hICovID0gewog
CQkJaXNhID0gUEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKQEAgLTU1NTMsNiArNTY2Niw3IEBA
CiAJCTUxMDVCMEQyMTYyRjdBNUUwMEUyNzcwOSAvKiBOZXR3b3JrICovID0gewogCQkJaXNhID0g
UEJYR3JvdXA7CiAJCQljaGlsZHJlbiA9ICgKKwkJCQk0MTMwNzU5RTFERTg1RTY1MDAzOUVDNjkg
Lyogd2VicnRjICovLAogCQkJCTUxMDVCMEQ0MTYyRjdBN0EwMEUyNzcwOSAvKiBOZXR3b3JrUHJv
Y2Vzc0Nvbm5lY3Rpb24uY3BwICovLAogCQkJCTUxMDVCMEQ1MTYyRjdBN0EwMEUyNzcwOSAvKiBO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCAqLywKIAkJCQk1MUZCMDkwMjE2M0EzQjFDMDBFQzMy
NEEgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluICovLApAQCAtNTU3OSw2
ICs1NjkzLDcgQEAKIAkJCQlFMTc5OEM3NjE2RTY4MTU1MDAyNDAxMzkgLyogRmlsZUFQSSAqLywK
IAkJCQkyREE5NDRCQjE4ODUxMUREMDBFRDg2REIgLyogaW9zICovLAogCQkJCTUxMENDN0RDMTYx
MzhFMjkwMEQwM0VEMyAvKiBtYWMgKi8sCisJCQkJNDEzMDc1OTcxREU4NEVENzAwMzlFQzY5IC8q
IHdlYnJ0YyAqLywKIAkJCQk1MTNBMTY0OTE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5l
Y3Rpb25Ub1dlYlByb2Nlc3MuY3BwICovLAogCQkJCTUxM0ExNjRBMTYzMEE5QkYwMDVEN0QyMiAv
KiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oICovLAogCQkJCTUxM0ExNjRCMTYzMEE5
QkYwMDVEN0QyMiAvKiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5tZXNzYWdlcy5pbiAq
LywKQEAgLTc0NDEsNiArNzU1NiwxMiBAQAogCQkJCUJDRUU3QUNDMTI4MTc5ODgwMDk4MjdEQSAv
KiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCUJDRUU3QUNEMTI4
MTc5ODgwMDk4MjdEQSAvKiBXZWJQcm9jZXNzUHJveHlNZXNzYWdlcy5oICovLAogCQkJCTUxRjA2
MEREMTY1NDMxNzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5j
cHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODJDIC8qIFdlYlJU
Q1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBG
MzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCisJCQkJNTFG
MDYwREQxNjU0MzE3NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25p
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKKwkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUYg
LyogV2ViUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi8sCiAJCQkJNTFGMDYwREUxNjU0
MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLywKIAkJCQk3QTc5
MUVGOTFDN0NGQjM3MDBDNEM1MkIgLyogV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlTWVz
c2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQk3QTc5MUVGODFDN0NGQjEwMDBDNEM1MkIgLyogV2Vi
UmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlTWVzc2FnZXMuaCAqLywKQEAgLTc3MzksNiArNzg2
MCw3IEBACiAJCQkJMDc2RTg4NEUxQTEzQ0FERjAwNUU5MEZDIC8qIEFQSUNvbnRleHRNZW51Q2xp
ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTU3OEI4MzEyMDlFQ0VGMDBBMzdDNEEgLyogQVBJ
RGF0YS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJODM4OTFCNjMxQTY4QjM0MjAwMzBGMzg2IC8qIEFQ
SURpYWdub3N0aWNMb2dnaW5nQ2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MURDNDU5NjFF
M0Q2RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJ
CQk3QzFCQTMzRTFBNEEwRTYwMDA0M0UyNDkgLyogQVBJRGljdGlvbmFyeS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMUY3RDM2QzExOERBNTEzRjAwRDlENjU5IC8qIEFQSURvd25sb2FkQ2xpZW50Lmgg
aW4gSGVhZGVycyAqLywKIAkJCQk1MTZBNEE1RDEyMEEyQ0NEMDBDMDVCN0YgLyogQVBJRXJyb3Iu
aCBpbiBIZWFkZXJzICovLApAQCAtNzg4MCw2ICs4MDAyLDcgQEAKIAkJCQkxQTFFQzY5RTE4NzIw
OTIxMDBCOTUxRjAgLyogSW1wb3J0YW5jZUFzc2VydGlvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkMyMDRFRTMxMUM4M0U5ODAwOEYzMzc1IC8qIEluamVjdGVkQnVuZGxlLmggaW4gSGVhZGVycyAq
LywKIAkJCQk5MzVFRUJBMjEyNzc2MUQwMDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9y
d2FyZExpc3QuaCBpbiBIZWFkZXJzICovLAorCQkJCTQxMzA3NUIyMURFODVGNTgwMDM5RUM2OSAv
KiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLywKIAkJCQk5MzVFRUJBNDEy
Nzc2MUQ2MDAzMzIyQjggLyogSW5qZWN0ZWRCdW5kbGVCYWNrRm9yd2FyZExpc3RJdGVtLmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQ0VFN0RDNTEyOEI2NDVEMDA5ODI3REEgLyogSW5qZWN0ZWRCdW5k
bGVDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQkI4MTFEMUFBMEY4QjEwMDZCMTk0MiAv
KiBJbmplY3RlZEJ1bmRsZUZpbGVIYW5kbGUuaCBpbiBIZWFkZXJzICovLApAQCAtNzg5OSw2ICs4
MDIyLDcgQEAKIAkJCQlDNUJDRTVERjFDNTA3NjZBMDBDREUzRkEgLyogSW50ZXJhY3Rpb25JbmZv
cm1hdGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUM1OENERjJBMTg4NzU0OEIw
MDg3MTUzNiAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uQXRQb3NpdGlvbi5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMkQ0RDJDODExREY2MEJGMzAwMkVCMTBDIC8qIEludGVyYWN0aW9uSW5mb3JtYXRp
b25SZXF1ZXN0LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MUZBRjVGNTFFM0MwNjQ5MDAxQUU2Nzgg
LyogV2ViUlRDUmVzb2x2ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBRTQ5QTQ5MTFGRkE4Q0Uw
MDQ4QjQ2NCAvKiBKU05QTWV0aG9kLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU0OTg3ODExRkY3
RkFBMDA0OEI0NjQgLyogSlNOUE9iamVjdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTNERUEzNjYx
RERFNDIzMTAwRTgyNjQ4IC8qIGpzb24uaHBwIGluIEhlYWRlcnMgKi8sCkBAIC04MDE0LDYgKzgx
MzgsNyBAQAogCQkJCTFBM0Q2MTAyMTNBN0NDMkEwMEY5NUQ0RSAvKiBQbHVnaW5Nb2R1bGVJbmZv
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTA0Mzk3NjEyNEQwMzQ4MDBGRkJGQjUgLyogUGx1Z2lu
UHJvY2Vzcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDNUZGQzIxNzRCRkQxQjAwMDE0ODNEIC8q
IFBsdWdpblByb2Nlc3NBdHRyaWJ1dGVzLmggaW4gSGVhZGVycyAqLywKKwkJCQk0MURDNDU5RjFF
M0RCREE1MDBCMTFGNTEgLyogV2ViUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTBF
QzkwNjEyNEMwQUI4MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBMEVDOTBGMTI0QzBBRjUwMDdFRjRBNSAvKiBQbHVnaW5Qcm9jZXNzQ29u
bmVjdGlvbk1hbmFnZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNzg2NUJBMTZDQUM3MTUwMEFD
RTgzQSAvKiBQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRl
cnMgKi8sCkBAIC04MDcwLDYgKzgxOTUsNyBAQAogCQkJCUUxOEU2OTBDMTY5QjU2M0YwMDlCNjY3
MCAvKiBTZWNJdGVtU2hpbVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQlFMThFNjkxODE2OUI2
NjdCMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Qcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQk1MTREOUY1NzE5MTE5RDM1MDAwMDYzQTcgLyogU2VydmljZXNDb250cm9sbGVyLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MTMwNzVBQjFERTg1RjMzMDAzOUVDNjkgLyogTmV0d29ya1JUQ1Nv
Y2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFGREU2NUExOTU0QTQyQjAwQzQ4RkZBIC8qIFNl
c3Npb25TdGF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwMDJENDkxOTZCMzQ1RDAwQjlBRDQ0
IC8qIFNlc3Npb25TdGF0ZUNvZGluZy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNzUzRTNFMEUxODg3
Mzk4OTAwMTg4NDk2IC8qIFNlc3Npb25UcmFja2VyLmggaW4gSGVhZGVycyAqLywKQEAgLTgxNTks
NiArODI4NSw3IEBACiAJCQkJMUFBODNGNkQxQTVCNjNGRjAwMDI2RUM2IC8qIFdlYkRhdGFiYXNl
UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEMTlBMjZFMUExM0U4MzQwMDhENjUwRSAv
KiBXZWJEaWFnbm9zdGljTG9nZ2luZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE1QjFD
NTUxODk4N0VERjAwNEZDRjlCIC8qIFdlYkRvY3VtZW50TG9hZGVyLmggaW4gSGVhZGVycyAqLywK
KwkJCQk0MTMwNzVCNDFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUJDMDMyRDdCMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJEcmFnQ2xpZW50
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0EwRUY5RjEyMzMyNjQyMDA3RDNDRkIgLyogV2ViRWRp
dENvbW1hbmRQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwMzJEN0QxMEY0Mzc4RDAwNThD
MTVBIC8qIFdlYkVkaXRvckNsaWVudC5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTgzLDYgKzgzMTAs
NyBAQAogCQkJCUJDNTRDQUNCMTJENjQyOTEwMDVDNjdCMCAvKiBXZWJHZW9sb2NhdGlvbk1hbmFn
ZXJQcm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkMwRTYxODMxMkQ2Q0IxRDAwMTJBNzJBIC8q
IFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5TWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLAogCQkJ
CUJDMEU2MDczMTJENkJDMjAwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvblBvc2l0aW9uLmggaW4g
SGVhZGVycyAqLywKKwkJCQk0MTMwNzVBQzFERTg1RjM3MDAzOUVDNjkgLyogTmV0d29ya1JUQ01v
bml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMUJFMUYyMTJENTREQkQwMDA0QTIyOCAvKiBX
ZWJHZW9sb2NhdGlvblByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDUwMzY3NjFCQ0VE
MTlGMDBFMjBCQjMgLyogV2ViR2VzdHVyZUV2ZW50LmggaW4gSGVhZGVycyAqLywKIAkJCQk5M0E4
OEIzMzFCQzZFOUNEMDBBQkE1QzIgLyogV2ViSGl0VGVzdFJlc3VsdERhdGEuaCBpbiBIZWFkZXJz
ICovLApAQCAtODE5Miw2ICs4MzIwLDcgQEAKIAkJCQk1MTFCMjRBNzEzMkUwOTU3MDAwNjVBMEMg
LyogV2ViSWNvbkRhdGFiYXNlUHJveHkuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxRDAyRjZDMTMy
RUM3MzcwMEJFQUE5NiAvKiBXZWJJY29uRGF0YWJhc2VQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk1MTA1MjM3MDFDNzM5RDQyMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRv
Q2xpZW50LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTMwNzVBRDFERTg1RjU4MDAzOUVDNjkgLyog
TGliV2ViUlRDU29ja2V0LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTA1MjM3QTFDNzNEQTc3MDA3
OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvQ2xpZW50TWVzc2FnZXMuaCBpbiBIZWFkZXJzICov
LAogCQkJCTUxNDEyOTk0MUM2NDI4QkIwMDU5RTcxNCAvKiBXZWJJREJDb25uZWN0aW9uVG9TZXJ2
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTUxMDUyMzc0MUM3M0QzOEIwMDc5OTNDQiAvKiBXZWJJ
REJDb25uZWN0aW9uVG9TZXJ2ZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCkBAIC04MjQ3LDYg
KzgzNzYsNyBAQAogCQkJCUNEQTI5QTFCMUNCREJGNDEwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyLmggaW4gSGVhZGVycyAqLywKIAkJCQlDREEyOUEyOTFDQkVCNjdBMDA5MDFD
Q0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlck1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywK
IAkJCQlDREEyOUEyMDFDQkVCNUZCMDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdl
clByb3h5LmggaW4gSGVhZGVycyAqLywKKwkJCQk0MTA0ODJDRTFEREQzMjRGMDBGMDA2RDAgLyog
UlRDTmV0d29yay5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMkIxQ0JFQjY3QTAwOTAxQ0NG
IC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAq
LywKIAkJCQkzMUQ1OTI5RjE2NkUwNjAwMDBFNkJGMDIgLyogV2ViUGx1Z0luQ2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQlCQzU3NDRGMDEyNjM4RkIzMDA2RjBGMTIgLyogV2ViUG9wdXBJdGVt
LmggaW4gSGVhZGVycyAqLywKQEAgLTg0MjAsNiArODU1MCw3IEBACiAJCQkJMDdBNUVCQkMxQzdC
QTQzRTAwQjlDQTY5IC8qIFdLRnJhbWVIYW5kbGVSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCTFB
NEQ2NjRDMThBMzAzMEUwMEQ4MkUyMSAvKiBXS0ZyYW1lSW5mby5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMkRGOUVFRTgxQTc4MjQ1NTAwQjZDRkJFIC8qIFdLRnJhbWVJbmZvSW50ZXJuYWwuaCBpbiBI
ZWFkZXJzICovLAorCQkJCTQxRkFGNUY4MUUzQzEwMjEwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNv
bHZlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2RkEyMUUxQkQwNDM1QjAwQUFBNjUwIC8qIFdL
RnJhbWVJbmZvUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQzQTY1RTcxQTdDM0FBNzAw
Q0FDNjM3IC8qIFdLRnJhbWVJbmZvUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0I5RjZBNTEx
MjNERDBEMDBBMTM3RTAgLyogV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggaW4gSGVhZGVycyAqLywK
QEAgLTg0NTksNiArODU5MCw3IEBACiAJCQkJMzcwRjM0QTMxODI5QkUxRTAwOTAyN0M4IC8qIFdL
TmF2aWdhdGlvbkRhdGEuaCBpbiBIZWFkZXJzICovLAogCQkJCTM3MEYzNEE1MTgyOUJFQTMwMDkw
MjdDOCAvKiBXS05hdmlnYXRpb25EYXRhSW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLAogCQkJCUJD
RjY5RkE5MTE3NkQxQ0IwMDQ3MUE1MiAvKiBXS05hdmlnYXRpb25EYXRhUmVmLmggaW4gSGVhZGVy
cyAqLywKKwkJCQk0MTFCMjI2NDFFMzcxQkE2MDA0RjczNjMgLyogTGliV2ViUlRDTmV0d29yay5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCQzNERkMxODk5RjUxQzAwNEYwNjI2IC8qIFdLTmF2aWdh
dGlvbkRlbGVnYXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUEyMEQ1MTE4QUQ1MEUwMDA1RDFF
RDQgLyogV0tOYXZpZ2F0aW9uRGVsZWdhdGVQcml2YXRlLmggaW4gSGVhZGVycyAqLywKIAkJCQkx
QUJDM0RGMTE4OTlDNkI2MDA0RjA2MjYgLyogV0tOYXZpZ2F0aW9uSW50ZXJuYWwuaCBpbiBIZWFk
ZXJzICovLApAQCAtODU4MSw2ICs4NzEzLDcgQEAKIAkJCQkzNzdFQUQ0OTE3RTJDNzdCMDAyRDE5
M0QgLyogV0tVc2VyU2NyaXB0SW5qZWN0aW9uVGltZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFB
RjA4OUQxOTI2N0ZDODAwQjYzOTBDIC8qIFdLVXNlclNjcmlwdEludGVybmFsLmggaW4gSGVhZGVy
cyAqLywKIAkJCQk3Qzg4MkRGQTFDN0U5OTczMDA2QkY3MzEgLyogV0tVc2VyU2NyaXB0UHJpdmF0
ZS5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjAxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJU
Q01vbml0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDODlEMkE0MUE2Nzg4NzUwMDNBNUZERSAv
KiBXS1VzZXJTY3JpcHRSZWYuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODY5OUI1MTE2QUFEQUEw
MDJBOTI1QiAvKiBXS1ZpZXcuaCBpbiBIZWFkZXJzICovLAogCQkJCUJDODY5OUI3MTE2QUFEQUEw
MDJBOTI1QiAvKiBXS1ZpZXdJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCkBAIC04NjI0LDYgKzg3
NTcsNyBAQAogCQkJCTFBREY1OTFCMTg5MDUyOEUwMDQzQzE0NSAvKiBXS1dlYlZpZXdDb25maWd1
cmF0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkyRDdBQUZENjE4Qzk1NkFGMDBBN0FDRDQgLyog
V0tXZWJWaWV3Q29uZmlndXJhdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUMx
NDE1MTE4QUM0N0VFMDA2QzYwMkMgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvblByaXZhdGUuaCBp
biBIZWFkZXJzICovLAorCQkJCTQxREM0NTlDMUUzREJCMjgwMEIxMUY1MSAvKiBMaWJXZWJSVENT
b2NrZXRDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEN0FBRkQzMThDODY0MDYwMEE3QUNE
NCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTJEQzZE
OUMzMThDNDRBNjEwMDQzQkFENCAvKiBXS1dlYlZpZXdDb250ZW50UHJvdmlkZXJSZWdpc3RyeS5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJMUE2NkJGOEYxOEEwNTJFRDAwMjA3MUI0IC8qIFdLV2ViVmll
d0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKQEAgLTkyMzEsNyArOTM2NSw5IEBACiAJCQkJMUE0
M0U4MjkxODhGM0NEQzAwOUU0RDMwIC8qIF9XS1Byb2Nlc3NQb29sQ29uZmlndXJhdGlvbi5tbSBp
biBTb3VyY2VzICovLAogCQkJCTFBOUUzMjhFMTgyMTY1QTkwMEY1RDA0QyAvKiBfV0tSZW1vdGVP
YmplY3RJbnRlcmZhY2UubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQTlFMzI4QTE4MjE2MzY5MDBG
NUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0UmVnaXN0cnkubW0gaW4gU291cmNlcyAqLywKKwkJCQk0
MTA0ODJDRDFEREQzMjRDMDBGMDA2RDAgLyogUlRDTmV0d29yay5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQlBNTVCQTgxMTFCQTEzMTgxMDA3Q0QzM0QgLyogX1dLUmVtb3RlV2ViSW5zcGVjdG9yVmll
d0NvbnRyb2xsZXIubW0gaW4gU291cmNlcyAqLywKKwkJCQk0MURDNDVBMTFFM0RDNTNGMDBCMTFG
NTEgLyogV2ViUlRDUmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMUEwMDJENDUxOTZC
MzM4RTAwQjlBRDQ0IC8qIF9XS1Nlc3Npb25TdGF0ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTJE
NkIzNzFDMThBOTY3QUQwMDQyQUU4MCAvKiBfV0tUaHVtYm5haWxWaWV3Lm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJN0MyNDEzMDIxQUFDRkE3NTAwQTU4QzE1IC8qIF9XS1VzZXJDb250ZW50RXh0ZW5z
aW9uU3RvcmUubW0gaW4gU291cmNlcyAqLywKQEAgLTkzNTUsNiArOTQ5MSw3IEBACiAJCQkJOENG
RUNFOTQxNDkwRjE0MDAwMkFBQTMyIC8qIEVkaXRvclN0YXRlLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCUJDMDMyREE3MTBGNDM3RDEwMDU4QzE1QSAvKiBFbmNvZGVyLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCTUxQjE1QTg0MTM4NDNBMzkwMDMyMUFEOCAvKiBFbnZpcm9ubWVudFV0aWxpdGllcy5j
cHAgaW4gU291cmNlcyAqLywKKwkJCQk0MTMwNzVBRjFERTg1RjU4MDAzOUVDNjkgLyogV2ViUlRD
TW9uaXRvci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzVGQTE0OTZCNTI2MDBBNEVFMDYg
LyogRXZlbnREaXNwYXRjaGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBQTU3NjAyMTQ5NkI5
NzkwMEE0RUUwNiAvKiBFdmVudERpc3BhdGNoZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMDBCOTY2MTkxOEUyNUFFMTAwQ0UxRjg4IC8qIEZpbmRDbGllbnQubW0gaW4g
U291cmNlcyAqLywKQEAgLTk1MDgsNiArOTY0NSw3IEBACiAJCQkJNUM4NUM3ODgxQzNGMjNDRTAw
NjFBNEZBIC8qIFBlbmRpbmdEb3dubG9hZC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkwRjVFMjAw
MzE4RTc3MDUxMDAzRUMzRTUgLyogUGxhdGZvcm1DQUFuaW1hdGlvblJlbW90ZS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTJEQTA0OUIzMTgwQ0NDRDMwMEFBRkE5RSAvKiBQbGF0Zm9ybUNBTGF5ZXJS
ZW1vdGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QTkxREU4NUYyQzAwMzlFQzY5IC8q
IE5ldHdvcmtSVENTb2NrZXQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMkQ4NzEwMTYxODI4NDE1
RDAwMThGQTAxIC8qIFBsYXRmb3JtQ0FMYXllclJlbW90ZUN1c3RvbS5tbSBpbiBTb3VyY2VzICov
LAogCQkJCTJEODk0OUYwMTgyMDQ0RjYwMEU4OThBQSAvKiBQbGF0Zm9ybUNBTGF5ZXJSZW1vdGVU
aWxlZEJhY2tpbmcuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNDNDNBQkExMjdCOTVEQzAwMzE3
RjE2IC8qIFBsYXRmb3JtUG9wdXBNZW51RGF0YS5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk2OTks
NiArOTgzNyw3IEBACiAJCQkJQkMxMTFCNUUxMTJGNjI5ODAwMzM3QkFCIC8qIFdlYkV2ZW50RmFj
dG9yeS5tbSBpbiBTb3VyY2VzICovLAogCQkJCUJDRTQ2OTUzMTIxNEU2Q0IwMDBCOThFQiAvKiBX
ZWJGb3JtQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDRTQ2OTU1MTIxNEU2Q0IwMDBC
OThFQiAvKiBXZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNDFEQzQ1OTcxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzExMUFERDExMkY1QjkzMDAzMzdCQUIgLyogV2ViRnJhbWUu
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkNFNDY5NzkxMjE0RjJCNDAwMEI5OEVCIC8qIFdlYkZy
YW1lTGlzdGVuZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzExMUE1RjExMkY0RkJC
MDAzMzdCQUIgLyogV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05
NzE3LDYgKzk4NTYsNyBAQAogCQkJCUJDMEU2MDYxMTJENkJBOTEwMDEyQTcyQSAvKiBXZWJHZW9s
b2NhdGlvbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM1
NENBQ0MxMkQ2NDI5MTAwNUM2N0IwIC8qIFdlYkdlb2xvY2F0aW9uTWFuYWdlclByb3h5LmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDMEU2MTgyMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2Nh
dGlvbk1hbmFnZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0
MTMwNzVBRTFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCBpbiBTb3VyY2Vz
ICovLAogCQkJCUJDMEU2MDc0MTJENkJDMjAwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvblBvc2l0
aW9uLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDMUJFMUYzMTJENTREQkQwMDA0QTIyOCAvKiBX
ZWJHZW9sb2NhdGlvblByb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJENTAzNjc1MUJD
RUQxOUYwMEUyMEJCMyAvKiBXZWJHZXN0dXJlRXZlbnQuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05
ODM2LDYgKzk5NzYsMTIgQEAKIAkJCQkzNzYwODgxRTE1MDQxM0U5MDBGQzgyQzcgLyogV2ViUmVu
ZGVyT2JqZWN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxMEFGRkI5MTY1NDIwNDgwMDFCQTA1
RSAvKiBXZWJSZXNvdXJjZUxvYWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUYwNjBFMTE2
NTQzMTg1MDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGlu
IFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tl
dE1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1
MDBGMzI4MkMgLyogV2ViUlRDUmVzb2x2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFEIC8qIE5ldHdvcmtSVENTb2NrZXRNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMy
ODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk1MUYwNjBFMTE2NTQzMTg1MDBGMzI4MUUgLyogTmV0d29ya1JUQ01vbml0b3JNZXNz
YWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMy
ODFGIC8qIFdlYlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJN0E3OTFFRkMxQzdEMDhDNTAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NT
dG9yZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QTc5MUVGQTFDN0NGQ0YxMDBDNEM1MkIgLyog
V2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3Vy
Y2VzICovLAogCQkJCTdDMzYxRDcyMTkyN0ZBMzYwMDM2QTU5RCAvKiBXZWJTY3JpcHRNZXNzYWdl
SGFuZGxlci5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk4NDYsNiArOTk5Miw3IEBACiAJCQkJMUE0
ODMyQzMxQTk2NUEzQzAwOEI0REZFIC8qIFdlYnNpdGVEYXRhU3RvcmVDb2NvYS5tbSBpbiBTb3Vy
Y2VzICovLAogCQkJCTVDNzcwNjc0MUQxMTM4MzgwMDEyNzAwRiAvKiBXZWJTb2NrZXRQcm92aWRl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4MzYwMzQ5RjFBQ0IzNEQ2MDA2MjY1NDkgLyogV2Vi
U1FMaXRlRGF0YWJhc2VUcmFja2VyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxREM0NTlCMUUz
REJCMjgwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJMUE1MkMwRjcxQTM4Q0RDNzAwMTYxNjBBIC8qIFdlYlN0b3JhZ2VOYW1lc3BhY2VQcm92
aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0M1NzE1QzExNUFEQUVGMDAxQ0NBRjkgLyog
V2ViU3lzdGVtSW50ZXJmYWNlLm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJNTEwMzJGMTgxODBGNzNC
QjAwOTYxQkI3IC8qIFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTk4NjMsMTAgKzEwMDEwLDEyIEBACiAJCQkJM0Y0MThFRjkxODg3QkQ5NzAwMjc5
NUZEIC8qIFdlYlZpZGVvRnVsbHNjcmVlbk1hbmFnZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJNTJENUExQjExQzU3NDk2MjAwREUzNEEzIC8qIFdlYlZpZGVvRnVsbHNj
cmVlbk1hbmFnZXJQcm94eS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTNGNDE4RUZCMTg4N0JEOTcw
MDI3OTVGRCAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QjMxREU4NUY1ODAwMzlFQzY5IC8qIExpYldl
YlJUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJERkM3REJDMUJDQ0MxOTUwMEMx
NTQ4QyAvKiBXZWJWaWV3SW1wbC5tbSBpbiBTb3VyY2VzICovLAogCQkJCUMwMzM3REQxMTI3QTI5
ODAwMDhGRjRGNCAvKiBXZWJXaGVlbEV2ZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTg2ODE2
MEQwMTg3NjQ1NTcwMDIxRTc5RCAvKiBXaW5kb3dTZXJ2ZXJDb25uZWN0aW9uLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJMjlDRDU1QUIxMjhFMjk0RjAwMTMzQzg1IC8qIFdLQWNjZXNzaWJpbGl0eVdl
YlBhZ2VPYmplY3RCYXNlLm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QjExREU4NUY1ODAw
MzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJ
MjkyMzJERjgxOEIyQTlBRTAwRDA1OTZGIC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBhZ2VPYmplY3RJ
T1MubW0gaW4gU291cmNlcyAqLywKIAkJCQkyOTIzMkRGOTE4QjJBQjNBMDBEMDU5NkYgLyogV0tB
Y2Nlc3NpYmlsaXR5V2ViUGFnZU9iamVjdE1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTBGQ0I0
RTQ5MThCQkUwNDQwMDBGQ0ZDOSAvKiBXS0FjdGlvblNoZWV0Lm1tIGluIFNvdXJjZXMgKi8sCkBA
IC05ODg0LDYgKzEwMDMzLDcgQEAKIAkJCQlCQ0JBQUNGNTE0NTIzMjRGMDA1M0Y4MkYgLyogV0tC
cm93c2luZ0NvbnRleHRHcm91cC5tbSBpbiBTb3VyY2VzICovLAogCQkJCTFBRTAwRDRDMTgyRDZF
QjAwMDA4N0RENyAvKiBXS0Jyb3dzaW5nQ29udGV4dEhhbmRsZS5tbSBpbiBTb3VyY2VzICovLAog
CQkJCUJDMjA0RUVFMTFDODNFQzgwMDhGMzM3NSAvKiBXS0J1bmRsZS5jcHAgaW4gU291cmNlcyAq
LywKKwkJCQk0MTMwNzVBQTFERTg1RjMwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuY3Bw
IGluIFNvdXJjZXMgKi8sCiAJCQkJOTM1RUVCOUUxMjc3NjFBQzAwMzMyMkI4IC8qIFdLQnVuZGxl
QmFja0ZvcndhcmRMaXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzNUVFQkEwMTI3NzYxQUMw
MDMzMjJCOCAvKiBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJNTFGQTJENzcxNTIxMkUyNjAwQzFCQTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5z
aW9uLmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTg5OCw2ICsxMDA0OCw3IEBACiAJCQkJN0NGNDdG
RjYxNzI3NUI3MTAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lci5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQk3Q0Y0N0ZGRTE3Mjc2QUUzMDA4QUNCOTEgLyogV0tCdW5kbGVQYWdlQmFubmVyTWFj
Lm1tIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM3QjYzM0UxMkE0NUQxMjAwRDE3NEE0IC8qIFdLQnVu
ZGxlUGFnZUdyb3VwLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxRkFGNUY5MUUzQzEwMjUwMDFB
RTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlFRENBNzFC
NzEyOEREQThDMDAyMDFCMjYgLyogV0tCdW5kbGVQYWdlT3ZlcmxheS5jcHAgaW4gU291cmNlcyAq
LywKIAkJCQlCQzYwQzU3QTEyNDBBNTQ2MDA4QzVFMjkgLyogV0tCdW5kbGVSYW5nZUhhbmRsZS5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzE0REY5RTEyMEI2MzVGMDA4MjZDMEMgLyogV0tCdW5k
bGVTY3JpcHRXb3JsZC5jcHAgaW4gU291cmNlcyAqLywKQEAgLTk5MjYsNiArMTAwNzcsNyBAQAog
CQkJCUJDMDE3RDIwMTYyNjMzMDgwMDcwNTRGNSAvKiBXS0RPTVRleHRJdGVyYXRvci5tbSBpbiBT
b3VyY2VzICovLAogCQkJCTFBQjdENzhFMTI4OENEOUEwMENGRDA4QyAvKiBXS0Rvd25sb2FkLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTFBRjQ1OTJFMTk0NjRCMjAwMEY5RDRBMiAvKiBXS0Vycm9y
Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDFEQzQ1OUUxRTNEQkRBMTAwQjExRjUxIC8qIFdlYlJU
Q1NvY2tldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQ0ZENTQ4QjEzMkQ4MjY4MDA1NUQ4MTYg
LyogV0tFcnJvckNGLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNDA3NUZCMTI0RkYwMjcwMDY4
RjIwQSAvKiBXS0Vycm9yUmVmLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUE1OEI2RjA5MThGQ0E3
MzMwMDhDQkE1MyAvKiBXS0ZpbGVVcGxvYWRQYW5lbC5tbSBpbiBTb3VyY2VzICovLApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29u
bmVjdGlvbi5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uLmNwcAppbmRleCAwOGFiMWUzNTUxNmYxOGQ5YzBkNDU3ZWY2MTQ0MTlh
OWJjMzAwZDc2Li42NDAzYzc0NmU4OWU1ZTJiMDYyODFmM2JkZDNlMzc3M2I0NGY1NGViIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0d29ya1Byb2Nlc3ND
b25uZWN0aW9uLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNwcApAQCAtMzEsNiArMzEsMTAgQEAKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJMb2FkZXJTdHJhdGVneS5oIgog
I2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJSVENNb25pdG9yLmgiCisjaW5j
bHVkZSAiV2ViUlRDTW9uaXRvck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUlRDUmVzb2x2ZXJN
ZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlJUQ1NvY2tldE1lc3NhZ2VzLmgiCiAjaW5jbHVkZSAi
V2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIgogI2luY2x1ZGUgPFdlYkNvcmUvQ2FjaGVkUmVz
b3VyY2UuaD4KICNpbmNsdWRlIDxXZWJDb3JlL01lbW9yeUNhY2hlLmg+CkBAIC01NCwxMiArNTgs
MjYgQEAgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjp+TmV0d29ya1Byb2Nlc3NDb25uZWN0aW9u
KCkKIHZvaWQgTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uOjpkaWRSZWNlaXZlTWVzc2FnZShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24sIElQQzo6RGVjb2RlciYgZGVjb2RlcikKIHsKICAgICBp
ZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6OldlYlJlc291cmNl
TG9hZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKLSAgICAgICAgaWYgKFdlYlJlc291cmNl
TG9hZGVyKiB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLndlYkxv
YWRlclN0cmF0ZWd5KCkud2ViUmVzb3VyY2VMb2FkZXJGb3JJZGVudGlmaWVyKGRlY29kZXIuZGVz
dGluYXRpb25JRCgpKSkKKyAgICAgICAgaWYgKGF1dG8qIHdlYlJlc291cmNlTG9hZGVyID0gV2Vi
UHJvY2Vzczo6c2luZ2xldG9uKCkud2ViTG9hZGVyU3RyYXRlZ3koKS53ZWJSZXNvdXJjZUxvYWRl
ckZvcklkZW50aWZpZXIoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCkpKQogICAgICAgICAgICAgd2Vi
UmVzb3VyY2VMb2FkZXItPmRpZFJlY2VpdmVXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2UoY29ubmVj
dGlvbiwgZGVjb2Rlcik7Ci0gICAgICAgIAogICAgICAgICByZXR1cm47CiAgICAgfQogCisjaWYg
VVNFKExJQldFQlJUQykKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0g
TWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAgICAg
IFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5zb2NrZXQoZGVjb2Rl
ci5kZXN0aW5hdGlvbklEKCkpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZl
ck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUlRDTW9uaXRvcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgp
KSB7CisgICAgICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5t
b25pdG9yKCkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVjb2Rlcik7CisgICAgICAg
IHJldHVybjsKKyAgICB9CisgICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09
IE1lc3NhZ2VzOjpXZWJSVENSZXNvbHZlcjo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CisgICAg
ICAgIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldlYlJUQ05ldHdvcmsoKS5yZXNvbHZlcihk
ZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkuZGlkUmVjZWl2ZU1lc3NhZ2UoY29ubmVjdGlvbiwgZGVj
b2Rlcik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisjZW5kaWYKKwogICAgIGRpZFJlY2VpdmVO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwogfQog
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ05ldHdvcmsuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDTmV0d29yay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjJhOWM1YmE3M2Y4ODQzNjUzN2NmMmVj
MThlMWQyYzQ2MmU2ZGYxY2QKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaApAQCAtMCwwICsxLDU0IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5j
bHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorI2luY2x1ZGUgIldlYlJUQ01vbml0b3Iu
aCIKKyNpbmNsdWRlICJXZWJSVENSZXNvbHZlci5oIgorI2luY2x1ZGUgIldlYlJUQ1NvY2tldC5o
IgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTGliV2ViUlRDTmV0d29yayB7CitwdWJs
aWM6CisgICAgTGliV2ViUlRDTmV0d29yaygpID0gZGVmYXVsdDsKKworICAgIFdlYlJUQ01vbml0
b3ImIG1vbml0b3IoKSB7IHJldHVybiBtX3dlYk5ldHdvcmtNb25pdG9yOyB9CisgICAgTGliV2Vi
UlRDU29ja2V0RmFjdG9yeSYgc29ja2V0RmFjdG9yeSgpIHsgcmV0dXJuIG1fc29ja2V0RmFjdG9y
eTsgfQorCisgICAgV2ViUlRDU29ja2V0IHNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJl
dHVybiBXZWJSVENTb2NrZXQoc29ja2V0RmFjdG9yeSgpLCBpZGVudGlmaWVyKTsgfQorICAgIFdl
YlJUQ1Jlc29sdmVyIHJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIpIHsgcmV0dXJuIFdlYlJU
Q1Jlc29sdmVyKHNvY2tldEZhY3RvcnkoKSwgaWRlbnRpZmllcik7IH0KKworcHJpdmF0ZToKKyAg
ICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5IG1fc29ja2V0RmFjdG9yeTsKKyAgICBXZWJSVENNb25p
dG9yIG1fd2ViTmV0d29ya01vbml0b3I7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJvdmlkZXIuY3BwCm5ldyBm
aWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAuLmMzYWUyNjVjYTJjNTBiNTQ1NGVlZmEwMGM0OTNhMTA5NGY2N2YzMDMKLS0tIC9kZXYv
bnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1Byb3ZpZGVyLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
ImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ1Byb3ZpZGVyLmgiCisKKyNpZiBVU0UoTElC
V0VCUlRDKQorCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGli
V2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYXBpL3BlZXJjb25uZWN0aW9uZmFjdG9y
eS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6
UGVlckNvbm5lY3Rpb25JbnRlcmZhY2U+IExpYldlYlJUQ1Byb3ZpZGVyOjpjcmVhdGVQZWVyQ29u
bmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImIG9ic2VydmVyKQoreworICAg
IHJldHVybiBXZWJDb3JlOjpjcmVhdGVQZWVyQ29ubmVjdGlvbihvYnNlcnZlciwgV2ViUHJvY2Vz
czo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLm1vbml0b3IoKSwgV2ViUHJvY2Vzczo6
c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLnNvY2tldEZhY3RvcnkoKSk7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUHJv
dmlkZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDUHJvdmlkZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi44N2RjMjNiOTBjOGRkMTk3NDNhNTk2OWM1Yzg2YzZk
NzlkNGQ1NWUxCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5oCkBAIC0wLDAgKzEsNDUgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjcHJhZ21hIG9uY2UKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDUHJvdmlk
ZXIuaD4KKworCituYW1lc3BhY2UgV2ViS2l0IHsKKworI2lmIFVTRShMSUJXRUJSVEMpCitjbGFz
cyBMaWJXZWJSVENQcm92aWRlciBmaW5hbCA6IHB1YmxpYyBXZWJDb3JlOjpMaWJXZWJSVENQcm92
aWRlciB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDUHJvdmlkZXIoKSA9IGRlZmF1bHQ7CisKK3By
aXZhdGU6CisgICAgcnRjOjpzY29wZWRfcmVmcHRyPHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25JbnRl
cmZhY2U+IGNyZWF0ZVBlZXJDb25uZWN0aW9uKHdlYnJ0Yzo6UGVlckNvbm5lY3Rpb25PYnNlcnZl
ciYpIGZpbmFsOworfTsKKyNlbHNlCit1c2luZyBMaWJXZWJSVENQcm92aWRlciA9IFdlYkNvcmU6
OkxpYldlYlJUQ1Byb3ZpZGVyOworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45Yzcx
ODc5MGY5ZTc5MzRkMjg5NWFlYWVhZmJlZWMyMTdlMjY5MmUwCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZl
ci5jcHAKQEAgLTAsMCArMSwxMDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiTGliV2ViUlRDUmVzb2x2ZXIuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisK
KyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJOZXR3b3Jr
UlRDUHJvdmlkZXJNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRl
IDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGlubGlu
ZSB2b2lkIHNlbmRPbk1haW5UaHJlYWQoRnVuY3Rpb248dm9pZChJUEM6OkNvbm5lY3Rpb24mKT4m
JiBjYWxsYmFjaykKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFtjYWxsYmFjayA9IFdURk1vdmUo
Y2FsbGJhY2spXSgpIHsKKyAgICAgICAgY2FsbGJhY2soV2ViUHJvY2Vzczo6c2luZ2xldG9uKCku
bmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkpOworICAgIH0pOworfQorCit2b2lkIExp
YldlYlJUQ1Jlc29sdmVyOjpTdGFydChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3Mp
Cit7CisgICAgbV9pc1Jlc29sdmluZyA9IHRydWU7CisgICAgbV9hZGRyZXNzVG9SZXNvbHZlID0g
YWRkcmVzczsKKyAgICBtX3BvcnQgPSBhZGRyZXNzLnBvcnQoKTsKKyAgICBhdXRvIGlkZW50aWZp
ZXIgPSBtX2lkZW50aWZpZXI7CisgICAgc2VuZE9uTWFpblRocmVhZChbaWRlbnRpZmllciwgYWRk
cmVzc10oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGF1dG8gYWRkcmVz
c1N0cmluZyA9IGFkZHJlc3MuSG9zdEFzVVJJU3RyaW5nKCk7CisgICAgICAgIGNvbm5lY3Rpb24u
c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDcmVhdGVSZXNvbHZlcihpZGVudGlm
aWVyLCBTdHJpbmcoYWRkcmVzc1N0cmluZy5kYXRhKCksIGFkZHJlc3NTdHJpbmcubGVuZ3RoKCkp
KSwgMCk7CisgICAgfSk7Cit9CisKK2Jvb2wgTGliV2ViUlRDUmVzb2x2ZXI6OkdldFJlc29sdmVk
QWRkcmVzcyhpbnQgZmFtaWx5LCBydGM6OlNvY2tldEFkZHJlc3MqIGFkZHJlc3MpIGNvbnN0Cit7
CisgICAgQVNTRVJUKGFkZHJlc3MpOworICAgIGlmIChtX2Vycm9yIHx8ICFtX2FkZHJlc3Nlcy5z
aXplKCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICphZGRyZXNzID0gbV9hZGRyZXNz
VG9SZXNvbHZlOworICAgIGZvciAoYXV0byYgaXBBZGRyZXNzIDogbV9hZGRyZXNzZXMpIHsKKyAg
ICAgICAgaWYgKGZhbWlseSA9PSBpcEFkZHJlc3MuZmFtaWx5KCkpIHsKKyAgICAgICAgICAgIGFk
ZHJlc3MtPlNldFJlc29sdmVkSVAoaXBBZGRyZXNzKTsKKyAgICAgICAgICAgIGFkZHJlc3MtPlNl
dFBvcnQobV9wb3J0KTsKKyAgICAgICAgICAgIHJldHVybiB0cnVlOworICAgICAgICB9CisgICAg
fQorICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBMaWJXZWJSVENSZXNvbHZlcjo6RGVzdHJv
eShib29sKQoreworICAgIGlmICghaXNSZXNvbHZpbmcoKSkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgYXV0byBpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyOworICAgIHNlbmRPbk1haW5UaHJlYWQo
W2lkZW50aWZpZXJdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBjb25u
ZWN0aW9uLnNlbmQoTWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6U3RvcFJlc29sdmVyKGlk
ZW50aWZpZXIpLCAwKTsKKyAgICB9KTsKKworICAgIC8vIExldCdzIHRha2UgdGhlIHJlc29sdmVy
IHNvIHRoYXQgaXQgZ2V0cyBkZXN0cm95ZWQgYXQgdGhlIGVuZCBvZiB0aGlzIGZ1bmN0aW9uLgor
ICAgIGF1dG8gcmVzb2x2ZXIgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVENOZXR3
b3JrKCkuc29ja2V0RmFjdG9yeSgpLnRha2VSZXNvbHZlcihtX2lkZW50aWZpZXIpOworICAgIEFT
U0VSVChyZXNvbHZlcik7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2ZXI6OnNldFJlc29sdmVk
QWRkcmVzcyhjb25zdCBWZWN0b3I8cnRjOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMpCit7CisgICAg
bV9hZGRyZXNzZXMgPSBhZGRyZXNzZXM7CisgICAgU2lnbmFsRG9uZSh0aGlzKTsKK30KKwordm9p
ZCBMaWJXZWJSVENSZXNvbHZlcjo6c2V0RXJyb3IoaW50IGVycm9yKQoreworICAgIG1fZXJyb3Ig
PSBlcnJvcjsKKyAgICBTaWduYWxEb25lKHRoaXMpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uOTM1YjYyOTc1ODM1OTlmMmJjMTk4ODY3NWZjNjZlMGJiODdlMzc2NgotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDUmVzb2x2ZXIuaApAQCAtMCwwICsxLDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENN
YWNyb3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+CisjaW5jbHVkZSA8
d2VicnRjL3AycC9iYXNlL3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKyNpbmNsdWRlIDx3dGYvVmVj
dG9yLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworY2xhc3MgTGliV2ViUlRDU29ja2V0RmFjdG9y
eTsKKworY2xhc3MgTGliV2ViUlRDUmVzb2x2ZXIgZmluYWwgOiBwdWJsaWMgcnRjOjpBc3luY1Jl
c29sdmVySW50ZXJmYWNlIHsKK3B1YmxpYzoKKyAgICBMaWJXZWJSVENSZXNvbHZlcih1aW50NjRf
dCBpZGVudGlmaWVyKSA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKSB7IH0KKworICAgIGJvb2wg
aXNSZXNvbHZpbmcoKSBjb25zdCB7IHJldHVybiBtX2lzUmVzb2x2aW5nOyB9CisgICAgdWludDY0
X3QgaWRlbnRpZmllcigpIGNvbnN0IHsgcmV0dXJuIG1faWRlbnRpZmllcjsgfQorCitwcml2YXRl
OgorICAgIGZyaWVuZCBjbGFzcyBXZWJSVENSZXNvbHZlcjsKKworICAgIC8vIEFzeW5jUmVzb2x2
ZXJJbnRlcmZhY2UgQVBJLgorICAgIHZvaWQgU3RhcnQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNz
JikgZmluYWw7CisgICAgYm9vbCBHZXRSZXNvbHZlZEFkZHJlc3MoaW50LCBydGM6OlNvY2tldEFk
ZHJlc3MqKSBjb25zdCBmaW5hbDsKKyAgICBpbnQgR2V0RXJyb3IoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiBtX2Vycm9yOyB9CisgICAgdm9pZCBEZXN0cm95KGJvb2wpIGZpbmFsOworCisgICAgdm9p
ZCBzZXRFcnJvcihpbnQpOworICAgIHZvaWQgc2V0UmVzb2x2ZWRBZGRyZXNzKGNvbnN0IFZlY3Rv
cjxydGM6OklQQWRkcmVzcz4mKTsKKworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllcjsKKyAgICBW
ZWN0b3I8cnRjOjpJUEFkZHJlc3M+IG1fYWRkcmVzc2VzOworICAgIHJ0Yzo6U29ja2V0QWRkcmVz
cyBtX2FkZHJlc3NUb1Jlc29sdmU7CisgICAgaW50IG1fZXJyb3IgeyAwIH07CisgICAgdWludDE2
X3QgbV9wb3J0IHsgMCB9OworICAgIGJvb2wgbV9pc1Jlc29sdmluZyB7IGZhbHNlIH07Cit9Owor
Cit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJU
Q1NvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xp
YldlYlJUQ1NvY2tldC5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzI5YTNkMjdiZTkzYTYwNWQ4ZDk4ZmFiYWY0
NDhiYTI1N2IyMjk5MwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmNwcApAQCAtMCwwICsxLDE5MyBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENTb2Nr
ZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNlLmgi
CisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorI2luY2x1ZGUgIk5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5o
IgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZl
ci5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFk
Lmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMgaW5saW5lIHZvaWQgc2VuZE9uTWFp
blRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlvbiYpPiYmIGNhbGxiYWNrKQorewor
ICAgIGNhbGxPbk1haW5UaHJlYWQoW2NhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgewor
ICAgICAgICBjYWxsYmFjayhXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5uZXR3b3JrQ29ubmVjdGlv
bigpLmNvbm5lY3Rpb24oKSk7CisgICAgfSk7Cit9CisKK0xpYldlYlJUQ1NvY2tldDo6TGliV2Vi
UlRDU29ja2V0KExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIGZhY3RvcnksIHVpbnQ2NF90IGlkZW50
aWZpZXIsIFR5cGUgdHlwZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3Ms
IGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcykKKyAgICA6IG1fZmFjdG9y
eShmYWN0b3J5KQorICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX3R5cGUo
dHlwZSkKKyAgICAsIG1fbG9jYWxBZGRyZXNzKGxvY2FsQWRkcmVzcykKKyAgICAsIG1fcmVtb3Rl
QWRkcmVzcyhyZW1vdGVBZGRyZXNzKQoreworICAgIG1lbXNldCgmbV9vcHRpb25zLCAxLCBNQVhf
U09DS0VUX09QVElPTik7CisKKyAgICBpZiAodHlwZSA9PSBUeXBlOjpDbGllbnRUQ1ApCisgICAg
ICAgIHJldHVybjsKKworICAgIFdlYlJUQ1NvY2tldDo6c2lnbmFsT25OZXR3b3JrVGhyZWFkKG1f
ZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAg
ICAgICBzb2NrZXQuc2lnbmFsQWRkcmVzc1JlYWR5KCk7CisgICAgfSk7Cit9CisKK0xpYldlYlJU
Q1NvY2tldDo6fkxpYldlYlJUQ1NvY2tldCgpCit7CisgICAgbV9mYWN0b3J5LmRldGFjaCgqdGhp
cyk7Cit9CisKK3J0Yzo6U29ja2V0QWRkcmVzcyBMaWJXZWJSVENTb2NrZXQ6OkdldExvY2FsQWRk
cmVzcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fbG9jYWxBZGRyZXNzOworfQorCitydGM6OlNv
Y2tldEFkZHJlc3MgTGliV2ViUlRDU29ja2V0OjpHZXRSZW1vdGVBZGRyZXNzKCkgY29uc3QKK3sK
KyAgICByZXR1cm4gbV9yZW1vdGVBZGRyZXNzOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldDo6
c2lnbmFsQWRkcmVzc1JlYWR5KCkKK3sKKyAgICBBU1NFUlQobV90eXBlICE9IFR5cGU6OkNsaWVu
dFRDUCk7CisgICAgbV9zdGF0ZSA9IFNUQVRFX0JPVU5EOworICAgIFNpZ25hbEFkZHJlc3NSZWFk
eSh0aGlzLCBtX2xvY2FsQWRkcmVzcyk7Cit9CisKK3ZvaWQgTGliV2ViUlRDU29ja2V0OjpzaWdu
YWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJiBhZGRyZXNzKQoreworICAgIEFTU0VSVChtX3R5
cGUgPT0gVHlwZTo6Q2xpZW50VENQKTsKKyAgICBtX2xvY2FsQWRkcmVzcy5Gcm9tU3RyaW5nKGFk
ZHJlc3MudXRmOCgpLmRhdGEoKSk7CisgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5FQ1RFRDsKKyAg
ICBTaWduYWxBZGRyZXNzUmVhZHkodGhpcywgbV9sb2NhbEFkZHJlc3MpOworfQorCit2b2lkIExp
YldlYlJUQ1NvY2tldDo6c2lnbmFsUmVhZFBhY2tldChjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZm
ZXImIGJ1ZmZlciwgcnRjOjpTb2NrZXRBZGRyZXNzJiYgYWRkcmVzcywgaW50NjRfdCB0aW1lc3Rh
bXApCit7CisgICAgbV9yZW1vdGVBZGRyZXNzID0gV1RGTW92ZShhZGRyZXNzKTsKKyAgICBTaWdu
YWxSZWFkUGFja2V0KHRoaXMsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5zaXplKCksIG1fcmVtb3Rl
QWRkcmVzcywgcnRjOjpQYWNrZXRUaW1lKHRpbWVzdGFtcCwgMCkpOworfQorCit2b2lkIExpYldl
YlJUQ1NvY2tldDo6c2lnbmFsU2VudFBhY2tldChpbnQgcnRjUGFja2V0SUQsIGludDY0X3Qgc2Vu
ZFRpbWVNcykKK3sKKyAgICBtX2F2YWlsYWJsZVNlbmRpbmdCeXRlcyArPSBtX2JlaW5nU2VudFBh
Y2tldFNpemVzLnRha2VGaXJzdCgpOworICAgIFNpZ25hbFNlbnRQYWNrZXQodGhpcywgcnRjOjpT
ZW50UGFja2V0KHJ0Y1BhY2tldElELCBzZW5kVGltZU1zKSk7CisgICAgaWYgKG1fc2hvdWxkU2ln
bmFsUmVhZHlUb1NlbmQpIHsKKyAgICAgICAgbV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCA9IGZh
bHNlOworICAgICAgICBTaWduYWxSZWFkeVRvU2VuZCh0aGlzKTsKKyAgICB9Cit9CisKK3ZvaWQg
TGliV2ViUlRDU29ja2V0OjpzaWduYWxDb25uZWN0KCkKK3sKKyAgICBtX3N0YXRlID0gU1RBVEVf
Q09OTkVDVEVEOworICAgIFNpZ25hbENvbm5lY3QodGhpcyk7Cit9CisKK3ZvaWQgTGliV2ViUlRD
U29ja2V0OjpzaWduYWxDbG9zZShpbnQgZXJyb3IpCit7CisgICAgbV9zdGF0ZSA9IFNUQVRFX0NM
T1NFRDsKKyAgICBTaWduYWxDbG9zZSh0aGlzLCBlcnJvcik7Cit9CisKK3N0YXRpYyBpbmxpbmUg
U3RyaW5nIGF1dGhLZXkoY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBvcHRpb25zKQoreworICAg
IGlmIChvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfa2V5LnNpemUoKSA8PSAw
KQorICAgICAgICByZXR1cm4geyB9OworICAgIHJldHVybiBTdHJpbmcob3B0aW9ucy5wYWNrZXRf
dGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5kYXRhKCksIG9wdGlvbnMucGFja2V0X3RpbWVfcGFy
YW1zLnNydHBfYXV0aF9rZXkuc2l6ZSgpKTsKK30KKworYm9vbCBMaWJXZWJSVENTb2NrZXQ6Ondp
bGxTZW5kKHNpemVfdCBzaXplKQoreworICAgIGlmIChzaXplID4gbV9hdmFpbGFibGVTZW5kaW5n
Qnl0ZXMpIHsKKyAgICAgICAgbV9zaG91bGRTaWduYWxSZWFkeVRvU2VuZCA9IHRydWU7CisgICAg
ICAgIHNldEVycm9yKEVXT1VMREJMT0NLKTsKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIH0K
KyAgICBtX2F2YWlsYWJsZVNlbmRpbmdCeXRlcyAtPSBzaXplOworICAgIG1fYmVpbmdTZW50UGFj
a2V0U2l6ZXMuYXBwZW5kKHNpemUpOworICAgIHJldHVybiB0cnVlOworfQorCitpbnQgTGliV2Vi
UlRDU29ja2V0OjpTZW5kVG8oY29uc3Qgdm9pZCAqdmFsdWUsIHNpemVfdCBzaXplLCBjb25zdCBy
dGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0
aW9ucykKK3sKKyAgICBpZiAoIXdpbGxTZW5kKHNpemUpKQorICAgICAgICByZXR1cm4gLTE7CisK
KyAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHN0YXRpY19j
YXN0PGNvbnN0IHVpbnQ4X3QqPih2YWx1ZSksIHNpemUpOworICAgIGF1dG8gaWRlbnRpZmllciA9
IHRoaXMtPmlkZW50aWZpZXIoKTsKKworICAgIHNlbmRPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIs
IGJ1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcywgb3B0aW9uc10oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIElQQzo6RGF0YVJlZmVyZW5jZSBkYXRhKHJlaW50
ZXJwcmV0X2Nhc3Q8Y29uc3QgdWludDhfdCo+KGJ1ZmZlci0+ZGF0YSgpKSwgYnVmZmVyLT5zaXpl
KCkpOworICAgICAgICBTdHJpbmcgc3J0cEF1dGhLZXkgPSBhdXRoS2V5KG9wdGlvbnMpOworICAg
ICAgICBNZXNzYWdlczo6TmV0d29ya1JUQ1NvY2tldDo6U2VuZFRvIG1lc3NhZ2UoZGF0YSwgUlRD
TmV0d29yazo6SVBBZGRyZXNzKGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgb3B0
aW9ucy5wYWNrZXRfaWQsIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9l
eHRlbnNpb25faWQsIHNydHBBdXRoS2V5LCBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRw
X3BhY2tldF9pbmRleCwgb3B0aW9ucy5kc2NwKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKFdU
Rk1vdmUobWVzc2FnZSksIGlkZW50aWZpZXIpOworICAgIH0pOworICAgIHJldHVybiBzaXplOwor
fQorCitpbnQgTGliV2ViUlRDU29ja2V0OjpDbG9zZSgpCit7CisgICAgYXV0byBpZGVudGlmaWVy
ID0gdGhpcy0+aWRlbnRpZmllcigpOworICAgIHNlbmRPbk1haW5UaHJlYWQoW2lkZW50aWZpZXJd
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBjb25uZWN0aW9uLnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6OkNsb3NlKCksIGlkZW50aWZpZXIpOworICAgIH0p
OworICAgIHJldHVybiAwOworfQorCitpbnQgTGliV2ViUlRDU29ja2V0OjpHZXRPcHRpb24ocnRj
OjpTb2NrZXQ6Ok9wdGlvbiBvcHRpb24sIGludCogdmFsdWUpCit7CisgICAgQVNTRVJUKG9wdGlv
biA8IE1BWF9TT0NLRVRfT1BUSU9OKTsKKyAgICBpbnQgc3RvcmVkVmFsdWUgPSBtX29wdGlvbnNb
b3B0aW9uXTsKKyAgICBpZiAoc3RvcmVkVmFsdWUgIT0gLTEpCisgICAgICAgICp2YWx1ZSA9IG1f
b3B0aW9uc1tvcHRpb25dOworICAgIHJldHVybiAwOworfQorCitpbnQgTGliV2ViUlRDU29ja2V0
OjpTZXRPcHRpb24ocnRjOjpTb2NrZXQ6Ok9wdGlvbiBvcHRpb24sIGludCB2YWx1ZSkKK3sKKyAg
ICBBU1NFUlQob3B0aW9uIDwgTUFYX1NPQ0tFVF9PUFRJT04pOworCisgICAgbV9vcHRpb25zW29w
dGlvbl0gPSB2YWx1ZTsKKworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZpZXIo
KTsKKyAgICBzZW5kT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBvcHRpb24sIHZhbHVlXShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUlRDU29ja2V0OjpTZXRPcHRpb24ob3B0aW9uLCB2YWx1ZSksIGlkZW50aWZp
ZXIpOworICAgIH0pOworICAgIHJldHVybiAwOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldC5oIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaApuZXcgZmlsZSBt
b2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
Li5lNGVjYTk4NDQxYTIzYjliMDQzNzJjZjY4MTMwMjZlMTc5MThiZmI5Ci0tLSAvZGV2L251bGwK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENT
b2NrZXQuaApAQCAtMCwwICsxLDEwNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisj
aWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9i
YXNlL2FzeW5jcGFja2V0c29ja2V0Lmg+CisjaW5jbHVkZSA8d3RmL0RlcXVlLmg+CisjaW5jbHVk
ZSA8d3RmL0ZvcndhcmQuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOwor
Y2xhc3MgRGF0YVJlZmVyZW5jZTsKK2NsYXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJD
b3JlIHsKK2NsYXNzIFNoYXJlZEJ1ZmZlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2Ns
YXNzIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk7CisKK2NsYXNzIExpYldlYlJUQ1NvY2tldCBmaW5h
bCA6IHB1YmxpYyBydGM6OkFzeW5jUGFja2V0U29ja2V0IHsKK3B1YmxpYzoKKyAgICBlbnVtIGNs
YXNzIFR5cGUgeyBVRFAsIFNlcnZlclRDUCwgQ2xpZW50VENQIH07CisKKyAgICBMaWJXZWJSVENT
b2NrZXQoTGliV2ViUlRDU29ja2V0RmFjdG9yeSYsIHVpbnQ2NF90IGlkZW50aWZpZXIsIFR5cGUs
IGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tl
dEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpOworICAgIH5MaWJXZWJSVENTb2NrZXQoKTsKKworICAg
IHVpbnQ2NF90IGlkZW50aWZpZXIoKSBjb25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKyAg
ICBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcygpIGNvbnN0IHsgcmV0dXJu
IG1fbG9jYWxBZGRyZXNzOyB9CisgICAgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVB
ZGRyZXNzKCkgY29uc3QgeyByZXR1cm4gbV9yZW1vdGVBZGRyZXNzOyB9CisKKyAgICB2b2lkIHNl
dEVycm9yKGludCBlcnJvcikgeyBtX2Vycm9yID0gZXJyb3I7IH0KKyAgICB2b2lkIHNldFN0YXRl
KFN0YXRlIHN0YXRlKSB7IG1fc3RhdGUgPSBzdGF0ZTsgfQorCitwcml2YXRlOgorICAgIGJvb2wg
d2lsbFNlbmQoc2l6ZV90KTsKKworICAgIGZyaWVuZCBjbGFzcyBXZWJSVENTb2NrZXQ7CisgICAg
dm9pZCBzaWduYWxSZWFkUGFja2V0KGNvbnN0IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciYsIHJ0Yzo6
U29ja2V0QWRkcmVzcyYmLCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQoaW50
LCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBTdHJpbmcmKTsK
KyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeSgpOworICAgIHZvaWQgc2lnbmFsQ29ubmVjdCgp
OworICAgIHZvaWQgc2lnbmFsQ2xvc2UoaW50KTsKKworICAgIC8vIEFzeW5jUGFja2V0U29ja2V0
IEFQSQorICAgIGludCBHZXRFcnJvcigpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIG1fZXJyb3I7IH0K
KyAgICB2b2lkIFNldEVycm9yKGludCBlcnJvcikgZmluYWwgeyBzZXRFcnJvcihlcnJvcik7IH0K
KyAgICBydGM6OlNvY2tldEFkZHJlc3MgR2V0TG9jYWxBZGRyZXNzKCkgY29uc3QgZmluYWw7Cisg
ICAgcnRjOjpTb2NrZXRBZGRyZXNzIEdldFJlbW90ZUFkZHJlc3MoKSBjb25zdCBmaW5hbDsKKyAg
ICBpbnQgU2VuZChjb25zdCB2b2lkICpwdiwgc2l6ZV90IGNiLCBjb25zdCBydGM6OlBhY2tldE9w
dGlvbnMmIG9wdGlvbnMpIGZpbmFsIHsgcmV0dXJuIFNlbmRUbyhwdiwgY2IsIG1fcmVtb3RlQWRk
cmVzcywgb3B0aW9ucyk7IH0KKyAgICBpbnQgU2VuZFRvKGNvbnN0IHZvaWQgKiwgc2l6ZV90LCBj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmKSBmaW5h
bDsKKyAgICBpbnQgQ2xvc2UoKSBmaW5hbDsKKyAgICBTdGF0ZSBHZXRTdGF0ZSgpIGNvbnN0IGZp
bmFsIHsgcmV0dXJuIG1fc3RhdGU7IH0KKyAgICBpbnQgR2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpP
cHRpb24sIGludCopIGZpbmFsOworICAgIGludCBTZXRPcHRpb24ocnRjOjpTb2NrZXQ6Ok9wdGlv
biwgaW50KSBmaW5hbDsKKworICAgIExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIG1fZmFjdG9yeTsK
KyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXIgeyAwIH07CisgICAgVHlwZSBtX3R5cGU7CisgICAg
cnRjOjpTb2NrZXRBZGRyZXNzIG1fbG9jYWxBZGRyZXNzOworICAgIHJ0Yzo6U29ja2V0QWRkcmVz
cyBtX3JlbW90ZUFkZHJlc3M7CisKKyAgICBpbnQgbV9lcnJvciB7IDAgfTsKKyAgICBTdGF0ZSBt
X3N0YXRlIHsgU1RBVEVfQklORElORyB9OworCisgICAgc3RhdGljIGNvbnN0IHVuc2lnbmVkIE1B
WF9TT0NLRVRfT1BUSU9OIHsgcnRjOjpTb2NrZXQ6Ok9QVF9SVFBfU0VORFRJTUVfRVhUTl9JRCAr
IDEgfTsKKyAgICBpbnQgbV9vcHRpb25zW01BWF9TT0NLRVRfT1BUSU9OXTsKKworICAgIERlcXVl
PHNpemVfdD4gbV9iZWluZ1NlbnRQYWNrZXRTaXplczsKKyAgICBzaXplX3QgbV9hdmFpbGFibGVT
ZW5kaW5nQnl0ZXMgeyA2NTUzNiB9OworICAgIGJvb2wgbV9zaG91bGRTaWduYWxSZWFkeVRvU2Vu
ZCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVT
RShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmNwcApuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwLi4zMjk2NzY2Y2EyMmU2NjdkNzdiMTJlNDk1YTMwYjc5NmRkZGM5NzJkCi0tLSAvZGV2L251
bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXRGYWN0b3J5LmNwcApAQCAtMCwwICsxLDExNiBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgiCisKKyNp
ZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgi
CisjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdv
cmtSVENQcm92aWRlck1lc3NhZ2VzLmgiCisjaW5jbHVkZSAiV2ViUHJvY2Vzcy5oIgorI2luY2x1
ZGUgIldlYlJUQ1NvY2tldC5oIgorI2luY2x1ZGUgPHd0Zi9NYWluVGhyZWFkLmg+CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCit1aW50NjRfdCBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpzX3VuaXF1
ZVNvY2tldElkZW50aWZpZXIgPSAwOwordWludDY0X3QgTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6
c191bmlxdWVSZXNvbHZlcklkZW50aWZpZXIgPSAwOworCitydGM6OkFzeW5jUGFja2V0U29ja2V0
KiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoY29uc3QgcnRj
OjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZf
dCBtYXhQb3J0LCBpbnQgb3B0aW9ucykKK3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91
bmlxdWU8TGliV2ViUlRDU29ja2V0PigqdGhpcywgKytzX3VuaXF1ZVNvY2tldElkZW50aWZpZXIs
IExpYldlYlJUQ1NvY2tldDo6VHlwZTo6U2VydmVyVENQLCBzb2NrZXRBZGRyZXNzLCBydGM6OlNv
Y2tldEFkZHJlc3MoKSk7CisgICAgbV9zb2NrZXRzLnNldChzb2NrZXQtPmlkZW50aWZpZXIoKSwg
c29ja2V0LmdldCgpKTsKKworICAgIGF1dG8gaWRlbnRpZmllciA9IHNvY2tldC0+aWRlbnRpZmll
cigpOworICAgIGF1dG8gYWRkcmVzcyA9IHNvY2tldC0+bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmco
KTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBhZGRyZXNzLCBtaW5Qb3J0LCBt
YXhQb3J0LCBvcHRpb25zXSgpIHsKKyAgICAgICAgU3RyaW5nIGFkZHJlc3NTdHJpbmcgPSBTdHJp
bmcoYWRkcmVzcy5kYXRhKCksIGFkZHJlc3MubGVuZ3RoKCkpOworICAgICAgICBpZiAoIVdlYlBy
b2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtSVENQcm92aWRlcjo6Q3JlYXRlU2VydmVyVENQU29ja2V0KGlkZW50
aWZpZXIsIGFkZHJlc3NTdHJpbmcsIG1pblBvcnQsIG1heFBvcnQsIG9wdGlvbnMpLCAwKSkgewor
ICAgICAgICAgICAgLy8gRklYTUU6IFNldCBlcnJvciBiYWNrIHRvIHNvY2tldAorICAgICAgICAg
ICAgcmV0dXJuOworICAgICAgICB9CisKKyAgICB9KTsKKworICAgIHJldHVybiBzb2NrZXQucmVs
ZWFzZSgpOworfQorCitydGM6OkFzeW5jUGFja2V0U29ja2V0KiBMaWJXZWJSVENTb2NrZXRGYWN0
b3J5OjpDcmVhdGVVZHBTb2NrZXQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRy
ZXNzLCB1aW50MTZfdCBtaW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KQoreworICAgIGF1dG8gc29j
a2V0ID0gc3RkOjptYWtlX3VuaXF1ZTxMaWJXZWJSVENTb2NrZXQ+KCp0aGlzLCArK3NfdW5pcXVl
U29ja2V0SWRlbnRpZmllciwgTGliV2ViUlRDU29ja2V0OjpUeXBlOjpTZXJ2ZXJUQ1AsIHNvY2tl
dEFkZHJlc3MsIHJ0Yzo6U29ja2V0QWRkcmVzcygpKTsKKyAgICBtX3NvY2tldHMuc2V0KHNvY2tl
dC0+aWRlbnRpZmllcigpLCBzb2NrZXQuZ2V0KCkpOworCisgICAgYXV0byBpZGVudGlmaWVyID0g
c29ja2V0LT5pZGVudGlmaWVyKCk7CisgICAgYXV0byBhZGRyZXNzID0gc29ja2V0LT5sb2NhbEFk
ZHJlc3MoKS5Ub1N0cmluZygpOworICAgIGNhbGxPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGFk
ZHJlc3MsIG1pblBvcnQsIG1heFBvcnRdKCkgeworICAgICAgICBTdHJpbmcgYWRkcmVzc1N0cmlu
ZyA9IFN0cmluZyhhZGRyZXNzLmRhdGEoKSwgYWRkcmVzcy5sZW5ndGgoKSk7CisgICAgICAgIGlm
ICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9u
KCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDcmVhdGVVRFBTb2NrZXQoaWRl
bnRpZmllciwgYWRkcmVzc1N0cmluZywgbWluUG9ydCwgbWF4UG9ydCksIDApKSB7CisgICAgICAg
ICAgICAvLyBGSVhNRTogU2V0IGVycm9yIGJhY2sgdG8gc29ja2V0CisgICAgICAgICAgICByZXR1
cm47CisgICAgICAgIH0KKyAgICB9KTsKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2UoKTsKK30K
KworcnRjOjpBc3luY1BhY2tldFNvY2tldCogTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRl
Q2xpZW50VGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxTb2NrZXRBZGRy
ZXNzLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIHJlbW90ZVNvY2tldEFkZHJlc3MsIGNvbnN0
IHJ0Yzo6UHJveHlJbmZvJiwgY29uc3Qgc3RkOjpzdHJpbmcmLCBpbnQgb3B0aW9ucykKK3sKKyAg
ICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDU29ja2V0PigqdGhpcywg
KytzX3VuaXF1ZVNvY2tldElkZW50aWZpZXIsIExpYldlYlJUQ1NvY2tldDo6VHlwZTo6U2VydmVy
VENQLCBsb2NhbFNvY2tldEFkZHJlc3MsIHJlbW90ZVNvY2tldEFkZHJlc3MpOworICAgIHNvY2tl
dC0+c2V0U3RhdGUoTGliV2ViUlRDU29ja2V0OjpTVEFURV9DT05ORUNUSU5HKTsKKyAgICBtX3Nv
Y2tldHMuc2V0KHNvY2tldC0+aWRlbnRpZmllcigpLCBzb2NrZXQuZ2V0KCkpOworCisgICAgYXV0
byBpZGVudGlmaWVyID0gc29ja2V0LT5pZGVudGlmaWVyKCk7CisgICAgYXV0byBsb2NhbEFkZHJl
c3MgPSBzb2NrZXQtPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7CisgICAgYXV0byByZW1vdGVB
ZGRyZXNzID0gc29ja2V0LT5yZW1vdGVBZGRyZXNzKCkuVG9TdHJpbmcoKTsKKyAgICBjYWxsT25N
YWluVGhyZWFkKFtpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3MsIHJlbW90ZUFkZHJlc3MsIG9wdGlv
bnNdKCkgeworICAgICAgICBTdHJpbmcgbG9jYWxBZGRyZXNzU3RyaW5nID0gU3RyaW5nKGxvY2Fs
QWRkcmVzcy5kYXRhKCksIGxvY2FsQWRkcmVzcy5sZW5ndGgoKSk7CisgICAgICAgIFN0cmluZyBy
ZW1vdGVBZGRyZXNzU3RyaW5nID0gU3RyaW5nKHJlbW90ZUFkZHJlc3MuZGF0YSgpLCByZW1vdGVB
ZGRyZXNzLmxlbmd0aCgpKTsKKyAgICAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS5u
ZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRD
UHJvdmlkZXI6OkNyZWF0ZUNsaWVudFRDUFNvY2tldChpZGVudGlmaWVyLCBsb2NhbEFkZHJlc3NT
dHJpbmcsIHJlbW90ZUFkZHJlc3NTdHJpbmcsIG9wdGlvbnMpLCAwKSkgeworICAgICAgICAgICAg
Ly8gRklYTUU6IFNldCBlcnJvciBiYWNrIHRvIHNvY2tldAorICAgICAgICAgICAgcmV0dXJuOwor
ICAgICAgICB9CisgICAgfSk7CisKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2UoKTsKK30KKwor
dm9pZCBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpkZXRhY2goTGliV2ViUlRDU29ja2V0JiBzb2Nr
ZXQpCit7CisgICAgQVNTRVJUKG1fc29ja2V0cy5jb250YWlucyhzb2NrZXQuaWRlbnRpZmllcigp
KSk7CisgICAgbV9zb2NrZXRzLnJlbW92ZShzb2NrZXQuaWRlbnRpZmllcigpKTsKK30KKworcnRj
OjpBc3luY1Jlc29sdmVySW50ZXJmYWNlKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVB
c3luY1Jlc29sdmVyKCkKK3sKKyAgICBhdXRvIHJlc29sdmVyID0gc3RkOjptYWtlX3VuaXF1ZTxM
aWJXZWJSVENSZXNvbHZlcj4oKytzX3VuaXF1ZVJlc29sdmVySWRlbnRpZmllcik7CisgICAgYXV0
byogcmVzb2x2ZXJQb2ludGVyID0gcmVzb2x2ZXIuZ2V0KCk7CisgICAgbV9yZXNvbHZlcnMuc2V0
KHJlc29sdmVyUG9pbnRlci0+aWRlbnRpZmllcigpLCBXVEZNb3ZlKHJlc29sdmVyKSk7CisgICAg
cmV0dXJuIHJlc29sdmVyUG9pbnRlcjsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNl
bmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggYi9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi4wMjNmMTc1NjFlMjdjMmNlMmFiNzc4NmJmOGY5MGFmZjNiNTA4MDdiCi0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9M
aWJXZWJSVENTb2NrZXRGYWN0b3J5LmgKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1Jl
c29sdmVyLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0LmgiCisjaW5jbHVkZSA8V2ViQ29y
ZS9MaWJXZWJSVENNYWNyb3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+
CisjaW5jbHVkZSA8d2VicnRjL3AycC9iYXNlL3BhY2tldHNvY2tldGZhY3RvcnkuaD4KKyNpbmNs
dWRlIDx3dGYvSGFzaE1hcC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgTGliV2Vi
UlRDU29ja2V0RmFjdG9yeSBmaW5hbCA6IHB1YmxpYyBydGM6OlBhY2tldFNvY2tldEZhY3Rvcnkg
eworcHVibGljOgorICAgIExpYldlYlJUQ1NvY2tldEZhY3RvcnkoKSB7IH0KKworICAgIHZvaWQg
ZGV0YWNoKExpYldlYlJUQ1NvY2tldCYpOworCisgICAgTGliV2ViUlRDU29ja2V0KiBzb2NrZXQo
dWludDY0X3QgaWRlbnRpZmllcikgeyByZXR1cm4gbV9zb2NrZXRzLmdldChpZGVudGlmaWVyKTsg
fQorICAgIExpYldlYlJUQ1Jlc29sdmVyKiByZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSB7
IHJldHVybiBtX3Jlc29sdmVycy5nZXQoaWRlbnRpZmllcik7IH0KKworICAgIHN0ZDo6dW5pcXVl
X3B0cjxMaWJXZWJSVENSZXNvbHZlcj4gdGFrZVJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIp
IHsgcmV0dXJuIG1fcmVzb2x2ZXJzLnRha2UoaWRlbnRpZmllcik7IH0KKworcHJpdmF0ZToKKyAg
ICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVVZHBTb2NrZXQoY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiwgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkgZmluYWw7Cisg
ICAgcnRjOjpBc3luY1BhY2tldFNvY2tldCogQ3JlYXRlU2VydmVyVGNwU29ja2V0KGNvbnN0IHJ0
Yzo6U29ja2V0QWRkcmVzcyYsIHVpbnQxNl90IG1pbl9wb3J0LCB1aW50MTZfdCBtYXhfcG9ydCwg
aW50IG9wdGlvbnMpIGZpbmFsOworICAgIHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqIENyZWF0ZUNs
aWVudFRjcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVBZGRyZXNzLCBjb25zdCBydGM6OlByb3h5SW5m
byYsIGNvbnN0IHN0ZDo6c3RyaW5nJiwgaW50IG9wdGlvbnMpOworICAgIHJ0Yzo6QXN5bmNSZXNv
bHZlckludGVyZmFjZSogQ3JlYXRlQXN5bmNSZXNvbHZlcigpIGZpbmFsOworCisgICAgLy8gV2Ug
Y2Fubm90IG93biBzb2NrZXRzLCBjbGllbnRzIG9mIHRoZSBmYWN0b3J5IGFyZSByZXNwb25zaWJs
ZSB0byBmcmVlIHRoZW0uCisgICAgSGFzaE1hcDx1aW50NjRfdCwgTGliV2ViUlRDU29ja2V0Kj4g
bV9zb2NrZXRzOworICAgIHN0YXRpYyB1aW50NjRfdCBzX3VuaXF1ZVNvY2tldElkZW50aWZpZXI7
CisgICAgCisgICAgLy8gV2UgY2FuIG93biByZXNvbHZlcnMgYXMgd2UgY29udHJvbCB0aGVpciBE
ZXN0cm95IG1ldGhvZC4KKyAgICBIYXNoTWFwPHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8TGli
V2ViUlRDUmVzb2x2ZXI+PiBtX3Jlc29sdmVyczsKKyAgICBzdGF0aWMgdWludDY0X3Qgc191bmlx
dWVSZXNvbHZlcklkZW50aWZpZXI7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2Vu
ZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmNwcApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jODNm
YzFiNjAxYzEzNGI5NDY3M2FlOWUwYzJkNDFlOGQxMGMzNzQ1Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmNw
cApAQCAtMCwwICsxLDk5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2lu
Y2x1ZGUgIldlYlJUQ01vbml0b3IuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRl
ICJOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCisjaW5jbHVkZSAiTmV0
d29ya1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3JNZXNz
YWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDT3JlL0xpYldl
YlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldGhlbHBlcnMuaD4KKyNpbmNs
dWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworc3RhdGljIGlu
bGluZSB2b2lkIHNlbmRPbk1haW5UaHJlYWQoRnVuY3Rpb248dm9pZChJUEM6OkNvbm5lY3Rpb24m
KT4mJiBjYWxsYmFjaykKK3sKKyAgICBjYWxsT25NYWluVGhyZWFkKFtjYWxsYmFjayA9IFdURk1v
dmUoY2FsbGJhY2spXSgpIHsKKyAgICAgICAgY2FsbGJhY2soV2ViUHJvY2Vzczo6c2luZ2xldG9u
KCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkpOworICAgIH0pOworfQorCit2b2lk
IFdlYlJUQ01vbml0b3I6OlN0YXJ0VXBkYXRpbmcoKQoreworICAgIGlmIChtX2NsaWVudENvdW50
KSB7CisgICAgICAgIC8vIE5lZWQgdG8gc2lnbmFsIG5ldyBjbGllbnQgdGhhdCB3ZSBhbHJlYWR5
IGhhdmUgdGhlIG5ldHdvcmsgbGlzdCwgbGV0J3MgZG8gaXQgYXN5bmNocm9ub3VzbHkKKyAgICAg
ICAgaWYgKG1fcmVjZWl2ZWROZXR3b3JrTGlzdCkgeworICAgICAgICAgICAgV2ViQ29yZTo6Y2Fs
bE9uV2ViUlRDTmV0d29ya1RocmVhZChbdGhpc10geworICAgICAgICAgICAgICAgIFNpZ25hbE5l
dHdvcmtzQ2hhbmdlZCgpOworICAgICAgICAgICAgfSk7CisgICAgICAgIH0KKyAgICB9IGVsc2Ug
eworICAgICAgICBtX3JlY2VpdmVkTmV0d29ya0xpc3QgPSBmYWxzZTsKKyAgICAgICAgc2VuZE9u
TWFpblRocmVhZChbXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgICAg
IGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ01vbml0b3I6OlN0YXJ0VXBkYXRp
bmcoKSwgMCk7CisgICAgICAgIH0pOworICAgIH0KKyAgICArK21fY2xpZW50Q291bnQ7Cit9CisK
K3ZvaWQgV2ViUlRDTW9uaXRvcjo6U3RvcFVwZGF0aW5nKCkKK3sKKyAgICBBU1NFUlQobV9jbGll
bnRDb3VudCk7CisgICAgaWYgKC0tbV9jbGllbnRDb3VudCkKKyAgICAgICAgcmV0dXJuOworCisg
ICAgc2VuZE9uTWFpblRocmVhZChbXShJUEM6OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAg
ICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpOZXR3b3JrUlRDTW9uaXRvcjo6U3RvcFVw
ZGF0aW5nKCksIDApOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ01vbml0b3I6Om5ldHdvcmtz
Q2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4mIG5ldHdvcmtzLCBjb25zdCBSVENOZXR3
b3JrOjpJUEFkZHJlc3MmIGlwdjQsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgaXB2NikK
K3sKKyAgICAvLyBObyBuZWVkIHRvIHByb3RlY3QgJ3RoaXMnIGFzIGl0IGhhcyB0aGUgbGlmZXRp
bWUgb2YgTGliV2ViUlRDIHdoaWNoIGhhcyB0aGUgbGlmZXRpbWUgb2YgdGhlIHdlYiBwcm9jZXNz
LgorICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJlYWQoW3RoaXMsIG5ldHdvcmtz
LCBpcHY0LCBpcHY2XSB7CisgICAgICAgIHN0ZDo6dmVjdG9yPHJ0Yzo6TmV0d29yayo+IG5ldHdv
cmtMaXN0KG5ldHdvcmtzLnNpemUoKSk7CisgICAgICAgIGZvciAoc2l6ZV90IGluZGV4ID0gMDsg
aW5kZXggPCBuZXR3b3Jrcy5zaXplKCk7ICsraW5kZXgpCisgICAgICAgICAgICBuZXR3b3JrTGlz
dFtpbmRleF0gPSBuZXcgcnRjOjpOZXR3b3JrKG5ldHdvcmtzW2luZGV4XS52YWx1ZSgpKTsKKwor
ICAgICAgICBib29sIGZvcmNlU2lnbmFsaW5nID0gIW1fcmVjZWl2ZWROZXR3b3JrTGlzdDsKKyAg
ICAgICAgbV9yZWNlaXZlZE5ldHdvcmtMaXN0ID0gdHJ1ZTsKKworICAgICAgICBib29sIGhhc0No
YW5nZWQ7CisgICAgICAgIHNldF9kZWZhdWx0X2xvY2FsX2FkZHJlc3NlcyhpcHY0LnZhbHVlLCBp
cHY2LnZhbHVlKTsKKyAgICAgICAgTWVyZ2VOZXR3b3JrTGlzdChuZXR3b3JrTGlzdCwgJmhhc0No
YW5nZWQpOworICAgICAgICBpZiAoaGFzQ2hhbmdlZCB8fCBmb3JjZVNpZ25hbGluZykKKyAgICAg
ICAgICAgIFNpZ25hbE5ldHdvcmtzQ2hhbmdlZCgpOworCisgICAgfSk7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmgK
bmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMC4uNjViNGYxMTUyZWJhZTlhZWY4MTA2NjZkZjA4NDgxNGNlNDczYmI0OQotLS0g
L2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMv
V2ViUlRDTW9uaXRvci5oCkBAIC0wLDAgKzEsNjEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBj
b2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJl
ZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMg
U09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBg
YEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBN
RVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBB
UkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFM
LCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBH
T09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lO
RVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9G
IExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4g
QU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQg
T0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9u
Y2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJSVENOZXR3b3JrLmgiCisjaW5j
bHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2luY2x1ZGUgPHd0Zi9WZWN0b3IuaD4K
KworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGVjb2RlcjsKK30K
KworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0cnVjdCBOZXR3b3Jrc0NoYW5nZWREYXRhOworCitj
bGFzcyBXZWJSVENNb25pdG9yIGZpbmFsIDogcHVibGljIHJ0Yzo6TmV0d29ya01hbmFnZXJCYXNl
IHsKK3B1YmxpYzoKKyAgICBXZWJSVENNb25pdG9yKCkgPSBkZWZhdWx0OworCisgICAgdm9pZCBk
aWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsKKworcHJp
dmF0ZToKKyAgICB2b2lkIG5ldHdvcmtzQ2hhbmdlZChjb25zdCBWZWN0b3I8UlRDTmV0d29yaz4m
IG5ldHdvcmtMaXN0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCBjb25zdCBSVENOZXR3
b3JrOjpJUEFkZHJlc3MmKTsKKworICAgIHZvaWQgU3RhcnRVcGRhdGluZygpIGZpbmFsOworICAg
IHZvaWQgU3RvcFVwZGF0aW5nKCkgZmluYWw7CisKKyAgICB1bnNpZ25lZCBtX2NsaWVudENvdW50
IHsgMCB9OworICAgIGJvb2wgbV9yZWNlaXZlZE5ldHdvcmtMaXN0IHsgZmFsc2UgfTsKK307CisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9u
aXRvci5tZXNzYWdlcy5pbiBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5lYWUxNzcwNDcwZjU0YWY1
Y2M3NDMzYTRkNjNlZTliNzY4ODE0MDQyCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktp
dDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLm1lc3NhZ2VzLmluCkBA
IC0wLDAgKzEsMjkgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAx
LiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisj
ICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUg
SU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVF
TlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKwor
I2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IFdlYlJUQ01vbml0b3IgeworICAgIHZv
aWQgTmV0d29ya3NDaGFuZ2VkKFZlY3RvcjxXZWJLaXQ6OlJUQ05ldHdvcms+IG5ldHdvcmtzLCBX
ZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBkZWZhdWx0SVBWNEFkZHJlc3MsIFdlYktpdDo6
UlRDTmV0d29yazo6SVBBZGRyZXNzIGRlZmF1bHRJUFY2QWRkcmVzcykKK30KKworI2VuZGlmIC8v
IFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQyZWQyZGRi
YTI1Y2UwMDEzNjNhYjQ0NThhNjM1NGYyZGViZDg5NWEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmNwcApA
QCAtMCwwICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1
ZGUgIldlYlJUQ1Jlc29sdmVyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAi
TGliV2ViUlRDUmVzb2x2ZXIuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5Lmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENVdGlscy5oPgorI2luY2x1ZGUgPHd0Zi9GdW5j
dGlvbi5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUlRDUmVzb2x2ZXI6OldlYlJUQ1Jl
c29sdmVyKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIHNvY2tldEZhY3RvcnksIHVpbnQ2NF90IGlk
ZW50aWZpZXIpCisgICAgOiBtX3NvY2tldEZhY3Rvcnkoc29ja2V0RmFjdG9yeSkKKyAgICAsIG1f
aWRlbnRpZmllcihpZGVudGlmaWVyKQoreworfQorCit2b2lkIFdlYlJUQ1Jlc29sdmVyOjpzZXRS
ZXNvbHZlZEFkZHJlc3MoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms6OklQQWRkcmVzcz4mIGFkZHJl
c3NlcykKK3sKKyAgICBhdXRvIGlkZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgYXV0byYg
ZmFjdG9yeSA9IG1fc29ja2V0RmFjdG9yeTsKKworICAgIFZlY3RvcjxydGM6OklQQWRkcmVzcz4g
cnRjQWRkcmVzc2VzOworICAgIHJ0Y0FkZHJlc3Nlcy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KGFk
ZHJlc3Nlcy5zaXplKCkpOworICAgIGZvciAoYXV0byYgYWRkcmVzcyA6IGFkZHJlc3NlcykKKyAg
ICAgICAgcnRjQWRkcmVzc2VzLnVuY2hlY2tlZEFwcGVuZChhZGRyZXNzLnZhbHVlKTsKKyAgICAK
KyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFsmZmFjdG9yeSwgaWRlbnRp
ZmllciwgcnRjQWRkcmVzc2VzID0gV1RGTW92ZShydGNBZGRyZXNzZXMpXSgpIHsKKyAgICAgICAg
YXV0byogcmVzb2x2ZXIgPSBmYWN0b3J5LnJlc29sdmVyKGlkZW50aWZpZXIpOworICAgICAgICBp
ZiAoIXJlc29sdmVyKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICByZXNvbHZlci0+c2V0
UmVzb2x2ZWRBZGRyZXNzKHJ0Y0FkZHJlc3Nlcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUlRD
UmVzb2x2ZXI6OnJlc29sdmVkQWRkcmVzc0Vycm9yKGludCBlcnJvcikKK3sKKyAgICBhdXRvIGlk
ZW50aWZpZXIgPSBtX2lkZW50aWZpZXI7CisgICAgYXV0byYgZmFjdG9yeSA9IG1fc29ja2V0RmFj
dG9yeTsKKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFsmZmFjdG9yeSwg
aWRlbnRpZmllciwgZXJyb3JdKCkgeworICAgICAgICBhdXRvKiByZXNvbHZlciA9IGZhY3Rvcnku
cmVzb2x2ZXIoaWRlbnRpZmllcik7CisgICAgICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgICAg
ICByZXR1cm47CisgICAgICAgIHJlc29sdmVyLT5zZXRFcnJvcihlcnJvcik7CisgICAgfSk7Cit9
CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRD
UmVzb2x2ZXIuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDUmVzb2x2ZXIuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4xYjgyZWVjMGE4MDE0YjVjZmI1MWI4OWY1ZGVhOTk2
YTFmZjYyNzBlCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5oCkBAIC0wLDAgKzEsNTggQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJSVENO
ZXR3b3JrLmgiCisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3BhY2UgSVBDIHsKK2Ns
YXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsK
KworY2xhc3MgTGliV2ViUlRDU29ja2V0RmFjdG9yeTsKKworY2xhc3MgV2ViUlRDUmVzb2x2ZXIg
eworcHVibGljOgorICAgIFdlYlJUQ1Jlc29sdmVyKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmLCB1
aW50NjRfdCk7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYs
IElQQzo6RGVjb2RlciYpOworCitwcml2YXRlOgorICAgIHZvaWQgc2V0UmVzb2x2ZWRBZGRyZXNz
KGNvbnN0IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+Jik7CisgICAgdm9pZCByZXNvbHZl
ZEFkZHJlc3NFcnJvcihpbnQpOworCisgICAgTGliV2ViUlRDU29ja2V0RmFjdG9yeSYgbV9zb2Nr
ZXRGYWN0b3J5OworICAgIHVpbnQ2NF90IG1faWRlbnRpZmllciB7IDAgfTsKK307CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDUmVzb2x2ZXIu
bWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dl
YlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjQzMGM4ZDZiODg4OTVlZTI5Yzhl
OWY4Y2VlODhjZTllNThmZjVjY2EKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluCkBAIC0w
LDAgKzEsMzAgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworIyBhcmUgbWV0OgorIyAxLiAg
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisjICAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAorIyBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBUSEUgSU1Q
TElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SCisjIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJ
QUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIKKyMgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKworI2lm
IFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IFdlYlJUQ1Jlc29sdmVyIHsKKyAgICB2b2lk
IFNldFJlc29sdmVkQWRkcmVzcyhWZWN0b3I8V2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M+
IGFkZHJlc3NlcykKKyAgICB2b2lkIFJlc29sdmVkQWRkcmVzc0Vycm9yKGludCBlcnJvcikKK30K
KworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHAKbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
YzUyOTVjNjMzNGQ0MDk2YjA5Njg4ZGYxZDk2OThmYTkzYWY5YjdkZgotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0
LmNwcApAQCAtMCwwICsxLDk1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgor
I2luY2x1ZGUgIldlYlJUQ1NvY2tldC5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXQuaCIKKyNpbmNs
dWRlICJMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tl
dE1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbmNsdWRl
IDx3dGYvRnVuY3Rpb24uaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViUlRDU29j
a2V0OjpzaWduYWxPbk5ldHdvcmtUaHJlYWQoTGliV2ViUlRDU29ja2V0RmFjdG9yeSYgZmFjdG9y
eSwgdWludDY0X3QgaWRlbnRpZmllciwgRnVuY3Rpb248dm9pZChMaWJXZWJSVENTb2NrZXQmKT4m
JiBjYWxsYmFjaykKK3sKKyAgICAvLyBmYWN0b3J5IGlzIHN0YXlpbmcgdmFsaWQgZHVyaW5nIHRo
ZSBwcm9jZXNzIGxpZmV0aW1lLgorICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtUaHJl
YWQoWyZmYWN0b3J5LCBpZGVudGlmaWVyLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgp
IHsKKyAgICAgICAgYXV0byogc29ja2V0ID0gZmFjdG9yeS5zb2NrZXQoaWRlbnRpZmllcik7Cisg
ICAgICAgIGlmICghc29ja2V0KQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjYWxsYmFj
aygqc29ja2V0KTsKKyAgICB9KTsKK30KKworV2ViUlRDU29ja2V0OjpXZWJSVENTb2NrZXQoTGli
V2ViUlRDU29ja2V0RmFjdG9yeSYgZmFjdG9yeSwgdWludDY0X3QgaWRlbnRpZmllcikKKyAgICA6
IG1fZmFjdG9yeShmYWN0b3J5KQorICAgICwgbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCit7Cit9
CisKK3ZvaWQgV2ViUlRDU29ja2V0OjpzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJiBh
ZGRyZXNzKQoreworICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRp
ZmllciwgW2FkZHJlc3NdKExpYldlYlJUQ1NvY2tldCYgc29ja2V0KSB7CisgICAgICAgIHNvY2tl
dC5zaWduYWxBZGRyZXNzUmVhZHkoYWRkcmVzcyk7CisgICAgfSk7Cit9CisKK3ZvaWQgV2ViUlRD
U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYgZGF0YSwg
Y29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBhZGRyZXNzLCB1aW50MTZfdCBwb3J0LCBpbnQ2
NF90IHRpbWVzdGFtcCkKK3sKKyAgICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZl
cjo6Y3JlYXRlKGRhdGEuZGF0YSgpLCBkYXRhLnNpemUoKSk7CisgICAgc2lnbmFsT25OZXR3b3Jr
VGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbYnVmZmVyID0gV1RGTW92ZShidWZmZXIp
LCBhZGRyZXNzLCBwb3J0LCB0aW1lc3RhbXBdKExpYldlYlJUQ1NvY2tldCYgc29ja2V0KSB7Cisg
ICAgICAgIHNvY2tldC5zaWduYWxSZWFkUGFja2V0KGJ1ZmZlci5nZXQoKSwgcnRjOjpTb2NrZXRB
ZGRyZXNzKGFkZHJlc3MudmFsdWUsIHBvcnQpLCB0aW1lc3RhbXApOworICAgIH0pOworfQorCit2
b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsU2VudFBhY2tldChpbnQgcnRjUGFja2V0SUQsIGludDY0
X3Qgc2VuZFRpbWVNcykKK3sKKyAgICBzaWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBt
X2lkZW50aWZpZXIsIFtydGNQYWNrZXRJRCwgc2VuZFRpbWVNc10oTGliV2ViUlRDU29ja2V0JiBz
b2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25hbFNlbnRQYWNrZXQocnRjUGFja2V0SUQsIHNl
bmRUaW1lTXMpOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsQ29ubmVj
dCgpCit7CisgICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVy
LCBbXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQuc2lnbmFsQ29u
bmVjdCgpOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsQ2xvc2UoaW50
IGVycm9yKQoreworICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRp
ZmllciwgW2Vycm9yXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQu
c2lnbmFsQ2xvc2UoZXJyb3IpOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5oIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YmM3
Y2EzNWYyZWRjMDlhOWM1Mzk3M2VmNzdiYjkyYjIwMTk4NDc3Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaApA
QCAtMCwwICsxLDY1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElC
V0VCUlRDKQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlv
bi5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEYXRhUmVm
ZXJlbmNlOworY2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNz
IExpYldlYlJUQ1NvY2tldDsKK2NsYXNzIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk7CisKK2NsYXNz
IFdlYlJUQ1NvY2tldCB7CitwdWJsaWM6CisgICAgV2ViUlRDU29ja2V0KExpYldlYlJUQ1NvY2tl
dEZhY3RvcnkmLCB1aW50NjRfdCk7CisKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYpOworCisgICAgc3RhdGljIHZvaWQgc2lnbmFsT25O
ZXR3b3JrVGhyZWFkKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmLCB1aW50NjRfdCwgRnVuY3Rpb248
dm9pZChMaWJXZWJSVENTb2NrZXQmKT4mJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBzaWduYWxS
ZWFkUGFja2V0KGNvbnN0IElQQzo6RGF0YVJlZmVyZW5jZSYsIGNvbnN0IFJUQ05ldHdvcms6OklQ
QWRkcmVzcyYsIHVpbnQxNl90IHBvcnQsIGludDY0X3QpOworICAgIHZvaWQgc2lnbmFsU2VudFBh
Y2tldChpbnQsIGludDY0X3QpOworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IFN0
cmluZyYpOworICAgIHZvaWQgc2lnbmFsQ29ubmVjdCgpOworICAgIHZvaWQgc2lnbmFsQ2xvc2Uo
aW50KTsKKyAgICAKKyAgICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBtX2ZhY3Rvcnk7CisgICAg
dWludDY0X3QgbV9pZGVudGlmaWVyIHsgMCB9OworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0
CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4gYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5tZXNzYWdl
cy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi45OTMxNzgxNjI1NDA5Y2RhNTgwOTBkNWRhMjAxZDAzNGYwNTMyMzlh
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4KQEAgLTAsMCArMSwzMyBAQAorIyBDb3B5cmln
aHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorIworIyBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorIyAy
LiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisjCisjIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBMSUVECisjIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBUkUK
KyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJ
QlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTAorIyBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBP
UgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
IElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLAorIyBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYgVVNFKExJQldFQlJUQykKKworbWVz
c2FnZXMgLT4gV2ViUlRDU29ja2V0IHsKKyAgICBTaWduYWxSZWFkUGFja2V0KElQQzo6RGF0YVJl
ZmVyZW5jZSBkYXRhLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzcyBhZGRyZXNzLCB1aW50
MTZfdCBwb3J0LCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBTaWduYWxTZW50UGFja2V0KGludCBw
YWNrZXRTaXplLCBpbnQ2NF90IHRpbWVzdGFtcCkKKyAgICBTaWduYWxBZGRyZXNzUmVhZHkoU3Ry
aW5nIGFkZHJlc3MpCisgICAgU2lnbmFsQ29ubmVjdCgpCisgICAgU2lnbmFsQ2xvc2UoaW50IGVy
cm9yKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBmOTdmNTY3NzE5ODViMjkxNmIxNTg4
NGQwNzk3NDA5ZGEwODcxYzM2Li5mM2E1MGRlZTFlNzM0NGQ3MmUwM2YzNzI3ZGRmYzc0NDY1MWVl
MWQ1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFn
ZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3Bw
CkBAIC00MCw2ICs0MCw3IEBACiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKICNpbmNsdWRl
ICJJbmplY3RlZEJ1bmRsZUJhY2tGb3J3YXJkTGlzdC5oIgogI2luY2x1ZGUgIkluamVjdGVkQnVu
ZGxlU2NyaXB0V29ybGQuaCIKKyNpbmNsdWRlICJMaWJXZWJSVENQcm92aWRlci5oIgogI2luY2x1
ZGUgIkxvYWRQYXJhbWV0ZXJzLmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk5l
dHNjYXBlUGx1Z2luLmgiCkBAIC0xNDcsNyArMTQ4LDYgQEAKICNpbmNsdWRlIDxXZWJDb3JlL0lu
c3BlY3RvckNvbnRyb2xsZXIuaD4KICNpbmNsdWRlIDxXZWJDb3JlL0pTRE9NV2luZG93Lmg+CiAj
aW5jbHVkZSA8V2ViQ29yZS9LZXlib2FyZEV2ZW50Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9MaWJX
ZWJSVENQcm92aWRlci5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTUlNRVR5cGVSZWdpc3RyeS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvTWFpbkZyYW1lLmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9Nb3VzZUV2
ZW50Lmg+CkBAIC0zNzcsNyArMzc3LDcgQEAgV2ViUGFnZTo6V2ViUGFnZSh1aW50NjRfdCBwYWdl
SUQsIGNvbnN0IFdlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMmIHBhcmFtZXRlcnMpCiAgICAgUGFn
ZUNvbmZpZ3VyYXRpb24gcGFnZUNvbmZpZ3VyYXRpb24oCiAgICAgICAgIG1ha2VVbmlxdWVSZWY8
V2ViRWRpdG9yQ2xpZW50Pih0aGlzKSwKICAgICAgICAgV2ViU29ja2V0UHJvdmlkZXI6OmNyZWF0
ZSgpLAotICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkNvcmU6OkxpYldlYlJUQ1Byb3ZpZGVyPigp
CisgICAgICAgIG1ha2VVbmlxdWVSZWY8V2ViS2l0OjpMaWJXZWJSVENQcm92aWRlcj4oKQogICAg
ICk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24uY2hyb21lQ2xpZW50ID0gbmV3IFdlYkNocm9tZUNs
aWVudCgqdGhpcyk7CiAjaWYgRU5BQkxFKENPTlRFWFRfTUVOVVMpCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIGIvU291cmNlL1dlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAppbmRleCBlMWMyNmI5NzJkZGUwNDAwMzMzNjQwZTgzYjYz
ZmQwNDRhNmU0Y2I1Li5kMTljYjE2OTVhYzZmZWI3NzcwMzRiOGNkZGUyNGIyYWViNWIwOGUyIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCisrKyBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAKQEAgLTE1NDYsNCArMTU0
NiwxMyBAQCB2b2lkIFdlYlByb2Nlc3M6OnByZWZldGNoRE5TKGNvbnN0IFN0cmluZyYgaG9zdG5h
bWUpCiAgICAgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXMuaW1wdWxzZSgpOwogfQogCisjaWYgVVNF
KExJQldFQlJUQykKK0xpYldlYlJUQ05ldHdvcmsmIFdlYlByb2Nlc3M6OmxpYldlYlJUQ05ldHdv
cmsoKQoreworICAgIGlmICghbV9saWJXZWJSVENOZXR3b3JrKQorICAgICAgICBtX2xpYldlYlJU
Q05ldHdvcmsgPSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ05ldHdvcms+KCk7CisgICAgcmV0
dXJuICptX2xpYldlYlJUQ05ldHdvcms7Cit9CisjZW5kaWYKKwogfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCmluZGV4IDZlYmNjYmIyNjll
OWEyZjJkNDE0MTQ5ZjE0M2Q0YzVjODE0YjIxYzYuLjkyODJkMzQzNWVmYjQxZTc1MmViNTdjYTk1
MGNkMThmNmIwNjg0MWIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UHJvY2Vzcy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oCkBA
IC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiQ2FjaGVNb2RlbC5oIgogI2luY2x1ZGUgIkNoaWxk
UHJvY2Vzcy5oIgogI2luY2x1ZGUgIkRyYXdpbmdBcmVhLmgiCisjaW5jbHVkZSAiTGliV2ViUlRD
TmV0d29yay5oIgogI2luY2x1ZGUgIlBsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIgog
I2luY2x1ZGUgIlJlc291cmNlQ2FjaGVzVG9DbGVhci5oIgogI2luY2x1ZGUgIlNhbmRib3hFeHRl
bnNpb24uaCIKQEAgLTE2NSw2ICsxNjYsMTAgQEAgcHVibGljOgogICAgIHZvaWQgbmV0d29ya1By
b2Nlc3NDb25uZWN0aW9uQ2xvc2VkKE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiopOwogICAgIFdl
YkxvYWRlclN0cmF0ZWd5JiB3ZWJMb2FkZXJTdHJhdGVneSgpOwogCisjaWYgVVNFKExJQldFQlJU
QykKKyAgICBMaWJXZWJSVENOZXR3b3JrJiBsaWJXZWJSVENOZXR3b3JrKCk7CisjZW5kaWYKKwog
I2lmIEVOQUJMRShEQVRBQkFTRV9QUk9DRVNTKQogICAgIHZvaWQgd2ViVG9EYXRhYmFzZVByb2Nl
c3NDb25uZWN0aW9uQ2xvc2VkKFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbiopOwogICAg
IFdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbiogd2ViVG9EYXRhYmFzZVByb2Nlc3NDb25u
ZWN0aW9uKCk7CkBAIC0zNzcsNiArMzgyLDExIEBAIHByaXZhdGU6CiAgICAgdm9pZCBlbnN1cmVO
ZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24oKTsKICAgICBSZWZQdHI8TmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uPiBtX25ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbjsKICAgICBXZWJMb2FkZXJTdHJhdGVn
eSYgbV93ZWJMb2FkZXJTdHJhdGVneTsKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgc3RkOjp1
bmlxdWVfcHRyPExpYldlYlJUQ05ldHdvcms+IG1fbGliV2ViUlRDTmV0d29yazsKKyNlbmRpZgor
CiAgICAgSGFzaFNldDxTdHJpbmc+IG1fZG5zUHJlZmV0Y2hlZEhvc3RzOwogICAgIFdlYkNvcmU6
Okh5c3RlcmVzaXNBY3Rpdml0eSBtX2Ruc1ByZWZldGNoSHlzdGVyZXJpczsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="0"
              isprivate="0"
          >
            <attachid>300198</attachid>
            <date>2017-01-31 02:05:33 -0800</date>
            <delta_ts>2017-01-31 02:05:33 -0800</delta_ts>
            <desc>Archive of layout-test-results from ews122 for ios-simulator-wk2</desc>
            <filename>layout-test-results.zip</filename>
            <type>application/zip</type>
            <size>911487</size>
            <attacher name="Build Bot">buildbot</attacher>
            
              <data encoding="base64">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
ZXh0LW1hcmtlci9jaGFyYWN0ZXItb2Zmc2V0LXZpc2libGUtcG9zaXRpb24tY29udmVyc2lvbi1o
YW5nLXN0ZGVyci50eHRVVAkAA9VSkFhATZBYdXgLAAEE9QEAAAQUAAAAzZHBSsQwEEDvfsUc9dJs
C0vR27qLFxcsFFQQD2kzpeMmmZBJW/fvjbKC4Hr3Ou8NzGO4e+tfqrIu69cb2FotAs3+diJrHjEK
sQcSIBcsOvQJDZCHjtMIahOCpV6n7Ih67tlgoUNQW86aT6J2OKPlgFE1VqeBoxNFzcgeW3JTHnEs
won8kNvd/W9PzEG1R0no1J66qONRNZFmnfAuaocLx4OojQgmOfEW40w9SjF8C+c5XK7eyxJXg74u
V1egvfmHZXkn8d9h5/BXV7Xu1nWVuwp48Ag8QBoR0sKwkLXQIUyCpoCnkfoR8l2fz568wYF8nl98
AFBLAwQKAAAAAADuBD9KAAAAAAAAAAAAAAAACwAcAGFuaW1hdGlvbnMvVVQJAANATZBYh1eQWHV4
CwABBPUBAAAEFAAAAFBLAwQKAAAAAADuBD9KAAAAAAAAAAAAAAAADgAcAGFuaW1hdGlvbnMvM2Qv
VVQJAANATZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABpCD9Kmq5OfvMAAAAdAgAANgAc
AGFuaW1hdGlvbnMvM2QvY2hhbmdlLXRyYW5zZm9ybS1pbi1lbmQtZXZlbnQtc3RkZXJyLnR4dFVU
CQAD1lKQWEBNkFh1eAsAAQT1AQAABBQAAADNkcFKAzEQQO9+xRz1sunuQa232uLFggsLKoiHbDLL
jk0yIZPd2r83YgXBevc67w3MY7h/My9NfdU0rzewdloE2u3tRM4+YhLiACRAPjr0GDJaoAA95xHU
KkZHRufiiHo2bLHSMao1Fy1kURuc0XHEpFqn88DJi6J25IAd+amMOFXxSH7I3eb+tyd2p7qDZPRq
S33S6aDaRLPOeJe0xz2nnaiVCGY58g7TTAalGr6F0xzOF+91U1tzuawXF6CD/YdlZSfz32Gn8FfX
8hqxKV0VPAQEHiCPCHnPsCfnoEeYBG0FTyOZEcpdn8+egsWBQpmffQBQSwMEFAACAAgAaQg/Si6q
u+TzAAAAHQIAADAAHABhbmltYXRpb25zL0NTU0tleWZyYW1lc1J1bGUtbmFtZS1udWxsLXN0ZGVy
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
0APOHHaiViIY5cBrDBO1KFn3IxzncL74yPPlVXmzzBcXoJ35h2VpJ/LpsGP4u6vIu7YsUlcGjw6B
O4g9QpwZZrIWGoRR0GTw3FPbQ7rr69mjM9iRS/OzT1BLAwQKAAAAAAD2BD9KAAAAAAAAAAAAAAAA
EQAcAGNvbnRlbnRmaWx0ZXJpbmcvVVQJAANPTZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CABxCD9KWicFf/MAAAAdAgAAMAAcAGNvbnRlbnRmaWx0ZXJpbmcvYWxsb3ctbWVkaWEtZG9jdW1l
bnQtc3RkZXJyLnR4dFVUCQAD5VKQWE9NkFh1eAsAAQT1AQAABBQAAADNkcFKw0AQQO9+xRz1km2C
ttVbbfFiwUBABfGwyU7I2M3OsrNJ7N+7QgTBeu913huYx3D90bwV+Spfvt/B1moRKPf3A1nzjEGI
HZAA9d5ijy6iAXJQc+xAbby31OiYHFGvDRvMtPdqy0lzUdQOR7TsMajS6thy6EVR2bHDivohjThk
fia/5Gr3+NcTc1DVUSL2ak910OGoykCjjvgQdI8Th4OojQhGmXmFYaQGJWt/hNMcLhefebFa3uBt
vrgC7cwZlqWdyP+HncJz1/V6XaSuDJ4cArcQO4Q4MUxkLdQIg6DJ4KWjpoN01/ezB2ewJZfmF19Q
SwMECgAAAAAA+AQ/SgAAAAAAAAAAAAAAAAcAHABjcnlwdG8vVVQJAANUTZBYh1eQWHV4CwABBPUB
AAAEFAAAAFBLAwQKAAAAAAD3BD9KAAAAAAAAAAAAAAAADgAcAGNyeXB0by9zdWJ0bGUvVVQJAANS
TZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQKAAIAAAByCD9KJeDTCCwAAAAsAAAAPgAcAGNyeXB0
by9zdWJ0bGUvcnNhLWdlbmVyYXRlLWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0
VVQJAAPnUpBYUU2QWHV4CwABBPUBAAAEFAAAAENvdWxkIG5vdCBnZW5lcmF0ZSBhIGtleSBwYWly
LCBzdGF0dXMgLTQzMDQKUEsDBBQAAgAIAHIIP0owO7ixSwAAAGgAAAA8ABwAY3J5cHRvL3N1YnRs
ZS9yc2EtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQJAAPnUpBY
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
ft1dWdoB2Zv5ePt5rZbj80jM6wf9A1BLAwQUAAIACACBCD9KOUebYNMCAABukgAAOQAcAGNzczMv
ZmlsdGVycy9iYWNrZHJvcC9keW5hbWljLXdpdGgtY2xpcC1wYXRoLWV4cGVjdGVkLnBuZ1VUCQAD
AVOQWGxNkFh1eAsAAQT1AQAABBQAAADt3E9IFFEcwPHfLKOugjGaEbYWY5CQXXTBVDo0/l89mC3R
H6Nydbc0NREVrIRmPSwFBYuXksSCPNhBscgFKUkjSog6WVJ2CAIhyKggCiprDLqUDzomfPeyw8x8
377Pe3udOVdTXZGctCFJRJIrfaV+kXhLRB9zxztnrmmRi87X1s6y/Z0NjaGG5o6uVvGG8oM53mAg
4M0NBPMCuaH8gvqCvIb6HO/2wvpQqHDG1ZLnRFqHv6JYRp9kvBGxpLK0aE+39nZ++sI9S/Si8zOe
lIkbvmn/zsjHHydujX9tbh+Y+/w+xbRs0Vy62/jzIKIPlhxrT1vp0q+DqV2WfDAUFyVcqGnBd1Ub
z648uNswrDuaauy6akv6b/sTNqvmphtttmrgS2sNa2F0Nqyamabd9yjRC7oendjWZapm5pDjVx85
PHeo93XHy+/rlwaXTy7VvOq5cqb7eEXWX3cP699cQ32xEtVPBV0uX3mrUjjsLF/VizUqZTTRbaaP
Z6rW4GqqYWU37VD94aws0w7ORpTIKkuuDy2qdt3Vb0vfbo9yfbM1DThw4MCBAwcOHDhw4MCBAwcO
HDhw4MCBAwcOHDhw4MCBAwcOHDhw4MCBAwcOHDhw4MCBAwf+7/Cp9sNHYkeVczcN95c4n93Sq7qh
MU6PPpvfoM7dpnYzUYlbZ1i1bc1KnGna+kyWErfXkqbJEeVjNWFbUs3LyudPap1d/RQrV+2q7uwq
cODAgQMHDhw4cODAga8Ef3g67Pn9LgB2Hzhw4MCBAwcOHDhw4KsHfnfxeWayiNhjSyNN4VOu2MFZ
ZVA0JenRLcrL+6bk5ORTampqampqampqampqampqampqampqampqampqampqampqampqampqampq
ampqampqaur/pn6U0bNJJGV++V0ArCA1NTU1NTU1NTU1NTU1NTX1aqzNtAdpB9ITHg+I86ksqy4d
La7r/QlQSwMECgAAAAAADgU/SgAAAAAAAAAAAAAAABAAHABjc3MzL3NlbGVjdG9yczMvVVQJAAN7
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
cy9hdHRyaWJ1dGUtc2VsZWN0b3ItZHluYW1pYy1zdGRlcnIudHh0VVQJAANDU5BYrE2QWHV4CwAB
BPUBAAAEFAAAAM2RTUvEMBBA7/6KOeql2VZU9LYfeHHBQkEF8ZAmUzpumgmZtHX/vREqCK53r/Pe
wDyG23fzWpU3l1dvd7B1WgTq/WYkZ58wCrEHEqAhOBzQJ7RAHlpOPah1CI6MTtkR9WLYYqFDUFvO
mk+idjih44BR1U6njuMgiuqePTY0jHnEsQgL+SE3u4ffntiDao6ScFB7aqOOR1VHmnTC+6gHnDke
RK1FMMnCG4wTGZSi+xZOczhffZTVNdrVbbm6AO3tPyzLO4n/DjuFly7T6Sp3FfDoEbiD1COkmWEm
56BFGAVtAc89mR7yXV/PHr3Fjnyen30CUEsDBBQAAgAIAKgIP0rbCNNCOwAAAD8AAAApABwAZmFz
dC9jc3MvY29tcGFyZS1jb250ZW50LXN0eWxlLXN0ZGVyci50eHRVVAkAA0tTkFi0TZBYdXgLAAEE
9QEAAAQUAAAAcywpSc0tKFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUK
ivKTU4uLU1P0uABQSwMECgAAAAAAqAg/SgAAAAAAAAAAAAAAABQAHABmYXN0L2Nzcy9kdW1wQXNU
ZXh0L1VUCQADTFOQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAqAg/SibfZxTzAAAAHQIA
AD4AHABmYXN0L2Nzcy9kdW1wQXNUZXh0L3htbC1zdHlsZXNoZWV0LXBpLW5vdC1pbi1wcm9sb2ct
c3RkZXJyLnR4dFVUCQADTFOQWExTkFh1eAsAAQT1AQAABBQAAADNkU1LxDAQQO/+ijnqpWkLuqu3
/cCLCxYKKoiHtJnScdNMyKSt+++NUEFwvXud9wbmMdy8t69lscrXb3ews1oEqsN2JGueMAixAxKg
wVsc0EU0QA4ajj2ojfeWWh2TI+qlZYOZ9l7tOGkuitrjhJY9BlVZHTsOgyiqenZY0zCmEYfML+SH
XO8ffntijqo+ScRBHagJOpxUFWjSEe+DHnDmcBS1EcEoC68xTNSiZN23cJ7DZf5RlPm6NLdFfgXa
mX9YlnYi/x12Di9dN9erMnVl8OgQuIPYI8SZYSZroUEYBU0Gzz21PaS7vp49OoMduTS/+ARQSwME
CgAAAAAALQU/SgAAAAAAAAAAAAAAABQAHABmYXN0L2Nzcy9uYW1lc3BhY2VzL1VUCQADtk2QWIdX
kFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgALQU/SlStocbzAAAAHQIAACIAHABmYXN0L2Nzcy9u
YW1lc3BhY2VzLzAwMS1zdGRlcnIudHh0VVQJAAO2TZBYtk2QWHV4CwABBPUBAAAEFAAAAM2RwUrD
QBBA737FHPWSbSytxltt8WLBQEAF8bDJTsjYzc6ys0ns37tCBMF673XeG5jHcP3RvOWr4nb9fgdb
q0Wg3N8PZM0zBiF2QALUe4s9uogGyEHNsQO18d5So2NyRL02bDDT3qstJ81FUTsc0bLHoEqrY8uh
F0Vlxw4r6oc04pD5mfySq93jX0/MQVVHidirPdVBh6MqA4064kPQPU4cDqI2Ihhl5hWGkRqUrP0R
TnO4XHzmOd4siyJfXIF25gzL0k7k/8NO4blrtV5ep64MnhwCtxA7hDgxTGQt1AiDoMngpaOmg3TX
97MHZ7All+YXX1BLAwQKAAAAAACtCD9KAAAAAAAAAAAAAAAACQAcAGZhc3QvZG9tL1VUCQADVlOQ
WIdXkFh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAArQg/SgAAAAAAAAAAAAAAABIAHABmYXN0L2Rv
bS9Eb2N1bWVudC9VVAkAA1ZTkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAK0IP0rCL/pl
9AAAAB0CAAAvABwAZmFzdC9kb20vRG9jdW1lbnQveG1sLWRvY3VtZW50LWZvY3VzLXN0ZGVyci50
eHRVVAkAA1ZTkFhWU5BYdXgLAAEE9QEAAAQUAAAAzZHBSsNAEEDvfsUc9ZJNQsXWW23xYsFAQAXx
sMlOyNjNzrKzSezfu2IFwXrvdd4bmMdw896+lsXNYvF2CxurRaDa3Y1kzRMGIXZAAjR4iwO6iAbI
QcOxB7X23lKrY3JEvbRsMNPeqw0nzUVRW5zQssegKqtjx2EQRVXPDmsaxjTikPkj+SXX24e/npi9
qg8ScVA7aoIOB1UFmnTE+6AHnDnsRa1FMMqR1xgmalGy7kc4zeEy/yhKnV/jqsivQDtzhmVpJ/L/
Yafwd9cKl8sydWXw6BC4g9gjxJlhJmuhQRgFTQbPPbU9pLu+nj06gx25NL/4BFBLAwQKAAAAAAA2
BT9KAAAAAAAAAAAAAAAAHQAcAGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQvVVQJAAPHTZBY
h1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAA2BT9KKHS2RfIAAAAdAgAARwAcAGZhc3QvZG9t
L0hUTUxUZW1wbGF0ZUVsZW1lbnQveGh0bWwtcGFyc2luZy1hbmQtc2VyaWFsaXphdGlvbi1zdGRl
cnIudHh0VVQJAAPHTZBYx02QWHV4CwABBPUBAAAEFAAAAM2RTUvEMBBA7/6KOeqlaYVF620/8OKC
hYIK4iFtpnTcJBMyadf990aoILjevc57A/MY7t7712pV16u3O9haLQLNfjORNU8YhdgDCZALFh36
hAbIQ8dpBLUOwVKvU3ZEvfRssNAhqC1nzSdRO5zRcsCoGqvTwNGJomZkjy25KY84FmEhP+R29/Db
E3NQ7UkSOrWnLup4Uk2kWSe8j9rhkeNB1FoEkyy8xThTj1IM38J5DpflR1VhbW7qqrwC7c0/LMs7
if8OO4eXrtuyus5dBTx6BB4gjQjpyHAka6FDmARNAc8j9SPku76ePXmDA/k8v/gEUEsDBAoAAAAA
AEoFP0oAAAAAAAAAAAAAAAALABwAZmFzdC9mb3Jtcy9VVAkAA+tNkFiHV5BYdXgLAAEE9QEAAAQU
AAAAUEsDBBQAAgAIALwIP0oRPretlgAAAMUAAAAzABwAZmFzdC9mb3Jtcy9pbnRlcmFjdGl2ZS12
YWxpZGF0aW9uLWNhbmNlbC1zdGRlcnIudHh0VVQJAAN0U5BY3U2QWHV4CwABBPUBAAAEFAAAAHWM
ywrCMBAA737F+gGV3fQRCSIUT+JN1B7EQwvbGqhJSFbq55uLR6/DzCgkXSAVJQGSwdrUzUaXNXQ8
nKxcOMn57RzHNoS7Io2NUVW91U31gK6PzrrJQCvCryAgHkLkxE5gdz3eLC8H7yT6eeZoAD96ZE08
Io0K9+Ddf0tRhTQM2Vqedmbof+NebO5sAusy8lOmab36AlBLAwQUAAIACABGBT9K5KzBj2UAAABt
AAAAJgAcAGZhc3QvZm9ybXMvcGxhaW50ZXh0LW1vZGUtMi1zdGRlcnIudHh0VVQJAAPjTZBY402Q
WHV4CwABBPUBAAAEFAAAADMyMDTXNTDUNTZUMDCwMjGyMjTUMzEwUwhPTfLOLAlJLS4JKs3LSy1y
LCiINjS1NDWzMjK2sDS1MIlVCHDyLEnNdc7PyUlNLsnMzwtOLSrLTE4tUkjOB+oACymkZBZDeakp
elwAUEsDBBQAAgAIAMUIP0pVbTrGwwAAANkDAAApABwAZmFzdC9mb3Jtcy92YWxpZGF0aW9uLW1l
c3NhZ2VzLXN0ZGVyci50eHRVVAkAA4JTkFjrTZBYdXgLAAEE9QEAAAQUAAAA1dE9agMxEAXg3qcY
H8BhRquf9WICxlVIF5K4CCkkM3YEa2nRTnCOHzXpjKuocPt4M/DxFJJbIa06AqQB7UD4oNcK9hye
o7zyLC/fKXHZTtOHIlcLSpveWf0Je19STKcBtiJ8ngQkw1R45iSweXt6j3zZ5SQljyOXAfDHHdkp
Mmh6j4+Q062WRgqhti5fcWTwf4+9xHoXZ4ipRvlU03m5UFcRXTMEBYvsQ3uE0a7hEoT9oWuPsIj3
v4S11BBh0Nv+fxG/UEsDBAoAAAAAAEcFP0oAAAAAAAAAAAAAAAAMABwAZmFzdC9mcmFtZXMvVVQJ
AAPlTZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADCCD9K2wjTQjsAAAA/AAAALwAcAGZh
c3QvZnJhbWVzL2ZyYW1lLWRpc3BsYXktbm9uZS1mb2N1cy1zdGRlcnIudHh0VVQJAAN8U5BY5U2Q
WHV4CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sV
klIz89IVCoryk1OLi1NT9LgAUEsDBAoAAAAAAEwFP0oAAAAAAAAAAAAAAAAMABwAZmFzdC9pbWFn
ZXMvVVQJAAPwTZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADKCD9KIY+9ODIAAAAzAAAA
LAAcAGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQJAAOLU5BY
8E2QWHV4CwABBPUBAAAEFAAAAHPLSSxJdUlNzk9JtVJIAdGZeekKqUVF+UVWCpl5yflFRanJJQop
iSWJCskZqcnZelwAUEsDBAoAAAAAAFAFP0oAAAAAAAAAAAAAAAAMABwAZmFzdC9sb2FkZXIvVVQJ
AAP4TZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADJCD9K2wjTQjsAAAA/AAAAUgAcAGZh
c3QvbG9hZGVyL2Rpc3BsYXktaW1hZ2UtdW5zZXQtY2FuLWJsb2NrLWltYWdlLWFuZC1jYW4tcmVs
b2FkLWluLXBsYWNlLXN0ZGVyci50eHRVVAkAA4pTkFj0TZBYdXgLAAEE9QEAAAQUAAAAcywpSc0t
KFEoyVdIzSssTS1NVUhUKM8vylbIBEoolGdk5qQqQMQzixWSUjPz0hUKivKTU4uLU1P0uABQSwME
FAACAAgAygg/StsI00I7AAAAPwAAAFMAHABmYXN0L2xvYWRlci9pbWFnZXMtZW5hYmxlZC11bnNl
dC1jYW4tYmxvY2staW1hZ2UtYW5kLWNhbi1yZWxvYWQtaW4tcGxhY2Utc3RkZXJyLnR4dFVUCQAD
i1OQWPVNkFh1eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2Tm
pCpAxDOLFZJSM/PSFQqK8pNTi4tTU/S4AFBLAwQUAAIACADLCD9K2wjTQjsAAAA/AAAALQAcAGZh
c3QvbG9hZGVyL3JlbG9hZC1wb2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUCQADjlOQWPhNkFh1
eAsAAQT1AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJS
M/PSFQqK8pNTi4tTU/S4AFBLAwQKAAAAAABbBT9KAAAAAAAAAAAAAAAADgAcAGZhc3QvcmVwbGFj
ZWQvVVQJAAMNTpBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACABbBT9KTOBwWHACAADgCgAA
LQAcAGZhc3QvcmVwbGFjZWQvdGFibGUtcGVyY2VudC1oZWlnaHQtYWN0dWFsLnR4dFVUCQADDU6Q
WA1OkFh1eAsAAQT1AQAABBQAAACNlk2P2jAQhu/5FVOqilZaIthdyqmHbUXVStsuEkgcVj04yUDc
OnEUOwv8+zofkC/bSQ5AMu+884ztGDtOeX3NpOTx9at77UIqQKKQ4Ifo/1O/QyIhxYQRHwNAhhHG
UsCJyhASTH11R44IIdJjWD2nMUjiMQQfGRMQkjdUNuqWpyn6stK6zm8u8Q4EjxD4oVB4BVQlKDAE
HAhloB7m8T2NA34SkPBUChe2mKcc4f3D43y1cB3nJQaR+T4KcQcXnikaxkAoFVGfKUWRF5psnrbb
CURKpciV8sAZ4yfVnXeByW693cG3l1+b5/VuPVGeTi6HI8o9DWT4ceqT+I2I2Wo5/QRqrKb398vk
PL2pfhTsfdlice+2hG27xXxeCR/mc4tfrVssC933p5/PDTuMPAzKqiLkGVNNIRSWLuyJgILW7bk3
0mywpWyQtSurUDtmNDrWFVfaQbRIGiaNQnoeq6hFM4vVmsNgBJRN2WZrK+2IVm1ly72/6i2qx8Uw
CV2ZaU4r3eCk9nT6WS1f4VvZXqDI75k3s959gWnunKfLNEOruCzRibRrXGcjTjI5M+K1wnrIvsMg
qqmoNm7BLjZjj5+N4DeBDb3t0oO/biW2pNfH5Pwnz4i5hNXyQ76hmlPKxfL6WeW4+sYOlKGxqSJo
a6jOHjkTrXIm/LqsAZpG6o9jcO8almpMh/eyMeKWcUoCyo1jXEZtg9zIH7lkGhmj1kuDwbpYUhQo
zZ0UUWsndf7I9dKrqAtb3luReRE1I1dhG3PTYSR0v6g2rsUW6oTn64CrgB61mTUI2S/RiTRqVKe5
Q8bYZUNSoQ5pV1undVJznP9QSwMEFAACAAgAWwU/SlFn+NH4AAAAagIAACsAHABmYXN0L3JlcGxh
Y2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LWRpZmYudHh0VVQJAAMNTpBYDU6QWHV4CwABBPUBAAAE
FAAAAMXPP0+EQBAF8P4+xXZocFjgJNdyRo1GC+MlUg/seGyy/Akza/Dba5BIRI2lzW7zy5v3AEDp
p875hlhfoqC+Kg66oPLOyvxdeOuMfiRHyAS2r7uW2DbeoXSDdvjaeQEhFhiIvRPWz8iiB+odVmS0
YOkIehoqagVqssdagMaeKiETySibMAz/pQRW4tFNFfJcwfb8bKfC6c3zjXrYHw7qSHIz4ZOgwvYF
GXZZcKosqyBJ0ijrx2CRhTVSf8Ikjme5jeMvbpW4wCSbIKwCqSnJLIfnuPB6f3v/s+K6886oktRk
I1UgqzR9bxt9b7FK/3XWh/t71drNo94AUEsDBBQAAgAIAFsFP0rcngxWWwIAAM8KAAAvABwAZmFz
dC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC1leHBlY3RlZC50eHRVVAkAAw1OkFgNTpBY
dXgLAAEE9QEAAAQUAAAAjZZNj9owEIbv+RVTqopWWlBgl3LqYVtRtdK2iwTSHlY9OMlA3DpxFDsL
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
q1Hi29HrdHSCDgOTjnji92LXzkNXOVBL6L+R/gdQSwMECgAAAAAAXQU/SgAAAAAAAAAAAAAAABAA
HABmYXN0L3NoYWRvdy1kb20vVVQJAAMSTpBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADW
CD9K4JyLKPwBAACGBgAAKwAcAGZhc3Qvc2hhZG93LWRvbS9jb3B5LXNoYWRvdy10cmVlLWFjdHVh
bC50eHRVVAkAA6RTkFgPTpBYdXgLAAEE9QEAAAQUAAAAnZRNj5swEEDv/RUj9rIrocoGnAZujfbQ
qF+rNNqqqnogwS1WXTvCXkEa9b+vMcSw3pCNmgsBPY/fjGfM8z2tINdwjUJ0A4r9pTBHqJkh9Apg
RUVBq3tG6wmETyzHybB8weX2NxzerT9++DeJOlgWezgsPt9+69h5iGc9/GaeNBjPLOzFvvMDt2wf
d4DXtNFwuNLm4fNxbERSxwO0EFQPYuBqVuiyBTMI1iVTBlFawVbu9kz8Al1S819oKjQwoVhBIQdV
5oWsQVeUvg48m8XK5LnqROIodSp4LDIpHh3xBOGz5pFTN2SrLuFPLh5yzvc2g9BmYPUV5XSraeHy
yEUBu1xpCkzDhnJZZ8Gp8t8u749eZHxaUQTfN7IyYAbXeNeAkpwVcDWzv5sfXppLwZmgpir+6eA4
fZrjRFlwiI9V8YrilcWCfVXaopSUcxlC8GyLo9KXu7effKs09feY0EpGXsRf45klYzVi1GpZ8eKJ
2SVu5MQ+E3Zz4uxOrfL8OrrzI63fV7p5z3TwUseaIxy2OdOwPddvYOJDMNEly2czTC5rkiR2JjE5
3yYd2k9+a1OZflfB5fcKatALA5Mm/z8w4ytk6DF7k3WzzKQApfNKZ7CTitl3BPInbEtmugo5a/cJ
2/Fzr6R3NR825mYehTUCmRFxYcnZsLE9r8mwj1BLAwQUAAIACADYCD9KhBszQGUAAABtAAAAOQAc
AGZhc3Qvc2hhZG93LWRvbS9zZWxlY3Rpb24tYXQtc2hhZG93LXJvb3QtY3Jhc2gtc3RkZXJyLnR4
dFVUCQADp1OQWBJOkFh1eAsAAQT1AQAABBQAAAAzMjA01zUw1DU2VDAwtDIwszIx1zO0tFAIT03y
ziwJSS0uCSrNy0stciwoiDYyNDe0sDIyMTMyMDWOVQhw8ixJzXXOz8lJTS7JzM8LTi0qy0xOLVJI
zgfqAAsppGQWQ3mpKXpcAFBLAwQKAAAAAABpBT9KAAAAAAAAAAAAAAAACgAcAGZhc3QvdGV4dC9V
VAkAAyZOkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAGcFP0oAAAAAAAAAAAAAAAAYABwA
ZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvVVQJAAMiTpBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQK
AAAAAABpBT9KAAAAAAAAAAAAAAAAKAAcAGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3N5c3RlbS1s
YW5ndWFnZS9VVAkAAyZOkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAOUIP0puJMQh9QAA
AB0CAABSABwAZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvc3lzdGVtLWxhbmd1YWdlL2FyYWJpYy1n
bHlwaC1jYWNoZS1maWxsLWNvbWJpbmUtc3RkZXJyLnR4dFVUCQADvlOQWCJOkFh1eAsAAQT1AQAA
BBQAAADNkcFKw0AQQO9+xRz1ku0GjNZbbfFiwUBABfGwyU7I2M3OsrNp7N+7SgXBevc67w3MY7h9
615KfXV5/XoDa2dEoN7eTuTsI0Yh9kACNAaHI/qEFshDy2kAtQrBUWdSdkQ9d2yxMCGoNWfNJ1Eb
3KPjgFHVzqSe4yiK6oE9NjROecSxCEfyQ2429789sTvVHCThqLbURhMPqo60Nwnvohlx5rgTtRLB
JEfeYNxTh1L038JpDueLd62XVW+WenEBxtt/WJZ3Ev8ddgp/dZVaV1WZuwp48AjcQxoQ0swwk3PQ
IkyCtoCngboB8l2fz568xZ58np99AFBLAwQUAAIACADmCD9KH8E4APMAAAAdAgAARwAcAGZhc3Qv
dGV4dC9pbnRlcm5hdGlvbmFsL3N5c3RlbS1sYW5ndWFnZS9kZWNsYXJhdGl2ZS1sYW5ndWFnZS1z
dGRlcnIudHh0VVQJAAO/U5BYI06QWHV4CwABBPUBAAAEFAAAAM2RwUrEMBBA737FHPXStD0o623d
xYsLFgoqiIe0mdLZTTIhk7bu3xtxBcH17nXeG5jHcLfvX+vq5rp+u4WN1SLQ7O4msuYJoxB7IAFy
waJDn9AAeeg4jaDWIVjqdcqOqJeeDRY6BLXhrPkkaoszWg4YVWN1Gjg6UdSM7LElN+URxyKcyA+5
3T789sQcVHuUhE7tqIs6HlUTadYJ76N2uHA8iFqLYJITbzHO1KMUw7dwnsNl+V7VZWeqVVVegfbm
H5blncR/h53DX10rM5g6dxXw6BF4gDQipIVhIWuhQ5gETQHPI/Uj5Ls+nz15gwP5PL/4AFBLAwQU
AAIACADmCD9K/98L5/UAAAAdAgAAPQAcAGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3N5c3RlbS1s
YW5ndWFnZS9oYW4tcXVvdGVzLXN0ZGVyci50eHRVVAkAA8BTkFgkTpBYdXgLAAEE9QEAAAQUAAAA
zZFNS8NAEEDv/oo56iWblPpRb7XFiwUDARXEwyY7IWN3d5adTWr/vStWEGzvXue9gXkMt+/d66y6
vpq/3cLKahGoN3cjWfOEUYg9kAC5YNGhT2iAPLScBlDLECx1OmVH1EvHBgsdglpx1nwStcYJLQeM
qrY69RydKKoH9tiQG/OIYxEO5JfcrB/+emK2qtlLQqc21EYd96qONOmE91E73HHcilqKYJIDbzBO
1KEU/Y9wnMN5+VFV88sWF1V5Adqbf1iWdxKfDjuGv7tMebOY5a4CHj0C95AGhLRj2JG10CKMgqaA
54G6AfJdX88evcGefJ6ffQJQSwMEFAACAAgA5wg/Ss0mS1r0AAAAHQIAAFAAHABmYXN0L3RleHQv
aW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2UvaGluZGktc3lzdGVtLWZvbnQtcHVuY3R1YXRp
b24tc3RkZXJyLnR4dFVUCQADwVOQWCVOkFh1eAsAAQT1AQAABBQAAADNkcFKxDAQQO9+xRz10rQ9
6Opt3cWLCxYKKoiHtJnQcdNMyKSt+/dGWUFwvXud9wbmMdy99S91dXW5er2BjdMi0OxuJ3LmEaMQ
eyABGoPDEX1CA+Sh4zSAWofgqNcpO6KeezZY6BDUhrPmk6gtzug4YFSN08lyHEVRM7DHlsYpjzgW
4Uh+yO32/rcnZq/agyQc1Y66qONBNZFmnfAu6hEXjntRaxFMcuQtxpl6lMJ+C6c5nJfvVYXWlNdV
eQHam39YlncS/x12Cn911avKmjp3FfDgEdhCGhDSwrCQc9AhTIKmgKeB+gHyXZ/PnrxBSz7Pzz4A
UEsDBBQAAgAIAOcIP0rk5iqs9AAAAB0CAABKABwAZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvc3lz
dGVtLWxhbmd1YWdlL3N5c3RlbS1mb250LXB1bmN0dWF0aW9uLXN0ZGVyci50eHRVVAkAA8JTkFgm
TpBYdXgLAAEE9QEAAAQUAAAAzZHBSsNAEEDvfsUc9ZJtAqXorbZ4sdBAoAriYZOdkLG7O8vOJrF/
7yoVBOvd67w3MI/h9q17qcrVqnq9g43VIlDv7key5oBRiD2QALlg0aFPaIA8tJwGUOsQLHU6ZUfU
c8cGCx2C2nDWfBK1xQktB4yqtjr1HJ0oqgf22JAb84hjEc7kh9xsH397Yo6qOUlCp3bURh1Pqo40
6YQPUTucOR5FrUUwyZk3GCfqUIr+W7jM4XrxXpamN9VtubgB7c0/LMs7if8Ou4S/uqpluzRV7ipg
7xG4hzQgpJlhJmuhRRgFTQFPA3UD5Ls+nz16gz35PL/6AFBLAwQKAAAAAABpBT9KAAAAAAAAAAAA
AAAAFQAcAGZhc3QvdGV4dC92YXJpYXRpb25zL1VUCQADJk6QWIdXkFh1eAsAAQT1AQAABBQAAABQ
SwMEFAACAAgAaQU/SpeFyKb0AAAAHQIAAC8AHABmYXN0L3RleHQvdmFyaWF0aW9ucy9jYXNlLWF4
aXMtbmFtZXMtc3RkZXJyLnR4dFVUCQADJk6QWCZOkFh1eAsAAQT1AQAABBQAAADNkcFKxDAQQO9+
xRz10rRdUPS27uLFBQsFFcRDmkzpuGkmZNLW/XujrCC43r3OewPzGO7ezEt1Wa7q1xvYOC0Cze52
ImcfMQqxBxKgMTgc0Se0QB46TgOodQiOjE7ZEfVs2GKhQ1AbzppPorY4o+OAUTVOp57jKIqagT22
NE55xLEIR/JDbrf3vz2xe9UeJOGodtRFHQ+qiTTrhHdRj7hw3Itai2CSI28xzmRQiv5bOM3hvHyv
Kn1l6uuqvADt7T8syzuJ/w47hb+66lVVmzp3FfDgEbiHNCCkhWEh56BDmARtAU8DmQHyXZ/PnrzF
nnyen30AUEsDBAoAAAAAAFsHP0oAAAAAAAAAAAAAAAAVABwAZmFzdC90ZXh0LWF1dG9zaXppbmcv
VVQJAAPOUZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABbBz9KAAAAAAAAAAAAAAAAGQAc
AGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9VVAkAA85RkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsD
BAoAAAAAAFsHP0oAAAAAAAAAAAAAAAAeABwAZmFzdC90ZXh0LWF1dG9zaXppbmcvaW9zL2lwYWQv
VVQJAAPOUZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACADgCj9KQeC1gvMAAAAdAgAARgAc
AGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pcGFkL3Byb2dyYW1tYXRpYy10ZXh0LXNpemUtYWRq
dXN0LXN0ZGVyci50eHRVVAkAA3NXkFjOUZBYdXgLAAEE9QEAAAQUAAAAzZFNS8QwEEDv/oo56qXZ
Vlhcb/uBFxcsFFQQD2kypeOmmZBJW/ffG3EFwfXudd4bmMdw+2ZequtldfN6C1unRaDeb0Zy9hGj
EHsgARqCwwF9QgvkoeXUg1qH4MjolB1Rz4YtFjoEteWs+SRqhxM6DhhV7XTqOA6iqO7ZY0PDmEcc
i3AiP+Rmd//bE3tQzVESDmpPbdTxqOpIk054F/WAM8eDqLUIJjnxBuNEBqXovoXzHC4X72VVlWa5
KhdXoL39h2V5J/HfYefwV9fKIFa5q4AHj8AdpB4hzQwzOQctwihoC3jqyfSQ7/p89ugtduTz/OID
UEsDBAoAAAAAAOcIP0oAAAAAAAAAAAAAAAAQABwAZmFzdC90cmFuc2Zvcm1zL1VUCQADwlOQWIdX
kFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA5wg/Snj4YXT0AAAAHQIAAC0AHABmYXN0L3RyYW5z
Zm9ybXMvYm91bmRpbmctcmVjdC16b29tLXN0ZGVyci50eHRVVAkAA8JTkFjCU5BYdXgLAAEE9QEA
AAQUAAAAzZHBSsNAEEDvfsUc9ZJNQrHWW23xYsFAQAXxsMlOyNjNzrKzSezfu2IFwXrvdd4bmMdw
896+lsVyuXi7hY3VIlDt7kay5gmDEDsgARq8xQFdRAPkoOHYg1p7b6nVMTmiXlo2mGnv1YaT5qKo
LU5o2WNQldWx4zCIoqpnhzUNYxpxyPyR/JLr7cNfT8xe1QeJOKgdNUGHg6oCTTrifdADzhz2otYi
GOXIawwTtShZ9yOc5nCZfxRlvmqvV0V+BdqZMyxLO5H/DzuFv7tuFohl6srg0SFwB7FHiDPDTNZC
gzAKmgyee2p7SHd9PXt0BjtyaX7xCVBLAwQKAAAAAABbBz9KAAAAAAAAAAAAAAAADgAcAGZhc3Qv
dmlld3BvcnQvVVQJAAPOUZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAABbBz9KAAAAAAAA
AAAAAAAAEgAcAGZhc3Qvdmlld3BvcnQvaW9zL1VUCQADzlGQWIdXkFh1eAsAAQT1AQAABBQAAABQ
SwMECgAAAAAAWwc/SgAAAAAAAAAAAAAAABcAHABmYXN0L3ZpZXdwb3J0L2lvcy9pcGFkL1VUCQAD
zlGQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA4Ao/SjGzs/n0AAAAHQIAADcAHABmYXN0
L3ZpZXdwb3J0L2lvcy9pcGFkL3dpZHRoLWlzLWRldmljZS13aWR0aC1zdGRlcnIudHh0VVQJAANz
V5BYzlGQWHV4CwABBPUBAAAEFAAAAM2RTUvEMBBA7/6KOeql2Xb9QG/rLl5csFBQQTykzZSOm2RC
Jm3df2/EFQTXu9d5b2Aew+1b91ItL5fV6w2srRaBens7kjWPGIXYAwmQCxYd+oQGyEPLaQC1CsFS
p1N2RD13bLDQIag1Z80nURuc0HLAqGqrU8/RiaJ6YI8NuTGPOBbhQH7Izeb+tydmp5q9JHRqS23U
ca/qSJNOeBe1w5njTtRKBJMceINxog6l6L+F4xxOF+9leX5lLq7LxRlob/5hWd5J/HfYMfzVZaq2
qnJXAQ8egXtIA0KaGWayFlqEUdAU8DRQN0C+6/PZozfYk8/zkw9QSwMECgAAAAAA6gg/SgAAAAAA
AAAAAAAAAAkAHABmYXN0L3hzbC9VVAkAA8hTkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
AOoIP0o74EW38wAAAB0CAAAlABwAZmFzdC94c2wvZG9jdW1lbnQtZnVuY3Rpb24tc3RkZXJyLnR4
dFVUCQADyFOQWMhTkFh1eAsAAQT1AQAABBQAAADNkcFKw0AQQO9+xRz1km2qWPVWW7xYMBBQQTxs
shMydndn2dkk9u9dIYJgvfc67w3MY7j5aN+W5Wp1+X4HG6tFoNrdD2TNM0Yh9kAC5IJFhz6hAfLQ
cOpBrUOw1OqUHVGvLRssdAhqw1nzSdQWR7QcMKrK6tRxdKKo6tljTW7II45FmMkvud4+/vXE7FV9
kIRO7aiJOh5UFWnUCR+idjhx3Itai2CSmdcYR2pRiu5HOM7hfPFZlsZcX92WiwvQ3pxgWd5J/H/Y
MTx3NTe4zF0FPHkE7iD1CGlimMhaaBAGQVPAS09tD/mu72cP3mBHPs/PvgBQSwMEFAACAAgA6gg/
Sk77IPiIAAAA5wAAACUAHABmYXN0L3hzbC90cmFuc2Zvcm0teGhyLWRvYy1zdGRlcnIudHh0VVQJ
AAPIU5BYMk6QWHV4CwABBPUBAAAEFAAAAKWOsQ7CMAxE936Ff6B4YMsME2wgOrutKyI5ceU4Uvl7
AuUPWE4n38nvJk1rFPKoGdhMLcAShb8SEPGhUhMXPJETnocbDjxeouOVXlr9zsULLlQctyJoXLTa
1Orb0/pZp0O7gsTMcAQWTpwdYlrVvGtJ2C0EqJnGBnUFUZp/8P/Q/f6c58+G7g1QSwMEFAACAAgA
6gg/Sv2iLmSPAAAA7gAAACcAHABmYXN0L3hzbC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVyci50
eHRVVAkAA8hTkFgyTpBYdXgLAAEE9QEAAAQUAAAAnY4xDsIwDEX3nsIXKB7YMsMEG4jObuuKSE5c
OY5Ubk+gnIDly/9/23qTpjUKedQMbKYWYInCXwmI+FCpiQueyAnPww0HHi/R8UovrX7n4gUXKo5b
ETQuWm1q6815P9Lcx7SqeV8tHloGEjPDEVg4cXbY2641YR8hQM00NgBXEKX5B/InRtZSp+fnRbsT
6d5QSwMEFAACAAgA6gg/Ss+PZg5QAAAAoAAAACQAHABmYXN0L3hzbC94c2x0LWNvbnRlbnRUeXBl
LXN0ZGVyci50eHRVVAkAA8hTkFgyTpBYdXgLAAEE9QEAAAQUAAAArcyxDcAgDAXRnin+BlHabIPA
CEs2RpaJMn7IDmmuu1dMJ0sOtgFyN7/QWAgQHoQTJKQ0ArZirkg87ixcsbsIzRxK0a3uyyyVv7Cn
h8rxkS9QSwMEFAACAAgA6wg/SoFKd61LAAAArAAAADQAHABmYXN0L3hzbC94c2x0LXRyYW5zZm9y
bS10by1mcmFnbWVudC1jcmFzaC1zdGRlcnIudHh0VVQJAAPJU5BYM06QWHV4CwABBPUBAAAEFAAA
ALXMsQ2AMAxE0T5T3Aq0bOPABVlybGQs5keiYAPqr/e3mKealIaDmZErhhoBUycW0DjphVtSpRtb
cudQ11fEwGHRxb6O4lVt++X6AFBLAwQUAAIACADpCj9K/nxbnNcBAAAfAwAAEQAcAGZ1bGxfcmVz
dWx0cy5qc29uVVQJAAOFV5BYh1eQWHV4CwABBPUBAAAEFAAAAH1SXWvbQBD8K+aeWpDiD7V27ZIH
g41xGyclcppCKcdaWlmHJd1xt2osQv979yQ7cQlULyf2dmfmZna+WMj7Zfxws43fPQtCR07MnkXi
XOTPTBWEti3tIDmkVhv/nzYVlCoJnxTlYVIoExqg/CqnsvDXeDSYEKZiJr7N41gEAhKqge/EejNf
Lblg0WhLXLhfrpg/Xt/dttXMS5DUGBSzn+L6WvwKhCphjzJVWSYN2gQrnvt4NR3+4S8QGTjypC6H
VD+FqS7bB2jThKcSWcQXbS/EmzWz3q6Y9a1c5WSpnFPVXhIeuZtsjRevOM+2AhJdGu0Ucbcn2KMu
kWzT2XfENFRVeO7B9K2Qfxz4j3Xb5Y9t71X1hcbWoE5k54k7KGM8yHQ8/hSIqi6lxb1FbtcVpzkK
hKYcrUwsuBx9vjylKs7a1qalz6Bw2I2eaNqxAhpdc0B+UTgSy7r633VRl+j6CyDoLx/j/iPuvirq
37S923anAvGb94jZxexDh2rAOc8cTaLBJBCGrSpOuFjBrrgQkQLx88RgOBtF801PV70vUNVgm140
DHqjwXDC+Dk4aSwSNQxNSX4OjTPwaMw7nk6ijjsr4MABDQJRswbZmQ7kzZG88mcv33/+C1BLAwQK
AAAAAAB1BT9KAAAAAAAAAAAAAAAABQAcAGh0dHAvVVQJAAM9TpBYh1eQWHV4CwABBPUBAAAEFAAA
AFBLAwQKAAAAAAAKCT9KAAAAAAAAAAAAAAAACwAcAGh0dHAvdGVzdHMvVVQJAAMEVJBYh1eQWHV4
CwABBPUBAAAEFAAAAFBLAwQKAAAAAAB1BT9KAAAAAAAAAAAAAAAAEwAcAGh0dHAvdGVzdHMvY29v
a2llcy9VVAkAAz1OkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAPAIP0o6agwNvwEAAGAr
AAA5ABwAaHR0cC90ZXN0cy9jb29raWVzL3RoaXJkLXBhcnR5LWNvb2tpZS1yZWxheGluZy1zdGRl
cnIudHh0VVQJAAPUU5BYPU6QWHV4CwABBPUBAAAEFAAAAO3azU6sMBQH8L1P0Qew9IN22s5uLONG
czfG3IVxUbCOzTB0AtUb317IeN3oEjATzgYCgZz2l5N/SQqnTGHKcM4QZWuq1jnLtKCoiofMHY+1
z/768iak7I9P/2K7D80uK/ybr+Px4Jv0wJliqzUXUmuZP6IidHsb4z74uxRbt/OoenHNrn8LHWMd
qnf03MYD4ihFRC/7KsOj6DnUfn06EkLuO992pHwN9VMZE7kNZevad/JZ1bfExtbfhcNr7foaw/1Q
+Y7w64ILqwXWcrvBwkqBN5xaLEx+tTF6xagV5Mkl17/fJBeaoUoxXG/6eYbKpRAbUihTGKopLqzY
YkEVx4bmFOdiy5VR1kpVfA3pNNPu/zkrQ9PfPk2qu+A/0Uo5MS0daPkiadV32v40DKnn/EarPmkF
dO3v0y62a03OIWunolWQtVPRaujaqWgNLGPnSrvgQICunYpWUljGZqSFQBiHVsIXwoy0kLWj0K4g
a+ekhawdhxaydk5ayNpRaFUOWTsjLWTtOLQKsnZGWsjaUWi1gKydkRaydhxa2GWYitYwCIQZaWEZ
Ow/aBXct/IcwGS18fE1GC9uOZ0u7iK79AFBLAwQKAAAAAAB3BT9KAAAAAAAAAAAAAAAAEgAcAGh0
dHAvdGVzdHMvaW1hZ2VzL1VUCQADQk6QWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA8gg/
Skrx8cx6AAAARwEAAC4AHABodHRwL3Rlc3RzL2ltYWdlcy9oaWRwaS1zcmNzZXQtY29weS1zdGRl
cnIudHh0VVQJAAPYU5BYQk6QWHV4CwABBPUBAAAEFAAAADMyMDTXNTDUNTZUMDC0MjC3MjbTMzKx
VAhPTfLOLAlJLS4JKs3LSy1yLCiINjI0NzSwMjIxtTQwsIxVCHDyLEnNdc7PyUlNLsnMzwtOLSrL
TE4tUkjOB+oACymkZBZDeakpelxG2CwzN8JrmZmJqYUFtSwzNjKkjc8AUEsDBAoAAAAAAIMFP0oA
AAAAAAAAAAAAAAATABwAaHR0cC90ZXN0cy9sb2FkaW5nL1VUCQADVk6QWIdXkFh1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAgwU/ShBFdebyAAAAHQIAAEUAHABodHRwL3Rlc3RzL2xvYWRpbmcvdGV4
dC1jb250ZW50LXR5cGUtd2l0aC1iaW5hcnktZXh0ZW5zaW9uLXN0ZGVyci50eHRVVAkAA1ZOkFhW
TpBYdXgLAAEE9QEAAAQUAAAAzZFNS8QwEEDv/oo56qVpd1HQ237gxQULBRXEQ5pM6bhpJmTS1v33
RqgguN69znsD8xhu381rdVOuq7c72DktAvVhO5KzTxiF2AMJ0BAcDugTWiAPLace1CYER0an7Ih6
MWyx0CGoHWfNJ1F7nNBxwKhqp1PHcRBFdc8eGxrGPOJYhIX8kJv9w29P7FE1J0k4qAO1UceTqiNN
OuF91APOHI+iNiKYZOENxokMStF9C+c5XJYf1Wpt2uvbqrwC7e0/LMs7if8OO4eXLm27Ve4q4NEj
cAepR0gzw0zOQYswCtoCnnsyPeS7vp49eosd+Ty/+ARQSwMECgAAAAAAjwU/SgAAAAAAAAAAAAAA
ABAAHABodHRwL3Rlc3RzL21pc2MvVVQJAANtTpBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIA
CAAJCT9KFTU1knoAAAC8AAAAKgAcAGh0dHAvdGVzdHMvbWlzYy94c2x0LWJhZC1pbXBvcnQtc3Rk
ZXJyLnR4dFVUCQADAVSQWG1OkFh1eAsAAQT1AQAABBQAAACNjkEOwyAMBO95hT9AIO2hFb8hxFUs
GYyMkfr8EuUD1V5WO4fZLKURJyOpgKqiET7ECKdZi95vj9caZrb4DiH4Qj17xS5DM3b/7WxuT4ej
0kTNDaV1bsBUEZ6AjAWrwU2XSeJdIcKoaZ8aE2BJx3+6Kn3k87qXLDEvP1BLAwQKAAAAAAB9BT9K
AAAAAAAAAAAAAAAAFgAcAGh0dHAvdGVzdHMvbmF2aWdhdGlvbi9VVAkAA05OkFiHV5BYdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAPkIP0rbCNNCOwAAAD8AAAA3ABwAaHR0cC90ZXN0cy9uYXZpZ2F0
aW9uL2ZhbGxiYWNrLWFuY2hvci1yZWxvYWQtc3RkZXJyLnR4dFVUCQAD5VOQWE5OkFh1eAsAAQT1
AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK
8pNTi4tTU/S4AFBLAwQKAAAAAACPBT9KAAAAAAAAAAAAAAAAFAAcAGh0dHAvdGVzdHMvc2VjdXJp
dHkvVVQJAANtTpBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAACMBT9KAAAAAAAAAAAAAAAA
KgAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L1VUCQADZ06QWIdX
kFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA/Qg/SlPKTONzAAAAdQAAAFcAHABodHRwL3Rlc3Rz
L3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1zdGFyLXdlYnNvY2tl
dC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAA+1TkFhWTpBYdXgLAAEE9QEAAAQUAAAAMzIwNNc1MNQ1
NlQwMLQyMLcyNdczNbRUSM7P1UssKMhJ1QtPTfLOLAFRzvl5Jal5JXouqWWpOfkFuUB2tJGhuYmp
lZGJmZGpgUmsgrObX2pJeX5RtkJwsI9HYl5KcUZidqpCWmJmTmqKgoaupYWBuSYXAFBLAwQUAAIA
CAAACT9Knh3klHMAAAB1AAAAVwAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5
UG9saWN5L2RlZmF1bHQtc3JjLXN0YXItd2Vic29ja2V0LWFsbG93ZWQtc3RkZXJyLnR4dFVUCQAD
8FOQWFdOkFh1eAsAAQT1AQAABBQAAAAzMjA01zUw1DU2VDAwtDKwsDIw0DMwM1FIzs/VSywoyEnV
C09N8s4sAVHO+XklqXklei6pZak5+QW5QHa0kaG5iamVkYmZkamBSayCs5tfakl5flG2QnCwj0di
XkpxRmJ2qkJaYmZOaoqChq6lhYG5JhcAUEsDBAoAAAAAAIsFP0oAAAAAAAAAAAAAAABEABwAaHR0
cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFkZS1pbnNlY3VyZS1y
ZXF1ZXN0cy9VVAkAA2ZOkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAkJP0oHg/ItkQAA
AJ4AAAB+ABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXBncmFk
ZS1pbnNlY3VyZS1yZXF1ZXN0cy91cGdyYWRlLXJlZGlyZWN0LWh0dHBzLXRvLWh0dHAtc2NyaXB0
LWluLWlmcmFtZS1zdGRlcnIudHh0VVQJAAMBVJBYZk6QWHV4CwABBPUBAAAEFAAAAB3LwQqCMBgA
4HtPsWNBrm1mLq9aBIlEKzpEh6V/Mdz2yxz1+knH7/AJxvOE8STlhPGCyYLnVKSMtOioHgYL9AbP
o4m0gfjF0Bv/phV8wOLgwMe74PmUxDqTkmcP0qjruVYwjgb96o8SvYc2TiaHy+VELOqOvLSx0JF5
X+5VDKDdLgQMFTptvFL1kiRbyTaL2Q9QSwMECgAAAAAAjAU/SgAAAAAAAAAAAAAAAD0AHABodHRw
L3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00v
VVQJAANoTpBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACAAJCT9KlzTTn/UAAAAdAgAAawAc
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRv
d0RPTS9kZWZhdWx0LXNyYy1vYmplY3QtZGF0YS11cmwtYWxsb3dlZC1zdGRlcnIudHh0VVQJAAMB
VJBYZ06QWHV4CwABBPUBAAAEFAAAAM2RTUvEMBBA7/6KOeql2Ra/1tu6ixcXLBRUEA9pM6XjJpmQ
SVv33xtlBcH17nXeG5jHcPvWvVTVeXn5egNrq0Wg3t6OZM0jRiH2QALkgkWHPqEB8tByGkCtQrDU
6ZQdUc8dGyx0CGrNWfNJ1AYntBwwqtrq1HN0oqge2GNDbswjjkU4kB9ys7n/7YnZqWYvCZ3aUht1
3Ks60qQT3kXtcOa4E7USwSQH3mCcqEMp+m/hOIfTxXtZLnWvl+XiDLQ3/7As7yT+O+wY/uqqyour
6yp3FfDgEbiHNCCkmWEma6FFGAVNAU8DdQPkuz6fPXqDPfk8P/kAUEsDBBQAAgAIAAoJP0pgSICp
9QAAAB0CAABrABwAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50U2VjdXJpdHlQb2xpY3kvdXNl
ckFnZW50U2hhZG93RE9NL2RlZmF1bHQtc3JjLW9iamVjdC1kYXRhLXVybC1ibG9ja2VkLXN0ZGVy
ci50eHRVVAkAAwNUkFhoTpBYdXgLAAEE9QEAAAQUAAAAzZHBSsNAEEDvfsUc9ZJtotDGW23xYsFA
QAXxsMlOyNjNzrKzSezfu0oFwXrvdd4bmMdw896+FsXNdfl2CxurRaDa3Y1kzRMGIXZAAjR4iwO6
iAbIQcOxB7X23lKrY3JEvbRsMNPeqw0nzUVRW5zQssegKqtjx2EQRVXPDmsaxjTikPkj+SXX24e/
npi9qg8ScVA7aoIOB1UFmnTE+6AHnDnsRa1FMMqR1xgmalGy7kc4zeFy8ZHn5XK5KvPFFWhnzrAs
7UT+P+wU/u4qirxZFakrg0eHwB3EHiHODDNZCw3CKGgyeO6p7SHd9fXs0RnsyKX5xSdQSwMEFAAC
AAgACQk/Srf2TfH0AAAAHQIAAGwAHABodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0
eVBvbGljeS91c2VyQWdlbnRTaGFkb3dET00vZGVmYXVsdC1zcmMtb2JqZWN0LWRhdGEtdXJsLWJs
b2NrZWQzLXN0ZGVyci50eHRVVAkAAwFUkFhoTpBYdXgLAAEE9QEAAAQUAAAAzZFNS8QwEEDv/oo5
6qXZ1t2D3vYDLy5YKKggHtJmSsdNMiGTtu6/N8oKguvd67w3MI/h9q17qaplVb3ewtZqEaj3m5Gs
ecQoxB5IgFyw6NAnNEAeWk4DqHUIljqdsiPquWODhQ5BbTlrPona4YSWA0ZVW516jk4U1QN7bMiN
ecSxCCfyQ2529789MQfVHCWhU3tqo45HVUeadMK7qB3OHA+i1iKY5MQbjBN1KEX/LZzncLl4L8v2
WuubcnEF2pt/WJZ3Ev8ddg5/dVXLlVlVuauAB4/APaQBIc0MM1kLLcIoaAp4GqgbIN/1+ezRG+zJ
5/nFB1BLAwQUAAIACAAHCT9KY6qsbIIAAACoAAAAQAAcAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29u
dGVudFNlY3VyaXR5UG9saWN5L3hzbC1hbGxvd2VkLXN0ZGVyci50eHRVVAkAA/1TkFhmTpBYdXgL
AAEE9QEAAAQUAAAALY1BCsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kE
VdFEe2HQ4d5SCMttnePIku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB
+DRoekNtXCeSyp2WOdKOza8xRJuC7GpN1PGavlBLAwQUAAIACAAHCT9KY6qsbIIAAACoAAAAUgAc
AGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFmZmVjdGVk
LWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAkAA/1TkFhmTpBYdXgLAAEE9QEAAAQUAAAALY1B
CsMwDATveYVeEDu9pPgVhb4guBtiUCwjKaX+fU0pe1qG2c1ytsKbF6kEVdFEe2HQ4d5SCMttnePI
ku4xxmDIlxbvIUt1VH/++0O45B4UJpdmWDDvjPljTFwqaCUwziHQD9gB+DRoekNtXCeSyp2WOdKO
za8xRJuC7GpN1PGavlBLAwQKAAAAAACNBT9KAAAAAAAAAAAAAAAAIgAcAGh0dHAvdGVzdHMvc2Vj
dXJpdHkvamF2YXNjcmlwdFVSTC9VVAkAA2lOkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAI
AI0FP0rtXl268wAAAB0CAABjABwAaHR0cC90ZXN0cy9zZWN1cml0eS9qYXZhc2NyaXB0VVJML2ph
dmFzY3JpcHRVUkwtZXhlY3V0aW9uLWNvbnRleHQtZnJhbWUtbG9jYXRpb24taHRtbGRvbS1zdGRl
cnIudHh0VVQJAANpTpBYaU6QWHV4CwABBPUBAAAEFAAAAM2RwUrEMBBA737FHPXStEVc9Lbu4sUF
CwUVxEPaTOi4aSZk0tb9eyOuILjevc57A/MY7t76l+pqVZavN7BxWgSa3e1EzjxiFGIPJEBjcDii
T2iAPHScBlDrEBz1OmVH1HPPBgsdgtpw1nwStcUZHQeMqnE6WY6jKGoG9tjSOOURxyIcyQ+53d7/
9sTsVXuQhKPaURd1PKgm0qwT3kU94sJxL2otgkmOvMU4U49S2G/hNIfz8r2qL2urr6vyArQ3/7As
7yT+O+wU/urqzMrWuauAB4/AFtKAkBaGhZyDDmESNAU8DdQPkO/6fPbkDVryeX72AVBLAwQUAAIA
CAAKCT9KYEtmEJEAAAD7AQAARQAcAGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzLURFTklFRC14c2wt
ZG9jdW1lbnQtc2VjdXJpdHlPcmlnaW4tc3RkZXJyLnR4dFVUCQADBFSQWG1OkFh1eAsAAQT1AQAA
BBQAAADtjjEOgzAMRXdO4QuEBJZWmWHo0p4BBVMimSSynQpuXzr0Bh2rv76v90LeSqRJY06AzJk9
LJEQVtXire36S+vOdf7qnLOCoXLUw+4iZhjvt3Ewu5CZc6gbJjVf4MHxGVO7bwQUE0IPSPghQPQg
lBVRm/PpX8hyuj3kRAd0rYMFJ62MAhMjSC0ls+LchH/oj0PfUEsDBAoAAAAAAI4FP0oAAAAAAAAA
AAAAAAAfABwAaHR0cC90ZXN0cy9zZWN1cml0eS94c3NBdWRpdG9yL1VUCQADbE6QWIdXkFh1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAjgU/SsDUDGTsAAAAfAEAAEwAHABodHRwL3Rlc3RzL3NlY3Vy
aXR5L3hzc0F1ZGl0b3IvY3Jhc2gtd2hpbGUtbG9hZGluZy10YWctd2l0aC1wYXVzZS1zdGRlcnIu
dHh0VVQJAANsTpBYbE6QWHV4CwABBPUBAAAEFAAAALWPQW6DMBBF9z2FL5B6BowNS9t4Nl1UiqJ2
WRlwEhKCkXGqJqcvPUT//n29R36cwsByZH0KPgd29mlg0zhf2THFG+PfPvFjnIaQVn5FjjkP9XJC
iV3dzd2ar1/5cnsK2Haa+YF/hu5tzIew5v19nkPSy/Lql2X3fLw//A+3vj8H/rG9jXFmiNxMsVu5
LGVlnUHhStO0baWcMJUEBU3btIAEYIVQSH+i/660D31Mw8oBm1JSoQHKqgASYNFZCYUQhmrVOuuo
lo3QG7DGe+oDF8YJQiKSIEvaEKUqUyjbFJUu3JZhNJLTYtdt1S+/UEsDBAoAAAAAAAoJP0oAAAAA
AAAAAAAAAAAPABwAaHR0cC90ZXN0cy9zc2wvVVQJAAMEVJBYh1eQWHV4CwABBPUBAAAEFAAAAFBL
AwQUAAIACAAKCT9KFRP3bfMAAAAdAgAALgAcAGh0dHAvdGVzdHMvc3NsL2lmcmFtZS11cGdyYWRl
Lmh0dHBzLXN0ZGVyci50eHRVVAkAAwRUkFgEVJBYdXgLAAEE9QEAAAQUAAAAzZHBSsQwEEDvfsUc
9dJsix7qbd3FiwsWCiqIh7SZ0tlNMiGTtu7fG2UFwfXudd4bmMdwt+9fq+r6pny7hY3VItDs7iay
5gmjEHsgAXLBokOf0AB56DiNoNYhWOp1yo6ol54NFjoEteGs+SRqizNaDhhVY3UaODpR1IzssSU3
5RHHIpzID7ndPvz2xBxUe5SETu2oizoeVRNp1gnvo3a4cDyIWotgkhNvMc7UoxTDt3Cew+XqvSw1
DrouV1egvfmHZXkn8d9h5/BXV1XVdVXlrgIePQIPkEaEtDAsZC10CJOgKeB5pH6EfNfnsydvcCCf
5xcfUEsDBAoAAAAAABAJP0oAAAAAAAAAAAAAAAAaABwAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVz
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
dHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLW5vLWNyZWRlbnRpYWwtcHJvbXB0LXN0ZGVy
ci50eHRVVAkAAw5UkFh3TpBYdXgLAAEE9QEAAAQUAAAA7ZDBTsQgEIbvPgUPIGWgdCm9VVgvGi8b
48F4oF12JdtCQ1nNvr00VWPixQfwMpOZzOT//48BFRgoLikC2kDdlFBQSlEfxsJM02CLJ9vduVQ8
2PQe4sn5Y6Htmx3CNFqfnhnjFTSMC7oB+YK0m08qhJOzuxSiOVrUvxp/zF9oCoPrL+gQw4gApYDY
dVZZTtHBDbZZKyHkcbZxJt3ZDfsuJHLvumjihXyq2khUiHbnxvNgssayd72dCbvVjKua47ratpir
iuOWgcJcljetrDcUFCd7k0z+98k4v6joZW5zTteb5IInWkgtoQasFd9iDoJhCSXgkm+ZkEKpSuhv
S2vS+asXnfN5vYaar9hf0ea2WMo4f6GlK1oK/2h/ov0AUEsDBBQAAgAIABAJP0pbOR4A8gAAAB0C
AAA5ABwAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9lbmNvZGUtcmVxdWVzdC11cmwtMi1zdGRl
cnIudHh0VVQJAAMPVJBYD1SQWHV4CwABBPUBAAAEFAAAAM2RTUvEMBBA7/6KOeqlacsK6m0/8OKC
hYIK4iFppnTcNBMyadf990aoILjevc57A/MYNu/da12vrsu3O9g6LQLNfjORs08YhdgDCdAYHI7o
E1ogD4bTAGodgqNOp+yIeunYYqFDUFvOmk+idjij44BRNU6nnuMoipqBPbY0TnnEsQgL+SG3u4ff
ntiDak+ScFR7MlHHk2oizTrhfdQjHjkeRK1FMMnCW4wzdShF/y2c53BZflSVsTf6tiqvQHv7D8vy
TuK/w87hpcuYVZ27Cnj0CNxDGhDSkeFIzoFBmARtAc8DdQPku76ePXmLPfk8v/gEUEsDBBQAAgAI
AGQIP0pbBFgOogUAAE0QAAAKABwAaHR0cGQuY29uZlVUCQADy1KQWAxXkFh1eAsAAQT1AQAABBQA
AACtV21v2zYQ/q5fQbgwsBWTnLhx5xVBANdxlixJnVlOAyxJDVqiJNYSqZFUYnvrfvuOlOUXyVED
bA4QicfnuTsdj8ejS8QTESPOFWq0MikalnWdKTJHAY3Jh5ZK0tYdmV5SZd1Q/wxkANsIW5FSqe+k
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
O6p2VO2o2lG1o2pH1Y6qHVVLc7UAUEsDBBQAAgAIADsJP0pUAsmyNgAAAMACAABQABwAaW1wb3J0
ZWQvdzNjL1dlYkNyeXB0b0FQSS9nZW5lcmF0ZUtleS90ZXN0X2ZhaWx1cmVzX1JTQVNTQS1QS0NT
MS12MV81LXN0ZGVyci50eHRVVAkAA2FUkFjbTpBYdXgLAAEE9QEAAAQUAAAAc84vzUlRyMsvUUhP
zUstSixJVUhUyE6tVChIzCzSUSguSSwpLVbQNTE2MOFyHlU7qnaQqQUAUEsDBAoAAAAAAIsGP0oA
AAAAAAAAAAAAAAAgABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9VVAkAA0ZQkFiH
V5BYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAOsFP0oAAAAAAAAAAAAAAAAkABwAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vVVQJAAMZT5BYh1eQWHV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAADrBT9KAAAAAAAAAAAAAAAAKgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvZG9tL25vZGVzL1VUCQADGU+QWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA6wU/SpPw
uPjzAAAAHQIAAEsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9ub2Rlcy9E
b2N1bWVudC1jcmVhdGVFbGVtZW50LXN0ZGVyci50eHRVVAkAAxlPkFgZT5BYdXgLAAEE9QEAAAQU
AAAAzZHBSsNAEEDvfsUc9ZJtqlbqrbZ4sWAgoIJ42OxOyNjNzrKzSezfu0IEwXr3Ou8NzGO4eTev
5Wq1Xr/dwtZpEaj2dwM5+4RRiD2QAPXBYY8+oQXy0HDqQG1CcGR0yo6oF8MWCx2C2nLWfBK1wxEd
B4yqcjq1HHtRVHXssaZ+yCOORZjJD7nePfz2xB5UfZSEvdpTE3U8qirSqBPeR93jxPEgaiOCSWZe
YxzJoBTtt3Caw/nioyzN1fXlulxcgPb2H5blncR/h53Cc9fyxi5zVwGPHoFbSB1Cmhgmcg4ahEHQ
FvDckekg3/X17MFbbMnn+dknUEsDBAoAAAAAAPkFP0oAAAAAAAAAAAAAAAAmABwAaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9VVAkAAzZPkFiHV5BYdXgLAAEE9QEAAAQUAAAA
UEsDBAoAAAAAAAUGP0oAAAAAAAAAAAAAAAAqABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvVVQJAANJT5BYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQKAAAAAAAFBj9K
AAAAAAAAAAAAAAAAMAAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBp
L2Jhc2ljL1VUCQADSU+QWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAewk/SsIkhSGRAAAA
ngAAAEcAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9iYXNpYy9t
b2RlLW5vLWNvcnMtc3RkZXJyLnR4dFVUCQAD2lSQWElPkFh1eAsAAQT1AQAABBQAAAAdx8sKgkAU
ANB9X3GXBTl5R810q0WQSDRFi2gx6S0G5yHjUL9fdHaHx5hHMUYJQowlYpmlLOMJdM4wOY6a2JUe
BxVYS+Hj/KDsi9X0Ju1GQzbcOOZpWvJ0zTMs7tCKy6kRNE3K2dU/lbOWuvA77M/nI2gne3hKpamH
+VDtRPAkzdZ752tnpLJCNEuIig0mi9kXUEsDBBQAAgAIAHsJP0o2T4nHkQAAAJ4AAABOABwAaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvYmFzaWMvbW9kZS1uby1jb3Jz
LXdvcmtlci1zdGRlcnIudHh0VVQJAAPaVJBYSU+QWHV4CwABBPUBAAAEFAAAAB3HTQuCMBgA4Hu/
YseCXHvnzPSqRZBItKJDdFj6FsN9yBz194ue28MZ5AmDJAXCoAQoM0EFE6TzlqpxNEiv+DjoSFuM
Hx8G7V60xjcaP1p08cYhF6LkYs0zKO6klZdTI3GatHerfyrvHHbxd7I/n4/EeNWTp9IGezIfqp2M
AZXdhuBD7a3STspmSZJiA+li9gVQSwMECgAAAAAA/AU/SgAAAAAAAAAAAAAAAC8AHABpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL1VUCQADPE+QWIdXkFh1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAawk/ShEldP2qAAAAtAMAAEQAHABpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtYmFzaWMtc3RkZXJyLnR4dFVUCQAD
uVSQWDZPkFh1eAsAAQT1AQAABBQAAADNzrsKwjAUANDdr8ioYGNv0hrT1QeCpYipOIhDbK8SbJMS
g/6+4uwHZDzbYSmIJIWEA0mhACgYUDbPSON6qoehQ3rC684EWmF4O/8w9k5X+MLODT3acGYgeF6w
LJci4xdSqeOhVPh8GmdnPyydtdiEr8m2rvekc7olN206bMn4sdyo4FH3a++dX7leG6tUOSWJXACf
jNi/nRAx72Qa8Y5zFvMug6h3MpLdB1BLAwQUAAIACABrCT9KYJtUW6sAAAC0AwAASwAcAGltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1iYXNpYy13b3Jr
ZXItc3RkZXJyLnR4dFVUCQADuVSQWDZPkFh1eAsAAQT1AQAABBQAAADN0rEKwjAUQNHdr8ioYGNe
klLbtSqCRcQoDuIQ7VOCTVLSoL+vOPsBGe92hssZFBmDTABhUAFUHCiDnNy8pbrvO6QnvG5MpFuM
bx+exj3oAl/Y+d6ii2cOhcgrLvOykOJCtuq4bxQOg/Fu9ovaO4e3+G2yPhx2pPO6JXdtOmzJ+Fmv
VAyo7TIEHxbeauOUaqYkK+cgJiP+TydYyjrJU9bNZcq6MuXvgItEdB9QSwMEFAACAAgAbAk/SnCh
AsmdAAAAPAEAAEsAHABpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9j
b3JzL2NvcnMtbm8tcHJlZmxpZ2h0LXN0ZGVyci50eHRVVAkAA7tUkFg4T5BYdXgLAAEE9QEAAAQU
AAAAzc7BCoIwGADge0+xY0Eu/02xedUiSCSa0SE6LP2Lodtkjnr9omsv0PG7fSyGLIoh4kBiyAFy
xqgQKWmdoWocB6RnvO11oDWGl/O9tg9a4hMHNxq04cIg42nOklRkCb+SWp6OlcRp0s6uviictdiG
j8muaQ5kcKojd6UH7Mi8L7YyeFRm473zpTNKWymrJYnEGvhixn52nMYAf7J7A1BLAwQUAAIACABr
CT9KCS9nWJwAAAA8AQAAUgAcAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2NvcnMvY29ycy1uby1wcmVmbGlnaHQtd29ya2VyLXN0ZGVyci50eHRVVAkAA7pUkFg4T5BY
dXgLAAEE9QEAAAQUAAAAzc49DoIwGADQ3VN01ERqf8ACK2hMJMRYjINxqPBpGkpLSqPX1zh7AMe3
PUaoiAiNOEWE5pTmjGGRrlHrBqzG0QA+w22vA64hvJzvtX3gEp5g3DiADRdGBU9yFieZiPkV1fJ0
rCRMk3Z29UXhrIU2fIx2TXNAxqkO3ZU20KF5X2xl8KCGjffOl25Q2kpZLVGUpZQvZuzHLiX8T3Zv
UEsDBBQAAgAIAGwJP0q4ACZ6RgIAAEkMAABFABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLW9yaWdpbi1zdGRlcnIudHh0VVQJAAO7VJBYOU+QWHV4
CwABBPUBAAAEFAAAAO2WXWvbMBSG7/crdLOywWTr05ICYYQ0bce6pswtuxij6DMxdSzjaOv676ek
rNAxWEcpS+mwbmSZ875+/OJzpvOTen48Ax9mdT05nI3AfGgWTQeWKfWjsmyj1e0yrtNISoRAswZd
TEC3bbzyDphrMLHWr9dwGrs0xBZONifwpkbxYvpr8QOf7BJMTt8Bq7tNpTZq91MLE1GgfOGtVhk2
z5a6b8rBr+PXIeuU/eBD2yyWqeiv36Z46buxtizYoB2sLHeQCeKgNJ5AgjUSlSUBM7630t8v9MKP
0V7cWhtvJF/SyUtykNetcL6zkd7bvt/FyqdldOvx4eyseFws/475HS18X+YCGcdc5SFxWECmKYfK
owoyjnHQ3hhm1R+Y3wrfMMfPiPmdnN+becUV41YbqLgIOec58VohAqkTQnLOpNDs73L+6MwJyulA
GFIMEB5hPCK0YJICG1eF7vvWF5+8ed+k4sSnqzhcNt2i2PfffBv7le/SZ4IF5SPCuBKMfgEn9fnH
4zrLNbErt5ss23mb8h4cnZ2d3lAOummzuVeX04M6DV6vZsMQh/240k1X18dvAFQS09e/d6f4Drvj
GO2yO7Ir7KZPvacJyRhGDsFArYQMOQIlDw4KxQhyNFjM3MN62um8fiY/2HtDRwg54zJv6WluZdhh
aAivIM4fQ1mKLcHsYdCPZpP94slxscpLkucoaIkymQtC0LDc+6llFAejK1JVDwzj+f8s3mVuvPVG
EZshyzxgOWtyszcIUoK4k5UI1qMdG2p/AFBLAwQUAAIACABsCT9K+EAQFaUAAAB4AgAATAAcAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1vcmlnaW4t
d29ya2VyLXN0ZGVyci50eHRVVAkAA7tUkFg4T5BYdXgLAAEE9QEAAAQUAAAAzdBPC4IwHMbxe69i
x4JcblOmXrUIEolWdIgOS3/FcH9kjnr7SedegMfv4YEPD40Jj2ISMYJiUhBSUIZpkqLWGSyHQQO+
wuOgAm4gfJzvlX3hCt6g3WDAhhslnKXFtMh5wu6oEZdTLWAclbObX5TOWmjD1Gh/Ph+RdrJDT6k0
dGjZlzsRPEiz9d75yhmprBD1GkV5RthqQf/p0mzOOk7nrMvm8t0XUEsDBBQAAgAIAG0JP0qpmFTD
mQEAAN4FAABIABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29y
cy9jb3JzLXByZWZsaWdodC1zdGRlcnIudHh0VVQJAAO9VJBYOk+QWHV4CwABBPUBAAAEFAAAAM3U
TWvcMBAG4Ht/hU69zVqyZEleCMVs3aaQL7pbeiwjaRQvdW13rdDsv6+cXHpYSA4lLDpZHkvz4JfZ
3N5sb69adt1ut83nds0+UfIda+6+MI/DMCbWjxhYl9K0LgpRmhXPS6yt5byIS22B07440Dw+HDzN
xXSg2O/vu7Sajh/S+JOGi1wq6oAEImoDSgYOKEiCdShL0tJwUb3/hY8/8J4u+IpdU+rGwD62V+2u
ZfuZLW1g349/KDB3ZI3PF82wGYd0GHtoljfw/NG8erd5C1FVKaOFhto7ASo4B1bx/BitCFFzyS2d
EN19250lR3mseCQDpETIP6jU4GJJYMrSBiMF1mhPcZrd5vIsQS44iU5I0LrOiSNFYE1YsleiVt55
ifoE6Kb9fpYcrF3NpawBtZOgXMUh+wJ4oa113NiSxL+cr/T7gebEOsJABxb31Af2CCnvwfOeeK3z
8qn8rXKoMSAuwaMcQcXLKju9AsNjniBOO6P1i86lfxoS7I4TnaXSL6HUwQNhzEqrJKDKgxFtPsWa
yhJ3/2l4/AVQSwMEFAACAAgAbQk/Shf/10jLAgAAvxMAAFEAHABpbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtcmVkaXJlY3QtcHJlZmxpZ2h0LXN0ZGVy
ci50eHRVVAkAA75UkFg8T5BYdXgLAAEE9QEAAAQUAAAA7ZfbihNBEIbvfYq5MXeV9PmwECQsuyp4
wn0A6aquNsGYWTOzrL69FUVXyBIEc6FuSJgJk8lQfPm/qu7z16+uXr+46F5eXF0tnl6cdZc80rJb
vHneUdls+rFb96V2y3G8PpvNtIlTJS99lpJSs7a7d1auV7MtD/3NlniYXW+5rVfvl+P0+suTj+Xz
u/Ke52oy9h94M3cJUzOtAqlK4ILXgKwUuEJY0NrIRk+2XFdbpvHdMJbxZphbpSfrnsq46jfzXSGP
7eKxuZT3z3Lkyq4gufStJDlLUXKkfjvIaTqVw88S5fOvRU6ov9mMcz3t3vKnGx7Gbsml8rZrK17X
7jPcWupWQ7djUdbr/pZrh1+6BcmjBjjvN+O2X8Ni9w08+/bLYfro/NhYf0DZUf3OUpNDwqChRCME
0XjI2bCwjLG2EqLBNrn7A36f6u7qetkP459Q/ddoWhUsxhCAU3LgGAOU1AKQr4pR+cw6H4Om/g9p
HlQ+WIVYLUKqLYKLmSEbrKCyd4Q+2SBg93Gak/L7ISXjcpRAgq4GRflEUIy0z2g8Uwjki1cHQ2pO
yv/SQL1XQRsCjdHIMGoZcgsNYuUUqyaOxRyD5oNTHo21wcpsZ/SivLRWQGIFTeLpW80NW7oHpz0p
vx9STzY7lz2kVqqENGVAK95rtrWqGDhHdzCk9qT8Hc0UjPMUA3jlNDijGiRtGlQtzwg6EFI6Bs0H
p3xq5FuQocRObHeKZTJF6yCX7E312tpyH854Un4/pCZq10pBWc47WYoGpwBLbmA9opfWmqvzB0Ma
T8rf0ZQtZXNJ2qbyvoFruUCplMCbptBF72VLegyaD055F2xGCggyhqzsOlmWT45lUMUaSVmhq9s9
ONNJ+f2QMreckzJgo06iPNed/AWoGKuoaev5cEjTSfk7mrkYnZouoFKWBlprhNKCcHUFjTNJtkn6
GDT/AuW/AlBLAwQKAAAAAACLBj9KAAAAAAAAAAAAAAAAJQAcAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9VVAkAA0ZQkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAIsG
P0oAAAAAAAAAAAAAAAAvABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3Nl
bWFudGljcy9VVAkAA0ZQkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAIsGP0oAAAAAAAAA
AAAAAAA1ABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9m
b3Jtcy9VVAkAA0ZQkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAIsGP0oAAAAAAAAAAAAA
AABBABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFudGljcy9mb3Jt
cy9jb25zdHJhaW50cy9VVAkAA0ZQkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAAEKP0rL
eWMyWwIAABo/AABqABwAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9odG1sL3NlbWFu
dGljcy9mb3Jtcy9jb25zdHJhaW50cy9mb3JtLXZhbGlkYXRpb24tcmVwb3J0VmFsaWRpdHktc3Rk
ZXJyLnR4dFVUCQAD0VWQWEZQkFh1eAsAAQT1AQAABBQAAADd2r2O1DAQAOCepwgPcGjGHv/MCiGd
qBAdAq5AFHY8OSId2dVu0PH4pKGlYgYNbZRE+eLY8+MEwHIHeBdxAjxhPgG+qkDTg/T36/5RbvuH
H9sm1/vL5UvAAvkUKNWS6ev00K7buj2epvt9l++XfdrP0+UqN9n26fWnd59XeX573vbr+elJrqcJ
fpZFSsCIAA3eTOftT2cFqGMcZz1/W59kar9v3Pb1uG69Tet2HDo/HkdvL1+Ef4AI83CPAJFqgUiq
I5Go+EdkzhaIrIo4XpJ/BBeLOYGohsCejpFo/hGc2D+itcUAEUERQUALWSBQFZEH+0eUJflHMJl8
TkEV0Tj6R3QJ/hHjKCkMEFEVIcLuEXjkfxYIUkUgW0RsAt0am5J/ROTgH5HAojwl1C1PU/aPaHM3
QBTFJVYaEpogSBWRF/GPqBn9I3i2CHZFt3lW8n+AYOj+EaFYFEVFtwMYW/WPSMFkThTdtKOIf8SI
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
ZWRpYS1jb250cm9scy1zaGFkb3ctY29uc3RydWN0aW9uLWNyYXNoLXN0ZGVyci50eHRVVAkAA0tW
kFjGUJBYdXgLAAEE9QEAAAQUAAAAzZHBSsNAEEDvfsUc9ZJtt5fGW23xYsFAQAXxsMlOyLSbnWVn
k9i/d8UKgvXudd4bmMdwc2hftS5X67db2DojAtX+biRnnzAKsQcSoCE4HNAntEAeGk49qE0IjlqT
siPqpWWLhQlBbTlrPona4YSOA0ZVOZM6joMoqnr2WNMw5hHHIpzJD7nePfz2xB5VfZKEg9pTE008
qSrSZBLeRzPgzPEoaiOCSc68xjhRi1J038JlDteL96XW686Uy8UNGG//YVneSfx32CX81WVWpda5
q4BHj8AdpB4hzQwzOQcNwihoC3juqe0h3/X57NFb7Mjn+dUHUEsDBBQAAgAIAEIKP0r80nRYDAEA
ADoEAAA2ABwAbWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVkaW8tY29udHJvbHMtdmlzaWJsZS1zdGRl
cnIudHh0VVQJAANMVpBYx1CQWHV4CwABBPUBAAAEFAAAAOWSwUrDQBCG7z7FHPWSTWKxxltt8WLB
QEAF8bDJTsjYzc6ys2nt27tKBUE9eRG9zv8NzM983D51D2VZzfLHC1haLQL1+nIia24xCLEDEqDR
WxzRRTRADlqOA6iF95Y6HRMj6r5jg5n2Xi05YS6KWuEWLXsMqrY69hxGUVQP7LChcUojDpk/JB/g
ZnX9mROzUc1eIo5qTW3QYa/qQFsd8SroEXccNqIWIhjlkDcYttShZP078HUOx/lzUfSmO6uK/AS0
M7+wWdqJ/H2xr+K3XuX8vOzL1CuDG4fAPcQBIe4YdmQttAiToMngbqBugHTX67MnZ7Anl+ZHfJDj
tPrPcmA7+4tyFFjN8x/I8QJQSwMEFAACAAgAQwo/Ss21NnYLAQAAOgQAACoAHABtZWRpYS9tZWRp
YS1kb2N1bWVudC1hdWRpby1zaXplLXN0ZGVyci50eHRVVAkAA01WkFjIUJBYdXgLAAEE9QEAAAQU
AAAA5ZLBSgMxEIbvPsUc9bJp1qLUW23xYsGFBRXEQ3Yzy47NZkIm29q3N0oLgvXkRfQ6/zcwP/Nx
89I+leVsWj5fwcIZEahW1yM5e49RiD2QAA3B4YA+oQXy0HDqQc1DcNSalBlRjy1bLEwIasEZ80nU
EjfoOGBUlTOp4ziIoqpnjzUNYx5xLMI++QTXy9uvnNi1qneScFAraqKJO1VF2piEN9EMuOW4FjUX
wST7vMa4oRal6A7A8RxOJ69az7r2YqYnZ2C8/YXN8k7i74sdiz96ldqcmzL3KuDOI3AHqUdIW4Yt
OQcNwihoC3joqe0h3/X+7NFb7Mjn+Qkf5ND/WQ5rtf2DcmjbTC9/IMcbUEsDBAoAAAAAAFwHP0oA
AAAAAAAAAAAAAAAcABwAbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL1VUCQADz1GQWIdXkFh1
eAsAAQT1AQAABBQAAABQSwMECgAAAAAA2gY/SgAAAAAAAAAAAAAAACwAHABtZWRpYS9tb2Rlcm4t
bWVkaWEtY29udHJvbHMvbWVkaWEtZG9jdW1lbnRzL1VUCQAD21CQWIdXkFh1eAsAAQT1AQAABBQA
AABQSwMEFAACAAgA2gY/Sp2hDKXyAAAAHQIAAFUAHABtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJv
bHMvbWVkaWEtZG9jdW1lbnRzL2JhY2tncm91bmQtY29sb3ItYW5kLWNlbnRlcmluZy1zdGRlcnIu
dHh0VVQJAAPbUJBY21CQWHV4CwABBPUBAAAEFAAAAM2RwUrDQBBA737FHPWSTXpp9VZbvFgwEFBB
PGyyEzLt7s6ys0ns37tCBMF69zrvDcxjuD12b9W6Wm/e72BntQjUh/uRrHnGKMQeSIBcsOjQJzRA
HlpOA6htCJY6nbIj6rVjg4UOQe04az6J2uOElgNGVVudeo5OFNUDe2zIjXnEsQgL+SE3+8ffnpiT
as6S0KkDtVHHs6ojTTrhQ9QOZ44nUVsRTLLwBuNEHUrRfwuXOVyXH9Vq05nytipvQHvzD8vyTuK/
wy7hpUv3epW7CnjyCNxDGhDSzDCTtdAijIKmgJeBugHyXV/PHr3BnnyeX30CUEsDBAoAAAAAAFwH
P0oAAAAAAAAAAAAAAAAoABwAbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL3BpcC1zdXBwb3J0
L1VUCQADz1GQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAAXAc/SgAAAAAAAAAAAAAAAC0A
HABtZWRpYS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBvcnQvaXBhZC9VVAkAA89RkFiH
V5BYdXgLAAEE9QEAAAQUAAAAUEsDBBQAAgAIAOAKP0qbu5c89AAAAB0CAABLABwAbWVkaWEvbW9k
ZXJuLW1lZGlhLWNvbnRyb2xzL3BpcC1zdXBwb3J0L2lwYWQvcGlwLXN1cHBvcnQtZW5hYmxlZC1z
dGRlcnIudHh0VVQJAANzV5BYz1GQWHV4CwABBPUBAAAEFAAAAM2RwUrDQBBA737FHPWSbVIo1Ftt
8WLBQEAF8bDJTsi0uzvLziaxf+8qFQTr3eu8NzCP4fbQvVbL1XL1dgtbq0Wg3t+NZM0TRiH2QALk
gkWHPqEB8tByGkBtQrDU6ZQdUS8dGyx0CGrLWfNJ1A4ntBwwqtrq1HN0oqge2GNDbswjjkU4kx9y
s3v47Yk5quYkCZ3aUxt1PKk60qQT3kftcOZ4FLURwSRn3mCcqEMp+m/hMofrxXtZ6qrX63JxA9qb
f1iWdxL/HXYJf3VVpVlXVe4q4NEjcA9pQEgzw0zWQoswCpoCngfqBsh3fT579AZ78nl+9QFQSwME
CgAAAAAA6wY/SgAAAAAAAAAAAAAAAAwAHABtZWRpYS90cmFjay9VVAkAA/lQkFiHV5BYdXgLAAEE
9QEAAAQUAAAAUEsDBBQAAgAIAFQKP0p4SouS8wAAAB0CAAA1ABwAbWVkaWEvdHJhY2svdHJhY2st
Y3VlLXJlbmRlcmluZy1ob3Jpem9udGFsLXN0ZGVyci50eHRVVAkAA3BWkFjhUJBYdXgLAAEE9QEA
AAQUAAAAzZFNS8QwEEDv/oo56qXZ7YJYb/uBFxcsFFQQD2kzpeMmmZBJW/ffG3EFwfXudd4bmMdw
+9a9lGV1Xb7ewtZqEaj3m5GsecQoxB5IgFyw6NAnNEAeWk4DqHUIljqdsiPquWODhQ5BbTlrPona
4YSWA0ZVW516jk4U1QN7bMiNecSxCCfyQ2529789MQfVHCWhU3tqo45HVUeadMK7qB3OHA+i1iKY
5MQbjBN1KEX/LZzncLl4X5arm15Xy8UVaG/+YVneSfx32Dn81dWuKl3mrgIePAL3kAaENDPMZC20
CKOgKeBpoG6AfNfns0dvsCef5xcfUEsDBBQAAgAIAFQKP0qi+YHJ8wAAAB0CAAAuABwAbWVkaWEv
dHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy1ydGwtc3RkZXJyLnR4dFVUCQADcFaQWOJQkFh1eAsA
AQT1AQAABBQAAADNkU1LxDAQQO/+ijnqpdmWotTbfuDFBQsFFcRD2kzpuGkmZNLW/fdGXEFwvXud
9wbmMdy+dS9FUV2Xr7ewtVoE6v1mImseMQixAxKg0Vsc0UU0QA5ajgOotfeWOh2TI+q5Y4OZ9l5t
OWkuitrhjJY9BlVbHXsOoyiqB3bY0DilEYfMn8gPudnd//bEHFRzlIij2lMbdDiqOtCsI94FPeLC
4SBqLYJRTrzBMFOHkvXfwnkOl6v3PC9vWqzy1RVoZ/5hWdqJ/HfYOfzVZYqqLFJXBg8OgXuIA0Jc
GBayFlqESdBk8DRQN0C66/PZkzPYk0vziw9QSwMEFAACAAgAVQo/Sqzy1z70AAAAHQIAADMAHABt
ZWRpYS90cmFjay90cmFjay1jdWUtcmVuZGVyaW5nLXZlcnRpY2FsLXN0ZGVyci50eHRVVAkAA3FW
kFjjUJBYdXgLAAEE9QEAAAQUAAAAzZFNS8QwEEDv/oo56qXZFlypt/3AiwsWCiqIh7SZ0HHTTMik
XfffG3EFwfXudd4bmMdw99a/VFW9XL7ewsZpEWh264mcecQoxB5IgMbgcESf0AB56DgNoFYhOOp1
yo6o554NFjoEteGs+SRqizM6DhhV43SyHEdR1AzssaVxyiOORTiRH3K7vf/tidmr9igJR7WjLup4
VE2kWSe8i3rEA8e9qJUIJjnxFuNMPUphv4XzHC4X72VVaqvrcnEF2pt/WJZ3Ev8ddg5/ddXXN7bK
XQU8eAS2kAaEdGA4kHPQIUyCpoCngfoB8l2fz568QUs+zy8+AFBLAwQUAAIACABVCj9KYbiF9/QA
AAAdAgAANwAcAG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctd2l0aC1wYWRkaW5nLXN0
ZGVyci50eHRVVAkAA3JWkFjkUJBYdXgLAAEE9QEAAAQUAAAAzZHBSsQwEEDvfsUc9dK0Pajrbd3F
iwsWCiqIh7SZ0nGTTMikrfv3RllBcL17nfcG5jHcvfUvdb26vH69gY3VItDsbiey5hGjEHsgAXLB
okOf0AB56DiNoNYhWOp1yo6o554NFjoEteGs+SRqizNaDhhVY3UaODpR1IzssSU35RHHIhzJD7nd
3v/2xOxVe5CETu2oizoeVBNp1gnvona4cNyLWotgkiNvMc7UoxTDt3Caw3n5XlVounJVlRegvfmH
ZXkn8d9hp/BXV301mKHOXQU8eAQeII0IaWFYyFroECZBU8DTSP0I+a7PZ0/e4EA+z88+AFBLAwQU
AAIACABYCj9Kv96yYvUAAAAdAgAAKwAcAG1lZGlhL3RyYWNrL3RyYWNrLWN1ZXMtY3VlY2hhbmdl
LXN0ZGVyci50eHRVVAkAA3hWkFjpUJBYdXgLAAEE9QEAAAQUAAAAzZHBSsNAEEDvfsUc9ZJtIlLr
rbZ4sWAgoIJ42GQnZOzuzrKzSezfu0oFwXr3Ou8NzGO4feteqmq1XLzewMZqEah3tyNZ84hRiD2Q
ALlg0aFPaIA8tJwGUOsQLHU6ZUfUc8cGCx2C2nDWfBK1xQktB4yqtjr1HJ0oqgf22JAb84hjEY7k
h9xs7397YvaqOUhCp3bURh0Pqo406YR3UTucOe5FrUUwyZE3GCfqUIr+WzjN4XzxXpbmcnm9KhcX
oL35h2V5J/HfYafwV1d1Zdqyyl0FPHgE7iENCGlmmMlaaBFGQVPA00DdAPmuz2eP3mBPPs/PPgBQ
SwMEFAACAAgAXAo/StyxDS7zAAAAHQIAACgAHABtZWRpYS90cmFjay90cmFjay1jdWVzLW1pc3Nl
ZC1zdGRlcnIudHh0VVQJAAN/VpBY8VCQWHV4CwABBPUBAAAEFAAAAM2RwUoDMRBA737FHPWyaVdU
6q22eLHgwoIK4iGbzLJjk0zIZLv2741YQbDee533BuYx3L2b17pe3NRvt7ByWgSazd1Izj5hEuIA
JEA+OvQYMlqgAB3nAdQyRkdG5+KIejFssdIxqhUXLWRRa9yh44hJNU7nnpMXRc3AAVvyYxlxquKB
/JLb9cNfT+xWtXvJ6NWGuqTTXjWJdjrjfdIeJ05bUUsRzHLgLaYdGZSq/xGOcziffczry95cL+az
C9DBnmBZ2cn8f9gx/N3VaXNVl64KHgMC95AHhDwxTOQcdAijoK3geSAzQLnr69ljsNhTKPOzT1BL
AwQUAAIACABhCj9KegKdoPQAAAAdAgAASQAcAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtZHVw
bGljYXRlLXRyYWNrcy13aGVuLXNvdXJjZS1jaGFuZ2VzLXN0ZGVyci50eHRVVAkAA4ZWkFj4UJBY
dXgLAAEE9QEAAAQUAAAAzZHBSsQwEEDvfsUc9dJsqwfrbd3FiwsWCiqIh7SZ0nGTTMikrfv3RllB
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
YRBFVc8OaxrGNOKQ+UPyBa5Xd985MRtV7yXioNbUBB32qgq01RFvgx5wx2EjaiGCUQ55jWFLLUrW
HYHTOVxO3vJ8VnS6zCdXoJ35g83STuSfi52KP3uhKXWRemVw7xC4g9gjxB3DjqyFBmEUNBk89tT2
kO76ePboDHbk0vyCj3JM/rEcRV5O8QzlKPLZfP4LOd4BUEsDBBQAAgAIAE0KP0pLlK0z9AAAAB0C
AAAjABwAbWVkaWEvdmlkZW8tZW1wdHktc291cmNlLXN0ZGVyci50eHRVVAkAA2FWkFjcUJBYdXgL
AAEE9QEAAAQUAAAAzZHBSsQwEEDvfsUc9dK0lVXqbd3FiwsWCiqIh7SZ0nHTTMikrfv3RlxBcL17
nfcG5jHcvnUvZVmtLl9vYGO1CNS724msecQgxA5IgEZvcUQX0QA5aDkOoNbeW+p0TI6o544NZtp7
teGkuShqizNa9hhUbXXsOYyiqB7YYUPjlEYcMn8kP+Rme//bE7NXzUEijmpHbdDhoOpAs454F/SI
C4e9qLUIRjnyBsNMHUrWfwunOZzn70VZrLqrqsgvQDvzD8vSTuS/w07hr64qv9Zl6srgwSFwD3FA
iAvDQtZCizAJmgyeBuoGSHd9PntyBntyaX72AVBLAwQUAAIACABNCj9KNGJEf/QAAAAdAgAANAAc
AG1lZGlhL3ZpZGVvLWVuZGVkLWV2ZW50LW5lZ2F0aXZlLXBsYXliYWNrLXN0ZGVyci50eHRVVAkA
A2JWkFjdUJBYdXgLAAEE9QEAAAQUAAAAzZHBSsNAEEDvfsUc9ZJtUgLWW23xYsFAQAXxsNmdkLGb
nWVnk9q/d8UKgvXudd4bmMdw92ZeqmpV1683sHFaBJrd7UTOPmIUYg8kQGNwOKJPaIE8dJwGUOsQ
HBmdsiPq2bDFQoegNpw1n0RtcUbHAaNqnE49x1EUNQN7bGmc8ohjEU7kh9xu7397YveqPUrCUe2o
izoeVRNp1gnvoh7xwHEvai2CSU68xTiTQSn6b+E8h8vFe1le12a5KhdXoL39h2V5J/HfYefwV1ff
l8sqdxXw4BG4hzQgpAPDgZyDDmEStAU8DWQGyHd9PnvyFnvyeX7xAVBLAwQUAAIACABRCj9KC3RO
afMAAAAdAgAAHwAcAG1lZGlhL3ZpZGVvLW5vLWF1ZGlvLXN0ZGVyci50eHRVVAkAA2pWkFjlUJBY
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
Ij/kZnf/2xN7UM1REg5qT23U8ajqSJNOeBf1gDPHg6i1CCY58QbjRAal6L6F8xwuF+9luSzN9apc
XIH29h+W5Z3Ef4edw19daJa2yl0FPHgE7iD1CGlmmMk5aBFGQVvAU0+mh3zX57NHb7Ejn+cXH1BL
AwQKAAAAAADhBj9KAAAAAAAAAAAAAAAACQAcAHBsYXRmb3JtL1VUCQAD5lCQWIdXkFh1eAsAAQT1
AQAABBQAAABQSwMECgAAAAAA4QY/SgAAAAAAAAAAAAAAABcAHABwbGF0Zm9ybS9pb3Mtc2ltdWxh
dG9yL1VUCQAD5lCQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAA4QY/SgAAAAAAAAAAAAAA
AB0AHABwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9yL21lZGlhL1VUCQAD5lCQWIdXkFh1eAsAAQT1AQAA
BBQAAABQSwMEFAACAAgAYwo/SgkkYjH0AAAAHQIAAG4AHABwbGF0Zm9ybS9pb3Mtc2ltdWxhdG9y
L21lZGlhL3ZpZGVvLXBsYXktZ2x5cGgtY29tcG9zaXRlZC1vdXRzaWRlLW92ZXJmbG93LXNjcm9s
bGluZy10b3VjaC1jb250YWluZXItc3RkZXJyLnR4dFVUCQADiVaQWOZQkFh1eAsAAQT1AQAABBQA
AADNkU1LxDAQQO/+ijnqpdntYbXe9gMvLlgoqCAe0mZKx00yIZO27r834gqC693rvDcwj+H2rXsp
y+pm9XoLW6tFoN5vRrLmEaMQeyABcsGiQ5/QAHloOQ2g1iFY6nTKjqjnjg0WOgS15az5JGqHE1oO
GFVtdeo5OlFUD+yxITfmEccinMgPudnd//bEHFRzlIRO7amNOh5VHWnSCe+idjhzPIhai2CSE28w
TtShFP23cJ7D5eJ9WS6uzapaLq5Ae/MPy/JO4r/DzuGvrqpsqzJ3FfDgEbiHNCCkmWEma6FFGAVN
AU8DdQPkuz6fPXqDPfk8v/gAUEsDBBQAAgAIABcJP0rQKBmAlwIAANgkAAAaABwAcHl3ZWJzb2Nr
ZXQud3MubG9nLWVyci50eHRVVAkAAx1UkFjNUpBYdXgLAAEE9QEAAAQUAAAA7dhNb9owGMDxO5/i
US+lWhonARLIbS90mzZ1E1TtASHLJE+KhYkz25SxTz8T2jVV2x2mUg3JChLKm/wnTn5SmERBmJwG
4WknhCBMg34aRV6/P5jCZDgafRtNgdIl4yWl/hXOxjJboBmjukGVwvBnhpXhsgReQqVkhlrz8hoU
/lihNlAouUyhfRxGiR/YJTz2oNeNB8FJ60KxDGcsW0B7Ke2hCjMsDWRMCBBMm5O0BXDGBcIRGW+0
wSX5ymeKqQ05U2yJa6kWmnzfmLks/eJuC7lEpW2PJpGfEMFnpKqP2K410/1qc+SB4CVCbzDwGvn0
tp2auUKW2wgAjaLwC15yPb/b3b799iAT3IZTlufKnn7yStWdTreuflh1XzvabfjEylygem+vqH4u
2avPaIRfSrFaoiYfmGFkeDUmdt6/cEMupBSajDPFK6PJGmcLbqoNMXOu8oopsyFLmdNqY/fouppo
Y8dnQpbYSI/jqE6n1LYbSv9Ee/CXwu3vf62LG/eSpwtvb4L2a4UkYdyY5fuMdWEH9zMhNb58y27u
GhVRv1NX1OM1roVY7eNSPBq+E+xmox7vfni6PdDXuL3BRPuG43qyVtwglUWh0aTNlTezVVGgopr/
wulJC5WSVq/JUKlSQieawjslF2gN4BW2WpPHIna9bhRaEa/ejs4/n398ysSHT1wKYS3evy+8in2m
KgankMkcoRvYWbCPpWbXCGdSzXieY/lcbPSSfKfpDu4ksFQG9uP4dnw7vh3fB8R3r3dAfNexL893
GDi+Hd+Ob8f3YfEde0EQ7e//iH4vciI6EZ2ITsRDErG3TxE7TkQnohPRiXhIIsb7FDF0IjoRnYhO
xEMRMfGSZJ9vzV331uxEdCI6Ef9PEX8DUEsDBBQAAgAIABcJP0rG165mBgEAAI8CAAAaABwAcHl3
ZWJzb2NrZXQud3MubG9nLW91dC50eHRVVAkAAx1UkFjNUpBYdXgLAAEE9QEAAAQUAAAAtZDNboMw
EITvlngH36s0QACpSBxaRCFVqHBxG3oEY4xJsUlwQuB9+p79PbZSqqhzW+2svtmJME7mxqUBDd2A
6cAVqblgMNlJJYl86TXw2LFdXlIXDrToJdlQpQFfCkGJ4lK48HuvgZSS2ZoW6adndk0I7ZQLb0RL
cZOX2E8skdn68sqxun34QB3kaeDV1YAGQPTfKcoYF8fJZKhlpNVtNd1nsWlaxMHP3m832btUzXve
Dzsp2Md4RtifGYFY3W0RZVVr2+IpKs2lvg8wH/kh8E6CnVvM+lgHU7NCDTaKBXIEPoz+ompXpI29
E7/9A227rWTYXHS3A2UjDTfzvCO+QkfzgL5ob1BLAwQKAAAAAABlCD9KAAAAAAAAAAAAAAAAGwAc
AHB5d2Vic29ja2V0Lndzcy5sb2ctZXJyLnR4dFVUCQADzlKQWM5SkFh1eAsAAQT1AQAABBQAAABQ
SwMECgAAAAAAZQg/SgAAAAAAAAAAAAAAABsAHABweXdlYnNvY2tldC53c3MubG9nLW91dC50eHRV
VAkAA85SkFjOUpBYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAOMGP0oAAAAAAAAAAAAAAAAKABwA
cXVpY2tsb29rL1VUCQAD6lCQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAYwo/SnjypN4J
AQAAOgQAACEAHABxdWlja2xvb2svZXhjZWwtbGVnYWN5LXN0ZGVyci50eHRVVAkAA4lWkFjnUJBY
dXgLAAEE9QEAAAQUAAAA5ZLBSgMxEIbvPsUc9bJpt4qtt9rixYILCyqIh2wyy47NZkIm29q3N2IL
gvXkRfQ6/zcwP/Nx82KeynI2nT5fwcJpEahW1wM5e49RiD2QAPXBYY8+oQXy0HDqQM1DcGR0yoyo
R8MWCx2CWnDGfBK1xA06DhhV5XRqOfaiqOrYY039kEcci7BPPsH18vYrJ3at6p0k7NWKmqjjTlWR
NjrhTdQ9bjmuRc1FMMk+rzFuyKAU7QE4nsPp6HVcjiemnI1HZ6C9/YXN8k7i74sdiz96zez5pMy9
CrjzCNxC6hDSlmFLzkGDMAjaAh46Mh3ku96fPXiLLfk8P+GDHJf/Wo4L/SflyNKbH8jxBlBLAwQU
AAIACABkCj9KBnGAbooAAAAMBgAAHAAcAHF1aWNrbG9vay9rZXlub3RlLXN0ZGVyci50eHRVVAkA
A4tWkFjoUJBYdXgLAAEE9QEAAAQUAAAA7c4xCsIwFIDh3VO8CxiaCKEJ4mAsxQoOOnQQh9i+YiDJ
CzF4fvUULpn+f/wGG2HDoeGaK91IgIkCsyl5ZCM+Tq78YigWjIUd8I2eUvj+TQjVtnfYdjlT3mkw
vSFP+ZrshCajLTi68jzbgLBY53GGhTK8Lv0ejp2RXEm5FoyvhgqogAqogAr4N+ADUEsDBBQAAgAI
AGQKP0otBFKthwAAAAgEAAAcABwAcXVpY2tsb29rL251bWJlcnMtc3RkZXJyLnR4dFVUCQADjFaQ
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
eS9maXhlZC1pbi1jb21wb3NpdGVkLXN0ZGVyci50eHRVVAkAAzlXkFiVUZBYdXgLAAEE9QEAAAQU
AAAAzZHBSsQwEEDvfsUc9dK0dQ/qbd3FiwsWCiqIh7SZ0nGTTMikrfv3RllBcL17nfcG5jHcvfUv
9WVZrl5vYGO1CDS724msecQoxB5IgFyw6NAnNEAeOk4jqHUIlnqdsiPquWeDhQ5BbThrPona4oyW
A0bVWJ0Gjk4UNSN7bMlNecSxCEfyQ2639789MXvVHiShUzvqoo4H1USadcK7qB0uHPei1iKY5Mhb
jDP1KMXwLZzmcF6+V5U2nb6uygvQ3vzDsryT+O+wU/irq16V5VWduwp48Ag8QBoR0sKwkLXQIUyC
poCnkfoR8l2fz568wYF8np99AFBLAwQKAAAAAAA9Bz9KAAAAAAAAAAAAAAAADQAcAHJldHJpZXMv
Y3NzMy9VVAkAA5VRkFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAAD0HP0oAAAAAAAAAAAAA
AAAVABwAcmV0cmllcy9jc3MzL2ZpbHRlcnMvVVQJAAOVUZBYh1eQWHV4CwABBPUBAAAEFAAAAFBL
AwQKAAAAAAA9Bz9KAAAAAAAAAAAAAAAAHgAcAHJldHJpZXMvY3NzMy9maWx0ZXJzL2JhY2tkcm9w
L1VUCQADlVGQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgAwQo/ShOWA1LWAgAAapIAAD8A
HAByZXRyaWVzL2NzczMvZmlsdGVycy9iYWNrZHJvcC9keW5hbWljLXdpdGgtY2xpcC1wYXRoLWFj
dHVhbC5wbmdVVAkAAzpXkFiVUZBYdXgLAAEE9QEAAAQUAAAA7dxLSBRxHMDx/4yTjJtrqwVleZge
lBnRqu2sltHorvmAJCVKkaDc3TBCKLSyx2HyIHYINilCSFAyUEKRsjq2eqlAIiKUMky8RGqPk9ED
bBQ66f/QKYTvXnaY2e/M7/P/73muHSorcrvWu4QQ7pLiYIUQ8ZYQWr8e75y5qzTfdr62NxRWNoRq
I6HT9efqhC+SXRP27vabkZPZ/hO5ppkTyfTmmqGwL5RVY/ozz3RPnXcipb6iqED0vUz7JIQlSoL5
hxuVmbFB95BXaPlN6XntgeDKG7Nn29bEXoTmjqR9mL78Q/cYli0UVVt0EFC/dj7McS11aeFgYpdh
N+qSi3bsji2yLtxLCi59c03XjXEhu7d3m2EPH+uJS5bNprb4LdmNhxN0o/7olCWbzBaTbim6XlWf
v7+1xyObzCHHLT9y7KM5ePHX2t8LJ/LKJ65Mdra3LfpZR8q3VdHSd0myEaPOU1IfbZT9HzpSPFbG
qb2yGaythh1+0yz7v10ttURP12fpxrTZorV8wybZEmQoSlfr44BsgcKqWnygrkW2+t2aBhw4cODA
gQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQMHDhw4cODAgQP/B/iz7z8f+AKa
9PFWbL+lhldLp99h2APjI/LcEgnRg9Lpe23x+lL1Ztn0qqJsscx82fQDzrZN112XbZvubJt4q8m2
7ZVLN3qf+GTbZng8wIEDBw4cOHDgwIEDBy6H194cvv/3XQDsPnDgwIEDBw4cOHDgwJcP/OnsTHT+
HWlW5dzIgLVPGdu55MDrtMSoUtUkW6nGFYnR0WrpQlJTU1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NT
U1NTU1NTU1NTU1NTU1NTU1NTU1NTU1NT/5e6qNMcEiJ5dP5dAKwgNTU1NTU1NTU1NTU1NTU19XKr
1Zz+lKr01NkvwvmUFJYF+wqON/0BUEsDBBQAAgAIAMEKP0rXKd7P4AAAANclAAA9ABwAcmV0cmll
cy9jc3MzL2ZpbHRlcnMvYmFja2Ryb3AvZHluYW1pYy13aXRoLWNsaXAtcGF0aC1kaWZmLnBuZ1VU
CQADOleQWJVRkFh1eAsAAQT1AQAABBQAAADrDPBz5+WS4mJgYOD19HAJYmBgc2BgYNnAARRgaMu6
6c3AoDrP08UxpILx7VVDrhYHBhbH9//+pxmKVxkI+JzykY5ZkfDcwoaFQ0DBoYGBkYkujD2qH3b/
f7Gn/sO/lQf+X74s69fA0ChWYL+11wkk73yggUemE6Qw6kDDllGxUbFRsVGxUbFRsVGxUbFRsVGx
UbFRsVGxUbFRMVqL0XdcYJQxyhhljDJGGaOMUcYoY5QxyhhljDJGGaOMUcYoY5QxyhhljDKGEUOO
O2aSKIvCp8DfJaAVW56ufi7rnBKaAFBLAwQUAAIACADBCj9Kg7QzJpwFAAAyEgAAPwAcAHJldHJp
ZXMvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2R5bmFtaWMtd2l0aC1jbGlwLXBhdGgtZGlmZnMuaHRt
bFVUCQADOleQWJVRkFh1eAsAAQT1AQAABBQAAACtWEtv4zYQvvtXcA0UkpFIzu7eYsVA6gRogBRb
dHMpghwoiraJUKJKUnHcwv+9Q1IPSpaT7e7mEMec18eZb4Zkkg83X1YPf/1xi357+P1+OUm2Oufm
g+IMPjTTnC6JUp/na8Y1lWqeYvKcSVHOs32Bc0aiHdPbiHBWRiXW29g4SObOcJIovTefCH5iluMN
XYlCY1ZQif61q+anFIppJopLhFMleKXpopXlWG4YSD5elK/dqqg0ByduGYENy5Bi/IVKp3Owv0fD
LhHLN17wjKmS4/0lSrkgz425Z0/AVAquPBsHKkqF1iK/RJ9abIcxu7QCtcIz37FMbwH7J5q/YaYz
P0U4y1ixuUQXXiZGzThOKfcs1yCI1lApDnuMdjR9ZjpSe6VpHhnZoq+p2D8mrR/HYriNNIk4DAIv
IdVFxgjWQo7lV+OU04hQzruQDR4CVc+LSJXYlLqTp0JmVEZalJDlttIpx12lWngOXawop0RTP3ma
vuooo0RI7GhWFeDVEKhxksxroibzmvmpyPamAQxoRDhW6mrabHXqCJ1ouWxjJDpbAu2zwUpde5Zd
TelraYFFtkJTlGGNI70vaSeaIlFAJ5Hnq6mCtiLbB3Fn2BvqLVOz6fK21kN2NZk77+/ExURXmI9E
dYL3Yl5brf8VMWPr9Ug8s/xetBvQORkL/pKnUs+KstLIBSJbSp5T8Tp1+y9gAmhqI29xsQEFLTYb
Tq+dIJxNkbWgpoLWzzJxXbQWsrNf1vqXydxKx5JwGgXZE2B/r9A1mKqEHFG755VReg/PwFNLih+A
5THhh0DVfmrO/ACgliqn4bwBw1pbKh1DcByC36axl5NJkrGXpr/7J0XN3VLSNXsF9o4ed9PlvcBm
MsdxnMzBlznziGSlXk7YGoU7GIliF2uq9J9VAV5nEzeRmu9xVuXltXqAERXOFpPJC5aItIfVFcoE
qXJa6Pjvisr9VzvchAyDwbEWNLYGM5i54Rc0LAnQpTcPA2tr1mBzHPC7FmzDxhuqr7WWDDqQhoGX
hmCGzlDQki8ui00wO+8c22wbxy1scHXLqfnz1/1dFgb9KdgYH9xH4Aj0k9E6p9+B1Z+cQ6SGYz8Z
p3H5HSi7aethPNR0qKFQB2YlqkIDOy5Auq4KYk7DRmUl8pJTMw4nbk9nZyPG7sA0zB7znKDPsxa6
pLqSxaI7oNVW7FxOzN4fm2I/zZzOcY+7daWx1GYFusxKlZEcjnfgfFeSNzuwBYHtFnTnzpTGpRXE
cKW6fYE03jO4DEGBwsB4Cc6HGekZKUnAIwRxi26TTtYH1T/eqKtYg8yUxto8wAgEf7V4jCJmSAZN
KvoZbD08DRIiqaL63lBCteWE+YhCGxdufogVdlJ01XIOQfQUWy7Fdiaa1MSS5uIF4DQ3q2AQrUMF
dz+6EXJ/Y127uB3/JYWLIKGrLeNZT9XNsnNPdc2k0lZx5hGoty233nMzBA4FPo36mG41YJOJuJ1w
9kTx5/Cw/frHcTCL62Ny0TmrB9A3uqrbYsyRnRDf6MYOKM+Jv3ewWFVSggXff4XqNZ1luPQOYbyB
Z6bAG7Spq6n8EnR885tHd+8gH+XgltY0tYl6cmI75W7fXcDxMWIkQCfqqYlybNjYc9kk9q6AZ/AL
5nc3C68FRpzXeEcdWur2vUFF68sCkLxZDp2StTuHd+bFxbD3jr17eRqEmPXeoDYWyLEcROv0u4fY
MVjzhlpDs2ZjpfNgh/7MI451d/VgfpuHi9bMvgJB/7G70Jy3l4Xz+jB+6vRhb/QV9K1dbL99WYd+
cH+sNMDuaqvQmZ+hjzP0S+2D02Kjt3UrCi+Pxli7IW41H1tPT4vjTjGaT66D+62QSoqfO4Mu7z6u
7stJbAe0g6lJfd0PVy4f5oY4cogMUbuzBB7E9S0W3mHuKTx3/xr6D1BLAwQUAAIACADBCj9KglnV
JdsAAAC9AQAAQgAcAHJldHJpZXMvY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2R5bmFtaWMtd2l0aC1j
bGlwLXBhdGgtZXhwZWN0ZWQuaHRtbFVUCQADOleQWJVRkFh1eAsAAQT1AQAABBQAAACFULFOwzAQ
3fsVR1nSwWoUicWYLMAMAwujY1+TU13bcq5tAPHvJBhKEWp50/Pznd57py7uHm6fnh/voeONq2eq
5xeH9QxGXDZhgLdPOiGGnpiCl6CbPrgt4/Xhb0+WOwlVWcbhR+2Q2o7/yI026zaFrbfCBBeShDYh
+jzwnq1X5BjTkft/CU6nOJNkAift+1VIG5mp04yvRbn4PSX22KyJhXEURdSTjaFkHBbVVRxAM1QT
ObE1NbYpRJFrSSC/w8TF4ruzWn7dXVnaAdmb+Xj7ea2W4/NIzOsH/QNQSwMEFAACAAgAwQo/SjlH
m2DTAgAAbpIAAEEAHAByZXRyaWVzL2NzczMvZmlsdGVycy9iYWNrZHJvcC9keW5hbWljLXdpdGgt
Y2xpcC1wYXRoLWV4cGVjdGVkLnBuZ1VUCQADOleQWJVRkFh1eAsAAQT1AQAABBQAAADt3E9IFFEc
wPHfLKOugjGaEbYWY5CQXXTBVDo0/l89mC3RH6Nydbc0NREVrIRmPSwFBYuXksSCPNhBscgFKUkj
Sog6WVJ2CAIhyKggCiprDLqUDzomfPeyw8x8377Pe3udOVdTXZGctCFJRJIrfaV+kXhLRB9zxztn
rmmRi87X1s6y/Z0NjaGG5o6uVvGG8oM53mAg4M0NBPMCuaH8gvqCvIb6HO/2wvpQqHDG1ZLnRFqH
v6JYRp9kvBGxpLK0aE+39nZ++sI9S/Si8zOelIkbvmn/zsjHHydujX9tbh+Y+/w+xbRs0Vy62/jz
IKIPlhxrT1vp0q+DqV2WfDAUFyVcqGnBd1Ubz648uNswrDuaauy6akv6b/sTNqvmphtttmrgS2sN
a2F0Nqyamabd9yjRC7oendjWZapm5pDjVx85PHeo93XHy+/rlwaXTy7VvOq5cqb7eEXWX3cP699c
Q32xEtVPBV0uX3mrUjjsLF/VizUqZTTRbaaPZ6rW4GqqYWU37VD94aws0w7ORpTIKkuuDy2qdt3V
b0vfbo9yfbM1DThw4MCBAwcOHDhw4MCBAwcOHDhw4MCBAwcOHDhw4MCBAwcOHDhw4MCBAwcOHDhw
4MCBAwf+7/Cp9sNHYkeVczcN95c4n93Sq7qhMU6PPpvfoM7dpnYzUYlbZ1i1bc1KnGna+kyWErfX
kqbJEeVjNWFbUs3LyudPap1d/RQrV+2q7uwqcODAgQMHDhw4cODAga8Ef3g67Pn9LgB2Hzhw4MCB
AwcOHDhw4KsHfnfxeWayiNhjSyNN4VOu2MFZZVA0JenRLcrL+6bk5ORTampqampqampqampqampq
ampqampqampqampqampqampqampqampqampqampqampqaur/pn6U0bNJJGV++V0ArCA1NTU1NTU1
NTU1NTU1NTX1aqzNtAdpB9ITHg+I86ksqy4dLa7r/QlQSwMEFAACAAgA6Qo/Ssjl8RVpFgcAuGQo
AAoAHABzdGF0cy5qc29uVVQJAAOFV5BY4VGQWHV4CwABBPUBAAAEFAAAAKT9W5MrS3IdDP4VmV5H
OBb3y/fWbHJESqRE6+aMJBuTbUMVUFXgQQFFALUvLdN/n4zIBNIjMnxFVpM02+fSJwOZER5+Wb7c
/f/8x8P+tr/enven2/7yH/+f//B//uPz9arz37x/Hm+H5/Px8/00/g/5bzc/Drvb22b78XE87K+b
23kjhPvt7fae/5vL/jo8dR3+/v+n/9N/0FHJ//QflPTSDH/ROv1h/vf//U//Aaxl2LVkJGupvGBn
Lcu/l5jXUj79EZdrnfav29vh+35YSfIrWfJWMr8afivJf6Ey5K3S12rR+cLAr6VWfGGxluZ3Psxr
mXSKpneKil/Lk7XyH7azX/x7KQ336+l4fv5983K+vG9vt8PpdfN8HqT85w2epyRn4NJ5ukLK0hLb
wymtNi4P943Khkt/+OW3fuwv6fZtXzty5shaIgtb5wzAN5K1bMwf+r//b1rs5bj/+XT+mR+a/n6T
/srdpWEBI/0kHcNfdJI0PUnafYGP7bBN//p5vR1efnGvlRcKZCGX/ygX2h4Pr6fN/rSDq3g5ryJs
+sMVq0zfY/gFPPmeYXf0tNPla1xv28sNv4gi66QXUeWLvF7Onx9XToDGHZH1q4jl1o66G++sw0f0
eBXwNXFeIslfvSv5VXpnE8jWJunT0haLHLe/zp94V4Mm75G2xMjW8YIPMfhDHu8AjsXU71Aey+5w
2T/fDucTfhHyJVKlP3T7UBT/IoKca1ie6/myO5y2x3EpvK2WfFISVt28NfyeeLdCPvqXJkQsIdN7
8FviLd6Sx67yCiCQi6vHMx7VYzIe+Yn0N9e37e78A3osevYysgkdz7d42PMPz8ZtuDWy8Szv3ujZ
7XLtZ3nHQc8GMKT3Xj4b+Wdt8c5m+Sww5rN7J/OnLx8G1pF4Felf2OXDvEuiQnFMk44tHuY9XD37
WcMHyOUPS8E/O9vh7Ny6Ucyehmu7v1yfhhuTpPW0u+ank/T2vybEeStGJ+Z/z2tuLtvd4fM63MNf
xz06jRBMKbqxscqPw+By3N4u+/3m+/b4ub+iIwqBnK96CFa5YuH3sVcjeFN+4rjp40rnl83hfXCm
ruyuC1XKiui8CH/4wc13NPtUprHU8/HwATfGz5cmOcf393mc/uay/9hvb5vroEL3gx7d7bL3ef7J
rmhnvZNus43Vit8+LufB7bwNX/jt9TKsvb98u71tT9/wzgVbyuuk4cHO8R9tY7Fzk2MMpIEXVU+0
bNrK3nlK/q1cKJZqvtX97lhe0l0pnnpahVxfw1/famNs72v4pbws3sMUx3U7f2yO+5fbfc3HDQav
RkIjwxz/fXf4VYIt7EvsyRC/z06V3ydWfR8vSLG8zdqA7+P1b9BNzTlfvvE6f8vX+du4+jd4m2eF
nhwKs1hwCAHPl2+TYsBLVVrd1qomLzXt/y7tf/7Xw98eTsfDab/ZH/fvQ7jB/oAhF0g8RGRc9Wn/
dhh+oqedCTIjOPP1+Z70fPqnAz6LQI2zat2l69v5knTfDhsvWSp63VjpdL4N2/S2vxxu+85qotil
5mrFHRf8HSitffNOThaI3yZfKizplwqL/5joij3W9SW8HF7fvqRlbKnOWwKQgZzTbbPfYdQkeF8o
G9PbaF7Z+FLZLK715nr4y54uluEh/iaq4iaWapDVXcDrI07N8M2m9aWH0+F2GKLBvBzetlh+bM/Q
S/7FXCyP07dVzrQ2Ul4mlt5H128DLyVW+MilkgG3mcQeKYx3vffiHVtnis0yPa+ID8WCc6XG6tlZ
yXu5Xpc6xrZF//qxf04iezucebHXi4in1jTAPlfeGfI/wHGpQvnK7h4Hfo8rVWWhqZ+UFjbQZSi6
0mUDyll29d8Yxf04r1pOlMfXMqi7w8vL/pK084hJQz1Tfe5oPE7nUxKn0VNIeNz+wrsLshW701Dn
fD0kKO5bDlS/vZw/L9/GL+UPwZZrdiWEF1knm4q0ujpIVdml55GWGD9hcFs+B6U+4gP57zDeQFGS
/Md4gNOTCjwZ6mxSGN/j9XLY5SfS32wGz+f9ipN4qk7ZjFuSHx9zGVAEowjtLCBZAII9guQ+TPoS
E+bn7+/PI2tSt9Mw5c+D1ycpoRy/uNbr8yiZoMYmvcuEORSvDzJSJB+bYa/pwhSPg+SdAJt/fxx8
PMngGjfv/e5w/Riu+SYvAxfQbempFgCnT0NYldOZoxyftu/7rKbHu3R9Pn+MANnP92MTJI40lZGt
0WjLrr9Ot+3P4TIp7lElCPAvMgI1nuHHZf9y+JlvMPurpg2P339Vev5Riqyn8HayfLv983F7SZBS
2nn2aZppSJGdUuXnav5zabYkOUiT0Nw/dzCw7K+q9ibf9pf3w2lwHF9/obdWgiQDkujfUyyP7Qr8
o6J+VJVvDXaaZu3So6r64Mg/qutE3XhD/u1zezy8DDH5f0tyik/KtdOOD+kCj9p6u315yILfLtVO
Zj122vG/GvBNkpH/Vdl44Xyf/8v2+/b6fDl8jAmbIbBTv+nf1EZtssu8WG5YyMpJuY8m4hGrDM/q
38xvdiM2in3WTLBWejZTHMbPHwIjKYYHNfugmELU/KPi4cFML6w3ZiNdYJ9Wk6zln50RneHpQYn4
4Xsl96hTcv7h9OHTrg+PmuH/lRh+2bG/GydFlB8WjxTT9LC0G8v/svWW/HJ8eEX3h83w8OiKNJ92
kwfweFotfxr8tiO/bR/u//z0sGX8KfvJgj2eDuVhKSAhcmJwPN57Pqrh4eGdecl0KszPZqtvi7OS
wzezEuaEJhI2R7vDJg0fPLyy4WXT6OKVTblZcRPAKUdPHpZURNJeDZ87SDZ/F43QjIzkpzW+jEaV
l9FUAhY3TxvLS5g1zJtPN8Pxv+2EmB/OHCxb32fDb7icchn361wqg6S9pAXqKxaaRLnqqzVQQ9aq
Uvfp+rUDrw2UJFrI1Q+PR+3AUQvmSuan1fDeQB0YrUs1FunTLv00+6wm201vxrRjbhAy/uFgbKl6
RfGwHy4H0J9SgQs9qCEDlZjl1MHDZkT+t7V0zO24P60EL2VaVZ9tluqX/23vFbjWyGhoE0sBDdXv
RnhWs5AkA+AeQmLHGw0O2klN5FM9UBSyX1aAG11q/flGjz4FemsTPWPcH7ZKA1MlSgutSlWC9Kek
yrcpIRKobkW0b9ZDqn5aAw3oBPpmk1Sg57WYIbttauuuBuePt3ZOCl9qbrPQBgpImGMeTtb927Bj
wEJrIRlVct8xDyQsOnQhfVLd/GuHCNyh7FgE3tRRM7vUgOmbgbmyKqDtjkkP8frTkof9A96mEir4
LVNKoy1Lfs3z5nA4IO8mKMabm+7m4NHxL+CVw1I+PM9/vJOBUUijTgnINYqdX0b20nrPHPjdhZW8
kKsoSrVQhwwOhQwhlNq/5dEdNrxmcG6+YspRgZl+HV1uFzQjqpP5QJdbatNRh1IpoEwtI2ePpy2/
bcob5rQfigV4daLU41ot/DJgu6QBumHYMss74IMP3daHcnD8h5BFwnBaFqZLi4X94C2X1cTHsNTH
uNtMCWymYnSKvYfTCvgY1jJRQ0IQhm9+BaGlU+S9mwF1RDfDtB2FMTw0v22RIhNUD4tHbvAuI8kE
8BbAuMC47tNroztpZRtwufv9KNjR1VtXfn8YNGgApkdgq5dV0QH8vHMRWb6kwLcgKg8kdpCOghAP
SdP83ZLOoMgjDq8PzG4wwFEZQzVge7QtvLPq6QSfAIViqqDcP3TCb/ZbsltP4GlBDG6WU72IjYFX
aR0+L6QIPYHZaGCt8u0ANytyINmsT/hDNlXIUls7CQTcUZ9wETmMej+AQ5a9+BAELTYyoj0Hl+Bp
B9Vgutb8rYo0dCgQTf+bRjAqwXuWrzx40BLFloLCkZ4eVMZv4Q9L6D97uNF3ruMjUHLVW3v00hQW
LATkob86GjBoxRn4x2VW4DJXkDkxten/1fD2wA+lbo1qBrdKA3/MIWgxAzfA76dmnrixYjBYyP0V
ROWnoMss0DlpQJLAc1dy9iEteLqUs4XqRBCG0whKfRhLFGm56vfvBmv2TyxwTzSDp054gOXVvhM0
tyJrJZphYANcWIcSJBHrIt+B+xGMUbtkVZzlhm8GvoWFvywgmBBJbKnsMn+mkC9Io8Mi9zbfaQPu
dBXQy4WEe97t19R1lzSeJv4YyAoF6RivaHbIAnDIfAd5VyIAOLbMhukyTwKRTauDaFqf0TcB6igG
5rAeDhFQoZ5GK6G8V4PdG1T3Drk2bBrt4doA/NlRr6oIdu6G5xl6kdXV8nV6xoHsjGC++nHMwKvS
OhQ4XenaZI0AUlLWoXAaIT7Ca7zb6JM9uZUNZaIwuBh5cLEXi1vhGYM3R9NAmRhZZoWWKWIDvnl+
2FiaMp1tLUB7vC1+urrN6awU0KEidmBklD0kX9046WSwNDBYMBdmccjgNcSKsgsN0tuOy8nPKLQB
KDTkA3gMBVCQaxlwpM8GkqJE+bBevDcISenDhf9+Rz9ABq9OsTw0UUwGC6bWh6ij5z0HkBmSupkM
y/YGYHpRAC9uOCOf4XqEW4hZPpO4+GUwLYGFJrnxcrPvfo0GvKCAqQgKJbctTXpqClRN1l0B265K
cM0uPhmARCTCy/Y2LOASgPNYXynQuMhIgVRtUF1VAgg61B2q0AeLcrzKoHg4JQ6fYUjrpORWmJ1A
AZxA2UN7JMhc1pCkXPhEAP8Noee9SoQ0BUaLTWAR5OlQwp2pxTspkwgicekRiOtRwGCjqJgfgQaV
yLcQ1HstEgyPXBDYLQ2Rk4g8osHIIu6EwxlH7doWeuIneuABBiYL9EhVAkcsIEQuh9Ag/qbuzCKZ
P/wyYp85bNcdZDfeiy7awbvC+JKIloH0HhimiiDRqdHT90QnyFVa10u8IdQC5TaGD4eemKR56YUS
zR5NAB6NBJymMTngQSpJlG5JrDPTABAMAlNCJzgTyAtJbJQp3sehAbjdSGRrA8qU2kgVypI7l4M7
kAerCUZL2ATwTrTrZKaVACS0igGhRR2iIUqrgn5RLxmkjQNZcQ9NlvZtl58CCAi5jigNFSE2Fx1H
+3hg9iClbjxi42po8wwVUVFHxNk7AjZP2F5U6gAJIUTmYuvheQlv9uB8S9b5HjEEQIitg+mC0IVj
JOrMWZqqfGTU+Q8WrhQwHRcUYMBBsACfyv4UCM6UYgoRZmYQiFQoQ30Jmjyy4oB1TaMG1SRQWODA
h05WXgP9bUlapoyVZh8HWFxqNGXDW0CRlgiyS34G/rMFmdp8tTRI7NjKdXe1CoZWU7seiYE314Em
TRdwZgabnmBpQWQSDfOmAa1A3jyRCqxs23sQo+rOiVte2FyBZsQaQRkRAf7dvcBBT0DOAqXpL0Cj
UVyAJrYR1CaMtADw4oQ23qCdGORSD858L04E2U/py4IMvcx+OnBJQmD42w/gPQMDwKd2jrmkMzAQ
ATAQmq5lhsyAo8GazRLPAAoVVyh4eGD3LlbsBYGciBpMXqIZwIoQO0T1acqwD8FLBycU0gMQPNOh
QbyK8wYRF9Q5hZgvyfZCgqoECnEsCDGgIMQAT34MvfinjfU94iNArthagUe+GXGwIUCQ+D4giRmt
RmKW4i4AKBMLoOrwBYu3sh55KgECKlFF9NIPN0siPoUHYURmsIBUjdW9yiMNXEynGOs1iwqA4Wml
rGtUAKU0PcrSC+CwZCwKMZI9o1ZMKrJFeKEoKT8zfpbjCIMkxZHNLnL7MwoPfFrOsZy8O4FSoBRG
b9F2LHKwHPEzSrL+ncuhEYoUDYJjkogjyo8z6IZk3wyYHlrFLRtlzaFTZhBIHqGuKLxzG1AWYv75
lIExNfsmItxRapw4gTUlPnSIPxHdDmkBMj1CQSDx3CF0jHsOvHFKhNSUIDZVC4ACZxZSf+hCC3Sh
wAVMiIAZKesn1rB6hmmBFYieTdncL5gHFyww0e7sLACylKzyH3rhF4KjIi/OgbyAWuwkwsYdTAgE
ip4tWc0Semc6ClAQGTqIoQf4Fy480qaC/OyS2wAgdY2A7ZSqQjZAKMNsWDZcbriVAB3wHThmuBvA
RandcBr0AFPLZjIf1U4alFFGEOjlvDOgtMnI9KSYY0yQyQwllGIaVRUAnNUGV/RJhHxJjuufuSAG
e7KyKhNuIAKArVSn6uUiXPJAfepuSQaoyVCVGlpw8QAiLaPqPKwESLmoMmGjlnofQEeUqNoi3sNA
zUvJbPgjc42K4Cs6ybLoSCEUQ3TuhwUbHipgeuFdgAY5hTe5yPXk2wFCW+d7xPngAa3Yl+VObuHY
RICQOiwnApZp8YnYMe8ByrKlBHV1YwE+2LDYSUAYkL2odns+55FmJR2kfDrw2hpWXw4uqO/1O/AA
IowBRxwwLxe5AqA5gQsymdEy7O+CLQCSz051PHf04QKlBbMDDAAv4iHoApadOeT83fKYoJY1ISBZ
rMibgKJqaxh9lFs9pBRd2nRUCW9x8xfYN8FFh8gGAcOMNO2+zHQlWgxAdU3AkTliXDllOpIWwJYL
j2NE5BZ6tjWH7WKMg92LqJwR9vUYdGlPKQ2xGIi0AnDscurhCZYWSr5Zw5TeQyXlFjRcGGMHUHGg
Ou2NNDB9XlmkVrJmAAilaYctY4kdgAKqenK9iKmhe0TLl9qBLWiAZWKztJncK0R0k8CAZJMLOh56
23FwQHMJWXcu1AuaLwDKal60WGgx4N+w4jUHHsCrU1WfH9cAGIEiI1owg3RuSRYAT9PqU9ds92hA
4xpX1TOaBUcDxHqBa/H2eHGAJUTHheS5xgwUsgfJtIh4aFDkjVbYnlmg2CA+VW00d+bhABqONc1s
971pIsghVoU02lKGGDZVoorlG/7cFukCpiUdIR4Boi9hCKcsj1s4Rc6DMEvDNmcSJdNsTVtyC8ge
mBom4UtjNECLFhr3v8JmzqES/CnLjlLsEjSxymoMGA0ZMcHZdzL8NjiLG6kqlAgUdhXfC2hCL7pJ
AwBDq8hiwWOIi0AvxbSrnA4dOYS0+QBXagwK/GjAVpzaDKMAKmXN7ZYLLwPgbTWWHJa1hcBoisCY
3Ed/O6CIY2S6GxUpHvDzQTlAcHDQn9SugoDCouMNyNMEC5jGo5QC/F4phmI3KyfwdN1KdtlKBYAa
3nucy0Td2oYoE3b6SaIG2Ph1PZJpk6ZQ8KIxSQKxC6OB4mYg8Oa0wl0gYX6L7V9zJ++CBITwqNAm
rKhyNApVCxpYFWp87LSKkyB9rKzFsapBpd7aMO9NxAXJiuqRn8AVpU5iq+n7cEdQr2grdLcKAkDE
CgHMmewNcHEleo0/gUINFrU+thC78xQ1bPpcALqTtiRzLis/YNd60gihWZmKku6WdnQp0K9HNAEQ
EWqCZBMkBp29leOqFefMN2DPWi5OJ0IKityFQqxhh1tFWYsr5FF9UoidJtmwGQ2xQUxPchAqi6rx
cmNMAMCgvO00HQLl6rZqQSnb3g7YNaoWCjMiO9xCBSmoAdcXUctnGriIRK0zFVe2fa+RB1mjwMGk
ZSwB+K8suWOGeAHjjPoLLV2I3GovFHtWk04BmYCqk9n9yzNbGYIMsnQ0FrR0yHKr+jDKpe4HRDEb
ek4pqs93oYfcAbdSiZ5fB0REcSyxdKPRFxc9+phuR8BWVrMoGuXAKGfve73nFUgVaW1XVLYi9a0U
8GdHZgpwKTVXYDQzEkGvvMA1Kr13zkddrgODqN/LgYGd9xHTJFAdnJOmHaLfxQxgf85h/ibsFOJp
qsk1Z+oA5R19R8oicKDrX1YLzwaN76gDPbsE4AAhhvA3U97HLONrQPlS0XXqoUCrJukDakpjIRTv
reyASBZQWoJBLd8kdr+NlD28NIKARXIcDZ9+G12rig0j3cITRLxRrj3KA15G1BADSCljtgjslxbI
OckwChhWFWUzWZ8MPFQGsiqGDUuqK9gu7xHXFUAQEjfkhgrbyQ6FXMBaHo+Z2BLWtETFYF25ja6F
LrNAY9Ak7vVhLEqpJTI0KEiJfArUYmPhpAq4TQjMgFrX7v6bk3nQ7aT1EW6RMnBw5lHwqOAqlxhg
gMtRrzf57IvKXQvbzHkDWiBkKwcYKBU9oJ78hnquW9rdaRn84+BI21L/GNFICYKGl1Y0sbXRH9Ew
j1mpelWWPIGuuyLiGQwaIc+WgkvEGcnC6SH924NJYAojLFI63GMuIDUfqXS03XQgHRa1Zx4pgMDH
jxH1KpI4eapdj7YC6ugNDNsjrkXHo2Q8ynMPLrrqJGUMwB99SR3XywlTqKQioDYqOSACSTTtGat+
hz4dcHYpxr4sB8wnDTxlI3A2SEM4DDY4ygg9gBts20gSVgIA0+rGeMtBT2A2loqw/3eOLgA310vs
k4BqcOtdt1IWTEEzAg9RQNC+hxWQOZAEr007c5QDCUZyq0ZFtk5F37GxEgx/q0ujl+QoEBVp05tq
CMJQbQQOQ1H3cWEcLnYyKPYO3fZIIMmrjOklmEEsqGxn2B6MjKxznVawHhy1EMw4x7GDF2xbbjRj
eGYSBWqW6RmDOfNiQWW07o5lseC3gwa9isf+eg44/bJXkYeaUkWm7cwjB4QaInJZtxk0AJdLtvv3
TuEG8ugMYigZNAdhiHE8RrlTuwCQ9pKyN+sOOCihUz8PcVNbdaxZBP+IZx+cwoYeKSNPWI9JI5rG
rDpgbY3GVguOL/aSjeGnDbdgv7sUAOD7U657jlcMKTcFFFHqXKiGdKLJP9aRhmWpOs4VVSRYOJ2q
05ONXDSo26l6CunlJEbgXcRuwzIQMkiHO4TCpKwTHo8uM7B7oujhnoBqYRTK3mfIFVE1BSrbdDi2
DNUEYUUhVwi4WmaYYdk1HWBywnQYDwp1HCbAaZ5ZZCgP2sGhaUWGMrRKPoHvrLlJMo8CRhCheciU
sLDFgKeAXtXD6d78A2ShlWfgQMLxQMOiI66aQf26fD0VtgQEQXgWXG8MLkpaaddrWQL8T+9L/Vtp
Io0b6bFzVedWRKA/vjc4Hg6oDayjY6mWF8tBNND2mm1J4EBa2YnOLKgVChY3SJjaJoKaH+1wzQ8E
jIxHlYseFgyFoEFCBOsibV03sEQdPBS+lg5eS9hnMiHmAPGRrlfkCoqxlTMgd59/GuH0PXzOASS2
qgybo4Wx3y9o5mMQ7JwMHmwqKjT2TWKvDbjzqlca4ID3TGVUN+YwIAe4aMbdbu0Jkhu6jnWWJFbU
RVxrXFeGQjyrJeb0QEDVUhOwUGgKWgApHGjwPCFdqIgbZuACrKSOSrMowr3YFJSBRInnnHYE3Qgw
kDznSQBLvW7N45Zz+pBPKjE0adFcGe856tk9QgTgeUCFXjl2AJM3XK92XQK9pLQBg55y40GQYRYW
nzXqUBZVp52dgl1yBAf64LEurugkbhp8fg+7qEaQLUDBpTBVPj1WP4sr1nnywlhPhuoXA+4RADsj
W7ZO/46EIu/CoHDl3v8DoBC2ByQAh1DDOn0D678tREJHvgcgc0bdaz4OwEyh0a2IuPWe467U3M0Z
tN5zDnX5zVlmYDVkYPZsbvuHWhQo3DckoB2P1iAjj1vgRcKxSfZeawIF4GlLNa18WSKLgBcdUXT6
GKYDQGSne/leAFiZesz1wmABJqnCjKj7y4MSPutxqUxEZXBG4UlAfgPafYkqzlyWmqI2j7RapTVh
a9AsaJJaZEsgLGZ6O6kqLkVjBAX4ZUoc1o3kTsDV4KLdiuneYQGxsjhGw7xh4Hc918q6jOsBS5zW
77lmjh5MvFJWNXlGZHwGKB0MpluNDTrsCNnNvYKBCKZbMQlK/5RGXvjoUwLqsobVTbjU09ruqEIL
2nCH3rxqEOTKCi/UcnHYANEInQIl5AtbOmhlYXozewZk+HXAQCXqIuhoqeVycIaEr60DhHUD9HQi
27BrhL1gy1uvsJcEAw/XHuZ25w4CJ154Jrf/MJkgOR9lB/ICWWrFTkGgvVeQKy1Bx6wp3wyUqNSo
CFrBMQoioAyTwkG5iHCKsesXngfi1iamgFv2zgXpbm8kvlyhO9MgmO70J8DAsQGFIhHz1q1FPXAN
bslBqYjtbFP2T0EsowIeqwP7INp6eKskiW/QKSga3HUSwem24jO3B1yiNILz6KaMkCEYVFa3KFXL
gn2Q1FSiZ/NBSlRp3e0nC/qYVLRqZUoHEQDjkNscsIDLiCUM5WItnMo25ckQc1SBAS8Kd/8SyoLa
xdG5AxwJE3qkbFAlFSUChALqCGujjp3ScxAJ2LKnkjZl9SHi2QaQ5Rr7EwBeh3UMY2ne6wAiAK7l
8L12HORxg8cUxgDninHjiSdCHSSh13O9Sk/FYuRteNyCgs2RxAgGQIgu/wdEXB7AEmPJOgDStcCw
hEVEGidMr8gVsNOEAzB8BmMAFqMU02xtbmgKYHilsYMRez0dnDMdPrgSYESXMgDbHk0usHmkLZFq
0mkkSPxTch3TnmELwVqrmk0OCPMUuMXWw/amCHaUCpGjR4II6mXOPX3XSgB4jFxC9RFhA5aGMawz
P6YigMGVgmny9ggXUf8o053OAiq5bde5ARUPlFdNu189hvigwnnUonkkVaMmjN22PqD4XUsOn56h
FICThi6sAIxXQGFbTisC5wj2vcyURECN9gIn/EcXHjZsqZssLJE3UMFV8YzvOuHuCCNCeaXK7JKJ
ib47gtAlz+5AJhuOO/GQWRgF1xBozvwgvoAGOhSPwZZV8fyijRIsNPa1s9DYbwAr0Hz/AmnEcbn2
oTdXAeDCUfUa0qKJzhGk+yUeLx+C7Dh2YI6QDBH0osOdh7VVaM6t6DWbl77XaQaULGBWSHJugMWz
utP/XHrAzYiGadeSSMopuN1BmrJAlwOPcrZa4eIWOPXJMgO2cucoSK2mTZRcTf4frSXgmSnR6zAN
ftqWka1eFgcGlKzpdhMC3ol3rsejAfwfFZivnqUETBbQGsFlAY9J0QawEnOLaeBJithr9AWiLYeo
IWPqG3jPyqD0QYA1TFEH3EkEFnpE1UwAj8PjAHZSDYBbRAsC1sLrXoEICO5CAA+P9EsANmnfm3oH
KDydii2HOt/FNst3csMCwCM7DrtHScBYovWNujxQJxZVx7yC6cWyuhBaL6QS9CSOsOeeg4FZcBGT
FyH5xjoM4EZYB+kI754mXfN1AkovSsx7DzibFiSaPzNOvgQ9RBSLzaV+QHDoskT5gTEIBoG/jb16
bA2A0IoKqPWCOAnSeMb0CtwsiL9JP460kHWLwVDAgTMRNIfHiU9Hf5n6QbNLEYFHgbrqproO4E84
zSEOD6MO8PKqTfiihtLCWlcvQWQzEqSAvYihNzkBlMdZAXosjGYdyLfiRhU95oUCXrA0vTEAgPwd
K15w7cugfpDBINh5ZG0C1S3LSXV2EQ0C4DigiccKT+yUhPCZ4jMb5t02v3WGs4rOzAU4nNVriZwh
iVnJAXJFLZ7y7KXBLaMhhCnCio6naCJiYBs8TAl9AedfWtjVwkAut+22KQQOqHLdtAww8kKi4rqw
olaYkDhSqOWWrQNBDB8VCnIk2jcnVGAGvpl8v55hm0VRJuGW4K8A4AGJcZKXZPVi3gKqNOZa1D5q
MUHLsHqmlmmmowAnzXJo5NyJCugWlsPxuCMgY1v3uW0Um4FbotUK+ghqgOpo25r2WF5UjU+Q2Dz9
rTH9GaBsSjK0zUf8AdJZFgIgBlfzWIO4cQrndmTFjVs2ZorAtZQB4R8RdnGJAZ1WpsUBVNL7XgMv
YIecAdXKWSmBKLUW05oLDmuRvEOzN1N8DOi5QqAi6xTSAycrtNMyU+0tAE+qQZJalBUe4ElVueFN
DhweZFaL9nKSPPDubDupM84LRR34UWu5mccGSixoE5dWfYZGbpJ1ni+GHEkcAZA4YEreoAo965RD
abDcVA/U91XsvUb7RRDXa406qRjcjNkqOOxPIEU0eEiGaTE0N7MHlfyBmxqXAQk4PI3W8beKOEeS
KOKIaqYRzKOrHuiNJEK32TjwSkW/HSAAJ2MHFgWlHaoiGi1zDWBKn4wBE6ReYUdps6pwC5CkSKui
0uY9ulUAF8Nx4tLBvXqRk4fBOS4jRTGTVJphHj4iB5AHcyLi22ERGOIDz2QYM+OgglVWusgtuvGB
SgUvkZX2cMcCw6rNkCwAyyLS27lfL8hD+dC5yaDES1rLeK4PfBBtFYoX8ECkwelVvb4YHlR4xdiB
VC1QX74sRNSuMRwWtjuXUveSraAJt9MAilCwLqHIGy633OAeb7XT3WgJhZrXIt03oiCAg8bSNJML
i0cx2dhtTQd8ItqmYdmaM3TaWXfIpdD1tspiEhnyfr0JvWE3DlS8ht79cEDvB9+ZnCgDKE8TDugj
B0cnayd7TEUBPAstGb0/E4lRVQIqOc3uL0Dffa/HsQNgchS4SwWEoi3lhvpmja8FirTO+MaK3Yki
SwHiwxyGI9p2LFzf0nt1EKDTNvb8EhCeOcE1ZJoBNg+UkesVA4IIi5aDL5r1OgzdW4MxJtjvwNZj
+BaEPfDLPoLmPlM7JjRi2uEMD+qsL2inm1YsbyCyFjzOtCBegLcKp/YtLLOlNisxYa1alL+gDsmi
1yEugrZfUmOSpEQIBPX6l1ueMS6gRCmh1bUNJjgvZXrFM6ASQ7Ejex9oJppypPmCS0CYiRa0NB0b
y4E3Dh7l8nC5pvHcYOd5Wi9wqoxAiIvEMlI09GsF0miQgdUedIZwuCeTZsG1clQRIsTOKiWVW/kl
PAcoESr2aEqgVzEdhy0buSHYhdsa1DIst0kA1Gcd8YHB1IrTukNrAEReGT3AqRRs+iup+rcLCPoB
5aJ391xr00fzRkDTxJ3q0++DujIdGOsz7pqC0ItFlV0eNogIAQDQnQZxtgITzGKcDDDWTvSqlEBv
IbbUdA5OAcwF9zr/NEj4Go/9bwggO9lTCeiY2Z4a4jdQ6SktbtY4cSkALwzD9RmcAxyUAMsCIiaC
eNNpQStBOF/YrXa04wEjt55tsjwrC5oEeM22eL7X+oAJI9RV0E2OVSctFTQEgnNdAkhLeSg0rtOb
NDjkm2VeMeIdSbZK6k4bB735qApvdSQMHU5FULI3whJg/gF5HFk7OMCfMaAJyQilgBZDdYvR5S3V
oEto4BqU3jlqiBAo0IyVgEdNeY7veieCg/xn6AzGtrBtvXdokOUD2QW3VNrexCiE+AVkPjOXHDRh
96bXOhPNkwyUCdLuqmEADuQ6o8nwxBSFiYEe5S+EwhN5ICfRGg8YjVNrPwDkCwBLj8EAwIII3mgl
ZZk9ZAWICk3bmBZCC+bESJKkSiPObKOiG2Rv2+4OSV6ATr5lHKGL1hrfDOyOTa0vg4cDDw8e9Fil
C5wOyZXi6Kl5PWoG1WuzAAm71hkmyT/bPjB7xCtcKAa5p56SwlWrBFMpNM1Nog4ud7sLGLt1o59G
j1gw39sIkIYYCQ6AzChcpxmiNIBc4RDlN8f5YOCh45IBcyd2lO4XqL4mZo0GS/hjkJ2iSNipSJX8
DLOEZwD06ALWp6+Q6WA0LjdGTAfX620eET5iIzZCqIbB0ZlIBUf7kYwGhX5BgyarnTZ1VlsAzCgI
w0lZtgJu1QIAT4vlD83tNYDZDWiE37f04p0eTVEznvGcxEEZZQWRmRQGgjRj9fKNIdqAeGU95yvN
5gD0JSFeQ3POOmwG5iU3cnwurAKKoao80bJ264GrRApPUr7SuEWlNSCCaonZgQ5B1RLRFsacAuiw
pLnmC1MrsW2nlZjBHGkpIMvE9+oG0RzX6Bk7Mg+kAs13jO/VwaFw36Ey4jtID1F62gyhSY1UIN2p
dcTV06HbBycYrsPhnF4BeQKj2F7nplerZKUB/mbuZoNq4iqkfyE0qC1XYAovH5EBUA8OdpQJcMxd
1IiOOpZdAnErx6+bJciiAapnNaruypIOsnCijerNWwa6tVYjPrRaIHKg5RFt5Nxq9XpPjQAya5sN
mxuVwOG/MjC9msZuNnhCNOwK6SFCEklie2lFchU2yE4Yrplw4XOgCeqoccYENYBITpjOjCTAtAyy
42GCWEa6sllTJWYe9zwVEhetWOTs+H4zsQjgT9kdqagAakwnYzOGH7TxV66XE0ItJWsG8jL4BJxc
Y3uZMFAbVXd3CQuyOBqTarBTj1w8qQOaYnMn14NNsxVY0Wh0C7qIOtUTFg1crfrp5eAFDUBjB4ce
BdwVh5Je2i1ABcBtVXnDdGF/4IBYo1DjUtzc19VeRmNGBnjp3vQfizjrjoHo758MmNemO5PEgNSj
F8wwl0dOHpjrYHoZMAU4WXWb2CXSDCBytuh/dqUBJVe7TnpboZoXLTvVzGjqT9Hqe+kVakyYMbbi
PPoFkQ1QNeumFss6bkAJoHvWHLsDkn5F6q0oBpmhDUTgaMfKxIUHrYFcWXyol60ZQfLNCNODhBRg
rFuDy8cVTLwRZZYSIiYsA21gulQV69mF3QPKX1tQpgr0L4zysvcPkn1Od6pnDKgZd9xo8Hv/ZGBm
qYugG9QPi/x3L3vJVQScVTwbt0jhgDAtVO0klvbKARQoKtgGPw+AR1MoBZOFeWSFQQ7Ft8VrxOw8
ai9r6+FIjRgRjc0xnWYxaCh4YGamkQQKgCGqJOPSPUC1xDFg3AtCbtRetQh/aAS8U6IX7WjgXjjB
CNmjDQQA8xViz2XiA2gdKgIuG4cDjihVfRGaetgI2DYDtNlUAUtlyxupTXs+D2BbqNibrYTa/s0f
naI1s+wIBJiOqjfbDjDYlNBgvFyuP0HtKwIAVcfMBeCbw2pPWO5jNSwps5DoritmaGOiHqopcKKZ
68kol+g1TxLSgWL1EZcEODhb1zun3wEMgObcODybzkvUKkviLu5GSDTGKcAW9NFYzLVD9X9eKaac
Ys4qAoSN8jSaVTMOUGqixPVVCCVzymLqlkXMTE+nJy4aWOQ7DQrpuhAb+GYtme0u58shFNqXHfiW
RCRQaKrqGaFmYXhAhKZ1r6EcYjIFEXHDEqTCbT37JCxZOUDK6/7iyybKAJCNGg/ukgJZay86s24i
SHwribNqqJOcdwKReA0c0WCjwB5KRDfEegYIlnBki1M1lrrkXgG+Gk2SuFb/etTbV1T1H4t8OfJO
onaYZ+eQCo4aVwpphM1ZD3864kEcJC5NaSITSQ0eQPViZTQWERKaE1AVJzUMDsANgmPovnNBAAD1
YsR0fkjAsXCwZu59iqaSBgDfJo4XqKGoQCLlF3cRGw0nnO3AsKDcpoBCRatRnwEPu97DEvQNKfqd
LEckC1Rg6oTkSCw6h3cIu9B8oaeGuIdTPqCWig5P/6ha4cjYDLKAd6AEngcaYeUeZQPKJmRuQVAb
DN/5eoJRgeq3Gt8uaGWljABxdzhBDukICreSrKsXFgMtYJlntKpX6QK8WCdR+cKsF0B4Cgfx5agF
UH6ixtXfBs4K9ti/QH0d69GepToLnWFIXDuJOxQLwrTYzniO4zTQ4CiBB3OiRidWu96wRNQfXXPl
UOPnwoZRNFgoUFTb7RQ+yCY39GC21ECXRK6F8/2UQHEp6cSTkhQmLpqRIf5gZaeX/UaBkY8OX+fY
m2HtHDeot0TZQE1S7A3nBL+uY4fja2Du0HTAgAC4kyJiLhscKKI805V+TuiD9J/ixv3OXw3slnG9
IlM02kME3IBZo6EzNDpUzalZICa2Ds2ElvB+WiMDW92T7ica4GeixUEtxN291KBTbEYwUFMGibb7
UemBupbMqjxF9r5RSw1ErRrmpBccW0CblNb1rAgaA2M00iwGphEtObIUBRm1eBiUTETNpBHnDjVA
TFXEoTWczinQgOacpHmC81BFMzc1TXUC7SWDwDAbJi4Ky7FmSPYTHLWQeDqcRJ2YIxdBzHYbtO+I
vhd/oEooZzr9fdGkNB89osNZPETQs3zoOQUKch6xOz0dGE7nm3AKLVABCVSc4nc4aexVh7IJmutU
jbMbNDrQ3LLuDKyXnEtkBephbYuWcjBG12g8lIJdU6RUoO9gp2e38RDP9TDeClGg3moOxlvBeNyL
wqKHYWyefxmkfa1qhubjTBKJUs7EOWoOWgDV9UUVb7ujpgM53ygwkS1C2rlj6lgehHuQzBOx06sF
AAKyshtt+Ag2bwo6sur/XsMEiuWsxngCjMwJ6pZSmlYtzBYIdB1t9rLsSZ+AmAjQCNkkQs/ECNCQ
rupPqcMicgHupOLatGS7AYdaOYE+GKerA0RQcg4T9AgLApdjwnlvTlTuoC/JxA6QiS2KET3+4uA6
pX2gqkKa3ihDQDOiXPXldmWoKwJXUHZ6jUfA+pYREJxG9jUA353r8fsN8AS97cBWoMeIrKEEtwwR
gSYImEWHci1e6V6vLJAqob1q202JAXeFlnM0SIu+zw2IwvVoJGhqmWbGf4/3ErUo4TqEzWkDICgB
5aakwpPDpO8w7QHJVFatRBfdIRFL1LEl0o+sAZBvpZCh9hg0irINM44nBZOvxoHJ9sPvomRxiIrJ
vc6pPOBSBQESgSNBSoBcg2GwD/+bxiNjYHN038kV6F7vUZAZsr7H3QDQHq01da1ibAnES9XY+9KJ
MyCXRr+6GROCyfRKKtzBBpIZvLEMZSWPVO04RFIy1WyTLwXaUzgFLrODtBNtPS6tghiTdRZ1es0V
N6A2wCrUlz3A2sOoLRNPys54iGpMWasVCCjUt6ZZqXmPBwG5XpTWtQwIc58ckAhzsVcro4GRcrbD
+QNJHWk72h71Mwwso/XBRQDIUuA6pd7TaIA0zaZ35wgatHMKVYceJhQF5qamSi5+34P6EVF2k7qj
SyNDyXVqOBxmP8fe3Fznu2N7QXWqrGh7y9GWYDSFhh0NHTbwFnSRHFvzRYCpdcmhoORGoJlZY9kh
SChZ0wtUACfM2I6YReDUVPUnupE6RB3hLQKKxjsCUDmmWU2ScbMRgOkomwNIKOkE4CxS9YYrA4q9
q4YML2oOER5opV90wfi/6fHP6/5yfb4cPvJ/+3/yP2+ut1/H/WZ7PG5eLtv3/bW5bMrgPXhLpvC1
xkXyqpvt5+5w3uzOz5/v+9MNrCQeK6VaAjve+8NpWOo2vtD1bb+/gXe5+15m8r3G/Zle43S+bS6f
p83L+ZI+6jW9DFrLPtYigRXZnNv5Y9yczfl0/AU+a14oC3xcbtCKbb7T5k0BCEwLpM/apj3aXsD+
3sdpmcKGl0vsTzuwgJsX0A/FTL9k9Z6ock/UYqXD+/Z1v0Zo5GOllIMyy5W+H3b7VeKnW+/0fvi5
322et9c9EUGwReQ2+IflvP/4Zn/c579uv28Px+1TumL9Y5v3iiiqWRDzG20Op+/b42G3ve3BF7rW
F14P7x/HlV8XCgFItXNphe3z8/56PTwdjofbr/zg9nLYbp4/Lxew4/Ntd4nea0IYN2t7u22f3+h2
cSuocq8nfXG+boZP+jxub+dLfuhl2P3r5vltexokatACh5fD8/Z2OJ+unLKkqtI9tvyWDuy6OR6u
tyvvrrYya/nJzfM+3fNB+1zOPzbP5yO3BoVL51Hy4xrTo5/vp83bfrsbNDdvqUqPfVQYp/NpeP50
O7x+nj/Tt5x+5xZouyT5ZD+G//I6XItBchl5Sy9QurDj4x/nj8+PzdPn7Ta8yCCxn/vNcA/27F7Q
vPJcrZnPeL+9PL+lV9ml42RfQ1VB8bTCqKVGyWUfVa30wm3/85Y2LsnS5vB6Og9vcJdU/jSabXHz
Zl7Pg3kbvoj1dApUclJwwyW5HIZtzIdwOZxeR8FKIs6tU7G8RjO0O2yP59fN7rDbPO2fz8OW5Nuy
37FXYxZw/0AJPi/HzW1/vfF+4uOh8HhoUMundBf3F3b/Jc1gTsO48/a/by+/D/ovXcXN4bZ/5wPX
xtvSFfKO5b1LJ8o7ycUy4+F9HLfP+7fzcbiEoySzMuxayMr1++vm9XIebsPdKPw43N42t8PtyK5E
Aci5mUGhfjdvhxN7Dro4hlFfXveDnh68mbQpw2Ec2ZOnsNiciNntb4Mp21w/34cd/YXkuG7R7yeF
NGjmw3GXVdGk09jXV+VGzvcxv/hgAzfbn/AobGildPJP593PXsc1bwYrlL7YxKVQTnZ4sC+8L17I
taGOxtv++fen8889u426oi2Ox/BxOb8mpfy05XcvtMTwY3u9/jhfdh0RLt941EHPg9DuLx9nIHCx
Va/5vr29sbsbyy6Bk0vw9HTZfz/ATZ2lK3MzjXdyih8+PgfH9NfHIOOHd95MNK3ddbibz0nJIokw
TX7H7vw+6tLhVg3//SYb3sEhesZujbxf7TklPvnpH4fTaDfZ92iibFk0L2deqZCsW3wot+P2tEvy
nDeO3TPX0ghv2+ECnT8H27z/ntRaUtL7E3+r6Xyzh2w9Nn78ZPY2VE3Bpoj4PJz4+WXzdP487a6T
fsGmXjdLJ2+X/T6Zl83+58ewIbxVJGyC2c4MZ/yZn86Xmn9YN9kEh3S5Ttsj9NFUs4XR7fz6OviK
WFpIXVosjNLHcD03z5ftlb2klA0lHs9etinMxz+qmyWESesnFyar4OwTQZ9QNXmlpRXMq0xudzr+
IRBh5a/0tmuTkALZ0S6w79NUrNkkXYfI7HbZHnjHUDZ55NeP/fb3zXgJDpPLDjQGSfgnWnWws3eZ
d3IybneJgsqsGM47XemXw7CPnx/H83bXOWBZeijE4xpef/AP8GaQZNB8EYYw/jwEToNxP3/fX16O
QwS0O3xn31+0Ghk/Hc/Pv//b5/k2hBuDVmJFqzzJKfIanZKuiy9j6yTvzl26Vfyj5ciNCTPfHa5J
gKcwi39YtTJCg+xDrW/KZnOqdYmyEhi9qiSA2wPQ4mpR+/gQwdsEdEwRCwtyyTKcD7VnlR+hntZH
cgpSGHviBFrdV03fmKIQF5gQIN+Qy/59kLHdENjt9kAFqrsnnVadPennt+1lOxity2B7XtLN/34Y
tnL49I/z9XC/xoMIX9PfJjSCW1w8Fs9zkI2PavHW+X1HEChrieGdmfhF3S/1yMWcQYnFHgxydtyv
+HhVLicmIDmph+mUsqbY7V/S0sOj750FjZqi9LymMDlaMKMgX/Z5sevn4AJez5+X5+Gs3van0aMb
QZ0rWDfO64aHdj9tvx9eszc5nM3x8DyCVte38+fgKJw/htWTwsq6cghtR1j8x+G0G1RP/l/T5icf
4+W4HQLvy+DpDa+XEQX+Tcx8qnoeDfo+XKoJMc0nmldMzvx28JIPz/xyU1CZ7+7se20/DpuX7fGa
QtrjoCmTAzUYw+Hf3i6f4OX0fEsIMjgooEFtPRy552Gnft8crhlJz6I3bP1tCB7BukTyZp1Yb+WX
9nEKY/I++geO0VwSLDKLhcke/GP3hnt7Hd/naXuFB0BuwYxMkfOchGw4ghycjQe6PQ7exHAkK75z
vhF6ZvxU8vIQQvITYEk/n/LMNOMEG4iyLHdPPXZvd96P4pHU36pdFIUumfz3u8AupDjLNlhtVsv3
JMn/re77j7fky2TVlGGzpFyQ/piljfia7/vbdlBsL8N//ba5m2mwyLzvpP5rzHCMSnOz3Z0/bv8t
ad4hHt9fbmAxUx7ieKVmhQuenFWGVPmPKdZK7sX56V8HK3KdHszYVv73m+vhL/vNoafcyGXIZWPD
n2pS39VaYBFNFsk2IKSLmVZ5HQKL7aB8nrdDLLXb5FtwNwfgg+cFU2YwTc5+RFbXybM+Pw3b/X0y
W83/ZfSbX7b8L2nvifmqQrjFcqMjvGbR+aRNUlgmjbbKjsb1qn6TozskgtBCbp6NlJvvgz2/vJ42
QmyeuGVtsC29ldaxm2drZdw8XXaD2d4Mq/IvF2eRnr/3JoyQQm/21+ftx6AIhAPvoVsu1E3YQTSH
z1E6wSbXCWiHH+RDaeKnlZIzKtTmafiWwe16OQ4u0o+NUhv2njpLjNUcnN6GTzLDR10HV2M3KKTB
EA7/xL+OatqF9utIAV6H3ikS2z8Oym4O+aTQ5ugoyreJ09uo4V2ez59JCNPwDHaBO0dudMwe8Mz8
FmEUl1t6jS3/GrPQ+Yd7kcRleAsvNy8/BiO5HRzjQSEPm/vCOp6h/Jy73DU310qwuUFT+b2juI2j
VuioZbm55rE3Ju2N8MNH7U7pKin+m7SZ5XcQwAC+SFvwRc43D0q64RY+W6eS5Usq+CMLzIa373ei
SGWTb1KIMOgZszmeNk/nn+mjdmAZQxxe4lPe5HDo6YZbbTZPr4N5GPTEsF1gJUcMlyVf1toig7bI
e+5G6XxeanPI+vOSbzgQZylbd3z4rEH7KT0mnQeLPHiSPy7bj8yKeNon4OJwmvSZzHa6XtvkQq5x
7RytZEdmFM5k/1K+6JTyHCnlN/hVw0KBWUdPNbWZMjlnkbdP1/NxCMJTuLiZbPNucPt2g8sshGIW
uzMh82IzxLVNNI2PlL4U48iH1ntMnVTJ94zn93S+JMcnH91hBsUHs+OZpcyU0l4sNeF824/R0Oa/
DKEb/z3OkO+ZVf0QDL8mtOPj43hIWaAz2N97XX5awj9kKeNM5d6+7Q+vb2mHIvdZYn4Ze1cA8Jwk
u9lifil3X2p86LHGY5+F5HZnStdWu5PxgiFWSA9TCTTcMpZKctLeE8FvugTLHeKOy/r54Cni29yj
x2rc592H3E37LWXzpe5bbbl3mihM5fk/Xmn5OuxFlfM2EWXCXg/NHb4huzTGLRMoMAR0+duez8fz
ZZ10uwnHHRO1j1CxId531cFeWqXLz4v48/hrYhT5vLjm88aGHq3PU2SrcpeLKVrhz4+/c8q0hHOS
J6QQWHEnem4QUN95M82to4kpiQ8RzYap8TasoFP5nK1mQ1dKw+rK0Lhx44s09Ztk30UVXzQu9EgL
rHqZ+/TbhRwxBlazBnY+9zBf27/ivI1QxRVRAqtJ1iR5S7X/rJI+ztfNBOAnD3t8x+Hvb4dsJeOW
+0TvCrN/55sg26QMq+dk8XZ24UJ41oUIlWKb1BEvQexaVoTWbX0+Hj7uJuPYOqJAdWvm2fvWbeo5
Uo+Q4e5I9ZQ9dxOMW0ixhFaadYWsa1sNJMmsCRKO3s9JkPMeJcH7giir2WskQT14J9ZQG2kb9/Tx
/PugxN63P5E7ZGYLRmb17H6dtu/D1ibnfuKWDkqUu0omuLZb375M6Y26u32fsvi4nmKF62hZ11G1
lQdjdfh7rmWx33qNr8ZdV0U9v7mqG3+i4BaLvnRFHLjCvA1SruWvTfGeNJEN7Gj0kgttBLPH0ytY
9qysL2K7Ka3ykhlkYzB03P5KOD64qsQmq/GKuO4dY7UR0e1z28dMK7t+bJ/Hu59Sq/kf98CqOkfu
Sb54xoLrxt42oh3HPyI9JaDprSL7kiMFZ9de1MBeVF34Px2lL1lHwTCuCxe8sDLsQ+OydyALfeRW
M5K8VvpUCDb09ZqLrRs2vUjT3LMf6ppXHqMghtUfsoWCNN1P3pqQeKi4d0XAsD6atXaWCYr7ZS0w
Pb09vp4vh9vbO5AtZ+WXPBzHqkcLwtm7Nig8dfYWe9fw9ll1yZs244otujsTrNPFxrJetgEoEGE7
NsI2bXSEOznF4yy6tePAdLMBo4qlLJWmTSheac4PqmycbFgbfDyxwYdveTe81mSNkzFf05qahXxE
AfkYuAobDIfCVt41EomDJBsHUQQkfdRUBdjWQCy2o0U7nOIdETYyoxCfeTQxBIgMq35kbKsf9qV4
xJn46yVa2BFF88KKYumFKseFn311LYgKmVvuPBaYQ7ZL4ivAsIRIQ5hZGNC0Rda0uS+hdLzONhT0
lbOKBMgaK+80WDbrjLdi4RpZYshK9mA1diUdy9cKPWyU9cGV+qLm5t9JtPycVkKDlUwSoc5ZNg4t
ZPEV2cysrHCe2RCQaD0CmWA5t6yc4x3/EhqpSAjlCQMs7/mg+47bj+ugBI/77QVpPhJ4qzH1GrDm
4+23KQFfg9fxrAZ1ujhEtVaD2mdWg+oSzwk9pcCmS2j4Pd/jduzy9PKMc60KxcCrowxDIA/ig6NI
WrCRdDPV1bbwno0xYttPBZqFV8Kh4YRTlBFA7ZZ4XuNIhJ4TF9jcLw1PMock9DBgNkQRvvFJ+/eP
26852mVj8BBbB8Tns9gvMkzANWWzc5H3dbP/uc3l+cARoGlxKsUgKmElh4ClKkc7XnfcMPaimmZe
rAMyKPauGtGOl/gwjr1jzrQhbwRY8clyZrFna+RmWnF4nn0ZEuYUpwc8E/auak9hnQhwhe4dISZg
pue1kn6CTfrZRrRU3TLNopNiSWRoAUAP94EN2lwTri0pI8jLNgCL+kIWlRjA+FimCWqyViZQhUEZ
Pb0Qm49rSl2mev6n5JEDxV72r0RH0rTcWKDIWBxZyjoO0TBc57knsXFw+/MLxNZdOwjiSQHdxKFV
X3UxWAtGkugke9CKFVgvP34tY81eTgKokVdhVbpiySFEXRXpUBwmaNazF00Qkz83w4Z4ohVYtzab
PXrCoPNLr56NqCTP5vNfS0KzkuTcV4N9VkFqwjgigSO4+pa9+notvtV1xzU9PtEiPvLoRZTtjG8H
6GctiI0lD8f0ZJLP1vnyozQMXFnvXpjaJe/giIb1FWkSYzZE3Bbxl61Ma3V1JL9FBKYjCo79Msdm
w52gftQaBo2MbIreAabZ18yJK6M61fV/WSkgGbbitjF0KhZzoMn5WbyZ7BNrUGpEza2Fn1iQp+JA
yR4dT7FfqHXr2mFZYAE/UXAEZTsWGhsVCs+aTU+u8MzRB+qb1XZStUBRnAHmLRRhslG+Oa/A2Tuj
ipBoimNotoV9MsS2/gbZDdYkKdW+JNP7j6c9XeQxNAFOsvHloXmovtl3Erb9Ti3fhA0TiZGbQWO6
vay9DwzvDN8HVs8K2YIFkUZjN8aFti/Z995ZtdRO0TbDPzYkDrrpIDWRQTbrrFanZ+42m9VAtqTR
r4J3NA/vqBre0dAHYH1SVelrRwI2NrEfPQzY1rsg1qsCN1nF7WDDLOI8fCmZwlPggl3iKl99LaOL
PHjsRqKsSEvdurR8IMJmHV1sp/jHY2cfi7YNwX4RLDNawURlvRBbwqFtq6iksgtqywaKplWSxO4m
7xXoDld1/X3QsvLszSoUmKWa6djRX7yHxzsbvuVs1PZUKBY0F0yk19bNfFGKbS8DCiVY/17qFly0
ggPB0nEojhqWWGHz9VjeCAkdVyQqDet1Wv2li8ceoSYFgbNKY7NULJhvNGPFWESL1Y2W5gWygKlW
XoGNYH1oA6AgcmFdYV1S6HshEH/uRMQtV5HUg9Ss+iv5PZanmhVqd7p2nEPN3l+h2x7toAVy55fN
9nh4zbXT+yvM58W2/zlt78f+kjpvbiED2hrXtoi8UWJVuC2xkPn4e7pkx+qSUOiSFek31qEtLP8q
sI+P+GQ7tcu4R+zNpbUrs9cGEtWsFhfNsKFtViJL95NtcQJxDOswKdmCV/jkN+8xMTIO8F4WgZKq
w3b4UoWYis2M3+hJstqWgr2U6VDmGUeVAi8/Ce7X0dR41rNo1duNt7bajUnV8VlqTXOP2XiXZIVl
6T3/gWF1eVDhvrGsfB+B+7ZKgmyILbS3XVfKqn9tGNeUoCFsMB1MW40VOvHRYPCKCvocuQ45nrC6
nz7ngWILEUI+BGUB1eAa0DMC6dk4VFR3ZQWAxPOcRFita1n/z1FCWVZxc41Xx1iyLpNvp0bYqI5N
jixhLZbUwQNZIfxVuUiekBlEKxfZ657Cx4f+q+6AYpNSuhWk9EFAVstYRCX5qpdhrefNFCsD0bTN
bru67omFIhm4jMn58J1PRNmjptvqgLVPGhVlNlmhPBSpqeucdV7hf5eagAVjaK1ezvzoZdMc1uUO
THU3cCJZsRPNAjEAKrCMrrLKs2jj8AWEVJZae3KPeR+SdUZ1YO96LzJhOx5Qc2cf3UURuMneNfnV
/hDsh4pWBTtX6M/6JxRQoAxaHuZgP818LefLuqi06mTuC8eDJaz7TYnG+eVMhMLJalXZck5ahdV8
YyAh2jBe3YEJhgHar69T6BtZF1r+Le9b8tXZBOLI/GWjuPolkGAzFeurG7GztEMKc6oVCQSWjO3V
X61L2JoHV/C2lIRoAivaBDKLHUEoPC6W2+ab/XxwsMw786EVfI2PFSvNvhsrW6KV1u6IPFtyT5iF
/pH35zULm06k7VFGaYNln3ym3PsWERAYdFZHCZ5Y/8XqeKG+1HoMFMDQ2DdP0fA9jIlPChaE296V
ZvtyGRNhvLPAdfn0jm/jumylNm+C1criT6CCafVhnG0mv9GszlOlg4JyViz2ptwXEx5sWaVhiWTs
0bNxhVVsArOjzVl4gJR5ZMg6QCeMx/btX/tmZs++WmxV67UPkkWNlGl7hzjBx8bOwn4lFc3G4Map
9t2bIru/7C/n+w3MUR5Asoz5ayjirIGJdr2HVhhmtgY7GLY9UfNLeYJYjwD9pXI5FZtZCJSt4bFJ
21YXfMaWjfhJDBJYAuQsYWwsQ1sYjCGb7XB9WW/UVrXPcW0nSP4k47IT5FeJ40bFL+aj+NDGMeza
XuaVzQT6Sq12s0B8AwnxRfOh2A2jCdimlH6tpld53cI4m5gbX3aqGoFpBztku+vRBr9ybY82NgHj
KhjerQRK+ZZGLZypVXvICmqMDZgaSDy7UyK2Ugyw2pzHpmXd2mxFT25eAQrfyO8hLcOqQGEaXHIQ
jvM9NswaPt/ESg98MN4gKeJNYlUyOT9XY/h3Qh2f7LCtkK1UTsDXE6FdH8M7tKxvzLE5kCACEp1m
4HtWVbIpOCc7NJOv9UJXXkHi/5dIcCrGFnGlTFm/DVHbX5Llmug5vd7o5CTW4AosU8zqLzWl4pWl
dzxl9It9LKxTLYHnnTOWSUNaEszWqp1LZVHCIg1jCTm3DTKzCdQYWi1E7zuUBlmA7Ldp95FckENB
exfxpXbTfDmhKjMTco1Lwlc1mdY9G7OHfFG+Zks2eg4g32K6KrTrNdTjyxGVbCN1NOHG2omgme4S
7VNiE3fRNsArtoqAv4jxSxW6/JHRS5RLLKZRd210gK9f8jVRPjTbKPADN2wrNFrRu4BFPXzZUz7y
UBorMaYqr6jyYdPdnoZ5At9c65a240WYpY9IytlNN1TblsPCt/DSjfrXTpDAdxxwsO/WMjnPN+Qr
54lMsGfVCoRvexFK0DT0QOode04EfchBi2NbH/BNIGNVLdB7HdbrplQVGmWCMIXtLS1FI0NMq9TZ
KCIyM3X+ih4VRoYvtUZiK2WNE2vJy900vFaaa3X8lctQlbHIXnNK1oyTOre5FfSzNXpz+3nb7PbP
OaYQ7CACwnZMO6N9n+jCxwGUZZKullKIkM93RBetqRw8hsNSlQk1ZKzK8WvKiPnKHlcSJyLM/7AU
c+G+Gi5JdgyAZVhBjJ/B+iuxqu/p9m7n00D1RAy+mTwfn8bY9tWL+uZ+YXP4KwhyPN0urKsNehAB
WZpKXd7neV+DdYAoWUnMA5VYs8FG3Oar3XsdG6W5qr8qW//N15nFVvTZDvT4rdG119M7Kj7Yky3O
RUd9sEyJqnWY6io2HgqK7ciJjQzYkmASuLlVY+fYOytWGMZuRkCZVivFHEaybgKNZFfVoPNdMIxt
3fEWo5mHikVjNhXfM5VPEKvSyZVd5iDr/sgWxtT6KNYfjKbRlqGZcGDd02BaTDiEN/KEWsrOy0XA
ReKo4WSuKEihvPF09LZT+2nZpaxbMOzBVFmNpsra1rTwNDnVbJ4HF+/ycdw8PSXECY9OJbORi0nE
8+jfPHT3Bx66G+Zxp64Y/ZsWcXpzPFxvm9uvDzxf2bRH5bYH1KKRu679Uc2FouMX8mQm+6NW9yZt
mk5rlR/n9kqxYafOP5I6Yowo74MX6FDk63DVwZ7Qb1FkiPaw9OY5TWbeXeH87Ecf6uVY5fvo4MN9
djCe1vsIrgVtcDOLih9FJbE6+R15uJNiIuK7x6am4cHKjpv644YlJZpyVwyZCp72xQ+7+z5RXyWY
q+xUsY6q5yqHaXOe8nhmcAPI8OrZO0nnPLzR5vp8TqIv+W1xRFCKD4ppc400m5fjg43BH/ajp/N9
d9VDLeg0edikAdzJTvzoKQZLdpgOTXdpGSlnnBNMBBemraPoRHA04PwxhEhQwzDtic2ycry95U95
3vAqTprm1HZh0wzlze78vnlLbmQ64efN4cxPf/dQ/N00JP25M5+8FBTzuM55NPRw0M/H7fWay7b5
c370fhEFT/8xXtpu8nTp9EXsi2hb6gXf1G7w9ghR6FmlH9ImN4N13GTEdbg6Fpyxss0vaV1kgS6y
LARfBuZVAnqVUAz/Nsj8KGR+TNumDnKbdMD9NqcbyH5PCOXd8YXQPqvhq55vh+9pQnoSlM2BFxXd
vMiFYhleawdukAickzCKmxnF7TjeRGBByA7H6rD1Zn993n7sO+esmNnzrUPyBph24Vq+Rkvxy80L
UvyyeVDNF1LA13jMsK7vY9NpCeDLtGiq3cenuU3+sttk73lzL9peVKUgLFIQ5CYkCFE13R+gYgzZ
FSK97Tsp0J1U6+VGRnRMsuESpmuZL+XHdf85mNXT81vnWj7G4Cw9mGFr/CBzP3bDOV2uKVWVRJBd
yDd3qOHAD9vM33FNFY6e/bLpbh7G+QsRuLrGtne4EpeIxCW07ckUR7gxjrjejuPmgrCGBCQ0khCT
52AecAPak0dKUxRZO3qTDverJOFV0qU2V9UhKTUe0nD0vGsn2hHfwxtySZM/Hy89JfyoehAJxEov
N22OS8bJGj9P2wD2ScpeVHEPKmR6G17J+HKLY7UzctyZY2dvyO32sxs/yF4yUMP2Ztl72b4fjr86
gQX5Lkkc+ZaeEEhPGNk+rtmAj17nCgNeHrxChiFEFM1KZPKGODYfWQomwYG50l+bd9qnnXbjTl//
0omXHm0QRcHvneUnTlfrOC3EKy7r2lFG025qtD12PWqgkK0hsWChNir/L508eB9bRcpE+4xelxqC
sOR2DXfM4C2SisEQEnYxhFHZap03++N7TgjwSv5RilBav7utiVMIdOmEQLEMUi3YaINAMG+bG912
Bj1yBiNzM8bvmtTzpWtEia9tyT7LwYrqzfVte9qtiKqUKK/G7CXr5Bs4ubnsj5vj/tQDbKyrTEZk
/XaNAkXZvKoJ29i8D//hYRwaxK9gSORceaTj/upJbp56MKNsmlE56P9su/RwD14v+96+OCU4YCKd
0/fD9fB0OB5uv+BXPQYYlehEWy0j4ZOc8N0P6XA/JYmvueJAgYW3gh1/zRyXy9tzd3M3z8drz3QR
QJfgp817HhDYLVbvtEWKOah2rCaGPcq+j9l83x5f88XaQnDMc97PQjW7jmo25UpIFzqkCyPjHhb+
e0D+u2mqnXaohQJZF9p2K72J3Wxvl8+kLwDuZ4lJ9+SaN9U6sujiCxbdGiQ4rn3e2U/Zba6DPr7+
Ot22P3GoFissv7afZnJ2f2BclYixnW+Vypoipex2yWfa8drYte1Ldb2H7+rd7rbENMwLjgFULEU3
PNyTjBMMTuXHNfknp/0VuyeWKIqsVW0LMb6nejFoHNZqLoewGMFgKDUsqRAsqUp3iUNZDVqjhOKV
akHxCBs1sYncLY8aQs6icI9005GQyJEIbYxhEddLHNf7UkPF1m6gpJwpMRcAHmJLa4sNCQQCuqsT
C9RJKC8y5w59XNMyz9AhKlMb0JURyJVhco1z0Ptyfv68rgl6S7tI4KicyHLq3py27wS74qyo9zpS
orDrGkuN4h5gSZI4YxOX8nbZnq7d95Dze2SiqC2czkRMT19zOp/2HbdTc97ZILzJlT69bT5Pw4cd
DyeYRHoMsqhC+eIWIKzEKC5Avbv1D6++EzaFVk6sBfthpR3a+GHLLeu40jQd23OGInLuqW0TROc9
7ujgH74mDd55I6erXFuL8HFYQ/gwzWhjkQyVnWSoa0MK963W01Z3VSCJfvJ3WdYnl52EdShvqmxC
88Ol+B3eClUhUw+tWuYsIqJs2BKN1JUD/Pv+F/bwrBVtc70IdDtCo0rGhm7FBAbFBKKZpJBmfAv5
qEwFSF+ILRu3xIk1b+m0ic0zaXFYOmih0S0/ph2SIoqR123oyeU3Mmpz3N+SAk2d82FuwBIYoatq
vEW+pl8TdyHkyZaJ67vYtXNSAuWkfHkDEJNLolQ6CUrdjDdW+WKwgFU8r6bGYlE6PlaBhapM3ZSm
uHVNnStN3cJls8PF3rwcfu46uSlHUukpTWUUk1LCnnBN0YFJZ5RboCBhL9TWCMdwEGEm+wwABO1F
scu23uXh2dfDe55rAPfHydgCdBvGSWfjdOD5XYIDUZcUSZQPpzG3L1Kk1Do5ZJ1Ukw5VuH0SxZLW
rAa/OoRCEZq+SJKYwYvdXw63LDmDas9+BL+OXk0SUB4lbiLn0C7iOo3jOs3R8MqQHZ2Tci020uN+
iztmjq2vKHlRyixSNveMDciv6hjWZ2wCItTK8IVkHaLvKNfkWz5u+BC9v778/Lj2suGOKC4ali2y
oh1Rppwv2YiFzHRcx16Kw61XyM4iPNiv32mDsE8EFw4aQ9+5oNsTpoPaUIEDgae4YjqaLPLYCqXo
JfLhjMbXneSgTeKAgRx0FXgif8dL5MNpLvc3Q0IaQUKmyeJp0xcQiK/bqrkgm/Spt0q0yd6FtZLI
3jnXhAYSn7lR6ACiwzY7KeNJnoD3vPgSn4Io0lnjDNv72g+HnHQc8UGO/Oy3v0ytQqCFoamNHk/F
IQ87mvXEOMQIcrSShC7UQCM7KllVisIx1hPF4MTvr2nFcywEQ/DyJhJKUVIOSk9El7HBFGQUKZwl
uXO1NabOEi6aW0bAg5k6rLNTej1lQiL7UhO3fOnQ2tGhzcgWLPkpabhIjBWyUta1KcpjqPi8vXaO
m5J/FKRuoFVk5Lx8qu8cwpsLxCbwXIBOXln51aVUARkk2bGRBHnBLrGpIk3bDFxQNYgTbYp/03dE
WQrVxq2rV0FSa327pKQJlBhkr2U7lUsQeGQdDVMcNlOFPt5+XR9cIT5HYtr4WgMlQWBLVG24sFbc
6JSVLrc2kE8aLo7TM+aI0z5VyCJL/WRG/XR4f+2RgINt5vqoRwZP2HLQ5SJath2qiIYaV45ftDtc
P44dnavY+pT5rF8OuELFiNW0pQ47kaheS6L3ijeO+CKi5PWoZqEZirWNb9dejLm5vKXbX2tyc6As
8Q64S4UA98ClVWo2v0IEkdjcj4XL0fEVtF6vcD1iQdCqROKsEqxyDI4xkuG4IqQyUFcgj+CaqMEg
+CkbfD/me8F6hu35DFhwHLXDfKnGYJb+HC3ZRRB6j0FxiYFjAMZmQIBAsBibd0EksXkefJfd/vq8
P+1yuK9QHk1wZKeF59BJxhrGrDRpXOjTqnuBMREUNHmzPvrSiNnoRdNNy7l8a1zu1DTO8sV+py5Q
4Rah5ZrceV4D+nbhcCuXj6hpZY0sok1pdFAurvZeDSJ8kjLZ2ECqiY3qpA1VSbpQc0HRYKSMSZ7R
FLTj5Hso5QZJckC5Pum/wGxEAhgF51SQbAASHGu5RGhVTSRwFlTgElO9WUcnoIgTuQllyhuw3a3+
AvNDIBnWsUkyI47f3e9DlDly0H6ZBaDXEjkEvnIIIH6PGLU0Wd3KMY/UBphjLklHkUeJVAclMk1b
vtxeTD6VruXeV7EgYka6ti2ok9RgCatt221c+gB684KSy6rtA1SutEeutCvdEeTzGVT/FuR6XNGh
zLKQLQrAkj/SKT03bbJkhQgaJLmlzn1szbL0TaOKcRMDrDwnflEncDJ2LUdZIkVlvuAVKWRLiAsa
Ok6RQS/kY9sXabDtgdJT0TCpgyl3H5LVzu34MImKQO0zJFe5Voi/7XyL8tGiNCDPiqwSOmYpKKTB
TYtfMd6CFU1drC0jVCVbFPvDaSTU4Dpkuz68RLCT04bL7TTQOIVoS5XgCQa/QtRw5VvUk0F2s30b
BCX13vyYGFQg21TyaeqKcVqSCA1/CUhAwy8RLcfYLmaKEzK2dMwUA/MgMyl82wlv4hHoDgimcKXo
qQWwCEWrxEteZM3q7VUixmbiuLxNqTaik980pZ/Yjv88KgpSTQpNuUDg747xmnN3F8n0Dnem7fFW
7hQy1HXBamiLGlqC5OFT6GdgCRryXqTkEvoEEUTxiGHikYbDrDsOs21XzzbzJygnRINhyXxTkl/+
m9rXp0nV1qiAoawncqxDBvOzdj26FBDKqQSfglSbFBmdL7teeyPdF5f0dfzWthco9TTyVgwwprPX
BfIdZUoKSplDGd3ouBcpFAHKC2jRRNPbHiliw/gAcx1yjDW7hdXiC6iNQ+8Tw7oOYwpyYkJk6JeZ
3q9VSps/b3ddXyUwLbDKGBoJnY2rCZyoZYbTdj17ziKXMpj1SkGhMNitzedjo0jADlswYkbakMql
P2+Tl8CjbLHNLizVi0PqhYHiC7jQATfBulaM2PISOskpa7qtNp769X1WBg56WQBsiHAeRFPrNRAc
mJ6SHDfs3mH1MLdYBf1VmGLfpvOCiBJCwdZiJAaBZHzb3puyAyFMNXtkCg53fBmAug6fMim8h3nV
Kppy82Sia/7vx7kD29P59Ov9/HndnJ/+df98S/iA+O3n261eM+3r5DUIU6pyZiGhPbOQn7R5WojU
uXIvJA33QhNAkF+IbDa3kLPcQlP6+P5l99iG+zKl2S+z80JhJvxybxTZTzO22CLR2erAvVCcz4yE
KNz7+MDukCveR3a+i5WhyZ9eu45m1zGlLHZkyLJHr0pZ7GyQjKwsxmKjOwdvHbvRonifzjres+vY
4n06V0Ow3yXm74or9ocVoMl6PQ4s4IUMr4XcFz5MCfbgDXkh05egqNiFdKmF8EIiSvauzltN0zPc
QsayC82XzPXPzLBnPwGEd1m0Ha1oWK3oChnqXHrLvo+WX1CK0rEiNI2uWbnRMvIy5L5iEaVkb738
0kLC8kc/H1l2H3q2ldUf0pdS3dkj/p4J+6WFIrtH5otvxC4kyGa7rioSkdeNX5LHwMtjKO6H6tx7
xx6++sq9ZxVRMOR+6L4QCdZKC/2FDxviIXadLzl6SrBSbcWXPEbLW6FQLtSzi+wWSf0lFcK6nkHp
r0i11LzWt197I9YwKlVYWNWzZ7wTa6hcR7yMZHVj0OX7dAw1axd9tIVYdxQRaxeDKp1Y1bn4vAsi
xJc0mmEjs6gLDWI7X8ZqEFV6IL2Lz3qNIpQf1jt7VjUGU6q0zpcF9naYr/jnijdCJn7Ja7S80g9f
UmmSFSKpvmRf2XsWpP3SXktWyUrxFT9N8WJk5ddcB9Z+CP8VtS9Y++Gj+9IeOT5eNF/xHTR/Qcqb
1oNANK9lfXloHcso2NMXRB59942k58MGX+517Nx9VqvpWIaMnYUku5CUdUDUwKbhrAnZ5o7GkUky
oeypG0VveFLwq/MZDtXURt3G62cE9vCAYBEi7F17/kBJ21SI9qOa5acFT+Hp+Px7lwJNWgRme1ZD
sWH6pFsH43bNbl9lF1TYStKuppgLVAerv9BnISJKt/J8+vhBzZKwiq8oJmhvCcqEe7O6glt2qAZl
H/R5FEg6Y2XGxPz3bae/ICP9jfy+xLMGHEf3WVa0oM5wITB9d+cRbxoVh8kVB4y501UbtLkKQeVb
qO8lRwqXHCmuHGuRhOtU5ljbfKFWfrNT3Khcv1MdKpzTYX3C1qMONSK0c3CU/+AQ/8G3s13Fl0j0
Jb7N4FjyVjvN/4RpFwU1uX+IiWEc1/BpwWBF2TNS1JOvglgUK+9/krEGvJpr1+K0hK6TQ64GosDm
A4h2YC3XU3NBZ4KTOkP7NlWMF8Ss0p1mE6TaGM+zlKIjhY/OZ6bX+UxyPZtned4nlkmHvODa2ei2
xUZFYVqtrVGLiESqDMNkqOtP0GyNss04dB40uqKksLV71y3iq0TJdLauv6pTbiFtm9g6T8tcNSxT
tts/plYAKxruWxfbhKvRn8+9Fp+3p+/bTruHKFCJz9hcBKl05fiJLoPJdWbzeTmMQydAQwPfjk4a
bAxYoak4+0brYGAoYNdyXXoUnljYfM8aOgNDCic8tk+E3dGZgaebJWX3OQSD33q4XG+b4+126bD3
y7HPeGQXanNXVae1ejXC6arUdNNGhBUVGh23kO3xYymsuJzPNzCWLUiOjEpcZqTWpGo3A10MtMHG
jJRi0maBdfGu7BTvkkOltRStDmDAi3eyajBtmc6tSCNVHS+5abcI7SDOj2kz+a5YtpzsD0fHajW2
aw2XCkB3FABj/ap3cUjK7fq6RyiyGtCWKQscTgBjSkpbDiVswRDXDzRGTkFVjNQs/pGoqY/9Qtcx
h3w3ppna2DDBDLZ4fx9bAPE5qdYXeUtU8mgZzn8LWkCuf4hMjeCdYH4oGOagpa5b35lCIoq5CW0Z
LBC/VeNGdXPcaFkBg8ibhvGeGs2pJO4B2fRtF2YAKxtjvjAh1KIdDoGZUVtHWApHWLbu2AJbOCJp
pu3+OZ6tRI6uYbGLCqDqzOf5whYrhJ9bDaMZO12rzrg3XUaMRZ/qaeJK6lW9PT3vOwNXIJ9aic2q
js6iWYBLB9qALTGUqR6KGtfa6ArUN8EJjebNPcAKaOYCV0xA3EOFEFW2acjC8Yfkfbu+O4ZCuQDa
IUAWA65oFSXqre7iqqIn1MFBm3YTiMUd7PSlEq3CFYqCokl3oXDc5bKN/4EUvYO8lWy2hmsN2ei0
lzGoDOfeDw1PPtbFGm2HGXpBLqzX0xbJWfD8/NLHxQGetxNMG/bWgATYzDiUIZFpli9PKhZ7CbOR
T3UD2k/Z2zRa6+V8eZ/qK+7/uDlc88is7eGUytOejufn3wcv/5Kin/Px89bWwelOinsn0uwpZQNh
x9c+nb891v/2drh9u+2vt2F1tJR4LDVuRV7o+Xp9394uh58btRuMwyAYL9vnfUpbc+vcuYouYQfJ
olfr6LXrxMc6CRF0o6CrXbV5Y2HU4Ow0P03nOtRJvY/J9MlKXPe3zbxKKrG6nT/4Ne7F7WY600kL
zAs8P39ets+/wFuoxwopPapNtYLagWfl41lp8x+jeXg7nHaHzeV829724PE7ZmfG+SpuNArP5/eP
4a7v5m24br4/RHHQAGDBeUezcYjlgoquCVaZd8Rkc/5YZRD63dSP+nw5vB5OYBEzbyvJwZNt3Xxc
9i+Hn2iD7gYiV+XkoM5Xy4yvsUra5hdK2Xw9asa/nM/vm/f96TM1NgUPzycVGh8zONGf+zxZBWzr
vXDUTIpsVIjDJlz3l+/74fqdzqkl6rAh81mD/Q3zajnoiKMn8DEIyMf++Xb4vv/ign5eMIxV1ktN
k7YLLDF/4TREtPrCf49GVbNGzRQ8Kxff++9ZXs7LZ46DG+Xj+v01X77rFenEeyWJG7XQ9Gp61Imv
+2Hft+OTT9vn31NzluEykhHgx+0v7lqL3B9bFzyoyQSM6mVjBiu+f73sB5/teB4++3Aafm5z2/+8
DX+72d3AsjMrKqlRLe8COcqM3lUCjt5wJqElMdd+cTafp8MNLVCRz2JDmE/jRoFFZm5eFkW/NHGs
AI8LmIIjOj4/PfzjMDi0WV3oHVjBlmw8M0nCF7ZyZs+lPIo3bY33l6mHLL8QIbymkzaTu/NxHsz8
5n37kRoE5QeHbSn+5fQT4B1JEV9CTiYLUa8DnicHFR66ePEeg5N53J624MRJwUOyfVq0F9rt9x9g
Ed26B4tFFFhhpgUmu8etcNeEUIJIAWl6MSvGYxucxc3kLObHxhGak4uxOe1ft/mW/AXoOEs8yRk5
uS9x/wGFVrBES6bd+t/3V7t/2pX7tklRxtYrzG9/fnlJDuD9XdCrEHsgHhct6dfkwA7agniRK5a7
S6Qr+MHZc7oe6PagNfz8SvJRNlEeVNYiz2+H4+6yP608ttk0ZXDTLFTj8/Hw8bFH+25JPBIe9yS9
2XGSzdEGrdr52diRTEgtRmgBXx6dLY9uzU4TOfQPObyri2mTt++D2UWLzAERQXbq7yAnhj6JiI8c
1/q/+dpeny/n4/FpexmDy8c/pjMbvJPdebgxyU17On5e7gOawUgIEgvPhTDzok+ft9uZUdzjAnNU
TzbuaXs9PG8ey4DGGrbMOY8SfrmN//Xu8H3zNtiOvyQf7MjtlpdxPj2CDKSnB3m8HZ7hs2Sj54KZ
9GzPyRuenS+BFmOWoNy+58v2+rYZ/IzBBRoefuM3IojWyOV0n16O5x8bsuT5/elwGi45PhbCTMwg
+aRXd7tBSRxeLoMob6rXVGC1atycr6RkcI9vh+1xk1Xb8GLgM3Vjrvm80H08+sd2lzv45BcDDXjI
e9mG9B63l9chsLxv4mXQboOHc9yD95vhsqR8rZik4ZqY/bs1Ek16khPbP7/TIM7DF2472+RbIDMV
gnHwemd/fLOb87zM++F63aRKhf37sEngdchUxxyOaNuXJ/BaqqUzHsf0/Hm9DU7x+uWaXR4Xq4zF
Gc/74xGoo1YfzHql6yCeyQk7f96uh91++nywKGEMZK9g8m7HBfff00FOWzg4GeO/TcL/422/B+9K
ieYif7iQkR4LuVaX/CvXZJOHtwZbqUtCwXihEpKRkoxfVkKk25FJIGF9FX7ksHrwW3b7y757ziT1
SIIx8pXby/CJ54/t8xACg30jFzQHrFOfRKLOxsP4qwxqqAbVysZLDh+6n3234cyHf7niNofY4iMs
5DwvejglT/O4H8L5jK4B6SS7GmbPp151cOr220vOFn5czoOeRlvsXOtN58Uefzce2WU/XqietlfF
m+r62F4v291hzT5KrFzfh+tz3I+nfxrE6XpDqnE50jCt9mP/tD0d3scbkh/82/Pz5zsnOhnsMgQv
cyOb5xGoH+aF5n/eDBdnM+qP1G318JGbgQOnMs4hjk+4gtfhoXovSZWRtflNHNdyxOee0c/r5xBD
UKSZLAkW83MEYJNJsNPhHven19vb9fCX4tVu583LZZDO7eftjN6w9OmnJZvbtxv88sv5F1Ll45qB
eIvWzfg8WXX3edmOO3gcbsw+JUHIy6ff7G1tINBhhn+mY2q++vZ4vN/IA4MCTavSw9fpj8lduqXi
qNvhPenil8/Tc++sSJxMprU23+12uxyGEAK/Fz17kwWAX/Hz9EATheQXvfMN8qJ6TDCPkUX2dKgw
8epxkqJApCjkfts1fvYxDjEbFPlw4Z/RyXrfihDJDb+3/AafJudPS345hfPq3RotK84GRvJKQosx
IzdmMvaX8yzNk606bcZ/vU9Dp663QX+jV5VkbT/+GevXTZhyXu3jbXvdozN1rSiv+eGn4T5D+CLO
QhdT2B4nhP2hRzPcfX3b7gaHdJUKc/PbJehZL77zrrU+hzN5OZzQ6xkRyhStWHcjNFpyvra55tI6
vW5RhRadDzg38bXGcZ+NlfW9W2KF4zVfbpUG0CQ2zy11rdZrltRoSUe2UM5buLwog5MN8hPT5ZgP
hLoh318nL32l5aS8gJno3vrIh8ZCnxjJruVTHUVvCJ1Ou/dz4SIgpW7JOimYHZzXhZ0cHOHtxwFZ
BrH6FqwSV01wolyxeP+6jksFZWK+ASEFesGresk+/GiEbUl/Zk9cPj9SqJDM/Do9NAuET7bLO27n
R7WLZCtypqG5YTglPB0puZUpe2Ctnj41sxE359vw1+zPIOlyqsTFgQn8cTgNKhxtPXmj5MjayZMd
woHr9WVbSDx6pVlW864L+lnoOV2e/NJslJ70MWVon7fH589jDiFHD7nnUt7nnmapeJQ9tPYrJUvS
yFAk8sQjyilBo/ue9T3IR7JBIooxMFeMp9V1s1yZDxjfb7DmH/sHarNOj3nRSpUkJb3y+fli60zK
GQGabYJ3kkP1tN1RZ5TljEzCQhI3OTupFb/zx/0LWisQ9lYKp+2EVLavdgYs0GrVd9o1ehWqasFF
KwlA+Wp4Oe9bpmkbtG/z+yH3IhADp9wcsY4uIzrDSM4w/3FPmRSScH07X265IXgvWrT0IJNTss6t
M0hbMOE4tSHT3FkIBk27H0iWJP8xEQfSI/Z4eCKklkGljYt8njanIRS/fqQE3nWff/Z7orb8GPQp
K4nGkCiXNFJLyyUTfA2d5y31yuZ+JI/nldrstrct/7yelVi6rROZ8fG8dL0XULPuSgpxImHNC8Te
AlqVb2CqLzCdLyDEpfx8tYOyu4ValLnUegt85wUUDQVyJ2byCbltuZA9MSDeP8kJpBV25+dEq0vl
BugtDEWPRv5WJQpSdGVpPspEU5iSSUQW8T6Q6Jnwdh6Pu87jJKJSWen46vdV7/0JiJL5PvHx/KBM
DgluEp3rYIjmzRwdaeaT+LF/+v1w6x2EJWwFlQkndpbIrEFyUv15CDE7r0I8LZUb/DRepbMjhCNi
sh15rHB9vhw+bukNupJFQgbpMpARy4PxXcEiB+MeXkV6fvCM3nr7MBug+EBRqFR3pJJY+mQEB0v9
WCFBvwlFTDySiU127bwNQf8y0UmUn9LT9qL4FovfZDBYCYtNyM7n6bp92XeXt8zy4/3pSa4mUV3I
c2PJDbwcnn//tULiRIm2VqJie0qAfEGu3pq/YfBTPpIpFz09YFwTqSCKqKdHQkmTqG1qT5MRco5M
QIBUZmFVOyaFrJDHpA1/1mt0j0KGEuGr7Nq3zJP9+3/5p3/81hMMyutyj9zJF+S2c6dMST2rr7jt
+iCE16LKL72LbecDiXdsHj5pZTk6UudVi/w2f0XPE5PE0bZpwUrquuZbz7uQ6Kmmuv5dNT8fcu43
7MntL+1WbyNMwQXXhqjIQS72x/17jrSx1q+ohL72BTofE8le2Ly95QK6qwRUIVNG1sa3d56EJZje
Ror51gybmLZghV/omnAp+YqOOqWmO70E8ake+rT/EqJ4CV35ZbEn2JQumWgqfjYKh9PTedc3K4Yg
JC3L1nMCNClPSORLTaKM3fn9X6/rFFWRQ87WzdZb0dPJprjkxBMiMtF5iflbfAZwawvbE2xXnqZq
+4S9gEVxl/zrXksoOdWuJaJ4Twh8r8Y4QiyiyM62mFJ910JeWMveUqGMyZd+WE+Tk0Asp4JaTlBH
SkgUMheNzsagF1UrkinLibJFUNyzyaHUXG6BC3SuLElUJLc5EEF/aI2ODbGlry4bQXVP9bkWTkgi
n47+JRkJWr6XFrh8Pv3qOUaxdiTt0jHp6gviVyRTqE11FD1RECXdvQh5iD3vafCwIIgXl6JrkEkZ
cBZO6s6+f+Q8Q8cnmMUht5RxxM1r+rE9vQVtUl+DzhuSVDqxSFkyek+L8n6HRYzS205XbmclFKpr
R2iFty/sSBsI7Yi6LISM6Csi6D0REzBuk73gUxGPTSWOxWJLOlEEzY3FCgicsMjOG5AL7/ItaUCJ
HSnXlMOSLttS9fdUd1VZpJY3rSedhHkQUiuERezacRkppJppioy/1lPfOJLv7oQoYdkanZddSFIJ
CEWongNPeg0kr8IiN6tzwciW+ixaehnR9MAd0+JQ0mRDz7EJZXpSPdinw+9v0n/9zldo60enUjN1
vHVi4pw+X6/n9/zI8HeZIbfbPx+3d2Lj8K/SPr0cTttjYhEc3oe3bP9OKjq9l4+EIl2fuGTXz6eP
w8/9cWIEp84MOW+Jalrzivqxok/mdNiBe2XuWDmf2M/by+HKpAXzGuqxhkyOwR2de7zTWDqYXye9
19iA5m1/eH3rv595rJ0U8Vz4PkT73w/7H5vD+ythR24Ek2vMa4nHWhmMeaw1Nl/PrU/f97vDll3h
XoAQZuJcNQL2/fyXw/G4HU/8fNlPf3P8lj/6+i2Rt/If/+/Dz3/eX/j2wloXpR2ajPz4BsskvDJV
+9HpRKuXeOm9gCsL2ny9yrDAtw+0Apkln7VNcwWWzTa+RNUzZ1zifNp/uzC54fGXQ9lOhgwC+paO
+co/SqaAJGxy4jW1ThDvXtXDcQQW3g/XZ/DWrizLCNx+DbIDfjmWpHw/0c7O5/en/eWVf1DNBHyf
Q/ipxP7CFpyPb21bbz3u9fjeYLNVa4xH9cU9QTW6rBOjLzAqGfQGcw1LcuMnokx6g8FPPIFdFq0S
ivZZ4bevGrJNl3X7AUuCvKLd0+Jj28dmK+gx0mhJzDpw+d74pWVHN+RLApUDmXNAl9gfj/1DU7OI
53SqZsQGfEBT8EayswSP+VZzNUa9g29Xrf5bT+ef366Hv3Ak8/HLmx0WWy8Afr0556hhHsAStixj
jaMd3E2uzuDI7G/7P56PYCtJ929ygQZNs7/chievGkzKaTY5nX50EKDrn98uh9PvCvx4aG3B/OPg
vemUnFlyUlHXafen84/r3/0c9AaSIdtcYP5t8NqkPpPs2WO3wZaRZs05horkyfTWf9o/fR6O6LVd
ZcyZTUcf3uzTPn+4AR/uyw+X5Mf/JSFu3V13rlXySF6/vwPWtSrs5/e34P1JaaB7KOvx0XXbH5q9
LqcfT+8/7gAQHtpbcpZ5socrZMDzm5g+oysC7SYFi69AK4TSLdbk+q2TBDK/IFM+YnUW3QVod/85
1hxfYZADpHZ0q1ybfP50BEgFSCDH5+N/vpw/P5AQ6JYGyb7S3zLdl0bxk61a/OWbo20TrTtQvjk6
eFW6tba8fflxqLerqVfN59HG69ZEk8froz1fuoqTY/39cMpP/Px2ezmfb9+GWPjwevqWuir+bC9G
WyyT80+C/+2W/uRfI1b11GNAOfz07tthx/4ecTiUehz88NTbfrv7Nr5v5kdzC5Bjz+aOxLHXb9PA
hG/n44HvmuB1PWTPTy8xPJw6tn1M7/Gvn9fb4eUX9yrFgLtqBPf1Gyzu9pqYv3qA87d7v4W0lbtf
p+374fnbbr9NDYC2N7CmiK1JVtVHjS3twbGWhm0+oPvpXJIzzZ9veyrd5XE0p+33X98ur2wzWW90
Vbj9EKy3aVO533ZVMxR3fzDv6vwC7+wShs7kS9hbcaTDFmSPlj8B2j9DlMOir8UOANm0Lc14v9F4
A0yF8ah685+On3u8+WTUIm3Bm2/npE6ezrcb0O209252DEL9FqmD4anzGrGUwmIjB0HonUPTpI4d
Gb8dTrs9iEVIn4hcLyRbZ/hrsFHDBUXfoG3TQE0vkTDCVMw6tj45Hz/fAThAms448aCuDzt6P5Ht
dX88nHjVYOhgiTlCHKTq0hEp2tpjzkWW+vr5bXvhL+W8QKZa+9Z2fnxePpC2JBhURhkmcVgrkpo2
qKCXKgWpfSNJO22Tk7zfyRWboJvxBn2crQka3785PePnaKLvXzB2x2DfgYxQszPVojqI7b99brFU
K8ErCLITvHYQpZIO9VH2ZJlOcSOBR7ZQKxweAqSSvob0/e9mn/8E2doC4j6sOhA6OiGXjMnCXD0f
t6kRLfNsbLah+jmbKPbzbaut3EKQ+c0vlfv87SPACFw/Y0uETutKp1+GYAlhpJpEvaR5TVZiKw6e
6gAyeGz8+cMOuGqqhXVUF+fl8/ntetiCe2NLv7XpGlz2O3z7jGodX/aNSlXIquMqYLO8Ou68SXOI
YcO6AVeTYOU6tZct/bUMPX/7+MlfAtWK3YmjMVpp/iKbZo/F+2aMv6+AgdctCCsfxgg5s6dArgKx
Z/cvX+FnG+IS1L99Ov+4bPl7YCNvC/P9Y62gaYEthXc5nD7w6UTrBrT8IZiLI822UtrAypaTC95C
lZ7l4iuuh+MQf2H3lDrahjQlLSItaNLpdN4sArHU/gkDSf3STq+8+NvmmLr5S2777bHzHbaVUb2/
RM5sfsufxFoiS+YHkXix8Pa3nYBPeUapXcqYlYUEYqvNILULHdeIdqsMZW78uso/k00oeraKfRfT
VicRF4od2TZnGXfgbVXYa4kmI1m8SQqGOGcVdFAMeVazQBJZYvsXjM9bxrG7rPsK0iI0R26aaLY+
smSInbdujv0L54IPsEqNcL8G2T+n+pz9+GCZZH3LpeQhIF1GW03F1HNwVWQuJAmXHm46u5u2BMeW
XnrHU9FVU0FXRJ7rLrb3LU+93lR0sJqMvdfiUR2TrxaAOS0XsO068bYWramwVJf1dp52oyQh+wIR
ZkWZfDHJKtR2vqPSZau/beVm9tfRqunvEm+3i3yIZo5zlOUcKiEPk+YY5MNbJpEedJg856PRaAub
Nl2FW6I+i17EQOdLUjrNvML79nLmOx57Q8kFs3UdMwTpKgI1YkqsX5S3b9r9Z6AU6eH5IluQjgBt
vrWOuYGNSJ81q+252/XedeBs3Q3ZejeaRqDy4TkTBwlj8qS1d21XgQqjna5jDcHeN+DH2wFlJEw1
wdATq7gSugvNqY61Cu+tItpe//gxydme+ppjcSRaPSM2tj4HmLkKbQCCuAg9w0wnytOJkONnJEdt
Dv94OIOJWmcvCeskY8vEPyFrYYobiVeUakVeK2AHOjWdtH2aQaR1nqpvJs6pasDeGp1CTLLHxDCM
yu2yP/IRPKcX6O1ATj+dcThPQp6CN/5n24lHit/izTMkzZg78Ss+QQI0Q5XgEYtYYYo7+WjBtAxb
aV2xXqQQliaHWLhKXeVMWMkEEZ1Thn1Ys/SVZu3+ttLLbQMzi3Q2ylAYr5sZise9mgAt/iN8Cevb
BZxBNSwLaZimiszngdMKopngWsCi/POuOUz1sj4zYmRsbQFZAhtLY0pfb77PxNsbfp81L7N6zYO6
4gLZ75qX6EH6mpwhsJC+ldNgML5Nlk6A9IUC6TOxfp07Qsa/TmzZutpadCJzb1ujF0pPEisaL3lK
+wyvdCAmWYYisgHVZXiFBepkSzz5dHT3dBxz4y8rA/xYhbq+ygTCsDy2g9Q6wOzQHbQqQ5TZiBAg
HoJGwbVqY+4L5MKab9/PICsWQyc+Ox7eez5RM9iu7Rg+DGPZVMgkXFt+PMsgnboVJBZQDcQcZEkz
eETpgzSs0X2EtZJdkkBca5zPDK7lDpVeRC9M1KHlDJZpJA2UVEXgtiyjDcuybk5hIZLUX8NUVRR6
md2HWureOrtiNS5cWv5aCxY3WwUBE7woIbJTOW5TyYFxQ4Nys2Vq0laAPs7OW7coZ1ie6JhnAh6y
bmc1KAgL77ShHPUmkNd5BWMUw8TbrUOvpAcEyZU5BddxqlYwsYyJTef2spZ/ZOjVqrKta+y/VUyo
MiooJEuW8mVEpZhH88KNwh6Bj1AcQZsumx3TTrq/CcNM6+z2L9vhvwaYgyw+YnkAyciB7RdNIVga
e2DoNWOnV5GOKenJ0ANcm4igIGBTjDFj2VAcWNcmhqChvBPrwPl9Ac7UtBDVsexOkBkILPH5OgPy
vL0WrRClygoh1MSHFqRcIupAk1T2qbzJa3SBiK0IqbzPyWMAV7rifjWBoy5sIXU70TTnRRB45ZsF
mz9nai6LVRDQShHaQ5kp7xg2a5qMrCZsw0f8EkQQt5VgmHa2SYd8rNJDY71oWZYxu5K+B8CpVcaZ
I5QBnS6bmEkVlnaiY+Lx5b5RvrmNnUVIIRifLkxEEqDgfRsEozez466IikVBg5gOqdW081QVAocp
XZWKftyp+9WAiWNj297/8ut51SoZGs0Iv0EvxchWsr4kr/A3seKYW65qomOZHEiOjK/PC6BotVe4
mxWQJavLuHw7EYBAz6A6eZG+e2aMX8Eu7WR6NeOkLPB0PnqLLW53kVpCGLQTTYJh+RGJ1AZUmi2L
0kSjfKVrGaRFWPZknlk8R7Rs05Ic3jFxtIKFjEik1xnjGqpNe2hV8rCy7VplD4sP6RL2qaV1FNim
BrvjQBvXrACpkFwMofpmpqa+qSiYckwcV3M2cZLDNWubmt4bf77N6e4F4w8BZsSDysUgBRf3uP21
v3Tn9XpFMpjJjfGqafrxmdCBtDXKsa4K0zWrMSoCKohHUGA0fEQv8UXL4Of2C4QT0EMP20Nvm54D
7wvG8oYtoL9eeYJRpkkmXnpgHTydqZQioFWnKsZVGaRGgUrHj4mWxRA7tHzazMaWnX+u6/F4rVXT
ESG6G9+JYFjG1fAKQArKwqiC2dF3Q1xcAbL0Szd1DdZ4zgD2GKS+YtuQnAB2RlUzHz4pt4/zfXwb
Lk6hZGKVWqgWuh6TOEWTMtcotQNhVWTxqh7zjVQakQq35QEgOnoo4/vC/VhJRQ6RbQ2xKJvqKJWK
BFliPlgWSEV2s3K09xUkyi6Y/YNuxT8cOF8hvzSWH28AqLAuKg/tMr0Gz4dFajhGR63H2FsQWg0i
GtoU6JLKtpNb0KlyUoGF2R45OQlycuUNVoLP4HRwc4N2EQSWkkPYGuRJdg3TrM1ZBlSdb3DMq2Sj
DL7BtNshXNa1QjAEai4Jbg3KJCuEjBS3u2KwpkgxLsVlTfV3aDYCqAq1QGxvmJKAtzW30EoW510U
q7Gfb5u0rEYhBh9TVxXwkfUugB2ITBaOkDU6BxnKL9GLTgodmpitcC7dUCsCqBXZNs2k+plVx1xm
fG6MCSoZrODYkm8rL5IVTAZrpQBYxWQtVnWRkGVcMfuCWRVgayoVSzW9rqxd1YrDRmtAht1/VwiO
UYs4F4PDronNlXUoPG4hQOn7IvMCxLddw96AcXisl2E1FGL8DJwKzWBJb2tOwbSTb5cv+aNG2RY2
d/8GxPWKLXSyKnhHJD4TZZPQ+LZ6+30Z4fr5FvYUUKV9dTPz2k07+hJbnVepe6GwmfTY7N/RoLrx
m6CY6vu3jk9vLQO6rS0okrHVhLvuUAWAOxMq8r3jeNa8COkm7fIBeHWpBC6wud9VgYWpKClyWRna
kyItAeNuWXTNKzRXcKbt1KX/6fN17L4+/I1y0ofmCgkZiPd5TKYgZgzPWR/5x8L0w/mxOT4bHgsq
GrdR3JNe3McdmSKsHp50zhv+B++ztEyRlsjvqfnv80JzL6pUdPzPifkx98A0h6eMDpZ/6j6ZarGZ
yvi40eDn5lMgIpm+Lmpr+K+7T9oxBRlleE4Ga8Gp30c+maKuLT1nreFPIcp5W0idff49IdjHfJzP
PId0j+2UUittkbhEcu6OnrtUOjj0IBHsuZg/yVmIEjxnyHMzmzX9YBxkdyP5zdHkK2frODyphfbg
waDmXVWS7qrSMYLTMOQUxUMR5TsfrWOl28v7HOxJTuc3lTp4ZfkHxfxgmmvx+MHBvXMBHaMIpeCo
WeCiFPz9lfcxfKZIbI+iYxS4GvcZUqZgxqfTUMZ4flOD4ORGCKmB3Mjy7rvH73kJFKkuj0I+XtMo
GcBrxuo1ZzEV2mrwnsEUKkPL+UEXpAMPhkJK1SylFulEqUsVNZ9DGjIDzsGWOmMW7lRPDGSU6DZP
zyHrYHALqYjOgy7SxphBSQGdSDTUTHDNJxiAQSOqmwS0+RysBe/pvS/eU8fS9Epgesuf1LOICuXB
F3pZ6Bk5X14xaBr+2rsQ5ndNSQg/C5sarL0Cioa8qqabmqh7wEsIjHMh06vyz0XFnKFKQ/WA9zS/
Zp6BXdk1cA3jfA1JIJPPYjDP4CzKazGLtxNBeKCeTKG5ZwsctI3AUXCl+p3VjBk0N7KGUrZNhfKD
vQO2SQt6fWftawTyDlVptB+/FpwH1kUQr7LcTWWcAtrXylJe1KwLnUPyMssnma4yPDe4JBopJx9K
N2jWFloC8xKJH5tLEGdHdvCsgFUi/qin9yiNuoitsCZvpzWFGztbeWeQ53QfI3W/RrOsWAFigmht
eQoP4UyDXYElE7IUak29ewP0WaRORXw0ULifH1CEPjLGM7VEBHLtCzVI9JmIwiD1IjjBloP1jMDf
qqx8mM9CO3QjPOOPmEGDWrCjVURBIhgZNhbEFJHxYQevIgIjSH3fQFWFtS4Cf5J694VfOMSR4ASV
LNxQTfUgiCW9JL9XXkHlB70FTKeKhf9jib8FNKg2pQZVs2sfDdgW4p/TqtxsAoO5ApNrmf0c/FAP
rpL35feJ+UVNECgGkaLUhY87GIHK9rXB9UQ58UomBWCcvAz/NgAtM5ygKr7w8YsxyAjUmmc9ex2t
gr8oqmB5hnOCRUGWc+UlVPNlssaCyySY37OD92ORDytj2+MaDHYEvr1nnopGAe/HC3yGEpxh5TO7
2fNVACkJivF7VYgaOBauvE3zNYxCgVvvXRkRzHiOiWhjyK3XBWIhowE/OJiXSmBCGUoADyg4eiko
DqQciK8jG7UqpTXCSHRbjdrhjBDeGBgYQAYRgTUzJUz52BePnvKa+Tip0nAicN8r6Zx/zkvkZkcG
4UrxDjg7AuJJWYCwKUwCABdxDhwNdUe8CagJcuFJO4DRXwaKIpLnSHlXem6wyAhQ5ZDfwWuKAr2p
sqUz+jiKoB0KCFTpas/x46BfLPJhCX5AmLLpVaU0AryoZD7RATjNE+zAU0WvtdQIhVOci66MAXow
llHnHIBEHRQ6BlvtJ4FEgdEdzjaUF3c2LcJ6IGi6PHZylYJzIOZRpaWe3dchHEcGQjIW0GkPvFBh
XDMal9oCOCUST6tML5jUjhEYd1uqJeKhgUiAGLG8wOy6Wm2BQBOMSYbSwx7UOMI2HOe+qEFWooa+
XQFvzKHuoHlQ+OiLp0KRWUDRR3nXZ7fADt4rcCWV4ayYkCBNN/igkYk7DXK0gtHlhjriZAuEADCo
lg0aJS9j8dTsEhgFslixzgw9ngtCKxj8S+YUZOpSCe56lcKgWUjwc0YyZ6CVQ5gPh2lJITQ4u2AZ
T9dKrwAiyZrMwTMzDmRLI02zFni0Ak7PEASQF3VUdUYlEZbiSmiDqPgQFfAJnClfk2Rahh+E6DAx
f7HQTFpFYFRMdd1nMEUNhgppNOIQBnqGEbk9w3VXxZYSX8JZB76Pog2lI6klQovIEZIRLEm0owKO
ciR5iNKwDBG1BuqMaIoyzhkiGXjlSTxWwvtGhgh0TIiMaA92EylC6mHrMqFvfBAgINNcbkcNZhz5
kaJiZFiifEE+0HKZ4BF8BTIaDfOqTngTgQ+jOARHqWBQCGhLhT8nTZTQDuWeAyNuo3MOBNzHdtYk
3QslIISjWwCssU4h4N2X93d2LIbDAK8ZNJd9HiwoisZ9mfSMpX8OXEOrS43xOPwQeR9vML2WQXsl
iOIHUyGZpLUTMSLyiGVAaSdRLpj4k6Ub4yOwZyT94TMz7nF4LkiknAgnqmQbSRUUSg4IxeANxqlO
PK4YVybD/AB+jQzjZPB8odMVCTYSqLKITiNjT3y1lAQzc+JZKpTDCgQKLVPPJgTkBpGES0nhisrD
H6RElQLDMQGkrIPlMkODhBpgmWgoUXi/KmiDYiVdIiqmdPPACRrBYAAqAsQhEIQ4BfXWFEIKRNQx
/qjxyP01HHSeCGrgztP8lSv5LSn6BPviOCBGWQk4DrKCVB4v6oNERDrrGW0xHeAWnKDkzMSYkQD4
uQjM4VsLQzvDEUBGnxsYbWrTHPX1rLUwjomMD5xVG0hkkdRnloBZcgzIevsouIzbEKchZ9Z7TlJl
CCAlIRm+kfKD2wlhEsX94LBpDuq2+fST/nDFNwIZp+S2MqkYBDqJyjr5Of0lNExHkRiPjh+/ZyOR
RYwllUAW+U/E/woczXTwZsFpBI7FlcgZKN/K2ZlBtUNx4+QUoALDrxnGI823CWwLySeXjl6iFCEp
JYhcrgsRJImCYsoKPiSwwIhfIL2oGQ2ePTdwL7TlcLn8lcBoVDwEQtjXAaUZNHOFU5k+wFbZ+gCt
BUzzaVVeC0W+0KEEjGYSPkYj9CqSq1+6X0PABbwoVUV4njhfCnrCJANahs0jow5B+IplTFiAjwdq
MApNM6HVwArLyN3GVAYDTsOU5F2Sxg7IRQmMNh0Um2RYZ4OMGhiVIFa6Lr2FeWeisCgsiY6jOw3x
PQhHSRhUwGzGOcT/G6SGxXRzHATUm6+kZnbfBBIawdG2B5kwyK11DPQhlZCIoBpLWrMhcUJKxnOc
Q0kYqiXPNGlhkAKvRHQ++zjoBBQgsihyGm8EntMsvJ62BjwYOI2YMaFvh9x1FXjSttxYTZh5iNdO
DiSn1cRMQ8JE+hK8JuCXiAFBX46xUIPmC0BwbIXVkHy20MhvZ2un8r6CDZ0lJ7GqZ4jAOiMQ6UkX
ETQlzWgLsqlacyC7B8mAYD3nKwyhF8g6SctEXknnWxRCyTp/O2/p8KAH4KXkIgVQ6eE8YftXIHsw
aGPYxJO3CFewMJpBVRBV4tCXah8lxLl90cIg2rc3HMiTi9iAn6gVc5skqpf0wTHBhU38X3AJA2dH
LfC9gyzJsYqQcSU4w+gCF3TJ6BFlnJq1YkNzIgjBgqbUvoS4bwA8FOuKUJKBF2hnguYAbwWIgJ48
VhYmTJUswD7R4DkD2d6V4TMqBrbMV6qIyMqqCi2J6tbRgGpCUVZaEiLacBWBE2UVB35GHLCRsKTM
dulhr0AUJLgAUUb0a1z2KMXOqNq5NIXzMQy+kEHpX9fG2McgCOk1z5UneFCIFurHPIV3rgAbqJKc
JZkTvSgpz6y8NickUKMkktEFPS91V0Q0tPlCmAK8dhrWP1XcjYd8Js2M6sc9gwmH4WwxX65U3LSu
3krE3TBcIkgEjeiHgQtFbeoPA06wItqpIr+CrHZJiZgZ1VojaoOr8gFz6tAPtgltKSnnTrvrar4I
ENNQlZ67Qj8hgpjhFLBGhLRoqupcWi6CCgakZhKkxnqgoAyHeabiIsh2pan45EjLuWYr5WCAciOJ
soo57hGNSjrm/EdMAcHljgm51eCVgfjAxTalUDmUf6oL6zVBhZBrqTmPbTgKYJqMYTlbQiKebOQ2
RSrUUMMwBlSGiIgNteGNNKRAF4lWhLqqsCFdXnDvSSJXzYMv77xCBM4KRgdL6VBixgc2BywcIBEH
wq4uyxFHXgsqIQ+lngklRgeiZmE5Zn0wApooKjqy5J4LeJa6xL5IN5bBXwBEI81hyRBoCYRjXZHh
lEeHaNkGAikbAuStyuS7omTv38DxGyY21EYC7R3rrJwptDfQ3bG4GJoUcaBsHvm+lIZwmjQBQG1R
BG1TUwAtg65BtEvNsaiCA8VeqYqTkZdUy4+8Ns1lgJVDAsO1ANASpX8D4wGnBBCQsjohQy8DQFmI
R0pamGeGpwePUatUarSRaaAB9iQYNRFVQHwRgiVkm6/J/ZMW5oDo1S2aGg17A6JCY5n0yFhkBPxD
VQZqpnpV5FkWBSAEDDQalTFy/awUkuzhJjkOn0kRLCJFBOYQh4sLxEZxxb0OZHG8V+1aGiMQqTAG
7h0nGUXAquRwwEGhAe83uHZjBRktVGiGgf5zDx3kVAoGX5FOWRQuR66vWGIhA5TMMM62jMk9Ahta
xfVzNIm4MMFyifvRjQFhIeuQKhMC+ELLEbtVREgJKa4ouweMlQCI1l1yYdKTU6fW4/bjmmbDjH0+
Hw0GE03C8D2DFZ3MUWQEzWCuFCNN45O61X778aQGT5IOmXokHaZHz7e3/SU/gAbBp7sp1B2JcWXv
8f315tBT4fFUCuemhkc/tlN/y9sbaVQKVomPVTKvW4rRQlyP2+vb8fx6Rs+6+VljMnIhdPUWU9dv
sMqdkZzjkcd8ndPw9fvdv+Q2legVzOPhFBbZ8eXf4SNq3m0/jzkYfk+jp/z8lgS1RoNGxgfNfEw5
8W/I5yn0g3reXDKBaR6chJ6dtzQHT/rx7Ng2GG2PmQUicSrtKFbv5+950CH6UTn/6ITv5Jvwdril
zR3eOD/3cjgex7HS19uwxhXcrLlzaXKAJgGfn7/cwIAX1WwkPz+8f/+4/cq7ya9BGrETRH1e47j/
vofPh7IDev38+fMGJ1cp0gM36xY76pZp+/bPeTjLcDKXl+P5x+b5ePjYPF+GewvymK4Fwr2f/zK8
1Pbb/ufHsOh+9+1lezh+Ds/mNZ7Pl/30N6eX4+H51v5kk9ef2v6GMSDyU+/tsc3sVfIPTnooP+gf
NMzhan2+n9DvmeL3XCDza86fpx149D4FcvhLiv6k8PefRO95by4eRj1gx/e83ran3fayg0+6x5Np
l6IutkaBBwXaUw0elPMvJrfsMZQu90BHv6geD8rkJ0s7WbXd+T0/sP342J92f0zX50/7p8/DcYc+
fN5ol+1+fg2yBHrWz9+etjvQZ8/H/5w6uoPH/bx1KaKZbMvjcfTDsXxyvCiH03V/uf1LUvv97/bz
LubqAFsv8Xc/h2OAK8jy66eey+/by/fDKT8xWtm7Cnj0c3477Hb70zd+bpMhkczjBUNjst2wElgh
yOoO0bm4j7faHS63X98u+/wPeQwAu+K9cvYus65sej9OfT6+NfuOG5LOzOeWvAndeP7tOnwUv4Sa
jz5FzyH0vgl8zSwCJjy0Gn2X7dP5O9rg+YgSXGFi610GR2/367R9Pzx/2+23g1X4vr3xa97bpOZj
16QvetkMnOssb4jPn08pzs02W2PDNsnIgg+cXyYxSWIxXXF0/6d1LmCj70z1LIjDitGBF4ILhVnh
JBAr6sWJfR+lh79Vs0lKeVXTvBJ5DMf9SsAduvcHf0i07K7XuWJSFDJlyyt2+UyN4VPgwN8xW5yZ
93SzXw4/97vN0yvY4vn3Yw47JDMI+Ccvf8Tsx9TwlZUaLH1+lr4MfEg603KpVtlZhIa0CcwvlW0d
c1f78ycMIYHlbZKPm9Fs3M9PODOEw5K/UmRnXa+ToW/Xw9ORCzUMYUdlUdAP3wQtnKald5cV5BaG
6hY2thJMsTAkAZnfMkEkneW4OQiGJF0f1qGYzlTPteWPhOybfBTUUjXztD9CPUWEzT5uwOIK858x
K8xUrBXE4gXeenpOdDXl+bADz+vSLQzo5sEjEbK8eGaxF8mpB3sxS1tymZ1Fb9K5a0KUPpVp+B9P
Z6DZiLMcHoOCS+Wcv4ZVzqa07rbxAqPTwb7CrHiSdQ4emeRN1thAw3qiYRNueocjG8v92+fh8juQ
OE8iqBQfi6bjwg6HMoQll+V++E6PpA7I7rxFKUNmbOOUtoPhYQ9pfouEm4eWl3tBXq4ku5obvqzQ
6DAYuPekf7gZ7KmD84ml1oZeYY7se9ITiOJO+9Rx67rLOWIIM0gMzf0YRQEpIFZqWC0oxqysMtJS
FZ/qfUtxZJvAivb8dUk+Y1wnEl1pv4+MeZjPsND0xzdkKGSBX9jQVIlJwPhP8+Wtdby/t0quvCm2
anZBG44+ewfL2M4K3j+DfuO9i8DD/OjutQESboliSFnUe0KtCOqvb9C1UK1YCsb0HdViFjAGf+k6
vty9lP2hp1T37S4wQtelA9uTLCBTtnAM49KjusBbMu967gYil/O1RuqT5DF4LVWRSSJEnVzxCfIN
98GHY7RJ03g2lQGg34xlomJOqHLdOqe8D8ke2aJ8QHDNQccH45zzycZ3LlCUzm0k+s1AfrNoIMf2
Apvedf7GkvQ8GF4t0bu6YlfJg8F7tKtiTv9UtbtpqAV6cBaBcspP3h2UUPS2fNeZKqKYbvXTps4Z
rpwmmTPVihscMEmOJfnDsiB6eFV0Hn4WATIve2Qb4N0xxU/SYnEfDHrX+cGC1jLKXEDb45mTdIP7
oeCdVORtKwY7S0WeBHaWgtxNjnDmpYJqYBbYnHIazyR6xzBnp5+T5TdW24PeNMyPVlQVI4SHHxnn
W5lDnVgQHaCiFKGU9XJ8HlQF85NlSWaqVkYPRt9Kyj7Y2uhQpCxVZUVMhSIkS81VKUuU8g6qkD5a
GeQcPBjPnmki/aL7qW15sedpMJqbJTJ9py+tUCBERXhRLCMIXiHdpaIqfo8QVPO+IkEI862OS1WC
NHSwhRIiPHqLVJAWlrFCXumINLQqzRfpWmC98OgXY2GFVCyrfaDEhpKfYQuS5Dd0q7UqzTvp3KfR
kdzHpY/chcxzJVWJDhk/x1kix/XIno4ylqyXeWd1MHBnSzUy8x1z1zioLmVb7sbmSlD/CCTsyDD4
wNznOJgw9Jl6/kltyhF5JiBFICTjqo28OWjjS0tNZgCwrS2nBx0jBDZyXMRJ7kotQpo45gou+CjR
lGWvBqmQO+J0KT9zj6VBlj00mrraWtJXYjgTpIC0KV6WaGduBuj0sr7UBaWuRPfLV8bLk+jCWyRA
WjMiO+pn9JuiuGClvURKxOv2g8ZLBx3owIjP+KrQadfM/qQ+vUiJCMaUjD+JtieU2yNLPxgJntKF
/0PbESloMCMxfAX73Tpudsz0i8W7rmpIMv0iF7eNwTtUP5q7XtkThr9a2UzSizAV+yFpd2XwVvqH
KJb2rrzTpSQgFeQ9G4UnGUKxvyd+xVQ3gynDI38XEc9smTxyJfPXgSd9kWnxFdvYgiddmbzTNWc4
sxO/8fTE6ezmfUyKMuWK7ruRCF6bH4fb2+a4vbzuN9+3x899lxy4bDsyMs1O37fjhn68HY6Hj5F5
tL/exn+pdr99bG9vvz3t/3LYX/74efm+/5fzb0/b6+GZ+y1DSPHu4agNCz2f3zPiuf/t8/Sc4Lx9
Xvy2v5x+22UW6TajoVsuIZhRfdsq5FTzSof37Wv6hd3+5XDa77iFbNWxfDJb18Nf9r8NK10OT5/D
LvyWIXWWjm9jox6GvMvz5Xy9jlvMvofwreqtYZH8IX+7vW1/Oz/96/759tvH5fyxv9wOe3YxLX2r
PGBYLBFT/5y/5WN7ue5/e/68XPan22+XfWL/srskXbNhWGPBwykl2IeFrke+RYSMBrzfn9JH3i7b
0/XlfHln17Cy1RqskK+8yPBe6Quv58/L8x4KVTCtITrDirf9z9vm+fN6O79vXs6n2+Z43u46N42U
kFmVeYmPE318W5bz3y7nW+Jy7Q6Xke0LypJadTT3q3k4HW6H7ZG9jqas0lWaft1vu8v2R9793963
P/9H4ub8dn3fHtnlHOkHlbI1zLfNx3j9ff+DFzAXfWM+2v3TrrfL+fd0mbcvL5m8zH5kdIxgXfMe
X7dJ3QzneNnXb8q9mGr2OW3dy+v+xl5I0mKG7hb9uo/L5ylfyO97/vNEoVIf67xetrtDkvLDaVA4
H+dj+tjBRAwyz62ljGpV3nf083SLzp83XjMH+o4PvZxZ8M/bj98GhcrvkxGMnplfatKj1FKkl2S/
szmdlyjnj+0hK8CP/fY2/MzgWrDlTLYegOTaxmJ/+8P9n37b/2T1jTe+NZT+caGv/3weXu0fTv+c
/mk4i+P5CkTfGkZQ8/0eK3Qe2pkRdnb7Kx3BlWVkxRA7Gz5t9edp0Hfn19MBfJQ13OkReRi8lRVy
SWpBqVjOHzZdQ+jTONeae1a8zvWcNnh6n8OJP/tWZ4hhpfQu/5B9l7/sL2fsNEiju9tDbeBa76o9
dqtYdnSv7tsO7p/1rXFqdxnPhzduOVvgbJRuTfm8L7G9PP92fdt+7PkVdPCrzcLr8fy0Pf7h+PHG
d1wWltmfhx6eTELar2HrWd1EZ27c5+Gxp/d8/vjFnlhgvMd5i563g5Om+C0yzDctt2j4N8+/s5sj
XW9zqJH6njzZZ95tUaYabFB6Blkb/TiccvXl9fNp2K9h29lKVqNj283I1ulfB3U7RDjf90fePlVj
ws0aP1jxfrDoOhfPl0FZ7lXPvVP1iPalb5D+Oiwwu2TsNqnQHNjX+Uz2+skQV8tWOog/bj/4q+eZ
pe7WZVQmp/Pz4Kcn3c7GW1wIkkXhfbh8l5651DZ2lfhp/zro2+/7UVOyO6TZ2/e23Z1/FN5F/jd/
HJy77gvadm/S269BWQ5W+Ljl34iOji6/reGbnM6nlySfvONqQqvjQFJ1x/32kiO+7iJSda3S0mFF
SpO23i3vzHz9PgaPIhsp1rO3zBpLGRgiPF4A9MoAG980Z7oOQQIPxpBnjQfmmv3H7mKQ7koXB7Ku
0ShmFu3JxaGWjv0+2x5WkzVJ8t5GQZq2mw/pfKPPZLHV070aFuVKGDICwXkV89Ej0SmGui+NdkID
sg/4G4ujmHYrpOIN9PbCf4EU/BtQX/15e2W302ou5q4tz6CShx35NQjNDsRrzjI28RFB5qpf3kQb
3kK81VH/89v29ArO2MTIvA1nCS+vT3zjDiX0SmAuXfPn4/b9A3gPnguO6o3vqlZVtaGvtP0UGmXE
mpdF7tzKQPt8SW827T6GRFWpE2cADXkhlne2NOPUTIpoDGnW6aHQ7LV19zkKxfq03V0/X14OP0EH
LgYGmG/xj8v59JrtNhsKKiT2WQ+twM8Up9LuccSg7cdga89fQVONl5hivgZMwkfHzZ55GGhB0ulN
NR0LuKD5U9noRnadEC7iRlFyUCt16P7fPkEQ4MUS5OCE8oTGPAjurjziyduP88cBBZRRf8UsPO2v
XBV6Ngrl+MW4tJTYB/FcsoCPjhQfHekGCHQ7J3/x//Onf+zHHt4rxmwjoyJ5o8I6RZOH9RBNzTtW
oesKv+47u6yK7rgNDTvZkWTDeYyVTN6iQF2Ji3XCKcPFr4/jTs7E9rLquG1zpnFWxh+X8+2M1LIP
/fRBCjHgvmrFQruNbEuGVTCKSc7J090hIcv5x4WPwqV2KwX4+v2Vd2CUVlhethmF40XFGGStslro
gOZeoRXKKHe/ewUBLucEtwKvt8Pr25EtFRPjlMJeNiyZkyN/RiZwONwSW8K3OkS0R9PbpPQe70Tb
Vte5l+3xmIpwfnsf/tvDB8ivlymlpVMyOALHl4wqpoZJCAe2yKxlgUl+jeLlhVMspZrse1paauYK
EU9rf7qmDk2fT/nf8W8lCpUZV1iTLe8nK4Kz+E6Isp1iFM3HKIGJUUr9l4u58gHwh6eLHKp8eMlT
FHHZvwwu3Im3Cs0OsgUEhTw/cl50j+8mNvnXvKJypuNODYed+E2jUeLha+KWzfS62fMYQv3P98G6
XfklvFPtDFZ9usnl6ASgSjrGLhE0JiMYfI9PbTtpuTFxmW4lSjqSTKpNAYOdHZg6Z/XzzOeqqh68
ATM2umG1C2W+3rWhL6h+rROM+q33iK1AzRtE6CgpdW3njxsU1t1hHd7rwusspcNKMCRrmJwJBViI
AnaFQPk93pTi082jcQCRqmYzndWJj9mzFQcemVC+mfwac8Vs5isUl72RXDicknAf91kWr5dnHmn0
rQ7RbNSafRMQrOpO1jJrw84iuq1PW6yMn7+dP28oPLSaUWrt/NJ/OfN5eSdKGZ9pUtOdfRzkFqWI
rTcNTQ0DED6+I1kcqiNbaY9RxaGkRzS99OwUCU97zt9fH7pkkVExXaCrS1KqmYxp71mqh1n7OL3+
Ngr6z5HTdOUja41QsJZXxdMOalhOgdhg5MXy0QGXaCK6d//zcL1ded3rvoAc85ixsx2Ab4L3AFEg
dDKw9Or+6l9d284O5ff5t8/tLsVMz3fG8VqP2K3AMdcRAI1sTvVtXJjDqXNfNCME+fgTr/QeNCeY
cwgWnxNQzseczptVuXCET1hRbr+qtN3TMTEIh/vLp5irmV9dqkDCHRElIrRixfat2/Imz5i1jOXk
6J4+33k3Rax0enD2wXGB0Bx+QD/Qt4Z+LjN1EAW32nfTw7UtWcsZi730z4P212PkG8FExoSr95Go
C1NFSPbLxn/DJrEdsTFqtjF1QiF1E5movIfdMYcubEKhkq/IIeSGR8ibW9YK5/jhH66UzpKQ1Jcq
aewqbX46ryTICmZXCAm1Q0Gtkpq2x4T57y8vKZPUpcJYzLDZn3KDm/PLC0j7eYHci4LIncEkFhBT
BZRhcGqE75aTUyOcb1F+GK8UfEUiDd006/4nX9oRPIrHJsLIWhfMVgRp0UOPeLdFy8bkGTZEGCsg
2BghMsVHHD+WpyXbEqWd7++D7XD+2J94soPuws4jofWPj39moc3WEFzGNGTa5WrLILCAnscLPHbB
+r7/Xzw6UxSU+X5IxftiNVne9IphnhDnxJHlrMwTFTQHhfETtbRaRsQw4/3jbTgVaPg8e4Fapzon
LunR8rGyFLIlvPU7D5aUfT+lGGo3xK55RFJw+AtblzQlH36BmTltDK8Wuz7JxspuRuZeSgSJZ5oQ
xwpwgVBXc8y9Pb3yWRXtFL6XnKXt2FlXmDbReLchjN/vdyA3YgOjFFuR9+EVhgG2vVU834onV/p+
dcx4Gzs1JJYoi9zeTi3TUH1Krfcd+LSE0LLjxns2muMizmhjTExC7E1K1cu7w/hEGY6PWBvWglcD
rKtsIpUF6jKoguHDAPDCFeZmTBiEMar7LUWtECzIac45LsQ4pR2v++GCERyXJa4201EZJ8AolPdh
Vf5zomdkS8AmQAXjKFIqbxdwVwGSiyfnd4QxOA8scp7h4z0QjdcpjnOdBex9v02+7m8/RjcCagZf
h6mkBLnKR+xv/1KbsD0YiNfme8CiSlh+z7GFyJ7hT1W6dTtq12HUzefnG89587ocs6p8lxzTl6pY
iERVl0lZkEP0cOHDPKm6qbsE+70km3E6Dzv/geA+Yq8nEMOsyL/xvpIKX6inyN4wyiuEyEJLg+FJ
QoVdVSniF5gCPY6/VoEpX2luVS/Rrfp1lrRuML/x3QyzngnAJ1fVMUjT9ACafM/P0+H5vAMMm6I6
trX3d64QAsUUqeLnynyQKg2rov1BKBNrH/iPOvDcGtIchKRPs1sCMqiWSqev4D4WJ+PdLRl7dcRU
nkbt3BMoyBMg6YWODRKMq7EESuarxAIlHMlpHd7Mh55f6POQv5x9wSaDEEbd59PxVyfoVq0+IpN7
dQN0BO9j189bcK8AFFdBqX5Z7QrBJcudXn5+t3/Zpv+ax6ZCv1ZrctNYSEQ01BI8nbc9X2dBOTCL
VONo4Ea2KOaSa901VMkHzqfDa8pY7q1fAbqCAlvN0Nvn4o97kTQosw+dgPL9vDu8/Bo/E6g2xxAo
IKQD2O2hmD2sIpO5gQ2MPI3GBHXpHpbp//UwvJnZIX5jc3mlzlBuDXvf8N/XdATu5d7Df7zHxEQv
mRQu3+CEPzwy2V1amuyuyD1r61q06kJe6a6MkyHYCT55OCvnL83KbESXWG2mWLLiosEBgbv+J18K
xFB8mPgebZN3TNqsmRDKoQd/YZxfzxTZ9osMffsrOaD8EdCwWLllwxjYuQvAPCzVfQavEkOc54tI
0wQjFpcQ+V++ZsOaPrWW1woy4JqeFbwxy9augsuMov6asNltUvA3CXbpJWZN5IkDYyI9hRxJ/j95
7RDDSrbHveEdxjFtXK0r0j34m+0gXtyU54x2cCmwRlPFPvKrKpTUVbyBNXX9nlU5VfE5bwWDXhli
k/LcLWL+uLamqRDoUR0M8suj0O2uOjWBc12lL90nibTpfKv5tKP0XchlGffxQl++mWnorMFhy1UR
fC1i1f9Slg3bRtQSd0HxgtF7pY3vyrUWXK1c0wq+XEBgp5z7QjujFI7gQFZyzPdll48/Z/n8+31K
wPHCruIqx2jQy794BF2ufqmk4vnKli6FfkwkOl4EXAPOaIO5w607pMGg//p5+p3HdF0LCaoXfAUF
5KqEvAXk9WNEhBSNFd1dsd/4v3hZsp3Kr2m7Nb/dukMIn0sNT5/HI24/0K1NmqBuy+shuQq5XVEU
p31Tc1cmiQ9hfezTfvMSPHOYno5cJHmf7pa+20lRt5Qik9/oIkpVGKXUl8g5AEaTX4a/OtBXSS9X
aoFqI/xYWvWl7grdLotVvadCimkFm6ZKBSvbsJW9nmFVdAaBCKyX2lqpXbjUa4kUKvtm2xyt+zqA
o2WZz+PdJT6SZRw5LvREouVs6AZDXyM8mybVqC1b74cTH7x4Lb5SNDaWwMDqI2U0wz1oFzKiWn8X
ynJgwwaiikfZm6mJ634Ixg63X7/tctzyD7yLWkVjrgEkj24z3BWnuNoXHgPkxHx9397xDvP2ZgWD
cwoDVuBIioMgKhJ+8gp4KlBAAXkZrGIOjCFeGHVUeCowv0/k/oZmQV1RhcOncr3qNc2il61TvaQM
58shvsYK/oEq23GFHpzRyYhKtoi4XpCYV6CYtemkCkZV+pSu54nPqTbTtGUA250D4OvQjOkviMs1
CeCTR6SoxqtcUcMkNrJvxq4IZHOcD1vn4iWs7FKUiD9f4yY7oB8keMF1zpgz+9CzqxRTDcrc5Qaf
UugDmnU6uQ8ex7Au+uUbU3jZs9+FbuKvle83FxtTCp3aaq+YF8Jd9Pk9UmJlL6+eo6l8s5XR/aLh
kQVectVFFaCNeEoqfLGh49v+J9/ehG16WHQwsjz47VFWa0xopb9FvYe0E6vrw7PDvOJOrG1TWeRw
QTZDtknhTL0Mcrspd9U1NMm44zyea/Ta1lW/rrc9X3a1ggVwp0xBNR0dM4ZjURRw2vJUDem6rWgz
eJ7uO2LlSpLUJLPf6k41h9Nz8op4lUhSTwvH79JvC2NCEwiYUxz/+rF//e3jMuzR5VevJ4BzPa5V
6WDzcIJqtttth3xT/TYf9JVNBFuNCvqZoLobeoO136a68bi06U5VohmKiQTEo2ksNaGee3O+nEAD
BbaDPPJfQeM5i0KcsQBj/+MelLBoY8V0Eb2a4ux8IZmoBjyZVQnWTj2O4By3yqdYS+nwkinOmY+i
IxWy3VGxHaZiv9TquOZKVo1ieZYQkYvQ7jg8ljeAHZfWoiLhp/3rYUQG2DvjvsCZuZx/AM6M46dO
kckrfNCtuCk1nO6E9AGu/0XtBXS8W1s2QWOHr0y+SWcMlg1t5jMukFwzB0uj7u4ljLIWBCFI2Dyy
9NFH8TTcYJDxr2sjl0SLzr3V3qPW7KO3un3+BCleW7Teh8DZCoaLqWcAyiZ3BDUp9gxFtlGhMSkl
tjxD17ymyDGwp2ZGPAe7cJcj6xEO/uUuJY94t/CrwU5uzsLzTCMUgEzCw83527qx7UHt9s/DF4Pa
YcN4znMFRXekiAlrOtAaPpqo/O6weAfYU9JwNS/t0vj/ySMjrt0htTc+Bs4UslZ+gRHMNwWRzd41
7UMHxlnZbkElnQWHTJE2a3I3HXXoCSoSmT41awdXOrb/drsPFmaoO9stu1j6fGi/XDleTMV2hh/J
uiacDt/m73aGLbkeylba/enusHY/rmSv4Um2LnYazvVL1YLo8YgXtWV8bQKCk1I3kesgSvxAOm0q
9kNkwFCeDOItU8Iyb8j5BGNQHeSqImOEN2vZDNVnAKF3t2tWzHKgHv4Gz2Ul5sh8exq+J+mE18ML
j8fQ7oj5j2a39p6d07abVMiTrjJixd9B5RBXKFVg9HWT7FHd77MTp9QWe4F9N0ya60WhrNT8N9+g
dYyJzo5/7MocpV3Bt+bBJi267L7+kGwj1/RuT9/GO9kVGIz7YHZGeRrYb78oVAJRKdfkhZvm+Wh+
9N/nFvwcVcEx+Ffd1DSBe3yM6oxl7y1INPDtA8NX5gsg+IZ2H+nFu3c3b207oNLCB2YGKWjPr1fT
7lMbwcvLEdQOKrWqP8qjYhd34WbrMVruAp8vcu4LDRjb/ZhgXwYh1vERZs1x2A2CfLiB/kem5+FM
jQ55vipeomKUZLIpe/VV4Ss10hwwgyylX8u2AW3ilV/bx6nb7FKzUsqM3d3tP9B0Kq5XTZvcMk4Q
4WFy4/gszpSi6Di3RpRFHa12UOen2+cVZDfl16uY0Bxw2UUhJwnowJCqx5qnmTIwu0Osn0CzorOd
sbrZJO+BR+CKa2m5DkzEF3q8BpBr104AjnHI5XwFZeO++eTyPmTp+cfD8Bf+Poi1U1WHBQxvfLlW
Tt/Ph91lf/sEVYGC29CK+bKuGilKtvFOvT1Ph9s7GqQsUTOzsmsRDHWc93UD99AgaHZ9Vde+mY9G
XblDB+yL50XRQbE/Vi2jnbyxjrFLx6momYBBY7tqp2X4YSf/2J35nm0paEAsVkWF0KTqujcOSorv
f/ItzpRnKGLEVPw43N5AxOTMF5w0/ro7/5UJ9r3uW4p0+nFNNJ90TOvwTbWI3YG/pEgSMz04V7RZ
QXAcVgXlA6598e4wdmcGQICM4wX42edFuLCuIJzPdOiIx6mer/tx9PlwSz+SieYhOQWnRWYmC7xh
nsK5ftFU+1GS1ClIMusaYZJolK9eDAYdGG2lsmLmrDZfJ5vxiKwS7ss1Tb1ME+3VZRcHkEGBxynk
o3za30Dhjl3fyI20aAB9SVsD1ltdeK8d1NRTXe5aIfyd8s+7s6HLH2p08AR4ha1mpcbm1OY09w/A
OjbIdhPfZje40+c76gVnu1S7LzQWkwRSTbiWlguPHc6QN65XM92I+HhTxeV3ScfUz9Ph3z55a6fj
Sn4labzHM6KVWp8vhpKtA0MbbZ7a1E0InltglPJMiO/Ds93mxK/7sk8Bu5Drjpm9s1G7FO2ouqSf
VnsWNN3arznFQiXjijkSpaaoQYcV+hNgq83uHFx+Gk0ZVxWZl+UmfX7stqBTuJNtUtKMks/TTlmo
zDXdzhZeDArpnWK+iDIlOxiQtytrY27nz+c3MHdbtIm8fJMkfi0XmDpVmqbs9KsIqutlPkjXsF/J
V9n2OHyJHKT4SAL3apSN+kLzhG734cB0kJolqBzfy4pRydSTjRIttRtxEJa6KtsS9FGga+PX9b7L
sshdr/AC1OOrbnqAqt6VkGeoGLvNkSwrgirm+pWB7HF/egUsEAE7Ic1xFdSzRnOFQE0no0PFV6uy
2iv2h+OjNdUc3ySIHpdq3t/O7XWobefgvp0BgsLBVA0/ojvvIupO+f7vCfgctPX1cEW8eEd2FvQB
WMOyEqj1ylyYwsP15URf/5VphXxW3LmVJZ8K4zAqSiZ+u9fCPtQIDzFXL6MkptkBOM6WjdkF20X9
Oe0XGMRZYTGBgdBxBjeKLnS2qJU5vx9uQJ6k4qpiZ1Jbz9Za2eTocz0uMA5nXacSsD8f1gQG62g1
8OhqVtmfe05EABDfC9ujBDspT/EommS6i/M9MfptU4pk27L6k51V1+HdmjaRAjcb+8NpB8eWSS2/
XCsDY2rb9KGZcrgjaoBS1nSqxtV8OZ63twkkZ28jV5IJxiMA6MEjjLNMzHYAbmNiZ8ri4esIhJWi
5SfA44RN1+hLFhBJ6eBdUqcJ3r8rCyqUYgln/GWPq5qyT1W6uGGTZRo23e1hMmTAFGpc3X2YWXiT
R86T4IP+wrimbsakpsA1QEjcPFKqdtF4pQzHIjM28xvaceKq2ilEJOPy7c2cWZdgLULTxKLoGiSF
JW7MO4l4tv0gj8/hdW1jlAOH05W3Q7JdTIzLPzqFo9zMqTYvPbspLBbVApHw8F1eTXHdsh7h0ZR6
YuMjzhGoG8Rif9JbxtrMVxDW/mguU1KHi5MuAC2NPNvrtJw9yXfo0s3Dnh2sj9Pqcntv0Zjz2aXF
ze0sN9Gg3YH5D5mTy9KAYhepWdbD8PqpqvnQomXjYJxtokcY3Uh26PQR1Ou7dK2NQ1eTXAsCDRht
IJhDLPkluYrsgNqCamZCW6FyO+Gfxnp7FgXehte9GwUC1TvFAu2OXPONezq/fl5R5xDvNFNiMmeg
uiOkZJtOy1Cku16JWjMPtvBIV7UDptmtGdYood+H1mSxX9NumNmGVgH9N6ztNV80xwFNwQVjj2qC
NWi3otAksOftddii01hDypPnZCdfRFEfOPODwfuni5ZnMQLiviVhZWpk5XUtleNFTxYN+7hWuLV8
MNTjySlcpDv1usPOQjXYSfM13bB+WnLZdcAm5fVZnW5wzS/DPdl8WNmq8Pr9FXUUlF9py5jOHpHb
lBVMk5K6FB93eXLesiUt7NQ3zetH2Ulg0m/sdHjtt4rL9xXoMf21kuNOq0+2bWHthFreCXVM2IeI
YGAW+PrSCjjfVahV7c37+eJ21Tnm4HmetfCViqTOYArpuVR2I6oF+sTz7TgWGMevjsrUmgGiS8wM
trKtJyTwahdOa9PS4lHpdHv46x+bJ1a6MUgSfT1PNqyqFQE9dVWXqzWJInJEpWUHyT4c0U7ViWk1
0kL0PADbmpWxHkqCuKIGRca+H9tr90bjWd/uLLXUbZbXbQxzjJtJ8TdgALaTag3/qRyCCUcyW/ll
vhfMD9iqKSGSe0wcMB5VW2Vc4l5/vN0ByrJrTxgik2R64Z/2rbIJOLYPOBZlD9t5g5rUqKf924H3
MZVrNXyvCOuDd3BMRaOn8224jk9osl1oSOq82hAIDDdnCFB+216fDwceVeLKqOq67HEi9/EGCqAF
oV/Lgn49p22Hy7g9HvdHPm9r1paWPcwvT9nyGg0dKdtQsdwGWZdhuXnu7An1riacBirNMJz1fDhr
GjQtdpIEaGlkGLBl2Qe7k09VgekA2plbh5O0JqyD8G9f6fvu2vnkRrwKWtJ8bfgDnJoRTBt5I9Wg
0IvTzjGDRR4dv1d0QbEEm8hBlFWaa2CCSkurlC6hABSFND3VXTexcGxwmSze5BmMNQ944XKuEzdY
eMzJ4aI8oRlPsdGdGIwYU7HZKLWdioUQnooMGWhWuZ20je3TLYsm0jx+b/uNxJY9MFZkLT1fj0m7
pY2gFRigbLpnNze26RUMkn23/co63HzBi68PlgU2L6L6+czFS6PSwbAv3U3AoeBQUg+shaVN0oTK
nWzgsNulkYJ6UtVzk3BFGKgFM6iCa2Y48g0EqlIpC3o2wwtr6qpO127OCVBth0vnm5M8eXSiSpO2
MMGegnaxnS8hGBfK+Tp2gu5yc9E8WRMBr24ZPGCcRZXVpVPsUKZ+Wa+cozwzveswF9LYlfqF8Lf4
5KMWK1rI3+OYSY1CbpOvIE4tVw28Bd1ULXNXs0CO4Uw3jJzfKR+kR18JBcHXc8N9W6jOl3TnRhcS
NiO0FIqJtGtkd1wLqJDwXaxpxSiwSL1apdDt+dmDKTkLsGD99/sZq8ABfJSvxsMAVd/Pinw3FTL0
6lpMGf9HXkVteXKiCX59W5s74sKqBdtCcdtO6BvfVtmrsK49SGdOdZUT0tDNA11x+y0ZSZv31yfe
17d8l/e5YyffA9urdmKc4SGB8UVt9vnSFUIhpwqhPTOiHOe1zuQ7hextFQ/jvpUxoKBvAUBdbkce
gJJ1/T8/0XBWlaxP4RgFtOhSgxBv2jmsxbDvZVy99x36AFe4Bqa3ChQh3OvWug04bGy3aUYdCUDw
KLrB48wBWsW8sHHl1K9+l6GKe6dMO2eG2yhZmg9Y1TU++2N8Rw6pmVL5olPaMR3o9gICPiF7U8ge
ffFRSy5VFTICbASSMVQ0oLB17r/E90Vkp9rMEaxNBcQsewuM1yxyGdfPp+H6PYPOYoaNhosiyP5Q
HKfXNzQkXGQ2N6Ux+WZ083iXyNju+BsaocAAgO21UVMcNO+um1VNi39czqdXlHPVOrZlr+IkAPxD
awugIdrh6AeMRXWJF1QzSXDIITwevzC5m4nUDbj0pnkLUGKVz14Iz0S086UuitV5t4pLOjSrgYFT
xTU7bhbjQzA/iobj2krFfZ4Oz+cdsPWs3mmwPHLqkj89zQ0cm3td4JTuin48rWo5HhaENcJl5NJT
hlb0eueOzjnfoo8iLHKBEZBcQwdbcSzDp2RV4ohe6K7B6jqsUlXVPWHVdFIAvFd9EN3SDnb6Hhlt
1/cT6LWTUWy1AXF3MPJpZK/ncuExgeayiqt5rYKWhLSjnDkxfVPIwjpfOQWHibnKum6LodHlBfRF
71eNSTudTx+X/fsnbweF6s3fmB36l/PgKwBvZV2JcTEN/Pr7/gdoWRA1U+kH5/eBEEEwxSuTyd2f
tk+DuPMT97xaNZ0Dei9SIR3bdl15Ka+IrKRjQYUJ9nUTV1tWbs755QXlGWSbANGY/LEF4Lok1TgT
oWM4++H/Emdw+I7LsEB+7Id+zn8d71z+23YZEAY4jPPdqUF4NADqTG+kB3aVxKbdlunG2iYUs6CX
ZbXNJg+97bzOCj02vEq/c8ekFj8uSYvcDvsrCMHWzia+z0aZqsR530jalSvS4lcH5kGi2pd1Te8M
JS9ygtZoMIely7CFEYuwM1lN2CjBOMNxq9sUmt3hgvtPGkcydrlNgWWpthicMXSWdtW4m+MdYQtj
isGQ7JCYFY1ci2l4ZfuZZdFm+bJ8ZxxOaywuGBj2Ndwst+ITp6x20pbgG8UXJnhU5BFglg3lAGYP
efzSUQF9myZGZkDp+u1w/RiDkPT234TIjmTzaCVXpPwolh6UJdi3diuGkrJ+/0iep8HJPk91BZz1
NgsFT/zl244b7/T6TNVwspjzYIVhaL2rpyMbikFUCTg6HPnzNCid8+vpAN8ntHtwMVV9SD7FWmJ9
N4driu7avt2NtV/eZ2TsT3Phsg4da2K6IH+Rr0blkKaYqW4bPe8eg5jB3CzWNajAZrAERXg72plC
oryRNMwrLSLCYdPA0EGjpesIKT1F2LxKGt0JvnsDDE0BKM3fNbc/JteuA5QZr5pljTPmNndF4bte
2tUlC49YiWd3mRBRd8BMxHzaf+eJ76ZIw6z2KdGMcdNKPTbzMR1OttGs44Z7FyO9Z5miTfS1Enwt
x85uO6p/BKgVRWUWCVKC6fWFrGj2IhdSMfaj6LG3ij59HCFzQmJxJy8jiZRqQalWuBwYNqHRwq1H
dvvtPgtGgOoMPklTumGrKuNN4KKiuZ1D96UEzZn7NrK2dE+xSnWcsa6o96By0RQzXWW7++JdNoZo
CgjGvEu5g5VCZTfgGsrQjUFn1G+Vq1W011sq6omugDEY2rGgVanSIL+ArqLsMECSr+w273bOIRZG
TyMbdsYQSRkgyZFBo4zczGh2YCSaYSDL+R00yLObglXtqxYd1CfP2TM+cok9/gKt0nv+NYgM6L5m
tLIoS1BF2M9vg+MDWXYm/hVzWDTIy4WySb/qV8gBL0HZrhbqwc6GDuhtG8wlxbWHADr3xW4w6Wst
8A881ADLloNAAagmVNT0ZJ+2u+vny8vhJ2+g6jxbWIYxK0Ai431/buIYy+xPYBm3tpkpGEsQW4hL
j+cEjIrjVNXSt8McGpo3du0UKdsHHoaixjM9PmsVtE+ccf4iaYEaDtWShapPB7nimJVM8TLstFqM
o9Ntc9GxwUr24toFoxvkptiJ10irAhmzDlctzRKigWfAQQGlMsUbpa1d1TQkoYwK8MW6MMKU5l61
3SRzTu50tgofl/PtDO2Dj7rbeDS5up19CeILCH0OYPCCXoqVEXfqsQRsaIi4B95IpgPYK8Ei8i1p
1Oz1AFKlvpBlXNGuXFo4BrNqDrF7RQHdfLVSgwcdUEzwdnh9OyIikZFqTV6lR02xpNdE3jswHKAj
lwZa3ntv5t/3P4CPaFsW7sH269aWFBPmVMv6V/w6hGfa7jCH5EGg9jem74qUvTP5xYoqlVWwWPYm
gCfI5uNBuS1wx8kcShTGj2XFafcAVzhw6bTJW77sX4b7ewJwh+BLBx9wB/SRRNnzOLYqpYDVEbpP
0poZVgBPJcgZiXJaowk0ICOEslJO9vlnQM0TAgqyYnB76WzgXGESuRQIoGgZyZIz24n0FUN2SM/C
VM+lGYik4+PF2E0rd9tJDNeAJNcE7VQJClbBDQ2u0yJ+/KguJ2U+/uR8mmWqCAZWituaJuG4f2Ke
zRf8e2qDhlBmFq2k2rSBEPGYmuShYfOFDFQ2+zDK6mchsn7qLsQOaW9XqvbGUFj/ZToQ6EBolFFf
It38lzM4T2f8ymr/LU5LstP0+HgCWDrZaRvNtNbvVrqzkQZTdalBLO6/0FX0kSqZ3D3+wwVjkljf
CLhq1vAlxaWHPjIWgY/ORovzhNr9z8P1xitIOpcMz4npJC67RO8JxwJOow5MI7lWk/u/uTco4nEj
DtFaM58MOMrS972llYyuokBMorkHh1NP8DUDZvX6MPFj4/2qIgkIItDpTeuUbO6iD+SMtOksgfTG
/UE1+UXbkN6ApNRmE7iY7gvNZ0GMozgy+RwFYE9OePu1tlAw10+i09AbaLMsGsacIic63t2D19Ul
QIdGhwY8TQXVhRlv/RcbL2eJBcdqbY+tNLW0N7ywmmbCpxVYgRZRvomWXvfPn5fUEGXmeu+3yIXV
qDPNCimVMa6a/lQ2EgcKmSjRpAW1bbSOwR6I8w6jt/zwup5r02nbRIooUPI6okZWBWP3gqYGW9ZJ
bacXzrfb+R2kFwyDopQf9wv4pxUOE3oF0uO+/y9g9Q3fSvZBPFjrq1k2N0A3HpdkWhaa47AmVNzT
a6s3XZnOKxFQvoSuH0zo88f+BPAQx/jD7LTn9aahl0iZeqbmnzl83wNRUO7LyRTgYMkqxO7ZVvyV
JK9WOqd1+TzQCl5+Yeb2zHtbiyk4100e5jc0QPTVXwMDA++PDD/O/UvjXzUx25RNftmZ7rNcTFj+
LwDs+NW1GbimRRNOQMnqIvTDSwJLRvIu+5GyM6qFs2k9i+ZRFcX4evufz/v9DhEfRFifqHo6vGJP
3q6cujJza0BOmRg10kSuQAyxcKnQ7eXZBwqt8mw/lQbYhfsKGOtNt1Y9JtJXx3PzXY3aaU8Q/cpa
gpUFvIYWhpbHVWAgw00ePg/BIKZLyUy5OFSmvgJJyYM698MdIQAqX/nSvCI53O6AOj4K5muaM0NR
KytTNK1miZP9VIXzWBtNvuITmM0w+MGB4YPNrwL5k46ECmXCBBWl9xO5bAINdnGAHoIIrj/IEl9X
55rpoTYpG19cbyrYRXdpHCuSIVJ2IuMH+23sI8fDaIqR92aapt/0McYveFbZv+3QMky3MnoOAbos
ZB3WgmrZneqnSGO3icH8dhA80aGf7Cl64KYf6JVMSrl+dtXwb55/B8FhPxS700fwd9ZRplpCdVAR
CWJJywhs4S72ITBNMuYLpJsFVIC34NSXTnFUbd1jFIEhOXxloINRkoOla6C7oxwD20xtIVXzC/IJ
O04DwVorFH4R2muJajXe7wz8CGf0SnIwmWjUr9BxnN81O0z97gdF1+e1XfSBbLDQ5FzPB4ENQ1Lf
jdhrKla+gucFW9D2MNp4/Jdx1UTlNROoQKPf4aRMt7/MxFPs9ERhb0zpVcLpcYPqdF9Pu4NwTUOE
Livhe0UoqigOq5P3o+b74/1a//eZBMlewGbfgWWOArcv8Tag2p/1/fKtWZv5oixsAxIcsYGmLNoi
vIGMgihQHS36PRGQ9YrrCCfrCwWEWCX4Y3fq5/MRsKScQOhJ1lAjhMKrGM2oqC/0rjPWql5yr2yz
iwsp2uxDoMOBN0orB2FVxirU1uh1cb0CNqrf/6AR3MEdE4HpWMpTHMH9Y9shTJZmDbfH6fBFtHCa
C9ZDC0Uv+Zkc7XSin8CsEg5Zxt51rxcUtmSqT4uiNKHvqVXVM6oAElXOolTNZeOxFcXUvlnxNGd7
V5Xg+uC7OCSeQWyKsbOr6nXwtABTjKJeikPZeuh8OYErZHXs1tJmSHPUYMNFBbBmxJ13m7N1wF1a
3Whsvt6ACetVV/8sozFgzHwZeZqGud4dXjJnHdQLKs4bIdPwOi0SlFhJfsrJ6JcLinK0cqs9ODqZ
lIcK2n2HqgJbMC5usPUc2N0o8x9eDVR9e97k0z4uDuy1W9MoapTKQcoPwym+ohl2gzs6i2VCVV17
xVdUc0p899zYQkHYrhPP09SCR21rSVyBmvvJXhpo3HNQDaH0V8gWGegE5Fvlu4hRQulWVB1rQn1L
EbP2jGUATraK/WqhvAbgezq7XibhjGXjDZd9na9at4384Om5r8K+a3PpJOgl/HwY03fwF5L8LzPh
DxYWRDCVcF+Y+/iVmSBGkmr0nExtDnbLdxqQutiGWsS+dJvwSM4Fapdv9IB3zzcRac7zRdwU82UX
AYAgxGEsLzRKq2KCinRr+sqO7/h+OAHv3Rv39YAc58bYwWftSqofF9Q4KppO89sJd0DzI4ylPX1a
XLg1Bdt0gB0LH66Y6GYc5slU9IpsV4GeZhPbiwB4DVogouka6uliQ22tZBNyf/QIPZ4v1+1plzsf
X79td7vxXw1yhZuEwjLYMpTLagN194D5zSYXEWhEwQXB7VoBwCLU/WTFiP50a7K0/2qAuP+JynLX
dt25x/m5kQ/s+bxWz5LQDmnaKNeUyh5Oz6n0DADOhrvpj6LhQWucAOFM1BN/1VdKnf4FNcArOtLP
+EMZIvaTO55FDxY5zu7X6naFdPlKV9hZhQp9pEFU0xtH5kezzu9yuh9uwWSaTlizc0yyPr2mREp0
u+ZBp1AEg0HAx5x6bH0INlD2OO7OOoVUL/cl1K6S+D8hXryWzWv975iPa3zgZsy01TWI/LTslUfS
7+7VvWohu/2UWng2OBkRuJL9+lv73BbSASe7sq646MmGA4KYV7b/bcnVhHQdwcaBiCW2pvjbrGk5
A/DYEJiuY4R7m/4Wt3aR4guhXw5zV7WGDV/v7bRFaQ1KPGx51ONuAYxiNU3q+ut624MCvyhW04aw
vrcaj+F+Or9+XnFXJh+73aomo3raggoOr7rtaTN6nlQA5IdKNnXeJKPtzy+g54NoAQd1zHnYASBI
91uZlrEKADJEbHaJacfAU0UtiIJjn+y4Ijdk/dc7/gMfzcmVxYkgPjRrs0TUxwZJoqi6TU5XzN60
BPImXggoDc1+FzpCa7/Y/yDnSHsZUtmNrhszrWA+XrsuTRqP5jSOzSl/cSC30U5262lHLjraJYXH
sjztXw8jmMGDzStBqFXVW0KhtyFDDMCt8WYtZ3zNKwl2pg7tAYW6IFbMN80NMJjMd8cT0zJ+obXd
XJy2Kg4IiPJVQjSrO5a5CJu5nYbLh5Lt3e5p3UknRsGhwyuGfxpv+6VZ2+dPZF4Eh5h/eXzcsFRA
DTju3A9oWbgBtDXXdxoJBNi+nch2umo4sLXs3HvYGwA1MOV6Gs10MDh2ezgwu95H2e2fB/WN0mio
t+bKSh8l1Jop1aBqNDA9fOZOMjldgzrJmFV5mnsN8f8EUIb9YmOAe8sj3AneRrV+XgLy34xc0VYz
7xcIlMyXjP35B+I3rvquni70tM9nkUKcZ7WuH8XmAnRyF52AOu3yZH9i39Jhw/6E1ozxnT83x+Hv
25/jsL7+pAI2TmwVxQIehOrOWuq+i2GnSIOqIJCZhDozNS+4DkeKRixFvw7mpHQvlLWTjJUqrw+u
KPKtkvQZGejemCC6DIi+7pZRrBtvktEOwDCh4GeoZkS8/ZaI7ivuWXNKCox0f7wNX9cjTqwcHgaG
YhnZ576NucGezydDNxO3SI1DxKIJwk01wzfU6tJH7qPKMXS9YUUxrJ8r1B30FhVq5lIUd6BIKzKM
cpCkREMp+kMv587YnUBd/DunDCMaTt0exDB+FOoq3WGWM95PD/HoES6qcsWOnnByfWtoxLOts2d/
RTuVTtMz2zuQCWsDnELzFXpC1mP8tVBdAjUOh2SQayEM1BdZkCLACq5qlvfu9h9wXAg3d7edLRs7
zgOyhFArcNuuC2QdclrG0Pz8dPu8orxNv3fwsrAJpe1WlLlP59cjgogo0PiliheBGseL9QNo1xQA
WdGe+foIaDvVmEqs4CE+XgSRgSScNdlprh0jYwiXdyTL0j8ehr+AisS4tunrsAJI0dEwrSBJfz8f
dpf97RNNQpb66144KmASq+cNPR1u73CUJCeEWeG/77cJU5zOHkNyjhR62WRgrNINNL5PpnFe/DWN
VNFEMl2UoIkuqQ9qkm6v0EZbH+gaSW7QYuWmo6aZgvH7ymAGGzntY19z/zjc3oArZqT5QodYcN/6
05iobev2OdFCdGsKSJ+gLrPE2W4MSkqycFo5/BWTzXELG7e+QTvthwbAQdvph97bMIch/4kgehqU
Th5xD4xc5FuKz03x+guZwGG3WfM93Xtu97qphq+OAdz/RBXBHOulGAM4BjN8TV5E05poF4Q1c/vY
dAIqoQco2+oBfrO0d8F8J1YWRJG6bNRooVlj0CJnXHtgl9fx630h4XQg0Z3j3RvX7Fg3sd1BEGlp
/xVGzOnzHY4pU6BrTr/RkGJLVlA4BCyGZoSKtNv7PB3+7RMkiKL7evsqVPwSuknCHg7nguoyZ/s+
mmCn85ZUh1Xd/2S/hd+dc9YnVdKoShTtquAkeOigWfVlldWpEyIUjdzxyK1QWEAp0CTgDAQwKbaf
HyDHprkWkxU14vNjhzqnayVBYjNf43nWGw/buC8M60blt1KFboPfrmhZZVf1RllTlupiD7lZ1MsC
3AZ/XU5c9dl2Wq1rMpDiGtxiwH+16xGOBEjlQFk6DaZtISvTHx9YjiLk5aGJ/5eFGmo3utw8mwaO
Wa9Y2N0wx1rBTCzvEZ5hSW9v0tCjtgXCIJrAztrQPm9FDNBvGFyzupkxtsf96RWNuqP8UtEmBp/O
sKBSUiqaRKOks2z2iLMqwOmEUy5xzQZxdYeLxkLnz+c31FOo6sxXepuD94Mm/kiL2hfOqf5VvAaB
qjznOn5QVKgh3toZkgQoJZLDu5fuy3FQoKhGqjOnd77DaIDGvOspeWs0Zn+ie79mWOYITT2nTUOD
wDpfVjb04kGE2K15WTM6mAhmydZr1srjQ3PxC0UBfQ3g/Ze2HLE8m9FQa46OAgwCrh0LX33e5+tE
+8VU62MCTY9ptqr7YOGn4+DdmzULTlURR+Tws8me2da8HM/bW49zEOxXAsrRGQIBZTDrKQw9iM/E
fnPlZJZxMaF2eg0XZvzINSQYq9fTD3tLyY5+TnoVqWaFBf8w95LtU7GUWkUtmIgF/RGhqgto99pt
BbWq9ffgf3ZK2XVU62bRjjRNXtGIduvBNhcPy6WsExt40EAfqHDcGAYUJoEkF2m9mqJ4UwvXRCLN
CCHKLX5tcnP2I09XcAb6Sw22s0PIn8GqTEk5Ag9cZ4e4bYldOcHkvJx2KNMPd7vj18j+zBJYACZZ
9hgzVhZ1zHClc2S5kiqgm7xanaBOscAf8tw6PvcUOkOalxxk5NVqg9KtD641Cm2sabfMI3nSXrsm
jYYCocIe4GW78NckzlG7Y7NqXML7eXd4OUCSbMSWb9r1zjXRnXKLWSKAbArXy9/PmGIPTJds/qMZ
aKNbF7uofNekCB/5atIW27DrFLimfoMO9bqOil61YKoSOntsIY+dNdvHs1g/YuZJq/+amn5gj93a
WaiodQ4ZRRPTWxZNU56312GjTmNhDyAfuX5PKwIIdPqDW0YjlBF8MhAdd9HWE0rQkAywz9Ktcap7
Bjh0MZw7xglr1LS3a96mN8rer2uZff3+CoO78JV86KOJDJ8QjYxnsJi7jZtMuBB4rjs7xAUQH117
zHzzM/HWqxjW1U5DXSIcYogukMZObzUr/xoKAepM7VcPGcIjxoxcF6aNOBqGWtg6c56XgAjuDkfq
NBhC5U6VbgHdr7CC0SyZfaFgOjNFvMRTlumXgRp47ZkvY6YidIr6uC5YkMqMGgCqMucnl+5Qh80s
gmKSRCw1BanSfiOpcbsw8EwcWNCno/Cnus1WXI89etcwAJ0PX6QL/g0cXUhgsnY/8Xs6pGNLKdw2
UznwbkEQlhCLl6SEUko77Qei51mIGcK412ptd4ha59i5XHPb9i6hh4DUZbNMfqQMsKVefqVT/dP+
7YCOsA1SMs3mTufbcA2fgPvpQ1P7zesdzz+G+zL4xb9tr8+HA1hI9z6z6Ruls8UNJdlpvyWDc9Bg
cJCSajIac3XjCfZ+jOrrdM3txoM4hispbDeCRg0G+k0y79a0l+rR5qs5pGmGSyeDFOK6Ltq3L/XC
C1+qCe+CDiKuc7smiBb6XY5lKJKin86wNDYCI0TJ4RAuqHktmxMs2dh9ZejROjRGSdd5Mq5juUaP
N9n3BefOEZ1CC7u2q6rqzN2wan2CEiMy7IWaecUdNNyw6a2+TsUtS4XvlqsWrVUR+qsU4y6hOuQV
63rFd2rKa2SQ9NeURAN0Ehu/RFPBla9WifUVw9s+31trNCok03BS5T2apqEZfi6rYQ+7QXQOqNxF
uG4vnx52qoTkeXgLL+pXr1Dbu5VlIXnbQeCxgrja6W9ntVw/iArfcNtuOTk4M5+XdED3rZqQv9vh
PbnAfGmE6RTS9kazGMN1/wPDrEC4L12L7dbWphjNsOYLyflfK7LzgYVsHkk5mCF0dIhtpIMnWzQl
2LqUQJztqYxFvNHraBDw/LcPJEB1/NRrttOZoSJls2dtmZWAiJhn80G4sQJGDdzakkrC+QE6HA/L
m8c9gXun+o0uG8PygJpjmY95e7Y5P9z3/ewyKIdoAfaISAIn3xjZlvPzJamY0Wh1JpGSKWlfbBYP
ZxAphh9f9zHETqnwLKaxuNU/u/av279+MdkUdIU3cl3JdXeGh4KtGyZ+dZ9kL9Vqi5quE29O4UDn
EpC6A0o8ZGpbcXrbeMEh2oYbAlsGOkPg+3HZD5sFopPAkxyWPjGAg53oFbiMKgvQYRVHSWEYMmhI
gWVc2AdvCNsZHQOjWcoOnSu9FgH9u8qt7txbE9ZOZeo3RXU0A14shmYLXH/f/0DdZ4Vd2/UcDz4I
LM8tYWy7/XGPIB3ZlKbZbekmU307OZt/fNCxR8hDjeZLTR7XFIyEXgQFvUsldNcT+9pgPcmNPWvR
dNYRIaTq98UuJ4Gjzsy0Mka2UPfJfg+aF2ltkovNy6hVcC0qrw/9aZXP52NSVdsL8vFsv+MVVVBr
OzFJOgho7pcI/bTOREzXbaKbMRLQaqweRheW/Eubah959MciA1VkhK6fT8O+PaMGPybAZhn3OrAV
gwHY6d9cZm/sasen9hTObowuJgAjguv1uhm0VSf5puW/p986dKXJbfSJc9XmO/bnq+rYzS/d0/3T
eDe+u3zgGVdly5Mf2f/ghaoZtD3avmPPwCu1isGZvB/ELtdfDBwTGoGSU6rb4bSo5UWNtN1KCnWm
ciL3MHylK19nuICKcW3G8/N0eD7vkMvxNVAqZ4oBkttOtdxvW77DHevn66G1qPyoq+v4ibULXfd5
2u0vL0dAH3FO9sDJMeQATbnYwbd1LqoHTDnWWS310u5wWQEm6mC7w9r73r0MHDcczlZDHX3p7Pfl
MOVsRHtNWwz7bfywYdBXg1ArGrwmMvobkfLNmjGad4cM9YvsRrB3k5IaLHbYt5pePWYy2ugMQ6aj
Uetbr28RJ1HFbgXM6FAfTuMAjG4TNBnWuvurXVcS+CfJ8HW5z/60fRq+GMzmkKgtSttNBBIRmtH6
qgA2xL+m+SiwBqJTGzntzfnlBWZgxCIcSsv8j/3THy+/Pm7nP/zzP+TnXvenFPzt/+v+V/7nIWS4
fXvZHo6pUObb3/3xb/+++RvDku4RciXxyClrMcXexRp/+Ls/b/74L38Cy5jHMjrjrlMIuFzmv/4P
sIojLyOrl7l+Pj/vr9fuF7n5ixKvKcTWEulN/vMf/wmsYh+r5I4f0gbmVf78B7BKeKySnDMXG5vy
pz//YfPPf/4zWETOr5IS69K3lvn7f/rDH8HORrJGDjccty1//Buwzr0eOa2TfMRB57HrIHlxs7zk
jI50lpEXeEp2PqU8vFhLssx2f908Pz2Dp8nGJm0mdfOMhwP6czqj//rHP8vNd/nN8it6suJg68L4
l8jdKLTTdt5plU/PydbL4WN387FnHe0bb9IRYRuI5MgsPowQ//c//N0/g1cR8zrSZB/XOma78X3w
80rJC7DM+6w9s3vUlM9M52JmU0vR7QI2iDyfDko69kog3edm3ZdWSaedVtmfnpOu/7bb57/O+n14
r2/wvcx8cAllMqH4pm+vz+/gWaIukvqRjqjzy3X77bzdf4AtmU9Iu/xHLH8cXkszK/CkGpwbd+Kw
O75tL6c90y57fJSoleyCSfLDr/vbn7an3fn9/7s9fu7RKrNWIY7u7vA6rDIfwPjPYJX5QBP7Pgz7
n7/jx/5p8zFEu8mH2KSVrvnxfxiisJ/73d/+Tf6nw+5p9F9ziJZePYdW9Q+ZDICPPySzD5U/ehTA
YY1DWnRz2efS1v3lcr60PzuvMzEp0zoZArdTK5js8Wyfx0EHT+fLbTM5HOfLsPQQg9zYNcN0liO2
mQXS3N9tNwRqicr4bST3/ff8uX9Onxs2g5s8vHHCKbivdm5+29xrQU6Gflj5+fNyPV++bXfft6fn
/be8CZpdaCLqjduXK8zcfSF6BNvdjl3DT3ctr6Gy0ydaa+QcNLuII+eYmE5Sm+Icvz2fP083/iXk
/CExd/Ye5XbcjVzJeDxvd+yO2okFPv5+TuX5xfmPZzVs6bdhuevwb8buFdyaYTKxec2cHpwM9PBN
L8OS58uvb+eP/UkK9qsEWWHUzs2tHV18xS4zhcLji6RLMjUCXp5yYNewZIPSa5GLNolcKnYfQqfT
6zeyKPtSzhDRy4Gean7bx+dNsosEOV+xhLPGWG/w8/sH/wpkX2KePzW+we/7Xyn2+UbAmPb9FvPj
aVfFY0cu+3/7zNYiP8FriAkXSiskTDZ45hav2lCiwqZ7KJFS4Nch9znlWMlJ82qLfy2nuV2qZE/y
Wt6ST0sUYKlkqR0GGzEEgPwNUIsbEJo6Kn/WP6DtuWOn47tkV04wlmJceZOX3gwafZu2r2s17CxV
Ot0RbXzzVZM+ZF/Si/ZLVhvm2QW0qIVAtt5iWOYPx+OwEm9aA7Ux6eOGkJJXYvwbRXLbhrsSw2LX
j4eX/e2QjD0LB407TFRZDm+dRhfF8zfFVmI5G/hKhfEaTPhaMsf78XZIDx+emXTnaLRMZfTk8qKm
rBC4nMTAmIy7h4WcWN7ozpoimll/PvZxM+3jpqNJbaAuRHoNVfkzm93hMhZKbcjOsutFcjA6l2jo
znWXZrP/+bz/SD/x7dFMqq0AZvEZZ8EYXe5ZMurDlfhjfnPeZdHko6cvr8RwbK08SqHlDalnXWDm
Y+14QyY7xyuRWbzGSnEbwQuyroMjGi2zOaQyvdPgXSIfKz9EeEboUv7pcPrcb7bXX6dnXvbI9umc
oFXgK/mPlLUuqJXKqODW2XJNjAyFmhrOkeado9DSmPML3TeoJ2CSClgo/Nj6ZST/MrODn25n9AtV
Ne4P8SnM5nROPtTnVInQfDlPb5HKV4nxL3jvgNyg5KLEyHq2eaeATyvqcMrePcquN6l1oUznDaJx
LB/AyvmnfYq+vTX9Hea/xNO4WuWD542243VlbFu3+bbehfCfL4f37eXXoDdnRbyBitjG+cplDN7O
jsWw4bmJ32B5no+fu/2VP3tZXhLNXZIVdsepUCunwIbCvGFwhnXepk0bPo/fFXJbTQbvRVufkTeK
vFqL9buw7rvk3XfH6salMPFRANHUo7shoULjDZIStco3Le+YF2u1MEKxFdmzn+Kog1K516UV480W
eYWEWN4B5Rr4yqEIwL1miVU5Gp3Bm/uXjMfyt5MSAdF0ZG0WuEs8NkWC49FtkLEryI4XZCqDujiy
KqDhjz2S623VnBcrQSreXTa1lxv6gTUvQ47KkCg8oeWtwjFtJCFaQn0X/nfDeeH9Be3X+XtJC/JG
meIGtnXbG+AI8GEo2mQLZ5veWH4BCjSP6Dpwp6Clv/frHZeKhRyQcJZ1FJSror6eN202RAY2++/7
060T4nhd79YC2sqAOkC25hUS+yJygKPko0sncHTZVCf8ASpX443y4ZvxpKvRNaOBUPrDmdrR4P0L
VTnPAgVRPNZg4qoo7+PzxguOaisMInTfnj6fno6D1TjtNs/bj9vnBcDbrsBel9H/I2bnfRVyJimA
klavAZX5TdJ1pGIYJc+LHfWfKrXKKx5e79CbJAu1UWI0vJpXfwUcy8uRC5Wq15IL5gQfzJXA+Rww
UfeJBz4WXzRKTt6HwWPffH4kItv+tN/v9jsAf9UZBOk7mtCv036u8nmFQ/ggr3KEXmUIZ4ZWWyBl
M7VVZ5F497tI8ink+vAopWDyLLU654Eba2ur53ooEMhoyTquXOLbvPeu6vMd5ebHJWmbzfW2vXzf
QhNM7qQeGWqSRaN5/WnasXEHlguaWAKX+bbIovD+tbEVcjLt4ffEEPh2Sa0crlMVVXsTeMSLeMN8
OCc1i+QVgs1LgVgoV9+NEPjbSgW0grkeipYcMAiERL2QZK4Ln+2wqjb3lrtyfLxCT2jcn2acyyd9
NVE9ocjdsfvLb4tVLKxRfRIvM4UXpAuApSH7fOxkHBsOAOeSjy6VZ6NL3khLMeLwd2CvDcRRI6cL
TdcyRjzoIVydbnB3dfOgtPA6ZwEB99Ftfve1W+OmraXuED1mU1httW2/W8daa95MEjYBr0+DK5FE
xaawYCbBRl3jKNVeb+bRQO2TFrWL10cAeYfRrovmB4fR8v6iYFX9nDIb82W8LiLbK1JIyEUK/AHP
yiMbP2cfl/7bj/3Tj/Pld0C6suR8ZSJgSa+AnPF6UC0g1SYUwS9ABSQhN3LO7Hwb9nM7LJCC2kGD
TTwl/pNs5VoKiKjysk8Cgok+5cCNfoRMzIWeNzrkVIiQGJPkd4pc6ZBbYbA4BO9lkAswbpJGbgGv
9Wi4Ml4C3YB9pkuZDcR/GzYLECtItmFiioSuUuYvR2CZgFQqeT1BwdHKHSzocjkC4zGK+XKoCZTO
q9DjGoQbBnDBmMptMQWv6337896Rof24rNMDmmXg8K4K4WjmhOc6h2C4gmJ/4omKzpOkV0KArYcs
L95lEaZmJ/aiZ/6KeEojUQ0aSUGJ4NehbkbmbSxMH84G20izIq54ESrF/K5Q9EfnUbCuazt5tViQ
Jm2LNEndVZBXNm12KnorHgESdWih57iPj/ZEDYtxTGH+Rigmp5yKoIfjQbqORCIq30+GFZdyCuBO
2oqLKBYucOYK3wuC26/CU86bVpNXmbKmNYoIrg3/WRQRqDzX2r0CdCRbuq8RODe8xGvRyV1Xm8N7
SbJ2O0XrJvNvEs0alyT5rYH3W3UL52xyDp+O5+ffec0UaPQ7qluHnRqQPKbaNld8shCu4T8tNpPp
E/S6qb/x+ddwtTaD7r2MGWWAywbCGdDKzfWQOLgGDjPRorQgh8IYPAhCL9mIOy6hwj8ceZalpz+f
MCLpZJ39+ZZqkS+XqXVx26nVhU/ScAcW7BzeB4gVetE23fOt75KPCiYrCdBGIvMhhay59eVqaJ6I
qCJ8ayxez+f398MNyxblK6QtVRF547wzbiol3mbqDLLBeytEw1Bm+z1D+oVUmrEckbepNPmrQikG
gKpHnDq3LiVi2dilUjme1zh12kf4vku8Ia+6Bi2jSl/NRIZuyEDDnyS8MnjmAyP/gaZk8K244rz5
8r6qTTFc5MqbdBtWVXfRlAu/WGCyJhWYzHspFCOtgoRW5AIKXeTacqbIb41Zs705xAMUFc/6xM17
y5t06drUoOPhOl1NAGwFyjEYCxoMtge8HTDtWj6st1PXqCFoXeEZkIrIERN0DYgVQCglAzByIQif
3beCVZCjFOc/H8BL21PWPfLex0hmhTRNcjfH+vvYu5t8hjcI1lluU5j5SFO20d4iRBqk+pqme6a4
7YKyBrPV0KnEQ0cD4hvedarr7JbuHygMdVz5GZE4XuBCvR0Q/OOTC0V9qSmiEZ5VAvBWUdft9AEB
/loVmejsIluA3nYYpQSrUDkwNQ5EknwgqVlv4XHqILfsWfo6xVofn9LGIn3bia1CUD7lFnu1Kg2A
FoTWdb5eOoZLzyudBfG5RWDlDZ6ULDfqcSjgabuKnTX4WHxNC+ErJ3A/wrp3ntZOq+7WeUZ6CH5T
36LNJbUW32x/bHmCE83ZjrQ2zwQXoNwxrimb7VTFu2q3AriJIF0r2/nEMZfzPNwBANyRuDd3S7fS
Y9wDIDqCLXB+SB+/oZT0P16fpsGFWikQxkm5oSPnPjeMH6KpCy8bheQhSJi8FCitC2vLdHkhIbUI
I9GaLTXjE7xKMKVmNf4IsH9Tq2wW1Oi6DIGQHVSuhfa+BfrAwmVPCxCc7xGt+JyCWRR6mjXVrZse
t9hSiNPk9hCR5xfyPjF1cipjSe0cH0xRwsHYjgSXGvJbJQNbUc1jBPFeX7yicwopjB9bxrrIVO9P
N3pt2T455Nww29jmJvJ7WAekekW+UPLfqblLzbubIDyV7LHQ2J8XMZKqHmum9XLbJ9xs+AOkoQqS
Ximr/D7xJoWW2lEe2FIc7rNAviARJJWdE4HW8rcT4C6una5r6GfH62dZ42JclSwPpNMKZ2WLQmkq
BPyXKNevfyIbD5hWchWhmXhvsY8del/b0jYkPGw0v8/0ooxtjKYzzxs03LsO0BqK/JlulIvUNLIV
VoKQlaWZ+wTCK8NHsq4uP3L91XiFDyC02qXaPB1eefU5v5VJF9lMF3nsO71JONqmj6M59mWoQjjP
jWfZ+zarqZRpCMuuGjzpltzVTHTTfOMV0HRFViRCC0pu+ZQ9pZoVbbnmlP1ImwOZe0UyNnlKHJet
5JOVpLVRJXMLIdleLttuZwthv25seVNruZcD2U7e1ir71RRO2GTvJ/GieNDS+0bCK9+Q3JV3szuP
z12P59vc16x1pJbSUQbvOnuhw19GD/vvft7S/JXz6bq5nTd/l3JLm3+4Swu/JI0xx44t41cf99vf
5z6Bg9RvBol9HxZlG1pbSRoQ2/wvxuqOQVSG73y5sKS68eF5LkEyeFMXhfSfb1Jvbjyt20oy+dbm
bpbjJv/T+fO6Hzfj43K+nVNn5s04L/t/Tn/9X2BzSDFl1gr5nf48nFRGJA4rtte1uhzkzN9mbIK9
323YpvrjEqGWS0EWOZxSp/lNkp5Bn2xO3PiBUX4qDTf6EX97fv58L3dokMyP23+DaxGnImUX3LQ3
Waj/dD7fVu2OrSvNR32dvua6eczF4L/H1qQx2dia8Z7dLnu0MwyQn/aA7Mvz8Xza430h4XTuwGke
XzTe7s2Dh8m8CdH86a3uVLy//5d/+sckeX83XsNV26tK4TMN4QNPx4rMKTlpmQao/Pn5cvgAX0Zh
3ZA51OMeL75oOrIsRY+BROBFRdt/XK47LLZ9fhtlFLxnLG+9nGUSHBtTpt7YrsOw85fe7ZovfYoo
p8bZDb2x+XEY/rjs0yST3ea2vUwFeMxW+SbvfFz3SysVXSTvTSLSWv/zn/7x72+3jz+NQeX92Y/B
Lu1/Drr8NPhxu/uepO1oWs7UiT6SKYgp+pzi+hTMbz4vx03yFtId318YRyovIuYG/YmE6Nw0L/k2
Rb1v++3gnG6ezq+f/3/W/rZJctxGF0B/UTr0/vLRHnvPcVx77fDM7rn3w0aFMlNVJXdmKi1ldlc5
Yv/7JQBSBCUSVI39YXq6q5sQCYIgAAIP5kMwExNJsZ6BeMXwTJ3nHWBO6Wwf4LfQgztAqGEtc/Ce
1C3j4SX3Nh4MtxgxqIx8BOfF+o0h5nKrs2E0GR2jWeiarkleWqy/ggGEVrTUxr2rPdUsOwCsF+Xd
HWY88+FrPUkLl/+NXWt3Arih8PbbZSGkPmkvADDGKMDcB4c2rM8SA+veyc+mso0ZimYxY1Y8gNzD
8akODVrh4gs88oE1XVeGOIYl1P9KNjFlV54/sVGOvihQjMJSxNrdV9iBtjL5ecsR+Xv3vaMdOmgr
LAuym/Upg+LWqpAOSsifp3Ni+5qAz7ps+YqSut3VhDA8EDt4hbudpZUhFAV0PY7P11e/f480StuK
hClUpLGclK8c4rZu3UmxQ6yGD2pRx/H8aXUdMi58hlemcxabnrpO3iYNS+6lyM4ApJBrfPiVFN/6
BwgwlfodQnB9dJAZPbXBdcKU1oYKTXKGFirhJbNW75CsytXp+YnRA1px8ASwPQUdWLmKT+wO17J+
g8y0hxz0SRmNV3W68a4+K3vvQN2rQutgbdmYnkLGICu2Kj0YiaKNq32OUED9aL0z3q5duK+T2jze
5Qu7PKn/6TXD6tSRXprPeQmwnq8AN6U9B9qs7hWq9/WMwptl5ScHeLRcw6O59gIaIT9N/RnOUHcR
oxwJC/8n5Avjrqo/lBLPHj+GcGtXpakz1nEKg9PwP0dfnPrhuzqPj1d/5Jf0AxOL0oY6Ft2sL455
uOpG137hst14GHqjc0hARMNcz9z7vHInoZzyt2ugLIxuBTsewi31ajzGf8zdkoepVK7uyJ2rPHyN
s9ZW3KbeXCXY8U7bk2ER5p3HWYmSvUeUSRNWV6xNLDMkl5O9+yLK2TQSnEeic4jeYFlETq9LK1RJ
/TRMXeTN0jATd2jq1USEqbCQCyjj2lw6yp+D+wuyzZQu1B1+tSr3a1PWURYOZMEmQdphvWXB5bC7
3jFDwF58qsFKLZyoT9hpnOYNXdC2p0nwB5gaguK5WtSu5jpQrst9mHrJzLXXSZZSZE79rwrs63zv
T5DUrww9aDAWeDel7W1dJ4grALpNgrlUCcv8XNlOm3sOtwoF7aCOpXKVFUfCSql2DWRuxWojJWae
NKxdL7zXlUyx0Fwk2ytZbSKzlrgqQP4KfkJbFvws2hBy2N85w5Ha4fWwk9XCJBmH5P2qVnxJjQgp
c9mVolmtdfw29ILsMJ8Dtsy1j8Abh7juch36Tza7QGqKqzo6s5916kSYyfaGZgU4sju1/+BlJTt4
KUWzTd0wX+m1Pw/dQfR9C9YZF/hlyOBi4W6gCInSMHBsDrJ9WQbuLid8ERbw1tWCpev7vnfCpic+
hYGf1QaDLIAtE8AMnjE3lp50NE0XBWOTczeBu0VLpwC/a8CsjmQ537LIxKy6hlt1yCT1v4DTBscC
Dll4gqvQlGMd0kPxYbi9QvFWeJOZCmQWhVmW6IyxqBbE9HWI2Ke2bqNaSqd2nXQWerWToLjsnBiW
yiJ4b0LQhTvEzRI68t4KB+yPOk7D23AL07M8hje0ul35VV9zqhrHAq1awY4VYiSlK5epy50wnhwt
iFlqgBqRS1Jt/YKAPCdcngv9v9IuS13s76Mb9QNrSZIrpXcSN2jgnSLy28aH/XKUuNdG4yhkxXLB
lkxcOUp2HP4otyqHWzn9jw7cf6jt+z1a7/e71mwBV5OFkMBcbjyHXl0Oyk4IgtjRubd0OL5qzAYV
Dq2j29Diy1PNNxJxKB++d/Os2HXGEPwMKcTyAWwzFvHBc2MJ4qJDaXUkSYWroYrwgQsft9axHMwL
1IpRkcAF00q5tX+9B78Mz8QeXYRhLLZbH97u2o08srHPOdxHu21TV9xq5wj90n88DhS6EYJcrJ13
C5CJUiT2x7u6rOZ7h21jYhFZdnVli31iDPDzAPLfhR2IMnfVTLJRWyfzuKNc0EcADJHMFbYzyfJY
t46o040hCWxTryKwFQ+OBcutSMaYdsHoUcY9Ihoruc8NC4UW2OYahy+3JQVTD26s4e2fwz18dK3U
5wkkMqpfW1fuIoG1tmUGLKWeJu7R6W+n8RzI6qJDwwQ4W6I+cdfz+Xg9NOGlWV5h7wlPREzc53L1
ztFKj2+yUcEeijDZrP6KZyNcVrzlPSKeqf9pW2O7zliAlPm4GLkt3bjV32fhpsrZTZUt2SuLSQEq
6NxHpCBvfBFMa8ZF4sYtD4CkyzuLdaPEZxVmhmCgwA08igG/hl3TKL7lHswc0knc92PJJNwflW4t
ZQOlPq3Goz6xN+ay9fntNDYWqq9zv8+/uja0JbArsKeUZO579N5oA/Na7bjYfkXgfRXcBtt2XyVN
6Ya1aNM6ZS59Xkd1CVwhF+h5m5/3+yjlHDRV7nMThPd9KdZV1W4oKQu8y/avULoi2mSt95oJxlZR
RHdHbtvS6zvoVbsWp/QsWK/e7put6A/zA0qiwzEQFnJi4WgbtIq9PLTs9CCnMmb6GksiEqIs/Tke
q23jFlhQotThSd1nmNp/eECW4GKIPFiWvmuLBesjAaLcx1wTk7wp1qoD/M9+kfMwoZRZGJnFgvAb
5+GXNub+6JrSws8eM0f9gHd2rI75fXh9/H0I3yXZynCo/B95gqZ5fJF04zopNH8UVXXTh/VM4Rvm
OqSUryE6/Vzd25wf78ENklhF/VYbqQRKWUDHS3f7FvP5EvdNX+tO1/SN5j7kLK6PPS7Tsk2FEF2E
P4XvtYFrJNFMNAh+C38TT6IDCk1Yn5WuTmxFZaKE7jicz8GLQKmTzJdZty+xpKn5A2ZDWclt8Cbx
XyIIztRNb88lo9xvBrlJGvwzXzLU68anzr/gT+WrGz3Zkz0kZ+2xOD3G2fM9YS4lpuNNtviV/1A7
wS5KYAi+Mc/9pFQY8ECwjBpXgrNoikvMqmkqnwSGYqG4bDnDJeOXSdJQX5ymEl7PbPDEv2Zv9qnH
vKRHOJToa6BchQhWPvNynRv7o79c0D4R3rCL0kktaapN+ATM3dNTmEzLDJxyeeXZHtPog0/LzYHa
tbUowfOg1P7bs3sTHt5qX3A+khjU3T6FUG3NTQJqFNjIbz3hbrVkhntfdDchqx0BK3uWQC3VrUcX
nfvXi2TB5Sv9vXoeBE+gO72H2VM7SVN4P6n/5aF85siLdeo66GvlgA/nc4S97LRlCb4kJU3m37Cb
kO/UsudzTMbjj0YgxbGoF3syb1jPHyltMvwGkvkY4+60mHKUp659V0Wye8MWcuEzXbdpVDs95ZZp
D3wZqDZvxNrEDgoNu9kzfCovvYwW7SKl9Fv3Ws5Xft7z1n/claEH9QwjVaSGJSfxOe38gIuhpoY5
1xg0Cd232j8AwsYDCdNMXLulWCfJwPmS3dAsfHOL93PmWpz1KoM+rA1q92WgCKTmRHaDWbzs8VdO
ghUeyHiAPqUQvcHawqkZSjptOSj3ieuGSxUp+iDIj2Sri69xMgAwCNPJeQCrB56UP1pEhhb++P7O
Eha3FmanRRgWt3ITy0MPWNfG2gouXYnr3eoUuGgyryp9NbYLnCNVsv7+L3/+ZfzW3/4Ehel/BHC+
4yXcEqNhzVBBDhvikUPkBCEAZd7AtWvL1QRkJqfNdG4vGYcqnY/hdZBKvBkkAIvkOHQ0/mCgdLZg
KWdIJV/MSYfK8hoYoFC7FPT2PaYOOlB0NOiXqe//X3fBXB3zF0pITO6Yt8wsYSWMaOrSCbGkhJGs
IA9C+anWIWwaZJ9iiefrcHlI1FjtIj4A52taP9T/8E3m+cCq004uOE146SvVXRdLwSmK5QObLlzH
791FmJYfv5jNSynL78P4nIHun7r58dP7cDn/Lcb1xFcB6aH683C8qFUvhH/+NtwFsmmErJWLWSZU
rIDYtXcbJKU8s1la77rtrk7WA6b9B0oGQW92N6EENGGwVcwtY3Na3nwC43mH0NbivDAKutJWrB1N
stYrFFyyhMHVCnsLYh1ot0JNGunQv1Ed88cDkpd/olvdz5ccQZn02SHbHk17nBCRuT4fqJ9mfXP+
Dh8ywtTMBIulPjpj1KA2tpv6343P27mbPv86DvLUUkssR3C6XKPTaXJQ7x1fYWLnlCH3s9a7QjBK
fwpjPND6CjslxPBQvxbbFeLKhIXldkbUALDSFvZ6TvP9MjwgmyRMLGdcwpb3RRuYEOXOBaaULVRY
tHo9nam/X9RFj9pEYFJrZ0S/lIJI/V4/9QRoMfHEXJ2ary5yodP2lwsFjOxU/s1f0BaFuVhKeY3o
vamXFqWqxZhkGU7o1GXjbNvl0t1nQRIN5Kdb2Eaj5x4QOYJ6iMTGyqBTlx/Ycpkz5kpC9wwDMPzY
o4E4g2UoTymzVLDMv8pThyUAr/w8hRQkibE9n6yu0r9Bkc1mZxRfPWtnSTOeqD/e/hbRFynTPZgx
ZzDeDGvgCMhsSRu+UwjMU7bObkvawTIko/TvRruLi364jrff3k49AOiAMu2GWy9xmG21rTnbSo2y
jaJ6gi+MmdpE7Nw/QmEymohV61hYz1cVs8+JNfY4Y65Stb5aInubWNWE9r1XyQmfZxo3A9WiRC4N
npoDYDppnzzAD6t1WWWquMvShZC0jtp0LhVSljtsi5LZFiA3CV/grMwlsATidHJmVSTY3DmBfNcd
GT/kdRaL11mAs1HowKNFLiLLSTm0JDjX7n5YEkngze2uDukn1tVLn2mtc5suURlAhvlp+ZCPLGys
PP/a9Zq9hKlU35T+BwhVlpBNt43PMLbwZiFbFcv7Gww6A+LRr+OmSaEHoumSxLqaazcTcsvh0t/e
Hu9UMfU+jT+k2ZYuE3ISJJjpAqelwWnm333+dOnmGRofHIJdo5YXW/Qt1LQbF4vnF4iokUIMOult
EkCowbMfNbsK9hJusLFbF2fn0b39Z0g4ClZgZVsqp0vg44+Qvw9UdP4RgqzBVpglhoMPDOGfQSAv
uDtEKh4xWCK4GOuxSTaBvcrT4F7xxlcE9p45fDoBk80fbs/L5fABc/rNR3jrav/W0ZZDSPk03qVA
1lLVjotrAZrKmdJMfvyXJsXBxGxip2+RPwFYelgsWKcIFn9CsTzRPTJjOepHYLzTKLmwmPKUIi+6
NwULPi5nK3cFyBGAX2IynmxwROmW/LO+rv9yNA/uMcFuGbIxnrZ6JdgRa7VgL/e47fa1EXkL6bv6
YhROfOnirgcWg7sNkUJhNRyEtrYdoozAvA7TbBgdUUM80JJuNgyV4QXjnjtOVuHv6LYjjts2tR+p
LaAxsiqsMQJN0UL3RBI8C6y7DcpyFRC+QWmM200IAi6v8guQHenqn0zJOpZMnUMOTsEyhbwxzsNl
HL8973+d+tfhQ9igyns4A4xJgtDFLevdiDJTOPB+YC8M0l47nSVgr/VrLhnO3dz/19/+GB7NelDW
zfKKELpZkrCcND6VG5K3LExn08WG2PrXzkQXD/949tPnz+jlj9NBgrxtWROkHLzRPCvFeZXheeU+
Pi0aT6nMYNF1wYqBcLyt0PNoKybDwgEo/Y3XQsLXhIWvWkN4pvJlebiNJ1kHMpUBekj7Gyur5yfl
lIm2E+vswQBBBatA4Fb2lYNah3lV+m6sEJ0iTMc7n40sDDfwUsen8Pqz5CGyPk3EqL9Oo3KrZsWj
P+q7mPqz0d2TCmrNaerHOhCHzkzYM2DdHZkghPgVbFxg6myQ78USdWEaQSiPLVid43J4U999IcdA
C1aIhwtqF2QuI4Q+a+ygAfMWrDVwHP5T57AGTIgN4ngq8r8O87/0XSyrg/jbGIrpAvTCsPXziI44
A6z+cIo6fkxCdOsNfZWTdthpSCZrqF1XV1y7x+ldukHZm12GtUAJs/PvKGaaliBiieTEBLVo1Apk
9455v96IbuQpoWCQjExPrDBzl5vn5/6xlEpEnueZmYlNjGqtKtzpxV4ECpa1sbxQrjyKwXHCBR8n
W/s4lejHc8tcWGfmu4tCJnDYiEhynzsZotOE6VQ+YUMO85DJ/xvC4N0LKAZOplryF4zE0sldlMN/
/ixcQcm6jXnqUzSaskCpYRdjhk80ebW2yrENJ1SCi1ZtVfikaTmNwOOL6BLypkO0JnHPkzJ82ec+
w8+EEOSH+wUbFEYjjqRvkwTF1vpcZHZx3pWkyDdn49/bvao/rt9Sv7XhqpDIQhve2siCIIQ2Kwtv
VrK+6YoVXjdo2t+e/64E8BaJ3bCUEmYtGkrv3fzbHY48S5jgSV5SAEg6qomb5uI3zWFZUhrHAsS0
ypaJ6VhBvzIhgIsq1emyKKPD/Id/PLuLOCMDy7SS9GkcYwkp+brpY7oJZT30/YAEAn8G5+8FQg7P
aXghU9b7mlO07OHLFjBzKm/DqzCcPfFaiICdMWl62srdl7JsM4G78NBWtK07/2YzfOFCJlBhk7A5
mh/v08sCIoKk4qth/EgXQnw6f79Lq7GvmEw5O8OXTHZd7hggVHm3NS7/tAr+GrpU5PJpQA0nZWnL
fLWPygzXghPS4ImBeaS+R10+HLV5+PP2yRMrUZLN+OP1LgxPYrN/SLlACRtuQzR8+Gmeha/bxaOX
CZmim2i/cFM3ghMxzD9RTFPohG7S/Bd3uZGfZgQt3/iN4JCh2YYNzfoL0cGkCt+r3s4jmPi5K9nZ
AFMtVpTugIbX8aHT97Gg5hNfdFJvzc9wacq3Sy5F9fU154+4ROyfpl2RXpvyx3DOYcHqpZaQROkI
zU1d5fr3Oh9WsFcqX0chR/ymXnC9WH9thsgix6EyKQ7ldZbImTwoGlGzomVtElF6WWAdHrzl1zKn
Cx0rQtDqABMLzRT+Os6D7JfyHpVwUaVVIT8xUYbAXWiis8C7L1ZvFQ1HSbZhtpIkOeqUh6NOqejJ
/9ff/hREnCoY1ontKZmJse00PBPe8I5j6Lq+BWbivHViXURdrRtF742AdWcpUp6sm8EHQsGP7lv/
t/40TmfpBkrcA1hGH05AO8EJ9Kvclr2dAE5X1qyjYrLWrFN/C6zQRoYDmUm5bqNUR06PrsqMeZ+Z
e+X6dJ6zq1FvtnRPZGlf+/eEMk2t6XJPMY7viaK1rB8rW89a3o+U6BUJGJZOj6225Rk5cn5jwaA7
Io59JBm1YE1vNgqBNHGs7dkCpc0C6tn2IohubeWNuYVkOfygzp71mUdvRE5RcAU5Ni1ehVQst6Qh
Z4phXBsgTrT2hQk2WmlPJkJRrMWAB8CMmSNptY2HLnI+Cyc/Jd5YSsiYbcPGrPc1SUuThhgS7IrW
NzpssMU3a/Uq2XjjZ3Iee8FQjVdBtFM3C6vhfeLhkjBnUxZAwQhl9GDn07LaayfFlX3qzxoxpjZW
xQrsqf3pUzaqPM69GFNufacqJMfh6H9a+SQopInCqRbJ6snKQHv2ey3sBdok5BhFe3Uu0COL1Zl5
A39x7bzubVzsSJWLO2f8cb3RnQSDTk0/n7p7P8uP6ywobJEb/eHl6Jsjq4Vk3vkumzSefcYzRbEG
rQ4Eed+7+T+U//uUvFRm17CAseSpCH5K7bOxvLSWYyBQK51LoW52u/ZCeLwQOrZGSwkLhvK3Cgv4
X9SEiQQs8LA2jerQ3Kd7+DNtpH/o0tpnZbF4DurvPv8oPBjzdEL7fBnSpuHEtaT5ijZNw+mNqySV
Opj5KbCm9EW5QrahoBjyL4TtsnD4j4V0GNTFYjf/t1h633qe9BcUByo2oO7X50Hd348TNHjtb6Er
GKsXDPasrgXRcIBI5U8aeVOdL8XxI0rSZTxirlMo3IA0TTeUitqzFbxL22p+VJTVn9VVPwR6PyPJ
3JIsiwVudEUMUju7N1Kh82NUftBZoNi6ZRsFp9i/duof/3VCxkpUMlZKY7H6fns+Oxz8y52q2ACU
f/guFNRkma8yB2n9gi0Y4KJxSAu7wOpSLBDhimXj4z2WnU7cahz+GxPSyy2NhWK+IayWlQ8ly8PX
0r/d7KUgvLVbIZUxAgD1CCj3l36ZSchMJlqMXc1SH7Rm13SWWJ7b+WC1aO2jAXiUMc4UrFgpW94k
iVAwKZZ2nY1srDXkk0ZlWgVNDKJVOHVYfDmLbnjvbudL/4fvovSUqe+UrPgS0wCWBuufs6JxfB6P
lx6byc/SMWNnv14J3kIL675kkbH8YffTmgydWwjvCHqkWB187+oQIVcZiqjc/rrngORhHRDW7llE
u+eOds+0kg9vhxK026m/iGp0VfGXissner9D4sLaC19xItFUC8SMpX7mQUShyK+wE4QoXpOuDqRt
cRUYzySuCknceB0eoD+jBzOvXPVQSGdBLU4iZfUFa77FbxxDMHbGre5j4Pt/1fiyscGtqzjzzSwo
QLr36mPilC/kfnqqc3ONzCRzEaUqfqXsk7uscBUV1wr7hC0r3Tl49QopXugLiOnQkqWTu9q3ENQU
sVlSVLlriMkGz3g7SZwK254+2VOTU8fiFkanor2vXDksVjZBZP+Lytk90EQIeD5AoftwCrgaVAic
uaeyoaHPif45YMbN/cP0//Ri16UZb92c2+pGNXjuu+n0fu+m7jrHQD/LNE99iPRrMiGoByLBOiRU
S8X+moTcR0utiKEx5wvy8WYiEYAFmlDtTqgxpBhgeWASla+hNYyMvSHRcI6ex5471qvQnRoDs2c9
snAFfkZo8NUAjcrXlr079NqfFWINOJ712NIL8W+H7W0XmIe37aSdB+1HfDq1t+VXvOuK2pLcRUWu
vevYt7tu85RqxVRhoL9d94oL4fGslQHEt9plDcohA/zrX8b/ug2nUOSHplD6Gq8xbRWBD09Z/3N4
jqv8fCRMbUEecrePbfY/O5QmfT91T0Xw+8LHs00TXQyK6I5VOAbKn7F5kTJ4L92xvwjIbuyRPS+x
dz1pPk7jtXsA2NxDaeGr8PpSJixiw3qnDfN4yJIsO/z9ftAkBRIbIAWTtzOwTAtopNWEibBcOhZ3
4kvCBvc7UjcUg3JfVh3EcpVxfvx89DvWxMJycEPUuludh8eWrEDORtXKGrFSyoUcysHX1lf6UuuG
8+W9m25CoZmaB6uVgRqqVEeZYatMryMUP2Gj7OtNgWA5Gv2Bi4xekjCPYp1cQ2s4Dm9lfHTpfU/l
vGR6FXHsFW8FdrLJZNhuuVyYgiCJAkNZkhcTtY2UCJzg702pTTN6O6oNypMdrEx8xSYwd/0CjKre
KBtpKSzymy+RGb6U4e2mzLrjeBV4mfjqXDkRPH8Ypzpcu+mbJKyVrw7u7fhtB1NSlyn1Zho7VCOr
n8PHW20v/+iP0+OEI+6TconRSQ/dPtBZtzaEEheTHgvcIiNzOxJ1EihsgpT65ae/9v2kc4yVM/PH
U7/x4cKEjdgljqmqiP5eg0Le+stXyDULuRyBAqkW43G6qzmeljnS2PVP91lBZer2pw584qDUoEAk
460G8M5R/lBqEJF0X/bInqRsT+g61+2RTsQ3irVYSPEAmWSzA2hZQHPcx3C1hsH8eIEfvtAPX659
p+6I/qX/ALjgIOQazozh2mNU3BzpNUl1DvfRq3w9eDf0+g8AuBbIMJvOVnD4p9Xdztslv/x4728v
6sIav/Uv0IrDDImkJ9HXrZ/T1rbh8XYVt8f0+RKMZhOt1O0yF1qJXsCt+z5QSFT/jSCpCZdU+CUP
c0mYYM7IYES02WMskN3auG2GS3FxwhxYfw80hOoAx08XZVO/hG8FmhXv1YBF5KkgPigckC/0Mr5u
2f8y3qk3sBUcYRm1z7cNLYKYIokh22BMEdFm3L9yDMbn4wU9kv4h+VSsY49pJgRf/n/98Y+//xOO
6E9X08xD4zDij987BLF9dKGwGaLxsx1iLdPVLWlVDH0kqnGKhk2V9fbg5h1h8AsUcqd3g8XM/4P5
fKQol6ikrhvaBqjIt5iik7l9PbLQemKNdJkWozylLF0BRMY5k2x4i5MhVG/oV325CrvcuL1tNMr+
8u+H2+vU0aqU0OrCSUDlhODBwYZQ9N+4yJRABRoIQQ3WNF5m+/fB8GbDARRtTyT453TK9xFJfdFZ
+OfKJthDgIFi8o6B3VmNUoZnsASdvp5tXrH/V8sHcAOO3QHajQwT5XToY/SAFjnH4TI8PvEnEHxV
trrwndx9X2z1d9SeKJUzXsY3InS/PN8GvSXYX1k5FINEt3Afa0AkndYZU/+6wG7q/Q7a3xlzmnPw
wfPctF9ciIzHeQxGAolI5YcbMSkFsxk1PqE5ptKcHTbrUczu3pDLGipV5ypBRs6flSv1OvTnQ6Dq
Fz/M6soL9HELAzB5toXG13v3wEa+SRHMwCqzplpDCgqEsvCUWEoeyxFiVKB3nDC89VX5eCeRC1RK
X6DHy1+BuekqS1NDm3gnU0qsrX09SxYySgeeP382XZECc/FCHnlnIohL402R81KppPU0m4Igff6w
Awg2GZnncdLJWDqCHEgTQ+DN5+3cv4YflVr7rMrbtZiEHX2Z/Iy2hECl5G/2Fb3Z62fjJfnnMTwu
Jks/oHwz9xXb3Yrf9Ndjf55tNpFWb6F9oZk1vhyT9Zzy8JySyk1xyLwEUoEAe6+1dufCYehCJ0y/
8HEEoYqHR38NqQviZuHkFNT+pVfCzFtf0shCICB1swTp3CSJjxtsQcJ8GG4zewVYLyhQoEpfL90n
1HL99UL4euVuxYqd2PVR2o4k2yNItTABxjprw7LJl8JYb+YYGysIMG+ClS5PvauFSwcg9SVfsG8L
p4+BX6O4uMnL/5Liq9yshdWqhqsyH2ZhUbnPTlzvprAjSeOmD60OF9iLQgpH2+5Ra4V0FGpfxpD/
cANTHTNq+9cxnuPtVnvLuSSisYrqMmN1vqyEVqCJfSnlpPkyY3FwFhgSqM5CyYK61jNf3U5kksKa
vTU8e/gYXzgv5U4sOKVAfDjHqXrhMwWaGAUR+JlKNpuPAf0P/Wo+xydbu2UKceKL6MdpN5KZGGJE
lCzDU/QY5b49M/67IGSFD6pAlAOBGHtjzhpd1uJTWY1wF6Tu9Z9rr5f5kw8B3kv5klb9VHAhVlm2
dkivw3wSCNjDkUOqTF4kawKP7vi8dJNAw0pADj5mrpOFTKUXhAufd11zZN5coFARCksf77B19+dD
v3+5ShnLGeEqDgtKuy0GcvyUH5O6ki83l67+oeQW5vyEew7NQiITSKTu2SgDJIT15RwkfME+N21V
gxxM0io8Lea966YwtGFJWgiD2Js03tVmkOBD5nUA2SxJBa452L+NLdpf+IYNZaWtY3EBTDMqfeMl
pnNMUZuam4h7XfiQYpK0FKa5uZkS/R1hEEcBwc7tukQ6Cbih9CUv9FCSNMJ3Wn/PxyQRhITjNRQL
45NEEEZ2N1UptprR30kFueJYfRA6TDPDhFr4EkssAmO3SiqfXEiS2fislCSVRHF9TUBbh62CogD1
KzyUvIiLKL21j0khDGHQqCxrgR5TXkSZ5ilQthQwyYTtTL0ViMvKhD0tah96YpILH2PAlCztKMkE
CU1rb6aSmZ/AjKLxBebEY+cAAVdWkyWFMEOGe8GaCElnKGNln1z3ZMJq0tIXeRXVFUd04/hDiyQJ
nKi8KODLSEEPVYHeH9JeZRwk3+KkLLssnFcGZY8oy1qDUe1ugJVeYLakELjPuxtTg97KnaHAEIYk
A2szhzIVuJ9mXtGVbARWes+HZMLEsnSddVnEzQoO7tdaORTfMQp/34mFecLnysSrPnNhWbkXsSPJ
BI2bJd5FFYLc8XbcVCWvxSgXVGbmRZheTpUwQydDlp3lhYeCHmD4ThBrNwoqE4YwJGsWLUhyYQjv
9sx157I6YZdZBiJz9JJc4H9W+WcoHOKsXGdp1lHzLeOIAdvLWLIkmK9Hqf/a/s6Fg597ozSi9Z2s
GgrVcRsnqfxmgjCxLJMkVzL9OCSio2UyYYZp5ccBS3JBr2feBzDp9sh4izwbtViWJXys2rT/atyx
wpZVjR8USDojWVv7tajI/KTwylMmDEkLH0uSXFBOeeJH20pSQU2nAZxF19sWzXvWgo3feYVwTTJw
+wzz0HXUOSkE4eetgJi5VgjakEFSoc5t4+5OkvhC00kh8LBIfThIy50g8KH0PjknhSAY+cawc69x
6bSUXvSppBSGsOaabG2ipZV4e6It7BB2uCx9JuFydQkbzTGkeGbFMlbYBF5LwZv2LGMFDVluWjgl
3uMjRU0KbzPEpJScvsJvmQobyaF7mNNXCENyb/+aJBVOT7oqGzCXrWB1ZLVPOS7MF7hQ1psLlAqy
LiyrSmMN2IRiSoJ67w+PqbvNl05tz/KXB4mFhXNhMMjX8zC9dM/HePjPw5/CoxOeBZXDLzpPVE3l
0t3e+CyEQ1JU3o1c5vCH/zz8TZhEtgaGrZes97mH8hIltpPYqKfM2XXNNplx4Q8yI4pVOphu2bkQ
oLCsTITZ8Cinyjd0iWjU9/6MbwHd1HciOcYXsP7yPPfNSafSyjxmGhrNrlyXOHimpukJE2MuAF7w
JndOb5jA5STwfueuCDZLYAu7p3HXdQjUs5TlR9JiKrYY4Eze+uckcTdlU1LTy3Xav3+nYrLI/Ee0
L/IiFxYozYtFhjB0qMg5J+tN2Ky8rcUzvREYaR4tS1fEX9plHi9PKvPFLHlhNoXPTPDN5vF56aXJ
sNgGxnvyVNB5laDzkoCVuhVmcTpNRJwNGUliEkYDtk078uEbJRXW1e7c90WHSavL2elKUZGFyB3P
g3hO+S1RW/jw8BrD7kFRe5Eul0lJl1XrvyhQcj6uF/y/YCAUJedI4bkkFrbqc3UdPoRs1YLFsjGI
nptiYp8418K2+9M2tKaYRU3R+mwy4sjnP//5KTCDXUsQzs/TJjx5YT+ZEwGTMQGV5WFGMVfgYOvz
DQTdLd0EzKCCV5C8MCVRmOYirCDzVdraSczjRUoULorMfyd7OdkIYpDt1LN7Dgt7ocGn4NyU7Pom
VQjM8dbvB3SINJ/cz6SlgR/Ucwu1lSTtmS+I7Fiagvrg1kbjsTbcu13Sh4Vfs3p5K+kjL0bo1u6V
lHy5y3iO2T3M6aLYqg6NBDW86JF4PTgfc0TvqvA9PgUNcOmKZqIHcdncWAtawQqgMyR1pb+vNvex
JP+GGT0gg3kSNJql85N+4a7JBZmrvYlmjrMm3cGlfxohlS2QYg/qfh9LnkjAEdLa/jDf+9PQXcR8
yaL0PkqFhV66w0t/j6GtbSFrqaIMWG1aWO/T+Bil/vRKXhtRS9IOSRcpa92Kst9W4h5LR6/dpZ7Y
DS/QYjsOAa+8CFlvMbOtihjGzqQkCU4DzvgO35fF3/x+q9UK0k3Ez1CJ2Ye+pUianzEDoh55lkcO
gWTBVKLOXpvXkZNQR7i7djylVVo+YW/BMlnRuk99VGx4HAd4XVVbGpEl5X7tqZRWF+vdrrRV4n9+
88utdCoDSvyEQJU4lVlQL7mvuZz3HiqFxWxT/nmsVq0FUzJNgWkE0osmlviutuft2238cRNR1Wh4
un7ML7eJxG/T+LxLNmrG4rGY7JSX22RiXYwqEGFt7FHvFZsSWSx6O0vFlMytxKa6rU4jY0TC1SRE
wd4EZUsJf7RN86c6eh9US9xNmIIMRA6vU/dmY+02pxbBgSix9hB6f8RcblZ94/S7DJCSyotaVvKN
/0mEAi/YRKh2S3oScUZCoVZrK71YInOIkFAP2eY+AOjQ0qQZecuFQoTC+9by8r18QQYOERKq6dZ1
mSKPUqGOilVIcpSTACGhupDVsJoYBR6BfhqgP9RAwaeV6I9KAU7QxTnMMlasjyVsHrqeM8X+WiDN
BM2+yOyZEzsztm0vwNeqjx4u6rJ97dV9exdAoluG12CqMbEZEemJBQaivAzHFwBFmQNeIKIpZRZN
KSOT38I/aArXezA8gyRSi+ukn4aqNQk1iUYgYEGwHJ3kEggkbiEF8wQEFAr8JXMpYHclpZADgbYM
X40s2hhryrqQUCLyxLJJ6aLD2SSWpylEAVON5LLalULYlZxxhGW9XLvHO1QmzX3ABcXRhf0+6Ira
9/VK2I7KfhwOTuolEAiz0/RTth25zRtdbagwB2NBJUvSmr1dQqjEtPbMh8+2fPhHf/w2PAQpMA0x
8MvUHWt1IMj868+GlsCHpGXbyOCFF1rD7UYaIz6xyrxZJbpowcdSYS6pZQxmEOVr1uBvgApgJgin
hPEH/LPNUaOJtIJ0MMy7LLEe0XqThMXkNdNaePZ9IloL3KjZKiCqXmZCgbPpgabxYQ7C1KraUmag
7CvuCPKXMS1k25q64wVNmAYOzkp8wToWJZfpgJIaMfvWISj1jHGYal/KkOyDVhPk3jKEuUMLGQAp
h6sc4lEaMn8muB10hw/P29y9CrdXwvhd2xyT7XFfrhCJbfX6wKfx2Qrk+DWQevQH7YIgDhm7GClP
q17tgrIZzv2HwH5+ObOmpMYuwEGEFY9lfuOhOzh/Z/5ATfawGVa4vr5luAOmrARhWc/ngToPqA+8
jjP0IaK+yhbvUX9mmNU3HmoWzj8Tb22ysLMNBhNbJpD9OsnUtbUrz2LIYD5gth7EH5f60wOA1hBQ
1e18eHRvy78RuLdyyerwBxE9wvOxZcHmqxofT5ny3fQ4jDfBMmWAFSxd+g0aR3SwUYfxFdreXQAC
SpOXRIEZ2S0dfHrQ6rvJVJSqSZ2+HY7wC0re2/C9R0Q5OPu6glf/8/U/fXTQwmYaf5h/LsykcRxU
DQASoQz4MjtIVxsRiZOOU62dnldlG5YDnKZHDgizmP76MX7rb4KYW0+Qw4ajvIAEYQ19eLR1kfFV
tnTP3a8Rw1Xrm+RfEkMGOOImABOD8BzFGFRtJNkSWE5+jAhzk7MlicHMAhzZGIGaLSSz+fd2o0RI
pJYBpxj02ZBQkZgKqgz/gbCDhduzzRx9aOUJG9gt4UawyfCruHhXg40/bnt64LUMehALynKwJv/X
uSYtjscMmIGP4fsQ6ApFF7d1gNrKY1QAoCOYlpIh2bDLn9pFt57LX3AD02Jtqee8R2bExJUcZYbA
DCiIXvdQML4zZlxSzfbaKLmBJIrM4Z5VZjm8b22S+c7wvZvA2gTrPbWblqHttTa/UfClfa9TFj2A
572Ng/UV45aJAMAppO2X3BxBBmprFpreHFs+CRGOPGbaWvdgh+FdtZZpTMOycInkTLqQ7mXQAQjg
RROnLT94x5uFynm8/n2O7VfVMO+txV/yEFeQw4XAEctgluoYIlQJhAo3LFZYFDHwYKbuBCbx1L/2
yig+Se5MkTKvHX/JA1E66eSz2BI8pKd56VM/QmwpK5n6KuGXWuRNLfCm9KuhhRQ4KI+hlxV9xXQG
/D5bQJJ/AkPv9vjT2J0hawp4LBxJSwfCdlXtO5JS5CuNHMnpeZTuPMYLiHykpSy77M/SwWZ3BeEX
eTWyFOFmVwWcr7RpQvMyis+8CAjTYryibH8ft4UgWMpmRaX1ZUBypIu4Xoe9Vyx/TMPp26eo/Phd
nNgeRDbsDZdNLORdtZv72Bf3yqSJJH5rZUVBsHfybC2/+VoHnyCxRzyL7MKE2HlaGSjpo/IUlTmr
X5+wARj7LbgUCH8sWpv45svrdcvFW5r6S/exeLVwC2vCajjs4oJIZT7wQq3EhO8Um8xlsqHHeTbE
CelcQ4l7/uIQgZrHCg52aVWgBCrtIHkJKmfg1v9Q3tztPP4QaDKxzKlTFv6/ClIWaNlTUqUIAJrq
PaVZ0PLBjVLqdVJ3Gf1YTmrOSp7NUFvgIZQT2EjtpBMEIJLY/NXpfQTgMAonCZ8KwFiH6M395fUg
wI6wlOOsxlMP/8v9NHUT8Bg3WF0mmBtps2OKAnhGWa9rxcs4nArLuMemjObpJjQJbLci5pqUPOmw
tC+TIvBH6aCJoTZqc9MpxwiZMDyAK3ZTigDSwFeLIdHSIvsY72JGdFZtqtQMmB/oHU2FThSO//1S
ZUBi8N9D/0NQOaW38VQ3Hbs3iFqZLgDKfw8t5DzMp246v+jyZUpL+nwRlsRyvjK8RJY0Vy8lARbB
SQ3F9KJUoiRIIk9loyywRKIk4B/wXEpgL5YGYdMR2qsd9021rqLNmAVPuOaglv0CYHQhIG2iJhOm
6oUdo89ISpoG167o6GQNpoohK2K8Q0BJmgQrFwMbTfu7mgw+dTiEDnS5CtxrHMQA7Vhqet1l6GZp
Niztn1Xz69FLpjG4UdJNzvLrWTaS2StAg7uN8D9Jq3B4oMrGaPvTcxoen3rj+Y6bvwr2jCdlxfQJ
WW0Fn9xCJLzvrSet22VSfM8zF86vkvdc2K7WRQZYWgJiX+YDCz9CEjz1RFJ/3Giyw/ETRXaBEO11
FOEl7MIRN1YAiOY1ACgce3BPnreLcgYFXrTrizNnNGKjWcJ1CoiSqU5QMit/MUt90UtFq/xFunFY
8ZZ2dMyjFGoeDMcr1TMF7gOzfVseSx/loB3k1aRMJl4u/e0t8ORMwxt3G3SdW3gqwqWSe1O2BVrC
tcLyipl4DA941xilw88KhkoqwCNs1tdXSDnTjH5M4/lJ93NBwXroY/hyeu9P30QriSV/s8QpGq2O
3dsktVbNGBSAEw2m8bfxeT+LbURYzTND0dJz79TsBXlP283MKW54G16xndh0ofULJGq3fo95Adgt
0zyDa30xTi/jDZiu/ycQ3t48/+tYs3hh90fqQY8HG37q9ucJpYijY8RiuCks30QboTvn/aHHh0U7
ZfCmTO9K9mdaB/BbJLs+bbZ558gIphDBgNHWFL6WCovm4aAW46zitGkQCwtwm5w+rjlVCytg7kwF
vk1aVXEIwZRBDJMZmbZROKCUob+mmLyhQ9FSSWHKoIgzfK1M4jC6KQMGRqDOPK2jIKApR3WuMUkG
/pftkIJ8jecSRzpLG26It1iCY7Jl3/r34dxzwVHi9ENZ50IkgUWYyMvNRC6R7LBctTpBe6dO9LvS
WoRto0UIKAlxAZoOC5m1BHitTe6FCryawyN/zHYgeiw+T3ANlbgttLySRa+BP1kubgsNYiFvSvPQ
mhf6RlEzWV378NYjb7AriJeekoSiNPQK6umhs+OX0d/VRo/C6HoZDVuT0v+0B8LsvI7iTq6G/Xv3
3XR8VLfFYeofz+l2+N5dnv3hXRmKF+nqTHkTDY6iKygFFhrhuJbS6Wa1k2Sxl1n8dLNQgWIHnj71
vzheeFp78cjEs82L4MFHrXdAvacM6AIxcLXZAT2EX8QIPo1mFUApvdebfAjsaMcvbZO79vq86R58
00kQp3wRJ+aChkgJh5yoZQs1TGapfdTUfA7dEdJjjpfu9k2gVi7UWHuVwNwEMoVdYkI3f1QVsxAh
BYq0/sZvmhaz/fxCDHm5jCcZFiutueFYWcNRAgFNedt48IkXAFsBUiVlQGRKXaGsaDCxwOSVz3wd
JOHL/VNnjXZJWb/M2IIXI90CuWYdIC7iFzGH4QMnzbxASQA6KYc1BUZYRHtBIXCwQLCEzAucaDI5
0L+NtRRX+vYfzx5ubn3csd3feOtvQqgpdTrtZDYzWbSqOL73Ejj17hgBP00XYQK130eX4BpS3o8z
Jacj1Wl9ih3j5YKZsYoPw3mH5b9qxZ6L+0FD8nU+dxW3myuWDF8vHY1lc4llcthAVUiSaUjm5qJk
caulsq4Pdtir4zZLZR0H07cLXxe18fiYuu/9NHcX6zoLbcSa0tcETSq3rJuMpe+V+BihUVyft7l/
LBEZRGeQ6DRur1xa+n28o6/6gjMXRrNaTXjrcx+9nEm8oLkkKS+iyOoIW5s5c1fMHPDF47k40vgY
OhJcIhXrkeSzH1tVQH+HsRX2XCh0drO5054nR/jXiq+P4aoms8fZpLXZzMJMOzAWSns9c2a2g9ZX
ZqYwWZZpjaHuENFjNw8SnWSTaBmd3E52Zm7TRB31e+/md6p7iEpa5ZvaX8c7tpX9Q2Rw7rY+zJh7
saSGo28Qac9MR59l1pQ6j5+d/aUW29gstsuXkVLKIINqcG0bvHTzPLzdXs5PyPN+kcOyDA+Jgm0a
W3IhfLoMp2+LyfQ12vaeRby+QqNALMTeJ6mzIIdvttheJu5vp4Q3m38CpS9+56OgXyL8VCofqO8y
+N493uUX7CTzYUUtBCImWMZAiOCmrEt3+NQrEZOavjHwLPP+5WzCOAvmJAeksT3A1uKADsJL2EEg
Uuy9EdaUJ6uZzH03nYTY+bpTRrZaiDr/wte9XaUdLoi7mLbeRpdWDODJ7TRehOkXPoTIqSfTzuTe
wGvbC0JNC5RYH6cssU3vFiVhJgMAhA/hVSht8zVgttvGcYevxLA32H3BxFNWEglvBAMWvI5fdZfL
+ONlech8OX2eLv3L430an2/vdlrSE2Laet+81hyPMbv1O1SazF0JjpRDwMC/sjqpqZt23fiU7Jd0
a7ZGJms9IoBPwCADYqSIgcSyqIqlpBWcFibwi2YqvQilLRPVbJ3g0rh0CTEQuspLAlr6pMu7hfDs
IfMsWTdaW2mz+zgJ7/UM9mnBKNfZLcZkcy9nk4PxNr5ch9tzDgc92soJE+r/6XRJTUUKIRORghNx
G7YbIvqyQJM3SKlKWCjHxjyVA3wcblpdanoh54kmlDirogmZ1F1NIDaTxkZf06WjcSgiiV9tbIws
1Y9BomtIUSf2HfAsS12I5+PbSz9NwoztVrJ25NqFAwVmc3O0V5+GiaV2LU2BvwjTgkwN2JzuEu60
S1O0QWnmOnunWAhzSy2fEaBT/Uqz+/s4QKAKnuCtqOjIgeDRs6okFivP4x43y6xlclY4TjQcwsf4
olSrIK+tDT3WGP9OBMEvBRFsfYLvnsT7c37/6r7ZA848e+++cYUYyCajTayZgCG2UfM/K679s59G
YU4p4xk21nQJgBMrSHjZMgnP8Jc6vCppIY6uKeiaLVs/y4XlZL6jEYrg0mazB6KKCmJdBmIXacC6
Ez5rZ99W6KlUGy4KPMzC4ublo6BxEld0S7pEcuEc1MLEUg+xUu6yRDxlFxArXfZ+XyLDFB2E4iox
oEwXQctuj4ISR9IwJ0tBIjOuH6mOQu7RSnNmajUvk0LHigqvMSCerJKdTMgQ1A9sgr7oXpX58hK9
lBw7o6RX5yoVA920NFdOE589oM7LbXzpprdw6imtzm5ti/mPbfKF1UmKxLKtgYy3RtdI+oVPMCma
xjHHEn6SRLOpSZjgMACZ7c0hGyK5X5UlwpfZ21u1NEmOXzCSsFjtiIghdVat9/t+EU3jJqDcdJ1F
f+zud8ijJLSQx0hZS8du7qswVl2b25AsPjPqpundbbguwV5TXHFSvijiJFwVCcCxvAg1/VntYg4Y
lNDLezfdQtlqNLJ1kd90yyzwvM7DrLyw0zsGiYVFMfg2qD7UatNMf7h9H78FriGaAYuLpgvA0DJ+
qdgRKJS+F4BTdzv1lx3fb9z568AuRsZn/fgxXAjhpv/orveLUKBccaQwNE+b5U1Led0G3IWeU6je
6qYO1DjhTzC/IuCY4lwLxqt68UyUyMzdW48kIPFS+bjPEyVQPu7C3helG1TWgNi3791lOB+eN3h8
HC79+TB1Pw56boflh+PtJEhFkbsPQqXNYlxIKevz+YFRCEG6GPJHstSvu3TsE6pAp/LNB9FABA+e
hhaOgJTZl9gUxBokNmXu8gxtSKU8rLg1nftJRHEsrHqBrCF9kgTpCNFhaBX2MdEulF46XvTEXiAn
62WR7xelNgATQGBoUTvntfLt6X0aTTp1d3kbleJ/vwpb1LozrjwUoweY5uZ9QFrLrRo1/FPSiY27
rbmHiu0oR6A0Qgkh0Sw3NHVyq2EUoJJcDhldH7RXB1Qu+5642rLwzdqlxEs5YeMPwQA4kqySzbsV
K/Ug1XeYnjfQtvSFMK269omlOz01q7l//KKojU9BG5QMo6dcXnmceVD5ayjvgRbHsI4g6pJ7qOyc
UJ24E/KtLT6hsvRxaC97C1dDFr6twi0naUJbReso6McC9TrzQbB+Glc9VYl//2Rgc1pn5UMh1spc
SzwnK1BKXI41QZn6I0RZv3cS9+2hxyezSj4+glylLt5T/qt2Ihd2wnsqN6vmDBWWXbtIzpX/FOwj
VjU+k8TZ2Z3iXFomwn1T+I74PrVYlXFuORXc+6TF3vwQO9IhpHoH7bh2yzlp1+Xd7IsrVoJ6YPxs
FoCcDbkdp7dapdxUQbUZ52LFFLl9nQ3v8k6qLgNzHUnyHUNE44mqVqaXbbTOneUuzVDnbhJKuxUX
YVWZz7TpzmfMPfmTVhyCadT47ODgKvaYB3XmQ8r/qqbLhA+0jnLSHwjfFDsu2WIlcr9uzqkw52YD
dhiV6ahOqAou0hVFRes0ao4d4PFbsErrauN7W1P3Mo538nKvg5rxo5u/6YBY1F1jstra1yIgYEnF
PaKc9T2oWaHg/DkD8jkl4UH166m7d8fhggg1S/rTUuLGC8hPBGEkoEIxOCYbD/lPQ+uPv//Nj3H6
JgAf1YV9WmIt9Ex6hX7TqvwdwSkKwQDtCgpp6BB0eEzZutNulgxSYUztjqmXZzNhTOUfk0pjSh8I
OgRChTHNZj3rfQhvgH0UhAtGaw0x2YbG+UHTtMjs2Liy8DNH3Ljch14Y2TiWL52ydF1x46xQYXSh
3LFxReuOqfZsXOasp2iduiW0DbDWWNiGyseRhQB0HXqGyq+IQO2en9IEfkEr4MwPnoY29BduNRX9
DHD74K8egM/6AHyC+Xk3eR/+oKRV13kKnFe/mizNub92isppZsmY8P3UdqZfwGYJ54qi1GtcU6UC
7/iH00Wp/kOHUNYO4uisLsf757IkAiANsq1k6HGIBFW5yLf0GawwmfqbQMYeApPMsMFldZqpePiO
rUuCOL30GdZVgqXUbtqpLMzYSbhiYKl4d2nCCMuGFAGcxCG6/JVA1M7W5GO6sMJsp7W+idjiRDZz
qxNqd8s6AAk/9/Opv507CS+NAXOy5B0QKCs9MXj4isHD40vQSn7sPBCkWKBjtQ5vm+ShIyKQEy2m
0pMlFczKtGa1s1KBmj0hYDvqm31NTRhfrSHhiuDaguDHRKl2bAzTTs05ZJJi27fgknXXYFDauyH0
iUa76miQBICaT8okxuIKpdyhYAKb/M3vfa+PRfCvD9gmRMoTKhlAIiFameholGguEGXJR/g2qBtL
xolmAlF7pAm3qdC6AhNCiGOrRgYkdsIWcDhE/YtXcucVRvUh2HiUyFpxZo+PIaI7lt64SrLaQ0/a
9Hp7ExkzQNfsOTesMgpOL3qGa4L4eGXCW4WOsKcsIxfBZwE3PbBCJGCKpgp9t5i85+58CJef0MjE
jrQPYPrTtxG7A6r/k0Y8EKCX30pDcqa6qHBq1DQHKMvGO84E8UEwQfpLPi4Jj6vsOPa2padPL3gM
n/0OyYBhXpimgYXjwptJFOHJWx4WmFlUuPmywXaTNLq1S7DP1HoJgMdETjPyXOB8YyfPbHcxbkGf
t7LHrGIjexBP0OGEW/8AD1UQpcKyr1yOmaZkrOvw0ScajbufnAbcOf0t/IiIJydJnOXoHFVXIIT2
8CQHtSvEznEMdqSgoa0wdDnJqcAAe4DqZjEFjAw2YRm0zM8IfSNxDwPbSuHr5UIFXthzvywK42tB
kZlA0uo8HgRutIV7Nly10Ia5YdeR4h/Ur/WeuQg6trU0TaXfVrxnUU23VjhZccNaOnKBv7kVLxuN
Mfwow/xI2b6gYCZ6b8zYKjw2Y9oN8iXUr7Uztg6PtfNtkhxTkIrUvWHUXfnRn55QAYsxQGXQPB9n
dRULbGS3XQKvYqXJZWNUX8cnwNcx+gLB3Le1Znl5+PZhpx2vIvVrGxAL6cwzMvYNxVyaSZi7Fecu
pmrl7VpXRS+OtvHdP689pHjN04lMmMv9vVty2QSbvHaLx03YF8BKhFGlr0wfB1HEPPLRYuNYwwK6
4fKcpGHV5qtkxl2G2zcyheF3cF/pfL6LEs8bWoyz5Jcw6x350Zjwsmm1fOCRP2z1iFYWtxnpJ9T1
BiwYAguKNp+uWJ0qM52J2tTf1T8ntxTgkt4kbMGKFYpmLXWXZ7SieKxly0vVcovmrFdmAK0Przqj
T5hJyoGGrZcRXFUm0MrXOLO1TCsXaBV+2DLNoeEKLXSEasWS1bNqgIx2j9VIH+eQzYWGbDZOSPc8
D6Prg8BPQpY0nnyG3ZZjz0qNJUkjYwliRKJdQTprfBbz8Sz88cbzcbOaU3f73s3OcjDNymZK/Qaf
W39z7k/DVWBa6eBllrYLwJocetZhMlXjh91ck9EN0n+jbvXhLEyLo8vyqs7sDI1rTBc09d/UddNb
GPKlcCpoWzuxHQJVsoJE3f+r8S6KWN1fBS6Xa7BcHWkbf6+8kf/6259+c1fW931SezV9nsbL+JzC
ayo5piCUeZk1WWqX8Uc/neCKeN6G03gWdq4JMAidEsRJF2bCuctbsqw5pDHEBQal++RHyc1vl1ht
/3EXJIiBX2OhiHHjApt3F7CKy7zyQ/5bjh/Ht+ccdOSQCMMdczgtrlEJ+ABQJn9/CrX7JYN50/Or
HSwFtUqoDb79hhSHOs3T+K3/WT7TWbFG7Ex5z/LfTBgPfpu68yBeeykX/lJnegd34q4EVyRXBBC0
7F6Y8pT5N6mwG+ka1ilbkYkKrQMn1eIRiG/oj/fhQQ3lhO2s1gBduX0eVXrveZv60/h2G2ZlwkdP
eFIFTviy0tso9ZUkNVGsL7IdwjveLp+xpQaaaWj18wi1/Cb1U/gVtF2Zw6nw4ho/HXXb7JlH0dZ+
IGMcHAMAKfloibVTfx2/S8vg/SOoKZDvwJ4ug6A203x9t+QeGvdOANEu02oF4KatQFFWoueeo9bl
+MsOquPpId3wvCkGXhLFnpmGCqKIZO7HOTYnzCqn64DJ6MLBTdb+QuHfC1Tt4e2oV4wr1uf/7/f+
7Tf/eHYXuCqUnX97Knt9EhRfwJHxGSDdfBoG4ehlq84teWWPjoj4UrabFi11fPPeAx2v6QDVfivE
q3eP3Xl+vr4OAr2Et6VJLOSkbNXIpghvTMNbAoXmKPMwCRx3u5NQX/5jOEvnvU1XnRy00+bK6Xl4
xUaBkqVQ+M+Oa/XP793US9q48BsIfntDNqx4UwUw4o14+mntM9aKyn+sUeQXXBiB3dX6yNS+84wB
KuEMVwGT0buyiB7l3SMkL1ITi5sFRbbTLeUnJ2ZqFH6+izSjDnQZ0Per3djr23GEUH6815ME7xlO
VRD+gcQ39/RYEfyCx3AVb6SsXJuSJrKoI1ZYgnuXvIqkWe9sE5gSvM4IU9k4wYVL54zs/6NAgV+v
WZjVJLQxgQ2oZVd1KVv9H89eUF3l+gLKDRW9Q0u3VYFI6t8k/7pkAWKdndK8YkbXdrd6qVdHyXtR
EaHGEwEJmwnVmjFZ0OnLhdMViFcETKHx+ZiHcz9BNpYwt2RtvydxvRJGnCKt0v4KE1q+dsrG72lx
2erOoJsF0WKIbfBfK4VUpOhMXvvvaNdkUPfpbQboTMFkaNfnjtmP5/7SS0LJMdBIHNY6ZOp+/BEb
EITbEJB4c9crtwE+dz2zaIulzVofSedWNGTzjUPbho1E6PAWtWRLv7Z9jL+7jEc6NeGLt/XfQnqw
ePAZ1L82dnyRU6hMufQf8chp6fchjaMft74K54WCeetmp2kOwi4HTCXX4g4WTZPcJn6GrqPjYvC2
cBAAdxgHr8PlEgsZ5muM/dWBmoI5pCS3yfoY+Tze7ByGiSIeZ4FI63pldKr3RUNb/74vpk8Yb5lO
UB27AO0NlgnnIfOfbPmhRb7ky4D/5rM5w1uX+a0pI40QDJjh+e8xfJfMQx6WrWx7bfHik5fHOxfE
7Tw5usPaexIcatE4q0TnXUimojVmv8IRkZ6XePtbWmEhrHBPBLrY8CwXKEaMGdbb0OkPL8islN9N
NNuYGnUsucjh5G00CNMp8Sjl9354e5di5JtgQR0yJ7RKDWubNOhO7HmYK9rqSxpwj2oPmBSL/qMu
xYLUt34CZkmxOHnB0yfALDAtKvmWSy6ET8uZB3WdecEf1PWPmHyGiicbVkYO7xm6puMJ5Uf3g1J8
UuVlwyAaWMtJ/fUYzlHDgCxYJdGeRBIabqunQE1Wu7ItaGS2wYNYci2UI+GmWsAP9uAJF8zPwxZX
OtcTxp/GcToLIs8fsnnwFgdb7BeBQOG3h2j2751kFXLDcvEBDT+G65vDjtt4w/MLWTVhvwKxU1nd
A8tip8aY2PuJLN+HRIJV0lQLYAro3nkpyoOaNvzJDlSChpV1p5X+VR8lMbeawGBbX22k4tBvdqyE
VZZQknaiE9LjR40I1G4NF0kXauQo3hPNvtlUwjGAq1BvMPp25msG6OwnJrQJFFjlWL00YFH6HILq
h/vw0V8OZ7SwPk1eotAApGHYUqxDtYyM0DBkA52fpUtm9BKw3gO7qB2kYrGC17NYuH/FwFmXIM39
BbXvjU6IJiqoo9SHWrbINhLeI9wM5kYj7uuixKVQBzIvZRln9ZI5XOR5ljNloFEOmD7QPeEtOBt2
nw0nplX8kZYXt2naiM3/Cl79aer7m5Ax1/qalOsmLdTQTIp6VCyzIMNF6058ekGzuryO48fLfbw/
7/NLP5+6O5bfhimmm5QKOuDw8v2iyQ63l/N4fZFyGlk4hvrC5xatUTf02LM+Fu7WzUqaPesTEiTZ
W2xWY0AD/lfy3YuUKBGZ1B9E532Xdm2gMx10cdV0UmGRcHeZdQobwMNykEdk3LgVUeoiIUBcELGC
9dOAX5wZRvKhiQJrxwBxhVzHFXxiJeweC29kuiWPc+7u9/52xjpxrNaMZgRXLMMQe79UwVkJZ4b5
CrqHwq5TKO0e8x6o41uxUyQk5vGuouj3wv/KnYQlncE8E8ixS+tqf85ws15peAsKYW2sTRO+BC3Y
qErjYw9aR+HjT160j/uymID+C8neuBlaDdo1JaqP7oggD8KFxgBvbXcjdwYm9ctPgHUyQw2Rswm8
nD9v3XU4YZ+VfoJ2Mp0J8HipMcS2DLMWNaiVl1p3nMeLvq791BJGDRZamcICxZjnpSOUIov2AJVy
zk7QT6CHXbgAPK9dk9U0BgIZOYQgf2gkA+iwVSxUYPW38Ycy+B7v4/kgFOpWeeJ2OAyRyAUSqdvx
UMcd/2Mchfr5vHBLQbRpgK98v/xOLJjPahcyhYbSWwzABwUhimm0tz+jHqaXK2xWVvlY/lAzHiRA
hTzft1Op8OXW+2UUsIWQMAP/xP+viN+Ql65oMq3zQOgux8zcMQnvGuTjUTB0kHTxiWi75Y81G7lc
Jv86jm40JjIHK+IG5nIhNa3p/DGoMIlW5espOvfYGPlv8eG1T36J9z/1FwG4hMNh2aNOjIyMLJxm
qxoH7dSHkNBp0BYNCaMdFmxXeeRXQGBR18wZsb+UnaV5qZHX1Rci7MiKjb+/7Axgk3xlkzMv2g3V
w5B6cLBd6GcviXhoS1fgM96VJmg60NDcuzLsMdWd4BJ0mQXzPPePbri4hTuP8e3tInS1pLJKVo5p
UWM0OWFY5lbAZ5Zl56G7jG5cSv9ofh9//Hk8SwX6VeWAK2iB0+NPl3EW6tkrW8CM21jwsdBeTxhq
640RlzHVl/3bND7RSlxXEb4Ob8/JvfGXf0t/Fy5aZK0/1+rpffKTfBcgn3hD5MI9COPFT079HDvE
Tf1rHIGDNXbOITJj2jcCXv409+dDehIGW72foajpXRGmIoC1sIbRGdp7+k4YL7+ZH930OOiHHjix
0opKX+yTTUkYynABsW3eihVnoVY1YZOvtEm5YsWyivi2VJyz5F+v5nIUltGwwQVazNG5CKAvdbLe
lzy4LxIZdjAsOqpdkFRgzCK4FU3DHSx8tuFoPehotRtmKDo7t4VxFl9vyvVp6QQG1PFtWZ0WiZ2Z
5+wtWvrsVw1nQYJZZw0DT27I3f3U7mGVW67gK1hJ7TOgtp7SxZFuKuuXuYUU9X0SbpOSQcVY5wZo
3fof2BviOJwHYUIWfyLDGLJ+m+Zfj4oUzaRhlIxImcVdBv/a1M8NcUC81XhLFLkTPmWtAb+69pMF
5IfzMAl0U0a3sM65jy70vLl0n0R/eATSExKDruGSLfdMdxTkqLSGjVOKHyEpiWZZ/CqmXocPCUej
TPZTFcWrYHBQdJEkAiEBcaXgctqgIl4TEpZTubAgTXAOIGzHHn6oZPncTyKTSra2RBsMiwoMqJmz
cP9X+RbIQpNTZp/PW+BmYSxGsZTbJhalfJntIzBbAfqvKoKzPQ/fA/SG7wLBzCVYazsZUmmtMzJu
uaB/hCApl+7YC8clb1x8NW3iEYHYWBc3qHbG4scxPUlwbAp7rBgcOqcAeQ/zJYSpTtOofXcHJzJB
uozkzOSt7zxoEt+7y1MYW1hti+j+NR8bzHqmzxY+TDA9lJ5OpfOWVxtILiNwyvN/rIRC/wh92k58
n2cIoLaft6H4XQROLBhwIkMp04Pxfb2TDyXDfTURyyXSoPZyk5TyY+ruxuINWeG0T5VfhS9U91ka
Bb+0M0vGnUcnECjXpkrmzkPGkSsKn7QD1DDoE4Q4FgazQAJDMQIpPczPI5ayqn1KSEn1jw69CKk7
QNPkbic+naAGxB4G/DmIzEoUOFI/9iPmFheoIGfD6SeRfC46HwwB0jaPw/H8BUGiwDDrcrcZ+bUH
SC8+MfyJQCt39UTFbebxTf1zN6C0/FBwOspV0LYwuO04UhiXBmNwr0N/OUOWhRtSohZnsjfG4IyZ
R/l/f/nzn/4DiP7cP/4goDwRicwHmMU+LwC2lwyTeR3qgfcjtPacVekfksIV2JWkm2Dwkgdyuz9d
qj/6/luYFEPMZ30ewqVJOCh3wcf0IFKq4VFp4QqHbo7VAYISGiBQU3w4iQhkeeELg78OFwm/mAeL
bfeX63C79Le3QAUyDWx9OPY6x/Ulju5dht5/YI/QlY/xjL07sRsZgdwFRq/eCnSNa99Np/cX/Lgg
D+wEWwsors7pw948NuxlIigN3uzBRm7RyvlzCIGEBjJ0YAsmyLh7eu9P347jh8Df2vsyBeIvTZm9
qrGXEUhVw8VeRinEv2RhJ06P3knEQS/ZGxp/wIQVKpssrIRS77uTZg+uM1z1QlwuGfQ0q6m7d/P8
Y5yEiBF7p2bC21+7QWKONzV16v/xHJSzt+vQNT6TD/WMMKj04ec/lCK9v4uHjb0RYujJZADdJMWS
Jz7OSNl/JXs/ZF16jcgJ/Mx8APBQTia8KqStD+hR/hBvmgP/GUC081nqNcFeyhiYchA0iL6U+RTG
tfuI6vPGPe26L0kYloQ2K/XlFsd1S1q6ibVWSQgzTLzPOWgQwyvUNEJD5depo6Ti50T9QoJuHRm0
q15OzIUZn4+1vUA/Erjfuo/i1a63TcqryXxdP9HKgwXyWfAfzAd8/XwF3/0gGny1e/KJPpIC2+Ic
jCfSfuU+MHx3IgsZeR7efIcgJeGiSVfyUFlKuguPiFRKNDJfAgDSIH9KTDsuVy0zdGq8u5grtCmX
TDDWxYPdQi4RyKKlChNhLWl4LU9oDhVJ9i9ZAw/T2tMoHO1p6Kcqli4OLIK4Y3e/X5SAL3Ec8I6F
U9f42qpvPwQZ7T+bP/wtaHgjzTZxmsg1vImcJUjozqYzCt3ywjxrX1fC4MoFQq3bjVd7zWjXIKR8
h8fcjO0fh4jaWnW2K62ZJCQy09DSbcRdCUkoXLfO2ruc0BW5PISSBdaikjVKBWK/Rb69mDTdl+58
Dnq/RKp0m8q3Cyk6n8LIypWxlXu6HK0kFWgUbjdQ5qVe+jfIPHaiHfSjSBxxlR+iJYFqYbrBpK6g
pf5juFx0HE4S0tQnC7h1NohHv4UAz2Mc/zRK1XGsISgrUVjTg7n9d3xuia9bcHBup6e6KK9/kAti
WDtq5oataU499DD7b01Z2GJWXgMqJG39c0SbZgc5qzGcyufgksFt/PMw4y0hrLnwtW+W9vjnd93C
LUCQlUCqH7SRjSGPU0DPI6JWy6GVkMlEdbBgx+rTL0kROHA7iNZ7xGghin7vf8Gz2utF6Dna1KsY
q0BWPDmseTBrYiFt0HAWZmWlnBV/yYv9y/foWjN3v9krmi4mc+Cy6UffpTNEEc/GtaJLduuSbXh4
6x8PyS9hjTwxrNUwEgj8LmVQlpVrWTrX/qGbv2ETkkhMoix9npGmQZnswuDazScxWLR4L0OQ9i8U
Bv1pvGhTRKDlNiYoWz6R8HsZjW190RhpHodOypNh7TPRMIivi/b7j6JzUq5i2SZHEXwIngjqvk2o
P7/0r68hk5pqjG2djzk2Npg8r1O94+RsTZTpvPK/XqPECeRLgXg8hlnldvBurN2uzJTvat1uV058
dDy76THw51v/VCbI5aBRUg/382s4F7fkGYesqoQTUhbkBQ+qOjBQdhaugUKS7NhleAL0sfWTvE/9
Se1wsFCJSPLOePiKVy4kwSmC5JyDhDpNa2X5YviMo7XxamId9GtQM4MfC8tk6i3DAuN2H+eEZZaB
ZFJOEh4970Jn2opl32aoP3UcVVilNKV6ndTppTY/lbH3vOE+Tk+hSIUlgFAuoo5QrehRwGof16od
IixAbNAyi13L3ExLOgacZGZzRoHkvZu6N7WR7/pgg2+mnAbhKqxYFrSTdxk7VdIMs7i4zT3MVWrv
yu5oJ2fZYb8cf6zYLWt5teQgDKuqb7EuoQ6XTRzdx2P1x2DeAZFigkW1iVqwaCD0nRlumL/Q3U49
xAaFGgwnWdVI2IL74YJ+/AZ1PhlHYuVUmfhqzfT4ecf41Pf6F0ccoaqSdvP2vHD67JZtIrvkbWMa
nurOjW4eg0EKEuLWn9wMA5VxNk2D8L5W8cRu3h0VRmMpsvBhpv8x6p61+0tgCm+wEFj3YyWl7M/C
Mtj5wVe0ItE2iQ0rC4ZH6TqRGTMtlUxTasTcP4Enl26e+yWGJO0oi8kuLXV1QyyhNGiVXWFcxNNz
xosefyd8s9okcCMPzpAnch2w35b8SlbxB95s8VocEsJg9nBQLkltocxhGpJv3hrYY6BONRSrqVLf
N82rafi7ic+fMMaqMK5wP6dbXt1iw0r3Ibs1L+ADuHFht5eWmG0aSVOvYdneY5F00L51YYVJGMSQ
bjLtDDsoJtf+0Tm10fCDVRpR93btwCbtsZpNd3x7PCb6t++Px/0AG4wlF2oC73SeqIRbgyEISDI5
A1qpK9aPUnmjmOFqumgLNAonyp7T/3RHTDBudO/h+fB66d4owB62JohkxknmFLjXDRN0l29hcMUH
NzQfDeogzUcI+hY22pRjZ2L1a6pbxj/g7p7fu7Mi/Jh6CbKp3DK7YS2aoSmjzYxTl63EocSNp7NH
Smq/7YRZ4CcvYWAj9EQZFD2+NmowIBwqHmUazWC74IgZsAo9GexpKsBnFAwTOquzhv7X0uGEQS80
keH2AqEBuMA+wrQYzkiN3WIbthYhBZZGW7gZyIZF6KF9OBYF62bEm9SjFQN4RY4Zo37w8q7O7Mvz
Nt/7ExhIwkHNrQSyt3hLRNJ7dDG37htPuSIQbnhBwxsfRB0OF9HmafL2OAMAlzYKcHB3HJ+Pl6MS
fQEfL6tdlLvKjp+nk1JRwqfzzWO+s+w9rGcPFqD6efH08FhDWcBPyGZOCkFGGVw5Igbq5hFstHRY
LGAQIqg1m8G5MNiCAkGood1+OZPOVuNi5ZS8uur2bat25ve+f0TQgYjNDOGEe5CMSliDEYVmTaFc
zMQYoBMRKLZqPltPgtq/gvAIhGoGF8O8PZzJDpVIRCr3gYctZuovkPkqjC03QGy6iaxyx/pO158A
1DymUvMfPtQCLx1FOB5CNnqa2oz8tAa7X/2qo3MT4BSg2TjHqCS2gsXp7XICP/gSHd2yOTA00tXK
DvBn9D/lFdnkfN26y+RX9dGhrLE3h54/jU9l5/3j2T8pIRTiH2+fmKHzNpkMAZmyTYN3mgMdqWE8
0CNQFZlRbLM4lO1bf+unLsrn1D5R5xBbzjNd6ddNR8JtZK8OMiVWb0O/6PzI4Q5gFNP4fHuP0rC5
+CkKnpE7xZInvMddPpHbiFYYZ029pqajKcfPBzzqQ5LcZgejRIv1rhWCPESp8bbxpW6NR7iT8Dq+
eSQ4jbcbPWudNPisn7jiY7GgvcKM0fA2KaA95VMQVXiK+QWO1M+0z7EniDqxFgu+bJAi/f1f/vzL
+K2//UlSXxXLjcGxJPE/QRDlP0M5zjSwdnRmY2sYYvOtWqv88VKtl6H0AhUnUDrpetpB+E94rIJJ
/7m7C8zKfQtGnsPFHGc2e3atFwtLMftnjL5J365Y5hV+mxTDX7H6WeR2nZQuqlljZw2SEucYw7CF
mGOqLbv4QCtbKRiHRgHAp397O72PU5wEe5S3eXqR9TIRyZxd2vf4Sh+u2NwR7I7IyLlsdVI5821J
nSyZcMJAdiSKRSw1f36irLc/nAeEyBJmnfm2+qeff0bA8t/3p0s3yQlvVbPKL6ldafnb+CMu5om7
aSTmAM8vfJYJabr4tfBZYl5cUlg6EHdtfy8BS9JIln9ItgWdrZ8xWvC3EPQbLbVZQ+AyacOc4/jE
a0cpNDqmzLRhFG+ZLoh0uSB4hYC+Hg5CuzIaXi/D0fNsHe4dCM1OWgxRSRYqLDzxtYuusBcdYShq
PD3nEj0sC4NbuhfIlQs5jf+bWbjjyaJ6T4fn3M+K7Ju686bPw/iqQQvOUQFitZUo7wxPebJ7Nx9W
K5g/lQ6cxtv4nC9hn75iuVkslTVGfRamm7hphzUnCDD4M+wQPC0+b99uigniawSRTH3JnlEODLeF
u4cf0yBkVVUsD2qNWa13bvlMJH2cJpz7ckw1ubl/MHD3+UBukrJqpl5SnNlmnwjsG7t+395w0PKn
g2EOnqv4jOs0dUI7OrQNN+EBK+cidyK7wyESbJp22Pn0NzxIy7mahakw3O+M0Kd9du5ylnTWzutw
k85pa4+9ug0z+l+xynHWid9WkQgEc6uK0oVhy4KFgY2dCfkwNPQnynGlxf1Nry1MprYLahuN/g5L
OY/3x74FZAuBHKOk+kaDAexGoDYJ/Y9HN731gsiztEktAibdSv1LgqGnO0LHF+bHi/mLF+HygCeU
mqUqOOV0C4FTd3qn6J1/fOGiIaxGG6hbQoaUkuZqlgvj9LqxM6G7CJLZp/4plOXWPHGlJvAj9b/U
QBequ+GX/uNhqvilrMaa5V3ouIMpX42Myzd4ofig1T9O77o9xnwbXl/p3XicvgntT2qmpA3wp32o
OWhK4eE8R9ia1eGeHDSI20cV6zsdhjGnuSZuoxdT63Af9D+npzbnD4dZydi1Dz8apPm6e3xm4lCa
AkHXCgQYLje6GUnjEsCWo5PS68JmECX7flFA9LvIC5cSAdMLBOxTTg7OSt6upnINXQg0nKH+Uzhh
xQoKgcSWwVD/6war3yofR+N0WobLjiur/IwVVmRfxnKwyPI29axImAJ7WYNbrc5X4yHpsHt0oboy
mgTH8qfOfiEicRFheOugQNKq8G0R9jHQ4hLns33Aqwt8IV/RhCpvKhOJUbJnqYAobLEWoJ0zYm2X
se9L0QZmJEzFMqqAfIwiS7ZHIT4R+yyYg37MqzLGbmFKrA0DrKpqS1MupNNr4DeHhfYdQG2gY1ps
mgnrqYmQFWWh3SOg9zpc1H0idW5KWGZ0hiZBk9jx2/kIE7GijrWhZcoIfWE9TI+RqVNZMubRUvN7
FpaVr/sECmSik2L53tbC3a5tr7ZPWBNS2/PA0DuN47ehj0+KPeplRWUjwM7OhUWSdYvMQU3lOlMD
h8s9/xL2lKmbeaR+fmjxifK3WXeubCy927hH/FgXsQzjqknpkWPlXp0BH6m7CLLT1uzkA2dq35GI
6Y8kYfkMcCHXXpkBYIpnfLOddsvYHTYPUxPI8GPRYmhsI3jCtrPbDM5p2tbStgubxbs9wjS40tqj
a9hmo+WUN9J5FAilwooiSj1p2ClA+ykv/FIbl3/WA4XgyYr1NOI0WEMpLCOostV5jmsURgK3qPXd
JfGZ8G41mcYWk45iXPrtxAowNIqsMXXX/3gqz1QPwt8f0LeEyq5TT78PuxWsvjmHLNxcp+G6pNRW
QhaRRMdGq3VdSe7QgR7MmP08P4+Cc5S7gbjGoQHPpHepFLRmHV10F8fVasbb/LxKy+DeWW3bQLrs
0FmXQO48CLmpRJK9J2LqSVM6JOWeefWqRLhqXbaehS+zmkY0KtPFo1rtbUxGChYnwTa8tAI0Ig5v
l/HY6ZJ6MOKlPEe8FnhD36VLm0dWMmFlxSa1aTs+j8ha6ZSaVe5GL8ArAoFVVX4dlhSBtyxjlNcC
GTLnYVazOAp5XnW1AmRwDx6BiImcYPACWAHhEnjHFBQh+Fm7cdiq8R25g5ynV7Nic/NChpE9+jgO
0b+X+nQWLC8CU73gTVknY+rR8sYWLGkEXUL7WmcISH3M05TLdmrjKWawbFWmrCUi6+ZrBqOmEII5
rCEjxVdTZ/gNkCYu0DU7PH1rDOBTZ+EQOI3XYyhiXbCcKOR8ZpPs7uNlOA29yd3SHsLzNnev2Asz
7llvGhaas6ZpGQPhvb/tdEd52zdKT6n8JCNTSzd9qb1TE9aWrLtxarN2vh+OytP/JmQvpylvOpzZ
kPrydaXc43Ei3rCP0hmyIJU4Q3gPztL2xGPridPI1zRad0JWdgTGZr5m0FGRiU+uXjen1GKOZ5sS
SDHsesAc4eBrxoKzXTiXGEZmACNJkhwcX9j3aadLprjhNJI9xCQLYsZK4UuMQCqlfZbWnRNNJBtX
rzb7GKVR2Scp8IC1rtYUsB90lIJ9zTbJAmwtygY+IjSdeI3Rcmy2AMaCjbWkJ4OVwnGmVHZTEHFG
dxE/nfq74WyURs42FmIj5m2Eki9DeBO0s5afTgyA7Ykw98LdjNQrkNHpFzYvz4nSOkwQVt+w9ITE
XmOY4/18vDbhoTXbQnp0a13GxeeesVQL7FnZrCjM751y26J0Uv52i6W96n/NVqCE3bB8YJlL7GgI
Q+0O4D1c2ObcGjVMjbgrw6wXVmDzViqM+FW2m/KZvIZxx3komJKgJCTXVn/eMcE9qmvYkcjxF9fa
juu8snK17X4jl4azpBnygbSqMnnaxM+4fmCP+jxiwicS54aVUgSrSX1TEY5Jwp7zK9uYml9b8YVY
CcfaGN+2Citgh5ywpQwbNB9DVzt9m8lmu3SA4HIpCCTbSB4WD94Y8d1ImGgUVl3vMZloSpwZTkhy
CS8cQokMpDJblx/pRqSE2dsbgwEO832IM6B17g2Tr8fCW1T8+VQaD6Bb6DltV0AuTVjUF3RZ2pig
thypNann9DZQW8d659uCSYTHx5wKGUOc8a1CoMIsWarzqBa4RGSwGUXc1kd4cfqFjthpyWx/iu5U
7taJYRSKxLR+34PNR63yJISoaCYJe/Je1NHXo0MUTeCoc42+w1eTWjGpEKbGvBGOYbcQi4cniFP5
2q/3MzsVSFiPExXmSuGJYYVi43NU/mUQbwRCxfoRpfgfmbmC+JS5v/15mJjAnnLzvLPeqSAaPq0s
YwHykn5tvUwSaFhpycGCy4s8sqBSWBDzqnklzfpwxd8py3SDteUsCyvO4lvPnrnx9ahd7VbklBd2
PQYR0aACXPWp1uhht34CKgeh533CBBHrSBtT+PFXygLFZND/mMYrFYIcPhS983gKNqkpWFeppUTU
uE3LhNJwhWjCBIjF3igbFcsNPh7P7vIfgGvQC1kzCeMzwxyF+at1DRCAo+SN8EyYZof4o341VUaZ
XUZ47OrraZyvAj9bXySV8bMS2FD5an0pX/HQnf/enWQusq20IQoa/mKGv8BwgRf2XoLns7ZdTz+X
xCH3MdI3gQMSkUi5cdntPEppcOkLYzFhyAQGrALZMWGQ2clyBXXDJNqU/y9UpJBkY6q4/u0vI1EV
9jjxRZsJ7WDJb47tce5qpXzN21r4/vahABXaHwly/fe/O9wnbFp2OEJv8UXBnY+EX45PooD7nAY7
L+Ztwwoq4Xt6gucj9IYbp5fnHcBTX8IwnkClaUuHiolrLFSozztRKcNkalsyCrqySAwZviDoov0T
kg0RKpKsdVvIFf5VMbKFsDhWSg1mX6M7mw0QqYDewt/D6W44m5r188R8Pm2I2Pl05+9wS/IJ5eEJ
sY6SlE0ToIbszsJ0WO+3HPNfVnRggR1gpkcpNWxGYEss/IZAEKJC0EX1F1zfz7C+BhH2sDvYHBZP
ViCNLxGZTyKU85kLssBIICifjwRND09W+LQUCa+qx8p8L61g2iouiYuTs3vIZFjM/6f/DA9n3emZ
NC6bdvgmDG6KEDvdc8pWI2x63YqHHrTTtZs+5QmxvoEYhRTUTyUc0TzA08Aeh3eY1dHjs55GKpi6
26zL1y7Da7jZDdKorBoDO7KootonvN0JY1AWkt77UzoADAff3af1NZEJ10TpSJ0VHBJaFPmwxmpZ
o2BwnvLcHQ4qXQm9rNXzlulRFP02yldBibb1Ds3CRKY40OHAPxDiycs4nXvhFkrSgFS+dlAH9Inr
Dkt1y7rQMlnkmqIQWM4aamLWcEBwJHXHGtG66k6fcA2fpg4FIwoaKNy5D3nPGsu6C9uoUUEkmc2B
ydvLKYMm92pOVHgWhqbBFTLBRJDH1VWqsS4E/VXGlHktbJG8vzEGsM7jYaUH51oQsWZFY20oAert
cHs6h0rQw9zSATXhVTV0jgQV3AQubGQL5YarTZ0+D8fhTWAPMyYzAljRZcm4swA8Co8AsyCmqau1
Mtk+EsyjKiCqAV3TUrwPANkF7VK5N0PhJXrpO0GjtoX3akDxUyuMargydZVoHrf7Dmyd8WUqC7D2
TdF3IYv5KHQxs9bQ1VJxb0871heehdNe7DAllU6thcuY2dyJR6Yc211wAZjBg0c4IlElsVqp5nv3
eBeEamUsV/ENFTQUR0ey90d0EkwvMlA+Pgm2/YLVkRUBU3nlPAi+Qx0wnTx2i8CHOglMhJv8wvgq
CUwjvCutgWzd5WXlgYtInwstlIKmLF0z3rtA4Rqq9uwUGCuCmVtkARPV40pIdmFor4xZoyicxikY
EqcNL3a5Nbsu1TZJXHeillRGK+iMzN3lInw5V8LtHLrLgksTLCBmIe+6GCVzsA1orrXVIFgMjXgM
nCiWEC+qK1c3F2uzn+j8Xp9dwYbPV+ZUs1U/MZ+pamOqpxQM1JX+brj+FrFRSY+zLYHajZhXHnZA
1cXUBq7esApMk132BUcYBCYFrGjhgEYCIV4jWpKfZCc53MLw6WqqiBZyFIdAh3vvGffeuR8rnPK8
3andC0G7M4MnDwUxJI9YXea5u4zCtwzhNOT1jjiKWkYpWH+FGLxzd0QIlHNNZRXD6TLiU/+BMFP6
W9+fJXM2T1z5qMIXgnDKsyRwMjlb00RQu5mrJlKPGyzoqCzgBTMbEeCQJ8HMY540c2O4j0HKBXCy
neiC4GqU+wObwka32Q4nD3x8gb9N7hpG+dqiETRbHrV/o8Zv1ewI9qhj0wrHphHjUCuNKBh3zJB2
2ekauofI1ZY37CC7YVlB5Uvzavd5KsIFmaXuQ14S5lFkbSx8zQ50uH8dvXHJLo7jKQkuW53KJtgS
chGCLQXzsBFyuo7bCsKUOI6tYwQRxu9DeodkBpQbhN0EUCP+Pg8FNyFTSukB4fqqm33BC0HGWEAM
Ud9jUYeGWlC+KGbNgmnnjaGqMbHgk90YhoQb0gqCwVWlOwKpkqWsTl8hbrR7sQuKgAUt8WKv4w/F
wgtdWQR8ou0FL+x6mgWONr8g1Y0odT2na3b15FL5LAXJHaoCh4AZCtKLSOrzf/lBxqBwsBErCV25
T1YEDzor98XtG+FKX8Vda6uiX5RGUbIyfJeUdRpQBcFnYEFkG6/mp/ZkB4DTP+A5FnS2spaKwM4K
16ngQFmrhYFbSssTLLCGST9kSGcBk8FM8dABTKigyfOAT789k4IvwyD1UfWUcT0hKMAyFNPhB7MV
LHimQDmIFuz+y47dTwPBbP8tueeBMaRGFwuAOMwsgOJwGx8vkReAlllZhKHlC3QKOqjK9t3jAom6
Dhh6a29aUOlFxMzi3omUGZXKiUicjJQ91O7KSomYSHUT2POAcVLvfMQvAi5DWJSkJwn5Rd21Exrh
xKaiY0ZyKIRkuHtqBUCX5Lwcn0do8oEwut09iEZAhzf/8tuEMC+WfhOOxrFNzA9PbKF1mBDGp/vR
fQpbmQTec5khI5yZJhA+D6tc4VopQ8EkJ2oiJG7yzCl7h3OTTO9mGG6b9q9xHyTTjSQJFlU0uCzE
Bcp893OE8J6a7gnKMYGpdp76XNRs/swXwaxPAhes70VT0P1ZuSNOAOEggUZTO3PJF3drR0CftauB
/0IupGC45KFdf/nRH6noTcrIyAJ5ZMHHJ8GITnbmxUnhiiqQ/yDYrcJFWHkzjXkg80ua2ZsfhKFQ
6os8QPHj3mAxS6mGvS/SYFZON01dLNNA6a/K0V95Er83hGujkd1mNxQgqGVun3leN+25F856ujuq
Lrxmp/nOpE1BOptqf26/8PzThiwg/3umMKE83bEoKWdOOc+VHME1Oy3okFVMTqpVENzeuvyy3SME
53jDNXjeKkUBlkI+q0MfC9GFHw7UJVj71JETMCFY+w5bWE9iJLQI6H2/EAkylPssaL66eOSwykQh
ckRASoC3a4I3rLUziL9Cnyoh84bF2r0e1DZUIbhReSx3a4edq2yMOhCg2GQ97rvUmjqQtb3SZIJX
wEJMTL2DyRIzWNiTL1wym8DG6XoXONF+SWYFWzf/0pO+4PdV5Y6UckkDl3sKWCBpVLAg26igbVxi
gcmZfAK84iZIWxOwkH2HQFDIWRVg1OLaCAkh3LkLerEQohGUL0uacE3d8P0izIh1uwxXO6gZNcKE
6h1P0bAoIfS9TpffUScmyKHT45Sz2bfXwunMQumP/FAJjkSRxGQOMzOkRNlokMmX3ZQmSdLfzlJi
J6OL7kAdCjgKp93VXYE880gBUFvty50RZIepLnQ+nWTil2v3MYewI+nOT6T8QB0xExRClQc2mQuJ
ICNlwMDjDBjk2rSs+WrqpZRZ0u4q2d33gMDeo/Ce9aZWSfdjEfCjtz6T8AjLUvlcJeeeQ+EYlrGC
K6nGrdj3rCe8o/C3pjZYqgq3s5QIG/I/fSFmoZaHJ0WVUZ9aMFmqAB1/UXc8CsXT1nyPhZ5ArOAv
NTue47i/JPnsyR7fK/JK3dY7Cj5RBiR1mwVmErbQBIlK292pRbJIVXvKdO9PKVOvCiT5r40QQU0U
K1e02RG0k0AL0h2Pp1JtbVHsDOoKt1OzSu7ZEY2QHhfSVQp7FtbHsXrqNuKwKA9MMs1WeU+p79YW
DgJ7WhbzJ6XinQi2xfbWFZzhdutWEPqw7jE06943p/FySPFHyx+v3QTwpoCY9vH+8HYMzCzuvO7E
yrDOgAZ2Iz6c+svl8N7ji1lCoENecgx4PcMEtLx1yf0Yzo/3w61/Uw7a916kVXNauQWWXNGilk0i
oZQ1/y1t47GF0PRUS3yd9COYxK6CgdtjVFDblC6p8fmYe5hTEibUrPmeuIRoWYxR4UmxXswZxkv1
M+VC69bP0I4yIVgevxzU624XKznASsnD6TLcpbmUDOxONzBqPAw6jw+aUJhBeRth0OugRLJ7PkZx
7xMuRFhasyIz37ubOJEytlOuGIa3iTWvoAZL6epsEH5kEgAZI/aWa/b65O9tGkeUGUH+crbfMJlq
taq37o4dJ0IEUkYAQ0yVbybz+zg93uHtSdqkknEGBTFrvIcB03ke/Vs/yXvOzjtafmudhnveKfGR
FlhxKtiPaKU1tDrUBwN6B4uzSmMCjQx7J6RWceuKCLeQ0L2fAM9LnFLRRhSH+u95vc0Sn0rWGdvP
bXaDiFcHE22CPCo8B15iTMJmgpdH3QT0oHAfcn2BplG5PRcXaMMrkkkZGcxhLbz3oESiaqM3hNmc
Irw5XF/k2JnOJTLc3vtpkMUkSyI7bGdShWdSR5aDh1IdcdkoqLjwY5e6AGPDB7vmy0HA6txHwmyy
YFcUEQMleluyFrh+68tyNg0TySIs0dMIU6h3qSZmIAkqhWlN6oJY+S+5TLjk8oi8HZVj8k1SBSXr
SUwdMNeqgK434QBney5aLa6Crq7X7PDekgAQaG9t4aKMSpyWFx0RkeWG7To+b1Z+hStctGXEuNLt
VMer8q9R8YavkbaKGCTuqRTMrHItPVmQ5dNwjpzxso7cKUhN/WaUbZK8jFy1Rm8Jqq+J39aX7o6d
vsV9j5lHuCTDGsEwTtZ2SOs7Y2ECaRKxsByfQ1Bfm8vWt0fi7uQRFUoy0137S397i+xTmUYP6cq1
Cy+tbSMTM+o0F9RpsT7nuW9xI+kLYb/zyMEyyucxquMQEcKWMYm6Y4ZP6eJOCzyPxQq02/k8XiIK
O9lFqJvfY/7rPgdf5FERMd622j5sarRJdPe2PpYQc8hWgZ4iaJ0K5k8eMbYtkTJMpIqqxdujG26k
FgUG5RE6WouEDcu82GNGAeByJDZURg49msqvl7GLBOPyPSGUY3fBaiTxol+roTUlHWmMe8FZuccN
6CKGRxkzWE1VXuQurPJk1axy7adhNdrw6K/yqri1iHk/mf+wC+JXRhQi3Ka7TPCUqw2MYBcRqyx8
uNpm38aLzMl3+cI7TNaKewYoSVkVkJ4d8+KNSsncz73hgj1LbCLz4sFKQanWEafD6sM6rA+biFlm
zoaog7I24iQzu9fGEMJLy+uI0ck5FFaxSRPxWcjmFA4H908Tz0md+vPzJNsIObddWo+r4uWNoIRi
N5gx8lLByMsidguPWwnsKSPu+443oLSJmi0r/ROOX7V1xLT3PU8JMbU6FirhtoJgmWV7JECUoSyy
5+weFNYTj8xtjTrhdOURfx6XFZeiotohjLveAFO2YRiQ9/su6CYYw0owG8r1zZiHoqFChDj1GK36
RVYf+hwHPvJU//n0nKb+9vgJ/3D0UYaH75rDE9PCdTVPkRWH9/lywGr9+XA8hHPemoyjCKW2bb0i
kh2mt2N36NLfJIcuNIsm4VguTPNbAqdLd73DEUFKxzAllg7ErTRL6fV5O0GDu+vwoRTBa5ASx/Tn
Tx5bzgjY1A54Fd5HeZBKLlDhCHtMJFerup8eApM5fCZ/bvVMRdhqXiLIrM5HURiRI/k7YnGDJHlt
cM9TWBMtSakQSW6SXbv9411Z00q5qTs2LDk8CZW0Yx5gTyOwh1ctMjt4SyQTiKTrmWQuZ96hQFTg
Srnmit7oPDuMigvQgHV8fZ1PU9/fKJHjrnTZcfxQM8sOp/CWhY/panWtsDqeA8QUtUcMC+FE7Bfm
UqDC8SmYm+DK4C7x4R0QeBbKLqanEtOroIyvV5oIXOenrbRJJAsV3XxMUoiMBNhpebZMpAQS3Q4a
vKoNppEnKwnCwCsE34Zzr67s6/MhHdkmyJrloOyYlANRTi5MgMO1wOAqqKKJCBnUgnrmqgNL3EP7
LBwLXiPAI26uQMv3hAOuXdgQOedqLo0v1nNIA1dEd/r2Nilr8SxdE+E91lLniMy5/z6c4pLDkaDx
lbgJXsuComaFohnGFZsiaLYkstnS7D3kgjbj6F48cKKI5AesMVFnAfIzUkkMyxWRrF3x20wlzFzW
0gCUBlMUC1u+vmW8Nigs2jsMO47mLF9AgkXG2zWhZ9YWPstDNl94Fx/3pKw2LJOI8EJh01DOOAc/
3g7q6nosWZvzaURxTDc/md+78/jjMF/Gx+FV+YBwOENN3wrzXE5tMPEXkhIPxWlUFN/VRs8Uqp0C
9ScF7z3foNTAL2mI7vs4Pw4/hsf74di/QscG7MkeJl3Z/oE5MD7XGFke0kjViCd4e7Mw45qRhaIS
3VUsxNvzMN8v3SdGxCZFX6Bs+w7mhHtSiryAiQrLb3bvGMwTgiQywbraTXC4fR/mAYImQFogmewm
iVsU2xq+42Bs6BxcYckUfhVIst62GYLz5PEZglKicMGl76RD1ax7y9Yh4t08D283mDC0a9/DjKpi
zEDNLEsTqC/dNT0iWOwAJK21WzSxUzefOjVHcgeF3s6FyUyiRtpQfRYWeM/6d2qBcs0GUSaEzSrY
sjNtyZLevY7/HC6XDofN36nd5RIAByyeJ7Zk/P52SLKzv2kpdITPa9sRPoeckLw0ANrq9pyf0yt4
JNjQGZrZmi+tqGRGZItVgO2B0b7zx/kTup8GRhdFy0bzK6r/QHiWy3D7Jny9yPj43D638q+HR5v+
tWtjBNBNtNR/IMrMJJLR4aV0bV1du/mbCXQXodF5yZaAW9JoAX/O9x6yjOvgh9Oa7WBldxC4R/E6
9RsoDFX3u4cGClrZMq0AO9CyeCu4kKf35+3bTI8ZaFgHSWVJhNSHSeHt3pQuCZHJ7Rkq4CYt0mxN
5vxxOA7nITyTwq/pz9AGQW3H66isHqiUPRQhGkXbsmmU8IuuaXq7gSIwb3todAQnkvCJIM6KBgYd
ACYW1tHdTu/KWYGdFpfEOl87LsWG0nU4n8HzF4mVbFpYKVVyYgunnfmFRYgtEi8Z3Qw7MLXwrGqR
WZ5Z7Vlrydda2WtPCTToye5+vwy9sIPMZITfK23MxUDbW+Hhmd9+sydzF2uq1H+0Qrs/PS5hNnPL
CjuSOLTwoAMYFgBZhbm6stDzJFlNSE3hkIXHc12RopezOuRh/VCt7ZjKq7HUHM7D62uPLo5mjygp
aUBS9FarK/YxnJTBos792y2845Vfis2Oh/e4WB9K3Wu7v0C14vOoW3UH9zXxmAyu3nwfwV7kB0lW
o+1aUhI/pw0e2Iy3pRFF+5kwy7lWq6xWY3PeQyYP+IubpUdXXPtly6f0BelOcmbHg2mVNdvTET4b
7LDzuE9MD4YJVmslVHrZE+Zv6uevntHzpoxvZaopB0ydD0GZltwFKey9s72X8/C93LB7OUEb4QtC
Kcki1/QIxlcECLtKJUyQH0iQgqQJKSpZLxV+x22PwpPkLK38VgA4AH/tsADw9hAugaItYkpc4ncW
UJT3uX+eR3UPTcpPvPQPuKXDRy2v/czZilQWXkftFyl+I1JMWVMNC7jVZ+gWFIEt52d4tzxlXC+0
aAn4LgiJWZvzV3mtEcnaq5LIMfn4qv2YZ36lq9mPkUrlfF8P0/joHoKaq/3X1SLPEVuvaJnaTvD5
qPIyOA8vpV0fee149ETjt5dL+OulXzm6fo90oLOAAYOOaOQwlwm77LH+St865iCdx+tw65SUApAC
KPvwQuzBLkBmC42cwKchXZ6N/7ZahNTcwhS9Dgsqty3ozPg1Q3gmCTvNKYIPeU8z7S3gCQZ3JovY
rI5rfMgOwys0LA3LWcE0FuiZtN1/CYYvhHwtP4K3KroYgYPkscfCLGsC5vAyGbg0BTkqOAF8Q8k9
BMLD+VFOrJu049YNMzhgXi6iHZekKmTqwuGKOrO1qGnVUgR2phErxONehOWXXSJgB+TZhtiOiyPL
Y8vZQaQIxIq0yX8f50HckKTc646GxaL1i7pH1ER7rvE49lzjYVQ1qYKhSMPPdWbQ8QIHXs/mMxwK
Tv3B3EBwOhhQzXlMGbdHp+x+H/ofvxs/bF59OCZb5/6YrMuKJswKO4UcAg65TqyDvFNwcjCQ/5jG
b/0hyYNUjEuPaH3YbTPnsScdGw4zIl8HqPUqaEOUfF67S3g7Mv920McJaue1/z/dc56H7va7y1Mw
swvuQhI/dBSt/+NVXVmHNDyy9b9pvfZ/eX2F9Nbw0IoHzzI0Bzj7vvXTrb/81214/EmXMAqkmFGB
HR4MM/o/95D7G145C73loANznZL42v8Od0FYOVdyLf/mf1zG8Sxxmz0jAf9ynYz92v803r6Pl+/9
nztlin6YZy9hDrn/Wfq1/2W4SNvGolE6y8JlmDAy8duxK1mrwnPmb94JnzPxTVht4dfFi6wJ25z7
3ZrVrLvL/b0TGR4UNGS4efaXRLUOzeSn8YrXkSSuJT8z4IHojGv9fYEBTOYQvjIvHDkXPpn6n2j1
J3VyvfDlypOJwJV193hMh6m/jkrtH8JPkS27fzhQEz0GkvN4SMrgncFf4niZEX9MFEZn/hvHyZQP
3xVZ0/pn794V4bvGhH/XlzfkHMBtFb8084pdmoQMwHHlfwepdIoS3MDgTCiDVU3spggewxQ3LG1c
l1wvKwvfYrX/jTb04t1JL97Veot0nEeNtFEG6bmZWxUsldPPILPIMHeYncNR3JSPfB7Iaws/HGdN
6d/wNW/LMIXEzw9z7p5zvwAMpV3YSuGSx/K2fwzIDtFMCzydozMUnnneVP5PRiQ1fHrqzM8KY3K6
Ah9eD2MFedPlhqNCLkBW+1MyYBZ36FhjILDepu7+TvQmcT6MTxTfzjYSJqikwq8Q4XGwu/wf/UYY
PcNFwhQzhZZyhyt8NmFpbblX0GBiPlPPH2KeSVX4D66ZgXnvNOGpWVJJrbXKc7is86pxiM1XKHIj
UdQvIofnXaCYpyE/QWdKGjSWsOTk7CDxqsIli6QKZ5FUa6FrN+kr4TujrAJehnKelQtNUKvS2guu
AjhIWgdtsA7mAEpTKPxTMOcVt0AROAUptPxiKGyxc+iSOUqXTEClYVKRlEUU8FiXHQxLd5qtxafY
nPIqfMo3utSmKBjehb+dsxueXnH00+CP4XF6Fy/TjZdfOtt2wUpKwbhoc+ajl8wnXZ0agUS+ER0e
8TBxvVMfZB5XLDzbm7M+bLE2ARedW5xF2OJM/ZPXFqPWPAFYMjp7hX8LYgZf+CTxC9Ap36XTPE6g
ZTsCfBBOdL4+j6VHqSzuwXFWbtEhkPtJC20DhpsunYLlLXeAoKxYWClv8Jdqe7+Hh2dM1cLByXUD
ueWMhzebXxFlY7U0KCQshJ6Qq5R4byxA4MeBatFDDe1yfzHfikQqkQhUSa5IZBKJdF35V4QMBKaG
xXU1/mIVmaK4zGoXp3KJBK+zzS3UgzwpkWK9i/elRIIXKTIdsCJRSSRYUQ8qxGrlwOOxCFvzWbM+
FonnuA/XtwM6aI/3/tqHz3oZ8GpcR1xQytyUYmAPdCdQhWXYXeX3AS+EXIzUcAShqiXdOWslNSpT
0qgtSYWy25XDivhVO9h6YTe19t9xZNGEVVZS+e+nxU7W8fPwIlIWhYdtzUuXgr5VBL8uYaYR3Je5
wQ5A4warJgTXtijYBc3hFXD4pftUx1QyrfPSzzl+LjCu1RNiUNhOyfY8ZwgOBrv/CNq6ci+esFTy
PeDxb78TKNi3gfiUiW+BRM6io5D5CYCS7JWhdlJeWzf13eGf43hVho/am7CZXmTMeMKIdZV5goV5
2PgKxKW0YKFkm4ciqQQhXeuLiikbJWHAmkvg/ZIs0MrPFnTflqhWLwf+knXs0XWPjeVnveMwrYQp
c6CVF7Vvn8MEOEtI/xbbI3sMczT3h4bckpLwxuZpPAocPvHccuU6fDloTfig8bACKLvKuLFQ5qlf
esLHo0nXjhiPH3/x9iiYocqTHyguF1a3PGLEhTHkSJ8kR7qRnCNzQsOeKY9M8Njz2j3MhMhm6X9/
XUcWBB+VU8B2XJ5NFfiZCfVR5v4J38DcveVKynlYOb13t9CDHsW7Ev89rhM1T5dunntRdbftOsZT
bkJM4dEhVct97HC0rsnXhlDuuTrDW5Cx1aOureqVDaLWcJ/65Q46HsePsHWalP4d9Qaaw8LNcy0I
oCTzrEowuZldBFzJV1wJxTAFW425xmB8qm3zWXsaFFqgw2Pg7O3bPfbhG5Ubvjq0Sfk8kKeAI/B3
sGVzP33vf6sU8+nxN/CeA0ep4JF9fKRsbGanQCycw86LxRdivreb8OtP3fpNS9LQwjWR+6+3tUkd
psCi+TkkRxjReZ/6V0ejqIFwW8/hgx0IYLlbHa5/rFK/Vew+mYZXwmOXXLE4omrzMkXrtvFPBc+h
jSwJ0dDG73Wur5rwZdUWfsNnkgPwRRK4JBaTJTzpNPVfsc71FLZ48oDDO39ej+NF5FbgbjdaNJ4f
FngzmK8D6e3uNlwN/iI2dr8LtaIcpYGnM3qIhPM+6kAiIhL5iI9vUn9dH45HIZg+pk+JQOJPt0IC
n2YC4TyOptmzgHDeT1MJ45fvh7Vq0/oTj1AL2U2FWnzI/caikPTwOo3Xw2MEFIW7N0UT4TGLxA/P
vFAkY1KTO34iNpT6L0gwK3YSVFMbzqA8RGqNv+uKXTDUsNjFxmbndA9g52tNb5kc/homV0XIOdzb
STSr/cCu0iYDNJX6L7zNaYyPK5pqp2M0OU4whtKqVhadHdtdrsG5c5mfUWkMwJtuCO6bXh6hpqVn
F7E8dvL8Z/k2him2MYrssOybY+ZH/Q8eF5FY6e8hEtYMkXPS+tskiOfkQ2JgEUD6DTEwqm1SP763
eOo+JHXNW1VwoMzImqULgEO+Fz5t42rYXWrR1/ZOe7aA2dxP1Px0/K68r8fUg5P+EcTLdkCqmT40
iX/9pb/KBHwKdXuBl+ELOFAK4TGDwlZA3frLdjxEwjNhWEcOuNUSD6VR5GEoZyWUGYvPWxwCzXn/
4MPz8HD+Rlfat2dneBoeHkLMg6VcgMLiNApEArjFkBNtMx+F8Y0HM3YrGmELuSkE0cAIkuh8p35o
g3mcCOgGfnOYH930+Lm7qr3swisp/Oi3KwqpQCHwZG4p/BZAoiRuJn5gvjUFQaayfXMQhDpd40/r
EMTU3/uOuDrcBuU04J/9q6H7JdCrF5pTvwKJPk4j9d1Ri3x8veyhzvylwK4rIYD/JH54E3e84ErV
/kpKjxIL+zN1tcefEvyhXHAI3UmEnToGSafbDhqMLBQzM0bpkTosIZkfpJ7GZeFxqcdQ225D+Bpo
Uz/EwHVccmWAlFKif8afGGxOAGM+SzogafxK2UsNiqU7SR9wfHqegiHN7Rim1u7S1YIfn/lxK1yu
h2/wNvP74fos/3wfH3+ivhbCAc7XNUC6ltF9xhPyEgNPmjyrMRwe4oV3HFdO5wVCjDScA1Ll/gSU
VWKjEMnL1k/ubnA+kkqap4GEfP+TvZDAkX0xPpqFn2XZnLwPDk6Nj5B7nclhUmvMYEgeu4CFGdWy
twaw8kyxlPO2s+vRm2XnNZQTtX40BsFDK016uyikAlwNQTKe34R81Czwes0fz/vw4zmLq2Ilm84y
pFeFcOUwz5nKK9uHgj/whZ/YysYvr0J2vvBayfYU7Ma89qTsCM//gTRs7/tcmAyvJ+FNmczQHdVY
vJyNc0W5rcPtTRtoiLq0oP7qP1OT0WA6I1lcm5CF8Ra9JCPEePsoanfrEDNF9OqAX6hDToQe75xb
b+lRo8BL//qIEWJeO3+83UysO87j5fmITozFZvBFsE69XNu1A7xRX2vrWdxFTnhTRigVnt5NGz0m
qa/cn3riaI1TWGsE6oR4EpOUYZhVjZ/A6jknE/K5OGYA7zTkZn0KaQIBLNhIKryQKh5CQ4jk1ofN
giqABuC++dfhN/9Celn/EDFuuU3jy2Sceuq/JxglAWOC51UJ6XaBugJ37UJlXeDROmzKhJNCk9af
rkzi3n+cLs85gBhC0l4GbZh3CZOiCdQnr5MGhFKf1G9fuA/uQsVJ45cCyjX8vIvGVsg00RkHJn1G
ymnO/MmSmwzQ541yQAV94WTE5jpnfamnOKzK11IpkzTz10/pLAT652KyHTtb/CJY76sAwl35Kbin
QzibAQNsU0klpMrl0h0A+X8BmFxaQL6q7SwYEregFkLZVAvGF+0Bsxu7sOFY+Ststom0YaXPM1J4
GeY/+2mM57sXoZRHcztEqzFDqXpOIYYAANSuc7iqSB6wkCbUrjVutrptwlm0VSOnu2tO7khk5cWt
ZNm4DMEwgrFwwmtJ1jdnugkmhIXUQWbgEPncujqHh5frVL9VSnH4y05OHps3N8zoiIQvqzqQtr9S
DWHvLq9klIF9pZI8u8lpfcfdOiEclEmFnsQJLU5hVgjNCmKefRGoCl7r+HAxPtcNnAF6BeAmSHVJ
id927OaDTYxkHbPUeHwdDbbnNTlPmydWKNPSweX5Ap2XsjAN3qCedzUDGmSSxUgYhP2NH3vqlIc9
H85T94MQquiYKv0fnE1jZ+NcAFu25AJb2vU7cbksSePS1cJqEn+jYV37xkwSYWeayt/oekukvx4h
liyQCuTYbFki7HLd+DvSM5ZIMlL6+yUzObv2vciQNvH3SNZNRCmFNz6TJvMnBy3S+tvb+f+yGUlS
y7aIqo/SAF8LYT5JeJ+VchX3tWSizlxB9n11x/ZQwS9RScPSqtlZCbvSrlvDN+vRwuLbQPd1qzqi
e5AF8iW22xnXQo0/x2Z75AjYFd5vwmwNMCak0iRSVjvmNUZEqzWPS4HHTZhDerR06opdOyR0gE9S
PyMuw/yIT8AgGnsn8L7rnJoHxO3bduDIS7MpoxeDcK20XGGwcl7wc3VRg5K05z//+Ynlj38Mnf6C
9z2y6RT26rY0/vJ8iERaz+u0eH4k5tT+lLy1ISCRyMPK6H3fNMzLpfeu8R9jyZxoVrdOvorKDrdb
FAs1a1u/V+q+BYat7zT1W99uyEdwxQJlu04BW9hz2kKM+Ur7u9upnx/KjSBvSNePSCGTxh/KtLWF
+m6n2Oo5gkOW14HQKOBr/Qwv7n+5/dfc70UBc1Dv1sUgCDv+oxcewCmqxP0ullJq9t34vvdpvPeT
7ASzQnyECVwgTCk6smSSic9R3A11UqMvj/9z+bxL3k/GhUij3a1iAWEflkdLeXiNoqXhaDcP6ONz
fuGpI9vjulV7ajDDRUqO+1tabKnF/aXkN0ED5OuXc86AcMi7Kf0yvQ7mSDGc2v9oHwaREINjlb/T
HX/dPj4nIXCehhEAGH5jOAqQFVLB2YeItsRn73t9ccASBcQp9hAB15TB6tokMMinkWHQOfZACAxh
uEkR7MRTIku9JpWMXS8QEIfBJaUj4880oQuiDhGYNP4TzFPWj9MLKtHhPg63kKFVcByEdZs1w13B
EMkDHULVwH4G3S1aMTbPCJSUdsOm/h/PYerhMefR32aMTUmTL/3Zxj4y0lxsjizc9JXBFwL9IHyd
94JQyzehf/0SLTHO5hfCy4pGRnnehn88e8pcH14HTCINT9mSAOAfjSqyJZELJGp/bi/pA0gLGo7q
Vhc5lwcSz7ciKLGfw3XDydRAhFjXelKm4zdxF1p/y4vtFCReBDLv2BQkLjSBFtQoQdLA3JMtu7St
VSaZyTfRlSdCqIeHSCpb6KWlkcw7aTzzGdva5t3K0kxDc7+rBurqezcN0LpmUa6zGK+ynlqagEug
fs11PsI8HIcL2F3STHj2ikmiQn5STprGv4N3z+edYPin7mT1KPzpEAazy3iSFiKzkzEHo+4duCWI
9yERYLYlNZgrvSQygQS7f3DTag359ejUdU7rwN8euo9h1g6YIIEbpP+CyIFx2ynPYNaVMJycJNIZ
7zpAWOw6vb07QxPHWReAjI+9PGM2PVpWja7VwSuGyEVvG9b2BNKkTA4CDpN0i68hII48TcP9QR/H
JnzwzsoXVIQX5PQdZond8/M4P+8BLUUjmUGMkCZ8XCmMs9YXLkW7WL55S1/nkpeh+IXpCBLMUUVI
gmu+Dmkkx96AgXycIEIshwXUs66u1uOkneJP6/DN8Hqlr1drAa7493cSYc4YxhabGtuSkxk/3L7R
OThNI7wO6lPbfR+H8+E8PkEd2L87/Hjvya7E0jQsl4Nm9g8A+DtMPawPEsDCs+GgCzgz/Vx9es6P
8ao/pRyLCeIsp6mb3wVaHH4fLh4XeHuZtiGH7cENHLeJMES+wXKglfAZFdedlP4w9wqO678DUXVF
nBVjwKHQ0aZT9wSgHfErecu0O5iGGmIUH7qHGzafuHTH/iIQsGyFB+RUa/bL2J11RaKez/x5Ox3g
x3NQd+WsKB98viZbgoQvFKJ50UwM+idqQoHksyRJD/8Q1sHdmpRBvC1WAE+itQ6kwe6/w5bCFRFe
XsFaNyFaYa4h/H/0x28Dr60bp+FNuVHhvSu4J6YvCJ32mp/JvwKC1M1h+bMBnlEq8yxdIax3JKiv
Eh08NEkuTzUvfR3imVPX93ygH6vp9mSsnMd+hgRsmD7KPkQ9qEddcOtZW004nSaVnCgr2VHH/KFc
O5J2mTE57ylYgaPDaWmxHmLzKV3m1trEwGAGl0ZJFMs1kHBjZWqwNtxtPNgfwVGGCP9wUjumzD5g
uLBVub+dugaKBHVxAaMIa4LNJwRyzKvErTcImHZ6Swyx/9CThLK9obsIVNl+lLAn6+dDfQCogiIi
9Nb4gyBLxVKmzk/tOs1K4C5nvB1OEC2WpsYaBGNftPVygQgVMY0XMFEFUkxi6kWCnzd16l6HD7MB
cL4FGvYUwGtSq7U+6K5Z0F2pH7VMeWTmweemDv5jel5QDz+6j0M/TYRsGwLqXZ5cHRhsUsdwy/Wk
Z9TWqfPfPQhsVykcbd2+d+fxB/QBpT8itpMW9ge2HoRqgYP+Z2haJ4ngJvHqviUtAGfDhoBCMvru
SP1EtHPxTtFbDHIZ+yExXup8APEJf5uXuvOg8jT+iA4Nvc7CV8/9a6f+tTC68j+p4ofjo71PSqYv
3dSrXYPiQM0O5oVxh4xC1sKNXa97suvKORxNr3FpmZhrO0yHhyOwuEoLG2aKmz6wtGWvw9tzElR3
U3kCI6Zc2bNoTOlgTpkghYlnO41Jq07bjzc8AiRY6mL8MQ3YTuk6nuHS1YJ5HpTtOmI1fpJUwQNY
c6Rs2n7i7YpCIVBg1ef8XQgpUEdARSAPEyhKfwG8MwXwKybsU5aUYVJ5ua5bNeC1UP2y0Ni1rpaD
LKBot551pcK6cj/EARKgRCdxAryk3lkMHy9s7RZYILfjnzeodE6SNjy+YeM5RHNoX2phX+rAFof2
JRP2JQAPz8/B4V1Zt/8EzBLco0uQWpNs5L/yyb8gvhxD38kzZ9uUCmLCkTCcumDUbsoSepvAG4P+
FOqG/n6ZhMWkwmFmOyUITdn6kSBWJKQFVZLceeRG4G2eC6qBkRBOUVkL27McY4FAUa05km2PoSCv
DrZGtmKHGS+wk1fPo6xkiWcBjcCBZNfhk5XhplFEudElaSLoEnbMMF5W+RYhcLEoBElYCAjarEwF
baxubLC/oSZFEseqCRyOkBoTaLWlMJ/tKUkl3mQCKcMbaXfKbG2FNz4lKAip03KlWU3B3DXCEmp2
Sjn4vTsDSevkiaC4jBoWeMABhXiF71rVCFtack3BofNXJIRVlPxy41Dz/stgkm62ACLPalMFxcF7
uXCUlM2REe6Tml9JLIHNPbcCgaIJCDeeOT4LyWZoBF4Y8RTsyiYR1JcZL0hGzb7PnefQYZesynQt
IaVXyARrrOKrSS1U92ZfBXVaF34IMndfBZYWtWDdGpYKfKgrT4sf360m0Gi46cUaOBKNHXd7UwvS
vcuadRpNJYFTyiRD0GAF21aquUz92yrc81Xr73sVst2EleXSrcRICAqoSv3a0DGdhGPHIcV4ZGSr
OwQhafkeI3CGV48K54036iIsEp+PLW1tJlnlyw0v3Su5cDVxRgjLqKUNNSdWkK26XbOhiTlukq9T
CQahkQ1BttLqa1EHYWF5sUsLCMqQtzzbmD+GtcLWNJnfhwwtRlDseSvcLx5SwtWdV4LUcqETOFMn
gvtmOCNsc5MHlrNRAZKt3gpBAiNrwvZwxMyNHttpwlSBxno48jRej/Bk+LwTOgsisynFcJMvwCYp
JIdmh3PaVILg7bu2qlwQOLPDgpQ16dq2KrxTkHjLvdN2Zd4ZLghCygE4nXtmvb+CoNa5H8BvpUSE
k5s1AoV9d3ZZep5jPAuR9rMudzJDCiFVX4wXSve3xNjFUhVOb9HuOSSC+miawCFZm6qSCkoFX2yf
Zq+yQKB+owoLQWMkK5O52EY7pUlw7GFuC3nVGGGHTX33DRMfnhdo6iTqs/xrl7pwHvOQy7jeNMnt
TAL+RWA6Ungj3WdNC1qq9HnSOqu+Pw8dvchN3YlypvBny0MmvvQDkH0PD66nJ/4Q2mxNwoMbA63F
/HGd8fhdTXU07/Hd/d53E7ygC09ioeYPBiPNoKYp6SPi4Qd+IsiygjFBX2cvPsZp6cl0O/cf/fl8
pAe1y3jUoF/HHkrFQFavg/AyyroEpDkmV+VGfo46jUp3s4Kv9oezUDTLAPNTuHHTNtOPja+deQm8
DJS5qys+MOcB/q8+EBSJMvWKhKLb307j2TxzPx+vh7Q6jGe1+M9H+FE0Y4+iJjvBJG2/9TedIqLf
Wekp9Hm9dtOn4Wn3yrBxgllrCUt3xP9IgzAZ2HzsgLmJSoNAak4kKS5hibXwBJeSOdFf74/Pw+sw
zYDzB6UxlHF3UhJ4vc1RorWTzafvVbp+oKoeaTnUIelrkTVaRewbNk1ObYTG/8X2V3q8rl0RKFR+
PCvdWI/gfzH7itLfhT1KNntk1Dz++zes0DNdGIOin/PScweXQKm9N2UangeQcJiSfORzVnjOdvXH
+/CgmhwcBF3zfkzdHfp1UBJ0p9HLD+MrXkfBs1S1VQDl+IqJOXaiqLLhK+HJ8rJffDvVrvL8PB7u
itxFp5VAkfYHgWlBBpC6BdSXqHFveJ6lJ1SPvBinM64aLtvbcQ7Pr3BQQZgVgKWkik3Pj8Mi2sKW
sJwXxMI2FbP352O5HtUGIF4XsT+2yxy/xZKc37u7UWb69zptRKeVqWmeBY4xL6m0t4UrwnSCOQ+F
hTd+nAzcSJuhqagqPfA29f03YcXlupkPiUp/UTfCPMyg8KbHRdSqNClGiO4FnVx2P8M+zGpWB3Xd
D6+omZQwd5cTlUcLk2vWbYGWhNcBanhe7Pl7gRNxF9nGETZ43PrRHXV29qxMkoOcX5NzFAinHSMk
4N1QvXU08lt36w7fxwGSeWbMIYQKmWCOXJG2vLMni0k7B/U6zDMIIImPQa0KE204OCMLlDtEL32H
+d6ktERWElFWd4qvfzoHEyQlzD9aZOuveYUkNTxUfx8HhBGwCZK0OUKqeyCdWh2tB9TGLPYdHVy8
dcFTwKihuCVZkvmBBOH+QM9CZxCnAq945iNkn7mcQux3dclqS1lgXOOvOX/ehhOEPh2v4PyExFfK
qVUbLCyQwykUtpOtIx5w9WBbF2GV9bo6PQ3PThk9l04ZBeqyWQ6wMMXEXxrsTNGohJj4ccxRfvXQ
LQvVv7fDO+RlHqDE7iJsR+FPxndmdXsql3bShqnyfYImAM0tACyHvCM5UyJ3eofkQHunCfRynyXq
YGrjaVhbGHALSWoq0LceRBqOUyYMZVKSLmasw7LlUMw9AOkhvISwxMChWJkzyzWG66WDC6sUZlr6
IS+mnoBCSP1S83eBSrUGZS286kNgGeuYraZkqk+VTD2VO2309o5jlHL4dQeVlXMf+aPTdgnZg8oB
BbK+ohS0ByGiAPsAlpxySc7CncqsdFSXjdeg+cdzRIX2nL4NimmdujIGdQQe70/lWXQ33RFemTtR
M48nLcOUtzf4QTHUpOoTmFFQjxJJ3toFyGqSp3FCRBtKr78PgEAWFGmilPiRkfrr+PeB9mTBqvwx
3ASLrPLgsRuHWi12gjKTkzr3V13Lr3Pf0YO5Dre4J+3Fr2AoBzjo0imn9PQ+XM4Lmjy8LAhhAFs+
AYkTjcF2mb5KJ3HLdRrmiC+hH8Qswpo9V9jCZGteGJ9bsKnX8fRUfvwFWuOoMdDdaYpUimRNuk4D
Nw1JOqgkUid8aTCAJ3OZNvJBoMsAHOBlIK9JLY63y2d0bO4H06ILA30Vxf0hVuGUsZZ1kJaku6fv
Wxmo66uipmyHizDTIoDYxSr7lmAjPBODXQTVFwfFB/VPlPsBPQ6hp9f8Luk4hl3ULvfoeO8xHDRP
J/WRwxNJCjQat1i2WQqMtHkwQwXiMl3F7E53mMB6AIFw5YaGFtSypWKA8CBxxbHaNFQc2coLblhj
+KvSDQDBcuguj7hTyJoCA+MyU0p41+g492l8HS5Rt5x1c00xfvk/pqkkBuemi4a8JEm6POgsS+Eq
Ipv6/eg7+AXazbpflNToONpjEgN1RJO5wfjYs2eqAjkWySGsZK1hVzWfrE2QjWMuXTeF2EQgjcrS
0/47FciKATci2HiSw9Z1maSDgRkUwg6TY8nHra3cxcmYYlcKq2O1EhYd4eN1mKO8UopD9BLNfhEb
jVcqECrcG7/UID3fhzc6uUo33NVWvys7SKBiTR9wmzSm16uyYs5COSoNZaLG+3C+P9/6NT9mgUyg
VfLfu+8d4THgTmkkO1n6eT1XZXURpp/iACNAP2P5eXjfecakAy+N5vJRaTK6JyixFQR9uD27YOEo
0uQvy/li9RGFJQwXXiDNy74QQmBV1/RY8xs2Xc+pv1w0JMB5+I7vVPCiIpycLNAXFcnBVgKmly1Y
PuA+Lz+HzwnztuccoZGKHaTvPYEAhA8UkbZsRS9TWxrORrt9hIQtav1FU2RwdMre+7yOzzm6S/y1
e9lptkvH/vGj76Fy9saoso0Ttinxv0DPP9C25yWJpikWhmFm7VwjZpKkklkyVm2eYWhrdGjbvKl2
s349OkCJ8l3gqt18htPhYYcpOSQhsOwQ32to0q2/SuULJ+OQCUznaa6tjS79ijVIn+GZFryxAbFf
MRsWsZIXge32RcfATgTOHJrlBnsDlTZOHoELHu/qn6VJcpDqU2n2he8gmmVrTnT3yGsXTb1xSRVf
1UQily1fcmwGqd9DdFO8WXuN05uTzmn+WjCEWRiYp2Gx8nayOt8HkI/+DNdkN4uGP4sCYXRed/5c
GvihnXTvpv52+hTIsP6XcBjzWuM+4yKXMPWOJfKgo6mpJEqfvUanAZfiFU4EA/dC7IHwwx5mW6S8
QynujW4gRBp8uSFvI7WXECjVLgZh5twIiv3nszqokHJwQMzP8WQ6TIVJVv7+wyYqivklFtMG3l/x
D4TYNfWdQLp0/dSKEd7SYXg/AsnCTWTQyFqEd05vrwR9fu27+Tn1Osr+EHxdB+K6siKkCT1vx+4C
WTDqoum+C0GRku1ygYg6+okenoXxohpfX2GRSpcKVEp/O+rj8w285bQRFlL4Qx6AAn+gGMrwergp
+xdRPlGIRcOz4FBcwHE1H90VUTNnRmhc9avytSmYJxBiwG2Qg5Pr4LYmhUJLlJQ+nof50YdSjwoO
bQemPdi0RcMyyjDCAVklwni2XXDgc1NErRhdlGmVCUPLFWKc6a7GmcIWAcJ+HqbHp8AcFq4CdZHr
i2Elzbi4oF9bcMQ+2K8c4nOcDrbR/iUeiSttgA/qiWqnUYrNjZkh0vkmzKV18VW002LiT4TngL0r
j8NbJIuDl4y4b8wQaAIi4SS9Kg/UqumcLDOhw+MHppdA5HIWoxzUH4qZIdUSeOIRWkJeMSQPOluH
gh5hX68M9TEhajpmMo+gOI/zfRRc0DxlyW6L5WIIYdzRkKM5CqR461D2Mr1aow656T+5eVJh4gXv
AMHcE33/6AjpNF6XlCnnO2HCVe1v6GIuNmfW0Wk6yKG1neaKB8oKGnesuV3DkDoMpYPhTAyDotF9
av2slGSRPiNIZL5+OclZ5Bot1YWTt7PpBAy/NWEE8KaEYJydcwOuFA9oH/vTeO1Bd12UqB/elQYi
qY8mlqW+lCODjYXT/BXHoMo8kK3bM0Uuk9Elwm6V/v7FEMNHT1evdbgZBkRnWIb63fAZooiaB+se
QdH6j2UT9+1aXrsxqWannB0iL2C0CsZn/sD7vHHccyMc/GdfkBB+nNlrpbOA3SqMRft4W2FHhe3V
WoUfdMoeMt0Fw6w/StHpwcbC0c7s9ottVfmvqNDp2rtu3h2csDpjF9bu/cm5Dissao6esg74GE17
wzfL0QjSfs7USegmuxAhvWGk3KysCkxJAu3z1nJKUwSlMb4eIjFXElmet7ckjSyqZznC4IU/DHbi
ytsUTnDrP8GiwYB3CbW7Wawy536JLan0JSAsS/ryGljYnVBsy+0dvUoG33NJF4FUBGtBLOTs/ff2
vCgPPBzoJZ2W+PsjxW5TgWLmz8sM36S7tUioEVNUsgXOBlJ4/dcSCd8DIqbxGynxP+e4iu463t4o
6uBENDHzUzTbeGY5y/DvzmdmV35NerNaVKdfNH6LbL3+MmBXxG3UwCaFzf3d5lmzBunTjwjgLVmB
okOwz0qoS18CkqudNCXoqUIFI9S0ih5hdS6gGRD5XFm5n2tj4iuQSv1m+6/kQ+OzlvzX8Fe1Fu+F
ys+WFgjmUPivDadJmPCZjNVrLbjyuokYc2YM0PNod00oqSORTnxlLCs3c6+twptbOErcd2K/zGve
dKJigEp2/VogqGTPkN8rwFnjsyq8Omd10cfu9ty92wXC5jw+j9BkKEo49Un2Yhg6GuhfsE3q1J8c
KfhLr+NFKXoEjI9eT4Vf860s/J1qtBRvZqbr43Z35b+EJF2/24BoPRi55CViEjC6sfSFxzgeMFbY
PYytj/Vj4fBekfnr5ZdXpWl3BBOfmHLelpuBQNL4ZfEw7zARjlRP3KwYEXh5E8am/gx9vQD5wzmv
LjEgMXtGU/Q28+N0rU4TSMTZylU888SBt1vu5vhtQJMq1wBCmW9SNmNeCIgQQQ6aDczWSWo2Ri08
3nJ8l7XOpxrInRE7fChjzyP6QUFjCtBj1tqJVvbq1MV67+RZue6fZiJLh3UknZ7Zofvu8OjDLw05
68eFqcTaqKDE8BgAfs6fTUAU8ix1VukaCbO6xvauNPc0BXLvyMd4561Daa6HTrfEdvgarh+gj7G+
ZsCPXCe+UEkFfiI8uCr87fAWJ2G8HUxvEkFcNo9zOgar68AxTUjYByYYAKtq+onFDyIJgf06hCRK
oxvQ24kap0Si2nSt2Eo77FM8EkV7ssqANu+wPDJK2UGxmZX2EQyuqzrldCB9Jja+dpv26WfO5+MB
BUX7zA9aUuMmD2iohvPfO8yOWd69yFtBcRYe4hu/wEQdExK3wgP4/quOV4cVINJJ5vkNhW34t5S1
eSkL5y1j9DBxpdgsPB5QIC7k60aAtWPlIx90oEYuLcjLjRbITd/ey0oL7lOAOdesQFD37nIVvO5m
JCwx8XRr4wlP+85Qlbp9P8hu0b3dhhv0npkFBZsX/saRaxnYYR3TdPK1TJU8xguUgi4YsSVQ6fJr
jH8iWPt7Snr3P3pmct7fssIrcBtE0er5PHwXxDLz95ns5rUfZTzaK2bZY8HoZ1ylsZ5KcC5NEBWn
+f3NDSq7fcRjSjf3XSe/4i2r4A2x13e0ZiHTepRMpwU7duXVvjIgPfbcRw9Fvr6zUx4NMbyL2mC8
f6Lb0pY/VzpxhZgyS/x60VQksCC5ELumRbb+jr9+A3GnbZj5pxfP7ih4Q/r1zbk5E8IMknXOHu9M
EM9EJS5XLgZUJjImfs9uTPGtHRpfGW/uDI+oedpuza7Ywhr37GarGyd21yQssWzpH6aPqvbVIweT
GVopaSViLRSFhnIR0QfkfSKoYebWWjSQQ3RMdVnxaaSSWiG9PgT6uajg3dFg8rwzn+cNZTnnbcSQ
m6nCDAP9EF4v/cdx/BD87gDEvBPYpbIW4XDTDmT+phJ7gzQ0H4Z2hy/l2tbGOABGlrH71WgiaUIM
KgBUxy5Ko2fD6Ze0sCJQ9+PKE9ZKRplUObVjqbT1WE0fI+ggZDKsjKDcC0JU+zEd36bhrC8hmBHr
0inLuQNHbIvR+jcqsdXXY/S0FL7TQtV6S5QE6k5WcRRhD7ylJ0rZflKYUwu9PC3WvKMyEAhLePMy
fS28yTLoOYrll8KbOSu55Vmee8Kbeb3u8Vp/IbxZehCC+Cs3iCBokKkXAoAcWt0Ki+nGSVlKiNPy
T0HgvBsbYQCNLPyibx6hsM7Q1cla3KjIQVhX7qtamZ7Hz5iEMQjutZgijAUiYEWEtHRJmJc19ti1
UTvChFK/godTqC4ZOINxIk5zAPYUHtCB3KoXiLZ+RO2VlhBUgre2iD+FmFMIGgLDFN0t7mzQJrAr
rSGoNZs//WXnjdbL9hVTqPmdHb2Ccj+0u05zocvebATyP+QnkFSUa8Mr8xtH8TdWWhubHsdsw5r8
5x0RA3ZJWqjJlC0jt36juMIiDd7/M8RBbgyUU4sEUt5bv+v0a7M4miQgBhrMyAdG9OKvvsTKentH
WdyFfsHiNPmy4Xd6UpLskJQLRumt/+FUJfyKfadrhD+xsZ4Uq6AJiaeMGprmudM83mBBfV3vETWO
LWX0nqlwU4zjGLXm2ZxifBb2QKezRFhccljGdEFqMET1PiFtVgmvy/v7iDiUDCUTbsq0tfilaNnN
wz8NoiRZj6vvRnw3jq0C5U7M/+IIC9owlSW3zT1I1ZwVJi1RmE6xjp/mW6ix/qpBM9/hsAqerbc0
CA3j8/HUCdOoKl+zcbQrMDx5eSq5gaeDd9Bv52EG9ggRnprFc4ulqGzNFnVa7iJzWAQLDMdcg7Fe
+0enduiNyYNF2u0fVC4uLLYNRItxz4fb66XbE1+pS19sksRnAaOJxSLKTSQBIdgAJ80uTpiDjWWk
NWq7ylkKClGkerX2vqztG1s17utu7dMEMT5m7rMVj4ig0zu8DmRy7CFmjwAk/zc6NGNh1ml/CGId
cO2FimGWEMEri67/UM6lsqsSAbkyTzyIcRrq95spN6bfQ5dsQNvr5uvh+Hx9FTFnrLGA58FkaCxg
Nja1+314fZiAo1rsYwyjgKYpu4hQGuraeYPcAZGX8gWzLgnnTpmig4ZKny8DPvctwPP6JXA4fYsm
Jya5C2TUMKwmBtVEjc93YTUltVOTpDdIr/nYzf2SkqhBN0Vc14Rhl9dL5iGYg7qrtblODsqnmp43
hLiZxMSqpNqASdHJBCiLZYIisBDtDbMM0G7V0QlFQKlK2hn87UFjboDyIxsgpEfpgLA9tzEP42fd
RpgZ4CcsoRhhis3aeEnZFBeAh7A2IiqtH3IWHGPELtNx8/f+9K2XAMc4squBB6LpdNMJLKa7edLs
pUXZgAmzRCdwf+jfoyNEhdtKKCCNXCgaTVpP+p/WttfBoPrDb3eTTJN1dl1tMBGOGukcLQ4M7ZMl
gBSJg7DJj9EUj+CQsF5O+ItqrQHnQD+oqxxhWc2NKZDIPKaS1jH9Y7j2APx2IUsZkovUrXE5k1oU
/wUBD+pzz5AfyOmdsA5L2heWSbkoT2OxIu4BotC9jxfQfYx+LkhO7ceJBZOANtckV5qHZPUzQTc1
LnasBYFTB/NAWxBzVlJ2Jhg6W3fpb2flrdyVDje4gYrZ9Eet8IiR3/rP8/hDKGZIWO62DhdwNpLF
7+PpHEbEIsEpPI/UVtcT9AdtP9bP7zk/RDj1G++a2EIGzwYAIEgpAwnPpGjxkc2Kd1Cq/93CzHKM
0bastUcDp8c7Cd9f2IuOWKCmImA8kiqy13uO1s3/hL5qHjIen3dJtaU+iDk/vX+JYykvY22Qbdrk
VMfr3csy79/8qxvHcvLR+aozc2XhDbpEeYzdIJx0jt/MwpTL2XN80x30Kr8d/QPghn388f3Fr2cP
HS6WoFFRmEgHR5Yh2nBWptmMRh8G5KNpiWniA+xRXss4PQyEKPzeVNCdx6v2VCm4JVRZJG4pS2qs
P6omwG2FkM2uXICk9ScUGBCtw5J6gXQJg/HcfwgUa192wbWb/vHsexMGeyhvC59DwFmPcTJ1ckQL
Hhv/R3R9jT9+oaQesPKljIQ087CG1jJ/M5Em+D324ABclJAfQGHShEczdfAKHlLoX8OLCm82JOB3
VoHgEiVNasQqSqAE9KungT4TEaYynoCBGGJ5ZuPN2pY7PSf4P0F+ReCDWGIx4DFo+HE9LzARd8SX
idDqJOWLdcsa72jjByxRk89p/l5YOAGzZevkg5wnH6gb6taf+nnGbGjRYyFyaQhxRj8cs2j4+Pqq
zAqBVuF/GHqdupPGVNcMXbCNsVIuBLJKRPNAzgTgMAEOse5RhpvkvAQINAM9CAnbadmJ9UNRmCDv
er08o+C5/77g2UGnoMMVdgb8e/TsdTeMM3QikAC528IX2jpPShtdoIVA1OnI2tQN0GnIr+6m0TnV
7/54EoKNWcuywVLsYUQkyJECixjUr04tM/iUpjJNPjHtKnDXmL0wyYYEkrdIpC5aPssLZsdQSVCd
M6J0+rQhD6BXMjpUw4HXEpsV6e7lPD6Vcw8txegmp5XLQOtt6bt8kN4FMbn6ie5FAxl3fzyn/kVd
TZOANcgaumAkwTz5zrPiXnQwc/YtVpT5cv+PZwf2ijCeBVMsmI35OEBRdo+T4J+xdjvm2YSNVwZa
fAa56yUWzgp0Z4twRwPenai2AMa+A6uMObH9QMvKRSoWkQbk/Key9K5fVQO5+y5SbWR6/v7W3U7v
47RDqtnrATyE5qbtDyO3m1Ygq/sxPk/v5F7B75T5NEHLPToc0XfFhBnc9in/TdnIaiOpByD9niVJ
vV7k6CYLSCx5i8tMD3RNKW32xBxMnKZArHTx/HUiDoasyUs+KN04aVs00qqiZRnigGaXrBR0TIfW
zgNGZft84D83hVUmAtm90cX+fIRv3rLJJTjqJXDL3l1DOfZIzrnIWUtCfYfbdiRy+8GSAVnrhj+m
DBpbdGKLmNjjrNMLnfVqYQ7hfIVUKp1hIHqHSLEs1vkPKWtaYvp9HqeD6WLSgVEk2BRlsU7NWGLx
jKIMQFyyZAqWkvSjP+o+i2ptMK09mTUlAxcmg1vnVkU6ohK/W2/564o3wjq8L/UXgDCh06W0FCYe
xZ78mTdCUXZK8wofDzQr9dus9QYELiWBQ4P9KJb8Z+h7ce8gj0A4MIU/N8dJkzPFHQTzQ62BTgJR
3qmen0LADH4jV0R5T3M0K6rkqWV2S5wtxRnqMNcwoz3YPTBIG9umIonKC7060MLDhHiWrTVHdqll
2oPaj2rOkk91joV52zGJthqsDsMvAn12MBZgAHC/IA8Jk2/AQ4I/QZxQsCdJunnrjdIW3WO7FkSA
jp3xypcFqeV+ycCKqgqeVZYxE0x5CjN0mkIzHrrEf4RJMMZzSBglQmdq5KPjT/AoLCtB3rae59tK
p/4fzyHUFZIYFcjOVGdTeeDDQ+3/eP4U5pT78QD0+ZW7etIRqf2Sg11VAWkfW+m9d8rHQWXTh3B9
id1WLRQZQeuaXrp4J9Jt+H2YlfUdd7DLirdfyC0UnCFHkYTorbGOQelWrRAwOJimdYAfLpyv1B89
sJwebu+9kifTyFdgeOPLmbb5jcAgoVUeTad0t70MKXT9oz0KncXXUFvV7VZZ6tRyMRe05LmlvPeB
a3CAWL1O3Rs6+NQaSOBZ5sv0tcwnsVK+mQ76YTEkOtKCkkv97TdO6vJ6mIDigvlmcM107SKhm8X6
oFc8B3HZpvnR2WQkMAtiVFbNN7V/ANjN5wESZND3o7ZK0OQWE2i0FGAWiCBHbNM5xvF1JAemhyaI
8wF1QeSQldycRtbma4NAn7fvusRdN5USlEnmzwV2u9PP83galv60igPnqNm+Lluo1zOl5JmpDz7S
0fySNfxJxus20UDT/dE1hvPjMS1lCY9OTCdJqsqTwKqzN/oD/8ZSoItGkUCx9gPyeKYHde6R6fme
xRyTRs3vjWUO6fZzAj9ZrxBnfsrP+DY8dNv1S3e9R7Jx6GYtt2nUqDC+Qzve28P0TRM0dZlv++es
nFad3ij6qwFYJeVTK2vqOqoz/GkVdDgJjySXi1xmEXc2NlEu2US8xItVLkmGDKlVuWMF8T3zvNMs
KezjBG1J7MnY/FREoSfBY3VXi1ZYEsFQB8RUVem6HOvbRAjY0PhASzEqe6E0r/vMO4Nitwfheqv8
5YBb60I3DRZItX6d5Po8dBTDnRVI1tr1BelgHkOvJWyT/d4rEwwbn+q33Zg55i2Rsp7K+LqO/0e9
8dZnUlnuaXAmilIAijQlyuyLV5TeGrflpVgdY5mNmdfec/bjK+GcnIdzHNhtbBRr7ApS49gY8aa0
+XgXZlg18XtWkDhui2J2YOWTOBtUE9bW+LWbznOg7N1YLQkxvXBaVfgMB/PEb5yaqNHADinGwwp+
H9s24fhnOhRJJlwLib/0HVoq97MyZSGWCW9TkO4dj6K0ntuOr5bkdcnDhweUcZbcFFbIiFFzn+l1
uSyK6RHdktznQgHNj1nXINFVqP6o6yrA+sJaBpFwzVIMTKoxRRs+tN+qm1lBTJh+IDUVK1kBdIFG
rXnJxjYwB0tWt4BfWY0CYWshFxVnAAXKKIcNpCjaIZMK3GqfT2SOPxUZhbHUiETrVCTqU0J3MqSo
4MRmyGr9v7/8+U9/hJ//gVSyQNNblHnszqCLwG6Co0JtlaMr3EaRqLz4fB94ugfbArQ5BeOk8Sc9
0JLn6QTRBGjaK8gHb1BIndNqP41CKOrywRyQFsf7HQcBErYNC+i/UT7ZfIIc09tDKH4sA0bYYpKY
xxZ0xMZ7d4LkMQqxCo1FHZfZsM8kuetue0txP5wOyCDDn8DsJ4yyRevdmFhbyGIiq4sJERVljhJa
heht2bOFRTDFUhFKra+EEildO6xZoa5rlF4l0Gk2ryhG42NRGitMxD+v0h8gqBEO3KJtXFZOir2+
UpAYSBN7YtOItojCoEP/BNQRqrgm+rn7VJlb+may/fUYfZJNyu2Tp6Gz5MghXsg7oe1DY/UHXAjj
XSDauCnZtOFszUgfFjhH59f6ShWcdWLn4A6eis7n2K4UbgCnYGEgtvEBpUNOj02HwL5Wrbuxy4Hj
W4wrFWbFMiSSpaX6wiOLIbm0yt1RxJuU9YYqR0VyWjdTkzhb/ngEFQ75Zrcx9qZf1L5aG90PcvFj
PwQCvP8lexfQJNCdQeCUYPydyLAIH8eNtvnFari6z8f78lIn1hAV1TpEU3lXJk2pjK9M/z6yttwD
EWLbeH6BEDuYi09qKZmk0ueNdcgkRIX5eaQUOgwdagQPnb4VT8/jbiH1ACrXeYSmJSm9I+ggKvnx
5iQJ9PmjIMYRtRjaXrOLHEQegir+5LbgO+CVfVOGxRIvWf60XK8mR1U+lpndAng70AWNlw59Tnwe
DLvYRIClM7VUnK8BQIabnR50Yb523/qD/rlUVVYGjg7Q+Dgw0PHD5SFUlTHN6LzMWCXAe/8+jjK1
mpX1cCQrPMa7V7bBLNe4OHBi9hKpOBoCxg2K9bp286hmKgETC3TvUD+Pjo8Ix1s/rDptnMvsEPob
8YkrcRZHI1QZXU0HvxV0Cw9D86ZLVlN+aft50p4pGwlSOz7k9dVM76Hn0bQBCRfJVFwmU6vQN/yO
zYdZXU7OxiosQg59JyaL0cT4CV4S6/SW4SUuAIUSBQ5/xZoL2pPyvO05K4W/X7fvrFymyKYVa4Eq
5bMiU0v8l7HVJ7sWWKYrPukFxsDm6Ppt14q2WOTnC1PI/VQCPJaPWR45tF84HTUTIcyDbmtZAYjU
msQ/s9WRjS2QuyL8zcd3ZGVCHGSOvaX7dK1MqPIgMEiaTd5AprlRyzW6dwNiPIIGmAmVL64BmGGi
pqiTDoKXtywKmV9RGo203CeCX8DfSPm1uxUAWdW2Hjse3zKVbqXC8TPlHi8hGTAVOTiVco5iyC1N
4q8iD9LkXxfIpv7qONTKnETUpyFyvN64sK05yMdS/j0qw19BlxXAo02qzYfv4/R2eLt83t9juWpE
hhVP1FRoZSa3bMHOCeWeju8oPOMVB+CTLEZVYaXP23CCxd6Uz6ETfj6CidkMkYghCEFY9vc6ps9L
O6ggQHD+nVuO9Qq+AIZ2fHTlOvnaHjGPC5RXh+/sZ+kll5mltjYQlvQ7JRA60KzjvEpAKEUTGKfd
tIjLU7vWSVbZ2sPDTU10Gk6yD0l8d6VD2yfrcDh7ywZPdbaOuvZZf+iUEmwRbSJcAuAJraB2o2Qt
jzN7PrMijB+jBAX818KHGje6VG4D2oBnjWAyYSqNNVJKiHOVLp34hIUJtlxS0lXQfsfUEjY1KKEx
EQjYyD/3t+cf1VT4XqrfPG1QrcfG3kLhCkMao4KYVsfzf+k/NNIcvh5hAhS+xGHTVMT5RfQVae5W
jmsbNB4RQMCEhul5FZgrzDF3+6oYFHadSQPvxJg7hSS7cIVwxvDGIfxluvPi2/9/YvYVoBwJE0lc
hWssmvnUTWeMctuXezrj6mf+mbR+ZHqWBmnCtdj9G8I+3/u9aGQZa33Cqqh//5c//5Uy2011d4QM
a2iDlbwU0fvbgnsDjQtMHvLHAxJjl7xIbBNHt8YyaUxYF24KBqHHcNhiHwEVe+nnef2dMHNabxHZ
rrXgL8vrRmw9pYNPrzWw8CEDsDgi7fAKGNAbq7CPE37e4NVHOciQQ/5JXfUE8L+sXvWt2MepBQnI
ZjVGdqR2gfz1AY99h5IGv/IdBnL3he8scrX8OLac1Ielt/szMeqZr8tUjLpHcMNfyF026Rvh0r/1
OvkV0IbkjB/id+qUf2pXEk2/obuMb/zeOoPm5AnASu/B40O47pzuV17ryuvO2dOjVcqGAaT3BJu1
cG1W3evO5mQsdTxLBurthNAlQllt5o8ZYiDDKGTI7wK4nf6jP0EG4xXTjWVzsWEeG2FgkJVhkMPV
/fSYhuMT70rlFsgp0TTX1I+/ZqYJs7oMt28rhobpJf61E0eVkwE9fw4LLo0yET51qopAs/JH4QM0
6eX8QZzoBbL1untmbZ5erj3eMwQ5uXPlTeO6K41njt/6zzdomr5r1UUAX09YNZ4ngWSzjtT4SOpM
tn2TzNdBpNpD0QAa7aLIAsAcRBzumuEC7YOp++Ei60JAMGlqPw9t4wp4V7JgmU6bW4FsFSit/n/D
zeiNvV5uk/tAAPZ6uc0qSUGXHt17eHyDuRxelf5S85gPr89//lMgVHDvpdFIS0/dThfyEIFTFhJT
gHPdGl1u5YKuWhnHB8+K0r3rwFsChLrzIYTBjNPNNwnW6aa006QPjdMQaptItFI/ch/OEKf1BugU
WL7B07igWDEa2U54EwuuYH0z/YjPNfO/vYfXLRZ7Ec3EjzV6fL4VWZJkrTDUCi/ok8Jgab93dw3N
TZ7kqXsCptPxk9IpEAvogP9Kp1FSCj8GTiCXCF6ioevRAcueQeogAAWGQiQdr0pcxPv2f5b5gEDZ
MlWane8vlL6/DPeZgbBI7dboq9kG/zzwVYbsoiweoaEn0S39edReyjriBCGoB6IEKdPvwlZBcOQx
/rGcZBtlcb+3UORdKiJIBhVHIbAN6L0LgbIOLMEdJyvN8RS4ihVist4V7id03ug4QvMcgRQvNMRf
vIwYNb3YxBpfumB8E7+4detKIJOsiRVNbhyfpu0kWBIKCt43QgZIvq515eGza3dXHqftKxSZMIeR
sE+zXlICkdJpe1Uu6Yo5mkakg8yfGCjBAk3KgQoIPY0MZyHPLQB8vKbGevvcJausTr5CLza7OtBQ
fk1N17tFltoGbFAsMdMo2euKWfsRId5Ued5b/vd/bXa4Njt0/Sm8vcBFrH8QgQZos21N3KriT+Nq
YRqBQCj3A52AVA63p01yOhiE35M6w9FWHKlbbKMNpNP9SfDN3XT+Ac6x+gqh+p2EYnbe3j6lyp2l
abPbNYVSs52azNhMWU859gKjG/NqhPXegJG/Msx1zRTUaYL1ULuvHwYMzSDNow+G/ZCEi5IoVWuv
U1siOIUloRNyx2F2rGNkDw0ywOAfjog3vrQnglj447G0qZCqp9LM03qPvjH1+kkIsIWVCf2cpOIL
Kxhw8+v3s6UhMlHUbXtktVjytmNogWp03qNu+opMlrL/eY8jrund2QgTKAPYMN7VYLK8QGzV6oy3
X8M4Jys4QIcz2niCyFpjsc7wFw0jyowOHMgSlpcuKHLnvaQIxFUYKYhaXQmHnbrvgByaw4VlDsLZ
4YmvPOlCNwrFpJtL/0otSdDY1JUJ+GfJoqUDtW6kkYfIo+uG5gmB3+h3Pb0O+DfCVzjIeWXt2xiT
+AclHhXrAI82n3s62JokPJ2P83j8u+mVo34Of/1476+yF8rSmDGBOC1TVmS7mFdLgUy/AApIgc4i
EEKLccWY41G2ZJ6+H6EPRK8IpxNYmvPq2xUihUCkWQM1taaMCiKtGoeXLNmfHxD9Hm+U+k8Y5SZF
GhrNSYjS1uhAdLw0MVbydTBCBS8y9EzYhR9785aLFi9espVRrD3VAw0Y0w5ukBM0GP6p7WNPAbA7
mGsPRQQ+gtFy/Wx7O+D9iz/Xgg1FxOrGm9SRnxn4tvBdH8iwFykCv/foTt+wsho5v+olbtUxYJdi
gkoQNLvIaobGzpIZv/IZgXqz7pdR+Y4omzHZSQL+L9FljV4oTNl+ge4etrAeFUtUymBcz6yXGnbi
xR8Km8v7yufG3IbrWOk4Y8FhnxSEbgdwduWXOq6RGPzOktLBrzQ4Gxah+kSHmP8ATDvNlnnxGTFG
jBegVK6UcbzMpaAbD+DlCTcbXdv4e9MhDyUH+CRQLdYJiMaMBK9cQxuThy5Tox3kjRlMAuLKw3HP
reNXaPwoYVOz9aYWWp3Ril+o9PQFq1P8T2Ckyyp//BNq/ljZ71Lhdntej5iETRBGwScHdPQy1iID
qqDyTF82P/pj/6HOiQ5NaPwUBhYOmlj/Cwj8KVUAhVfnOZwYiHtYbN4PWhsToEytC6FC0AaoJRAm
Lb2Z4cWli03Dq8pbf1rfdfg4IHlKEdRtQC+PUCNfYhFDlIXnM6WK1zFdRnONVYS7K1FnRx82I8++
RH1BWRG+kPm/4LIWSgCJFQJbGaUC24o0++aqQ91LQ+vxQ5huus6A9E2XsEIMSKr6pjDraj3rOigM
bhnz4e/SxjVrtmbLPImsRnG5w2nRj5QCvTzZs259ApYfCPTY/Ar8pfXQM91Lv79huHQHWXYaIGic
V62PmytBFdjIMnth6zkbXencMzl+mOjwB7d6/sdTXZmLOSbMkCkTcBtzDdqxIqoDiYJWyir/Dq8I
vXfzksSAoD/3PZNk3VjAach1Sp3LRjDJIby2c6sZTVCCuXkz32xNXCEXe4QRSFlGCNSYigA7IDeJ
MbrxhOnbCEYoA51Cc4wbqHL8oeDhxdyG18Z/DooWBVd1owtSREsraCg3OJRh9KyirfyQnQs9LDBX
crAY2DrIJaGOFG3tAU1Eo8ticZEXpXQxsUAgxuAfMH20WaHNmrky4kq0lICdBaI86oR9pBob/F7q
XEFQibhAiQMSlxZ5W+szKPsf37A818xTbBxMNNNAe5hN2xrl6/YQPaTLTV1BjyEKtlK0jTeurO0P
3TLtrUjbIvCki1SaYhW406ZN//oKVjRCCPUQndVNILrL/b1DYw1fAoTpJeuOKY2fsImY6EhSH0Fz
KThgCg81yjN+/yFQbNcYIpmfIigUkdAGxa4KrhlSTmJbzPDg2ROnpnaexruB/cHuLrEjyOAHbQ0w
OShKYkC2v/WfP5QTIdFgMs0L8OFdyYXjB6hggQ5/Wcxs6R7msFFuiAadxryLxQVBA+19D0hawVH/
Wnpv1O3EHnf9HGgQYpQ3Mo+nb/2DNf1dNQB+PrCjyhQCrEUXMLVOvL7hTMTJpIur/2ME6/uMUFK+
NHKiZJvtgZJrG/ZY+to/wHPvhkt4eOZ2JjM9lof5xF3lbpq6T53WG14Va5/J0h0QAQjBk3Tri+Ol
uwnuMe8dyfFyFRVNQLvaSwMlMpoFipZHLMdA98rEREaXEsjPKDc5LJLUpan5jv18Nfc1fPWOZ2+i
WGxaBGPIVOf12nZRCHkT3Qsbh0IUmCaQgaMTFQg96XB+TjYALohvysTX9q7+uF7gzECaTq/bRA+3
1/Evt79O45uiMf/hO0ECKfVzm6ntI4SAjwI+WrNB2KdI/UnN9PFpXfUrGRkQ/p9nHakVyNasjwPr
9qmB8KbDfbwMp0+bLaoovmkfCH4mUN4ASDuZhT/rif8V6dMDJIWhoBZI+WwXgATHQhT1C5waYYvb
TZPVJcazJifsZbJpxu2lAlFA6oUWnZcN3PLcwxBFgZCN0RoUrPgmPW9z94rokcImVWvAknYJPkGq
+AquRHjrIBayk7u86fHWMwZ1lDe6RaRFYYrpOmtHevZ4wDuPSfcXiDIbzjb+RSX1GA9/7753pkxk
umgtKxCz1yY8Oup34Pt4x9eWGAB1neSb5Kf/dUFj5tU2UM4rolViMD3Jw3c6yyFqoIap0aWxG2rP
2z56DaNXItE4vUKg1/qQBrHkV+ngTnft1IFV9R/9SLC3WJOOJbdljUTr4O+ANpPole4EG9bCU1l/
FPhm3QHDlKrWR0nY1lRgm5W5BqIEjQ6JuPNiK901wcYHkYcWi4Z+pQwrfK2L2JIsTxKqdDSo0llt
AXiHuupT6T50ZIbICwpRLH05pD8mSIBdFnyTTmrBkPJNNQ/aKgSWEvl+7WZP6hju8uXHcMWsjeeN
is2ft3hTi4LBimM2abUSieGKFRYApAcFarpFHBk+o9oRrImJ9F0oWMovO2LigRViHAwvq4HwY1Mv
pZ9KD39iC52Dmt8VsUhmK4LCBGt/q1D52GrUxhiHvTjVlpQFKLTrF2aaO4jEmyN8o/YNN2k3MnlC
Gy0gKU92JBKf+Bh9adpSIrLHHi3KUoUxUMqaUZqIHtJadDRw8AwBHmErEl/PMFEOJQ1oz3IDCSGN
frd25PAEYdzLbILs9kYVVm7psubX7oVEPUjpSMYW3fjyxYXtlo5ezpacwS/NjnMS63hM08y9KL3Q
T8nE3RboBvYnW/mIrmK8KzLm16QMtJIhFhNFfFeCjCxTtxUjZvO8WgtViRcV/vu/P+cHIFJjMlYM
YK/wYGvZhvMLQB7eYv8xjdffx4vQaZKBmi2d7IBlqfcRm2npTkZkfwpJSmnrA8983qAop+c9z0lM
Yyv34oh6Fvq8ncfoaiun0C8vFsevg2Zo1NwF8ivB0Za6FRO1wgdXq3HGYzOpOexCa3EFcA7DjbEp
Rqnxwb9SgsnO+scsdRdicu3MDF7H6dSD/tNbKLWJIILJRgTw0H70p5+oXpY7XZSwq7FMzAPuzqmn
duqYG+Z2T1D6drjpnh0QovnTcAvnkCSsKTDbz/H5OONEdNK0bqQXmVfS+nbFHPkpEvQkErWjjJb+
oZxnS9GJLv0UGJW4E9JoL9if2tSNxibEcfCWqxfW9Gkqf3APnzfT7S5KsXHlRN9B9ztUmxLABroN
d6XL36bu/r5HZ+Rt64Vq1mt977totTbLibJSpcfrzJBpwTaN0ap86DcGpsWADgHct7Cg1uG8Do9q
GSCsbZILzKx7aMzU6MwyVyS0A/nxwIvzbHo1RaBbeR/vYqHizO2rUpFvzo4VC6cBycPaFlp7aH8w
1jxNsdRuCwZIzS11HlnoVd0Doy5fIXdaUHm1285c4988zwNAw9DthE+2UWVcbQ7q8g5KBvI4GXgD
6IIKcnjBzN9oQxWiX25kaYWbUCZl0maUT4gZjzM+Ej675YkqsoLcZYWBKYM721hpdIGDexzdqHoD
lo7klOAduvAwngbvIO2N1MXuMcEzm5vmrAtKSGjpcC9FJVix0GHx8GrMe2f74uAgJYJC+nHmsL8w
CLAT4IHQW9Y77Kyp+3NDbSZYArVuIwbxyP6nTnpCal3hQ+BY1YPZbzFXJxbhK4SPpq6kNb82HkfU
Mt+NuvJwSS3M8hHIim2fAfdpT3ln37uZ/fZwnrof0MQTXlfDaUsYa84z9u6UsFRURYZC7FQsRpFi
Ne/vgwD9RyTZUxY6q/UCkK3sG8wVpbfA5Y8hUCvzGklJWi2Gef/HpUR9u4LjeaJfgX6pi0IIr8bz
vT+pi0P9+oCr+xrObTMvkpQKCza5vkAWMvCb4/gRpVMH4Bo5HXqdjJJq/IiSP//3//nF1IP8Cdpz
yHAK5rkQAWrSxWFfJgTtjpVCuXe36ITadbZV65JaylSilKo1l1J7vVCHFVMl5eizmBWQcVQHDYco
tBOH32fC+WTuA8lruaSEAUlopuu27Yglueden/TcG3gIqioNNunNeQbhun+kug+UB4kGz21VQS0t
kpVQMn0mEUsFYpXPQLzhEwWmZYHZpRTlNHwEj3fOE/uWi0LHQMbjUef799N3Sbfmm24MuoWkbquj
71805gQqvLWt6SG5amYF0qCbwKtjrbFBFzyY8BlIeVpppXMXtX7G8L9pldWpYYRLFVT4ONk0ABql
Jggn1OYKCRc08+IdqHK83jGf+/jEZrzmieI2yj54xsMwGJIseeKJTqMg/Ml/ABSZDOKZpYW/1AB2
wTDO1Gu8wpvFKIoJj8Q4RZB4n+u0Y3pCeQzKAAt3WyZy1tTIIfacaxg8TDzQnfhoisIhSmtfP2Uj
CLNSscqymIZXlAmBTO4HeglzKtyomAhyiz3TpiwKx6jv3EV7w08Oprm7cATYDYcpIhrZ8jL+ON8H
vJnC3TuJQu3ebaZTF8afcXzkckwZ4nBO6G26Qn1J2NKyAOfn/xe2RziatAFoR4XzVPbVVbe76s4D
PjNANa3B7TA/DZtdhU3fYE0KXc1ABalzMH2rSNfVZo3uhKTnNL0dO5oYxcN/LJUGaZho7akw0wIB
lc4E6QB6UM0tvL468WRFgPPe/x7fKk7oWv+5uy9niGKC4xSeGTN+eTKggfgDcx/b8wGtcC4E0ip5
AWBhD5Jpn03RE2E8Yz3PLsXsh9fnBYpaLmKCOpFhzOZAaVqRQrrmgyrhwkWsRIixmycmnybF7UN/
Blj7S999CzM3WW97rqMWC8ymcVGCyLZIqGIlkDzZGhmyZMXhQ1UWng3LqeHXHq+ZNmYVzCnMmIoV
THJEeG2EIhG8CC/97e0RXlaZ+fmjjwXkw+44FExqHOCUJYdNGR3EG+2aYM3ETdlWN+wBKjqH1Vom
ra2gV3dQJ+3ZxzaQ5UuyN5a5t5DN2uYQEiSrxn/8J33dznAJAxCggzwiT6y0ksWeUj28+wrPuNgz
RAxYrhr/gKfUvwHiG70lQygVzHr1G/Xnfg7g3hNpXsFskR/VdC2EXFRBVOwg4MO3Nj4WcFfr4oce
julAVb4kWFZXKZzFci202d5bJg8TbfwnwdUSBHTzILLClZX7ryzhWLHykYiAZH7aSwK7kWiS5PCp
av0XBjm/uyDMKVyzyopcKxAs2Jpj2cZl64qDviyg6oswFrHGOLSWnK+FNbs2NznVlvCCCN6qNTIz
tpfW2b90//zUeM+Hp5R9WvJkTFZagbABpw4xZubHNH7D4grdYgCzogWa7AAsnZAoIfPxMKnOULZ/
0D8QLFNbbWl6xjjXmq4mGBBdH72o5a/CViqLcsGzS57knhKf4c3IftA/5y+rXNSVyTaN958pPg+C
0U3qyEPYejzTkQ+TLNdIYdn/2Kkd3p9o5XRXqDUMxw1YrBcLQhrdDLH/CT7+Zwo9KGv5t0sqMAqZ
ECBhL/+ING8I/vKcjs8Lyux9Gq4D4Oz9F/o7wRXyvmuoWSvf5J7HqX+T+mdmWe4JS1hW6XqFWCwq
8T7mRRgl+K3s+R6MF53R+Nr/hXI41LFS7iBWZyA+a5hNjT8X5LX/DxQjvEOYRMUukZyXyK+DIzuI
pmGi1QrjSCtq5xQQ0R3ECg/ekyfN2Qa2TYzCHNZwuJWDd2Qa54GgHfvuYZLf0j6oN5LMT0BZT5BT
f4DrvbtY//YOT0fX/vE+nsM0WTU5RM3zpPFNqgsT4GX4EHHJeXpfv8TI4Xn2OszqZ9QB4DOkwQkT
o2WOPCy71dsAeXNAQk9sSe6Al+7peXoIJBsH479K/8dN+Sd8TWaHYpj6YCGFrhaZQLjtS/9Ny0x6
ZTHg8sO3deW3PLD+Jup057WvQCSahkpjV56ETtyDCHsUio0IsNtcJ1tQpHYiaBR6mJqwufzSwkl3
lzU/+MOuZJ8s2QboSECgTwGV4I7nDhprwQ/g2X3ZY5MWICBZ8TJG1lTPbZN+ppS4pekBluQThoX6
cLSpb5mkfnQ/wBXT/TH0c/v78PZ+gTwhIe23ZBUeTk86hw8aIFGgUq4RA4stFcVNnb2BkXyBGgeH
Ze8kRGdeMjXAe4DCV4FS4ikPpscEegY34sWMMXoaWNXGU/qXmOrdJOtuy1q6vg/nftQXgPqdaa0x
6/03lC1ohJDL2rLcZVS/y3oMqD0V+Z3eh9O3Xqnit7dwJoHTb5VFOwYGefRlsAj+jEq6vfQ1itaN
uZebUPfTVof6cibphaQIwlY4dhKEDn+RBMs7T1NTQ0av0f/c0R8hb50utgk6AaTsMYtjMdD1RDXw
qzL3qE5f7F+iOJ37sXQZkgnaLmTFr36IqQOUgixDY6lFZJ4umhqlAR/TsTE5AeYsKc20FQLRgMdA
fpUpn3lOtiGWyIrVq6V+mDWyT6cP/3TojpioiIkdS6f1NEy6DuBiLivVUIHK2rmd44k2HE2Z127o
2akTNx5u/f29/2FnlwnkGj+spiZH2CHmtBmcqjC5JhNn55JTTvpFaNZJBCt/92Vpubmw3NaPkmjI
udJnjKRZmF+yXnATXrAUciNqpV9Wjlrvjz9u5I9huQ9EMkl25E6A6rC0voRU7xyt0x+eZaCHybIB
qCZEOeFdWpy3ZZqSjgYJ+1j5LwmrEYkSRJR+3KSTH2xqIwiYdNprf9TBYi9BPpJlN75291FVzZsi
8ccamyemk9djaYcVzw9t9UXIGI9pYcLyeF1FqpFaYR4P6EqJKb+AjEfEcKWLzRLrUqXm1viVB71F
jXZL9bUsZC+omfL7obFHSdLikp4s/C2unzd1eU0zwLifTsqmpqYsK90uH4UykIGwSIzVk9BjqLso
wtLZ4M2+eLzDe9wl+El10nn6E3uqtHM7j/2sM0+V72CPX6z1L5HnYP65jTsFtDEx8xEwrYliAOR6
ER2UpZi65I2zMFytXeywlDPLPQ6orCSdaQmNNR3eIgGjkGabSxqMVA5mBnBzSxdiEyf68y5BTfzR
KQ0t9kSLS/9hdQAETgSitKYeBLxSMDvhbeCqkQVR23XzPLzdruI+8mbGrF5HWa5vO94EyDCsfAmA
GDxGXKyYid34am/81vvSZCgUeyOKqTMhvdeG3yYCZLaVABk/mctivBnAQoF3A8eVCvszaaAdudZN
/9ZP5R7cZ5BnsnWW3E2dcqevPXUAF2voPYQSUvCcNKQPwUetI6Ao+YLVxO5MJXVBBBOPr7eTN0qk
oe+BiRwxPSJ8L/PvhYUcsOjU6kI/HGFR0Ej5IHft5gnC1BhY12Y9Ljt6fqe1f9vM7iMroRXCzUFH
WKaqqxTu+HRHetTqVHQzL6eznL6VpdUaWjNfnuDEUyGQTNebm/GCC91qCmaOPakRkgCL1zBHcpgZ
EqPAeRskBoVYG/lZZvy8LQ+kW1Gi53xW2SpGBQuee4ebBcHyfF0c+dbdJa6w1G2I9+W5SU/zq7ao
Q1AGHEdt1uIYRJh9XTS3RbIQrhdrwODzbmEA5dwol66wVn+ECwWCgzoILxNnvebgnsjLegGoB3x7
KNl4Hh9T3zuyDC/SSsox43g+5IIlV7ae8ha0+k/v4DtgATOLTnUEu+eEVfbGU8rE36VpvaHGNlkm
IJDkLQlYOpbf+XE1olBp1PpaXZp40ivFBxE17v5UR/MejsSWVc4il1mDCqOpl1cOfC2A6SjZVYZf
mEzByNSYUllrSxaGQIWtPlQXKGuL0LJh5rzCfKMqaVnt8zT+mM37y6k7SZHZsioZAkSFxa2VcbQB
BkvsSEuzYXBlJWUg63zrxyfaYt3joI9lEBqeZsLwLfABKy8SbabqPkdLheNfbpkwIQvvAO5inXCI
r2/95ywMtUAThBIJeJPawYT8HNs2S6DBoKcyeDT07TJEa34gMPyC/CFQzBmHa/pVHxMU4qkH/1La
IrbHmGaofjV+szKSMW9Mv/IIRFijJ6Sofs3YLDSeB9SkCKep4aeJanESjlGrtOBxuPU231bitH28
qbGrp/q1XMLGVEkC6T33gV7i2M/GI1VzAPbj4O8lB3tnOkrBrc4KmTglyNHHXE31mTAdY/kkTim0
d0YiHWN/KToQldLZol46J5Om9gj57zSzdKHI4n5eiv3Hqb8HRZWo5XZ+S1cxeXrXZzB3mEgmlnXw
6JcmeZgqVQCGaZWWlk1P81JSPxzGsyQbxpIEYhByT2thYspmmJRFFgJ+JIKZuxVFmBydFoFUsSGF
z5qAXMVe9ACVBw8dATwE6Zl6ALJuK0zH0O+t+mmQUiF/UYdBQN8BUnljRbiB6E6jO0dQ33LElQ03
9EQKud1FeDnRKU1UcH4ab2SWQQfvKbx7WWOZDYsrM7YaONOE4GVAR4FRIK3CyeRiCiFU9WvDaFJa
hdB4majYfSvBQyrzdgFqwadXABBF+z6EX4iLa+12wfVctGwiVKKi6QkzsUxG46XSHLo+Kf8HSCnX
5a77jiH3w1tWsLOSY5SDS8+1Y30wlAn6ic1uZ+WOXsIimTOGwz2f1gkjeafmzQkktkhyzaQAgmTm
uidhRGHqQo87uDCm2LFxeMnmAHCiQvkWTqC147EYqOBrGOeHoM1MeQZyAO7CtKg2gbEl8eQ2HkSZ
yUuruk1bbLuSvv8WdE9xLrUV3JR+4Ru85CBDNrGgt0wuArIT/uOTuEG1PxUgxTiTW84g/GchChu2
T4Ng0TVMMWO8hqeytOYKA7UWJKB9/ixeZkWWSGwyWgbCYcruJlMRkdOocZy8g6Y2CvUi/MdnCJbz
GfdRCGdmvAYc2A+rLjOuPczMMHnMuLDQWRGnqR8eKNih/zb8pcoePieYtGhyUnk6jPLanftgZ0NS
6VYGG9AITZ26ylODD10GxWIA7Fdq/tiFxShPrG2EmRBtxeXRrDo8vmLWEGBdubqcIgr3joAmlIMx
QyWAKU29KyY/JwQ4Mr/Vn5339GZV38dQeZWjxILIVjV2V7DqzeR30dYhgGU/Crou5+wATPeKSxiD
iwg5nEilTiW9jSfpTvi8h2v/6NQt3B1unWJAdwk+52W8MDPRKIGpq8kfOtwJu75o9vA0MzbNDH/J
Ob3uRlOlJpbhwAldEvbUM+BVjzrC8yNoDybggDXIdYfZzPHxDvYh5EHdl7wW4bQXbE9hS1fqiC7S
Haa/KcRZbI5mxS6kdr33UVuB+RBgNuhnbJrSd8jA6w/zZRDt/MSSqECHVbl8Ayi7Wlmw0sWUtaK1
gfcR6+8kXNp2ahlmrjR8fdbO6+6ERwOQVN/Uzj4RZP+iToBwh/PrE0zjsuUKCw3zXRZ2y801bJHK
TVnAyVLCtlxXCCMRkTN2BEzVtN0PNClJAZk2t6gI6S9m+UrNLUMbRMDe6qSIEZbX9iKC9BpnR0xv
MULC1LHmWdhfJijw+1QryeVS067SYX7eoUJL2M6s4SYuEav4ATW4qo/x7U24aJdscBALcL/KNvF7
OzqSdBCvtZJdixjQqfJ2exao4CLMpsp1v/iE5k9F4aoOed/fBcuZMXppjLu1Hpb4jDrzpIxEeEvi
u51cCcHWsuRcJ1tMm3woHDH5qpgvla2MfDTJjp/k7RyWBwbBamq4UMAvHgWC73rWJxdEn1HDyFTK
bTBQ18UuSW3Y8YYIYVptzX8scYwTK7gdh1fdWlcIyqAI37Q62AHPKgJ7S2bkQLipTXK/+avckbWd
ImxayeIn1BzRJ6wU4JbMp6xhISx4R0jz1B/+EEgwTw/eSypXfoyCMtZ9NPaR1+zqx7h3Yh3RR2+W
B7FdBEcHkRf8ULYBYHOXAYvkey/q4YJJQrqSBKscNCSeSZF8w7pL2U9m0lnCXMuqiJ4/OQqR19Zy
hYhYmzHTiRy31wHwb9TeCFTyjEkuBIfTZKdlMcsHMm82tnDFZkibMo3XAYvw5/HyXZgli7jgdV17
/N9IzIbfZjVeaewE4Gxk8yZr2QXWLG/pa09B8A1KxmlgtI/P8bOcs4NIfcgco1JrTay9EZRlzkLa
YPOpX50jg2XX3KsKYuGTBmWhw3QVOjEv4rKlxxUUxOv1kwILYSiFia3QIB9ynoV9YvdwBV7dKrh2
vzzneIStWDG5Kt2gkuyOFCzaXIImKXVchbBcFhf1FfOyTJLOE7C53tRlAX47+ojq0vmbzt76L/WX
/4f+7pfxT4rMf+NUXpWDKxycpHadvzJ8BPGlk9Rkd5SeHPLcniWseSkj51on4FDQVzjkqRuJoiv0
/+U/0dM7MFwXx6FI8t+/6JSo+QXk9EUMsqB9xjuk2BLADTUs+hCoFBIVSFVV5v/nS/8xzI9ZIMPf
sBd+epb2glgnAqHK7YsZICRaHkSo3MUe4HN0TvZlmz3u+bZNoFH7OsZsiBzHt+ccnU++4RFmC0zU
HlD9n63PJDKo+T1eSGe8iP2n8ROsOw1GgHWpClJGKIwXyG5Gmor+21s/vcBCEKtboMpENgH9on6t
GeXdUsIaK/EOdDYSvcAl0x9f6DnrRTrARNiyFq0nA4+zJqQc7MjptHkvGMxpA4RIm8qizLv9kK9S
itTih4P1+oGU+LaUl/l4n8bn27tAj7X1wcDrkuC4UATkzqG7CDRYl6Zied1kFHYrI9Ymi0tHP026
YA9/93J7XoTp5Anv3aVNShq4eyI564y1KA6ioZQF/h/SAfqz+qM++sKtTiRTR62ZvsH07KcRgeG3
L3ircrkP02R9z5DzOrmC6CivypLpnrOklxLWCAzMXJrbrX9AI1Z7LvkPuORGtAfrsoMOkunxzIhF
hYx1jOKoqZzG7t1l7edMUgU1wb39VbH7l897b+CkzZ9fAAN1oJahL6PyppVGfigJv76A/fQCXRxP
80sa/mSW+rqi8S+QFCHyQJhK7usDxKkswYoXdXWAPtZTQ7BhKLF7yQTyZWySu9ggfSHzdVbe8wWB
ZrJpyL2iSSAbUbHIik2LMwKnRK/4Z31J2z+ShfYyvAKfQ6kbRLnyNU9jlHaLbsayMsslEsIogTGD
08Lo9IuOTkem1/hMtzDR7nxGmmSThAulifi2mbbtAkZKHX67+wZk6a3spZxouLfey7W7PSWdkrNt
4QFZO6GIYmMZhpAXrLtY0nBtsUQnwZJIUziAacapYHrYije7TI+Cd5xEp7bYkNXsihtXLH83TdD6
q7dcF/jMG95lGAVeMSrKJZaNDBEUHUDRBHQ/5Dir7Txa7BWT+rY7PherxMAJcxZj94tombkJ1JgQ
onJIi9WsYlud2xOG4b18xVzh2yzxGEB36uBZEr5eumeg9eyMsCW8kSGaWu32DAnDmeFi38H0YLB5
4ptZuwZ1HjwlexnCkp9ZUgtRtC9XcWEteZa6LsRY705cxfE7LbVJAT6dG+eV5TZ7FVoLanxOzPzS
EVoviwTesHoC+sXkiVgEmH9DpKbkiqtdTIsvRmpKfmfbNphfjdSUzIhgCNdfj9SUzBPBmrbsV0Zq
SuZpYdl9+qsjNSWzEuTF3aSFZSxX3/bQ/jWhmpLZRLhp6b81VAMJBQZXZAG0rf/VUA1RtRhfaQLb
kiam1nR3qIYI5RtM039LqKbcnP80+5XBmpKpN3x4LX59sKZ0rEGa21dDIWXuNVN+dXimZJcrJcyW
6b8WQCqZsaAvhOzXhmtKdh/w9mRfC9e0pa979b8Wa2krnyP7xRhQW3vdwX8lYFMyFxPfTdNfF7Ap
maeOWcfZvzVgU7JoBQRsddrelwI2JXP1mVP5qwI2pSfu8W8J2OTh3W8yr8v+bwwJNUksmLMnJNTk
vk7gnIpi+MtwVXNVdwmYPdKU2tii18SEWE+bxIjFg1XSBjUu+S37NDWy4qVVF/+WrRZY0aSxLzhz
lVZdOtGU7NcwVWJF/e+Pz9Ve8/dXxOeaavMS92+Kz7Wp9yj+ivhcW7g3T/PviM+1+eZZ5N8Xn2uz
zV35r8TnOKQoqy/6NfE5DsCqH6fyL8XnyqRy3/J+RXzOFE0Sf1A4qn9DfM4UidLaUvvw9mvic6bo
15qJxZficy0LA7WriMWeKIMp3sQgii0b+Vp0rkyZQscn5rz+NeG5MmHl/eBKtv9KeM5UGzPWNl8L
z3HcX7gHmmxveM7UJlNq3Co2tdeDYLi87O1tZ3jOVIGT8IPOrZIvhOdM9fLG0/tCgM7UGOvUA/TN
/tUQnSlKp3mltqjtq0G6MuNYFClCUfyKIF3Lji9QSatfH6TjANGb8OP+IB2H2NbPEtXXgnRlynFI
lv6l/8urO7A20inK2FM2mLcswQ30TakVzo/++G14HJy0yNnUHAjVATZPLUOj1UmP9NZ3CcmEPD/N
9NwNlLgKKcWsOLVCsXCqKJ66R+u32/jjtqMQrmDlRSUkIZVVuc7YFVLucp4KTr/WBpn09I26GsLv
lpIuaESl+62IiPR1yrolw6t8lVi6B7Wd3x+Pw+OUpM2huwxvN2ovhsURInw7kq4tTj8E+cuckUbw
dmUmSRgiSIS1FURHmxM5PXvd8UbjlosrTex0UjS0tHFNtAAD83iBoqLz+fQUJpSxCbX43lJ5WZYn
AOKIoEnTjMn/t4NIuGl83cDWZJPscAxUHSMV1jOtwHK4Fb+WHOMDQkgN84LVTyb25TNMO2WtE+il
rGTUYQ/wd3OYAu941i4N3TfSlh6Ol+72DQVNoMZaMmJFENcaRHOPhLU2CmxaGFmOzTNy7TK89o9Q
VQxQSVreZRIhr1uPdAnn0K5F2V30a8MoXOHAIDachr0/An7OD1qncHzYluVY+9G6AjFD15FZmlmW
sQZd+JLd5klQqug8np5RxZPaMHlZLc+WluQCeMqIx3VOwhpskOXIjxF1XMUeuY/uehfYZncDrK6K
7wTIlMz1pGVKNV1csLf+8dOz/+38f3/5859+EpmTNKWvu91GF5SH974DgFSokxH6rtQpa7uHjpiJ
i79hXQeRXLrjHvjGwr/YA+rF/CnI2DV1CY+HoSGZAUSBBSz53jEaADslEOAZ2Yk14xgB6oEtkCgd
36XYrCJWLkVUmM+SJNZk5twYr7pnjEAmX6eQ8DYbsaPf2ucjfJpJ+UHAil4Ix8cwKOg4WBUA+QJl
sVKR2LUIgZvJohROBuv2x8uEt7SEM87agmKUuHHmIyKw0CRKt1Vx6r+FctuwOHwFseu2WYpSl6sQ
lIU684fgCwyddtY7Ml1iikRAVxGTiYnbFjPo+CW9Kc+MKC72dgn53I3fGszKA6HAQdekp6BG2Qsm
mjSNs7DDsbtJN6K1FUBq2jZ453wHdItTuMlknaaWwxqaiGvUb4M4Dy6y5eYKVWyAMly4SgWJY7Zn
geA7fssnS3Bp2MMeDW5B8uy0sOqqXrEHQNJCWCrEE3vHsdxlph/QVYKiqV0qonCM/WJjuywGdkR+
WWNXegVOuAkLqQzQm+CEIKjD4yJyPWe2MAIU+U96lgHYmrIsJGOzYcZmsaB/bfgdxhIm3dWu7LEi
Xdtj6hey8QSTjJknLVw26tfSbyIU6pC+KXaRoSAYCIxX+ZK6seFUC9YTqMTDj/fhQYAhAs9qx7Ru
AuZ+vdujLF1n0O95Zc3heVteYeJKygocK1xBoohyiS5Sp7ZEPE3M5MNMPkdoCTVXVhENkwyyGfKg
wpsekq6z62lyLCZIA6Jqei4L4sp0H4VB/JZoVlvDX+C03T6ESC/WF9Mefy1hlwrWSgQktdhj57MM
ICxmrFZ2vg4aSatK2sS1s7L1gaZaaRNZMx0ahdNdclewIIdwe3Mezk96CeyJeRrqXNcAkwoR9Blr
RVhB9lPl3M5Mg+TgZ0Y8cdZUWohd5JkyEN+g3TjCv0jHIWVcRVnx73KaQDmuVknC9OzZYjWWNmzB
HJ6gh0HxC8a0ZMGk4Xvd999E4zVjDip6mc7pZJMxYOHjFLsxWTtnFnC25glWFgMC5KTcBuGs5+ys
l+uz7pj5l05YYtIyTQamiWvsmBBlBFSIZNSKFYMA+pGfNLS6somhExu9koJb/WcIp+oGmYs7+0s4
KEVuVu3LolTH/xczWBhbuamcumBuGYmDgvYlkmBppSCc2uUEm0kY0/qKsWTXhwYWTnWqPqjkpQij
rCNaFEtQ8dId+4swaJUVX+tBt7dn9yZ9jCV+Vkt9SVBb0JjSV3RL2ltcGUvFZSsDRBPJCKOhLOCh
weOcrf/ToDupE666QKhwCmq0ZTne1K48ZOlj2YlM7Y43WnhscLVJC4HRcIxw/vwYSX49nYNVRR87
8cKuZZsyQCcRUhjJEh9tA52IQLL3MJbirBycoDqjb7EutBU1/XX2WcnX/q1mB6lcnDYKDP7u84+C
luCp1Wa3/tdr+FSH7+MgWuVF+LLWBg+gS2lYteGm7msQCuECSpnpitVJjeNLQtsVAyHzOkhWdMFN
H0z2yN1gE9yx0LwEoMUH4ebIWAQWQTXVr9V2nZEQWsmuRPrFiVbRA5t8hyUti3Pn2wesWaNujLfY
ithcsF+T+pXfqwboVg7VEin2VsGbDmtC3aMDS0jMTldErJsBBogTUDmrS94iYStJkvyvjPkYYI+n
Tjjv0r91p8/uPugeIYv/H7wgSZCYSGIOfl54LOhwn1wyP5g04rWkfCC/ZZtW+n3U+LCiDVizA1gv
CTLryIvtpb0j+pI7wYki8F5gvfd35SUI9nITdovYogtatOxC1pn7IOmPAeSpdnFPYKgKb5DMTWZT
A18NNnTXsU6Y1yeEEdJ2icUJq7NHCd8LypWrTY2V7of51mG3SfSjCEGsF5iW5usweWBH08Pz8doI
O8mc02yph/CY9IuzLLhRScL0Rm27+ZjHNbLsdLOt/ibdQbndxqrGJ6M6GO0gcGPKqRRYxijC5Cr9
HLzy73ZFcxIeE1q7VOyqzePBJauHsFw8sI0Vze0MYcjXoZ8kX9YqJWZC2AXeemiQ+X3XM2eahoO2
ampiMKdkIfVs5Qoby1WOrCfs5R21VhkUgfdxGv4JD8JS3KtkvnlrASU3u5bC1SbH1lshtq5OjclG
piCoHDJI2PN5gRHf1i8DzaKcbyPqZ0kIrNrBHgDlWtR3inm9J/knqUmwRiWgwpQq9yWMHxmMQOBl
O7/3kt4rmWVCoXL/HibJIVzzSZTa8MHD9whd0TfjjStqlqJZJw75I2VpufP6z71vhvYEj4933Q2W
ToAg86yCEf25fK0Ohhu1Glog4GNZUvX6pYofbEkAcsEGsZla8LvIE0kZTgzR97sNqEdjY/bKAgGt
PMT+8RxO36S0pzJz7/iEP8IvDRgwGjU97yLYLGtqgpCQuak5xaDtDIB+1OKIakaE/ERLKMPXeQd1
UceAdWaXgATJ2uJU2Ben0v2n7fPJ9JjvwjwY9qO17vh4ISWMkI4TF1rWPAo8NDCnstVnZdodxw/t
AVx0B+Dh/pCAIBmAMoZnqmoftKmAvZm5IMN1DE4RfqYOs9Rbm/I7LRNZ9CqEPG8gvGVQzqziIJ+g
TvMtZCk0jO3Oip1LVousIQjKdNPtg+P2mzclisn+8pO618LlTiWrEy1hx8qWaMG4JBMKX20cBc3a
YhnV5MLXbJCqxayCZVQtjGJ1bmAWNnZUU4bjNSztv4EgcZPacVkR/hpDVmhy/KW0HCkFjlQMiANR
6bNlXCWMY0WQzNKFUaXAE4arV6HloE0HnKWwOgaKg9lNVWp3LhfGMRxJU25r9kCQElZAvNrvvBW+
VTOQjRLbQdidq4WdY7UWkKJkkr5wBxphBxhcCfgbTCorYW1sB6wFiBxJhFGM/2Qjp8u4VJLK1dcq
y0lhZQyRFKOoVWY5Ugo7wFAIdbaOla6mEc4c0wpwHhptaqNUCt8rmnWFi+VmLuw4A0ptCvzFSkop
aD2GcIkPMlzCcuGsMvTSssVeHXaetbAPLdeW+Iv9XiPsetv6cCVRVoRZMkQh0mCF3b1K4CYr+GYo
7jjHWthz9jUI9DW5lehC0ijNCmyC7XkljGPFtAhXZCU6EfQlw+/iwFcoKMLGMWBPhq6EUxRUw/+f
tj9rciQ50kXBX4QW35dHNtk8zRmyyctin74zIkcoHoBHhFcCcNAdyIwokfvfx1TVFjWHmZpHkfPQ
1VlZdIOtun76KSt2Bt3Vu+3vhR64rGoPoGUd+yoTvuJPoEXd466kcElYbfpWoAjbyLiSUeu4XSwF
NdBsfosZC72wMrb3BYbPmGAWfo1VcKOQrtkV6XPh95gCh6gwfzalcNqMhroBz7Jp2UUW5smIgL0S
PPw9QYUw7s6mskz4uCvC42ZFzozDH+coCGZGDMDy/7iTpbCTnX9L2I0UHjajXtjcrUzYfcZehjiC
JncqpxV2kdEIMBATygNJ+DDiuxZDp+7XaumsuZGH7QuY2BIUFSfay72XUwhSi7PNZp6IbCSTsotJ
rVxYGeOfY91bcD8E6cO5qiEJ3RbuZuWSiVey/Wj80+4a4UYyiQwmcFc5WdJXwne9T3ToXk0rnBqj
adhI8lw6a/5bKCbZaQtvlPECM/gkShHh1+o+xGSHd0T4qt3wGLuvWmGGPXepwDUyUAe/udNh01kn
1YyyZA3eOggMGaClptiBgKkB44F7rX1toQVC6ze44uVsrk/cjuY6TcVKYFtsSe9Xxl1X6A8tdYPO
CtYotnKNYtUKbneq3pTDBEXbsza34NqXPEzgOouwHnOJFnOV0OVPt20bzrf3QdiYLtRdE3/28I/H
+EgtquTNlsGj8Tudsk5IOzogsSYjaDLXTz2+boO6NaM+cql7RsXa0RW6Bi5rdvdghXRkKkhVsc6k
XutVL+JIJUVXPI/TdBKb8rA+YgUejA7O0gV5Oc/Hb1Tm6LqnCQfDmpJRvr9IROfw+qV6nbReYK50
0Lzluqlyx+9fH+fzelzG8Xp4edzv8zX8t3HKP1YeZeBoGB6+D/fHekB8E7Efsr84vM4S/qTdVP7p
gDMbQPiWles2tn7H+3HMOa0jcBpK0P2MQfdNPoYgW1ACd5ju44UAVO7f42OxyhXdVYQNBbJJw0Mh
5fGb17uQQMlY0tCwTBogpVDkR5+yHL3rS/IR/6Dwy8606LgNi4gfYnlt7Mai+4k8XrAES0o0Zaxy
lykUbCsvfFSFZokS/zJgHQ8kPjW0R6hgpMl3fh0tPaBP4dcbH5tWcCBnlEeJPs39T2m1dAv+HUWI
ME/3swgBNm2j4hYA/WQZysWzi3ig0z3Mr4coixxNgKXdHBQScLnyolkGH18ozeB9hLbVwlfB2utU
4QWrOmK8PshutYzC02dJSgwx6/c6TAvJ5fNwHBYidNz8ncCN2vrvVlt0t+nGJa/71/jstgQTeiTT
8xmEOyHJ2V8IYs6NhskCTZG2foOZQGKPzW77l/FRWXEW0iZkhgkWskMGvWP6ZOoRQv8p/gss8e6q
j7xO6PgYpvOkHj//IeG/O1N6fn0VeqaR5mP1U50tH983+jU5uNs/5hHtnbow7qYuut4/rtCAl4au
/erM+iv7IQzrF/i2uqBcSccf6r15Vov3V8KIrc91YBtK/Ziu3oDe3wg3sXuyObi0YAP6fyUum1We
oSOtnRlvAOHrJmi7+O7jyowOwrooh29+nE/E2iHzPVRdSIwzp+84n5VhDRDHI8KfRb3PSD8KtCh7
LYYuw3FeQ4Zr6D/Ex2cl5qYFoLYL1dK5gGN/oeE/goxrQ3YHH0L4tvOLxfQdnNSaNP4lsObof3V/
eBmW5LwZrRBrh/I0+GmZbzeQx+ntZTXCzKqITzdlhGVtyMaNj0e7vaZXzjyLIr5yvq1pqzqrn45S
HJSr5fSMuyfr0l0yrtW8v5G1ixqt9+Hc3f95GvQgtjogyyHbauA2MA6xxh0SQwXpOvyB0FMXhnDq
GCMloTXZ+JYwTOkDTHtnpnGzj/27oBjyJ5PPH8r4oglPlEHCELJUuTnxKzDdBjc5u2vXOI2TWmqG
MDzwIHoQSXUHUWxSsC4GwH/k+a/FnyCF2/vGe8sMVhchcP8qwD+zp/4HuBOuZTa3pbd/K+ywEwxI
uGnEsXqmfET27wdpuCxI88W+Fj7Ng9C98TzcgJPtyWwO/QfhJBhDSUZNuPGVnKfTSPz79EcoehKO
gSG60WPXz5U+TarNJiQv9ce7JC6jhkJ3Xe/RdAWU9Ml7p5u/E/adta7QiDY0aLRmsdxe+PHT3yY0
mtr4LLTo53HM3xi8tmDidSEZ/jzijh1Vg/UMxUzFkHgox/fx9DjrVYNVCA8fwvGSY9b7slyfr7Ik
lIF5NHBRrPwHZqlV2YbAeaHGmG5nXQQgnH1YApA5GDedhP+etEYY0R0zdaUR99ojrKwNG2HVyZHV
CMC0g7jS9+l0Gq+e7ScsgnmrrYUVSz/1fT4/QKbQw3Tum/AbVYi0IPAbXzAtGacSo4HbM+/E3rNS
OaNUEwPvkk1FF2IMkYbdF9hmxAKMI10a90t2JoPCs+KDxG7sdzkYBanB/mm97SyqpDVV+G5Ly3S0
cmG/T8fRKWn9F4K8L57Yg0jiLY+XF6ML9b8I0ogRu1Wu4ZFmN2GWg/c3gn2TC3673nEjjrd/eViV
cB0Pr4N8QTkzXmcjqc+DaXlt9IgwYBkKsj4NiPh4JbLGQ7xRDV1FllECC7qqy8SIwljc0QETvC3C
Y+1624xjE5JDbWSlJKOFYfKnspNnnPvzEa9pI4YVo7My3V8jxhg5GnPIniXXjlAHo0fD0rTSyxBu
fFj2V0mHr/UWq6t+NmNIeWgapQuHv/XT9+e3+UstEofbJEiIwg/k5s5jQTuIj7/9yx0+OGPSYeDO
p4F2TLRutt584Qnp7Uz536WOirESmIoZTupOpH0CFbnDCjBUL4MdGONRSN27mh2s5DUMPzSIrYSC
YhK0reD7y0gYA+Txlejgq9xNsKa0TLez0sZWHQkgEjd1FrR6kjqk7s+x6lnC//DKJTwMk0eDA6V0
JY8Bk/OMeyQUVLG6pcLi+vX8histFfv+HIS+PzhUzsEqVupsDHXI5woREwJXuIVywzp6HAYFsuc8
SlbI1m1qn+xU8RIBax1eKcLrvA/X0zmiSalcq/ZG1vYzgbzm6/nzYG/rMl1XYJSM6RkqKGOn7Ww6
/WxIvZNzLMTE6PE4UAkD9V2JAGTFOq9fUVpYVgxOg7jZrtk2UVjGfzzUaVM57tu43h+LVEGWu1OH
iGLd1kEFeJbq0MqiZXenw7YUoRt9HNYRuW6vUED7XRgwZ9Mq7a3W57AcDzZGMa934XqYllN4ng7b
YuFS0l2ompx1h2D9tOlrKnRNXYOM1V6CJm+rLiyKeHsOYVt6JozwH2X0tJIVfv6bLPmJreO6wiM0
iDIonhQuZR2vbCRxSJtFza6EulmmcJBhKM+2Wus0PyS0ZtX0W4QYx1dq3N7fMO43CpAwJgawiKHu
i9B9jqI96LDctqARV8eVkNDkhc6KwfJqJEqsvYuMqmhNvgZWhYso3kA1sQjAMx32np6EJ8NB39yS
UL6SnTWrozM7fEvcuZxVvsJacg1J1o8TdRP09UWdjCJXeKTu0jC+x+BBCUfEwZnwCorMO6Lv0CCE
ro1pLCMclFsdEuabCkorAAWJxzCSyERRZ1u0m1RQ3flPmctL7F+j9fIK5dmXGTV1EgVbZVw9YOCu
jRU/i+Y7aSwmbYiFrhArqeECpFDeFSt3Ro6LvOmfccenZUDDVl3w20OQHsxwLugf/LW+PF6BOEd4
G43bLgPfcPIUnzjBqSUgL7MwkfXZb23kdVuSS8y5yqGsXLevxJ4CF1Bpfp5EiDQT2eREcZFtcfsg
awV50PNREEKZ5f2zeINRDtijU9BDXRPynZw8mK7I6EZusibt1zI4ZRCUrHFVjqxZuZFc63c11nqY
LsCuRLYwx0gLzkTLKhRslZHX/CulGcqeKRjWEWNjOyOo9CDgDunGOI8EBJAuzyWTHOhlgL4UGk0r
gfIWJRxGadT1volCsxqORzBPXhAXdRqBJOJlXBMuV9Fyudg4hp6QDELyiTtkW0CCCFKDKTHs5tO2
4Ssn3DUmGntbkOZcA+DmQI7nQy48dmY4dahNu6yI1xlgH2zBdXFKvqnRO9WYD21z07V8LOdkHUXj
XSovtLapxxEt8bJ06+tqZGhoPWE234QzYjUu6C2qfz6JQt4vW7jYzGLGoy+eoir4bi05V1oztiUz
PRA73YftVeHpMhenwn/wOzQvkxohYW6UXCixKtGFqC8/QKbfzfNYU8desYopPKyAvhAc+mZjv1QB
TXxcRnVSfxnuSqgJIQ3mDRQYcq94eMB63szLSdsfRc8uFApwz/L8ZZ4vQsGVW1xfY5/QfOPYSm5J
1bvPsXqVG4WcMCZ1Qn3rSeg6e5Za+EoFscVYclwdp3fGmCLA6Jjs07bc1q0coxsN9gpSC56W8CyZ
UwJhl7z1vPxIFwWys1sWHkCiyfr5+cGxHM/jINps7FaAKbIxYkgLXx5ibKevNkMUm7shcFXTofTb
Z1yFa61+TOfzqlQBhIpGwTMquWfk6P/cjIRiArqwzArtkc2WH82w3iCQiM6Q8IiZY4UQec801/bw
r1hcxbt/grOT68CFoecStoUtq7TVOk4NyFV8fE+wEsRzhmaIl7wq7SgYqKW78VhrEe99uq/Ta12w
1qMWaaMP6XYDoyFl17JgGeuP4W6K7GQw87PAEKdvnBmcy1dKL6uS3xt45y0XUsoQTbuaLGydU5MD
XxsZV+5wn5WkGn8chuWNYOLCRnEjwuLAnusrhQvEY1ymYZzVakDsDMaZYFVzk5PRcSXyOrZ+dEdu
h3kTYCiVpqYSBZFyleLVcGRBsKpZ3vttminHa2taMcKvLHc038V+v1T9nvtUN+2W429voLLkTpzj
ityEBy+38a1KpYJYHsxU/YQKetV9Nf46rF5QaawsHDRK6YkXCsdOF5zpfTwLh1gxuxKcp1IX1NgC
etu5JBXsK1jYEInc6nhMthAsw36z65rPAeTe3cF2oEsmlFBM674USFln26A6F15oSoXqqXcx9JXs
sYGh1D3HJAR9zszyLnec6c9pkKQeZrIQk9Z193/8ZHJaGLL8IDWp12O8LPM35Skn3G9ucjpMmr6U
iftT1azbN3inBpICEVntHV/BPpNMGT5GbTNBdJlBIk2CQCqYaUY0QeXWEooT1dIBZGGmBYYLgYcu
mBzM64CcXV604Sj14xrHClGgmjc97zB8vok5rC5WACWtshFV+E+b31AM/B1OL+fjN/gDdK05DXIi
kfnDYC/2VST+/AUXm/lcatPAXCs6nutS7i3kI422E9ulUTSC2enNk50+okGrzTD5KCrm+iBDaqkN
bME/JcUiOhIFs6awuUXupU/htSdfXMZiQL2r5oUgybiQEl6HF/r/00WAkbQ1mw2WDupKjJf58hLT
1K6tbUXtGKgzXWmARkrpDG+EXPwxvqz/oDHeQVDrdh14lB/vUSuq6ZmNknf4A52GiUAbVwu6XoUR
Gn9hui/PDcKGygh7gWQ3XAeyKSD/IwRhmp4HquCB63ShxXgDocsgp2LVnGoWKbMMXP6coFvB4R+P
+T4Ik2H595pzhps5OFT6tM7nAUwUdTnOp/iQ7NmgL0lTGz/Go7rNB3WIYD1LS8tYWNJ+7y9t/LiB
6k8tLvMPrrEdibxdPiyP61UjrrWVEreX1Ki1t2W6VQqOCnP6sUx3/xTVS4TGH48rlAmP9/dRuK1M
aEOArCcBdlum7yBrlAr+AegUZYvg711n/DVhOHf5Wak0PwsY8TfKuzkKkqbp842YsDVod+pqsj4w
Vv/1y1L0IYDU5rD3vSuWwEJ6M11wt50ZFlfcIPdygsYWMmM8XejMTxOFBxa+z/1onmYlIQGml4Us
O2iBguxfxtcz5F4Or8N0FmzapmdKj11Gf/8wiMqfsrCHXSgjlhhu92HnDCvVuN6sSuuBWYpdIaS3
wRx9bJmQa0ffXUOCA3z9EraexDFsBed5dV2P7gsctmQjqcNgDjcxCFRP4vS2zPdZShWpdbb+RS6f
BvnVz40lADDjrAtBlRzAcIKYe1X7FAxLa4CUOQRhexiHmKOP2bwDAgIqU0gwqNRQDBtQOyqnkA6F
B3WaMH5jcYaS9nECGHHsTVwhjh/H8ZbmWFe7XoZyf/ZBQUjTZpclc02tuwuF47U8R9V6hDmtFDCB
DMGOc+EI3TZ4337luyrr0LuKPVfh3nUexrLNEhMUZsTyMkA7qANDylTmtqb+8+H1cdV3CGJiYE6B
ur3H2XH6mtFIoWnVae8PTOePw7fxcxW+3ZQy0zXRED0+P92QDYMBQzQA2HQc5OOQf2THHx7r8Ca9
MGY2Q+zRaPxFG0pJdZxV/gCk2cfr40INg/WChNmzMJCjypqUc/hxUGYUGltCFk3NgOWLdCks+CM6
gwCtCw8EMRDmwCjjStuZ9ckcG9CAWpNr6j0iRljXZlPQnaG2k7g+dWGEwRj8iBWmmsuGHf+k67ap
p6L9VbsznL942XA43tGwcpxXpKjMi0KsBfhKODnsBqL/C8k/4JSBBhageoWZ+13jdCgVDxRissKh
0kwbn52r3Pcs8FtWasii+oE7dbiNywWEBeaqAKn9TZhR5pfKtaG9+9IOucoddFe6L7wdmlHrlXxr
0bHv9dIArA49t/LDtJIcX6fraPtupe8W67qF8uQLwoiOrXyqs0LR+k9eRFY4zBo375UwtLQ8RBX3
qyQMTYm1CITd+pUChuZW+9tOu3YdLkA8qnS4tKw+9E4u00qrEdNnNEDn8xg0mu0QjwUcEmELnjvi
srSpREapHk4RKqnWP2ubsa4C0piGqbacloaZlmJqyu6bEAOS7O+qxmKEEkQtqwkSYAzhM0aCiPFH
7bceKVwlVWbQ97x1WKvxOeQXjfFi+r5mfEd4cLXhTBl0V2V4FrQLyuwCdBl1fzqQFYvmNACQPhI0
WyXvxcf8anx1EB0B9CxYwPBnvHQvAv1HmXP+o9ZiZT7eEXPwcpBQBvg9s/zYzYH16UKdU/ral7wF
HDMQCAZFE5HxeLSUPDQI3xj8cyx5TGM0IZHL48L05wMfdv28Hg8vADkG5O0ocLWqlQbZaHU9vR77
O8FZXuSpeg/EtfQmeyBd0FvmWZD4E394PU9HiqS+niNs3zBExmh8mKkNZwVRZmHu7KhKayXjT++Z
etZvOLC656N+fT0JS69DlAz8e5tDTj6gNjWU6fw2vcLtEEbqfOPDPUX1v7ypbaGnIOxq5Xth5fZA
7+JTZhRFJpOBNX2QKpsfb+97HjITg8ykW8bv87dxz51m/GGAZe2MbT9/m7T0REv9YK1eMGb0fw4O
C4LAxk0655SRSJ9u+L83F93wp6C5oI4dTm9RYvSx2rcAWT8iKpE5j4uy5bYAVszQLY11ccqJd8uX
P7X+pIp/wllPa/KH4JNIdyP6FWZlFLTN+CuF8CuMfNLaRFneCD/SB0yyWIMu+qL1jWez+FyYVuX9
CF1Ze1b+EcLJCcdVhURSrCES/fhGWegiWPXIxtPfIEyDV+T4+Vv5h3n7U2vyZbnww4wvC8/PfCKc
X+Odnz7wSJsQmlbmL67X+yGcOKN5wterLa+Vtt7Vq2FjCUxI+Ac0AcnVuMqvivkeBT0tvRbhljB2
sCZ5S+bLy3Qd4olImkb9xDeGuyM8OsYJmzvRmGXCGTRZyBPJsk74JPevRp1YKzb7jTP1FSWjz+/t
VYuM9zp9jCfbP1gY0xdZ5m7lmbCu0pdytOHz446Gk5lP4qWVIeMuspZUhxEa0Z0pEExqYr7rcQbT
W2ftr0oITKD73sri8HosYNdj3ItKR+jgZaUvllPC7/f77QA29XdTqhAdxQKbK+8WfFzOACBYQGc+
7q8R4Y0DGHScP4CybQcMGqDrEl9E3/lfVyblseg4A8LebwN44+txmg6nkbYsPqSWXzAkRptrPaWz
eqnXHAIX+CdhTm4AVC6lV/Tz33/7/aETPnbb4Rzb2zo+TvMBdrWM76TJslXaK2lNwwQA74FBth4i
Pbbwc4PCqFzo3myluWfCprFrgKlDw/GG2L6jeqswebX550Eo2aUbVdqhnDZXl+igLvV5ut+VOTZe
lcEMMj1+vcuS3QynZYPjXGcY6SM2UB86TvWOl2H8uGHWcnkIz8xtq1WHeAmBRArr4wgmA69FGKVw
k3ACxTwxfbfin7e59PnjOsF8hM+r0CvTt/I+vAFNGwveCFe09q9o83zHDpfhKNwzd6qsgZm6ZZfh
DnyRiLVTMxKuV+HfCzqRcT0ONwglQ9HtKAiczm0FuB3addKfwTZIP140Fb8Meh//17//v/F//PYS
TawVOUuh5y4SelzfXtTLLYTvXJrJvab/+O/fHn77X/GPGNKD+euUr1ez1BFhoQ62yBnuCV8NDfFx
EBfJgCBMFxzfobh1FH4r85I+WmO/vfwdtuYQafBLXzahJNy0zodpOURajdKHnV+4otXeYXwcD8er
8F3v/2DvHaM4VZbuy+xUk8df+8dAwut4VecgfOSSaNoDw3Tw8Ib3e7qfR0HsFgH9hdocrJ/lcVaW
eRR3Tw/UySo82NLZ9lpejd8n+nT7l8LNylkNCz1bo560DQk0sGME7EbzqnzBQbILEHLjumdjspA+
8rRzLWln/utUgmsVWgfQebJvhN+vJRXwbZ66g6DF2iIkuJnYSxlqTekNoN+ojkyr79/H4SRMnukv
5u/tsjCLtg5ZmN7OF9LOcwO1ckw4qLV2mJPOKtMcFoXN8ii3HStExWu3sSb7Z2vyUAj2ZOa9x+pp
7YKydmfOsI3KVDq4En9h3UVA1UG89n1WFjmsftetrfx7R5f+E5p6rIJXUrFNc0m/n4fbAJqE2RrT
h7B1TNW7cIm5dJqn4iJuQluGHp139Srp6rHPEaKhT5/5A4Vwfk3QauM/3ks/7kwtQOfr7o+mdirp
EtjyCLN9NT86YdpV5b/1zsn/AU08yewv2tbXHo3PuAAAtsPL512DtyEF8LjcRIfE1qmbF6hlH9Rg
TGqEw883gJWNwypYvkXDxH/j0tD8MErpMLj9D7uiyWPep7f3w8t0P5B3KtitzotprV6GC0QKRBdW
R52gqkjK0DyT5s+dqMqVWmp/7GV62+mMtSEtaqIFsgou+mCswtwN9ZPCp8wpzW11DnuHlfAQupAQ
ADyyFiUAoPxUEhEy1qQQoyBFUgmbO+6r8uNNba5wE1p3ExlygJtSBkWwjpcJWyldEcpwHX9ACEwY
2e1vjTEqeO/D+4ysMGfhxZeejiq0j0yEOx/wmRM3H/EbXoaeKV4NvTDheJvQEWEWzTL/qCkIzyt4
JM+3Ww5ZBAU2Pxn7TONn0PlSt322VRIedhNSndd5r6mWdSHxfVJS9jfr38YPgijAxuQNYPIjj52M
9iKIv/tQ81/mi9pNq8cT1kAWOt338WUZf+AHXVf3B8HbYzhbFh2nAYSv2pDvRb91mITvNp6eft7r
H376M3zc/UH4NOjPnue36ThI3lHPHb6OO8HKzxC+6/wVVnyFgsPO8Nr0e74wFURpHzpJI/5f5tOn
8MbbkPSH16Wk2re0jOhyrkH7gDGcckSaPORE3cbliGBtCEHJFpWTcCxtD345mtOn6W0SXkFZJh3Q
PBdUeOFeEWMjGh/Hbwv+vrBztffL2qPfGA+C7cA9Z0afjVWFZyjpsXLg51t8FnXvCzaNAX1XQv4w
L0pCC05c3YViEs6Fu89nqJ8+Cv5/1oQC+3wPGmkP+Ba2uBFb5SDsP9vA1vre3m930m+7h9Mj1ZJn
bnwgNwABTqUIdONr58p7uajP4lrNUmprpRK8QZIPX7iXxxurwe69jVdEbp7MK8YBMKxzeJ0W5aue
x7sAtCoq1hK3wEdW1g6mSmmo+McMH8QMhzs0NSNwiNK7M1RdgLOyXKWhONYis+Jluk73aTjrVRD/
UvSm4jgM4UoOqAt0eTsio+TUvnQhWIYE/WAdSNwbOS3DG1XZxH8q3+Rsc4aPOOBmalZ0zeJDuUEj
tlPreO6z4gJ/5yHe4KGoeNsYSAtW+vEASIsI5YSbwUBa2KK06kMHqnPJt+F0mqSpMMAwN3H5eSJ8
965pgo7Qyeia2hsGrLdKUe8MeEW4Ox/x7WHFPHhb6iyNL2HdzFiaE70EbUJsG8EK02cofGQv0XTr
xh3ztmdVTr6uUINHlNoajppsXGtO1vF2fR91qYCeeGJE1o7KbjbiePWtJqlxnM+pgcKAKQlS0lUh
sMfmKgKFKHBLCBvOAP2tHYZEi26wgIxdqQXUWehJirCOboNEIwU0vKzqnqtfN2kAYFUFul3CyQq3
0EM59Wn8WOdL1bB0XoZpFVAgFauOcRAZEebXtSFgj+bg+S0JwP9ELOJfZJRhxWFahZWxGk9sOHzi
Ba40/2DRivfKlDWg5TbdauGB+be44fNRs5nudzAJUexrLMh5HpLSnrVmg9C9roWkGlyjMIjfZM9o
DITNTp0eqq+LkOBRCXHh0rdPkFWblaUnZMlcTuPtLs0q36qWLo1B7IrQTXp5vPV5XbWCHuv9MrjO
k7DD7Xb+NOczL6l3V3HkMUZ8uqAoWh/Xb/ESFnXKZbAqyOUCmQ55n+5oYybtBF6a2qHbQFtE52yt
DSK+1iX+78MkTDPzxWWVxsKyjvXM1tdToHu7y6hlkP3OYYk04gMAazLwrqqa0AZrkxj62isLyGys
aLdkTRAtK4EwWUNRXp4B7xUkwuY8qGJrWqFbNBZFpEyeKoQ9tZfkyZ8QRqp9aVimcZpd8BMSRb6x
ArTe17fVYDXArku9LVZhyjogaatiPJ83OydIqj4k5gEgZGLLwnlnfmlBFTR6pdKsomK1bciamJmI
O9S1MYEpXN8iZC2QFvD2GW8P2cpJq4VXfJX7IPddGRK6JC7R8BckQRsy2eg0l/nHAaTbjXtFgr0Y
qrYzdZz3d9Okk0s2YV68cAN5SjVIZDgTCFYq3FCSu/XvR80pW0/Td+ILez2PH8gyCHLGqWvXZmCn
71dvCl3ayJPYr8S7kPdCcnGf6VllfAd61yBle7Q7Xnzj15Rb6L0A++6a0AKU6HxTlptnJglnyN4n
RT2erpT3yPaYWmXfReyTQ541yoER3mUWqmuB+gDL1U6biTJIONva09a6Bvqmrom6d3+b5/Pfptth
WMEBFAbZVFz06SKbvozHkOA6fPWOMmS/cw9ZvGNf+zFaTb6Nje0w+cmRFc6rCwWoxIKfvgjZ4SbR
qdeGF88YpulLzMN+hVuaNpKG63QZEjbSJvZX8qgVWfQX3I53IMIdpkXwrCremrxAhm+ySxDngOEG
ifac1GYTUno/XhYvdpbcmDYUxXO3cZ/GqUNTEUuV+jzuasHv0vW/JqMsTRasLdJywHIqpDaTFRoX
6LkZlldc+W9e6eKrf4psyyTwffUbiNwxhQQ6VAlL0igpU7YIXcCw4BA2rAhae7jC00M54kc0h+kv
0DEXDpFdwcb6uDSjX+c1N01QLSR8AMCzAzxt1zayOnnmmHsHdIUwnbbJk6eSh2x85puClfNP2DSs
vXLZ2HZ6LOWQfJxtaIIksIhjry/bOhNmsDGEdTrmbuABwNqFFqU2LOkU9FnAkS8R3554zjtLeaqt
C3oxwzK8KMH+y4+f0QP95cf1Z2GQwg1SUZzEnSpMCr+KBUzg45bxK5ku70KQkD5hdEi9rXKP5Uzo
k85vOaBZYa/DAi8Y7/AyDt8QzwO5yuiS+yZnS2a9AzDE/IC4Lh6GjZResAbvdY6VaWOjM2MTIR4F
n3jB2YBgxBUbYz1OFK1TBjCZe1oRx4fO2DmjnVGXofnqd4hRyvE4C+VHNOGKTRjVuvaxgWP0FTuT
IfpzOKEnKOxnxq+QDVKzhUN56gkOJeYQ0zLZhNB7qOlYVuUwAb3uTRku4wueQ3yQnA3Ck0kupwEg
L7VBd8JY3pdRWFnHbkpv/Wtl/L8rv3wFqsE7AE4IY7lEm5zhQ2tL9lqRLSoL7HeqJUFhyLqQ6Ji6
35UbzkIUwe8D8tuYSkyddICezsLDcEPrXsG1u2hUxTt6JhZYGTRy/EQqdjvIoO2f7oee3XS9Ypr7
w0Wef4hmGM66Z7NmOL/3AXpQQfGZpCjwaIyF6yN4vVXTfMxRCat19y9HuZjpAoBPZexeaITz+DYc
P+NYEhyoZFfPOeRatFtr4/B2/ry9i29CiXi3QdgYXpd5osIBkan04P3HOF5p56/zSUmq48/f4jtu
Yp742DvXYIdcPqpDd6dog/XadzbWgS1ef52kyTu52luTw5MtqMkXQa4Um9ka+kiw0A6MH+gjOgRT
klQaYWQcO9Ufo/T+1YGy999YJjUnqZk4sTI9vi01u7I696Jl0/zzBLFZyJUX8e8bt63kx5Q24kM7
qozDqyiuy3orz3ToezpNhthTXYXprqFDx/l8VjJcWJM3Yu265c3L/X1+m69qZ4A2E5Gd6pKiZBgm
JNwmkwlxrP97Gn/oTt0AVxelkxJ5XLcyTizYhzOUVIPqAit5wS0dsXeJmsZwE3aG6SB8u9rfoBuC
lGeDer5qgqcDu0HxAds8rDpoY7HHZvzjgls7NTPw4NKun9f7+wi6DDBGwnkXhiA684FN9nGbcDxp
eeif+9CKMcp3RAfAX2eOTr2+yC/gS9mmEmbb6dFzq0q45OzJ8QAikHkZh9JwEiR0RN8Elw9aEJlr
gOBVp7qo2FlNOz5Yzm4dgh3M6yOQg5bGP2Yl17DkDujZ1dJTu6muHptlabNiQdNgOCsrJj7FeqMT
u+h6vw/LhD4V3ahYX04ctWCaoyKXw7ayxc9NkQLpNeQzkKjL6YZHBmUabtBhCG1tREtISL1V3iYa
AKm5gOrKTKjAlIyID8LeLPHGikbP35i2/CFK/r7Pw14fCipaLTrhMAokBUDDniaM5KDLeoklYknU
sLU7gBneG/dUrppW74pSOKE7a6Y7HZ2rPfC7Mpvf1NlQsdX3UZKDzOFlyNbpelPbCEvFSZl2LNZ0
SzAA4qYya4tXbc6v98O7uogj1O9pB8t6mfPtpjTT4zpF2viQP9KH9QvpaXjQ57gqURKsZdIRa/O0
dUsM/y/r8bHQCgVTofAlV5mWXELekeQXe3HU11YD8FGoEleEpUoXHprbdSJW1a0W5LnRK16F2bVh
eeA8Ldo+wTzq2TOgf9TRmeG1EEQeU3CIONWBAbyWZ2USMzjLRomiQJjhX6QrVrnlAjc6ux+GwJnE
/mNZ5rcYuhRXXfX++8qfjNzXcYDWaEIcpMy28aSOXfjTMvyQFLbbdkIB6Qab/CHWwmPz5YM2SN2x
/zx8H4T6bTp5tptQ0lt4vOskAkg56Yww5euH0/co2Jj2tgwb7Jrgabof311DOuO7ClvVubU6xAzJ
ea3m4NRBKiacX26Audj4aTrT7V6H7yP2k5qFEFDHQ2oopfXBORW8Gh18Guc3pUbfMfV0uQyHeTm8
AjOM+ombYI9wF8zRyHN9io8nEWZS+pNLZPxHY+/Yy3D9dqCbCpGN6Y1uO3TJSTtExSYO0WgHb8Wq
F+RrQ/6AATrZ32Lcy7SdbCieTdTu/8t5OH6DKP4YtzE7rnm43AmJMPJ0BJFaMJcGXcfGORH4tJbx
5QEpCt3lRGqFQzK68m9dwXwS8NzULgn6J2OeoiOJGWinh9PPj/WOJsCP8SURGik3Akd7VmjToleO
n03X91F5ntEXjh1HW9YkAfVHXzue5OFD+VhYRyMMwHqR4J91z5A4RTR9xprF4Nl0+gmbIJHwKWst
i0Wtmvsgjrihz/ptt1VNnWIaIWP2/AEk6JDRFfRs24bDECZ+ML1dJbnTM39Ht6mk7+EGTK+wemyV
QzUDh8uEnUYEx6xkpkNnA77crIn3faRzd2KqKTBVoRGXwKHwPp+RDg9DCRRHRU4s8Y72beYHjnRB
1PsyX6bHBWTfQykms/MJaV9twoq2rxC5NNLulBn3p0mk0OJIMyOz7/dZ7fG8KNfyOqY2m5nzJqMD
rxiBsut9gEgihDZMQvXbdAPmKtnY5SYAq/7wYuzHdY1UJ5MFsJlW+RzWAhlq3LWH2ryzENQqw+Fv
1DLCw3CHznJqOuKFjGrqaXBQmmAqMAMRFVP9vCCMtpzknC0tJ+fGpia1t0E+/MReJgpP6Qz0C+aa
MUdCk5eOssDrwaQMJk9aw9xIfjjlxCGB/bibvzL7Ex+Vd08GD7fMG/8JeLPWLaluSorFs5m8r5sH
gciKJi5EWQoUacs1eWnRCp84DQOmem1K1l1cjEc78FiEXChtB+tBmNnOhrfFDBV9wfQ1Y/lq8R8y
ITOuots09m398IpNWdmUnXBFXAU5lFjVvQg0pV9n55+5bY/Azmjb8xBLnAtIgvEEJrswzyzUQMhQ
1LsYOYyHTNi5cNtY9zPkkCyzTYBKW/+r9LbcLkAGvK6T+feu492cK9fNWVhFJyyCAwBqDLDue4aF
8Aw59xlZqvpNdcLh9l4DOBtTii6qFBbFO7ND4Xrfi4UMNAF2FIWV9NLdELaAtTxFFuxSt0a8vqw3
SpoAIgSGhuFWYaBNq8kyNatW2JYmYC7Ko9XCaFXYZpV2TBgtC49mHxMOZZxXHZxNpx/okXF7HrkM
Yg9174B5eLISOqfrcr+NeZtenzCDxlMXTRWLakP+TGStpuGYFMCEQ5M8y0o4yzK83yg3lJ2AEXKd
jIQ226ucUCmYjbppAp/lkkQpmRSw3ffYWuAJ6lw4HgHt/b7KHBJ0TGS4JlSZIBg61k4epUzv9Dym
Tq+ApjzbAgcMHwrPhjVgRbNBw1YLSYsyKeAIZWPs93R13VMHJL2mgtD2DjNv5NxywSLWdI4wVm0G
w3UbzCyObCL8wmhlqHtmJmjtrvP1jA7GxGqg6BMnPxC3kVRNgmLIoqJDOLKu9C21PjWBRphAHVYC
WSFsWh+1Tkl+ztpl3Ss/mYDg2HFhRb2wIt4UE+MujVhVQlva+GdqHk4mbAJXeNb/j9WAFyw4bJux
e44CFfUj9lC44ZXXYbnZIy8ku6TzXnKlaWljsUghZlCHczvAcELgqlk36VqW4fPlATkoITUWxOR4
njHkUjGViu5QIhetLnUVAqN5UDLRw1YWfcvQWnBFNF7Log6xvTU4ulAl+HpP4g6LMM5TV5L9Mi6z
6eO3PK5CGKr2Eg6lacGrnh1kr/+oWQ2wKM0iUYVoeRWGQJhMC+YIxovarvNjZQV4e9MtHAfaO8YN
vCPHx7JO2MEPcDiAdRNzgcUGLlxvgZumcfUihbyNAsw2vFx6Lr8IQZc6sldYVkGNVQb6Eq/uH3/3
74fi8J9/+9Mf4xKCOQqQbGhYkAsMkZf5I/4tcx6ZWqZXA2AGMazTMdOBRbbw68t4fZzFWDeT4Bg0
6fm0zSOVkOcdk0Tbn+cjCKYUC3qU7XYOuHWH4b4+JmEVeXAOagAdTiT9M8YjLx33gjgwQLc4OOB0
bmcIVoun0bJxUDd1rVvOHwsQCYdlxHyAZBF1TBmypoVaPdh5QD8i0/M7PlbFvAIOL2WXm4p/EAqY
SJbSkeVeuEMbMho0CLEmxrAVH4WF+VjETv3868vjl19gq3Rp3XWmFLGwxNK34OkGYEk9sPGQZLlM
50+XSblDFx166sK4+dbCqdIjo/E0vU7imWThM/Hum9OZWNlHaoDCtPItbPqt56YRXAOys+rqS6EE
o2DanNm4uVEpLwQTBfdqTfulHeNt3KYAfvuTdhZ+81/CawiWt7xPVzWAszKF3W6ezCWX/aXc1qfw
67nv6zVu9ka+xDQ9iSfG50nlZBqd+D5Mh5fh/Z4IKhvU0ibkEBZNSGes/v+gBK8gpkpP5lY1w4ji
eJRNU2OZOyi70F25ib6TvFruZ8+vFLG+BQM+4DhgsTW+TCADVLeEELa8KkLiExszjl94ANXmkWqk
O+7Qb/5LX1zBKmBOGgtd4OfjAwpCBzis5QLd3GZR4LLAfAsmRlJYoOAkm1RKkRehhwWa8zQtlsH4
Psdbb9A6y7A3bJOqHnIKastuSv3Fq7ULlhp7Cj/f5tvhcVNX4X6fdV0EJsAQoQCxIDX1RKKjqzs/
HGuKSgi9/YvFlLsaAgS5Hk7zQ5xzw95VRhgqAgCAyH4s36DWZMfsmjBwgc4ZU/gnJD3iGkGgbKAr
1PhZF2YDcJwUtJUbqe52Pfx//+cnYcDCa42inT1hD4VtiwQzcHb42KeTsDQWVMSlNWFjyVQvmF7r
5NhqES48kqoLX8SQNkUa4o/4ybI9Q6xG2++7ecLeVb7pUwREFDlUosRkSQWWNnmy44XAOEvKMSsc
VMBRKSPBWqk5/MUBMrTIcIVnUN17ssgMQXCwWEsJ8ZZnfT2ZKlT7GtEyTyi5YrNHFRPnHwAOmu4u
8y88nDoodH+N2mU5fVSXbfjm44XfRzBVMODqU2DPhFyGO0+Pp0wD373VSlDSXYkBGw4MKx0w7GfI
S5ie9dCFUil7EWFWcw3Tsro7MgzvAxSOnA8/z9L7y7gYbByUb69yxoKC4fTzcBSPpGUJRGh9XT4H
wnY5XQ27w5WVleqqXEfBR6/b6M0nB/K3PwmagmXYMexcWskADoQw18wLu+pwNdHn74AzmKDVl46G
It/COfAEZ+FQNNoT1KgxZTEBGHcW+1sVrFaWhB+rEQYa/UR7ga5mEre1Vq4n6Kx8UzpFqQB1RQaM
BBIgTBAsdSgoY4girKtLANP0SbBGCNgfqNSoLXLhJIwxHWQd7Cu4nQ3xXj9eoLOkMJcmLNywqgvF
GhiR88vPalGWWmufOK7rkCFCNhaG9JW8tN0m59dDwmIrQ7lSIjlQxtl8PX9q208NtddPY4mDwuZL
dNJaCxIEgVnzIxFpKHzEEI8+TsuibNR3tZ8C9pVBjtBqaLy6bOhMIBwlRxvwYkddYmEuBn5re8hC
XYj+DzGmkapg/Hl1hnKr4xeWlXCwXIswHKclgmhGXuQeBJ1KILBRlbLqgZ+BzkIYkjMNQhw3N7yh
X5+do7qpsQlPYdzuq6a4Er5lRHdIsKVWpr4mmvzHep/1RE4D9NORwZC1i+hjkqzViZU3lF8H2Poj
OMpq/y/zy1nA1zNyCMbFZOT+glwL6eqVMuP1Yg5W73GQaI45Za0OUlElh9iTLtJgT03BQQV7VoHs
w/2XGQczc0Y8MkotChV8ZuQLfyghtELTDyFBU/ShCsPn0hNdQKQxZdeH+rVFKDjJPOIBVghpMnFC
SRbbPG0982Ifxr67pO5Y14cAzQHEjS3yNZXq65dIcXpOT4J8hW2IZAYNfoFUpgsjxGEAbJzBa6dM
fY1wnSOMAIZFj9tDqfrtKlQ/5JDrFJpAMIGPN0/sG7t8BUb1K0P8h5Gd4QiMBaCXoqZjxtCVVIhS
YzWKXHBIQD6Ant7nt1E548JV5qVAnImUl9WVQlkdK4lzWIAnvPE/HkBxDHxJ0kp79jZAjvd57EJb
DEbgZr8PYolXFyZ4mm6D2i1XKibUgWzS+G1sknr3ztNF+dJx/jhiE2rC9Dq+mD/NP67Rtnj0Khof
tbBvcgLZGc2Ol75gxT9dZAQIuMKsIj4vxpaU9/iP2o1AsaIEiVZX+NXnAfWFPI+C2mr3V73RO1Ju
nfC6eTUrkdb9n7ilIOgoRg8GKrBl7vB6X+ZvmsZDWVST2qzTLDGN5VtWi2aT5nIhqHVUr/J6HPfX
BxUh7gN+t+hS6Uwnyku/alm4YUya413RUdPUzcWDL4Rxu+0h6eYPxiXA0JnwnnjZMNi6fcdOh9gy
1B8XQKN8H84PSf/xwk2kH8tCBAoYWleWDcjwQT2PSRiR6+XKke2rwb4d5ttd7dAv4x+VyfkyncUy
ca4AHePk8nj5PPjVcq/nh6RIW7bbWD/Ytk7hMY0i6Donv7AEo3DfwxX9MSwnoZqJ/X4D8qLRcgq1
hHZL0vXTfd14Et6Cov7xmCBbYWt/hY1owhZToiZWsGQNrhR3xnm7r+fhTVclO6Ur4IzcHWw7/Ect
EM057ZrEtrHKacYj5of0xFbRhG/rt3xEDaMs4AAFjA8KFc5MELIsvQmGTheIVQIXFLTQFLwHprXa
MPmbR3kHkmBIs97l4csReG8vgsnQtmGmtW/vlzHlOvRV5u1PlYdo7ViBZYo7mRZWhqk/QgYcaIiN
8heMtjYEjwNbUhmU9+O7Ok2y/9CZ2cP/1HNOTjTjig1VojMoca5KcI1IEPkC/VCG5VMYugvjUH0K
Go8a93E7Jf0Utb+NTzmZh7wwq9m+yvnZh7Ggjs1HKblhuq6aMUjT7Q5nKskCBhE1Cd1NSfJ/u7CX
7zCsSIWWMkY4h5K7ErhaBFvhbL5wHTjalwVSNW2hOvfx4wYdX4AlNE3uY2OB1kvo08SKwmtlZcdQ
cVj2pa7Fh/Z5moxjOo0/hs81gfnteRjILzpGoCqaNMK2N2EJ7cvE9wW6yUJrH2g9l5YbWYgk1ikf
IpYxtOOTeI5tmHmQ1fdwCkPJteXGDGeI88SOrUgFDg9hWpVfWl9uabnQtho/kJMFwuDCtOowi6iv
wnfQ2Zi6D+IjsAVbRJml2TGoE53gC2+YVzRAFBiiNDd0vISk5fUOlbUZpLKXlhUvYCqnEynxiRva
ZR7gFEwdcC7RSRdfZqBm5TAM62WhlWS00DtYhR9u/AxElayDalnFNGOlkOpM2i7CyV0Jn9ThOhPh
dFl9Diuelaq/W1aIhkZkkyydavsNnrFIFj22XRBkEuucQb9S+ZmmMs1izmrJzbnYV5qgC7LVik+i
h8c2hR4qJOfLkMiBG/g4H54xv6JULdoty3gg+kIhKiSUxlhAgvM2d6KjBIxv2ea89sSZHRGyQsEw
rnxSuwgv8LOlJ4SOynDGg/jH962XG5zIX9Y5qmHkeKTFiYZKmTFWItf+HA1pHSRK+rdl1gXdfQ+g
ZkLnQjVTEyaefc6tQLOxTXxNsnV6j7+JE7URSa7E7vdEhsv49JyHoMuFQM/J+X6yTvowez+fklSi
Ywrv6SVWzt9Til4dtQYeYPf64TwNq0jXkoU5jTaELRJCLmM4Jj+BFal/Epz+Mtx8YFceECohzBMU
IlN9SIoxT/kToE3j8f3xOX+bBZnAxulRHvOepi8G1CAYvnVwIijzHC7t2dMVplT4wQVNr2UMSolH
Wkl3th4PfBmLxjpssRAsZVYq2hWdFlHj/XcQyN4hoNQgnoAyQWKWTRKyBJw7NLcwXFZ7izgRUxog
ROeVmVz4fJUazGGJa5Jc3RZfwmgZOy8xCF7X4/rtOv+4HgiOLxjKLPAGLcXo+hgvBE/IVUoKw0QC
ZJ4i9gPKwm6z58vru1w/DCQ0gzznCGCr+3gWoh4sP9PYHOpXOR6lAGidh7K09+l+TgZOmiJkEWBU
WcejUpn20oMR5I0H693Cb92qxaJPHs5BZ7Nl9F8HUJlnBEKONuwpsEK6i1Ghk6Steig8/Tbe35f5
8QY6T2JQZrT/uGFlsT8FI9yLPrzKwLC0b+ACE1cXAQKEsXn5LVfNJyWWXVgKiG0FncpCBp3ThRM2
PYae4AlWOZbZ3Ea+scN4KvWShWOmlDJBLJvw28wud25ZpAfNI9qVPmPVnnKToq/YzNwYizgNJKou
47A+nGHm0zwJNnm+yadpYCeBmLQ6pnYi+DOaUHtlPUhcXFT0zTPG9MVMr84TAvvLz+swDoaFqC7z
dU6sngfiCNlU7+spJWwof6nYV6Zw1tYuK6vLtlHUykt7UdeoL7LB1j5sTcO1gRH+epzFbzvPb7Ux
CDSWl1Fdh1UHi1PEhm3I9jPtCJKqv/SziXJAUrCOeMIHkfq6u5MxhA2V6WkCqf/ykNwaNa3OC7rq
1+6TgxvrRibK5Yltns+K6zGx+0zHNFnjQFNehJnlNlKUGR03S1jy/pd5vhywv60gnPPwI4sjRkSi
5DziSIKo/zZcB0HQ8zgr4mMNsv6P2pvSKVIlOpPZNNZLh+E4yJ3VJep0MeOF6hmjy2T91LoIpFSQ
OU047wI9IFxzN8Fo6cMOcSzlqNOrgLRMoInJwOBStmUuQIwoW0YMlWE8YKy54Pp4SYF660gUJjak
aASo4dpwkAovBxJfg1efxj/wtoQIG6qqeKDKipvUYrkVXqNz2UdabenwhSAWCk8o6yCw7TzCr09C
wDAdg+gtzlZuHSm+f8KuVWH1CWbKRR2hayB7H47fRoYhlczbLuQ28UgyPgzetz6Jl61D3hCKMSQ0
f53Psl7m0RiX8PMu2foOrb0GqVMSs1dYMsjrctYKesa9nApsjEovI6KYhVvJmi5CaCnXzJ64H0LJ
QcZo7HANji/nyURWQ4nAmSwLd8qKWRmVYGWws8Fhddk38tYceI21YHc1IdzMD7WK+ccB9kX4+dLH
tDdfwLS7fsCCROduTue8hoSbIwOrlLPDD4CyBF5dl3oS5/kHbL0uaLVd8OjxEUfhKcUAkrEa7k27
Me/16KYEwttpw4oNL+3yWNdJwkUxtCbmVKM6Fy+vVT7kkyGkVTigCDBH7kmZ7NvFmdMwv1iEkeoU
ENaHROWZwqhlEK3o9xISXMraqxFqC6kGW1nQ611sHdexIKMOwWE9LJbS4gfqJkLlJHZKwoaIyq0L
S7aKwfGxEqqlFtVmvMOPCDStYuky/NApCOWz0QTCpAIVJ0g1X9LNwv89EYjhn7AzwsunKc2IjmcB
0ZuZWIAj9IyEGvX7bP13sctuxYluOx8HfV8G2loo2aS7PtzJEVMXNMvyA+BHv63xbSvZZF03LoiS
jvim9aHFZ5a7AVhjvhd4cNcDG+d9VO5zFR8nYwfvwFW6R818G4WTdzOAkKS+0mpHDu/kWJ7P0xoz
uSsGInze3elmCuJhW6FmlHJ4wn72dijGA0GX6aS8P4eFR5z+ZT6RaxB/thVLCBJbu0sFUd6aiMOw
Keg6naDPZbwsqmJVCbhe1wxwOAF+G3qbKUvmaPrzRRAoFWeE9c9Mz+r4WND9xoS6dsU/hGeT9ewm
wino4ZTABVbB8wEfMmAGPiJXyPANdRRV1UBQQwlxRF4WIm/4uMMuWVwk3E1h7zNPJOmkGe0OsBr+
hXgDaPz/FIZyvKP+ht3hrUy/6LT1aMJUvsQQ5tf4gxrdvFyUGkRORundNZl/F6qdkkV4AoUdkSV6
zV5rlgW1uPvnTZArTRcSTN6q8vjXdevLYO1CK4fP3CJNMhofonWXGwxETd4NgQpzo66zFg7U83k+
fcZH652Qsl3xNkJSeGh98MFuVMqMdVpIxBBzHireyMTf2asaCuA59pXFl+Imw7IPdHWVLQkMYfcZ
S+WEh5CF1PxmQeAaH0FMxscp3ZNnhcoYHkV0A/iG8a+72B0boZuNsaNF0WwrN1D9qBtPMstcMlB8
6kPB3nEbwYBxBBQxPHSGRYF8+4P6p2wsdGxTGru5/m11YE2I3QKTmCC2uIXEei0HnoIwRhEUfdBt
wBQcsvAMtNEx4ibemb5ixc1WeTfP8oZ8ICZQ1Q6Aq6AUyVW46G3wkl4G7IJJPdITd6Pr/XerAXFg
CulXL/y6JzEMKuL8arFNm3sa3yFuPLpHwmyz1NnlZUCiR0y8UjDxqsAwZBqtn1cgu7vOj/VwGu8D
dJ+ULSKm7AmuyG0PtDkwYhUfgC3Kvlv0wKgS/0DxL5RDI14lACXEOZUrVlJrLJA8aQ8poS9YRFw8
wUM2DrOt59hIqsu0UpBNUKtNSORBausDjuEsXeeOvWG3PPhuRKoSNCDVj3/EjqzxXYXGt++MONpl
9thqGnObZHxsxXst+WIMmI0hiohMMBQzgSjl596JdEyLRF+HMKve0x8bzU5aVTvO0TLsijd18t1O
/am2DTbjoibY7r/wgLssJEhi11G4hG3IYt1of/VE0DnWAQRNkyHvQRmwsp78BxBVH+v5HvcjSl9/
dvaea7zN95HUyUUQT8x69KwCsqo/Ljc5DlJnoXf6cdDHqdUPicqRH2zCj2xDT+Bockugc8nCTyg2
7qw5pcsWqC+THOvxpWWWkJaCKM+eRbkex4pE84i05J0M8Yp0oSxi3Nx4rWUAx8fSwfE4bcWoa1Ds
1bEISS3sdRaSL9T2gmx9SFgKAiZoDm5Egb9JCUkTDHD97s9/0p4wAPcuYxQPXvFeLv5FJLcTvxf8
y40zVNhoDRCOXdDUu8Q3xObn5QCdlpjYnUTYii70DojmVg+ELShwk0/JYFpZhyTPxncW5CoLPtWO
0M6/aY1w0/LQajSVm4X0oksi0ohWjPXEKgttwZJcwLjXJ7adPihLfBQCu4W7vixxp81GHG2VgrFl
ODiCPTy0LDB2S3xfmRTomK1JByzetSILWCmbEymFt9sFROST5X6Au/9NiD7kRTJEVAi6qONaNeiq
M2SV8FiCgfa4rbMxAYTlBSMaEAHWFs7xPFx07+V5kjRJVYUuLSVodEXHOj+Wo/SGuy8YN4ZuVdso
wqhFMGizPm7J3enruKgVInwF5Q4EMVoH9JIL2B9IIgt6kYU+HP3mZqOwrlO4UkXQhIA9ga7E12Rg
PWv8p72JVuKdXNG0vRwAY7neZ0kAVyHVFAmsC8+e+ZHspTDzysph2cCSRDDlHvG1AUZSqO0jQZZz
g1bvtPrwb9NlhFiKOnEhw1K0Ic8xlmKT5HkRStVoY0/HlrntKJh2oWiEM1u3wOCzeI2KzRtrvLQP
CzthOFCzowrLrLrQMvFb/AdXARiDQ3tQCCa1oUAU94jc24+nSvsyGM8CUUJUYRjTJzLHO7Z3LQTx
kQkuBFsfVlsId7wKCca0dBMm1gQzyb7OrgSd3YeEAH+8WD8iv1yW73PNAfz8nlaYw3GZ1/VwpSsg
pHrzOrRT0pj0rE7y5bIlVJuBtwlv7LuAqAns7Hr/MS/f8LULEVj+rJwcjLl2e326PJTPC5qEglHU
5J5EKwxOAb6eX41i11ELOcGYbczLyvbpADAqyWn6p5RjUuNUQiQpZHcI5kbQbL4PL4AK+7BBdeEV
VUXoBrO0w2M5a0mBnaCFqFOdgCiI/Xoq3j7S96siEWzJFQ/e9C/H2IS15uE3ql3JWG0d3eveU2hF
6PxfAakKJzfOr8Kzq6JpC3PyeV/nraBvqpD+0pH1FYKE5KSLuR2LhX4yXZMpfeFe5mGPSt3DP4HG
guAgpuziWjB3ypQ11YxG5fX0BFFSC9beF6A47MmxW77D0B/O9zRQqAyp6432EEOiDPzA2hh4TqgQ
e6570Xn0gjZif8CK1cZuzX6uA4TzKn2zWrO5XjR8Dt+JOi7nRCSShGUoqi4YVQL2ouijKTbJbhTs
7aCV5kvO9fB9tYJBluVZG7Kt9FW3lZNQBCwED3vuBDD5tIyvKTBrxZgSPT2pc7L0YjU/N/wV2hqS
Y94WoSQxfqsT9dhq6nN4n2fgI/yUAnhtmdTg6Ux7EbT10WTSYRp9VoLc3TyPp7hTwihnpqbNwwyX
27is4JKP63EAKmt01/7vP/3x90ZoxzGaXThvQcmPLyYOeVrV2ef4PHbdni4kZX3ISSL2YdmNN+/A
eOZnpddOn9RjBEqrgHCTC5Q9b03Jgs0rqaVghJQ2rULIjSicZLym0CRVyLbkuSOUTLJ/1IZenZ4B
CLfvb1hmKexOMBgZMQkFPyAro26syTUmzAlmkYDrmGfFF/S2oLCr0AIhTHP4egCZ+bQ2nXl6gMID
cY1vB3wTK/L+8DtBfJcB+Rt0Q0Ggqz9dpSjORtiJxygABrMgNsAoOEHSBdZCoTR4YxQ4tqcmxAyy
kMzWjsU63lfjmN7ng+9DCTKm8BEy+v27KwRVV7jPCY3S9XnImseqN2wx8z5+pILQPGnnpObX0QnC
S2w3GOnC0GUtd10ThZorLlaUUAiG3TQG73CavgtSshek2tcfHIOk2wcHoAUXRIzDbIJbjc9zfZ8f
Z6WAP6bVWDkkEGDDhfPf4Lw9BwUDOwPmO532jEs7Xh2htS8Kk0+lPDWD43RFAlQdO8E2pxi4QJeP
1QzGuupY2YfuumMoJC4h4mqAoc7QP/YsdAlyfDUNeovaDrLFRdQ/Bdq7vqzz+WFKq1hDFUIVxR2A
nLO0N97VgUZcy2gBCytwrh4Pn/FhGjdXJkNiiKicU+A3G4LvecAggVqZW0v8h005qj//8CiRB5wz
nCKM4wIYw3W+fl4AF0iQh3m5vQ9XpES/xhsrOfq8xrN+PAbk07SCQS5xxeacIqqhB6UBzyYbxM9f
mA47Y5cgiFFT5pxpxtuOGMtmzkDm9kfa5zXToz/D+wdS2YgzknP2wEaTSHQiZ2fOm3b4N4He8290
j8b/EODLOcsr4iAO2Rkj/sx5h5XG097s1oH343Iw2we6jIIsqTebWjLGF8R2kJJPyBE2QdcTimxv
3lj0cb1LR5K5/WVBVeUEHb8Bh5Er/k5InKzyH0fB1qSj68ML/FNeVcHeWGmtcFqVEV+GCQEIcKAL
NrVtkZyEnDP5NF7q0oF7qa5TZFLMOT984ylDXRasdPEMMBbo2hzr+pnzlhwNxwqDKw/EFcpAfcOo
0Rv0IZcWVbFFucyDO7V3ZVGdkUtgOAFrhHApnUhiLExeQX0SRp1zMgz/5cSoinNeLetvqb420xUZ
qM76mLzKBfGgandQmgu+EimQc97CaKM57Ya+geWMEC6scx6vZEdAv8c7/Ued4hLmxaQgAhZ190xz
v6+2Vekyz7vUtC/Wc+1NX6n+92U4KbUm6LWq4haJ/hy7EAEMFM9cEK2Fv1/1E2j+CwdWyRtjmhYc
buNypCq7KFttzmnJmk0mFzb0/4PaSseuMOS4jG9qgFWeYhvYK2u9WaNNCSWy5BJvpQpqGYSvQR0g
+C/Cx3VcjYAwOy3DD+XmSOZRFRphq0PQ0xHee++JbFfo/u2A8dOULVQVcc1ByWJoGIY9czDuqaWi
eEyFO/gCj8zQnFF6xxAi4HghYk5BixRBgatvKHkWx/F8Tt/NKmristMTlliHrs727KbLIO19Frx/
+PaNs+Qu91MPFelm9aHVxSjuc85SFLrOTifC1DS2XPj13LMzC8MNL9h7XRe6he4lThfh96rGt1oM
oX8mrLYMrTZGkp9zDsrGCyWQ0aDuMBocSYHDHkZmoa8xcvqcc400m1J2uAfDUXkshMCgm7G+j+M9
DtrMeY8Wf8AYdX3OW+eE7gZEYAymir1l7ZYMaUh9zlLdop8BF0HQhK3v3OSSBSxK5cKz7D3EqNUw
DuOGHLnEIZiSXUy/Uqe15qn7uiCwGk/1NZENAoQJ1jtptSpsGLM4S9uPQHfT3nlqrSeNdVRm6+DT
EznPkvmbFSHnPtbGI2cpLXtOrW8M6G5aAoF2zonZfcEzXI/vM8z5KKw+y0O21/dp/GE7ugjH6Vsy
dN/rri2aVhIGwdlqohll9dCGJ4RQWfrueOit/U28yWXH9LtrEKq1MLOehfVvNs8AwQx1fOrc6sJz
J21CEzl/4S3qrUhYP1kdOkOzkscVFiE5E03tW1/5Rm8pzTmmwiOVuwoOiEtGAIl5tSvD+Zg81jx0
N/YaE8K4Gyu+Dlo6CdGXeS5Swx0B4Yy70C///H89RuWEDNfpMuwJjZRBfadmrtuM/W4ENqnP3ybj
RkX3pKPo4VzpsHWo+2pMlji4B5MZvJutQ4m479fbeMRaCbo/qzBSsBWHG0k3k40lSmiMLETH58a4
vqy3cBKAPi9CndRioWr8xOvUztQhm3eM64G+7/xVa9AO0kNhU9bHPdEmpOBkuBgWaArRVKWPKo/5
VEueHTk82ijGaucSEEC6C3MdzoY1TOyDXhScubm0Jja7PA72Ts9DOLoy1AA+ZgrTrzN6NVSgdbY9
OlOAalOArPFafC6MN9AmyWLxIvqA0+GWPMhUCh8x3k5M1dSFjYQLcys9nvRy+8oey4TFRGeZM7no
npuAEN5kOGmGtQ2mVlnYurwgJppaHjZrrRp6nyCd8QluNvjvJmseH6bNvECgDtQ/KJkbxarCp13p
R0LNa9T01kAEAjUps02X4q0E9DguW5hSH9IcE5ArDtcRjExCh69SvQvOkNn1rDGYvZ8nUAOPo+UY
nIDnVvSkWhbhhBRHaTry0FoRDBX/mGl9zNSZyB3Vyc3n6fip5nQe3wYh+tNxC9zZH/rEdsgkOjvm
mOTWINSDQM/SBcNJ92F5GyVrqGPRSMYHocEAQEmxHt+hyTXEfeLaEYfi6bXeLkwZZqZez/QFQq5q
2QToWB6Sc80iVAFjUnDoEjAQT6zZbFOptwkWdXqgnaZzI2ReJa5Px6xoYpMkB+Y8TKazgMQiSLvU
hzJrIDSIYDGPf8pCEZz0iSJ0tvzid3/+kzaTgCNcOPuWO1LcCAHeIwMiwupgxPglTqxtOz+ExDB5
BL/SzZvVq5fgWDhW7/uWepPgbP5w/csyY9RZEK3slHKbUdd3+sd0Pv80Xk9/Hf/xgPAPFrztud2F
/2wbF7RVHsN///WPwnz8F6/v8mW8D4CuUv/rdwDvRov3aEfce6hBgtTaDJnMkwDbXj2Jy7QS1RKG
MeM73OahlwH2/Uiaa8XPbvMN/84Eh2ZiTbqdR6gLBTiLDKxCnkSPv9u5/Y/1ncY2VFBa+cUH6nnr
a3uwdo6vExQ3UXbZXlthWqwBjPqLrnBbcBhu08Hm7wD+6XY5OmDFeLx7lwC3y3yFTvKA9xQW6Axs
hOebtB72UN8/CiPI7h3JOS3MMnrZbRu/CxzTalWdR+ps2GC905uubjgg7z4DykFuVFkyjn0HrfCW
esdkofkhYYaF39Ii38wQx+EjC5Oq/K4jPds6kNEIA4RHv2KXn7vQi77ifVWcwb89Bs3sAPUFqzBW
0AcRX6dyUPBkAWcCPr/wEIrQ4OFbl/KRy5413sigw3DsFSRHYh2kAP9Rb177tHLGMmEY1pPA4dDc
hOSiHlqT3zVAW1veBqVHqRhZO4TC6mYzEWoGv2JjGdEfKRmBdG3DT+Jl0GCLPcK6Dj337a01fsob
IpqENW88pyY9VdQq2qXeM1/GpF9Zi/7plUGeclYjKp9hXCbl4fwi73HFmdLd693oGsSL0E7clwE6
Cw1nYaqNfxO3cmqXKChZ901kqzTMkk4CI8gCW28C1Af+6gw5JyULJOXKglvwZPrAO0G6ZBCDp/E6
CaKvZE2zYhJl922vWBNeF3ffPr75KtjuNEzuN4XqAs7k/Kl0/XX4PmEFFG4hNRcwVR+EVoovnEW4
kAe73PUjwnisv5+jst572F+whTK/m0lu2lYvRnSgLjEoccP5E/ez+xB0DLjAdZKHhmMRprgP1/l4
u34b4YAY+R0yhcqEfDkP12+CV9mH0tzLSJxytF0IxlZeK5l8heDI18wk70Go566akg5nQXTqaC/R
RVyoc+/Q+CuCCxWc08x35b3uG7gqpLun8A5Wfg/n87o/cMHCH9yewRfh8hR6ySeQjdG7TYeR+c60
BhBc+YrVOUCvyUSwgKWEWNWBgRajK6Rce4jwHIeroWrHv0V2muGqI1IgSFCsCBebxUsq64IY4B3d
GV3hZzSDfuqIB5xeX8dFjA8wlCqke0tTQDzf4LV8RxZ95VFjAE3Y2yqEdUVfd9GOL+nejTssOKBB
uAc/q30vsPMFQ8ueDJ21Gma5r2J9JD2XUrjuiDeUPu8YAgWkQll86SBXMVbAoBFM0b8CLfd///WP
Bv+83DXNrXDbgk/OyqvNe35QQSKPK3zxibNSC2b8pSInQukSPc9g9lpexYYbmxASwsQL7ye0ka8n
rpdP7Ce7Yj25l+nXLcOHRdmQZKtC3YEQdmSwTLaN9BWNYIqA4RKQPLpPF+km8Ota2fw9uqTYIuOo
zOhXQNMJN94XXTbUG5O3ku5j4HXWC2O+Mg3vjG/jgQq6j6Ek2PLeZqjrIGDHdH2FVi1JmEHL8vsM
cArCXl0kCI9BonE+QcsX5QfMb4IUZVB/7DRG58jknO5uIqfjWwYX9sDaUatDuOcsDFigkVCwMOtR
GX4GTITsAkjHGa1QpuBk721XETbUBnC1hT0PRjgpbCy2a6X9qUMVFduUGolkLaCVCDYWtLC0KlSM
RWEcgFarXXoAV9mbkmaPRbJ88lAyws7IAGA4gbqchmqLYOQdTJLV1GX8qyyWtvGyBpV+EEhAA5Th
wvVnpkhnv6SrBsXdLp6v/u3f1P+Fn3YeOgWeFgopFsGCCNY3bW7L+zQuw3J8R1jB+KGOSIQ/t10R
gmRrySiQWZHh3YTEvZOniJA37FEI69EDp/RIU+xY6nSlZmHC4upQ1mq3/v2qDRFMKyOPwsFc2VSe
rShDWUm6edPvqSCb7g5Wf+F/EJRLFpMDGNDQoQT0VuIUg3TSfQhV+7aoR6lLRHUYC21EWDIku2mf
hWNuQvIv5kaCLAA+OHD5DUwANKwwfh4a3xS2L0d+/IIcCeKvXdM7hNsKNlHQ8LcRJaMlUJTEB8lD
KMbLwBuLwGhg410hOHe/3xKuUstLqVzzpfk2KGEE1KejnInPglVgz+uKtqChhbEr2kUQSm6sQnjr
m7veMugfXXTiCKagW5LRn/Rz508uD/aMAM9GDObRQoN5fTsfYzvu9AH7jWdRc7GtXcHknDqOQ3eG
sTaF8RlSSyXLuxbPq3asyIQBM7b2lPBWnYTB9EnpLAN8qngHJGHfVqHHrrfEAOxSAZVyg7HtpOso
XMY8NIwmjLQPFhOG8jG3ISoBtN1YDcUrVC7chruwLm6JO/AFFQqgEsU9lrMOdI3rYPGDPSbbSTZO
ZESnVYfiNM6k1O/T2AvyqeUbfEj/1WjBLk87WNwSjQ3cUsYTM/4tftCKA/CPhWvBC8JA+Kp/amvj
HUKeJufj2Vzk9Ammh7uzYPZX5eauHeiy+Zimo2biF3zJqgwVjoWdnATSpiv90FWucTvY+9cC99Rx
08WWXcq2bX0EYZkKG++5JVUXiv9v8WmCACqfigYt/ouQKbaRLSDcggPBEK0hmq38Wiwlcl7mD0db
y2ARWshHcNA4qCF59FNJlsablwBEB2lMyyI/qWwij9S9YlVDjIYSb42P1bMJOWQY0oyZrCI1u71D
97L4OIYVqvIKdJ52i24s7lIV3yXDP+oPpod4VdJf6nBDyyq9ZRW21IP1J/h5pVyGOJLRRHnl3ccY
Tpn2wv04s6Se9kLkAsTfNh1BWG7NdQj/H3xnf/999I3iXEyHwsoLVjsDXtZYOETLrhtjZtrxEGrh
IbD74sxWR5mFcXKYofBA2dKiwR/QJOB53g0USxivdbvt2Ah2LLMVltmFhIgXSErdv9qOUDokuqaH
8JIN+DCEm+AuEyuh+IDA3+M0ARUO4a/WA6Yb1BxXYVaN/756d600Q4wEaiEp5j9RbZqxC6AkGLp1
3yIN1elyuu1xKf7nQY7YUiKid2igkg9UFNuBUtexaZ2gQOxoaXosaBvMYgFFt4LkXx/SEtin4dVZ
v/pCKg/BtL+T73fR+2fW7L3gkUpyHLSu/FvlRwhQCQ232xmaZN9/TEdhepk7ScaxBBBlvOpy7AdH
KNkIDEa+Y4GCxq4Lf1oRsWAyfQK+hUS6E1pYRsAMAN3TGI7xSPVB8cvWNN62F5xNwloTv/3pJ0uK
q/ESn4J88B6Az2Goa8+VXB2VVQeXkESq8LqZtCni28YSo/f5JmxbGzJ5yEyx/QP2mCnsinAOn7sl
alM6kUXjz5/CK219veizPiK4wXTlkzVsm7mRMHOvGw5+3JQPckXGfwEBguuquZ7p6Z8RswPCEutB
M/YJ936juXgZBXcqBTuIiTHmohK6F/IwVIU8nv6gTu53UvkDHZ3bJIf6PXoga4GAi4Zga8LYjfpn
77J878CdY8VrFFVPssZJ+wop0UPRKEEWZ76oKrwKKvOCBVulZrIcUfgFv3238+NNCUydgyDy6HSP
SbqLQXnHTe+X82NRRgN10pQKnklSlaFXsoHHY2jrjxLcmG555tvi7bPVkTI6itCthuynpsAfj+dh
oTOc1vksK+qGmXesC5Es5KA5rZLK632AJkfqvxeC2HPTZRDVZXRtMM1TJDF/Sr2ilvkDTF+TIKVe
h1gUdDqc0g+y8vey320wCyuugtcFGw5O9LaQB9YV7csmQcGs5wb/UVuJ76UxEOuIAiDxPtomege/
JPQb5twxe9FZnJxfxXV3igvb1jsNLWx9il4tCrAPOTCfJSRBFlLhKCn9uNhOiZmFXHKTXwiAp3T4
IdEUiN4hu4qYOsyZQ2Ir0q6iaGBvDSKLdeGWi6R40xm5gOU9Y64/s1PUXtNMXrC3heBXFb6S00pX
iSH1utWe4Dd0y5D96vU8fgB1pOZ90/uHyb5fxmXWxFiY+b+OI5B6EY7vNkyiJsCpG1sp0wjiyo9V
uVk5zCvwgP8yxoc0LrYaEop4es9bYANqVwfpVQbqRxwDT+O4xrWBqWa2bul5XCKK+zGdgI1djav3
R52PfbrCjxT2Rxi+cu+PCONW/j7Xv37yms4fyduOwLIbRzzRT+f+kvqv/TTeMfnEDVH/F35BGIzd
yMb2nFRyEum4zO3HjBunO1lTN930tskoxlJl6WspPBu3pwAoa1pxxcnLkflL7v81UpOW7Waag8jL
q9iVTu0fe36uc7H8rDX6G26TKaUW9tTtAuTPap6bxjIGIC3F4lXtC66sYILIZj1C2yhdES3H3VmA
W7VVZDl7CHtp+k5yYGYodiXm11dysYX70PlDeU7nfbp+CrNwcgZy6XXslFbohSQ86dJtDysjCumF
t2WSrh97zVAEwVmVASQmWqA0gttXrIurWF3Bl/SjbfkAFAMxQB8tvnE/6UotnjdR/6KZAP7kCe75
aLSZrmMSjroJSbvQPg+n74AHk/a62vdCKcMuzKn1r59gEyRuUe5Wh65Nw/J0ltv9CknYRFy78T3x
pghmEtJB12xjjxfhULJggTee52zCj1Js6SPuZnS+n9YmXUvKu8o2eMNGrTDDuj+Z0whOWyg04y4F
/IEsX+TKU0JBqWT6C8FTd2Myk05toRILZAbjHxHRKgJ68bZVzAzJGZARFCS+oIMezjozxDMDVSVv
ylgWBAJ7EZ2Vhno0GkQ758Lsav91tubmYKZUj2Wob9JisexDOoINp8ZQJ3CdofxeMHjLzhfQ/AiU
gTHc12hGhJaV++K55t+fxtcB/te6+BDIptXioohzGrDyNU/DB4wmrOhTJm4cfQ+7Qy9YDPqPx/It
OQvmB7jqs+22RLsp0hjOoIFdBrN4b65CyJvXfnRbO8EMyyFnsOo2lJPln6eDQnUTCrDfh28meohB
pkRusGVhOggid1lESj3uM42aSrvwaQlgDrPJFHYBPMxwvIsOe7vJr7OikS+GR9ySgWqqboJtmA1X
gInoCNF3lrhKCGWN/wETQpDHTUgec0fklEz5VnUoomRV2YVqFCYh0NPXoXPcRJPTua4698M0mt55
BgsINgg2WoMNTWxDCtoUoZglNeEGpo+DkrNSYr71c3ma3XQ4Hx9I9rwAFb8QhnV2CwCDuj4AEplS
KJE8FBUOXpaXecbOS9+H80OKRzLcAuSI6yYJCBKiwm2xJ85OjcfEPCITcbDtOm2TCZCtptycbs3s
QoOcw+bo0BkFpVsyfdM0Ll7JsL56GQaXdJ7wAGMREXoPlQ81Kg1PuWMmY1x3Qj6p8xEHrX4QSpcp
h13zOgkvwE1DaVp0DBqv1Ikb9MJqstDr5l4bu4nCYoqQHvtqWkawossQkIJ5HMgTGcftk7vR7Zpk
wADIhOvtg9WKYpcSKQVBWf6KND5sJUrzJBhig/NrbHoLwtOeE5iKuwfhBl/1ARuuzZ0kN89gSioC
djFIrDc6qvGMSFrmKJ8UTaX6lZc4cXdrX/NxE/E4n9c9mStuZtZb4MN1TuRZemdIMPPZR68S5kcY
Iw+JPR0P9cKheMHjlRN0edoQwDEO5LCM70Jagt54E8oG6VSQVB9E29z7mfgyqUEFGBNDpzFslCZL
skBfilml0QdlQB17u08xV9egK/V8u9BSbRGliZ/oIG/Keaj8pHnt19xSdwhUjURWKwI1sjIkolyZ
gVWzEqMoCYfcXyO3I646eSbaDJ2Xn+ThwHSVB5lkmW91tB4zKsbSd7D+0GTcUIwB8QoFnoAKUZuh
mfk1pi1x/kUTMj8Sekt4OdUurRUIcglIR55j7rdSQmtScF+U3w+9uAy4SRBifehJaijgdJmku8AA
Yxg/qPKkcBDA2AxEy8rYnEDHwCX2mkkp0L7zMdltYCQqxp2XCSBKWA8ijNf6V7bcJn4I+eqgbUcg
BiPzV2uAhzsaT4AgcPYyniYo11wkYCTzfFk4bcdt6gVLLfNVw24wrlQ3wfxrtlvbEklAI0y2oZAg
5XvfAuH307ACrraASRA7uQDL3QOP5N6pk8F79qoTBu1DODckJlgAsoyt7A2uAZGFgvqqBEwQs/lK
CX9e+DLLS5TPN5ZmjCcNstx/xzQPbFpkVKhRyYL6LH+tYyI48NyPyP0Ag0HuYe5fSIfTXfIxZzus
Ylq4YBC7PYNaqL4KVAqRvLnE8gC0bVlIhaXs9aSHFCyT2dS4DKu22ZZjStHmvqItK982os0iqTlB
FbvsTGRVKN4cRhwLd8O9RBC1dckZmHyMQ8qM6EJ1Y1+PqjRBfSgpV8FuYIUlLKihzUVTpquLHFJm
cuPXg4VRw8gkAQ9zPEmWbc5iUIif0hU4dNk953uDMLnuguRxeYa0b7r3xXFdS6S8x8+QBWL9vN7f
xzUeJM2954WWmIZJ+d8LfRhwFIZIZ74nzujHvJww7o/sWtT0VBnCOIz338QS26Le9PbVmxoZXRiG
cVfirLtcGkhuQKGG8+vgtdvvr4usA9hQYRzeVbzWfXy8UwUI9UwIahxh83eH9dt0i/4HkxWMnyAL
eLLYW3AsINjHavpoG2wakZmYaEBV8pjRkbqMFyRi9KePj3TFAghILgGGCCXuCWubR+EHmH6nVqu9
vHxl6p3G9YgtWIXHxaz2krh+tAO2GVLXF2mLL0q4QmOysDnKUx0Qfjt/3t5NqCG95pZX8pKYyuNr
vg+AqzGDrsJOsmtETY1yeSfltbLKOozbtYlrefz5mzAa0z4Y0NWJ9+BomBwCHj9hrW4HMWteJ+am
jZ3r5+FtuEm3xmkjhicLjqucPZBT+BeP2yLZeHnHKlB0a+qOZIwODOuPKEj89HPRVlqkRvpg5Co8
1nE+z4swVhuytu3tA7QjXvL51XikSKYxnMVK1LztuRjp0c7aNbIwIpMbiFJqW3Hh8ovsuqdKg9DB
n+Y71pFA66cooiyve4afQQh+Gb7t0TnBKE3moCYF2pNN+D0nZ8MwdygVtVx4G++/Javq9BPcMPx4
+5dfvoy1n1IP/9RXT6fwC0zbfYOu7/NyhwLwAybXBKBbzj1E7GZVffEnhJGDCaHkyKmHyhCChQ3g
hEd1j8zwUgvjNk9bHZSA0VtAV5dB0xwDR3AQS+6B8BSsrl6FgQv2JrqNtfC8TmeUPf83+iuD35aa
3SoTsQgxD8cGBgiPMFYeon6LjhUnfyxq1rKKIQDF9QrzClJlyZv3HRhWb+/Dy3ifjsLQjr+GAHRF
nlj0jjGzDVNSTMDSnZLkY+/D6MI6//4+Hb9dY8FFupwOykdtMrvOdPsD8iucjNZtm9GFybExcRs1
IHy/uKBhajY17EdWRjWSWqqywN7eoXuWORJh/5rM4f4KDNEWYW33uN6W8XX6EEZisySdHj4LUsPC
ahnIEzcNLvP/Y+OGGLshvO238QcliB7X6Y6tIgBDH7t1VdFvevGyaCTVoBMOf56jnSarMi9Cfb9P
03CZr6f4T3d+EwnzhMxPH9xRAUk0cmTG58DbRjtwlO4+rR62G1YMDahZdaHFmGQybYcdTNjXxp9P
v1lcqh+5WpETX41Lj2FoGGrx/zfU59jxRmGf+yCj7vaIZ4gwxBk+1SnnASZpt6D3CYTACuUF0+0m
zKfM8hCH5fo+nOYfq7AMdzBYzL+9LgKzaFVyGk9UBtoRsLM+A9EYSVZhCsEG98DOCkkS8ZEUvU9h
r2Mil0G5hR8xWB19GGTko67K988DjSB8nvNr1G2v4VX3YhK2rvSPq/cmngu/XIZYw9mVdajbREd2
NQm/6WzO55CWUEUfbAp/n28X6C3zogTxBasd7vcZ/0a3PRCKTWlWWXBYtkIEPutm7AdsvSk8sGBb
d3dWd6yWWkSZ0YZ49t0QOqJjpZmAjaHxisC28/Udh2WUjq3jNo3utPAC0RBEV4GnLR8c661ZZ/jq
exvKhMjcAis6Hk6Tuj5Aw01a8HW6G0qdy3Q1f6SLjghQ+CtMjIHyvc5XzRF9Iir2qBAqKsa1XWC9
ow50gYWsnuLHv/K3eMdVbilRTer+X4j3nFXr4XKR5Rd0zV3CWsIhek7azOKdeghdXCdMoQ9vqTtd
WGRyu2r2GFmbyO0odm+GF2wMPkojlh5Bvt5+dsr/2stVe68X90YTa0B8XNnD8S+ZbmbxhNcJane/
DxPVWbqKyngFN51IHp7Hdi/haA/TfbxIa/IdzbJ92sN/6aOpuaJvKKwdnLvazsflum8JuddVTBee
q7NP7GPNpF+BJDQayQ6yC4W5JGgY2W9le6NTcf/6vmCL0uH7DBnF8zzchenndYiSW227pgpAPPUC
VvJJWArzpWt66WYX/v91kLxlTOUyPlqs0P7BMZ6H2yrKJzZ1LBPQUQUj4nQdCtVKCMMUoXZmsZUm
DqVixmyJ78IwidOkzC4JAzCSYMz36doNfiD/WunEzJMC05MmP4m3aOc21nkVavfnbuPjuu8+8p4y
CM0qmR7+1+r8NnITv6yHC+G5t5vNNUybzJL511oXrHsOkmsXOj6mb6CTUXveGHOaNzr8NOq+TjoN
/q9eRs8bZ1HVZlDep9V9xUIhoO5NbUxgCf/a+8Xp7xHlrvlXQH077f2vNmTL7aWuw4bfHlnEJANl
VmsmGXZqqTL8yBIqNm9ib9Pbu3/x0ym2t10HQ2SdXuebLkT8wQm7W2+siEq7QNRPymUEzBKl7m4o
KjndT2v5IX6ML29ncFRx3OIkfF+H6DVu17e/qxfyd+Wg/h3j3X+HAOdJKl5vst4jHtJ1+Z/Hl+NC
5urx8vmNQsGgYQARK0zLDQZ+SKO7Er+9HH6+jW+HUTmdw/VwU1JbqEFvGF0JFAfpKeGeXIYb9En6
fAMFjxXNi7S6uqu9+vHK9KDE6jPd7Uv9fylerubDk6aNc6+E+jr8cV6GX9kyfLuO47Qcz+OuZbRd
qJRe3ZNXDhmIf1+77wHHabg/zEwStGF1t+Eg0eFC6FCwHMwVO0DO0m0nba+wqe6q5NhZQqtbQMy8
IVpDzizSDrPUHbpMusDC3ji8wcNpfgEJtHyD3Nz1/CnMir3L3qaa7Ua5s4IcHyY2xCSJ2ro8NODb
Mnxq1uebYSPb98Tqpghdqtfhu3JPrwBxlfe9brIQWx29BSpvg85KwvddiLYLQkjQkfj1FXHcEtVZ
w4i/QIx3lZFdX9mHJuv8fWjZOlwxGxTDmNbiwvMqvD3RdjyKKRDltjMgu5tKVH+DwLWLfUfj1jRd
zquBMYJOFx1Av7aLXjsdgEQWUncbCr9S4/HPI8JIvnqd+jZEuUUfuxe0c7DKnQlkpGuvZ8/jZR0u
t7Ms59wu5SVGrEsTbA88QQykmHcoU+LVXeET27RBCYqQYJA6AreTwXZaYVpquYWbL2xOGWKbuZ1e
7aNVdw1KU+cP4bh6ls1EPEUT2x5hLzb0MCaHcv2mfvz0aa0YHPR3Jq77W8S9nhIcbnXXhZQ3waTB
sgM8p2ajVmsXdjkL5229DTsP15N6eDfp4blx8gwj6KYlFTSjSgjLuvKlN+3UywMZLxCXbhiClI1+
lY2B2oevNMbiu/mvSwmvdf0kuIJgaLlny1hQdH2qbY13hNpZKLC7giL9Hsst0s2KqFJvv0mdXq8z
PRfBhuOgGo7LJiAd9iY9ChKZ4ctYX+DYbgn71Pn2XyaNcxaQGGqoJsidulU4iefR5v4oWtVot1a7
fgnTKQvSe2oRAh4V1Ke/DOskqJGmCV1Hfdj36az7X77FSVVoKgxKwhpfhoS1shBkiJeSHU5EUr6w
byJiWjgoU1mAb6MHGU1hKTRMzZNXJzbfhHI1erKMlwtuYa1hPDek8lVKQjt+QmfQhsGU8gJrPDT6
zdSSywKoD9qjytVcBr2QSVvaab6zuu59oaHJnZCPJcHn2ORBgaNdAGf0ow9gPYKUC+AeZw7uYq79
EtMVl9oU/Co11OTBN0JC38psiJgOQIjHspfAs6bPRoS8FAyEZvzdmnmqtqGbbE63WUjD2Mv6pi4+
YUPQshZuPSez6+wBPUclBAG3UXaMnul1AMJ3LAnTyo6IrBLCrup9Q6PmvgIYvQlHwe0NeD06jfRl
q7RrfT5Xdkimm4aSeHdpiNYNAaQ2rYtrOHv7C2ESzjLqGF0JuqpbyOgaMpzlzivPSKpZTAhjFIjf
8uSfQNFCgoeR4IIurzPeJxXbmmuFB/fhdZItzqYPGYW4ZV93MtqQ+X2abdgNB8P2mPB6Ugut89BZ
eA8QLqy4PMZSqGECnq26Q5FyeCHrLAq3i4T9Mv9InX/WslnYijptax8JEibb3Jz8McMiJ9cFgnjx
NdQU+0BMWAEr3HLmzOUVdhvQB89tSmE9ZZBHnrxJag1KhMTCu3VaAGJYXf9sg8rkyxzkygxRmgRY
OEpHvKtbi/QKi0BIXbfMtimspeRZ1/d5PrxMUqyWEZGjd6wzyd5t1a3MT8Sx9vIaZyghvcGUcJM5
JZyMeeHD18Ru5tfU/16Qw1lIGywjOM7QWBiYBObXw8vj9VVwpJqcPTbHJEnVz3ob1WX9scMe6nOf
v7z37Ojb5+Gi1NzyeXisckTNvTsIzvRGms/44JxtZNorJq49Y7LPAUmSlwYnebpNeokW1Y7Dfp/U
U0gE1euGWeq48F4jW4YV3P4PG4IQNXq/2XwedSMPmEi9ld12k7oC0ZPg2HbMxlDA6LQMb4ddMsIU
UbgosiHq2noMu21kdphA2qPDKxBbzfDaS1tc+xGefp9ap//B6zKOkjHEu2o4Tzb9SseP23k6KvPm
80uPte39g27YHaRu1+dPFi3T+ztjxyEKnKaj9w1PgiFmShdhqbPDIijgFwH9R6a52qiElZGH9t8K
Rxa93XXXGWN1CfeshHimTTKS74e5TQIyrQZjAIykwtgYtTOatvOILY+jMlqgoEEjMbQLEX9GyGtk
IvKdV0iUFW38EyNjOr+9F5pPw3W+fl7mhwYfSL1RiFapcmM5TjLTbATHwHWhWaYb+2icb5x5ATnJ
THan01ajjpgTTBwBWIcfy4BSNh79xZFMyNZfr2au3QRfcMbxoVp2co6rjrZqVWsEdgo8RiOiITCc
2EPrX3QbJAjlA/Tg7/PjfDogRTQwREXb3uM0Tc4SL0XnEA3HgShyXsb7D+hRqe9u/HhN0KCzZf8t
g97cHazRbKO5ughzRjBQYkfz3r9AfEfB7CXeOE1gdU2MVrP5tvY2xtpQY2Vm794PK87Q7ReRPOv7
tD6Aistgtif1yM/jEKtOxn2rWv/KaSj5ST8BEs4yqROup3MHyZhtLuoRqC2GTQcGpgkokJeDrrUB
JYCySHgQbM8dMSTt+df2u6hDz18nAoG6Z7oez49EJwN6WWxOrn5I96c5OBmyp50MHkHvBsScD79Y
1L7vcMeEB6J7oZwO/1WQ2r1/U2ruTug5GQkHUwVXCeatFPP9HF94n7EnxgBUmm0UBoh/nDHR4RhL
srI7fIdeLcch/sNlmYXOTpN64e8WwgV30tkVJhjxAhXM8xv05kVSQriR0CwAAj4xFU66jIktxw5F
sgYDlUzgsL+VOkeQjKmYvkUpm2njwFd2SrAC4SjaT0r1vglqt2KnhsRmuiLZwvYOFlIpXFF3eqxE
XN0Wuu8eu5Dg7OLtzH0lZ1sK4HWH0TSH0t6XXTYhuWgalFwPXDnRLf/HYxLbQpBCqZmuM9Q41GSE
SDGdcyPEPHGGWR66gtQYSVm9d6M59dOEVo4j9vUDE004lCwkupUqUjpXBz6o+j/9xAyobrOJWS48
rIzpI4cWz4o9L7rIfble6J8rhZ9zQq3BomfK/4OlfANj9DhCS3Zg/aa3HR+prUJrpWf6tgxXraMk
aZYXIbuY32HaeCDsmY/3z5t0f7uwWOWWC2ajYVz1HGJlXTSxNqjmjEVgHQGC6VotYK4eNLRa5JgZ
/kxXej/jvWEMARL5lDZVKdIJgbnfqjX8Fa+1+cn4vjRlSPeTIUinro039leC+Z+Fbit7hL+lMg/h
BvZF0FSitwtDCIZz4x+L1n5FHv+1vAk9EQNO1ic53LWLIijPLmSY7TOLT9P3+B0ogjuq7VEwqHF0
HYlVOuY8v4FQSGiaqgrISn2xlLqxF/W+CDeHvShewptFSHNJvuShl7N4lxUSCFAFiugTmUSSLKY+
dGOM8TFescPFigY7PBjksgX0s2B4MG3elK5oKYvwyNLSMm9PS2YOPosCtsvC+2feFrqXhskXZJSr
GQXyh+l1GpOeZdkw85CQ7Z02EBtBi2w0kAWFoQJ8fwA57uPyIhjzZduGPG5bsYVNHzQSPOUfNs5g
gOfeGgu3F95mETLUdf2tNvq1NXSZVh0HoFwp3r4YvgDnU+ahy5dF+k3QRWlCT9qJ9a1lJntvNbOS
US/pFNjndbhAJS4x2UF/DkZ8KGDcyY8IGiowOVsQJVpNNbMjGMmptzLQtr5JNpyMsEz4crWbHmP/
2eN6GaPpcBZ8T6aCvGeyPKD8Btz0wwk6EoL2LQRrrw2abnknqKMqpI4YczdtD5Bwg5czXR8U0AYK
KldRIXCok4qt4zEWlC0bpz9xAcsy9LqfLfj1Phy/SQaPKU7dPqYsF+I1bcjqJ+H0p+n6P7IebPvQ
PTcigMqtqAvp9F17IELIgp13bUMWdByezxVlKqFoTB46nccVeQv88KTgDXVNYF+yTBCTWR3ai8v8
C5TuHF4eb3lW9I17QegRH3JBVDehhdjwilbQus1FKYzDIjcZ6ETlpeRbU1gnH4jGINWpneRm0EGh
/rKgsVnnbs2nzF5IYuwu6CCQjywn70n8dv5N0oZVIWjpvOORzp5tzxcd/aIPBV3eJqVB/kpOr6AM
3Yl39tLtvbIVE0sMPohBY894Tiivss5Cu8ccu1+t7csmGN9U3rhgPhXenpBI0ztJxbmHC0wGwXJk
SEHiGwIM4HCvUiSrLN09452FtWnzzyzVNi32ZTFdYTwTXbGPuHslHichzFNlTcjL3KGwhdtSbbMk
OmOPbcR8RwswflfoOfPKkXzJdEfFQrxeGW3cVks8rsYPk7Zhs0qwKbLOTzgZ2AQLh8K+CQM0IWse
D9GY9CnZ5oWIOrYhJkAJkZgVE7RHwVvneo4JuawUlH3vT954L4LDya6xlYvJQA3l7HR8xhqp51f3
dxjCETy3nKksi4zISiHuwVInrvPoOCznz32p1yoL6jN66bqUyPrXH9ZZxAT1b5Zl+BSiOl0oF2Md
KK5lQnIm3HuDFEYw5wCV1UBoaAMwrG7rAFa38GLDmzACcdRp/BAswTyw/W/qaUIw7ffz8gcACfxf
ENIW1F8XsLm+dtmEK7UJhvZfEfXCERTBw92pLePjltz6c+M6nx8yI+hYJD1+lvh3DbV1PxUwzh6x
Im86FHYjAMmcW/KcZz1BCmIF0Iz6bxgkAoS4FJ+rnuLKNDx+TIWwgo6tQ+6evTEbLMIyvqkBVjlk
lG1SW7lBOZ4QhK+HQspi3VU+GQzgz9/58lkuQEp4osPJdiN/9ggN0Tip895HuTB8++s0nk82byeo
MWY/tPY96YCvTQTSDbVpZ1kzhk2mbVbR7IKGzQtB2tzPWGtjMxfC2Sz/y+MH6NObmDbaKoKJGzy6
QL5LOJ0qtA8EF9vKP13QcDoRZjGF3SnZwVN8hRsgzqVEe+z7BL3LUtGkehsf5IkhupdCJqgMKbCn
hIcQiymDwesRSEWVwgJXwIEdThOgYUEkUM8hwVNpmWZ1jfd4QsIQBc9vb6SXElsfTpU8pTjWC7ST
8OSqIACLgNbNKuGGl5soBYeBmUua8K7rKmh4lu2/fcRssz70xf3EUvKAPROEDdNhpSt5MIlVEysT
jjMYnHmOsWnQz0XyGmuWqWDeWJ5l9tj0lRNjZ2VQwWvhDYConxw0Z2v0CLZmI8QmGUxH8CuCNqWx
vljQ1EBjd0WLwgiu47xg2YCDiWDklEC8QpdUWmoR1tUszGR7g673YYH83kLtHyHyBgclSeEqMjyd
EI9l8TSyIKmq+Ml4np9wNGVI517hh9XFwH5KGKWnJpVbTUHzFEw99kg8HqDn/LMAuOjzEKRTdEkK
wTwsQ7bTbqRAwOn8Ve7oBmDcJQL+KSxQFUpsmCDpKd23nqRQUPMRD8oGjGuIEc+SScgNcUSLFFvk
gBBXaf2El4FaaCyxMipflf9sprPDEK8ZdsMjct15l0umpHiRnNEYoOcQ2on/uiacoJIjI5wCM7hR
zRCuewYgnl90Mmq+1RtcXgrsQP8r+quE48fhS0/QB/U4wJcEVJ1JfGEwVdiEKpj2+iJq59e8vspz
VvRFyKpsDygzbI0bZrSdIfE6C+E9slzKJ4QAnZvczw4ni90U1yRe25/3xflCAiLWlvBv8fAOW5nC
VXYhR+pZA56h8GwxTQW+DKWqgnkHoy7o1lItufZ776eU1VEHAwQ4TwKBvFqjF+6xurk31KImkiuF
gqu6DUtMg5xZxiSepHgOrn7FyY+Hj2qGe+osU7mygtSAUKOZdMWrOIoMTtiz/YR4fSMPwwqtUiPV
oZdAlgnt0L+TZlDy14VqBeMx6BAw6UviC8EKBL7HKmhBA/ahLL6BkZg7ARANreh56kOIL2Z5aFxP
N2CuYLwfBZ+tDx6Ekd3/OZ1OoxQVa328SGPyBntAtE0I2Rfe6MQOd/FiIZ1MexuvMBSgTPyokSB1
uHYpEX7+HBHZydNA1l0QopeVQo4z/EmgtmL8mFaKiiZqK4JVOF8E+CTqLLY1UVUWOA80tn7NqdRS
5pCDl9PIZQ7aqxGSJNtb2tIy/5oquOqCx50J0d1sY5T0PrBjG7aOdZEhny2IeOJVJ4JBVwZsFGNg
QjjfQge0QhRszSp+g9+pc9w+r7sOWVpa+5u21fYSmUy0sD91FqrnNDfylMThVzxg1tueKCG5vleg
Z6EMcla0O4Rp3odzvoJsyapI/QUm9AD4cyHikZMUeWDmrIfFEzLH+UZx9c+p9peJGqckUu516Lfh
Pv6ZbLa/jgnjYVvIURoPQhDJlZ+BZpmA4wwtEI9y6VUVQPJQlDVVXdsEUzOwX39AwfTbxI2tu2AA
7zq/SOWCAfiTDvsY942A8UYqHXW9/cbKFwyuoH2UgscJoaEmGFF8jtDjxzfl8oFEnEz2Pi7VibNP
83BXmr4p2wacL0hYGDcFaJTMjsKET6oO2cMXCINXbnCvGwep3unqK2FgpaCCwcPzHgm/UrJfaTVb
t3kJv3JM0woDe00TOwCf+T8338KNTaUHPB1lMBv0Q8bN+7HMV4E+i8at2ZydPKCBfu1cc3Y9GFF+
LAYkjNTakYwVgDftBDQSicK/Kgxc1eUECJBIFEtWVROSOEH0R1rJVWUbBrW48gbk6aN/pwQzevQ7
a02rihuEvbNcI8jaQtDlzaZsScOnz5Oa03Uclt0Gb9kW8aIGG81OBWFzr1rfFR3sKdMQYgl50D05
Uh/jP5Je+B8XkSSd8BNNOqkW8qCn4sT13h2sePWvY3cEwggb7tNvFEhBxgVYnYxSIzdaiCbn8WgB
bHDqZLiucrDDKCtDomCg3nCU6OIQ7/qbuJawpiIIMHp6BDobIbyCtoxWDvvAObgK/y6DH8ow9Jtl
IYx/lvAgmWNkLRrtRzBQVqKUoAj6drlQxZYHyWAkp2qHRCzKkHAwqRCKuKuLjd/Gqj2QO7h1mped
+Xl8vRt3mvv/++PMpNazrVrX5B+nnwfK+6h9p3xLfIYd17OIZM92zJEXXcpz5OYB8uwWIqcJzSl/
0q6bGe0v/SQK587NAgEsfa15F5F2fptDEQZyy2HBtaeLoYz2AXp3zndhkc6EKDqbZbkjh7q/68v5
yzej2Ziq2ogc/wFMMLosXvnyQLcHIKuYe0Nrrvw73Bvcs/yQaJFsv1j57N1Gk9ieJUfrMmYb99Ym
VFdpz0zcY0HjzdruAXQXFNN4mUthc9hVZQwJEVA4zcStgsfopYPfe9G7jF0qzndkeDQpb4Ty2KxX
snPbjnkOLgsA09E3kr3J93hQm+bGJA1vteSyQ8+jffHitz27+NS9seHrb3rl8gqrdWKCRXtM6Inv
mISVoYmwq+pi5/4xaBNx10H07Po6jbRfSMu3hvlF1CKoi79TYRgnKBw4bve9lgUaE+AYsdT037JO
kK8Ku9rU1rGKDLn/9rHXR00Fq5R+2CO53J1m1P3K7Njxbdt5XrQpUXs2EIhFSpgEC35Qu0gT1F/+
ha+XS4heR1gET7EW4mscFYWmqWkqF6vP2xENroJcb4QTdnE05Ua9z8v0CyAbzxhhEuskOBMTMQqZ
ALVQ+1qEPADOGgSxLb3lpkI0kYAuo0WIutZA7ZsQf+0D8VfXlRM4Vd+gUFAnQIUoYxbKrzwTMu7j
YHS3AC5t3aZIpVKV40IhenJpNccv8Jarj+vLMg7fKNCCPfmIi0qIONcBsEHkkUh+ZBHK1XgZA4lW
qM6CNBlsezWRnhyBr1lajE3D4aauiO1Qhup367/bjgfCY212wj938GBxv9ShIo/D9TsSG4Tiv0Ic
oAmh0XiQeidKqsoF5DCIoduwUHGQDHoqmhDfSJhrUweLib9BrhTwUHesQyiJKVayMn9Appq4bfWt
21cRz9D4LM20myhFqvMrBICAracn3O9pvJNZt94HiQuzCjKvRF5tJai2jIFDqpzYDHnQBl7vboFb
t0VI4PL4D+vlqvFgiXNpg1XnewOjiUqqLBwb9Qg0dujyUALO8b2yxMXeBBQJnS7IYFcKic+iiu+/
DTG+iaCEuuBPDZNGrOSVwIGWvMbIPh7VO4zn8SLW51RlEBieZQIkk7GjMOcxUNJDedp95dwVI4qE
rTMM+l6d5k5qJrckiA50ZQCHtA+BlD3fpQ1Z1L7KUYahhl4vWYCSM1n10IjwCSW7dGmlkJ8SJAIL
5eoYugYze/Jbxhc0HvFYESNzEzG2zN4sEKqoHf1/qlJhR1Fz7eefDLulUCfPWJUQFlEGEk0ABgHW
vtu8Q+sx+Y89UEV17RR10izh1mnposmmMPhvMOO/wA79u9wRhiLoTZBjKUBIlQuyPlgFMF1tnSSa
8DtmUwtVj9ty10CaTUielCHwiAH60/t32a9oxptef6iiPysE1ZHX8Yf6XCn1K1HiXgWrjWR9Cdq4
SLBGtoM8YscAXu6EEqXAZR8itPrHYwY8J9gXWkhNWIwvzKkLyVAoqaLqOS82nCrjqKpatFL/qcLy
qggSgm2ygAnypuAQjlAKFzl+qH8KW89SkkbX61bRJ2hjQl3mkbVloRD0eBuJb8D8T+JEGQXrYm9b
T9qSivIAuh5T/28Itte/GB+qybxWU9oBe1zhoRJqhQZcNPXAzmFZt3Y4cq292bBuzTCYehc7BmWN
TSGk1WpTmr4nbKfQ7bdiLYlZjh53bTuHQtiw0u9JachG9MGpK6ZU7OM0aysy0Zqkaje9hCs3KWos
AN2HhD1h/eBZVWZwUcKaar+vXrc9rX/qspahNuf0nNVu5bcPKdNIi9y0VtRZ2Wm9H6b7eLEzEbaZ
dUR0dgK/j7s3i7XtBjPBNo3etKShfRKaexCPNev0hrnFvo48wP1Prwo1D9SxaJpber9Yv0eessFr
ZS8AgGRep4h1Sxer8Rq/6ZijvThkNWPndeJESN6ETX/38HMx3XaEC9WwZrew1DaLv5tSWF/l9yIv
U9dKGIu124YQW11tx2LyQJBPrN1T6LndpWfGbo6LEIdnIKwj8yVaFxf9+mqnryPr74Yts8rgsT+u
k/Qw6k3j28rfGS3jTtNDGqP2d7cOvYv9soT1jGVnHnyrB4hQrNqHWa6j0L7M8hrpWdamYfeyjtvJ
JfXTptl5UBBszlFUn0zgOaQHjmenBBOV2oNVrP0xSJjm2f75ornSBBuuukKNPUfJrmht20sGr31a
brLmfGXlEODmql5nRsw7qu0apN7GFWut92T4RC9t6mLwRrB16Jl/RT13jd9QciO0qPhNWGAZMoLY
XL50kl2wsbudzGk0o+1YGO9J27lGgsD6vutitsEWuYnnJxxaF2rcGZTwKWnauqFACzZPQ+1/zp27
n/DHrtpnAglShrWfZ/3RQ9o9ec2LxNX6gusQbl/9fRp/3KBFIm74HmXI+3+iDNXIgFcAD13mlwmi
acdlBt5EwmXSVK3M0L5JtNd9ZqBDjU+tPR/CA63CSK0bSce+COf0qTQYfqGdfPqbQzjXQy1FtZCo
vA4hhDjwByEuK9O+cjgeH5eH0MIURy/d6AUqKaNVzhNkPIBZEA1ViFWoXyqEkTI7kuVYZaNQLlec
iwlkVJ5TPgN6AvKiZhprfITam0PPixioRv0X3fcIpLQwjmHFrDwDlyLEGHmczjAltddxHg06PDch
Bpx0cpmGpFv7As2Fos+S5lW44Vz+8BcqK3wH5Ie6EPHPjd3ug2p1sp+mgj1+5YgR7TS7lU98OvMV
GGDfp1UPSvATYbAqtCxT+/3yqTcIPO7TWdpuY6f6AzkYgR/x1zeDno0RHML1bP3dK9lDfD3P0FDa
UF8d1b+dpisoSwoNApcBdIQBorMD+sswAZm3hk7craiHQFCvux77K5Hy+3TyxfPjhPAqnY+OCqMs
ETse0D5UvkCqNAkSHhEOZZ/qIfE8Gvc8HGSIRvr3zz+qFa2uZ4wSw6nRcjexglW/4p38NSs1Bpb/
XtSbv36zSS/i/ULwEP3EBNkNdxVepjep1wztqBM3XnWUSXKwuWtUHcUNhK0o/TMqeZMIrS5KQWwF
3xFNw1IXOTkoIGHpEvfeMWfChWEdmROnXbtB2w0Qzw03m7OxnUZWiLA7OIMwaffcG1DnTa+p39S4
yvLBO5kWuVXLZ9lv5JEmwMEx4B1TW0jITKx+DzNBVxVN6Dn6Ry2o7Yq9ZldOx/Aeeh4LIFVxfpqC
SziZoJbyZ5QLM3J3t2d13L7uFT53UgDCZm3lWRHpR1/1/oZ4t1UJIZt51Dfq5XG3f+c6Fwm7426E
x3Gob8VfsQn9H5netHandAlqX/RV3DDQbdMFaRH8Wi8Z0113u25hYcxoyqzR9DbOl/G+fEK3dvYw
EShF/04mKjzLyxAj1KEXWT5bd/TgoRiYQ5ReX8FqgJ6j1IHI/uwkN6ign3EvAinWy7bwrlBS2VZd
QKuFDWphFrmvezoTzELvDdjvUPGzjs7wZ+hVq24ldrskuaf/l8Kx5ew+4g4bCWJ4POke7LiFVRF6
OvoWLtNpvn57nOeHMELTPN1E0uFv8Mv4yXCdLmg7U6AQ7Cn8r9HEZMaaHGFYKTcWFBlf+I3+N6D5
gbSrGrXQ41ISO5bAhlBvnjtvz+u99zQoNJKmdj/RGdOAvRuQQ+2fZ6n786TG69x4LvyYXHOk4RgN
6XzlArN5WtBuB327EksqDbxjL2s2VST+LP3jSljNOIgmH8FBOBhuz+TERVds0fgPfi6HQdszgH/Q
GymMVfrBhnrbN82kUqeNLYDB8Pv7+NQtnf0vo3hP+uncj07Umx1+G25rkmKYNrpgN9+67DoRZbZ1
T79zmpcb7bkVq91i4fvsKeryfOj3d+V/vXFicj1N2LOYqUSLzdhisbaHg4iU7scfin+fuVetDRvm
nxBi7X2BqiAZrZHX+TPWUK/B3BkD9hvuAEw+iPDfnJU0WL36Y3z5poxbnBXCvw6PK8JUlCVwe0iz
a8pwI1JjL8GQaFaqkYy0gVIV1DJxIc57zDsMki4BsWoQXt78qruxpvQC40HQAMJWD/qhTvM4LwOh
sWF0c0lMUwpJjtHgfBtyd1nWx8t9GXXUAYuEDvcX4ax5s/Ecm6pu2bRoX4lyBzEYG1jmNdbNHNPA
rCSTeYp6IFMbs2+kJlQHq0eiEzmP9y/MrPVnFhoP4jc7R+ueyvCZZQE4J3j9dNUhD4CMDkIbhZx3
UeGl98d1nS8UfqabbubnrNAXEwBS1hkJIEFsZAVTFO6E9ANVz1z9hA6QXB1ZoagAso5JMveY2GwM
fjo+ROZMCgaQexut5kMb1MQKElo/q5xihXi3LlmGhwfFQ1gbpeN0ygeJmbM4Ul2FdEhgt2LwPxyl
daKakTZEVkdXUlhcEVK3z1MavxP34fI2CtehYbYcxkA0FosKrf5CDsJ05QpF2C02Nb+bj9134WNn
qjFs7vO6+Lal9qqttzpS2KrrnDSzssa9nrKybc1iI2opj9s3foAiMHshxLjod5jdSt1LCumXhB3I
Qkfi9pAGQVSaElsL9Q+9AJUgFFUvL5IBm5WN//B1k09tNegfMEsmHz0F4cVxuQfkHIzIpLnPIpxc
wcYsGI1kcEzSpC+SGHVPGpEKrTQcWoopdyArN/Zqa9DyXOyHhD2vDpbmzP1Ah0eLXV7Zus6aQr5Y
XKYVwqLZnFxJT/xBkXW7KCvtNF+E2W1yr11kWCjnSLh/Wd2HBFPkqG1uV7g6XUinkMD9I5S80x//
hhg89hvDHs3nxkZsQrX/ud9f4MWLF7T11Vi/94IKe1GEcuTh+QoTc6tGZFv2bIA8NQoSnknuW0jV
F2W80iO7xTyLAND1l+8/1hMKBVs0KAtXkJFfyoNC0/k5YeM1WUh8Pg+5QlNCKuoUDMYydOp79YbL
hmkHQGJEoBNt/Bfc7Xlxtl2cMoGP3z7pZQsvjz2OlqULcSxCfStrHWPLCclaN8G4Bb/NaiRgw0OL
SngXWRN6sBFpwB0fSXoxy6S2WJ6o+SmQ7tO96sOGTmSSOsm+fhdOu8z3eTj4D3X5pVNty4ABKbkl
kvysShZHtLVdzxPTN194P7lvd9XPN0Tnx5JmEYsiMaPjeU5KR0yvk/43Yb+cJO4C++WdZbJJEt23
JqR9vbVqJGCcaoOEQBG6FnvUrnCivX+iIUdTaKBIzz0oDD3/CwvcdztheeiWRe5s2tCtnOAvUb8m
LSltkb+hcBauXt2FzFHvZB9XJAygkrbEWbBoOmeT3mE+7/JJWLiWF7V5UlmjP/GnhCdXh7wmWeAB
BkqQeEEnL+w6J6fXVqED9xaaAM/RcZSh6Lmk44WxupBu/crRCucatPYiYuGMICJn8iUwoOqOZ/vi
R8/uTcIcY94s6rtSnPfBkoIkFULl5C04pGWVcmyFa7lT35kETyKI1u6zQJkgShlabfJJJ6A9dDuD
ZywK3EiMng7AXUjW7Ts8nDBKHfKrAzHZA7V1/BDkVRuKzQbsKQyi83DMId5yno7UqWTWokEM+QmD
Nb7A6aSLm3Sky9p3pMVwkXUVZL+/CnkhotfzdU+nDhk50iaIDn+1L2BksLWJNEHh2YZZTBTuSzq0
+ZPhyhwum8JDj9n+27vcJitnjEpF1TC2U8zJLqMWV16iaIKC/WVybfjEq0rZx9Lvg6Xbg2NmENLx
P6846rQCue7uybOm45p00/RKBAyYuQD0bwJ/d864yQqcnrZQ9ABPuUKPvkXIC3ch7g3iunKoCV13
sOk/L+1lEyJDkK+BBD6je1BsOSRMB3dCaB4oznPloIlEfjjf8kx1/ohKhijp4eaYGo6TLDibz69Y
oX/TBGhvpjs21UH+MopCEDmtO1bOgda6rrZJjHudZZYwGrtipSKNKxVhY1M3yvg+0DgZQzt3rgXH
jrVrclthbAau5K1Insdmf2OVgX0eMp8M/VK/2ekmC//SalHCVHMA+Jz4sH3BhsXsXp5egGRb0KgM
48epktgYUKtmBxdGasP1QvLhCdvIoO8cU5O4DKIXTAOzJXv4tN0vYc+P8NNqg8/N21cX1Jb8ENro
mm0Mq9WPDi09i77azlMHBd7H8SxBb+jrfu+j8rbSrFXYvjo5sL9G6Sz6cnsz+90vZ9eL77PtbOun
TdRKQRiE3/cq+BJT1zKtBPhOsIYL8VspHX6Tvjr7BUiZZdlWwGXGDkTEof5Ig610fdP3aZA6O+FE
2y4EYv95uA3XEQgAzgyHaMhFbdhQOLGWwcFd3tiehmlEzlNzBo65Z3QGeO6t12ehn1duZ1s9ReGG
aHYDB276YAkP9pc6m37RGKBb903UvVVGsOEmqh1KiKfh9NRZUXpJuUXTURg3D5WvbBCkaTJYGqsM
1xH6l0mPLRfG9m0bqqAKHwxbtjkjYeAsVDlpBva3jcbkmyuMW4QmbHbOTZyqeYweSun7tg8C8hEf
YcQpMsTuYXrL6z7c9uz2IAMdL6XJ5skN0PK8D7kR6DaAyKRaAfVvpqUrjXoaobnvikSaQloWecFY
5x7n/j4POV3NkFBoIw/JGn94lLNaYVrBr84MHUCxQV7Ne9pwv4/NcUdWidbKhnKIQGGxcrOKmjUL
YOh2Np7aLHsENh8UxZvRHN3mseBTYkzowSmPWkVOmUIDVO5HGbXhQ151w9sxESSqS16a9D3kHXTK
baJaD3saXycofVK3P8rST1MsveWWz3uIcJhhGc7n8bzj4jiULiTUNdWH9o1jFzE+XJPvPQ0QOMtZ
WGgebu4Ruy+0cMoAfhcGNi3/8BpCvP3paqdEIb1d1uiC48P59L58l5vObznzNDX8Xkd/sAVn6u41
ZQiEzUY0hJgmWjkviMoWbkzztPIi/EhWKDUVVssaL4Vl1v3HrG7yujoqbwycH6TOYzVv21PaDLGk
SXaI/cyXhn38qNk1FLawCTUO23EqB2HhDW9uWzqyfqufzKO+HpVnPJ5ST5m1wnFP2ZdaxLY+G+kl
POYicSixpyw84yLQqkh6fakzaUMd64R7k9KgeWI8fRy6BCbegJVmV/hvJSL3tZQ2DyUt/d1bZkkX
+cagfDwvwsVp/MNuIjupk697NGgfKnKJj5h+0X2W2E894nX8sUtAdP4EO2k4ezFFNcW6OjKcUGKG
h+/SwbB+hc/+FeIIzdUErNB3MudN8iXK20wP3G8clkd1qnhxmATj4MzEPgoLbvzed+XGHKHyuvGk
XcqkROy/8gjTj68JdaLcpf9yYZLFVyx3z2qSzqbNgm3Idgz7/iLZJ/1Tvz52J3VeRldBJsoqy2Bz
e6lsUVdZKksZe2moKyoUjGUdKxhDRHmZPZVaGsCKddM1fgAik6tQc8mI+3kU/amK8+sjsxQldZNs
vEdP5Vi6WFhuM5xX1WYDTBfldBGnHFeh7eUFohhKy3R04b7Aoo8YFjglc72mzHfTreG5IBbKYMnj
SqW9aCdZhhIhepqHIB5KEcZiU3T2H8tC0j2d7kgTlbj3WRXs0xAuKKbsb6qguAllOs1JaplJ/odG
AMkzZAz3vAXpZoYanKo+VgcudzTIS555t9KI0fPpwX/5A3JX6IYQp5/un2ehxjQPGgV0W0wUcpkv
891cm0+h0XCTcW2BylyzCE6XF7VATOgzfOma2sVwKw2NwDJpEHgne0J5Wc/OhGdxtQkF0bzp+jon
w3h15iMrqq+VYJ8XQSKkMAH2TEY1x+9jeXKxN2Ebi0DfReIOOI03wGpcj5/2vQgcrvT4au9QtMzy
GxANa1K48IZyPJrwfLrCVBiUhhCKBScm8ggKNEuX1CgnY+21asM5Z9B5Bu/ASHuUMeuH1eNIor4I
VefaQi4UCf5YQj1b14Vgr88T09Q7u+bnYJQ2yssGRLMYRr3ZYt1do1Yh3KtbtQO5agMyMRyrD+KJ
vedWb8aCf0nBM3sGZG9tqoxmaMQ0ZxMVWOzoaNrnfZROWRipf9o78zz0lX4b7xpkhwU/wyrILN70
stpqTEu9gSQMFGsTFFGwy6AmO3FVDSlGkGD7zL2ma7yihsRoG4HYBYbX7AxJPF3H5BVaCxq0jqEW
KlvRPss1PVpeV6E+n3rrXKJTum9koNa+VdBYAnkjrzwrEHJzEssz3bwqVBnt2/ywcclxar+O3YNm
G3dnGd4uKe5pGq15mhW9ByqI3HvxDM/x5iVchvv75Zy06go/Gei9Ir9/1vq4AVe0cHKZ15pQq1Gr
6OOFKKTS80DnYg4R3itrSO81noFQRaz89QJ0UbfhDXhiZeXeBVr98oJC49QN3+dJinuS8OpC5r7m
MJq+g/eFg2EJ0z5TsAgbDqb0T5nj30bDuyScQhdKDhuvED+xLiLzuEQ7kMxylhVBvHBV+BiOZ4aW
ZY7Wt9CQVTh7Y4dkwJjvw/JJ5J5wleORl6Zk+QzC7eTRQYUaNUL8sD70jsA9vn9SJi1njgiK2rqJ
zqsQpsQSKxSkqDZQGnT4AU7NprdSV2WTEhcg1TRXnlxisLnQXF+nu1hLQbPmA4a6TKrpPa4T3Rpf
uQqzZHFF4g7aXJ9kMSPNLd9/C/3CPK0ohLuYbQ9r7wUXbkDJkhAcPBoalF7gacdUC349mSEbHHVE
Iss9ozKhgaUlZRN/QiJSlE6cvUeKo7XRSQoioigSt5ENUwrDVOEUrB1GOa1IKzh6kcOvlE3Q7/Bb
xDzwyGsUBmoCEw7wd4HwmJfb+yCZi1Ubip7tDsPuic814agphkY2lRLmR3hBXMJwKgNdQp8NDHJA
BAwRGRfBzfCq80g5UuOEUpgWWzRGdXQhnObL1Z2c0nytOW9lTaaZbjbnM8elOrgb09u0iS7aLcOm
qawh4kxXcumAopqtL9LehKyfKmS26KCJtUBxbGiouYevtg+crxCnE2w9HlyDe6j3wJZDeZUwyXuX
h0J1kTCsQKRCjm8ZGkyXglLD7J329rYhcxbwjNZPtdYPoS0hPdvOvzD9r78wwn2pQx6/9ii1/zas
T1IiFcQvA/3H9Z3j/WbYPbTRgB32Sh7KJTMDzQ4r2uEcxNG7DEhoHNEeZYYk0icB6MyI11NIRsSv
NHu8LpJongMyaF9nE+IQLjN/Z5h9rrkHRCe4vk+vCQgc+UFtSGyZKg9w97DaECxOYk7Hq6neHajR
EzSfWB7X+3SRHl8fTQX8qmgdXcEi1Ah7E2wXll3Gk0ZWvyN9v1yrRiq+D8fDN7UVdEU0UTrQxadS
xHmoDFSIswliIN+mK70qbdZYFZnjo3X7JLj4vEq8hF+KAOpyYEHG9tsL7qeB75/nTYjMIGoe51Fg
RO58aqJ2O6h5O3w7oFebEM/vGaFai//o9o4qDMpoY7jnQs0loS04uJH3cdeyjQrY0Bh4EyRy+90T
NMkb2klWjugf0EG942n4x2NcPoWhOAkEc1VMzbiRDXqiO0KFNGz9HMxnu+WjXlIbyMk0yEN73kIc
db2Nx+l1OsZahtDUOIs5q2z167CPjxVgCjR4FJlKAzZb/n4vlHx4mqew1CZEE2+aGo2vd12DDtVx
CUOBpsbi0S5V4E0oddWyLQGtaahARRxfvRetlzQqtC7n9VT4HRqUGGbglValQNfOyfoLLAMloRgc
SOJ9Zw+Cl+kHBxKGaSP08cH5VMJAjCnEdkKMDlQLA7FrirZvq/MA63ddjv79jRr/2LbuZJ9LkceS
Bcwch8z6eXmZNya9vhnmx54GakIAWJjSaT46Wxnssz3T4kZj5VxyGM+sbu9QLHqCqd6+ClNZJCLx
FXOBAjKbmi1pgxj6PoyXlxFSdSkrpWp8j7Q2bSwpLkAm6fwhWMVtKA9mvR3bgGNg3b/WX0GrYW7y
xhf6eiRGLDpr6i0MpHHmrnOz0AxcBLoOY1k8++Ue8gNxsLJ1mjXPDRcmbPtFjq98B8larn1IlG4m
cRyu3wdCMBWnf0Oj8bQMP/4N+y5fho//Qcy52rbPPwLNeKzbal70jd/nVks8HJ6Mk58uSjAAD8h/
YGOIaNv5vMpc51ZWvzQcj+O6Uv9xQubR6MKcXO9lRhG8HpfpZgsb9QxfB+inGSEXxDfBmoXzNBh9
fnvc/wBr/N1wH2iGw/n2PsSXWLHmtBwNZaajtv+vENdwbc3fh1PkisCAJevGzJtX03DYNm4GyBcc
Ls7098t8+WuMwhWnWLDdc6RQMLPFmxkdiNTsPq8L1h6Y4Q1odjAncw6g/ulPqQU3bgcBiFt5Q6If
86F2bQCjZ7pM8XWWrCs2WOpG6euDHZRY0rD0V6WKwG9Won+Niik63SzUDZmdLY4bn1LLHoCLMti1
6Y6HNJIu2I0PVrXeYIV3M36ZIxzbeGyZu1SMz2p5exlS3arVe2n9C5nxn1XvXzP5YSNtNElRSMSX
Ubi59NjcVMfaRux4NwB5ljqceVxJK0vtqvM6z/wN9g7obWSP2XU1mx/LUZhfX/rPpQg/QGX0/iTf
7KosvF33R+KTEyZT+wfXhicDF+hvsUABzYVtlLOpzE08j8MiCpGydEIE1E4V25X7Mn8bE1OpfBni
CeBp/cusXsEfrn+hB4u3Kz5WXnjT8rfYXk7yqfdcTr5NJRomnjhKyLKqyX1FRf69ldWHdTmiNhCb
89HF5oIWXba0IjavRxBoXBC4kLn+zoihcbgL4mCzRG9/xrNa2KqcsyZLnl3ZtP498BboeEudDk3t
Pn8sT9L2hdp/goJbwJx8rMI1yHNB7pOVCk2KfyfJpqp3hgaEo3Q0yqpb4HJfR6XgsCHxolwt/NN8
E7RvK2hfe9vtL+ySxs7cg6xZ14aO08pOGPmxCvqO7VttK6SNTSbSVdGt74P7jn6GsQUELccsiW6r
qdiFOj0WKl25S6fHVHe1NRNJW/1FK6vvyv6cDbuIYJ+0oRHpUmsK2EMTXx3/HDC2nvrXrdwBzy5I
3joPaRMe6nfDCeOYQm60tAzA20hIqwAsV6z1PqLzatuQRlBTwO/+CpP5DeS0f4/QN2qUK2xUJoiB
gAUtWM7uBYMy0DwCvzMf/oTER3+ZPsbzT/dljLWwJRfGDYXZ9jplRcVjcSShem/LSk/xncHFg/UJ
miB3D99GZe0ZgikGPeuPBkzA/SJB/VW+dvGu6PptGg7jB/h+aIbFwAk0Uhmy616VBNC9kQUh6S4n
1IH0OitM2kgJ2cdlXOK4SxyCiTEGKjWGmxWv12Q5BNlwbqcZWwH1LzYsPViCrIYZIM/3HbDo0139
Y1TaPS5R6pKJWwxz6RvK/LE/6F65Jk8hqON6jyllDHS8o/pfBHOKaeQCcacaFDvDRfrvv/4x4V7X
W4PKe8tIpQLxuyHtPVUZkzGFLfzi3qHSL0p6PY7KQBDeTdn4d7zyXTp4v8fzcBGtu7IqQ5Mxe4tu
qpXKginmBB2E4xvvuQ3LEVZ01R1Qoz39cD5Z48VE9MN194c68CFuWcn0xyhECJhccbGy4vRv1tv9
t7fz/DKcf4MHD7bdXyQ9XPTuBrCe2qLJk7yWzI6CWqUuC6hSLffwdZrWvgITHYULOm/tuX9ZMUz1
fRp/AKL9AHn6BbHR9/tZ9HEyZkeW1o40QQgQieMHIFHva8JbLrvWD31FlFDKOSlzNyNG/ZNWqHXO
JpBv3XUyHTAM9ZM6gf+lz1RQEuxJV9Yi8g2qWrATGs/YLDP/uMh4gQu6Ros/6Xx6YVfhGWJgDR5g
hJ6JnmArRDLW4wApTVzZv58fi2DiuUWxapGtDWwATJ+C/Zv7Wqt/uisp1yLnkhINsT4kVrg4iF8c
JjD77VmFzKe31O0pCyc9q6eIxmUc1sei7Vhl3avhbu/T8acojIzsxcKTVcELlZCfFXc9O2tz/uMx
nMBqOf72sXwf/zb/20dMJzAfCDiqShvsNe8LUSVo4MseUM02iLGu8QBEMrbLAve8QYm+jdYI+Pk2
viVkV9W52wQpM8MWTI/9/QGYCelh1J7vg1VHnVFNOjTwE0QG0Jr/K9iHgkrKvGOuvHj635M3ry5K
KU4RCFrtuMxuo4EOoXNoz2ExghQi39MV4s0pHV62oRgPDDOcvz5aVe+JWugrKknakm3c83XyQ7N4
138r+lBVWQruytt4/61OPiQ9+64LrdAmuEx8X4ivGlIq7Y7l1TbRgJJot2os2Wt5kkROC6iFQQsL
QQmw/Acv8Hoe6aSmE4Pa0PtlaTdQ3HlbbyxwtH3TZm/FjGcWysbncoJIv4Y3r4eHst06NMbVf1iW
4VO48bVnudXBHN4Xtr8UHEijCUgeJ4wLluDAiJq///NMvj5SqUG6N7797EkD6inP6miqhIZM2JK9
7yP79opLbSVsBGYxM45la4kjCivOlkHXofWzLGV4IrKjWTIhlWMcWUNrnvKsfwej5W9Gdf1m/UlO
J9XMVmapN7NCFKksOXyDkvQ/jcrdENLqVSNkqEi9PyQxykL4GNbqQjHf47QcH5fXUR2ClC1rNnGo
PJZNF5bjth5SuLVnsrpb+TK+D9+nWdDxZVYKFstZB+yT4rxiXgpYDbV3o1AjvAzrKHrUVVd4LpI/
BguS7vd22j7gWAsWcNoLdlOEx9w3IaEnyLhKyihabz8eDveN5ecAJvlewjHVfhClCrh/lWAQss+b
bbYAA0I2F0nWhGBIdIJBx7J/KSSEe9fwRCvvzmju1uMqpF9Y0lCIW5pohgxd6FtBvhttja1GBaVf
Fb4TWbK6GjgeiF4I+ZzOjxZ4+0FYjvN5fFMCVF0X4aIwLwSdR0a/tcv5bDJB3oYjo4noPUMGPGfd
UILLh7ON/IVSSa1w9f376i+IhBOm31MJVxYnZ3Egb5yvGU5VW4cujPLRLMIh6QsVfeFfm43TmUKb
Vcx4e4ri6UDM/i1iWTtwN7Q7f3MYB8FvKjxglA8ss1BMQZyUfnyreH4+V0MXLD6gOstCEa5NHGcD
sDmcsPFRItPCZXi9xQCEsqwJiVPWLBgHhQd51jr3wPEapS5BzV4oMyX8F5YLL6zwREYdAX5Zbwfe
vLAo9s6KLUTuZfxlgn6DACJVogivlqAiSiHMSNbDOi7KKJ1+kY+uZJEmNNvqyOMHO+n/pSYlPPoq
5NZbfYWCmjIQ8mOrOdIx4JPcPjG6IyjQugolfBOA2p8gLyKIIycBwFjuor44hlMkD7r3DKY6jQdK
J8U2orLy8lCee0mPUXgwfhR84/IGp2cDJMIENzJsmz7U/EDj6W+fNykGxUGmtTX2ELD6Oh8faoav
SoCNgLG/Ps5nsUsXCa5cCPoHfSg0ZwVp3fkw2JA1WwoCp/Ks2TqPqHR0g9M4ts5Xw6ZWCKNZP94n
0IGAyB2O0T5fpMIaDhR5jmrhlHZDo1uWduq3a3T9V7Wf92fcMyFYL0ErcZuefE/J9ay87HkAj7EL
cJxXAvBs0170MFyniyykK44Ys0237Ih/H5bj33FyAyBZJAug9LFLbSpknTCAGbIG49XeUZKOp/bE
oolUFZWXAfTNB5ulQKiFcHR+hEYf3eN6PM+rg0QVgnDpQqhPjhKX4zHM6H32+0ju7oAK13UQmKk5
DCbkwFHvF6MECeOHZTQRH9g5nNgZoEEyDI+5sfB1WaaUqHm6gg5lgDM1ZPMM3iDLTnDRez8v2sop
f8Gl7ePeATXUpkuXDL+0pSB/7JNysEXBm+x887DbKEnA0ePUhDMrfXXWbSNneFI+JszZeII824QH
s0iSVXjipRAEwCdKfhg1IUxYv5VvlheRPZcmVLLkGFj5NYOmERsIIIDkqgUmtljzDOUWSPUtNQfp
PCGvnU+ReNxltb/A6/96YKGfYJ7VIeAmhzhjCu6n+3wzHiflPmT1UDP1gOdUPknU/bmYthHilAEI
mSDpqyxkzyglWjaZoF8y7yM/Ejze/5bOeLEAFKusdUMQCgg3mNCRp0QmtWIRICbhn5yS9dv4Qyrw
60sh9+LllFxfRxjh8PJ4fR2XJF6p969qnRpeCGdmocDSVskLHj0DG23xshEYWsoEkspgIkPuAALU
glfOUeKHWxrpUHEo9ZPw3R0e34J3AuHGBBifmRTPAfYpnWJiTxBn0ITsRCFowqBC2O7OWDT2p//z
d4LxUgpIa+uYHYfb4WcxTMJSbVxr6AvzJpcAlrmH2felIEZYsI+U6PRWXS5E66zTuxd02rJDIfKN
NvgoBa+XbQmLX3DLR7wXpjmWDVpUkRjWXhe1YkYdGgd1yvbdEc6u/LLWLOj1ymEUVuXDioq3Gy0k
y1pJEKi7ZykCkJ9kEOIcebXBgTR9ypdMw8w5SrzFTQuIGLLOxShM1dRCeDSc6knLZIYzes72YBwF
WpdgZ0ZQ4bIorAvBbWDyZP+VZbmkapt+92vd0qnzvhUEtaexkdxIrpvYlWA2wktEdzA9VmBmvqOH
qWb0F4ZR+MswLX8bVwm61/jozIwlF24zFLcBnmN9vKwD1FsI4VK3uBbUf+vrfyfCUrDIVCkWyq99
UT+GQQMnoeqC4bokgUEWHOV9BCa8O6TPdsFCau5bdFudrZWNoFwKX+OXoZSVMUrl7BeXWE+yz/rG
gvDN/IXkjqHNZqB/a67zn2+6Ognj0MLuSA/NnpURVMnIah+CYVmgmvEwEm5t2cgYxv0B6LINVrrC
RNCqltCmGyvJk+DvyESb5Agp+y5kV0Sxcv8FfW3uoxK559+lg7wlT1A7R96jHnlctUadBPer5mVE
xG9fBvVVarfLDba6CGE90virigHLMPL3DJQ4rLPopvECEUKJeuZOcXLWvo6MKhtPA5EFD7zwotdF
ERG1A1L6rXCAaFRd1GHeP28SzKvy08S+bJivb+fJMpOKUa48VCu+Qa4JHlbnRZDraluCsqsgPwuC
Lzzkw24wU8XYWJhZcR0f6jKN+hhPogIoN0koHxuwYrXTLwIUgMN2niq4aTm7qQVYcP0ZEghzYQFk
04mZqtZR0Rhu5NdYxwGaMC/nZOSGPM49nE5ySoQhmRFw4kcJHwtQucq4+JJ5RSwf74W1pT4ZdHil
kIp3AaYr9q1CNq8XKV7FRGYTHA05ao+fyAOfBh9WrCb3mSrAJo6+UmBa8qRJvQ2pGWpEFj6XBUIX
LGJnwNHLtCKjpGy7cDhMt42/7wngt1LkxT2ifVioKpnnMmCfvQ+zZPVugCPWoRk/bS6k7mofX1D5
3hS8af2M6cxSBaA8npBtnTNbxrGbGKHsaoFBaPceMSwyc1o8POhBBCDVjBYnjj32vOIUz061qcby
VBYwLKgR/3C9zz+N51fBCi74vIo8Wg/0e7VXqWogCdHh3E0dTEiVE/C8V/FECxdCtsFcRfXMUZsd
lhK0tvIM71USHpULpQhMtOjClLS/2AlwYx9BndBZbeiCsvzGbZlvoCNGDVz01cbheBeSJ1wEOgmG
5fFy9iHLtzVUAW59Cr/9Fnk6448ZDfTe73Re6oaf57PhfJZAJqhVGJUp80SxX9d6fyj/Whsby/0T
CCT0y8a5xXu1VKw9E4S/dBSWdYNE9tD4rBi7P2/CByTM9/fp+A3L3Ifr4W24CYOwXj6cysL2BcCe
aW5O8bPDNXWuiQ87dGh2v2DvJ6RVFQoXcZC2Ci3Mzsj2fhCOvPCZbE3Lh+l2gxZuQNu82lYh8WFq
d0Ktreaz/PpqX9Xduf8YR+hV+iatiDdNd0h2+OiP8xvwqRJoSm4wgueVNdsuSaY3JG4t0cBCkjY+
mcptjmN2iK/qoLdNWF3nnZdRBzQjuI/CzlSuYRGzI1x3iyl14/pNpwzyNiAnIx+ucXMyZDBAYidS
FbABIOdEdAytm90yp7l4O1fd2W9+TUqDmreyxhOqTA8eaEBBZtBw/jF8Ahcvtm+/KBN0Eh6B18LJ
RgVeH78A9SueNTjewvLy0PIuph2saStMLSLgD/Fu9CQbeA82RmN+1+3HfhgPDs1/aWo17xVGoYtu
K7UmNYBw7zrXHqykf9T81gKtuk3MHZZ7/EVWjDW7oIzrpuUWbwQnPGzH4o2pombbCke5WldoyKfU
82k6IVPUCjcMbleU/ZjeWB+Shra1DruwuomS/ORq1t6RgRJNx1dsrzkm+/yZCg2SZK48HbuCaGJ9
TRBt+iEr1+sy3I/vKZHACdEdyOI6u2Y3ygdGP3CAeybIFna0rvuIbnfmI1+x01HMjKTBmKbFdGVb
MXmBvQXihijtu9OLjDlDnxmwYilBjVUlx+H4jrT07yTE8UQEAZ77FpILlE/XBwXFEztesRvBCNDH
H57VBiE+6Hzp+mpFWWKKhue80SnXWFU9iH4NhTAAN25Ll3vSnRzYLProIC3H0SEY0lRrJrh6ioZj
h9Ac6Uv+83r+TfynGaKkQIu/7fcbiDgCp96ifgx0416G8wDAeOUHk8TN48tgRcKI36wCi6iERZTb
/dOBAi3MdPtqXWSJWi4+mZaT7PRYmqVdqRE4LN6X6fpNyi8UjYfWZ11l9HSEi8CxnmByKBMzcpta
4TaxA8GMbd/xO80G6YR7zdbQ0+0KbSnupXAyNadapRsSmYtwO3i6COel39g6n+3tEC5HF35cZiXU
jyFu5eAgzdM6cj5IIRwplzCoJzrW8F7bIgh6HB5xBin10nlBM2sz4ksq0mbCXrK0e4HCrysMYSF2
j3C9F86LcCIsMYKtSjTP9/J4+aQG6lYJ3md5YS1LumNKr4nes1K4Z9lWjsfuWS/c+Tp8yM+vT5hJ
zlkK8B+67zg28TaGH2vvHZ9PWYaF+xdsIDotRvUEwq3UjW60hBakAEv5sbO5L8NEbafw1ejqvdQ7
bKqNptG1crgX66EwzkscEaYkayG/ZX5bBAlfcbpWnIrfWdHQ+Zl/F5QfR7GAsFP/LFK6R5AWdUTU
Pd9jwSZpucTrXSMhX1QIx96X4YcwXW8P7GKZ3Jim3bAdeDaBcMKln7op+4AlUAvCpAqfrL904fc5
2RPZcxV7c/iIB4EyRcnpLvxo9dIrYems9KCxpQfGjMIo4io81crPYVaBdTfCkXMFh621um1gQPht
Zr+iQax3XXgDks3Qh98AdQzSXZQuw02O8KqLW+4yYWhW0pssw5r3WS0IdjajS6QmPL2JqF0guUky
dD5D6vxGI9hYGQArbGyH/ofoC5LtEGsDVna16yfmKFiWx3WiRpk7vC4apvU7yzmJe0CIKrb38zqi
og0iDPjUdLFnTvn6uCi18il8zrr6YbVL1T5FAm20SBjGdX/DXECZlXwYXN9GDRxME89Iky0aN9iI
z/C7YE9S1pxKmwOwbcKQrAmkbYyrBv13jND9bf7bfDvcX+LfVz1bauGW+sfx9f63+a9ogUrf164z
YEnF87kfe5KY/2kE3jiR9RAnbwoL0GknjD08L8a+iUXgadyOrcwYW2F9KQjejjvR2P2t9tzvAxQ4
ic1pyTiJyK3h9PNwJP4vFDyCEC+LrbOgLTXqNIx93vRTY12VBcHc+SyoJReAggj2LM/S7YgRnfrV
Sw2mydBqwt6G3dlN0bOwubykKWNhXcEWFWS6x57SurCH/lLwrku+pNodkdmaeACWfpiXRfTOtGLx
Fp3XA7ryYbpaJ1FQdLyRAdK0hZS/EAXj5VMUMQiZXYLTwxuH8ShYUNVKblwkcqKNIMHmLX08ceEZ
T3kmPJEyVHejnZJyl1NShm3OkFMiXElmRCGAoiybiJkh2L+ccYebr4IlJh1HFzZazLYKx1GFCPLM
LKbLm7AP5Z6QbCvcZn4ZezT+AgMIk++ebLXOj5G8z8v0y4zAsZe74AOV4UCi3j4hEsEqmRkXxvNN
EHxczjTNrV/948L+Mfox9uOodN6WSbcblzKNJJT2uep0EyVvgAdlsCytCQVBqPwHXQThQPKwhtYo
MDM1jecUXnwddrDNAK/TsgrymlN/UU64i0RCDle1Q3hgYhaAR1lJzZaRGKM+fcF95dH8ym3346r+
l/P5O2ZRb+OCBs1l+DCjS7q2DQt1k+ECUOeP6QT9VlPTa7MNILCLxkAFgc1btvA1prMlXMvwS02X
MW2PNZynAimoBJdUSlGwx4Wh6cYXsAnPmIX1YP1t+/TCqelq8o0zqtkMCSCqSLRKEDddGc5A+Ycq
me99WNLhKzycR4DhJQiu1MlwqD/2i/ByNoKS5Da7bRv9LFQQwnzfIVsi9mXwAe54fPX2ptDm6DQw
Pr6NDS08HL7TOQtIx+SMMLOGE8kEhKhg5PAWk9xc1SwhUl2yMlXbsLOnZyyEyBjJDCt9M+f7Mh7n
C8WnHudhEXx6WkMfmQZ6emawVFC9qZ7ixZ4oE0QIA/1iQ8TSNb5melXQpVyJYd1/5sfQuSf21d3x
qgOZSf1sAQlXPy/CWeHbMr8t0KcM23KJHPlFm0diAwQnWgkimJK3DDiOPkYVWUwnzKOLSBltKqzK
JgUc5inV8lc9PHZycA1LXR/xlLAXHi9z7Fn9jx8eEPRPu+UG6CI7IhiG+TbU33vyQ9hLDkjmmaiE
jSOcLzsctDH9LLdnlwib2tfbOuYykptdpMwLw1KAbi1N+ByI9lcdRBqOy7yuSQ3f9Dy0wEJ/zxpe
EJy8QoFSItVzxJbrEOHuMosDzOiyCkFFBKFQ5NvAjxPjFpEqFe+oIfowvsJ6tywWLryBKpxwCUin
dOyxzZ7Uif8iz4PokNQiuuGg8YEg0MfLy3g6jae0ccjdSEcf/XxxBEO97aOBWQRMKukr3F2WSwWP
Xl86wY4SHngTJjPRIlMIrTFED3Zsqj3rKwU7ySLwLv2Wd8WAGWlDSYHy9gn0qY6WsHzKs0cDQFYg
pc9PXrBMIbkuwqFk22vfBh6wYLfwensbnPEMDywcRR0kIiW7DV61eLpacsCeQKAOnM3o4pBkFp7c
79GYmq5EnDL+Xm/tn5HOcP33UQTU9m2oyoEMDx15P8CoUVYfSrQwdCmmA2oTDUMppdvpQOCaIVdd
NFqon9igMSsf4T+8wHnOYPqJq2xKH/8dRSS/jfcV1wuMDkAvIoB+sxAUmUzr4WNakyAnQrYzZLor
cnXJO56USSBX8zJ016CuHQhF9has1CGk/B5gAm1K5eGpTT3XDlAj3fSnyoGKFQ7riIHOC+nSF1QY
Lwm8fluGQL0czZ5WqFRp4bYHnHlDLcDSudoF/xLk2N0BiN20uWd0zwDhP30Kn7vFYWCu1k6jQ1NT
29UbEtmS/4y7hvEw4T61oU1b78r+H5bTBKUXJI5daZ0gIdgJOM4h9lpYuDuSJqb3koUEAt1PICkl
GZgs7qqdwEKnJ4vL5TT8v3Tnx3rBsuePX+3wecFD7nOWxnbct1+A49EoDpeBOsPU+cE7UcOcdLlt
MvvdZ50H8Mj3FxbRPNznjrmOnstRyVd9E+OVVTRIHoI7eDBHEgNiFJuGyhjMwTJCfP1S42CFQ4lw
FbD7+8xhJlgx5h5hS2tx6BLWfJA8HSYWJXOJlsG2t7C1szSN+/K4HhNXJHfgHabDtJiWTHj6dXci
rOptR7CbftshYRgt3T+hL2hUdjCuZ/jX9AUtjh0RqwhP1RPSJNztwlBgTybojn0ly64OSVxsc8of
oKA089AA6/c341QdBgsuSucESAs486Bx0oAG05oJOzqkFGYbMr3+GSwbWYl1qFjXwKhtwkzntaWw
KakqXhVWuHpkTSkBeJ/z+CrMp+98JeUlaAnlRYYh4aMSlW6tX+nW/zOIEBqxZHWHzOfz62+thhcu
Whba90BZeywkRaZZEahwNpfrRVMFYoRLrIGseGmnVRA7fHgqfWSVcXj+umJvlzClS8hM4NzyibIk
qL2GoqVqaKVMaXS2PW61CVYOJG5O7s+IsQ7gsoQj4eZ8jauzIR/8wAA8p8tlPE1o2OC1fhuvwGFn
aK8k1F9f+YZOFUKOmj2TQaN9xowD1zqDvTHnl/1YhttNFHg0IgOAFrbmLLZsbTN8ihSotGpn3iF8
gnw9wid81XnEAbsuZIroElYG5LGyPzWeO5bc8apAzBNe4D5LnXaw8VUxr60FLiwRJ9vV/sds+zWU
T92M83BbRZsxY2Bg9wBO8wPsgMsIjVm2e57anTZkFrhB6Mj2DZWFbGNOc4FXa/+Od33QIAvcWf6o
dlxZt+YG2dhZpAntvLQ4otNgZ8o8yX8G+9wV3ivVqSq9IjAlHGEH7EJq/wrPHC6eRC81Glm/dCb5
zjPB9WvvkK7RXUSo905AIS95kxSfIiCXxnTWMwKC8z0XSBjOiaY6YzA/hlP+sczgzs7rvkfTZ046
WTv0PK33r1zErusTj1gTtiFhjOjJdV0eKn+gRgwbuetd9NQyW/+p9P9kVUWf5SF1trOmohMk+VZ+
EjsTBY93rLTrytD7YKPyXTMhOnnItg9psJQYTD+OhtU5EJVJLG4sWLtVUQR5Dr4WEaHoFaMPcWyP
1oiXTbyqaUNBZ0bk4MV6INQOfDZ47YTIYx0K8mlV4eltiVilDRnSthZgR3KaLHq30azzL3ej38Qq
MfJwihDr1t6lmHay5rDrvRgaCnX2oYj+qpZ/PvPqCGEnc5/epE3ndhK3pm2DtCvT+Y6p7XRwo+Y+
CeiHItsbNqLv3Q1jPJLW1afdEVluKk7cgyH4yrS+1CQlB0ygpryrrAtFWTRUFaA2GsEqeFk+OZL2
WlxsFz/iZVwvgjvVZCHHQn31t5mGEIu4WqdwmCzhJWDib298Bvpt/O5vMwwSk4j0287sYlF4vm7p
64Z9XQBi9enr8yJ8HdSLfN3i13Xqa3HmTcgB1so90fuNNq7zrYTuadvFyTs1CQglXWbJv4bYxY8o
ryFNIfOVYvV068STb/yzq79UeNi0IT3PFyDe2c6fefk0c2nz2trL9RTPWy++tvIpQLz5bWnmLYuc
t5ai2X9taXOmzf0cRPalotGmfLq7X00QkQ3TecGu4tcUb5BeYEx6DkkTTlO+CAqOcVGybTHFCMso
sACTVsh8lsX8V6TvSEtVPCraM967GVi+1I7IvJEdJyBD4DwtBcL0RFn6WzGLUDPzku1EKLh7lmhL
mb53kTluZrJ0e5IqhI6oCRmZ+wu86eL1oXMiS9Xa8ci+J5hXvW9hFn76eDnvTR8jAMCw5nS63XX2
1fQxjVLaUbAHXP8r7h8hxRs7ENvlXfljmoj7/lflj2kSvdsTF9Pfk2elOeRuDSwR9uWcMQ5m6sA7
1m1n/9emzKnzMl9f9ftoqM67KFr3fCl7TLvDNrf6WvaYvq/dkr6UPaav2SoyazPucAPo68Jdc0DO
tP9s9phGZYfk8llfyx7TXWEXj7XMTmWPaRLunhlDnolMosD2o3vgbKSlplOQ2Ch4Ey1gmjLNtVuF
Qge7+B5IR5Zhvmc7AqshFYmjs4ql/CjlJcUKDruTgU5psSYYXyumoJxkMJUvOeCC692H1J4LB+zi
Oq6LTZZyw1n7Oo3nEyS5KV6ORWoSVCELhUf0+r6IRTVtL55opb9amkCDFSG7w+pRuu7LeDsPR+Gq
m1ZbJsZWSYAF4cE0/jZ9QXmQLdiHCKq1mIdWDo/1wJ5fivOdWYYYjdR5sS/XFtCLY6OhyahfC8BN
Ngw50h7Vhf9UtEFGdR/6apvneya+cpNXh9c4v81X9Tc/lgmbj17mkxRYY3fDQcmAdWRXCKuswlCB
qHyI1DmShKgYFsO1zUqVMNBESh9evnnLrtOOljQIo5DBB30ZjDlSSxW8sCI7MAtuM54Nng8AKuVU
zLUJqRe3Gn2rtBskuB78nPAf9VfKI0iM5KGXp87loU4WKxJ2w3iaJ6ppGOrjcn6/32/L+I+HEij4
pf9X0B/0Nl9XbEZ2OM3Hx0WAVVRl1Ycy55Ex/+8//fEAI9lx/V9b78t0lH4r8/Pr/8xv/eMxLd/W
+G+VfShesfktsI6Oy3iiXpw2e6Qk7DU+MqMwQ+nchkY2fXsEGD5Ns/SQpVq0bgZ7GU5yfzkcquh2
zOs0vg7QVH24q7N6edyluRV+3lOLWOm6RUvdaON8kEb4SJ6O/zp7vyHcLhahchUuwvDmjNT/RBi1
+ML7wE34eZ2x/GI6CVtR+FtbhEZ9Owr3hgVSXTNBaVq77nYVRAdthlUO/agMf8xSv05n4UjKxsNZ
lcHNexvv//YRH4JlzKMPxJdCI1xvpe2HE8htJXxHaKwoHEbpId+zfSf8uL/mjTCom7drg4WlXFae
bX5CPpmi3SHPvFkOyzJ8vjxeX+MAaHXgTQhWHZiZRidMr8twUbfoCi2oDqbOLtZ4i06w3fEuWdcm
9cf7LD/1stvxKFF6mB1RpvdxPgkIGTVo4VcMNKFBTSs9uPeH8eM43iTIfGWalxm8wg4ZOig7XdKh
tf9Cq/ALpQkOx6My0IXZ1f6l6lMi8yOmj4UJl17RgTaqEr+B7Y53jl+FihJEAfF5PR70fxEecLVD
FMYk7M7fqNq05AFxtm8nGC/mF+SY1Kedhs08SaZTN/f523idfhmp5kkd17iAR7Uel+l2d3cEPKxo
TLFsstIPfNGby7I8+kndZ37QzaQ66F0SFgv87PsQc6Twl3P3yx374Ur4YfcFXuSKOyt63fjz6/s4
plfuoqmsUpWG+bvazmX4+/E8r8IIRebtnbYhHld1EhcNTPjHY74jued1ppGF0YpQCDLLCmFD8tDh
6Z0gdYHaQt024Rz8fSiYopwE7gT6dhMkp29x4w+6J7Y5mVVYecMD9T2LDFMmMe6o0UEGA9Mm5Doc
36HpSWoOeR26WygFb+dhugqzz72ouo7Kq/enbaFhOb7DqxfOoO6bUGSe9nH7sqNWCs2m8m91zUZS
sgaMBuFjd5zMZAptJIWw7VsT9rUK3ZCwsMiFYQr/kub6cZTCnhY8n6U3AvxMtHGEL5vMvWusC7Un
yiTqYcHOTUrOXiQlTzNp/cxcv5mKJGvd3cbpGMbJU0Ka1L2f6ykyUVYKG78R9qSEZW3zd0HqZ5V3
xfLNVkjCrg/nnx7rO8S91XncdZRot+5rQm/FTaYSPnWPXm10u3Mqh/H7dBYGdWdmAKvu/e0Xp3kT
SqLSBPwLkBAltTeONseHi3ITVnj+gN67jUegPFCvVzg4d+ToKWsCUvVksNOo1ZYrDEOSBYIj0gqD
eo9WeBsWZGHAY/wUVteFUofRiy1vVVb4L7x2OvRjlRbShUwpWog2ZhMSu/SEnH7lb1f4EndTHRJ5
jMLk27jyeVzRBjJyX5hI773rUtuooD+hX9A6/aKkJTV0m1f6/7fhhH/A/xG27x5OPz9WW2qA4ikW
n8XqILKZOFgGUyLD5TLcp+NhO3BsrMyO1QJ+oW4zzUEDhQoCJVJbhUiqNwB7gYWoD1FV62TseJoS
1OOM/RbiejqZYBoU4q4faNuBpVIei/XNw6h545Vi6mM5j9e3HQW+NLnG50mqQgNeH5cXILPaNeCm
m0r7xAkqfMv4+grL15dm4WLUa6zX8usMUbfhMp0/sRcqpDfGK7VjFMYqQ41wNhti82W7dqQLbvGX
HwAN1ofYvfTLHQVQKX2dsd7iIEI05+vXXzbdxizA+P3/MPsFHxaVtUJ/Fd1MM4H0K1jH4QKN9sI0
fjlTS85tza6YHyqaILI+5jnjJ9WGAsqw2q8j1VZNug2z7shsst1CrRAOW0cyuoTNMeRkP96VQIeG
o6Mwkt+kVdtYMaecPskC1c8xr5V2oQtxCmzk3sHsivDLTagXrFdktRMYWDQeW4IlRYyOJCSIi6b0
p9UY0sfbZEpqgJCAoJOPl9v0MZ4pS0VFCDtaaNDvMKAmetBeAfx13nfgvVfKr8lQl+n47XPHCbAO
5UVnHaWYV0aHv6mRCbNwJZ5e7beepVuaV1Xf2Tf8+3n57TwvJ7IshaGCfFXW2MbN1GC0PfvJiC16
axFkWS1MIA+Ul9EZvsw7f5V1RXanmGWN8EURIqMzUELNH71rwZmPAuk20LLzdBM+bnxMb/P87igC
BOAm4RAbjg9pdUclIu0e1RikGA7jsswLPIxE6hVkEm8xz6KD0BCT/ufQGVMrn+UWNYsLHo5x7jNs
DyC1nFRRs4K/PA+3uAecMw8Yt6v1B2OA+X3DNX5sodEgpdt8mV9nw7QutajGYboyFGnADUL97xWE
xpsP03a1vstZurGm83l8Q3a9y8sUYzLEQVgoj2lZuttUEK7cunEV61JpZX0IAgyz+d2f/2RSb7DG
+CYXpT8ZyxzFVhQP/xQstLktR7THjv1Z7XYLx535q+ncTEDSa3qFTRN1Im4U1sdiFkwFeOtrhaMK
RivxawOd1Q0C5aMqmB/Mwox7FicsrfESFBkvhMD6WlMojhbutCYx9mXe+qEZbV8pNQuXEmYrXKTW
B5GzDr0kIxfhXWVt7CbbU6qFUwpGN+hrhhwVBmhDESkd2BKXnbPgEQtO8N/e1PamTjVvnqsCAPYn
y3EW77PFEd72NcIvlqHCDCtnl7MggapQ5HgjgRYDBhcESVmEImYon0/jcV6onAcCluOqXNDTcFVW
T+JCsrQLwkzKqD4Sjrf1g7pMKOnVYcscIQtXsPwLw6dQ9mufnGd1ETb/xNH7Gnt8t5wnJ3hy78M6
rcKgrSc9GHsmmFZ75HXua46Ks6/QlHaqscxX0NUOsyEX5lWHhvMeg6Qv+oBQ1YvS+PN9iyoC4yw3
gzVd7kdhDqxwC83v2qmL5XE9qJNFxF/c7aYH0ASyZZf5NL1+eqEEawklltQHU/FPtqKwrixkH7rf
n66nGBKVXlLnG070GB1DmLHkZkxx7zyovoireHzhwnyKUIaev0wI0Cof5YJvUj9TUZ2wIqbWvsrQ
YQm7XIZ0OGO4pqewHoh6cFcBkrrPIWMjJuglezN4iXBK9ialNGQfU7mhuZTCXEK5Pn2Jdr7yPDSC
1pzCZ7X/EHJvBaZnwQ61ybIaDVf7oWGkjfCyhXnARq6E48ijpi3EVKfXier+Dspbj1YY00ibZHLE
U/NYkIS9aTzXlns25BgLn9Yhe9DbEGE38yy0IZJPLWkzbsVY/wW3I6nji9IvyOQC9/a4Hu+6ShoL
X+ViDNoWhjvALSoa8cZJYiAL1jO6xh/eWc/XhNjsOv/AuqDMUxMDL2i+JoVdEDaEjhrW4kCFHaWG
JQOp7UOv3Ahzock9iXHfqYHHgGnPefk2LpShpD8fgNc/OA7cl9JYV5UubCXzU3+Kj+gjCiTHAUwe
zwTB/AGiCDT81qQQsQEAJiQyS5QP9LKP4x1abwOeVxik9CeQ8wkQTdsthoilLajcLJxrqgewJu9t
nq7CIMZe1hFJfxt0JuTwdp5fMAZkFyfMyg2IkQlvWeN3yrMBhn4UBmnd0jB12Hh7M67r8DYmNsft
Lnoq/fPurvdhuT9uwhi125sKI7y1CRy8grX65x/Xv2hCU+GY2X4UVliZU1KXHMArUXVMu9HYIazv
fBpPoICA1piGOk+v4/HzeJaubcXOGrJXedPY13v/E22rRXor73y4jHfpmJrGuzxaPpkJzUJhPO1v
Lrxh8e269wcx6CZ2PcRBjCuDoWbYDF0D8Duzs/+D4/0vvPs/HdU5O4Q+wI0mYWWNk06MZWW4zy+H
l/s8CB+6SSE4oQmJtT3CoXUDIZiOTO7gkvbVH9D02IlltmEdBcL0JK9z4jY37lXBtmsuUnxT9/mn
+xLT1fRxx57k9sbZsoTD6QHDHK7D9+ktcQlb9sh7DPbUfEwNSMIkhnCX2LRItW3uciFMwH3L+Pfc
kadFbutuWw76NdcNZPUYp/nyiES76HMmKl1C1xwnbaG4eCcFQKiASCFIxAggKg2UJ8gI2hqAOf0x
SYRvrNjXK+EfqFMMxd6hzumgLN7YM8CRWJrPOZ4Ecj4N9+HwkAjXPaZ03BnTxRkKrIAdZbUrEqZQ
B7sWUT3RuhxP81GYQh3Kh4kQLfWLwe3bYCJFZDz9duGXXFcM+2MPEg6FyPXFAy0DaIXU7/McsUvi
hW5BciSfS5Q2Mb0B2wZYjWnwLPRPqvpnOqrpepOosLbADMbRInz0lHumizEv6jPC6IzLNJyRvEcL
MUQ7RIdsGdUTY3rTQx5O452g6AKuMWMdC3mlPm0CltvgJzG0DnJv9k4cuX48WdZHv+gyp5V69kUl
/EbjqxFdBZPXwo+03o90HqD+dDdo+vgAef1sxcUAOzRJZq65EN7dNhanpGr8B4vCt84479B7uQoz
ZdrMSawsl46g9zZU6xCzPcPpBIQZO/aoDC05i9Sb0i9z1WujK1leCZ80/vp0vwcoE0Nk4R384IPa
aOUVPzS1PHqEh9MZnRdhz0tvNoYH1xRPAoYxvQlNcPsj8B66KsyIcRLfHvVhGW7T6cc4fI9b8+p3
W/8MzU6Wwk7W3qMwF6UQvqiCb7UR1tYFn4FmmcKXAB1dPnUeQwqg0RE5a4lxpWV5Lky69LbX7EzW
CrP2H4SBKRbZv33Etj/zv6hFEBP9iDsxq2yyQlhInnMZZPLRo9rEB4Dvo2YFfcyiHujgNOb0OmHr
stBlpqPyf1j2gtW55aF7oNXKT//7f/1+lk49Z8KwswIqyzNh6uwTFy61Iv+84yUzCd5SiIegzMuF
Ql2mODvOUYkFKbzUt3Q5yWGdjgdCMcTZb3PWqISr9QGaMigjFvj3T/Pt/l/zaUwwxleslwIy4VW+
lD+KXdSqMtjXQpmkD+xMoOPGUWw4jsE6uTFBd1FH/47/e/zTATrXDAu2YcdNip6Q6de1kdf/G67U
dP/8CbdnAXKv/wabH7F1+BPxEbnydKgNf0Rwsv80rZfhfnxPjcfFVWmrk2idSrzfHjf8f6f5xzU+
SJmHTAE9yHjHFUajviXrdLSJVtIIt3V8nGalIiFHuApL6UOSF61jsk2HFftBpHYkZ9FXmwkMnNmf
v+88stZfW8PWxq7SOc+ELS5YWMNx4T0NovdKPVrwxaTNavy4YfW8WbqQI7VdzL2vNquj4aSYj20z
sLEt/O2GG7j3QjM1whhczHzuI5TxQVkAynXK5EAR/7REwIc0SffqkM6jCF8tYYCNftB5CSjFeFWO
8wqVaMtwiHkVOcOebNpVgnCDllAvar8EQDyKN9bPhDViomWod0pwdZL4kqjljAioK81LC+4uqKPr
rP9iTHRIKVmjHogz1I1f/+Rm+Xi5THGd1rCemiwu/jwOpM0ARryMIIGFnpYN68TKEuhWv9CE7Hjp
XawYDxQjbdewQeIswfADDk9dv3YMW3NtzgoxHssKSSOdR4sbA5zuygXdVw37FrpA1XXv923Spbya
ylKH6TSvpa5diz+5qnZyoUFufGJ1dvdqulqazPgoTdBhoifHBtgxn6YI2Yd2gKTENdToNva+GUA2
T03DDd+xsR+LIrZiYXVrx9tPr7FoS8m6KZpoyWbOmtXwrO8kcmDOV7D0RDfWtFQx2QNT4rI9jEMh
DNE8GQwkg06jLT2OS5lw59+Xx/2uLxaY0GxlcaHMurI5F3U4nfRLRZ54eQTWf4LTfZAYMKPEX10Z
JC56ViyFoFiakNUbPNyDfLooQVhLA1bwTlqGmSrrbbrqHQeodfywCsZ2xjzqiOeKKypqXwZyRDas
BXOz6GApZXCar+dPQawVoZ4sEAdYZiTCQnbGZHVnziohfCoh2hlMhb/PZ+CS1aUt36cx7qtwijGP
dZmGw4JDzcyKFyE+EOsrxvAudG019/ABPLDzmL6OFWe6Y+mI7eHL/Uw45yLa4D0fBa42AIoEK6LY
sFR6qtWw056mRV8HJSwei9B7sWaEUiyJ5qwJZH9OnX6TB7vcWKGJev7HOwQC8e1pleJC45iROM2X
+zLGn0vVNSGzIhYTp+eS+2x1rRMAyueajxMiAcx8Up0qC9bNB3crS3q98alVwU6fBLzVT1DZnQtE
6o50q+I3ve64ew+j6TiN5rM9XIYz/BF4OYblWwS7gUvcNkatvTfDUDo7XkyQKVbpwd8+1vt8Mdt2
0NyQQhvEug4KcmYzvTxeEIytFCy+xZVwXvSwzD2LX2BG/gp57bblzwoRuy/D8dvbAs2i40WCONWi
CKktLW3oPE6As30BtorpH4/4qg34XDej7PxST2WWw3MxIvV1mM6PRXg9jAJRl5w1GzufgonzeV4E
076L6x9d2KPvSkJm1NzrYGYnbJD29YlsNR5cpfvahdgCn3Vy2vcr6hAd7tNIl+GDmCWEkYoQ9eZ5
fFN6GT+gP+JtiBuCLEiNQlXXiBJDl85UIlnXEeZ1VnfqDTTZ92mdXqYzPCxAAk7D+fxJfylwGFj0
GRa1oOVqngD/CW3V6NH4E3sZj/NlXGV3g36pZL+EZXh94Je0qTouZ1iG+UEtqIXBHQVGgeiONvcG
1xVwj0WiS6CROp+Eo+bjrO8IjY0DPnGIvmArhT93JixhxLoejugTEOfKqpv8njrCTHOP1qX0VoyU
GFqJY4E+/wXXICK1GW4lSARfBk5Mun4CNwCNz+hXICldZgX/hXfIVf2qefdsXGuwm0NMxW/pEN3u
orf+656FaIzTVCs2VUR2V95k/+kz7BnpSY2avTKeZTC6pWW6nNkomZdYYgTXSnHKarjidbrfpCLi
gAqU6ayHPQPvUNrGmKZS4oZZVgWyO+WpSLdgpjWigcydG9O87UAlP5KyaXivchdzMwaHsh4/4H7e
hbCd7bTih8OcOh8BiIp4anU/xF7fVRHy9clWQcgXMQYeXj7jQRVSxps+nRqvRAFEsrqTNPJlzdxs
ptLJ6SchOa1q3z8TzdsLRtPNAn76saKhbXs+CDZYFWrE+KZjRCtYcsMLHPrLebjGJ1OyA0dm814E
25DzUoWeQSiT8biujxsA+iTXkbWt5gRMw4o8e2od5lLH70mzeZh96F2ZvvXkxAgvqws1mNeZFSxo
uUr3v2yCPM5EXGMjbiDIDGmNLbVAAa1tsAnwu+MqtLxQZ8dsTF46TM8VPyGjd6Wnq1af6LqDRDsM
GcV7oej4mN5MgJHFw5gNS89jp8/OuGvgq9zS0d8mq0OILpoEtGJU+usC1YpyFLdhGXvWqWPrF+Ck
hEFYgpIYrzz3QolV4DICmkJhPb0PPug2Jtdlump7S9n058m0tKM+QPHgDea6ep6HxehUu81sUGIj
tVllKDMI8h6NytlvBiKMUwsXSHucmG7BZFUsVEZDMeA9/F/r3yNKIgkI86LJgnlXk8T7lxxAw5Al
VK1ZbnxYG2AXYtM0EkvuYlSn2ajP2wwIgcRBZn4lkY4H6U8B+LYesLrssQhjdKFaELNvdkHaAASw
x5WOVhgy9zPXbXhIoBay7oEwGrsaDf6jNoYjpld3YCkot9rFjIxAKE42OwvWjBxOryn8w9MhiB/L
cBOMnk06kQMFwMw5aWAOomsW5YKsh61NK8SwN8ijLBxMSASwuYnnBMV//u1Pf/wzrvA/aLf+fh5e
xnMEVYe6lrXUIPat2jEeoq486JzKQ4jybnMPpZ/cokd9ndf7MgKcYXpFul31308CQoupVsTsV5u8
uJz4r7tgFMkw1ERZzCnBVIV2t2qUGRtBTdNeZqGf1JHGaVV2z5XyY7qYBtla4mfMZsEeq16BIzOQ
4JkUT+tDkTm3j1fgZL6Tb4flhCtexOtJDGTQJocDucys12b5Au9m6/LBRQcrBv77jqdTt4Xfftxz
jRLXISt9HAjv56tLiMXUOt3JPuh/mHv+legkC/JDt6mq2tq4iDzQcFzB1M28gKLWM0agO7sDDa24
xMuZD+KoHrVDRDP53Z//JKSEy1Bo26Q6kwZrzkg/cEeAvDjf7ggWtOFCsOmoiMwwBcUYtzcAgJh4
FDwt7w0iSUzHgy/L/SxgO3u/sVYeMMLsSc3arsBEgnoJQh6BOR0sk2/bLUJ+aKeyZA+KyDL4WGaM
t3G+jPflUxhmE2mv/HQ+hC2uUryC9fZit8eKaqTpSEAKatbci6mgZCSPckhu/hBv7Ktw2Pkp2rwK
Z19v702/ycf/WObrm9SFp6xZmIIBIHlgCWS36cMnh84qHjvBjI9hbmbDUb+zlByuvPNGjgePamq+
MhTkQTBJCQvShsIoeAMhlgInF+9bQrGlIvQe9iqh63zF9l5GGQnqpwwJSdFOLYUYFBNQwJWT26AL
2pjr4TLcvHIZCueikf70a8JNbEofa/MEERbiQl0ownnBGBuwOU+XN9pfoDaEipEEWr0KPfOnqwJP
bb6S1flt/HyZh0WKXRUhfGccSytEnTbiemMmyfCNhuEJXFmsySrhRSN6v9VU2JByFHAzTPMQkUrG
7pu9w66D4tEmkQXvqA51IvNVEukhpZCMbtqhkvI89DS2PsQihZqboglZzwTBQvpbnAtZEYd9oLeq
q0J9QgGUi//zk7kdeyD/Vdl4tSc6rIhj7MW0VwyDjvmyyo1BD8HGUxJ1FhWD/j+hjvwYsAjTrsre
j8/V6XoNeUCG+3awTb3CX4dFr8ogrYVQAZKYYeXzA6TLHRLj5X4VRuOWvLOQoyqLUOCP7ueeahIj
XDfUNSdteY/3RMTQdPSmIB3T6dvrnbqVdYh6QbvAMBQ7d00rIsypDdenbatbEhe88+K+SQ2ROuwy
VMNGOH90lKA5GbgVwhBd9LB/RV1LVbQhapSQbNMUyxLun7asDhSMMyElY695YZPeIU+TpnEyplsY
+oIlw1ignjJJPlB9Gpukvp/P3wVTOm8ExWdImZI+RhGIUz5uuDGoetUWI83WgRJdBohls74Gi3Uo
BcBZ5ecm+60bvANmxNQ8i9kHU9OyaMhZWyXyZRrnA8OSYaGFkK+PAP10MhtRIOkCjbrIQ3vCKluM
U4UJu+W7bIg2PNpRbKrmKFapUcQ7ctIGtWRxu1wPM6y3MAIPG7oqcX5IX3Q+W2464p2tnl09MOhu
Ekizy0IY9OAlYtCeQrhHfQAJDnUDw/W0083PuTdTbHyIx4qle0BbK/gLThCgAaZ5pF6U/ABzmjGo
HhGLevDDAHJAJW/yEEZWdBGF18PiEnCkbRt2AO68P59g+wtFF8jwZLDhQkAiC+NnnsKW8+OeiFvm
ftyy4GBigUUGb2awy/pTBiUBMy2ZUEF0XBOpTECQzAEhd0JWZ+Mqay7dM6goI1goBpEGORWbOIPW
5/NlRSovq64SwT3eLD1QHH4atRgmBSbEhrvQOOqEyV3BmJGn4CSh0mQh5Mpz6Y5Q6MKiEuwe24AR
waCHRXgJDBPPEiuEoMMPeIZcOcIaW0cUo7hdcAwJg5ox6jk3SI+0z6RnhJxmmpotaQRX2Lam0c2N
SSoTJvTA2okJioJDj1DYNNnmPPSpXM+fkF0WwngsDsOcYxNCMNMSAfIViyJQsXYjpzWFS1LW4bi9
CZCLEykKv/15FV2L5uWVMivuwlPgvq6DpWbneRarL1o3DqxNm3Tc+HQqQQJDk41Z+DZLqbt8QrgA
P9CRA3wA+jdePk2ACHOEcSxM1YfI70yLxDzT0WFhAEZEC9vW8wFmuJqLiHIw3GgbpI8egNXgyRgO
Q1aH8zBFFmYZ80qSmDypg8mSCYMF+SL0cExrxTJKRBkR5E/Rg3w3VTO4OyLxR8mI/DawHD0YIFMO
9x/TUdhmFg9jkfvnJbEdtwgTEfZMo5c+J0WZHt2ZocKwLECBf9Z6Xw/MFT9q7McVIK43oteRRb4p
Q6excc65d/N20YJUdQg5tD3jF2iFKL6iOguxZ4j7pwSZEBWoWYjp+fb9ukiDqTJELVna1Jse81dz
V7CYJgrLTpipMDfGgOE6nepR9hWM0Gw6/yZ3mxN1oVrhNOsnMg1PGq3QhRoJgs/TLyI/q2WhDItH
QHVOd41hSLzQTdxJkEYPseqxZIySVhz1wdFAI12kVE7J6Do3tDjbseAG7BirfILBEonj4/UV5P4l
gV9Fx6kJ1qKxDLluSZweiVv1jKuCRgK0+fx6eIGEjUYcCyNlQqFBJBckBNiKeJqRSRuTrH75JpcT
lozMhPeQIQeReEyUuXM5YO4WWzsKdm7dfwUtJ1QNl3nYrNyURb8MS7oyugilu/QCIQXqELZy7XFV
B7GANmUmokJz1ngqUHCpFvXGMQHal4WRBFB8FUobG/NZw1V1vwYNjtelAYIZXYSCUSwVcFgHCCf+
Iof+SkYoxOu+OEJJqkmjx1z4peNWyY/LdDw4mKhQ/xyMYnkV3i4uI7v5dVeGItvaL0/zBlR9EQzR
ejtyA2J9qRimZnE53BPmlCMQY13TSynYVBiv1nNEZle4saz5W0UfmnleT2AQwfMKSiLjeYGZY1kL
CNYJnZ8n051ICoiWIdyzUA9+uEN5CgO2CGC6LkRRyOJ0VN2zJ5fglg9itNmUuS3zD2SNWQVJl/mB
NrJdxuuRCJ/SJ1DV4cgl1T9CAkggi2GwQhcsfI4WCWFYXh7lXG96IUD6CCrXElakiptqtp/sZGA/
f6P284/TdfxPSj7sCuHUnMkEYzBt+bX7mQv307c1PO40ptMTbhcFW1sPHlNziJa58cvwJoYtahYD
YS7hM22EUloPOUViKeS9CI8JP0NqJNUzmjRv7YOPPIE1QJGmoIqqWoRlk55UN0rECJryqo0V5zPT
CzHiJoTboZdFyB0yY4SdzPxYktaoX0sxVuyJUQ9sXXSDRow91xhhc856u25AqHuJQK7KxJ3VLVxE
QgTc8YohvdSC29JJFPBMgfMa9K5ypNTzlTa/68MyOuL06iaiJwTIqSdzOksJCQZAhcRPy9OS8Sa3
pDh7D5FZbuxJ9vL1y8XQoPqvUjkHJyfEMFbJeekoi69rDoSEWBECxG7aMMhQ96KUn52HplVu2YCx
3uv4A+SwAFioQu5PnldFKZTx9iG9xp/OVdcj41sUnk/tW8ddOqH9xAKJiURsL3I6xDsl5KzLkLFb
8kgOpxGyBb1fDl5sJywl3OsQh0owL31Syu8m9ZOivLQP6yjDsNRScCryUIZMBvoLArX3RtNw5mdn
1dAsCResDBRB+NPCjt/aLpBLzmpOIFhvIw9KfoouT120IQfOZiMTiSHfeuAJX8N6JOjZ8nkTnu0/
QbMwIAQLuWioyfh7NdTvcAP/qsnXfxIrf6oulL3uijoTBEUX8vFwEe9YfihL9IL7iM7B11FfuXAq
Z+y0jJcu4KtizmCRTPEu7N8hkcRLIsHOXgWzVH4N+Eqwd5sQesOhmDGdLwCYy1AlgxVMx+X8KiiQ
oBsfMQYIjCKISLdZkEFraiuhjVWi5NC38SpQpbD6KUCTNZF4XpJLsmQ49t7bUz9eJli4ZcjC1R2n
vl5VybzR3if+9Ap8ky5E0QXxNCclVs8kTVkNVSLwwQwBBnd82ux00LR5FnVOL38bP9+EuFbeBm2Y
X4VvrIRHVofiTdcRusp9H7/q/1YVR6lhaD0UwLrPaEp5LyAR0KpDjK6eh/i4Tkcwx5PR58rn93ZA
OucaJaN8dTpKR2Qa+HfCuvJg7wq5AmTShcFJt6PevC7bm0RzOSA6bxoXKaCRhfw4qVpZEKpZ6Ilu
nUoh9JPncbhhgs+VNwlxHLpOmZyW4Y3YdUQqFtIsVShqja9agg/mnhaou20M8DQ/sL9PopJ2U17X
bx1rjePf9jMTAp88/o3aTm8s3eA3sQS7DGG3fACMgIEMdgPQhhD14UNSY/1HmWcr94o8O1fkeZmu
/wOX4y/jcpQCWqboYsORZo3iLxEtV4yEoY+zEGuN9Ptlvvwl2seYlEkfCJGhLYKFClB5atAcSUhy
zi+RK89FVb1waKwOoyQyXk0eQhFu33UuvOtNJLEWii8h/L6OlAynkBGZCEj+Oq2p0vomaPQak3lQ
fxADC2E6uI91VcpMrRPIE+ZxNSYGJKSh83CyV0S9gUD6aWTScsTtpqyGlHIqNl0QmkCFjUjGzEJq
zPLwB0A1+SfdGEmKBOZ1kMzARL0T4NuyD/nymhJsvQw2dUnlnIY7QlNyvs/L9AsU6p5B1QlOIM+R
El9RLRn8zsJ6+TzYviJxfFbOWugS9BAglU/hpV3xkaoN4pG9MnSbH8ZtEBkFecEu51f6YrRqZ6Qq
i3d/4aVWC1oSv6PYn+DL+K5771clAbRbSTSwk9SAr0lq7rwKWSe7Ysd5m4WCYL49uH6bbmQOAjhI
MAmZddHZfLZWipgGOch5kCKrY4zl+D9HY0Of6dsigIAa1qiR8Oulc6It8Pb0qQTwdDykyK5YEypX
txSooEhqr4LvUGORYPAG79PFlRLDv/z6IleGEMVjyLwf2V9izOCzOjobjY/qEkOZqqbhsqq2LoPO
b7F9lCzpqgnlurG4m/7nWOatqQlNPP80Eqe8iGZjTWqYnU3jJQnRTDbWlJjqd8SKznVBC5o7i9CZ
sG6yEF2ioMPwRwTcWRO6DvjR33W25e/6JcQH4X3My4iYYFsvDFT4iMr2eTbC1vShetfEQ0nuTxsC
VJuOLQCVUI9GosimqTWBKg0aRAvA67wT914HV0ljnbcUymJfUBN8sGevXwulAL3ZkWEgnFsewnrS
EGniGJpMHuontevWNJXPQcrPCOSGUFVFW9qFuEPpe70bVpYLs/D7GXsHQxIH6udsxxGJer9mzbUQ
na2lK2+5aU0UNdLhcR0/bhSexC5wyyh1RyuCtufwy6cOv5yR6ANS6seZElMCL07ZC0m2SIGbhKfi
DWFwG5pNLDedJPWBNFWoSQpVXf7HsghxznwbBOC4C+V8X4YPYRlFqFLPSp2d6qzPBTfBcxC+g+F+
VA6B6cGTcAyYY4bPR++yCcUdz8oKSJKpVZyYmGgdO1tu65Xa6pDckQXUBC8+2G/Wi6rOr6+mXwFP
pIOTqrt+j0KwP2dmAuIIq/8jGGx0Z4UIWBN8UPfh5QUOgu4LBasE0FHQIdxwj8zzH2dNlijyZOd1
HsLChUeLF3jQUBvfpgoEQRKJomLjgugxkBXRkD9StNIw2AvRxuw59/BUTcPKq1NFapVXpcloBzZs
//vyBDnHydWlyxOw1mGpgC5vr5k5srxniuG9ffCqfCOheVkAOLfI9i8HLGpGW8W6JD4Bb0cUrhjH
+YgDcDc9AkufwJRWl8hBlUGYgBjLEfgXWXsnVjiRZkmzzcUgSid4JZWQGN/T9qjIPCyMI5ga4Nfx
i+ecKVqT9B60S0sSU38Vd+2YR9uYNyYNL3cxoCEjxhGCQ64DpoF2TMzZvizFJU3NjCkWPFaMx9x7
tTopGRhPoMlh5dRcs+6ZpTDD5yLI5H0X6pbrVuiMabvi4txSbbQ2ifeSNXVA1AsmFTCwIiuaKkwc
Yc0+Q+NyVP9230Hm0jcRtu/LeH+fuQV2H6Wem30XEjSOr29RlzedEmqKIgT6iMOtBKs0C430q/Ln
UtGAD4fQEifogMzXywypC4l8vSo2tSgkVUzkhDcLEJLwdQghj9VU1NUM/rQeXIe66QUxEvT3QqOz
LNSXXo+m+VnE+DXxKHT+E235KGAQ66BtgrWra0JFhXoYSOTDl7+fU0zWtDA2luvMxaZkxkrNqfaK
fLW5rMfRdv7Oofoq1NReD6V3CKJgu8+uCNEAhKe2Z8ec4w0yUpMC4HBDkhWJ9ooFI4BxuwxMaN9N
6N2uY0mMt+uUFoyWXtJU+hBLnh6AhAQCvYeTsiClmHEf7uegHwg93S9scufsC8hn15lhHCHfk5Iz
iWrCyqNaQ7Oi0R2NJCh0GUWq0q++ztd76qfrqok3alT2oJRRKctCILFmPT6vs5iurQT9/X1aHwP0
zH1ZhC7HdRVstMo7FzBJasoE10PldyyWmezK0DQjEVmdHZM6SPXBFNJz9W8K6VLmmy6iYZcPYjXf
dnt+XDnVmPBi4dSTaWS27siEchfQZZbJ8JGo4Iss6MZctEVIUseqbTnbXnGUqoNS2PIM09NNG4mC
61IUYYeWCiSV5XsYr8dZrsjgfdRdHjJY93mQeAL9EsHC9EATGpcwQDl1LvTh6NjhGi6yI9TdQXBW
dLFEJtqUyp+aznvqQRren4U3m3LNDKgM+jy+3sVOQATB6vwGbU8N/WzDerGvSVX45V469hmrgxfq
N7y6sdaRyTszdFiW+UcipFIVQWR9RAxdZwN8EORQGQz4mfODM0O/QEqckZPS+k35trxYaccib0NV
MmIxcy7UZGUh2BvM5wAF3jodhJ9iT9Ttf/lyR160B1gLOALeeW1KDPYbXxtB97Y/K/jNzLRHVgVT
iv+urs1xXhbs6RJcxdPfsiodwf7jPeSoHpynDTBwdITWN7uXwLr0PdVY2735wnDMKEThVti+hfvO
M8mpVHmd2HpkKQpF+L4w5y4wZ+JZO89EJYZ/8vj9bX8ImTen2jbDi4Rr4gE6GqUKsbbTrNbHm7oy
ZORMx29G92JvyDRldr5hrKkduuSJN0OfWoI4owylpmLiuRDEM9PsRERV+OwiEjFMxXIUaEVv2HbR
MzHGE9aXW8CGbLk0LFbabbqWgiU3HSdLhHOeJPhiyUMtkKDJu9xBooUcRRWyVi5Kqd8JhoKdxbfE
BCnSE/RuWWe91ka1EIpJ2CVoYaK7XiGfGDyGJaascUTew9EFeobTd7j1pyhKmvzCLnTp4UoCLxzV
yf7jMS4CuxNvl9naMsQ37nyAq7selF/44wfFtx7LGU1GCQySlSGcDO7UPzcwFxcOp4ADUzuz1IqZ
SmIDwIqxdmQ9ThM7TGGFrb9zhX9wEmtbxRuJdlanhK9lSqbQZDK/TUQb3e49S2MijwF1Q6PZwsqD
dSeEYXN/kqGdH84/hs/18Li/HjphuZumtd3zSMLHnfeGu9iN33UJCp+wLQ8JBGFHQrik2FU8nCFd
GzEfaTaNt7IssjJhAJ9RrcxjBy8sqfKxaJWBzvhRf8Hx3eil5oudhAl020rliF82zBsOtHDBZTH9
I/hVdbCTmiHaFyyHYJ2SqT5MdmfnRXQuVhvExOQCJiaLl8GjU3iB1ke/SA3PqpDXvIE0QBHuf4EN
kiiqzOtQW7DpelxwV4bzPvh7yWvAHIzKxlv2tV8r8j5Qwh7A4pozQ1Phx/jybSI0+SQYbG2zNfdy
Dkfi/TIExFAZunoe4R6E/+OhcbIdu1Alh/MsAPSHW2dYGIVKjCJE1KFZn7SXJbZfbH1rut1ZtyaU
rbnrCS+meiLV+jEvJ7m3cNkGyfpCYOpSyMj2oTi3KHQ6Qej0QrzZkVMKAesiysePLl+67KYs/QZi
2i/dhLktomaljpLgGQnqog1V1GsGdprdeE2Eo1nctjEU0M8hHJ1EP0lwprKKUBxRXkLfH3j0rtPH
ixC8LeOdJp4Cr+sDK7leH2dDHpdqPsdJH9pNGydixcdONKZhu3Dd6zCtAQxEyDIc6b48rsdBTDHw
4wyEZtU9xTshetiNXyDv3dS9lUcCQKzwTYHea6I7XAGf9DIeruMqwggYC2LDgHQQFYU9B80nAFPZ
JBoIGja1xEYjq+MsGGLXKgEVwVc4WDfinKy3H+P4Df/n8Id9fcZQORl7NNMR8SrSGgyGFUYp7Cis
5fB2KnsacRU8XArFdjUUXadb6YnzMwhuHNBV8Al97xLLzd1yXc9pXO6OPnUFD/hlHjd/qOtgYiql
HQeSG22ebMGX2Ck3L5aAxKUladcLHn31LxQNsIMwvOAxbdjf1pY74BiJvmkFj85mOp5cpRrVJbbY
zYa1mtSz+XqNWsFD3mpMuJt5Vmg27GSzXQFgXYU6oT8TggjwoyCo+kbV91akQ1DbYAlcq2ypjVYW
TpJ78f3TdLlIamvTqyj/EiuhTIrcMLcNAI2ao0d0MIsmTmhhXA91ZgN0vBLdq7IMtmvVlBKJOCwj
vuXU415Z2ssCDEVJOpMs1OlOzLIJRG6cX5CxQ28JRgUHdsOYSsf9yzxfHDWswJRbB10eWo1L8ib4
qctasLmQ7CtVNZ1vyjw8Q+YNCpCQq0G3QBAsmcanQKk2Nio2LtNETsn2ZQxigiZpEaHQJ54ZwxBD
eQoBCMPrTeBv+pK7md4VIp4eNKAkPm02IlyHsu5ivr5cd1txrnLX19Pdg1dlM6M3JNzH3KfyzCJU
jYJ32G24GXpO3atEKjTA2EHd24REtFRilXNgbuPhe32iZIFKqPXLtj1L+OU8H78xYJdgBjchM/g0
vppuYCOwqfxHop6lKIM02Ns+UDuK0fvQOGIbdYQBC05akB5Q79Nl+EgGAIpakFuyX1DWfkCWFRa7
Gg4UETIEuasDaHffdtJBlh2d4OsQ2ILFebQLlIIUMuA8syk5jx9BmKVGyKToWYAFevK2fkcFOqjh
LATDwlwTe1rJCRHDJlSFaZHjSiajyFQ3HDpzCuZbEwDKaAFznc5a8FK0QKh3JjlT+8HanEtz3cPT
K+9Z3weZr4Qz+/IwpF+RgS8sxaBalOEEBk7O62rszVSYWxMiVdUD2sJT1PmyeM58QqUiTvEgxP+b
MMWrulOmWdJOw7sswrAwR1wG3GliWUPZ+OFsrTyNiSuTjRZVsCHKMhJQ84uY0VDgX9MFEQolWVuZ
szFobpoRIFRvjPbPr2UlKsLtbWIQFIl6mO8/6ydvEYL7wOS8SRFkcfLCqDssX1IXe16Qm+tAeyEY
tUF2S5Qq2CpFZMEtmIxCz4A39r0CDGbg1C9oeEId4krCS4Kk+DaKT75DXedQUAlDZGW0Iaph6DVw
nR/vEyRqr1hvZJHHqUwasw9sFNyhMfekbqsiVvOlpiU4ZFkwWxIsFtuDsCq4wGw9G+xL6ymzIkRA
R9dBhhgXnJ2MN7FI+TF0VEISJhOhr9z9IHGjfGKhCqHh+UCSORFidMGurEJTeoaXS8hw3ss8e86+
EjsP5F7U01OqRgoWFKy4gJHemdaUOo97n+6CU5b3wYphy0gwXe01Ag/N5y2w/1G8IFURNtXI2HsH
rwt6TFBQQZDlvRcZsSUZwcif/wIEfPUmQFJF/EmB66+NcoWRhXce1ru2IH8oBQumI1D3CVD7NlRb
kWIXMjdIWKtv3mpZsSWZrITrFpfLyrQesbdTgri93oTrWledzWrLqWBZmSJvC3SBVK8B+DwEUGzd
tlsstPb51LqUgEA6BGwNkGhtyeoYmXGsq8f39tlk9ZmgadqaDeLjhvUfCmFCQbhbcEJ7W5RuiuKq
eMoj0ZaYdQTHO9vxue3qDctKUD1IS7CA/TQelZkqlGiayDsBmMlQkwYUWxO39ba6XpeJv6u90dcq
dZnaEP4yPBlhIsGuxHoGOBv0+aD8WibhYlWeT3d7J3VWl4dqamkI8mox9CQylLE6Wmjj0HkVGGak
DaRF2J3OL2Lmd1BXAWh2xfmaaDDcFRxT2KeSValjK/3d7tnE9LMHTzJG7UQzYjUlmLxpc/+J7aiB
rbs6BJ0OSaPE/rDaXIeK0ePgNdSJKZ2nEo+NFQwz50Vfau0LpV5X9Xxc+l2PIg69q0KNefm7vs7G
kaC/ECbReRjQ3NM6vKYjsZYyVD5Pq/k2fqIVIrNGdqVfnd5SHtNZMq6AJ13pxTAXW1SJHUZmiS7r
YJQpzkIhFX90QcLpUD8EMKz2JKZqFsksXMvTl/Nw/Ubms1R/24UIKzZkSS5oLZWmFGUwUr1lmhY2
pwp2O8VwDhlUGNjZpY0rJgA7OxcKa0BMQD9v3hxSlhgVu5SscICmNAIjnqYB1F0UVi2P5CoqpoMw
wFAyDtxA3iEVGmu6UJObWJ8ahJ+9fOpYK4SZl+kk+ReZFzGvnlui2l6W+2qOiqwNNSPGKCL5GyZM
nezAEYyg/5jO56Tb1PDqzcbmLg21L3ZtZ+Y8xy95/5v4IddliHtUAArtHLeqQ/wS3sf7QFs0WuOT
kYZG2+s1VLxf/JYD0jfL9+5hFSKUFdFbe3ex/NIuJuidGQeYa8wkIaf2zjK4of4sEzAmGqcL2D3+
MDvQZnQkWYg/VjAy9y61CtWgbZf6a3m8na2GzZxCg+9TMHXuF93UGypvdmdE0HnN4by9DWU8+w0C
NMWjeGpRqG0JRbl8hpaeGIwQObxyxr8H109jv2Yg8wN2PyGgXAlsLa7cwG6QUBBU7w4xJ+pAKcLc
hkppTMpR7spRZCEgvQuNzY97gnWi95naC6GGwyBZQD3/LOF2g7hrj8rm4NSpcIGCTUK8yC0TLwJg
gDX65eAxOYAuxM19fIuOqSiL1gwI/0/MrTNiZHaDgpH3tA9KsXdOFwO3qNgGWpUrvKqjtGSAaoJK
0q/HZbpJbXjaYJGPH9PUPb40tGWFKikhxtkIrU+FbIZsZdasCwtLktiov+50JoHXC84tso0m8cZX
DFj3NtwOL483AfNY+9CbPF130wvCLwtlJHWBio73CymoNgQmQBmMZZmJkmlqYdj6rWafBI42IQQ2
wiwiseDq2+YfpkIjjcMue4cwhkheuyEf4A46NonSKU38O8t6FI/s0W848HnpvNlwh4wkNzqNWDP0
ODLrVF+btzB0FQKVpyYrjNc8jUeEGJQphka86XMvCr/jdGnY/ZY3JNETZFDJAJKIWm5MPMDBXxC6
pr2+b+Pnyzwswi0uKwG+hr26/iCRANdFkN9UcJ7U0xKq6fwusFpGIE7rfVAuTdoLzjkblqtcJB96
VzFnzQsEXUG9sUKU3BR0BG8b0LgGjMPL/4+2P22S5LjVBeFflNdiXz5KTeke2itKekmexcbsGi0q
M6oq1VmZqVy6q2Q2/30cgC/wSDg8ipr5cHTYTYanL3A4lgcPEK2rUsW68LJYSugJrXMYrmYQSrSf
zW0hio79YW2AhsWUme9P1iG2aIWhnu7Xj83hdEq3sWhYGwuGXiAkBSfOUUYYJTJMR6UJISJnsoZh
lXUNkvuCXzKXwJM/Q3x2fn42R6C4WqwRis2Tj8tlutSzMrEicvAdGxzfKY2CjSYyCJsdVW3CeMoc
GplGCWdB7ImASNP7AjV9JTeiMgr2AlXs21D86C/0VSmGpEFZ1hUjmXW73CDoKn7F3NSkEXWyti5L
bjEcLENgypN1AakXqeD7GTqsZQmgWKcapntxDj74F42bHbCP03fjcmlQRXk6z0dfmAkMTqm23rTa
INpI/9BWtmuLpR5yOKvtfDjAXcmUKvNqI17IGwwdgq5myJCW3P+292fU2tbI63Y6bBV43LiinQR/
umYgO1IeL1Y9CqV5VQgUgGsQiKoDhIxa2Go86eT+9ZKbxUilHCNijgyxK6QG3qHLekwWocd0Rylx
Q2SjKBtaVqNOY1RXdY+teRFU6a+OBOlk+M2VTWQ4nwdafZbWH8EO5K5nWEZZ1oZRnT4ifRSGzkHy
DULQ6acs6p1hLvu4F0wMHzuavzLD/otuDqrjuwKw6uPyJiuKHk3vOtJvOFUIKEMFXV9Lntw3MwYW
QRrb+vkAfXz3FhK2rpl2xwyh/lHSX41RHBgt9fxiy1sVj4uCfg8pe9K98roeJWePmh5iqce3F+Rp
VtzFUmqKbQNUJJbG/1CCUd1jbbxVt4R7nq5apanY/dkFK9RirHbZcmrINyZSkmi1VGeoVqts7sfr
/Xw+XfQWBI3UUFoNUChQPZ6UjokAKTxwPKH8PRlp/KoEJXkrKgToRd5IaAmkuCSDUCHiW28yCQxk
v3oqqqtErjccyb926GGorjANJWLglj07M/NhbVgwJMEGWZks6apaspz+rZ6krjmG58xvo21yWcr0
93UhtR/k31OOThmhlJAv8UGBhfOmVXXRWhbwuzF15HeX31PG6mN/rgtjrXJNu4ploMbFACszoF3V
xr0Ia1Hw1rBXkAiOEglfvD8wqRU7Lfqn7JqqCcSuKh+S2dSGwKiZK36R0loIEHdBzYZVK6QwIfTB
4D9wd88Vx21ejGNHLUzcnzauO1p6QMdC3USh2TACOJA7JK69vyWQMzRO48fBoGK5GCejOmmMMZ5L
vRxjulz1xYTdYZypYQCFzoa+D8cRdDd+TrXoF0TJzLtU9pEGKeNV9A87CozFcDDaIF0YJCSOFoPk
D6WNDsX1NQkLQkr3zHqGcCrMAGCD5I+lCNMIGRIcAdt25QbwpTUx3CHshu2kdlXcYZpIFcaxz5+N
2Jz3HFJ12ULoBQ13+8+oVTRHC8Yv+NEzFg6H0+KtOS6z0Xq39FD9EA818qFoTs8XpX6H5hMuJZqw
3eMgbpHpQdj5s7RZNIhtblG9J0cpi3C1mFH/vD+Y1/6a9qJxBl24DBWS9nWFMAeo3d5c78/P+3dj
7VncWXrUsqziy9EFVuYNmGXKOfd1LNDV43SgYAksYAeAu6SHK6sgNmi5dNHevCL0Ohljox1iu4uW
cCscNbg82+n4bVKmUobDjgJGigz74FYyx0l71sd3eBAmeNmyDGepSFPZSoO5Hdsfv6WC9rRbA1tk
+bBImsz5mN8tppeop6hlvbJ8MDTefnvCzrofG9QzyrTK6KJVXfrKb8r/1b4r957JZwA+YrrM8v9l
51Irmiy69NA2eLrsMSqpHVkxxM9iIwqocknYXqO4d2NegjZPp0SQm8SI6cfQt96J0dvpcn49HU4v
H8o+sceRyLAEXWAxR7ZaYTocPqie5x+aaMX2VDVIwx6obYy6bwWTBcS1tMXyRlPKmP4CmiOb47xq
z0o/Ss/xo9DnZCycKKPi5Cu0aVVh4zRRK4YuVs/DYsHTNcelQstk1lMowI0mGFIsuvJjhhh2YatE
4a8USWUKnhfBJU6R7qayQ0HV8DrEx/cUDcRVrylXhbK8XpFkDe6WbXcETefhgjIKS0WO29i2L3O3
X7NGyk6yac1/hXWEpwt0tdOl13eBayJ40vIJUdbDjgAzU10vyRc3PDfzO7ZjSKXTSdQ6SWpfgKXG
czVfzV0CyKHxua+p2ku6Ao3gEOVeAdUMZPbF4IOqSbM7Xr+y6CJ+rvrF5WC8Hlo7JboblT4WmDqn
ZyVsSqMw8Qjx2zCKN5rO8xau1k5JyNKAbazUxsWA2SvfRMuqPqduK03dBt3E+U35yFhWBNdTBxTS
WS5EpMtdC2WoPrY5YjMR4KU07JPxGqAmdr4aj1p3qbqWPfj4P2nTSDWHmIPPGgbxUVao3YJFPHhl
AR9GQ9bRGFU8lf7xOSetAcox96ZXUdyiii0qQhUp6qZaOHrtqLkxuornRn6Bln7ak8kqhZ4dV+2t
1938bQ9OJ6jTzbMxzU8W2KZsUBNvdqM943ldJQZGzrtnZwegolceMbbhiJpvet3OXLPzBRsUhTJt
XlzvFzyAebfOyFj4NWNsr1sGduUUmZGCumGMR7gAT96cguDTEOzZRjtz6BNP2Gw2/wzwGPw75QyH
yAxO7hV1Vli3T2W0T7Wto8NU7vV0v2wpGcX+DM/j9Xa5b1PmAOS2irGVqGT4MCG/CDlqoN+8KsM1
yxwt5u2R0hUSAPhR+KOvZAfnIgUaLZ31jwYpVyJsIJtGhao/gFWnx2IAVOZIs5EckYUyRADwshgs
GwJS4mdIAyrRPBipZCTJVFHmOiuGsZ4JXKtv0BjGiTxCvkH3pzS3DA0SsM8sA8MPKwHFpzMa46+7
5dc+OarMIICNg/vIJ+BgiivGGgIlN2rlITmYvqye7WygMA3DUDXL6/7l9ZCkA6XFBbZ3CJwND1KT
ERZnLtItwP8pl0MYS0eZQDihCscauswtcqkiYMHJ8TzST4QpssAy+wEMIqAFimi6+d0olKu66rFk
95WFL9mgOblmkmBVHMbOiP3SZSbxU6OO9kdoksaS3illV7UdoyMCFLoVMeiajvheXCZQsx2gFC3H
MVxxNmkY2pa4GTk1m3YkCDOY8GDkgPuzsnGMGbeR8B6XebKtu8Fpt71+/IFoyw44FqwwtDVmZlb3
sy+Q/ud9vmtTKqVWiG77L/eD9m297P5LG//D3376EYx0xEzZAvB5us0/ZDeetaABk8kWObAabxjG
ciD89RdlZuExheJJizSJtmSzu1M3aDf4bqZHWqkSqyICBFv5Q60jr1/NYPiJzbht4O+Sye2BA4sX
YeTzhAimXYZVZuAQ2coP4X4+DLW/7JVBFo0Gi2gQWMPGmh9qsn5gSGTmqD5Oxrgp6jCFBJBnazli
MRnWl0DYRVvZIDS5tQ0BAK8FERo6sPBnYwF+3wBA4Xqb3s5p79ez7DURgG05ku8ie5y+7V+QLP37
/qi5ab7irVn2MPADn57+Aer/ZavMjmU7fFvUwDdKKtZ6Q7CLd4Sse57QBJkZGhMsX8iSF5fbwX+c
jLSWfd1L6U77oW9Yb6vypvQThzOpWTCOwK32lmNR4O4yfafe0YhVtkDa8/59PkBePD1HlkthCfU3
8+HOLZGIOO3OKcuteglzEe/79XxA/vtkQS/tejhQT9oTj6NRXuIQLVsXL+yIY9sH8LlPtm1UejC2
MhaBi4aKppceqRDBGBgJ2Tj31Q5FhdN4hB7yomx+ydA8AOcpCmHbXi4nSB+lcUSlJ+2Ik2vxtqmh
gLJjoQDsL1Q9DqHNgIfnA7IwXkgG52GWMUYay1H34CA/4xg/73cvszKPnoXVeW4qrUeUNfEkKG9A
gsATfHYAcQnlIukmFXTO7ePVIPFx5Mrm8UAfkBBGFlGf6gaBYzL4QkNdkkphqZDOO8zv1IMuvdKm
T58ebfwPp5t5GjStywPMxVIGpZ2vlJ1fNRaYIKFWUT3JQUoeLbZqf9keFP3WiImVR9WkKJJqkGLw
0RCn+80mLK6vp8sNcPfp8Vich1U0UbeIR/m0Yyt3uIiyPc3Ds9koz+YoQc0WO/y6PyiraVhovfMe
knroyomPj8jK6Mr5p5zUq3LRWCYeszpDK9wOMAe02zEWQiYtOnnj42JJ17qcsjkt9r7havtSNFUu
oDKzlkpTsSROhaXK4mhk3GbtnkG2ex5NFM00CRcO8tVD/bjtxnQ1Skm5+CyH/2jNTWZJ02E/6Y9S
UUnpLT6NHykd9QUY8hUJGKXXJBIBgnmFaljl5g+xgqxTIjkoE2okM1nY31rZX81aRvAAvWiY+38y
b8jpbbPbP2OY/UY9BRQpWgCiqgeFVCsKaYidlNKVhh/cC5RW1D27Dcwqtpw2RvTPrxM15VF+PwyB
Umi2KmXLvtkCl0syJkivB3uAqFp4SL4f60x2lk8Z/CrTboRyVYf4bZRUt7WbksUKZAE2ijxJRkSr
PAF9lBv1JfWR9OVlgVv/Sdv6Mr096eZ1zd+jkXmBTqqcUkozDtB0xpQtabPOr9P+wgd0qls5PY6E
RVepsv0XMcy3zkvqm1p44aIn13Y0PJxOF3U+PHWLaIwhqd4UG3KRVysehvjlZJS2pkIYBo+lu7j+
URwR5voziOpjHAHM6vx7ysAfvEPJcrgrLCn/1rM0KiJ8ItUUqf5O2d9g0ZjZyWGSnMXJgkB2Jp3w
KqpQ+bIrOwnITZLnLpe/FPnbwCHQTR2gdq7LZyTNyvkzgw/+L/m6KhqsHyV0R6yaUdMrQ7A3dPRv
qGwD58WwV18gST8rtgOD0iwvqGujdrm/nbOvT8e2ugxw/JQbpFh6Ya/AoLb2dPzqZ57Uvg53C2MR
fSHb0Ts8/PyOcxjwgJxIqQuCLIapWje6KBzQikzSbUIpKlZ5sSgYa1OhAsUqH2LDLtKN0RiK9DCA
3UOgx5nlRvdo0xiHtAHshPn1js2z1De5a2vFtF9E8ZQXqy1XeAh3NSDAFAZOqm0Vzxc9Q0URcnFp
H5Qz2Yl4KxT55YY09sQSwrCH0/FFD3QUIszN3czT8zOCDLXyZ7qcrRgvYTLzh8PhF9Sr5h++IA5Y
0Tt9nY4wR2KsqHgO6wyQJj7G/0bB0eRmXBG9Q2tpVMZgwZdQjR/JDQ/B+CC3pf0AphvCWSSbxJBM
cZu8Cp2acj5M6BB4UBxGXtJVsmaYiYCt+yE/9uWgGMm1lPTim/w3HE0NThdpr90HyanFgvJsFmnl
6WKhIfmovZsMDpfSN4jouMy7u1ppWLoa8cXKXMe6P7JdUmSjUEL35DtkN4chSFnOUxJjc/az8/42
LydwcoE89fiiim8wNVtihi1SZp0SC2S1nT42GU8uOKm07kJ7xpox7WlE179Xrn/9aMwv1CuQiOWc
05qjW1EVJXWRZh5EZdhVIQYTjjZt4m+v8q4G3UacXUIMj+we7e5Wyt1dF19nkeRBU9Oa1TPm4n72
udDMni4pfvbSI5hCuexjtI5mlZZVNGsjae14Z4E1x0YSIWSm7LGUw7DZ+vL8vjrK8uDpjOlwuGL+
MHsMVVNvJW+/22+KMv2mt0suhF5M7gFmF6aiKPlmyNk81kjRXP1OScc5HwTR6x8+cLgie9Un5XAR
QMhHNBiwG428Ohls9ZumRutaiRWDnpH63XFMxoE25dUIdj3h0QZLdg5VMacjiygg+7QeVijzeA3K
0eS0UdtLBg2PbrVKsK+QTN/onaVN94VnDBmh2QA1M0MH7BvNF3hEJiBnZj4+BspNrGXcvhDtVjRV
rPhoat8vJ+Bw4l2Sv7/ORz+5KxJlalZL3zANiLRh7ZAyKxQ3gNWotEsEBs1rf3ydL1q0qKgVj/jZ
6GDl53m0NEimLTXkMqHsQxJCFGkqLei78ACa1BuraDteDzUuwALWS7xsr2rWsYlZeqR4AFWwLfAf
itVfZW118/ResUwHtlw5pygzns4cKk7rkuKmTQejFZ3NhB4Re92QQC2tSYgyegAs5e8SFp4CYSja
Nao1r2racA+b1oE6HyLSn0SKMX1LQNEyBfHyKlfZrDIyklolXKXYoq3MpmNWRRhG/AiLBk/PG9/9
AXoBJ1GhfVcv+UcalrcF1tureXdByOlv9KLZvhvFgjEgXwKtvN1rEMKqb6slvwftOqCqjPu4w/eC
IiDpQZpejvBQM00jSuaoEAW6iKkoI9ZcTTpfGxeFW0yGso3M6Pvdikrb2vIUQad2GJkpcWMCw/FW
Pn05PgkDb19xBavOEZpMB+tmyq9vwxqiY3bQGiyEmDe38Wqe2ZsWejK7xjEpXbARGaEytcFTxOmh
prRK7Nd52u00SqueQ11D0sqmcHPPgZkJk0zewpbECUubrdueuSFNXOFfsS25nL5fAZAEZ5UeIKrZ
bULImW3rCrKNnifreZ0Gmwq/97mTYmkvmKBzu/CAzljmeXEl9yGiSWorx83GwSGMkZzuH1Q92kIo
5exFmjBqkr6Z3zL+hFkcS3hSu/uKTcGSoSGx6CcucCFF2JlSserEMimA/6TMkCVEwFOw8/NxVuKN
e9vvdrbToha2N+sV4LPRlTPO5h05Xm/p5mI0r275jBb23tErdT1PRNbOInDucVYkomsk8hO7ecB4
nFHCLAdATrEtk7G/7FDBsGtWWlecQcd94jpEvQ7TBxBPmAd5vq55kttRRmNcZuznsvNVXEBorCVH
zZRKaZ+s4NuU717xwIwo9DILFPII+gw9NK5TaRz6rpUBikELTNvt/e1+wLZSt9PG7JrG4dZzjrrQ
NxEMBTxEcxlphE/ZfUbXdEyPAbd2xR8tcNazLw3PUvGlwk7vXD2/SrlKwzSSgiAKyhUPVsNlHIEI
xYNhx1/Oze604j73EqrWGwS6XDejbGoCb7ztsmCvilUv07eT8diQQM3VbCujlw+osVArT8YQ9RDY
7b/ZhV+Iat1XuaOgpKs18SirUPCK1IEWwne6X+f7GUNACMZIN7LAOvK2k/o2QS8MasSA83qa8Vjs
XyaiZ/g0sgp8DDn2tv3sEVsKHbE9cJ9eUxc+Rxz4GFgGPKsAFEfwyshrenEF66AVSN5Ox/sRu4bY
aZ0v0CUgQUuP4wxxcytbIEN8kVTXbfshqHcJhyrZlCq/wt0MKmJnGxAvumukWyDQljdSOT59eoNk
oLpDoeaZdbZ0Jc84xt3YE3tES/9LPfkgjj6ke6J9ft5fQJN+T0XvidCA7XHjvXg7wmXegKukHFHP
JCcksfE2AD01v1Khd4JyLRppX8yunP9upGV6ofNRGmVSO4swChhZbcXXRJU+oXj4cLrO2GDk/gRs
RMk8DC23isXINc5AtsH4vqSnV3aSBrGXw9yKt7OytjbMAHwji5iKb3qj3PTFPbBAuxPywcJLOR8x
SZtRX13YYSxZj5hcXb/X7X2+Is3MTtnRkp04FMGV/sSxqwYIkN0Z33nSdvLDFcN/qAhCFQtCa6Xz
m2/GYDMArzPYH0aT3E53r351PhWS1z7SdFatfJ0/aAjsxDnv9vS2PR/m91TTRhyt7mLpt33AtkZP
Es04DIWF06e3NzNbjeiFN6CpMPhHz6Fl3KPpKTLKyCjQcKw6QdDKLj1CH7gm0CEh1bS7TC8v1KLG
qAgsuEvPomScHMxtQ4ot0rPGYrmnCS+M3dVIvRxBMRpL8IxttGgoRUADd0sLJlVrVwI0fsZ8pomA
qv6F/uJP+BcwrWRwhGSzjW6inZp/gywPAXVSMpbA8+mi3KI2HFcdqgGw/wixT9gnyQ5EVwsfuFpZ
+RAxovTjYvcBnWAMxldIVOg2Ux20DuvUfYae0q9gCZh/eAWrCbo7AXvGdlLNnYpRhoCY9byvrDnU
y82bdnqDXppceEHBibY8zkYlWllPNvchTdhJEmZ1oMUGvULHVd2cqMs+0qiuEJeOi7KfVqW4paFZ
rLfMw+vTMtKX3mN1wea29jDEGPQDLNuSsfWAOnGkSmGU+/n7dNld0ayzD7UyXhAIJFotrW/CxnNB
io1reWshi4q6YG9jWWGTycgOJqGfzsl+cPTAjpFBZJma3GxcW2zLvBPCq8YtO0zn65w554pRQQGe
dnD2lu1T9HR/wq6PilFcSBYXsmJN5lW47bfU5QxsGksvqWu4umxFX8QoM+t6YfjjMCuGWzmWMZ1T
y6xha+jvjTGaoKcgm5jxW9UYGXdt228/mLn8SCzHx2C6uSc8c7PqsDy4CjbRu3RuprMxXF6BmCNz
gEVsAtpA2/mEXXTcHVWaAbPvIThjOWhpOs/3I0nT7fTLTePPqkrOmhSexj/sdvj+/MWu629nohA6
AUWI0RT3C+Qr06M2jKgs0FzYG2lP8zXVRYvc4ybWptbkom5uKJBHY2q9bDdpI7VqmDdLuS7bBfj0
BsYkvYnGFjreToGnx3vJ1OA6S0FWlewqssq3h1dJOcpCeiCJjoh5GI7uhSixMrexZPebUQC5Psd0
BsG/yghrzTnFfEEeWtf7tzezhdhLbIXGrrlkMHZdY/fEU8tMqBpj8bBX/H49gx8PHDuKuV03QUU0
4H83Q8dvD5h1en/rktELhuRLwl6HRie6vR6mA/Ecx3wW3jDUnICgoT/jqOfpop4/c4GxTYV7xKz7
alsGHg57jZetqpj5je0RLWPQCZpHYQgfugkDA9r9uP/nfSYLbvNtPzmzB7uoYn/sjetEnLHyShYZ
az29FnUAcqNmjG3mnqLTYKuAj+idklGlfDxIL7dRNc+Xef6XpdRdS5dJ0spfNUT4WEIuele9iWL7
SuI/K72DSfO3kuJ2wTHl3V88Yz0zECmw4dqvpn+bGauMQZ3bzSCrK0xmpgxYPg7uX/RW2BdacTHY
BteIjRlTcvo8faWggqIfiiaSQEutu3x8/KMP/CP3w3TZGE1q5OB1f1beJOZyFN7lsJfSle2StW7+
tFW9tX6Q3CH7tQ+SUoYU75xi83bsnpc+IvUo5RDoOvq95KyHxNP+rqgk/h6H+oec+0ZLyMy/Yqym
EEvsXadcAmulOrOR+q3i0FElRSiUWFhfx4+jJzmEZID1stTQa/1AXJlSsbfLHbUg0XbS5QCL4Lh9
PWmRwrBCbOFUPYSJldktYieDgztghs1NRW1OT3e9jwPEdhwik2aXXRlhjMJa9pyWQV10WrTntm7q
KG7qxuEKZwdVJZDEQj9KM1P52SFQm9vhoTuGDRdTGwhVtzJyXFb2a2/zdEhh38nnLCSjOVYI/5i+
TWat+/PN8Qbqqr6MLfkqc2eN55ELuoRjBMt5rFPi/rqH2NjHht4lRVsH1QUPU1/4KeLM3l8vaIQo
M+Jc0cjH4yL9ePdXONPdKIXiCQIJ4WBvxyXpGUmaijhR1YQsiOMtNAJlcUYxesLS9h7B0QbnBtle
OaHvMdV7hAJ/QY4hFm2Lo5ZRRAscIDooxTmtuiJOD9RMENclKMq+jNi3rcshiAluj2rR1SxNhgy+
fWqsqzksgFfs/l+xY9lpDj4lYZxPsCAAPQf5I+Cbt7TwlKGm/vKZnOEo2V+2LTwmT44nc2ZnIyQ+
Mq28ncwMY/mCxQOopH158o7xLEVqx0Yy4TJMu10+P152VWyQ1IL/6tAiVBoy6YscpACr1xIZcayY
WsbDLIQ92lw/jrfpfUN/2KOnrrzKzHxjrtVy2273y/G/klS9tFWN5J0L4s1EWRHbWsqdLlbqH7IV
y+ylsKA1Fo1Zf994x/ZpUryosh8ljyde5u1EYZunw3T8qqyxkYTLNgU5XfaMWlq/iAsnTMJLDEoW
tY9l0vIRG58JCt22W7Cs8eBWpoRLloVnoSj79Tx9tfS+WqosbDJo4D6kWIwyNIpvf4AOzZCWwkaZ
yoUppYRsLN3mn58oKr/GFGlFLQ6hI8qVnSfQKDfdE49DLbbBxELVFcqJsbjTAJFXYVXIDB/gCkYk
LZpHWVonLQ0ARrqnWg6DJICwJ1mtzyKs4MFYigjn5GIHVNZaBO2JnTElbthKQaFaJ3sinD4kX8eO
X3owUC6TElHtxaA0QXX0Daka8dnw+RUbcdnnwFlDfAscUH96uZpTpr5Ym7DLSmCiihOq46MhpNv0
JZM4HMyapqR8b9OTEulZ4EMGNbR/phokxXuvYje1dbBLrPDFIlIbo8s5TSwOgOEVMZOCeGxngCpp
FJZ1Df0Z4wutZFGYewNZP2dx80uAzYkUSa9ksAUa/Obuk28emCq+Xwh78XbC5uwEBla8m4o5JwjS
siBeTMo7gVZuebDtIMTjK7VejJG42HEbLMloYRbtCCXksdYAKJSyYSxdUuMQcWo0q7iYzsMzE83V
UjFIivjVrQQdbqwa15RqTfSMJXsZw7A3LiEfYd4A5bHkUXYw4YZiGZYl6x5GyhklLH5tmXvKTwfz
/td7Wg/0UhRvDUZEUZPis2qMfSjAdVCwHASsKSVM2gugJg4fwU28rsLnVhXDfIFL3LYczXoz/pvy
cTFK+YcQNINM0TXZGJyiXUzKS++R005ECnwjqvMsPoGhchi4UZAR82Cjs/o7Y76j0OvpdIxeQHzS
9QY3FFXoJc/E5QvnjOLid6z17lasNhQcWtdKIOLHhLQin+ziQEjDgV98NyZrnGRwCMyERbexWkS6
W8UHXqyhljSnsgUyZOTRz9x7oO5ew6AWXYzvrmPQ72/7429rsL6t5NjbKdh2JqdMUoyFcRkaVkP6
urzKCqxvnX+uRmXTBymP7/zw/duLnZ8meezFA4916OPnSbdAq3GRH2mSwK/N02n3obyShZylWwhg
qzzdCZS5VSQQCIVAtDaLiqVbWLZ9zfulBDwZ7A6sW3uzgr8D/Z/wmiuG1aIvH93r9+vBSW/ySa4Z
1oNty9Io0+K/TE2zTdFgQIrKFzFceSi2v2FgImvuQxm9jG3/u1OVSgi7ZLhaXuY734TU/2YRHcsh
ySopXken/GeY5xfdWmKBMCyzcVEncxUh22icjBkaB0Dcfv9NyRYNoh0cIBIWY5KzN1kxA2vR4S8l
poUgLofvJCSHlLsZjhbM4GFFGkIxF0oJ6fD/TtRfA+aNcSzHAt6hNMDjncFYsV39MpEIFhlqC4yj
OSIDH5qhojTXz9RVHa3pCju0ccfANoqxf2YkR4zXRTnwhwGUSoOedagNXHj3/afWExr8wcVoAkSZ
uulALoTC1+vH7MKYrBP59/np5eDVyCeGG0PzR1ZtChb210+tNDRnZGDzxcmZR+wn23H4l6SzQZvP
Nq4JKC9icp6Otpj5M/NjzRsr31Tmd44VZIvF0MgM+4yIsl6UITYe1cqtG4ctLRhkFrrz+1Y4hg6j
iGwo+ZDTcf82fXrEsFjsxxXlllAtf2bFTGbrwMWCicbPDMO6Wxb+RXVWymcEopA6k8bxo5UjVZLS
8bXfn9vzvorbi/a8vudTs+qkyw3rYxR4n9dkQ5AJxrBFWHUG8F+5WNYdNrjD5nHdsGqolfMKfWtZ
Ycmnl9ez9re2WjjG9DpPDo2b6aBECvooZlEKDzh5PlRWrZlYrK10y1hnEZNyJBBHxlhkxh5Ln0bx
E7M9Zn1vioUmgq4XAdcoMq2YaGIQxkb+aX+s9YgwlEzgj2X5QWWNqaiKBjZpeNITNLstzTBG4g3d
OnZ0xBAyH27T5l/z5ZTbfJZdQITlEJu2WMwC7hA/DmXrKglWmsKoUu2s3ufezLCOIs+VSAAA/mcu
ZVcOktSHsFKphJVY4DVQN0tJUdh+Fn3VIupxHVvNavaNjP4nDjqTt6R45a2IOWQ4ZetRhGCGEncb
l3mLcln0jAaTkQkVXd7GCZmQsf2Cpgjlsm3MyR6jErhqI1hKIzIumJkZVfVVCVc3kicYzl4p7lyW
ZPb8nNScBytff5AaihOQN5bLdvRiWvJ1/3zbYO1ZqK2DawB/YxzJi1buXS9oLAYhSqUEqXhRe+M/
DzVsDqnKe7vfLrOWTmAJ09rHdwBHFbQa0J3kL3nDCyY924RxRqGjlYMKTq7khAhSLTxNgZ1wDcwo
LpcZtRWgryIGtg3/TlJCje4MMcq2jF9EgLZg2IzKv2YPfVCU+xjXEnc8D2zVDNDa5Ao7apZ4QvER
05u1YjCwwsDQC0dE4+1v5sSfleOo49jzGMWeoTA0Y5hRuGrBdFMtcDurdd0CJOPZ6mxpHIqsI1TV
2BwGiVaGGQlrVlWz+ioGPAg6U6lLZGwCDC0cn7BywMxmYvt5P++M3f0X5D368+nyH/vbr8YmU+Zf
r8TEumTOZatYIb2U48DCQAtIhet/m467CWKyG/o3eRgRV1cN/k8dpy5ypm81ssxO78HhNrMDpgSQ
RQEfHXBhqHPhOMaghEGMf7LxyU+K8xDniKvfBRzRSoSZcUAx48Hn1bHo0zGs6EYUq9jE1ICUNy2V
WbDrz+KhCxPl+jqpRbYVA/mDoTqMYmR4OmP9ZyYw3A6ytD44HYrdw9IDiJ5reZlGTirrVuSKiF3M
XGCY1fHBU97atxwI3T4TviVl0sUFQpaEyhXGo5+K6v500YgTxlrC7S2OGr7GYlb8B9iqu16Cysqj
WYNq0Pv7K2kXLIhVGkOQ2h8fUnS4X1eKn4OFbCwfc3ePEL8gQnlzILdNmyK2DSCNIaLT3s3AUIxA
D+DqQQZl9DapJUxoE/02vSssr/hKOJTmwHnyLGn0jJjXK/G74LuTHMcXtQ5RpOv5BLERyKWAQqC4
INzn9DguuzFEjE3Ae+XaRth3+OhD7jrjBu6ji7gMUUbsCHwRWGpyPc9bY4NuAXtcJ4dpnOk0IBE/
/I91h6HKIliRRNNmVY4yXlmyaXHWYBuZxY4pZHsA+y9MLznW4NToEGVFQ7z4N7+Bv9lDTY7VO9j5
wKvPUYBdHV4ak9/wKny330OyF0Xo2O6N4sN8fEmLbDmOYXYNulKWlAUX6LqC4RkkJ+g6IsAYIRgR
2Ig9/6baGAFn41KKQ9xFJQxlezAipP1D8TZptDqMFjQcehveeeB1ON+SlRsNYzkvhyWrLUooYEsO
3yCRDU5i4OjZlOkRizDBiCvb5jnwwr8rHMwk9+weBTdsO11nlAqUWGw66m8UOo4n6sMBlwp1e/pm
FRVjBOctBGxThemwtUg5fQObpmXL9TmFoB/N/920q+ShMUPUatoiQMwT/IIv4FvSlGsYZSgqxZLR
+YHtprRKR0lv2U5QwaerTCLNbt4nttEPZ4D7kzACcYfYAkt8o6x3fj+azy9XY1i+guRu/nnfX76m
l8g1dBN6zswH4u119xHQ34G62t51CyPYfRynN/PqWTRnektq8a36lxluZ17T1cIxtEE4UJNz3trL
HVrwho0NRebK5aqLSJdU0u33HLbG6tpvb8rdD7PjaLrrfN+dNnrZOrIwj01GsXkdaewi4v9U9FoV
P+v+SXGE7TrZd8MDpEMUW3rGNj1Ly4f+PL9vD/cdtELWy78ajt90SqljnZieN7ePsxE02rztwdiC
is6oopfY5psuL0/EH69c1SGeAfdy/3mfL8D+YiRyuqkQoIYXxQ1Rx0R+5693Y4i9IK/OtFf2pS26
WA6EXizPAA3KvGxjFQ9jt/dyNibJvPvNqIvb9Td9VU3DVhVq14MZB/i8vSVFfztd01vdlM1SKxYL
g9XD85+NUjns5/QOedLegXHb0gsb7j8vfvBRWiIQN2pnT20+CAGU/qWObSKj2v5uzgII6rd4tq72
F7rAgYX8vkkiqMlwZA9E1GIq3PRge7v40z3REJUuexNfVJvCg4QM0DGQPxT+uJmv2+lsNvhdzLxW
bdXFWfRxMZ6LrSgjsBRw4WUYEg+pL0oGyxl9ShMUZvKLACMZ/GNQFF16UiGfP3q8CCTCkr/Qx9ie
0X7Rpn8ipORDPxi+82/n20f6awaZGtge9Okv6ggDUy1P3suPUYPJMXq+j6VbZJP+IMA1ULOM5Hir
TlmrGKfMZsbYUl971IYxNCj6D5SdqodRtEX0/LpkLNPAaPSZPRnSaoo5YhiQqS0T/aIBa86ha5gR
iDSWo31+rzfXdUrx5VrJJeFP98V2LFLiGMywadn9a9NKpCwiD42uE2wbqGjU0GBiZd5Bh9jzLwZN
/ssvv2Av7x9m85RfrE7Wq3tpTr0QLHEtn+xbSJYH8fZTT+JNxh0q2oRPdQKVfvvImA1NU+feeidp
mhkfNqoZEQzqKLddYP2y89w3m6ti7FVNsfD+XXXrDK7+BcIIq23scowNGeu8GFWwOUwQl3o5ni7I
c4ouofLKjbFt1SQFwVyov1vKf1uLu3+DsMR0VKIATGmwDOWzMaygMP52Q56Um/4Sl+y2Ex8Ot9hR
VWPYH/rnJtlWqM8SMxNKb22LjonijPBBcGbdg2DBGSgyFc6O5aHixnSolbMRH9EVSWFG8BNmtfq2
1dgUGr0pRFhhS7wUvAovZj1KLgEsnERCu1EOibvQucsHKbILoer6bf8v+oMmz+ZasDsWUqdgChvn
5Pa5sCbzh22wpNccz8kI3wdUUZErflVcUB78QHugs279tEPHimQb/SmAwl8m1SV1rRzjuOSid5Tr
NYSdwaBpU0EdPUWtwKLN0QSBFGWDHd8tL5ISK+0k7cvdZHNf5ks28BeWtmhw6tuCOszAt7dEuy4U
uyLEihp8/XzDy4dAa2akko2E2ehqeFAA4HGNackaue2ATc16xj37m00A/YYnJ9cf0StexCZIH1ws
SqHMR9Rt19kYZzuWZQFkEiZi4b9Kn2E5CO86gilOUEvkainSr0vXcG3juAFvlzs2LKK2cRlTpWIv
HYKkbG3K9O7MLPC/8hkdX8NGklQW0ZkRssJ4m3CtPxSnX9qR4GibPbl8YLu8/buSLumlNzcSHzei
MhOmQwIA8TFD8ryfDzt4Y6nXTvqsuLZjhVd6RLxWIuIsbkTdoqy/QC1KSCtNT2Zg0PossRDa1Ckv
EH+EhxCn8BzZG+wNtCF0xkbBGJIC7bmc+uZCkEVbYU2XVbA0o7Yy5oahOsd/wuo6qEc060YsgdHI
+60S1Cj481OHdltboz7BHseP7B/MNJ8+6A1HcKzSqr0foi7yzoOw49wuE4Sn501oM5YeiXc1DnEn
PxTMJt+IuB/Gh664uP3zWeubQRNg3bd5HcFiLbYaOX2KNFjcGm3wAGutzXQ/hrakzAbzx4L8LIXS
+rof2Bpa1gePBtgfzZvwRv0irsTOIY7Sh01sArIhnsb1/gR4R9eUJLMdQxf1W7WZh5f59oUGTZOj
0b50QptUb9XNjmTWzTBJMUGD9Q+94cQ9UjeaNcUseT+++KQqZUdY698Q91kOUCgDVPFRF4/35QoK
bJ/oqkaDDNpe+BYElA1VVsPa0A6sEyBtpK3VsDLynj6YeE/LUZmMMpU6khVnDAMEFBG6Zjqny0v2
/o5Sw/ctk9Y/ny5/ogX+8eNHRUOyfvZV4R31yjqZ1/SHvOd8gLc+ymmug6vZkiESlTKlFVgeXh6n
j5aykFnCzNEbn9ndbtF+OT5pC3P1+ejMYKwLpQtNUn9UyljatwcMIPNn17+VXr3M0ENRCLJkO2SC
ktFOj2ni/kGYuZbRrlUnDWJ8T3NMYJTZ0axhQgdgu2bmToA19QUoXmPfyevtcvrwA+cuSRN1Qk8r
UkWNscamjxcN7NdfU+Ec+ryM3/v4xTze355wKqrGGFir3iowa0eq2F6NzdP9ZTM2XaNp9nbZ6XwI
RBKwHZXyrnSLx2lpAchCnXt9y8hIC6F2BLZlzCLWWldQQ/auurVRctAevGY3dmP8/NmrhRIMg+2P
d7WHcMm7PrsHNOra7NsRA2eF0n8bHaC65dnFMkrjQ7KTWjyYa3V6dn84BpyWpfW67L/tp7Rj0Hb1
EolWJqPIrZKv4AC5QFXPgpYelP0npecCbl/N85KY6Kmj3IexH0DedPhL08b4m+oxDaMBsymM2URh
WSuj/gQooeXdzyjPlN7wvmSrw/LNCPpH0V7vVICrbWzZb3O9y/hoA0+1BC/j09gqJbBZtUt/rbX8
mRcjfKTXFCwmC7YwQkMKqG4ox4xmOzqkx5N9QRSEFYubDJ6fKR8VHJJRQRb4IhS9r0iHtN+HeeLe
/mz+8ccfsom3qm6lyJWVncsMoCig/nhNerIExWFCTMiFVgr3Qpt6lD776PJwshL9raUbAhVsQrxw
elcuLEshUTcGm4myaTCL0Xl7gVoPrUwJ18zQPihwLkwDlPf2jkVGmAJa7IY4mhXlIahOU4sYFcUC
BGibxuEVVTjIGt7rL0pjyhAxiBefrwwplo45VZ0Epkmj5XxzoxRoTgHLMXzrsExKEQjVVt26XoMk
NLtEh3VKUDHdjvgTWzpLCTOSZvdqOErdI8Y40jvN8G4sQLG8akRsa/RCqoIK58eC+j4aDzDzIHOY
O8+AsFjOsSyGAI2kF3/zdLoRZNbod+eP6ijJmmeKQwAOspj3Myakfr5T665sKrsqhVQKdUtxdtMr
JC4UuNrQS0IojQHllBCRVyKTPI0SjEv31h+ni1Hcf9FwCg3bG39mVu4vd9/QLJMKqFnGAil+HmPW
xhEx6mw3Ye3L29P+iHg8ShPtXOINifoVk6KNA6kti0Hfppd1ad6+jNMirneKcDUzIdi25djHPrx4
Lscb5J54CW9UDXV5QVPuque1i7GXbuYnEHLr8XGlnChulETxGNtLnZjjUpAT7HHBRt61pdd5w/pr
ZPyfIBFrLBpYW1r0eJYLjYWqjIOJyBcDCRwt71wvF1QvE5KAmMCShExKsl9gGvpQUULk0Jc9qLF8
NUkpAUhfAswCY1Ybn9K5/PM+K/ZeKz5IITd12u0eYOwKEJRJfqg3+oy5/G7t5XT6smIJjpbuW2QY
hXYtU66io2X1WiwdBlWJMBeWEgV/fK+4NS0rZgqed8C/go2WNW+ZLc+cDUgDURaI5/fTkQ5KTYkw
M3P/aswS3k5fzWHkzK2CPyNBJRJGnKwuF4OaDwezvp3Drcngo0bOvklecaNoCOZPjJhioGn9RKJO
NdXJamp6rhupuivCF9k/IC4P4q5pS6mvZCA9G2yB8cglBrs+np61mOaXafuxcTA2Ek4F39/FIEEG
QiEnzj47+lz6ppFWt66SZDpu5+tNK6epe8mhM4JgLDnfTd2hpW1H6XSevWSuBRnDvvZUhdj1vBIR
TTmfk6RgFzzad8tUcKa+NVa/Qk8jDbfaidu3fA9LRdoZ6qtmTWc+GYAolQAEu5ZYEmC9B2c18dT6
Rmd4JsdVxKuTt29OwVifx/91/fYiO/h17BvGEBkUXr3Fc8Ow436UAOEEzmOGl+PFhJliCX6QrIGr
g3NlZbNpxTIpLAPN2JM1B84RaNY/+j9R92vjs/w99FtHA11txtFwuoYIlZKP9JRp/BeTJHR06+pB
3HWERtNHxR8jN8Ftld+yvmOjABerlpmwDJ5i/SkKQq8pQyrHgUctyHt0XQLO4R3Mll11LKabgBcz
2+tZewfHIBWsJcAnYFxJlilyh3rBpbW+NnSins5XHnEnAAlofOvU7NNNGBtOthfAgv3CZiLU0NNd
sZi4wse8mc1UZqW4TMvMUNayQrSZodm/RHDX5vdMKXnFHfuQuPKKNKN4uq59LIeimC5GJ7CeTYHB
dZLaAsqor/MHVjohKDst9xG+i8k984CM7EOGFbhV9mbLr2rpYj9ID6L18ymjPFFf7QuEv6CLGex4
pjykFpcZVXLB+T8ZW/qrgmrvl5UDS0arECRd6RKVYztKU3MuBr5DOTBjy8JLuGku8Y3vaRamRNWQ
tVQN6aK2rCINDxHGzRNBFEUVw6aHlZevUi5fk4CvQbEEXD3S1u4gFJFoJEg3JfCuRlVtX7nDkrg9
VWRDP1Q1Yh8UR1N622tZh4r7HGiQ++5v9j2bdv+Ytr4UKg7gVIp6Ed2PB8uVGOJezWXCkKJisQ6S
b7R8oOI8Sa0ATlk5TYXpgjqRbLlNL0ctTN/wEyUx6ZL+Y69Y1A2rAoMIk03OYj0DwJQ1kSgaETzt
IfipCjkFhs/pG3hmNoSGbHPyEIlOv9p9L8XfFHeBHutvyoprnvNFJuJ6VWV+pRTDlHFcoUyYLuRE
B8slY7HUUfCJ1Zew93p1LKsYxWjMQrlRrY0xiM4fqqUy8MhYgBFG/AE+6Z2sYlHs3EEqCfSpRscK
kKlOHHjhVQgaJK1TpQqGTwgeHNc+idLaVCv5bKUnk/gpWXqLXIzywYqx75Zix3Qyd8vSFVcUx8jx
2si7NfDUpXnalMQlDzRWGFiR47b0IitOWyupe6yueGTJeVfYNjo5Cc4uoTHEdoS6RQSchuqk+7cI
JZfyS3TQ8AcFg85ElKcbaAy3ochQJtLOEoWhZEOy4YiVzzOdHE8ucaham+XICrHwwlgfLoTCfFgg
U0HQ1nLSz/sGbmrWMtaT/F3HZbxGaWGaOq5/Qj0dqpiU2Fi9TGYN+aozBT3AVIz38Kkw1N5lhdVm
kO9wFGslkl4lXFsKUQ9nNqwr8atZMMg+2ZUQQYY6JWsd6jXHZb8QekvT5nBt+bqemqXNGCt/sFQh
mKrBfspeyirB9z/NwIzj4p1WiOajI4lZETurmA85+IdUqqDLlXazZFyD/YIsARRlZ9HQchzNSg10
7IFWwtHZkCddYePfeximHrdnKT5GVSuZp0rAlznIjO4ymh6SYx9psD1LJyt0PCxpEqp3IuvjfpzO
Zqka01PRShZRArqngPWYwYtYrJGFrrzFTK8qhTKR0nqrm0A9q1Fm7ZE+kzMuK554gYv4wFB2P1KZ
nubp9aUY849MPTDrwd/2Nl+2rIsjHBE21aw0mtdWbbbRq6kUo9kXfd7t7cOSm3q/dCCqWL8dzNhq
rJCH0FofZ2B0mEBOcr/s88SahcRUaHyC7bSb8QOmlpAd06k9/7f2P96k7TQELbcMas4NPmakocPJ
f2Txr1b+UsNKLFApdg8YBYwTyb+E/2rtLwUot8WZ9QTFVgrlFagHM36iV9QFpU5wUyzpM7bIm44Y
m5q0iFQtnG+kPF134mm3014JHiUIFGs2bPeLv3SAXP1Fyy22VQSkcqnm8GAhMxY+N5YyGqs8nZup
SHIhJRLAheHbr+QPik4GHkcZshwNWSkFyJAQzVnZUJFp9AdhxxRvm+W46JnvUna7A1m+p8zzcgGH
dAEVCjDhRfAkShQQcOEA2DJgQzFeAfo5irfDHUrMpHno9YLtV2H5HSWnPZ1bz4R4OaNfg5nXhiU+
IYoA1fOuuC6X7xwU/KfeZYYCErX0PZYXZGCZRROnWq2XregYxZrip8RTkiyGe5zfwTaAfkhHLX5b
yElYRnsc2S+n3U6p5ed3rwl3z2YTg4v6Oq3AhHVMWeE0LR/kREGW9WSLdSVmuZdmOrILKmzAdUy9
UP1u8lEFODJKnLcLfm07fp6foZRIHvKZ8CadCe9lpznDkKQglsSws+ev0KGtdR+jwao6bdwBxsKc
wZS36tgJIGCpGwUrnvNHZwzQYpBIn9ZknJUk8yBzgcWxkJj/TXnteklf+zo0z0qhe/ttHYMOIxJp
t28vl4nIbqha19W/K7snRpLctu1Y6se3s6UuH0TUARRiikbmHKxN8Iu4V+UKJ7UDKcdGsr95qRPR
30GJ3VmJCPeRN9sEaBvl9yjZFUUs6KjT+7dki/VItMrWKCFTnmJ5clxut+IxTxaRKEovpqaz1hYx
2qKjfN1e5vn4w3y+vf59vnyBxphHbcSaRSxGv5GUggj3NiceHWfPCsw0/LFeVcVXVxH4p4y8Aeg8
cdgbYXO1HbacWgbrjHIgNHIEttPZSCukus3Lb3xZ108rB84cpdtrnsQt2O1Evgo3a3iCIW/qivuR
R+HxkskAQSXRwjkZW5SM4hEc9vOKPEvVLCozG44y2J4uRyJH2X5FLJ7LTs6u9ZuCPSgkzZ5u4VEq
ULgmwnPZ+J8Yi4ZKVID4ZypjO4YWxI43wzI86eMU61oqGM+MhfCwZNE+jUQXZWQDr8bO2ACKmBUi
6y/PvmUT5px7lRu/SyexU5zEQfZylkE/iGf9jrQlaxzBuio9pIysOTgdIMOu+u0Fh9vUQRclZU2J
8tfd77IK+3QlLM+kN2EzCRsbOrLYZK0RaCWmXgoPKaYB9z4rveIpHbizPLKOCuQqp5xjlR2058Y5
x/Bwlls8ER3VVVdDkmd3Dy+yFcLjKVc5WMtNG2zN+xd0Sqk1A6/4VXDmQyy23ePlRB2UuZ48glDg
36xHBJUKIqiM+EodeQu0cvsrvFG25RkSlf28gvW3KZVQgHuOmT5RCuPYBcCkUD2mgjzz+7S9/Y7U
bCP5SfEFUy5VJaGF5dNY0ZCo5uBj6lXqkPW27c/99mqR+kopR8ntviLuIETGX6Z9kCgPUh2cogzL
QkpqiHXtmR5ZbDoNZqwZ8Z2KodKSyqXMMi73pFJi0gxpab3awYc0v84f1FwxY6cXYyXZOzLWZyXB
BQ+P8lg50Lu5tjkA2Pg2XTMtbHrmzAGYpHWsIt9+Ox/u19+O07ffnu4vTT/2pSKSw2MWP8AWVsSO
q45VObGgFTLFEQU4RkosXaElBafdytbzIqVTWUVsUVUhjk9FJcYWO110GpqhDTxP7KVcTA17SiPM
2BbwK/PrJBZCeX5Z5q+hDSQ52J+5k2bHmXKUibUSs+LDxFyahvDV6eHqmG3R4sBSw9mQjK6sadwy
phYTV4zuNZhFynJDVguw9lZzPMwPPPmPk8IuNbCUHyP6Sy3UOBjpoape4sqilLilI3FdpF3PY2Ww
Mj6Aaumef3rENqaNdEVp8dbzPJKy+2HTGN9MYtN+JuGoFKFg9JPM9olnZoP/b/vDhzKxRiA6fJiX
DUWuENemjaTDGrMPAzLm3HtGHzG6wdC/5GFAC3JfNcUxpmVMaCShaZUifA0n1kvdiTzfq2sPtmBM
fRhpRSyX1hrzlFaZ4dbsXh8TherX36YJD/utcjmqUXpyHob814/Yas1Ykydl/3qZGjK6GTYEln9u
SpFo8mFm6Ks5Eye/g0yja9X46RG6IpbgLn8Gii5hEI42fcGssw1JMWVpTM2N3mN8PElw4CEGsEBo
KMcaDgKbGSakzgbDjWl4fzuuel7bcEHAd2lKnjcF1Wn+H1h7mGBTr1pVR6yLVV6t6EuuOsk+4WRH
n38iY4rdpOZzJFcrBbpu4tdozD9uymCxTZDSWPZFsmwYqoA3jcIJ/KNn9XTbaP+FsovFql10L5J7
O+9P5/37fND6ltB0hxUGn/FBoKvRpFreZSTadWIn6bJgZkU5FXb/Ql/I1KnoKrqp1pgcy5o9ZW5h
PAjDdfrcsttfx9Kiv2/pIABNrY2NF/3CEWxkxYqrQaIwfRhWwRnT7MbYYu6jFhbr3M+ulLRU2hLd
vJ2Op3RtHgluLXHGCq4K9l2w3aAUldKyi9B7O17VzCvOIBwtGJSt7Cf7iixltX0sI53lfaU4Soaj
NcfRxeihaiRXtYcMBB+8jj0Oc0KVM8GXroBK1hLd9bJWofxkxyIdgFaOvUhtYHMn+MU/76ebDcNs
vr/ORwImqH0JuNQ2XjUG0l9F4nsmTbSji28vb5PSFYK5M/DLi1QQLuWa5bou4ns7SGNoZP8sxiMs
3w3QKwOMEY93XYoDtMoAsZleNeIAtTJAGw8wigMorNYsktSGeMhygE4ZYIgDW/IMGmWALrYjbAtK
m91CWky1EnToEnw+rqTd8wtcI3ohAPbrnBWFVO+eUEg+nr1SIfGu5Pg/ydwIelWfT410UmoEwYGp
iHunIBcqucvZcihrimfar/FGvCOWjecn1yuTq+UmQuQIuC55k4UerqKH7JpBqtECYAyNcvsOsf3L
Hh6hHNSiqOLsbbeO50ZrLy6mHKzX97w/EOBFAfEMvCY7JFtdgh/hRTqZXl2INcjp1LvCusiJnkNs
nOKfjJktA9VpSwkvBfKUg9SWY1tJM3hAJuAFX0Wr0EsHJNF2zb/nbo8S36vx3wiri+rodFJAMI3I
iIeFVx+b+2QLtZ8vRgP/Y/o2ZYgD60EURydMHIusUdgV/WOSCUGftrYyxzFU1An4Z1Q9t8jrZnL/
NcvEoVDVnBo37lFLr4DRLVsFsVJzpHzvX/zphlcOVYsFlQViy0xVRltI0hBkzRzffv/AhJA1OHkN
O3U1WE05lSFu6ATuzIerZi6D/TvllnUSasrfLcyl0W4qeclR4gQljCqBRLbXq0rRW5cxrLKVS/1z
8QUC5fWxdBTrzlJ/bzkZECq6NlWjyJFX1GZyl0eG89HH0P3CAnR3cKpMiWvvWt/WiZJvX78BFROQ
1icqRvSolTLnUuK38G3Ug+9n/NMX8/F1A+lsnXOl4gXFIegA1bSzww5jAENhl2tEdhDekwOhpMYa
0LzOquSgfF53sHs+ehYZAsOoyKuyGh5JxzgmNcjfg+TRFVFKcroEj3sEsXDZdFj/z9oFKRjFOOsi
HpoKK1+WImQeLLoQPd1gbFJp6zrKAkr6IrBe5jhOWqnNqOBY5NwIXoOOCNmY6YuqRXByCn61kwBD
3ri13wASEpRyDvePaBUXau48jZxtsnAPwaCPDdi9cHRpQ5MG68Jg6IdVQ2yszs+zERx1PhWbD4Nm
EZ7mbuw5/Kxo0r7+yAAcEc17qXjXI2tjFfVqKKr0Lw0j/yVcMCmuohmU6bHwGZIKDCRVZbqlle9S
TL80BHHWmpcNfE18I4pqUNbEpseJBcu2S0+v4h23GKK57JU1NQ/Toy0vK+WcRo4uYQJS9GP6I56h
4EG/ok5HO8ailre8rIf0mop+2XrMSkSnTI/lKqL+3MWgiFHLf6kPmE1zFsrhssRXMwSHvmjTkauR
JeHiLa+VcyoS51Smf8mIEf+lOkAQU8yEuKaB31xGC1q2hXKfpJJ5/KVa+aUqJRGjIhEPNAD2aihr
Gvma+OtVdsovRWJUBD4H85ArvxSkvAatWxfuEiofsUa9FjDf2S1XrkbF9R5mb6yGHZVfYk0cKww/
tm56yn0ah6U2sgKrBHgH1gYx2nKtWeDAmgxHv1R2it7jADleu1HUnXKfuIYtmAprlN0r68T7NBaK
YhlTGrZVNGyT0rDKOfGrwddU1oqOKCr51ShK5aHm3Y+jLR+VS8hyLhERQ9Eou1eMCYlQ3tyRv7nc
MysbZSPKaqn3rJlTKls+DPJDXRSjcjWGhPExlsruFcvDtb+kvO7DmNLljaLL+ZZTVLmx2qhRtFEt
717RKVLOcSPRqzEoH7G8TRSeKQbFhm27hB3RKr9UJS5hqTxqI3/UIoloFYHlujyylmvlI24bcfeg
bBTLsmxlk6DsFIng+Dz6yN7cTrnuXC3zh7pQsnpDXyWkvFbOqWgS71OtnFNRpQwq5ampyoTslYoH
MPTL193u3qAolnapI5yvUXbKL7HDxXjB6O6Tck5tQkcUZaGcU/JRU3R5/fCRM0cVk4D3MubuXaGk
p4e+k3evrBUVxh2UnqJy9n1S1HJZJDy1tlfEqJOlvGwVc7QaEm54pzxqdZV4PtNrMjqiWBq+1vjo
FNuorpdvrjWxlZdw5C8hL/cpG2X3eDwicviVZP3YtynbSLnu3OmKNGynaNgI8lUFHumiVd4nLhGI
bGg7tQkdSTnbcrwmgzsn5ZfqLhElUK77yK872Xvu1VDEiOOKo0dtVNRyxwQWuZlsTXlZKR+NVUL2
0q+GOdwmYRspunzkujxSLIoKG6N27Nze65SP+O5x6qSiUTairBLT6xW91yQCM0Wj3KekHdEoW142
icBMr2xEUyzdBvtqjIpJwHqpxx6A8nyO/PmM43uKxcJlj/dAL3tlI7h7Fz2fnSJ7dZ/Y8kq5uUPC
dCuVsNbIw1qR8dErdgQPP3K9VxbK9LoxoZZ7xRzldkQUWhiVw+3Y4XIgT9EqslcVCTd8UNbE6SO5
kVh2ikRwVwhDkTYwUzTK81kmAp1lp8SNIjGKPGrl1eCR+ch0GxWB7frlmqwYFYq13PcJp6tVnpqq
SERzWmX3uEEVJw4UZVkm/NyyUUy3ckiEH5UA2tgnvJpSMQnGvk48AJ2yJm664QM3ON9duU/czOHY
M2PcKsqyTekIRYy4RMTKUrmE3GWNrkavWMtNldBGSsxy5DHLyN5rlMMtm4TbUCuWJY9ZtgO7T0ps
eYhiy/zNbRRdztNj0e41imLhibjI4VcCaAMPoEUZlFKJLQ/N0jay01N8wjHlExZKOH9g4fzFOSna
qCgSvzQq0+s62Y4oWuWceDwiCi30yi/xktD45irnNKbiEbVyNaKN4LHlQbFheb1vNL1e0XvchuXk
0MWgTK9NvhrKL0VVfi06hnZ6ypq4YuGBzrJWVNiYMHNKJTI/8sh8FH4clZewGxJRt0F5ANo2laJQ
4kapNRWK7z70beKjVpkeT6HzIEZZK6GFguuIhh+u8j41yeCtck78l9C7tr57qURHx75KhICUN3cc
E55a0SsfNW0iwTMoV4Mzh0Th/FaR8ihzzHOfnXJOdSqAphS9jH3quiv+0zAkpld0yjnVqdiy8qiN
/FGLPLVWcRt4ioI3LSt75X3iHjXqQKhdizt/uppnBVlUMnAS75ezRDopQ/QMnMQOhAoCoDZsN0NV
PAApHSorV1FHAxdsbkw1WTCXH2sNgKoNQ3E1sr1fb6e3sFDLaL392B6U0Zzn2i2083K0RRXhtN3O
V2W9NQeKsQjOuv6nJSPrZeuUZ+Yg+wp8nMYblkC4lh/BOjBdvZSPKojY1XwPrKZpNiMaY5BlbPp2
2u9sn5od23hoqqOsqpXhfXyjaYXKGGxVRAi1SgYc/UJu39mdsiW9KULuILtIFJtG7ZaDWuXAMKS5
7uA1b60T2E1sVYEr29w8sAmzH1HqKHhxUO1Rz8t2I5Z5SakZbpj77flv2xSbnAJ2LSWWeaCWZKUE
tk9HugPDwLDhrN6I80C4yq5M47SSlQ2EXteh/yYnQ05D1VlFMYMTWwzvZYaqYWgNd4Ytmg4r+i21
g9iN0cs/nhoWiACtALA0K5URbQx2rh7bulJdxFXpTNVJLVECxR721Yi6NCi8sgk+O+k+msn9CqUD
0GpMuYyL8kZXdfqGHBa24zuU0ECBlRkOKlMUXHcT86lbgzLHi5prGtIUy74PrsEUYNUnM9F/XH1x
qsLwWaxpxPXZHlNtX8uH8pnWDUqJGatXJwexD2UhvrnSYZspM+yZAiLuQIHRHwq8HNmdwuffSQyE
RgT/ftm/YTUDFepwloaz+1e/fpyVoctW6s5j65d+2H9TSpgYgD8Q+lARv1nVC6zQsbIYO/CyB6IH
nfKx6HuBWD2U0GALovPBdQncXE9386pclTKaTlwdXAqdyathuEQsfoXqkqibue33hBJFhdPHkxGt
vSZZvDCN+H2LRSseKkoB3mvX/inDhd6L7Wsy5BBKfU+zZOKuPSPydAmHyit+lOpYiScfrxEVOING
N3J6umhkvH1fSvXgy5bBmX60g2wD2Qayp8PBOixqAWAnX2ks6PoNxPS3XF+3ulmU18aFXaReqYgZ
apUuKit5zdrao3qt9Zdc7YM01NJViUg9jfyYl/y6v26eoZnm7XI/bqFo8nJTOLZ5C1IC7pH5Mx2N
1FNfmdt8vqJGvR+wbk/Vqz5PuaRODoV6C6bUDfOKoS44o//LUay9Y0/K/igYuPZx0a9rW3fJXUae
doUNtxfKx5KViqVSqci5o1mdxEPZpy3KXzS2SasiVs07fIKGfkzT0HO2BZZaeAWBBDouVy+rzKnn
c7IRDkdUkG9H2g2lVKebyn82DGO+qFAnH3A+3t/mC9yZTBQEf5w9+0xlUane2+l0e1WbtrEOFL40
MpCInIxxcJt9P3L78Ah0I4oyHCSm7WBmexLfCa7c9KYQzNeSn2XM6doMlSYspHY2VWyG9Cm+AuN2
3I0T8c1TfVBLqz+4/1IhLRikotdPlZkqfVH48wYo59ICB8iSsrrLDpMjhCUjKjbpbJ0+UGUPXRGa
P9lWfeR/nmbq3+J+Dm+r2o6kYJbj4H+FbGTYaf1JFz3ivK6o0o3MWGEyD75O2/2uSh9tXcdEOb2r
Z76estwbVcn7ZAyeU8+yCt/NxmKL5me4YzlSkm6UGoJGfaucwEHpp2bC9VKrS9f352m/24fIVMaD
YSXLuL7ioSUhDXpRoxZVtSAAsw2PoRduijOnUjadtyRkmUIbg6JWv2j1hqZiZBxqkadE+8XdHYr2
iU2APPPYlFa6B3CB5LFxbdmNsuxB7oKKIUsicr8bg3FjqVCmgzHYdGY9vDdsmkyJk/Ox5hHg0jb6
WMvCAkNeF2afwAMELqbxlmDVqIkUg6WUSZIYMXgcP4PIgjltrWFLbKrUqbr+t/ttumX7jozhpW39
aF6ZJUzoYPNt/nG/3syZKb6LyBYivHH5Jvce1MX6g47r2lr0SluLftnWouK8Tm/T1TaFNVLwcr/M
CrvTKBiR2AdqPjyvat7SFJV8U3gnMJiREiGtIlubDvR1fqcGPPvrD/sXeCOv11SegGzPLlbEdXiQ
dLIGn39ULA5KfFy1lljMo4PHZWwWXYlWeB11IzUcTbtailNVSVbxMhLoAoC/p0NXIfJggQ1pVKKR
nk1VKVZkHVuRY76/F+kapcMX74wW6Fa+HCCA8jMSpmUzYA0DrHgbZWS9q2+bmDMoQzRWlBInlBBg
e9tfUdReDh/nVy3A1sitoZx48m42bVrMuk729OS2OEqv8GivGNb89PQP2HHnreO37jot/p2Smgtc
HCziufh8M789JaSCItUsn8lhzMthvhk37AR/TGX2aEosic+LDJaj0Z+VcYp1s9q/Gbf524uyPJYg
95BhoQ3XCRrQ7N4/cgGTZpSo8YJcIKsS5ljns+JglpK/wZJ46KACe5LSebUSu4c61n/eSiiZV2nZ
GPA8WIjgolt5o9AntiJvGCUl3O1VXPZKsvYeedFIwwdaNAiMnqZdjh4t7mlmFV7Uy/T6dX92PEHJ
xg347dAtHTpaq8MvWGCFt1X+edc6Z5fNIAX12MqpaY4Nl9sz1cP5PadUst4wC+eTx35Tsi9VxePJ
4TxCYiykc/bHTVDTGY6mQmxjSo4R8SOGbYPE+lkT+l6mjWLhWgtsmK6eVTBHKrpI8w/p3qgQJJvU
K9FVlZRj5JYntEhNt9Ags7NfBkUDl9jsDHS0QRW+sDAGQCtbJwxE+wYWwzI2FI4BxS6lWElUEveB
qFdJAdz2B8Ug6apOIgyMWvhGWXG4pAqVK88+4J1ycTt6sJ1d4nnvbk+nnRK2qiNmsTG+7IuIrXLP
pTC52EDeSghzmhX/poixJK5xNJvShkhf/ZGmH4G6bKS0jTM27ZoVhETMelZHb4gjz1NzPY1oUeqC
oAzHrEpbq9dHA2KvOZU9si0lYEvgO4ZIxPfNq4Y1KJn8VDbD6vd1f7yjkf1FV0y9qEqWPa4Vl4t7
OR0yYZbJFDZ4D1cAP6wNo7GAK0i5A6IEf8LL3hXSC7fTTc38VyJx8PU2+eZeXrTJda+UNMkYvzjj
8nW1gRmKvF/X5qPNE8scYaw0GS3jYMCs2fwvQouu2CQd9IxtfqBk4goetOkfTvr7ZTorIt8/Kit6
K4gEcw8m7mXlg9h0bRRAyrQ2Ns/EGggP5xTmcVLae2s+HU/Hj7fTncJRClNqJ2ksIQD1atzF+fg7
eKFbKacbv74QtFBQX9yH7HywOobbLEADCuJmZL1fx4ATzaco6nSKopM5T+/H+R3C/EZyMZgLkncG
MUSj4IguJTwt8APKVRm5K87K2PCB41dRlcUhetXBOrNm/AEMFnMx0IBUAkaipGRji53y9rJtwzDN
0MYAEKYLbGIDLT69u+/AkxLcsF2gO6lvsVGnAOCGZJAC86wkJ1MOYSi0s9zNxGvRhd7QiDyCfCjA
g3Lk/RUHSoweNhbfCI8hzoAuRjHZ6wN27qm+aC4d63bhadLXQfYAyXQF/eIUiwPdJqWGE/P3PucU
3mFMw9wv+/TuMRUP9nZT2MCWcShcdGxN++C6E+EqAZMSkADmTC6zromrQSA8loJtY3pCLFJqFYXF
gwOMBJXb4fSC/98+rbt5mwb4VBzgQyYKqUrzYt3Ncp4P8ztcR7ia5qSf9geYnj1chj1Q2oq3cf69
LiMv2SVrPexevxScFj8oqOsbVABsp3PuUnWDROMMC/xcd/GCWTZN17Ce6+bXn04T1iG8YO4M+0Bk
ArtljLRrWCIaH9EdBF2wIc2rUcXpR6QQLWB7C13sDv+AKUdlmxfBspZjJ7eny9GooNtl2n7FjHbI
zCjgSRGWhb12PHu10mlHMPdcz1TLWw4JJoz4YAUDKTJRQzccE864fh6dJhB6I/95v7WpRjld7DMk
rl8P59g2b+m3vQIOb/nd5DBuuJSrEXfGkYq8M/uOzEdc4tP9+XnOymfbC3kkMYWhJC+CbELczJI9
+Pv27c1sUg4FWjUru5vA6j5vxdbRKhvRfVSyFyPPYSEQqmf1dMsGICuwEjW/hazo+/e9usprKwLU
EzhM6luAcq0k/bkVxGik1JRcziooulKyYtw583YvSoSpk9As0hvcKEYB76NQhmq9GCyAuHIFRRX2
CN7xhmv9lepe3A8P3AtVDorFzwL1FB9jMXCbPiLApj1+xZJo5cKLx4Ykh/1ZMXu7CEJAG/sT2PF/
gdx3PtXj2dySgAuI2jhJDFV4vI9YtkcNCzhTCS/N8/+aL6e/nSeQn79MH2aSCnitkmKdvElYVBDm
YjAZTc0j4aGnghqcb5WQs1ieoOuzUmn3Mcr98p5PW+PL4NfuUdfNr6popIk9ltTM79sZ8fOKtPAk
eO1vgNA202HEM215+kLEMjDYBUHY7b7t9s9YBa08nXKBnqSzekVnDbKJ4l9gauGVeyyGqpJQk9Jk
OmUyPGFD6AOVnLZh/NpR1M5j3CAWe7/k1F03FCImMpyNa5h7cYjB6RlbYWVaQpXcYuZUMI8YqttO
wfPVYkZxB9FIurV2VizGQR17FL1cyolvim3eTudQDmFRfWa91ne8H+2BavWjVSd4L3BFvkxnYy8c
jGX/p93L/GXSurD1fSct3RVlpgvDybispSsnIa4UKHckG1iMOXI8sbWtyG29Xw6KOycWHj/aU+ZP
V3MIu0kNojf84raBO9uqIzL8QAa+fviIpoL5GbirwpgBuEBQ8hsX/GBrKnIglf89elVrzd+mrmQ0
UKhs+ed9Bh3tOsg/TTlfaJDSlE+nF/P8WDfyPClYLha+eaxdIoiEeRqtY6YC6ji6zz/+7vF73e92
sxGQw8GYcofMkhrmWXfeObMFK9blj56xTIRkXKQ3W9mR/XQnbKaGaozwu25Ku1yLakW11ZJqS1FT
N4yiNUaoWlYMqpVSXo82gTNIYpkVDHMpOJss2hxdkuf9O+7zbX6ZtShEu4wXtLmSQgUgMIh57kRG
5tvb9K50+mKuDtIpuEoNX6j830bXfIGVG0tIyfAWj7fX1by4cGQoksrYAtUgdiq2QS7bghHCnhc1
rtVKBjev/MDPiJ8m3Yu6eegm43YImjdelQ9buauHf8q1bzuBMZD2FLDR0BAvwJaUYGEbhdqtRfhs
1BfAsvLRpU4sucOsGZI0/DopRTxtJxTeWLn6UUUNFbyzfYBphyQDZGrhvUYwGZKNKNn9UXJIHsId
uCglwFFJhoNv0Sy2kF2pKtltZoavFDrDbGUmnxTnguLKZWswZ4ChxWMyyYMrbtOTFrHg9BEYwmlC
R0VLxHF1FTRKBJ+ZVfh4VNEqPhEtbyMLzceU1K7iSi9SZmQEejCKo/wZGHrQs/3z6fKfWmFl1VSS
XlqYTkZLzTvKSJqXnTAXaufPoe7Uav5EMlfP1xufspCzuYniG523oI+sAkYRucBY5QwWhkWzmetG
yRMgwVE+UcBDupyajm4dQl+gQFCJX46C4Yg6y0eyspwMVRUP0oRiC2wvDsIAq4RHFFSXUngxPF5j
jnu9XaY9Qv+eIFlknNWXuwJBriqxxe1neGE2X2egI9A5lLpGTG/lIDtas+Oq55E33s8AtxV2M9O5
nWUmOf7AUnNxFwNXTa3JM8lrzoXQe2DXkq/ElSpv4MnGN/OXWdEsDGbHjO7wbP5rvpw2rzDk11mT
wZaLjj1qH7s+Xc7Ghsulc+tB7JJu6U2o3ss4E1EkZy14rYwAP2i0hpX+5i7bb8fT5U3J4VWsIi4y
Mqcd4Vh5RHbe7RHmrQRkGzkSGHE8bIqyNsb+7r7V+Uci0xWll2TOGhQUDrqAptPh103zQIxTMqX2
EAFTjLk2Som0hdAu3GJWFLQbD+O0yKmesnWeZti3TycKOaKh8FJnT+HpdLthUvvy5o2ITIiuZsxC
eBDVY1xh/2Ikbb56/zLL9Vf2vfwM0mN8gK7jvppQKYNkZ8t7Lp6nHdrFK6i0mk6paGCFtJld6utE
uQVEH67zdNm+2vJx2/E+ByWpBSwO7u4WiJuIwk1RPaWQEyeeQ7OOczYS3RUSituFgBAPC8xE6hVu
eF1McDveJjODdyjpeL4ftyuCPjWHTgeMwP2y39xOX+djlkuhZ7gcBrFHeAdypOErdt1eTrkKZ+OV
15Jb5kv5g50DwSikWnKsdorVJK5vCZlfgZZvIqqBIoSAQigXzMGn/XHC1PvpjiEyG9T5MKbxOxon
KjEFr/TA7IgtaF2AG0OB1zqAo4hkU6pavJpcU7dd8NpNPukYQHGcrtv9XonBd7EmLJTiJ8yRkjEE
OWGlCmqUczOkYM15o6u2Dj8wxpmG2LVw2QG1fIMl4phR9lqCPF8tj1nWOqk4K+no54FItv2/0OI2
Bvf36bK7WuyeEZL5ea8E6UruV/s86GW2CtHHkvEhwjQBPXWKmS2C9Wge6Hf6f0RK6JASDaycSgXA
ENdTODI3wj56JWE+A8Ic1RBiWhTyA/WwoqBGqfJkyWm4c208nDWHVvJAtTywVHoN/x2CaxRixq/Y
n416nbFK43qz+DyMQiUS1hhvczJdLCg61oxq3S9l8IoN7goZ6HU50O3FuM/m6eMWKGmIJFaBuZeS
A/dmlOtu/rY3TggPwCrPHo88wu5aU45zFq+gSvQ9chbEcMEnooCqXoBbsdRECy9fWy2YeMlxQ2iE
q3SlnJ3N1q4I4BRtnL63VQZyoEUJsTDbcvSYXoGCJce9UsfoI1bRzBR9lBmCmz29oCwaE2lrDglN
Cyox1OjYCgkU5DQ2QPsErk2lSreWoLaMPk0pZ68kBmdvuq4kPep5tocwLAwl/50kolQc006C2D/i
l80lMEr6yCuFc8yW5aKU3KXj4xyi8kK2UqUrGpMhyJWxSIcuQY2UiiVZG1UIKa2vWihkbOHxg4I/
1wU/tOIQlo++CYl6LrJecHblEPjFRMz/9TcQKb2KsuZiFZzb3XyGzDbRxFNJALoogNpVodtlJca1
6Pnzqbo3465kAYa1eIMvt8MGr4omDd0is1KV3GUPtkwW/lR3MSd2FRU0Wt0MNBtG4wOAE4Nh7t8S
S/b7vAtAGwVNMcjJXCunE/HMaqRohZRWQ38d3JPLByEAV7iHRdmL7LuPaXuKY1mTYQ26pRsHyep0
sJ88hVlZiJjwhUF+PNlJ6uyqLX/HJa3+qaIATqvF2wXFNSYO8qhkRzplhaFiXLFIeVlfrWE6PFB0
JaaDsXfC6dX2+JCm0LGRwg+ESlWVLc43+PWvktXaL0/Txjbo0Etd2/ERIZBqbtWwVnsLpfKwubWy
ua10PEZCKN6Mms76N0oOXHTOjc41by1wnmIVqIPibfApPMzf5gMdGrC7KJ7SGOfnV6QnGyXSw4GO
YyB7Cso8m3/q+jFNsuumQPM77rxMKoDbUYQOoi76vdiiIsrneCOEd5rxfZIUJrhGTjKno1lKDEuk
2Y2CxEiQ7eo+qF4Fun98bOISMCW80bcy2NBnsfSGGwUHDTHHYMI2P67jCswu6xqUXdpKtiAkMKrU
qGTVSIYkT1ACz+tNw3xV1cJOHoVuQfv5St8um29h8CAdHUfZd29OsXgm1jehomGaMAzvlLauIRgN
MYQhOElNrlsUfdyy32dcclERw8p5dGEo3k8+XoqqZmicka2HtUOIx7lqU3GY4GJRbbuyBxaNUbID
5iRM0gEHuntlXSxe40OtUq+lbJMl8Y4x1lwpZapoqEYPARO9BGi9A1RpbHSkcltWUrLTxs9cnOGa
awM1cJJoDrkIjZd8lgQgQxeMiGfYQXvGnj7EfP6PcJWn+XV/tO21tJgKh6PVQdSibHaE/LrMzzpY
pOgXxIzN+MAB/c/7CWnAoAuGogUZ4AsSNF23LKrCwP4jSZbtWKRhJ3wvU3IC8OxtNMJBdZD22lwO
3eUp2SyxdVSZt3RqBYiVSBsoqNlyLJKNHmLo/9X8CUpw8SFbVwcwytXA7nZist3FKnSgYbvsaTbm
cMKtghPupdwa9+2vrs8f5psz+PO+F8nlY58pWygsEi1meUxqhceEZ0cwXhYCGWB+Q0H89ITdPN4V
VF4h08AFDzMXgGjKQiLKIR8A6WZwSSFfk9luOTOa3SmlaLBsl2zStWCpgjJUzNBG8sPlLmtKc7W4
aZAz4dfErczbWKcbZBEsHGHB/7xr7d2W64h6ULGODSrCvJIZOhhywkNszDXLNcjpm4VBK/B8bn3h
lhJ4icH4cXM4znOgaI5KJLKjIczuKHGaQfKFfk9w14OOWQIfv7muqJuv4njv+PnOIgqdAMfZhUDs
ko+gVaAKZZzW7FnPrNv+pjLNijENiSdFL/xgyorY9ZpeBsbD1Z7Mowjl3Tf7UihJLBGA5Xt1+Eam
Oi6pGlop9hjzCptZYhHCL/AXiqdZSpY0T8fTSw9/4wkLLITK/iultSztpUTmLjVjjGjOMW27y/dk
bBNtOU7ZKGATEUiyp3GRNF/JAV6PctxbKqRVYPRDI1LWO3wV9pi4rchlNa1Yk4E9DdYxghW1bIRD
MphheJjYKcwTdS8wbT7Ep1eC0aMSCNa3WjWYld5kQ78MHiX08sajSiD7giEdXzenmyssKwKCYmMc
alcWhZCgTPB4+C5LjkrF9VPaaHwOo8xgKl3R7HVsltexegg/ZvJl5VgnetjkWRDbNAviIPdujTC6
uYezHXsp2i13QrZpV8UVH9X22GAjXhxYhf7O7SDJ2vXbi5zhb8T8GbIeeZohqoCFq6whyYvY4urV
Ys/5m1IC2fCQJsXGLIcZQpnn0JrnkxVdQ0xLbPFkeCR0ZSFmDqWoNlaiaIFGCI08JFSUwtOmEUp0
ickRw25GvBRIzyCxk3/bX/c3e1CbV62kZYhqUEpsyeXzzOHIYnNZ11ldma0aJ/tUKRcXm5E8WlGx
kaniNdteygnCRlmSP19OQBrrfrspNCpm3/pUP0FmA1B1vPL4t3LK1HZW5dEvpUAloRDkKsooNVQr
xmItNY8l1oDDPH1VS02bqD2cgzlhTXC4p58Ktna8DJJ4HOxbeDmdBSt9r8B1Gl6e3QRqW1v9vAnN
Xs0L+6KVoBdNXAdbZxqdtgqFWIJv19qBRMVzmN7O65nwhjrOB/lmCCsg0ITZJmIoIybvaRz0uCSA
tWE6MHheT9hVEPjQj1kjgAeuUaYtZx43Aoi5QLEBerkjtERvtPsccGOM6cta3stkd3rbXLens+Zi
lsIz4YPnoG2tX4TXQrHPpYLImP7CwuOzzBcxN+jACvBt2HG1pBVN3D3MNtZjjb2RrBRjE6CYttNN
g5c2cUezNqrAud6mC7R+2SkFOCJPhs8/BUQpxG2oubd2yXlNUAvHz15ozMaAnoej/FDe6S7yZgfX
pI2KezXge+y0NwV/INA+uMwvF6iGMDJtLPyxUF6KQaq7QnQFluJSwUpan7A4BMYILfTjfH9a0yG4
bEfRtby/Pc2+fWmWvb9pCkmp2cuTZUovot2s20fbBOn/lDBgJ1LFmvt7O/kHSDGOaqGX4+v1MGWq
vKtWLKx0JpEDSxZlkfJlilTWyb7AxEoHt2J/XF2937YJ2J7tyUnwPwoAZw3HpntEgTqShaOS3WHM
4TBEw8t+6XZT5Z7R/spFY4z8rDdoJBoUXEX7EGtFT4drluyDVYybv+iLRTt5uz7OeajoxYLl+xBu
UrIoPSbaCK4XGsZoG1ckLEfXAocXlQCERVEsrci5Zk07LG7Y2eji66wh7duo/jI0aral6pBfg3+g
sv2HwvUVydeqj8IEY+DiW0aaByXS3DAcIJh9dVxgZ4lEnxV0b1u2kjL0wZMdcH6+7TFUBuRDJ+eR
5EGKQY5r8E3roUsFFNXi66ER6VaXxdfT0/V8ukL7dPo3KfVTt51smhkRw+IVKoPfw+CO2ygHkW55
RiKYHQtKE9fGxbWmUISPR3YH2w5QonS1e0n9w40e+KrcjTYuf3AkD3fuCjk7UHk3WHRmQEdfeLpw
Ps+X6WVFJrTk0cvwkLGcB1y2iP5KIbySwrQBdcERaGBsX/bnm8ouVETDMe50hvi5zMa4vG2URsSc
vozzSeNI1va3Hh7cWuqppww3xhtmbThwkIj0fqGOlKeGM6Yi1OehzC1f8NE0cqGB55ad3/fXG/Vs
suXiSCag1HpGYGJrdj/I/mW+3S9GD1GYzVwq118iW6JfcW85lIJGZVSsvYxm4hcxybujxv63eaNK
plHQzatDFQFmU83ZQBX/3kz1GYAj83GrFQmzB7vzlZZGywFpEFUQvFJnLQg2mNtrnsiJLDHFAO5k
gFfcgBE1qAJwiiv4rFZyPpZV8p6eJIM/aSLOVXbTJJrcUik2qdbwjAeg2X63V/Bli7eh/p3Bj1IL
fiQAZyoBtYK64WlVnofm8F/vuPq8RsY3LxrJc1BzSL2COSvlfuUYal7F41431aOdr6M7KK2hYDxa
IbjyQE6u5LLEfkEPjB1YcKpYlotStGZJlrk/HueLap3WvM9dzwq3hHtUKNGGcqkimgQ3vcK3SCp7
kDrcT2+uPFcjroubGrk2lMj4SuWa+BAjbDyCBivp4Bji0UQ9osjhO97NG7qi1ZF57UQexmfArh7h
zLGGUPHsRE72yIugyAaklxV7vWglLmefz7vMrh5VDxDURSc9rtj18w0CcTsIULhoMqBf1aaftQQo
jIzNM2TG7jne30rSPQ6V4N4XJdopJiUXxCAI7llJCtIIRI7BXcNvwh/zbc2p5L+U8ftsICX4QJh5
zhrAGoiwIYzZ+x1SX7s0VwANxQojqDn6sBzK9kWvlEF4SUIdYkXxIMr3rLRC6PTu1wPBssu01yoS
WJ0Fzy+wka6vlxTRAJ1PsZzMwxCzualKBcJQZ09Y6VlPQ4zZHdHa1dMYvUBcwZzyfGi8Zk4MhnCH
VEeKTDiStTdqfUvRJSuMEjfsxqyCsagItPmu58M+69Gy8DYj5l1ClxRG/KKVEfA5Pp6tMUlXEBgM
spFsyTIwIhASQpj5NzaaQujVSK6K2jxBcUnj/rpVVHyNDje+QJejtsR6bCTCasKfhsaBeQKrapSy
ZZ/sA4W1mRGlgQJtbTTCrEUhjxLUW7AlRfEorArcYMtiJZZdyYh5hkzZzQgcW5ub66PM+RJ2HEca
qQVCFG58zJwql1qkSQl+1cy6PiuhrkGqg0pi1JRkcCF7Zw5nZQb8huhvOBdf3apxFRc8E4hBs1os
Lc/FaLkWhhh03QjUjwqvv3mExJ5PXmDNLDAks8JGa8tSygoam3Fzm148hMkCFpWXpZK7HSXBEErR
NU9VIXGLazwQnAfFSaikZ4Dw51iRY9H6T6DVrtkOw7XgACmVQ0rl/CC2jU7uj1KqxbMkfH+Ed/z0
/KwVjVRF3AVwzCNiFRDLWMpoPeZD5yJT/bLuu49BnIlYEPuFw/ysRHHLXkKuu4vD2QvMORj35H5R
azbF3le5JjAKerp+aPRcLnsBE1oFxnH0YXrdSVUMEsmEL3FHyssch3TB0wWhaWLc71sxDKJeVmXE
zk6YsmkHndMVvN0oVXfs7m/nPyB3Cn60cAzPe1t0BNbH4WQcQ7kzxGAZFYrGp8Z72xlikUTOReWr
rpdiQEKjRJtvZzApJZQ5yNiw6w26IFHDjRs1RCJaH/9TNqCb7IkxdKwnBrc33IXwEHb6AWWgOgxU
MGoznJabjz6V0BOkBghxXZR8jFX8fjTQEKZCYeRoMkB/5DcotABTc3A0LpMSymBWcSMHjBhd7VYp
DwuNVvnRMBdccNzEyiFCMxTUZT0fwoPKV43UhJECoZ+wYekhbH1c0XD3JkInWBIJ11/MmNQbqOLU
7lPRdxISWItqeWNfiW6JRaB4Sf1VVwD4cUulLgnB0Er6ij4OOdv7Ehp/IrwMSaEgoqmErlsp7Idr
CQUGZIIrS2olk/sBb+0EXeno0krxOiuRC4NCAQK10qHHvOhUN/FZmpuOWfCAprGkHcsYgVJlGHEM
dKHE7/V6yEK4Fp3hi8eYR8CjKzHVQeg7p6ZzOiWdw8uri2CxGbN/vlwItQMPAevq5F3Czc48YUkX
jB7WXlJy1/sZIgDXNAMQfTxESsnGJAITRubr8CChhzRE3ZPN/YBCtIMiijRKGUYJGTnCfp7N5mpr
Dzo1eA52C1f/PHueQ1W2W8RnDqKS1gHmn+WDVj5dvDKdTL6iEZWVY99K5uNnehRnKDW6JbixEz1z
F5zUYyatzFY/3UDkfjucIGV/+w2zcsqUxBpZoZ0OxOqOGqN3w0OHFGNqokQKOXkeQ5thc2mYe83o
BpL08AoYl1e2kdIvovSVRzgreatSejIchyQQFwSWyetlm+s02FZxLrhN4f9ZrfpnygDCgsHB7Vby
RzQKf0Siws0dBz7lxsd6nVTg5NKvHfk2YmIUjRO9pWLL3E+UjCaChRxPebR8w3EXfSgFOHjyh1wI
oBx5TfToIzjeZn+63dYWS4jlw5i9zuDua1bWB5GtlnXpQ1/X0ifb+PL+G4ab41JTBQlfL3ttdbaP
4tU25sR+ZWCWoK7IVEeVYxPbBGUuStUpUSop45+IukyO5wmkg9za1/1NJWnqOZB9YIGE2AJTdA4P
whLzWibQ2CmT6eX63ojvIU+/IwI/Hpi7MpHGWmrVKiE/KgVB9UDb4wBJnidhczUCqpIHN3LyP8QW
0Q9QSVwrrtVb795Y0iZb+w4JNOWOiHy+UrWIApUrJRrkZF8Ro9+IKEQBEBTxiDaWNmP1BcUffaYi
20K64IghTpUnnfqgnPq4hFa7hjYHdJSmm2VKUh3boSgecVlYdceRZxvqAJZFy0ZNItmcOBfbHYjf
r6e7eaMwEqCUBFfsjjG4DaWCnj3FEszSKGMFX9Una0yUAhiFQplrEE5d4CR0fj9f1laJtcUYp+o6
VnSbaRdVcKe59gWKTBj3josNipV01iTzBJcSV0w++A5B3P2zQl7bddKVBKn4aYYVxpBzgnNlOlvV
ckj/IVyQycp1RSWUshLAbPfhGzGYTcSvmf+DUWL8y6JoQjuXbwlFgm3Gu4V76np5l0lHzIkafBIc
/1QejX6EuW6hI01R9IRtVabXh+mFEsyiGNO/1Q+xq1/aT+rsb3VlvBWdSjtIWzHGPqmbX7t29zt5
Y7q134/x9+4shvzGtnGkdXCLzX7ZDvJvlvkv2Wp7fjSK5FTxmdT+NFduUCFPts1LQy/KUVnkt3aU
gk0p+48+KSMxdxvTK1+EqE7Pjq9fuS99Fe9L7/ZFOYohJavZDSmkEJi5xfkv+2iV7no1+dNr5MkO
yo520bG5WSbwzQWjKfaf2Gyde5msKlb2dKzkaa7V3kMv32JFcMYhjsC1n1Q5Yy2KqqL9hzEKQJaf
vMJDI1/hvBAMgxRsXHP5x/LhYFc+WGP/EKVcqR2HMpL1ZvW7NbRS0kzVN2Mr76ny1A3xuVd53T10
3E4YV6uLsfn3HtWR3cqGHV7+aRsqcY1rlerYieqAR6jBhM6rhaaPj6f5pFpoqujGVau3vhn5kQ15
W7DuZNWeN0DaRpKOtUqhHuMzHlefcd3L0pVXJ418A/LapOlkPaTozGZxB4b8+9W28sLymqdOfJlX
PU0hPgaK5mmLxMEpMjaIkqJsXhmtxxtgyqvY1rLOWKtzmlZ84/LvRVuJztRaldOW8rzXvubN8PA9
6qz383R7xS840Hw3YyEQdikQ97IE/LfzozpaUh+zOeAo0yXRMxAHcPZix6UKZ7S5Hqfz9fWE7UwA
Dmr++X7YQaT662Z/u+LoKZwhjO1YUymh6QMKNPhuvlHHFEtro+SvcJ7Oeuss0XXBxvL0EMo6na3Q
RVbG9f5EETIMllHwjsDmySAejuasnY4nnGgyt9nsPkQWtQA+bU8VDWJpQt6e9i93aCNFrctSCQuc
RjtIi0JKyNurIjThs35x5o77EFGXV+082nC2oWfM+QN5sYJEwz8ka6Aqn/UpbGmKpY08AUD9etM+
DMVGiOkYPCJC+SaUFTHOmOnp6TJ/22OQR/vBUA4E+sd1vHU3VPmyCaVI2CvX9qewG639ZCj9ATfX
UaO9az9Wh0owJI8tbaeus6WL0j4N9V8QCeptICxckXTije5EF91Q+9osbzuV/AcgfjLMR1JWxgJu
d10LstNcmLYYGAbF3/bpuFkxSh/pRla1jKpP+XCMbraD19g9MNO4XWaWmjb/eKO7rtzZOqyIYXGv
fidtMdp7elJFfD6uw+FFpxGnb1vp20DL8+3KHqv0FPpaGqb5n787dfHH0+Vy+j7vCHp0+a0yxkpp
vlCUKFOBwZ66XOHTshjqUvm052rQElP8Cz6sC/0347OwkYSvO/rNpqqVT5vwKaMQ9RupC5arVvO/
bCEh+MvGEEmYrPRp93Al4NsvpwuFsUHh/vZ0Oh3m6fgbKAxlqCDeLBKCA1ibIDNA2QhGB35PXMbK
l2EVCNJhP329zWflw/jFbthPOsH9LcnITyMEcWHkOTjEAe/vIbfqUnqtaYDTFh+g39SH27VVxikU
DMQKG39/my/7bW4KQX7w2azik/tNffObksl9E5/71ojRb/qbRkMEJQTmMDRW/L8pWW10GFBLvat6
tZEuO1OC8/t2RsSDpoREjYFcY5h58pdRMZorbnUPzuoioJ+iw8ekrX26vQJHMt2e32tw1+MYH1C/
3B9Pba1sz2IMCqrN8EDAS3X7vtd2putj1TByCA09Nf4VVkZZqDnfGwfb0u53ypfhZMwYdv3Rqaps
cSRlpfRKLQyZjAUwsqsSINoOs7lJg0toFU2savgMrGwAhfoNFNZ8zJpRTcGcPHjqrOXrq2bf95qT
wQRi9AlqdC3x0qziwCLRaiWrzHx5vzzcvbSAdl0sHHR/70ekVrIk+DA7ZYixiF5hq0d9+4KsGnNk
K34lpd8TuL6+u6A2QieYiNadNQv5wy9ffvyRtvb5dNipt2UUFRqNxW+eMkLzeGvoe2eY/n6VFNbJ
OJSZSnqadnnbtY8tcQfqg77mG2uzKFstvhrI37ZC13exrJTe8dvOCJDEy6NY3fWDwYe7e6X/3EU/
EM5im39JJWt4jatGuj/32/Ow2b7eoT9D6ss6frmtvHp1FJ6F1C+HTahGrNMaFv0s3l8vAElP74Qr
c4xjJsen63njsDdpvgKaRC8Zv2Yngf/iBponNf2mlt60MHkjRRQ6TE29kCw3/GVLQaO4bk0TFCi4
57ZjKH5tWyRSn2uSheQkWtGnxWHMxpubOB+36RX0kgCwvdtoXzeVaHW7/fv19GdHQPk/P/0lREMV
37qpIxPK3mhjGlB8wNnDijCETcXCmjYsiHVjvE0v0G52A3+fXl0nRtHoZoIy9vdEf1aaqo3WxA7I
mj7Q+usNuBcUC7mtRW1OJ7Utu9up7NLHPEo+Cn58v6Tlu+2kJ948pJdpc3jeTGmCGVp3nZRMyyYS
rndaRzV9ZDJxESVWPhdZTS+DeWgBSue2Lv3DpSTdM80fzBx44JKasYoM3oopJc/KuncF06Ag02pi
8UyF2f9mi77TCx/iQDubhBXjnXGLXtM70Ep+5RU+zP10NSQlDrSSqpPie2d/FT+1ZUG/poqU6Ps2
3nrLP3n61/5wmDYUQE5Om5klIRaMvx09CyuYdekEoqvPb0BgsJmUE2hFgzJ+YcIFSMvQIHmYMAqY
WVYW7pe9sqnM9QgBZLsSKOPVzIQ2vJOMhoN2NVUqRh82SQFGpZeWoUHat90N265ZmLGvlEsKQyk5
re7XN9uPS/rmMMNo8PQ3jkBF9TObcnwIbsd0zNZChEqe8JdJ/O7Aez3ie18HsqmbY3g2L/NLjiHE
DLVoK1suiaJ1dmgzQPnICsU+93csDf82YyxaXVutdL4oTKPlMA5SDQHtQZiBNvU+7j5cLyfvYN7W
X1RGKqLiX9cUzbgsh/sltGWlw1BmxChWfFLencN8nvYKqHtgjJdjKPLHPQwzIHy/MkgfY9TbZXd5
sG6UOgMzwoL7rRdPJS9WjOi+8dqJhsFKBbRZThfjmU2XDxxuz0jNlYFHvsW+olG9JLyxSNgVJ+F7
5BOeLrf987TVRmkEagGQL+C33L8bvyB371lTn05qZIsb86/5cspvby3zOb3ud+e9o1xgIxt7naaY
K3sxQ4tsa0tBzO14xxkIbQofCCB2qxTkWMWVjq0lqzgdjX1+B76yK8H8D6cnKIDBgPTlMn2EJqqb
52lvLq/SsKOIuYx8EzX/G2Yw73Dn+GqLhz6B1m9Hgln8xP5BpakBPeiLTs3KATXS1R52g2EmyBDP
l2/6ECGVzfzoFGgNPykYq2iwD92kFc+CfjBwpMaYXeUHA6SAFVm4HwRTXMFl0I/W8Qi1CpuiHw2p
eoblq5UPBmknoUrNzlR2M2l+YUtZdtntaBRJSo8R+GtZjBvdLDeB9LcBR+Ew94hoOMzv5hYSn+63
+eII6bBIi/qrECnITpH6mrcTbrhCK6ou+YVLyJTL0oUy/Ymj1G949hcZXWxoEqKcYERCH3vQnumh
nLUUI8vNs2yexet+ywrap/P5AHSYqJKpURL+i/TY7uldos7H9CeOKS7GKNPaiOIRClRfEi1Ya87j
HVcq2V7fs6sp1xmCaKAiDMTgjlWV/qRju8maXEDm5/tlOhOJkN3SV+PgXpFkUhlwDHOImicUZavM
opDONDcLRd6chdEs3taUXiEhDacf/DlbMf4CmR8kAz3O3zf29ilXpI23tfdHSubSAdiZ72dlgEE6
ShKr6Xg6frwBak2dw1BHy7EbUCqy3DXxMbhPFF3gGlMsbkzZKDdmFLbZhq5sd8T4Nu/2V2yLrOiw
MAvq59dauGgCWFLzZhjNoq0rsTMDN8dlPma0p8u4lDErG8gHckS6Sk5q/AcJnjdlrIpdndBNlPoD
04jKaZeSwBB7bzLlSKLWx0voZbnfzZCGwX/Mi3/Drp+PMJD4Q2sWqxmVAYKMcPRvpeiQvhRfpXJQ
JKAWJJHumF0iVKxTITZJhLL/vXx3auUiLF4ya+CViopqJRXFWte6N99SEUyHw4dya5iqpkiknXSl
TLobxVuDcRPPKTO9aySyJOxBQ1Yogb2OfycNPUhn/GqE6l9AM3hAxwRNoOy9baK7ZqPXRaXorb6I
ZbKzTHkgHf/hp/BHM4Pcbw/SFhal8p61XSwqvQr8rzldcGxVkHNpSbJQcKx4k5FkpR6c+ECIrayk
ZrvIyC1tvxCXzs5ZoJV0FqEBnn/uwBaAbnbBQ1Tu40K7d2odKO1YISkdG/SxKvxpuigLaWJN6q6T
crBdLxkKKZ+LtngUFV1VenYc5ee6yNgf/w/zJdDbhjA8kRlurpgbTJGQ0Pmzd5fzpqbKeWiba1H8
C8XKaEXdHhnZRI4z3W+ndHevmvMOxbYmb/+dub1jdGKuBqcqlF1vJcGCubpGPf72KeqHWRrklOp1
vLRxrbTX0cZByiTJNEI71kk7NmFTyQ2mnpnBptAM0zLC6dcFWjmNbbGxv249NnZzeoL4yPyyTVU2
VR6fidOCu1P4MhNEfNOyrsoA5ZKU2KLwn/eHm+t3hF/yv0ilGOqSpRiqnrg4/s9yOIxGK0OwpCqn
S4qGSLUwoRF4ipA1waAA27qFMAAK1jXYEzIHfLaNBohfEj++H7fTHWR4d3qrGSY0JQE9UxqhHNhi
CLAFSPpT5vv72Dz//XLV7xeSlt5er//581/+//fTTZ1AL91kPoVh1RSqx3BImqiSfnmMZl3XIX+1
m7cnQoBsni7z9JXCqsK/MAoOWqqgrsO/SEdv+1HopUKK8nqjWOhhb0l8psP5ddq83o1oUhMAlQvZ
9w9Y1GifDhuLS/bY3vfkEJzRpAscwdRF0jWf36TBZjhIVcuEAaP+kOK3ZSfxEwBSD1B21BaGYAjk
UKZHasSicOyjQNuLbXAyW9rEJfa121HrVuNojp6M2uGkx2priZmEzJ+Z0IhIEKZws3pjeVG+eTrY
Fkpa/LxgrtliV7iMsKUpaxlllpVROdlekoqwl+DDX5VfrCTaIb/wy+ktgZ4sWASm4IpBKaeuas7/
G/YZzzsWRvKKLjdFplkBeYWxMAvUOB1w7sqs23gSnT4J1/RInUvLqOBZGNEyXcPYduhns6XoI7BO
RYBo2R/vUybrU7AI6KM2ku4O/bxy+o1UEP+93mAziHCpr6Q0n+bbfqtcIqbl0Oy0hP1emrS2SwWL
cT0UwHdrVFwhEX7YXSdLBGnXFK3E5CJA1aTduH68PZ0O6l400k3mCiG7GYzei7tnaRYIc70S+1cp
n2QnulKRDJIqqFccHOOTxqd7VK+jcgdZmwfeKuV7dHbKkYX9hviFrcWFZbuuITgMmiPo2qsvQl1I
DB7Vmv1IMMHVyieMFrz3oVhj8aCBo6y5Dr/FGlKzfmrb010FuBUsKuCe88W9OX0HKszL23zca29J
H4tBnb59tpxNGYr1HrEJyaWV4vuYgBu40+wd8UqRDYnjgSgoWmmUtJK5Xo70NN0NtmDRkwUZVuat
Us6bCQpFQMZom+8QsFpzWGGcOvDQC+pNq3srWKjQK112Unj1ci2+aFlN1p5UZrDgYOp4YsXurqOi
pww6237FXB/ia2yrvC4TgMNup/z3Mg1amtPFCFv5qIOZzCMGwJ2LQptOgldLjGj26tnJX32Db32H
ObnJMjtIbV+YPO+vG5sUuFNJIIb3Uv4pbVUj2cBAa5rb5McWPjU7/T+e3v+bYrh/vR8OX17n7Vdl
EqNk2hqfdo/0uDM2tkmDBWiMVqI7CxHlzBtcsZY7jY9MY3TbWYaWsndjLsdt0hwaJn2sz87eOOLK
NZTYE50DdnEdRKg5rabzFiqhzHEimgdwjCVgzDEN+ZbWxSI3FQQRt2qV+mli79Eaju6m2eEyb2jF
rL2AhQICohWmb5VinFphbZRRR5EqS9Bofk58qZ/2LysVY5WiAl0x20Fy3YRYTFqwC+mKSWbG8wT5
E+OjqT1ZPL4IKafg/yLqft8Pb93WlJK1wIXSOpS5kNUYH2pgg1shTE38bS8FFNZHZwrJw0yNlvVX
5e479jECQFb+sWCcfgw2g/YcdgAFbHDObC4fxZAQqxM0stgcp297xgx9NX8OMFabrsK0z0VzIfoo
wOHVOY5mM6LOLMl1YzNjhRlju0RbT/Btf72bCbv2BvSpeTfNi/Ov0wn6YkAXXKVUmSURAAM02LDH
/elpvjxN1JbSN0/AsYw2nSDd+nw6qZRBrPAComu9K6NeO7Eh4qCyBQL2W0LX2Ylg04rcZEIVG0In
6rF5HM+iZnan78fNDcya+1kZsVmMOIwPIypfh5Ii9FtrSwClbbwyGiNG6L3nu26fWbEUxgDqrvHW
18oRePqmtHvLIIWu29h5Os4HY3Ie0/DTamgi+KlrXHe9bqhnO77pYVxloDrC4PoG4DiF2/eT8uUC
AVuxlvHQGF75MgCF2TPOWvYodggN0EnwZvvTFp+gfD1I0Gb62liMKwZ4RFe73X+57Hc2w4mf4p+9
U+Vad2cxo55KuGxiajmL5Dk9Y8OXZ+goNAMkBF7v/b+Seaqy51DOwMWB00P3ExkjGHEsRYKMrjAG
/bc0xq/sGPDINh2twtAWZo5wQUAfqTjfsmNAjQavjCux2X7FaAh0QHm5zNPt8IHpPEs+8G3aH/D0
EJer4gTKnsPqQsHKQ+8SbKjhNhjGvabPqmzibH7L2i2RQBjj2uKd2d9OZiXBJHiB8rT5lp44w2oj
iUTzuM22odfl9P2qFkXRZpePyU6aFwAgEB6JIPC7ljP1tPUL+BUOxMJrZP48XIT07MZYFFq2Wib5
kFm8HxD8aBEb+ul3/KhCS+hwDbRu7zhAHcQdwui2Caa8XE9B6oVAWW/YRszt19J5UEdA5SzYXRy9
LUCDYJcSdwC+X9flkB6NofpYL0CHS+HHQHt/VS6dCBQyWgGUAnQVw/sWxM0CjpURm0qCsoYiA3K+
NSR22dciCge3223UJ6bUluJ+IVpeGO6Sqr+sGUPyAgyBY4EZZ3fu88NWDOXjw5mi8vMvF3WJtv8E
/wYTeso2sF0NRW5MCK+3y3zbvtKJYx9wLelSs0YeeOvAeFteWzskqVgbd7HljlfXC3yV0HdcnY3+
EMMv/Qvl/t2r2pyWZRUHce9sOsHEKWbFv2ay1nrHV7jpRqERnbKqxNnbApLH3xZcdXhY8iuu+0cw
EI5k+5niY2oDzGF28I4f0ufS88sVyohx3FDa6RaNdoBlaQJDJmMSVKJ2WlwA6/RMW8wUXbFxq2Jc
16xRAk26Cg3ZceiXO3Q+pl6CKx7EsogfiEqapD2nB9MDOnC9nannpwKX9w1GYiB7kAPUjXhliTIJ
3cELtpMHgVWEQiyDcOZsgCmSKQsgKM1Q7NtFQVjPDUXzAJitgKcgGi1rGIoFbLh2T2dNJtv+aN+9
w+l0VkS2ikz4ulzeUdszbIU3wLC5LqrhrQ67h7RW/+wh0ttqvvSxMAgpg3iH855BNvGm5szTrmHy
2S2mmLUDk6ATso3C6iGHZYuI5nduXaneT1t1UjlUwjlzGLVjeDEOl/TYDDfJ8iFhD4/zC3GfuILB
eOIrbOyOHT8zdhbGYe6EWgYyh9hgs3zaFjtwutxeTy/Igg7jpx+jrgqCDuGEoZW0BhzQUvA/Ka3c
emk8s0qw+awLgD+XvVN9zYskRqwTWOVjQ/gVfkLRTuytCnkDN64zR+zi2asfdixj6Pe8vC9Yrvi9
29sHU1+R4Y5XZSyiA8vxuEGxbnBWNMaPbXrfv8F2Wq3td/rBr1Ae7oXFPUSm1T5YQbZ+ca2d3Del
FCSQlVlWbHllQr1UPmjnkceevcDshQLLYugfHQy6ZXa5d6jS8cERPfbiGuuQrTIElGHQMtFkPxck
aMVoFrPf0ZD6rN5hlaLMSWJ6xxwMtTyPzZbM7eqYrYkC2z9GWowVPE+3/KtY9PoUnTtxvZlLgI19
ibxVuU3d0qFYOkM29ku1XsfNs3Y1y/hh6STN7fwpMFSto6W8Bb3kYXJPDQCSFm2S3T5WoQMuoO0Q
72zZYDaibF/ztWDGEqhi3Vyudayz7n+98CIGOQpoJ2/pAEOMiNSgopLYVoSAmI/G0MNqzSv0AnbK
8zFK6s2P5VT+ytE478QyAhgZp/nj6VghxyBEqRcXOQRoz5PmfBRJ8wlH9Rg5u1QVskoGWdAQ4Ip0
DX94yCs6nF7wZbRGyemYLvk1tkgXe7eddKV9Ga8NptuRs5NdVH3bkCV7x/zvXGOnecauHGsFVAkE
Pz4f2beOsREgSX+9JsCxMq7ZSu4EDb2LNnzx1CtDVsnz424+f6qV56eMVeiwwrjTQlpDLalkLMqR
jE9Fdy6c+C713sZ+d/a5DUfdNovzQCtjD62wc+q3q5ImG03OzCb/4FRhrxrUtMm9V/a7if3+ggUS
nBfxeWunL7tY5xTqW+19uVUiUom8KIsj0EPLjLRhmZ4K8SnR4VvzbA+1lGIjz/8V9hCuVzaFVoQt
HBHAvXj9Yyv6M49/tci8lJHLFw7JLD76SxKIxd8qnmWjv2QefJO0Y5QAzijFSJZxf5ygthHMq6ZM
QJfL9WRcsTrWDqqJ+mbuKAyNJdDwv/vnfQaJSfI/RGHPTruxAadASv0TN7iPFUMjWYgrEsFBCCAN
UI/SXViYmZnYZ9HKdFOnCSPzhOzLnHzkM1eBdIJJ5zLioQhjH2uTNhU7/VwIqW0XaUNLV/l9Olvz
fP9sXZQ9EBResCPNfNx9ny5GFszOYkhUTeX23EMjkisxocDwLln1wp4UxgIbx6Yj+2px/C/T+TPZ
974Mlw7wEn0qC2YLzhXbs48Mo7qVReLRQAyRpZviLjQ8wdIvghY2GRK8RIze4R3G37M+fMaubdlx
MrARjy5BAgQ1z/XV/NJXgvrbGMyLrt2Ya4L1JZUSaLofvx4BcrdQGMqtLuJcZhluNVr458vpdrnv
iMbXbMgRMEAr7EAW6q8oyZHOlURdjzJaiKW42E7Lm8GgSnrugGklfEqaNhWf927gqpB8k7SYKM7x
+NApYQ52vfvY2eHpVx/FzGVg2ziT1X4u0L8uqlsVusv6vL+4IsI0QzRd4ioZzHbhNpKiNYnGokrK
0O9ACmgbwNIpy0N7VGerkFRF9K7bdMRDVOY6H55XBGVqKeEKjTw+bW/w5GPtzRbhLc4FB1tGe4PP
WJcZ6ZMuUssvZVB4ixjZyv0TOTuDIaRYwK2QQl9EUTwVhU0FKikO9sKVMdCDsTFCLuWuBCg6bnoS
Lf6wVIMLsVilBEuJZfExSKM8JWOUwakZzsna3Hh94pCXEoMdk0EAp0qspbjimeN8cEGawo5BNwna
NYwtxLFJRTvXqSymDejZGerQtXIN6tKzZX6/7NGQf0s27KPIBds+Yl5qY+kNqZ8V4tFXTRKzE8Vd
f0fqp13IDX8xj3soTkEIECTxgaZFD9915YJJa1SBgHocpJRoVOUcNSYcMq5pz5PedeztaalZ5ZBZ
eLGK1bm33T4RU2Fwvx6LY6LIx6cCjD2zgwYBfcSQFMb50ASZu3mtD8G5UnRylWdM3yl6vIkhdv3n
ItAaZIR58OjdalgZdN10E7eNkWHu1QPvBq6Wff3QQzEm/+6+naFsh4gE7WDKQ5g2dBXojKJV63hb
x6TrkBe9OEvPAVaPU8PsJTz94a+cja743bGNVzNILzS0QMq1t81hhrobCA6UytPUS5GHUPIckjCK
bmFj2AibZnRm4eILTdBaTrsb92y1WB/P6uMVUYUjMup2++fn+RKCrTkvfCzSqGLmzHubSPHniyQW
bEVoaV2KiRlGrMU0j0rwXTa/c1dthrZfYKrbOGXFlAYFacnNQ+Ce5XfIePR1xP2XNpvcLqwxn8bo
4bLujDclnKSutyYqySK3nc5CsZUVhJC2gJ1OMQNhvVJfs9Z3aFCw9SeGa5ThWB85hD4NRXa4WhmO
dQXDTHtfZ4drgcgtRcRPo3ZxL9NqLLOjasOx3piI1edJPH2S2sH0wk4uIiM2JLIC/9gxzDzo9YFd
/KfJPA1wTaIEAv6rdM8kupl1imj+kxB8DkcsBWN5UTi2zj8rkiZMiEMblYe8Oj5eozyHlWRprEHy
6eCzvop1RR2iFUmYnM91KYGLsHwwCHnViKu6oyfymmXbNeqsiyO19aOOtOFfFHMNE8afzW7xbOpR
cUaprsfFuTDhW1RJkGFq76QYCEMyxufWHKNZlUUzFytwzvn5vBlTFbtKQBwDayv44pXrV0rOtE/o
xrF/DbwVRzN5zh6QO5vp6WoeWadzPpFa63gNSBcbqQT1laP6q+53FKTCmoVmFShAiep2SY0RiG0c
tIlQd0r+IagLuIpdlfaFFf+3iTPrheIrgWW5d55mFHFTJlnqKfXVwXIVX1FGsJJGwAdln6+ylnKA
IuaMtjcDOeuT0a11kG8VchQEE3Ah3KBK+wV40TBXEBTAOueAxa2YmxZH6lgkYne6Y7W4DhpsJHPT
1pqAbCGywPrWQRIVQeuVQnkJv70uazAuUsNltuZXjUz02VduZSy2K2qt5CsHiclVQLBUwiJUlLJs
5ttNM+RYWIzVEqRjMko8pktCoNeEJZQp9hImkkM2H3tzoD+ohXfa5LscYLGZF25YQn6W9gzSHRnJ
+xwukIUnGPJnJa1CHkXTRxCHYQmnI3/3U2UOHRNKVvijmrGKhJfR62k7Dqyp1TZWnSpHZZcE10TH
9cmyiS4OrFTDOpzxbfo6m7EVVniKDS864o3x3n6yMKPnEWI2WSVs7bMpyhzrWHsyWwJeUONSolSt
gEIUo1SQxfNiTpjWUau09aK50fhJ9KgKBYgj5XbZcb561oq7mdWJVvyo1DYvqydXFjbzzmXB3PFG
otd1K2hDacq1lKx/QHxnLJdOqREG5JBzqc3Z3Mx7CwDad+XFHZOZnX/e95evV8z/UUcI62LmxLBO
1gXqbCfK6zjEcY7uITT6KXAWy6TUgipzUUvoFKVHcrqWB+jhWKpmfTlhnq+kSJqTDxrxaXY2MbRG
BTCZKyK5ONPeQ6kzctr1g5QJ09knMpC1MZl6/n1xmpaBBCH+2gVG+w2rtj984JWAWkblWvZSmuAT
pbeKcq90xFdUo2MPzAVx7B9XF3zzbkyVb1OdQ8Ipl66ScZLOFENk5GI7lLxPkawD+VQGRXNEWOwO
GUke4lf7XHaK1Q4+VBC5EfJVJY0YX2LJm3xpANMrqGPaMR1Gy8thx7DaLGuXyt9/DgfO6bECl8FK
n00xttJRpZUoYDUB3nQKxtM+JFDupLxzCwtmXBWd1OWPlUUuy5pYYBxvHn/xcgRmsd9L8og2OtpY
m6cPQkcoeqxLYqRsR18l2NDG+1SpFFf5ktl0OcuC0i5ERHKsdkXSLuNQ2oV3p4SBOqmPuKSJ15qO
HW90hj5uV/2O+L9+I5pFMX9b/A4crOLqDVLWaw1zhitM0vUQg3f5piKO5gXU5OrKzJ4lWyA02Jaf
ZH7RsvyjyEcSiS+/2dma13FR9MJk7bsxhM6ns+U6JM5tRY1H21fKdTjXKGSkyBI7a95uRsC6f6oc
qutqqa+25cvW6+A4bPQBzornqVgWfTLiJdEn5BElHdP0Q+zD4ViQW0TY2rMRuM1hPr7kyaiYiWX0
bC96Ncwh+XTYuGNPMtOTcb2+tQ5hwJfpsnP0FJYPTaebFcOKK2N3a9AgTCqXoRaJKSC84nrUvxqT
V5pXNWAsOVvX8JhZQk54y0xEHUyxGAd9kUMmiYCM0XWgIWfOl49eUBoIW0QbK8W8dod9un0TDsjg
Jaxs183ROS6hZsh1Mk/LLw7bBujG4DWQBb0TLin8xH63Axc3PG0crby5PSm7wWAnqBJaVzNhaSUx
KLQpi+LBL8NuLrRdQaYpw+cmlsxL0sYFBA1zB/3HQAvuHxGztFRynHaLnWogIFS3y48dbVbitaLN
4jAnOJ5ujKdMV8aJkgs0K7MOxPUspOGLucNQSuAYBxrKSFgKtb0iflH10jWIV3JLmrI0+yA7rKKc
1YCR0lYEoBVmbd+Ny7Tb368rrl/NwGIBYaHA1czaW0nwHD3lcWsuEvpnkU5QltEzfn7vaB9OtyvY
cdf904HqA6lL1CkFuyY++1Fm6z8d7fQO0wc8HRAR3pl3/nLf3pQTCnz5jKrH9lp2/S/MfXh5PSQz
kTStJt6xwXYHNo+NsdUhFRxd26e7cmDDEEtev2hTrsxiiGcxfkbT1so2MShf4HB05DC2t9QyY61M
M1xGZtr7adL8HF2VMqs6PryKS6m18ZgVT4JhxFbl7SOBZfsY8Lt+gkhk/wq4D/Mj6hS7Wlop6zhP
8ZO0D0v71ce627X1Bh6hd+NRf3OtT6kceFIkpGMrCyjf/w/fsJq9YYHyVNZhG0Ul1eGCYeFc31eP
r6FVITrZB8nOID2H9uEL74v5LGWD0slU8fvUs5P5gJNRZKyS7hTXGM7yBilTtEUvPTJEMABEAv/+
qz4weDBGqC0XFW3Tz/O3eTr88X67nRTzYwiKFpSU9ZH93Cxvs7cqFQFmvV4CRMnFRWiNihQN0sPm
wv8/z9v75Wq0xf++G19EOXVRpt2pY3bjpJwYA4PjiSlmnbIPrNNLHQgEZ3M/0X/3sWPdiG4K6R74
uXzbw+vsia4t2oUOXpkbszgICDAsNZby8SipTCMZe7QS6HGAa54qXiR56yTDke+xMoMy3pMmmvxq
VduHYRggz0+BWuKd4CYyooHpZp691yRGh+bXxeaU3tOPDLog96FiMK0jfo+jNLCnjnOzpBoH0n1c
2F+F78/7nlpJJ30RbAdoBba56HYD02dEmd6EV/DPMMDP5vsv5lFSJt5L9ybV6o8+CfLgm6E4IyKc
ANxbc7s0a6CWzMNUM1PaNHanSh8EX2kXKo9yGy46PAwdb5IUm3OK3DBl0fpwyHW+3QJv16+ns/VR
X8EeMdpIMd6GStLx7vrmtTNTrKwdr1vN++ZDuZl9ZDdWC+HMm7RdJRmeD++TIhxtdNH1PuckG01s
EZbcivbGAkhF0ArK7jFJs5gnR6c6balfVaoUCfPpDs898KBOav70ReG/YH56yr2lT8r4k962HMQ1
uxZp9CcUZSyGiT1/fBjNi3T7yNgcTcmcpwAjXY7uDJicb9KU3Hka/MNvz8s2REy2EKYRmNLlmXow
PLzpCzRVl+ltTg9TL5zCXlxYZpB2YQXbEMnl9GK+o2jqzmhkR+CfMT2akms6fJGGZtWIPx5vp//a
z8q+s6eKI2Ol5S7fU+Uo6vi6jMqg2H6EcrnmyX5KQ41oY0tJC5KThOQFrtuI85CVlbNJot/UivJi
81F/vpze/n7aHxUBZL4cwguGxyOKrOHVR1TFT0kpTRNGhgr942lzvl9fnaF8VYZlNYK4F3UrHtMq
j9iczJgOrgmDWRM8PV5Xfmo8VF+OpuCIzBVHDc5Lc67TcdilnHo1Clv8oCcVECXdCGa49/4J/aQy
XrWkOLZqe5WfrvgfB3PMWIGWz227NRJOzlVY4nTcGvPtlO5D3Ec9gHEbF9aXvYe30337qgwjtdoN
gQqzbrX/bcW67PYe0bOYA18QrlyZzhg3nqZX1wdy/Cj/3tZVUX/piqtcT2QPPi4cEsoB9WhVtiFM
m7XWsycwfwM9ALWlk/lIGSScaN0gCHYRH4SInJ+lsjzW+zuQ+KIc6KYidSHu4kbpNvp5fzrv3+fD
RjhaOovsrteszXRwbeI9gvLl0/G6VxpMO1opapPcYktbYSTsCv58unxPRVxorNBgHtSdczRoq9w7
hr1E3bjHVG9bWmM4QgRRtX0rzA2CcSvW2TFxgCfNmlOhTe2GT1Q/1NCUe2kr/nraTADie4GeUJO2
V6zVde3LDiBmjapznbqp2dULjojtmB60o9o63SEMihgQH53aOjuaphTkCZv1tV3xON46caqZOIWq
UTJ4XdA7egLO+kWu4zbvtajg98fX+WK8OGVeZRClwJFhNz3cY/P/NXEsH/qpr9D0aawFTYy1PC+W
qRa8LebxP715d12ZXhAsV4YvGGlXYwN+/VgqMcVEG5fkEMPn7IaslcUTBnVwk2meCPXVmoyXnWhA
RSYvC7o93YKPkl068wfRm2o1z8QL4Wc8WJ7lWIYI0tbfx3yN7Exl/CG2+Wr97CAWkQK50WYXUoQs
GEtwaAD9vxJiWTu2SgrzpZ2+C6Q/f98eN9IviS75egCFkY729xzd8fTvrqaVklvO9eIXnVTI9nQ5
at4si1+TC2p1/yq1kU4rmv0ZZGKe/A4pi++lmIY84qf9I45YCDu74i4q8x0jt7n6rAOpTLaJL3bz
OaVMMrjTfqB/UKtEebYHnXo64kf+T7ZAgTWJTb1T5jqyZ7QAcTb/a2Mo8z/vELIPw9Ju34/kcsKd
ob9RzSNzR0QfKjU8cGPs35XRgrHFanlTo1kai+0ENydRV4HDdmFYW7LWqgPvZkhguWBQpWxwsHVY
RVZiWGV+5efmd3u9nG43SGnenzJDt9zPY2TJ8sBv++sVzSrLtHZVlj5yM29Uh92CmXbQ9rFZbgCZ
Pl/nj3DUhAt2AHmkhNmrMwxWWueBZ/oUlcGYn0vNCrrPHVEIfSqHVcdea6P/xOm0uUzn/U4ZkEVM
8HqW+vXfZ6SpCeNVGIG3EeT1u5DVuTTvcHSsHeC666rMPjiVAOUYMnPfv5m/nt7O1820+wbiocyX
uc+B4zw1snWGjMuiTrctJY9Mmy7eCGXAIMMAoerbletXRuyX97bJ3DJS1RtNaJs6ipiVNv3mAmP4
jfvDpu5TKbLa96gfousUPm2VT9s4uzbGnw7pLx2BQOLLw/wybT8Cv0EyKVh76pYh4vv3I5V1ehKO
12zggdbwZQIyjL/qSAqGqNbMf1sp+92y/a4fl94qEx7ChFkOyX/aKL/aL361XSy2TB+zC8fgtyHt
4L/tlGPu9MMpBmWLh3iLH2Y8KjMew+92j3tcVspqm8Vqh8V9GJX7MEYp7cWMB0WKS5anLnw233/6
fbpASdR1kxaOnt/jSjjhQllzxdYcCt3ZfnXKfnWqdPipV8rUO3XqvSIlxaD+elkrl7htVM1nldA7
fP92BqvP1oHsTtvbx3lW1lNFiqVbSq6yFXX4lCJxC+krFOkr1MtWKYLbxoJbLC64opLGOtIrVUpw
FeFjt0Y5Bv8W9MqBhpG8tR1WUSqrKFXt2CvXrqhVVdMqBzYU8aVfym6pyG7dqFpKUY6+NZ982Ipq
7Nhbiwbn8r1XtETZqQpuecjKhrP3s/fRM7ZpysJLAXFkA0e7GaYA5K1X40UhfyBlYKio8ITUBy4Y
hwhJKpu9Ko9fwbVAVSz1sfJ+VWMsj0sNovxoLMnLV7NWbLJuUI+oVKyLpo92dqG0euXhWwK0list
lOte9Q/grmityi7VqpZdSqNyUt3i4V6IY6Vc/7bQzM+6Uk6qUt/LrlE0XROrq6XeKJS3qapURV0q
EuIJQoeI+yns+P5tfwMXEsheZqLsNJfufoUCL+MPaY9to6mz5VFq5sCgDdQrG1Po51EqSqnnF1ZQ
5EOh6NRCvbCdctfHQb06ZaXMmKlRtBu7xJOvDMEdR2Hmg2LwlYN2a1rl9Rpa3aGolF9tBtXfK0vl
6eNOkLTXtebd6uqlLBTxqApVnpUvOdD291xWB21XBKBW1f6gXNMyo8EU5dc0muxUyoPR1uqD3Cua
r+j1KIMy3fgAF2ffKtd7GGJ/bvmjisvO3LnxUZX5y60suC/jZ2Ix71FzgzUDflB+s+yVD2vlYLkg
Cv6jcje7rlSfw0b5lG2RYBoqyrdroy+XirNVbLQhfoGXKqxRNqlXA2XLJ1Z5KNtOv7uKudSz24DO
xHL+iubvW1WL9oq2KTLaRvGqe+ZoSa+cYuCxKAALarNfVfa4qeJzXgjXoHxaVuoLOSheWclCk/Wj
UaCEYTpmwEnb1Cj71FexTCz2qVNkYmzVbSpLxRqo9aBTo2jmXje8WmWfhkYPahaKDVJ1ukOpxJV6
5qdI+lyJHHfNIq64zC0o71DX6Y5hrYUIavX69MqdLcbPeBOKjHSFFgNslZUPnXrOnRLaGcfYr11M
XzkpHuMvBRdGMY76plZdGG8zKPLZL2TsIQygGA3Vyti5ouU71akoFSOtZ1EeloQNW6685UOp/Wqv
hEyLVjU9WkVEhiAirI0qO2jlNlfa3VA0Vx3Z3Y/ZBcWwa3o1qN0p5vO4MBgWMtUoV7DvhEhhsGCV
leoZIOVIy1aPIVSK+DK/RkzfKEnQnofChHdQsTR8X1R77x+0jfLpUMVSuDibTjmbsVNj9YoX37EI
D3vJXCXQ/jzt8B+IFXsP9SHf9lut3ZgZBIkLkLQe73NrXhDKxIujeAScxV7mm3wB+K0uW6lUKv8L
T6fdx+oSxbpkxXqh8U32V5QBu5iPakgPqAzSS4WTv2/tm9ukAKzrsn6Ac8YqQ7n5/ag5ZopfxiOj
UgazUC5vpSefGkU79oWmqTplwqMedlcUVcczrtLdVa79wnV8CGnUmttZqU5cpyiqsVJDYYqX0LGY
oaTRG2WfejVQ1SuGVPGIuCCo0cv8jh9sT0eiSjspnEkjqzSoQj+T7WUmDoskyUBTFIWM36Z0mcpo
MBYSgn13esP/+ogZOaDKxD4Fl2kLfTGS5SctQ/Uxw+x+3G9Pu/nLdJ1/PF7nI2T0lJKvloFiS7ht
pePRupyuV4bXStID0lw6qcbq+nG8Te+b+XI5qQsZ49oq+vgwXW8/Jrm56UOGOxuI34I4Jqgt2gW5
qwEabMZSWEjGNqa6oFdzni7QyXC739WpxC99XUckG01MB6V8t6jCsU3XTzfgslE+Y4Xho2dyvWo8
C0URpsi41YO0N8qn4aJATqPrWbf0zduEnNjTYTe/pedsBqni2xb6lW6n84049wAPiDy6KqnIKDJZ
vk0HYNqad5v5akbUOBfHTmJJvJ1+uWlEO2YJzHTofJ3/dIDbSnTFlqn4bQ8Zgi1QT6u6YJCpaRF2
/zpf1TWMMQktbee8fYM2t0YNbub36e18UId4ZEqh5mjTDop+rUZadEPIgnaxxwKLpoDPbUk9tmZh
N3sjsbwOa1zhctrfvF1mZVDmALD+U/ZT21WQWHVup5cXrBNxszVX46ZV0OP4kblOZCKLUlP6qbfp
uD9rZ4uj8TeVUQzARNJ1FDSP8LqBVrTVnNvTAVlKzWGw7rmfmBALU7FWRzgh170MJ6aEbCsWXmfd
jO00gIfI0okh/+L3173RLNCijBgmc8tuJL+FECnI0DzP0HQ6wSpOSxSRmNsr1GWdsJD/9WRU3c5o
iPm4mzRh4NE1jH5YLfEwGHYjNJvoSereQaLx8ckcSMsD0agW+6REE4+aPfD0kMylryqauqWfctyv
k5caPK7MmfCIVYOEHG1yiiTa2MjhqpwyiyThhbY8cnZEu6UWKq5MLESV6h5duVAW7mYCMkjru357
ke+oiIgzjhVMhTjWz5fT2Zh0H8pFX+DFLDbf2h2/+7oypCt7L52kna/zfXcKLT+MVMLSlVkWcbS4
f5Bm3DW8vglEPgktkzDeOCa+pzCWIgQsZ8SYIp73h39vxwrJATKHuP+k6mbADQwR0EBUFm6Mc9sB
hMRE2akxRpD01razddBrxYuFcxAKNibUtnLl5BFoR+hVx2vzdr9lNoaDSygGVzxcXuQ83Wdub1D1
NWQ8a+EhMZ4PWFRewjNrrOMjGx/mhXU2WOn5/DxfsEezPQplntwiGAKz2PLaYI3kOp3PbjUm2OxM
ae9hODiP6+s8r7eLum75jlhdeDpBG7kNthVit1NREnXu/US5g+ZFyhKZkGAi35Zu4imQuJllJS1t
WhJDX1lpe5yKFWCYEQ6rTIlZjghFs4QPBwhLOglbvd1MeFF72Qu10IB2dvenjFEbX05nZUhj0YuW
H7GP4+R18sXeHzFaYfbydCFl4q2adNU2XQyeX2GUez/YK/W3yy/4ez/DTTY67naCWoJ1lGq0iIUD
QRL9dLhfQJz5vbbloNs7bJfbKSJSUoavReM8ZdU8u1q1vHlTymbj7UIoMnpEQIQBUnaYXpSxGIoV
Xu+RRmIbCwhtZY2llLOT1hhOPL9Altq3TpLj9ARZsqMYNTtdr/sXoKk/qpPsqoXBWj1qbuouxDp7
KLNr5eHMfn+su91tKRWukf3snOBPqmeWLTOrHUjW6Hn7k9U9AC50Msz00XQ83V5BCDNmf7NINA0P
e8iZApTt405PHTiPJaHB6SpDcfOVtcCC++TaEuNdeLo/PR3Ux4Alc1nYxd4hWti6x5clwBli4uv8
8TIfP2khLoBANofCyaXxu/n4ctgbl/py0M3zfgFVtpc17jBN0dgn4NU2z6dySfu+kt5x2wwB6j20
bnXY3orlXHqfBWcD+O66vnMZX/vVNk9Oj18uUGNOiWC/g93+Yr1V1rE9PRZDs3RelzMO8lxjOtqy
LhqEMz+7JhKUfcOVKRs3xjJmm8ZCmi6iHgfDf3qhguinw2n7dU4/t/0Qx5KqIj+oMlgtidrT6d1d
gVX7xR4nWDKjDITLzZjt5xdgZNfN94Hh3XlsCtugU7c9DA/DPilbH3vMVuE8A92ZURT48XXzyFCu
EFKReNUiDCV05N343lk+zJIerY5LxKxXKO3+4aLsPtM/g+d9/Md0no7zdd5c7k8fMf+WsvVVbC6O
6q7BROedZiEMRSmlet1N/vPpopt+QxXHASsXHJgPu+t80364kK5evClrZHvg4PtwQ1Jbgiortydh
k5ElrtOmphz8sESgjuGdsH0+VzWTJJUn14e5aRhH43ojohX4OwBy7J4PysHV3JWpkJeQQh42CJ+N
L/QcrhoiOEyVr5PpnsUXmCTYh1TZXK5A2kDs4jpbYhutVdpxiKFV4ypNpIhPI8FEvfgYFaRaFwOr
oQIl2VZ8WWTSrlzXGPsUQywyruUZLBDWl+z0Q/LSxvI3Pm72yvNegIYtAlc+Nk2t8vhW63slrDd7
FKVWSEFi27RYbShLB9jFT1uTtHG05fUx6YPLcVsbNSdF/RjV+FQPRqU3VC2Ln38XlW0ppXc/IZjq
yYn2c1Cwh9wNiR8tG5XDQKTZFz3tNHDceXix3L4+3XL7KpmeC2Vhb9bbdLY9drDNtW1gpigOLtAI
lyhtIOVEvLJvE/UlsZkrRXaGyCHgGkR5YsZSdih9f19m4G+CKGkXqRVAQ7Scg3EoD3TdtVcvqr5y
3gKY0sztWGVHlwLed3FsFFf/7KF1kpuKMsguw17Jv/fM++5CMUPQ8J8zWXtJux5OLziYVYkUFNge
5kmzXnj+ALevimdmFjmjoPsG48q0SrFUyg1Fhsvb7Z244UC6NvObMhw3OxEI1WVEY4XfVgiyFs/w
WWMspInFfEheR76HMOiqR5IBEurQttjPBnecOsD6Y1AmVUTunwV4+DipmRHc5Iy1J8YAaAbOOFIU
AXMZG98BICYd/oyUF4PEU5Jo7LjuTerjezzwEde5eSwKXvpXCR1reBKsoaW0J6WVLbjPxtzDrWz6
omRveefQ5afhFNmplqHBgsJnDnJ0nS97I47/mjF4fP1f79JQMEjhsidFhD59fzu83m5nxzzHwKCw
aUQRSAxH6fwfztHpqyJivqVQ97yDBi4u4aEkTGBeo7P/isgBBPTb0Xx/Ac0+Hcxs/R/PE6Auk+BP
HNS5OdA+FP7PdhB9+sd287Q3JulsrNQdJprTYzghLWKeZqNW9kfojZq0CnD/XbSr4MUybl/vl725
gUZFHQ8fyQn0bAKtK2o2X5ym3eZ0TgD5cebOtigi2/E4fdtb9YwpJ2NppLoL4ChtGAUSWZZsfHuA
RjIgfZt/mY1IAVBhBF9rVESmPX67v0GXECN2lpbyeDqd01NxedwiitrCfw4Ogn1/XCbib2f445Vg
BD/e5jclxAaDDUNYKCNpnczjdr0BfbANyqujVEUxxOIyOvSyk7ZduBAwXvrc2fGxgjYzkiebhMIH
cx2eErYSrqoIo+DjGEugMQYBS/5XZDJSeWxxSj07gIY1gfGygFJJaQt9tzsm1cFMrZsygWrHb0p2
E0ovitf59vcLcFEYc/m/QEekD8cl0wpbQGPbQID4GnX3MgOsHHqdmJt5JKxBMguPmzuOkkC+bFP8
U/hRzRTK4J8IyyZnNw/6uUFn18wuegKNAs3YwUnIr6ev8/EvZowf7f1SpGyQlAT85wCpu+yfwE+F
maXFYmDbyrAlZjtt9u76x49fp5e/AkgezXz8J4RFq7vbhsWhU0PL+49ff/oL3W07ugXhMgUAx2hP
MwXurXpOVc4y3PPNaFUcB8Uird5pELErqB0g82knNZC3n3pEgPJ9G/ckrshEWKhVd89Ze09Fv/aS
queNKfZnVT30jxrU+uUk1l6irkYQTl/vZ994NNkDuuJNIgtr5rXuHYfeh+fDHWJE0Cj06uBie0Vc
x2EQVI+xXI2laHW0OQG8ARpLMmkxpl1Lf3sAhANMcubmmM1L71fdsbtXYZ7avxbGvLnOG2/oKRc4
mGBMjuGWONOLGpzRZiFU4Ir01TtE5iaNH8ztu0B/3FvGS0SqjK7mh9ZEVegQDpwPRESf/taFvWxf
HGu53A/GmzaTTmbDac7h23C8BCbcgxnwdgfQ18FqIGX+YzQHmv79cgDNkupGQhMYog9bpw1dlwCC
kB5v84tRU/r+O8+kiRql4B6GdcBWXpW9LPwYIdThjxBMSPvikYWtTKaOhKFa7qyyI0V0JLQjtz2Q
nb+oO9lF31WPwJDkt/5tbqJiWe7q2IcirRRr3ju2sW+8b1dsW0+fcN/2O1VZ0GraMFL9eJmu53kL
bTozKowmFYYCpd0/GOUEL0gDoGreSbeJCHHoXHQJ76NzsbENEO7DfL3iI0/xn/vLv/aHw1QWQ4J7
nOYRjpl1YHaaYrWcB30z+KvyOl2xwfcmzC533kN0XVp243SdVY7898smPl16pbQjZao22AMLkC+u
4qoIfZg8oNts2tvq/qcP1Dab+/Hr8fTdNp5ZIba1oE8XQ0LgYKcMUcVrs/2X/471RuR8nI0eSnuh
XbXwIb0zxIMXimnCfFDIwtrWHviiQBXpbrpNOetoKCJXnvYh2MgLw10p58QFdaUUVoBn+4/32y02
btc9fMPYPuwyNrlHtzVpTNKn4YwxWmmJGOA9wP8+8+QNY8cvjesBDiaV8g0T+C5U16H6et4fCH9r
/vd52irhma6RXDAMzcBmbo5PVyWiUIpfo/1mRAu8/0SxF9lvkg+7CEeYnTN3zVUxHJPXFz0eFq9i
2Mrb9ES+iG1Uek07uHyAIFUQrWbeHJiWIEjvaeEcpNADgNIRx48WPeEKKauBZ2aLLRTvO0wOlVPn
qkYuH9Cb6AWyPzmPm4UAGH0dHJZRrjdoPHJ6VmzlIjLX7RthjsgqwevTx216gUM6mrcTGvyhesMS
PeXY2j4+ts7f5T8YEeI3Gask91eE1ZP5gHf7fMuZIcNYPDwP7kf+bHwn/iPUspMcyaf59n02Fp57
h65ph7JkdfdU494xA89JsPWrMeB/gnPXWs9XrqPBwsv2r+JuxgeOrAXf8CS9FThmETxnFip29ezg
SW4QDKWMwMqKK6QPL/zdxRppjzDmkSFlvFClHhTBdL2ejEF3C4jlqy8rgNvsqRA2z9P+UCmjt8Lo
fkhojrg/6rF6GqaPm6UXK52qkndmdoXYw+9YYqnMrYl6c1sE+M4I8SbLGFH1RUwuUFu2C4ptMsWX
RNpTMK+SdKfr7EYFE/9NlY+5SLIQB1k8CxDgMf94xUyi8iAwsyW0YYVL/yOUAfJbT3WBGEPEOsHr
vL0bq/UjbZUNbeygW/w5pJX8nqW/5gopUKLQLNaOMZRxeKFnY6DxAW4IqkhljC4yI+wYKNHzH7Em
4tf5/fajTUn9KRObxiH74N5ABW7TsWkhYMF8oLlHQxW7jC3PawZxzM2CjcLKlHBr1bg/zWGM3JiS
LcGSIGW8/X6M93VgIxBibDoowJ2am8zNwjjzkuqM0xPKrDJQE7vOtqT2dQZ4gav1pczPSdmUvo63
tF3OZ43M1qKVja43jWSnpUyjic6mCSPs4iEo86QMFG4wYrttAuB+NpY3pKzcO3ZUvcaxD1eI8Uas
DLcNweVkHG7xMjL3pWdDBFp1GsIGy+htpyukzKVnA6GbaJ2KJ4z2bE7mZC+/Kgnb0pMcF9YrqYI/
Ye/+7aAEqgeej3GlVV7r73ezeZPMQ6J4NL6XThzQXbwfuxmej4n6pirvR8VfIitp7EH0xi2YOMmY
D/kE4rTAVcIC8svdvDnP9yNOT3HEmzbaX69WnL8Gnomrt1bf65FjDxpfzQDfrMp8jWxvEB8zsOgX
/rw3ealUDzwUc3y3j4yTUhXMzWBb5eNq6DHN3/NrrAqWqiDPxwYfHfxjC4GL9OeNiF3gAml3SQlU
sPwCYzT54W8//el9O599z12jqYzlDtxE6ZxVO7B0WeUPP5S/UlRJ+b6LLGHa1//5+3R79ZNRPm7j
rsfWg/oR3rIfQj4cXjZM3qQGo3hUE6XVrcpkOxtgB9/2Uzo8TlvcR2n1qhQAEpcZi/K3M3O2ZwW2
0Y1CtEoS7kqRvniM0Ruf/zFPO257vkKgBJW94kEEIx2Kiy0rBn6J7jDFE17NOrMjNTE7lSU0+6ur
KTQW+wslPbV6iprf1CjBYBGoV5sNTH/Nnj5Giba//umf9+nwVyX0bn64jl7N2j0z+xukAAjqpHwd
7GbktnJgqcsbqQXiGErqBhqjiW0zaztQiCm8DFblOXCIshmxwVkxJBiZ4dhk/uwP5fRk/tW39Gtu
ZlhJ1qOFLH7B4LVxfv8M8P4/QbRVGamPd7txOgwO6We6SugZKMtjNlLJQEx2y5XfbqV05N32Q8+g
2GiETjJ+KWLutuFzO8vsJPYIg174Qn6uHwt3RZsbuwL2hckGQRVzpZaQYiKc8LpPF0UToLCOMQPd
wvbZTphfJ+pHY0RVSjy07SRTIyC5aNN+RY/mMhvL+4cMcrL07VFs7HhkDDrkuzJPUQk9ciMI3yTG
whXsMgIj/HzXK9zJPmsSZt6vRgXMOVhXzzA7FFlzBXiXC7DM2RTntDUm59WYHZvr6+luBNiYV6Ah
4JlUTJG2ksLSFCY6Unkv7qDyLnZNL64PT+0PIZmjmhO40nKMsXAj43zEYPb+DdJA1gPjlMSUd4MM
3GH6ALeCGn+rJmXFgCaBkfEf07eJUDnIDHk9qAmsagGf7NnS/5RBuvgue0WUngRj4FdQZD+fvsfB
KLiyX2ZsqUgvivqCIPqbsWgysEkYSvmyiqPMFpc4p/LF9FER823aqCHtx6+Xef7v6fDVHM8KoLHv
1xoDI+1T5XhpSGMp2RtmVPbBeySFHBLJKjSMRLOLZdw97YhIsgMqi+kKwWkU0Xxw/I6hw9y95/27
kiRhCc9A6/s7oqtMjIMT8Lbfmn2Zrl9hf97219m/YBv3HG7SwQO8HnUbwQ2tSfY/P/3lF+duXTbv
b4dgGilKRoBlQtgB/2Ni4CO9B8H71+nbnNP1OF5bxtGrMhD65eic6ftCilxdz4f97VcljFeVzRjj
RCoHgfkB0uax8aGMMsTmnFOYYH0pX/UcTDU67mIZVJjJ4BeFBChd2Crm+m9fkzzOFN9n4yAVniX8
/QVcmF+A+4aS5ltyapAM5/sFDLaLbGRgCTbLgcBWtQXbn4hXhz3pO8vZmkmZjTz3w+ATrtCDDQ6u
A3DYuPkm1eeSmbkVhtyc9+kFD4xlmEX/wwg4H/NM2gSzMpU6ZnuuHAw7SlUbG0bxq2ibipi/eHQD
7ebtwTwDlLqhHYdTUKY0xjnK1o2Eh4cPghnF7bI2pbA2RHo18jZvKm2j2zjs4mHqa5YysmeZ2Nzo
9geRuX68PZ0OSpCZhhke8MrcToU0cjpMQsso4r4Mgy4vGFZQRqvyV2JTKd8z/HjInsXfK1/38Vq6
xZGE7VV2dEFyXnqgKTucp48kwpQGYVGx8nFTmYR8QjWUEVV8pOl3dNy/S4l18VQtigwskR048j9N
Z0saajEK20mvMOgqsZ7FOW9/tnEk/NTbXz66tKKFQtWOY3z12oUx9cePH9M4hY6bqDZKRFEHa/Rv
p6NxAJC8H63WHcHWc3V7IePiPCnSCN7rwQ3EeDd3SBUvdJDN38MmiQ5Bg7dk6QlzC/o+EyjfXL8p
PhJLu7NixGW9m/2zklho2fMeiIVJfKmfzM6y8cM/WyNfrZMsyjrONXSCGKBAIXxwq4RImuB2YhjV
egm+Q0AMQ1Sc6b6NRaBzMbEfgRX/zVUnU3UNShevKbD4IijZh9NSLsDCNRuY0+kHw3glcvvZMigl
ih8uFBa4D67mIh6RxS8vyvUcwqOEsFBpLAzrqKOwhwloORsb+4z2EXJ/x1sqWUfDtFIDCGEyGY+U
BisF0BCv7NW3mb1uPL/xKAe546+jaVgF5jke/qpl+HoW3Ar+MKTJETL8NAM5Gd7BENV7m6G0WlH5
PDcXxzF+2H+LoHpQ7r8O/No/opsZdIhyx4jbgKYXKryRZVyYi7YMKhEy8dseIgpxw4kAw1oVVKpi
j5fCrbZFB9vTCWv6Fc+5iDzy7v8E9BWcFGyuArvqpIQwvQEu+HFFNtEj5e6xZCRd8T4EoQFd2fp8
5d+houpik7mbb5Nx6jUvr6viYlFrxdjPbyfG2uvCmRteuedcfDiI70pMU0yrLx8thEU+ny7fp4uS
8+NvQ+kpByGqSVqcwDb7HaYk4XzpUU0DgfAKd6IrA0cSI+uoYwkJfXq0vpHeA9pBix10MdPdTPaV
mtXtFhq8ZR1iNiE0rEyojqCHtkzIplWgpNDeBzAmtWHK2FQrAoIeozwu46OM0EoOkidupU1GN8l3
vEBUS+b4+ir2U6qHBeZWVojoyhAhpajWZfpmHiQgz5mTSXwKQ/VSTSGE7ven+xUUxl+m6w0TWz/n
hlogGFvXJuFmw+rflW+bOJrWe0E8U0kKDaMMUMeoJQvW9/tw/bo/K1+LMbX4683b6aqtXgyouY38
hcLNfi9/0aezQFHSWCwKvr1fXLGOMkrI2Lr8XcKEQTc9nyVjSTz2Wjv/5jcsy/oNzSGt9qeR8h4+
PkwWszXvXa4xgz1q4nlVAT6+CaHEa+SNKuXzcZ279ePf3w7XEHgOkB9fJJFPUlUlywSwzhb/ez65
Ej3ybfdX89IeicCbjJbpgNQXaaOnY7e4gPSH+V/7Mly25oA236G69u8npdNFzWOp7grbE55u03/+
/Je1g3SdVDt3veOrovw2E9eaOXpGHi6TkYlZQxWUA0dfVl7lO8I2DSVW82KfZuE0u1/PTp/BlFm/
X/sZMY3RBio7UMZFsg6p9janCJPoszYGQ7hWdWSe0vN0PyZ5ZWj27KdR5bhqJ8duovx8J0HPH6VY
ERimOsGoKa3s5rarjwWmd+vezMfT/eU1w6FC6y6ksnhf+wINWGxUTKMcrLnicDAgByT2B++Bs/td
rr6oa2JJKLkkrBSmWlrZfASzRxGELq6bLXiLKePtXXNA+YEhj5C2onf0XW97Y6wjWPa4N/tpddqK
i1UJkB13tAoZSs3JUJpI5UaKDAj3/qlg7wcOLGv9YTysSFlBLfI2WK1qHqQv9JyvUK3tw5MedPxn
BmL1BJjn5kFhfH1dbhrbw5HuXVMSRoOHDYM0blNH0mse0JOy2Y1UrRH08Ge2vRNLWo2R7qElf/3F
IuqyaeSqaBdcUm3A5ftwtK+192CDTBVzE+PbHcTKFtpSOXcWqTUyqAJTwfbWIguUzpNVFm0Ez7In
xvxeYirZ7+b5+RkqpZR4bSXBHeJtsjNDtovcDrUSaPplu6kVTqdCQiaRKeXUOSvS04nbhkqEbf/V
ItttG2TrC+rpalQDnI+khx4rHl7sk2602xoXiRmmEmGI4GKjv2RzbsAnmHQocaBC1JDGUW2NxNsW
m9B/crrsT4kMHI1TSCjGxDi1Mk4p+T4LxxtXdt18f52PvoA6PWLQA+Ap2FS+3/EQnM62ZaGd7wVm
CTy2pw942unwTnrehyYW+95V8SAKl4wshYcF7KamFmQJlDaUqLlqEGW0QqpAjPbJ5fLyrCjB22mi
2h0/HKUfodbMpvCUkRaBhSZ1ZdLUhzSOKFrpGWniXooWGgZy/opxHAA/AmkU1QyoG8/IRljrxcTV
KRX4LzO9Oh9xjOYEgcKcQqij19tx5UIh92F6mg8uBqeM0EqFpOZKZD1w+nwQTND4tCnum7ld44OG
dBgH2/3LliQnARcEwa0TrILb+/UG1GBZBODQFFIQHALxf9kfv/I0h/Ga0D5fVfI7xG5f48p3XsxD
Bw1p4eZ/bKadLenAG2KpSrUcMorSkmqsDw0IGZyBwAMamUlVcCUXnk8ciSZTKd9W0rfZJZK1ml9j
Lb1YbGaui9sZqpA0/7kqOBtX6Lpjx6L5LGBdkCHazO+YGnaiqIxfSM89pLGuNjevrLOLTGr7zPC5
Kb9bSutCDbIz/+3pftnOGR9s5Bm5MHd1b/y+ICne+o0qx1GM5AIcdgYXnE5UP0v+DjbL/cqIQStx
eHGRWq40e/CNdAB+PS6HrKwmJuDrOGMx9O2k2ro0e3nNeXSbiHACSl4WTWC3p7tWt1OMUnmyX83t
BP3jjh/AXK5XunDzN9xdkMiDcWCBFxA5QzWyChqnldzNpZ5zgRvUd8rquofBnKOvFfP2zLNEf5ne
B3TFPUaAUkTGa7moPMVjPUTM3ZZaCysDjC+/ZMAhgwC8fODCUdD5bZwnHAM7VHiUPRBCQTrVMdtu
uSiVY+jhRUYg4yb2CxrfBbHybn+xjn4oE9JLZ5aV5y4wCBCvLxQYqULzy5B7/cc1zZBBSJ9G4js9
HY3kwiMDtwlbEmhdlnCGRR/TJzVx+a5S2VCIVTeLDffcaaimzAaazYsRvPqJNFVckxtFmGiEDKGr
uZ0jR+67gmloqmzJJVT2gL4RaeqiGgKlakAkI4OL9JO5kxHDk/kzFFyAStV4iepGAAHhx5l6A/q6
jhPSpW9CwNJR+WqIfhRp2zG7f/rwfO3EKLV5Qva7LO91XD3XcEqkT1yNgUWhmP8iFhwqwIaKU9YW
EYllgIvYCBQwety1GrdG4hKzfsMDCFWB1dRirZzfGjOX43aCABJ0p1HmM0oM447/d/VO94xSLrhY
vnwsovKeDwfbfjXjlKCUMggfiybREf5sNnx1/VnPYfKBbHeeLmDwb/e7etO1mHS9nLVRygjZ7eox
MQX+ZdI5CnqGJOQg+dPhl/OkfMZAkezp8EXGay77uKAj712bC+2bPsbe9LzRdQp8QV82UemHSxXx
re5WbHX1wOgAo7ydP2ybHhAl2x07dIIzu6kgtvsFYrFlPXfWctHQOOFM+sCt+8fTbq8eA4MzFQHx
LWqk4yn3IsoQNhelN2bd3fiZvNm0Eq+PA/72xFj7iFz937jAG9undX/Z3g/TBfk2oU14rm9Ev4Ca
Dy44Uinx9FFqguMzJ6SjFQN30TUiULX+DflKuPKCoJWt8rveFMK7tpZ4EY/mI0uGr5oqNEQlNgDg
RO/reJOC1YNIBhi88q01CH9o3i/iytXScFXBqMZZsjB4wBtn+9uB3tMzYgzTFf5PRGU8XfUMvxlg
QUtFn3+jsPsr/b8sjVqou16E9Oyj8l/7WTGX2dPJroy15+bLwqBjwMcM/2VTSHXSNATvtqmIDq8r
QVKDko0B0P63+5uipZoueimtXokWoXy88Oyax4/T7SBohFIqHKQRXC/ya4qUg0ZY9O3gc0CEuWIV
j3HdWLgpdgJ6ooL2v5QKBuh729Rz67qEE7mdspRBakFCY0GdlnGRj1tEeRqZ1+oP+rqVKuJopKeJ
GNR0sKljRCbBggvUNA9LU5YySgZYLBlEbYOhidw1aWLcsiRnl/k87SEfe7TEGLkFNgwtXPhcajzo
23T5ej8rY1QPdWxhn8FEmS4fm0ypal8zQyH03Hk89gsVDhj9O3+bUpVFNGIXmx4W53vdAwH/dJxP
9+vh4+f55Qr5pXn3K2C9/ry/zH/TyuqromslCCKmIiC3w7UgJnsQBHI5KYyfjFGHAdKJThmHUD4V
Y5vU+yX3qRi7X/He09fdMoX7f4co2dv5ECg4qFsLh8f+DxZQpN9KBqHEAl1aFP73LlWNUW3ntFNu
8D01Wsy65ANmZJU4xl81xNnH+eqSzQevLxZ3eN4IO8OcRcDQZZ13IANvIFQTKWHgfnHwAyfX+G+t
Cps+jw0bC/XcfmwPGk1XX0qhXl/BlP6QwRNHBkgAHhSNvYN+tI5tsDbeKOXDVmjSEgnixoM9lFEG
CeaVh3vTx6O0YczJsAbyzV4ZbRvEcL0TNjcAySN11Zg19q+SC9+yEm39rLq4VMwjFB4ulwIEKPpO
gIO4UqnT/XbYf5uvYYkZm53BLx3nAYz3rxOE+bZGER8oG5lM11QcY4TB6wGDxS70+R+32/ln3ml0
0thnurqR4uoxDQtWUmo9vrqmEL3N09t5uv0EZ/bL7bLfKpFcFhlknIw+YPXldFhkNRCbb8MEOyxn
pbbhB/qzErwRe8hFI64fq4vLzXuXNTmS8RXyB/tsN7heJP6E5oaFAoQLsV6o82nHJX1uUZQKQUsn
9Wcwd/MKEkghUIume/rwZXeK595IhC9fHDzFYSb/e39TIg4ssAtee9t6UbrfPFEE2MZZ1GTP1jdE
7SKV2MUgYQHJ2LF3ft7tbzphTdVKQeXv85Nx9ECyVuESA9onzv84nlKlf1/XSsHo+E7bkuRK0Qyd
FMaxuc7PgMXIO2+lrMTTYTp+3YTXUumRMkprQoApGFuEXDdS+sPfflJa9IbQUgvPZVs3D23KIAPr
uiSqKQjXwcPLishv5Mp7qU2DdmwDb/calGgI+h/ml2n7QQFVrdVRFbeVLOxO3y+rJbjrC5GWewuK
DfRknlty0GKhu9MbZPBzmGWWUwEzq+w7Ztp6DJ8zMnx9ltKg2yMErUpYpGnwjj/vX+4XfXu6RRG1
2HPiaNtaKgc+SLXYlmxENyFRQdSjlOYNtCLH08bVxFNa19KYZAjfRHC1+xaJ9y/z5a4orrqWuC58
+hkgD/vDlTryKPllMcPH+49hDv2y32nV8n256NHU+xZGgCojXo1c49F+kNJp5iXplad5YVi1y56B
O6AK2m8V6iLqedrE9CjhFVNC8Bwk0i+INv4UhXZOh/ubQrtZtdIjEKruHxs8KqiERgIMCN1XHceC
kuOuZVp7sjiRpwEU1KSz4w+sGzNiBQsfXHws+Hg9XW/46N1Om/uRCpeBFiIdOKKiEs7DiKG+EMGk
y3m9bDffX6GHjLlU1AfbaQD9BTKDVxIFz+NVhaz/s3Jfy2SfcZUxpJN7pscU799Pl8POvF3TV8Xm
Y0Er9ASKZWuN/U45xqJ+bAOxICvcTN+Mzsk2cGDKAp5R61UBuMjoUuA+UTLuVaQiImIJKK06nb7u
5z9Rdd6KXGIrAgp+mL/tt/NPpwVVkJJNxAod1quTGfqeU4j2akUj1KGKoeMAPnOInc/DQXr+foXw
YHTozFZW6UQH1rN6gSR6NX7MfxgbUTNOS0G9/+2yF1iZ7Gadwr+khG4aWsdxPU1wEq2z77bNaJUL
pNogmwLxXqXLREwjY9VoePWN2oAGhnpfv1FqdEHo/bcp9AknvWRhlpAdyTHH0cstGrLe/1EsPnaH
RshCBsrVY2hbusH2oRZoptuQBYMNoms3LkJc/6M5HQPvFFE9NpmFwhvCUylqQfR7wlMXIDdpjp2m
E8TTC47nsDgd81R0QyHajCGw6/GoziZ6T3eEEVmYiVUYPzB28tCN6QKOroijxL2r6L/9ZGMQ9IZh
JELHsVccmB08FiNzG+t0m//Zv0G/5/kC0b+JenukGUuqis8O/6ePi7Rdsex1e1LqIyqWW2d5PnPF
9xePHMBKfmVxg1Rf7Ms/FyWpelsgHLDuJBC9ced/gsLpeffll1+Avv5Ks7MNvzzZFaHKlTqssZQK
Al4OpycQ0zOiTvPlamMjETDbVYOUuEgVst0rq21aqeGWscB+tUdpGT6yXTeqckFC0/IpEZ4qPKOb
91flTOtCEgteOGuVrbEV6J+Uscb4fY+cbd965vo67YgSX608rVrx9Oxo7tis8eojQPN23iUbbdEk
w3FCeKF/XDB137a05AiA0VEnVc3q0AMblRULeqhtBQsTF6Xmj7f+YBI3P33dQyrI6Nnb30/74+0/
MXn9l+lDoe2oKgZmGZjmD1I3336Ex964EBmKAjNUJZE9ONqGRaFaJgdRVaOkdx1i1jaNWFEBWnFu
KRzJLpIfatL1oKtZSWrbcudnXDi6i2LBCTiQoMn0LjMlT+V2y3tjDT0KMcy6yU7SWElaetpRr5u/
OLg9EFXut3vzcr/ulYVxJojAsv3H6fLj8flk44l0B7XmVDRUKdRbCsp+BeasjPsORRvGYwFnKDxR
1UG1uGuNoLP22CnPsycpYjRKzTszisBs3P55r23cspER7dxfOJmTf329oNxOv9Bz4ugJbT5pNz/v
j/P/1nsbj2UhQXUhWhAAlM8WN3VViKarKu7/FZkM9BKEEWmCxl/jaEa3DuU3Wom1VNkR+p3veyWn
NrJ2Y7zC7mFQDLz87VmZXSlxQScHWh5XZpa9hBxfLwyZ0UsBzJweXBlIpKJHqBLcUuPFvuyPGov8
KEG+V+/hSpHv4r3sMj/yqbFHgW5SvQXXnNB3Ej9/fkuUOQ5Sm8YVsqQMWa0Tz3hLdaGsCuliuqfe
jWj//JkzqhoJnJ1VIysFoI7T/ZIejOa80IJ+GnqP+7FawAoGcXcWsrZyf+pYzVrIiIcvRxmRo12N
8oIHO5yhYa/A7nyPyANw2oBwNnbLZqd0RjbmqUgRh/YfFnZj7Oh03tzPmyezB181OpeKlaTjK9Z5
LMifwd75xdO4b7il5u2rNb19OJVbw0ppCL+Pl2ubxkQawyDuBG1zU8aCv3z8YisX/+BqYRbes7Lu
XtrE+dpWG3KdlQUtKQJr0Q4nzuDT7dXZjopFVcYOR51xKU9HhHUqvoLYXpIoDNHwtGmL+X3e3vGO
ZAj5jNQx9y/Q/NvAoA/T6EZ7IdIJgHF1vziqaWtxMbasvb57ZV9LsDyi9cvQPZrPwk6BS2EBtxDx
PBgvhMInimiLXDP24CiAamxfS1ipGL+VEOtnA8kbo4xWSa71dDs9bZ5up0lZzxj7QTbH9Xr6/tNp
Nx1+ML7q6QVIBXaQZ/nIFKmT3LS8yVUZxZWs7t9eTldb9IKBPi2WFl9ba7GTYMN/a0bABsVeeCBo
qEyOs9pgQ7gmNJqZb6uYmRhxJoOFTcfT8ePtdL9ujLL30H5IXmiaso/JgoaQPicRQJXi7kv27aml
twcEYHOGRuTarSiVaKCF7wESiMrP7085Bbcks34kwtxl4yiNdPIUjTHT2TE9eb98Q5joy1ZZ4bAM
OHfhGQVSRcLeTFdXZKtotUriqnUkBOm24TSPLroeNW+uqNKVVWUh8W+lwsr+uV35QJasfTR7Qtyq
8mHvkmGuGR4Ymd1XtfTjuPTgDnkZRNGLyRUU+WskxLQY3X7RYtuNRKr8GJFRpFhMLgBdyNoXZ5B2
JfeE5lQFKyFAoPTgZOlv349/t/fqh5mMBnBl0ajJDbqoKokvPd90B55A+qndPJ8pyaCcAwsVDaFk
gSKz3ERXVtzHNlyvJReU96iU6nWW4fvjZ6P3bRRqtwVQLJp9POXpmI2GKCPd4qjfNrEeZ5lM0nlK
jp30HWfPwtBZHNOmXPuK+TFifnaMj1kZRRAKSfXyEW6ns/J5LalQIcIKaCtdG1cLWq5OfbpzJu1Q
SusCr+yPp93Hv++RhRcL9EkfPe9UMUIuDFBJwQkYu0+R1lqqbHG9yHabhzCzojJGiYVvZapUGbZS
kmyPmmiVCupifnJXqHd52kO7xshgVs65UzzJR8dPuUqLyqiQ3d/4tYF9VSnXupGSO9MBCC/uR4qe
aHmPRZa7czqL4hEhxwDOJll8mQekYrSJ6HL2iaxFFkdMJzbEkQ4vW19suQO2uN0gHzahbzKuTcmo
zB+zyv700PfTD69QvMhHeHs+OVYtzO1uhR9BV0ozmVn1JCMUyuR9lEs5xGGd0qFdadvsTEFaCCPj
nOFPJOMqziHXNwHVfrqczSMXOoKopPlmmDp+qOo4KCiiglbwGBWDBFciANgfdv+YAJ6GOKFl107t
XSS00CAWxVAtqIKhqThzcRH5jeRjv85AqWRNBJDENb3YWHkCnnTBESpZc436yBQS/ClUO6FUpDGv
5aKzZOcrJqlhoOO1yyWyK87AuWxk99BD0zZ6Ayij1smmYEBYAPOURZtpoamwtTP4GoLRC5eEevUp
KIUQq5AKst5trbUrTgTmOoY8TbMKVJxVO4bUe7DoKxYUnd7eTkd9pLJnAOzA+BZwGF5zUM8Sc6Rq
YUmgF43h9jYyer0/uXYNLlaqmRkEHQzIVsbL4ttAY1tgurk/6yTJvQS4fzoZx3viO2+sM/s0KMVF
lcSWbJfkYJ3EholoVGV1hUR2gGVKUF/kOii/GT2hEzgPIkozLe2tIu1DjMnv/k8gpWbkigRBnbSi
E3Z2bM+PJ0AufmrHR15ZxmtgfLcGqKC1etTYi2b8QxrbRAUxiyYQli7o+RlDlARcc62ZgO36uLPL
VxpBjFHdmm21G0t6yhigMoYm7scYiKOiRqMQ7QFE/3S/nahIFqvBLQ8GSV6aWaJa1Mx3IYTkzDSf
Xn+eDleF37vuHhqZuqGIyjTT0mqsa8nY87wxxkq5zvB0H+Ecvikz6Qqxf40tUKJyQaycyDjiAfrt
gg/j4/a4ZpFul+zfK8scJFdpe5jMnUo2vKbZsKBFeHnCl5t/3veXrwqzdRMHoZqAxqEaa3NHHIOT
I/pIjtX2qdNygdD0Y0MDDFGoz1qnyPF1Ub8TwVHX83w4GCs2nYswchF8frxRTehFijW3kM7Cq5Qn
s29riW8+vozWhFO7cI3Vguw8LWH6rjSF1HPiaXdSPln47PIajPq4zIocVH3y2rtRlLtQSiFwLCbT
lU0rtr/DX3Xil1U3rRh+D7cp7amFFo7WcXZNu6+LkmToQguNH4wBDUg3qyOUZYn7IYqV5fr31STK
CS30KhMxkKnsRvHceREd0v74Ol/2t3USypuElswXc6UaVHqyV+l7aT6LwPKQmk9OhlqpW4O42aHh
rbLNjZBnyknE4WDnrEyziC9YWkPkHugYJ22zBRkDQhmukLZPX7CyykqKHSUV6so5LsM0Y8r/x3Ic
7eUcpPRqPD1r60Md9gq1OUhdAt141uDJWCd1JYWFoe/c9TBprxeLTqMh0YZfRxnK684mqfQfzEZd
K3C4ASt9XnttwIvUu3WOHExtnwruLrhQv17bOdQa0YKTTDM1pAVQaoxZ74RQ2PlXqFSEKMtP0xky
IfjnH7Ebls5ny/ldAojxeMq60sFIjulY6PmDSsDvr/tbhpu968WKVxdLY2WmbpPd24y87+m6XJ7z
6/3r+sVoudvPsNF/vpzesHKFfuLx7yGogBxUyFyH6bJ0i3JGRB210qXysxwjactIlzF0aS2v6brf
Kh91MVuma/bk+RSUouUFC9iidQRRx1D6a6M30a070doIPflSV4Lm0cRmwcILN1fiorCimV+PGeM8
L8cJLveLkxhyadKMtDgUt8YZGssvxA2yv75B9LFSFtXGcehysSjqV2oDVulhGpHKmO4Cb+bpsz6Z
Tgg1bxPpHCZXeTntPq43Td8PPP0R6vygBytmcKksOtOXMFCARE+Wu9G709tkLp17ol+B+z3TY7zm
8aVG7NFuA7wvmhzxFHPPFycd2Wa6fhy3yhpHKctndcEXsgIB3Xk67L6okZWhjb0r+Zpa7r91t3XR
mKz1oeOQEEEKmvfUjDi5IoJryiWvXa40KTCKxR2jHq4t8PTtpssue3NjZs2qFJhd1j0ZlVTbFGKC
xlaA4KKRhqsuj60UlSAxDOli4Gs2n+3PB0LmKhPjbk9oIRTkII9pCvw3cYUjZ7ZUNTVzmFhswLf8
zcixCJTw87/MSdY3+u0IIePRpNF20nFf7WXXHlya0aJp2fgoM0a1hjapxrZXtraWsKVgdkYpauWA
WYyQsbsuJM/y0ymjNFHtZr3QYhgWw+05nnInxuI6TIeRpkdQh22DpqsbZjb3weJNPamKwugkA5/W
gtPxFynrNA2t2Jnv8VldefbVGD+LQ+wZbF7naad03GpjA9p5Ln/65306hJSpdQv/oMYUK+6sujxe
/6ApwCP6FTJxP/ztp79jvlCZXiH1D4iqa2za3+GIFNIxRjTYwkWJ7HyYEX7G1p60fLuC1TEGfUib
pHxVPVQ/2pSWVRdPH0eihsu0RK64BonynBEPig7HISoUOYcYWsWw7Ov1etM6f3VsrFDXtyDgg5G/
45MKmVNodqK36qWsvtiRDC/MDzlylZ5xl/auOJpiJ3+k4ONlfv6SIdMnsMQYp7Ia6/VaNilLS/2f
t/3hit/fj5f5BXKTF1+8lG+POojx3N8zUPMQ2HpsCR+I1MwmbM73LIvQINLLPJuTuF8UptGBd+EJ
oRbzHiQVngLzqAreViQwExP0hDIge0fiYMx5ba8qTm0ds3Myi/IL/qNCatuI3XXmF2RGIuK8bK6V
tegZFiifjdkWIJG6ncyRIXf3+23zdH/ZVMaBbRWR7SKmpbr1nT/372CxvyGr9fSi8BwVhcRFveTD
3LwrQzDiQ4bwN5uyN/IGvFGSsV9xrvA4MgSUH9CE2MZEniYiiL2BYM9X8CD2FwhjKSET4vLtY3bn
2Fq5X/YIEZmen6k539OH0V5X2q90iK177BVHOIMMc2jZMw6xmP/HmoPXP378Or38lQBtZnrHjY6f
aKWel4H87puRzdPll/uTwnfXCyNEYb6MaUnhPZGwKyamSBVO08MtaPD//Pkvn0S4MAJUzIJ3rq/c
AjZpHrw7pknMDZtdlfBuVkZmzR3rwrOEA1gJ0WKrgX49v2uV9wmQZY3KJ0/G1/6+6Ka6gZCFAjNh
jK0hx8dL6Y7UuizXUL1nG8iYJRgR3A1YyrQmFhXvjhCjnyIx/wLxW5AzHKAounQddhsT+dkYVVG0
yieV1PioKJv0J10hflKku5uNzfBAQ4+/UikTGyKGCeuC3d/OoDe+eEFVptnGm1HZ36yV3xylsDGA
VDY6RoV+sI6aLlqB/cMvX378EYEumxzShUappFZaRTEo024lLoVHjn/lRzuhL2xOr9KXfdy7yImc
Ij+s2VUkcoqUdmXUjNL/yqj8SidtSlEoIsfbTYUHtig0iSmkXg1F0SufBDIJ/yhi3YS938qv9YVE
lqJudl9++rJ2Q8x20eV3rhsfCDLss/Z82G9vYCWkKd1ohOaBQgKFopDMIdrH/uG6+Qdi6zDOxtbY
zW/n0y1ZO1ZxGFHBExfY0PF+M44AR+fBGCf829AzDEI5aYJbrJRjSpNhqx4Hy7QbY9qBdfkSh9nv
1OZuXSnpuseRXAhHrRugJnaMiofHa998JZh5s7+akZKQOBpmiPrl2uD/w8SUldVxOMJSACMnv3E6
vgYiYGDzsxXv86uxBQHtfQxdF5N0EeSHN5GhY3M3MXDZdh2Gf6R2corBK9nKmDu0UaLrptiAB0UQ
VoWOvY7spqpiVMprGmGMjLo8XAZrVG7uR0jamzcFXC8FJj7G1QtlVEth7iRi4hWe3TFC5Fs5Z/ap
2qiiG5u47XoXdQZBcyxNG9szS981vnNQCIJG307G9Zz+9aFgAlqpcQ3RF8PUbTEeoWiPah/xphGO
Q2yVopj7vTAG7wQBgZDD/uucqUClzR0fPZBlqD4sLNMLnsEdzJb1ISTNHBoyoq/fXuTOTiIyHqJ9
N7M6QpqwOKDiAdd8XUtO6IiW1/4VYWr2z5ogl3GsZ0x1wMizwVDsqJSCKyxvBG8ucTdBPOvwV022
hrGRalds0bUvgbeUI0o3h3aQImGX+TxTt0kKRn3bX7HxgS8BW1EGVdVxj40mlUTxzTv0DewHVqjV
+toOp5kQLKN0SygLdpNA+keOsUGaBkqX7073Jz4riMIoOntRQzSGeh/WRyqTfCfdVUQ3PXRkugKS
5mdzjPhZ9Df4wuyP99z+kUHZRHx15eMPmMv/NO92vlDQvl/KkH3caLQXxoSH+4rYn2TYHccaRDsr
HstoEmWAOjY/OmGArVGXs6sXsSxs5p+eLqkeErTMVrKrF1MzV1axkocq7hPcCkMQ7t/dEIU6sR8l
B3mxUswFrD3HsHUYQqxyW6dNrpPM03gsoz1SJhXtVhkZpJUkVzqoa+yriEuxGoUh0iQHNItGcuiX
Z4aShCFoZTLMMbOYqMU77hJKrLo2AzdkDcdY0GLRwIoBB5XGVZVkY4RuQryJvWJdsJhx7xUYUuud
jpEjdo2bEyTdgUI8wudpu+7rMibTdJmjkyt5VHsjjQxOGRq3GscCmsxCTdsfIJ/s0nY/Xn9WfCza
nSpOQIQulL/gfKINohmafWe21P04v58phO957NJ5M7mwyaKiqW5d+biNP3bdlDDVNu3MVL4eT9+V
ABONUghdaBHyFTcNS4/AiiVYJIiGOB2p6EIDTpgRGomnxEkA0J5d0hQABS+2gLmU7k0hpNiaY6gl
hg8Of8MTVgboJCj+DohKVu9iJ6HEaIiVuyjS0BGYxnYffDmaUXYEsFE2tBLY8WgmmS+XvPI2AX79
z5//8odchVjoQtXwzDteBehos2IH6kosc6FzxDuBUSSlX3A9ivheFIHc2iVwLn1JFQJ749pD5oL9
VeZARYYYu5zdvD0hJgnT1/aAHbOJel/qXqqOofP1qVZCEN4vB2V6g8DkZHXX2gPTLv5lXnF1eRFf
HaKUMV6D3GXFSS6kljg+Moe2hALpZx2GAj+lbwf9OSaH0Ba8kE59Zq37wJu1lqPeAqkWQl82XoUJ
tZWu3ci8WeTMHcM2uQ5R6HHfjMees4tYQToLYOXbVfeMnwTuxxI7CKVA+b7AfSNVYZAXHbxmvVKm
4sCXwjK10kC/uLo8KrYw9uN0vs6/nv7HlXXPWnYNHyNGAorgxtJFDrBq4w8KTWZVPKAHfTu823QB
FtHpvF+TTB84oiO0tg9Z/bs58z+8qLwkbSdYrXLnM4XlgYVcx8DVIodRlCiK2EH4ZbvplD6atRRo
jIBvt+lFkdeuk0JAnOSCVIy5NHvHd641uquKspUQLlZszetuiWdtK0nO/mPUGKIgVOIXXqHU4BvI
MaMQA/sRQXQApcjLUM9bS4ZCE9fo3hJEoBENaAN4LjQykybCF1hKyDhYG2zxAPEiENLG5csUZV63
EnaMNdZ5VQAQVcE7FofPkSTgVw3OOI5ixzypkad52hX0U9yDskzjYbGF3v2yV5Rk3Gawrh5gdJbE
fn/cAxmf+f8A6tOpdwoW/I9DogmiFSUqyiLTLCFmzJYgAhg7CnKQCf4y35ihdswdP32fMxWqFCof
YgRckwZV+eDxBsHgZhsrpQ1hK/bStvozlPAZc2sC9ANo1G/7+TsErRXtXkTavX6IKOT6Eg+S3UMv
3CtghbCScJ4uW2XLyzg+YmNIwXYklDRCBy0xt63iTxqWGMqpmwhwEXWwZgO4FswKZiEeqE0NpOS8
aJxWanGRWlgGwUdLrGM0xcAfFszDRka4TkhMcyyi0HPDB3RtxD83Yj0IwWw74jfjDJ2QlQ+d5E9O
lTf1YEzZxrDh8pE+j7qTsCg0p1US1vQRZCYmXKNz/fRusYAxCol14fEw14n9Aqlk0Y9UtECTWjVO
JeLJHgZYJaaltE+PN0jZ6S6GQDWPUvRp8eGoPKxOL1l/hn9LMqsxTpCMUUjP9/X+3HRLAT5GN3Kd
WBQSvMuRA5opWA30aYFldwCcsdKO/AlJq6tYPKz/DjL1H5cIFwQM7QcwE09APbsquCw0v4LBf7L+
7t+ejP/ybb7YqnsAqartczGkxNuzha51E+bjwCM/PSv2O45QxGBAF345mIf78pH7mPV1Anem6z3y
AuHiviWtG08ZqZQQYSEW4EY6csiOmrscWB8v3xrwRJvsKnDSH7NecpDu7uroczS+/qIBmwbWJQmy
lEO1GMA4K1tzo7EGID1I2F8IxPQDHwTin5TH3l1O59PzszJOFwHJLG+Y313j75qDRlyIhiIbeMut
ECBza/L56qsyQiONgHEf6w6Ai5gMb1MDc7GRnqXfdGvS5tA/JNa8/ll7a9iTxPiId0h7csTMJyBH
Dq5UUxFSloAOlf3Lk8kVGdNQY/wysaFmx7e64iK28e5UgZNmT4yHuXvHlCi2aLFvLPU2253elF0d
Jenwm+HlnhxoZQ0LTGvDQgbrd6KIZ2PNHyftGRJ5Wg8vlSQYoTWBrDbT8Vc0iwXwdcGv4LO2PuSp
bEsTE53UvAuUP2AXzF2xQcPDayke1zrpXZC42Obm09f5Z7wDyhYxgwJDAxaPjPg7cB3fpjN63YfT
6ev9rGDveikiB7icn//3H/9LZ96txTI4wrYRSFmPQDNAKEufQrbR9uxwGF/XDPW0eZ6/5wF8VdGM
0syWaC33pkLRzzP03lsF1yqkshhbhgBVRHsW7iNXPiKd3c3bg+M+y2QNOElvAHIZZTRt9zuF7Llm
0FTM7hf1AxwS5ARgmlRp9DTfvs/zMYOpITgF5xCHv6l9zeoFmNnLumzrQomdFnHstOSZYt9/Tn1V
K87EWUR3B8Vu76KjKDYWOrq5nE5K9I9XnocH0uFpeaeW68fb0+mgxFtZwJ1pL8tc4ZxAuJ+U4cNA
zVHNcbCSOpZVjSCCQDCuBBLjAtqlQoUYOoYOlSB6I0VHjSzSctxV0mKFvCYYNXvjxmgUWS7FasIE
6IZOPGlKUdBsEV+mvXg9Xfb/MtbYv1tmap67MgqvunA7Xv7r6zyjnbSDcn/XqWADpeNHY3sx1nlF
KxQSkTTtxf4AEpomaC5dCddC5zIkMi8FUwDsZdeKQonrwXSt0VKRQ6fcZa6wQsefOKlwhStoswi7
/TM1oAmB5atPLSjvTSmpDIFdQqlNraUwMLL7k0xipGi1ji87Xq8ZkzXTeeDdJjd+9nx0m6QfR8QM
C04OOpm/43z+6ouH1Dh6XUgM6pj5tFbXX1c88CwXwuJG58sJ+mpQ3sKnw2xfTKJmYA+AUqpeiqXq
lmfi7bTDzvI5o5XuVC1hBL9NRvp2eyQcI86Kq60aViD2XcxgYhO2UH1wBkUJPYBgbkbP7KhtZo6C
oZPACNjzyVzVOD4zP0dF0tfT4ZtrimT+dEYo50lXMcgxM5ZSU1fPeYNxjlx7JTNK9QAt8VA+TL/z
yUOo6+n0bhPzVHGmYE7ENr32W/p/8+5vZ70VYdEt+re0DJcBJfy7GVgT1jdoK1oRTEM1MafcbDip
HEvTxmv6ESZl9OsfsHMH/Unv+lMwAnGGEXarZDYhwvyou7ci5bTQsHMhq+CPzqYroM3x+Qa8Mmdl
pEEiZJRWraywknhufVukW66qn7a/ixhX7fYL2zTtFDgVIx5jUFy3Dp3s2Cxk0cy05pvh1T9Y7c4H
UmbSS4hK1yDTjoWHBPphfyQePt93PCNUbSux+Pp14t2BK4Pe8G7z/dU4FxzwlOt5W3StRLwt3gan
l5TBCon43s4HqY8zq2UIXaQ6sowxVAjj9aJb7wp0UcGo05hdK4jbbr6lbRKaXRW3H+3SWwUcMiUk
X5TRRrFJgCb0nFe+9DEW69LlVQDnOu7Z4wts0vhwokxqrdIK1mWOVdRieSs1r8TWvdkOaUXTijBk
2koQlBUKrXtoHhn1q8BcXdqoaRe4uM7SAmEEgbqpBYNmo2Ppx6KVuDcWFF1Hx9ucdml6ETES2+dO
payti+zqUfLsPFBnEwihFcxOKxmYFN3ZHyH4eYXWfcfADwWICCpnN/b5bVMqwMJaak/mrpVZsxJ+
amNHY3xw0dytdiyqGSOwq+Sg02V//qu5IYA/gT37qwaTNbdkkDCXsBfUQwUBFGnJjKtQqyIDG1Kc
ehZ0RKeH0yu6lAih5pU6cHNC3WOZ7g6ouzArgv8PHjhr07gOVJvr/azCcvpxlMSd8YP94fB2ut5+
MeNuNXqfOvahguX+K9RT/UL3jxvBwD+shJ4bqW7PFuBDmoE6kuu2AY1Ui8SENoj5bwYtmUPbeYeW
N4tDtHzUfjRR+VyVrAUei9V4j312efNrIDTSgMujhCRVOVi17oM9Y3BjFvtCvVoz1JZ/gO2mxMg4
8ryIaDr+fjlhfJWLy9n+nde9b9MlFezHbDyr9Yta5cWjQERNGaOIayoXg8C1xdum8Wn2PQeUDNhL
Mx4Gom9kAcTdfBVOjCFOKjbxgCjUytcxZsQi8ZZboyyolXhrouX4nmDKLBjVEOrIJrSJ8WNlCC5o
OqzeOMAojwRN5LNS5tJJvD97JB24mCcVwpd+JI1tp2fEN1E/08RIlTJSK83pQYAx4EGKS0/b9qzU
m1HePwwYzzU35oLJqVAmuc0QkdKA9UOGeMHKPk8Kp263IM+shK7sUJStZb3KoouBvg4/cFC7TlHC
h9H5wf8FohAbuC2V7OQg1u6abfzhT3/98U8/bP4xfZts0gijdWrSyLwnvRQyZINAy0qi2Xu+HzMd
HTnRYaj2C5xJhK2gPgU2Ux3aHmVw0IUGRo9/AluyK6VHi2Bwy52z38taERraxd2Av/zyC7bL/sHY
CxOFTPFr3ktRLw5CEMdQShpje72ShRIG5+2+jemL26Mk3NuhkDDAhAPg430ozP00UCXy6MFDY9uG
ux6jKccKh2F6etGodNXXInRkG70Rm5Xcfi0rvWeRK9tuG6iQjMRs2NjK8XFmA86VhvcK9R4gHlOV
jZRnGaQ+oi9bwNJg9sPonecZxFfxMlh+AMvEzP/2Apc0FGNUipVXxX5qvyjBep0uu+/mUn85Halt
x/ZDuTaNZOCFTC6cOiYJr77/qFYB0A+LHEgd8jRUIT+DJwUcwv43Uuzy6BkMjXRBLsu8z9WxZUx7
DZ46LN/CyiEt5xtj/QqNUzQixoEB+BHyUrK5oXN2makIwzvX6bJRHJDx6zFA29UcIlKh+/k9n7BP
3VbxVmjzuhhr5LiTJ2xUA7NEWgQstVOmNUhWOi1TTp0pY/W9hBtkU3qCpcJ4bG7K1MqIsjSKKd++
77c542jg5DUsUEcoNdzw99t9OujkuSQNEkuPE1QoiINNVln9B2b9oas6BD//Mv8RNma6fKBIXTeV
MpNCKFChmayBh3ZiXYqTwi9OCEtlU3tJdT9e2hmqBc0+zzRs7u5WImSURr3itvx4/DnZ7I/GaPkh
0byIJnDjprchYnCV82gYRNpatjZSlh4YmJHCtpLsC5rRUjl5aB8FXzMjc2bGELCY388Qd/wOsFZC
qEBpg3lHXzV1N4gd3h7UnbLMuPbHB+z+aO/8F7zySM9j/jb86bq+jI1+pxAUVvpOO5QXZObMcpQd
qKQKIdex8nAIxbuZU2GGEtaIp141kERdEPta4tx1l/0G+HYvOoqUMFtr9C+ZkzRlo2vpossKS9EX
UZWTF396Ne29DIBh4BjMLqiR7disCNyPELIyZ4kN4aAB1+WmELAOUdGZv14PuhJbatPTZjZkc8Yd
UbRLTMRNp1GX3dAoe9iKJVGiIFjVgfgxlFTlMelEUucFTepKg4nV/vH7sxR74APMoKh70W8KmhuR
cvpTMLSiJULpFEyNBFRXvgaIcdiBnrQtPB42fq1luXCkxkdVq1sSnIo7vJWYbR3bqleOSESAI753
82CIKsN0EjH7Qqm7PhrKMkTGZFICO6sZjPGQu09NlzRgl6/r8mYoF6OSYn8rL5wybJ9W6Ksw/JxR
n1Wh2tWiSj2eTmdlBk28sGgGeO/T3Dk0A9GALOuiKBSJaaQ3INrOL/l3bJSoKO3UUfnv3EuyoNtQ
xiyk2g8aEzF9H/nrwNMLI6O2kd5J+7f/cfqeIR8l0S6lkEu84v1RNhrf02su00IYOswv8bRZq2dI
S2b8oCiy1SyvstJVak1DqVpKmQXQItnxFvtxWgFU7QoJRUCCYvuUHEMQdnN7ZRWaUFCSmW/dSy1a
vlCvF8st9LaqJyaFDWtJ3Wf6yLVDk0gAvEE55p+O5hgyLdV61vsIw7UBCWI2g2UrjQhvX5Nsn4Rv
H+LuWbWU9fSWuWrUUs5zUXnRMQKn0+UPf/+RCCgAPHe9nSfwnjD9juHkrULDVC8gZKHXya/Ty//I
15H4mwYJmwUf/vjD2h9fNpqu2RjKV52EesO2u1eIaz0j0YvGWsX5/1hM2I6AF1dvE0hbV0g7gPZM
Xyf6y9DPMygYJVIthyBQrMzX9RNYoNBszez0sq7PDI7BW4oGeK/5r/YvGydeVyNfxoK93hRxYOyW
NdUQdpaqYv5+mHMl6zTEAlxaWEDQzYFReDNtDIrY+SlDhiNizRlAk2Kx0vptqkoJPgh9iMDmTRZ8
0zHVMba4Y55kpisPfV/GRIi9ZbYn2lRK/Stb0Iq0p9EWhA1Q7rvYhplpHGUBvdQo1q7751TFGX3a
xOJZRRdlzV2vBwmEa/VUVkG1kkhyNZvVryLlqtWvyg/3Qkd2Lm6r9fuivmDwbRFsd3rQNXoDAxKj
Ruo07XXNGgliCFgX1hbAcVSIcQIIGmVCp8uLwpVXSKmd0Dz2KnSPpfolZcwuJowqxSo+JaW24OIb
3fejUsEXEtCQDupd7BY43NUGs2NZSDi8B84tzGbsLJRBgcMODInAZm+8xOvtQEUeSHS+nQ+HbJOK
uJOG7RB++gXP9bc1JUeclnz0mRDfpYFiZgogY4iJIauEQRflwvL29NBJPSDDYW1wtza0XQrwmJmb
GKKRm8NQKW2uO0wbY1/HZTXbGeq6jwqleC0WivHGn2geQbB7RcfPViotT9S07Y+v82V/W1CfKCVt
ldBS+QUogPbbqNLVBu2Um7rAkbfLgyRePuD9xMpT7TDHFCjx/zd/mMlxSOJX/JuN+X9q5/iRVZiF
Jh70sfJRtXw5hJIWzzdofL3J/HG62lgngEWP0IQchCZDQ18VHClUP8iML7nGR0apux6k4r3z4f6y
P3Ic/7zChxs5LDkE+RgHPgUbCFWlAIL6uAA/0qqsrQJ6cVZsN0nKHkIrxZuVKVogSgq12xrJXdCx
8O64Ns1ocL+Bp6rU6dZiu55AIpojKDZXsZNGsHD9XJV2OQziBByfgFKh3TOICKg+qzuX/vXpCMeE
9VSvABtf0Tln6OMegDSlL66RoC0zVhr7FlFBhKttQ6ASNoTbxHGhjDVRFd0ockA7YiTznFss3sk5
RArsvJNoXxcl5Kn+40YNKvQ6VDsed0J35jJjj1R6UBUxBK/5P0oQzSj2/UuWCHwQaREsxwQeqcIm
IUp2KANRDY+Cs1sEa9mo1V+h8yHa79an1XpE15L1klIY9BdIdZyxFVhJ+LDgQOJoLwXstcBnhRIZ
9nQejd+f7O1T8frYRaWNbWexUw6nLqS+fguEamiutr+eDplng/WfY1UPZPXCdlNv+Jy9K9J/xGwr
lxnTd1tLzEHw11xhEwsmDp7ihvb6O7SP2bzO+5dXzUmQCUJ4UYfFWp8O97djove8OfkFS7jrIHiZ
jWwHs8tHqv9BwSylySI3IdgTYN4urITZYFAuXW1BcdtKEqT7cf/POzqQ4ZJ8M/qXKzjF82hjJzDl
OkCcnLaOynnBt4QffborXmsXs82TwdNCxUdaG3CwZw0ewwrzQdEBTexYBUarh5ImhyLONNRrCome
ZF23Vbiu+6tuJg6MsMOSoTJzHQztzWyc3HN04sqNqKUbsfOFcJwi4lkrVCbbrogJ3x0R7ZkW7TYQ
rhvM9IesZTSW0kttRPfvl/0bBlqQdmwFCVTgNnAmolUfxnrAjU+24SUTrZHoYOwbah3dbeYpFZ3B
RUWZYqUWj21ByCIxrqj+DHed9FDZYjOPYgdOnP3L/aJmdEbuHxeMFwcTo8FE8a0CAuWjirGlmrtK
Om2QFKKwiNp5mWd2QWLyelL4Rrtx0f4uWDKLYYx1h22HjMSDh6+M2MZVZH1yRA0R57rzLorRpGGm
26vaNrwbawmTIQzFWtile73FzdxjUgio5slT+nYMixmayArzuVMR7vWqrG0U6M4lKdDy3N1YiPzW
khQY9888cMpQXdxY26anUVIhLYNN8aBgKlu2TVu1VgyyYtlLgNXEfcnIUyXtll0iMA3/4ZcvP/5I
oe/n00Flcu0GjlbDzm+FvYQvn70yDISHhm8Tbf0V+PJyu71AmI2pTVI6ItAWDVKJq52Ke+xxTDDk
9A1aABaj3UZnYs2N6zkIo7INGt/2W2gPev26AeV2uWoKvov6iFTxLGzUWmF6KyXj/3SkSu79m1Im
NsbNeuuYSGq/U0jhmkKq/Zaiffvdvxnr66TwVajw2f/tl1WNllopXRFbbRi6etqnCZJp18TgEVaX
uUYCcJk2l7tWG8Qr/xgo1+JVYCLHFKiRnm6xETfywptPlg+3DUelo7ec3Chsz+5+PkDXpRnZJ1bQ
nNecxVCiFgPr/qFKfnp7mxD8ePhAHhfyAVB6nBxb5iOlDneUQJ400ukIJPtK6fJQS8Cx/NywD0B2
aoNYlO+mhutTPq6k9r18Xcq3rQD15J868kIsNsqM1Uj6my60I4/AXMikYcT7PkZzF49bQXs7vyNR
yQ0BYkix7/6Cbpcy0TK2EgqSPqNu/vPnv+AX4HyAxkg+xTXvdG9Z1Orf8V7VvEnckoxr/QtMwzQi
nACx9HvsCridT8+gOGB5rj5aIQAs2ogMre5/lxVMc6sjrIF1wWEep8v+ZX9UvhwlIBbWeWcQe/T5
sHZvNeOShmpjvETrZwJWMhQHKaJSSGiNzzhMNc+Au2HqT1vcNe9b1eTs2oxPQoP1Yo9VlHmM+WoS
Nkq8X5pVVvN8VdRx+eWz96XoJNpBPnGKjT4dlNUXg8w49jnLvuaNvJoApFxN0/X/0PavzZXlxpko
/INOsAL3y0dZ9sxRjEb2qO3j88XB2EXuqtoWyU1xk91dinj/+7sArEsCC3hyVUtnQtOuYjEXgEQi
7xcFoueh30u9DMdeAxdJ9VpToLMs51sZE9c0KQ/+5fz5/fKc1KZZBTsvLQrZL0rirSK+zaQX/CGF
aqheUGI3Sw+Ft4dRq6nM8skwEZUTc6wiAaAk19J+vz6AL8i6JQsdPzatfnf6fLs+Zbv57Ql8hTR2
2VrtpW5kN3Ko/PfkoS4dCoEetZFwssUn643uavlKdkMOm4OVD20vitTr0+/8oh/uFPjA9pITeozY
fUD9CqBtO4DcdDdgxp/wZPS1W9uUtB+QYA+0k2kuSZbdT2iwh42v5vG+8wsuX5g98aVp/Gc8q8XT
WS054D/34Vro9eVrapdxlOhUR6Nqnw8Apz619BNFqWxuc8C8PzrnJSehGfp+lvEdSy5LCR2BHcXK
LzNziXVy3FeSRJI7pG6tdnCnHjKlh0j45pzgkLSFVTpkRcUvp/ePt9MTHxYrRzS92r+NXd0dnLbl
yfwjwlHLh05PTOG2pxNONhlJNK+2VGYZ0Q0+6YajkDB66cgUsaX5zij5JTHhSQfAYkDXVZ+OEk7J
xqSzTzPx5AXArtTO6mm+Sb/INN+Toedtnx09qebl9oQnssRO/llnnO+4Lbt0rjvZ++vDnQU5oqo3
MmNSBC6PT7T7+rWMgt+6/YEoZ6h9Xkt28GSNfj0nnexQY3gycJ3QL1UjchZY8Qr/3/lNphzCy8Pt
7q8fl7e/AOc3GWOXRbk50pojKVnjgej5u7QgUW09E6eLv/1YtMDJuoBscSDlL+W2X6WVw/gDdBaU
pMbT7+p5E1udAhrF5kjxPXVo5f1gp7fSvWrHy+OKTvTqndE9lznBw/v169cntLzoDfP80cYwjpTA
Vv6CLakpvY252Xlu43795fyWMZwr6m538u5XNCPXERcXwfBiejDRON1tR/V4eU53W/fq2gaeAKS5
ejpi+Lta1zhSV5raf9gdCYD775Yek/vvzlCapw+tRe2FH+DGmE7GXn+csstsU4Jdhn6bxeQ++93j
f08v/eU9N1ZmZsaXj8VeFW5vjnZKpPt4ehpauYU0ur1MNgwCKug1Q7q+lNbeDzBoZrvzgdeE+My4
F3M4jfjJDUnm+N7zaSGLOVM9//jfQR23U7bXTWomsOvb85ZZA9DeMEz3409cgTiSrC519hKXHT6f
wNFMt70BCfWmmgV8GSJ2g3MZrX88f0EPtzt8mIhdDE6HTW7JO18rGZRdnIcmHxVq7jZiJjuCdEL0
19yMZnee/8wK/lEtYiPyxKaM2c8PqmlnDb6l5nngw2QGI8mEoHj7E2yR6OgkbKKLrjs73R4ul12d
IqJfsX1R58aA/x81NHKknQbNK8m3kx7dl4+XVR/lWgM70kcr1Uub2H/Te0WIm2jvfJeSFvmzJD+u
JHn3fxhaUrH3vZeJd2XnIde7xpH2IVqQjvnkqS2ZmIgJetPrhvD1t2qNWg/Gn8+sg0WLaxh73NK3
r1++zKMEIAmQvk1EiGXYdC+56uwulZ2BT3T7Aj1f/3aZZG+JKufSpfPtvXgC05/uP3981c6IqIa1
izKQ4ShrF/0FWApvvYDQshfVXRfX0cSx0y2QYSNhaxRac9LDnHC7pmQoeKo6bVWToFG1M6an55X8
6DX57eCV626LOZb7gd2R9v/J2+pNn4/kQqAUyeSzRctrC7VSQNWW0+skKJBhJHoyIi06Z+snEz1L
V5gkI3Rvpi4RhuBtbiwrueXnBNDsI8ia+eVxuiXIHkjzus3lMWuBxdU2t0cGm+g2Ta0lEKAU3wsM
HFAkSBe5xGCsRVblATOHdKFJAtBQNpUZ5cax8gvNDxIg1vSGajd62+HHreqzOkKlc4bAtzdAqLaX
11fd8rfxfLCCnZqHG6ASDGexlgcnexrb32OWYAWYeoL9eg8/5jYANoXo8cwu0QwjSIVcbM/cHyoz
4D31HnSjxIBtqNra0ITQCFtJBRFQlHQTNt+LyTzp4Lc01XNOtVytp7RGzvZnvfKO5Ozk+42M2j9Z
6YcV/9DzlbGSS4Mv0n7g+T+x5nG8CuZ77f76xHFIp1NN3z3bZU7cV6Ts2ZbjbYH9hK6zizcSAJ/x
tWAPDMdiebAX3eabo6JK1GfckcbAhH53RcjglcteILzRHNn7M73oFNOOy9mwY3lLzsa+nDO5TJPR
+fGSWum/puSIwlRB8SBJfE2XKH3HZPwJlIaIThCnTHrIo0K2YWgTv1nmPaYkuCW57m6cMFjmbnXr
odaqG5B0UOpuur0z8vCvnBHN12ZHOcqPTRmxTGpaKenqFuZvtXm3JWMmOcxTqRgo0TODctpcS5uK
zc8p6PTAFUPXI4iXIaYrHeE2dRtw0uKc7vh+s2RZyrP+B98pu9SS+YqWit5Ukignop4Lym7vqZte
UiC+TKoD6L+iq04eM91MFPn0fVZq0EyIQAr7smj25d1NMHMS8tfSFrGE7E/vp+HnkpqtbdMebHn8
s6Pol3FSodZkVi/pSZLf+qY8pT4ut0mnG+dsaU2bQG2jussUmnO2XU5Pt7X6DxxmM6RzdGM240+f
S3ZrKVjO9/XKfMj1TjbB/Tzt5G7BMYDvT2Y+fTm9XVJj0RILAvCkrZlfx8ddXn924DY2H0Tavg0z
9ZdUmQmZt7uP9y8B3EKsDr3I8fPKEL9c5rHX4BuiyilUJPI+BlLNwrKiQXDiWKceLnnXp9TZ9JGh
e1theM60+uvH+e07WND1smhnsgBrNdmzS8elp/TUL3Me9vPn82R6zf26uBmtE6JVrzUg99DIYGZy
AJTgOR2aYGqbD4EybKfdEZjNh5pODGBIcjMZPpd6sMGbJF3HiKaesfvt/f2VI1hZD5ueO6eeLk/v
V7Cm6udDs3xhY3RZgzcVXE6Wv0xi8u7n2x1GMBk9nqjLLX3rXk5KCPTGfc3u5cJYDDis6GX4oo6A
E4zpoXUVKx8vl18BcDcXeuFk0yHB+Zqn5iheNIBzVeZmupisSU8i/WtuP17cyV/fTo/Zm7T9w92k
TP5llNuUjz978hPutvrO0azADGE2CFKTfbum46ewwdoZLQ3xfR+1qzFULwt1C9E06yuFYxdXy3Ye
8Cm3fSqufs6Sg3mXEPNxm8eYHPnakuUZctW3pEPec+uADcHlxNcvc3u+7HoYD4QytGFEqLJ/yDdv
k0B6T1r/PJI0d7Ja//mn0Vzj/PElzTZUTPTb5fH1slXm3PVIJXXw+fj8evn1/LS60sfrhA1DKtc/
x9mlOibCu7wLgHS9bb2Z/EapISeuHyIJX5PEnrrKpw6TWFi/Z1fMkmOu8QfweBYlMFBl/Ufeq3UE
76se9JxqTD9ffwWZjIbOIguVI7t3Z7dvp8eBoVAua6OzMh52Vhzo03i6vBZzETlcDbX1whwjKE/i
+nqadJ61a+Rk911ejr3f4Mnu4ja8NqV4l4rDUn+ydP8behJk0D1nY/0axXh6hHTddNQaXtoxvG+6
2ZsOfHIS9NgH+OoWkzGpn4KJvrevAL5genMFGrwYgBfRSzdaroWeJh0Q+GPKLW2+VtIBpTlNBKdp
4sehB6/BaWLPl9zASwDvOw7xBplg+yT87VfDplndgdOrXlZgAy/A8t3RJg28AvDdtLh5dmG2jh+S
5wJcPx3OkOcD9TCowBZIiDXVw0fZOwIgZy96Ge/NDYIrIHmjyTwxvStUgICoJ3l4hYBNkbxdMhK+
2T9gB64fSaz3D0iIziPdMkD+dn67glvv5gI0ewZ3TpzE2T/dZWEA53Q2pRmwdgFYOwnmJjPWdvcP
mI6NvZh2IxqWTKp/O78lD2MpxUHxehlo0nuyjxfveU/VQXWcRR/dNI5s04X/Yj41yC4rH9uUznR4
J8cqR4m95h5YzBTUooDEnu75dr1WSlFye5++Zm8v2GXYvrW514oG/vnynrqkUK0710b/oPLtN3VJ
ZSq0O7R+uTw93aX3c3d6O5+Aw6Zolaqyd/wQr+ATomd49C665JVjqlHkgLk8ZHfVp/cUjV8jOU/g
bokymJ25mr1dYASIH7ncH7vVbZ86/2dWWpFJBcjQV3cax0bmPO65YhuMCeuIFSI6+lKeUHBXRhQs
b/DpCt6f3dhEThJrFai7rUTz7vH6kZLx3uaMUvDRzaDUSUXSbikGez2fSmnQy/lrcfrMOWPln+6I
kQj4b7ft18v1z/kbv7++paye308vB3zC9j7xfHpLPOGAHk/SObesxY4SXY4FvuNqbX73eGe8HNmS
qMPkcTNQ+8gGn1K9WZo//BWzy4yvOhwRN1ozGR6w+M1xlQITZmTHb4R0A2RKTGlPGtohb9MhP5Ou
WNVY8vIvyWliT29zRCZspW8kz87Xb0+5su5yWwqgAWeStQNsJ25mwz9JnVfirUI4JDw+K2NzWc71
8+3h4y25jggSU8PIuYUPCIQbOkogNIXRpFLoLsftkvOFUBL4YqhZp9+yIjb/XOF2i0CafvB+vXsb
jaopNxRq8au2Z7deE9gUlbfrprpPBEw1KJ/SPQ8X9MNyXisXa0fe7rXNSlQW6CjZv5BKqJ7bkgL/
89fpaHcJYeBFbdRAIkcj6T/zzB9UArazqvzqnJ3DlBOSsuv28iVt9IgXzNj2UbjFr/aQiheuL8c6
wZd7dT0S+fz19wt1/f76Cjx8zvdc/eupDqHfbFswKudmBnoBrbKwOBCy86CMoJlE0PkxPdu33HD0
4XLDl0EWTGLEWDsQjEcFhzP1M7Wrndv6vAAVEhLJsUzttrTirm8ffEu2jtLd41oHpGTZM+osbehc
hLBZ1Esb5qXPWxrBkgbUpgkuORH+8pJ539hAyd7FpUJkP8Xs8nRbW1x8PD+nYdK2+IxS/eHwi3Jp
smmaesc0dHM8J1mQkWjCNLM00nDNnE1UpAp3pqV221CnX243l3CUe7OWIZkALWbbycYZF7TkTnUz
TuL4OIsSaqoujgPcGoDRDS2bMnp6vL4upRggu12Q0YqintRWRjegdioFFWKjEL0lJ8+nWLb/fvo8
d0rHdyNkjzqWr/0yvYekYQ8Lhcs3NgojeTK52TOe41Wg/baDTaDTqy16jAR0aqoLKbwmlxUfoy7l
60dXWP6XScpuXaoAeZML2SIEPdosB1GAQuOGC9Iuff7U+fEy3sYagGlmJ86w62hYSA6rezZjItun
cx3N7fLI3+UyrbTZf2k382VJ87tMrPuamooPMucLVViEiZfzLckgQBIucFS1XIo6wkTNdsc0ET0N
MX86ghdCYJtOAWZMFcKKR88QjpzBqvoMuiaQdUru+Y1l6WtUq076Wr5VhhsA6O1yVU41VDTx4O5x
Mgce09DN1Jtn7oPZ2oaAP/akTRa9S7nc2vsBXFiDeludb4J/sWNgH3qIrsYarkm9Yy9cIQFfSYoO
b6nuD/EW7SsmOSd2nUvbiqzN3b6dz++sgrJRUTpnEDOvfEtjsL6m23pLXatWk4rTDVQt2OsDvlwX
Egfi2OueCPtyTXI4J/+Xblffrh9Pj7mAiROJoSPee68OSaSNfra88jJAqtjj7OxCQcaKrmQYFrfZ
Xz/OS74AEGtEacovdvrv+DQacD9dX5IeMyLAfvRYD2U4oSQ6z0a7ywijp5Tm/JgV0tvd06SQfkwP
7QYo2NVqoB9f8BG2SvgN0SpX/SurlSdwS0bW6oMdvABAbb6LntmrxuovhDGQQaybWlxmkAyDIkUl
jvXljnHqD4kqUUt/u2iUD6fXY4cSjYodm4G8a+OZNN34NIGW1AtwTYR8/U7iJYlwt03GGp8siJ5J
lZLjGbWfaCC5VNOt3UT/JSUtzwVe93P7wftiiNwvXQjvizfrnhHrhGOsoZTGPmLlTKjf+czR54Gt
56dkZy/2I3ikRlVSXCJTjd1S9EiZTHcHmJ939Y1ZtBV3yCI3vS+Wot9cJp96KACRSbWnNVrQe2uH
/APmMDtk7TDbKN16TEDgK0HV6JkN3Mstt6Yo4pN//7pGErw1tBnb0SYp5SC2bDqwtfA+PU8qLTiG
InedXWqzl/Tb+fR4yDbVyDZt0AAeQYjITbAZ6Uj/tD0RQZsgkuaKaaLq9eUJ2OzG1FILn+zIQwiN
2m7H7wq8Jl8pfooU1C/F8t9SUUTeS9K805jN0hMzh6eHFVEFh7oS9LNbPtlFrwdowfREYlcVPMQ3
FPKmVWqUACzDI5YBwwiCZsQZMrZsNYmSbgms0L4br1QolpTpJcGfN/AtOgZFxiEJYUJHoft4+ctL
sopHI8HLs7A9V1Z3I2B56HhoHaWHRJ7omcQvH5PqkoKWR9kZMctzOBpuDOkovmOe7VVu8AUveypF
HsGYZpdt9jQ4DPEbbvG5bEnnRsRAGZUSmKiLi6HofsukSc6hY3oXtAgr/mIaOTOm/3hI/zcHFIkD
hBztQVP+EBETkUM4HtHbwIU5pI5MW/hLitwNQ2qCZh/PDl4tYGgIIEUjhbay1cANyZ5DlCpG6PFY
tIPn0/u35yeWYHvurNwbbCuYB2zSHY0nSXGIYF1nN7lDDv90iP0vd09nY0bIRFHIvlks+EqNB+QR
eqpejhRO8jgVpqQMhPzXFNbcmsouIXbkerGU78YdzSAvHwwTLWfbuuPDQyohel9L7/DAhSnGJAAM
ydcBHgXf8KHIRHC1uQ0t5UMOrQCcABXPBJzS1txh1kLeTl+/DpvzlnupI3mCN/uB/RVdz4u0GmDn
lP74cb69ns+AUkisdk5BjjRaO89DKPGoL6enpxSoAA9A9uIm2Vf9y9yx/TodKj2s0i7h9v52BRaB
EqxhdkAdIi5I8hoygpL2+3h5A82Cy7koXefcctUL2IE9uK7O+XL6+cCDDJwHow6SIL9985rE0k8n
Baaub6X++GWy055Oy0Tm2SMB+s8nYa1Ii49cueW2Vgc/zV+/e72dPx6v8MD5W8H2Zl4JG4cggjRN
cCt2hfJjCGU7EGQS9V3qRLjGjrjzS1J0nzv6le8ld/0aKxoDB9frfpCe2vvbqdjRi+E2/gidKddr
Ajypy7dsg2dPcFJDyoz5y23QZ2y8lKDjr2TuilPCbeWC5zEBV3DFpBMqNZhSx9qM/OuXlHyTXNnj
byhy56kbz3zpRn8e3zppArOlUhAc/Xp6eKcI+k3Y2domJFkTLCGt6Vw5s+gHicvXs9fK40rNMhPX
SeOFpss9AeLQqu4VMwtm4SR4UqFu41EWFToi9IoOerdbZa+U0HA681wOs2uAR6c5l5js9IeUylss
QwkeCemCmzWcmfJOL9/vsnU7N8lU4zPG7mzBinS7Lxd8U5HRh4QBCCUBrpWpGvqaJd54O6eU8ofr
KyCothdS23jw2/fXb5PR9w/gFIQp6fwfO3zpCEHksClSNLNXtlPioeclIunolKrW1Z79zvR7ff58
ecmDijMnTVIX0FpXjE3SF1wqkQSELyZ3cRry+j07jnPaWolY5pqwQrLjt0+4de5YZqpOJzlolXQh
iqvx9DYtyeS0pNQszZFfzw+XL5eSjzy3JwMXqukwxo2lLb6dTHLnG2FtFPelcGgtAPj+8n4aN3qR
pHUPqQnPrZIT88zK3/ZIKyyMe7lIInyItJXWPowvlwzeI34BpCMlYk6ZaUubvdPT3XEZG0xvuZIu
wtCMpN1xNnVVaMAXVdO3aq49mG+SYUiRkMOWFyyCB2/Fyd4ev1yesjxINQS5i2ypIF3wOyeT39Yb
B0ggOi3pLyQ80CppT7bNVTG9mUfw5kM9TLQYTUKOqU/IZsC3o+rXRjt51vJbsrueU7+8JUXxBvQy
Se4hnzksXXk3ZltT7MctjU27pbzHBctjlJLvk16iWU3OhAnYTuw948muAohV+3b70o272wm/kXDi
cvNgStLqlzIHNKVzYv6intKpyBieY0ofab5mcjPeDVWP319Oz5cHgCzynHJi0twErOWv76evedpU
O5Al13FM9APGYhQ2QVqwhbXBthDo2RLOvxlejc3JKoqEqZNJH105OcmQy9eXXOHFcD0VY68jo3Th
BIhMdgWBR4IgdjmXGDQZKFizqF1ZX4gDPZgMkU3eau8XhRPwd93R7W/nSdZPUqm+PyD2XW+K9KYN
InEM1GeCnK3gQAgD8NlwUP8b2Bxq41yw3DS10z1anxTg9YO5HHTOWS2DURN+Nw18ddQARwxRzyYO
4mxvzbVUfFFwwffIS9t66GPCs4AzyaoB45yxUSk1ky0GthN7isKer87oI2YG4LSyRz6TLgeePXlA
a2Ceeo/oLpYsNaBp2J7uVBPg+dfXp6Rf3wFzuPgsisbzM7hUqomajq9o1ZL+ARYgeQO0xXb2LN/K
Xqe3lWouSQ5zOUiyyMHrsvU893V+wG9iIkttyKqamDkr4a8fE6VPdP54960UIE5IegCuFmLLk7a8
h+wNBewN2xMzv437a+IFyXkGYtFSgcwK3W7DvJGchkUzdrLrPb/KQ9Bz84ypm7xnZfO12rmrobQO
aCa+O2Cp1ZlYpwNWDM1YrTsnUrublJVr7vW9fR54jkXP3qgZx2YAEOWqZRpQBlCvxKZ8SAvkq+vS
62SPPKas5OfLSxqb9ECIBYg0oXsyY9TctIh3QgJby4kaL/nlJGMRnp24O0jv8oFNMKvNjGkg6wbi
ZpnA/JeJuTeOSODRJS7D9CD1rEsJAWx0oXp8/5Z8NeUct2+nt1X5SLPrpxv6uE1HGo4OLWodUSdT
EpOf0SQEMM9kEwPouUP+AQ4g5UKPepPASbXLS358mob+dAIGaOxq4FQB5nRfW1PSfF8OaP3UAyG3
rshFW7qsb2nTNE6Pl+vdRJfvKcv0mPLsTG3DyY0hLY5ZPoJFLOeky9jVHQY4hOv4rwsfTL3rU5vy
9XnOKk2ZgXB6+/qB3RiSGGXEzOi75a+v75fny9+AtSml7gYkvQLChHT3X50PXfs0J2FO/3u8lOGE
iYd8ub6dJznwrzkID+zVjbKTQTzr5o2u/3ncyKSY0qLX5F3YAEJDtp0luHu4XZ103tAhu4OQB8H5
6k6kFhOQHIR5x9xm180mvQBqQPehf7k+fBR1NbV0Oha2264n1UTMvVkXfWIJ1XA+GEad6IqnTXk6
xgNIZ/LcT5g8RurY/xU6g4iGmF1eukMWcxex9fEdo4UQeS1nrchcGpX9AK0F1fv+gBcBrkMsCLvm
QAgHBDKdLmFJwgyhtcZ/ne0IZEqSCOd0C0HPghh4k4l+RXNTtgfLcBDCHskhmogo9rwpcgOpYE8u
IVBjAY811TzVpem9Qa43MsBk82ItT7BLlvuHCV+kJtgIVbJinjlIJfTdYhSecnsWKs1vKUEaCDgy
gkBvcywWllIaUAGuQcZgkAZIQgKeL2Nvvgi55JdxZ6vCY2wvBaGikkzqi2vpdy//1z+Br5nazdVj
NmsiJx5zorzqjXjJWaXfrk8pyfz2LVUmzNtL5X0cPdM4UG3TUi/36WXzdTx+ZOVmafongcCWvQSE
+uhZdf+7ZXBfEgoJAmCyO4ZGWgDia6NkMe98QNpV3GtXs6Uy1yYUO2bzs7ChKUKfVehLSGBnSlWz
viW7udgUBwM9G60kQzv4TobENcm0X4/4f4ldaEStzpd39UMSbUNzMn/iPIewMhWPo1hTi2+re6gp
9x/h3fT8Mj8WZ4cu6aB7ro56ub8z0KbiRmcpXBwX89oDF7VoeFA7uPS3uUmJZyVLnk7mXtYXJuIY
jrMthKp7OU8Drns02UURnZvkoYqAmImrH/Hm/wdBe99NYBQRJfe4OmNLDKJBP+bsNDRmmUuv/VwV
B17S5+RbBOqFJNGNPPrJLbN9edFXRSrFlistjEGZg67Sy9xIpq1q/t8v3Hx1G/JAXAvkA5GISm4S
Rty6k4H/5QmFDCTZCiFAIUCqgui4F/Zvp6gBP2Zs2To3UPfJlNP2yBA40mm2tX3/EfldOvaG7G3k
kWOqmTp++XZ5nyfmXl5AQ4zC53zXJP5xhC79EFr3tQbec5KuW+fRkis43eYuO7PBu5qIB01+oieY
teFGeuAlQ+wHQ/BU2BB+6MAhbW2KyZ67AGaNKZo5JQeC/je4A2JXTRnGmMEzkCQhOmPZV/YmIf+/
y+I0lRnczTLguHY1lzNPjQWpp8UGmt7QwiaB01v0+MBONNVxZhAG1T0f08yzU2nxQX6tSbZiDsLY
gTBGNhrIVza+J+qv70cdl0RTrlr+rvLpB866NOpoCyUk0omU6DzOwhm2ueNlqOja8o2zsEhqCvHK
T3oBUAtsx8Pz21JPNKGdPAFW/wY9HT5ERfK6kjM0xH5aZjY1oElBNNLyZ9eq2WtKRpYBgJB8T8se
+ep/S0RbOdubIywk0F5k10LbhM9BmRN60cxJmwJGETGkiGMGqMpFr6TkcM4vAPCo7tzWykIapHUB
9ixqyiLq5dzX+fTycAb5I8RIJfn2wgC3MHESbmJFSBA5IZFttx58xLBAfgqt9rBrjkROjDgPLPcf
zXSWxBgj7QbQXFshYi9SNmbJIP+S+LzyBCRVN+pfla+Sq7Hk0aw/hgk1iiY/mLXjXTd09vclG0qa
MBvWNIvLjxZPOl2r8Oo3JSszgTLTG0r822pgNHni2ckWhy7YH7O9fLcuq/5u8UKXIuo1rMDW1NKq
tW3eaNFpf5sjSDVpFY44Gm8pVJibVbIp5LE7+PlQuhwoUiIGVNb0wlK8CDSe+nWr+tUcNPVIHNWn
lL3pv5GTMNuDy4db/wG4Z0KV3aSPmry8ikbdClv7271j4Yfet7LdSe2d5/JD/hvXiycdVOcSefLq
HHHspucoZ0Qfyc+SBFgn40rPjokfUHCklbwj+/ny6+oq+VFu0y2pER7Eq22tj6u9avPtdJvHBADX
b+z5kKUHqkXo2bgdZ8Ec1UiRVuifCr4bp3IRlXroiuMpTXyiR/BNaw6Cz/8Nal4X6aw+9jitRBk6
XncydEbWA+/NIym6JGH4aK6ioGyxvIXWnOHcEyTOpnKarl8QB5AQRK/Go7HxjxpSJOcpi/zKKfRD
2g6l/q0GjhYP/DaBTCo1SMtIpOGA+lxi/ydG68MB9zgwP0gOZs5KMUeL5vnsPEWz2e1q4g4ydDl1
hBBaTqlzv6kDAUrkp+l22acRiFzYdN7ZpmGqImmThs2c7ZtIsyoDDHnqIEnk7uayMAnSOKXrxS5G
JhGiOFuZuHNLERGAykY2nB946HTa+I1vyVU0NTM8YUAqAK0i0qs+svLItC6SDiLSJh+5nkWNPbCH
TqGJIUhTO1EJrK0ER+wplv+AmiBar5frl+cEJAU0AKV66eLvb+fzPABn9ZxXHSBYI1aT6sEt2CJQ
hiitjt+uWhgDAsYk3rIFOCmTOr29/8P68xDFrniSO1H6g55o4gVyiUS9WE4LmAKJJmw1vpOSAxSW
0EvBhLKaV1uIzU/sjtyCPFMyqiChHQmy9232GPSyjGi3LD7PiCQ2l57XrIw5qFfI2ub11Ec4HuVZ
3IO2lysiDDAFSH26I0Mrkg7+yzUN1ZwMAXg9WlBvRx7/EsbNYTQwJ4jkiGtyzA8k26FATjc1mFzN
D6l+tOvJVrIoPKqXJxktmVPNjwl1Q6MBn6U49bdEdaVxvYJ4IUHEhtZiB9LNAlASzR/eEgAbM5dT
XnzoZWEdqrhg2wJ0nUl1FtyR4ndqxKhBURrnsWATxUiOkVqbj00iH1GY6dmXnfxt2KGJcJ+8idjL
g3s6fyke+ltzsZlV/Gk0h6/csO6maTmHTOduHu6ocoDPrgyyhyoRQBil3+qu79OdLphMJAYU6Xrb
WPOdU6wgJZLlvxx0wbte3lyvqxPg57EX322rSIAQCt1EGYmctrKTxLVR7g/0OSBZuCSKuasYzV9c
KWa2sOYy9lt6uEDKKlJgvE3yXm3qfu4piCHRpgHpQYjZgYfqcknjFLcSo/QCub1sJxWg0buPqNmu
17lBWlTg4ZoEn9lM0MDp04YlYjcsAfy2VQwzLt1cwCZjL1WCNhNkQyDE52DyjGJ5oO3bsfQb3dPr
frQEjW0DJGs9226O0TUVGLhFXS+nZ9VUSJJUCnv+WHqsIPKQBOM7AY1jgQxX18qKXj78phtW7P1g
91stafcCmRs4zc8amO2Gd4//4zJng+jWi7XZTX9nIxsiTYjxdigwCALvynQeq4QKeKwbH5mlk8Hd
0oB1fusPf+EGeJZzES0w24J69rIZdL9qkOL3D8kFJSRHelKMExuAe5MGHjZH70SfoCZP+44luW+8
wnRb0iSpaE2J5j3MQKMVPUumzbkB6kyP1BZ1d67oAXKInCYFHLxZZRGS1U2VXhilNR5vRKeIj5n0
WquN9B/4HAnNJ/+ts2yYAqVxkl4aLuXSzOYO0Met6MX5i3n8W9K7aQlvyoKW/ZZ2TC4pqvdzdbRU
Mr68v5PvEr9OylLydu4R/+30ei4N4vMfk5FRaqaerqf33j+8nZ9OxQd7+dt5WLGVmyMu007c6vue
JyZ3ViIjOej89tv468sEc7fmNsvx18t8+lyn+5Ei2Y8Zl5+vv96NGs6kNRa1kayhjq4xuyPmNcR4
jUDWyI9yfordNR4ub2l296gJXtl0IJvOaaam88EyA+LL5R1iYClEKndIHKbjj+nxx6xsCeI3olMB
dOptjZzXYN14jTT0OTln36cX9bWQ9S+Xx/QGh7XF+SCKUPZWrDtYIqHm+fT2dVK5IXYUwU6OJs+J
KfVn01ys09vd14SXkaArr08c+Vy1S0gJkr7mnCgBTv16ffr+9frC0JYilB+zYjz+4u39lFVE/EVH
vphT7cakX35WLgaQLP1iNnJ7p16p51uZh8KQjyM0ujmMf5hxacADyAo06Nu//PwCspp7Tn0h3t+v
zyXtFhAr4QulF+3xN6DAZzeiJW61+qMLbf3t/Ha9m+Tg+0DhKqgm95cjCsoNHtXd7fX0csuofbi+
vZzfgOyx5PTFNe4Y9I6/tYyXyhRmc5n60at6mjB6nmkDLKDaqzJHF3i/vmbnLvi4PrL75XsMKjxl
Wfk//jBRGUBUqpVhQOz8fDn/8np9e7/7eLm8A6yacEQwNuwVUL4MP7DJ8r33b9NHkr+DeVOUwBxD
YAM1bOFD0+sYLyTIW8vRhy5POD9+PY/7H2bu5YmoyQx4HhnS3XFSvk/TU/g+6J9TyDQewe5MTNMh
pxNDnDpCUtk3qeIRYQi+aOhDyjV14P7PT0+X19v5B7UWaQFzXaY7zJMhE1+9PAy6zeSvBap/y62a
qd7wgksgqzzBZZaMzhzBpQC4pHqmYgyPWsJudM6omeKI1l7+xuNgiYJxOvvGnKcX9PTAXbglPGXr
l4kNC2QN7SSV+0GlAssSRVlg7qwdGVvDgbOb5oV21d+Pl4dSasHr094Cpa1+PeDRUIMyXYkLP86L
NzYFeDHBZdZWutbxyj+yAnRQed0QS4IPjM6OGJ9v7RT5mx4rIFwff4Bwkd0J1ghUy0rMwaofudl1
XOGx2zU/wDIXYbF+OD1FICVUy4r0YSUMmY/kDrZSpf6Gs9du4fScUNuUDpLKg3kc4OuR2nsaW5CF
B1nAg/QR0l7EAyJgIm1yj7Su7f35UizDmoLhhx3ViwaOjFqIgSv28sgu5zEndxvn/DYK3ZazE75L
M+sOSJ0RA2VMGlFJTQ059On5+vK4PICZZMG73TBE2q1DJRTg21F82y3mBLkAVJykbPmK/RFTkfEZ
aNOySAlsxSNa+Ea9tHkzz9U3HDO+2Z3pFP5e2uNwRCgkrLWi3fWSzE5YPz3+98ft/RkqL5oKWc/Y
K0DIAlx5onHQTnvdJeYLYHi7Dj/qfAbEYgXk7I39k1gE6xykdmrxsrkD0scC6ROPaG15vnHa8NPp
tXwdbJG8udxY1cgDW0SeRd9eM2/4gFuhxt/Yv0qvGDh67CGrvBZAzB1LisDxHfMnlf5HjNL5Jlb9
fNFG8XsRog5LAOYx/fX8lnI2gWIuoNbcPJjM1/gXE1ungeJuCGDU/YC0AgIAUHsIP2A5rM8HcMn4
I5r73s0HtAF16Ms18TcLAFTrIx9vRTfSXUIt58RvujkQBQ2xcdBY8dtsPkQd5od9tj9/Pb2CO3Q/
IEM36xq5wogGU9Jv5cCx9PaeEwPxm1taIB9zU6LgFXojhzyLPHUg953/gcA+FRQcCzbmMAuu9bf0
bM7vv5wX3aPw0/KrQEPamav2sCOA0UTldpIt0emHrxmZ2uqIz/OAx4SsCGSj/c3pIhVRIReQay3V
45eBTVJJ2S925CJEHQriUD+W3PmxxmrygZBBJbCH0v/6cr57vfx6Bh9yts1FAHF+FHG05ENZe7T6
t6GWyAyAW/0DroyRAXlsJd9mwRyPpAKHltIwgQeohEeoI/zA8xlh5xgviB2dPuch32ZuP73Pl1RF
BlQi6gfXW5F+yfzLEEsWYHUA8MHt/DEXfhj6xfkrT+eXr+/fbuArrg5T9D5yWO2j78yuTtv6Y5wB
RbIAzdyTM+P6b9fr84Kpy7WkGqaf3b1f724TofQxlSvslrxpsfbR9OX+Pi63h7fL6/vd/HHwCbl+
Qoec+D9/4tvp7eV8K9v5crq9P5+enq4PaXJHnm03WU7j8U1pP8sYJbFUxMwP7+X0OiE7zfl8ff94
m3OFr7dMu+OPLVGstnnD+/n2/vbx8jJxc24/luxnI4j5twCYWsHI/PLLxHveXk5PB9AQVvg1bzsx
iLf0iP/2t7/dTQBntG25wm81YM/n5+vb98vLlyu/ftz2v3VZKpSfmMfd+/n59WmU01w+4ddPkNmh
X66J6ZRQ2efR6ynwjmC+3EJJgp+U7bvXt/PEwN5yFs/L149pWwAXbo/L2ynXBDxfbiXzePpcIgrw
Eb1+xDjiTHudmHaCLCQ/EdXERFMBzfkhebYv032fkoRDpLJdtSxFXXOZbvOtpyui9O2+SmnuPJYi
be9uJvX0ZOa2CvNrBN/bLm8ZoVWRYMH/+eXhjD4iyMlKcKk8nlxq9DjDlL+sjVlKXdD5LWWbJ2or
uRnLLIokH0+3ZG6N13VxI34SJ3g+/Tp/bP76+APOV69HEeKf9gTgKkqbH8207hwa5tcNNcICHOpZ
OlJvW6WDHFMxRlnzV4AovxE1HXn8+XZ9SoQya4CXvyEm6wjHJjuY5HWOirf3C3YT1I7m6G4Ku08G
y0Yc5ZBgb9uFkPDmfK5rqq7IhUmF6E5Pr99O4HJsdbmFKJIWsJQWTYbP2/n0l+EXvJAVuuda3vlZ
Ps7oLiRKX8GSWTC/gVKf/zBZQHlG1pfc6y5V3dxSscOiKN49vY2P0gq1uW/XbVOP05fn6avPp9tf
svVW9je24MunfU3CczPyZVdvBWp/qeUGPibtpSAgbSCbR+kPY1vb0F7eoSqCh4STFwFfVNsXt1Og
Xc93lHabvRIvjyhVwNCyMLIIZY9bJcu6brscYIEb601ceLbLJrZwkAN607vGiZUdhd/W39wfI39G
YWShA7HSDTVT7hInn6Rh+Ye8nwVn4O3pmkut4rF+YdPFXV++P19T5G5SXP+SfpQfHGBb5DFtLebW
W8zlTpkVPp2+T1wR3BnhfzQpfHs851w1JIVY9o0KZ8uxt2/SQSD/qOdXmGzs0cr5+XOO4+YJwqlt
G0AhVYE2OZR3Qg6by1xHlmk5LbkKsZbTX768pULuVrGY73yeKFm4apmrtDHYub0299qcJDe3Gi3b
a4My2FZ0r7pHTzHLXAc4PruUPVFX9PyD1+A33r2W+f8o8rb3s6ERIE70Lv6wRNzLP0Bj5ofUlInv
fkEWlgv0zonvi6heLJNUO/141U6uL0/X0yPAnOo9uqKIpAedK8Hf304vt1SqDJiOqVRd8Q8WdIVB
dIzZQlZvk0X6c2ITpfCzMDhwh7G+Q/f3CPqyNaKubOmYr49fUvn4/HjSETM3A8RAHA00rD9/KF8p
gNY9e2UUOyvSMvZe++dzGpK9KnGXlzQc/HZ5YJU2wju2PlG8cJyQ+xW+Edcj8MIYmq/nrIy08bfr
EzLtmvsK5IvtGwZyQnR4bm9bYCMbTSfszUVBLd8uM23BRqiDajV5etw/tTcBzF/0HsamrkEBJHuX
1O4hz+gFBwm17eZqJSgbRtCKDHF8scsemLcct0+43JSx1p6e3v6/MD3kMUPhuOmxDM0LRAj/ow0P
sW16FoUd4bHKdSzCo+5Z7fW3ALTt+RmbhIKny+vK01L9E2BkRN3NkwbGDGdBJWLr0dW7C92ncTuf
3h6+MeqZIPQdVpN790BS6/rk4AYPJfT0mHZPE//7GPYwLRvytYdaUX3x9TSJ57s8IwFxDuAknm0V
5sm6xiqLdBOnp0n9vvtWJjX8nP8P2AvxFm+ZA6NwXJH9snLorONjAYTuHfj0+vp0Pqpj2y6nHuXi
lFVFTTryH+82Avt1PdVgNBKo7Nf0sFRR1st1PC+qXGfoxC/mT8wTBuc+4KXPymXifhOr/np+u919
OT09pTYl4A2JeocezhYth1K9e2ufHVb0vNiQSfrlEwcxktMu7rXoYx5aZyp1x86s5yXx2MtLtn8e
kpdikibzT3MZN9YZQ9fR93eYbgddl7p9tOUwX2Z5M8dh1r/frTvK7XOGQnHtmx6qvuDvE29/TL3Q
xtgwdLbEAh3/q97WoRq3so9N/m/T/d6vX79mDXc7FrMf4hIV62kI/Jp7AXayfSOsF0w+8TJd24ju
DO1UuPPLbnpMSqRavzj+kg31cTSR60P1pCBi8+RubsXXuRsQOUz2cjNIdbWyNzPi6ySYUl9A8jFs
dxvaATXMk3pCi920oZxoPPJClM+4ilpE+5X89FI4H2Bo2wnpQbnfSTkm2Iol2EnXvejwCRll+s2C
o/QaPz7novMb2JilZ1teVHIY/MhDaBT0/unAqXxNeZbCZz73lSUbVanbs2qyMF4Ma2PFV9QcQn0+
P15OGeD5r2lq5twNjmlprgLt/Li9o+kbE2RqBTLHw1J25c9rq7HU2f3jc3bYDFtkqUg6zZXi9iCX
j6cNvl5z8sPdw+02IMayQdtriJqPe5dbN07a9ttlOuTfTkOOkT8Uut2A8UnB4ehwsVzZFpbv/fdt
wVPe5fgbpC1bHp69aBAvk3yB0zNVdBtucy/UuCw+G6yLeSg0+AYZNEszutevvE4Ce8gpyifoBNaQ
DaTRRgz4Cm3JT9IYp6+UYOzX0/PHOyARchc0y3uCnzs9vpy/zsSCEGJ0f7bI9p35Gwp8gxA9LXCY
vrF2epss19vEAy/JqTyeXq+i9u0MBIu/BXBMRgTPLUA8of/cVrCMkIcYknQWASkI6ty3HH+F9Oqf
HeWm3Ut531/Op2T6wo/RGdC0dRDlEMtX4TD7iUMQOsyKuSg4WlvYVFzn+8vDt7fry/UDsEDneu32
p3Ne31JzBMyxoqJzBUhzgwn+QFedgmpftYc16wsv6Tq3iZAeP5K74fmK96IV9zbIG0PvY/cdvXX8
TPj9eJ6/cnq9jK/Kx95c2uHDABsik1uqxiOdhwGel6RSipTdpatKRPd0vqFbIhdNq0mTpEw94ZOz
9X3gbC0ckE5FIvnblGCTffy7n37/hz+UBtZfrk+PoGPn9BpsNTlSrltadVmIEUsnB5PyvLKlPHRq
wasEm6AzevJNmblx+Jfz+wVIyEAmXeQ0WUGF6/Xl4eP8kOrkkYwN9Sw7OVAYAFXQ0ZGkh8VOoCCh
FFraCJtwfH7NvWv4r5AO5y3j7r8YC14MoVbalmrMvtHDGW1s4qyJv6IrJk3oaxL760HlMqruLIUJ
/uvbdArENsRYzhdYILJIK/f6tf717sCxIxnkM7eFcAz+kURXje60KYF7vg7ukQ6Opk3xvp7ff0pD
u/456cN/Ov0JPFhTDamY36t+yL+cEmrv86nu014uwAltSOgrmR1peCgkdQ9InY63Ih2UVs10Yidn
zMHo8O/SQnNOgLs8nq93yT+cfRaz8UcYNmBMtjewLlF9qvIpsmIS8Jdx2+6JiHxvOHLN3ZEKN356
LVcCRENHW1XKwEg/OWabkRmDpaWAX3yjr09puMqM5dPTE6BG8siynaYGrBsgyYzF+uB4E97T37Ce
GjVReWmfksry58zq7hjUjjV8bEt0bElDDzW6EAuJjSjYiPKYMyOSYQikxqJiqwfPowh6sg5tY70X
RrCQEWZ5LIMfvQ4gZwXVKUmfyUK9qbZ47CoqylOoJnJpWQ0sQJVP5Qm4egybIQ6Osofzrw/n13f4
Bsh4gKoDR30ph541GUpRVZx2sIqEL2EOpdbJjQUeuB1DpbCvRMNACgNtgk4zoTP+OkdDOgmdnEY6
VFMrgJnoOBGNqt1klnzi8XIrDnaG7sTAOGt9BOAsNrY+nYJe6lmbj5Sy1FMJ3fkNiMyNdqZ78+Mb
R+xcjq004s/kXa6udrn6PqcEtEeGM7TafKWWIFoRvbkxQx0pArRQN6LYOhhktFyeGa9sVAMmN9oJ
0GW1GerkWau5YBeH3fHb0JoTrARSsTf0Z/8APXg9ujcJr9bMABLofHPa46ljdytwLQJ9hZzkAYXW
y3lM18YiHypj4VKJ6uOS1QM+5wf+vkmgXF4IrYBLojRHOldllTnlqbxfU0HppKP9fEmpjXmvCXOA
v1B9Ycv3HhFxAEQc28FWqhLb7Q0A+e37amJhEY/Xc+n1fHl5ePp4PINip/K1RmG0HbJE/Fx1WNYW
9cowOXvjD/nvt//MeeR/nA44rM3WjlS4k6cym1KZqkpCyBJZm2jr8vIByi/TVz0ZzBBJ7q0a74N0
PSAyc1718/VxJfG3a3otb7jpiXZk2sAa58xDd355O72+llla5/EByOCLLQT8eHl7//7HhNr/cX0r
SAaIJQfaooLfLo+vl7tbyll4PaWyiNw3LccCi+W5BPHByeSg+9dfLvlgv3y7TKZ+zu/KQ/EuL1//
adx5QHva0S79oGyUNHxJGSZbUktOIHsumdB3T+9vJaHz/alkLwOaUE0PS13f8K9z05ktjYG7YVc1
ApjVvaX2oMyaI9Q6V7iC/YW6a2tFgfme8lywu8+vz4DwTfURRW992dqcFZsGhlYpmd+ub5e/TTtO
yTrvb+OD0xZPVEdd+0yUhPWn8yn/dcvJXMuBc0p4nsx3A8mEBSuxbq0c4IFSn5Qv14eP21x58PAO
jjHogEyyeksfB0BTZI7E/s5y39lJrn4t3cnfzq+TGXH3K6CoWLe0wZXChW1td7EOwJ7EjfcAxNec
Li4NLMqbyltfLmq50h+4ME1nN63B/pwKu3Zzerl+BvTlaAuxbJaFGq2JaOdJtJ8vj5e7pYAdYNb0
qGj+4GNqHHH9fpfZa+bLTFdB7clYBxIU5HgJED+kjzzJqvrrx7UEGOdKihztuC0N6ya17Tu4B1cL
1rkbULFPSOninXSfL+9QaSvfG8w66gjm5YoA/rbjkiHMC/FlgV+KUarPljwh8FXfb01Ltjgpb4We
n55Or7daWr1PNJq8Zqel3TYpcAaL6n4P1ZIHORHAXdr0TK6T3Zx+Uh4bYE1yrzx0WN7aCrOUtXV4
OliCzlvKqeI1Ey+9uC5Mc96JLER/2M3iDD+9TXrumXtPZHDdVqT4224N3JTpT8LKe5s+eX65Iy/4
WyrxWgaDooay2pFOkER3TAzg8uV72tX0rcuNfBwgYhMBWwSF8pXXlOY4V5FzCorvdKurHtRMTTNx
gtS9wpd9xUSV5oUduo3tykna9KYs/BGFhwvpWWA6LHQ8+7tuRIMC2Je9RlGPb6dffkp5xo//0lg3
//kTIApf69+qMmwmI2DOoC5yd94u2FqoCMO2lFsoomR6J2X5tpZh5sqnPMzr/fQ9Fd6cT0C7J82H
SYrdSN/68nZaRrmzDCf0O9NO6uyq2s9J44gGaTvj9OelzUU61d3pSxmXPR083X1qZ1Qar4IP2t7Y
wv6VA6y5ntJTrufl/EstxoqmWnAJPilrc0X8Nk1+sozAnQzGYKUk8Ll//WpuARVd917NfKdZG797
g7RNes+RvPblIS8q1Lob8EhUfZluz/KINTLxqPz40N4c6ae/VZV2TN2Hp0vJhX5AwjJ2OPK+/rZx
eoDNib2eQHjCVqj4dp2smvTB26xEFrbwcs2DgLNxXdEoIEtTNymW22D4HXv8pz8DFZC00ib8MSmk
1y+lJVSpDLqVtjUbpssjP4QgTxtAb7M8WBl4BzR10kywK6E3IQgIXvZ082NveyuogTb6oA94tg3R
8Wxj2cTfsjXMdHx/mA71tXGajep1FCZPey4qW+zNY/2qyhPttfgduyOT1H07I5ZE8BlXCpzBV8/y
rMAv/jKsIhJ2K1Y/NW9ubKvBAsFyR6LCQmvRlI4qq9N4VtHT+O0fN3VUT4lLXvanJMLXOSJbXYUC
PEX2fJ6Up1TsP1fFbdW60+PN+wfsZDDtrctQAAsJHRpbZG5SUx/Pt4dpdydIqXSE5xxK2W9mbd8y
+52RbkUmKuU86hCQhp+d2ePSyPJOiUtz643WcQj+Fj+Trgln0B8sT1jN+08iblortZfMghbwwFjx
QLVnApMl+vH8ksfjFv9zqWCafRYHjDNPB09uGiN6xathgx8UGSeRzRmxewONVymv8Tx941JOBSjO
9Xs1Ezf/3u8NnoHsCedFyByM9LRjx+s6rHwTa1ujPA+UnRGpPe33vSm0RQamSEN5o0vwLY1gmc2X
x7uv5zT0IiP7C3gXou+o+vy2vP+H6xuHPV1jz7GME/BNVRFj7c5cafIy+/YOyCgyapG8oDnx4/T0
SzZEs+PmbuEtEza/fDw9LV5Jbse6p0H1Xv/a8e3o4w9Up047zzeTgPLvE3/U8tyzV3bUV1nKpc5M
NKkeayeYNCbsnIsEbjkADtrU5A+SRs1EzC3escLuiS2RSeHudvmcCOOWmlB9B5t122apVMlq2SIJ
yrmHN1Q+tDWkJq0oUofav3wnfvEdNvFXl9QIQVsIPJ2/nh6+l6dT+kus3x87fPLnlhRa0WTmz8J4
caeAy9UbvnRS67UoB81IL428X5h+4EqT5+JWYhZqGMRRdHjzZoU8PJ2ek1lK5mSMv0AiR1RXmmcP
ZvfJ6ekJvxalTVdRzATXdI5bUzFmQhzvjMYXZ3LcPlt4bnL3pLf85e36nObUTpy3yMXb+LOx69kC
SQGqGqS58cXVzJmrlkELyIwj21VxhQrjhalxbIhH5P3t43Hl7hkTi5eP9tL89OtwL90JJmscYZnn
krA7Po+yfc/meHP5ml7S85wvH7P3aZtV9sTSQGhu6Yu3RyeeEW88kQhlf8wOiEgkiLpmx23eQObU
UEdVWssepoQ24OZt9bDl6t18S508Jl0DHNzXakugryZvfO4aM7PxuRddnyPp/tQloSxgSr43wGqZ
rlZM3NJCBPrhp6c6yDD4dkl90245Y2Ue9ve6KTuAv/qee1Zo8PTJ0KJqMPzb5eUv801wt29iDx1Z
004x2EKGC10ijqhVV9cTEuxf2R4HaZnwYlsgLqjN4DaorCiHmc2g/NxbtRHLER17+lzLU5ZdF5OF
Eap0ujKtZyh5OMVDWmZ8n4pQOb9cP75+Kw2y4PAhRQd0kyqFmtLTt3PLnaLiMBhQMfQHp80fza3g
EgdNecEvYGuhUb1V1UyRlVWyR7NCSfDqdcdDTmmjOGxnK2wybSa9/3YGpKDrMKOYWe/dnt4YHk4z
qrby19PP18tjcoHVLQhzlj5SmEzoRYperq8pIXQ+ZHYfl4SSjwdkv03HFL3PCSnAm9a9Nz3kr5kC
gS1RyG6QBwCyjpSStqN9Gmms1fb38E6Ucb2MqXKdE5v42/lt7X6IXPtKERclaXefL5cQSE4dHI8s
UooS/LYfMciWL9egeppzWbC4bdapdcgPOBkcokefQgG2TtzThAQYIgS8vZ9e9+OcHSyhmwxfRyys
3y3mwT/B5M1pn74njl9Ob29pdkg+9i8gA2z6gNmHysrRVn4wxno1W60J767+46VVIMPniXNxzdhb
dLRNrN3dvl0/nh6zXEqqG9BtRD2PSveYArXbJ7K4PLwfYw6+P9sMTACdmEP3qpaXeNcgPbPdp/Ov
l3HmjlJW99LtDtgZQNH23ewRIYFVRtT5TdIh/dqDa3P90HvHyMVSTpF8bMISWAE80wZ4c1r1dLI9
1pn9edU1giTyboiO8SUkkEiqmTxX9np+vBTFh44H3ywG8OBVXyqAPZOMfbKDncJd0If1bUIatLyx
J+h/5DHb/uT41VNcUoPueIfx9C2SeGBKfX5XbJweH3OnsRRveDhuDHQdDIXdpkT61ssLvUk2DI3S
H8imU8qZsdS/zli7fj5/v5FwKJPVparZ39T/uEx0vOaHtuC18LfCxVPg9fT+vgTNJvoGqlKddmJh
d9rCw7tVOX+/Y0d5j83qLBcW5Y2XDLpVyvt2I9Velo0WNKaC/UqdAe+SCDZPuJIDPCH2WPMyb/zj
ZXYBvJ2/ML4E5boZI3sfyJxcdqAvaUGf7Lhvi7dpCc2+X3ML9Vx1v3PXg2cH3nA2vfN+04fmXI0t
Y3HsvlQk4YmkyY+9GhIcnRo+mYoiK8/l2F8m+0Onk7WeeEwev1WFJqDDRzTukMpKertMHLbgbq5f
eDq/83K4TirfeViyBZESEH65PCA9WvRio9sYvkI8JAJwmBZpPkNp1wG5znTpHA3S2kLd1Yx4KYUM
m54vXShgwFONapNFW1v9r9m5fHlNOSR375eUmMe5qf1YM24zdDkFgeaMUT/fpquDvC6lrOinY/8A
K95JdsCMXYV8x75dM367pl/B0W59IZN21w3dIAkiOmWpaNMOsAjbzyHAtvt+6ARL5W5oBey8kqBQ
ZiKvcXhib04AF4iXQy/YXM8+Z7gudYgHEgomyUI0sW3ixQGNB1jC3vT4Dxso27K/2DCZ6jmQfiPd
gmVk7VJenMJA8yFOH5On6xJ0zu17Pp9zku/7t/MbF8BRJOmWMs7Xp8vq3FiOV7KceOew7foPhQTx
LRW6DB/o0fTxNAMGlgbDxThnQq5WD/XxvpPnBxzAA64vJDgXdcfR4VYAebJJ8l+SHICj1XQTxIQG
fgDT9RQtVWhdOwN5HWXPO1rI6zKrsHdLUBIaeqR2ijSXGIUiilUPTtl4bSP2NSAtmJa/kIZdOJSF
0+4nMop9mirKYZtu8H59BVqFa8tOZ8KRgPEqN1af13vLCi++NGAFN2rtPpGJMehCL79AaKA8tkl6
7h+gXyFdxdadBOTfa1mDpULHMkHKjyJWCJmU140poOCH+wEvx5fLW5r5en5/P4PkE68xySTVZDJ0
r1ekh9cB1SVdCNA7cZg1jmmsuwB27d0P+rrVWL9WDY+Z8x+/XN7vE/B91gTuWR1Acwlrh9VdoO36
sZevb0+xE27Kndo2nyaSxNLy6bUopBoV/eX6NGGnlDP+CpJCl8aJolI1Hq5POUn9o0wAypML2czN
LSmSDpCnaRNFpU5knPw2JFgB9rdlbhKZNV/Wlia4lCmUhdaGIXPng5R4MztBuFlvJVOWpt6u3grS
/WDO0FwLHObl8Zyk6bNkTqxexXn5Su50cf3834UQJ7rgvqV68+hmdpM12xIK/Hy6PN3Nefz7Ng7g
+4LMhc9XW1Z4vH58Xr7xw5v2sTdfsrj3koIwPbvTMtucpN5lkgZfDb15b2SHy+5ecj7cPEGTRbCu
h+LZNunxV2Yw6PQJU400ngMym+Pm2wT+VJoVMXuxu4ljtCXi5TG3qcstW+/WXP6SHc9lRpuV1Dep
UVC/qVq31Md5p4ClGEhxTpYoLXhPJF+adsyc6wBLUlwa3V7GgcHa4cJrNEk3J7m+G2pnOXOQ4gsq
SH78JoSbWWXEyj4WzCzp3qFOvVddNNM6IIrYoQOtINcQZlUiQrs6gbWU7wfKBXTslQuUPc7fKxOl
Uu7N7MUdvtPCy11P1hzGQqrBAWggJEGTDj6fbpfSSRxFgmXsZsighB4ZVR9kbABL4sxyJHnAgkVC
L2UQBYJlqFMUZpBJAX95mBviIH+srLPFlv4u3TmSTQ36+KMidPrSCQmMeFHb0GuemwOoIsUN09VE
yzokZOzGFXPV+JzQmeIFSboDDVOabpowSHaR1Ge+KQKlRrgt7J91HcYRKWzPgwHzUmgKUO7tyFrI
MrpekjzKKJaxl5me+M8Wv7ybE+Q5VV40RdGKD52IblZ/cXO1U8fxBMFy1XXg07P5HTJ2wxtlA5yP
rQ3nadZdJkNdOisDn4grdK90fzTVtRxKdquvqUcfspiuEwMY7jJ0st8mGmIR6LvJnqVoOCuDxzlY
k8fB591KkiOrtw6VXdrLtUhj6Vmw1jgvZh2QxMabw9zuJil993x+S1GN0ob0B7ShpX27oBM/v56v
z+f3t++TrH6dO1Ou5eK57gv1gyuf3bSVNaFyVSyLnjnrAZXsn/EFtBWqBRHfYZN1ujRvKQjbekPT
PILx3kltol9FY9FU9oHmss7sA+UV8WWOVFaO8ohHsTihUzPJhIE8qvTh4+l0MKOibDqQSsOVCudU
hzmFac08WgzmfIK18cNkPpegD1DtJNG+SMfhqvgqu6znwEWpOk37Hw/zLnghF0sLHIpw/LvRLmxl
//yYYg60Udsv3p33NWM8gw5nhGf+LU1nZu2iGBSPzxhY2N4cY+K3WJxQYP1tIuzKeb8+fX/9dgPL
NrN+/dIqNN836qReltx2Tbj2mMzLmq6ezUr7poGlmlHNvm6zwuFXqnqg7Oz2u2ZTi70c3wMml3Pg
E7G3/QP7dvRSI6GpcrVHlt7oct9AYVTkXxaX1QjcRY51auQIY9oq0nO2IOqfU2x5VRuvsXo3RaHO
z7lkQa3tBFh24XtGcesZKXKs5SLnFyBbNPVokHF3Tceg4jxdA2t4s8r27O05nf/yt+SFfz+nbKEl
KgXOTRwY25PmBTc4sO0L7F0PhrltVKKHdG/YMWQUQaPf0vOyFjQ0rZhE3rJfUQkKCXoxYM9g2afo
+ZrmMQZJg8rEOF3SKNJY9kSkLk1GXAqy59YOGVYOXAb5TZKB94Eot2EMoWJvnvvIpM8gmow5d5sr
Y5APUkBszSsiLDIr7KUZ0j2DGD0GsTVHWjZmLADZEGbX65NoX2TydyDRSgNQLCoICZ1FBcL1RMoo
PFwwHHs3j2hFhp5ScTs/faFa3a6RyKJqLr14UZP0grBIJAwZuiMM2JwVVF2aNfRfzp//clnZ09rw
ZJUu4895IuWoWjvyQ5Vb8NXTmPWXwSZuySA5cbmLZTOup1YJC16pbbbyI3cFNiLIzRDWDb7b5j2k
DMBjaxENLZIafHBo4yoCVbh9QgHRVCFiOqmUd0MWUYSZIf5XP5wFRAOmYUTndY4oaenU8/kdoHMj
iHlY55IdBfijUT0e4dAzrBXTtTgYLCI3kNUxIDRgdsZUd7a8BsS0TZ89goMY2Tu6AtSnfS2y5n1p
QBjG9zjqyKtaeIztmIWjEuCyL13JxZn6isu5JFiBSSiFIW/bTLxwZoUMNQJSDIQUwzZoUVjAW62l
VLJiCjxUFSoI/wMccGRhlO1Lsv1t6oZCslbWqsnMZizYvSVsZnM5jSJZ5cCmZwkv/cxI9s0cFAvj
sHPcAuskpWgg+wqE2ybwkiQkOYSwYsuJ8GQNBdYgUXW/peAKCeLn27byhRlIN2UVX53EQsQXCF0n
NziosBUQEtcnWrRAIKLKKVhB0KXIemMacotyK6p3KwPiLhCiOsoidQcKbrmVWKEYhzYLhN/lQQC5
UkD6NCwAukhmjdo4uLLg8LpKxlE4wFlWidUqap5VLTTgBsbWGmBEHBhE0woDI242OqJeCsDCnKzk
jp0hgFx3GztKdpY1kMQLB5Nd21IBpqdVRx42bhkk2kKlS1h442VB01MyJbLnnK0WmWnEAAiruhqj
QMaH6nF/YYH6YUNll89UtdcMlspacMJNWpUqFr/oiohARM8wloAIle7ShwEgJvQUfINU71hBqGN6
A9eCubw8RRzcOZA9twslRZ5FOBs/dv7E2Mu3HBktGcR3kz3XbNc1RT+3q1XD7yxFGXMQr22+PQ/Y
Od/G/q+lqnRN61yuMIxBhKiTMue21Tlitc+jT5lwnb6u48+Tjpy0WZpQwMlc5zOt+QjjQ8hQR1Xn
6VqlourxMv0hhcja9EfYeD1v3je5tw6avGUnrgeyoizvIQEvzfpz3PoG8Ec8mmrlIuh66tAsvBvf
o5atDf7iXFhzoMd9OvL33Pa9Nf4hrAa0Z3tu/8HDGSN96fZRO5FHBmi5JgOf7BrYfry8ncetw8ri
1alXHQUs7moamTt/JId8YU8CqUSh1gclzJXJIJKkHNNEKmQ91Bm2M9WRCWz8RlWTSG35VWVzNs/q
ulYRHdwRo8UBkFqpXNN/gNouY23nSFY/tkpUxkEyjdjDCN/LayYVDTzWpa3UcnOAOnwFEQ5c04Zz
R4IH4GDS1Cj3/C3JyuJdPV3oklRtvwb+kqSu79UulwQ2JmJNpIHfmbD1vR4gH+GoobgoMrOmSIUY
G7tTtD+5aooDqsFE23CG1IPzUJ1AWUD1QnhbGmIRVkBsmA58Rwik8cJIe2rSoC20iIqmEauVIzSI
iqpn6lwlN5h1Uyp8Skl0lduNw6FLWVUlQr+VHoqzk2kSz7sLG3/Pyk4ezuitFpyEilyWl6cdEKah
t4gBi0RHjxlGN377dn17H45WKtJ3XMjEII27Cq86p2ry3h7P76eHbzlJ6vQMrqGq1FjJ5vHy5cs5
z0am/cKBMkjSn8hT7utLAGWqFyQfmYZFYzGVxrJ6ocBLsSQRQRA+GcEqulb8HXSolfdoK5PJQLO8
sAl5jNsklROoriSPcxsKW7JOOX5nRc1DNGB44Byh95VRoKao24QKt64ao0hnWUV0Jjw0j2Ayrx7+
QlqfAR5NKgDDVinfNoOfCxpLSmPprDf9HEggp3rJmKNQWjmY6VrKQgOKrhV9DWNphTH2DCIJ7Fgv
KX7mJVbza2ZmBf0pN+bz9f39+gxYmO7ZRRK5Mmpzc1ZV9ioo0nxtpR7qA0p8pexIw3rrrfJ0jXBA
6Q+1Bqp4rU3tldYtL/n65a626XM6FZOepNp6NQ+jH4Un2ooixGqi5ycyT0bZz/CaE3SRvuTinoON
/RSgCUY5muwxYgFIzcma23voPCxqg+6peJXDYuJBt+Qyg44P1/U7lPYafzx/IcP53sFXbOxVHxLF
epvJdyANXhnd0TcIWc3lAGnu6ssj+/RJ4j6JG5WEwsvXl2tWO0pPJsA/XH3CQLrXp4qeQ02LimNS
9G4utfXf2o6AEQIF36ZDYiXjHmjfv0X100RDChvyPj6/v53Pd7T2vjM97/EyMcvz7XgtgaL+Y0Wa
AeZlqs2TVEvmCLb7VEb5KEVaVaxmYU5OAiHam//0y+XlMWUkHVOGguqdfZRXWLiA7fqHrQeaT6w2
Ktr3Xv7471mkJnYHdHCiBRAPiwZqbZR1km/YdXAgd0wKoedeDl/PpbHs0+nyeIdqixRJdq7y1lt/
LkOO1D1JHDzWAfyG6mnus3ifMpZfNsbKswwiH0q9oTAwXF70F/33iEvwREVtzVBrsEmnX4aqjSdD
FnZPAiNZZVoEoAUPjrTtyIquqs9HJmqzD4+ompsKZYDhJGS3zHwu++MqyZZmsbV4q7qkEU4Nnp/q
RHpWteXp/PI1pUV+SV0V7lz+f8CGc9WWLKzQLDqLqllPIfRkKjaSsPgetsOBezA9XSQn0G+K5bh9
VUFKzbktDNwWnqT2t1+bdTnk+PB2fXr6nELVH18BKcfaFJX/VSnK2xjVYtHxLkvaI4Fm1gAflA+d
hhvCCSC8VFdCGmDPxW6ZSv/6wY3bXojwh4IrWndTfIDTXsXamjG8WaYVNbIib2Rp02tDA40sLarM
oyOucS1b+xLlg5VnW8f0V8cS8FCS0O/WWmHiM02nrYlnAQqzXb8ocGfF2s/GlH+Ujar6bBK2Zyjo
CHX8cfEDAWNRdOOlo7zsok42c1ENzMsuILqD9IGXFBfTFb5keqkN4/g2EF6hFv+t2PlRh1VbQjbf
swUxbuE6xNQzWS+ML9qGji48ak9R6MXXUk/DYoFCyF17rzcR+LDRrnCtXGlyNH0YnNx1VPdBoAm4
fmVXCozKgQphq87Ks2dlzuVYlTic4VPV95EZFSPGXC5Q9NSWUU5k2XHs8i6wSAxdtChAWMS/QHLU
LBDaQvV8LsPQEY6DmD6L340zmcywTRUC3xv0/JtjtkVBTryBcxOaJufH0nSmZfD8GoIq8yuAuhEa
VW/LW0+9qA9VaQrTU1kqUXjLgLkxXHEtfTv9fBkkV+XPOEPay5EGW+tkGdJ0Dxgz5Vu27gC4TDX7
JcuKpx/dmtdka+SRleTNsUJfgAfnKkPh8psHwI7k6pQU4m6G5JBJlK94soW4DRdam1583L4VTCTx
N87qKh8juM0yPdCWZUuI/wxRosj1kCZivYJaWM0kSIon7f8ACz6FboC04OtdBSnGy+aIkXwNpyDF
K+tQp7Vb2t3S8vj97eM2MnILvmhDS/qdQwToCA2VQ4vjBOhiZ+kfJ0CSckbv6fp6erhMJ7jCrtVl
I6HdiPrtNOx2D0L8KA07whNo6+sfvFpHnkLR1+ekI9QD6O368TI3V5q1nW+npy+gQ0Eni6S0D1h1
Xq6noOo5mrj2uKDdjOiX1PdbYh5sBkNTi8lI4TJxc9TChmvu4CpfxrzNrQHmQ8r3SK7Zy8vD9S0l
hxYX7suaLLoslJKocMKstD2f2DKQavGsfR6/2LLjv7e/JrBHdZO3YhtszN1N0qAcjFbiIlopMvlN
Ly8fpXki18YpVhtpnu+IHlNnj00lTHR/A0sQfzMd4ZK6R2y9J9oWYwzdk0gSaVZ2tG0GuBkVW+W1
pIqlhPbvGeI1qZqFXH85f348vZ8+p0GTky6b45Klcfbd4+fRGsqSHBcp8n/mMs/Jvrx7vD585HhX
sTdvRUfLjb/fTl+Rf09ZYv4mbcnTIbR3P18mlpASHIAdpCzx3qWoullG0ufzz37gMTTVZ1N2phRz
Cf8pDQxOmvbSUSsf7u7l9DM4zaZgJzK3c0+3693n00PuvLOMwHkBdrkylf2UHrLQI7TAkqGCnu3q
UlzZLKn9M4v6+XJi/ATKUiGSGgSWTyzbmHX/lyu4I2KrmlynNqshK10uo4JzwPD6Ou48pCwJNWaO
J2cfzLKfp9TlKCH8axaWSVUZV3ZMWyOyI2fphLmVUbqyWVx8nT3wXyZKT601GIQZktSYygtC1Taq
0NTLFfI5ZYlNmpL9Zu0/H27D+NYn9jsgcV9Tpep9CYATot5GBi3vq6Dp+vbL6a30QEyi++NzeSzf
4AlJvRF5+8uHJ9Y0aSi301MSsafb95eHb2/Xl4lHgg8SKksDjvxqLU8Yer0kcTzt6h0EdZUlbJqc
llBqnt99/b5yPUCoJLV1ugJP7LfpSDO5AgLY+Hpy1Lndmyl9P6a3cgbkTQtiwsZKmscL6YckkKRc
AuuHzCjplG+jcd8FJ7JHi+RQk/I7icCiCSTBlIJfp/fpX8AZqRsuOyVmtxZhvOXFzoVfTx8gu0QZ
UvenhC//9bs3g58cufr0/9X+zfzgWyFRuumPbq5rmye7/JhEIIVkmRmLscDL0puReRvyk29z5nXP
0+9cUivUh6dkwRwgd5KYkYKYe3JPjW9T+DBT/CNUV4iOmFJZgm+/latuQWhOWRKxSQ7QuBHqt5JG
njW0maw4Vk7ji3brPMpoT8muzfcBvrzRWSJUv3tOmdSm+7t8PaBcK0tyYVOG3dzhu0dmgLxkrXDM
Q55mEfH4kQM4KCiiDImuZpvTAi4BDrNTo2pF4WvinKf3OW8j56fgg5GUi4kkZjcQfNQfb0+A4nXN
Czvfy0Nf52SS+Zu32SUAvtvw2JSumvH3dHpPOYhltso1zSObnulpWi3/5HlSCU/5Tz9PFH6d2OTp
e2lXmVnKtSDt+vGe2d/qPiju8OwIun48fGOafqlEEKQUJavMVs8ZtdOmMsDT5fnyfpubty5htPSz
8TdpXUWuczJzv4fC7TNMCqp8fE7mX/Irl39YnvDLmlx5fcNJFtNaoXnPc6ce8H3wsY1XpTOY2S2f
iGA6dgZ5vD7Tv9rnz3d//bi+nwCGiZPFl87z+atfTrcyWufh9PLzqWA4o/d+Iq+fTpPgmC7y/vZw
egI7JprpUjywJo1kgJyosoYl8s/HXyPSaJnAV0Y7nX/9fP210OOSEJFaNuYs2kRkE9ndwGf3tW7F
3l6IPP8px3PeHu5O7+9vl8852FOa6IIP+52TZWm+ey4PaW6cXEYPTgzr9e7y+u36AjCqwy6nrLhF
rm+PaaT0HFLJDLAEesHJ237Uc2ZYKRN/upQxJQ/wCxtJJt1PLzGel81ES91N0Rd8LQPKF9apUcd2
0ZQN+cEumMJ5Q4XkEhJKX/rvgtSsCvz75fmMh9GWe9q2lFutzHefSPK2Uv504Zf301Nq/7qSFfik
qsy8xWbJMcvb0+UR8dEms3spXa/38PLx9AQ+QbvibnWvc+5rBskS7en6tzNIIjTUR7BknGaNeZLz
87OYOMwEdP14yxLt6emn88vjn89//Ug6a9pkmlfxc87ATEB3+c9g467NXZh95++/n4TVhPLHn96/
P53LFOTH88PEPjM3KoMCp6VuiGJEryRoY3DTn1IS2/v161fEKEnWCXmJM/DHSz5m1mcAeySFfuQt
lkQ6ansDTBHFWq39gZrKrXl+2c+X8y9baOFvWeUGeyOs260vdD5fkTBb/AJ8ZnsCKcLoQwdNabRO
Lq9kXiiJBKTPGs0cFnxJ9tz/866K+g+Ade1FWCqGbjPPyVkuHw/vd/95/vy/Lu+//+mn/32aWAXA
tZI9/3v7oX9LU8rAR/Y5E7VakF5LYWRvp8+Xh6J5Jhn58fo6caScenX+nPqvjxchanem2NmG+H57
Pz/fPV9frrl9zeP05p8/A1eMoVbckkby/yv7XX1Ds4qYUg/eky4/6W4gW9IvDWXWzmOLGT3xyTxl
6+3jZQxM4n5k3Pbz9W8pJ9baaJUbA5tYNVeY+2c1O/dg581gP1stHoX3EgCL+th27id0Ts6Vp7+c
Gay52Gtv127egPXrtgezoKrXV2D9prmg6ICD1Un8mORFttsHd2d9j2raD4ADWN3rQnh6uDzq4rMB
sMbXUxJl5/Dg6kk+TFKJje6AawDu664qe9R/uTwlZxHYAslhIJy0RR/YhDW0KnRphfDrJVlt5CNz
0oj79Ov+O8lvubanMNuAn7ncfQjhVohYZVePABbrwNQt2KfXNVxCbhCkna0IYwizQdDev3EMYatj
2LUkcwigV4CsC22dcYYHDyvE1l14epXDFUR9F2ZN9x6uEKtjL2Mtajp6fbu+X9+/v54BSdO8i3Uq
2/nXh/NrsVeLQjUyAsujDL1GSrf30/fFBTQcJV32QDLDNs2wfRKIo6vqA7PqlcTB88d71nRvd+hF
1c2SZobUrh/BAWSvLVTNVgBHJVlBORjeX9+dwAlCT6S1XwjgBGJXopDvcLIdXi5/ySC/v74k0y51
hysTHuT9v/yaTYeE3/lHn9z97x4fc+rK/b++lpW3f/uk7v/92/n+p1QwWuLs99dXwq5+mn/pd/r+
39Wn4Zg7H3XojR9cwdUnef/vegyu5G62GQXPqxuwuu2N365Xl2NwGevV7W51+UmBzYfeVPl6dQQu
IDjad6iPrdqFDUa6680vrZEex+BG1KMVG3C8ttlm42VDaA8Mzm0kvK8JOADg0Bk+WN81ojTRmydJ
UK7hzpWuBxKGDsodWL0ZV2p2Bwd0ZhR8JBMwOLcxkFZUYiTo3IphD3jrylbjY1XnzizAmoR3Ni0N
GJvxHJWD+zIO3le+bkCqOkLOMK0NTm3qKcD7G8NvTDUX7jtbBzemNSS2fGVodQ+vLK+ObtzBS8ur
I8bYnbtarw7AteFvHZxdqx14bi2dwGUW10Wg92W1nBYo4m6Yk2e17zbWWj8wfBEZOHbb9NWrj/BT
Vne96v/1A5mXAHBa9d9ZH0i9snq34IuAD6V1WV1BcJ02D09PSgd3L2P7gAQfaMrbYwd96ACWQd9Q
VyrgkiOdCEhHw7WHIqicO/RKe1q6Q1Rv662bLubBB0hx3FaHRXfvwNEFhzcLFo7Mk1NjBbl8wHCI
RxTr4dZnxAOa8YZ/sYjkAuQXQ3Wv4F0d4VYAdf7Q6cHl+SZBMe62jx47R7NyLMvK6uyTQwTv4JMD
Wl+5ONOrgazJVkLCib1AV82rkKTQ/N3j9bGoQ0cXDLNSjIgOvXGT9ZNBTD4yL07ji/P77IRZB5Hy
/p8uL6e37/d/vH5NWQ97r8L0P7X965/XX1i1lPwLnHnqqHVbP7wFHlr1jkyZz5UYsoHXcHUludWh
yeLkUIMl8Gj3DsMjUDnSfgsoXpiYqA3pELSjazPUVot7pBuwtsJrY4IhVmLOVYi9naMrIyevuc26
d4T1yF24hGeXlj07wpwbGdjr3sHJqQuqB41JnZqKqjJY0v9WTvC7P/1zlxXwSrfoN6LZ4CE3E2HI
xZfVof4jwlB1I/BgfR/w+hqpvYKqbrIDzezdH9g7wnzE8OjYmkM7lN6Cmom9pTHSW8VJ91ZHuze9
Jh7V6gBtYWjiktXBpbdKZ+fSEckEfHaNSUaz5IpOrvbZlws3UPe/v74U1wXRGzZeoHiiGKvzUjFv
gZYKt1xE8QRBDbi4NtZboDFKacVcIxsUfEMh9tqxk+MacFw9pCHFU+DYVF+hLYA2Q/pXHAVFj64J
vnopxqxacWIiOgTLiaixV0wqhltIIVlcO7CyZc6MbnnfGXh+rPH+X/76cXq6vH/fK/hx9kPm37jt
H3L69995YBNb63sdaFZYhw1LmqHfIGxeeuyDsg7DglVp19JaJGRIgymEplv2FmY4H80o7YNDGqM5
3L3NW2AG0+KF3tIW+B9o/UDzmuNsCAPYoa8xHtC7aCq82XKLyLbR0gEe2WEnq7UK7txAjDkI64Gz
ylrHrIuObEc8eyNvRCQaYkzDI6uRqJph0bqC4QVgXWtHDqoZFvGgmhuo3TUFwIMEzwoQYRuGQhBl
mk5TvXplxEUs/yIRDxv68+ZXhfA9jNvMh3YANvT6lBFYD2Bjt6Amw5qSPZMnDgBpaO5/F+CFesBt
DM/bnYfgAd7J2Lqd18YU4Qy3NlADgmLOjUViG8qyHbQhcIx1SI3eQliOWXrBLA0w3trFvaURuIRL
g5fgPUR3wMtGuCwgkrElniHRBUe4YSgNPSZNcLdOMVSJScNphrLAgb3mHiPQHYLkmRDa936q3con
LeWT/3w93+5fru/35yHDtIBpTbsMknrX273aMZIKrBh59jOsG6e1TLAarhuAh3gCtnBhA93TQYow
ynrL4BYsLLldI+AIgcfnXYzLTgpRhsTxm7DY8qPzghsWw9jJtjAC36IQRqwdAmpwdE+SoS9EIoq7
KUScjgM2ADiMgkbzoQ0+dBX1IeHKjbTRVXvmwgwG16PwRQb34NQkdOGrXJptYUQpdpQVOR8bYSzu
YFd+WbKyDzBKNXZ2lCcYRqloGZZhOUvkpItYNXbxlKXNmBoVZtGLC3q0LrC+C3gcJR/OSyPY7QW2
9pEauysyqA/wxBae2I0pSUGHWAGvX6/abRss7SOzbbQuueRt3vQKCyC9YFZFd2SrV6tsS5YOkKWF
6zp4Wo9ogxErSzxstLIfl1eExTc9ehCMKBVejvmrGvs5ytICshA/TmAOiyt/BMuw1yUC2JWkauza
KUsrZtuAvqIcy0I2j2DatmIuy+DLMmO9R42dYQXWMzRmwKk1xDajASwx+jG/xyQaxK4CaI0b6vvf
3W6Xry+pO0cn3Sjlcf10SV3FyO9tUUWNXIg5gUEP60kKMJdppMaZShpGqsvqepg4opGLvACrA1tH
uRtD5r9uHa1u8MERzjxemEsz0nvrYCWXTynQ/Pya2msOKKIQpMTlNsGOE6nmT1hciOC9AgjaWMm4
BsS5YTEB+YIEdVrOGkAi+RQGV2N4K8FdFVQKXDcVdK1W7b/g8F14qiDVrvrlC0yJojeNeub3p8BF
LR7k9M1fULhmzmvPYTLg6pAg2C8wFOWVxqfQDMuIksNCwFgI1BFiOzeRs2MBFkXErwrvX7tDbxLw
Hhu5FxVwhVFoDce42wOsp3NUZ7d1Msq8g8jwNjUsmSV3IAFToE4l07nExJbE+ATG4FuYeSugY6pw
9LjzLEEAb22/sL9HjynBR8dRQsSlywGk29LX5MFrYr9QBB34hFX4GIohBhcitwfD3KZTIwO4epUO
SEqFJUQ+hAVnYPA40xNCA/EAJE6vY5+owatyjSppu6IWXqaO3GVmjQFg0kqOqhXzLohGTXqRtjSJ
lI5g6vR95fpPC3xBCY7FeEyUoXXlDsgaqC2O3QNTDuoJHupCkIo/AE4/9ikTeY9YNfHj5wR906Nq
pP15xypOkvlCmx1vewok6tLgfeDuMjIUOfavV9QATmEDRw2OeVhBcyZJUcUV4A+i4rTEV1gxKaBJ
+2M2CeC1VhzQpJEG5ZXnUBkxKoNSB54mJErah6IpGKEMBnwhsqco7B4o04Y1Upn+JV7HAwzCA/7g
aiew6KEBXmY8YiZrQJKOkmTPpMjCH6iCwR0S/oCkvTpiJENOrQN3lZERWPRV9CmSEbtessdQzBeU
xZqcQRXu5QvxwGUgDuWc5rwFhnkUVmHzRjP+qXjM84O0yUNSE0oLycqbwDBJEUeNmWqqRvLGVAqM
6xma4CKEwi97FlfgCy5igtSMezeKA6YJ4m/OsPcgmSchHWfsKtSJxgXDPWvHGGghHGAM8Aua1Z+Y
llOeqA19XbgQI9DhiLM9jJVAYK9LljcpWKgZFMeZLMOZnOWQIBkN0DSRnrB33QDeyiscknFBBqs5
XTxgx3qQ8pjTAxmY7oDaA1QGqrv1b9Ixao+Ph8xL5JlvPKmdmwQqi44HGBsMP7km02LwpAFTMJFj
74bBom16qum+xgJelDqi/Emkb1hG2mvse/LCclgonA1FWBz3iciwBT68Ud4UMEZorEn0BR1j6Qdj
DzBY5K4Ix4xsIGZ4bybT/swbzbkrJKO7BaIzDMiacYh6JQ/4TCB7Ged/VbYleJxGHPAsAwYTBGZw
s/aHmGyzg+7TBM4O4Q88bbC+0Bw8ZtKR1dw8E4SO4YCYgY4Oa7hbUAwtaoYxKM4wdcZxASuJA1aC
JaXIWDJKHohbAjQKc8ivjlw14oDOAsyAaNnIKdBddThAitA3EAU2JyWK+zqjOZsaxo1d8IeidUC+
0Uyfnqsr4x/sIIYD0XvIUKXhHrNntJ0oOf+MZfbgjhijwBwmYiWOTSAUJTOj3qa1moHEq+G0d8+w
tBiP6WzADjLimM8QnIO2vnadTAImi8ofiIBD0RD1obAKOAF1UvXp0TF7COKIFx3GdqjLceA4lYwC
bo54BoANEewxkxYZ9uQ6YzcthOld6w2rwDsmOBR4K0Iwxj2hymU8Ue8YQOUx7pAnHexBGRyIV58Y
L4szHr8MLKmNOOT8BVaMYiSFZgwpL8UhzROJGnvIkAJMliCx5+xSXODYmXggS2j6CzAorT0U7gSu
IqsPxbeA4uCbGJvtW2JAZrbBpYHyCV62tofyKUBqihAHVA9ID14fSG5Bz8IR92mOAIf+FwBJ0ZyO
Po9UTNiXZm37bvpfSTUCREkz/fvaR2CExbielPAHcBWCdedbhkN5h0lyiZEBNDiHw3SKS+p1Nhzw
RUO/mTCHUnKBuFLiUHQGfCFYjiYDo4tSw0KPk1pRavLBBDpwm2z2m2HwYOOhSBvgckodOgVQqr04
li6PtHpZX+coxgIUGBIrIzOyds8TcCkvOWcDzKnwIrDOBhT+NvYQQQKNXDA1Azjsy4s7ZiyRH4/g
qCIT4AsqHMpyAiJXuUNPCsVXPCe0DcPnnT7gs4B+F6FYUgLql1GcpMN+r6gPPATkeZQHlBaNMnI9
H09gaFHGA1ERqEB6NlfNMOaAPSLvJcyJsU2UK/blHArgi0ERb6W8ARGj6+J0Jfs+PFRHpA8ZVsiP
ao5lFwFE+gMOeY3UYC8P0QMQtU4eUnuQ58fUY8RiHw8gvOLqU3Ru0zFUHfYKw1KKqO//7Xp7/3L5
tTOXL319/tf7fz4/vJ2r6ta1WFF/4hq9KhVHjfv0J75zqZJh1E9KwylTGViLwUiUwpZxH08lhz0t
9Seu16tSjtu3BsABriw5nGl0bI33LUcdMbnSrwIuRj309Ce+gbIiU6ubppjbwdGNqVEzLv2Jb6Ks
pOfRjjZv4OoS9zRW0kKK0fiVDZsu6k9ch1+lPHyiGtOqhkjT8IEqC7et8bbVqKdXUpkW7vWHF8C9
JEtTMurxFiV3PuFG3dY02+pcCTNqQ7xtHDQUJ52XM5pDDY45pwRsgOtur4QfNcPUB9p4StL2uZrR
MZ9a4evyEGn4FQk7pmW+CbKi/b3FnlQwzxcRAjPcQ9L+4LHSFPSBpq0yNhIndlZHV2Yg4rDIEYrB
OhY54/7kmh0IoAR+3Vi1kYIDRivvu74u7Mvf/9Pl/ZfL7Xz/07fLl05TET+3OP/jefrXW/U7K3Pz
6+HH7caNHI7Q8kfG7cXhe9lWd2B1PVIWNnADwOVI3nqWRxkq6zvA3AyqTmv63dY1WF3wiLMAXA3G
b3mWzxgZ4ZWDjNgCPuzD7Y8MPRuz5211cGti2CrZMyPPohnJJH+gW7sRBy5MAfBYzx2RHayBgWmU
uXeI1WIOaZTiNi8h0rdnmtVM10EdILjxYJNtdQSOCQ5yaEPNkT6LAJcmAyQZi5mjoZZU3X1uOzfY
unD8pSGKMwx/w8MR49Ds3ujdA9Rtqzfpwf7AOAgzFunb2QF7FJ0BgbNkTWx9Epz/8ZL6Lp0f7/98
+frtvRGzRIRq/mnrMN6rZkWoUWaMaM1TCW15316z5u/JDNWfbXWwea3Gb1PzAtwIiDpOfTCAsWj+
hWjNYx4QmXZjUaR5zYvOs9B7cEQxGiKdY0tWQIpRnCzxEOlYFJgwlv6a09hMg/DQuS+wtmYfGtR7
jIFb5xQ+HeFD4yS4lXDzmJvSATmtrqp51Yc6cDuUyol/vW09O8H3W0ccItZypMdcwcmV5e8csTfP
cUeopRvJSAaN8R7g6pwM1QLyJ0ZRN8qNZWhpAP3TJEEZC1RBdpTiE9EPC8P86gEchzcizbVu2ZGC
AiyDj9Nr/IGZrHHcenDbvAObH8bP/YEhvrGJNirVObsGqwu4OpOLG92wwZlnh+FGP0zn2daOAFzy
t27A1oedUfyB9naR5EvG7uIorBhdhCSHr5xG2uvUvO3gFqyt+CtH4B6inWmKGts+br5D7gjttgqN
9xZH0AeoHYA7DcHh+ONIOvllg7S5crCsifw7QYTuIH/C+B63jNloDXGnYaO3besBrC4YzqzxdRv0
Rpnh7tFiQrcMg/D7IoNFeNr7/z396uX16fJwer/8fN77dm2Ky5/fHmhPYMsI/Jw6Eof1e5YxRDM4
LUyu4w+WMcbymYUb3Zed1TwATPqH5AeiOmsDMhdDJcAyJk1BXNMyYr91qEPIYdXgAg5Yqhy1y7CM
hlkOPkxCtIz1X8CHOVOWMYkK+LBc0DImUQHXPDhAu5A8OGBPNGevjzqYTRyHmd0WWjXl0s1AklnG
kC1LB/jSON1p3J7YQlOy7LxulK06OwfJbTFyVwYz2aPndg5oXfpRXpxljLGytuK3jh6qgOCM5hRI
YXJyoVhRgyOu7kc6l2Vs/7Kw5vcNbqwddaM6q6NjW06mQA1ESigWsApAsiAXkbSI8OSCvr2f3y63
vxAJLfmX64a2rl0DlgCbHjwfybLr4N1YP5A8x6OWdl3Ka5lwRgH3Y37LD7EIxNbNHvPYOTtY3auR
sWqZ6F/ZvKxXd52zg2IHF/iLQ6vje+dYlxOQ6hDSLX9ngNyJc2Wn1UmGX4dgx8xe8jodsT6Sx1qL
3dqIbYkx45CMcA9tCzXduWxwbm8huEGlBCE4iDRGIwvjQUzL2qA9aDBwbczpgxzVgVgmkaRsfNhx
wTKx0vJC7KiZkT0wpSZYP2rdYpn4eFldD/pNWCYVpBxd81cOSlfGI5ksE6gte1ecUIBFnr5hTa4j
EMEj9wFKNGh5BdqrenYCrgJe3f/0dLp9I9K9eEvG8TxNh3i3PEOx4UBthvF2yzhjC/gww8My3q0C
LkYRIsu4FTO4jqPY2IK4ABC3BVma/u0L8KDCtkBHHu0OHNxCcBhh0TQo18caShzQ4/CQHXsFMySN
zfjm1fE5+loLuLDBQX9tIk+qBoDrUVxqWd0DlDdRKd+eHGftkVjkTiNRbLaENm4UCbVMvKasrjli
A2izw0yN7dIQrTZRf9duHaft0RiwrzpLWbYKR1sDCWaoVhRgC3HOZKhojR84E/vWelhQYg8UL2ka
wnWNZsDXo2iaa1FPErVMgK9svklxDR1wRK4Osgkm7q+14bgMALYY70zkXRvDi0MgkkjCRBxIQ/BS
aULYrMGvw//E/T9dXk5v39cE7/28SJFUlz/98z6cXv6FsbNtWwdLqljFAcPJjsOT6/rIfrFju43s
H6zvx53PxAFL3waF10dHP7J1BbY+ngIjDlgxdmxBkfUtWH8YwSHrR7D+eHifOGAMWOJkSUKeeCnJ
+gC+bZRme+fXYH3H4g85yCyYsiEOmM82jFsXigNeJgtKlsUBQ9J6PWwhKg74maw/8vQB/Y3noi/7
h3a0dR7vn3F02XHImKyP3v+4AYA44O+yLuxY18r3p63/65+7PJ0P2Tgphl3CxIHQrg0RXAwf23Wg
ybA4EJ91oukC2a6Pth6GLVnFgbiNBc0xxIEgpQPdk8SBCK0T7gDqQHMQEfH6HE1GxJP4KKsTilsf
87RowJvkw7RO6APnBzwlDvtpiANhXhv9geMj9DuWfKBIoxHTphWbOBBxdUIAlYQPudoYMDynTUZ1
4PmArqPjFAOCf7R/C1g6H7d1Yi+SN5au7v/fAU/nfQnCD2tHV3hkZQg3LH4g8GPbUth4YH0L1h9W
TxB4DeDlqIqhwDOmtaAW4mD/yPsm3OYYCHXrToG9b8IO3Wdk5whe4p0zTixhLV6fsW6Fl5hyGDeW
sMPqfnJ+cPNWH9h/BPs/cvOI8obFlOT8CP+Ou3+Dzx8w/hhnvXAGvxzG5y1cPPBy0csRox4ty/kV
xp/B+GccyML5A/ePONe+YG9l6ub+99fn51OHqZvUSG3Y/0AMwzcJkGu+ICyCRoBm+JQN32djXGG6
QqMj+33/ghmL9//2dnlOXq5OYymZOlZ9O9//z7frx+vl5WsH1dNv4K4NUg+L0BbgMf1LM+a/CRgt
ayEkZNty7E7NwAjSjOJMy7IWnHZYBrQAgzse17YuwKAjiY6j9jwpDfpfP//3+eH9/g8vl/fL6eny
tzMlAAsfG41fNQw0QSK1R5KKsKq3zAwJjqMALjIs2LHyENZ8QkSnxhdoIbmqsYpXVkU0N1bPymnR
uo5ZF92tHhONuv/D4/nl/fLlcn67//P5y/nt/PJwJmSDmqbmr8ux6jQDg2PJYUXcRDf3v3t7O31f
yflWkXNm4h4gTI8RlmHB+6ZdBtrHYJjHIAEbzbCAi457Ssyw4JJpC5JmKkiBRc9QMOuiGwwQz4ik
zZgsSyue92+X2/3/On//5fr2SK5eMu+MtMBJQs3Q40i4JTms486QGiJCjRI2Zli0YznioJLhZLQ/
XnvtEus5caiyhYkTPJ3eJxXj9LSPpoW1UdLtNl3R6WWvboT5xEx9y3hYRDjgm480tlBHgkPB29CJ
E8S4vGWGHbegD0IKBjiAhQNzZlzvR+MhdUuycCAcEoMZuO62G4P1rWFYOzefXIOTa7T2hHE0F3BC
uoaIM2OX47S0HHm853PjeaHTBwSzeASwkVmc6U8ficMzRdGt7GEOnF4qeGmam+8e47C8hZ4AlGqM
mxfPJ7AAfZbZPdP3OEbBvDhc9RhGlcnhQOg/hnruh9LdF4c+4BnUSXTzEh5dcz3EIw31dJDPFQj7
Yb0qXR/wm7Gvez69A4TjIOa4TgDBHsEd+ECUzPq4D0IQR+gelBJGjnI8wB0Hi3ilgmIZkcuwCo8+
FoSzcOTOQCFfDKPYRJh9LJeX2/tpMpGuX+6ve7XHcRI8CAvk2ATuQCFEEOPi8wxsoAS1cZTLkoE9
3LYDT9lx1BzEeFz2sjZgY244dz0DI2T78SOaIC1eVkJkA0g7LA+akcVclIW4NnDXNowGtG9rI3DD
kSfYuANateMU+iCsg+d2mEDtqHp4AUZXrXnqRkjbKMXvidtinCnuSaNDC+5ZoZUBs/Mzs+sxOc+6
wS11V7WsxrN+cKv8yHmfwceuDDv27M0LwziUHTskt30j8GFidQZHkMNWaBkS4EoPQ4/bidFNRebE
MPBmO3UPKw2ZOShxej+/FUfB9e3+/NcP4lQgVGUYnSYvJ4YdhvMHkClUTqvGyDKMQlw2MHQrhuLu
wv3HIgYHkCEwC+PWY1FCcGiHlA8M5xnM6+POaeOu1vPFAZxLA5c2wKVqJWBEhu/TN+7BPi9twdJ2
VCoww3oAO2wvSOkUfIDEITPN23Zx8KaJ/7RprDwvrjCtWBGPEBui1jjm4mbsYCu7D5BFcL1jQxyL
HoMdz1YeeGQojcAK7pUARi4VhIW2dllcHdk92EHbYXh3axJx5kO4A89NmFFdEP1ABB8IYxFsgEu4
bF/A7Ru0sIyQR0EPV9m5GKsdhm8/GxWz97FntpxdQ8rjmplGxxMubDocA/MBhT9gx5MDNpaB1gc6
kG5CJUgD0kzogExqTzxdUw86mzcahAxV+wbS7iODc864IMajKQOfNj6tP5zLPR8deTKNH1vUmveG
BaE1/ABnkivSrWQC16oDDravxNizpXn7UlqIec4HPq3vxh4UzfusJHCjaN4XOq3vx0au5t3g0wdG
DR0oPKJdyyMABZ8cvAAYfNIewqJrB+4UzftDp1MbiHYc5TSuitfJFhbEbIzk1sWsygQGHriujYZP
jQu3TfelmA9wwULtxn5WzcSljRj0LpxBQbzDKMhfuSjdtG9xhMuAHWgJMQejBroRLqGLdfTMmhdu
28VBiNZY+NA4vyUdIG73e4dRcR1HBZoU6WDvuu7KqntPDeCddMNN+oUV3fUBxap9Idyq/ajZA3Te
XEAdvUcd0HGNM2MlVTHauQkbsMk982tgznlhgY9MHXBbGS/HCro64n1xzQd8dwdAyXaOQR+YCRIE
3D3yJRjvIeo4a9zqsUmpsP/F+Dj29SlskpmA12VtYePs2I2gDvhQjNfwwlhfgnGYaDlXqQlu7L5S
2BdhPKY2zktqPf/eoEVIC7labU9h/5EJCt4c52i19si9AdLzCn4AoU0xbxwMLQqSJ3josnOauXLs
aLWBoVYw0MQHnscg7m545gxHLjngGleM38sEO3ZX8oVPhhQO9dZmHcXGi7HXSx3wuxkXOMEMFrfM
7hnPjfEGPlbOdWWCh3fPec46ZWuL8mPu/yM3pdmlz5pZK/r5ennca0OGH2Q+bsSTgfFgVzOU5QZz
F6UjhIQdp5QZ1pcZftq9sfDAeCTseBrbgi0EPIytGrZFlxp3NjP8qHuj2nZJC119svf/9nZOU7j/
+Tycwm1yuQ8koyDGZ7PclQQ3vhLLXUkwY8RYSINUKaqZ5XJgBBy4PSNs2TEZWX6Ktcf4wgPPg+I2
Dk491mS3jSOkDaMqMzhmN2P1f9k6OrfnkAaIzEcOGJG3hMCMRqH8rg5+fbxmebx/eAGP13C36sL4
CcE8AmXDmB748KiykQcH78ABxBruATvNrI1p0SlubbRx8P4NR07j6vgFGLwC53mMA1p0Am4cs3nP
Xhda2XArI4bJbhugjJhQuZre7IDRtuMomjcZULNS93x5+bj1Hq5nkKJJkD3nVtCt8Xl1qh2R7mtw
pGxrMUyFmWHRtv0onWQ5M1oYaFF8Up0i4V3f0CDMqVMkZSnsAeGr0zQTo24StACDTps0SSxURR8L
MGh1KYYVfTO2cCNimgswb3wl3xKMfv/+mrLXO9Sb/b3gUVJvXO1WmWGR4JCVQitbUPCcLdD/4Vhf
ZcLIvsyQWPm3jYIc2i0jWDVmXxnWA1g/fi4ZFthZ1kFUaeDGUNZAWMaujKPOFeZTvP/j9evl4fR0
/6d//fce3UXuTdDs2LrqMQNzLYMlUFoi95hpdkurAUf+PY5rq5e1ARci+cTJ/DZqB4waJSu4Mtgz
zT7sHBlzeyUhsrn+zG36XiCEFNYWvwNCChxCaTqoazhz4E4mh57hBRiQMMkGzRfja2AOLSSlsi6e
3aDRAwBenwBJgSbFheblBY4CZeN72Z0ZPx0JKClwz5YkDbc2mJu1uNenvhLHtXBR0YzPBdvOqAB8
EFy3GxWHHQYMU4JVwAVcmzOfouS2DmRLbMynuANGG9dj6uV69SiSXZhZcQ9p6MLiznRb6ai0QXg8
P53fzz06ktifCrTipbAYIEUDaS0ZPU57CMtRgtbM0gjWQlhAQjqMjehSTgtg1ZiTMH09lB77+FUZ
1f5/n14e73+6PJ57vblU7mPz9SO7ev54ub3fVgpRczMZ2F4nDBtVzeDQmpX00deifAMHnWHGqcEz
uMKbdyO8b6sj8O3xZU1ot3ncHSwEfnXQUScOkza2swPMB8+sjjsjBTtyQ6g5gPRy/mXPddTcrQ+c
yw1jZqrEvMaQQxGg1iaBY2A9ssVUiTwhWDEmQy5eJt0wD2TZNXgAzsIjQz+U9BJiGr9cF7iVAem7
YZ2cWttRjoEVt22AMC/gtmHvrHH/3GXXANnEyZqCZ8aSB6Pv/8fHy0NqaHT/+9PTE2XBmvuuD+NN
aY4Cgh6jUnMvxgPa0/ChkjhZ7WxZVkUX6MfvVHN0N466KDjCuSBrqN8u2wavfBxhU3AEc1lZQGB0
YDXKklJrL+wxsOFICxw47PXHld5Tt9BUuP3+/f53Dw+TRrLkH/w0/zOzMdOo6/RUktuYBTqD5AjI
ivGDkWxfzsitDBoGWkBAkqM+4+G2oXAzGi4MRyRKG8aMXnIMhmQoxEa1lNxjHc9OU0yTPWNGuawK
Tpgsyxp4XjgWUY7zChUcYFuAJTwwZqomjHVJyUjF8RxKBSfIll131MjCJ1Ik+vr17fQ8MwbYrDHo
QZ4ZbOEcdKMwhg3KIjYQqMEWyVBBA7ppFMBBhggMigc18F6LyaI7P3wUxeH68n7+dTbfclfsf3lJ
A8tfvt7/7mX/e+uvpV/8+fQ0/fxx6asqVpUXNoU3g9S8FTxZjqApOLGYaQEPBQfDFEYOhmr1Mbga
qE0UHDQU14oHB/3MKeFRMqCYR6gzkUc9aAc/8pDQ5cHu98lfO2iAOnNgcbB3MzAP6dFBJ/5RI+kK
8wA8MqsrxOGFcfzZwRgE43lwcHYjmbNLuLo+sHnwYEdpktWDFWB53w+yUXiAen1gecDsRn1oKroB
uzehy8J/WkaPMNyqy+zy4vL+fz5dP+8ZuGR6Wws1iONuwGhD/cbY9Dho6X220nweef/P5y+X1FF7
9VGK3EJ8PmRpIb8eUzLJjXkgEGlXFqqbW5q4w3FCtp4mFWtobgyb1WhtNX6wBXowCmrdOl6clLl2
t67wweuKR/LetsUBOC33pCoSRTs6uqzK9vRudbx5UhzcCNgNHEwUNU215w51eALdqDMfPTu6t6YR
outsHoFv9J5DSr5DsuDs1uHngqFJE4hGxmyYA+CjDn306IBqSBuGWqXcKB4tLpi9Y4q3huUzCO3N
e3EdxKFBmqrfIZAeHfEpj/kUfqxOM/SOGTQtiXckp0LkHv0/PVxfz/e//3a6vNynSFY1EOJ2fcpm
DZEIJssuoAmIoShfgIESRFMVRKX4L8BAcRZ1PdE6Un0DBoovyXFMqpCOO2Agr0leJ83P2GCBtBZ6
pCgswEDrE4EDBqaCqBOTKxFUgIG2K+rIpNKbiiI57chEkhGQmSh9TxJnm5lIm9GFBtjhqzIxjsxi
mfNJ8TXLnmM0w4Y1zHvba1Eh+y0AMlU9eUJTAgrIMyNGfb9mSPBaZD8/dgaErkMhh1ZiBgbPTKkx
zXFZVILmb5kuMMCxtP20ne2CwMqqdre3F2QxtiK8XUBwo5Zy27IIODAXjGD1yJbNwIAjtQmTcc8X
0Os03dDVBqsBrKstWLe9Tn3//5zeLqfPT+f7P+QO3u+XUyPXNOgk7S1tL9KaCsNgXIE0tbroakjL
GBmkMUp+OqEDjlZvdF3fgjO6rhiryhq3op7WrjXdPSzat+82wplh0aK1slOLJceKJZJykp6e2UkW
JBFrJp5Msry2CPf//v31XOztpS/uT+/Zd5z+oRBh6QALR94Y2Z/EkUE9GKRgBlM05gZ5IzBN++G3
YBJeoJH9Hk6gz21Z0XV76RQwCZZTY8xISKZGdkmtQKIDboSWEw7oTi24CTFGaQBgvttbqexS45uw
4CYEgJNjOAdmlhghEZUaANj3KsyAaEXdbXq/Ygc9KYcRiwjHjLcb4ZWI/jSFud/m+HFEdCNoPTUG
jPCMAjxjBXYKyDXi+2iGa9mKBtAZTbed/dKD85+u16fz6aViuBqIg3KM/iyTBRLxsdo3qAkgmlak
Y7fRYcDaiY528OJKX1AAuO8QWJAWSuPSy+29wljgTDPV1d8WQKC8tRMuTQ0JZLbqp0ouE1vmqajr
Kaafp7GXKXib5tvNmTKX8y17P/73+f3b9fG2nNeVbE1Ar1YPUD+DQv3KWAmgFXpixoxepiu9U4aA
zgzeZlrTAmyXHbvxsjM0Oq9lsYXWVgOGm6AdPrQACzuI6CZKsHiV1jsCx6Vta4l3Zr4jCw9Lp964
zdYty0p4WOqdr3QMt+SbjEERcWgMGsGqFj8i352Rt4IiijLjVfGEH2/IOKXcF1A3eEKvryFkVS2L
1lRjQoQrDpzA20ER9YcxHcJZRt5YwGawLm+sGGg5ecfjiYdLv8TxUYEOSQZVeSqAXGkINYaz6F4c
2KzAuEVryq70/akMHYKkq0eqICojK5Qrew1DlyURyYueMpTOSfNN3ye79vPH+5mIUAmSxEwUcSD4
HUwknAD7GfIzINBRhO8H19npWhMOdLe3b4BVbAVy31a4oK+Ukf3Hy2MKzJ8fK3VLIlNSkwG4FalD
4aDJDNjsqrMEDBKAJqMwM6VHAom1YTrMMFARKjkNPNSjtSggMJTo8MZIZadk3pUOamBFlKKbP308
PVU3pLBePuINkNVrMmY3UMJWLLbCeD3mhvyOsMu5yySwdTR8dXiPHd+Tai4HTxRN8TJRxhEY87Jl
v6kZnr41gbkRGERcge3XFs6wADfSoEMiQIBUi40zgB4HwFQ3+RdPJpv22U8BneeKjcH8EC+Kc99K
PUaNBwfsBzvmJdERR6annbnF8+fzW/VkLOuu0yMDawIdjy41tA93dbc2uzGRKqG7jeMLpMRaSKPA
eAIKfKCDaQxlRexW1mGMHbBR1aiikYAB3U6BuwD6q/LwLtDxRtYMtp+UHvipLPb/GNK6nkaX1rtH
W1V9t7llHe7aj7EKXOCD+TPzIdHlyzG5Ae1c1Z31K0rDKra2AyPaYo97ZwJDCSDFzENSbcHP57fb
EreMSXe8/tvb5fnyfvl5ZjGRj7GqftfbyGdttFn9poZE7r1Gy2/WBMqAFt14ckyayfU/Li/v0i0n
92un6mF4UKruA9tgQQoZDaTYTYuNc18uACi7VsO8KI7ASjfeMAAjEYbM+1R7TrTdvqdhPifaa2Mh
xnZREGCXTZhcL9ccpmsuwdLlmgMXeCbsMD9it+wjMAq0lf0R5AskOrsfIC0wJoclQd3crtATSBwk
V6Y78zjC/J0C2R9ZEmFSSYEk2a9ulRgxT1hfLur+d6+vT5fJln2/3r/39KA4z4IXIBKvu60OZ8iI
o/hqwOACYz8E06u8iZ8C48MIrls7MQMC5ka6RCQOqesVgU4e+nl/MyDQdUNEuAFIDf2i4BkwgNsQ
daqfbm8SpQPJbjuwlVARiTv4IBGk6KbWR5g1VSDlLkuovI5pq9c/vLxrtdA/nzNsSAgx39SKcMuy
cBNHh7esxDExDiQOnyZtounaEvFAfreJXf8i2TO4MpJVUYs7vprARI1whQ2gaBlYoF/GvrNmgwUK
f/Rd13o8UDNjiHeJOgAzLAMZuvG3eKDcxZBQ+pwhXV6Gm7W47Wk4rNjIgeRyjHIyyIGIJXCI1QJh
GVigNZLMnSx1a1isGpDsi5qsHa9QCTfeM9RWRRPRdu2iaMNmR5flmqdzXucUjOWemS4207vsT42I
XLOhCdKNIR1cc1BFGWEwsUDK8ZrYS2rUGNJAq0pHuFugeAymiERuKMa0JoA0GLLfjjdyY0smSA0p
AUHabiV35H2JulvSEWGwtaBWD1QzpnnSBCm6zd4i74WmBe+iuRSHic91a0VjEprXorgvD7bME4Rc
3vfHGUbY7ahAjuynZVUgl3zoScMJNNsks/Xx5e36fF8bkjqbA+AqXb/dyAyJycDWLcQ3b0FZFajo
pPUX8awtgBYAunpJVUFqYG2RbkK0Pe0CicwCXXe0r3eLma116KDA+mn7m4UaEjwxN7JiMqQCByVN
tWpZnCEjWFIMGKbmbGAnBwyzbBZAthMnXQ0JyNabXRI7gcQC245EYFkVUC5t3xWoAV1wBK5lMBVk
2y+AtQrtV4KTDoaJLJDAGnYj+7vgCJCuhwxFAQocTPBcIMFuSUM3T4Xg8rgRcj1CEZbag/4ry4YB
pFfdlkMLJFgyIBwBbm0DIiKNvE2qO2RiISJwoV4M/PDllIBzkvZ+2XtYsxR0JR6JQgUQ1A7eiq0Q
RRxFIyIChGsjYp3YerAQu1iXJw3Kkh5o3Oqw0lw2YhiFJjSXDObNwBtQpm5DvYsk2NTaquYSybwb
RDW4tPpluG13v4ympwY+Is2l07bJS77GLtptPzNwwy66U9HN+oqpCCw5BM9fN/XacCpyGKnIhruq
4AZHwAmcwQyiIbD4wwTbTWuMn+J0aFobHfM4CeBOjXXa2LrtiNILLMlKqHlchIWaNL5cuX0jyhGw
ugmhWwKGXMUjD15EQWmrOwSVQ8T+/o/nX/OUlRwlftk6/PhP/v7fUv/bj20Q6U8ep0R53VdaMxjq
XjZB9sc7LpAOQPa9NgtkAJChazgvkOic/R7NC6QGkLprgyyQCkAqeE4LIC3crQeQ/W5UK4bGtoQ3
Am43gkX70xP8J0e6jKwE6dgQgWoTptdTOLZtjyKFAlkyxwoWcl5lmzpYT2ANt2fby7eeQfGWXT/2
v20ZHdd3IzEbrAawsVeEtt0QAKXlDaI5LhOYUIP+QBuWEWw/FD7DYlS5xn2kW6pCqKpysGMLiWjK
doMpG2EgmuprAhuWDYDVXZXE5xjlX86r0LC5bfr7x1vK/r2d334+P97/5/XtcX2vttQDAbeSV2Eg
RWZYwNLFSBjMoIC/CtEdobeCAo+fHyTXbqcFskTFAY9dtgwwNUiW3dYFx5W9hjbbaYeQLkZ8WCCJ
hB5IouWsAFZp5mqBSCG5a7F3WCACpcXLAlDBgAJ1SCiMY+Dm9DRFvGJqCyxYVypMjEjii8BcLqBG
mvJPtOhtXXC5g9TvDRY8eikGKuACCx6u6A8I3M4L1lWCwRUgK2UZWMAflRuon8t5wQOU3AMEuJIR
wwJyFgw5A8oQnnkJAFOD6o7ttGDL/cawBBa8QLULIM5ydhLQI4kqOY5th1QO3ZsujiUxHlAwgToM
qgGo7w6pSKDq/n+dv/9Sn14BBpF1l0E99QoL1B6tBirTDKqQkie7tvoGC5RLEweKqUVjj8qW+zXr
KyhAlO7339hWRYqp6BssC6gAhw29rhcbKLgfq/BhwfVoia8WdPFRRjBkYcGWNd4yoIpBtc4G6sCW
TbecYYUFoNoMjMJlWXBBhnlA0gNYy8ACLBs9sPkXWIDmQZX0BhvAuo5ZF1CkkQwseENthVMLC7Y8
KB1bQQGWB0VgKyi4XG3bQqCZyZv731+fc0fMhcUbJoLswsgMMngyzCRqRno207t1WlOPIdHMoGnN
kasTjUWZFvRwQSRPRS8/3cPOKWVJB5dEkLHbFtfD3jYF0sK7NOCYcoxXiXdrBpq8wZNypjX3w+0L
Fev7P15ezvf/fn57vrxUHnTNdeI3zvTbGfvSmAnctIkDFOCWkRl2MLTQlyZSMPbpbBgoy4yd68wI
8xOgh5gPYrxdD+nEh/Ga+CE5PV7TQUiPIQFq/cjtr2EicLkWMyYHDeegTrCksbXYMrQW/AL+FuT4
rIqjfDfwA5RVEYb9wMbRMP+4nFXWZ93hGKxLJ8DtcYz5qx1Z8uW0QG75iHCMVzWBwRQ6bX9S1rYu
wDLNBfHUwaphKn1ZV3XT6Dw3H3J6s4DD6E9YijnAYySHZTWmCw/xRDO2WhxbZlUXEF0ANFkxJkXJ
PB8dxyzKMhfrHFqXISg5XtdhFMsxirGq6cCa0KlB8rtpesGMJCR0wFNnyFch1oTPaeP4XhwWrwYK
5gAEhxprEYqhQWPhc0MC1o33a9GT8QIBYtJ1fpeqWPTGeP+7j/fr8+n98nD/0/n58nB9ur6k7uOp
2+TSeTz/mkSDKUwk8Z1cH7wSas5LgckYwdjBReQMGoskU1AjCREZjS640UXEXO8J1hxKw3xWqOcE
qwaEnmEh86rmW1bMIDI8Pjg53rH9hGFbHz7FsBQotSJExVysBsuCLcMXFhxcNeLDBnBYqKuEGAbe
/+VmA7hZh6jCYIqKY9h0PyCmFKIZxGciY9UEZ7rJz9tpPTitHV+thIiKgzE0y6MF1+N9PwCdiQJj
WAZ0OzDpK1ATudJCl9sBhDyMoyw4RlerI3oFDr+CZnBKu2lAF8EjXGl4RdYgviohqxmmji2sBuBZ
Yb4Kdjy00CfIAPHk9fjlSSwGSLyKlDssuwW0SLX1uBX5bncDpKX1zN0Aean1GL8OTnqd3o/H3A2A
hjhmyIzCFKQbbzktC2giAFBwqxIoBgGrI6Y7DmRjMQLQkh6zmPxsEI7iWFY6PAp1oic5xhLsmxJ8
o4/EGhLQf+B0L5BzFYzkgMFpdWBeADiv0Yy2CUjDuoE3Il8v1lSlh7wNiVrF8ArAFzUHCx68Ngym
gE5iA9ZJkBLFKMgAlEQCaGJmoWQg7Wg0iMyWWyCR3AkMGYN71dCKcFjG2ppJ6Ra/qBUy4Khgu1Kj
7eI7lSP7ft4uqCQTwPyQUFBG0SgiqqEkwNuiZN4NUveAPYtwJJF6CmsEgnGQuYBVvRi/toj1gVHG
7SLrwLNRQHRIzNFiHJOSY9QQo6ARDBDsLKIHGGMI/bYbE+gE9y+/np5fn85reDHy/Z69GWTML7Cg
e7gf5ZAvsB7ARgYW9MT2ltkz6Ovt3SDjJvIdrr1mYB2ADf1G/Sv7AOyZhMHjTg3ED1J5xAYMdtUI
RuqC7gHCjnWbgDVIOebQ4CFLTr0AsNYiJiCxH8CI8UklNIujMNA9ChQiB9S/REwANIoxRUQIGeTQ
SYP9dk3bgYq3O5xNECzwKXmohrmINT/An0MY32nmz2BZKxjeDjBMorGJzZs1EhDu/3h5P7+dnpbS
mtQI+M/nrx9Pp7eJ679OH0o9fevf+qn8GlerpWmvYUe9HWHtIweEwLDCLKyd8wC01Sw02LmVvQbS
dONAArmAlpafYDG4NqOM0bknNBK5ozzVbdtAkAwLt2aMWQzd731H1wbC01m0NtMCT7tRGmY40GNR
mzjIR97ODXZu46D8crtsQGc0cdX0dw7Obfs9jSnWIqAWgahFfoJ9jHWbvtpCK4g1rXrjdylbAaSm
wyBtfbswsHHrWFIDF+YMZisYadYOkvU3YgFIMwxLw3zF8s8bMcSAobF+a9yg8nY+N4ZWAT1QppZV
66Zjrt3fdwD3HdEjMWhcppfobctxhLugzCCES0b6aeay8aAh4/tVFhu+kdCvBYGS+2ODt93Orgt7
KkUqg6iH5tn9sZHkZegM85VhtcZ2YYhKDasqgbWdYtdGrFxXzNjurxs9zrpaRIm9BEPSU2GUY2jN
a4iA1Gx/vqzPvb/zMK290stNE1MuDlURbp6Y8mJXPLNsSKc+9ee3y0NnT3z+W6AexlBfkuYdhcIP
gv6BaTOUSw2pi9LV/FfDng0Z2o5quQPT8jND05T7yiQNayopKJIcBj83nAPXrBgFYcKaGA3O7SKG
xl1cnGXXBkWp3nT7UFKsgbXtKLE0rNmWYG0rMK1BnPs4CulvOwcFtXYUOd7uG5j2QiNqYYoxPHH5
pj+aDq0B816MUunm941DjZLHGsC5k2htJoHZG4OgDca5Dx5D453HJkXd7tcGLzTYQfnMtjbgLbE+
N9WS+JxkbzQ6t8KOfm8dplTcrclElreAN0aDxG7HW5hyEe8gRzZYjvmg0c6Z3F9vR4Vf2wsFwRUB
XwlT+eRdQDs3OOrmSUJZsguM3ssShHODuINk6Nw4ljuAnRvPciZ0YwbpDpKRBiaw0h9EHYVhKRWs
HeDaOase4Nwz0JjOnUJYYwqVPEmvrouctp2jcwtW2wOcKUQW5wBrwwSuTUdGGnZAmmY+N9q5ZOUY
gB5lBm5LgyfmIdKYSjpvFUJaXhsQi+efN9i5DUhV1DhHynuJlL28c6A6BIWFIMaa06wwANdNckhD
n6sBlBuLUG4YntjkPDVai2LolIR96eg7qqUiKzRizQEmc3sSKQy7N8KkBfkYkUHE1Pd57/Ab0ZiZ
Cyx+8c6NREqqZbLyhEJvxDCkFjXrNgBYo0UkdhtXlqDV/Tytp+MMUayTpWkCSZ4Pl6ahvNzFepY9
mXl8R2dLhh0RpoLtjXOdgYF6l4GjGnrBDN/Y0vuhl9rwTU99GLrHDTR6C7Tp9/LMwJ4JIamxz9PA
gqwMLceORwNJu6BcsNCgKUk0CGmOiSFJjaA9E2iVAe8cu0yFRKTmmZ0rh3ZumMavMQw9qws0ILXo
2bXBI4kO3xh2kZPRs6F/YSCcIj1eGkOTIW1thNhAuVegNUvmAGlhHKY1MEesnNug5y05rqYHDWxn
doyhA2QtnsEaHcW8P7dnGJOy3cmadG2ENYe4Ode6N0R0boOjMSpGdm3QHypafN+Y1oaJm/PaWA4F
j1kqlL9aQYasOJwLdG7LvW+L6Zx5oaOWaxtvAaKEjPHOZCf2OEdrj1MCDBuhVj4inFvmlQjTnQRH
KRXRuRwmcRi+tbZ36L6ZXCUVJH6hColvFSFXdBzWtleSkn+M3L8SQKlKIu7gOEnkKhEq9/IXMUU5
VPkXrQVAK545IGEQWWi0tmAZMshDbKfK2j00YGtCjFIgl40DRVEZtLTm+LHe0cpsaKn7//w2GVj3
P72eHs6LiaXmbDXQfkPIgb9GsSEqG0deKsU3OBnWGCs2XOHUKDSmYGZgOW8cnxd21nB6VCmm+G5e
cuR4VnzfJuEGvgbFhvndsFe1gqp9gd32TCdOb1hGew6DkJDiuz4NG13kPcPKdaf1eF3DUIaKYzxz
fdOGtReK70Im/Ziauc5pEr4EjGcpEU1iPLelhLs9I9hRFwcFE7IKxwHvSOL7tcO5CYpvsEhLu9s9
K4bTSTGmDYVLyp1UYy7JtWQSBnF2vO5w/oFiEzZstAgW40oIdEeYTw47xis2Fcsph/aM34LQ4zuC
RZRO+zFVMV5gpzy6XYlfkem7/LmZ524wl3sTYwhN4LCaQbHSSCRgktKApPAj0AZeLOgZR9oXpTC/
Ca0IQ6sqpFRhWKXG98NkztjokKqARYneB1OyWirV/U/vp/dzaiedAWViWv/0dH34S1FR899/h5yj
QYm+PVxALYDbvGwpl8pKCocsmwnUd83gAoq2auhcKVmtiJZrUrvn6EmCm8TSt/P9+7e36y/3twqV
P5V/htMng6Q1U81JNJhbl2G177qONlgPYPvW3QwrAaBCgMiSnmD7nrINUQYgSvfs6A0ULEtLlYjz
YNsyWLZN1HYtLEKVZmAdgA0MmgFN6f6A0Q1XgKaMQXvWcM/tPILYwgJcmf5I1wQr8hP75fL+rWFW
P5V/hVLCVtNSfL0rUSYdQHAFwXEM3DrTz/RYF0c9SGwlkpv3Ijg93lb28H7nKL/F0r7tW5+XbV2U
22qrFvX7bVuQp2FHg70owsBlCYcRFuGhfd/wWaEDRPegD+1GZwJSirIYHGUUWUvSx3MStm22buDa
tq8hr2tDWhnZfOvaCr8QvavvrqkUwMa+db2hHF2YDYZ5XRIuHvqdCtbFNUaaRrQmYQqYHZlwlCmB
90nyoJNPRbd07uErcdzrtuB1S5ZUwMqk0iAbHG5PpgbgrO9YpDgDr5tkA9N2UPR5SkBq/Sb4KzTm
S6ppv+/30IAnDkbLrdAB0ooMGGvw3G7QCITeGHig0eO1A3yfXqJzY0vN0tEDtEfhxhwEFoECcSac
XWppN3+a+7DxRKTuSIw0CQWJG7RC2VgqBteQ0JG3xfqBb2k7NXieg8bNlJ0iQlNo19jHa6mXKNv3
HS0N3LXud0OuCA0cfDDWYz24h9BSYGLB0M50UzSp+EU8UeP3KbEwGMy0qtQtxFMZ4e+wDGS0VPhE
bXSYK0KFyYaIiVVjGcqYMxbeOKm/yvFBvV8bSQOLjSELdy40lqEa41wilqo5KzBIpOxp2PPfVsMi
SIcZ+kiRCNaYt0V4ZUqwKhdSeyRrlQAll3ujWAQLiZ8Jo58TvzJxolfsBRw8eF6MIuMgMhLcAVlG
CpHCziLSnCHpI8NXsTyibJlMmKr4KnKXKGxDM+DesfSGLDrPyATsMKGzFEivAUquyFmjsMqHPRdO
YDXAY2gyPCfhIO41ZcBgPKP+BLx2YO0LpIHYblCfcnVk0xlMLnjn0uCdY5yLiOURo7gpzS4OXqlk
5JHEdllwmFaxQHLcM8NCwaKtG2ydcL4HZCIE5r4wyrRiNQDkYQtY/cDHtoyy6uHazuHnjd0HXmM3
F2MIK4bSsM5nG+sm7L3BSGMMLF9D3mCB1S584YLnLQBaqm5qF5UlyC6TLEdGa3vWdYH8JvUs3Z7O
hqyyiGM1+JkIwXr/kSXdDAjye0UZ+VQN40LAqkdgDEpGW9UaaQ+SoXSamLPX2fALjYx3kdGTtWWU
VWzFe46n40CVlgxvwy4IbZA9i9MoLR2q2qV1bFKKPeLmeGnM4dK38/vH20snYBpxB/NQFYXU1BBx
A/NQVQDVtzkcfJDhaKPDGpER9z0PVXJ+/XAiSumomr/ttgqwQ9MfXCWRylYjWNJjxBoAWhfKEsuk
gA7ajhfYADCEahdCVQLQ2zHCr+im0a+gDoAasGGAJNK+MdGwbpEUwJJNaUtYX1PIr+nz2/n0l85j
CgCD2aft4shFGvDYILvr6mEoKFR1aWeMWOXKhFRyMl5x6OwJeMiF3TUochQUyvyqnUVNKQE8iwKq
ACjCz9CVGJjwCu3G0PCNgFu+Wx8s2K0HcOiUFu92aHYERrDvGtpUB0XXaTARIYo3Iz0kAHZTVkW7
NZj+PNiwwavuvVVL0pK6/+Pp8/np6fy4sY3blrXENGwIUsudfJo/re//5fn1/XuHG8HEPaXiKMPK
Zx73cH15v7x8nDsf9pwUFnXZk9o4judkjJDd4vgCCrNAqxJx364K1BRSoJ1CEiZQuIgloh+JNc9J
RKFGwtRD5Ui4kTj04PmX3YpRIqAHr6KsGnsNLgpkwIsOlUAPGEABdaOEVj8SXAVOgyUNJj8PQLFS
RpKJ6wCDh5pnm0xsG+pD+GmSQl1DCuA+pcJUhFYdsiJD52zs2YZhEmSVlqMnYSAro/ZCHU8zTG6s
0vtc4IVlm5LK/dZjrTJtCNK9jHaYdWvQFNoM7Mww3TcBOwgcFFw54ux91WvxMcOixHWPduxhgrLV
8LQ4Y540TGgzc+ZLcuC0oteuiGAKVQHoYRr5vDC4o7YHjK2BQaZ+HGdkz8gCqe+kZj8jy+6AAUXT
OWixkq8ZGCe/k5bg2RZUO4qW4JJjM/pA7R4TWJoOdGmc7YZhsdL6YTGLQYM1y8JuxJ+XM4OrCkNm
uGAbPQpZq0JiB4yIpN9YjJwZca5+75QN2WBhG4bFL4bRxCQdhuL2FAIYlxuI7eWOQIUDaTtC+wBu
GwaVFU5ADuBguQ5ps5adbH53RYA4nEfyIQAc23oohd5xPHBe0lQn4ypUwADQCu4VAeCgOSwjngVp
eRzQLVhW8Am64cjYsu/I7hs8pFi7vhq6lLjEyWNpDJBNeujVfqaFPNCW/bAWzCBlX1oJL8nBSwrw
EUaIJxsRt0oLg6cUHJJJ+X4FgA5QBxAQ006PtOUFGHEtO6wxNMhslSYgQAkNQUm61mXXd40tVCUY
oSqMXgGhx7B/vhKjGGt3AfF2JeqJfbZVpJEQVAMrfQZFspe1OCKgRw91lUTNSDJoSM0JGmnSaqeV
zhaczQbc5UvHfrOMOqGMH7mhLKd8KYpK04M1ANYNDJIJ1OEd69EDs7CYWTdj/6olcXfCCViPuLbl
1ExFtIlQ0YzljAnVGozVWSUCVGC/UFQoWglbWwIWeReVGfq/LCyHNwrcJ6AgI0evyTK+V6U9ItxP
jCfFgXNCvV+ZCI4q8aoBrIq79k7ABgIzzip0r+iwAi0qMN0P1RWLFHdlHHqmAnMzie8VPZm9zJ9Z
s7v/Q2ou/V45Cm9Ly4nc8nhi3V+ubx3e7XJgg6nmrIY31UfO8J4BHye6z8vDGBJN8K89JRkahxS1
g0vD3B060ya3NrQ1MIj26giXVZ8AtvQw17lgC2YrVXNZ9B46fgLIolO26qyZ9Z4QdB3rI0peQTVO
Xa1GwtRPw5WG+GOEmVEMd1sYUaeFC0vFwDs5yrImjwvhzfCPC4AbgcHx2TWkFsmwhQARjzO8qml0
Yo93HB3WfpRlQC4NLa7gpXuM8mG6shvHicu2BceO0LIeAhv0tPWw/QIhUsSE8euUCNUO8jNQ0a4D
hy1E2gww96wwU4kAVfIAaaK0JjEqaCvwAiyt8S0LyP0V3LeC5CUZHopPrCE0YgMM/wL5TQ6/Jgno
0u0zYxdVLOm5qaHOt8vTudOzyuWGYsgppNzQNMrAwDjyw+5RGRJbZM5329OTPQMzyWm4ssQNx8Iw
zXTZN7AAXBiZWQswwLUXo6hj2TdQ5DG6kAkQBm6lDBjBZg13vSA26yW+IYCkduzBfl1EGRHeLTCz
PKYpTFIkSplUHNNQBfJqeDfycq60DKCDgNAY2AnuISBgZt8w8F9N7Om8BOR5ivAlIE5n4XENfvcK
P10Bzjp0u6+YAgt7TNE47F/NVWpFh1nt9MtL11SHsZtq4FO7MTbzo5pl0+KTc5VXEwQ6SyPeb6pl
K6PRsJIjxrGsLOMDAKwcuX/cPCwC7DpiVONnTtJVwh5Yw4XtICi4XjGgXBoVdI1iySas0EksTc7J
jK8xpBhzchhxqmYFde4InDU4fEMAEtMykJR0NkL/oGhZP2ZKXM6XatKY0itauYrMXOXxOuukPb4i
uTRuEcYKukT0nqFpl8eWtUjOgSfc2A6T2BpScmwNSSBOM7BUY/NAQptEGAjpYNWFtBjTYFk9dkNJ
oP2XZTXcM7CFpITLgtILGeD1wHJUL4ctHTJwAJBNvxjXYBh2s/LKcpeLNu3GFrYcaqVlXYWfAdqy
hqDo2Vu4X4M7jkUOU2BlaTCmsHNQhbFnUWLTXkW8sMaczkBUO9idVXp2aYAx0gugSWLL0MBfpQS8
KIzqThfdRfSo+//n9HY5fe4KHZXdd0D0tzWO2zPFThA5ykAsKwL9mdaBmnZFmJ6u5DBfG5v0yo6U
bsWUcyg5rDzF7gdatlJzXQVVManAVpG1pRzATUB5XUoZAIqtYWm68xLXVYG6quTIkC6ggPjUMG0E
W8LjGhsFYpQFNAJQVJoQwSnResOMCDUUQwU3iGCxb1LaQR4P48rpzGhb6lGKVnz75fL+0O18LrnZ
Amo8mEEyFX2ynVEcW1iQlaaGPiLJDZOQeujuTLC45GD8Fuc9I1xJtGdcJ9EOPnUtLMhmU2GYsCi5
uQbKI1ictj/u8jCvC/L3epWkmWjt/Z9O75efz/f/+vm/zw9Lfof9FO7/9+n92/q3T5L88ZO7/7c/
zES9/GBsuriqrS9VIlZYCWDrsNXavnKFNQBWV+0EQwuqAWjTznfpLlBgw/1P/+fP/64qFITRMaZP
OLlUhJoyxURUWwmjUxTQuIKWFIoWVgFYv8HSDNkVVgPYsMG6UrRFUKDv//inGgEaf03Up7DVTjTG
gFxhM58yLewY8SI2p9AtrAKwBPOyMFSCAXn/L9X5JaRjmtRgd8QoITG6OoGmuUUJ356t7SVlW1jw
flzzbmsK8PkRyPuaCoaF0RMSnVnszZB40iR2ZbUbP9pNgdUrLB0AtcFKACtW2BRHd7t1FYCV27qi
zDwiWFDTO5CiQoHCSG166cVqKwoTQj1kTLaggA7coCfcCgtol2S1zIV9BAHm/o//+j9V/RQM3kpj
3NVbMRgDjcswtLDoGK5vv6+w6NYiHa7ScAKbUCBFjQOLGbOu5EG9FYu5oV1Bw46RWiyF1MbQ1I72
LGbgpoYNqwYxAatNO0gF3af30wtBhhqHmPILW7Ip0+t0zetUY4IosLp+2aKFBRxlyfBLsOmWTQsL
uIImnGzaQnAtrAWwduMo056Nb2EBJ9MbN7KinHe7hekKE+pVhXsLwntRxYH9tMKO65xjNZRddIE1
ALbd6WAbrAOwdday2gErOQaWjTntdysDdOk6XGVbWA1gB9noK2wABx60T1hhI4CVDOw4+BSrZhtd
YGUApl3dY0bsVgbblrJfLbwBK7BtU9n2uyv24JpivzHOtq4A6w5s8A0YXDJ1ooUeuhQ4sTR963AD
Bkc2dR3sjqoVeMdykPewHRlQiKjdeHtkG7Brx7AuBS5KKgZdEnAQMahtWoEt2PXAe1RgJ3v87frx
8lhxcGmhOFniEkmc+NSuudqNHFJ7kSeikidW74CRWm1qwe13wEDqLzGRZdv7lZFSTkSo7QIjS8Jv
wHTy2gaMTBiirEwrO1Xfn7u/XWrdRzqok0liZNodq5IO6oJK1haq2QE7ALzpoJUPbAP2ANhUKzcP
VzqoSypRnblh7QnYAuBGifXVBYT786+vFf4DUuyrkKDYyTfUN8/R8HbYIT8gW8S3g+JjC2sBrK0r
l3QLqwCswlt2ANTtPBiU8M392+nl8fpc077BtB8qClS1MivvT59v9eegTaUJYZjGTQSmDBdYWVOk
aGEBNevtHWXarAlS6vvX6y/1MTSKyrtqoJfdvy0NrdzQOIs6wMC+jjV9qB2wAu9BqLGPYV46gKUH
hV4btAendv1qvg0YHDrUzt6WcPRQkyj7rjM/OvtWgBGIenhbDxo8ZzpvJ+wUNwnrOlw18SZ0kQau
KwzyCsjSDiBtUDi0QVuwdO0Gc/uVgfcpNjUlcQcN3EC0Z67bSQuJqjcdnbEb+giLYNvAfzxDg33H
WlLpPTBAN5nYEvvoBg8zOu6iwV2R7sZ7aSVRvZSrhs2pLnEroBaQtLdcoysrnh7vvzxdr28VU49Q
vhhfy5f6BiJU8qzYSckaFsgmEyuZ2JBNhIqWbcIuuz0D9dDqel3XwgI5bgJSLSPUaW2jA9Qahb4/
tdo5jlppV8fP6jer4Vb0hvpkrWjXwiJ1xNTRMt3CgmvTYacf17BIhbLVug2p4Sid9rUt0hi24v7p
+rVWgwSOGteBktZIEJDXknbqGflyB4xizqYemeh3wIBbkv7doYn0LkMmxrAOKn4CR7v9TvGj+A/3
rVNeBugUCgr532SAbuXQpGfFHTBwsraVe2EHDPwrpJah43OUAbpoQ9MUe39m4I+iRSehCwy8jiRR
P5JO3wXW3T+cL0/V5TloIgoQJlM4W4Om5+51BZhwUaVt7nVCB81LUY9fbO4NJolUufF6R20w06Oq
BBC9PXtgEgtkEvv7h2ttv3ooM41DniCPZSaxX+POhPFQYBhTrxtaWKRfqFpgyBYW6USiioHutgxk
q7G73JQaFsgpo3fHpXzS39/++vZeM0qMA+Vr3DdcGyNB2VphsTtg5P4LVShY72ABxSg3TisqwMgH
VzstVdgBI8VI1Phy9QXI++fTrzX+sd9HykrhafGPHT9SDBOz5txHAFsruS3Dx14jSV6O3/u+1P1z
60dW+HuuVvsaY0lhFNpxnlgBRmjw9cp2B4zwbxAa1P2p5aEKR1dU3cG2lgQKKzyD3OUVFsWiJIpF
KazubMHsPQkqHFLelwauWRklF/l/Pl0/n57m7M4VkVxurXODER8LqASg3XLFBPlJL2ki0x+nDz2e
H66P5//485ZLWn5epkSO5b0iTrPEiYh2v34ggrKW6QNu5KlcP4C6qTgZBx1CyAdQxZeTcdAnZP0A
KpBxSmv+AGganVOkfiuLgtj5goFIJJVF2e+9O4KG4Loe707cC9URABJIiVF/AwpOmHeKlpDWbG/+
gP1kwAEifwcGrk8iOTmS10GBwmRILNVMEtrujwA2oN3Id10dAdyBdP3Z4/QLCiOB3mK6RmU7bwHd
A8Ei7fBOt4DpgATyEhb3SJRw4u7ET0y/xV2DBYRHSRwWWSsaYBI9SNVi0uy/YTFBxX6pYYNLdBCz
85y2BDm2qJRRDF/Fba6cIpW0eXnVoSXElAzDlhmGElnBZDD+w8iCXrHnAPYks3uJh9o6Razw0gXV
qK5kQ0cgJaOBzHQkR0AXEBiWiDlq2+VyIBcRL4ijEE/1BXAEJVlmEPEl2LroNuwxCAS7EYxYwu9X
96dBkweI2TmpGE4tKO3gBgA/J0XpSUfQOxLAyqHR7AUGjP66sr0n0hTW7cj9ZS1H93QbgSUKUa5K
BMbvbwK/BVKvngoHnOsiAu1BscLA4w9IlpshSvSHdFzAD9Vgonuj3gBaJN0kMmGHPkdFOCBfyDei
N8d8+oa+P7/0zCANtT+Rx1GbOoGrRq+GrLp8YPMZJCXKiPYDQ+RkcC8r271hdDnSZOH6bvOBJE20
kTUammHlAKqOscn2AyPtt+x/WA4xQ2tmeddk/nQQwNxgGIVn1x0MVb6yA1fHaH33A+gIHA0N1f8C
Hkdx3hUDzA1uzqOsMfkuCYAdkEhz1UCKHgCdP7A0zHxgcyBmwb+7QgfBfaxcuKaze3D9XoxSOOnu
0f2RGL+u3M8r/WAW4vwoYrzugOFBtMgyvULp948YMaHNdRmrMpIV2AFgX3sfzR4aIM/r6u5E9+0h
5FuWf+MPWDuK3Kzb92D7YRQBWKEtgG5SI9QeGhFuw3Z8JRPNJhN/f31+vb5sTRSWX0CMLctd2lra
7SjbcE6Fpnmwki0445pRtPF86H1AM84pWrm7lw0GcsayA1ulMegeBoAZ0/YyD10MoPU9Uh8Nr8CS
1tEd5ctA7lY+oJkP4PWdGOWurVeIdb92wMVufeicozMX9s45w/tCTER2pGG93Ip0K0+uUt3ZPzBE
XUDeCMN6EhTptZ78MkbulweupHa+fGyhsRnpayu+cUQYxhPj4ii/f4VGzMfXJmzc3zx2YpDhD9mh
6fbLg2fjLIM5oJWW5aEXy/COedLsPkXHYucDDPcXtVu6x/sQBiRzAOjDcg6FFQxUDMru/aj7SPqA
2gJnfemocOghRek86aDd4Q0Ku2nyF2hH672AU9jZWPZAimmLs1G33xg9kwzf9AduVBCFI0jlDGZU
Cjx/QeEJU5405s4cUnS2ADtOe9JCPdsvcf8F2CXZkxltHXeZYqeCeTLaqwSEdGcPeOqVd/QUMvus
9t+Ak6g87fhte3cBmzb74IcRa4IGcAQyCas4QXWPnvA3HB02nFum+P03NL5OUQ/wHWwCUJSjkzj1
PqCmoAu0bML322M1ZI1elhiVFK9fsBgPelRWvH7A4Q+YUUpGxR3AF3xT7O/23MkD7uRqDtt7VJgg
PfMg8Pmbvtx7/jxSYAp000My9skQcXfS2Tu/LdvZgQU7MMzxQVC2EEBgBVTAH3Cjhg10B+glCoaG
4fwTTxKSQn/5cSSqEDC5grhTAxXTrM7TVOp9JEXBaGZB4KD3aaMiIIaqWhVB9lkRUlTIN1zvIWKG
THLC+5qSYrBAEunTm3B+/wzAJUTF0NBIlS/QZGKJJOPgCTRiIYNZlhRzSCTXTThin34BE/KBlQHj
LKfyBc8+YTygwJMJRp14poKZXuURSJ4JIOpxowYs1QkQI96w2InyKOhHKEiM9Qdk5wSIjYS61UZH
yWZe4L4TzGYPqS2nMCnrr6e32/kPlUFU8j5HLYEVSZ9fgt5U55ozP3E6oAWBxrm1NP4A8pWUVraf
JPJXSmeZDzA2u7R6nDmxYDACDCoWAzhthDTrbNr7rQeQKNgrTe0vrcR9ScGF6yvPIDACX5cklarJ
dtBqf3ycyefF2Fm6oB+sT2cati6HBRxcvnZjX/NGfoh+uevHp6dpV663fgTuMklbHuge7jLpAOwZ
7vVZJuPDybGneGMg4AOWe75q1CFckVKabtrcvD4+gG0qt3wXA4gARNUgUXSvAJygGRKsVJcCwR06
x2MQ0FCTbLLnHhqOMl2rt+D6oBmDNJqB90xGOala3SnbGw0gCRCYN2wYGhhNc10/ACQwKX1Nn7Gh
w73B4VXoD24hDAShLowzjTbcA9R57vli0aXV2N+/ER+gXuMZDojBSc5f6D1ezDvoEOCu5oAfjooM
OBNlk8awLwcfwMsjyhc4gjOs8oXJ11iGAMGA9Wn/vo7zxe7+Af3ReFOXdWhOfDTi33UoCNF/HGfM
zscH0EGNo6zb/aPXqxjdyzPXR6N9XfEfQaBShma8cu/9AHBSChR7qHfc5jXDO+InhLvIUK7mhIZk
aA+Lfd2Ax73iwphu9WgmUoAoc+ev88+np8qY5GZaOO9GrSVncAP8PS4Ct/XciUwhl4cLZlTGSD8A
dhDU2PE6fwD6DR11G+3vZNmBAzvYHI9Ng0b6AQ8+4Krow2AHBnxAjz2X2wcC+ABxPMUmdqDWCkNQ
gTmay0x2wHwgdkdWESoEwO3oVdtdHT2CUPtsOssD6KgY9BsQeXExsJvHLziI3eDLzgsA5EPcrm1S
4gaPNhCY8yt89Z6hHfMJbd7W/CvsoQH7iY4jO/DwacyqyzolR3aaZX7QWeqamEtnAwzztyzp4Luj
zs561IDMzeEvtz+d/lQJpJIPBMpRmkSomp+XbBygnUCrsGShAWiH7LIMDVQb0o1yQkVsYbFeEyxS
LPLSQKkkbQJz6KxzbOSRisggKPlLANozSMMaDWmPOLtiCAHp4iH/H0/XU+0j11w0R/pxHKP0M4NR
ANGEQUwLDuWpb5v2uxYcR0JVQFpV7i0KIoi6DmTZztYBtECCWHPREyWRKpN3DpIQtB+GkJc7A9Ez
oRmsGRi+U1ATLXcG8EZnlnWvXCId0JP5Es3UpBVx4OjaMkeHSriXAklgDfy5BVzxbw1RnGI2L+G9
CYNkmAbWfNm8ZDaPs26U44kOUY2quqn0EA/minppmYvD0VoZRw3kNh4LHrsMPNkAFk2GdYzOjjh0
YB7MMAJY9m76oysp0aG9C2R1asbo9sKN85WWewMPTh24drB51Uzu6IgXsHdNkidDU8UIuowW2G3l
XbuFeWVw5VpXWFOyc2zA5ZTm+Qyy8objg7bHgt6aY2U6uDKtGHrzKD1Og+S+hcchevG7rRMdzU5K
/v+4vFzez5WGZsdqY8kXhHzXjhXeAg0Fnh1r6gXaIZPbjtXlAq3R67MMHXkd0BuwYxOlLC6QrW3H
5lGBVszWFdIyDNSQLMczdawT9CJNjJFbYkxKUfp4eTx/ubycHwlNSShSFJnz0QsNzSM/UU6FHbuW
weBORcZ8dM03CeWBIsNNOmMQ1o2jU+8jmRteJwP+Dy9f0vv8XuFScY5hF8cPdB79iDwLclyrIGGU
roCLsTYt8VRvRzLIdrxy3jhaWbXOMIJLeV+7M+ZZqGgzTVZufRCJDwLcupL3qzk7fq6SDww44Nqf
z40W93U2+pIFNzflY5ZW+/nP5RLs/U/vb5eXrwu3sDPj+Kn8mev3F4Xygzl+G/S4UbTQtbpuOtBg
AqEweuQwJPBg87puu+x64BqAx1rvsx14AK6GHSc38AhWryYoqi7uALipwUUH3ILFZXXt3cUNWFzs
RFcNryDRGTfiSGR5sHsjD8ArcPowao6+wYPT6ybA0AMHq4+9WWT3AixfY6979eDRNVaDjh3wAMBN
jTvd2z1gGUaN3BMEHqzfKl1bdaWdO5SWb+EM95SoFKIfTRe3S3ugMawYNeydYQ2A1VXzBV3BgreT
gKMQo7YTFo6lmJaNo34TM7bQlsOoUYhd8tjHsHWHchVbWHRFTatw26IZwcp68orboVkBNDfAst00
7IsSoqPNRRp0odbSE6iq0KUFIXBFCFxhCZdHIrd5yfTKcSSygLtRYq9Fc9UK7DCpjWwdrO2GQRgC
Pwa3YTBlikAD8Dajv7d7D8DrjOhKQiisGBXkVYPcKuJTUDEpq4vRMAbLZMCUxe0oG51s3gH4Jp26
i3sBtu9HTWk3+ADAm+FkPcKxAFxVq+seOCBbkpAUBosD1Lm6MbTqoc4AcFmB6x7dgDFlxtfugtAD
B5gnRSDNGIsNHqzumlkekTA+SxifxbzbCdeMKKDqoYWy2QnSlKl9eciTVWD9WDQjb1ABbgY/uRpY
4ZWHY2jnE6OFddWCS7WgFoC6SjpXBGPx3E1B2h/GFld43Kew9diSilDMZgmbNMqimMefXt+u79f3
76/nT+/XP14fTk/nP15/Ob/9/nQ7E8oyZd4HeuDW1AmbFNMruAXgbjBGcAEfPxCL+Pq6tgZrb887
NyewPXggk61t2JPufcCDDYRRTyS6AXACa0Z1JssHAgCODOqBQmDdsLX1Ci0AdM2YK3u5QAOs0coO
0V3aAWBfHbpLrgDcDAtrCDwgWVoYZBqRsMIbsL4dtTGjFAMwb+VoDt3yAagMWeuOkCz6gDrwZsD0
T2vtaHYo+QAgezNMb6cbAPBqN2KLfgCFhlPfYr3Q/jIpvsag4sAXnjOBJ/XEh//aeH3qP7Bj8G/n
16fTQ8PWJY5/R+HVyMG+wGOvCml4ErrgBvoSfR1caN+ZxFkbUbg49gmt8MCl5epuJe0z4X2pdpQm
tcIDf2AzPk/3Ng/Wdo1DrAsP3IkkQNIRDBKn+0x3J0Y5XhR3wKFHOpUkfmd8bwPAJeYlh3vsDiWt
VmKXdgHh0XIDMSJccPWuyTuxvc2DvZswykIg6wP4NigUuvsHl+eHbcwo9tHTVXUUYn99FmKQphyb
Ljx26FozalFBWBfAoA8HqA+xnibZrksBgHNby71+AExqVWIT/lrXBpzHRI76EOmEJu0i9jAPbt43
+fZdmYXCMMOmaxQecD4akPV77U7ibL8JAaJmHrq3AfB0rBpk9i7ggOzbea97YI0ltjsiMZHUkfXt
9cUGuD67Gzq7PwCiHsNoLDgIZtlnCwgn6HEAb10c4K7pytPheRrzLLtbn2iVbq9UPlxfHkjKffmt
sUqYNddllM6E3aQd2hpDDrzOAi42vTl9wnTALQA32+qqCz5e2yyDhNLaMYVDWmAFYMm+dWoH08Ia
pO8bsen76YlG0Tl2AMf2K7hTVbuuDTwC8LBt3g6Q7gC43VY3g9U1AFfb6qmNwg51DuCN3LesOl3N
sB7A2opWnOtRqgD7jjWthQ48MPEisRBTky7ZATcAnFCMTi2HOwSHaH1DelLE3e7KNYCVFbmY3TsB
WDNiozUddmq/G0mvArvxlo4rz410ngK7PZFktTlfG/SSY0xWVHzNVdeFWIN2vqbR2paPY2ftf7y+
9py1kXMfOQu9PxG6W4MYxwALMHDatU1J4g4YuGxoWX7HJIisz4iG8Hz33MDn57HPL3JuZhr8rEfI
0d0DNzOJI4Uu3pHDL8jRNPkFGjv8SMzb9xfH/j6vRi0V6AcA+mgnING/fLB8UPz2wd27YfEigQfh
DRrD6xMejq64pptG6MGDZ+cCd/uMv9jLA8QPmIYXB64fPH23ix/vvaVAFlqigMj0g4rD2j2HvX18
vm0ZpD9tv8nYjiEgl53NCvhYgZfSjzPwtuWB7Rw98jpYzl0bzag5Ltm/B/uPo4qJBR66HKXw0Oli
GbeZFHqYv7keH9g/TZ18FxzYflGO0z9XeGC3R81cHvR3Sik45GOPEWly0PF3WsbdLEXtMlQd2gM3
p5oaQ9mjPAUOz1IueDZSBQ4ahkkkrQ6Vo3cP4JXkb94A1Dv28NBpE4d97Rd4QHbKcfeOXcVS1mn8
HaYHgzxSNA2V96cHHEtBT6dlvEWSVvCHPtFDL3O0yFllUYxBKgP9lJZztUmhuDcHgwRSGIZqNeRX
SoxaKFPcI56hR8W5ywfQk/PQ12Y5B70UEnr6LOesI+2A+sIGhtckacCQTd2usEJ+0hi4dws9vVJa
6Kafrw8xXTWq/SIfAPQvh43UCTy4QOlggNKyAcIYD7BdiUTmvl6k8hkAn5gLtUZbIw+lyxdwU3tR
fSf7AKxuTeUcqj0WHYfFU3ZXpMFOp7faWRG5BEBj66y2+pEPXRUFNo4m6RZYkIdndDUDthFKQz9F
gQ3j/L8M6wAsyR2UPVica2maogLRgnsA66ul90eWKPlQDvMWC6wAsGI3s7OhRoM9b5ufNfmXgqLU
2DHuHr6d3n5/fTz/ro5cWOhBcUKihCML/Q9ODJvhLsDQ+xJGBcsbNPA+hLBLVdqBA89LaBKQdQsO
PG7RIX+fhe6+GGuny27bwGETN4dNbrbodkf+hNCth9nqC77A2qRPVtxpVRZVh9g4HFK4rQy8LFGN
C1MWcOAlioIHR06iqJFn2ELHcAz82sBBFppe1b4Fj+BtNvnDurM0IlNZgWvZAQcvpO2LtqNUcOpo
dk12qV9Ldfxa59Pbw7faqcVNkTA+guewgIPij4auWvOSG+RgyKvI5prfbwBQpXDQdanYajFywTkg
1f0AqFoKFmaaKrbyJwSY6ooKOgsGZFU2tV8fvEuhOezBIQ4mxgPYB8gPOEWc60JvQj1AoLVyuC7e
JgaYac2NYDDRwWiZYucVGx+QTJBcM2lDO3GHEQbQ6zUcBnD9UvCIvWZ4IIpFlaivuoujisVwhP7A
6YMYFkyuyAPLU5HoupcHxLnAYVpUbVvgcdBFQQ1KKI7p4GCriWpYNbfCg6q5cZNVAg+WD3WrnY7Q
ADJdGA7zcHKRiX7Ufz3Di71gfj69t3JZAN6Ui7GVrAv6ml0K8DIzvGxq5uMOXg0THfMHNKk48/vH
JbBtP+mbm5G9dH9p4MHuta8sTr9fG7QL0LEC7p/cANTHcZ+D9eSoXYGqzXzd2wDAnPS0HrNlSwK4
GKazbz4Cv3fbCqQPlbXNuOnBuneAOxmrvXdRB5YXpvbMdPcPiFY0FaW2e/dg+652KnWPD+hWbfvP
D7hPOmgDqn62rvsBAT7Q8I39sw2AelztrOmjD5GfrEnf97YPNiAid3wF4ZXmyU+ip1d7Bvu8w4L1
RbV+9/gAXLj6+KG3PCB/pTimL6HQEb4m3y76JSIgPS7KXjcA2Iew43LybQOA/JU9IvYABSg/7GJS
4JHItBX36TNPxHzrjjODx4+4r63vz3dPDwhQC45/IuTrUC/fRz7gfsrVHm7V/QDAoAq7fj/70AnK
1rR1jqmj3uZOZf3l5fH8679+qXQ7z6SSSF/n8dSP3HOpGCGgqLRn8lCkjyiw7JnKJxkNqBv0KCir
RDNgZgeLo/FRjOazbBtH4Ho0W31DGwinN9NhGr7imVpX2aQC7KBBKFWJgILZnotkyvFQ9BkeDSKY
lhcoEuuZ9BNJa4Z079rQQO1pdY0q/TyXORQlJleLaWbDfJaspgOOFo/MxaFzg5ZzC70Bco2eIVeY
6Si9YXbuwc45coNZijKIcafAAi7B2nHY2XM9NTh2qJlb76GB624G6cgef0MsQtU3LjvEZsDRJSrm
9yjLSwnHCiTEXzx+YzirVdK6uC6l4/S4EEcN4bflQZ4SrSRWA6kCVidplU173m3ziOAcSgn2TFKn
DGrUxH8jGQuufd8JfN/lAiReu60IKXUnnYt5FmVNdwJUT5e2SYXmouMiQG+d5gLcUkBXp+bCrtKN
e/oVeBBgoTOaRXdxXJihNAqcSg2yoMr6djRrksCD9emY307uqMbufSNRXYbmYq/SwjY0mot4SzOa
0brAg2vXEbrXNVsTI+uYd+uH0Vxeh1QwsqNRAmihHbVrLdf5AIitSl9Ft9rYjsaRWTrgvb9/GJmy
ynCkjxM1ZBPbtD3SB+vrprGf66IPMB4luAMoyHi05CgQhims8hzjhIF5q+p0lc4FAuxrd+Dtomo+
VU/J7TwfON/catCNdN0AWF826+se9gDzURG2wNJMaNrS8fCxe34YmrZ0HsQQHjBfLQ6IXVTQKCP3
/nDSj4ijaRoLPNp92LF+opqYftZgkzFoOI+CQxnyhvPDWI+aAA3zg8vKGjXwMZwzgvaO2rtCDK6m
8Y3S6DvHBsaC5baOvQnWcFuHCrMTqKjAcGaxVch3ZmAtiovMfQNrvu1Utjs1oDMXUOGY4ewjG1Eh
hIFVGF4ydw3ohHSIIrZFvW1gl1mLHBiGNUrbRjWu88LQ7psOW7EFBxgnrdX2PgyDC+28Hg7IWE4N
yMw6ZAubcV5tgYYOCMP5fZqGbLJOqgi9PgmDDgmB4wIaFwQG+J6MhXVJAb4IE2ADpcAWlTSTJFql
PrCFTUZzZ8csUIvBeFYCDrCnLayrCpi8Sf+lXkpJ4LiC1rCYMLCu9PHAOvIB8LbJ8J5mYOUKD5gS
6bwWu4uDlY1HbtUEDN6mqYuH+1QL7s0IVEsYOJ2hGdwje+DgzWjFvVhGGOgIi+ECx1ebYczd/QPs
awdLaAPnZDRm52SkrLWjDd9eny61MixnbRgURqmmHquhMFMMfpA7E9yuxXnzAZw70FZ1yR28QbkD
0wlkvYHuCUDwmfbg7xi9MzzAQMTpH4bL+TNN/D30NoDC/17B9J0ZhaCyTpldtdf+A6CoTzUodN0N
jOFJ+lSnRUdBgAHZH7FOX7PdGwQIbAbZdGgwfQAk0EScAGPYFBCrmRMYlMHlBMl/6XlNDZs36g2/
AVASKjWHQZxBaLYbULpLQUwKGCl2zNTYRQB4hM5xXEDiR2jrMs/+DQAKcBKmnxouCcxU40AGBAAQ
4F016quVVwb0y8gUICLKoZvlCEgi8gHmoBlYJ6vDAR6uAP2Fut51IIXADkgK05gFgeuLrBhMHwD0
Q2eIqZEUUYCHBZyFNqMAcHGSxqg6PXINl0VqYAK14TLXjayTQPf7R2XpgmPgOPnbRmbviX2CYT4k
BzEJY93nf+D5WMEhD5WoK06DScQHUgiDrxWI0GMeYAN0hl3/8ePcfXNEh0Py18u6P0DsXiAQgDSF
tk9AGgjACQNH4IEeLwJKoTZoIlahH1+z/y4DVGDCUpuE3lXiFLiCIOvKlb4EBioMnfE01oHAI3YR
ljHMHBC8YmWZS2DSoF3NAfsYAFKMjptSo3eswAa8h3UkBjeNMPIAEwU06Cy3fQ2VUKEOvCF0AFp9
1UmcMLBNCCl+6nkJDZtG7ULd7KPPxMD1+2aaXNcQRfRnIk+/GmyAjJr1e5eJAd2Dyv05WEYy8yAg
RrSCxWuGq95z4wFz6/rg+cvaChx4EgAFhMC8fw3qUCb8sVYoECCk/M53106sA+Au1Bas7uEO3L30
45G/m/mEBKioBVj3AAYgPwbOhNVY/5WHHFFAgDXjhzs4MMiKcULXdXj9BwRoQB7QYiXQorVgjCCJ
69CsPSC/kBIcagHed6MACaI0rEMqHwBWoGw20PemAhIIhvGEGSTApxuQ1Q10jXjAwUghZ/YJ9ikA
sCBVT5PuK4HAixIaT1wXAeAFSHPAkAD4N40byPQQCAhA+PEw7o2CwRPwLAUmJgKU2BDrK+wqAeAG
aLuyoTMZUIBkMYiLIZ2pZXgXHuzfqVoO9J3JQAmKvnJF6r4aBtRYbzlHhEK25PSBuPMFNc3XNG6+
Fqq5Jvs5hrgRoXX17APXAUdjEMnohPSDhgexUxRlPYsm/tc+ux01YVT15mM98gH1X9yOnVxh8ziX
ZduuP/KhO5kXDsTQgaDX7vHjuOsJup5443fwaABKCPVIDbuHHorI8gGBRqAsHwD797Huc+l6HwCD
b3xDX90NAPx7h/psSn6GjA/1mNDQ+wCYd+R1vQHVgwck7mU9e0d0DwAqQIKqN6C7HwAvhQzREV0K
RvcfNuhkMps9BYKxRWHrcpq73cpWQMKBMjr4+uq6qAeY8woMlFkxB+4u1GN4+ncHJnX5rdI58ZHY
vTqAP29q5mF28GDxYOun310csA4vKsI1sTcyAgkmhdbXLNmKSjS4isF3UtWeTrf3P3QqxQNKYnYK
jt8OTAK1a9ocNSZQAHHYDC6b3mahs7oDqwdUvRCYqi1Hu2Pta8UDU7TlpATTdAKqXHBt2UZsYT2A
lQzKURdZUm+xN9gCU+zkRESt9AJXruQkrDQLsMcmrVLTg7u2YOseXxYuNHC0zEv1VjeoxM1Ji1qR
Ba5KysmqE1rjLApMdaMTNeqU62weoE5G1Pw3MEUujnTP7GMenFsZ1LkwAPO67NyDpseBKQ10TVFn
YxwH4F4t4KEmmSQ+lpw4Ke7/fP76L7++Zsj8g0+O/nlS/ssvVAr8T/VAofkXx0mVwdEs5LrB2wI8
zkkMzgyHkizQEQCLUS3CAhzAvpuuBnEH7ACwH6RyrmeWYNtql8O6XtoErfb3cv71/FDficJNG4JT
cTDkaQFHyZrBBjMq1SDw4wTtYGNzsWb3AXQ3ejRiaQHW8PCyIQy1g0e9aYITmCoVzo8ONgyT6yn2
IsCeGxUhkA8oAT7gOfQbdP9OqVHlBz0BQEG0o0RtcgXgCsUo15qAAwoSblTiRPevwBXGUcMWgkAD
SHBYcEQ3AG4weO4DBmKADp7p8GUFUlgLvBm1hKAHGO/fhwNvSIEPxOHoFMIEwCOWkqNAWKQSbGS5
CEAfSZYfv2AgJWxgj4+qg4KlPTn6PAhNrApONJObdI9+kGhX9sABwAskHb5y6Vx3A0gIQBmt8OSe
4MiwtiZ0TvCHzj/ud0U+ADiIUKOOUwR/gHyDGDWkWeGBktJUa3QEANIJt6033egp8Tvw9PSoOpd+
AOgv0TDiQ2PurQ4wL6D9BMk9PjRjMzgysk3VjaHp4wPwbtRcj8Aj3hk41qeh+kDnbsXu/hWEb+Y0
9vAPXh6tzuuLLgtPT4oDm6YJBHuAdSh5QPmSSHmvWZfqUR94PUFzt6+g6BeN6tHFH6A+FY6ovxa8
Xvb5Gfh8lDigfAJ4oRnugUxDecByAmcPalTZSuUOwF3kxIaBiodTTafD7tsH8GI/X5d+gNUbLWT9
koXXiPhYpcN16oKXtXXHY3K+vdeWOdeJS7jGU9cQN9cSRdBpI0N44PIS7TSf7gcCgLcDn9cCDmDj
cNwDQZ4FyJOjdipk7xrsXXDwY7s2f8CbkV+dfEBJ8AG/c9p1rg/Ah1E7MAIPyC847gYcAA4jJzVF
nwe717SXWhd5iHSdG40pIocH5EMHbvRJf+xXKft3DO1DT7VwYhQLowgAt+/IzDibotW9D4ALdGrU
BpBuAJCPt7upIfsPAAJw+ggFjeGtH8U5KDzgAC6Ohh0tHwCnj5JlX4B4xqPvyN7B1m08QL2gG5nw
R7ivAhsIBzYAmKczVWxQdfcP1neBo17YjUwEzZ4fkB6dkzSWHWB5rw6wbnB8MuOu59KDPTxFiJzc
wY0YhZd1J8Su2oA2YHZBvo5mh3QzgxxKoA3TBOp3SuGm2HmqwHmml6igw9Y2KpiBP5n75+m3L0+X
l3P11XEkK31UtkkOFWF6EEQr0BbwRD+OgxXg/Zug0Bw/ppPXtkrJZWl7v+aM1Oiw0HlqBTDg/Xgk
awmv7Zpn0x2p+69P18+np3o7CqOoURqb21HM7aBX7z8pTBhyJzLq28Ecg8z4ajq/r9Dobh0QlZ4T
FmQipm9VJc+0LRUx9lC+4EzfX76+XN/OVabp/C8wYOxBzNePTZcC7GqfltwBw0B32IU06Ynk/e36
8fbQnEYy37SjnngLNMKFAX6CDIxwofch7O04hp4iZzgHaJKYRjRVVJrhLSQW2mJ2d5QFHqglGumU
GR62pxZKg3eS4SNWqyywahb8Ab3QGA4eJrEI5YFeuuAP3J8eTv8k6wM+o5BHZFkf6FWahXdwfdIk
e8epluXB9WsNxMNCPkCxUoaDN5j8And8LMJJ6lgz7oisj/YfOfLDGhVNVRzuH6wvI9DLM7yHz8/I
A+QHFFvaJLp/fxGbtGbsU8D1IYrUF4HjY6uS9kfvwwfsk7CSY98Bnt+oA+wf3L+urUrZA0evXxzZ
PmLfimP/AbskrB41+aYfAI4FKw68AHQD7AsM8AWYwGEAJmkL5YBdv6wPKMA4bv8RO1bY9S2EJ/Ml
4ogBIvnLPgDsVZTD2esEfYgBbvSXVCndhQfrG3tAAKDrlwceEJD/Zh/Q2JRRS5VRy6SdWY8ijzZT
8hjYoZwvywXuvATujbw0SPZwKOSagcGhnQd2RAYG23YoVdFCUL8387d7UyRZWX2S8v6fzw+X59PT
v9weTq+VnZT/FSfDmDabqXpi6wcs+ECTTtX/gAIf0ICy1g948IFwZAdji89IAQhs/UAAO4jALbN+
QIIPqEEHWQpvALwddbClH3DgA77tAEwI7pO//z8fp5f3y5fL+a0mMI91+LXZYV8CKThLU5FB4QDe
ARGyNvzsOxCX/Y9ViLVfWz8uo/B4RkXaLfaF2LoD8AES2k0GrXG7DyA9bm3XBzZg4BWQ0FrTaIAc
wAMMugPrj0Nra6uHdVCR6G0A0IBFsT0FR4sq0mhgnZSzPwByNq7tCgECUGLE2vK0rwYoOFFWkbbB
+A0BNUKw6xu4f6/GdpzCYxsVaTSR2XTda4Q8AAd4QKPFd/GH1ncH6Ac9YAvs4JX+wAFIfEv1CdBi
JhbNAQoEG6DT0nTr4l1OEMAB5GhOHqFAYMcIeYCFKMQDWTFkoBijAdadJq+44NjadBM8IQkRaCRH
Qg6SYAxHxCDgITQ/oqPizCSIduC4G9CYCzjBHcHgR0BSbPamgILjfhXpXw/YiIRsmLjD9onzigv9
rI2rGTkKiCiwH7CQj9M4//ARIRrw9sAGwCsMEcQjFBx1rUjz2c7MRiIIgCYE4zHLDYILsP7ADaJH
6LhH6KA/QogDyji4P21BnoWCQ9YLfDggx4AmGSXHhQ1K1VhbhwM2rFGi0Nr3sevQWuDBC2rzhPpP
GDBBb47wAEBC3nFcVEJBps2BEwBNwkVOl9LwCVrN3aCD+6eBfzEiQbA+SfTs67IG5UmuzS8ZEgZv
gCbq+pE1Bi7AHrEGwfqe1WQs5IFRcQQk4frEJT+QohKrAUaDVNP1BgAJeM+RsMWPmCSALKnS9AvM
EwxEl8wOcvtf1Ffj7n93u53f3i/Xl9pVw6X4G6dBXV6G17C03cC60PwBB4vDYHFThoflOYZWSPi9
n8BxvlAy8LMn3hxTHWM8Km9aEAjW9xH6Yh3gbQV/Crir1wsE69fTy1rW4pCnKn8gBFBZuSAQeCFp
kKGj3zhkI5QNbCfIuSfdEwAKIv0JeszFATOr3IDmblBDR3Iwg0FshIABATo3ruzN4BbTjzjw/sDu
SR5qzlwJvdOD7dPi0P77g8WdJioQcVnWB4EEUh6YGavvrQ/gYWH+gj/EgEONP9+jPhDrEoZj4DgK
4VCF3fr8BECg4xiwwgw4HiBAdADPEQBsDWFiPMDAgQAMgiMAWJ5pouPOj8NAdCytGz0ggH9SHD5Y
H3YWMKQ6PXbBLeaekltew/JYE+UB9gs6WxjS3KQZTEQIEHAAUmOZnPamK4GBACQ1rtlA7hIQ0sDs
AQ4E4L048AAAAfjAyC/cGsKQKtOM/+75Af7ingFQ3Xgiv/Pbc60WW44rkkHuRN1u4AFN2QjD05YV
6hLqJJZT620zk1j34BFTgckIn6S6//2309vp4f389vun0+3WzUNQjIM8ENdgCjaYNgtAMYHeACvQ
1g+AHRDnYk97kYqJk4agoWUtFRNnCsS0zv1uTXcHFuzAQA+1VIyLOjgPjXPJ2qYk1NVTYaTChagT
Dgx0L0jF+CgD9ZHGvY9XKibaG4iDJeV/a7X/AAw3B+If6Hk5pWICDYEEGkZIhH7iENQRSgSk7LGX
SirG0x6op93uVcn5NYIdRBgzlorJOwk+suwAJp4Eh4PmUjHO7uAi+wEYswskbJ0y2bXt3iIiRBaH
MG8hkKjtvkhqvQT0AVc/Jd0lZPQSeKauMSEHUMGxEjLiBoSh6X3uwfwBJBX2ZZGV+NSN+GwEp+bE
u2ymn7co0pzRoiP02knNKb2aSSHUnNlG2uL06FRzfjMdWBTgppxGNRW0sXsEhESJUwg15zvUCmre
MxIAErVjd4Ab6xnVKJq+ewagfWsN/Y9Sc6qmNCwSsK4s7ZEdgCNIbIFLzTVYM02Lqv5jQMQsDu0A
HEEewQGygpU+cg2gTZ0hrZLi8AMoIzce2QHw5MhwBIsAB1JzPAm36jKky+MYBciZTjvN2iFXA5Qo
PcsRsDWvPYtE7BDWFvrjpOY8oopJrNZct1hDOp4tI1Co+I33v3u/PvdM1shV15G29j25GbnyNGFA
34kFHiVzNC1/XA8e1DYJHEmPXHmc2HW7qvQae/+n68v5+fX9e1Zr/nx6+XpulZvZdwISNlRjS7Uk
OHs/QM4KHR8Q9j7p+QsOqOGMITAfAmR9aIlt2vkQIGhOKkERGgAiSTFjr8LActZM9DD1aNkBCNzT
atTQMcxnPILcFVoO3TMqLdPnx0bhjpxCg1OQmt4xHhU4hMTJwMsWAEUrc4ScUEK9lIf2AAhSiyNf
AB9oU9FMH5EgkYUU9/V89cshQB6GYhx2lml6N+1BHOENHjyriB0tli0vEQamZs9fMCAhRqtDaABf
EOoIGoCV3WaWDrYA3qU4hkjwMIUFDQy3LwB6Ehp7K2aKBPxJNSnCff4EXraQMDdpeVbgLuWhu9Tg
YdK2C2OJi9I0hcdeG8v5seMhJqvATbTjsfrUoAEilUKpossWADlJDbqHbHgEN0GGdOUZcgPeAPDY
OPD6V2lQvqg+Qk4KkLSSR14V8qPu5SXVVEM2AWrNNDCpHtZhf08ophX4gAnQ4xQYn5dVBqX6zOuD
bsrGQQs7MP4qKxvTLvQ2AHKNlAJ12QqOeMrwNkDTcsYf2IBtNuB6GwAIIGHdnmN4RgCYQ2FwtmTg
WumLeIQEAQkZAx1FgUm3stZCv++MAdCOnfEvBC7h1BL/gh/Bg3wT6ucye0EVuI7kUnAIxOkmlnrO
O/Uo8wHAMCETuR3gjBtnD9AQakjfTsPofwCcQDcn8D0iBCi0nuNjMPphVTMSwXcPAMYRaXmEiMEz
0mii1EoE4ANGHdgBmoll5AFeimZC6WauguxdIoC3juMkMG/POsXBw+iNlQa6GWdhgqjQcFeAR9LA
kTjrFQIMGn2ABgArVv4AL1fgA+YILwdXqBo+EHokAKSp09wBcO6zO0QCiIY1p9DA5GdLQibpMo3t
kRBK3nYH9BlwgTTNy4/YEFBoVTjChcAN0t62fSaCOxRJxXFynHxolUAhn8BEP63EjXBmLgowqI9g
UIMDWAnTfwPXR1p4TiOF4R4r2QMoLArVEVmqACM3lpNksILISpYLwVQIS0NuZrQ+QICUYDzUAg/k
CI5aBqb8xWoBuoGrT/r+ny+3//54edgXl7EBWYP1ND4cahslxfc+AELKpq5NavkbG001ODOADwhb
A2a3qk9saoKxRzYATmAxg2IzjQzOrufzCqyCXarY9BCDRSyf4WLFERSCaLLBuVJsfoox0N5isxJa
Vb/7CFCiE9VS3IgIAQbNIQwCKrb7KVZV2Fhs6XDdRHKRGufhlD1S4ZznY7bBBJEaBjIltrjRQ9kF
8wkJ67TTJwzzCSex71Sk5oXMLhy7C8vtwhzABU6ptgaHXfMncH2A1Swu8qWizHDBHiSjE8QVbDh2
I2AXTA+QlS5Qlr7GQZ7lEwgXCjvV843gagW7DxSRp6zpu9UHWrWi3jT6QLNmFE/WB3plK5BboPlW
rSTNZD+UV/O9xkUAzYk03ytc6nFeguZ7ZYt9Z53tLiW9S8lE9gNpVbXbieRCVsGg/iCSi0QHg0L6
kgumB4Ma5ksuWqY9eFSSy7AhzXFiq7tLLsal+Y2D2HdoO9y5Djg4uPEg3CqZmHUwqCOI5NKz9AGC
AVzMINEkuTizblqCdQ4O1oa9dCSXOmJQIxbJxdhD25qcTCpx9/90vT6dTy9Lp2FHJpdMf2aH0Tm6
t9qXk8AVB06CxtklECpwbhCoM3UmB6nYnFeHsxCdjqNmhRu4AuBu1CRrA9cAfJj7sJ0dbJ6+5Dr5
YgMHqxszEoMbOLp3Ncqa2O4doa5evdn8sN12gVXVrJLenSNoO6qc3OgdbNxIgDa4bVPLDFJjlSHR
moG/KgSuq/TdHpGDJ9YIqy2lws39ycuXFOyRHtU4gjrDGgCrBxkQM6gCoMNGPTOsBrBqNwN8Pbre
GGbSuWYuuk1FJpjR3BZt3UmAblFzmKlLUFwLii7EjBygMyzCjNu5dwjw6LSCTF9NuYw7OtCjRQUZ
m5ohY8Pr9eiogkxMzpCi8kQ4ovFOfx7fVHkK9duvZJ1kNW+nGgagOuCAYaswGpGygSNZJ/jNA+6l
6qm/rgMNmAjJpZ6hlxuYON/b2+n7egtm9rcMCcH6QK6zTqhagD0AtitwXaxjoKMnwy5du8yODy/A
DixsNmDZBbYAWNcUvN92BMB+BQ7Vi1uPLABwYIAVgBXbrmtjYQE2AHhjFI1muAAHAOyqW1775plZ
vS1/TMIvEd/9yrbv368/vb9dXr5u9MhosdMKk0Iyv+ywY+EbuBmDL08zpK1PP7AdcAVWDxv4RCd2
B57+z3hxt0KntxE70BZAcyef/gOgzbbz6Z6c2kM7AL2dO0kVrzpo0wBtkUGbgne+CIOEt8TWOngD
iy9aaFpcpimne2i0tq6x7ltojbeutq1nB0RndQ/AN8RlB1hcxWmCThNImkd1u769Vw9KSiZpNJLw
S91fagH3nwB0m2Vkd+DACZ2/oOsJur6zvgbrj5ojLdCwt2CkkRPR3b76BKPD0QQGffkDYAtm2CBy
+4LEXzCjKOx2BwbTwHAEcnUK9IU6kqtUZw8YDzqMRsRuhIBuchgL38DHIbRIcs/DgIwxArQfxVG3
L0j8BcedAERSyiXY0cTh5QsGv4Ymluz6O0BkQLo9mqpX6PIFmDEWaTxfDG7RAPDI0RCIc5YDKI6f
4ZdkhzUM2wE8IMNht0iyPGKHepQ6vC1vwfJi0GeBiBJEP2JkX1eMCLEy2R1cPX/iwCtUVfK6+C8q
LvVOXH683L5dvjQSU6fwLcCxb6LtzR1lcECj3iFOk6HBDXmPpCXXFSa6eu9adFYH1+OHXWk2cLC6
H3mXFmhYnhNpI8U6s3+Bx3KSpqP6yi1I1kfwdQMN1bs68LZpJ+q6kTO5O3B82ojVVT3UFnj8tryC
vJXrGxHp7EVbFedsxwcS1jd9rEVv+4h4JPNusJpJZ1aavWzkknSiq5N8tKxU8bjXxHeMJXLsKwqB
dPEIWUMUTfVaaIHR7UYhJRKdETKGKGibI7V7GhGTZhQyAsYQOdUpCjEs/Fs378Dmhy3uN8wZsHkN
TJCImUoU0gGRG6EoikIpRNQRsuMo1DDvbDs3oLe2sZTdL+7B4m5UJ7YtDk4u1aAT0AYNTk5CJLFH
bxqv7fHaBq8dMLTG0BZwwQhVjwnnNaW6RrnilHtSWeerZArDuHQzNClGyXOfTaWb7f2Dt9eny8O5
Vs3UrMCPPaFB1V7nRkFSrDc0CFv7vPdfGOFYkFyb7EzVeymtZlN67IFe0k7yBtxezVCzFg32oDa3
vd8LejVmh4IkWa7u87g/AbwBvTnBM627zv4VCjsEWXuzW1VBzaSKMBBrHOrOHjTeg6288T0cSkAF
bhiCWME9uAJVEbHuQAMCsqLjkt89AUABwo8ihxX+EQ0Lij0t++gHFyhdHdCIHRSA2zOhvv/9BvDt
myZ2avo4BK9AkDiS7x4gowDgUPrqC51XkPkA+IJSDB9QOAwXlKufsuijAXxBqDqcFnrMBMBrVwUC
O+yUCegFUX+hw88zQwa0qOt44oiawSmkrpiJ698keJFKczxV4VDu/5+3P1tyZUfOROFX+R/g57LA
GIhLtarUXW01mUrqVl/IljHJyEzWZpIpkrmGMut3P4EhAg4E3D1yV51jUuVeExAYHD775066Uqwh
XIGYodPlk0T4OvWoBRbhhBNQ1OQ40RQOkjqGjnkShIcq7qGMTMs1QdLjtS6Yc3M4xZhMqV50rfGU
YFLl8rv2HVCMbShJUbReNLEDVd0hcgXUa3LFHXYt3k7dgOA2gJm6HcjLTRfY2j5zgEqW2g3Clikd
t9/0EinZIhnthuGIQ3mHfesKKCos1APR0s4MLZg0llsCL4GiQgVpqPkMaCoS5QpsewWUZBPlS9SF
Q6lf2UPvH/fXwhrqsRwunwekYcLtOpLgW3p+6fHRpkphUvVoMvNTKzRhNg035HBd1l3oxsepnQOA
LhXRaeudS+LbBkuXTaMFvXPN7Nx+scTHyyzp9WgK2d9qjWKi5uHEwdU1A65x7sTXYZK1KxoT5JOj
hqMJ5svJUSSji7S3vrFzanSHwMotnzbEYICZqVe6WRitidE9Q2/2C3VldpXpDL0qKyZyuF7uj9vH
4XG9lZ4VLBsz5u/kxKXQQ6dS4tmcLVMMN7JYpFkt8q/X06VYncHfbAc67CziqLwBw9kYpi/0CVOP
tpS/xw6lpdjXozkLyZCGosE5RgfaiSCqgOEEuRkKQdw1RhNC1DjCrDFkRXAHikeDMtutdOkwAa1K
wURl2zo7Tpk1Bst0Xg6f2L+tVFm1Hk04eXpZfls3j4/avaAsW4NzzA70dGqljMbRtCFiNeUaMISI
70BPq8Uctc2bo55NaY2qbr15Qv/tu+LzlRY/Ux61fkmZ04Z3CRhb28JrbzoRDIYIadlFmj7vViz1
Nn4bb/fSm+4YH5qr/NDlFTnGCQlSoRseWMc4QN1AGYmO8WCDTOrgCu/Xo4mbARngQ+vTNE/rFeF8
dZxh1LvS57c6c9oydqQ0cJzXE2aRr1Uwx4mDvqckmePiBn3pM684imPMcpj0r9qjCTnoSEen41wK
sFyhuXOakfe64AV949womjGlISkaNEMdnCyFsCtVyG4dmFvH5TrSDes1VdVXFZyV868jo1phhqGj
TKsF7wLXlhXoO6a7Ak9gnsFQir7oKZOaB9yYFoCCTMwzSOYYh7JBSu1+6nDOGLfgsKLyeTi5Ad0N
/B2QtVUK9KIc8EuUxBnqspK4RUike0FVXU1rF27HGbqwO0C/TnLt6F6WVgv2+zT2y3QGfUlHffsa
euIaKmiMoT0DcQ+9ogxXHvhlugdTrkG3ZyDWUKOQ2/ZJUixhwPDg8xokvYbS0YY9CeI2QUtJMTTf
tGRmGFCEDkDRhBOiq9wIpsFViAcB2wE1ou0dgfIYP1/WWyrTPkJLHCHaYxc8SWoHJe5DiyV8YY5Q
IFWb8wS0B6qCypG6zdUoOsQak4I7oDi7Ku9ANBYgaTIeMFisYgbqMQpWPFLCUXclZEpzD2T1rOoN
hjZTMBRKPLniGnTjJVFkUDFV26ZDQriAHkBtOjSUNxJ26LBtdkh/3RQgI8q2WRml5VnKh71QEXUD
HXeHkqHkwXH8TNDcQDnJrcFQbl3Yz6pvM9QvzFNAobfyAoj4D+grFlIPTFtNo07AYi16dfRwrD3T
h32ZMK05niU18dY0p8vKEsavEtwaL82M4QpFvDONVwLHwV35aVmPJt+IlooyRDRe0hpH9wWoi1oP
JihTDhi2wTKaoEoc1iHvm/q4ZPZNx+ZkRwkozan9sgpQNa6cGu0ozq7xAux4cORz1lxsTRbKiSwD
MHYdar6+Fw/RMonknSjyisvFWa4maShL7iqisEwKfJdzmn3gV3fr0UQOe2fYbxP51J3GkGvTaK5c
bRBUSY7lk6qHjioetlxF1eCoJHzLFUQNPdZhYTk9ogKg6zHs5kw21No1VWlpmYKVTjJLp4uRhrJQ
xzSWTp0bVQdnmWoV2JPAIsdGlB8OhqrzsVwZ1WCZS6MLfbquLn6ooh4MVoDCwK5zAQNVYm4IkiE9
HnF4q2ok7Vw18E1+fz3sz2MD5YQtVnNVqV5JnQpXTeLoClB7WI8m3pUzVC2VwsVcHK0RsPxlMFHc
6voSqd+sR1OHBmrPTQljw8DsxeFVmwCx/jjxrJzFGg4to4naSFe2qpGrY6OlgCsI04/O8t1kFJ6J
IX49j5eXB8wjMyyOnzalqgtvxXyRnGvFGNyknIcTOp+xqFvDkPgrcXTpICwigYbFTtQQjrk2EQwL
ualNiTVeOHXmxRNqvqkQYCH6iwcY//PHo7hIGmwlpOJoAIajKzAc84XG+YgTAAQkHz6y9QQEE40T
ZDCfEIPp1xNIegJV4vnY9RbodCSdgZR8UMrJ5haoCTKIlD/P1hYUvYWcT+Uz/my/3gJzjQBQyXpE
p+YhUhPI8hrbExCoSlqvziATpwBkuQE6RRDQLYIXy8LgZayCTEKKdYmC/DpXFFl3t1kNp/cuOxyA
aAN4EuwO1K33zpkPQqOKqOBzUMS6e8tCAjKLHX+Cl/F7jT4445jSMSKIqV/nCUmGuOIEVWjE1RNw
zkCLtrdfJqCDM9bgXgvJ3FKcoMNwdJcJ6LCz1agAl8wLi+PFKuSaL3o6vuV2vXpR3DBfY9YPRP5j
mIDDioS5QkPlTMsTECiXg0AhH+ctKHqCAc8eyRNQZ1CV+jVWIOkVWLSgIo8n8CMHUy7ArM9Q0jso
CkqQE6Cqrjs8fSdPQO3AFZeITEDVCQo8iTifIXUEGk8JzHRIbaErV2CgTFXgXSmeN0sCnEHxMlU2
Oz/G0eu0crg0HM84spIBj1QTEMwxONfhoSFFI5kr2+MOVEWDEStb5UrYeiyV9rRutF5chKSMaYlD
RYWhhD0qHe4lUhvAGiSuU4VPU6RHABqGsdR3KzxGB/rfiK+/vd1S3UL4PeyHI1gr2RLdzQXrHrAG
1fP86C8cMJw1eC9XwfSyieM1tfovHMynrRvVydV4Zv9m1SpwuRgAT+9/s2EzqM49j2cWI4nDlBsO
Q2Ga6zRewM1waN2iG9D+NOLLlvGoejmPV/R4hzbnSeMlPX7dOisfhYZHoXG8+TATDFqvdqL5kxAd
1uNI0P0ehKDOIAIME4MV2mcnL5saL8ryL1eO1/THe4J6NA62HwdXmZCyOjFclAopMMdWHKqIofma
dKrmKoZSux2oBUcVCR8sSfJiKMSuOoHNZC6//unpr+PhMcsVCbiZXJgZrrpap5Ba6jSarKOxQPWX
pY9QLpywJ4YLBCkmjbakxglASqoCrDScLOKxUOcuqVcuXFgSw1WBZQCMjnzuxHCHKuz54Kmv25W2
vfo6cW8gbT7AWZnG0VFfHzCInXztlhjeYSZrPnmK6LCCg0w1hKFTYboA5iEZ4Rs/zg03pKkLLMVA
NbYxnGh20AnM0MzXbohr1wh+SKY5ausGMdPzpVMEbzHsDskoXXF4AX0yNO6cOvWy3G7NKSTNI13B
pobGaOrQB8w7kYdTT7WEywCRPckom3F4eWm5PkYCA0TiypHXOB00qFyR0SdxKR9HCsxDLPE2PnGk
auHCx4HTtqPYazRSkkxHI+eAd2GoXgHd0Mg5aTGPtWT6NzlXW4dQigO1XWa9F7eQXdnQqXhMguSg
cSkdBgKdvz4QH6/IQTaGE2vvesRvn0f3xMc7LIcDnBxxDSDgEjCIWp83xOJdCaOsWp/viM8rZvmC
/rzCMn/yxVObL6Fqm4sn6Eag2TuSsdbi4tGkpzzcEV8XWJaCZHpLxa9XmXqtzRN7B5lLVXMAsHdi
8xBwVrdujvRpuq7DnA7589TwKnGqtXlLDB+Yiyc9Fg4G+oYWwyAdLv0wYN4fyTREi4sXqzezjKcE
RQ8TDAs/sgS+BYlbnOHrqtmTIQ780q/kmP/V+3h7/Pzd/beXj7fxtn86Q+FGo/gEbacEd5KQ0MJo
ogWY7DDAw/nLRAuwCrjV1mOJpmc4WqRkEJvicIPB2qXhRAswAIlXawNxx8R3AURlBcaWBhMN5gAO
XFX9Jxm8ojjcFtXuANFdBgiHFV297u9/+n75c6KugqIMeTcQtlCv7sbQh9thJf1pLEVPQmJYxvNg
2j1gS5oSq+EURSkMIy5/mzI4egSZJo0m6KIr6LEiZUO+XlFBqgyNRVOWsSkhDEqS0muS+rY/f4x/
ei5oSdPdua10Zf2xKjfIlUFIUKcXmoqpergjPu2wZD65oXBFujKbQ7ZWLonhRW1bRY4ao4k4tGcW
PhBjy5il1PVY6q4sknoxb5i4KFinPlSeDr5aRjqB9czOww0xXJWl/q3h1IGjJWzz8I7YeVnEKIC6
wUQSonHWYw13Je4Xj6oGmmAucd92HNls/JRWLNcvf9X+UiYPOPVyHZZJNA8mzrQv4fnkUA8mXkBP
UbEkH0CvMMSINJbgNn3VQNyu9kuMLWvFqkcrSWbR61XOWEEGDPUNWCK5JFlcJKMO9dn48ooVGZ3u
f55/XYkRi20xfEcrrBlRGksZYrrHGg7OgwnzXZcWcHUxFqPDONZgdRFpLGH7gi6JHqRT2dWiibGg
vY1onRZh+IGOcq5s4C2Z8GKkpmaGZxqtWnylWXYS/zW1zro4pjwfRd6LclgZXRpLEQRoALoKQoXB
xKWqHjeL44epW+3KVZt6MPF+QLNGudYJaI+uWtXILG5M9fVfPi6Hx+ma0yhjsRDh0DIWe41cSy/X
zsPwI1PdyF/ir0nfjoSNbr1SqYsWv364YlRaBXBMywpSRcJ3hrGmxCyQxWAyDihhX+U1dEhaOVlo
ryBScnX6y8aJ4QBueFh9nMs9UNJhyc3zuRGDYXlJiT+ZN04MB1jFZaMdRdpJ8dOaWPcXxZQUKVCQ
VKX/ZFolvl5X33f1cBpFTBkMgivfuCPOzVEEIxitXsmBWTyNHKUsppbnrxPDZY8ly+S9E6hTuseU
wUA0dBa7cRjw1zyYIpmBeuWCI3YlsDKETLDU0qsqhqFBcdTXNblzmkeYCmXLNZ45wZmNwBJn840T
O4eQ5CW0k9pQQadURe268XXisWjUhs3nTn29Gi4ab41iFA7DU1cbig+V7jBA9Lx3IltaY+AoeTT1
cbmCa1xUAw1UA83m6fTSIZ485c0hPOzfg94/fRGzUIwTIH62xxzxisT6iJ8WWHqOIoFl4uBmXlNa
d9bwgNK+f38//yxO1au9ZII/hAGoWWlU9cmIDgDdCEq3rYc7Mj+805iHJQ8nstO7Hum/qJbqeMJS
AT2QV9w06u2kvgxiUn7rSjZOjtDeIeRGLQLnxRMept5gkbi8eGLvMJBXM0S+UtxZhxnQefEE1fRo
VUkeTpx8b7G07TycsLl6h4Bu5HsjbJ2hsuFbFE9gE3QOawyvNiA6uF4yz5XOOugV1vo6750gOgA4
UpVkgMUTJroTzMUZcvUQmaGrxPD8ecK74Mp8lfVw2oMC23ab5pOhKmSrexONnRP+CTdgrYXza6fu
LXM6L5BNi+iIr1cdx5uMkpIRtry2obF3YjiAAgk02+J0FJ9FC17yeyUgNbqyWfua0/UUzQ0w1aWv
lK/560TlVmeYByeognaFoUIp1ps2wBQf26L2nuaShmFzhry0GrjGte6cWD1MzlKtz/cUwQ8wT8W1
Nk/cuCihtORq6XRmVt9hXv98cIRch9A3GhlOiEYIINPkM4bkM84w/L2nvj6UqE5SNU6Okm0CSWbM
Syd0CgC8M9dPAG1bt7Ttw/58LpRtTShtQaPXaHOBNJxOnrYC6wachvekMdJ3SDZS/jiR0mDLRhxi
NRyVIXHrDklZz0snTLheYRUiee3EuduqN8FqOLHvvmrtY+uxdJmBqUpjVhunjV7Q5bK9ckvVd/Sw
u45cMTJNqB1x8WhjonznxOJh9+O15NZ03k/fI7Ul+dMEwWiDtJTKx0Ys3HZYCb5i8GTjpQ1IY9G8
dIJiNNY3Jo8myFUPWPeTfOPE0mHT9r5FMIqkN9ivfC294rkTGVe2hI9QuvFYqHPvkZ45mccQ5w5b
oFlk68TaQT/XQDOuQTPUW+mwKrR56xRnL8ti+sadE6OrLvGycWcUxQyEi4tI0IkLR4vn8plT40GL
eh8+Vaaxc+LODFo0mYcTTMagzccywRGPBbTrqdJwFIM7HSmm9C02lQli8bZkM6KxduLjdmAeek8K
ZNizbm3XJJoj7t2WFaPSNS6O+LzRWL+//HlCLFqLJTnnrxP3Dlq2zX5HoGrKlqq5yvJSZKJW9FdY
ws0lyXQIqzGQCkVml8XBPaGHSzJ3xEqsuGH+Lu2VrJrZyXo44RyyBsvYU1SeVxyrVlZTHSMg5I6S
hLKBZRnGkWZFSNVnKWHZEU+Q0+yUxvoeKryCPoZT1ihbC/ErQN6KW7/UuLxVnLSVBil3V3jOTRyo
8MtCqyjjSNuSk3HgF9F49PAwmDpKg3u0uVpIM6CvlSvBtOtCqHyXEixf8qFpIZE2CIopoo95vhgw
Xf42kdKqZIenkczjiUwMCBtSO03omuYwHCKvuNZwOg1/kHhgnS5Ej8Mt1koBnB2xetA7Y/UglvFE
4pI0WDOFPH4gzh5tT5+HE6uvO04VuyeBwEDXj5XqOH+YSIeAQCICuTUisxh0lukrhX8hGYLgO4Gn
Q9B19HE4d+h09cZg+Dsjvg7wgeqEhPnjRB750GNt1hQDmBE/3vGchkq04x6rIvOeAMwPtnXq653C
GgYqBu0jfl1hIEOKgZ2IX7fMtdOZoRBgqvarz5snGEXXYV1XwNkR772r6gBkYzxRcgQ66w0tuqEz
DTtDU51Ai8Xj8KrRpGiMJ8onhg08lli8EASPnYdTmYqKfzPUzckKPR1q51y83CikDQGPtOd0qZQV
6dR0bocxGFQHm9NiStBEeNhcUkaFDAg5I5eVUOPouSp1nBraYTAKdPK7XtfBJ91z+Pqb/WOcYbgG
kIE++CzHjvKqWGEtAswTB/fk4L4q2u7L0cKRoyEQVakIxtEDPVpiHpk4WtIrN60ASxz8xYUTJcpN
4z+iVXwHVbXSW5aGkzq+gxpTqWjm4dTXDTOc5MBOlJ1ypW58nRqusQzQfHTUcMcPJ44O2jcqc8A0
XAz19b6Mj3//t3/+H9eP27244ulfktXWVnYlenJ1x3485VewUgj89c2fF8TnS8cc4EPg88TyRQkp
Blzh4PvE8kGxeVW/BL5PrF+goA/zeEnvf1jFKsFFS9W+6L+Mh+vlWF61VDSWx6AcyvPn8ZRoHRTI
FXCrq5ZMBuKgXIflP87jJT2+yiVTreVT43WZDSZa66e2LzAXK/g+dfy29tuAm7b1Rc/VfP6PK09y
/Pf/RDYK0Q50W/GNQsrVWuKywvA+t0rxGpXtGsMVMXwom4QM9XBJLz73WfEeYusaX5fE13OrGk+z
g6mHK3LxThWLN7IxnPi6k0WLFgu016iRGFqdcUiUJwxWjmYnAguThNGSVimcwWJ7ceGWXnjFygqF
ROgGJ1u0vr/kf8U8IiMwELl5PP2IYQ2yXos7zTERPWDKL/g+Nd5w42kebMoq8VLjnL9PnJ/usTS7
eTzNhHUJpS5LLibqS57E1P1x+zg8Enr78iHunvuBYtaCu2aQru6TM7Sth9O33PdYLuTA1MrF4QrL
hRyYQr843GClzQNTMxaHOywfcWBqJOPwss+jVMUNq9UV31GNRHFRgB4ClbjVThXnZemdRFrEzcNJ
+6aHcDpi9RgV58jv+wHzc4DvU9svnUSq9Xlq+VW786H1eer01Kq7UGmA0oIKpLAA43f+umrTyR9O
l4/HWNGJ4owUkGDVUL2U4owUjTXJAZ+nhkssl3EeTyv5GoXQBd+nxgssoRFsnxpvkHI6MJw6/X4V
OoY8XzYk+x+uF9BrMv0zhmsqQZknaTzBNpUizBMhOZGhJFY2MI+n+abCkHHn4TTXVhbxW4Lh1ObR
yjgwnlq9qcFNwRXrtXHyb6e3llmiOccGjEh0K+HE4YC5zmHxkDSc8Ql1lFdGs04dgYVT8nDKoSWx
oHXeO3F0IIbnGUplU3Hgb66KxkA4mmgbdLRtgKZRxNG0m7VucOWq0bSHF8Cfh+DzUFgWfdtH8hvQ
cjD9O4aBWLHSbeEb6jkOYCWp9vUcC7AaK9oC6ye+DxsVNWybnuMhlvLvpM9Ty+9I06LnWJCt4JlX
BEp708s+dKJyxXe0I78XLeqeXTu2QWGeAf7tehn/9Pw8aTalJ85yWx0EljU3j2dcaT3pirKsJ3DA
ao7m8TSlg0pot7ppaTlCGxSGxwyWT3niHEVp0nIPbZCrSrnSyUK7SQZDqIPT0dFuEtjSILtB51di
m26SipOx92s0dcCCPSAYk2x4KVj6NBIDCZjH0/RlDEXfgn1fZm3DrtdP7V9RrmrBErhxTdTsWePu
27bRyh2mes6CHEoLVJYvQfWcCQnS8AIjsKvxtAk59JQ+pnrOgK9z2brW+qn9G9IC7zkPwFAhC/Wt
71Prz+rsXN8OL3pAjOCVdaQGzind27J7erXTgfWJ53iAp06rV+PpeEKf2377CjctWt+n1p+94qF5
WLcaT4cEetD83XdOV631U/s3RfN4Y1rrp74PWr+LqH2XMmOgHfOy9GC4gusbTIWt/eOGO2aTr9lr
7ENlRxrumIwuycysxtNkZroydiJW4+lrNrIMW4nW94nxeijb2+vW/qnvl2TWy9Z46vxN+cxcHfyh
VQtbZrnbQg11DW7yh9P5fLq3wsFcekbfayxJbB5P804AKxwSttbjadnTK0p2SS7Bo+8Nt37Geysx
YDiwf2p8md5SK9Fcjkffu2aW28yRmre9FhyO0aW0cFjnl3m8oscPGAbLPJ7UpbQoHFvNr+OalJaC
igMpx2jCWlTNd23r+8TqZYehJYPvU6e3sqlLqUE7XQbK7/31n3RHyxyFFNfGT2v602VizCoxjh7d
90jXtziY3jUOHRDtK/rTsOdbgWwbXmXXclY3YhLTP+QkbU4y0G6l0PjxtKS1paR2ZjWekbQ5QyO4
A/vVeEbSDqWk7Vvfp8bbUiG0rf0T421XaBrt8yPO34I0C5PTLNJ4g+XTNJzWhmMCFWxzeVOGYwGS
ZKCG49+qwiNSja8TDFBVqECtxVNb7zAAr3xy1OIV5egyHPdXZrV3+JhFW21uvmfBZhIOdbNHSI6C
ixEKjXXrAZ+nEgnRVpXg+9R4VdTVV+muUrB5nA7rKwu+Tx2foWKcUnAxUtiTyZU5/1Fxprm+LbFH
igiBWvMCJKuODUSbHuvnNDDw1WG47SgiYePApgTbqJURjsRMQeHrtdMXZByV6coGka0g4kdf2BC8
qRpSlR414RqcoJEN7dgQUFkBUvkNHZu1JKkgrmMzdwQG8TmPZwJQVa+/YTWeieD0WEU9WD+VOlTB
NXat71Prtyu3a6n5CVrz0y1wjzk+iiQu/cvH+fx/xn2ZnqYFK9QlJdQ1l2WlpaFCGFqwdkmFD9m1
xlN2lcPQLcH+qfGaihBoLkFPgw7Fw4pSNJegp2EvYdWQFoKOwfQDIWwnu4rJ2TeUcaPoWPbQxFua
Ny7Xoson1zUSLSTH7W2JWVIJCy05fl+5ouRqOC0prcaQLsDyKVFZAf2o1vep5QMAub5o+gO+T63f
ceunBZZd62NQJbENbrSO/1hWpEtSH7GsUBclGpNcjadvCWDlteInljtlAOvTr3UKyybmDVRim2W1
uQ6DcwLjqby6EiHRlElTXeOK29Km4/KWQBn4OjNDd1zSFazjXucP6o7NuhJk1lXHJT51VUfA5nhq
+1UXjOb6qfEdhpgBxlPnJ1d5XyXLp/WSoYJ0LCL+DY7fYPds8uNgKdWLTV4cejIhhU2oGDDc4oHp
9RGHayr1ks3cHNDecHnxhCpTYtjWhjubyuNaDt55tME8FFjUxrBRlw5Dw5jH01Ef22OoCPN4Oupi
HRl1MWzUg8yhlFxTmxnJLcEyNLZPB23sUMCwuNbXqeGmTOEszdAeczoi2bI9J957RTjhv/SceOy7
liu8HE6Ix75SDrp6OK1b9GRpbs+pFhBrcc30e1b/G/B0wC89p5eA4vrg9qzjNh2di9hLQslXuqEY
rJ0Visvo7R3WOg8Mp6pPHMUJlGbLT3qsz+o8nineGcjcH83m7ohSK5Ct8VTukMQ6moHxVO7PWqsA
tzwgOaPFHQ+s838o3QTlHQ+caAMdSBsh6oF1/pPFggNnpOuO8IYNnIdFWcrDMLBxD0elEA6cf0Wv
mzpDf2MrjNjU7UXH6U5yoLKuO07xkxZBA5yH04qf7LG+PuDz1PiqqN62xlO7N2TOe8epX9Jh7TbA
eKpupmu6HGcmIJspN40SNl7L7KkwnuKUXN1JrNEu+D7xnDpDpoFwOrruBPGYFWch6K502NXMlrNv
dKcwlKR5PM1IO93MyM2uZbo+YBClN6qqX+loAxD4wsLoojJetrKBV5JCsgpP1fWu1oxZbQ/CvLp1
OharbFbN/uxqOK0tAnDbBrgIqy2qEhHdtYYTm1eKH04tvgTBUbV/oKf9yR3SNyEOpqtwh2bcdl45
loCM2p9sHq61ZdpIZT+yecx2KBNUzWo8nfZiQYKqwr5Prb8v84BV6/vUeFUkePZd6/vU+l2ZYDu0
vk+dnykTXEsLVLaKcZtoQZJ1FHSko0CyjgJROh3Vajyt3ltFmQeSayDbmyq9svl9av8lQrFofZ5Y
vhkon6OUrKNCrjr/ljEqBldLN3jKLC1bnukmgEPHCQ1VZW1UCQ0dy7YroSNW4+ltQlTzhg3ZsVKn
J+MXHcv4VxGA9fKp7ZtSZqvW56nK/HXXG2ilIPlRbUNFcJxbOwpRSgiOc+vMOb3rwA2r8TTn1rZM
eLSr8bTk0qZMGDSt9VP716XkcK31U/vvywqW5vlR6welEYPHlqq1DDrmPQyN0oIcMKej1rDri64d
WgJBqWuAQLAgbZpGYWBB5pSjMnBYiDzSZSFYiDqNdksFu6c+r0voHt1aPgUiMZAJPCzCn1YrpwmU
G6atTTZ8l2xiKOyuOqyKRxSbVNs5yjuk2LRY0ZHmMJuVKwThdlFsYqvQSPsHsHrKmqZ8RorNZxZV
pX1dpCRocxZ65nvY5TxoNrqZYY/ZG5oTcaAJR9WufB7PmKWCzMvVnIQHTUvWsC5ScwpG3X3EtZZP
bV9iDavA8qntG6TPGPg8tfyuThktvSa0bepcKTVUJXNozBDX1Se/kJkGRKSxZilBaKqstHjmWNQz
oq16orjtyoJVYFjrJWq/v92hn0Z/4fKiRN18DRKU/sKlFQmDo0PqL1xOlwD5x8ARBYaTxCSsxHN4
9RcuI03AFOA6YEP3iopbr3T11teJg7dqlQ8HLjSpMJM0K66T1VdAfZpXXQpzXn9h1RXRo/qG/sJq
K6A0r85WZvsWD0p2qAhje6sPqi4rNPVwWtORpQiqKJFVVOr0WwEZk8Z6IEWOkB1Q3nrVuuQIhAKu
sgLvRaCzkCPUtlZBRoLlChZ33uovguUKRGGA/iLYl6VXINjFmRiCS5Yww3oAr0qBM1BfWIeRqbLE
4CZC8wZLNZmZ2/a2/DVqQfwkHDYqO1y8V0GXE/DuJo1XMyu21UoPmhOFr8vG5omv62FVS7waronF
SxxGIwzXpKtMV1kxpnn2xPKVKHdvG98nrl73RSLEUI+mbw50OfA0oHRj9Ypcfd6+v8b1BGRzpR50
GPLnoFrLpyinY4Zr8uva4iCi83CK8AAASg0gMxMe5SXtGMILvVOICXQ+vJDm3TWeHbF80MvMB6DW
hxfavlB335en3zcuj6Bc0CnH055WjeVTwwHpmtbwIEUpppe5lg+BNYmHOn0CQkItCiF1/z3eYSS/
PWoDttyAaV4gNYErL1A1LtASNwAOsK+0iZn+Cc5p0E5L8AApsZP3v6pCV2yLrl5W5NvifYak/4F/
fxTvy6fvf9lkndTygdxwLbkRlk8RcOY/AdVHNfkPxf9EKTxaYp8gH9UVx6e7xvsjhmuH42fn909d
nyqfD2w/IoH6JvF2plGGlhIY3oPE25nGoa5kAUPuSdp//ePH29N4mztD9UmljL+crIT411/+8Ls/
fv1f//T7f//tsuI+tZRFdd4OIFRUNQ0901J2GmuhEb4eqomhA/NZRYxdu1PmgwpNfNNp/HH/x+Ic
aKNGlDAMAEYijSVMKSFLTKzVWMIxI4DhUBYw9lQX5ThWlZEQkJ3bk03IBikckuwfBhp8ILQ4y+rp
MLInRmoMmjmMdMRI04IhTEckF+r/p/9oUL8kGgEPUjoErDoN1cTQAXFZ9FQH1jjUYj6DNFYSY/sV
Ojg4DDEfxtr+7hklOj4tgbXW7hnrLQ7XpZPa1cNJ+7uDefqlFtwzUjAOR33EPdUROo41WJZ9z+jP
cfi6QAHcip1v5c9/+svv/u13/+u3X3/3x3/53R9/92//p7gdS64QdMnrV/RmSWYLMavLcFwaS+zM
VY29VmMJcoBtAWWB7OXHmoVR//a//xN+KoZ8SqrDwPLTWOIFK0U9Q0M+QyVqnPhyKMFzAJDNkPtf
LXyQ+GgFQVZzUIrPdeRIis0J4oAntZ4YqbA+lz3QqXpKpwpUZCufoAArkMyzhtXLNT8jFLI4tsci
Zmks8eJgD6iaSwuwd8GtwSApkWkodWx6tfVlCQYsIQZZO2IRg8QCDsvonhhdQKAVt5cGG2Iw6tBd
RhO3P1ShDr0eTdzhUB6g6tajieMfBFY3v4y2xGhbJ6ksd6ez6q+zsot3OI3/zMsv8qC7UnLDg9ap
qQK1XYA5Et69qcdL+qpcmUAmWsOpz1us/h8sn5JUBovoge9T43skaxsMpwT0sEL6AxNQFqfVA1Z9
1kerBXebWYOiRqexlhhrMcTsNFYRY1UZ4ejqsZoYW8UXVD1WEmNlUfRaLZka2JX+lb7+aE+M7VuO
5UQaa3292SquT9ErQqnQq8pz8Bmz/szj+i+nH+Ox+ERQtfCXEm3OEj/aFjQTZ1DMDH2Rua5tPQP+
1uP4obC2jVyvQDAz5AxGL9sG094DNYPFQCOXGTQzgysBkvviwmTrwqrK6X7JdOgIe11XLQjKlaZg
JDHeSKwwLY+XhBZoFRJdB58n1E8jsPw2MJ5wOsAOEHLF2ON4RSjOfYc1tAfHT4zXHQYokcZrVDLE
7w9Ighz4PLF9XebXudbuCa4CYOCqVkvg8gdivMWqEsHtEY4fY7Aup2D9HfH9vuwE1KIeRRhcEEhO
IMcviNs3HYaOBr5P3b7gqU8S37cdhhoNqI/Yf99v2D9BP9ohgLFg+cT127L9yfr4FPN48viGUiop
SROFKr98QVB/1X1l/foU/fleYmgy/ZInRt0eqByvijXB7VO8z2GltuD7lKOjx2pVwfkRrxf26O0w
7kHsXw/86yPPb2DWLxjyQfF4wP1Tr09hWezg+RDnZ3qee3bE89Nmg+wiVAfX0aJfM+Rvmc/77ROf
txJJDgfDidM3A8N8/OkRr1+voRnX3ye2D3snobdHMD9Yg1G7r5bvE6qD1Qz3kagLI36/VPxsi/gp
5qNrL+n67RNfNwqrQAG7J07PVnDhorLIqUQoW2czeDCFqN2rr//ycTk8TtfL19+Mz6fLyf8yafQq
FhygZqiBnS/BixA+ZPTPt3H/mKyDPP+fnv46Hh5zmYG3iz3HQk/cQdDeokXEPNQQWbQOdhp3IKdZ
RVepJcdqpGNiGjx8EfRw16Z0sHBq27bdIy6N7on8W1e0qpTlYCJWFoYOPTo0rHrAEkbCaDeQq7b0
qmW7rdv8aWJorZFW9+zI72pEIM3fteRFAXFSmHJp9EDstyIQt/4uteUBvygqrTAMrnSgRYZD0qZO
bCD37InEECTWoQ+DTop3EEcRRrfBkyI2XZsNakWcxJch50W23BPrlm2gqDSa5mEGf1R0AYMroBsh
HGEmEmKw0uRjpgebHud+nsJI+jKCvCm8Mim+SEGyMEffsyFvStALdwSJUema8bwNN5hgQxUelzSr
y6LOGynXnDdND1b0ZQ30ZVl0NBE6dhDYs3VYPckJtCF5J/2mlKLF1ECLC0fzEVpUOcNyIUecmWp3
iwHskxI4zLcpLawjX6SiOYlpe3vyTVOSiiZOese2IxmgP21LnLYglDD6SUHI3Po9xi1TeqfE70lw
OpimxRxNnRaXzpHlU7dMq1GCvmYnSWlDX3ON4mhW1ElxP0JPF5xkV478sqCUGdVGbMv2ASXkFMF0
SVEB4ZiLwE0Yaohxou11BPdLcc3K51TZUtT9aJLV05/VmhZtNEVLejCtb/aOpCtaidG2DdORXzGx
aVv2LtENCUXJc1ppxB2rruiPs2KYtLY5DE1kjOi96AjXRV82GV3uiNL0wkjp0JFUNZ4pempD/6H/
pCQ/KVSZim/ASE0M68vyPw2G4ct0fbv9qiKEQDxSg+6PQhQzBeBvtU4Ki8sUSMP1Jfb0JZqiKLUD
A6mixGmTDj/TnhwJKpIK/6uia/FM0SWhUDsjOpAiCMCii6WPBzRWCJwA7tKQnwRVjytSNeT5wHqT
QvXBXClxpfgWJf0au6IyRhTjCGJ1A/6KqXrSaYOiXY2rCGEU96jQk6FqSKc99ijlaPphaZQHKPpU
CU5lCapR+KsyRKXlNBLnHZbe4oDyDvoddwI9GyFpCsfXaoiFglK8AZTi+e854mAsvkxDS5sBvwxF
b1DjIwXNqTqckyt6tQYd6eh7zIsN5DeUGgDFyQndwZAsQAr0gDQtIg3KO0iaK5oJJDIICtLv3t7P
49t4eexj8Oe0f7lc74/TIeNAaZ/kJ7/+RnwxVJGNgh1G4ab0NJQqUlEdmuQa2u/Qg4VtD1bsVzUy
MOipv5Edxm8C8BKA9YWeFPdl2q38gqfUSlfhXcHN6gAJKb6QtVAKYD41UsdCjt+0/o6aQa3wRMDi
qZ4fQ7Pzt/vi/LKJgUOHoSqFK6aoyjVHhrWSn+zbcETuiw1HTNyQKWskyoEEFhhItvbGm+vyA7A0
KQ5NUkz3YYkvqmZdW1oqcTggL72oqgfET2x0sBhoWkHDmqDAsvufHNbfJ7Y9IO0hVWAXxL5Vp7C3
I+KXydFCtakYrJp4+UPf7HgjIroVSZKDbJf8gA/3xKa7NojuRF2a5DRdX/Zo7NafpRatm92NEnFS
LDI/+RBcVa5OpfbXRBZeqAoWUKxECnXNPcVyqI5KttmCOb1jQpqAGsoiowoctCOuqSzpqdh5T3y2
auHU+CzF09t80pMVQYxCYD2vCt5BSfyh/YbT66f4rKTEFyUShjbDW94udUxq1TgdvD5qtRWXzWl6
hUZGnRQofnLg/cZPK+LTDisxXNgk9VmJCXvRTdKM1cxk1Uu8a5MIsX4pmn3Z0kVTkk0UHUcrtY56
+mU72mogpTR0bTU0Kg0Ul+pwoMrpfAKvwg9orav70f9+OR2ux1ibn379VYsumgJ9rMjWJHQt9NO7
XAbVf2E7dtt2KCR9lcbbBb7yAN0twFjfvJ4Ya0DjntC1W8/PpI9V5JLeb/aVB7J1xZfpsSAa65MO
bA/OivtuL5HTCggPljzpKnIkV/slxoJofYAjUeXbdFQxmAE9jkDL6nxWBCAzyGMJlW5dfcPUZ3Pk
KbBENfOz/GVixyBzx5s/ToCT1txJ21byYR8zG5ih7STnvOSBWHIOhsy9rcFT0uRBu3bEKz9Das35
Mfiom1kdsyPW7ErCklBoSC/ucKimeMt5AmhS9BG+gnqGkDzCj9VZ98TovrnuPkYlmTvWzRq2xAAY
dtmOleV7Iu4YZA5CVC/wHDrinLuy+qCrF01xra4J0pMXbQnCFE2oiMS1KIouCQPUyy+UJWjK6rGc
7ZnnUeLFNtMaMpOn6EPgbzHcE3FcsOE0wDfIR62JE8vXFPCbZPGUKF6ZB4asMGVMcUvUNwesqiIc
sqUPWTdzCzLDoySaLJnlUI+lFm3KsSvGQYwFKT6y7H80b5gSaaqsIBsK/e2rFG6bzhbapwOMxrmZ
Lq+zhZHAjw3Q6zmVLX40D/WUUskKul89rNPvRHCmFPRNKE9hPEAV9CmXym180PHjba8/x/DjefXN
oCGntcWxtgQnMNu0tnjYQxk7khu1trjhElFhrTwp4qTbSA6clIqLlq3YPKezxc9mAglN2OQ2phvP
WbfAijl1Lw4dytD+Rn0vjnUteGxO3YsX1DUxfjndOI4F0BPedOptt01ZjFfUNwEzOGUxju3KOzLb
lMV4v4CeRVukk7iezgwrUMstGl/8uCvAsJXdZrbFWy7fg+y3aXxxrKQpBE9zmvYr2m+J1tniZ1XJ
78wGvSuek8DAh3m9Ky66nWPD2dbx4/kVey2q19s0zUiZGuHStNoVv1vlWtltalf8riqha/QG3Sl+
VJYCXG3UneIpVxDbcpvuFFdsSnzbbpvuFMc6mr1T+7XtRBhOdYr7Lfm7LDWnybzZpjkFN5qWZb+W
Td6u6IDrm15hTnUKY0FTRG+tu36b6hTGgh4vOiKa622KU9wvCBv2BRw5rTjFT5um355TfuKW2557
TvmJi87f9aqM3ar8xEW3g1ic8hPGGlVijw3b5HL8bvbuhh7oSslt+k/8Muh37P/Xb1Ni4lGbwgVe
KECKG6ubcQNOi4lrBhkVXkcV2/SQeMWqXLPbpofENWea/ozTKq65L2/YbeDYccHtrAZOh4gLFiA8
WrlCFRW+NpCmPBi66repPXE0OCffb2vYZvfEJStquwyndM0ACWdCxO+6ZpoDqzPFDeegX7AS+w1e
kHi5YKD/tTJym/YRR3clPqbboG/FgYAYbYF8x+tbkedYnMkahigNxOIM6qneZnPFe+qaQMCcxhW/
bFqRfk7hip8dgDDM6c2cWhzJcmiySVbniied30MAZnefsF/iBH0zwMkpbZFORDN1jVPa4liNPGRa
a4sXBaLRZUsxWmuLG870Nfdxg2qbkhvVtoBxNwwlPr3YoraFkU6X7bTcNrUtfjWPFSpws40+Lz/a
FLh8nv86t01xC6O7jMgfQo1249nHT+fj8k7LYSNfiB+uxrptUiMeWG594MPKbqPCGC9qKJtBq20K
Y1xzbpsgAiOUYqPKGIbL3DnBAAxGTmWMR5233PaKUtcE8StDIHvYpjLGTWf6El1wrMptSmO8Kln0
/jZim9IYx4Lz6loK2EDs2ZRn7bYpjXHHoLMGaM3DKY1xzaokzY1KY1yzLvuMm08w/0hggAmZjPpK
KoBxx4BCdBjdbVMA47rznkMgXG7TWeNzdCVdu20KYBxrykavapsCGO8pj/UWle03KoBxw7YkTLlB
u4/nbMoblhtUuDiwIo3PhCojaajirPRWAz0OluVgt01rjQedScsrZGumRywatKlZZe8QKlz8LnFH
mJIejxog5Ybdmo1O0UiTeTR0wbDaXzznrlQ/um3KW9yvwwUEobzFLQucWRLKW7wjUYuHjfp9PK6+
3LGpnG5bU8yCA683SACODVfadgXlpnhln8d6O8m6T8Qb+wF3sXKObAfapgrIdTeEDK1BXaxcFKx3
WN+6DRFDpPpvU8TQVeVY9hMRw140m91tChk6EAhTPhj2ibifRWJ3G8J+towXyO4TcT83MJ576qja
LvRNkTubv+s9QdZ9InIH6tBUD51XG6Ln1jabUW4K2oFq9jKlZUPQzlbxoOETQTsrEGa1JWoHapNX
eXxkQMgJKi5DR796VbZ87LbG+1xXtNmVn473DWib4g1pGXWpsvpMTAgCCHStzFRi1c6iTJYL+PWy
CJ+vCYsiyjwWuq23xfwg0kJ5WBvj50NVVdx/ImjYazxdgQsa9j1O2FzU0JlCOkj3iaQQq8rvqlQ+
+6/jy/RP7xks1VdI+Gv/VzLltMaVsks9Sahi+Vf5RREAioMGgJVlKRkYTuQHGwSYqhhPZFRq04Zv
L8YTKXdatQGoy/EdsYES7WnBMSsmIJIjNYKtU4wn7k+X+YagQsXffpiASt1V7dYVxdeJzEEA7lM2
h1w+TpEe2ngijSYTPK3BUmET2ZPfrqGj5frb1Mptm2p9haz++q/Eqo1uf7c4cCLHWw/MrskzMwiq
0TKaGouAi4Hzpkb3baiu8p1RE6gmn0knTt20odYtyT1b2W6OUayaqCQwHXPexNOCIK9l6+C0bmps
vyrJCTLi+/i0vx1eT99iXdVjvD92p8v7x2N3vx2a03nDfu6RIYrOY4f7ffe+fxl3t4/zuDvc9vdX
fIY5TVbD7NzzdX+cu/WEpaQ/2KU1YiGYXsDauJxR3ppjd/94mkZfP26HcXf5OJ93b6e3MXQLwmcH
jd5yKvXb/nRpz0RsPsznhlYl37fTcbxOp7/Ll0IsSYI47pLo99f9t/39cDu9P3Yft/Pu9Hzbv/Gr
ccXuUnLDYX94HXfjj/fTbTzCQyMm6lclnfkWTpdfdrfxXBz/0/h8nf5suiCC1ORCKDKEJPPNnt5e
aDKdMynnc1Z57GP/NBHp0/7wy8vt+nGhFmDyAnKmTJjk+PF+Ph32j4nk05buxGL6Yp5ku+TDeb2N
z8QqRN5KznTcH6/TVe8fj9vp6WNaxv3x8zzd1uV6HDkqCrPqfEDAbR7WFEjnPj6IDbm8ofwq4pJO
l2lPn1+PyXzFq1Ep7zasx3OX09v79UatyJZXBYb/eDvH1dxfx2lTP7BjBpfklreAHPPT9fhz2zHn
kxI+gCe6dH2JJY1v74+f8cR3x+sbscFMBSBnJGwwLGYLPRtAzz51JC7l9HKZnuJ0U4l9nJ538Vee
dY4X/1qoOXXeYBZr8aEdt70yWzzzFICfD+j76fG6+7iMF++SPXreRqxFli8FnFHaGy3a8lZAvmoY
fg3dIXbH/WNPjM+CbfbzBWExvl1vP8OI+MvduzfOPqYzv5/ePs4B4ghjrcaCtMpQwq7mqujD9fIY
L4/n0/kxLp3uns7Xwy+7/fP0R9PRTYLpPl6OE4/6r49pG5ghKWDCbE6Q25/P1++7t/F42k+0efjw
eEzoFCANPB5EH4+PXNDu8TpedvE7H5fwT/E1qiK5Pt3O2/V4ev65zIeRR5igB+nIfoYUSoYr9D1G
JjZx3O2PQXNALzxseSitb7tpus/sGRTmgNyUODZyDv5egPM5zCHh5X6WUCB+Yoa4gXNNO6VPDcJ+
Dss9wlObBrxfL/cxntRxvPzkiaPylGkw6WX8Nt7wkc0yotZy8CmawHlwCvZQpG3l57em+BT5lC6t
pHfEsfSpgOqKkJLpPkHamy4M1BUBbxtOBRt5RFVy5LayoG1EpnEuuZFUIHhhdq3CKT7FgQAoKciZ
w8lm29WYco2pGfukhanwz+8f714Xu3t9Zbd/P2GiywGjIBBR5F4fMbq6ezodT5OyeL+evRb9vr/d
UfvCARsvt/UsJ0rz7F/3N1yaOmA7Rc0l6ZmH6zn1Dz7sL5MhhR1OD2ggaowpzBQm2D2nblK7w/Vt
sqS99eT1RXy2fNReN0spBk/XH7v766R5fifWoSpxa3VrHf5YJyrCp8l8J2iV82Ymbft+Cuu/nk9Q
jSNWBGRV8MSmTsVg7G5/8arz7TjeiHmAIhF2qWaV8scDHwRRSEO5tIpUexy/nSZzc3/cvz/CwOv7
eNvHmw6doydLftd18ssPhGQGLVpJwHCwIgY3C0Sut9MMbcl8u5nXCr4tqMGqCabz7TR+9+93YoXH
SbW+XCfz5vl50m49t7lMhxw8OV/QWYFDJKW5LeroMfRn28dx39Uh/Hc/ad0zx+gkGlbsQQGzDJrV
LK7g+A4N9PWgrk8GdSAFnovxQuDjQfFmkE7J3C/XL/H1g/EqLmI9XuHrB5kc+HiJrx+UJeL77xy+
f7vh/CW+ftttOD+Frx9kK8ig985eheL+LL5/tWH9wuDj5ZbzG/Dz6zeMlz2+f73h/ARBf92G7yt8
vN1Ev/j7tXD/MjDvxvrx8zN2y/7x72tX33/r/eD0D7KSktwxje/j9G/EFv6B05+V9fm36Ac/P5CG
EpuZ6sb5S/z9WLXh/HBI7x4U7BL8Q+PfFxv23+HjYbUxev4dvn+tt8gP/P2aLeM7/P3pLfyzw/kn
BNPQkQga4/H1a7Ph/XY4/Wronwl3MWcjPF8vj93zuH8El9f48JrGfRf/dH/wHvTLMXiwULUdFCYF
PO8ZKs17hr/tb6fg0T8uHWLxeYDyAnlc8Fg/3cb9L2FU/u1u//G47l735+fdL/vLfoc+f9hepFB/
wVzn63UyZ5fJ0KmAk8X4WzW6XmVa1s/3yai740sa2q6f1ZLeb9PR/RjxmWBzkCDopp+unutyvb3t
z7vJcnjQsxXexlCVp1MMF8w2abinw0R63nDYve1vv+DzaYiaEUuYFHf4O5SQYYOBGLkx2FYPkxY/
+hiZxE8O5Lp6J49LPrz1TjdMBkys0DzFiR5ZGU9kBdCRT6XV2BXwFwrRJUIR4fRTty9gwy5By4SQ
KuysRVbGPQDA0kXns3CnnxLbJfcGoH4RU4W0RjY5Wc63aN3RhAsxTELy1fSz/dT5OxCyLX7XO926
OghnEUrZp5+mzYhYauvg4YWcUY1Q7ulyH9/3N8/RCQ4CZI0JioOxsrm0md7wlSGOlAZj4ygEApbF
agojJbbNjZdQ+Bx1MOPXRxd2uungRNdW8ghGSTxUkGLq5ZRbs5D0HrYsDbbKmR8D9li3sHGgD2IM
rt6qxrea6dd6/5IdNMd5CV0BOL+NdxsYyy4NnwzEU4y3wYx17KkRImYA8so05VWgti1yWejaoh/Y
Q8PvE/r2g6/FYqTLSAXY5UZ4S2n6iRHaJsqFmnMocZ1+cioDvjqYwhyUGaEsozLgZwagqjoXQRBs
W8BwzE0oVr5UujL+mjrLSoOaZPHDB5h6KtRhujZ73MhwhWibQRTR4jsFIWITCr4Nz9Lw2XSts6mB
uQP8OXXQXeN/vZ5rtTKcCQHj1fhVGq2YleEsCHa+Qiyp1Q0QCjjQmWWoi+5IRYFaGFCxTBTv2MIY
FgQjxiEvYfrpKvf8+3jza/JZlefx8vJ4ja2vWn//bbw9Tofpu/vz6eWCJqiIDmRtAeFPfHI3zYpn
zHQgyS5HN3ygcEfN+e1t/2O3f7pfzx8PPHWqk+3V8tN/3zA5TBfrPjP52+myYXpdr71DT/r05n/e
T38jpnO/erX7H/isIF0pOqzUxlnx5N5OgI0DJ9aGS8Pn7NuHyc75Mj7+goZfPbDOkOkXwKZsogF8
tSDHLshyufVVvG6gK/CCs49tnv3teryP551CAXocAAYDGQwxgyyyl49L0gSO2CSiA51uZNAXk38q
zrM73XeTlL1/PL1P0wR/EOmUG0BjMxn07FS3kqa7TQrYCUlwCssB7XNC4maK6PvM512aY3+ZXlkQ
/qfLt72PaGOJYn5BADQKQL5dxrsPiKfDIk4HQAItRR0goj4d73k8PPADHgBMng49CxrHkRIEduf9
z+kPD6+nMz4f6EsWu8g5eO/T4P3Fp+7T5zyApm6BACJZjyF07Dc1Cc/LwXthz+MDDx8DhCgZyThe
1/3kOz7ulk0yHuGIrw3altnWGYFTf96fzz4Tgc6IH2DzqJxAtEz7QtFx1Q0tmf4rCny+Xd8mPWFS
Gd6m0Wj2zAC6dvlHlt4Yct7MtgCEmg5U1TwtT0SRoO74JsveTWlVeTlpzo/3o8/GmbabU6cjnRE3
CqYOrhSFkNj4Y/rEZY8/YNvsgrma5za+Xb9NtPF92vg4seRLSLii8/nDzQCksnCyCb8lsYbA/b69
7MbYwZRgXOAtBO9HyoVsLPQ+PmIq0bb77gHEZ06pjizx9fvu7v//9DjgEwBQtGmRQ0or+5iYxfn0
/u4T4H9OJD0d0uN6w1NFLEi28vtLGDmrJ/H6Hd+Ja6FKXp+f74fbOF5mdrxLmdUf9z1JYqoExoWc
ddpULF0gLqxEIpSKYMy362P/oKQoaH8YiLQg9uPt+j7PdBlfpmP6NpHB/nj6wMnSQtTfWTkIj9OT
+W6rOAWdawsDuKLu2/VKkTYsLAI6G9gXTntAXIWgckLtKegvlAVM27o9n4mpCuzJ8AMqB5t0gWb3
4PpIeWmVp/GsTTdFut8gznhVAVNYXEolwoHcw6W5hA+8LT7v4/tpjy8on63JqWn3iUDe94fT42e8
ok0XDiguUp+Db+Hpdnp5fUzq12SNnvdv755JExwDQhTn8ri0tbCmx21/uT9PljpBv7rYXCHK3/b3
XwId7kImI37EYFuBjfUDoxHgXLAn5Pf7zec0Pn7iNyXKJMRCqYllBElWMWIFNOa0s1R4/ZgILzzN
6TF9ULw334v1ZqLtdGsXW1Jnw1pcLVzSek7H99Pu15ki070D3hNKP4dkaXu24wlvZjm+oOh6PkeC
irNPLCFUTEWqjcm3hPwfANhykbABeX/B5nbT3o4jroBCqGoYuF7pEyE1HH9AUHkI3mzXpFv8akQB
x55kdkOruezfCJoH4gzm0zTFLXGjonjJiuEs+KkISPvIwS6Ml2RQgLeIBfMHnwufyBQ8fCVh47Nk
tAbgEoiQl3rNMGeO7tO3g5VwG6k3pErA536THUQqgabVMHZ1YoEdc9JhKASxKhY3rWrrW4MFz2st
KXOzlIA/6xr4fCXmc0IqDSeT7eL7PM2e5mKgmbEn1/b509Yn6P8KrE9kd7jkybP4Dc7MFLpmaKtw
AM0K8vNdFPb5jYRCmfF+mBSxPWlxmbK9xVavAb7BqiewJSyCpLric5UeDfbZUA9Gl1TufrUQw6XX
UGv4c8H0cbNePOgSJD1u+f56/TgfQ2HC6/7bWFxy8E4QhF81PjA0o8DPr2pNL4knRN7DUFqvZqmI
8Ww6Fuym3yyeE1+Y5wuIbpcxMu8TXjKg6oCUKD6wg0w81t0kcRCVNerxhflBYDsoF0nHmuf/Faqb
nxYiXgUfQVIwmstO7lJ/3J605n+DrxlkGgUNPIGgHn9O2sbpECcN2vv7/vGKTgOg10K/S5vSgjYf
bTQR8WXCXCGbdTXsaLlCLgAkmBodiC1nis8nAIhjqB01m+4oWcb8NcFqAxBDQPaPr9OVVeF6yymS
0jjMCsri3NJQaNl72PS30/30dDp7vSjqCvE1kZekShBRk/0aEXnniS6xA8iaWeHbQJH7y3F9R/jV
gPh7CEUkDZX/ED4lrGMHnkD/ohPFwMedvoBPJ9o5e/Mbr1fKsDmIZxkNnmETrW/ioQB+UkXgjvZp
Hq/jPcg8HwlOFHv+OZ+vv8H3WBGMn4psllTTRIuvu1nszD0BvLzBwfKW4N2f64qzunX8COo7b2GC
lkGetPrUduPpHH34CQnDV3m/+QrhVBx83Pk61PcdCiE4Q2AvHajTC8szBaiVGCjJda27UHSLTgpa
LcvAo6SsCmN3cK0hHSCW8SZ6xmaGzYmLdwCmiz6I3fUZqrXh76f/vu7vhEYV+lNkiDoQB6gONqil
5/3LxGjefRRlEv/T1vxNBoiSH4/dfDH4wauie7dYfSmKbUAqi7a/S/pi0BXp3WjQUzn3m23fA/jT
6+00sfX5KT5df6AX0oMPtGug11d9/4Yey9y/AmK3obPFRMVHOoPpgA7n/Q1/RmF6SJlBkTf1uQdN
aX84jGefPjfTjr/bcCPT+z/7ah70yIUGnwBmgg8hxM94Y2RaMjqD1S1UznqJN6/ht9aJrwxsHlrw
eWXjj8P5404coIGAn2KxE/IM9+uzh/h6eX3g23OtBuP5Yc3ABvObxUP9gcLBpqIx5Lg3+/i4XYKX
tHq0OE/oWisGX5gDg7vF4KSfZVfhrip8yfCGt7hqAm/J4Ik+rGnVthN5ft7AtvrWUSS7v5ZCy7T5
e5drsrRxwApdeiwUkHRAJFGx5kDsAjxDUFzdZiXH03MwlR+JRflYyf5xx+VQicdZv/D36RXFV0AQ
AYBRtdkVsMwREyvx0aohp9pskmK3QJ4G73xSBPMyIm8l1NPAFWwLl7VJcFtpWMH7C6kCunBkN7f6
OGHIbYFVAL4aE1FlvU4yvhqWlY89xKXMclx5izGzB52ihzuzHGWCP90/Hh6nMoSt8IQ1f60WXqvK
6eZNvQ7nUq5+QkN7lqyk0BOKrq291dQWfo0Tmy5hae12Cc4sT9bysV7ecX/7haBZAHjrCmu1wXDG
5/00lAghBjaTVwQaAWVKo3wkgeL7Ep5brJTlLd6WQPf5hYcOjbY+mcRADzjdA7Dz3B8SIXpPViFo
nbT5wJVxJRSQeyyU6VoMOdwewY9LMPVZ7eJe5RxiBRmu+EJVm92yH5kE7Lh/eOkZf4V/AWif0dNI
beNwu97vz/tZM8fpEDzcEJ8wpn64QdjhTwMA7dus1m/QSDYraRJwq5wB1rZkFxVzs0XbA9YA8tFZ
ixaXvPlAvEDo9SbW+okVQxEwAE95i77wWXRpjtkmv/b5Ifiz75vPCiwj6flzRkY0j6IaDXG5ouFV
GL/bAiUiJ6njGgqUF8HQWyKRNQXipl8HBIjM3k6cxTFsDRAdzOXaYNrwevzQan3QkAy4ROhbDgxK
PcPFlGkZ/aVSlQQmzmAAvSdDlzj9oChSmb8i1x6snU3NKV9Oz8mJJXE+mp+TiZjPeqOD6dKwVzfc
six54idUpeP144lQYgWQZIHzqm6bJEuBqAj1SHqWRO1Zoi7UKy/n2RM0iUnuaOY+iZ0tAx6V/w0e
TWJAOBV3jF5aOWUFfrhZlHl7Q5ltRxv86J429ifcA9YbREGodu75E75V0bYvasGQ0mhw2VD2IVnr
p/D8Z8fuRgOyA2uE2VSokcwJ7LzW6Qh7VvzTvH3YrgxznHjurRrIJWeugBkYPqeAlZGLwiguseST
bnI7mtohSrGKFx9YC4mZ5G24bI+A9ptgHibiK1JB8XxuOWeE4e74iszaIZPfQ5QMT5N4xh+VK1Rk
+alH/w3XfXQPXKQwvZGQOilE+SulDrBBctC35g1EGqNIKBGk2ugHLjpjrI3ASRBoUjHxtPZbJ23v
525/fn/d41qGgHfkqkle97cj4/wGjXza2/pU5D5QMXj9ufkkLnYkfkrDdveFB1j+uJ0C32RsR9Gm
vvptHK/HF0JFHODrEm1xQye5hOM3rQZUG50QcZ0+MM3o7YCveEmpVtTGkKttOtkZfsncApC0MiKl
Iy8AX5Us2jnJrqGll7SGu0CBZg0Rjz8TovBa3vKPcF4EeF/uJ9A+ysXiA39Ni865/XxtVtI3Nf8C
v6y+UA7kJzTr1CKD1qy7+kXyttsiBvAXqloaDStifoV4MYzpumgnRFaeSEiDi8mY+zKQShjnKNWD
XiVUBJ+tf52x4Dw43XbB6+YfD8w3x4E4QMJO1KcSHGSeC499hAlEq2MDGE4ee8gZgjmMoVLC1HOw
udphHlthNM4gDOBY8ABKmKHqpNCvx/+N3MnQaroKxi8mBlk+E6bqi56zMl72gh5KFhc516y08x//
fvMVFfNbDhgnVGGtA5XTwIES8EYDWGiY5IyDhMK2Bd7gTMIhtCjIn/c5Nb4Icta67vjOQD1M1kna
qKhMRr0DxSPeUEnaw6wdBRiIy+OVxANwoJK/Xy78l6BB1qp096PbPb2940dtWvj24KTma8NncOXh
GOJwNgDFgjpLT1AqQR14GJuPKIu/Xye19O45DDEPqH8GDRe9Z3dOL1u0q4AR9kgJ22gTOAG6uBXw
xnmeMmczZxvtuq5Dp9UAyAYmfORpD6fbYZLib/tbTGJCAWFE3crLLJueIy4p8vrxuEp0FgewbwKX
HOxqHn/8Y9oiPlHGfSnu8jztZGS0Wz++t612XvlgOLdbuDWA5hJzKOpbI2PkYQpwqp5Xi2GoF3I9
/3yZNAGf+H89HvGZLJgpyHqXT9YLz0kHfL7tXzw3+h0+zQAoEbqr8oJuIX1nxE8WIgcFoWUJUhH4
DYN5imYqyJsAN0Y/iqFGNpLlQaVucO/TXI8rXnobTgusEVZpVu8fvzQIYwXSBvJ4Ot017CeTEHBp
1bsJRUEeyg/ha2E3YDVB8e0l8jgpvh3uDmBShXCmFW2yxqmoq7CiZlynzLoY9T0wLbCO+MPW1OyF
9G08RxAFIsU+LApwrwiLB97Y+ePtdPHZbbTREuYB0FJeLdJDcx7qrhzoiDnNYOtXOp6nX95xygUt
UBP8d99+XdTxasAAQ9Swswj3WrCtPi6nByEHh/atr3kHS4GAv4fgYN8WffgB9a0uphjzAcSI4vCH
E3MIrFotkbfIH9CxMyjnwyf4I75E0GtVBg2ux0Q0VXMQ7gDcZghR9XIlS5aqu+fJnvglSu4/k4Jb
lIJbElKOMPQCvwM7DfqEcwi1ccoIeAfeYlIdINuU4XA+0RAKYW990Zd4pa1tieeEZ6Q4sZKobGF8
rKICW+gGrmq79pQb2AboxJorlcBZhUYN+/NcQkMfmSv6hYsWH8WyOsPVwc65InRRXdGAF52H6/tP
fBIgOGGpZT6cWERL0rVBEC03cRxC3YF8DKTxw3lDR7n3gMiVGjTThw7aDQenIaazTkrH38bbFadT
sLbgBepqIUQk04YJIOShacn3eSlMxlmYDPLmUHXYYewKv0VACSERqkMsrk3ai1p1T175KnKjFNJr
AcA/gn6ecqi85Zv+/VK4thFiRTYgL/h6v5C1DuqwC4Dn8UfE0fMNkP1KTG+cQIIwfgmiaYeXUdFp
F9d3HOBCQHjIIUO6hGMNTo5Jmhxi4zp0EoBnBVu8Ts8qHSt+FKBOPm4hkdz+cXjdHU/fTt7d+HPX
4d8urmH2z308+ULH8W+nuTBx8df7G4fONnxi26py3wAm7AcriPAFcE4Xd/M9ep690wWfBEKWQe+F
92P5S56WMV82fsMArEl1AbCzyzf8dr1cgy6DD+/LuzWA0PFrdS2EvZfx8c/pbQXk2dnrwrCmQKai
5bR8hM5G4UbxZzqUb0Tke4ipuIEU8DemVAs0IQFygpRDNK8xLAJAtMBc3gW8jtIkw/6Hdmum+MRf
7wQZyzVWYTy3iG11mAwl/PRU1wYpnDQLD1M93m5XAg4ToJDGX1JsTuHTmNblt6fBJ7EtHlXTAX4Q
TW7wt+v1LfKX8Q0fOrQc3PWXNT6+RF2dccTDzd9envCbV803kznQfXo5BPcBOJ7QjTWTfuCjHBzy
IMEiQmusRPng3uzEHC0+gWw1mI1NnIOOmiokk+p8/Xhg/qbAmABsbAAKlNkDzlEzgKRsZ9rl7H4m
TAFwdGXwoaYeTpkmiBdZgbjYFFOg+YcE77hfjPl0lfEx42PBmZkMCnUlwNsAmh1M0vWfOz1P4pMs
X5d9a/Ak9K74G+uakZbI55JSxgQ1Bula6N/1M8W5lNJoXA2Frw9LH1qMKYpG/IDBGWVDGT5NfJ9w
neFFxSd1enuhFwrhYRfzYBWOyvr49ET3hEYOe40DHI0Cq73HQ1CuwEZyq8jaNP4Zj/F1LcTIZsv0
p/0dwRgILxmwty60UEs3MXq1d+ImsSn8jzS62Jz88qNp9kgtmm4tMFbI4QkZrUBgqHw+ebQesU+L
bL6BcnI42A7YWODtgmkD8MPmgH7YsKtWCt3zYEq/0frElENPu+1zKs5LI4O1sOVVNfasDLrqbG/n
HDo4VuPnBeNmGUaw+LDTz9iygb+mbk2SRvcWPWzQZgFo1OU9W+zLynJE4iT64YE7bK2w8wLuu8A7
1xQydOiOhSsPW7cOGxutgYdu0cDLx9yjb1mWr6L54T36YUDZWaIVZ93je1YciYgOu2Wly/coVWPd
Cl02SyJCdtiXgXc8u0PLx4yyES2qeEJj2R36mjU4MLekPFbP4oC+C8fdlRA4gcLcBI1cFnpkSpWX
1Vg4KqsUCJm2edgkHNHzNppj26JHBUbPC0mBUols5XLAwUeJ8k7DPQyJSnbpeNmMHxfkf4ikcqho
18DR374pNexRGTlw5zVpJCgTs8WTXKt5uDIjwbMI8GANXtCh3HODZO9wPQoEabDRBiVOVUibBnEa
VFKB9BGEg3Xoa1Q9p76hkllCttveb4+OBa2iQEyyfMgSZwMD9yp69EUNHFUbVF8FSQiIHqMFqk6U
bG89dHAoYSkYs2kLx16iQh1kdGDSsTPot/UGjtvh3wZhVdNWOtE3oUBMFpEU6FVpLZjjRikTKquI
JqIUKtw0+xRxm0R3pcbZYrgov3Uc/xA9qrppkEQCfJUlYaOsvhFzW92TQbUYwb1kgwr0nhfoBnuP
WvalUG4wL1RMdKXK2NiwFrjKKLgPC+NQsu7YwR2uoevKKmkx3Q5VOGHuDKJwGtQG1KpnNWXhUE4w
cM/K4kfmWKnc9ygDAxHusOz1aNnjuoguFfz1iWn0QdtKgWoRN/phwTLtI+qgAN6gNudE9TYJ7jhU
p6gGA0P9EyBDAoR+KjUGF5GOdTH0KImAzEmMNlFvkAa9SVHCxtdtHD8aNUoM7wLrcdsVZNBjfFvg
Ph3L+rEGjMSUlJywcigrgKTd3rPVqL9RsUQicS0MmnHtVSuMjYihLxhY45YlqgYBbxDiJrCoaQDT
rHSTAw34FUtbHHVLH0E/rNkrHlCbRHas88xalGMDT1LbeaZxu0Io1qJBB8uBdREIjXuzO9ai0fiX
ballNzaN2iUdZ2sLgWq7hvff9wbnP4ZzQeGONwlzjbu2YSHRdfeau2aFmgea5bkD+pKl5igEZ9cS
mBYAS7v4MKqwStavMaDOGCVYt67QuJiQvF2CO8KBBYhIRzRWIjUrKCbKxtfdcbtWHaoGDWUefEuw
olcFEjyRN4XqMQp2IBftD+OOM6nY87I9ynRt8ZZbloXFlezK7dY8MJQ++44Vy6gFqS3rhUI9Ohqw
bMQ9imoDVWipoYco3JIC1if2pIxBz1rxgTxUVAhu2QonL1gj0dZEJhsOpxBe0uDmkLIsv3cCD17y
7jOFe1Y6PijWD3g8Tm4QsKjBbi1rsFv824Y1D3BdWYKgLewhD0kF1Uigj6NrMyLToW4dy1ivAn2U
QL4GIW8bDkeU53emPK2WlwF/lJa3IRVqTQ2WcY6gpoUEsj0IjAaFONy52ys2uq6PqH+jVCsarFei
AkOqMuLRCKgJVNOuHX+tyCcqYQEfck3SdKicEqU11XqNqEqhHM+EUNpUhvOja4k7d0GNTU5mLo4a
tQHlwO7YoRaRhsEWJGqKSqpKyMlWogzKu6xivaQd7iUwHR9yRSPFPZtOMODhR16yC9xXqRyraluU
+bmO0zs1yoIqA6Ex1qG6sthgXHRHVMDZDXEL3J/NMr/JLEIVEi4GKVEfFogFoqtG6Uty+WNC4IoQ
PK+uSSEaDboa1vK1qMIrQToAStjoUfeWpRHUCa+l5jQojS/bsqqIQ22LXvMxW9zo1pKTrQM+WCrW
jYU6RwT/pDTqSJeVqrw+7CN6Xk6xEXI0x0b1ite+cA/+wGZuOHyw4F8zqiirgfUZTvIVZX+uYwP7
uDmnu55jfxZlBo43YDvUd6fKlKaGQjKgihDIAEOpBHeHO8F7ZnArkn3QA3rPooh+Nl4zHoHsJHvJ
Hco6Nev5QyWN7FnRrFFDzLFyBvej245X3tCDVobPa8RTKjdksyuHPyjDJX9MC8d1P8tuG43aSl5v
RB0zUlQpUY0Po/ZB13P2Abpm/jlpPFwCgVx8edJaMqNpIxJkC6PpUHh+NVR2EUmDL7tO5lx/ukc1
9IF1kjo0NVsI1kmKlnhowws4gRslls/dQFOidMf5RQR6XnpDKicaItId7+pENWUtyjzBlgaF+lRE
VQbUcjaiq7Zsgo5BjRI+oCZQJ7zuuITwASVNaThd1eCykY+rC4ueFowuIUwTPS6tOi7dDk1El3DL
7VWjdUudYnkXmmSsJZ9K3uGyUZV5kbaVeIHKVb3BTsfLJDSnqPaobwJkbSDOr0k7xw0DPnAq8QBk
X6QxtAxmdNngwFxbyPQKF1E8w5boe3Qd6xFGbUdr2PwvjcdZpOQjeXgAUrKqPRpxkHz8UWjc8y/4
2kvU76Y1Hx4SqNVrWD84+iSlguhdTQ2qR2UFqLwMoaGWho4bYdqyPAxdNSjKQ9Jk0CoxKTXHClBZ
IZ1hUzlxd7SuSglbmVQo65SsSYInhauuUlbXW0Z9OdI6zveFFl5qweXQH/Hkasc67Axqdg5cNnmP
xnY6vgzQor4rzSdeaNwRI80G5yguZdgseLSSWcLUVdP23OP+EFg42TbyBR5dhgmCiObWo8dtek75
Qv32EuQCYFIGLVfQin2MqD9YdT1bfoi+J8d7wDuUsg1brYAGpqXm9U2Fk+bA1+I5PMhbLruRLCc0
nkIq2HIYgfrAleVjeKhzU7I58D3qTRnY5OYB5/WSLx/CIx0avkckTIKGam3PEolGFaCOzZ5H60Kk
4ytrFZ5SNLDmEJosJx1L2XjWrBx4FiTxZfds4aRDvecdG9xBy7wksGawom/UjwNdbm3qkqhMr2yK
hsYncCnD+o+MQaMras0F/PAfCywMD+wiAB6aJayxtm4QoGWsLprZNG2qERntXNmwS28EdvHLtrbo
3toItDh0y6D3HgqQovAt97LRZmwLvIAfLRRoJ9a1I0RthSh8G/Zrar+utt3tTxu01u7blnPbx+GP
DDTMRMEz2tAuYdOwGR5iJVjsyAbQRhhjo+0K8vBp0OgVrQHAvqxUcdNmcxps+HLRwRpJfdM4oZhm
x2feehYAQdVSqAz4yo1utMLagNHiPw36gmNJnSiBSo4doBu2hmMHCLhL3K9iGULbbg9vEvS9DPTZ
b8Z3iU9atvpQbwB4CaNlVy592IzwEl+HKY5cbUZ4CR8HvAyJJHT4sYmuGNxvjRvHwY6/MYHf2FB2
UTQbERo8pRnL7Fmicgf2cMdyV4jThmILSbbWEh9d7VltLcOKN205hjJ0KEfQHIGjVzV0kuUmqHIy
AOJGWL9BF637os9pU695QvUaW0hatRnjJT7poeC+ZmukKyonzZ6APEKMX/bQcc/ZaFza9YxWZFAx
a9jvDuiSh1Y/VB5cJny24vqbsxIEAG210RZu+afRD/f8Q0aKQKMGaTl9qEdZkHUlWcut5adh8MCo
Qxp9x5K9JwScJhB1RVtyMzhNPC/ABhBfHoJOE5+j4NV94uMdp8UZ9NC043hQ36M05jgisaga1nNa
r8IFRc+rBIQuJHpWzFiCTMoOrm4juI0AYOiWKK7p8SepS27QcpkIXIfTHW/gGJzx8qqQwr/dV1aG
24pwE7+tOerW6MNcWgkQ4sbhimvP0llPvGnDnbjG7VGt2HXjRCpEaVvprSA1kVJK5VNshJQVAGKZ
UD4RkJpI4dUDGbai1AjQKWHm/m5jXlkQOiVLaDwtjb5qzTqJBMr43SAYNnjElSHoFWvTl0QXDQgk
RL67zVkK0ZwECqBsZ5R0kuDApUHotoLcRCIpleaWRoVKHeDZ6j+FcRPtk8r+77eC3MTRkmNjGMpN
lPG8C1UQYgvwEyxxW6O21cCpkg7lCIDAsdAG+l3bFd9t6VSSUOisLN+H3RqBj69LlAdmt2LdhG8b
w+hzFjdUBo4XDbhl1rFmMKpWLa1W8PMaUJV/qCxZtRmhNfrGHKu5W3zP1cPajDkTVFjFOsYszoug
iEcirB0uaKXlPES4S2/puoCLOwQ5JtKnKFlZtxE6RoDGJPaT0DHxsjjVHeeBA1D7ffWzUhvhX+KH
K/5pNiO4RKnTcVJn6HB3dSU45Eb8FwG6rRF8v8PvWVQute2lpVHoqCK60HBAKFSnAp/Gsk4Fzsi0
5jQMVEUYHBsdELg/r+tYOhGC0BEU5wdAIEgFaDpFOIssoT5Lzfn0UGscvKygp+huI/yMAK2OKJcz
rhe5nhut0GWzobMOFxuy8vr2m4GV4kWzXgSFE5lk94yhyMSLtpykFoJwNmmWpTiUwgfHRgwxHJl4
2x3nG8SAZCIbHrjXiX7bAa81+mmDR7GABm2bgHyWWLd0JTO0W1FoBOg/ZFH0aYW690TPiz1DiD1Z
qv5uc5pOVDN4GdCh8Q3JZBJgSDRx4ZXdYbdC0USHlWIdEajArhUNtRmMJqrCrC8XQaMRoPsmemYS
FR+D6Ng9CzR1o/bRbceSjlzBcXqGQ10ZAysEFB4fBiF9RGQKfDAQ120vG6qALz1WLdXfBudF4F19
ClRGgLZrOH1qg7slu1KT1ZtBZaLM7RnXokATqsTcPJyyO4iAJ9y2+BSsTCQU9llaVBM2nBtZo8xE
DaU6aTbCygRJPbCOMiR5OPr4+HCDISSHYA0mBFgmPi3HuZwk6jYCgTxMQzE4lW3In7A9LucVF+lA
sycGVTmw7VZwmeArY7mgxE8bBqk7hHsP+InxFioCxx9tTMkmEzg8OAQdGRiRH1AVoy8YuN2KLxMZ
SsdG8zTuOeo6VmB2eJ6N0NyFHfEjs7x5LPFPV3kUZjPITFSsOo7GHZ4aAC1FJKVB4Xam7Vn132nc
FWJ6Vn50BLWIgbU2FSG9HKtfWZSvAOcqUrRscIYmLJe7J4mog2HDxj1u9jiWrwyo2QOFl/tUyXOk
FceqOT0aYyq8MA0yQ4XPoLmkLI3atoYJbGmUCw6KDX4iWDORsGX5ovvNYDPxpCstw2xGm4nvgk2T
74hrForjRkdcUbCS0WVxu3roDZ9liXMDUScsmm2IM0HkCc6qlrjLzPBhcjzSUmV3NiF2CFdCX71o
sbUpiwAtrmdv8rC1Ei76yySnYzg0WOIcmxGLujcB00dyQCyulUEXI1b8R9g7MBXjU5A18VmyHiuB
JmNMS+cddQq/rQ2VHAJfuWbdugJVEhy4bOTCeryGRGvWU2fw6oKuSvccNsLeBAVBsNJOEUK+d1wI
1eBZO1WgXG9tzhleteUCvwjyTaQyUdodejMEVjRbhrLESm7tDBrFXlkwpDbC3wjQwp3IrkW1BMd5
uyQekTMDb7EQgl6wEWch8VA5yMbAypwM4bsXrCrZoy4YUNGGdlsi4kRGcpkRFv20ZfNce0VQKJ8o
JXA7T5WZJNJtxMAJeqxkbSWDSy7BObExCJzotnJcPQbSODc6KMsQqtwMghO/rVm1zuJiTwycqaUJ
y3qo/G1uI5ZNIHHJiuuOEABScdmmKDMDmRGIYobWxA3Q74Rkn6MUCpR3hBNqQheFqzbtRBSclUFJ
3Y6z4EngQz+whaZoWoQ2rE2s8UwSmMg3YIFbXLnhs28UfmROcPWHaLlRz1ZJWdxTJju+nI3w+aiB
1UQlMdxwSdxoCfegKgIVWzFtgu+kirMMWzFtwoPuWbWoxw8cCh2kigZ1gThOk0TJc3BsAeAR17wt
n/3S4YqgZOt60TD1IDs+FYOgr16zwTjUcz44tqIDTTZyXGnDgIZN4Wc/AywTWGfHvQmsHWPkBZJz
9w+EOd0ZNg9PExIWptc6BM8Bj1M71pbXaBBRa8bdjwbDBqs5v7PC1U87cK451Gk9GA6DwqE6hVNs
JR2qrRveE2rwB8UqJAbXHDsWsAONoA2OryLBk8E6HtMAAZeJGq9c6ct+fBNcxtkvy59XZ9f1rJj2
xiE2vE7Dli09EhncO8G9LR+0RUdL7tPeqYmNNnYDAAe+b6vYLEKfYYUN16wq6mM76J11DPrHJPaw
fWvHjJ2EAHriA2vNG2LTUvOkZvEjV92GShpssGDFvRTovlXHUZrHOEBPXHHrxm+r0+zz6vHrUlz+
ocS/DOu1kB6RPb7nga1JkQ4/MD7G3hMsCXpkkfPW+MqB4EV0cO9URbkKh8vjJRFKowNLo/hlq55j
SN4oR3ftuNu26Lr73nL3pQ3+5Z6Tgg4/sU5yfhtfMIBeFluBj9Nox5b1iQEdLHteocUZihNsfpev
6UYPnGWjEpcAiqPvHpf2Q1nS3cTaxxm4ZpctCPqG1l5b2h9RVuj6jhPWrieENe/IINiRMJzMxFkC
UO18epxqJ4ehbJSncINfl2KVM5+rhJ6Z3YC3gA+XrM3WS0KvZNnCET81y0aOe4l/OQ+eduBa7lyU
wHnwKD3gHIU1AgyuKfTsVfuoL0rgfMKpT4BE2ULPoynhL1uyVc4Cl1yCf9gewg+lFMG/L/zGFOs4
w3lp71gtBbd8esFiI0lc8mk+WGIHwmxSbFSuJ/gCSL+0rffliBfCAhD0+OCOreNXOBc3gndU4pfF
VlQq/LJgZjPSbIoQuTyonMY5IRA+3hHV8t6j+o3i44g4/1ZschnOEDp2rMUP2xkuK9mXH6F6mePc
Z0eJc6JhAws+4o/SscEtwjqWRcB6aGE9oILH8ShtBDMxvOTBjWun3AbMW0JFYYWHwl+H5uGRcXPN
KT7Q7vHS0OtmqbwnnHaD5XJO8Tfi9AZNg3ABsWZqj3OVgc+hweUtX+OtcX9GbwceJwMXAILVR3HR
M7C2uSY0O5CdjGgZjmALbKW0wrlhx4oAh3PDjq/RNgRbEHzSPn7erFc4QBig3+b5uDE4R1K8Oosf
uWQdlb4sHj1zzedkoxTOB3LxI3fGMDlLvm4Xlbo8KhVOo5lQfJhQN5G40NPmq8Yc/jKd5UEBcalr
+aIxg+tXknWlC8Kv7IxmxIcHkkEFAAuwJwmXtiofZyP4YQkbmRf3OA/XrEva4rpCz2o5A+GR5nkC
7vBzfM1xgNdHqZR9XQqnUs1uGz8y4FVuglU4nP13bkM5J77lWrFTbWgTdLjgrwu/bK03MJVn/Los
D2Qz4lycBX7QhE/CcohxCmfEfLGGJPQUcOTBxyqbOKXo4+QvDOcpghW5Ao+9O8UG7hUuf8yG3D58
3ZJ/I7jkk2w3BYfTSZ2t4Jr5GqgEEJxC63Og0APf4OgklDtTsuImogCu1EqW0AjJ17FlWLijsu8N
r2sQcUlWBhicSnvNqdMWd+a4jldocTHAZkIFGBv0rtnoecgMQi+b9eZr/HUCr4hty01ccCrW7lL4
gWs23tTjgwcWiVIRPii+kU9P0GhVPIB0tkHF5gbzBfeIGBbMDBf4vbMcsqLET7yWH+0uWahiyRvZ
DtcWnOU9rTg3YwWfJlhKtyHFER3MatM9EQkeWG3aESljYkO0CVcWJKvWHgnr3rJ+WoX7RBpGxP/d
yFU68EB0IQPe97f7uPvrx/1xev65O1wvj/HyQOeYEw29mS68uR7meDqeduN5fKNGzkI7eAzDj3hr
z+fxx9P1Rxjif73bn08vl939cRsfh1fsLMxgWwLtNr7vT5fH7vY4T1s5f7xdsAksIhFv1/t9t/9x
uu/u06/P56f9DV0DiFPIaB7G43ib/tHpfLqMaS/UofqlQETAwatmy8HsrrfjiC7ACtvSAMPALRca
pmhGxdKl7K7fxtvz+fp9t/94XNE5gIMytjMf+ryQeARv+x/4VVYY8mD777fr+3h7/Nx5Kj1dXvBt
ZInps2N0nCN+e/90n0jhMe4Or6czqioYELtXodVvXoY/AvTTsHOeWQocEyXi5Gdao95v4/N4u43H
3ffT8fF6R4cDR7g3lLXLiz09xre41eX68GPrWikDmX5v4zTDxB6+3/bvu6f9xGCmP8XpGIJThh+R
DvaX6+Xn2/Xjvns6Xw+/7N7G28t0G7f9HX/f4HnKnLCz3MZEULeX0+UeCHN3P/0NXxVwqIajio9k
IqvD9C7200L8aOKkVcvX5RcSDjrNs3sdTy+vj+nc95cXfC2yaficLuGw/ZzoSNWMcwX2sAuURr0O
oMjK4J2WM3Ff94/ddIynY/y83xK+BEAs4dfZwv/+svDviW18Ddf0x123+yMmDnJPlCAKPO1ZBVlP
nqMj5jB5juCzl4VM+YpzzzB89kT64SGGqYZieJQg9+Vk7oijrIOV+Hohfrfez7QbnJV2sCVa2JJf
kwRM/Xi6jYfH6XrBx0swfggdOQqO/vVlvIy3/WPiMCi5dbDLZNhO+NE42t30K+J4HX0iXkiHt5y4
DD4T0DrioaiusZiJz79fJ7n9vj9Mkvd2/bgcicX19JSRlV5Oj9P+jM8yu7zCLMFucC0inv5v5hP3
19vp8gs+owJbTeSd7z8yvd3l6pWb8/6dOLOl7j4sbSg3GI+96wQxHOwMPvZiZ4Ij5wWeLpORXa2i
J1ah8E2EVZxu98cOFUod7ICsZ0xypdt3RO9EmXoponUg3DRC0+/q++3kWfnXSZ0fv07P4nE67M9f
z/uf96/Xj8fXpM7dvz7frm9fH9f36X9fn66Px/WNeD6OPsUgyOZvRYUNn8yCGw3+Yt0jJM/Teofz
uubrIaZS9SWX0iS9HPpuIKUEnVyXlJJ06nQHkdE8jY/v4zi9yfFl/zh9I5iYBRwnxBe0Xd9CkMgE
V3b1Ck1LyIjN/GZBWMqrqulx0vx4Bm3B8Ys1t7g+/XUSXMTJ25rbiBYlbN/X0lGlpvnH4/vztJ/n
xzgxDmCgzJc6UkJjAEwxRNV0SbDlVP5Pqek6KD1ap7baNbFdyzDKeaqoL3OH19OzpdfECiHRK5xp
zuyf0KkUIve5S4wqQHqaxHXC9x6gm2Rrm+fpQztKV+r1hsP3spJliQsiCPoQnp4PhKgTm+4t0ABp
G8ZtQWp3mdrXp7/opZTTJR65pRWmeI9R2fZ/dn/sbzjZd1BLDbfQ260cm2DUA66z5DVOtvDzliVC
eYkSx2X/+LhNsvft9GPSzCdD+3QnlE5Jsw2wPtJk7yAUI6kHd6Qpt7TlJOX4bPqwT6AwG3BZsOE1
LaCz2FQVeYSZSQFgZU2+wDrz00yW+GSJxHdGGGlgXeE2tW4xjI3cuoO7HHLTnSbvJ5g+OPdghboO
fZrJO0vZwwYwxUBkpkkUfyTs+6WlD3Z/gNIpf3EHkd/CekIPkfLMb9fvE3sg2ILrOLr0puz0P68y
ESocFDoW0Z/FJv25GzaYJAwzUa4mHoG8/60aZW/pVS0eCOKMIO145mIs7Zghrl3XzFLhT4046p5m
cd6XwXtnhBP15TtCgWRpWsOjDhiOPVSvkosy+II5lgRtMUgHa2HvZQoh4FldaHoh8f5222wLPdA2
D+RLvLzT4CKTeGizpU2yCmqQzd1O6hrBI/stBnDgBYSMI/SLyqjfjc/PlBnWKUs/llrPYy9vgeWu
V1eFp0hflHCAAgIXdqJ9Z7x+DV0hwQXYUw/Q8zvCgbz0QseUp+jYJ/ic2eBk+yPrZJNigw73R1LU
Cug3biiV8emHBxv4ChJs6GBHu5aStHK48U4ivVG5ZI3kbpPP94+fkHULxChmzmw2jDqLqDqsqUta
H2JQmzUojtiN2+gRJiyFYYufR2wlDaHo04/S7zzuiRgQtH9aLK/hWOAMyKXnaP0AuLtkbkAMW0xJ
7/2jVGqGZWWKvW2IzCwNLkgXlghXymqzsnYs2/ZUBBfroH7VrbXZpnuBtGLAokxUR9ckFv3vrO/W
bthfxwUQOviiUf+7oJl9x5jYtAXjtvB3scltL+QnbCpeVTSirSqWz4yMe61kaTP+uvt+erzOKU8+
gD5SLiBoWYclGsm6IRi+DqPNmD1Ce/cKx3/DFMnBF0I2w8PS6/g7fG6sLjVwhlppOBBU0NEBv5oJ
kD56SFIxHmt5i43iKNrgHDNEMu9hWMjBCb+PtB8IjmPJMqf/iq6av55wTu3ZNKfMcy5Co62BE5KH
8Va0nNPEQQpoPEXvvdronuYZCXTDo4+j47wGnWPsqXAR5yuhTAtn6Jhkjvjxto/4lDc06DoxjWJ3
vZx/EsyI8f/iExNzwqNT+REf7vHRepuE06klIV12dG5QV4T7belaiXrS/f28/0loRgMd7s1PhrVb
irAjJvJTCIHwo4AdBVJwCg9EfNvfTvun8xifIxeQUJtSArqNwceOVi8IMt0QhNcbjJjwnIh3JNuk
SR/k38Ybf5B6A82kpCSKNeqOzoaojpCzO6xo3wh8i57bUmqVppk/sENplgq16Gj/mZXiw6T9OU0r
4sm7TDxts8GK7bbE7TunN3kAP5H40OlNRuKWYHSvtzgPoNrKxEK1bO/2X7xLyT8ShikXrKHBlFcO
HMLyGDhGkNVNmAVNPDqg5YegrxVrU/FxfWftxGEDSVyulF9Rr+KLCnHmXa7kpjoQHhIBkqPrOPcI
I9k7KC1qD7xPKKWPuZNmg8ch8FnetQgM2aBnObuJBjbELPpNvrJP5IUKsTHBh/Lxyk2G+8Y4/TDQ
vpaF0RDeKJgf1CBU4FPklSRHZ20sUxHLGbZwYyZN1G7xJ0KTmDQW3ab8YkpdEVD0EgHnLVlmHXh7
wWFth80JkowJ4ehUrLxRXn/c7vLmrf+h1jZKVS9YIaSDuYMpIzH513LeCNIh2W2yB7dzlg56lZvp
RHP51P5xfTsR2WdqaO8Uqok3wiXVwZsLeFvDQHMDfm9Mzm0jp4U4+pVJSDgFeGvcbHGHEO4Ps8Gd
/Hy9ve0fPqF8MhsmXnMl9Bc1bFVFCQah2rQU9LowIpZqbPdmaeDNmh9zwx/7dj1OjIcgrb7BSIO3
6PYxJkZMVVABCATP+ADfi2ms19vJV5P5teClZKDcGhQpzkZr1MqC8uTva39HncqhpKsBzLPMxNb9
AewoAFwFtsNNAPC0PYOzulm+OB3L4/X6cr0gfolQX+daMLizI3X/7CXkfTIO/Jn4Sj2uxK7d33nm
P9Nzv96mo/Z1I78fHw+iuBbCq2Qsz7pucPdfH6fbL0T5oCwbE2YvVqptPeG1hwagEvjoa8qgu43n
/c/rx2N3evPLmKyJI34azbYyc5n08cMT/fQIw8FernQJYt/s8zLt4X2SWafDx3k/PexYvuLf43Q2
oLJwR5YW2mYLsZTllUor7+Nj9+20DyYUUfESzk2WKGGqqo6N1+9d4d8mCYCfXhsp4DLeff0cU6Fu
jWkVmK8qWPEnBruOhMZX0dMRnlZ6Bbv9pC0s9BASvW4jXvMOmgx5wy7lieZHWrnL8bVBVJYMhzxL
ZW5nNc5H3FfyqC6qgr/vl/GBX3KzcwSopY0VxhKvZ202F1+Kn/HNA+yjIbQkhtXuL5MoeLy+RRHH
nIQBXYQAlCrgMZH2iaNsIhAiBdwsVwe4M6ESPy7nb9M7PhJ8oWjSrnKMfBFHS602I9JUC0alPFYc
RKBrFcTHyOzuMf540PXmto1hDKhpJT0oEmkDXEVIg/pyp9PdPbyLGGdDsK4eBDS3FfkboLsorwQr
kECZMlDKKnb8kM0aoHo+mxC63L1NFuDuaZyZoy9m+Lk7js/7aRpc0upWbfskoG5egBx2b6dLVCh2
+/f38yQw4+N6DsUS4S/wixiYgnuOLPLSvGWv+kqSBMp62h9+eUkRiOsjatqTUfhtJCQLkFAwrAxX
hlMKt2izxvZ/v95PQVMu0TDiSSaDfTyeaEIEWENF8WoNeOKNa5zJgNu2QY/QNTliNnmgwcwlvHfE
gGzXWXfGCa1Dn+WCcsLLZQhrbIIpFg9hup2gR5FYKQAk0RtZyYs3q7uny/tHuGYOvAYAOkTPZc34
/WoqdRxfUylJpczgEAknAKvzD9QmSgyReJtLosE7dSG6wh8ZitO4n96m5/58mhYRNRz8PFwpuHSp
KAMzH5+iK9ErE4tNrqz0AMNrWYCBCLkORGLYmJS4GUIJEtlsjJmfCv5MHGD6iygvkg4pCjNDE20w
09dWfKECxtVb3r5WGyS8XC8vr16JZQF+dEtTqpBlcDQZ2B6+8p4HPn6Z3/1c1EqykWbbl8xGKNiI
wEFUC8R4WcvCDLx5hy/C0bzsiYaOgu3iwrWkE4nEwUH9mB4SOIjEBcE0aZ1v12/eDPSP7/ocF0Sj
L4E+PGE+AGjE2aUQQA8gsiXrkQUIMk60Wnnmk3zfH0mpUgAd+6tYwShFX+BkuU4vntB/ATMMvoI0
DyK6KUPPQvmgcmSrMM9xhV4WurSJywgHmfjg8edlj/mCA3k0u7cHq+70t7CAU8AEo7GXTLurSb4Z
ibOvoQWCWbHfXLC5yR8kWp6c2ZWyIbMsSBnZ2tH98fPMO7aAcaYWDrjiGjcagApMsgq+xre/1AxB
YsEPum/5NJf8vV/G8T0JzImMcdKv9mZWGgiNTCVrcUtpdp6h7L/tT+egSocgFf62u5ItDfVpsZwS
dEvxPltDQgTuXicz92+eLFn8QtAAxlNGKonK8yaCpJXRzDn9dHO2NHjoc8Kt13ueEsxSkNYkSzTA
CVtkhCGsDOdjUHuIyrZwW2xpnz99Oe5vxztJvlZAZDRQDpFZFb7HoeV/uozf45WGzPBv+/NH8IMG
P+Pu9Lx7uZ2ilThe/DrxrUM420oqZSdTYqO4aHMrT1uY5RrWdjvtp/9SmlcHWn6GzhyLNPAv3DOI
MSVtzVvGp8kRGOCpun+8v19vj/vucL/jEEYOJNL6KJBa4Kt3ywTH6+EjnHkANL3FF/WDwCOF4a4F
dTKb8mEMsOwnRj/uF2gRUrnSgGxTnNxVs8/Txd/4Fyfx2YCuBZHysMUxKrmGykGcT5LzMY9dFxEc
F7Kf2N0KfDbAy8POk3sAm427CqhXAthZbDr28Ezj8GaueThf7xNx3KZTuyc+OWlpj9fxPt5xQpQF
LK+EKsHfrte3SQDilkB4HDnBo3CEP3s7ZDLCpwMKN0k+cjBHn2FgIZ8Iv3n2BOHf/sTG8BXZoZ2k
sKFhSQcaEWngZhzvh/37OL3yt93+/YR/OadJebmjKy7jGe/08fHwuN7w8xzaCSRRjdndL/v3MAz8
fuLst/0bLmaGriUr4AQL0u3h+vb+EeNLPwlXHNC7hhCIWM0oj0uQyMMZP36+47M52D/Da2A+z269
xiS977k+I4YO8VWall4H55xNGehaiX9DJECEJfdFbDTxnGKC0/1tT0XogCsxIP5a/FY49wR0t6jF
ewSngjr+kXbe2KGp6sPZUunZHdgw5+m8pv88pi9siAQC/GDl2Rpx2W/T/Ax562YMH74PxiUC3E3e
G6E6fD34HLZl81VP4vr8fB/DuaVn5mNbPoA9nSaSoBbOC7YkDZZbJ3qGmDm/AYjuI6dWzveYTLu7
z+ghLPdMhv7pDW41JXxmzAJ7YPz4yGCqWiyv9XW8ES4NYPwEdmyjrGzyY04FhBmCmUJeJ6kQK+bC
L73HyeccgD8JwrP+/a5DugnpTM4h7AazUovxCG6dzhcbx4PUrPL7Dv8+HK+R8RL9/nxvwlXeznL9
Pf59MD44pYxojLf4/oc8Hiqs5f4H/Pt9Hl8I4GL/Ct+/2LB/gd/fXELpKgW5/L7Ax8P9g0qA8vzw
8YnZxPMHUFXl+onvS/D9aIM01t/h4x04f5DFV67f4OvfNJ6gf1GfXxz/ctsffZpd472H8PP+tpv/
yTQ/2mcmQ7Ha5gXjUwpiStMGRy+n9FPtz3BKiU/Zd63AGrdGTazRtaMg3JTEGqGlG7JHClaBb5tY
JXCRhkjPsGlC6mqyruMj4wmFnJuQIB+QVDenl63JW+HPA7A3iFJQPm+CPQP2sOTK+wmit2kl6h6v
0wSv1/NxWhX66HuRhU5wsbTI93C6Hc4k7+8VkB39Escpp3m/nn++XC8UD+wN4CE5glDO47N7HuSm
dJ4FZPVgh4NLFJE5OuiSgs2DS2YBdiWrJ53ijwRjnTsLk4fiPZfUkchMPVBLRi4Iv2gLhIynmda7
TweUClapVdlMfTAuUsw2ns+n9zv5tuYelH4e0J8ImwffnQa7G5DdzeTX40QM7stkO679pgb8TUF9
ZOmFgm0Kn0eDqx8Q8snz4NvSYD06Gy7tbeGPQebH4LUcY1uPQePD8yqgQ7m9CuI9WP49xN/5mkua
iPvyeSqSS+C8T4B5RDVPuST/2N/3pxu9LF0yL0FeOz6Pcjxrz/Pg966ziPAqTi9JDoSvx/Q4U64J
ANeWe0UwxIUMCfrpeDKcOYXD91I9TUERM74XCY4kp0JgR4sLGiu2S1/8hRqBX9BysgR/EPhzWtMb
frZaF+yzSbfzZvCj1UAF6GK9GyHxgluEfpWmlHgU+xLEo9ygEiyEg8tNmXcHotTIWRPL0ZbnEcty
cAmjxCd2hd+8qnSUjuDtsXiLvjLHi4qZkPC3ZSRP1jkIEP6Y5MoWV3HXr4RggwMvdFbLIqbLnMjP
rCkFCmcBpiuNEkXyM5y8LbBKQByiuRpcfzK2VOf6Fj8j3li+eBgEalDjNNdHdO9TR2wV/0jymyU4
W7+dP+Ias9mgFOarIq58KB6Z7AqX8Ux70cqNLKDhDZp5g+pwKx4EkIq6+PZMkvBYwHIzmAyJzES4
U0AqYmy5YSilRjpiJrPF17MIGMrbodppichMAzGT+8yapCV2p6u0naaXaFkTMRPMVIJl2MiaCHqC
+XkQXQOZiXBYue4za1LUTODEYXcnZE2GmElt8W8uMxFU4D514oLyFAIqWPuZVzMRuyvyw3l6It4d
zHxdaDymvgXe12BWmSu2FSIfn51d6jWsCDbTgM40B3d0M7iymgl5O2GmPs+EE3yeSeIzqXp3pE2I
6J9hJgHWNLC7Q3THcOLD584Jv7vBfe6cDD6TBWuSLBUgXD3MpMGaHL8mjc9kPrc7gc8kG2sKuT9R
iWk8nUW9waNZfUdGo9Yz4YpSN9RxSXom3DIWwAaAEIKY8oarXR0IBuAXucykiACApqKu6zXhu+uA
KoiTRJ4J17g7oJpCyBXsxAkPPhkTXq8JNyo7W9MT6ZgQRJxafurEJW5TCnjioREM6UBXhO8R0BPO
YvLu8DV1n6MnIp9BtPIZ/u//bVkpMc+aCq73wKSUOVPrfTzsxh/7t/dzK52ElPmyQGpAXDlkyBNm
P+FHRenWEmLLqCWVv14DYXoM3RblHJO9cQqQkieWTPF6AktsQrXQSuoJCH13cK0qwXoCTaxAbFhB
R+h/IAmNkBGYqicg+LQlmR4Z8oa4ErjMw8x5ARs52WYSVJ6CsBwHsY2kKKps5ylWEyjiQrtWXWE9
QU9MoLc8bsK2AFmmKUWifQqGWIMsM0GKhIOa+fExrxkVaIk26P/Ep5s9P0Q+g+I92fNsG2KvM9YW
GddZz0dwfLPFbVvPh6cH9q7YrxQbTo9I9hJF/KjpXKlnI1IP5fa9sgGcOS2ciW3VJ4evri+j/CTd
8UEL2+vCoUoe3YbkgRlVYRPh8fHtGS9rmU5tmY4gY3C1HUN2ebd4ll4/rEhlqfm4/wxVKx5D921/
Pu8O+3e8gAVA9auQnyDLqgt0IECeBHBUYQHfYzlfKGd8P49LkjA+GWjeHkIFZl3B8j4+fEGM3wzY
4cEXM1D1NbAPMswWBAvFx2ZARFClH0rUWFSKMD7XosxxuVRII8I/9yVuXzOSXPizuYD3K15kEDrR
2DLkl3pU+QmP4+F626OtLJcWqkmNzgUPYfSSp44PNq2H5guVvlKFSksrWZALA77LbFe2QkBh4Clk
/+MjdSuofg7V4vx6u1YKkM+x/EqALS2dgkBgz87vc4b0/OorW+PQONXX6/PXAMOEzgkzgMxy8If9
xDaIQbpgPGn/uVL5a14SPocto0MQ7ejrXMyCj+4LYkuMYqHzLd8fWqG72/h+3h/G44YVuFV2ZDi5
8/5+Pz1Pq/CPJQw8n+6Pr3jtlgydkBdQ03CmiSTmcV/nUhd0gjk9oyspMs+AFwzKOac6Dc8hYzAc
rRULo0EzoG55SFQ/FDkXhqZRmQC+v07s7ytegi/nItC02j7KvYTvcb193V+OX9Ga3a+xshO/VFkm
C9ZltfRFLFDVq9ApmAG/iAU2HWQZ1nWzXyeq3h9e3yjuBLKyfMxdrZYQDgofPrQSj+gxIP9vWNA6
8xfxb631q1RrX4uwgPywvMqJQX+9jzcMKVXOrqpEJFlTjbXBX2+BOQYMLKola4htdiVxSzhPRB39
ioNp+Rk6QOiihLLAV5/f81LwWnwT/5rN+876RRr7uL5v3DWYJXs90izn8Xnj4QlbvFRRbIRmiTKf
ACCpvAD8m4r4Zrx4btWuRToxnyMcITNea4Jk8IcUPt3ht4dfucnf65f6iPQ9bq/gmeQ067RX8pxV
lllBACak0lhBGGmE+bbpGlIvUypOGqq137Rm5nmoTJGBxvti1ek9c/fbl8K23PkGAjGAQHKmPCQQ
9tqa8j4ySaJMWs7RpXRvelGd4PvAv9o33mRx7ty6VTmDKU6OO3bXUlLys8QHqvJRFaKA5t0SXHU4
6ygM0QYPcnZsrtYJyAOnC9X6Wtohd7KO2GTSARmeL4tnpTpM0nETdS1tdjKKjl99TzB8GMU2F8mF
L9/g3CRLLJy2TYvzprOnn4UWraOfL3yTyDGyYEtKItoKvvyh1KaHmo+zrwtInmHRUgKlf2V0lTwS
xM+K7eP7Fi1RS5WhS2C0ltyvpFSORnvQwHRxPJZyAP++bX2fviDD0hd7Q4BG1HLFUODiQ4eC5ydZ
DR8HJ290qcOutEqOt+iWUsZJKtN6FISTRM4oxKtTgsyeXatbrTUc9H38OF7DgP3l8EoocX0mapVD
VHF8ZcJQPswwlS01heQQ9eCE0d20u3/cbteX/QPfTy8bHVPKWfCxpTJdjKTOsNflu3YZi+7d+zPK
s8CnMSvWEt1T98M+QTqc3rxLeX8heExbhsc5vtKqtVm/9Gja3k+HmHAc0VZQg1zObfLSLuxikB+u
b+Tm59B1JH8AGuBt6neKPXaZ/qbzS8ho3i/1dX//SoIdhc8CzmhlxmpIJSwT7RNcVZXWRJ8hk388
PvbnDRTfATmUPcGT7rBh7XNYFIoTP/rjckoQARkf8Gv4Q9QzYZshx6ib0yNNWRSXwg6h2evxI/rQ
A+aKR8Jl1qBablYS01wDX6CDitDH7Ux8SJb+7OT+Gy8vE7dkdpu9RQEke5h9cZfgg52IJbpvrrfv
+5t3Pb29T0fw5HkAAaAkZ2y2RIep4HaOsaycQ/7PUkwHn69Sy4clZPP1Oy1S+ookc7Dn6/P+7XTG
fZw2sw9v7Jo8Eh+SWV6ogc1RK8ZhYl1LxMaBGCKXnOEIgW7gbzDI2cfjPUWU7un1HK7XX+Yz95Hi
+Pvd1aPcxh4x6FcGIBR9VLVPaRce0H1ME90DADDlpx6gPAog1XMOys/LYffj9bYDy0qhz0k03neH
/eGVmjYfupeW7cWNP96nPR6JWQD38Tq0SFxjiVmmmfAZII264IBNxuPt9G3/mCfY3SceSB9Tptgh
8ICUJTO9t2kZ//Vx9WUzARyCmCO/P8+IUoMzTxW+Cc+ylDFArP6V2lQmTL+/Pkqxx+vpFuAQA8Jd
mMuj8/+gWMIA1KHUfDZxhe/j0/16+GV8zEL5/rh9HMLSjqP3mHvQYAqxTDtYQeKWyrJM/K8/n07x
F/vL8f66/2Ui/F8ietZ5fNkffk5ncdgtC/FAeO/TOjwQ7aRn4K0B9KCGVTKPZ7/X0KMvhu/jHPgU
uoLXTvftW0c+na9P0xN9G+93X3B+nWwNHERPDxBtU+UKST/T4/WGN5WZRvYlPm2KCi6n9bw/nX3z
l4tH+70fTicPyfv4uO8otOTpdHQ5bYpKX6+hVcBEQT+pfmd6gJUcuWHLOGnNt934zUO73KbD/RkW
E0r6p4d+ugfs5UloJni08fZt0rXjlYZmfBrP3tQD6OUS0hhmr1HAAh2fPdL4JL/wS3Aw4c8savf0
Pqad0q1e9ABggkMMq2evIRJX5AcVEU9q23i5UyB70wXJ8uHoOXb/y0T1acRh9G2fPClimoQWQJXw
6a8DoOH97bb/+fTx/Dzdw2n8js8BdB8vKvoZkj1+H0xDLCPrb74gcBDg8k4X8JLwe4jzZKXKhcSN
8kkSe5Agfud/JCTveKK7SAXE8Byc1zIAsFc7iPMQCwdqZ1AHBbzR2INlJL6fMwp87lnqM3C5Tpbq
06S3Pa6TEk18PEcE/d6HDqz9cD3O/e32dzwGO00CEiW8siGSQA/TEMNgWkNwcHdNEiT2nq0GX9Q2
yFL+gxO4E8vIBxhw3C08/fyOD6/7s1fRPVTV5Xh9u0xkSawMRGhNQHOdryUTtG9X5PUoxEMdFwfS
NlKH7c7MqQ/+kiau8nEJfCr0GhonC8BPHHGPcSYCsnL9ISZM5qSBfb8T7KevgEJlxe8Cpyd49VCI
l2Suec7PILzqAVZAiiXWf/nw6XGv+9v+8KBENujXCvKA4iF+XKbDy2yYODaQH++tpLmVzprdZ07O
KhOymSE92YEHAjh/uoi+FLTqk083Sr4svXzKehIC6+3MUL67+UHxu1JlawO1XHTseDap9hOFEpC0
04XrFhDdpFe+vIVmaQF79zathVY1B9CfRgUo1f8sdNjdor9OKgrNMOKyXNngtj6zSk39NSoqbMuV
I5bxboMSRdxoRRYyUZNHKfLF+7P/0jdF2CVWROy1KxVdg+w12Cm+84p3tzyNPye1bSe+CkKLWfXs
cZjiND/wwDCDCktMa1p9bzZJlKhUd612g9O/8hrpcWLVB6pxz8RlwLb64MwCMu369NfJZt89rvdH
aPs7mUl4y6xpLabktBrwaIItqJLBJtK5Xe931hgBNUzBfzIHpQIiIy7NI92BRo35vQPVNuj+D4+R
TTBYN7Ssj5Y2PXEQgvkMJUvFlfLdx7vHnBxZfqbKl5DO9Tg+n70dEziQF2HTf0gx1OWVeXnmDLHB
6+WSuquzzNaVi0temunYSRUwEkxXclmzQXGO9KmKgbr7pPYVOd1QAlTP2XNHqHqRFpiDeAYqqxSX
t/39l9kPQSk0DlUMiGvM1B4g1OLb3GK+CUXrT5+yF/nbrXss209ZaJGnNcVw0hV91ytSXYS93YIf
eMj0Nb69P34SBFayFFTXetv/iM5z4oHIgiEkNKRJGhP6plEtvcxLuuvlPHvRvrwjdA26Tnm/csoP
CUc9Hv/p7foxccP9sw8pLpbi08f9J8FgZQEtP8OfbbD04m66ku7Qw/Tuku1anm3Rxsc9FHRcgkPQ
u15Osclk+BLB/PtW1/in2/WXcbJyHs+OOBzR0nrWu3u/xV4Dx6BWEM/GNhtABCm+3bfXPJz92XfE
ng4mSkS/xjNxxM6ZliyLKg2gn8UQJEgAyB69WLrj4fUalbiJlBYORjAw0TLDgnNwoz4OWpIC72kU
ofEhU/yzBxqaJ2S7xHffPSvabhZ0BlnGbF5wkkPkfYSUTEyD/X7zh7M/HMb3B69n9K22Y8g7/YyV
2dytt8ema3/c9r5p3cvufiadnQBoC2QtLTV007mfLh943VK8fVW2cRz+s+HNIG5NlP0O+8+5LePD
rEjY1HGjWfGiFBcH2goa/8MuqsvEkDMLnanRmzB34plX915blZv9T5E08+p8enTKiXk6Xfa3n2Qn
Iu2GCvW+T2IGj+lF5tLkwJ6+9o/J3Hn6eFCcX5Rt8npAE9GFsZsjEARlyGaleYwlMPqcHUqidKXd
94TF5OPWQSsoHwJUDdPA6+JPz9P5E0JHlCIat4ivW5mJ7Fva369UNuM3Cc5VvqqU9VYeg+fS/jSn
l359fibusi9ZqywYzUbTokQFSZsPmSFRyuzQ/oRhPNQpssa0eLCC8rr7r4/xRqiwUHg70BedCdBE
sjJlQ/T5DCaZfx7336KAesGTmuIhlMgFi2V4IVgsbFMhCKpZoqXA+UPQoiiOYjYjAKskrAjdouMV
q6XtCQcdd/l9LZLnsv92eglByfH7xGoOtBxzAOrEM4DUJRGoD4nbslqELgWaSObr9HBOl2maDadj
W6Arq9NZHjlxQmVoPDk5gL05xnDsfpKO306U7QakSLDdXEvKBxf18/V2GHcvB+Kk86q8T8za8iFy
T9C2aKdkSzMlb3HguKLvn+h6ysEKRRhxgUMr/jwvqvBjTP+5vqUAOfHqdatVNqJEbpUlVcIGZ9ES
96lWjC3mQL2d7jHN09/tKdh8whLBzw42atLLwU1c3UeDIl+aGzuf95eXD2+1zWrel/fX9+akAO0q
KCORdK9zlO3tOnHuUxJn3jO1k/gCQfW5D0AlJvHX/bfpId5O7zHn4f64vu/87FhMIEwFmlCEOtMB
WE3+Cu93n/DoXycZsO4AwJifRy8Ji8uJP1EnrouKWT37kyYiuBGh2g4EmkEZ1MRZHqc3v2YfGcXN
6TACdqXSwM/ntxtbTocjJdauilLb+ZnFI5xU6r1vXo2VzIQZAII0EMn3by+pvUQgkevH4zxJ9/vE
05bM00AoRBap7gAaiBFLRPYQc6nizlDiUAMAdgGFzPlSlSSfUdnvQqnqcmD0IPBsX2ssiPnyXrzk
nmMgvl/p+5xV43NV8cSEzg4lSly9pMf365IFeUefMmzkFyTSUM9zv5/x0QCsIeSwpmOddQOWYlWF
9iAybEno4+sjcBlgZXE7+O7FxPsFRfPd8gLzjqZ/7zu7E1Xz085UifGdugP7INt4OVyDjJ8W93o6
HsdLtFwn6f98Gs/H3SQ599NkBC0OrRYEvlf4bQwBsP0l2qAxoHc7TX+E9ogPM8KGW2Z5duASPWUF
rodeJcw1EbC/7g//VWycAAiRwDD9djqOV98Q1Qu7v/vluxJAILVM8tqa93nOFtnF+7Kw7UFYkQzE
RMpBXPyV2GSJzS407xnk7sf9nPrp3l/H8fHlB/YAKmT7vuKXx/G8/+n52+lvXu1+uT5Oe5pye9jA
y0VwvjhrnHEyqQ5eW7rfDiGGFtr9Egy9L5AU5CfeQdA9/9vpxeB065q92D4x/e/+8qednKTO7n/+
mfiKLBtHaJh8vGTG7N5P8crSjeGct2qR1v/njHoTKD4Yze/nPcX3ABqqt95TLPh4uXv2/zz6PJLk
FSPePGz3EuIdqajpdL+HNw/ID12IrnD27FIbKwn+JVqAHrHwabd/Ctx19IobwfhlCe0UpzhOtmHo
3D2rj4s/4/rhbSA6w7GDXVWzWf6rpoJ97IBr4xLUDaBL7SKAy0iok4D6jD854+JkL2/extjf7z7a
MfENRikdSqEmk1oZBfzucZ0O3nPTp4l9/UJombokPKgjJ7nlX97ueApWy8QOo9pHLMy2ONjqCftH
0XrAeNJ/fLrNRmPTV3f78/RmLxMz/DbOrBvh2GqAvfvskvQyvTTf62w32bP7FN8Zv6O53/H4hrKh
SZ8KbS/HSb4efavoB5Gs2A1lk8YZQ/fj6e30CEUMW3RRANoHjgRqsqR5YlsGYXoj3uJ/hGDkTp3H
b+N5OpG7R62KxxNEx6xB+VdEvB9YKqbCzxnwN76bozeIkjUctBPAenHOC1KJ7RLaeL+eT4efXlSO
wTt18HGA46QAn6gVgnRokMgEV0esw5SwTJGeJpk/vb9Jy4mcEM9ZBbjTPtBioXg+Xd6nVxyUv1+n
LIH2pjrn8tEW//5leuKT5Br/6+P0DdV7urK5VCK8STH9mNjhNrYP8KxCJXKqLNnfg4J7mvjCkUxz
jTvUgKFOx/dpneS3//7PtL4gWi8sYtBNy/MFypfoZjpdDrdQMrw/70ggLTX0sPViqLDpEt0Eqef7
zAcPx5GeaLoGoDNF4dINUXxGhztVWTmNtiUHi48yJd5FEsQTlOMdulL9tZCJBQVoExfrmzpZzQpp
71YvWrJnH5LGaV+HGvrC4OnDz3iM32+n4Pec7vfoXYm000QU9xFit13CT55oY+JHv41F5X/0zkkP
IydR1XLS6aqOoUODtBdWAAmbIOahxAUsGH4s/km+Zt9f+hopMaQyBz/2ZTK1fdrvfTx8TOfyk7Po
QUtEleOq5Q6eroePnfCqyuEXj+k3EsvvXWv5+4/Hq0+OTibXogZFyNHqb+8hrzJ7Q3Zsrqf3p3Sg
djvUYCZIa+Lk/o5T68pedF16z08zO/h7zGdgoofqLw0lncFBuCc5J1qYmJMt+/AZR5NJepteSCCY
qE6/Iy8EWjtDONzh05beX15Pz4+v//N3fyFIvakZTUZuIWAIzqZLANZ+la85MSdiuGppJ99P5/Mu
ZF/cJvHqfQMxvT/mDL/frt5XkkKET9fjT0J7zE/Bhu568B59lttEcQSzBEowcBgG5XfWhO+TkvBz
B6tyid2WjQ8TyWIPU216mHf/spIXNVYIzE6VXA1xJ14sAPkIeMZdwlvAViU/uyri27kQPBT6JW5R
Evj9cP/YxvaAywtItsR7JpszVC+FN+Ozis7TdKRTCLRUN3ZJtgw2Wbp7wmIACqXLTbAj2UVZG5jT
+GNido9Yk4himERKhDjhPr9ZdKkTB3ZR+tPkg6mh8bJyeb3/vEkwn//tT38I3ofb9CLbvEwNsMNq
NiXhaRD7LoyimKJqs/Mopv5n1wdtioJmSH6qNFFUAVPmLS4RKlh6C/QmH72IxhmrQRXXGEK9ui/c
EqgpAar2QJhoZkNz9Q862rViOUH1TArk08fjQb0HiA1uFwOuYYhTpjTYP4ghr1XpyMquF9rBA3uc
qkXRWRhgLPsOMMTYsahKVcK8vqzLF/br9VSqoHnxfJpkg6fX4/6xJ0jM0OFM36meJZMBRHK8l1Cs
9PsUbqYUSKh8hOBIl7jptBKfyHUP7IsOQMDWXCpg+4GzDVVKd38mVAZYPFpXtnvWwOD4/upP9vv+
RMGET8oUbDwdSlO6pAnEWPuirkQomJ0Ppj3vD1TwqOrvER/Dy3gZb/u5iDCmqocODg/v/iT4koPm
UEimTT6I9DKCVhvF4bcXNMARcwbaL8UCV6h3xfjAdcJvu/+SXh53E7CZNGxhBGUAywFtXzplRemU
Tck3kxpF8DJTRLWNRK1pkhXZpsdiu3btnyNnSDa/EW7znz3lURK/KxtBzzV329fnefKkqr5eqQWa
VrfpebL7Jbi0d14TD78mXpmas7OibAvAPp3c4kl72589bxzxQCto0RjADBzgJIznRQ7N5Iq1z4Qk
lSai+9pKuY2Pj9vlHqtLOUSlyK37Mpg3pDyy87ikkaX8mwBwEvBNaFk03UOe0zNh92mzMeVupb8h
iEe3qDsEwnbvpx8jEYhDTrSdHMLLPJAQ5RYrr9Aq/g5fAOgy4WMZFvrkv0YV5WtgyfevMarxldNb
LIxgh0qg1G4hwBzNN36Z+Przz99cL9Rdu5ZXve1EU8Q0ugxpGoSjMs9EE/7JYhbSQWlaKuI63HbP
CVaEZO1bk7XPRyAZB9PxyNYr/cv/+u//4rNuZnFM3bkaQO4RsE63vPTEzQ8p8hPzRIIOt6dC3Vn0
+BNN+DOBW3rco3dE6JQadRLwCXFxUjh8a6NLUGUTw7hg1VBRUovCDk5Kzd/9IpVo6RA+jDRzs/35
tKcy20wZTZKl4ZA6yEQuxJGYqrLkzFzlEYPmn0igAsgzc2lfDFNGzLKQuPO+x/GJFezVAHJ+D5Nh
/3P3dPMpYLvxfthTyKOqaL4A8hvu4fb995ebOo/7I13gFSeUrQnDQqZn470Tj5/E6OyhAq7YcJ7f
xizRPPCcD2wTE5miH8YS+Sj3tXlTYtU6ITzo6/fA/FPTmvvpQKTHRzy8jN0YME3mvj3TW9+fPbvc
OWJwxuXzxrCvdI9Z3kuMLQI9+mhxTPwKiWmtTt1Km9ywHVbBvU9r2b2OP+JNeexDbHxuPx7816Kb
4a0/Yi1ysj8TZDA6Te72DsIXKdp+PXzcZ/w1lOHGabq8GqUDYujss1hO44CUu8UJJNiO7qPjLZ5v
NBj3twhVuLRejOlnmI0f3WgAmTfYU3p2WkzcK/jcfY6eH54qTRs6T5wI3Hz2nC8LW3jYMh2R8BEm
hO0oRPAwiuQ8yJNiaY1xRRn40npubxPUR8hEx3OH4sdBQwsRIEyFqndEtr9SHWi7YiLQSFnxkG/H
A75cjvvz9UJMB3rwRKz61Ql7t8NMik8e0Hd/+0ksLzNB/05s8p+GVSVcY4+EeLu++IJjn6GDknd4
+RCQOsSXVZe0yL++jy8BlPM08Q9mEoBt6ye0CVJssg18Zt/tEKFY338SUwB4b68Aqj5lmFw2L8IB
tFzvWk7PtJ4hlCie31/3xFQ9mMrr64mbTobF++azVV0HebuJPxWYaMO2VAdAsFMtr1twTr2DKaIe
789nn/e+i20ngzuLcq1F0QPB0L3aH2MBOeEiAqjG3AuPbO49UlF5PN7237msCxBYBTbF+7S2Uw0m
PMdqv6QMjy9RsybmbuYINqa53gn1DYRmQFnwMouvsCXMVlnlorr2GuIp3R8eKeIvKGpznLFvOhlW
u4odGZ9P5zM3IVBw+wUzCVnilvlsq18ltsCoshKzqdLtTs+27QSrPp7DXL2VHkMYlKqlvt0nCn4b
jyefuDaH4hBdos8y3HsNUyAuJlYmP1TIG4u5erG2koarCNMOWUUx/o2YKoizQF+AYCwm/8KELqtO
oI51qWu531ME/P7uBTrimY47NkBrMSFQaKN3JaUdzJMmZcxHN+ZIx9NP/wV8biuxuRuTbl7wsJ5U
FJOe3l6SLCJm6eEsDsxSbduf5eb9CjBpHxjtgkYbKvYOE1M87h6308vLeLuHNDzEpRtvGdxN7pTz
fLrNUa+I3hKDRpOVTjnT4wIz2YC2PasJc74DJHpi2rxOkKweStkWu3ZOHb17R2cQYanUmXw4Nl82
0FoXaOb0ep4jZuK3EKGfpb9PI8fYUjzdvjRfUqZwgIROvsCZR01v3Ls46TcO7IfsEwsF0HG5948n
HAwmWhA2v+rs5YwlazFjc8MkDr4PJWJycMzSGX1CxNdpSV/j/pohk/g8ACWDhorRPv0IWSPTxv79
X3+fnq1HlDx8hETxYAePlJ3Ul7s0JUeYy6j83WHLc5CxxEoqYRDGQpwUuLGQhzX9dPVGvXJwOSb4
HC5FJu7PZbrqFzS5eWH79/cQHpmkHX76CjKnPjK6MlHq/Xa6TpR5+hvzgPq8x6CnDdl6BAXAUdl7
8zVxP15vxN5svrvcZ+Q2fgTanOtElyzzlOC5pc4hXkim/9Bv3fXQvJhP8P10eHxMHMuHM6ml5smE
Cz/60mv36kO5M5f/eThTDC5fKWzgXsob4hIsJLSQlJIS0sMeojW3TObNzvDnO/kD14Bgbr3XWlSf
+hTNZsvu+XQ53f2FHJLRQBx8Jrh+2d4MrsdzHHA6uW9OdFUfd6/Jkb9IgpjOCSsJ6MXZTMIBXFyt
dB20XjqePnQz2XQHCLMIrS1eLles50fcr8DUmsA3CM4wwGOOT1F1fXp+qlPpVz72QcySpa1Ph0wO
zqgE8JdlW1cNKZk5TAecbUGH6HQzryzuJOeN+cTJ+5qNtpLONg4l3kY2h/zLtXN7mx9vZx9STuHX
aJHGdhTxk/snrKYkKEvQxZODQ5OCALz1Hmnwtg94g7uuG/DJQHe8YGKZ0iAA+1wgmydxi86nQNsh
lQFIi7ior3s8+65HOwz+NrgLgIcGJCOmOVIhcDGvD4vjaXlhdapsVblUZb37Kp6JSfzIDsega96J
WwDeDGVC7lTKtSyXCDMVY94auULQ3zGQdQo9XZ6vf7r8ObHU334jWr4pBTtfZ2iHOdfWN7n3Kakh
ef18JlZSOfjVf65pNxJYfPNEzkY4MLAzKLMbifo444kkBi8xqLgyRfAD8MeMMTdtzqtw01bv3nN6
y8Vtvv0d7uuG7du9B3XxxwZVnECGiYffFw27VNda2n1/OT5df/iM/zlAfPH1UHOA6vtknh32N/ww
YZ9HbRdhRPEAjd8MbOCa9f3AhXb3aUHnGaKCdh3CbqzD0psaNmOJJEK1ioB5ATo3EIn9HKjuF7Ba
U4RErxa5hoxGb1Y/e8c3Ph3I8wiNWFzrFqN27rlOgBDyEQu2QQnIt/QMSLAIy3EYrKCKqUE6qVnN
NUXSz3w2aMS5KVnApWcfLGzL622JpFt8vMcIeHBqBeDiYKun8k6frpkOm+CdomxCvqRbJeMWH6kK
rptBFFK3NMhD0pMKq7vTTFcDxznoz5eodSL6717U7O942EXJPMMw5L41njiOPhnidv24k60OIvOQ
5UO0m5hHvO20bRTKN1wpYJ2eplzKY77Etz7ScgU0JAclQgQB0sIYtg0H3t1qvkzE8xtOcjXcCnkp
S2/JriiFQD+QrodbthmKWWfWC58Fc5IaxPwAOqdHjH0bPf9fmmO8hBa5BMWoprpwvB4+3rKlu7sT
epYC5SyhWQGrZ23RYmTZhjgJ+5AWRDVin/bTlfkJLkM/5YIN9G4cyJXw4Uph6zZKOwLhPSxg6Np5
Gy09JbC74/Xj6Uywhr7ZVbb5bBblrCL2O0GN4KRNrG8Byw1oyL7Mw6OQ8/wH9F30J5n6j/3HH37/
PyYZ+q9xSb8lXZBhTbCLdWhmlaR4rTum63ybqD5EM95OP4KbgHjTGnZtt0tObQnKNZlx0y8Jl1S0
L0B6T/C6WUhrCzNIRiCt+Tgg0IKw7pcArve0Re2nEw41aJ3uW0ksXScpnSKMVMCZrhYW0HWGGOJK
/7tKQ3piyNDyCXdCEVsCCzMh1G/SEXdCEsNU6eQyaXGaWBw4vJyvNx0eMQTECtySvtR11BUBH6Zc
7KpOdMSQ7KIJVS0yDSHuRtsiiLGcmCCGyJaXvOuIu1G2cA6beS/EIWtTxPqSnOg6YmEqX2Uwt7u5
QzPZi1ZJwIP9yxqagnsRkjEIevV9NEnBDV0TZgm0RFTSmAFNPHCQtpRbI0e2c/clPUndXBYVRIMk
tggV2fCjb/HI6IYFiBH3by9fpv81eSNQqADEXhZd19t9k5qoqkbQdskNTXt7Hw8+kWTB0yJEihtK
TQB3RlCpwWEqIOqA1dCa6vS+2x+PoQNCikDfP56iLkQs1XTF/InFVRdyuJ2fvVr2T+fzv6bz+B+0
S0ADHS3GPxY89UdY7az1Pa47D8hNnGXW1GwX0F/8f+YQ/puvz7kFVJr3/f0+2d1HQtJDEW0zoljI
Sx0X9cNDDUlCdcxiL/jDdNpb2zik3ZpKZckOsPZBCAz6Ivl0YNBXOyAXCqFo9d8/svtH+NvnD8qG
AhpIJ3Lzmc9hTijQTlyGUGTCw52tTsaTKYGaakL/j7iKlVI1KzIJZ/2Ymg1HpOm7R1r464l6FECz
yT2ZN1X1RFYCSEQv+mlT+40slPBHAL93RuSq3idIFkjA9tfFb0r4JlWZYy1bU39c7vvnke03n2Mb
c1t7Ax5F8ERylrYypRE0E9g0aLKhHhRgbKQtwHG6JbpyeP24/BJB1GNkLqVt/JjY+WM8/h5vGxVF
YNOzybteNpiLICkUxDXRlxpka3wnLNFA+nOLOlW7Ba+3p1hWNr++kbVytOoLf7bmvWNMXAfWG7hF
fMfiKi8noreHYseAJ1jUY18ziOQWDK8ZLUqUMDW9q0pPx8Mv3qf+dApwcqzJ6ixIuP7///96MbvK
VjKVcpWpMgjmluDfYvpxvnrZ68INk94pSnb7z9CdyU8YZIzOlzCXfxCX6aDbIECvq1ogUujDcYP5
pPvs7qs1msguAy3gTSMiyZuWglm6vmbukgh/7ndDeYOBQM3mC+xNMmueBMstV5ZS1P4eJ7VSulaR
htx0JDR9GKMsJYgUaFne0BbafIJpEv5q8BCDVmyabC2+zJfQbXeW1yFJzefozbEmFIgo3rgqPeMG
/45/bY0PEXPr1tzbAxqEpgAcv91idqfmeT7GO78/gkmp0lgcCIIifUNKqZabu0XeTJQCiDLgSPy7
k+EipwDCPaKBdH9/yCveRV8yWclGKg2RrQAknFi8wxU5xmBGoMS/BEqMMcw/Xh+/Od3fPXAbHUDX
wBIJPhVbmr++U1HIjCKYtym0Zmk+sc6ti+xKbVhuyT1gjAptCsVVz87zR1pymja+xmBxhwpkn1a1
gPu2FTzACPvgprKffOyzlUwQGqx+scFH6STvOJrU3yvThjwqknkLaqjDJOMPjxMxgwISvADUDPWh
FaptJHqyWTayHwrtR6ltMYUNLdej8qLKvYoiTPhpCa9gQCC3WGAUrURsrKKlC8+cFZvCV9xDEC1X
U4gihUo8tKVipHbZciSh281+DTb0mHlpP2TPw5aZmYnzBfmXM+RUurlPhe+clRpwR2gqnDYVcAot
RerXC8jsJyhlKAanV7b2ShFGENAEVahY6DKYS25qReUYuFWJdIN5H4+BQf/eo/tNe9vkZgCZRUCw
MO8g+qVShhpxhba16gDp4u8RK39V0pS19zLl6Ad49JgwO5/6ibg3XeZMNR0oMwP6jz/8fouBbZo6
Pas7E2ozeJfBKZss5KivRl3uMj58xtKOMYUBlXkjq6+dlYRiCey6kIPd90suPHAOTSd/onL8hlKr
cg0GxTG5AQjM3ESrleCXbF4fmfXQYL7MjMQs0NqV+s9canebWJFH/5oTFIjFmcKXsXi5kwj7q2+D
ur9Ag4PQxlx5WG2/yPJ+455T4hvQ04ntQl9zdDgzvkm0kCnOp1sRg9Rxm/OjD6oUtt06Qh4DcCGj
mapNl2AqZ/K2iszA4+grJX8uj/vfsD6iMedHtDx9BM0FZXCk0kpL+0L2nGLpHxmhRQLpJZY4fLXA
lUY83SyKKCNhSRVpRyd2XzloCYZm1jAa9VV7mstawDTz2zuVc10m5qUwZyvEBjReQo1yLT92826y
KRmvibihodSuEjaSD26GSQJIwu248876iL27xEASyabCxyxpiQMBimCQlO0wrene7rsZQ2V3TBYc
YcfC8JuKPxWb6Rp9+30V1+rMpjgoEeIRLXU1cJvcedXzWjpoDGgHcGzvJ/DDKZmoAARHiPcL2GXy
8+YGNI31siEq+TjqMDD7MhyE2USv0+P6mYrOCPWsK00qWbpOf6VlpcHJAZf86Tn32LifLpOF3hGq
hCkdCfYTGeuEFSALU8XZbbmXTAZHV1oHCUDL+2Pml/j08xG6wlNizclWILGd4jddwfvb6ULl9wFn
o6dek8g32JlFtT6v9Rjohgv54YsL5jN5xCC5BEJFvE2cdReigLmYB+/7HekrP2oTPDdGOMF4mjbU
4QApC4R2rsSeOTWj6khVlqgk+Xe9XJKpGm1OmqgcDD6GRAHXjHEHFsgsCEZ+c/tCKkW6/KvyUIMm
Txm7EqSWBHQesV3Acr4GILtDt95GmvOWWLaG8GXDEjNqSatNOTqqFSNlM8MIltK3nOrLDGygQMGw
uOxyScec1fMSoGVuu8dERAsQ5Gxlck5NDXwRfRda7vr/zPlYsfqKXSLwFqb2gZU1FQu4Qn40lx7t
Sqi+dhLGpzJ6QZkJ6DW1hOZ96fb79f3jnViTbGGK4aVlTDYC8PSCFGM6G2Gjs9I2fWN1VJjYaWWy
u/JRloYD8SarClIu8kZwCd1Uxum8SELddo0KsvZFEqFzCwtVdMZAq6j0938pCip35e+SBHpjFPmh
WHAzZYPQe0VZa9D0wIQms4ePyVh/YyW/tmV6/IzcHXYUm04Qq7EtTo3YqAFRnzJNoYMqdOiUdaTj
cv24k+kZQAKZRQLVWVCcSIZ5gLHubsbXOfw+tJn/F+aOmjVZ00FuTP9UEAhULm+WZicbfb4g6wHQ
zyToK/mS9KAE1MubvUqCFJ2IbOL/Y7ncvU9E6KsMN0JxCRy7Cjdv86NJYNl6x9OMEBBsLRrZUYKH
XYj1usg4uCDn1uu4npa360WA1ZsyswrjgUlm0houeFs+Gpm3oEVTR8dZO8HV4dKC169Y3CL+APQT
3lYors21MiyppAJH8HDVQh/eVHVJMK8OvCCPZc1SD1suCZzCIU8qKSbUrnti17J1vXidG8FhRZHq
loKlAeiWzIAG5ZnBeivHcSYkkHRexmu8GsC/McKkgA9nWBIpqFO1xKmKskYWNl1OHQS3sB8FcuKC
7JNb3dB4k2UJQa/KZKTAYpOxxADCKiDYvWjt7ZayFSIkOpT2l8kLCn6dggfSFAF87LZbeu3SfgrG
TaFbsdG/o+Sey0gFpzGj7eKnwTwQGD4NWAPtgpbopiKpUZtm3LqlGX5LbCw1O/fb9qL740blbpYG
YKukc2FLm7JjADywi6BsRPIeHehVMGQfmsOorZx8UzNBCRMsTYgMmb/HZ0R8qC+5tGsb7vcAoRZw
MjaE6LVo1U20QvSbY1qgHD0AlmknFxeor22K+6TZnBpsy6fdMqxCmOP5vH8h6FOW1RSbgIgYxlJV
uS/2Ke8D0ACGAaTIIKkW1DvRIHXKu3ZnBOzab02wGFewK9NcyoIV6KUnQUqyUU6xuA0Szc8uXcJD
omtzj0xF8dHqTbkoqsUBE/Luj1hen0JlhKdZFDEgUwCqbH4gAGEotBFLdV9eNYl8x9sRTEpy30J2
+fHqs5g+LrRZIJvVjIS6JDpiMtNSvaO6lNBTvY0fIoi0mS+61auo0Yfu4/k55ItMgoDwCIMc42AE
DgDGaBf/85cA1PfH6+PfXkdCsknwVIFHJU01A/yTDn7ZLCNJM7CVaBJclszNplOc5XrbcBqizDRN
ZkJawBpnJGFp4wsqeWminvlE3rzDIx4uYUwDey2Z5iLDY/OZ/UBFD1zPoEv40+W3JLORVdZbYsWg
Hw97usDVHFp1zP1pg/o44+F7L1fy3SRlisHlXrKndImSEXTSWW84vb19hAaPwUAi5gJY5H2A0RnY
2e7EdBkTYPAa+7B0MQr17cHfH6eG0BvBOpko7MTASnYS4MwG90+X+ywu0J/TJC+Bbk8hMeb5RKFf
i6FAikj89ptn/GExZ8+0ydCugpZhgstM0/xIVX3XCHy1UwTMxWKy6yL2kggkQ/J6+U3C5y7x4XCl
HpciPYIi+TH39co2DHHwAMg8Iu+knL+Mwnt/3d9IJGwBEJmDXqzsBtIg1gQaA4Euc9CGSiCrn9rr
Us0QgFdlBLgu7qIxWywtH48EoOuitSZKU3MbopvvX3S9jMfZquQeQV6fR9IYKtcOlWKkIDxbQPoI
+FQJSX18u95Sqsukr3xcyNvsAIq4i1NFx/vp/ssu87f82x04rf3Dh1CoZInJylNA+wzdDFzlw3r1
Qul8ejvh4mSaBsrI4L8aqnXuQtcGfAaYhtcFuCtdz+DhdRPGq09lJ+aCbcMCimy3PvuCsD7ejwHP
Pn+N2CtMqQ4/+nqlgbERXcXjPMBy8AUDfd/V8xRrvIzffaGNB/in7dRpagBoZUO385psYr+pOcGJ
OMoeQI+YQNj1TKFZwaZrAWC0nvfqJV0viZSn8XB9m27h4xJm3hOQYHIAAcpQBanV6hrk5pWB8wpQ
I2qezcO0fMTucuBpJaUirZHt9aoG0IvSe3oTFjq43GRTETNkcE6bIY1CV100LzAOzHCgIqQLi9SL
qKCz0NLC58z5xnMe1T4AvfpG29SrB4CN/n+yvoDpl/QlAnej8bq5kcP61cuNlwgRI0S4w9V7onLa
phlA4Yx3eunBrF9k4ouPK9ntbTqcrqipmrFGvYGIZtMoGErRVVAhqHBFIw606YBoNvHwn56e1vXt
ja7rVxDTWhflZkviopcshNgCqOohN0zIQS8N4d5DwGuLQiSAMB8Wfe/15JPuf/qA3M+lUQHQTENa
FbE40Coi+ErlQifv5/3P5Hf/uMReoufr9/v8kdy8lNA/sqYbopRDFRxYrxfv3CFE2X1iWCnhi8J6
uvic7QPVREHCfauMr+rJIggsliQyVXkW1CtUofmk2pvnBRCj4ciW5+aTLtBjyhsLWBiybCpwHve3
pQna3HslKpmxD9BfiUMTABYuRQ1XpefTARKHZsuOlibbffVrxmlKt3Twm3cU3EvBRGykhJGTa1ry
ZrF3e3nWlowYYrqsHnvt1rXaBE12GG9egK1l6M2Vuk5MAFvk9AmEK3ZCmi7+PbbPja3pYvjHw3HF
XiZUZqg/ZpOUnwBcEbNa84uJPm/fDDnM47/mq1doUK04q1tmjZmTiUc0Zl2yGCYD681XfeGXHKce
lqlB+cCybe9doppKxDlsniMh/AGLzzPJ6z3cTTYvUlw/9j45f7xMzGgW/cTVKwEs8ZBBp9ZBq7DY
LbNJAMdpcmO66ITashrZshv3j+TNAp1wNq2mb3kZfHe5m29q9cnJhlanr6D6TVrj6duW3XWlTrEE
rmCHn/fb1QcIQtHLJE5uHwn7dsP0lZMgtcqNXvjADMIw8PsZoyVyZRy6PahSIF9WeEoRRv9nNb+H
Zosp67PsSQ7akY7LTpNDfBkXopPDXO0c6pJTdnb6TlJFo3cnqUPMF0AFoLeTU0wdThoKr6J6wPRE
iUsGlqPPZtaNCYF/JjVGJ+brymiIWzUdKE4AByuJDMQArhlRA2ee3LwwYl1DZcYmmKuCjq7PxASm
zG8xq+GeLS41QsQVylYfj9UV4j2D4nKyveQ8W3DpHa7muVxTozliLlmaF3Y1U+hIOHcBfEwS8I2Y
rS8xYXpsXRfc0R0nUq3k6vLeH5O6OGlnh9OdCBdOZw6b6OpgIEYHqw9g/qOepm4Vf8JJfbjci2Ey
iisHUB6AEAiwYSPkFfHAB1jhG2x2mRqCjTevHXjlNUrb/Pusd8Uerr5l+41CCO5ABrvKga0NU+5C
g3oKsL0TppVcSM3ta/VPIaA2UT+LUt/V2YuO/UDQr6Zf+KyMaR9Uv+7hs4tP+jx/5LqA7UuiYNux
HO7UxH0JteUKrW3STqcbm3vpBq/fT5gPREOCBOtbCdB3GeSip3Saos0X0esXtJgJ3D2J2tCVdfMs
qqvXklpg+6hhHHI+XX4pdRvvsMdawYUUksQDu2BJ6FAVnJ6xvxyvj6cIeKGiR2TkR1A5/GnvI4Aj
WuYbm5rZdtPo9cyxqiho8LOJQUxrilbPM1R4SETygu4eMrbuZPAiHoVdjgKuLx/n/rJ02ou50T7V
GBcNYdLEz+P5pnrtXHyazzZs3v8RsVHQhTr8eumS7dd1Ph3GbdNo4BqdyxqWnc75Mk/jdCcjJCYi
HzMe3wApKcAeJsmyfwrpHek6fF0sgAAjJjTLhKBCiL2PEHLx7UWRCFC8FgEWK0NXsdk5wMxPzCnX
V62AQRZTvZKJF9x1MVvuPnHRN+ocXD6H5BoNXO4etdTn6f3tnj2Ymm9CPTeeRa0W0FggJw74NKDY
MPj59PCtLfc/x9QW9Bs1F3CvxAzoBBlyvycL8p4ZLtOhFHSWKGBPn8+pIvdtf/8FOCPpTepWZ+Rv
Pq/04MGyzqcX38P5PgaoosiBN/g5l1KJcBXhR2qSHElv4+pUtToLDm3bBKAHw7Bkz91f9z4uHabw
hEVsAzTgHEI+WQoVfuaIZauBu4/Ulx10fXJHuL/3YPtEC5uYFnSa7UMCSoqvRL/VKZABMRyY/PEH
7LfwvA9YYPQdK9hP3mX01q3Us5PE8oCHJBSp9Z+cWxFzgwcUunX168cY3YAxhYU4gaF4isley/QZ
UmiPu0BvxCxgr7ERvHZ27vAb7iBKv6Ccfp0hUL6+Mx1zOgAEFNpoa5eiZz8nPeF0+Lo/esLl5wEJ
chEmOWHXJby5r3QlbAfKvKznXXbuoOWZp19ATBr/6nWyeTFfw31+PZ7uB6/rE8o4SCXU3pNiUib6
vMkYu1zmfZ34JDFZVbSbwuLziS8hma/eQ/w1ZRd+5SpGO5DD5l2wKdqets2cHgBaEV4iieTev1wf
X5cTjK1V5oOMGsmmwwPOrfiExVxfu9ozMQtIOBxCb7+BPLd4Xl9PdOVuB3IQA8KwXd/rNvIFWflD
9EJ8mv6+hvdMfANWSvmnNltY93sc8PH+cvM8NSk1H3cSFKyD1Xyh7+0il71pNk062ZLR6YpgDkrR
lWUDDgZo02q+0GVbEnSCHPwkg9IQQMm3sSYGu6LBzdzV3qMV/HM0O8OwU0BQnhTo7+Ok/B5+GR94
j06d7SIvH2zS76IeG31YYZwvDgjp4ulv4gcyZgnxhWwieVenzS0mwXyX8Y6VDMdJdJGL0dvWJJON
7Q9x0khfr3dqz9mWCfwtJB3EbZ/eopdn8T/t7pdpVsKgyWkmoJZgQfN6876nqG4DtSTYmSHv18s1
r+nPWdWoyyt8zOqmEVt87Hgd70sJW/uj72cfNPSf9Z/3IZLLnbhCtWRpuNSrba6DfY+tLBlvXVx6
pgJQOf1fH1cPdDa7yxsPL34/J9RkuIItZ0z54eOyZLZHh4z4uGHq6CZgC07iVxR/b+QGPnNZVpQu
CfF3EAnxlQ60BI6p2vFCT4dfztfrLzEIfH+fK41SxioewxhA5NcEFI208Mhplpz9uS8WLUTjlDns
O3iFd+hTlOx4fUvOj0eeeMl/98wjBJYf1+CQePckGtTOO+EgA3w08IIMgNX8wOcmz4/Hh7NSGkjU
UGK5yv4pNEU47y+/RMCn6Egh87vj1IB/BezE5HpdTz4Jk19OvsT95ZNfyMzDqCC5VNntNb2hfwvI
OyOS4BWnUsB7tEDrLhNl5LngDNy9Tus8Y3ZknFC2HmZzZVjKSZwHMGa3+PXXZ5hZ5q+5KldfVfKd
/Xg7e+Dc8RYzkz/e3v/p7ivEwm+Xv/zyo/lMJvNbLM8EkO4Pr7shYya7PT8tUE714+OMf0XlHIxc
2xiiSqGb3G0cd+N5jOceQkjot8uZllS76dx2j/0LPg5wmIzYtJzPwms/Hs8O30YHQq0LCb7tH69v
Z/zLID5rs7viG7HWnBISiEouVnBm1vhgmfNJ9OLiiXkdKLecA3PhWDMN/7if+U9Ox5I/GYSOQ872
8D4p3wJf+bAikv+bjioy7G8vXuHbzWkdhI4Hkne7pRdkkVV4P/2NYA5a6MwatVc6dcoAnkj1ebc/
Xn0p3ZGKd4ZZTBaUNlerJmy+U6wQWtJ/aaEWV+UKddqkMOX+/T0XJ3hb1btynvfn89P+8AvKU5zN
e0x13LaRVjbPE5rjlNU25O6V67NY9C76hDEZcig3rM6ZFnteSk4P1w/f1AgfP+TdhaiinWNL4XSS
4fZG6TnOAtXT+xyGBcUOtZDjp8E15QxLIpEjFk1oEKxbwqAJqzrUElHRKAeMEQByETXVt/1kyFD5
7g6o6OHxFbBDsZP5JfRMokSqAw8vcFlTFhzwocZOlJeW9JGlH8j30/l42N+ORP59nkFn/petw+Qw
2HAiQMkNWP6J3XsDezqUIHFmmRXeMT9lr+opozB4XN9TTZ0gjsaUTE2U6kooHihXJYnNqdIimx9+
3AF/Uc4B5SknyYU+Y7ePoNfGGh/iMDK5h3YES7cq735ebpx4ZPl+QKRltQXqFJwo2HOSE3HhRCJs
vA5A6qFnRzrDfJeKGAw4bwTfry4AWJloQCVuIV9kcIWaNM8PvNtTHKeLh5ZOLyYceWUGHwgEYwYE
SPAZ307H8UqAvMTNy8LrlBxZJat5p/qSRHYnW5wiVkosiFfEcNdySWyQmRY84ZClnmJoGbCeyutw
MGcg96b9frt6MNlJMO0fGO5M5G4ghO6WWGVx+szhq1LI6GZJ7/st5Yv6P/YcH3POCODfU4v5EHls
SrGclRPiJQPzOTcq1yGdncjVjxIHSD2VuQjnFY7fzYsHeZ0lIc4+d1LsGVGKvTmCHKq8uM0D91pQ
2oVsKGGvtKKVD8Hzg1T7M0NTT5S1/77/6XnqeZyLkR8Pz112AOWG4BWA5kN8aPqZ/Oee4ghqBSLU
uzFEYjOZR0qCUvNXbQZzJuQd8Wh1LXeT9/44HcI1+PBYaZW3AtqLsboAJX16Wa1qxpl+fo4h2OAb
IK4FVBp6v99cvp4BAgJcELGATLZeHDjTIDxeE+jBMmIGiiF0xzwz1mczPmtX8LmkSB5+3k7n8+mA
9nWKrxGQa8TaUBXVaYLqgOreL7nZIdFt9ggRRwFMFh1UeFFU0NHXYUGyXlDHbV8qBamYiqCIrmVB
JGbo3e37sIfTxQfRl9YfS1Hb/CGC5oZMs94+W0pQl9iLD4BlBLS5bI60skCAYVKIQ4VgJ7esnFgm
0IrcomJEKbvNay/yRgOEbte2ZEgGBoz/YekZnTx+3077/LYQ6epA3h1AVEwq8mKX+5SpG00X0Czz
B9w7eL7HiXVRvG8QpY45azyTTJqEynjZ1ZLm4f+Q1qNgLqANrjFXkRKRnBafi2hpUj7reLbxWe1h
EIg2BwmPOBewh1ALJ5bKVryAJ65dthSGSgukaEuogjy1LDkFyIw9PTyGFMGzhjJi1NNKUJZsJP8G
jq+502tyKEa/9P08PcDb/nIP+bdBZP51/22f0hXJA4wux+yvDFZIiu3MYE6pChEUtkUOTnUPE8HJ
l93EIckkdSS8Rjj/WMiYyu/QSXoNfM05rjjrwbv7tN0Itf5+O30LhZK36/c7WcQIfaPhxpyF2WUR
3TdhLM58YfzxPsnK04J09Zvf/vH/4DtXqnTiikYLNp+H5V/F6fbLHRGiYa5etpztKSISomupDq0A
7P14ShvJPVXQTzglizNWuSFhcvCWye3UXL0AZZwqm7S3w6RshiLOeOG+iNmHTdM5T9IYUwbCCrs8
q8jNjqkVIg8+rtEVa0z5zTEzKc4Zzy7WMdFqW7gjEPgBhuDb9fgxw2AW+cLXtxM+Wa90STxdTmvx
eS3v14kQf/pCk/mP8KlsDn6EJKBUrDsd+ES/v/vtb3xp+l/GOTU3PMjTJbW2nwg9Ehl+K6BkFyAn
o9s+XG/+GD3wAVMpGM9BlYuXQHv8nxN/iyBtcdXePHzgrKiXoowCdfVB7O9eVOTI8uV6mQP9f755
NEME1C6cg87nELxnQ+5IVyIBKASQOxCRrNhlnCWV8KKHisNhRlJHnvZhzua9Pq6o8haPDjxomUG0
1rwypZ7fx8ef51n/9IxvV9sitpbyLhNfe49n7uu13vf3O3H0sqz4dignnwz2Y83GCQ6uy/hZShqc
BN7uOK1tV/vA8fPrTMlsdE16qdFlkNuJ8YRrwTdt8+KAv42hFIJGdEtahWS4Wb9/Ga8LzcR6pyU1
jjLk4jvOgd5QQuygRJjEwGYZ4IplFv0IZqEKopL4hi3ARogQjso0eWw0wPbnSQ0njg+ADsBma3W/
AHiEE9v954+b3+6fEyABPr0r359yzaWyiwQkkyEC8MMLjbLP5/FMnCKIxfv4g3DdjIH3LRRqeZYc
MDDnX0efKi9OZeb83i8zdAhrCPAo3FN2OtOfD2KZFe9PFPy/4/we9oUQebq47DLHx2tjR+7xKtu6
T1y/JjvgRj0bcJhcCzuD9Xx7SSpSTIPzrDB8i+OAHSDr8IWkJX+fjyn4tLddARBtQUCq+gqS7KCc
j5Hz5Yl8PNl1lOJOcHeQqCMWqYHWdy2KC/6+hspMoRhKagJHPNa+JLKUAgdaFxTWA8E7Muk7Txou
SW9w8uk6p5/jj6QF4cffl8kp0gKV7BT6KG1Ux2ShjqXIbeP8UxXHtLxQZExzSmjXEYwYJKWhIIfx
9MA15LbhKyvO4XQGyDVooBY5/ZDYBmx2X+AT0zN9bSWh/vSmOMhmr+/pl5JYoijZUdxk6Jt8SXlw
PwKxJbPAw51gUbXQ4UrkUuQQasg2x//8y7+FDmQh2ed6OUxP4hffZu32OHw8iAn1MiEAwvAT/scf
fv8/phf1r6kGfH88htZtv0+LJ6bMNak+eO80NuWG1eVy4xCA1fR2P7FGtUw8twJpG/6QL3zS7jfl
gxlWfGaWQUHnI2RQ72SLZbX538fFt+Ym4at6KwtjSM0hdfhKZnWKUD2H0uwbcA/U7nF9J7xQpSFd
FgSHFuuZZ8E2VqmJ4NPoPzMpen8jztCBjEjAvxIwOddMJKo6urA10n4jf04B7RkAewuXhpZL7NEw
p1sWKkVUNJKOh9cihRUKCCAWnIKWoJTL+I1yb0A0MrWw1xX3EwT3A0moAejU/1wg/P4waRLTbmIy
8Hg++WIrpnx8hoQPz7ZfckjmGPplP5mNh0fE7vP1oSHPFp8s81KZ0/aak1VQ/MScoA69W2hkBpQL
KG4p65ugtg7g8Ic45ZDN0FSAM/fPfvX+WKbFRgdaHcybTWpsbFrJr2UoUQbirgCzeA+Jqo/Ted4i
OyNg7MmRuaKuu4ccu2Y2+Xg93Y7edIq4FyTLtEPFfQ204lFdlPYdCsCn+sVZsyTyZF0IKsuE7wK4
4HKgvhAK3vV+vl6nM51m9WVy/0VYTyLPZ3OSSFjLHxd5lSrvkr7x/HGJ3snQu9dz7QyO5l06aOVy
73INutfkEh5uMPZ+PEICbq4jwQpv40SgRl4ucLLNiQgFOk6VYRsCgzZL7xYCvLR3uSbcCyIjVwsA
eiQxjS6B/Sy6D2KOjBUBwjHek89uoi9A6UWXjcB/+v3v//S/J204vvWIMFtrMbuY6I3PP3QFkoFu
xFzYJWbMAL9PN6xWGH1Un1mWA5i6NpeFIjYA5wPr++J9z4WzjI/4fjsQLEO1DIDkxMngfo/v11Bu
RbjVBHC05Dbck3YUjMvxeHzaGPNTleGFupx/86c//M5n63nBR6uCFnghAUrcSlcwhK4AwqRyKb9d
xWVolQVMEsTn7OR/aV3bBpWvB5ExAOCxMCS4QULTA94LX2UsUq5NUu2qRm7jHL6uqmhwV5IGVTtD
aA4ymE+HXMMbJC5YFk9jVtHHZfwMFP/xlP7Ac7zTuzfJbpQUdDA+Dtmv9x7cIUYv2wSmt4B9qqUv
D1Qb4rSLbCWmcqVUigT9fLrF5KY8VUQ581kCrWqhOBdsF+QDFtNPC3e5i+kUy0n+NeqdcR4M3Lq3
ouhClCJ4KdS2KKyYHRimMFmIeyfW3EJ8hHWaxOi+gI6tqxJpcWl1eVcDd1fMGee1gBIc8nzxgwXI
3mbpK5aW83gdnx/rNJDrgdhq1wJaKlvmEaMB0Ez2cuF4ovFq8iBfo2zyzWIWURzmyp1L9lLiUycb
5sxx8rB/l3V9bxT9+7/+fnGCJYGd2idEc2lxuMjdeWL9BCn3rlC/krkE5i2QveFXiDl1C74JWWtk
eWN8fLFfG4WoHT+QqRZUAHGHQahDXUkr6tctOGvcnP7V27KdxECf+oYt9KrYgpIbZ9xAIaK4zc1r
/ewl9LLAG0+KGkvhS801MfNQmgfkzDySfZzTtMwv9FR+FZVXtoNcKem+eneBQPepK4+fWO2tc7KV
9+Z1vMCUfa8Cr1R51Tpkcoc/ufujQRNxo6beFdZ4ihxCvLgwJxtfdSAlISVH24Z7ddJsp4GvAfD3
dOBCEb1ulqWvoi9Ji5yULiKQo1qtAHQnfGf4SeyHQfm3GMxQB3o3+zvxOfm0/2JbYqMTZVl4KlaL
DlbvN6yz8UJ2ryTCo6LI59AN24TxrFgQf/R+j5RLDl35q16dG8PLs89iTh3QBk1m/IFX7ltguQLX
dB3TVPgyet0yCsET9fV202OYbOnQ2MrnCTx83tanMmtAcD53rUm5iiGVYVrlbbKy71uyAgG0g/Ep
gtNPyaRIpGxGLuQvTGlGGnza3PNpk4feAn9A4F4GI0Z+lQB7ITAsU+QHxqB6hjyiUgHzgzPehDLJ
rY5xl2jqEQwm05JPrraogyH4VTYnjWlXJtsx+ZCb7HsQowPpIkTm4n3c35D+VjGDJd9v74rYZ5qw
PlTitQwF3zJI9NkSPpUmHTPJzfuPH58JcoL0M1854uAnYsvuOcMzfuZPTJBN2pJbSyx5AQYCtyUw
mFbQE6YKLmBq44/x4LGYp+ceaozxOwL04/NUVar9yz22vQT0FTRlNSDhcerLdCNbhVqgxTT7TYOK
ViU4FOor9neozuZge9GcoVksI51SMBOSl3vO7L4dfKLqP804R3/8C/Eh4MVwi/7JfSh/5wV8JwJU
EU7sKtRgP7upT30MGKQ5M/XXniDW3zCeoWz5UrafoZ944r7EXlRpXMtPfqDeCkEQ/dD0KhWBjBVB
zw8g/xFxWENJ2f1q/tZzit/cNL8rDdju77l34jNduY2W66Daw6+w3Rzocud9Vwkf5lfePHXrpmyG
9/d8h/iKLvHTuw20tYFZgjaDMiNU1Db0P+I2RNlNy32WtviXXnobld70OrZ7YRxo6QhqIX89KyG2
Yn8N0zr9Kq7lumbktvzYKXZqPnGiV5f9GO0nTijH3NmLFsVF609eNLH8fnXBrUgeF1OP8byhDCvK
BcogFEeApH/CrwOyo01l/q+sEcL6GIrkCjtwieXffyEyo5wtE5oF7yHy3sHQ18q3kaQ8CroqSloB
ZYYElRwpzvZdyqc7XV7HSUllI8kOJAAWLeIbh/uJmiirRUtRh3l2yQ20Lc8OeDZCuWtyOzAOJcJC
kSBSLXKz8sau73P1H1HnIcrA6oBTQssTF2+8wm1spFJPgsa3c9+VZR4/uRwlC+pjYFZLkaYVFwns
McJnkXfrlrgUUblLZH/3JfRkslCSO2A6PxrsOVr/eQqP0ZS6jOYEzPO4/4XwU1bZIkPbaRL8oPeZ
IgLJMnkoPeAOEHlpfHo5416tlBFX5csSZGxay2dudvF4kY6pruWhb7jPclSBcZo1CxqAfgWE9v58
2hPZBiAhPyHZoPLgEuvKHg8i48Rq1Sqbq6MGRLAAXLWOLArNDUl9YzbnhcBumzaAPvQrd9RtfPk4
72+/0p/rygRGjR3ljCqzhfl3rXJJxmeVo9DbnFaVgGlEBI5jJH7q8mw/tFKyCO8hivcf88tt4fox
Bi90JlQLIO88sSfva0zuTD5ln9E8J+YHVBQ2SgGklA+j9qhLN8dBGPe9Kjeb4h6UBkRoPLrALxA9
l171mVcEHnhYs9qg43xQiqQs0Qy6ZqjGEaGaEhdAabTYdO5xvaHa1IGaUOF/KJpsTvesPhJkA3IW
c8AHKzUlFXAHtUKZz61ZJDIXtn2uQESUVSgpQ94bV4+bT5nbJFYBQkdAIFrVw84Z/MnoJzIsIo+V
RWBOriIUPna+pMahQXPRqmlvshZC5ZJVRYjbFG77pGJiRVXxjUqVzZg0FtBhiAb3n4kTbmu/HZeu
y5Bch1QkXoCkIvAlXK+bgOx1hN33v7m8eCirLVUCpd7XKH9NAUi+Kk21YD9C9/nuyxCjFK+3iLH6
erterh93ctJYmJebTprscIS6NDW6yyU9PuskcbFU5BUTuf+SmCK/EtCV1Oeui8EtuF38YAnqgPyv
uzmZnCv460AHJT98CPqbhhuZ+9l7fZefKtfu2HQkWyphOOQTUwoh1TZ+AmYWWfvnXAkx0tDF5obd
EUjgN1QacLRZZZkMoXFmR5Tu1vaR2y4Qw1JvV6IAE3iTAFcvdz2n9RMb1S07MZ3TXxLA2J+Dvy22
JYjliQGePCE07jqLuvIsyH/UMgRjZ4jyAAP1bVxmWYAZqYZ4oSRHZl+5h7gwhdnu0SFIig5TgAgR
yFJtTOEdCUtaWaR0YlbbyvrNzoCFatLl4x0sLZgqBE0kfBwJK/t0CVWYS9+h6HNLNDUHApAMZQta
ZMayShB0DkYwbLMDaBXHKQxHAFrV+pIu5K4R4yPMIEx5u0Wa2qL6xD3j52dksb1E16GH73ILLJWA
Bp1BdlrYwTd6Cs6+djL9yUwy0zEt54ivEITHvUNiqVlb2PJkstx2dXs70s4Ki4ZhBAuieucV+eGe
fdUVDvjEW8DGk0cq/Qmgj4jiRG5cFCQiZvjoIEt859lIYr5/7N4TDU7BsuzO2wHpyJ4SyG4HkLvH
D59IFCpFZpol2JBo7COUrntuSXAJkCEvl5dXKrqnss8VgfMWpgR1HCErTtX35T1kHLlb0cr4n/WF
+3ul/OSG01DkcB/pwfMO+m3xpryHauKWKagZ/5A4SHCHAfkYUtJ8kh48GaMgmW8ipG4NcC2bX4uF
+ScZWiYafNvfHIjGg5zalry9XC/7++F0wlcECmJD5xzT4H6sDDKwszBAn2hpAIQkA6nbwmfmz3C8
niPN1IKV0ci+KVCjwunpejoK/IVa8CwCh0jlTR/H03X7xWiQuQLMiYrMQod5ktZAdoJbHJ2niG4c
vEi5qdtubkyBXg0shF2ER1rS9XL+GYMESUhiSwJcHtQ6V8fDPWgNEiJAg4usSGwXt1AlcQtrSLvy
/eNGn6N3wCWCBDelFzjzYEDsY416sSD+BehmMUzrBbzvH693Sq+xsLh7CLZu6mkTwabC0hI5sCcl
ZOtlNvQsQ8yRuWeIXKVihUiJHMuDBe/+TawepodhXh4HdSygiC8sIynz42Pv68zmZpqTAReaeHqV
d9xTij0olMxN66JwDbEin/owr2vvcZkn7Z4QrCBrLbzguZnft/2SXr0LsdH89HzbUYxEDeBoOXqZ
H0uVDEDtVNtCXugCjGa72JEVE9CFuh1LU2cncGVwUCZq1NBMIV81ZvoR4sOIqvJPgcj79pfcA60Y
9JMutGJWdVGiSP2aLe5aZf+Mrq5L+bYmLkL9dA1trcq1ARYJZDN+mYRscSVD73DlgdAdXItDZS0f
1+pVi6wraZuivoS0zQdrc/3AFqqW+MrAZeWYdMO6ZxVtaAHkZIta72SnATm74RWbhiGxgcXBzEMQ
Pk4us3o526xbY0pZLuducqkuvdR7OGKCRbS5fjkB1PoGzxNpPv30OMS7LIII4dU3lCfPCkrAprg4
/14EqqAqWdJEv1LEgGH7drrfkfZSUR9TLQLj3b3xGquVDJmVzIR+Hx//dnobo1nJuT5sS45ucX1s
8ACABM5huQDKt4W/SQfRB5INXm/6d75P3yaeCm8g9Bj6NSYwK3KFbgENZA/XJ4Xs0Eob3cLqiDlt
qYkXgdLo3I85Hm8v9E0bXTjz5kbnLRPSECYkkAlDMNRdk0UBP9TCogjVAiwOQL0Q2j1h5Tro1ghx
Nod4I0rEF1SA9aUYlEuJMoiFvhyIRMPIOUULfqChgSlCA+sLDUwPiDNwfHsKAudTvkBRunCKB+dJ
zDOr63ef0PBO6LC6XciAc3SJc/TSfarWSl7W71gu2hXgKHOvu4lc92Gm6CIKsxAWjQIRlCXLJeed
fCqq0LW84oiPiXCsFCBjwYdJqeWEVg7UtBBvxdmDJtgDEH2xNZyszdElBEiwqqFYy9we9T7e/unF
x8JC4fJv/vSHMDiyVZ9l83w6+1wyj3+HZiB6liVm+78rWnjGiWZ1CI8vhSnmhPsu5aHblQMhvcol
K5K6ARlCu7kC36jgNxnAuoIzdowaCAX9HVdnW6uLzQjmMkZ/nLv9Syi4DLMGP5UvDAd/QzUsiIsG
5yAWm5A6B+qlxinNMqWIffRE8ohsmFYS86plXmmX11veun/KxLHmGwp5NwrOgNN0pDmXD6pfIuNx
LOFdj9/NJwJQnTPhHz5udyS8H7+ddx7aanTV+ImN/nKayeA+EitxeSUg3W19hngaXtwQuIqhfoD0
2535Zlf0f45D8a6gkQDy0NDPdkiJU/mBTZS/4XG5cgWuXnzVYIk4zSHfay4qjTMF3y8xNL874+tq
TA/3EuX/+/kDS82Kc2QuAXohQJJkpxgqTuqA7Enq8n0D57PFiWpR0aeHuHu5XT8uR2IzstyMqXnn
lbzTPo/OaEIb+I0idpXPJngITZKF6Yo2ZDLEjeWlBaUDMp2gtRC7AvSVHDiVvuhzSd9g5hGhsQD3
HwiW1s6sz/jcROnGmZvpLEoZnzsC3C5Bv04p8WCHk27OSd+4O9NSXNteEnZdAIYpHJVrH9XnMwpE
5ZcQRHyTUj6HAiQ32YLQV/Lx/nKbDNOldRHuKQEWtF6YCHC1VIWHuP8ApBLZOlVwWsbEU0jTwxhR
VloO0ICZruxpTsu50yYMqP8FEqbQCxfL7+V6fSbyCwCMXc5LwFbUymjchX6YgYX6PKK7hxcMCpv/
l3dCm3ct+OJGwiHvIREF/pnCvE9R5HzS+aQaEZh2TFgSUc/MBAJoSZEsscEJ2TezR2oKTve/gZBB
qlIAiLSQkJOndHMem3GtAuumWUZF9mCKjdeoXU9HCRUxly3eaSoe2ZKQtCETC0qEzDjDU/Fc/G3/
OLyO97kzg/9zgi5swQ+SdOFC0ESUT7SgIBoxY56Li0LWKLM4SYBXCc/EqLAxOzSrjAjCyaGENVyZ
6aT2Ggkhv17/BAe31Rm1hQ5kw1uTzFTfbsGXXu2+TwzmsL8d+QMHkW2A/wuZ2Pv72cvf28S1iEQz
C/hq5ljLsfv4R4iNBzqNrkp8LsB2hPasUOhlwpL3RFbKOE1AmA/4BonQEc+gDUAUFrmqdHmO1X7T
q0TbPsdXCREjvKSdwX1jkVNKDifkswYhu4BSClPxt2e4QEjobnlFVZ4erzW2cgjaqkIZDyZ0hqER
EgMPcyLV8XJc6sEIL5orcIQS0c9ycaL2x8YI1NyCbAHxaXoY2VlAqCnUUhEBiJ7wMIJEBq9eqQTK
ltSliTeEZpyz5yo1yEiadjrGosYUXzAI58DWofNkkeI8lKNvKr6USuYShxiXWVLBmWTUHkR6gJdn
/bkTt2xVxLRm/WOZZ9ao2YmAIgPggIvlRE/HbCwstLBhcmMKu2HRsuvdLsxm+7phqljAUHbi0ynF
M5ZgFehe1ufLhmAl1JYdy1ZuKnGcW+bUJIkm+IUtxA7Fh15y/euZFnGyWIrEjLZM/OjLGfNb/JXP
pW+Ze2sCqoGatpORLi2fBgXsKxLYctDATAWuJuyZf/pUZJmjpYlrJK4un62XInbgt85Salf6CQT7
njYdpiq5iNlwmCl19RjyWBMlh2M9jYRFDbT/8D4YaiYmctukyiYJZYqA5Bx9WYA4FlrfxAF0mZdn
EwI0WjNF+Jeq9OGWXsSnGvV0YjVugJvyqiSt7U+qwnF8oqDaLUDByuYINJ69Ny8mEzBVWRboncYu
6XBpWx4a4eMeFrT723i7RjyHj6AUhS5/hPoPTqtboGqLZNhfmchrVQlImQTXdJe/xAeVOlVmfTlY
F/d3EOSn0xyHZu+T2Wv/Kcdmqfskb1VdRQjreZjnaoChDLKvDte3J0/LS6Uky0D0MLSM/m01kuAG
llI+IuNmi2WnytVIaBwsu/KXyNWA9iB7HTQTSpRXpGN5zIDYwwVPtgGhf98S0qEpFnxqZ1l3mMg2
eiO2FmIZWZYGFnsrquwDqgCzOaARgfoMkNOWPCZeGDYT2ohLqFJTFJeaQpybKM+tUR7DHpuzzaJe
mgMR+WFD1V+o8PFuekM9CF/BzNWygGl24eHAZ5GJg1hFXzPxLcyWYGEgtR1w20i2252VUrVwcSt/
L7HBvpRS65LYsuHRhvwr10ovW6CBthKnsS2A6ZCxkqRNoPYgN0JCHp6x2oOk7aCSyhKcwksHzyPe
b9fJHnvzgOS+39pP34/jEw78qm6pbxUHsNfpyvtI+TDii4hIAAkcIBoH307Xc0Quij6RqLzh6kMI
Fcuc1BAjzl2fzdNp6mXSBPgZp069boJ+Ahzh+GdUTlsINpWDVDBL6NhzdhFC8Vnd0c4lIJvLA7hb
SFmvEwVAyXgeX/bT6hcTIO3GWwLAMwqNgp/4d/ORBfsWFl5NvOQwwin/gR8WImcEgI4MW4ggAoUy
CQeyL1K6kigpEEbC9tAZOjuALKFATc71GxZZImZ8YsWmzHPo/7EUIHESAEeVXZqhM5t33ofP4sdk
8jGFUnFLEVBrwWBbGylHlYlksKwziC1vKnrJlaQWvnaYUpa1WXDk/+/QfgcyG70/rUgvra/6H3TH
mbh8xKv/dYRMEK8tXrNZUwGfSCZVmb7kVnP8v8MDRQfFxqKsJPCWT+2hc13Jdvr1Hi5z0OMVy7SP
VN6Vi7LUafxjjsG21t44hohmt/roZZzMh4AbM33/Gn65+ifXW7UY9CR7WwpE9ysFE8ZeJM5fdCne
13cYOl2yOcBCZD0BoL1/mr18lkF2IJ/RW8gWvciNtNj1IE9TVHfxD+CTONsCOcPBREFfJncXXQ+T
dUMB6dDMpJgVQFZ22HzIEcm271Z08v/FQxFStPJv28+2dSvJoOOiIfEUTaEqmO4fzKLxR9n1ZXbt
8I9ih8QnQZp4zrdY9KLtlNKVmq6oX0+cYfdxue+fx2i747PBxG1bHcTfozvgqoMtUneNROnrM9vo
dVHckWatXyP7rG1+1qKTwSyfJaU3pCNz2satlS6uWzEqkp+UMkXBbH3dGa6lU7DN4eKxVcn2q9v/
uJyC4/3im4+dT3/DYacjjQNZJypZV3P2f4xsyhnuALW5vncu2b6zeRqQtpXvfJtLO967BTcVfqxt
4E9MJ2V5ooAaCz5FLKhvFQHg9o0k1FFZ1MwoXV/vRCP+7KnlgOKo1Rz/KMEiZNcqDvr76ZBQLUTr
nmpCBC4unhf1gBf5S5xeFyqMtzGlrpeldT38g7VgXAmuNC/7SUcaHb2JdN6Vkkz9g11PhIZfWqtJ
rVyWHMa0Uw7x3WjZ8iUkcOg19iVxLAMoilqcAylKwI7WuiQYVQECPfa/jB6mejx47OjpjK/ffNiG
vy1dFh7OTRAqeCD+mGyLm/BQynFwfrPB4yCkq4oRmPGmVDoEvCP2ZLuVm+wf5OkiCFUWLhFC94ow
poxLswc+V2+cGrkySbc4wDtYaNYt3LqxrO1ys+tdSV+qkujbPPOGUWf+P7HIQIkmIDOgAvC6aHUY
+pPcl05Oj5+Q5SJtnbQ9BqADn1qSEw1RGyE/zFDrbuHDmnbs4eHvgK0ufxaTTlKRJIPEH5YN7Hif
hOK61pdiHQjtuBbAqeG16kE3Z7pM/106dng40QCTf51B9fDpTWbE/rkMAzX9PWU4xc8sMX189sLu
CT/EpuWn9J6lTIZYP6gzVh7yfcv6w3/zlRLrt9Buy2jym45/CTYSq4e6WJ/nT/Rdf6ZwdTNBRsBE
g0AS9lNHv+FwTKZMn28zXXDzAxvIBDhR/bKd/sRKt5yyhBpvUHibH6gADTmPidCZ/XmPU4pWbHo7
m57msG3ZW54JUNBDdwf5uWfOPRNZMBEhOoqKYSoPR8RD+31sWviWcwFOr6BuC6k2M5At/A+EbEIu
jWjz19Dd63A9n31zFk4ggCX7DhVCiK08g5gULNQ7FKeZN14hUUyfF+rTBgaxnXVu4vymWrLUn7o6
jqYhaxYBHqU9/YaXDGL0oAMqoWP4RbJXpktlxqDclyMoU2gYNG+ouO+W3WvgDAz5cvoTQnSTILKl
IBLbCWGLBmZN/eDM55QAjpDz2/Nec4zNt3ncFiUGmKMB0aWTmPgL/roEyrJB/uUnEjqf9Z8U29y5
ZOXRZyJsU003K74wMBbb3yXEjtq39sJgRUSnmikdvaoOwlyIcJVtBmBb6+Cde1BhVYGR67Wf+DMh
ECGGwv/V8L1v8xECMCEQAPxMdFQIYG/GSFttfvNuK+Af0tnvnXfzmOiJ0EgAsJXy2rtKbepaYWuO
aPqulfyFFs3zlw+FuHcsTD/V1nw1wuk9lDhUa+/89rBDVyEHCSQsSMQKhmbg4h+VrUB44kscrQb9
ssTXDWWMUjX8Pn9v7BviEIno1dmKGUok1pYFmnPbbjxFmYcA71vgE60C5SX2E6QTAc7YFSWfCvbF
WUpnWpUzCc2VqZuxZVMkAdG3yOkzxBL5gR42RuorRw/RmSo5HAkoDdlqJlJjDu3SzUX31+pvfZUE
X9rWAei/bq4Iy70N7zO47/3jaRoV7hqdZ4Y7C+0MA0Rjeuppbfey9pxYj839BO2SH7HaYYTCife5
dae5zWHo4WBnoT+JwzT/F9zA7QDCXjfXf6RWeaG/66zazBsmZunLhej1ke8/fpzOp/3tJzFLbrwI
gCxXB7W1aLIDOJudLoLEaX8fpwAgyvSd7gC6WleW3BQ7jKdFTJHpEmACr8rp45yPa3zPm0pNO4Ck
2aWmOwkcrTn9PPv9M9Pr8ooVrJ/YSmy2vIw+6xt5BmwsaC7q1TCTPBkFtc8d28lVuAG8R08etjXT
CtaRnhM0/fTm1JDKvRKhTT8ucwPZDa8pTxb8Fo3X9Li+T8rFN6QvdAdwRJfXhLAdvki8A9Cv3dwl
K9kqbfB0oqKnKyt6utSZM2gaC8JMxI6O0VYCUqdrweO1O3EQxTZD2atK1FKPRYoqq9Vkh+GPe0Xq
eA0bfL4GL8vyKEPlr6+E8fpGHIoXTYKiqE66qGpzCOoExBes3su1Wu0edhRgpGtUTaeA8/PHJZoT
yy/4Ar6eKeDz8fjbyYthLuIZa9xkq+r4V3cchY0addb1QD3h7nW673OOtieGEjEmg1pJKZOmt2UN
5NBGqORTbuJsqqXsVnDv/7A+C7AcMWOxtdHOJ6p/Ox2u5+uFoNBcJOmlwNATRZJEWSkENsrydwO4
4ZamorpVOF5BdfKgSYJpUFEXmhKMtoA5TJ7p1hWIjoBfAq2OgmQje5vwXT5Mq28kCktIMBtrSqZt
EQwBvmzclNgVkrMrl6knFYovgx3K4mrcxjyOPtVo/6DWCrDCYkDVrFcbWE/6wOeWWqJ+oaB5IWl2
A4bG0EDZjM6ewmravQYW/n1/u/gOPTieQl9g2M6txu+5CbMnRaKK2wjYWjfkC6nkpv8k3okB5dKg
2rrVWWmS67495WHibv6S42kSDbZdEy3ok53jo/hsw0+14NccQXFQCHkp1MCxCD7vuek1/vRFC1Ru
Izjur+x4W7++ObPhZdq+/2poXOWPgENxqRDxdO0Y4RtsmjWiR4mo8ncBqpTNRSTNFXhOIGCTqJly
MHgWgrU2m8NU7rD7r/eH9V0LHCDVv38SMbTsi5XCH7OuOp3k/XH7ODyutw1XXTI+EviAEHCmBCgv
30sChIbQ0SQvcKXvNHfpmQ8GBZ+t2lH1m7FoqO5PVQ9VRzV/Jo6oa6rglbj2eQ1RY579fdnKpFs4
9bLCBHR14t+n9DFd9rBUuELWDQRDBk5rr5yJHm0spQlRCEy1nA2AMQzek17Z4R3dDI7HP9KNBptI
w2YeS6Np+cwq9RZoQwvRkzIh1G+aVTVN3+o52m5wxZ+5aZ15k5wI0x90KQs4E0J2OKYtccbdZ4Dv
Z6DoiRYI2d2XIldQ5i8PLldB2oqWAcmjQ+lWHKOtPRL8D0CqA7T+tqZNuFu6Fl03ZRbvwSqxg0VP
vTieGpqo7p9rPOpkq/tIE82LMvhNC8hvE6aVdUON9Rxe681XgzxO+3NK1nweb4i7M4Dxpsh1Z4sa
lUKNTV7h6Ch+TCJ0PwlRXxiESqcw85BnDrgMourmmZ6ct/1Ol5NfcQYtlui0fbq8zhbAsIf95dve
6+FvkzSd/rM/zr8uqR9frsjLlaCHL0jE9H5oiy8sSb4wgVxa9/6YBv3mt3/83W9/47NT/vK//vtv
FmBm3CDx8zkD5sspL+kyovjbefsAnwHcbWhrpdd3O802Tsbu8Ymk+HBASU7NB5RYVDFbAk0PR576
gL5Nt3D76cuU7nfftwWdPmWo+emHbslSJwlxfziMxP7nZsphSrl45cCNeOvqxXdTP8RcD6+UX8hL
0X1xpLpxpBNzDOdAbDWfJOhR43O1ln6+weh73MbLy+N1vExn6tc4aSvx3+DrE/l1eAW919wlxYdD
rDVPaHN7jThhyjMLt+Cluafq8YcHtT55AHIf/MQnBifpPQnpJOM2AdZSfMX4q5P5LAGyn79jVHyH
gwLUDLJsAG0kYrvEirKJ3vC5erCGDPBSHnqMYf3Xx+k2aRY9fiwp03SeS82xmomNT3x8zniJhunl
ulv+IsRnpgVf8CBlOC8DeILLuUGxDcyiBc3TEoQmSnZpMLoIv6Ga2IVtK1cyO9E+QuLgbOYfPnfO
KkYuxDSGQG/+2RMSUpZcZMB2mhSkic3/2eeqP36+j396Jh4AEGR2qQi8jS+eVe6MFAMhBZNrIZBJ
8HultIGCakM4B0qw/cePtGQmoSBcsaqeSCTF//gXP8Gf3v3YmAkzz3mNfzanTvqEzmx+JvZQrIaG
IwOVc/7zydVYfyxyM2IWgKDjaz275iyfXx0oQAXtwep54xks8LXnk5faxGJNC8Jvy/kSC+3KA9DN
OZc1JnhdkF7PZOaCMmXQhPjX0gT9LVBQDUBrVt+KFbTEkkUJcSbQuyOWAgrPNXpVn94hKKoOO5Tb
bmsypp4nwUDAmYGiduBRqScORD/9IPattpAoRU7cw1JlY1q3nZ68y/16pC6tX+HSVVL/x9s5h9i9
HfX4+eUHLviBgrn4gYJn93B983c/sad7zGS53E9og4/A0bs8FwTnyIjJr5NQ5u0YJ7IcDL0SioY9
oDA3NF7my5TC2oAiDRyZIUw2R8lexuusRuPzKAFMwg5WwbXUG25VVpTmjWXVe8peddqUmpFCNZrT
7R67FRH6TN86sUKfuY2n55OPwEWRvazyPj4eWKQxGmKu3Hdj7nTdaerrZTrda04Vo6y8IWs70SIO
k0+aJshamq5rGva6m6ywQ9D574f9e9tJHy5KZ2UluCc1pprlThFbjXZAAjl83biz46SBPqj7ypcf
+s8Z6KoIcNlhtrfr8fT8Ewerjq8lHyEIVEfL5p//8peNdk1X2hTDJnV2jnh6ZHumBj/qtvn8es/M
+qHb4k4hJgRX3eVIX63HD4Qe36TueHpxk969tu0MbaHAWhDjn87oetlAYB14Dn1uXDo+vZxxZ9MS
Ww8g/NkhR3hqgKqde7wu7jBMIkfBAeyIrOFWT3/8cRiD6GQyKaPin68gJNI6xuJ5n80dwtgB76tr
u6KaPItgVPnIQoYhwafu7/tDuw1CZE+AiagtcsRnLNJuIpOfgcpKTBCY/9xqBBcSjPlmPQ70tlAZ
2PWT7ZQcyFzUct1ba1shQ5hJwkSTIPNmoKxGf7dNE8pyg7LdlmnzdLCrYrjnrp4y55cH6dNaLuuL
d8CPH5wPumx8tLkbk4NtvzNycpUxPFPLphMYWllTf0+ufZhWIU2pP9vUz4Guo16fS5XV49v742fs
dnD+iH5qbqOgn0Yo6qp6g245e1U2sq0e16dOvSuDg+pXdudy0pJt/z7TncuB6CBojPPpho4OJs+q
RTVBqkM+9/xBEhYAxfwV/QMdyCAIPvaeWuQn6B7EabPN8es6nDnQXVoneIJWzKkn3ICu1KyLnMjz
abJjKbVj7v1WqR2ptUIq112bjFGjwJKNw8RALweVHaV0zuK0MiNw89EVylhRZRuVLX8RWDfbIJiB
PgcyI7OF6G3sw3nce1iIu/cCvI0hyPb9eiMWJkvvtVxpED6VadHmFq3zB+ZWGEpXwKz7n88+LPRt
vN19U7aP2410qXcgwFIjqMXTet6fziHR1XuQXkePPDb9SXgW/qaJU1SFhTOHJjdpxYQSrMsYgOH0
sNtIL9PIgrytJmMURBBMDS2r5v46kevu+vG4n44RgT2F1uZELkLhB5cjQ9ls3/aEsBZKD+wlmHeM
B58sEXzSJTuRrEfFv5f8pgnnSmnVLZ0+yt2yHp++ZRvWs1DlvjEGVnl6Uq/t8PH/ERyWYdiMvxTT
tyfx70M7eP2ZzHWqwcSxYFY4yTsWbYqzgGpQScziOR0+i3BFZV3y0q5nCXoWMU2uQwzoqthi6NJD
KUFhpK/7HNZybg6ak6p2FHmiRQOh8vu/+cLvogNVTOL/QfjFTQWAWWKFz+N3L7fpfYfc0Zuvk/TN
b3fn8YfvwEXM3ZUxAtueO8x2JqDCAXhPaKJrNq/xfNmwSlFGstyW2dlZAaJRaDQhN8xKrFEWTW/s
QJwkMQvAFM09f5md7s+nPRGyAwB33n5JHTpmJ8Z7KJr0+EkZmYBYH8BuCYEgg5wamJ6YLQdSTOYB
jbkeAZ9mpMOIAAQTxLtWs3Gn1ZfBQp2QN+4ebWU8/u/r7XwMA9MOQe3W/XHDvOLhLuegnouPJJkO
i9KFnlUYPJs0LnEBPSeInr00/0DqiOJ35TLU16nOUHPzgRzHaeHXn8Snu/xptUjG9f7nxEliJXkm
AJ0Si0iiPRI35FNcPdf+8XrDJxN5soApJJK5mLX2mIWFQdmESRTYm1i86u0VVfjTxMrMMqnMmTtl
bhi9qiGfk1rY6UIptDcz3hlYQu7UCGdgFzEb42kKVRwNaMHKX5TLu+mXW/fV95vOAowGDsWgsG85
iHyU3qWw5YI3FE4Rm82nprvlsaCn9unp+4KHGF2eBn+p4DQz3uBk+Ow+QZ4dIK7sKj+ejv/s7dL/
HSb6U7DwiYVkZgiyvF7O1ycfRdnfTvunM7kRm8erhTovH29PXs3m6ULJkrp7nhVtePldpjYog4Jg
2LSqviT2dpDv/6HtT5tkyY0sQfQHPYkSw2bLRzKZ7Mo3ZGa9TFa/7g8jKR4RFhHO9HAP+nJvXorM
fx9AATMo4MCBBat6WoaVXBwBAxS6HD2qCn4fpc9xH8buTiM2dyDS95IyPzc92CgdKrLGvIi6aPjh
8na6HXw/rOJ5g0sfkuNd9OL+8rG7Pr19Xx1B7H8cb1xErrGjY2w5ly4+HK+W23rEl20wZfLpx852
7BS6WBCSeBvN64zPRMWWO8tHt196PHBW/pmqC78FtAh7qmL1e9pHh40K84fMauCebHj9G5hF7X/6
eZNA+6nSdf2q8eGooeHb+FXBWqlyS7ssbLl1lfhZOrCIlgbF/wL3hxHCWSHq0+7oXjEhaU+Xy/l2
QBhVx8otXEGKzvmgz1bxH26Ikjoy1grNcZGNEoZT3Qx5AG5MvksViNF2xb869TI/f/fLLz+7T5SA
+dKVYn/PCrjjuCMOzch5CoY6r5jQmzxi+b7p5xOoMBgyeoAY7z/QQb+rZvrjX3767v/6/k9gQZFA
v1rV6wvaFRsM/3SRfSgGYNfpUqlv59PxdLtQegtQ3FMKj7pbigH7FFGGnHt1wV6lH9q1YEsDYEuV
Vt6MW8QMSBljqem1Qvpuax/n/Tt+1/1Q5LJsKIAC5U8mJSuY8uY0INiohDOV5gXusz1Pp7MT3cO3
TUyWYeoT/pjSm8qz1tCpVTUixpQWFbpznckoff/71elaxw/NSHVA9cpSrsWnonzKlxTCy352ThVM
EyztKRfWR0je19JAC3byk/dTaskgpvNozF4zK7LYIaCWU9acvqtUc7+c7f+jfdJzDolNWhs86i5N
OclNl78QslylU1upiazMTpcfgAIPQKbwf3BVZ3vblFBaPtbT9beQxOJnm4m4B0OxeFADVNuU8pJL
RNvyZ32KRaXZUVGoF6TU5gM1b6ubxjGpTltmHlUqhCh8c+8E6HqRmW1TtpJt49ilJLJyEulfqYrq
U60qp5Y1Ak5KZirlWnX4h9vz3sYWfnjS7RDqgykf5PmMrQ6HQ8zquExYGN7sa44d/506H8U6aFlf
ybBuqCJOI1vbCP9+uSyNKSjN51M9qrqgkll71cSouL15p8BX/x/dxz+9VVqnEOYhY2tImtxwt97u
+fly2F3eXHe90+3xMNubqZFBaYdjlyShAjbjGrksHMn/8cf/C+9K5k1kDfrKm2sn8b4/OmC71uOA
vlXF9BiVVEzrztYlbUjxXk/3Kd75dFptBOda7Ct5B/q5yD4rk6v6efQqFSN464tjXRdLzTbiXuQY
m6btjtZWgOvVOuZNqezB8EYwGX/u+nX/5MdOzMdqDwN/4VFoXH1hEEP2eKlH0ulIkTF4uLGrbB+T
YdkjW9thCPCVqQYY+tioKWxiw+NSPB/brfxP9lXlG6x/H3tb7rUGLkMmfw9ukgIQQpOmz73Z2dkA
xT5Nd1fWNVwSr8HVAQpOsdc++JRzQTKv592eODXufVkDacAjHVL10S+MJnaDcfn6Z6qh1BC7rNge
d0+/0T/Xlxtiht5Zh0Dfr5kEYBDG5CWHz1vpbH+fn2DzaTn2TKScH7QMmHHDq/3puJ6qt+sVrdKP
6eFM9+Lt8mrnU0vCOXEhNonwwr12V7K+0G84QqBNaVV6vC+ultZfmwAfpEuadW1gEMKM44lsV51B
oZiidd5rQJ7z61kLDxS4KLajftWTFZW96bC16JO3FpYsHfb1befa/rj2artL7DxMas9TfhcjAa4j
6gnXNGdUUJcCY6OjjDi5G8Z7Ydu923ty4TqQtDHVpds8qREoCJmIzDKSsKicvYMKYmZvfZiO6NcZ
fA0rDVQhIzoxU8t2WLS6YH9RuCnCHTYdoQT2jQmkWa12/up8dSfyzFTfpQvJ/ORgbEhLTJnpH/Ml
oFXUbH4Cw6Jyy8rfKTgXIVKnui+eC+ki5IWoPtMh031r6X//21//4k94j/QamwhAp6M3Xb0BVz+l
sqnz494fia3pfEr7b8Hds375zODzeOFod/SHX7774YfWuXdZ6CGYpvmYj25A19eAWIEvU+ki3aaj
6oGiSUdzLGe/FFMTMX6poNr4lJXSiZ0K7kgtDDw1YjYtdWloR77ci3USv9lwaw99eS1kKrUS7Y2g
m9Cj0/6n/7jNYCyIlkPpgjcH9sroYpgRXQzg6fYmcXUWqicxz2LfavScTSqeFe89edE+oQQkfkhs
a3/nfn/4IvktvhwbSsI6EOX3JvrH/XURAmD12bQV51QNC3Unjy2Aqxw1OkO470KLt/M8U5H4hUWa
z+k+QbiROZ0D9HJ0fSHDdL6bXCmSJJcnzQBnK6rTaW1yl3+q9e9vu0MDo9DdmHqJ6t7datsL5npQ
e4w779WK1JfT4Yam3CjuApvVJEcR2B+tgnfiDmQgnqrMZxJFSxqiSuhiMCSOGAnLiNb8kENTkyhL
tfSm13UmVUgDNoPgrKaSdmHz94BiGhIRHmQWmu59IW2Ck4HV4s3TEPNtnoIGopRFvGNZbwKzzoSA
DIpueAjrGJDm/Sk2y6bsNRbhi4f/lJ0cgVIZG/AlLE1QbFyPMzqDyK4APhnFbLm7yyAOtRAWBLDZ
LgwAUJx23IAMy3TFO5AvUEMgFDoMJWQOGlFw/fHVuc2NGmp/AC0z09539x6/P3bg6I8pHnvnzs2/
U2NHGpxDA4PAR40ZTKDjg9vHTvVIV/KIXaxnXNVq4OmOQ0mtRRPwnz8j5d+lyn8qhXTgj7MsAqXD
VP77P+5fTSumGEziaS/9nKg9zSEOD3i4/H1/ARjIUEKDmOhTYYCr8gKSLxJAZlBFXUXeAcS2RTHY
/iSWMKVOfshI5M9wA0YuFKvDon8xmyzOBIIjVQIDIcL9wINqgHZL5kSMdSeimJkCV8Kj6eizQdcb
uKIsS0WAm6kjW0D9p7Vki5Qwo3s9W1/yG1CuqhQHFs6eSQ3WB5qd/hRLJfimXKHpkWZ84wQjs9AK
4tawQ6f33eO2XH4mjEbC4rb1k5koUz3GInCt1zGA1yFK0xsbKCWQNp4C6NeoNpjydm5T6TQrW8kg
uaJsStMAsZ9SvVYJ0IGralRqrcYmCAj0Whr/BrtRRn3KTfdAZKVMIr59VwyLDifk+vYi/dg+jomn
auO27pYqYzcwT4N1ia91CvS3bxJMelTZLjYdtmTn4VghQ/4tzlEAuRrFxoCqNcpMf45yoFGZsFlN
GNfZJkRdCrDf5/1XD+Yu174RAFEsZe4zcHpCCuE8u3HtX2Y0KcmbtGzrU26EtrImJPPAHNRsxi0K
C/jqYiwRVKCxfbjcrHV5tXbcRgN7kKJjF8biAPbVr/NWDpJMEs7j3S6PjmHm5iKhSLIrhQKhe0Jj
A7pPZ2f3Gayw1VPkeiamddmQi1ZwxBgnVPjZ9UAAQFAuSzozf6UMQgS6vS/yOiKMDHRNn72LkqoC
l8LSVHHwSJhds4UWMehkoLDoyuZ6i+euszhi2q6cwP6GUvalTC96d51pmxiPHFsYOQMyNnw2d4zj
m0r5F/vjxw2EEX3qMt1rtDZyMZpS/i3G945DuvoDqNeDd4ez1ToIjT4dTgSIIEHTQm9B1oLWbn6v
Zlk5plgrwS9ivokknA/oWK4FbDThGqJd3D8ANaATSTBTLcDZFlwalQWXakMGBtAHuqKTeKcrHph1
+uRc6vorjqcsOvdg7L8OuaIjB2J1KIDOi4uxhgM1lgHKv40lZNT3JJqvW9hXQ5eGtJsyeG2VwlI2
QyTRgRT4doRbTlmiXgCFusX4yUk0sApKOW746kmXkLUW9o74vSmXOUQBx/ni8IDCs/SQaDxlEG9F
o+0M6CQ/QXoFgQOjPjgndzHGx2Uqer50I7vN4hA2Yzjs8nT0JRfHZi5KsouhyLCr8I6Op6VModTy
1T8Y3cgp48hMMZxmKQEtoq+P1tUA6GuK4Yb6PIjQgGhPs4ApL+sqK2mgo4dPWMlN/HstUz936Kpu
GdDfY3Jto9yOcgLbq7oSIHiXmABgvE5z24NsKEqgcmWDcVZUPujjio+mtSBYbypFqTWrh7KnUwp1
jp/QXYjfysiOdtlg3reD7JvwJeZGOKxJaLXpVAFayTQ5yw3cKxSHnaFWSF6vpIstd/7ldUsopnXK
t6m8/XXQZVNiWCaF0UW5rrWva/XnGnRIkVBZx3vOLkhAZ8Rakzl+DSanZFfEzuW/Yr+liQbA7U6J
TSA6cCVZ2RSL4J5Op9/2m2j8LB/IyNWbwSGeSZfVfFEGiQGTIbZAI1tI2l2JubAhra+0LrFAP4NH
yF6WwNJMYwI8vGWKt7i0opSC4E3q3MW4LmPUrTx2kLEqZwYBlWbHQ41g1VKReQgiG0g+4POmlDdx
523T9jbwrGW6ToVdAN4Ok33Kl41tBwo4/SzL2Ed3JwFCgKfbp+UrBhG1EX+9Tx3MvuB5b6h6VCUX
AgXswINjoOm40rjiS9zMNOZWSudPmtc/bclnqIzllntd4AGI1LjhAh+71uMDYXq0IVTwI9Nc+VQ5
8/82ZIQBuN1AyMjEEpXeNXqzf+3gWrg1Aj7uf4z3aS9gfmQp/Z3SOzdc55hWS1UuJTwf4KIyarVw
nocIA5qrPE/k7vZbgMKcfQ5s41iinBe8kfgffcIvkQnFWfal8BgkrBm4w5pq3Euv/U8OO/e9V1Tb
q1iBkMscia4RFS1D149El21A+1pn5Uw9vmME5JlSbr1apYcQGJU+hOmurHNL+tlMpTooGttttcP+
4DvGBcjcn+HHrtbs1D/QkWWk3dfqCpsBMZ4zBv5QnnqAhp+qUrv9vA8EGgPpmz6oUicR1gZlGZUK
J/306eAwsW1eL9hVV5oeRj36CcFc9bvqQI8TNvqKtUS6H29MF7fB5vomUH1pNnF+cQZcXJ92kVKt
NhvgC3kfcFGauZA0t6KbXJDGzd8rWF+XbH7AMrQqsF+XpoHN9jWTTrsvqQ1je9kkok1ze3XSJmVt
c5lekwDXJNNuKGN1iLg/RTQ+fGID5qJ7n8/Va77VSaR9n+7e6vP8sj/O/xG0NnivsdMLK1a+2xAb
Z/nw1TUO+4+Ta+KHOklNXWnEARBuAVoUTXf9aAiBX2+ffrW2korQw7E6EYMa3HPDHBs03a8DxjlQ
bwZeltqvfe8uB2q55U2KL/Mmp8b9x2HFCiAvWBhIgJEOw1Qvt8fQecou9+bI3YsTShSTywP8XsFw
ft311GcuWGU33cUueaxviaWyZZyf4phyqwoGc0NoCZkWX4UghZwv3emH15OjDoJT1gnVJTRn9raE
AuvX2T/E+hIM+aDms0uT0/UTSCdaw0QlPfbXTo9BjEiwdCWTIf/T0DKN/LnGVAjBgA2aEdTfn68N
GfZP4Hi7NAvjdWl8JAxVdNrKTzNC7TQEw8+oXiWMd/pmFfP+adENy7+lT3U36OBuUB4qGGrJRrTE
66v2YqVfM4KQip3Cl09TnWzKEfNLqQHAFMtT/U/rnqhgOSpqnCpCESAfV0tMlYe3vZMA63dd53cg
kCwZGBv4XW40iEd2XfNjhmLgww4zZgHDiKRlZz/AjTGuOxMm1lg5vDiuhMBnyhIVy5WDnrdKdxlM
TUfvfPbw+/Tw9f2Tax2/TIulltjayZJ1SJ0G+TgdQQghGDmX1somcIVuhp/5KFP6qIBuMWUQ5OLq
5ymAL2Qb9A2pJrgiWInJutO94d3fLm9eQd4+nncOFWpy+QWLmZhHFk5dbjn1Pl1gWg32ZxQu55l0
xL7sgmSzmVw+pP/MBQ6p0jW8et4Z2CCUAmgpdj7U7iR0HkgfXEu288Lg0MtlmWVPqt4q/a+78zOp
/D20/byAiIZ7dPG74pbm6zLGrOaH6KxcrKsovI/z6cveBSO7Q8MrYglvBs9scrWApWAojfWyqLv9
UgsWtTv1lIWPhnWr6fWa43enlt0j2IrhXo+jrGlRk6mH29HHMkC4ovl2nM1xujPALT+QVQi5UxoW
E+4b9i/n3tAmDBKmCuipYKBuXke1zZNOfa/h/pA3P70xoUEHDlL68Frnw+CuUa9Jeyt17nnQ0CQC
KtAXMfor6ycdtJFXtwRA7w+H+XV3AMfM7sqJT+BQ+zKfh0AkAJMHvcfH/Mg4vT0cKUXiLtH2ZFeb
W4+1G5IwZOkNb6/41YVZXnTe9jaaOT+9OdSrHQQys0Ra3P7rkD/U1heOaWfE8NKZVvoImYcooEAh
iXToXTBvYYXVttBHz62kpGCUF+rVLxRzeBsWjoHBTijHhjMBdBArNGEgZZAfvIuOZ9yGNY3PIbs7
8wp2wgqvGaJYeOzgWCYW7ztXJtjG15O3itdTmArrBADI8pgGtCYPRNa3AbbSp5kxtfDcySzbjdhv
eSU048V+26X1GgQrjaE+PCp6NL/Nz+sRN5QzqzZ08IW4+zKkQVntg5WUkHdb/rJXO2FoKQXXt8f3
vUcd2deCD5yyLFan88fecvtMIsqK4xA2zPKB/2rGtiITotQ7dpEmwozwmXcsSy5DWKE77hiPWxzj
KQ1HVAqPPH17OoBfs+4tBPDoxbATdzw89pbb2Wf9f1WKEjUuhzEGXQJibYqd+hYt+WUNJp0lHReI
4nyJmOincQ9WJUyJcq2ne6u8PQhibAYeTvm7Flvu2iQFkTrh2zZuqeO08Djby32Dfaj7J6A8GeeB
ooK1Oj8+wJb+ZeVHVHWnUymlCRJrfyAgrlOpbZF/c0SxXGhALtu5v4LDGNL8pE5FtvU5jByTWaS2
JVIp/tDnmN/z/uLUo5UoOhD/Hz7eHqsDz7y11mljqe7Ox+dxMjhhVp3YsTnHuRvackIzHHIqC8yW
cIo9GhcWiZDFSsx/y9ljnY7IFRBGlBRdQ1OxFk4s38rPuLGAydqNi0IEtGq8zaEQi9NdLKTCna1e
+j6c9bNTUC0AmXXMYYS4oKOGLTpqLCE9zhx+CjwceItv8iG7QEGDXiRwIodEdSxDM8hns356W313
eTGf8jmtl/n69EY/WOr3PDWB/nMw8VVNWrMBblSYFipC3C8ffIPhR/DzPhkDGq7dAzL+lqhHQMqU
AMuxqaI0aVh3vUwk/P0UxsR/gPdGa5ku3Vocpveflxn8js3AZekLfx5+RNpvUIT9ImwWn7OYIowB
88sQEYHSevDG/UpDMh4vhHXJ9TSGtdk14rzDIRLhrKgc5/SewBKKyQnx9WWICMOYMP89z/sX+0F+
VjD1uwArSjZzdaK0cnJD7a9iFxxyX3FAZ3iQ9MPlcT7PzmLQ+JxoSqr5Y8OoLb6rYGgcfLccqZGH
6/56QKux5LszIRKt5fHoxsgcw1guTMLvllyxcrBSJCssvdLYUuEnQWn+/RLBBD/vpw5M0OIjY7zE
PHdxPcrHbFt0Kh3nuij1YllasHRuTNTp+FynWJhJJePK1tr72h5le8mRz+2jLGuXB0aqqxO0DCOQ
sM4jCRViyRMsVx6YuzR2HVx2ZG9QQKGiFXq+0RjYANVc7V95ta/5+eHRh9BgzUiXcYHu0N+d3z0/
YsO1sIlONBpwql9LyHltEx5TEp6P04d3Lj3m4al8K/X3HzerL8BW+7E0fhKfwAYp4myvjgCSTsr6
KSwSsUXku9KEvuKqG1bj8/6GNSUN97jh6xljyX136Q15nNU/9LjiR+U0O74epc6VasrUls/ntuJO
u8fI6kLZ5iaB0fRxQJuzbeZeZ0YY67rpJY3wJalOgN+K0ki+TRxKw2im5L7o5mlvUa26KRaJAdgi
abr+zljcSUHI9eRSjmCtPpmNJ6eGMdkiX0MqX/1WYwBEjJllB42IYay/rK71shjZjlmr4jdvuWDJ
L1jTvw7wCWzT+13jEQxAkHUqyAoKB2Bem8kkswEzLlLZUmz6vGGAPlF2YluMz3T/zsa2Yt+02Umm
Eu1cTnI6/36h//38u4NpXDcy3/jldqllRQjyZdGE9Nm+MAz3QA1cvx2vu98fZjfb9Lkak1h3I8af
rA2rPaUww8DBemHM7P6f9djEatsuHQMfeHm7D3cF8+7JNz3006lCJLh/fbs+7M6v1e31CxHRh0xx
qiRVMvviUurIVC3VIBZUHyN+1hX/+eX1wcbWD8f5VV5P17dZCef1uQjRRds0VvR0frAffVpql6+z
4yt67+iVSNtP1QPhkT2bzmB/OP/+QcO+94f6nhc+Ax1nrCB9sRJGf//jtHdjb+eja9TkbuYZCEqM
hV2QHsoC3afDkL5fiJK0B7H21nRiSpEuzfA8no5A7dLfZ4PPaZlxmSUwt8em2wcZ0QA2zGN3Pu++
Pd5c6P3w9bz7cLW89TWYFNmnQrCk/T9qFYObPcyRlqx/RRefm9CThzQDMnE7PoWaKRJnUmR1me76
iCBROmupDwvk+IC0rUezNL6q0Yb8M+5ScUneyaVWw0evY4jboWrPbj0WeypKOvUeWnXYT/ztePp6
fDje3h+BLphkvDM2OsovST0TkiNzegGtJsb0+cZ7swLo2m397qZhU9kiZZ5cmdMzse5pvITVZDv7
VtwpPtB46tNH9W+Nk0j0Tcg8kWj45GKtExqpvCnKCDWNUkPcq8tO+uv4sjvc5p9c1G+1AM3rA4+3
60r62akiG6c+PO89d4spMemUmP23or7mGHUL9SBRJqnsPszHV6vurE3/6etxKY340+yp+KcGENgv
HfvpCPtVFP0R2j9gb6uOh9qYskt+HVrkhAsI1TKXj4PLOr2dDpQAdHUR7j+cn9ws9Mf5zcYeJ2Cp
unjHjtOy9ikioX54mg8Hu2itno0Uo4orUB4rJPW89GE9sswAIWlWiTF6diOuv+zO+114bE6w66I6
DAyfJOfHq5H/7y8//RhEbf/yzfXaP7m01noB9uguDkf1/5O6TumZAWNkZCt6h7poMW3NSAkve/sU
3Sh4a6Zf7Tt92e0PtzPybVT6pxe/7tWNDXgQqrO+fP2ImarmLTfsET/Z//+yf7fy407msPd9fihC
dT7d4YEUrlXDLrXpNMrj2SWpqFDaNUyo34Yu2usgt65+9Ty7tLejbgH9ES21ewdh6s7l2/vj6fBA
FV0f9a8eh1SwvFD+6KV6f/lx92P9DzOhZJ0emMJezdrD6XL2Gtc5SU+7jyu4SDN17Ivk2veVdLdz
ZXoNX4sZmaoSmihEeqmBpnp4t7mlXxPxiM7g3UomVn2sbA0Y4mFvF7Ii4D3n+uPX3Hx30XyvT/id
yHR0ZuD1slzAtDq2bg2nxc9B8OoH27NPmWKxPBWjBXNN6f26AhnYh7AGVh6Od8rBYQrAr7YLCHYS
lC4wudRf4I1YiR/SjEbQhtbmfHtwlmfpnvHg2mcsxdXV0lrSHTI7WQlMsMv81rsieQMcP5JIuDoG
SM6teDrd0BmPsvR9S7vghkPRC5YKY2kskjR/x9ZMPZxefBweFNt+reCn/8WHC1zr/Xv8K5N1r2dx
1S7UjIz+M2AzmDNJjJPV+J++rj6f07Gnl/qZKV17Gu/7S/icaCcfbyQYX2Yo7DzryxiaboKi/8xw
WiRu5FiAsGgo+aNBSzeCoaVJYqZpo7PvIcEqNY820DNbM7KOhuF8STbPtyenEOsdG0i4zVSys49W
pp+jj46em1UCphT3+0PlO6GpiM7VrwtPzw5WcxvKhGfnNMru/VptaOUDPvZo2fg6pwNcn/HTywuz
aNSxyK7+ZQdfyTRG2SYmPf9Ssh32M8HTYI+MGZ/b0TpoS0u0RadgB1swHysO706PyXe2lOCEhhQU
iFHf0+mybqWuMvqxpGX9YcxfamMvvY7oUp+gaIUdQOLm8TlY++30DJ6jTn2XxU31Qyce/P/6gYYv
wGPtRpXEwcF/co/y+WER54+6Y6+Yq0O56aCrve7duZzICZBbaQuCBWbjWo3gw4p1qvsCNlrd5byf
+sFwTCDObSMXw/lwjoRpX+We+sk+HU6Pj5T49A/WOnXeDQYeSJTnkaaLB4qY1czP81No6XQh8BAE
iyqxrqFz3Bc3C+BtZ4NRF7e8NiNOkQBMwZGxkau1FzOZG/AsDVPIsQF6+pqYHgMvaipFrofT6bfb
x/+Yr1as/b9afUojJx73lGgFkt2lWzM8FiaLQTo6NkZ/9et7gA4oorFk7YvOvnMvCGW1etsFRA8e
+7fe6em3GahKpn+pMqdP4zfTGaHqNpIJBStZoqIe++HY+xsYu4umKsmSCwLt0CAy3WZWzOX84tB+
r6oAwsdQJBfALA2WSac+Wd/H0ejIXABtlPoJ4e4d4npqajKjSr+Np289mAmcPsMVnH+wFG04jWyd
rotvVdmwdgNDJzRV9TFc0a7i5r8+Pz9Yt+384rxgH3IvEbkvUvg608ceXD1XgBzrf3BUXenSFrjd
JQns+c9H147jC8Ld+/Ts0lxBgNbuEwSfzQ0MafSWwLXX018cFjH/xZ3AdzsU0A6MdOeLNNRC/Pz4
WBXCxf8fTxNreqjMU+boSbRj0VkNRDgQi3VJiBkl0V2KtYeUnrog1lwvGAQwxD73Aa27nn7B8dtS
wrw6lYZ767tHe+Y71/rvH7fdwfUejlIOfPho6amWqONf9bJ3vvP+fFnaYILUjBhVyXIVVfGZuvr7
WjaYMZm6KFwOUAp+apIWvFhXBsGwA4MXmAL3uM3tQuCwR8wAlN4xlHmtMPHb4IHBebbexhGkNqI8
DnEgsNcjy+HYu9vReAvQSJI2xXMJXXbg16iOWnmCiee0RvoXHjP7u/KKiyBvAIAwMLqPTeq8Ix7i
gZfT4ZkKjglsYxjx9W13fdhf7F9y73v574HTLku4NXmEj1/2ruNVjEFedsD1EzWA9U5sw6bcYHN7
rmvuEEhv5oYv9Bn7lL54iiwIBpbRaR4U7yO5e/GRfrh8bzWHtV6PKPmaBzfDonLm8/6JhoVbUwS+
ol/4+KvrtvKPL+4wwsBZq/3OO+/gQn+ExcUUpSv2Aqy4cSwbwjyKWXZ3tktRR5KNC9mfs0MyT8cD
yIj2RRxkwfiv8/vH6bw7w7TlwNx/vVa4P89LEOI7QrlCCivgl6XF8KPvU3kA3kA3ld65xzYBim4G
dnHjSKpvZMrv8nVPpPj3d+cH7JArYSZmJsY4DHB1w/SoRT1JJ7kT6gIcLRVLY+wC5mVjZOeU7J89
+jeH9q1Wr3pPYkmLOYbAiuiALEaauB0TW7shCuqXtkP+AVIlvFkB09MB4EiM8ECFXku96fvpn/vD
YUe/8ag0/WOgzl1PPn0M+i0SrsVLkSIPSph/c/9P1H/HyoZ9fLf8TuHf8eEl7Hfdv/X137BiMmYw
hfw3+zP0p1jdulx5qFa01L9J8MeK/XTsr8S/GfCrrBSyW/1WV074Zk3R3uNpVk6ub9/AfRQLn+2H
6n9T4M+rUv+45UWZabIBC/ib7E50/JvSHhM6XpX+algkQDckx6TdUvrlgDX6lSz2uaK/pv9tBH9N
pGNcvLz98d8E3CKr6+zWIub5iw0SVhdjPn7Zn09HVCtukllfnAod7kVZudHg10N6wn1qlHx3Sxsy
InHSSeMMtR6blagBHEBaNae6eEfgEbA+OKwpEukE/LusJYfmdwvklncpcn/aK2WhoNT26XAawf+W
AHqBFcryPyboh3Wx5c0CVh6m0yZQCfEB5PFno9sguDXWHpF17mLS1mlwMqzUlnKW/tekuxy6soqd
jeXOoUvreX661f09WpUVqbJVPWPUgX3WWh9Or7cZNII2Sf9sfhwDOkORFWdPUf0jPdOX3hydPFL/
XSocSwrDJaufSf+DExJVjY/MVNZSXK42EapRVrLPf+bFH5hgPpCUlcmcrXNN10hicjz5zuio8N/w
IS0OREscB/QkJmAABLCNrB0INXQYVwsA/hrveJWck8G7ZM3FaJeGvXd0LeLu4xaLExjQb7vbhU7a
vsNAQvD0wDBn58ETXlFrdiNZbxZyE0Ib9HTxsFCyePiDeHGVOk4mXzzAbP/q5oUu9RLdtv6W/fO+
h8Omw3F5iu1nn452CeT5++2X/8KmD1BpPw+15S985gKKTYqRaH7ugMbG+YPtbzoeUWqXsOFlbRL+
4V8Qzk8dD+s1uv15fU5+hpKHs0E7bLpdWVLfm4Rn0/lPqetpPvW6Np2//OzpfO4DTGn529FljF2f
FO/t7x2hmfLSIbR0FgLsecxN7f9zj3jP7/sn64MBoJmViVDT+Yzd7z7X5XZcwvzsEzwQb+s7nlqO
2Y9IZfn4OHzz0DUq32D4t2PLLXRlhwOF/A5hqwCIH1OQLSlEOVNvvMD4sf9fHdlh5FRiuIZpKo7l
55HuBvFZmxJDllDM5+fAsIVlBaOQ1dyclRjnjrlmbjT77mP32mDzsPIpQufqSc6Hg40DAHAVE0yS
8MzAxaST8Z3sCex9eXGxgB/rGP4GALIZeYNNQPAHHUMTRB5giXDfztDEbTkqXyOj2ksGBlLdjikl
Kf/Tld40kpScw0ttgPqk8sbXmASQkR5alucA5EyGV8YifNdczj53Svie/VNzs6WfXTYZjCjw5L6p
RNgMj+V9d/zmmLlPv81XlLEcSmmWv51+xPLd81q8tGzGp8d9cmmlYdYfilEl5r4n5F53j/tDDUzx
9z6Vyr4YqTckQr4jOUbk3iKRc0nZupyFb0fI553u6vua+oTCOUU9+H47uJnJD6Espv5YJ3YyTMcT
tB8fKSNhrnT3+pJDX2ZBh6Si6PFlTZL9Xg/0r2P8tDuGqi/NJPLBnvjHxwvYHDNBPI9LtXehVurd
J+quM1hnYFfpipwmxXXBQn4EFZhFvkMgGFsH4gecJGWkHkq4Z2nyjaQLVpjk8ed+oau7xP/7/vK+
oxZD14cv7/UWhZ6paljHJHKGM4aT7rTsQHKnS0kJQ1Kud3OsBKBPhxJ/6zx/zLvrMmHny3soOAHv
nOWwqdmrCLf6fHP1VUFEdu8tthFja7GhY0uaymqKZaALFUc4RtnOTV/bo2KarDJBpYrDWr+X/e9E
eqf/G5LDbrszsqnTlL/UcSmFdTnUI0F91MzpCfK/RUpPKyUt2zRuMzJ6nyLIRo0FqtqmSgymQ5im
pRd+fnjbv749PH67zkSD2j1dZ5C/MyYlj4zc2XxYEtiOoOlSj/zfe36cPz3gjLLmXsOaQQq60sil
WbMr298BvcbYXlQpJfPn1ylAMOyK2XmvjojY5LKmtwP2IIcurXUbE1dhpZJcTydnm4BfrVMmduja
tieuVaBDA/dTF51ias/gGyrsaXBACFvwW15SMbQXnZReUPTjudhWoK5+uhVVoYNnXKy7L9YpuA5+
rl2eI4+g0eCeeCBKDsrKh7CK4cNX+Fj5nHeIHmZGVmySUWK8m+56Ix1X1hy1Tub/3vExqV6L8u6U
kz8m/wvgpI2lkm3Kvjk03alMoHTTi4rmh2Tv4HjvnmNn3YeXww6xjCeV1g0COrCvWPZ14YDBI0tO
ecrgCWoNGCddKxyMpRpRrN1rc5j8lbyiVkDM2cnx4QYH1/ElXNvOta2fh1QanF/r7I4lFRxcN5oy
x6qpgWfBjIKTc9Xnqk0ISBth/AsXh4h17sTKvVaDBOxfUSQuLbQwmooKmYOM0si8k9PT1c0XaWiz
XrAukqyaKKsNaZeE6FIpR15IdDk97R2Fx3l/qFKmWo4WH8b73tVdEpRTFzt2tIzZFhdpudFWOBgx
vlu9cPRUfdAA3qpInxlf0Tlbji91O95cc8pqes8bZOZb9QSdlw59Q78PmXUr8cf9eNsfrnY7ngb0
tp8PfgCtq86px1eua9Gw0LC6qOFX5+gHVGZniooxeAkB/sDsY+sjMKrwsK5xPK2Xza0g8jnHkr5f
jxP8klVbMfr0RyiOsf/r0+GLR1z91GfAitQl+Q1m8uX4sA1fMENSomFil1EndaHe/nB63T8Rjn19
+JjnD1eRaYWbUMpmRD7qVIf1a+Mqe+UUYC1YcESIgCGSKZYyxLKwYDGsX7wM4H73kPjVOrEPz1QO
gCFiJZi2lGtD078TEdf+2rowj+d59xuNWDx7Cj7C/IrK++N0+PZ+On+8ee6qlzYg9mN6zVOhfnoN
xVgPk6Ud7loncFmitdabn1hQwFEZF4I+775dXAWSmIZudaoBTsF463Hokr+ow+5yJaDhpxdQHKVL
viWvXBpBXM8gBioWL50dB5pC2d2lWcdgz0iX+ZHRMbBeISjrEX3K2Z7W/lxeFc2haMHXBe4vDzuq
gwatuWS1gpR32TjPz/bV7qhblRWSDYUDRqZXAMKGUAMZhh87ZBaAxX2Xuvp9Eto+fnMxw3IjIIBl
0A81qxlDr/X5+l/pdCZVxlhWSalMIBuvXW7WSB7B0MVah7CiVfguylh2TP3uYR0NYzOzODNKn6OO
Aekz6Z3qtZfMOoKCpGJuoU1TtpDMYz9XndLs1DSyqqDQvn9MqayuWoGgAFxBL3uRG7NhmbR1fgAI
xsC9i1jsHmsMILbeC8blZ7nFeuUQcAHHUo8JpvG00kDjsap2SZ5SxwuslvztZ8qrWOEQFcpPTe8d
dQJQafWQf1Z/8EX7lz9AaL7nGbApaYtjVeO3hXzv1MYKfoUuyk6jBKtD9RTg+LtSfRpr8fHl5HTz
7Z//BP07eM2MpBxOQuV9cOl10KCv2M4qc3GYO5P6Od73AS5Ol9qJMa3f2+JH94LV9RCmMPByWFZt
tHhNDkUEKfViHdRalnjcApSywi32fq37a5X+Cv7Z4yOpd2AZQN1kmqAvFezdPlDzTdZSkEn54oDt
nmkUJ8goiDRG0Ktv4JzmxYqFKPy3+Rtq2Fns3EWu3J9++ZvD6h+cKwc8OFlqbhIaS/jaLUrKr31p
QLg8sSyN+2ezJPldAdf14bijApLH0wkUX3FtNGXtEWvV8p6XAcrjWeZFizgrIypd+78ZgNKd0sh0
Rdgolosbos24Wk+QnedFYZ3vaVXMAr0+NRNBzEOlMj77ryZevxtE891h/xHYIgTQAlybJ2uoki9Q
CTMsKHCPcBclWQpck24wn+vhaaYxjVhCwtbXl62tS9bGDLiDDvNFWNp/qSR9vj3NPzv/EUCPXamz
TNYW4kL+ni8FB++XZTZJFYikqG+NxRv1dwNrb0Y43tQu2t0Q2HMvMiqX2FhqiUpTGUGtWKcSpynN
uy9dZmmej+st6dJ7FPA6iQapd5bpckpNTSbJeqNOSEwhs6a3/2JW4vHkxjp8KjUxFPkjdLi/hp7X
oDxelPr97r4csAKxD8GUyAo0SDvtGtvqW6xKoRQL9NzAu6Nzaq4ha2MP0JG8Hr7uzu831B42bZRm
ZN4ROeH2AY9L1zJYzU7EZmIIqTC+kk2MG6zS7ej/u2fYLttaHsb10Gv/gKV7SdRqoa2El7TlvwYd
TYr9KQn0swY4dCtUEvdeNaPuSunSNDo4WDXi4EPXYidp9HVs5J3MwDpWUP6btWfdf/k/1St8HLP2
zXeoU9+jfjkmTQuMWUzsgBcQCovU/CQtj32n3XZXPGuEplLmJog0NSt287He9/9s8DKZEpAT1fKF
eX2X/1iAxDp+13d8G6yTaYWc4TJzO9cfrOGNjDzX7wqjk0Ym9mHBBvSC5QYlmZwBNFj1hdwgYJxK
YOl86R94mqXRMdx6a3ddyHWmzNy+rMMN1shBiGjlQ+jhpgfYAI3oxTY6u6BqeVkey0e+4+36RNb2
yfqP4JJkSQQDk7wZL/SCHckdLeTvp/0RoMbMoVfUdmLMDnMPeOKq2EIxCNfixDzsKBu9ZGIR7tdX
kDq3nBs6+9s3IKp9upchv1KvQOd/gJvUbH7f5HhNsoS0BvI6EoqR7cbzxwMf9+/7q28gbO1FYMXu
QDcOjrEMa7+S1/fd3jH6H1AnaqaZGYga2mvbh+rs1t8vi7gfQ3ATems/AKU9coIDUZjy8QqsAtWG
KADDsxJU7C1Jfuzp2mhxayYGjCcqt+GuB84FuD7WZJIJk0Nt9kfCpXBs2pmiGxwOex19AcDZ1Cb1
XSEdczp65Q8yL6qUQQ08+gcnik77t6hVutpYjPXW5uoSEAn6Uv+phn/77npGNv1bVcrpOCCImFTg
hdU448wrI0cRxIxS12BI1/IuRKCt3qimZJGSTkqYvcJ8a18F3H8q/emJ+msPTSBUfalJF7X4gict
WYMaatESO2b6GqowdC24os9X1DezyEJOPxU2VWYYKOlYERTHYX7dW3NtLbdr+r+UcyxyDqTI5DUr
BSh0A4eE97mKhjx0Nv84I3d40FwZGtKIHHdqxf294AGKH19fClGW+UwuuwTeBOO5Eu5teJbKpRn9
FHZAzeklU++MDWX/V1Z3BuvpPWIgdH2qAqOjF3CFyz/O189WYDGqm1PUxTwPbsZvzyfjVMm8vqFR
1sCfO7VfG3n7NUKJqeafcygW0MXpVpqEsOg20Hit6FkmEwOuX08wQ2xG1iyLrGEZD42wbTsIEGwg
AmN7O7jyudQJA7jOejNKvs3ITR1z/XofOEWhi4m3gP/SDLojpU4b6AnjQ7EWRj+1cxumZ7AYI/4v
+Wv3Gv0M+TBT9nZ0A3VAqJr24TWs/Y7PP+POiNbrSwkNPFUSQEv7EHZf9jMgzDDDPY4rYSYcx5NV
lcC/63md2ZiNDVnYg/9yXRULLgmGKhKvnBN62H18+HqyOUjYy8PF3cMFOYdKiMpgMd5GHVygGYQp
QVHPp/fwv15bz4aml1XXxTG/ugUyp74jrkxSybu0JJlS962v59Pt4wIWG9fFWGunr/PuN+fMvTpS
5+nREbKpyZPdsl3/ea4vuFq1LnD5NXfOgJamHyv2abEbmuNj/dWV3uwr5c/0JQtrNv0Sx1GirGrj
VNd6zi5kRoOILuMmKYBhMy58+VSVTDqpuBvWIIZ00pIa+T+N0NM+li6Zne8Vt5TRpJ9FXUyteZm/
1Lwu/02KCd7auyikKTw/qPrjkZ0v65bxHym9tP5zIdO/7VVq6GLAqbEPu6vVKI83a89tePNYlxd2
MhRF6LQZvK+bdEUIv9WCEf9dTOzEKnY+5oz0gIf5Yt+k29IySAYnnWiH7CmxDh0xeWVV2nkPH+Ni
bbukDcSdpV2ym/WtCFMSZ6dqgpySs13/vYq3z5pPPX17sj4IzVyAvEY66CGeBvGnBjbzgDvJ7ohb
g0hpT0aWxPnvl1ScblT7eibnwYsbOCX2lbG7XAkdaYwRoQ8eRaoMUy8ifDJvRQY2NsSlYrcRq80d
KLF7cuNk7TqrVggGsq4JypJpz82q2gzZgmpXjaYrCZZrE+aGCZBqeaUpU7XWCvR9i9tMtQ7OP1XM
PadJ0ElP88XXjLlbiskXvwBcSTxHyqVM4UqeZ1fWseS5jhs6qPtr0em1iKzvRxAa6mpyw9Kygqld
0jaNpNkLb8QLicOJXobsSi9jUY24NzOVUkymtABd6eWhNMNow6KTKn7hsiuravdoR+zHsY8dpwgD
/p2X1PhNzriru1kN/+uvf/n36/Xj5/kft1os6W+9L1lCGi70wCgKCI315oHpr9jfav9uY7K9i+tW
MMvtkbo0v9DQSmASozPIWsNdTz+4fOt//lCt5iNbw5SfdsZeMzR/PlL179qR4iGd02n/Yz9StH76
TKJYNLZcfuhp3PYidMmGzC4HywsSlumjVEztdcPjYXf8Lf4XVVjJ8zemkk/wdLPf+/6HVdtSrd9S
6PerVx4/1Rpp0/b7eD9eoyf5n9Ppt4fdWw2z8t5+n2pblZzi6fjz/Hc/YurZOqn1fXRMPzhnWQyq
5M35kyNP6uV2qBJZ/M3EJQlj8fAV9WB5IFIi9WVZWikBUzDFV3E/SQLNofAHJJITDk3Xvs6P++cw
8/PdB5EgAGLP0nP2AsnSmhfn0H/4AOI8v7u+3K9P4FN0aTP1Q27r0LXdefoA4pLBOrbd3i4eFEsA
hLbnYbTu7Qy0hUniEtVnOS0CNo6ej3Kc64phYgEsMzVUfjo//OfPP9SBPf9Uh9IZE7biOMI7osFw
97K+VC+RfXKF9uTrwnhtnTuRKvUwCcr7txjX9u523AqFAEMl6vMLtsK+op/sj4h8q4buXkeQpgbP
/9YDYc1Psua3GD/eubBrNbZHksBXDaXbCrFZoK49AHPHbKWLaJivH1vth95v82Lo6rsR8Yio0jwr
2/TezaK+AnPo/cPZVJfJcy8lsq0O1FZ9h1AfJqpZoPJf/JMPGkARU+qCjSzZEgCn+vWziINdFz5u
DsaDo49nwRg7IXPiUkBuuEV4vsjuTKUQaw3WHQ41Hy4ziNX7kiaKTbBayt2uIGtnFOKdOJUCOFos
lFrbEaejwkEJNdNejoYhNGtNRu4Porz7v6+KH+Hf+eoeOxEM4Zq/fKDho6Uisqj573haDwY8rq4U
KPgGf47GgGy+0NEusq4I91wrp73dIpWSJq93x9JRZgN23EJLq1R4NdZmF1GEdaXLYrT3xzXjeAGG
O4WEVF7ZMEjd1w+ZReLaAeJrK7RMUOiK0Rh5LyM8tKR8si76WtQtBzhFRZvCg0xf5UnpGutJXmyk
eN4BBM+avbJWmH+33+iaGzz49Cy4tLiASwMpVbJzCti5qQj11EGV8B9+2YFHzjwCp/bUErq6lOTe
56tDeZxfDLUo85FrUfuu3Rid1jvPrso4zES1RuPx2xeE5Q1D6butSmDdWf40+wjlBLAU5igzatMi
WLuDszDfFgF7BgCGSD33MZmhurY2C/8BSLEU/ahyWYsEcNOUZltkQax8/u52Pb2822AHXJ8QDET3
amsauqL7XCso8M5z0Zlf3V6aTXrev7rOj/z1tXpU0QfLqEwZ+znI53p8DQTCioMpel423I7TI3DI
MjLJzApB/w/5i2pi98NCgMPun99C6jevJYv0TYAySvBm0/pIYAdUGun06WHYdW6P7H5d7wJgBzqm
LJ1NCn0xrIcZ6AMEAFkl8u10fH74MjPgsKWIu16nbkHZwmyKvXXpm0MezpFdH56tb4QMFRNmFExl
+YDQcw9lPYtpHuC9AA3TTyVjyuD6UPbsCvnrX6rGEuDxr+dhgeywlz2tk5X8fmFoo4o4bu7IBGZE
mGwX6AyBS7gDyNrEMizsTjK9uoPYXF98Y1ytPs7Xr7PD+Vw4DxQJC3LURDiuKIFju2cAYrIIgeZn
92keoFpC7c2oKjEMvE/sB1iv7YuBuRoRihZtugdTwWa6Uno2GNGXk9Wm0LXrZCmnkb/iFhDC8coS
JMhQxv3V3tMLUEwZFpcu5ZKyW/TbMA0lebNe3NtDSAyG/C6qxvEmhmlKEv5gbzn2ZC/rYAN8yNf0
TqsobSvksGH+2/52KqU51+B+o7UT0qSJhf7ua3w7DWA8ellViCuQQkeyFbliqT6XIhP59IJnR33+
2PsmqY2J4N61HMuuJRFYkQOoV6Zct/KM5f2MuPpfZoA7+8vBI6ER1M+uKHJtqdNkajFNpVyfeG8O
CXQNdsVDsa428Nla7AM1tA3i8IF6QHoTGfWH7lZNmLfT8qjDZcPT04I5QAmxmoiysbnQfH232gmY
3cGkJ9nfj5II9M6TjVdA+MRIEBS+ykLeD1guU/Ih9sfQ38zrj58Q74XdoFjbruUqdhPOqHnE5PYV
KMQNDpOVOKLpPofLA6FFfNlU7ZHMin9HZlEL7lLGaPe/AxAGHh6DS+hwVUDmqGl3gyrYcWBkygNQ
V456XRzE+f3jimJPlfrlKiKeRC4CaGefIot5DuvimADHJ6r/2B9PKMAaOLVuiEWNoSYxKAuULGSO
rh5X4PCRjKVrIuAMnUtnRUIIqBXzkLsqeScczYpiCgCsKFlUsdzd39P+9egwmacdgsdzrkx374Su
PaSA/zmU3D82smJDDlWZksBsphoF3h8gGfWlPRJR+XTevzoG4e3RW/vdo9OixE0ARrErWbWt+wX7
LAZ7v7+xDGUgOTRNmRa6lHa4SxsEvntoTwCSCEWrwRpCN9w1FqaQyzXkBOvX8zxbF58GCdiw8IKc
UAZ08/jOl14E2O59fzhYg2Yf1zN4S0OG5ZrCANy955hW6yW9o6NKW7oDE+NEdYAnFmOhmNXDKkaU
0LAkYFhrl6zOmq3zcQZxQ19Cqdz0hwcblF5cRnBpm9cUyM4UCWNLfXMYtMBgL0K8PC7UYJJNjDLM
VNnX+fHJqcGgGhsN8PyjESnkwIqa3JQbe/TPMF8xpBTopeyVwKMHaqfiWFVBP1AxLxLOFFiWSaLB
NesFKLngjKJ42va3X/YMXkVM5zLOYzVHLG9ylfHOz3rZv97O1XlRHsjqS45jGSW3EZP9P3vkqE+i
xF4/7r7sX6m3s1XgrzcQZlnzrgr6EQBrCvgaXfr4w4vdX78SeuE6Jx8f3KS9F6xkdQY/sG6AC8uP
HGSgOzIasSl6167gpEG400VKpQtoXds261csQkxlt6iKpDf/p5gRBsTQRb6t1YHUhdqKFs1Xf364
7l4f/o7gjiEREhmJOr/N39w4hYcvlyZb3IaVQPU5DXU7WjPoeYJ+esb+eD1FtvKu1Xvbf/OUOv+y
ePf2MGcGRIfjn59+A7IwlNzWNZG45FioCRM5jbsn4DzxjMC4ZgS8eFMy4ATwMNWVPMX6JC7vMBcB
mhUqeraB9/f2qQNVKNLHEMsh33e/2TDAURBYsR2ISrhWHteVajnQFhrSZVT/IekYd7Vh2ulsLZ7V
0581PToqf9a3Lxsk4pnnDavPfFoliJUgkOZ3ou6nmwLd35V8reBLPp5QCrrIeQpcQFdxSAUWz+sF
XDSwH0UDezte3vYvV3/gQE/rUqwdPsElK61fFeIvRK7lJQqZI+zcFRZZAi8jvo5JsyGnp9B3j/VC
qXfr8F5YUculJhVNGvWqcigtwrHPtdMCADzLQenzs7Ne60x5EK0MxXP9b7BZwIvoiuSirIcSjkN0
p4aiA+AdUIwAqbUXWloftSpKfHV6bf7XJfMaFiDcnvzK/WsDsaJoc2gth7tR7WxsueKb0G8hHTBI
j7Gki0xyEP8zvKJfqzo2vTbOjmbMXcr47Zbs0A3DJbrIYFpm8jVhPlM72RJ4sQG1yNGQ7MW2Yrep
mHODpR0gF1OEGVYJdtYlINRrsSeQZ57ndbsM3ZmdP+Uq4K0Uv/jxqd678s4UCbjLOUTxRDk+3bHc
J+UcRJnl3irEmYrHyBJZ7XycGUv5uPAdHwSGLM83KMFGpwt/wRnfLQzicfaNWvWvBbygMEuVPs5X
qgbG/e9WAzh2QahwcVR8yJUxXU3Fr3ORA9pNuHMYnUESBN3wkeVaWRdtkB/1tuPXX+lUf/0VCHdX
JGM1Eo0bOdvMdru0rOCtmlkAepxviGw8lSlI8+/zk6d6Wo/5/BuqSp64EfItCUWjSqdZASJKV50A
5g7DcAXmxycEmBc5/nf9ny5v1sp9hRVNytRSxp8BvP0RLKO6UZGtKeaiGKrVSj7qkoqvVydLYLxY
VwjrcbYccAli87H0HMIsks9oqFEVy2lYmeXniyt1qV4xZyAd9k/vgGYkU1bOAsBdPX5D7sKGIl/T
FxsNLEMgrHP/tL/AWnfGoC/wnegJOkl0iZOVpb6t04NMCes6C+S8gK9dqAHGNJX8/XLtGw1EAVie
KeZ2ihSgf4E7povNLf6P1QhZO1esT1xG6S2t5ny+8OLmtO2g/6qKqTQr0LubG7T0qWBPC/bwVmVQ
vrX1zdCREE92Q8eHiTF7edm8fdlnH6dbq0n9+uaDDQqPTiOSf3g97VFttrWXGXl5bCkyBRTZVECi
eSEg2XfH1gK+QVbZOoZugL4bt6tkvtHkqdIsL7Czot+1JHeRK5kDHO1GDEshwQaVNhYrmtZih2A9
XWOyjcUOInMGNYbNs+fvGg3cqQA3V9m1bIdVMlyzuodVbOHTaMQwdqrSGqJMPX48PYO4myUfmX6i
gNgpiu9eWvPPPC7FQhrHnNH91GJygLfG23MZ+heRtYd+eLy9PghhpAYSKQqvLIzVhgC4fQbxmtxe
hv+egjegEcyILG5SO7WN396XmNTEbCdiGxH5rTY4UuDgVSN4fsXy5cDn90MMHdk7appnBBoWTEDC
QWGlBk/ulV2irn5emeaQoVIsrPHdQTj3ZkuDkLL1dvlwR4Hz3Vdie2bwQowq9l76L4rU4QDAL90x
vi1T55+DebXgwTjjDVmbymfHfo7rP05TKbHTiPBdRPTnZqsmI0rKPQ/bgJNSJOv7an3Xs85Dss/B
yAJkW5RVq+81snMTK55nANwNekvLKRvJndrMSV0qfVtHhREq8XS7fCBygihlsv6r7fg+14mP1f+o
lbwT5hi7ftMLMe8IcuY2ItWA9J+WvboGFudd6GsDQi7We2Byk0GypjB/9r1bWl1hBl4B78K4hQm+
5maWsGsdqwy0oCl/ZdC0q85yfHLUMqq7V9f3FUSgqbG3xUNJ+6UzPfBgVO9mmBLaW+G4Ad0jS6Ty
5jeUW9NlzxGH+GVCaEypO0N3xRGr1epD6kRO9xw2hM6aIlKxBQd1EYBTFZcWIspipYGPOU2bLDVo
xR2LzDmLc+n9CAibolOQfFTtNevdneLfjVSjj8PtlVjAOFnPIyLGpfs/RQa3dq8Y+/LukhsBMuv3
jDizG7154MXz79fEyt5AUAFvZyyBmvv3G2onKYol6IV6AcqYIkab7rpiiGuP83ca4k0O5uFw+mrV
fOwIkd03eNWJXxzad+GGZ69bGp4NMC4/z7TmHtu3qdiVwfGpYjNW354V2Mgs0Eym3ThY2Vmk4AJc
0o7viATFcnasrbov/9mFtto0Ls55lKxsCPWhyVLqER1+/Had1+HXQAGygMlZDd2xWYehAChgKqA6
0fo7pQg27TQGQkBZghro788bqsJVsf9k1ABWm+8vbhCzc0sub2egjq0qKCZk3PtzbuMyK84KEa5G
VKMpVtEDFA58oCg9DA5yAxy75kHysiP7VXYp3zkDcy/LZ33HJcezUn3oMqTtJ4dyOdsGEyDKbRY4
sRz4sWOpK2vWanILjsEqixiOgTMR4NqKnP3AlYkT3RbKPoiFiuYxxKlbgPBuKr6I+LzaM3h8iNkX
N1IuXwR3PZRSRskxby8iGGWxWmZNQL3sf0f0YV2MellFt4t7EA++iHk4tMYGik+/zctoBFcC5G8M
uA+yRp1xluAnqv5qZcjHsYipE5wQKCnQjeqz/JROuUfbGiVbzVliv5/nF+JB0XiHI3n+78BDyTii
quxfbpgz7y962tCmDPgTjJMlVwAp5E+WLqcPb64zOtmo2/mAZi7oUlvXhT9+uX7byh8v0ujt+bKJ
mnF3OKtstURfa0e3vSU3dDFGXiketTwngDjZiD0h3X+D7I9IR1fwtr2Jvw0cVlPK8qft89aBcqEC
nJghp79fUENt3ng8aqVVraX5Rt/fu9HWc9TFbm5JG41t3Rp410ETR1ryYm/PlPZO9vPD27cPq5RR
QkZi9y1JkDtV5CbIuMl6h9MFZrCGYoWYjU3t773lIoiUtYJuTQ0pHiKfr9roazoV+y3GHmoeVAFh
3ZCiQf6LXtw8Y0qTUymZp2r6xno2HDKA1svq7V0zzPRzkvyDm3bVoFizStYEMCLB2NDbiY2S6ddp
nKyKM7wgxlB5mTFnkOfG7HGPdwGlo9IuDF2H50PrxjxFNi70OP/D8+FbEEtfwrLuLNKm1LcegCu1
dPljDhqWap5gdmCUdadLkOeGG+xLrnT4xPl3+/Ac7P6+Ax/WV/m//y1tm8axWuzEhoddFmR2Pm5o
baYm1jGJplyGgq7T8+0wX+gXe1ftcvUqDM1joBVCLWqnA+dWseWsyrei5tqaBUqCm+RTX2qKS9F5
9nyp3eWbywsenx9WTwStFYwdjb+MRxfWCvb8+dtx915J7tAigfOSLRKOB/T38DuQ8WviEwo7oLye
Gx7H21wHt+IMdhSENlvU5alo2fBFDzSry/5f/6HgxNkp0Rem50SDl6i4P/wHJBKsjzVlqH1GuXmY
IzuP2FczvZHWmYY6XhK2mF9AZwr2Ey+Xubnpfp5uZ/pQEM74fSFpsxe6Xox1Wn53q/zb7/V9TexO
qFRSppf8tnOQ6MKccWDI+nfATY/p2zLb1mwKEHshzLtffry087DOPTi8+OxZCqsq0/gz4/ugCl6R
XmvWZR4u1ffg8dND8IsC1cjOPHa65yu4EGDvJnzUNLZfJ0oE+XQj/yRHCL95j8N1K3p4r4IA/rAz
raSrr3CLrA7oC+P1W8UfmjN9zE9uVB6wJyG3n0lD8f7AIgPU/v/KvkI/guzg8st0Ht7pBjRFqDyg
nUVwdJNVIOPn/yDQakwTxSCPaaLtlzuxmxjzrbqltmrHcUz2FAIRfnR/333ZBZDvdkYvwaRabCq/
hGXWGgVez/OH6412vK560nMNH+d1wu9M1YynY32Ihr+7TNoTjZC9Q/ANUZBUbBH5eYsLzpv5UbJ+
SkxfBLLlomHpJi7gLYjkE1SikHxgsCMo+zJT8PoFWRCVSlmXOH2b3T2dPvghX+XZwyRXd4huKaQj
ewUN0seZ3uWFHWV6ctCuyC5qgJX3UZHgf11SmQ8Ry+w/8QVNuz8B5zYXsdZiQ9fwnlpu4SRTgdd3
T6rlC0aBZhAW11BeZtomfyhZifXgAywMhANZv8+44y59DAMJlXjjcqjHR5scAeYsuSsQ0pTvYEuM
E8WBzRkvXEaQWXAbfapbZMUtB5LV3UkWGy29sZZ2YJ0b2JTmnIQcSgtwgrQrUmj8xF+PN9Yb8amR
seSX3mPJYAste2mq06aliKOyXXw9xE5oN6I4wanl/Zr0cSRH49L3wuglXeJk180DJMJ/Y+i4YEPk
KZsquqEwzfT9diWF6RGqGvZKU+ll3BlD8+K8j7Ebu/qx8BHmEVFZjkX0jWPp4gRuoUf61ykfOGKG
oa9vQMYh7M6/7FnXP8cCoXKOl2+sMieyz2LXGo8g+WHY9ZMyxXHt7k+B4Tn0yykOaXfmiQnP5RAK
c9LiQOeULyaQ6D8PL7tL9j+qT14fxtJkdMLOFpL5SoWpr7KkgV3P0nEl3BGZ+s+O81+XUSOTt5KL
lJbDJMFL0/HXYp2jQPTFWjMvkiXJZElREDysDTtsyONQ0eqvTd+zy6X/gCOrL4fd66X+vaNOBMPc
DXiad+fDtzBfpn7gS7cKlzKjthIp08L+63v91Ma4f0aPzPTTCg0jTozXV4LrK0H/GhqNOsuzjt5b
+f7VzxrMmN5nfKHP+y8Osj3Or4IcVRJK6/tRLR1hA/Pl6pHyVz9FrP7EmMyTzK0ViqevrImEL2Rz
nB4+Zvv0Yf+rL/Oh/g1MSbJy/Me9/Wlo2FCDeejnWqVacq3X9EzM08vi6fMxvHV566OgOKtm8iEv
M3iccojC6kDnKaQk3nbnNTv7eHNu1cPX+fH1UF9IxzNx/6g1R+hpio9VwTuX/Ht8BMpxLcxalGNU
q76L2fUUSMQh87x2yALSGw/IxWtDbK3qxobH+sHLWvdO+MMymRcsHA+PjQELJiA0T7gdCQ0JhQiV
dqbeLDC9YdZWN9USTbp79mkOpJjUdjn3DTKBkIuSkCeNO65vrlTfOmuXh8P+Nxte3jfSqcF5dH7M
e6GMieQuXPB/4pD45wY7zb+tkTlEBBwvsyOIPrtmI+Fd9HJS6Zvq1kz+fMadhrySYwrCtVMWzCkj
ZqfVMc3mbiQUijma4/ocXHTjc/9UGJf8O8qsrfYl/BfhP6x+sOpk4iT0XeZ2dVICv08wj0avJt6T
SGZfUEi9gHk7zuNCBEBRMZ1Bz1ZXySgl1uPtsN+BY2QbnLr1nbB6q3qu1XsTzIeKbagcjLJ/vZ1u
F2r58eT0xoMrUwICOo7pUfUsVRomgVOZ0cv+fFlcU9fjKmS7qcnew/t8Bh7fOoU1NTCpVthdiITo
1pT13bJAhQ0QtnHjUuQOVFPcBA1LDd6LC139fBAgjpI9Y1LZilGufUxUS/nTz40pmX+SmMfLgyPj
fN25boMLmIQ8lnXodaoIE8cnlPzWy2LoMJlT6UCHUdfkGBHd/ZZ06tLzqUsv+wOKPnpmYNnRUuPJ
24F6tzhf63UOYxAv704Ph/+obraZxmOGiB6Y40w19O3armCRs0CQOexsJHXkTJ81hPX4x9e3vdVu
boesgfBX6ymG4Vr10HklgaZhSWjB6qlQS2/KX+k/qot6p9KgeSgw8oCsM+daElHXpGzW73//OB1d
82JgS9fuj6mUPi8xrnWbjjvglk/cbhKjpN4ksX6mvSqFPmuzFaKROOjrOH9FKr8X3MOO8+FDBdnZ
5TOerB6w7tuzpzg1a+5JSBX7SEdKEH0yy+lCKnz3eHRdmw6toEgOJrUJ8SG5jupW7KNGv+wPM421
OwBvSMTdeW9arz0BHDp2oR6enpeS/kcP0v6/6oRZLZNp5SpyGwqr1PsHSEa5NiPdyZSusmFyjRS8
cdBARUhhJGxhMwZsRqZlurq2hgR7YViko2SYsbqKBjth5V8E3w+qvIpAh8taUw4OhR5cqor3MH46
3J6BbelZwEs1SsxBOdqo6fHsRHLt2HvYPc4H5KQwdTytISXN9nqe3fMAZj++CkeJmKY0uKUuY1CJ
CIY0kfO8dAy9ZCO2ncCt64Im5t6/FYnbNYiC7YXtsD06alILbphbsoIp9dl23jfJPPqSF+Cp156+
R8NEwJa6kq8X0TUby4zAcR9Shd1X/NqWUzuU1DWneLck2N5QvHYnfkvP4FhoslWAJAsrXdokQEyx
6n7p3NmaC+Jj1I5h0mxY+trxN5fBh/n51ad9gcfQMyfM5Q/6god+ff5n/cSVTF8o715zO7piHOrf
1yrDorW6sRatMkf/vwrJTdyld6TerhL4WK35cZ5RPwQfFLIHHbuJx/Dm4wPEF+tcqsX5402oYE9T
jw7HX2tnULXoWzPo3k9n4O6MMnUl5H2IUZ2J50OLeBougzuGUTpNvKTvdRqlMWLtm72SMCSYwlCQ
GzCJSuun7IUE78x5auBJiFKomTWKps7uDmYG0E2WApKs6wtwgXthRKI2zJTj9i1A0EzM+DlgdUjH
0bhqEj9O79FRmy4h29TOyq18/9SvDm18qfIOFWd5szOVUnMEstFbwQiIGfjpxCwSqXj/bEgnVCuB
SMWzsJUan4pQ2lFKIiON1RtdsjdL48GWqZFMXp3fFFRRyInUU379GN+9cn9XmaVL9zIFKE7OdMOn
digQH1j8oJxfrEIll9WrhyDu1D8WANBTz0LHLjJkw9gqN1r7dT7SLKX98UsoCQNBYF8D2mo9S0Fz
K9LSLBdGsMDSTsd5o3/45QeA4w6puHqj+0JkNhfMXq2SBeq9K0HpqXm93OxVVRtregh8SFySSXAt
/2w1W7WJitfqcRcu5WO64nAq9zFAMZqJLcNe3nl+s+8VdcXxGfkMxQ+2PQbz7jwJVKxfYpemOYyq
lE+xongAEYwlGaO2cwQNHPYuJ23/zZpUdAQv8JiZKacM1pAnFP87vJd1blbqKFNERIVp7qUC4yaY
5nDaRzFDW0tCAaSgT02cqDi4Xy7QbbDObeZEKY6BbUI1e8EzBwnYvLRMpo8LLfuX7kk+iAOadigt
So3Dl456W3J/Zm1FNIaeqsO/TggJTcBcapAKx/w44KfzXO0pQ5LD/F6SnCnLBYWDeZ53zyANJEs6
YE/+iA3PrEuxf3+3TvPuimKZ0ZRcIz+Mem3cCzwrUVKHSxuBw8llv2O7PgRXDEzwXICVTMF1d+Ku
+e+XxWk6Zv3ABSA+yHSPrDlvIJctTXNiB3vKC0aMGeSmNaNkEPTEpnReZrpD8pdD9z77koFGYf5u
vyaPE5/fOkQ7+5tmcaF30JixGtfbyd3XtS50d3WK57IhpzoxdVNemWf1ah2OaSVmSRiJyL8Fl2xw
5JyIo9DTW16mtzQUF9qTfbxd6SGG3n579ABZboFJfXLQlzjKY5k92crlmFLMHLGplaYcqKlec9V7
adL7ZPh0hnq3UzO0eUdBQUmaLn11cknpO5Ucqidfn4C5GEqgA8FUF3tolKX3qAo4uLHGjsqpCeQe
gWsdas7qbe0yB1qkeMLhlMbdSUEufZfnECMGDct50HzpsfSOm7kT+377kkQFusIyneHydjpf32ig
2fKaIZaqixq/Ohtu4R3hidFeFvqUpxM1IW627cOCvuzSkmO9O1BTVoccALeD6eJytM7SQ/UXIRl/
ltIRTCWRNrcax4bqDpxyep1bbKDZdQnNCaUG3ztw6FLtDuuhkK5up4EnPMkUWeadNN13PAFIiyH+
RMvT+XHGlh+eDwbOlBm2ODDeF0BYR8VHyPgA9JTSLwee/jPy4fLhyqmdlvhtj7bCox8GevC3iSNA
RiTINHKVOhYKiOo9LrwLX3yYS5sy3i6hjeD2QnU1pUopnwc/6NlzR2IGvcnFM1VznfWYq3cZ9uv0
6TXIzFiyfihrsRpRB3z/11B8UZ9S5/P5mT811jy/UOL4tM3l45R0IurLxOsNjZ6OrqDKj8b85qTh
bBUZsIFTJWfjB5c3OJuCvfMU3aAJCudrA8rrGbnNYQsBLL4dqY8c+UHLJIWn0w34K0pkz3Tk8cTu
0Urabq0tPR2pHSYcl+09eOZt9hx0CQmtTnWgAKArcsWWIZinX3CIs1Rxrz8fklSIgI7mxIwta1uy
7twNsprAzlUJ/15DvDXLFNw13+B6+a9BzFd0KxbaYCAJLpzBNk0wZeMPCfHofHoHCWpTKixZw2AX
hFO37oOHLn2J1Nw0ljY0jg6la02opvzUjQYJUJZ1lFJThGv/T8/RRs9HBYon84r7HDVl6dQtkKmp
OTYkgkD8+hrpjVD+1aC87a+tsZYeuFCpkzYWMBjKlTVelZkY55FmXahPRfugOGSMW5Qdpfi7js2r
3dAmzgOcLMfrUvyCd/0+HW1AevU0Iw4aLL1seBfZ1t32Rbp2mv8kfAlRtRimzqKwoOII2wyQ0jZH
mlUjhRyCSF3g2/E87wKrm2Ii7+FQa2nrz4X/TZjZ3gB+RhY2sMKaNG5ueDudmkrRA2X4lga8Nna/
7F7RZxtde7VL893LWzsVPCqWxPHNU3ICRmcGoPVZZQ2z5UHzuPJhHEr1HYMXGXOS5eUcoEmlsoRn
vs/v1Tm03qbLVMOPzcw2pLuIMXXLgvsUMn57lOPra3owNRifshVTSfoKeaE2xZ9XGsauYqDyAgai
gywyJx9Pp8O8Y6OtNjAjBkZsdcZ/HAuz0Snju3Qcc1P/QMKmiHQl2DWhEvMRqb5+zJaR6dQJPG3C
c4RFqeCywlWyH/ePm2u3Rd6+u4P5bfdljwDUsS/B2wf3fOrjj30KpC+p9SDjKdjyI4QVexZvkmsu
uGr7/f1AgeXKowXabUirscwdIWupCX6++WTKDPz8jpUixi4X1WrCDYVTXVoEkWJ3ow3Q31f9lVIm
WLs3WPLRd8yf9rRqucQ5vi+e59gvYwYQM40Rc4kjEz5/fry9Ik78yGnhsdSREo/2HTsn/nhqTRz0
aX6Z+k8a00rW4Hw7v0SVyFTUhDgmvV52+wPwFmWqdTj4FOuYt5AJuyIZqopZ3tyU3deZ3JNNwKUp
Fe0FbGB/+XH3I/gtI5BTO5HQT2RlnjzPv+OGix4y7ktc/aV8o17vb6MolVod1rnWM5ysMax2zqYV
kgI5Q0ScejrHgVx+BtvBx3drIdcTwuYn9r5Z1nXNS6/DaIDKyUgPnKCH5adnWQpWXu9e3NVlpPdQ
b05J3V8AkZakppW2vx8QzVh0xbz1b88z/a//BwnZT7CNthZsAAFrSP+0u6DfTKUGnFYWDg/1eSBi
yGZILNCWL9KoVxSIbGr40qro2QC+/dJBJGvr+/e1KKROshflYdOtBt5asE7CbIzRn0Ke/3/PO9Dk
nfUOZ8Mtvq+2G/L30JV6XcOp8YJNrmAtd+g5g8PUyQC58IcOzi6uwRRoos06VbMe4j6k/XUl9PwK
OQF+H7LUPtzhfNZxgnfTy+K8cirbAr8aS62cV9Yd2GhsTk/IXlre9OuGwRfDAAcWoV8WR53vj4+3
/eH667qH9mmzltvMF8eUeP9DVXpAf/ThBXgDY2kaHvF5XE4TfHHWnCdoFodLIxXBJgktXXkSFaHA
F+rSfIkoyiBp5+XDlAQLDUjWgnW2p1EoY8plQ9I4ps+mTycunM7N/fIe9vH5hDwxevk9mHgmgbVY
2rVlJ8Sy9tX8jFeNQ2n+rPcImiYxHZepMrbFr606Xi+T8Q1Qu0G19J7Czd/1ChVlOidTluCyRWmk
4I+NOeYmvnWWpSERAVJRnB92p2nq1bheRgQyt03RHKb0FfeJW4Gevyi94YZcTcXm/s4XAQ4M60PG
vhAPC1x6CWbbW49lSwt4MRQnzHnFiByuvjIXLmi3xoVOffHpUu6yoanYTDWmZ15350cX0SGT05X8
pz9UO4B5gzOUfmRP9nnvU4jgiFSpUf/P8+v3v3+AzzOJUkh7LAn0fWyQKvt789FFRr9a6+j+z+28
B6LA9akDKELM3FSGRVv+ZXd2f/XwKxqbpSUfXRS64vIyUxe/rkxSMInFB1pTCaHNC/bIo8P1erLE
wvJbWss+HefJjWUHuAGrytJrO1meCFQKJAJNKf16lwFy3VPBSB2f5VG1Fld5n4eTjbY9KyPOym0T
Msec/x2adLpJIjN1LXCkUT/cIlamNDqc8BI0leRDku/3aeck6YUrj8zIAeSUnBLAvP1zMsISlvAz
6gRNAlramlfhC0ItXP7T7vmB8G7EdOV9GR3bY0mXUy9AVs+PaQRKpEn3oav2UnhYvUWAwMvaASYc
9ruCPcpIusxPIP40C/lGU0zW3AtBIfVZH+DhhUDXiFTLtlEWwt67TgscvdLzvCaAXZuBpXyE1kb4
/7MMh95RI1uqAECdqgQja7Pthxr/h+N8cVD6+/7JivHu8hui9qk0VZCVrfp6PKcbEOPADCWBCBDm
wnZy45dur2/4wzquw2N9kL1tNy7Vp2Zc3sQp4HY2dGD4qKRwmTO8D+tMMntuNC+NWAiBYosL70VV
pd6zPTc2A2EtRig8FqwkJ7I+qV+ve/q7DwehP0eeX6Cet4tCGWabFT7nRGWX833fP7uxYKRtPr5t
6VDUd7x0PrYlcH/hxbXmbLSjNSPjZwjtYnAb+IuUQgiqqc1keK/NPg4Xo1/vfv9kw6WJMfkcvDSZ
PKXdboqoGA/MD0cSMiXZHR8e3z8AK6Ir9kW0KvS3+Rvg4OqOvQC3hzEpsol2zqnR8/Oemhq1anfH
rIIh3m8Yo7579v5xNAa+TSK4cpHW9EleUezs8v64aa60L8Eb08V4itjnfIDX1pU0a/BHCdiao/yA
9HImM16v+jy3fbLWJ0BF8EXqKCNU+kqLi0+xsMGHnqjU4IP3rKyWLe8GzfAJ7MA1E0Xl52fKejrg
JZRvAKeRO7gpP/a+A0rsFEOuwyUMrWp1R1EldkUxqwt0GasR1w6/t7qoK2z1drTveKZioFa3NFlt
gPzuFO4OMJdzDpxOqVGOXHA7NPrHDUUOeehyGSoutrTpYKR4im9MHt/YmBvEN7oUM9CMRs8MCqNC
3Mnu/3GbQZlB9j3TXeNyYhEDZ4pZXseZEqF9UzFZ3O6oyNLsmWvpavJc09nn/eXpPH/sjk/ACLJG
L5QDZ8v4GtCvp5hKB+8sr+NhPSD2m9yFjGzB+J+73+YHJygUzxBYtZAkgQR3JcXIjGlzZKq3pzxt
3FPfLs6ztBFmi/vIOjBRFWEOHzvvEtcR9CwQouxsZGn6QuPQgCe4hM12ThOjY4qO5np2uV/5vjt+
C0oQuJLMhg3E4huSGDeWg66m7AExBMw0ZOasb4C/nsAkKtz3RUGMHVIQ7DAMTd0YKh16Yo3vNfBD
QNxXFD92wHs3kAh0crdBeUra60XemlYpNBGgS7kzU4HF7OIPN2SmQWNmPiFB1aLXBdKfD7YF6Kna
lzgGzFsPHgYiAY+sQJ7I3ibTVjGifHOjfbeMfmCMWOIxiDDDbqVtOFaqk+Fq6s+bhyF1Bk3G8F1K
FuqNVvp16OrCih3XooWsYIE6iQCtVTQN77uPh1dn93zdEbIuvRCiRBfKZkUHJiWg3Zi0F0hYhlq9
PJ0Ohx3smTHdTfko9cNs6zt2rGwqAA2dsN9iXxP9an733Cob3L7P76eP+vgrycZfGeruY/81zIia
7Zof5xmMqpJsViSrK/eqPMzzBqM0/BJxrg0Vf/hz+cGF1ZRp8KjDw9vttT6qSLIJqT2BIAkhK0ZB
oLOuX4fN2qOhLmGmS3E7VovaJ3XYfwHztyQf5kVDY+y/hp6qNhTZvR72O3A2bLyaA2bUWNlOiGK2
7IcPlRQEvwYlQev90U8KsH9g/Nc+l02vIihy8bfnRX3x6rQLCrz8CcSZRYy+8ORjOSybbMIdNegL
eSE/MnCrcEZ5cOo6pHfQSeU38fBiXWH3rfDU+JA2p7eD+AZUMhaS+kHZofs22DabYyx8xsmfG1V8
bPx2NneNukwHnNO5D6HAdf4H2AITBAKngrdI4NszjUD1reOr1bt+GTZu0VOAB5/uggW81Fy9bTD7
joGSCewVqjd2X057x692cQzuy8Iqt1iDpWgyeVt/3+2tPvXOL8i8Lkennbq1wn5vheL8nQ/R/kB9
Rv9ILtzfnOhdAbLVdSWOMHVAejr8s971oxdCF3tQuYjoH+frZ9FBhlgTtzSp1Qtg/t63owEHxOYB
jGuX2mS4hYMI+ZRygKGz3uesc+nH/on+5yHSd2/PjQQ8+trLHc2DPCG+TUwwk+EP7PVG1bJvJ2xK
VMsFMfJ5ghNOM0s+Xl6sA43DxyQ9Q8AnmBLNMKyRlJCA/r1+JZlS6JLdRBNNKak1gQ2Wy4htwZ+K
febbtJ61dCs95LAlJ0LPedEu2E+R4HT3ec3zzrgwySmFjvgtrMkvpErEP2ptNFPXnd+/tQVItQWI
nbhL8GMay4phLSvqdVccDAE7kumN9byT3ocDMY6XhuL362RcQxWtShtLBTilbjc9cxHdDDpWTLxW
JGabjrsv+1cXZND9vc6nQ6MZZC9Yr2s20ImF3YMGAxJl1kpyZK0jlkYin00vToydrwZya4dC11+P
2SDEv++SjBVBkBlbRGoDwRJRgrpdcHx52z2fvlJfrYfXpwbrQvEkJBUuiH5UMTR06Jo7kmYfUN5Y
NbRXlaWW0i2UblBFwNtnVH03wcsyiZDgH5qfvdQ54g4dgtVRscLlYiL08tv+oz2VsO+6sTTaa+nh
5RMDNJkgPB/Ij/WtVKYSZBDShs5VOc80ZPYJNicqz5/x9tfPAruBRErXl/JpYQ+O0uPeDZYswVLx
NMFKZABRbAPDO6w5N+rY0jGjMeW2WUkbfL9dkDTkCQnPc0k6q8BKGzMMXbklcujs/jyDsamS/zhv
HrX2FwI4ikxdYVNQ1Ctqtj+2gcWp3L07KUsO3VBp8hEqJJ5K1XNLS7Pdx/7q2rQ1Ouj3xfllnh64
+jSLpnM3fnYwLjGPeErTzTMFj3fUtWmxG9vdPdvnZCPJVsGdNRxsxA5HZpaM07aqNDN0xSE7T9+e
Di5rvrhp4HYmUTPx7bHBZmJ3Kyjjbf9VV7py0PSa+tghMzFSASs19owqpwZAI+xBDaVYMOjuBWdo
KChuacwqY6FoGrc1Nj2fKavWDYQ66aWzF+L/9ILl6QJTg2X8GNtnQwP8kXX+IcsGFcLjbFX4TAkv
oBLGtJx2SEzA0n3BN19Yyn+pxRqwCEOaAe657EW97TGoJeNDxnP3AAf0Tao4RDSV6q3DZq2Us1Sj
MVRUZoYqgdJbd6sg7Dls4VLqPOUnWCKcyKKtJkhyylLpeq3rfqXWxlfXEhg4nyyPRO3nkxIckrT5
O+LtgiQ8a6NJrTxDCLI77t/9sdCvfpu/vZwdmLG7XU++dcCjlZzyusoPLXCr6kD2D0SYZVFqHeTm
GcWe17WVZFyJ4vWQarhdPmY/WO3mdrUuTC08LrXFBFtNuc9VoYWQQ0qpG+bVuTCvD7AiVPm+Duz7
Qh1ESJGFokWHTKz7an7nwlVzYKnTyDoYb3uZrjkA9X7a2cdjtdLT+eSAZ4KQq1+q2LkNa13nug1y
zhxWciBm1HP9xMZ1HeO0mxmXAMc+kvM1TJP0e6ouIuLHSdrYWh5hPT3fIvXoGvH79gCuJaPdY52o
RUvGG1BOc6t+gRb8mAJ6gRUMQHknf/m5cNiE1/sHsuJU1ktf97G7XcDhLP41nTWtKDNB90Xv7p9c
dxnH+qLPq3akVR6RWGQrjFkLwHkE+8hriX9F1cWAnTw5Y+GY4m9jJ1irbU5f6l+7dCjSvmx1KcX0
Mr8oiOqFaaYRloG6OnnLUTbXzdWlkh28t7lhyPH+Qi6DNw3WBF2u69Zqiy155pDcCR4dXZOfudzA
uZTXnMt29FpttN70cve1n/dxB1oQp06EvC4SJGu7n+0bmR9OH7unGvFBeYRqWT3SBOq6qnqDkp0T
b1q+JCbqjFbl0Y31iEiv63hIy2sn8/LwNu9f367VhaJC8qHfMhwyXH14+K1pCsrz5pcPMmvJlgsX
HPseHYViyodmTocmS8/f/CNyHSqrTqvyQ6qXxxAR3xXfaz4m0XUl7Z6epXtTpMuqJzkx7eVEcGnY
tvRJvX6zofPbPHv2ei3yVB7gWETMJez0sNRpu/FzLzvX621+/M1hmLvLbw+PJ1cctnut70wlT1Ll
Oota31jnygrMx77qOQzpIZvmi3I2cXlV1aPXidDoXOG7RKJDdwiBtMdf4Ya7Vx/PzNlEHaSIndmj
73VMR/VwOd3OdYfLiNThGpofm3k6l/aXG+ahrEDQ8uxWD7GtLSdTul3rz9j/ze44Uwcusr6H+eVa
t5KqZMEvH+ct/ts6R0WHjiUiv0brkDiXxqUWnJdTF7OBW2vB7JoLdbwqa+vWkSm12Krldvw4zy/7
3612bqsEplNIzff5Et41fninf0NAyPJf1b2HIfdv9DLYxe/GvsQXVyc6x3GK1R2O0X6wliZARKvb
YruiCbLSBMpPLSyom0bm05iJhDwEnWvvq+f5sKvb1k6kctRt9//aD65jEu60vJiqvhtlmutxu/JP
bXXfqDRnqjryoRCt/nr4zty/JH056GOtFfTVto0rMF1qSkXmOi3mTFbVKLOlxFew/5orZft/zvvf
Yz+ziwuNH6hRtf3PqwaEWXm56in1TP/T6K1abefo+27hWpgd43ySfM09sLiQa9R5DO+0thKb/D6Q
2lfrACn3hXExSvPi03cnVupd6gOg3TXuphG+ugOKCTVJDVeWKNF3hnT3SdhVax3JRldPYQhyRear
gh5VOwWJfaaymiCX8u35VhWzrhGMS8Al66+DmYRQGl+2b01QQDBvg9ieuQ/zZF2F8+2AKuwVsT5Y
4CbuLEPzSAX3/WM/nc+4F9WlmSEeCv6Um+QTLNf+uPT2r/rVEasQsR1eBIdWeSYi4Ml560crBfUF
GcqQABert3PnRTXvdBhTraKzTX6dDw7WfbjsXnbnqtehRu52+ERt7sME9xFmNZwOSV2PBuxUb21C
DoNK356oyUl1hTF9eENoy0UR7qcggk6mT2fKpb7tqAoGyvEOuHfGyXfLfr6d4ZZ6hsUQCdf+a+5P
hdir+pLFZ99h08mIN0Yp4lxbOu1S3U2fwh75b1ef0M9/oPgqoNvVJeMT7jUNbTeJPLZ0ryrGFgTj
4ZBcdEx0B/Iy+wpoXfUXTEPPbjtVwdAF1mTnDivdiJMydeMSN2pYR80+MpDEQx7z/4c8o6p6HdLY
d8k3nD4YFkmdr8kNr3vdTOZcVKBDofmqVS/zYabxcqvH5kasWsUNMIMhCmO/shyDW+R2V41GuxKW
E6/KtZva2R197CBQPnbFl/nsmpyHztT+VOpLRIXVDzTZostB6RYczb0WKhbuwxQDEKU/+Ckx4FFN
quSisxt/eXFlkTPN07U2kP65argy4H1czslP+C5o+Kpsq8RzMEtXZv9D59Y4/Kr+yvo0hSMrur2q
zeN1Te5hTOYOv6ERtLSLBtwl0wPW5QfvZiO4kGERqPPteES6UHJUmv7FpDhjPOKtea9pLEl5Br1W
f5w5kbkcBTfvieZdVx+JwJnF6OORV7sBl+DHpFYgqRRkB4IKOHOedVMrxtEEb0aWAIgjPBOdusze
RDZMcQ2yNnXmYM2X3WH/DHH6UaUoTdWDW6eCNNMbU+namVbbbwjqRKc56DOShktPN/Jj/wWn3GA4
8MW6vqevbl5ok3KvQufkBXl2EWDIWvOEEEy19cyxIgwuhEXVsKOKjgxDKdqIG8mzJk1R7Rn+7dAW
FYqneeq0Yf47Fh9TSaL9V9M0U1s1lC598He//PJ/LV/2s4uXfWXGrZ6zjkrBOGafHte6iQxQrRuY
MY8d+/zwNyd8eu7W0nSY/CKbIt4z1U3pLlVMmb7sz1typkX4vJna7jmi5qx/6Dm4dxPvqn71oFIF
EqqJtwIMLA+kdPQ4crPjqAdPrp74UJ2ZrkKjxKCpqYw36GpfN9C8RxP34ooBFwCWwGrCXz9cqodK
G+oePTOjDj1Rd8meGHd9Du1gXA9JHxoS2QH3crniW9uxYnki1layyl2Q9QfEMhqOcKOnhHLgeh4i
x17HfYyKLNvSx8DpXkfue9qEUIuOxWNKR45/VRtXBbkIKFfSmp/QDowNwQLG6omL+lOZWPRNjLQh
TfHzGPYI9IMxqZevi1wRuISOr95IXxGeqbx/AV7oWeTZOzNt/7VnKgj7V4Ms+Z4RKtv0PJiTxibq
3GPu9Uti758Qu3AwdzbORazvc7WZk1rh/0Vucq/Ho9Sf0yFJynD1gNdYJkwJWgC9DRk6UaJK5OgF
/dOhDWAwMpuTbxN6dxcioqrlm0qI/La711P6LWPmOdU1EFPMPQGbfef/8Nf98/Xt4UYWfH4HSCaz
obE9McuQLSew8BcubQID18/cFt4ltnwIHK6+zTNi2sx3Zg29hWeHERxf6Sf748X5hcm/e3g8P/zj
dnLX0FVGu1IJc7kFtjO8/zw52u7JBY/7f1br9qZelgo23XN7Pe8+3haw6HR+6GR9EV0qaTXCWM0r
6s3Nx7y3+VIqHjb98HSYd+dLcOi/fdBMrqpQugXZOBU2NiQcafyorjpWZVImKaeUHV/hef/loRP1
c+C1lGL9nvBj9yOgk+mPd+nsGcF/byXC6tTr7vHysTtaqagfK+vCnTS8Ly6j6sLVJfMYwlE4yfWw
zXW2SzzN9RbtI5sFQXHkwDdCONDGrbDxP3Qr/l7NNGk9dtU/z4eTdKtsh7Z93kfdH10vqvlQZ8jT
d+hkykmYJMSFQtbfqOyTGQ9BXfVDp8ZB1f9kLBSe1rb6xuhpklN95MfIhoWQBHotZvpu6PoJvcSs
9/9UeTh12VcKCd0rqaK6xPbJ147351t/sVKn44VEZet16VLFWRaLmO4eoWjq9MSXKJArDFFXGOKu
aDr7cTfV3+dUmqsUBAvc9ZgOGVqNxr3K3x/d5x/AE5/4EAa9kvX01Fs92QHVwKaXjOvTDI2siNAV
+mk3nubE3/hQF9z4TVgDa5WKgrnTWNYrP0Fhnkz2EoZ7aa4/IynTH/uDcXMT7QsG58nGKUV9AY5h
dwV9wugkZMk2m8512kfSxcag3W1EDcPYmenhpUJUIlUggR7x76n+JMSUXp/GBqd+DWxmmfdq/m/m
tYXOCnYzl/ojSyelhfh4OT7wLqbk+FT5Hh/n61dKUtlPqt9gV7rB3lXGDxOy2l3qzU11l7CuFvko
pjgXxo28tZoBGDA2kGi8+xkQf5HsOXX8vA7bH9kBNrRANlBtwmJU145sXh47SuOmZE31j2FTW0hB
T/dPYKg/gaHUDyS4SuDdDqlCrgge+FYlE8lNPQ/wsWPRY7GPU2vwTMb6M7EeLjCbI5+NZNY/GEzP
b7Przr0LeEHd6qjS9CqnHkjUyNVvOpV9yTtdND24qOxlNS3ePvTfpHiyLqpp/5b0BfFotO6J8VY0
sUohMXx1uZXptQQnTE/GBrlDXQ5MQWrXewiJxuZNZEMM7yTCl9oTkcMBDOjF87GGcVhT8na7+tvt
SoMj7x+hqT/CvvAu0JfUTSCXM110ykU96BEZMOHtZy86rWAcwkaBeUmo2x7gkxanXhVEuf7xrLXW
fUgQt0PHSXiFg6Ud1vR6dvOmXf/S+sSzSfdJtKX46gRyHBz33HUwfZ4fbufD2uvBFZLsj3WnjQ8m
i7StuPD1vNsTedlH7m7TB9g+a+JDdLWnMns9pQYbFtcfZjbJtBAWyfo7kOko3TXZ8Xyq33lxeKSW
gw1tx7r6EAAv2l0eqAzusn88gBZa45TNF0xebYDB69I6lodssjcbp584y1R/r7LUWiy4e3XdJ0rt
v+4gK/TcZOZ0e49dW0MlRvTWTRqymIRlb8/ty96d/OwnuIPWflOfTZ27D7hEXWMKU4rWjBGdFfG6
eBdnSiJFW3eVmedFONs9CCDqP84aytUUVdSbDs+AcqTZ9D+9gpCLIwc89w74JVzr1n2AbgBL+JOo
ex8iHSic4kA+YnM/rYvxWMeg4kF62HA5RNKgMAhTY0nDMEFxlQD2gc+useZ8eK5LiQDYsuqN1f0D
DqxFycu5/0CvsKy2qfY3oe+aEr2Ryh0xBC9+XM788HsL9RalAccB74ceylQCqCGQBXIYA3BeufgC
wFyVcil34FFgPKPL5tN1h2IEKIE+TifVqv7+x/VvkNsAMP+efIJ2vjYu2MhSxLWA2QBK6tNTELUr
qZ9Fl5q38PwoKsDwF4OxCJLL6KZuhUvQ73P9HnsBhIpOk+zEcf5KC9ZPkOlksc4/WU4QBNdpeFSJ
J4KjWWVckVVIZ6SG8xByHIGBZ+ksudYwJYJYt8vSpEZ9TJAgEEHIOrDs9G1I/zySUsAOVdbsd0AW
wRE21rjz6Cgd4Q9h6zAkOIIqmP6xbvBSlEqlfhfAThRQ3cr6xKLX2JIkuanU0Dp5dlWJ89G1VqLW
Xg57qEv2kAJ3ggeK9UtOUdIh38HD++3KWGP1v96XtF0IjuhePcMK9BolSRk3Kqq6uHdZd+opXKbu
+h68MFk6vSX7An43FFzv0IrTaYPX4/5l/+SG25CSgup9HE0JDKukm0EclPpfifF0nJRTIIDFzHP9
MNl9TPQvofSW2AOBZkFGwNM57DdSqf2tqgxEx/KbVNzpX83b/vXtUG3xQj9kfiXVNvoktJ8+S38d
uDii40n4KBc50uBGwLjSxrolYqdLCdMgX5Pox7HukI8ZEr0UVbttK7vmOEmkKWwMJUsumul0b9UU
8MbGLK3Xh9+JoRcK/c4UhIhk2E0f5+OFwxAgsHXWDt2slSzpxfXg4nRqv/yBv83UfCYkEUjDvJ2B
7PSp5zRy1qdXSp/VuFazmpLS2Hv+5+lI01190P91jx6EKHlI19mRD13vcnrwUHOILtP+CwvRHg67
Lvtx5J/YkOR2dBPwrt7KNmBd0WX0ogXdKXzo7YiEmNFyqBF9x19BPwpj6BXgh5w5Q6EK4uNm//qz
6w/LFdIF7CVKJetc4+uMwpitFxrbRQJax5pFx9wHGYkLj24aCZlQN9XdvxGwnW4oR6W+OKdJP7Pf
o5vase7dT8X02t9vl6sbeFF7GL/XN2NKqM4/brObTrGBf2ZXmFKFadjI1chrswHUGkk4X7Hu+LNs
OHtkNqq2ZvHLzAAmXI3u9zakRKQFcDv4slRGu/OkRyjOjB4gY4Rak0O0Ek96RMza/3CB/pAUOKAu
Ufo9O3O/zN9PbkjP2/7gwRp/5o2gdRpKtK1UMhV4GKJ0PjdHOEa4ilVa2d/VKyeS7gYcA4+YxjXu
97pyFRRwin36lE1VW77vnsAu4gtwIOmwzMt7dYNellu1F0E9t59CCycfOe0PtdZ//mQ+J3LgpLqp
pPpqewQ7ioLHZm86yVs9yyUkfK8bmGnKUIIRf9gI3lJf8OtXH/Uhj13BLaZIbNCERspR1LPy0ziV
kj7VDwHPR2R8jq7w+jS4YJmMalmr+73Fnrqh0w2/NXNuBvwlYCuME0zYWlvrgsV0Mbts5DAZAAgy
VjRjRd1pWPB3TZEhmV6HAdehkjNQXeLNA3nSJftedXaAkWEZRbqF8c5GkGqr46J5ls5ggRiAQJgS
/XIJicBh9CWizO3oNdWRNBZQVfGvOihP46cpwNOUorQPJgsX/P28ZkGu4A13r7BqYKk3li4IMdFq
YNcaxKaqYxwtahym8M1O4GaHEmOiuhIIHkWG/3f8G8MMw40BA+caxCCoGBKD9z8lwUvAn2n2tkex
z54YGSvqw+5wBMlpEE4+A5RYj//OJwekeZMKJCSloC61dr+7KY9Ww1I5iVspWudGmCpVSeTvtEcd
lpgy/Rlojd2oJTKnY0lvtyS9rQsYvZEKqJagjSFia68scHvRsPVqHTPED2V3Pb3X3aeJwciMn2o9
8/3rsVp57e9DluwCN0cf55MfWtW42XwY39S0zkAzMfI4aaYe61jgoIqphIugbYHFdJZfNUllGymC
9dm2jmss5bOWKmT3Xc8LLBMYEPStKM1i95difesdPDvP5HjdTKsSnS6ytuNLefzmJpyCBfq+wD6+
e+d1ie5LXiv90p2G63C4gBJbAjJTqjqiu39xCYrbETI67TPRpbxr1R4BB06kT3UhZ0rVTSCXPMo7
hiudx/Lp9BsSHZZTJsUcdNHj6XdQBcqaFq139bQ7z1fGYSDxprV42xP/7VZPfnG8ODelDQ4xUKyZ
AFPEtPOodp9PTzTl0FqVV9SHj/cVjCwBfygPO99yyc1htiH3t1CfpuurmaG0mpFKq1HBhgSxgHeI
tXG7Z/8nwVnIdIjJ0pQrC+PBn9asnSGrGfpqT/HDLuJ7A9E91tcwrHMEY7uFU1z6gMBOVUKzUQci
9rJdZeJ8eDhcz0tyyAtkGMv74DZb3xz/wHgpmxZ+PINl434jVroIzuFQfcJeUFjBdseQWn/cbgzO
xXUp3714oAx09DPpya/9EML4pefddRfzr7hRoWLNWJmjSy/LvlPaG/wqoVJRmtKTPpzvTjr0QkMH
racpaX0VNO+m+0NSIUpN/OHDR/fJdFLkin892T1YfXS8HXZnNEjDiOLcBkodV3iPfoTOmMjgmNwX
/fUv+8vNT+X2w519Nv3U4OH7zrxMJ0kaXamCOrM6ozdgMkyX2IKAmbrw5Pl0sw6+m0X3G+huxEXa
UKdJ8F3Oplj1tAMqvni2pht6JRWYcCPZ/BZyILwD8+Z66KIuVIq1oxMTpYmDk+e+OwQINEBmS+s1
+yqn5JK75RKE0CO4BMF/tTg/XrwXp5CVsCFWL50iGyVDRifU4PlX9/gtxJfXt5fDaQcM1jAlXTwC
lBf25VsL2DWJj+dCTdyCVPdpA+oFvdHT0Gs0ukgnErHQye6sZiVh582m2aAre6ArdWoBgsdktc7H
Zb49n9ZLcpEB6Epb7Ju4tsunng0N99av05cfySikGWBjnzE9h/DDYZimUYMfKpG2VQ2pUx/pXn6E
HiAf+WPiCDIPHjR8FT2OicVcCq7P85e9a6BON7fQW+qr6MypmBKlIsF59em9T0C31VI7Xj1zNSnp
CEMShmlZ3hli//7aUjXskbOUKze15+vh86Z2KBnHF+uhX3wL0uM1FonB7nDWOBRbGPtLd26AxLNd
FPf3I3PS/959W/P3Y2ITlhb8Xn+F4owOSB9rwMi4o6sa9Yfq5jX4ouYQxQB9Wjxbvx/4iPSQzj8M
FKpnaxHc32/dA9e8UX1ZxWtjgQ44LED9Uz+xRss9PWQSagIzbzJajujdca8ign6BZZc7aoFo50f1
gENIPYvUyC7CIIAw8CExNFo9QMsODPrOtR4DCijTI4oJ8v5IdNWgTIlrcf5EgK1EqiFVVFG3D48O
8PAQeF59KTgp2FlwRl1iJta+B4OpluV6NZvF9UMent1oDq//98cT+grW2o2d9PJk11AxKG/Xyjfh
H4O3a0rei4fFL7czgWzfef14WecqPc1EWTvCt807FGaxKYWBHm2kUuTbOfRhewwj5mYfcp5nYP2Y
F8ecn14PPWiWmcE2Y7aphabkmn7PQPBZH+FixMufsQNSgWPNJ5kSPW0YNFMLf7bu6J8WHMm77Sus
dPqYm+E0G8vA2iDcu3jA0WFtE90E6tDPZRSjDTmBrlNpB/Jl6Fdosff8UCfs+ohbl3yUmm7xpqpO
c/Q6Rabd+yRwe1z3XIw28s6rcUQbggQWoAG5KbpkSqNpvjg/5fg0QwOvhiIS4D809Anx5SqnF3uQ
Ly/2Po5Xpg3h1BAGE7LuSv5iqHPlKp+P86uf+gSuZCg5wosH7ssmGhLOxilaAV98mY/dkXTU+rZB
K2Pmhazq3XuuvkckqnzzWxCl814gVxB/dCl2sqDIz46sGByxlY6xX1OoMUnpe+ejyxpLSvL59v7h
ipnfd+ffrDX1TSZrVSn+iERp+kcozX1eQnfXyRr4nSbryNkn8QqK70wB2PfRvvUB0AFPRdyi6+x/
gkAXWZpxVQE0gW5nTV7dFHRZcT0GcH86+fI+izTOaJasUHyocR8JvZTreLqdLyc/P4mmqdHTbdV5
eryfR74EXWigSL0L6sehN2EyqUoHT2hXKElzbtIi/g3XhrlfjBr1Ol9/dp7HH8C5TaJo3pcADdy4
SJ/bMnbjTEj69TozHKSl19jYBM4QkHZ7PcCVuqxdsvnEneOPY5cjCc8MBtQIZf/THs3p7lL3VZp7
oOrp29PBVwjja9WsA3cBJULueDbWXi3DWX6uln34706TLOoO6AGRwziUorMK0uII4C23iM8G15T+
0Z0MXuz1j7vL/Ifj8/fOXbj6wRXXDcCbZqOuIj3mbK336Wg9mb21pE+uaBrYGZ3C1GsuaffkR1K2
wb+p6PlQ9kEAj54d8LBeTjQNKOfYJX9wrZQb1WhGIEVd6pd6lfynn/76y/qwF3/9b/aNAewxw42r
gSn6hqGEgBQih8vb7vn09eF6npv+FBv9w9KCTeUOMtLsAd1nZnH0zmYqkAVbsj9KCjMBfcPdSnIZ
gq+hjI1LDcqCC1UasJncLyXmiNzWhMZEhjXVQjtwHSpdIUj4/Gpf5gIRA992ykKBvp1iVMCD60s3
uY1iwUK0zxAtpjRA0KUUB5A9xgqIDqB37ml0wOn47f0UMeBmsNGVPAMG6TQwS83HJMbSWG2VuBpQ
NJ05FqEq6na9ummIROVvZDT5GAXFu+o5VxiaTVHSB74R9/okXL3RfHWTPWxgf3vcomdYu/ro2hL0
ez19GpIfulJ+3gyTnqpNZ/0DHQp5YiubLgJbmns+zm+7L3vrODluFInclny6nopEHDo4/yIce+/b
CVFrdDpsVyawH6F8L3vqauferV2Rjq/lV8qSzbi3OyBvmLlzG9gsC/TRYMmYTxOhgO9ldMGr2ZyM
5Nh2NM/E/PP0OCulIR5f2imCxydKvkbQmwfHbnW6x4nXeog4HpcpbhKgZX/i4Op1OtJ0gfL6vh9A
+M1+xmqOA9ntcs16yAEonv15cjmnYMzoFSwjFDxzdGuUNBU9oOM6hsyeJPCf+DDSCGtk3fzOt0fw
yrUoGdjr227vfSVrFiMPEA2hZo6ly8P0MsOmPw43B6d5AcanoscUe+cJxtCExK8LoIOuNEAS0ai2
ENY0c0dY7UFMfTYADV1MdnkTwcEycDJTCWFY/IkI8XwKthBdwckIZ5NkPPzi4IGyCT5OyequT0Js
xN6UJZ0c/3rwFaBa0cNYAt19ljzUfS6vqvUuuyIZ7Z7RKQAhTRQUeCFAAoYqc5tCZdHpl+sZzRbV
zOehQcte4+lhsJoSeWky5SdN20InwOmTfKCsHzCpcsUQ8OKWStCluNV5KUDz8xxb7D3PmA5AgaRG
Y+HkBEHWQJB1SZDDa1r8CJ8Jc43GHncX37aU/hdAd4ypRgsmc9XNbTi3z8Z+ofTRQlenaGcJ02Ip
BLjw+PWD8/6GMHh3YRcA1JqhOON6wS97ezTfZurgs7ak9d1kybj9ffexO84XX0GCxj32Kd1JVhMA
yCPrijLRTZPqEHrYJRhPQnehWNN5wi820LTHe9h/XPaIuyFLxP1Svgjl11TyzgNNvKDcFFBuqsT9
zdzTZgxl2BBBQZMEo1BaBzXUTIQM0lbfVytTIjhRcBGOHURUGWSzFT8CYiOKPl7kFy38BHDr6dTG
CFz3/dQDwcvIETKl6dG3rKcb4pPYTgL4jCwxRO7evdMKjoOPXuWtID11wbqIP1OK/X/u56/APhep
O8strWlmcqqqbRH97WTAwrDtvoFXLoq8rkC4AUCFLtIhHccCKM2uBPexkqPH0+9rV8eVldIytkaV
WDXP+wuNwwvZKxjg9bp0PxVWZQvR7UuYU4ahAdRPiBKPiZOXHPJlo6YLdqr6EhbaFBTHVXmdj24a
prsB/9aBAWVFYOSMs5TLEr4cQjfmj92zU/quq/f5GU2S1Iyn4PDx/g73awcJDFcfIk/Bx0/zyzWg
eFnWHxhkkc48nDKvUA3WIoC2jV4v9gmXQ2f0i2jVASIqU3U/VHleaQfGT3G9+CuN72mdwTjzMMvx
rcBNTrIQVGTc10/DwkOmA8f1HDmI6d+tT2SDAzUYk9iEPequzgCCVTkbBmT4ZxZ19OAe9jDxTnR/
OBx+rvcJ8zscSz5GUxsgNTWVvtlGeh/s7B19EQiHKp094p5vKB4z3VjnR9uT+q5NdVQpfGjSMAwE
YX3J21066m91MzWr/nEcHpMk8CBJjpkxGTvDenrpQkXzQZKLTbzwgX1kq/WZrkkJ69+3ZHhMMxtB
BDdVGsDrLpexKKUGiSrW0hpYmWTqPBEt6EvyThpXViZsbYHo4aepevrL82cTmGh+bqISxWrPLQ8O
pRGmT6cREGutmJRYq5soKip0GEYmcyjSy2L9B3jQU4EwSPyin1e+P/AZxpJQxFFQrd+zch8CAUI3
hY9n1z6AQY1rb4Q3yKzRjNfnCx1XI3IPK6CstEx9+DCwwyU2FarAy6K77r56GuTA+q6AtizwFqJ8
ihInL2VkAkcj+1SEQX09n46vzLcE3q24C9m9VzQ/fXd6f7eqmX7mL5Vk3TrlxeU6Fr85II8aI5uk
doN6m17eTreD9dp+238swy6Cy1Ffd3F5u5x4eDvubcBrvbTQB4kJNG12fzw60ub+S33LgRreLSWM
YSSvtTi1AlcKTIf4szFvxnvYu+ra6/xekYaOVat3Oplx5nAkq+8IEKBeJZhp4rei40qyuBeqbPUk
s3Vv6BbZkej1sT/PLzv7PysNkqnvLbzzTodWY+GB2lO3VwiOR4b8d5f2hQi3TXfrgeC2m96xnG6X
JjK1QwHGDu1DxMN1Ydzgr0kaVakz8z+K4jqsWSEruKYHv+niDmO/GN91cv/P+Y/fvoNJpI5xtbsl
xxbcTXtcT2/+5on8yZ6G+w+BIEwlyQrrsfkXi0g1bmHJaXQ6mQEu+k5P9YPpVCoJPbPCd5m24CPU
Vxun5N2GxqbPqwhZe3M9fdD721/qSE3HjGKnkymXw9CNCsr2wK56zDu6hU7e9XYlHav/7nSp+VJY
wpWB8emTrdvp0ie3MI0cBpiOtGhMkOwYbanTpa51YYNNvb+Q4P1nUgzUx/j/43SZ86TGfHsCql6k
h6bXPAnICnaMGrgq6543g87a59E+mh2iO0ZEdcs6qxaMmp9rAiWo79OHrpYZMEoPEv3QsAON8WQ8
AmsrrZu8Jx8c2GNmIQSbaCxde08JlHpfEgpjY4HaGCK/aZn+TK7zCqQy9Z/JrmxCqO+tV1rHpKqA
/jNr0pC1XVoerJYkoG/29H6br2/n0+31zVV3Xh78f/Rw3b0CBdunEum3uLL0L7ePj9MZbGYqOhFi
6o1CUtAxN02sWay7aTbXr3s/fS+wO1lTvWc6LKf065tjQuqyMGPS/ZmmeLg2bqBnZccKQ8gAq9UA
x2nOLtn1CS23JKm6lOjgn3Lspbf9ES/5lG6pLUw8lTD9rC7cC92mS9lmoTLcwxq4AWPHmsV0SXRo
ejNOSoG/LntmRyIyv9Afj77KjBfj/V79kI7JcuzecLpd6SCYZ+7QPAF8fZW+iSlZB+cwO9YAp1so
HMug7VEZCRwwU3xLRohJVtJI9DNlUnkyKUjgUGCqfg+O6vdc2YD7TFXeMgJokt2goYKXRcvAffd3
K1jnC/jTfeqkBbqIsUEY0CiyZFpzGHyZxnB0QoXb8Xasa0K3sGrGVIMvg9tCR3qgszPv/94SeJcY
LNF3SCo56QM7RgsS0yXoQVCKnuGUORRINzIHtKc+rLSaMsOEQhqZPtRlEpz1AqxCd1mU2/lC2LDV
0bfr7PClP5/OP9tob48so46alYoeA33FjJ2pth/0G+pLwrNoL+QGpaFBEHYx6Q6oPK6nYiVDcElD
J0zqCuw7IbT1jRhSBKGw4BorrUJ/QRmJjlUJ0bImzl4NPh44TmNSv2e834/9Bwclgz9e9BN7Zcww
Ah3KAlDGdg4PjTKtwXMADy21SGH3y0M7z68uA7bppU0s2hxXKt+CPSA3dUzkcR3CSztwU0zxF+j4
vkz0WDIPA2w7itNA6bXF2x06g7xdXQqTuY4LGBmputP5421XmxHWseYPXdrkwAy96kZwdty9Gthk
WTo7786ElOh8OIDQeuSh9ULBd3x5OKrRC6FKkRTFzv/Jg5oPX3aH27ytm3DHGl2ub3wBfXs9TOA9
aJUAQTqRhPgewd9l1mJ00+y4dxgy1s8P6UhWL2ShanrLQ+mKeETGxndnhUuFO9aAogsUpWW8g41n
lUB+qEy3EEyA7qexByis6VJTNqwT8fwoPBwLLCTXLi1wsjrOiE7AMHpK9NzClo5htASqtUv9K4NP
24WRT0DbsG+YGG+bKfvcC3uxoT2yO8zp0mtsXwf9gHsii66xp4U4IQWen0ovtudq5A7sbwGPCyV5
jdEKQ34U+I6hBFt4F99dQA8kZexLsG6Kgy3KOB4qgIzG0ls13dgp7CsplRzBGhiQJgmJmMZzYcqI
97t0lTBqgmC+TGR0WKacTLXiI79jUcI4zdB1WkD73Y/pmYsSvnrcYod0l7qm6yerUWu09eyWSvBs
NtkCd73rWP+dLq2B2Z1fKUHkKEvvj/tjI2iQTENTeNzfa4xtwAdH8/XK8FjcdnQ/uqTsF8Rkbffe
fNRFUFYP9v8ZlJwZUq0kC3gNUN8ydXCWetNgM9BXd+kD5HkMCmPXqYQsgYlRgrH4IP2SLDz2mbLg
QoPnHe+TplImSBsdjE/ru31+2V/2oQincUsms+xqQTI0fEHMASQcY4RWEoTbXdkfjW5xoA6BHPFC
2+hSGldyMn7Chd9Zqz9Ax7rIZui0tuGV7qB2E1MB6suACBygsBwYg7ADlHKjrlf+UNr2aCl8ogSv
K1sbEeoHntWoExORGOhPACJTChglwDahxNcTK8rchhgbUUgZrl9Ipxbnm4AvHNL3PyaDtkmI9q5Q
5+kNJtRTd29kL96rMCd9G+5t6lLl3S3PcuxhTmVKTOvKtNeyExCXVKnMpYPiab+/vx8AuswCBIZr
Jh6cBHLRJ4wGvQzS9ISycAfH08Pl6XyCYalOTm2ZuRcwGZTC6lPBnFIiqL27p8ONypDed2cbIM6t
ZC3z0hla/XTYfzyeqEzu6WkOI2Z8s1Fr1q63M8rY6oSqYSS7oX//21//smWOQ8c6MnQpudKl68wI
joglehguZ/eOKUfcr429vrhgIH0RrQzNe9O5VF6WOHp3PF3fWoQJxQBJossONfyrmaXSJQfS6FEY
mClN8bdEPXhq3aoeHr+1UhDZfYSGlEfrNbtFdgnvAmh2FrEEkotMXCaECojURk5cZXr33Wf91zQZ
ppExKgmNrutzYC/CswDeY3ds1mr9IHD2aH6rDrrrWJkn5TOFy2nyPbjepkHgsKCxkDS2ULFmkhhC
z7+S3P+6uzi5A8cxJejU/SS7nNrQglP6UmrVXw5NgA8lbmBHQylyq3gTIKnKEkf3JttjGGuWGx80
s5NEYDP30dLtuGF2YMfmJXVpG8ygHkJ06NcM9ASSBJrwffS6l5qyYY+3L+cNtBmlRlDllCIuhaxB
4+tYGofwdpOTZNZ+J+C42S58+67Ac53Pr/N/gWqjhr7EIVnABJRjGoqG1g9Oi+zKrdmipVZxBUhz
EhLiCqS8QlkIQ1yfh9OH7+4b5vihjjIda6ObWVA3ucrIukcmRYptC66bo2F4211aV9PJkk+5REIo
kTmmIptE8hcrJtZEpaMwN4Dh2qSCMrDOvH8+nefvHLC8jY2ZRY39MqSgHzuATzBCSCSPLoyMJX/x
9c11f3I07Rv95+ERLP9146V2iXpcmQ7eiUeJsa4EhDZ5Q0+3y9U+kQ2MoTSTGlRXCk1VW4R2rGNn
t9QJFYA3Oi96s6FgZb+0SAHedvbha6LARnWAumqKMKAnHLiWAetcuqZLXWKaBpfjdmw7HUymHDS5
QjsVOB1gbiYNw+QdLZseO3AHGbGbWQk3t8Mg0oLqCxbdlfEPA3pLQ4mTFLa7NiRsuFp9KccU1vCl
ux5ga4im1qkMcfzPzUGEWYTMLzJR2dLrd3bR/saGK9usYVdEYLfHwZ0oZXYWqgdS2UX5MbIbVA8e
ks5+FojjEjKz2CalZCC86x1D+d9LuLjj7sv+dQfNtuaECC5JbE6yX8wLRgtsVSxz6bhe0wIj99OA
YFGT8vymJPsDNLfKhE8hx1oDx7qvl70senprUl13qpTgWZH4V29IgDIqYkKm6+27B54u+xlDzcWk
Eb2iSwOupY3I1E2IU8jePJmj4FpN3TiAP6VLaR6uY7dHHHosZf1Sxe+FGCY9eD5Lrc+WJmW0ZiF3
rPNkt/ShGCMkBJMAspSq8dyNu+HJLcSMPQGz+qvLSTiC69XqvY/D/kpdSBvH2pUkN9AbgRlnN0u/
WypqOHv8l2YMoVkKywFFYTCLG/Te/rFkGRHHtRoEKBJimWmAaHSpcHRldiVn2qNeHh0bXpOB5Z7Y
DtQcQzSc6VdThTC6wcQxFh1re7UwWL3dv77Nxwf+MD/OJ/t5Vgvunx4eT89IFGSJYLcQfMEnymIu
ilf7oaLDYgVMqg5gJkylEE+aurWnSnnBeMFtYkaZSMM9/uWhu/NsAiyqhEAtkQ1AGnUROE1v+7M3
rErEfqf7UbFb6uiL+9w0OMv0cnnfWjrJJd0V7mjpTWcP2/2B35voXsn14GjhtuBTsliG+Z5LzQuA
hlh+wqylpM6G6A69F1FyHcsWEFQlsEiClVYu0PHufN07nKURAYgiYcG+eT0CkpvMGLGs+CzUaP9P
soi3Y6gXomZJ9F+g0jrZpEEXWMsAm5pKTEW+y1+uDjIDd6V5WBEGn/gq7+cT/e9119tQuHxLTp11
SzPwzrdGMporRxp9dj59OEGj9EX4z+uxEq05xjVJvYwrzWWQA9iKWH/GGGzuU0Kg4HshOZNYoeH6
vy7jMrF5Jy2zat0jHPbnl9HpMqGEzsbcujowln649PRL//7u9rx3G3igjVyuO4gO+/NQcaE4PGxp
SPMYMgRkUf29gI+JR8uoyexobYRHcTF5imCduKWJWdLn1Q90YbVvBA0SF/7r4jEx4gGtFUb3UY98
sMCQnrNOLgiI/DIKtQt4csh1LI5b5h4/PN5elRyrk8f9XkzcS2yP0V5SgyX7f21J9NZ1+sBE8fqq
kyr9GvHwWMdKgvUqtGP/M5l+zeD1lOdfX2fqieB/SFmB0wuxeB0+ezhdqLH0CQ95JgFfQI8+kA0C
YOQGs1K3kNAu7veKT0BrqHSN5dVdD5viJr+NcV2C19/HbVz27x+hCzfaSb8uQ7RDL6eBeLr00GO7
+sdtf/4N7ErFDxtX/koyb8t9Zevb5LrK2pmP+ub6Rws7A/uvmuLhmPWrlo6cl9vjudoHx29Ax9/H
tkrUQz6M7HKqsJoz82vEPbDuil70rKAR1G3tuU+Z7ajp4PH1ik4lXhXDVZYbt2Gin9blfAVwMgM/
2mBw1i5a7sKXl/KQ3FrjxhQ/sJ5c5sruHLaP5DGKtdtqoLs4mUm2k7zppjjFb2bkbBKooABci4qD
I/+eZyQV3bqOoTB9S6MC/0vB3julHIzXTdxRD3kP3PJJsN6hTtWOZj0g117YtRALOSnqPeQ9qY/9
ESw4lFqIURcu+t+vw4SsE2AX94qT/ut6E1c+A3tk3j0F/GuOZWlw2O7VKft04GRgnOy/BKmghpUP
51sgRzTWyqa9g8VanymTgYZq6WsWgOwH4o+7bmbueRN801hwKM4KdHPjXIN/ugh7+BQAhEEneH9p
t/jVuUuX4107/XY9CEOQEOi7oFjTlGyCyWXenZ/e7HnOhxB40ojg2TU9h+OlZNYOfClzoQ05CScB
3L8kPOo1o7lSSNtCwNrxuWdtZPPqNqyZji4yaMmU5AjWNGmHdhOaj16urBe0H7/u6oT31GgsM99A
QIbCs9q/hz4Q3hPyXco/rGa0igUspdNBIi3RzcqfwMJj2uNuSkecca20eU02QtttNqxpT/VCWnN+
ejvR6cGB6rLnfSWV8oBV3rPO93j3F/8+X99Oz+Cy09FyqkMS1JScZNrS6qbGe6VGZs0pozIZkEb8
lsnbrsuH6+5/fPWt6Ny/sUbeVTF/7HHUObHYXcS8A1/i8u34tAAB9fIbWitGnU6ah9Aqb0nC0k9c
XzAJGhYKpsWoQZ4sEZE3lckqlt/O2joaPZlBgl1MsjAk6PLuGo0uRv15f3F//7nKK1Cs1DybEGfk
1BlVb70uxr7kCYSvD2OKQnae2BFgTglrucoSystS54cODNGUIpvmEJu7SfA3BVMUKvbOJt0d/rAP
H3xGFfx93g40os5GKzX2EvxQlEeR8rJgr67DWa4PsN1FXUpdanpK74NmGzx0HbgO1i+4j73rw6H4
/qt5Emhbq0/Z6bSV/ciENvwB1Mpe8sb8JucSq74btepgy3TZZWO61qZb/dCjx6ZKUzH4H7Z3jf9w
eXq605h9D16ZKE1QLQmJ78bMelN4Jo8LEurgqGLY9Dppe0q7F53+vgevL0q/8rM5vKzZz+r6wUA1
qhIFJpPfgZc7iJJwJ2o3HswlG2yKPZxkqC/x5TlzlY1sQG3IZTYaM5TBj3pQVjqRQjCpRu3v1CB4
GiKbODFU1XHD2+HtzkX+/B+pDdKBxgZuMG3lYd/+NCmEcrAGYcaN4ivF8ntZo+C4WmiJGdk8YCkJ
LA5jZjSWUdn0hCm5aiDDfNhJLBxcjAb44TiV5g4tBWgUMl/cLXnjBSiRinEz8mE/dKL3gRI4zuJw
LqP6qesm8DFjYZiD6/GlKnxAf3ai4PgYZQ3HgP7WUJpzU3dXgMXvssmwfRoPhDWfWmONJJunNbER
a/1ophF8SGkCRmsIl+Cj4MZc4PlQPmbToZMg06HzC4c0JKaXedHVBkWKVdiv8yDlpyfXL8VSWQf6
hcF+O59Pr7ura3p1BtuI90Dlr8E0y0FqDeRwLE76MNabVULAN6xKk3RMp+xPgSswjKUrpN6pZJN2
X077Z2eZnuZnTB/1z2hKsZievf1IA/+khjalgcd9J3ulDNhK0YXe7nGit6pKzfp9dABMMcPCnG7T
aXDDO7Jc4ABzyYcZdLk19ZqGT1m/fj2hCQ5LO9RsFsl9yAlM8lScBuy6wu1cVybGgm1hBmyaAWsT
lEsQNb604WjoRdmGW7QqOQ2tMcdiyBwgs0WeV3ZEVpUEdqdTh1zeS0brBrJIQDF+g5+H5yk4oPJP
sY66y1zFYHPHqetHELZPfUmCmBbhnp01jK/74xHNBRPTWBovttLa3ZT0697Nmo5jNC8f85Oj2rTG
FEk+yTCmh8Nhk7Gl+7wdQz/bGu1NseY5IqnJyVCb9OtnGioJVuyLM0mZLHj04LA7E+T4cpmRPyBK
lj0pxgpzLZBZHgEqQwxZ/7b/9NNfnaz97Oe8gPWGUjSwRGlAgw7ZMF1z/07824x6FIzXkaIrOcxL
HLyjRAwhp63XJ1Vplvty/Y75dph3RzDEQ7KxkoQc9akLHmJPsAMU0jPpazuQbPAHzXiYPmk3ESQn
S3ZzuT4/jJoVCXhL5tQ7uML4WliLzcVfAqLEZh+TMZYIqgP6ckwlMhEhP6Gp3shPscYZa3pFpKqO
wTFU7nv+Ys844ub1QgrFqjtE2ixHj4MRI4hrhmzYqyiZvQAG+Y77lKNjlwds3ZBuaW37YzXfALZU
HPga2/2TnwLuqS9N0jJCmL5DXnVXUjgZtgg8NZMZdsMb1EM8KhuMWXY8ovscao1v0Afq0830YaRP
nJtOP0snpvnl3R9CzTYEL89mTUZfj6dzA1vuGILaLZMrR9YgYN0JcB075vFnlVjZIglzG6w13pHp
PZWQM2npo+jnRK9vgM0dG6O8zkcYl+Ty/uMaJj09UCcN4r4RWREsNpQI07FSgzQY+Hnaz7sP2QpS
7Ou3gJoBVRwWkP0enUXaMM25+v+Ppwbvn347nE6/0a8+bBhz/jjVGky7fmSmj7Q733dqEgE+cT3b
KmgR/dJMjDHq2GdBg/82fzs6Lwv+NrIhaYyQMib+VbDZmHqkgUpapNOa/3F4sP96Ox/AX44MR7J6
MnT5sCb+4TC/7p6+gd/GsxocYjmEOPR4e3+stX/3P4yUSOPQaLN87npBzb/dx0ypwxxDbWM4a/CX
I0e0V9QaZeRbxpcU6bN02Wbwv3WOPthoPGDfcX/S8YjBH4u8YYfDGbH+qfbRMMqxcl3bvcL5O/Hk
6Re76/W8t15SXbbUwNi0k0OEptErYh8m1H/HCM+9A+H64CnUdL7/Y4xg7Clli+/yMp/Pde66/XMs
++7gbhFINs+76w78PUalJqw9SC7x5cEfiwI/uTzEtM4gOM/gj0W56R0e2IcJp897a0Yu1WZz/i8K
VhhAKOw6nPjLXJ+I7X+r2U2YcBMeTbm+Lb/ZPdMozBcbuTmXqypVkskxOZeSmcT3U/13eijRn9/J
73QFOZvGNPsdMEZ0zC2EHbCppb/X9zKWKhTCCpfbo7XImOyh1+RzlwSc59NXAm1aG2BEeo5u2T/N
p0J7yt5Mo/ka22GalGewwre83P75T/DbqXQapw/7BKzJ986IRwY+PDX18hCvrb4s48zLWISxLOtI
qvP16e3bw9vpvP+nA98OYK2ohGSsZrpbCyyQlTz4A88/63l/+Tjsvnn39/nbcfe+fwJrRg2nfNlm
n8u0XcyVE9pf1trw+5UMU0NEpw0sf+/FXcLboBHOYBXmBbjgX3fDIpSuGOA4t4Soj4fECrgXITqe
aCj4M4klku2u/DJO9jt2z8+Nj+jZUdAHhZrh96MbXBqnXQLU0Qt1X9oFb29FP3ven2taiwiUrH2p
h1SXplzz0U2Ofd/Xf8pih3CpS9rySKUZ9kBDj8PVDKNqJLcmL3zzycxgBhLBlWBPvKek259eR4r5
x/g8f9j4722mItTLt/f32bWEry7IK/tYdsZJnFVj66qnc+uV09exFsM+gxDireUVfN0/X9/qP+fD
hAgCCUg/iV61uZThzVJVTKK8nxzP3EUeh/373v71MNeo/vdZs77w99PtW9v0FeyenSSBkkOqw8km
UTv7Z/AtA++8LmIDRG8Xrfi/tE6Rt46mL9IsCLuEApy6QAiZS32gP1hfI0wkQe1iDJ8G4y1TmO2z
nGIUpHaPN5PMZSGMeOFyze+743X/dHnQ4MfstVGUvUyEPP02H8Pc98vmHiSGT+DzAPjK0j/jRgqG
z+jy/k8fKq5XD377Pvi8zEQLvH9Y/Wy1GockfPOa+hkZrpFowpO/LjfE8/H9gxnXoA0A/GD4PDZP
Owj+/+PtdbLKRoNv6suK2sndl915v3NoD7DoXvZYHwZ6B6Hh5iJ768T4LZLH1qLMfdAG7MbwS0ia
5JI5C+Jyb0CC917fTNJLeGQ37pNpt+P+Cu6YNYhN5PbFdaVzcYvroF//ecdHPFNFSfBLQszxuDuz
Hu9AOHrW8HaMmmER2+Y0eC+wzMhQYkLJwqNuiQpvi5KcaDyTzwhLx1czUWsyYXGCjIY5GT7HJCzS
p+rlwfmku3ojEpN06uYm1NGO3Dyk9337ESWtsChC7FOxtbeFozz/Fvuy5l7s4ePuMm8xiHwSAgmi
Wsx7taaQfqgq7tvq1IDRRIbP8khcGQrxNm6ddSj0SWGlK++/paRZVwcZi8PCCCfUO8zw3t+JGrvf
xAI21tMmfi9MG3RUv1VbcBkkaUOXV9AoxiSNGFnD86C0m2PQTNJ4t+cf6WgXyzrzP257+4XO8Qc6
iosbaZppMWCi77phAM93YJuQUTG9B+9vPoedvO1fgCoZhlLapOjgA/FVpdkG9s0cvME40/8BrrDI
nUiTacfj7d2PWLPid/L/CFRKzbivvvHjFlUgysptsR9NzcYa4nle4aKS3GeF/i5AocjSYFAmYu4z
tl1xOjMwarRwy+Be0n7Niz/rXXvrNd7ej/gqeFenVB/Eq9j2DeXT8FoZw5D+NDXLFLlUD8fQtslD
P1ZipSAPAkgCex90r4El8B5wgdXEgTXkUDlJ/0Q2eKtc1wxR17jeM+59Ik+bj/NJjAt52p0w4Jem
/O1LYyY3C+/yjzPSLhNzbDV7R6eICj45G3lxuLhjZQGJnvI3OWQBngJ6nx8CcdzSQEgCCdC5lzPw
UwjCVz+CcatZ3WR2kvFYY4zCEgN2PIV/AuarEi7nmr8tnJo3R2bpLger7I83sAc2wC1x0FfReHe9
6v85W4/4d/q/TV+902UZidYIQzOsUZrvaDjKHJrZapx1UesBRNAKItAAQxaYrcW1i/ADCeb4JEV4
fc+smaMCXd/2T79Zs3YBqyg+YdIDJYn3Rb7uhggoAVo5JvEZX9+U41Qrc7EmCmEZIpe8oNkc+o2t
e9K1m91ssEabhKOfSj3c3z8B/vXlWGd3XAWrGXfxOaVF/O9jVx+KZXjr4lSvEf64NmUAh8A1kFeu
eSTsxg1Zl97/H8q1NFUAb0QagCWsVIAy4UJG1SAqsRnA3PA2n97mmszuPdw+nndXZO4YVu38WetH
pS8ebJyfrIgbT3IHCmADpuzT3/k8QFvwSXscYEv2IMAe+PgIGmyoEnxiaTvp+LUOzwE6nYV8cmXH
uhZh1xMQz1HnkPDAgDQg1uzw/BsxtY2z1+rGlNXPYkrHRGfOK3ReZG7mpxpo2/Ajk27Lbkf2YBNP
HqZmvQXpy07YYkFwqtmbsprWCYcBMH5TSRpF3wCD6XzOk+41CwWYM7tCgY87sBJr067JFEkuW5S8
oZlerQSOKiuo5Ty90wIOU5WtYDyRgPSAM+E5HBG17RLahGkSb/aLgHMjajHWnX8CdC5rVKspagse
LbMnQfkA48FzWlQJV90Jivd41NMVcNGC9xfmV9d7S/qT4sEEUfVHFos80iy4B/cUaOorJlR7UzGU
RaBpZqcKaLs/ev4WOdrkzqG5UiaZ4zawiaxepzSDDz6nz+sDGd+k/X67kdfDN9Bi1ijNvoSAgqGr
3NbxRLj6YQfelFQVtMM+Jd8hGXzMVPaw151sIU75XfTlyOo+1d2M7nRlpR3OYyqhygQG70MAwaqI
eKpRwN+9e8KyAL9tDuOmUl90Xznmepfs3ufnhkPAUZQkQZDdBbgDU0Ejvbloi0OfzaYwWbYIe1B8
hHPKJVmDT6jfddflV8pfBaUSGvxU/zwYpNlRd84pURaENjx8HBDkwCcNee7FQn3yaM7lsmkrfeV9
8dBpQ2axQiOJrLKMWrN4F2DJsRwYxyWZ2KPobtqi3tsuXzclZQJL2UgIJFj/ksvsKlPIE20RIIus
s+9dLuqv9Jk/2c/8rsULjeSztUXrAvLkWhYQ4BhXNzYo3J0f9zb+PX8LNRmAWtqXmLJrn9fgxrXO
g5Fk2egGYuFtYhP2jHLJn+fy9zdQ+VghBH+Z/lL+bH2n5n1ECqk7lGXgd4hOHt72f3f1wA9Bbqiv
HbgWlXJuhyREaB3nUOTXhr9M4IZ1IREdlpV2JAOI/K22ZMKwNuR67SDpCdw2QvrtePqKRJJVd7DX
8cVNy/Qc2KhPltAP8ExFqVTkq++5wwnY9RVkkQsebPkm8WR1Ebya6vn07jv3ffFN8g7zl/mg6B9/
/7CnRf/0v/7D/tPPtOCv4QJ+CF13aW7Ar//5408//+n7n7//068//vSn73/94W/f//yHv/30869/
+9//8f2/LUuzHVHL2nC/YzJOlv8pX1tC8xOqi0xxkdhrLdkvbXT+cf79+usPP/7PP/zlhz/9+svf
/vC373/9/uefq8sO6d66uOyPv9iFTwcrCr+6+qjbx4+ulbFTvv/58w+/uphz/3tt2aU70ZgU39Ky
37uQxR3or7P/p/nXpV4ucGxqiy7F6mPSq+g7mh1iHYun+de33eXP884NGP9V1VYRffWL49b8YFV2
AmsHocqqMrseyVb93XGLXRVH/OL//88//fg/fv3TT9/951+///Fv6IIUu6BYDl/5aE+wqH14thI8
PjdUq7rQuC40rlX+XBJ9l2kozj07r7H4JrY8v19+/MN//PLvP/0NP7944QRuTtv+1B9/+ukv3//h
R7i0Zl8Rcfm/uRfoehNcqtIi4u+izdjw6hzsV9uLKglKVQK3vrnsC01F7ZzOpHf+BeU4po96vJem
4+7j8na62ut5hwIAhbbv0+NRQfrf3dfj2xKqpHdqyuwTT1unUuDP9g9LOOE35a78WN+aTJ+R3Cbb
f/7h51/+ll4WvKMu/pVpDQeLKpOJ2o9/+Ov3v/zHH74j+/NrJ6qPQZdupvkNv/zt5x/sQcN961TV
91i2gGQRUFYVLV1/eZuPR1aPx6RSMm5a/Xj69cdfqksWjf5/nE9P7tfH119/cFHkjXyuhiLrSiLM
T/jxdHLtSMgY/PqyO1yqJkGbVMr0Njn4FwyCqp7o5j+0TbfF1zmlhhJp5Kq6GKvvBBsNpBa1SBw1
7g2hs/jDj/87V8XQTo4tMdn6EKGKV8lxy+2fAvc+NFZNJNw+m7qAFz3PTN9XNb2oGqHsCP9Cc1X+
JVepH6tu+6eNMY1Cqf4h9tZNzaTeKbUlqvn+f/3Hz9//8ssPP/2IzKtUW4UunNi/cF7DBt28PvBE
41dfuSzdc/DSGiIyVb3K5YOtcj9QizYvrZ/0A3rZUhb+B39zExRra3SpFhs/FX61vNXMHE3NE/ik
IutFKZTnMVQU1/o9MX9BF4+RHhAQEq2rXnlB7j73bJSoOuTIm6k7G30bCvhud7kCB1FW5RqIzK5u
KORYCtualuLH//zrH79vWPxMPtSdfPzwp6pYmOpBNez7/nL99fn9cn2qykuXfHAZ81jlpSV9SqXH
N24Cd6qr3bt9vjNPxCwJqhN+OtPp7PsOvD396lBdyn93YxngpPZdkyo92fBz32/aN08+zy8E4ZOL
UV+PKUHqGarX9Vxuzy36vrPP4no7HxsrdSIN3gzf2TKOZc0ugYVGlQAy3bKOayi4e7Iy7Fqd+CZJ
7p9e56ufvbY7PlMTlNrKkzAlY2RXDqQkj8euW6QWUP4h1tccu5LuCl/tqvhD4xL6Z3QPU+Vek6/e
fXzMza/sSo61Xcl9mP/EwF6rLtFlT2LgS1Cz0Jf9/OzJGvVFxsTTNDVBPc5faT/P+5eX9XXVD4pD
vBM/KLc3fz6hIKG2xjioFEJLTugyX+nDBPiyog0In8a28Mkv4+hHxy/OLbv8nh6Tc0jq63BgOdqD
ZXuLdG99jWXzHg6Lum24lcBpj6IQcYTduLdrjeUWRcXj6bvTedtd/BrkUALhYdpO5joqaIFVD6PN
FOPMqEnsd4V/ujx+syrKKdO6PPXgpTBxsou6/wSuZe+rqyg591u6L4Itjqen08c3p5bBWsxVoYlW
oibo7t9ad+BiTSXaWhHTXTUTDS1uvN2p0wUQIh588HRWpemajn0QU6e64mCABmcfSf8y/27VOJIw
pvVkHGO0PJdVRiV4L11FthYV4E1S+GBXPhSrh6ofqfuSy8RNH50+fZ6NKVbF8Np4CtOY3ofON2uF
lhppvC/daOpLmaJjXHpUPjFUf08DeALexdLI/5hKIQMz6d4donGTrkUPsupxJ2ysXpAGbgTr+xkn
WTHG6dWtV+b6jVp34wXcmSxlqwqGZot9YLB/akyDfrfO45f96XZx5D9HsAbKuYi+Lvupvmz/HD72
wN5nhlUnKnGL3WA5wtTpcD/0DXxJNWMTNoiyY+u+7rqfL945I8fbyRXQglNXEVF3YySYoHkVKZk+
RayGZhhhDYdTDtiFYYACyTtb1r/+i3WvNnygjXNMxSYmYUlyXuC4hlSlykQpk/wsYvZy3r1CP20c
U6OYvultjsg4ZvLU1/QCsBNTzU7cR25tVTVNU/m8Nz6/ZXJAXbkPFeVOb9DnLTf4tjkxYSgFmQ0P
aSwmKu/0u3NMW+p9rMiV28nl47C/un9wTdira4guXuOQKIW6J+kKwi6XZbfADk6VSJAZZ/uP8Mgn
PVZUTRKYuu4aVE82n88xNPetU4/z6w57JzmBIHlSG9Xr1HWVqGw5v/maBD94tXGseYXsdTnGbTSS
9tPB+0rDqLi77Bjd03f/9L5/fj6AI1M1ZynXID3QILoSKFav1lFEiQ1D6ZANFzuAp5boSp9LBc6B
qoShZTejYYk5sGly+wnVxzgh55IHMVs0kdgI5qFP0fXwOpX3RtxouB6aPvHKN8qCmMqRwhqXkgo/
w7ibswdEDgIkoNK2iJTTEHUOdB2dEt8gTuOUMshM2b1koSS6hilZK4Gmjg51P7ii3fpWpgoIW4Y4
60xizYYzp8mtus6Kw4nqaqvmtFTlLDypTwgaY+CMuaZgl2AtX9PZs9Z5Sj21AUlc44n1HQDmuOo4
HZ4/4XSPsqKRUsgBAaJT6rYnxuQzmnXqRIFMmV8vu1J7GUBYNPgwfvYKPAhRWaOCqzuXCMPrqenI
8FByhhc/FIE8qhZQMvfilcVKwLNAqBqTd+AIDAy0mngSKIWcNsdIE8/o3oG1uZHcoKc5JjZyRzvD
bRsPUE3lADw7KQDGDD3wVFlyBSGYsnJfEZ0yKDDuymY0+wYDvqEWilUSbC1XlFHQ7zwQdiSfU2oM
lU1hpXDbu8vl9LTf0Q5bINXUSwCwc1vYiD5F7fYXMJaqmNcVG9ApI3jdPxIWEreSEdymJs4sC/Pu
Ysjr6bo7+LwpCNq7insUg9NPhFR9D6JlG+VdrD29nlxIe3pZ9osewpjkcpQsinFbnw9pSmgqxvDX
rycUw8stXg03e78/zfPzxZ//6WV3Ri6TKSutFHpET6mWEUq1+4Z3pBsIfRUkAupwqKExCyq6DTGc
uKHvCm+z9AjC3MvGO2WwLesRWRC01nMSI/BnXpt553Ec0uc4fg4gRw6gqGQEck9rAJ6WAbmO1DEC
n6hBaoKiRBfre6nHIb7MPCxZjDdbsANn8yc6qw2RePDrlT4cAEMy871VyRPkb+D6ZhdspiF1Bb5K
tNrL6Ya8rmkCUAdP3aNMuQbJtNyh3EJukCATc6Dspb2L+R+33eGf8/mEojFVVYvvacryxVeRuWql
unFLlWxq3Lh8LPFrGCsFTr+vuAdbQuWtwmfAc+N+OjIv/X8VIG5vs9visbLPJyQCAxGqYvaBuXD9
e13X2bql6ADcSTrH4VtbiBd95fkujiad2HH+usX51dhpzSAh8HVTmXqRuausgQT4QOZ1qQJOtUJd
gKXGBU9zOCX13N7OM8y/iBLpHYlvBLy2iq9MVLzq+EZdut4JFpXFg20qrIsZWIm0cb8F0as7qtiV
Vj3I8SWBQiuk4cW9irtc97lND4wiGHMaQbKcKznEiDQV/kzuICH3bcKksa9n1/89mESYTGIrLW1F
PpWtXe8C+NNGN2hIW/8G+BOmjJtvN3AbwOBayB40ln064Z9A2CMAYsPQp02aT42log7g73kxb72Y
TpWB1xym3oZ6GwNesj2y09ejvZ02pVWPlZxscsWXeQPOMeUFg/fsbXv685e5SbfkYZTJXdKIl2OS
mTVhVWPPLvJ4ck62a8uDcsNpzYDqij6tXarl0aZAXDU5Fl7uBm+bNxtQOV/WysEGqpEVAllqJpEA
nhJhvyO4rtTytSjEQ+rtdvcb6ZFDnnkKfenCNytx+2T7LY8jOsttp1bIsoeWAj1tfacqLtEdeh8I
7s1wlCeYEm+78qmJ2wG+V1fyVkWqLPhgg13kTa94GCsG05mF+eXFNZv70lBy42iAm1cKl1sZDwF4
fsxpbywjxxqYwkR/VZ1nGkxVV3e1Oofc9wdnPVQ4eCvPcDOX0r5rBFFwcd+uN4ehEr+ldm+BihqW
T3cbFM9lS7LQKp0MqhYJhhgJYXbVK+CPDl1Fld5XCMF27uRbT4DUUZL5ZkJE1RNSnN7cejumIhfs
tFwTMBx9MOIS6ai+xFhsiBPXCkmkywuWUPQy1AqW7sKpDazHjGgXv2jNAmxmxQ2qkmBqw6sbcbRJ
jhXdXoP5cBLLpCnkoUIu2a4qRFoe1Rd9v3ZywXp/OiUm9FjnBBPbcrqnCkBYyQACGMrU4p7sVTZf
91AxaY1SFhAQKOAXJl5uy8FUFbLQkrR+ft6I2YmK6snRZC/9p9v19PLoPBSYMEUUbJaob6UTNVBG
7AkA9sug25r1Dn1tSKqpBelRUpuR4SBBYacPEAZ0wJljM1Yi1N3hsAEqmEZTWa6sGk4vFLG26owN
cHYWc9R6gmMVVKnAiE028wBq8EoRx8aS2mHcEqNTu8rTC67ZmKZ+gxHlXhghu/PXJnLD8qaa8xhK
WEtLAU2VUDt7m4Awl5dD9hULh75oKJu0/BnYPbWqC3tAkPYPEnn241DLrS75mPgOn04f+xl9layF
/58rkUGQaw9Zc6uC3lYIPKh6uoaBlg33hMUeqftadZ9cm+0LLvSsQaCbUy4bcF8FVDk7S3SAssL0
rHUwaMIgZtzAjmUoCCLH8mLqxA1CNrQFqOipoofzNAegF06V6KtCGscMYFGJD1KAp8krmfQAqDdt
HsPIlD8p6e7/9l1dqJeLLPZyuY9cA6xR0QDktCxjr/p7sLMMbBwvcLlpXc7PXvBzM+nQ/hT259pb
1eqh/SI67ilTS4WiTryhZfRP788xqBO/obV13I+/1HBYvx8Z95NYqEodbeOITLragNEHnJb2K47x
G2USBRQYbY3N9fXjWu6v1i7IL6DiAmpNLdgNsMMWHbowsS4Q6Mb0Mcv//N//9te//M1NfQitzDpV
X2vJD9NRx46B6xK/+HEcy0pAJJeULq0UQxlayaqCP9jzWVYx1VXkQpylw+ndiLl1lT+f7f0sSwBZ
HER8r9Q+Sa5LhF8bICl9p9IDGfNfC4F+3qtU0Pr85+MEfq3Z15tVTN2vf7F24mlpTifAjS69KugD
9Kpf2A4k2IFhvybnKt7iLzR7YbmAAeygzxTmkO9AA+k2k0h+HRxE+yyupyMQZbl0IVq3Ho/+3+ed
Gz+17B287kEOyeu+Fx4hNLp+U1IO/PDBwZlhTP94fIyLYpHo5Ez2duLe/3h6/rZ8PZBe0+nUNvVI
G4gRXIZgBmFab3F9x7/M1023wb4oTjPJFRxSlpNO37OI7/mH48dtfVHgVIZ+TE9Fh8GmT2+nMzhO
2XE7xgqM1x744Nvlkjle/+qdIjIDUmNMG8ecQiLHQA56mf5tdafFgAbqlU7vXqa39t18OGxQZBMT
RgYBumX+snucDxus2zD26Sl0xReh0IswqTlQ6bf8fPq6fMqAbGOXrqLvbkMbcKBTn3p75v7n6DKZ
ThpXkxrEF0kgczIZyZ6eDjfGSJIGvoYofjlSiOzleTc/apH9fHhmWgTZZO6ZTCWlPAB3rZdT6k7o
O6UsgDdidCaCCqrUHqnULvEb7xXC2KFHKdKLiL/+6fHvzLUAl7k0ii8Y9r/O192G5zR2ferZm6JC
Rx7KxHSTGBMjyZdQ4EqX6hFaQiRqgbupQDA1Eyk6zSHOWtPAIggp4fd/d1rVGjoClbl4qqpgUSCy
FKavWunORkwC+arpPTAtv74Lg95F5indOYnIMTAm++PwVYGAQ0zsEDKf6w+kITe8Cz2O6cuc7rw+
pCGGIZHGgnZHTl8vam8yD7s00C1MyWWGMl9lQsFbavhzdy27FeQ+djL1nOJX/fC+e503PJLBqBKI
ULDcSNCWUrjMhbuPh3oUD/U1f2h9KcgF4XiBM0DRfP30wc8TmMBlskPm2JO+kkhf8XsQyecvKgI5
oTnqosuqukfafoJLsFtECnOUKeQikWBKFGQycIGlk+/UBTKCmkfoqUvAzSi6zs6UzAhdp0DoCnck
I3zuf9eh3+kEcTJ5HINOrM+EIKo3a+0O/uShCy6quqntNVn9OKS/NkVbj7DNaai5j7m1lQgfE/HO
YheZYlCE9FGmGGXZ+4HBCIMJyu7whPxIncEzdwDJhJxpXb3LRK+jaJw71COMLiWKLkWGoN+dgkBY
S89cSAbisieBnuHQtSQaecD92NUgjb/sj79tgUiZSMsiyIl+bRjQxnp3cmQCnVwnko8PJoV0UIfC
Hx5Dp65zgo1Cj3cwiR67x3YVAvdG0xB9aMb7zJPoOa6JwnBjEmCduemp/QdbH3V6eLnaYHEHipu4
l1i8ePRrY6b0+HR1D8hfl0VI5/n0hME0U0tOJHpnQP6kqCEZSeiKnBl+ArET2Inib7j9QaYvfqqi
UMgCjQOW/gGBelKn595XUhMIPxiyFBH7jP015qsgJpXdgqn6g8gE5h7YPaaDXpNRJt1E3ZZDceCJ
qq4UAo89AnSyNJdgXuTxtiG2GVmqK0N5mWeGXjSXCZFIVJZxAYc5qKo123CTxoylVxmeFHJLWWCX
4Q9JbIJ8sV6XoAPmA6DcQJ9F/bqCxxmEx01VhJw5AgienWTinDMhym4QoexyamQLkFU1zKo6fDHE
ZuEGEWbBjHmOWeSvEBk1kZqlXLdyMA0hmyxEKiUKuH+PzFuXebf3bilyzXrumqXJ3/ikYeZHDiV2
ilvgP87zFqVixlpw++fTOl0NihN3ELGxQ3m/UX0Cd5co+GWRAlO0IX+CBFQPW80EimCXSpFC9udP
+7P9jNP52xbIlL3SNP5cYw4UuA1T+kormVgEwhhZo0Zsoc0YleWC7jOaCoUdo2jk0DQyM9NYc/7+
fDq/b3Efs4RskOqg5hCoyk6exQ30Infn3et59/G26V2q0t/PcRDEoZpU1XvjDjDSbrlyKBtdRA9Z
ypPWe7wHU1H4YBjfiZKhqhJMoaNUA1Qt/F2jL+F6bsT2C/myYiwFFTwaR6llZm+y7GYO/COvnAdl
KSrFPEmknERmt0TZG4KgqOhrmZD0ahFAwHmVKnlseYyKNDYzolm6P/OqEEajshRIgYiG0nNZmrSC
tCEBHYxOH3w80H//eQtSJ9VmAZdIwDNG3n36Hgm47Evs3QC7ILypL7KpCKcC+JYUPJ6J4zCCokc5
LxYdx+KAnKgEU16c6dEVw1pkoE3OTO7LCh45072o5WUTygj0/7iKlgk4mQJ9yBvnCGtKHEnWQBDv
OA6l+MLn+CeU46+6Sun+UcqQW7kp2X+qDxENU4qthNwB5XRlKX/in4FCz0Al7qa4F0Xkb+lqmq2U
SUbPuOtqliUqMQRPMM5Llr764+6yJSIyWTxToECho+j7EQIVLBxCD3MStVgkzVuiooNR1JAab2Av
24z9mFOiRJnjjW5FmJobt4XUZ4rMwqCi0WNgVI0sG73GIIiIxmPS1JVPbDKyqSY7u7scxIBkSY5V
F+kv+8s2L0uVKk/4ESD3u++rsX2qkwQKrNWUaoeatzgh7Vh0Trx2R+ZddrW84b/bn2zB3FRa/8Ee
NI8l0Qo5O4axOYxAOlmAGBSBlcwcTUnMxXeM3isnLBRzzj0SWzHWgPK7gAvlP7o0A38Ht0/o7WrV
yNkOCJeTRcXh+TdI2pj1yuC4JbhDOZtO197JAswiZtkoaon21JeDsq7TNLlgEgcZJ2PXyFALjaIf
jmvrJKyNVh9C2jgO3MI50rJ05SHwQNqNgyR9SdJGlKRWpmZjkrwGokb0fQ0qSoj36L1nqcY7wevR
U+MmpkwxQQegTYGrdGfiUPCQAb6MzukQt/ctVtJkZQPDPUqFHBSVMu9DZinIDooh86j/Ts+iOgMz
9VUHj58d8u143U9XUrICual9P9W8C+ti/o/z6faxCaAzNarIojWR7uDW1TS5xQi67VQtRftHusot
vqoQtceYRpMoTzik5TyM45zmGlE0qar7WF1fZIpG3dTnCL3nRYH1ugEIynGnUaySSSYY5Cel4NrA
pAhpoYADiYNouRA9Yn3xWrjxfh88T4nuMSvTZZvIC/MgtCfS67yXBsSF6nvdeKAo725GWVMSPMWI
ts/cKueNawEiWUirmmpJ3+U7EN7GGG0lbjN3a5GjweqCMpznr6fnTfauq+Xvk9wechnykL5O00ZI
72CqqE8WHSJmB+e6j0DrIvxJmGr9QeL7joioKmoMjwRORcdqUoPMFHeCCUPAIJ6GQ6YZ9T3V/UhA
5FBziJIaWuQQDi1/XqPc71QN+Fd3Ct2myqIv5tDOr/PxeYtHyy2QLvGFR5SFUNXcVMqeQ1a8rvYS
eUIPjLulVi40Aw4gWYoVOLGk684+SAgbGFHFWBSqOhFZ1cmdWjXIh+ymWg5iw5Mzgy5FvYHtgc5I
Z1U+ZRcFgrRG1GoVOJ8LSqmp4Wvpa0dGTWbVbLgJADqSrpEoP22JJSdpSh05SPggbbqrOazZH0d4
66RUJZpM/E6Un9cd5A1zvw1lhKahlmJfU7koKjatkEgopL/GatFFHpfBKrS+1qEjsSMIUOqrZCj+
RBDw23WNFh0a1T5Mzd4mSLlwkqBJAuxERyCBzHojMTn4627TJXSyxqO68zqRruqqri/zOuE+pkYu
BZVwm3GqFc0y1x0539LUjoG3hkBoCdduI8hCoFctuxpF4k+HbYiL4YX9JvGsEsAP0bLqbRYSzwJx
oY2G1o9lKZG/O/Y1R7NkelCmTohGbbtAMVU/ZMVG5UOFwYwyJePnnR+DnB+Targ6HxlS7RgbaoIk
WrTImDUkKvjdqJ0QM570SMtYNCS/5gWDzGMVyPWcTCkgDYkHVJs3mhKdjrwN2HyqWrC+pIcQ4s2S
kcQ1UpUABVlG7qPHlMWzUyO4NCojrsuiRTXI6exLoRGrg0D8jCFVX/zTebIBhbi8giCCUcFlR3et
R8zZ322mhHJ6RQrOLdEhun6lahTORNsgJ1kNpaSRj+yQnsyB1bu4HBEazJhRgisOHSIZ8jZXqhrz
IJyFgwOpa5vU9iGupelavA7kSgxdDRpYuU7IldFjowwMNn3j76e4dWQlzNCXypjvnAckef1Qe0T3
WCpyhYyosU1zu4ey1pMUNXJR2rADuaa9rMFNCeyGAvG+Ky0RqBawNjzr9TUytwGxDrMuCaKC0SE9
PogawJTRltEiSmwq00YxzjhMtYYpTJYQ4CdViTsdrD8yhqOoka5Z/RTSiHIsETY80WNERI/MBb+v
BUUpSyWrHfcy4Bx9vOprvW64KkaWeFK1gtANvV7MONS+InEFoBOkE4pPJdEJab+q2nZwAR8RztKZ
encD5K+OQ43zkCdQUFDOxDcjgCcON3L59YhJ+6dNbUpy1jBsKwyJQJ2uYcGJXkNknn6qkaj+8sMm
oZI194xBHbDQeizpRIopIBGo6l2tX404Z7lI1VtXopscdc0/Y7oYaUQxwvY5WSEmMo3MxJGVL5s4
aJ14fUK6mXtnBWXRTVHh+mcO7Utfq4HkrZ+gLFVT51xJo+eQVSpXOuLCYkbe5TrtU5243LAxaJVX
nyyBHH8jaxhPSbIQbYq1ZaT4m7UHufzgZl5sCkO72heleCDK8YmpAU4L5M73uTuvikRddKbdVMO3
N+e9RVb/0pWXQPLFCb9Z3jvpPIsCy5ywW+jkjY6y72uYaNoXEjXqZxp4LLXLERq5ElPxhXiGOiIs
SV3t9Hqn45AXrodaHVbKgYDRwJg28E6yqQgW0tXepC4W2dQ7vK8hcnd5N8Su6bqaGP3ntpIJ2Wn1
ia7qEnkEothcIcQ1MIGvaihbGpWhxNnYakgu0EH2fTUf+8Pm0Q5qgp3FM2omyjTwDmhTciB5cRy6
WU6MSZ2jhCmMuDWmL00myevLYNN+WVLZXk+gahDO4UttTWqvEFdAjDVfonAhCvn5WX+pe37pgIRL
ZRy4WndrFPhJvW34BgKxMkBUVroJo4eixyr9PuWvQae7WjeSMy+Q78+7VUtYDY8SYTJVf7grsETe
c54aq0Y08OkPfY1lk62CYIJpqpJ505QN9MQ7WKvBvgelyIapxr1MZR/JrepKSWSfZkOU5qyFOEpW
IiPL0+AiLTViIQm6j2Hoa6nKO3MPEzlyYx4bZsOn1AVjm0mFA4YT1bQG9+WRtezqyHyi4CE3uDpU
h9FNYLxa7ea0kN4RUVwUdbKHUxEa3lXlMgvo4PSQKocgVcSw+HuqUeDWgA7FAIOpVnpC+sM0fGKs
l0QrySKL2ecjUOWi6D4zWAzZj6mv0tMzVw15wDLF4EojWJAgTroWBqTNZZADrU0NWk1TU+g95sjL
eJ9rRM32tG7Uk04IUdRDzWNc/zh6C1pApyRzFmG/IVMpL2ShLUp7SrFJM8JwSGXFXSzjjpwY0bUy
7j3K9AhZbUqiUH5JtOZBDaj8Slabp6WuMYJMx1T0lCnDQiikZx/PjjzvYWZQD7M02mJhX6wLhqCC
rE0LKeU1UOjY9bic67Sl6+QkdZX2oZE4cG2Y1qb8af9lE+uwK/EvvfQPSPqHajVdpswROqTEFsIM
bAaQNWcMLpr/AISudbrWf65k15Blzfu/xSf5/7udrvMmokK1J3pqlZDrr2U1Y4l0sBACZiy3cDV6
VTuBJAeAfDRd9XG3OQZWJeiGh2YQ8CC6WsE1pxFDD1GlBVrl1pKo7Zfoakhn6qcix0DIEpDjE1oo
c8IbLYhEISZCDDtTTrUhjwulHl1A15UaG3kPGW58rIlvkldGiY5B13qRL5YcOVMibZHQcygXYcBj
i58g4DA8g8Folt9HL1dVQ6O0Kh3dO2ed62aEAMNtUysGKFll5Fh2pobGJoYFbUZrCIkyUAfRMIbU
X6uNJYODpnMqc630E1kY2VcDUNDb3prJvgZtpQKCPOyhrxZYfGwc7zbqKj2SJ9wRxN0VZ6WEXhyI
rmCqjXu5aUBKOW8Gfg8eIMvWG11z8hbLhvRTNzS6FcCtG1Ob/5sgesjXHoaap7WhpsXUUfSVPINa
To3FbtPh1hEi2qsaw2TbLD7rkJjGPMAehWpCwMmIHAdF7z6Ht8teCUr9dhlsU24XjejlUza1pabA
YEdfKWusjA3qz9Q91BSyQQqk15XmaQuzExUzq6k1HQNt36hqCy9O9UGv0AylTqTeAKD+n/lwkfsW
H6hQctRbW2PAo8/KoSXu3YK8rnyedpkoD72UnFhapVfDxitjNe5WyB7Xm2MvTjbS5lOVrJVH7cjl
Vqpay6WRKMl628zNjCLdwaJ25pUh0GDIos3aDDIkk0NWKlTjQSApUAbyIJYXhsrSh662REJdgIGb
rjrLGescFmEVR5MFS4vwk5zLyXTz9dumGs1xnKrFIgmuie5zLNbfhv3D7hjV4fSpMEEAaKp19lpD
FeQs9FXvON0CwnXzhhmgnhzJY5f1pQJDFZDL0FUbZ6dYCHIdRXVUxn9ua4NnhTqDRSrz5pD/lFe+
ynKzYGi7TY3DuOUYTN9MXaJMRdZ0jkcAaQoWxgATRFs3dNmaBlnrv7G408j/yjnnpYIgOCxTFosH
vMFGQLkYakzx1PeFzRgN9jwFGk/XD9X+BqlyRJyqYaixMlIIAnnwrJYkTfZtniggdCnr48FNCLWl
TOZa3yvEweCTG1WphgP1azJDVROlCAjKGKtqS82UyIxG/4xVXZSYWjgfrWuMqRlROK7GiiRv8z1t
UD3BUu8txVU6K1A15WAKSUOfziG/b5uIXDYzjrVb4DE5HK2WIkK8+SPrnAgbK1cVcnIIaBMmrXHg
r1GjxhjSNJ7ShMAwrWtHnwKqA3oGWaqoXDmDWAPDUOWA/LB5+IGqzuhLnAu0hB5hZ64tBMhsoFih
wwrqs9YPumbf/ryfD8+sDykUx6E2kyy9VaTc+Gi7tPlGuoZAa4ylLFTI5sC6T1lr3rmaV6QXzbh5
Ei26S1FVbYuPhEhqwmxCmVAqrde1PgSxRBOSJVUL3kBmNp9sd/f5sJNUX2wewdqfIBeDN7yWsG8S
inrGrNvNPdjdoTAw7zvYVQN5JMpqqMXjvDIRgTTTWNPwqasC0/kdHlKzJaTlpWPFZnk9qhwT1bhp
M74jsnIdU4GdYXpVNHwN2JQkk0tRQQag457nH1FnEOQ66urUyMTsIskaqg2WuOsEW0ZnMlHODMNJ
jX1XA2tSQ9MjF0QVWAPed0LRJJ9ImO6elbDDQh/Rmh6LSAf5OLMKVIfEeSz2qPNxNAKPRfUt8yws
iuC74uxXf+YIcuepc3nf/5nnMFAGe+pr86nXo0cewtAifgpkmPs8iX0/zwFtvufVbaY4BwPBB0Z3
pWoMn3xCoUJXDRW2NXY3sqtOmLpTXejyTNfwLARCD/p+qHSf3ZA/NzkAV1ab6N0Ow1irkmxXq9oN
pPBTlbcP+38oU4Oo1xaEkKcqax1p0ngLxWwczE2FOHVLYFK/2paqVJCB3CzRN/DMAfnq0lTHQCc2
CJGoR9kChlHr1n6cSuGCn16GuoIrWWOupU4Reo99Wk/TmAqPKMiygwlhxt9GLkHea3usx28otSxS
lLHmcqJ0Q12stg2BtiIuG5VeE+Jxmqwts//1o7XRuMu3Tn82VvI9yNcVfa2sYAkekYaZZIukhYaZ
9KPcOt4TJTmmBCPndhKSlSYFuYpbiIpqhJPSMooFSgR3db7cz5uI1F1jbtqA7kHKTYgYYgeYocRv
SErMkJM8qVrCbLV0CIZQU600ZTWz6PuNrLUmX/46dDaM+EyXJySTUtWucXUZEZajZWPm4YT8VT7E
QZRbbiElNnW1atn8MaOC7txA3rt9SJsN1c7oqUZEIY/QNWPAwmXYfUeImmFL6CUo5DSp8zuUWjGi
4EH2dxx1t8L8xf7hC/3ieX/52F2f3r7/0kL++6IXmv4e9XToh9Iw+eT3sJNQX8Tr098j29wXB+g8
Wct+nf3uEabGo7jYHmt/3F/9b5Hjy4IARrxKTw79bQZjxSAi/mkIyssCVpL+ZZQX6LtSc5f0zNHO
B9E6c+Rkm7FEZOG/Rnsv06/5r9GdmSLNjf8aHTunnceJ6/HK4JnpEtyQ3hlK8/bFOWTxbyNobRhK
eM1idOj33+0ujW/P0v1TYf9oD32xeCTuH+axVImkmf5tuPcpgfj8z+lnf9udX+cNH190YNINILHr
ZakyOn48ei5Dke6fPlZ4eEU6ZLp39Pd7dWcgyNocrLk5KPrJ0+k80z8cT8/z/niZz9fH+cX+h7XU
nGbZSecIDGtH2+fT++V63h9fXXf//XV+r92LW0KFQlO3BAvMrt8+7C5eTvvL83zef5mfX86n99oZ
aZaypXUik2T2pvwyX/fPu6vd1ePtOh8vaCWl2UoxeHbncp7fT1/mp7f94bkGa2qWsnMrRLOQH2wt
O6HZc19ORS4n65+7lfe9Q8nm49PJcbPRAYshboZpjuIB14jOmk1Jd+vE7sXF8xXovkMoQ9thsnx6
379/+MV2znk6z69Wes7fanLt1pJM/Jjs0EFf5n/cdgf3j7VXTTfFpS+mZu1unk7Hl/3r7UybedrZ
e7t+ON9wvs7V3oC0pz5Kj0sNGQmOe0DHPSXHLdZPezq9253Miyx8nC57t0cFDkqzu+PjN5bPfLJ3
t7t4r/UCLk9qWXsaViRvVrbdQujKFj2+CrbgYmQXuTy9ze+75bjQSSsR747FM+tHHe1lWQX5NF/A
Y5eGPfYIwZIoX/bPHbihpWphuaHgh+yOp+P+aXewT/wdncTS4W49CVUSXglWMGJKXnawqe7crLSi
ravBpF8dlOXRqutvd8oF6UoTBUJ6uo9MNoF+G6xadvRljW2PQgBDpJRMNcEIrEiHrIisaZTas5vQ
sxtLqy1L7J5PH1e6ZGAJBNMnrI5hFVCk+YVMzJApmiH0xJbIMHut4b2/eAYJsqVasQXG/Lnf3zHS
1Ur2JUNGQrufL9DJ0EP606EuHj2ygdIUnZX59+vXt9Nhdv+ARH7JOK4iX9IZCt0oe/Gam6uK8QTC
KUe12fGS4Gx7to495ankLKG7Mdw/GVdsPciYO1Grzq/AOyc507KuTJ/nl539H6/2oEOO1yRKjteq
GX9/P3yZzxeQoSV569OXJ+pHi46m71VJTbsX8ylLKZgvwWgG2SUhvWjGjtu6BWFa/Ye3+em3pzfr
Hz1Z9+hopXh32P+TRBF6E6rgUZYFEOnsUZauLAjQo/Vrbue9QGqavWqW5WDOtr31y3V3fN4dTscZ
qtxRpyed+ZPxztC5mLHkreWegUSewViMyyrRg0TRg07Ppl81nt2LVznhfX59s7Gef2BIpvWUeNzM
pFzS5470qFSlIKKwyIAWGdOIsee26VMfpbpijLUc+PIgVucBBUiShSTR8WeETYX0zifsHNCCg8pc
M43tjAS6UE49kMXVB0LaR+ixHDP6Nc6zU+30JsAiUmZ2psORh0GRR1fSy9XjEQqZ4Xg8jL/hvuZw
Ov12+/g4zy/735HNWji+a1Q2lrcTXTb0tuQgUhnqgQz1yFcaS64fMBVQDylRur38mKANY0aZD3wv
WmWDrHL2yKaSvUExsOSBK8lzd+8HIrdayLFk0CtgFwzClK7ZmkrAg2ArNWkU8MSHivSy5K9LYQE0
4NOWwrrV0gAkpkfrSF3GiCrKHWIGUxZQpWvZm3PIqXsZ59OZnkrDPkulSkH0fYiJNtWr2tti/gaS
R8MD3fRJ8CgA6bAhlWj0OBVyBidZ8CkXNAK57Dzyj/j+XbSM/Mgh08NTIbpD9yChF3FJog8oE2PJ
C8jdfRSTjRksOrIVPg7WG6IlFPLzxFCDChMQHJ7nmNylZmJ5WRQJsECG24w43+XOtCIkvwxX5rkA
tImpiCiVYzgEF7InFkPKu3euEHrQj8mVrNo5T9cge9HJeigZJUMgvzv7Eon9MOTudiMIA7bA0b1K
AZ3gOjFvG51F35e8ZOThoNCR+9zpx9QsMTqaSZYC0bI+RQeUGayKJhAa3bdJEUzTAK1QdoXhEMxU
VSNbjSJb5njHqr5q+Afl0BTeZoqSQtBJqUo84VGDNfFEEFYHoYN+Mw6ODqcvi3buEiAT0g21FTJY
D1kAPZQ0VvlzJgTrZ9GDKVsCpMdNqjxlX7ZnCtkzlTqkqqiu0HeoseDdpA7CNqBKcsVXTXIjNW5G
VUh/LZ4Wip4HVQAEKlAt+ISlg+iqu3Pzvq7i4jGUBNZ9zXvlaWS0lWnaHGpoFGp0+pPpJ4S8qKmY
LSgfEJR9LVJh0VtAQGRVjKorTK4b0JmrKYXvUP4CqToGwDBm952vOyJfd0o+ZypjE+iEuWuW6Vuu
XQakXfrUf+jLOk4hHWeSjLqqBJPQjdHRQrP+D/cQAMRARSXkruGPCPeb0qiqiLWgD5JDUefWvBf0
WSztzpqJ5/QJmJDNkMepKKzQtHeipO0quX+kXhh1IvrxFfWLPAWtSw+5wOOAjo8qbGZdI5gluIAo
Ocy5x4MMolAlBlpB8lHsLkwp31JPmEOqlUoJMqoCvSMvmRE8SDsGlWDl1GnaNNWHaAxqKmEbKWgK
iUOMzCAVpXgrSDlizJghkRKALKKYfum/vHoeVd8WeYNabHbVpUKbMaWIvA5PTgieLMIddWWHYNxR
lKSv4n0g94yLzpAslBholC8UmfMOEvI9IuXJqWSX8swsUhJSlHZyBzOiaLFPmIHLHRVfJEKDOPIf
e1qW10HkAk7xKXmZwftBh8K+KEUIEhbmK6dgIh3Kg1dV8McSyUPqQlcSa7k/hBSohqBuXAM9Sz0A
7I8ZFuQGCbUJyEGviGe5hyxOyiM3ZFQ0SwknHICgqlbw7ALz97ovgdSNqAR5RtzWdfWrQniZGIoo
Xjl5NSFNkyLwjBWVMRxQXCKngrnjXKbVz0PoFjOarEiqjGCjpGVnanqc5U2R4mOJOEmET6Va8TH0
jzhxqEVAvaAHqrgtF83iA0Rk1bLO/blDR5C/xH0Uw5DSGkcBUTjGoRQiJ4kDe4VWml6vb5gn06U+
gS7mCZFKHkpskrIhF+h5gZTnnSpDFTCTKuFodY9pRMecsgYrhhRmUbsSSFn3BZEmy5U0lmmkQHSp
cuQO24B1RgLB/owAhKRYDqVHmltA5L31Qtdgmho+B6syukKZUP2yUHg1jSXdeu9loPQzuybWaSIj
e6NbypJpCpC9YXWCGEsXteAjb7vj88F6gBrx16ZC5vg+8EU+F8+kDHXuPnxCWpeIpZm6Q3QGM/W1
pGBSowcNgS4ZgiyNjlBBTjbSOd9pSW8hpFamhCke89wrW/Qp01BL42RxN1pEV1X/ZXPw3ku91bNC
5tDA0J3RpVARXDdurcuzahoWSai6cWb6EQLhWV3RUGEjobg0o1ygzLVB/ENRZDtUeQbQbckSRCaw
BJwiIqoWpglUKXZJyI9ktt+e1tVIL2YfIksqHqlmrbIQSRZTZSjWL1Oly0YCORXMFI93MXHKlYJ5
0KH0BMvSZpC0pc5Fxl9z6smBKqvnjnRLL0CSN74hRJhmIVshkr2raEBR22hKJUutClnkh/WqcHPl
nD7yxfoqNYtjcSjpJrt0hb7A10NOVxKPUsO2BrUF1WzIyZRSO0WbArMyZbW3VMnBwvexlMC4Sy6h
XM6Ukb5lyYeEWd2+xBpPK+zQ4+GSb+p8WERdFBl+KBsMNejKFgum6+kctBYHn++NKwuCkLdQZo4X
9BRGyrLcu1/l8nHYX5NaclwJNNZSQolvi4DEjIMC8jmQocZAhYivrk8GvrauRodkSggJm5G6xAhP
BR6dIvchZW0HApaRi9Jl5hxXRP8eU52jygRyBFwwa84GMuYhH6LOqGpVxu7DSvRzU3cpzi1sNMoY
OrQTWWbz5SoIGfDebMslI29cqoyK0dcWQQ6S1CWPr+pKIM9+7AElcAGAUcpUTBtYiehrTOamsSzI
ZTPzqJdyC7VdQu5aV9V97MUg5yUr7ldAWFFFuzIoPcVyS6iUXMpS/i5L7iOeJ2c9kNQq2TCUyI/J
RbbCUUdlJF16uhpxWxB+w8EGlcvbyvhBwqZEDbUsJDOR6DPPSlJ8L4HMaKTgOll6huUQDhlPYWrG
k0WjSB/Iav+fBLGAZSpdLThPISWYzzTFysKn0zsdCGb9q+IZLJf6PD8ddj7Ewr77UOXX8MwKMuKD
rqXnuEqakEoy1YiMAx2oX0ivSla8HBwiIGroCuTksqQjDClr4NLM7qCwdxhr0Mnr5sJ3rbP0coMY
CRkBoy6BSmtkT8BW8LxgB6WupqCY8ke2UHRbRBcxhHg7I1OHHaFzwhOvcRflLDcCBYTYXLJgkGEW
SU1JeEu5Q4xSnKpHlv21XGoKG8kNJdbbPTCFyEJ95imA09Ho4xiKSEMzixEHVHddVwLsUKcnJMP1
sjiWZEFBWO6rVwjgSDcMWWc9oPSQl90PRRD/To0jmLgfS7njtWkVkhBhAGyf9RlERAqZFn8uLWoT
cA/xtmSmaUWmHSsEI9jvZkBJWuZrIwBHjDVJu2zOgfWy38Jp35bek8zWMlZ72R1EzQPK0V0aaW7q
WTN2tVKthEiBcp69qaKo3z7TfVMxWjkjT+XgCtrKmOHcJi9RRX++N23jDKtKOIecsENZ6+kAGURi
qFBAMqFFrGtZjd1rGhv57F2xX2zZ3sMukBmlqYrKorJWOZVAvHvCAsybikZpLMuIoXWmYv+Xu9eD
/LG+r6XYmUpBZS550OvP4+t8IL09w0Bm0GILrgxd0l7WyLIcTETx2ChqsGxyiiicYqQnLyApI2dj
myudsa8qMTIEQzbUbsCkDnv9XomoRuUq7G6xmQGIMOt+/FyJGSxXG83m8gJk23vmYcuU9FtrAYB0
/9SVRBC1J4DlArIm0DXqLcpljX2NSs7Lj1HGYEypeLWuAkzhwE7SqlZXx58reiWGud80FlXV87ew
o26/JZ+DNtL1JQ9xqcxGHtjQbwODYR673CO1XFeCDKsaKz3oQs/JgK5Bh1uXGuHUQWV0NqqEKOV+
HFLnk6mJPNOiyChylF0lMW+NfIrkbNpOfEF+VD/1tVq4AlSO/Fxmp9iosjSEhnKvyoK3CEz0HpDI
9NVWqYndRkB7ryq5g5oSR4oy55drSO9DaLvukY/5+unWY2IYi6j31vy/kGW3ogh9Izs3VGkrtXcB
G+eMdSTnjqwKe0IUezkwHxbhW7oDHLB7ajgCMpjeGZJeCwmwhEKlQQM29X1zU2QcOllrtsBwMkiX
yEKLvmn2UfPNQYIM1KKTEeVd8KTacB8ex9ANmTqj6wg4S1ii4Dhvt9Pu4wiNg2hn5mCmXo2F7HTd
8KJ2MTI1VLIIrSLGKfNcGbfkLgJCpytUzSnLsoRIIehiw5K8+wM6VTOUjAFCQFBgyESGzqXI60es
ZJUFGGMp84MUC8uVOOOtU08VaWkWGydN53lWHXktvPh5rOcyUFG56Iu3UY8gUbH81JWebwX7RNp+
LBK0lyNF41QGDdg566FC1L+Y+lpRf3SWQpVyDsxYolSZlsWpCMWIA5XrqH5zFSceTDMkZT+qNfQC
VZYqUWA45mEHipMnXSLUZuoTLaCqw6zu/SGkvKYSDlXOi6LW5Blpux0FIZ6d7sTGpDwKzHTJPyoj
ycgf7jIOZGu4B2zi3W/eEtImXXF8S0yCBYosjMHH7fPdEFFnUIUvqtVqoziI86Biy8+cbgCB2alW
KFUTQZS27RSKy1gRGBwaoMu2KM/No8vuu3I1Wk3+oGM9lN5V+bWjOEjUOmPGynP3Qnd7HCPKacT4
XoJSwJYgQ0EMF/OKFPkwlEew5R4HvKEJaKsNvf21TPPy6DGiTsJ9psvLjSyRQ6362syWyzZfuFeq
VsqWdINCsaRJp4gEU8Iyq3DET5HOVXYW4CyJHtWAxvgReU+mK1Sj3h0FUmmZ65Z17UvL6RCOrms6
5J5TBo3GtHUyUI/KHfOJYWNNtaLUdTeUugktTx4m36dK2wx/GF+sV2qFBFJG+qHQ1i4lsUC3eizZ
lprVRN+iFJrskAUoyMkeK/2QaiVzSNqmoYT8pccDB+QVrdQasMBJbLrWx6tAy0awtxpLbTvTb0B9
CpLhVe6f9VDtpoT0qZY1AlrFqdHQr97+gFEXJFWdQ3B/yjA5Z2QNHuNxFOI0TF0JRapH+7CL+dSA
4lN+EZJD3lKUREmhPriIMj11Nc5DRHPgMGjZVwLFy+Y5fj2XZoU5jBpFiZxTnAoO54ei+pquSgHh
tUbIpmY9hlT9XaIT0WoTtxnpSdELQODg8CXyHU1Xqnoqu/SoekQUUwDlK0YV991QGyRX6JSFYKuy
4JdGPkKi3zYKF+SO6wor4l5iEItE61LMVFa+6IDlUNeZDDdHWxGyUmJQUZqoyGwq5mrKKB8KolSx
SqXRNhDFMkbXOJYFQURVcFP6MkBbRERs0qLU+6FcQoPW6XUt53HZhgf3aijf/mrmln9sVIiIoVaN
x7J0KM8gixUmaQtwVI3LLBsDdMsYFjqQYbNXBHN9w7ih8wXCnEzG0VEAnoH90LgjE51XBtuj6Iz3
G9IJNfp1WxZHm4yBANri9MgkZQW9WsAwCbGEdJFz11AucGJ0V0501Uh3kJOqKiRslq5DOLfILmws
pRKg2GUZR4Wb5MDRyEUHr2S0YWsm5tRThKsqTSiQYzSKGv+Ee4ooOhF9oSNOpt/QDliYn/WZ45xB
FIV2U707cOxUBzu/pHerGuNVEbTGNzMyMCofCMAZQrC1v0SNUy5bmfFSTVunehvURFxMJdEtJ2dQ
6Nf1tepnHuOgCKUzmz1F3LHKfLItJqzcGqctbBi4Id5ntl+pDeVaCISfTV294cSda4dU5zgVkp95
NSfs05DBzUMJ+kfOpdKlDMj6qIp+NMow6jTar0zUQohK1mFTtkhu8KJUCb+uWhY4+kxWCgNgwzPY
j158ElqTkNbff2rWOHSsp4wtUmkKj0K8rjg+qeHxwA5eYnNXbhiQC1XIUTUm7ULtX+yPUM6dIUyz
E58CwFERhJzKrQLRm4ZpF9MG+VmVDoT5x81TxOEY2UltpqlDJGLM+jPWY2vYsqwrtadYD/y+ARp0
S4r1rmXri8LBvjoFtZDbRkRJXZxid6fTkYdvNOw+CLuEFwG0snuFwkrRbx7zjvCmfhSlKDtNzKBC
dilRC68I3CL9bKo9Q5JSRhQj96bU5DIL2pCZltn4HQMoGLC/5VSf+bdEnwim5S3i/D8XmcDI31Vp
zW+tcRdisY1yc4OaAXbnULVJQjWXGZFLUo4/YnUgrIFTBXUtoICFv6IrtwjBvhNMgHfb9T96zRmj
HTbixHpKVbtW1dhfKDDoetQskFEUUD6xmz5bm4kwrLFWq8/DSsQY7XSNF14wSGgh09Vb19+FXxCi
6as10DH7ixCasUeeUWTpIJfIbHdl0LTRoes+N/ANFvvrGu5TkxykhsbxU6EJQqRkV+R3FWpR0SKy
L1YuYXWEFuyrrR85Zg3TqP22GQZwEpJBVYGfmsqkcnrTUNsPSv3rEVSIMSWG8nt8wGM6LzApVEPK
dDCFbZR8fORO6yKYVUKWkZXgMb+5S03wPsswFh4/H8PCbveyQBSskLhgQq7oE1YUM2zgPJR4oGV3
Cnb/1ZuDB1QT1U9TudvtAj3fyxKM8MCQ9QivICJVLyEx816looZ/WcuzHNlK86EIJhDlljcZr3H/
4tUQdO9GFCTdIQ6w8mkAJJctrVa1MaWisLtBo8jNzEcKiKY9RYmQUdd6Wme6GRYNCtwNK/HGUPRk
BHJVNzNlxDiVRzVXK3iR61vuWnrvmMGR5VOFuMa9Q5T7GtMyGTbXm1ElYL9hNW0hW6Dgrdyf5V/J
Oavcf690gEJlEv1QauBUqRpDJn1KLGDVC4R0SzHVis4TIhN616IvD0bOxQyxu5h6ue+SzV8zSuMY
XYqwa3EsKjzIG+ajdpGINzoWq4D5cCTIka/RwQOiShbkcHpqYtdm2Na7Bk5gFKKW70skBaWPRHHs
dTl9gWKpMmep4qvBrvuiFkS/bp4kq7NZu3fVNokRQbTajZECeoxSCcQrY0oBRXKiL/X3rBD4IWou
yzWSd7tB9d+yUv9dSwqhqoixOlel5oOgYua8t1mxOzO88lFu6PWFkjcmB+8apwPnWTDEo68OI4Vd
GPpqRXWSNIX8BF1umnQfqSLNy2oRh+RTeCErEt1hq86ELV3MFvoTgvmkLHU4rdk01C1JTajIkr1F
ZARklc9V0AwoGabSdn5qaI+1h7FSsTbivoIUJaUGUe5qfHfjEJrrN4/wO0KsRZV7vOXKBQUlo9lM
AUUH008lu1QuSkDJfVHoS1LpGgxHrqsSf+mOAoWEb5pKwMGdE4+W6IvhZ72PBfoiCefMxPIIRPLR
4nPD1JDkyYxDXatWgmq8MGDJ/n/O+11+cZi/zAdB//hk7Qr9w9vTr6uCd2Hd/vg8/36xat96y/Z2
rB5w/+np5cXu5PVsY+D5/G+lLQhye/130JOUq/znfyIuu85pt/65+/dgZbWuzGrF7crukFkbXFVf
QrAlou9gl8jtrZVFWut4Oxyqyy3zsulbI334/jjduu6f3vfPNgapb29g60UcK2zP5bXtdzpAg/4Z
bGuIX9nzbVG/YC6RTp9U11EhtKN1Yv9+u07E9RdZf/xmb9Lp6t3T03y5LPutr833GDkiYY9cp9Q/
U7DtRdsallge8st59+qByef5y+5wA58bTNF6bLJ6bOu/AWcn06uMd2AP6dkt8r77sO+J/u3+Or/b
B2BfuT2zS31RHRdlqZrSDhufGiL/daHqO6gvMcn0NY58idAL1f2j+8D6KqEx93LmcZXl/vZHQm/X
BzX//jR/UJKMFFGQv/qTmuKXxkqd/IV65RG0EVZCAZq733D22Y0L6KOWZH4G+25nnZNYAnxiV9GL
NVEDAtalX1dTsT1QsX26m4Ev4S8tf5v1xWRXeUVRAyViD/RNqvnjl20UtPaTlxP7E5qLRiJr7iKa
8rG0S1rVo6ipx9PB38jxdCTtgY5Ts+NkgURYNRxpokqALhr6ipFJvjZs1f2jlR3wvTK1pInudRCB
3xiweWNq2VPYvXG5H3tR31oXXzyrCiPJycL9kB6APsPSIuL+fbCXfz6d8OcuPNtVf/SVhyrBQ5UV
5yUIwv54u0RJsK5gXRaEALaA7Yb+7dE6CNcTWM2I9B312cZWVAJsyKROqObHk1DrgO4ZK0/QOeNW
JC/WUF5Pzss5vSxuUF0+VaoWo4CHn/rwcqMyExNw8NyOyINfPWu7v/eP67eG06gq4uD2dPmYn/Yv
+/m5obZ0phREySVrO55D1bNjFu0828d2hI9tgV/oo9QatoaPettdVqm8ADmI3+SS+mri30Tn0Wmg
codUL3X1T3F7wvfOhIhU0VQT6/qGlhm864Zk5a0CJyFzHkVF9xige2r+54Y49Ol0szI0v1qV+wWI
ohkqHpb7zm1Xr6au4uy5L33Zny9XfFTLrOLMKoVN2Pd5+nq0n7q8CyjKI/seye1GBk6BeCmz/skK
W47D1Ez+Qqf321j9zLpRVUy5kmM33hmfisEGazKDlt7WknMmW3+cv24I3zqZnDZ7tu6sHPUj+khP
pw+rGcGxTcC3iee+6e2ZqjrJAjf7mbRUK6Sc+kRDKp2bEq+bDjtrVFDosPCG782lOyir4b7sT7fL
Zf942B9fsYfElDbrnnsfYmEb0g/A103e/8vucEGBrqjEIKSvrS+w7aP6VAiGcnBwe/RFDK3wYEw/
ri+LFJl9IExjJSZafRK7l9l6JYfDlohAZuCaaKBhMCDop4q6A9gTeM594lCkz8Yuxa4RaGBd2dJn
Q0gQbEyyYlvzuG9538/7l5fl7wPV36fLdtlp7p6fN+nFpWamatA2GEU11kCGuzUaFlGkezH8Yc4v
L67i7Usr0M6FNoHUnKffxLCWMTirXPQVj+p13gCI6TFdzDQ9IxZib4Toe5VgYqYqY1vCtaXXw+KU
KnHvHxtweGOyl/uwiLZDVsw+zg2WW4pabMQc7uPp+mLdyGcY1Sq1MYgECQc5VaL9PCDa8GUMI0nf
Xq6u7VIN+JH5pcymbUZLgGNfe9s1sOT3d4SVjBXoJWKJyxNFgXwN1wem5Hh631kdBCzKmIaoppV8
aODgqY+oTElqP4HIKJlub2hhwl/31zdrAhpyo9WGx/W6CWpWNZTHfSDn4QC0QVQgixQ0bOTwJuBR
c20YXkXT89QcfNL8LqsqPPpEWzV4V85qZLHgp8BhocBpskW3mDHNEME0C5zdLnCFeC5C84shQGq+
kqgi6cgwwL7u8zX8jE1gxYq2AUgihW8URAPAfvoU2TAV/AWAQDx1mqjpGnj/OL/uj8g7ljx7KquZ
tgjjtFc0XXpcXfMdreHTAg/55wTeUV/2Pip7doZwfr4077lmqENLJZJcIPnSoEQ0g9M/EwModpzA
s2wmQHnquJhI83Y5xOn1dUYBEqncM2pl7Q0gEhBSQxr7DLOxqraXBKRNwC1g2UzFskWHWACH2KSJ
gjxU+3o+HV+X84E+AIeexxr0zH0AD/W0XABRQRGpww57jBvf4NIHav1gtTEEeG1JhpQVpDsStJJ8
C7YCMlPeuiav2NEb1BbNy1QOAklMpnMTK+sguwY8zY7+3uSveSTizP5zPp+AEyXq/ghTWJsQSZ0h
ZdWwC+QXVOYZ9qWovh1yaZm5MQZn7XYv9v68/gMw9VhyONMmtL5J0vMV3B0PQO60zPKJ+IVoqSsm
wXtprMAEuFkK5CVI/zrd+3T6+OY2BXSwTkRIVIHtTTnkaahYqRpOvs2GTganGFwBSwuLZCFyCits
Dg/aya9egJQDe5BbYxqls0RqMZ483t4frZp4aaSRuMK/i/zayX2p0kxY6l5F8Bs4WGKoyH3Gg2m5
HlMFO2SP+Q5ZaDmPeZ5vbKDo5EdjR7ofwTOPB4a4IiPmYW3C00QtfegUA3Uqc/9g1wFgoxoq+Hgt
cGlSbk0dC/W+2gB2w56y3Y3O0wptE6zGhpMSPmU1MQ6nucyHF+CodACiX426vbGGSdcVNVXmmICF
ZBKult3QVQrPu+MrYkB8Fl88nkIFOEAZ+1S42Zf6pS7cSQauew4Yj5k4fCYLujSdrfPEtjFjUa4p
Y9lMn0k1bGRh9HJTtLgh88SzRneU5cXfwcCcVBWI4p6L08x3L5VC9xyle76UPU8r1MCX00NZCVVI
ymChsVLfkFPnJFDTOoWX1L1K7MEZTxW1kYeH3pU53a6nl0dnOhB3zgAazkacV/L7SixHKolNQvmo
yn5qusx2ivOImK+lREKDOtdtASs5LZdjWqeX3RlhfAoAU4yZsYUt0JuUeCJK8C6Ch9N4oW8ww7Gy
7fQ23jvyKaPLPaavJhiRzeQorSRISaRfBSMNo7Y4XNe38wyUJmPjTJVChTsft5FzZ6aNDG4eVe8u
l9PTfkcASJup1YGamHujCwzu+KlYHyjQIbUM411E7Ctsm5Q/FsWlOcbN1XobaJJTxUBv1BfYHuVE
3hFF9ViYeS5Y8WzAfS4YIOuyYp0WBuM2T0/JWtKwnZrYmuGr0VcpSEYnJav4M3qyV6umDs3YdExt
1ViJmxsQaK08ceFpkru0PrRGEN6JSjasxphq4I9aDBUOe6I17SsGOnPclkrFJS2cz3qHtEf1/RUE
cTyHepcq5O9vAOKkNjinRVHfGiOgRG2koBItrMFBTXNTcaUKuN4CB/ICWFlTX/ZlNT09xerDqPtC
nYfS4G12BgBoSW9KoAkHzP2sRpfA7qkKp5s09JKJQy5Urayl6KI/7S7zZT66jjFIuhhrE7AxVpkN
5q3Fv63RsO9hfLCzvlJe7Z418XFO77vzb7cP8L5FCsuOn2cLbnifWZagiqVvRpOn7F31zTL8DQQW
NaHS3JzX2KCv1Lyi/IWBQlglQbDk4+gRmBABsmBJWx8QIskKhASIb4Rc7A4toztVSl0zR6ARq2Yh
eSwh9aGk3V+TRjBkOgPUV7UNiFLVoiG22vYMvNYlhea60hvz6+6yA6BkN9SwqlV6JEBh+goVPyFF
NAofGHaXEntTddz2ukeDCd8rTN5ARFVFX2ZJrU3GmEFuxSLThUzbTOdJg6pV3FHTMR9PG1KgXQ4t
Ue8Watki71q2lEKWYyXrZTc2DMVOwvbXf1g87R9/EV3152OxobEXAbZCBRukDZi0EaFmK/wpiNTf
rMKolFPSEkPpG6pgWQA762fy/xb35k2O40i+4CdSGwmC159V1ce0bVVXb2VOz8yajT1jSIwITSok
tY7MiDJ7330BB0g4QHcHlTNv99mb6jqSEA4/f351ZE9DAbWRLrhTVO8oLo4grlRRjW3jm2KUB9xS
w5yKqdMTqaajWi7lblzxR1sOm4r6E/3L519+/jw8HcZPbmDRnxw7KnqHFlMopq5zOtL780K/nb75
RYqeX2Qa5qIxrGvXmO67bLmP6+lMOnp4+/GvT/9ljjH9vOZW6Ka5EjrCnuwKfzZXmt1+qzW3gz/b
Rm7TAjW7AN5AaGhoF/DfGunEfqzQ+Yvo1zPEai9vGqWsI1Ma/XKjuG8b9PLdLJLwpvlHawsVU00f
Hg38nOtPp8PB0WDB7qCbhOqCbKYdKP7ayjLagVpeW1nx14aIXkXXhimGpbi26qOra9Hnx5lgS/7z
Kvp5dPU/Grds+p69t9qXQ04/H3b/w3H7erpMt8fufx4YraOWE0ue63meq2PCY7i2LPkVWm4FQoKV
nSDBdEwJNX0d/HvUJUvNkQDgibEOxIgyPBAlK/YmGyQ7kY5A39bsOzaIDtEIAPvtX21zwmnj7OW1
fU/Jj5t9gJKVd2U5tdtbXtj0XgV72X2gHBSy4zRXJbw72nuIIUebYA8+DyJcvhjs4qfxcJhWYaVg
rwuOjdJFFL8IUh4oTgHC4LT7yNLe3LBYR71RUlnGi/Lke3QI/23H024b6/3wAj/eb7f5EaXNI0IK
ceVwg6f5FVhp2Dd1/JRdoOFK8zSsm5jv9ILv+HNjkdNS/K5ZYdOo5HcJsuV1dtdy9xUL7oYXu4o7
dvxmvPZBh+/CKFB73TXPrSV6pUTnpXamYKwWDcUrA4h5/sxGDsQ2JuIR/6O8fdZg+yx+r38ZB9v6
Na8eGtbG/sF4JdP3vLmCxW1JiduGZe8mfe9+aSfxirGtWfY0vjjavKAsCmyjdrGOUQVPMJWKD73k
MZ5NVBvJJRV+Ubf8L9acOfrLaZclzg4rg9iLwI8s2GQ9YdS5WxLYqqq5X01fiL/qAtNnAAaw+cJ+
3BQ19bqpCcLbol3B0tjsPFW8F9BFAgH9OkiVeQVWebRdfPSK1J6CKd9wFljWfGiwExX/9qfxgGxo
9u76suL0LzIdePau2lictrTdy9sOSLigUG3kwfG2J9p84sHNzgMvUosy3nq31KK8Cu4aznxNRDr/
7o3i1FnWcm2KrPVc8ViDim1OLE21ICeQv9ZH2/3r2/Ay5s/bhZ9tI5czIlUeI+kLTR36BFaLoPJL
/F1FigdeOLVYthSs4uUZRMWOdsmcuuFPTVo9T4Y7JTMH02cXebQzZ/DE3TdZzuAN216zHk2sTiRr
q0kYO1zbv/yWp7Q6NpaQSE+Yk9cKjWafPUIEah4RaDjR7PCtvJ3dxje58GyCb8h7qX1VcjbQj7+t
EO/kFjzLCbICWdko1JAqVf6H+6bh7N1I2vCqoWsZfC1WjLxTXcaMi9Cpn/fXW9bH6TTi2z56vdhL
4m12tEJizmlB2tUVRzWTWql5IKnIAckCKoPJtc+iMkIooK7XYiK8DOsrTTmpT3D1Uhyirzlnx/34
EDEv//uqytg1vIJukILuKVu64z9ti5xhwD9/i58/PnuMyFY8NNDHaqfC3rXg4HXFqvgJz+51ct0d
fm5B0fS56IfgbnW9ZAOuMABLjkQW8p33PlIsKAi6P+6/5gV8oylbcCkneausTLBzP73T5g1KBkrP
BSBQ2IdXrlhExG7HXyOC4RV8W2Z8Rt7Nb6rE61rgbz2PBXVx0KlqsEZVgkZNoiWidJU8deRu9jG9
TLHCnhfxVcymHfFqAhaECB4lkFBQrWAYcHFi7K/yOrUieXYwVinP6EY8JUohnPvn/fFLPtSFCCYm
9kkb8vGZos+FZ3kvUXdiYD67777VlO/hxbkS8LqWMzrxD/On7rFojSHmWCzxblNZx2KpokElXpUV
CUBPgEp8gKqjQObX4fpnP8BYEoxd/Ls1SWu83alq7upiz4XPCCj7DJZX8qGUpm8Z/oxIjlcnbRIQ
W6JhfCC3LSoOSfQft7xQb1TWcuLzP0rW6V0mM/A4ZqIbln53zd97lbBcIJtP28v+vMJh6fXKNJ5S
kJRlLqJa8QFVFUORmnT5eNJr+5LyuJ3DJGjWmj338u1a/u10Bs3r+IO3FWVCpUqNt4Y0a8ugrfNq
GaUeoAzKhajk1VtJ+SvepBFSAIouI2F7PmbQxuZQRdqPvOlea9HFTHxVIXMkIR7iDDzLYi0ZNuF9
FkG7dh22JpCQ+3l8GY8r4kyK9fMSfIx3FRN8BqvXlcA/ekFUCriIu/AaviszVnjJ/3qD/L5YTf11
pcPZNhy8EwO7vHFVsHGjgHHy+WNNxHOKpH9exde5cHDJS8yWDI0uVDz/cMj16tiQE8+7uuAy72JN
x5t2Pes9xtlvAqqvOEdoNg75pyt7TmYQwkcyFdFDIMTNpa0I4KyuJRMtkX2CHNJkEAp+XnCmSlVy
JgLlyQrHr+S8Y+ROFrw7GaOlkz/oPBzhtxH7x8GsNMghZJ81Baf2qYcQQKxaMS49RU/CgyY5eSlh
IguwFRYhs0XAw5biVTnru+cjTp3mBGm6bUGRqwQ2p13WSjg4H4uP0VPehkyJEaWhKcGO4vkg/uGO
/2HNSPSlBVzzFrDKeW4VH2Ytay7y8Of9eNh9GtfkRJeRTbikoZYPedbNI0JJQLJTWzxQwf99P93G
FW6Y4rzvNB1HEC1tIabK5aNfncrk1fMSvul6Cv1B6IcUOIyTBBgeEnS7ZpGjyJkpeNyn5Ay7KCGa
N437RoyDBbUkRI9qLis2lWgCJSo2KzhNlxQWKdn85Aku5iuD6i7Jy2rot+DlUsFGWD7vbyvCyIYR
Kg65jc10PsBScJyAs7t4Y7lquTzff10VRzZHqLn8sJgneL2CQ8I6ugRcLCJkAdQMU+bxduSr0mHQ
hodF6kryM3AYmPc1EN6fFHZhNJWnwDR9YmHo8wZyU7RyZno4AK8Y+zoJuQQe+mW85a3MruqY0EMq
SQT7Ms1frhlvmc+1S3MDajqbQhDrDWcrI9uED1zVPWciIS7mlUKrYx5kfU4+mSeF9QsM9giavOu5
RK7YuONR5abgDIo4IMAzcUnmUjiATwCDS5RCg8YHLVNgBJyioN7NWcTCD1er0o94PL/v9ZpMbH7f
uDyPrO5oebGBs9c0mW4vVFagPGx0cv9UQtZQWXFhxqULwHNpxwKLWOHzIrPD24iNLxA0q9yAOgEW
Mc0IN1Cxse3I7hPCDxVneaZ2Hx/9wrhcLWTg8HImDWN1dCYNf306ZtqKqw8SMt+69fhSKaRi6eQh
WyaDktfebcOWNqTVdbwJwXsUCzuED2hXbaZUjN9Ag+qUCWdgSlcRUj4KNiQcUxXv2+NUpdiMiix5
PuRQsHlW/2K+WJEr1WVCo5q/vyoBHBe4AI/VNhirrRmcvRTEsaJMQFfpJhQuNYrL4TSU/5fL6X7O
cyG+sTgxLIUoBfePlia701bMYGg5n4vCIwW7s2JBQbx9vi8E/r4SU9EFWI9NOIoSkfk4V8flEaOS
MEGWlhyomGXapigkWDifOo58Z6F0QcjVStOJG8by5Pmn5LawyJAUMnE1CyIkepm/ioYKWXnjXWAf
nJFQRxpszmbgCadUnC2wODyP41W5VGI+e6zpOEh2oTz5y9dsUvgkt3n6rdhc5p+HpzGfG9uVnO87
Z7PzZeVdwSSjpBKY13kNmQXnOiMI+Siq5d7974Mx4fLNbJDLiIYvLUxAPjdWd1x/hZhveclbJrQj
hqQk6IFvLTA7Q7zf2nSc75wioIIDXnSZHjd8MUbLJ2fHqRr8W6oEumt445Nvb1CRJWQIkBdc6aLk
HgADaDz2WMkNLsIbSB2m8D0mt5AocgFHrXtuJ0gTCwiU4irCUjXCewF1yzXawKkPQtceljEnacqL
cxzcje8w9qb4p2zZQvFZnvKISJerdhV6DfU9Z1DOQoBPjsOhMDIntOY1kC64LKdYEPJbx3HNOLdu
lQVeV2xF1nxtPGqpai4C9NeVYEDTZ4rJhByZvmHTQ4Tqr1KXlMz0tpaQedrHN7V855I3ldvEVEYN
SYSIf0kjA+4zAWnS1aqaeT7bGEUHoZF1QcYEeKeialcFxYS0maLnRMGUrsGn3iWpHoipIrNOAAlb
zi6MwXjeMuuTajHklI3He/77qs5wZcfDuw1bGxHhjHz6WJq91jBczVN7mxy/xSCxYJniOICmMi4b
PmFX11xNdtYKbIqkUI7OZhD0btNz0aN8fynkw4E8XSBPPa9z21jnEv0p+HT4ViX9xRomdM3bfUWZ
zVLk4eyyFbOq8q5nq1aX8fKBGK0yrQg6PqenYXN6YouHhz0xoyTRYyyqeEFRNlyDkjXdLetaiVlJ
yObkiaCuORBm8Qx8EkQlA+kojCxY8SWbGJOknfNE2bDpHGl8iF+jTlpjEGYsH0juKi5r/ee/riCH
uO8ZAgSk0s+yz5nO/Ms1KO6chEJjKcJDOMg2SqR+HMUVMrabtY3bBCQg7da6rErj+ahvxVSobL+d
vuvYrDKsc4UMgraTWRmhaXx4MImsLa9A82aD6rkCsfn+eD+gaDLhl4YPoeg+860QR+8r7uHiTH2h
8V1ssywC2ytgPLarWi0Y+XRiOZfcLcQfcAJQDKVFcCC//67J1Hp0vK3eUslvzoUTBFalcwWkvHvU
8n1zYnHDO56aT6OW2kSV3SrDnC+DKwrRYkLamrd3GrYVK0U2gjuMG4prqqE432mzqTo2BRlnD/Mq
o204Yz9WOrzxWLDIaRyy5r3EuuP2sBC4vJ+ruZLUmBaF0sxWxG+zGTF913K6848HlDknNF2oWW85
cvZ55VdmbXDe7WtqriggVpy8PEAd3i0YVtVkp3QhAVevayXA82TZUYCFi+MI6FDSjXMJnfEVLaj3
AN0MvOQppi1aCrODAhypqLTi+ovMtgUPKFSFmOma72DdK05HRRKH9/ARlYC4a4liSj7gVfdckm1U
/MP/fN+v6TYhAK34AmI58cuwItmj0qJ/Nh2AFzM9GZlwOrMTaFxnu7jz6HpPNn3ytXeCakNvnSQT
T6qNl0dVvSKXqhLckCJJyGB9GakHT0kG5BxwLNhVWjMJHZ9uH4dxRa8oJUf0TysSCho2JJKPCtPN
tnyjACEkkCTAtXwiBJ/Fp3r+yoXaOt1ykiF2H/gIbqs4F2ZKBeaBz0bM/Eui6IIPwZoxqf8tKIii
zbQp5im3KdtM8/SGlxJ1wUXQIhySp/qmIxKwPNEJog0nL5GZKxWvvxVbkRoh9LwO1y3341HWGR8i
6joOeFzwDK8UFNtwP8r65CPGaYcPRYXcedbRVcaPrHnW0aUga6R8B3amTDAkBGyxY2y+GVrkUbK2
4wLVkW7iCb3vOLifEBdCgLJI5+rQs414c6rqOOQ/MrkFv4tvQZVAxUKDjJr1pJOcESEFvWHd0Miw
5RMH+0oqv0pSYYXydN6LoRYSVEFFZVT60J+gB8uWksLOPhQ0t6qZVh8xfMc3lVVs++K0GloyGMt1
GKAwZqzIQPANH4bSVAKwMzyEm6sTuHthWfN5Hw3dAs79pJB1rrlK1/iWeACsFXu/IfOSl2F1DmjW
fL0oXXTl0MpGQCu7DLzR89h226/pGiEUl/RlBtEv+Gfmu1JGpcVSdbRmWvr//TKuyKJgU/swMiOo
iTpnUfJMVZJBPEfiglFXF3J3ZxQM5ZVTWinGBIMEMyHNSRNSq3lW0Y0ILSZQseCNJgIKeUZaEFBN
uXbqp6CNkrF5Xkn7ZC/hu74Sc/oTdShk95IjcygjQVAvyU0ovv+MsJGyE0OUyYmEmoOqXGn3SKH6
phMn7KEjCcYTDw6lPV0E9FZRvOawV0GVqUQ8RC0JBcy26DNdoYUac37wRdZ0b8rcPBceO2340ZOR
r8hbyl3FBr7wAvwjdeWaVCEBYe8SvLtn7EQ+wq/Y+mUKKhFgjqpjkVx8GXyrg67mpKnQR7LURQYl
ErKEOjm7Afv6/BNUbH52FGbmTeSupUQ5KjIQTLCiYgxHXGPAp+ZjbudrFPg0L0Vmd3ggWuqyxI4O
y/b1aNKGV3J+gCDva7LrlVPfgkNXswXJIZFJSMGtxaFpibYSdERVc7W5qQIWnOOmzhRXCwHaniuQ
i3OJeYyrZzseRyAZT31Fk223zeN8heZa+8yIEy842iZTXNrwEGfNFvbNNRk81NX0ufYY/A83ueSS
nseSu2I1KsonYSkuCSvOTOA7jNW87yJ0KCyrIjPNsuXti5rt7Gil+8tlOL+uSCSq13ZTEMaFVB2n
Z+LUEB5SK7j2s3FNnaAu1ErPRXKaVC03yGt5nKJ5yFYRHA9d5MYf8kq36dnkcAzy8jH/dFgp05hI
6M7Bi5DI1OIBhI5tlRj1WhQQjDJXXcVff9OzzelivIwnxLbkDLfoCnky7JpmRStmIb5ZFCyGg0uJ
hEqYhrvBmJ351ImiEtslZpsE9l2VM52FDoUk3OjxB8Hi6DX3m5h5+NoOvgQsNjv42FjfcGn9Mfvx
dkeCMGO/MYKxeMcRh7YZG4BPBmhL7uNV9by1SrweptEn3ympaMXYTiKGBTeg6imwYZlhxgday5II
yngqlJomt2yiq9AOqKzJNAwXy5Hy2SoKWPrhfD6MN9QejC+FTXoILdvz8rK2JlumQ06b1DtPS8E3
bK/w0kWX6ye78GIyKQQTcGchFVSztcSzuuctwK5joP4oUMGn9Ha5wEzJR7NaxaanRX3heD1Xkj3j
HaULwfy6kVMw+W8b1XMIaCxfhWnu7aqGcrx5wyuZKe+Wt+5aVrivmWZT160cluIJpSkarpS6FlLb
Go5Vf10Vyuq0XjnEXpKnqZfUUpfGl5qkMygVCUPxCkn1a5p2C1kTyEFDSbAIgpOG8aiox68i7UDe
HKlyc594EdsU1ZoML6Esqi8eaDgmRMCLmpuNOMkLHpao2ClSEX4q9M7sVk975o1p1bLtcvYXcw2n
y8eKioGKjQcK8ERTsL1uEPULQ4lIDkbEK4D2fc9VGVBwpOBRY4ylZSvNhQhzUeS8kZJHhpq+zhTY
tzy2FQ8EWv5uz4vstmE9AWxK83BwUXGR/EjV8b3OcJWqpmxDvtSuqVgUM5obx5dmdmzQL0aUhJmL
7OSJpZHIy/+u4kQI6jXJp0o1q8FNofFxrTJFK3yHoTbtMNRSNQwClFCx74iNRKG6WlGlzg5XFRIZ
0hbvyGKRJlXQ4xV8Jp3gfZVsJ9SVXrfuueYla6isruOURn7Ij4R/lBWXZBA1RuDthTLXQKbjTfOm
F9V93t1OBu9xmba8odXXmcAfH+ptkk7bVHtvQTU3OReQTxhqi07Ukvl88KZd0VBUSJzCDcSSeWVa
iA7XHZe0hS0LoYdey8zqmkNkQvcwdvxyhFHzMHk6F5RuAMazayqdkFCTIupKLqhDXC5YQwVbuR8V
HAmtVwvKK/AyUpCtZb227wmfWZm0+yMKGvnWXm16fS0D6fG4Ucljc0J5Wak7eVJ4zwuWjkuiiCFl
HhDuW7b5PgK1+cwXfgxtXC3Nww6atePjfnt8EpYq1jaqEdyJss0MEqv5V9D8GIGV3d3adk3VjfAO
fctVvscRaj6RuyEzi10Sk4AQVz1nwcXPx0u7tOmUYMPyrFeXubxiPpkuLZFc1pby32qV6bDS8p5f
Xa/RM0KZfF+IsxuzNWtG2utMfkHJ95tokaoQApG8puhZeHmeM8Z7PljHdvwoYR5A6gouiybNmRWk
RtOzE4GxthTK7crVxM8jQDpXptnwoHG9jEfbj8ev5rMrfLA/7m9/+srzsEbTwLsoG2u3v56H2/bV
fV1xX8+gt/R1yX+twtfBl4u/7tmdF2Hn3Sz2o4/Lkv8Y/XRQ+FtDO7cxt+0pkNd55m0W3/IXNqEX
XaQz410rftdVfGHUdSv+utHXQeBPHAtf/zRcxZPXYYWAeAUy0/zOu3jnNXHugv+6jG+tT3634r9s
IyIpiAvT/IXVMXWnxxXIq46P2y5IpOZ/tYwvefmtsOOCeuKw45rfcR9/qYibavjfbfOEKZy4mb/u
mZ9u+Y876qfxdfEc0XUUXcFXn4fLy5jlh7BxUAcUNwu0qfOX1vHnRg9WETwhSJH4us3P2v9nPn4Z
T2/j7fIBH/3x11/+ftofb5uCdxmrCqGxNqaiHYOZb38zpqv8KbKBIFnB66/r1xf44zejy70WO+yP
48b+82Y3Xm+X08dmuN0u+6f7bbxutpfh+vqHd+pnStfH0j2yPTXip+vbcDhsnk9GV27UH6YfXXzs
zXv4OJhZ6GP+U2+mwKdBN9qPNtf97+PmeDdrDNfreIFEDHYdX7A0b2G5//1xY49PM5g/Rx8WCSlM
cKdujaLc3Pg99OjzPhRrGko9bizBHoaPzdPhtP3Cb0F5X8tR39wHe97C5n7Zm5N8HQ77nbAR8jFh
kfPpurc3uT++bC7j2+nruNm+7g87TyHckspDvLBkQOJhya/78dvT6d0sd90Oh1E4XBUeG01OtYsY
Zn5dfUc+OmKXCerqCiCGY4D98brfGdo5HTfX23Dbb+djS4+vw+Y6y6iwrF3j6e28gVcU6LgN9KfA
XtVduKHT/Wa5UzhSEThIQb+8JtyNudjzYGWMjXZeBSZWHmOCVQwBVk4VD4fb5uVw/njdmLM8G4Z4
GrZfHDXJj17WgaBtPVSH9vT6Zbwc7YJfLWead4eb5+mnUPHTN2Ep+EuhBc5SqqQOhr5uxa/Ry1bz
b5s/vrnc3L79RfDE0SHyD10/3OOaG3g+nL5tjC+zP1/3141ZGW7XXpHls8P+BcK9V4kAAsvasiVP
fY6o90DHxt+SHr9sA1fYzBGN7shIi5fjpqg3T4IgDhtAXYBn3ryMz+NlPG7tedCNsXde9QSPus2A
MBeEF+ak2VzA59DiOQInQW+9an7s30+nt83BWiwbIz/vo3SZXUWJGLMIPOzr/maU6k2il3AIi3br
kr7NMUd4qgrPYqNcdR9uYzc+D+YPb2ZlKeynDyygbQdw3dZIOVkb7vR2NpbCzoIDP4/Hl5vwtrqO
SaVfqEklsWNRxC+kFqq6EuRsQqZ1KglqURIENraZ+nVDKyAj9EU1hoQ1JPzXeBfmba2d8CTsInCq
ZRPPqcNu57TMrKw2T/cX4U1rdBXQBKAuMXFsT/I2yr6KrZ2FUO3EQwQiQAFHOP10jfvj63jZ3yRr
J7AJ6sULO4CbyNxjkDE2HuYJ6fT8fB0NQ/zzPlzGzcSzkuJHqglQ4sbdxNtpt3/+eOxNGrQlyN/z
j/t8uoxGdjmw2gtQoy3OVpzaFd/ZBROVjq4ISFa+obLghPrmeW/Y7XQetvvbh0AjdXzFWI4fbi+H
j/NrjsoKSh5js2hzeXkaJNXYIDoHntcppVYimaBLqOcrdFIThM54BK2w27wZx/Dt/ub+9XgRvA1k
UQAbNuhijKl2OWUEUREWsHBRH1l7hkLO5q/7q2iwqlJT1vSw1oyeymUnHYco66u1XATdHttyvn2t
E6Hf9rdX865AnIIGSbw+pEG+ZbwsVVXUczouzRvaGhvaYAxiRbj7OA5vyF0w7CkcQsfuHpKfb/vd
GWAB8xL7G3A4Two15xT93dzhj6f7cXf9UVqgqqN3dOfZHsbhsjF26XC75sz8puCkMDDJYNThx9vp
fjWPaoyWm2Q39YFXUQkPNt5EYdGhKw394vDnlfh5E4MACznRiMZBICxLYxVS6mB9Z/1uVbaRlzCR
NSZNAUZRGgs6SNXsEzTkdjp5Czb3pIFF29j8/jo5bq+ny/53s3LWdatK6lEmxxgDCrZ7t+QjI0EM
NqRGtj1IqwiLkMhMsfLD00kj0knQ0jVESLHd4XAEY8I+C6SCTC+w4mABUIfWADJcsjP2/WXjANas
d9nEgIbKKij4R0k/YRlZAzkldoORUDtD0nBbAkGXsWxqV7i9kibvc+ytxGdLbCGVCKqJPwW6aeMN
lCmLG7U7HLZZr6zsqHt53b+8bl+Hi5G4AbEUXp1ETd0TXU5n8/0HqNO1bklZxRhFCiFY2OflYvXJ
Zns6nC4imFBHBK4QmPVyGXZ7owbWKcmi5G/cGp9GamRM2CaG5RJTQfQ0Kx2bCirBr4RtVxTeY6wy
86xfx82T4esvm2+ni0RsLWJCgKcxpuf0kXzywC3WXpq8OytgIHwN4nY8gpgRsRitYkevJsSd7Gi1
8Rv4IMS/VT9tPv3jL5vyDyV8d4bLuVyBRDZlyy7ZtwipRFtKFtDSAjEePYWmLV0D90gn6msEkPfz
x9fb5W6uYnd6k9RH39aJ8eq9xeH6xVJzzivrG+TSBXMLEF77/dtwMaQp6Z++aUk7w/7ydbMbbsOm
rFi26Ju+oeTOvAFwDAWs0Px8fICCerteeruWpMeP83g1Quq63/7x11/EK+yQ64NeP9lCJ22hobYw
vaH938wbVpQm8xS0t+lNki7r24YCPuLPe/4JWxytC3HowRgH1twwLP22Ubz/2dcYVQghWUxAhURA
5O1fXwf7gM4cGCXJ3LdIMAMLVfj825PRUIVAwa2uOHA5G6br2z6xaRRx95109yTz+dNv9xfjeckb
wPZ0sRQANnb7ZZRCGn3TkfdnOPdmyd8fQqJfBEFOYWW0gBOj4gKIh5GzFFFgpQUKbEkGmjbwMtyv
18wJYiGkFvJfEoEIgkYpOo54duN1K1Jvgxxum15WkwJUOHyDQo1I+sTsW0jsW1BxavPz42UwRAyB
DokEm1pR8gPxv7k9Xv2gEAv6eno7Z61ugQD5NRASb8O5VaSCny/DiyxA8AHCA1ob3r7A1hKP5n+9
xQo0JJh5Hr54g0jg4D5mv44QIbUk/TUlgqL37wTyrbEADgnZ5uigvQaZceqKAkmiH28E3VOjQGHq
xMnYXd8hoy1ovdhw0pLS7eLIYLMw26RL1z1l9jhXHY59lZUOikHjTBVP9bf75UmmeIRbWpe8Xu6+
lHYfZI4VP1VLkIyk8bHRFxgGc7wkL5DnjappI3aTNo/lnV5YzD4IkTG4NGm0RhZfIXkcRc1bXM7i
kDhel9TPxxJbsPfqRlGxtuh7LapL0l6NHkCifRQ1xd3z1+RP9F1BpttEwk66OqysQg55dHTJXanr
loKUY3nVSvIqbN96bjVxdZK3h3PCgrLDbCvZ+QjSTS8+m5TRtxjPrumjq16iugRvqx5IpejbrqaU
5PZ0uuyukPRl8wvF4zcIkkLxR2dnwfYFPL9vUO4DsrQniWsO8HrLGBktZeV6kW+hsHNO5jfUFeAo
n7D/FstcQB6LxFU24vdm0XhReCKsEXtbnn59jF1eoiPNXUwHkq+MFX64BOwsSsYyiiAjDkgEt4QW
oNS4ILhntbs/ZDwdHKwMcyen799OFxfBFogoMJEVZT5YkGANkgxAQXhMxogJRGejzZprlWSutXGU
sioeSNbpWxxoCXrPy4DbZThepaCacbQ6Qne8jbcBCGd8H97OuQds4/C9ah+ItPctQvqsDm4IxS2R
79RaIHm8RIRIvIf8VJTO5m/wftzfrrIQTEMwVezrmWUsWiitUJdUNnCsRSQFigGPID1iGpAoGOc6
zDQwOSs2n1l01ZtSRCsntETaQJdY7vWCASWvAzl7kK1FYXVasn8qNsyTy3ztOxSHQKmrq9Ld+g5d
vJUiFYWSipK/aCjTbZKdT4fRmc0C8SZQ8wN5cn1XkEZrdPESTNk2pOW2Kjuub1HaEkZI4ruTlH9B
uouea+B/ZJerKKmriyAKSXCnGTaE3GskhwMlwKIgB4IYRIlT8ySfy+vrOyTxkMiNti5JjFr3ws17
eSWhc0WTcZY6iWgla2V7eoOg6ZixmjvhAMHwFhlPxTYbyfqS0YIRUoSQQduFzetwtMkD4gKqoyCD
2G4pJbulpAhwusnredzeD8MlA7mUGctVVhuJ9Hsw97Fvu14QYNePt6fTIYObFFTRzUL3SeqzI5He
2XzI4U6NbgnljW3/WrL9O5yFRFBAJ4mgvs6i5I1EQcjrQd5f/L1k+nXlCs9Fgg4KMk4WG17SBTQk
bBazkBQmiPKtZuMh8Vwk+kP5OugGkxuQqAdVxHGAr6RHGgmmP58OH5BRJ0P1tBHhlvD+g/h9TQca
sPXXSEZITdEAtj1bifsUZYAtcgWkYE3bZSMlkhnTksowRs1bCUFJ7AjK/RF1YULDUax5xfOT249l
gASbd0mOLxGp0SIL1lStC9ZAvSQ/K4H4duNzJtKtNeX3zLJ/e79cTxkNivHLEOxBZqD0djWN2SPl
IZlhKFePVh6S8V/XiewkIhaS9dImFqyiNa8YMymIADW6OUlx1qTgSwSvhBzj/DVC7XvUQHw80gAM
luzxawY2K6IKuEovA7wS8lpXWcbtJOWfFjfVlP0qod9VkbU+WokAsfEXsjFj3Sfdf5IT7CS/sT2t
z30c3kabPZmJseMku8C8c47Es/h1jXNlUY5VnOUg2c+t4soKsqUAfdupFQmChcQBZA08lrwSbtmT
rx+BVuLjFZT7ta6OoW/T7B6KdGrh3ZuekvsYMZXwqp7Mzos1vpQfpXTu4qXMpr4UVN79mkmsaCs2
0JErAOk7FCHmApW6kXQ9SokKXT7wtYtpaZqPEnhfU2I2XWUD1I0EmnQq/30nfd/GYZZufZ1i3/Y9
KazjlDoxn1BRQZKFnSwJy7bJOludJO97MiMpkhhiVk6f1/il5GyilNgl8LQq0KIqytvzrAehjozK
7uOagf6B6o6+7UiFPT+hlz9ypKjPhTmlC6Sz2mLYUXIVEoMpTgn21ycJAGzzIU81tlgktaH6/AEk
Fq4VpTZwpoNkL+mO+jo22CWwo07Sypa9dyTa6ys6oTEyViRrvaUSsmd72bULzCBlXS7DqpP0nopj
NT2hdSWcQSk6QQjjFJKf3jS85syXxPVdWZBZCjH1inHSVgBq5qRy0ddnJEh4AMnd7Lp8wKeUbA+U
6xIoKAb7JO7DKf1VbDLKdU7m7qs840tAp+5WAJ0S7xeKUl6x8SBZTmmmUUdEbCR3uWizxovEPHVd
Zi+wli6Qxthw1MceIhOx6eNUKRKslcR/Gbec8VDT5DXMFqjgNigq4ohT6pXkLvZUpDoWYBL3lmR6
LsJ6X07HDP+3bNzOn16yP3qSBmP+lWioaYRgzz0nu1qpKMWhJZL0rxsqvTRGWSXiw4W5OL8X/byU
ZEPHezHILfnaaW5tR0TKxfwSRVVDJGmCWoKqugzIKemN5Or9xzHdSI5Xkwe6StFq69lef7neKH2H
r65jNi+hbCg5Z5Hf+cVnNgoPn4DjhMpspaMjrMA63BWVGSyC8z31dKGO5fnZ861AOmUWJZQQ/rqu
iFLKWGhKfq8qcjZHK2V2IZQL6nrVgm+l56uarNYsJeLBUiMMJlukOYjJcZpSminMLVrtfe4GK1Hz
J20xi6XglLC2WkswYwYqqzs+Lx8IV3KYWsX1Xb3mfd1Gi8GB54l2BKxBZ+tfpd03iooqxrU4UgF1
pQVlDa6uZGnpdoWzKSVltGz96oqeCH2Hc3PKtHrWEZ0INCTWLlF8K2aWKaH02eMckqGFHf1ykdXv
u7fJKd0FSfgutGd7NMjn70reWvFIq/R4OKpaoMpT7KyItlbF1s/lmkL0XZHNaJLYtuupl19ENUU3
ueKT4/K9JPqu6CmkNr49sXJ3mRTkWq9AR074xLb8s/JvdMMhDEcYhoZ2XHyzjqIuKAvaLuWbCU9N
WGBijNA6pdBkxpVdaUIxIHvTXba0UBW3N/R4ql3IdQWCFmvSRlCbyS6OR0BbGfi748mcbYCWMEZr
mtvyt8a3cSqQ0lLgNfXusn4fjY91gN6hG99mZjhnd1l3lCb4auNcu51tLSOdUJNui70h5zdCB2jb
lHq6bmGtmltrerbFYtLbkTUzaDXxWEx1OrSQ3LhRY6ibD/9SFdXhDzbx9jTuduPONhQ73PZn6V7K
uDFxPS8yfcv+PLKtsFNrn+dmSG44nI7jilU6KixBkfHpePgQyBYXYsBIHRSgeLvbTZin3b275sAS
/au0r49KtjSvlukaXiDzXwEC3OsFKz3db7d1nNTG8RfkCRqTZn8cjpZqjJC2WVOvw/FFatxUICsh
anLr+rSZzwSaQZ4B2gkSpnkhGrfBx41Lw6OLPSaLGm9Ch7auQYD6xvXiPuLOR3r5PL7P7KoH6hfe
sjedjDSBTyYRg7SxrxEUmrRjuu6hF3DY5Lf9zuzRPrbUCLShoDvvBO02y01Ja+GWW33ojEqudnm/
fEhr4QZa0DS+dDcGdoKRh2/XWeGbxS/7d0MXw8WYkEIDN2VHIU7znIq49fG0rHEc94Y7IE1sasVG
P6xbrZpX830bfa7MeNlalRrW9aKFX2qaAFREWVNb+4DjZrE/6Ed2tBMOzKXO0z6k5duwUzdmQNMn
f3hl74nDyqhP8bSuVTVz1+Gpg5zwPnVYrYV7aMWLMA8lnbpB7wN/UcLuJobjN4eWg6yNPujEaThM
jgCnQULFQjWGsyUK30+BEPZVzmtaw6ie1zT/f7KF59UpeeJWUYhEpga5yEObOQ569OyH49PhftmM
u5fxF6uDd/fzYb81nM79wNTFEUgcmmd69fA8/tF3jrE7/cXIUxd6ADTnfDo4WvS7YFdHnK0gIaf1
/uX4I5Sr+R6RmzezWZ5kih7dpf2/ap46NDVi9DsxnLJ/29/2X0f2YYquJ5n68dMVXSA9kI6lV8rP
I4xU3FzvT5fxxU5ndxz8dfzBVsrcfrPLu/6R3MVVQfJY1e/F9rTwDQY9BUmw8ZwIytg6W/vjbn9x
jSbZn9CBtHCK0/gXT0k/GkpiP1bhY6uU62l/P52OX0+Hr+MvTgEcx5fBvgbAz+PhX497P87g39mV
CyS6IJI3k0yyNmjU3f7r/nri94k5GzeYftq/bF5HCEa4V+YfuUTiqvdqb3FRfjfj1/0gXroqo0tX
McFMHS0xmRjTiKcSpDj1LLf4VwAE9j/4y2rTy9IewQUutRis4QrXFNgw3ul+Y5dq61gBeel3f/oN
GGJz+3bajM/PMEKHFU1BkUNAoaV4wDWKdfTPrlRjMTRX3U8rBf8AlrxujEDKLKgQe3Z2riVFEjP7
88sUSPjOmMC0r4O98ImTN/fzTpLjKryd9Z1r3AXM+f8Qd75eGWcKFmnaWA921I372WarLl4j5Ywi
UuOfD6fTjtIovCYJNx51q55OuGKEizsiIswS7ehnKwugGIHr3uooCenjEOSyHGeO4tltmgRjW2iy
YqVH0rcIxdzRQpN2dNa6cDtFX0VixRO4FXK2UfkuK+Oq2ACv581MFbKoWzFQo8WnLic7smK8DLeT
oCR7LIGRf359HXanb5tZzfKipCP11P5yvRmvz1qHuTdvg0rBhfOTlh4Pz4C5nW6viJL2jJPmBC+i
IucLKR8rdE35N7OD5enT8Y6wxcB50I4MN9B1tQW2xsMYIxIVdG161VV00sAks0SXWK5SsTSoOMPQ
3v4GRjCxJlyJzGE0UWtWfNNAOFa89ZRDs9R0hpysPDE+zcFpO17ZIYGCAQn/YNuP7WEUxAh2MpvQ
0n06EJgDMCQgI0+QPZCG7jbDM5DO7ILISzXIUEEJwzObAd+ChZhjuJ56qlSY0KMTHB1i2WZPVbT0
c00CznGHYJjg2+7QKAb/VgcasXTXEjYDDcd6wrcDp0m+XWTrgwmBGxf9JqjUNvx8FWYTPI+ffMk8
6B1r+HkrZD/ueGJBTAAGVtskZpX1hJxZxR9EScLQ63g/ixJiNTs/bJlX8ohewkyh1Fex87ROKxYr
4u010WKzWEWYwzFsWji2QioO1Mh88F9GO8Hj2+UEeXlnwaitK8l4n9AQbyXxz6gScKYXVL8bjcfq
Vk3hFkZCX07nT47x80YoQneq4FxnXE3+/TCrIhMSbWl2R/LuUsk5g97bn9SQM2x5GRCWsbbAgm32
R+s1Xz5ZRcszDtJgHbqnX2zTMvN0LzmYacKGJ1mgKZvvamdTCoZ+0TexAVsRi7iwPb9EjXgB2cCi
2yh47E0KuPak35D1qjTaV4fI2S3zPOwPhvMPp2GXu2hVZw2+dWZeQwO085a8nhbHi7gdNRFbeH/Y
6lQXE8gZ6MjehNT4vqCNMZ6TkB6yfbOwfzju4Di8DqsiMVOpWPcp/sMiIrSSpAtHFFdJYmokBpqF
X5qH2ZzZYwNMP57eeXu3jVFGlXpBv56Hf94Fo7AoUnKpmI3yewi61IZ69dTh73gb9na2CLLfBFwS
mbatA+0FmOlir4nfEIJe1Rxyw67hcDF7ehvtXOdJa8EIQVb6oN2BRq11hAnbWCA0M7OgsOBXFrQj
Dxs7Gm74DCaCuTOPVPBTrNx6yetH5gFvEmjac44ofJ4flJN/YQu4OwnSnTx7h08twtFEfsT1dL9s
VzhZTUezGdLdK2FOHJQp5mSZWWJUvMQoaYtmLa4s+BDYZbe31SSbKvl7ScJDqUNkQ5xWuJxPlzyc
jAgG9Iv5a5t46WB7e8SA5Usd0YqKE9Vt6IzfQuCcGoJMCZBm/rzgZTaxFdQurSCgERtUvPNyrg70
alGLfiK1z0bH879dxPZTvaRP8OT8b/NYRIUuoAtBAccnPxzOr4PzBCYF710qdsGOCXN5MAgQc/N3
Tnpfh7cx64I3sUulGBwHMrPmkBdLKxXN1xNT/dmd8mPzBOMteRZKMJyKdh2H89nK8VXeXhfBqYm3
90iYi4cjSl3SFjMi2VlxZai2oaBI+wi7cTwfPoxculrvNGOeIhkADWWbsluDjwgWOEalUdJJEpB4
xPHqOVPmV9G3mMZgg6tljtZWLlwNXQeGy1acCqit8pps985FFn1amPHQ5i+M0DVW+xz5dvEIIXEF
TxwGdrdxFphNPQ1NlIL5bg3c+Cqw0LyA3cfldHK0Ki1T0tlBy4XAaJFWUunkXE2vJK2BM3qQe+Pr
hB0xS9/XTLKoc4jAY7tfjOHhMm+siyEsRnaodFuRPgspYcg+dXRhDWb7pfR50uvC/aprciF8VpC9
8P292bZAl+Mg/qymyMl//80Y1OJNkRPjoAGZQ4yNaJT2joeig8Qo0wGCavN5f/xwHBYqWIykvUMA
gs0Jty29eyxuMWXSK5XCSsgZUhDb6DphJSXtqUjBfp9Gsx2MPHJZNO5v5ykAXE6lFVJTS11Ls9YD
sOA/rHa/3k5v8IUrmwFNNYCbtQE/y6bsjbctaV9VVuJNNrhezDiw86cnDThbAMrcAkytH4zfOxyY
ZetiisfrOV6BKtp9FM1Xu7Br6LC1UOhhH8E4avvnj9mfn5xVbqESLYTnBdsW1C5csTu9kXcPX085
RdrbDD2RWLW9vdW0rwcnmQwiHaV0/9fVB9l9zZONCfoco4p7r25yvPRitLPtan1xiURf99f90/6w
v33wl6vClgo0Dwl8gev9ydyOtXe2hzsE8u21u2m0U4aXxddmsthtnj4gfwCEgeIuU/eT/6qjApKd
ucebf9f9lI5nVDDIGDZOYhecOtzCghVuUn6YJwu9Xg8s+U9hQo1VirXKhsNfpkm3z6ftcBBMNTjY
FDDU3oJ2fGTo89P96ZMxro4vzmFkr2bq2T2vMDeLdOLhy/htg1IW2Y0UiNhLNLKAediQVJ19Wcsw
/MumTFZPF+B+YpGCKBitcB0qWa+RBRNL6B1mX8gJqaLMeLbC17FJheRYlFUPu7iykRf4ukdf47C9
eQZXtGUfxfgttnTB9zjiBaLuJyjeqgQjE2Gpd1suunGKIHQG5HY0p9Z66phmAllR6H0J3+xG4rp6
ztyKZaIVEkaAWX9suEzGgUPD+GwiWE+Fk1lUVBdxdoObeuwoiKfApqco8On+0jVVz8ukaUKG/c7m
D3kPIEhn8CWAgViFpztVxmwX2s9sDA98Pt2GgxcA3AodutNkvrlRLzyFlpRENXbV323Nm8+M/ywl
/sIlqJpaxtq1boq9+bvAupBpxL5D31HaDobWe003CTVZBHSViu80eBwOB5tloy3L4u81CAAEcVvI
2CeEne438Og4tms1I0Hm+wD5ObqUN5H/Zs/Z6xvfKme731WQ0LJpW55OkYqxJpXPCzXU9eOPp3e2
HAaEaRWzPerFK3Om7vqCogvEHL43S5Y/EsHjAYOTkVwbSei1yODBjUj9bZs/7cBmJ2ymXbyzxFki
A6SPOhWCQN8fwZOEmxFqb5xmKZFuKENhwc4Q9XC5DB+/QnkCb7oUsendzUIUBQs3e1tYyyqoEksN
UFYepbTv4sperwtAS7Biqsjkxq1DgXG9ScULozaS41OqgW3HYOxSa0VxGbhO5wciqScFN8sKmyBl
LMIbn2buCBZ5HqgTkcU4QlhrMg1tJo8Up3P8H1aE3HM1sQAkzMK0cEjnc4UaIC6lDSLdaf05nzsZ
FRjberKbSxRw8918Mciv8BM8dU8l3gmfW5K6TdEpXxM2+jwgiBTtx6uFT82OFUtoyJbB1eMpHx7G
4Qt7k5iXgzCxSXQWAYGJHr5ZZ86u013TUUc1eu83+wqQ5PvMS2LdIJMD9wFw0PQJ/PE9F6V2gonU
mFA0tn8fD9fN7rxnf70ldaR9KJ9ABwTrzR9ZtpqnKSKfMNQjua4G1/HFGk7GZ+A91ELHXNNRHirv
lAayQ7HRb+PTl/1qi79WyBdDISZn4BrqnMDpuX6MtXG7eDeJHPGV7p61BsjhhuRLVqKgu8EFZC4i
MJcqGFmy/SKFfR0WUcds5CTk09PJZtFsLIroZ8OwpINXCCHg1TwOiwts3lB4kPnTVqEYerza8NS7
+SXZ0CmQsRIca1rIWf3CnrYvOYm2+zDuzn6LtJvxxm5cfo1zMxCdgknk8+mNj9B2bVHwd97Fr+YI
YI7BHk/RlbOUWVTYgUsaFa4pKYDNIGMODYP2E4Xs9Pc/8EBUg6wFVAXv9cuswmyCtcMSn66nw/0W
gvk22uTDi7wa15TTbETz3+5vT+NljXCuKNnq/cu5CI93J1vKcZiNPA+GCBZzPddL6CS3/X8AIXse
nTTlQTJFAJ8I4KXKtuA+WDClRSAIpB35aYCTTLUNqn1xN/eofczQDa/+N4o3AGpK7RnK+NP7djyz
KW2OJsqYqjqmPKAo2TNgbKybwUJvcrjz/xvwccZO7hBkgNruTa1nHOTxfDgNNxlHKVRNnSlxLL1F
YG3MnO4ri9iA70nV50zpb/OrHcbrFcHorD+OTcAywghAMWzmWGDFSyDsf5UzBdhw9izQnclx5f2m
Mtbv02Aba9j70B9LAW1H+VzH02QOGD617pv5H6nLizNAW0ozIbPri/EtjO3C30WBXx8lsnox7OLO
RttaebK/ORUjbAj7KdWcriItNukrYU0kykOhl4+CGTmYIUjdYwwnhFkdpjQheqyR3MYPXcVi/Ixw
4KyvjpbC1TeTALQtBDiaQd+CoTu16bsaI/JmmzQ6LvUPv3k2RHz4EFCtcKWQ1dJEME7wUV/3u53R
HFbZCig5ZWaF55GvxbyOpuSxcbKHreWBk9H8l7eTOagDAkWzpEss21jDhKYdvIbporNgOGQKupY8
DlKmRnopBwzWBjKRyYgLulNvxBEBOCv8AZNYlWLpWfGE3KT70dhx9e6a7V46Ot+RS8lwPizC3a09
WHl70HXIcZ3KJHC1R7zRzKaKc9mMlfIMOUXBQr8Kzl/M61M3WDu4AeJGc+siNkvX2cYF5RyFeCjo
qIttQsRnxDlTvY04Y8IrLzaZzkb1/vGXP07JZjxzhtu1TptucrH1nBRrcTSqC+11ZrR/hWWtqSDJ
LAbZQIMRg4nx5H7atUx0vf8shz7td/vN2/5yOV3YlZAHqwICNnPS9XY6R3a+HAJucUy5mIXY+HYG
gG+4Xv9mH80S0D+GQ06KITMXVZC74MXTVNZuvXVvafA2YlXGpOgVztvb3bm/wS8X7PYkAqIexfN4
Pz+2w7xS86EQ26Ft+0VA5TssFp0pPcWZnUl5he5JIDt47dVH9IyyRFwvnZu3D/YicIXkRkjgnixe
n0PAQzsdBWra+/XRUBvOPBiTdtwJCdJwoXUdgXDhpSzGfMYlhOwSGLhCebPWqDC8cLPf/nG0dulH
hiOQ+2w9v3ZxrPxemiJSxlO5+cEldLr4m3dMwBGefAtnCzkEi4/CoOwTBa1nfKTA+qFBQ8PgECFD
qMTuZOhgbc9pJBF6uqSXUsWfWtP4iE9Q8Xkpxjr7DGHZjEGkOYz3Mj7dbVMTxC1iuB1zW5yFYPT7
TQo31FOTwRhMWGQvSclL5DFu+5uRYXIlmgNS2pjF9FxhZPs5+AiVeaDNJ/BwP7Oaq+mohWzw4AR1
UlKZknPYeorZXQLMq7HkXd+DHNEVTUlhgbNWd1fCf03m23mS9Rieb5OYsQZKBOqg88iBJMBa+fgR
jvZGo0wOmThxi/16PC/SyWEc0JzQqyhPkU9nUnFgosaQzSwqwPrh0ZqCQ8zNzfDSBT1VE0+wfN/s
PjbWAbzy7xzYDrUQs7+ZVGcZTf16Od1fXm0yEv/WDe2HQx65PYaDB11BhVD35RJlVGzj+Om6E9Tr
Qk8e7934ETIC0aRoq+8lYi0vbxjytmDTFJSVdH0dbeKYlTG868FmrDiTyE59sZy0zcSdCrz/KrEf
7el5OJHc+2zHZkM5LYIRFeSIVhqTJkSnwSt0XU8npS0K/BJRXrvEvlGCA+9jqsTNqPso5D2fMB/r
ZqRCMpmx3TxPEopP41GxcdQnUKkD5n+YXM2/feIx0oKCIKGNqEss3t4vl6mg0x5YQDMLSheE+gO2
R4TLtojpx3tU8OBGFvgQw5wUm0mWwtZGLOQcJWczJUvkO6skN9D4A0aZWIk3HsX+R84sKylzJQYi
k5DZ5AxPZqT1sKyRKUGTTeyhq1xSNR++7iiM0nWc2xxOpzPv41XUpTsd8ZEBso2OaChfPEJPXux9
D16FrwNSGiqkMDn4rm2xfUgepdKxR9XOJSpkggZrTetpjjnhXc0t8NIA0pX3r8o00SkaHjC7Jm7e
VR5ubFoysw1Q+7vNxHVo0/4KMCHAHLwji1A5lLsdY5d8zL1jYo3To3HVte65SgqwcLkJk0EJ6oNv
0uG4v6fgHdFggUJEyWghFStgVFcPFwGKLjuzXUWJ68myhMgRbq7BuvpN5AfF9cvIV0SzI3iUUVFs
n3jHLsgr+MCkrU1E05SgfyoqDvltf4S+N4NtbWxDFFaIfbmfBaGB1mnT4de/nOCpcLhFrsmoeoqz
JmPVqGnIk7V1eyCcvwqXhMxDK01qHD6Cot0/5WJIDWWcYs4yGuid566CCvJNkUqnWaXM2walI4YA
DVxlKCLYG3Eo21F8Xp9FE+F5colHdeJI9WkOky8BZYuoksRZdxL7c/9rKrv+X0a+/C9ntLOIJrJO
0VgT6PQ47uT00J5OmpurBHxexYpCAVLvrowU5UH6jo7qPg27oMABks7gRzpmSm+WxDB5riuqczNq
AgKKSqRyzn1FXRhEB4GP78cvx9O3o3kB202Kz6RrSQgnavA6xWeucoBGtzgyDZZrleTDjxcwLpzV
YrPXpCT/tkq2VoYpCsCtaNDDXKjDanSlYqUch+JhUtOrVEzVtYpOVPOkubc9QEBT7e4XZz65DFG+
xoU1VBehdEftGd1eIIkU5Z0b8vxwY3JmQhV96IYUsGlf0xU8XVNxgKlV6ITNZe1n3aCYhFAQu9/l
5UBJe9EQE4B9uZueu3U8jRanNhYNQPx8chuJP0KZU9uVAgkEmrIAUFM/VOmbPy7iR1zcH9VRSckI
nSJp9C8TP/tCk+PJ8g9/TJSLnKDuaQUBnyaKRUvvGzhEeRWybOpR6A/cAe+pwMQjO6uI3z2C5pLd
W4EBBDwxuyMi3qtAuH07rzSFMG29A694Gtp+YzIfA0KVLyE11AbmEm8Vt5SqoQL4glipVZEL7E2O
XdSAdMd7n8m2mFod3x/m8JEt22lSl09F2uu/+DSZSnO5sadjyEJ1XfOtge2M1Ez0siUTbl1KOzhs
tnhnOG5fT5fQDkc2OQ0xl8JOX6ZUJ9A2Ek5al8hgU2A1erMRam8c5fke6Gz/UhcBKinumnRMTAr5
ZrTO18HxZyC6Ao8uv97PNkM8gJ28dYsBvJCa6OGW4W7j+WaHdn+2AJKXIR0OrgI7aVwD7g8293jP
WKF93celvpPRPSerS7UTfdVSymruOuOn/AHjfN3v7rwJUxeqojOfZg02obeQMcfaLTjCO3UjSRwh
n8YnQKU6X5UATal4JZ64Mj3K8XbJVysKCoz1RBZU2ZalUxn3cL7dpfrKrmoosBZgCD/AyplzMPlN
QCJw7gJ0zi2mHjMncxpDvV56ZKMifUvCB+DuOLvJj/vkOYkhWW9TYoSHT00pBNmVEVctSR3H8ZvH
pPdXaBOUg5m6xE+NZsVaa8COKZ7sNjAPJIMdZ0m182JeqT/U3kOQFdj1RePf5kIZuQ2AKuLyAFWS
uBoketvcJgFbK6kMM7i0TCeCkqw5t2NatsbqOW5vb5aC3/bv4zw0ld9Hi7usxFREmyGDHcvJGyEN
4cf73ldOy/uYBfJz2IqmkrKzHH95hzykIhs7QGKWpiUV/V9QZXrebO+wtdrL98TfEAkwTA2yNgBA
QvLBigrTtiDLHSYY0w9o/LamXqRvNIWEu8ZrdmjDskKbF0wNHQfxhkIekuxo8z4YkLxcqyllDkbY
+L4dr+AaWeV12vK5GDENl8FYWtEApatozQAv8Wx+2I6N4dunxFTqU0leDqcn60ydjq7Nl50tw/Nz
ktURG+0+5TRbSNNWBZe6EFlFT9AI3RqOto0AbxiptA9BFYXrbRqBc/Gz4fq4WEOVCWCxP8LEk2/j
4eAHJ2bs47pE7njoKBDIfe5YYwh/5N+u0YqA0ZGdM7H4HEe8jP+8G19sx9s9STpzHaOroA3L3Zzz
+8Q3CGjrjspyoFpDf4bJt6zAaWPq8n1/PQBjLXb7v+Zgg9DaSzdaEy3CllE3L1n5JGHddnoplGf1
a82wjWSHtW389sFI9maQlHxVxXequhgI8ZCSnDaJnA8dUFgvKPEUX6vujKUs1PtVtEvlGjdCG6fs
jCMHwpHOu9/S5MSuMf07TaY/UYguX+NapEVRqHfIfmdTr58/+OyVqHWajztPYdkPOdys+5IU5bBr
KIb3Zhqf7sJWCF/MUx62n1ATdhaEKYiUbT8W2tj4Roy/86ZqGRVha9I2Rwb0lGub6eVQ1KRjCC7L
ZMVkiF5RhSvOvXU5oJk4X8E6HbZbWm7/SPjY5Jiqoe7FO8n8JbQUBj/R1mpbA6UeB3sZiprmzsTb
08WKMyv19zyIUcj5cBNG80gTmDrO2qgZIb2ibA5BicBUVQ4y5oHvKg4UNv/9ivdxuBjfIec2ko2Q
/KCSux3KHBr6sk0/FOXzT2G/Kc88g3Up0v8kmrhtoNLpZWqtIudDdOiFYNieB/WP+62dmWzU4M2Y
QEeXFJWvtKzLUlNZH8ukCCVgs23NIVgTCpZLP9dRnqkiUx+FTgBkRgMTChYjiJFDhHpcR9kRYCZm
JGddMa1V6fgYHwljPDTUuja41vtjzqdFEZF+0TTkPDiVdzVWuNAxJBBMA/2EY1sXakgsv4pGLpl/
iwkGWl8LnW8U1QEuabOYa7yAU2aDqQ2axYXXMqxTNJHc9SMFmJwBsaNeQ8Wb87LSxWWmONjm9jrc
Ak1dZ3mZCZL1VEocrWR5Oq3JNJjHGgnx9YWx7m0DVLDGTu4iJHE2/9+G44dLxeQpJIL+oJWV7yP1
dnByBWoLeD3SR7rIU6nRyScYHw/iSS6i6bskQB8QdbsHa0QZ23Ir+PNsiRAodC+IDtCVGPXFsrQn
5KqXVUNp2bRChw/lFCVd8pkGQYej2C3MmN017UwtYw5fbWNcIeaAcX4dZjTPgm1tcmhb03n8VKWS
7BgYGyIOySAMZU56tlkMi/JSG3TiH68uKMvErhoCefujyxTm7YaGcg3mLqoWiDRGzYuN0xsamyee
2zR8lijIFG9cLpkrkqyY/qJgB2FQjs3eV3F/124qg5sLd2EbvrAgCzI2yFqbQY/Q1cUPBgHI4MlY
XF+uQn8XRbXFi1PxXb46DxXinjtB4YU0AeNYHvbnq5sAvNsbs+8qdVFqK0Xndvj+TaifXRh0KmcH
9q2ifBkyLJvv04KDvH0YJceXHygeayE7PE6W05oEhqqjDG348nq1JSxuUBOEBEMtNB/0JVtohvRb
gLHFbOSGmSMQl2U95IhWVFgQWEbukFHomg6P5ErEpbBd3G0dlVH42TBsgggupGugyVnaNA38YK87
XbNgL6UyfeibnirK/285xb44IzRp8csIHjIbsnGmr+jXoJYWs0CDz2zKbpCLco/RguyAOGdKAATK
5w/3XBYIzEY1lvvV351gFeHEjToo+2VmZr6PCn5T3Hdi5qB5Ou+vx3+dHjQLQhgzggKcgoeTa5bV
JS1lpQZBeUla0+DuIir0kLQoqcphomalFqy2hnCz41IpzduOmp6o4KOXQrllXTZxryzNzJPJODa6
5wawhIo/O9boZ1tjx3dVaGpiGde029wktGqDHjo8VpUAXm2SEWdziJxtwaaXFFTlGKopB/NrOPoY
da6ovKQMlce8Sb69FyqjASapOcIrBcIjq7bGr/asNpTIx+UU8Vbf10y8aVqhF4HQCbcuW9JyQyNh
fjFv/+dhf+BrKIuacm5RGPVoq8v5Jv66oNIrVrRkNVY1mQhoveq9bw1vCAJwfUP6JX99iP/BT/Yi
aM4wso/AB21UfH6dKxlWvKhuqDbzwH4wVULqjqw7VJFjzRVvrYSN2Kiz8HlJGm3ux8HMzvYv1VS9
qretoyWkzogdttfCyBIqWVt+ljgnBE0KmxWysbUn85G1RxshOWRdoVOPO/SFkiu6pUrck5+l+05s
0Min2+geAzb/0yO6BFOTDAzEVWc+arYdrjyNtXWVScE/nnLZXGTDHuT7+vD7Wte3lLynifizJlAT
10HGTr3PDYN8JjFqkdSF8gzIMx9ZkGnzcyx4Bln1Ykfnjk5TXbSGUlJvqEIK1FZmB+PZZ4jzXYUV
ZThsYTLtHWWosyqBjCRF3SakLhIt1Uw4dDhZN3Wk1WzJsxtgNeH9+Tq2jloI9m+FIOSIAYRlPPN3
vp6bSgFyHXl8H0S+SqKp6dCcHwUt9gNtm4ZS89GslDyHdZQQhgK3suyFAjdy0BP85umI0FegDEE3
kmPEdqe3/XHAjUgte0o4Yl/R1cr/TeBg+WcehBJauvUeYUtrwZauyWAC2Q6+4oPABNRKtGRwGaa5
ngwl1b1mEkWJQ2//8fPpR/OUYTKaMDMqKecLnb6NGv/qn2QGvqAhiaEVqcq070l5MYerfShv3ajE
rtGiZzDPwGbzwAiAKCA7NkUTjmgzy+EfYOg023uy4Nqie8AbSrRcmz0e0SuKnrKvqZzKnw0zDvx+
CtIstEaEz+z8CZLbfxMHK7WopQWydD0zu+SCuTuSxzwRAWdot8ema5hLEPo7jvnO/wWKz1tW8ES6
FFty/+SerBKB8dY+Z9O4a8ZZg6AQH/jo6AJavnSFP1ZNgRSw0HHKnnFdOafABU9TaZRvHnI0YR4X
D+aHitaMCVXGJpTC82OT1uCGeyyYAvIRJsqKPQt7FSvBxUCmqRw6mzChqeAMBA7nJGwckb8K4UM8
ag7iWQHH9bDHnNnHw7iJ+aw4EJdPr8HZeCqku0+dGd9znRkV3XFgcskks71PG34xw6AryWYm3ZDl
DfAXoOgLAKqFtGZHtW5eBJscWXI1CJMWv33bb6Xed4gcgEvrNoQW/Jya08vFzha5DRbpv52v4313
mjqk8nRWEQlPUbsSO7yTDzaQJfSuT3ncQtHt8vWL0JSg1SReN+cVzn4f5Bfy3Jxk7HVpstzp2YWV
nb8g2SLk2Ds+PKp5M7+jO8EzGXhi8XLbMjkdSeUf3zEFdYqcZxsTncJsL20pkaOj6kQCCC11vE57
gaOkKt/GOz/eraAxdTyoVqpvwtlpAdOHsmIYycFHlmvK9aEGXmXjRrifnIuwlIk56XJzwFfgkeaS
mkLOzKLJT6EJEsGaE75kOzR3mawAsRNXq5iBj4ds6VhbFlQXYpC187RXvruaKtI8pSkB83Q/Z2aq
Gpe6jOfFaMqUgr/L1hZQI7xCGzLbXUBuEljg4ar4JGkO2HVN9UUcSJtQ3+Fi9+A73vp/Egba9ZTV
G8ykQLW2pk6EHVRPubTQpm7qjJybfNf3LZUwMsEfYex1BgHBbWXbxRivx2a89Jh28QSbyWSDqkWe
eAtM+goaFZNPbqM/70ZGr2jn0XVUKnHoFGDvfDKmsh3mdd8VxNwglzcGkrvoN0/8izFtxCKInk9j
r2oqO2RSol9hnue7S4zmRnygIrXeFgj47VsZO+Mo0DJMhEH7jixC9Nf4ef9mPGfXct+4g9khKC09
7nIR1+HVOduw0IP/GVaqy6RSjhk3M1yGp/12I1fI4JqkMDCT6VTGJ5S1KTCalO1aDfICnQwF9ydO
oKiQX2zb/kpzB2iI2V/nJBtQf6dfjHv8kxgz0x3umtbPU5emgpe/2/zXo4OkfggV6pk+1GRaGAKj
Xo62y5lLwcoiUx3RtBVbU+joYsS1L9ipuWZX34YLQK185LwiezE6TGTC+H27cCureCAJYXUhRSho
77kLkaw7I3QMSa2A2m0Hcz07Y8LbEnLerum45i8zCHz7OAstrNOZzXFKY7CNWHudyqah1HcO56jI
DG57im92rKN5JPNSUG3xOlxxC5irQMolNVDR91SePZvZ7RcnfVZkWHUqn4dsHRcLGCH1WZDNinLb
/geiwm9yzUlNJmoTZeV3oVl1R0U9b/uDCxq8gAv7Or4PL6dsoWvRN+y0JIdbn8AvyHXwalVJSQbv
SE9GUjahQsVlrzXb6ixKG4BcE7laokmGpYV8N0+IE6fyjm0MOFVppzkHe64NopNkYPVfDuRuk0ld
Fapa3LwZ/xaMnOxM0GR+bLhoG/lOLNCMFG3ikjZ/MVSM4S/D2xuPOBXkVONJCL5fD7kC0YKsaguk
fN2/nYWgqyIT25yR9On+9Ol2EaaiG8tRUYkEZENBPjktaXDT4XovmGYkzmGrya6PSWO+/ZQTseOD
gEgmOBxQJc3DeEeAHubCdhN+EbIB6K53KIcmtA7ijc24XMu/CgPPTcm8PD6HMrXA0fWW53TFU1zH
1ZPej/C/QkEpKpU1+2w7OpFwSqOTMgO7dPBAyMudI2qumV6uthNH0UIT+0VVmWCcY0+5hQqUDLrK
JyrSaVSv+915P41UyqOZzaKTY8fqFalxU9NS1ZTBzAL2sP5HPtCoO5WU0JJN2iaxEXcjQ73zhCKQ
mgqx+KufzVIhoVB3uqeCXskWo4mFYf4Iv7Gq43xah0Sm2Q88WltEPoBavAbfn8Ncf0flOSwiUFqK
QCl2nODvp5M0CzDJXk7g7fVTqnRfqmXOQUyQ/A2Q0nUuZIWA+eZFaOfTFxU58CeIr0Gq0DUiq6YS
Ey0+Yn1xmN8DScB8lXGcJOEfkbI8/ri3jQeF3vyF5uJ4rmARHsWWqs0NaKZCXz5838Rwu0LpCD5S
HhwMMUJeF2hsT/B3P/3jL78MRii8rxlYTML2i67ion1iaIb0mmxTj4lcP58yo0RaVFke6qhc0HnO
c56bechdaBsyd9PNZvvrbXz70bWCh069x8mzOl32tg8c61uVVOoGqoBDzrStVMjNVwjLWdR4HnsO
3SYnP3PpWfom9uCPAnlk8tHarhDHaaKoRD50pWl1ucyJzcUzu7agUKytZU/H5G7OoM3r8OEbvgt2
RQ/5S6MCD9Vh9ZS7SSs4SaORgGYsSXkhmsS06zjl9W1lvisZMfkfgDO8ZSsAGiUxJ/Hp/tJ2XdUJ
zfF7Sv+GBl1iOlOJsxRDhHdNI8N1tnQbjSz1Z7IUfwxt3EO7Eb6FYCtNcHIJbnwlWEV5LtEkMate
Xy+n4/73IZvhbZxLZPLAnfusIT+ic7wIJZlFSQG3t+Fpf9yN7x4e5S2ljgrnB+UTen2yoTwtzhpi
B6/k6zs7uh16lKftzGQejK6pzc2Z0m7G84yTskGESqwYGXY7sOeE+ExHF7r44JfrPpyJbuu+jadO
er+EqTCz2XhWX1+NMNkKtQUN1VUsmPzfXscj7srCm/yK0nKrqyO/vgilkYrKLWLOrQQ9Vacxhdiw
NkL4dAGo0AG2fGYZOUkQLFI3H0pqmUGODsUzYAD/yHWTVmQAHc08cBNefxKMdCMESURoug5jUp/3
76M8uK0viqXNOL49ja7B79zS0bpv0ljujlL3c1rC9/mzDU4xDUbo2+B6K+I0dpbzSaqeRiDkSmH7
RuiFmsmK6TSZvTanSMAQUMjtkTN4exxJw93jcA4CTGSCLjR2muJlxdgMQ8gF2Sk6CV9by/Tp7cxL
xqS3Y0kUy1d8ngVuptIAqOUjWFcYCmkk1n14yfVMK/CIk5CKj1nIFYsfhHL1pu1pO2+BGq2CiDSF
9D275oebs+/wvrZrQxRMRQa6p0QIhDu7Rayb6nRLVj4AVBuSrQHVF3sq4SSratlPZzGeMDuZC79f
C2U/ael48KIPw9t5M6U08PFnVF9muK/r46xY46yFA/vWm1JcsFdJ2ViNa3edYjwMgpnX9xV1ZwEF
MdLaUtpRHuRr2FZs0YM7SfGVnXG/RgSuSUXQheZKKV+ht4qxAmwztHz/qg4ZhnMmLTJ4hNhyi5E1
H4dynVi3O/jztts3eNJQCB3yXVwIs6Q51pyraX02j6Uba1PP9SBmvYs1eHxK6CAtUYUlqngJdktK
Wq+e17OuYO1LetBuXi77nbSAmhewJk9ZlO66PLwP30AE7Pp6uh+g3nmqD54UAPkUJazlLUbA4vCE
MFjRJmXAekyypl+iCUs43VaiJRD3A3X6ERvCclW6oyrZ0XA4vw7CAhotUCRHmlsyswWmfpEyLFK7
2oNkF4c71DxtpUVqtJPJeXIBmvf9CN8YXQT/a0xSKnfPrVOEzaC2fEWhhE/CLYLV1U2fuF76/HeB
HiDTxm/Ygs3X7EaLDlFTsKuNuBM+Qc/tEw8mSZb/Pe8DwG69LnT63ksvKEM7+HWYWIVfqQsrdeiK
pR9HdFbMSXbSq0yJzYtXqQbhm3b+JlQywZUKp0Es6acwI5PZ30fD/2bTRUcL+xQ+qaMLnG9DuMCm
in+l8p/UwifhMoBD+/ydN3pB0fCJFj5pFsd3jTpnBxfTlXApPWLcClGV8Nu9ou9RuJQ+vsfKcwEk
ukBeXZ6RmjImfx3ulaeyRi14JjL4Vgi2Imb+wq3gswqn7zcOWhR2X6QS3xM8NLfKk3sbvgdD34n6
ohTuvI0JcRW5B2EFvppnqlLLIrloaywAvMW2u7+df7h+DlJSIKkuHA+qF1SepLpywZpuswKjtTrm
TU9DpXTxSM4odIud8ImKReikYnrhk0TO9NPFC580MWlPv9IKn5Q0EUmf9EhdFlBn6W07O/gtT7dd
HdkFHjoybCV80sfXp/I33rXRI82yQbjxDmlTNdOseH1dQ4rKUlLARSTZy36FtaEXN4amsawQWJp8
ZNESq2nLohI+aeiDaeGTRB5Zuw1E6fXqPYR3nwnGyPO+w/wbui5a/Odkk5HOh4G1dfsO6QI0CnHy
aAG14cMvboWWImYojJqdfN/bwfcu5I+CTbPgp89x1blfLNMID9aokRFgJWeHqgFDDbQH0j0B8Yv1
MUOEQO8dwryA3lxengR8y63TxsTkW+4MNk/X5tSCa2PvCzpoOAeQGzXnFkRSK+4C/21/tHdkfJyt
azjCwnd2oR45Dn54cqhss22MQx2ZcU0vNltzC/iUsDdsxeIK9Di32R3+9nEQKaLBysmt6/2596kw
lGeMMno83AfPmlfCjyL5HupeHObr2mk7TyVztx1yAZBbZZTE5ulgMxatNepwyFASJhynTa2lsK85
GvZ8GdzMGT+gy06L4KOYjgKQFRbVuMH8ScdxNsUCJpyynIK1DZjPfYUw7dNlP5UKbS6+CMmbT/wr
BAFsDfumm4ZB2g0JGffu6otYClRx7NJJx2vuAZGdg3ApJ0ssc7zY/FNowCJmUziODWvNsZ5EANyG
F4nlYxcfJ1G7ZiRs3N2dJdxISLVKETGZAnVPLOG77Nmxt2u3UgfDrgpjViB4mGZBZ1ZCllTYkStQ
e3AhhLugHtSO2FyS3IRA8UXQjvLCM1kM0aNgXh1P4feMUg6Cq9Zz0WciN9DTcWC8e3cEZuEKXdfN
KydDsUMRMlL8vUBOEh+Jcwv0FFiQRLNDIWEwGrgVewSRKUiY8QeCfOnQmidDghpz4xxc9MbWphJk
QkUrzNU/jW3ZKgTAt3snsLeb4/3taZSUPzLTAZv2ITcw1s6X0/P+kFP7U4vZ2Wpr16mSTBGrYwDs
HKJigoR+524tIvEGU6KC4tyqDbLCByqd6cULXuShWMXUUy05PXLBcyQ6k3NzNB6v7WO19uoOXyHU
INdKOWnaUcZubDgDk17gwoQLr2MbXiP+tsMuvfkt0FMR01Plk93A8tuhoBJPTgWtmyZ+UgI/qZRc
yoXshegejGG8Cyo/wcIa0vB3+8nZ/QiZQsFad6XZ21Sx9G6pIdYrfKGKwliyHLp/e9lcL1thXSSQ
wb7pJq3pOkSuNfgwCLLo4uZXmewtnjt7FCOxEXKd9hfMyDGMRYfsg8R/zTE39ldaP+9h0ihAOvDZ
/E+QhGDewSIOxJo2stpOPe7Ap7aCq2j+M1oSpWhI60ydNO061iCufJJGWMcRlrfCFL8Q2pC1JKta
4+ia67owL2phDm6lKRRtV3INL8tkS7afqsuOEK8IHa2EUqFK3FHP76gJK7nJMOklTdlP8G8s7MMs
1bT4cGCbVuR9Tw32+AufxvnA8SDjsCFXsqJow8git1CPtgRdbJS4pSlrhl8QXbwVmlWfnhH+7nI3
BGVxTO6uGnxC+EvPXDv0WeFJqmnxA4JX0Ak76vgd1bmrmlmXp+8SkYALbfbEZvg9IEYD9KAqxFup
+VvpcowW8b4gRNpUGC34w7bhmwtApKfqqvSKK4H7+VsuWpp4OO7XPPeXiJwty3oLjyYe9pbmjnfw
cDD2AOVD2JbA0ELkdIT8XixPxOZxGuWCuEuDDJVUFtic7smBYeeyuAdAF2et+MobGJM9HVoisbvR
YQUr76o2pavktJIUr+qcmINSVOkBC0RSBeBtKceATSHuIvBsY+3zxueI0TTQ8syLrsY6dwTvR8wr
KJI6JxzzKS2wUI/Ju6LI25UFTb197HR6icx7JGttvl9VpbI2TNOQFwpEXVuZWZdKvCvN31Wbiswy
I5/4XXUlLX45uVLzcgUxbV0FiykVvzBVk9W1aDu2dLnSrbidjt8OIijrpVU1odty3FqqnHmD+KQs
eD5pU9WkxGO1/LEQx2n4S7+CvHm+67FegV7cBflqAGKMtj2+rR0UzLiwnrbmRa1LWr7xSxRl1rqJ
GIW3uNpgCio4aN8LylfYUZPTADMtCR7FQmyXK16OlwJ9T9tdOf3L6zm0QevQV40SlELPE3uDbh3i
Gy2tn3gVV1W0r8PZ8DwHK8TBlncqnWq6s/Es93nHUqeSQC9MEt99ahqLyTdmdpK3RjrYdv4QT8hb
hkqnCqqnOU5wLZEJb8m0KpGzu6TKddRU0mvKgkV4SMSD9ur0ggcxdfJeQqNSk6Uj9zWFLgVRh24N
ENeiE4W6YI5hU7oCr1zck0CmPW2tvO5vkNuN8ZSp4sGmKrNkOnffgXdswTpbSxtrLH2MH1ihqCXz
4zwcoTuLdJca3aWFXqqFAvLSh+eoCpFI2YQjLxXQ9YOr3XP6p0r9mHrV6Xia0+h9Lf5XaZp6+Tot
R7qY4Kw0U2uMZN7L7bucVxP3TOCvvsmhARgHFJQtWsfCXdM9cbzJr1T1qUXacBgJr89KxqzlTBre
Xm916s420sF4m3TuxQ8rQTPXWryihl8Jk3lHaaAETxSQrRLZDjVlO1jPn2sK4PQqpsWCsrNS74i3
sTpsbVdgQtDChHeLKuwia0q2Y73F30yDJWUVZAm9Dn+kBt8wdKqtJX9W4Pms7y/0o3UrhCNpa/Tr
QlEwT25+n3uphvaw4rWEzXT9Wq/DHMv2bhYwiFalb86APALep9AzWUFYMH4UT3mFToUyY4cLwq/M
QU0RsQjOCvLGC0gkZ5FmwQ3DohiyPytRivK4VVesfWwvsXiB3PQ51Dm6IsETrxJ/bgmEIwbn16kx
IUMePOnGeQnvxtKwa7WICjvKgU5lKb+vThFruaQAl+cDX0Ee5WAEx9V1/rJleRCWHIUUCpUkzahk
zpbrbc1/X+GsYkgXTyd1wei97bB9ta1juGYJbq0QHcVtjqF5PU4IFRIdcDldFxon2lC17SgHfAKp
tNfXcRSSkXCJIbhjHgKzC7nMGxwdnzv8vsFoTDukHGY3X4ZvUAku/A5KSQBbwB+a/p3v/I2Cz+b0
9DI3kXoeUZ8uoCLbVuYmUoCKkydb3M/TldJPZJoLsZfh+Wq763pBjq7lki1bul/2q3KEKlRTYxWV
7ov5hueq/1xuWtnRucFwhfP8dfco0E/erGwHufO7YpOi/Iu4Qav5y9dR8inOqE5e9vF3DSxgBXWr
0qUt1edXoXJB0SJRy8aVGwt5HNbmbat1nLmWW3AaIposI3LkyrXLnhZPgb6nbCH+8DjlrQspb5DM
NbMZ3K1wRpyoCX8J9GeESyxtfWsiMYNI47yWPhYxFOM69pCXLJFY6cGGoZaELlV+WWGxIKO03Z9u
iFuLp6fKiiaqaC/iEYTJ9dkEQtvg5DAIVRta0886N9E621HBMDzgk9XIfx6gC4xv9sQTXEuVCTn2
cwrZEG2eXHA5gAr19leoIPGDYebijZwsxcX3eHqj2YprOjY9iHCsJi5XDKNdfd/C1fYCLpuAzEi9
4hk3X23Y2zyDsHBFZ6YiyQdX797XDVUTzbQuTo5uRPaCf3eFwa9PovWmi1TY1c6w/Lfqp82nf/xl
U/6h3Hz6k++58e4u9rQp6s2NM1ZrZIzbPIfat2RxvXCukC2/KVt6EhIsgPI+rD03wXS2DdQVpG2h
NyyGUSMYxL7uPJLS7BzKsn3IqhWW6LCfP2e5+gIiMNvFHUS+eehaa8us3fYr4fA4NBVGBOHDV9Lh
i3jn5TRazg7H8KQiL6CjyIpndLR34d4alF1RF3MjE7931wlLPDvy/a3A9qYw+nEl3XpH/Tj6WPO/
3KAoDsy+oqYE878cHHSbR9WVEbnYkoPMzgO5WaexqfHcMLv1spSINfiZlnG6Lj13I71YuHEb8J3z
cz2zbP2kLpnhcO7Y3BMOU6y0fZzDhmoo0dfS1SEEwT66J9dY1qhCkjU65tWkvuEsizqUm2Bdn5aR
NY30fIHyrOTq0AhhL2t7ifQ0SoyZy3fm80/GtcjyKJgKlWdlOrZOJr/wfthnR19LtIOQQ6hgUpG8
erZ97yz5CCKjinkvlGWtoB4Eq5T29Uu9EHe1JDTKWFyhQUTGOnPtxuzzVwIF4XTUnhJ50uFRAgpS
lOZP2y9tJ3CZ9VBWlYbeU5SyqCXOD5Rj0w7rhiZ/cYlAADb66M3yJQGLRIQDVlaMIOENLdANEQiX
GL62C3n56WfggTUlE2AbWTtNEeynv5bd34LlNBy3r7Ys7/g6XqBx925/+e3zz/7f/+nIwuu1TtQi
EhF+UbPU307H0f/jL/vdjkfYaxRVsc8+kRzc1LTQ/elX1Ej+cLs4GPadJ+Qa5/nMcvzFrvjz59/Q
guwKKP3JOhmNXhwzuju76qrzoiICoFKdPe9ufB7uh1v+zHVEvN5qeJle9v70N6ZFtjtvF6v9It6X
W+FPtkXrQ3vqqD0lxBLu7pPtas+TiloQd7LY8QRsfj/z1x8uycrbTlPHhEdYSWkoCgdFTw21IH7O
y+2QX1THBmArX5vErihB2MqWvhPfdRVvBSFprb0uWXEaene78MerYzsvzwNrLg2FOOzf1p30tGsJ
GAVr7a6bdq0YkEkZpe6jwsPkgYM8zsnQ2PBrkpPHEm/1dWpyi/yiq2WCIiWgPft68YxyHho9eym8
FspIlkCQ1n3q22hLMQ/zW+rZc1FvmtkREpzNbEwJYmU1QatYr9WpZpS1REM65DxRrBIowWpGI1Ve
Hrh6VClmGZagBsbQyXCpprCj5LSTRFnFU4HtravXtWv3mTMqwg1aD6jrZdIT9UUTs31JnXnWF6sO
jSyeZimXvb4wK/E0i/ZUzX5lzJ4i2aJUQqCwrJJepfkTfEnLSjonw8tYhrcZgSa+YfWdSktctKe4
NBbb8iM0MZP61nHz9AHX92vYbu9vd5gA9NW2Fb/6wvX5j5HwsZVk/eSZQKds60U38TBH8N/LemM2
zKRzwzKTRVc4evWxo2kR31UFQsdMcyFYZXKli2jslF/ll5Nr+bHbuf43iuwODOtMeAhEygFrr4lD
NdlDhbuxIEU7JzP4DmXzVp4+mB4gZoF2ajRaFhERhGmZ0BTCWOFPox3Jxe+mQ4eaGzxe3/aH8M4b
20QhNISAHgZsQzbYXI3ev0uv3DXkDze+5W9coc1Bx0ZHAbaBB0wjgjE9TwM9WBJ2osKjVTX8JSYi
2/fltnm+jCMTDnIkpMNG2jmaPl/J34a38Yfjbp5A//njPP6yv5of2L7yL1ggenIpHpqgTD/GJbSg
gAfd3PZvwn4n+KyIp6bbV4WsG5jWNs86MsRyG7hpS+49w3oI0XoZbz+5GQufzW5WTGZ1L9IG2rCS
rPRxkJiNdJaNinkZG1jyGZfTZI+3027//BGIFnrayTSrgrApISY6VUu60hMb3Zlv7Nur7W/jGcSO
zLZzPGQiaosyEBHCMdz7XkbPsfNE4Tn/C4Kph/0bU5Drlg7vgwalHLFgg8bjRqRkpXdbaCR2g5Kf
V3pYGQQ6By+1j5eDEYK30wPrVYGl+wDNu2eywuAfw4F+IT+0TQlvFCSO3XYiLBzsnFVbdRktoqPE
p82X8eN6tq32pNZvjsT7SHGFIH2qKeAKzduW/MHawC4Q/SyStcLwTXtFuwyvtOFJAf+pRJX6xAv4
hlapax7TsZv4mOHMNoLYyrvc8bvEOhJNBcgLG8VLmyKmkQ7v7XNg/i/jt/9gN9YjMY/730APzuTO
RFprp37Cs4TvCcJvs4QfOBMCB0WqrbeX/fnG3wnSsqC2vN6aWukYzrFqzzcny52oKiLLxuvsuf1i
MHbXSe8qqC2E3i0eDDRrhq/7htrZfNfmuoKxZc5q3INtqKgUxEVYFqop55GIo6MAyC0O8pV7BY2o
HRwF3eLBqtM2YVoiVCFhQhPWVWHd0v59WVHCtcrRmEaE2s8SWhCKgg3dBmlvY169pt90doT445lH
ReQGkZSqDj35Vtx6hSzMIpi66GCzOX4Zb9YSvGV5OvATBHApO6vP2llB1CNADtKx5g3x3V2dq6Jo
ippJyY+qhNO880Y4MhxDf8z4OFkR1YR7tuu1s0693qAnWjiUpEwRp9VzTIsSLW7guiBVkCiA52pb
yo/LOXFt7J7Ewtumjp5PtkWgH00v+Dk95bcFAS52xnRcXtFsIDCoFi4avZae67nBjzFumx/wBjpB
tleQs7AkncDoZjNuKGnJs3mJzoc6f8KeJiMKs6dxnveCrV0jHoU+WNHTTaMGoXUxWPBaeDxFb23O
uAdR9HU/gOzejU/3l8y1FSoGB5xIcg7oWoIoEG26TtxOynpqAH2ZF48V2gmeqRQrj6wwq2vk41mT
2lch47lwvIjG+A+adxXvocvuIbw4yiuIF8l6v3URm2u1zPG8lWzIBuv7OYN0wFjGVQAxmgiiq1ua
syZed+w1i4Dr/Y3nNE1rDRopqwX1Ew6IWtVOTSDEF9f0iwcgxbsAw+HwYbdjmGySAStAFUSMdmMl
d3nWCfh3/p66lDUaCVjwd7cKVUAWWzmPVWBQPAE3RZYRAMO6IkheZQ2/LtIFHWE9llnmazQ6EozB
jA7lFO2f3BP+cGOPpJtYTxIHKrMHqjvSFDH2wmEGWVagNQhtgCynFOuTpmO7BcI+IFOvkVl4wmvs
BIrh4nwSljaRNYBHgM/67XQEW2vy8HLqxEgrZBE0YBJQiiALwiOAGuCQmgHMpkOvQc3Cklbi+KqU
t9PvxrscXEAlQh4Ar2FTCEO8UwH80PUEeDE9hbBOTVfSxuvYSfPP+6Mdb2JW48tNizbt/dRlVxP2
hmKJVtjXfU2sZseKunDgbjxKq1GdKqNwUWQwCvqwTv3UYmH2ZMMORY88BGh1W9FcBTivjbHxSyGL
E1eMbA/D9TqHHD6NN+vk/yR7hGUbh8IoGVpkeaehPMLZ+3H3NLPRCs6pkJ5p4C9dDBGvxq6bHqls
6xW1KsVe7eNnkde2kD1Wd1NZrAKHTfQsWZ27i4SdYF5h4yxq0E6YQIIfhRxESBZBZoy9j4ur2ZzK
gnK4AgrLLqN70O79F9td36Hc3gt6GsyBL5fhY+pdzvv5uqWCGSl95RGVVW9YZt8w7AYy5Mq4u/f1
isC6TIAJB+WKMOzWEKWfQP02xQxZNwjdfI2rgwlyaIQHDDux0s5jDpGAk5HaApFlMrGJ2ImApCB7
DGWkePjfu9Epkm3Lz6ZInCDqGikIg2Ba1tIoqRgqixnwNtDCLQ8Vobdvpw2mR2un5aAMbABZCddM
ienmRN8uw9nci9yA11ESCqJZcqhaMUYvhHDwNdXQvt7jzjawHuC0jExBsC6VXBHu+3K62dsa3NgZ
YBz+6hH24JyZnkLqMNSb90zN3WEgQAWr1kHtf7xfIEWClXDmsC2VkcJJOCuXt5dRMBEqdHlztaZd
0Xf3gqgnGIs7s8XjDsjMLmxo7jZmAykIorIUVzXY6oMN+lW3H7m1ikB2pXU2Sv1owE/geBR2bWaO
v46H5wc2iIAVVCjJxAx5mLDTaciwnObPbV3sZJojaA5lS4gvo7vK5ORCGgXK/ynmRDqGfYXYZpXS
ciVIciHYiuIEaIjGwg0NuIgxOX50z/0b3XnMvQfCl3SqIFYE+wVyQcHKbs2G+T0GdrapEz47JkKE
rXkVh9Z5CqxiW632sgWYOPDctHISftvsr5vLHZoeCsIWXWqf5tUxoB0vZGta+HBxdiHdqxXRAuQ0
ncQ9GTFTsDqXi0IIpI0sAaglbKjof0jYsblap/sNqPMr0wvAsbDioxKJWLX0LkhVTUG4UxTidLRH
zatgHF+zYEbpfdbVCVBZjqtjkVVFo+V9GNDlnhob789/+rtV7j/bphEekdv4EsYP2Aj5QwWq6bDX
AsW77hxmzZ9gBN60ml3KJTayS+kiLIVG8ML2/rh/fjaSHDZo7gCver1f7OSgTw7tFn9gmu+ofQBI
hx/40U4qw8vujyqz2tQoSUez8sxqv43bG17qQ15oanoL5w4mit0WlIH+/WKhY8M/n4xs3A2XkPt4
nR7pXX6kCf6Bg6v44J/OJ/LdnZv0w+3fM+8/TWSySxdzfJa4hcv4z/v+Mu7+bLTv/cI44gVqfuo4
bZ5kbZa0c9TxkrsMRU19YucnasK5f7JTho82nxKEyRhR6vBm/OnbfZcjqKkpi07yGP0vHL+eDl/H
XwbzXO94eSct/iOz+DQLV/vcO4XYwTzJJzBqklcztqz8XJgSIhb4CabKfNeDVX3YKeRadXnysr10
bBuXP727V8hRGdp2NZcXM5JrhayZisdmsq3Cgn8Z7tfrfjj+eLhHRHG97f44ft17F2s4HPjVyy4W
ivPT/TJcvzwmYKdej7BWCD8KFObXdUSWYV/dVoxkwOzrV1zPwapk5c2SdBd3K79cEXaMSk8lLXHw
/zzNh/PKlb8UdOXQ/rRYeeWQm5O7cHQ17Txj2KwNbcvwnfgkXekyGpVI35nQft4fx+99vgYxB9hN
iOT+fDidIj35bP/FPN1TfroynB1Nn/dPd4UhuXbdX4ZzyiM/GbvoOB4++UnpmTvuE6KuKQXil95l
dGebXoZeIYZ3OaupCLYD6thBiuFt5laraQKxduBZVZIUtVLaVMgG6+dWpJ70DfcQyswGDDJqUiED
x6rJFmmIz/fL0/1gO/mnKuJmW959NsZvhl9rxK+oPtOs/nfXugJv13ez+Ml1tP1XaIgk81iH9HAz
92axe8cD7r9LczYFMv3CIFXZQJlVvTnHdjxnVKeumlh/aOnq7cLWl/qzPQJ4QzJHt+FlAQfqxbtZ
SYMlsqpCX05KRK6/aESCIHaRRrZpXynpjbdfIQ/s8+mHu42/S9p+GgEIDBhSAhdrOw2xn1K5+PXq
llnP+QOR9IV/s4KKp4ZuS2vy7y4557uVRY9O32DjjxBl7zlRVkaiLLhUWJ2BeZdxzppKx77krGp+
G3b74fAXPy4+OfU0RT7AH7JuKBFVaez8kFTlMgzdY8kc0CCnusROdSLQVjJU3zD2zF+++9V5n5XX
ipGRl9GPPWPX0M+3Rk9OLeln4uoEozznULc9Y2EID/8v0JMz9/LFKllCyClIZcoIqpZhVZqsvKpc
Q7DI4kqdFMYoX+mw6g7ZDtbaLYM1aoXCcGFY2UgIecs1a4xGUtYv5wTtb+M1h4f0BWPf56GW/yfn
BNcxU7TrcSLH3Ha5jJroEWF3rHuykkuqIgYbKsaPmO4YXInQ909wJKp4lyWvcSPey+hd/QjvXcbn
/8gxc4Ja1Outu5vNDvmHS0zM2HfhxaYGA6yz4wD5H3b/db/ecm5Pz0BnvAR+zsFxyHVHGTZmzX+9
pqRlR+SUmS3qsEXUZsuzmoOXKMB4n0MYdBVr9ZZSFI62rl/WeBDI5y9twK7UgkmXQ666lrXnaSgs
Z8NXyIDrsa79859+fX42KuYRyLVGDiR04VinY1YaXA3ydVEztJwu+ChzukAxeJ1oLW4zdleLrBjJ
kF8nTWtkxaGadtmHPt7fft3ehq9ZFxqFRlDnXrP4n9zMvkcsLY1AZijEX4uf7fZf99csuoOkKmAn
7TrFnYFsu54x5WM35lFDuerjEATmrl9Ol/Or0XYvHymOeB4vQxbmmvo/2aUtAt93K6MbWLfID1kh
dgvB61hgP4YM68RbFHxlowH+Paexu8gLwdEXCsVfGyRRRQwxtznIJI+BTU1mYc3QJy2DlDgIOIOW
1Ey07LeHkZdpFutSQS/87zLnf1ex+dAjNfD63V4ncgZigUpZp69r/C2FniX0+6OhwzWAPNLO0IK1
X2/yhaBjxuALjwQtQzpOX69EuGu0YBoW52OYhlmP48H9+4wUqZGdVmOBnUgRZ/PJJqRuWGPlj3ub
PLS0f8bD+HVFYEn3cTw/4OigBb83EtYwHJXakmuIC6GtsT8lmimXHIilYwy348LttuvZzz6lR3wk
zPxNBmlZI+LSvI1KslCz5j3aXdVE9gMV4pj8MSvhZb5UNUIqbLOlSq1hJDubwHba/uFwfh1yKQEx
3F6ji7BxkoeuoS1iyafWKKQHAEIEwNZxZIN2U37PPRsHucVnX6vjkU+GGi+tBlMyMq9BuUwxjkIE
ZrPuiS6Yu1wERGZigllFv1mxl4sgcxv9u6/T/m7RVxRsOteKxIX/yMXRdQSRZ8h3hR/clIo1JkVz
+gQiKGdJI26rsUmZWlYPROlVzBANE9F5MJzTxhFJGQRz8azPWeHYoGSm+HIJG0DlbAAOxmaffo1y
LQv5+a/726NCRiOECmaTlLJTKa9W4afpMUPR0EoOnU3snYDwJS7/tLvMehqBsg+E3J5zPglKGoHA
ZZkH1KHW3lZoGp51cZEMsI44X4OQRT9CuRaUmM24lIpTN4zRnssgqerIFcI2EW9rPO2HnMtf1xHJ
Nn2WuV7XYOtFF8MrjcBd4F5UmX3qsE8YudSuzSWyib2ZkFPPmJsiyPhg7LhBSEjqKUbJyKu3jZIO
rT7AkScatUDgYMZURNG9FgPtC/sjZxYhgCGGGSkueyC7g4ew+fSi0bbpkW1E5Lhq7CmknlEUV8n4
RgWT4iBLyVyWGtJeacYlyV8zxJjhspbJrMrDGdfDKesyodBDkj6URR5s3GWNM6pRRD1OtRNoI+/t
TfMJ4cJrjBdnrNvY3cvYuCp20fqHCwNWYWA4LNdj4IO3fL7ozNbrsCbMB9brCWdclRKukQK0vZ36
VraGVt1En3BRJSWO5gwXRNyxPbT69XzEPvN6Os5jUHwBTjZuk2SSFvRS6+xLnUZ7GwFazemNrhMi
6RxmkzXPMdwNNQx981Ca2IrMmBZZxYD7V5wOWe9YoxBrbLiTXsX2PedW1IxGymes/EfOsNas1bdY
ek2oGslyACuQOvplvLyMfzvtHgPBUP486nAqphD46lAoKvgEc5eFTIJ+XQKMH0yBM2CE5BcVa552
XdrDVHFjtBPg5LkkCB2Lwl4ICF+ylX1dBCrQKPicLHf9EmVnZ7DhJk6V1PlCnixVoAI0sFK7bP2D
S1rKrFowOY1k3Drn//VcGggR9ssZj4rz3OWsimyGXSXEwgQTCbzUTA4A8lLbuQEYu+NVKcO65krC
mLTr37KOE4pXxpEvMT497l5G6OqTSYLrGbONgJjfcxAzb6ww/nmZ8xzC48OosmaRc/xgPEEq5RSI
KWsEoOz9qo+zyP778HqN4PU0R00ElZ33lMGUSyY7g3mzfEkzKuZGbRLltOts0l8pkCnNqh+57II0
ClzK0OU2C10WscDPJnzg2qQMdhKkCsxVKlY4V1XOuQpixWJVfSnF1vyiv+fq+FWsR4UMxZyV1nFo
DCWYckqEzUPNMNDsRWZK07roebCqlxPXd+6/ztZUBlIs2axwBq0kyx7ls3RJmLxZlXr5gK3Vl+tB
ptWwJcJB7QH6IivFckJMRRmobVaVZaViMIVtpWFX5aVi7CFmBGTDOgl8KY3raDSV3WaKaWLsXZeS
KZ/FCHrGqxdkTy4BSXM1E2RS4H/kkgLZrFse8ItrHjOocMug4QRI5DuoZfLYSyaux4ZccnBJWQpC
k6zi/bomHTTyE2yX6i5ffD+5tg8X4eMSqxbbzjzXXXKc1rIxMxKOyKWkNCWTNk4008hVPiYuWC3L
7jVZU72WQ25senC+oBulUEFYoJOz8KYEx9/3b/fctjVKc1+2NMhG39aoMc2FdcQ+Q1m9g5CIOJNm
XUbRmjBqjbLJ42AGlaafRWVqpnHA0uQ7T5tfVWpcx/c7E97n38bnNNkj18GHy3nI2WdRW6iMccb1
QFn4f7kUIpQCGMPUvK/zgKXQaG6jTMbGWudaI0gxbmVF4Kqrk+g1xw4sTPm9uqLGGUFd3h+8fOT8
wQT87PKg4gzaZEDAmikD4CoX19BFXbPPx4dRs/KsTmRNs0pMJm+XEZkto6J+ezyBq0VtIxJcXKwL
ysUwsNMT6SOqGvCBtiItCwcz+R85muW1Wi7i6jMYM/HWlveUyZ5Ou5wrgWqN5W4PWTwIxYJj9PJf
v18otrhAPPZ0KHpaYZHVKNIWZ9oTEdGcqul6TnnTCWVZeY36xMTB36U1sIIb647zav9H8ukaZBck
zfGox0nMl8wraba4fBGsWpVV0NZs8zrS7QitF+UrrmM7q5Yqv1HtRsYZVaz3zKnt72vph0BMS3rV
2urF0Pco46z2AjrOKUXXwS2TUFQyNvhv31XA16LU0LhEiI+/5wAV1OgjdkxFuPG6ooVq1zCHT7Vh
DqJoK767pZi/eV1h0fdcU9oMx/1HjuO4hg4Ukrba+i5atucax3KPW8gdY23wLdJW9UZrmPyJRavW
XHcexXVCo3tDZFDlti7Wd7wlhVeGEPjkXSZgNPopNAKuqONQYSkbhG/ZCLFWBZNtu7LJacaVaVkB
viYPZeVNo6i8ZIWtRlBQNz8QDTnCyPW7qHuOEtZm+eW6dyHxsPTD6JLXCWnL2N86kglaqn1eleSP
gJTYoOec239bUZdTN2yn3lyif05LFEyXNa7fz7/nipxqsd9HDgFcU6VUJFWbek0i5Nc1fYRQpXJp
d1+G7VM1i7m4rebC/mQuaQ6QKTTXbk4oVs0VQKE0r9hrXOB+q6gfSVtrHGgxLrS+YUbBdK0TUZg0
Op2BYfgM0GWPkvXVAzUiKZuuVhaseZBLIqm4WrVpKiyYQPNcCCHOUjAZWYTxvsa5a9GrQ65Plbfe
c6kYTc/4i6mNncMIkhpZrOuIzk7ZPlGKXS3jGWaxh7pY4VKtoROcJRZZC4tsaz/aSqY69VBepJeL
GQy/ZcvYcwMD/j3nmFYMCk5BLmsiiMgmX3R1pNu4x2kJmUbuilXsbGcke+P3XCsnVGJlg4mhL9JP
xknD/WcgSub/3Qpvp8KAZZl66oLFe7+sG1BS64aN28u2zvuDDdL5q+cbM65LNik1W4rHycPckihD
M+14xyDPuchnH+d86jqfyLSuJ5dGPSTTgjmWqPOhNJQiVc9DkVYlIKFxe3JqRM1GI8T02nW5yrrh
4NpUpa2ytJCCjFu35sOsK++jwTDoulEF6zJsO83eM+l+LkvZM+6o5nojZJPJ1jRexb5oGQNrQuJH
6MCUEUutkF/I6cZ1gVddc5AokzKcDRGX0UVXa/J6c6mQKOIU8znqQPVg+6maTetfieavS3Ct0db5
cpS1DN6iKHla4iQaHmvKcIqSrQfONuXNN4FC7locdZCbVWcblBaMNy104832Q+cTNGivL19NV8eH
X6tEFhXdmczApD1jL9c/fuTqH7kWbVQYbeVgAM11QEv9kNwjoahsDHzwuP1aFdfVEq7Iq7ichquZ
2Msiqp+d4dAwDfmIcX1veQ2A8GoIl0rvnKuY09x4iUXPvJX2F55XEQ+CWQUd5pCAgvfdicmHuYv8
nlamqyLlZfVQ0/GV5T1tIQS/Xr+vHK0rV3WgjwZA/NsKlxu1IkoK3am8hjWXWuNpWLXU4e3BRmE9
OyRMjLH+PzkLlo9dM7nrWYJFRXjpDAlO13mgIaPv2gTfVCvKULO1bfEUgqrI1EqvKpJuuXj42iDV
GrgI+5Dlih40X3Su8AZ1PDfU1qoVvehW9PtqmuoBJ2mV5VMU3FjNBHKaRFaEOmViH4VcAUd5GmXO
0yiY6lxpqF0u66Tg4GZCweaap+Cwb/pEvHHy/mDBXMs1vuEzRldlkPHgAe/HTs3vM25swxptK0xs
3645g9X0LDiW8xkR0JlxF6tFpNT+yOnreHk+nL7BN9M/bOykdfOqF/sz0yx2ahx5CSGmCbRuoooB
vNjJCLbL2+l6wwtaHn+3+91ct5fT4fCHd2rz7iemaFQTzbudf+Jj87rf7cYj+1v85qcyfLsyRG/a
ZrH9Z2xlCffQhqWq2Yd+4B524/NglxRvohJvgv+Rl6M5BdA66JlNKdxJOf8GlC+qxW8sqCPsnb+e
cNPgGNSPXs9wv53Eq1HhatQsBB74AUdE4k/ocIZuNhbnn3j/b9AhIh6QZr0T5kZE3YfDZv4JN6/+
D8IWAzdWBaQVNyvv4dXo899Px9vgr5rfaxH2Cimx9dqfMH/gtt/mf6BBTGkJvq2duBqum6dh++Xl
crofd5u9jbLBCvY30H84D+ZnzK8Ys/oyfCMvS6OW2fYpbS1Z6zg2/YXNbX8Yd8IqxbwKQuKSLW0v
w/XVXsxlfDYLvArLVfNyyk3RbDyvwD4WFyCs1MwrVS7qVNIHnLLBB5QNfr2fz6fLjV/d1yXD5am5
dYU9dvxKT6fdh7BHhfYIHeCcqXwd3sbp+r+dDI9aTHQ7Xh85fjkvjbxmu8EZI4iuU1ipRpuE3Hrl
6PEyngfjZPmP4O8338anL3tH9jNIapjK+Ce0lWHvTvnWbZaUQPxOreyf7s/PoyFjQzbH3XixCahT
/gV/erti6fMugDidQHEX67tpGf60nihYDYYpP4A0T6ebsEUVFoSMbB9qG3YRTa5esPTGoF2wKuAv
5X+iS7VnHZ5vNjv8aM4K0YwRtwQbDpQEcXutw3Vaniw9U/rDP4W54SvPXqKzw1/c8wQ96OTy5ut+
/Pbj6Z3bWOnjoLAxeOZoW99xi6pA7wwxAZ90OhPdxt8nv6dAe2j6mn3Wh4mk9EUy7qLs+/pKZSCS
B2+97MJlKejM6ZtacrcOjGYMYuGogeTAVHVHdX6GWWx/2OVvS4fbCh3xCD41Auu2gk0RZUG1ku+I
6ETft/3tFVxXCzW/8ntqwp5C9MZfDlZCbJ87t4xCDIlMBwt6uF24tBiU9sXuCNPBnJjJikiekTVi
ZIvUosuBYmZvD7H7CILAygHbOsLbEYe9sU1iCyL8K1vzYh7xat7vuv/dGsu8bmiDbgD4yJrk/jdO
4DHAZ7txPG+O4/VmaGR8exqNmbhzF2DXd6e4bo6nzWH4MGxnrnj/8jJerhsl/HTQwNCVyDsc8KOG
297t2pYSzaoOTXLoJb+gCmdpurnLALtdYSEV2wZ6udD+zWjfvU0Jc8WQDqv95328CNaCCqYWCva9
3SG1zMiTw2kQ1LiqkBq39rFnlO95FoEiVLAqEYiW+xFhvWDGoQyX/2FaUnV8s0p+emJ1YW1kiLXz
HMXv5giJGbtAd4ZUWs+Ku9Mb/PFP//jLD2BLjDsX9+T8qL5XCeIwA7j/MLrGojL8p23wQ5E0tgJ8
czsZ7yr3071mftp9+LOVUkaSWkTur7fxjfVXzUJhJzYLMrQYSwaW2GY8/zD+0sEtDbaV81j4XdbB
ne+s0zYtPV3wn473N5vAZc02Ejrlly6Df4myUqJ846tw6jZ4wBZ7D2U909b+eryNL4w17h4fvUBI
Mf5qIb3ZBBWvpyyKMhCQzfZum+wFLeIiwg1VEdQU8senxf92Nxx1saQinDIGZPz8FVu3OiXrHvZf
BaihKPr4neYj/vG0vftLGs06f/oqHgbBTXHEnbmpRdLIn+/Hrf2P2WsrAsgCg8gq4ZeEe0OX30Q9
yyfqBBY1TLXfSnTahN3Y8jPEncvibIEP0SOEQIiRoyBwjLVmox6fxpcfbrLcse+ZyLx2BU8TCLhA
tiUCjmbwMnLqjA74Zuxwa4FdLVhkzJfzcMkyXN93Rbx5RUjN4Xw25nlGaCLwCUJ33ke4//47GOF2
O1dJeHRBeFhAOTC+40n+Q91SUud6A28CRHPup3sEZsdpmuEO9se9xcaMjpXuoI9wTs+S7vg2qpwj
JrMVFQcFcHstS46wl+1hHKx7v1u3q5rUC7ArF++fScjRCo0vmr0VMcu4F36ZqzOuP358Hl7+ZhGo
w2k7HODvDAMYB/H4Ijx8Hd++ez8Xhc8/XU3tSeI9nEYiiDwc38AVcpxwjcOnwsKBTaw2KskHXsVw
uo+kMp7+bqWKwDAJpyrPMB+H8fo6Gj91a0hrv7Oa7GizlRwG+2ZcUEkIFoz1xVxYnBYmyL7klF0k
p62Be3o2Tptx069IaksbbWJxMV/bJ3sBfj/O99xf7QBqZ1zb/ziHI9gUPdxRtp4DHe7jg7HMr+dB
aMNf4V4pXhjLt2gD1r6VT/YmVXihuKJsWvsh/Ymil3Gw/7NY2+Y0eHiCuBTZ5uAKnxVRoMoPkHYj
jdYJ+q6NuNpbXhOMv3E4/ubi2rrkJE84BHh+SKpmPw363MbGPfL4fLHy8jIe7FsYEbDf7O5Oh3He
uTtTMKsAGtWpx2WUhPFL9hZje85ZAy0KYXZz1P42vBiZcDWcMB6vkH/joIjjxi4k8VpHmahuKwfx
rbsmMnlCJlxkLAq00se0Uvuo4PjNRmdCaEFUedYdQZFLC6apnH7BCRmCVKtjEawpLbDOWa3RDqM5
mJ/AAspcU0XaTl9f1NTjzkaPpBcuY49qVmeftpf9+YbF6RX+DVAz2C7j5XK6bEbr5JDhbycRK6o7
k19qezD+jLmmy/1oSPPwzK9SUhNe/SrD9eO4ddks7PfJhFjF7IJfQEWC3VuYfoG5jylkGPBrhCSg
gBz4JS7j+D5u7+CAsd+Tzff8AuYI8BxP96engzXX2FV0nE2p8Sq2OZuFl/mvUZZ4BUG7blZxU0r9
u4fvrVp7l/zfKhYRFVGEEozTHz/+KgjRpoz5QP9nXu+uMvdUGdunnn4/3p5Ohxm++2EK1PFyCLng
EJ4OmcHWThbc3CZW0z5I5U+1uRlH4vT8bLTn82hsk6MED9WxJKyWcmaF7x7cm7jRC5Z77zanx2Zp
Gb58vZyO+9/d5QgysI6hwybo4uv4Ar6JoI2rCE8I6faQoSlY8kHwQoeLyscP386H8d0qSKuAoTxp
/7zfZsCRFvkb0ALJwxp3q3XBfLyMxqXabjynOXYf83BaGVsHbpNTjeicPiso4i52Hut5W2I0y/+6
opwC88ddyAigCqvefhyfIcsK3J6rpG4ShLFO+VS2IHEGTnD0PVBijYMJNM+BJj1liQ6H218OH+dX
S7wSIwV6i/tTIrRhYoG3024mHomvNDIC7eD1lrYnrJefMyeqWGCV0ZON77ahnRWCLldp8rxAeUjv
hlYN1QKoSEm0mC0lrYCpjLDPYVQdtcoE41upOMP5OUO5jS487Ae8yLlMxdKzEY6/jVcYwJZbtdEM
6hBDpOPb+fbht2no4nSwzrooXpqOAqZmrMD1KrRtqCUaq5moyMR7P55Oh3EQdoGBUsQ2qTIa/3k3
/srtQ+IhnUEbAlkIuhm5oVFzARY7WrRMEyx8TSl+fvGkBENYuImyTD0rPRtraWMfcMIoBIXXqRiC
ctryeYSOCjZyuD+WwtclA2Cxt0bnwQsnVJGw8CVLkxbMOI59H19PQ4d4BKpoGY/GTw1ZY+bUbeTg
B/cuApRj7SdxXoLc5GJiqABHuOUupn4nwaAD1w9XZ9NtjveD5N7jcJrKWc0xgCDcf3h9GMibhHEF
5V4/xnFRbY5wT+gtQ2+Z69v+sHkbb6+n3ZUHzNtY6pZErbn/cHtzuv5jc3lnvSc8aaRwjDH3BnD6
xtgNVpsJlxRut7cmYah8uUoio6mj2F2ocvn5ZIwTQEmN9v3p8y8ADLHpaY6akeyOGq+E4Guew3Sg
Xmgi3q2IuaU1eYKi6hk9PPuowg3rmF6aBR435/zz6q2IhVhP2ik5EwUBlAr7NVEoKZOtUMbgUket
8YAkq5HqCXlpaY7GCjNVl5THFy+UJSJUPABtzts503mKrYa6j/+6Omn4Lhi5KnaVPLThcvcgiRO+
Q/9sXLvL6cvIZ/Rr7L5bHtRTVkxYAzIPbtZ735gt8Guht1RgD7bFYi23Hx8WFLaFxQG0L6sXSz3v
Dwe/kFDdglSbgoBWvdyUXyR/WcjbhGi0DxYtLiu7EK4F0SGhc7FQ/nht/qLyi2CgC2Yu9YtFjsY3
oBO7/RpI6OIs9MWRsgt13EKXq8s6mBcUqm2QHADO62WqFoquUHBb9eDTFyQpCidCfKEd/uIY9/eT
z3+ze4G/sf9m87p/3xsW2b8bl6Uo+j+8M5WhaKY4MiSHJ+OvWYFi0/V2xsn3KT+umO9puLBYeIuG
ihuyclcGO8oW2rnPUZPAIHu5/Rg3YMWWanLoJcSwIEr0+BnJgXDEvXf8vVeLnnGOIHzKMixmrJUf
LXRhO1YdrN8FwNE736a7o0ZFwVJJgh17VXhsBYSkdFjDZoeb2xlHYyff3oRu4cnoGEupzjS47b/E
tGr/5k/PzwxFQNpnFfKWLezjLQT74Q/H7evpUvFfxqmpfg6t/fLXozUNFPulDsnE0BMnfPkzQG/8
h2WcHuzjH0ZYHf58YkJIGjWHTPKAw175Xwy5vSVwjVcDUzWeDQKwH9fhnDZhrQlZgn93hRz7kd9y
Hc5q0em+TrbMP4zW8cN04Wd/+uMPn3/gP2zjd2nmDx0RCbQQ8qytw9O7kx5Ox5fP+TtWKPPYvFNX
zj8LUOqv0CoBrPh/mcss+Z2El4ay2bIKy/3d5tAyIRaNhu3NzKCJB+PJukYZ9nVE1n8ct6fLIP50
FR7Nxju7JuFD/kMV522XC/rMXH+Ncu6buXLB/vLcV4X97fBySCIGguHvqkI5893cFiuIAEF4oJLR
MKQ8jIzhP1Tx8zTE8wgbRrxczEn+9mtAewU+VnGhbLcgR+Gs4X4hvKQSGfDJphLxP62buHigSGhK
OG24ZBvs7bTXMdvhcjv94Tg69QLZKubs0HjF4fdCFECjBvmwcOF43UGXyHpxa/86Ja/uADr8MNbI
0Vd1zbbF+XR1MWKhPLxAGendbPLMWSD+l33lTy6UhpspQJ6Mh6bMbp/BKDn7N82uhDKhERofLyKc
CYETYNN5jWYLhnFZLh+V64hLsXVqEtTXx/FnPR3dP9TpmXoy4RBtHE3ufEXS4bY/H8bpZXwlmBQR
pLsXGOvVZS0CzUDJoyOVKWlpNkr5LVYJutmjokfpcanbRcWErtJxc34VcDp74S3V9iG+F4skXXMZ
TFHXgVC7+evah1JxoKtd9fDfxatNzBWJfzJzV3IHrvw0GwdvKAAzuYXv2nUZIVo+EEhLMGGVOoIz
vbC3CaiHw+mbL/CyybhX2yVgt7/MJzc/IixbxESk57pUiaOSXJi4BtX98sk41vvjcBtF1kSYQ+3A
C69KbLTqCh9BIsHH+WSx9Mt+y1WpAf/VqGQboHBvLV7Hy/6Z/0yHcmgb+eocJ23vlysXh3CfhfJu
ZBC7TMqrbz+2sQcRNhyKlFGi9dvpeOLzgN1vh8JkmzHVeWDS+Jib3GFRpTYkfPh80OfBWM7XD+HD
UPFrI3ydp0AHVQufhUJjMKwcX92P+y1kjr8Otq7cQjAnsRTFrYWKn3sX2YSXunycbyf4wv3txjjb
aFoMdJ5m6VChQh+Ut+RXetny3wWJYR04729+OwFY5xIa70+3g8MUZsVlZMbtF2MVQRU6/FnOHlKo
iwoKEl6uw+Y0jOfN/g1slC/jhxHzsF12JVSgCyEH3zvA3I1f5DJ8swuxCxTB5ENpoHYrD5wHVUGj
TH27i5fxaEMxxkB8n8/0X9++cCvNdfldpLLsSg9sp6ioM72+DVtyP0LDG1Wg/aC8BbOf7dMWP9S3
y3CWLnquq+9iTHC50ngUn3xuPtFF+sy+mF/E3O/mfH867Lfiy6PKcADLGm5D92P+cJra0/V1UEob
nfUyXnkSrpLz9Ol5zl+2104+SgBNILm/mn6+zP64on4cSGUlA5XxbxMr2Du8GrOFJ7I+3r4m6FXk
4TYmrZ4VJ7mHVKhyHhVVcZwscM7cOKSL8eHrcLWyxTxpufla/q8a7+6rVXD83hDyiDgIEcr1/GUv
nw69djcHV6mLytO8QvX/VZgzYBazwoo8X1aYd6gxxkwHdnuryACV8ivIGPfgoWXDuslygqY4wR7m
y7cHb6ZgHyq95oysU6gxBBpyD5zxiLpVlBC3+/G0nJcwqJ+V07nofhJxmXnluWdMFyWyiowhSg8E
2iDlK9Fh9tZ76v0MGVVdXpojrtDzbl62WZ2tKbws1WqX/dcsF/SR3PE4MKv8BWNk7okVi3ZEN1mB
g/vJaUjpmDVjXarsXTbU70fCWFTKHWkGPWjb4eZ6YWLXUi7kpYKKFUK7lG4r3wU1EPJvVKdmr6UW
8W56SjthrZ1ZQRUdZammej+j0lAjxMluilyUzOPM/b46b4OVXuST3lJmrb6MDuSTs8iVbNlSfr2C
kiKCH5c9bB/feOMuy7XG+hQ8MsSgE2Xt7GNcOf+zbBG84Og9UVnng0VAbF7CgU9FhJWCI4uSww27
b4wKZr9CLc1QYq2lQE9KFitxd8Wu0fRxo7Yq1k++EDSzfeTTJ+5OYE32YwTSoCwDZy/8X4YXtq/j
9os5itDdDXcfA/+E5Ev+DlBPSDUXxIISOe7G93G3e+Jfrol6+vnUY8OCij9wQFxslqTvUG4f2yhK
/ogqfmxk07gbGg4vp8v+9vrGn7Og6AWWWPFOTUm9k9220Un8tquIssuWMVuwanKo6mEcbLLF5vfx
crIS+gibPI48flZ2qGVgA0l+vuPEln+MQP9o7NdE/97kmYwzt7HzsNtx/SmAfNA1d9hujC0ryeCD
wyiKqVIjln8uTRH1dDBDTunh2JWqLmox6CV8Yg/wx0B9F8Pc0uFyGT42rpmjq6Nyzen4dwocbvFN
bE1Yinkbjvvz/cAXtcAaaCvlQtZ9u5wMtdnFtgdDnfzz9hQfRNLCYveepSDT2RugvBCp4laXbbQx
7zqZX+D31FCcneBf/L0gHg39qdYBCUBqiuy1KtwIfxOIg9sZAI+Xyt5mIBUAI/o0NGJEiWAzwI3g
+7QXWnE4hPWxJHNNIXOrWIdpWAUOWUripXdhi3Nun7Qkv1BLSWjPW0B5ngAHwYyoFbWIVQ4l/8M9
RbTYv874bfDYilsELLC1++8KpDlmVNO+hN/LGlOqi42QMhhxStDrBce6TijlOD/8aCjPeMh0QqQe
EvbnC5wFgGNg6PoLMk18lEBS2ppmuo8lmsWVVmuffpU2Xf3QQdahMpD5uKt1SRvuvYIhFAmyMz1c
em/8Q7YoVjmD0SCEkYzxlZyiNK5jVmwoZfI87A/3i7Cb+nGzjb9zZJ073Lvy3YXzpnlLGUH3497W
zNtsDCPO/ZHEWCHuJo3asjB2Hn8tZfxI8d2uugytlnI7fWX+OprYqKsoNFG6TxSjRsaLcVcqXrQH
Src06lPokJgWJUFJmRbD5cW3rTwdzYmvotGmF8pTBhjY+GyT5LU0GFmwjD97UGKUt43ryLwbFHAE
Igq02d6vt9Mb5LYfxKLECgWRE+sSg+BxrG7jMFZ2TdTnNrbPePsjXpzTX+AwNVTGCA1obRyAyR++
piqFvSkSe4geNszFFUqYdkAVnWaR840LgLAHR8VDqFYz/1LSBfTxBfg8v2VcfmI9CW0sp0b3618+
fimBpLTuyNSrVBDGyKyn/U2pOp5JNdUmYeGLZKUl1POS5LQ0bZJd2gAwuybqeQz9kaqupVAUY0Qc
/NyT82ATX29c4267KMq6wrY8GYlJCMrZA2DisetrVHZdht5mlKBaR1cVEoIpkhTj4KvMH3irnupH
8oCMkqgVdfHogxKKYhHTfvMkWhXJbRaklGJIv1c8s3bRusiNZsnVRpLYfaI2qeBrmd/+Pscc6F5T
6ZDrHXNYo44LnduHhIZwc6jYHPW6SqKAiLzlwG3p0cOl4KSyXED92PXtz9l/48iS3SvqpUGAUMl+
3/bG0r2zjTEV3WLrAa4peZ6pMc94Is/nBNhPsRoPcwqXMny9VaRazjCgHzirFxUWuL4zHiW+MpYV
7qLUL20AQcNIq2ISAZCkV2L+WER9Mg8q3PwzGOSp1ZJlEI1K14FB+ozZJ1hSVV0xVgqX17g5DE/j
gbeiGqoHQd4yE8zcqlccBa6QXcLhFWpt2+HYU944Fe0zstHKg2knIGFaYnt28NLX8UcbfH3IzsG9
5WpBMGTopVIUveQTTUA2xbShmtUcK+0ItTiqWsCu1Qobg9doFWpb12KqiE1CarfAujzbIkEKbFIU
bOKhbAjrhjGuacKdcl7WGay4i0gfhZyYVLCcROiozU4w6SM0rHHjz4KyNeCkMn4PxlDcV6d5xDPj
tbauKac0hbkeObBqktqzBySU4Opqran6MI4ORdSgWGurHR9Wly05nyHNpXrsQvukXEY9DMcIqATq
UAOXsVr3CdIN9TsF7mnlHAeQ9KgWQs3F7Mhge/zWEhCryYhEZw1mHU+N+kTWFimqizab+pe7MFSu
GYIyD+bsA/V1sXnf/59KngDKCWQJ3cb7spVckxWmTatJWIOx2cWsSPDJGqqzuoBiSDn4IDi6h1TY
aoNWoyY+4MmvrWsA1afjjrNa8k0ki1WXK8TidGMrkLmupcYGZBhwRVwFzJI+9nimnjzfo7CqUlNQ
Uq6sA+4+RnbKOkOy0z/KLn/VaO4lvhMwVGiwDooSCN6XQCe14lDShem2Dhxs482pYp08FbaoFKPU
SIQ077ymVa6xMzc5mY9ZSYoaEgPmy0PmJZZJfQSsrwAXBe7t2xXS4EHQVqGGgbBomxcJvB7GZdHA
uiXyNR810yvUEjbMPsBJLQ+D9EhG9USa6mOvjKIIPc5C4BT7Q/aHRsXhkF5bNnygeg2+iji6i1IJ
CZrMKd2iYMCeNdGODB6q0ZQUIumR0XnCwVEve9m1eBgFTsJchc9Rs+rpQUKvqCN/bx0PXGIfO9+l
6JmJJkjc8xynSiaieq1uaZL5QJWXEd9jJhQP+7WrFKrWDTVfZ3bBvmuzbUvBtuvUgmSi92TYLaer
JW9c1Qw9rvVuJdCgSprKlPLieUsAYwdFlCz1XS6F6ps1UPZjYFhREZEYWaZJT45GUYg5Ad8XvNC4
KYuCvzwSz+aFUswAOaEkOOe6o4xJysHKaJuq6hh3YcVNyjAtagnkqtRRmJB2RbKEWVGEnseFeAC4
L8XsChp3O21vclgpmdjXrkOVef5W1Dw5ToFn5YXqpAyl5ZGzxpCc7fVd7m/bMZYvD+KItl/1vfEp
AaUuYien4+NAPP2hNlVUugRlnGWpr6SssuW+Xm2jMNdNiteDHfW0+QpeoFpyVsxKG3ml86bLmPa8
/fO9KUxlwhj9KkOCf11F9pFn6oezbNZSiEScwvrYcVEUCOCdqlklUNfo+4oGd763QwQ8dcdFMQSZ
IIAJLYnHxI+TfZOOofF8IFbwONBw8tr6WHVXk4bCQ4+tkyybMoO28VSN45rLLHTSLZdyJXuOrOMr
JJDYTLwUDVOFoH0V1l5vJUqGvMLzbjRY9qJBJybh9JQioAy6lU4mTmmOchG/r8IPlDIyvzQk3zer
BKR0btSqNHPujMuGQ7GdEGb6b2Sgos5+oPH1elLliRSNSoBE577NRH5X2HcF+/QMYrEil1Bm01VN
AsA6YWP7SXY8L3MVHZB7pH0caCgSjfhe8YrrMkJqqZRaxTWQAqHYRjDt6hBOhoEbKqSbbxEAvJ9M
jasfqD+QYKbYQlKtaCY8Bjlg66udoxBewz2WLpOMYWx5MylT7Qks37Mh4EdxaNWwKeypDyLJTizY
OIdwfci8QjzeLfDr75GSqumonDvRzhKxiQpB134AT59TuLm3qNpVMYFHGv6AwGzoWTp8dVeFLGUd
dWf7/nyfCoUG0eSptc0CwWzsGUz1oc5oILl7apLjOrNOKjbQuMc4uNFFnbGSJdOm1uuY87Eqm+Ts
DyRVikdHnoxNF+tLEfPll9GxzG3zTn9eYuoyTjMU7C6e4REY6UCDVXlIKyq0NMJwYKfaL/39j4yC
V7qBXhoqYxTmHkZ1JWUTchhifrmGY+bvNqDaeI5lLzkCQkZvwQC6a1AnnHDGE6Om7EYut0nC8BUV
BhRyVrLJZW0ZJVxXQma6AD9UJZuXky4jib+qWpeYtiqxAs87cPPOVvQfWSNaqjik8EDxi2RQ4QKV
Hir328ehBx56jiZpuP4Xq+xmfsEEC6vlinqQUUkJeftI5FnMqe6lvCYKXhLTN8tVyP/3IXUaoxct
/KWNKvtBQoOXIlbjd9TcZKo5AG8gl4lT7GZHX8bh7er//LADkMf9y815fx4/v15O95dXdu7aXOuo
48qwZKmX8fab+VdMJyK3EBoKWOMe2bvTNytw1yzRxXMFm3gvTx+3eUN2eoUduScuF6YKNhZ3afqe
PBwM99m8ueZTV2E9NH6vDMUeyWp+sADaoTA9yK2LJgOW86CXcHN/v5ze9sxIFbcAGsAXEmG4jV3g
FeB/hCVVtCevuJ4spbpuPcI9NV18T36MpqHGze0kfIYmLqoaXC1V6/QyzCn2x9EPLvsQDhDmCYIx
5DPXxufxYqfcb+bGLNA+x81gON2Pt80/7+Pd/pC5NSMsXliB2tdpdJC+9ttofsn26BQWqlC9cQ25
CX62jm0aYx7r8AE72h+/8KOVa+Scou5d7toFKeB2UFLQ1rfL/oaOInwefrq2V1H7u5iHR+ZXqKm5
1On3jpOEO8AIcbBrQHB4RbL+eVEOT20hodqHfoanKwQtN6ez9BpoZnto1JXc6GZ4MppIOA4edA1/
6dbxodsCGU3zfGh2bwlfukuFSmPseEl/fkuV/vb2o/TzTdzGZhqR42almjeYZ+2c3Pjo/clPztlv
5j+zMffEgp1tiWACgCxaPyPraAfZ2HueJ6K5FYWVEAm387zA68dxuzkMH3aslZ/SdN0Mz3buS3ZB
7I06spzGzZ3e3GJHP9zodpj+dx7RxHYJbkO/alzdYD7dw+C6zTRWil2h6aN28ZO2WK6wORlr7vlw
4ocgNElH/35eCka+8d+FDtfgqFfpFvLXUJI9780K06annsB8ezSN2vLZYYLm1eZVAgFCmdIsiOzQ
3/G6HY+74ciM5tGoPWQXsR46oHw/bUEOl5judcXDNHFv9PAwefJAs2Erp9XCdDg/Hujbxilk2Mhh
OF83r9O/YockohsJ8O4V1LBRxtCpfZpoJ0yi025Q5dx4G2wT34X62+Y4Xm2jNWJz0X9hV1bRHr3b
fzoP2/3NNikcjmaXdk4b7A8wj72hAkNpRp4Oxqq43vgpkTVu722P4OsGzLadgHngLhPib6eFiIPD
2uxCaPwnNKul59K5k0M/0kl22VYY7MoKlkPN0KZRH0ZjGAHqJmECIWO+MqsfB/s3LGUrN4d3GuY1
J425taLvN8/GaLbEvnLZAje788vizbkn2h+v+924WfwHtilcgToKgpXnHT9qx3hVN2KP3W1NNcej
1vSUgJ6NXZPsO0itaedpIiHILZh2TW25BdkdNdEpvcSYiTJ6EUdZQfa/7ne7ke/VV6CW1WDF+3bo
1HFfTrdHnoZsMbygQ0eeD1xGF9M9dRfX+DKu628Ddy7sg2Sir3r1qqgFJaQy656948Pp+tAlk80h
38zO/Fbhdu3YS08XIJ5Pt1eeU3vUExeqK/2UbDca0h8dCT+a4Cz8db3bMZZf2R9CowDBW9HT4Aib
qxkcnugtWarADZuhqWGXJ4z1L1ihjujwl/K/cSfyScoCzaio3KQdWbaf7jdRepQLeQa5H2B+eTNm
tvHcv+W0ZB/PyfEbO1uTZTsYJ8wTHeup6CAMOz+D0rECurvJ9D7sX45vHOlrN7BxMlGKWara/rKX
DfIrMidq63i6uooGoTr/xvAk+MlwSU/DhTV20WCVMhir7rvNUs2PDnZhVwsmSRjH4xd7sW6vm4qb
eTFyXt9hHL6OD9xSV1Mj5J9Gs0JE99629KTFvhyaHNXNAzi2p+PRzZ1d/XYqfjt33cbZ2V/31uPN
nElFjsk0BYfdhVH0lrpZV6VNHt+t57+97n8HqIGNtWnHDktPCd2unzYsH6tJphV1Uyv9MAH5en+S
71VH83w8CuvE8tvJtlUfvwp0i/xyCz223ndw9td5zFEsmnSE8C9/j7M4n01zPN9jcx4vWwtkWnnE
9pbWLujvf6OfLbxAOBEZW+HNb7aK/Y8ab3atk2A3hCd4KQ+RULeWu7w29nad6vbnWQhZdpUmYtC6
wuy++iGx5x3aLjkxOL9jhsMbarKUv4nt6fxhfVABftKOBPHcXA9sjGAjTStJtNIXFIDAywnF3keP
5XmZkzcVe6KwIZSNMMNFVtSwDxtPIfM6hSF8dhEd0/wUSrI/zBJ4v5zMaL/6fXO67EYHeh7HFzeT
/XeXockaSGUTd5j3AUB8hdOB8s5Z2UZjJHz6mOH58x4yxj0ugxd3Rg4InmcLfxs6Hg5OxFsw+mnY
fnm5nO5H1sOswgFqi9vUXvlASjHYqpeXUfanUYv30uIKpV9icnPN4Y+7CVb1z3r0Jim4wcZ1PXMj
kTRqO995f70qnCaZBtJvJjDo9f7CQ2ga4zO2bULjnQnz58bL1/Fa7aaF+DWwOlIwR5jeyfE0HY9f
C5EhGPL9TDyH+5sHZLAhfzC65cUi82DVg1XILV711JxALHSPYTF2kQbjUJ61Trdh7ffogHO+OLz1
2t9HDxba+E2I3uahpYpI3i3MmcPlgbtt45GFtXS3Gxtbsoz6ZufTX1jVgCaYIgWFFvVEYf22235r
eFxYSy3fbWkY+wXZRcg5nssNsd9X8URUXwy5v91sj4oHKRGxbjcjC9yNCxejqWGTL6MxJW4XmzV3
RssMVyMVWCLQSPGF4P79iH2qRw9ZxQ6th/id+I8UyhXEJ/5XblSPxVTM7dp/AVrTjqli5T6CEcAa
aH3DnNPWDdcIqsM+9YlHUxF04rWh9w6HwyT0b/vDjNZexu2dn9mh0QSubi6WCPfwdHqfDTYbcnl+
3jx9AKj07dWI3/ReEHJz3YCg57WvCmqsbuAv/lHPO/NsThwbsX69fVgd7MIO/r+x2UEoWu2nOXdT
4AYAFIiwHE6DNBFQoeFSxYzazzCJu+DTffvqrU/r21nZyN9vS1myE6QD+JFsx5aRLQwFWR6bR9uw
15+RpCXyfVwXdl8Hy6yzuZ6HoxDew+4meEBVLnYChtPSrRXNnTaaSFgplArjESwX79ldhm/cs0JT
hmXhEsJ74AsUNbWPejreBF93ngyK9e3+aC5wnC/QLmH+Rph3q/tY7vvY/fjt8BGjim7BC1fErtHw
nS7q8u2P4c6UjZnqNl6jjaBUsxPrPL2J19JFoVOfYjkZak/j7ds4HvMR2LrBtzvV1syUBVV4u+mh
5nvKxR/nUVnxYHa0wiyQMxDdPMUxPudl/Od9b/4kyPM1PIkCuVOkmSKArLM7z4XsonjApAQC+fAM
XSMUqqlCIzLn3+VPUhJGH05eCoKcX0PHyG65PAS//RjV86zEEZ7i16mjc9STozznUVw3pyW8I1xr
ET+M19czNrgqRQNH5YPnf3297I9fZHypRPFtFNScSGKObFnj4+yMG/GJUAjf4p6t8w3NE4/efHHL
ZVbRSHnMkQ6XWDXZQVcSGjAP+bq3rvZpx6at4fEneISdtBbYMueLIZcXKU8RlYZ7tK5C6hwZcWa1
DAJRzsCxS/jT8BdyNdbiQb0doC6vqrxaC0PRJTWmvL+KYrW+VxlY4/YQ3/bGxPHmV2DmVJHnwZZk
cnn5n7SxjQAWa8VOsTsr/u5PZ3Mth9mqYE1tPMPYnq5qlj7ZRAiODgBP4IfaUbOZvekygSlT+soD
+0TDQCG/fkp4hXO7mNrb3Thvz4fBeHHsMnWfzmtUwfWfDNYJdKl203Le4RJkjmopuSGt5H1ddsEm
lmFOsj4BDLi5GKP8frUZi05vAtm+30TTWtUxxKS82xsvmYZi059gV9eRX+SNWxTxtPwpD7Kkx4Qa
Z3U/TKnx1lK4bCyoPlys9cIuFfIToHbCid2vxns4wZ+Gv/NtjmTS02geMfjTMDO5946OW2fenBfm
l1FWTyhKiOYsurWAmb2S21xP98uWVwsoiGENo0ahdaJX5VfAFkQFf/XJBXa4tqAmUTyns6Z913ig
GrxGp4xul/txC1J1t7/ARVvM/m0QFF2BcHdgANWlJrVzSyc7XTLx+57GQ/1ubNqguJse2ebtjBI5
r3rVBuaEFnD6wIBWeAfn3XNmBy0Gy7wIgGQqqzBhkdjwlVdrFgHD2eh0eco+x2E4eO3l/FHAFQYe
bipRQBbgNO91GqlxPww27TlekF8nNtt8YHeySW0QDBxG/vtlBAr5dFe3kXDGvAOE/LvQGcMHOmAJ
9sOOSrk+gpnjngtSzd+G22X/zi6CvS8EXoGRE2yVa2YrTZyh6tb43b3HYeCdSt0Th+dsEAx7HTf+
ejMqA8crvEL2+BNkRYy3RZRhTcaLvW7UcNu3FQU6GIxYdWsO263xWL3JB/8an4nVcdWCzmMj3IGR
8GX6LzdOP4t2vsLST4XWmIu1hsP5dXCqIhcUKunM58WSjqrZZXABAIQASnqZSSyKGB9Wp00ogz1G
4MRiacBQz8a+PRuxJyT6K7XyyHm8CeW19/CXXngPdhUc0W2DTlvux/sNp43ENWWVqsiWXm7K9RCf
YpFOUWUWkx1VDN5W4KzSy+WN1TKJP1YswXmK4Z1n9IhQme+dvifwFW3049kH63A4jM86pPwbD25P
QFsUiRIdyrokssiT1A+/+On52chEY5dbjfVhExjM/7L7VFVkAdfkyhhpjpNw1mDNKhr37q0T6+Ys
C2BEl1EFY30uqFlu5b/hO6I8COiaq70Ztr2HIIW75HAXT6d3uaICAV8NSqi3ZR6b03Z7uF8h/Qok
NeQpsAsl6Wy1sBK7RlST5GEJcI3DAkDvw2XP5xsiFFlBGhC9k6fDnS9Z0XGoWPvQ4+PXGxvfquf3
krneirJ/tgfjQU7Z9GIWDwIkYZ5FG5BaqNFdcZR24Ufg0G4M3IFktDjL0bNR6pDzLFmGMMvckM8/
oRdwT4fT9svVm9E2pHwWYkBl1VOtOg77t70XDBsvQuctXk4n3iirybElDjozy53uN+Np3Da703Hk
DTuye8gsGgKuyq6Am2TUVC6D/XDD5oaVPo0obTVok3syT4PrlUN+HHGdWHCKIagy4O9pV0ePV6dA
M79MeGvAqStuc3wVYhmCIlAAzKmzSLS/eEfKTZW0KfFGJc0luDxpIigYO9bu6iDX/7J/MXLG/J5N
JXaxA/kKUC+zMqQlEVeAfJ2MU1uGSNNcX46LmtBL80ftoitVKMazu4O1OIUQfJbX1YiN7StPhrj/
fgUdE+KqiUzhF3BAXCYO/U2WDx0AcPrJjcjkrw2Xgus5PZs1GWFXJTWa8OmKkmh9PZLgM4GUiceG
eV9H5lT+/Zuo+1Kdpyp+KXLY2pRqZgVozj2Ca1JplXlNBqV4Coq963I1k/OPreLBgOUy98kbwbv7
xduA9rgyKl+G7ExYOaST2KrmFWTelJSukHhvN47nLAMiyna+tMrcYGZB1Kyq5d5jTgV/6FlqYpQ8
pxNWEXBBDRieHLGX48nmAng7Z/dxHN72Wxt9+p1PcwZ2beOmKm1Kzt5zEnzXMqS8zk1nfWNGo0h+
t0DBVOC/hnBwT5FiXko8J3+6jhom7O2mt+Hyz/toKHH/JjAs7k3XAGFX3yGveTLBzapn+Jc+7foo
aBkS2JNxU37lSe5hZ5t1M2G12FTyAcTt1S0FppZs92GVtChPzdg3orKLOozOfOHaGY9vT5DSxOWi
wPctZVo+IAIyuljHk2u6qWWyS/Zdzxeo0zSk81PZyVLqLpy1jucLNquEMs+qbdx2WeeW41ciGzhb
l8iv4CJH/OUUkRKc6svXYlOlb7+PDISsYsH2t9ibpkTdTOtQk2PZxtlU/HMV2HztedHAs23CHE52
+dgtbAGYY4UxgDrqtSFGjfJ/YS/nPduhAhUch4bfLiQyJ9stUCm6mPXKomG4aMfF6n3Y6ekQ4K+d
HX1t3eWXMUpYRzJ8uLLgYI16TOBUgDi649FLgMihYOflMpxf99spzv1iy2NAp/KHCekWtQ3HNgX+
oRn0wLC/hxQs237db8cNXCabvaLpenO3/vwU4VacW8guh7JDsFspZt7Mv+LNjGG7vb/dD4NjNql8
SIXaD9g7tHuN8lCv1lcxGn4RUhL8IDQODXHc7gNHVK5fQKqwSzQEVIPywZ5Ga10BVMIyG+r5rMBx
8dJ+qnz3L8J/Tw6s9qkWsofSxzPKvRh0N+nfzMOR/K+3sd/gEVU3EGW4CLq4SNRAPVGQNX/gx6ea
OzbKU4bUgaQtHT4DiL7zwE/VKFHHfaV0cPVTSNHVxwuJmbBYPHutRHgs+w4d1e2QugrZcCvIqds+
DpDx5Yu4STg2fI1qP56OIqDV9xQRwq73Byjqy+gusu90yo0+bMT3xaNGUaekwN8AMltxGsyqGppy
7oyA7Zr1+mhBapJWQsIcB0q9MJ/qSyeNNMeBVimKLmkt4wNiRnhPDWBOW9tyRJDVNcpPc8iZTor+
Fgpi/1gyJtpk1QVlEOjNJ6/N5OdrdJztkvEkFQYeAhbiNjozohCuhDVwCi1KXZt35J/p2/j0kpHS
CqMBwWtBa0WlCuaoknGndIyzeuOMXI1fIx7w6wXN8nQuZURlgDKFPIKGWg2/Hr9Ii+Vu0uzCUpq1
zNCit/tlKj67nQw3vkobJIxzz6hCUAy+REC//T/p7WZdLxxSU2ErtBzku11vw/G2AjdQuksx1xCk
twmkIHAlTldRkN8rrkmWoXixbXITRDCgsN+OwoUjjdyHeiEI1RjzauOr/HG/SFe0E6rNZsNQxmgj
xeXc5kneeWM1E1hSyAIKoZxZnIe7zJgNiS3m/eulWoAcrMyZiggNmoZNfUcLIjifitzKqozqv17M
mtcVy5S4p38zg1+G62yi2vMzeKaGju/DmivvqAk2810N95vPD3YliMdTPjzYxZygg9/uaYx1RcuQ
kJmMtgsBteyJysRyqzywj1q3udZcR0hQeM/kZJUhGdsjER3uUjLfFKSZ83N/kW2NelnNX0+6MFw1
T5IdBT37jJX8eydjfpvwOhMdQi9vdDCfac7fTjTYYO4vDq8lSj3YD+E5Jhz/KP0h4xFl0L6e7ocd
mIt2gYuNyU1FRoYkJojE/ZalDKD86U9YfZfuyv478aVUQc5EQxcbFOoKYDoa1lYDPpbeFmTAhqXm
dkBSxkVfLTMLVmotOKMm3PZ5S24DHw+/oIqQP99EZ64N3yxVgkCdLTXEA3cw9DP8smJAITe7n3v1
705AVL5W736DNJe06nWpS/n9Ys8L/tJFWsJom3GdltBUlkZydfwTIMhbz43hUx26RlyVojJOlHro
X84v2Cwi0sGnmOpgfDGIT5j6Pdt7BnX3QB3aZ8tl2P3XsJ2TE6/55eq4c7hbDlfqZZJaUb+aJmmd
O4Pqx3wFfNFE+/CklKzj5L2MjukQ0ptLJfTiULCpy5uxO2bNIRZoF9Tupi5I69oX6xCKmpt2e7Mz
LVSbFpZr4Moqrsad6r1Pkby2KmMqtNtU/GIoOxkNmU0ewKYVnJ4hA2kS4lNrQrmivIhLPhKfYU7i
zRArSrSHjuxl0+V2Kbn9OkCZU26oeujU/Kp9lNRYRs0L812zULngrOnI5ORoa3uXGsZvKq7qV5ol
4oledhLBqI5qmk5Q3/cycZAIMJGzE6PyLsUHEpjESyjJ1gbzywSslz93RXXoZCXeRNtG3F+F6q4C
VT1i6zJ9msHHN86CXFBxv4t6buozbqAJGCRMT5BRXkOgDOyicMGHuEtcWCtfNIJKF2D8exknDPt4
6wO7Q0UVcIdFS98dX+apeiwCurhk4XLbGyUhBKd1yNByJAGyfYX0XEMVZYG31uc4AIw5mfwVJeUX
D8nflaIEG1mSwe8hkEANY4BcJbP5I3sLH34ZP1yJ2wNUUNZpBZZCPe+qXZ6MCqpAnRBm19t++0Uo
KCOFIsEoWRVQRNUGFZks7CV+XsnpuL9Mw4oXSd7XVKlA4NwHeBYX78OeGtEO4hfSsfHaJQ0nfCp/
5DEjK5C/r6Spc437mCWdKy4j6LM53oJ6eTqLHKYQsqX4RRpTr3wbrZeXuF8om3aB+7Jba978tc/3
Btg87dkldaiOwn263ePAn//2apzF69l4GkbT7SC4NXUpYgNlKk6T8qVhJ1vJ70sYXQ/mlRNgyrmn
LhpIXsw7fbZ7w9GEo6HtFRnJbYNRnm4SA1MLprVpwAhZRKFRX6CTv6yuiLCKBtPEVPFdyHFh5M0q
lGVJXM2zEB9t67SrTMOtwy4Rp+i3uLkZlNysuY8yynevxHde88rJ3PmeeGcxboywjw6rC/z9yofq
SOztMp4P5mg+a3PNFfVxNmjHHQmkqpV/7EoVMRE5WWhFKn2X5A5WRD+V/LHaZLKtM1jehuuXR+5G
xYP7SvFuOI1Tzk2r5yBxixVD0h99jnNfk0wonALFRuTxnKMawtNT1eIkg10nfRvgATwdJerxfQt1
PEGwSaqz3EaTBFGhF3g55SIsYNXnZ2ME2h5pq7bVL4Hdy/h8MPRlA6R7IRVJoVqnuTw27lkq7r5q
qKKRNCMut4eWikyh7kaZz5Oxpypq1+wOgxbbHoa3s7RcRQS10BsPO5swDSEhUS4plNENwwirtKXU
76fTm7SRhNraFdTGbyZoEWilipPAbU8A8YZRVrSCQjaf4h/fcfZiFcU9sxJCIFtuO2WciIwnY+RL
JRUq0tTFXIhs7Dw7RHR/nElfZltFxebcReyzCQ6o9gXNU/ShQejeMwu5caow4RfrUgkSAn0g4J9c
R73ZPRDtQhWaQEQz7RC0k8jjF0Bax9117m3pmmk4uWoZ5coPEUBJT2XwO6+vKGoWQFIbxrWNvp7u
txsv++uKzrOFrCFnfkP+0NoUNVWXhIh2a3gxK6UOobo6mPago8/5PprwbR0b/T361qhfvmq/nBoB
L0YYTx8fDb95zGAPxdsjX9esUJlpF/pST0l6kz8t5bw0cXJ71KlqarqV9dXKLuoH3ZWRogDBATY+
65ihDGxbS+T93cnxdnnQ96u1gnf77SC4Tg1ZGI2BPPkw5TyAdHYw9OTDWyzgtjHP4Qb8IIdZlGtt
gdQNdLhzK054kMv+YXeDU5LRuLMpfdHC0C6umU2Wa5DvZl3h0tte7sO0OzxAznKia5PUziXPlrNe
UV2QgkvqfO8/6I+14jyoRAS36rbHuEPMF9rp+uJRmE/FLoVLzqYATLCA5+HQc8+BuKIm0+5Fl3SG
5xwmul3ub2dUWOx2zi6H5l0Gj0isVpiTd3YZKFuFWQ02R8butvWd1O3ZnQo8EvGa4/KnWWmBMn4d
wNlEOV2o/GTumgmaC4SIw9GyIqkOAFQ/W4vWvbqi9v/2n9koN/LQfJFGh+EK8duuiO2Idv75FTZM
2VI9M6LZClMRgFTZUoa52860q0I5RjK2J3sVsSMQpeLDocCnF5uzoTa+KAkkUjTyFopIaXqa9P5y
DlAr21ime5Mfg3RuJX6Bji6qCC+xrHGVrqNJDM0+EMjpeU4rlTMjUZ/lPpTJujFkK+gb6znQMk0n
EJplenk5lGfu3D2Jbr3YMLZSxtQqsQJsUcYmsSq/BmJlXF03x2ZAMPAXXVPF2MbENC6BhZwRO65q
pNHiq2p9i0ehUdcD47RVibtqlSoqpXiKhGfQW5Ijo8J0IeuT9WCtVRxMOVespfClsWv5EEw8DUFA
dMVGpy3VOopa5XU/XoaL8ZtsGXM2Xh+PMEAN6dJl+fPVONgprCB3Y+ypNqnUMuBJ8DGgxYxaP+AL
hODNXIvH4SbrH/8HtnFfR01omDvduu/Zj/s4RtmhdLLrYpq0EIRVYcBX4WVs2VV4xuOjjo3GJbNN
mCpztl29L7517tTX1/27yA7yDRT5TOkmNWHbqFUwsaS3jrzoHAfeSUVts/xM+Xrl4vySWGfAiJw+
syS/FDavmmBeSbd5krsuKdQTRIF6a7IntqihVJKpShyiAX9Q5dYUASrU2UOBB+Rn/gnr2Yxbfj1s
SQCinichsSWKQo2QQscLhF3PPaOXa4YB4iL8osKU43g0u8dvHZSbW6ILvG4vsi0wp+c/b+OZBV6g
hu9WdMVSYQZrgSOa/hgrjoAG1OM+bvMeEISj2EWK6Crn9P95EQAYBCnXosETVQDq0QJCua0K43n9
CPUJK1z4GIh+2LPU8TSAmn5THAtl76VVkZ/szTbbF+TwsVksyW6paajerw6hRzsCP5u1kFWYyF7g
ogjxZOzBqsjIE+9IrDxtgyeOmpB6F0J6P/aMmpqUstwaVKYIYkiFgeGFt+cKgTVYaiqJi/I+Iybv
NYzedJTAWh5tQtPYdXqKwnE1xEoJ2jURPTULpl0lvgJRzsU/yzPl+L+IGS2enuSzibLHwagQalAX
4MT1uiUwvvVdtI5NZV85sWKdKpaL0djHuf57jrfkun6ocNe1tX5qVaDSL5EZShXtpIziUtAJxytk
YyWDaStk0iqUqlhESUsT7PD0IffiVCgTPI5F+QXwxvg9FLHWcAKx2q2RgHN6ewTvif09FEqnnKId
PU4Am0yY13H/8npzBYoWN+X3EKs9r7zVygM0gjiRnVKFKkGKqIhwahuVq4tQKGO2iKJQPqA3HMXO
IAolnBeuJ8DkSM4dkSa/DeUG80031Owke1U0tUu+2tGsE7Dg4YpP/t/9/XTYb91/OR/uL7Z09/Zx
tvm1B+MoXje2WeT9ady4/7jxmUcSStli6xwS4ksf1DjYGXIgyXbDbdjcLwf3K45bXKDhetnCyBT3
536w//knasefYL7PJ/MnP59+sY7xD8ePv19Ot5PxtTfj0Xab2Qk7LOnGHvEV+J7P33MFSlEJds5l
dlPdbaZEcgP7t5f5/PzSqNQ5Smwk9/7P+377xbY4JHYPG7Gk9Wb/u/1MuLC4ZrB59Dj/Z58TtxzC
TbkCwVH7+/+U4HAzVdRt6/kEtZAwKNgnPA58OWOLuyAgX4fkXOnphY228fTaPh2wRbGuSybOky5K
MasKaOGlv4ftHiFcnE4TUll8Czy74+NpSjX97itLupNX0k98lzxtqPaIRlHvzzeBvN1/X/EqFZVi
FnjH7Pzp/0/eQfXKCpAC3zMbiR+KKFdKUxxGAMm6oHjqcldTPEqTs/Bh5eFDO8LdNjk6vo7mmmaa
f3+V1uqoXOCHxb7wA0UcXiw4rQ2/QhGCQMOKjh49IqKF1TXTqMtdBzymQANxEtNU5kw/0fh1EOQz
SniFnuNl3XDc9D2XWNB67iFi/T/LrLjHrEVGKlsTADbt3a5g0RA7AtDOEHEDz6zjIDxN3NnVn9f2
igQ/P1p0uN0u+6f7TdAGRUW11XN692bcBuFLlKajAcHSybc2mCBNXmhx8xTIzfQl/8+juWT44HUc
bP67y9a8b71jvD0MV7ZAserQrLvQ+QKmqvjk9T8NfNjIfN5QITHY08azAD961K2ApnQBCupT17a+
o9C3V0uTsKK3cp74xVDHALszX9hLXMzeGDqXy/Ah7KsipvC5g42Xiw3Ijdfr8DJKd4sCfc3cPoLY
zdSM5SispePqSnzRlmGNs7kfDvvfxRpLs0wokLRgqB3k/L//9/8LUEsDBAoAAAAAABMHP0oAAAAA
AAAAAAAAAAAEABwAc3ZnL1VUCQADRlGQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMECgAAAAAABAc/
SgAAAAAAAAAAAAAAAA0AHABzdmcvYXMtaW1hZ2UvVVQJAAMnUZBYh1eQWHV4CwABBPUBAAAEFAAA
AFBLAwQUAAIACACICj9K2wjTQjsAAAA/AAAAPwAcAHN2Zy9hcy1pbWFnZS9zdmctaW1hZ2Utd2l0
aC1kYXRhLXVyaS1pbWFnZXMtZGlzYWJsZWQtc3RkZXJyLnR4dFVUCQADz1aQWCdRkFh1eAsAAQT1
AQAABBQAAABzLClJzS0oUSjJV0jNKyxNLU1VSFQozy/KVsgESiiUZ2TmpCpAxDOLFZJSM/PSFQqK
8pNTi4tTU/S4AFBLAwQKAAAAAAAQBz9KAAAAAAAAAAAAAAAACgAcAHN2Zy9oaXhpZS9VVAkAAz9R
kFiHV5BYdXgLAAEE9QEAAAQUAAAAUEsDBAoAAAAAABAHP0oAAAAAAAAAAAAAAAASABwAc3ZnL2hp
eGllL2Nhc2NhZGUvVVQJAAM/UZBYh1eQWHV4CwABBPUBAAAEFAAAAFBLAwQUAAIACACQCj9KJoEW
XPIAAAAdAgAAJwAcAHN2Zy9oaXhpZS9jYXNjYWRlLzAwMS1icm9rZW4tc3RkZXJyLnR4dFVUCQAD
31aQWD9RkFh1eAsAAQT1AQAABBQAAADNkU1LxDAQQO/+ijm6l2a3HnS97QdedsFCQQXxkDZTOm6S
CZm0df+9ESoIrnev897APIab9/a1LNd3N2/3sLNaBKrjdiBrnjAKsQcSIBcsOvQJDZCHhlMPahOC
pVan7Ih6adlgoUNQO86aT6L2OKLlgFFVVqeOoxNFVc8ea3JDHnEswkx+yPX+8NsTc1L1WRI6daQm
6nhWVaRRJ3yI2uHE8SRqI4JJZl5jHKlFKbpv4TKH6+XHqtS5f71aLkB78w/L8k7iv8Mu4bnrVpsy
dxXw6BG4g9QjpIlhImuhQRgETQHPPbU95Lu+nj14gx35PL/6BFBLAwQKAAAAAAATBz9KAAAAAAAA
AAAAAAAACQAcAHN2Zy90ZXh0L1VUCQADRlGQWIdXkFh1eAsAAQT1AQAABBQAAABQSwMEFAACAAgA
Ewc/SqNPHUfyAAAAHQIAADMAHABzdmcvdGV4dC9mb3JlaWduT2JqZWN0LXRleHQtY2xpcHBpbmct
YnVnLXN0ZGVyci50eHRVVAkAA0ZRkFhGUZBYdXgLAAEE9QEAAAQUAAAAzZHBSsQwEEDvfsUc9dJs
Fxart3UXLy5YKKggHtJmSsdNMiGTtu7fG6GC4Hr3Ou8NzGO4fe9ey+v1pny7hZ3VIlAf7kay5gmj
EHsgAXLBokOf0AB5aDkNoLYhWOp0yo6ol44NFjoEteOs+SRqjxNaDhhVbXXqOTpRVA/ssSE35hHH
Iizkh9zsH357Yo6qOUlCpw7URh1Pqo406YT3UTucOR5FbUUwycIbjBN1KEX/LZzncLn6KEujN3hT
rq5Ae/MPy/JO4r/DzuGlq6qqde4q4NEjcA9pQEgzw0zWQoswCpoCngfqBsh3fT179AZ78nl+8QlQ
SwMECgAAAAAAGgc/SgAAAAAAAAAAAAAAAAsAHAB3ZWJhcmNoaXZlL1VUCQADU1GQWIdXkFh1eAsA
AQT1AQAABBQAAABQSwMEFAACAAgAmwo/StsI00I7AAAAPwAAADoAHAB3ZWJhcmNoaXZlL3Rlc3Qt
bGluay1yZWwtc3VicmVzb3VyY2UtYmVmb3JlbG9hZC1zdGRlcnIudHh0VVQJAAP2VpBYU1GQWHV4
CwABBPUBAAAEFAAAAHMsKUnNLShRKMlXSM0rLE0tTVVIVCjPL8pWyARKKJRnZOakKkDEM4sVklIz
89IVCoryk1OLi1NT9LgAUEsDBBQAAgAIAJcKP0rXeRR9UfsBABK9PgAZABwAd3B0d2tfcHJvY2Vz
c19sb2cub3V0LnR4dFVUCQAD7VaQWDlNkFh1eAsAAQT1AQAABBQAAADs/WuT3DaWN4i/fz6FXqy9
PbMNiSDBW8df2+GW7ae941tY7u2J2PmvAiTBKlpZyWySKakmng+/YGZdsvJGkMTlkERMjy1LKp4f
zv0cHADffve3f/zPv3xmCdqsaJOX1R1qWN3Uf/mfZbG+edWUr7Y1e7Upq+aV78WR9z++7fcD5PIP
rMvmm7xh1dufaPXqlfvKif7ixX9x3Veug8NX//On3//H//jh5+9/Ofej/6hbWuxLUTftL27LunmV
sqq58ANoRbfr9JZVf7ltms2fd+j+EkWOw39ZZH9xceD7PX8UP/9o0Pmjn+v64Sd3LHn+USLwow8/
SWLnkKgnhPfxh2NCvOefDfc/e1dmHzb3/At1mX5kzeu6oeuMrso1e/1Plrzf/eZ7Vn3i33pXMdqw
V/u/+Kpc/+XVnzzOPI7nf//fH///32R81R390b8V6+wiwou6+Fu55Ug2tOH6yH/2/33zp9f//m//
2wji4xfy/mOxeZXcv8ppsdpW7C+vWFWV1Z9IxD/3TZZVrK5f0RVnYXb/qli3VjeAyI/cgthaDr/+
6/XmfgDPxHSrJxJaFzXH0lfefams7//r9eey+siq/3r9R93/AzuGDSF629ytBvzonitK7LQnlEeu
DVmIXkHVLRNaUUGW7l9//f/VG5b+n//P//vm//9//NubpixX9WgfJsHFG3eIGvzGCGUeIydprnu4
go8xq//60CZs9Qh7lmolfWVWbddrVr3ZbjLuGv/rwx1dFzn/+33ZOAyCDKV7WEBf0kPFNkjJpLJa
gfSH/bAulitQ1BfrvlScvW9otS/LeAXyaif4irupV6sypau2VNvVT+N+3Bnx420xdKWM/e73V29+
WGfsC8u+/dsbmvD6CRVr/r+iKegKbTc3Fc3YmrGMZTvju/yt78stD3+33IWvOIjvixX7+/7Xl3/E
dZxX/SG8+tPPPET82yunY108RpbbKmX1m/Y3b2m15kGzYm2NyP33kB/u/rHnhdTbTSelASzT8yNn
BPO8nld/arXtL2/evFTSfkK8Kr4n8tdFaBqIFghHYkhXZc3az+k3zSukR5mkbKsaZfzwTXK4Kl4R
oJgVDPMGo8mO9QJDARzr/7aqywqVPMauSprV7QeU29wZmqLGpjwWjTFp2PY5VuPPSE11nJFMs495
9aV8xNlbXtuXVcG/riWMHZFTF7qkWpQa05Cgd0fs1KNyfYgeib/Ikg9JsabV/YeP7P5DWq653tZF
udbhzq8SV5xETcTjDtfEq8zVo5fDIZxRFP639m2vWpdqvqQIKqnXo4XG/O+wPONUZqqzDKkUexpW
D7qnur3/SQ3yO6SlYV0PyRfNPtF1yhD3OE2x3jJE6/t1qslvdGKYT44F1nPJse1OSWqzdklIBvvV
cfQ7baRYf6KrIjNjoAfEgfbSNUb7fsasUMUPpHJVHlCcgyhe6bYoSrjLDowY37yMbqLhcIydasqy
hxKVZGTDjesxUuq1rkOq1rymaF6HEtRnX/2pjjUwYYqduv5rVdzR6v4/2D1iX1K2aYpyjcoq46Wn
Edu7jkeLVcraKJ7jFvEoq7wuW72WIwOLTN8xAs9Fm8qKiqW7DxXtn6KP7L6i6xvNUfUaChtlp9XT
uSZL3V2d8VjG+pLBCERtxaih2ng71Xh7RpBGDEJvJO1LXMAOyuQP/qt2SoAZD56XsFgTnbaJXpKr
CcMZh0We9xiEo58NATBja71TToCPBGnQRMwm332AdNuHIbOcw6TSYubzzglPs/kZNbnhZsZjqV4D
eyCo5rDBfGcKjAwBvhSZvvRzPMFB5iRC9qJeb/bdWu329JKuPTA3rYj1Unp6QtYQmvKMrAf1izpf
sW3NNA+5PdO0NjYtG3uWnG5d70t5rGUL0ruo4/t167WrZ5q28THFtuWz/PTlh31pjrUrQXqXdPzD
w/Dbh90uhKvVvs7QtnY2QTs7I0ctuj+YrgQ770tbzAY8g/bnAT6PO8t7hqRroWcgjxyMQKrte5Ls
zzdofz7gCbPl2N94G/ANxiHfkP35kuwvMGh/gc0/Z2F/gUH7CwzZXyDJ/kKD9hfCPDU/u5anOu0P
DWl/aDzvDSXZX2TQ/iKbf84i/kUG419kyANEkuwvNmh/sR09mdToyRnpGY1BsUG7jyXZn0Hzs9Y3
YeszqPrG7X686R3MRBvaADxGYC9Pm2YZeCxHU4YxDIcsl9SLeh/b8Ixbpwc0TOq7yX3yReKxNI3Z
hmcmavdC0Mc2iHHrJHYEdBaxkxi1SwIkchOp1ukbt07fROxcsnUqsA3feMzygVinL9U6jRunPVI7
i8hpNHACsczhhvl4u5uRYfAzxG2hOZ1geUZ8um1BLgTFxAXtwDNphJ4dCZiyEXrmjdAzaYSeLCMk
Jo3QNnUmmJqeEaGetHQwYVUegMgyQt+kEfr2cNSUI6FvMgz55o3Ql2WEgUkjDKwRTnXz8YwgTZlj
YCoYB7KMMDRphL2OafyTJT98+2P7WnbF1g2qGF3dKXzw+iI5mz5POX0OzQfQ0JTTEDxZMsvx0pFS
vegN1ESeYeQO/RZL72idVsWmQQkXfrG+eXNLa1Ss6+bxfbLV6OAh/4iRBI8tsnIBH94jjEWLfwlU
jnWJSE6pvY0GYAM/2MAfmYq6kfmMQ/BI22UrKNYNq3Kasoc7z9Xn3aIggJbwwM2lJ5NVaq9MKILx
2mTJO6DiPcMaVj8/lVe/+faXn757ejiPk2ujVVMbsVFhYNZuVZiMMPt1p1FygE1EI5ZxTuvUr5lN
ckzld2Nzqy7TqLZpU1YgvfkBNOvP9TrMA9abyc5kARTJmz7RVZEZy9qeqMvO2w74ZLKuEgJlt0on
Oa/wpLtGdkhlUB+bGYhhMKa7I8xyWR2+kf4LQpAcBW2UophAPhb157L6yPrlvf/c/UitJSgewAN1
w4gJAzvgxchcT/z6GNvmkSAQsRR46I064xegyjZkIDNtR3P3Jn/USjUMoGqZ5qY9iwyss2r6CqyR
QKTVsf0vwRI1mOdfAmi9HIGxLVWVgeeI2RDqwz6QdnD+86cf/84p/sb+teW/+eZ7/sff0oYiutmw
daZQowUI9z9vf93wTR1eHnphnZ3zOzUEAbVR06ccS/jXX96fav0ziO1mVdLs9eZelNm/3je35fr9
zhkIMV0UwCgGYGK7+9PNED0oGaJnNkMUPKl/ZBEv/xN9LprbdxXLGP8+XdWv6fq+Vzj9Zn3/d/7X
B0dUQTjz6DwOW7viENwf1NzCsww5jNBv/foi6mGI+VS010UeF9OGjK3oPc8a/npXv8WOo+E7I9Kg
ET9q5waB5y7EbMpAoKROMi44MXdP7UUI9i2UCQ4PmbupVgUEaSbqyzXRwLyJBvaVlHlE0QCKjQRm
w3kg10TNW6i9tW8eBgrFPs2a53Dr5HUma8zcKH1C2r7uPsW7w07EqC+rHUh6rAX2Iyuk/5450/Os
6c3B9DxzpueZMT1PjukRc6ZHdJienq7p0p7rOxGjfv0n5iyeyDE935zp2de+JtZEPRGeGc030jTt
B0BI/81Znr0lenqdl2P5mTQAM8FWnKrwlj6AmREQ4Lq8hvgBRkVua+hhvX680nE4dzAie3BC1wxY
73OmakcDe52fHPRpyfIlDnk1BowBttn3EcGUF6aPB8qHoQFAj/jpmQ7gni0/Jlt+mDkQMYq4Ss/g
yTRMYtow7TuKk4+YxHSoIjAMk8g0TN+0YfrzeeobdParRTV9k3HTN+0ffJmGadoubSI7h0QWRsQy
6RWG22TRsIo2xfpGrym+IGvP4UwnY30hON1GJ4u4MrLd+m5kSvgcdRv2pjgydU6SeoLOcMpSTXD0
xPDRl4wa4rwubproCTcZdmjUGIz5ABlGaG4w4TIGa5LTNklzO39jMcgzUDmbj2e/B8BMrZXOykoB
GKlhGx1uottNRg0dPj0hDWrr0fTehprtF6mWcCJA3Q2dgQDGmmA/skL675kzPc/u+k9vF+NEgPo1
3zNt8Z4c0yPmTM8O3Ew2ET0Ro34D1Dzr04+0kP775kzPt6Y37ajnmzE633TU8+WYXmDO9ALA+4f2
flsBFQxM20BgxvYDOaYXmjO90JretE0vNG16oRnTC+WYXmTO9CJwt53M/M1CmeoXmSu1ItMWH8kx
PXOWZ68Zmq7hmbM702Y32urMjcZcAAD1lr0ZbSeq00lzQzGjAEjyRXLGYU4/5pk2TKg3z872kgyV
humZtAvPtFfwZBomMW2YBPCMmj1k0VM1iWnbICY9A5FpmL5pw5zRWfxlXCt1QYSGajtzZ/GHAOhh
F4FpwwzsWeCpG2YAwzAD04YZyDTM0LRhhva88GQ3HY/FaN44Q5OpbCjTMCPThhnZZ4emHjEjGEYZ
mY6YkUzDjE0bZgzz7drZzbMqVsoYhnHGJiNmLNMwTdul7cnOpydr0ihMR8sBNsk/QRNasw/pqqy1
DRScoWoLyYmExTOy0xYLB9MebOt9KXbpuhEDs/Y1WfsyaF7arWuUcVWMB8NfdrHwvc7ZuA4E9iji
BNowHTLUkNKpQzDUA/TH0cc2POPW6dmib3JFX4c0jdqppzVc9qfexzaIceskMDuls8tyVVsFARK9
iFHrJFKt0zdunb6dLp9R7PSN2oZvPHL7Uq0zMG6ddmBu+nVnYNwqAiCRO5BqnaFx6wxtV2hGsTM0
GjtD414ilGqdEdrQit6xhlW1cUM9BmNtdvLV6LFIAYS3YZAU+JJeQPrYUYyK9Se6KjJAtn0Bk90j
nbyJX5AsAEsfhUyBwQ/B08fGsIOw4zhsnZm39yMs1s5nkn4fydVoKjwIiwK77oOjpw2xu01zv+bO
AoJBvwBjD25Put11LE4A4VoiJM1getkRNm/KeA5vBC3mVEyXIM3FPQzFc2CpJor2v7P724Ai8GVY
9uTpTLLryyI2ZuRjISlyfQNh9bE34wZvr5ifRZQGEiSNepExhpmxFTN70OA8AnsT9pQq4PMy1G+X
0nHoQNDHNjzj1unZO7KnmxOfl6ZR+9B60GAA9T62QdC6bD5UbFuzzLihHoMRtdl0WzflHeKfu2Pr
pn7zbvff3+3/8zd2U9RNdd9+cKVmeeL07VDopHOEYwUFkC70gjTfZFK1z5co+StgxB2JSs2ThOKs
a/y2TLftrx76NQ8f1eibrwDo75yvqozxcAr9fO2xaJ4/c/Qn6JatNqyaZjwiDnk1dLmiFnpFqXU6
CjUwNACwORfcnAtInmW86hRL7o4t4u+///TjgxmgtFzzyL1N+dc0BtxrCOazm6EzZe3DYZ3ufzCO
K0lNU9F1TdOmKNfa2/zHtIe2I2hWbhqWIc68VULTjxqN7yzpme0h9s2r6jnZ/lkBixn9EL5pgCXH
F/UHYK8ZAtj9P3bBOjOwYbTHZ8C96IqFL89g6PTsZQhTq8GOpWfI6jwzpV8vBB2RdDeJhtrYg7KH
3oTG7K8bh+Jw2sngjnvOIHBXqXMUvWUNroit7lvGWMaYLz7sOL7KRIAYKgCI/gREXT7XvRjr5yxj
bLp82YJ8g3W8P6oF3jRVkWwbhlIO78ZQM/w6iDmNSkw9jCvtTV9XAz2TCupA9G+Vj4ACOvVc3tji
sbs2kLH6xpt2/rCcOS3Xa5YeRu1aY2y6RB3qsRXjAWmgG5HsOy+JzUCVMz4wDlqMtIg4iLpY6mow
a7aXnU08jhoKo8ajqN35kuqWctqOwt1/SO82uubYjkkOrd2tTC1vLG8sb1Txxl4oZ3Dm5zhIaBj1
kUiyX5rTi/D5Kv3Ff6OK7XMl9K8t2zKd3YJOHIPOMh4wyNOfpHgaaiW5bQv7BsT1kNCppeYH1WVh
lNROGofGnpUSDgCeqcgz5PqWgx8fMjCZFbWW5raKoDB6QPLK4m2smU+suSJm80FmNDg50WUojPnu
2EoPK8RUWCHjwor+bN92JKWZpr1QFEYDRX//xJS3sZtDEszWsseyx7JHeUw88Fz7O3W+fdjt1r0P
e4b68ATooTHUFHfF+kareE8pAx2cnsTJIxH+6pm/6k3ZvrUMqfg84120Z4aDMYzOvvtSPuvbtpub
imZ6/elLmrYjuYwjKC+lrse/S6PZO6b1oCyaPXlGczfPNq/GyNdyxHLEXsQ2ibsQrvg/I5mdp7nH
2pe6aAQhRuMXGRO/TmZU9u8BvMlYXqyNDsGdArHXzs3A2xBj3oYY9TbEPueibK7u1FVoOuQ4Eoio
hzcaXuw7tZPvHwJoHxrz+iOSvHLD1rq3lZ5o2lffJzQu8iQ17VYmg7Iamtd13DNgV561q8kWEU/y
0xREetKTZlfeSLsiBuyKQH+azrYCr+oc0WxXxIBdkZF25RuwK9/Gq0nbla/ZrnwDduWPtKvAgF0F
GloadiRKtnYHBrQ7MFbTBSPtKjRgV6G1qwm2Cp8kpzFShcbsKhxpV5EBu4rsm1uTzgMjzdYVGYiU
0Ui7ig3YVTyvrS0QkSQ25tnjkRqIHQMquCdqt1cn69v3AtTsbPsQlRJRBAh26Dk2YVwYXEFi3z0Q
VDhsLI70IS3HuPBY4zIxpIBdW+1PO3K5uvXcxJwCHjuoYMC07LbPBNvTBnTbWIgcYFJF+x/obrtq
CrZuqntEq4ref2T3G9rcarKxTgy2DptIqtgpSW1mIQnJYBc0jr6AjSTFjSnzfCBtQ+GkcsxLYtRt
CL3IyvVGIqS79d+Q2VmTm3AgNBr7DFj5YDOr2JreMUSTlri6U64ilAfv7KJNVd4VNavtFu/4mu+Q
mT1U8USamq1PJn2VlDusgVVVWdVGDPGA9KRm2MWsf0Ep56k8ddtCb9KSvZAo/esWYcIKddyXZiJ+
LiL9PBChkehnzOAGW9qHlEuscXVWeAck53PD6yLGTY7Fpyuq9SY5rqoTJXdVvz39JuXZnYOpRawD
wekNWL0JyzApb5xJEf0mZQ8UTzpKEf1Riug1KTLOpPRbFOAYZQ2qU930Krd+6x1sTTdMcxH1SFD3
aSx7eniwTj+KTHOmJ4GsAoJX9NrTbUieHSCeXOH0KDYt0agfMZmW640xJKLbkIg1pCkaEjGj20Sn
/ZJhb/e0ffW0XNdNtW2njt+s2eeGVvx7Gi8kv44BcjEl92GguRZb/eRt/tlxGfjGXng9AsOV+OXr
Dpi+bdlPMWD6OiOXbyY6+2Myz47L1M66qA2talY9/As9GXeNji63L9ZPTwWhz1XRKBgTkW/ooje9
XXTg47hj7xaREXTGyUDn03gKkdpuIrTO/KN70dngC3RGwGBY7SZqBPX9Or2tynW5rVf3Guu64fjs
y9g63fkp/yG68p4ox2hkDc9I6oEHWA7dTKi7+gvttW+abbmGar71mPdL7d1QBnoAoc4MKDTTAwhl
JF45Xa3qhKYfUVOi7frjuvy8fvy7xgJJJyibYsl3y51MN+eYx0G7EuMj3UlFNOYR3pdMqRmPU7Rp
qiLZ8h9CHBlKb4tVVu1v3jFiuZ2gbEIl33I7mW7OcsdBs5MIoJKqSGdSFZlJqiIZSdW25qr+VE2w
zHhCdRWQdcnyXfJVhptzx8NhXclpdOdQ8lKoHTsen+NGZY54Xsl/+3HTxay5duCy556muRmkey9I
Z8wWi50LLMpluO0Of6Bnsksyro5pOHa3ae5R+xUTPrkbByyu0bQpeGh/8w0vt7Sy6YTwuJ2eb1Yr
rXfLHNKc1rzuI+OfP/v0e3b8F0BNcMY0dOb+g8mrnE+WCOq6+qsCpPnaGo3ls+TM89Gn6m/iCFHu
UKp379+/b+5X7FuWrmhF2980ElQv4RhaAY9z8zMIfrOMVHo89iVd1FN7yMKhPpAo4NOI4D8IzfVc
+T/YfW0iR3+iO9z7PXGl3YX6ucyYGa/+gvrMzhgpCDkLcP8q/OQLLTPkfQZg0BTNpCCTHjvEUdld
OfF64ClyGKlGxKh3aNi3v/z0vqmK9c1PdGMkaJ0AGB+FB3WuBqq8rkpoyhMjMOLWiaJBcc7SgKmI
ZwPByQ74/WB0u5zfy49s/WNRN6Z83ksA4/Y2eCDQfhPdI03FVYYOJ2+vNoHprV+aCCBvPQSYAoco
hz+KgkYPcLona+1bwherikevrr+ekUBZDc2uUG5ihOQs8dE5hGcgh/Cml0NMMQ2YzKavoK5f1RX4
W17f9p+x05DYSBr8G5PU9JtWszkDrCnkR3+uazK4Hz1pOcOoC3r5zxMDcZaYuDgeTM9Sn/Wqsiui
2a6IAbsiY3Px77QfiDtPG9IOBrwn85Z2Q7CelPI7OUcBTdIekTj2R6A+n/5OwilI7hV9A9mCP+Y0
5AkH3pXrhv/ru6xoaLJiJt3zOShazjzCGZi1M68mPNM5xYPUsR8NU3o0kckxRa69N8QOeH///acf
v1mnt2VlMpM9j0Jdj1ZeHmm3hqe3z3te26AYulx0Khz3GISyY90ALPYyJlAzrY+5v8ZOk29sv9kf
229q9d10pP5O351Lc9tHtR6hh1+HGp0hx2UYEVlSHyow0IcK5PShWi78sml/bdpbn6KYx57cNG5R
kpKvBMbylcDAnlww4vYtO909+/sAVET0Ux+puwMpHcXICD4Ui75MpyfC61E/NJBphLIzjfpduVqx
1NgNL5eRQL6NzN7xeTUahwYygFBzPyjUcN/ncjoZdnamVwQ79pWmY/4wPDrzNIkc04nkejYQGchA
IokZyLbZbBvjvY4TFLp7HUveD5ISiyMD+UZkrL8SKe112IRl0XNg5z2ikWg5EIWmrEIaOmWZYj+E
16O+gURDXp7xnrX5luk84xSF4g6HnTtREfc1txmMZRlDh04MzItPfDLTtjeuOUkTqYdUFCOTsaFY
9KRBPdFdivi7f/5M71itNdF4SVZOsvF7O2JvOtc4AWEfTJvgZspL9dSSdAwhKSG16kHW9jZsb2NE
OD3xjCbyi4Eg9IR0aeBU5Yj9AF6K/eWGrd9tq7qs9N5JekTX9gAms9dwJDltwVEe3SFJSB/qopnp
b+VnEBnyEY4RNxM+c8kz5E3M3FA47bdNbM+zb9g9shhzbZHhaDRmUZLwKU2k+mC0mQi0TMQzlIl4
RjMRT1om8n4/iAUiGzmDZYJ3/ugbC7Vvo8mKo2c0D2SsGoxTQSYkkWfK8o++GLurDEPFjYlbYW1+
IiE/MZomGMqNpCQnRQNgF/EYxLSevLPHbOdwzPZECY1EfIkgxiZsw6BozNR6AbwW+/+D3ZvaoXlJ
erzfa/e2dw/bmnq+9ATA8DUt8kZYO+EnwT2cKCGUimkgMHlBRiaAEQGmHwzd5+jt4zYiRcjL0KVl
amwoWUllVw/SXVHy8el57eH5kfDIPegnVnjmUqbxO9G2c20719fj1KO5QCp+eoKSmDyM5Yb0dEoI
kH0bD0639qXzNtCxlQZAKekO+/mVVvx3jCURR+Qhn/mY2yTZ8kLwkbLpjnmDyOvJAyRBkx2U+8AS
yvOJuRKDyOnK/kbXN2Zc9TNlLV7a9lmUJAzEdLJEzLR4Rr+AOoVtYLDqDKP1oTFyPTtL3VmGFMoj
kqy+9PUkOIKoOrRjf3VA973DQgmB9FREjUW8XLNA6BfOiOQkRABOMtsnISbjl19qMyQPNQSZvKgh
jfqIyNEDgy0vQG/jmknxzXVhx9YW729pVn7+rSzNDM4ekR+0n/uR3VdtjoWKdbraZtpuRTpLdzKv
9eme6rIv6o6Lki8NBUqbdBAs6dFbDm+UpFY9oM23bSMn+p31t9r6if2pn1Wz7eamolmxvtlt+6N0
xaOF5i3QqxBGRWDNgVdDvLXRTvum6VX1NO/bJcAbmxUMh2CLV9NDRIe+S3vs0lSmCpO77No/8Chb
VhVLG80x5SXhoT3iZwt9+hVi639t2Zah54TbRMjvwgPqhj2NO4RDnaJci3mpfVelYLj1NgCxPOfZ
g+gyszh9cVdZ8tflqCBlgnKwyksLR+E5jY1l8gc3NU6saj+0pncM0aSVq7oAJk5/8EUnaFOVd0XN
7CyN5j7OVXEOjCCHwtQFQkIUHY5COM3b0KpmFUq5B2hY9vh3DeeeV0ABncOfeCtFiPXmwtRQUDtA
WXn35rZojajghBVq9hlCVluHa+sZdqrRwL6EnoRdrBtW5TRl6MFRK1au8/SAtriBpxyX+akyug+k
eqoB2lStHr7tcyZ7YVVVVrXBwuAAAFC7+Y19roqGR71XFePFWd282tDm9vB7/2TJD9/++OsuJra6
1pSHf8o/WWQr982qSB5/3Qcs//twIsgRtr5Lm5IL0ux7hpE7LwCFBF9ooyw6Cna5xJoFcxuoVlzq
Hvhqg2V/bxSymx+iAJ5id1quHsaV93cIvnv6b0TrliVNiVZsfdPcohvWoOa2Kj+rzieGY5KVeuz+
w2Dm8UzfFoXjgthwXVJXPyrCJHUv1UCQmtmI4VWzNhij+oJQE68FUYjEBHa3ae5R+1VzcekIg/Xa
yrz2EaeNeOk+GES058G6Wdba94ZV/OPFOivUd26GY7KNRGUa3sF5Ixo/BtNAbVs/PkoNRv+fEVnt
16NjzxxX3exSguusnvH/rpuqWN/c0Q0EvRfHY7Veno6Jc12Pv5eE56yGtT+brcuMAdF4cTxW4+Vp
vDjX9Wi8JDxPGsY+7UZSvsmy79pf/VjUDVuz6pfNjhwq16nq+lQUga1Oh+qPKIdVZytScIjqzYbW
dfHJsPIegrBeWZH+HjLZsAoLQzlWoHe7EcHdN/Vo7DFB612lKMYxW9UlBUMIHivB7sdQSrnjXf1t
myQrTe7yAl3rIUcqwwW+anKKQ6hf0AzuS5tqmzZqJ+m66VqvKFMzjrmr3DkOoXteMzKW0+2q+bXa
/S4vuGjesAplRb2hTXqrU0lFoFi9lai3IgzXpMqjoYiplEl1tpmAOnXRnw30R3BBSx40HCW7xOIh
y9CsqdcwWI2Vo7HXeKxXcwcjEdKeGuV0VTOD+nuIYOwE6geaZboe3T5HVnW+M+cLKProia40ZyAC
Iy8EdqPnxYcCQ7c3i10Z2HzyDCamRXsS76FAfV6AkDUGLLYau/U2wK09ydVkZiMKo0NX01WRfjSS
zjxTlpHGeGbSGH2PYC/Izp41w4yBCdK31wkCO/nyZJCKb/MbTlJ+wiL4mPFlZc9YQ9NblhmMBGcg
2L6MCsd2htG6S8O+EDojMDET+Hs9TXuZHQ/AapTetveDmmmMngVhLVCu4p9lspn8pj8UI124Gd3Y
rjABIPoTHqLpOvbeZDv83N121RSbp00B/aNTAkis25Xrdi9z2ozvHYinMx/xzaRBvpw06Ikr/MOb
X6tyQ2+owJvBio3zHBhrn4rs8xyzDZtob0gTkTzYDpSStME32Z7x9Wdn/tg0qbwrmnZILaWbZluZ
SZDOYbBtdhXe7hyndTeFemPozEsCM+lQICcdKquMVWbs7okyqPeUZv4qhSzXH5gpzAOQYwYKo3qg
4pErUEHhyQ1oDwVilLvcWHPbzteX6fZO29HMbgi2dpSsK6csNlMx9gXSmUeEZtKXUE76snmumXc1
9MbQvtYlHLaQUGEEl7itO4IMwjGBnHQaWiUrlQ1Ndm1CM3l0OLZzUzEjJ1svkLduVq5jO2KvmVSn
D4jOfCMyk+ZEctKcirVnIytDpvZMG6idgd1lgDW/EZmJNZH+jYloRJsI1MMASnz7sz0Dez1dAugO
Z9bQqn164q78ZKhQPAEwn9SlMxjG0mMwJBU9kWxfl3eBYSpP9MlajZjSV8y43R1CGPwqun0M3Vit
HptJYWKTLYJYVTKz5PMpZ/yBIRcrDKEzXGDHTJG7pzu+yt09CFasb8wEiEPidvtMsqofMtdMN0kc
gpE7Quw1HV3+xVT4HU1dHd3zLq1YFw36fMtF9aT9mp3qFQTWs0rxrFc4rNW9DsXRnVNgQ7kMHpXL
tPzQeEf7OaLWwiTrd5+r0+W+qK6pNSxlkXa35awn0bvv0Yem1FwFD8xVNmYO4G3sUTt1PnMj72id
MrLdeYChy0qxOyr/qLdJuqJ1zWpjTyRcg2DnByYd0VxD0cU1EEnduYwQGK1TrzkDrYXqYCDdHtvQ
fZDYGxUpmvsN2z/4rjM4HFG1eZcUKzviqlbD6kMbdHies8Z0+xHN0dXoRZZ46E2Wra7r9pZ2vl2F
x9JZmIrR6473hq6fxKPun3x8//ThJkDdvfGL5K1FybOoi0zWY2DDyNs+A9w+g4GLJrGhmybxwKsm
n5S+WKfbu6SNMzerMqErhF/zWteEi72CRF2dZ7LuElk5qLtuVfn9Ueu/ah2G7prEvS6btLNiIKOI
gQvxsG8oigjexHf1G4YuMsPB6Idt7B1gZuYyA6NdHENXkOFgvK2ZsTRwdrbELu0ondcf0czY2EgL
S1eMViYGOJ4Ja+kvTetpL2XVjBRdfxadkYAmhbxCwgJ675kyOM8a3BSekRYQosbY1peoXIPzZBgc
MWVwRG0mafoVpxnv9z+LT7epEbOhlcgwOFP2BvjlX7ulJaiApiKNCVsfa2tcdI2R8u2JMMBs0rb+
BTXwSYg61b4nUXk2LkZYQO89UwbnaehLzq7qg5FNPonPTGLXk7w8S/dkGBwxZXDEbrhN2eCICY0n
Zq2cyDA4U/ZmZ0mmn1CasDlT6eRYW6sYbdjuj40UcUfk7TWfUwx0R0I0E3kGgZBj/31IC9uDh7Y1
TVYMVcXNbYPoZ3pv1kAvALLF4LRN9oJYzdjPKDDqPMoQWMJ2RVDGVuzhP9BuZvvD03OH5sz9Kiwb
pyc2ASoqWN0prHpYUhzAcHDC9ubvD+Z/ZPcb2tyatf1TLHZHc7ol8TW5mgnzQ3Go8Ds9sQjbUAAn
lAc2fM8rZw+gxceBgGT7lUBNaA7hmHJoTXk+mXgIJ/sOoXmUUI0pR+gTXRXZBx7ua7OWfIzE9tGm
a8jHsjRtPBLx6EQibDvxPmdf0ztm1oiPgFgbnkOVfCRUM6nsIBAqLLgPEGG7MfL62Ql9O1Y17TK4
z2tPsu3T4DtX/VCI2wQ2bJPY2uQMbBKDsAts0DNgiTZpeCgL2wM2s0lrjbwIMZC+dJuUOJhl5A2B
E/q21Jx4nPQMWoMHIkZ7Em2SIPYlZZv2QSkI2zTn8VibnbjNnpWqIRsegUWhTfdHJWxTZi3a2u/0
7ReChZjzGCMtcT8AaaIePaBsxxAnW4keSFFzDdqbshTLE6UqovueMauDXGvquXpsqnHvQH7atd5c
fSlKX0T3iTGrI7brOoNYR4zYHjEWYYkUq/ONWZ1va7xJxzrfiL35hmOdL8XqAmNWZ18UmbbVBYb1
PzBi9YEUqwuNWV1orW6CI+cHsjNocaGxDDOUYnXGjM6e15qszRlTecO2LsXgTG3fHVG3z2lNNsk0
u303CINE5yNv+y4zZoWZvVhzBi3NzIj+Z8ai79jH7W6YkbcRHslae5tYsvkoOCNhTgJxZWQ79d0z
Y2YeUDMD/TYdBDPzTJqZZ8bMvPFmRsyYGbH126Szx0cR6td53ZvwQiQ79d03Y2a+nfaaaJvkUXim
Ipqv38z88WYWmDGzwI53TTNpDEyaWGAmgAbjzSw0Y2ah3W+bbjQL9QeU0KR1h+PNzIyV2UGS6RqZ
fhszaWLjLeyb1ar9yEq/lT1Snk9xBsUGHjlrSiuF6Ivox388XLFpRjufqAM9ojn5/tkhj/VXAcLU
r+tKYWgSqJAyA2QPEJvx0oWByZvC6MRRIWHip9yw9bttVZcm7sJ5Sdz2uibW63opPs3hRhrx4fbX
A4KoHXCb3l2FbtQYD0FYo5xsOnheoBqj4xgACvyEMIhuO+FZrtGg+YK+rfYVGc8LLhtQW3H61zVm
szUyX/pIFmAIme3gm2QreBShxqDRj6Q0exMi26nvnhkz8wA3LZYzkTPKzDz9ZuaZMTNvvJkRM2ZG
7GmJqZsZ0W9mxIyZkfFm5psxM98OC0y0Bf8oPL0GZm6kVYh4p74HZswssNFsgj33R8GZ0vfATDQL
xptZaMbM7B1KE45mof5oFpq07nC8mUVmzCyy13JO18wi/WYWmTSzaLyZxWbMLLZ7wtNMGmMzeVts
0szi8WZm5AnqJ7o2nk0znhl89rkndVnuZfQT0+03sCFbs09KT9nWsAFtx0btG0uwNUMDIRKeira2
Zs7WXKN6b2AUBUsYCsGGpkKwZ4u1CduaZ9TWDMyjYAmTIdjQaAgmNq5NszGCiVE7MzQdgiWMh2BD
8yHYDohM1dZ8Q9pudEQES5gRwYaGRHBg+5ATtTWjYyLY0JwIljAoYsbSbEybbq2mv1YyadsDLKxi
/9ryP/rAqmp/mk3H9TOnRO204wTi2KnYNIQRqUT7WVdP0pf1nGPZrhrd1nVA1ZrXhMzrQG7aVV0O
bVVUdxT/86cf/84//dv+Z9/QhC8T0bxhFapYyopPCh+IFKPd39o4L5qKrmuaNkW5RuU6Le82Gt+6
vEzcXgc33MLEtEWNnUmgfU7jn2F8ZqsVav82y15/URXXRKmr5oJtnxgu6y47KG0hciyEwXnBQMJX
vbz+uGK7ldM0N1M2ptewxlnTh11g0W9Tz3Tt21rTs6xn6enT87405dq0IPWuUqtm68xIjfdIGPIt
xBdTZp4mt9J6qLkR+8TWDSqrjFWLvItEQMzaK7N+hIdJWhWs64Fqv1Hxvt2o+JneMW0X3XdiEDXl
K+xpijtWqtycFKNtL5uUbI0HvFUZLCUgmMjW8+6Hef16V67fJCu6/rizwL9uig1721RF+nHF/pTh
f5tgLAKRTp71b0bSvBFIpCS5I+h3q6dqO36xqk+sqvmKUq5aN2wXyDVVmecJj4qW2bYq1jco41/Q
HCuPKNs9DcnR6oi/GvPmPpRtA0R6+DnvJa5KwfCtkwMQj49NA4jOdfOtt8Fe+0p7FbuZUPJIeUKd
oFP8tu1zXqj641c/ygKCVQZCDMDnsvrI+o2T/nP3I7VE8zwAoa43YrxXcWHF6lwSQJvttW7Rr6ni
gTh9g3owOZ3/o5YgeWMi17P+g5y0/dWHmn/rw35fQEdT4QxNGf2E7bpW2hYRo73onsJEZscVhqFn
RdBb/IKDa2By/oxf0dT1lktZDc1uH7ZZlTQz5D+faA+YmV83rMppqmsz+SU5yKOMdgRklG980knt
u74DEWgYBOmH7LLd7yEoHpcUoWynJaTZzRFntVtNH/pyZFpkK5UP7A1Vnt/Y56pouJ2+erD4Vxva
3B5+758s+eHbH3+lVb13AU356kVfP+Erc9+siuTx11CKi+EgpeRcL0K/hgz/hYLJBSgx+x1F9Lwc
5ZK9nMJxcvKV9Ip3WhV1w9asqvV0Wg7XqUiSoou1gVZyoH3BXUPBVhxDp67wfFL/OP8JbTsSpEZP
njmscVO1H+0uLVHcIBehPKo5omMvtovwwD7/6M6F5pexJxKMNPQLjhRYu/Fr6QSPpj+B/dcuy57T
nMH4tV77gqq1Xqepbq1ntX/fIDTY5jsPYB7zP9clbUssCdHjvPpoDyIDYOhu/o1sy8mRtIQm0iD7
UdcAltoMHDgbZKBL9kLhhXoCcvteYpxSG61ktSMWezSlF4vN+vRRzYl1ub6/K7c1uisz1s7y7Kdl
mMYu2lUItpkmT3WuMlpPWT0cwvVuQ7GuNyxt0C3jtlDVrzf3f82LFXfJH9b0jr1Ny/JjwURl8+t9
c1uu36dVsWkkdEKEsJlhYEYbirZVoc3YDwn270R+ZPcfivUnuioyHXtfR+Ts7pMED3CoABrDpjDZ
CTyhMI2QNWwA98jk9EwfyCMqndw5H2qiIWYn3uS7QnONod5Tbmd/fv+UQb1NFM5MCxCe5XnMcwud
8THMYct96VKfHOpKR174TG3gfvRz7a7Zifc9JWEvUDa5O/NS1/TlQ31pDk/3BCnZfELMiRo4cNKD
8Pyuohm5eDOTixo3CRZpgPr3BcZvBczFDIeu//kLdUO1l9Yv6NpNDwV28cRdLTsdfele1oxNVd5U
LW29CnlI1kYHyfp4yFyN6ihM9rqHfrjAtt3ISjk/m7fk64yt6P1b7DtK9thO6++b9sQIbcoKpeW6
biq6m794eFpTQ/1/lb7uFzKX/MDz4LrzqgS11dmqUKinf80myk+sylflZ+3GeEgYlBXO/BSIBCs8
FJ1WxZdEeKjdC5O/ove67cwGuamZl26rMmNMA2xI25WFh7RAvbA3c9sZpc+aL4HrT3GwZ+hxqPDF
z7UHQTSZyyMpay0TsZZHgWkzln4EB9uKEJnz+qt5XPWYpH3KdQJJ2rHQtJqP5sHHXiQvN6crRrP7
uqENQ/X9OtX7eMd1CLZXLrlXfonRGvvmgyBc8M539Etd/DfTGRAOSI4aVntmw/71of12a2bM8E5Q
WNtTZnsnvDZifv1Q2KoARGpz4H50ZRhySA7IpkQJ99xgxVr2Vdub+PY3wRfrGx0B6oSgbSpDN+oT
kemxL5lkFRA8Ymh7rhfVKU8T9bwncExvsBm1EyJ3Rc1qa0/j7emQmd0KdyxD1QoukV4PO+5F9Yit
+5e46/Yl7g86d24u0bUHaKbQl74kPT36Po76sBA9iOYRvYd7vz4k2yRZMcTlhFK6abaVlsbFdeo2
SZyC3V2XoUr9l0F5rN2PwHC88mb3Wk6bjyKdtdklunY3dgrWd0l6erR/HPVhVj+I5hG9pqLrmqZN
Ua73tyOg5zm9in1i+3Mcyss5QRi6LXFscbhwkxSU6kAb6VdsSsUy1lvIANNpQbu3LtEda+juKiij
1nwZi5aDf3q7PrNv3PSRr+qmjiYso4x7IKJOq7rbrppiw5NtGEZ+FY6xBu3UDweDsvOrIjZlXqpA
mYMz6ByqwnOx15a7772hXfMNiCPqhGR3iyZeR3RK2FBNIQmXfB85DtgVi0srRhv2oVh/4J+q+e/s
B5Z09OsEYZipMJaZcMhU3CsiVdlVkwpBjs8bCuOKvayKnDXFHUMJR/CRZbrt9Rx9u7s8tWB8Toq6
bHM4bZlOqjcKEZtgd5vmXnvufIa83fmarEU+C1G7QfYlrcQeBUEI2IOp0Ghz1+nmrocy1G1/urNT
YbpXdP5heIT/Y6vd3o5pW5ubps0dy1GX3Q2jK8f2etG+bAOGhh67EdiScGIJqNERRFk4RvsECUOQ
281NRTOGjiNtep/yDyeUF5v847vmLtPzBkh/RHa2Y4Ihtb+Ytey1qII13OtJRtTL2tLy7q5oYFj+
SywwRzRnfhGPKiV+KVoAdj4EkFqH2ANRL6va1qwCFN5P4NgRiunNc/UUsdkAKhOONGvvB+pIZp/o
Sk9364mQLZ+nEIOfxKWyOu1JZKwZiZE7p7cfKpZuq7r4pM9UXpIE+hTRcoymr5q9FJ9yIxpCbqRz
6EHyaHWfq6LhIat9kekTbYOZDqM6S9Ruq0zHrM4KULWmjyA6zJr7E9wRy8q73V1J9Ztvf/np9/Ij
W//YnsD9gX+LJiumsFgToQzqbXBYT3RfUQoRzqpMnEbTv6YfafvgCr1h7ROTiDZNVSTbRuk9XQOA
2ItMJertNUYbUOPBcK4pU+u7n7y2Xj1+SdpqrkTNfclaA7raA8A1FdnfzVHkxf4iKr36eUzcPq4r
XU2OWawmOZZB/JqiPHVp9OrnM1nrOyWqxTNbDfhNQeJParEuM074HadKU+5yv22PI9LNhq2zd7fF
KlOslCLUrW4O1U0R7qpW0dEYBHSl/aUxRX0iLqqnz5/7tky3d+0tAGm5bvi/f7/fsDdnft3wX39I
7jZa1jgIlOrMRmrPQ2+3o4eVDGK9uoxHFSgRhTvA+5p/1IjSH2Ewxiob2MSDypM3NhfXxCCM8bpp
XcMLBY+gbJGrPRQ8sh5UKBAC1c8N1839ir3mHzYcDp5wQGXZJQLtZTPbqvjgYHj+4whb/2z6pS/O
zNQEWd9qwAZ3CYZzpDt6Yr8yhFYvhDOuzGS6lylP9J60xgXsr12b9hn2KS687K8PtusBla1Ywwx1
+I6IK+7w3RQ5PDN/BGXzGQUB5KV6qTbg4cStZOV6x0ejAuWyhUD17Zvyjxrv3XIMAFj10vqKdc2q
xlBYOyKuOKy1JODFtSdUNrBp9DFPXAdYooth6+d8klWZqDvp0RuGOY5Z6xHJyY4cs4mmRh8IY/zv
H/QTrXdvxfMyEV54OIVn44TGOHHKfoABoyfIqylZxe7KT8xALnhAWHEe+MfmBqCdP4DS0r48lEGx
yn7mv3zkvz0eOSJsHuiwiZDZm/xVPVBF3QYnaX7/wWdADEki0Pr2T/hHjfdwOAYArDq2PP63U1N7
E8fUFUfvu+KO3TKasQrkbuQpPJuva3SJp+wH6Bx7grTa0SMHeemLzGRhPTCIuJqHKyxeqFDNGk6v
ffax/c+3DfvSfF1vk91/tES/bnXs71zHdn/0lfv9F3E/+et9c1uu3+8KSmn+UtYiAJjiQFKbNcCy
8xGUDVIag9Qj0wGGJiFoV9NBbsD748iG0tFT+pIS0sMqgLPJeCXCMRgTvnUDIpnAqSqayEd6ohgT
TZovDbwQ9wjKDoZqjyaPrAc1XiQEasC2Nv8uhN11DgMAw45dUFWVN1T9HWMCxBW3p75AnDH6YkeM
FIbXF+qld3a2D3Eb3OS6xS/jJ8gMgRoQVb4Y8minMKAy7MWvd++zP/41IPHgFNOQo62P28Q0b5Tf
ZHeZpg1kqn3KqbZA6Vb1RGYTGoGc4tTC1OcxPWkO83d///2nHyH64RNctjuh0XuccN98DjcAV1/N
+3JbfeBL2JTrmv2+OxsLyjCuwxuTqySM/y2mOVk5IGptW7H1XFcdIInLCJBLL9jGss6WAV1J2IG3
0rVH1Zf0k/ZVdH3Dv/Bb+y99z1dco2rL0XEqcY236lKzwVSvzM7vRr/+WTS3mrONY8p90qUXfEhX
/Ofe7X2vVpM6JWzTJrmO9lhH9JX4wyj/508//p2T+I39a8v/4BBIVaQfV6wdHEw5Z5u32LmE5ugb
7FObZvBaK7uvG15wpbc73VuVNNu/3ypmMe0bz+Xavlc8yOqfmCfsm09dg+ocRR15hYTPGc1e4Zvi
jpXbRt0FAF1UbYI0XB+7eKtGGUdRPU5TuMU/lHd1U23TptS0c3SB7uDkqP0zVOQVvWM6U6Njskod
iGB80x8Fjrkw0BduN220R5uqvOE2UaO0Kuu6rIqbYq3ZP3YgsVoK7K3tU8fyO/vy0rss8ZXgbn+r
vNAYRVdIrIpAzM3jjjLLPcA3N6xBLShUrPPydb1N7J0UgxO2jhCjsoxSh+eKnmgD88uvv//wy8/v
rzQp0rKq2bp9rDl7vblXdvayLxBtHPr1l/e/m2dPLxRyeeO6EtJTsynp6NJ9sZvXotw17YH7lvLf
/vLTD3ebFWtTnd2ryMjErKsICAG97XAOe1YZ9E5PAMZLuNMZna/Kdr/Uvgv0TFXU+Rwxov3j9uJ/
pPba0y6q6rqeQ5+hPDdzsTOd7/bW9PN7dc3WUT8syxGfyOiqdEC/9mlg66ZTdQRmfUR8t8ao2E8h
ZAyzmWaATCgadkSl2iC8PaERO6LPYVLnfqQUqgM3YQVpj8/rjGaGsJLKMw4SR5F5CGRgSrh/bkZ/
UvhMF1RaKD2xel7nkOmzcrWim1pvyXFIE+D78Yrynb5ysjNPeiP8oVbqiu+SaA6I7sKUr/rYdpCc
pipnb0UoD7hhpCMRb888gOisPQGxA10yY+ah9piofYXpX4qgrXf7Zs3hNGXVTnLQYs0q5OoN49dA
2F0MHQ2DJ/dguokiBmS+HQmZOcE1s9KcJAyG0stlAPBakvMI/bcgiAIBmkconsuawAFRYS2F4AJ6
TvsNqcYG0p1IUjHEfBeQ1+i/J0QukN4S1YXwYjDc0Ir9rdUEWt3/Wha6z6BeBCAjFt/S+nvOqm1l
qpY/AqA49o5uGs6i+ycj9l7QScUBbxRVefF+CAxbyg/w40feQX+o6wPg0kjKP377cTcKrvVGq0Oi
89jc61jknPbHRi/14ThCxbKiYmnT3krQkmhV+u3jHyYruv7YSyl7bft7jvtqABbVLOm/6n4C17eg
Mx+gWblp2tst9Pqal2TtNoxUw3/JXG2XQvYge3EU8/Fa+PesQWv+9+mq+O+d3Wu+3PE6DrsNI/eq
wevc1ner6QgcR5rE1mmZFeubXeiiCVu93TY5isb9/MgfRziANujXDXtdpO3VS5j/XwcH5b7+eEGA
urW6SyM04dHBWxyAYu6x4kHyIzhYsdGfSNjkvEEUBFIUbcWgSDPdyFpTwuD7AtVuhPMSjGDrIrkb
L9udfsAXbOc6upghws+65D9TrF1z+vUoVChKxlmCosiPkUGeaOWIBgE/ahkkGRcVwg4eK6gnZQG0
NIXaq9Sd7ZG7EkSyly0gkXzokono0rQqG1xFeeDnX3AchXKY6kIqlJ5XOIM0ZWUykL5UFUgyXoEJ
GV0ZYI8I703RmewjuDdWnjoznJ6Jlwcu8YonWQs/KwuwaPHAVGBJqCchj/Wmqig7BgBTE626Kx6c
PSkfaSN8NFVt+QDSrRxyFky24o1NdTwzmcZzOCaT1NKVB65FR2TkbB7MnI3MoUP9kJlgGR0tIit5
mwln27UQs7nwXrYz6VM/6Rm4/IjIWdlM9P6BJx3pXr8UB4zMV2RyHZSulKanJHQmm2JJwhzs5jmv
SO+rYrUqUhmp0yw408kP8czCl5b9PaKy8yeaOdEvlfShNVYJkZBp+0ZzWl9SYkqINZ4niYLLaX05
K/PnlNP6HTlt55f4+pJrkWwKPVAwqkrruxKFjrQawweX2e7VZS7ZbcvkgI1lyYPQZ8WUwvDw314y
4Nqse95AcTcsvaMIYyKlyJtwIHjkA7jNhkDKRxCTViNOxX1rm8qAN0MeoEJCUeeGE5cLYiCrdy4d
iHM8bghtmDww2hAIJBXBwZxqxUDi7HMArjsQTLuGDXROG/fIGG4qxj6Oz1GllcTBsg8ysFXZfIjd
SE7GHMGcY9np3Aw8b4ftiEnqQeBzYUckI0ceG8TmomBP6V9gLoLtpTqfgZ4HDQOZ5QfQsvxw/DdC
GclfON0TiWFHVq5rvy8EePAgnI9b+QCSyYcqCKr2aHFFYy7XqbfrD2z7oSMFgzzE8swGKJK5ZUnF
PkspK7s+JcSiQxnbnvaepeD62ZG0slDrArUcII5Gb+08fwraWJkXGe0Am7yi8FC+MyqM9lIFVoJE
ktLfaE6dfklMicA1+aMZnNgFw9VPRb2lK2nLAnXk9zl7LiapLXvZgJx/igp4OeaomYlVeVOkdDW5
FtJzZhzIS1hAjTc8SGZOKT+Wt00WQEv5/dBsyo8h7BzM6XDzg1SBpfxY1rU2UxBVt48Mxh7ElTQs
NQtuPpvxNG+RWoG6vV9rmOrppj1oe6nYMxo9sSfLq3rzuSwFYSLFmUi6jmMKrNW1X63tuEdPv0Lg
zXDGErwDme41rVjeHQsxuKAh6VA0tiffDxUG4iWcGN6J/GvaJ6x5/rTb+XDEsool+QIfXIMXT/N0
xyqGmaMAep7pY1lEY6I8/3kz6UUL3BxlNH68bMf5mfQq+VrmsxJQp3L2ygbFX7RoPlQmzW479gtb
s7r1oZrFPSV3NC3WTVnfSlHvLTiL287mJbcnSUHxIRzQuJ/uUjyg/ZAviGNHVXlH1yOFCk6kWVmj
KCTjl7X4V9IeCoSxjxw+CASSWz1Qf3BNPDzxfhmGNiGAZfXc8AyypaaoUeCavyZfGzOFQD1wBYrm
fi7WWfm5I4wpzak32PVlrGDkZ76gLiSq1fVAFHZTZC8MSIZ7qGewEgytvBKTHDasOWAygwfpYDkO
Dk8ut6fruvjwxXtNEI6DSI6q45k0KQ4FC+cq6bQoxt5M/ELmMxHWjjGgfOyod5A3EY4nfPIEywgS
sJ5AbiUyhwnG5E6VavUcmsLwxglkvEc9ejt+JyBbYTxLBeQL2Q64bqGE/ti0J38BTudheLN5Uj6i
7nKy7uEpbPBxQgxhshDkZWFY52Vhygf0MLjjUmA8ybZGHUVon8LanWTIeeQBnC7WtmYVylherFk2
vh3myuucuDaTfSkdUD0KT07Hz51BYXygs56M7sUcjjs+iNcbq2YERBPXm9Xry74c0/XmMlG40zOY
DxfAOzgTA+jrxOBePDZ8NWUs67lieBf0SThqDG47RFdfKwbY14pB9iBieHrfdkVigw2rMSdxV740
wezYAG2mTlliCvnoqc58RAyRD3SKjACbUSJjqzBfjs34M7IZUd5LKrZg1Se7hQE1Pn8mZemj/oDq
+gVyHEEw3cnlAJhvD+RZTjAvywlAWU4ox3LC6VpOCMxyQnmWE86hP9zyRNIcdzivXZ1IhvpHwNQ/
muh58/S+KlarIpVnvRHAQz/RLPYAW3ltP1a0WBej7wh4Kf05ONzbYs1qNmpL7yZxPexK4eyTnJZ9
ZcFu782P9oyNRlfKexnD2lzcr20298G8kBeUINtlmMof0dYpYwE0H1o4KJLwkcl5lJvk42hhPrJv
Jkb7sCBg2/ij83wu6Xk91QKpaLlqRgKiwZHjTS8dSYqb8TsI+vRSaD3o9mOd1qNtbSdQOyPcchRM
p3ONJCjss47AuVX4+rIgt173IoHDSbZNNx+z/K75g27oyAL4C/oiQ+H24rWu5JGdsMrVE4WBossc
GPpjM0p9uz4BuUniOq57DbuQePcMgFQItMtCo9f1KFrrVA50BU4Qqm+LvPmjqCWUSQ/6MoOG9F0d
e+5oaT+yFsztzPWHj3T9RzE5J7tjJBqvpDuxQgrpjxKZSa/kSU5QNH4H6MNVxVGqt1cpC2/MeviP
UalVrYoBWvTpgz59Ur4efUvptfPPFQzWxn8NyIfsyq6P1cjq6KOx+uRjnfqBg5VdNiNeu36sZvKK
9e6AYCyh3vtYzWbv+UDN4LxoVLHRwzbP8gazrPpD+qHlNbpu0/0+tLijoXvtAPU60QvBgkUGyBB2
LsegCu0BAOLHh+sMEW9RfZQxMByT5XmVBxmAu0RjL1Qoqnr73+gmQRImNg9UbSbJ5a6Lmq4R+9LI
+dJIDj+Lynbwj+QDbrPmo8QFzmh+64E3ZsT1/M1yXTfVNm3KavcRUZ58X6zYEF5cJPzqTz+Xa9a9
horV5bZK+afa3+QcWbO6fv1HPeTHKrYpq+bqDw9Y9RhGXVpdHy05YqxYqL7OH1XkLyoHr4Ia9k3T
VEWybZhmzTxDXFQ7nz9HH39eoXKOMYhnpJuqzLi8uBupAZiCZoO7ILA+Cn9GXXTbnFwIuohfUkGV
xK8b/bvyrv0vE/7mkDTQWCi0gIf/+p1noj/zvzZNj6LKRA+FrNlA+5PuL2l1oJ4AVXR9w7/zW/sv
nmvcbWjFfi0L/kVXsdV2UR5ltOqCvR6Dua4w362YYrc63E67xKrOTOVQFmK6La6k+tJD1hpJ9YQB
dHsvU16zl17yH7wr12+y7d3d/esv1/Ce+evSFziGJ8cr0aB7p9xQrG/wvciTeu55M3Undd3IVHso
GdRfyEIRMaFw+fN7E8XfS+LzySRFVw3d/kZH6gfJaq75hhAXkpZKJDbgjxeivJAvLLGLH/q1Krkq
18X65oeHnYGiXKMdKAWi6tbjTjzqiiUQxUvn+tUFHkB+WQIX+n1bGWN6w5gAr6C4hel247XooLG9
Oq2abiJzUwJEsrccmxg8bRwYsPYXtBUbuMwdswm0W0EkOS/kC2a7awAqyYYsjqDDfirG/klXH1ll
xHpfUre7G3Jt5yV3zehpDwyXdCUr0+Z+ozm8HBK1eilJLw+ZqlkdhUlfUogb1jy0Uv52/0OmVxnP
0F70lIJ89TjDYW2VQl/a3VpS/+3+d3rzM71jRvpzXUBm25jrWvjMO3Ljly/40dfG1VmfDz4D6AHN
eWCTdepgVXhc7dkhLH3YFPk3ufFK97b9FQwQrbtji93a9xANHrut3ikwnfgUWfmY7ePibrP/HNW/
J3SGtq3mJenJGd5qLur7IriiJZy2/j2MI7pWM+Vp5iFf9WulMPULmvH7/YahVdGwiq5MlPCX6M+1
cr+03nkX7MNXff1br02pqu2MKtURrWloP8LXlKNid+Unpl8pD+j2v3bg3W2xytoY8viZiYd3A2Hh
KjN7KuKBLPVmExKpq6N7xO7Hgjht2f74H+vtSmsqIwRibvmM0KLnmdRIWrrAB18bVV9bKapXGS2e
dgR1AV15x/naoOx+Te+KFNEsM+17rwJagh++yoDl+OSRbOj58ddg1F1LbTqNxFyxXWnM0iXh6a1P
+8Qclks/xbQ8r37Kg6U69iGc6P/915BU33YfteuXsUR9GBhhxVqXu9+D4eDPgFmOZz+z+KW59EEs
6PHh1yDUu3ef/ugGG13Xb18la/tCkq5e0nv19nDiVppjXBqISlEYy3kXkLEVa8+2rpt2YE+n8zlD
uf8+52W+qMp9jN7xAOaeOtVRtV+yOPL+uDOaqOm6V7mU+weLvvTPW3L7Z6jIK/VHa66SVbvq6dci
vRNwNd5mpLEeS31p5VRvKS7PVGekuwIaYbb+tXWjSp8NocIYXlk0NL3VW1E8URxZSVRsrd+sHola
a5KUWz9pg+acWoyulaGoN3o0DAOOUIj0eW/EvjTtM40mWivnSM/Hq8z51v5zklPZ+hhOT5K37A3g
UgRd0bpeFbXmdPgF1cHbP1OryoYLbUZl2QIlaLOVjpThhTvQnK6I015Ak2RV1kx7LHimace4ZBnU
M08HeOViXTOhixkUWKMgcKnh4Gi92q4gApOIQ9mp6Z8HH4lOZc4/iNToyqYP1QseNi+q+vFuod2Z
XMR/UTT3JuYcRbAsph4YJNs57y4C3hcWUVyrsvPaRZYn89lWDKcsWvPP1RuaMhjh5SycuQ7SCy5/
aVY7kAm9Pv0aiJrbrVA99mSgVTUKjbAmgfDai/TVC/bQsv2yWW9sfbB6ldF6BnUA9Qu68uKW53ft
3oO2lxUEIFidlamzVxitS3GHQhBRncenRtLb/fzW40W8f//9px9/boEaU2ohZFbXFaiYEOf1Zs2S
8cnQv8emyxeg9nGAbwp8Nu5o7LNE0B+6Hv0cUKf4zTs1c4nF0DeJOp5wMW3WMl4kgvMW0XxfuJZk
P5oe/JEGQc2bSGPhXbCvW1p/0zRVkWz5X9Nq2aeUbeYvR4NPOas3CPakf0E/9jva32R/0JT/58Pv
atXQywjsPKQcTb3MYb0aOxCHkN78zr6YVNsn8oOnt4p1w6qapU29ezMiKdZZsb7RORVzBYG1RHV2
8KQ6ulKvIeRtRiAyHHbRfrQejhuK44KjW1HzW+TXMEjyuOY87es57/Nfkxy4eDKLG9MmOB/RZRxq
zzUMJCc5XhjIx8fZZvf3XpsMEbbXodCLA1DWwfnMHW3SW81duEOa2hrqv9KK097lgP/asur+PVux
9oJf9M1q1ec79cPP1QtsvZs1u0O16dsV75C+HhCHqqOSoiwnI0y5w87Vvy56SlH9Kq+pVHuDeKOr
dSwMRJ/k1+zLY3h6XyQrXnCbqJOvo5hrjXl91fMeJh+7dpEvvjarwjaTV2orBsLsEBAX1GVTsU9F
ua3N+95uJHP1v90rn7cPlrH+0+5Q/WtZrJsf1rv/7HDBvVRSvjuX2xw/XXjfxxyEuaChFlfTSp5S
0BrYlz1VA119WamUBzTAe9K3ec9gH20g9xkK5IJzM/AkqayHR/v0IHct313B/0DdTgGP1sTer5le
FYdCuuOtf+Rbqfsff5q21Dycf5460JGsozXQ5wlVa3SXhanXDoZRvyBUpcQvWES9D5pP7YTtamWi
4u+AMddyv2PZ8671Ry9e6JOvDauxbbmqtRcDdccgFBc0pjFw8riRddjYauZZnurVxmbgmdmftg1t
inL9S1Kz6hOrENV7rK6LPlDNPFrF3cMqyodVzDI5F9LHLnnqsQo5KK7LVzGKLjtJOVdo2rDqW9pQ
M6Z6CqH/e3/9LGe+Z6LkiEiSnp4KVnU9rRbCGM/RE0i3zRSr7EddD2R1kJ9Gy2sRwXWcih4K1YCp
9ievwGUJg+iykayo03K9ZqkhGz2ib48KKzGaIy5rt5o+9Ds15uHCFkP6ekjd1msTr9deSNOQMx+A
Qb5/EMbQZR8Ft/IKlbzsq8wY6DEAbUMGGou7BVZpx2LVHsIkAhhjqb1gdNlKQz+y31haVpmh/ucx
ANtSmYWxHotVu7FKBDDGWHvBOBLFbj6KbjZsnek7Dn+WqN0vG6edZ5mqRyP7kz6nEAmt2T9++0Gf
Bh4StB0BaYpwyFbVLrkfwXNKkD5Oidb6FO+IpvV8EpTgiKcaHV8fyme1YcWlr+F2r4skre+Tpwsv
GKvF+/UgeVYVyrsNrdjj/dS/lnXRJpcadfEKgD6FmsAZNt3ucBqKL3z0TVBoOl2vGhgaAJy3hHXd
0HWjMxN5QbKfuT3+pLW4YRb3zD9hZTsUllYzk0RYCckLet3QYl2jL+3Quz5jekF0bmcrzi5ynicp
Bi71wge0+vNnioMvHX7sz9YaO4OCAOZTq8C7x1eN9WiNGX0pDst9RcmM3fE9bxP2Sg+41+tfdlzi
+nhR6lpR9L8MZSxVSTeTDIRxLpruH6H4G+N/TWNz7oSqtDiu4ViDGH3b8ZYQ7k70RGNF2I+2huup
JiD3MWF96nGw54kTOQFI2zEX2UuXnwEMOmizt/T63X6kmmmcDTkmauOFjHhxxFSd4aIP6fMK8d2/
tnS1+7XGS1Su0Z5ld+/CWmfc5Bu84ivfKfKK3jF8vfEs9hFXevdakWUcrFkh58WRuIqRdFU8GY+4
724FrsVVVHEd0e8/8nzMmdcmHK6+nu/oOkNZS285786MSbaP9F3TNbwj6Y+tcwYTlVlh9AFhs/Qe
sUh/lt6D9HnH/Z5HXt3B4gVNWylK0cEXPNWqguKUz2nDqiw/bjftrV31hqZ6jxNcoG2na6VpxwUO
a9lcHkL7spb8WrG8+KKxiXFKdpb9i9Nlzrh1MWSxR59of9nqtPam2jnCs9TIcwudsU4OW+6Fj7zW
ro42h5St97ozSHG6T3rAPrF1U7/5rv1Xe90VW+9uQEi3d0l7DezNqkzoCrmv622iWCP7IpmPx+y7
8kE+5f+mq61mp/JMUnUdYMb1y5eb9aod3u1ZpTS7VUHC502huqOr4r+1Wt8hSVuFS1SFQ8ZqKb57
kDynCpvdU9wP17rr08BTsjazlKAMp2zV6Ad7Er+sFnq75Ec0rR5KVgi9R/770LyuDQ/DEiYU8ZC0
rnVX5YZVTaHzrpcjmtDvcgVzGE33jQZHctIZUqRRVkPznFbvn8nTfGPcMdFpXLWfVow25eJv2D8r
QS26PozoWQGqoHhe0/lfSvXb1xFVmyZKUb8jrmoMLf1on9OJhn1p3pXrRmvhfEzU6qEEPTxmqkY1
7EX6jEK0jWX0Q8Mqmqz01SqnVG0TUZZKnPJWRyrQk+qRTvz6XLruD9Vp0cTzVK0mytDE87xVrYkD
qF7WiQ1frgFVPCRrdVGyLh4yV6MyCpO9rBb/2rLq/j1bsZQXTOib/bPj7RCQRtW8iGFu42Uia57n
pJmclT9/r374eXVSPk9L/0qvfU/D4jvIw+LH7qKvtmQx7b8OcOjk0KXjXvyDDTN3ldARfQ0Pbym+
hm2ed6oBuX7mSFsMnZAcCmLU2dAhROUfy+2Bok+w0FzvnAfQ/1C9WKYhZ+NpcKy3DklPkj5oN0pe
/qixCyydC0oTSbkVcKpx90QYiDYGXQgLGm/WFEUw/pZNGOM5c3s/UssgkKiSaL9WRPsln3JxyM6k
B9w7euDSqpJzpC7WNz+s66bapu03EatTumE1wnpOvwqBkHDj755T5sr0I/ra3seut5tWy9/Uzf2K
vU7rOezfC+nMVd4Sh7zqYpQOHNNtOZtduoYblGd5ozGQLtSRMzQawzW3oQYTlZ82DOtCnTX8VdFO
kazMJg1HIGa3vymy6CVFm95LF/2gC0GL3f6pb++MD3RtrDJHO2Ky8qmS0SBmarpuf9P9nX1p9s8h
th8rKy2NxLNEJVSl+s4NCQLQVpe+4zlUeyPGCWeXtxNj26hqXM9Zo+27s3JFT1UgMJNaasEJ6nrs
4YfgZNZh+s7/SWfDmBp4zHnAnarWG55AtL/SF/xfkpQS+rWdaRRFYCfXpYWdl+qiur7oS9LAq76Q
c5tF9V4Hnr+VH/o0HwOWz45xIXDESeT9MSnE6+hvy3Sr7RKvC2TtaeRxzvsCW/VMog0hLphXmNtr
PwbQv4dKm6Yqkm2j6WakI3LQL3KB9w77Ah94OlZyA7XjEACK8gjNu7i9qMppmG6qMtt3z3v92IFr
AfLk8/wD+ktv3rfj+FLQisiNzhvGrfGFVsqldnxbFa31XJHyREjbFsqO4vK2Sy7xXkSRnoSkx0pk
kJNI6IhrN+zx4t76b/fvVrSudy+VOLj9kmqRXSVuS0oZ2neVxao1cjhxQUVxTWqpO1pLbbtchMWm
tNSVpaWeSS31rC9VpyLeSP2UYCKeLC0lJrWUWF+qWlGISV9KZGmpb1JLfetL1amIb96X+uJaeqEn
qGsoRYh8ny0P0em/biYG1y3U6EsOczqTNbFj40OGYQSVTUDPVex9DF2RzJ0PaSNGY3ah1A8dLTsy
BuYjYyArfwtN5m9hn/ztiqmaiO12OFOhhYXmLSwUszC1591nvlkkL/jrGzMwGNilbSZFJp1+ZIt2
dY4zMu84I1mpSWxSS2Orpeq0NDavpbEkLcXO6y/q51iuEp/bnRpXFzvPA/kjl9z9IWxSS/GStBQv
T0uxLC01OT6CXRvx1VmFazziY1njI9jk+Ai24yMKtdT8+AiWNT6CTY6PYDs+olxRTI6PYFnjI9jk
+Ai24yMKVcT8+Aj2ZWlpYFJLA6ulqhUlMOlLZW3lYpNbuTi0WqpORcxvh+JQlpaa3HvCdu9JoZaa
33vCsvaesMm9J2z3nhRqqfm9Jyxr78l1DGrpnrjVUiVaumeuUS0VgCCoKCaPLrv26LJCLcXmtVTW
0WXX5N6Ta/eeFGqp+b0nV9bek2ty78m1e08KtdT83pMra+/JNbn35Nq9J+WKYnLvyZW19+Sa3Hty
7d6TQhUxv/fkytp7ck3uPbl270mhlpo/RujK2ntyTe49uXbvSaGWmt97cmXtPbkm957cyOalqhUl
MpmXytp7ck3uPbl270mhipjfe3Jl7T15JveePLv3pFpRPMegL/Vk7T15JveePGwjvmotNXltridp
7+n7iv/DnJ4+kdfIiP1b94hmf9BU10tJ52jaEDLOMs7xVE9+05vyyYMOzMh7XZfo2jAxThMv8VWP
Ng6ifqQZ+wdY0XZdp+WGJis9L2Scp2q1cZw2nueqHl0cQPtYJ8qy+Zn/So8CHhKz8ViKBhyyVHVy
LE7sSfBNRT+xqqarN+0Pct40rNq/dE55ZqlY6wSIL1oLD+5Ie+QJvPsoBITY5zK454VqITrE2MYS
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
Dz/HDqF0N7VUSUuBdfp+bZNnIX+1oY5ofhLaHDXyqcUwC05S8yETHLUYasEpaj5kgqMWQy04Tc2H
THDUYqgFZ6j5kAmOWgy14Cw1HzLBUYuhFpyj5kMmOGox1ILz1HzIBEcthlpwgZoPmeCoxXAffHNq
P2wn39RkuCVH1gV0kqMmwy05Mi+gkxw1GW7JkX0BneSoyXBLjgwM6CRHTYZbcmRhQCc5ajLckiMT
AzrJUZOhkNyzabPCCt1po1jkcmRaxp4FLwcWgxlCHMLYd1AyfEtCBZrhWxJ6cd6o5IvkjZa8wyvF
dhBk+FJLHW6p88zw/XIra1Hzk9CWz/BdTYudZ4YvCQ5bhi8JDnWGLwkOW4YvCQ51hi8JDluGLwkO
dYYvCQ5bhi8JDnWGLwkOW4YvCQ51hi8JDluGLwkOdYYvCQ5bhi8JDnWGLwkOW4YvCQ53hi8pDl2G
L0kOd4YvSQ5dhi9JDneGL0kOXYYvSQ53hi9JDl2GL0kOd4YvSQ5dhi9JDneGL0kOXYYvSQ53hi9J
Dl2GL0luwQzf0SQRnRiY6aVk2nac+WB65kbXCyF9UlIDyfAtCRVohm9J6AfzRtV+RvwyeaMl7wCs
XIG6oJaauaXOJ8P3UUMd0fwktJOERi22zjt8SXCLCo5abG13+JLgFhUctdja7vAlwS0qOGqxtd3h
S4JbVHDUYmu7w5cEt6jgqMXWdocvCW5RwVGLre0OXxLcooKjFlvbHb4kuEUFRy22ujt8SXHLnnxT
k0GS3J/+/Nf/+aef/lLVJvRq0f9qFjsQb3cerrxlGlFxebH4m4FU4jOZpEe8/bMd7z4QUCRZ+TUx
5HSDb9YjRXoWTTqNxmodalUrU6s6f7WqFapVr0OtemVq1eevVr1CtZp1qNWsTK3m/NVqVqhWuw61
2pWp1Z6/Wu0K1erWoVa3MrW681erW6Fa/TrU6lemVn/+avUrVGtYh1rDytQazl+tYX1qlXwVaq32
mlDrOaBrVjivCLGuV7SBd340bNBKMR3yO+b4FRNSjcH1UUSbgNT1KgkVqIOoJHTo1aJK3gFYkcIJ
db2opXCWA53JKlvU/CQ0QHW9zr3FzryuFwkOW10vEhzqul4kOGx1vUhwqOt6keCw1fUiwaGu60WC
w1bXiwSHuq4XCQ5bXS8SHOq6XiQ4bHW9SHCo63qR4LDV9SLBoa7rRYLDVteLBIe7rhcpDl1dL5Lc
YnW9jrQJ7bkABYK6XnO/3Xm48pZpxEl1vXA24FwFr4re/jW3rgBf12ue18RT1wtws85V1wtTk85V
8Oos1apWplZ1/mpVK1SrXoda9crUqs9frXqFajXrUKtZmVrN+avVrFCtdh1qtStTqz1/tdoVqtWt
Q61uZWp1569Wt0K1+nWo1a9Mrf781epXqNawDrWGlak1nL9aw/rU+kx1pHNUa7XXxFPX69zUem5N
WvCV728/XJU2wI+XV2la1a7CQC5+89PmOr3+jv3mw4fN9fefbi+vbjIoZf/6XbplO+TZ5fW4eXvz
qXv9J78yZvfh+7i9Tjc32/Rxs709+MMTYHv5eXM/qc2PfKHBo7aaSQk7thzkyZfnH25DGOEsEcgB
VbSKZUo3MbMYpvZWC4L0wJ/Xe7+58Hj8xMVf/dnij6NSqguyZ0PXj0x33rNO8V0FTm97qcfB6QFI
ncqSUBcH+cUbYQuCP1j/UOw71UP1a6ULwn3lWulKE1RxQdi/ij1AGTxUJ3wJ3W/KApc0GPxW+IY1
EOSw9jYAKwv5SveDAOcju1p4slhvG4CVhSJZLC4LRbKAJgtNslhcFppkAU0WhmSxuCwMyQKaLCzJ
YnFZWJIFNFk4ksXisnAkC2iy8CSLxWXhSRbQZBFIFovLIpAswB3ncdLF8ud5nIQBThiChLG8MAQJ
A5ww6KgbgDDorBueMOiwG4Aw6LQbnjDouBuAMOi8G54w6MAbgDDoxBueMOjIG4Aw6MwbVqbXEKLr
uQlMC8OZznGzYPTI0mik6qMOIXkgmV4loYLN9CoJvjjbKJOwsk5Kwn3lohE4mV7rwx55pldRg8Fv
hW9Ygy3T6xzbgDK96uF8ZFcLTxbrbQPK9CJZUBvgkYUmWaw904tkAS7LiGSx6jagTC+SBbUBHlk4
ksXaM71IFuCyjEgWq24DyvQiWVAb4JHF0klGpIt1NwJlepEwqBFQCYOOuinTi4QBL8mIhLHuRqBM
LxIGNQIqYdCBN2V6kTDgJRmRMNbdCDAzvbjyXeSjZb2OHdNJ9Szy3jCrR9uFbojdCCXTqyRUsJle
JcEflIbcTxusnm1UEu4yd3rJC8L+VexRZXrJJ1lGRQ0GvxW+YQ2gG9NX2wZIM70kBpyP7GrhyWK9
bYA004tk0UIWimSBK9OLZNFCFppkgSvTi2TRQhaGZIEr04tk0UIWlmSBK9OLZNFCFo5kgSvTi2TR
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
AAAAAO4EP0oAAAAAAAAAAAAAAAAcABgAAAAAAAAAEADtQanbAgBhY2Nlc3NpYmlsaXR5L2lvcy1z
aW11bGF0b3IvVVQFAAM/TZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAaQg/SrcwRpTzAAAA
HQIAADMAGAAAAAAAAQAAAKSB/9sCAGFjY2Vzc2liaWxpdHkvaW9zLXNpbXVsYXRvci9hYmJyZXZp
YXRpb24tc3RkZXJyLnR4dFVUBQAD1VKQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAO4EP0oA
AAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQV/dAgBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL1VU
BQADQE2QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGkIP0riEnd/9AAAAB0CAABWABgAAAAA
AAEAAACkgbPdAgBhY2Nlc3NpYmlsaXR5L3RleHQtbWFya2VyL2NoYXJhY3Rlci1vZmZzZXQtdmlz
aWJsZS1wb3NpdGlvbi1jb252ZXJzaW9uLWhhbmctc3RkZXJyLnR4dFVUBQAD1VKQWHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAO4EP0oAAAAAAAAAAAAAAAALABgAAAAAAAAAEADtQTffAgBhbmlt
YXRpb25zL1VUBQADQE2QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAO4EP0oAAAAAAAAAAAAA
AAAOABgAAAAAAAAAEADtQXzfAgBhbmltYXRpb25zLzNkL1VUBQADQE2QWHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAGkIP0qark5+8wAAAB0CAAA2ABgAAAAAAAEAAACkgcTfAgBhbmltYXRpb25z
LzNkL2NoYW5nZS10cmFuc2Zvcm0taW4tZW5kLWV2ZW50LXN0ZGVyci50eHRVVAUAA9ZSkFh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACABpCD9KLqq75PMAAAAdAgAAMAAYAAAAAAABAAAApIEn4QIA
YW5pbWF0aW9ucy9DU1NLZXlmcmFtZXNSdWxlLW5hbWUtbnVsbC1zdGRlcnIudHh0VVQFAAPVUpBY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA9gQ/SgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1B
hOICAGNvbXBvc2l0aW5nL1VUBQADT02QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPIEP0oA
AAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQcriAgBjb21wb3NpdGluZy9nZW9tZXRyeS9VVAUAA0dN
kFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABsCD9KtKYW/EUBAACiBQAAMwAYAAAAAAABAAAA
pIEZ4wIAY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtaW4tY29tcG9zaXRlZC1hY3R1YWwudHh0
VVQFAAPcUpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbAg/SrOfGW0aAQAAqQIAADEAGAAA
AAAAAQAAAKSBy+QCAGNvbXBvc2l0aW5nL2dlb21ldHJ5L2ZpeGVkLWluLWNvbXBvc2l0ZWQtZGlm
Zi50eHRVVAUAA9xSkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABsCD9Ksjf+6kgBAACiBQAA
NQAYAAAAAAABAAAApIFQ5gIAY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtaW4tY29tcG9zaXRl
ZC1leHBlY3RlZC50eHRVVAUAA9xSkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABsCD9K/GYn
lSIIAACJHAAAOQAYAAAAAAABAAAApIEH6AIAY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtaW4t
Y29tcG9zaXRlZC1wcmV0dHktZGlmZi5odG1sVVQFAAPcUpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAA9gQ/SgAAAAAAAAAAAAAAABIAGAAAAAAAAAAQAO1BnPACAGNvbXBvc2l0aW5nL3ZpZGVv
L1VUBQADUE2QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHEIP0oEjdih9AAAAB0CAAAjABgA
AAAAAAEAAACkgejwAgBjb21wb3NpdGluZy92aWRlby9wb3N0ZXItc3RkZXJyLnR4dFVUBQAD5VKQ
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAHEIP0oD9mOI9QAAAB0CAAAwABgAAAAAAAEAAACk
gTnyAgBjb21wb3NpdGluZy92aWRlby92aWRlby1ib3JkZXItcmFkaXVzLXN0ZGVyci50eHRVVAUA
A+ZSkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD2BD9KAAAAAAAAAAAAAAAAEQAYAAAAAAAA
ABAA7UGY8wIAY29udGVudGZpbHRlcmluZy9VVAUAA09NkFh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACABxCD9KWicFf/MAAAAdAgAAMAAYAAAAAAABAAAApIHj8wIAY29udGVudGZpbHRlcmluZy9h
bGxvdy1tZWRpYS1kb2N1bWVudC1zdGRlcnIudHh0VVQFAAPlUpBYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAA+AQ/SgAAAAAAAAAAAAAAAAcAGAAAAAAAAAAQAO1BQPUCAGNyeXB0by9VVAUAA1RN
kFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAD3BD9KAAAAAAAAAAAAAAAADgAYAAAAAAAAABAA
7UGB9QIAY3J5cHRvL3N1YnRsZS9VVAUAA1JNkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAIAAABy
CD9KJeDTCCwAAAAsAAAAPgAYAAAAAAABAAAApIHJ9QIAY3J5cHRvL3N1YnRsZS9yc2EtZ2VuZXJh
dGUta2V5LW1hbGZvcm1lZC1wYXJhbWV0ZXJzLXN0ZGVyci50eHRVVAUAA+dSkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAByCD9KMDu4sUsAAABoAAAAPAAYAAAAAAABAAAApIFt9gIAY3J5cHRv
L3N1YnRsZS9yc2EtaW1wb3J0LWtleS1tYWxmb3JtZWQtcGFyYW1ldGVycy1zdGRlcnIudHh0VVQF
AAPnUpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA+AQ/SgAAAAAAAAAAAAAAAA8AGAAAAAAA
AAAQAO1BLvcCAGNyeXB0by93b3JrZXJzL1VUBQADVE2QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoA
AAAAAPgEP0oAAAAAAAAAAAAAAAAWABgAAAAAAAAAEADtQXf3AgBjcnlwdG8vd29ya2Vycy9zdWJ0
bGUvVVQFAANUTZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgACAAAAcwg/SiXg0wgsAAAALAAAADEA
GAAAAAAAAQAAAKSBx/cCAGNyeXB0by93b3JrZXJzL3N1YnRsZS9yc2EtZ2VuZXJhdGUta2V5LXN0
ZGVyci50eHRVVAUAA+pSkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAANBT9KAAAAAAAAAAAA
AAAABQAYAAAAAAAAABAA7UFe+AIAY3NzMy9VVAUAA3lNkFh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAAAGBT9KAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA7UGd+AIAY3NzMy9maWx0ZXJzL1VUBQAD
bE2QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAYFP0oAAAAAAAAAAAAAAAAWABgAAAAAAAAA
EADtQeT4AgBjc3MzL2ZpbHRlcnMvYmFja2Ryb3AvVVQFAANsTZBYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAgQg/ShOWA1LWAgAAapIAADcAGAAAAAAAAAAAAKSBNPkCAGNzczMvZmlsdGVycy9i
YWNrZHJvcC9keW5hbWljLXdpdGgtY2xpcC1wYXRoLWFjdHVhbC5wbmdVVAUAAwFTkFh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACBCD9K1ynez+AAAADXJQAANQAYAAAAAAAAAAAApIF7/AIAY3Nz
My9maWx0ZXJzL2JhY2tkcm9wL2R5bmFtaWMtd2l0aC1jbGlwLXBhdGgtZGlmZi5wbmdVVAUAAwFT
kFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACBCD9Kg7QzJpwFAAAyEgAANwAYAAAAAAABAAAA
pIHK/QIAY3NzMy9maWx0ZXJzL2JhY2tkcm9wL2R5bmFtaWMtd2l0aC1jbGlwLXBhdGgtZGlmZnMu
aHRtbFVUBQADAVOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIEIP0qCWdUl2wAAAL0BAAA6
ABgAAAAAAAEAAACkgdcDAwBjc3MzL2ZpbHRlcnMvYmFja2Ryb3AvZHluYW1pYy13aXRoLWNsaXAt
cGF0aC1leHBlY3RlZC5odG1sVVQFAAMBU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAgQg/
SjlHm2DTAgAAbpIAADkAGAAAAAAAAAAAAKSBJgUDAGNzczMvZmlsdGVycy9iYWNrZHJvcC9keW5h
bWljLXdpdGgtY2xpcC1wYXRoLWV4cGVjdGVkLnBuZ1VUBQADAVOQWHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAA4FP0oAAAAAAAAAAAAAAAAQABgAAAAAAAAAEADtQWwIAwBjc3MzL3NlbGVjdG9y
czMvVVQFAAN7TZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAADQU/SgAAAAAAAAAAAAAAABYA
GAAAAAAAAAAQAO1BtggDAGNzczMvc2VsZWN0b3JzMy94aHRtbC9VVAUAA3lNkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACACICD9KW7YpvfEAAAAdAgAALgAYAAAAAAABAAAApIEGCQMAY3NzMy9z
ZWxlY3RvcnMzL3hodG1sL2NzczMtbW9kc2VsLTEtc3RkZXJyLnR4dFVUBQADD1OQWHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAA4FP0oAAAAAAAAAAAAAAAAUABgAAAAAAAAAEADtQV8KAwBjc3Mz
L3NlbGVjdG9yczMveG1sL1VUBQADe02QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIkIP0oZ
rXXf8wAAAB0CAAAsABgAAAAAAAEAAACkga0KAwBjc3MzL3NlbGVjdG9yczMveG1sL2NzczMtbW9k
c2VsLTEtc3RkZXJyLnR4dFVUBQADEVOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACEFP0oA
AAAAAAAAAAAAAAAIABgAAAAAAAAAEADtQQYMAwBlZGl0aW5nL1VUBQADnU2QWHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAACcFP0oAAAAAAAAAAAAAAAASABgAAAAAAAAAEADtQUgMAwBlZGl0aW5n
L3NlbGVjdGlvbi9VVAUAA6pNkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACaCD9KP1Qz7PQA
AAAdAgAANwAYAAAAAAABAAAApIGUDAMAZWRpdGluZy9zZWxlY3Rpb24vY2hhcmFjdGVyLWdyYW51
bGFyaXR5LXJlY3Qtc3RkZXJyLnR4dFVUBQADM1OQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AJoIP0oyAEJC9AAAAB0CAAAyABgAAAAAAAEAAACkgfkNAwBlZGl0aW5nL3NlbGVjdGlvbi9jbGVh
ci1zZWxlY3Rpb24tY3Jhc2gtc3RkZXJyLnR4dFVUBQADM1OQWHV4CwABBPUBAAAEFAAAAFBLAQIe
AxQAAgAIAKIIP0qgWciLZQAAAG0AAAAtABgAAAAAAAEAAACkgVkPAwBlZGl0aW5nL3NlbGVjdGlv
bi9zZWxlY3QtY3Jhc2gtMDAyLXN0ZGVyci50eHRVVAUAA0BTkFh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACACoCj9K0npua7oLAACYWQAADQAYAAAAAAABAAAApIElEAMAZXJyb3JfbG9nLnR4dFVU
BQADDFeQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOcIP0oAAAAAAAAAAAAAAAAFABgAAAAA
AAAAEADtQSYcAwBmYXN0L1VUBQADwlOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAACkFP0oA
AAAAAAAAAAAAAAAMABgAAAAAAAAAEADtQWUcAwBmYXN0L2NhbnZhcy9VVAUAA65NkFh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACACkCD9Kr4nGi40AAAA0AQAAJgAYAAAAAAABAAAApIGrHAMAZmFz
dC9jYW52YXMvY2FudmFzLWxpbmVEYXNoLXN0ZGVyci50eHRVVAUAA0RTkFh1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAACoCD9KAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UGYHQMAZmFzdC9jc3Mv
VVQFAANMU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgApAg/SouOECfyAAAAHQIAAC4AGAAA
AAAAAQAAAKSB2x0DAGZhc3QvY3NzL2F0dHJpYnV0ZS1zZWxlY3Rvci1keW5hbWljLXN0ZGVyci50
eHRVVAUAA0NTkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACACoCD9K2wjTQjsAAAA/AAAAKQAY
AAAAAAABAAAApIE1HwMAZmFzdC9jc3MvY29tcGFyZS1jb250ZW50LXN0eWxlLXN0ZGVyci50eHRV
VAUAA0tTkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACoCD9KAAAAAAAAAAAAAAAAFAAYAAAA
AAAAABAA7UHTHwMAZmFzdC9jc3MvZHVtcEFzVGV4dC9VVAUAA0xTkFh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACoCD9KJt9nFPMAAAAdAgAAPgAYAAAAAAABAAAApIEhIAMAZmFzdC9jc3MvZHVt
cEFzVGV4dC94bWwtc3R5bGVzaGVldC1waS1ub3QtaW4tcHJvbG9nLXN0ZGVyci50eHRVVAUAA0xT
kFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAtBT9KAAAAAAAAAAAAAAAAFAAYAAAAAAAAABAA
7UGMIQMAZmFzdC9jc3MvbmFtZXNwYWNlcy9VVAUAA7ZNkFh1eAsAAQT1AQAABBQAAABQSwECHgMU
AAIACAAtBT9KVK2hxvMAAAAdAgAAIgAYAAAAAAABAAAApIHaIQMAZmFzdC9jc3MvbmFtZXNwYWNl
cy8wMDEtc3RkZXJyLnR4dFVUBQADtk2QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAK0IP0oA
AAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQSkjAwBmYXN0L2RvbS9VVAUAA1ZTkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAACtCD9KAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA7UFsIwMAZmFzdC9k
b20vRG9jdW1lbnQvVVQFAANWU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgArQg/SsIv+mX0
AAAAHQIAAC8AGAAAAAAAAQAAAKSBuCMDAGZhc3QvZG9tL0RvY3VtZW50L3htbC1kb2N1bWVudC1m
b2N1cy1zdGRlcnIudHh0VVQFAANWU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAANgU/SgAA
AAAAAAAAAAAAAB0AGAAAAAAAAAAQAO1BFSUDAGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQv
VVQFAAPHTZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgANgU/Sih0tkXyAAAAHQIAAEcAGAAA
AAAAAQAAAKSBbCUDAGZhc3QvZG9tL0hUTUxUZW1wbGF0ZUVsZW1lbnQveGh0bWwtcGFyc2luZy1h
bmQtc2VyaWFsaXphdGlvbi1zdGRlcnIudHh0VVQFAAPHTZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAASgU/SgAAAAAAAAAAAAAAAAsAGAAAAAAAAAAQAO1B3yYDAGZhc3QvZm9ybXMvVVQFAAPr
TZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAvAg/ShE+t62WAAAAxQAAADMAGAAAAAAAAQAA
AKSBJCcDAGZhc3QvZm9ybXMvaW50ZXJhY3RpdmUtdmFsaWRhdGlvbi1jYW5jZWwtc3RkZXJyLnR4
dFVUBQADdFOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEYFP0rkrMGPZQAAAG0AAAAmABgA
AAAAAAEAAACkgScoAwBmYXN0L2Zvcm1zL3BsYWludGV4dC1tb2RlLTItc3RkZXJyLnR4dFVUBQAD
402QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMUIP0pVbTrGwwAAANkDAAApABgAAAAAAAEA
AACkgewoAwBmYXN0L2Zvcm1zL3ZhbGlkYXRpb24tbWVzc2FnZXMtc3RkZXJyLnR4dFVUBQADglOQ
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAEcFP0oAAAAAAAAAAAAAAAAMABgAAAAAAAAAEADt
QRIqAwBmYXN0L2ZyYW1lcy9VVAUAA+VNkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADCCD9K
2wjTQjsAAAA/AAAALwAYAAAAAAABAAAApIFYKgMAZmFzdC9mcmFtZXMvZnJhbWUtZGlzcGxheS1u
b25lLWZvY3VzLXN0ZGVyci50eHRVVAUAA3xTkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABM
BT9KAAAAAAAAAAAAAAAADAAYAAAAAAAAABAA7UH8KgMAZmFzdC9pbWFnZXMvVVQFAAPwTZBYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAygg/SiGPvTgyAAAAMwAAACwAGAAAAAAAAQAAAKSBQisD
AGZhc3QvaW1hZ2VzL3BkZi1hcy1pbWFnZS1jcm9wLWJveC1zdGRlcnIudHh0VVQFAAOLU5BYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAUAU/SgAAAAAAAAAAAAAAAAwAGAAAAAAAAAAQAO1B2isD
AGZhc3QvbG9hZGVyL1VUBQAD+E2QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMkIP0rbCNNC
OwAAAD8AAABSABgAAAAAAAEAAACkgSAsAwBmYXN0L2xvYWRlci9kaXNwbGF5LWltYWdlLXVuc2V0
LWNhbi1ibG9jay1pbWFnZS1hbmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAOK
U5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAygg/StsI00I7AAAAPwAAAFMAGAAAAAAAAQAA
AKSB5ywDAGZhc3QvbG9hZGVyL2ltYWdlcy1lbmFibGVkLXVuc2V0LWNhbi1ibG9jay1pbWFnZS1h
bmQtY2FuLXJlbG9hZC1pbi1wbGFjZS1zdGRlcnIudHh0VVQFAAOLU5BYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAywg/StsI00I7AAAAPwAAAC0AGAAAAAAAAQAAAKSBry0DAGZhc3QvbG9hZGVy
L3JlbG9hZC1wb2xpY3ktZGVsZWdhdGUtc3RkZXJyLnR4dFVUBQADjlOQWHV4CwABBPUBAAAEFAAA
AFBLAQIeAwoAAAAAAFsFP0oAAAAAAAAAAAAAAAAOABgAAAAAAAAAEADtQVEuAwBmYXN0L3JlcGxh
Y2VkL1VUBQADDU6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFsFP0pM4HBYcAIAAOAKAAAt
ABgAAAAAAAEAAACkgZkuAwBmYXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LWFjdHVh
bC50eHRVVAUAAw1OkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABbBT9KUWf40fgAAABqAgAA
KwAYAAAAAAABAAAApIFwMQMAZmFzdC9yZXBsYWNlZC90YWJsZS1wZXJjZW50LWhlaWdodC1kaWZm
LnR4dFVUBQADDU6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFsFP0rcngxWWwIAAM8KAAAv
ABgAAAAAAAEAAACkgc0yAwBmYXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LWV4cGVj
dGVkLnR4dFVUBQADDU6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFsFP0pU3F6VLwgAACsd
AAAzABgAAAAAAAEAAACkgZE1AwBmYXN0L3JlcGxhY2VkL3RhYmxlLXBlcmNlbnQtaGVpZ2h0LXBy
ZXR0eS1kaWZmLmh0bWxVVAUAAw1OkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABdBT9KAAAA
AAAAAAAAAAAAEAAYAAAAAAAAABAA7UEtPgMAZmFzdC9zaGFkb3ctZG9tL1VUBQADEk6QWHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIANYIP0rgnIso/AEAAIYGAAArABgAAAAAAAEAAACkgXc+AwBm
YXN0L3NoYWRvdy1kb20vY29weS1zaGFkb3ctdHJlZS1hY3R1YWwudHh0VVQFAAOkU5BYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgA2Ag/SoQbM0BlAAAAbQAAADkAGAAAAAAAAQAAAKSB2EADAGZh
c3Qvc2hhZG93LWRvbS9zZWxlY3Rpb24tYXQtc2hhZG93LXJvb3QtY3Jhc2gtc3RkZXJyLnR4dFVU
BQADp1OQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGkFP0oAAAAAAAAAAAAAAAAKABgAAAAA
AAAAEADtQbBBAwBmYXN0L3RleHQvVVQFAAMmTpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAA
ZwU/SgAAAAAAAAAAAAAAABgAGAAAAAAAAAAQAO1B9EEDAGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFs
L1VUBQADIk6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAGkFP0oAAAAAAAAAAAAAAAAoABgA
AAAAAAAAEADtQUZCAwBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2UvVVQF
AAMmTpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA5Qg/Sm4kxCH1AAAAHQIAAFIAGAAAAAAA
AQAAAKSBqEIDAGZhc3QvdGV4dC9pbnRlcm5hdGlvbmFsL3N5c3RlbS1sYW5ndWFnZS9hcmFiaWMt
Z2x5cGgtY2FjaGUtZmlsbC1jb21iaW5lLXN0ZGVyci50eHRVVAUAA75TkFh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADmCD9KH8E4APMAAAAdAgAARwAYAAAAAAABAAAApIEpRAMAZmFzdC90ZXh0
L2ludGVybmF0aW9uYWwvc3lzdGVtLWxhbmd1YWdlL2RlY2xhcmF0aXZlLWxhbmd1YWdlLXN0ZGVy
ci50eHRVVAUAA79TkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADmCD9K/98L5/UAAAAdAgAA
PQAYAAAAAAABAAAApIGdRQMAZmFzdC90ZXh0L2ludGVybmF0aW9uYWwvc3lzdGVtLWxhbmd1YWdl
L2hhbi1xdW90ZXMtc3RkZXJyLnR4dFVUBQADwFOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AOcIP0rNJkta9AAAAB0CAABQABgAAAAAAAEAAACkgQlHAwBmYXN0L3RleHQvaW50ZXJuYXRpb25h
bC9zeXN0ZW0tbGFuZ3VhZ2UvaGluZGktc3lzdGVtLWZvbnQtcHVuY3R1YXRpb24tc3RkZXJyLnR4
dFVUBQADwVOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOcIP0rk5iqs9AAAAB0CAABKABgA
AAAAAAEAAACkgYdIAwBmYXN0L3RleHQvaW50ZXJuYXRpb25hbC9zeXN0ZW0tbGFuZ3VhZ2Uvc3lz
dGVtLWZvbnQtcHVuY3R1YXRpb24tc3RkZXJyLnR4dFVUBQADwlOQWHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAGkFP0oAAAAAAAAAAAAAAAAVABgAAAAAAAAAEADtQf9JAwBmYXN0L3RleHQvdmFy
aWF0aW9ucy9VVAUAAyZOkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABpBT9Kl4XIpvQAAAAd
AgAALwAYAAAAAAABAAAApIFOSgMAZmFzdC90ZXh0L3ZhcmlhdGlvbnMvY2FzZS1heGlzLW5hbWVz
LXN0ZGVyci50eHRVVAUAAyZOkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABbBz9KAAAAAAAA
AAAAAAAAFQAYAAAAAAAAABAA7UGrSwMAZmFzdC90ZXh0LWF1dG9zaXppbmcvVVQFAAPOUZBYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAWwc/SgAAAAAAAAAAAAAAABkAGAAAAAAAAAAQAO1B+ksD
AGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9VVAUAA85RkFh1eAsAAQT1AQAABBQAAABQSwECHgMK
AAAAAABbBz9KAAAAAAAAAAAAAAAAHgAYAAAAAAAAABAA7UFNTAMAZmFzdC90ZXh0LWF1dG9zaXpp
bmcvaW9zL2lwYWQvVVQFAAPOUZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4Ao/SkHgtYLz
AAAAHQIAAEYAGAAAAAAAAQAAAKSBpUwDAGZhc3QvdGV4dC1hdXRvc2l6aW5nL2lvcy9pcGFkL3By
b2dyYW1tYXRpYy10ZXh0LXNpemUtYWRqdXN0LXN0ZGVyci50eHRVVAUAA3NXkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAADnCD9KAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UEYTgMAZmFzdC90
cmFuc2Zvcm1zL1VUBQADwlOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOcIP0p4+GF09AAA
AB0CAAAtABgAAAAAAAEAAACkgWJOAwBmYXN0L3RyYW5zZm9ybXMvYm91bmRpbmctcmVjdC16b29t
LXN0ZGVyci50eHRVVAUAA8JTkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABbBz9KAAAAAAAA
AAAAAAAADgAYAAAAAAAAABAA7UG9TwMAZmFzdC92aWV3cG9ydC9VVAUAA85RkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAABbBz9KAAAAAAAAAAAAAAAAEgAYAAAAAAAAABAA7UEFUAMAZmFzdC92
aWV3cG9ydC9pb3MvVVQFAAPOUZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAWwc/SgAAAAAA
AAAAAAAAABcAGAAAAAAAAAAQAO1BUVADAGZhc3Qvdmlld3BvcnQvaW9zL2lwYWQvVVQFAAPOUZBY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA4Ao/SjGzs/n0AAAAHQIAADcAGAAAAAAAAQAAAKSB
olADAGZhc3Qvdmlld3BvcnQvaW9zL2lwYWQvd2lkdGgtaXMtZGV2aWNlLXdpZHRoLXN0ZGVyci50
eHRVVAUAA3NXkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADqCD9KAAAAAAAAAAAAAAAACQAY
AAAAAAAAABAA7UEHUgMAZmFzdC94c2wvVVQFAAPIU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgA6gg/SjvgRbfzAAAAHQIAACUAGAAAAAAAAQAAAKSBSlIDAGZhc3QveHNsL2RvY3VtZW50LWZ1
bmN0aW9uLXN0ZGVyci50eHRVVAUAA8hTkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADqCD9K
Tvsg+IgAAADnAAAAJQAYAAAAAAABAAAApIGcUwMAZmFzdC94c2wvdHJhbnNmb3JtLXhoci1kb2Mt
c3RkZXJyLnR4dFVUBQADyFOQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOoIP0r9oi5kjwAA
AO4AAAAnABgAAAAAAAEAAACkgYNUAwBmYXN0L3hzbC94c2x0LWJhZC1pbXBvcnQtdXJpLXN0ZGVy
ci50eHRVVAUAA8hTkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADqCD9Kz49mDlAAAACgAAAA
JAAYAAAAAAABAAAApIFzVQMAZmFzdC94c2wveHNsdC1jb250ZW50VHlwZS1zdGRlcnIudHh0VVQF
AAPIU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6wg/SoFKd61LAAAArAAAADQAGAAAAAAA
AQAAAKSBIVYDAGZhc3QveHNsL3hzbHQtdHJhbnNmb3JtLXRvLWZyYWdtZW50LWNyYXNoLXN0ZGVy
ci50eHRVVAUAA8lTkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADpCj9K/nxbnNcBAAAfAwAA
EQAYAAAAAAABAAAApIHaVgMAZnVsbF9yZXN1bHRzLmpzb25VVAUAA4VXkFh1eAsAAQT1AQAABBQA
AABQSwECHgMKAAAAAAB1BT9KAAAAAAAAAAAAAAAABQAYAAAAAAAAABAA7UH8WAMAaHR0cC9VVAUA
Az1OkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAKCT9KAAAAAAAAAAAAAAAACwAYAAAAAAAA
ABAA7UE7WQMAaHR0cC90ZXN0cy9VVAUAAwRUkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB1
BT9KAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UGAWQMAaHR0cC90ZXN0cy9jb29raWVzL1VUBQAD
PU6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPAIP0o6agwNvwEAAGArAAA5ABgAAAAAAAEA
AACkgc1ZAwBodHRwL3Rlc3RzL2Nvb2tpZXMvdGhpcmQtcGFydHktY29va2llLXJlbGF4aW5nLXN0
ZGVyci50eHRVVAUAA9RTkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB3BT9KAAAAAAAAAAAA
AAAAEgAYAAAAAAAAABAA7UH/WwMAaHR0cC90ZXN0cy9pbWFnZXMvVVQFAANCTpBYdXgLAAEE9QEA
AAQUAAAAUEsBAh4DFAACAAgA8gg/Skrx8cx6AAAARwEAAC4AGAAAAAAAAQAAAKSBS1wDAGh0dHAv
dGVzdHMvaW1hZ2VzL2hpZHBpLXNyY3NldC1jb3B5LXN0ZGVyci50eHRVVAUAA9hTkFh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAACDBT9KAAAAAAAAAAAAAAAAEwAYAAAAAAAAABAA7UEtXQMAaHR0
cC90ZXN0cy9sb2FkaW5nL1VUBQADVk6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAIMFP0oQ
RXXm8gAAAB0CAABFABgAAAAAAAEAAACkgXpdAwBodHRwL3Rlc3RzL2xvYWRpbmcvdGV4dC1jb250
ZW50LXR5cGUtd2l0aC1iaW5hcnktZXh0ZW5zaW9uLXN0ZGVyci50eHRVVAUAA1ZOkFh1eAsAAQT1
AQAABBQAAABQSwECHgMKAAAAAACPBT9KAAAAAAAAAAAAAAAAEAAYAAAAAAAAABAA7UHrXgMAaHR0
cC90ZXN0cy9taXNjL1VUBQADbU6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAAkJP0oVNTWS
egAAALwAAAAqABgAAAAAAAEAAACkgTVfAwBodHRwL3Rlc3RzL21pc2MveHNsdC1iYWQtaW1wb3J0
LXN0ZGVyci50eHRVVAUAAwFUkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAB9BT9KAAAAAAAA
AAAAAAAAFgAYAAAAAAAAABAA7UETYAMAaHR0cC90ZXN0cy9uYXZpZ2F0aW9uL1VUBQADTk6QWHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAPkIP0rbCNNCOwAAAD8AAAA3ABgAAAAAAAEAAACkgWNg
AwBodHRwL3Rlc3RzL25hdmlnYXRpb24vZmFsbGJhY2stYW5jaG9yLXJlbG9hZC1zdGRlcnIudHh0
VVQFAAPlU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAjwU/SgAAAAAAAAAAAAAAABQAGAAA
AAAAAAAQAO1BD2EDAGh0dHAvdGVzdHMvc2VjdXJpdHkvVVQFAANtTpBYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAjAU/SgAAAAAAAAAAAAAAACoAGAAAAAAAAAAQAO1BXWEDAGh0dHAvdGVzdHMv
c2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L1VUBQADZ06QWHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAP0IP0pTykzjcwAAAHUAAABXABgAAAAAAAEAAACkgcFhAwBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS9jb25uZWN0LXNyYy1zdGFyLXdlYnNvY2tldC1h
bGxvd2VkLXN0ZGVyci50eHRVVAUAA+1TkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAACT9K
nh3klHMAAAB1AAAAVwAYAAAAAAABAAAApIHFYgMAaHR0cC90ZXN0cy9zZWN1cml0eS9jb250ZW50
U2VjdXJpdHlQb2xpY3kvZGVmYXVsdC1zcmMtc3Rhci13ZWJzb2NrZXQtYWxsb3dlZC1zdGRlcnIu
dHh0VVQFAAPwU5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAiwU/SgAAAAAAAAAAAAAAAEQA
GAAAAAAAAAAQAO1ByWMDAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5
L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvVVQFAANmTpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
FAACAAgACQk/SgeD8i2RAAAAngAAAH4AGAAAAAAAAQAAAKSBR2QDAGh0dHAvdGVzdHMvc2VjdXJp
dHkvY29udGVudFNlY3VyaXR5UG9saWN5L3VwZ3JhZGUtaW5zZWN1cmUtcmVxdWVzdHMvdXBncmFk
ZS1yZWRpcmVjdC1odHRwcy10by1odHRwLXNjcmlwdC1pbi1pZnJhbWUtc3RkZXJyLnR4dFVUBQAD
AVSQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIwFP0oAAAAAAAAAAAAAAAA9ABgAAAAAAAAA
EADtQZBlAwBodHRwL3Rlc3RzL3NlY3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS91c2VyQWdl
bnRTaGFkb3dET00vVVQFAANoTpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACQk/Spc005/1
AAAAHQIAAGsAGAAAAAAAAQAAAKSBB2YDAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3Vy
aXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9kZWZhdWx0LXNyYy1vYmplY3QtZGF0YS11cmwt
YWxsb3dlZC1zdGRlcnIudHh0VVQFAAMBVJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgACgk/
SmBIgKn1AAAAHQIAAGsAGAAAAAAAAQAAAKSBoWcDAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVu
dFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9kZWZhdWx0LXNyYy1vYmplY3QtZGF0
YS11cmwtYmxvY2tlZC1zdGRlcnIudHh0VVQFAAMDVJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAAC
AAgACQk/Srf2TfH0AAAAHQIAAGwAGAAAAAAAAQAAAKSBO2kDAGh0dHAvdGVzdHMvc2VjdXJpdHkv
Y29udGVudFNlY3VyaXR5UG9saWN5L3VzZXJBZ2VudFNoYWRvd0RPTS9kZWZhdWx0LXNyYy1vYmpl
Y3QtZGF0YS11cmwtYmxvY2tlZDMtc3RkZXJyLnR4dFVUBQADAVSQWHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAAcJP0pjqqxsggAAAKgAAABAABgAAAAAAAEAAACkgdVqAwBodHRwL3Rlc3RzL3Nl
Y3VyaXR5L2NvbnRlbnRTZWN1cml0eVBvbGljeS94c2wtYWxsb3dlZC1zdGRlcnIudHh0VVQFAAP9
U5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgABwk/SmOqrGyCAAAAqAAAAFIAGAAAAAAAAQAA
AKSB0WsDAGh0dHAvdGVzdHMvc2VjdXJpdHkvY29udGVudFNlY3VyaXR5UG9saWN5L3hzbC11bmFm
ZmVjdGVkLWJ5LXN0eWxlLXNyYy0yLXN0ZGVyci50eHRVVAUAA/1TkFh1eAsAAQT1AQAABBQAAABQ
SwECHgMKAAAAAACNBT9KAAAAAAAAAAAAAAAAIgAYAAAAAAAAABAA7UHfbAMAaHR0cC90ZXN0cy9z
ZWN1cml0eS9qYXZhc2NyaXB0VVJML1VUBQADaU6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AI0FP0rtXl268wAAAB0CAABjABgAAAAAAAEAAACkgTttAwBodHRwL3Rlc3RzL3NlY3VyaXR5L2ph
dmFzY3JpcHRVUkwvamF2YXNjcmlwdFVSTC1leGVjdXRpb24tY29udGV4dC1mcmFtZS1sb2NhdGlv
bi1odG1sZG9tLXN0ZGVyci50eHRVVAUAA2lOkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAK
CT9KYEtmEJEAAAD7AQAARQAYAAAAAAABAAAApIHLbgMAaHR0cC90ZXN0cy9zZWN1cml0eS94c3Mt
REVOSUVELXhzbC1kb2N1bWVudC1zZWN1cml0eU9yaWdpbi1zdGRlcnIudHh0VVQFAAMEVJBYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAjgU/SgAAAAAAAAAAAAAAAB8AGAAAAAAAAAAQAO1B228D
AGh0dHAvdGVzdHMvc2VjdXJpdHkveHNzQXVkaXRvci9VVAUAA2xOkFh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACACOBT9KwNQMZOwAAAB8AQAATAAYAAAAAAABAAAApIE0cAMAaHR0cC90ZXN0cy9z
ZWN1cml0eS94c3NBdWRpdG9yL2NyYXNoLXdoaWxlLWxvYWRpbmctdGFnLXdpdGgtcGF1c2Utc3Rk
ZXJyLnR4dFVUBQADbE6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAoJP0oAAAAAAAAAAAAA
AAAPABgAAAAAAAAAEADtQaZxAwBodHRwL3Rlc3RzL3NzbC9VVAUAAwRUkFh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACAAKCT9KFRP3bfMAAAAdAgAALgAYAAAAAAABAAAApIHvcQMAaHR0cC90ZXN0
cy9zc2wvaWZyYW1lLXVwZ3JhZGUuaHR0cHMtc3RkZXJyLnR4dFVUBQADBFSQWHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAABAJP0oAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQUpzAwBodHRwL3Rl
c3RzL3htbGh0dHByZXF1ZXN0L1VUBQADD1SQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAA0J
P0rrAHMWMgEAAGwFAABOABgAAAAAAAEAAACkgZ5zAwBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0
L2FjY2Vzcy1jb250cm9sLXByZWZsaWdodC1jcmVkZW50aWFsLWFzeW5jLXN0ZGVyci50eHRVVAUA
AwpUkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAANCT9KcYp4PUsBAADYCgAATQAYAAAAAAAB
AAAApIFYdQMAaHR0cC90ZXN0cy94bWxodHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGln
aHQtY3JlZGVudGlhbC1zeW5jLXN0ZGVyci50eHRVVAUAAwpUkFh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAOCT9KhVTV4jIBAABsBQAASwAYAAAAAAABAAAApIEqdwMAaHR0cC90ZXN0cy94bWxo
dHRwcmVxdWVzdC9hY2Nlc3MtY29udHJvbC1wcmVmbGlnaHQtaGVhZGVycy1hc3luYy1zdGRlcnIu
dHh0VVQFAAMLVJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgADwk/ShNWEqofAQAAtgIAAEAA
GAAAAAAAAQAAAKSB4XgDAGh0dHAvdGVzdHMveG1saHR0cHJlcXVlc3QvY3Jvc3Mtb3JpZ2luLWNv
b2tpZS1zdG9yYWdlLXN0ZGVyci50eHRVVAUAAw5UkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CAAPCT9KtmlXYB0BAAC2AgAARgAYAAAAAAABAAAApIF6egMAaHR0cC90ZXN0cy94bWxodHRwcmVx
dWVzdC9jcm9zcy1vcmlnaW4tbm8tY3JlZGVudGlhbC1wcm9tcHQtc3RkZXJyLnR4dFVUBQADDlSQ
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIABAJP0pbOR4A8gAAAB0CAAA5ABgAAAAAAAEAAACk
gRd8AwBodHRwL3Rlc3RzL3htbGh0dHByZXF1ZXN0L2VuY29kZS1yZXF1ZXN0LXVybC0yLXN0ZGVy
ci50eHRVVAUAAw9UkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABkCD9KWwRYDqIFAABNEAAA
CgAYAAAAAAABAAAApIF8fQMAaHR0cGQuY29uZlVUBQADy1KQWHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAAMkFP0oAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQWKDAwBpbXBvcnRlZC9VVAUAA9pO
kFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADrBT9KAAAAAAAAAAAAAAAADQAYAAAAAAAAABAA
7UGlgwMAaW1wb3J0ZWQvdzNjL1VUBQADGU+QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMkF
P0oAAAAAAAAAAAAAAAAaABgAAAAAAAAAEADtQeyDAwBpbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJ
L1VUBQAD2k6QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMoFP0oAAAAAAAAAAAAAAAAmABgA
AAAAAAAAEADtQUCEAwBpbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L1VUBQAD
206QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADoJP0qPNBpwRAAAAKAJAABHABgAAAAAAAEA
AACkgaCEAwBpbXBvcnRlZC93M2MvV2ViQ3J5cHRvQVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVy
ZXNfUlNBLU9BRVAtc3RkZXJyLnR4dFVUBQADX1SQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
ADsJP0pUAsmyNgAAAMACAABQABgAAAAAAAEAAACkgWWFAwBpbXBvcnRlZC93M2MvV2ViQ3J5cHRv
QVBJL2dlbmVyYXRlS2V5L3Rlc3RfZmFpbHVyZXNfUlNBU1NBLVBLQ1MxLXYxXzUtc3RkZXJyLnR4
dFVUBQADYVSQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAIsGP0oAAAAAAAAAAAAAAAAgABgA
AAAAAAAAEADtQSWGAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL1VUBQADRlCQWHV4
CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOsFP0oAAAAAAAAAAAAAAAAkABgAAAAAAAAAEADtQX+G
AwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2RvbS9VVAUAAxlPkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAADrBT9KAAAAAAAAAAAAAAAAKgAYAAAAAAAAABAA7UHdhgMAaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9kb20vbm9kZXMvVVQFAAMZT5BYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgA6wU/SpPwuPjzAAAAHQIAAEsAGAAAAAAAAQAAAKSBQYcDAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZG9tL25vZGVzL0RvY3VtZW50LWNyZWF0ZUVsZW1lbnQt
c3RkZXJyLnR4dFVUBQADGU+QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPkFP0oAAAAAAAAA
AAAAAAAmABgAAAAAAAAAEADtQbmIAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL1VUBQADNk+QWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAAUGP0oAAAAAAAAAAAAAAAAq
ABgAAAAAAAAAEADtQRmJAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2Fw
aS9VVAUAA0lPkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAFBj9KAAAAAAAAAAAAAAAAMAAY
AAAAAAAAABAA7UF9iQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9mZXRjaC9hcGkv
YmFzaWMvVVQFAANJT5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAewk/SsIkhSGRAAAAngAA
AEcAGAAAAAAAAQAAAKSB54kDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gv
YXBpL2Jhc2ljL21vZGUtbm8tY29ycy1zdGRlcnIudHh0VVQFAAPaVJBYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DFAACAAgAewk/SjZPiceRAAAAngAAAE4AGAAAAAAAAQAAAKSB+YoDAGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2Jhc2ljL21vZGUtbm8tY29ycy13b3JrZXIt
c3RkZXJyLnR4dFVUBQAD2lSQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAPwFP0oAAAAAAAAA
AAAAAAAvABgAAAAAAAAAEADtQRKMAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Zl
dGNoL2FwaS9jb3JzL1VUBQADPE+QWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAGsJP0oRJXT9
qgAAALQDAABEABgAAAAAAAEAAACkgXuMAwBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2ZldGNoL2FwaS9jb3JzL2NvcnMtYmFzaWMtc3RkZXJyLnR4dFVUBQADuVSQWHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAGsJP0pgm1RbqwAAALQDAABLABgAAAAAAAEAAACkgaONAwBpbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2ZldGNoL2FwaS9jb3JzL2NvcnMtYmFzaWMtd29ya2Vy
LXN0ZGVyci50eHRVVAUAA7lUkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABsCT9KcKECyZ0A
AAA8AQAASwAYAAAAAAABAAAApIHTjgMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9m
ZXRjaC9hcGkvY29ycy9jb3JzLW5vLXByZWZsaWdodC1zdGRlcnIudHh0VVQFAAO7VJBYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAawk/SgkvZ1icAAAAPAEAAFIAGAAAAAAAAQAAAKSB9Y8DAGlt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1uby1wcmVm
bGlnaHQtd29ya2VyLXN0ZGVyci50eHRVVAUAA7pUkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABsCT9KuAAmekYCAABJDAAARQAYAAAAAAABAAAApIEdkQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLW9yaWdpbi1zdGRlcnIudHh0VVQFAAO7VJBY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbAk/SvhAEBWlAAAAeAIAAEwAGAAAAAAAAQAAAKSB
4pMDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29ycy1v
cmlnaW4td29ya2VyLXN0ZGVyci50eHRVVAUAA7tUkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABtCT9KqZhUw5kBAADeBQAASAAYAAAAAAABAAAApIENlQMAaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9mZXRjaC9hcGkvY29ycy9jb3JzLXByZWZsaWdodC1zdGRlcnIudHh0VVQFAAO9
VJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAbQk/Shf/10jLAgAAvxMAAFEAGAAAAAAAAQAA
AKSBKJcDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvZmV0Y2gvYXBpL2NvcnMvY29y
cy1yZWRpcmVjdC1wcmVmbGlnaHQtc3RkZXJyLnR4dFVUBQADvlSQWHV4CwABBPUBAAAEFAAAAFBL
AQIeAwoAAAAAAIsGP0oAAAAAAAAAAAAAAAAlABgAAAAAAAAAEADtQX6aAwBpbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2h0bWwvVVQFAANGUJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAA
AAAAiwY/SgAAAAAAAAAAAAAAAC8AGAAAAAAAAAAQAO1B3ZoDAGltcG9ydGVkL3czYy93ZWItcGxh
dGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvVVQFAANGUJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAiwY/SgAAAAAAAAAAAAAAADUAGAAAAAAAAAAQAO1BRpsDAGltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvVVQFAANGUJBYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAiwY/SgAAAAAAAAAAAAAAAEEAGAAAAAAAAAAQAO1BtZsDAGltcG9ydGVk
L3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRpY3MvZm9ybXMvY29uc3RyYWludHMv
VVQFAANGUJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAAQo/Sst5YzJbAgAAGj8AAGoAGAAA
AAAAAQAAAKSBMJwDAGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvaHRtbC9zZW1hbnRp
Y3MvZm9ybXMvY29uc3RyYWludHMvZm9ybS12YWxpZGF0aW9uLXJlcG9ydFZhbGlkaXR5LXN0ZGVy
ci50eHRVVAUAA9FVkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAACxBj9KAAAAAAAAAAAAAAAA
FgAYAAAAAAAAABAA7UEvnwMAaW50ZXJzZWN0aW9uLW9ic2VydmVyL1VUBQADjVCQWHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIACcKP0pt8V0y9AAAAB0CAABGABgAAAAAAAEAAACkgX+fAwBpbnRl
cnNlY3Rpb24tb2JzZXJ2ZXIvaW50ZXJzZWN0aW9uLW9ic2VydmVyLWVudHJ5LWludGVyZmFjZS1z
dGRlcnIudHh0VVQFAAMZVpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAsQY/SgAAAAAAAAAA
AAAAAAcAGAAAAAAAAAAQAO1B86ADAGpxdWVyeS9VVAUAA45QkFh1eAsAAQT1AQAABBQAAABQSwEC
HgMUAAIACAAnCj9KfEUONPQAAAAdAgAAHAAYAAAAAAABAAAApIE0oQMAanF1ZXJ5L2F0dHJpYnV0
ZXMtc3RkZXJyLnR4dFVUBQADGlaQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAMIGP0oAAAAA
AAAAAAAAAAADABgAAAAAAAAAEADtQX6iAwBqcy9VVAUAA6xQkFh1eAsAAQT1AQAABBQAAABQSwEC
HgMKAAAAAADCBj9KAAAAAAAAAAAAAAAABwAYAAAAAAAAABAA7UG7ogMAanMvZG9tL1VUBQADrFCQ
WHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAC8KP0o2YjL69QAAAB0CAAAgABgAAAAAAAEAAACk
gfyiAwBqcy9kb20vcmVncmVzcy0xNTcyNDYtc3RkZXJyLnR4dFVUBQADKVaQWHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAC8KP0qTMie+9AAAAB0CAAAoABgAAAAAAAEAAACkgUukAwBqcy9kb20v
cmVtb3ZpbmctQ2YtY2hhcmFjdGVycy1zdGRlcnIudHh0VVQFAAMqVpBYdXgLAAEE9QEAAAQUAAAA
UEsBAh4DCgAAAAAAXAc/SgAAAAAAAAAAAAAAAAYAGAAAAAAAAAAQAO1BoaUDAG1lZGlhL1VUBQAD
z1GQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIADkKP0pNMENZ8wAAAB0CAAAhABgAAAAAAAEA
AACkgeGlAwBtZWRpYS9hZG9wdC1ub2RlLWNyYXNoLXN0ZGVyci50eHRVVAUAAz5WkFh1eAsAAQT1
AQAABBQAAABQSwECHgMUAAIACAA6Cj9KX2ljavQAAAAdAgAAKwAYAAAAAAABAAAApIEvpwMAbWVk
aWEvYXVkaW8tY29uY3VycmVudC1zdXBwb3J0ZWQtc3RkZXJyLnR4dFVUBQADQFaQWHV4CwABBPUB
AAAEFAAAAFBLAQIeAxQAAgAIADsKP0rxrJoH8wAAAB0CAAAvABgAAAAAAAEAAACkgYioAwBtZWRp
YS9hdWRpby1jb250cm9scy1kby1ub3QtZmFkZS1vdXQtc3RkZXJyLnR4dFVUBQADQVaQWHV4CwAB
BPUBAAAEFAAAAFBLAQIeAxQAAgAIADsKP0oeQsjz8gAAAB0CAAA6ABgAAAAAAAEAAACkgeSpAwBt
ZWRpYS9hdWRpby1jb250cm9scy10aW1lbGluZS1pbi1tZWRpYS1kb2N1bWVudC1zdGRlcnIudHh0
VVQFAANBVpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAOwo/SrJn7Oj0AAAAHQIAAB8AGAAA
AAAAAQAAAKSBSqsDAG1lZGlhL2F1ZGlvLWRhdGEtdXJsLXN0ZGVyci50eHRVVAUAA0JWkFh1eAsA
AQT1AQAABBQAAABQSwECHgMUAAIACAA8Cj9KFBxLGvQAAAAdAgAAHgAYAAAAAAABAAAApIGXrAMA
bWVkaWEvYXVkaW8tcmVwYWludC1zdGRlcnIudHh0VVQFAANEVpBYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAPAo/ShxG/RTzAAAAHQIAADgAGAAAAAAAAQAAAKSB460DAG1lZGlhL2F1dG8tcGxh
eS1pbi1zYW5kYm94LXdpdGgtYWxsb3ctc2NyaXB0cy1zdGRlcnIudHh0VVQFAANEVpBYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DCgAAAAAAXAc/SgAAAAAAAAAAAAAAAA8AGAAAAAAAAAAQAO1BSK8DAG1l
ZGlhL2NvbnRyb2xzL1VUBQADz1GQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAFwHP0oAAAAA
AAAAAAAAAAAUABgAAAAAAAAAEADtQZGvAwBtZWRpYS9jb250cm9scy9pcGFkL1VUBQADz1GQWHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAOAKP0rAK7lJ9QAAAB0CAABZABgAAAAAAAEAAACkgd+v
AwBtZWRpYS9jb250cm9scy9pcGFkL2Nsb3NlLXBhZ2Utd2l0aC1waWN0dXJlLWluLXBpY3R1cmUt
dmlkZW8tYXNzZXJ0aW9uLWZhaWx1cmUtc3RkZXJyLnR4dFVUBQADdFeQWHV4CwABBPUBAAAEFAAA
AFBLAQIeAxQAAgAIAD0KP0psbJEg8wAAAB0CAAAwABgAAAAAAAEAAACkgWexAwBtZWRpYS9jb250
cm9scy1yaWdodC1jbGljay1vbi10aW1lYmFyLXN0ZGVyci50eHRVVAUAA0ZWkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACAA9Cj9Kidl1L/UAAAAdAgAAIgAYAAAAAAABAAAApIHEsgMAbWVkaWEv
ZXZlbnQtcXVldWUtY3Jhc2gtc3RkZXJyLnR4dFVUBQADRlaQWHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAANkGP0oAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQRW0AwBtZWRpYS9pb3MvVVQFAAPZ
UJBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA2QY/SkShzJXyAAAAHQIAADMAGAAAAAAAAQAA
AKSBWbQDAG1lZGlhL2lvcy9hdXRvcGxheS1vbmx5LWluLW1haW4tZG9jdW1lbnQtc3RkZXJyLnR4
dFVUBQAD2VCQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEIKP0rGqApM9AAAAB0CAAAlABgA
AAAAAAEAAACkgbi1AwBtZWRpYS9tZWRpYS1jb250cm9scy1jbG9uZS1zdGRlcnIudHh0VVQFAANL
VpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAQgo/Snp3kLXzAAAAHQIAADkAGAAAAAAAAQAA
AKSBC7cDAG1lZGlhL21lZGlhLWNvbnRyb2xzLXNoYWRvdy1jb25zdHJ1Y3Rpb24tY3Jhc2gtc3Rk
ZXJyLnR4dFVUBQADS1aQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEIKP0r80nRYDAEAADoE
AAA2ABgAAAAAAAEAAACkgXG4AwBtZWRpYS9tZWRpYS1kb2N1bWVudC1hdWRpby1jb250cm9scy12
aXNpYmxlLXN0ZGVyci50eHRVVAUAA0xWkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABDCj9K
zbU2dgsBAAA6BAAAKgAYAAAAAAABAAAApIHtuQMAbWVkaWEvbWVkaWEtZG9jdW1lbnQtYXVkaW8t
c2l6ZS1zdGRlcnIudHh0VVQFAANNVpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAXAc/SgAA
AAAAAAAAAAAAABwAGAAAAAAAAAAQAO1BXLsDAG1lZGlhL21vZGVybi1tZWRpYS1jb250cm9scy9V
VAUAA89RkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADaBj9KAAAAAAAAAAAAAAAALAAYAAAA
AAAAABAA7UGyuwMAbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWRvY3VtZW50cy9V
VAUAA9tQkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADaBj9KnaEMpfIAAAAdAgAAVQAYAAAA
AAABAAAApIEYvAMAbWVkaWEvbW9kZXJuLW1lZGlhLWNvbnRyb2xzL21lZGlhLWRvY3VtZW50cy9i
YWNrZ3JvdW5kLWNvbG9yLWFuZC1jZW50ZXJpbmctc3RkZXJyLnR4dFVUBQAD21CQWHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAFwHP0oAAAAAAAAAAAAAAAAoABgAAAAAAAAAEADtQZm9AwBtZWRp
YS9tb2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBvcnQvVVQFAAPPUZBYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAXAc/SgAAAAAAAAAAAAAAAC0AGAAAAAAAAAAQAO1B+70DAG1lZGlhL21v
ZGVybi1tZWRpYS1jb250cm9scy9waXAtc3VwcG9ydC9pcGFkL1VUBQADz1GQWHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAOAKP0qbu5c89AAAAB0CAABLABgAAAAAAAEAAACkgWK+AwBtZWRpYS9t
b2Rlcm4tbWVkaWEtY29udHJvbHMvcGlwLXN1cHBvcnQvaXBhZC9waXAtc3VwcG9ydC1lbmFibGVk
LXN0ZGVyci50eHRVVAUAA3NXkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADrBj9KAAAAAAAA
AAAAAAAADAAYAAAAAAAAABAA7UHbvwMAbWVkaWEvdHJhY2svVVQFAAP5UJBYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAVAo/SnhKi5LzAAAAHQIAADUAGAAAAAAAAQAAAKSBIcADAG1lZGlhL3Ry
YWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctaG9yaXpvbnRhbC1zdGRlcnIudHh0VVQFAANwVpBYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAVAo/SqL5gcnzAAAAHQIAAC4AGAAAAAAAAQAAAKSBg8ED
AG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctcnRsLXN0ZGVyci50eHRVVAUAA3BWkFh1
eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABVCj9KrPLXPvQAAAAdAgAAMwAYAAAAAAABAAAApIHe
wgMAbWVkaWEvdHJhY2svdHJhY2stY3VlLXJlbmRlcmluZy12ZXJ0aWNhbC1zdGRlcnIudHh0VVQF
AANxVpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAVQo/SmG4hff0AAAAHQIAADcAGAAAAAAA
AQAAAKSBP8QDAG1lZGlhL3RyYWNrL3RyYWNrLWN1ZS1yZW5kZXJpbmctd2l0aC1wYWRkaW5nLXN0
ZGVyci50eHRVVAUAA3JWkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABYCj9Kv96yYvUAAAAd
AgAAKwAYAAAAAAABAAAApIGkxQMAbWVkaWEvdHJhY2svdHJhY2stY3Vlcy1jdWVjaGFuZ2Utc3Rk
ZXJyLnR4dFVUBQADeFaQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAFwKP0rcsQ0u8wAAAB0C
AAAoABgAAAAAAAEAAACkgf7GAwBtZWRpYS90cmFjay90cmFjay1jdWVzLW1pc3NlZC1zdGRlcnIu
dHh0VVQFAAN/VpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYQo/SnoCnaD0AAAAHQIAAEkA
GAAAAAAAAQAAAKSBU8gDAG1lZGlhL3RyYWNrL3RyYWNrLWluLWJhbmQtZHVwbGljYXRlLXRyYWNr
cy13aGVuLXNvdXJjZS1jaGFuZ2VzLXN0ZGVyci50eHRVVAUAA4ZWkFh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABiCj9Ka3EpDvQAAAAdAgAAKgAYAAAAAAABAAAApIHKyQMAbWVkaWEvdHJhY2sv
dHJhY2staW4tYmFuZC1zdHlsZS1zdGRlcnIudHh0VVQFAAOIVpBYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgASQo/SkAgQ+X0AAAAHQIAADwAGAAAAAAAAQAAAKSBIssDAG1lZGlhL3ZpZGVvLWNv
bnRyb2xzLWNhcHRpb25zLXRyYWNrbWVudS1sb2NhbGl6ZWQtc3RkZXJyLnR4dFVUBQADWVaQWHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAEkKP0rSTvIZ9QAAAB0CAAA6ABgAAAAAAAEAAACkgYzM
AwBtZWRpYS92aWRlby1jb250cm9scy10by1ub3Qtc2Nyb2xsLXBhZ2Utb24tbG9hZC1zdGRlcnIu
dHh0VVQFAANaVpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgASwo/SsxZsaP0AAAAHQIAACUA
GAAAAAAAAQAAAKSB9c0DAG1lZGlhL3ZpZGVvLWRpc3BsYXktdG9nZ2xlLXN0ZGVyci50eHRVVAUA
A15WkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABMCj9KfV0pLgwBAAA6BAAAJQAYAAAAAAAB
AAAApIFIzwMAbWVkaWEvdmlkZW8tZG9jdW1lbnQtdHlwZXMtc3RkZXJyLnR4dFVUBQADX1aQWHV4
CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAE0KP0pLlK0z9AAAAB0CAAAjABgAAAAAAAEAAACkgbPQ
AwBtZWRpYS92aWRlby1lbXB0eS1zb3VyY2Utc3RkZXJyLnR4dFVUBQADYVaQWHV4CwABBPUBAAAE
FAAAAFBLAQIeAxQAAgAIAE0KP0o0YkR/9AAAAB0CAAA0ABgAAAAAAAEAAACkgQTSAwBtZWRpYS92
aWRlby1lbmRlZC1ldmVudC1uZWdhdGl2ZS1wbGF5YmFjay1zdGRlcnIudHh0VVQFAANiVpBYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAUQo/Sgt0TmnzAAAAHQIAAB8AGAAAAAAAAQAAAKSBZtMD
AG1lZGlhL3ZpZGVvLW5vLWF1ZGlvLXN0ZGVyci50eHRVVAUAA2pWkFh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACABSCj9KEY62nfQAAAAdAgAAIgAYAAAAAAABAAAApIGy1AMAbWVkaWEvdmlkZW8t
bm8tYXV0b3BsYXktc3RkZXJyLnR4dFVUBQADa1aQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAI
AGAKP0oWB6Gs9AAAAB0CAAAkABgAAAAAAAEAAACkgQLWAwBtZWRpYS92aWRlby12b2x1bWUtc2xp
ZGVyLXN0ZGVyci50eHRVVAUAA4RWkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABgCj9K7JAl
MPQAAAAdAgAAIwAYAAAAAAABAAAApIFU1wMAbWVkaWEvdmlkZW8td2lkdGgtaGVpZ2h0LXN0ZGVy
ci50eHRVVAUAA4RWkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABhCj9KKr7VovUAAAAdAgAA
JAAYAAAAAAABAAAApIGl2AMAbWVkaWEvdmlkZW8tem9vbS1jb250cm9scy1zdGRlcnIudHh0VVQF
AAOFVpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAYQo/SvTmJ3DzAAAAHQIAABsAGAAAAAAA
AQAAAKSB+NkDAG1lZGlhL3ZpZGVvLXpvb20tc3RkZXJyLnR4dFVUBQADhlaQWHV4CwABBPUBAAAE
FAAAAFBLAQIeAwoAAAAAAOEGP0oAAAAAAAAAAAAAAAAJABgAAAAAAAAAEADtQUDbAwBwbGF0Zm9y
bS9VVAUAA+ZQkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAADhBj9KAAAAAAAAAAAAAAAAFwAY
AAAAAAAAABAA7UGD2wMAcGxhdGZvcm0vaW9zLXNpbXVsYXRvci9VVAUAA+ZQkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMKAAAAAADhBj9KAAAAAAAAAAAAAAAAHQAYAAAAAAAAABAA7UHU2wMAcGxhdGZv
cm0vaW9zLXNpbXVsYXRvci9tZWRpYS9VVAUAA+ZQkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIA
CABjCj9KCSRiMfQAAAAdAgAAbgAYAAAAAAABAAAApIEr3AMAcGxhdGZvcm0vaW9zLXNpbXVsYXRv
ci9tZWRpYS92aWRlby1wbGF5LWdseXBoLWNvbXBvc2l0ZWQtb3V0c2lkZS1vdmVyZmxvdy1zY3Jv
bGxpbmctdG91Y2gtY29udGFpbmVyLXN0ZGVyci50eHRVVAUAA4lWkFh1eAsAAQT1AQAABBQAAABQ
SwECHgMUAAIACAAXCT9K0CgZgJcCAADYJAAAGgAYAAAAAAABAAAApIHH3QMAcHl3ZWJzb2NrZXQu
d3MubG9nLWVyci50eHRVVAUAAx1UkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACAAXCT9Kxteu
ZgYBAACPAgAAGgAYAAAAAAABAAAApIGy4AMAcHl3ZWJzb2NrZXQud3MubG9nLW91dC50eHRVVAUA
Ax1UkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAABlCD9KAAAAAAAAAAAAAAAAGwAYAAAAAAAA
AAAApIEM4gMAcHl3ZWJzb2NrZXQud3NzLmxvZy1lcnIudHh0VVQFAAPOUpBYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DCgAAAAAAZQg/SgAAAAAAAAAAAAAAABsAGAAAAAAAAAAAAKSBYeIDAHB5d2Vic29j
a2V0Lndzcy5sb2ctb3V0LnR4dFVUBQADzlKQWHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAAOMG
P0oAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQbbiAwBxdWlja2xvb2svVVQFAAPqUJBYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAYwo/SnjypN4JAQAAOgQAACEAGAAAAAAAAQAAAKSB+uIDAHF1
aWNrbG9vay9leGNlbC1sZWdhY3ktc3RkZXJyLnR4dFVUBQADiVaQWHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAGQKP0oGcYBuigAAAAwGAAAcABgAAAAAAAEAAACkgV7kAwBxdWlja2xvb2sva2V5
bm90ZS1zdGRlcnIudHh0VVQFAAOLVpBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAZAo/Si0E
Uq2HAAAACAQAABwAGAAAAAAAAQAAAKSBPuUDAHF1aWNrbG9vay9udW1iZXJzLXN0ZGVyci50eHRV
VAUAA4xWkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACABkCj9KeBSEsocAAAAIBAAAGgAYAAAA
AAABAAAApIEb5gMAcXVpY2tsb29rL3BhZ2VzLXN0ZGVyci50eHRVVAUAA4xWkFh1eAsAAQT1AQAA
BBQAAABQSwECHgMUAAIACADpCj9KRSYdOdEnAADLqgAADAAYAAAAAAABAAAApIH25gMAcmVzdWx0
cy5odG1sVVQFAAOFV5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAPQc/SgAAAAAAAAAAAAAA
AAgAGAAAAAAAAAAQAO1BDQ8EAHJldHJpZXMvVVQFAAOVUZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAPQc/SgAAAAAAAAAAAAAAABQAGAAAAAAAAAAQAO1BTw8EAHJldHJpZXMvY29tcG9zaXRp
bmcvVVQFAAOVUZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAPQc/SgAAAAAAAAAAAAAAAB0A
GAAAAAAAAAAQAO1BnQ8EAHJldHJpZXMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvVVQFAAOVUZBYdXgL
AAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwQo/SqBZjaPSIwAAwLIAADsAGAAAAAAAAAAAAKSB9A8E
AHJldHJpZXMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtaW4tY29tcG9zaXRlZC1hY3R1YWwu
cG5nVVQFAAM5V5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwQo/SrSmFvxFAQAAogUAADsA
GAAAAAAAAQAAAKSBOzQEAHJldHJpZXMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtaW4tY29t
cG9zaXRlZC1hY3R1YWwudHh0VVQFAAM5V5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwQo/
SiI1EZ8eAQAAuQIAADkAGAAAAAAAAQAAAKSB9TUEAHJldHJpZXMvY29tcG9zaXRpbmcvZ2VvbWV0
cnkvZml4ZWQtaW4tY29tcG9zaXRlZC1kaWZmLnR4dFVUBQADOVeQWHV4CwABBPUBAAAEFAAAAFBL
AQIeAxQAAgAIAMEKP0qyN/7qSAEAAKIFAAA9ABgAAAAAAAEAAACkgYY3BAByZXRyaWVzL2NvbXBv
c2l0aW5nL2dlb21ldHJ5L2ZpeGVkLWluLWNvbXBvc2l0ZWQtZXhwZWN0ZWQudHh0VVQFAAM5V5BY
dXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwQo/SqMTXlEnCAAAkRwAAEEAGAAAAAAAAQAAAKSB
RTkEAHJldHJpZXMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4ZWQtaW4tY29tcG9zaXRlZC1wcmV0
dHktZGlmZi5odG1sVVQFAAM5V5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAwQo/SmW/CsX0
AAAAHQIAADsAGAAAAAAAAQAAAKSB50EEAHJldHJpZXMvY29tcG9zaXRpbmcvZ2VvbWV0cnkvZml4
ZWQtaW4tY29tcG9zaXRlZC1zdGRlcnIudHh0VVQFAAM5V5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4D
CgAAAAAAPQc/SgAAAAAAAAAAAAAAAA0AGAAAAAAAAAAQAO1BUEMEAHJldHJpZXMvY3NzMy9VVAUA
A5VRkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAA9Bz9KAAAAAAAAAAAAAAAAFQAYAAAAAAAA
ABAA7UGXQwQAcmV0cmllcy9jc3MzL2ZpbHRlcnMvVVQFAAOVUZBYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DCgAAAAAAPQc/SgAAAAAAAAAAAAAAAB4AGAAAAAAAAAAQAO1B5kMEAHJldHJpZXMvY3NzMy9m
aWx0ZXJzL2JhY2tkcm9wL1VUBQADlVGQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMEKP0oT
lgNS1gIAAGqSAAA/ABgAAAAAAAAAAACkgT5EBAByZXRyaWVzL2NzczMvZmlsdGVycy9iYWNrZHJv
cC9keW5hbWljLXdpdGgtY2xpcC1wYXRoLWFjdHVhbC5wbmdVVAUAAzpXkFh1eAsAAQT1AQAABBQA
AABQSwECHgMUAAIACADBCj9K1ynez+AAAADXJQAAPQAYAAAAAAAAAAAApIGNRwQAcmV0cmllcy9j
c3MzL2ZpbHRlcnMvYmFja2Ryb3AvZHluYW1pYy13aXRoLWNsaXAtcGF0aC1kaWZmLnBuZ1VUBQAD
OleQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAMEKP0qDtDMmnAUAADISAAA/ABgAAAAAAAEA
AACkgeRIBAByZXRyaWVzL2NzczMvZmlsdGVycy9iYWNrZHJvcC9keW5hbWljLXdpdGgtY2xpcC1w
YXRoLWRpZmZzLmh0bWxVVAUAAzpXkFh1eAsAAQT1AQAABBQAAABQSwECHgMUAAIACADBCj9KglnV
JdsAAAC9AQAAQgAYAAAAAAABAAAApIH5TgQAcmV0cmllcy9jc3MzL2ZpbHRlcnMvYmFja2Ryb3Av
ZHluYW1pYy13aXRoLWNsaXAtcGF0aC1leHBlY3RlZC5odG1sVVQFAAM6V5BYdXgLAAEE9QEAAAQU
AAAAUEsBAh4DFAACAAgAwQo/SjlHm2DTAgAAbpIAAEEAGAAAAAAAAAAAAKSBUFAEAHJldHJpZXMv
Y3NzMy9maWx0ZXJzL2JhY2tkcm9wL2R5bmFtaWMtd2l0aC1jbGlwLXBhdGgtZXhwZWN0ZWQucG5n
VVQFAAM6V5BYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgA6Qo/Ssjl8RVpFgcAuGQoAAoAGAAA
AAAAAQAAAKSBnlMEAHN0YXRzLmpzb25VVAUAA4VXkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAA
AAATBz9KAAAAAAAAAAAAAAAABAAYAAAAAAAAABAA7UFLagsAc3ZnL1VUBQADRlGQWHV4CwABBPUB
AAAEFAAAAFBLAQIeAwoAAAAAAAQHP0oAAAAAAAAAAAAAAAANABgAAAAAAAAAEADtQYlqCwBzdmcv
YXMtaW1hZ2UvVVQFAAMnUZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DFAACAAgAiAo/StsI00I7AAAA
PwAAAD8AGAAAAAAAAQAAAKSB0GoLAHN2Zy9hcy1pbWFnZS9zdmctaW1hZ2Utd2l0aC1kYXRhLXVy
aS1pbWFnZXMtZGlzYWJsZWQtc3RkZXJyLnR4dFVUBQADz1aQWHV4CwABBPUBAAAEFAAAAFBLAQIe
AwoAAAAAABAHP0oAAAAAAAAAAAAAAAAKABgAAAAAAAAAEADtQYRrCwBzdmcvaGl4aWUvVVQFAAM/
UZBYdXgLAAEE9QEAAAQUAAAAUEsBAh4DCgAAAAAAEAc/SgAAAAAAAAAAAAAAABIAGAAAAAAAAAAQ
AO1ByGsLAHN2Zy9oaXhpZS9jYXNjYWRlL1VUBQADP1GQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQA
AgAIAJAKP0omgRZc8gAAAB0CAAAnABgAAAAAAAEAAACkgRRsCwBzdmcvaGl4aWUvY2FzY2FkZS8w
MDEtYnJva2VuLXN0ZGVyci50eHRVVAUAA99WkFh1eAsAAQT1AQAABBQAAABQSwECHgMKAAAAAAAT
Bz9KAAAAAAAAAAAAAAAACQAYAAAAAAAAABAA7UFnbQsAc3ZnL3RleHQvVVQFAANGUZBYdXgLAAEE
9QEAAAQUAAAAUEsBAh4DFAACAAgAEwc/SqNPHUfyAAAAHQIAADMAGAAAAAAAAQAAAKSBqm0LAHN2
Zy90ZXh0L2ZvcmVpZ25PYmplY3QtdGV4dC1jbGlwcGluZy1idWctc3RkZXJyLnR4dFVUBQADRlGQ
WHV4CwABBPUBAAAEFAAAAFBLAQIeAwoAAAAAABoHP0oAAAAAAAAAAAAAAAALABgAAAAAAAAAEADt
QQlvCwB3ZWJhcmNoaXZlL1VUBQADU1GQWHV4CwABBPUBAAAEFAAAAFBLAQIeAxQAAgAIAJsKP0rb
CNNCOwAAAD8AAAA6ABgAAAAAAAEAAACkgU5vCwB3ZWJhcmNoaXZlL3Rlc3QtbGluay1yZWwtc3Vi
cmVzb3VyY2UtYmVmb3JlbG9hZC1zdGRlcnIudHh0VVQFAAP2VpBYdXgLAAEE9QEAAAQUAAAAUEsB
Ah4DFAACAAgAlwo/Std5FH1R+wEAEr0+ABkAGAAAAAAAAQAAAKSB/W8LAHdwdHdrX3Byb2Nlc3Nf
bG9nLm91dC50eHRVVAUAA+1WkFh1eAsAAQT1AQAABBQAAABQSwUGAAAAACABIAHIfAAAoWsNAAAA
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>300236</attachid>
            <date>2017-01-31 11:00:02 -0800</date>
            <delta_ts>2017-01-31 11:38:49 -0800</delta_ts>
            <desc>Patch for landing</desc>
            <filename>bug-167306-20170131105752.patch</filename>
            <type>text/plain</type>
            <size>168294</size>
            <attacher name="youenn fablet">youennf</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjExMjgyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzUyODJlODRjZjk3OGM2
Y2RiYTJhOWEzYWIzYjQ5ZmJhZjU0MDNiYS4uY2ViMTk0MjFkMGY0MDk3NDgwZWFjODBkNDZmNmI2
YjA2YmVjYWJjMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE3MiBAQAorMjAxNy0wMS0zMSAgWW91
ZW5uIEZhYmxldCAgPHlvdWVubmZAZ21haWwuY29tPgorCisgICAgICAgIFtXZWJSVENdIEFkZCBz
dXBwb3J0IGZvciBXSzIgbGlid2VicnRjIGVuZHBvaW50CisgICAgICAgIGh0dHBzOi8vYnVncy53
ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNjczMDYKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVt
LzMwMjQ1NDI2PgorCisgICAgICAgIFJldmlld2VkIGJ5IEFsZXggQ2hyaXN0ZW5zZW4uCisKKyAg
ICAgICAgSW1wbGVtZW50YXRpb24gb2YgdGhlIExpYldlYlJUQyBuZXR3b3JraW5nIGluIFdlYktp
dDIuCisgICAgICAgIFRoZSBmb2xsb3dpbmcgZmVhdHVyZXMgYXJlIHJlcXVpcmVkIHRvIGJlIG1v
dmVkIGZyb20gV2ViUHJvY2VzcyB0byBOZXR3b3JrUHJvY2VzczoKKyAgICAgICAgMSBSZXNvbHV0
aW9uIG9mIEROUyBuYW1lcyAoUlRDUmVzb2x2ZXIpCisgICAgICAgIDIgRW51bWVyYXRpb24gb2Yg
aW50ZXJmYWNlcy9nYXRoZXJpbmcgb2YgaG9zdCBhZGRyZXNzZXMgKFJUQ01vbml0b3IpCisgICAg
ICAgIDMgSW1wbGVtZW50YXRpb24gb2YgUGFja2V0IFNvY2tldCBmb3IgVENQL1VEUCBjb21tdW5p
Y2F0aW9uIChSVENTb2NrZXQpLgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyB0aGUg
cmVsYXRlZCBjbGFzc2VzIGluIFdlYlByb2Nlc3MvTmV0d29ya1Byb2Nlc3MgYW5kIHRoZSBpbnRl
Z3JhdGlvbiB3aXRoIGxpYndlYnJ0Yy4KKyAgICAgICAgTmV0d29ya1Byb2Nlc3MgaW1wbGVtZW50
YXRpb24gaXMgdXNpbmcgbGlid2ViZXRjIGZvciBOZXR3b3JrUlRDTW9uaXRvciBhbmQgTmV0d29y
a1JUQ1NvY2tldC4KKyAgICAgICAgVGhpcyBlbnN1cmVzIGFuIGFzLWNsb3NlIGltcGxlbWVudGF0
aW9uIHRvIGxpYndlYnJ0YyBhcyBwb3NzaWJsZS4KKyAgICAgICAgSW4gdGhlIGZ1dHVyZSwgYWZ0
ZXIgZ2V0dGluZyBhIGJldHRlciB0ZXN0IGluZnJhc3RydWN0dXJlIHdlIHNob3VsZCB0cnkgdG8g
aW1wbGVtZW50IHRoZXNlIHVzaW5nIG5hdGl2ZSBBUElzLgorCisgICAgICAgIEN1cnJlbnRseSwg
dGhlIGltcGxlbWVudGF0aW9uIGlzIGFzIGZvbGxvdzoKKyAgICAgICAgLSBsaWJ3ZWJydGMgaXMg
Y2FsbGluZyBXZWJQcm9jZXNzIHN0YWNrIG9uIHRoZSBydGMgbmV0d29yayB0aHJlYWQKKyAgICAg
ICAgLSBXZWJQcm9jZXNzIHN0YWNrIGlzIGZvcndhcmRpbmcgY2FsbHMgdG8gdGhlIG1haW4gdGhy
ZWFkIGFuZCBtYWtlcyByZWxhdGVkIElQQyBjYWxscworICAgICAgICAtIE5ldHdvcmtQcm9jZXNz
IHJlY2VpdmVzIHRoZSBJUEMgY2FsbHMgYW5kIGZvcndhcmQgdGhlbSB0byB0aGUgcnRjIG5ldHdv
cmsgdGhyZWFkLgorICAgICAgICAtIFRoZSBjYWxscyBhcmUgcHJvY2Vzc2VkIGluIHRoZSBydGMg
bmV0d29yayB0aHJlYWQKKyAgICAgICAgQ29udmVyc2VseSwgd2hlbiB0aGUgcnRjIG5ldHdvcmsg
dGhyZWFkIHdhbnRzIHRvIG5vdGlmeSBpdHMgY2xpZW50LCB0aGUgcmV2ZXJzZSBwYXRoIGlzIHVz
ZWQuCisKKyAgICAgICAgVGhpcyBwYXRjaCBhbHNvIGltcGxlbWVudHMgdGhlIExpYldlYlJUQ1By
b3ZpZGVyIGZvciBXZWJLaXQyLgorICAgICAgICBUaGlzIHByb3ZpZGVyIHVzZXMgdGhlIHJlbGF0
ZWQgY2xhc3NlcyB0byBjcmVhdGUgYSBwZWVyIGNvbm5lY3Rpb24gZmFjdG9yeSB0aGF0IHdpbGwg
dXNlIHRoZW0uCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoKKyAgICAgICAgKiBEZXJpdmVk
U291cmNlcy5tYWtlOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9u
VG9XZWJQcm9jZXNzLmNwcDoKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6On5OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcyk6CisgICAgICAgIChXZWJL
aXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRSZWNlaXZlTWVzc2FnZSk6Cisg
ICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpydGNQcm92aWRl
cik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOjpkaWRD
bG9zZSk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlBy
b2Nlc3MuaDoKKyAgICAgICAgKiBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0
Q2xpZW50LmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVu
dDo6TGliV2ViUlRDU29ja2V0Q2xpZW50KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29j
a2V0Q2xpZW50OjpzZW5kVG8pOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGll
bnQ6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0Q2xpZW50OjpzZXRP
cHRpb24pOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJl
YWRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25h
bFNlbnRQYWNrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNp
Z25hbEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVu
dDo6c2lnbmFsQ29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldENsaWVu
dDo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXRDbGllbnQuaDogQWRkZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENNb25pdG9yLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtS
VENNb25pdG9yOjpzdGFydFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ01v
bml0b3I6OnN0b3BVcGRhdGluZyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENNb25pdG9y
Ojpvbk5ldHdvcmtzQ2hhbmdlZCk6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENNb25pdG9yLmg6IEFkZGVkLgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0
Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHA6IEFkZGVkLgorICAgICAgICAo
V2ViS2l0OjpjcmVhdGVUaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6Ok5ldHdvcmtSVENQcm92aWRlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6Y2xvc2UpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0
ZVVEUFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6Y3JlYXRl
U2VydmVyVENQU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpj
cmVhdGVDbGllbnRUQ1BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRDUHJvdmlk
ZXI6OmFkZFNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6dGFr
ZVNvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6ZGlkUmVjZWl2
ZU5ldHdvcmtSVENTb2NrZXRNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1By
b3ZpZGVyOjpjcmVhdGVSZXNvbHZlcik6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92
aWRlcjo6c3RvcFJlc29sdmVyKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVy
OjpyZXNvbHZlZE5hbWUpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrTWVzc2FnZURhdGE6Ok5l
dHdvcmtNZXNzYWdlRGF0YSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6
T25NZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpjYWxsT25S
VENOZXR3b3JrVGhyZWFkKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpj
YWxsU29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpzZW5kRnJv
bU1haW5UaHJlYWQpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRD
UHJvdmlkZXIuaDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENQcm92aWRlcjo6
Y3JlYXRlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpkaWRSZWNlaXZl
TmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0d29ya1JUQ1By
b3ZpZGVyOjpSZXNvbHZlcjo6UmVzb2x2ZXIpOgorICAgICAgICAoV2ViS2l0OjpOZXR3b3JrUlRD
UHJvdmlkZXI6OlJlc29sdmVyOjp+UmVzb2x2ZXIpOgorICAgICAgICAqIE5ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAq
IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNwcDogQWRkZWQuCisgICAg
ICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENTb2NrZXQ6Ok5ldHdvcmtSVENTb2NrZXQpOgorICAgICAg
ICAoV2ViS2l0OjpOZXR3b3JrUlRDU29ja2V0OjpzZW5kVG8pOgorICAgICAgICAoV2ViS2l0OjpO
ZXR3b3JrUlRDU29ja2V0OjpjbG9zZSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHdvcmtSVENTb2Nr
ZXQ6OnNldE9wdGlvbik6CisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtS
VENTb2NrZXQuaDogQWRkZWQuCisgICAgICAgICogTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENTb2NrZXQubWVzc2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9SVENOZXR3
b3JrLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OlJUQ05ldHdvcmsp
OgorICAgICAgICAoV2ViS2l0OjppcHMpOgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjp2
YWx1ZSk6CisgICAgICAgIChXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRkcmVzczo6ZGVjb2RlKToK
KyAgICAgICAgKFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzOjplbmNvZGUpOgorICAgICAg
ICAoV2ViS2l0OjpSVENOZXR3b3JrOjpkZWNvZGUpOgorICAgICAgICAoV2ViS2l0OjpSVENOZXR3
b3JrOjplbmNvZGUpOgorICAgICAgICAqIFNoYXJlZC9SVENOZXR3b3JrLmg6IEFkZGVkLgorICAg
ICAgICAoV2ViS2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3M6OklQQWRkcmVzcyk6CisgICAgICAg
ICogV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwOgorICAgICAgICAoV2ViS2l0
OjpOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb246OmRpZFJlY2VpdmVNZXNzYWdlKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaDogQWRkZWQuCisg
ICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ05ldHdvcms6Om1vbml0b3IpOgorICAgICAgICAoV2Vi
S2l0OjpMaWJXZWJSVENOZXR3b3JrOjpzb2NrZXRGYWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6
TGliV2ViUlRDTmV0d29yazo6c29ja2V0KToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDTmV0
d29yazo6cmVzb2x2ZXIpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDUHJvdmlkZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDUHJv
dmlkZXI6OmNyZWF0ZVBlZXJDb25uZWN0aW9uKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmg6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nl
c3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6c2VuZE9uTWFpblRocmVhZCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Jl
c29sdmVyOjpTdGFydCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVyOjpHZXRS
ZXNvbHZlZEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6RGVz
dHJveSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1Jlc29sdmVyOjpzZXRSZXNvbHZlZEFk
ZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENSZXNvbHZlcjo6c2V0RXJyb3IpOgor
ICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuaDog
QWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2Nr
ZXQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6c2VuZE9uTWFpblRocmVhZCk6CisgICAg
ICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6TGliV2ViUlRDU29ja2V0KToKKyAgICAgICAg
KFdlYktpdDo6TGliV2ViUlRDU29ja2V0Ojp+TGliV2ViUlRDU29ja2V0KToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDU29ja2V0OjpHZXRMb2NhbEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0
OjpMaWJXZWJSVENTb2NrZXQ6OkdldFJlbW90ZUFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpM
aWJXZWJSVENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFkeSk6CisgICAgICAgIChXZWJLaXQ6Okxp
YldlYlJUQ1NvY2tldDo6c2lnbmFsUmVhZFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ1NvY2tldDo6c2lnbmFsU2VudFBhY2tldCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJU
Q1NvY2tldDo6c2lnbmFsQ29ubmVjdCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tl
dDo6c2lnbmFsQ2xvc2UpOgorICAgICAgICAoV2ViS2l0OjphdXRoS2V5KToKKyAgICAgICAgKFdl
YktpdDo6TGliV2ViUlRDU29ja2V0Ojp3aWxsU2VuZCk6CisgICAgICAgIChXZWJLaXQ6OkxpYldl
YlJUQ1NvY2tldDo6U2VuZFRvKToKKyAgICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpD
bG9zZSk6CisgICAgICAgIChXZWJLaXQ6OkxpYldlYlJUQ1NvY2tldDo6R2V0T3B0aW9uKToKKyAg
ICAgICAgKFdlYktpdDo6TGliV2ViUlRDU29ja2V0OjpTZXRPcHRpb24pOgorICAgICAgICAqIFdl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0Lmg6IEFkZGVkLgorICAgICAg
ICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHA6
IEFkZGVkLgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0b3J5OjpDcmVhdGVT
ZXJ2ZXJUY3BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0b3J5
OjpDcmVhdGVVZHBTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRGYWN0
b3J5OjpDcmVhdGVDbGllbnRUY3BTb2NrZXQpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENT
b2NrZXRGYWN0b3J5OjpkZXRhY2gpOgorICAgICAgICAoV2ViS2l0OjpMaWJXZWJSVENTb2NrZXRG
YWN0b3J5OjpDcmVhdGVBc3luY1Jlc29sdmVyKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdv
cmsvd2VicnRjL0xpYldlYlJUQ1NvY2tldEZhY3RvcnkuaDogQWRkZWQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLmNwcDogQWRkZWQuCisgICAgICAg
IChXZWJLaXQ6OnNlbmRPbk1haW5UaHJlYWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENNb25p
dG9yOjpTdGFydFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDTW9uaXRvcjo6U3Rv
cFVwZGF0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDTW9uaXRvcjo6bmV0d29ya3NDaGFu
Z2VkKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3Iu
aDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25p
dG9yLm1lc3NhZ2VzLmluOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL05ldHdvcmsvd2Vi
cnRjL1dlYlJUQ1Jlc29sdmVyLmNwcDogQWRkZWQuCisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1Jl
c29sdmVyOjpXZWJSVENSZXNvbHZlcik6CisgICAgICAgIChXZWJLaXQ6OldlYlJUQ1Jlc29sdmVy
OjpzZXRSZXNvbHZlZEFkZHJlc3MpOgorICAgICAgICAoV2ViS2l0OjpXZWJSVENSZXNvbHZlcjo6
cmVzb2x2ZWRBZGRyZXNzRXJyb3IpOgorICAgICAgICAqIFdlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvV2ViUlRDUmVzb2x2ZXIuaDogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjogQWRkZWQuCisgICAgICAgICogV2Vi
UHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwOiBBZGRlZC4KKyAgICAgICAg
KFdlYktpdDo6V2ViUlRDU29ja2V0OjpzaWduYWxPbk5ldHdvcmtUaHJlYWQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJSVENTb2NrZXQ6OldlYlJUQ1NvY2tldCk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRD
U29ja2V0OjpzaWduYWxSZWFkUGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDU29ja2V0
OjpzaWduYWxTZW50UGFja2V0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDU29ja2V0OjpzaWdu
YWxDb25uZWN0KToKKyAgICAgICAgKFdlYktpdDo6V2ViUlRDU29ja2V0OjpzaWduYWxDbG9zZSk6
CisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaDogQWRk
ZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVz
c2FnZXMuaW46IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNw
cDoKKyAgICAgICAgKFdlYktpdDo6bV91c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKToKKyAg
ICAgICAgKiBXZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQ
cm9jZXNzOjppbml0aWFsaXplTGliV2ViUlRDKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuaDoKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6bGliV2ViUlRDKToKKwogMjAx
Ny0wMS0yNyAgQ2FybG9zIEdhcmNpYSBDYW1wb3MgIDxjZ2FyY2lhQGlnYWxpYS5jb20+CiAKICAg
ICAgICAgW1RocmVhZGVkIENvbXBvc2l0b3JdIFN0b3AgY3JlYXRpbmcgdGhlIEdMQ29udGV4dCBv
biBkZW1hbmQgdGhlIGZpcnN0IHRpbWUgbWFrZUNvbnRleHRDdXJyZW50IGlzIGNhbGxlZApkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViS2l0Mi9D
TWFrZUxpc3RzLnR4dAppbmRleCA0NWI1Yzk2ODdmNDE0MzcyZDVmYmY3MDNhYmNlNmE0ODkxNDAx
ZjA4Li4yYTNiNTExZDViNDg2NDZiZGJhMzAzMGI0ZWEzZTdhODA5MzUzNjE1IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9DTWFr
ZUxpc3RzLnR4dApAQCAtMTAsNiArMTAsNyBAQCBzZXQoV2ViS2l0Ml9JTkNMVURFX0RJUkVDVE9S
SUVTCiAgICAgIiR7V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL0ZpbGVBUEkiCiAgICAgIiR7
V0VCS0lUMl9ESVJ9L05ldHdvcmtQcm9jZXNzL2NhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9O
ZXR3b3JrUHJvY2Vzcy9jYXB0dXJlIgorICAgICIke1dFQktJVDJfRElSfS9OZXR3b3JrUHJvY2Vz
cy93ZWJydGMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsYXRmb3JtIgogICAgICIke1dFQktJVDJf
RElSfS9QbGF0Zm9ybS9JUEMiCiAgICAgIiR7V0VCS0lUMl9ESVJ9L1BsdWdpblByb2Nlc3MiCkBA
IC02NSw2ICs2Niw3IEBAIHNldChXZWJLaXQyX0lOQ0xVREVfRElSRUNUT1JJRVMKICAgICAiJHtX
RUJLSVQyX0RJUn0vV2ViUHJvY2Vzcy9NZWRpYUNhY2hlIgogICAgICIke1dFQktJVDJfRElSfS9X
ZWJQcm9jZXNzL01lZGlhU3RyZWFtIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQcm9jZXNzL05l
dHdvcmsiCisgICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMiCiAg
ICAgIiR7V0VCS0lUMl9ESVJ9L1dlYlByb2Nlc3MvTm90aWZpY2F0aW9ucyIKICAgICAiJHtXRUJL
SVQyX0RJUn0vV2ViUHJvY2Vzcy9PcmlnaW5EYXRhIgogICAgICIke1dFQktJVDJfRElSfS9XZWJQ
cm9jZXNzL1BsdWdpbnMiCkBAIC01OTMsNiArNTk1LDEwIEBAIHNldChXZWJLaXQyX01FU1NBR0VT
X0lOX0ZJTEVTCiAgICAgTmV0d29ya1Byb2Nlc3MvTmV0d29ya1Byb2Nlc3MubWVzc2FnZXMuaW4K
ICAgICBOZXR3b3JrUHJvY2Vzcy9OZXR3b3JrUmVzb3VyY2VMb2FkZXIubWVzc2FnZXMuaW4KIAor
ICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgor
ICAgIE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4K
KyAgICBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbgor
CiAgICAgUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkubWVzc2FnZXMuaW4KICAg
ICBQbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MubWVzc2FnZXMuaW4KICAgICBQbHVnaW5Qcm9j
ZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCkBAIC02NDksNiArNjU1LDEwIEBA
IHNldChXZWJLaXQyX01FU1NBR0VTX0lOX0ZJTEVTCiAKICAgICBXZWJQcm9jZXNzL0ljb25EYXRh
YmFzZS9XZWJJY29uRGF0YWJhc2VQcm94eS5tZXNzYWdlcy5pbgogCisgICAgV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9yLm1lc3NhZ2VzLmluCisgICAgV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbgorICAgIFdlYlByb2Nlc3Mv
TmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluCisKICAgICBXZWJQcm9jZXNz
L05ldHdvcmsvTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLm1lc3NhZ2VzLmluCiAgICAgV2ViUHJv
Y2Vzcy9OZXR3b3JrL1dlYlJlc291cmNlTG9hZGVyLm1lc3NhZ2VzLmluCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UgYi9Tb3VyY2UvV2ViS2l0Mi9EZXJp
dmVkU291cmNlcy5tYWtlCmluZGV4IGRjYTRmNTg4ZTE1OGMwMjlkMmU4YWMyZTFjYmRhMTQ0OGVl
NzM0NDguLjFhYzZhZjJhMDMyYjA0YWJlZTQ3NDg3ODBlOGI1ZWQyMTlhMDJkNTkgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL0Rlcml2ZWRTb3VyY2VzLm1ha2UKKysrIGIvU291cmNlL1dlYktp
dDIvRGVyaXZlZFNvdXJjZXMubWFrZQpAQCAtMjgsNiArMjgsNyBAQCBWUEFUSCA9IFwKICAgICAk
KFdlYktpdDIpL05ldHdvcmtQcm9jZXNzIFwKICAgICAkKFdlYktpdDIpL05ldHdvcmtQcm9jZXNz
L0N1c3RvbVByb3RvY29scyBcCiAgICAgJChXZWJLaXQyKS9OZXR3b3JrUHJvY2Vzcy9tYWMgXAor
ICAgICQoV2ViS2l0MikvTmV0d29ya1Byb2Nlc3Mvd2VicnRjIFwKICAgICAkKFdlYktpdDIpL1Bs
dWdpblByb2Nlc3MgXAogICAgICQoV2ViS2l0MikvUGx1Z2luUHJvY2Vzcy9tYWMgXAogICAgICQo
V2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXApAQCAtNDUsNiArNDYsNyBAQCBWUEFUSCA9IFwKICAg
ICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvSWNvbkRhdGFiYXNlIFwKICAgICAkKFdlYktpdDIpL1dl
YlByb2Nlc3MvTWVkaWFDYWNoZSBcCiAgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL05ldHdvcmsg
XAorICAgICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0YyBcCiAgICAgJChXZWJL
aXQyKS9XZWJQcm9jZXNzL05vdGlmaWNhdGlvbnMgXAogICAgICQoV2ViS2l0MikvV2ViUHJvY2Vz
cy9PcmlnaW5EYXRhIFwKICAgICAkKFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1Z2lucyBcCkBAIC0x
MDAsNiArMTAyLDkgQEAgTUVTU0FHRV9SRUNFSVZFUlMgPSBcCiAgICAgTmV0d29ya1Byb2Nlc3Mg
XAogICAgIE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbiBcCiAgICAgTmV0d29ya1Byb2Nlc3NQcm94
eSBcCisgICAgTmV0d29ya1JUQ01vbml0b3IgXAorICAgIE5ldHdvcmtSVENQcm92aWRlciBcCisg
ICAgTmV0d29ya1JUQ1NvY2tldCBcCiAgICAgTmV0d29ya1Jlc291cmNlTG9hZGVyIFwKICAgICBQ
bHVnaW5Db250cm9sbGVyUHJveHkgXAogICAgIFBsdWdpblByb2Nlc3MgXApAQCAtMTQ5LDYgKzE1
NCw5IEBAIE1FU1NBR0VfUkVDRUlWRVJTID0gXAogICAgIFdlYlByb2Nlc3NDb25uZWN0aW9uIFwK
ICAgICBXZWJQcm9jZXNzUG9vbCBcCiAgICAgV2ViUHJvY2Vzc1Byb3h5IFwKKyAgICBXZWJSVENN
b25pdG9yIFwKKyAgICBXZWJSVENSZXNvbHZlciBcCisgICAgV2ViUlRDU29ja2V0IFwKICAgICBX
ZWJSZXNvdXJjZUxvYWRlciBcCiAgICAgV2ViUmVzb3VyY2VMb2FkU3RhdGlzdGljc1N0b3JlIFwK
ICAgICBXZWJVc2VyQ29udGVudENvbnRyb2xsZXIgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuY3BwIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mu
Y3BwCmluZGV4IDhhMjdhYjNhMGMyZDVjODJjMjRhNjQzMjQ2YTY2MGY3ODk5M2VlNzUuLjE0MTYy
NDJmMTJlMWExYmYwY2E2NDE5YmYwMzU3MzZhNDAyMWU4MzQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL05ldHdvcmtQcm9jZXNzL05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmNwcAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2Vi
UHJvY2Vzcy5jcHAKQEAgLTM0LDYgKzM0LDkgQEAKICNpbmNsdWRlICJOZXR3b3JrTG9hZC5oIgog
I2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzLmgiCiAjaW5jbHVkZSAiTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VzLmgi
CisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3
b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKICNpbmNsdWRlICJOZXR3b3JrUmVzb3VyY2VMb2FkUGFy
YW1ldGVycy5oIgogI2luY2x1ZGUgIk5ldHdvcmtSZXNvdXJjZUxvYWRlci5oIgogI2luY2x1ZGUg
Ik5ldHdvcmtSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmgiCkBAIC02OCw2ICs3MSwxMCBAQCBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3Mo
SVBDOjpDb25uZWN0aW9uOjpJZAogCiBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6fk5l
dHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKCkKIHsKKyNpZiBVU0UoTElCV0VCUlRDKQorICAg
IGlmIChtX3J0Y1Byb3ZpZGVyKQorICAgICAgICBtX3J0Y1Byb3ZpZGVyLT5jbG9zZSgpOworI2Vu
ZGlmCiB9CiAKIHZvaWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsZWFudXBS
ZXNvdXJjZUxvYWRlcihOZXR3b3JrUmVzb3VyY2VMb2FkZXImIGxvYWRlcikKQEAgLTc2LDcgKzgz
LDcgQEAgdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkQ2xlYW51cFJlc291
cmNlTG9hZGVyKE5ldHdvcmtSZXNvdXJjZUxvYWQKIAogICAgIG1fbmV0d29ya1Jlc291cmNlTG9h
ZGVycy5yZW1vdmUobG9hZGVyLmlkZW50aWZpZXIoKSk7CiB9Ci0gICAgCisKIHZvaWQgTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKQogewogICAgIGlmIChkZWNvZGVy
Lm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6TmV0d29ya0Nvbm5lY3Rpb25Ub1dl
YlByb2Nlc3M6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgewpAQCAtODUsMTUgKzkyLDM5IEBAIHZv
aWQgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZFJlY2VpdmVNZXNzYWdlKElQQzo6
Q29ubmVjdGlvbiYgY29ubmVjdGlvCiAgICAgfQogCiAgICAgaWYgKGRlY29kZXIubWVzc2FnZVJl
Y2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrUmVzb3VyY2VMb2FkZXI6Om1lc3NhZ2VS
ZWNlaXZlck5hbWUoKSkgewotICAgICAgICBIYXNoTWFwPFJlc291cmNlTG9hZElkZW50aWZpZXIs
IFJlZlB0cjxOZXR3b3JrUmVzb3VyY2VMb2FkZXI+Pjo6aXRlcmF0b3IgbG9hZGVySXRlcmF0b3Ig
PSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7
CisgICAgICAgIGF1dG8gbG9hZGVySXRlcmF0b3IgPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMu
ZmluZChkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSk7CiAgICAgICAgIGlmIChsb2FkZXJJdGVyYXRv
ciAhPSBtX25ldHdvcmtSZXNvdXJjZUxvYWRlcnMuZW5kKCkpCiAgICAgICAgICAgICBsb2FkZXJJ
dGVyYXRvci0+dmFsdWUtPmRpZFJlY2VpdmVOZXR3b3JrUmVzb3VyY2VMb2FkZXJNZXNzYWdlKGNv
bm5lY3Rpb24sIGRlY29kZXIpOwogICAgICAgICByZXR1cm47CiAgICAgfQotICAgIAorCisjaWYg
VVNFKExJQldFQlJUQykKKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0g
TWVzc2FnZXM6Ok5ldHdvcmtSVENTb2NrZXQ6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAg
ICAgICBydGNQcm92aWRlcigpLmRpZFJlY2VpdmVOZXR3b3JrUlRDU29ja2V0TWVzc2FnZShjb25u
ZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZGVjb2Rl
ci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2FnZXM6Ok5ldHdvcmtSVENNb25pdG9yOjpt
ZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAgICAgICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZl
TmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBN
ZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjptZXNzYWdlUmVjZWl2ZXJOYW1lKCkpIHsKKyAg
ICAgICAgcnRjUHJvdmlkZXIoKS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVy
KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyNlbmRpZgorCiAgICAgQVNTRVJUX05PVF9SRUFD
SEVEKCk7CiB9CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorTmV0d29ya1JUQ1Byb3ZpZGVyJiBOZXR3
b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6cnRjUHJvdmlkZXIoKQoreworICAgIGlmICghbV9y
dGNQcm92aWRlcikKKyAgICAgICAgbV9ydGNQcm92aWRlciA9IE5ldHdvcmtSVENQcm92aWRlcjo6
Y3JlYXRlKCp0aGlzKTsKKyAgICByZXR1cm4gKm1fcnRjUHJvdmlkZXI7Cit9CisjZW5kaWYKKwog
dm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZVN5bmNNZXNzYWdl
KElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBzdGQ6
OnVuaXF1ZV9wdHI8SVBDOjpFbmNvZGVyPiYgcmVwbHkpCiB7CiAgICAgaWYgKGRlY29kZXIubWVz
c2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJv
Y2Vzczo6bWVzc2FnZVJlY2VpdmVyTmFtZSgpKSB7CkBAIC0xMTYsNiArMTQ3LDEzIEBAIHZvaWQg
TmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M6OmRpZENsb3NlKElQQzo6Q29ubmVjdGlvbiYp
CiAKICAgICBOZXR3b3JrQmxvYlJlZ2lzdHJ5OjpzaW5nbGV0b24oKS5jb25uZWN0aW9uVG9XZWJQ
cm9jZXNzRGlkQ2xvc2UodGhpcyk7CiAgICAgTmV0d29ya1Byb2Nlc3M6OnNpbmdsZXRvbigpLnJl
bW92ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzKHRoaXMpOworCisjaWYgVVNFKExJQldF
QlJUQykKKyAgICBpZiAobV9ydGNQcm92aWRlcikgeworICAgICAgICBtX3J0Y1Byb3ZpZGVyLT5j
bG9zZSgpOworICAgICAgICBtX3J0Y1Byb3ZpZGVyID0gbnVsbHB0cjsKKyAgICB9CisjZW5kaWYK
IH0KIAogdm9pZCBOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6ZGlkUmVjZWl2ZUludmFs
aWRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6U3RyaW5nUmVmZXJlbmNlLCBJUEM6OlN0
cmluZ1JlZmVyZW5jZSkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3Jr
UHJvY2Vzcy9OZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzcy5oCmluZGV4IDc5NjU2YmE0N2My
MjhiZTAwYTdiMDc3MDI0MjgzNWVkNDU2NTU3YTIuLjk3MjkzMTRkNjc3ZjkxM2JmMzUxZGZiMDU2
MDhmOWI5Y2E4MDk1MGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L05ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzLmgKKysrIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3MvTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaApAQCAtMjksNiArMjks
OCBAQAogI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKICNpbmNsdWRlICJEb3dubG9hZElELmgiCiAj
aW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1
ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgorCiAjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUxv
YWRQcmlvcml0eS5oPgogI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+CiAKQEAgLTcxLDcgKzcz
LDcgQEAgcHJpdmF0ZToKICAgICAvLyBNZXNzYWdlIGhhbmRsZXJzLgogICAgIHZvaWQgZGlkUmVj
ZWl2ZU5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24m
LCBJUEM6OkRlY29kZXImKTsKICAgICB2b2lkIGRpZFJlY2VpdmVTeW5jTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYsIHN0
ZDo6dW5pcXVlX3B0cjxJUEM6OkVuY29kZXI+Jik7Ci0gICAgCisKICAgICB2b2lkIHNjaGVkdWxl
UmVzb3VyY2VMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CiAgICAg
dm9pZCBwZXJmb3JtU3luY2hyb25vdXNMb2FkKGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJh
bWV0ZXJzJiwgUmVmPE1lc3NhZ2VzOjpOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2Vzczo6UGVy
Zm9ybVN5bmNocm9ub3VzTG9hZDo6RGVsYXllZFJlcGx5PiYmKTsKICAgICB2b2lkIGxvYWRQaW5n
KGNvbnN0IE5ldHdvcmtSZXNvdXJjZUxvYWRQYXJhbWV0ZXJzJik7CkBAIC0xMDUsMTAgKzEwNywx
OCBAQCBwcml2YXRlOgogCiAgICAgdm9pZCBlbnN1cmVMZWdhY3lQcml2YXRlQnJvd3NpbmdTZXNz
aW9uKCk7CiAKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIE5ldHdvcmtSVENQcm92aWRlciYgcnRj
UHJvdmlkZXIoKTsKKyNlbmRpZgorICAgIAogICAgIFJlZjxJUEM6OkNvbm5lY3Rpb24+IG1fY29u
bmVjdGlvbjsKIAogICAgIEhhc2hNYXA8UmVzb3VyY2VMb2FkSWRlbnRpZmllciwgUmVmUHRyPE5l
dHdvcmtSZXNvdXJjZUxvYWRlcj4+IG1fbmV0d29ya1Jlc291cmNlTG9hZGVyczsKICAgICBIYXNo
TWFwPFN0cmluZywgUmVmUHRyPFdlYkNvcmU6OkJsb2JEYXRhRmlsZVJlZmVyZW5jZT4+IG1fYmxv
YkRhdGFGaWxlUmVmZXJlbmNlczsKKworI2lmIFVTRShMSUJXRUJSVEMpCisgICAgUmVmUHRyPE5l
dHdvcmtSVENQcm92aWRlcj4gbV9ydGNQcm92aWRlcjsKKyNlbmRpZgogfTsKIAogfSAvLyBuYW1l
c3BhY2UgV2ViS2l0CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRDbGllbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmI0YmEy
NTA5Y2JhN2ZiNmI4MWM4NjY0ODBiZmE3MjU3NTBiMTA2M2MKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50
LmNwcApAQCAtMCwwICsxLDExOCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIK
KyNpbmNsdWRlICJMaWJXZWJSVENTb2NrZXRDbGllbnQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMp
CisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgor
I2luY2x1ZGUgIk5ldHdvcmtSVENQcm92aWRlci5oIgorI2luY2x1ZGUgIldlYlJUQ1NvY2tldE1l
c3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0xpYldlYlJUQ1NvY2tldENs
aWVudDo6TGliV2ViUlRDU29ja2V0Q2xpZW50KHVpbnQ2NF90IGlkZW50aWZpZXIsIE5ldHdvcmtS
VENQcm92aWRlciYgcnRjUHJvdmlkZXIsIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0
U29ja2V0PiYmIHNvY2tldCkKKyAgICA6IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwg
bV9ydGNQcm92aWRlcihydGNQcm92aWRlcikKKyAgICAsIG1fc29ja2V0KFdURk1vdmUoc29ja2V0
KSkKK3sKKyAgICBpZiAoIW1fc29ja2V0KSB7CisgICAgICAgIHJ0Y1Byb3ZpZGVyLnNlbmRGcm9t
TWFpblRocmVhZChbaWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7Cisg
ICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFs
Q2xvc2UoMSksIGlkZW50aWZpZXIpOworICAgICAgICB9KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKworICAgIG1fc29ja2V0LT5TaWduYWxSZWFkUGFja2V0LmNvbm5lY3QodGhpcywgJkxpYldl
YlJUQ1NvY2tldENsaWVudDo6c2lnbmFsUmVhZFBhY2tldCk7CisgICAgbV9zb2NrZXQtPlNpZ25h
bFNlbnRQYWNrZXQuY29ubmVjdCh0aGlzLCAmTGliV2ViUlRDU29ja2V0Q2xpZW50OjpzaWduYWxT
ZW50UGFja2V0KTsKKyAgICBtX3NvY2tldC0+U2lnbmFsQWRkcmVzc1JlYWR5LmNvbm5lY3QodGhp
cywgJkxpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQWRkcmVzc1JlYWR5KTsKKyAgICBtX3Nv
Y2tldC0+U2lnbmFsQ29ubmVjdC5jb25uZWN0KHRoaXMsICZMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbENvbm5lY3QpOworICAgIG1fc29ja2V0LT5TaWduYWxDbG9zZS5jb25uZWN0KHRoaXMs
ICZMaWJXZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbENsb3NlKTsKK30KKwordm9pZCBMaWJXZWJS
VENTb2NrZXRDbGllbnQ6OnNlbmRUbyhjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImIGJ1ZmZl
ciwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBzb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6OlBh
Y2tldE9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgbV9zb2NrZXQtPlNlbmRUbyhyZWludGVycHJl
dF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXIuZGF0YSgpKSwgYnVmZmVyLnNpemUoKSwgc29j
a2V0QWRkcmVzcywgb3B0aW9ucyk7Cit9CisKK3ZvaWQgTGliV2ViUlRDU29ja2V0Q2xpZW50Ojpj
bG9zZSgpCit7CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKyAgICBtX3NvY2tldC0+Q2xvc2UoKTsK
KyAgICBtX3J0Y1Byb3ZpZGVyLnRha2VTb2NrZXQobV9pZGVudGlmaWVyKTsKK30KKwordm9pZCBM
aWJXZWJSVENTb2NrZXRDbGllbnQ6OnNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpCit7
CisgICAgQVNTRVJUKG1fc29ja2V0KTsKKyAgICBtX3NvY2tldC0+U2V0T3B0aW9uKHN0YXRpY19j
YXN0PHJ0Yzo6U29ja2V0OjpPcHRpb24+KG9wdGlvbiksIHZhbHVlKTsKK30KKwordm9pZCBMaWJX
ZWJSVENTb2NrZXRDbGllbnQ6OnNpZ25hbFJlYWRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tl
dCosIGNvbnN0IGNoYXIqIHZhbHVlLCBzaXplX3QgbGVuZ3RoLCBjb25zdCBydGM6OlNvY2tldEFk
ZHJlc3MmIGFkZHJlc3MsIGNvbnN0IHJ0Yzo6UGFja2V0VGltZSYgcGFja2V0VGltZSkKK3sKKyAg
ICBhdXRvIGJ1ZmZlciA9IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlcjo6Y3JlYXRlKHZhbHVlLCBsZW5n
dGgpOworICAgIG1fcnRjUHJvdmlkZXIuc2VuZEZyb21NYWluVGhyZWFkKFtpZGVudGlmaWVyID0g
bV9pZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3ZlKGJ1ZmZlciksIGFkZHJlc3MsIHBhY2tldFRp
bWVdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBJUEM6OkRhdGFSZWZl
cmVuY2UgZGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0IHVpbnQ4X3QqPihidWZmZXItPmRhdGEo
KSksIGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpX
ZWJSVENTb2NrZXQ6OlNpZ25hbFJlYWRQYWNrZXQoZGF0YSwgUlRDTmV0d29yazo6SVBBZGRyZXNz
KGFkZHJlc3MuaXBhZGRyKCkpLCBhZGRyZXNzLnBvcnQoKSwgcGFja2V0VGltZS50aW1lc3RhbXAp
LCBpZGVudGlmaWVyKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXRDbGllbnQ6
OnNpZ25hbFNlbnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U2Vu
dFBhY2tldCYgc2VudFBhY2tldCkKK3sKKyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRo
cmVhZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllciwgc2VudFBhY2tldF0oSVBDOjpDb25uZWN0
aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2Vi
UlRDU29ja2V0OjpTaWduYWxTZW50UGFja2V0KHNlbnRQYWNrZXQucGFja2V0X2lkLCBzZW50UGFj
a2V0LnNlbmRfdGltZV9tcyksIGlkZW50aWZpZXIpOworICAgIH0pOworfQorCit2b2lkIExpYldl
YlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQWRkcmVzc1JlYWR5KHJ0Yzo6QXN5bmNQYWNrZXRTb2Nr
ZXQqLCBjb25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGFkZHJlc3MpCit7CisgICAgbV9ydGNQcm92
aWRlci5zZW5kRnJvbU1haW5UaHJlYWQoW2lkZW50aWZpZXIgPSBtX2lkZW50aWZpZXIsIGFkZHJl
c3NdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBhdXRvIGFkZHJlc3NT
dHJpbmcgPSBhZGRyZXNzLlRvU3RyaW5nKCk7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNz
YWdlczo6V2ViUlRDU29ja2V0OjpTaWduYWxBZGRyZXNzUmVhZHkoU3RyaW5nKGFkZHJlc3NTdHJp
bmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSksIGlkZW50aWZpZXIpOworICAgIH0p
OworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldENsaWVudDo6c2lnbmFsQ29ubmVjdChydGM6OkFz
eW5jUGFja2V0U29ja2V0KikKK3sKKyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVh
ZChbaWRlbnRpZmllciA9IG1faWRlbnRpZmllcl0oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9u
KSB7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6V2ViUlRDU29ja2V0OjpTaWdu
YWxDb25uZWN0KCksIGlkZW50aWZpZXIpOworICAgIH0pOworfQorCit2b2lkIExpYldlYlJUQ1Nv
Y2tldENsaWVudDo6c2lnbmFsQ2xvc2UocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGludCBlcnJv
cikKK3sKKyAgICBtX3J0Y1Byb3ZpZGVyLnNlbmRGcm9tTWFpblRocmVhZChbaWRlbnRpZmllciA9
IG1faWRlbnRpZmllciwgZXJyb3JdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAg
ICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6OldlYlJUQ1NvY2tldDo6U2lnbmFsQ2xvc2Uo
ZXJyb3IpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICBtX3J0Y1Byb3ZpZGVyLnRha2VTb2Nr
ZXQobV9pZGVudGlmaWVyKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oIGIvU291cmNlL1dlYktpdDIvTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL0xpYldlYlJUQ1NvY2tldENsaWVudC5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmQwODM5
MzkzY2EwMmI3ZDNkZjc2MDM3MzcxY2M2ZjE1ZTUxYWI5ZmMKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50
LmgKQEAgLTAsMCArMSw3NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CisjaW5j
bHVkZSA8d2VicnRjL2Jhc2UvYXN5bmNwYWNrZXRzb2NrZXQuaD4KKyNpbmNsdWRlIDx3ZWJydGMv
YmFzZS9zaWdzbG90Lmg+CisKK25hbWVzcGFjZSBydGMgeworY2xhc3MgQXN5bmNQYWNrZXRTb2Nr
ZXQ7CitjbGFzcyBTb2NrZXRBZGRyZXNzOworc3RydWN0IFBhY2tldE9wdGlvbnM7CitzdHJ1Y3Qg
UGFja2V0VGltZTsKK3N0cnVjdCBTZW50UGFja2V0OworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7
CitjbGFzcyBTaGFyZWRCdWZmZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBO
ZXR3b3JrUlRDUHJvdmlkZXI7CisKK2NsYXNzIExpYldlYlJUQ1NvY2tldENsaWVudCBmaW5hbCA6
IHB1YmxpYyBzaWdzbG90OjpoYXNfc2xvdHM8PiB7CitwdWJsaWM6CisgICAgTGliV2ViUlRDU29j
a2V0Q2xpZW50KHVpbnQ2NF90IGlkZW50aWZpZXIsIE5ldHdvcmtSVENQcm92aWRlciYsIHN0ZDo6
dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiYmKTsKKworcHJpdmF0ZToKKyAgICBm
cmllbmQgY2xhc3MgTmV0d29ya1JUQ1NvY2tldDsKKworICAgIHZvaWQgY2xvc2UoKTsKKyAgICB2
b2lkIHNldE9wdGlvbihpbnQgb3B0aW9uLCBpbnQgdmFsdWUpOworICAgIHZvaWQgc2VuZFRvKGNv
bnN0IFdlYkNvcmU6OlNoYXJlZEJ1ZmZlciYsIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIGNv
bnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYpOworCisgICAgdm9pZCBzaWduYWxSZWFkUGFja2V0KHJ0
Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBjb25zdCBjaGFyKiwgc2l6ZV90LCBjb25zdCBydGM6OlNv
Y2tldEFkZHJlc3MmLCBjb25zdCBydGM6OlBhY2tldFRpbWUmKTsKKyAgICB2b2lkIHNpZ25hbFNl
bnRQYWNrZXQocnRjOjpBc3luY1BhY2tldFNvY2tldCosIGNvbnN0IHJ0Yzo6U2VudFBhY2tldCYp
OworICAgIHZvaWQgc2lnbmFsQWRkcmVzc1JlYWR5KHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQqLCBj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmKTsKKyAgICB2b2lkIHNpZ25hbENvbm5lY3QocnRjOjpB
c3luY1BhY2tldFNvY2tldCopOworICAgIHZvaWQgc2lnbmFsQ2xvc2UocnRjOjpBc3luY1BhY2tl
dFNvY2tldCosIGludCk7CisKKyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXI7CisgICAgTmV0d29y
a1JUQ1Byb3ZpZGVyJiBtX3J0Y1Byb3ZpZGVyOworICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFz
eW5jUGFja2V0U29ja2V0PiBtX3NvY2tldDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL05l
dHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5jcHAgYi9Tb3VyY2UvV2ViS2l0
Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuY3BwCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAu
LmUzMGI1ZWIwNzAxYjg1NWU2NDE3YWEwMmY3YzQ0NTllYTgxYjZiYzUKLS0tIC9kZXYvbnVsbAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0
b3IuY3BwCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgi
CisjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3IuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisK
KyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyLmgi
CisjaW5jbHVkZSAiV2ViUlRDTW9uaXRvck1lc3NhZ2VzLmgiCisjaW5jbHVkZSA8d3RmL0Z1bmN0
aW9uLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIE5ldHdvcmtSVENNb25pdG9yOjpz
dGFydFVwZGF0aW5nKCkKK3sKKyAgICBtX2lzU3RhcnRlZCA9IHRydWU7CisgICAgbV9ydGNQcm92
aWRlci5jYWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzXSgpIHsKKyAgICAgICAgbV9tYW5hZ2Vy
ID0gc3RkOjptYWtlX3VuaXF1ZTxydGM6OkJhc2ljTmV0d29ya01hbmFnZXI+KCk7CisgICAgICAg
IG1fbWFuYWdlci0+U2lnbmFsTmV0d29ya3NDaGFuZ2VkLmNvbm5lY3QodGhpcywgJk5ldHdvcmtS
VENNb25pdG9yOjpvbk5ldHdvcmtzQ2hhbmdlZCk7CisgICAgICAgIG1fbWFuYWdlci0+U3RhcnRV
cGRhdGluZygpOworICAgIH0pOworfQorCit2b2lkIE5ldHdvcmtSVENNb25pdG9yOjpzdG9wVXBk
YXRpbmcoKQoreworICAgIG1faXNTdGFydGVkID0gZmFsc2U7CisgICAgbV9ydGNQcm92aWRlci5j
YWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzXSgpIHsKKyAgICAgICAgbV9tYW5hZ2VyLT5TdG9w
VXBkYXRpbmcoKTsKKyAgICAgICAgbV9tYW5hZ2VyID0gbnVsbHB0cjsKKyAgICB9KTsKK30KKwor
dm9pZCBOZXR3b3JrUlRDTW9uaXRvcjo6b25OZXR3b3Jrc0NoYW5nZWQoKQoreworICAgIHJ0Yzo6
QmFzaWNOZXR3b3JrTWFuYWdlcjo6TmV0d29ya0xpc3QgbmV0d29ya3M7CisgICAgbV9tYW5hZ2Vy
LT5HZXROZXR3b3JrcygmbmV0d29ya3MpOworCisgICAgUlRDTmV0d29yazo6SVBBZGRyZXNzIGlw
djQ7CisgICAgbV9tYW5hZ2VyLT5HZXREZWZhdWx0TG9jYWxBZGRyZXNzKEFGX0lORVQsICZpcHY0
LnZhbHVlKTsKKyAgICBSVENOZXR3b3JrOjpJUEFkZHJlc3MgaXB2NjsKKyAgICBtX21hbmFnZXIt
PkdldERlZmF1bHRMb2NhbEFkZHJlc3MoQUZfSU5FVDYsICZpcHY2LnZhbHVlKTsKKworICAgIFZl
Y3RvcjxSVENOZXR3b3JrPiBuZXR3b3JrTGlzdDsKKyAgICBuZXR3b3JrTGlzdC5yZXNlcnZlSW5p
dGlhbENhcGFjaXR5KG5ldHdvcmtzLnNpemUoKSk7CisgICAgZm9yIChhdXRvKiBuZXR3b3JrIDog
bmV0d29ya3MpIHsKKyAgICAgICAgQVNTRVJUKG5ldHdvcmspOworICAgICAgICBuZXR3b3JrTGlz
dC51bmNoZWNrZWRBcHBlbmQoUlRDTmV0d29yayB7ICpuZXR3b3JrIH0pOworICAgIH0KKworICAg
IG1fcnRjUHJvdmlkZXIuc2VuZEZyb21NYWluVGhyZWFkKFt0aGlzLCBuZXR3b3JrTGlzdCA9IFdU
Rk1vdmUobmV0d29ya0xpc3QpLCBpcHY0ID0gV1RGTW92ZShpcHY0KSwgaXB2NiA9IFdURk1vdmUo
aXB2NildKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBpZiAoIW1faXNT
dGFydGVkKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVz
c2FnZXM6OldlYlJUQ01vbml0b3I6Ok5ldHdvcmtzQ2hhbmdlZChuZXR3b3JrTGlzdCwgaXB2NCwg
aXB2NiksIDApOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlm
IC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJv
Y2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQ
cm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjBlMDdkODRiNzk4
NDVhMzFlODA4ODViOWViZWRkNmZkYTA5OTk4NGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IuaApAQCAtMCww
ICsxLDYzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VCUlRD
KQorCisjaW5jbHVkZSAiV2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaCIKKyNpbmNsdWRlIDx3ZWJy
dGMvYmFzZS9uZXR3b3JrLmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2Uvc2lnc2xvdC5oPgorI2lu
Y2x1ZGUgPHdlYnJ0Yy9iYXNlL3RocmVhZC5oPgorCituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIENv
bm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xh
c3MgTmV0d29ya1JUQ1Byb3ZpZGVyOworCitjbGFzcyBOZXR3b3JrUlRDTW9uaXRvciBmaW5hbCA6
IHB1YmxpYyBzaWdzbG90OjpoYXNfc2xvdHM8PiB7CitwdWJsaWM6CisgICAgZXhwbGljaXQgTmV0
d29ya1JUQ01vbml0b3IoTmV0d29ya1JUQ1Byb3ZpZGVyJiBydGNQcm92aWRlcikgOiBtX3J0Y1By
b3ZpZGVyKHJ0Y1Byb3ZpZGVyKSB7IH0KKworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBD
OjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisgICAgdm9pZCBzdG9wVXBkYXRpbmcoKTsK
KworcHJpdmF0ZToKKyAgICB2b2lkIHN0YXJ0VXBkYXRpbmcoKTsKKworICAgIHZvaWQgb25OZXR3
b3Jrc0NoYW5nZWQoKTsKKworICAgIE5ldHdvcmtSVENQcm92aWRlciYgbV9ydGNQcm92aWRlcjsK
KyAgICBzdGQ6OnVuaXF1ZV9wdHI8cnRjOjpCYXNpY05ldHdvcmtNYW5hZ2VyPiBtX21hbmFnZXI7
CisgICAgYm9vbCBtX2lzU3RhcnRlZCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3Iu
bWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uNTFiMTVkZDI4M2Y1MzBlYzA3YWM4MWMwZmMwOTJkOGJk
NzAyZjZkOAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNz
L3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMwIEBACisj
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisj
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRD
KQorCittZXNzYWdlcyAtPiBOZXR3b3JrUlRDTW9uaXRvciB7CisgICAgdm9pZCBTdGFydFVwZGF0
aW5nKCkKKyAgICB2b2lkIFN0b3BVcGRhdGluZygpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05l
dHdvcmtSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJy
dGMvTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi41ZDM1ZTBhYjBmNzg3ZDNhMmFi
ODY2MWEwMTRlN2MxMjUzMGNlNDllCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5jcHAKQEAgLTAsMCArMSwy
MTQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29y
a1JUQ1Byb3ZpZGVyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTmV0d29y
a0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzcy5oIgor
I2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXQuaCIKKyNpbmNsdWRlICJXZWJSVENSZXNvbHZlck1l
c3NhZ2VzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KKyNpbmNsdWRl
IDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNvY2tldC5oPgorI2luY2x1ZGUgPHd0Zi9NYWluVGhy
ZWFkLmg+CisjaW5jbHVkZSA8d3RmL3RleHQvV1RGU3RyaW5nLmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdGF0aWMgaW5saW5lIHN0ZDo6dW5pcXVlX3B0cjxydGM6OlRocmVhZD4gY3JlYXRl
VGhyZWFkKCkKK3sKKyAgICBhdXRvIHRocmVhZCA9IHJ0Yzo6VGhyZWFkOjpDcmVhdGVXaXRoU29j
a2V0U2VydmVyKCk7CisgICAgYXV0byByZXN1bHQgPSB0aHJlYWQtPlN0YXJ0KCk7CisgICAgQVNT
RVJUX1VOVVNFRChyZXN1bHQsIHJlc3VsdCk7CisgICAgLy8gRklYTUU6IFNldCB0aHJlYWQgbmFt
ZS4KKyAgICByZXR1cm4gdGhyZWFkOworfQorCitOZXR3b3JrUlRDUHJvdmlkZXI6Ok5ldHdvcmtS
VENQcm92aWRlcihOZXR3b3JrQ29ubmVjdGlvblRvV2ViUHJvY2VzcyYgY29ubmVjdGlvbikKKyAg
ICA6IG1fY29ubmVjdGlvbigmY29ubmVjdGlvbikKKyAgICAsIG1fcnRjTW9uaXRvcigqdGhpcykK
KyAgICAsIG1fcnRjTmV0d29ya1RocmVhZChjcmVhdGVUaHJlYWQoKSkKKyAgICAsIG1fcGFja2V0
U29ja2V0RmFjdG9yeShtYWtlVW5pcXVlUmVmPHJ0Yzo6QmFzaWNQYWNrZXRTb2NrZXRGYWN0b3J5
PihtX3J0Y05ldHdvcmtUaHJlYWQuZ2V0KCkpKQoreworfQorCit2b2lkIE5ldHdvcmtSVENQcm92
aWRlcjo6Y2xvc2UoKQoreworICAgIG1fY29ubmVjdGlvbiA9IG51bGxwdHI7CisgICAgbV9yZXNv
bHZlcnMuY2xlYXIoKTsKKyAgICBtX3J0Y01vbml0b3Iuc3RvcFVwZGF0aW5nKCk7CisKKyAgICBj
YWxsT25SVENOZXR3b3JrVGhyZWFkKFt0aGlzXSgpIHsKKyAgICAgICAgbV9zb2NrZXRzLmNsZWFy
KCk7CisgICAgfSk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjcmVhdGVVRFBTb2Nr
ZXQodWludDY0X3QgaWRlbnRpZmllciwgY29uc3QgU3RyaW5nJiBhZGRyZXNzLCB1aW50MTZfdCBt
aW5Qb3J0LCB1aW50MTZfdCBtYXhQb3J0KQoreworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2Nr
ZXRBZGRyZXNzOworICAgIHNvY2tldEFkZHJlc3MuRnJvbVN0cmluZyhhZGRyZXNzLnV0ZjgoKS5k
YXRhKCkpOworCisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwg
c29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydF0oKSB7CisgICAgICAgIHN0ZDo6dW5pcXVl
X3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNrZXRTb2NrZXRGYWN0b3J5
LT5DcmVhdGVVZHBTb2NrZXQoc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCkpOworICAg
ICAgICBhZGRTb2NrZXQoaWRlbnRpZmllciwgc3RkOjptYWtlX3VuaXF1ZTxMaWJXZWJSVENTb2Nr
ZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlzLCBXVEZNb3ZlKHNvY2tldCkpKTsKKyAgICB9KTsK
K30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVNlcnZlclRDUFNvY2tldCh1aW50
NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJpbmcmIGFkZHJlc3MsIHVpbnQxNl90IG1pblBvcnQs
IHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQoreworICAgIHJ0Yzo6U29ja2V0QWRkcmVz
cyBzb2NrZXRBZGRyZXNzOworICAgIHNvY2tldEFkZHJlc3MuRnJvbVN0cmluZyhhZGRyZXNzLnV0
ZjgoKS5kYXRhKCkpOworCisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRp
Zmllciwgc29ja2V0QWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9uc10oKSB7CisgICAg
ICAgIHN0ZDo6dW5pcXVlX3B0cjxydGM6OkFzeW5jUGFja2V0U29ja2V0PiBzb2NrZXQobV9wYWNr
ZXRTb2NrZXRGYWN0b3J5LT5DcmVhdGVTZXJ2ZXJUY3BTb2NrZXQoc29ja2V0QWRkcmVzcywgbWlu
UG9ydCwgbWF4UG9ydCwgb3B0aW9ucykpOworICAgICAgICBhZGRTb2NrZXQoaWRlbnRpZmllciwg
c3RkOjptYWtlX3VuaXF1ZTxMaWJXZWJSVENTb2NrZXRDbGllbnQ+KGlkZW50aWZpZXIsICp0aGlz
LCBXVEZNb3ZlKHNvY2tldCkpKTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlk
ZXI6OmNyZWF0ZUNsaWVudFRDUFNvY2tldCh1aW50NjRfdCBpZGVudGlmaWVyLCBjb25zdCBTdHJp
bmcmIGxvY2FsQWRkcmVzcywgY29uc3QgU3RyaW5nJiByZW1vdGVBZGRyZXNzLCBpbnQgb3B0aW9u
cykKK3sKKyAgICBydGM6OlNvY2tldEFkZHJlc3Mgc29ja2V0TG9jYWxBZGRyZXNzOworICAgIHNv
Y2tldExvY2FsQWRkcmVzcy5Gcm9tU3RyaW5nKGxvY2FsQWRkcmVzcy51dGY4KCkuZGF0YSgpKTsK
KworICAgIHJ0Yzo6U29ja2V0QWRkcmVzcyBzb2NrZXRSZW1vdGVBZGRyZXNzOworICAgIHNvY2tl
dFJlbW90ZUFkZHJlc3MuRnJvbVN0cmluZyhyZW1vdGVBZGRyZXNzLnV0ZjgoKS5kYXRhKCkpOwor
CisgICAgY2FsbE9uUlRDTmV0d29ya1RocmVhZChbdGhpcywgaWRlbnRpZmllciwgc29ja2V0TG9j
YWxBZGRyZXNzLCBzb2NrZXRSZW1vdGVBZGRyZXNzLCBvcHRpb25zXSgpIHsKKyAgICAgICAgc3Rk
Ojp1bmlxdWVfcHRyPHJ0Yzo6QXN5bmNQYWNrZXRTb2NrZXQ+IHNvY2tldChtX3BhY2tldFNvY2tl
dEZhY3RvcnktPkNyZWF0ZUNsaWVudFRjcFNvY2tldChzb2NrZXRMb2NhbEFkZHJlc3MsIHNvY2tl
dFJlbW90ZUFkZHJlc3MsIHsgfSwgeyB9LCBvcHRpb25zKSk7CisgICAgICAgIGFkZFNvY2tldChp
ZGVudGlmaWVyLCBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1NvY2tldENsaWVudD4oaWRlbnRp
ZmllciwgKnRoaXMsIFdURk1vdmUoc29ja2V0KSkpOworICAgIH0pOworfQorCit2b2lkIE5ldHdv
cmtSVENQcm92aWRlcjo6YWRkU29ja2V0KHVpbnQ2NF90IGlkZW50aWZpZXIsIHN0ZDo6dW5pcXVl
X3B0cjxMaWJXZWJSVENTb2NrZXRDbGllbnQ+JiYgc29ja2V0KQoreworICAgIG1fc29ja2V0cy5h
ZGQoaWRlbnRpZmllciwgV1RGTW92ZShzb2NrZXQpKTsKK30KKworc3RkOjp1bmlxdWVfcHRyPExp
YldlYlJUQ1NvY2tldENsaWVudD4gTmV0d29ya1JUQ1Byb3ZpZGVyOjp0YWtlU29ja2V0KHVpbnQ2
NF90IGlkZW50aWZpZXIpCit7CisgICAgcmV0dXJuIG1fc29ja2V0cy50YWtlKGlkZW50aWZpZXIp
OworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6ZGlkUmVjZWl2ZU5ldHdvcmtSVENTb2Nr
ZXRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNv
ZGVyKQoreworICAgIE5ldHdvcmtSVENTb2NrZXQoZGVjb2Rlci5kZXN0aW5hdGlvbklEKCksICp0
aGlzKS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKK30KKwordm9pZCBO
ZXR3b3JrUlRDUHJvdmlkZXI6OmNyZWF0ZVJlc29sdmVyKHVpbnQ2NF90IGlkZW50aWZpZXIsIGNv
bnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBDRkhvc3RSZWYgaG9zdCA9IENGSG9zdENyZWF0
ZVdpdGhOYW1lKGtDRkFsbG9jYXRvckRlZmF1bHQsIGFkZHJlc3MuY3JlYXRlQ0ZTdHJpbmcoKS5n
ZXQoKSk7CisgICAgQVNTRVJUKGhvc3QpOworCisgICAgYXV0byByZXNvbHZlciA9IHN0ZDo6bWFr
ZV91bmlxdWU8UmVzb2x2ZXI+KGlkZW50aWZpZXIsICp0aGlzLCBob3N0KTsKKworICAgIENGSG9z
dENsaWVudENvbnRleHQgY29udGV4dCA9IHsgMCwgcmVzb2x2ZXIuZ2V0KCksIG51bGxwdHIsIG51
bGxwdHIsIG51bGxwdHIgfTsKKyAgICBDRkhvc3RTZXRDbGllbnQoaG9zdCwgTmV0d29ya1JUQ1By
b3ZpZGVyOjpyZXNvbHZlZE5hbWUsICZjb250ZXh0KTsKKyAgICBDRkhvc3RTY2hlZHVsZVdpdGhS
dW5Mb29wKGhvc3QsIENGUnVuTG9vcEdldEN1cnJlbnQoKSwga0NGUnVuTG9vcERlZmF1bHRNb2Rl
KTsKKyAgICBCb29sZWFuIHJlc3VsdCA9IENGSG9zdFN0YXJ0SW5mb1Jlc29sdXRpb24oaG9zdCwg
a0NGSG9zdEFkZHJlc3NlcywgbnVsbHB0cik7CisgICAgQVNTRVJUX1VOVVNFRChyZXN1bHQsIHJl
c3VsdCk7CisKKyAgICBtX3Jlc29sdmVycy5hZGQoaWRlbnRpZmllciwgV1RGTW92ZShyZXNvbHZl
cikpOworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6c3RvcFJlc29sdmVyKHVpbnQ2NF90
IGlkZW50aWZpZXIpCit7CisgICAgYXV0byByZXNvbHZlciA9IG1fcmVzb2x2ZXJzLnRha2UoaWRl
bnRpZmllcik7CisgICAgaWYgKHJlc29sdmVyKQorICAgICAgICBDRkhvc3RDYW5jZWxJbmZvUmVz
b2x1dGlvbihyZXNvbHZlci0+aG9zdCwgQ0ZIb3N0SW5mb1R5cGU6OmtDRkhvc3RBZGRyZXNzZXMp
OworfQorCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6cmVzb2x2ZWROYW1lKENGSG9zdFJlZiBo
b3N0UmVmLCBDRkhvc3RJbmZvVHlwZSB0eXBlSW5mbywgY29uc3QgQ0ZTdHJlYW1FcnJvciAqZXJy
b3IsIHZvaWQgKmluZm8pCit7CisgICAgQVNTRVJUX1VOVVNFRCh0eXBlSW5mbywgIXR5cGVJbmZv
KTsKKworICAgIGlmIChlcnJvci0+ZG9tYWluKSB7CisgICAgICAgIC8vIEZJWE1FOiBOZWVkIHRv
IGhhbmRsZSBmYWlsdXJlLCBidXQgaW5mbyBpcyBub3QgcHJvdmlkZWQgaW4gdGhlIGNhbGxiYWNr
LgorICAgICAgICByZXR1cm47CisgICAgfQorCisgICAgQVNTRVJUKGluZm8pOworICAgIGF1dG8q
IHJlc29sdmVySW5mbyA9IHN0YXRpY19jYXN0PFJlc29sdmVyKj4oaW5mbyk7CisgICAgYXV0byBy
ZXNvbHZlciA9IHJlc29sdmVySW5mby0+cnRjUHJvdmlkZXIubV9yZXNvbHZlcnMudGFrZShyZXNv
bHZlckluZm8tPmlkZW50aWZpZXIpOworICAgIGlmICghcmVzb2x2ZXIpCisgICAgICAgIHJldHVy
bjsKKworICAgIEJvb2xlYW4gcmVzdWx0OworICAgIENGQXJyYXlSZWYgcmVzb2x2ZWRBZGRyZXNz
ZXMgPSAoQ0ZBcnJheVJlZilDRkhvc3RHZXRBZGRyZXNzaW5nKGhvc3RSZWYsICZyZXN1bHQpOwor
ICAgIEFTU0VSVF9VTlVTRUQocmVzdWx0LCByZXN1bHQpOworCisgICAgc2l6ZV90IGNvdW50ID0g
Q0ZBcnJheUdldENvdW50KHJlc29sdmVkQWRkcmVzc2VzKTsKKyAgICBWZWN0b3I8UlRDTmV0d29y
azo6SVBBZGRyZXNzPiBhZGRyZXNzZXM7CisgICAgYWRkcmVzc2VzLnJlc2VydmVJbml0aWFsQ2Fw
YWNpdHkoY291bnQpOworCisgICAgZm9yIChzaXplX3QgaW5kZXggPSAwOyBpbmRleCA8IGNvdW50
OyArK2luZGV4KSB7CisgICAgICAgIENGRGF0YVJlZiBkYXRhID0gKENGRGF0YVJlZilDRkFycmF5
R2V0VmFsdWVBdEluZGV4KHJlc29sdmVkQWRkcmVzc2VzLCBpbmRleCk7CisgICAgICAgIGF1dG8q
IGFkZHJlc3MgPSByZWludGVycHJldF9jYXN0PGNvbnN0IHN0cnVjdCBzb2NrYWRkcl9pbio+KENG
RGF0YUdldEJ5dGVQdHIoZGF0YSkpOworICAgICAgICBhZGRyZXNzZXMudW5jaGVja2VkQXBwZW5k
KFJUQ05ldHdvcms6OklQQWRkcmVzcyhydGM6OklQQWRkcmVzcyhhZGRyZXNzLT5zaW5fYWRkcikp
KTsKKyAgICB9CisgICAgQVNTRVJUKHJlc29sdmVyLT5ydGNQcm92aWRlci5tX2Nvbm5lY3Rpb24p
OworICAgIHJlc29sdmVyLT5ydGNQcm92aWRlci5tX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKS5z
ZW5kKE1lc3NhZ2VzOjpXZWJSVENSZXNvbHZlcjo6U2V0UmVzb2x2ZWRBZGRyZXNzKGFkZHJlc3Nl
cyksIHJlc29sdmVyLT5pZGVudGlmaWVyKTsKK30KKworc3RydWN0IE5ldHdvcmtNZXNzYWdlRGF0
YSA6IHB1YmxpYyBydGM6Ok1lc3NhZ2VEYXRhIHsKKyAgICBOZXR3b3JrTWVzc2FnZURhdGEoUmVm
PE5ldHdvcmtSVENQcm92aWRlcj4mJiBydGNQcm92aWRlciwgRnVuY3Rpb248dm9pZCgpPiYmIGNh
bGxiYWNrKQorICAgICAgICA6IHJ0Y1Byb3ZpZGVyKFdURk1vdmUocnRjUHJvdmlkZXIpKQorICAg
ICAgICAsIGNhbGxiYWNrKFdURk1vdmUoY2FsbGJhY2spKQorICAgIHsgfQorICAgIFJlZjxOZXR3
b3JrUlRDUHJvdmlkZXI+IHJ0Y1Byb3ZpZGVyOworICAgIEZ1bmN0aW9uPHZvaWQoKT4gY2FsbGJh
Y2s7Cit9OworCit2b2lkIE5ldHdvcmtSVENQcm92aWRlcjo6T25NZXNzYWdlKHJ0Yzo6TWVzc2Fn
ZSogbWVzc2FnZSkKK3sKKyAgICBBU1NFUlQobWVzc2FnZS0+bWVzc2FnZV9pZCA9PSAxKTsKKyAg
ICBzdGF0aWNfY2FzdDxOZXR3b3JrTWVzc2FnZURhdGEqPihtZXNzYWdlLT5wZGF0YSktPmNhbGxi
YWNrKCk7Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1Byb3ZpZGVyOjpjYWxsT25SVENOZXR3b3JrVGhy
ZWFkKEZ1bmN0aW9uPHZvaWQoKT4mJiBjYWxsYmFjaykKK3sKKyAgICBtX3J0Y05ldHdvcmtUaHJl
YWQtPlBvc3QoUlRDX0ZST01fSEVSRSwgdGhpcywgMSwgbmV3IE5ldHdvcmtNZXNzYWdlRGF0YSgq
dGhpcywgV1RGTW92ZShjYWxsYmFjaykpKTsKK30KKwordm9pZCBOZXR3b3JrUlRDUHJvdmlkZXI6
OmNhbGxTb2NrZXQodWludDY0X3QgaWRlbnRpZmllciwgRnVuY3Rpb248dm9pZChMaWJXZWJSVENT
b2NrZXRDbGllbnQmKT4mJiBjYWxsYmFjaykKK3sKKyAgICBjYWxsT25SVENOZXR3b3JrVGhyZWFk
KFt0aGlzLCBpZGVudGlmaWVyLCBjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKKyAg
ICAgICAgaWYgKGF1dG8qIHNvY2tldCA9IG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcikpCisgICAg
ICAgICAgICBjYWxsYmFjaygqc29ja2V0KTsKKyAgICB9KTsKK30KKwordm9pZCBOZXR3b3JrUlRD
UHJvdmlkZXI6OnNlbmRGcm9tTWFpblRocmVhZChGdW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlv
biYpPiYmIGNhbGxiYWNrKQoreworICAgIGNhbGxPbk1haW5UaHJlYWQoW3Byb3ZpZGVyID0gbWFr
ZVJlZigqdGhpcyksIGNhbGxiYWNrID0gV1RGTW92ZShjYWxsYmFjayldKCkgeworICAgICAgICBp
ZiAocHJvdmlkZXItPm1fY29ubmVjdGlvbikKKyAgICAgICAgICAgIGNhbGxiYWNrKHByb3ZpZGVy
LT5tX2Nvbm5lY3Rpb24tPmNvbm5lY3Rpb24oKSk7CisgICAgfSk7Cit9CisKK30gLy8gbmFtZXNw
YWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaCBiL1Nv
dXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwLi43MDBjMzhmYjQ3NzY0ODlhZjhjNWE3NGI4ZjQ3YTM3YjU4MDFjNmQ4Ci0tLSAv
ZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdv
cmtSVENQcm92aWRlci5oCkBAIC0wLDAgKzEsMTA4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0Q2xp
ZW50LmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ01vbml0b3IuaCIKKyNpbmNsdWRlIDxDRk5ldHdv
cmsvQ0ZIb3N0Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9MaWJXZWJSVENNYWNyb3MuaD4KKyNpbmNs
dWRlIDx3ZWJydGMvYmFzZS9zaWdzbG90Lmg+CisjaW5jbHVkZSA8d2VicnRjL3AycC9iYXNlL2Jh
c2ljcGFja2V0c29ja2V0ZmFjdG9yeS5oPgorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CisjaW5j
bHVkZSA8d3RmL1RocmVhZFNhZmVSZWZDb3VudGVkLmg+CisjaW5jbHVkZSA8d3RmL1VuaXF1ZVJl
Zi5oPgorI2luY2x1ZGUgPHd0Zi90ZXh0L1dURlN0cmluZy5oPgorCituYW1lc3BhY2UgSVBDIHsK
K2NsYXNzIENvbm5lY3Rpb247CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworY2xhc3MgTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3M7CitjbGFzcyBOZXR3b3Jr
UlRDU29ja2V0OworICAgIAorY2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyIDogcHVibGljIFRocmVh
ZFNhZmVSZWZDb3VudGVkPE5ldHdvcmtSVENQcm92aWRlcj4sIHB1YmxpYyBydGM6Ok1lc3NhZ2VI
YW5kbGVyIHsKK3B1YmxpYzoKKyAgICBzdGF0aWMgUmVmPE5ldHdvcmtSVENQcm92aWRlcj4gY3Jl
YXRlKE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzJiBjb25uZWN0aW9uKSB7IHJldHVybiBh
ZG9wdFJlZigqbmV3IE5ldHdvcmtSVENQcm92aWRlcihjb25uZWN0aW9uKSk7IH0KKworICAgIHZv
aWQgZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7Cisg
ICAgdm9pZCBkaWRSZWNlaXZlTmV0d29ya1JUQ01vbml0b3JNZXNzYWdlKElQQzo6Q29ubmVjdGlv
biYgY29ubmVjdGlvbiwgSVBDOjpEZWNvZGVyJiBkZWNvZGVyKSB7IG1fcnRjTW9uaXRvci5kaWRS
ZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsgfQorICAgIHZvaWQgZGlkUmVjZWl2
ZU5ldHdvcmtSVENTb2NrZXRNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVjb2RlciYp
OworCisgICAgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ1NvY2tldENsaWVudD4gdGFrZVNvY2tl
dCh1aW50NjRfdCk7CisgICAgdm9pZCByZXNvbHZlckRvbmUodWludDY0X3QpOworCisgICAgdm9p
ZCBjbG9zZSgpOworCisgICAgdm9pZCBjYWxsU29ja2V0KHVpbnQ2NF90LCBGdW5jdGlvbjx2b2lk
KExpYldlYlJUQ1NvY2tldENsaWVudCYpPiYmKTsKKyAgICB2b2lkIGNhbGxPblJUQ05ldHdvcmtU
aHJlYWQoRnVuY3Rpb248dm9pZCgpPiYmKTsKKyAgICB2b2lkIHNlbmRGcm9tTWFpblRocmVhZChG
dW5jdGlvbjx2b2lkKElQQzo6Q29ubmVjdGlvbiYpPiYmKTsKKworcHJpdmF0ZToKKyAgICBleHBs
aWNpdCBOZXR3b3JrUlRDUHJvdmlkZXIoTmV0d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MmKTsK
KworICAgIHZvaWQgY3JlYXRlVURQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCB1aW50
MTZfdCwgdWludDE2X3QpOworICAgIHZvaWQgY3JlYXRlQ2xpZW50VENQU29ja2V0KHVpbnQ2NF90
LCBjb25zdCBTdHJpbmcmLCBjb25zdCBTdHJpbmcmLCBpbnQpOworICAgIHZvaWQgY3JlYXRlU2Vy
dmVyVENQU29ja2V0KHVpbnQ2NF90LCBjb25zdCBTdHJpbmcmLCB1aW50MTZfdCBtaW5Qb3J0LCB1
aW50MTZfdCBtYXhQb3J0LCBpbnQpOworICAgIHZvaWQgY3JlYXRlUmVzb2x2ZXIodWludDY0X3Qs
IGNvbnN0IFN0cmluZyYpOworICAgIHZvaWQgc3RvcFJlc29sdmVyKHVpbnQ2NF90KTsKKworICAg
IHZvaWQgYWRkU29ja2V0KHVpbnQ2NF90LCBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDU29ja2V0
Q2xpZW50PiYmKTsKKworICAgIHZvaWQgT25NZXNzYWdlKHJ0Yzo6TWVzc2FnZSopOworCisgICAg
c3RhdGljIHZvaWQgcmVzb2x2ZWROYW1lKENGSG9zdFJlZiwgQ0ZIb3N0SW5mb1R5cGUsIGNvbnN0
IENGU3RyZWFtRXJyb3IqLCB2b2lkKik7CisKKyAgICBzdHJ1Y3QgUmVzb2x2ZXIgeworICAgICAg
ICBSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1By
b3ZpZGVyLCBSZXRhaW5QdHI8Q0ZIb3N0UmVmPiYmIGhvc3QpCisgICAgICAgICAgICA6IGlkZW50
aWZpZXIoaWRlbnRpZmllcikKKyAgICAgICAgICAgICwgcnRjUHJvdmlkZXIocnRjUHJvdmlkZXIp
CisgICAgICAgICAgICAsIGhvc3QoV1RGTW92ZShob3N0KSkgeyB9CisgICAgICAgIH5SZXNvbHZl
cigpIHsgQ0ZSZWxlYXNlKGhvc3QpOyB9CisKKyAgICAgICAgdWludDY0X3QgaWRlbnRpZmllcjsK
KyAgICAgICAgTmV0d29ya1JUQ1Byb3ZpZGVyJiBydGNQcm92aWRlcjsKKyAgICAgICAgQ0ZIb3N0
UmVmIGhvc3Q7CisgICAgfTsKKworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5pcXVlX3B0
cjxSZXNvbHZlcj4+IG1fcmVzb2x2ZXJzOworICAgIEhhc2hNYXA8dWludDY0X3QsIHN0ZDo6dW5p
cXVlX3B0cjxMaWJXZWJSVENTb2NrZXRDbGllbnQ+PiBtX3NvY2tldHM7CisgICAgTmV0d29ya0Nv
bm5lY3Rpb25Ub1dlYlByb2Nlc3MqIG1fY29ubmVjdGlvbjsKKyAgICBib29sIG1faXNTdGFydGVk
IHsgdHJ1ZSB9OworCisgICAgTmV0d29ya1JUQ01vbml0b3IgbV9ydGNNb25pdG9yOworCisgICAg
c3RkOjp1bmlxdWVfcHRyPHJ0Yzo6VGhyZWFkPiBtX3J0Y05ldHdvcmtUaHJlYWQ7CisgICAgVW5p
cXVlUmVmPHJ0Yzo6QmFzaWNQYWNrZXRTb2NrZXRGYWN0b3J5PiBtX3BhY2tldFNvY2tldEZhY3Rv
cnk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJS
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nl
c3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi4wZjY2
Y2E5ODhjNmFlMWQyYmMyZDIyZTAzMzIzOGE2ZjIzNzllMWVkCi0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5t
ZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMzIEBACisjIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMg
YXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCittZXNzYWdlcyAtPiBOZXR3b3JrUlRD
UHJvdmlkZXIgeworICAgIENyZWF0ZVVEUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxv
Y2FsQWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCkKKyAgICBDcmVh
dGVTZXJ2ZXJUQ1BTb2NrZXQoaW50IGlkZW50aWZpZXIsIFN0cmluZyBsb2NhbEFkZHJlc3MsIHVp
bnQxNl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQsIGludCBvcHRpb25zKQorICAgIENyZWF0
ZUNsaWVudFRDUFNvY2tldChpbnQgaWRlbnRpZmllciwgU3RyaW5nIGxvY2FsQWRkcmVzcywgU3Ry
aW5nIHJlbW90ZUFkZHJlc3MsIGludCBvcHRpb25zKQorICAgIENyZWF0ZVJlc29sdmVyKHVpbnQ2
NF90IGlkZW50aWZpZXIsIFN0cmluZyBhZGRyZXNzKQorICAgIFN0b3BSZXNvbHZlcih1aW50NjRf
dCBpZGVudGlmaWVyKQorfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0LmNw
cCBiL1NvdXJjZS9XZWJLaXQyL05ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0
LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi5lYzA5ZTMwYmMzZDI2ZDQ4MjhiMWVhODhhMWJkMjg0ZTAzMzkyYzg2
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRj
L05ldHdvcmtSVENTb2NrZXQuY3BwCkBAIC0wLDAgKzEsODMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1NvY2tldC5oIgorCisjaWYgVVNF
KExJQldFQlJUQykKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJMaWJX
ZWJSVENTb2NrZXRDbGllbnQuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXIuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL1NoYXJlZEJ1ZmZlci5oPgorI2luY2x1ZGUgPHd0Zi9GdW5jdGlvbi5o
PgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworTmV0d29ya1JUQ1NvY2tldDo6TmV0d29ya1JUQ1Nv
Y2tldCh1aW50NjRfdCBpZGVudGlmaWVyLCBOZXR3b3JrUlRDUHJvdmlkZXImIHJ0Y1Byb3ZpZGVy
KQorICAgIDogbV9pZGVudGlmaWVyKGlkZW50aWZpZXIpCisgICAgLCBtX3J0Y1Byb3ZpZGVyKHJ0
Y1Byb3ZpZGVyKQoreworfQorCit2b2lkIE5ldHdvcmtSVENTb2NrZXQ6OnNlbmRUbyhjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJUQ05ldHdvcms6OklQQWRkcmVzcyYgYWRk
cmVzcywgdWludDE2X3QgcG9ydCwgaW50IHBhY2tldElELCBpbnQgcnRwU2VuZHRpbWVFeHRlbnNp
b25JRCwgU3RyaW5nIHNydHBBdXRoLCBpbnQ2NF90IHNydHBQYWNrZXRJbmRleCwgaW50IGRzY3Ap
Cit7CisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRh
LmRhdGEoKSwgZGF0YS5zaXplKCkpOworCisgICAgcnRjOjpTb2NrZXRBZGRyZXNzIHNvY2tldEFk
ZHJlc3MoYWRkcmVzcy52YWx1ZSwgcG9ydCk7CisKKyAgICBydGM6OlBhY2tldE9wdGlvbnMgb3B0
aW9uczsKKyAgICBvcHRpb25zLnBhY2tldF9pZCA9IHBhY2tldElEOworICAgIG9wdGlvbnMucGFj
a2V0X3RpbWVfcGFyYW1zLnJ0cF9zZW5kdGltZV9leHRlbnNpb25faWQgPSBydHBTZW5kdGltZUV4
dGVuc2lvbklEOworICAgIG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBfcGFja2V0X2lu
ZGV4ID0gc3J0cFBhY2tldEluZGV4OworICAgIG9wdGlvbnMuZHNjcCA9IHN0YXRpY19jYXN0PHJ0
Yzo6RGlmZlNlcnZDb2RlUG9pbnQ+KGRzY3ApOworICAgIGlmIChzcnRwQXV0aC51dGY4KCkubGVu
Z3RoKCkpIHsKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tl
eSA9IHN0ZDo6dmVjdG9yPGNoYXI+KHNydHBBdXRoLnV0ZjgoKS5kYXRhKCksIHNydHBBdXRoLnV0
ZjgoKS5kYXRhKCkgKyBzcnRwQXV0aC51dGY4KCkubGVuZ3RoKCkpOworICAgICAgICBvcHRpb25z
LnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfdGFnX2xlbiA9IHNydHBBdXRoLnV0ZjgoKS5s
ZW5ndGgoKTsKKyAgICB9IGVsc2UKKyAgICAgICAgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMu
c3J0cF9hdXRoX3RhZ19sZW4gPSAtMTsKKyAgICAKKyAgICBtX3J0Y1Byb3ZpZGVyLmNhbGxTb2Nr
ZXQobV9pZGVudGlmaWVyLCBbYnVmZmVyID0gV1RGTW92ZShidWZmZXIpLCBzb2NrZXRBZGRyZXNz
LCBvcHRpb25zXShMaWJXZWJSVENTb2NrZXRDbGllbnQmIGNsaWVudCkgeworICAgICAgICBjbGll
bnQuc2VuZFRvKGJ1ZmZlci5nZXQoKSwgc29ja2V0QWRkcmVzcywgb3B0aW9ucyk7CisgICAgfSk7
Cit9CisKK3ZvaWQgTmV0d29ya1JUQ1NvY2tldDo6Y2xvc2UoKQoreworICAgIG1fcnRjUHJvdmlk
ZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtdKExpYldlYlJUQ1NvY2tldENsaWVudCYgc29j
a2V0KSB7CisgICAgICAgIHNvY2tldC5jbG9zZSgpOworICAgIH0pOworfQorICAgIAordm9pZCBO
ZXR3b3JrUlRDU29ja2V0OjpzZXRPcHRpb24oaW50IG9wdGlvbiwgaW50IHZhbHVlKQoreworICAg
IG1fcnRjUHJvdmlkZXIuY2FsbFNvY2tldChtX2lkZW50aWZpZXIsIFtvcHRpb24sIHZhbHVlXShM
aWJXZWJSVENTb2NrZXRDbGllbnQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQuc2V0T3B0aW9u
KG9wdGlvbiwgdmFsdWUpOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9OZXR3
b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5oIGIvU291cmNlL1dlYktpdDIvTmV0
d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaApuZXcgZmlsZSBtb2RlIDEwMDY0
NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40NDBmNzBm
NGVhOGEwNTY3MjE4NjZhMTQ1YTQxNzEyNGUzNDYxNGY3Ci0tLSAvZGV2L251bGwKKysrIGIvU291
cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQuaApAQCAt
MCwwICsxLDczIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElCV0VC
UlRDKQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9MaWJX
ZWJSVENNYWNyb3MuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNvY2tldC5o
PgorI2luY2x1ZGUgPHdlYnJ0Yy9iYXNlL3NpZ3Nsb3QuaD4KKworbmFtZXNwYWNlIElQQyB7Citj
bGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK30KKworbmFtZXNwYWNlIHJ0
YyB7CitjbGFzcyBBc3luY1BhY2tldFNvY2tldDsKK2NsYXNzIFNvY2tldEFkZHJlc3M7CitzdHJ1
Y3QgUGFja2V0T3B0aW9uczsKK3N0cnVjdCBQYWNrZXRUaW1lOworc3RydWN0IFNlbnRQYWNrZXQ7
Cit9CisKK25hbWVzcGFjZSBXZWJDb3JlIHsKK2NsYXNzIFNoYXJlZEJ1ZmZlcjsKK30KKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNzOwor
Y2xhc3MgTmV0d29ya1JUQ1Byb3ZpZGVyOworCitjbGFzcyBOZXR3b3JrUlRDU29ja2V0IHsKK3B1
YmxpYzoKKyAgICBOZXR3b3JrUlRDU29ja2V0KHVpbnQ2NF90LCBOZXR3b3JrUlRDUHJvdmlkZXIm
KTsKKyAgICB2b2lkIGRpZFJlY2VpdmVNZXNzYWdlKElQQzo6Q29ubmVjdGlvbiYsIElQQzo6RGVj
b2RlciYpOworcHJpdmF0ZToKKyAgICB2b2lkIHNlbmRUbyhjb25zdCBJUEM6OkRhdGFSZWZlcmVu
Y2UmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50MTZfdCBwb3J0LCBpbnQgcGFj
a2V0SUQsIGludCBydHBTZW5kdGltZUV4dGVuc2lvbklELCBTdHJpbmcgc3J0cEF1dGgsIGludDY0
X3Qgc3J0cFBhY2tldEluZGV4LCBpbnQgZHNjcCk7CisgICAgdm9pZCBjbG9zZSgpOworICAgIHZv
aWQgc2V0T3B0aW9uKGludCBvcHRpb24sIGludCB2YWx1ZSk7CisKKyAgICB1aW50NjRfdCBtX2lk
ZW50aWZpZXI7CisgICAgTmV0d29ya1JUQ1Byb3ZpZGVyJiBtX3J0Y1Byb3ZpZGVyOworfTsKKwor
fSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYktpdDIvTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2Nr
ZXQubWVzc2FnZXMuaW4gYi9Tb3VyY2UvV2ViS2l0Mi9OZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5hMmVhM2UxYmU3NjdkY2I0MWU0
NzJiODVjYTc3Y2U0ZjU3M2ViNGRhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIv
TmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW4KQEAgLTAs
MCArMSwzMSBAQAorIyBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorIworIyBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyMgbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisjIGFyZSBtZXQ6CisjIDEuICBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorIyAyLiAgUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyMgICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisjCisjIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycgQU5ECisjIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFRIRSBJTVBM
SUVECisjIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIgUFVSUE9TRSBBUkUKKyMgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IKKyMgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElB
TAorIyBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YgU1VCU1RJVFVURSBHT09EUyBPUgorIyBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUgorIyBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLAorIyBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQorIyBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorCisjaWYg
VVNFKExJQldFQlJUQykKKworbWVzc2FnZXMgLT4gTmV0d29ya1JUQ1NvY2tldCB7CisgICAgdm9p
ZCBTZW5kVG8oSVBDOjpEYXRhUmVmZXJlbmNlIGRhdGEsIFdlYktpdDo6UlRDTmV0d29yazo6SVBB
ZGRyZXNzIGFkZHJlc3MsIHVpbnQxNl90IHBvcnQsIGludCBwYWNrZXRJRCwgaW50IHJ0cFNlbmR0
aW1lRXh0ZW5zaW9uSUQsIFN0cmluZyBzcnRwQXV0aCwgaW50NjRfdCBzcnRwUGFja2V0SW5kZXgs
IGludCBkc2NwKQorICAgIHZvaWQgQ2xvc2UoKQorICAgIHZvaWQgU2V0T3B0aW9uKGludCBvcHRp
b24sIGludCB2YWx1ZSkKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpcwpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1JUQ05ldHdvcmsuY3BwIGIvU291cmNlL1dlYktpdDIv
U2hhcmVkL1JUQ05ldHdvcmsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmIxM2ViYzljMDdiZGEwNmQ5Y2I1OGNj
OWE3ZDEwZDhiMzZmNTAyZGQKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFy
ZWQvUlRDTmV0d29yay5jcHAKQEAgLTAsMCArMSwxNjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTYgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorCisjaWYgVVNFKExJQldFQlJU
QykKKworI2luY2x1ZGUgIkRhdGFSZWZlcmVuY2UuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1l
bnRDb2RlcnMuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1JUQ05ldHdvcms6OlJUQ05ldHdv
cmsoY29uc3QgcnRjOjpOZXR3b3JrJiBuZXR3b3JrKQorICAgIDogbmFtZShuZXR3b3JrLm5hbWUo
KSkKKyAgICAsIGRlc2NyaXB0aW9uKG5ldHdvcmsuZGVzY3JpcHRpb24oKSkKKyAgICAsIHByZWZp
eCB7IG5ldHdvcmsucHJlZml4KCkgfQorICAgICwgcHJlZml4TGVuZ3RoKG5ldHdvcmsucHJlZml4
X2xlbmd0aCgpKQorICAgICwgdHlwZShuZXR3b3JrLnR5cGUoKSkKKyAgICAsIGlkKG5ldHdvcmsu
aWQoKSkKKyAgICAsIHByZWZlcmVuY2UobmV0d29yay5wcmVmZXJlbmNlKCkpCisgICAgLCBhY3Rp
dmUobmV0d29yay5hY3RpdmUoKSkKKyAgICAsIGlnbm9yZWQobmV0d29yay5pZ25vcmVkKCkpCisg
ICAgLCBzY29wZUlEKG5ldHdvcmsuc2NvcGVfaWQoKSkKKyAgICAsIGlwcyhuZXR3b3JrLkdldElQ
cygpKQoreworfQorCitydGM6Ok5ldHdvcmsgUlRDTmV0d29yazo6dmFsdWUoKSBjb25zdAorewor
ICAgIHJ0Yzo6TmV0d29yayBuZXR3b3JrKG5hbWUuZGF0YSgpLCBkZXNjcmlwdGlvbi5kYXRhKCks
IHByZWZpeC52YWx1ZSwgcHJlZml4TGVuZ3RoLCBydGM6OkFkYXB0ZXJUeXBlKHR5cGUpKTsKKyAg
ICBuZXR3b3JrLnNldF9pZChpZCk7CisgICAgbmV0d29yay5zZXRfcHJlZmVyZW5jZShwcmVmZXJl
bmNlKTsKKyAgICBuZXR3b3JrLnNldF9hY3RpdmUoYWN0aXZlKTsKKyAgICBuZXR3b3JrLnNldF9p
Z25vcmVkKGlnbm9yZWQpOworICAgIG5ldHdvcmsuc2V0X3Njb3BlX2lkKHNjb3BlSUQpOworICAg
IG5ldHdvcmsuU2V0SVBzKGlwcywgdHJ1ZSk7CisgICAgcmV0dXJuIG5ldHdvcms7Cit9CisKK2Jv
b2wgUlRDTmV0d29yazo6SVBBZGRyZXNzOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBJ
UEFkZHJlc3MmIHJlc3VsdCkKK3sKKyAgICBpbnQgZmFtaWx5OworICAgIGlmICghZGVjb2Rlci5k
ZWNvZGUoZmFtaWx5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIElQQzo6RGF0YVJlZmVy
ZW5jZSBkYXRhOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGF0YSkpCisgICAgICAgIHJldHVy
biBmYWxzZTsKKyAgICBpZiAoZmFtaWx5ID09IEFGX0lORVQpIHsKKyAgICAgICAgaWYgKGRhdGEu
c2l6ZSgpICE9IHNpemVvZihpbl9hZGRyKSkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICAgICAgcmVzdWx0LnZhbHVlID0gcnRjOjpJUEFkZHJlc3MoKnJlaW50ZXJwcmV0X2Nhc3Q8Y29u
c3QgaW5fYWRkcio+KGRhdGEuZGF0YSgpKSk7CisgICAgICAgIHJldHVybiB0cnVlOworICAgIH0K
KyAgICBpZiAoZGF0YS5zaXplKCkgIT0gc2l6ZW9mKGluNl9hZGRyKSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworICAgIHJlc3VsdC52YWx1ZSA9IHJ0Yzo6SVBBZGRyZXNzKCpyZWludGVycHJldF9j
YXN0PGNvbnN0IGluNl9hZGRyKj4oZGF0YS5kYXRhKCkpKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
Kwordm9pZCBSVENOZXR3b3JrOjpJUEFkZHJlc3M6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCB2YWx1ZS5mYW1pbHkoKTsKKyAgICBpZiAodmFs
dWUuZmFtaWx5KCkgPT0gQUZfSU5FVCkgeworICAgICAgICBhdXRvIGFkZHJlc3MgPSB2YWx1ZS5p
cHY0X2FkZHJlc3MoKTsKKyAgICAgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVp
bnRlcnByZXRfY2FzdDxjb25zdCB1aW50OF90Kj4oJmFkZHJlc3MpLCBzaXplb2YoYWRkcmVzcykp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGF1dG8gYWRkcmVzcyA9IHZhbHVlLmlwdjZf
YWRkcmVzcygpOworICAgIGVuY29kZXIgPDwgSVBDOjpEYXRhUmVmZXJlbmNlKHJlaW50ZXJwcmV0
X2Nhc3Q8Y29uc3QgdWludDhfdCo+KCZhZGRyZXNzKSwgc2l6ZW9mKGFkZHJlc3MpKTsKK30KKwor
Ym9vbCBSVENOZXR3b3JrOjpkZWNvZGUoSVBDOjpEZWNvZGVyJiBkZWNvZGVyLCBSVENOZXR3b3Jr
JiByZXN1bHQpCit7CisgICAgSVBDOjpEYXRhUmVmZXJlbmNlIG5hbWUsIGRlc2NyaXB0aW9uOwor
ICAgIGlmICghZGVjb2Rlci5kZWNvZGUobmFtZSkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAg
ICByZXN1bHQubmFtZSA9IHN0ZDo6c3RyaW5nKHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3QgY2hhcio+
KG5hbWUuZGF0YSgpKSwgbmFtZS5zaXplKCkpOworICAgIGlmICghZGVjb2Rlci5kZWNvZGUoZGVz
Y3JpcHRpb24pKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgcmVzdWx0LmRlc2NyaXB0aW9u
ID0gc3RkOjpzdHJpbmcocmVpbnRlcnByZXRfY2FzdDxjb25zdCBjaGFyKj4oZGVzY3JpcHRpb24u
ZGF0YSgpKSwgZGVzY3JpcHRpb24uc2l6ZSgpKTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJl
c3VsdC5wcmVmaXgpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShyZXN1bHQucHJlZml4TGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIGlm
ICghZGVjb2Rlci5kZWNvZGUocmVzdWx0LnR5cGUpKQorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaWQpKQorICAgICAgICByZXR1cm4gZmFsc2U7
CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQucHJlZmVyZW5jZSkpCisgICAgICAgIHJl
dHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3VsdC5hY3RpdmUpKQorICAg
ICAgICByZXR1cm4gZmFsc2U7CisgICAgaWYgKCFkZWNvZGVyLmRlY29kZShyZXN1bHQuaWdub3Jl
ZCkpCisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICBpZiAoIWRlY29kZXIuZGVjb2RlKHJlc3Vs
dC5zY29wZUlEKSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgdWludDY0X3QgbGVuZ3Ro
OworICAgIGlmICghZGVjb2Rlci5kZWNvZGUobGVuZ3RoKSkKKyAgICAgICAgcmV0dXJuIGZhbHNl
OworICAgIHJlc3VsdC5pcHMucmVzZXJ2ZShsZW5ndGgpOworICAgIGZvciAoc2l6ZV90IGluZGV4
ID0gMDsgaW5kZXggPCBsZW5ndGg7ICsraW5kZXgpIHsKKyAgICAgICAgSVBBZGRyZXNzIGFkZHJl
c3M7CisgICAgICAgIGlmICghZGVjb2Rlci5kZWNvZGUoYWRkcmVzcykpCisgICAgICAgICAgICBy
ZXR1cm4gZmFsc2U7CisgICAgICAgIGludCBmbGFnczsKKyAgICAgICAgaWYgKCFkZWNvZGVyLmRl
Y29kZShmbGFncykpCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgICAgIHJlc3VsdC5p
cHMucHVzaF9iYWNrKHsgYWRkcmVzcy52YWx1ZSwgZmxhZ3MgfSk7CisgICAgfQorICAgIHJldHVy
biB0cnVlOworfQorCit2b2lkIFJUQ05ldHdvcms6OmVuY29kZShJUEM6OkVuY29kZXImIGVuY29k
ZXIpIGNvbnN0Cit7CisgICAgZW5jb2RlciA8PCBJUEM6OkRhdGFSZWZlcmVuY2UocmVpbnRlcnBy
ZXRfY2FzdDxjb25zdCB1aW50OF90Kj4obmFtZS5kYXRhKCkpLCBuYW1lLmxlbmd0aCgpKTsKKyAg
ICBlbmNvZGVyIDw8IElQQzo6RGF0YVJlZmVyZW5jZShyZWludGVycHJldF9jYXN0PGNvbnN0IHVp
bnQ4X3QqPihkZXNjcmlwdGlvbi5kYXRhKCkpLCBkZXNjcmlwdGlvbi5sZW5ndGgoKSk7CisgICAg
ZW5jb2RlciA8PCBwcmVmaXg7CisgICAgZW5jb2RlciA8PCBwcmVmaXhMZW5ndGg7CisgICAgZW5j
b2RlciA8PCB0eXBlOworCisgICAgZW5jb2RlciA8PCBpZDsKKyAgICBlbmNvZGVyIDw8IHByZWZl
cmVuY2U7CisgICAgZW5jb2RlciA8PCBhY3RpdmU7CisgICAgZW5jb2RlciA8PCBpZ25vcmVkOwor
ICAgIGVuY29kZXIgPDwgc2NvcGVJRDsKKworICAgIGVuY29kZXIgPDwgKHVpbnQ2NF90KWlwcy5z
aXplKCk7CisgICAgZm9yIChhdXRvJiBpcCA6IGlwcykgeworICAgICAgICBlbmNvZGVyIDw8IElQ
QWRkcmVzcyB7IGlwIH07CisgICAgICAgIGVuY29kZXIgPDwgaXAuaXB2Nl9mbGFncygpOworICAg
IH0KK30KKworfQorCisjZW5kaWYgLy8gVVNFKExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9SVENOZXR3b3JrLmggYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRD
TmV0d29yay5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkxMGZiZmMxOTM4MmI5ODU3NzAxYTZkNDNkZTQ2NzFlMjMz
ZjExMzIKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvUlRDTmV0d29y
ay5oCkBAIC0wLDAgKzEsNzcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVT
RShMSUJXRUJSVEMpCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2lu
Y2x1ZGUgPHdlYnJ0Yy9iYXNlL25ldHdvcmsuaD4KKyNpbmNsdWRlIDx3dGYvRm9yd2FyZC5oPgor
CituYW1lc3BhY2UgSVBDIHsKK2NsYXNzIERlY29kZXI7CitjbGFzcyBFbmNvZGVyOworfQorCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworc3RydWN0IFJUQ05ldHdvcmsgeworICAgIFJUQ05ldHdvcmso
KSA9IGRlZmF1bHQ7CisgICAgZXhwbGljaXQgUlRDTmV0d29yayhjb25zdCBydGM6Ok5ldHdvcmsm
KTsKKworICAgIHJ0Yzo6TmV0d29yayB2YWx1ZSgpIGNvbnN0OworCisgICAgdm9pZCBlbmNvZGUo
SVBDOjpFbmNvZGVyJikgY29uc3Q7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKElQQzo6RGVjb2Rl
ciYsIFJUQ05ldHdvcmsmKTsKKworICAgIHN0cnVjdCBJUEFkZHJlc3MgeworICAgICAgICBJUEFk
ZHJlc3MoKSA9IGRlZmF1bHQ7CisgICAgICAgIGV4cGxpY2l0IElQQWRkcmVzcyhjb25zdCBydGM6
OklQQWRkcmVzcyYgYWRkcmVzcyk6IHZhbHVlKGFkZHJlc3MpIHsgfQorCisgICAgICAgIHZvaWQg
ZW5jb2RlKElQQzo6RW5jb2RlciYpIGNvbnN0OworICAgICAgICBzdGF0aWMgYm9vbCBkZWNvZGUo
SVBDOjpEZWNvZGVyJiwgSVBBZGRyZXNzJik7CisKKyAgICAgICAgcnRjOjpJUEFkZHJlc3MgdmFs
dWU7CisgICAgfTsKKworICAgIHN0ZDo6c3RyaW5nIG5hbWU7CisgICAgc3RkOjpzdHJpbmcgZGVz
Y3JpcHRpb247CisgICAgSVBBZGRyZXNzIHByZWZpeDsKKyAgICBpbnQgcHJlZml4TGVuZ3RoOwor
ICAgIGludCB0eXBlOworICAgIHVpbnQxNl90IGlkOworICAgIGludCBwcmVmZXJlbmNlOworICAg
IGJvb2wgYWN0aXZlOworICAgIGJvb2wgaWdub3JlZDsKKyAgICBpbnQgc2NvcGVJRDsKKyAgICBz
dGQ6OnN0cmluZyBrZXk7CisgICAgc2l6ZV90IGxlbmd0aDsKKyAgICBzdGQ6OnZlY3RvcjxydGM6
OkludGVyZmFjZUFkZHJlc3M+IGlwczsKK307CisKK30KKworI2VuZGlmIC8vIFVTRShMSUJXRUJS
VEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0
LnBieHByb2ogYi9Tb3VyY2UvV2ViS2l0Mi9XZWJLaXQyLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2oKaW5kZXggNGQzMjAwODFmZWZkYWMzMDFhMjIxYjU0NzkzN2Y5ZTJjMTQ4YmNhNi4uZDlmYjJm
NTI4YjA5NDMwY2E3MDlmYjUzN2VlMTFiYTMwNDAzNzNmNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViS2l0Mi54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYktpdDIueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtODcxLDYgKzg3MSwzMSBA
QAogCQkzRjg3QjlCRDE1ODk0MDEyMDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDNGODdCOUJBMTU4OTNG
NjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovOyB9OwogCQkzRjg3QjlCRTE1ODk0
MDE5MDA5MEZGNjIgLyogV2ViQ29sb3JDaG9vc2VyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAzRjg3QjlCQjE1ODkzRjYzMDA5MEZGNjIgLyogV2ViQ29s
b3JDaG9vc2VyLmggKi87IH07CiAJCTNGODdCOUMwMTU4OTQwRDgwMDkwRkY2MiAvKiBXZWJDb2xv
clBpY2tlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
M0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNvbG9yUGlja2VyLmggKi87IH07CisJCTQx
MDQ4MkNEMURERDMyNEMwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmNwcCBpbiBTb3VyY2VzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMDQ4MkNCMURERDJGQjUwMEYwMDZEMCAv
KiBSVENOZXR3b3JrLmNwcCAqLzsgfTsKKwkJNDEwNDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJU
Q05ldHdvcmsuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENOZXR3b3JrLmggKi87IH07CisJCTQxMUIy
MjY0MUUzNzFCQTYwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTFCMjI2MjFFMzcxMjQ0MDA0RjczNjMg
LyogTGliV2ViUlRDTmV0d29yay5oICovOyB9OworCQk0MTMwNzVBOTFERTg1RjJDMDAzOUVDNjkg
LyogTmV0d29ya1JUQ1NvY2tldC5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA0MTMwNzU5ODFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tl
dC5jcHAgKi87IH07CisJCTQxMzA3NUFBMURFODVGMzAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9u
aXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MTMwNzU5QTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuY3BwICovOyB9Owor
CQk0MTMwNzVBQjFERTg1RjMzMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5oIGluIEhlYWRl
cnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1OTkxREU4NEZCMDAw
MzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCAqLzsgfTsKKwkJNDEzMDc1QUMxREU4NUYzNzAw
MzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzU5QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JU
Q01vbml0b3IuaCAqLzsgfTsKKwkJNDEzMDc1QUQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJU
Q1NvY2tldC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NDEzMDc1QTAxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5oICovOyB9OworCQk0
MTMwNzVBRTFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmNwcCBpbiBTb3VyY2Vz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxMzA3NUExMURFODVFRTcwMDM5
RUM2OSAvKiBMaWJXZWJSVENTb2NrZXQuY3BwICovOyB9OworCQk0MTMwNzVBRjFERTg1RjU4MDAz
OUVDNjkgLyogV2ViUlRDTW9uaXRvci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBMjFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRv
ci5jcHAgKi87IH07CisJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9y
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVB
MzFERTg1RUU3MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5oICovOyB9OworCQk0MTMwNzVCMTFE
RTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgaW4gU291cmNlcyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNTFERTg1RUU3MDAzOUVD
NjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgKi87IH07CisJCTQxMzA3NUIyMURFODVG
NTgwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0MTMwNzVBNjFERTg1RUU3MDAzOUVDNjkgLyog
TGliV2ViUlRDU29ja2V0RmFjdG9yeS5oICovOyB9OworCQk0MTMwNzVCMzFERTg1RjU4MDAzOUVD
NjkgLyogTGliV2ViUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNDEzMDc1QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1By
b3ZpZGVyLmNwcCAqLzsgfTsKKwkJNDEzMDc1QjQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJU
Q1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSA0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLzsgfTsK
KwkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhl
YWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1OTQxRTNENkUx
RTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovOyB9OworCQk0MURDNDU5NzFFM0Q2
RTIyMDBCMTFGNTEgLyogTmV0d29ya1JUQ1Byb3ZpZGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk1MUUzRDZFMUUwMEIxMUY1MSAvKiBO
ZXR3b3JrUlRDUHJvdmlkZXIuY3BwICovOyB9OworCQk0MURDNDU5QjFFM0RCQjI4MDBCMTFGNTEg
LyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1
aWxkRmlsZTsgZmlsZVJlZiA9IDQxREM0NTk5MUUzREJCMjQwMEIxMUY1MSAvKiBMaWJXZWJSVENT
b2NrZXRDbGllbnQuY3BwICovOyB9OworCQk0MURDNDU5QzFFM0RCQjI4MDBCMTFGNTEgLyogTGli
V2ViUlRDU29ja2V0Q2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA0MURDNDU5QTFFM0RCQjI0MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xp
ZW50LmggKi87IH07CisJCTQxREM0NTlFMUUzREJEQTEwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQu
Y3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFEQzQ1
OUQxRTNEQkNGMDAwQjExRjUxIC8qIFdlYlJUQ1NvY2tldC5jcHAgKi87IH07CisJCTQxREM0NTlG
MUUzREJEQTUwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDQxRkFGNUYzMUUzQkZFN0YwMDFBRTY3OCAvKiBXZWJS
VENTb2NrZXQuaCAqLzsgfTsKKwkJNDFEQzQ1QTExRTNEQzUzRjAwQjExRjUxIC8qIFdlYlJUQ1Jl
c29sdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDQxREM0NUEwMUUzREM1M0MwMEIxMUY1MSAvKiBXZWJSVENSZXNvbHZlci5jcHAgKi87IH07CisJ
CTQxRkFGNUY1MUUzQzA2NDkwMDFBRTY3OCAvKiBXZWJSVENSZXNvbHZlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDFGQUY1RjQxRTNDMDY0MTAwMUFF
Njc4IC8qIFdlYlJUQ1Jlc29sdmVyLmggKi87IH07CisJCTQxRkFGNUY4MUUzQzEwMjEwMDFBRTY3
OCAvKiBMaWJXZWJSVENSZXNvbHZlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gNDFGQUY1RjYxRTNDMEI0NzAwMUFFNjc4IC8qIExpYldlYlJUQ1Jlc29s
dmVyLmggKi87IH07CisJCTQxRkFGNUY5MUUzQzEwMjUwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNv
bHZlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA0
MUZBRjVGNzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuY3BwICovOyB9Owog
CQk0NDUwQUVDMDFEQzNGQUU1MDA5OTQzRjIgLyogU2hhcmVkTWVtb3J5Q29jb2EuY3BwIGluIFNv
dXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNDQ1MEFFQkYxREMzRkFF
NTAwOTk0M0YyIC8qIFNoYXJlZE1lbW9yeUNvY29hLmNwcCAqLzsgfTsKIAkJNEEzQ0MxOEExOUIw
NjNFNzAwRDE0QUVGIC8qIFVzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmNw
cCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDRBNDEwRjM5
MTlBRjdCMDQwMDJFQkFCNSAvKiBVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94
eS5jcHAgKi87IH07CiAJCTRBM0NDMThCMTlCMDY0MEYwMEQxNEFFRiAvKiBVc2VyTWVkaWFQZXJt
aXNzaW9uUmVxdWVzdE1hbmFnZXJQcm94eS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gNEE0MTBGM0ExOUFGN0IwNDAwMkVCQUI1IC8qIFVzZXJNZWRpYVBl
cm1pc3Npb25SZXF1ZXN0TWFuYWdlclByb3h5LmggKi87IH07CkBAIC0xMDQxLDYgKzEwNjYsMTIg
QEAKIAkJNTFFRkMxQ0YxNTI0RTYyNTAwQzlBOTM4IC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5z
aW9uLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA1MUZB
MkQ1NDE1MjExMTg2MDBDMUJBMEIgLyogV0tCdW5kbGVET01XaW5kb3dFeHRlbnNpb24uaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk1MUYwNjBFMDE2
NTQzMTdGMDBGMzI4MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFGMDYwREUxNjU0MzE3NTAwRjMy
ODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZXMuaCAqLzsgfTsKIAkJNTFGMDYwRTExNjU0
MzE4NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMx
NzUwMEYzMjgxQiAvKiBXZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07
CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2
ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gNTFG
MDYwREQxNjU0MzE3NTAwRjMyODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki87IH07CisJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2Fn
ZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFFIC8qIE5ldHdv
cmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3Jr
UlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJCTUxRjA2MEUxMTY1NDMxODUw
MEYzMjgxRiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMxNzUwMEYzMjgx
RiAvKiBXZWJSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLzsgfTsKKwkJNTFGMDYwRTEx
NjU0MzE4NTAwRjMyODJDIC8qIFdlYlJUQ1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBT
b3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDUxRjA2MEREMTY1NDMx
NzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5jcHAgKi87IH07CisJ
CTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVj
ZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
NTFGMDYwREQxNjU0MzE3NTAwRjMyODJFIC8qIE5ldHdvcmtSVENQcm92aWRlck1lc3NhZ2VSZWNl
aXZlci5jcHAgKi87IH07CiAJCTUxRjdEQzQxMTgwQ0M5MzYwMDIxMkNBMyAvKiBYUENTZXJ2aWNl
TWFpbi5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEJD
ODI4Mzk2MTZCNDdFQzQwMEEyNzhGRSAvKiBYUENTZXJ2aWNlTWFpbi5tbSAqLzsgfTsKIAkJNTFG
N0RDNDMxODBDQzkzNjAwMjEyQ0EzIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrIGluIEZyYW1ld29y
a3MgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gQkMzREU0NjgxNUE5MTc2MzAw
OEQyNkZDIC8qIEZvdW5kYXRpb24uZnJhbWV3b3JrICovOyB9OwogCQk1MUY3REM0NDE4MENDOTM2
MDAyMTJDQTMgLyogV2ViS2l0LmZyYW1ld29yayBpbiBGcmFtZXdvcmtzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDhEQzJFRjVCMDQ4NkE2OTQwMDk4QjIxNiAvKiBXZWJLaXQu
ZnJhbWV3b3JrICovOyB9OwpAQCAtMjk3OSw2ICszMDEwLDM3IEBACiAJCTNGODdCOUJBMTU4OTNG
NjMwMDkwRkY2MiAvKiBXZWJDb2xvckNob29zZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
cHAuY3BwOyBwYXRoID0gV2ViQ29sb3JDaG9vc2VyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKIAkJM0Y4N0I5QkIxNTg5M0Y2MzAwOTBGRjYyIC8qIFdlYkNvbG9yQ2hvb3Nlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJDb2xvckNob29zZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJM0Y4N0I5QkYxNTg5NDBEODAwOTBGRjYyIC8qIFdlYkNv
bG9yUGlja2VyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFdlYkNvbG9yUGlj
a2VyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMDQ4MkNCMURERDJGQjUwMEYw
MDZEMCAvKiBSVENOZXR3b3JrLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IFJUQ05ldHdvcmsuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTA0ODJD
QzFEREQyRkI1MDBGMDA2RDAgLyogUlRDTmV0d29yay5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBSVENOZXR3b3JrLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
MUIyMjYyMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgbmFtZSA9IExpYldlYlJUQ05ldHdvcmsuaDsgcGF0aCA9IE5ldHdvcmsv
d2VicnRjL0xpYldlYlJUQ05ldHdvcmsuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJ
NDEzMDc1OTgxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuY3BwICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gTmV0d29ya1JUQ1NvY2tldC5jcHA7IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTk5MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRD
U29ja2V0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IE5ldHdvcmtSVENTb2Nr
ZXQuaDsgcGF0aCA9IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDU29ja2V0Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlBMURFODRGQjAwMDM5RUM2OSAvKiBO
ZXR3b3JrUlRDTW9uaXRvci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUg
PSBOZXR3b3JrUlRDTW9uaXRvci5jcHA7IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0
d29ya1JUQ01vbml0b3IuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzU5
QjFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBuYW1lID0gTmV0d29ya1JUQ01vbml0b3IuaDsgcGF0aCA9IE5ldHdvcmtQcm9j
ZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDTW9uaXRvci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk0MTMwNzU5QzFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ01vbml0b3IubWVzc2Fn
ZXMuaW4gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBuYW1lID0gTmV0d29ya1JUQ01vbml0b3IubWVzc2FnZXMu
aW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTmV0d29ya1JUQ01vbml0b3IubWVzc2Fn
ZXMuaW47IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NTlEMURFODRGQjAwMDM5
RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFt
ZSA9IE5ldHdvcmtSVENTb2NrZXQubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrUHJvY2Vzcy93
ZWJydGMvTmV0d29ya1JUQ1NvY2tldC5tZXNzYWdlcy5pbjsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKKwkJNDEzMDc1OUYxREU4NUVFNzAwMzlFQzY5IC8qIFdlYlJUQ1NvY2tldC5tZXNzYWdl
cy5pbiAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHRleHQ7IG5hbWUgPSBXZWJSVENTb2NrZXQubWVzc2FnZXMuaW47IHBh
dGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW47IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUEwMURFODVFRTcwMDM5RUM2OSAvKiBMaWJXZWJSVENT
b2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDU29ja2V0
Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTExREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Nv
Y2tldC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJSVENT
b2NrZXQuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1QTIxREU4NUVFNzAwMzlFQzY5IC8qIFdl
YlJUQ01vbml0b3IuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGlu
ZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBsaW5lRW5kaW5n
ID0gMDsgbmFtZSA9IFdlYlJUQ01vbml0b3IuY3BwOyBwYXRoID0gTmV0d29yay93ZWJydGMvV2Vi
UlRDTW9uaXRvci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZp
Y2F0aW9uSWRlbnRpZmllciA9IHhjb2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBMzFERTg1RUU3
MDAzOUVDNjkgLyogV2ViUlRDTW9uaXRvci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IG5h
bWUgPSBXZWJSVENNb25pdG9yLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25pdG9y
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxMzA3NUE0MURFODVFRTcwMDM5RUM2
OSAvKiBXZWJSVENNb25pdG9yLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbmFtZSA9IFdl
YlJUQ01vbml0b3IubWVzc2FnZXMuaW47IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENNb25p
dG9yLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk0MTMwNzVBNTFE
RTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IGxpbmVFbmRpbmcgPSAwOyBuYW1lID0gTGliV2ViUlRDU29ja2V0
RmFjdG9yeS5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgeGNMYW5ndWFnZVNwZWNpZmljYXRpb25JZGVu
dGlmaWVyID0geGNvZGUubGFuZy5jcHA7IH07CisJCTQxMzA3NUE2MURFODVFRTcwMDM5RUM2OSAv
KiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFt
ZSA9IExpYldlYlJUQ1NvY2tldEZhY3RvcnkuaDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldl
YlJUQ1NvY2tldEZhY3RvcnkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDEzMDc1
QTcxREU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgbGluZUVuZGluZyA9IDA7IG5hbWUgPSBMaWJXZWJSVENQcm92aWRl
ci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHA7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IHhjTGFuZ3VhZ2VTcGVjaWZpY2F0aW9uSWRlbnRpZmllciA9IHhj
b2RlLmxhbmcuY3BwOyB9OworCQk0MTMwNzVBODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRD
UHJvdmlkZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBsaW5lRW5kaW5nID0gMDsgbmFt
ZSA9IExpYldlYlJUQ1Byb3ZpZGVyLmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQ
cm92aWRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlv
bklkZW50aWZpZXIgPSB4Y29kZS5sYW5nLm9iamNwcDsgfTsKKwkJNDFBQzg2ODExRTA0MkU1MzAw
MzAzMDc0IC8qIFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgbGlu
ZUVuZGluZyA9IDA7IG5hbWUgPSBXZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbjsgcGF0aCA9IE5l
dHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB4Y0xhbmd1YWdlU3BlY2lmaWNhdGlvbklkZW50aWZpZXIgPSAiPG5vbmU+IjsgfTsK
KwkJNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQcm92aWRlci5oICovID0g
e2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVU
eXBlID0gc291cmNlY29kZS5jLmg7IG5hbWUgPSBOZXR3b3JrUlRDUHJvdmlkZXIuaDsgcGF0aCA9
IE5ldHdvcmtQcm9jZXNzL3dlYnJ0Yy9OZXR3b3JrUlRDUHJvdmlkZXIuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDFEQzQ1OTUxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdvcmtSVENQ
cm92aWRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBOZXR3b3Jr
UlRDUHJvdmlkZXIuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQ
cm92aWRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxREM0NTk4MUUzRDZF
RDYwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0
ZXh0OyBuYW1lID0gTmV0d29ya1JUQ1Byb3ZpZGVyLm1lc3NhZ2VzLmluOyBwYXRoID0gTmV0d29y
a1Byb2Nlc3Mvd2VicnRjL05ldHdvcmtSVENQcm92aWRlci5tZXNzYWdlcy5pbjsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNDFEQzQ1OTkxRTNEQkIyNDAwQjExRjUxIC8qIExpYldlYlJU
Q1NvY2tldENsaWVudC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBM
aWJXZWJSVENTb2NrZXRDbGllbnQuY3BwOyBwYXRoID0gTmV0d29ya1Byb2Nlc3Mvd2VicnRjL0xp
YldlYlJUQ1NvY2tldENsaWVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQx
REM0NTlBMUUzREJCMjQwMEIxMUY1MSAvKiBMaWJXZWJSVENTb2NrZXRDbGllbnQuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDU29ja2V0Q2xpZW50Lmg7IHBhdGgg
PSBOZXR3b3JrUHJvY2Vzcy93ZWJydGMvTGliV2ViUlRDU29ja2V0Q2xpZW50Lmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxREM0NTlEMUUzREJDRjAwMEIxMUY1MSAvKiBXZWJSVENT
b2NrZXQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBuYW1lID0gV2ViUlRDU29j
a2V0LmNwcDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxREM0NUEwMUUzREM1M0MwMEIxMUY1MSAvKiBXZWJSVENS
ZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBXZWJSVENS
ZXNvbHZlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTQxRkFGNUYzMUUzQkZFN0YwMDFBRTY3OCAvKiBX
ZWJSVENTb2NrZXQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gV2ViUlRDU29j
a2V0Lmg7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuaDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKKwkJNDFGQUY1RjQxRTNDMDY0MTAwMUFFNjc4IC8qIFdlYlJUQ1Jlc29s
dmVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgbmFtZSA9IFdlYlJUQ1Jlc29sdmVyLmg7
IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5oOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OworCQk0MUZBRjVGNjFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBuYW1lID0gTGliV2ViUlRDUmVzb2x2ZXIu
aDsgcGF0aCA9IE5ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CisJCTQxRkFGNUY3MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENS
ZXNvbHZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IG5hbWUgPSBMaWJXZWJS
VENSZXNvbHZlci5jcHA7IHBhdGggPSBOZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTQ0NTBBRUJGMURDM0ZBRTUwMDk5NDNG
MiAvKiBTaGFyZWRNZW1vcnlDb2NvYS5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7
IG5hbWUgPSBTaGFyZWRNZW1vcnlDb2NvYS5jcHA7IHBhdGggPSBjb2NvYS9TaGFyZWRNZW1vcnlD
b2NvYS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTRBNDEwRjM1MTlBRjdBQzMw
MDJFQkFCNSAvKiBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdLVXNlck1lZGlhUGVybWlzc2lvblJlcXVlc3QuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk0QTQxMEYzNjE5QUY3QUMzMDAyRUJBQjUg
LyogV0tVc2VyTWVkaWFQZXJtaXNzaW9uUmVxdWVzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBXS1VzZXJNZWRpYVBlcm1pc3Npb25SZXF1ZXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0zMTc2LDYgKzMyMzgsMTIgQEAKIAkJNTFFMzk5MDUxRDZGNTRDNTAw
OUM4ODMxIC8qIFVJR2FtZXBhZFByb3ZpZGVyQ29jb2EubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5vYmpjcHA7IHBhdGggPSBVSUdhbWVwYWRQcm92aWRlckNvY29hLm1tOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQk1MUU5NDk5NjFENzYxQ0M3MDBFQzlFQjkgLyogVUlHYW1lcGFk
UHJvdmlkZXJJT1MubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBV
SUdhbWVwYWRQcm92aWRlcklPUy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJNTFG
MDYwREQxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVy
LmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMy
ODFDIC8qIFdlYlJUQ1NvY2tldE1lc3NhZ2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4MUQgLyogTmV0d29ya1JUQ1NvY2tldE1lc3Nh
Z2VSZWNlaXZlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBOZXR3b3JrUlRDU29ja2V0TWVzc2Fn
ZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0
MzE3NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdl
YlJUQ01vbml0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gV2ViUlRD
TW9uaXRvck1lc3NhZ2VSZWNlaXZlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBXZWJSVENSZXNvbHZlck1lc3NhZ2VSZWNlaXZlci5j
cHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgy
RSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovID0ge2lzYSA9IFBC
WEZpbGVSZWZlcmVuY2U7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBw
YXRoID0gTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2FnZVJlY2VpdmVyLmNwcDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJNTFGMDYwREUxNjU0MzE3NTAwRjMyODFCIC8qIFdlYlJlc291cmNl
TG9hZGVyTWVzc2FnZXMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdl
cy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk1MUY3REM0QTE4MENDOTM2MDAyMTJD
QTMgLyogY29tLmFwcGxlLldlYktpdC5EYXRhYmFzZXMueHBjICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGV4cGxpY2l0RmlsZVR5cGUgPSAid3JhcHBlci54cGMtc2VydmljZSI7IGluY2x1
ZGVJbkluZGV4ID0gMDsgcGF0aCA9IGNvbS5hcHBsZS5XZWJLaXQuRGF0YWJhc2VzLnhwYzsgc291
cmNlVHJlZSA9IEJVSUxUX1BST0RVQ1RTX0RJUjsgfTsKIAkJNTFGQTJENTQxNTIxMTE4NjAwQzFC
QTBCIC8qIFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IFdLQnVuZGxlRE9NV2luZG93RXh0ZW5zaW9uLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC00Njg4LDYgKzQ3NTYsOCBAQAogCQkJCUJDQzQzQUI5MTI3Qjk1REMw
MDMxN0YxNiAvKiBQbGF0Zm9ybVBvcHVwTWVudURhdGEuaCAqLywKIAkJCQlFMThDOTJGMzEyREI5
RTcxMDBDRjJBRUIgLyogUHJpbnRJbmZvLmNwcCAqLywKIAkJCQlFMUNDMUI4RTEyRDdFQURGMDA2
MjU4MzggLyogUHJpbnRJbmZvLmggKi8sCisJCQkJNDEwNDgyQ0IxREREMkZCNTAwRjAwNkQwIC8q
IFJUQ05ldHdvcmsuY3BwICovLAorCQkJCTQxMDQ4MkNDMURERDJGQjUwMEYwMDZEMCAvKiBSVENO
ZXR3b3JrLmggKi8sCiAJCQkJRjZBMEMxM0YxMzI4MUU2RTAwNzA0MzBGIC8qIFJlc291cmNlQ2Fj
aGVzVG9DbGVhci5oICovLAogCQkJCUJDMkQwMjE2MTJBQzQxQ0IwMEU3MzJBMyAvKiBTYW1lRG9j
dW1lbnROYXZpZ2F0aW9uVHlwZS5oICovLAogCQkJCTFBQUI0QThDMTI5NkYwQTIwMDIzOTUyRiAv
KiBTYW5kYm94RXh0ZW5zaW9uLmggKi8sCkBAIC01NTMxLDYgKzU2MDEsNDkgQEAKIAkJCXBhdGgg
PSBSZXNvdXJjZXMvbWFjOwogCQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKIAkJfTsKKwkJNDEz
MDc1OTcxREU4NEVENzAwMzlFQzY5IC8qIHdlYnJ0YyAqLyA9IHsKKwkJCWlzYSA9IFBCWEdyb3Vw
OworCQkJY2hpbGRyZW4gPSAoCisJCQkJNDFEQzQ1OTQxRTNENkUxRTAwQjExRjUxIC8qIE5ldHdv
cmtSVENQcm92aWRlci5oICovLAorCQkJCTQxREM0NTk1MUUzRDZFMUUwMEIxMUY1MSAvKiBOZXR3
b3JrUlRDUHJvdmlkZXIuY3BwICovLAorCQkJCTQxREM0NTk4MUUzRDZFRDYwMEIxMUY1MSAvKiBO
ZXR3b3JrUlRDUHJvdmlkZXIubWVzc2FnZXMuaW4gKi8sCisJCQkJNDFEQzQ1OTkxRTNEQkIyNDAw
QjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5jcHAgKi8sCisJCQkJNDFEQzQ1OUExRTNE
QkIyNDAwQjExRjUxIC8qIExpYldlYlJUQ1NvY2tldENsaWVudC5oICovLAorCQkJCTQxMzA3NTk4
MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0LmNwcCAqLywKKwkJCQk0MTMwNzU5
OTFERTg0RkIwMDAzOUVDNjkgLyogTmV0d29ya1JUQ1NvY2tldC5oICovLAorCQkJCTQxMzA3NTlE
MURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0Lm1lc3NhZ2VzLmluICovLAorCQkJ
CTQxMzA3NTlBMURFODRGQjAwMDM5RUM2OSAvKiBOZXR3b3JrUlRDTW9uaXRvci5jcHAgKi8sCisJ
CQkJNDEzMDc1OUIxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmggKi8sCisJ
CQkJNDEzMDc1OUMxREU4NEZCMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLm1lc3NhZ2Vz
LmluICovLAorCQkJKTsKKwkJCW5hbWUgPSB3ZWJydGM7CisJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOworCQl9OworCQk0MTMwNzU5RTFERTg1RTY1MDAzOUVDNjkgLyogd2VicnRjICovID0gewor
CQkJaXNhID0gUEJYR3JvdXA7CisJCQljaGlsZHJlbiA9ICgKKwkJCQk0MURDNDU5RDFFM0RCQ0Yw
MDBCMTFGNTEgLyogV2ViUlRDU29ja2V0LmNwcCAqLywKKwkJCQk0MUZBRjVGMzFFM0JGRTdGMDAx
QUU2NzggLyogV2ViUlRDU29ja2V0LmggKi8sCisJCQkJNDEzMDc1OUYxREU4NUVFNzAwMzlFQzY5
IC8qIFdlYlJUQ1NvY2tldC5tZXNzYWdlcy5pbiAqLywKKwkJCQk0MTMwNzVBMDFERTg1RUU3MDAz
OUVDNjkgLyogTGliV2ViUlRDU29ja2V0LmggKi8sCisJCQkJNDEzMDc1QTExREU4NUVFNzAwMzlF
QzY5IC8qIExpYldlYlJUQ1NvY2tldC5jcHAgKi8sCisJCQkJNDEzMDc1QTIxREU4NUVFNzAwMzlF
QzY5IC8qIFdlYlJUQ01vbml0b3IuY3BwICovLAorCQkJCTQxMzA3NUEzMURFODVFRTcwMDM5RUM2
OSAvKiBXZWJSVENNb25pdG9yLmggKi8sCisJCQkJNDEzMDc1QTQxREU4NUVFNzAwMzlFQzY5IC8q
IFdlYlJUQ01vbml0b3IubWVzc2FnZXMuaW4gKi8sCisJCQkJNDEzMDc1QTUxREU4NUVFNzAwMzlF
QzY5IC8qIExpYldlYlJUQ1NvY2tldEZhY3RvcnkuY3BwICovLAorCQkJCTQxMzA3NUE2MURFODVF
RTcwMDM5RUM2OSAvKiBMaWJXZWJSVENTb2NrZXRGYWN0b3J5LmggKi8sCisJCQkJNDEzMDc1QTcx
REU4NUVFNzAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmNwcCAqLywKKwkJCQk0MTMwNzVB
ODFERTg1RUU3MDAzOUVDNjkgLyogTGliV2ViUlRDUHJvdmlkZXIuaCAqLywKKwkJCQk0MUZBRjVG
NzFFM0MwQjQ3MDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuY3BwICovLAorCQkJCTQxRkFG
NUY2MUUzQzBCNDcwMDFBRTY3OCAvKiBMaWJXZWJSVENSZXNvbHZlci5oICovLAorCQkJCTQxREM0
NUEwMUUzREM1M0MwMEIxMUY1MSAvKiBXZWJSVENSZXNvbHZlci5jcHAgKi8sCisJCQkJNDFGQUY1
RjQxRTNDMDY0MTAwMUFFNjc4IC8qIFdlYlJUQ1Jlc29sdmVyLmggKi8sCisJCQkJNDFBQzg2ODEx
RTA0MkU1MzAwMzAzMDc0IC8qIFdlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluICovLAorCQkJCTQx
MUIyMjYyMUUzNzEyNDQwMDRGNzM2MyAvKiBMaWJXZWJSVENOZXR3b3JrLmggKi8sCisJCQkpOwor
CQkJbmFtZSA9IHdlYnJ0YzsKKwkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CisJCX07CiAJCTQ0
NTBBRUJFMURDM0ZBQUMwMDk5NDNGMiAvKiBjb2NvYSAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3Vw
OwogCQkJY2hpbGRyZW4gPSAoCkBAIC01NTUzLDYgKzU2NjYsNyBAQAogCQk1MTA1QjBEMjE2MkY3
QTVFMDBFMjc3MDkgLyogTmV0d29yayAqLyA9IHsKIAkJCWlzYSA9IFBCWEdyb3VwOwogCQkJY2hp
bGRyZW4gPSAoCisJCQkJNDEzMDc1OUUxREU4NUU2NTAwMzlFQzY5IC8qIHdlYnJ0YyAqLywKIAkJ
CQk1MTA1QjBENDE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25uZWN0aW9uLmNw
cCAqLywKIAkJCQk1MTA1QjBENTE2MkY3QTdBMDBFMjc3MDkgLyogTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uLmggKi8sCiAJCQkJNTFGQjA5MDIxNjNBM0IxQzAwRUMzMjRBIC8qIE5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbi5tZXNzYWdlcy5pbiAqLywKQEAgLTU1NzksNiArNTY5Myw3IEBACiAJCQkJ
RTE3OThDNzYxNkU2ODE1NTAwMjQwMTM5IC8qIEZpbGVBUEkgKi8sCiAJCQkJMkRBOTQ0QkIxODg1
MTFERDAwRUQ4NkRCIC8qIGlvcyAqLywKIAkJCQk1MTBDQzdEQzE2MTM4RTI5MDBEMDNFRDMgLyog
bWFjICovLAorCQkJCTQxMzA3NTk3MURFODRFRDcwMDM5RUM2OSAvKiB3ZWJydGMgKi8sCiAJCQkJ
NTEzQTE2NDkxNjMwQTlCRjAwNUQ3RDIyIC8qIE5ldHdvcmtDb25uZWN0aW9uVG9XZWJQcm9jZXNz
LmNwcCAqLywKIAkJCQk1MTNBMTY0QTE2MzBBOUJGMDA1RDdEMjIgLyogTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3MuaCAqLywKIAkJCQk1MTNBMTY0QjE2MzBBOUJGMDA1RDdEMjIgLyogTmV0
d29ya0Nvbm5lY3Rpb25Ub1dlYlByb2Nlc3MubWVzc2FnZXMuaW4gKi8sCkBAIC03NDQxLDYgKzc1
NTYsMTIgQEAKIAkJCQlCQ0VFN0FDQzEyODE3OTg4MDA5ODI3REEgLyogV2ViUHJvY2Vzc1Byb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCAqLywKIAkJCQlCQ0VFN0FDRDEyODE3OTg4MDA5ODI3REEgLyog
V2ViUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCAqLywKIAkJCQk1MUYwNjBERDE2NTQzMTc1MDBGMzI4
MUIgLyogV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2
MEREMTY1NDMxNzUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICov
LAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYzMjgyQyAvKiBXZWJSVENSZXNvbHZlck1lc3NhZ2VS
ZWNlaXZlci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFEIC8qIE5ldHdvcmtS
VENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUxRjA2MEREMTY1NDMxNzUwMEYz
MjgyRSAvKiBOZXR3b3JrUlRDUHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwICovLAorCQkJCTUx
RjA2MEREMTY1NDMxNzUwMEYzMjgxRSAvKiBOZXR3b3JrUlRDTW9uaXRvck1lc3NhZ2VSZWNlaXZl
ci5jcHAgKi8sCisJCQkJNTFGMDYwREQxNjU0MzE3NTAwRjMyODFGIC8qIFdlYlJUQ01vbml0b3JN
ZXNzYWdlUmVjZWl2ZXIuY3BwICovLAogCQkJCTUxRjA2MERFMTY1NDMxNzUwMEYzMjgxQiAvKiBX
ZWJSZXNvdXJjZUxvYWRlck1lc3NhZ2VzLmggKi8sCiAJCQkJN0E3OTFFRjkxQzdDRkIzNzAwQzRD
NTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAg
Ki8sCiAJCQkJN0E3OTFFRjgxQzdDRkIxMDAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0YXRp
c3RpY3NTdG9yZU1lc3NhZ2VzLmggKi8sCkBAIC03NzM5LDYgKzc4NjAsNyBAQAogCQkJCTA3NkU4
ODRFMUExM0NBREYwMDVFOTBGQyAvKiBBUElDb250ZXh0TWVudUNsaWVudC5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJNTE1NzhCODMxMjA5RUNFRjAwQTM3QzRBIC8qIEFQSURhdGEuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTgzODkxQjYzMUE2OEIzNDIwMDMwRjM4NiAvKiBBUElEaWFnbm9zdGljTG9nZ2lu
Z0NsaWVudC5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEQzQ1OTYxRTNENkUyMjAwQjExRjUxIC8q
IE5ldHdvcmtSVENQcm92aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0MxQkEzM0UxQTRBMEU2
MDAwNDNFMjQ5IC8qIEFQSURpY3Rpb25hcnkuaCBpbiBIZWFkZXJzICovLAogCQkJCTFGN0QzNkMx
MThEQTUxM0YwMEQ5RDY1OSAvKiBBUElEb3dubG9hZENsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJNTE2QTRBNUQxMjBBMkNDRDAwQzA1QjdGIC8qIEFQSUVycm9yLmggaW4gSGVhZGVycyAqLywK
QEAgLTc4ODAsNiArODAwMiw3IEBACiAJCQkJMUExRUM2OUUxODcyMDkyMTAwQjk1MUYwIC8qIElt
cG9ydGFuY2VBc3NlcnRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCUJDMjA0RUUzMTFDODNFOTgw
MDhGMzM3NSAvKiBJbmplY3RlZEJ1bmRsZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVCQTIx
Mjc3NjFEMDAwMzMyMkI4IC8qIEluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0LmggaW4gSGVh
ZGVycyAqLywKKwkJCQk0MTMwNzVCMjFERTg1RjU4MDAzOUVDNjkgLyogTGliV2ViUlRDU29ja2V0
RmFjdG9yeS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTM1RUVCQTQxMjc3NjFENjAwMzMyMkI4IC8q
IEluamVjdGVkQnVuZGxlQmFja0ZvcndhcmRMaXN0SXRlbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkNFRTdEQzUxMjhCNjQ1RDAwOTgyN0RBIC8qIEluamVjdGVkQnVuZGxlQ2xpZW50LmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3Q0JCODExRDFBQTBGOEIxMDA2QjE5NDIgLyogSW5qZWN0ZWRCdW5kbGVG
aWxlSGFuZGxlLmggaW4gSGVhZGVycyAqLywKQEAgLTc4OTksNiArODAyMiw3IEBACiAJCQkJQzVC
Q0U1REYxQzUwNzY2QTAwQ0RFM0ZBIC8qIEludGVyYWN0aW9uSW5mb3JtYXRpb25BdFBvc2l0aW9u
LmggaW4gSGVhZGVycyAqLywKIAkJCQlDNThDREYyQTE4ODc1NDhCMDA4NzE1MzYgLyogSW50ZXJh
Y3Rpb25JbmZvcm1hdGlvbkF0UG9zaXRpb24uaCBpbiBIZWFkZXJzICovLAogCQkJCTJENEQyQzgx
MURGNjBCRjMwMDJFQjEwQyAvKiBJbnRlcmFjdGlvbkluZm9ybWF0aW9uUmVxdWVzdC5oIGluIEhl
YWRlcnMgKi8sCisJCQkJNDFGQUY1RjUxRTNDMDY0OTAwMUFFNjc4IC8qIFdlYlJUQ1Jlc29sdmVy
LmggaW4gSGVhZGVycyAqLywKIAkJCQkxQUU0OUE0OTExRkZBOENFMDA0OEI0NjQgLyogSlNOUE1l
dGhvZC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFFNDk4NzgxMUZGN0ZBQTAwNDhCNDY0IC8qIEpT
TlBPYmplY3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTUzREVBMzY2MURERTQyMzEwMEU4MjY0OCAv
KiBqc29uLmhwcCBpbiBIZWFkZXJzICovLApAQCAtODAxNCw2ICs4MTM4LDcgQEAKIAkJCQkxQTNE
NjEwMjEzQTdDQzJBMDBGOTVENEUgLyogUGx1Z2luTW9kdWxlSW5mby5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJMUEwNDM5NzYxMjREMDM0ODAwRkZCRkI1IC8qIFBsdWdpblByb2Nlc3MuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTFBQzVGRkMyMTc0QkZEMUIwMDAxNDgzRCAvKiBQbHVnaW5Qcm9jZXNzQXR0
cmlidXRlcy5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDFEQzQ1OUYxRTNEQkRBNTAwQjExRjUxIC8q
IFdlYlJUQ1NvY2tldC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUEwRUM5MDYxMjRDMEFCODAwN0VG
NEE1IC8qIFBsdWdpblByb2Nlc3NDb25uZWN0aW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTBF
QzkwRjEyNEMwQUY1MDA3RUY0QTUgLyogUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkxQTc4NjVCQTE2Q0FDNzE1MDBBQ0U4M0EgLyogUGx1Z2luUHJv
Y2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApAQCAtODA3MCw2
ICs4MTk1LDcgQEAKIAkJCQlFMThFNjkwQzE2OUI1NjNGMDA5QjY2NzAgLyogU2VjSXRlbVNoaW1Q
cm94eS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRTE4RTY5MTgxNjlCNjY3QjAwOUI2NjcwIC8qIFNl
Y0l0ZW1TaGltUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTE0RDlGNTcxOTEx
OUQzNTAwMDA2M0E3IC8qIFNlcnZpY2VzQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDEzMDc1QUIxREU4NUYzMzAwMzlFQzY5IC8qIE5ldHdvcmtSVENTb2NrZXQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBRkRFNjVBMTk1NEE0MkIwMEM0OEZGQSAvKiBTZXNzaW9uU3RhdGUuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTFBMDAyRDQ5MTk2QjM0NUQwMEI5QUQ0NCAvKiBTZXNzaW9uU3RhdGVD
b2RpbmcuaCBpbiBIZWFkZXJzICovLAogCQkJCTc1M0UzRTBFMTg4NzM5ODkwMDE4ODQ5NiAvKiBT
ZXNzaW9uVHJhY2tlci5oIGluIEhlYWRlcnMgKi8sCkBAIC04MTU5LDYgKzgyODUsNyBAQAogCQkJ
CTFBQTgzRjZEMUE1QjYzRkYwMDAyNkVDNiAvKiBXZWJEYXRhYmFzZVByb3ZpZGVyLmggaW4gSGVh
ZGVycyAqLywKIAkJCQlDRDE5QTI2RTFBMTNFODM0MDA4RDY1MEUgLyogV2ViRGlhZ25vc3RpY0xv
Z2dpbmdDbGllbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBNUIxQzU1MTg5ODdFREYwMDRGQ0Y5
QiAvKiBXZWJEb2N1bWVudExvYWRlci5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDEzMDc1QjQxREU4
NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1Byb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQlC
QzAzMkQ3QjEwRjQzNzhEMDA1OEMxNUEgLyogV2ViRHJhZ0NsaWVudC5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJQkNBMEVGOUYxMjMzMjY0MjAwN0QzQ0ZCIC8qIFdlYkVkaXRDb21tYW5kUHJveHkuaCBp
biBIZWFkZXJzICovLAogCQkJCUJDMDMyRDdEMTBGNDM3OEQwMDU4QzE1QSAvKiBXZWJFZGl0b3JD
bGllbnQuaCBpbiBIZWFkZXJzICovLApAQCAtODE4Myw2ICs4MzEwLDcgQEAKIAkJCQlCQzU0Q0FD
QjEyRDY0MjkxMDA1QzY3QjAgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHkuaCBpbiBIZWFk
ZXJzICovLAogCQkJCUJDMEU2MTgzMTJENkNCMUQwMDEyQTcyQSAvKiBXZWJHZW9sb2NhdGlvbk1h
bmFnZXJQcm94eU1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzBFNjA3MzEyRDZCQzIw
MDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5oIGluIEhlYWRlcnMgKi8sCisJCQkJ
NDEzMDc1QUMxREU4NUYzNzAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmggaW4gSGVhZGVy
cyAqLywKIAkJCQlCQzFCRTFGMjEyRDU0REJEMDAwNEEyMjggLyogV2ViR2VvbG9jYXRpb25Qcm92
aWRlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMkQ1MDM2NzYxQkNFRDE5RjAwRTIwQkIzIC8qIFdl
Ykdlc3R1cmVFdmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNBODhCMzMxQkM2RTlDRDAwQUJB
NUMyIC8qIFdlYkhpdFRlc3RSZXN1bHREYXRhLmggaW4gSGVhZGVycyAqLywKQEAgLTgxOTIsNiAr
ODMyMCw3IEBACiAJCQkJNTExQjI0QTcxMzJFMDk1NzAwMDY1QTBDIC8qIFdlYkljb25EYXRhYmFz
ZVByb3h5LmggaW4gSGVhZGVycyAqLywKIAkJCQk1MUQwMkY2QzEzMkVDNzM3MDBCRUFBOTYgLyog
V2ViSWNvbkRhdGFiYXNlUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIz
NzAxQzczOUQ0MjAwNzk5M0NCIC8qIFdlYklEQkNvbm5lY3Rpb25Ub0NsaWVudC5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDEzMDc1QUQxREU4NUY1ODAwMzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJNTEwNTIzN0ExQzczREE3NzAwNzk5M0NCIC8qIFdlYklEQkNv
bm5lY3Rpb25Ub0NsaWVudE1lc3NhZ2VzLmggaW4gSGVhZGVycyAqLywKIAkJCQk1MTQxMjk5NDFD
NjQyOEJCMDA1OUU3MTQgLyogV2ViSURCQ29ubmVjdGlvblRvU2VydmVyLmggaW4gSGVhZGVycyAq
LywKIAkJCQk1MTA1MjM3NDFDNzNEMzhCMDA3OTkzQ0IgLyogV2ViSURCQ29ubmVjdGlvblRvU2Vy
dmVyTWVzc2FnZXMuaCBpbiBIZWFkZXJzICovLApAQCAtODI0Nyw2ICs4Mzc2LDcgQEAKIAkJCQlD
REEyOUExQjFDQkRCRjQxMDA5MDFDQ0YgLyogV2ViUGxheWJhY2tTZXNzaW9uTWFuYWdlci5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMjkxQ0JFQjY3QTAwOTAxQ0NGIC8qIFdlYlBsYXliYWNr
U2Vzc2lvbk1hbmFnZXJNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQ0RBMjlBMjAxQ0JF
QjVGQjAwOTAxQ0NGIC8qIFdlYlBsYXliYWNrU2Vzc2lvbk1hbmFnZXJQcm94eS5oIGluIEhlYWRl
cnMgKi8sCisJCQkJNDEwNDgyQ0UxREREMzI0RjAwRjAwNkQwIC8qIFJUQ05ldHdvcmsuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNEQTI5QTJCMUNCRUI2N0EwMDkwMUNDRiAvKiBXZWJQbGF5YmFja1Nl
c3Npb25NYW5hZ2VyUHJveHlNZXNzYWdlcy5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMzFENTkyOUYx
NjZFMDYwMDAwRTZCRjAyIC8qIFdlYlBsdWdJbkNsaWVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJ
QkM1NzQ0RjAxMjYzOEZCMzAwNkYwRjEyIC8qIFdlYlBvcHVwSXRlbS5oIGluIEhlYWRlcnMgKi8s
CkBAIC04NDIwLDYgKzg1NTAsNyBAQAogCQkJCTA3QTVFQkJDMUM3QkE0M0UwMEI5Q0E2OSAvKiBX
S0ZyYW1lSGFuZGxlUmVmLmggaW4gSGVhZGVycyAqLywKIAkJCQkxQTRENjY0QzE4QTMwMzBFMDBE
ODJFMjEgLyogV0tGcmFtZUluZm8uaCBpbiBIZWFkZXJzICovLAogCQkJCTJERjlFRUU4MUE3ODI0
NTUwMEI2Q0ZCRSAvKiBXS0ZyYW1lSW5mb0ludGVybmFsLmggaW4gSGVhZGVycyAqLywKKwkJCQk0
MUZBRjVGODFFM0MxMDIxMDAxQUU2NzggLyogTGliV2ViUlRDUmVzb2x2ZXIuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTFBNkZBMjFFMUJEMDQzNUIwMEFBQTY1MCAvKiBXS0ZyYW1lSW5mb1ByaXZhdGUu
aCBpbiBIZWFkZXJzICovLAogCQkJCTJEM0E2NUU3MUE3QzNBQTcwMENBQzYzNyAvKiBXS0ZyYW1l
SW5mb1JlZi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJQkNCOUY2QTUxMTIzREQwRDAwQTEzN0UwIC8q
IFdLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCkBAIC04NDU5LDYgKzg1OTAs
NyBAQAogCQkJCTM3MEYzNEEzMTgyOUJFMUUwMDkwMjdDOCAvKiBXS05hdmlnYXRpb25EYXRhLmgg
aW4gSGVhZGVycyAqLywKIAkJCQkzNzBGMzRBNTE4MjlCRUEzMDA5MDI3QzggLyogV0tOYXZpZ2F0
aW9uRGF0YUludGVybmFsLmggaW4gSGVhZGVycyAqLywKIAkJCQlCQ0Y2OUZBOTExNzZEMUNCMDA0
NzFBNTIgLyogV0tOYXZpZ2F0aW9uRGF0YVJlZi5oIGluIEhlYWRlcnMgKi8sCisJCQkJNDExQjIy
NjQxRTM3MUJBNjAwNEY3MzYzIC8qIExpYldlYlJUQ05ldHdvcmsuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBQkMzREZDMTg5OUY1MUMwMDRGMDYyNiAvKiBXS05hdmlnYXRpb25EZWxlZ2F0ZS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJMUFBMjBENTExOEFENTBFMDAwNUQxRUQ0IC8qIFdLTmF2aWdhdGlv
bkRlbGVnYXRlUHJpdmF0ZS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFCQzNERjExODk5QzZCNjAw
NEYwNjI2IC8qIFdLTmF2aWdhdGlvbkludGVybmFsLmggaW4gSGVhZGVycyAqLywKQEAgLTg1ODEs
NiArODcxMyw3IEBACiAJCQkJMzc3RUFENDkxN0UyQzc3QjAwMkQxOTNEIC8qIFdLVXNlclNjcmlw
dEluamVjdGlvblRpbWUuaCBpbiBIZWFkZXJzICovLAogCQkJCTFBQUYwODlEMTkyNjdGQzgwMEI2
MzkwQyAvKiBXS1VzZXJTY3JpcHRJbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0M4ODJE
RkExQzdFOTk3MzAwNkJGNzMxIC8qIFdLVXNlclNjcmlwdFByaXZhdGUuaCBpbiBIZWFkZXJzICov
LAorCQkJCTQxMzA3NUIwMURFODVGNTgwMDM5RUM2OSAvKiBXZWJSVENNb25pdG9yLmggaW4gSGVh
ZGVycyAqLywKIAkJCQk3Qzg5RDJBNDFBNjc4ODc1MDAzQTVGREUgLyogV0tVc2VyU2NyaXB0UmVm
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2OTlCNTExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3
LmggaW4gSGVhZGVycyAqLywKIAkJCQlCQzg2OTlCNzExNkFBREFBMDAyQTkyNUIgLyogV0tWaWV3
SW50ZXJuYWwuaCBpbiBIZWFkZXJzICovLApAQCAtODYyNCw2ICs4NzU3LDcgQEAKIAkJCQkxQURG
NTkxQjE4OTA1MjhFMDA0M0MxNDUgLyogV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJMkQ3QUFGRDYxOEM5NTZBRjAwQTdBQ0Q0IC8qIFdLV2ViVmlld0NvbmZpZ3Vy
YXRpb25JbnRlcm5hbC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMUFDMTQxNTExOEFDNDdFRTAwNkM2
MDJDIC8qIFdLV2ViVmlld0NvbmZpZ3VyYXRpb25Qcml2YXRlLmggaW4gSGVhZGVycyAqLywKKwkJ
CQk0MURDNDU5QzFFM0RCQjI4MDBCMTFGNTEgLyogTGliV2ViUlRDU29ja2V0Q2xpZW50LmggaW4g
SGVhZGVycyAqLywKIAkJCQkyRDdBQUZEMzE4Qzg2NDA2MDBBN0FDRDQgLyogV0tXZWJWaWV3Q29u
dGVudFByb3ZpZGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQkyREM2RDlDMzE4QzQ0QTYxMDA0M0JB
RDQgLyogV0tXZWJWaWV3Q29udGVudFByb3ZpZGVyUmVnaXN0cnkuaCBpbiBIZWFkZXJzICovLAog
CQkJCTFBNjZCRjhGMThBMDUyRUQwMDIwNzFCNCAvKiBXS1dlYlZpZXdJbnRlcm5hbC5oIGluIEhl
YWRlcnMgKi8sCkBAIC05MjMxLDcgKzkzNjUsOSBAQAogCQkJCTFBNDNFODI5MTg4RjNDREMwMDlF
NEQzMCAvKiBfV0tQcm9jZXNzUG9vbENvbmZpZ3VyYXRpb24ubW0gaW4gU291cmNlcyAqLywKIAkJ
CQkxQTlFMzI4RTE4MjE2NUE5MDBGNUQwNEMgLyogX1dLUmVtb3RlT2JqZWN0SW50ZXJmYWNlLm1t
IGluIFNvdXJjZXMgKi8sCiAJCQkJMUE5RTMyOEExODIxNjM2OTAwRjVEMDRDIC8qIF9XS1JlbW90
ZU9iamVjdFJlZ2lzdHJ5Lm1tIGluIFNvdXJjZXMgKi8sCisJCQkJNDEwNDgyQ0QxREREMzI0QzAw
RjAwNkQwIC8qIFJUQ05ldHdvcmsuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQTU1QkE4MTExQkEx
MzE4MTAwN0NEMzNEIC8qIF9XS1JlbW90ZVdlYkluc3BlY3RvclZpZXdDb250cm9sbGVyLm1tIGlu
IFNvdXJjZXMgKi8sCisJCQkJNDFEQzQ1QTExRTNEQzUzRjAwQjExRjUxIC8qIFdlYlJUQ1Jlc29s
dmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBMDAyRDQ1MTk2QjMzOEUwMEI5QUQ0NCAvKiBf
V0tTZXNzaW9uU3RhdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDZCMzcxQzE4QTk2N0FEMDA0
MkFFODAgLyogX1dLVGh1bWJuYWlsVmlldy5tbSBpbiBTb3VyY2VzICovLAogCQkJCTdDMjQxMzAy
MUFBQ0ZBNzUwMEE1OEMxNSAvKiBfV0tVc2VyQ29udGVudEV4dGVuc2lvblN0b3JlLm1tIGluIFNv
dXJjZXMgKi8sCkBAIC05MzU1LDYgKzk0OTEsNyBAQAogCQkJCThDRkVDRTk0MTQ5MEYxNDAwMDJB
QUEzMiAvKiBFZGl0b3JTdGF0ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzAzMkRBNzEwRjQz
N0QxMDA1OEMxNUEgLyogRW5jb2Rlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk1MUIxNUE4NDEz
ODQzQTM5MDAzMjFBRDggLyogRW52aXJvbm1lbnRVdGlsaXRpZXMuY3BwIGluIFNvdXJjZXMgKi8s
CisJCQkJNDEzMDc1QUYxREU4NUY1ODAwMzlFQzY5IC8qIFdlYlJUQ01vbml0b3IuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJMUFBNTc1RkExNDk2QjUyNjAwQTRFRTA2IC8qIEV2ZW50RGlzcGF0Y2hl
ci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkxQUE1NzYwMjE0OTZCOTc5MDBBNEVFMDYgLyogRXZl
bnREaXNwYXRjaGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTAwQjk2
NjE5MThFMjVBRTEwMENFMUY4OCAvKiBGaW5kQ2xpZW50Lm1tIGluIFNvdXJjZXMgKi8sCkBAIC05
NTA4LDYgKzk2NDUsNyBAQAogCQkJCTVDODVDNzg4MUMzRjIzQ0UwMDYxQTRGQSAvKiBQZW5kaW5n
RG93bmxvYWQuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJMEY1RTIwMDMxOEU3NzA1MTAwM0VDM0U1
IC8qIFBsYXRmb3JtQ0FBbmltYXRpb25SZW1vdGUubW0gaW4gU291cmNlcyAqLywKIAkJCQkyREEw
NDlCMzE4MENDQ0QzMDBBQUZBOUUgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlLmNwcCBpbiBTb3Vy
Y2VzICovLAorCQkJCTQxMzA3NUE5MURFODVGMkMwMDM5RUM2OSAvKiBOZXR3b3JrUlRDU29ja2V0
LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTJEODcxMDE2MTgyODQxNUQwMDE4RkEwMSAvKiBQbGF0
Zm9ybUNBTGF5ZXJSZW1vdGVDdXN0b20ubW0gaW4gU291cmNlcyAqLywKIAkJCQkyRDg5NDlGMDE4
MjA0NEY2MDBFODk4QUEgLyogUGxhdGZvcm1DQUxheWVyUmVtb3RlVGlsZWRCYWNraW5nLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUJDQzQzQUJBMTI3Qjk1REMwMDMxN0YxNiAvKiBQbGF0Zm9ybVBv
cHVwTWVudURhdGEuY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05Njk5LDYgKzk4MzcsNyBAQAogCQkJ
CUJDMTExQjVFMTEyRjYyOTgwMDMzN0JBQiAvKiBXZWJFdmVudEZhY3RvcnkubW0gaW4gU291cmNl
cyAqLywKIAkJCQlCQ0U0Njk1MzEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybUNsaWVudC5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQ0U0Njk1NTEyMTRFNkNCMDAwQjk4RUIgLyogV2ViRm9ybVN1
Ym1pc3Npb25MaXN0ZW5lclByb3h5LmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTQxREM0NTk3MUUz
RDZFMjIwMEIxMUY1MSAvKiBOZXR3b3JrUlRDUHJvdmlkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQkMxMTFBREQxMTJGNUI5MzAwMzM3QkFCIC8qIFdlYkZyYW1lLmNwcCBpbiBTb3VyY2VzICov
LAogCQkJCUJDRTQ2OTc5MTIxNEYyQjQwMDBCOThFQiAvKiBXZWJGcmFtZUxpc3RlbmVyUHJveHku
Y3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkMxMTFBNUYxMTJGNEZCQjAwMzM3QkFCIC8qIFdlYkZy
YW1lTG9hZGVyQ2xpZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTcxNyw2ICs5ODU2LDcgQEAK
IAkJCQlCQzBFNjA2MTEyRDZCQTkxMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyTWVz
c2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCUJDNTRDQUNDMTJENjQyOTEwMDVD
NjdCMCAvKiBXZWJHZW9sb2NhdGlvbk1hbmFnZXJQcm94eS5jcHAgaW4gU291cmNlcyAqLywKIAkJ
CQlCQzBFNjE4MjEyRDZDQjFEMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25NYW5hZ2VyUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QUUxREU4NUY1ODAw
MzlFQzY5IC8qIExpYldlYlJUQ1NvY2tldC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCQzBFNjA3
NDEyRDZCQzIwMDAxMkE3MkEgLyogV2ViR2VvbG9jYXRpb25Qb3NpdGlvbi5jcHAgaW4gU291cmNl
cyAqLywKIAkJCQlCQzFCRTFGMzEyRDU0REJEMDAwNEEyMjggLyogV2ViR2VvbG9jYXRpb25Qcm92
aWRlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQkyRDUwMzY3NTFCQ0VEMTlGMDBFMjBCQjMgLyog
V2ViR2VzdHVyZUV2ZW50LmNwcCBpbiBTb3VyY2VzICovLApAQCAtOTgzNiw2ICs5OTc2LDEyIEBA
CiAJCQkJMzc2MDg4MUUxNTA0MTNFOTAwRkM4MkM3IC8qIFdlYlJlbmRlck9iamVjdC5jcHAgaW4g
U291cmNlcyAqLywKIAkJCQk1MTBBRkZCOTE2NTQyMDQ4MDAxQkEwNUUgLyogV2ViUmVzb3VyY2VM
b2FkZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODFCIC8q
IFdlYlJlc291cmNlTG9hZGVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJ
CTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxQyAvKiBXZWJSVENTb2NrZXRNZXNzYWdlUmVjZWl2ZXIu
Y3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTExNjU0MzE4NTAwRjMyODJDIC8qIFdlYlJU
Q1Jlc29sdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUx
MTY1NDMxODUwMEYzMjgxRCAvKiBOZXR3b3JrUlRDU29ja2V0TWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgyRSAvKiBOZXR3b3JrUlRD
UHJvdmlkZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNTFGMDYwRTEx
NjU0MzE4NTAwRjMyODFFIC8qIE5ldHdvcmtSVENNb25pdG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBp
biBTb3VyY2VzICovLAorCQkJCTUxRjA2MEUxMTY1NDMxODUwMEYzMjgxRiAvKiBXZWJSVENNb25p
dG9yTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTdBNzkxRUZDMUM3RDA4
QzUwMEM0QzUyQiAvKiBXZWJSZXNvdXJjZUxvYWRTdGF0aXN0aWNzU3RvcmUuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJN0E3OTFFRkExQzdDRkNGMTAwQzRDNTJCIC8qIFdlYlJlc291cmNlTG9hZFN0
YXRpc3RpY3NTdG9yZU1lc3NhZ2VSZWNlaXZlci5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk3QzM2
MUQ3MjE5MjdGQTM2MDAzNkE1OUQgLyogV2ViU2NyaXB0TWVzc2FnZUhhbmRsZXIuY3BwIGluIFNv
dXJjZXMgKi8sCkBAIC05ODQ2LDYgKzk5OTIsNyBAQAogCQkJCTFBNDgzMkMzMUE5NjVBM0MwMDhC
NERGRSAvKiBXZWJzaXRlRGF0YVN0b3JlQ29jb2EubW0gaW4gU291cmNlcyAqLywKIAkJCQk1Qzc3
MDY3NDFEMTEzODM4MDAxMjcwMEYgLyogV2ViU29ja2V0UHJvdmlkZXIuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJODM2MDM0OUYxQUNCMzRENjAwNjI2NTQ5IC8qIFdlYlNRTGl0ZURhdGFiYXNlVHJh
Y2tlci5jcHAgaW4gU291cmNlcyAqLywKKwkJCQk0MURDNDU5QjFFM0RCQjI4MDBCMTFGNTEgLyog
TGliV2ViUlRDU29ja2V0Q2xpZW50LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTFBNTJDMEY3MUEz
OENEQzcwMDE2MTYwQSAvKiBXZWJTdG9yYWdlTmFtZXNwYWNlUHJvdmlkZXIuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJQkNDNTcxNUMxMTVBREFFRjAwMUNDQUY5IC8qIFdlYlN5c3RlbUludGVyZmFj
ZS5tbSBpbiBTb3VyY2VzICovLAogCQkJCTUxMDMyRjE4MTgwRjczQkIwMDk2MUJCNyAvKiBXZWJU
b0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGluIFNvdXJjZXMgKi8sCkBAIC05ODYzLDEw
ICsxMDAxMCwxMiBAQAogCQkJCTNGNDE4RUY5MTg4N0JEOTcwMDI3OTVGRCAvKiBXZWJWaWRlb0Z1
bGxzY3JlZW5NYW5hZ2VyTWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUy
RDVBMUIxMUM1NzQ5NjIwMERFMzRBMyAvKiBXZWJWaWRlb0Z1bGxzY3JlZW5NYW5hZ2VyUHJveHku
bW0gaW4gU291cmNlcyAqLywKIAkJCQkzRjQxOEVGQjE4ODdCRDk3MDAyNzk1RkQgLyogV2ViVmlk
ZW9GdWxsc2NyZWVuTWFuYWdlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBpbiBTb3VyY2VzICov
LAorCQkJCTQxMzA3NUIzMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJSVENQcm92aWRlci5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQkyREZDN0RCQzFCQ0NDMTk1MDBDMTU0OEMgLyogV2ViVmlld0lt
cGwubW0gaW4gU291cmNlcyAqLywKIAkJCQlDMDMzN0REMTEyN0EyOTgwMDA4RkY0RjQgLyogV2Vi
V2hlZWxFdmVudC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk4NjgxNjBEMDE4NzY0NTU3MDAyMUU3
OUQgLyogV2luZG93U2VydmVyQ29ubmVjdGlvbi5tbSBpbiBTb3VyY2VzICovLAogCQkJCTI5Q0Q1
NUFCMTI4RTI5NEYwMDEzM0M4NSAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0QmFzZS5t
bSBpbiBTb3VyY2VzICovLAorCQkJCTQxMzA3NUIxMURFODVGNTgwMDM5RUM2OSAvKiBMaWJXZWJS
VENTb2NrZXRGYWN0b3J5LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTI5MjMyREY4MThCMkE5QUUw
MEQwNTk2RiAvKiBXS0FjY2Vzc2liaWxpdHlXZWJQYWdlT2JqZWN0SU9TLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJMjkyMzJERjkxOEIyQUIzQTAwRDA1OTZGIC8qIFdLQWNjZXNzaWJpbGl0eVdlYlBh
Z2VPYmplY3RNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQkwRkNCNEU0OTE4QkJFMDQ0MDAwRkNG
QzkgLyogV0tBY3Rpb25TaGVldC5tbSBpbiBTb3VyY2VzICovLApAQCAtOTg4NCw2ICsxMDAzMyw3
IEBACiAJCQkJQkNCQUFDRjUxNDUyMzI0RjAwNTNGODJGIC8qIFdLQnJvd3NpbmdDb250ZXh0R3Jv
dXAubW0gaW4gU291cmNlcyAqLywKIAkJCQkxQUUwMEQ0QzE4MkQ2RUIwMDAwODdERDcgLyogV0tC
cm93c2luZ0NvbnRleHRIYW5kbGUubW0gaW4gU291cmNlcyAqLywKIAkJCQlCQzIwNEVFRTExQzgz
RUM4MDA4RjMzNzUgLyogV0tCdW5kbGUuY3BwIGluIFNvdXJjZXMgKi8sCisJCQkJNDEzMDc1QUEx
REU4NUYzMDAwMzlFQzY5IC8qIE5ldHdvcmtSVENNb25pdG9yLmNwcCBpbiBTb3VyY2VzICovLAog
CQkJCTkzNUVFQjlFMTI3NzYxQUMwMDMzMjJCOCAvKiBXS0J1bmRsZUJhY2tGb3J3YXJkTGlzdC5j
cHAgaW4gU291cmNlcyAqLywKIAkJCQk5MzVFRUJBMDEyNzc2MUFDMDAzMzIyQjggLyogV0tCdW5k
bGVCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTUxRkEyRDc3MTUy
MTJFMjYwMEMxQkEwQiAvKiBXS0J1bmRsZURPTVdpbmRvd0V4dGVuc2lvbi5jcHAgaW4gU291cmNl
cyAqLywKQEAgLTk4OTgsNiArMTAwNDgsNyBAQAogCQkJCTdDRjQ3RkY2MTcyNzVCNzEwMDhBQ0I5
MSAvKiBXS0J1bmRsZVBhZ2VCYW5uZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJN0NGNDdGRkUx
NzI3NkFFMzAwOEFDQjkxIC8qIFdLQnVuZGxlUGFnZUJhbm5lck1hYy5tbSBpbiBTb3VyY2VzICov
LAogCQkJCUJDN0I2MzNFMTJBNDVEMTIwMEQxNzRBNCAvKiBXS0J1bmRsZVBhZ2VHcm91cC5jcHAg
aW4gU291cmNlcyAqLywKKwkJCQk0MUZBRjVGOTFFM0MxMDI1MDAxQUU2NzggLyogTGliV2ViUlRD
UmVzb2x2ZXIuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRURDQTcxQjcxMjhEREE4QzAwMjAxQjI2
IC8qIFdLQnVuZGxlUGFnZU92ZXJsYXkuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJQkM2MEM1N0Ex
MjQwQTU0NjAwOEM1RTI5IC8qIFdLQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIGluIFNvdXJjZXMgKi8s
CiAJCQkJQkMxNERGOUUxMjBCNjM1RjAwODI2QzBDIC8qIFdLQnVuZGxlU2NyaXB0V29ybGQuY3Bw
IGluIFNvdXJjZXMgKi8sCkBAIC05OTI2LDYgKzEwMDc3LDcgQEAKIAkJCQlCQzAxN0QyMDE2MjYz
MzA4MDA3MDU0RjUgLyogV0tET01UZXh0SXRlcmF0b3IubW0gaW4gU291cmNlcyAqLywKIAkJCQkx
QUI3RDc4RTEyODhDRDlBMDBDRkQwOEMgLyogV0tEb3dubG9hZC5jcHAgaW4gU291cmNlcyAqLywK
IAkJCQkxQUY0NTkyRTE5NDY0QjIwMDBGOUQ0QTIgLyogV0tFcnJvci5tbSBpbiBTb3VyY2VzICov
LAorCQkJCTQxREM0NTlFMUUzREJEQTEwMEIxMUY1MSAvKiBXZWJSVENTb2NrZXQuY3BwIGluIFNv
dXJjZXMgKi8sCiAJCQkJQkNGRDU0OEIxMzJEODI2ODAwNTVEODE2IC8qIFdLRXJyb3JDRi5jcHAg
aW4gU291cmNlcyAqLywKIAkJCQlCQzQwNzVGQjEyNEZGMDI3MDA2OEYyMEEgLyogV0tFcnJvclJl
Zi5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlBNThCNkYwOTE4RkNBNzMzMDA4Q0JBNTMgLyogV0tG
aWxlVXBsb2FkUGFuZWwubW0gaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay9OZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5j
cHAKaW5kZXggMDhhYjFlMzU1MTZmMThkOWMwZDQ1N2VmNjE0NDE5YTliYzMwMGQ3Ni4uNjQwM2M3
NDZlODllNWUyYjA2MjgxZjNiZGQzZTM3NzNiNDRmNTRlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5jcHAKKysr
IGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL05ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi5jcHAKQEAgLTMxLDYgKzMxLDEwIEBACiAjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29k
ZXJzLmgiCiAjaW5jbHVkZSAiV2ViTG9hZGVyU3RyYXRlZ3kuaCIKICNpbmNsdWRlICJXZWJQcm9j
ZXNzLmgiCisjaW5jbHVkZSAiV2ViUlRDTW9uaXRvci5oIgorI2luY2x1ZGUgIldlYlJUQ01vbml0
b3JNZXNzYWdlcy5oIgorI2luY2x1ZGUgIldlYlJUQ1Jlc29sdmVyTWVzc2FnZXMuaCIKKyNpbmNs
dWRlICJXZWJSVENTb2NrZXRNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlJlc291cmNlTG9hZGVy
TWVzc2FnZXMuaCIKICNpbmNsdWRlIDxXZWJDb3JlL0NhY2hlZFJlc291cmNlLmg+CiAjaW5jbHVk
ZSA8V2ViQ29yZS9NZW1vcnlDYWNoZS5oPgpAQCAtNTQsMTIgKzU4LDI2IEBAIE5ldHdvcmtQcm9j
ZXNzQ29ubmVjdGlvbjo6fk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbigpCiB2b2lkIE5ldHdvcmtQ
cm9jZXNzQ29ubmVjdGlvbjo6ZGlkUmVjZWl2ZU1lc3NhZ2UoSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uLCBJUEM6OkRlY29kZXImIGRlY29kZXIpCiB7CiAgICAgaWYgKGRlY29kZXIubWVzc2Fn
ZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSZXNvdXJjZUxvYWRlcjo6bWVzc2FnZVJl
Y2VpdmVyTmFtZSgpKSB7Ci0gICAgICAgIGlmIChXZWJSZXNvdXJjZUxvYWRlciogd2ViUmVzb3Vy
Y2VMb2FkZXIgPSBXZWJQcm9jZXNzOjpzaW5nbGV0b24oKS53ZWJMb2FkZXJTdHJhdGVneSgpLndl
YlJlc291cmNlTG9hZGVyRm9ySWRlbnRpZmllcihkZWNvZGVyLmRlc3RpbmF0aW9uSUQoKSkpCisg
ICAgICAgIGlmIChhdXRvKiB3ZWJSZXNvdXJjZUxvYWRlciA9IFdlYlByb2Nlc3M6OnNpbmdsZXRv
bigpLndlYkxvYWRlclN0cmF0ZWd5KCkud2ViUmVzb3VyY2VMb2FkZXJGb3JJZGVudGlmaWVyKGRl
Y29kZXIuZGVzdGluYXRpb25JRCgpKSkKICAgICAgICAgICAgIHdlYlJlc291cmNlTG9hZGVyLT5k
aWRSZWNlaXZlV2ViUmVzb3VyY2VMb2FkZXJNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOwot
ICAgICAgICAKICAgICAgICAgcmV0dXJuOwogICAgIH0KIAorI2lmIFVTRShMSUJXRUJSVEMpCisg
ICAgaWYgKGRlY29kZXIubWVzc2FnZVJlY2VpdmVyTmFtZSgpID09IE1lc3NhZ2VzOjpXZWJSVENT
b2NrZXQ6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBXZWJQcm9jZXNzOjpzaW5n
bGV0b24oKS5saWJXZWJSVENOZXR3b3JrKCkuc29ja2V0KGRlY29kZXIuZGVzdGluYXRpb25JRCgp
KS5kaWRSZWNlaXZlTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKKyAgICAgICAgcmV0dXJu
OworICAgIH0KKyAgICBpZiAoZGVjb2Rlci5tZXNzYWdlUmVjZWl2ZXJOYW1lKCkgPT0gTWVzc2Fn
ZXM6OldlYlJUQ01vbml0b3I6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBXZWJQ
cm9jZXNzOjpzaW5nbGV0b24oKS5saWJXZWJSVENOZXR3b3JrKCkubW9uaXRvcigpLmRpZFJlY2Vp
dmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICByZXR1cm47CisgICAgfQor
ICAgIGlmIChkZWNvZGVyLm1lc3NhZ2VSZWNlaXZlck5hbWUoKSA9PSBNZXNzYWdlczo6V2ViUlRD
UmVzb2x2ZXI6Om1lc3NhZ2VSZWNlaXZlck5hbWUoKSkgeworICAgICAgICBXZWJQcm9jZXNzOjpz
aW5nbGV0b24oKS5saWJXZWJSVENOZXR3b3JrKCkucmVzb2x2ZXIoZGVjb2Rlci5kZXN0aW5hdGlv
bklEKCkpLmRpZFJlY2VpdmVNZXNzYWdlKGNvbm5lY3Rpb24sIGRlY29kZXIpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorI2VuZGlmCisKICAgICBkaWRSZWNlaXZlTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uTWVzc2FnZShjb25uZWN0aW9uLCBkZWNvZGVyKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmgg
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ05ldHdv
cmsuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4yYTljNWJhNzNmODg0MzY1MzdjZjJlYzE4ZTFkMmM0NjJlNmRmMWNk
Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENOZXR3b3JrLmgKQEAgLTAsMCArMSw1NCBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNw
cmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlICJXZWJSVENNb25pdG9yLmgiCisjaW5jbHVkZSAiV2Vi
UlRDUmVzb2x2ZXIuaCIKKyNpbmNsdWRlICJXZWJSVENTb2NrZXQuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2NsYXNzIExpYldlYlJUQ05ldHdvcmsgeworcHVibGljOgorICAgIExpYldlYlJU
Q05ldHdvcmsoKSA9IGRlZmF1bHQ7CisKKyAgICBXZWJSVENNb25pdG9yJiBtb25pdG9yKCkgeyBy
ZXR1cm4gbV93ZWJOZXR3b3JrTW9uaXRvcjsgfQorICAgIExpYldlYlJUQ1NvY2tldEZhY3Rvcnkm
IHNvY2tldEZhY3RvcnkoKSB7IHJldHVybiBtX3NvY2tldEZhY3Rvcnk7IH0KKworICAgIFdlYlJU
Q1NvY2tldCBzb2NrZXQodWludDY0X3QgaWRlbnRpZmllcikgeyByZXR1cm4gV2ViUlRDU29ja2V0
KHNvY2tldEZhY3RvcnkoKSwgaWRlbnRpZmllcik7IH0KKyAgICBXZWJSVENSZXNvbHZlciByZXNv
bHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBXZWJSVENSZXNvbHZlcihzb2NrZXRG
YWN0b3J5KCksIGlkZW50aWZpZXIpOyB9CisKK3ByaXZhdGU6CisgICAgTGliV2ViUlRDU29ja2V0
RmFjdG9yeSBtX3NvY2tldEZhY3Rvcnk7CisgICAgV2ViUlRDTW9uaXRvciBtX3dlYk5ldHdvcmtN
b25pdG9yOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElC
V0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dl
YnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05l
dHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5jM2FlMjY1Y2Ey
YzUwYjU0NTRlZWZhMDBjNDkzYTEwOTRmNjdmMzAzCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENQcm92aWRlci5jcHAK
QEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNs
dWRlICJMaWJXZWJSVENQcm92aWRlci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1V0aWxzLmg+Cisj
aW5jbHVkZSA8d2VicnRjL2FwaS9wZWVyY29ubmVjdGlvbmZhY3RvcnkuaD4KKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK3J0Yzo6c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50
ZXJmYWNlPiBMaWJXZWJSVENQcm92aWRlcjo6Y3JlYXRlUGVlckNvbm5lY3Rpb24od2VicnRjOjpQ
ZWVyQ29ubmVjdGlvbk9ic2VydmVyJiBvYnNlcnZlcikKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6
Y3JlYXRlUGVlckNvbm5lY3Rpb24ob2JzZXJ2ZXIsIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxp
YldlYlJUQ05ldHdvcmsoKS5tb25pdG9yKCksIFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLmxpYldl
YlJUQ05ldHdvcmsoKS5zb2NrZXRGYWN0b3J5KCkpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmggYi9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Byb3ZpZGVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uODdkYzIzYjkwYzhkZDE5NzQzYTU5NjljNWM4NmM2ZDc5ZDRkNTVlMQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGli
V2ViUlRDUHJvdmlkZXIuaApAQCAtMCwwICsxLDQ1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBv
bmNlCisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ1Byb3ZpZGVyLmg+CisKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKKyNpZiBVU0UoTElCV0VCUlRDKQorY2xhc3MgTGliV2ViUlRDUHJvdmlk
ZXIgZmluYWwgOiBwdWJsaWMgV2ViQ29yZTo6TGliV2ViUlRDUHJvdmlkZXIgeworcHVibGljOgor
ICAgIExpYldlYlJUQ1Byb3ZpZGVyKCkgPSBkZWZhdWx0OworCitwcml2YXRlOgorICAgIHJ0Yzo6
c2NvcGVkX3JlZnB0cjx3ZWJydGM6OlBlZXJDb25uZWN0aW9uSW50ZXJmYWNlPiBjcmVhdGVQZWVy
Q29ubmVjdGlvbih3ZWJydGM6OlBlZXJDb25uZWN0aW9uT2JzZXJ2ZXImKSBmaW5hbDsKK307Cisj
ZWxzZQordXNpbmcgTGliV2ViUlRDUHJvdmlkZXIgPSBXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRl
cjsKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2Vi
UlRDUmVzb2x2ZXIuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9MaWJXZWJSVENSZXNvbHZlci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWM3MTg3OTBmOWU3OTM0ZDI4OTVh
ZWFlYWZiZWVjMjE3ZTI2OTJlMAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDUmVzb2x2ZXIuY3BwCkBAIC0wLDAgKzEs
MTAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIkxpYldl
YlJUQ1Jlc29sdmVyLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTmV0d29y
a1Byb2Nlc3NDb25uZWN0aW9uLmgiCisjaW5jbHVkZSAiTmV0d29ya1JUQ1Byb3ZpZGVyTWVzc2Fn
ZXMuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8d3RmL01haW5UaHJlYWQu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZW5kT25NYWlu
VGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25uZWN0aW9uJik+JiYgY2FsbGJhY2spCit7Cisg
ICAgY2FsbE9uTWFpblRocmVhZChbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7Cisg
ICAgICAgIGNhbGxiYWNrKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9u
KCkuY29ubmVjdGlvbigpKTsKKyAgICB9KTsKK30KKwordm9pZCBMaWJXZWJSVENSZXNvbHZlcjo6
U3RhcnQoY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBhZGRyZXNzKQoreworICAgIG1faXNSZXNv
bHZpbmcgPSB0cnVlOworICAgIG1fYWRkcmVzc1RvUmVzb2x2ZSA9IGFkZHJlc3M7CisgICAgbV9w
b3J0ID0gYWRkcmVzcy5wb3J0KCk7CisgICAgYXV0byBpZGVudGlmaWVyID0gbV9pZGVudGlmaWVy
OworICAgIHNlbmRPbk1haW5UaHJlYWQoW2lkZW50aWZpZXIsIGFkZHJlc3NdKElQQzo6Q29ubmVj
dGlvbiYgY29ubmVjdGlvbikgeworICAgICAgICBhdXRvIGFkZHJlc3NTdHJpbmcgPSBhZGRyZXNz
Lkhvc3RBc1VSSVN0cmluZygpOworICAgICAgICBjb25uZWN0aW9uLnNlbmQoTWVzc2FnZXM6Ok5l
dHdvcmtSVENQcm92aWRlcjo6Q3JlYXRlUmVzb2x2ZXIoaWRlbnRpZmllciwgU3RyaW5nKGFkZHJl
c3NTdHJpbmcuZGF0YSgpLCBhZGRyZXNzU3RyaW5nLmxlbmd0aCgpKSksIDApOworICAgIH0pOwor
fQorCitib29sIExpYldlYlJUQ1Jlc29sdmVyOjpHZXRSZXNvbHZlZEFkZHJlc3MoaW50IGZhbWls
eSwgcnRjOjpTb2NrZXRBZGRyZXNzKiBhZGRyZXNzKSBjb25zdAoreworICAgIEFTU0VSVChhZGRy
ZXNzKTsKKyAgICBpZiAobV9lcnJvciB8fCAhbV9hZGRyZXNzZXMuc2l6ZSgpKQorICAgICAgICBy
ZXR1cm4gZmFsc2U7CisKKyAgICAqYWRkcmVzcyA9IG1fYWRkcmVzc1RvUmVzb2x2ZTsKKyAgICBm
b3IgKGF1dG8mIGlwQWRkcmVzcyA6IG1fYWRkcmVzc2VzKSB7CisgICAgICAgIGlmIChmYW1pbHkg
PT0gaXBBZGRyZXNzLmZhbWlseSgpKSB7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRSZXNvbHZl
ZElQKGlwQWRkcmVzcyk7CisgICAgICAgICAgICBhZGRyZXNzLT5TZXRQb3J0KG1fcG9ydCk7Cisg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICAgICAgfQorICAgIH0KKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2ZXI6OkRlc3Ryb3koYm9vbCkKK3sKKyAgICBp
ZiAoIWlzUmVzb2x2aW5nKCkpCisgICAgICAgIHJldHVybjsKKworICAgIGF1dG8gaWRlbnRpZmll
ciA9IG1faWRlbnRpZmllcjsKKyAgICBzZW5kT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXShJUEM6
OkNvbm5lY3Rpb24mIGNvbm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3Nh
Z2VzOjpOZXR3b3JrUlRDUHJvdmlkZXI6OlN0b3BSZXNvbHZlcihpZGVudGlmaWVyKSwgMCk7Cisg
ICAgfSk7CisKKyAgICAvLyBMZXQncyB0YWtlIHRoZSByZXNvbHZlciBzbyB0aGF0IGl0IGdldHMg
ZGVzdHJveWVkIGF0IHRoZSBlbmQgb2YgdGhpcyBmdW5jdGlvbi4KKyAgICBhdXRvIHJlc29sdmVy
ID0gV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubGliV2ViUlRDTmV0d29yaygpLnNvY2tldEZhY3Rv
cnkoKS50YWtlUmVzb2x2ZXIobV9pZGVudGlmaWVyKTsKKyAgICBBU1NFUlQocmVzb2x2ZXIpOwor
fQorCit2b2lkIExpYldlYlJUQ1Jlc29sdmVyOjpzZXRSZXNvbHZlZEFkZHJlc3MoY29uc3QgVmVj
dG9yPHJ0Yzo6SVBBZGRyZXNzPiYgYWRkcmVzc2VzKQoreworICAgIG1fYWRkcmVzc2VzID0gYWRk
cmVzc2VzOworICAgIFNpZ25hbERvbmUodGhpcyk7Cit9CisKK3ZvaWQgTGliV2ViUlRDUmVzb2x2
ZXI6OnNldEVycm9yKGludCBlcnJvcikKK3sKKyAgICBtX2Vycm9yID0gZXJyb3I7CisgICAgU2ln
bmFsRG9uZSh0aGlzKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBV
U0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENSZXNvbHZlci5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjkzNWI2Mjk3
NTgzNTk5ZjJiYzE5ODg2NzVmYzY2ZTBiYjg3ZTM3NjYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL0xpYldlYlJUQ1Jlc29sdmVyLmgK
QEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJ
QldFQlJUQykKKworI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9zLmg+CisjaW5jbHVk
ZSA8d2VicnRjL2Jhc2UvbmV0aGVscGVycy5oPgorI2luY2x1ZGUgPHdlYnJ0Yy9wMnAvYmFzZS9w
YWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL1ZlY3Rvci5oPgorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKK2NsYXNzIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk7CisKK2NsYXNzIExpYldl
YlJUQ1Jlc29sdmVyIGZpbmFsIDogcHVibGljIHJ0Yzo6QXN5bmNSZXNvbHZlckludGVyZmFjZSB7
CitwdWJsaWM6CisgICAgTGliV2ViUlRDUmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikgOiBt
X2lkZW50aWZpZXIoaWRlbnRpZmllcikgeyB9CisKKyAgICBib29sIGlzUmVzb2x2aW5nKCkgY29u
c3QgeyByZXR1cm4gbV9pc1Jlc29sdmluZzsgfQorICAgIHVpbnQ2NF90IGlkZW50aWZpZXIoKSBj
b25zdCB7IHJldHVybiBtX2lkZW50aWZpZXI7IH0KKworcHJpdmF0ZToKKyAgICBmcmllbmQgY2xh
c3MgV2ViUlRDUmVzb2x2ZXI7CisKKyAgICAvLyBBc3luY1Jlc29sdmVySW50ZXJmYWNlIEFQSS4K
KyAgICB2b2lkIFN0YXJ0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYpIGZpbmFsOworICAgIGJv
b2wgR2V0UmVzb2x2ZWRBZGRyZXNzKGludCwgcnRjOjpTb2NrZXRBZGRyZXNzKikgY29uc3QgZmlu
YWw7CisgICAgaW50IEdldEVycm9yKCkgY29uc3QgZmluYWwgeyByZXR1cm4gbV9lcnJvcjsgfQor
ICAgIHZvaWQgRGVzdHJveShib29sKSBmaW5hbDsKKworICAgIHZvaWQgc2V0RXJyb3IoaW50KTsK
KyAgICB2b2lkIHNldFJlc29sdmVkQWRkcmVzcyhjb25zdCBWZWN0b3I8cnRjOjpJUEFkZHJlc3M+
Jik7CisKKyAgICB1aW50NjRfdCBtX2lkZW50aWZpZXI7CisgICAgVmVjdG9yPHJ0Yzo6SVBBZGRy
ZXNzPiBtX2FkZHJlc3NlczsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9hZGRyZXNzVG9SZXNv
bHZlOworICAgIGludCBtX2Vycm9yIHsgMCB9OworICAgIHVpbnQxNl90IG1fcG9ydCB7IDAgfTsK
KyAgICBib29sIG1faXNSZXNvbHZpbmcgeyBmYWxzZSB9OworfTsKKworfSAvLyBuYW1lc3BhY2Ug
V2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3BwIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAuLmMyOWEzZDI3YmU5M2E2MDVkOGQ5OGZhYmFmNDQ4YmEyNTdiMjI5OTMKLS0t
IC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L0xpYldlYlJUQ1NvY2tldC5jcHAKQEAgLTAsMCArMSwxOTMgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0LmgiCisKKyNpZiBVU0Uo
TElCV0VCUlRDKQorCisjaW5jbHVkZSAiRGF0YVJlZmVyZW5jZS5oIgorI2luY2x1ZGUgIkxpYldl
YlJUQ1NvY2tldEZhY3RvcnkuaCIKKyNpbmNsdWRlICJOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24u
aCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDU29ja2V0TWVzc2FnZXMuaCIKKyNpbmNsdWRlICJXZWJQ
cm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9TaGFyZWRCdWZmZXIuaD4KKyNpbmNsdWRlIDx3
dGYvRnVuY3Rpb24uaD4KKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworc3RhdGljIGlubGluZSB2b2lkIHNlbmRPbk1haW5UaHJlYWQoRnVuY3Rpb248
dm9pZChJUEM6OkNvbm5lY3Rpb24mKT4mJiBjYWxsYmFjaykKK3sKKyAgICBjYWxsT25NYWluVGhy
ZWFkKFtjYWxsYmFjayA9IFdURk1vdmUoY2FsbGJhY2spXSgpIHsKKyAgICAgICAgY2FsbGJhY2so
V2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24oKS5jb25uZWN0aW9uKCkp
OworICAgIH0pOworfQorCitMaWJXZWJSVENTb2NrZXQ6OkxpYldlYlJUQ1NvY2tldChMaWJXZWJS
VENTb2NrZXRGYWN0b3J5JiBmYWN0b3J5LCB1aW50NjRfdCBpZGVudGlmaWVyLCBUeXBlIHR5cGUs
IGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgbG9jYWxBZGRyZXNzLCBjb25zdCBydGM6OlNvY2tl
dEFkZHJlc3MmIHJlbW90ZUFkZHJlc3MpCisgICAgOiBtX2ZhY3RvcnkoZmFjdG9yeSkKKyAgICAs
IG1faWRlbnRpZmllcihpZGVudGlmaWVyKQorICAgICwgbV90eXBlKHR5cGUpCisgICAgLCBtX2xv
Y2FsQWRkcmVzcyhsb2NhbEFkZHJlc3MpCisgICAgLCBtX3JlbW90ZUFkZHJlc3MocmVtb3RlQWRk
cmVzcykKK3sKKyAgICBtZW1zZXQoJm1fb3B0aW9ucywgMSwgTUFYX1NPQ0tFVF9PUFRJT04pOwor
CisgICAgaWYgKHR5cGUgPT0gVHlwZTo6Q2xpZW50VENQKQorICAgICAgICByZXR1cm47CisKKyAg
ICBXZWJSVENTb2NrZXQ6OnNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRp
ZmllciwgW10oTGliV2ViUlRDU29ja2V0JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25h
bEFkZHJlc3NSZWFkeSgpOworICAgIH0pOworfQorCitMaWJXZWJSVENTb2NrZXQ6On5MaWJXZWJS
VENTb2NrZXQoKQoreworICAgIG1fZmFjdG9yeS5kZXRhY2goKnRoaXMpOworfQorCitydGM6OlNv
Y2tldEFkZHJlc3MgTGliV2ViUlRDU29ja2V0OjpHZXRMb2NhbEFkZHJlc3MoKSBjb25zdAorewor
ICAgIHJldHVybiBtX2xvY2FsQWRkcmVzczsKK30KKworcnRjOjpTb2NrZXRBZGRyZXNzIExpYldl
YlJUQ1NvY2tldDo6R2V0UmVtb3RlQWRkcmVzcygpIGNvbnN0Cit7CisgICAgcmV0dXJuIG1fcmVt
b3RlQWRkcmVzczsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXQ6OnNpZ25hbEFkZHJlc3NSZWFk
eSgpCit7CisgICAgQVNTRVJUKG1fdHlwZSAhPSBUeXBlOjpDbGllbnRUQ1ApOworICAgIG1fc3Rh
dGUgPSBTVEFURV9CT1VORDsKKyAgICBTaWduYWxBZGRyZXNzUmVhZHkodGhpcywgbV9sb2NhbEFk
ZHJlc3MpOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNv
bnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBBU1NFUlQobV90eXBlID09IFR5cGU6OkNsaWVu
dFRDUCk7CisgICAgbV9sb2NhbEFkZHJlc3MuRnJvbVN0cmluZyhhZGRyZXNzLnV0ZjgoKS5kYXRh
KCkpOworICAgIG1fc3RhdGUgPSBTVEFURV9DT05ORUNURUQ7CisgICAgU2lnbmFsQWRkcmVzc1Jl
YWR5KHRoaXMsIG1fbG9jYWxBZGRyZXNzKTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXQ6OnNp
Z25hbFJlYWRQYWNrZXQoY29uc3QgV2ViQ29yZTo6U2hhcmVkQnVmZmVyJiBidWZmZXIsIHJ0Yzo6
U29ja2V0QWRkcmVzcyYmIGFkZHJlc3MsIGludDY0X3QgdGltZXN0YW1wKQoreworICAgIG1fcmVt
b3RlQWRkcmVzcyA9IFdURk1vdmUoYWRkcmVzcyk7CisgICAgU2lnbmFsUmVhZFBhY2tldCh0aGlz
LCBidWZmZXIuZGF0YSgpLCBidWZmZXIuc2l6ZSgpLCBtX3JlbW90ZUFkZHJlc3MsIHJ0Yzo6UGFj
a2V0VGltZSh0aW1lc3RhbXAsIDApKTsKK30KKwordm9pZCBMaWJXZWJSVENTb2NrZXQ6OnNpZ25h
bFNlbnRQYWNrZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1lTXMpCit7CisgICAg
bV9hdmFpbGFibGVTZW5kaW5nQnl0ZXMgKz0gbV9iZWluZ1NlbnRQYWNrZXRTaXplcy50YWtlRmly
c3QoKTsKKyAgICBTaWduYWxTZW50UGFja2V0KHRoaXMsIHJ0Yzo6U2VudFBhY2tldChydGNQYWNr
ZXRJRCwgc2VuZFRpbWVNcykpOworICAgIGlmIChtX3Nob3VsZFNpZ25hbFJlYWR5VG9TZW5kKSB7
CisgICAgICAgIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSBmYWxzZTsKKyAgICAgICAgU2ln
bmFsUmVhZHlUb1NlbmQodGhpcyk7CisgICAgfQorfQorCit2b2lkIExpYldlYlJUQ1NvY2tldDo6
c2lnbmFsQ29ubmVjdCgpCit7CisgICAgbV9zdGF0ZSA9IFNUQVRFX0NPTk5FQ1RFRDsKKyAgICBT
aWduYWxDb25uZWN0KHRoaXMpOworfQorCit2b2lkIExpYldlYlJUQ1NvY2tldDo6c2lnbmFsQ2xv
c2UoaW50IGVycm9yKQoreworICAgIG1fc3RhdGUgPSBTVEFURV9DTE9TRUQ7CisgICAgU2lnbmFs
Q2xvc2UodGhpcywgZXJyb3IpOworfQorCitzdGF0aWMgaW5saW5lIFN0cmluZyBhdXRoS2V5KGNv
bnN0IHJ0Yzo6UGFja2V0T3B0aW9ucyYgb3B0aW9ucykKK3sKKyAgICBpZiAob3B0aW9ucy5wYWNr
ZXRfdGltZV9wYXJhbXMuc3J0cF9hdXRoX2tleS5zaXplKCkgPD0gMCkKKyAgICAgICAgcmV0dXJu
IHsgfTsKKyAgICByZXR1cm4gU3RyaW5nKG9wdGlvbnMucGFja2V0X3RpbWVfcGFyYW1zLnNydHBf
YXV0aF9rZXkuZGF0YSgpLCBvcHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5zcnRwX2F1dGhfa2V5
LnNpemUoKSk7Cit9CisKK2Jvb2wgTGliV2ViUlRDU29ja2V0Ojp3aWxsU2VuZChzaXplX3Qgc2l6
ZSkKK3sKKyAgICBpZiAoc2l6ZSA+IG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzKSB7CisgICAgICAg
IG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgPSB0cnVlOworICAgICAgICBzZXRFcnJvcihFV09V
TERCTE9DSyk7CisgICAgICAgIHJldHVybiBmYWxzZTsKKyAgICB9CisgICAgbV9hdmFpbGFibGVT
ZW5kaW5nQnl0ZXMgLT0gc2l6ZTsKKyAgICBtX2JlaW5nU2VudFBhY2tldFNpemVzLmFwcGVuZChz
aXplKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworaW50IExpYldlYlJUQ1NvY2tldDo6U2VuZFRv
KGNvbnN0IHZvaWQgKnZhbHVlLCBzaXplX3Qgc2l6ZSwgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNz
JiBhZGRyZXNzLCBjb25zdCBydGM6OlBhY2tldE9wdGlvbnMmIG9wdGlvbnMpCit7CisgICAgaWYg
KCF3aWxsU2VuZChzaXplKSkKKyAgICAgICAgcmV0dXJuIC0xOworCisgICAgYXV0byBidWZmZXIg
PSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShzdGF0aWNfY2FzdDxjb25zdCB1aW50OF90
Kj4odmFsdWUpLCBzaXplKTsKKyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVy
KCk7CisKKyAgICBzZW5kT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBidWZmZXIgPSBXVEZNb3Zl
KGJ1ZmZlciksIGFkZHJlc3MsIG9wdGlvbnNdKElQQzo6Q29ubmVjdGlvbiYgY29ubmVjdGlvbikg
eworICAgICAgICBJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YShyZWludGVycHJldF9jYXN0PGNvbnN0
IHVpbnQ4X3QqPihidWZmZXItPmRhdGEoKSksIGJ1ZmZlci0+c2l6ZSgpKTsKKyAgICAgICAgU3Ry
aW5nIHNydHBBdXRoS2V5ID0gYXV0aEtleShvcHRpb25zKTsKKyAgICAgICAgTWVzc2FnZXM6Ok5l
dHdvcmtSVENTb2NrZXQ6OlNlbmRUbyBtZXNzYWdlKGRhdGEsIFJUQ05ldHdvcms6OklQQWRkcmVz
cyhhZGRyZXNzLmlwYWRkcigpKSwgYWRkcmVzcy5wb3J0KCksIG9wdGlvbnMucGFja2V0X2lkLCBv
cHRpb25zLnBhY2tldF90aW1lX3BhcmFtcy5ydHBfc2VuZHRpbWVfZXh0ZW5zaW9uX2lkLCBzcnRw
QXV0aEtleSwgb3B0aW9ucy5wYWNrZXRfdGltZV9wYXJhbXMuc3J0cF9wYWNrZXRfaW5kZXgsIG9w
dGlvbnMuZHNjcCk7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChXVEZNb3ZlKG1lc3NhZ2UpLCBp
ZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gc2l6ZTsKK30KKworaW50IExpYldlYlJU
Q1NvY2tldDo6Q2xvc2UoKQoreworICAgIGF1dG8gaWRlbnRpZmllciA9IHRoaXMtPmlkZW50aWZp
ZXIoKTsKKyAgICBzZW5kT25NYWluVGhyZWFkKFtpZGVudGlmaWVyXShJUEM6OkNvbm5lY3Rpb24m
IGNvbm5lY3Rpb24pIHsKKyAgICAgICAgY29ubmVjdGlvbi5zZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
UlRDU29ja2V0OjpDbG9zZSgpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAgICByZXR1cm4gMDsK
K30KKworaW50IExpYldlYlJUQ1NvY2tldDo6R2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24g
b3B0aW9uLCBpbnQqIHZhbHVlKQoreworICAgIEFTU0VSVChvcHRpb24gPCBNQVhfU09DS0VUX09Q
VElPTik7CisgICAgaW50IHN0b3JlZFZhbHVlID0gbV9vcHRpb25zW29wdGlvbl07CisgICAgaWYg
KHN0b3JlZFZhbHVlICE9IC0xKQorICAgICAgICAqdmFsdWUgPSBtX29wdGlvbnNbb3B0aW9uXTsK
KyAgICByZXR1cm4gMDsKK30KKworaW50IExpYldlYlJUQ1NvY2tldDo6U2V0T3B0aW9uKHJ0Yzo6
U29ja2V0OjpPcHRpb24gb3B0aW9uLCBpbnQgdmFsdWUpCit7CisgICAgQVNTRVJUKG9wdGlvbiA8
IE1BWF9TT0NLRVRfT1BUSU9OKTsKKworICAgIG1fb3B0aW9uc1tvcHRpb25dID0gdmFsdWU7CisK
KyAgICBhdXRvIGlkZW50aWZpZXIgPSB0aGlzLT5pZGVudGlmaWVyKCk7CisgICAgc2VuZE9uTWFp
blRocmVhZChbaWRlbnRpZmllciwgb3B0aW9uLCB2YWx1ZV0oSVBDOjpDb25uZWN0aW9uJiBjb25u
ZWN0aW9uKSB7CisgICAgICAgIGNvbm5lY3Rpb24uc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Nv
Y2tldDo6U2V0T3B0aW9uKG9wdGlvbiwgdmFsdWUpLCBpZGVudGlmaWVyKTsKKyAgICB9KTsKKyAg
ICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZTRlY2E5ODQ0MWEyM2I5
YjA0MzcyY2Y2ODEzMDI2ZTE3OTE4YmZiOQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJL
aXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0LmgKQEAgLTAsMCAr
MSwxMDYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lmIFVTRShMSUJXRUJSVEMp
CisKKyNpbmNsdWRlIDxXZWJDb3JlL0xpYldlYlJUQ01hY3Jvcy5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3ZWJydGMvYmFzZS9hc3luY3BhY2tldHNv
Y2tldC5oPgorI2luY2x1ZGUgPHd0Zi9EZXF1ZS5oPgorI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+
CisKK25hbWVzcGFjZSBJUEMgeworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERhdGFSZWZlcmVu
Y2U7CitjbGFzcyBEZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViQ29yZSB7CitjbGFzcyBTaGFy
ZWRCdWZmZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJXZWJSVENTb2Nr
ZXRGYWN0b3J5OworCitjbGFzcyBMaWJXZWJSVENTb2NrZXQgZmluYWwgOiBwdWJsaWMgcnRjOjpB
c3luY1BhY2tldFNvY2tldCB7CitwdWJsaWM6CisgICAgZW51bSBjbGFzcyBUeXBlIHsgVURQLCBT
ZXJ2ZXJUQ1AsIENsaWVudFRDUCB9OworCisgICAgTGliV2ViUlRDU29ja2V0KExpYldlYlJUQ1Nv
Y2tldEZhY3RvcnkmLCB1aW50NjRfdCBpZGVudGlmaWVyLCBUeXBlLCBjb25zdCBydGM6OlNvY2tl
dEFkZHJlc3MmIGxvY2FsQWRkcmVzcywgY29uc3QgcnRjOjpTb2NrZXRBZGRyZXNzJiByZW1vdGVB
ZGRyZXNzKTsKKyAgICB+TGliV2ViUlRDU29ja2V0KCk7CisKKyAgICB1aW50NjRfdCBpZGVudGlm
aWVyKCkgY29uc3QgeyByZXR1cm4gbV9pZGVudGlmaWVyOyB9CisgICAgY29uc3QgcnRjOjpTb2Nr
ZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MoKSBjb25zdCB7IHJldHVybiBtX2xvY2FsQWRkcmVzczsg
fQorICAgIGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgcmVtb3RlQWRkcmVzcygpIGNvbnN0IHsg
cmV0dXJuIG1fcmVtb3RlQWRkcmVzczsgfQorCisgICAgdm9pZCBzZXRFcnJvcihpbnQgZXJyb3Ip
IHsgbV9lcnJvciA9IGVycm9yOyB9CisgICAgdm9pZCBzZXRTdGF0ZShTdGF0ZSBzdGF0ZSkgeyBt
X3N0YXRlID0gc3RhdGU7IH0KKworcHJpdmF0ZToKKyAgICBib29sIHdpbGxTZW5kKHNpemVfdCk7
CisKKyAgICBmcmllbmQgY2xhc3MgV2ViUlRDU29ja2V0OworICAgIHZvaWQgc2lnbmFsUmVhZFBh
Y2tldChjb25zdCBXZWJDb3JlOjpTaGFyZWRCdWZmZXImLCBydGM6OlNvY2tldEFkZHJlc3MmJiwg
aW50NjRfdCk7CisgICAgdm9pZCBzaWduYWxTZW50UGFja2V0KGludCwgaW50NjRfdCk7CisgICAg
dm9pZCBzaWduYWxBZGRyZXNzUmVhZHkoY29uc3QgU3RyaW5nJik7CisgICAgdm9pZCBzaWduYWxB
ZGRyZXNzUmVhZHkoKTsKKyAgICB2b2lkIHNpZ25hbENvbm5lY3QoKTsKKyAgICB2b2lkIHNpZ25h
bENsb3NlKGludCk7CisKKyAgICAvLyBBc3luY1BhY2tldFNvY2tldCBBUEkKKyAgICBpbnQgR2V0
RXJyb3IoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX2Vycm9yOyB9CisgICAgdm9pZCBTZXRFcnJv
cihpbnQgZXJyb3IpIGZpbmFsIHsgc2V0RXJyb3IoZXJyb3IpOyB9CisgICAgcnRjOjpTb2NrZXRB
ZGRyZXNzIEdldExvY2FsQWRkcmVzcygpIGNvbnN0IGZpbmFsOworICAgIHJ0Yzo6U29ja2V0QWRk
cmVzcyBHZXRSZW1vdGVBZGRyZXNzKCkgY29uc3QgZmluYWw7CisgICAgaW50IFNlbmQoY29uc3Qg
dm9pZCAqcHYsIHNpemVfdCBjYiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJiBvcHRpb25zKSBm
aW5hbCB7IHJldHVybiBTZW5kVG8ocHYsIGNiLCBtX3JlbW90ZUFkZHJlc3MsIG9wdGlvbnMpOyB9
CisgICAgaW50IFNlbmRUbyhjb25zdCB2b2lkICosIHNpemVfdCwgY29uc3QgcnRjOjpTb2NrZXRB
ZGRyZXNzJiwgY29uc3QgcnRjOjpQYWNrZXRPcHRpb25zJikgZmluYWw7CisgICAgaW50IENsb3Nl
KCkgZmluYWw7CisgICAgU3RhdGUgR2V0U3RhdGUoKSBjb25zdCBmaW5hbCB7IHJldHVybiBtX3N0
YXRlOyB9CisgICAgaW50IEdldE9wdGlvbihydGM6OlNvY2tldDo6T3B0aW9uLCBpbnQqKSBmaW5h
bDsKKyAgICBpbnQgU2V0T3B0aW9uKHJ0Yzo6U29ja2V0OjpPcHRpb24sIGludCkgZmluYWw7CisK
KyAgICBMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiBtX2ZhY3Rvcnk7CisgICAgdWludDY0X3QgbV9p
ZGVudGlmaWVyIHsgMCB9OworICAgIFR5cGUgbV90eXBlOworICAgIHJ0Yzo6U29ja2V0QWRkcmVz
cyBtX2xvY2FsQWRkcmVzczsKKyAgICBydGM6OlNvY2tldEFkZHJlc3MgbV9yZW1vdGVBZGRyZXNz
OworCisgICAgaW50IG1fZXJyb3IgeyAwIH07CisgICAgU3RhdGUgbV9zdGF0ZSB7IFNUQVRFX0JJ
TkRJTkcgfTsKKworICAgIHN0YXRpYyBjb25zdCB1bnNpZ25lZCBNQVhfU09DS0VUX09QVElPTiB7
IHJ0Yzo6U29ja2V0OjpPUFRfUlRQX1NFTkRUSU1FX0VYVE5fSUQgKyAxIH07CisgICAgaW50IG1f
b3B0aW9uc1tNQVhfU09DS0VUX09QVElPTl07CisKKyAgICBEZXF1ZTxzaXplX3Q+IG1fYmVpbmdT
ZW50UGFja2V0U2l6ZXM7CisgICAgc2l6ZV90IG1fYXZhaWxhYmxlU2VuZGluZ0J5dGVzIHsgNjU1
MzYgfTsKKyAgICBib29sIG1fc2hvdWxkU2lnbmFsUmVhZHlUb1NlbmQgeyBmYWxzZSB9OworfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9MaWJXZWJS
VENTb2NrZXRGYWN0b3J5LmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMzI5Njc2NmNhMjJl
NjY3ZDc3YjEyZTQ5NWEzMGI3OTZkZGRjOTcyZAotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5j
cHAKQEAgLTAsMCArMSwxMTYgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiY29uZmlnLmgiCisj
aW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorCisjaWYgVVNFKExJQldFQlJUQykK
KworI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbi5oIgorI2luY2x1ZGUgIk5ldHdv
cmtSVENNb25pdG9yTWVzc2FnZXMuaCIKKyNpbmNsdWRlICJOZXR3b3JrUlRDUHJvdmlkZXJNZXNz
YWdlcy5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3MuaCIKKyNpbmNsdWRlICJXZWJSVENTb2NrZXQu
aCIKKyNpbmNsdWRlIDx3dGYvTWFpblRocmVhZC5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKwor
dWludDY0X3QgTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6c191bmlxdWVTb2NrZXRJZGVudGlmaWVy
ID0gMDsKK3VpbnQ2NF90IExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OnNfdW5pcXVlUmVzb2x2ZXJJ
ZGVudGlmaWVyID0gMDsKKworcnRjOjpBc3luY1BhY2tldFNvY2tldCogTGliV2ViUlRDU29ja2V0
RmFjdG9yeTo6Q3JlYXRlU2VydmVyVGNwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYg
c29ja2V0QWRkcmVzcywgdWludDE2X3QgbWluUG9ydCwgdWludDE2X3QgbWF4UG9ydCwgaW50IG9w
dGlvbnMpCit7CisgICAgYXV0byBzb2NrZXQgPSBzdGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1Nv
Y2tldD4oKnRoaXMsICsrc191bmlxdWVTb2NrZXRJZGVudGlmaWVyLCBMaWJXZWJSVENTb2NrZXQ6
OlR5cGU6OlNlcnZlclRDUCwgc29ja2V0QWRkcmVzcywgcnRjOjpTb2NrZXRBZGRyZXNzKCkpOwor
ICAgIG1fc29ja2V0cy5zZXQoc29ja2V0LT5pZGVudGlmaWVyKCksIHNvY2tldC5nZXQoKSk7CisK
KyAgICBhdXRvIGlkZW50aWZpZXIgPSBzb2NrZXQtPmlkZW50aWZpZXIoKTsKKyAgICBhdXRvIGFk
ZHJlc3MgPSBzb2NrZXQtPmxvY2FsQWRkcmVzcygpLlRvU3RyaW5nKCk7CisgICAgY2FsbE9uTWFp
blRocmVhZChbaWRlbnRpZmllciwgYWRkcmVzcywgbWluUG9ydCwgbWF4UG9ydCwgb3B0aW9uc10o
KSB7CisgICAgICAgIFN0cmluZyBhZGRyZXNzU3RyaW5nID0gU3RyaW5nKGFkZHJlc3MuZGF0YSgp
LCBhZGRyZXNzLmxlbmd0aCgpKTsKKyAgICAgICAgaWYgKCFXZWJQcm9jZXNzOjpzaW5nbGV0b24o
KS5uZXR3b3JrQ29ubmVjdGlvbigpLmNvbm5lY3Rpb24oKS5zZW5kKE1lc3NhZ2VzOjpOZXR3b3Jr
UlRDUHJvdmlkZXI6OkNyZWF0ZVNlcnZlclRDUFNvY2tldChpZGVudGlmaWVyLCBhZGRyZXNzU3Ry
aW5nLCBtaW5Qb3J0LCBtYXhQb3J0LCBvcHRpb25zKSwgMCkpIHsKKyAgICAgICAgICAgIC8vIEZJ
WE1FOiBTZXQgZXJyb3IgYmFjayB0byBzb2NrZXQKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAg
ICAgfQorCisgICAgfSk7CisKKyAgICByZXR1cm4gc29ja2V0LnJlbGVhc2UoKTsKK30KKworcnRj
OjpBc3luY1BhY2tldFNvY2tldCogTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRlVWRwU29j
a2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYgc29ja2V0QWRkcmVzcywgdWludDE2X3QgbWlu
UG9ydCwgdWludDE2X3QgbWF4UG9ydCkKK3sKKyAgICBhdXRvIHNvY2tldCA9IHN0ZDo6bWFrZV91
bmlxdWU8TGliV2ViUlRDU29ja2V0PigqdGhpcywgKytzX3VuaXF1ZVNvY2tldElkZW50aWZpZXIs
IExpYldlYlJUQ1NvY2tldDo6VHlwZTo6U2VydmVyVENQLCBzb2NrZXRBZGRyZXNzLCBydGM6OlNv
Y2tldEFkZHJlc3MoKSk7CisgICAgbV9zb2NrZXRzLnNldChzb2NrZXQtPmlkZW50aWZpZXIoKSwg
c29ja2V0LmdldCgpKTsKKworICAgIGF1dG8gaWRlbnRpZmllciA9IHNvY2tldC0+aWRlbnRpZmll
cigpOworICAgIGF1dG8gYWRkcmVzcyA9IHNvY2tldC0+bG9jYWxBZGRyZXNzKCkuVG9TdHJpbmco
KTsKKyAgICBjYWxsT25NYWluVGhyZWFkKFtpZGVudGlmaWVyLCBhZGRyZXNzLCBtaW5Qb3J0LCBt
YXhQb3J0XSgpIHsKKyAgICAgICAgU3RyaW5nIGFkZHJlc3NTdHJpbmcgPSBTdHJpbmcoYWRkcmVz
cy5kYXRhKCksIGFkZHJlc3MubGVuZ3RoKCkpOworICAgICAgICBpZiAoIVdlYlByb2Nlc3M6OnNp
bmdsZXRvbigpLm5ldHdvcmtDb25uZWN0aW9uKCkuY29ubmVjdGlvbigpLnNlbmQoTWVzc2FnZXM6
Ok5ldHdvcmtSVENQcm92aWRlcjo6Q3JlYXRlVURQU29ja2V0KGlkZW50aWZpZXIsIGFkZHJlc3NT
dHJpbmcsIG1pblBvcnQsIG1heFBvcnQpLCAwKSkgeworICAgICAgICAgICAgLy8gRklYTUU6IFNl
dCBlcnJvciBiYWNrIHRvIHNvY2tldAorICAgICAgICAgICAgcmV0dXJuOworICAgICAgICB9Cisg
ICAgfSk7CisgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3J0Yzo6QXN5bmNQYWNr
ZXRTb2NrZXQqIExpYldlYlJUQ1NvY2tldEZhY3Rvcnk6OkNyZWF0ZUNsaWVudFRjcFNvY2tldChj
b25zdCBydGM6OlNvY2tldEFkZHJlc3MmIGxvY2FsU29ja2V0QWRkcmVzcywgY29uc3QgcnRjOjpT
b2NrZXRBZGRyZXNzJiByZW1vdGVTb2NrZXRBZGRyZXNzLCBjb25zdCBydGM6OlByb3h5SW5mbyYs
IGNvbnN0IHN0ZDo6c3RyaW5nJiwgaW50IG9wdGlvbnMpCit7CisgICAgYXV0byBzb2NrZXQgPSBz
dGQ6Om1ha2VfdW5pcXVlPExpYldlYlJUQ1NvY2tldD4oKnRoaXMsICsrc191bmlxdWVTb2NrZXRJ
ZGVudGlmaWVyLCBMaWJXZWJSVENTb2NrZXQ6OlR5cGU6OlNlcnZlclRDUCwgbG9jYWxTb2NrZXRB
ZGRyZXNzLCByZW1vdGVTb2NrZXRBZGRyZXNzKTsKKyAgICBzb2NrZXQtPnNldFN0YXRlKExpYldl
YlJUQ1NvY2tldDo6U1RBVEVfQ09OTkVDVElORyk7CisgICAgbV9zb2NrZXRzLnNldChzb2NrZXQt
PmlkZW50aWZpZXIoKSwgc29ja2V0LmdldCgpKTsKKworICAgIGF1dG8gaWRlbnRpZmllciA9IHNv
Y2tldC0+aWRlbnRpZmllcigpOworICAgIGF1dG8gbG9jYWxBZGRyZXNzID0gc29ja2V0LT5sb2Nh
bEFkZHJlc3MoKS5Ub1N0cmluZygpOworICAgIGF1dG8gcmVtb3RlQWRkcmVzcyA9IHNvY2tldC0+
cmVtb3RlQWRkcmVzcygpLlRvU3RyaW5nKCk7CisgICAgY2FsbE9uTWFpblRocmVhZChbaWRlbnRp
ZmllciwgbG9jYWxBZGRyZXNzLCByZW1vdGVBZGRyZXNzLCBvcHRpb25zXSgpIHsKKyAgICAgICAg
U3RyaW5nIGxvY2FsQWRkcmVzc1N0cmluZyA9IFN0cmluZyhsb2NhbEFkZHJlc3MuZGF0YSgpLCBs
b2NhbEFkZHJlc3MubGVuZ3RoKCkpOworICAgICAgICBTdHJpbmcgcmVtb3RlQWRkcmVzc1N0cmlu
ZyA9IFN0cmluZyhyZW1vdGVBZGRyZXNzLmRhdGEoKSwgcmVtb3RlQWRkcmVzcy5sZW5ndGgoKSk7
CisgICAgICAgIGlmICghV2ViUHJvY2Vzczo6c2luZ2xldG9uKCkubmV0d29ya0Nvbm5lY3Rpb24o
KS5jb25uZWN0aW9uKCkuc2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ1Byb3ZpZGVyOjpDcmVhdGVD
bGllbnRUQ1BTb2NrZXQoaWRlbnRpZmllciwgbG9jYWxBZGRyZXNzU3RyaW5nLCByZW1vdGVBZGRy
ZXNzU3RyaW5nLCBvcHRpb25zKSwgMCkpIHsKKyAgICAgICAgICAgIC8vIEZJWE1FOiBTZXQgZXJy
b3IgYmFjayB0byBzb2NrZXQKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgfQorICAgIH0p
OworCisgICAgcmV0dXJuIHNvY2tldC5yZWxlYXNlKCk7Cit9CisKK3ZvaWQgTGliV2ViUlRDU29j
a2V0RmFjdG9yeTo6ZGV0YWNoKExpYldlYlJUQ1NvY2tldCYgc29ja2V0KQoreworICAgIEFTU0VS
VChtX3NvY2tldHMuY29udGFpbnMoc29ja2V0LmlkZW50aWZpZXIoKSkpOworICAgIG1fc29ja2V0
cy5yZW1vdmUoc29ja2V0LmlkZW50aWZpZXIoKSk7Cit9CisKK3J0Yzo6QXN5bmNSZXNvbHZlcklu
dGVyZmFjZSogTGliV2ViUlRDU29ja2V0RmFjdG9yeTo6Q3JlYXRlQXN5bmNSZXNvbHZlcigpCit7
CisgICAgYXV0byByZXNvbHZlciA9IHN0ZDo6bWFrZV91bmlxdWU8TGliV2ViUlRDUmVzb2x2ZXI+
KCsrc191bmlxdWVSZXNvbHZlcklkZW50aWZpZXIpOworICAgIGF1dG8qIHJlc29sdmVyUG9pbnRl
ciA9IHJlc29sdmVyLmdldCgpOworICAgIG1fcmVzb2x2ZXJzLnNldChyZXNvbHZlclBvaW50ZXIt
PmlkZW50aWZpZXIoKSwgV1RGTW92ZShyZXNvbHZlcikpOworICAgIHJldHVybiByZXNvbHZlclBv
aW50ZXI7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNFKExJQldF
QlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJy
dGMvTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9O
ZXR3b3JrL3dlYnJ0Yy9MaWJXZWJSVENTb2NrZXRGYWN0b3J5LmgKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDIzZjE3
NTYxZTI3YzJjZTJhYjc3ODZiZjhmOTBhZmYzYjUwODA3YgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvTGliV2ViUlRDU29ja2V0RmFj
dG9yeS5oCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTcgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0
aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlh
bHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycK
KyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFC
SUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xB
SU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisg
KiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFM
LCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJ
TlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElO
Q0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBP
VVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21hIG9uY2UKKworI2lm
IFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJMaWJXZWJSVENSZXNvbHZlci5oIgorI2luY2x1
ZGUgIkxpYldlYlJUQ1NvY2tldC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDTWFjcm9z
Lmg+CisjaW5jbHVkZSA8d2VicnRjL2Jhc2UvbmV0aGVscGVycy5oPgorI2luY2x1ZGUgPHdlYnJ0
Yy9wMnAvYmFzZS9wYWNrZXRzb2NrZXRmYWN0b3J5Lmg+CisjaW5jbHVkZSA8d3RmL0hhc2hNYXAu
aD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExpYldlYlJUQ1NvY2tldEZhY3Rvcnkg
ZmluYWwgOiBwdWJsaWMgcnRjOjpQYWNrZXRTb2NrZXRGYWN0b3J5IHsKK3B1YmxpYzoKKyAgICBM
aWJXZWJSVENTb2NrZXRGYWN0b3J5KCkgeyB9CisKKyAgICB2b2lkIGRldGFjaChMaWJXZWJSVENT
b2NrZXQmKTsKKworICAgIExpYldlYlJUQ1NvY2tldCogc29ja2V0KHVpbnQ2NF90IGlkZW50aWZp
ZXIpIHsgcmV0dXJuIG1fc29ja2V0cy5nZXQoaWRlbnRpZmllcik7IH0KKyAgICBMaWJXZWJSVENS
ZXNvbHZlciogcmVzb2x2ZXIodWludDY0X3QgaWRlbnRpZmllcikgeyByZXR1cm4gbV9yZXNvbHZl
cnMuZ2V0KGlkZW50aWZpZXIpOyB9CisKKyAgICBzdGQ6OnVuaXF1ZV9wdHI8TGliV2ViUlRDUmVz
b2x2ZXI+IHRha2VSZXNvbHZlcih1aW50NjRfdCBpZGVudGlmaWVyKSB7IHJldHVybiBtX3Jlc29s
dmVycy50YWtlKGlkZW50aWZpZXIpOyB9CisKK3ByaXZhdGU6CisgICAgcnRjOjpBc3luY1BhY2tl
dFNvY2tldCogQ3JlYXRlVWRwU29ja2V0KGNvbnN0IHJ0Yzo6U29ja2V0QWRkcmVzcyYsIHVpbnQx
Nl90IG1pblBvcnQsIHVpbnQxNl90IG1heFBvcnQpIGZpbmFsOworICAgIHJ0Yzo6QXN5bmNQYWNr
ZXRTb2NrZXQqIENyZWF0ZVNlcnZlclRjcFNvY2tldChjb25zdCBydGM6OlNvY2tldEFkZHJlc3Mm
LCB1aW50MTZfdCBtaW5fcG9ydCwgdWludDE2X3QgbWF4X3BvcnQsIGludCBvcHRpb25zKSBmaW5h
bDsKKyAgICBydGM6OkFzeW5jUGFja2V0U29ja2V0KiBDcmVhdGVDbGllbnRUY3BTb2NrZXQoY29u
c3QgcnRjOjpTb2NrZXRBZGRyZXNzJiBsb2NhbEFkZHJlc3MsIGNvbnN0IHJ0Yzo6U29ja2V0QWRk
cmVzcyYgcmVtb3RlQWRkcmVzcywgY29uc3QgcnRjOjpQcm94eUluZm8mLCBjb25zdCBzdGQ6OnN0
cmluZyYsIGludCBvcHRpb25zKTsKKyAgICBydGM6OkFzeW5jUmVzb2x2ZXJJbnRlcmZhY2UqIENy
ZWF0ZUFzeW5jUmVzb2x2ZXIoKSBmaW5hbDsKKworICAgIC8vIFdlIGNhbm5vdCBvd24gc29ja2V0
cywgY2xpZW50cyBvZiB0aGUgZmFjdG9yeSBhcmUgcmVzcG9uc2libGUgdG8gZnJlZSB0aGVtLgor
ICAgIEhhc2hNYXA8dWludDY0X3QsIExpYldlYlJUQ1NvY2tldCo+IG1fc29ja2V0czsKKyAgICBz
dGF0aWMgdWludDY0X3Qgc191bmlxdWVTb2NrZXRJZGVudGlmaWVyOworICAgIAorICAgIC8vIFdl
IGNhbiBvd24gcmVzb2x2ZXJzIGFzIHdlIGNvbnRyb2wgdGhlaXIgRGVzdHJveSBtZXRob2QuCisg
ICAgSGFzaE1hcDx1aW50NjRfdCwgc3RkOjp1bmlxdWVfcHRyPExpYldlYlJUQ1Jlc29sdmVyPj4g
bV9yZXNvbHZlcnM7CisgICAgc3RhdGljIHVpbnQ2NF90IHNfdW5pcXVlUmVzb2x2ZXJJZGVudGlm
aWVyOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0UoTElCV0VC
UlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0
Yy9XZWJSVENNb25pdG9yLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93
ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uYzgzZmMxYjYwMWMxMzRiOTQ2NzNh
ZTllMGMyZDQxZThkMTBjMzc0NQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5jcHAKQEAgLTAsMCArMSw5OSBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJSVENNb25p
dG9yLmgiCisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiTmV0d29ya0Nvbm5lY3Rp
b25Ub1dlYlByb2Nlc3NNZXNzYWdlcy5oIgorI2luY2x1ZGUgIk5ldHdvcmtQcm9jZXNzQ29ubmVj
dGlvbi5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENNb25pdG9yTWVzc2FnZXMuaCIKKyNpbmNsdWRl
ICJXZWJQcm9jZXNzLmgiCisjaW5jbHVkZSA8V2ViQ09yZS9MaWJXZWJSVENNYWNyb3MuaD4KKyNp
bmNsdWRlIDx3ZWJydGMvYmFzZS9uZXRoZWxwZXJzLmg+CisjaW5jbHVkZSA8d3RmL01haW5UaHJl
YWQuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBzZW5kT25N
YWluVGhyZWFkKEZ1bmN0aW9uPHZvaWQoSVBDOjpDb25uZWN0aW9uJik+JiYgY2FsbGJhY2spCit7
CisgICAgY2FsbE9uTWFpblRocmVhZChbY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7
CisgICAgICAgIGNhbGxiYWNrKFdlYlByb2Nlc3M6OnNpbmdsZXRvbigpLm5ldHdvcmtDb25uZWN0
aW9uKCkuY29ubmVjdGlvbigpKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJSVENNb25pdG9yOjpT
dGFydFVwZGF0aW5nKCkKK3sKKyAgICBpZiAobV9jbGllbnRDb3VudCkgeworICAgICAgICAvLyBO
ZWVkIHRvIHNpZ25hbCBuZXcgY2xpZW50IHRoYXQgd2UgYWxyZWFkeSBoYXZlIHRoZSBuZXR3b3Jr
IGxpc3QsIGxldCdzIGRvIGl0IGFzeW5jaHJvbm91c2x5CisgICAgICAgIGlmIChtX3JlY2VpdmVk
TmV0d29ya0xpc3QpIHsKKyAgICAgICAgICAgIFdlYkNvcmU6OmNhbGxPbldlYlJUQ05ldHdvcmtU
aHJlYWQoW3RoaXNdIHsKKyAgICAgICAgICAgICAgICBTaWduYWxOZXR3b3Jrc0NoYW5nZWQoKTsK
KyAgICAgICAgICAgIH0pOworICAgICAgICB9CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV9yZWNl
aXZlZE5ldHdvcmtMaXN0ID0gZmFsc2U7CisgICAgICAgIHNlbmRPbk1haW5UaHJlYWQoW10oSVBD
OjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgICAgICBjb25uZWN0aW9uLnNlbmQo
TWVzc2FnZXM6Ok5ldHdvcmtSVENNb25pdG9yOjpTdGFydFVwZGF0aW5nKCksIDApOworICAgICAg
ICB9KTsKKyAgICB9CisgICAgKyttX2NsaWVudENvdW50OworfQorCit2b2lkIFdlYlJUQ01vbml0
b3I6OlN0b3BVcGRhdGluZygpCit7CisgICAgQVNTRVJUKG1fY2xpZW50Q291bnQpOworICAgIGlm
ICgtLW1fY2xpZW50Q291bnQpCisgICAgICAgIHJldHVybjsKKworICAgIHNlbmRPbk1haW5UaHJl
YWQoW10oSVBDOjpDb25uZWN0aW9uJiBjb25uZWN0aW9uKSB7CisgICAgICAgIGNvbm5lY3Rpb24u
c2VuZChNZXNzYWdlczo6TmV0d29ya1JUQ01vbml0b3I6OlN0b3BVcGRhdGluZygpLCAwKTsKKyAg
ICB9KTsKK30KKwordm9pZCBXZWJSVENNb25pdG9yOjpuZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVj
dG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrcywgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiBp
cHY0LCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmIGlwdjYpCit7CisgICAgLy8gTm8gbmVl
ZCB0byBwcm90ZWN0ICd0aGlzJyBhcyBpdCBoYXMgdGhlIGxpZmV0aW1lIG9mIExpYldlYlJUQyB3
aGljaCBoYXMgdGhlIGxpZmV0aW1lIG9mIHRoZSB3ZWIgcHJvY2Vzcy4KKyAgICBXZWJDb3JlOjpj
YWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFt0aGlzLCBuZXR3b3JrcywgaXB2NCwgaXB2Nl0gewor
ICAgICAgICBzdGQ6OnZlY3RvcjxydGM6Ok5ldHdvcmsqPiBuZXR3b3JrTGlzdChuZXR3b3Jrcy5z
aXplKCkpOworICAgICAgICBmb3IgKHNpemVfdCBpbmRleCA9IDA7IGluZGV4IDwgbmV0d29ya3Mu
c2l6ZSgpOyArK2luZGV4KQorICAgICAgICAgICAgbmV0d29ya0xpc3RbaW5kZXhdID0gbmV3IHJ0
Yzo6TmV0d29yayhuZXR3b3Jrc1tpbmRleF0udmFsdWUoKSk7CisKKyAgICAgICAgYm9vbCBmb3Jj
ZVNpZ25hbGluZyA9ICFtX3JlY2VpdmVkTmV0d29ya0xpc3Q7CisgICAgICAgIG1fcmVjZWl2ZWRO
ZXR3b3JrTGlzdCA9IHRydWU7CisKKyAgICAgICAgYm9vbCBoYXNDaGFuZ2VkOworICAgICAgICBz
ZXRfZGVmYXVsdF9sb2NhbF9hZGRyZXNzZXMoaXB2NC52YWx1ZSwgaXB2Ni52YWx1ZSk7CisgICAg
ICAgIE1lcmdlTmV0d29ya0xpc3QobmV0d29ya0xpc3QsICZoYXNDaGFuZ2VkKTsKKyAgICAgICAg
aWYgKGhhc0NoYW5nZWQgfHwgZm9yY2VTaWduYWxpbmcpCisgICAgICAgICAgICBTaWduYWxOZXR3
b3Jrc0NoYW5nZWQoKTsKKworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKwor
I2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuaCBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5oCm5ldyBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjY1YjRm
MTE1MmViYWU5YWVmODEwNjY2ZGYwODQ4MTRjZTQ3M2JiNDkKLS0tIC9kZXYvbnVsbAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IuaApA
QCAtMCwwICsxLDYxIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpZiBVU0UoTElC
V0VCUlRDKQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorI2luY2x1ZGUgPFdlYkNvcmUvTGli
V2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisKK25hbWVzcGFjZSBJUEMg
eworY2xhc3MgQ29ubmVjdGlvbjsKK2NsYXNzIERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitzdHJ1Y3QgTmV0d29ya3NDaGFuZ2VkRGF0YTsKKworY2xhc3MgV2ViUlRDTW9uaXRv
ciBmaW5hbCA6IHB1YmxpYyBydGM6Ok5ldHdvcmtNYW5hZ2VyQmFzZSB7CitwdWJsaWM6CisgICAg
V2ViUlRDTW9uaXRvcigpID0gZGVmYXVsdDsKKworICAgIHZvaWQgZGlkUmVjZWl2ZU1lc3NhZ2Uo
SVBDOjpDb25uZWN0aW9uJiwgSVBDOjpEZWNvZGVyJik7CisKK3ByaXZhdGU6CisgICAgdm9pZCBu
ZXR3b3Jrc0NoYW5nZWQoY29uc3QgVmVjdG9yPFJUQ05ldHdvcms+JiBuZXR3b3JrTGlzdCwgY29u
c3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJiwgY29uc3QgUlRDTmV0d29yazo6SVBBZGRyZXNzJik7
CisKKyAgICB2b2lkIFN0YXJ0VXBkYXRpbmcoKSBmaW5hbDsKKyAgICB2b2lkIFN0b3BVcGRhdGlu
ZygpIGZpbmFsOworCisgICAgdW5zaWduZWQgbV9jbGllbnRDb3VudCB7IDAgfTsKKyAgICBib29s
IG1fcmVjZWl2ZWROZXR3b3JrTGlzdCB7IGZhbHNlIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
S2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3IubWVzc2FnZXMuaW4g
Yi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ01vbml0b3Iu
bWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZWFlMTc3MDQ3MGY1NGFmNWNjNzQzM2E0ZDYzZWU5Yjc2
ODgxNDA0MgotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0
d29yay93ZWJydGMvV2ViUlRDTW9uaXRvci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDI5IEBACisj
IENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisj
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyMKKyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQ
T1NFIEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRF
IEdPT0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisj
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRD
KQorCittZXNzYWdlcyAtPiBXZWJSVENNb25pdG9yIHsKKyAgICB2b2lkIE5ldHdvcmtzQ2hhbmdl
ZChWZWN0b3I8V2ViS2l0OjpSVENOZXR3b3JrPiBuZXR3b3JrcywgV2ViS2l0OjpSVENOZXR3b3Jr
OjpJUEFkZHJlc3MgZGVmYXVsdElQVjRBZGRyZXNzLCBXZWJLaXQ6OlJUQ05ldHdvcms6OklQQWRk
cmVzcyBkZWZhdWx0SVBWNkFkZHJlc3MpCit9CisKKyNlbmRpZiAvLyBVU0UoTElCV0VCUlRDKQpk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJS
VENSZXNvbHZlci5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRj
L1dlYlJUQ1Jlc29sdmVyLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi40MmVkMmRkYmEyNWNlMDAxMzYzYWI0NDU4
YTYzNTRmMmRlYmQ4OTVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5jcHAKQEAgLTAsMCArMSw3NiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJSVENSZXNvbHZl
ci5oIgorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1ZGUgIkxpYldlYlJUQ1Jlc29sdmVy
LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0RmFjdG9yeS5oIgorI2luY2x1ZGUgPFdlYkNv
cmUvTGliV2ViUlRDVXRpbHMuaD4KKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK1dlYlJUQ1Jlc29sdmVyOjpXZWJSVENSZXNvbHZlcihMaWJXZWJSVENT
b2NrZXRGYWN0b3J5JiBzb2NrZXRGYWN0b3J5LCB1aW50NjRfdCBpZGVudGlmaWVyKQorICAgIDog
bV9zb2NrZXRGYWN0b3J5KHNvY2tldEZhY3RvcnkpCisgICAgLCBtX2lkZW50aWZpZXIoaWRlbnRp
ZmllcikKK3sKK30KKwordm9pZCBXZWJSVENSZXNvbHZlcjo6c2V0UmVzb2x2ZWRBZGRyZXNzKGNv
bnN0IFZlY3RvcjxSVENOZXR3b3JrOjpJUEFkZHJlc3M+JiBhZGRyZXNzZXMpCit7CisgICAgYXV0
byBpZGVudGlmaWVyID0gbV9pZGVudGlmaWVyOworICAgIGF1dG8mIGZhY3RvcnkgPSBtX3NvY2tl
dEZhY3Rvcnk7CisKKyAgICBWZWN0b3I8cnRjOjpJUEFkZHJlc3M+IHJ0Y0FkZHJlc3NlczsKKyAg
ICBydGNBZGRyZXNzZXMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eShhZGRyZXNzZXMuc2l6ZSgpKTsK
KyAgICBmb3IgKGF1dG8mIGFkZHJlc3MgOiBhZGRyZXNzZXMpCisgICAgICAgIHJ0Y0FkZHJlc3Nl
cy51bmNoZWNrZWRBcHBlbmQoYWRkcmVzcy52YWx1ZSk7CisgICAgCisgICAgV2ViQ29yZTo6Y2Fs
bE9uV2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZpZXIsIHJ0Y0FkZHJlc3Nl
cyA9IFdURk1vdmUocnRjQWRkcmVzc2VzKV0oKSB7CisgICAgICAgIGF1dG8qIHJlc29sdmVyID0g
ZmFjdG9yeS5yZXNvbHZlcihpZGVudGlmaWVyKTsKKyAgICAgICAgaWYgKCFyZXNvbHZlcikKKyAg
ICAgICAgICAgIHJldHVybjsKKyAgICAgICAgcmVzb2x2ZXItPnNldFJlc29sdmVkQWRkcmVzcyhy
dGNBZGRyZXNzZXMpOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ1Jlc29sdmVyOjpyZXNvbHZl
ZEFkZHJlc3NFcnJvcihpbnQgZXJyb3IpCit7CisgICAgYXV0byBpZGVudGlmaWVyID0gbV9pZGVu
dGlmaWVyOworICAgIGF1dG8mIGZhY3RvcnkgPSBtX3NvY2tldEZhY3Rvcnk7CisgICAgV2ViQ29y
ZTo6Y2FsbE9uV2ViUlRDTmV0d29ya1RocmVhZChbJmZhY3RvcnksIGlkZW50aWZpZXIsIGVycm9y
XSgpIHsKKyAgICAgICAgYXV0byogcmVzb2x2ZXIgPSBmYWN0b3J5LnJlc29sdmVyKGlkZW50aWZp
ZXIpOworICAgICAgICBpZiAoIXJlc29sdmVyKQorICAgICAgICAgICAgcmV0dXJuOworICAgICAg
ICByZXNvbHZlci0+c2V0RXJyb3IoZXJyb3IpOworICAgIH0pOworfQorCit9IC8vIG5hbWVzcGFj
ZSBXZWJLaXQKKworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLmgKbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMC4uMWI4MmVlYzBhODAxNGI1Y2ZiNTFiODlmNWRlYTk5NmExZmY2MjcwZQotLS0gL2Rl
di9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2Vi
UlRDUmVzb2x2ZXIuaApAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE3
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNl
CisKKyNpZiBVU0UoTElCV0VCUlRDKQorCisjaW5jbHVkZSAiUlRDTmV0d29yay5oIgorI2luY2x1
ZGUgPHd0Zi9WZWN0b3IuaD4KKworbmFtZXNwYWNlIElQQyB7CitjbGFzcyBDb25uZWN0aW9uOwor
Y2xhc3MgRGVjb2RlcjsKK30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIExpYldlYlJU
Q1NvY2tldEZhY3Rvcnk7CisKK2NsYXNzIFdlYlJUQ1Jlc29sdmVyIHsKK3B1YmxpYzoKKyAgICBX
ZWJSVENSZXNvbHZlcihMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiwgdWludDY0X3QpOworCisgICAg
dm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6OkRlY29kZXImKTsK
KworcHJpdmF0ZToKKyAgICB2b2lkIHNldFJlc29sdmVkQWRkcmVzcyhjb25zdCBWZWN0b3I8UlRD
TmV0d29yazo6SVBBZGRyZXNzPiYpOworICAgIHZvaWQgcmVzb2x2ZWRBZGRyZXNzRXJyb3IoaW50
KTsKKworICAgIExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIG1fc29ja2V0RmFjdG9yeTsKKyAgICB1
aW50NjRfdCBtX2lkZW50aWZpZXIgeyAwIH07Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQK
KworI2VuZGlmIC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1Jlc29sdmVyLm1lc3NhZ2VzLmluIGIvU291
cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNz
YWdlcy5pbgpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi40MzBjOGQ2Yjg4ODk1ZWUyOWM4ZTlmOGNlZTg4Y2U5ZTU4ZmY1
Y2NhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENSZXNvbHZlci5tZXNzYWdlcy5pbgpAQCAtMCwwICsxLDMwIEBACisjIENv
cHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisjCisjIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorIyBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyMgYXJlIG1ldDoKKyMgMS4gIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisjIDIuICBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorIyAgICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorIyAgICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyMK
KyMgVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJyBBTkQKKyMgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFIElNUExJRUQKKyMgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NF
IEFSRQorIyBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUgorIyBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUiBDT05TRVFVRU5USUFMCisjIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SCisjIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSCisjIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksCisjIE9S
IFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFCisjIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisKKyNpZiBVU0UoTElCV0VCUlRDKQor
CittZXNzYWdlcyAtPiBXZWJSVENSZXNvbHZlciB7CisgICAgdm9pZCBTZXRSZXNvbHZlZEFkZHJl
c3MoVmVjdG9yPFdlYktpdDo6UlRDTmV0d29yazo6SVBBZGRyZXNzPiBhZGRyZXNzZXMpCisgICAg
dm9pZCBSZXNvbHZlZEFkZHJlc3NFcnJvcihpbnQgZXJyb3IpCit9CisKKyNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3
b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLmM1Mjk1YzYzMzRkNDA5NmIw
OTY4OGRmMWQ5Njk4ZmE5M2FmOWI3ZGYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL05ldHdvcmsvd2VicnRjL1dlYlJUQ1NvY2tldC5jcHAKQEAgLTAsMCArMSw5
NSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFy
eSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQg
cHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAx
LiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3Jt
IG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBs
aXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAq
ICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBM
RSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJXZWJSVENT
b2NrZXQuaCIKKworI2lmIFVTRShMSUJXRUJSVEMpCisKKyNpbmNsdWRlICJEYXRhUmVmZXJlbmNl
LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29ja2V0LmgiCisjaW5jbHVkZSAiTGliV2ViUlRDU29j
a2V0RmFjdG9yeS5oIgorI2luY2x1ZGUgIk5ldHdvcmtSVENTb2NrZXRNZXNzYWdlcy5oIgorI2lu
Y2x1ZGUgPFdlYkNvcmUvU2hhcmVkQnVmZmVyLmg+CisjaW5jbHVkZSA8d3RmL0Z1bmN0aW9uLmg+
CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsT25OZXR3
b3JrVGhyZWFkKExpYldlYlJUQ1NvY2tldEZhY3RvcnkmIGZhY3RvcnksIHVpbnQ2NF90IGlkZW50
aWZpZXIsIEZ1bmN0aW9uPHZvaWQoTGliV2ViUlRDU29ja2V0Jik+JiYgY2FsbGJhY2spCit7Cisg
ICAgLy8gZmFjdG9yeSBpcyBzdGF5aW5nIHZhbGlkIGR1cmluZyB0aGUgcHJvY2VzcyBsaWZldGlt
ZS4KKyAgICBXZWJDb3JlOjpjYWxsT25XZWJSVENOZXR3b3JrVGhyZWFkKFsmZmFjdG9yeSwgaWRl
bnRpZmllciwgY2FsbGJhY2sgPSBXVEZNb3ZlKGNhbGxiYWNrKV0oKSB7CisgICAgICAgIGF1dG8q
IHNvY2tldCA9IGZhY3Rvcnkuc29ja2V0KGlkZW50aWZpZXIpOworICAgICAgICBpZiAoIXNvY2tl
dCkKKyAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgY2FsbGJhY2soKnNvY2tldCk7CisgICAg
fSk7Cit9CisKK1dlYlJUQ1NvY2tldDo6V2ViUlRDU29ja2V0KExpYldlYlJUQ1NvY2tldEZhY3Rv
cnkmIGZhY3RvcnksIHVpbnQ2NF90IGlkZW50aWZpZXIpCisgICAgOiBtX2ZhY3RvcnkoZmFjdG9y
eSkKKyAgICAsIG1faWRlbnRpZmllcihpZGVudGlmaWVyKQoreworfQorCit2b2lkIFdlYlJUQ1Nv
Y2tldDo6c2lnbmFsQWRkcmVzc1JlYWR5KGNvbnN0IFN0cmluZyYgYWRkcmVzcykKK3sKKyAgICBz
aWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFthZGRyZXNzXShM
aWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQuc2lnbmFsQWRkcmVzc1Jl
YWR5KGFkZHJlc3MpOworICAgIH0pOworfQorCit2b2lkIFdlYlJUQ1NvY2tldDo6c2lnbmFsUmVh
ZFBhY2tldChjb25zdCBJUEM6OkRhdGFSZWZlcmVuY2UmIGRhdGEsIGNvbnN0IFJUQ05ldHdvcms6
OklQQWRkcmVzcyYgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRfdCB0aW1lc3RhbXApCit7
CisgICAgYXV0byBidWZmZXIgPSBXZWJDb3JlOjpTaGFyZWRCdWZmZXI6OmNyZWF0ZShkYXRhLmRh
dGEoKSwgZGF0YS5zaXplKCkpOworICAgIHNpZ25hbE9uTmV0d29ya1RocmVhZChtX2ZhY3Rvcnks
IG1faWRlbnRpZmllciwgW2J1ZmZlciA9IFdURk1vdmUoYnVmZmVyKSwgYWRkcmVzcywgcG9ydCwg
dGltZXN0YW1wXShMaWJXZWJSVENTb2NrZXQmIHNvY2tldCkgeworICAgICAgICBzb2NrZXQuc2ln
bmFsUmVhZFBhY2tldChidWZmZXIuZ2V0KCksIHJ0Yzo6U29ja2V0QWRkcmVzcyhhZGRyZXNzLnZh
bHVlLCBwb3J0KSwgdGltZXN0YW1wKTsKKyAgICB9KTsKK30KKwordm9pZCBXZWJSVENTb2NrZXQ6
OnNpZ25hbFNlbnRQYWNrZXQoaW50IHJ0Y1BhY2tldElELCBpbnQ2NF90IHNlbmRUaW1lTXMpCit7
CisgICAgc2lnbmFsT25OZXR3b3JrVGhyZWFkKG1fZmFjdG9yeSwgbV9pZGVudGlmaWVyLCBbcnRj
UGFja2V0SUQsIHNlbmRUaW1lTXNdKExpYldlYlJUQ1NvY2tldCYgc29ja2V0KSB7CisgICAgICAg
IHNvY2tldC5zaWduYWxTZW50UGFja2V0KHJ0Y1BhY2tldElELCBzZW5kVGltZU1zKTsKKyAgICB9
KTsKK30KKwordm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbENvbm5lY3QoKQoreworICAgIHNpZ25h
bE9uTmV0d29ya1RocmVhZChtX2ZhY3RvcnksIG1faWRlbnRpZmllciwgW10oTGliV2ViUlRDU29j
a2V0JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25hbENvbm5lY3QoKTsKKyAgICB9KTsK
K30KKwordm9pZCBXZWJSVENTb2NrZXQ6OnNpZ25hbENsb3NlKGludCBlcnJvcikKK3sKKyAgICBz
aWduYWxPbk5ldHdvcmtUaHJlYWQobV9mYWN0b3J5LCBtX2lkZW50aWZpZXIsIFtlcnJvcl0oTGli
V2ViUlRDU29ja2V0JiBzb2NrZXQpIHsKKyAgICAgICAgc29ja2V0LnNpZ25hbENsb3NlKGVycm9y
KTsKKyAgICB9KTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBVU0Uo
TElCV0VCUlRDKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9OZXR3b3Jr
L3dlYnJ0Yy9XZWJSVENTb2NrZXQuaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDU29ja2V0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWJjN2NhMzVmMmVkYzA5YTljNTM5
NzNlZjc3YmI5MmIyMDE5ODQ3NwotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dl
YlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0LmgKQEAgLTAsMCArMSw2NSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxNyBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaWYgVVNFKExJQldFQlJUQykKKworI2luY2x1
ZGUgIlJUQ05ldHdvcmsuaCIKKyNpbmNsdWRlIDx3dGYvRnVuY3Rpb24uaD4KKworbmFtZXNwYWNl
IElQQyB7CitjbGFzcyBDb25uZWN0aW9uOworY2xhc3MgRGF0YVJlZmVyZW5jZTsKK2NsYXNzIERl
Y29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBMaWJXZWJSVENTb2NrZXQ7
CitjbGFzcyBMaWJXZWJSVENTb2NrZXRGYWN0b3J5OworCitjbGFzcyBXZWJSVENTb2NrZXQgewor
cHVibGljOgorICAgIFdlYlJUQ1NvY2tldChMaWJXZWJSVENTb2NrZXRGYWN0b3J5JiwgdWludDY0
X3QpOworCisgICAgdm9pZCBkaWRSZWNlaXZlTWVzc2FnZShJUEM6OkNvbm5lY3Rpb24mLCBJUEM6
OkRlY29kZXImKTsKKworICAgIHN0YXRpYyB2b2lkIHNpZ25hbE9uTmV0d29ya1RocmVhZChMaWJX
ZWJSVENTb2NrZXRGYWN0b3J5JiwgdWludDY0X3QsIEZ1bmN0aW9uPHZvaWQoTGliV2ViUlRDU29j
a2V0Jik+JiYpOworCitwcml2YXRlOgorICAgIHZvaWQgc2lnbmFsUmVhZFBhY2tldChjb25zdCBJ
UEM6OkRhdGFSZWZlcmVuY2UmLCBjb25zdCBSVENOZXR3b3JrOjpJUEFkZHJlc3MmLCB1aW50MTZf
dCBwb3J0LCBpbnQ2NF90KTsKKyAgICB2b2lkIHNpZ25hbFNlbnRQYWNrZXQoaW50LCBpbnQ2NF90
KTsKKyAgICB2b2lkIHNpZ25hbEFkZHJlc3NSZWFkeShjb25zdCBTdHJpbmcmKTsKKyAgICB2b2lk
IHNpZ25hbENvbm5lY3QoKTsKKyAgICB2b2lkIHNpZ25hbENsb3NlKGludCk7CisgICAgCisgICAg
TGliV2ViUlRDU29ja2V0RmFjdG9yeSYgbV9mYWN0b3J5OworICAgIHVpbnQ2NF90IG1faWRlbnRp
ZmllciB7IDAgfTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVVNF
KExJQldFQlJUQykKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29y
ay93ZWJydGMvV2ViUlRDU29ja2V0Lm1lc3NhZ2VzLmluIGIvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9OZXR3b3JrL3dlYnJ0Yy9XZWJSVENTb2NrZXQubWVzc2FnZXMuaW4KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4u
OTkzMTc4MTYyNTQwOWNkYTU4MDkwZDVkYTIwMWQwMzRmMDUzMjM5YQotLS0gL2Rldi9udWxsCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvTmV0d29yay93ZWJydGMvV2ViUlRDU29ja2V0
Lm1lc3NhZ2VzLmluCkBAIC0wLDAgKzEsMzMgQEAKKyMgQ29weXJpZ2h0IChDKSAyMDE3IEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyMKKyMgUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisjIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
IyBhcmUgbWV0OgorIyAxLiAgUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyMgICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyMgMi4gIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisjICAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisjICAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorIworIyBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnIEFORAor
IyBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBUSEUgSU1QTElFRAorIyBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFCisjIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SCisjIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwKKyMgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IKKyMgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIKKyMgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJ
TiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwKKyMgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKKyMg
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKworI2lmIFVTRShMSUJXRUJSVEMpCisKK21lc3NhZ2VzIC0+IFdlYlJUQ1Nv
Y2tldCB7CisgICAgU2lnbmFsUmVhZFBhY2tldChJUEM6OkRhdGFSZWZlcmVuY2UgZGF0YSwgV2Vi
S2l0OjpSVENOZXR3b3JrOjpJUEFkZHJlc3MgYWRkcmVzcywgdWludDE2X3QgcG9ydCwgaW50NjRf
dCB0aW1lc3RhbXApCisgICAgU2lnbmFsU2VudFBhY2tldChpbnQgcGFja2V0U2l6ZSwgaW50NjRf
dCB0aW1lc3RhbXApCisgICAgU2lnbmFsQWRkcmVzc1JlYWR5KFN0cmluZyBhZGRyZXNzKQorICAg
IFNpZ25hbENvbm5lY3QoKQorICAgIFNpZ25hbENsb3NlKGludCBlcnJvcikKK30KKworI2VuZGlm
IC8vIFVTRShMSUJXRUJSVEMpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViUGFnZS5jcHAKaW5kZXggZjk3ZjU2NzcxOTg1YjI5MTZiMTU4ODRkMDc5NzQwOWRhMDg3MWMz
Ni4uZjNhNTBkZWUxZTczNDRkNzJlMDNmMzcyN2RkZmM3NDQ2NTFlZTFkNSAxMDA2NDQKLS0tIGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcApAQCAtNDAsNiArNDAsNyBA
QAogI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVC
YWNrRm9yd2FyZExpc3QuaCIKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmgi
CisjaW5jbHVkZSAiTGliV2ViUlRDUHJvdmlkZXIuaCIKICNpbmNsdWRlICJMb2FkUGFyYW1ldGVy
cy5oIgogI2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJOZXRzY2FwZVBsdWdpbi5oIgpA
QCAtMTQ3LDcgKzE0OCw2IEBACiAjaW5jbHVkZSA8V2ViQ29yZS9JbnNwZWN0b3JDb250cm9sbGVy
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9KU0RPTVdpbmRvdy5oPgogI2luY2x1ZGUgPFdlYkNvcmUv
S2V5Ym9hcmRFdmVudC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvTGliV2ViUlRDUHJvdmlkZXIuaD4K
ICNpbmNsdWRlIDxXZWJDb3JlL01JTUVUeXBlUmVnaXN0cnkuaD4KICNpbmNsdWRlIDxXZWJDb3Jl
L01haW5GcmFtZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvTW91c2VFdmVudC5oPgpAQCAtMzc3LDcg
KzM3Nyw3IEBAIFdlYlBhZ2U6OldlYlBhZ2UodWludDY0X3QgcGFnZUlELCBjb25zdCBXZWJQYWdl
Q3JlYXRpb25QYXJhbWV0ZXJzJiBwYXJhbWV0ZXJzKQogICAgIFBhZ2VDb25maWd1cmF0aW9uIHBh
Z2VDb25maWd1cmF0aW9uKAogICAgICAgICBtYWtlVW5pcXVlUmVmPFdlYkVkaXRvckNsaWVudD4o
dGhpcyksCiAgICAgICAgIFdlYlNvY2tldFByb3ZpZGVyOjpjcmVhdGUoKSwKLSAgICAgICAgbWFr
ZVVuaXF1ZVJlZjxXZWJDb3JlOjpMaWJXZWJSVENQcm92aWRlcj4oKQorICAgICAgICBtYWtlVW5p
cXVlUmVmPFdlYktpdDo6TGliV2ViUlRDUHJvdmlkZXI+KCkKICAgICApOwogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLmNocm9tZUNsaWVudCA9IG5ldyBXZWJDaHJvbWVDbGllbnQoKnRoaXMpOwogI2lm
IEVOQUJMRShDT05URVhUX01FTlVTKQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQcm9jZXNzLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAKaW5kZXggZTFjMjZiOTcyZGRlMDQwMDMzMzY0MGU4M2I2M2ZkMDQ0YTZlNGNiNS4uZDE5
Y2IxNjk1YWM2ZmViNzc3MDM0YjhjZGRlMjRiMmFlYjViMDhlMiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwCkBAIC0xNTQ2LDQgKzE1NDYsMTMgQEAgdm9pZCBXZWJQ
cm9jZXNzOjpwcmVmZXRjaEROUyhjb25zdCBTdHJpbmcmIGhvc3RuYW1lKQogICAgIG1fZG5zUHJl
ZmV0Y2hIeXN0ZXJlcmlzLmltcHVsc2UoKTsKIH0KIAorI2lmIFVTRShMSUJXRUJSVEMpCitMaWJX
ZWJSVENOZXR3b3JrJiBXZWJQcm9jZXNzOjpsaWJXZWJSVENOZXR3b3JrKCkKK3sKKyAgICBpZiAo
IW1fbGliV2ViUlRDTmV0d29yaykKKyAgICAgICAgbV9saWJXZWJSVENOZXR3b3JrID0gc3RkOjpt
YWtlX3VuaXF1ZTxMaWJXZWJSVENOZXR3b3JrPigpOworICAgIHJldHVybiAqbV9saWJXZWJSVENO
ZXR3b3JrOworfQorI2VuZGlmCisKIH0gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggYi9Tb3VyY2UvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAppbmRleCA2ZWJjY2JiMjY5ZTlhMmYyZDQxNDE0OWYxNDNk
NGM1YzgxNGIyMWM2Li45MjgyZDM0MzVlZmI0MWU3NTJlYjU3Y2E5NTBjZDE4ZjZiMDY4NDFiIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaAorKysgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaApAQCAtMjgsNiArMjgsNyBAQAog
I2luY2x1ZGUgIkNhY2hlTW9kZWwuaCIKICNpbmNsdWRlICJDaGlsZFByb2Nlc3MuaCIKICNpbmNs
dWRlICJEcmF3aW5nQXJlYS5oIgorI2luY2x1ZGUgIkxpYldlYlJUQ05ldHdvcmsuaCIKICNpbmNs
dWRlICJQbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCIKICNpbmNsdWRlICJSZXNvdXJj
ZUNhY2hlc1RvQ2xlYXIuaCIKICNpbmNsdWRlICJTYW5kYm94RXh0ZW5zaW9uLmgiCkBAIC0xNjUs
NiArMTY2LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIG5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbkNs
b3NlZChOZXR3b3JrUHJvY2Vzc0Nvbm5lY3Rpb24qKTsKICAgICBXZWJMb2FkZXJTdHJhdGVneSYg
d2ViTG9hZGVyU3RyYXRlZ3koKTsKIAorI2lmIFVTRShMSUJXRUJSVEMpCisgICAgTGliV2ViUlRD
TmV0d29yayYgbGliV2ViUlRDTmV0d29yaygpOworI2VuZGlmCisKICNpZiBFTkFCTEUoREFUQUJB
U0VfUFJPQ0VTUykKICAgICB2b2lkIHdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbkNsb3Nl
ZChXZWJUb0RhdGFiYXNlUHJvY2Vzc0Nvbm5lY3Rpb24qKTsKICAgICBXZWJUb0RhdGFiYXNlUHJv
Y2Vzc0Nvbm5lY3Rpb24qIHdlYlRvRGF0YWJhc2VQcm9jZXNzQ29ubmVjdGlvbigpOwpAQCAtMzc3
LDYgKzM4MiwxMSBAQCBwcml2YXRlOgogICAgIHZvaWQgZW5zdXJlTmV0d29ya1Byb2Nlc3NDb25u
ZWN0aW9uKCk7CiAgICAgUmVmUHRyPE5ldHdvcmtQcm9jZXNzQ29ubmVjdGlvbj4gbV9uZXR3b3Jr
UHJvY2Vzc0Nvbm5lY3Rpb247CiAgICAgV2ViTG9hZGVyU3RyYXRlZ3kmIG1fd2ViTG9hZGVyU3Ry
YXRlZ3k7CisKKyNpZiBVU0UoTElCV0VCUlRDKQorICAgIHN0ZDo6dW5pcXVlX3B0cjxMaWJXZWJS
VENOZXR3b3JrPiBtX2xpYldlYlJUQ05ldHdvcms7CisjZW5kaWYKKwogICAgIEhhc2hTZXQ8U3Ry
aW5nPiBtX2Ruc1ByZWZldGNoZWRIb3N0czsKICAgICBXZWJDb3JlOjpIeXN0ZXJlc2lzQWN0aXZp
dHkgbV9kbnNQcmVmZXRjaEh5c3RlcmVyaXM7CiAK
</data>

          </attachment>
      

    </bug>

</bugzilla>