<?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>37369</bug_id>
          
          <creation_ts>2010-04-09 15:35:39 -0700</creation_ts>
          <short_desc>[GTK] Enable building whatever already exists of WebKit2</short_desc>
          <delta_ts>2011-11-03 10:38:13 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>WebKitGTK</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>Gtk</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>51113</dependson>
          <blocked>48172</blocked>
    
    <blocked>52805</blocked>
    
    <blocked>62950</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="Gustavo Noronha (kov)">gustavo</reporter>
          <assigned_to name="Nobody">webkit-unassigned</assigned_to>
          <cc>a9016009</cc>
    
    <cc>abarth</cc>
    
    <cc>abecsi</cc>
    
    <cc>amruthraj</cc>
    
    <cc>andersca</cc>
    
    <cc>bugzilla</cc>
    
    <cc>cgarcia</cc>
    
    <cc>christian</cc>
    
    <cc>commit-queue</cc>
    
    <cc>eric</cc>
    
    <cc>fddima</cc>
    
    <cc>gustavo</cc>
    
    <cc>halton.huo</cc>
    
    <cc>jmalonzo</cc>
    
    <cc>joone</cc>
    
    <cc>kbalazs</cc>
    
    <cc>mark</cc>
    
    <cc>martin.sourada</cc>
    
    <cc>mjs</cc>
    
    <cc>mrobinson</cc>
    
    <cc>nayankk</cc>
    
    <cc>ojab</cc>
    
    <cc>oliver</cc>
    
    <cc>otte</cc>
    
    <cc>ravi.kasibhatla</cc>
    
    <cc>sam</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit.review.bot</cc>
    
    <cc>xan.lopez</cc>
    
    <cc>zecke</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>210975</commentid>
    <comment_count>0</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-09 15:35:39 -0700</bug_when>
    <thetext>So we can participate better in the design/architecture of the new API layer that we will very likely want to use, we should get something building as soon as possible. This bug tracks our efforts on that front.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210978</commentid>
    <comment_count>1</comment_count>
      <attachid>53003</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-09 15:43:16 -0700</bug_when>
    <thetext>Created attachment 53003
non-working work in progress patch

I started playing around with this, but I have to go away for a while, so I thought I&apos;d upload what I already did. I haven&apos;t been too careful about correctness yet, just poked, and massaged stuff. I am trying to get a convenience library called libwebkit2 built from the Platform/ and Shared/ directories, essentially.

Notes:

* It looks like the plan is to avoid using config.h in WebKit2, but I have added it in some places in this first try;
* I am using OS(LINUX) in places that need a non-toolkit-specific, platform-specific typedef, for now, without really looking at its correctness in detail;
* Some files use &quot;WebCore/&lt;File&gt;.h&quot; paths for inclusion, that may or may not be related to changes that were done to WebCore&apos;s directory structure and will be landed in the future. Some examples:

#include &lt;WebCore/FloatRect.h&gt;
#include &lt;WebCore/PlatformString.h&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>210998</commentid>
    <comment_count>2</comment_count>
    <who name="Mark Rowe (bdash)">mrowe</who>
    <bug_when>2010-04-09 16:04:19 -0700</bug_when>
    <thetext>(In reply to comment #1)
&gt; Created an attachment (id=53003) [details]
&gt; non-working work in progress patch
&gt; 
&gt; I started playing around with this, but I have to go away for a while, so I
&gt; thought I&apos;d upload what I already did. I haven&apos;t been too careful about
&gt; correctness yet, just poked, and massaged stuff. I am trying to get a
&gt; convenience library called libwebkit2 built from the Platform/ and Shared/
&gt; directories, essentially.
&gt; 
&gt; Notes:
&gt; 
&gt; * It looks like the plan is to avoid using config.h in WebKit2, but I have
&gt; added it in some places in this first try;

The platforms that are currently supported all support prefix headers, so there’s no need to explicitly do prefix includes in this manner.  We may decide that it is a good idea to match the explicit style we use in JavaScriptCore and WebCore, or we may find that it is necessary because some platforms do not support prefix headers.

&gt; * I am using OS(LINUX) in places that need a non-toolkit-specific,
&gt; platform-specific typedef, for now, without really looking at its correctness
&gt; in detail;
&gt; * Some files use &quot;WebCore/&lt;File&gt;.h&quot; paths for inclusion, that may or may not be
&gt; related to changes that were done to WebCore&apos;s directory structure and will be
&gt; landed in the future. Some examples:
&gt; 
&gt; #include &lt;WebCore/FloatRect.h&gt;
&gt; #include &lt;WebCore/PlatformString.h&gt;

This is a Mac OS X-style framework include.  We’ll need to work out which approach we want to use to handle including WebCore headers in a cross-platform manner within WebKit.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211154</commentid>
    <comment_count>3</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-10 09:05:30 -0700</bug_when>
    <thetext>Hey Mark, thanks for the comments!

(In reply to comment #2)
&gt; The platforms that are currently supported all support prefix headers, so

Cool. Is the idea using one prefix header for all platforms, or having each platform define its own? WebKit2Prefix.h seems to be windows-specific, and WebKit2_Prefix.pch mac-specific. Should I make a  new one for Linux, or add preprocessor checks to one of the existing?

&gt; This is a Mac OS X-style framework include.  We’ll need to work out which
&gt; approach we want to use to handle including WebCore headers in a cross-platform
&gt; manner within WebKit.

My current approach has been removing all the path, and including only the filename but that may not be the best approach, given that many files have similar names in both WebKit2, and Webcore, and depending only on include path precedence to fix that may not be the best thing. So, what do you suggest?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211155</commentid>
    <comment_count>4</comment_count>
      <attachid>53043</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-10 09:21:20 -0700</bug_when>
    <thetext>Created attachment 53043
First try!

So, this gets us a libwebkit2.la library built with a small part of what is already available of WebKit2. It has a few fixes to include paths, and such that we need to discuss better how to handle to avoid ambiguity. We also need to discuss our approach to the prefix headers.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211156</commentid>
    <comment_count>5</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-04-10 09:23:55 -0700</bug_when>
    <thetext>Attachment 53043 did not pass style-queue:

Failed to run &quot;WebKitTools/Scripts/check-webkit-style&quot; exit_code: 1
WebKit2/Shared/WebPreferencesStore.h:32:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit2/Shared/WebEventConversion.cpp:29:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit2/LinuxWebKit2Prefix.h:21:  Alphabetical sorting problem.  [build/include_order] [4]
WebKit2/Shared/WebEvent.h:35:  Alphabetical sorting problem.  [build/include_order] [4]
Total errors found: 4 in 14 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>211157</commentid>
    <comment_count>6</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-10 09:24:21 -0700</bug_when>
    <thetext>&gt; filename but that may not be the best approach, given that many files have
&gt; similar names in both WebKit2, and Webcore, and depending only on include path

s/similar/equal/ I had that problem with Arguments.h, which exists in
JavaScriptCore/runtime and WebKit2/Platform/CoreIPC, while playing around.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211591</commentid>
    <comment_count>7</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-12 06:39:52 -0700</bug_when>
    <thetext>Actually, regarding the Identifier for the connection, I am considering using a named unix socket. We could use dbus, but given the fact that CoreIPC has its own IPC model, and its own serialization of data types, and messages, I&apos;m not sure what the advantage of using dbus would be. We would only be sending opaque messages containing a string with the serialized data. The alternative is to replace CoreIPC with dbus on our ports, but I think we&apos;d lose a whole lot of the work that is already in place, and would have to reimplement a lot of the IPC code. Anyone knows better?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211604</commentid>
    <comment_count>8</comment_count>
    <who name="Evan Martin">evan</who>
    <bug_when>2010-04-12 07:51:12 -0700</bug_when>
    <thetext>My (vague) understanding of dbus is that all messages get routed through the message daemon, which is overhead you will not want for low-latency high-throughput IPC.

Chrome uses named pipes on Windows and anonymous socketpair() on Unix.  The nice thing about anonymous file descriptors is that you don&apos;t end up with junk on your disk after crashes -- they clean themselves up.

http://src.chromium.org/cgi-bin/gitweb.cgi?p=chromium.git;a=blob;f=ipc/ipc_channel_posix.cc;h=f6b19f7e0aa69ac6ce9870c84bc52f8c17f53bac;hb=HEAD
discusses it</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211652</commentid>
    <comment_count>9</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-12 10:29:55 -0700</bug_when>
    <thetext>It is possible to use dbus peer-to-peer, with no server routing, yes. I also thought of socketpair, but CoreIPC in its current state looks simpler to implement if you have a named resource. Haven&apos;t looked into too much detail though.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>211732</commentid>
    <comment_count>10</comment_count>
    <who name="Maciej Stachowiak">mjs</who>
    <bug_when>2010-04-12 14:40:21 -0700</bug_when>
    <thetext>(In reply to comment #9)
&gt; It is possible to use dbus peer-to-peer, with no server routing, yes. I also
&gt; thought of socketpair, but CoreIPC in its current state looks simpler to
&gt; implement if you have a named resource. Haven&apos;t looked into too much detail
&gt; though.

I&apos;m not up to speed on DBus, but it&apos;s definitely useful to have a low-level transport as much as possible. Ideally you will want to be able to pass shared memory and file descriptors over this channel (FDs are not needed right now, but will probably useful once you get to proxying.)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>214661</commentid>
    <comment_count>11</comment_count>
      <attachid>53818</attachid>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-20 07:55:30 -0700</bug_when>
    <thetext>Created attachment 53818
some more WIP - IPC work

I don&apos;t even claim this builds - I&apos;m just feeling bad about sitting on top of this work without being able to work full-throttle on it =).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215845</commentid>
    <comment_count>12</comment_count>
    <who name="Gustavo Noronha (kov)">gustavo</who>
    <bug_when>2010-04-22 06:01:58 -0700</bug_when>
    <thetext>Useful information, from andersca on the mailing list:

&quot;Right now WebCore needs to be built with some different flags (ENABLE_EXPERIMENTAL_SINGLE_VIEW_MODE=1 
and WTF_USE_WEB_THREAD=1), but the goal is that the same WebCore should be able to support both WebKit and WebKit2 (and on the mac, both WebKit frameworks will link against the same WebCore framework).&quot;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>215956</commentid>
    <comment_count>13</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-04-22 10:47:53 -0700</bug_when>
    <thetext>We (Sam Weinig) have started work on getting rid of the ENABLE_WEB_THREAD define.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>240463</commentid>
    <comment_count>14</comment_count>
      <attachid>53043</attachid>
    <who name="Adam Barth">abarth</who>
    <bug_when>2010-06-20 10:30:57 -0700</bug_when>
    <thetext>Comment on attachment 53043
First try!

Looks like we need to work out how we want to do cross-framework includes before deciding what to do about this patch.  Please post an updated patch once we&apos;ve come to consensus on that topic.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>259734</commentid>
    <comment_count>15</comment_count>
      <attachid>63386</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-08-03 15:33:07 -0700</bug_when>
    <thetext>Created attachment 63386
Patch for this issue using framework-style includes and precompiled/prefix headers</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>275297</commentid>
    <comment_count>16</comment_count>
      <attachid>63386</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-09-07 14:32:07 -0700</bug_when>
    <thetext>Comment on attachment 63386
Patch for this issue using framework-style includes and precompiled/prefix headers

&gt; distclean-local:
&gt;-	-rm -rf $(GENSOURCES) $(GENPROGRAMS)
&gt;+	-rm -rf $(GENSOURCES) $(GENPROGRAMS) include

Does the include dir need to be in the toplevel actually? I also wonder if there&apos;s some way to move that into the WebKit2 makefile. I suppose defining the rule multiple times won&apos;t do the right thing ;)

&gt;+libwebkit2_la_CXXFLAGS = \
&gt;+	$(global_cxxflags) \
&gt;+	$(corekit_cflags)
&gt;+
&gt;+libwebkit2_la_CFLAGS = \
&gt;+	$(global_cflags) \
&gt;+	$(corekit_cflags)

I believe corekit_cflags does not exist anymore?

&gt;+
&gt;+# Ensure that the prefix header is built before
&gt;+BUILT_SOURCES += \
&gt;+	$(webkit2_copied_headers) \
&gt;+	DerivedSources/WebKit2/WebKit2Prefix.h.gch
&gt;+


&gt;+# We compile the prefix header into a precompiled header in the DerivedSources
&gt;+# directory, so we can force it to be at the beginning of the include list.
&gt;+DerivedSources/WebKit2/WebKit2Prefix.h.gch: $(srcdir)/WebKit2/WebKit2Prefix.h
&gt;+	mkdir -p DerivedSources/WebKit2
&gt;+	cp -u $&lt; DerivedSources/WebKit2/WebKit2Prefix.h
&gt;+	$(CXXCOMPILE) $(libwebkit2_la_CPPFLAGS) -c DerivedSources/WebKit2/WebKit2Prefix.h

Should use AM_V_GEN there.

&gt;+
&gt;+javascriptcore_headers := $(filter %.h, $(javascriptcore_sources))
&gt;+copy-javascriptcore-headers: $(javascriptcore_headers)
&gt;+	mkdir -p include/JavaScriptCore
&gt;+	cp -u $(foreach include,$(javascriptcore_headers),$(srcdir)/$(include)) include/JavaScriptCore

And there.

&gt;+phony_targets += copy-javascriptcore-headers
&gt;+
&gt;+webcore_headers := $(filter %.h, $(webcore_sources))
&gt;+copy-webcore-headers: $(webcore_headers)
&gt;+	mkdir -p include/WebCore
&gt;+	cp -u $(foreach include,$(webcore_headers),$(srcdir)/$(include)) include/WebCore

Same.

&gt;+phony_targets += copy-webcore-headers
&gt;+</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295994</commentid>
    <comment_count>17</comment_count>
      <attachid>63386</attachid>
    <who name="Xan Lopez">xan.lopez</who>
    <bug_when>2010-10-18 22:26:08 -0700</bug_when>
    <thetext>Comment on attachment 63386
Patch for this issue using framework-style includes and precompiled/prefix headers

Marking as r- since this was reviewed some time ago already.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>295995</commentid>
    <comment_count>18</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-18 22:28:15 -0700</bug_when>
    <thetext>Thanks. I&apos;ll try to have a new patch up soon.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298309</commentid>
    <comment_count>19</comment_count>
      <attachid>71620</attachid>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-22 22:42:18 -0700</bug_when>
    <thetext>Created attachment 71620
Initial Implementation of WebKit2 Gtk Port

Basic implementation of WebKit2 Gtk Port along with a sample MiniBrowser app</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298312</commentid>
    <comment_count>20</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-22 22:48:59 -0700</bug_when>
    <thetext>Attachment 71620 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
Last 3072 characters of output:
al.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/gtk/WebViewInternal.cpp:33:  webkit_widget_view_realize is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/UIProcess/gtk/WebViewInternal.cpp:58:  webkit_widget_view_container_add is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/UIProcess/gtk/WebViewInternal.cpp:85:  webkit_widget_view_class_init is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/UIProcess/gtk/WebViewInternal.cpp:100:  gobject_class is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/UIProcess/gtk/WebViewInternal.cpp:110:  webkit_widget_view_init is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Shared/gtk/WebEventFactory.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WARNING: File exempt from style guide. Skipping: &quot;WebCore/platform/network/soup/cache/webkit/soup-cache.h&quot;
WebKitTools/MiniBrowser/gtk/main.cpp:31:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/gtk/WebContextGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/MiniBrowser/gtk/BrowserWindow.cpp:31:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/gtk/MainGtk.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/CoreIPC/gtk/ConnectionGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 38 in 72 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>298319</commentid>
    <comment_count>21</comment_count>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-22 23:31:57 -0700</bug_when>
    <thetext>config.h need not be the first header inclusion because we follow framework style includes. 
As for the other errors, GTK naming convention is followed.
Raised a bug https://bugs.webkit.org/show_bug.cgi?id=48172 for the same.

(In reply to comment #20)
&gt; Attachment 71620 [details] did not pass style-queue:
&gt; 
&gt; Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
&gt; Last 3072 characters of output:
&gt; al.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKit2/UIProcess/gtk/WebViewInternal.cpp:33:  webkit_widget_view_realize is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
&gt; WebKit2/UIProcess/gtk/WebViewInternal.cpp:58:  webkit_widget_view_container_add is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
&gt; WebKit2/UIProcess/gtk/WebViewInternal.cpp:85:  webkit_widget_view_class_init is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
&gt; WebKit2/UIProcess/gtk/WebViewInternal.cpp:100:  gobject_class is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
&gt; WebKit2/UIProcess/gtk/WebViewInternal.cpp:110:  webkit_widget_view_init is incorrectly named. Don&apos;t use underscores in your identifier names.  [readability/naming] [4]
&gt; WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKit2/Shared/gtk/WebEventFactory.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WARNING: File exempt from style guide. Skipping: &quot;WebCore/platform/network/soup/cache/webkit/soup-cache.h&quot;
&gt; WebKitTools/MiniBrowser/gtk/main.cpp:31:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKit2/UIProcess/gtk/WebContextGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKitTools/MiniBrowser/gtk/BrowserWindow.cpp:31:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKit2/gtk/MainGtk.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; WebKit2/Platform/CoreIPC/gtk/ConnectionGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
&gt; Total errors found: 38 in 72 files
&gt; 
&gt; 
&gt; If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298327</commentid>
    <comment_count>22</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-22 23:52:15 -0700</bug_when>
    <thetext>(In reply to comment #21)
&gt; config.h need not be the first header inclusion because we follow framework style includes. 
&gt; As for the other errors, GTK naming convention is followed.
&gt; Raised a bug https://bugs.webkit.org/show_bug.cgi?id=48172 for the same.

Great patch! I haven&apos;t had time to go through it in detail, but I believe we want all new code to follow WebKit coding style. The only exception are names that are exposed to the public API.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298772</commentid>
    <comment_count>23</comment_count>
      <attachid>71620</attachid>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-25 03:04:17 -0700</bug_when>
    <thetext>Comment on attachment 71620
Initial Implementation of WebKit2 Gtk Port

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

Generally the patch looks very promising for me, however I do not know much about GTK and I am not a reviewer.
I think the MiniBrowser part should be separated to another patch, this is quite big even without that.
The main problem I see is that there are too many ifdefs in common code. Those should be avoided somehow.

&gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:7
&gt;   *

I have never saw the expressions &quot;Portions Copyright&quot; or any prefix before &quot;all rights reserved&quot; in WebKit before, so maybe
you should omit those for convenience.

&gt; WebKit2/Platform/Module.h:69
&gt;  

I do not think you should add copyright for that amount of changes, but of course it is your decision.

&gt; WebKit2/Platform/CoreIPC/gtk/ConnectionGtk.cpp:97
&gt; +    return true;

this should be &quot;return m_socket &gt; 0&quot; as I see

&gt; WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:139
&gt; +#if PLATFORM(GTK)
&gt; +    page-&gt;process()-&gt;send(DrawingAreaMessage::DidSetSizeDone, page-&gt;pageID(), CoreIPC::In(info().id, updateChunk-&gt;xID()));
&gt; +#endif

We should avoid ifdefs in common code. You can send this message from invalidateBackingStore which is a platform method.

&gt; WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:160
&gt; +#if PLATFORM(GTK)
&gt; +    page-&gt;process()-&gt;send(DrawingAreaMessage::DidUpdate, page-&gt;pageID(), CoreIPC::In(info().id, updateChunk-&gt;xID()));
&gt; +#else
&gt;      page-&gt;process()-&gt;send(DrawingAreaMessage::DidUpdate, page-&gt;pageID(), CoreIPC::In(info().id));
&gt; +#endif

We should get rid of the ifdefs somehow. Is there a way to avoid the gtk specialization of didUpdate? I see the reason of
that but maybe you can do it in another way. One think that had been came to my mind is to use info().id for the key in
xIDMap and introduce a platform method that would be called from ChunkedUpdateArea::didUpdate, for example
&apos;void platformDidUpdate(const DrawingAreaInfo&amp;)&apos;

&gt; WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:67
&gt; +// FIXME: Including &quot;PluginView.h&quot; at current location was re-defining the enum CodePath { Complex } to 0 in WebCore/platform/graphics/Font.h.
&gt; +// The re-define is happening because of a macro COMPLEX in Xlib.h. Hence, moved the inclusion to the end of list for compilation on GTK platform.
&gt; +#include &lt;WebKit2/PluginView.h&gt;
&gt;  

Please try to fix this. I had similar problems that could be solved by including npruntime_internal.h instead of npruntime.h
in some files. You should precompile it and find where the macro is coming from.

&gt; WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:102
&gt; +#if PLATFORM(GTK)
&gt; +    xIDMap.set(updateChunk.xID(), updateChunk.memory()).second;
&gt; +#endif

why &apos;.second&apos;? I am assuming this has been left here accidentally :)

&gt; WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:152
&gt; +#if PLATFORM(GTK)
&gt; +    xIDMap.set(updateChunk.xID(), updateChunk.memory()).second;
&gt; +#endif

As I sad above, this should be avoided.

&gt; WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:195
&gt; +#if PLATFORM(GTK)
&gt; +void ChunkedUpdateDrawingArea::didUpdate(uint32_t xID)
&gt; +{
&gt; +    m_isWaitingForUpdate = false;
&gt; +    freeBitMapMemory(xID);
&gt; +    // Display if needed.
&gt; +    display();
&gt; +}
&gt; +
&gt; +void ChunkedUpdateDrawingArea::didSetSizeDone(uint32_t xID)
&gt; +{
&gt; +    freeBitMapMemory(xID);
&gt; +}
&gt; +#endif

Ditto.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298830</commentid>
    <comment_count>24</comment_count>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-25 07:08:24 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; (In reply to comment #21)
&gt; &gt; config.h need not be the first header inclusion because we follow framework style includes. 
&gt; &gt; As for the other errors, GTK naming convention is followed.
&gt; &gt; Raised a bug https://bugs.webkit.org/show_bug.cgi?id=48172 for the same.
&gt; 
&gt; Great patch! I haven&apos;t had time to go through it in detail, but I believe we want all new code to follow WebKit coding style. The only exception are names that are exposed to the public API.
Ok. Since these files do not expose any public API, we will change the naming convention to match the WebKit style and re-submit the patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>298837</commentid>
    <comment_count>25</comment_count>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-25 07:22:56 -0700</bug_when>
    <thetext>(In reply to comment #23)
&gt; (From update of attachment 71620 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71620&amp;action=review
&gt; 
&gt; Generally the patch looks very promising for me, however I do not know much about GTK and I am not a reviewer.
&gt; I think the MiniBrowser part should be separated to another patch, this is quite big even without that.
Yes. Will split the patch and re-submit.
&gt; The main problem I see is that there are too many ifdefs in common code. Those should be avoided somehow.
&gt; 
&gt; &gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:7
&gt; &gt;   *
&gt; 
&gt; I have never saw the expressions &quot;Portions Copyright&quot; or any prefix before &quot;all rights reserved&quot; in WebKit before, so maybe
&gt; you should omit those for convenience.
&gt; 
&gt; &gt; WebKit2/Platform/Module.h:69
&gt; &gt;  
&gt; 
&gt; I do not think you should add copyright for that amount of changes, but of course it is your decision.
&gt; 
&gt; &gt; WebKit2/Platform/CoreIPC/gtk/ConnectionGtk.cpp:97
&gt; &gt; +    return true;
&gt; 
&gt; this should be &quot;return m_socket &gt; 0&quot; as I see
Yes. Will incorporate this change.
&gt; 
&gt; &gt; WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:139
&gt; &gt; +#if PLATFORM(GTK)
&gt; &gt; +    page-&gt;process()-&gt;send(DrawingAreaMessage::DidSetSizeDone, page-&gt;pageID(), CoreIPC::In(info().id, updateChunk-&gt;xID()));
&gt; &gt; +#endif
&gt; 
&gt; We should avoid ifdefs in common code. You can send this message from invalidateBackingStore which is a platform method.
invalidate would be too early to send a confirmation as the handler in the WebProcess would delete the GdkPixmap and the next function in the UI Process, drawUpdateChunkIntoBackingStore would use this GdkPixmap.
&gt; 
&gt; &gt; WebKit2/UIProcess/ChunkedUpdateDrawingAreaProxy.cpp:160
&gt; &gt; +#if PLATFORM(GTK)
&gt; &gt; +    page-&gt;process()-&gt;send(DrawingAreaMessage::DidUpdate, page-&gt;pageID(), CoreIPC::In(info().id, updateChunk-&gt;xID()));
&gt; &gt; +#else
&gt; &gt;      page-&gt;process()-&gt;send(DrawingAreaMessage::DidUpdate, page-&gt;pageID(), CoreIPC::In(info().id));
&gt; &gt; +#endif
&gt; 
&gt; We should get rid of the ifdefs somehow. Is there a way to avoid the gtk specialization of didUpdate? I see the reason of
&gt; that but maybe you can do it in another way. One think that had been came to my mind is to use info().id for the key in
&gt; xIDMap and introduce a platform method that would be called from ChunkedUpdateArea::didUpdate, for example
&gt; &apos;void platformDidUpdate(const DrawingAreaInfo&amp;)&apos;
info().id refers to the DrawingArea id. Each DrawingArea may result in multiple UpdateChunk&apos;s. So, this id cannot be the key in this case.
I could think of another alternative(i&apos;m not sure if that is a good idea) ie to define ID() in UpdateChunk() for all the platforms and use it wherever required.
&gt; 
&gt; &gt; WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:67
&gt; &gt; +// FIXME: Including &quot;PluginView.h&quot; at current location was re-defining the enum CodePath { Complex } to 0 in WebCore/platform/graphics/Font.h.
&gt; &gt; +// The re-define is happening because of a macro COMPLEX in Xlib.h. Hence, moved the inclusion to the end of list for compilation on GTK platform.
&gt; &gt; +#include &lt;WebKit2/PluginView.h&gt;
&gt; &gt;  
&gt; 
&gt; Please try to fix this. I had similar problems that could be solved by including npruntime_internal.h instead of npruntime.h
&gt; in some files. You should precompile it and find where the macro is coming from.
This is an incorrect FIXME comment that we left. Sorry for that. We just wanted to prevent WebCore/PluginView.h inclusion while compiling this file. 
&gt; 
&gt; &gt; WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:102
&gt; &gt; +#if PLATFORM(GTK)
&gt; &gt; +    xIDMap.set(updateChunk.xID(), updateChunk.memory()).second;
&gt; &gt; +#endif
&gt; 
&gt; why &apos;.second&apos;? I am assuming this has been left here accidentally :)
Yes. Thanks for pointing this out. Will correct this.
&gt; 
&gt; &gt; WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:152
&gt; &gt; +#if PLATFORM(GTK)
&gt; &gt; +    xIDMap.set(updateChunk.xID(), updateChunk.memory()).second;
&gt; &gt; +#endif
&gt; 
&gt; As I sad above, this should be avoided.
&gt; 
&gt; &gt; WebKit2/WebProcess/WebPage/ChunkedUpdateDrawingArea.cpp:195
&gt; &gt; +#if PLATFORM(GTK)
&gt; &gt; +void ChunkedUpdateDrawingArea::didUpdate(uint32_t xID)
&gt; &gt; +{
&gt; &gt; +    m_isWaitingForUpdate = false;
&gt; &gt; +    freeBitMapMemory(xID);
&gt; &gt; +    // Display if needed.
&gt; &gt; +    display();
&gt; &gt; +}
&gt; &gt; +
&gt; &gt; +void ChunkedUpdateDrawingArea::didSetSizeDone(uint32_t xID)
&gt; &gt; +{
&gt; &gt; +    freeBitMapMemory(xID);
&gt; &gt; +}
&gt; &gt; +#endif
&gt; 
&gt; Ditto.
This can be moved to ChunkedUpdateDrawingAreaGtk.cpp, however, the declarations in the .h file need to be there.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299456</commentid>
    <comment_count>26</comment_count>
      <attachid>71887</attachid>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-26 08:00:08 -0700</bug_when>
    <thetext>Created attachment 71887
WebKit2 GTK Patch after rework

Corrected the style errors pointed by check-webkit-style. Like Martin Robinson suggested, we followed WebKit style for GTK specific files as well.
Addressed a few review comments from  Balazs Kelemen
Separated MiniBrowser app patch from this</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299458</commentid>
    <comment_count>27</comment_count>
      <attachid>71888</attachid>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-26 08:02:33 -0700</bug_when>
    <thetext>Created attachment 71888
MiniBrowser App Patch

MiniBrowser GTK App Patch separated</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299461</commentid>
    <comment_count>28</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-26 08:05:38 -0700</bug_when>
    <thetext>Attachment 71887 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
Last 3072 characters of output:
file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Shared/gtk/BackingStoreGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebProcess/WebCoreSupport/gtk/WebErrorsGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebProcess/WebPage/gtk/WebPageGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/gtk/WorkQueueGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/gtk/ModuleGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/gtk/WebViewInternal.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Shared/gtk/NativeWebKeyboardEventGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Shared/gtk/WebEventFactory.cpp:26:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WARNING: File exempt from style guide. Skipping: &quot;WebCore/platform/network/soup/cache/webkit/soup-cache.h&quot;
WebKit2/UIProcess/Launcher/gtk/ThreadLauncherGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/gtk/WebContextGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/gtk/MainGtk.cpp:27:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/CoreIPC/gtk/ConnectionGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 26 in 63 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>299463</commentid>
    <comment_count>29</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-26 08:07:14 -0700</bug_when>
    <thetext>Attachment 71888 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKitTools/MiniBrowser/gtk/main.cpp:31:  Found other header before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/MiniBrowser/gtk/BrowserView.cpp:31:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/MiniBrowser/gtk/BrowserWindow.cpp:31:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKitTools/MiniBrowser/gtk/MiniBrowser.cpp:31:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
Total errors found: 4 in 9 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299500</commentid>
    <comment_count>30</comment_count>
      <attachid>71887</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-26 08:52:43 -0700</bug_when>
    <thetext>Comment on attachment 71887
WebKit2 GTK Patch after rework

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

Phwew! This is a big patch. Thanks for contributing it. I&apos;ve reviewed the build changes so far. Hopefully I&apos;ll find some time later to look over the rest of the patch.

&gt; GNUmakefile.am:163
&gt; +# WebKit2
&gt; +if ENABLE_WEBKIT2
&gt; +
&gt; +libJavaScriptCore_ladir = $(prefix)/include/webkit2-@WEBKITGTK_API_VERSION@/JavaScriptCore
&gt; +libJavaScriptCore_la_HEADERS = $(javascriptcore_h_api)
&gt; +
&gt; +lib_LTLIBRARIES += \
&gt; +	libwebkit2gtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
&gt; +
&gt; +nodist_EXTRA_libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
&gt; +	$(webcore_built_nosources)
&gt; +
&gt; +nodist_libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
&gt; +	DerivedSources/WebKit2/WebKit2Prefix.h \
&gt; +	$(webcore_built_sources) \
&gt; +	$(webkit2_built_sources)
&gt; +
&gt; +libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_ladir = $(prefix)/include/webkit2-@WEBKITGTK_API_VERSION@/webkit2

Instead of repeating all of these source and flag lists, is it possible to create a variable in configure.ac and use it much like WEBKITGTK_API_MAJOR_VERSION?

&gt; JavaScriptCore/GNUmakefile.am:-54
&gt; -	JavaScriptCore/API/APICast.h \

Why have you removed these headers from the source list?

&gt; JavaScriptCore/GNUmakefile.am:-71
&gt; -	JavaScriptCore/API/JSRetainPtr.h \

Same question.

&gt; JavaScriptCore/GNUmakefile.am:-76
&gt; -	JavaScriptCore/API/OpaqueJSString.h \

And here.

&gt; WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

This line should be replaced with an explaination of what sort of testing is possible, if at all.

&gt; WebCore/ChangeLog:14
&gt; +        * GNUmakefile.am: Changes to enable disable building of WebCore/bindings/gobject when building WebKit2.
&gt; +        This is required since WebCore/bindings/gobject access WebKit/gtk/webkit files, which are skipped for WebKit2.
&gt; +        * platform/network/soup/cache/webkit/soup-cache.h: Changes to stop including &lt;webkit/webkitdefines.h&gt;
&gt; +        when building WebKit2. Instead the macro WEBKIT_API is defined directly in soup-cache.h. &lt;webkit/webkitdefines.h&gt;
&gt; +        is including only when building WebKit1. This is done as entire dir WebKit/gtk/webkit is skipped when building

Talking to Xan today, it seems that the bindings/gobject files only include webkitdefines.h for the WEBKIT_API visibility markers. Can you try to simply eliminate the webkitdefines.h include and reproduce WEBKIT_API in bindings/gobject. That would eliminate a lot of the conditional stuff below.

&gt; WebCore/GNUmakefile.am:-2916
&gt; -	WebCore/storage/IDBIndexBackendInterface.h \

Why remove this?

&gt; WebCore/GNUmakefile.am:-2927
&gt; -	WebCore/storage/IDBObjectStoreBackendInterface.h \

And this?

&gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:6
&gt; + * Portions Copyright (c) 2010 Motorola Mobility, Inc.  Except as provided below, all rights reserved.

It&apos;s fine for your copyright message to omit &quot;Portions&quot; and &quot;Except as provided below,&quot;. If I understand correctly, these are implied.

&gt; WebKit2/GNUmakefile.am:481
&gt; +# Copy header files to DerivedSources

I guess I feel that &apos;include&apos; makes sense as the destination instead of DerivedSources/WebKit2/include. These files aren&apos;t generated, they are just copied.

&gt; WebKit2/GNUmakefile.am:483
&gt; +copy_wc_headers := $(filter %.h, $(webcore_sources))
&gt; +webcore-headers: $(copy_wc_headers)

This is sort of the reverse of what I would expect. I think the rule should have the verb. Something like this:

webcore_headers := $(filter %.h, $(webcore_sources))
copy-webcore-headers: $(webcore_headers)

I have this preference for the rest of these copying rules too.

&gt; WebKit2/GNUmakefile.am:538
&gt; +	$(WebKit2)/UIProcess/Plugins \
&gt; +    $(WebKit2)/WebProcess/Plugins \
&gt; +	$(WebKit2)/WebProcess/WebPage \

The indentation is a little funky here.

&gt; WebKit2/GNUmakefile.am:541
&gt; +vpath %.messages.in = $(MESSAGE_INPUT_PATH)

Is it possible to list these directly in the vpath directive instead of spinning them off into a separate variable?

&gt; WebKit2/GNUmakefile.am:543
&gt; +MESSAGE_GEN_SCRIPT = \

I&apos;d rather this be in lower-case since it&apos;s not global. Something like message_gen_scripts.

&gt; WebKit2/GNUmakefile.am:592
&gt; +# .PHONY: include-headers

I think you need to add all of the header copying targets to the .PHONY rule.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299517</commentid>
    <comment_count>31</comment_count>
    <who name="Balazs Kelemen">kbalazs</who>
    <bug_when>2010-10-26 09:28:59 -0700</bug_when>
    <thetext>&gt;&gt; WebKit2/GNUmakefile.am:481
&gt;&gt; +# Copy header files to DerivedSources

&gt; I guess I feel that &apos;include&apos; makes sense as the destination instead of
&gt; DerivedSources/WebKit2/include. These files aren&apos;t generated, they are just
&gt; copied.

I recommend you to generate forwarding headers instead of copying.
One of the benefits is dependency tracking.
WebKitTools/Scripts/generate-forwarding-headers.pl should fit your needs,
if it is not than you can hack on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>299519</commentid>
    <comment_count>32</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-26 09:32:17 -0700</bug_when>
    <thetext>(In reply to comment #31)
&gt; &gt; I guess I feel that &apos;include&apos; makes sense as the destination instead of
&gt; &gt; DerivedSources/WebKit2/include. These files aren&apos;t generated, they are just
&gt; &gt; copied.
&gt; I recommend you to generate forwarding headers instead of copying.
&gt; One of the benefits is dependency tracking.
&gt; WebKitTools/Scripts/generate-forwarding-headers.pl should fit your needs,
&gt; if it is not than you can hack on that.

Great tip, Balazs! I definitely agree with this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>300299</commentid>
    <comment_count>33</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-27 09:55:15 -0700</bug_when>
    <thetext>Attachment 71887 did not build on gtk:
Build output: http://queues.webkit.org/results/4824043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301035</commentid>
    <comment_count>34</comment_count>
      <attachid>72181</attachid>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-28 06:45:16 -0700</bug_when>
    <thetext>Created attachment 72181
Bare minimum changes for building GTK port of WebKit2

The attached patch includes Makefile changes for building either WebKit1 or WebKit2.
As part of the WebKit2 build, it builds all platform independent files, and stubbed out platform dependent files.
Rest of the code will be attached as independent compilation units to each of the specific bugs raised. These bugs are marked as dependent on 37369.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301037</commentid>
    <comment_count>35</comment_count>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-28 06:47:19 -0700</bug_when>
    <thetext>The build failure is because MiniBrowser files are separated into a different patch and these files are included in the main Makefile.
The patch is marked obsolete and a new patch is attached. Please ignore this error.
(In reply to comment #33)
&gt; Attachment 71887 [details] did not build on gtk:
&gt; Build output: http://queues.webkit.org/results/4824043</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301042</commentid>
    <comment_count>36</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-28 06:51:33 -0700</bug_when>
    <thetext>Attachment 72181 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/gtk/SharedMemoryGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebKit2Prefix.h:118:  &quot;WebCore/config.h&quot; already included at WebKit2/WebKit2Prefix.h:107  [build/include] [4]
WebKit2/Shared/gtk/BackingStoreGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WARNING: File exempt from style guide. Skipping: &quot;WebCore/platform/network/soup/cache/webkit/soup-cache.h&quot;
Total errors found: 7 in 27 files


If any of these errors are false positives, please file a bug against check-webkit-style.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301047</commentid>
    <comment_count>37</comment_count>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-28 06:59:30 -0700</bug_when>
    <thetext>(In reply to comment #30)
&gt; (From update of attachment 71887 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=71887&amp;action=review
&gt; 
&gt; Phwew! This is a big patch. Thanks for contributing it. I&apos;ve reviewed the build changes so far. Hopefully I&apos;ll find some time later to look over the rest of the patch.
&gt; 
&gt; &gt; GNUmakefile.am:163
&gt; &gt; +# WebKit2
&gt; &gt; +if ENABLE_WEBKIT2
&gt; &gt; +
&gt; &gt; +libJavaScriptCore_ladir = $(prefix)/include/webkit2-@WEBKITGTK_API_VERSION@/JavaScriptCore
&gt; &gt; +libJavaScriptCore_la_HEADERS = $(javascriptcore_h_api)
&gt; &gt; +
&gt; &gt; +lib_LTLIBRARIES += \
&gt; &gt; +	libwebkit2gtk-@WEBKITGTK_API_MAJOR_VERSION@.@WEBKITGTK_API_MINOR_VERSION@.la
&gt; &gt; +
&gt; &gt; +nodist_EXTRA_libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
&gt; &gt; +	$(webcore_built_nosources)
&gt; &gt; +
&gt; &gt; +nodist_libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_la_SOURCES = \
&gt; &gt; +	DerivedSources/WebKit2/WebKit2Prefix.h \
&gt; &gt; +	$(webcore_built_sources) \
&gt; &gt; +	$(webkit2_built_sources)
&gt; &gt; +
&gt; &gt; +libwebkit2gtk_@WEBKITGTK_API_MAJOR_VERSION@_@WEBKITGTK_API_MINOR_VERSION@_ladir = $(prefix)/include/webkit2-@WEBKITGTK_API_VERSION@/webkit2
&gt; 
&gt; Instead of repeating all of these source and flag lists, is it possible to create a variable in configure.ac and use it much like WEBKITGTK_API_MAJOR_VERSION?
Addressed in the newly attached patch
&gt; 
&gt; &gt; JavaScriptCore/GNUmakefile.am:-54
&gt; &gt; -	JavaScriptCore/API/APICast.h \
&gt; 
&gt; Why have you removed these headers from the source list?
Originally done to remove the multiple copy error while creating the forward headers. With the suggestion by Balazs Keleman, these are no longer required. Reverted the changes now.
&gt; 
&gt; &gt; JavaScriptCore/GNUmakefile.am:-71
&gt; &gt; -	JavaScriptCore/API/JSRetainPtr.h \
&gt; 
&gt; Same question.
Reverted the changes.
&gt; 
&gt; &gt; JavaScriptCore/GNUmakefile.am:-76
&gt; &gt; -	JavaScriptCore/API/OpaqueJSString.h \
&gt; 
&gt; And here.
Reverted the changes.
&gt; 
&gt; &gt; WebCore/ChangeLog:8
&gt; &gt; +        No new tests. (OOPS!)
&gt; 
&gt; This line should be replaced with an explaination of what sort of testing is possible, if at all.
&gt; 
&gt; &gt; WebCore/ChangeLog:14
&gt; &gt; +        * GNUmakefile.am: Changes to enable disable building of WebCore/bindings/gobject when building WebKit2.
&gt; &gt; +        This is required since WebCore/bindings/gobject access WebKit/gtk/webkit files, which are skipped for WebKit2.
&gt; &gt; +        * platform/network/soup/cache/webkit/soup-cache.h: Changes to stop including &lt;webkit/webkitdefines.h&gt;
&gt; &gt; +        when building WebKit2. Instead the macro WEBKIT_API is defined directly in soup-cache.h. &lt;webkit/webkitdefines.h&gt;
&gt; &gt; +        is including only when building WebKit1. This is done as entire dir WebKit/gtk/webkit is skipped when building
&gt; 
&gt; Talking to Xan today, it seems that the bindings/gobject files only include webkitdefines.h for the WEBKIT_API visibility markers. Can you try to simply eliminate the webkitdefines.h include and reproduce WEBKIT_API in bindings/gobject. That would eliminate a lot of the conditional stuff below.
GObject separation is still required for WebKit2 build.
&gt; 
&gt; &gt; WebCore/GNUmakefile.am:-2916
&gt; &gt; -	WebCore/storage/IDBIndexBackendInterface.h \
&gt; 
&gt; Why remove this?
Reverted
&gt; 
&gt; &gt; WebCore/GNUmakefile.am:-2927
&gt; &gt; -	WebCore/storage/IDBObjectStoreBackendInterface.h \
&gt; 
&gt; And this?
Reverted
&gt; 
&gt; &gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:6
&gt; &gt; + * Portions Copyright (c) 2010 Motorola Mobility, Inc.  Except as provided below, all rights reserved.
&gt; 
&gt; It&apos;s fine for your copyright message to omit &quot;Portions&quot; and &quot;Except as provided below,&quot;. If I understand correctly, these are implied.
We will get back to you after discussing this with our Legal Department.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:481
&gt; &gt; +# Copy header files to DerivedSources
&gt; 
&gt; I guess I feel that &apos;include&apos; makes sense as the destination instead of DerivedSources/WebKit2/include. These files aren&apos;t generated, they are just copied.
Now that we are generating the forward headers, I hope the location should be fine :)
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:483
&gt; &gt; +copy_wc_headers := $(filter %.h, $(webcore_sources))
&gt; &gt; +webcore-headers: $(copy_wc_headers)
&gt; 
&gt; This is sort of the reverse of what I would expect. I think the rule should have the verb. Something like this:
Removed this way of copying the headers now.
&gt; 
&gt; webcore_headers := $(filter %.h, $(webcore_sources))
&gt; copy-webcore-headers: $(webcore_headers)
&gt; 
&gt; I have this preference for the rest of these copying rules too.
Same as above.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:538
&gt; &gt; +	$(WebKit2)/UIProcess/Plugins \
&gt; &gt; +    $(WebKit2)/WebProcess/Plugins \
&gt; &gt; +	$(WebKit2)/WebProcess/WebPage \
&gt; 
&gt; The indentation is a little funky here.
Done.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:541
&gt; &gt; +vpath %.messages.in = $(MESSAGE_INPUT_PATH)
&gt; 
&gt; Is it possible to list these directly in the vpath directive instead of spinning them off into a separate variable?
Done.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:543
&gt; &gt; +MESSAGE_GEN_SCRIPT = \
&gt; 
&gt; I&apos;d rather this be in lower-case since it&apos;s not global. Something like message_gen_scripts.
Done.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:592
&gt; &gt; +# .PHONY: include-headers
&gt; 
&gt; I think you need to add all of the header copying targets to the .PHONY rule.
Removed PHONY rule.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301049</commentid>
    <comment_count>38</comment_count>
    <who name="Amruth Raj">amruthraj</who>
    <bug_when>2010-10-28 07:00:22 -0700</bug_when>
    <thetext>Thanks for the comment. We&apos;ve incorporated this change in our new patch.
(In reply to comment #31)
&gt; &gt;&gt; WebKit2/GNUmakefile.am:481
&gt; &gt;&gt; +# Copy header files to DerivedSources
&gt; 
&gt; &gt; I guess I feel that &apos;include&apos; makes sense as the destination instead of
&gt; &gt; DerivedSources/WebKit2/include. These files aren&apos;t generated, they are just
&gt; &gt; copied.
&gt; 
&gt; I recommend you to generate forwarding headers instead of copying.
&gt; One of the benefits is dependency tracking.
&gt; WebKitTools/Scripts/generate-forwarding-headers.pl should fit your needs,
&gt; if it is not than you can hack on that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301137</commentid>
    <comment_count>39</comment_count>
      <attachid>72201</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-10-28 10:12:47 -0700</bug_when>
    <thetext>Created attachment 72201
Bare minimum changes for building GTK port of WebKit2

Corrects a typo error in WebKit2/GNUmakefile.am
Adds WebEventFactory.h to base implementation to avoid conflicts in further patches</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301140</commentid>
    <comment_count>40</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-10-28 10:16:28 -0700</bug_when>
    <thetext>Attachment 72201 did not pass style-queue:

Failed to run &quot;[&apos;WebKitTools/Scripts/check-webkit-style&apos;]&quot; exit_code: 1
WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/Platform/gtk/SharedMemoryGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebKit2Prefix.h:118:  &quot;WebCore/config.h&quot; already included at WebKit2/WebKit2Prefix.h:107  [build/include] [4]
WebKit2/Shared/gtk/BackingStoreGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp:28:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp:27:  Found header this file implements before WebCore config.h. Should be: config.h, primary header, blank line, and then alphabetically sorted.  [build/include_order] [4]
WARNING: File exempt from style guide. Skipping: &quot;WebCore/platform/network/soup/cache/webkit/soup-cache.h&quot;
Total errors found: 7 in 28 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>301888</commentid>
    <comment_count>41</comment_count>
      <attachid>72201</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-29 11:06:20 -0700</bug_when>
    <thetext>Comment on attachment 72201
Bare minimum changes for building GTK port of WebKit2

This patch should be split up into multiple pieces. Maybe first one patch per new file added and then one with the build changes?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301920</commentid>
    <comment_count>42</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-29 11:52:16 -0700</bug_when>
    <thetext>(In reply to comment #41)
&gt; (From update of attachment 72201 [details])
&gt; This patch should be split up into multiple pieces. Maybe first one patch per new file added and then one with the build changes?

Just to clarify, this patch is simply build changes plus GTK+-specific WebKit2 files stubbed out.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301957</commentid>
    <comment_count>43</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-29 12:24:47 -0700</bug_when>
    <thetext>(In reply to comment #42)
&gt; (In reply to comment #41)
&gt; &gt; (From update of attachment 72201 [details] [details])
&gt; &gt; This patch should be split up into multiple pieces. Maybe first one patch per new file added and then one with the build changes?
&gt; 
&gt; Just to clarify, this patch is simply build changes plus GTK+-specific WebKit2 files stubbed out.

I know that. Still, an almost 80k patch is pretty unwieldy regardless of what it contains.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301989</commentid>
    <comment_count>44</comment_count>
      <attachid>72201</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-29 13:12:30 -0700</bug_when>
    <thetext>Comment on attachment 72201
Bare minimum changes for building GTK port of WebKit2

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

Looks good, but I think the build file changes can be simplified even more.

&gt; GNUmakefile.am:74
&gt; +webcoregtk_gdom_sources :=
&gt; +webcoregtk_gdom_cppflags :=

I don&apos;t think these are necessary.

&gt; GNUmakefile.am:82
&gt; +webkit2gtk_static_h_api :=
&gt; +webkit2_cppflags :=
&gt; +webkit2gtk_cppflags :=

GTK+ is the only autotools user and probably will be for the future. I think we can get rid of  webkit2gtk_sources and webkit2gtk_cppflags.

&gt; GNUmakefile.am:84
&gt; +webkit2_built_nosources :=

I don&apos;t think this variable needs to exist. See below.

&gt; GNUmakefile.am:827
&gt; +if !ENABLE_WEBKIT2
&gt;  # Older automake versions (1.7) place Plo files in a different place so we need
&gt;  # to create the output directory manually.
&gt;  all-local: stamp-po
&gt;  	$(mkdir_p) $(top_builddir)/$(DEPDIR)/DerivedSources
&gt; +endif #!ENABLE_WEBKIT2

Why is this work-around for older versions of automake conditional on the WebKit2 build?

&gt; WebCore/GNUmakefile.am:88
&gt; +webcoregtk_gdom_cppflags += \

I don&apos;t understand the need for webcoregtk_gdom_cppflags here. Why not just add it directly to webcoregtk_cppflags?

&gt; WebCore/GNUmakefile.am:3651
&gt; +webcoregtk_gdom_sources += \

Please just add these directly to webcoregtk_sources and scrap the webcoregtk_gdom_sources variable. I think keeping the number of makefile variables low is key to keeping it understandable.

&gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:30
&gt; +#if !defined(ENABLE_WEBKIT2_BUILD)
&gt;  #if BUILDING_GTK__
&gt;  #include &lt;webkit/webkitdefines.h&gt;
&gt;  #else

Instead of a workaround for WebKit2, why not just define WEBKIT_API unconditionally to simplify the #ifdefs?

&gt; WebKit2/GNUmakefile.am:3
&gt; +ForwardingHeaders := $(GENSOURCES_WEBKIT2)/include
&gt; +HttpStack := @HTTP_STACK@

If these need to be in a make variable, please move them down near where you use them.

&gt; WebKit2/GNUmakefile.am:9
&gt; +	$(srcdir)/WebKit2/Shared/API/c/WKArray.h \
&gt; +	$(srcdir)/WebKit2/Shared/API/c/WKBase.h \
&gt; +	$(srcdir)/WebKit2/Shared/API/c/WKCertificateInfo.h \
&gt; +	$(srcdir)/WebKit2/Shared/API/c/WKData.h \

Why not use the $(WebKit2) variable defined above for this source list?

&gt; WebKit2/GNUmakefile.am:401
&gt; +	$(webkit2_built_nosources)

I think I&apos;d rather see generate-forwarding-headers here explicitly rather than having a webkit2_built_nosources variable.

&gt; WebKit2/GNUmakefile.am:471
&gt; +vpath %.messages.in = $(WebKit2)/PluginProcess $(WebKit2)/UIProcess $(WebKit2)/UIProcess/Plugins $(WebKit2)/WebProcess/Plugins $(WebKit2)/WebProcess/WebPage $(WebKit2)/WebProcess

Please split this across multiple lines, if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>301997</commentid>
    <comment_count>45</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-29 13:20:24 -0700</bug_when>
    <thetext>(In reply to comment #43)

&gt; I know that. Still, an almost 80k patch is pretty unwieldy regardless of what it contains.

Very well. The build file changes clock in around 48K alone (likely they will be a bit smaller once the stubbed out source files are removed). In your opinion, should Ravi and Amruth split the build file changes into even smaller patches? We would prefer not to check in a broken WebKit2 build, if possible.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302018</commentid>
    <comment_count>46</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2010-10-29 13:48:08 -0700</bug_when>
    <thetext>(In reply to comment #45)
&gt; (In reply to comment #43)
&gt; 
&gt; &gt; I know that. Still, an almost 80k patch is pretty unwieldy regardless of what it contains.
&gt; 
&gt; Very well. The build file changes clock in around 48K alone (likely they will be a bit smaller once the stubbed out source files are removed). In your opinion, should Ravi and Amruth split the build file changes into even smaller patches? We would prefer not to check in a broken WebKit2 build, if possible.

You can easily land the stubbed out source files before landing the build file changes. Besides, the WebKit2 GTK+ build is already broken (for some definition of broken).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>302022</commentid>
    <comment_count>47</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-10-29 13:52:30 -0700</bug_when>
    <thetext>(In reply to comment #46)

&gt; You can easily land the stubbed out source files before landing the build file changes. Besides, the WebKit2 GTK+ build is already broken (for some definition of broken).

That dips a bit too far into philosophy this early in the afternoon for my tastes (can something that doesn&apos;t exist be broken), but I think your solution makes a lot of sense.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303406</commentid>
    <comment_count>48</comment_count>
      <attachid>72677</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-11-02 09:30:50 -0700</bug_when>
    <thetext>Created attachment 72677
Makefile changes to building the WebKit2 GTK port

The makefile changes and couple of WebCore file changes for compiling the WebKit2 GTK port.
Note: The patch in itself doesn&apos;t compile.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303408</commentid>
    <comment_count>49</comment_count>
      <attachid>72678</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-11-02 09:32:54 -0700</bug_when>
    <thetext>Created attachment 72678
Dummy implementation for few of the WebKit2 GTK port classes

Patch contains the GTK port dummy implementation for classes like SharedMemory, BackingStore, PluginInfoStore, NetscapePlugin etc.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303411</commentid>
    <comment_count>50</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-11-02 09:38:05 -0700</bug_when>
    <thetext>
(In reply to comment #44)
&gt; (From update of attachment 72201 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=72201&amp;action=review
&gt; 
&gt; Looks good, but I think the build file changes can be simplified even more.
&gt; 
&gt; &gt; GNUmakefile.am:74
&gt; &gt; +webcoregtk_gdom_sources :=
&gt; &gt; +webcoregtk_gdom_cppflags :=
&gt; 
&gt; I don&apos;t think these are necessary.
Done.
&gt; 
&gt; &gt; GNUmakefile.am:82
&gt; &gt; +webkit2gtk_static_h_api :=
&gt; &gt; +webkit2_cppflags :=
&gt; &gt; +webkit2gtk_cppflags :=
&gt; 
&gt; GTK+ is the only autotools user and probably will be for the future. I think we can get rid of  webkit2gtk_sources and webkit2gtk_cppflags.
Done.
&gt; 
&gt; &gt; GNUmakefile.am:84
&gt; &gt; +webkit2_built_nosources :=
&gt; 
&gt; I don&apos;t think this variable needs to exist. See below.
Done.
&gt; 
&gt; &gt; GNUmakefile.am:827
&gt; &gt; +if !ENABLE_WEBKIT2
&gt; &gt;  # Older automake versions (1.7) place Plo files in a different place so we need
&gt; &gt;  # to create the output directory manually.
&gt; &gt;  all-local: stamp-po
&gt; &gt;  	$(mkdir_p) $(top_builddir)/$(DEPDIR)/DerivedSources
&gt; &gt; +endif #!ENABLE_WEBKIT2
&gt; 
&gt; Why is this work-around for older versions of automake conditional on the WebKit2 build?
This is not possible. The older automake targets points to targets stamp-po etc which are defined in WebKit/gtk/po/GNUmakefile.am folder. Since, we are excluding the entire WebKit/ folder itself for WebKit2, the inclusion of this rule is not possible.
&gt; 
&gt; &gt; WebCore/GNUmakefile.am:88
&gt; &gt; +webcoregtk_gdom_cppflags += \
&gt; 
&gt; I don&apos;t understand the need for webcoregtk_gdom_cppflags here. Why not just add it directly to webcoregtk_cppflags?
Done.
&gt; 
&gt; &gt; WebCore/GNUmakefile.am:3651
&gt; &gt; +webcoregtk_gdom_sources += \
&gt; 
&gt; Please just add these directly to webcoregtk_sources and scrap the webcoregtk_gdom_sources variable. I think keeping the number of makefile variables low is key to keeping it understandable.
Done.
&gt; 
&gt; &gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:30
&gt; &gt; +#if !defined(ENABLE_WEBKIT2_BUILD)
&gt; &gt;  #if BUILDING_GTK__
&gt; &gt;  #include &lt;webkit/webkitdefines.h&gt;
&gt; &gt;  #else
&gt; 
&gt; Instead of a workaround for WebKit2, why not just define WEBKIT_API unconditionally to simplify the #ifdefs?
Done.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:3
&gt; &gt; +ForwardingHeaders := $(GENSOURCES_WEBKIT2)/include
&gt; &gt; +HttpStack := @HTTP_STACK@
&gt; 
&gt; If these need to be in a make variable, please move them down near where you use them.
Done.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:9
&gt; &gt; +	$(srcdir)/WebKit2/Shared/API/c/WKArray.h \
&gt; &gt; +	$(srcdir)/WebKit2/Shared/API/c/WKBase.h \
&gt; &gt; +	$(srcdir)/WebKit2/Shared/API/c/WKCertificateInfo.h \
&gt; &gt; +	$(srcdir)/WebKit2/Shared/API/c/WKData.h \
&gt; 
&gt; Why not use the $(WebKit2) variable defined above for this source list?
Done.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:401
&gt; &gt; +	$(webkit2_built_nosources)
&gt; 
&gt; I think I&apos;d rather see generate-forwarding-headers here explicitly rather than having a webkit2_built_nosources variable.
Done.
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:471
&gt; &gt; +vpath %.messages.in = $(WebKit2)/PluginProcess $(WebKit2)/UIProcess $(WebKit2)/UIProcess/Plugins $(WebKit2)/WebProcess/Plugins $(WebKit2)/WebProcess/WebPage $(WebKit2)/WebProcess
&gt; 
&gt; Please split this across multiple lines, if possible.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303428</commentid>
    <comment_count>51</comment_count>
      <attachid>72678</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-11-02 09:47:29 -0700</bug_when>
    <thetext>Comment on attachment 72678
Dummy implementation for few of the WebKit2 GTK port classes

Great.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303724</commentid>
    <comment_count>52</comment_count>
      <attachid>72678</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-11-02 15:30:21 -0700</bug_when>
    <thetext>Comment on attachment 72678
Dummy implementation for few of the WebKit2 GTK port classes

Rejecting patch 72678 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;apply-attachment&apos;, &apos;--force-clean&apos;, &apos;--non-interactive&apos;, 72678]&quot; exit_code: 2
Last 500 characters of output:
o.h
patching file WebKit2/UIProcess/Plugins/gtk/PluginInfoStoreGtk.cpp
patching file WebKit2/WebProcess/InjectedBundle/gtk/InjectedBundleGtk.cpp
patching file WebKit2/WebProcess/InjectedBundle/InjectedBundle.h
patching file WebKit2/WebProcess/Plugins/Netscape/gtk/NetscapePluginGtk.cpp
patching file WebKit2/WebProcess/WebCoreSupport/gtk/WebFrameNetworkingContext.h

Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Martin Robinson&apos;, u&apos;--force&apos;]&quot; exit_code: 2

Full output: http://queues.webkit.org/results/5000029</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>303899</commentid>
    <comment_count>53</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-11-02 22:29:55 -0700</bug_when>
    <thetext>Committed r71214: &lt;http://trac.webkit.org/changeset/71214&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>304497</commentid>
    <comment_count>54</comment_count>
      <attachid>72678</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-11-03 23:48:08 -0700</bug_when>
    <thetext>Comment on attachment 72678
Dummy implementation for few of the WebKit2 GTK port classes

Clearing flags, since this has landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311649</commentid>
    <comment_count>55</comment_count>
      <attachid>74419</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-11-19 13:15:23 -0800</bug_when>
    <thetext>Created attachment 74419
Makefile changes to building the WebKit2 GTK port

WebKit2 makefile changes based on current makefile in trunk where entire WebKit related stuff have been moved to WebKit/gtk/GNUmakefile.am from root GNUmakefile.am</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311652</commentid>
    <comment_count>56</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-11-19 13:18:01 -0800</bug_when>
    <thetext>The new patch addresses the WebKit2 makefile rework and is based on the GNUmakefile.am changes done as part of bug 49400 (https://bugs.webkit.org/show_bug.cgi?id=49400).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>311931</commentid>
    <comment_count>57</comment_count>
      <attachid>74419</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-11-20 08:32:36 -0800</bug_when>
    <thetext>Comment on attachment 74419
Makefile changes to building the WebKit2 GTK port

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

Very nice patch. Thanks for updating it. Just a couple more lingering issues. I think it&apos;s very close.

&gt; WebCore/ChangeLog:8
&gt; +        No new tests. (OOPS!)

This line should be removed.

&gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:27
&gt; +#define WEBKIT_API __attribute__((visibility(&quot;default&quot;)))
&gt; +#define WEBKIT_OBSOLETE_API WEBKIT_API __attribute__((deprecated))

This will actually break the GTK+ Windows build. You should probably include the MSVC support here too.

&gt; WebKit2/GNUmakefile.am:580
&gt; +# Ensure that the prefix header is built before

You are no longer using using a precompiled header, so I think this comment is out of date. :)

&gt; WebKit2/WebKit2Prefix.h:33
&gt; +#if !defined (BUILDING_GTK__)
&gt;  #include &lt;wtf/Platform.h&gt;
&gt;  #include &lt;wtf/DisallowCType.h&gt;
&gt;  #ifdef __cplusplus
&gt;  #include &lt;wtf/FastMalloc.h&gt;
&gt;  #endif
&gt; +#endif /* !defined (BUILDING_GTK__) */

Why do you need to conditionally include these?

&gt; WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:-33
&gt; -#include &quot;PluginView.h&quot;

I think the right way to solve this problem is to only include the big list of -I directories in WebCore if we are building WebKit 1. Otherwise, we&apos;ll probably keep running into this issue. Do you mind trying that?

&gt; configure.ac:903
&gt; +HTTP_STACK=&quot;soup&quot;
&gt; +WEBKITGTK_PC_NAME=${WEBKITGTK_PC_NAME}2
&gt; +AC_SUBST([HTTP_STACK])
&gt; +AC_SUBST([WEBKITGTK_PC_NAME])

If HTTP_STACK is hardcoded, why not just remove it? Generally we have standardized on soup. If you want to re-add support for cURL, maybe we can address it in another patch? I think it&apos;s much more feasible for WebKit2, if you really need it for something.

&gt; configure.ac:989
&gt; +AC_CONFIG_FILES([

If posible. please indent the inside of this conditional.

&gt; configure.ac:1008
&gt; +AC_CONFIG_FILES([
&gt; +WebKit2/gtk/${WEBKITGTK_PC_NAME}-${WEBKITGTK_API_VERSION}.pc:WebKit2/gtk/webkit2.pc.in
&gt; +]
&gt; +,[WEBKITGTK_API_VERSION=$WEBKITGTK_API_VERSION,WEBKITGTK_PC_NAME=$WEBKITGTK_PC_NAME]
&gt; +)

Same here.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313982</commentid>
    <comment_count>58</comment_count>
      <attachid>74925</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-11-26 05:33:59 -0800</bug_when>
    <thetext>Created attachment 74925
Makefile changes to building the WebKit2 GTK port

Makefile and script changes for building GTK WebKit2 port.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>313983</commentid>
    <comment_count>59</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-11-26 05:37:24 -0800</bug_when>
    <thetext>(In reply to comment #57)
&gt; (From update of attachment 74419 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=74419&amp;action=review
&gt; 
&gt; Very nice patch. Thanks for updating it. Just a couple more lingering issues. I think it&apos;s very close.
&gt; 
&gt; &gt; WebCore/ChangeLog:8
&gt; &gt; +        No new tests. (OOPS!)
&gt; 
&gt; This line should be removed.
Done.
&gt; 
&gt; &gt; WebCore/platform/network/soup/cache/webkit/soup-cache.h:27
&gt; &gt; +#define WEBKIT_API __attribute__((visibility(&quot;default&quot;)))
&gt; &gt; +#define WEBKIT_OBSOLETE_API WEBKIT_API __attribute__((deprecated))
&gt; 
&gt; This will actually break the GTK+ Windows build. You should probably include the MSVC support here too.
Done. Defined in same manner as defined in &lt;webkit/webkitdefines.h&gt;
&gt; 
&gt; &gt; WebKit2/GNUmakefile.am:580
&gt; &gt; +# Ensure that the prefix header is built before
&gt; 
&gt; You are no longer using using a precompiled header, so I think this comment is out of date. :)
Done.
&gt; 
&gt; &gt; WebKit2/WebKit2Prefix.h:33
&gt; &gt; +#if !defined (BUILDING_GTK__)
&gt; &gt;  #include &lt;wtf/Platform.h&gt;
&gt; &gt;  #include &lt;wtf/DisallowCType.h&gt;
&gt; &gt;  #ifdef __cplusplus
&gt; &gt;  #include &lt;wtf/FastMalloc.h&gt;
&gt; &gt;  #endif
&gt; &gt; +#endif /* !defined (BUILDING_GTK__) */
&gt; 
&gt; Why do you need to conditionally include these?
Changed to include &lt;WebCore/config.h&gt; at top of file for GTK port as per our discussion.
&gt; 
&gt; &gt; WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:-33
&gt; &gt; -#include &quot;PluginView.h&quot;
&gt; 
&gt; I think the right way to solve this problem is to only include the big list of -I directories in WebCore if we are building WebKit 1. Otherwise, we&apos;ll probably keep running into this issue. Do you mind trying that?
Reverted this file. Solved the issue by building WebKit2 as a convenience target and then linking with actual webkit target as per our discussion yesterday.
&gt; 
&gt; &gt; configure.ac:903
&gt; &gt; +HTTP_STACK=&quot;soup&quot;
&gt; &gt; +WEBKITGTK_PC_NAME=${WEBKITGTK_PC_NAME}2
&gt; &gt; +AC_SUBST([HTTP_STACK])
&gt; &gt; +AC_SUBST([WEBKITGTK_PC_NAME])
&gt; 
&gt; If HTTP_STACK is hardcoded, why not just remove it? Generally we have standardized on soup. If you want to re-add support for cURL, maybe we can address it in another patch? I think it&apos;s much more feasible for WebKit2, if you really need it for something.
Done.
&gt; 
&gt; &gt; configure.ac:989
&gt; &gt; +AC_CONFIG_FILES([
&gt; 
&gt; If posible. please indent the inside of this conditional.
&gt; 
&gt; &gt; configure.ac:1008
&gt; &gt; +AC_CONFIG_FILES([
&gt; &gt; +WebKit2/gtk/${WEBKITGTK_PC_NAME}-${WEBKITGTK_API_VERSION}.pc:WebKit2/gtk/webkit2.pc.in
&gt; &gt; +]
&gt; &gt; +,[WEBKITGTK_API_VERSION=$WEBKITGTK_API_VERSION,WEBKITGTK_PC_NAME=$WEBKITGTK_PC_NAME]
&gt; &gt; +)
&gt; 
&gt; Same here.
Done.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319981</commentid>
    <comment_count>60</comment_count>
      <attachid>76169</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-10 00:03:49 -0800</bug_when>
    <thetext>Created attachment 76169
Makefile changes to building the WebKit2 GTK port

Makefile changes to building the WebKit2 GTK port based on comments given by Martin Robinson on 9th December.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>319988</commentid>
    <comment_count>61</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-10 00:06:33 -0800</bug_when>
    <thetext>Hi Martin Robinson,

Based on our discussion yesterday, I have attached the new patch with 2 changes.
1) Removed unwanted variables from GNUmakefile.am - just kept the variables for built_sources
2) Removed the WebCore/bindings/gobject files from WebCore/GNUmakefile.am and added them to WebKit/gtk/GNUmakefile.am. Now there is no if !ENABLE_WEBKIT2 inside WebCore/GNUmakefile.am</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>320009</commentid>
    <comment_count>62</comment_count>
      <attachid>76169</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-10 00:58:05 -0800</bug_when>
    <thetext>Comment on attachment 76169
Makefile changes to building the WebKit2 GTK port

This looks good to me. I&apos;d love it if a WebKit2 developer could confirm that the change to WebKit2/WebKit2Prefix.h is sane. Perhaps we should leave a comment there explaining the situation before landing this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>321846</commentid>
    <comment_count>63</comment_count>
      <attachid>76169</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-14 02:27:43 -0800</bug_when>
    <thetext>Comment on attachment 76169
Makefile changes to building the WebKit2 GTK port

Rejecting attachment 76169 from commit-queue.

Failed to run &quot;[&apos;./WebKitTools/Scripts/webkit-patch&apos;, &apos;--status-host=queues.webkit.org&apos;, &apos;--bot-id=eseidel-sf&apos;, &apos;apply-attachment&apos;, &apos;--non-interactive&apos;, 76169]&quot; exit_code: 2
Last 500 characters of output:
generate-forwarding-headers.pl
--------------------------
No file to patch.  Skipping patch.
1 out of 1 hunk ignored
patching file WebKitTools/Scripts/webkitdirs.pm
Hunk #1 succeeded at 1352 (offset 2 lines).
patching file configure.ac
Hunk #1 succeeded at 902 (offset 7 lines).
Hunk #2 succeeded at 993 (offset 8 lines).
Hunk #3 succeeded at 1082 (offset 9 lines).

Failed to run &quot;[u&apos;/Projects/CommitQueue/WebKitTools/Scripts/svn-apply&apos;, u&apos;--reviewer&apos;, u&apos;Martin Robinson&apos;, u&apos;--force&apos;]&quot; exit_code: 1

Full output: http://queues.webkit.org/results/7008103</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322279</commentid>
    <comment_count>64</comment_count>
      <attachid>76169</attachid>
    <who name="Eric Seidel (no email)">eric</who>
    <bug_when>2010-12-14 15:17:37 -0800</bug_when>
    <thetext>Comment on attachment 76169
Makefile changes to building the WebKit2 GTK port

Patch no logner applies.  We&apos;ll need a new patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322504</commentid>
    <comment_count>65</comment_count>
      <attachid>76630</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-14 22:24:46 -0800</bug_when>
    <thetext>Created attachment 76630
WebKit2 GTK makefile

Updated the reviewed (r+) WebKit2 GTK Makefile patch to latest trunk revision (74097)</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322614</commentid>
    <comment_count>66</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-15 08:33:17 -0800</bug_when>
    <thetext>The commit-queue encountered the following flaky tests while processing attachment 76630:

inspector/elements-panel-styles.html bug 50987 (author: pfeldman@chromium.org)
http/tests/navigation/post-frames.html bug 51111 (authors: jamesr@chromium.org and mihaip@chromium.org)
The commit-queue is continuing to process your patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322620</commentid>
    <comment_count>67</comment_count>
      <attachid>76630</attachid>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-15 08:51:49 -0800</bug_when>
    <thetext>Comment on attachment 76630
WebKit2 GTK makefile

Clearing flags on attachment: 76630

Committed r74117: &lt;http://trac.webkit.org/changeset/74117&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322621</commentid>
    <comment_count>68</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2010-12-15 08:52:05 -0800</bug_when>
    <thetext>All reviewed patches have been landed.  Closing bug.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>322633</commentid>
    <comment_count>69</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-15 09:35:41 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74117 might have broken GTK Linux 64-bit Debug</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323151</commentid>
    <comment_count>70</comment_count>
      <attachid>76766</attachid>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-16 06:44:15 -0800</bug_when>
    <thetext>Created attachment 76766
Makefile for WebKit2 GTK port

WebKit2 GTK makefile with couple of typo errors fixed which were breaking GTK1 build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323153</commentid>
    <comment_count>71</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-16 06:46:58 -0800</bug_when>
    <thetext>(In reply to comment #69)
&gt; http://trac.webkit.org/changeset/74117 might have broken GTK Linux 64-bit Debug
Attached the new patch which corrects the GTK1 breakage. 
Tested GTK1 with the current patch on both 32-bit &amp; 64-bit debug builds.

Layout Test output with 32-bit Debug build :
16129 test cases (96%) succeeded
482 test cases (2%) had incorrect layout
47 test cases (&lt;1%) were new
1 test case (&lt;1%) timed out
5 test cases (&lt;1%) crashed
102 test cases (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323164</commentid>
    <comment_count>72</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-16 07:29:32 -0800</bug_when>
    <thetext>(In reply to comment #71)
&gt; (In reply to comment #69)
&gt; &gt; http://trac.webkit.org/changeset/74117 might have broken GTK Linux 64-bit Debug
&gt; Attached the new patch which corrects the GTK1 breakage. 
&gt; Tested GTK1 with the current patch on both 32-bit &amp; 64-bit debug builds.
&gt; 
&gt; Layout Test output with 32-bit Debug build :
&gt; 16129 test cases (96%) succeeded
&gt; 482 test cases (2%) had incorrect layout
&gt; 47 test cases (&lt;1%) were new
&gt; 1 test case (&lt;1%) timed out
&gt; 5 test cases (&lt;1%) crashed
&gt; 102 test cases (&lt;1%) had stderr output

Layout Test output with 64-bit Debug build :
16140 test cases (96%) succeeded
460 test cases (2%) had incorrect layout
47 test cases (&lt;1%) were new
17 test cases (&lt;1%) crashed
165 test cases (&lt;1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323358</commentid>
    <comment_count>73</comment_count>
      <attachid>76766</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-16 12:36:36 -0800</bug_when>
    <thetext>Comment on attachment 76766
Makefile for WebKit2 GTK port

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

This patch is very close, but there are a couple issues to fix before it can land. I&apos;ve commented below.

&gt; WebCore/ChangeLog:-645
&gt; -2010-12-15  Amruth Raj  &lt;amruthraj@motorola.com&gt; and Ravi Kasibhatla  &lt;ravi.kasibhatla@motorola.com&gt;
&gt; -
&gt; -        Reviewed by Martin Robinson.
&gt; -
&gt; -        Changes to enable building WebKit2 for Gtk port
&gt; -        (https://bugs.webkit.org/show_bug.cgi?id=37369)
&gt; -
&gt; -        No new functionality added or deleted. Only makefile change. Hence, no tests added.
&gt; -
&gt; -        * GNUmakefile.am: Removed bindings/gobject from webcore_sources &amp; webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
&gt; -        * platform/network/soup/cache/webkit/soup-cache.h: Remove include &lt;webkit/webkitdefines.h&gt; and declare WEBKIT_API directly
&gt; -

You shouldn&apos;t remove lines from the ChangeLog here. I&apos;ll fix this when landing.

&gt; WebKit2/ChangeLog:-278
&gt; -2010-12-15  Amruth Raj  &lt;amruthraj@motorola.com&gt; and Ravi Kasibhatla  &lt;ravi.kasibhatla@motorola.com&gt;
&gt; -
&gt; -        Reviewed by Martin Robinson.
&gt; -
&gt; -        Changes to enable building WebKit2 for Gtk port.
&gt; -        (https://bugs.webkit.org/show_bug.cgi?id=37369)
&gt; -
&gt; -        * GNUmakefile.am: Added. 
&gt; -        * Scripts/generate-forwarding-headers.pl: For GTK port, taking 1 extra argument for copying network headers.
&gt; -        * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header file for WebKit2 sources files.
&gt; -        * gtk: Added.
&gt; -        * gtk/webkit2.pc.in: Added.
&gt; -

Same issue.

&gt; WebKitTools/ChangeLog:-195
&gt; -2010-12-15  Amruth Raj  &lt;amruthraj@motorola.com&gt; and Ravi Kasibhatla  &lt;ravi.kasibhatla@motorola.com&gt;
&gt; -
&gt; -        Reviewed by Martin Robinson.
&gt; -
&gt; -        Change generate-forwarding-headers.pl for GTK port usage 
&gt; -        (https://bugs.webkit.org/show_bug.cgi?id=37369)
&gt; -
&gt; -        * Scripts/webkitdirs.pm: Added changes to build webkit2 for GTK port using build-webkit script.
&gt; -

Ditto.

&gt; WebKitTools/Scripts/webkitdirs.pm:1356
&gt; +        } elsif ($opt =~ /^--webkit2/i ) {
&gt; +            push @buildArgs, &quot;--enable-webkit2&quot;;

This change seems unrelated. Are they necessary, or is it possible to just remove this before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323557</commentid>
    <comment_count>74</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-16 18:13:55 -0800</bug_when>
    <thetext>(In reply to comment #73)
&gt; (From update of attachment 76766 [details])
&gt; View in context: https://bugs.webkit.org/attachment.cgi?id=76766&amp;action=review
&gt; 
&gt; This patch is very close, but there are a couple issues to fix before it can land. I&apos;ve commented below.
&gt; 
&gt; &gt; WebCore/ChangeLog:-645
&gt; &gt; -2010-12-15  Amruth Raj  &lt;amruthraj@motorola.com&gt; and Ravi Kasibhatla  &lt;ravi.kasibhatla@motorola.com&gt;
&gt; &gt; -
&gt; &gt; -        Reviewed by Martin Robinson.
&gt; &gt; -
&gt; &gt; -        Changes to enable building WebKit2 for Gtk port
&gt; &gt; -        (https://bugs.webkit.org/show_bug.cgi?id=37369)
&gt; &gt; -
&gt; &gt; -        No new functionality added or deleted. Only makefile change. Hence, no tests added.
&gt; &gt; -
&gt; &gt; -        * GNUmakefile.am: Removed bindings/gobject from webcore_sources &amp; webcore_cppflags and added them to WebKit/gtk/GNUmakefile.am
&gt; &gt; -        * platform/network/soup/cache/webkit/soup-cache.h: Remove include &lt;webkit/webkitdefines.h&gt; and declare WEBKIT_API directly
&gt; &gt; -
&gt; 
&gt; You shouldn&apos;t remove lines from the ChangeLog here. I&apos;ll fix this when landing.
&gt; 
&gt; &gt; WebKit2/ChangeLog:-278
&gt; &gt; -2010-12-15  Amruth Raj  &lt;amruthraj@motorola.com&gt; and Ravi Kasibhatla  &lt;ravi.kasibhatla@motorola.com&gt;
&gt; &gt; -
&gt; &gt; -        Reviewed by Martin Robinson.
&gt; &gt; -
&gt; &gt; -        Changes to enable building WebKit2 for Gtk port.
&gt; &gt; -        (https://bugs.webkit.org/show_bug.cgi?id=37369)
&gt; &gt; -
&gt; &gt; -        * GNUmakefile.am: Added. 
&gt; &gt; -        * Scripts/generate-forwarding-headers.pl: For GTK port, taking 1 extra argument for copying network headers.
&gt; &gt; -        * WebKit2Prefix.h: Included WebCore/config.h for GTK port as the first header file for WebKit2 sources files.
&gt; &gt; -        * gtk: Added.
&gt; &gt; -        * gtk/webkit2.pc.in: Added.
&gt; &gt; -
&gt; 
&gt; Same issue.
&gt; 
&gt; &gt; WebKitTools/ChangeLog:-195
&gt; &gt; -2010-12-15  Amruth Raj  &lt;amruthraj@motorola.com&gt; and Ravi Kasibhatla  &lt;ravi.kasibhatla@motorola.com&gt;
&gt; &gt; -
&gt; &gt; -        Reviewed by Martin Robinson.
&gt; &gt; -
&gt; &gt; -        Change generate-forwarding-headers.pl for GTK port usage 
&gt; &gt; -        (https://bugs.webkit.org/show_bug.cgi?id=37369)
&gt; &gt; -
&gt; &gt; -        * Scripts/webkitdirs.pm: Added changes to build webkit2 for GTK port using build-webkit script.
&gt; &gt; -
&gt; 
&gt; Ditto.
&gt; 
&gt; &gt; WebKitTools/Scripts/webkitdirs.pm:1356
&gt; &gt; +        } elsif ($opt =~ /^--webkit2/i ) {
&gt; &gt; +            push @buildArgs, &quot;--enable-webkit2&quot;;
&gt; 
&gt; This change seems unrelated. Are they necessary, or is it possible to just remove this before landing?
It was added so that we can build WebKit2 through the &quot;build-webkit&quot; script. We could land this separately also (once complete WebKit2 patch is in).</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>323696</commentid>
    <comment_count>75</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-17 03:56:28 -0800</bug_when>
    <thetext>(In reply to comment #72)
&gt; (In reply to comment #71)
&gt; &gt; (In reply to comment #69)
&gt; &gt; &gt; http://trac.webkit.org/changeset/74117 might have broken GTK Linux 64-bit Debug
&gt; &gt; Attached the new patch which corrects the GTK1 breakage. 
&gt; &gt; Tested GTK1 with the current patch on both 32-bit &amp; 64-bit debug builds.
&gt; &gt; 
&gt; &gt; Layout Test output with 32-bit Debug build :
&gt; &gt; 16129 test cases (96%) succeeded
&gt; &gt; 482 test cases (2%) had incorrect layout
&gt; &gt; 47 test cases (&lt;1%) were new
&gt; &gt; 1 test case (&lt;1%) timed out
&gt; &gt; 5 test cases (&lt;1%) crashed
&gt; &gt; 102 test cases (&lt;1%) had stderr output
&gt; 
&gt; Layout Test output with 64-bit Debug build :
&gt; 16140 test cases (96%) succeeded
&gt; 460 test cases (2%) had incorrect layout
&gt; 47 test cases (&lt;1%) were new
&gt; 17 test cases (&lt;1%) crashed
&gt; 165 test cases (&lt;1%) had stderr output


Layout Test results with xvfb:
32-bit build:
16376 test cases (98%) succeeded
238 test cases (1%) had incorrect layout
47 test cases (&lt;1%) were new
1 test case (&lt;1%) timed out
2 test cases (&lt;1%) crashed
171 test cases (1%) had stderr output

64-bit build:
16483 test cases (98%) succeeded
127 test cases (&lt;1%) had incorrect layout
47 test cases (&lt;1%) were new
2 test cases (&lt;1%) timed out
5 test cases (&lt;1%) crashed
235 test cases (1%) had stderr output</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327129</commentid>
    <comment_count>76</comment_count>
      <attachid>76766</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 15:16:06 -0800</bug_when>
    <thetext>Comment on attachment 76766
Makefile for WebKit2 GTK port

I Will fix the remaining issues while landing this one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327130</commentid>
    <comment_count>77</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 15:16:38 -0800</bug_when>
    <thetext>Reopening this bug until the patch lands.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327151</commentid>
    <comment_count>78</comment_count>
      <attachid>77527</attachid>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 16:39:18 -0800</bug_when>
    <thetext>Created attachment 77527
Patch with suggested changes</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327152</commentid>
    <comment_count>79</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-27 16:40:57 -0800</bug_when>
    <thetext>I&apos;ve uploaded a modified version of the patch fixing the issues I mentioned as well with a few other changes:

1. Remove the need to modify generate-forwarding-headers. The appropriate thing here is to call it twice, I think.
2. Some small cleanups.

Amruth and Ravi, can you take a look and ensure that these changes fit with your work?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327181</commentid>
    <comment_count>80</comment_count>
    <who name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</who>
    <bug_when>2010-12-27 21:03:52 -0800</bug_when>
    <thetext>(In reply to comment #79)
&gt; I&apos;ve uploaded a modified version of the patch fixing the issues I mentioned as well with a few other changes:
&gt; 
&gt; 1. Remove the need to modify generate-forwarding-headers. The appropriate thing here is to call it twice, I think.
&gt; 2. Some small cleanups.
&gt; 
&gt; Amruth and Ravi, can you take a look and ensure that these changes fit with your work?

The patch looks fine and works well.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327722</commentid>
    <comment_count>81</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-29 15:45:48 -0800</bug_when>
    <thetext>I had Xan Lopez double-check my modifications to Amruth and Ravi&apos;s patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327724</commentid>
    <comment_count>82</comment_count>
    <who name="Martin Robinson">mrobinson</who>
    <bug_when>2010-12-29 15:47:05 -0800</bug_when>
    <thetext>Committed r74766: &lt;http://trac.webkit.org/changeset/74766&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>327751</commentid>
    <comment_count>83</comment_count>
    <who name="WebKit Review Bot">webkit.review.bot</who>
    <bug_when>2010-12-29 16:54:13 -0800</bug_when>
    <thetext>http://trac.webkit.org/changeset/74766 might have broken GTK Linux 64-bit Debug
The following tests are not passing:
editing/selection/extend-by-character-005.html</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53003</attachid>
            <date>2010-04-09 15:43:16 -0700</date>
            <delta_ts>2010-04-10 09:21:20 -0700</delta_ts>
            <desc>non-working work in progress patch</desc>
            <filename>0001-Very-initial-work-in-progress-changes-to-get-WebKit2.patch</filename>
            <type>text/plain</type>
            <size>9526</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSA1MDg2YTg3OWIyNmQ1ZmU2YzdjYzUyMzFhMTYxNzlkYzk1MjNlODkwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IEZyaSwgOSBBcHIgMjAxMCAxOTozMzoyNCAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIFZl
cnkgaW5pdGlhbCB3b3JrIGluIHByb2dyZXNzIGNoYW5nZXMgdG8gZ2V0IFdlYktpdDIgYnVpbGRp
bmcgb24gdGhlIEdUSysgYnVpbGQgc3lzdGVtCgotLS0KIEdOVW1ha2VmaWxlLmFtICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1NyArKysrKysrKysrKysrKysrKysrKysrKwog
V2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSAgICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM2ICsr
KysrKysrKysrKysrCiBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmNw
cCAgICB8ICAgIDMgKwogV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5j
cHAgICAgfCAgICAyICsKIFdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmggICAg
ICAgICAgIHwgICAgMiArCiBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oICAg
ICAgICAgICB8ICAgIDQgKy0KIFdlYktpdDIvUGxhdGZvcm0vV29ya1F1ZXVlLmNwcCAgICAgICAg
ICAgICAgICAgIHwgICAgMSArCiBXZWJLaXQyL1NoYXJlZC9XZWJDb3JlVHlwZUFyZ3VtZW50TWFy
c2hhbGxpbmcuaCB8ICAgIDggKystLQogV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaCAgICAgICAg
ICAgICAgICAgICAgICAgfCAgICAyICstCiBXZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNp
b24uY3BwICAgICAgICAgICB8ICAgIDMgKy0KIFdlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29udmVy
c2lvbi5oICAgICAgICAgICAgIHwgICAgNiArLQogY29uZmlndXJlLmFjICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfCAgICA5ICsrKysKIDEyIGZpbGVzIGNoYW5nZWQsIDEyMiBp
bnNlcnRpb25zKCspLCAxMSBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQy
L0dOVW1ha2VmaWxlLmFtCgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9HTlVtYWtlZmls
ZS5hbQppbmRleCAzYmRmZTUzLi4yMzhlNTNlIDEwMDY0NAotLS0gYS9HTlVtYWtlZmlsZS5hbQor
KysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtNzksNiArNzksOCBAQCBnbG9iYWxfY2ZsYWdzIDo9CiBn
bG9iYWxfY3h4ZmxhZ3MgOj0KIGNvcmVraXRfY2ZsYWdzIDo9CiBjb3Jla2l0X2NwcGZsYWdzIDo9
Cit3ZWJraXQyX2NwcGZsYWdzOj0KK3dlYmtpdDJfc291cmNlcyA6PQogSlNDT1JFX0dJUlNPVVJD
RVMgOj0KIFdFQktJVF9HSVJTT1VSQ0VTIDo9CiB0eXBlbGlic2RpciA6PQpAQCAtMTU3LDYgKzE1
OSwxMSBAQCBsaWJfTFRMSUJSQVJJRVMgPSBcCiBub2luc3RfTFRMSUJSQVJJRVMgKz0gXAogCWxp
YkphdmFTY3JpcHRDb3JlLmxhCiAKK2lmIEVOQUJMRV9XRUJLSVQyCitub2luc3RfTFRMSUJSQVJJ
RVMgKz0gXAorCWxpYndlYmtpdDIubGEKK2VuZGlmCisKICMgSmF2YVNjcmlwdENvcmUKIGphdmFz
Y3JpcHRjb3JlX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9KYXZhU2NyaXB0Q29yZS9Gb3J3
YXJkaW5nSGVhZGVycyBcCkBAIC0yNTksNiArMjY2LDUwIEBAIGxpYndlYmtpdF8xXzBfbGFfTElC
QUREID0gXAogCSQoVU5JQ09ERV9MSUJTKSBcCiAJJChYVF9MSUJTKQogCisjIFdlYktpdDIKK2lm
IEVOQUJMRV9XRUJLSVQyCitsaWJ3ZWJraXQyX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJraXQyX3Nv
dXJjZXMpCisKK2xpYndlYmtpdDJfbGFfQ1hYRkxBR1MgPSBcCisJJChnbG9iYWxfY3h4ZmxhZ3Mp
IFwKKwkkKGNvcmVraXRfY2ZsYWdzKQorCitsaWJ3ZWJraXQyX2xhX0NGTEFHUyA9IFwKKwkkKGds
b2JhbF9jZmxhZ3MpIFwKKwkkKGNvcmVraXRfY2ZsYWdzKQorCitsaWJ3ZWJraXQyX2xhX0NQUEZM
QUdTID0gXAorCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJJChjb3Jla2l0X2NwcGZsYWdzKSBcCisJ
JCh3ZWJraXQyX2NwcGZsYWdzKQorCitsaWJ3ZWJraXQyX2xhX0xJQkFERCA9IFwKKwktbHB0aHJl
YWQgXAorCWxpYkphdmFTY3JpcHRDb3JlLmxhIFwKKwlsaWJXZWJDb3JlSlMubGEgXAorCSQod2Vi
Y29yZV9sZGZsYWdzKSBcCisJJChDQUlST19MSUJTKSBcCisJJChDT1ZFUkFHRV9MREZMQUdTKSBc
CisJJChFTkNIQU5UX0xJQlMpIFwKKwkkKEZSRUVUWVBFX0xJQlMpIFwKKwkkKEdBSUxfTElCUykg
XAorCSQoR0VPQ0xVRV9MSUJTKSBcCisJJChHTElCX0xJQlMpIFwKKwkkKEdTVFJFQU1FUl9MSUJT
KSBcCisJJChHVEtfTElCUykgXAorCSQoSElMRE9OX0xJQlMpIFwKKwkkKEpQRUdfTElCUykgXAor
CSQoTElCU09VUF9MSUJTKSBcCisJJChMSUJYTUxfTElCUykgXAorCSQoTElCWFNMVF9MSUJTKSBc
CisJJChQQU5HT19MSUJTKSBcCisJJChQTkdfTElCUykgXAorCSQoU1FMSVRFM19MSUJTKSBcCisJ
JChVTklDT0RFX0xJQlMpIFwKKwkkKFhUX0xJQlMpCitlbmRpZgorCiAjCiAjIEV4dHJhIGNoZWNr
cyBhbmQgZmxhZ3MKIGdsb2JhbF9jcHBmbGFncyArPSBcCkBAIC01NDAsNiArNTkxLDEyIEBAIGlu
Y2x1ZGUgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXRUb29scy9HTlVtYWtl
ZmlsZS5hbQogaW5jbHVkZSBXZWJLaXQvZ3RrL3BvL0dOVW1ha2VmaWxlLmFtCiAKKyMgV2ViS2l0
MgoraWYgRU5BQkxFX1dFQktJVDIKK2luY2x1ZGUgV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorZW5k
aWYKKworCiAjIEJ1aWxkIHVuaXQgdGVzdHMKIG5vaW5zdF9QUk9HUkFNUyArPSAkKFRFU1RfUFJP
R1MpCiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvR05VbWFrZWZpbGUuYW0gYi9XZWJLaXQyL0dOVW1h
a2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjgyZWYxYmUKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0wLDAgKzEsMzYgQEAK
K3dlYmtpdDJfY3BwZmxhZ3MgKz0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvU2hhcmVkIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0KKword2Via2l0Ml9zb3VyY2VzICs9
IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmNwcCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0FyZ3VtZW50RW5jb2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1l
bnRzLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmNwcCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0F0dGFjaG1lbnQuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0Nvbm5lY3Rpb24uY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVj
dGlvbi5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmggXAorCVdlYktp
dDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIFwKKwlXZWJLaXQyL1BsYXRm
b3JtL1J1bkxvb3AuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuaCBcCisJV2ViS2l0
Mi9QbGF0Zm9ybS9Xb3JrSXRlbS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5jcHAg
XAorCVdlYktpdDIvUGxhdGZvcm0vV29ya1F1ZXVlLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJ
UENTdXBwb3J0L0RyYXdpbmdBcmVhTWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0Nv
cmVJUENTdXBwb3J0L0RyYXdpbmdBcmVhUHJveHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFnZU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1No
YXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc01lc3NhZ2VLaW5kcy5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9LVVJMV3JhcHBlci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Ob3RJbXBsZW1lbnRl
ZC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJDb3JlVHlwZUFyZ3VtZW50TWFyc2hhbGxpbmcuaCBc
CisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvV2ViRXZlbnRDb252ZXJzaW9uLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwIFwKKwlXZWJLaXQyL1NoYXJl
ZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmgKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9Bcmd1bWVudERlY29kZXIuY3BwIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3Vt
ZW50RGVjb2Rlci5jcHAKaW5kZXggNDI1Zjk2Zi4uMmMwZWU3ZiAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKKysrIGIvV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKQEAgLTI1LDYgKzI1LDkgQEAKIAogI2lu
Y2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgogCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRl
IDxzdHJpbmcuaD4KKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIENvcmVJUEMg
ewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5j
cHAgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAppbmRleCA0
OTc2YWRiLi43ZmY1YWUwIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJn
dW1lbnRFbmNvZGVyLmNwcAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRF
bmNvZGVyLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5o
IgogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVkZSA8
c3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIv
UGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
QXR0YWNobWVudC5oCmluZGV4IDZjYWNmZmEuLmY5YmVhNGIgMTAwNjQ0Ci0tLSBhL1dlYktpdDIv
UGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0F0dGFjaG1lbnQuaApAQCAtMjYsNiArMjYsOCBAQAogI2lmbmRlZiBBdHRhY2htZW50X2gK
ICNkZWZpbmUgQXR0YWNobWVudF9oCiAKKyNpbmNsdWRlIDxjb25maWcuaD4KKwogbmFtZXNwYWNl
IENvcmVJUEMgewogCiBjbGFzcyBBcmd1bWVudERlY29kZXI7CmRpZmYgLS1naXQgYS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0Nvbm5lY3Rpb24uaAppbmRleCA1NjQ0ZDY5Li5kZWQxZjZkIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9Db25uZWN0aW9uLmgKQEAgLTQxLDcgKzQxLDcgQEAKIAogI2lmIFBMQVRGT1JNKE1BQykK
ICNpbmNsdWRlIDxtYWNoL21hY2hfcG9ydC5oPgotI2VsaWYgUExBVEZPUk0oV0lOKQorI2VsaWYg
UExBVEZPUk0oV0lOKSB8fCBPUyhMSU5VWCkKICNpbmNsdWRlIDxzdHJpbmc+CiAjZW5kaWYKIApA
QCAtNjQsNyArNjQsNyBAQCBwdWJsaWM6CiAKICNpZiBQTEFURk9STShNQUMpCiAgICAgdHlwZWRl
ZiBtYWNoX3BvcnRfdCBJZGVudGlmaWVyOwotI2VsaWYgUExBVEZPUk0oV0lOKQorI2VsaWYgUExB
VEZPUk0oV0lOKSB8fCBPUyhMSU5VWCkKICAgICB0eXBlZGVmIGNvbnN0IHN0ZDo6d3N0cmluZyYg
SWRlbnRpZmllcjsKICNlbmRpZgogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL1dvcmtR
dWV1ZS5jcHAgYi9XZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5jcHAKaW5kZXggZGU4MmM4MC4u
NmJjZGQyMiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuY3BwCisrKyBi
L1dlYktpdDIvUGxhdGZvcm0vV29ya1F1ZXVlLmNwcApAQCAtMjMsNiArMjMsNyBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKKyNpbmNsdWRlICJjb25maWcuaCIK
ICNpbmNsdWRlICJXb3JrUXVldWUuaCIKIAogV29ya1F1ZXVlOjpXb3JrUXVldWUoY29uc3QgY2hh
ciogbmFtZSkKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1dlYkNvcmVUeXBlQXJndW1lbnRN
YXJzaGFsbGluZy5oIGIvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZVR5cGVBcmd1bWVudE1hcnNoYWxs
aW5nLmgKaW5kZXggYTc1M2U1OS4uOTdlZmY4YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQv
V2ViQ29yZVR5cGVBcmd1bWVudE1hcnNoYWxsaW5nLmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZVR5cGVBcmd1bWVudE1hcnNoYWxsaW5nLmgKQEAgLTI5LDEwICsyOSwxMCBAQAogI2luY2x1
ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgogI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgogI2lu
Y2x1ZGUgIkFyZ3VtZW50cy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvRmxvYXRSZWN0Lmg+Ci0jaW5j
bHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0cmlu
Zy5oPgotI2luY2x1ZGUgPFdlYkNvcmUvS1VSTC5oPgorI2luY2x1ZGUgIkZsb2F0UmVjdC5oIgor
I2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1
ZGUgIktVUkwuaCIKIAogbmFtZXNwYWNlIENvcmVJUEMgewogbmFtZXNwYWNlIEFyZ3VtZW50Q29k
ZXJzIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmggYi9XZWJLaXQyL1No
YXJlZC9XZWJFdmVudC5oCmluZGV4IDg5ODYxYjUuLjkzYjgyN2EgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvU2hhcmVkL1dlYkV2ZW50LmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaApAQCAt
MzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgogI2luY2x1ZGUgIkFy
Z3VtZW50RW5jb2Rlci5oIgogI2luY2x1ZGUgIldlYkNvcmVUeXBlQXJndW1lbnRNYXJzaGFsbGlu
Zy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJpbmcuaD4KKyNpbmNsdWRlICJQbGF0
Zm9ybVN0cmluZy5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBiL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50
Q29udmVyc2lvbi5jcHAKaW5kZXggZTNkZDMyMC4uNjVjYzc4ZSAxMDA2NDQKLS0tIGEvV2ViS2l0
Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcAorKysgYi9XZWJLaXQyL1NoYXJlZC9XZWJF
dmVudENvbnZlcnNpb24uY3BwCkBAIC0yMywxMCArMjMsMTEgQEAKICAqIFRIRSBQT1NTSUJJTElU
WSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaW5jbHVkZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAi
V2ViRXZlbnRDb252ZXJzaW9uLmgiCiAKICNpbmNsdWRlICJXZWJFdmVudC5oIgotI2luY2x1ZGUg
PFdlYkNvcmUvSW50UG9pbnQuaD4KKyNpbmNsdWRlICJJbnRQb2ludC5oIgogCiBuYW1lc3BhY2Ug
V2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9u
LmggYi9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaAppbmRleCBlNmRlMmE3Li41
MjliNTBhIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaAor
KysgYi9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaApAQCAtMjYsOSArMjYsOSBA
QAogI2lmbmRlZiBXZWJFdmVudENvbnZlcnNpb25faAogI2RlZmluZSBXZWJFdmVudENvbnZlcnNp
b25faAogCi0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4KLSNpbmNs
dWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVudC5oPgotI2luY2x1ZGUgPFdlYkNvcmUvUGxh
dGZvcm1XaGVlbEV2ZW50Lmg+CisjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50LmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1XaGVlbEV2
ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMg
Yi9jb25maWd1cmUuYWMKaW5kZXggMjJiZDU0NS4uMmRiZTRjYyAxMDA2NDQKLS0tIGEvY29uZmln
dXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtNjMyLDYgKzYzMiwxNCBAQCBpZiB0ZXN0ICIk
ZW5hYmxlX2ppdCIgPSAieWVzIjsgdGhlbgogZmkKIEFDX01TR19SRVNVTFQoWyRlbmFibGVfaml0
XSkKIAorIyBXaGV0aGVyIHRvIGJ1aWxkIFdlYktpdDIKK0FDX01TR19DSEVDS0lORyhbd2hldGhl
ciB0byBhbHNvIGJ1aWxkIFdlYktpdDIgcGllY2VzXSkKK0FDX0FSR19FTkFCTEUod2Via2l0MiwK
KyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXdlYmtpdDJdLAorICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICBbYWxzbyBidWlsZCBleGlzdGluZyB3ZWJraXQyIHBpZWNl
cyBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV93ZWJraXQyPSJubyJd
KQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV93ZWJraXRdKQorCiAjIEdPYmplY3QgSW50cm9zcGVj
dGlvbgogQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBHT2JqZWN0IGludHJvc3Bl
Y3Rpb24gc3VwcG9ydF0pCiBBQ19BUkdfRU5BQkxFKFtpbnRyb3NwZWN0aW9uXSwKQEAgLTg0Niw2
ICs4NTQsNyBAQCBBTV9DT05ESVRJT05BTChbRU5BQkxFX1NIQVJFRF9XT1JLRVJTXSxbdGVzdCAi
JGVuYWJsZV9zaGFyZWRfd29ya2VycyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbU1ZHX0ZM
QUdTXSxbdGVzdCAiJHN2Z19mbGFncyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbSFRNTF9G
TEFHU10sW3Rlc3QgIiRodG1sX2ZsYWdzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFC
TEVfV0VCX1NPQ0tFVFNdLFt0ZXN0ICIkZW5hYmxlX3dlYl9zb2NrZXRzIiA9ICJ5ZXMiXSkKK0FN
X0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCS0lUMl0sW3Rlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAi
eWVzIl0pCiAKICMgR3RrIGNvbmRpdGlvbmFscwogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JTlRS
T1NQRUNUSU9OXSxbdGVzdCAiJGVuYWJsZV9pbnRyb3NwZWN0aW9uIiA9ICJ5ZXMiXSkKLS0gCjEu
Ny4wLjMKCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53043</attachid>
            <date>2010-04-10 09:21:20 -0700</date>
            <delta_ts>2010-08-03 15:32:52 -0700</delta_ts>
            <desc>First try!</desc>
            <filename>0001-First-go-at-building-webkit2-bits-on-Linux-GTK.patch</filename>
            <type>text/plain</type>
            <size>12344</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSAzMDBhMWVkNTI0MzVkNmVmODJlYWVjYWQ1NDExNjQ4MjFjZTkyZWVjIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IEZyaSwgOSBBcHIgMjAxMCAxOTozMzoyNCAtMDMwMApTdWJqZWN0OiBbUEFUQ0hdIEZp
cnN0IGdvIGF0IGJ1aWxkaW5nIHdlYmtpdDIgYml0cyBvbiBMaW51eC9HVEsrLgoKLS0tCiBDaGFu
Z2VMb2cgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTIgKysrKysK
IEdOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgICA1NyAr
KysrKysrKysrKysrKysrKysrKysrKwogV2ViS2l0Mi9DaGFuZ2VMb2cgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfCAgIDIzICsrKysrKysrKwogV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSAg
ICAgICAgICAgICAgICAgICAgICAgICAgfCAgIDM4ICsrKysrKysrKysrKysrKwogV2ViS2l0Mi9M
aW51eFdlYktpdDJQcmVmaXguaCAgICAgICAgICAgICAgICAgICAgfCAgIDI3ICsrKysrKysrKysr
CiBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmNwcCAgICB8ICAgIDMg
KwogV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAgICAgfCAgICAy
ICsKIFdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmggICAgICAgICAgIHwgICAg
MiArCiBXZWJLaXQyL1NoYXJlZC9XZWJDb3JlVHlwZUFyZ3VtZW50TWFyc2hhbGxpbmcuaCB8ICAg
IDggKystLQogV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaCAgICAgICAgICAgICAgICAgICAgICAg
fCAgICAyICstCiBXZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwICAgICAgICAg
ICB8ICAgIDIgKy0KIFdlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5oICAgICAgICAg
ICAgIHwgICAgNiArLQogV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oICAgICAg
ICAgICAgfCAgICAyICstCiBjb25maWd1cmUuYWMgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICB8ICAgIDkgKysrKwogMTQgZmlsZXMgY2hhbmdlZCwgMTgzIGluc2VydGlvbnMoKyks
IDEwIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdDIvR05VbWFrZWZpbGUu
YW0KIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJLaXQyL0xpbnV4V2ViS2l0MlByZWZpeC5oCgpkaWZm
IC0tZ2l0IGEvQ2hhbmdlTG9nIGIvQ2hhbmdlTG9nCmluZGV4IDg5MzM5N2EuLmNlMzVmY2UgMTAw
NjQ0Ci0tLSBhL0NoYW5nZUxvZworKysgYi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAx
MC0wNC0xMCAgR3VzdGF2byBOb3JvbmhhIFNpbHZhICA8Z25zQGdub21lLm9yZz4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBQcm92aWRlIGEgYnVpbGQg
b3B0aW9uIHRvIGVuYWJsZSBidWlsZGluZyBXZWJLaXQyLgorCisgICAgICAgIFtHVEtdIEVuYWJs
ZSBidWlsZGluZyB3aGF0ZXZlciBhbHJlYWR5IGV4aXN0cyBvZiBXZWJLaXQyCisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OQorCisgICAgICAgICog
R05VbWFrZWZpbGUuYW06IE5ldyBsaWJyYXJ5IGxpYndlYmtpdDIubGEuCisgICAgICAgICogY29u
ZmlndXJlLmFjOgorCiAyMDEwLTA0LTA5ICBTaW1vbiBIYXVzbWFubiAgPHNpbW9uLmhhdXNtYW5u
QG5va2lhLmNvbT4KIAogICAgICAgICBVbnJldmlld2VkIGNyYXNoIGZpeC4KZGlmZiAtLWdpdCBh
L0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggM2JkZmU1My4uZDU3YmYyZiAx
MDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTc5LDYg
Kzc5LDggQEAgZ2xvYmFsX2NmbGFncyA6PQogZ2xvYmFsX2N4eGZsYWdzIDo9CiBjb3Jla2l0X2Nm
bGFncyA6PQogY29yZWtpdF9jcHBmbGFncyA6PQord2Via2l0Ml9jcHBmbGFnczo9Cit3ZWJraXQy
X3NvdXJjZXMgOj0KIEpTQ09SRV9HSVJTT1VSQ0VTIDo9CiBXRUJLSVRfR0lSU09VUkNFUyA6PQog
dHlwZWxpYnNkaXIgOj0KQEAgLTE1Nyw2ICsxNTksMTEgQEAgbGliX0xUTElCUkFSSUVTID0gXAog
bm9pbnN0X0xUTElCUkFSSUVTICs9IFwKIAlsaWJKYXZhU2NyaXB0Q29yZS5sYQogCitpZiBFTkFC
TEVfV0VCS0lUMgorbm9pbnN0X0xUTElCUkFSSUVTICs9IFwKKwlsaWJ3ZWJraXQyLmxhCitlbmRp
ZgorCiAjIEphdmFTY3JpcHRDb3JlCiBqYXZhc2NyaXB0Y29yZV9jcHBmbGFncyArPSBcCiAJLUkk
KHNyY2RpcikvSmF2YVNjcmlwdENvcmUvRm9yd2FyZGluZ0hlYWRlcnMgXApAQCAtMjU5LDYgKzI2
Niw1MCBAQCBsaWJ3ZWJraXRfMV8wX2xhX0xJQkFERCA9IFwKIAkkKFVOSUNPREVfTElCUykgXAog
CSQoWFRfTElCUykKIAorIyBXZWJLaXQyCitpZiBFTkFCTEVfV0VCS0lUMgorbGlid2Via2l0Ml9s
YV9TT1VSQ0VTID0gXAorCSQod2Via2l0Ml9zb3VyY2VzKQorCitsaWJ3ZWJraXQyX2xhX0NYWEZM
QUdTID0gXAorCSQoZ2xvYmFsX2N4eGZsYWdzKSBcCisJJChjb3Jla2l0X2NmbGFncykKKworbGli
d2Via2l0Ml9sYV9DRkxBR1MgPSBcCisJJChnbG9iYWxfY2ZsYWdzKSBcCisJJChjb3Jla2l0X2Nm
bGFncykKKworbGlid2Via2l0Ml9sYV9DUFBGTEFHUyA9IFwKKwkkKHdlYmtpdDJfY3BwZmxhZ3Mp
IFwKKwkkKGdsb2JhbF9jcHBmbGFncykgXAorCSQoY29yZWtpdF9jcHBmbGFncykKKworbGlid2Vi
a2l0Ml9sYV9MSUJBREQgPSBcCisJLWxwdGhyZWFkIFwKKwlsaWJKYXZhU2NyaXB0Q29yZS5sYSBc
CisJbGliV2ViQ29yZUpTLmxhIFwKKwkkKHdlYmNvcmVfbGRmbGFncykgXAorCSQoQ0FJUk9fTElC
UykgXAorCSQoQ09WRVJBR0VfTERGTEFHUykgXAorCSQoRU5DSEFOVF9MSUJTKSBcCisJJChGUkVF
VFlQRV9MSUJTKSBcCisJJChHQUlMX0xJQlMpIFwKKwkkKEdFT0NMVUVfTElCUykgXAorCSQoR0xJ
Ql9MSUJTKSBcCisJJChHU1RSRUFNRVJfTElCUykgXAorCSQoR1RLX0xJQlMpIFwKKwkkKEhJTERP
Tl9MSUJTKSBcCisJJChKUEVHX0xJQlMpIFwKKwkkKExJQlNPVVBfTElCUykgXAorCSQoTElCWE1M
X0xJQlMpIFwKKwkkKExJQlhTTFRfTElCUykgXAorCSQoUEFOR09fTElCUykgXAorCSQoUE5HX0xJ
QlMpIFwKKwkkKFNRTElURTNfTElCUykgXAorCSQoVU5JQ09ERV9MSUJTKSBcCisJJChYVF9MSUJT
KQorZW5kaWYKKwogIwogIyBFeHRyYSBjaGVja3MgYW5kIGZsYWdzCiBnbG9iYWxfY3BwZmxhZ3Mg
Kz0gXApAQCAtNTQwLDYgKzU5MSwxMiBAQCBpbmNsdWRlIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0K
IGluY2x1ZGUgV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViS2l0L2d0ay9w
by9HTlVtYWtlZmlsZS5hbQogCisjIFdlYktpdDIKK2lmIEVOQUJMRV9XRUJLSVQyCitpbmNsdWRl
IFdlYktpdDIvR05VbWFrZWZpbGUuYW0KK2VuZGlmCisKKwogIyBCdWlsZCB1bml0IHRlc3RzCiBu
b2luc3RfUFJPR1JBTVMgKz0gJChURVNUX1BST0dTKQogCmRpZmYgLS1naXQgYS9XZWJLaXQyL0No
YW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDg2MjUzYWUuLjdmMWUyOWIgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMjYgQEAKKzIwMTAtMDQtMTAgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5v
cmc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgRmly
c3Qgc3RlcCB0b3dhcmRzIGhhdmluZyBhIExpbnV4L0dUSysgYnVpbGQgb2YgV2ViS2l0Mi4KKwor
ICAgICAgICBbR1RLXSBFbmFibGUgYnVpbGRpbmcgd2hhdGV2ZXIgYWxyZWFkeSBleGlzdHMgb2Yg
V2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzczNjkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZC4KKyAgICAgICAgKiBMaW51
eFdlYktpdDJQcmVmaXguaDogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudERlY29kZXIuY3BwOiBBZGQgbWlzc2luZyBpbmNsdWRlcy4KKyAgICAgICAgKiBQbGF0Zm9y
bS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHA6IEFkZCBtaXNzaW5nIGluY2x1ZGVzLgorICAg
ICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oOiBVc2UgaW50IGFzIG91ciBpZGVu
dGlmaWVyLCBmb3IKKyAgICAgICAgICBub3cuIFdlIG5lZWQgdG8gZGlzY3VzcyB3aGF0IHRvIHVz
ZSBmb3IgSVBDLCBidXQgc29ja2V0cGFpcigpIGlzIGEKKyAgICAgICAgICBsaWtlbHkgY2FuZGlk
YXRlLgorICAgICAgICAqIFNoYXJlZC9XZWJDb3JlVHlwZUFyZ3VtZW50TWFyc2hhbGxpbmcuaDog
Rml4IGluY2x1ZGUgcGF0aHMgdG8gYmUKKyAgICAgICAgICBob3BlZnVsbHkgd29yayBjcm9zcy1w
bGF0Zm9ybS4KKyAgICAgICAgKiBTaGFyZWQvV2ViRXZlbnQuaDogRGl0dG8uCisgICAgICAgICog
U2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHA6IERpdHRvLgorICAgICAgICAqIFNoYXJlZC9X
ZWJFdmVudENvbnZlcnNpb24uaDogRGl0dG8uCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuaDogRGl0dG8uCisKIDIwMTAtMDQtMDkgIE1hcmsgUm93ZSAgPG1yb3dlQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgpkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9k
ZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uYTRkNjdlMAotLS0gL2Rldi9udWxsCisrKyBiL1dlYktp
dDIvR05VbWFrZWZpbGUuYW0KQEAgLTAsMCArMSwzOCBAQAord2Via2l0Ml9jcHBmbGFncyArPSBc
CisJLWluY2x1ZGUgJChzcmNkaXIpL1dlYktpdDIvTGludXhXZWJLaXQyUHJlZml4LmggXAorCS1J
JChzcmNkaXIpL1dlYktpdDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkIFwKKwktSSQo
c3JjZGlyKS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
UGxhdGZvcm0KKword2Via2l0Ml9zb3VyY2VzICs9IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMvQXJndW1lbnREZWNvZGVyLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3Vt
ZW50RGVjb2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVy
LmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRzLmggXAorCVdlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9BdHRhY2htZW50LmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0F0dGFj
aG1lbnQuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uY3BwIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oIFwKKwlXZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvTWVzc2FnZUlELmggXAorCVdlYktpdDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNz
SWRlbnRpZmllci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuY3BwIFwKKwlXZWJLaXQy
L1BsYXRmb3JtL1J1bkxvb3AuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrSXRlbS5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vV29ya1F1
ZXVlLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdpbmdBcmVhTWVzc2Fn
ZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdpbmdBcmVhUHJv
eHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFn
ZU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdl
UHJveHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2Vi
UHJvY2Vzc01lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9LVVJMV3JhcHBlci5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9Ob3RJbXBsZW1lbnRlZC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJD
b3JlVHlwZUFyZ3VtZW50TWFyc2hhbGxpbmcuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRD
b252ZXJzaW9uLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzU3RvcmUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggXAor
CVdlYktpdDIvTGludXhXZWJLaXQyUHJlZml4LmgKZGlmZiAtLWdpdCBhL1dlYktpdDIvTGludXhX
ZWJLaXQyUHJlZml4LmggYi9XZWJLaXQyL0xpbnV4V2ViS2l0MlByZWZpeC5oCm5ldyBmaWxlIG1v
ZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjdjMTdjYTEKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJL
aXQyL0xpbnV4V2ViS2l0MlByZWZpeC5oCkBAIC0wLDAgKzEsMjcgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgR3VzdGF2byBOb3JvbmhhIFNpbHZhIDxnbnNAZ25vbWUub3JnPgorICoKKyAq
IFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBh
bmQvb3IKKyAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCisgKiBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2Fy
ZSBGb3VuZGF0aW9uOyBlaXRoZXIKKyAqIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMg
ZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKKyAqIGJ1dCBX
SVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9m
CisgKiBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0Uu
ICBTZWUgdGhlIEdOVQorICogTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCisgKgorICogWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUg
R05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQorICogYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KKyAqIHRo
ZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlm
dGggRmxvb3IsCisgKiBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KKyAqLworCisjaW5jbHVk
ZSA8d3RmL1BsYXRmb3JtLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9jb25maWcuaD4KKworI2lmZGVm
IF9fY3BsdXNwbHVzCisjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KKyNlbmRpZgorCisjaW5j
bHVkZSA8d3RmL0Rpc2FsbG93Q1R5cGUuaD4KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9Bcmd1bWVudERlY29kZXIuY3BwIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Fy
Z3VtZW50RGVjb2Rlci5jcHAKaW5kZXggNDI1Zjk2Zi4uMmMwZWU3ZiAxMDA2NDQKLS0tIGEvV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKKysrIGIvV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAKQEAgLTI1LDYgKzI1LDkgQEAKIAog
I2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgogCisjaW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNs
dWRlIDxzdHJpbmcuaD4KKwogdXNpbmcgbmFtZXNwYWNlIHN0ZDsKIAogbmFtZXNwYWNlIENvcmVJ
UEMgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rl
ci5jcHAgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcAppbmRl
eCBkYTlmYzJlLi5iZjk0ZGRmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
QXJndW1lbnRFbmNvZGVyLmNwcAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1l
bnRFbmNvZGVyLmNwcApAQCAtMjYsNiArMjYsOCBAQAogI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rl
ci5oIgogCiAjaW5jbHVkZSA8YWxnb3JpdGhtPgorI2luY2x1ZGUgPHN0ZGlvLmg+CisjaW5jbHVk
ZSA8c3RyaW5nLmg+CiAKIHVzaW5nIG5hbWVzcGFjZSBzdGQ7CiAKZGlmZiAtLWdpdCBhL1dlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmggYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMvQ29ubmVjdGlvbi5oCmluZGV4IGE1N2YyZjcuLjkzZmU4NGEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmgKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0Nvbm5lY3Rpb24uaApAQCAtNjQsNiArNjQsOCBAQCBwdWJsaWM6CiAgICAgdHlwZWRl
ZiBtYWNoX3BvcnRfdCBJZGVudGlmaWVyOwogI2VsaWYgUExBVEZPUk0oV0lOKQogICAgIHR5cGVk
ZWYgY29uc3Qgc3RkOjp3c3RyaW5nJiBJZGVudGlmaWVyOworI2VsaWYgT1MoTElOVVgpCisgICAg
dHlwZWRlZiBpbnQgSWRlbnRpZmllcjsKICNlbmRpZgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q29ubmVjdGlvbj4gY3JlYXRlU2VydmVyQ29ubmVjdGlvbihJZGVudGlmaWVyLCBDbGllbnQqLCBS
dW5Mb29wKiBjbGllbnRSdW5Mb29wKTsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1dlYkNv
cmVUeXBlQXJndW1lbnRNYXJzaGFsbGluZy5oIGIvV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZVR5cGVB
cmd1bWVudE1hcnNoYWxsaW5nLmgKaW5kZXggMDdlMGE3NS4uNGM1YWViYyAxMDA2NDQKLS0tIGEv
V2ViS2l0Mi9TaGFyZWQvV2ViQ29yZVR5cGVBcmd1bWVudE1hcnNoYWxsaW5nLmgKKysrIGIvV2Vi
S2l0Mi9TaGFyZWQvV2ViQ29yZVR5cGVBcmd1bWVudE1hcnNoYWxsaW5nLmgKQEAgLTI5LDEwICsy
OSwxMCBAQAogI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgogI2luY2x1ZGUgIkFyZ3VtZW50
RW5jb2Rlci5oIgogI2luY2x1ZGUgIkFyZ3VtZW50cy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvRmxv
YXRSZWN0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9JbnRSZWN0Lmg+Ci0jaW5jbHVkZSA8V2ViQ29y
ZS9LVVJMLmg+Ci0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0cmluZy5oPgorI2luY2x1ZGUg
IkZsb2F0UmVjdC5oIgorI2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlICJLVVJMLmgiCisj
aW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKIAogbmFtZXNwYWNlIENvcmVJUEMgewogbmFtZXNw
YWNlIEFyZ3VtZW50Q29kZXJzIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50
LmggYi9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudC5oCmluZGV4IDg5ODYxYjUuLjkzYjgyN2EgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQv
V2ViRXZlbnQuaApAQCAtMzIsNyArMzIsNyBAQAogI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5o
IgogI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgogI2luY2x1ZGUgIldlYkNvcmVUeXBlQXJn
dW1lbnRNYXJzaGFsbGluZy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJpbmcuaD4K
KyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBiL1dlYktpdDIv
U2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAKaW5kZXggZTNkZDMyMC4uYTM4MDQ4MCAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcAorKysgYi9XZWJL
aXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwCkBAIC0yNiw3ICsyNiw3IEBACiAjaW5j
bHVkZSAiV2ViRXZlbnRDb252ZXJzaW9uLmgiCiAKICNpbmNsdWRlICJXZWJFdmVudC5oIgotI2lu
Y2x1ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4KKyNpbmNsdWRlICJJbnRQb2ludC5oIgogCiBuYW1l
c3BhY2UgV2ViS2l0IHsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252
ZXJzaW9uLmggYi9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaAppbmRleCBlNmRl
MmE3Li41MjliNTBhIDEwMDY0NAotLS0gYS9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNp
b24uaAorKysgYi9XZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaApAQCAtMjYsOSAr
MjYsOSBAQAogI2lmbmRlZiBXZWJFdmVudENvbnZlcnNpb25faAogI2RlZmluZSBXZWJFdmVudENv
bnZlcnNpb25faAogCi0jaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybUtleWJvYXJkRXZlbnQuaD4K
LSNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtTW91c2VFdmVudC5oPgotI2luY2x1ZGUgPFdlYkNv
cmUvUGxhdGZvcm1XaGVlbEV2ZW50Lmg+CisjaW5jbHVkZSAiUGxhdGZvcm1LZXlib2FyZEV2ZW50
LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1Nb3VzZUV2ZW50LmgiCisjaW5jbHVkZSAiUGxhdGZvcm1X
aGVlbEV2ZW50LmgiCiAKIG5hbWVzcGFjZSBXZWJLaXQgewogCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggYi9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc1N0b3JlLmgKaW5kZXggMjg0ZWI1YS4uNWUzM2NkNyAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisrKyBiL1dlYktpdDIvU2hhcmVkL1dlYlByZWZl
cmVuY2VzU3RvcmUuaApAQCAtMjksNyArMjksNyBAQAogI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rl
ci5oIgogI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgogI2luY2x1ZGUgIldlYkNvcmVUeXBl
QXJndW1lbnRNYXJzaGFsbGluZy5oIgotI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1TdHJpbmcu
aD4KKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKIApk
aWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJlLmFjCmluZGV4IDIyYmQ1NDUuLjJk
YmU0Y2MgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYworKysgYi9jb25maWd1cmUuYWMKQEAgLTYz
Miw2ICs2MzIsMTQgQEAgaWYgdGVzdCAiJGVuYWJsZV9qaXQiID0gInllcyI7IHRoZW4KIGZpCiBB
Q19NU0dfUkVTVUxUKFskZW5hYmxlX2ppdF0pCiAKKyMgV2hldGhlciB0byBidWlsZCBXZWJLaXQy
CitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gYWxzbyBidWlsZCBXZWJLaXQyIHBpZWNlc10p
CitBQ19BUkdfRU5BQkxFKHdlYmtpdDIsCisgICAgICAgICAgICAgIEFDX0hFTFBfU1RSSU5HKFst
LWVuYWJsZS13ZWJraXQyXSwKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2Fsc28gYnVp
bGQgZXhpc3Rpbmcgd2Via2l0MiBwaWVjZXMgW2RlZmF1bHQ9bm9dXSksCisgICAgICAgICAgICAg
IFtdLFtlbmFibGVfd2Via2l0Mj0ibm8iXSkKK0FDX01TR19SRVNVTFQoWyRlbmFibGVfd2Via2l0
XSkKKwogIyBHT2JqZWN0IEludHJvc3BlY3Rpb24KIEFDX01TR19DSEVDS0lORyhbd2hldGhlciB0
byBlbmFibGUgR09iamVjdCBpbnRyb3NwZWN0aW9uIHN1cHBvcnRdKQogQUNfQVJHX0VOQUJMRShb
aW50cm9zcGVjdGlvbl0sCkBAIC04NDYsNiArODU0LDcgQEAgQU1fQ09ORElUSU9OQUwoW0VOQUJM
RV9TSEFSRURfV09SS0VSU10sW3Rlc3QgIiRlbmFibGVfc2hhcmVkX3dvcmtlcnMiID0gInllcyJd
KQogQU1fQ09ORElUSU9OQUwoW1NWR19GTEFHU10sW3Rlc3QgIiRzdmdfZmxhZ3MiID0gInllcyJd
KQogQU1fQ09ORElUSU9OQUwoW0hUTUxfRkxBR1NdLFt0ZXN0ICIkaHRtbF9mbGFncyIgPSAieWVz
Il0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9TT0NLRVRTXSxbdGVzdCAiJGVuYWJsZV93
ZWJfc29ja2V0cyIgPSAieWVzIl0pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQktJVDJdLFt0
ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyJdKQogCiAjIEd0ayBjb25kaXRpb25hbHMKIEFN
X0NPTkRJVElPTkFMKFtFTkFCTEVfSU5UUk9TUEVDVElPTl0sW3Rlc3QgIiRlbmFibGVfaW50cm9z
cGVjdGlvbiIgPSAieWVzIl0pCi0tIAoxLjcuMC4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>53818</attachid>
            <date>2010-04-20 07:55:30 -0700</date>
            <delta_ts>2010-08-03 15:33:03 -0700</delta_ts>
            <desc>some more WIP - IPC work</desc>
            <filename>0001-IPC-work.patch</filename>
            <type>text/plain</type>
            <size>13670</size>
            <attacher name="Gustavo Noronha (kov)">gustavo</attacher>
            
              <data encoding="base64">RnJvbSBkMzUzM2VlYzRjZTUyMjUwYjFjYTAyYTliMWY3OTk1ZTI3Y2FiN2YyIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBHdXN0YXZvIE5vcm9uaGEgU2lsdmEgPGduc0Bnbm9tZS5vcmc+
CkRhdGU6IEZyaSwgMTYgQXByIDIwMTAgMTg6MTY6MTIgLTAzMDAKU3ViamVjdDogW1BBVENIXSBJ
UEMgd29yawoKLS0tCiBXZWJLaXQyL0dOVW1ha2VmaWxlLmFtICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfCAgICAzICsKIFdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmggICAg
ICAgICAgICB8ICAgMTAgKystCiBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvdW5peC9Db25uZWN0
aW9uVW5peC5jcHAgfCAgMTA1ICsrKysrKysrKysrKysrKysKIFdlYktpdDIvUGxhdGZvcm0vUnVu
TG9vcC5oICAgICAgICAgICAgICAgICAgICAgICB8ICAgMTEgKystCiBXZWJLaXQyL1BsYXRmb3Jt
L2dsaWIvUnVuTG9vcEdsaWIuY3BwICAgICAgICAgICAgfCAgMTE1ICsrKysrKysrKysrKysrKysr
KwogV2ViS2l0Mi9QbGF0Zm9ybS9nbGliL1dvcmtRdWV1ZUdsaWIuY3BwICAgICAgICAgIHwgIDEz
OSArKysrKysrKysrKysrKysrKysrKysrCiA2IGZpbGVzIGNoYW5nZWQsIDM4MCBpbnNlcnRpb25z
KCspLCAzIGRlbGV0aW9ucygtKQogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcAogY3JlYXRlIG1vZGUgMTAwNjQ0IFdlYktp
dDIvUGxhdGZvcm0vZ2xpYi9SdW5Mb29wR2xpYi5jcHAKIGNyZWF0ZSBtb2RlIDEwMDY0NCBXZWJL
aXQyL1BsYXRmb3JtL2dsaWIvV29ya1F1ZXVlR2xpYi5jcHAKCmRpZmYgLS1naXQgYS9XZWJLaXQy
L0dOVW1ha2VmaWxlLmFtIGIvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQppbmRleCBhNGQ2N2UwLi4z
ZDNlNjBkIDEwMDY0NAotLS0gYS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYktpdDIv
R05VbWFrZWZpbGUuYW0KQEAgLTE2LDYgKzE2LDkgQEAgd2Via2l0Ml9zb3VyY2VzICs9IFwKIAlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5jcHAgXAogCVdlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9Db25uZWN0aW9uLmggXAogCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNz
YWdlSUQuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL3VuaXgvQ29ubmVjdGlvblVuaXgu
Y3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2dsaWIvUnVuTG9vcEdsaWIuY3BwIFwKKwlXZWJLaXQy
L1BsYXRmb3JtL2dsaWIvV29ya1F1ZXVlR2xpYi5jcHAgXAogCVdlYktpdDIvUGxhdGZvcm0vUGxh
dGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIFwKIAlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuY3Bw
IFwKIAlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuaCBcCmRpZmYgLS1naXQgYS9XZWJLaXQyL1Bs
YXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nv
bm5lY3Rpb24uaAppbmRleCA5M2ZlODRhLi5kMTU3NTlmIDEwMDY0NAotLS0gYS9XZWJLaXQyL1Bs
YXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9Db25uZWN0aW9uLmgKQEAgLTQxLDYgKzQxLDkgQEAKICNpbmNsdWRlIDxtYWNoL21hY2hfcG9y
dC5oPgogI2VsaWYgUExBVEZPUk0oV0lOKQogI2luY2x1ZGUgPHN0cmluZz4KKyNlbGlmIE9TKExJ
TlVYKQorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRlIDxzeXMvdW4uaD4KICNlbmRp
ZgogCiBjbGFzcyBSdW5Mb29wOwpAQCAtNjUsNyArNjgsNyBAQCBwdWJsaWM6CiAjZWxpZiBQTEFU
Rk9STShXSU4pCiAgICAgdHlwZWRlZiBjb25zdCBzdGQ6OndzdHJpbmcmIElkZW50aWZpZXI7CiAj
ZWxpZiBPUyhMSU5VWCkKLSAgICB0eXBlZGVmIGludCBJZGVudGlmaWVyOworICAgIHR5cGVkZWYg
Y29uc3QgY2hhciogSWRlbnRpZmllcjsKICNlbmRpZgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8
Q29ubmVjdGlvbj4gY3JlYXRlU2VydmVyQ29ubmVjdGlvbihJZGVudGlmaWVyLCBDbGllbnQqLCBS
dW5Mb29wKiBjbGllbnRSdW5Mb29wKTsKQEAgLTE3OSw4ICsxODIsMTEgQEAgcHJpdmF0ZToKICAg
ICBWZWN0b3I8dWludDhfdD4gbV9yZWFkQnVmZmVyOwogICAgIE9WRVJMQVBQRUQgbV9yZWFkU3Rh
dGU7CiAgICAgSEFORExFIG1fY29ubmVjdGlvblBpcGU7CisjZWxpZiBPUyhMSU5VWCkKKyAgICBz
dHJ1Y3Qgc29ja2FkZHJfdW4gbV9pZGVudGlmaWVyQWRkcmVzczsKKyAgICBpbnQgbV9zb2NrZXQ7
CiAjZW5kaWYKLSAgICAKKwogfTsKIAogdGVtcGxhdGU8dHlwZW5hbWUgRSwgdHlwZW5hbWUgVD4K
ZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy91bml4L0Nvbm5lY3Rpb25Vbml4
LmNwcCBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy91bml4L0Nvbm5lY3Rpb25Vbml4LmNwcApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43MGQ4Nzg4Ci0tLSAvZGV2L251bGwK
KysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL3VuaXgvQ29ubmVjdGlvblVuaXguY3BwCkBA
IC0wLDAgKzEsMTA1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEd1c3Rhdm8gTm9yb25o
YSBTaWx2YSA8Z25zQGdub21lLm9yZz4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIg
dGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2
ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZl
cnNpb24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRo
YXQgaXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhv
dXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJ
VE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91
bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
IExpY2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9u
LCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAw
MjExMC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKworI2luY2x1
ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgorI2luY2x1ZGUgPHN5cy9zb2NrZXQuaD4KKyNpbmNsdWRl
IDxzdGRpby5oPgorI2luY2x1ZGUgPHN5cy90eXBlcy5oPgorI2luY2x1ZGUgPHN5cy91bi5oPgor
I2luY2x1ZGUgIldvcmtJdGVtLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBzdGQ7CisKK25hbWVzcGFj
ZSBDb3JlSVBDIHsKKwordm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUluaXRpYWxpemUoSWRlbnRp
ZmllciBpZGVudGlmaWVyKQoreworICAgIHN0cm5jcHkobV9pZGVudGlmaWVyQWRkcmVzcy5zdW5f
cGF0aCwgaWRlbnRpZmllciwgc2l6ZW9mKG1faWRlbnRpZmllckFkZHJlc3Muc3VuX3BhdGgpKTsK
K30KKwordm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFsaWRhdGUoKQoreworICAgIGlmICgh
bV9pc0Nvbm5lY3RlZCkKKyAgICAgICAgcmV0dXJuOworCisgICAgbV9pc0Nvbm5lY3RlZCA9IGZh
bHNlOworCisgICAgLy8gVE9ETzogdW5yZWdpc3RlciBmcm9tIGNvbm5lY3Rpb24gcXVldWUuCisK
KyAgICBpZiAobV9zb2NrZXQgPiAwKSB7CisgICAgICAgIGNsb3NlKG1fc29ja2V0KTsKKyAgICAg
ICAgbV9zb2NrZXQgPSAtMTsKKyAgICB9Cit9CisKK2Jvb2wgQ29ubmVjdGlvbjo6b3BlbigpCit7
CisgICAgaWYgKG1faXNTZXJ2ZXIpIHsKKyAgICAgICAgaW50IGluaXRpYWxTb2NrZXQgPSBzb2Nr
ZXQoQUZfVU5JWCwgU09DS19TVFJFQU0sIDApOworCisgICAgICAgIGlmIChpbml0aWFsU29ja2V0
IDwgMCkKKyAgICAgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgICAgICBiaW5kKGluaXRpYWxT
b2NrZXQsIHJlaW50ZXJwcmV0X2Nhc3Q8c3RydWN0IHNvY2thZGRyKj4oJm1faWRlbnRpZmllckFk
ZHJlc3MpLCBzaXplb2Yoc3RydWN0IHNvY2thZGRyX3VuKSk7CisKKyAgICAgICAgLy8gRklYTUU6
IHdoYXQgdmFsdWUgc2hvdWxkIHdlIHVzZSBoZXJlPworICAgICAgICBsaXN0ZW4oaW5pdGlhbFNv
Y2tldCwgMSk7CisKKyAgICAgICAgbV9zb2NrZXQgPSBhY2NlcHQoaW5pdGlhbFNvY2tldCwgMCwg
MCk7CisgICAgICAgIGlmIChtX3NvY2tldCA8IDApCisgICAgICAgICAgICByZXR1cm4gZmFsc2U7
CisKKyAgICAgICAgbV9pc0Nvbm5lY3RlZCA9IHRydWU7CisKKyAgICAgICAgZnByaW50ZihzdGRl
cnIsICJDb25uZWN0ZWQgc2VydmVyIHNpZGUuXG4iKTsKKworICAgICAgICAvLyBUT0RPOiBSZWdp
c3RlciB0aGUgc29ja2V0IHdpdGggdGhlIGNvbm5lY3Rpb25RdWV1ZSwgdXNpbmcgR0lPQ2hhbm5l
bCwgcGVyaGFwcy4KKyAgICB9IGVsc2UgeworICAgICAgICBpbnQgaW5pdGlhbFNvY2tldCA9IHNv
Y2tldChBRl9VTklYLCBTT0NLX1NUUkVBTSwgMCk7CisKKyAgICAgICAgaWYgKGluaXRpYWxTb2Nr
ZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgICAgIG1fc29ja2V0ID0g
Y29ubmVjdChpbml0aWFsU29ja2V0LCByZWludGVycHJldF9jYXN0PHN0cnVjdCBzb2NrYWRkcio+
KCZtX2lkZW50aWZpZXJBZGRyZXNzKSwgc2l6ZW9mKHN0cnVjdCBzb2NrYWRkcl91bikpOworICAg
ICAgICBpZiAobV9zb2NrZXQgPCAwKQorICAgICAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAg
ICAgIG1faXNDb25uZWN0ZWQgPSB0cnVlOworCisgICAgICAgIGZwcmludGYoc3RkZXJyLCAiQ29u
bmVjdGVkIGNsaWVudCBzaWRlLlxuIik7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisK
K3ZvaWQgQ29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZSh1bnNpZ25lZCBtZXNzYWdlSUQs
IGF1dG9fcHRyPEFyZ3VtZW50RW5jb2Rlcj4gYXJndW1lbnRzKQoreworICAgIC8vIEp1c3QgYmFp
bCBpZiB0aGUgaGFuZGxlIGhhcyBiZWVuIGNsb3NlZC4KKyAgICBpZiAobV9zb2NrZXQgPCAxKQor
ICAgICAgICByZXR1cm47CisKKyAgICAvLyBXZSBwdXQgdGhlIG1lc3NhZ2UgSUQgbGFzdC4KKyAg
ICBhcmd1bWVudHMtPmVuY29kZVVJbnQzMihtZXNzYWdlSUQpOworCisgICAgLy8gVE9ETzogc2Vu
ZCB0aGUgbWVzc2FnZSwgd2l0aCBHSU9DaGFubmVsLgorfQorCit9IC8vIG5hbWVzcGFjZSBDb3Jl
SVBDCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuaCBiL1dlYktpdDIvUGxh
dGZvcm0vUnVuTG9vcC5oCmluZGV4IGJkMmZhYmQuLmY1OTZmOTUgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvUGxhdGZvcm0vUnVuTG9vcC5oCisrKyBiL1dlYktpdDIvUGxhdGZvcm0vUnVuTG9vcC5oCkBA
IC0zMSw2ICszMSwxMSBAQAogI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+CiAjaW5jbHVkZSA8d3Rm
L1RocmVhZGluZy5oPgogCisjaWYgT1MoTElOVVgpCit0eXBlZGVmIHN0cnVjdCBfR01haW5Mb29w
IEdNYWluTG9vcDsKK3R5cGVkZWYgc3RydWN0IF9HU291cmNlIEdTb3VyY2U7CisjZW5kaWYKKwog
Y2xhc3MgV29ya0l0ZW07CiAKIGNsYXNzIFJ1bkxvb3AgewpAQCAtNzIsNyArNzcsOSBAQCBwdWJs
aWM6CiAjZWxpZiBQTEFURk9STShNQUMpCiAgICAgICAgIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQo
Q0ZSdW5Mb29wVGltZXJSZWYsIHZvaWQqKTsKICAgICAgICAgQ0ZSdW5Mb29wVGltZXJSZWYgbV90
aW1lcjsKLSNlbmRpZiAgICAKKyNlbGlmIE9TKExJTlVYKQorICAgICAgICBHU291cmNlKiBtX3Rp
bWVyOworI2VuZGlmCiAgICAgfTsKIAogICAgIHRlbXBsYXRlIDx0eXBlbmFtZSBUaW1lckZpcmVk
Q2xhc3M+CkBAIC0xMTMsNiArMTIwLDggQEAgcHJpdmF0ZToKICAgICBzdGF0aWMgdm9pZCBwZXJm
b3JtV29yayh2b2lkKik7CiAgICAgQ0ZSdW5Mb29wUmVmIG1fcnVuTG9vcDsKICAgICBDRlJ1bkxv
b3BTb3VyY2VSZWYgbV9ydW5Mb29wU291cmNlOworI2VsaWYgT1MoTElOVVgpCisgICAgR01haW5M
b29wKiBtX3J1bkxvb3A7CiAjZW5kaWYKIH07CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZv
cm0vZ2xpYi9SdW5Mb29wR2xpYi5jcHAgYi9XZWJLaXQyL1BsYXRmb3JtL2dsaWIvUnVuTG9vcEds
aWIuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjU2ZTczMDAKLS0tIC9k
ZXYvbnVsbAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL2dsaWIvUnVuTG9vcEdsaWIuY3BwCkBAIC0w
LDAgKzEsMTE1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEd1c3Rhdm8gTm9yb25oYSBT
aWx2YSA8Z25zQGdub21lLm9yZz4KKyAqCisgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2Fy
ZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCisgKiBtb2RpZnkgaXQgdW5kZXIgdGhl
IHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYworICogTGljZW5zZSBhcyBw
dWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCisgKiB2ZXJz
aW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNp
b24uCisgKgorICogVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQg
aXQgd2lsbCBiZSB1c2VmdWwsCisgKiBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQg
ZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgorICogTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKKyAqIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgorICoKKyAqIFlvdSBzaG91bGQg
aGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExp
Y2Vuc2UKKyAqIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5M
SUIuICBJZiBub3QsIHdyaXRlIHRvCisgKiB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJ
bmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZpZnRoIEZsb29yLAorICogQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCisgKi8KKworI2luY2x1ZGUgIlJ1bkxvb3AuaCIKKworI2luY2x1ZGUgPGds
aWIuaD4KKwordm9pZCBSdW5Mb29wOjpwZXJmb3JtV29yaygpCit7CisgICAgR01haW5Db250ZXh0
KiBjb250ZXh0ID0gZ19tYWluX2xvb3BfZ2V0X2NvbnRleHQobV9ydW5Mb29wKTsKKyAgICBnX21h
aW5fY29udGV4dF9pdGVyYXRpb24oY29udGV4dCwgRkFMU0UpOworfQorCitSdW5Mb29wOjpSdW5M
b29wKCkKK3sKKyAgICBHTWFpbkNvbnRleHQqIGNvbnRleHQgPSBnX21haW5fY29udGV4dF9uZXco
KTsKKyAgICBtX3J1bkxvb3AgPSBnX21haW5fbG9vcF9uZXcoY29udGV4dCwgRkFMU0UpOworICAg
IGdfbWFpbl9jb250ZXh0X3VucmVmKGNvbnRleHQpOworfQorCitSdW5Mb29wOjp+UnVuTG9vcCgp
Cit7CisgICAgZ19tYWluX2xvb3BfdW5yZWYobV9ydW5Mb29wKTsKK30KKwordm9pZCBSdW5Mb29w
OjpydW4oKQoreworICAgIGdfbWFpbl9sb29wX3J1bihtX3J1bkxvb3ApOworfQorCit2b2lkIFJ1
bkxvb3A6OnN0b3AoKQoreworICAgIGdfbWFpbl9sb29wX3F1aXQobV9ydW5Mb29wKTsKK30KKwor
dm9pZCBSdW5Mb29wOjp3YWtlVXAoKQoreworICAgIEdNYWluQ29udGV4dCAqY29udGV4dCA9IGdf
bWFpbl9sb29wX2dldF9jb250ZXh0KG1fcnVuTG9vcCk7CisgICAgZ19tYWluX2NvbnRleHRfd2Fr
ZXVwKGNvbnRleHQpOworfQorCisvLyBSdW5Mb29wOjpUaW1lcgorCitzdGF0aWMgZ2Jvb2xlYW4g
dGltZXJGaXJlZChncG9pbnRlciBjb250ZXh0KQoreworICAgIFJ1bkxvb3A6OlRpbWVyQmFzZSog
dGltZXIgPSBzdGF0aWNfY2FzdDxSdW5Mb29wOjpUaW1lckJhc2UqPihjb250ZXh0KTsKKyAgICB0
aW1lci0+ZmlyZWQoKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGdib29sZWFuIHJ1
bk9uY2VUaW1lckZpcmVkKGdwb2ludGVyIGNvbnRleHQpCit7CisgICAgUnVuTG9vcDo6VGltZXJC
YXNlKiB0aW1lciA9IHN0YXRpY19jYXN0PFJ1bkxvb3A6OlRpbWVyQmFzZSo+KGNvbnRleHQpOwor
ICAgIHRpbWVyLT5maXJlZCgpOworICAgIHJldHVybiBGQUxTRTsKK30KKworUnVuTG9vcDo6VGlt
ZXJCYXNlOjpUaW1lckJhc2UoUnVuTG9vcCogcnVuTG9vcCkKKyAgICA6IG1fcnVuTG9vcChydW5M
b29wKQorICAgICwgbV90aW1lcigwKQoreworfQorCitSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1l
ckJhc2UoKQoreworICAgIHN0b3AoKTsKK30KKwordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0
YXJ0KGRvdWJsZSBuZXh0RmlyZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpCit7Cisg
ICAgaWYgKG1fdGltZXIpCisgICAgICAgIHN0b3AoKTsKKworICAgIC8vIEZJWE1FOiB3ZSBuZWVk
IHRvIGhhbmRsZSBib3RoIG5leHRGaXJlSW50ZXJ2YWwsIGFuZAorICAgIC8vIHJlcGVhdEludGVy
dmFsOyB0aGlzIHByb2JhYmx5IGNhbGxzIGZvciBhIGN1c3RvbSBHU291cmNlLgorICAgIGlmIChy
ZXBlYXRJbnRlcnZhbCkgeworICAgICAgICBtX3RpbWVyID0gZ190aW1lb3V0X3NvdXJjZV9uZXco
c3RhdGljX2Nhc3Q8Z3VpbnQ+KHJlcGVhdEludGVydmFsICogMTAwMCkpOworICAgICAgICBnX3Nv
dXJjZV9zZXRfY2FsbGJhY2sobV90aW1lciwgdGltZXJGaXJlZCwgdGhpcywgMCk7CisgICAgfSBl
bHNlIHsKKyAgICAgICAgbV90aW1lciA9IGdfdGltZW91dF9zb3VyY2VfbmV3KHN0YXRpY19jYXN0
PGd1aW50PihuZXh0RmlyZUludGVydmFsICogMTAwMCkpOworICAgICAgICBnX3NvdXJjZV9zZXRf
Y2FsbGJhY2sobV90aW1lciwgcnVuT25jZVRpbWVyRmlyZWQsIHRoaXMsIDApOworICAgIH0KKyAg
ICBnX3NvdXJjZV9hdHRhY2gobV90aW1lciwgZ19tYWluX2xvb3BfZ2V0X2NvbnRleHQobV9ydW5M
b29wLT5tX3J1bkxvb3ApKTsKK30KKwordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQor
eworICAgIGlmICghbV90aW1lcikKKyAgICAgICAgcmV0dXJuOworCisgICAgZ19zb3VyY2VfZGVz
dHJveShtX3RpbWVyKTsKKyAgICBtX3RpbWVyID0gMDsKK30KKworYm9vbCBSdW5Mb29wOjpUaW1l
ckJhc2U6OmlzQWN0aXZlKCkgY29uc3QKK3sKKyAgICAvLyBGSVhNRTogVG9vIHNpbXBsZT8KKyAg
ICByZXR1cm4gbV90aW1lcjsKK30KZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vZ2xpYi9X
b3JrUXVldWVHbGliLmNwcCBiL1dlYktpdDIvUGxhdGZvcm0vZ2xpYi9Xb3JrUXVldWVHbGliLmNw
cApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yZDYyYWRlCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9nbGliL1dvcmtRdWV1ZUdsaWIuY3BwCkBAIC0wLDAg
KzEsMTM5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIENvbGxhYm9yYSBMdGQuCisgKgor
ICogVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgorICogbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMKKyAqIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb247IGVpdGhlcgorICogdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgorICoKKyAqIFRoaXMgbGlicmFyeSBp
cyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAorICogYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKKyAqIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9T
RS4gIFNlZSB0aGUgR05VCisgKiBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1v
cmUgZGV0YWlscy4KKyAqCisgKiBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRo
ZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCisgKiBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bworICog
dGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBG
aWZ0aCBGbG9vciwKKyAqIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgorICovCisKKyNpbmNs
dWRlICJXb3JrUXVldWUuaCIKKworI2luY2x1ZGUgPGdsaWIuaD4KKyNpbmNsdWRlIDx3dGYvVGhy
ZWFkaW5nLmg+CisKK3R5cGVkZWYgc3RydWN0IF9Xb3JrSXRlbURhdGEgeworICAgIFdvcmtRdWV1
ZSogcXVldWU7CisgICAgV29ya0l0ZW0qIGl0ZW07Cit9IFdvcmtJdGVtRGF0YTsKKworc3RhdGlj
IHZvaWQgZnJlZVdvcmtJdGVtRGF0YShncG9pbnRlciBkYXRhKQoreworICAgIFdvcmtJdGVtRGF0
YSogd29ya0l0ZW1EYXRhID0gc3RhdGljX2Nhc3Q8V29ya0l0ZW1EYXRhKj4oZGF0YSk7CisgICAg
Z19zbGljZV9mcmVlKFdvcmtJdGVtRGF0YSwgd29ya0l0ZW1EYXRhKTsKK30KKworc3RhdGljIGdi
b29sZWFuIGRpc3BhdGNoRXhlY3V0ZVdvcmtJdGVtKGdwb2ludGVyIGRhdGEpCit7CisgICAgV29y
a0l0ZW1EYXRhKiB3b3JrSXRlbURhdGEgPSBzdGF0aWNfY2FzdDxXb3JrSXRlbURhdGEqPihkYXRh
KTsKKyAgICB3b3JrSXRlbURhdGEtPnF1ZXVlLT5leGVjdXRlV29ya0l0ZW0od29ya0l0ZW1EYXRh
LT5pdGVtKTsKKyAgICByZXR1cm4gVFJVRTsKK30KKworc3RhdGljIGdib29sZWFuIGRpc3BhdGNo
RXhlY3V0ZVdvcmtJdGVtT25jZShncG9pbnRlciBkYXRhKQoreworICAgIFdvcmtJdGVtRGF0YSog
d29ya0l0ZW1EYXRhID0gc3RhdGljX2Nhc3Q8V29ya0l0ZW1EYXRhKj4oZGF0YSk7CisgICAgd29y
a0l0ZW1EYXRhLT5xdWV1ZS0+ZXhlY3V0ZVdvcmtJdGVtKHdvcmtJdGVtRGF0YS0+aXRlbSk7Cisg
ICAgcmV0dXJuIEZBTFNFOworfQorCit2b2lkIFdvcmtRdWV1ZTo6cmVnaXN0ZXJTb2NrZXRFdmVu
dFNvdXJjZShpbnQgZmQsIEdJT0NvbmRpdGlvbiBjb25kaXRpb24sIHN0ZDo6YXV0b19wdHI8V29y
a0l0ZW0+IHdvcmtJdGVtKQoreworICAgIEdQb2xsRkQgcG9sbEluZm87CisgICAgcG9sbEluZm8u
ZmQgPSBmZDsKKyAgICBwb2xsSW5mby5ldmVudHMgPSBjb25kaXRpb247CisKKyAgICBHU291cmNl
KiBzb3VyY2UgPSBnX3NvdXJjZV9uZXcoKTsKKyAgICBnX3NvdXJjZV9hZGRfcG9sbChzb3VyY2Us
ICZwb2xsSW5mbyk7CisKKyAgICBXb3JrSXRlbURhdGEqIHdvcmtJdGVtRGF0YSA9IGdfc2xpY2Vf
bmV3KFdvcmtJdGVtRGF0YSk7CisgICAgd29ya0l0ZW1EYXRhLT5pdGVtID0gd29ya0l0ZW0ucmVs
ZWFzZSgpOworICAgIHdvcmtJdGVtRGF0YS0+cXVldWUgPSB0aGlzOworCisgICAgZ19zb3VyY2Vf
c2V0X2NhbGxiYWNrKHNvdXJjZSwgZGlzcGF0Y2hFeGVjdXRlV29ya0l0ZW0sIHdvcmtJdGVtRGF0
YSwgZnJlZVdvcmtJdGVtRGF0YSk7CisKKyAgICB7CisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tl
cihtX3NvdXJjZXNMb2NrKTsKKworICAgICAgICBBU1NFUlQoIW1fZXZlbnRTb3VyY2VzLmNvbnRh
aW5zKGZkKSk7CisgICAgICAgIG1fZXZlbnRTb3VyY2VzLnNldChmZCwgc291cmNlKTsKKyAgICB9
CisKKyAgICB7CisgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3J1bkxvb3BMb2NrKTsKKwor
ICAgICAgICAvLyBBdHRhY2ggaXQgdG8gb3VyIG1haW4gY29udGV4dC4KKyAgICAgICAgZ19zb3Vy
Y2VfYXR0YWNoKHNvdXJjZSwgZ19tYWluX2xvb3BfZ2V0X2NvbnRleHQobV9ydW5Mb29wKSk7Cisg
ICAgfQorfQorCit2b2lkKiBXb3JrUXVldWU6OndvcmtRdWV1ZVRocmVhZEJvZHkodm9pZCAqY29u
dGV4dCkKK3sKKyAgICBzdGF0aWNfY2FzdDxXb3JrUXVldWUqPihjb250ZXh0KS0+d29ya1F1ZXVl
VGhyZWFkQm9keSgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIFdvcmtRdWV1ZTo6d29ya1F1
ZXVlVGhyZWFkQm9keSgpCit7CisgICAgZ19tYWluX2xvb3BfcnVuKG1haW5Mb29wKTsKK30KKwor
dm9pZCBXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZShjb25zdCBjaGFyKiBuYW1lKQorewor
ICAgIG1fcnVuTG9vcCA9IGdfbWFpbl9sb29wX25ldyhnX21haW5fY29udGV4dF9uZXcoKSwgRkFM
U0UpOworCisgICAgbV93b3JrUXVldWVUaHJlYWQgPSBjcmVhdGVUaHJlYWQoJldvcmtRdWV1ZTo6
d29ya1F1ZXVlVGhyZWFkQm9keSwgdGhpcywgbmFtZSk7Cit9CisKK3ZvaWQgV29ya1F1ZXVlOjpw
bGF0Zm9ybUludmFsaWRhdGUoKQoreworICAgIE11dGV4TG9ja2VyIGxvY2tlcihtX3J1bkxvb3BM
b2NrKTsKKworICAgIGlmIChtX3J1bkxvb3ApIHsKKyAgICAgICAgaWYgKGdfbWFpbl9sb29wX2lz
X3J1bm5pbmcobV9ydW5Mb29wKSkKKyAgICAgICAgICAgIGdfbWFpbl9sb29wX3F1aXQobV9ydW5M
b29wKTsKKworICAgICAgICBnX21haW5fbG9vcF91bnJlZihtX3J1bkxvb3ApOworICAgICAgICBt
X3J1bkxvb3AgPSAwOworICAgIH0KK30KKwordm9pZCBXb3JrUXVldWU6OnNjaGVkdWxlV29yayhz
dGQ6OmF1dG9fcHRyPFdvcmtJdGVtPiBpdGVtKQoreworICAgIEdTb3VyY2UqIHNvdXJjZSA9IGdf
dGltZW91dF9zb3VyY2VfbmV3KDApOworCisgICAgV29ya0l0ZW1EYXRhKiB3b3JrSXRlbURhdGEg
PSBnX3NsaWNlX25ldyhXb3JrSXRlbURhdGEpOworICAgIHdvcmtJdGVtRGF0YS0+aXRlbSA9IHdv
cmtJdGVtLnJlbGVhc2UoKTsKKyAgICB3b3JrSXRlbURhdGEtPnF1ZXVlID0gdGhpczsKKworICAg
IGdfc291cmNlX3NldF9jYWxsYmFjayhzb3VyY2UsIGRpc3BhdGNoRXhlY3V0ZVdvcmtJdGVtT25j
ZSwgd29ya0l0ZW1EYXRhLCBmcmVlV29ya0l0ZW1EYXRhKTsKKworICAgIHsKKyAgICAgICAgTXV0
ZXhMb2NrZXIgbG9ja2VyKG1fcnVuTG9vcExvY2spOworCisgICAgICAgIC8vIEF0dGFjaCBpdCB0
byBvdXIgbWFpbiBjb250ZXh0LgorICAgICAgICBnX3NvdXJjZV9hdHRhY2goc291cmNlLCBnX21h
aW5fbG9vcF9nZXRfY29udGV4dChtX3J1bkxvb3ApKTsKKyAgICB9Cit9CisKK3ZvaWQgV29ya1F1
ZXVlOjpleGVjdXRlV29ya0l0ZW0oV29ya0l0ZW0qIGl0ZW0pCit7CisgICAgc3RkOjphdXRvX3B0
cjxXb3JrSXRlbT4gd29ya0l0ZW0oaXRlbSk7CisKKyAgICB7CisgICAgICAgIE11dGV4TG9ja2Vy
IGxvY2tlcihtX2lzVmFsaWRNdXRleCk7CisgICAgICAgIGlmIChtX2lzVmFsaWQpCisgICAgICAg
ICAgICBpdGVtLT5leGVjdXRlKCk7CisgICAgfQorfQorCi0tIAoxLjcuMC4zCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>63386</attachid>
            <date>2010-08-03 15:33:07 -0700</date>
            <delta_ts>2010-12-27 15:01:47 -0800</delta_ts>
            <desc>Patch for this issue using framework-style includes and precompiled/prefix headers</desc>
            <filename>bug-37369-20100803153306.patch</filename>
            <type>text/plain</type>
            <size>9126</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA0NmUwNTNmNTU2MDA0Nzcw
YmQxOGQyN2EyYTA4MWViZWQxMmRkZmI2Li42YTkxOTFhOTM2MmE2ZjgyYjgzYmJkMzcwODcwYTE4
ZTc0Y2FiY2NkIDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTggQEAKKzIwMTAtMDgtMDMgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5v
cmc+IGFuZCBNYXJ0aW4gUm9iaW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAg
ICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBFbmFibGUgYnVp
bGRpbmcgd2hhdGV2ZXIgYWxyZWFkeSBleGlzdHMgb2YgV2ViS2l0MgorICAgICAgICBodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkKKworICAgICAgICBBZGQgY29u
ZmlndXJlIG9wdGlvbnMgZm9yIGVuYWJsaW5nIFdlYktpdDIgYW5kIGFsc28gY29uZGl0aW9uYWxs
eQorICAgICAgICBpbmNsdWRlIHRoZSBXZWJLaXQyIGF1dG9tYWtlIGZpbGUuIEZvciBub3cgYWxs
IGJ1aWxkIHN0ZXBzIGFyZQorICAgICAgICBlbmNhcHN1bGF0ZWQgaW4gdGhlIFdlYktpdDIgR05V
TWFrZWZpbGUuYW0gdG8gaGF2ZSB0aGUgbGVhc3QKKyAgICAgICAgZWZmZWN0IG9uIHRoZSBub3Jt
YWwgV2ViS2l0IGJ1aWxkLgorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IENvbmRpdGlvbmFs
bHkgaW5jbHVkZSBXZWJLaXQyIGF1dG9tYWtlIGZpbGUuCisgICAgICAgICogY29uZmlndXJlLmFj
OiBBZGQgY29uZGl0aW9uIHN1cHBvcnQgZm9yIFdlYktpdDIuCisKIDIwMTAtMDgtMDMgIFhhbiBM
b3BleiAgPHhsb3BlekBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEd1c3Rhdm8g
Tm9yb25oYS4KZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5k
ZXggYWFjZmEzYzZmMTRiOGM3YTc3YjkzMzRhODBiNzU0MjAxN2E3NmI1ZS4uZWE2ODQ5MjAzNGVj
OTEwMzY1ZTYyNWFhNmE3YmNhZDYyZTE4MGFhNyAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0K
KysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTg5LDYgKzg5LDcgQEAgQlVJTFRfU09VUkNFUyA6PQog
Q0xFQU5GSUxFUyA6PQogRElTVENMRUFORklMRVMgOj0KIE1BSU5UQUlORVJDTEVBTkZJTEVTIDo9
CitwaG9ueV90YXJnZXRzIDo9CiAKIHdlYmNvcmVndGtfY3BwZmxhZ3MgKz0gXAogCS1JJCh0b3Bf
YnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdCBcCkBAIC05NDUsNiArOTQ2LDEwIEBAIGlu
Y2x1ZGUgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXRUb29scy9HTlVtYWtl
ZmlsZS5hbQogaW5jbHVkZSBXZWJLaXQvZ3RrL3BvL0dOVW1ha2VmaWxlLmFtCiAKK2lmIEVOQUJM
RV9XRUJLSVQyCitpbmNsdWRlIFdlYktpdDIvR05VbWFrZWZpbGUuYW0KK2VuZGlmCisKICMgQnVp
bGQgdW5pdCB0ZXN0cwogbm9pbnN0X1BST0dSQU1TICs9ICQoVEVTVF9QUk9HUykKIApAQCAtMTE2
NSw3ICsxMTcwLDcgQEAgY2xlYW4tbG9jYWw6CiBtYWludGFpbmVyLWNsZWFuLWxvY2FsOiBkaXN0
Y2xlYW4tbG9jYWwKIAogZGlzdGNsZWFuLWxvY2FsOgotCS1ybSAtcmYgJChHRU5TT1VSQ0VTKSAk
KEdFTlBST0dSQU1TKQorCS1ybSAtcmYgJChHRU5TT1VSQ0VTKSAkKEdFTlBST0dSQU1TKSBpbmNs
dWRlCiAKIGRpc3QtaG9vazoKIAljcCAkKHNyY2RpcikvV2ViS2l0L2d0ay9ORVdTICQoZGlzdGRp
cikKQEAgLTExOTMsNSArMTE5OCw1IEBAIHRlc3QtcmVwb3J0IGZ1bGwtcmVwb3J0IHBlcmYtcmVw
b3J0OiAkKFRFU1RfUFJPR1MpCiAJICAkKEdURVNURVIpIC0tdmVyYm9zZSAkJHRlc3Rfb3B0aW9u
cyAtbyB0ZXN0LXJlcG9ydC54bWwgJChURVNUX1BST0dTKTsgXAogCSAgJChHVEVTVEVSX1JFUE9S
VCkgdGVzdC1yZXBvcnQueG1sID4gdGVzdC1yZXBvcnQuaHRtbCA7CiAKLS5QSE9OWTogdGVzdCB0
ZXN0LXJlcG9ydCBwZXJmLXJlcG9ydCBmdWxsLXJlcG9ydAorLlBIT05ZOiB0ZXN0IHRlc3QtcmVw
b3J0IHBlcmYtcmVwb3J0IGZ1bGwtcmVwb3J0ICQocGhvbnlfdGFyZ2V0cykKIGNoZWNrLWxvY2Fs
OiB0ZXN0CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9n
CmluZGV4IGZjYTEwZWI5NWVkN2YwNzhjMGIyZWMwYjQ4ZGNhZDg3N2RjYTk3MjIuLjZmNTlkNzBi
YjU4NmZmY2FhMThlMWVlMmUxZTgwYTM1YmZmOGNhODAgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTcgQEAKKzIwMTAtMDgt
MDMgIEd1c3Rhdm8gTm9yb25oYSBTaWx2YSAgPGduc0Bnbm9tZS5vcmc+IGFuZCBNYXJ0aW4gUm9i
aW5zb24gIDxtcm9iaW5zb25AaWdhbGlhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBbR1RLXSBFbmFibGUgYnVpbGRpbmcgd2hhdGV2ZXIgYWxy
ZWFkeSBleGlzdHMgb2YgV2ViS2l0MgorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MzczNjkKKworICAgICAgICBBZGQgcHJlbGltYXJ5IHN1cHBvcnQgZm9y
IGJ1aWxkaW5nIFdlYktpdDIgYXMgYSBzdGF0aWMgbGlicmFyeS4KKyAgICAgICAgUHJlLWJ1aWxk
IHN0ZXBzIGFyZSBzdGlsbCBhIGxpdHRsZSBmbGFreSwgYnV0IHRoaXMgZ2V0cyB0aGluZ3MKKyAg
ICAgICAgYnVpbGRpbmcuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQuCisgICAg
ICAgICogUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmg6IEFkZGVkIGEgdGVtcG9yYXJ5IHR5
cGVkZWYgZm9yIElkZW50aWZpZXIuCisKIDIwMTAtMDgtMDMgIEFkYW0gUm9iZW4gIDxhcm9iZW5A
YXBwbGUuY29tPgogCiAgICAgICAgIENvbXBpbGUgb3V0IHR3byBNYWMtb25seSBsb2NhbGl6ZWQg
c3RyaW5ncyBvbiBub24tTWFjIHBsYXRmb3JtcwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5hbSBiL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5k
ZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMGQ5ZGNkNDI5OTUx
YTEzNTUxYjY3ODE4NDhkYWI3Y2FlYTk3OWNjOQotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIv
R05VbWFrZWZpbGUuYW0KQEAgLTAsMCArMSwxMDggQEAKK0FNX0NYWEZMQUdTID0gLUggLVdpbnZh
bGlkLXBjaCAKKworbm9kaXN0X2xpYndlYmtpdDJfbGFfU09VUkNFUyA9IFwKKwlEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYktpdDJQcmVmaXguaCBcCisJJCh3ZWJraXQyX2NvcGllZF9oZWFkZXJz
KQorCitsaWJ3ZWJraXQyX2xhX1NPVVJDRVMgPSBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0FyZ3VtZW50RGVjb2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dERlY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5j
cHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50cy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMvQXR0YWNobWVudC5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2ht
ZW50LmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNwcCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL01lc3NhZ2VJRC5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1BsYXRmb3JtUHJvY2Vzc0lk
ZW50aWZpZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmNwcCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9SdW5Mb29wLmggXAorCVdlYktpdDIvUGxhdGZvcm0vV29ya0l0ZW0uaCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1
ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9EcmF3aW5nQXJlYU1lc3NhZ2VL
aW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9EcmF3aW5nQXJlYVByb3h5
TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlBhZ2VN
ZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFnZVBy
b3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlBy
b2Nlc3NNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvS1VSTFdyYXBwZXIuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvTm90SW1wbGVtZW50ZWQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViQ29y
ZVR5cGVBcmd1bWVudE1hcnNoYWxsaW5nLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29u
dmVyc2lvbi5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9XZWJFdmVudC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNl
c1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oCisKK2xp
YndlYmtpdDJfbGFfQ1hYRkxBR1MgPSBcCisJJChnbG9iYWxfY3h4ZmxhZ3MpIFwKKwkkKGNvcmVr
aXRfY2ZsYWdzKQorCitsaWJ3ZWJraXQyX2xhX0NGTEFHUyA9IFwKKwkkKGdsb2JhbF9jZmxhZ3Mp
IFwKKwkkKGNvcmVraXRfY2ZsYWdzKQorCisjIEVuc3VyZSB0aGF0IHRoZSBwcmVmaXggaGVhZGVy
IGlzIGJ1aWx0IGJlZm9yZQorQlVJTFRfU09VUkNFUyArPSBcCisJJCh3ZWJraXQyX2NvcGllZF9o
ZWFkZXJzKSBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmguZ2NoCisK
K2xpYndlYmtpdDJfbGFfQ1BQRkxBR1MgPSBcCisJLWluY2x1ZGUgRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9XZWJLaXQyUHJlZml4LmggXAorCS1JJChzcmNkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVk
IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvUGxhdGZvcm0gXAorCS1JaW5jbHVkZSBcCisJJChnbG9iYWxfY3BwZmxhZ3MpIFwK
KwkkKGNvcmVraXRfY3BwZmxhZ3MpCisKK2xpYndlYmtpdDJfbGFfTElCQUREID0gXAorCS1scHRo
cmVhZCBcCisJY29weS13ZWJjb3JlLWhlYWRlcnMgXAorCWNvcHktamF2YXNjcmlwdGNvcmUtaGVh
ZGVycyBcCisJbGliSmF2YVNjcmlwdENvcmUubGEgXAorCSQod2ViY29yZV9sZGZsYWdzKSBcCisJ
JChDQUlST19MSUJTKSBcCisJJChDT1ZFUkFHRV9MREZMQUdTKSBcCisJJChFTkNIQU5UX0xJQlMp
IFwKKwkkKEZSRUVUWVBFX0xJQlMpIFwKKwkkKEdBSUxfTElCUykgXAorCSQoR0VPQ0xVRV9MSUJT
KSBcCisJJChHTElCX0xJQlMpIFwKKwkkKEdTVFJFQU1FUl9MSUJTKSBcCisJJChHVEtfTElCUykg
XAorCSQoSElMRE9OX0xJQlMpIFwKKwkkKEpQRUdfTElCUykgXAorCSQoTElCU09VUF9MSUJTKSBc
CisJJChMSUJYTUxfTElCUykgXAorCSQoTElCWFNMVF9MSUJTKSBcCisJJChQQU5HT19MSUJTKSBc
CisJJChQTkdfTElCUykgXAorCSQoU1FMSVRFM19MSUJTKSBcCisJJChVTklDT0RFX0xJQlMpIFwK
KwkkKFhUX0xJQlMpCisKKyMgV2UgY29tcGlsZSB0aGUgcHJlZml4IGhlYWRlciBpbnRvIGEgcHJl
Y29tcGlsZWQgaGVhZGVyIGluIHRoZSBEZXJpdmVkU291cmNlcworIyBkaXJlY3RvcnksIHNvIHdl
IGNhbiBmb3JjZSBpdCB0byBiZSBhdCB0aGUgYmVnaW5uaW5nIG9mIHRoZSBpbmNsdWRlIGxpc3Qu
CitEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYktpdDJQcmVmaXguaC5nY2g6ICQoc3JjZGlyKS9X
ZWJLaXQyL1dlYktpdDJQcmVmaXguaAorCW1rZGlyIC1wIERlcml2ZWRTb3VyY2VzL1dlYktpdDIK
KwljcCAtdSAkPCBEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYktpdDJQcmVmaXguaAorCSQoQ1hY
Q09NUElMRSkgJChsaWJ3ZWJraXQyX2xhX0NQUEZMQUdTKSAtYyBEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1dlYktpdDJQcmVmaXguaAorCitqYXZhc2NyaXB0Y29yZV9oZWFkZXJzIDo9ICQoZmlsdGVy
ICUuaCwgJChqYXZhc2NyaXB0Y29yZV9zb3VyY2VzKSkKK2NvcHktamF2YXNjcmlwdGNvcmUtaGVh
ZGVyczogJChqYXZhc2NyaXB0Y29yZV9oZWFkZXJzKQorCW1rZGlyIC1wIGluY2x1ZGUvSmF2YVNj
cmlwdENvcmUKKwljcCAtdSAkKGZvcmVhY2ggaW5jbHVkZSwkKGphdmFzY3JpcHRjb3JlX2hlYWRl
cnMpLCQoc3JjZGlyKS8kKGluY2x1ZGUpKSBpbmNsdWRlL0phdmFTY3JpcHRDb3JlCitwaG9ueV90
YXJnZXRzICs9IGNvcHktamF2YXNjcmlwdGNvcmUtaGVhZGVycworCit3ZWJjb3JlX2hlYWRlcnMg
Oj0gJChmaWx0ZXIgJS5oLCAkKHdlYmNvcmVfc291cmNlcykpCitjb3B5LXdlYmNvcmUtaGVhZGVy
czogJCh3ZWJjb3JlX2hlYWRlcnMpCisJbWtkaXIgLXAgaW5jbHVkZS9XZWJDb3JlCisJY3AgLXUg
JChmb3JlYWNoIGluY2x1ZGUsJCh3ZWJjb3JlX2hlYWRlcnMpLCQoc3JjZGlyKS8kKGluY2x1ZGUp
KSBpbmNsdWRlL1dlYkNvcmUKK3Bob255X3RhcmdldHMgKz0gY29weS13ZWJjb3JlLWhlYWRlcnMK
Kworbm9pbnN0X0xUTElCUkFSSUVTICs9IFwKKwlsaWJ3ZWJraXQyLmxhCmRpZmYgLS1naXQgYS9X
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oIGIvV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0Nvbm5lY3Rpb24uaAppbmRleCAzZGNkNzYzYWFiYThjMTg2ZmE2MzQyMTc2NjVhMDE2
MGUyZGI2ZTY2Li4zM2FjM2Y5NTkwZTU2MTliNzMyOWIxNWMyYzkzOTBjNTc2ODUwZTM2IDEwMDY0
NAotLS0gYS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oCisrKyBiL1dlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmgKQEAgLTcxLDYgKzcxLDggQEAgcHVibGlj
OgogICAgIHN0YXRpYyBib29sIGNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKElkZW50
aWZpZXImIHNlcnZlcklkZW50aWZpZXIsIElkZW50aWZpZXImIGNsaWVudElkZW50aWZpZXIpOwog
I2VsaWYgUExBVEZPUk0oUVQpCiAgICAgdHlwZWRlZiBjb25zdCBRU3RyaW5nIElkZW50aWZpZXI7
CisjZWxpZiBQTEFURk9STShHVEspCisgICAgdHlwZWRlZiBpbnQgSWRlbnRpZmllcjsKICNlbmRp
ZgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q29ubmVjdGlvbj4gY3JlYXRlU2VydmVyQ29ubmVj
dGlvbihJZGVudGlmaWVyLCBDbGllbnQqLCBSdW5Mb29wKiBjbGllbnRSdW5Mb29wKTsKZGlmZiAt
LWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCAyMDRkOGZiZGMyZDY2Mzg2
ZjA0YjNiODU0NjZkNjZlMzI3ZWU4YWY4Li43YzEzZDVhYjZmMTgzM2Y4ZDQ1ZWVmZDM3MWM3Njkx
MWU4NTAwODc1IDEwMDY0NAotLS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBA
IC03MTQsNiArNzE0LDE0IEBAIGlmIHRlc3QgIiRlbmFibGVfaml0IiA9ICJ5ZXMiOyB0aGVuCiBm
aQogQUNfTVNHX1JFU1VMVChbJGVuYWJsZV9qaXRdKQogCisjIFdlYktpdDIKK0FDX01TR19DSEVD
S0lORyhbd2hldGhlciB0byBhbHNvIGJ1aWxkIFdlYktpdDIgcGllY2VzXSkKK0FDX0FSR19FTkFC
TEUod2Via2l0MiwKKyAgICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXdlYmtp
dDJdLAorICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYWxzbyBidWlsZCBleGlzdGluZyB3
ZWJraXQyIHBpZWNlcyBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgW10sW2VuYWJsZV93
ZWJraXQyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV93ZWJraXRdKQorCiAjIEdPYmpl
Y3QgSW50cm9zcGVjdGlvbgogQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGVuYWJsZSBHT2Jq
ZWN0IGludHJvc3BlY3Rpb24gc3VwcG9ydF0pCiBBQ19BUkdfRU5BQkxFKFtpbnRyb3NwZWN0aW9u
XSwKQEAgLTkyOCw2ICs5MzYsNyBAQCBBTV9DT05ESVRJT05BTChbU1ZHX0ZMQUdTXSxbdGVzdCAi
JHN2Z19mbGFncyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbSFRNTF9GTEFHU10sW3Rlc3Qg
IiRodG1sX2ZsYWdzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCX1NPQ0tF
VFNdLFt0ZXN0ICIkZW5hYmxlX3dlYl9zb2NrZXRzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFM
KFtFTkFCTEVfV0VCX1RJTUlOR10sW3Rlc3QgIiRlbmFibGVfd2ViX3RpbWluZyIgPSAieWVzIl0p
CitBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQktJVDJdLFt0ZXN0ICIkZW5hYmxlX3dlYmtpdDIi
ID0gInllcyJdKQogCiAjIEd0ayBjb25kaXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVf
SU5UUk9TUEVDVElPTl0sW3Rlc3QgIiRlbmFibGVfaW50cm9zcGVjdGlvbiIgPSAieWVzIl0pCkBA
IC05OTEsNiArMTAwMCw3IEBAIEZlYXR1cmVzOgogIFNWRyBhcyBpbWFnZSBzdXBwb3J0ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9zdmdfYXNfaW1hZ2UKICBT
VkcgdXNlIGVsZW1lbnQgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6
ICRlbmFibGVfc3ZnX3VzZQogIFdNTCBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV93bWwKKyBXZWJLaXQyIHN1cHBvcnQgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfd2Via2l0MgogIFdl
YiBTb2NrZXRzIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDog
JGVuYWJsZV93ZWJfc29ja2V0cwogIFdlYiBUaW1pbmcgc3VwcG9ydCAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV93ZWJfdGltaW5nCiAgV2ViIFdvcmtlcnMg
c3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX3dv
cmtlcnMK
</data>
<flag name="review"
          id="51731"
          type_id="1"
          status="-"
          setter="xan.lopez"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71620</attachid>
            <date>2010-10-22 22:42:18 -0700</date>
            <delta_ts>2010-10-26 08:00:08 -0700</delta_ts>
            <desc>Initial Implementation of WebKit2 Gtk Port</desc>
            <filename>Initial Implementation for WebKit2 Gtk Port.patch</filename>
            <type>text/plain</type>
            <size>253399</size>
            <attacher name="Amruth Raj">amruthraj</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDcwMDk4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTAt
MjIgIEFtcnV0aCBSYWovUmF2aSBLYXNpYmhhdGxhICA8YW1ydXRocmFqQG1vdG9yb2xhLmNvbS9y
YXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9E
WSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIg
Zm9yIEd0ayBwb3J0LgorICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcu
Y2dpP2lkPTM3MzY5KQorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IENoYW5nZXMgdG8gYnVp
bGQgZWl0aGVyIG9mIFdlYktpdDEgb3IgV2ViS2l0Mi4KKyAgICAgICAgSXQgYmFzaWNhbGx5IGV4
Y2x1ZGVzIGFsbCBXZWJLaXQvZ3RrL3dlYmtpdC8gZmlsZXMgd2hlbiBidWlsZGluZyBXZWJLaXQy
LgorICAgICAgICBBbHNvLCBleGx1ZGVzIFVuaXR0ZXN0cywgRHVtcHJlbmRlclRyZWUsIEd0a0xh
dW5jaGVyIGV0YyBmb3IgV2ViS2l0Mi4KKyAgICAgICAgKiBjb25maWd1cmUuYWM6IE9wdGlvbiBm
b3IgZW5hYmxlIG9yIGRpc2FibGUgV2ViS2l0Mi4KKwogMjAxMC0xMC0xOSAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjcwMDM0LgpJbmRleDogR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gR05V
bWFrZWZpbGUuYW0JKHJldmlzaW9uIDcwMDk4KQorKysgR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcg
Y29weSkKQEAgLTcyLDYgKzcyLDcgQEAgd2Via2l0Z3RrX2NwcGZsYWdzIDo9CiB3ZWJraXRndGtf
Z2RvbV9idWlsdF9zb3VyY2VzIDo9CiB3ZWJraXRndGtfYnVpbHRfc291cmNlcyA6PQogd2Via2l0
Z3RrX2J1aWx0X25vc291cmNlcyA6PQord2Via2l0Ml9idWlsdF9zb3VyY2VzIDo9CiBnbG9iYWxf
Y3BwZmxhZ3MgOj0KIGdsb2JhbF9jZmxhZ3MgOj0KIGdsb2JhbF9jeHhmbGFncyA6PQpAQCAtMTA5
LDEwICsxMTAsNiBAQCBpZiBPU19HTlUKIHZlcnNpb25fc2NyaXB0ID0gLVdsLC0tdmVyc2lvbi1z
Y3JpcHQsJChzcmNkaXIpL2F1dG90b29scy9zeW1ib2xzLmZpbHRlcgogZW5kaWYKIAotIyBTaGFy
ZWQgbGlicmFyaWVzCi1saWJfTFRMSUJSQVJJRVMgKz0gXAotCWxpYndlYmtpdGd0ay1AV0VCS0lU
R1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYQot
CiAjIENvbnZlbmllbmNlIGxpYnJhcmllcwogbm9pbnN0X0xUTElCUkFSSUVTICs9IFwKIAlsaWJK
YXZhU2NyaXB0Q29yZS5sYQpAQCAtMTIzLDkgKzEyMCw2IEBAIG5vZGlzdF9FWFRSQV9saWJKYXZh
U2NyaXB0Q29yZV9sYV9TT1VSQ0UKIG5vZGlzdF9saWJKYXZhU2NyaXB0Q29yZV9sYV9TT1VSQ0VT
ID0gXAogCSQoamF2YXNjcmlwdGNvcmVfYnVpbHRfc291cmNlcykKIAotbGliSmF2YVNjcmlwdENv
cmVfbGFkaXIgPSAkKHByZWZpeCkvaW5jbHVkZS93ZWJraXQtQFdFQktJVEdUS19BUElfVkVSU0lP
TkAvSmF2YVNjcmlwdENvcmUKLWxpYkphdmFTY3JpcHRDb3JlX2xhX0hFQURFUlMgPSAkKGphdmFz
Y3JpcHRjb3JlX2hfYXBpKQotCiBsaWJKYXZhU2NyaXB0Q29yZV9sYV9TT1VSQ0VTID0gXAogCSQo
amF2YXNjcmlwdGNvcmVfc291cmNlcykKIApAQCAtMTQ5LDcgKzE0MywxMTggQEAgbGliSmF2YVNj
cmlwdENvcmVfbGFfQ1BQRkxBR1MgPSBcCiAJJChnbG9iYWxfY3BwZmxhZ3MpIFwKIAkkKGphdmFz
Y3JpcHRjb3JlX2NwcGZsYWdzKQogCisjIFdlYktpdDIKK2lmIEVOQUJMRV9XRUJLSVQyCisKK2xp
YkphdmFTY3JpcHRDb3JlX2xhZGlyID0gJChwcmVmaXgpL2luY2x1ZGUvd2Via2l0Mi1AV0VCS0lU
R1RLX0FQSV9WRVJTSU9OQC9KYXZhU2NyaXB0Q29yZQorbGliSmF2YVNjcmlwdENvcmVfbGFfSEVB
REVSUyA9ICQoamF2YXNjcmlwdGNvcmVfaF9hcGkpCisKK2xpYl9MVExJQlJBUklFUyArPSBcCisJ
bGlid2Via2l0Mmd0ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQ
SV9NSU5PUl9WRVJTSU9OQC5sYQorCitub2Rpc3RfRVhUUkFfbGlid2Via2l0Mmd0a19AV0VCS0lU
R1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9T
T1VSQ0VTID0gXAorCSQod2ViY29yZV9idWlsdF9ub3NvdXJjZXMpCisKK25vZGlzdF9saWJ3ZWJr
aXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9S
X1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJLaXQy
UHJlZml4LmggXAorCSQod2ViY29yZV9idWlsdF9zb3VyY2VzKSBcCisJJCh3ZWJraXQyX2J1aWx0
X3NvdXJjZXMpCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBf
QFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFkaXIgPSAkKHByZWZpeCkvaW5jbHVkZS93
ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL3dlYmtpdDIKK2xpYndlYmtpdDJndGtfQFdF
QktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBf
bGFfSEVBREVSUyA9IFwKKwkkKHdlYmtpdDJndGtfc3RhdGljX2hfYXBpKQorCitsaWJ3ZWJraXQy
Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZF
UlNJT05AX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJjb3JlX3NvdXJjZXMpIFwKKwkkKHdlYmNvcmVn
dGtfc291cmNlcykgXAorCSQod2Via2l0Ml9zb3VyY2VzKSBcCisJJCh3ZWJraXQyZ3RrX3NvdXJj
ZXMpCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1hYRkxBR1MgPSBcCisJJChnbG9iYWxfY3h4Zmxh
Z3MpCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ0ZMQUdTID0gXAorCSQoZ2xvYmFsX2NmbGFncykK
KworIyBXaGVuIGJ1aWxkaW5nIFdlYkNvcmUvV2ViS2l0LCB3ZSB3YW50IFdlYkNvcmUvY29uZmln
LmggYW5kIE5PVCBKYXZhU2NyaXB0Q29yZS9jb25maWcuaCwKKyMgaGVuY2UsIGl0J3MgaW1wb3J0
YW50IHRoYXQgV2ViQ29yZS8gc2hvdWxkIGNvbWUgZmlyc3QgYmVmb3JlIEphdmFTY3JpcHRDb3Jl
IGluIHRoZQorIyBpbmNsdWRlIHBhdGguCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01B
Sk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTID0g
XAorCS1EQlVJTERJTkdfV0VCS0lUIFwKKwktRFBBQ0tBR0VfTE9DQUxFX0RJUj1cIiQobG9jYWxl
ZGlyKVwiIFwKKwktRERBVEFfRElSPVwiJHtkYXRhZGlyfVwiIFwKKwkkKGdsb2JhbF9jcHBmbGFn
cykgXAorCSQod2ViY29yZV9jcHBmbGFncykgXAorCSQod2ViY29yZWd0a19jcHBmbGFncykgXAor
CSQod2Via2l0Ml9jcHBmbGFncykgXAorCSQod2Via2l0Mmd0a19jcHBmbGFncykgXAorCSQoamF2
YXNjcmlwdGNvcmVfY3BwZmxhZ3MpIFwKKwktZm5vLXN0cmljdC1hbGlhc2luZyBcCisJJChISUxE
T05fQ1BQRkxBR1MpIFwKKwkkKENPVkVSQUdFX0NGTEFHUykgXAorCSQoRU5DSEFOVF9DRkxBR1Mp
IFwKKwkkKEdBSUxfQ0ZMQUdTKSBcCisJJChHRU9DTFVFX0NGTEFHUykgXAorCSQoR0xJQl9DRkxB
R1MpIFwKKwkkKEdTVFJFQU1FUl9DRkxBR1MpIFwKKwkkKEdUS19DRkxBR1MpIFwKKwkkKEhJTERP
Tl9DRkxBR1MpIFwKKwkkKExJQlNPVVBfQ0ZMQUdTKSBcCisJJChMSUJYTUxfQ0ZMQUdTKSBcCisJ
JChMSUJYU0xUX0NGTEFHUykgXAorCSQoU1FMSVRFM19DRkxBR1MpIFwKKwkkKFVOSUNPREVfQ0ZM
QUdTKSBcCisJJChYVF9DRkxBR1MpCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFK
T1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfTERGTEFHUyA9IFwK
KwktdmVyc2lvbi1pbmZvIEBMSUJXRUJLSVRHVEtfVkVSU0lPTkAgXAorCSQodmVyc2lvbl9zY3Jp
cHQpIFwKKwkkKG5vX3VuZGVmaW5lZCkKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9N
QUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MSUJBREQgPSBc
CisJLWxwdGhyZWFkIFwKKwlsaWJKYXZhU2NyaXB0Q29yZS5sYSBcCisJJCh3ZWJjb3JlX2xkZmxh
Z3MpIFwKKwkkKENBSVJPX0xJQlMpIFwKKwkkKENPVkVSQUdFX0xERkxBR1MpIFwKKwkkKEVOQ0hB
TlRfTElCUykgXAorCSQoRlJFRVRZUEVfTElCUykgXAorCSQoR0FJTF9MSUJTKSBcCisJJChHRU9D
TFVFX0xJQlMpIFwKKwkkKEdMSUJfTElCUykgXAorCSQoR1NUUkVBTUVSX0xJQlMpIFwKKwkkKEdU
S19MSUJTKSBcCisJJChISUxET05fTElCUykgXAorCSQoSlBFR19MSUJTKSBcCisJJChMSUJTT1VQ
X0xJQlMpIFwKKwkkKExJQlhNTF9MSUJTKSBcCisJJChMSUJYU0xUX0xJQlMpIFwKKwkkKFBBTkdP
X0xJQlMpIFwKKwkkKFBOR19MSUJTKSBcCisJJChTUUxJVEUzX0xJQlMpIFwKKwkkKFVOSUNPREVf
TElCUykgXAorCSQoWFRfTElCUykKKworIyBGb3IgdGhlIEd0ayBwb3J0IHdlIHdhbnQgdG8gdXNl
IFhQX1VOSVggYm90aCBpbiBYMTEgYW5kIE1hYworaWYgIVRBUkdFVF9XSU4zMgorbGlid2Via2l0
Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9W
RVJTSU9OQF9sYV9DUFBGTEFHUyArPSBcCisJLURYUF9VTklYCitlbmRpZgorCityZXNvdXJjZXNk
aXIgPSAke2RhdGFkaXJ9L3dlYmtpdDItQFdFQktJVEdUS19BUElfVkVSU0lPTkAvcmVzb3VyY2Vz
Citwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCitwa2djb25maWdfREFUQSA9IFdl
YktpdDIvZ3RrL0BXRUJLSVRHVEtfUENfTkFNRUAyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ALnBj
CisKK2Vsc2UgICNFTkFCTEVfV0VCS0lUMgorCiAjIFdlYktpdAorbGliSmF2YVNjcmlwdENvcmVf
bGFkaXIgPSAkKHByZWZpeCkvaW5jbHVkZS93ZWJraXQtQFdFQktJVEdUS19BUElfVkVSU0lPTkAv
SmF2YVNjcmlwdENvcmUKK2xpYkphdmFTY3JpcHRDb3JlX2xhX0hFQURFUlMgPSAkKGphdmFzY3Jp
cHRjb3JlX2hfYXBpKQorCisjIFNoYXJlZCBsaWJyYXJpZXMKK2xpYl9MVExJQlJBUklFUyArPSBc
CisJbGlid2Via2l0Z3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtf
QVBJX01JTk9SX1ZFUlNJT05ALmxhCisKIG5vZGlzdF9FWFRSQV9saWJ3ZWJraXRndGtfQFdFQktJ
VEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFf
U09VUkNFUyA9IFwKIAkkKHdlYmNvcmVfYnVpbHRfbm9zb3VyY2VzKQogCkBAIC0xNjgsNiArMjcz
LDcgQEAgbm9kaXN0X2xpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUgogbGlid2Via2l0
Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZF
UlNJT05AX2xhX1NPVVJDRVMgPSBcCiAJJCh3ZWJjb3JlX3NvdXJjZXMpIFwKIAkkKHdlYmNvcmVn
dGtfc291cmNlcykgXAorCSQod2ViY29yZWd0a19kb21fc291cmNlcykgXAogCSQod2Via2l0Z3Rr
X3NvdXJjZXMpCiAKIGxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9A
V0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DWFhGTEFHUyA9IFwKQEAgLTE5NSw2ICsz
MDEsNyBAQCBsaWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPCiAJJChnbG9i
YWxfY3BwZmxhZ3MpIFwKIAkkKHdlYmNvcmVfY3BwZmxhZ3MpIFwKIAkkKHdlYmNvcmVndGtfY3Bw
ZmxhZ3MpIFwKKwkkKHdlYmNvcmVndGtfZG9tX2NwcGZsYWdzKSBcCiAJJChqYXZhc2NyaXB0Y29y
ZV9jcHBmbGFncykgXAogCS1mbm8tc3RyaWN0LWFsaWFzaW5nIFwKIAkkKEhJTERPTl9DUFBGTEFH
UykgXApAQCAtMjUwLDYgKzM1Nyw3IEBAIGxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpP
Ul9WRVJTSU8KIAkkKFdJTk1NX0xJQlMpIFwKIAkkKFNITFdBUElfTElCUykgXAogCSQoT0xFMzJf
TElCUykKK2VuZGlmICNFTkFCTEVfV0VCS0lUMgogCiAjCiAjIEV4dHJhIGNoZWNrcyBhbmQgZmxh
Z3MKQEAgLTMwNyw2ICs0MTUsNyBAQCBnbG9iYWxfY3BwZmxhZ3MgKz0gXAogCS1ER0NDX0lOU1RS
VU1FTlRfUFJPR1JBTV9GTE9XX0FSQ1MKIGVuZGlmCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogd2Vi
a2l0Z3RrX3N0YXRpY19oX2FwaSArPSBcCiAJJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vbmV0
d29yay9zb3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQv
Z3RrL3dlYmtpdC93ZWJraXQuaCBcCkBAIC01MzksOCArNjQ4LDEwIEBAIEVYVFJBX0RJU1QgKz0g
XAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3Rlc3RzL3Rlc3RfdXRpbHMuaCBcCiAJJChzcmNkaXIp
L1dlYktpdC9ndGsvb3JnLndlYmtpdGd0ay5nc2NoZW1hLnhtbC5pbgogCi0jIGV4dHJhIHJlc291
cmNlIGZpbGVzCiByZXNvdXJjZXNkaXIgPSAke2RhdGFkaXJ9L3dlYmtpdC1AV0VCS0lUR1RLX0FQ
SV9WRVJTSU9OQC9yZXNvdXJjZXMKK2VuZGlmICAjIUVOQUJMRV9XRUJLSVQyCisKKyMgZXh0cmEg
cmVzb3VyY2UgZmlsZXMKIGRpc3RfcmVzb3VyY2VzX0RBVEEgPSBcCiAJJChzaGVsbCBscyAkKHNy
Y2RpcikvV2ViS2l0L2d0ay9yZXNvdXJjZXMvKi5odG1sKQogCkBAIC01NDksNiArNjYwLDE1IEBA
IGRpc3RfcmVzb3VyY2VzX0RBVEEgPSBcCiAjIEluY2x1ZGUgbW9kdWxlIG1ha2VmaWxlcwogaW5j
bHVkZSBKYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJDb3JlL0dOVW1h
a2VmaWxlLmFtCisKKyMgSW5jbHVkZSBtb2R1bGUgbWFrZWZpbGVzIGJhc2VkIG9uIGJ1aWxkIHN5
c3RlbQoraWYgRU5BQkxFX1dFQktJVDIKKworaW5jbHVkZSBXZWJLaXQyL0dOVW1ha2VmaWxlLmFt
CitpbmNsdWRlIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9HTlVtYWtlZmlsZS5hbQorCitl
bHNlICAjRU5BQkxFX1dFQktJVDIKKwogaW5jbHVkZSBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
R05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUuYW0KIGluY2x1
ZGUgV2ViS2l0L2d0ay9wby9HTlVtYWtlZmlsZS5hbQpAQCAtNzIyLDEyICs4NDIsMjkgQEAgUHJv
Z3JhbXNfdW5pdHRlc3RzX3Rlc3Rjb3B5YW5kcGFzdGVfQ0ZMQQogUHJvZ3JhbXNfdW5pdHRlc3Rz
X3Rlc3Rjb3B5YW5kcGFzdGVfTERBREQgPSAkKHdlYmtpdF90ZXN0c19sZGFkZCkKIFByb2dyYW1z
X3VuaXR0ZXN0c190ZXN0Y29weWFuZHBhc3RlX0xERkxBR1MgPSAkKHdlYmtpdF90ZXN0c19sZGZs
YWdzKQogCitlbmRpZiAgI0VOQUJMRV9XRUJLSVQyCisKICMgQXV0b2dlbmVyYXRlZCBzb3VyY2Vz
CiBCVUlMVF9TT1VSQ0VTICs9IFwKIAkkKGphdmFzY3JpcHRjb3JlX2J1aWx0X3NvdXJjZXMpIFwK
IAkkKGphdmFzY3JpcHRjb3JlX2J1aWx0X25vc291cmNlcykgXAogCSQod2ViY29yZV9idWlsdF9z
b3VyY2VzKSBcCi0JJCh3ZWJjb3JlX2J1aWx0X25vc291cmNlcykgXAorCSQod2ViY29yZV9idWls
dF9ub3NvdXJjZXMpCisKK2lmIEVOQUJMRV9XRUJLSVQyCisKK0NMRUFORklMRVMgKz0gXAorCSQo
QlVJTFRfU09VUkNFUykgXAorCSQodG9wX2J1aWxkZGlyKS9XZWJLaXQyL2d0ay9AV0VCS0lUR1RL
X1BDX05BTUVALUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ALnBjCisKK0RJU1RDTEVBTkZJTEVTICs9
IFwKKwkkKENMRUFORklMRVMpIFwKKwkkKGJ1aWxkZGlyKS9kb2x0Y29tcGlsZSBcCisJJChidWls
ZGRpcikvZG9sdGxpYnRvb2wKKworZWxzZSAjRU5BQkxFX1dFQktJVDIKKworQlVJTFRfU09VUkNF
UyArPSBcCiAJJCh3ZWJraXRndGtfYnVpbHRfc291cmNlcykgXAogCSQod2Via2l0Z3RrX2J1aWx0
X25vc291cmNlcykKIApAQCAtNzUwLDYgKzg4Nyw3IEBAIERJU1RDTEVBTkZJTEVTICs9IFwKIAkk
KHRvcF9idWlsZGRpcikvV2ViS2l0L2d0ay9AV0VCS0lUR1RLX1BDX05BTUVALUBXRUJLSVRHVEtf
QVBJX1ZFUlNJT05ALnBjIFwKIAkkKHRvcF9idWlsZGRpcikvV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0dmVyc2lvbi5oIFwKIAkkKHRvcF9idWlsZGRpcikvV2ViS2l0L2d0ay9vcmcud2Via2l0Z3Rr
LUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ALmdzY2hlbWEueG1sCitlbmRpZiAjRU5BQkxFX1dFQktJ
VDIKIAogTUFJTlRBSU5FUkNMRUFORklMRVMgKz0gXAogCSQoQ0xFQU5GSUxFUykgXApAQCAtNzY3
LDEwICs5MDUsMTIgQEAgTUFJTlRBSU5FUkNMRUFORklMRVMgKz0gXAogCSQoc3JjZGlyKS9SRUFE
TUUgXAogCSQodG9wX2J1aWxkZGlyKS9jb25maWcuKgogCitpZiAhRU5BQkxFX1dFQktJVDIKICMg
T2xkZXIgYXV0b21ha2UgdmVyc2lvbnMgKDEuNykgcGxhY2UgUGxvIGZpbGVzIGluIGEgZGlmZmVy
ZW50IHBsYWNlIHNvIHdlIG5lZWQKICMgdG8gY3JlYXRlIHRoZSBvdXRwdXQgZGlyZWN0b3J5IG1h
bnVhbGx5LgogYWxsLWxvY2FsOiBzdGFtcC1wbwogCSQobWtkaXJfcCkgJCh0b3BfYnVpbGRkaXIp
LyQoREVQRElSKS9EZXJpdmVkU291cmNlcworZW5kaWYgIyFFTkFCTEVfV0VCS0lUMgogCiAjIHJl
bW92ZSBidWlsdCBzb3VyY2VzIGFuZCBwcm9ncmFtIGRpcmVjdG9yaWVzCiBjbGVhbi1sb2NhbDoK
QEAgLTc4MSw2ICs5MjEsNyBAQCBtYWludGFpbmVyLWNsZWFuLWxvY2FsOiBkaXN0Y2xlYW4tbG9j
YWwKIGRpc3RjbGVhbi1sb2NhbDoKIAktcm0gLXJmICQoR0VOU09VUkNFUykgJChHRU5QUk9HUkFN
UykKIAoraWYgIUVOQUJMRV9XRUJLSVQyCiBkaXN0LWhvb2s6CiAJY3AgJChzcmNkaXIpL1dlYktp
dC9ndGsvTkVXUyAkKGRpc3RkaXIpCiAKQEAgLTgwOSwzICs5NTAsNCBAQCB0ZXN0LXJlcG9ydCBm
dWxsLXJlcG9ydCBwZXJmLXJlcG9ydDogJChUCiAKIC5QSE9OWTogdGVzdCB0ZXN0LXJlcG9ydCBw
ZXJmLXJlcG9ydCBmdWxsLXJlcG9ydAogY2hlY2stbG9jYWw6IHRlc3QKK2VuZGlmICMgIUVOQUJM
RV9XRUJLSVQyCkluZGV4OiBjb25maWd1cmUuYWMKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY29uZmlndXJlLmFj
CShyZXZpc2lvbiA3MDA5OCkKKysrIGNvbmZpZ3VyZS5hYwkod29ya2luZyBjb3B5KQpAQCAtODg0
LDYgKzg4NCwxNyBAQCBpZiB0ZXN0ICIkZW5hYmxlX3ZpZGVvIiA9ICJ5ZXMiOyB0aGVuCiAgICAg
aHRtbF9mbGFncz15ZXMKIGZpCiAKKyMgV2ViS2l0MgorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVy
IHRvIGJ1aWxkIFdlYmtpdDJdKQorQUNfQVJHX0VOQUJMRSh3ZWJraXQyLAorICAgICAgICAgICAg
QUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXdlYmtpdDJdLAorICAgICAgICAgICAgICAgIFtidWls
ZCB3ZWJraXQyIFtkZWZhdWx0PW5vXV0pLAorICAgICAgICAgICAgICAgIFtdLCBbZW5hYmxlX3dl
YmtpdDI9Im5vIl0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX3dlYmtpdDJdKQoraWYgdGVzdCAi
JGVuYWJsZV93ZWJraXQyIiA9ICJ5ZXMiOyB0aGVuCitBQ19ERUZJTkUoW0VOQUJMRV9XRUJLSVQy
X0JVSUxEXSxbMV0sW0RlZmluZSBpZiB3ZWJraXQyIGJ1aWxkIGlzIGVuYWJsZWRdKQorZmkKKwog
R1RLX0RPQ19DSEVDSyhbMS4xMF0pCiAKICMgT1MgY29uZGl0aW9uYWxzCkBAIC05NTgsMTMgKzk2
OSwxOCBAQCBBTV9DT05ESVRJT05BTChbSFRNTF9GTEFHU10sW3Rlc3QgIiRodG1sCiBBTV9DT05E
SVRJT05BTChbRU5BQkxFX1dFQl9TT0NLRVRTXSxbdGVzdCAiJGVuYWJsZV93ZWJfc29ja2V0cyIg
PSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9USU1JTkddLFt0ZXN0ICIkZW5h
YmxlX3dlYl90aW1pbmciID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9PUENPREVf
U1RBVFNdLFt0ZXN0ICIkZW5hYmxlX29wY29kZV9zdGF0cyIgPSAieWVzIl0pCitBTV9DT05ESVRJ
T05BTChbRU5BQkxFX1dFQktJVDJdLFt0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyJdKQog
CiAjIEd0ayBjb25kaXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSU5UUk9TUEVDVElP
Tl0sW3Rlc3QgIiRlbmFibGVfaW50cm9zcGVjdGlvbiIgPSAieWVzIl0pCiAKLQogQUNfQ09ORklH
X0ZJTEVTKFsKIEdOVW1ha2VmaWxlCitdCispCisgCitpZiB0ZXN0ICIkZW5hYmxlX3dlYmtpdDIi
ID0gIm5vIjsgdGhlbgorQUNfQ09ORklHX0ZJTEVTKFsKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHZlcnNpb24uaAogV2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxlCiBXZWJLaXQvZ3RrL2RvY3Mv
dmVyc2lvbi54bWwKQEAgLTk3OCw2ICs5OTQsMTMgQEAgV2ViS2l0L2d0ay9vcmcud2Via2l0Z3Rr
LSR7V0VCS0lUR1RLX0FQSQogXQogLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdFQktJVEdUS19B
UElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVdCiApCitlbHNl
CitBQ19DT05GSUdfRklMRVMoWworV2ViS2l0Mi9ndGsvJHtXRUJLSVRHVEtfUENfTkFNRX0yLSR7
V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5wYzpXZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCitdCiss
W1dFQktJVEdUS19BUElfVkVSU0lPTj0kV0VCS0lUR1RLX0FQSV9WRVJTSU9OLFdFQktJVEdUS19Q
Q19OQU1FPSRXRUJLSVRHVEtfUENfTkFNRV0KKykKK2ZpCiAKIEFDX09VVFBVVAogCkBAIC0xMDMz
LDYgKzEwNTYsNyBAQCBHVEsrIGNvbmZpZ3VyYXRpb246CiAgR0RLIHRhcmdldCAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0aF90YXJnZXQKICBIaWxk
b24gVUkgZXh0ZW5zaW9ucyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3
aXRoX2hpbGRvbgogIEludHJvc3BlY3Rpb24gc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIDogJGVuYWJsZV9pbnRyb3NwZWN0aW9uCisgV2ViS2l0MiBzdXBwb3J0ICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX3dlYmtpdDIK
ICIKIGlmIHRlc3QgIiR3aXRoX3VuaWNvZGVfYmFja2VuZCIgPSAiZ2xpYiI7IHRoZW4KICAgIGVj
aG8gIiAgICAgPj4gV0FSTklORzogdGhlIGdsaWItYmFzZWQgdW5pY29kZSBiYWNrZW5kIGlzIHNs
b3cgYW5kIGluY29tcGxldGUgPDwiCkluZGV4OiBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gSmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MDA5OCkKKysr
IEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBA
CisyMDEwLTEwLTIyICBBbXJ1dGggUmFqL1JhdmkgS2FzaWJoYXRsYSAgPGFtcnV0aHJhakBtb3Rv
cm9sYS5jb20vcmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBidWlsZGlu
ZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4gCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogRXhj
bHVkZSBjb3VwbGUgb2Ygd2luZG93cyBzcGVjaWZpYyBmaWxlcyBmb3IgZ2VuZXJhbCBHdGsgcGxh
dGZvcm0gYnVpbGQuCisKIDIwMTAtMTAtMTkgIENzYWJhIE9zenRyb2dvbsOhYyAgPG9zc3lAd2Vi
a2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBHZW9mZnJleSBHYXJlbi4KSW5kZXg6IEph
dmFTY3JpcHRDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3Jl
L0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3MDA5OCkKKysrIEphdmFTY3JpcHRDb3JlL0dOVW1h
a2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC01MSw3ICs1MSw2IEBAIGphdmFzY3JpcHRjb3Jl
X2J1aWx0X25vc291cmNlcyArPSBcCiAJSmF2YVNjcmlwdENvcmUvcGNyZS9jaGFydGFibGVzLmMK
IAogamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCi0JSmF2YVNjcmlwdENvcmUvQVBJL0FQSUNh
c3QuaCBcCiAJSmF2YVNjcmlwdENvcmUvQVBJL0FQSVNoaW1zLmggXAogCUphdmFTY3JpcHRDb3Jl
L0FQSS9KU0Jhc2UuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9BUEkvSlNCYXNlUHJpdmF0ZS5oIFwK
QEAgLTY4LDEyICs2NywxMCBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKIAlKYXZhU2Ny
aXB0Q29yZS9BUEkvSlNDb250ZXh0UmVmUHJpdmF0ZS5oIFwKIAlKYXZhU2NyaXB0Q29yZS9BUEkv
SlNPYmplY3RSZWYuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9BUEkvSlNPYmplY3RSZWZQcml2YXRl
LmggXAotCUphdmFTY3JpcHRDb3JlL0FQSS9KU1JldGFpblB0ci5oIFwKIAlKYXZhU2NyaXB0Q29y
ZS9BUEkvSlNTdHJpbmdSZWYuY3BwIFwKIAlKYXZhU2NyaXB0Q29yZS9BUEkvSlNWYWx1ZVJlZi5j
cHAgXAogCUphdmFTY3JpcHRDb3JlL0FQSS9KU1dlYWtPYmplY3RNYXBSZWZJbnRlcm5hbC5oIFwK
IAlKYXZhU2NyaXB0Q29yZS9BUEkvT3BhcXVlSlNTdHJpbmcuY3BwIFwKLQlKYXZhU2NyaXB0Q29y
ZS9BUEkvT3BhcXVlSlNTdHJpbmcuaCBcCiAJSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0Fic3Ry
YWN0TWFjcm9Bc3NlbWJsZXIuaCBcCiAJSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFzc2Vt
Ymxlci5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9BUk1Bc3NlbWJsZXIuaCBcCkBA
IC0xODAsOCArMTc3LDYgQEAgamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAJSmF2YVNjcmlw
dENvcmUvaml0L1NwZWNpYWxpemVkVGh1bmtKSVQuaCBcCiAJSmF2YVNjcmlwdENvcmUvaml0L1Ro
dW5rR2VuZXJhdG9ycy5jcHAgXAogCUphdmFTY3JpcHRDb3JlL2ppdC9UaHVua0dlbmVyYXRvcnMu
aCBcCi0JSmF2YVNjcmlwdENvcmUvb3Mtd2luMzIvc3RkYm9vbC5oIFwKLQlKYXZhU2NyaXB0Q29y
ZS9vcy13aW4zMi9zdGRpbnQuaCBcCiAJSmF2YVNjcmlwdENvcmUvcGFyc2VyL0FTVEJ1aWxkZXIu
aCBcCiAJSmF2YVNjcmlwdENvcmUvcGFyc2VyL0pTUGFyc2VyLmNwcCBcCiAJSmF2YVNjcmlwdENv
cmUvcGFyc2VyL0pTUGFyc2VyLmggXApAQCAtNTUyLDYgKzU0Nyw4IEBAIGphdmFzY3JpcHRjb3Jl
X3NvdXJjZXMgKz0gXAogCiBpZiBUQVJHRVRfV0lOMzIKIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMg
Kz0gXAorCUphdmFTY3JpcHRDb3JlL29zLXdpbjMyL3N0ZGJvb2wuaCBcCisJSmF2YVNjcmlwdENv
cmUvb3Mtd2luMzIvc3RkaW50LmggXAogCUphdmFTY3JpcHRDb3JlL3J1bnRpbWUvTWFya1N0YWNr
V2luLmNwcAogZWxzZQogamF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCkluZGV4OiBXZWJDb3Jl
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzAw
OTgpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE5IEBA
CisyMDEwLTEwLTIyICBBbXJ1dGggUmFqL1JhdmkgS2FzaWJoYXRsYSAgPGFtcnV0aHJhakBtb3Rv
cm9sYS5jb20vcmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdl
ZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBidWlsZGlu
ZyBXZWJLaXQyIGZvciBHdGsgcG9ydAorICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgIE5vIG5ldyB0ZXN0cy4gKE9PUFMhKQor
CisgICAgICAgICogR05VbWFrZWZpbGUuYW06IENoYW5nZXMgdG8gZW5hYmxlIGRpc2FibGUgYnVp
bGRpbmcgb2YgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0IHdoZW4gYnVpbGRpbmcgV2ViS2l0Mi4K
KyAgICAgICAgVGhpcyBpcyByZXF1aXJlZCBzaW5jZSBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qg
YWNjZXNzIFdlYktpdC9ndGsvd2Via2l0IGZpbGVzLCB3aGljaCBhcmUgc2tpcHBlZCBmb3IgV2Vi
S2l0Mi4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAt
Y2FjaGUuaDogQ2hhbmdlcyB0byBzdG9wIGluY2x1ZGluZyA8d2Via2l0L3dlYmtpdGRlZmluZXMu
aD4KKyAgICAgICAgd2hlbiBidWlsZGluZyBXZWJLaXQyLiBJbnN0ZWFkIHRoZSBtYWNybyBXRUJL
SVRfQVBJIGlzIGRlZmluZWQgZGlyZWN0bHkgaW4gc291cC1jYWNoZS5oLiA8d2Via2l0L3dlYmtp
dGRlZmluZXMuaD4KKyAgICAgICAgaXMgaW5jbHVkaW5nIG9ubHkgd2hlbiBidWlsZGluZyBXZWJL
aXQxLiBUaGlzIGlzIGRvbmUgYXMgZW50aXJlIGRpciBXZWJLaXQvZ3RrL3dlYmtpdCBpcyBza2lw
cGVkIHdoZW4gYnVpbGRpbmcKKyAgICAgICAgV2ViS2l0Mi4KKwogMjAxMC0xMC0xOSAgQWxleGV5
IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRl
cnMgQ2FybHNzb24uCkluZGV4OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDcwMDk4KQorKysgV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTAsNyArMTAsNiBAQCB3ZWJjb3JlX2NwcGZs
YWdzICs9IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMgXAogCS1JJChz
cmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvanMgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGlu
Z3MvanMvc3BlY2lhbGl6YXRpb24gXAotCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ29i
amVjdCBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9icmlkZ2UgXAogCS1JJChzcmNkaXIpL1dlYkNv
cmUvYnJpZGdlL2MgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MgXApAQCAt
ODQsNiArODMsOSBAQCB3ZWJjb3JlZ3RrX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0CiAKK3dlYmNvcmVndGtfZG9tX2NwcGZs
YWdzIDo9IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QKKwogd2ViY29y
ZV9idWlsdF9ub3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvdG9rZW5pemVy
LmNwcAogCkBAIC02MzUsMTkgKzYzNyw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljL0dlbmVyaWNCaW5kaW5nLmggXAogCVdlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
Q29udmVydFRvVVRGOFN0cmluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVj
dEV2ZW50TGlzdGVuZXIuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2
ZW50TGlzdGVuZXIuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRp
bmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5oIFwK
LQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwIFwKLQlX
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBcCi0JV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5oIFwKLQlXZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmNwcCBcCi0JV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAgXAotCVdlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmggXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9qcy9ET01PYmplY3RIYXNoVGFibGVNYXAuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L0RPTU9iamVjdEhhc2hUYWJsZU1hcC5oIFwKQEAgLTI5MTMsNyArMjkwMiw2IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4QmFja2VuZEltcGwuY3BwIFwK
IAlXZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW1wbC5oIFwKIAlXZWJDb3JlL3N0b3Jh
Z2UvSURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlLmggXAotCVdlYkNvcmUvc3RvcmFnZS9JREJJbmRl
eEJhY2tlbmRJbnRlcmZhY2UuaCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmNwcCBcCiAJ
V2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmggXAogCVdlYkNvcmUvc3RvcmFnZS9JREJLZXkuaCBc
CkBAIC0yOTI0LDcgKzI5MTIsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvc3Rv
cmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lE
Qk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0
b3JlQmFja2VuZEludGVyZmFjZS5oIFwKLQlXZWJDb3JlL3N0b3JhZ2UvSURCT2JqZWN0U3RvcmVC
YWNrZW5kSW50ZXJmYWNlLmggXAogCVdlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZS5jcHAg
XAogCVdlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZS5oIFwKIAlXZWJDb3JlL3N0b3JhZ2Uv
SURCUmVxdWVzdC5jcHAgXApAQCAtMzY1NSw3ICszNjQyLDIwIEBAIHdlYmNvcmVndGtfc291cmNl
cyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2d0ay9UZXh0QnJlYWtJdGVyYXRvckd0ay5j
cHAKIGVuZGlmCiAKLQord2ViY29yZWd0a19kb21fc291cmNlcyA6PSBcCisJV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
R09iamVjdEV2ZW50TGlzdGVuZXIuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktp
dERPTUJpbmRpbmcuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmlu
ZGluZy5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQu
Y3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBc
CisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5o
IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmNwcCBcCisJV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5oIFwKKwlXZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAgXAorCVdlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmgKICMg
LS0tCiAjIENoYW5uZWwgbWVzYWdpbmcgc3VwcG9ydAogIyAtLS0KQEAgLTQ2NjgsNiArNDY2OCw3
IEBAICR7R0VOU09VUkNFU19JTlNQRUNUT1J9L2luc3BlY3Rvci5odG1sOiAKIAkkKEFNX1ZfYXQp
Y3AgJHtkaXN0X3dlYmluc3BlY3RvcmltYWdlc19EQVRBfSAke0dFTlNPVVJDRVNfSU5TUEVDVE9S
fS9pbWFnZXMKIAogd2VicmVzb3VyY2VzZGlyID0gJHtkYXRhZGlyfS93ZWJraXRndGstQFdFQktJ
VEdUS19BUElfVkVSU0lPTkAvaW1hZ2VzCisKIGRpc3Rfd2VicmVzb3VyY2VzX0RBVEEgPSBcCiAJ
JChXZWJDb3JlKS9SZXNvdXJjZXMvdGV4dEFyZWFSZXNpemVDb3JuZXIucG5nIFwKIAkkKFdlYkNv
cmUpL1Jlc291cmNlcy9udWxsUGx1Z2luLnBuZyBcCkluZGV4OiBXZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNv
cmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgJKHJldmlz
aW9uIDcwMDk4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0
L3NvdXAtY2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMyw2ICszLDcgQEAKICAqIHNvdXAtY2Fj
aGUuaDoKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIwMTAgSWdhbGlhLCBTLkwuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEV4Y2Vw
dCBhcyBwcm92aWRlZCBiZWxvdywgYWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBUaGlzIGxp
YnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCiAg
KiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwpAQCAtMjMsNiArMjQsNyBAQAogI2lmbmRlZiBXRUJLSVRfU09VUF9DQUNIRV9ICiAjZGVm
aW5lIFdFQktJVF9TT1VQX0NBQ0hFX0ggMQogCisjaWYgIWRlZmluZWQoRU5BQkxFX1dFQktJVDJf
QlVJTEQpCiAjaWYgQlVJTERJTkdfR1RLX18KICNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVmaW5l
cy5oPgogI2Vsc2UKQEAgLTMwLDYgKzMyLDEwIEBACiAjZGVmaW5lIFdFQktJVF9BUEkKICNlbmRp
ZgogI2VuZGlmCisjZWxzZSAgLy8gIWRlZmluZWQoRU5BQkxFX1dFQktJVDJfQlVJTEQpCisjZGVm
aW5lIFdFQktJVF9BUEkgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKKyNk
ZWZpbmUgV0VCS0lUX09CU09MRVRFX0FQSSBXRUJLSVRfQVBJIF9fYXR0cmlidXRlX18oKGRlcHJl
Y2F0ZWQpKQorI2VuZGlmIC8vICFkZWZpbmVkKEVOQUJMRV9XRUJLSVQyX0JVSUxEKQogCiAjaW5j
bHVkZSA8bGlic291cC9zb3VwLXR5cGVzLmg+CiAjaW5jbHVkZSA8Z2lvL2dpby5oPgpJbmRleDog
V2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlz
aW9uIDcwMDk4KQorKysgV2ViS2l0Mi9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwyNjUgQEAKKzIwMTAtMTAtMjIgIEFtcnV0aCBSYWovUmF2aSBLYXNpYmhhdGxhICA8YW1ydXRo
cmFqQG1vdG9yb2xhLmNvbS9yYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxl
IGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0LgorICAgICAgICAoaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgICogR05VbWFrZWZpbGUu
YW06IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oOiBDaGFu
Z2VzIGZvciBHdGsgbGludXggcG9ydCAgCisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9ndGs6
IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3JtL0NvcmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsuY3Bw
OiBBZGRlZC4gQ29ubmVjdGlvbiBjbGFzcyBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQgKFVO
SVhfWDExIHNwZWNpZmljKS4KKyAgICAgICAgKENvcmVJUEM6OkNvbm5lY3Rpb246OnBsYXRmb3Jt
SW5pdGlhbGl6ZSk6CisgICAgICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpwbGF0Zm9ybUludmFs
aWRhdGUpOgorICAgICAgICAoQ29yZUlQQzo6Q29ubmVjdGlvbjo6cmVhZEV2ZW50SGFuZGxlcik6
CisgICAgICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpvcGVuKToKKyAgICAgICAgKENvcmVJUEM6
OkNvbm5lY3Rpb246OnBsYXRmb3JtQ2FuU2VuZE91dGdvaW5nTWVzc2FnZXMpOgorICAgICAgICAo
Q29yZUlQQzo6Q29ubmVjdGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZSk6CisgICAgICAgICogUGxh
dGZvcm0vTW9kdWxlLmg6CisgICAgICAgICogUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRp
Zmllci5oOgorICAgICAgICAqIFBsYXRmb3JtL1J1bkxvb3AuaDoKKyAgICAgICAgKiBQbGF0Zm9y
bS9Xb3JrUXVldWUuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9ndGs6IEFkZGVkLgorICAgICAgICAq
IFBsYXRmb3JtL2d0ay9Nb2R1bGVHdGsuY3BwOiBBZGRlZC4gSW5pdGlhbCBjb2RlIHVzaW5nIGRs
b3Blbi9kbGNsb3NlIGNhbGxzIChVTklYX1gxMSBzcGVjaWZpYykuCisgICAgICAgIChXZWJLaXQ6
Ok1vZHVsZTo6bG9hZCk6CisgICAgICAgIChXZWJLaXQ6Ok1vZHVsZTo6dW5sb2FkKToKKyAgICAg
ICAgKFdlYktpdDo6TW9kdWxlOjpwbGF0Zm9ybUZ1bmN0aW9uUG9pbnRlcik6CisgICAgICAgICog
UGxhdGZvcm0vZ3RrL1J1bkxvb3BHdGsuY3BwOiBBZGRlZC4gUnVucyBhbiBldmVudCBsb29wIHVz
aW5nIEdNYWluTG9vcCBhbmQgaGFuZGxlcyB0aGUgaW5jb21pbmcgbWVzc2FnZXMuCisgICAgICAg
IChSdW5Mb29wOjpSdW5Mb29wKTogCisgICAgICAgIChSdW5Mb29wOjp+UnVuTG9vcCk6CisgICAg
ICAgIChSdW5Mb29wOjpydW4pOgorICAgICAgICAoUnVuTG9vcDo6bWFpbkxvb3ApOgorICAgICAg
ICAoUnVuTG9vcDo6c3RvcCk6CisgICAgICAgIChSdW5Mb29wOjpwZXJmb3JtV29yayk6CisgICAg
ICAgIChSdW5Mb29wOjp3YWtlVXApOgorICAgICAgICAoUnVuTG9vcDo6VGltZXJCYXNlOjpUaW1l
ckJhc2UpOgorICAgICAgICAoUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKToKKyAgICAg
ICAgKFJ1bkxvb3A6OlRpbWVyQmFzZTo6b25lU2hvdFRpbWVyRmlyZWQpOgorICAgICAgICAoUnVu
TG9vcDo6VGltZXJCYXNlOjpyZXBlYXRpbmdUaW1lckZpcmVkKToKKyAgICAgICAgKFJ1bkxvb3A6
OlRpbWVyQmFzZTo6c3RhcnQpOgorICAgICAgICAoUnVuTG9vcDo6VGltZXJCYXNlOjpzdG9wKToK
KyAgICAgICAgKFJ1bkxvb3A6OlRpbWVyQmFzZTo6aXNBY3RpdmUpOgorICAgICAgICAqIFBsYXRm
b3JtL2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwOiBBZGRlZC4gU3R1YmJlZCBpbXBsZW1lbnRhdGlv
biBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAgICAgIChXZWJLaXQ6OlNoYXJl
ZE1lbW9yeTo6SGFuZGxlOjpIYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6
OkhhbmRsZTo6fkhhbmRsZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxl
OjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZGVjb2Rl
KToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpjcmVhdGUpOgorICAgICAgICAoV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6On5TaGFyZWRNZW1vcnkpOgorICAgICAgICAoV2ViS2l0OjpTaGFy
ZWRNZW1vcnk6OmNyZWF0ZUhhbmRsZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6
c3lzdGVtUGFnZVNpemUpOgorICAgICAgICAqIFBsYXRmb3JtL2d0ay9Xb3JrUXVldWVHdGsuY3Bw
OiBBZGRlZC4gQ3JlYXRlcyBhIHRocmVhZCBhbmQgcG9sbHMgb24gYSBnaXZlbiBmZCB1c2luZyBH
SU9DaGFubmVsLiAKKyAgICAgICAgRGlzcGF0Y2hlcyB0aGUgb2J0YWluZWQgbWVzc2FnZXMgdG8g
UnVuTG9vcCdzIEdNYWluTG9vcAorICAgICAgICAoV29ya1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxp
emUpOgorICAgICAgICAoV29ya1F1ZXVlOjpwbGF0Zm9ybUludmFsaWRhdGUpOgorICAgICAgICAo
V29ya1F1ZXVlOjp3b3JrUXVldWVUaHJlYWRCb2R5KToKKyAgICAgICAgKFdvcmtRdWV1ZTo6RXZl
bnRTb3VyY2U6OkV2ZW50U291cmNlKToKKyAgICAgICAgKFdvcmtRdWV1ZTo6RXZlbnRTb3VyY2U6
OmRpc3BhdGNoU291cmNlKToKKyAgICAgICAgKFdvcmtRdWV1ZTo6RXZlbnRTb3VyY2U6OnBlcmZv
cm1Xb3JrT25jZSk6CisgICAgICAgIChXb3JrUXVldWU6OkV2ZW50U291cmNlOjpjbG9zZUNvbm5l
Y3Rpb24pOgorICAgICAgICAoV29ya1F1ZXVlOjpFdmVudFNvdXJjZTo6cGVyZm9ybVdvcmspOgor
ICAgICAgICAoV29ya1F1ZXVlOjpFdmVudFNvdXJjZTo6ZGVsZXRlRXZlbnRTb3VyY2UpOgorICAg
ICAgICAoV29ya1F1ZXVlOjpyZWdpc3RlckV2ZW50U291cmNlSGFuZGxlcik6CisgICAgICAgIChX
b3JrUXVldWU6OnVucmVnaXN0ZXJFdmVudFNvdXJjZUhhbmRsZXIpOgorICAgICAgICAoV29ya1F1
ZXVlOjpzY2hlZHVsZVdvcmspOgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9XS0Jhc2UuaDoKKyAg
ICAgICAgKiBTaGFyZWQvQVBJL2MvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvQVBJL2Mv
Z3RrL1dLQmFzZUd0ay5oOiBBZGRlZC4gRGVjbGFyYXRpb24gb2YgV0tWaWV3UmVmIGZvciBHVEsg
cG9ydC4KKyAgICAgICAgKiBTaGFyZWQvQ29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdl
S2luZHMuaDoKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oOgorICAg
ICAgICAoV2ViS2l0OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50OjpuYXRpdmVFdmVudCk6CisgICAg
ICAgICogU2hhcmVkL2d0azogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2d0ay9CYWNraW5nU3Rv
cmVHdGsuY3BwOiBBZGRlZC4gU3R1YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFll
dCB0byBpbXBsZW1lbnQuCisgICAgICAgIChXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6Y3JlYXRlR3Jh
cGhpY3NDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6QmFja2luZ1N0b3JlOjpwYWludCk6Cisg
ICAgICAgICogU2hhcmVkL2d0ay9OYXRpdmVXZWJLZXlib2FyZEV2ZW50R3RrLmNwcDogQWRkZWQu
IFN0dWJiZWQgaW1wbGVtZW50YXRpb24gZm9yIEdUSyBwb3J0LiBZZXQgdG8gaW1wbGVtZW50Lgor
ICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50OjpOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmg6
IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxl
bWVudC4KKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm86OmVuY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjpk
ZWNvZGUpOgorICAgICAgICAqIFNoYXJlZC9ndGsvVXBkYXRlQ2h1bmsuY3BwOiBBZGRlZC4gV2Vi
UHJvY2VzcyB1c2VzIGdka19waXhtYXBfbmV3IHRvIGNyZWF0ZSBhbmQgcGFpbnQgYSBjaHVuay4K
KyAgICAgICAgVUlQcm9jZXNzIHVzZXMgZ2RrX3BpeG1hcF9mb3JlaWduX25ldyB0byBvYnRhaW4g
cmVmZXJlbmNlIHRvIHRoZSBwYWludGVkIGNodW5rLgorICAgICAgICAoV2ViS2l0OjpVcGRhdGVD
aHVuazo6VXBkYXRlQ2h1bmspOgorICAgICAgICAoV2ViS2l0OjpVcGRhdGVDaHVuazo6ZW5jb2Rl
KToKKyAgICAgICAgKFdlYktpdDo6VXBkYXRlQ2h1bms6OmRlY29kZSk6CisgICAgICAgICogU2hh
cmVkL2d0ay9VcGRhdGVDaHVuay5oOiBBZGRlZC4gSW1wbGVtZW50YXRpb24gdXNpbmcgR2RrUGl4
bWFwIGZvciBHVEsgcG9ydC4KKyAgICAgICAgKFdlYktpdDo6VXBkYXRlQ2h1bms6OnJlY3QpOgor
ICAgICAgICAoV2ViS2l0OjpVcGRhdGVDaHVuazo6bWVtb3J5KToKKyAgICAgICAgKFdlYktpdDo6
VXBkYXRlQ2h1bms6OnhJRCk6CisgICAgICAgIChXZWJLaXQ6OlVwZGF0ZUNodW5rOjppc0VtcHR5
KToKKyAgICAgICAgKiBTaGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHA6IEFk
ZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVu
dC4KKyAgICAgICAgKENvcmVJUEM6OmVuY29kZVJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChD
b3JlSVBDOjpkZWNvZGVSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAqIFNoYXJlZC9ndGsvV2Vi
RXZlbnRGYWN0b3J5LmNwcDogQWRkZWQuIEdUSyBpbXBsZW1lbnRhdGlvbiBmb3IgV2ViTW91c2VF
dmVudCwgV2ViV2hlZWxFdmVudCwgV2ViS2V5Ym9hcmRFdmVudC4KKyAgICAgICAgKFdlYktpdDo6
cG9zaXRpb25Gb3JFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Omdsb2JhbFBvc2l0aW9uRm9yRXZl
bnQpOgorICAgICAgICAoV2ViS2l0OjpjbGlja0NvdW50KToKKyAgICAgICAgKFdlYktpdDo6bW9k
aWZpZXJzRm9yRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpidXR0b25Gb3JFdmVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudCk6CisgICAg
ICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViV2hlZWxFdmVudCk6CisgICAg
ICAgIChXZWJLaXQ6OmtleUlkZW50aWZpZXJGb3JHZGtLZXlDb2RlKToKKyAgICAgICAgKFdlYktp
dDo6d2luZG93c0tleUNvZGVGb3JLZXlFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OnNpbmdsZUNo
YXJhY3RlclN0cmluZyk6CisgICAgICAgIChXZWJLaXQ6Om1vZGlmaWVyc0ZvckN1cnJlbnRLZXlT
dGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5Ym9h
cmRFdmVudCk6CisgICAgICAgICogU2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuaDogQWRkZWQu
IEdUSyBpbXBsZW1lbnRhdGlvbiBmb3IgV2ViTW91c2VFdmVudCwgV2ViV2hlZWxFdmVudCwgV2Vi
S2V5Ym9hcmRFdmVudC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0Lmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2d0azogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9DL2d0ay9XS0FQSUNhc3RHdGsuaDogQWRkZWQuIFR5cGUgZGVmaW5pdGlvbiB0ZW1wbGF0
ZSBmb3IgV0tWaWV3UmVmIHRvIFdlYlZpZXcgYW5kIHZpY2UtdmVyc2EuCisgICAgICAgICogVUlQ
cm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuY3BwOiBBZGRlZC4gSW1wbGVtZW50YXRpb24gb2YgV0tW
aWV3IEFQSSBpbnRlcmZhY2UuCisgICAgICAgIChXS1ZpZXdDcmVhdGUpOgorICAgICAgICAoV0tW
aWV3R2V0V2luZG93KToKKyAgICAgICAgKFdLVmlld0dldEhvc3RXaW5kb3cpOgorICAgICAgICAo
V0tWaWV3R2V0UGFnZSk6CisgICAgICAgIChXS1ZpZXdTZXRIb3N0V2luZG93KToKKyAgICAgICAg
KFdLVVJMQ3JlYXRlV2l0aFVSTCk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1Zp
ZXcuaDogQWRkZWQuIEltcGxlbWVudGF0aW9uIG9mIFdLVmlldyBBUEkgaW50ZXJmYWNlLgorICAg
ICAgICAqIFVJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHA6CisgICAg
ICAgIChXZWJLaXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpDaHVua2VkVXBkYXRl
RHJhd2luZ0FyZWFQcm94eSk6CisgICAgICAgIChXZWJLaXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5n
QXJlYVByb3h5OjpkaWRTZXRTaXplKTogU2VuZCBhIG1lc3NhZ2UgdG8gV2ViUHJvY2VzcyB0byBk
ZWxldGUgdGhlIHBpeG1hcCBjcmVhdGVkIHRocm91Z2ggYSBTZXRTaXplCisgICAgICAgIChXZWJL
aXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5Ojp1cGRhdGUpOiBBZGQgYW4gYWRkaXRp
b25hbCBwYXJhbWV0ZXIgWElEIHdoaWxlIHNlbmRpbmcgbWVzc2FnZSB3aGljaCB0aGUgd2ViIHBy
b2Nlc3MgdXNlcyB0byBkZWxldGUgdGhlIEdka1BpeG1hcAorICAgICAgICAqIFVJUHJvY2Vzcy9D
aHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3
aW5nQXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL2d0azogQWRkZWQu
CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3Bw
OiBBZGRlZC4gR1RLIChVTklYX1gxMSBzcGVjaWZpYykgaW1wbGVtZW50YXRpb24gZm9yIGxhdW5j
aGluZyBXZWIgUHJvY2VzcyBmcm9tIFVJIFByb2Nlc3MuCisgICAgICAgIENyZWF0ZXMgYSBzb2Nr
ZXQtcGFpciBhbmQgc2VuZHMgYW4gZmQgdG8gZWFjaCBwcm9jZXNzLgorICAgICAgICAoV2ViS2l0
OjpQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpQcm9j
ZXNzTGF1bmNoZXI6OnRlcm1pbmF0ZVByb2Nlc3MpOgorICAgICAgICAoV2ViS2l0OjpQcm9jZXNz
TGF1bmNoZXI6OnBsYXRmb3JtSW52YWxpZGF0ZSk6CisgICAgICAgICogVUlQcm9jZXNzL0xhdW5j
aGVyL2d0ay9UaHJlYWRMYXVuY2hlckd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0
aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6VGhy
ZWFkTGF1bmNoZXI6OmNyZWF0ZVdlYlRocmVhZCk6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdp
bnMvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5m
b1N0b3JlR3RrLmNwcDogQWRkZWQuIFN0dWJiZWQgaW1wbGVtZW50YXRpb24gZm9yIEdUSyBwb3J0
LiBZZXQgdG8gaW1wbGVtZW50LgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OnBs
dWdpbnNEaXJlY3Rvcmllcyk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6cGx1
Z2luUGF0aHNJbkRpcmVjdG9yeSk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6
aW5kaXZpZHVhbFBsdWdpblBhdGhzKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3Jl
OjpnZXRQbHVnaW5JbmZvKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpzaG91
bGRVc2VQbHVnaW4pOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGs6IEFkZGVkLgorICAgICAgICAq
IFVJUHJvY2Vzcy9ndGsvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHlHdGsuY3BwOiBBZGRl
ZC4gQ3JlYXRlcyBhbmQgbWFpbnRhaW5zIGEgYmFja2luZyBzdG9yZSB1c2luZyBHZGtQaXhtYXAK
KyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6OnBhZ2UpOgor
ICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6ZW5zdXJlQmFj
a2luZ1N0b3JlKToKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJv
eHk6OmludmFsaWRhdGVCYWNraW5nU3RvcmUpOgorICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBk
YXRlRHJhd2luZ0FyZWFQcm94eTo6cGxhdGZvcm1QYWludCk6CisgICAgICAgIChXZWJLaXQ6OkNo
dW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpkcmF3VXBkYXRlQ2h1bmtJbnRvQmFja2luZ1N0
b3JlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwOiBBZGRlZC4g
U3R1YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisg
ICAgICAgIChXZWJLaXQ6OldlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3RvcnkpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxpemVXZWJQcm9jZXNz
KToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dlYlZpZXcuY3BwOiBBZGRlZC4gVGhlIG5hdGl2
ZSBHdGtXaWRnZXQgaGFuZGxlIGZvciBlYWNoIFdLVmlld1JlZiBmb3IgR1RLIHBvcnQuCisgICAg
ICAgIChXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdPbkV4cG9zZSk6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXc6OndlYlZpZXdPblNpemVBbGxvY2F0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXc6OndlYlZpZXdGb2N1c0luRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp3ZWJW
aWV3Rm9jdXNPdXRFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdLZXlQ
cmVzc0V2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0tleVJlbGVhc2VF
dmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdCdXR0b25QcmVzc0V2ZW50
KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0J1dHRvblJlbGVhc2VFdmVudCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdTY3JvbGxFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdNb3Rpb25Ob3RpZnlFdmVudCk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXc6OldlYlZpZXcpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp+V2Vi
Vmlldyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnNldEhvc3RXaW5kb3cpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3OjpvblBhaW50RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJW
aWV3OjpvblNpemVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uU2V0Rm9jdXNF
dmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uS2lsbEZvY3VzRXZlbnQpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3OjpvbktleUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6b25Nb3VzZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6b25XaGVlbEV2
ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6aXNBY3RpdmUpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3Ojp1cGRhdGVBY3RpdmVTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXc6OmNsb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6cHJvY2Vzc0RpZEV4aXQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpwcm9jZXNzRGlkUmV2aXZlKToKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlldzo6dGFrZUZvY3VzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6dG9v
bFRpcENoYW5nZWQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpzZXRDdXJzb3IpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3OjpzZXRWaWV3cG9ydEFyZ3VtZW50cyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXc6OnJlZ2lzdGVyRWRpdENvbW1hbmQpOgorICAgICAgICAoV2ViS2l0OjpX
ZWJWaWV3OjpjbGVhckFsbEVkaXRDb21tYW5kcyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6
OnNldEVkaXRDb21tYW5kU3RhdGUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpjb252ZXJ0
VG9EZXZpY2VTcGFjZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmNvbnZlcnRUb1VzZXJT
cGFjZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmRpZE5vdEhhbmRsZUtleUV2ZW50KToK
KyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6Y3JlYXRlUG9wdXBNZW51UHJveHkpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3OjpzZXRGaW5kSW5kaWNhdG9yKToKKyAgICAgICAgKFdlYktpdDo6
V2ViVmlldzo6cGFnZURpZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZyk6CisgICAgICAgIChX
ZWJLaXQ6OldlYlZpZXc6OnBhZ2VEaWRMZWF2ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcpOgorICAg
ICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViVmlldy5oOiBBZGRlZC4gTmF0aXZlIEd0a1dpZGdldCBo
YW5kbGUgZm9yIFdLVmlld1JlZiBmb3IgR1RLIHBvcnQuCisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXc6OnJlY3QpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpjcmVhdGUpOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3Ojp3aW5kb3cpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpob3N0
V2luZG93KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6cGFnZSk6CisgICAgICAgICogVUlQ
cm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwuY3BwOiBBZGRlZC4gVGhlIEdPYmplY3QgaW50ZXJm
YWNlIGZvciBXZWJWaWV3LiBUaGUgR09iamVjdCBpcworICAgICAgICB0aGUgR3RrV2lkZ2V0IGhh
bmRsZSB3aGljaCBpcyB1c2VkIGJ5IFdLVmlld1JlZiBmb3IgR1RLIHBvcnQuCisgICAgICAgICh3
ZWJraXRfd2lkZ2V0X3ZpZXdfcmVhbGl6ZSk6CisgICAgICAgICh3ZWJraXRfd2lkZ2V0X3ZpZXdf
Y29udGFpbmVyX2FkZCk6CisgICAgICAgICh3ZWJraXRfd2lkZ2V0X3ZpZXdfZGlzcG9zZSk6Cisg
ICAgICAgICh3ZWJraXRfd2lkZ2V0X3ZpZXdfZmluYWxpemUpOgorICAgICAgICAod2Via2l0X3dp
ZGdldF92aWV3X2NsYXNzX2luaXQpOgorICAgICAgICAod2Via2l0X3dpZGdldF92aWV3X2luaXQp
OgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFsLmg6IEFkZGVkLiBUaGUg
R09iamVjdCBpbnRlcmZhY2UgZGVjbGFyYXRpb25zIGZvciBHdGtXaWRnZXQgaGFuZGxlIGZvciBH
VEsgcG9ydC4KKyAgICAgICAgKiBXZWJLaXQyUHJlZml4Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVu
dGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6
SW5qZWN0ZWRCdW5kbGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6
YWN0aXZhdGVNYWNGb250QXNjZW50SGFjayk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL2d0azogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0
aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW46OnBsYXRmb3JtUG9zdEluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpO
ZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2Nh
cGVQbHVnaW46OnBsYXRmb3JtR2VvbWV0cnlEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0OjpO
ZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1QYWludCk6CisgICAgICAgIChXZWJLaXQ6OnRvTlApOgor
ICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVNb3VzZUV2ZW50
KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlV2hlZWxF
dmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVNldEZvY3Vz
KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VF
bnRlckV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFu
ZGxlTW91c2VMZWF2ZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBs
YXRmb3JtSGFuZGxlS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9ndGs6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9u
IGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6Y2FuY2Vs
bGVkRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpibG9ja2VkRXJyb3IpOgorICAgICAgICAoV2Vi
S2l0OjpjYW5ub3RTaG93VVJMRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjppbnRlcnJ1cHRGb3JQ
b2xpY3lDaGFuZ2VFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OmNhbm5vdFNob3dNSU1FVHlwZUVy
cm9yKToKKyAgICAgICAgKFdlYktpdDo6ZmlsZURvZXNOb3RFeGlzdEVycm9yKToKKyAgICAgICAg
KiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0
Lmg6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGlt
cGxlbWVudC4KKyAgICAgICAgKFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpXZWJGcmFtZU5ldHdvcmtpbmdDb250
ZXh0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdB
cmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpkaXNw
bGF5KTogU3RvcmUgdGhlIFhJRCBvZiBhIEdka1BpeG1hcCBmb3IgZGVsZXRpb24gaW4gZnV0dXJl
KGFmdGVyIFVJIHByb2Nlc3Mgc2VuZHMgYSBkaWRVcGRhdGUgY29uZmlybWF0aW9uKS4KKyAgICAg
ICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpzZXRTaXplKTogU2FtZSBhcyBh
Ym92ZS4KKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpkaWRVcGRh
dGUpOiBEZWxldGUgdGhlIHN0b3JlZCBHZGtQaXhtYXAuCisgICAgICAgIChXZWJLaXQ6OkNodW5r
ZWRVcGRhdGVEcmF3aW5nQXJlYTo6ZGlkU2V0U2l6ZURvbmUpOiBTYW1lIGFzIGFib3ZlLgorICAg
ICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpZFJlY2VpdmVNZXNzYWdl
KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVh
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2d0azogQWRkZWQuCisgICAgICAgICog
V2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFHdGsuY3BwOiBB
ZGRlZC4gSW1wbGVtZW50cyBmdW5jdGlvbmFsaXR5IHRvIHBhaW50IGludG8gYW4gdXBkYXRlIGNo
dW5rIGFuZCBmcmVlIGl0LgorICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0Fy
ZWE6OnBhaW50SW50b1VwZGF0ZUNodW5rKToKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0
ZURyYXdpbmdBcmVhOjpmcmVlQml0TWFwTWVtb3J5KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOiBBZGRlZC4gSW1wbGVtZW50YXRpb24gZm9yIGludGVy
cHJldGluZyBrZXkgZXZlbnRzLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybUlu
aXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2Vz
RGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aW50ZXJwcmV0S2V5RXZlbnQp
OgorICAgICAgICAoV2ViS2l0OjpzY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpw
ZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3Mv
Z3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5j
cHA6IEFkZGVkLiBUaGUgV2ViUHJvY2Vzc01haW4gY2FsbCB3aGljaCBpbml0aWF0ZXMgdGhlIFdl
YiBQcm9jZXNzIGZvciBHVEsgcG9ydC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6cGxh
dGZvcm1TZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW5HdGsp
OgorICAgICAgICAqIFdlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmg6IEFkZGVkLiBU
aGUgV2ViUHJvY2Vzc01haW4gZGVjbGFyYXRpb25zIGZvciBXZWIgUHJvY2VzcyBmb3IgR1RLIHBv
cnQuCisgICAgICAgICogZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBndGsvTWFpbkd0ay5jcHA6IEFk
ZGVkLiBUaGUgbWFpbiBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiBmb3IgYmluYXJ5IFdlYktpdFdl
YlByb2Nlc3MuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBndGsvd2Via2l0Mi5wYy5pbjog
QWRkZWQuIFRoZSB3ZWJraXQyLnBjIGZpbGUuCisKIDIwMTAtMTAtMTkgIEFuZGVycyBDYXJsc3Nv
biAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vpbmln
LgpJbmRleDogV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL0dO
VW1ha2VmaWxlLmFtCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw1OTIgQEAKK1dlYktpdDIgOj0gJChzcmNkaXIpL1dlYktpdDIK
Kword2Via2l0Mmd0a19zdGF0aWNfaF9hcGkgOj0gXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJl
ZC9BUEkvYy9ndGsvV0tCYXNlR3RrLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS0FycmF5LmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBc
CisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2VydGlmaWNhdGVJbmZvLmggXAor
CSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RhdGEuaCBcCisJJChzcmNkaXIpL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tFcnJvci5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tFdmVudC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tHZW9tZXRyeS5o
IFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXkuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCSQoc3JjZGlyKS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKKwkkKHNyY2Rp
cikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmgg
XAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCSQoc3JjZGlyKS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJJChzcmNkaXIpL1dlYktp
dDIvU2hhcmVkL0FQSS9jL1dLVHlwZS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tVUkwuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVz
dC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5oIFwK
KwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4u
aCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS0FQSUNhc3RHdGsu
aCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBcCisJJChz
cmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBcCisJJChzcmNkaXIpL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJJChzcmNkaXIpL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwkkKHNyY2RpcikvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCBcCisJJChzcmNkaXIpL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIFwKKwkkKHNyY2RpcikvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZVByaXZhdGUuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXMuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UHJlZmVyZW5jZXNQcml2YXRlLmgKKword2Via2l0Mmd0a19zb3VyY2VzIDo9IFwKKwlXZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRm
b3JtL2d0ay9Nb2R1bGVHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9SdW5Mb29wR3Rr
LmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvU2hhcmVkTWVtb3J5R3RrLmNwcCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvZ3RrL1dLQmFzZUd0ay5oIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0b3JlR3Rr
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL05hdGl2ZVdlYktleWJvYXJkRXZlbnRHdGsuY3Bw
IFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1Vw
ZGF0ZUNodW5rLmggXAorCVdlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNH
dGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9ndGsvV0tBUElDYXN0R3RrLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9X
S1ZpZXcuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eUd0ay5jcHAg
XAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvZ3RrL1dlYlZpZXcuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmll
dy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFsLmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJbnRlcm5hbC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvTGF1bmNoZXIvZ3RrL1RocmVhZExhdW5jaGVyR3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb1N0b3JlR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9ndGsv
V2ViUHJvY2Vzc01haW5HdGsuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3JzR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFHdGsu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKKwor
d2Via2l0Ml9zb3VyY2VzIDo9IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRD
b2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBcCisJ
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgXAorCVdlYktpdDIv
UGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9B
cmd1bWVudEVuY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50cy5o
IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXR0YWNobWVudC5jcHAgXAorCVdlYktpdDIv
UGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9CaW5hcnlTZW1hcGhvcmUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5
U2VtYXBob3JlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNwcCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0NvcmVJUENNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0RhdGFSZWZlcmVuY2UuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvRGF0
YVJlZmVyZW5jZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5o
IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmggXAorCVdlYktpdDIvUGxh
dGZvcm0vTG9nZ2luZy5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oIFwKKwlXZWJL
aXQyL1BsYXRmb3JtL01vZHVsZS5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmggXAor
CVdlYktpdDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIFwKKwlXZWJLaXQy
L1BsYXRmb3JtL1J1bkxvb3AuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuaCBcCisJ
V2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Xb3Jr
SXRlbS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5jcHAgXAorCVdlYktpdDIvUGxh
dGZvcm0vV29ya1F1ZXVlLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9s
bGVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclBy
b3h5LmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBcCisJV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1BsdWdpblByb2Nlc3NNYWluLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9j
ZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29u
bmVjdGlvbi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElDbGllbnQuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQXJyYXkuaCBc
CisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9j
L1dLQ2VydGlmaWNhdGVJbmZvLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDZXJ0aWZp
Y2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlv
bmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tF
cnJvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0V2ZW50LmggXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLR2VvbWV0cnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxl
QXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS051bWJlci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCVdl
YktpdDIvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0
cmluZy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU3RyaW5nUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S1R5cGUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tVUkwuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTC5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS1VSTFJlcXVlc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNw
b25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVzcG9uc2UuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9BUElPYmplY3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29tbWFuZExpbmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29y
ZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
Q29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVnaW5Db250cm9sbGVyUHJveHlNZXNzYWdl
cy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVnaW5Qcm9jZXNzTWVzc2Fn
ZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvUGx1Z2luUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvUGx1Z2luUHJveHlN
ZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJDb250ZXh0TWVz
c2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlBhZ2VNZXNz
YWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNz
YWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFnZVByb3h5
TWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc0Nv
bm5lY3Rpb25NZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQ
cm9jZXNzTWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJv
Y2Vzc1Byb3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhQmFz
ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9GaW5kT3B0aW9ucy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9G
b250U21vb3RoaW5nTGV2ZWwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuY3Bw
IFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9J
bW11dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlv
bmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1No
YXJlZC9NdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTXV0YWJsZURpY3Rpb25hcnku
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1No
YXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL05vdEltcGxl
bWVudGVkLmggXAorCVdlYktpdDIvU2hhcmVkL1N0cmluZ1BhaXJWZWN0b3IuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvVmlzaXRlZExp
bmtUYWJsZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1Zpc2l0ZWRMaW5rVGFibGUuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkNv
cmVBcmd1bWVudENvZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJEYXRhLmggXAorCVdlYktp
dDIvU2hhcmVkL1dlYkVycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXJyb3IuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
V2ViRXZlbnRDb252ZXJzaW9uLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmggXAorCVdl
YktpdDIvU2hhcmVkL1dlYk5hdmlnYXRpb25EYXRhU3RvcmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
V2ViTnVtYmVyLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMu
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAorCVdl
YktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlBvcHVw
SXRlbS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQ
cm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vz
c0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViU3RyaW5nLmggXAorCVdlYktpdDIvU2hh
cmVkL1dlYlVSTC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXF1ZXN0LmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvV2ViVVJMUmVxdWVzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXNw
b25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlc3BvbnNlLmggXAorCVdlYktpdDIv
U2hhcmVkL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvY3BwL1dLUmV0YWluUHRyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIu
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tC
YWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNr
Rm9yd2FyZExpc3RJdGVtLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS0ZyYW1lLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS05hdmlnYXRpb25EYXRhLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZp
Z2F0aW9uRGF0YS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlTmFtZXNwYWNlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
TmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRl
RHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVE
cmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHku
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5k
aWNhdG9yLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvVGhyZWFkTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hl
ci9UaHJlYWRMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdp
bmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdpbmdB
cmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Q
cm9jZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc01vZGVsLmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRM
aW5rUHJvdmlkZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVy
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0Zv
cndhcmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dFVzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkVkaXRDb21t
YW5kUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJFZGl0Q29tbWFuZFByb3h5Lmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGaW5kQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1DbGllbnQu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xpZW50LmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJG
cmFtZUxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
Ykhpc3RvcnlDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJIaXN0b3J5Q2xpZW50
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZp
Z2F0aW9uRGF0YS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25EYXRhLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3BhY2UuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQYWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQ
b2xpY3lDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQcmVmZXJlbmNlcy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzTWFu
YWdlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYlByb2Nlc3NQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmggXAorCVdlYktpdDIvV2ViS2l0MlBy
ZWZpeC5jcHAgXAorCVdlYktpdDIvV2ViS2l0MlByZWZpeC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuaCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRl
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5o
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVJbml0aWFsaXplLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGVQ
cml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZVBhZ2UuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVQYWdlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVSYW5nZUhhbmRsZS5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVTY3JpcHRXb3JsZC5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNj
cmlwdFdvcmxkLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5q
ZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJhbmdl
SGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVu
dC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRm9ybUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBh
Z2VVSUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJz
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBNZXRob2QuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QTWV0aG9kLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL0pTTlBPYmplY3QuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9K
U05QT2JqZWN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNj
YXBlQnJvd3NlckZ1bmNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTlBSdW50aW1lT2JqZWN0TWFwLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05Q
UnVudGltZVV0aWxpdGllcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVu
dGltZVV0aWxpdGllcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250
cm9sbGVyLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5jcHAgXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblZpZXcuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5W
aWV3LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJCYWNrRm9yd2Fy
ZENvbnRyb2xsZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFcnJvcnMuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuY3Bw
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVn
aWVzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51Lmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFyY2hQb3B1cE1lbnUu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2VhcmNoUG9wdXBN
ZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJLaXRNYWluLmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RmluZENvbnRyb2xsZXIuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29u
dHJvbGxlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kUGFnZU92ZXJsYXku
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kUGFnZU92ZXJsYXkuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0FyZWEuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYkVkaXRDb21tYW5kLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRWRpdENvbW1hbmQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvV2ViUGFnZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQcm9jZXNzTWFpbi5oCisKKyMgRW5zdXJlIHRoYXQgdGhlIHByZWZpeCBoZWFkZXIgaXMgYnVp
bHQgYmVmb3JlCitCVUlMVF9TT1VSQ0VTICs9IFwKKwkkKHdlYmtpdDJfYnVpbHRfc291cmNlcykg
XAorCVdlYktpdDJQcmVmaXguaCBcCisJSU5DTFVERV9IRUFERVJTCisKK3dlYmtpdDJndGtfY3Bw
ZmxhZ3MgOj0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1BsYXRmb3Jt
L2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrIFwKKwktSSQoc3Jj
ZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
VUlQcm9jZXNzL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9n
dGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ayBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrCisKK3dlYmtpdDJfY3BwZmxhZ3MgOj0gXAorCS1pbmNs
dWRlICQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYktpdDJQcmVmaXguaCBcCisJ
LUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQoc3JjZGly
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViS2l0MiBcCisJLUkkKHNyY2Rpcikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0gXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZCBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9TaGFyZWQvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYyBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvVUlQcm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkgXAor
CS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvY3BwIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9M
YXVuY2hlciBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucyBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0RPTSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0xhdW5jaGlu
ZyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlIFwKKwktSSQoc3JjZGlyKS9X
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlCisKKyMgQ29weSBoZWFkZXIgZmlsZXMgdG8gRGVyaXZlZFNvdXJj
ZXMKK2NvcHlfd2NfaGVhZGVycyA6PSAkKGZpbHRlciAlLmgsICQod2ViY29yZV9zb3VyY2VzKSkK
K3dlYmNvcmUtaGVhZGVyczogJChjb3B5X3djX2hlYWRlcnMpCisJJChBTV9WX0dFTikkKG1rZGly
X3ApIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJDb3JlCisJJChBTV9WX2F0KWNw
IC11ICQoZm9yZWFjaCBpbmNsdWRlLCQoY29weV93Y19oZWFkZXJzKSwkKHNyY2RpcikvJChpbmNs
dWRlKSkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUKKworY29weV93Y2d0
a19oZWFkZXJzIDo9ICQoZmlsdGVyICUuaCwgJCh3ZWJjb3JlZ3RrX3NvdXJjZXMpKQord2ViY29y
ZWd0ay1oZWFkZXJzOiAkKGNvcHlfd2NndGtfaGVhZGVycykKKwkkKEFNX1ZfR0VOKSQobWtkaXJf
cCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUKKwkkKEFNX1ZfYXQpY3Ag
LXUgJChmb3JlYWNoIGluY2x1ZGUsJChjb3B5X3djZ3RrX2hlYWRlcnMpLCQoc3JjZGlyKS8kKGlu
Y2x1ZGUpKSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViQ29yZQorCitjb3B5X2pz
Y19oZWFkZXJzIDo9ICQoZmlsdGVyICUuaCwgJChqYXZhc2NyaXB0Y29yZV9zb3VyY2VzKSkKK2ph
dmFzY3JpcHRjb3JlLWhlYWRlcnM6ICQoY29weV9qc2NfaGVhZGVycykKKwkkKEFNX1ZfR0VOKSQo
bWtkaXJfcCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL0phdmFTY3JpcHRDb3JlCisJ
JChBTV9WX2F0KWNwIC11ICQoZm9yZWFjaCBpbmNsdWRlLCQoY29weV9qc2NfaGVhZGVycyksJChz
cmNkaXIpLyQoaW5jbHVkZSkpIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9KYXZhU2Ny
aXB0Q29yZQorCitjb3B5X3drMl9oZWFkZXJzIDo9ICQoZmlsdGVyICUuaCwgJCh3ZWJraXQyX3Nv
dXJjZXMpKQord2Via2l0Mi1oZWFkZXJzOiAkKGNvcHlfd2syX2hlYWRlcnMpCisJJChBTV9WX0dF
TikkKG1rZGlyX3ApIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJLaXQyCisJJChB
TV9WX2F0KWNwIC11ICQoZm9yZWFjaCBpbmNsdWRlLCQoY29weV93azJfaGVhZGVycyksJChzcmNk
aXIpLyQoaW5jbHVkZSkpIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJLaXQyCisK
K2NvcHlfd2syZ3RrX2hlYWRlcnMgOj0gJChmaWx0ZXIgJS5oLCAkKHdlYmtpdDJndGtfc291cmNl
cykpCit3ZWJraXQyZ3RrLWhlYWRlcnM6ICQoY29weV93azJndGtfaGVhZGVycykKKwkkKEFNX1Zf
R0VOKSQobWtkaXJfcCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYktpdDIKKwkk
KEFNX1ZfYXQpY3AgLXUgJChmb3JlYWNoIGluY2x1ZGUsJChjb3B5X3drMmd0a19oZWFkZXJzKSwk
KHNyY2RpcikvJChpbmNsdWRlKSkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYktp
dDIKKworIyBpbmNsdWRlLWhlYWRlcnMgOiAkKGNvcHlfdGFyZ2V0cykKK0lOQ0xVREVfSEVBREVS
Uzogd2ViY29yZS1oZWFkZXJzIHdlYmNvcmVndGstaGVhZGVycyBqYXZhc2NyaXB0Y29yZS1oZWFk
ZXJzIHdlYmtpdDItaGVhZGVycyB3ZWJraXQyZ3RrLWhlYWRlcnMKKworV2ViS2l0MlByZWZpeC5o
OiAkKHNyY2RpcikvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgKKwkkKEFNX1ZfR0VOKSQobWtkaXJf
cCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0MgorCSQoQU1fVl9hdCljcCAtdSAkPCBEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYktpdDJQcmVmaXguaAorCisjIE1lc3NhZ2UgaGVhZGVyIGdlbmVyYXRp
b24KK3dlYmtpdDJfYnVpbHRfc291cmNlcyArPSBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1
cHBvcnQvUGx1Z2luQ29udHJvbGxlclByb3h5TWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
Q29yZUlQQ1N1cHBvcnQvUGx1Z2luQ29udHJvbGxlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBc
CisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvUGx1Z2luUHJvY2Vzc01lc3NhZ2VzLmgg
XAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1BsdWdpblByb2Nlc3NNZXNzYWdlUmVj
ZWl2ZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVnaW5Qcm9jZXNz
UHJveHlNZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVnaW5Q
cm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBD
U3VwcG9ydC9QbHVnaW5Qcm94eU1lc3NhZ2VzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENT
dXBwb3J0L1BsdWdpblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
Q29yZUlQQ1N1cHBvcnQvV2ViUGFnZU1lc3NhZ2VzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJ
UENTdXBwb3J0L1dlYlBhZ2VNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9D
b3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9D
b3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQcm9jZXNzTWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAorCVdl
YktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwCisKK01FU1NBR0VfSU5QVVRfUEFUSCA6PSBcCisJJChXZWJLaXQy
KS9QbHVnaW5Qcm9jZXNzIFwKKwkkKFdlYktpdDIpL1VJUHJvY2VzcyBcCisJJChXZWJLaXQyKS9V
SVByb2Nlc3MvUGx1Z2lucyBcCisgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL1BsdWdpbnMgXAor
CSQoV2ViS2l0MikvV2ViUHJvY2Vzcy9XZWJQYWdlIFwKKwkkKFdlYktpdDIpL1dlYlByb2Nlc3MK
KwordnBhdGggJS5tZXNzYWdlcy5pbiA9ICQoTUVTU0FHRV9JTlBVVF9QQVRIKQorCitNRVNTQUdF
X0dFTl9TQ1JJUFQgPSBcCisJJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1lc3NhZ2UtcmVj
ZWl2ZXIucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1oZWFkZXIu
cHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy93ZWJraXQyL19faW5pdF9fLnB5IFwKKwkkKFdlYktp
dDIpL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQorCitXZWJLaXQyL1NoYXJlZC9Db3JlSVBD
U3VwcG9ydC8lTWVzc2FnZVJlY2VpdmVyLmNwcDogJS5tZXNzYWdlcy5pbiAkKE1FU1NBR0VfR0VO
X1NDUklQVCkKKwkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHNyY2RpcikvV2ViS2l0Mi9TY3JpcHRz
L2dlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkgJDwgPiAkQAorCitXZWJLaXQyL1NoYXJlZC9D
b3JlSVBDU3VwcG9ydC8lTWVzc2FnZXMuaDogJS5tZXNzYWdlcy5pbiAkKE1FU1NBR0VfR0VOX1ND
UklQVCkKKwkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHNyY2RpcikvV2ViS2l0Mi9TY3JpcHRzL2dl
bmVyYXRlLW1lc3NhZ2VzLWhlYWRlci5weSAkPCA+ICRACisKKyMgV2ViS2l0V2ViUHJvY2Vzcwor
YmluX1BST0dSQU1TICs9IFwKKwlQcm9ncmFtcy9XZWJLaXRXZWJQcm9jZXNzCisKK1Byb2dyYW1z
X1dlYktpdFdlYlByb2Nlc3NfQ1BQRkxBR1MgPSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQy
L2luY2x1ZGUvV2ViQ29yZSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MiBc
CisJLUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRpcikvV2ViS2l0MiBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvV2ViUHJvY2Vzcy9ndGsgXAorCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJJChqYXZhc2NyaXB0
Y29yZV9jcHBmbGFncykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DRkxBR1MgPSBcCisJ
JChnbG9iYWxfY2ZsYWdzKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykK
KworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19TT1VSQ0VTID0gXAorCVdlYktpdDIvZ3RrL01h
aW5HdGsuY3BwIAorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX0xEQUREID0gXAorCWxpYkph
dmFTY3JpcHRDb3JlLmxhIFwKKwlsaWJ3ZWJraXQyZ3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxhIFwKKwkkKEdUS19MSUJTKSBc
CisJJChHTElCX0xJQlMpIFwKKwkkKExJQlNPVVBfTElCUykKKworUHJvZ3JhbXNfV2ViS2l0V2Vi
UHJvY2Vzc19MREZMQUdTID0gXAorCS1uby1mYXN0LWluc3RhbGwgXAorCS1uby1pbnN0YWxsCisK
K0NMRUFORklMRVMgKz0gXAorCSQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcy9XZWJLaXRXZWJQcm9j
ZXNzCisKKyMgLlBIT05ZOiBpbmNsdWRlLWhlYWRlcnMKSW5kZXg6IFdlYktpdDIvV2ViS2l0MlBy
ZWZpeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0MlByZWZpeC5oCShyZXZpc2lvbiA3
MDA5OCkKKysrIFdlYktpdDIvV2ViS2l0MlByZWZpeC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUg
KzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxp
dHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5k
IHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2Rp
ZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMKQEAgLTIzLDExICsyNCwxMyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKKyNpZiAhZGVmaW5lZCAoQlVJTERJTkdfR1RLX18pCiAjaW5jbHVkZSA8d3Rm
L1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8d3RmL0Rpc2FsbG93Q1R5cGUuaD4KICNpZmRlZiBfX2Nw
bHVzcGx1cwogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjZW5kaWYKKyNlbmRpZiAvKiAh
ZGVmaW5lZCAoQlVJTERJTkdfR1RLX18pICovCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogI2RlZmlu
ZSBFWFRFUk5fQ19CRUdJTiBleHRlcm4gIkMiIHsKQEAgLTEwNyw0ICsxMTAsOSBAQCBzdGF0aWMg
Y29uc3QgdHlwZSYgbmFtZSgpIFwKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBoaWNz
Lmg+CiAjZW5kaWYKIAotI2VuZGlmIC8qIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJTjMy
KSAqLworI2VsaWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykgCisjZGVmaW5lIEpTX0VYUE9SVERB
VEEKKyNkZWZpbmUgSlNfRVhQT1JUQ0xBU1MKKyNkZWZpbmUgX19TVERDX0ZPUk1BVF9NQUNST1MK
KyNpbmNsdWRlIDxXZWJDb3JlL2NvbmZpZy5oPgorI2VuZGlmIC8qIGRlZmluZWQoQlVJTERJTkdf
R1RLX18pICovCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9Q
bGF0Zm9ybS9Nb2R1bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBD
b3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9y
dGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmln
aHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFu
ZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVy
bWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02MSw2ICs2
Miw4IEBAIHByaXZhdGU6CiAgICAgSE1PRFVMRSBtX21vZHVsZTsKICNlbGlmIFBMQVRGT1JNKFFU
KQogICAgIFFMaWJyYXJ5IG1fbGliOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIHZvaWQgKm1f
aGFuZGxlOwogI2VuZGlmCiB9OwogCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL1BsYXRmb3JtUHJv
Y2Vzc0lkZW50aWZpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1BsYXRmb3JtL1BsYXRmb3Jt
UHJvY2Vzc0lkZW50aWZpZXIuaAkocmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1BsYXRmb3Jt
L1BsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zOSw2ICs0MCw4IEBAIHR5cGVkZWYgcGlkX3QgUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmll
cjsKIHR5cGVkZWYgSEFORExFIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXI7CiAjZWxpZiBQTEFU
Rk9STShRVCkKIHR5cGVkZWYgUVByb2Nlc3MqIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXI7Cisj
ZWxpZiBQTEFURk9STShHVEspCit0eXBlZGVmIHBpZF90IFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZp
ZXI7CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0IApJbmRleDogV2ViS2l0Mi9QbGF0
Zm9ybS9SdW5Mb29wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmgJ
KHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jw
b3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsNiArMzMsOSBAQAogI2luY2x1
ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KICNp
bmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaWYgUExBVEZPUk0oR1RLKQorI2luY2x1ZGUgPGdsaWIu
aD4KKyNlbmRpZgogCiBjbGFzcyBXb3JrSXRlbTsKIApAQCAtNzYsNiArODAsMTAgQEAgcHVibGlj
OgogI2VsaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQoUnVu
TG9vcCosIGludCBJRCk7CiAgICAgICAgIGludCBtX0lEOworI2VsaWYgUExBVEZPUk0oR1RLKQor
ICAgICAgICBzdGF0aWMgZ2Jvb2xlYW4gb25lU2hvdFRpbWVyRmlyZWQoZ3BvaW50ZXIgZGF0YSk7
CisgICAgICAgIHN0YXRpYyBnYm9vbGVhbiByZXBlYXRpbmdUaW1lckZpcmVkKGdwb2ludGVyIGRh
dGEpOworICAgICAgICBHU291cmNlKiBtX3RpbWVyU291cmNlOwogI2VuZGlmCiAgICAgfTsKIApA
QCAtMTI3LDYgKzEzNSwxMyBAQCBwcml2YXRlOgogICAgIFRpbWVyTWFwIG1fYWN0aXZlVGltZXJz
OwogICAgIGNsYXNzIFRpbWVyT2JqZWN0OwogICAgIFRpbWVyT2JqZWN0KiBtX3RpbWVyT2JqZWN0
OworI2VsaWYgUExBVEZPUk0oR1RLKQorcHVibGljOgorICAgIHN0YXRpYyBnYm9vbGVhbiBwZXJm
b3JtV29yayhncG9pbnRlcik7CisgICAgR01haW5Mb29wKiBtYWluTG9vcCgpOworcHJpdmF0ZToK
KyAgICBHTWFpbkNvbnRleHQqIG1fcnVuTG9vcENvbnRleHQ7CisgICAgR01haW5Mb29wKiBtX3J1
bkxvb3BNYWluOwogI2VuZGlmCiB9OwogCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1
ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvUGxhdGZvcm0vV29ya1F1ZXVlLmgJKHJldmlzaW9u
IDcwMDk4KQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuaAkod29ya2luZyBjb3B5KQpA
QCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAog
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCkBAIC0zMCw2ICszMSw4IEBACiAjaWYgSEFWRShESVNQQVRDSF9IKQogI2lu
Y2x1ZGUgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CiAjZW5kaWYKKyNlbGlmIFBMQVRGT1JNKEdUSykK
KyNpbmNsdWRlIDxnbGliLmg+CiAjZW5kaWYKIAogI2luY2x1ZGUgIldvcmtJdGVtLmgiCkBAIC03
NCw2ICs3Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RTaWduYWwoUU9iamVjdCos
IGNvbnN0IGNoYXIqIHNpZ25hbCk7CiAKICAgICB2b2lkIG1vdmVTb2NrZXRUb1dvcmtUaHJlYWQo
UUxvY2FsU29ja2V0Kik7CisjZWxpZiBQTEFURk9STShHVEspCisgICAgdm9pZCByZWdpc3RlckV2
ZW50U291cmNlSGFuZGxlcihpbnQsIEdJT0NvbmRpdGlvbiwgUGFzc093blB0cjxXb3JrSXRlbT4p
OworICAgIHZvaWQgdW5yZWdpc3RlckV2ZW50U291cmNlSGFuZGxlcihpbnQpOwogI2VuZGlmCiAK
IHByaXZhdGU6CkBAIC0xNDYsNiArMTUyLDE4IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxRT2Jq
ZWN0KiwgV29ya0l0ZW1RdCo+IG1fc2lnbmFsTGlzdGVuZXJzOwogICAgIFFUaHJlYWQqIG1fd29y
a1RocmVhZDsKICAgICBmcmllbmQgY2xhc3MgV29ya0l0ZW1RdDsKKyNlbGlmIFBMQVRGT1JNKEdU
SykKKyAgICBzdGF0aWMgdm9pZCogd29ya1F1ZXVlVGhyZWFkQm9keSh2b2lkKik7CisgICAgdm9p
ZCB3b3JrUXVldWVUaHJlYWRCb2R5KCk7CisKKyAgICBUaHJlYWRJZGVudGlmaWVyIG1fd29ya1F1
ZXVlVGhyZWFkOworICAgIEdNYWluQ29udGV4dCogbV9ldmVudENvbnRleHQ7CisgICAgTXV0ZXgg
bV9ldmVudExvb3BMb2NrOworICAgIEdNYWluTG9vcCogbV9ldmVudExvb3A7CisgICAgTXV0ZXgg
bV9ldmVudFNvdXJjZXNMb2NrOworICAgIGNsYXNzIEV2ZW50U291cmNlOworICAgIEhhc2hNYXA8
aW50LCBWZWN0b3I8RXZlbnRTb3VyY2UqPiA+IG1fZXZlbnRTb3VyY2VzOworICAgIHR5cGVkZWYg
SGFzaE1hcDxpbnQsIFZlY3RvcjxFdmVudFNvdXJjZSo+ID46Oml0ZXJhdG9yIEV2ZW50U291cmNl
SXRlcmF0b3I7IAogI2VuZGlmCiB9OwogCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
Q29ubmVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25u
ZWN0aW9uLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nv
bm5lY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJpZ2h0
IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQor
ICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00
Niw2ICs0Nyw5IEBACiAjaW5jbHVkZSA8UVN0cmluZz4KIGNsYXNzIFFMb2NhbFNlcnZlcjsKIGNs
YXNzIFFMb2NhbFNvY2tldDsKKyNlbGlmIFBMQVRGT1JNKEdUSykKKyNpbmNsdWRlIDxzeXMvc29j
a2V0Lmg+CisjaW5jbHVkZSA8c3lzL3VuLmg+CiAjZW5kaWYKIAogY2xhc3MgUnVuTG9vcDsKQEAg
LTg2LDYgKzkwLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNyZWF0ZVNlcnZlckFuZENs
aWVudElkZW50aWZpZXJzKElkZW50aWZpZXImIHNlcnZlcklkZW50aWZpZXIsIElkZW50aWZpZXIm
IGNsaWVudElkZW50aWZpZXIpOwogI2VsaWYgUExBVEZPUk0oUVQpCiAgICAgdHlwZWRlZiBjb25z
dCBRU3RyaW5nIElkZW50aWZpZXI7CisjZWxpZiBQTEFURk9STShHVEspCisgICAgdHlwZWRlZiBp
bnQgSWRlbnRpZmllcjsKICNlbmRpZgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q29ubmVjdGlv
bj4gY3JlYXRlU2VydmVyQ29ubmVjdGlvbihJZGVudGlmaWVyLCBDbGllbnQqLCBSdW5Mb29wKiBj
bGllbnRSdW5Mb29wKTsKQEAgLTI1Nyw2ICsyNjMsOSBAQCBwcml2YXRlOgogICAgIHNpemVfdCBt
X2N1cnJlbnRNZXNzYWdlU2l6ZTsKICAgICBRTG9jYWxTb2NrZXQqIG1fc29ja2V0OwogICAgIFFT
dHJpbmcgbV9zZXJ2ZXJOYW1lOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIHZvaWQgcmVhZEV2
ZW50SGFuZGxlcigpOworICAgIGludCBtX3NvY2tldDsKICNlbmRpZgogfTsKIApJbmRleDogV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ay9Db25uZWN0aW9uR3RrLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsuY3BwCShyZXZpc2lv
biAwKQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ay9Db25uZWN0aW9uR3RrLmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj
KSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorCisjaW5jbHVkZSAiQXJndW1lbnRFbmNv
ZGVyLmgiCisjaW5jbHVkZSAiV29ya0l0ZW0uaCIKKworI2luY2x1ZGUgPGVycm5vLmg+CisjaW5j
bHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzeXMvZmNudGwuaD4KK3VzaW5nIG5hbWVzcGFjZSBz
dGQ7CisKK25hbWVzcGFjZSBDb3JlSVBDIHsKKwordm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9ybUlu
aXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIG1fc29ja2V0ID0gaWRlbnRp
ZmllcjsKKyAgICBtX2lzQ29ubmVjdGVkID0gdHJ1ZTsKK30KKwordm9pZCBDb25uZWN0aW9uOjpw
bGF0Zm9ybUludmFsaWRhdGUoKQoreworICAgIGlmICghbV9pc0Nvbm5lY3RlZCkKKyAgICAgICAg
cmV0dXJuOworCisgICAgLy8gVE9ETzogdW5yZWdpc3RlciBmcm9tIGNvbm5lY3Rpb24gcXVldWUu
CisgICAgbV9jb25uZWN0aW9uUXVldWUudW5yZWdpc3RlckV2ZW50U291cmNlSGFuZGxlcihtX3Nv
Y2tldCk7CisKKyAgICBpZiAobV9zb2NrZXQgPiAwKSB7CisgICAgICAgIGNsb3NlKG1fc29ja2V0
KTsKKyAgICAgICAgbV9zb2NrZXQgPSAtMTsKKyAgICB9CisKKyAgICBtX2lzQ29ubmVjdGVkID0g
ZmFsc2U7Cit9CisKK3ZvaWQgQ29ubmVjdGlvbjo6cmVhZEV2ZW50SGFuZGxlcigpCit7CisgICAg
aW50IG51bWJlck9mQnl0ZXNSZWFkID0gMDsKKworICAgIGlmIChtX3NvY2tldCA8IDApCisgICAg
ICAgIHJldHVybjsKKworICAgIHVpbnQ4X3Qgc2l6ZUJ1ZmZlcltzaXplb2Yoc2l6ZV90KV07Cisg
ICAgbWVtc2V0KHNpemVCdWZmZXIsIDAsIHNpemVvZihzaXplX3QpKTsKKworICAgIHdoaWxlICgo
bnVtYmVyT2ZCeXRlc1JlYWQgPSByZWFkKG1fc29ja2V0LCBzaXplQnVmZmVyLCBzaXplb2Yoc2l6
ZV90KSkpID4gMCkgeworICAgICAgICBzaXplX3QgbWVzc2FnZVNpemUgPSAqcmVpbnRlcnByZXRf
Y2FzdDxzaXplX3QqPihzaXplQnVmZmVyKTsKKworICAgICAgICBWZWN0b3I8dWludDhfdD4gYnVm
ZmVyOworICAgICAgICBidWZmZXIucmVzaXplKG1lc3NhZ2VTaXplKTsKKyAgICAgICAgbnVtYmVy
T2ZCeXRlc1JlYWQgPSByZWFkKG1fc29ja2V0LCBidWZmZXIuZGF0YSgpLCBtZXNzYWdlU2l6ZSk7
CisKKyAgICAgICAgc2l6ZV90IHJlYWxCdWZmZXJTaXplID0gbWVzc2FnZVNpemUgLSBzaXplb2Yo
TWVzc2FnZUlEKTsKKyAgICAgICAgdW5zaWduZWQgbWVzc2FnZUlEID0gKnJlaW50ZXJwcmV0X2Nh
c3Q8dW5zaWduZWQqPihidWZmZXIuZGF0YSgpICsgcmVhbEJ1ZmZlclNpemUpOworCisgICAgICAg
IHByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoTWVzc2FnZUlEOjpmcm9tSW50KG1lc3NhZ2VJRCksIGFk
b3B0UHRyKG5ldyBBcmd1bWVudERlY29kZXIoYnVmZmVyLmRhdGEoKSwgcmVhbEJ1ZmZlclNpemUp
KSk7CisgICAgfQorfQorCitib29sIENvbm5lY3Rpb246Om9wZW4oKQoreworICAgIGludCBmbGFn
cyA9IGZjbnRsKG1fc29ja2V0LCBGX0dFVEZMLCAwKTsKKyAgICBmY250bChtX3NvY2tldCwgRl9T
RVRGTCwgZmxhZ3MgfCBPX05PTkJMT0NLKTsKKworICAgIG1fY29ubmVjdGlvblF1ZXVlLnJlZ2lz
dGVyRXZlbnRTb3VyY2VIYW5kbGVyKG1fc29ja2V0LCAoR0lPQ29uZGl0aW9uKShHX0lPX0hVUHwg
R19JT19FUlIpLCBXb3JrSXRlbTo6Y3JlYXRlKHRoaXMsICZDb25uZWN0aW9uOjpjb25uZWN0aW9u
RGlkQ2xvc2UpKTsKKyAgICBtX2Nvbm5lY3Rpb25RdWV1ZS5yZWdpc3RlckV2ZW50U291cmNlSGFu
ZGxlcihtX3NvY2tldCwgKEdJT0NvbmRpdGlvbikoR19JT19JTiksIFdvcmtJdGVtOjpjcmVhdGUo
dGhpcywgJkNvbm5lY3Rpb246OnJlYWRFdmVudEhhbmRsZXIpKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworYm9vbCBDb25uZWN0aW9uOjpwbGF0Zm9ybUNhblNlbmRPdXRnb2luZ01lc3NhZ2VzKCkg
Y29uc3QKK3sKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBDb25uZWN0aW9uOjpzZW5kT3V0
Z29pbmdNZXNzYWdlKE1lc3NhZ2VJRCBtZXNzYWdlSUQsIFBhc3NPd25QdHI8QXJndW1lbnRFbmNv
ZGVyPiBhcmd1bWVudHMpCit7CisgICAgaWYgKG1fc29ja2V0IDwgMSkKKyAgICAgICAgcmV0dXJu
IGZhbHNlOworCisgICAgLy8gV2UgcHV0IHRoZSBtZXNzYWdlIElEIGxhc3QuCisgICAgYXJndW1l
bnRzLT5lbmNvZGVVSW50MzIobWVzc2FnZUlELnRvSW50KCkpOworCisgICAgc2l6ZV90IGJ1ZmZl
clNpemUgPSBhcmd1bWVudHMtPmJ1ZmZlclNpemUoKTsKKworICAgIFZlY3Rvcjx1aW50OF90PiBi
dWZmZXI7CisgICAgYnVmZmVyLmFwcGVuZChyZWludGVycHJldF9jYXN0PHVpbnQ4X3QqPigmYnVm
ZmVyU2l6ZSksIHNpemVvZihzaXplX3QpKTsKKyAgICBidWZmZXIuYXBwZW5kKGFyZ3VtZW50cy0+
YnVmZmVyKCksIGFyZ3VtZW50cy0+YnVmZmVyU2l6ZSgpKTsKKworICAgIGludCBieXRlc1dyaXR0
ZW4gPSB3cml0ZShtX3NvY2tldCwgYnVmZmVyLmRhdGEoKSwgYnVmZmVyLnNpemUoKSk7CisgICAg
QVNTRVJUX1VOVVNFRChieXRlc1dyaXR0ZW4sIGJ5dGVzV3JpdHRlbik7CisgICAgCisgICAgcmV0
dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIENvcmVJUEMKSW5kZXg6IFdlYktpdDIvUGxh
dGZvcm0vZ3RrL01vZHVsZUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9QbGF0Zm9ybS9n
dGsvTW9kdWxlR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvUGxhdGZvcm0vZ3RrL01v
ZHVsZUd0ay5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTAgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMg
Q29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiTW9kdWxlLmgiCisKKyNpbmNsdWRlIDxKYXZh
U2NyaXB0Q29yZS9DU3RyaW5nLmg+CisjaW5jbHVkZSA8ZGxmY24uaD4KKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK2Jvb2wgTW9kdWxlOjpsb2FkKCkKK3sKKyAgICBtX2hhbmRsZSA9IGRsb3Blbiht
X3BhdGgudXRmOCgpLmRhdGEoKSwgUlRMRF9OT1cpOworICAgIHJldHVybiAhbV9oYW5kbGU7Cit9
CisKK3ZvaWQgTW9kdWxlOjp1bmxvYWQoKQoreworICAgIGRsY2xvc2UobV9oYW5kbGUpOworfQor
Cit2b2lkKiBNb2R1bGU6OnBsYXRmb3JtRnVuY3Rpb25Qb2ludGVyKGNvbnN0IGNoYXIqIGZ1bmN0
aW9uTmFtZSkgY29uc3QKK3sKKyAgICByZXR1cm4gZGxzeW0obV9oYW5kbGUsIGZ1bmN0aW9uTmFt
ZSk7Cit9CisKK30KSW5kZXg6IFdlYktpdDIvUGxhdGZvcm0vZ3RrL1J1bkxvb3BHdGsuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdDIvUGxhdGZvcm0vZ3RrL1J1bkxvb3BHdGsuY3BwCShyZXZpc2lv
biAwKQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvUnVuTG9vcEd0ay5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMTM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgIlJ1bkxvb3AuaCIKKworI2luY2x1ZGUgIldLQmFzZS5oIgorI2luY2x1ZGUgPGdsaWIu
aD4KKworUnVuTG9vcDo6UnVuTG9vcCgpCit7CisgICAgbV9ydW5Mb29wQ29udGV4dCA9IGdfbWFp
bl9jb250ZXh0X2RlZmF1bHQoKTsKKyAgICBBU1NFUlQobV9ydW5Mb29wQ29udGV4dCk7CisgICAg
bV9ydW5Mb29wTWFpbiA9IGdfbWFpbl9sb29wX25ldyhtX3J1bkxvb3BDb250ZXh0LCBGQUxTRSk7
CisgICAgQVNTRVJUKG1fcnVuTG9vcE1haW4pOworfQorCitSdW5Mb29wOjp+UnVuTG9vcCgpCit7
CisgICAgaWYgKG1fcnVuTG9vcE1haW4pIHsKKyAgICAgICAgZ19tYWluX2xvb3BfcXVpdChtX3J1
bkxvb3BNYWluKTsKKyAgICAgICAgZ19tYWluX2xvb3BfdW5yZWYobV9ydW5Mb29wTWFpbik7Cisg
ICAgICAgIG1fcnVuTG9vcE1haW4gPSAwOworICAgIH0KKworICAgIGlmIChtX3J1bkxvb3BDb250
ZXh0KSB7CisgICAgICAgIGdfbWFpbl9jb250ZXh0X3VucmVmKG1fcnVuTG9vcENvbnRleHQpOwor
ICAgICAgICBtX3J1bkxvb3BDb250ZXh0ID0gMDsKKyAgICB9Cit9CisKK3ZvaWQgUnVuTG9vcDo6
cnVuKCkKK3sKKyAgICBnX21haW5fbG9vcF9ydW4oUnVuTG9vcDo6bWFpbigpLT5tYWluTG9vcCgp
KTsKK30KKworR01haW5Mb29wKiBSdW5Mb29wOjptYWluTG9vcCgpCit7CisgICAgcmV0dXJuIG1f
cnVuTG9vcE1haW47Cit9CisKK3ZvaWQgUnVuTG9vcDo6c3RvcCgpCit7CisgICAgZ19tYWluX2xv
b3BfcXVpdChtX3J1bkxvb3BNYWluKTsKK30KKworZ2Jvb2xlYW4gUnVuTG9vcDo6cGVyZm9ybVdv
cmsoZ3BvaW50ZXIgY29udGV4dCkKK3sKKyAgICBzdGF0aWNfY2FzdDxSdW5Mb29wKj4oY29udGV4
dCktPnBlcmZvcm1Xb3JrKCk7CisgICAgcmV0dXJuIEZBTFNFOworfQorCit2b2lkIFJ1bkxvb3A6
Ondha2VVcCgpCit7CisgICAgR1NvdXJjZSogc291cmNlID0gZ190aW1lb3V0X3NvdXJjZV9uZXco
MCk7CisgICAgZ19zb3VyY2Vfc2V0X2NhbGxiYWNrKHNvdXJjZSwgKEdTb3VyY2VGdW5jKSZSdW5M
b29wOjpwZXJmb3JtV29yaywgdGhpcywgTlVMTCk7CisgICAgZ19zb3VyY2VfYXR0YWNoKHNvdXJj
ZSwgbV9ydW5Mb29wQ29udGV4dCk7CisKKyAgICBnX21haW5fY29udGV4dF93YWtldXAobV9ydW5M
b29wQ29udGV4dCk7Cit9CisKK1J1bkxvb3A6OlRpbWVyQmFzZTo6VGltZXJCYXNlKFJ1bkxvb3Aq
IHJ1bkxvb3ApCisgICAgOiBtX3J1bkxvb3AocnVuTG9vcCkKKyAgICAsIG1fdGltZXJTb3VyY2Uo
MCkKK3sKK30KKworUnVuTG9vcDo6VGltZXJCYXNlOjp+VGltZXJCYXNlKCkKK3sKKyAgICBzdG9w
KCk7Cit9CisKK2dib29sZWFuIFJ1bkxvb3A6OlRpbWVyQmFzZTo6b25lU2hvdFRpbWVyRmlyZWQo
Z3BvaW50ZXIgY29udGV4dCkKK3sKKyAgICBSdW5Mb29wOjpUaW1lckJhc2UqIHRpbWVyY2xhc3Mg
PSBzdGF0aWNfY2FzdDxSdW5Mb29wOjpUaW1lckJhc2UqPihjb250ZXh0KTsKKyAgICB0aW1lcmNs
YXNzLT5maXJlZCgpOworICAgIHJldHVybiBGQUxTRTsKK30KKworZ2Jvb2xlYW4gUnVuTG9vcDo6
VGltZXJCYXNlOjpyZXBlYXRpbmdUaW1lckZpcmVkKGdwb2ludGVyIGNvbnRleHQpCit7CisgICAg
UnVuTG9vcDo6VGltZXJCYXNlKiB0aW1lcmNsYXNzID0gc3RhdGljX2Nhc3Q8UnVuTG9vcDo6VGlt
ZXJCYXNlKj4oY29udGV4dCk7CisgICAgdGltZXJjbGFzcy0+ZmlyZWQoKTsKKyAgICByZXR1cm4g
VFJVRTsKK30KKwordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0YXJ0KGRvdWJsZSBuZXh0Rmly
ZUludGVydmFsLCBkb3VibGUgcmVwZWF0SW50ZXJ2YWwpCit7CisgICAgaWYgKG1fdGltZXJTb3Vy
Y2UpCisgICAgICAgIHN0b3AoKTsKKworICAgIGlmIChyZXBlYXRJbnRlcnZhbCkgeworICAgICAg
ICBtX3RpbWVyU291cmNlID0gZ190aW1lb3V0X3NvdXJjZV9uZXcoc3RhdGljX2Nhc3Q8Z3VpbnQ+
KHJlcGVhdEludGVydmFsKSk7CisgICAgICAgIGdfc291cmNlX3NldF9jYWxsYmFjayhtX3RpbWVy
U291cmNlLCAoR1NvdXJjZUZ1bmMpJlJ1bkxvb3A6OlRpbWVyQmFzZTo6cmVwZWF0aW5nVGltZXJG
aXJlZCwgdGhpcywgTlVMTCk7CisgICAgfSBlbHNlIHsKKyAgICAgICAgbV90aW1lclNvdXJjZSA9
IGdfdGltZW91dF9zb3VyY2VfbmV3KHN0YXRpY19jYXN0PGd1aW50PihuZXh0RmlyZUludGVydmFs
KSk7CisgICAgICAgIGdfc291cmNlX3NldF9jYWxsYmFjayhtX3RpbWVyU291cmNlLCAoR1NvdXJj
ZUZ1bmMpJlJ1bkxvb3A6OlRpbWVyQmFzZTo6b25lU2hvdFRpbWVyRmlyZWQsIHRoaXMsIE5VTEwp
OworICAgIH0KKyAgICBnX3NvdXJjZV9hdHRhY2gobV90aW1lclNvdXJjZSwgbV9ydW5Mb29wLT5t
X3J1bkxvb3BDb250ZXh0KTsKK30KKwordm9pZCBSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3AoKQor
eworICAgIGlmICghbV90aW1lclNvdXJjZSkKKyAgICAgICAgcmV0dXJuOworCisgICAgZ19zb3Vy
Y2VfZGVzdHJveShtX3RpbWVyU291cmNlKTsKKyAgICBtX3RpbWVyU291cmNlID0gMDsKK30KKwor
Ym9vbCBSdW5Mb29wOjpUaW1lckJhc2U6OmlzQWN0aXZlKCkgY29uc3QKK3sKKyAgICByZXR1cm4g
bV90aW1lclNvdXJjZT8gdHJ1ZSA6IGZhbHNlOworfQpJbmRleDogV2ViS2l0Mi9QbGF0Zm9ybS9n
dGsvU2hhcmVkTWVtb3J5R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1BsYXRmb3JtL2d0
ay9TaGFyZWRNZW1vcnlHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9n
dGsvU2hhcmVkTWVtb3J5R3RrLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NCBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJTaGFyZWRNZW1vcnkuaCIK
KworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitT
aGFyZWRNZW1vcnk6OkhhbmRsZTo6SGFuZGxlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
fQorCitTaGFyZWRNZW1vcnk6OkhhbmRsZTo6fkhhbmRsZSgpCit7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKK30KKwordm9pZCBTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZW5jb2RlKENvcmVJUEM6OkFy
Z3VtZW50RW5jb2RlciogZW5jb2RlcikgY29uc3QKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
fQorCitib29sIFNoYXJlZE1lbW9yeTo6SGFuZGxlOjpkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnRE
ZWNvZGVyKiBkZWNvZGVyLCBIYW5kbGUmIGhhbmRsZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHJldHVybiBmYWxzZTsKK30KKworUGFzc1JlZlB0cjxTaGFyZWRNZW1vcnk+IFNoYXJl
ZE1lbW9yeTo6Y3JlYXRlKHNpemVfdCBzaXplKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK1Bhc3NSZWZQdHI8U2hhcmVkTWVtb3J5PiBTaGFyZWRNZW1vcnk6
OmNyZWF0ZShjb25zdCBIYW5kbGUmIGhhbmRsZSwgUHJvdGVjdGlvbiBwcm90ZWN0aW9uKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7ICAgIAorfQorCitTaGFyZWRNZW1v
cnk6On5TaGFyZWRNZW1vcnkoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisgICAgCiti
b29sIFNoYXJlZE1lbW9yeTo6Y3JlYXRlSGFuZGxlKEhhbmRsZSYgaGFuZGxlLCBQcm90ZWN0aW9u
IHByb3RlY3Rpb24pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK3Vuc2lnbmVkIFNoYXJlZE1lbW9yeTo6c3lzdGVtUGFnZVNpemUoKQoreworICAgIHVu
c2lnbmVkIHBhZ2VTaXplID0gMDsKKworICAgIHJldHVybiBwYWdlU2l6ZTsKK30KKworfQpJbmRl
eDogV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQyL1BsYXRmb3JtL2d0ay9Xb3JrUXVldWVHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2Vi
S2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSwyMDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmls
aXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiV29y
a1F1ZXVlLmgiCisKKyNpbmNsdWRlICJXS0Jhc2UuaCIKKwordm9pZCBXb3JrUXVldWU6OnBsYXRm
b3JtSW5pdGlhbGl6ZShjb25zdCBjaGFyKiBuYW1lKQoreworICAgIG1fZXZlbnRDb250ZXh0ID0g
Z19tYWluX2NvbnRleHRfbmV3KCk7CisgICAgQVNTRVJUKG1fZXZlbnRDb250ZXh0KTsKKyAgICBt
X2V2ZW50TG9vcCA9IGdfbWFpbl9sb29wX25ldyhtX2V2ZW50Q29udGV4dCwgRkFMU0UpOworICAg
IEFTU0VSVChtX2V2ZW50TG9vcCk7CisgICAgbV93b3JrUXVldWVUaHJlYWQgPSBjcmVhdGVUaHJl
YWQoJldvcmtRdWV1ZTo6d29ya1F1ZXVlVGhyZWFkQm9keSwgdGhpcywgbmFtZSk7Cit9CisKK3Zv
aWQgV29ya1F1ZXVlOjpwbGF0Zm9ybUludmFsaWRhdGUoKQoreworICAgIE11dGV4TG9ja2VyIGxv
Y2tlcihtX2V2ZW50TG9vcExvY2spOworCisgICAgaWYgKG1fZXZlbnRMb29wKSB7CisgICAgICAg
IGlmIChnX21haW5fbG9vcF9pc19ydW5uaW5nKG1fZXZlbnRMb29wKSkKKyAgICAgICAgICAgIGdf
bWFpbl9sb29wX3F1aXQobV9ldmVudExvb3ApOworCisgICAgICAgIGdfbWFpbl9sb29wX3VucmVm
KG1fZXZlbnRMb29wKTsKKyAgICAgICAgbV9ldmVudExvb3AgPSAwOworICAgIH0KKworICAgIGlm
IChtX2V2ZW50Q29udGV4dCkgeworICAgICAgICBnX21haW5fY29udGV4dF91bnJlZihtX2V2ZW50
Q29udGV4dCk7CisgICAgICAgIG1fZXZlbnRDb250ZXh0ID0gMDsKKyAgICB9Cit9CisKK3ZvaWQq
IFdvcmtRdWV1ZTo6d29ya1F1ZXVlVGhyZWFkQm9keSh2b2lkICpjb250ZXh0KQoreworICAgIHN0
YXRpY19jYXN0PFdvcmtRdWV1ZSo+KGNvbnRleHQpLT53b3JrUXVldWVUaHJlYWRCb2R5KCk7Cisg
ICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgV29ya1F1ZXVlOjp3b3JrUXVldWVUaHJlYWRCb2R5KCkK
K3sKKyAgICBnX21haW5fbG9vcF9ydW4obV9ldmVudExvb3ApOworfQorCitjbGFzcyBXb3JrUXVl
dWU6OkV2ZW50U291cmNlIHsKK3B1YmxpYzoKKyAgICBFdmVudFNvdXJjZShHU291cmNlKiBkaXNw
YXRjaFNvdXJjZSwgUGFzc093blB0cjxXb3JrSXRlbT4gd29ya0l0ZW0sIFdvcmtRdWV1ZSogd29y
a1F1ZXVlKQorICAgIDogbV9kaXNwYXRjaFNvdXJjZShkaXNwYXRjaFNvdXJjZSkKKyAgICAsIG1f
d29ya0l0ZW0od29ya0l0ZW0pCisgICAgLCBtX3dvcmtRdWV1ZSh3b3JrUXVldWUpCisgICAgewor
ICAgIH0KKworICAgIEdTb3VyY2UqIGRpc3BhdGNoU291cmNlKCkgeyByZXR1cm4gbV9kaXNwYXRj
aFNvdXJjZTsgfQorCisgICAgc3RhdGljIGdib29sZWFuIHBlcmZvcm1Xb3JrT25jZShncG9pbnRl
ciBzb3VyY2UpCisgICAgeworICAgICAgICBFdmVudFNvdXJjZSogZXZlbnRTb3VyY2UgPSBzdGF0
aWNfY2FzdDxFdmVudFNvdXJjZSo+KHNvdXJjZSk7CisgICAgICAgIFdvcmtRdWV1ZSogcXVldWUg
PSBldmVudFNvdXJjZS0+bV93b3JrUXVldWU7CisgICAgICAgIHsKKyAgICAgICAgICAgIE11dGV4
TG9ja2VyIGxvY2tlcihxdWV1ZS0+bV9pc1ZhbGlkTXV0ZXgpOworICAgICAgICAgICAgaWYgKCFx
dWV1ZS0+bV9pc1ZhbGlkKQorICAgICAgICAgICAgICAgIHJldHVybiBGQUxTRTsKKyAgICAgICAg
fQorCisgICAgICAgIGV2ZW50U291cmNlLT5tX3dvcmtJdGVtLT5leGVjdXRlKCk7CisgICAgICAg
IHJldHVybiBGQUxTRTsKKyAgICB9CisKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gY2xvc2VDb25uZWN0
aW9uKEdJT0NoYW5uZWwqIGNoYW5uZWwsIEdJT0NvbmRpdGlvbiBjb25kaXRpb24sIGdwb2ludGVy
IHNvdXJjZSkKKyAgICB7CisgICAgICAgIGlmICgoY29uZGl0aW9uICYgR19JT19IVVApIHx8IChj
b25kaXRpb24gJiBHX0lPX0VSUikpIHsKKyAgICAgICAgICAgIEV2ZW50U291cmNlKiBldmVudFNv
dXJjZSA9IHN0YXRpY19jYXN0PEV2ZW50U291cmNlKj4oc291cmNlKTsKKyAgICAgICAgICAgIFdv
cmtRdWV1ZSogcXVldWUgPSBldmVudFNvdXJjZS0+bV93b3JrUXVldWU7CisgICAgICAgICAgICB7
CisgICAgICAgICAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKHF1ZXVlLT5tX2lzVmFsaWRNdXRl
eCk7CisgICAgICAgICAgICAgICAgaWYgKCFxdWV1ZS0+bV9pc1ZhbGlkKQorICAgICAgICAgICAg
ICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgICAgICAgICB9CisgICAgICAgICAgICBldmVudFNv
dXJjZS0+bV93b3JrSXRlbS0+ZXhlY3V0ZSgpOworICAgICAgICB9CisgICAgICAgIHJldHVybiBG
QUxTRTsKKyAgICB9CisgICAgCisgICAgc3RhdGljIGdib29sZWFuIHBlcmZvcm1Xb3JrKEdJT0No
YW5uZWwqIGNoYW5uZWwsIEdJT0NvbmRpdGlvbiBjb25kaXRpb24sIGdwb2ludGVyIHNvdXJjZSkg
CisgICAgeworICAgICAgICBpZiAoY29uZGl0aW9uICYgR19JT19JTikgeworICAgICAgICAgICAg
RXZlbnRTb3VyY2UqIGV2ZW50U291cmNlID0gc3RhdGljX2Nhc3Q8RXZlbnRTb3VyY2UqPihzb3Vy
Y2UpOworICAgICAgICAgICAgV29ya1F1ZXVlKiBxdWV1ZSA9IGV2ZW50U291cmNlLT5tX3dvcmtR
dWV1ZTsKKyAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBNdXRleExvY2tlciBsb2NrZXIo
cXVldWUtPm1faXNWYWxpZE11dGV4KTsKKyAgICAgICAgICAgICAgICBpZiAoIXF1ZXVlLT5tX2lz
VmFsaWQpCisgICAgICAgICAgICAgICAgICAgIHJldHVybiBUUlVFOworICAgICAgICAgICAgfQor
CisgICAgICAgICAgICBldmVudFNvdXJjZS0+bV93b3JrSXRlbS0+ZXhlY3V0ZSgpOworICAgICAg
ICAgICAgcmV0dXJuIFRSVUU7CisgICAgICAgIH0KKyAgICAgICAgcmV0dXJuIEZBTFNFOworCisg
ICAgfQorICAgIAorICAgIHN0YXRpYyB2b2lkIGRlbGV0ZUV2ZW50U291cmNlKGdwb2ludGVyIHNv
dXJjZSkgCisgICAgeworICAgICAgICBFdmVudFNvdXJjZSogZXZlbnRTb3VyY2UgPSBzdGF0aWNf
Y2FzdDxFdmVudFNvdXJjZSo+KHNvdXJjZSk7CisgICAgICAgIGRlbGV0ZSBldmVudFNvdXJjZTsK
KyAgICB9CisgICAKK3B1YmxpYzoKKyAgICBHU291cmNlKiBtX2Rpc3BhdGNoU291cmNlOworICAg
IFBhc3NPd25QdHI8V29ya0l0ZW0+IG1fd29ya0l0ZW07CisgICAgV29ya1F1ZXVlKiBtX3dvcmtR
dWV1ZTsKK307CisKK3ZvaWQgV29ya1F1ZXVlOjpyZWdpc3RlckV2ZW50U291cmNlSGFuZGxlcihp
bnQgZmQsIEdJT0NvbmRpdGlvbiBjb25kaXRpb24sIFBhc3NPd25QdHI8V29ya0l0ZW0+IGl0ZW0p
Cit7CisgICAgR0lPQ2hhbm5lbCogY2hhbm5lbCA9IGdfaW9fY2hhbm5lbF91bml4X25ldyhmZCk7
CisgICAgR1NvdXJjZSogZGlzcGF0Y2hTb3VyY2UgPSBnX2lvX2NyZWF0ZV93YXRjaChjaGFubmVs
LCBjb25kaXRpb24pOworICAgIEFTU0VSVChkaXNwYXRjaFNvdXJjZSk7CisgICAgRXZlbnRTb3Vy
Y2UqIGV2ZW50U291cmNlID0gbmV3IEV2ZW50U291cmNlKGRpc3BhdGNoU291cmNlLCBpdGVtLCB0
aGlzKTsKKyAgIAorICAgIGlmIChjb25kaXRpb24gPT0gR19JT19JTikgeworICAgICAgICBnX3Nv
dXJjZV9zZXRfY2FsbGJhY2soZGlzcGF0Y2hTb3VyY2UsIChHU291cmNlRnVuYykmIFdvcmtRdWV1
ZTo6RXZlbnRTb3VyY2U6OnBlcmZvcm1Xb3JrLCBldmVudFNvdXJjZSwgJldvcmtRdWV1ZTo6RXZl
bnRTb3VyY2U6OmRlbGV0ZUV2ZW50U291cmNlKTsKKyAgICB9IGVsc2UgaWYgKGNvbmRpdGlvbiA9
PSAoR19JT19IVVAgfCBHX0lPX0VSUikpIHsKKyAgICAgICAgZ19zb3VyY2Vfc2V0X2NhbGxiYWNr
KGRpc3BhdGNoU291cmNlLCAoR1NvdXJjZUZ1bmMpJldvcmtRdWV1ZTo6RXZlbnRTb3VyY2U6OmNs
b3NlQ29ubmVjdGlvbiwgZXZlbnRTb3VyY2UsICZXb3JrUXVldWU6OkV2ZW50U291cmNlOjpkZWxl
dGVFdmVudFNvdXJjZSk7CisgICAgfQorCisgICAgeworICAgICAgICBNdXRleExvY2tlciBsb2Nr
ZXIobV9ldmVudFNvdXJjZXNMb2NrKTsKKyAgICAgICAgQVNTRVJUKCFtX2V2ZW50U291cmNlcy5j
b250YWlucyhmZCkpOworICAgICAgICBWZWN0b3I8RXZlbnRTb3VyY2UqPiBzb3VyY2VzOworICAg
ICAgICBFdmVudFNvdXJjZUl0ZXJhdG9yIGl0ID0gbV9ldmVudFNvdXJjZXMuZmluZChmZCk7Cisg
ICAgICAgIGlmIChpdCAhPSBtX2V2ZW50U291cmNlcy5lbmQoKSkgCisgICAgICAgICAgICBzb3Vy
Y2VzID0gaXQtPnNlY29uZDsKKworICAgICAgICBzb3VyY2VzLmFwcGVuZChldmVudFNvdXJjZSk7
CisgICAgICAgIG1fZXZlbnRTb3VyY2VzLnNldChmZCwgc291cmNlcyk7CisgICAgfQorCisgICAg
eworICAgICAgICBNdXRleExvY2tlciBsb2NrZXIobV9ldmVudExvb3BMb2NrKTsKKyAgICAgICAg
Z19zb3VyY2VfYXR0YWNoKGRpc3BhdGNoU291cmNlLCBtX2V2ZW50Q29udGV4dCk7CisgICAgfQor
fQorCit2b2lkIFdvcmtRdWV1ZTo6dW5yZWdpc3RlckV2ZW50U291cmNlSGFuZGxlcihpbnQgZmQp
Cit7CisgICAgQVNTRVJUKGZkKTsKKyAgICAKKyAgICBNdXRleExvY2tlciBsb2NrZXIobV9ldmVu
dFNvdXJjZXNMb2NrKTsKKyAgICAKKyAgICBFdmVudFNvdXJjZUl0ZXJhdG9yIGl0ID0gbV9ldmVu
dFNvdXJjZXMuZmluZChmZCk7CisgICAgQVNTRVJUKGl0ICE9IG1fZXZlbnRTb3VyY2VzLmVuZCgp
KTsKKyAgICBBU1NFUlQobV9ldmVudFNvdXJjZXMuY29udGFpbnMoZmQpKTsKKworICAgIGlmIChp
dCAhPSBtX2V2ZW50U291cmNlcy5lbmQoKSkgeworICAgICAgICBWZWN0b3I8RXZlbnRTb3VyY2Uq
PiBzb3VyY2VzOworICAgICAgICBzb3VyY2VzID0gaXQtPnNlY29uZDsKKyAgICAgICAgZm9yICh1
bnNpZ25lZCBpbnQgaSA9IDA7IGkgPCBzb3VyY2VzLnNpemUoKTsgaSsrKSB7CisgICAgICAgICAg
ICBFdmVudFNvdXJjZSogZXZlbnRTb3VyY2UgPSBzb3VyY2VzW2ldOworICAgICAgICAgICAgR1Nv
dXJjZSogZ1NvdXJjZSA9IGV2ZW50U291cmNlLT5kaXNwYXRjaFNvdXJjZSgpOworICAgICAgICAg
ICAgZ19zb3VyY2VfZGVzdHJveShnU291cmNlKTsKKyAgICAgICAgfQorICAgICAgICBtX2V2ZW50
U291cmNlcy5yZW1vdmUoaXQpOworICAgIH0KK30KKwordm9pZCBXb3JrUXVldWU6OnNjaGVkdWxl
V29yayhQYXNzT3duUHRyPFdvcmtJdGVtPiBpdGVtKQoreworICAgIEdTb3VyY2UqIGRpc3BhdGNo
U291cmNlID0gZ190aW1lb3V0X3NvdXJjZV9uZXcoMCk7CisgICAgQVNTRVJUKGRpc3BhdGNoU291
cmNlKTsKKyAgICBFdmVudFNvdXJjZSogZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2UoZGlz
cGF0Y2hTb3VyY2UsIGl0ZW0sIHRoaXMpOworICAgIAorICAgIGdfc291cmNlX3NldF9jYWxsYmFj
ayhkaXNwYXRjaFNvdXJjZSwgKEdTb3VyY2VGdW5jKSZXb3JrUXVldWU6OkV2ZW50U291cmNlOjpw
ZXJmb3JtV29ya09uY2UsIGV2ZW50U291cmNlLCAmV29ya1F1ZXVlOjpFdmVudFNvdXJjZTo6ZGVs
ZXRlRXZlbnRTb3VyY2UpOworICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fZXZl
bnRMb29wTG9jayk7CisgICAgICAgIGdfc291cmNlX2F0dGFjaChkaXNwYXRjaFNvdXJjZSwgbV9l
dmVudENvbnRleHQpOworICAgIH0KK30KSW5kZXg6IFdlYktpdDIvU2hhcmVkL05hdGl2ZVdlYktl
eWJvYXJkRXZlbnQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJLZXli
b2FyZEV2ZW50LmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9TaGFyZWQvTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0
aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDYgKzM3
LDggQEAgY2xhc3MgTlNWaWV3OwogI2VuZGlmCiAjZWxpZiBQTEFURk9STShRVCkKICNpbmNsdWRl
IDxRS2V5RXZlbnQ+CisjZWxpZiBQTEFURk9STShHVEspCisjaW5jbHVkZSA8Z2RrL2dkay5oPgog
I2VuZGlmCiAKIG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNDgsNiArNTEsOCBAQCBwdWJsaWM6CiAg
ICAgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChIV05ELCBVSU5UIG1lc3NhZ2UsIFdQQVJBTSwgTFBB
UkFNKTsKICNlbGlmIFBMQVRGT1JNKFFUKQogICAgIGV4cGxpY2l0IE5hdGl2ZVdlYktleWJvYXJk
RXZlbnQoUUtleUV2ZW50Kik7CisjZWxpZiBQTEFURk9STShHVEspCisgICAgTmF0aXZlV2ViS2V5
Ym9hcmRFdmVudChHZGtFdmVudEtleSopOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShNQUMpCkBA
IC01Niw2ICs2MSw4IEBAIHB1YmxpYzoKICAgICBjb25zdCBNU0cqIG5hdGl2ZUV2ZW50KCkgY29u
c3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KICNlbGlmIFBMQVRGT1JNKFFUKQogICAgIGNv
bnN0IFFLZXlFdmVudCogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVu
dDsgfQorI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIGNvbnN0IEdka0V2ZW50S2V5KiBuYXRpdmVF
dmVudCgpIGNvbnN0IHsgcmV0dXJuICZtX25hdGl2ZUV2ZW50OyB9CiAjZW5kaWYKIAogcHJpdmF0
ZToKQEAgLTY1LDYgKzcyLDggQEAgcHJpdmF0ZToKICAgICBNU0cgbV9uYXRpdmVFdmVudDsKICNl
bGlmIFBMQVRGT1JNKFFUKQogICAgIFFLZXlFdmVudCBtX25hdGl2ZUV2ZW50OworI2VsaWYgUExB
VEZPUk0oR1RLKQorICAgIEdka0V2ZW50S2V5IG1fbmF0aXZlRXZlbnQ7CiAjZW5kaWYKIH07CiAK
SW5kZXg6IFdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oCShyZXZpc2lvbiA3MDA5OCkKKysrIFdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLQmFzZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTMyLDYg
KzMzLDEwIEBACiAjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2VXaW4uaD4KICNlbmRpZgogCisjaWYg
ZGVmaW5lZChCVUlMRElOR19HVEtfXykKKyNpbmNsdWRlIDxXZWJLaXQyL1dLQmFzZUd0ay5oPgor
I2VuZGlmCisKIC8qIFdlYktpdDIgc2hhcmVkIHR5cGVzICovCiAKIHR5cGVkZWYgdWludDMyX3Qg
V0tUeXBlSUQ7CkluZGV4OiBXZWJLaXQyL1NoYXJlZC9BUEkvYy9ndGsvV0tCYXNlR3RrLmgKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dLQmFzZUd0ay5oCShyZXZpc2lv
biAwKQorKysgV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dLQmFzZUd0ay5oCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBXS0Jhc2VHdGtfaAorI2RlZmluZSBXS0Jhc2VHdGtfaAorCisjaWZuZGVmIFdLQmFzZV9o
CisjZXJyb3IgIlBsZWFzZSAjaW5jbHVkZSBcIldLQmFzZS5oXCIgaW5zdGVhZCBvZiB0aGlzIGZp
bGUgZGlyZWN0bHkuIgorI2VuZGlmCisKK3R5cGVkZWYgY29uc3Qgc3RydWN0IE9wYXF1ZVdLVmll
dyogV0tWaWV3UmVmOworCisjZW5kaWYgLyogV0tCYXNlR3RrX2ggKi8KSW5kZXg6IFdlYktpdDIv
U2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdpbmdBcmVhTWVzc2FnZUtpbmRzLmgKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdlS2lu
ZHMuaAkocmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9E
cmF3aW5nQXJlYU1lc3NhZ2VLaW5kcy5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAog
LyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAg
LTQ1LDYgKzQ2LDEzIEBAIGVudW0gS2luZCB7CiAgICAgLy8gQ2FsbGVkIHdoZW4gYW4gdXBkYXRl
IGNodW5rIHNlbnQgdG8gdGhlIGRyYXdpbmcgYXJlYSBoYXMgYmVlbgogICAgIC8vIGluY29ycG9y
YXRlZCBpbnRvIHRoZSBiYWNraW5nIHN0b3JlLgogICAgIERpZFVwZGF0ZSwKKworICAgIC8vIENh
bGxlZCB3aGVuZXZlciB0aGUgc2l6ZSBvZiB0aGUgZHJhd2luZyBhcmVhIGdldCB1cGRhdGVkCisg
ICAgLy8gdXNlZCBpbiBvbmx5IEdUSyB0byBmcmVlIHRoZSBtZW1vcnkgd2hpY2ggaXMgYWxsb2Nh
dGVkIGluIHNldHNpemUKKyNpZiBQTEFURk9STShHVEspCisgICAgRGlkU2V0U2l6ZURvbmUsCisj
ZW5kaWYKKyAgICAKIH07CiAKIH0KSW5kZXg6IFdlYktpdDIvU2hhcmVkL2d0ay9CYWNraW5nU3Rv
cmVHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL2d0ay9CYWNraW5nU3RvcmVH
dGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9TaGFyZWQvZ3RrL0JhY2tpbmdTdG9yZUd0
ay5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJp
Z2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisjaW5jbHVkZSAiQmFja2luZ1N0b3JlLmgiCisKKyNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgPFdlYkNvcmUvR3JhcGhpY3NDb250ZXh0Lmg+CisKK3Vz
aW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworUGFzc093blB0
cjxHcmFwaGljc0NvbnRleHQ+IEJhY2tpbmdTdG9yZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0KCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIEJhY2tp
bmdTdG9yZTo6cGFpbnQoV2ViQ29yZTo6R3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBX
ZWJDb3JlOjpJbnRSZWN0JiBjbGlwUmVjdCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQor
ICAgICAgICAKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9TaGFyZWQvZ3Rr
L05hdGl2ZVdlYktleWJvYXJkRXZlbnRHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hh
cmVkL2d0ay9OYXRpdmVXZWJLZXlib2FyZEV2ZW50R3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdl
YktpdDIvU2hhcmVkL2d0ay9OYXRpdmVXZWJLZXlib2FyZEV2ZW50R3RrLmNwcAkocmV2aXNpb24g
MCkKQEAgLTAsMCArMSwzOSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90
b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
bmNsdWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisKKyNpbmNsdWRlICJXZWJFdmVudEZh
Y3RvcnkuaCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK05hdGl2ZVdlYktleWJvYXJkRXZlbnQ6
Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQoR2RrRXZlbnRLZXkqIGV2ZW50KQorICAgIDogV2ViS2V5
Ym9hcmRFdmVudChXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoZXZlbnQp
KQorICAgICwgbV9uYXRpdmVFdmVudCgqZXZlbnQpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogV2ViS2l0Mi9TaGFyZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1NoYXJlZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8uaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAorI2RlZmlu
ZSBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisKKyNpbmNsdWRlICJBcmd1bWVudERlY29kZXIu
aCIKKyNpbmNsdWRlICJBcmd1bWVudEVuY29kZXIuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291
cmNlUmVzcG9uc2UuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFBsYXRmb3JtQ2Vy
dGlmaWNhdGVJbmZvIHsKK3B1YmxpYzoKKyAgICBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbygpCisg
ICAgeworICAgIH0KKworICAgIGV4cGxpY2l0IFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKGNvbnN0
IFdlYkNvcmU6OlJlc291cmNlUmVzcG9uc2UmKQorICAgIHsKKyAgICB9CisKKyAgICB2b2lkIGVu
Y29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqKSBjb25zdAorICAgIHsKKyAgICB9CisKKyAg
ICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1lbnREZWNvZGVyKiwgUGxhdGZvcm1D
ZXJ0aWZpY2F0ZUluZm8mKQorICAgIHsKKyAgICAgICAgcmV0dXJuIHRydWU7CisgICAgfQorfTsK
KworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mb19oCkluZGV4OiBXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRlQ2h1bmsuY3BwCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5jcHAJKHJldmlzaW9uIDApCisr
KyBXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRlQ2h1bmsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDc5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlVw
ZGF0ZUNodW5rLmgiCisKKyNpbmNsdWRlICJBcmd1bWVudERlY29kZXIuaCIKKyNpbmNsdWRlICJB
cmd1bWVudEVuY29kZXIuaCIKKyNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKyNp
bmNsdWRlIDxXZWJDb3JlL0d0a1ZlcnNpb25pbmcuaD4KKyNpbmNsdWRlIDxnZGsvZ2RreC5oPgor
Cit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1VwZGF0
ZUNodW5rOjpVcGRhdGVDaHVuaygpCisgICAgOiBtX2JpdG1hcFNoYXJlZE1lbW9yeSgwKQorewor
fQorCitVcGRhdGVDaHVuazo6VXBkYXRlQ2h1bmsoY29uc3QgSW50UmVjdCYgcmVjdCkKKyAgICA6
IG1fcmVjdChyZWN0KQoreworICAgIG1fYml0bWFwU2hhcmVkTWVtb3J5ID0gZ2RrX3BpeG1hcF9u
ZXcoMCwgcmVjdC53aWR0aCgpLCByZWN0LmhlaWdodCgpLCBnZGtfdmlzdWFsX2dldF9kZXB0aChn
ZGtfdmlzdWFsX2dldF9zeXN0ZW0oKSkpOworICAgIG1feElEID0gc3RhdGljX2Nhc3Q8dWludDMy
X3Q+KEdES19QSVhNQVBfWElEKG1fYml0bWFwU2hhcmVkTWVtb3J5KSk7Cit9CisKK1VwZGF0ZUNo
dW5rOjpVcGRhdGVDaHVuayhjb25zdCBJbnRSZWN0JiByZWN0LCBHZGtQaXhtYXAqIGJpdG1hcFNo
YXJlZE1lbW9yeSkKKyAgICA6IG1fcmVjdChyZWN0KQorICAgICwgbV9iaXRtYXBTaGFyZWRNZW1v
cnkoYml0bWFwU2hhcmVkTWVtb3J5KQoreworfQorCit2b2lkIFVwZGF0ZUNodW5rOjplbmNvZGUo
Q29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBjb25zdAoreworICAgIGVuY29kZXIt
PmVuY29kZShtX3JlY3QpOworICAgIGVuY29kZXItPmVuY29kZShzdGF0aWNfY2FzdDx1aW50MzJf
dD4obV94SUQpKTsKK30KKworYm9vbCBVcGRhdGVDaHVuazo6ZGVjb2RlKENvcmVJUEM6OkFyZ3Vt
ZW50RGVjb2RlciogZGVjb2RlciwgVXBkYXRlQ2h1bmsmIHVwZGF0ZUNodW5rKQoreworICAgIElu
dFJlY3QgcmVjdDsKKyAgICBpZiAoIWRlY29kZXItPmRlY29kZShyZWN0KSkKKyAgICAgICAgcmV0
dXJuIGZhbHNlOworCisgICAgdXBkYXRlQ2h1bmsubV9yZWN0ID0gcmVjdDsKKyAgICB1aW50MzJf
dCBwaXhtYXBTaGFyZWRNbWVtb3J5OworICAgIGlmICghZGVjb2Rlci0+ZGVjb2RlKHBpeG1hcFNo
YXJlZE1tZW1vcnkpKQorICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgdXBkYXRlQ2h1bmsubV94
SUQgPSBwaXhtYXBTaGFyZWRNbWVtb3J5OworICAgIHVuc2lnbmVkIGxvbmcgeFBpeG1hcFNoYXJl
ZE1tZW1vcnkgPSBzdGF0aWNfY2FzdDx1bnNpZ25lZCBsb25nPihwaXhtYXBTaGFyZWRNbWVtb3J5
KTsKKyAgICB1cGRhdGVDaHVuay5tX2JpdG1hcFNoYXJlZE1lbW9yeSA9IGdka19waXhtYXBfZm9y
ZWlnbl9uZXcoeFBpeG1hcFNoYXJlZE1tZW1vcnkpOworICAgIHJldHVybiB0cnVlOworfQorCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvU2hhcmVkL2d0ay9VcGRhdGVDaHVu
ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5oCShyZXZp
c2lvbiAwKQorKysgV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFVwZGF0ZUNodW5rX2gKKyNkZWZpbmUgVXBkYXRlQ2h1bmtfaAorCisjaW5jbHVkZSAiSW50
UmVjdC5oIgorI2luY2x1ZGUgPGdkay9nZGsuaD4KKworbmFtZXNwYWNlIENvcmVJUEMgeworY2xh
c3MgQXJndW1lbnRFbmNvZGVyOworY2xhc3MgQXJndW1lbnREZWNvZGVyOworfQorCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworY2xhc3MgVXBkYXRlQ2h1bmsgeworcHVibGljOgorICAgIFVwZGF0ZUNo
dW5rKCk7CisgICAgVXBkYXRlQ2h1bmsoY29uc3QgV2ViQ29yZTo6SW50UmVjdCYpOworICAgIFVw
ZGF0ZUNodW5rKGNvbnN0IFdlYkNvcmU6OkludFJlY3QmLCBHZGtQaXhtYXAqKTsKKworICAgIGNv
bnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QoKSBjb25zdCB7IHJldHVybiBtX3JlY3Q7IH0KKyAg
ICBHZGtQaXhtYXAqIG1lbW9yeSgpIGNvbnN0IHsgcmV0dXJuIG1fYml0bWFwU2hhcmVkTWVtb3J5
OyB9CisgICAgdWludDMyX3QgeElEKCkgeyByZXR1cm4gbV94SUQ7IH0KKyAgICBib29sIGlzRW1w
dHkoKSB7IHJldHVybiBtX3JlY3QuaXNFbXB0eSgpO30KKworICAgIHZvaWQgZW5jb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RW5jb2RlciogZW5jb2RlcikgY29uc3Q7CisgICAgc3RhdGljIGJvb2wgZGVj
b2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFVwZGF0ZUNodW5rJik7CisKK3ByaXZhdGU6
CisgICAgV2ViQ29yZTo6SW50UmVjdCBtX3JlY3Q7CisgICAgR2RrUGl4bWFwKiBtX2JpdG1hcFNo
YXJlZE1lbW9yeTsKKyAgICB1aW50MzJfdCBtX3hJRDsKK307CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdAorCisjZW5kaWYgLy8gVXBkYXRlQ2h1bmtfaApJbmRleDogV2ViS2l0Mi9TaGFyZWQvZ3Rr
L1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJL
aXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3Jv
bGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVk
LmgiCisKK25hbWVzcGFjZSBDb3JlSVBDIHsKKwordm9pZCBlbmNvZGVSZXNvdXJjZVJlcXVlc3Qo
QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3Qm
IHJlc291cmNlUmVxdWVzdCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIGRl
Y29kZVJlc291cmNlUmVxdWVzdChBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYkNvcmU6OlJl
c291cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9CkluZGV4OiBXZWJLaXQyL1NoYXJlZC9ndGsvV2Vi
RXZlbnRGYWN0b3J5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZl
bnRGYWN0b3J5LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvU2hhcmVkL2d0ay9XZWJFdmVu
dEZhY3RvcnkuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDc2MyBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9u
cyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMg
cmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJp
bmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0
ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6Cisg
KiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBm
b3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUK
KyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRo
IHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBB
UFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
CisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVT
UyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVO
VCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IK
KyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9G
IFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9X
RVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisg
KiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VO
Q0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9G
IFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9G
IFNVQ0ggREFNQUdFLgorICovCisjaW5jbHVkZSAiV2ViRXZlbnRGYWN0b3J5LmgiCisKKyNpbmNs
dWRlICJXaW5kb3dzS2V5Ym9hcmRDb2Rlcy5oIgorCisjaW5jbHVkZSA8Z2RrL2dkay5oPgorI2lu
Y2x1ZGUgPGdkay9nZGtrZXlzeW1zLmg+CisjaW5jbHVkZSA8d3RmL0FTQ0lJQ1R5cGUuaD4KKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitzdGF0aWMg
aW5saW5lIEdka1BvaW50IHBvc2l0aW9uRm9yRXZlbnQoR2RrRXZlbnRBbnkqIGV2ZW50KQorewor
ICAgIEdka1BvaW50IHBvaW50OworICAgIGlmIChldmVudC0+dHlwZSA9PSBHREtfQlVUVE9OX1BS
RVNTIHx8IGV2ZW50LT50eXBlID09IEdES19CVVRUT05fUkVMRUFTRSkgeworICAgICAgICBwb2lu
dC54ID0gKGdpbnQpKChHZGtFdmVudEJ1dHRvbiAqKWV2ZW50KS0+eDsKKyAgICAgICAgcG9pbnQu
eSA9IChnaW50KSgoR2RrRXZlbnRCdXR0b24gKilldmVudCktPnk7CisgICAgfSBlbHNlIGlmIChl
dmVudC0+dHlwZSA9PSBHREtfTU9USU9OX05PVElGWSkgeworICAgICAgICBwb2ludC54ID0gKGdp
bnQpKChHZGtFdmVudE1vdGlvbiAqKWV2ZW50KS0+eDsKKyAgICAgICAgcG9pbnQueSA9IChnaW50
KSgoR2RrRXZlbnRNb3Rpb24gKilldmVudCktPnk7CisgICAgfSBlbHNlIGlmIChldmVudC0+dHlw
ZSA9PSBHREtfU0NST0xMKSB7CisgICAgICAgIHBvaW50LnggPSAoZ2ludCkoKEdka0V2ZW50U2Ny
b2xsICopZXZlbnQpLT54OworICAgICAgICBwb2ludC55ID0gKGdpbnQpKChHZGtFdmVudFNjcm9s
bCAqKWV2ZW50KS0+eTsKKyAgICB9CisKKyAgICByZXR1cm4gcG9pbnQ7Cit9CisKK3N0YXRpYyBp
bmxpbmUgR2RrUG9pbnQgZ2xvYmFsUG9zaXRpb25Gb3JFdmVudChHZGtFdmVudEFueSogZXZlbnQp
Cit7CisgICAgR2RrUG9pbnQgcG9pbnQ7CisgICAgaWYgKGV2ZW50LT50eXBlID09IEdES19CVVRU
T05fUFJFU1MgfHwgZXZlbnQtPnR5cGUgPT0gR0RLX0JVVFRPTl9SRUxFQVNFKSB7CisgICAgICAg
IHBvaW50LnggPSAoKEdka0V2ZW50QnV0dG9uICopZXZlbnQpLT54X3Jvb3Q7CisgICAgICAgIHBv
aW50LnkgPSAoKEdka0V2ZW50QnV0dG9uICopZXZlbnQpLT55X3Jvb3Q7CisgICAgfSBlbHNlIGlm
IChldmVudC0+dHlwZSA9PSBHREtfTU9USU9OX05PVElGWSkgeworICAgICAgICBwb2ludC54ID0g
KChHZGtFdmVudE1vdGlvbiAqKWV2ZW50KS0+eF9yb290OyAKKyAgICAgICAgcG9pbnQueSA9ICgo
R2RrRXZlbnRNb3Rpb24gKilldmVudCktPnlfcm9vdDsKKyAgICB9IGVsc2UgaWYgKGV2ZW50LT50
eXBlID09IEdES19TQ1JPTEwpIHsKKyAgICAgICAgcG9pbnQueCA9ICgoR2RrRXZlbnRTY3JvbGwg
KilldmVudCktPnhfcm9vdDsKKyAgICAgICAgcG9pbnQueSA9ICgoR2RrRXZlbnRTY3JvbGwgKill
dmVudCktPnlfcm9vdDsKKyAgICB9CisKKyAgICByZXR1cm4gcG9pbnQ7Cit9CisKKworc3RhdGlj
IGlubGluZSBpbnQgY2xpY2tDb3VudChHZGtFdmVudEFueSogZXZlbnQpCit7CisgICAgaW50IHND
bGlja0NvdW50ID0gMDsKKyAgICBzd2l0Y2ggKGV2ZW50LT50eXBlKSB7CisgICAgY2FzZSBHREtf
QlVUVE9OX1BSRVNTOgorICAgICAgICBzQ2xpY2tDb3VudCA9IDE7CisgICAgICAgIGJyZWFrOyAK
KyAgICBjYXNlIEdES18yQlVUVE9OX1BSRVNTOgorICAgICAgICBzQ2xpY2tDb3VudCA9IDI7Cisg
ICAgICAgIGJyZWFrOyAKKyAgICBjYXNlIEdES18zQlVUVE9OX1BSRVNTOgorICAgICAgICBzQ2xp
Y2tDb3VudCA9IDM7CisgICAgICAgIGJyZWFrOyAKKyAgICBjYXNlIEdES19NT1RJT05fTk9USUZZ
OgorICAgIGNhc2UgR0RLX0JVVFRPTl9SRUxFQVNFOgorICAgICAgICBzQ2xpY2tDb3VudCA9IDA7
CisgICAgICAgIGJyZWFrOyAKKyAgICBkZWZhdWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNI
RUQoKTsKKyAgICB9OworICAgIHJldHVybiBzQ2xpY2tDb3VudDsKK30KKworc3RhdGljIGlubGlu
ZSBXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlmaWVyc0ZvckV2ZW50KGd1aW50IHN0YXRlKQorewor
ICAgIHVuc2lnbmVkIG1vZGlmaWVycyA9IDA7CisgICAgaWYgKHN0YXRlICYgR0RLX0NPTlRST0xf
TUFTSykKKyAgICAgICAgbW9kaWZpZXJzIHw9IFdlYkV2ZW50OjpDb250cm9sS2V5OworICAgIGlm
IChzdGF0ZSAmIEdES19TSElGVF9NQVNLKQorICAgICAgICBtb2RpZmllcnMgfD0gV2ViRXZlbnQ6
OlNoaWZ0S2V5OworICAgIGlmIChzdGF0ZSAmIEdES19NT0QxX01BU0spCisgICAgICAgIG1vZGlm
aWVycyB8PSBXZWJFdmVudDo6QWx0S2V5OworICAgIGlmIChzdGF0ZSAmIEdES19NRVRBX01BU0sp
CisgICAgICAgIG1vZGlmaWVycyB8PSBXZWJFdmVudDo6TWV0YUtleTsKKyAgICByZXR1cm4gc3Rh
dGljX2Nhc3Q8V2ViRXZlbnQ6Ok1vZGlmaWVycz4obW9kaWZpZXJzKTsKK30KKworc3RhdGljIGlu
bGluZSBXZWJNb3VzZUV2ZW50OjpCdXR0b24gYnV0dG9uRm9yRXZlbnQoR2RrRXZlbnRBbnkgKmV2
ZW50KQoreworICAgIHVuc2lnbmVkIGJ1dHRvbiA9IDA7CisgICAgR2RrRXZlbnRNb3Rpb24qIG1v
dGlvbjsKKyAgICBHZGtFdmVudEJ1dHRvbiogYkV2ZW50OworICAgIHN3aXRjaCAoZXZlbnQtPnR5
cGUpIHsKKyAgICBjYXNlIEdES19NT1RJT05fTk9USUZZOgorICAgICAgICBtb3Rpb24gPSAoR2Rr
RXZlbnRNb3Rpb24qKSBldmVudDsKKyAgICAgICAgYnV0dG9uID0gV2ViTW91c2VFdmVudDo6Tm9C
dXR0b247CisgICAgICAgIGlmIChtb3Rpb24tPnN0YXRlICYgR0RLX0JVVFRPTjFfTUFTSykKKyAg
ICAgICAgICAgIGJ1dHRvbiA9IFdlYk1vdXNlRXZlbnQ6OkxlZnRCdXR0b247CisgICAgICAgIGVs
c2UgaWYgKG1vdGlvbi0+c3RhdGUgJiBHREtfQlVUVE9OMl9NQVNLKQorICAgICAgICAgICAgYnV0
dG9uID0gV2ViTW91c2VFdmVudDo6TWlkZGxlQnV0dG9uOworICAgICAgICBlbHNlIGlmIChtb3Rp
b24tPnN0YXRlICYgR0RLX0JVVFRPTjNfTUFTSykKKyAgICAgICAgICAgIGJ1dHRvbiA9IFdlYk1v
dXNlRXZlbnQ6OlJpZ2h0QnV0dG9uOworICAgICAgICBicmVhazsKKworICAgIGNhc2UgR0RLX0JV
VFRPTl9QUkVTUzoKKyAgICBjYXNlIEdES18yQlVUVE9OX1BSRVNTOgorICAgIGNhc2UgR0RLXzNC
VVRUT05fUFJFU1M6CisgICAgY2FzZSBHREtfQlVUVE9OX1JFTEVBU0U6CisgICAgICAgIGJFdmVu
dCA9IChHZGtFdmVudEJ1dHRvbiAqKWV2ZW50OworICAgICAgICBpZiAoYkV2ZW50LT5idXR0b24g
PT0gMSkKKyAgICAgICAgICAgIGJ1dHRvbiA9IFdlYk1vdXNlRXZlbnQ6OkxlZnRCdXR0b247Cisg
ICAgICAgIGVsc2UgaWYgKGJFdmVudC0+YnV0dG9uID09IDIpCisgICAgICAgICAgICBidXR0b24g
PSBXZWJNb3VzZUV2ZW50OjpNaWRkbGVCdXR0b247CisgICAgICAgIGVsc2UgaWYgKGJFdmVudC0+
YnV0dG9uID09IDMpCisgICAgICAgICAgICBidXR0b24gPSBXZWJNb3VzZUV2ZW50OjpSaWdodEJ1
dHRvbjsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNTRVJUX05PVF9S
RUFDSEVEKCk7CisgICAgfTsgICAgICAgIAorICAgIHJldHVybiBzdGF0aWNfY2FzdDxXZWJNb3Vz
ZUV2ZW50OjpCdXR0b24+KGJ1dHRvbik7Cit9CisgIAorCitXZWJNb3VzZUV2ZW50IFdlYkV2ZW50
RmFjdG9yeTo6Y3JlYXRlV2ViTW91c2VFdmVudChHZGtFdmVudEFueSAqZXZlbnQpCit7CisgICAg
Z3VpbnQgdGltZXN0YW1wID0gMDsgCisgICAgV2ViRXZlbnQ6Ok1vZGlmaWVycyBtb2RpZmllcnMg
PSBzdGF0aWNfY2FzdDxXZWJFdmVudDo6TW9kaWZpZXJzPigwKTsKKyAgICBXZWJNb3VzZUV2ZW50
OjpCdXR0b24gYnV0dG9uID0gYnV0dG9uRm9yRXZlbnQoZXZlbnQpOworICAgIEdka1BvaW50IHBv
c2l0aW9uID0gcG9zaXRpb25Gb3JFdmVudChldmVudCk7CisgICAgR2RrUG9pbnQgZ2xvYmFsUG9z
aXRpb24gPSBnbG9iYWxQb3NpdGlvbkZvckV2ZW50KChHZGtFdmVudEFueSAqKWV2ZW50KTsKKyAg
ICBpbnQgY2xpY2tjb3VudCA9IGNsaWNrQ291bnQoZXZlbnQpOworICAgIFdlYkV2ZW50OjpUeXBl
IHR5cGUgPSBzdGF0aWNfY2FzdDxXZWJFdmVudDo6VHlwZT4oMCk7CisgICAgc3dpdGNoIChldmVu
dC0+dHlwZSkgeworICAgIGNhc2UgR0RLX01PVElPTl9OT1RJRlk6CisgICAgICAgIHR5cGUgPSBX
ZWJFdmVudDo6TW91c2VNb3ZlOworICAgICAgICB0aW1lc3RhbXAgPSAoKEdka0V2ZW50TW90aW9u
ICopZXZlbnQpLT50aW1lOworICAgICAgICBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudCgo
KEdka0V2ZW50TW90aW9uICopZXZlbnQpLT5zdGF0ZSk7CisgICAgICAgIGJyZWFrOworICAgIGNh
c2UgR0RLX0JVVFRPTl9QUkVTUzoKKyAgICAgICAgdGltZXN0YW1wID0gKChHZGtFdmVudEJ1dHRv
biAqKWV2ZW50KS0+dGltZTsKKyAgICAgICAgbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQo
KChHZGtFdmVudEJ1dHRvbiAqKWV2ZW50KS0+c3RhdGUpOworICAgICAgICB0eXBlID0gV2ViRXZl
bnQ6Ok1vdXNlRG93bjsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHREtfQlVUVE9OX1JFTEVB
U0U6CisgICAgICAgIHRpbWVzdGFtcCA9ICgoR2RrRXZlbnRCdXR0b24gKilldmVudCktPnRpbWU7
CisgICAgICAgIG1vZGlmaWVycyA9IG1vZGlmaWVyc0ZvckV2ZW50KCgoR2RrRXZlbnRCdXR0b24g
KilldmVudCktPnN0YXRlKTsKKyAgICAgICAgdHlwZSA9IFdlYkV2ZW50OjpNb3VzZVVwOworICAg
ICAgICBicmVhazsKKyAgICBkZWZhdWx0IDoKKyAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7
CisgICAgfQorCisgICAgaW50IHBvc2l0aW9uWCA9IHBvc2l0aW9uLng7CisgICAgaW50IHBvc2l0
aW9uWSA9IHBvc2l0aW9uLnk7CisgICAgaW50IGdsb2JhbFBvc2l0aW9uWCA9IGdsb2JhbFBvc2l0
aW9uLng7CisgICAgaW50IGdsb2JhbFBvc2l0aW9uWSA9IGdsb2JhbFBvc2l0aW9uLnk7CisKKyAg
ICByZXR1cm4gV2ViTW91c2VFdmVudCh0eXBlLCBidXR0b24sIHBvc2l0aW9uWCwgcG9zaXRpb25Z
LCBnbG9iYWxQb3NpdGlvblgsIGdsb2JhbFBvc2l0aW9uWSwgMCwgMCwgMCwgY2xpY2tjb3VudCwg
bW9kaWZpZXJzLCB0aW1lc3RhbXApOworfQorCitXZWJXaGVlbEV2ZW50IFdlYkV2ZW50RmFjdG9y
eTo6Y3JlYXRlV2ViV2hlZWxFdmVudChHZGtFdmVudFNjcm9sbCAqZXZlbnQpCit7CisgICAgV2Vi
V2hlZWxFdmVudDo6R3JhbnVsYXJpdHkgZ3JhbnVsYXJpdHkgID0gV2ViV2hlZWxFdmVudDo6U2Ny
b2xsQnlQaXhlbFdoZWVsRXZlbnQ7CisKKyAgICBkb3VibGUgdGltZXN0YW1wID0gZXZlbnQtPnRp
bWU7IAorCisgICAgZmxvYXQgZGVsdGFYID0gMDsKKyAgICBmbG9hdCBkZWx0YVkgPSAwOworICAg
IGZsb2F0IHdoZWVsVGlja3NYID0gMDsKKyAgICBmbG9hdCB3aGVlbFRpY2tzWSA9IDA7CisKKyAg
ICAvLyBUYWtlbiBmcm9tIFdlYkNvcmUgU2Nyb2xsQmFyIAorICAgIGZsb2F0IHNjcm9sbGJhclBp
eGVsc1BlckxpbmUgPSA0MC4wZjsKKyAgICBmbG9hdCBkZWx0YSA9IDE7CisgICAgR2RrUG9pbnQg
cG9zaXRpb24gPSBwb3NpdGlvbkZvckV2ZW50KChHZGtFdmVudEFueSAqKWV2ZW50KTsKKyAgICBH
ZGtQb2ludCBnbG9iYWxQb3NpdGlvbiA9IGdsb2JhbFBvc2l0aW9uRm9yRXZlbnQoKEdka0V2ZW50
QW55ICopZXZlbnQpOworICAgIGludCBwb3NpdGlvblggPSBwb3NpdGlvbi54OworICAgIGludCBw
b3NpdGlvblkgPSBwb3NpdGlvbi55OworICAgIGludCBnbG9iYWxQb3NpdGlvblggPSBnbG9iYWxQ
b3NpdGlvbi54OworICAgIGludCBnbG9iYWxQb3NpdGlvblkgPSBnbG9iYWxQb3NpdGlvbi55Owor
ICAgIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJzID0gbW9kaWZpZXJzRm9yRXZlbnQoZXZl
bnQtPnN0YXRlKTsKKyAgICBzd2l0Y2ggKGV2ZW50LT5kaXJlY3Rpb24pIHsKKyAgICAKKyAgICBj
YXNlIEdES19TQ1JPTExfVVA6CisgICAgICAgIGRlbHRhWSA9IGRlbHRhOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIEdES19TQ1JPTExfRE9XTjoKKyAgICAgICAgZGVsdGFZID0gLWRlbHRhOwor
ICAgICAgICBicmVhazsKKyAgICBjYXNlIEdES19TQ1JPTExfTEVGVDoKKyAgICAgICAgZGVsdGFY
ID0gZGVsdGE7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR0RLX1NDUk9MTF9SSUdIVDoKKyAg
ICAgICAgZGVsdGFYID0gLWRlbHRhOworICAgICAgICBicmVhazsKKyAgICB9CisKKyAgICB3aGVl
bFRpY2tzWCA9IGRlbHRhWDsKKyAgICB3aGVlbFRpY2tzWSA9IGRlbHRhWTsgCisgICAgZGVsdGFY
ICo9IHNjcm9sbGJhclBpeGVsc1BlckxpbmU7CisgICAgZGVsdGFZICo9IHNjcm9sbGJhclBpeGVs
c1BlckxpbmU7CisgICAgCisgICAgcmV0dXJuIFdlYldoZWVsRXZlbnQoV2ViRXZlbnQ6OldoZWVs
LCBwb3NpdGlvblgsIHBvc2l0aW9uWSwgZ2xvYmFsUG9zaXRpb25YLCBnbG9iYWxQb3NpdGlvblks
IGRlbHRhWCwgZGVsdGFZLCB3aGVlbFRpY2tzWCwgd2hlZWxUaWNrc1ksIGdyYW51bGFyaXR5LCBt
b2RpZmllcnMsIHRpbWVzdGFtcCk7Cit9CisKKy8vIFRha2VuIGZyb20gS2V5RXZlbnRHdGsuY3Bw
CitzdGF0aWMgU3RyaW5nIGtleUlkZW50aWZpZXJGb3JHZGtLZXlDb2RlKGd1aW50IGtleUNvZGUp
Cit7CisgICAgc3dpdGNoIChrZXlDb2RlKSB7CisgICAgY2FzZSBHREtfTWVudToKKyAgICBjYXNl
IEdES19BbHRfTDoKKyAgICBjYXNlIEdES19BbHRfUjoKKyAgICAgICAgcmV0dXJuICJBbHQiOwor
ICAgIGNhc2UgR0RLX0NsZWFyOgorICAgICAgICByZXR1cm4gIkNsZWFyIjsKKyAgICBjYXNlIEdE
S19Eb3duOgorICAgICAgICByZXR1cm4gIkRvd24iOworICAgICAgICAvLyAiRW5kIgorICAgIGNh
c2UgR0RLX0VuZDoKKyAgICAgICAgcmV0dXJuICJFbmQiOworICAgICAgICAvLyAiRW50ZXIiCisg
ICAgY2FzZSBHREtfSVNPX0VudGVyOgorICAgIGNhc2UgR0RLX0tQX0VudGVyOgorICAgIGNhc2Ug
R0RLX1JldHVybjoKKyAgICAgICAgcmV0dXJuICJFbnRlciI7CisgICAgY2FzZSBHREtfRXhlY3V0
ZToKKyAgICAgICAgcmV0dXJuICJFeGVjdXRlIjsKKyAgICBjYXNlIEdES19GMToKKyAgICAgICAg
cmV0dXJuICJGMSI7CisgICAgY2FzZSBHREtfRjI6CisgICAgICAgIHJldHVybiAiRjIiOworICAg
IGNhc2UgR0RLX0YzOgorICAgICAgICByZXR1cm4gIkYzIjsKKyAgICBjYXNlIEdES19GNDoKKyAg
ICAgICAgcmV0dXJuICJGNCI7CisgICAgY2FzZSBHREtfRjU6CisgICAgICAgIHJldHVybiAiRjUi
OworICAgIGNhc2UgR0RLX0Y2OgorICAgICAgICByZXR1cm4gIkY2IjsKKyAgICBjYXNlIEdES19G
NzoKKyAgICAgICAgcmV0dXJuICJGNyI7CisgICAgY2FzZSBHREtfRjg6CisgICAgICAgIHJldHVy
biAiRjgiOworICAgIGNhc2UgR0RLX0Y5OgorICAgICAgICByZXR1cm4gIkY5IjsKKyAgICBjYXNl
IEdES19GMTA6CisgICAgICAgIHJldHVybiAiRjEwIjsKKyAgICBjYXNlIEdES19GMTE6CisgICAg
ICAgIHJldHVybiAiRjExIjsKKyAgICBjYXNlIEdES19GMTI6CisgICAgICAgIHJldHVybiAiRjEy
IjsKKyAgICBjYXNlIEdES19GMTM6CisgICAgICAgIHJldHVybiAiRjEzIjsKKyAgICBjYXNlIEdE
S19GMTQ6CisgICAgICAgIHJldHVybiAiRjE0IjsKKyAgICBjYXNlIEdES19GMTU6CisgICAgICAg
IHJldHVybiAiRjE1IjsKKyAgICBjYXNlIEdES19GMTY6CisgICAgICAgIHJldHVybiAiRjE2IjsK
KyAgICBjYXNlIEdES19GMTc6CisgICAgICAgIHJldHVybiAiRjE3IjsKKyAgICBjYXNlIEdES19G
MTg6CisgICAgICAgIHJldHVybiAiRjE4IjsKKyAgICBjYXNlIEdES19GMTk6CisgICAgICAgIHJl
dHVybiAiRjE5IjsKKyAgICBjYXNlIEdES19GMjA6CisgICAgICAgIHJldHVybiAiRjIwIjsKKyAg
ICBjYXNlIEdES19GMjE6CisgICAgICAgIHJldHVybiAiRjIxIjsKKyAgICBjYXNlIEdES19GMjI6
CisgICAgICAgIHJldHVybiAiRjIyIjsKKyAgICBjYXNlIEdES19GMjM6CisgICAgICAgIHJldHVy
biAiRjIzIjsKKyAgICBjYXNlIEdES19GMjQ6CisgICAgICAgIHJldHVybiAiRjI0IjsKKyAgICBj
YXNlIEdES19IZWxwOgorICAgICAgICByZXR1cm4gIkhlbHAiOworICAgIGNhc2UgR0RLX0hvbWU6
CisgICAgICAgIHJldHVybiAiSG9tZSI7CisgICAgY2FzZSBHREtfSW5zZXJ0OgorICAgICAgICBy
ZXR1cm4gIkluc2VydCI7CisgICAgY2FzZSBHREtfTGVmdDoKKyAgICAgICAgcmV0dXJuICJMZWZ0
IjsKKyAgICBjYXNlIEdES19QYWdlX0Rvd246CisgICAgICAgIHJldHVybiAiUGFnZURvd24iOwor
ICAgIGNhc2UgR0RLX1BhZ2VfVXA6CisgICAgICAgIHJldHVybiAiUGFnZVVwIjsKKyAgICBjYXNl
IEdES19QYXVzZToKKyAgICAgICAgcmV0dXJuICJQYXVzZSI7CisgICAgY2FzZSBHREtfMzI3MF9Q
cmludFNjcmVlbjoKKyAgICAgICAgcmV0dXJuICJQcmludFNjcmVlbiI7CisgICAgY2FzZSBHREtf
UmlnaHQ6CisgICAgICAgIHJldHVybiAiUmlnaHQiOworICAgIGNhc2UgR0RLX1NlbGVjdDoKKyAg
ICAgICAgcmV0dXJuICJTZWxlY3QiOworICAgIGNhc2UgR0RLX1VwOgorICAgICAgICByZXR1cm4g
IlVwIjsKKyAgICAgICAgLy8gU3RhbmRhcmQgc2F5cyB0aGF0IERFTCBiZWNvbWVzIFUrMDA3Ri4K
KyAgICBjYXNlIEdES19EZWxldGU6CisgICAgICAgIHJldHVybiAiVSswMDdGIjsKKyAgICBjYXNl
IEdES19CYWNrU3BhY2U6CisgICAgICAgIHJldHVybiAiVSswMDA4IjsKKyAgICBjYXNlIEdES19J
U09fTGVmdF9UYWI6CisgICAgY2FzZSBHREtfMzI3MF9CYWNrVGFiOgorICAgIGNhc2UgR0RLX1Rh
YjoKKyAgICAgICAgcmV0dXJuICJVKzAwMDkiOworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVy
biBTdHJpbmc6OmZvcm1hdCgiVSslMDRYIiwgZ2RrX2tleXZhbF90b191bmljb2RlKGdka19rZXl2
YWxfdG9fdXBwZXIoa2V5Q29kZSkpKTsKKyAgICB9Cit9CisKKy8vIFRha2VuIGZyb20gS2V5RXZl
bnRHdGsuY3BwCitzdGF0aWMgaW50IHdpbmRvd3NLZXlDb2RlRm9yS2V5RXZlbnQodW5zaWduZWQg
aW50IGtleWNvZGUpCit7CisgICAgc3dpdGNoIChrZXljb2RlKSB7CisgICAgY2FzZSBHREtfS1Bf
MDoKKyAgICAgICAgcmV0dXJuIFZLX05VTVBBRDA7IC8vICg2MCkgTnVtZXJpYyBrZXlwYWQgMCBr
ZXkKKyAgICBjYXNlIEdES19LUF8xOgorICAgICAgICByZXR1cm4gVktfTlVNUEFEMTsgLy8gKDYx
KSBOdW1lcmljIGtleXBhZCAxIGtleQorICAgIGNhc2UgR0RLX0tQXzI6CisgICAgICAgIHJldHVy
biBWS19OVU1QQUQyOyAvLyAoNjIpIE51bWVyaWMga2V5cGFkIDIga2V5CisgICAgY2FzZSBHREtf
S1BfMzoKKyAgICAgICAgcmV0dXJuIFZLX05VTVBBRDM7IC8vICg2MykgTnVtZXJpYyBrZXlwYWQg
MyBrZXkKKyAgICBjYXNlIEdES19LUF80OgorICAgICAgICByZXR1cm4gVktfTlVNUEFENDsgLy8g
KDY0KSBOdW1lcmljIGtleXBhZCA0IGtleQorICAgIGNhc2UgR0RLX0tQXzU6CisgICAgICAgIHJl
dHVybiBWS19OVU1QQUQ1OyAvLyAoNjUpIE51bWVyaWMga2V5cGFkIDUga2V5CisgICAgY2FzZSBH
REtfS1BfNjoKKyAgICAgICAgcmV0dXJuIFZLX05VTVBBRDY7IC8vICg2NikgTnVtZXJpYyBrZXlw
YWQgNiBrZXkKKyAgICBjYXNlIEdES19LUF83OgorICAgICAgICByZXR1cm4gVktfTlVNUEFENzsg
Ly8gKDY3KSBOdW1lcmljIGtleXBhZCA3IGtleQorICAgIGNhc2UgR0RLX0tQXzg6CisgICAgICAg
IHJldHVybiBWS19OVU1QQUQ4OyAvLyAoNjgpIE51bWVyaWMga2V5cGFkIDgga2V5CisgICAgY2Fz
ZSBHREtfS1BfOToKKyAgICAgICAgcmV0dXJuIFZLX05VTVBBRDk7IC8vICg2OSkgTnVtZXJpYyBr
ZXlwYWQgOSBrZXkKKyAgICBjYXNlIEdES19LUF9NdWx0aXBseToKKyAgICAgICAgcmV0dXJuIFZL
X01VTFRJUExZOyAvLyAoNkEpIE11bHRpcGx5IGtleQorICAgIGNhc2UgR0RLX0tQX0FkZDoKKyAg
ICAgICAgcmV0dXJuIFZLX0FERDsgLy8gKDZCKSBBZGQga2V5CisgICAgY2FzZSBHREtfS1BfU3Vi
dHJhY3Q6CisgICAgICAgIHJldHVybiBWS19TVUJUUkFDVDsgLy8gKDZEKSBTdWJ0cmFjdCBrZXkK
KyAgICBjYXNlIEdES19LUF9EZWNpbWFsOgorICAgICAgICByZXR1cm4gVktfREVDSU1BTDsgLy8g
KDZFKSBEZWNpbWFsIGtleQorICAgIGNhc2UgR0RLX0tQX0RpdmlkZToKKyAgICAgICAgcmV0dXJu
IFZLX0RJVklERTsgLy8gKDZGKSBEaXZpZGUga2V5CisKKyAgICBjYXNlIEdES19LUF9QYWdlX1Vw
OgorICAgICAgICByZXR1cm4gVktfUFJJT1I7IC8vICgyMSkgUEFHRSBVUCBrZXkKKyAgICBjYXNl
IEdES19LUF9QYWdlX0Rvd246CisgICAgICAgIHJldHVybiBWS19ORVhUOyAvLyAoMjIpIFBBR0Ug
RE9XTiBrZXkKKyAgICBjYXNlIEdES19LUF9FbmQ6CisgICAgICAgIHJldHVybiBWS19FTkQ7IC8v
ICgyMykgRU5EIGtleQorICAgIGNhc2UgR0RLX0tQX0hvbWU6CisgICAgICAgIHJldHVybiBWS19I
T01FOyAvLyAoMjQpIEhPTUUga2V5CisgICAgY2FzZSBHREtfS1BfTGVmdDoKKyAgICAgICAgcmV0
dXJuIFZLX0xFRlQ7IC8vICgyNSkgTEVGVCBBUlJPVyBrZXkKKyAgICBjYXNlIEdES19LUF9VcDoK
KyAgICAgICAgcmV0dXJuIFZLX1VQOyAvLyAoMjYpIFVQIEFSUk9XIGtleQorICAgIGNhc2UgR0RL
X0tQX1JpZ2h0OgorICAgICAgICByZXR1cm4gVktfUklHSFQ7IC8vICgyNykgUklHSFQgQVJST1cg
a2V5CisgICAgY2FzZSBHREtfS1BfRG93bjoKKyAgICAgICAgcmV0dXJuIFZLX0RPV047IC8vICgy
OCkgRE9XTiBBUlJPVyBrZXkKKworICAgIGNhc2UgR0RLX0JhY2tTcGFjZToKKyAgICAgICAgcmV0
dXJuIFZLX0JBQ0s7IC8vICgwOCkgQkFDS1NQQUNFIGtleQorICAgIGNhc2UgR0RLX0lTT19MZWZ0
X1RhYjoKKyAgICBjYXNlIEdES18zMjcwX0JhY2tUYWI6CisgICAgY2FzZSBHREtfVGFiOgorICAg
ICAgICByZXR1cm4gVktfVEFCOyAvLyAoMDkpIFRBQiBrZXkKKyAgICBjYXNlIEdES19DbGVhcjoK
KyAgICAgICAgcmV0dXJuIFZLX0NMRUFSOyAvLyAoMEMpIENMRUFSIGtleQorICAgIGNhc2UgR0RL
X0lTT19FbnRlcjoKKyAgICBjYXNlIEdES19LUF9FbnRlcjoKKyAgICBjYXNlIEdES19SZXR1cm46
CisgICAgICAgIHJldHVybiBWS19SRVRVUk47IC8vICgwRCkgUmV0dXJuIGtleQorICAgIGNhc2Ug
R0RLX1NoaWZ0X0w6CisgICAgY2FzZSBHREtfU2hpZnRfUjoKKyAgICAgICAgcmV0dXJuIFZLX1NI
SUZUOyAvLyAoMTApIFNISUZUIGtleQorICAgIGNhc2UgR0RLX0NvbnRyb2xfTDoKKyAgICBjYXNl
IEdES19Db250cm9sX1I6CisgICAgICAgIHJldHVybiBWS19DT05UUk9MOyAvLyAoMTEpIENUUkwg
a2V5CisgICAgY2FzZSBHREtfTWVudToKKyAgICAgICAgcmV0dXJuIFZLX0FQUFM7IC8vICg1RCkg
QXBwbGljYXRpb25zIGtleSAoTmF0dXJhbCBrZXlib2FyZCkKKyAgICBjYXNlIEdES19BbHRfTDoK
KyAgICBjYXNlIEdES19BbHRfUjoKKyAgICAgICAgcmV0dXJuIFZLX01FTlU7IC8vICgxMikgQUxU
IGtleQorCisgICAgY2FzZSBHREtfUGF1c2U6CisgICAgICAgIHJldHVybiBWS19QQVVTRTsgLy8g
KDEzKSBQQVVTRSBrZXkKKyAgICBjYXNlIEdES19DYXBzX0xvY2s6CisgICAgICAgIHJldHVybiBW
S19DQVBJVEFMOyAvLyAoMTQpIENBUFMgTE9DSyBrZXkKKyAgICBjYXNlIEdES19LYW5hX0xvY2s6
CisgICAgY2FzZSBHREtfS2FuYV9TaGlmdDoKKyAgICAgICAgcmV0dXJuIFZLX0tBTkE7IC8vICgx
NSkgSW5wdXQgTWV0aG9kIEVkaXRvciAoSU1FKSBLYW5hIG1vZGUKKyAgICBjYXNlIEdES19IYW5n
dWw6CisgICAgICAgIHJldHVybiBWS19IQU5HVUw7IC8vIFZLX0hBTkdVTCAoMTUpIElNRSBIYW5n
dWwgbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBWS19KVU5KQSAoMTcpIElNRSBK
dW5qYSBtb2RlCisgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZLX0ZJTkFMICgxOCkgSU1F
IGZpbmFsIG1vZGUKKyAgICBjYXNlIEdES19IYW5ndWxfSGFuamE6CisgICAgICAgIHJldHVybiBW
S19IQU5KQTsgLy8gKDE5KSBJTUUgSGFuamEgbW9kZQorICAgIGNhc2UgR0RLX0thbmppOgorICAg
ICAgICByZXR1cm4gVktfS0FOSkk7IC8vICgxOSkgSU1FIEthbmppIG1vZGUKKyAgICBjYXNlIEdE
S19Fc2NhcGU6CisgICAgICAgIHJldHVybiBWS19FU0NBUEU7IC8vICgxQikgRVNDIGtleQorICAg
ICAgICAgICAgICAgICAgICAgICAgICAvLyBWS19DT05WRVJUICgxQykgSU1FIGNvbnZlcnQKKyAg
ICAgICAgICAgICAgICAgICAgICAgICAgLy8gVktfTk9OQ09OVkVSVCAoMUQpIElNRSBub25jb252
ZXJ0CisgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZLX0FDQ0VQVCAoMUUpIElNRSBhY2Nl
cHQKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVktfTU9ERUNIQU5HRSAoMUYpIElNRSBt
b2RlIGNoYW5nZSByZXF1ZXN0CisgICAgY2FzZSBHREtfc3BhY2U6CisgICAgICAgIHJldHVybiBW
S19TUEFDRTsgLy8gKDIwKSBTUEFDRUJBUgorICAgIGNhc2UgR0RLX1BhZ2VfVXA6CisgICAgICAg
IHJldHVybiBWS19QUklPUjsgLy8gKDIxKSBQQUdFIFVQIGtleQorICAgIGNhc2UgR0RLX1BhZ2Vf
RG93bjoKKyAgICAgICAgcmV0dXJuIFZLX05FWFQ7IC8vICgyMikgUEFHRSBET1dOIGtleQorICAg
IGNhc2UgR0RLX0VuZDoKKyAgICAgICAgcmV0dXJuIFZLX0VORDsgLy8gKDIzKSBFTkQga2V5Cisg
ICAgY2FzZSBHREtfSG9tZToKKyAgICAgICAgcmV0dXJuIFZLX0hPTUU7IC8vICgyNCkgSE9NRSBr
ZXkKKyAgICBjYXNlIEdES19MZWZ0OgorICAgICAgICByZXR1cm4gVktfTEVGVDsgLy8gKDI1KSBM
RUZUIEFSUk9XIGtleQorICAgIGNhc2UgR0RLX1VwOgorICAgICAgICByZXR1cm4gVktfVVA7IC8v
ICgyNikgVVAgQVJST1cga2V5CisgICAgY2FzZSBHREtfUmlnaHQ6CisgICAgICAgIHJldHVybiBW
S19SSUdIVDsgLy8gKDI3KSBSSUdIVCBBUlJPVyBrZXkKKyAgICBjYXNlIEdES19Eb3duOgorICAg
ICAgICByZXR1cm4gVktfRE9XTjsgLy8gKDI4KSBET1dOIEFSUk9XIGtleQorICAgIGNhc2UgR0RL
X1NlbGVjdDoKKyAgICAgICAgcmV0dXJuIFZLX1NFTEVDVDsgLy8gKDI5KSBTRUxFQ1Qga2V5Cisg
ICAgY2FzZSBHREtfUHJpbnQ6CisgICAgICAgIHJldHVybiBWS19QUklOVDsgLy8gKDJBKSBQUklO
VCBrZXkKKyAgICBjYXNlIEdES19FeGVjdXRlOgorICAgICAgICByZXR1cm4gVktfRVhFQ1VURTsg
Ly8gKDJCKSBFWEVDVVRFIGtleQorICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gZHVubm8g
b24gdGhpcworICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gY2FzZSBHREtfUHJpbnRTY3Jl
ZW46CisgICAgICAgICAgICAgICAgICAgICAgICAgICAvLyByZXR1cm4gVktfU05BUFNIT1Q7IC8v
ICgyQykgUFJJTlQgU0NSRUVOIGtleQorICAgIGNhc2UgR0RLX0luc2VydDoKKyAgICAgICAgcmV0
dXJuIFZLX0lOU0VSVDsgLy8gKDJEKSBJTlMga2V5CisgICAgY2FzZSBHREtfRGVsZXRlOgorICAg
ICAgICByZXR1cm4gVktfREVMRVRFOyAvLyAoMkUpIERFTCBrZXkKKyAgICBjYXNlIEdES19IZWxw
OgorICAgICAgICByZXR1cm4gVktfSEVMUDsgLy8gKDJGKSBIRUxQIGtleQorICAgIGNhc2UgR0RL
XzA6CisgICAgY2FzZSBHREtfcGFyZW5yaWdodDoKKyAgICAgICAgcmV0dXJuIFZLXzA7IC8vICgz
MCkgMCkga2V5CisgICAgY2FzZSBHREtfMToKKyAgICBjYXNlIEdES19leGNsYW06CisgICAgICAg
IHJldHVybiBWS18xOyAvLyAoMzEpIDEgISBrZXkKKyAgICBjYXNlIEdES18yOgorICAgIGNhc2Ug
R0RLX2F0OgorICAgICAgICByZXR1cm4gVktfMjsgLy8gKDMyKSAyICYga2V5CisgICAgY2FzZSBH
REtfMzoKKyAgICBjYXNlIEdES19udW1iZXJzaWduOgorICAgICAgICByZXR1cm4gVktfMzsgLy8g
Y2FzZSAnMyc6IGNhc2UgJyMnOworICAgIGNhc2UgR0RLXzQ6CisgICAgY2FzZSBHREtfZG9sbGFy
OiAvLyAoMzQpIDQga2V5ICckJzsKKyAgICAgICAgcmV0dXJuIFZLXzQ7CisgICAgY2FzZSBHREtf
NToKKyAgICBjYXNlIEdES19wZXJjZW50OgorICAgICAgICByZXR1cm4gVktfNTsgLy8gKDM1KSA1
IGtleSAgJyUnCisgICAgY2FzZSBHREtfNjoKKyAgICBjYXNlIEdES19hc2NpaWNpcmN1bToKKyAg
ICAgICAgcmV0dXJuIFZLXzY7IC8vICAoMzYpIDYga2V5ICAnXicKKyAgICBjYXNlIEdES183Ogor
ICAgIGNhc2UgR0RLX2FtcGVyc2FuZDoKKyAgICAgICAgcmV0dXJuIFZLXzc7IC8vICAoMzcpIDcg
a2V5ICBjYXNlICcmJworICAgIGNhc2UgR0RLXzg6CisgICAgY2FzZSBHREtfYXN0ZXJpc2s6Cisg
ICAgICAgIHJldHVybiBWS184OyAvLyAgKDM4KSA4IGtleSAgJyonCisgICAgY2FzZSBHREtfOToK
KyAgICBjYXNlIEdES19wYXJlbmxlZnQ6CisgICAgICAgIHJldHVybiBWS185OyAvLyAgKDM5KSA5
IGtleSAnKCcKKyAgICBjYXNlIEdES19hOgorICAgIGNhc2UgR0RLX0E6CisgICAgICAgIHJldHVy
biBWS19BOyAvLyAgKDQxKSBBIGtleSBjYXNlICdhJzogY2FzZSAnQSc6IHJldHVybiAweDQxOwor
ICAgIGNhc2UgR0RLX2I6CisgICAgY2FzZSBHREtfQjoKKyAgICAgICAgcmV0dXJuIFZLX0I7IC8v
ICAoNDIpIEIga2V5IGNhc2UgJ2InOiBjYXNlICdCJzogcmV0dXJuIDB4NDI7CisgICAgY2FzZSBH
REtfYzoKKyAgICBjYXNlIEdES19DOgorICAgICAgICByZXR1cm4gVktfQzsgLy8gICg0MykgQyBr
ZXkgY2FzZSAnYyc6IGNhc2UgJ0MnOiByZXR1cm4gMHg0MzsKKyAgICBjYXNlIEdES19kOgorICAg
IGNhc2UgR0RLX0Q6CisgICAgICAgIHJldHVybiBWS19EOyAvLyAgKDQ0KSBEIGtleSBjYXNlICdk
JzogY2FzZSAnRCc6IHJldHVybiAweDQ0OworICAgIGNhc2UgR0RLX2U6CisgICAgY2FzZSBHREtf
RToKKyAgICAgICAgcmV0dXJuIFZLX0U7IC8vICAoNDUpIEUga2V5IGNhc2UgJ2UnOiBjYXNlICdF
JzogcmV0dXJuIDB4NDU7CisgICAgY2FzZSBHREtfZjoKKyAgICBjYXNlIEdES19GOgorICAgICAg
ICByZXR1cm4gVktfRjsgLy8gICg0NikgRiBrZXkgY2FzZSAnZic6IGNhc2UgJ0YnOiByZXR1cm4g
MHg0NjsKKyAgICBjYXNlIEdES19nOgorICAgIGNhc2UgR0RLX0c6CisgICAgICAgIHJldHVybiBW
S19HOyAvLyAgKDQ3KSBHIGtleSBjYXNlICdnJzogY2FzZSAnRyc6IHJldHVybiAweDQ3OworICAg
IGNhc2UgR0RLX2g6CisgICAgY2FzZSBHREtfSDoKKyAgICAgICAgcmV0dXJuIFZLX0g7IC8vICAo
NDgpIEgga2V5IGNhc2UgJ2gnOiBjYXNlICdIJzogcmV0dXJuIDB4NDg7CisgICAgY2FzZSBHREtf
aToKKyAgICBjYXNlIEdES19JOgorICAgICAgICByZXR1cm4gVktfSTsgLy8gICg0OSkgSSBrZXkg
Y2FzZSAnaSc6IGNhc2UgJ0knOiByZXR1cm4gMHg0OTsKKyAgICBjYXNlIEdES19qOgorICAgIGNh
c2UgR0RLX0o6CisgICAgICAgIHJldHVybiBWS19KOyAvLyAgKDRBKSBKIGtleSBjYXNlICdqJzog
Y2FzZSAnSic6IHJldHVybiAweDRBOworICAgIGNhc2UgR0RLX2s6CisgICAgY2FzZSBHREtfSzoK
KyAgICAgICAgcmV0dXJuIFZLX0s7IC8vICAoNEIpIEsga2V5IGNhc2UgJ2snOiBjYXNlICdLJzog
cmV0dXJuIDB4NEI7CisgICAgY2FzZSBHREtfbDoKKyAgICBjYXNlIEdES19MOgorICAgICAgICBy
ZXR1cm4gVktfTDsgLy8gICg0QykgTCBrZXkgY2FzZSAnbCc6IGNhc2UgJ0wnOiByZXR1cm4gMHg0
QzsKKyAgICBjYXNlIEdES19tOgorICAgIGNhc2UgR0RLX006CisgICAgICAgIHJldHVybiBWS19N
OyAvLyAgKDREKSBNIGtleSBjYXNlICdtJzogY2FzZSAnTSc6IHJldHVybiAweDREOworICAgIGNh
c2UgR0RLX246CisgICAgY2FzZSBHREtfTjoKKyAgICAgICAgcmV0dXJuIFZLX047IC8vICAoNEUp
IE4ga2V5IGNhc2UgJ24nOiBjYXNlICdOJzogcmV0dXJuIDB4NEU7CisgICAgY2FzZSBHREtfbzoK
KyAgICBjYXNlIEdES19POgorICAgICAgICByZXR1cm4gVktfTzsgLy8gICg0RikgTyBrZXkgY2Fz
ZSAnbyc6IGNhc2UgJ08nOiByZXR1cm4gMHg0RjsKKyAgICBjYXNlIEdES19wOgorICAgIGNhc2Ug
R0RLX1A6CisgICAgICAgIHJldHVybiBWS19QOyAvLyAgKDUwKSBQIGtleSBjYXNlICdwJzogY2Fz
ZSAnUCc6IHJldHVybiAweDUwOworICAgIGNhc2UgR0RLX3E6CisgICAgY2FzZSBHREtfUToKKyAg
ICAgICAgcmV0dXJuIFZLX1E7IC8vICAoNTEpIFEga2V5IGNhc2UgJ3EnOiBjYXNlICdRJzogcmV0
dXJuIDB4NTE7CisgICAgY2FzZSBHREtfcjoKKyAgICBjYXNlIEdES19SOgorICAgICAgICByZXR1
cm4gVktfUjsgLy8gICg1MikgUiBrZXkgY2FzZSAncic6IGNhc2UgJ1InOiByZXR1cm4gMHg1MjsK
KyAgICBjYXNlIEdES19zOgorICAgIGNhc2UgR0RLX1M6CisgICAgICAgIHJldHVybiBWS19TOyAv
LyAgKDUzKSBTIGtleSBjYXNlICdzJzogY2FzZSAnUyc6IHJldHVybiAweDUzOworICAgIGNhc2Ug
R0RLX3Q6CisgICAgY2FzZSBHREtfVDoKKyAgICAgICAgcmV0dXJuIFZLX1Q7IC8vICAoNTQpIFQg
a2V5IGNhc2UgJ3QnOiBjYXNlICdUJzogcmV0dXJuIDB4NTQ7CisgICAgY2FzZSBHREtfdToKKyAg
ICBjYXNlIEdES19VOgorICAgICAgICByZXR1cm4gVktfVTsgLy8gICg1NSkgVSBrZXkgY2FzZSAn
dSc6IGNhc2UgJ1UnOiByZXR1cm4gMHg1NTsKKyAgICBjYXNlIEdES192OgorICAgIGNhc2UgR0RL
X1Y6CisgICAgICAgIHJldHVybiBWS19WOyAvLyAgKDU2KSBWIGtleSBjYXNlICd2JzogY2FzZSAn
Vic6IHJldHVybiAweDU2OworICAgIGNhc2UgR0RLX3c6CisgICAgY2FzZSBHREtfVzoKKyAgICAg
ICAgcmV0dXJuIFZLX1c7IC8vICAoNTcpIFcga2V5IGNhc2UgJ3cnOiBjYXNlICdXJzogcmV0dXJu
IDB4NTc7CisgICAgY2FzZSBHREtfeDoKKyAgICBjYXNlIEdES19YOgorICAgICAgICByZXR1cm4g
VktfWDsgLy8gICg1OCkgWCBrZXkgY2FzZSAneCc6IGNhc2UgJ1gnOiByZXR1cm4gMHg1ODsKKyAg
ICBjYXNlIEdES195OgorICAgIGNhc2UgR0RLX1k6CisgICAgICAgIHJldHVybiBWS19ZOyAvLyAg
KDU5KSBZIGtleSBjYXNlICd5JzogY2FzZSAnWSc6IHJldHVybiAweDU5OworICAgIGNhc2UgR0RL
X3o6CisgICAgY2FzZSBHREtfWjoKKyAgICAgICAgcmV0dXJuIFZLX1o7IC8vICAoNUEpIFoga2V5
IGNhc2UgJ3onOiBjYXNlICdaJzogcmV0dXJuIDB4NUE7CisgICAgY2FzZSBHREtfTWV0YV9MOgor
ICAgICAgICByZXR1cm4gVktfTFdJTjsgLy8gKDVCKSBMZWZ0IFdpbmRvd3Mga2V5IChNaWNyb3Nv
ZnQgTmF0dXJhbCBrZXlib2FyZCkKKyAgICBjYXNlIEdES19NZXRhX1I6CisgICAgICAgIHJldHVy
biBWS19SV0lOOyAvLyAoNUMpIFJpZ2h0IFdpbmRvd3Mga2V5IChOYXR1cmFsIGtleWJvYXJkKQor
ICAgICAgICAvLyBWS19TTEVFUCAoNUYpIENvbXB1dGVyIFNsZWVwIGtleQorICAgICAgICAvLyBW
S19TRVBBUkFUT1IgKDZDKSBTZXBhcmF0b3Iga2V5CisgICAgICAgIC8vIFZLX1NVQlRSQUNUICg2
RCkgU3VidHJhY3Qga2V5CisgICAgICAgIC8vIFZLX0RFQ0lNQUwgKDZFKSBEZWNpbWFsIGtleQor
ICAgICAgICAvLyBWS19ESVZJREUgKDZGKSBEaXZpZGUga2V5CisgICAgICAgIC8vIGhhbmRsZWQg
Ynkga2V5IGNvZGUgYWJvdmUKKworICAgIGNhc2UgR0RLX051bV9Mb2NrOgorICAgICAgICByZXR1
cm4gVktfTlVNTE9DSzsgLy8gKDkwKSBOVU0gTE9DSyBrZXkKKworICAgIGNhc2UgR0RLX1Njcm9s
bF9Mb2NrOgorICAgICAgICByZXR1cm4gVktfU0NST0xMOyAvLyAoOTEpIFNDUk9MTCBMT0NLIGtl
eQorCisgICAgICAgIC8vIFZLX0xTSElGVCAoQTApIExlZnQgU0hJRlQga2V5CisgICAgICAgIC8v
IFZLX1JTSElGVCAoQTEpIFJpZ2h0IFNISUZUIGtleQorICAgICAgICAvLyBWS19MQ09OVFJPTCAo
QTIpIExlZnQgQ09OVFJPTCBrZXkKKyAgICAgICAgLy8gVktfUkNPTlRST0wgKEEzKSBSaWdodCBD
T05UUk9MIGtleQorICAgICAgICAvLyBWS19MTUVOVSAoQTQpIExlZnQgTUVOVSBrZXkKKyAgICAg
ICAgLy8gVktfUk1FTlUgKEE1KSBSaWdodCBNRU5VIGtleQorICAgICAgICAvLyBWS19CUk9XU0VS
X0JBQ0sgKEE2KSBXaW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIgQmFjayBrZXkKKyAgICAgICAgLy8g
VktfQlJPV1NFUl9GT1JXQVJEIChBNykgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIEZvcndhcmQg
a2V5CisgICAgICAgIC8vIFZLX0JST1dTRVJfUkVGUkVTSCAoQTgpIFdpbmRvd3MgMjAwMC9YUDog
QnJvd3NlciBSZWZyZXNoIGtleQorICAgICAgICAvLyBWS19CUk9XU0VSX1NUT1AgKEE5KSBXaW5k
b3dzIDIwMDAvWFA6IEJyb3dzZXIgU3RvcCBrZXkKKyAgICAgICAgLy8gVktfQlJPV1NFUl9TRUFS
Q0ggKEFBKSBXaW5kb3dzIDIwMDAvWFA6IEJyb3dzZXIgU2VhcmNoIGtleQorICAgICAgICAvLyBW
S19CUk9XU0VSX0ZBVk9SSVRFUyAoQUIpIFdpbmRvd3MgMjAwMC9YUDogQnJvd3NlciBGYXZvcml0
ZXMga2V5CisgICAgICAgIC8vIFZLX0JST1dTRVJfSE9NRSAoQUMpIFdpbmRvd3MgMjAwMC9YUDog
QnJvd3NlciBTdGFydCBhbmQgSG9tZSBrZXkKKyAgICAgICAgLy8gVktfVk9MVU1FX01VVEUgKEFE
KSBXaW5kb3dzIDIwMDAvWFA6IFZvbHVtZSBNdXRlIGtleQorICAgICAgICAvLyBWS19WT0xVTUVf
RE9XTiAoQUUpIFdpbmRvd3MgMjAwMC9YUDogVm9sdW1lIERvd24ga2V5CisgICAgICAgIC8vIFZL
X1ZPTFVNRV9VUCAoQUYpIFdpbmRvd3MgMjAwMC9YUDogVm9sdW1lIFVwIGtleQorICAgICAgICAv
LyBWS19NRURJQV9ORVhUX1RSQUNLIChCMCkgV2luZG93cyAyMDAwL1hQOiBOZXh0IFRyYWNrIGtl
eQorICAgICAgICAvLyBWS19NRURJQV9QUkVWX1RSQUNLIChCMSkgV2luZG93cyAyMDAwL1hQOiBQ
cmV2aW91cyBUcmFjayBrZXkKKyAgICAgICAgLy8gVktfTUVESUFfU1RPUCAoQjIpIFdpbmRvd3Mg
MjAwMC9YUDogU3RvcCBNZWRpYSBrZXkKKyAgICAgICAgLy8gVktfTUVESUFfUExBWV9QQVVTRSAo
QjMpIFdpbmRvd3MgMjAwMC9YUDogUGxheS9QYXVzZSBNZWRpYSBrZXkKKyAgICAgICAgLy8gVktf
TEFVTkNIX01BSUwgKEI0KSBXaW5kb3dzIDIwMDAvWFA6IFN0YXJ0IE1haWwga2V5CisgICAgICAg
IC8vIFZLX0xBVU5DSF9NRURJQV9TRUxFQ1QgKEI1KSBXaW5kb3dzIDIwMDAvWFA6IFNlbGVjdCBN
ZWRpYSBrZXkKKyAgICAgICAgLy8gVktfTEFVTkNIX0FQUDEgKEI2KSBXaW5kb3dzIDIwMDAvWFA6
IFN0YXJ0IEFwcGxpY2F0aW9uIDEga2V5CisgICAgICAgIC8vIFZLX0xBVU5DSF9BUFAyIChCNykg
V2luZG93cyAyMDAwL1hQOiBTdGFydCBBcHBsaWNhdGlvbiAyIGtleQorCisgICAgICAgIC8vIFZL
X09FTV8xIChCQSkgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFy
eSBieSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJv
YXJkLCB0aGUgJzs6JyBrZXkKKyAgICBjYXNlIEdES19zZW1pY29sb246CisgICAgY2FzZSBHREtf
Y29sb246CisgICAgICAgIHJldHVybiBWS19PRU1fMTsgLy8gY2FzZSAnOyc6IGNhc2UgJzonOiBy
ZXR1cm4gMHhCQTsKKyAgICAgICAgLy8gVktfT0VNX1BMVVMgKEJCKSBXaW5kb3dzIDIwMDAvWFA6
IEZvciBhbnkgY291bnRyeS9yZWdpb24sIHRoZSAnKycga2V5CisgICAgY2FzZSBHREtfcGx1czoK
KyAgICBjYXNlIEdES19lcXVhbDoKKyAgICAgICAgcmV0dXJuIFZLX09FTV9QTFVTOyAvLyBjYXNl
ICc9JzogY2FzZSAnKyc6IHJldHVybiAweEJCOworICAgICAgICAvLyBWS19PRU1fQ09NTUEgKEJD
KSBXaW5kb3dzIDIwMDAvWFA6IEZvciBhbnkgY291bnRyeS9yZWdpb24sIHRoZSAnLCcga2V5Cisg
ICAgY2FzZSBHREtfY29tbWE6CisgICAgY2FzZSBHREtfbGVzczoKKyAgICAgICAgcmV0dXJuIFZL
X09FTV9DT01NQTsgLy8gY2FzZSAnLCc6IGNhc2UgJzwnOiByZXR1cm4gMHhCQzsKKyAgICAgICAg
Ly8gVktfT0VNX01JTlVTIChCRCkgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVn
aW9uLCB0aGUgJy0nIGtleQorICAgIGNhc2UgR0RLX21pbnVzOgorICAgIGNhc2UgR0RLX3VuZGVy
c2NvcmU6CisgICAgICAgIHJldHVybiBWS19PRU1fTUlOVVM7IC8vIGNhc2UgJy0nOiBjYXNlICdf
JzogcmV0dXJuIDB4QkQ7CisgICAgICAgIC8vIFZLX09FTV9QRVJJT0QgKEJFKSBXaW5kb3dzIDIw
MDAvWFA6IEZvciBhbnkgY291bnRyeS9yZWdpb24sIHRoZSAnLicga2V5CisgICAgY2FzZSBHREtf
cGVyaW9kOgorICAgIGNhc2UgR0RLX2dyZWF0ZXI6CisgICAgICAgIHJldHVybiBWS19PRU1fUEVS
SU9EOyAvLyBjYXNlICcuJzogY2FzZSAnPic6IHJldHVybiAweEJFOworICAgICAgICAvLyBWS19P
RU1fMiAoQkYpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkg
Ynkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2Fy
ZCwgdGhlICcvPycga2V5CisgICAgY2FzZSBHREtfc2xhc2g6CisgICAgY2FzZSBHREtfcXVlc3Rp
b246CisgICAgICAgIHJldHVybiBWS19PRU1fMjsgLy8gY2FzZSAnLyc6IGNhc2UgJz8nOiByZXR1
cm4gMHhCRjsKKyAgICAgICAgLy8gVktfT0VNXzMgKEMwKSBVc2VkIGZvciBtaXNjZWxsYW5lb3Vz
IGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZv
ciB0aGUgVVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnYH4nIGtleQorICAgIGNhc2UgR0RLX2Fz
Y2lpdGlsZGU6CisgICAgY2FzZSBHREtfcXVvdGVsZWZ0OgorICAgICAgICByZXR1cm4gVktfT0VN
XzM7IC8vIGNhc2UgJ2AnOiBjYXNlICd+JzogcmV0dXJuIDB4QzA7CisgICAgICAgIC8vIFZLX09F
TV80IChEQikgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBi
eSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJk
LCB0aGUgJ1t7JyBrZXkKKyAgICBjYXNlIEdES19icmFja2V0bGVmdDoKKyAgICBjYXNlIEdES19i
cmFjZWxlZnQ6CisgICAgICAgIHJldHVybiBWS19PRU1fNDsgLy8gY2FzZSAnWyc6IGNhc2UgJ3sn
OiByZXR1cm4gMHhEQjsKKyAgICAgICAgLy8gVktfT0VNXzUgKERDKSBVc2VkIGZvciBtaXNjZWxs
YW5lb3VzIGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAv
WFA6IEZvciB0aGUgVVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnXHwnIGtleQorICAgIGNhc2Ug
R0RLX2JhY2tzbGFzaDoKKyAgICBjYXNlIEdES19iYXI6CisgICAgICAgIHJldHVybiBWS19PRU1f
NTsgLy8gY2FzZSAnXFwnOiBjYXNlICd8JzogcmV0dXJuIDB4REM7CisgICAgICAgIC8vIFZLX09F
TV82IChERCkgVXNlZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBi
eSBrZXlib2FyZC4gV2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJk
LCB0aGUgJ119JyBrZXkKKyAgICBjYXNlIEdES19icmFja2V0cmlnaHQ6CisgICAgY2FzZSBHREtf
YnJhY2VyaWdodDoKKyAgICAgICAgcmV0dXJuIFZLX09FTV82OyAvLyBjYXNlICddJzogY2FzZSAn
fSc6IHJldHVybiAweEREOworICAgICAgICAvLyBWS19PRU1fNyAoREUpIFVzZWQgZm9yIG1pc2Nl
bGxhbmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAw
MC9YUDogRm9yIHRoZSBVUyBzdGFuZGFyZCBrZXlib2FyZCwgdGhlICdzaW5nbGUtcXVvdGUvZG91
YmxlLXF1b3RlJyBrZXkKKyAgICBjYXNlIEdES19xdW90ZXJpZ2h0OgorICAgIGNhc2UgR0RLX3F1
b3RlZGJsOgorICAgICAgICByZXR1cm4gVktfT0VNXzc7IC8vIGNhc2UgJ1wnJzogY2FzZSAnIic6
IHJldHVybiAweERFOworICAgICAgICAvLyBWS19PRU1fOCAoREYpIFVzZWQgZm9yIG1pc2NlbGxh
bmVvdXMgY2hhcmFjdGVyczsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuCisgICAgICAgIC8vIFZL
X09FTV8xMDIgKEUyKSBXaW5kb3dzIDIwMDAvWFA6IEVpdGhlciB0aGUgYW5nbGUgYnJhY2tldCBr
ZXkgb3IgdGhlIGJhY2tzbGFzaCBrZXkgb24gdGhlIFJUIDEwMi1rZXkga2V5Ym9hcmQKKyAgICAg
ICAgLy8gVktfUFJPQ0VTU0tFWSAoRTUpIFdpbmRvd3MgOTUvOTgvTWUsIFdpbmRvd3MgTlQgNC4w
LCBXaW5kb3dzIDIwMDAvWFA6IElNRSBQUk9DRVNTIGtleQorICAgICAgICAvLyBWS19QQUNLRVQg
KEU3KSBXaW5kb3dzIDIwMDAvWFA6IFVzZWQgdG8gcGFzcyBVbmljb2RlIGNoYXJhY3RlcnMgYXMg
aWYgdGhleSB3ZXJlIGtleXN0cm9rZXMuIFRoZSBWS19QQUNLRVQga2V5IGlzIHRoZSBsb3cgd29y
ZCBvZiBhIDMyLWJpdCBWaXJ0dWFsIEtleSB2YWx1ZSB1c2VkIGZvciBub24ta2V5Ym9hcmQgaW5w
dXQgbWV0aG9kcy4gRm9yIG1vcmUgaW5mb3JtYXRpb24sIHNlZSBSZW1hcmsgaW4gS0VZQkRJTlBV
VCxTZW5kSW5wdXQsIFdNX0tFWURPV04sIGFuZCBXTV9LRVlVUAorICAgICAgICAvLyBWS19BVFRO
IChGNikgQXR0biBrZXkKKyAgICAgICAgLy8gVktfQ1JTRUwgKEY3KSBDclNlbCBrZXkKKyAgICAg
ICAgLy8gVktfRVhTRUwgKEY4KSBFeFNlbCBrZXkKKyAgICAgICAgLy8gVktfRVJFT0YgKEY5KSBF
cmFzZSBFT0Yga2V5CisgICAgICAgIC8vIFZLX1BMQVkgKEZBKSBQbGF5IGtleQorICAgICAgICAv
LyBWS19aT09NIChGQikgWm9vbSBrZXkKKyAgICAgICAgLy8gVktfTk9OQU1FIChGQykgUmVzZXJ2
ZWQgZm9yIGZ1dHVyZSB1c2UKKyAgICAgICAgLy8gVktfUEExIChGRCkgUEExIGtleQorICAgICAg
ICAvLyBWS19PRU1fQ0xFQVIgKEZFKSBDbGVhciBrZXkKKyAgICBjYXNlIEdES19GMToKKyAgICBj
YXNlIEdES19GMjoKKyAgICBjYXNlIEdES19GMzoKKyAgICBjYXNlIEdES19GNDoKKyAgICBjYXNl
IEdES19GNToKKyAgICBjYXNlIEdES19GNjoKKyAgICBjYXNlIEdES19GNzoKKyAgICBjYXNlIEdE
S19GODoKKyAgICBjYXNlIEdES19GOToKKyAgICBjYXNlIEdES19GMTA6CisgICAgY2FzZSBHREtf
RjExOgorICAgIGNhc2UgR0RLX0YxMjoKKyAgICBjYXNlIEdES19GMTM6CisgICAgY2FzZSBHREtf
RjE0OgorICAgIGNhc2UgR0RLX0YxNToKKyAgICBjYXNlIEdES19GMTY6CisgICAgY2FzZSBHREtf
RjE3OgorICAgIGNhc2UgR0RLX0YxODoKKyAgICBjYXNlIEdES19GMTk6CisgICAgY2FzZSBHREtf
RjIwOgorICAgIGNhc2UgR0RLX0YyMToKKyAgICBjYXNlIEdES19GMjI6CisgICAgY2FzZSBHREtf
RjIzOgorICAgIGNhc2UgR0RLX0YyNDoKKyAgICAgICAgcmV0dXJuIFZLX0YxICsgKGtleWNvZGUg
LSBHREtfRjEpOworCisgICAgZGVmYXVsdDoKKyAgICAgICAgcmV0dXJuIDA7CisgICAgfQorCit9
CisKKy8vIFRha2VuIGZyb20gS2V5RXZlbnRHdGsuY3BwCitzdGF0aWMgU3RyaW5nIHNpbmdsZUNo
YXJhY3RlclN0cmluZyhndWludCB2YWwpCit7CisgICAgc3dpdGNoICh2YWwpIHsKKyAgICBjYXNl
IEdES19JU09fRW50ZXI6CisgICAgY2FzZSBHREtfS1BfRW50ZXI6CisgICAgY2FzZSBHREtfUmV0
dXJuOgorICAgICAgICByZXR1cm4gU3RyaW5nKCJcciIpOworICAgIGNhc2UgR0RLX0JhY2tTcGFj
ZToKKyAgICAgICAgcmV0dXJuIFN0cmluZygiXHg4Iik7CisgICAgY2FzZSBHREtfVGFiOgorICAg
ICAgICByZXR1cm4gU3RyaW5nKCJcdCIpOworICAgIGRlZmF1bHQ6CisgICAgICAgIGd1bmljaGFy
IGMgPSBnZGtfa2V5dmFsX3RvX3VuaWNvZGUodmFsKTsKKyAgICAgICAgZ2xvbmcgbndjOworICAg
ICAgICBndW5pY2hhcjIqIHVjaGFyMTYgPSBnX3VjczRfdG9fdXRmMTYoJmMsIDEsIDAsICZud2Ms
IDApOworCisgICAgICAgIFN0cmluZyByZXRWYWw7CisgICAgICAgIGlmICh1Y2hhcjE2KQorICAg
ICAgICAgICAgcmV0VmFsID0gU3RyaW5nKChVQ2hhciopdWNoYXIxNiwgbndjKTsKKyAgICAgICAg
ZWxzZQorICAgICAgICAgICAgcmV0VmFsID0gU3RyaW5nKCk7CisKKyAgICAgICAgZ19mcmVlKHVj
aGFyMTYpOworCisgICAgICAgIHJldHVybiByZXRWYWw7CisgICAgfQorfQorCitzdGF0aWMgaW5s
aW5lIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZpZXJzRm9yQ3VycmVudEtleVN0YXRlKGd1aW50
IHN0YXRlKQoreworICAgIHVuc2lnbmVkIG1vZGlmaWVycyA9IDA7CisgICAgaWYgKHN0YXRlICYg
R0RLX0NPTlRST0xfTUFTSykKKyAgICAgICAgbW9kaWZpZXJzIHw9IFdlYkV2ZW50OjpDb250cm9s
S2V5OworICAgIGlmICgoc3RhdGUgJiBHREtfU0hJRlRfTUFTSykgfHwgKHN0YXRlID09IEdES18z
MjcwX0JhY2tUYWIpKQorICAgICAgICBtb2RpZmllcnMgfD0gV2ViRXZlbnQ6OlNoaWZ0S2V5Owor
ICAgIGlmIChzdGF0ZSAmIEdES19NT0QxX01BU0spCisgICAgICAgIG1vZGlmaWVycyB8PSBXZWJF
dmVudDo6QWx0S2V5OworICAgIGlmIChzdGF0ZSAmIEdES19NRVRBX01BU0spCisgICAgICAgIG1v
ZGlmaWVycyB8PSBXZWJFdmVudDo6TWV0YUtleTsKKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8V2Vi
RXZlbnQ6Ok1vZGlmaWVycz4obW9kaWZpZXJzKTsKKworfQorCitXZWJLZXlib2FyZEV2ZW50IFdl
YkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2ViS2V5Ym9hcmRFdmVudChHZGtFdmVudEtleSogZXZlbnQp
Cit7CisgICAgV2ViRXZlbnQ6OlR5cGUgdHlwZSAgICAgICAgICAgICA9IChldmVudC0+dHlwZSA9
PSBHREtfS0VZX1JFTEVBU0UpID8gV2ViRXZlbnQ6OktleVVwIDogV2ViRXZlbnQ6OktleURvd247
IAorICAgIFN0cmluZyB0ZXh0ICAgICAgICAgICAgICAgICAgICAgPSBzaW5nbGVDaGFyYWN0ZXJT
dHJpbmcoZXZlbnQtPmtleXZhbCk7CisgICAgU3RyaW5nIHVubW9kaWZpZWRUZXh0ICAgICAgICAg
ICA9IHNpbmdsZUNoYXJhY3RlclN0cmluZyhldmVudC0+a2V5dmFsKTsKKyAgICBTdHJpbmcga2V5
SWRlbnRpZmllciAgICAgICAgICAgID0ga2V5SWRlbnRpZmllckZvckdka0tleUNvZGUoZXZlbnQt
PmtleXZhbCk7CisgICAgaW50IHdpbmRvd3NWaXJ0dWFsS2V5Q29kZSAgICAgICA9IHdpbmRvd3NL
ZXlDb2RlRm9yS2V5RXZlbnQoZXZlbnQtPmtleXZhbCk7CisgICAgaW50IG5hdGl2ZVZpcnR1YWxL
ZXlDb2RlICAgICAgICA9IHN0YXRpY19jYXN0PGludD4oZXZlbnQtPmtleXZhbCk7CisgICAgYm9v
bCBhdXRvUmVwZWF0ICAgICAgICAgICAgICAgICA9IGZhbHNlOyAKKyAgICBib29sIGlzS2V5cGFk
ICAgICAgICAgICAgICAgICAgID0gZXZlbnQtPmtleXZhbCA+PSBHREtfS1BfU3BhY2UgJiYgZXZl
bnQtPmtleXZhbCA8PSBHREtfS1BfOTsKKyAgICBib29sIGlzU3lzdGVtS2V5ICAgICAgICAgICAg
ICAgID0gZmFsc2U7CisgICAgV2ViRXZlbnQ6Ok1vZGlmaWVycyBtb2RpZmllcnMgICA9IG1vZGlm
aWVyc0ZvckN1cnJlbnRLZXlTdGF0ZShldmVudC0+c3RhdGUpOworICAgIGRvdWJsZSB0aW1lc3Rh
bXAgICAgICAgICAgICAgICAgID0gZXZlbnQtPnRpbWU7CisgICAgcmV0dXJuIFdlYktleWJvYXJk
RXZlbnQodHlwZSwgdGV4dCwgdW5tb2RpZmllZFRleHQsIGtleUlkZW50aWZpZXIsIHdpbmRvd3NW
aXJ0dWFsS2V5Q29kZSwgbmF0aXZlVmlydHVhbEtleUNvZGUsIGF1dG9SZXBlYXQsIGlzS2V5cGFk
LCBpc1N5c3RlbUtleSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApOworfQorCit9CkluZGV4OiBXZWJL
aXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9T
aGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ4IEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJFdmVudEZhY3Rvcnlf
aAorI2RlZmluZSBXZWJFdmVudEZhY3RvcnlfaAorCisjaW5jbHVkZSAiV2ViRXZlbnQuaCIKKwor
I2luY2x1ZGUgPGdkay9nZGsuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKKyAgICAvLyBGSVhN
RTogVGhpcyBpcyBub3QgbmVlZGVkIGluIHRoZSBXZWJQcm9jZXNzIGFuZCBzaG91bGQgYmUgbW92
ZWQgdG8gYmUgYSBwZWVyCisgICAgLy8gb2YgV0tWaWV3IG9yIHJlbW92ZWQgYWx0b2dldGhlciBp
biBmYXZvciBvZiB1c2luZyBQbGF0Zm9ybUV2ZW50cyBldmVyeXdoZXJlLgorCitjbGFzcyBXZWJF
dmVudEZhY3RvcnkgeworICAgIHB1YmxpYzoKKyAgICAgICAgc3RhdGljIFdlYk1vdXNlRXZlbnQg
Y3JlYXRlV2ViTW91c2VFdmVudChHZGtFdmVudEFueSogZXZlbnQpOworICAgICAgICBzdGF0aWMg
V2ViV2hlZWxFdmVudCBjcmVhdGVXZWJXaGVlbEV2ZW50KEdka0V2ZW50U2Nyb2xsICpldmVudCk7
CisgICAgICAgIHN0YXRpYyBXZWJLZXlib2FyZEV2ZW50IGNyZWF0ZVdlYktleWJvYXJkRXZlbnQo
R2RrRXZlbnRLZXkqIGV2ZW50KTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gV2ViRXZlbnRGYWN0b3J5X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRV
cGRhdGVEcmF3aW5nQXJlYVByb3h5LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vz
cy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHAJKHJldmlzaW9uIDcwMDk4KQorKysg
V2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTQ3LDYgKzQ4LDkgQEAgQ2h1bmtlZFVwZGF0ZURy
YXdpbmdBcmVhUHJveHk6OkNodW5rZWRVcAogICAgICwgbV9pc1dhaXRpbmdGb3JEaWRTZXRGcmFt
ZU5vdGlmaWNhdGlvbihmYWxzZSkKICAgICAsIG1faXNWaXNpYmxlKHRydWUpCiAgICAgLCBtX2Zv
cmNlUmVwYWludFdoZW5SZXN1bWluZ1BhaW50aW5nKGZhbHNlKQorI2lmIFBMQVRGT1JNKEdUSykK
KyAgICAsIG1fYmFja2luZ1N0b3JlQml0bWFwKDApCisjZW5kaWYKICAgICAsIG1fd2ViVmlldyh3
ZWJWaWV3KQogewogfQpAQCAtMTMwLDYgKzEzNCw5IEBAIHZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhUHJveHk6OmRpZFMKICAgICAgICAgZHJhd1VwZGF0ZUNodW5rSW50b0JhY2tpbmdTdG9y
ZSh1cGRhdGVDaHVuayk7CiAKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7
CisjaWYgUExBVEZPUk0oR1RLKQorICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJl
YU1lc3NhZ2U6OkRpZFNldFNpemVEb25lLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5m
bygpLmlkLCB1cGRhdGVDaHVuay0+eElEKCkpKTsKKyNlbmRpZgogICAgIHBhZ2UtPnByb2Nlc3Mo
KS0+cmVzcG9uc2l2ZW5lc3NUaW1lcigpLT5zdG9wKCk7CiB9CiAKQEAgLTE0Niw3ICsxNTMsMTEg
QEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6dXBkYQogICAgIH0KIAogICAg
IFdlYlBhZ2VQcm94eSogcGFnZSA9IHRoaXMtPnBhZ2UoKTsKKyNpZiBQTEFURk9STShHVEspCisg
ICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkVXBkYXRlLCBw
YWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkLCB1cGRhdGVDaHVuay0+eElEKCkp
KTsKKyNlbHNlCiAgICAgcGFnZS0+cHJvY2VzcygpLT5zZW5kKERyYXdpbmdBcmVhTWVzc2FnZTo6
RGlkVXBkYXRlLCBwYWdlLT5wYWdlSUQoKSwgQ29yZUlQQzo6SW4oaW5mbygpLmlkKSk7CisjZW5k
aWYKIH0KIAogdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6ZGlkUmVjZWl2ZU1l
c3NhZ2UoQ29yZUlQQzo6Q29ubmVjdGlvbiosIENvcmVJUEM6Ok1lc3NhZ2VJRCBtZXNzYWdlSUQs
IENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogYXJndW1lbnRzKQpJbmRleDogV2ViS2l0Mi9VSVBy
b2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuaAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJL
aXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oCShyZXZpc2lvbiA3
MDA5OCkKKysrIFdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5
LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
ICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMsOCArMjQsOCBAQAogICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgogICovCiAKLSNpZm5kZWYgRHJhd2luZ0FyZWFQ
cm94eVVwZGF0ZUNodW5rX2gKLSNkZWZpbmUgRHJhd2luZ0FyZWFQcm94eVVwZGF0ZUNodW5rX2gK
KyNpZm5kZWYgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHlfaAorI2RlZmluZSBDaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWFQcm94eV9oCiAKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5Lmgi
CiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CkBAIC01Myw2ICs1NCw5IEBAIGNsYXNzIFdl
YlZpZXc7CiB0eXBlZGVmIFdlYlZpZXcgUGxhdGZvcm1XZWJWaWV3OwogI2VsaWYgUExBVEZPUk0o
UVQpCiB0eXBlZGVmIFFHcmFwaGljc1dLVmlldyBQbGF0Zm9ybVdlYlZpZXc7CisjZWxpZiBQTEFU
Rk9STShHVEspCitjbGFzcyBXZWJWaWV3OwordHlwZWRlZiBXZWJWaWV3IFBsYXRmb3JtV2ViVmll
dzsKICNlbmRpZgogCiBjbGFzcyBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eSA6IHB1Ymxp
YyBEcmF3aW5nQXJlYVByb3h5IHsKQEAgLTEwMCw2ICsxMDQsOSBAQCBwcml2YXRlOgogICAgIE93
blB0cjxIQklUTUFQPiBtX2JhY2tpbmdTdG9yZUJpdG1hcDsKICNlbGlmIFBMQVRGT1JNKFFUKQog
ICAgIFFJbWFnZSBtX2JhY2tpbmdTdG9yZUltYWdlOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAg
IC8vIGJhY2tpbmdTdG9yZQorICAgIEdka1BpeG1hcCogbV9iYWNraW5nU3RvcmVCaXRtYXA7CiAj
ZW5kaWYKIAogICAgIFBsYXRmb3JtV2ViVmlldyogbV93ZWJWaWV3OwpJbmRleDogV2ViS2l0Mi9V
SVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuaAkocmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1VJUHJv
Y2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBACiAv
KgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAt
MjcsNiArMjgsOSBAQAogI2RlZmluZSBEcmF3aW5nQXJlYVByb3h5X2gKIAogI2luY2x1ZGUgIkRy
YXdpbmdBcmVhQmFzZS5oIgorI2lmIFBMQVRGT1JNKEdUSykKKyNpbmNsdWRlIDxndGsvZ3RrLmg+
CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFFUKQogY2xhc3MgUVBhaW50ZXI7CkBAIC00MCw2ICs0
NCw4IEBAIHR5cGVkZWYgQ0dDb250ZXh0UmVmIFBsYXRmb3JtRHJhd2luZ0NvbnQKIHR5cGVkZWYg
SERDIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQ7CiAjZWxpZiBQTEFURk9STShRVCkKIHR5cGVkZWYg
UVBhaW50ZXIqIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQ7CisjZWxpZiBQTEFURk9STShHVEspCit0
eXBlZGVmIEdka1dpbmRvdyogUGxhdGZvcm1EcmF3aW5nQ29udGV4dDsKICNlbmRpZgogCiBjbGFz
cyBEcmF3aW5nQXJlYVByb3h5IDogcHVibGljIERyYXdpbmdBcmVhQmFzZSB7CkluZGV4OiBXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAkocmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAK
IC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC0xNTEsNCArMTUyLDcgQEAgaW5saW5lIEZpbmRPcHRpb25zIHRvRmluZE9wdGlvbnMoV0tGaW5k
TwogI2luY2x1ZGUgIldLQVBJQ2FzdFdpbi5oIgogI2VuZGlmCiAKKyNpZiBkZWZpbmVkKEJVSUxE
SU5HX0dUS19fKQorI2luY2x1ZGUgIldLQVBJQ2FzdEd0ay5oIgorI2VuZGlmCiAjZW5kaWYgLy8g
V0tBUElDYXN0X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS0FQSUNhc3RH
dGsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tBUElDYXN0
R3RrLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tBUElD
YXN0R3RrLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDIgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29w
eXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdLQVBJQ2FzdEd0a19oCisjZGVmaW5lIFdLQVBJQ2Fz
dEd0a19oCisKKyNpZm5kZWYgV0tBUElDYXN0X2gKKyNlcnJvciAiUGxlYXNlICNpbmNsdWRlIFwi
V0tBUElDYXN0LmhcIiBpbnN0ZWFkIG9mIHRoaXMgZmlsZSBkaXJlY3RseS4iCisjZW5kaWYKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFdlYlZpZXc7CisKK1dLX0FERF9BUElfTUFQUElO
RyhXS1ZpZXdSZWYsIFdlYlZpZXcpCisKK30KKworI2VuZGlmIC8vIFdLQVBJQ2FzdEd0a19oCklu
ZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmNwcAkocmV2aXNpb24gMCkKKysr
IFdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuY3BwCShyZXZpc2lvbiAwKQpAQCAt
MCwwICsxLDY5IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUg
IldLVmlldy5oIgorCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJXS0FQ
SUNhc3QuaCIKKyNpbmNsdWRlICJXZWJWaWV3LmgiCisjaW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIu
aD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJLaXQ7Cit1
c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworV0tWaWV3UmVmIFdLVmlld0NyZWF0ZShHZGtSZWN0
YW5nbGUgcmVjdCwgV0tQYWdlTmFtZXNwYWNlUmVmIHBhZ2VOYW1lc3BhY2VSZWYsIEd0a1dpZGdl
dCogaG9zdFdpbmRvdykKK3sKKyAgICBSZWZQdHI8V2ViVmlldz4gdmlldyA9IFdlYlZpZXc6OmNy
ZWF0ZShyZWN0LCB0b0ltcGwocGFnZU5hbWVzcGFjZVJlZiksIGhvc3RXaW5kb3cpOworICAgIHJl
dHVybiB0b0FQSSh2aWV3LnJlbGVhc2UoKS5yZWxlYXNlUmVmKCkpOworfQorCitHdGtXaWRnZXQq
IFdLVmlld0dldFdpbmRvdyhXS1ZpZXdSZWYgdmlld1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBs
KHZpZXdSZWYpLT53aW5kb3coKTsKK30KKworR3RrV2lkZ2V0KiBXS1ZpZXdHZXRIb3N0V2luZG93
KFdLVmlld1JlZiB2aWV3UmVmKQoreworICAgIHJldHVybiB0b0ltcGwodmlld1JlZiktPmhvc3RX
aW5kb3coKTsKK30KKworV0tQYWdlUmVmIFdLVmlld0dldFBhZ2UoV0tWaWV3UmVmIHZpZXdSZWYp
Cit7CisgICAgcmV0dXJuIHRvQVBJKHRvSW1wbCh2aWV3UmVmKS0+cGFnZSgpKTsKK30KKwordm9p
ZCBXS1ZpZXdTZXRIb3N0V2luZG93KFdLVmlld1JlZiB2aWV3UmVmLCBHdGtXaWRnZXQqIGhvc3RX
aW5kb3cpCit7CisgICAgdG9JbXBsKHZpZXdSZWYpLT5zZXRIb3N0V2luZG93KGhvc3RXaW5kb3cp
OworfQorCitXS1VSTFJlZiBXS1VSTENyZWF0ZVdpdGhVUkwoY29uc3QgY2hhciogdXJsKQorewor
ICAgIFN0cmluZyB1cmxTdHJpbmcodXJsKTsKKyAgICBSZWZQdHI8U3RyaW5nSW1wbD4gdXJsU3Ry
aW5nSW1wbCA9IHVybFN0cmluZy5pbXBsKCk7CisgICAgcmV0dXJuIHRvVVJMUmVmKHVybFN0cmlu
Z0ltcGwucmVsZWFzZSgpLnJlbGVhc2VSZWYoKSk7Cit9CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9ndGsvV0tWaWV3LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvZ3RrL1dLVmlldy5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
Z3RrL1dLVmlldy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUxIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25z
IENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJF
U1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5U
IFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgor
ICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywg
UFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAq
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5D
RSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0Yg
VEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS1ZpZXdfaAorI2RlZmluZSBXS1ZpZXdfaAor
CisjaW5jbHVkZSA8V2ViS2l0Mi9XS0Jhc2UuaD4KKyNpbmNsdWRlIDxndGsvZ3RrLmg+CisKKyNp
ZmRlZiBfX2NwbHVzcGx1cworZXh0ZXJuICJDIiB7CisjZW5kaWYKKworV0tfRVhQT1JUIFdLVmll
d1JlZiBXS1ZpZXdDcmVhdGUoR2RrUmVjdGFuZ2xlIHJlY3QsIFdLUGFnZU5hbWVzcGFjZVJlZiBw
YWdlTmFtZXNwYWNlLCBHdGtXaWRnZXQgKiBob3N0V2luZG93KTsKKworV0tfRVhQT1JUIEd0a1dp
ZGdldCogV0tWaWV3R2V0V2luZG93KFdLVmlld1JlZiB2aWV3KTsKK1dLX0VYUE9SVCBHdGtXaWRn
ZXQqIFdLVmlld0dldEhvc3RXaW5kb3coV0tWaWV3UmVmIHZpZXcpOworCitXS19FWFBPUlQgV0tQ
YWdlUmVmIFdLVmlld0dldFBhZ2UoV0tWaWV3UmVmIHZpZXcpOworCitXS19FWFBPUlQgdm9pZCBX
S1ZpZXdTZXRIb3N0V2luZG93KFdLVmlld1JlZiB2aWV3LCBHdGtXaWRnZXQqIGhvc3RXaW5kb3cp
OworCitXS19FWFBPUlQgV0tVUkxSZWYgV0tVUkxDcmVhdGVXaXRoVVJMKGNvbnN0IGNoYXIqKTsK
KyNpZmRlZiBfX2NwbHVzcGx1cworfQorI2VuZGlmCisKKyNlbmRpZiAvKiBXS1ZpZXdfaCAqLwpJ
bmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NM
YXVuY2hlckd0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hl
ci9ndGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NCBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBNT1RPUk9MQSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBNT1RPUk9MQSBJTkMuIE9SIElUUyBDT05UUklCVVRP
UlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQ
RUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RT
IE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MK
KyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9S
VCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkg
V0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgor
ICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJQcm9j
ZXNzTGF1bmNoZXIuaCIKKworI2luY2x1ZGUgIkNvbm5lY3Rpb24uaCIKKyNpbmNsdWRlICJOb3RJ
bXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIlJ1bkxvb3AuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNz
LmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL1BsYXRmb3JtU3RyaW5nLmg+CisjaW5jbHVkZSA8V2Vi
Q29yZS9SZXNvdXJjZUhhbmRsZS5oPgorI2luY2x1ZGUgPHJ1bnRpbWUvSW5pdGlhbGl6ZVRocmVh
ZGluZy5oPgorI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4KKyNpbmNsdWRlIDx3dGYvdGV4dC9D
U3RyaW5nLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworI2RlZmluZSBXRUJLSVRfV0VCX1BST0NFU1NfTkFNRSAiV2ViS2l0V2ViUHJvY2VzcyIg
CisjZGVmaW5lIFdFQktJVF9XRUJfUFJPQ0VTU19QQVRIICIvdXNyL2xvY2FsL2Jpbi9XZWJLaXRX
ZWJQcm9jZXNzIiAKKwordm9pZCBQcm9jZXNzTGF1bmNoZXI6OmxhdW5jaFByb2Nlc3MoKQorewor
ICAgIHBpZF90IHBpZCA9IDA7CisKKyAgICBpbnQgc29ja2V0c1syXTsKKyAgICBpZiAoc29ja2V0
cGFpcihBRl9VTklYLCBTT0NLX1NUUkVBTSwgMCwgc29ja2V0cykgPCAwKSAKKyAgICAgICAgcmV0
dXJuOworCisgICAgU3RyaW5nIGNvbW1hbmRMaW5lKFdFQktJVF9XRUJfUFJPQ0VTU19QQVRIKTsK
KyAgICBwaWQgPSBmb3JrKCk7CisgICAgaWYgKCFwaWQpIHsgLy8gY2hpbGQgcHJvY2VzcworICAg
ICAgICBjbG9zZShzb2NrZXRzWzFdKTsKKyAgICAgICAgU3RyaW5nIHNvY2tldCA9IFN0cmluZzo6
Zm9ybWF0KCIlZCIsIHNvY2tldHNbMF0pOworICAgICAgICBleGVjbChjb21tYW5kTGluZS51dGY4
KCkuZGF0YSgpLCBXRUJLSVRfV0VCX1BST0NFU1NfTkFNRSwgc29ja2V0LnV0ZjgoKS5kYXRhKCks
IChjaGFyKikwKTsKKyAgICB9IGVsc2UgaWYgKHBpZCA+IDApIHsgLy8gcGFyZW50IHByb2Nlc3MK
KyAgICAgICAgY2xvc2Uoc29ja2V0c1swXSk7CisgICAgICAgIG1fcHJvY2Vzc0lkZW50aWZpZXIg
PSBwaWQ7CisgICAgICAgIC8vIFdlJ3ZlIGZpbmlzaGVkIGxhdW5jaGluZyB0aGUgcHJvY2Vzcywg
bWVzc2FnZSBiYWNrIHRvIHRoZSBtYWluIHJ1biBsb29wLgorICAgICAgICBSdW5Mb29wOjptYWlu
KCktPnNjaGVkdWxlV29yayhXb3JrSXRlbTo6Y3JlYXRlKHRoaXMsICZQcm9jZXNzTGF1bmNoZXI6
OmRpZEZpbmlzaExhdW5jaGluZ1Byb2Nlc3MsIHBpZCwgc29ja2V0c1sxXSkpOworICAgIH0gZWxz
ZSB7CisgICAgICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH0KK30KKwordm9pZCBQcm9j
ZXNzTGF1bmNoZXI6OnRlcm1pbmF0ZVByb2Nlc3MoKQoreyAgIAorICAgIGlmICghbV9wcm9jZXNz
SWRlbnRpZmllcikKKyAgICAgICAgcmV0dXJuOworCisgICAga2lsbChtX3Byb2Nlc3NJZGVudGlm
aWVyLCBTSUdLSUxMKTsKK30KKwordm9pZCBQcm9jZXNzTGF1bmNoZXI6OnBsYXRmb3JtSW52YWxp
ZGF0ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2Vi
S2l0CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvVGhyZWFkTGF1bmNoZXJH
dGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9UaHJl
YWRMYXVuY2hlckd0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlci9ndGsvVGhyZWFkTGF1bmNoZXJHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQx
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIlRocmVhZExh
dW5jaGVyLmgiCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCit1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK0NvcmVJUEM6OkNvbm5lY3Rpb246
OklkZW50aWZpZXIgVGhyZWFkTGF1bmNoZXI6OmNyZWF0ZVdlYlRocmVhZCgpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gLTE7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb1N0b3JlR3Rr
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5J
bmZvU3RvcmVHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9ndGsvUGx1Z2luSW5mb1N0b3JlR3RrLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2NyBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIElu
Yy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKworI2luY2x1ZGUgIlBsdWdpbklu
Zm9TdG9yZS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJQbHVn
aW5EYXRhYmFzZS5oIgorI2luY2x1ZGUgIlBsdWdpblBhY2thZ2UuaCIKKwordXNpbmcgbmFtZXNw
YWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitWZWN0b3I8U3RyaW5nPiBQbHVn
aW5JbmZvU3RvcmU6OnBsdWdpbnNEaXJlY3RvcmllcygpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKKyAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKK30KKworVmVjdG9yPFN0cmluZz4gUGx1
Z2luSW5mb1N0b3JlOjpwbHVnaW5QYXRoc0luRGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyZWN0
b3J5KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+
KCk7Cit9CisKK1ZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6aW5kaXZpZHVhbFBsdWdp
blBhdGhzKCkKK3sKKyAgICByZXR1cm4gVmVjdG9yPFN0cmluZz4oKTsKK30KKworYm9vbCBQbHVn
aW5JbmZvU3RvcmU6OmdldFBsdWdpbkluZm8oY29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVn
aW4mIHBsdWdpbikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsK
K30KKworYm9vbCBQbHVnaW5JbmZvU3RvcmU6OnNob3VsZFVzZVBsdWdpbihjb25zdCBQbHVnaW4m
IHBsdWdpbiwgY29uc3QgVmVjdG9yPFBsdWdpbj4mIGxvYWRlZFBsdWdpbnMpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJl
YVByb3h5R3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvQ2h1bmtl
ZFVwZGF0ZURyYXdpbmdBcmVhUHJveHlHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9V
SVByb2Nlc3MvZ3RrL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5R3RrLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw4OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KworI2luY2x1ZGUgIkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmgiCisKKyNpbmNsdWRl
ICJVcGRhdGVDaHVuay5oIgorI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgorI2luY2x1ZGUg
IldlYlZpZXcuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitXZWJQYWdlUHJveHkqIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpwYWdl
KCkKK3sKKyAgICByZXR1cm4gbV93ZWJWaWV3LT5wYWdlKCk7Cit9CisKK3ZvaWQgQ2h1bmtlZFVw
ZGF0ZURyYXdpbmdBcmVhUHJveHk6OmVuc3VyZUJhY2tpbmdTdG9yZSgpCit7CisgICAgaWYgKG1f
YmFja2luZ1N0b3JlQml0bWFwKQorICAgICAgICByZXR1cm47CisKKyAgICBtX2JhY2tpbmdTdG9y
ZUJpdG1hcCA9IGdka19waXhtYXBfbmV3KG1fd2ViVmlldy0+d2luZG93KCktPndpbmRvdywgbV92
aWV3U2l6ZS53aWR0aCgpLCBtX3ZpZXdTaXplLmhlaWdodCgpLCAtMSk7Cit9CisKK3ZvaWQgQ2h1
bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6OmludmFsaWRhdGVCYWNraW5nU3RvcmUoKQorewor
ICAgIGlmIChtX2JhY2tpbmdTdG9yZUJpdG1hcCkgeworICAgICAgICBnX29iamVjdF91bnJlZiht
X2JhY2tpbmdTdG9yZUJpdG1hcCk7CisgICAgICAgIG1fYmFja2luZ1N0b3JlQml0bWFwID0gMDsK
KyAgICB9Cit9CisKK3ZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6OnBsYXRmb3Jt
UGFpbnQoY29uc3QgSW50UmVjdCYgcmVjdCwgR2RrV2luZG93KiB3aW5kb3cpCit7CisgICAgaWYg
KCFtX2JhY2tpbmdTdG9yZUJpdG1hcCkKKyAgICAgICAgcmV0dXJuOworCisgICAgR2RrR0MqIGdj
ID0gZ2RrX2djX25ldyhtX2JhY2tpbmdTdG9yZUJpdG1hcCk7CisgICAgLy8gQml0Qmx0IGZyb20g
dGhlIGJhY2tpbmctc3RvcmUgdG8gdGhlIHdpbmRvdy4KKyAgICBnZGtfZHJhd19kcmF3YWJsZSh3
aW5kb3csIGdjLCBtX2JhY2tpbmdTdG9yZUJpdG1hcCwgcmVjdC54KCksIHJlY3QueSgpLCByZWN0
LngoKSwgcmVjdC55KCksIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSk7CisgICAgZ19vYmpl
Y3RfdW5yZWYoZ2MpOworCit9CisKK3ZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6
OmRyYXdVcGRhdGVDaHVua0ludG9CYWNraW5nU3RvcmUoVXBkYXRlQ2h1bmsqIHVwZGF0ZUNodW5r
KQoreworICAgIGVuc3VyZUJhY2tpbmdTdG9yZSgpOworICAgIEludFJlY3QgcmVjdCA9IHVwZGF0
ZUNodW5rLT5yZWN0KCk7CisgICAgaWYgKCF1cGRhdGVDaHVuay0+bWVtb3J5KCkpCisgICAgICAg
IHJldHVybjsKKworICAgIEdka1JlY3RhbmdsZSBnZGtSZWN0ID0gcmVjdDsKKworICAgIEdka0dD
KiBnYyA9IGdka19nY19uZXcodXBkYXRlQ2h1bmstPm1lbW9yeSgpKTsKKyAgICBnZGtfZHJhd19k
cmF3YWJsZShtX2JhY2tpbmdTdG9yZUJpdG1hcCwgZ2MsIHVwZGF0ZUNodW5rLT5tZW1vcnkoKSwg
MCwgMCwgcmVjdC54KCksIHJlY3QueSgpLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkpOwor
ICAgIGdka19kaXNwbGF5X3N5bmMoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQoKSk7CisgICAgZ19v
YmplY3RfdW5yZWYodXBkYXRlQ2h1bmstPm1lbW9yeSgpKTsKKworICAgIGdka193aW5kb3dfaW52
YWxpZGF0ZV9yZWN0KG1fd2ViVmlldy0+d2luZG93KCktPndpbmRvdywgJmdka1JlY3QsIGZhbHNl
KTsKK30KKworfSAKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAJ
KHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj
KSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgIldlYkNvbnRleHQuaCIKKworI2luY2x1ZGUgIkFwcGxpY2F0aW9uQ2Fj
aGVTdG9yYWdlLmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIFdl
YktpdCB7CisKK1dURjo6U3RyaW5nIFdlYkNvbnRleHQ6OmFwcGxpY2F0aW9uQ2FjaGVEaXJlY3Rv
cnkoKQoreworICAgIHJldHVybiBXZWJDb3JlOjpjYWNoZVN0b3JhZ2UoKS5jYWNoZURpcmVjdG9y
eSgpOworfQorCit2b2lkIFdlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3Mo
V2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycyYpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXcuY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3LmNwcAkocmV2aXNpb24gMCkKKysrIFdl
YktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwz
MzQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiV2ViVmll
dy5oIgorCisjaW5jbHVkZSAiQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuaCIKKyNpbmNs
dWRlICJOYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgiCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKyNpbmNsdWRlICJQbGF0Zm9ybVN0cmluZy5oIgorI2luY2x1ZGUgIldlYkV2ZW50RmFjdG9y
eS5oIgorI2luY2x1ZGUgIldlYlBhZ2VOYW1lc3BhY2UuaCIKKyNpbmNsdWRlICJXZWJQYWdlUHJv
eHkuaCIKKyNpbmNsdWRlICJXZWJWaWV3SW50ZXJuYWwuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitnYm9vbGVhbiBXZWJWaWV3Ojp3ZWJWaWV3
T25FeHBvc2UoR3RrV2lkZ2V0ICp3aWRnZXQsIEdka0V2ZW50RXhwb3NlICpldmVudCkKK3sKKyAg
ICBXZWJLaXRXaWRnZXRWaWV3KiB3aWRnZXRWaWV3ID0gV0VCS0lUX1dJREdFVF9WSUVXKHdpZGdl
dCk7CisgICAgZ3BvaW50ZXIgd2ViVmlld0luc3RhbmNlID0gd2lkZ2V0Vmlldy0+cHJpdi0+d2Vi
Vmlld0luc3RhbmNlOworICAgIFdlYlZpZXcqIHdlYlZpZXcgPSByZWludGVycHJldF9jYXN0PFdl
YlZpZXcqPih3ZWJWaWV3SW5zdGFuY2UpOworICAgIEdka1JlY3RhbmdsZSBjbGlwOworICAgIGdk
a19yZWdpb25fZ2V0X2NsaXBib3goZXZlbnQtPnJlZ2lvbiwgJmNsaXApOworICAgIHdlYlZpZXct
Pm9uUGFpbnRFdmVudCh3aWRnZXQsIGNsaXApOworCisgICAgcmV0dXJuIEZBTFNFOworfQorCit2
b2lkIFdlYlZpZXc6OndlYlZpZXdPblNpemVBbGxvY2F0ZShHdGtXaWRnZXQqIHdpZGdldCwgR3Rr
QWxsb2NhdGlvbiogYWxsb2NhdGlvbikKK3sKKyAgICBHT2JqZWN0Q2xhc3MqIHBhcmVudENsYXNz
ID0gKEdPYmplY3RDbGFzcyopZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KFdFQktJVF9XSURHRVRf
VklFV19HRVRfQ0xBU1Mod2lkZ2V0KSk7CisgICAgR1RLX1dJREdFVF9DTEFTUyhwYXJlbnRDbGFz
cyktPnNpemVfYWxsb2NhdGUod2lkZ2V0LCBhbGxvY2F0aW9uKTsKKyAgICBXZWJLaXRXaWRnZXRW
aWV3KiB3aWRnZXRWaWV3ID0gV0VCS0lUX1dJREdFVF9WSUVXKHdpZGdldCk7CisgICAgZ3BvaW50
ZXIgd2ViVmlld0luc3RhbmNlID0gd2lkZ2V0Vmlldy0+cHJpdi0+d2ViVmlld0luc3RhbmNlOwor
ICAgIFdlYlZpZXcqIHdlYlZpZXcgPSByZWludGVycHJldF9jYXN0PFdlYlZpZXcqPih3ZWJWaWV3
SW5zdGFuY2UpOworCisgICAgd2ViVmlldy0+b25TaXplRXZlbnQod2lkZ2V0LCBJbnRTaXplKGFs
bG9jYXRpb24tPndpZHRoLCBhbGxvY2F0aW9uLT5oZWlnaHQpKTsKK30KKworZ2Jvb2xlYW4gV2Vi
Vmlldzo6d2ViVmlld0ZvY3VzSW5FdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRGb2N1
cyogZXZlbnQpCit7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyogd2lkZ2V0VmlldyA9IFdFQktJVF9X
SURHRVRfVklFVyh3aWRnZXQpOworICAgIGdwb2ludGVyIHdlYlZpZXdJbnN0YW5jZSA9IHdpZGdl
dFZpZXctPnByaXYtPndlYlZpZXdJbnN0YW5jZTsKKyAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gcmVp
bnRlcnByZXRfY2FzdDxXZWJWaWV3Kj4od2ViVmlld0luc3RhbmNlKTsKKyAgICAKKyAgICBHdGtX
aWRnZXQqIHRvcGxldmVsID0gZ3RrX3dpZGdldF9nZXRfdG9wbGV2ZWwod2lkZ2V0KTsKKyAgICBp
ZiAoR1RLX1dJREdFVF9UT1BMRVZFTCh0b3BsZXZlbCkgJiYgZ3RrX3dpbmRvd19oYXNfdG9wbGV2
ZWxfZm9jdXMoR1RLX1dJTkRPVyh0b3BsZXZlbCkpKSB7CisgICAgICAgIGd0a19pbV9jb250ZXh0
X2ZvY3VzX2luKHdpZGdldFZpZXctPnByaXYtPmltQ29udGV4dCk7CisgICAgICAgIGlmICghKHdl
YlZpZXctPm1faXNQYWdlQWN0aXZlKSkgeworICAgICAgICAgICAgd2ViVmlldy0+bV9pc1BhZ2VB
Y3RpdmUgPSB0cnVlOworICAgICAgICAgICAgd2ViVmlldy0+dXBkYXRlQWN0aXZlU3RhdGUoKTsK
KyAgICAgICAgfQorICAgICAgICB3ZWJWaWV3LT5vblNldEZvY3VzRXZlbnQod2lkZ2V0LCB0cnVl
KTsKKyAgICB9CisKKyAgICBHT2JqZWN0Q2xhc3MqIHBhcmVudENsYXNzID0gKEdPYmplY3RDbGFz
cyopZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KFdFQktJVF9XSURHRVRfVklFV19HRVRfQ0xBU1Mo
d2lkZ2V0KSk7CisgICAgcmV0dXJuIEdUS19XSURHRVRfQ0xBU1MocGFyZW50Q2xhc3MpLT5mb2N1
c19pbl9ldmVudCh3aWRnZXQsIGV2ZW50KTsKK30KKworZ2Jvb2xlYW4gV2ViVmlldzo6d2ViVmll
d0ZvY3VzT3V0RXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50Rm9jdXMqIGV2ZW50KQor
eworICAgIFdlYktpdFdpZGdldFZpZXcqIHdpZGdldFZpZXcgPSBXRUJLSVRfV0lER0VUX1ZJRVco
d2lkZ2V0KTsKKyAgICBncG9pbnRlciB3ZWJWaWV3SW5zdGFuY2UgPSB3aWRnZXRWaWV3LT5wcml2
LT53ZWJWaWV3SW5zdGFuY2U7CisgICAgV2ViVmlldyogd2ViVmlldyA9IHJlaW50ZXJwcmV0X2Nh
c3Q8V2ViVmlldyo+KHdlYlZpZXdJbnN0YW5jZSk7CisKKyAgICB3ZWJWaWV3LT5vbktpbGxGb2N1
c0V2ZW50KHdpZGdldCwgZmFsc2UpOworICAgIHdlYlZpZXctPm1faXNQYWdlQWN0aXZlID0gZmFs
c2U7IAorICAgIHdlYlZpZXctPnVwZGF0ZUFjdGl2ZVN0YXRlKCk7CisgICAgaWYgKHdpZGdldFZp
ZXctPnByaXYtPmltQ29udGV4dCkKKyAgICAgICAgZ3RrX2ltX2NvbnRleHRfZm9jdXNfb3V0KHdp
ZGdldFZpZXctPnByaXYtPmltQ29udGV4dCk7CisgICAgCisgICAgR09iamVjdENsYXNzKiBwYXJl
bnRDbGFzcyA9IChHT2JqZWN0Q2xhc3MqKWdfdHlwZV9jbGFzc19wZWVrX3BhcmVudChXRUJLSVRf
V0lER0VUX1ZJRVdfR0VUX0NMQVNTKHdpZGdldCkpOworICAgIHJldHVybiBHVEtfV0lER0VUX0NM
QVNTKHBhcmVudENsYXNzKS0+Zm9jdXNfb3V0X2V2ZW50KHdpZGdldCwgZXZlbnQpOworfQorCitn
Ym9vbGVhbiBXZWJWaWV3Ojp3ZWJWaWV3S2V5UHJlc3NFdmVudChHdGtXaWRnZXQqIHdpZGdldCwg
R2RrRXZlbnRLZXkqIGV2ZW50KQoreworICAgIFdlYktpdFdpZGdldFZpZXcqIHdpZGdldFZpZXcg
PSBXRUJLSVRfV0lER0VUX1ZJRVcod2lkZ2V0KTsKKyAgICBncG9pbnRlciB3ZWJWaWV3SW5zdGFu
Y2UgPSB3aWRnZXRWaWV3LT5wcml2LT53ZWJWaWV3SW5zdGFuY2U7CisgICAgV2ViVmlldyogd2Vi
VmlldyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViVmlldyo+KHdlYlZpZXdJbnN0YW5jZSk7CisgICAg
d2ViVmlldy0+b25LZXlFdmVudChldmVudCk7CisgICAgCisgICAgR09iamVjdENsYXNzKiBwYXJl
bnRDbGFzcyA9IChHT2JqZWN0Q2xhc3MqKWdfdHlwZV9jbGFzc19wZWVrX3BhcmVudChXRUJLSVRf
V0lER0VUX1ZJRVdfR0VUX0NMQVNTKHdpZGdldCkpOworICAgIHJldHVybiBHVEtfV0lER0VUX0NM
QVNTKHBhcmVudENsYXNzKS0+a2V5X3ByZXNzX2V2ZW50KHdpZGdldCwgZXZlbnQpOworfQorCitn
Ym9vbGVhbiBXZWJWaWV3Ojp3ZWJWaWV3S2V5UmVsZWFzZUV2ZW50KEd0a1dpZGdldCogd2lkZ2V0
LCBHZGtFdmVudEtleSogZXZlbnQpCit7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyogd2lkZ2V0Vmll
dyA9IFdFQktJVF9XSURHRVRfVklFVyh3aWRnZXQpOworICAgIGdwb2ludGVyIHdlYlZpZXdJbnN0
YW5jZSA9IHdpZGdldFZpZXctPnByaXYtPndlYlZpZXdJbnN0YW5jZTsKKyAgICBXZWJWaWV3KiB3
ZWJWaWV3ID0gcmVpbnRlcnByZXRfY2FzdDxXZWJWaWV3Kj4od2ViVmlld0luc3RhbmNlKTsKKwor
ICAgIGlmIChndGtfaW1fY29udGV4dF9maWx0ZXJfa2V5cHJlc3Mod2lkZ2V0Vmlldy0+cHJpdi0+
aW1Db250ZXh0LCBldmVudCkpCisgICAgICAgIHJldHVybiBUUlVFOworICAgIHdlYlZpZXctPm9u
S2V5RXZlbnQoZXZlbnQpOworCisgICAgR09iamVjdENsYXNzKiBwYXJlbnRDbGFzcyA9IChHT2Jq
ZWN0Q2xhc3MqKWdfdHlwZV9jbGFzc19wZWVrX3BhcmVudChXRUJLSVRfV0lER0VUX1ZJRVdfR0VU
X0NMQVNTKHdpZGdldCkpOworICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNTKHBhcmVudENsYXNz
KS0+a2V5X3JlbGVhc2VfZXZlbnQod2lkZ2V0LCBldmVudCk7Cit9CisKK2dib29sZWFuIFdlYlZp
ZXc6OndlYlZpZXdCdXR0b25QcmVzc0V2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEJ1
dHRvbiogY29uc3QgZXZlbnQpCit7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyogd2lkZ2V0VmlldyA9
IFdFQktJVF9XSURHRVRfVklFVyh3aWRnZXQpOworICAgIGdwb2ludGVyIHdlYlZpZXdJbnN0YW5j
ZSA9IHdpZGdldFZpZXctPnByaXYtPndlYlZpZXdJbnN0YW5jZTsKKyAgICBXZWJWaWV3KiB3ZWJW
aWV3ID0gcmVpbnRlcnByZXRfY2FzdDxXZWJWaWV3Kj4od2ViVmlld0luc3RhbmNlKTsKKyAgICBn
dGtfd2lkZ2V0X2dyYWJfZm9jdXMod2lkZ2V0KTsKKyAgICB3ZWJWaWV3LT5vbk1vdXNlRXZlbnQo
KEdka0V2ZW50QW55ICopZXZlbnQpOworCisgICAgcmV0dXJuIEZBTFNFOworfQorCitnYm9vbGVh
biBXZWJWaWV3Ojp3ZWJWaWV3QnV0dG9uUmVsZWFzZUV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBH
ZGtFdmVudEJ1dHRvbiogZXZlbnQpCit7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyogd2lkZ2V0Vmll
dyA9IFdFQktJVF9XSURHRVRfVklFVyh3aWRnZXQpOworICAgIGdwb2ludGVyIHdlYlZpZXdJbnN0
YW5jZSA9IHdpZGdldFZpZXctPnByaXYtPndlYlZpZXdJbnN0YW5jZTsKKyAgICBXZWJWaWV3KiB3
ZWJWaWV3ID0gcmVpbnRlcnByZXRfY2FzdDxXZWJWaWV3Kj4od2ViVmlld0luc3RhbmNlKTsKKyAg
ICBndGtfd2lkZ2V0X2dyYWJfZm9jdXMod2lkZ2V0KTsKKyAgICB3ZWJWaWV3LT5vbk1vdXNlRXZl
bnQoKEdka0V2ZW50QW55ICopZXZlbnQpOworCisgICAgcmV0dXJuIEZBTFNFOworfQorCitnYm9v
bGVhbiBXZWJWaWV3Ojp3ZWJWaWV3U2Nyb2xsRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2
ZW50U2Nyb2xsKiBldmVudCkKK3sKKyAgICBXZWJLaXRXaWRnZXRWaWV3KiB3aWRnZXRWaWV3ID0g
V0VCS0lUX1dJREdFVF9WSUVXKHdpZGdldCk7CisgICAgZ3BvaW50ZXIgd2ViVmlld0luc3RhbmNl
ID0gd2lkZ2V0Vmlldy0+cHJpdi0+d2ViVmlld0luc3RhbmNlOworICAgIFdlYlZpZXcqIHdlYlZp
ZXcgPSByZWludGVycHJldF9jYXN0PFdlYlZpZXcqPih3ZWJWaWV3SW5zdGFuY2UpOworICAgIHdl
YlZpZXctPm9uV2hlZWxFdmVudChldmVudCk7CisKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK2di
b29sZWFuIFdlYlZpZXc6OndlYlZpZXdNb3Rpb25Ob3RpZnlFdmVudChHdGtXaWRnZXQqIHdpZGdl
dCwgR2RrRXZlbnRNb3Rpb24qIGV2ZW50KQoreworICAgIFdlYktpdFdpZGdldFZpZXcqIHdpZGdl
dFZpZXcgPSBXRUJLSVRfV0lER0VUX1ZJRVcod2lkZ2V0KTsKKyAgICBncG9pbnRlciB3ZWJWaWV3
SW5zdGFuY2UgPSB3aWRnZXRWaWV3LT5wcml2LT53ZWJWaWV3SW5zdGFuY2U7CisgICAgV2ViVmll
dyogd2ViVmlldyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViVmlldyo+KHdlYlZpZXdJbnN0YW5jZSk7
CisgICAgd2ViVmlldy0+b25Nb3VzZUV2ZW50KChHZGtFdmVudEFueSAqKWV2ZW50KTsKKworICAg
IHJldHVybiBGQUxTRTsKK30KKworV2ViVmlldzo6V2ViVmlldyhHZGtSZWN0YW5nbGUgcmVjdCwg
V2ViUGFnZU5hbWVzcGFjZSogcGFnZU5hbWVzcGFjZSwgR3RrV2lkZ2V0KiAgaG9zdFdpbmRvdykK
KyAgICA6IG1fcmVjdChyZWN0KQorICAgICwgbV9ob3N0V2luZG93KGhvc3RXaW5kb3cpCisgICAg
LCBtX2lzUGFnZUFjdGl2ZSh0cnVlKQoreworICAgIG1fcGFnZSA9IHBhZ2VOYW1lc3BhY2UtPmNy
ZWF0ZVdlYlBhZ2UoKTsKKyAgICBtX3BhZ2UtPnNldFBhZ2VDbGllbnQodGhpcyk7CisgICAgbV9w
YWdlLT5zZXREcmF3aW5nQXJlYShDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6Y3JlYXRl
KHRoaXMpKTsKKyAgICBtX3BhZ2UtPmluaXRpYWxpemVXZWJQYWdlKEludFJlY3QocmVjdCkuc2l6
ZSgpKTsKKworICAgIG1fd2luZG93ID0gKEd0a1dpZGdldCopZ19vYmplY3RfbmV3KFdFQktJVF9U
WVBFX1dJREdFVF9WSUVXLCBOVUxMKTsgCisgICAgQVNTRVJUKG1fd2luZG93KTsKKyAgICBXZWJL
aXRXaWRnZXRWaWV3KiB3ZWJWaWV3ID0gV0VCS0lUX1dJREdFVF9WSUVXKG1fd2luZG93KTsKKyAg
ICB3ZWJWaWV3LT5wcml2LT53ZWJWaWV3SW5zdGFuY2UgPSByZWludGVycHJldF9jYXN0PGdwb2lu
dGVyPih0aGlzKTsKK30KKworV2ViVmlldzo6fldlYlZpZXcoKQoreworfQorCit2b2lkIFdlYlZp
ZXc6OnNldEhvc3RXaW5kb3coR3RrV2lkZ2V0KiBob3N0V2luZG93KQoreworICAgIG1faG9zdFdp
bmRvdyA9IGhvc3RXaW5kb3c7Cit9CisKK3ZvaWQgV2ViVmlldzo6b25QYWludEV2ZW50KEd0a1dp
ZGdldCogd2lkZ2V0LCBHZGtSZWN0YW5nbGUgcmVjdCkKK3sKKyAgICBHZGtXaW5kb3cqIHdpbmRv
dyA9IHdpZGdldC0+d2luZG93OworICAgIEFTU0VSVCh3aW5kb3cpOworICAgIG1fcGFnZS0+ZHJh
d2luZ0FyZWEoKS0+cGFpbnQoSW50UmVjdChyZWN0KSwgd2luZG93KTsKK30KKwordm9pZCBXZWJW
aWV3OjpvblNpemVFdmVudChHdGtXaWRnZXQqLCBJbnRTaXplIHNpemUpCit7CisgICAgbV9wYWdl
LT5kcmF3aW5nQXJlYSgpLT5zZXRTaXplKHNpemUpOworfQorCit2b2lkIFdlYlZpZXc6Om9uU2V0
Rm9jdXNFdmVudChHdGtXaWRnZXQqLCBib29sKQoreworICAgIG1fcGFnZS0+c2V0Rm9jdXNlZCh0
cnVlKTsKK30KKwordm9pZCBXZWJWaWV3OjpvbktpbGxGb2N1c0V2ZW50KEd0a1dpZGdldCosIGJv
b2wpCit7CisgICAgbV9wYWdlLT5zZXRGb2N1c2VkKGZhbHNlKTsKK30KKwordm9pZCBXZWJWaWV3
OjpvbktleUV2ZW50KEdka0V2ZW50S2V5ICpldmVudCkKK3sKKyAgICBtX3BhZ2UtPmhhbmRsZUtl
eWJvYXJkRXZlbnQoTmF0aXZlV2ViS2V5Ym9hcmRFdmVudChldmVudCkpOworfQorCit2b2lkIFdl
YlZpZXc6Om9uTW91c2VFdmVudChHZGtFdmVudEFueSAqZXZlbnQpCit7CisgICAgV2ViTW91c2VF
dmVudCBtb3VzZUV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KGV2
ZW50KTsKKyAgICBtX3BhZ2UtPmhhbmRsZU1vdXNlRXZlbnQobW91c2VFdmVudCk7Cit9CisKK3Zv
aWQgV2ViVmlldzo6b25XaGVlbEV2ZW50KEdka0V2ZW50U2Nyb2xsICpldmVudCkKK3sKKyAgICBX
ZWJXaGVlbEV2ZW50IHdoZWVsRXZlbnQgPSBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVs
RXZlbnQoZXZlbnQpOworICAgIG1fcGFnZS0+aGFuZGxlV2hlZWxFdmVudCh3aGVlbEV2ZW50KTsK
K30KKworYm9vbCBXZWJWaWV3Ojppc0FjdGl2ZSgpCit7CisgICAgcmV0dXJuIG1faXNQYWdlQWN0
aXZlOworfQorCit2b2lkIFdlYlZpZXc6OnVwZGF0ZUFjdGl2ZVN0YXRlKCkKK3sKKyAgICBtX3Bh
Z2UtPnNldEFjdGl2ZShpc0FjdGl2ZSgpKTsKK30KKwordm9pZCBXZWJWaWV3OjpjbG9zZSgpCit7
CisgICAgbV9wYWdlLT5jbG9zZSgpOworfQorCisvLyBQYWdlQ2xpZW50J3MgcHVyZSB2aXJ0dWFs
IGZ1bmN0aW9ucwordm9pZCBXZWJWaWV3Ojpwcm9jZXNzRGlkRXhpdCgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJWaWV3Ojpwcm9jZXNzRGlkUmV2aXZlKCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdlYlZpZXc6OnRha2VGb2N1cyhib29sKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2ViVmlldzo6dG9vbFRpcENoYW5n
ZWQoY29uc3QgU3RyaW5nJiwgY29uc3QgU3RyaW5nJikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorCit2b2lkIFdlYlZpZXc6OnNldEN1cnNvcihjb25zdCBDdXJzb3ImKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2ViVmlldzo6c2V0Vmlld3BvcnRBcmd1bWVudHMo
Y29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK3ZvaWQgV2ViVmlldzo6cmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdl
YkVkaXRDb21tYW5kUHJveHk+LCBXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8pCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJWaWV3OjpjbGVhckFsbEVkaXRDb21tYW5kcygp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJWaWV3OjpzZXRFZGl0Q29t
bWFuZFN0YXRlKGNvbnN0IFN0cmluZyYsIGJvb2wsIGludCkKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworfQorCitGbG9hdFJlY3QgV2ViVmlldzo6Y29udmVydFRvRGV2aWNlU3BhY2UoY29uc3Qg
RmxvYXRSZWN0JiByZWN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHJl
Y3Q7Cit9CisKK0Zsb2F0UmVjdCBXZWJWaWV3Ojpjb252ZXJ0VG9Vc2VyU3BhY2UoY29uc3QgRmxv
YXRSZWN0JiByZWN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHJlY3Q7
Cit9CisKK3ZvaWQgV2ViVmlldzo6ZGlkTm90SGFuZGxlS2V5RXZlbnQoY29uc3QgTmF0aXZlV2Vi
S2V5Ym9hcmRFdmVudCYgZXZlbnQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworUGFz
c1JlZlB0cjxXZWJQb3B1cE1lbnVQcm94eT4gV2ViVmlldzo6Y3JlYXRlUG9wdXBNZW51UHJveHko
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgLy8gRklYTUU6Ok5lZWQgdG8gaW1wbGVt
ZW50IFdlYlBvcHVwTWVudVByb3h5CisgICAgcmV0dXJuIDA7Cit9CisKK3ZvaWQgV2ViVmlldzo6
c2V0RmluZEluZGljYXRvcihQYXNzUmVmUHRyPEZpbmRJbmRpY2F0b3I+LCBib29sIGZhZGVPdXQp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01Q
T1NJVElORykKK3ZvaWQgV2ViVmlldzo6cGFnZURpZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGlu
ZygpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJWaWV3OjpwYWdlRGlk
TGVhdmVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
fQorI2VuZGlmIC8vIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3LmgJKHJldmlzaW9uIDApCisrKyBX
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEx
NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHks
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmli
dXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVy
aWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FS
RSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMn
JworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5U
QUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMK
KyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJ
QUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBC
VVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9S
IFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAq
IElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZ
IE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICog
VEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViVmlld19o
CisjZGVmaW5lIFdlYlZpZXdfaAorCisjaW5jbHVkZSAiUGFnZUNsaWVudC5oIgorI2luY2x1ZGUg
IldlYlBhZ2VQcm94eS5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9JbnRTaXplLmg+CisjaW5jbHVk
ZSA8Z2RrL2dkay5oPgorI2luY2x1ZGUgPGdsaWIuaD4KKyNpbmNsdWRlIDxndGsvZ3RrLmg+Cisj
aW5jbHVkZSA8d3RmL1Bhc3NSZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgor
I2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIERy
YXdpbmdBcmVhUHJveHk7CitjbGFzcyBXZWJQYWdlTmFtZXNwYWNlOworCitjbGFzcyBXZWJWaWV3
IDogcHVibGljIFJlZkNvdW50ZWQ8V2ViVmlldz4sIHB1YmxpYyBQYWdlQ2xpZW50IHsKK3B1Ymxp
YzoKKyAgICB+V2ViVmlldygpOworICAgIEdka1JlY3RhbmdsZSByZWN0KCkgY29uc3QgeyByZXR1
cm4gbV9yZWN0O30KKyAgICBzdGF0aWMgZ2Jvb2xlYW4gd2ViVmlld09uRXhwb3NlKEd0a1dpZGdl
dCAqd2lkZ2V0LCBHZGtFdmVudEV4cG9zZSAqZXZlbnQpOworICAgIHN0YXRpYyB2b2lkIHdlYlZp
ZXdPblNpemVBbGxvY2F0ZShHdGtXaWRnZXQqIHdpZGdldCwgR3RrQWxsb2NhdGlvbiogYWxsb2Nh
dGlvbik7CisgICAgc3RhdGljIGdib29sZWFuIHdlYlZpZXdGb2N1c0luRXZlbnQoR3RrV2lkZ2V0
ICp3aWRnZXQsIEdka0V2ZW50Rm9jdXMgKmV2ZW50KTsKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gd2Vi
Vmlld0ZvY3VzT3V0RXZlbnQoR3RrV2lkZ2V0ICp3aWRnZXQsIEdka0V2ZW50Rm9jdXMgKmV2ZW50
KTsKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gd2ViVmlld0tleVByZXNzRXZlbnQoR3RrV2lkZ2V0KiB3
aWRnZXQsIEdka0V2ZW50S2V5KiBldmVudCk7CisgICAgc3RhdGljIGdib29sZWFuIHdlYlZpZXdL
ZXlSZWxlYXNlRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50S2V5KiBldmVudCk7Cisg
ICAgc3RhdGljIGdib29sZWFuIHdlYlZpZXdCdXR0b25QcmVzc0V2ZW50KEd0a1dpZGdldCogd2lk
Z2V0LCBHZGtFdmVudEJ1dHRvbiogY29uc3QgZXZlbnQpOworICAgIHN0YXRpYyBnYm9vbGVhbiB3
ZWJWaWV3QnV0dG9uUmVsZWFzZUV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEJ1dHRv
biogZXZlbnQpOworICAgIHN0YXRpYyBnYm9vbGVhbiB3ZWJWaWV3U2Nyb2xsRXZlbnQoR3RrV2lk
Z2V0KiB3aWRnZXQsIEdka0V2ZW50U2Nyb2xsKiBldmVudCk7CisgICAgc3RhdGljIGdib29sZWFu
IHdlYlZpZXdNb3Rpb25Ob3RpZnlFdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRNb3Rp
b24qIGV2ZW50KTsKKworICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdlYlZpZXc+IGNyZWF0ZShHZGtS
ZWN0YW5nbGUgcmVjdCwgV2ViUGFnZU5hbWVzcGFjZSogcGFnZU5hbWVzcGFjZSwgR3RrV2lkZ2V0
KiBob3N0V2luZG93KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKG5ldyBXZWJWaWV3
KHJlY3QsIHBhZ2VOYW1lc3BhY2UsIGhvc3RXaW5kb3cpKTsKKyAgICB9CisKKyAgICBHdGtXaWRn
ZXQqIHdpbmRvdygpIGNvbnN0IHsgcmV0dXJuIG1fd2luZG93OyB9CisgICAgR3RrV2lkZ2V0KiBo
b3N0V2luZG93KCkgY29uc3QgeyByZXR1cm4gbV9ob3N0V2luZG93OyB9CisgICAgdm9pZCBzZXRI
b3N0V2luZG93KEd0a1dpZGdldCopOworCisgICAgV2ViUGFnZVByb3h5KiBwYWdlKCkgY29uc3Qg
eyByZXR1cm4gbV9wYWdlLmdldCgpOyB9CisKK3ByaXZhdGU6CisgICAgV2ViVmlldyhHZGtSZWN0
YW5nbGUsIFdlYlBhZ2VOYW1lc3BhY2UqLCBHdGtXaWRnZXQqIGhvc3RXaW5kb3cpOworCisgICAg
dm9pZCBvblBhaW50RXZlbnQoR3RrV2lkZ2V0KiwgR2RrUmVjdGFuZ2xlKTsKKyAgICB2b2lkIG9u
U2l6ZUV2ZW50KEd0a1dpZGdldCosIFdlYkNvcmU6OkludFNpemUpOworICAgIHZvaWQgb25TZXRG
b2N1c0V2ZW50KEd0a1dpZGdldCosIGJvb2wpOworICAgIHZvaWQgb25LaWxsRm9jdXNFdmVudChH
dGtXaWRnZXQqLCBib29sKTsKKyAgICB2b2lkIG9uS2V5RXZlbnQoR2RrRXZlbnRLZXkgKik7Cisg
ICAgdm9pZCBvbk1vdXNlRXZlbnQoR2RrRXZlbnRBbnkgKik7CisgICAgdm9pZCBvbldoZWVsRXZl
bnQoR2RrRXZlbnRTY3JvbGwgKmV2ZW50KTsKKworICAgIGJvb2wgaXNBY3RpdmUoKTsKKyAgICB2
b2lkIHVwZGF0ZUFjdGl2ZVN0YXRlKCk7CisgICAgdm9pZCBjbG9zZSgpOworCisgICAgLy8gUGFn
ZUNsaWVudAorICAgIHZpcnR1YWwgdm9pZCBwcm9jZXNzRGlkRXhpdCgpOworICAgIHZpcnR1YWwg
dm9pZCBwcm9jZXNzRGlkUmV2aXZlKCk7CisgICAgdmlydHVhbCB2b2lkIHRha2VGb2N1cyhib29s
IGRpcmVjdGlvbik7CisgICAgdmlydHVhbCB2b2lkIHRvb2xUaXBDaGFuZ2VkKGNvbnN0IFdURjo6
U3RyaW5nJiwgY29uc3QgV1RGOjpTdHJpbmcmKTsKKyAgICB2aXJ0dWFsIHZvaWQgc2V0Q3Vyc29y
KGNvbnN0IFdlYkNvcmU6OkN1cnNvciYpOworICAgIHZpcnR1YWwgdm9pZCBzZXRWaWV3cG9ydEFy
Z3VtZW50cyhjb25zdCBXZWJDb3JlOjpWaWV3cG9ydEFyZ3VtZW50cyYpOworICAgIHZpcnR1YWwg
dm9pZCByZWdpc3RlckVkaXRDb21tYW5kKFBhc3NSZWZQdHI8V2ViRWRpdENvbW1hbmRQcm94eT4s
IFdlYlBhZ2VQcm94eTo6VW5kb09yUmVkbyk7CisgICAgdmlydHVhbCB2b2lkIGNsZWFyQWxsRWRp
dENvbW1hbmRzKCk7CisgICAgdmlydHVhbCB2b2lkIHNldEVkaXRDb21tYW5kU3RhdGUoY29uc3Qg
V1RGOjpTdHJpbmcmLCBib29sLCBpbnQpOworICAgIHZpcnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0
IGNvbnZlcnRUb0RldmljZVNwYWNlKGNvbnN0IFdlYkNvcmU6OkZsb2F0UmVjdCYpOworICAgIHZp
cnR1YWwgV2ViQ29yZTo6RmxvYXRSZWN0IGNvbnZlcnRUb1VzZXJTcGFjZShjb25zdCBXZWJDb3Jl
OjpGbG9hdFJlY3QmKTsKKyAgICB2aXJ0dWFsIHZvaWQgZGlkTm90SGFuZGxlS2V5RXZlbnQoY29u
c3QgTmF0aXZlV2ViS2V5Ym9hcmRFdmVudCYpOworICAgIHZpcnR1YWwgUGFzc1JlZlB0cjxXZWJQ
b3B1cE1lbnVQcm94eT4gY3JlYXRlUG9wdXBNZW51UHJveHkoKTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0RmluZEluZGljYXRvcihQYXNzUmVmUHRyPEZpbmRJbmRpY2F0b3I+LCBib29sIGZhZGVPdXQp
OworCisjaWYgVVNFKEFDQ0VMRVJBVEVEX0NPTVBPU0lUSU5HKQorICAgIHZpcnR1YWwgdm9pZCBw
YWdlRGlkRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7CisgICAgdmlydHVhbCB2b2lkIHBh
Z2VEaWRMZWF2ZUFjY2VsZXJhdGVkQ29tcG9zaXRpbmcoKTsKKyNlbmRpZgorCisgICAgR2RrUmVj
dGFuZ2xlIG1fcmVjdDsKKyAgICBHdGtXaWRnZXQqIG1fd2luZG93OworICAgIEd0a1dpZGdldCog
bV9ob3N0V2luZG93OworICAgIGJvb2wgbV9pc1BhZ2VBY3RpdmU7CisgICAgUmVmUHRyPFdlYlBh
Z2VQcm94eT4gbV9wYWdlOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAv
LyBXZWJWaWV3X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwu
Y3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJbnRlcm5h
bC5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTE5IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgIldlYlZpZXdJbnRlcm5hbC5oIgorCisjaW5jbHVkZSAi
V2ViVmlldy5oIgorCitHX0RFRklORV9UWVBFKFdlYktpdFdpZGdldFZpZXcsIHdlYmtpdF93aWRn
ZXRfdmlldywgR1RLX1RZUEVfQ09OVEFJTkVSKQorCitzdGF0aWMgdm9pZCB3ZWJraXRfd2lkZ2V0
X3ZpZXdfcmVhbGl6ZShHdGtXaWRnZXQqIHdpZGdldCkKK3sKKyAgICBHVEtfV0lER0VUX1NFVF9G
TEFHUyh3aWRnZXQsIEdUS19SRUFMSVpFRCk7CisKKyAgICBHZGtXaW5kb3dBdHRyIGF0dHJpYnV0
ZXM7CisgICAgYXR0cmlidXRlcy53aW5kb3dfdHlwZSA9IEdES19XSU5ET1dfQ0hJTEQ7CisgICAg
YXR0cmlidXRlcy54ID0gd2lkZ2V0LT5hbGxvY2F0aW9uLng7CisgICAgYXR0cmlidXRlcy55ID0g
d2lkZ2V0LT5hbGxvY2F0aW9uLnk7CisgICAgYXR0cmlidXRlcy53aWR0aCA9IHdpZGdldC0+YWxs
b2NhdGlvbi53aWR0aDsKKyAgICBhdHRyaWJ1dGVzLmhlaWdodCA9IHdpZGdldC0+YWxsb2NhdGlv
bi5oZWlnaHQ7CisgICAgYXR0cmlidXRlcy53Y2xhc3MgPSBHREtfSU5QVVRfT1VUUFVUOworICAg
IGF0dHJpYnV0ZXMudmlzdWFsID0gZ3RrX3dpZGdldF9nZXRfdmlzdWFsKHdpZGdldCk7CisgICAg
YXR0cmlidXRlcy5jb2xvcm1hcCA9IGd0a193aWRnZXRfZ2V0X2NvbG9ybWFwKHdpZGdldCk7Cisg
ICAgYXR0cmlidXRlcy5ldmVudF9tYXNrID0gR0RLX1ZJU0lCSUxJVFlfTk9USUZZX01BU0sgfCBH
REtfRVhQT1NVUkVfTUFTSyB8IEdES19CVVRUT05fUFJFU1NfTUFTSyB8IEdES19CVVRUT05fUkVM
RUFTRV9NQVNLIHwgR0RLX1BPSU5URVJfTU9USU9OX01BU0sgfCBHREtfS0VZX1BSRVNTX01BU0sg
fCBHREtfS0VZX1JFTEVBU0VfTUFTSworICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgR0RL
X0JVVFRPTl9NT1RJT05fTUFTSyB8IEdES19CVVRUT04xX01PVElPTl9NQVNLIHwgR0RLX0JVVFRP
TjJfTU9USU9OX01BU0sgfCBHREtfQlVUVE9OM19NT1RJT05fTUFTSzsKKworICAgIGdpbnQgYXR0
cmlidXRlc01hc2sgPSBHREtfV0FfWCB8IEdES19XQV9ZIHwgR0RLX1dBX1ZJU1VBTCB8IEdES19X
QV9DT0xPUk1BUDsKKyAgICB3aWRnZXQtPndpbmRvdyA9IGdka193aW5kb3dfbmV3KGd0a193aWRn
ZXRfZ2V0X3BhcmVudF93aW5kb3cod2lkZ2V0KSwgJmF0dHJpYnV0ZXMsIGF0dHJpYnV0ZXNNYXNr
KTsKKyAgICBnZGtfd2luZG93X3NldF91c2VyX2RhdGEod2lkZ2V0LT53aW5kb3csIHdpZGdldCk7
CisgICAgd2lkZ2V0LT5zdHlsZSA9IGd0a19zdHlsZV9hdHRhY2god2lkZ2V0LT5zdHlsZSwgd2lk
Z2V0LT53aW5kb3cpOworICAgIGd0a19zdHlsZV9zZXRfYmFja2dyb3VuZCh3aWRnZXQtPnN0eWxl
LCB3aWRnZXQtPndpbmRvdywgR1RLX1NUQVRFX05PUk1BTCk7CisgICAgV2ViS2l0V2lkZ2V0Vmll
dyogd2ViVmlldyA9IFdFQktJVF9XSURHRVRfVklFVyh3aWRnZXQpOworICAgIGd0a19pbV9jb250
ZXh0X3NldF9jbGllbnRfd2luZG93KHdlYlZpZXctPnByaXYtPmltQ29udGV4dCwgd2lkZ2V0LT53
aW5kb3cpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRfd2lkZ2V0X3ZpZXdfY29udGFpbmVyX2Fk
ZChHdGtDb250YWluZXIqIGNvbnRhaW5lciwgR3RrV2lkZ2V0KiB3aWRnZXQpCit7CisgICAgV2Vi
S2l0V2lkZ2V0Vmlldyogd2ViVmlldyA9IFdFQktJVF9XSURHRVRfVklFVyhjb250YWluZXIpOwor
CisgICAgaWYgKEdUS19XSURHRVRfUkVBTElaRUQoY29udGFpbmVyKSkKKyAgICAgICAgZ3RrX3dp
ZGdldF9zZXRfcGFyZW50X3dpbmRvdyh3aWRnZXQsIEdUS19XSURHRVQod2ViVmlldyktPndpbmRv
dyk7CisgICAgZ3RrX3dpZGdldF9zZXRfcGFyZW50KHdpZGdldCwgR1RLX1dJREdFVChjb250YWlu
ZXIpKTsKK30KKworc3RhdGljIHZvaWQKK3dlYmtpdF93aWRnZXRfdmlld19kaXNwb3NlKEdPYmpl
Y3QqIG9iaikKK3sKKyAgICBXZWJLaXRXaWRnZXRWaWV3KiB3ZWJWaWV3ID0gV0VCS0lUX1dJREdF
VF9WSUVXKG9iaik7CisgICAgaWYgKHdlYlZpZXctPnByaXYtPmRpc3Bvc2VfaGFzX3J1bikKKyAg
ICAgICAgcmV0dXJuOworCisgICAgZ19vYmplY3RfdW5yZWYod2ViVmlldy0+cHJpdi0+aW1Db250
ZXh0KTsKKyAgICB3ZWJWaWV3LT5wcml2LT5kaXNwb3NlX2hhc19ydW4gPSBUUlVFOworICAgIEdf
T0JKRUNUX0NMQVNTKHdlYmtpdF93aWRnZXRfdmlld19wYXJlbnRfY2xhc3MpLT5kaXNwb3NlKG9i
aik7Cit9CisKK3N0YXRpYyB2b2lkCit3ZWJraXRfd2lkZ2V0X3ZpZXdfZmluYWxpemUoR09iamVj
dCogb2JqKQoreworICAgIEdfT0JKRUNUX0NMQVNTKHdlYmtpdF93aWRnZXRfdmlld19wYXJlbnRf
Y2xhc3MpLT5maW5hbGl6ZShvYmopOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRfd2lkZ2V0X3Zp
ZXdfY2xhc3NfaW5pdChXZWJLaXRXaWRnZXRWaWV3Q2xhc3MqIHdlYlZpZXdDbGFzcykKK3sKKyAg
ICBHdGtXaWRnZXRDbGFzcyogd2lkZ2V0Q2xhc3MgPSBHVEtfV0lER0VUX0NMQVNTKHdlYlZpZXdD
bGFzcyk7CisgICAgd2lkZ2V0Q2xhc3MtPnJlYWxpemUgPSB3ZWJraXRfd2lkZ2V0X3ZpZXdfcmVh
bGl6ZTsKKyAgICB3aWRnZXRDbGFzcy0+ZXhwb3NlX2V2ZW50ID0gV2ViS2l0OjpXZWJWaWV3Ojp3
ZWJWaWV3T25FeHBvc2U7CisgICAgd2lkZ2V0Q2xhc3MtPnNpemVfYWxsb2NhdGUgPSBXZWJLaXQ6
OldlYlZpZXc6OndlYlZpZXdPblNpemVBbGxvY2F0ZTsKKyAgICB3aWRnZXRDbGFzcy0+Zm9jdXNf
aW5fZXZlbnQgPSBXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdGb2N1c0luRXZlbnQ7CisgICAgd2lk
Z2V0Q2xhc3MtPmZvY3VzX291dF9ldmVudCA9IFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0ZvY3Vz
T3V0RXZlbnQ7CisgICAgd2lkZ2V0Q2xhc3MtPmtleV9wcmVzc19ldmVudCA9IFdlYktpdDo6V2Vi
Vmlldzo6d2ViVmlld0tleVByZXNzRXZlbnQ7CisgICAgd2lkZ2V0Q2xhc3MtPmtleV9yZWxlYXNl
X2V2ZW50ID0gV2ViS2l0OjpXZWJWaWV3Ojp3ZWJWaWV3S2V5UmVsZWFzZUV2ZW50OworICAgIHdp
ZGdldENsYXNzLT5idXR0b25fcHJlc3NfZXZlbnQgPSBXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdC
dXR0b25QcmVzc0V2ZW50OworICAgIHdpZGdldENsYXNzLT5idXR0b25fcmVsZWFzZV9ldmVudCA9
IFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0J1dHRvblJlbGVhc2VFdmVudDsKKyAgICB3aWRnZXRD
bGFzcy0+c2Nyb2xsX2V2ZW50ID0gV2ViS2l0OjpXZWJWaWV3Ojp3ZWJWaWV3U2Nyb2xsRXZlbnQ7
CisgICAgd2lkZ2V0Q2xhc3MtPm1vdGlvbl9ub3RpZnlfZXZlbnQgPSBXZWJLaXQ6OldlYlZpZXc6
OndlYlZpZXdNb3Rpb25Ob3RpZnlFdmVudDsKKworICAgIEdPYmplY3RDbGFzcyogZ29iamVjdF9j
bGFzcyA9IEdfT0JKRUNUX0NMQVNTKHdlYlZpZXdDbGFzcyk7CisgICAgZ29iamVjdF9jbGFzcy0+
ZmluYWxpemUgPSB3ZWJraXRfd2lkZ2V0X3ZpZXdfZmluYWxpemU7CisgICAgZ29iamVjdF9jbGFz
cy0+ZGlzcG9zZSA9IHdlYmtpdF93aWRnZXRfdmlld19kaXNwb3NlOworCisgICAgR3RrQ29udGFp
bmVyQ2xhc3MqIGNvbnRhaW5lckNsYXNzID0gR1RLX0NPTlRBSU5FUl9DTEFTUyh3ZWJWaWV3Q2xh
c3MpOworICAgIGNvbnRhaW5lckNsYXNzLT5hZGQgPSB3ZWJraXRfd2lkZ2V0X3ZpZXdfY29udGFp
bmVyX2FkZDsKKworICAgIGdfdHlwZV9jbGFzc19hZGRfcHJpdmF0ZSh3ZWJWaWV3Q2xhc3MsIHNp
emVvZihXZWJLaXRXaWRnZXRWaWV3UHJpdmF0ZSkpOworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRf
d2lkZ2V0X3ZpZXdfaW5pdChXZWJLaXRXaWRnZXRWaWV3KiB3ZWJWaWV3KQoreworICAgIFdlYktp
dFdpZGdldFZpZXdQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dJREdFVF9WSUVXX0dFVF9QUklWQVRF
KHdlYlZpZXcpOworICAgIHdlYlZpZXctPnByaXYgPSBwcml2OworCisgICAgR1RLX1dJREdFVF9T
RVRfRkxBR1Mod2ViVmlldywgR1RLX0NBTl9GT0NVUyk7CisgICAgcHJpdi0+aW1Db250ZXh0ID0g
Z3RrX2ltX211bHRpY29udGV4dF9uZXcoKTsKKworICAgIHByaXYtPmRpc3Bvc2VfaGFzX3J1biA9
IEZBTFNFOworfQpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJbnRlcm5hbC5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwuaAko
cmV2aXNpb24gMCkKKysrIFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwuaAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw2OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp
IDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpZm5kZWYgV2ViVmlld0ludGVybmFsX2gKKyNkZWZpbmUgV2ViVmlld0ludGVybmFs
X2gKKworI2luY2x1ZGUgPGd0ay9ndGsuaD4KKworR19CRUdJTl9ERUNMUworCisjZGVmaW5lIFdF
QktJVF9UWVBFX1dJREdFVF9WSUVXICAgICAgICAgICAgKHdlYmtpdF93aWRnZXRfdmlld19nZXRf
dHlwZSgpKQorI2RlZmluZSBXRUJLSVRfV0lER0VUX1ZJRVcob2JqKSAgICAgICAgICAgIChHX1RZ
UEVfQ0hFQ0tfSU5TVEFOQ0VfQ0FTVCgob2JqKSwgV0VCS0lUX1RZUEVfV0lER0VUX1ZJRVcsIFdl
YktpdFdpZGdldFZpZXcpKQorI2RlZmluZSBXRUJLSVRfV0lER0VUX1ZJRVdfQ0xBU1Moa2xhc3Mp
ICAgIChHX1RZUEVfQ0hFQ0tfQ0xBU1NfQ0FTVCgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfV0lER0VU
X1ZJRVcsIFdlYktpdFdpZGdldFZpZXdDbGFzcykpCisjZGVmaW5lIFdFQktJVF9JU19XSURHRVRf
VklFVyhvYmopICAgICAgICAgKEdfVFlQRV9DSEVDS19JTlNUQU5DRV9UWVBFKChvYmopLCBXRUJL
SVRfVFlQRV9XSURHRVRfVklFVykpCisjZGVmaW5lIFdFQktJVF9JU19XSURHRVRfVklFV19DTEFT
UyhrbGFzcykgKEdfVFlQRV9DSEVDS19DTEFTU19UWVBFKChrbGFzcyksICBXRUJLSVRfVFlQRV9X
SURHRVRfVklFVykpCisjZGVmaW5lIFdFQktJVF9XSURHRVRfVklFV19HRVRfQ0xBU1Mob2JqKSAg
KEdfVFlQRV9JTlNUQU5DRV9HRVRfQ0xBU1MoKG9iaiksICBXRUJLSVRfVFlQRV9XSURHRVRfVklF
VywgV2ViS2l0V2lkZ2V0Vmlld0NsYXNzKSkKKworI2RlZmluZSBXRUJLSVRfV0lER0VUX1ZJRVdf
R0VUX1BSSVZBVEUob2JqKSAgICAoR19UWVBFX0lOU1RBTkNFX0dFVF9QUklWQVRFKChvYmopLCBX
RUJLSVRfVFlQRV9XSURHRVRfVklFVywgV2ViS2l0V2lkZ2V0Vmlld1ByaXZhdGUpKQorCit0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0V2lkZ2V0VmlldyBXZWJLaXRXaWRnZXRWaWV3OwordHlwZWRlZiBz
dHJ1Y3QgX1dlYktpdFdpZGdldFZpZXdDbGFzcyBXZWJLaXRXaWRnZXRWaWV3Q2xhc3M7Cit0eXBl
ZGVmIHN0cnVjdCBfV2ViS2l0V2lkZ2V0Vmlld1ByaXZhdGUgV2ViS2l0V2lkZ2V0Vmlld1ByaXZh
dGU7CisKK3N0cnVjdCBfV2ViS2l0V2lkZ2V0Vmlld1ByaXZhdGUgeworICAgIGdwb2ludGVyIHdl
YlZpZXdJbnN0YW5jZTsKKyAgICBHdGtJTUNvbnRleHQgKmltQ29udGV4dDsKKyAgICBnYm9vbGVh
biBkaXNwb3NlX2hhc19ydW47Cit9OworCitzdHJ1Y3QgX1dlYktpdFdpZGdldFZpZXcgeworICAg
IEd0a0NvbnRhaW5lciBwYXJlbnRfaW5zdGFuY2U7CisgICAgLy8gcHJpdmF0ZQorICAgIFdlYktp
dFdpZGdldFZpZXdQcml2YXRlICpwcml2OworfTsKKworc3RydWN0IF9XZWJLaXRXaWRnZXRWaWV3
Q2xhc3MgeworICAgIEd0a0NvbnRhaW5lckNsYXNzIHBhcmVudF9jbGFzczsKK307CisKK0dUeXBl
Cit3ZWJraXRfd2lkZ2V0X3ZpZXdfZ2V0X3R5cGUodm9pZCk7CisKK0dfRU5EX0RFQ0xTCisKKyNl
bmRpZgpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2
IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwpAQCAtNTEsNiArNTIsOCBAQCB0eXBlZGVmIENGQnVuZGxlUmVmIFBsYXRmb3JtQnVuZGxlOwog
dHlwZWRlZiBITU9EVUxFIFBsYXRmb3JtQnVuZGxlOwogI2VsaWYgUExBVEZPUk0oUVQpCiB0eXBl
ZGVmIFFMaWJyYXJ5IFBsYXRmb3JtQnVuZGxlOworI2VsaWYgUExBVEZPUk0oR1RLKQordHlwZWRl
ZiB2b2lkKiBQbGF0Zm9ybUJ1bmRsZTsKICNlbmRpZgogCiBjbGFzcyBJbW11dGFibGVBcnJheTsK
SW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5k
bGVHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5j
LiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1v
dG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlz
dHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0
aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZv
bGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4K
KyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFu
ZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRS
SUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICog
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgi
CisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tCdW5kbGVJbml0aWFs
aXplLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsK
KworYm9vbCBJbmplY3RlZEJ1bmRsZTo6bG9hZCgpCit7CisgICAgcmV0dXJuIGZhbHNlOworfQor
Cit2b2lkIEluamVjdGVkQnVuZGxlOjphY3RpdmF0ZU1hY0ZvbnRBc2NlbnRIYWNrKCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvZ3Rr
L05ldHNjYXBlUGx1Z2luR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsOTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5j
bHVkZSAiTmV0c2NhcGVQbHVnaW4uaCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBO
ZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1Qb3N0SW5pdGlhbGl6ZSgpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxh
dGZvcm1EZXN0cm95KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE5ldHNj
YXBlUGx1Z2luOjpwbGF0Zm9ybUdlb21ldHJ5RGlkQ2hhbmdlKCkKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworfQorCit2b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBhaW50KEdyYXBoaWNz
Q29udGV4dCogY29udGV4dCwgY29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7Cit9CisKK05QRXZlbnQgdG9OUChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVu
dCkKK3sKKyAgICBOUEV2ZW50IG5wRXZlbnQgPSBOUEV2ZW50KCk7CisgICAgbm90SW1wbGVtZW50
ZWQoKTsKKyAgICByZXR1cm4gbnBFdmVudDsKK30KKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxh
dGZvcm1IYW5kbGVNb3VzZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQ
bHVnaW46OnBsYXRmb3JtSGFuZGxlV2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50JikKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBOZXRz
Y2FwZVBsdWdpbjo6cGxhdGZvcm1TZXRGb2N1cyhib29sKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VFbnRlckV2
ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFu
ZGxlTW91c2VMZWF2ZUV2ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVn
aW46OnBsYXRmb3JtSGFuZGxlS2V5Ym9hcmRFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JikK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBu
YW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDcwMDk4
KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29w
eXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zMCw3ICszMSw2IEBACiAK
ICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmgiCiAjaW5jbHVkZSAi
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLSNpbmNsdWRlICJQbHVnaW5WaWV3LmgiCiAjaW5j
bHVkZSAiU3RyaW5nUGFpclZlY3Rvci5oIgogI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVy
cy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgpAQCAtNjEsNiArNjEsOSBAQAogI2luY2x1ZGUg
PFdlYkNvcmUvVUlFdmVudFdpdGhLZXlTdGF0ZS5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2lkZ2V0
Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dGZWF0dXJlcy5oPgorLy8gRklYTUU6IEluY2x1
ZGluZyAiUGx1Z2luVmlldy5oIiBhdCBjdXJyZW50IGxvY2F0aW9uIHdhcyByZS1kZWZpbmluZyB0
aGUgZW51bSBDb2RlUGF0aCB7IENvbXBsZXggfSB0byAwIGluIFdlYkNvcmUvcGxhdGZvcm0vZ3Jh
cGhpY3MvRm9udC5oLgorLy8gVGhlIHJlLWRlZmluZSBpcyBoYXBwZW5pbmcgYmVjYXVzZSBvZiBh
IG1hY3JvIENPTVBMRVggaW4gWGxpYi5oLiBIZW5jZSwgbW92ZWQgdGhlIGluY2x1c2lvbiB0byB0
aGUgZW5kIG9mIGxpc3QgZm9yIGNvbXBpbGF0aW9uIG9uIEdUSyBwbGF0Zm9ybS4KKyNpbmNsdWRl
IDxXZWJLaXQyL1BsdWdpblZpZXcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKSW5k
ZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3JzR3RrLmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dl
YkVycm9yc0d0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMTM1
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIldlYkVycm9y
cy5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4KKyNpbmNsdWRlIDxX
ZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCisjZGVmaW5lIFdlYlVSTEVycm9yRG9tYWluICAgIlVSTEVy
cm9yRG9tYWluIgorCitlbnVtIHsKKyAgICBXZWJVUkxFcnJvclVua25vd24gPSAgICAgICAgICAg
ICAgICAgICAgICAgICAtMSwKKyAgICBXZWJVUkxFcnJvckNhbmNlbGxlZCA9ICAgICAgICAgICAg
ICAgICAgICAgICAtOTk5LAorICAgIFdlYlVSTEVycm9yQmFkVVJMID0gICAgICAgICAgICAgICAg
ICAgICAgICAgIC0xMDAwLAorICAgIFdlYlVSTEVycm9yVGltZWRPdXQgPSAgICAgICAgICAgICAg
ICAgICAgICAgIC0xMDAxLAorICAgIFdlYlVSTEVycm9yVW5zdXBwb3J0ZWRVUkwgPSAgICAgICAg
ICAgICAgICAgIC0xMDAyLAorICAgIFdlYlVSTEVycm9yQ2Fubm90RmluZEhvc3QgPSAgICAgICAg
ICAgICAgICAgIC0xMDAzLAorICAgIFdlYlVSTEVycm9yQ2Fubm90Q29ubmVjdFRvSG9zdCA9ICAg
ICAgICAgICAgIC0xMDA0LAorICAgIFdlYlVSTEVycm9yTmV0d29ya0Nvbm5lY3Rpb25Mb3N0ID0g
ICAgICAgICAgIC0xMDA1LAorICAgIFdlYlVSTEVycm9yRE5TTG9va3VwRmFpbGVkID0gICAgICAg
ICAgICAgICAgIC0xMDA2LAorICAgIFdlYlVSTEVycm9ySFRUUFRvb01hbnlSZWRpcmVjdHMgPSAg
ICAgICAgICAgIC0xMDA3LAorICAgIFdlYlVSTEVycm9yUmVzb3VyY2VVbmF2YWlsYWJsZSA9ICAg
ICAgICAgICAgIC0xMDA4LAorICAgIFdlYlVSTEVycm9yTm90Q29ubmVjdGVkVG9JbnRlcm5ldCA9
ICAgICAgICAgIC0xMDA5LAorICAgIFdlYlVSTEVycm9yUmVkaXJlY3RUb05vbkV4aXN0ZW50TG9j
YXRpb24gPSAgIC0xMDEwLAorICAgIFdlYlVSTEVycm9yQmFkU2VydmVyUmVzcG9uc2UgPSAgICAg
ICAgICAgICAgIC0xMDExLAorICAgIFdlYlVSTEVycm9yVXNlckNhbmNlbGxlZEF1dGhlbnRpY2F0
aW9uID0gICAgIC0xMDEyLAorICAgIFdlYlVSTEVycm9yVXNlckF1dGhlbnRpY2F0aW9uUmVxdWly
ZWQgPSAgICAgIC0xMDEzLAorICAgIFdlYlVSTEVycm9yWmVyb0J5dGVSZXNvdXJjZSA9ICAgICAg
ICAgICAgICAgIC0xMDE0LAorICAgIFdlYlVSTEVycm9yRmlsZURvZXNOb3RFeGlzdCA9ICAgICAg
ICAgICAgICAgIC0xMTAwLAorICAgIFdlYlVSTEVycm9yRmlsZUlzRGlyZWN0b3J5ID0gICAgICAg
ICAgICAgICAgIC0xMTAxLAorICAgIFdlYlVSTEVycm9yTm9QZXJtaXNzaW9uc1RvUmVhZEZpbGUg
PSAgICAgICAgIC0xMTAyLAorICAgIFdlYlVSTEVycm9yU2VjdXJlQ29ubmVjdGlvbkZhaWxlZCA9
ICAgICAgICAgIC0xMjAwLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlmaWNhdGVIYXNCYWRE
YXRlID0gICAgIC0xMjAxLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlmaWNhdGVVbnRydXN0
ZWQgPSAgICAgIC0xMjAyLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlmaWNhdGVIYXNVbmtu
b3duUm9vdCA9IC0xMjAzLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlmaWNhdGVOb3RZZXRW
YWxpZCA9ICAgIC0xMjA0LAorICAgIFdlYlVSTEVycm9yQ2xpZW50Q2VydGlmaWNhdGVSZWplY3Rl
ZCA9ICAgICAgIC0xMjA1LAorICAgIFdlYlVSTEVycm9yQ2xpZW50Q2VydGlmaWNhdGVSZXF1aXJl
ZCA9ICAgICAgIC0xMjA2LAorICAgIFdlYlVSTEVycm9yQ2Fubm90TG9hZEZyb21OZXR3b3JrID0g
ICAgICAgICAgIC0yMDAwLAorCisgICAgLy8gRG93bmxvYWQgYW5kIGZpbGUgSS9PIGVycm9ycwor
ICAgIFdlYlVSTEVycm9yQ2Fubm90Q3JlYXRlRmlsZSA9ICAgICAgICAgICAgICAgIC0zMDAwLAor
ICAgIFdlYlVSTEVycm9yQ2Fubm90T3BlbkZpbGUgPSAgICAgICAgICAgICAgICAgIC0zMDAxLAor
ICAgIFdlYlVSTEVycm9yQ2Fubm90Q2xvc2VGaWxlID0gICAgICAgICAgICAgICAgIC0zMDAyLAor
ICAgIFdlYlVSTEVycm9yQ2Fubm90V3JpdGVUb0ZpbGUgPSAgICAgICAgICAgICAgIC0zMDAzLAor
ICAgIFdlYlVSTEVycm9yQ2Fubm90UmVtb3ZlRmlsZSA9ICAgICAgICAgICAgICAgIC0zMDA0LAor
ICAgIFdlYlVSTEVycm9yQ2Fubm90TW92ZUZpbGUgPSAgICAgICAgICAgICAgICAgIC0zMDA1LAor
ICAgIFdlYlVSTEVycm9yRG93bmxvYWREZWNvZGluZ0ZhaWxlZE1pZFN0cmVhbSA9IC0zMDA2LAor
ICAgIFdlYlVSTEVycm9yRG93bmxvYWREZWNvZGluZ0ZhaWxlZFRvQ29tcGxldGUgPS0zMDA3LAor
fTsKKworI2RlZmluZSBXZWJLaXRFcnJvckRvbWFpbiAgICJXZWJLaXRFcnJvckRvbWFpbiIKKwor
ZW51bSB7CisgICAgV2ViS2l0RXJyb3JDYW5ub3RTaG93TUlNRVR5cGUgPSAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgMTAwLAorICAgIFdlYktpdEVycm9yQ2Fubm90U2hvd1VSTCA9ICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMSwKKyAgICBXZWJLaXRFcnJvckZyYW1lTG9h
ZEludGVycnVwdGVkQnlQb2xpY3lDaGFuZ2UgPSAgICAgICAgICAgICAxMDIsCisgICAgV2ViS2l0
RXJyb3JDYW5ub3RVc2VSZXN0cmljdGVkUG9ydCA9ICAgICAgICAgICAgICAgICAgICAgICAgMTAz
LAorfTsKKworZW51bSB7CisgICAgV2ViS2l0RXJyb3JDYW5ub3RGaW5kUGx1Z0luID0gICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgMjAwLAorICAgIFdlYktpdEVycm9yQ2Fubm90TG9hZFBs
dWdJbiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMSwKKyAgICBXZWJLaXRFcnJv
ckphdmFVbmF2YWlsYWJsZSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAyMDIsCit9
OworCitlbnVtIHsKKyAgICBXZWJLaXRFcnJvckdlb2xvY2F0aW9uTG9jYXRpb25Vbmtub3duICA9
ICAgICAgICAgICAgICAgICAgICAzMDAsCit9OworCisjZGVmaW5lIFdlYktpdEVycm9yTUlNRVR5
cGVLZXkgICAiV2ViS2l0RXJyb3JNSU1FVHlwZUtleSIKKyNkZWZpbmUgV2ViS2l0RXJyb3JQbHVn
SW5OYW1lS2V5ICAgIldlYktpdEVycm9yUGx1Z0luTmFtZUtleSIKKyNkZWZpbmUgV2ViS2l0RXJy
b3JQbHVnSW5QYWdlVVJMU3RyaW5nS2V5ICAgIldlYktpdEVycm9yUGx1Z0luUGFnZVVSTFN0cmlu
Z0tleSIKKworI2RlZmluZSBXZWJQT1NJWEVycm9yRG9tYWluICAgIk5TUE9TSVhFcnJvckRvbWFp
biIKKyNkZWZpbmUgV2ViUE9TSVhFcnJvckVDT05OUkVTRVQgNTQKKworUmVzb3VyY2VFcnJvciBj
YW5jZWxsZWRFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3QpCit7CisgICAgcmV0
dXJuIFJlc291cmNlRXJyb3IoU3RyaW5nKFdlYlVSTEVycm9yRG9tYWluKSwgV2ViVVJMRXJyb3JD
YW5jZWxsZWQsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIFN0cmluZygpKTsKK30KKworUmVzb3Vy
Y2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQorewor
ICAgIHJldHVybiBSZXNvdXJjZUVycm9yKFN0cmluZyhXZWJLaXRFcnJvckRvbWFpbiksIFdlYktp
dEVycm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBvcnQsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIFN0
cmluZygpKTsKK30KKworUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93VVJMRXJyb3IoY29uc3QgUmVz
b3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKFN0cmlu
ZyhXZWJLaXRFcnJvckRvbWFpbiksIFdlYktpdEVycm9yQ2Fubm90U2hvd1VSTCwgcmVxdWVzdC51
cmwoKS5zdHJpbmcoKSwgU3RyaW5nKCkpOworfQorCitSZXNvdXJjZUVycm9yIGludGVycnVwdEZv
clBvbGljeUNoYW5nZUVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVxdWVzdCkKK3sKKyAg
ICByZXR1cm4gUmVzb3VyY2VFcnJvcihTdHJpbmcoV2ViS2l0RXJyb3JEb21haW4pLCBXZWJLaXRF
cnJvckZyYW1lTG9hZEludGVycnVwdGVkQnlQb2xpY3lDaGFuZ2UsIHJlcXVlc3QudXJsKCkuc3Ry
aW5nKCksIFN0cmluZygpKTsKK30KKworUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93TUlNRVR5cGVF
cnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gUmVz
b3VyY2VFcnJvcigpOworfQorCitSZXNvdXJjZUVycm9yIGZpbGVEb2VzTm90RXhpc3RFcnJvcihj
b25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VF
cnJvcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJhbWVO
ZXR3b3JraW5nQ29udGV4dC5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHRfaAorI2RlZmluZSBXZWJGcmFtZU5ldHdvcmtp
bmdDb250ZXh0X2gKKworI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVOZXR3b3JraW5nQ29udGV4dC5o
PgorCitjbGFzcyBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0IDogcHVibGljIFdlYkNvcmU6OkZy
YW1lTmV0d29ya2luZ0NvbnRleHQgeworcHVibGljOgorICAgIHN0YXRpYyBQYXNzUmVmUHRyPFdl
YkZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZShXZWJDb3JlOjpGcmFtZSopCisgICAgewor
ICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgV2ViRnJhbWVOZXR3b3Jr
aW5nQ29udGV4dChXZWJDb3JlOjpGcmFtZSogZnJhbWUpCisgICAgICAgIDogV2ViQ29yZTo6RnJh
bWVOZXR3b3JraW5nQ29udGV4dChmcmFtZSkKKyAgICB7CisgICAgfQorCisgICAgdmlydHVhbCBX
VEY6OlN0cmluZyB1c2VyQWdlbnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHJl
ZmVycmVyKCkgY29uc3Q7CisKKyAgICBXVEY6OlN0cmluZyBtX3VzZXJBZ2VudDsKK307CisKKyNl
bmRpZiAvLyBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0X2gKSW5kZXg6IFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5jcHAKPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmNwcAko
cmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBk
YXRlRHJhd2luZ0FyZWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTk2LDYg
Kzk3LDkgQEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpc3BsYXkoKQogICAgIC8v
IENyZWF0ZSBhIG5ldyBVcGRhdGVDaHVuayBhbmQgcGFpbnQgaW50byBpdC4KICAgICBVcGRhdGVD
aHVuayB1cGRhdGVDaHVuayhkaXJ0eVJlY3QpOwogICAgIHBhaW50SW50b1VwZGF0ZUNodW5rKCZ1
cGRhdGVDaHVuayk7CisjaWYgUExBVEZPUk0oR1RLKQorICAgIHhJRE1hcC5zZXQodXBkYXRlQ2h1
bmsueElEKCksIHVwZGF0ZUNodW5rLm1lbW9yeSgpKS5zZWNvbmQ7CisjZW5kaWYKIAogICAgIFdl
YlByb2Nlc3M6OnNoYXJlZCgpLmNvbm5lY3Rpb24oKS0+c2VuZChEcmF3aW5nQXJlYVByb3h5TWVz
c2FnZTo6VXBkYXRlLCBtX3dlYlBhZ2UtPnBhZ2VJRCgpLCBDb3JlSVBDOjpJbih1cGRhdGVDaHVu
aykpOwogCkBAIC0xNDMsNiArMTQ3LDkgQEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6
OnNldFNpemUoYwogICAgIC8vIENyZWF0ZSBhIG5ldyBVcGRhdGVDaHVuayBhbmQgcGFpbnQgaW50
byBpdC4KICAgICBVcGRhdGVDaHVuayB1cGRhdGVDaHVuayhJbnRSZWN0KDAsIDAsIHZpZXdTaXpl
LndpZHRoKCksIHZpZXdTaXplLmhlaWdodCgpKSk7CiAgICAgcGFpbnRJbnRvVXBkYXRlQ2h1bmso
JnVwZGF0ZUNodW5rKTsKKyNpZiBQTEFURk9STShHVEspCisgICAgeElETWFwLnNldCh1cGRhdGVD
aHVuay54SUQoKSwgdXBkYXRlQ2h1bmsubWVtb3J5KCkpLnNlY29uZDsKKyNlbmRpZgogCiAgICAg
bV9kaXNwbGF5VGltZXIuc3RvcCgpOwogCkBAIC0xNzIsNiArMTc5LDIxIEBAIHZvaWQgQ2h1bmtl
ZFVwZGF0ZURyYXdpbmdBcmVhOjpyZXN1bWVQYWkKICAgICBzY2hlZHVsZURpc3BsYXkoKTsKIH0K
IAorI2lmIFBMQVRGT1JNKEdUSykKK3ZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpkaWRV
cGRhdGUodWludDMyX3QgeElEKQoreworICAgIG1faXNXYWl0aW5nRm9yVXBkYXRlID0gZmFsc2U7
CisgICAgZnJlZUJpdE1hcE1lbW9yeSh4SUQpOworICAgIC8vIERpc3BsYXkgaWYgbmVlZGVkLgor
ICAgIGRpc3BsYXkoKTsKK30KKwordm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpZFNl
dFNpemVEb25lKHVpbnQzMl90IHhJRCkKK3sKKyAgICBmcmVlQml0TWFwTWVtb3J5KHhJRCk7Cit9
CisjZW5kaWYKKwogdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpZFVwZGF0ZSgpCiB7
CiAgICAgbV9pc1dhaXRpbmdGb3JVcGRhdGUgPSBmYWxzZTsKQEAgLTIxMiwxMCArMjM0LDI3IEBA
IHZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpkaWRSZWNlaXYKICAgICAgICAgICAgIHJl
c3VtZVBhaW50aW5nKGZvcmNlUmVwYWludCk7CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAg
fQotICAgICAgICBjYXNlIERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkVXBkYXRlOgorCisgICAgICAg
IGNhc2UgRHJhd2luZ0FyZWFNZXNzYWdlOjpEaWRVcGRhdGU6IHsKKyNpZiBQTEFURk9STShHVEsp
CisgICAgICAgICAgICB1aW50MzJfdCB4aWQ7CisgICAgICAgICAgICBpZiAoIWFyZ3VtZW50cy0+
ZGVjb2RlKENvcmVJUEM6Ok91dCh4aWQpKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAg
ICAgICAgICBkaWRVcGRhdGUoeGlkKTsKKyNlbHNlCiAgICAgICAgICAgICBkaWRVcGRhdGUoKTsK
KyNlbmRpZgogICAgICAgICAgICAgYnJlYWs7Ci0KKyAgICAgICAgfQorI2lmIFBMQVRGT1JNKEdU
SykKKyAgICAgICAgY2FzZSBEcmF3aW5nQXJlYU1lc3NhZ2U6OkRpZFNldFNpemVEb25lOiB7Cisg
ICAgICAgICAgICB1aW50MzJfdCB4aWQ7CisgICAgICAgICAgICBpZiAoIWFyZ3VtZW50cy0+ZGVj
b2RlKENvcmVJUEM6Ok91dCh4aWQpKSkKKyAgICAgICAgICAgICAgICByZXR1cm47CisgICAgICAg
ICAgICBkaWRTZXRTaXplRG9uZSh4aWQpOworICAgICAgICAgICAgYnJlYWs7CisgICAgICAgIH0K
KyNlbmRpZgogICAgICAgICBkZWZhdWx0OgogICAgICAgICAgICAgQVNTRVJUX05PVF9SRUFDSEVE
KCk7CiAgICAgICAgICAgICBicmVhazsKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5oCShyZXZpc2lvbiA3MDA5OCkK
KysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5o
CSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAg
KgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI5LDYgKzMwLDkgQEAKICNpbmNsdWRl
ICJEcmF3aW5nQXJlYS5oIgogI2luY2x1ZGUgIlJ1bkxvb3AuaCIKICNpbmNsdWRlIDxXZWJDb3Jl
L0ludFBvaW50Lmg+CisjaWYgUExBVEZPUk0oR1RLKQorI2luY2x1ZGUgPHd0Zi9IYXNoTWFwLmg+
CisjZW5kaWYKIAogbmFtZXNwYWNlIFdlYktpdCB7CiAKQEAgLTY5LDYgKzczLDEzIEBAIHByaXZh
dGU6CiAgICAgdm9pZCBwYWludEludG9VcGRhdGVDaHVuayhVcGRhdGVDaHVuayopOwogCiAgICAg
V2ViQ29yZTo6SW50UmVjdCBtX2RpcnR5UmVjdDsKKyNpZiBQTEFURk9STShHVEspCisgICAgLy8g
dG8gZGVzdHJveSB0aGUgc2hhcmVkIG1lbW9yeSB0aGF0IGlzIGNyZWF0ZWQgaW4gc2V0U2l6ZQor
ICAgIHZvaWQgZGlkU2V0U2l6ZURvbmUodWludDMyX3QpOworICAgIHZvaWQgZnJlZUJpdE1hcE1l
bW9yeSh1aW50MzJfdCk7CisgICAgdm9pZCBkaWRVcGRhdGUodWludDMyX3QpOworICAgIEhhc2hN
YXAgPHVpbnQzMl90LCB2b2lkKj4geElETWFwOworI2VuZGlmCiAgICAgYm9vbCBtX2lzV2FpdGlu
Z0ZvclVwZGF0ZTsKICAgICBib29sIG1fcGFpbnRpbmdJc1N1c3BlbmRlZDsKICAgICBSdW5Mb29w
OjpUaW1lcjxDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE+IG1fZGlzcGxheVRpbWVyOwpJbmRleDog
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYUd0
ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0NodW5r
ZWRVcGRhdGVEcmF3aW5nQXJlYUd0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9ndGsvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhR3RrLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw2NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuaCIKKworI2luY2x1ZGUgIlVwZGF0
ZUNodW5rLmgiCisjaW5jbHVkZSAiV2ViUGFnZS5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9HcmFw
aGljc0NvbnRleHQuaD4KKyNpbmNsdWRlIDxXZWJDb3JlL0ludFJlY3QuaD4KKwordXNpbmcgbmFt
ZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCit2b2lkIENodW5rZWRVcGRh
dGVEcmF3aW5nQXJlYTo6cGFpbnRJbnRvVXBkYXRlQ2h1bmsoVXBkYXRlQ2h1bmsqIHVwZGF0ZUNo
dW5rKQoreworICAgIEFTU0VSVCh1cGRhdGVDaHVuay0+aXNFbXB0eSgpKTsKKyAgICAgCisgICAg
R2RrUGl4bWFwKiBwaXhtYXAgPSB1cGRhdGVDaHVuay0+bWVtb3J5KCk7CisgICAgY2Fpcm9fdCog
Y3IgPSBnZGtfY2Fpcm9fY3JlYXRlKHBpeG1hcCk7CisgICAgR3JhcGhpY3NDb250ZXh0IGdjKGNy
KTsKKyAgICBnYy5zYXZlKCk7CisgICAgSW50UmVjdCByZWN0ID0gdXBkYXRlQ2h1bmstPnJlY3Qo
KTsKKyAgICBnYy50cmFuc2xhdGUoLXJlY3QueCgpLCAtcmVjdC55KCkpOworICAgIG1fd2ViUGFn
ZS0+ZHJhd1JlY3QoZ2MsIHVwZGF0ZUNodW5rLT5yZWN0KCkpOworICAgIGdjLnJlc3RvcmUoKTsK
KyAgICBjYWlyb19kZXN0cm95KGNyKTsKKyAgICBnZGtfZGlzcGxheV9zeW5jKGdka19kaXNwbGF5
X2dldF9kZWZhdWx0KCkpOworfQorCit2b2lkIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYTo6ZnJl
ZUJpdE1hcE1lbW9yeSh1aW50MzJfdCB4aWQpCit7CisgICAgR2RrUGl4bWFwKiBwaXhtYXAgPSAo
R2RrUGl4bWFwKil4SURNYXAuZ2V0KHhpZCk7CisgICAgQVNTRVJUKHBpeG1hcCk7CisgICAgZ19v
YmplY3RfdW5yZWYocGl4bWFwKTsKKyAgICB4SURNYXAucmVtb3ZlKHhpZCk7Cit9CisKKworfSAv
LyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsv
V2ViUGFnZUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Z3RrL1dlYlBhZ2VHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDIyNSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXZWJQYWdlLmgiCisK
KyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIldlYkV2ZW50LmgiCisjaW5j
bHVkZSAiV2luZG93c0tleWJvYXJkQ29kZXMuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvRm9jdXND
b250cm9sbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZS5oPgorI2luY2x1ZGUgPFdlYkNv
cmUvS2V5Ym9hcmRFdmVudC5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGFnZS5oPgorI2luY2x1ZGUg
PFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+CisjaW5jbHVkZSA8V2ViQ29yZS9TZXR0
aW5ncy5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisgICAgCit2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtSW5pdGlhbGl6ZSgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hh
bmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
Cit9CisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBDdHJsS2V5ID0gMSA8PCAwOworc3RhdGljIGNv
bnN0IHVuc2lnbmVkIEFsdEtleSA9IDEgPDwgMTsKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBTaGlm
dEtleSA9IDEgPDwgMjsKKworc3RydWN0IEtleURvd25FbnRyeSB7CisgICAgdW5zaWduZWQgdmly
dHVhbEtleTsKKyAgICB1bnNpZ25lZCBtb2RpZmllcnM7CisgICAgY29uc3QgY2hhciogbmFtZTsK
K307CisKK3N0cnVjdCBLZXlQcmVzc0VudHJ5IHsKKyAgICB1bnNpZ25lZCBjaGFyQ29kZTsKKyAg
ICB1bnNpZ25lZCBtb2RpZmllcnM7CisgICAgY29uc3QgY2hhciogbmFtZTsKK307CisKK3N0YXRp
YyBjb25zdCBLZXlEb3duRW50cnkga2V5RG93bkVudHJpZXNbXSA9IHsKKyAgICB7IFZLX0xFRlQs
ICAgMCwgICAgICAgICAgICAgICAgICAiTW92ZUxlZnQiICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICB7IFZLX0xFRlQsICAgU2hpZnRLZXksICAgICAgICAgICAiTW92
ZUxlZnRBbmRNb2RpZnlTZWxlY3Rpb24iICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0xF
RlQsICAgQ3RybEtleSwgICAgICAgICAgICAiTW92ZVdvcmRMZWZ0IiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0xFRlQsICAgQ3RybEtleSB8IFNoaWZ0S2V5LCAi
TW92ZVdvcmRMZWZ0QW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAgICAgfSwKKyAgICB7IFZL
X1JJR0hULCAgMCwgICAgICAgICAgICAgICAgICAiTW92ZVJpZ2h0IiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JJR0hULCAgU2hpZnRLZXksICAgICAgICAg
ICAiTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAgICAgICAgfSwKKyAgICB7
IFZLX1JJR0hULCAgQ3RybEtleSwgICAgICAgICAgICAiTW92ZVdvcmRSaWdodCIgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JJR0hULCAgQ3RybEtleSB8IFNoaWZ0
S2V5LCAiTW92ZVdvcmRSaWdodEFuZE1vZGlmeVNlbGVjdGlvbiIgICAgICAgICAgICAgfSwKKyAg
ICB7IFZLX1VQLCAgICAgMCwgICAgICAgICAgICAgICAgICAiTW92ZVVwIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1VQLCAgICAgU2hpZnRLZXksICAg
ICAgICAgICAiTW92ZVVwQW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICB7IFZLX1BSSU9SLCAgU2hpZnRLZXksICAgICAgICAgICAiTW92ZVBhZ2VVcEFuZE1vZGlm
eVNlbGVjdGlvbiIgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0RPV04sICAgMCwgICAgICAg
ICAgICAgICAgICAiTW92ZURvd24iICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICB7IFZLX0RPV04sICAgU2hpZnRLZXksICAgICAgICAgICAiTW92ZURvd25BbmRNb2Rp
ZnlTZWxlY3Rpb24iICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX05FWFQsICAgU2hpZnRL
ZXksICAgICAgICAgICAiTW92ZVBhZ2VEb3duQW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAg
ICAgfSwKKyAgICB7IFZLX1BSSU9SLCAgMCwgICAgICAgICAgICAgICAgICAiTW92ZVBhZ2VVcCIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX05FWFQsICAgMCwg
ICAgICAgICAgICAgICAgICAiTW92ZVBhZ2VEb3duIiAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICB7IFZLX0hPTUUsICAgMCwgICAgICAgICAgICAgICAgICAiTW92ZVRvQmVn
aW5uaW5nT2ZMaW5lIiAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0hPTUUsICAg
U2hpZnRLZXksICAgICAgICAgICAiTW92ZVRvQmVnaW5uaW5nT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0
aW9uIiAgICAgfSwKKyAgICB7IFZLX0hPTUUsICAgQ3RybEtleSwgICAgICAgICAgICAiTW92ZVRv
QmVnaW5uaW5nT2ZEb2N1bWVudCIgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0hPTUUs
ICAgQ3RybEtleSB8IFNoaWZ0S2V5LCAiTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudEFuZE1vZGlm
eVNlbGVjdGlvbiIgfSwKKyAgICAKKyAgICB7IFZLX0VORCwgICAgMCwgICAgICAgICAgICAgICAg
ICAiTW92ZVRvRW5kT2ZMaW5lIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7
IFZLX0VORCwgICAgU2hpZnRLZXksICAgICAgICAgICAiTW92ZVRvRW5kT2ZMaW5lQW5kTW9kaWZ5
U2VsZWN0aW9uIiAgICAgICAgICAgfSwKKyAgICB7IFZLX0VORCwgICAgQ3RybEtleSwgICAgICAg
ICAgICAiTW92ZVRvRW5kT2ZEb2N1bWVudCIgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICB7IFZLX0VORCwgICAgQ3RybEtleSB8IFNoaWZ0S2V5LCAiTW92ZVRvRW5kT2ZEb2N1bWVudEFu
ZE1vZGlmeVNlbGVjdGlvbiIgICAgICAgfSwKKyAgICAKKyAgICB7IFZLX0JBQ0ssICAgMCwgICAg
ICAgICAgICAgICAgICAiRGVsZXRlQmFja3dhcmQiICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICB7IFZLX0JBQ0ssICAgU2hpZnRLZXksICAgICAgICAgICAiRGVsZXRlQmFja3dh
cmQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0RFTEVURSwgMCwg
ICAgICAgICAgICAgICAgICAiRGVsZXRlRm9yd2FyZCIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICB7IFZLX0JBQ0ssICAgQ3RybEtleSwgICAgICAgICAgICAiRGVsZXRlV29y
ZEJhY2t3YXJkIiAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0RFTEVURSwg
Q3RybEtleSwgICAgICAgICAgICAiRGVsZXRlV29yZEZvcndhcmQiICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAKKyAgICB7ICdCJywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAi
VG9nZ2xlQm9sZCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdJ
JywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAiVG9nZ2xlSXRhbGljIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICAKKyAgICB7IFZLX0VTQ0FQRSwgMCwgICAgICAgICAg
ICAgICAgICAiQ2FuY2VsIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICB7IFZLX09FTV9QRVJJT0QsIEN0cmxLZXksICAgICAgICAiQ2FuY2VsIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1RBQiwgICAgMCwgICAgICAg
ICAgICAgICAgICAiSW5zZXJ0VGFiIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICB7IFZLX1RBQiwgICAgU2hpZnRLZXksICAgICAgICAgICAiSW5zZXJ0QmFja3RhYiIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JFVFVSTiwgMCwgICAg
ICAgICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICB7IFZLX1JFVFVSTiwgQ3RybEtleSwgICAgICAgICAgICAiSW5zZXJ0TmV3bGlu
ZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JFVFVSTiwgQWx0
S2V5LCAgICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICB7IFZLX1JFVFVSTiwgU2hpZnRLZXksICAgICAgICAgICAiSW5zZXJ0TmV3
bGluZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JFVFVSTiwg
QWx0S2V5IHwgU2hpZnRLZXksICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgfSwKKyAgICAKKyAgICAvLyBJdCdzIG5vdCBxdWl0ZSBjbGVhciB3aGV0aGVyIGNs
aXBib2FyZCBzaG9ydGN1dHMgYW5kIFVuZG8vUmVkbyBzaG91bGQgYmUgaGFuZGxlZAorICAgIC8v
IGluIHRoZSBhcHBsaWNhdGlvbiBvciBpbiBXZWJLaXQuIFdlIGNob3NlIFdlYktpdC4KKyAgICB7
ICdDJywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAiQ29weSIgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdWJywgICAgICAgQ3RybEtleSwgICAgICAg
ICAgICAiUGFzdGUiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICB7ICdYJywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAiQ3V0IiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdBJywgICAgICAgQ3RybEtleSwgICAg
ICAgICAgICAiU2VsZWN0QWxsIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICB7IFZLX0lOU0VSVCwgQ3RybEtleSwgICAgICAgICAgICAiQ29weSIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0RFTEVURSwgU2hpZnRLZXks
ICAgICAgICAgICAiQ3V0IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICB7IFZLX0lOU0VSVCwgU2hpZnRLZXksICAgICAgICAgICAiUGFzdGUiICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdaJywgICAgICAgQ3RybEtl
eSwgICAgICAgICAgICAiVW5kbyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICB7ICdaJywgICAgICAgQ3RybEtleSB8IFNoaWZ0S2V5LCAiUmVkbyIgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKK307CisKK3N0YXRpYyBjb25zdCBL
ZXlQcmVzc0VudHJ5IGtleVByZXNzRW50cmllc1tdID0geworICAgIHsgJ1x0JywgICAwLCAgICAg
ICAgICAgICAgICAgICJJbnNlcnRUYWIiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICB9LAorICAgIHsgJ1x0JywgICBTaGlmdEtleSwgICAgICAgICAgICJJbnNlcnRCYWNrdGFiIiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgJ1xyJywgICAwLCAgICAgICAg
ICAgICAgICAgICJJbnNlcnROZXdsaW5lIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9
LAorICAgIHsgJ1xyJywgICBDdHJsS2V5LCAgICAgICAgICAgICJJbnNlcnROZXdsaW5lIiAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgJ1xyJywgICBBbHRLZXksICAgICAg
ICAgICAgICJJbnNlcnROZXdsaW5lIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAor
ICAgIHsgJ1xyJywgICBTaGlmdEtleSwgICAgICAgICAgICJJbnNlcnROZXdsaW5lIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgJ1xyJywgICBBbHRLZXkgfCBTaGlmdEtl
eSwgICJJbnNlcnROZXdsaW5lIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorfTsK
KworY29uc3QgY2hhciogV2ViUGFnZTo6aW50ZXJwcmV0S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRF
dmVudCogZXZ0KQoreworICAgIEFTU0VSVChldnQtPnR5cGUoKSA9PSBldmVudE5hbWVzKCkua2V5
ZG93bkV2ZW50IHx8IGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlwcmVzc0V2ZW50KTsK
KyAgICAKKyAgICBzdGF0aWMgSGFzaE1hcDxpbnQsIGNvbnN0IGNoYXIqPioga2V5RG93bkNvbW1h
bmRzTWFwID0gMDsKKyAgICBzdGF0aWMgSGFzaE1hcDxpbnQsIGNvbnN0IGNoYXIqPioga2V5UHJl
c3NDb21tYW5kc01hcCA9IDA7CisgICAgCisgICAgaWYgKCFrZXlEb3duQ29tbWFuZHNNYXApIHsK
KyAgICAgICAga2V5RG93bkNvbW1hbmRzTWFwID0gbmV3IEhhc2hNYXA8aW50LCBjb25zdCBjaGFy
Kj47CisgICAgICAgIGtleVByZXNzQ29tbWFuZHNNYXAgPSBuZXcgSGFzaE1hcDxpbnQsIGNvbnN0
IGNoYXIqPjsKKyAgICAgICAgCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAoc2l6
ZW9mKGtleURvd25FbnRyaWVzKSAvIHNpemVvZihrZXlEb3duRW50cmllc1swXSkpOyBpKyspCisg
ICAgICAgICAgICBrZXlEb3duQ29tbWFuZHNNYXAtPnNldChrZXlEb3duRW50cmllc1tpXS5tb2Rp
ZmllcnMgPDwgMTYgfCBrZXlEb3duRW50cmllc1tpXS52aXJ0dWFsS2V5LCBrZXlEb3duRW50cmll
c1tpXS5uYW1lKTsKKyAgICAgICAgCisgICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCAo
c2l6ZW9mKGtleVByZXNzRW50cmllcykgLyBzaXplb2Yoa2V5UHJlc3NFbnRyaWVzWzBdKSk7IGkr
KykKKyAgICAgICAgICAgIGtleVByZXNzQ29tbWFuZHNNYXAtPnNldChrZXlQcmVzc0VudHJpZXNb
aV0ubW9kaWZpZXJzIDw8IDE2IHwga2V5UHJlc3NFbnRyaWVzW2ldLmNoYXJDb2RlLCBrZXlQcmVz
c0VudHJpZXNbaV0ubmFtZSk7CisgICAgfQorICAgIAorICAgIHVuc2lnbmVkIG1vZGlmaWVycyA9
IDA7CisgICAgaWYgKGV2dC0+c2hpZnRLZXkoKSkKKyAgICAgICAgbW9kaWZpZXJzIHw9IFNoaWZ0
S2V5OworICAgIGlmIChldnQtPmFsdEtleSgpKQorICAgICAgICBtb2RpZmllcnMgfD0gQWx0S2V5
OworICAgIGlmIChldnQtPmN0cmxLZXkoKSkKKyAgICAgICAgbW9kaWZpZXJzIHw9IEN0cmxLZXk7
CisgICAgCisgICAgaWYgKGV2dC0+dHlwZSgpID09IGV2ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQp
IHsKKyAgICAgICAgaW50IG1hcEtleSA9IG1vZGlmaWVycyA8PCAxNiB8IGV2dC0+a2V5RXZlbnQo
KS0+d2luZG93c1ZpcnR1YWxLZXlDb2RlKCk7CisgICAgICAgIHJldHVybiBtYXBLZXkgPyBrZXlE
b3duQ29tbWFuZHNNYXAtPmdldChtYXBLZXkpIDogMDsKKyAgICB9CisgICAgCisgICAgaW50IG1h
cEtleSA9IG1vZGlmaWVycyA8PCAxNiB8IGV2dC0+Y2hhckNvZGUoKTsKKyAgICByZXR1cm4gbWFw
S2V5ID8ga2V5UHJlc3NDb21tYW5kc01hcC0+Z2V0KG1hcEtleSkgOiAwOworfQorCitzdGF0aWMg
aW5saW5lIHZvaWQgc2Nyb2xsKFBhZ2UqIHBhZ2UsIFNjcm9sbERpcmVjdGlvbiBkaXJlY3Rpb24s
IFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQoreworICAgIHBhZ2UtPmZvY3VzQ29udHJv
bGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKS0+ZXZlbnRIYW5kbGVyKCktPnNjcm9sbFJlY3Vy
c2l2ZWx5KGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHkpOworfQorCitib29sIFdlYlBhZ2U6OnBlcmZv
cm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JiBrZXli
b2FyZEV2ZW50KQoreworICAgIGlmIChrZXlib2FyZEV2ZW50LnR5cGUoKSAhPSBXZWJFdmVudDo6
S2V5RG93biAmJiBrZXlib2FyZEV2ZW50LnR5cGUoKSAhPSBXZWJFdmVudDo6UmF3S2V5RG93bikK
KyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc3dpdGNoIChrZXlib2FyZEV2ZW50LndpbmRv
d3NWaXJ0dWFsS2V5Q29kZSgpKSB7CisgICAgY2FzZSBWS19CQUNLOgorICAgICAgICBpZiAoa2V5
Ym9hcmRFdmVudC5zaGlmdEtleSgpKQorICAgICAgICAgICAgbV9wYWdlLT5nb0ZvcndhcmQoKTsK
KyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9wYWdlLT5nb0JhY2soKTsKKyAgICAgICAgYnJl
YWs7CisgICAgY2FzZSBWS19TUEFDRToKKyAgICAgICAgc2Nyb2xsKG1fcGFnZS5nZXQoKSwga2V5
Ym9hcmRFdmVudC5zaGlmdEtleSgpID8gU2Nyb2xsVXAgOiBTY3JvbGxEb3duLCBTY3JvbGxCeVBh
Z2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFZLX0xFRlQ6CisgICAgICAgIHNjcm9sbCht
X3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5TGluZSk7CisgICAgICAgIGJyZWFrOwor
ICAgIGNhc2UgVktfUklHSFQ6CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJp
Z2h0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFZLX1VQOgorICAg
ICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAg
ICAgYnJlYWs7CisgICAgY2FzZSBWS19ET1dOOgorICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgp
LCBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFZL
X0hPTUU6CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbFVwLCBTY3JvbGxCeURv
Y3VtZW50KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBWS19FTkQ6CisgICAgICAgIHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9sbEJ5RG9jdW1lbnQpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIFZLX1BSSU9SOgorICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxVcCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBWS19ORVhU
OgorICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeVBhZ2Up
OworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0OgorICAgICAgICByZXR1cm4gZmFsc2U7Cisg
ICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRl
eDogV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAJKHJldmlz
aW9uIDApCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcAko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp
IDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgor
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1
dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRp
b24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJ
VFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQg
V0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElF
RCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJ
TkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5E
SVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJ
QUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
CisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5E
IE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RS
SUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgor
ICovCisKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWFpbkd0ay5oIgorCisjaW5jbHVkZSAiV0tCYXNl
LmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhhbmRsZS5oPgorI2luY2x1ZGUgPFdlYktp
dDIvUnVuTG9vcC5oPgorI2luY2x1ZGUgPFdlYktpdDIvV2ViUHJvY2Vzcy5oPgorI2luY2x1ZGUg
PGd0ay9ndGsuaD4KKyNpbmNsdWRlIDxydW50aW1lL0luaXRpYWxpemVUaHJlYWRpbmcuaD4KKyNp
bmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisKKworbmFtZXNw
YWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViUHJvY2Vzczo6cGxhdGZvcm1TZXRDYWNoZU1vZGVsKENh
Y2hlTW9kZWwgY2FjaGVNb2RlbCkKK3sKKyAgICAvLyBGSVhNRTogSW1wbGVtZW50LgorfQorCitX
S19FWFBPUlQgaW50IFdlYlByb2Nlc3NNYWluR3RrKGludCBhcmdjLCBjaGFyKiBhcmd2W10pCit7
CisgICAgQVNTRVJUKGFyZ2MgPT0gMik7CisKKyAgICBpZiAoZ2V0ZW52KCJXRUJLSVQyX0RFQlVH
X01PREUiKSkKKyAgICAgICAgc2xlZXAoMzApOworCisgICAgZ3RrX2luaXQoJmFyZ2MsICZhcmd2
KTsKKyAgICBnX3R5cGVfaW5pdCgpOworCisgICAgSlNDOjppbml0aWFsaXplVGhyZWFkaW5nKCk7
CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgpOworICAgIAorICAgIFJ1bkxvb3A6Omlu
aXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFdlYkNvcmU6OlJlc291cmNlSGFuZGxlOjpkZWZh
dWx0U2Vzc2lvbigpOworICAgCisgICAgaW50IHNvY2tldCA9IGF0b2koYXJndlsxXSk7CisgICAg
V2ViUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZShzb2NrZXQsIFJ1bkxvb3A6Om1haW4oKSk7
CisgICAgUnVuTG9vcDo6cnVuKCk7CisKKyAgICByZXR1cm4gMDsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3Rr
LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0
ay5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFp
bkd0ay5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQyIEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJQcm9jZXNzTWFpbkd0a19oCisjZGVmaW5lIFdlYlBy
b2Nlc3NNYWluR3RrX2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworV0tfRVhQT1JU
IGludCBXZWJQcm9jZXNzTWFpbkd0ayhpbnQgYXJnYywgY2hhciogYXJndltdKTsKK30gLy8gZXh0
ZXJuICJDIgorI2VuZGlmIC8vIF9fY3BsdXNwbHVzCisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAor
CisjZW5kaWYgLy8gV2ViUHJvY2Vzc01haW5faApJbmRleDogV2ViS2l0Mi9ndGsvTWFpbkd0ay5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9ndGsvTWFpbkd0ay5jcHAJKHJldmlzaW9uIDApCisr
KyBXZWJLaXQyL2d0ay9NYWluR3RrLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzMiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWFp
bkd0ay5oIgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hhcioqIGFyZ3YpCit7CisgICAgcmV0dXJu
IFdlYktpdDo6V2ViUHJvY2Vzc01haW5HdGsoYXJnYywgYXJndik7Cit9CkluZGV4OiBXZWJLaXQy
L2d0ay93ZWJraXQyLnBjLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvZ3RrL3dlYmtpdDIucGMu
aW4JKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCShyZXZpc2lvbiAw
KQpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3By
ZWZpeEAKK2xpYmRpcj1AbGliZGlyQAoraW5jbHVkZWRpcj1AaW5jbHVkZWRpckAKKworTmFtZTog
V2ViS2l0MgorRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3IgR1RLKworVmVyc2lv
bjogQFZFUlNJT05ACitSZXF1aXJlczogZ2xpYi0yLjAgZ3RrKy1AR1RLX0FQSV9WRVJTSU9OQCBs
aWJzb3VwLTIuNAorTGliczogLUwke2xpYmRpcn0gLWx3ZWJraXQyZ3RrLUBXRUJLSVRHVEtfQVBJ
X1ZFUlNJT05ACitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJ
X1ZFUlNJT05ACkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0VG9vbHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3MDA5OCkKKysrIFdlYktpdFRvb2xzL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDQ0IEBACisyMDEwLTEwLTIyICBBbXJ1dGgg
UmFqL1JhdmkgS2FzaWJoYXRsYSAgPGFtcnV0aHJhakBtb3Rvcm9sYS5jb20vcmF2aS5rYXNpYmhh
dGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4K
KworICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9yIEd0ayBwb3J0LiAKKyAgICAgICAg
KGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAg
ICAqIE1pbmlCcm93c2VyL2d0azogQWRkZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL0Jy
b3dzZXJWaWV3LmNwcDogQWRkZWQuCisgICAgICAgIChCcm93c2VyVmlldzo6QnJvd3NlclZpZXcp
OgorICAgICAgICAoQnJvd3NlclZpZXc6On5Ccm93c2VyVmlldyk6CisgICAgICAgIChCcm93c2Vy
Vmlldzo6bG9hZFVybCk6CisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3Lmg6
IEFkZGVkLgorICAgICAgICAoQnJvd3NlclZpZXc6OmdldFdlYlZpZXcpOgorICAgICAgICAoQnJv
d3NlclZpZXc6OmdldFBhZ2VSZWYpOgorICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9Ccm93c2Vy
V2luZG93LmNwcDogQWRkZWQuCisgICAgICAgIChCcm93c2VyV2luZG93OjpCcm93c2VyV2luZG93
KToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6On5Ccm93c2VyV2luZG93KToKKyAgICAgICAgKEJy
b3dzZXJXaW5kb3c6OmdldFVybGVudHJ5KToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OmFjdGl2
YXRlVXJsRW50cnkpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6Z290b1VSTCk6CisgICAgICAg
IChCcm93c2VyV2luZG93OjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6
c2hvd1dpbmRvdyk6CisgICAgICAgIChCcm93c2VyV2luZG93OjpjcmVhdGVNZW51YmFyKToKKyAg
ICAgICAgKEJyb3dzZXJXaW5kb3c6OmNyZWF0ZVRvb2xiYXIpOgorICAgICAgICAoQnJvd3Nlcldp
bmRvdzo6Y3JlYXRlQnJvd3Nlcik6CisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJX
aW5kb3cuaDogQWRkZWQuCisgICAgICAgIChCcm93c2VyV2luZG93OjpjcmVhdGUpOgorICAgICAg
ICAqIE1pbmlCcm93c2VyL2d0ay9HTlVtYWtlZmlsZS5hbTogQWRkZWQuCisgICAgICAgICogTWlu
aUJyb3dzZXIvZ3RrL01pbmlCcm93c2VyLmNwcDogQWRkZWQuCisgICAgICAgIChNaW5pQnJvd3Nl
cjo6c2hhcmVkKToKKyAgICAgICAgKE1pbmlCcm93c2VyOjp+TWluaUJyb3dzZXIpOgorICAgICAg
ICAoTWluaUJyb3dzZXI6OmNyZWF0ZU5ld1dpbmRvdyk6CisgICAgICAgIChNaW5pQnJvd3Nlcjo6
Y2xvc2VDdXJyZW50V2luZG93KToKKyAgICAgICAgKE1pbmlCcm93c2VyOjpyZWdpc3RlcldpbmRv
dyk6CisgICAgICAgIChNaW5pQnJvd3Nlcjo6dW5yZWdpc3RlcldpbmRvdyk6CisgICAgICAgIChN
aW5pQnJvd3Nlcjo6Y3JlYXRlV2luZG93KToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvTWlu
aUJyb3dzZXIuaDogQWRkZWQuCisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL21haW4uY3BwOiBB
ZGRlZC4KKyAgICAgICAgKG1haW4pOgorCiAyMDEwLTEwLTE5ICBFcmljIFNlaWRlbCAgPGVyaWNA
d2Via2l0Lm9yZz4KIAogICAgICAgICBVbnJldmlld2VkLgpJbmRleDogV2ViS2l0VG9vbHMvTWlu
aUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9N
aW5pQnJvd3Nlci9ndGsvQnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0VG9v
bHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw1OCBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCAK
KyAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3IgCisgKiBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTW90
b3JvbGEgTW9iaWxpdHksIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSAKKyAqIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgCisgKiBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiAKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCAKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIAorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
CisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiQnJvd3NlclZpZXcuaCIK
KworI2luY2x1ZGUgIkJyb3dzZXJXaW5kb3cuaCIKKworQnJvd3NlclZpZXc6OkJyb3dzZXJWaWV3
KCkKKyAgICA6IG1fd2t2aWV3KDApCit7Cit9CisKK0Jyb3dzZXJWaWV3OjpCcm93c2VyVmlldyhH
ZGtSZWN0YW5nbGUgd2ViVmlld1JlY3QsIEd0a1dpZGdldCogcGFyZW50V2luZG93KQoreworICAg
IFdLQ29udGV4dFJlZiBjb250ZXh0ID0gV0tDb250ZXh0R2V0U2hhcmVkUHJvY2Vzc0NvbnRleHQo
KTsKKworICAgIFdLUGFnZU5hbWVzcGFjZVJlZiBwYWdlTmFtZXNwYWNlID0gV0tQYWdlTmFtZXNw
YWNlQ3JlYXRlKGNvbnRleHQpOworICAgICAgICAgICAgCisgICAgbV93a3ZpZXcgPSBXS1ZpZXdD
cmVhdGUod2ViVmlld1JlY3QsIHBhZ2VOYW1lc3BhY2UsIHBhcmVudFdpbmRvdyk7Cit9CisKK0Jy
b3dzZXJWaWV3Ojp+QnJvd3NlclZpZXcoKQoreworICAgIFdLUGFnZUNsb3NlKGdldFBhZ2VSZWYo
KSk7Cit9CisKK3ZvaWQgQnJvd3NlclZpZXc6OmxvYWRVcmwoY29uc3QgY2hhciogdXJsKQorewor
ICAgIFdLUGFnZUxvYWRVUkwoZ2V0UGFnZVJlZigpLCBXS1VSTENyZWF0ZVdpdGhVUkwodXJsKSk7
Cit9CisKSW5kZXg6IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVmlldy5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVmlldy5oCShy
ZXZpc2lvbiAwKQorKysgV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3LmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgCisgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAq
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KgorICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIAorICog
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgCisgKiBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IAorICogc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCAKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIAorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSAKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIAorICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lm
bmRlZiBCcm93c2VyVmlld19oCisjZGVmaW5lIEJyb3dzZXJWaWV3X2gKKworI2luY2x1ZGUgPFdl
YktpdDIvV2ViS2l0Mi5oPgorI2luY2x1ZGUgPGd0ay9ndGsuaD4KKworY2xhc3MgQnJvd3NlclZp
ZXcgeworcHVibGljOiAKKyAgICBCcm93c2VyVmlldygpOworICAgIEJyb3dzZXJWaWV3KEdka1Jl
Y3RhbmdsZSB3ZWJWaWV3UmVjdCwgR3RrV2lkZ2V0KiBwYXJlbnRXaW5kb3cpOworICAgIH5Ccm93
c2VyVmlldygpOworICAgIAorICAgIHZvaWQgbG9hZFVybChjb25zdCBjaGFyKiB1cmwpOworICAg
IAorICAgIEd0a1dpZGdldCogZ2V0V2ViVmlldygpIGNvbnN0CisgICAgeworICAgICAgICByZXR1
cm4gV0tWaWV3R2V0V2luZG93KG1fd2t2aWV3KTsKKyAgICB9IAorCitwcml2YXRlOgorICAgIFdL
UGFnZVJlZiBnZXRQYWdlUmVmKCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBXS1ZpZXdH
ZXRQYWdlKG1fd2t2aWV3KTsKKyAgICB9CisgICAgCisgICAgV0tWaWV3UmVmIG1fd2t2aWV3Owor
fTsKKworI2VuZGlmIC8vIEJyb3dzZXJWaWV3X2gKSW5kZXg6IFdlYktpdFRvb2xzL01pbmlCcm93
c2VyL2d0ay9Ccm93c2VyV2luZG93LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9NaW5p
QnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXRUb29s
cy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsMTUzIEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24s
IAorICogYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cyBhcmUgbWV0OgorICoKKyAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgCisgKiB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoKKyAqIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGlj
ZSwgCisgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciAKKyAqIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogTmVpdGhlciB0aGUgbmFtZSBvZiBN
b3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMg
bWF5IAorICogYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBm
cm9tIHRoaXMgc29mdHdhcmUgd2l0aG91dCAKKyAqIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklH
SFQgSE9MREVSUyBBTkQgQ09OVFJJQlVUT1JTIAorICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIAorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5U
IFNIQUxMIFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAorICogQ09OVFJJQlVUT1JTIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIAorICogRVhF
TVBMQVJZLCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCAKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiAKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgCisgKiBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyAKKyAqIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyAKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJCcm93c2VyV2luZG93
LmgiCisKKyNpbmNsdWRlICJCcm93c2VyVmlldy5oIgorI2luY2x1ZGUgIk1pbmlCcm93c2VyLmgi
CisKK0Jyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3coKQorICAgIDogbV9icm93c2VyVmlldygw
KQorICAgICwgbV93aW5kb3dNYWluKDApCisgICAgLCBtX3dpbmRvd0dyb3VwKDApCisgICAgLCBt
X3dpbmRvd1VSTEVudHJ5KDApCit7Cit9CisKK0Jyb3dzZXJXaW5kb3c6On5Ccm93c2VyV2luZG93
KCkKK3sKKyAgICBpZiAobV9icm93c2VyVmlldykgeworICAgICAgICBkZWxldGUgbV9icm93c2Vy
VmlldzsKKyAgICAgICAgbV9icm93c2VyVmlldyA9IDA7CisgICAgfQorICAgIGd0a193aWRnZXRf
ZGVzdHJveShtX3dpbmRvd01haW4pOworfQorCitjb25zdCBnY2hhciogQnJvd3NlcldpbmRvdzo6
Z2V0VXJsZW50cnkoKQoreworICAgIHJldHVybiBndGtfZW50cnlfZ2V0X3RleHQoR1RLX0VOVFJZ
KG1fd2luZG93VVJMRW50cnkpKTsKK30KKwordm9pZCBCcm93c2VyV2luZG93OjphY3RpdmF0ZVVy
bEVudHJ5KEd0a1dpZGdldCogd2lkZ2V0LCBncG9pbnRlciBkYXRhKQoreworICAgIEJyb3dzZXJX
aW5kb3cqIGJyb3dzZXJXaW5kb3cgPSBzdGF0aWNfY2FzdDxCcm93c2VyV2luZG93Kj4oZGF0YSk7
CisgICAgY29uc3QgZ2NoYXIqIHVybCA9IGJyb3dzZXJXaW5kb3ctPmdldFVybGVudHJ5KCk7Cisg
ICAgYnJvd3NlcldpbmRvdy0+Z290b1VSTCh1cmwpOworfQorCit2b2lkIEJyb3dzZXJXaW5kb3c6
OmdvdG9VUkwoY29uc3QgY2hhciogdXJsKQoreworICAgIG1fYnJvd3NlclZpZXctPmxvYWRVcmwo
dXJsKTsKK30KKwordm9pZCBCcm93c2VyV2luZG93OjpjcmVhdGVXaW5kb3coaW50IHdpZHRoLCBp
bnQgaGVpZ2h0KQoreworICAgIEd0a1dpZGdldCogd2luZG93VmJveCA9IGd0a192Ym94X25ldyhG
QUxTRSwgMCk7CisgICAgCisgICAgbV93aW5kb3dNYWluID0gZ3RrX3dpbmRvd19uZXcoR1RLX1dJ
TkRPV19UT1BMRVZFTCk7CisgICAgZ3RrX3dpbmRvd19zZXRfZGVmYXVsdF9zaXplKEdUS19XSU5E
T1cobV93aW5kb3dNYWluKSwgd2lkdGgsIGhlaWdodCk7CisgICAgZ3RrX3dpZGdldF9zZXRfbmFt
ZShtX3dpbmRvd01haW4sICJNaW5pQnJvd3NlciIpOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoR19P
QkpFQ1QobV93aW5kb3dNYWluKSwgImRlc3Ryb3kiLCBHX0NBTExCQUNLKE1pbmlCcm93c2VyOjpj
bG9zZUN1cnJlbnRXaW5kb3cpLCAoZ3BvaW50ZXIpdGhpcyk7CisKKyAgICBndGtfYm94X3BhY2tf
c3RhcnQoR1RLX0JPWCh3aW5kb3dWYm94KSwgY3JlYXRlTWVudWJhcigpLCBGQUxTRSwgRkFMU0Us
IDApOworICAgIGd0a19ib3hfcGFja19zdGFydChHVEtfQk9YKHdpbmRvd1Zib3gpLCBjcmVhdGVU
b29sYmFyKCksIEZBTFNFLCBGQUxTRSwgMCk7CisgICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19C
T1god2luZG93VmJveCksIGNyZWF0ZUJyb3dzZXIoKSwgVFJVRSwgVFJVRSwgMCk7CisKKyAgICBn
dGtfd2luZG93X2FkZF9hY2NlbF9ncm91cChHVEtfV0lORE9XKG1fd2luZG93TWFpbiksIG1fd2lu
ZG93R3JvdXApOworICAgIGd0a19jb250YWluZXJfYWRkKEdUS19DT05UQUlORVIobV93aW5kb3dN
YWluKSwgd2luZG93VmJveCk7Cit9CisKK3ZvaWQgQnJvd3NlcldpbmRvdzo6c2hvd1dpbmRvdygp
Cit7CisgICAgZ3RrX3dpZGdldF9ncmFiX2ZvY3VzKEdUS19XSURHRVQobV9icm93c2VyVmlldy0+
Z2V0V2ViVmlldygpKSk7CisgICAgZ3RrX3dpZGdldF9zaG93X2FsbChtX3dpbmRvd01haW4pOwor
fQorCitHdGtXaWRnZXQqIEJyb3dzZXJXaW5kb3c6OmNyZWF0ZU1lbnViYXIoKQoreworICAgIEd0
a1dpZGdldCogZmlsZSwgKmZpbGVNZW51LCAqd2luZG93TmV3LCAqd2luZG93Q2xvc2U7CisgICAg
R3RrV2lkZ2V0KiB3aW5kb3dNZW51YmFyID0gZ3RrX21lbnVfYmFyX25ldygpOworICAgIG1fd2lu
ZG93R3JvdXAgPSBndGtfYWNjZWxfZ3JvdXBfbmV3KCk7CisKKyAgICBmaWxlID0gZ3RrX21lbnVf
aXRlbV9uZXdfd2l0aF9sYWJlbCgiRmlsZSIpOworICAgIGZpbGVNZW51ID0gZ3RrX21lbnVfbmV3
KCk7CisgICAgZ3RrX21lbnVfaXRlbV9zZXRfc3VibWVudShHVEtfTUVOVV9JVEVNKGZpbGUpLCBm
aWxlTWVudSk7CisgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kKEdUS19NRU5VX1NIRUxMKHdpbmRv
d01lbnViYXIpLCBmaWxlKTsKKworICAgIHdpbmRvd05ldyA9IGd0a19pbWFnZV9tZW51X2l0ZW1f
bmV3X2Zyb21fc3RvY2soR1RLX1NUT0NLX05FVywgbV93aW5kb3dHcm91cCk7CisgICAgZ19zaWdu
YWxfY29ubmVjdChHX09CSkVDVCh3aW5kb3dOZXcpLCAiYWN0aXZhdGUiLCBHX0NBTExCQUNLKE1p
bmlCcm93c2VyOjpjcmVhdGVOZXdXaW5kb3cpLCBOVUxMKTsKKyAgICB3aW5kb3dDbG9zZSA9IGd0
a19pbWFnZV9tZW51X2l0ZW1fbmV3X2Zyb21fc3RvY2soR1RLX1NUT0NLX1FVSVQsIG1fd2luZG93
R3JvdXApOworICAgIGdfc2lnbmFsX2Nvbm5lY3QoR19PQkpFQ1Qod2luZG93Q2xvc2UpLCAiYWN0
aXZhdGUiLCBHX0NBTExCQUNLKE1pbmlCcm93c2VyOjpjbG9zZUN1cnJlbnRXaW5kb3cpLCAoZ3Bv
aW50ZXIpdGhpcyk7CisgICAgZ3RrX21lbnVfc2hlbGxfYXBwZW5kKEdUS19NRU5VX1NIRUxMKGZp
bGVNZW51KSwgd2luZG93TmV3KTsKKyAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQoR1RLX01FTlVf
U0hFTEwoZmlsZU1lbnUpLCB3aW5kb3dDbG9zZSk7CisKKyAgICByZXR1cm4gd2luZG93TWVudWJh
cjsKK30KKworR3RrV2lkZ2V0KiBCcm93c2VyV2luZG93OjpjcmVhdGVUb29sYmFyKCkKK3sKKyAg
ICBHdGtXaWRnZXQqIHdpbmRvd1Rvb2xiYXIgPSBndGtfdG9vbGJhcl9uZXcoKTsKKyAgICBndGtf
dG9vbGJhcl9zZXRfb3JpZW50YXRpb24oR1RLX1RPT0xCQVIod2luZG93VG9vbGJhciksIEdUS19P
UklFTlRBVElPTl9IT1JJWk9OVEFMKTsgCisgICAgZ3RrX3Rvb2xiYXJfc2V0X3N0eWxlKEdUS19U
T09MQkFSKHdpbmRvd1Rvb2xiYXIpLCBHVEtfVE9PTEJBUl9CT1RIX0hPUklaKTsKKyAgICBHdGtU
b29sSXRlbSogaXRlbTsKKworICAgIC8vIFRoZSBVUkwgZW50cnkKKyAgICBpdGVtID0gZ3RrX3Rv
b2xfaXRlbV9uZXcoKTsKKyAgICBndGtfdG9vbF9pdGVtX3NldF9leHBhbmQoaXRlbSwgVFJVRSk7
CisgICAgbV93aW5kb3dVUkxFbnRyeSA9IGd0a19lbnRyeV9uZXcoKTsKKyAgICBndGtfY29udGFp
bmVyX2FkZChHVEtfQ09OVEFJTkVSKGl0ZW0pLCBtX3dpbmRvd1VSTEVudHJ5KTsKKyAgICBnX3Np
Z25hbF9jb25uZWN0KEdfT0JKRUNUKG1fd2luZG93VVJMRW50cnkpLCAiYWN0aXZhdGUiLCBHX0NB
TExCQUNLKEJyb3dzZXJXaW5kb3c6OmFjdGl2YXRlVXJsRW50cnkpLCAoZ3BvaW50ZXIpdGhpcyk7
CisgICAgZ3RrX3Rvb2xiYXJfaW5zZXJ0KEdUS19UT09MQkFSKHdpbmRvd1Rvb2xiYXIpLCBpdGVt
LCAtMSk7IAorICAgIAorICAgIC8vIFRoZSBHbyBidXR0b24KKyAgICBpdGVtID0gZ3RrX3Rvb2xf
YnV0dG9uX25ld19mcm9tX3N0b2NrKEdUS19TVE9DS19PSyk7CisgICAgZ19zaWduYWxfY29ubmVj
dChHX09CSkVDVChpdGVtKSwgImNsaWNrZWQiLCBHX0NBTExCQUNLKEJyb3dzZXJXaW5kb3c6OmFj
dGl2YXRlVXJsRW50cnkpLCAoZ3BvaW50ZXIpdGhpcyk7CisgICAgZ3RrX3Rvb2xiYXJfaW5zZXJ0
KEdUS19UT09MQkFSKHdpbmRvd1Rvb2xiYXIpLCBpdGVtLCAtMSk7CisgICAgZ3RrX3Rvb2xiYXJf
c2V0X2ljb25fc2l6ZShHVEtfVE9PTEJBUih3aW5kb3dUb29sYmFyKSwgR1RLX0lDT05fU0laRV9T
TUFMTF9UT09MQkFSKTsKKworICAgIHJldHVybiB3aW5kb3dUb29sYmFyOworfQorCitHdGtXaWRn
ZXQqIEJyb3dzZXJXaW5kb3c6OmNyZWF0ZUJyb3dzZXIoKQoreworICAgIGludCB3aWR0aCA9IDAs
IGhlaWdodCA9IDA7CisgICAgCisgICAgR3RrV2lkZ2V0KiBzY3JvbGxlZFdpbmRvdyA9IGd0a19z
Y3JvbGxlZF93aW5kb3dfbmV3KDAsIDApOworICAgIGd0a19zY3JvbGxlZF93aW5kb3dfc2V0X3Bv
bGljeShHVEtfU0NST0xMRURfV0lORE9XKHNjcm9sbGVkV2luZG93KSwgR1RLX1BPTElDWV9BVVRP
TUFUSUMsIEdUS19QT0xJQ1lfQVVUT01BVElDKTsKKyAgICAKKyAgICBndGtfd2lkZ2V0X2dldF9z
aXplX3JlcXVlc3QobV93aW5kb3dNYWluLCAmd2lkdGgsICZoZWlnaHQpOworICAgIEdka1JlY3Rh
bmdsZSB3ZWJWaWV3UmVjdCA9IHswLCAwLCB3aWR0aCwgaGVpZ2h0fTsKKyAgICBtX2Jyb3dzZXJW
aWV3ID0gbmV3IEJyb3dzZXJWaWV3KHdlYlZpZXdSZWN0LCBtX3dpbmRvd01haW4pOworICAgIAor
ICAgIGd0a19zY3JvbGxlZF93aW5kb3dfYWRkX3dpdGhfdmlld3BvcnQoR1RLX1NDUk9MTEVEX1dJ
TkRPVyhzY3JvbGxlZFdpbmRvdyksIEdUS19XSURHRVQobV9icm93c2VyVmlldy0+Z2V0V2ViVmll
dygpKSk7CisgICAKKyAgICByZXR1cm4gc2Nyb2xsZWRXaW5kb3c7Cit9CisKSW5kZXg6IFdlYktp
dFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmgKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuaAkocmV2aXNpb24gMCkKKysr
IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmgJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9i
aWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlm
aWNhdGlvbiwgCisgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAqIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKgorICogUmVkaXN0
cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmln
aHQgbm90aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIAorICogb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBOZWl0aGVyIHRoZSBu
YW1lIG9mIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRy
aWJ1dG9ycyBtYXkgCisgKiBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBk
ZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IAorICogc3BlY2lmaWMgcHJpb3Igd3Jp
dHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhF
IENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgCisgKiAiQVMgSVMiIEFORCBBTlkg
RVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVE
IFRPLCAKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4g
Tk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCisgKiBDT05UUklCVVRPUlMg
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
CisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBT
RVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIAorICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSAKKyAqIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAo
SU5DTFVESU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIAorICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBCcm93c2Vy
V2luZG93X2gKKyNkZWZpbmUgQnJvd3NlcldpbmRvd19oCisKKyNpbmNsdWRlIDxndGsvZ3RrLmg+
CisKK2NsYXNzIEJyb3dzZXJWaWV3OworCitjbGFzcyBCcm93c2VyV2luZG93IHsKK3B1YmxpYzoK
KyAgICBzdGF0aWMgQnJvd3NlcldpbmRvdyogY3JlYXRlKCkKKyAgICB7ICAgCisgICAgICAgIHJl
dHVybiBuZXcgQnJvd3NlcldpbmRvdzsKKyAgICB9ICAgCisgICAgc3RhdGljIHZvaWQgYWN0aXZh
dGVVcmxFbnRyeShHdGtXaWRnZXQqIHdpZGdldCwgZ3BvaW50ZXIgZGF0YSk7CisKKyAgICB2b2lk
IGNyZWF0ZVdpbmRvdyhpbnQgd2lkdGgsIGludCBoZWlnaHQpOworICAgIHZvaWQgc2hvd1dpbmRv
dygpOworICAgIAorICAgIHZvaWQgZ290b1VSTChjb25zdCBjaGFyKiB1cmwpOworICAgIGNvbnN0
IGdjaGFyKiBnZXRVcmxlbnRyeSgpOworCisgICAgfkJyb3dzZXJXaW5kb3coKTsKKyAgICAKK3By
aXZhdGU6CisgICAgQnJvd3NlcldpbmRvdygpOworCisgICAgR3RrV2lkZ2V0KiBjcmVhdGVNZW51
YmFyKCk7CisgICAgR3RrV2lkZ2V0KiBjcmVhdGVUb29sYmFyKCk7CisgICAgR3RrV2lkZ2V0KiBj
cmVhdGVCcm93c2VyKCk7CisKKyAgICBCcm93c2VyVmlldyAqbV9icm93c2VyVmlldzsKKyAgICBH
dGtXaWRnZXQgKm1fd2luZG93TWFpbjsKKyAgICBHdGtBY2NlbEdyb3VwICptX3dpbmRvd0dyb3Vw
OworICAgIEd0a1dpZGdldCAqbV93aW5kb3dVUkxFbnRyeTsKK307CisKKyNlbmRpZiAvLyBCcm93
c2VyV2luZG93X2gKSW5kZXg6IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9HTlVtYWtlZmls
ZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvR05VbWFrZWZp
bGUuYW0JKHJldmlzaW9uIDApCisrKyBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvR05VbWFr
ZWZpbGUuYW0JKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzcgQEAKKworI01pbmlCcm93c2VyCiti
aW5fUFJPR1JBTVMgKz0gXAorCVByb2dyYW1zL01pbmlCcm93c2VyCisKK1Byb2dyYW1zX01pbmlC
cm93c2VyX0NQUEZMQUdTID0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIgXAorCS1JJCh0b3BfYnVp
bGRkaXIpL1dlYktpdDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DIFwK
KwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvZ3RrIFwKKwktSSQoc3JjZGlyKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUgXAorCS1JJChzcmNkaXIpL1dlYktpdFRvb2xz
L01pbmlCcm93c2VyL2d0ayBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChnbG9iYWxfY3BwZmxhZ3Mp
IFwKKwkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKQorCitQcm9ncmFtc19NaW5pQnJvd3Nlcl9T
T1VSQ0VTID0gXAorCVdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVmlldy5jcHAg
XAorCVdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9Ccm93c2VyVmlldy5oIFwKKwlXZWJLaXRU
b29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5jcHAgXAorCVdlYktpdFRvb2xzL01p
bmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmggXAorCVdlYktpdFRvb2xzL01pbmlCcm93c2Vy
L2d0ay9NaW5pQnJvd3Nlci5jcHAgXAorCVdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9NaW5p
QnJvd3Nlci5oIFwKKwlXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jcHAKKworUHJv
Z3JhbXNfTWluaUJyb3dzZXJfTERBREQgPSBcCisJbGliSmF2YVNjcmlwdENvcmUubGEgXAorCWxp
YndlYmtpdDJndGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElf
TUlOT1JfVkVSU0lPTkAubGEgXAorCSQoR1RLX0xJQlMpIFwKKwkkKEdMSUJfTElCUykKKworUHJv
Z3JhbXNfTWluaUJyb3dzZXJfTERGTEFHUyA9IFwKKwktbm8tZmFzdC1pbnN0YWxsIFwKKwktbm8t
aW5zdGFsbAorCitDTEVBTkZJTEVTICs9IFwKKwkkKHRvcF9idWlsZGRpcikvUHJvZ3JhbXMvTWlu
aUJyb3dzZXIKSW5kZXg6IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9NaW5pQnJvd3Nlci5j
cHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL01pbmlCcm93c2Vy
LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9NaW5pQnJv
d3Nlci5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODcgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCisgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKgorICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9k
dWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5k
L29yIAorICogb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuIG5vciB0
aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgCisgKiBiZSB1c2VkIHRvIGVuZG9yc2Ug
b3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IAor
ICogc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMg
CisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xV
RElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCAKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIg
T1IgCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIAorICogUFJPQ1VSRU1FTlQgT0Yg
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIAorICog
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSAKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIAorICogU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgIk1pbmlCcm93c2VyLmgiCisKKyNpbmNsdWRlICJCcm93c2VyV2luZG93
LmgiCisKK01pbmlCcm93c2VyKiBNaW5pQnJvd3Nlcjo6c2hhcmVkKCkKK3sKKyAgICBzdGF0aWMg
TWluaUJyb3dzZXIqIGluc3RhbmNlID0gMDsKKyAgICBpZiAoIWluc3RhbmNlKQorICAgICAgICBp
bnN0YW5jZSA9IG5ldyBNaW5pQnJvd3NlcigpOworICAgIHJldHVybiBpbnN0YW5jZTsKK30KKwor
TWluaUJyb3dzZXI6On5NaW5pQnJvd3NlcigpCit7CisgICAgbV9icm93c2VyV2luZG93cy5jbGVh
cigpOworICAgIGd0a19tYWluX3F1aXQoKTsKK30KKwordm9pZCBNaW5pQnJvd3Nlcjo6Y3JlYXRl
TmV3V2luZG93KEd0a1dpZGdldCogd2lkZ2V0LCBncG9pbnRlciBkYXRhKQoreworICAgIE1pbmlC
cm93c2VyOjpzaGFyZWQoKS0+Y3JlYXRlV2luZG93KCk7Cit9CisKK3ZvaWQgTWluaUJyb3dzZXI6
OmNsb3NlQ3VycmVudFdpbmRvdyhHdGtXaWRnZXQqIHdpZGdldCwgZ3BvaW50ZXIgZGF0YSkKK3sK
KyAgICBCcm93c2VyV2luZG93KiB3aW5kb3cgPSBzdGF0aWNfY2FzdDxCcm93c2VyV2luZG93Kj4o
ZGF0YSk7CisgICAgTWluaUJyb3dzZXI6OnNoYXJlZCgpLT51bnJlZ2lzdGVyV2luZG93KHdpbmRv
dyk7Cit9CisKK3ZvaWQgTWluaUJyb3dzZXI6OnJlZ2lzdGVyV2luZG93KEJyb3dzZXJXaW5kb3cq
IHdpbmRvdykKK3sKKyAgICBtX2Jyb3dzZXJXaW5kb3dzLmluc2VydCh3aW5kb3cpOworfQorCit2
b2lkIE1pbmlCcm93c2VyOjp1bnJlZ2lzdGVyV2luZG93KEJyb3dzZXJXaW5kb3cqIHdpbmRvdykK
K3sKKyAgICBzdGQ6OnNldDxCcm93c2VyV2luZG93Kj46Oml0ZXJhdG9yIGl0OworICAgIGl0ID0g
bV9icm93c2VyV2luZG93cy5maW5kKHdpbmRvdyk7CisgICAgaWYgKGl0ID09IG1fYnJvd3Nlcldp
bmRvd3MuZW5kKCkpIAorICAgICAgICByZXR1cm47CisKKyAgICBtX2Jyb3dzZXJXaW5kb3dzLmVy
YXNlKHdpbmRvdyk7CisgICAgZGVsZXRlIHdpbmRvdzsKKyAgICB3aW5kb3cgPSAwOworICAgIAor
ICAgIGlmIChtX2Jyb3dzZXJXaW5kb3dzLmVtcHR5KCkpCisgICAgICAgIGd0a19tYWluX3F1aXQo
KTsKK30KKwordm9pZCBNaW5pQnJvd3Nlcjo6Y3JlYXRlV2luZG93KCkKK3sKKyAgICBCcm93c2Vy
V2luZG93KiBicm93c2VyV2luZG93ID0gQnJvd3NlcldpbmRvdzo6Y3JlYXRlKCk7CisgICAgcmVn
aXN0ZXJXaW5kb3coYnJvd3NlcldpbmRvdyk7CisgICAgYnJvd3NlcldpbmRvdy0+Y3JlYXRlV2lu
ZG93KDgwMCwgNjAwKTsKKyAgICBicm93c2VyV2luZG93LT5nb3RvVVJMKCJodHRwOi8vd2Via2l0
Lm9yZyIpOworICAgIGJyb3dzZXJXaW5kb3ctPnNob3dXaW5kb3coKTsKK30KSW5kZXg6IFdlYktp
dFRvb2xzL01pbmlCcm93c2VyL2d0ay9NaW5pQnJvd3Nlci5oCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dFRvb2xzL01pbmlCcm93c2VyL2d0ay9NaW5pQnJvd3Nlci5oCShyZXZpc2lvbiAwKQorKysgV2Vi
S2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL01pbmlCcm93c2VyLmgJKHJldmlzaW9uIDApCkBAIC0w
LDAgKzEsNTUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHks
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlv
biwgCisgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zIGFyZSBtZXQ6CisgKgorICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3Qg
cmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKgorICogUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90
aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIAorICogb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBOZWl0aGVyIHRoZSBuYW1lIG9m
IE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9y
cyBtYXkgCisgKiBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVk
IGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IAorICogc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBw
ZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlS
SUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCAK
KyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNT
IEZPUiBBIFBBUlRJQ1VMQVIgCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZF
TlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCisgKiBDT05UUklCVVRPUlMgQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgCisgKiBF
WEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSAKKyAqIE9GIExJQUJJTElU
WSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIAorICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBNaW5pQnJvd3Nlcl9o
CisjZGVmaW5lIE1pbmlCcm93c2VyX2gKKworI2luY2x1ZGUgPGd0ay9ndGsuaD4KKyNpbmNsdWRl
IDxzZXQ+CisKK2NsYXNzIEJyb3dzZXJXaW5kb3c7CisKK2NsYXNzIE1pbmlCcm93c2VyIHsKK3B1
YmxpYzoKKyAgICBzdGF0aWMgTWluaUJyb3dzZXIqIHNoYXJlZCgpOworICAgIHN0YXRpYyB2b2lk
IGNyZWF0ZU5ld1dpbmRvdyhHdGtXaWRnZXQqIHdpZGdldCwgZ3BvaW50ZXIgZGF0YSk7CisgICAg
c3RhdGljIHZvaWQgY2xvc2VDdXJyZW50V2luZG93KEd0a1dpZGdldCogd2lkZ2V0LCBncG9pbnRl
ciBkYXRhKTsKKworICAgIH5NaW5pQnJvd3NlcigpOworICAgIAorICAgIHZvaWQgY3JlYXRlV2lu
ZG93KCk7CisgICAgdm9pZCByZWdpc3RlcldpbmRvdyhCcm93c2VyV2luZG93Kik7CisgICAgdm9p
ZCB1bnJlZ2lzdGVyV2luZG93KEJyb3dzZXJXaW5kb3cqKTsKKyAgICAKK3ByaXZhdGU6CisgICAg
c3RkOjpzZXQ8QnJvd3NlcldpbmRvdyo+IG1fYnJvd3NlcldpbmRvd3M7ICAgIAorfTsKKworI2Vu
ZGlmIC8vIE1pbmlCcm93c2VyX2gKSW5kZXg6IFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9t
YWluLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5j
cHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvbWFpbi5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0IG1vZGlmaWNhdGlvbiwgCisgKiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zIGFyZSBtZXQ6CisgKgorICogUmVkaXN0cmlidXRpb25zIG9m
IHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAq
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KgorICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIAorICog
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBO
ZWl0aGVyIHRoZSBuYW1lIG9mIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuIG5vciB0aGUgbmFtZXMg
b2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkgCisgKiBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90
ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20gdGhpcyBzb2Z0d2FyZSB3aXRob3V0IAorICogc3BlY2lm
aWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMgCisgKiAiQVMg
SVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVU
IE5PVCBMSU1JVEVEIFRPLCAKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgCisgKiBQVVJQT1NFIEFSRSBESVND
TEFJTUVELiAgSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCisgKiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgCisgKiBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIAorICogUFJPRklUUzsg
T1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSAKKyAqIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIAorICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIAorICogU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgIk1pbmlCcm93c2VyLmgiCisKKyNpbmNsdWRlIDxndGsvZ3RrLmg+CisKK2ludCBtYWlu
KGludCBhcmdjLCBjaGFyKiBhcmd2W10pCit7CisgICAgZ3RrX2luaXQoJmFyZ2MsICZhcmd2KTsK
KyAgICAKKyAgICBNaW5pQnJvd3Nlcjo6c2hhcmVkKCktPmNyZWF0ZVdpbmRvdygpOworICAgIGd0
a19tYWluKCk7CisgICAgCisgICAgcmV0dXJuIDA7Cit9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71887</attachid>
            <date>2010-10-26 08:00:08 -0700</date>
            <delta_ts>2010-10-28 06:45:16 -0700</delta_ts>
            <desc>WebKit2 GTK Patch after rework</desc>
            <filename>WebKit2GTKWithoutMiniBrowser.patch</filename>
            <type>text/plain</type>
            <size>229345</size>
            <attacher name="Amruth Raj">amruthraj</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDcwMDk4
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTAt
MjYgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2aSBLYXNpYmhh
dGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBidWlsZGluZyBX
ZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBDaGFuZ2Vz
IHRvIGJ1aWxkIGVpdGhlciBvZiBXZWJLaXQxIG9yIFdlYktpdDIuCisgICAgICAgIEl0IGJhc2lj
YWxseSBleGNsdWRlcyBhbGwgV2ViS2l0L2d0ay93ZWJraXQvIGZpbGVzIHdoZW4gYnVpbGRpbmcg
V2ViS2l0Mi4KKyAgICAgICAgQWxzbywgZXhsdWRlcyBVbml0dGVzdHMsIER1bXByZW5kZXJUcmVl
LCBHdGtMYXVuY2hlciBldGMgZm9yIFdlYktpdDIuCisgICAgICAgICogY29uZmlndXJlLmFjOiBP
cHRpb24gZm9yIGVuYWJsZSBvciBkaXNhYmxlIFdlYktpdDIuCisKIDIwMTAtMTAtMTkgIFNoZXJp
ZmYgQm90ICA8d2Via2l0LnJldmlldy5ib3RAZ21haWwuY29tPgogCiAgICAgICAgIFVucmV2aWV3
ZWQsIHJvbGxpbmcgb3V0IHI3MDAzNC4KSW5kZXg6IEdOVW1ha2VmaWxlLmFtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIEdOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3MDA5OCkKKysrIEdOVW1ha2VmaWxlLmFtCSh3
b3JraW5nIGNvcHkpCkBAIC03Miw2ICs3Miw3IEBAIHdlYmtpdGd0a19jcHBmbGFncyA6PQogd2Vi
a2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMgOj0K
IHdlYmtpdGd0a19idWlsdF9ub3NvdXJjZXMgOj0KK3dlYmtpdDJfYnVpbHRfc291cmNlcyA6PQog
Z2xvYmFsX2NwcGZsYWdzIDo9CiBnbG9iYWxfY2ZsYWdzIDo9CiBnbG9iYWxfY3h4ZmxhZ3MgOj0K
QEAgLTEwOSwxMCArMTEwLDYgQEAgaWYgT1NfR05VCiB2ZXJzaW9uX3NjcmlwdCA9IC1XbCwtLXZl
cnNpb24tc2NyaXB0LCQoc3JjZGlyKS9hdXRvdG9vbHMvc3ltYm9scy5maWx0ZXIKIGVuZGlmCiAK
LSMgU2hhcmVkIGxpYnJhcmllcwotbGliX0xUTElCUkFSSUVTICs9IFwKLQlsaWJ3ZWJraXRndGst
QFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lP
TkAubGEKLQogIyBDb252ZW5pZW5jZSBsaWJyYXJpZXMKIG5vaW5zdF9MVExJQlJBUklFUyArPSBc
CiAJbGliSmF2YVNjcmlwdENvcmUubGEKQEAgLTEyMyw5ICsxMjAsNiBAQCBub2Rpc3RfRVhUUkFf
bGliSmF2YVNjcmlwdENvcmVfbGFfU09VUkNFCiBub2Rpc3RfbGliSmF2YVNjcmlwdENvcmVfbGFf
U09VUkNFUyA9IFwKIAkkKGphdmFzY3JpcHRjb3JlX2J1aWx0X3NvdXJjZXMpCiAKLWxpYkphdmFT
Y3JpcHRDb3JlX2xhZGlyID0gJChwcmVmaXgpL2luY2x1ZGUvd2Via2l0LUBXRUJLSVRHVEtfQVBJ
X1ZFUlNJT05AL0phdmFTY3JpcHRDb3JlCi1saWJKYXZhU2NyaXB0Q29yZV9sYV9IRUFERVJTID0g
JChqYXZhc2NyaXB0Y29yZV9oX2FwaSkKLQogbGliSmF2YVNjcmlwdENvcmVfbGFfU09VUkNFUyA9
IFwKIAkkKGphdmFzY3JpcHRjb3JlX3NvdXJjZXMpCiAKQEAgLTE0OSw3ICsxNDMsMTE4IEBAIGxp
YkphdmFTY3JpcHRDb3JlX2xhX0NQUEZMQUdTID0gXAogCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCiAJ
JChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykKIAorIyBXZWJLaXQyCitpZiBFTkFCTEVfV0VCS0lU
MgorCitsaWJKYXZhU2NyaXB0Q29yZV9sYWRpciA9ICQocHJlZml4KS9pbmNsdWRlL3dlYmtpdDIt
QFdFQktJVEdUS19BUElfVkVSU0lPTkAvSmF2YVNjcmlwdENvcmUKK2xpYkphdmFTY3JpcHRDb3Jl
X2xhX0hFQURFUlMgPSAkKGphdmFzY3JpcHRjb3JlX2hfYXBpKQorCitsaWJfTFRMSUJSQVJJRVMg
Kz0gXAorCWxpYndlYmtpdDJndGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEKKworbm9kaXN0X0VYVFJBX2xpYndlYmtpdDJndGtf
QFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lP
TkBfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmNvcmVfYnVpbHRfbm9zb3VyY2VzKQorCitub2Rpc3Rf
bGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQ
SV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViS2l0MlByZWZpeC5oIFwKKwkkKHdlYmNvcmVfYnVpbHRfc291cmNlcykgXAorCSQod2Via2l0
Ml9idWlsdF9zb3VyY2VzKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhZGlyID0gJChwcmVmaXgpL2lu
Y2x1ZGUvd2Via2l0Mi1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC93ZWJraXQyCitsaWJ3ZWJraXQy
Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZF
UlNJT05AX2xhX0hFQURFUlMgPSBcCisJJCh3ZWJraXQyZ3RrX3N0YXRpY19oX2FwaSkKKworbGli
d2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9N
SU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorCSQod2ViY29yZV9zb3VyY2VzKSBcCisJJCh3
ZWJjb3JlZ3RrX3NvdXJjZXMpIFwKKwkkKHdlYmtpdDJfc291cmNlcykgXAorCSQod2Via2l0Mmd0
a19zb3VyY2VzKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05A
X0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NYWEZMQUdTID0gXAorCSQoZ2xvYmFs
X2N4eGZsYWdzKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05A
X0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NGTEFHUyA9IFwKKwkkKGdsb2JhbF9j
ZmxhZ3MpCisKKyMgV2hlbiBidWlsZGluZyBXZWJDb3JlL1dlYktpdCwgd2Ugd2FudCBXZWJDb3Jl
L2NvbmZpZy5oIGFuZCBOT1QgSmF2YVNjcmlwdENvcmUvY29uZmlnLmgsCisjIGhlbmNlLCBpdCdz
IGltcG9ydGFudCB0aGF0IFdlYkNvcmUvIHNob3VsZCBjb21lIGZpcnN0IGJlZm9yZSBKYXZhU2Ny
aXB0Q29yZSBpbiB0aGUKKyMgaW5jbHVkZSBwYXRoLgorbGlid2Via2l0Mmd0a19AV0VCS0lUR1RL
X0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DUFBG
TEFHUyA9IFwKKwktREJVSUxESU5HX1dFQktJVCBcCisJLURQQUNLQUdFX0xPQ0FMRV9ESVI9XCIk
KGxvY2FsZWRpcilcIiBcCisJLUREQVRBX0RJUj1cIiR7ZGF0YWRpcn1cIiBcCisJJChnbG9iYWxf
Y3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVfY3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVndGtfY3BwZmxh
Z3MpIFwKKwkkKHdlYmtpdDJfY3BwZmxhZ3MpIFwKKwkkKHdlYmtpdDJndGtfY3BwZmxhZ3MpIFwK
KwkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKSBcCisJLWZuby1zdHJpY3QtYWxpYXNpbmcgXAor
CSQoSElMRE9OX0NQUEZMQUdTKSBcCisJJChDT1ZFUkFHRV9DRkxBR1MpIFwKKwkkKEVOQ0hBTlRf
Q0ZMQUdTKSBcCisJJChHQUlMX0NGTEFHUykgXAorCSQoR0VPQ0xVRV9DRkxBR1MpIFwKKwkkKEdM
SUJfQ0ZMQUdTKSBcCisJJChHU1RSRUFNRVJfQ0ZMQUdTKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJ
JChISUxET05fQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykgXAorCSQoTElCWE1MX0NGTEFH
UykgXAorCSQoTElCWFNMVF9DRkxBR1MpIFwKKwkkKFNRTElURTNfQ0ZMQUdTKSBcCisJJChVTklD
T0RFX0NGTEFHUykgXAorCSQoWFRfQ0ZMQUdTKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtf
QVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0xERkxB
R1MgPSBcCisJLXZlcnNpb24taW5mbyBATElCV0VCS0lUR1RLX1ZFUlNJT05AIFwKKwkkKHZlcnNp
b25fc2NyaXB0KSBcCisJJChub191bmRlZmluZWQpCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdU
S19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfTElC
QUREID0gXAorCS1scHRocmVhZCBcCisJbGliSmF2YVNjcmlwdENvcmUubGEgXAorCSQod2ViY29y
ZV9sZGZsYWdzKSBcCisJJChDQUlST19MSUJTKSBcCisJJChDT1ZFUkFHRV9MREZMQUdTKSBcCisJ
JChFTkNIQU5UX0xJQlMpIFwKKwkkKEZSRUVUWVBFX0xJQlMpIFwKKwkkKEdBSUxfTElCUykgXAor
CSQoR0VPQ0xVRV9MSUJTKSBcCisJJChHTElCX0xJQlMpIFwKKwkkKEdTVFJFQU1FUl9MSUJTKSBc
CisJJChHVEtfTElCUykgXAorCSQoSElMRE9OX0xJQlMpIFwKKwkkKEpQRUdfTElCUykgXAorCSQo
TElCU09VUF9MSUJTKSBcCisJJChMSUJYTUxfTElCUykgXAorCSQoTElCWFNMVF9MSUJTKSBcCisJ
JChQQU5HT19MSUJTKSBcCisJJChQTkdfTElCUykgXAorCSQoU1FMSVRFM19MSUJTKSBcCisJJChV
TklDT0RFX0xJQlMpIFwKKwkkKFhUX0xJQlMpCisKKyMgRm9yIHRoZSBHdGsgcG9ydCB3ZSB3YW50
IHRvIHVzZSBYUF9VTklYIGJvdGggaW4gWDExIGFuZCBNYWMKK2lmICFUQVJHRVRfV0lOMzIKK2xp
YndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElf
TUlOT1JfVkVSU0lPTkBfbGFfQ1BQRkxBR1MgKz0gXAorCS1EWFBfVU5JWAorZW5kaWYKKworcmVz
b3VyY2VzZGlyID0gJHtkYXRhZGlyfS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL3Jl
c291cmNlcworcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZworcGtnY29uZmlnX0RB
VEEgPSBXZWJLaXQyL2d0ay9AV0VCS0lUR1RLX1BDX05BTUVAMi1AV0VCS0lUR1RLX0FQSV9WRVJT
SU9OQC5wYworCitlbHNlICAjRU5BQkxFX1dFQktJVDIKKwogIyBXZWJLaXQKK2xpYkphdmFTY3Jp
cHRDb3JlX2xhZGlyID0gJChwcmVmaXgpL2luY2x1ZGUvd2Via2l0LUBXRUJLSVRHVEtfQVBJX1ZF
UlNJT05AL0phdmFTY3JpcHRDb3JlCitsaWJKYXZhU2NyaXB0Q29yZV9sYV9IRUFERVJTID0gJChq
YXZhc2NyaXB0Y29yZV9oX2FwaSkKKworIyBTaGFyZWQgbGlicmFyaWVzCitsaWJfTFRMSUJSQVJJ
RVMgKz0gXAorCWxpYndlYmtpdGd0ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VC
S0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYQorCiBub2Rpc3RfRVhUUkFfbGlid2Via2l0Z3Rr
X0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJ
T05AX2xhX1NPVVJDRVMgPSBcCiAJJCh3ZWJjb3JlX2J1aWx0X25vc291cmNlcykKIApAQCAtMTY4
LDYgKzI3Myw3IEBAIG5vZGlzdF9saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1IKIGxp
YndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9N
SU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAogCSQod2ViY29yZV9zb3VyY2VzKSBcCiAJJCh3
ZWJjb3JlZ3RrX3NvdXJjZXMpIFwKKwkkKHdlYmNvcmVndGtfZG9tX3NvdXJjZXMpIFwKIAkkKHdl
YmtpdGd0a19zb3VyY2VzKQogCiBsaWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVS
U0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1hYRkxBR1MgPSBcCkBAIC0x
OTUsNiArMzAxLDcgQEAgbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJTwog
CSQoZ2xvYmFsX2NwcGZsYWdzKSBcCiAJJCh3ZWJjb3JlX2NwcGZsYWdzKSBcCiAJJCh3ZWJjb3Jl
Z3RrX2NwcGZsYWdzKSBcCisJJCh3ZWJjb3JlZ3RrX2RvbV9jcHBmbGFncykgXAogCSQoamF2YXNj
cmlwdGNvcmVfY3BwZmxhZ3MpIFwKIAktZm5vLXN0cmljdC1hbGlhc2luZyBcCiAJJChISUxET05f
Q1BQRkxBR1MpIFwKQEAgLTI1MCw2ICszNTcsNyBAQCBsaWJ3ZWJraXRndGtfQFdFQktJVEdUS19B
UElfTUFKT1JfVkVSU0lPCiAJJChXSU5NTV9MSUJTKSBcCiAJJChTSExXQVBJX0xJQlMpIFwKIAkk
KE9MRTMyX0xJQlMpCitlbmRpZiAjRU5BQkxFX1dFQktJVDIKIAogIwogIyBFeHRyYSBjaGVja3Mg
YW5kIGZsYWdzCkBAIC0zMDcsNiArNDE1LDcgQEAgZ2xvYmFsX2NwcGZsYWdzICs9IFwKIAktREdD
Q19JTlNUUlVNRU5UX1BST0dSQU1fRkxPV19BUkNTCiBlbmRpZgogCitpZiAhRU5BQkxFX1dFQktJ
VDIKIHdlYmtpdGd0a19zdGF0aWNfaF9hcGkgKz0gXAogCSQoc3JjZGlyKS9XZWJDb3JlL3BsYXRm
b3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oIFwKIAkkKHNyY2Rpcikv
V2ViS2l0L2d0ay93ZWJraXQvd2Via2l0LmggXApAQCAtNTM5LDggKzY0OCwxMCBAQCBFWFRSQV9E
SVNUICs9IFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay90ZXN0cy90ZXN0X3V0aWxzLmggXAogCSQo
c3JjZGlyKS9XZWJLaXQvZ3RrL29yZy53ZWJraXRndGsuZ3NjaGVtYS54bWwuaW4KIAotIyBleHRy
YSByZXNvdXJjZSBmaWxlcwogcmVzb3VyY2VzZGlyID0gJHtkYXRhZGlyfS93ZWJraXQtQFdFQktJ
VEdUS19BUElfVkVSU0lPTkAvcmVzb3VyY2VzCitlbmRpZiAgIyFFTkFCTEVfV0VCS0lUMgorCisj
IGV4dHJhIHJlc291cmNlIGZpbGVzCiBkaXN0X3Jlc291cmNlc19EQVRBID0gXAogCSQoc2hlbGwg
bHMgJChzcmNkaXIpL1dlYktpdC9ndGsvcmVzb3VyY2VzLyouaHRtbCkKIApAQCAtNTQ5LDYgKzY2
MCwxNSBAQCBkaXN0X3Jlc291cmNlc19EQVRBID0gXAogIyBJbmNsdWRlIG1vZHVsZSBtYWtlZmls
ZXMKIGluY2x1ZGUgSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViQ29y
ZS9HTlVtYWtlZmlsZS5hbQorCisjIEluY2x1ZGUgbW9kdWxlIG1ha2VmaWxlcyBiYXNlZCBvbiBi
dWlsZCBzeXN0ZW0KK2lmIEVOQUJMRV9XRUJLSVQyCisKK2luY2x1ZGUgV2ViS2l0Mi9HTlVtYWtl
ZmlsZS5hbQoraW5jbHVkZSBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvR05VbWFrZWZpbGUu
YW0KKworZWxzZSAgI0VOQUJMRV9XRUJLSVQyCisKIGluY2x1ZGUgV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L0dOVW1ha2VmaWxlLmFtCiBpbmNsdWRlIFdlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFt
CiBpbmNsdWRlIFdlYktpdC9ndGsvcG8vR05VbWFrZWZpbGUuYW0KQEAgLTcyMiwxMiArODQyLDI5
IEBAIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0Y29weWFuZHBhc3RlX0NGTEEKIFByb2dyYW1zX3Vu
aXR0ZXN0c190ZXN0Y29weWFuZHBhc3RlX0xEQUREID0gJCh3ZWJraXRfdGVzdHNfbGRhZGQpCiBQ
cm9ncmFtc191bml0dGVzdHNfdGVzdGNvcHlhbmRwYXN0ZV9MREZMQUdTID0gJCh3ZWJraXRfdGVz
dHNfbGRmbGFncykKIAorZW5kaWYgICNFTkFCTEVfV0VCS0lUMgorCiAjIEF1dG9nZW5lcmF0ZWQg
c291cmNlcwogQlVJTFRfU09VUkNFUyArPSBcCiAJJChqYXZhc2NyaXB0Y29yZV9idWlsdF9zb3Vy
Y2VzKSBcCiAJJChqYXZhc2NyaXB0Y29yZV9idWlsdF9ub3NvdXJjZXMpIFwKIAkkKHdlYmNvcmVf
YnVpbHRfc291cmNlcykgXAotCSQod2ViY29yZV9idWlsdF9ub3NvdXJjZXMpIFwKKwkkKHdlYmNv
cmVfYnVpbHRfbm9zb3VyY2VzKQorCitpZiBFTkFCTEVfV0VCS0lUMgorCitDTEVBTkZJTEVTICs9
IFwKKwkkKEJVSUxUX1NPVVJDRVMpIFwKKwkkKHRvcF9idWlsZGRpcikvV2ViS2l0Mi9ndGsvQFdF
QktJVEdUS19QQ19OQU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5wYworCitESVNUQ0xFQU5G
SUxFUyArPSBcCisJJChDTEVBTkZJTEVTKSBcCisJJChidWlsZGRpcikvZG9sdGNvbXBpbGUgXAor
CSQoYnVpbGRkaXIpL2RvbHRsaWJ0b29sCisKK2Vsc2UgI0VOQUJMRV9XRUJLSVQyCisKK0JVSUxU
X1NPVVJDRVMgKz0gXAogCSQod2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMpIFwKIAkkKHdlYmtpdGd0
a19idWlsdF9ub3NvdXJjZXMpCiAKQEAgLTc1MCw2ICs4ODcsNyBAQCBESVNUQ0xFQU5GSUxFUyAr
PSBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvQFdFQktJVEdUS19QQ19OQU1FQC1AV0VC
S0lUR1RLX0FQSV9WRVJTSU9OQC5wYyBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvd2Vi
a2l0L3dlYmtpdHZlcnNpb24uaCBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvb3JnLndl
YmtpdGd0ay1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5nc2NoZW1hLnhtbAorZW5kaWYgI0VOQUJM
RV9XRUJLSVQyCiAKIE1BSU5UQUlORVJDTEVBTkZJTEVTICs9IFwKIAkkKENMRUFORklMRVMpIFwK
QEAgLTc2NywxMCArOTA1LDEyIEBAIE1BSU5UQUlORVJDTEVBTkZJTEVTICs9IFwKIAkkKHNyY2Rp
cikvUkVBRE1FIFwKIAkkKHRvcF9idWlsZGRpcikvY29uZmlnLioKIAoraWYgIUVOQUJMRV9XRUJL
SVQyCiAjIE9sZGVyIGF1dG9tYWtlIHZlcnNpb25zICgxLjcpIHBsYWNlIFBsbyBmaWxlcyBpbiBh
IGRpZmZlcmVudCBwbGFjZSBzbyB3ZSBuZWVkCiAjIHRvIGNyZWF0ZSB0aGUgb3V0cHV0IGRpcmVj
dG9yeSBtYW51YWxseS4KIGFsbC1sb2NhbDogc3RhbXAtcG8KIAkkKG1rZGlyX3ApICQodG9wX2J1
aWxkZGlyKS8kKERFUERJUikvRGVyaXZlZFNvdXJjZXMKK2VuZGlmICMhRU5BQkxFX1dFQktJVDIK
IAogIyByZW1vdmUgYnVpbHQgc291cmNlcyBhbmQgcHJvZ3JhbSBkaXJlY3RvcmllcwogY2xlYW4t
bG9jYWw6CkBAIC03ODEsNiArOTIxLDcgQEAgbWFpbnRhaW5lci1jbGVhbi1sb2NhbDogZGlzdGNs
ZWFuLWxvY2FsCiBkaXN0Y2xlYW4tbG9jYWw6CiAJLXJtIC1yZiAkKEdFTlNPVVJDRVMpICQoR0VO
UFJPR1JBTVMpCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogZGlzdC1ob29rOgogCWNwICQoc3JjZGly
KS9XZWJLaXQvZ3RrL05FV1MgJChkaXN0ZGlyKQogCkBAIC04MDksMyArOTUwLDQgQEAgdGVzdC1y
ZXBvcnQgZnVsbC1yZXBvcnQgcGVyZi1yZXBvcnQ6ICQoVAogCiAuUEhPTlk6IHRlc3QgdGVzdC1y
ZXBvcnQgcGVyZi1yZXBvcnQgZnVsbC1yZXBvcnQKIGNoZWNrLWxvY2FsOiB0ZXN0CitlbmRpZiAj
ICFFTkFCTEVfV0VCS0lUMgpJbmRleDogY29uZmlndXJlLmFjCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNvbmZp
Z3VyZS5hYwkocmV2aXNpb24gNzAwOTgpCisrKyBjb25maWd1cmUuYWMJKHdvcmtpbmcgY29weSkK
QEAgLTg4NCw2ICs4ODQsMTcgQEAgaWYgdGVzdCAiJGVuYWJsZV92aWRlbyIgPSAieWVzIjsgdGhl
bgogICAgIGh0bWxfZmxhZ3M9eWVzCiBmaQogCisjIFdlYktpdDIKK0FDX01TR19DSEVDS0lORyhb
d2hldGhlciB0byBidWlsZCBXZWJraXQyXSkKK0FDX0FSR19FTkFCTEUod2Via2l0MiwKKyAgICAg
ICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS13ZWJraXQyXSwKKyAgICAgICAgICAgICAg
ICBbYnVpbGQgd2Via2l0MiBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgICBbXSwgW2Vu
YWJsZV93ZWJraXQyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV93ZWJraXQyXSkKK2lm
IHRlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAieWVzIjsgdGhlbgorQUNfREVGSU5FKFtFTkFCTEVf
V0VCS0lUMl9CVUlMRF0sWzFdLFtEZWZpbmUgaWYgd2Via2l0MiBidWlsZCBpcyBlbmFibGVkXSkK
K2ZpCisKIEdUS19ET0NfQ0hFQ0soWzEuMTBdKQogCiAjIE9TIGNvbmRpdGlvbmFscwpAQCAtOTU4
LDEzICs5NjksMTggQEAgQU1fQ09ORElUSU9OQUwoW0hUTUxfRkxBR1NdLFt0ZXN0ICIkaHRtbAog
QU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJfU09DS0VUU10sW3Rlc3QgIiRlbmFibGVfd2ViX3Nv
Y2tldHMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJfVElNSU5HXSxbdGVz
dCAiJGVuYWJsZV93ZWJfdGltaW5nIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVf
T1BDT0RFX1NUQVRTXSxbdGVzdCAiJGVuYWJsZV9vcGNvZGVfc3RhdHMiID0gInllcyJdKQorQU1f
Q09ORElUSU9OQUwoW0VOQUJMRV9XRUJLSVQyXSxbdGVzdCAiJGVuYWJsZV93ZWJraXQyIiA9ICJ5
ZXMiXSkKIAogIyBHdGsgY29uZGl0aW9uYWxzCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0lOVFJP
U1BFQ1RJT05dLFt0ZXN0ICIkZW5hYmxlX2ludHJvc3BlY3Rpb24iID0gInllcyJdKQogCi0KIEFD
X0NPTkZJR19GSUxFUyhbCiBHTlVtYWtlZmlsZQorXQorKQorIAoraWYgdGVzdCAiJGVuYWJsZV93
ZWJraXQyIiA9ICJubyI7IHRoZW4KK0FDX0NPTkZJR19GSUxFUyhbCiBXZWJLaXQvZ3RrL3dlYmtp
dC93ZWJraXR2ZXJzaW9uLmgKIFdlYktpdC9ndGsvZG9jcy9HTlVtYWtlZmlsZQogV2ViS2l0L2d0
ay9kb2NzL3ZlcnNpb24ueG1sCkBAIC05NzgsNiArOTk0LDEzIEBAIFdlYktpdC9ndGsvb3JnLndl
YmtpdGd0ay0ke1dFQktJVEdUS19BUEkKIF0KICxbV0VCS0lUR1RLX0FQSV9WRVJTSU9OPSRXRUJL
SVRHVEtfQVBJX1ZFUlNJT04sV0VCS0lUR1RLX1BDX05BTUU9JFdFQktJVEdUS19QQ19OQU1FXQog
KQorZWxzZQorQUNfQ09ORklHX0ZJTEVTKFsKK1dlYktpdDIvZ3RrLyR7V0VCS0lUR1RLX1BDX05B
TUV9Mi0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2ViS2l0Mi9ndGsvd2Via2l0Mi5wYy5p
bgorXQorLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdFQktJVEdUS19BUElfVkVSU0lPTixXRUJL
SVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVdCispCitmaQogCiBBQ19PVVRQVVQKIApA
QCAtMTAzMyw2ICsxMDU2LDcgQEAgR1RLKyBjb25maWd1cmF0aW9uOgogIEdESyB0YXJnZXQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfdGFyZ2V0
CiAgSGlsZG9uIFVJIGV4dGVuc2lvbnMgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgOiAkd2l0aF9oaWxkb24KICBJbnRyb3NwZWN0aW9uIHN1cHBvcnQgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfaW50cm9zcGVjdGlvbgorIFdlYktpdDIgc3Vw
cG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV93
ZWJraXQyCiAiCiBpZiB0ZXN0ICIkd2l0aF91bmljb2RlX2JhY2tlbmQiID0gImdsaWIiOyB0aGVu
CiAgICBlY2hvICIgICAgID4+IFdBUk5JTkc6IHRoZSBnbGliLWJhc2VkIHVuaWNvZGUgYmFja2Vu
ZCBpcyBzbG93IGFuZCBpbmNvbXBsZXRlIDw8IgpJbmRleDogSmF2YVNjcmlwdENvcmUvQ2hhbmdl
TG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIEphdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gNzAw
OTgpCisrKyBKYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkKQEAgLTEsMyAr
MSwxMiBAQAorMjAxMC0xMC0yNiAgQW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9sYS5jb20+
IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisg
ICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8g
ZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0LiAKKyAgICAgICAgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOiBFeGNsdWRlIGNvdXBsZSBvZiB3aW5kb3dzIHNwZWNpZmljIGZpbGVzIGZvciBn
ZW5lcmFsIEd0ayBwbGF0Zm9ybSBidWlsZC4KKwogMjAxMC0xMC0xOSAgQ3NhYmEgT3N6dHJvZ29u
w6FjICA8b3NzeUB3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEdlb2ZmcmV5IEdh
cmVuLgpJbmRleDogSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
SmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDcwMDk4KQorKysgSmF2YVNj
cmlwdENvcmUvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTUxLDcgKzUxLDYgQEAg
amF2YXNjcmlwdGNvcmVfYnVpbHRfbm9zb3VyY2VzICs9IFwKIAlKYXZhU2NyaXB0Q29yZS9wY3Jl
L2NoYXJ0YWJsZXMuYwogCiBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwKLQlKYXZhU2NyaXB0
Q29yZS9BUEkvQVBJQ2FzdC5oIFwKIAlKYXZhU2NyaXB0Q29yZS9BUEkvQVBJU2hpbXMuaCBcCiAJ
SmF2YVNjcmlwdENvcmUvQVBJL0pTQmFzZS5jcHAgXAogCUphdmFTY3JpcHRDb3JlL0FQSS9KU0Jh
c2VQcml2YXRlLmggXApAQCAtNjgsMTIgKzY3LDEwIEBAIGphdmFzY3JpcHRjb3JlX3NvdXJjZXMg
Kz0gXAogCUphdmFTY3JpcHRDb3JlL0FQSS9KU0NvbnRleHRSZWZQcml2YXRlLmggXAogCUphdmFT
Y3JpcHRDb3JlL0FQSS9KU09iamVjdFJlZi5jcHAgXAogCUphdmFTY3JpcHRDb3JlL0FQSS9KU09i
amVjdFJlZlByaXZhdGUuaCBcCi0JSmF2YVNjcmlwdENvcmUvQVBJL0pTUmV0YWluUHRyLmggXAog
CUphdmFTY3JpcHRDb3JlL0FQSS9KU1N0cmluZ1JlZi5jcHAgXAogCUphdmFTY3JpcHRDb3JlL0FQ
SS9KU1ZhbHVlUmVmLmNwcCBcCiAJSmF2YVNjcmlwdENvcmUvQVBJL0pTV2Vha09iamVjdE1hcFJl
ZkludGVybmFsLmggXAogCUphdmFTY3JpcHRDb3JlL0FQSS9PcGFxdWVKU1N0cmluZy5jcHAgXAot
CUphdmFTY3JpcHRDb3JlL0FQSS9PcGFxdWVKU1N0cmluZy5oIFwKIAlKYXZhU2NyaXB0Q29yZS9h
c3NlbWJsZXIvQWJzdHJhY3RNYWNyb0Fzc2VtYmxlci5oIFwKIAlKYXZhU2NyaXB0Q29yZS9hc3Nl
bWJsZXIvQVJNQXNzZW1ibGVyLmNwcCBcCiAJSmF2YVNjcmlwdENvcmUvYXNzZW1ibGVyL0FSTUFz
c2VtYmxlci5oIFwKQEAgLTE4MCw4ICsxNzcsNiBAQCBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9
IFwKIAlKYXZhU2NyaXB0Q29yZS9qaXQvU3BlY2lhbGl6ZWRUaHVua0pJVC5oIFwKIAlKYXZhU2Ny
aXB0Q29yZS9qaXQvVGh1bmtHZW5lcmF0b3JzLmNwcCBcCiAJSmF2YVNjcmlwdENvcmUvaml0L1Ro
dW5rR2VuZXJhdG9ycy5oIFwKLQlKYXZhU2NyaXB0Q29yZS9vcy13aW4zMi9zdGRib29sLmggXAot
CUphdmFTY3JpcHRDb3JlL29zLXdpbjMyL3N0ZGludC5oIFwKIAlKYXZhU2NyaXB0Q29yZS9wYXJz
ZXIvQVNUQnVpbGRlci5oIFwKIAlKYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuY3BwIFwK
IAlKYXZhU2NyaXB0Q29yZS9wYXJzZXIvSlNQYXJzZXIuaCBcCkBAIC01NTIsNiArNTQ3LDggQEAg
amF2YXNjcmlwdGNvcmVfc291cmNlcyArPSBcCiAKIGlmIFRBUkdFVF9XSU4zMgogamF2YXNjcmlw
dGNvcmVfc291cmNlcyArPSBcCisJSmF2YVNjcmlwdENvcmUvb3Mtd2luMzIvc3RkYm9vbC5oIFwK
KwlKYXZhU2NyaXB0Q29yZS9vcy13aW4zMi9zdGRpbnQuaCBcCiAJSmF2YVNjcmlwdENvcmUvcnVu
dGltZS9NYXJrU3RhY2tXaW4uY3BwCiBlbHNlCiBqYXZhc2NyaXB0Y29yZV9zb3VyY2VzICs9IFwK
SW5kZXg6IFdlYkNvcmUvQ2hhbmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9n
CShyZXZpc2lvbiA3MDA5OCkKKysrIFdlYkNvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBA
IC0xLDMgKzEsMTkgQEAKKzIwMTAtMTAtMjYgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3Jv
bGEuY29tPiBhbmQgUmF2aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNv
bT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFu
Z2VzIHRvIGVuYWJsZSBidWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydAorICAgICAgICAoaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgIE5v
IG5ldyB0ZXN0cy4gKE9PUFMhKQorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IENoYW5nZXMg
dG8gZW5hYmxlIGRpc2FibGUgYnVpbGRpbmcgb2YgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0IHdo
ZW4gYnVpbGRpbmcgV2ViS2l0Mi4KKyAgICAgICAgVGhpcyBpcyByZXF1aXJlZCBzaW5jZSBXZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QgYWNjZXNzIFdlYktpdC9ndGsvd2Via2l0IGZpbGVzLCB3aGlj
aCBhcmUgc2tpcHBlZCBmb3IgV2ViS2l0Mi4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3Nv
dXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaDogQ2hhbmdlcyB0byBzdG9wIGluY2x1ZGluZyA8
d2Via2l0L3dlYmtpdGRlZmluZXMuaD4KKyAgICAgICAgd2hlbiBidWlsZGluZyBXZWJLaXQyLiBJ
bnN0ZWFkIHRoZSBtYWNybyBXRUJLSVRfQVBJIGlzIGRlZmluZWQgZGlyZWN0bHkgaW4gc291cC1j
YWNoZS5oLiA8d2Via2l0L3dlYmtpdGRlZmluZXMuaD4KKyAgICAgICAgaXMgaW5jbHVkaW5nIG9u
bHkgd2hlbiBidWlsZGluZyBXZWJLaXQxLiBUaGlzIGlzIGRvbmUgYXMgZW50aXJlIGRpciBXZWJL
aXQvZ3RrL3dlYmtpdCBpcyBza2lwcGVkIHdoZW4gYnVpbGRpbmcKKyAgICAgICAgV2ViS2l0Mi4K
KwogMjAxMC0xMC0xOSAgQWxleGV5IFByb3NrdXJ5YWtvdiAgPGFwQGFwcGxlLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24uCkluZGV4OiBXZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDcw
MDk4KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAtMTAsNyAr
MTAsNiBAQCB3ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRp
bmdzL2dlbmVyaWMgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvanMgXAogCS1JJChz
cmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvanMvc3BlY2lhbGl6YXRpb24gXAotCS1JJChzcmNkaXIp
L1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdCBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9icmlkZ2Ug
XAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlL2MgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUv
YnJpZGdlL2puaS9qc2MgXApAQCAtODQsNiArODMsOSBAQCB3ZWJjb3JlZ3RrX2NwcGZsYWdzICs9
IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZSBcCiAJ
LUkkKHNyY2RpcikvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0CiAK
K3dlYmNvcmVndGtfZG9tX2NwcGZsYWdzIDo9IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QKKwogd2ViY29yZV9idWlsdF9ub3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvdG9rZW5pemVyLmNwcAogCkBAIC02MzUsMTkgKzYzNyw2IEBAIHdlYmNvcmVf
c291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0dlbmVyaWNCaW5kaW5nLmgg
XAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBc
CiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBcCi0J
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKLQlXZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5oIFwKLQlXZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwIFwKLQlXZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L1dlYktpdERPTUJpbmRpbmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NQmluZGluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9N
RXZlbnRUYXJnZXQuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZl
bnRUYXJnZXQuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFy
Z2V0UHJpdmF0ZS5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0
LmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5oIFwKLQlX
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5j
cHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJG
YWN0b3J5LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlk
ZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01PYmplY3RIYXNoVGFibGVNYXAuY3BwIFwK
IAlXZWJDb3JlL2JpbmRpbmdzL2pzL0RPTU9iamVjdEhhc2hUYWJsZU1hcC5oIFwKQEAgLTI5MTMs
NyArMjkwMiw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQklu
ZGV4QmFja2VuZEltcGwuY3BwIFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW1w
bC5oIFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCSW5kZXhCYWNrZW5kSW50ZXJmYWNlLmggXAotCVdl
YkNvcmUvc3RvcmFnZS9JREJJbmRleEJhY2tlbmRJbnRlcmZhY2UuaCBcCiAJV2ViQ29yZS9zdG9y
YWdlL0lEQkluZGV4LmNwcCBcCiAJV2ViQ29yZS9zdG9yYWdlL0lEQkluZGV4LmggXAogCVdlYkNv
cmUvc3RvcmFnZS9JREJLZXkuaCBcCkBAIC0yOTI0LDcgKzI5MTIsNiBAQCB3ZWJjb3JlX3NvdXJj
ZXMgKz0gXAogCVdlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZUJhY2tlbmRJbXBsLmNwcCBc
CiAJV2ViQ29yZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEltcGwuaCBcCiAJV2ViQ29y
ZS9zdG9yYWdlL0lEQk9iamVjdFN0b3JlQmFja2VuZEludGVyZmFjZS5oIFwKLQlXZWJDb3JlL3N0
b3JhZ2UvSURCT2JqZWN0U3RvcmVCYWNrZW5kSW50ZXJmYWNlLmggXAogCVdlYkNvcmUvc3RvcmFn
ZS9JREJPYmplY3RTdG9yZS5jcHAgXAogCVdlYkNvcmUvc3RvcmFnZS9JREJPYmplY3RTdG9yZS5o
IFwKIAlXZWJDb3JlL3N0b3JhZ2UvSURCUmVxdWVzdC5jcHAgXApAQCAtMzY1NSw3ICszNjQyLDIw
IEBAIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2d0ay9U
ZXh0QnJlYWtJdGVyYXRvckd0ay5jcHAKIGVuZGlmCiAKLQord2ViY29yZWd0a19kb21fc291cmNl
cyA6PSBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3Bw
IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5oIFwKKwlX
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwIFwKKwlXZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuaCBcCisJV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2Vi
S2l0RE9NRXZlbnRUYXJnZXQuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERP
TUV2ZW50VGFyZ2V0UHJpdmF0ZS5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NT2JqZWN0LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVj
dC5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVy
RmFjdG9yeS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVu
dFdyYXBwZXJGYWN0b3J5LmgKICMgLS0tCiAjIENoYW5uZWwgbWVzYWdpbmcgc3VwcG9ydAogIyAt
LS0KQEAgLTQ2NjgsNiArNDY2OCw3IEBAICR7R0VOU09VUkNFU19JTlNQRUNUT1J9L2luc3BlY3Rv
ci5odG1sOiAKIAkkKEFNX1ZfYXQpY3AgJHtkaXN0X3dlYmluc3BlY3RvcmltYWdlc19EQVRBfSAk
e0dFTlNPVVJDRVNfSU5TUEVDVE9SfS9pbWFnZXMKIAogd2VicmVzb3VyY2VzZGlyID0gJHtkYXRh
ZGlyfS93ZWJraXRndGstQFdFQktJVEdUS19BUElfVkVSU0lPTkAvaW1hZ2VzCisKIGRpc3Rfd2Vi
cmVzb3VyY2VzX0RBVEEgPSBcCiAJJChXZWJDb3JlKS9SZXNvdXJjZXMvdGV4dEFyZWFSZXNpemVD
b3JuZXIucG5nIFwKIAkkKFdlYkNvcmUpL1Jlc291cmNlcy9udWxsUGx1Z2luLnBuZyBcCkluZGV4
OiBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5o
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtp
dC9zb3VwLWNhY2hlLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaAkod29ya2luZyBjb3B5KQpAQCAtMyw2
ICszLDcgQEAKICAqIHNvdXAtY2FjaGUuaDoKICAqCiAgKiBDb3B5cmlnaHQgKEMpIDIwMDksIDIw
MTAgSWdhbGlhLCBTLkwuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEg
TW9iaWxpdHksIEluYy4gIEV4Y2VwdCBhcyBwcm92aWRlZCBiZWxvdywgYWxsIHJpZ2h0cyByZXNl
cnZlZC4KICAqCiAgKiBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRp
c3RyaWJ1dGUgaXQgYW5kL29yCiAgKiBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwpAQCAtMjMsNiArMjQsNyBAQAogI2lmbmRlZiBXRUJL
SVRfU09VUF9DQUNIRV9ICiAjZGVmaW5lIFdFQktJVF9TT1VQX0NBQ0hFX0ggMQogCisjaWYgIWRl
ZmluZWQoRU5BQkxFX1dFQktJVDJfQlVJTEQpCiAjaWYgQlVJTERJTkdfR1RLX18KICNpbmNsdWRl
IDx3ZWJraXQvd2Via2l0ZGVmaW5lcy5oPgogI2Vsc2UKQEAgLTMwLDYgKzMyLDEwIEBACiAjZGVm
aW5lIFdFQktJVF9BUEkKICNlbmRpZgogI2VuZGlmCisjZWxzZSAgLy8gIWRlZmluZWQoRU5BQkxF
X1dFQktJVDJfQlVJTEQpCisjZGVmaW5lIFdFQktJVF9BUEkgX19hdHRyaWJ1dGVfXygodmlzaWJp
bGl0eSgiZGVmYXVsdCIpKSkKKyNkZWZpbmUgV0VCS0lUX09CU09MRVRFX0FQSSBXRUJLSVRfQVBJ
IF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKQorI2VuZGlmIC8vICFkZWZpbmVkKEVOQUJMRV9X
RUJLSVQyX0JVSUxEKQogCiAjaW5jbHVkZSA8bGlic291cC9zb3VwLXR5cGVzLmg+CiAjaW5jbHVk
ZSA8Z2lvL2dpby5oPgpJbmRleDogV2ViS2l0Mi9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9DaGFuZ2VMb2cJKHdv
cmtpbmcgY29weSkKQEAgLTEsMyArMSwyNjYgQEAKKzIwMTAtMTAtMjYgIFJhdmkgS2FzaWJoYXRs
YSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlcyB0byBlbmFibGUgYnVpbGRpbmcgV2Vi
S2l0MiBmb3IgR3RrIHBvcnQuCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93
X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQuCisg
ICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmg6IENoYW5nZXMgZm9yIEd0ayBs
aW51eCBwb3J0ICAKKyAgICAgICAgKiBQbGF0Zm9ybS9Db3JlSVBDL2d0azogQWRkZWQuCisgICAg
ICAgICogUGxhdGZvcm0vQ29yZUlQQy9ndGsvQ29ubmVjdGlvbkd0ay5jcHA6IEFkZGVkLiBDb25u
ZWN0aW9uIGNsYXNzIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydCAoVU5JWF9YMTEgc3BlY2lm
aWMpLgorICAgICAgICAoQ29yZUlQQzo6Q29ubmVjdGlvbjo6cGxhdGZvcm1Jbml0aWFsaXplKToK
KyAgICAgICAgKENvcmVJUEM6OkNvbm5lY3Rpb246OnBsYXRmb3JtSW52YWxpZGF0ZSk6CisgICAg
ICAgIChDb3JlSVBDOjpDb25uZWN0aW9uOjpyZWFkRXZlbnRIYW5kbGVyKToKKyAgICAgICAgKENv
cmVJUEM6OkNvbm5lY3Rpb246Om9wZW4pOgorICAgICAgICAoQ29yZUlQQzo6Q29ubmVjdGlvbjo6
cGxhdGZvcm1DYW5TZW5kT3V0Z29pbmdNZXNzYWdlcyk6CisgICAgICAgIChDb3JlSVBDOjpDb25u
ZWN0aW9uOjpzZW5kT3V0Z29pbmdNZXNzYWdlKToKKyAgICAgICAgKiBQbGF0Zm9ybS9Nb2R1bGUu
aDoKKyAgICAgICAgKiBQbGF0Zm9ybS9QbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmg6CisgICAg
ICAgICogUGxhdGZvcm0vUnVuTG9vcC5oOgorICAgICAgICAqIFBsYXRmb3JtL1dvcmtRdWV1ZS5o
OgorICAgICAgICAqIFBsYXRmb3JtL2d0azogQWRkZWQuCisgICAgICAgICogUGxhdGZvcm0vZ3Rr
L01vZHVsZUd0ay5jcHA6IEFkZGVkLiBJbml0aWFsIGNvZGUgdXNpbmcgZGxvcGVuL2RsY2xvc2Ug
Y2FsbHMgKFVOSVhfWDExIHNwZWNpZmljKS4KKyAgICAgICAgKFdlYktpdDo6TW9kdWxlOjpsb2Fk
KToKKyAgICAgICAgKFdlYktpdDo6TW9kdWxlOjp1bmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpN
b2R1bGU6OnBsYXRmb3JtRnVuY3Rpb25Qb2ludGVyKToKKyAgICAgICAgKiBQbGF0Zm9ybS9ndGsv
UnVuTG9vcEd0ay5jcHA6IEFkZGVkLiBSdW5zIGFuIGV2ZW50IGxvb3AgdXNpbmcgR01haW5Mb29w
IGFuZCBoYW5kbGVzIHRoZSBpbmNvbWluZyBtZXNzYWdlcy4KKyAgICAgICAgKFJ1bkxvb3A6OlJ1
bkxvb3ApOiAKKyAgICAgICAgKFJ1bkxvb3A6On5SdW5Mb29wKToKKyAgICAgICAgKFJ1bkxvb3A6
OnJ1bik6CisgICAgICAgIChSdW5Mb29wOjptYWluTG9vcCk6CisgICAgICAgIChSdW5Mb29wOjpz
dG9wKToKKyAgICAgICAgKFJ1bkxvb3A6OnBlcmZvcm1Xb3JrKToKKyAgICAgICAgKFJ1bkxvb3A6
Ondha2VVcCk6CisgICAgICAgIChSdW5Mb29wOjpUaW1lckJhc2U6OlRpbWVyQmFzZSk6CisgICAg
ICAgIChSdW5Mb29wOjpUaW1lckJhc2U6On5UaW1lckJhc2UpOgorICAgICAgICAoUnVuTG9vcDo6
VGltZXJCYXNlOjpvbmVTaG90VGltZXJGaXJlZCk6CisgICAgICAgIChSdW5Mb29wOjpUaW1lckJh
c2U6OnJlcGVhdGluZ1RpbWVyRmlyZWQpOgorICAgICAgICAoUnVuTG9vcDo6VGltZXJCYXNlOjpz
dGFydCk6CisgICAgICAgIChSdW5Mb29wOjpUaW1lckJhc2U6OnN0b3ApOgorICAgICAgICAoUnVu
TG9vcDo6VGltZXJCYXNlOjppc0FjdGl2ZSk6CisgICAgICAgICogUGxhdGZvcm0vZ3RrL1NoYXJl
ZE1lbW9yeUd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9y
dC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5k
bGU6OkhhbmRsZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlOjp+SGFu
ZGxlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGU6OmVuY29kZSk6Cisg
ICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6SGFuZGxlOjpkZWNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpTaGFyZWRNZW1vcnk6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1l
bW9yeTo6flNoYXJlZE1lbW9yeSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6Y3Jl
YXRlSGFuZGxlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpzeXN0ZW1QYWdlU2l6
ZSk6CisgICAgICAgICogUGxhdGZvcm0vZ3RrL1dvcmtRdWV1ZUd0ay5jcHA6IEFkZGVkLiBDcmVh
dGVzIGEgdGhyZWFkIGFuZCBwb2xscyBvbiBhIGdpdmVuIGZkIHVzaW5nIEdJT0NoYW5uZWwuIAor
ICAgICAgICBEaXNwYXRjaGVzIHRoZSBvYnRhaW5lZCBtZXNzYWdlcyB0byBSdW5Mb29wJ3MgR01h
aW5Mb29wCisgICAgICAgIChXb3JrUXVldWU6OnBsYXRmb3JtSW5pdGlhbGl6ZSk6CisgICAgICAg
IChXb3JrUXVldWU6OnBsYXRmb3JtSW52YWxpZGF0ZSk6CisgICAgICAgIChXb3JrUXVldWU6Ondv
cmtRdWV1ZVRocmVhZEJvZHkpOgorICAgICAgICAoV29ya1F1ZXVlOjpFdmVudFNvdXJjZTo6RXZl
bnRTb3VyY2UpOgorICAgICAgICAoV29ya1F1ZXVlOjpFdmVudFNvdXJjZTo6ZGlzcGF0Y2hTb3Vy
Y2UpOgorICAgICAgICAoV29ya1F1ZXVlOjpFdmVudFNvdXJjZTo6cGVyZm9ybVdvcmtPbmNlKToK
KyAgICAgICAgKFdvcmtRdWV1ZTo6RXZlbnRTb3VyY2U6OmNsb3NlQ29ubmVjdGlvbik6CisgICAg
ICAgIChXb3JrUXVldWU6OkV2ZW50U291cmNlOjpwZXJmb3JtV29yayk6CisgICAgICAgIChXb3Jr
UXVldWU6OkV2ZW50U291cmNlOjpkZWxldGVFdmVudFNvdXJjZSk6CisgICAgICAgIChXb3JrUXVl
dWU6OnJlZ2lzdGVyRXZlbnRTb3VyY2VIYW5kbGVyKToKKyAgICAgICAgKFdvcmtRdWV1ZTo6dW5y
ZWdpc3RlckV2ZW50U291cmNlSGFuZGxlcik6CisgICAgICAgIChXb3JrUXVldWU6OnNjaGVkdWxl
V29yayk6CisgICAgICAgICogU2hhcmVkL0FQSS9jL1dLQmFzZS5oOgorICAgICAgICAqIFNoYXJl
ZC9BUEkvYy9ndGs6IEFkZGVkLgorICAgICAgICAqIFNoYXJlZC9BUEkvYy9ndGsvV0tCYXNlR3Rr
Lmg6IEFkZGVkLiBEZWNsYXJhdGlvbiBvZiBXS1ZpZXdSZWYgZm9yIEdUSyBwb3J0LgorICAgICAg
ICAqIFNoYXJlZC9Db3JlSVBDU3VwcG9ydC9EcmF3aW5nQXJlYU1lc3NhZ2VLaW5kcy5oOgorICAg
ICAgICAqIFNoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50Lmg6CisgICAgICAgIChXZWJLaXQ6
Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6Om5hdGl2ZUV2ZW50KToKKyAgICAgICAgKiBTaGFyZWQv
Z3RrOiBBZGRlZC4KKyAgICAgICAgKiBTaGFyZWQvZ3RrL0JhY2tpbmdTdG9yZUd0ay5jcHA6IEFk
ZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVu
dC4KKyAgICAgICAgKFdlYktpdDo6QmFja2luZ1N0b3JlOjpjcmVhdGVHcmFwaGljc0NvbnRleHQp
OgorICAgICAgICAoV2ViS2l0OjpCYWNraW5nU3RvcmU6OnBhaW50KToKKyAgICAgICAgKiBTaGFy
ZWQvZ3RrL05hdGl2ZVdlYktleWJvYXJkRXZlbnRHdGsuY3BwOiBBZGRlZC4gU3R1YmJlZCBpbXBs
ZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAgICAgIChXZWJL
aXQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQ6Ok5hdGl2ZVdlYktleWJvYXJkRXZlbnQpOgorICAg
ICAgICAqIFNoYXJlZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaDogQWRkZWQuIFN0dWJi
ZWQgaW1wbGVtZW50YXRpb24gZm9yIEdUSyBwb3J0LiBZZXQgdG8gaW1wbGVtZW50LgorICAgICAg
ICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8pOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKToK
KyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZSk6CisgICAg
ICAgICogU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5jcHA6IEFkZGVkLiBXZWJQcm9jZXNzIHVzZXMg
Z2RrX3BpeG1hcF9uZXcgdG8gY3JlYXRlIGFuZCBwYWludCBhIGNodW5rLgorICAgICAgICBVSVBy
b2Nlc3MgdXNlcyBnZGtfcGl4bWFwX2ZvcmVpZ25fbmV3IHRvIG9idGFpbiByZWZlcmVuY2UgdG8g
dGhlIHBhaW50ZWQgY2h1bmsuCisgICAgICAgIChXZWJLaXQ6OlVwZGF0ZUNodW5rOjpVcGRhdGVD
aHVuayk6CisgICAgICAgIChXZWJLaXQ6OlVwZGF0ZUNodW5rOjplbmNvZGUpOgorICAgICAgICAo
V2ViS2l0OjpVcGRhdGVDaHVuazo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvZ3RrL1VwZGF0
ZUNodW5rLmg6IEFkZGVkLiBJbXBsZW1lbnRhdGlvbiB1c2luZyBHZGtQaXhtYXAgZm9yIEdUSyBw
b3J0LgorICAgICAgICAoV2ViS2l0OjpVcGRhdGVDaHVuazo6cmVjdCk6CisgICAgICAgIChXZWJL
aXQ6OlVwZGF0ZUNodW5rOjptZW1vcnkpOgorICAgICAgICAoV2ViS2l0OjpVcGRhdGVDaHVuazo6
eElEKToKKyAgICAgICAgKFdlYktpdDo6VXBkYXRlQ2h1bms6OmlzRW1wdHkpOgorICAgICAgICAq
IFNoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcDogQWRkZWQuIFN0dWJiZWQg
aW1wbGVtZW50YXRpb24gZm9yIEdUSyBwb3J0LiBZZXQgdG8gaW1wbGVtZW50LgorICAgICAgICAo
Q29yZUlQQzo6ZW5jb2RlUmVzb3VyY2VSZXF1ZXN0KToKKyAgICAgICAgKENvcmVJUEM6OmRlY29k
ZVJlc291cmNlUmVxdWVzdCk6CisgICAgICAgICogU2hhcmVkL2d0ay9XZWJFdmVudEZhY3Rvcnku
Y3BwOiBBZGRlZC4gR1RLIGltcGxlbWVudGF0aW9uIGZvciBXZWJNb3VzZUV2ZW50LCBXZWJXaGVl
bEV2ZW50LCBXZWJLZXlib2FyZEV2ZW50LgorICAgICAgICAoV2ViS2l0Ojpwb3NpdGlvbkZvckV2
ZW50KToKKyAgICAgICAgKFdlYktpdDo6Z2xvYmFsUG9zaXRpb25Gb3JFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6OmNsaWNrQ291bnQpOgorICAgICAgICAoV2ViS2l0Ojptb2RpZmllcnNGb3JFdmVu
dCk6CisgICAgICAgIChXZWJLaXQ6OmJ1dHRvbkZvckV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJNb3VzZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6
V2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJXaGVlbEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6
a2V5SWRlbnRpZmllckZvckdka0tleUNvZGUpOgorICAgICAgICAoV2ViS2l0Ojp3aW5kb3dzS2V5
Q29kZUZvcktleUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6c2luZ2xlQ2hhcmFjdGVyU3RyaW5n
KToKKyAgICAgICAgKFdlYktpdDo6bW9kaWZpZXJzRm9yQ3VycmVudEtleVN0YXRlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJLZXlib2FyZEV2ZW50KToKKyAg
ICAgICAgKiBTaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oOiBBZGRlZC4gR1RLIGltcGxlbWVu
dGF0aW9uIGZvciBXZWJNb3VzZUV2ZW50LCBXZWJXaGVlbEV2ZW50LCBXZWJLZXlib2FyZEV2ZW50
LgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0MvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvZ3RrL1dL
QVBJQ2FzdEd0ay5oOiBBZGRlZC4gVHlwZSBkZWZpbml0aW9uIHRlbXBsYXRlIGZvciBXS1ZpZXdS
ZWYgdG8gV2ViVmlldyBhbmQgdmljZS12ZXJzYS4KKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0Mv
Z3RrL1dLVmlldy5jcHA6IEFkZGVkLiBJbXBsZW1lbnRhdGlvbiBvZiBXS1ZpZXcgQVBJIGludGVy
ZmFjZS4KKyAgICAgICAgKFdLVmlld0NyZWF0ZSk6CisgICAgICAgIChXS1ZpZXdHZXRXaW5kb3cp
OgorICAgICAgICAoV0tWaWV3R2V0SG9zdFdpbmRvdyk6CisgICAgICAgIChXS1ZpZXdHZXRQYWdl
KToKKyAgICAgICAgKFdLVmlld1NldEhvc3RXaW5kb3cpOgorICAgICAgICAoV0tVUkxDcmVhdGVX
aXRoVVJMKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5oOiBBZGRlZC4g
SW1wbGVtZW50YXRpb24gb2YgV0tWaWV3IEFQSSBpbnRlcmZhY2UuCisgICAgICAgICogVUlQcm9j
ZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmNwcDoKKyAgICAgICAgKFdlYktpdDo6
Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVBy
b3h5KToKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6OmRp
ZFNldFNpemUpOiBTZW5kIGEgbWVzc2FnZSB0byBXZWJQcm9jZXNzIHRvIGRlbGV0ZSB0aGUgcGl4
bWFwIGNyZWF0ZWQgdGhyb3VnaCBhIFNldFNpemUKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVw
ZGF0ZURyYXdpbmdBcmVhUHJveHk6OnVwZGF0ZSk6IEFkZCBhbiBhZGRpdGlvbmFsIHBhcmFtZXRl
ciBYSUQgd2hpbGUgc2VuZGluZyBtZXNzYWdlIHdoaWNoIHRoZSB3ZWIgcHJvY2VzcyB1c2VzIHRv
IGRlbGV0ZSB0aGUgR2RrUGl4bWFwCisgICAgICAgICogVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVE
cmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHku
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBV
SVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHA6IEFkZGVkLiBHVEsg
KFVOSVhfWDExIHNwZWNpZmljKSBpbXBsZW1lbnRhdGlvbiBmb3IgbGF1bmNoaW5nIFdlYiBQcm9j
ZXNzIGZyb20gVUkgUHJvY2Vzcy4KKyAgICAgICAgQ3JlYXRlcyBhIHNvY2tldC1wYWlyIGFuZCBz
ZW5kcyBhbiBmZCB0byBlYWNoIHByb2Nlc3MuCisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVu
Y2hlcjo6bGF1bmNoUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6
dGVybWluYXRlUHJvY2Vzcyk6CisgICAgICAgIChXZWJLaXQ6OlByb2Nlc3NMYXVuY2hlcjo6cGxh
dGZvcm1JbnZhbGlkYXRlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1RocmVh
ZExhdW5jaGVyR3RrLmNwcDogQWRkZWQuIFN0dWJiZWQgaW1wbGVtZW50YXRpb24gZm9yIEdUSyBw
b3J0LiBZZXQgdG8gaW1wbGVtZW50LgorICAgICAgICAoV2ViS2l0OjpUaHJlYWRMYXVuY2hlcjo6
Y3JlYXRlV2ViVGhyZWFkKToKKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9ndGs6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvU3RvcmVHdGsuY3Bw
OiBBZGRlZC4gU3R1YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBs
ZW1lbnQuCisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9y
aWVzKToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5QYXRoc0luRGly
ZWN0b3J5KToKKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjppbmRpdmlkdWFsUGx1
Z2luUGF0aHMpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmdldFBsdWdpbklu
Zm8pOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OnNob3VsZFVzZVBsdWdpbik6
CisgICAgICAgICogVUlQcm9jZXNzL2d0azogQWRkZWQuCisgICAgICAgICogVUlQcm9jZXNzL2d0
ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eUd0ay5jcHA6IEFkZGVkLiBDcmVhdGVzIGFu
ZCBtYWludGFpbnMgYSBiYWNraW5nIHN0b3JlIHVzaW5nIEdka1BpeG1hcAorICAgICAgICAoV2Vi
S2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6cGFnZSk6CisgICAgICAgIChXZWJL
aXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjplbnN1cmVCYWNraW5nU3RvcmUpOgor
ICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eTo6aW52YWxpZGF0
ZUJhY2tpbmdTdG9yZSk6CisgICAgICAgIChXZWJLaXQ6OkNodW5rZWRVcGRhdGVEcmF3aW5nQXJl
YVByb3h5OjpwbGF0Zm9ybVBhaW50KToKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURy
YXdpbmdBcmVhUHJveHk6OmRyYXdVcGRhdGVDaHVua0ludG9CYWNraW5nU3RvcmUpOgorICAgICAg
ICAqIFVJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxl
bWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktp
dDo6V2ViQ29udGV4dDo6YXBwbGljYXRpb25DYWNoZURpcmVjdG9yeSk6CisgICAgICAgIChXZWJL
aXQ6OldlYkNvbnRleHQ6OnBsYXRmb3JtSW5pdGlhbGl6ZVdlYlByb2Nlc3MpOgorICAgICAgICAq
IFVJUHJvY2Vzcy9ndGsvV2ViVmlldy5jcHA6IEFkZGVkLiBUaGUgbmF0aXZlIEd0a1dpZGdldCBo
YW5kbGUgZm9yIGVhY2ggV0tWaWV3UmVmIGZvciBHVEsgcG9ydC4KKyAgICAgICAgKFdlYktpdDo6
V2ViVmlldzo6d2ViVmlld09uRXhwb3NlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6d2Vi
Vmlld09uU2l6ZUFsbG9jYXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0Zv
Y3VzSW5FdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdGb2N1c091dEV2
ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0tleVByZXNzRXZlbnQpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp3ZWJWaWV3S2V5UmVsZWFzZUV2ZW50KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0J1dHRvblByZXNzRXZlbnQpOgorICAgICAgICAo
V2ViS2l0OjpXZWJWaWV3Ojp3ZWJWaWV3QnV0dG9uUmVsZWFzZUV2ZW50KToKKyAgICAgICAgKFdl
YktpdDo6V2ViVmlldzo6d2ViVmlld1Njcm9sbEV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2Vi
Vmlldzo6d2ViVmlld01vdGlvbk5vdGlmeUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
dzo6V2ViVmlldyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6On5XZWJWaWV3KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlldzo6c2V0SG9zdFdpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXc6Om9uUGFpbnRFdmVudCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6Om9uU2l6ZUV2
ZW50KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6b25TZXRGb2N1c0V2ZW50KToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlldzo6b25LaWxsRm9jdXNFdmVudCk6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXc6Om9uS2V5RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpvbk1vdXNl
RXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpvbldoZWVsRXZlbnQpOgorICAgICAg
ICAoV2ViS2l0OjpXZWJWaWV3Ojppc0FjdGl2ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6
OnVwZGF0ZUFjdGl2ZVN0YXRlKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6Y2xvc2UpOgor
ICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojpwcm9jZXNzRGlkRXhpdCk6CisgICAgICAgIChXZWJL
aXQ6OldlYlZpZXc6OnByb2Nlc3NEaWRSZXZpdmUpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3
Ojp0YWtlRm9jdXMpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3Ojp0b29sVGlwQ2hhbmdlZCk6
CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OnNldEN1cnNvcik6CisgICAgICAgIChXZWJLaXQ6
OldlYlZpZXc6OnNldFZpZXdwb3J0QXJndW1lbnRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
dzo6cmVnaXN0ZXJFZGl0Q29tbWFuZCk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmNsZWFy
QWxsRWRpdENvbW1hbmRzKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6c2V0RWRpdENvbW1h
bmRTdGF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmNvbnZlcnRUb0RldmljZVNwYWNl
KToKKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6Y29udmVydFRvVXNlclNwYWNlKToKKyAgICAg
ICAgKFdlYktpdDo6V2ViVmlldzo6ZGlkTm90SGFuZGxlS2V5RXZlbnQpOgorICAgICAgICAoV2Vi
S2l0OjpXZWJWaWV3OjpjcmVhdGVQb3B1cE1lbnVQcm94eSk6CisgICAgICAgIChXZWJLaXQ6Oldl
YlZpZXc6OnNldEZpbmRJbmRpY2F0b3IpOgorICAgICAgICAoV2ViS2l0OjpXZWJWaWV3OjpwYWdl
RGlkRW50ZXJBY2NlbGVyYXRlZENvbXBvc2l0aW5nKToKKyAgICAgICAgKFdlYktpdDo6V2ViVmll
dzo6cGFnZURpZExlYXZlQWNjZWxlcmF0ZWRDb21wb3NpdGluZyk6CisgICAgICAgICogVUlQcm9j
ZXNzL2d0ay9XZWJWaWV3Lmg6IEFkZGVkLiBOYXRpdmUgR3RrV2lkZ2V0IGhhbmRsZSBmb3IgV0tW
aWV3UmVmIGZvciBHVEsgcG9ydC4KKyAgICAgICAgKFdlYktpdDo6V2ViVmlldzo6cmVjdCk6Cisg
ICAgICAgIChXZWJLaXQ6OldlYlZpZXc6OmNyZWF0ZSk6CisgICAgICAgIChXZWJLaXQ6OldlYlZp
ZXc6OndpbmRvdyk6CisgICAgICAgIChXZWJLaXQ6OldlYlZpZXc6Omhvc3RXaW5kb3cpOgorICAg
ICAgICAoV2ViS2l0OjpXZWJWaWV3OjpwYWdlKToKKyAgICAgICAgKiBVSVByb2Nlc3MvZ3RrL1dl
YlZpZXdJbnRlcm5hbC5jcHA6IEFkZGVkLiBUaGUgR09iamVjdCBpbnRlcmZhY2UgZm9yIFdlYlZp
ZXcuIFRoZSBHT2JqZWN0IGlzCisgICAgICAgIHRoZSBHdGtXaWRnZXQgaGFuZGxlIHdoaWNoIGlz
IHVzZWQgYnkgV0tWaWV3UmVmIGZvciBHVEsgcG9ydC4KKyAgICAgICAgKHdlYmtpdFdpZGdldFZp
ZXdSZWFsaXplKToKKyAgICAgICAgKHdlYmtpdFdpZGdldFZpZXdDb250YWluZXJBZGQpOgorICAg
ICAgICAod2Via2l0V2lkZ2V0Vmlld0Rpc3Bvc2UpOgorICAgICAgICAod2Via2l0V2lkZ2V0Vmll
d0ZpbmFsaXplKToKKyAgICAgICAgKHdlYmtpdFdpZGdldFZpZXdDbGFzc0luaXQpOgorICAgICAg
ICAod2Via2l0V2lkZ2V0Vmlld0luaXQpOgorICAgICAgICAod2Via2l0V2lkZ2V0Vmlld0dldFR5
cGUpOgorICAgICAgICAqIFVJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFsLmg6IEFkZGVkLiBU
aGUgR09iamVjdCBpbnRlcmZhY2UgZGVjbGFyYXRpb25zIGZvciBHdGtXaWRnZXQgaGFuZGxlIGZv
ciBHVEsgcG9ydC4KKyAgICAgICAgKiBXZWJLaXQyUHJlZml4Lmg6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxl
bWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktp
dDo6SW5qZWN0ZWRCdW5kbGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRs
ZTo6YWN0aXZhdGVNYWNGb250QXNjZW50SGFjayk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL2d0azogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVu
dGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6
TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtUG9zdEluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0
OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1EZXN0cm95KToKKyAgICAgICAgKFdlYktpdDo6TmV0
c2NhcGVQbHVnaW46OnBsYXRmb3JtR2VvbWV0cnlEaWRDaGFuZ2UpOgorICAgICAgICAoV2ViS2l0
OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1QYWludCk6CisgICAgICAgIChXZWJLaXQ6OnRvTlAp
OgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVNb3VzZUV2
ZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlV2hl
ZWxFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVNldEZv
Y3VzKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91
c2VFbnRlckV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3Jt
SGFuZGxlTW91c2VMZWF2ZUV2ZW50KToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46
OnBsYXRmb3JtSGFuZGxlS2V5Ym9hcmRFdmVudCk6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9ndGs6IEFkZGVkLgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0
aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6Y2Fu
Y2VsbGVkRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjpibG9ja2VkRXJyb3IpOgorICAgICAgICAo
V2ViS2l0OjpjYW5ub3RTaG93VVJMRXJyb3IpOgorICAgICAgICAoV2ViS2l0OjppbnRlcnJ1cHRG
b3JQb2xpY3lDaGFuZ2VFcnJvcik6CisgICAgICAgIChXZWJLaXQ6OmNhbm5vdFNob3dNSU1FVHlw
ZUVycm9yKToKKyAgICAgICAgKFdlYktpdDo6ZmlsZURvZXNOb3RFeGlzdEVycm9yKToKKyAgICAg
ICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250
ZXh0Lmg6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRv
IGltcGxlbWVudC4KKyAgICAgICAgKFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OmNyZWF0ZSk6
CisgICAgICAgIChXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpXZWJGcmFtZU5ldHdvcmtpbmdD
b250ZXh0KToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhLmNwcDoKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpk
aXNwbGF5KTogU3RvcmUgdGhlIFhJRCBvZiBhIEdka1BpeG1hcCBmb3IgZGVsZXRpb24gaW4gZnV0
dXJlKGFmdGVyIFVJIHByb2Nlc3Mgc2VuZHMgYSBkaWRVcGRhdGUgY29uZmlybWF0aW9uKS4KKyAg
ICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpzZXRTaXplKTogU2FtZSBh
cyBhYm92ZS4KKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpkaWRV
cGRhdGUpOiBEZWxldGUgdGhlIHN0b3JlZCBHZGtQaXhtYXAuCisgICAgICAgIChXZWJLaXQ6OkNo
dW5rZWRVcGRhdGVEcmF3aW5nQXJlYTo6ZGlkU2V0U2l6ZURvbmUpOiBTYW1lIGFzIGFib3ZlLgor
ICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpZFJlY2VpdmVNZXNz
YWdlKToKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdB
cmVhLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL2d0azogQWRkZWQuCisgICAgICAg
ICogV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFHdGsuY3Bw
OiBBZGRlZC4gSW1wbGVtZW50cyBmdW5jdGlvbmFsaXR5IHRvIHBhaW50IGludG8gYW4gdXBkYXRl
IGNodW5rIGFuZCBmcmVlIGl0LgorICAgICAgICAoV2ViS2l0OjpDaHVua2VkVXBkYXRlRHJhd2lu
Z0FyZWE6OnBhaW50SW50b1VwZGF0ZUNodW5rKToKKyAgICAgICAgKFdlYktpdDo6Q2h1bmtlZFVw
ZGF0ZURyYXdpbmdBcmVhOjpmcmVlQml0TWFwTWVtb3J5KToKKyAgICAgICAgKiBXZWJQcm9jZXNz
L1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwOiBBZGRlZC4gSW1wbGVtZW50YXRpb24gZm9yIGlu
dGVycHJldGluZyBrZXkgZXZlbnRzLgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9y
bUluaXRpYWxpemUpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjpwbGF0Zm9ybVByZWZlcmVu
Y2VzRGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6aW50ZXJwcmV0S2V5RXZl
bnQpOgorICAgICAgICAoV2ViS2l0OjpzY3JvbGwpOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdl
OjpwZXJmb3JtRGVmYXVsdEJlaGF2aW9yRm9yS2V5RXZlbnQpOgorICAgICAgICAqIFdlYlByb2Nl
c3MvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0
ay5jcHA6IEFkZGVkLiBUaGUgV2ViUHJvY2Vzc01haW4gY2FsbCB3aGljaCBpbml0aWF0ZXMgdGhl
IFdlYiBQcm9jZXNzIGZvciBHVEsgcG9ydC4KKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzczo6
cGxhdGZvcm1TZXRDYWNoZU1vZGVsKToKKyAgICAgICAgKFdlYktpdDo6V2ViUHJvY2Vzc01haW5H
dGspOgorICAgICAgICAqIFdlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmg6IEFkZGVk
LiBUaGUgV2ViUHJvY2Vzc01haW4gZGVjbGFyYXRpb25zIGZvciBXZWIgUHJvY2VzcyBmb3IgR1RL
IHBvcnQuCisgICAgICAgICogZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBndGsvTWFpbkd0ay5jcHA6
IEFkZGVkLiBUaGUgbWFpbiBmdW5jdGlvbiBpbXBsZW1lbnRhdGlvbiBmb3IgYmluYXJ5IFdlYktp
dFdlYlByb2Nlc3MuCisgICAgICAgIChtYWluKToKKyAgICAgICAgKiBndGsvd2Via2l0Mi5wYy5p
bjogQWRkZWQuIFRoZSB3ZWJraXQyLnBjIGZpbGUuCisKIDIwMTAtMTAtMTkgIEFuZGVycyBDYXJs
c3NvbiAgPGFuZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2Vp
bmlnLgpJbmRleDogV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQy
L0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQko
cmV2aXNpb24gMCkKQEAgLTAsMCArMSw1OTIgQEAKK1dlYktpdDIgOj0gJChzcmNkaXIpL1dlYktp
dDIKKword2Via2l0Mmd0a19zdGF0aWNfaF9hcGkgOj0gXAorCSQoc3JjZGlyKS9XZWJLaXQyL1No
YXJlZC9BUEkvYy9ndGsvV0tCYXNlR3RrLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS0FycmF5LmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2Uu
aCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2VydGlmaWNhdGVJbmZvLmgg
XAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RhdGEuaCBcCisJJChzcmNkaXIp
L1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tFcnJvci5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tFdmVudC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tHZW9tZXRy
eS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXkuaCBc
CisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBc
CisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCSQoc3JjZGly
KS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKKwkkKHNy
Y2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRl
LmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBc
CisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCSQoc3JjZGly
KS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJJChzcmNkaXIpL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLVHlwZS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tVUkwuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVx
dWVzdC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5o
IFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRl
cm4uaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS0FQSUNhc3RH
dGsuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuaCBc
CisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBcCisJJChzcmNkaXIp
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJJChzcmNkaXIpL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwkkKHNyY2Rpcikv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggXAorCSQoc3JjZGlyKS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAorCSQoc3JjZGlyKS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCBcCisJJChzcmNkaXIp
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJJChzcmNkaXIpL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIFwKKwkkKHNyY2RpcikvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLUGFnZVByaXZhdGUuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKword2Via2l0Mmd0a19zb3VyY2VzIDo9IFwKKwlXZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsuY3BwIFwKKwlXZWJLaXQyL1Bs
YXRmb3JtL2d0ay9Nb2R1bGVHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9SdW5Mb29w
R3RrLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvU2hhcmVkTWVtb3J5R3RrLmNwcCBcCisJ
V2ViS2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvZ3RrL1dLQmFzZUd0ay5oIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0b3Jl
R3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL05hdGl2ZVdlYktleWJvYXJkRXZlbnRHdGsu
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3Rr
L1VwZGF0ZUNodW5rLmggXAorCVdlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNHdGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCisJ
V2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9ndGsvV0tBUElDYXN0R3RrLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0
ay9XS1ZpZXcuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eUd0ay5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXcuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
Vmlldy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFsLmNwcCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJbnRlcm5hbC5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvZ3RrL1RocmVhZExhdW5jaGVyR3RrLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb1N0b3JlR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9n
dGsvV2ViUHJvY2Vzc01haW5HdGsuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3JzR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFH
dGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAK
Kword2Via2l0Ml9zb3VyY2VzIDo9IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1l
bnRDb2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgXAorCVdlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9Bcmd1bWVudEVuY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50
cy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXR0YWNobWVudC5jcHAgXAorCVdlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9CaW5hcnlTZW1hcGhvcmUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmlu
YXJ5U2VtYXBob3JlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNw
cCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0NvcmVJUENNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0RhdGFSZWZlcmVuY2UuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
RGF0YVJlZmVyZW5jZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2Fn
ZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmggXAorCVdlYktpdDIv
UGxhdGZvcm0vTG9nZ2luZy5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgg
XAorCVdlYktpdDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIFwKKwlXZWJL
aXQyL1BsYXRmb3JtL1J1bkxvb3AuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuaCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9X
b3JrSXRlbS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5jcHAgXAorCVdlYktpdDIv
UGxhdGZvcm0vV29ya1F1ZXVlLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250
cm9sbGVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxl
clByb3h5LmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBcCisJ
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBcCisJV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3NNYWluLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQ
cm9jZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNz
Q29ubmVjdGlvbi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElDbGllbnQuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQXJyYXku
aCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLQ2VydGlmaWNhdGVJbmZvLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDZXJ0
aWZpY2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGlj
dGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tFcnJvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0V2ZW50LmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLR2VvbWV0cnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRh
YmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS051bWJlci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAor
CVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S1N0cmluZy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCVdlYktp
dDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1R5cGUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tVUkwuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTC5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1No
YXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxS
ZXNwb25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVzcG9uc2UuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1No
YXJlZC9BUElPYmplY3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmNwcCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL0NhY2hlTW9k
ZWwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29tbWFuZExpbmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
Q29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQ29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVnaW5Db250cm9sbGVyUHJveHlNZXNz
YWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVnaW5Qcm9jZXNzTWVz
c2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvUGx1Z2luUHJvY2Vzc1By
b3h5TWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvUGx1Z2luUHJv
eHlNZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJDb250ZXh0
TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlBhZ2VN
ZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlN
ZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFnZVBy
b3h5TWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb25NZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9X
ZWJQcm9jZXNzTWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2Vi
UHJvY2Vzc1Byb3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVh
QmFzZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9GaW5kT3B0aW9ucy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9Gb250U21vb3RoaW5nTGV2ZWwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXku
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9JbW11dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGlj
dGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9NdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTXV0YWJsZURpY3Rpb25h
cnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL05vdElt
cGxlbWVudGVkLmggXAorCVdlYktpdDIvU2hhcmVkL1N0cmluZ1BhaXJWZWN0b3IuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvVmlzaXRl
ZExpbmtUYWJsZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1Zpc2l0ZWRMaW5rVGFibGUuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktpdDIvU2hhcmVkL1dl
YkNvcmVBcmd1bWVudENvZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJEYXRhLmggXAorCVdl
YktpdDIvU2hhcmVkL1dlYkVycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXJyb3IuaCBc
CisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvV2ViRXZlbnRDb252ZXJzaW9uLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYk5hdmlnYXRpb25EYXRhU3RvcmUuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvV2ViTnVtYmVyLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRl
cnMuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlBv
cHVwSXRlbS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9X
ZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJv
Y2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJTZXJpYWxpemVk
U2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViU3RyaW5nLmggXAorCVdlYktpdDIv
U2hhcmVkL1dlYlVSTC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXF1ZXN0LmNwcCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVxdWVzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxS
ZXNwb25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlc3BvbnNlLmggXAorCVdlYktp
dDIvU2hhcmVkL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvY3BwL1dLUmV0YWluUHRyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktp
dDIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tC
YWNrRm9yd2FyZExpc3RJdGVtLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0ZyYW1lLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS05hdmlnYXRpb25EYXRhLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tO
YXZpZ2F0aW9uRGF0YS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlTmFtZXNwYWNlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQ
YWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUu
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBk
YXRlRHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRh
dGVEcmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJv
eHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9GaW5k
SW5kaWNhdG9yLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvTGF1bmNoZXIvVGhyZWFkTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlci9UaHJlYWRMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERy
YXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdp
bmdBcmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc01vZGVsLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Zpc2l0
ZWRMaW5rUHJvdmlkZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3Zp
ZGVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFj
a0ZvcndhcmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
Q29udGV4dFVzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkVkaXRD
b21tYW5kUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJFZGl0Q29tbWFuZFByb3h5
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJGaW5kQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1DbGll
bnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xpZW50LmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGcmFtZUxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xp
Y3lMaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lM
aXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYkhpc3RvcnlDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJIaXN0b3J5Q2xp
ZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJO
YXZpZ2F0aW9uRGF0YS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25EYXRh
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3BhY2UuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQb2xpY3lDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHku
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNz
TWFuYWdlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmggXAorCVdlYktpdDIvV2ViS2l0
MlByZWZpeC5jcHAgXAorCVdlYktpdDIvV2ViS2l0MlByZWZpeC5oIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2
YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVI
aXRUZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJbml0aWFsaXplLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5k
bGVQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVBhZ2UuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVSYW5nZUhhbmRsZS5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVTY3JpcHRXb3Js
ZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZVNjcmlwdFdvcmxkLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00v
SW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJh
bmdlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVIaXRUZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUVkaXRvckNs
aWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVQYWdlRm9ybUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9JbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xp
ZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZVBhZ2VVSUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29k
ZXJzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBNZXRob2QuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QTWV0aG9kLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL0pTTlBPYmplY3QuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9KU05QT2JqZWN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0u
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05QUnVudGltZVV0aWxpdGllcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05Q
UnVudGltZVV0aWxpdGllcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5D
b250cm9sbGVyLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJCYWNrRm9y
d2FyZENvbnRyb2xsZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFcnJvcnMuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1l
bnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFyY2hQb3B1cE1l
bnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2VhcmNoUG9w
dXBNZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJLaXRNYWluLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRmluZENvbnRyb2xsZXIuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5k
Q29udHJvbGxlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kUGFnZU92ZXJs
YXkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kUGFnZU92ZXJsYXkuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0FyZWEuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYkVkaXRDb21tYW5kLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViRWRpdENvbW1hbmQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJh
bWUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQcm9jZXNzTWFpbi5oCisKKyMgRW5zdXJlIHRoYXQgdGhlIHByZWZpeCBoZWFkZXIgaXMg
YnVpbHQgYmVmb3JlCitCVUlMVF9TT1VSQ0VTICs9IFwKKwkkKHdlYmtpdDJfYnVpbHRfc291cmNl
cykgXAorCVdlYktpdDJQcmVmaXguaCBcCisJSU5DTFVERV9IRUFERVJTCisKK3dlYmtpdDJndGtf
Y3BwZmxhZ3MgOj0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIvZ3RrIFwKKwktSSQoc3JjZGlyKS9X
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1BsYXRm
b3JtL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrIFwKKwktSSQo
c3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvVUlQcm9jZXNzL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ayBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ayBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrCisKK3dlYmtpdDJfY3BwZmxhZ3MgOj0gXAorCS1p
bmNsdWRlICQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYktpdDJQcmVmaXguaCBc
CisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQoc3Jj
ZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViS2l0MiBcCisJLUkkKHNyY2Rp
cikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0gXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZCBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9TaGFyZWQvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYyBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvVUlQcm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkg
XAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DIFwKKwktSSQoc3JjZGlyKS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvY3BwIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vz
cy9MYXVuY2hlciBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucyBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0RPTSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0xhdW5j
aGluZyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChz
cmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlIFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlCisKKyMgQ29weSBoZWFkZXIgZmlsZXMgdG8gRGVyaXZlZFNv
dXJjZXMKK2NvcHlfd2NfaGVhZGVycyA6PSAkKGZpbHRlciAlLmgsICQod2ViY29yZV9zb3VyY2Vz
KSkKK3dlYmNvcmUtaGVhZGVyczogJChjb3B5X3djX2hlYWRlcnMpCisJJChBTV9WX0dFTikkKG1r
ZGlyX3ApIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJDb3JlCisJJChBTV9WX2F0
KWNwIC11ICQoZm9yZWFjaCBpbmNsdWRlLCQoY29weV93Y19oZWFkZXJzKSwkKHNyY2RpcikvJChp
bmNsdWRlKSkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUKKworY29weV93
Y2d0a19oZWFkZXJzIDo9ICQoZmlsdGVyICUuaCwgJCh3ZWJjb3JlZ3RrX3NvdXJjZXMpKQord2Vi
Y29yZWd0ay1oZWFkZXJzOiAkKGNvcHlfd2NndGtfaGVhZGVycykKKwkkKEFNX1ZfR0VOKSQobWtk
aXJfcCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUKKwkkKEFNX1ZfYXQp
Y3AgLXUgJChmb3JlYWNoIGluY2x1ZGUsJChjb3B5X3djZ3RrX2hlYWRlcnMpLCQoc3JjZGlyKS8k
KGluY2x1ZGUpKSBEZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViQ29yZQorCitjb3B5
X2pzY19oZWFkZXJzIDo9ICQoZmlsdGVyICUuaCwgJChqYXZhc2NyaXB0Y29yZV9zb3VyY2VzKSkK
K2phdmFzY3JpcHRjb3JlLWhlYWRlcnM6ICQoY29weV9qc2NfaGVhZGVycykKKwkkKEFNX1ZfR0VO
KSQobWtkaXJfcCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL0phdmFTY3JpcHRDb3Jl
CisJJChBTV9WX2F0KWNwIC11ICQoZm9yZWFjaCBpbmNsdWRlLCQoY29weV9qc2NfaGVhZGVycyks
JChzcmNkaXIpLyQoaW5jbHVkZSkpIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9KYXZh
U2NyaXB0Q29yZQorCitjb3B5X3drMl9oZWFkZXJzIDo9ICQoZmlsdGVyICUuaCwgJCh3ZWJraXQy
X3NvdXJjZXMpKQord2Via2l0Mi1oZWFkZXJzOiAkKGNvcHlfd2syX2hlYWRlcnMpCisJJChBTV9W
X0dFTikkKG1rZGlyX3ApIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJLaXQyCisJ
JChBTV9WX2F0KWNwIC11ICQoZm9yZWFjaCBpbmNsdWRlLCQoY29weV93azJfaGVhZGVycyksJChz
cmNkaXIpLyQoaW5jbHVkZSkpIERlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJLaXQy
CisKK2NvcHlfd2syZ3RrX2hlYWRlcnMgOj0gJChmaWx0ZXIgJS5oLCAkKHdlYmtpdDJndGtfc291
cmNlcykpCit3ZWJraXQyZ3RrLWhlYWRlcnM6ICQoY29weV93azJndGtfaGVhZGVycykKKwkkKEFN
X1ZfR0VOKSQobWtkaXJfcCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYktpdDIK
KwkkKEFNX1ZfYXQpY3AgLXUgJChmb3JlYWNoIGluY2x1ZGUsJChjb3B5X3drMmd0a19oZWFkZXJz
KSwkKHNyY2RpcikvJChpbmNsdWRlKSkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dl
YktpdDIKKworIyBpbmNsdWRlLWhlYWRlcnMgOiAkKGNvcHlfdGFyZ2V0cykKK0lOQ0xVREVfSEVB
REVSUzogd2ViY29yZS1oZWFkZXJzIHdlYmNvcmVndGstaGVhZGVycyBqYXZhc2NyaXB0Y29yZS1o
ZWFkZXJzIHdlYmtpdDItaGVhZGVycyB3ZWJraXQyZ3RrLWhlYWRlcnMKKworV2ViS2l0MlByZWZp
eC5oOiAkKHNyY2RpcikvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgKKwkkKEFNX1ZfR0VOKSQobWtk
aXJfcCkgRGVyaXZlZFNvdXJjZXMvV2ViS2l0MgorCSQoQU1fVl9hdCljcCAtdSAkPCBEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYktpdDJQcmVmaXguaAorCisjIE1lc3NhZ2UgaGVhZGVyIGdlbmVy
YXRpb24KK3dlYmtpdDJfYnVpbHRfc291cmNlcyArPSBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQ
Q1N1cHBvcnQvUGx1Z2luQ29udHJvbGxlclByb3h5TWVzc2FnZXMuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQ29yZUlQQ1N1cHBvcnQvUGx1Z2luQ29udHJvbGxlclByb3h5TWVzc2FnZVJlY2VpdmVyLmNw
cCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvUGx1Z2luUHJvY2Vzc01lc3NhZ2Vz
LmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1BsdWdpblByb2Nlc3NNZXNzYWdl
UmVjZWl2ZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVnaW5Qcm9j
ZXNzUHJveHlNZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9QbHVn
aW5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3Jl
SVBDU3VwcG9ydC9QbHVnaW5Qcm94eU1lc3NhZ2VzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJ
UENTdXBwb3J0L1BsdWdpblByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFnZU1lc3NhZ2VzLmggXAorCVdlYktpdDIvU2hhcmVkL0Nv
cmVJUENTdXBwb3J0L1dlYlBhZ2VNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJl
ZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNzYWdlcy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQcm9jZXNzTWVzc2FnZXMuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAor
CVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlByb2Nlc3NDb25uZWN0aW9uTWVzc2Fn
ZXMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc0Nvbm5lY3Rp
b25NZXNzYWdlUmVjZWl2ZXIuY3BwCisKK01FU1NBR0VfSU5QVVRfUEFUSCA6PSBcCisJJChXZWJL
aXQyKS9QbHVnaW5Qcm9jZXNzIFwKKwkkKFdlYktpdDIpL1VJUHJvY2VzcyBcCisJJChXZWJLaXQy
KS9VSVByb2Nlc3MvUGx1Z2lucyBcCisgICAgJChXZWJLaXQyKS9XZWJQcm9jZXNzL1BsdWdpbnMg
XAorCSQoV2ViS2l0MikvV2ViUHJvY2Vzcy9XZWJQYWdlIFwKKwkkKFdlYktpdDIpL1dlYlByb2Nl
c3MKKwordnBhdGggJS5tZXNzYWdlcy5pbiA9ICQoTUVTU0FHRV9JTlBVVF9QQVRIKQorCitNRVNT
QUdFX0dFTl9TQ1JJUFQgPSBcCisJJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1lc3NhZ2Ut
cmVjZWl2ZXIucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1oZWFk
ZXIucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy93ZWJraXQyL19faW5pdF9fLnB5IFwKKwkkKFdl
YktpdDIpL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQorCitXZWJLaXQyL1NoYXJlZC9Db3Jl
SVBDU3VwcG9ydC8lTWVzc2FnZVJlY2VpdmVyLmNwcDogJS5tZXNzYWdlcy5pbiAkKE1FU1NBR0Vf
R0VOX1NDUklQVCkKKwkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHNyY2RpcikvV2ViS2l0Mi9TY3Jp
cHRzL2dlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkgJDwgPiAkQAorCitXZWJLaXQyL1NoYXJl
ZC9Db3JlSVBDU3VwcG9ydC8lTWVzc2FnZXMuaDogJS5tZXNzYWdlcy5pbiAkKE1FU1NBR0VfR0VO
X1NDUklQVCkKKwkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHNyY2RpcikvV2ViS2l0Mi9TY3JpcHRz
L2dlbmVyYXRlLW1lc3NhZ2VzLWhlYWRlci5weSAkPCA+ICRACisKKyMgV2ViS2l0V2ViUHJvY2Vz
cworYmluX1BST0dSQU1TICs9IFwKKwlQcm9ncmFtcy9XZWJLaXRXZWJQcm9jZXNzCisKK1Byb2dy
YW1zX1dlYktpdFdlYlByb2Nlc3NfQ1BQRkxBR1MgPSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL2luY2x1ZGUvV2ViQ29yZSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
MiBcCisJLUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRpcikvV2ViS2l0MiBc
CisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJJChqYXZhc2Ny
aXB0Y29yZV9jcHBmbGFncykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DRkxBR1MgPSBc
CisJJChnbG9iYWxfY2ZsYWdzKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFH
UykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19TT1VSQ0VTID0gXAorCVdlYktpdDIvZ3Rr
L01haW5HdGsuY3BwIAorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX0xEQUREID0gXAorCWxp
YkphdmFTY3JpcHRDb3JlLmxhIFwKKwlsaWJ3ZWJraXQyZ3RrLUBXRUJLSVRHVEtfQVBJX01BSk9S
X1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxhIFwKKwkkKEdUS19MSUJT
KSBcCisJJChHTElCX0xJQlMpIFwKKwkkKExJQlNPVVBfTElCUykKKworUHJvZ3JhbXNfV2ViS2l0
V2ViUHJvY2Vzc19MREZMQUdTID0gXAorCS1uby1mYXN0LWluc3RhbGwgXAorCS1uby1pbnN0YWxs
CisKK0NMRUFORklMRVMgKz0gXAorCSQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcy9XZWJLaXRXZWJQ
cm9jZXNzCisKKyMgLlBIT05ZOiBpbmNsdWRlLWhlYWRlcnMKSW5kZXg6IFdlYktpdDIvV2ViS2l0
MlByZWZpeC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0MlByZWZpeC5oCShyZXZpc2lv
biA3MDA5OCkKKysrIFdlYktpdDIvV2ViS2l0MlByZWZpeC5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9i
aWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTIzLDExICsyNCwxMyBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgogICovCiAKKyNpZiAhZGVmaW5lZCAoQlVJTERJTkdfR1RLX18pCiAjaW5jbHVkZSA8
d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVkZSA8d3RmL0Rpc2FsbG93Q1R5cGUuaD4KICNpZmRlZiBf
X2NwbHVzcGx1cwogI2luY2x1ZGUgPHd0Zi9GYXN0TWFsbG9jLmg+CiAjZW5kaWYKKyNlbmRpZiAv
KiAhZGVmaW5lZCAoQlVJTERJTkdfR1RLX18pICovCiAKICNpZmRlZiBfX2NwbHVzcGx1cwogI2Rl
ZmluZSBFWFRFUk5fQ19CRUdJTiBleHRlcm4gIkMiIHsKQEAgLTEwNyw0ICsxMTAsOSBAQCBzdGF0
aWMgY29uc3QgdHlwZSYgbmFtZSgpIFwKICNpbmNsdWRlIDxDb3JlR3JhcGhpY3MvQ29yZUdyYXBo
aWNzLmg+CiAjZW5kaWYKIAotI2VuZGlmIC8qIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyKSAqLworI2VsaWYgZGVmaW5lZChCVUlMRElOR19HVEtfXykgCisjZGVmaW5lIEpTX0VYUE9S
VERBVEEKKyNkZWZpbmUgSlNfRVhQT1JUQ0xBU1MKKyNkZWZpbmUgX19TVERDX0ZPUk1BVF9NQUNS
T1MKKyNpbmNsdWRlIDxXZWJDb3JlL2NvbmZpZy5oPgorI2VuZGlmIC8qIGRlZmluZWQoQlVJTERJ
TkdfR1RLX18pICovCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0
Mi9QbGF0Zm9ybS9Nb2R1bGUuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
UG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC02MSw2
ICs2Miw4IEBAIHByaXZhdGU6CiAgICAgSE1PRFVMRSBtX21vZHVsZTsKICNlbGlmIFBMQVRGT1JN
KFFUKQogICAgIFFMaWJyYXJ5IG1fbGliOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIHZvaWQg
Km1faGFuZGxlOwogI2VuZGlmCiB9OwogCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL1BsYXRmb3Jt
UHJvY2Vzc0lkZW50aWZpZXIuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1BsYXRmb3JtL1BsYXRm
b3JtUHJvY2Vzc0lkZW50aWZpZXIuaAkocmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1BsYXRm
b3JtL1BsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zOSw2ICs0MCw4IEBAIHR5cGVkZWYgcGlkX3QgUGxhdGZvcm1Qcm9jZXNzSWRlbnRp
ZmllcjsKIHR5cGVkZWYgSEFORExFIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXI7CiAjZWxpZiBQ
TEFURk9STShRVCkKIHR5cGVkZWYgUVByb2Nlc3MqIFBsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXI7
CisjZWxpZiBQTEFURk9STShHVEspCit0eXBlZGVmIHBpZF90IFBsYXRmb3JtUHJvY2Vzc0lkZW50
aWZpZXI7CiAjZW5kaWYKIAogfSAvLyBuYW1lc3BhY2UgV2ViS2l0IApJbmRleDogV2ViS2l0Mi9Q
bGF0Zm9ybS9SdW5Mb29wLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29w
LmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmgJKHdvcmtp
bmcgY29weSkKQEAgLTEsNiArMSw3IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBD
b3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzIsNiArMzMsOSBAQAogI2lu
Y2x1ZGUgPHd0Zi9UaHJlYWRTcGVjaWZpYy5oPgogI2luY2x1ZGUgPHd0Zi9UaHJlYWRpbmcuaD4K
ICNpbmNsdWRlIDx3dGYvVmVjdG9yLmg+CisjaWYgUExBVEZPUk0oR1RLKQorI2luY2x1ZGUgPGds
aWIuaD4KKyNlbmRpZgogCiBjbGFzcyBXb3JrSXRlbTsKIApAQCAtNzYsNiArODAsMTAgQEAgcHVi
bGljOgogI2VsaWYgUExBVEZPUk0oUVQpCiAgICAgICAgIHN0YXRpYyB2b2lkIHRpbWVyRmlyZWQo
UnVuTG9vcCosIGludCBJRCk7CiAgICAgICAgIGludCBtX0lEOworI2VsaWYgUExBVEZPUk0oR1RL
KQorICAgICAgICBzdGF0aWMgZ2Jvb2xlYW4gb25lU2hvdFRpbWVyRmlyZWQoZ3BvaW50ZXIgZGF0
YSk7CisgICAgICAgIHN0YXRpYyBnYm9vbGVhbiByZXBlYXRpbmdUaW1lckZpcmVkKGdwb2ludGVy
IGRhdGEpOworICAgICAgICBHU291cmNlKiBtX3RpbWVyU291cmNlOwogI2VuZGlmCiAgICAgfTsK
IApAQCAtMTI3LDYgKzEzNSwxMyBAQCBwcml2YXRlOgogICAgIFRpbWVyTWFwIG1fYWN0aXZlVGlt
ZXJzOwogICAgIGNsYXNzIFRpbWVyT2JqZWN0OwogICAgIFRpbWVyT2JqZWN0KiBtX3RpbWVyT2Jq
ZWN0OworI2VsaWYgUExBVEZPUk0oR1RLKQorcHVibGljOgorICAgIHN0YXRpYyBnYm9vbGVhbiBw
ZXJmb3JtV29yayhncG9pbnRlcik7CisgICAgR01haW5Mb29wKiBtYWluTG9vcCgpOworcHJpdmF0
ZToKKyAgICBHTWFpbkNvbnRleHQqIG1fcnVuTG9vcENvbnRleHQ7CisgICAgR01haW5Mb29wKiBt
X3J1bkxvb3BNYWluOwogI2VuZGlmCiB9OwogCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL1dvcmtR
dWV1ZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvUGxhdGZvcm0vV29ya1F1ZXVlLmgJKHJldmlz
aW9uIDcwMDk4KQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuaAkod29ya2luZyBjb3B5
KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0zMCw2ICszMSw4IEBACiAjaWYgSEFWRShESVNQQVRDSF9IKQog
I2luY2x1ZGUgPGRpc3BhdGNoL2Rpc3BhdGNoLmg+CiAjZW5kaWYKKyNlbGlmIFBMQVRGT1JNKEdU
SykKKyNpbmNsdWRlIDxnbGliLmg+CiAjZW5kaWYKIAogI2luY2x1ZGUgIldvcmtJdGVtLmgiCkBA
IC03NCw2ICs3Nyw5IEBAIHB1YmxpYzoKICAgICB2b2lkIGRpc2Nvbm5lY3RTaWduYWwoUU9iamVj
dCosIGNvbnN0IGNoYXIqIHNpZ25hbCk7CiAKICAgICB2b2lkIG1vdmVTb2NrZXRUb1dvcmtUaHJl
YWQoUUxvY2FsU29ja2V0Kik7CisjZWxpZiBQTEFURk9STShHVEspCisgICAgdm9pZCByZWdpc3Rl
ckV2ZW50U291cmNlSGFuZGxlcihpbnQsIEdJT0NvbmRpdGlvbiwgUGFzc093blB0cjxXb3JrSXRl
bT4pOworICAgIHZvaWQgdW5yZWdpc3RlckV2ZW50U291cmNlSGFuZGxlcihpbnQpOwogI2VuZGlm
CiAKIHByaXZhdGU6CkBAIC0xNDYsNiArMTUyLDE4IEBAIHByaXZhdGU6CiAgICAgSGFzaE1hcDxR
T2JqZWN0KiwgV29ya0l0ZW1RdCo+IG1fc2lnbmFsTGlzdGVuZXJzOwogICAgIFFUaHJlYWQqIG1f
d29ya1RocmVhZDsKICAgICBmcmllbmQgY2xhc3MgV29ya0l0ZW1RdDsKKyNlbGlmIFBMQVRGT1JN
KEdUSykKKyAgICBzdGF0aWMgdm9pZCogd29ya1F1ZXVlVGhyZWFkQm9keSh2b2lkKik7CisgICAg
dm9pZCB3b3JrUXVldWVUaHJlYWRCb2R5KCk7CisKKyAgICBUaHJlYWRJZGVudGlmaWVyIG1fd29y
a1F1ZXVlVGhyZWFkOworICAgIEdNYWluQ29udGV4dCogbV9ldmVudENvbnRleHQ7CisgICAgTXV0
ZXggbV9ldmVudExvb3BMb2NrOworICAgIEdNYWluTG9vcCogbV9ldmVudExvb3A7CisgICAgTXV0
ZXggbV9ldmVudFNvdXJjZXNMb2NrOworICAgIGNsYXNzIEV2ZW50U291cmNlOworICAgIEhhc2hN
YXA8aW50LCBWZWN0b3I8RXZlbnRTb3VyY2UqPiA+IG1fZXZlbnRTb3VyY2VzOworICAgIHR5cGVk
ZWYgSGFzaE1hcDxpbnQsIFZlY3RvcjxFdmVudFNvdXJjZSo+ID46Oml0ZXJhdG9yIEV2ZW50U291
cmNlSXRlcmF0b3I7IAogI2VuZGlmCiB9OwogCkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMvQ29ubmVjdGlvbi5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9D
b25uZWN0aW9uLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0Nvbm5lY3Rpb24uaAkod29ya2luZyBjb3B5KQpAQCAtMSw2ICsxLDcgQEAKIC8qCiAgKiBDb3B5
cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgogICogQ29weXJp
Z2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVz
KQorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBA
IC00Niw2ICs0Nyw5IEBACiAjaW5jbHVkZSA8UVN0cmluZz4KIGNsYXNzIFFMb2NhbFNlcnZlcjsK
IGNsYXNzIFFMb2NhbFNvY2tldDsKKyNlbGlmIFBMQVRGT1JNKEdUSykKKyNpbmNsdWRlIDxzeXMv
c29ja2V0Lmg+CisjaW5jbHVkZSA8c3lzL3VuLmg+CiAjZW5kaWYKIAogY2xhc3MgUnVuTG9vcDsK
QEAgLTg2LDYgKzkwLDggQEAgcHVibGljOgogICAgIHN0YXRpYyBib29sIGNyZWF0ZVNlcnZlckFu
ZENsaWVudElkZW50aWZpZXJzKElkZW50aWZpZXImIHNlcnZlcklkZW50aWZpZXIsIElkZW50aWZp
ZXImIGNsaWVudElkZW50aWZpZXIpOwogI2VsaWYgUExBVEZPUk0oUVQpCiAgICAgdHlwZWRlZiBj
b25zdCBRU3RyaW5nIElkZW50aWZpZXI7CisjZWxpZiBQTEFURk9STShHVEspCisgICAgdHlwZWRl
ZiBpbnQgSWRlbnRpZmllcjsKICNlbmRpZgogCiAgICAgc3RhdGljIFBhc3NSZWZQdHI8Q29ubmVj
dGlvbj4gY3JlYXRlU2VydmVyQ29ubmVjdGlvbihJZGVudGlmaWVyLCBDbGllbnQqLCBSdW5Mb29w
KiBjbGllbnRSdW5Mb29wKTsKQEAgLTI1Nyw2ICsyNjMsOSBAQCBwcml2YXRlOgogICAgIHNpemVf
dCBtX2N1cnJlbnRNZXNzYWdlU2l6ZTsKICAgICBRTG9jYWxTb2NrZXQqIG1fc29ja2V0OwogICAg
IFFTdHJpbmcgbV9zZXJ2ZXJOYW1lOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIHZvaWQgcmVh
ZEV2ZW50SGFuZGxlcigpOworICAgIGludCBtX3NvY2tldDsKICNlbmRpZgogfTsKIApJbmRleDog
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ay9Db25uZWN0aW9uR3RrLmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsuY3BwCShyZXZp
c2lvbiAwKQorKysgV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ay9Db25uZWN0aW9uR3RrLmNw
cAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMjAgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiQ29ubmVjdGlvbi5oIgorCisjaW5jbHVkZSAiQXJndW1lbnRF
bmNvZGVyLmgiCisjaW5jbHVkZSAiV29ya0l0ZW0uaCIKKworI2luY2x1ZGUgPGVycm5vLmg+Cisj
aW5jbHVkZSA8c3RkaW8uaD4KKyNpbmNsdWRlIDxzeXMvZmNudGwuaD4KK3VzaW5nIG5hbWVzcGFj
ZSBzdGQ7CisKK25hbWVzcGFjZSBDb3JlSVBDIHsKKwordm9pZCBDb25uZWN0aW9uOjpwbGF0Zm9y
bUluaXRpYWxpemUoSWRlbnRpZmllciBpZGVudGlmaWVyKQoreworICAgIG1fc29ja2V0ID0gaWRl
bnRpZmllcjsKKyAgICBtX2lzQ29ubmVjdGVkID0gdHJ1ZTsKK30KKwordm9pZCBDb25uZWN0aW9u
OjpwbGF0Zm9ybUludmFsaWRhdGUoKQoreworICAgIGlmICghbV9pc0Nvbm5lY3RlZCkKKyAgICAg
ICAgcmV0dXJuOworCisgICAgLy8gVE9ETzogdW5yZWdpc3RlciBmcm9tIGNvbm5lY3Rpb24gcXVl
dWUuCisgICAgbV9jb25uZWN0aW9uUXVldWUudW5yZWdpc3RlckV2ZW50U291cmNlSGFuZGxlciht
X3NvY2tldCk7CisKKyAgICBpZiAobV9zb2NrZXQgPiAwKSB7CisgICAgICAgIGNsb3NlKG1fc29j
a2V0KTsKKyAgICAgICAgbV9zb2NrZXQgPSAtMTsKKyAgICB9CisKKyAgICBtX2lzQ29ubmVjdGVk
ID0gZmFsc2U7Cit9CisKK3ZvaWQgQ29ubmVjdGlvbjo6cmVhZEV2ZW50SGFuZGxlcigpCit7Cisg
ICAgaW50IG51bWJlck9mQnl0ZXNSZWFkID0gMDsKKworICAgIGlmIChtX3NvY2tldCA8IDApCisg
ICAgICAgIHJldHVybjsKKworICAgIHVpbnQ4X3Qgc2l6ZUJ1ZmZlcltzaXplb2Yoc2l6ZV90KV07
CisgICAgbWVtc2V0KHNpemVCdWZmZXIsIDAsIHNpemVvZihzaXplX3QpKTsKKworICAgIHdoaWxl
ICgobnVtYmVyT2ZCeXRlc1JlYWQgPSByZWFkKG1fc29ja2V0LCBzaXplQnVmZmVyLCBzaXplb2Yo
c2l6ZV90KSkpID4gMCkgeworICAgICAgICBzaXplX3QgbWVzc2FnZVNpemUgPSAqcmVpbnRlcnBy
ZXRfY2FzdDxzaXplX3QqPihzaXplQnVmZmVyKTsKKworICAgICAgICBWZWN0b3I8dWludDhfdD4g
YnVmZmVyOworICAgICAgICBidWZmZXIucmVzaXplKG1lc3NhZ2VTaXplKTsKKyAgICAgICAgbnVt
YmVyT2ZCeXRlc1JlYWQgPSByZWFkKG1fc29ja2V0LCBidWZmZXIuZGF0YSgpLCBtZXNzYWdlU2l6
ZSk7CisKKyAgICAgICAgc2l6ZV90IHJlYWxCdWZmZXJTaXplID0gbWVzc2FnZVNpemUgLSBzaXpl
b2YoTWVzc2FnZUlEKTsKKyAgICAgICAgdW5zaWduZWQgbWVzc2FnZUlEID0gKnJlaW50ZXJwcmV0
X2Nhc3Q8dW5zaWduZWQqPihidWZmZXIuZGF0YSgpICsgcmVhbEJ1ZmZlclNpemUpOworCisgICAg
ICAgIHByb2Nlc3NJbmNvbWluZ01lc3NhZ2UoTWVzc2FnZUlEOjpmcm9tSW50KG1lc3NhZ2VJRCks
IGFkb3B0UHRyKG5ldyBBcmd1bWVudERlY29kZXIoYnVmZmVyLmRhdGEoKSwgcmVhbEJ1ZmZlclNp
emUpKSk7CisgICAgfQorfQorCitib29sIENvbm5lY3Rpb246Om9wZW4oKQoreworICAgIGludCBm
bGFncyA9IGZjbnRsKG1fc29ja2V0LCBGX0dFVEZMLCAwKTsKKyAgICBmY250bChtX3NvY2tldCwg
Rl9TRVRGTCwgZmxhZ3MgfCBPX05PTkJMT0NLKTsKKworICAgIG1fY29ubmVjdGlvblF1ZXVlLnJl
Z2lzdGVyRXZlbnRTb3VyY2VIYW5kbGVyKG1fc29ja2V0LCAoR0lPQ29uZGl0aW9uKShHX0lPX0hV
UHwgR19JT19FUlIpLCBXb3JrSXRlbTo6Y3JlYXRlKHRoaXMsICZDb25uZWN0aW9uOjpjb25uZWN0
aW9uRGlkQ2xvc2UpKTsKKyAgICBtX2Nvbm5lY3Rpb25RdWV1ZS5yZWdpc3RlckV2ZW50U291cmNl
SGFuZGxlcihtX3NvY2tldCwgKEdJT0NvbmRpdGlvbikoR19JT19JTiksIFdvcmtJdGVtOjpjcmVh
dGUodGhpcywgJkNvbm5lY3Rpb246OnJlYWRFdmVudEhhbmRsZXIpKTsKKyAgICByZXR1cm4gdHJ1
ZTsKK30KKworYm9vbCBDb25uZWN0aW9uOjpwbGF0Zm9ybUNhblNlbmRPdXRnb2luZ01lc3NhZ2Vz
KCkgY29uc3QKK3sKKyAgICByZXR1cm4gKG1fc29ja2V0ID4gMCk7Cit9CisKK2Jvb2wgQ29ubmVj
dGlvbjo6c2VuZE91dGdvaW5nTWVzc2FnZShNZXNzYWdlSUQgbWVzc2FnZUlELCBQYXNzT3duUHRy
PEFyZ3VtZW50RW5jb2Rlcj4gYXJndW1lbnRzKQoreworICAgIGlmIChtX3NvY2tldCA8IDEpCisg
ICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIC8vIFdlIHB1dCB0aGUgbWVzc2FnZSBJRCBsYXN0
LgorICAgIGFyZ3VtZW50cy0+ZW5jb2RlVUludDMyKG1lc3NhZ2VJRC50b0ludCgpKTsKKworICAg
IHNpemVfdCBidWZmZXJTaXplID0gYXJndW1lbnRzLT5idWZmZXJTaXplKCk7CisKKyAgICBWZWN0
b3I8dWludDhfdD4gYnVmZmVyOworICAgIGJ1ZmZlci5hcHBlbmQocmVpbnRlcnByZXRfY2FzdDx1
aW50OF90Kj4oJmJ1ZmZlclNpemUpLCBzaXplb2Yoc2l6ZV90KSk7CisgICAgYnVmZmVyLmFwcGVu
ZChhcmd1bWVudHMtPmJ1ZmZlcigpLCBhcmd1bWVudHMtPmJ1ZmZlclNpemUoKSk7CisKKyAgICBp
bnQgYnl0ZXNXcml0dGVuID0gd3JpdGUobV9zb2NrZXQsIGJ1ZmZlci5kYXRhKCksIGJ1ZmZlci5z
aXplKCkpOworICAgIEFTU0VSVF9VTlVTRUQoYnl0ZXNXcml0dGVuLCBieXRlc1dyaXR0ZW4pOwor
ICAgIAorICAgIHJldHVybiB0cnVlOworfQorCit9IC8vIG5hbWVzcGFjZSBDb3JlSVBDCkluZGV4
OiBXZWJLaXQyL1BsYXRmb3JtL2d0ay9Nb2R1bGVHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dDIvUGxhdGZvcm0vZ3RrL01vZHVsZUd0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1Bs
YXRmb3JtL2d0ay9Nb2R1bGVHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDUwIEBACisv
KgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAg
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNv
dXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwg
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICog
YXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFp
biB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHBy
b3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBS
T1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBB
TkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZ
IEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQu
IElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhF
TVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdI
RVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJ
TkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIk1vZHVsZS5oIgorCisj
aW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvQ1N0cmluZy5oPgorI2luY2x1ZGUgPGRsZmNuLmg+CisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitib29sIE1vZHVsZTo6bG9hZCgpCit7CisgICAgbV9oYW5k
bGUgPSBkbG9wZW4obV9wYXRoLnV0ZjgoKS5kYXRhKCksIFJUTERfTk9XKTsKKyAgICByZXR1cm4g
IW1faGFuZGxlOworfQorCit2b2lkIE1vZHVsZTo6dW5sb2FkKCkKK3sKKyAgICBkbGNsb3NlKG1f
aGFuZGxlKTsKK30KKwordm9pZCogTW9kdWxlOjpwbGF0Zm9ybUZ1bmN0aW9uUG9pbnRlcihjb25z
dCBjaGFyKiBmdW5jdGlvbk5hbWUpIGNvbnN0Cit7CisgICAgcmV0dXJuIGRsc3ltKG1faGFuZGxl
LCBmdW5jdGlvbk5hbWUpOworfQorCit9CkluZGV4OiBXZWJLaXQyL1BsYXRmb3JtL2d0ay9SdW5M
b29wR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1BsYXRmb3JtL2d0ay9SdW5Mb29wR3Rr
LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvUGxhdGZvcm0vZ3RrL1J1bkxvb3BHdGsuY3Bw
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDEzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpbmNsdWRlICJSdW5Mb29wLmgiCisKKyNpbmNsdWRlICJXS0Jhc2UuaCIKKyNp
bmNsdWRlIDxnbGliLmg+CisKK1J1bkxvb3A6OlJ1bkxvb3AoKQoreworICAgIG1fcnVuTG9vcENv
bnRleHQgPSBnX21haW5fY29udGV4dF9kZWZhdWx0KCk7CisgICAgQVNTRVJUKG1fcnVuTG9vcENv
bnRleHQpOworICAgIG1fcnVuTG9vcE1haW4gPSBnX21haW5fbG9vcF9uZXcobV9ydW5Mb29wQ29u
dGV4dCwgRkFMU0UpOworICAgIEFTU0VSVChtX3J1bkxvb3BNYWluKTsKK30KKworUnVuTG9vcDo6
flJ1bkxvb3AoKQoreworICAgIGlmIChtX3J1bkxvb3BNYWluKSB7CisgICAgICAgIGdfbWFpbl9s
b29wX3F1aXQobV9ydW5Mb29wTWFpbik7CisgICAgICAgIGdfbWFpbl9sb29wX3VucmVmKG1fcnVu
TG9vcE1haW4pOworICAgICAgICBtX3J1bkxvb3BNYWluID0gMDsKKyAgICB9CisKKyAgICBpZiAo
bV9ydW5Mb29wQ29udGV4dCkgeworICAgICAgICBnX21haW5fY29udGV4dF91bnJlZihtX3J1bkxv
b3BDb250ZXh0KTsKKyAgICAgICAgbV9ydW5Mb29wQ29udGV4dCA9IDA7CisgICAgfQorfQorCit2
b2lkIFJ1bkxvb3A6OnJ1bigpCit7CisgICAgZ19tYWluX2xvb3BfcnVuKFJ1bkxvb3A6Om1haW4o
KS0+bWFpbkxvb3AoKSk7Cit9CisKK0dNYWluTG9vcCogUnVuTG9vcDo6bWFpbkxvb3AoKQorewor
ICAgIHJldHVybiBtX3J1bkxvb3BNYWluOworfQorCit2b2lkIFJ1bkxvb3A6OnN0b3AoKQorewor
ICAgIGdfbWFpbl9sb29wX3F1aXQobV9ydW5Mb29wTWFpbik7Cit9CisKK2dib29sZWFuIFJ1bkxv
b3A6OnBlcmZvcm1Xb3JrKGdwb2ludGVyIGNvbnRleHQpCit7CisgICAgc3RhdGljX2Nhc3Q8UnVu
TG9vcCo+KGNvbnRleHQpLT5wZXJmb3JtV29yaygpOworICAgIHJldHVybiBGQUxTRTsKK30KKwor
dm9pZCBSdW5Mb29wOjp3YWtlVXAoKQoreworICAgIEdTb3VyY2UqIHNvdXJjZSA9IGdfdGltZW91
dF9zb3VyY2VfbmV3KDApOworICAgIGdfc291cmNlX3NldF9jYWxsYmFjayhzb3VyY2UsIChHU291
cmNlRnVuYykmUnVuTG9vcDo6cGVyZm9ybVdvcmssIHRoaXMsIE5VTEwpOworICAgIGdfc291cmNl
X2F0dGFjaChzb3VyY2UsIG1fcnVuTG9vcENvbnRleHQpOworCisgICAgZ19tYWluX2NvbnRleHRf
d2FrZXVwKG1fcnVuTG9vcENvbnRleHQpOworfQorCitSdW5Mb29wOjpUaW1lckJhc2U6OlRpbWVy
QmFzZShSdW5Mb29wKiBydW5Mb29wKQorICAgIDogbV9ydW5Mb29wKHJ1bkxvb3ApCisgICAgLCBt
X3RpbWVyU291cmNlKDApCit7Cit9CisKK1J1bkxvb3A6OlRpbWVyQmFzZTo6flRpbWVyQmFzZSgp
Cit7CisgICAgc3RvcCgpOworfQorCitnYm9vbGVhbiBSdW5Mb29wOjpUaW1lckJhc2U6Om9uZVNo
b3RUaW1lckZpcmVkKGdwb2ludGVyIGNvbnRleHQpCit7CisgICAgUnVuTG9vcDo6VGltZXJCYXNl
KiB0aW1lcmNsYXNzID0gc3RhdGljX2Nhc3Q8UnVuTG9vcDo6VGltZXJCYXNlKj4oY29udGV4dCk7
CisgICAgdGltZXJjbGFzcy0+ZmlyZWQoKTsKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK2dib29s
ZWFuIFJ1bkxvb3A6OlRpbWVyQmFzZTo6cmVwZWF0aW5nVGltZXJGaXJlZChncG9pbnRlciBjb250
ZXh0KQoreworICAgIFJ1bkxvb3A6OlRpbWVyQmFzZSogdGltZXJjbGFzcyA9IHN0YXRpY19jYXN0
PFJ1bkxvb3A6OlRpbWVyQmFzZSo+KGNvbnRleHQpOworICAgIHRpbWVyY2xhc3MtPmZpcmVkKCk7
CisgICAgcmV0dXJuIFRSVUU7Cit9CisKK3ZvaWQgUnVuTG9vcDo6VGltZXJCYXNlOjpzdGFydChk
b3VibGUgbmV4dEZpcmVJbnRlcnZhbCwgZG91YmxlIHJlcGVhdEludGVydmFsKQoreworICAgIGlm
IChtX3RpbWVyU291cmNlKQorICAgICAgICBzdG9wKCk7CisKKyAgICBpZiAocmVwZWF0SW50ZXJ2
YWwpIHsKKyAgICAgICAgbV90aW1lclNvdXJjZSA9IGdfdGltZW91dF9zb3VyY2VfbmV3KHN0YXRp
Y19jYXN0PGd1aW50PihyZXBlYXRJbnRlcnZhbCkpOworICAgICAgICBnX3NvdXJjZV9zZXRfY2Fs
bGJhY2sobV90aW1lclNvdXJjZSwgKEdTb3VyY2VGdW5jKSZSdW5Mb29wOjpUaW1lckJhc2U6OnJl
cGVhdGluZ1RpbWVyRmlyZWQsIHRoaXMsIE5VTEwpOworICAgIH0gZWxzZSB7CisgICAgICAgIG1f
dGltZXJTb3VyY2UgPSBnX3RpbWVvdXRfc291cmNlX25ldyhzdGF0aWNfY2FzdDxndWludD4obmV4
dEZpcmVJbnRlcnZhbCkpOworICAgICAgICBnX3NvdXJjZV9zZXRfY2FsbGJhY2sobV90aW1lclNv
dXJjZSwgKEdTb3VyY2VGdW5jKSZSdW5Mb29wOjpUaW1lckJhc2U6Om9uZVNob3RUaW1lckZpcmVk
LCB0aGlzLCBOVUxMKTsKKyAgICB9CisgICAgZ19zb3VyY2VfYXR0YWNoKG1fdGltZXJTb3VyY2Us
IG1fcnVuTG9vcC0+bV9ydW5Mb29wQ29udGV4dCk7Cit9CisKK3ZvaWQgUnVuTG9vcDo6VGltZXJC
YXNlOjpzdG9wKCkKK3sKKyAgICBpZiAoIW1fdGltZXJTb3VyY2UpCisgICAgICAgIHJldHVybjsK
KworICAgIGdfc291cmNlX2Rlc3Ryb3kobV90aW1lclNvdXJjZSk7CisgICAgbV90aW1lclNvdXJj
ZSA9IDA7Cit9CisKK2Jvb2wgUnVuTG9vcDo6VGltZXJCYXNlOjppc0FjdGl2ZSgpIGNvbnN0Cit7
CisgICAgcmV0dXJuIG1fdGltZXJTb3VyY2U/IHRydWUgOiBmYWxzZTsKK30KSW5kZXg6IFdlYktp
dDIvUGxhdGZvcm0vZ3RrL1NoYXJlZE1lbW9yeUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0
Mi9QbGF0Zm9ybS9ndGsvU2hhcmVkTWVtb3J5R3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktp
dDIvUGxhdGZvcm0vZ3RrL1NoYXJlZE1lbW9yeUd0ay5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAg
KzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRz
IHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmls
aXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2Rl
IG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlz
dHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBt
YXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09G
VFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFT
IElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUg
RElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVU
T1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElO
RywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09E
UyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNT
CisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJ
QUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRP
UlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5Z
IFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YK
KyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiU2hh
cmVkTWVtb3J5LmgiCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2Ug
V2ViS2l0IHsKKworU2hhcmVkTWVtb3J5OjpIYW5kbGU6OkhhbmRsZSgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKworU2hhcmVkTWVtb3J5OjpIYW5kbGU6On5IYW5kbGUoKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgU2hhcmVkTWVtb3J5OjpIYW5kbGU6OmVuY29k
ZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0Cit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKworYm9vbCBTaGFyZWRNZW1vcnk6OkhhbmRsZTo6ZGVjb2RlKENvcmVJ
UEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgSGFuZGxlJiBoYW5kbGUpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK1Bhc3NSZWZQdHI8U2hhcmVk
TWVtb3J5PiBTaGFyZWRNZW1vcnk6OmNyZWF0ZShzaXplX3Qgc2l6ZSkKK3sKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCitQYXNzUmVmUHRyPFNoYXJlZE1lbW9yeT4g
U2hhcmVkTWVtb3J5OjpjcmVhdGUoY29uc3QgSGFuZGxlJiBoYW5kbGUsIFByb3RlY3Rpb24gcHJv
dGVjdGlvbikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOyAgICAKK30K
KworU2hhcmVkTWVtb3J5Ojp+U2hhcmVkTWVtb3J5KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworfQorICAgIAorYm9vbCBTaGFyZWRNZW1vcnk6OmNyZWF0ZUhhbmRsZShIYW5kbGUmIGhhbmRs
ZSwgUHJvdGVjdGlvbiBwcm90ZWN0aW9uKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCit1bnNpZ25lZCBTaGFyZWRNZW1vcnk6OnN5c3RlbVBhZ2VTaXpl
KCkKK3sKKyAgICB1bnNpZ25lZCBwYWdlU2l6ZSA9IDA7CisKKyAgICByZXR1cm4gcGFnZVNpemU7
Cit9CisKK30KSW5kZXg6IFdlYktpdDIvUGxhdGZvcm0vZ3RrL1dvcmtRdWV1ZUd0ay5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcAkocmV2aXNp
b24gMCkKKysrIFdlYktpdDIvUGxhdGZvcm0vZ3RrL1dvcmtRdWV1ZUd0ay5jcHAJKHJldmlzaW9u
IDApCkBAIC0wLDAgKzEsMjAzIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBN
b3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
CisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAq
CisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05U
UklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5U
SUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJB
TlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAq
IFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1Ig
SVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRT
OyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJ
RiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKwor
I2luY2x1ZGUgIldvcmtRdWV1ZS5oIgorCisjaW5jbHVkZSAiV0tCYXNlLmgiCisKK3ZvaWQgV29y
a1F1ZXVlOjpwbGF0Zm9ybUluaXRpYWxpemUoY29uc3QgY2hhciogbmFtZSkKK3sKKyAgICBtX2V2
ZW50Q29udGV4dCA9IGdfbWFpbl9jb250ZXh0X25ldygpOworICAgIEFTU0VSVChtX2V2ZW50Q29u
dGV4dCk7CisgICAgbV9ldmVudExvb3AgPSBnX21haW5fbG9vcF9uZXcobV9ldmVudENvbnRleHQs
IEZBTFNFKTsKKyAgICBBU1NFUlQobV9ldmVudExvb3ApOworICAgIG1fd29ya1F1ZXVlVGhyZWFk
ID0gY3JlYXRlVGhyZWFkKCZXb3JrUXVldWU6OndvcmtRdWV1ZVRocmVhZEJvZHksIHRoaXMsIG5h
bWUpOworfQorCit2b2lkIFdvcmtRdWV1ZTo6cGxhdGZvcm1JbnZhbGlkYXRlKCkKK3sKKyAgICBN
dXRleExvY2tlciBsb2NrZXIobV9ldmVudExvb3BMb2NrKTsKKworICAgIGlmIChtX2V2ZW50TG9v
cCkgeworICAgICAgICBpZiAoZ19tYWluX2xvb3BfaXNfcnVubmluZyhtX2V2ZW50TG9vcCkpCisg
ICAgICAgICAgICBnX21haW5fbG9vcF9xdWl0KG1fZXZlbnRMb29wKTsKKworICAgICAgICBnX21h
aW5fbG9vcF91bnJlZihtX2V2ZW50TG9vcCk7CisgICAgICAgIG1fZXZlbnRMb29wID0gMDsKKyAg
ICB9CisKKyAgICBpZiAobV9ldmVudENvbnRleHQpIHsKKyAgICAgICAgZ19tYWluX2NvbnRleHRf
dW5yZWYobV9ldmVudENvbnRleHQpOworICAgICAgICBtX2V2ZW50Q29udGV4dCA9IDA7CisgICAg
fQorfQorCit2b2lkKiBXb3JrUXVldWU6OndvcmtRdWV1ZVRocmVhZEJvZHkodm9pZCAqY29udGV4
dCkKK3sKKyAgICBzdGF0aWNfY2FzdDxXb3JrUXVldWUqPihjb250ZXh0KS0+d29ya1F1ZXVlVGhy
ZWFkQm9keSgpOworICAgIHJldHVybiAwOworfQorCit2b2lkIFdvcmtRdWV1ZTo6d29ya1F1ZXVl
VGhyZWFkQm9keSgpCit7CisgICAgZ19tYWluX2xvb3BfcnVuKG1fZXZlbnRMb29wKTsKK30KKwor
Y2xhc3MgV29ya1F1ZXVlOjpFdmVudFNvdXJjZSB7CitwdWJsaWM6CisgICAgRXZlbnRTb3VyY2Uo
R1NvdXJjZSogZGlzcGF0Y2hTb3VyY2UsIFBhc3NPd25QdHI8V29ya0l0ZW0+IHdvcmtJdGVtLCBX
b3JrUXVldWUqIHdvcmtRdWV1ZSkKKyAgICA6IG1fZGlzcGF0Y2hTb3VyY2UoZGlzcGF0Y2hTb3Vy
Y2UpCisgICAgLCBtX3dvcmtJdGVtKHdvcmtJdGVtKQorICAgICwgbV93b3JrUXVldWUod29ya1F1
ZXVlKQorICAgIHsKKyAgICB9CisKKyAgICBHU291cmNlKiBkaXNwYXRjaFNvdXJjZSgpIHsgcmV0
dXJuIG1fZGlzcGF0Y2hTb3VyY2U7IH0KKworICAgIHN0YXRpYyBnYm9vbGVhbiBwZXJmb3JtV29y
a09uY2UoZ3BvaW50ZXIgc291cmNlKQorICAgIHsKKyAgICAgICAgRXZlbnRTb3VyY2UqIGV2ZW50
U291cmNlID0gc3RhdGljX2Nhc3Q8RXZlbnRTb3VyY2UqPihzb3VyY2UpOworICAgICAgICBXb3Jr
UXVldWUqIHF1ZXVlID0gZXZlbnRTb3VyY2UtPm1fd29ya1F1ZXVlOworICAgICAgICB7CisgICAg
ICAgICAgICBNdXRleExvY2tlciBsb2NrZXIocXVldWUtPm1faXNWYWxpZE11dGV4KTsKKyAgICAg
ICAgICAgIGlmICghcXVldWUtPm1faXNWYWxpZCkKKyAgICAgICAgICAgICAgICByZXR1cm4gRkFM
U0U7CisgICAgICAgIH0KKworICAgICAgICBldmVudFNvdXJjZS0+bV93b3JrSXRlbS0+ZXhlY3V0
ZSgpOworICAgICAgICByZXR1cm4gRkFMU0U7CisgICAgfQorCisgICAgc3RhdGljIGdib29sZWFu
IGNsb3NlQ29ubmVjdGlvbihHSU9DaGFubmVsKiBjaGFubmVsLCBHSU9Db25kaXRpb24gY29uZGl0
aW9uLCBncG9pbnRlciBzb3VyY2UpCisgICAgeworICAgICAgICBpZiAoKGNvbmRpdGlvbiAmIEdf
SU9fSFVQKSB8fCAoY29uZGl0aW9uICYgR19JT19FUlIpKSB7CisgICAgICAgICAgICBFdmVudFNv
dXJjZSogZXZlbnRTb3VyY2UgPSBzdGF0aWNfY2FzdDxFdmVudFNvdXJjZSo+KHNvdXJjZSk7Cisg
ICAgICAgICAgICBXb3JrUXVldWUqIHF1ZXVlID0gZXZlbnRTb3VyY2UtPm1fd29ya1F1ZXVlOwor
ICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIE11dGV4TG9ja2VyIGxvY2tlcihxdWV1ZS0+
bV9pc1ZhbGlkTXV0ZXgpOworICAgICAgICAgICAgICAgIGlmICghcXVldWUtPm1faXNWYWxpZCkK
KyAgICAgICAgICAgICAgICAgICAgcmV0dXJuIEZBTFNFOworICAgICAgICAgICAgfQorICAgICAg
ICAgICAgZXZlbnRTb3VyY2UtPm1fd29ya0l0ZW0tPmV4ZWN1dGUoKTsKKyAgICAgICAgfQorICAg
ICAgICByZXR1cm4gRkFMU0U7CisgICAgfQorICAgIAorICAgIHN0YXRpYyBnYm9vbGVhbiBwZXJm
b3JtV29yayhHSU9DaGFubmVsKiBjaGFubmVsLCBHSU9Db25kaXRpb24gY29uZGl0aW9uLCBncG9p
bnRlciBzb3VyY2UpIAorICAgIHsKKyAgICAgICAgaWYgKGNvbmRpdGlvbiAmIEdfSU9fSU4pIHsK
KyAgICAgICAgICAgIEV2ZW50U291cmNlKiBldmVudFNvdXJjZSA9IHN0YXRpY19jYXN0PEV2ZW50
U291cmNlKj4oc291cmNlKTsKKyAgICAgICAgICAgIFdvcmtRdWV1ZSogcXVldWUgPSBldmVudFNv
dXJjZS0+bV93b3JrUXVldWU7CisgICAgICAgICAgICB7CisgICAgICAgICAgICAgICAgTXV0ZXhM
b2NrZXIgbG9ja2VyKHF1ZXVlLT5tX2lzVmFsaWRNdXRleCk7CisgICAgICAgICAgICAgICAgaWYg
KCFxdWV1ZS0+bV9pc1ZhbGlkKQorICAgICAgICAgICAgICAgICAgICByZXR1cm4gVFJVRTsKKyAg
ICAgICAgICAgIH0KKworICAgICAgICAgICAgZXZlbnRTb3VyY2UtPm1fd29ya0l0ZW0tPmV4ZWN1
dGUoKTsKKyAgICAgICAgICAgIHJldHVybiBUUlVFOworICAgICAgICB9CisgICAgICAgIHJldHVy
biBGQUxTRTsKKworICAgIH0KKyAgICAKKyAgICBzdGF0aWMgdm9pZCBkZWxldGVFdmVudFNvdXJj
ZShncG9pbnRlciBzb3VyY2UpIAorICAgIHsKKyAgICAgICAgRXZlbnRTb3VyY2UqIGV2ZW50U291
cmNlID0gc3RhdGljX2Nhc3Q8RXZlbnRTb3VyY2UqPihzb3VyY2UpOworICAgICAgICBkZWxldGUg
ZXZlbnRTb3VyY2U7CisgICAgfQorICAgCitwdWJsaWM6CisgICAgR1NvdXJjZSogbV9kaXNwYXRj
aFNvdXJjZTsKKyAgICBQYXNzT3duUHRyPFdvcmtJdGVtPiBtX3dvcmtJdGVtOworICAgIFdvcmtR
dWV1ZSogbV93b3JrUXVldWU7Cit9OworCit2b2lkIFdvcmtRdWV1ZTo6cmVnaXN0ZXJFdmVudFNv
dXJjZUhhbmRsZXIoaW50IGZkLCBHSU9Db25kaXRpb24gY29uZGl0aW9uLCBQYXNzT3duUHRyPFdv
cmtJdGVtPiBpdGVtKQoreworICAgIEdJT0NoYW5uZWwqIGNoYW5uZWwgPSBnX2lvX2NoYW5uZWxf
dW5peF9uZXcoZmQpOworICAgIEdTb3VyY2UqIGRpc3BhdGNoU291cmNlID0gZ19pb19jcmVhdGVf
d2F0Y2goY2hhbm5lbCwgY29uZGl0aW9uKTsKKyAgICBBU1NFUlQoZGlzcGF0Y2hTb3VyY2UpOwor
ICAgIEV2ZW50U291cmNlKiBldmVudFNvdXJjZSA9IG5ldyBFdmVudFNvdXJjZShkaXNwYXRjaFNv
dXJjZSwgaXRlbSwgdGhpcyk7CisgICAKKyAgICBpZiAoY29uZGl0aW9uID09IEdfSU9fSU4pIHsK
KyAgICAgICAgZ19zb3VyY2Vfc2V0X2NhbGxiYWNrKGRpc3BhdGNoU291cmNlLCAoR1NvdXJjZUZ1
bmMpJiBXb3JrUXVldWU6OkV2ZW50U291cmNlOjpwZXJmb3JtV29yaywgZXZlbnRTb3VyY2UsICZX
b3JrUXVldWU6OkV2ZW50U291cmNlOjpkZWxldGVFdmVudFNvdXJjZSk7CisgICAgfSBlbHNlIGlm
IChjb25kaXRpb24gPT0gKEdfSU9fSFVQIHwgR19JT19FUlIpKSB7CisgICAgICAgIGdfc291cmNl
X3NldF9jYWxsYmFjayhkaXNwYXRjaFNvdXJjZSwgKEdTb3VyY2VGdW5jKSZXb3JrUXVldWU6OkV2
ZW50U291cmNlOjpjbG9zZUNvbm5lY3Rpb24sIGV2ZW50U291cmNlLCAmV29ya1F1ZXVlOjpFdmVu
dFNvdXJjZTo6ZGVsZXRlRXZlbnRTb3VyY2UpOworICAgIH0KKworICAgIHsKKyAgICAgICAgTXV0
ZXhMb2NrZXIgbG9ja2VyKG1fZXZlbnRTb3VyY2VzTG9jayk7CisgICAgICAgIEFTU0VSVCghbV9l
dmVudFNvdXJjZXMuY29udGFpbnMoZmQpKTsKKyAgICAgICAgVmVjdG9yPEV2ZW50U291cmNlKj4g
c291cmNlczsKKyAgICAgICAgRXZlbnRTb3VyY2VJdGVyYXRvciBpdCA9IG1fZXZlbnRTb3VyY2Vz
LmZpbmQoZmQpOworICAgICAgICBpZiAoaXQgIT0gbV9ldmVudFNvdXJjZXMuZW5kKCkpIAorICAg
ICAgICAgICAgc291cmNlcyA9IGl0LT5zZWNvbmQ7CisKKyAgICAgICAgc291cmNlcy5hcHBlbmQo
ZXZlbnRTb3VyY2UpOworICAgICAgICBtX2V2ZW50U291cmNlcy5zZXQoZmQsIHNvdXJjZXMpOwor
ICAgIH0KKworICAgIHsKKyAgICAgICAgTXV0ZXhMb2NrZXIgbG9ja2VyKG1fZXZlbnRMb29wTG9j
ayk7CisgICAgICAgIGdfc291cmNlX2F0dGFjaChkaXNwYXRjaFNvdXJjZSwgbV9ldmVudENvbnRl
eHQpOworICAgIH0KK30KKwordm9pZCBXb3JrUXVldWU6OnVucmVnaXN0ZXJFdmVudFNvdXJjZUhh
bmRsZXIoaW50IGZkKQoreworICAgIEFTU0VSVChmZCk7CisgICAgCisgICAgTXV0ZXhMb2NrZXIg
bG9ja2VyKG1fZXZlbnRTb3VyY2VzTG9jayk7CisgICAgCisgICAgRXZlbnRTb3VyY2VJdGVyYXRv
ciBpdCA9IG1fZXZlbnRTb3VyY2VzLmZpbmQoZmQpOworICAgIEFTU0VSVChpdCAhPSBtX2V2ZW50
U291cmNlcy5lbmQoKSk7CisgICAgQVNTRVJUKG1fZXZlbnRTb3VyY2VzLmNvbnRhaW5zKGZkKSk7
CisKKyAgICBpZiAoaXQgIT0gbV9ldmVudFNvdXJjZXMuZW5kKCkpIHsKKyAgICAgICAgVmVjdG9y
PEV2ZW50U291cmNlKj4gc291cmNlczsKKyAgICAgICAgc291cmNlcyA9IGl0LT5zZWNvbmQ7Cisg
ICAgICAgIGZvciAodW5zaWduZWQgaW50IGkgPSAwOyBpIDwgc291cmNlcy5zaXplKCk7IGkrKykg
eworICAgICAgICAgICAgRXZlbnRTb3VyY2UqIGV2ZW50U291cmNlID0gc291cmNlc1tpXTsKKyAg
ICAgICAgICAgIEdTb3VyY2UqIGdTb3VyY2UgPSBldmVudFNvdXJjZS0+ZGlzcGF0Y2hTb3VyY2Uo
KTsKKyAgICAgICAgICAgIGdfc291cmNlX2Rlc3Ryb3koZ1NvdXJjZSk7CisgICAgICAgIH0KKyAg
ICAgICAgbV9ldmVudFNvdXJjZXMucmVtb3ZlKGl0KTsKKyAgICB9Cit9CisKK3ZvaWQgV29ya1F1
ZXVlOjpzY2hlZHVsZVdvcmsoUGFzc093blB0cjxXb3JrSXRlbT4gaXRlbSkKK3sKKyAgICBHU291
cmNlKiBkaXNwYXRjaFNvdXJjZSA9IGdfdGltZW91dF9zb3VyY2VfbmV3KDApOworICAgIEFTU0VS
VChkaXNwYXRjaFNvdXJjZSk7CisgICAgRXZlbnRTb3VyY2UqIGV2ZW50U291cmNlID0gbmV3IEV2
ZW50U291cmNlKGRpc3BhdGNoU291cmNlLCBpdGVtLCB0aGlzKTsKKyAgICAKKyAgICBnX3NvdXJj
ZV9zZXRfY2FsbGJhY2soZGlzcGF0Y2hTb3VyY2UsIChHU291cmNlRnVuYykmV29ya1F1ZXVlOjpF
dmVudFNvdXJjZTo6cGVyZm9ybVdvcmtPbmNlLCBldmVudFNvdXJjZSwgJldvcmtRdWV1ZTo6RXZl
bnRTb3VyY2U6OmRlbGV0ZUV2ZW50U291cmNlKTsKKyAgICB7CisgICAgICAgIE11dGV4TG9ja2Vy
IGxvY2tlcihtX2V2ZW50TG9vcExvY2spOworICAgICAgICBnX3NvdXJjZV9hdHRhY2goZGlzcGF0
Y2hTb3VyY2UsIG1fZXZlbnRDb250ZXh0KTsKKyAgICB9Cit9CkluZGV4OiBXZWJLaXQyL1NoYXJl
ZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFyZWQv
TmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oCShyZXZpc2lvbiA3MDA5OCkKKysrIFdlYktpdDIvU2hh
cmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zNiw2ICszNyw4IEBAIGNsYXNzIE5TVmlldzsKICNlbmRpZgogI2VsaWYgUExBVEZPUk0o
UVQpCiAjaW5jbHVkZSA8UUtleUV2ZW50PgorI2VsaWYgUExBVEZPUk0oR1RLKQorI2luY2x1ZGUg
PGdkay9nZGsuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2ViS2l0IHsKQEAgLTQ4LDYgKzUxLDgg
QEAgcHVibGljOgogICAgIE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoSFdORCwgVUlOVCBtZXNzYWdl
LCBXUEFSQU0sIExQQVJBTSk7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBleHBsaWNpdCBOYXRp
dmVXZWJLZXlib2FyZEV2ZW50KFFLZXlFdmVudCopOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAg
IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoR2RrRXZlbnRLZXkqKTsKICNlbmRpZgogCiAjaWYgUExB
VEZPUk0oTUFDKQpAQCAtNTYsNiArNjEsOCBAQCBwdWJsaWM6CiAgICAgY29uc3QgTVNHKiBuYXRp
dmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuICZtX25hdGl2ZUV2ZW50OyB9CiAjZWxpZiBQTEFURk9S
TShRVCkKICAgICBjb25zdCBRS2V5RXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4g
Jm1fbmF0aXZlRXZlbnQ7IH0KKyNlbGlmIFBMQVRGT1JNKEdUSykKKyAgICBjb25zdCBHZGtFdmVu
dEtleSogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVudDsgfQogI2Vu
ZGlmCiAKIHByaXZhdGU6CkBAIC02NSw2ICs3Miw4IEBAIHByaXZhdGU6CiAgICAgTVNHIG1fbmF0
aXZlRXZlbnQ7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBRS2V5RXZlbnQgbV9uYXRpdmVFdmVu
dDsKKyNlbGlmIFBMQVRGT1JNKEdUSykKKyAgICBHZGtFdmVudEtleSBtX25hdGl2ZUV2ZW50Owog
I2VuZGlmCiB9OwogCkluZGV4OiBXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAkocmV2aXNpb24gNzAwOTgpCisr
KyBXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zMiw2ICszMywxMCBAQAogI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlV2luLmg+CiAj
ZW5kaWYKIAorI2lmIGRlZmluZWQoQlVJTERJTkdfR1RLX18pCisjaW5jbHVkZSA8V2ViS2l0Mi9X
S0Jhc2VHdGsuaD4KKyNlbmRpZgorCiAvKiBXZWJLaXQyIHNoYXJlZCB0eXBlcyAqLwogCiB0eXBl
ZGVmIHVpbnQzMl90IFdLVHlwZUlEOwpJbmRleDogV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dL
QmFzZUd0ay5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL0FQSS9jL2d0ay9XS0Jhc2VH
dGsuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvU2hhcmVkL0FQSS9jL2d0ay9XS0Jhc2VHdGsu
aAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKyNpZm5kZWYgV0tCYXNlR3RrX2gKKyNkZWZpbmUgV0tCYXNlR3RrX2gKKworI2lm
bmRlZiBXS0Jhc2VfaAorI2Vycm9yICJQbGVhc2UgI2luY2x1ZGUgXCJXS0Jhc2UuaFwiIGluc3Rl
YWQgb2YgdGhpcyBmaWxlIGRpcmVjdGx5LiIKKyNlbmRpZgorCit0eXBlZGVmIGNvbnN0IHN0cnVj
dCBPcGFxdWVXS1ZpZXcqIFdLVmlld1JlZjsKKworI2VuZGlmIC8qIFdLQmFzZUd0a19oICovCklu
ZGV4OiBXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9EcmF3aW5nQXJlYU1lc3NhZ2VLaW5k
cy5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdpbmdB
cmVhTWVzc2FnZUtpbmRzLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9TaGFyZWQvQ29y
ZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdlS2luZHMuaAkod29ya2luZyBjb3B5KQpAQCAt
MSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmln
aHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1v
YmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9u
IGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICog
bW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBj
b25kaXRpb25zCkBAIC00NSw2ICs0NiwxMyBAQCBlbnVtIEtpbmQgewogICAgIC8vIENhbGxlZCB3
aGVuIGFuIHVwZGF0ZSBjaHVuayBzZW50IHRvIHRoZSBkcmF3aW5nIGFyZWEgaGFzIGJlZW4KICAg
ICAvLyBpbmNvcnBvcmF0ZWQgaW50byB0aGUgYmFja2luZyBzdG9yZS4KICAgICBEaWRVcGRhdGUs
CisKKyAgICAvLyBDYWxsZWQgd2hlbmV2ZXIgdGhlIHNpemUgb2YgdGhlIGRyYXdpbmcgYXJlYSBn
ZXQgdXBkYXRlZAorICAgIC8vIHVzZWQgaW4gb25seSBHVEsgdG8gZnJlZSB0aGUgbWVtb3J5IHdo
aWNoIGlzIGFsbG9jYXRlZCBpbiBzZXRzaXplCisjaWYgUExBVEZPUk0oR1RLKQorICAgIERpZFNl
dFNpemVEb25lLAorI2VuZGlmCisgICAgCiB9OwogCiB9CkluZGV4OiBXZWJLaXQyL1NoYXJlZC9n
dGsvQmFja2luZ1N0b3JlR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9ndGsv
QmFja2luZ1N0b3JlR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvU2hhcmVkL2d0ay9C
YWNraW5nU3RvcmVHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ3IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBv
cnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkJhY2tpbmdTdG9yZS5oIgorCisj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29u
dGV4dC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7
CisKK1Bhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0PiBCYWNraW5nU3RvcmU6OmNyZWF0ZUdyYXBo
aWNzQ29udGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30K
Kwordm9pZCBCYWNraW5nU3RvcmU6OnBhaW50KFdlYkNvcmU6OkdyYXBoaWNzQ29udGV4dCogY29u
dGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKK30KKyAgICAgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktp
dDIvU2hhcmVkL2d0ay9OYXRpdmVXZWJLZXlib2FyZEV2ZW50R3RrLmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1NoYXJlZC9ndGsvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEd0ay5jcHAJKHJldmlz
aW9uIDApCisrKyBXZWJLaXQyL1NoYXJlZC9ndGsvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEd0ay5j
cHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsMzkgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorCisjaW5jbHVk
ZSAiV2ViRXZlbnRGYWN0b3J5LmgiCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitOYXRpdmVXZWJL
ZXlib2FyZEV2ZW50OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50KEdka0V2ZW50S2V5KiBldmVudCkK
KyAgICA6IFdlYktleWJvYXJkRXZlbnQoV2ViRXZlbnRGYWN0b3J5OjpjcmVhdGVXZWJLZXlib2Fy
ZEV2ZW50KGV2ZW50KSkKKyAgICAsIG1fbmF0aXZlRXZlbnQoKmV2ZW50KQoreworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvU2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mby5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVkL2d0ay9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9TaGFyZWQvZ3RrL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTggQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
UG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsYXRmb3JtQ2VydGlmaWNhdGVJ
bmZvX2gKKyNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAorCisjaW5jbHVkZSAiQXJn
dW1lbnREZWNvZGVyLmgiCisjaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCisjaW5jbHVkZSA8
V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFz
cyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7CitwdWJsaWM6CisgICAgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8oKQorICAgIHsKKyAgICB9CisKKyAgICBleHBsaWNpdCBQbGF0Zm9ybUNlcnRpZmlj
YXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJikKKyAgICB7CisgICAgfQor
CisgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikgY29uc3QKKyAgICB7
CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2Rl
ciosIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJikKKyAgICB7CisgICAgICAgIHJldHVybiB0cnVl
OworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gUGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm9faApJbmRleDogV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5r
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRlQ2h1bmsuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSw3OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJVcGRhdGVDaHVuay5oIgorCisjaW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgi
CisjaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgiCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50
Q29kZXJzLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9HdGtWZXJzaW9uaW5nLmg+CisjaW5jbHVkZSA8
Z2RrL2dka3guaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitVcGRhdGVDaHVuazo6VXBkYXRlQ2h1bmsoKQorICAgIDogbV9iaXRtYXBTaGFyZWRN
ZW1vcnkoMCkKK3sKK30KKworVXBkYXRlQ2h1bms6OlVwZGF0ZUNodW5rKGNvbnN0IEludFJlY3Qm
IHJlY3QpCisgICAgOiBtX3JlY3QocmVjdCkKK3sKKyAgICBtX2JpdG1hcFNoYXJlZE1lbW9yeSA9
IGdka19waXhtYXBfbmV3KDAsIHJlY3Qud2lkdGgoKSwgcmVjdC5oZWlnaHQoKSwgZ2RrX3Zpc3Vh
bF9nZXRfZGVwdGgoZ2RrX3Zpc3VhbF9nZXRfc3lzdGVtKCkpKTsKKyAgICBtX3hJRCA9IHN0YXRp
Y19jYXN0PHVpbnQzMl90PihHREtfUElYTUFQX1hJRChtX2JpdG1hcFNoYXJlZE1lbW9yeSkpOwor
fQorCitVcGRhdGVDaHVuazo6VXBkYXRlQ2h1bmsoY29uc3QgSW50UmVjdCYgcmVjdCwgR2RrUGl4
bWFwKiBiaXRtYXBTaGFyZWRNZW1vcnkpCisgICAgOiBtX3JlY3QocmVjdCkKKyAgICAsIG1fYml0
bWFwU2hhcmVkTWVtb3J5KGJpdG1hcFNoYXJlZE1lbW9yeSkKK3sKK30KKwordm9pZCBVcGRhdGVD
aHVuazo6ZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciogZW5jb2RlcikgY29uc3QKK3sK
KyAgICBlbmNvZGVyLT5lbmNvZGUobV9yZWN0KTsKKyAgICBlbmNvZGVyLT5lbmNvZGUoc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KG1feElEKSk7Cit9CisKK2Jvb2wgVXBkYXRlQ2h1bms6OmRlY29kZShD
b3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFVwZGF0ZUNodW5rJiB1cGRhdGVDaHVu
aykKK3sKKyAgICBJbnRSZWN0IHJlY3Q7CisgICAgaWYgKCFkZWNvZGVyLT5kZWNvZGUocmVjdCkp
CisgICAgICAgIHJldHVybiBmYWxzZTsKKworICAgIHVwZGF0ZUNodW5rLm1fcmVjdCA9IHJlY3Q7
CisgICAgdWludDMyX3QgcGl4bWFwU2hhcmVkTW1lbW9yeTsKKyAgICBpZiAoIWRlY29kZXItPmRl
Y29kZShwaXhtYXBTaGFyZWRNbWVtb3J5KSkKKyAgICAgICAgcmV0dXJuIGZhbHNlOworICAgIHVw
ZGF0ZUNodW5rLm1feElEID0gcGl4bWFwU2hhcmVkTW1lbW9yeTsKKyAgICB1bnNpZ25lZCBsb25n
IHhQaXhtYXBTaGFyZWRNbWVtb3J5ID0gc3RhdGljX2Nhc3Q8dW5zaWduZWQgbG9uZz4ocGl4bWFw
U2hhcmVkTW1lbW9yeSk7CisgICAgdXBkYXRlQ2h1bmsubV9iaXRtYXBTaGFyZWRNZW1vcnkgPSBn
ZGtfcGl4bWFwX2ZvcmVpZ25fbmV3KHhQaXhtYXBTaGFyZWRNbWVtb3J5KTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1NoYXJlZC9n
dGsvVXBkYXRlQ2h1bmsuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRl
Q2h1bmsuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5o
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDYyIEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEw
IEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAo
YykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI2lmbmRlZiBVcGRhdGVDaHVua19oCisjZGVmaW5lIFVwZGF0ZUNodW5rX2gKKwor
I2luY2x1ZGUgIkludFJlY3QuaCIKKyNpbmNsdWRlIDxnZGsvZ2RrLmg+CisKK25hbWVzcGFjZSBD
b3JlSVBDIHsKK2NsYXNzIEFyZ3VtZW50RW5jb2RlcjsKK2NsYXNzIEFyZ3VtZW50RGVjb2RlcjsK
K30KKworbmFtZXNwYWNlIFdlYktpdCB7CisKK2NsYXNzIFVwZGF0ZUNodW5rIHsKK3B1YmxpYzoK
KyAgICBVcGRhdGVDaHVuaygpOworICAgIFVwZGF0ZUNodW5rKGNvbnN0IFdlYkNvcmU6OkludFJl
Y3QmKTsKKyAgICBVcGRhdGVDaHVuayhjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiwgR2RrUGl4bWFw
Kik7CisKKyAgICBjb25zdCBXZWJDb3JlOjpJbnRSZWN0JiByZWN0KCkgY29uc3QgeyByZXR1cm4g
bV9yZWN0OyB9CisgICAgR2RrUGl4bWFwKiBtZW1vcnkoKSBjb25zdCB7IHJldHVybiBtX2JpdG1h
cFNoYXJlZE1lbW9yeTsgfQorICAgIHVpbnQzMl90IHhJRCgpIHsgcmV0dXJuIG1feElEOyB9Cisg
ICAgYm9vbCBpc0VtcHR5KCkgeyByZXR1cm4gbV9yZWN0LmlzRW1wdHkoKTt9CisKKyAgICB2b2lk
IGVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29kZXIpIGNvbnN0OworICAgIHN0
YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBVcGRhdGVDaHVuayYp
OworCitwcml2YXRlOgorICAgIFdlYkNvcmU6OkludFJlY3QgbV9yZWN0OworICAgIEdka1BpeG1h
cCogbV9iaXRtYXBTaGFyZWRNZW1vcnk7CisgICAgdWludDMyX3QgbV94SUQ7Cit9OworCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFVwZGF0ZUNodW5rX2gKSW5kZXg6IFdlYktp
dDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwCShyZXZpc2lv
biAwKQorKysgV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNDQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj
KSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaW5jbHVkZSAiV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmgiCisKKyNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgorCituYW1lc3BhY2UgQ29yZUlQQyB7CisKK3ZvaWQgZW5jb2RlUmVz
b3VyY2VSZXF1ZXN0KEFyZ3VtZW50RW5jb2RlciogZW5jb2RlciwgY29uc3QgV2ViQ29yZTo6UmVz
b3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsK
K30KKworYm9vbCBkZWNvZGVSZXNvdXJjZVJlcXVlc3QoQXJndW1lbnREZWNvZGVyKiBkZWNvZGVy
LCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlc291cmNlUmVxdWVzdCkKK3sKKyAgICBub3RJ
bXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworfQpJbmRleDogV2ViS2l0Mi9T
aGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1NoYXJl
ZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw3NjMgQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworI2luY2x1ZGUgIldlYkV2ZW50RmFjdG9y
eS5oIgorCisjaW5jbHVkZSAiV2luZG93c0tleWJvYXJkQ29kZXMuaCIKKworI2luY2x1ZGUgPGdk
ay9nZGsuaD4KKyNpbmNsdWRlIDxnZGsvZ2Rra2V5c3ltcy5oPgorI2luY2x1ZGUgPHd0Zi9BU0NJ
SUNUeXBlLmg+CisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0
IHsKKworc3RhdGljIGlubGluZSBHZGtQb2ludCBwb3NpdGlvbkZvckV2ZW50KEdka0V2ZW50QW55
KiBldmVudCkKK3sKKyAgICBHZGtQb2ludCBwb2ludDsKKyAgICBpZiAoZXZlbnQtPnR5cGUgPT0g
R0RLX0JVVFRPTl9QUkVTUyB8fCBldmVudC0+dHlwZSA9PSBHREtfQlVUVE9OX1JFTEVBU0UpIHsK
KyAgICAgICAgcG9pbnQueCA9IChnaW50KSgoR2RrRXZlbnRCdXR0b24gKilldmVudCktPng7Cisg
ICAgICAgIHBvaW50LnkgPSAoZ2ludCkoKEdka0V2ZW50QnV0dG9uICopZXZlbnQpLT55OworICAg
IH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUgPT0gR0RLX01PVElPTl9OT1RJRlkpIHsKKyAgICAgICAg
cG9pbnQueCA9IChnaW50KSgoR2RrRXZlbnRNb3Rpb24gKilldmVudCktPng7CisgICAgICAgIHBv
aW50LnkgPSAoZ2ludCkoKEdka0V2ZW50TW90aW9uICopZXZlbnQpLT55OworICAgIH0gZWxzZSBp
ZiAoZXZlbnQtPnR5cGUgPT0gR0RLX1NDUk9MTCkgeworICAgICAgICBwb2ludC54ID0gKGdpbnQp
KChHZGtFdmVudFNjcm9sbCAqKWV2ZW50KS0+eDsKKyAgICAgICAgcG9pbnQueSA9IChnaW50KSgo
R2RrRXZlbnRTY3JvbGwgKilldmVudCktPnk7CisgICAgfQorCisgICAgcmV0dXJuIHBvaW50Owor
fQorCitzdGF0aWMgaW5saW5lIEdka1BvaW50IGdsb2JhbFBvc2l0aW9uRm9yRXZlbnQoR2RrRXZl
bnRBbnkqIGV2ZW50KQoreworICAgIEdka1BvaW50IHBvaW50OworICAgIGlmIChldmVudC0+dHlw
ZSA9PSBHREtfQlVUVE9OX1BSRVNTIHx8IGV2ZW50LT50eXBlID09IEdES19CVVRUT05fUkVMRUFT
RSkgeworICAgICAgICBwb2ludC54ID0gKChHZGtFdmVudEJ1dHRvbiAqKWV2ZW50KS0+eF9yb290
OworICAgICAgICBwb2ludC55ID0gKChHZGtFdmVudEJ1dHRvbiAqKWV2ZW50KS0+eV9yb290Owor
ICAgIH0gZWxzZSBpZiAoZXZlbnQtPnR5cGUgPT0gR0RLX01PVElPTl9OT1RJRlkpIHsKKyAgICAg
ICAgcG9pbnQueCA9ICgoR2RrRXZlbnRNb3Rpb24gKilldmVudCktPnhfcm9vdDsgCisgICAgICAg
IHBvaW50LnkgPSAoKEdka0V2ZW50TW90aW9uICopZXZlbnQpLT55X3Jvb3Q7CisgICAgfSBlbHNl
IGlmIChldmVudC0+dHlwZSA9PSBHREtfU0NST0xMKSB7CisgICAgICAgIHBvaW50LnggPSAoKEdk
a0V2ZW50U2Nyb2xsICopZXZlbnQpLT54X3Jvb3Q7CisgICAgICAgIHBvaW50LnkgPSAoKEdka0V2
ZW50U2Nyb2xsICopZXZlbnQpLT55X3Jvb3Q7CisgICAgfQorCisgICAgcmV0dXJuIHBvaW50Owor
fQorCisKK3N0YXRpYyBpbmxpbmUgaW50IGNsaWNrQ291bnQoR2RrRXZlbnRBbnkqIGV2ZW50KQor
eworICAgIGludCBzQ2xpY2tDb3VudCA9IDA7CisgICAgc3dpdGNoIChldmVudC0+dHlwZSkgewor
ICAgIGNhc2UgR0RLX0JVVFRPTl9QUkVTUzoKKyAgICAgICAgc0NsaWNrQ291bnQgPSAxOworICAg
ICAgICBicmVhazsgCisgICAgY2FzZSBHREtfMkJVVFRPTl9QUkVTUzoKKyAgICAgICAgc0NsaWNr
Q291bnQgPSAyOworICAgICAgICBicmVhazsgCisgICAgY2FzZSBHREtfM0JVVFRPTl9QUkVTUzoK
KyAgICAgICAgc0NsaWNrQ291bnQgPSAzOworICAgICAgICBicmVhazsgCisgICAgY2FzZSBHREtf
TU9USU9OX05PVElGWToKKyAgICBjYXNlIEdES19CVVRUT05fUkVMRUFTRToKKyAgICAgICAgc0Ns
aWNrQ291bnQgPSAwOworICAgICAgICBicmVhazsgCisgICAgZGVmYXVsdDoKKyAgICAgICAgQVNT
RVJUX05PVF9SRUFDSEVEKCk7CisgICAgfTsKKyAgICByZXR1cm4gc0NsaWNrQ291bnQ7Cit9CisK
K3N0YXRpYyBpbmxpbmUgV2ViRXZlbnQ6Ok1vZGlmaWVycyBtb2RpZmllcnNGb3JFdmVudChndWlu
dCBzdGF0ZSkKK3sKKyAgICB1bnNpZ25lZCBtb2RpZmllcnMgPSAwOworICAgIGlmIChzdGF0ZSAm
IEdES19DT05UUk9MX01BU0spCisgICAgICAgIG1vZGlmaWVycyB8PSBXZWJFdmVudDo6Q29udHJv
bEtleTsKKyAgICBpZiAoc3RhdGUgJiBHREtfU0hJRlRfTUFTSykKKyAgICAgICAgbW9kaWZpZXJz
IHw9IFdlYkV2ZW50OjpTaGlmdEtleTsKKyAgICBpZiAoc3RhdGUgJiBHREtfTU9EMV9NQVNLKQor
ICAgICAgICBtb2RpZmllcnMgfD0gV2ViRXZlbnQ6OkFsdEtleTsKKyAgICBpZiAoc3RhdGUgJiBH
REtfTUVUQV9NQVNLKQorICAgICAgICBtb2RpZmllcnMgfD0gV2ViRXZlbnQ6Ok1ldGFLZXk7Cisg
ICAgcmV0dXJuIHN0YXRpY19jYXN0PFdlYkV2ZW50OjpNb2RpZmllcnM+KG1vZGlmaWVycyk7Cit9
CisKK3N0YXRpYyBpbmxpbmUgV2ViTW91c2VFdmVudDo6QnV0dG9uIGJ1dHRvbkZvckV2ZW50KEdk
a0V2ZW50QW55ICpldmVudCkKK3sKKyAgICB1bnNpZ25lZCBidXR0b24gPSAwOworICAgIEdka0V2
ZW50TW90aW9uKiBtb3Rpb247CisgICAgR2RrRXZlbnRCdXR0b24qIGJFdmVudDsKKyAgICBzd2l0
Y2ggKGV2ZW50LT50eXBlKSB7CisgICAgY2FzZSBHREtfTU9USU9OX05PVElGWToKKyAgICAgICAg
bW90aW9uID0gKEdka0V2ZW50TW90aW9uKikgZXZlbnQ7CisgICAgICAgIGJ1dHRvbiA9IFdlYk1v
dXNlRXZlbnQ6Ok5vQnV0dG9uOworICAgICAgICBpZiAobW90aW9uLT5zdGF0ZSAmIEdES19CVVRU
T04xX01BU0spCisgICAgICAgICAgICBidXR0b24gPSBXZWJNb3VzZUV2ZW50OjpMZWZ0QnV0dG9u
OworICAgICAgICBlbHNlIGlmIChtb3Rpb24tPnN0YXRlICYgR0RLX0JVVFRPTjJfTUFTSykKKyAg
ICAgICAgICAgIGJ1dHRvbiA9IFdlYk1vdXNlRXZlbnQ6Ok1pZGRsZUJ1dHRvbjsKKyAgICAgICAg
ZWxzZSBpZiAobW90aW9uLT5zdGF0ZSAmIEdES19CVVRUT04zX01BU0spCisgICAgICAgICAgICBi
dXR0b24gPSBXZWJNb3VzZUV2ZW50OjpSaWdodEJ1dHRvbjsKKyAgICAgICAgYnJlYWs7CisKKyAg
ICBjYXNlIEdES19CVVRUT05fUFJFU1M6CisgICAgY2FzZSBHREtfMkJVVFRPTl9QUkVTUzoKKyAg
ICBjYXNlIEdES18zQlVUVE9OX1BSRVNTOgorICAgIGNhc2UgR0RLX0JVVFRPTl9SRUxFQVNFOgor
ICAgICAgICBiRXZlbnQgPSAoR2RrRXZlbnRCdXR0b24gKilldmVudDsKKyAgICAgICAgaWYgKGJF
dmVudC0+YnV0dG9uID09IDEpCisgICAgICAgICAgICBidXR0b24gPSBXZWJNb3VzZUV2ZW50OjpM
ZWZ0QnV0dG9uOworICAgICAgICBlbHNlIGlmIChiRXZlbnQtPmJ1dHRvbiA9PSAyKQorICAgICAg
ICAgICAgYnV0dG9uID0gV2ViTW91c2VFdmVudDo6TWlkZGxlQnV0dG9uOworICAgICAgICBlbHNl
IGlmIChiRXZlbnQtPmJ1dHRvbiA9PSAzKQorICAgICAgICAgICAgYnV0dG9uID0gV2ViTW91c2VF
dmVudDo6UmlnaHRCdXR0b247CisgICAgICAgIGJyZWFrOworICAgIGRlZmF1bHQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIH07ICAgICAgICAKKyAgICByZXR1cm4gc3RhdGlj
X2Nhc3Q8V2ViTW91c2VFdmVudDo6QnV0dG9uPihidXR0b24pOworfQorICAKKworV2ViTW91c2VF
dmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYk1vdXNlRXZlbnQoR2RrRXZlbnRBbnkgKmV2
ZW50KQoreworICAgIGd1aW50IHRpbWVzdGFtcCA9IDA7IAorICAgIFdlYkV2ZW50OjpNb2RpZmll
cnMgbW9kaWZpZXJzID0gc3RhdGljX2Nhc3Q8V2ViRXZlbnQ6Ok1vZGlmaWVycz4oMCk7CisgICAg
V2ViTW91c2VFdmVudDo6QnV0dG9uIGJ1dHRvbiA9IGJ1dHRvbkZvckV2ZW50KGV2ZW50KTsKKyAg
ICBHZGtQb2ludCBwb3NpdGlvbiA9IHBvc2l0aW9uRm9yRXZlbnQoZXZlbnQpOworICAgIEdka1Bv
aW50IGdsb2JhbFBvc2l0aW9uID0gZ2xvYmFsUG9zaXRpb25Gb3JFdmVudCgoR2RrRXZlbnRBbnkg
KilldmVudCk7CisgICAgaW50IGNsaWNrY291bnQgPSBjbGlja0NvdW50KGV2ZW50KTsKKyAgICBX
ZWJFdmVudDo6VHlwZSB0eXBlID0gc3RhdGljX2Nhc3Q8V2ViRXZlbnQ6OlR5cGU+KDApOworICAg
IHN3aXRjaCAoZXZlbnQtPnR5cGUpIHsKKyAgICBjYXNlIEdES19NT1RJT05fTk9USUZZOgorICAg
ICAgICB0eXBlID0gV2ViRXZlbnQ6Ok1vdXNlTW92ZTsKKyAgICAgICAgdGltZXN0YW1wID0gKChH
ZGtFdmVudE1vdGlvbiAqKWV2ZW50KS0+dGltZTsKKyAgICAgICAgbW9kaWZpZXJzID0gbW9kaWZp
ZXJzRm9yRXZlbnQoKChHZGtFdmVudE1vdGlvbiAqKWV2ZW50KS0+c3RhdGUpOworICAgICAgICBi
cmVhazsKKyAgICBjYXNlIEdES19CVVRUT05fUFJFU1M6CisgICAgICAgIHRpbWVzdGFtcCA9ICgo
R2RrRXZlbnRCdXR0b24gKilldmVudCktPnRpbWU7CisgICAgICAgIG1vZGlmaWVycyA9IG1vZGlm
aWVyc0ZvckV2ZW50KCgoR2RrRXZlbnRCdXR0b24gKilldmVudCktPnN0YXRlKTsKKyAgICAgICAg
dHlwZSA9IFdlYkV2ZW50OjpNb3VzZURvd247CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgR0RL
X0JVVFRPTl9SRUxFQVNFOgorICAgICAgICB0aW1lc3RhbXAgPSAoKEdka0V2ZW50QnV0dG9uICop
ZXZlbnQpLT50aW1lOworICAgICAgICBtb2RpZmllcnMgPSBtb2RpZmllcnNGb3JFdmVudCgoKEdk
a0V2ZW50QnV0dG9uICopZXZlbnQpLT5zdGF0ZSk7CisgICAgICAgIHR5cGUgPSBXZWJFdmVudDo6
TW91c2VVcDsKKyAgICAgICAgYnJlYWs7CisgICAgZGVmYXVsdCA6CisgICAgICAgIEFTU0VSVF9O
T1RfUkVBQ0hFRCgpOworICAgIH0KKworICAgIGludCBwb3NpdGlvblggPSBwb3NpdGlvbi54Owor
ICAgIGludCBwb3NpdGlvblkgPSBwb3NpdGlvbi55OworICAgIGludCBnbG9iYWxQb3NpdGlvblgg
PSBnbG9iYWxQb3NpdGlvbi54OworICAgIGludCBnbG9iYWxQb3NpdGlvblkgPSBnbG9iYWxQb3Np
dGlvbi55OworCisgICAgcmV0dXJuIFdlYk1vdXNlRXZlbnQodHlwZSwgYnV0dG9uLCBwb3NpdGlv
blgsIHBvc2l0aW9uWSwgZ2xvYmFsUG9zaXRpb25YLCBnbG9iYWxQb3NpdGlvblksIDAsIDAsIDAs
IGNsaWNrY291bnQsIG1vZGlmaWVycywgdGltZXN0YW1wKTsKK30KKworV2ViV2hlZWxFdmVudCBX
ZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYldoZWVsRXZlbnQoR2RrRXZlbnRTY3JvbGwgKmV2ZW50
KQoreworICAgIFdlYldoZWVsRXZlbnQ6OkdyYW51bGFyaXR5IGdyYW51bGFyaXR5ICA9IFdlYldo
ZWVsRXZlbnQ6OlNjcm9sbEJ5UGl4ZWxXaGVlbEV2ZW50OworCisgICAgZG91YmxlIHRpbWVzdGFt
cCA9IGV2ZW50LT50aW1lOyAKKworICAgIGZsb2F0IGRlbHRhWCA9IDA7CisgICAgZmxvYXQgZGVs
dGFZID0gMDsKKyAgICBmbG9hdCB3aGVlbFRpY2tzWCA9IDA7CisgICAgZmxvYXQgd2hlZWxUaWNr
c1kgPSAwOworCisgICAgLy8gVGFrZW4gZnJvbSBXZWJDb3JlIFNjcm9sbEJhciAKKyAgICBmbG9h
dCBzY3JvbGxiYXJQaXhlbHNQZXJMaW5lID0gNDAuMGY7CisgICAgZmxvYXQgZGVsdGEgPSAxOwor
ICAgIEdka1BvaW50IHBvc2l0aW9uID0gcG9zaXRpb25Gb3JFdmVudCgoR2RrRXZlbnRBbnkgKill
dmVudCk7CisgICAgR2RrUG9pbnQgZ2xvYmFsUG9zaXRpb24gPSBnbG9iYWxQb3NpdGlvbkZvckV2
ZW50KChHZGtFdmVudEFueSAqKWV2ZW50KTsKKyAgICBpbnQgcG9zaXRpb25YID0gcG9zaXRpb24u
eDsKKyAgICBpbnQgcG9zaXRpb25ZID0gcG9zaXRpb24ueTsKKyAgICBpbnQgZ2xvYmFsUG9zaXRp
b25YID0gZ2xvYmFsUG9zaXRpb24ueDsKKyAgICBpbnQgZ2xvYmFsUG9zaXRpb25ZID0gZ2xvYmFs
UG9zaXRpb24ueTsKKyAgICBXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlmaWVycyA9IG1vZGlmaWVy
c0ZvckV2ZW50KGV2ZW50LT5zdGF0ZSk7CisgICAgc3dpdGNoIChldmVudC0+ZGlyZWN0aW9uKSB7
CisgICAgCisgICAgY2FzZSBHREtfU0NST0xMX1VQOgorICAgICAgICBkZWx0YVkgPSBkZWx0YTsK
KyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHREtfU0NST0xMX0RPV046CisgICAgICAgIGRlbHRh
WSA9IC1kZWx0YTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBHREtfU0NST0xMX0xFRlQ6Cisg
ICAgICAgIGRlbHRhWCA9IGRlbHRhOworICAgICAgICBicmVhazsKKyAgICBjYXNlIEdES19TQ1JP
TExfUklHSFQ6CisgICAgICAgIGRlbHRhWCA9IC1kZWx0YTsKKyAgICAgICAgYnJlYWs7CisgICAg
fQorCisgICAgd2hlZWxUaWNrc1ggPSBkZWx0YVg7CisgICAgd2hlZWxUaWNrc1kgPSBkZWx0YVk7
IAorICAgIGRlbHRhWCAqPSBzY3JvbGxiYXJQaXhlbHNQZXJMaW5lOworICAgIGRlbHRhWSAqPSBz
Y3JvbGxiYXJQaXhlbHNQZXJMaW5lOworICAgIAorICAgIHJldHVybiBXZWJXaGVlbEV2ZW50KFdl
YkV2ZW50OjpXaGVlbCwgcG9zaXRpb25YLCBwb3NpdGlvblksIGdsb2JhbFBvc2l0aW9uWCwgZ2xv
YmFsUG9zaXRpb25ZLCBkZWx0YVgsIGRlbHRhWSwgd2hlZWxUaWNrc1gsIHdoZWVsVGlja3NZLCBn
cmFudWxhcml0eSwgbW9kaWZpZXJzLCB0aW1lc3RhbXApOworfQorCisvLyBUYWtlbiBmcm9tIEtl
eUV2ZW50R3RrLmNwcAorc3RhdGljIFN0cmluZyBrZXlJZGVudGlmaWVyRm9yR2RrS2V5Q29kZShn
dWludCBrZXlDb2RlKQoreworICAgIHN3aXRjaCAoa2V5Q29kZSkgeworICAgIGNhc2UgR0RLX01l
bnU6CisgICAgY2FzZSBHREtfQWx0X0w6CisgICAgY2FzZSBHREtfQWx0X1I6CisgICAgICAgIHJl
dHVybiAiQWx0IjsKKyAgICBjYXNlIEdES19DbGVhcjoKKyAgICAgICAgcmV0dXJuICJDbGVhciI7
CisgICAgY2FzZSBHREtfRG93bjoKKyAgICAgICAgcmV0dXJuICJEb3duIjsKKyAgICAgICAgLy8g
IkVuZCIKKyAgICBjYXNlIEdES19FbmQ6CisgICAgICAgIHJldHVybiAiRW5kIjsKKyAgICAgICAg
Ly8gIkVudGVyIgorICAgIGNhc2UgR0RLX0lTT19FbnRlcjoKKyAgICBjYXNlIEdES19LUF9FbnRl
cjoKKyAgICBjYXNlIEdES19SZXR1cm46CisgICAgICAgIHJldHVybiAiRW50ZXIiOworICAgIGNh
c2UgR0RLX0V4ZWN1dGU6CisgICAgICAgIHJldHVybiAiRXhlY3V0ZSI7CisgICAgY2FzZSBHREtf
RjE6CisgICAgICAgIHJldHVybiAiRjEiOworICAgIGNhc2UgR0RLX0YyOgorICAgICAgICByZXR1
cm4gIkYyIjsKKyAgICBjYXNlIEdES19GMzoKKyAgICAgICAgcmV0dXJuICJGMyI7CisgICAgY2Fz
ZSBHREtfRjQ6CisgICAgICAgIHJldHVybiAiRjQiOworICAgIGNhc2UgR0RLX0Y1OgorICAgICAg
ICByZXR1cm4gIkY1IjsKKyAgICBjYXNlIEdES19GNjoKKyAgICAgICAgcmV0dXJuICJGNiI7Cisg
ICAgY2FzZSBHREtfRjc6CisgICAgICAgIHJldHVybiAiRjciOworICAgIGNhc2UgR0RLX0Y4Ogor
ICAgICAgICByZXR1cm4gIkY4IjsKKyAgICBjYXNlIEdES19GOToKKyAgICAgICAgcmV0dXJuICJG
OSI7CisgICAgY2FzZSBHREtfRjEwOgorICAgICAgICByZXR1cm4gIkYxMCI7CisgICAgY2FzZSBH
REtfRjExOgorICAgICAgICByZXR1cm4gIkYxMSI7CisgICAgY2FzZSBHREtfRjEyOgorICAgICAg
ICByZXR1cm4gIkYxMiI7CisgICAgY2FzZSBHREtfRjEzOgorICAgICAgICByZXR1cm4gIkYxMyI7
CisgICAgY2FzZSBHREtfRjE0OgorICAgICAgICByZXR1cm4gIkYxNCI7CisgICAgY2FzZSBHREtf
RjE1OgorICAgICAgICByZXR1cm4gIkYxNSI7CisgICAgY2FzZSBHREtfRjE2OgorICAgICAgICBy
ZXR1cm4gIkYxNiI7CisgICAgY2FzZSBHREtfRjE3OgorICAgICAgICByZXR1cm4gIkYxNyI7Cisg
ICAgY2FzZSBHREtfRjE4OgorICAgICAgICByZXR1cm4gIkYxOCI7CisgICAgY2FzZSBHREtfRjE5
OgorICAgICAgICByZXR1cm4gIkYxOSI7CisgICAgY2FzZSBHREtfRjIwOgorICAgICAgICByZXR1
cm4gIkYyMCI7CisgICAgY2FzZSBHREtfRjIxOgorICAgICAgICByZXR1cm4gIkYyMSI7CisgICAg
Y2FzZSBHREtfRjIyOgorICAgICAgICByZXR1cm4gIkYyMiI7CisgICAgY2FzZSBHREtfRjIzOgor
ICAgICAgICByZXR1cm4gIkYyMyI7CisgICAgY2FzZSBHREtfRjI0OgorICAgICAgICByZXR1cm4g
IkYyNCI7CisgICAgY2FzZSBHREtfSGVscDoKKyAgICAgICAgcmV0dXJuICJIZWxwIjsKKyAgICBj
YXNlIEdES19Ib21lOgorICAgICAgICByZXR1cm4gIkhvbWUiOworICAgIGNhc2UgR0RLX0luc2Vy
dDoKKyAgICAgICAgcmV0dXJuICJJbnNlcnQiOworICAgIGNhc2UgR0RLX0xlZnQ6CisgICAgICAg
IHJldHVybiAiTGVmdCI7CisgICAgY2FzZSBHREtfUGFnZV9Eb3duOgorICAgICAgICByZXR1cm4g
IlBhZ2VEb3duIjsKKyAgICBjYXNlIEdES19QYWdlX1VwOgorICAgICAgICByZXR1cm4gIlBhZ2VV
cCI7CisgICAgY2FzZSBHREtfUGF1c2U6CisgICAgICAgIHJldHVybiAiUGF1c2UiOworICAgIGNh
c2UgR0RLXzMyNzBfUHJpbnRTY3JlZW46CisgICAgICAgIHJldHVybiAiUHJpbnRTY3JlZW4iOwor
ICAgIGNhc2UgR0RLX1JpZ2h0OgorICAgICAgICByZXR1cm4gIlJpZ2h0IjsKKyAgICBjYXNlIEdE
S19TZWxlY3Q6CisgICAgICAgIHJldHVybiAiU2VsZWN0IjsKKyAgICBjYXNlIEdES19VcDoKKyAg
ICAgICAgcmV0dXJuICJVcCI7CisgICAgICAgIC8vIFN0YW5kYXJkIHNheXMgdGhhdCBERUwgYmVj
b21lcyBVKzAwN0YuCisgICAgY2FzZSBHREtfRGVsZXRlOgorICAgICAgICByZXR1cm4gIlUrMDA3
RiI7CisgICAgY2FzZSBHREtfQmFja1NwYWNlOgorICAgICAgICByZXR1cm4gIlUrMDAwOCI7Cisg
ICAgY2FzZSBHREtfSVNPX0xlZnRfVGFiOgorICAgIGNhc2UgR0RLXzMyNzBfQmFja1RhYjoKKyAg
ICBjYXNlIEdES19UYWI6CisgICAgICAgIHJldHVybiAiVSswMDA5IjsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICByZXR1cm4gU3RyaW5nOjpmb3JtYXQoIlUrJTA0WCIsIGdka19rZXl2YWxfdG9fdW5p
Y29kZShnZGtfa2V5dmFsX3RvX3VwcGVyKGtleUNvZGUpKSk7CisgICAgfQorfQorCisvLyBUYWtl
biBmcm9tIEtleUV2ZW50R3RrLmNwcAorc3RhdGljIGludCB3aW5kb3dzS2V5Q29kZUZvcktleUV2
ZW50KHVuc2lnbmVkIGludCBrZXljb2RlKQoreworICAgIHN3aXRjaCAoa2V5Y29kZSkgeworICAg
IGNhc2UgR0RLX0tQXzA6CisgICAgICAgIHJldHVybiBWS19OVU1QQUQwOyAvLyAoNjApIE51bWVy
aWMga2V5cGFkIDAga2V5CisgICAgY2FzZSBHREtfS1BfMToKKyAgICAgICAgcmV0dXJuIFZLX05V
TVBBRDE7IC8vICg2MSkgTnVtZXJpYyBrZXlwYWQgMSBrZXkKKyAgICBjYXNlIEdES19LUF8yOgor
ICAgICAgICByZXR1cm4gVktfTlVNUEFEMjsgLy8gKDYyKSBOdW1lcmljIGtleXBhZCAyIGtleQor
ICAgIGNhc2UgR0RLX0tQXzM6CisgICAgICAgIHJldHVybiBWS19OVU1QQUQzOyAvLyAoNjMpIE51
bWVyaWMga2V5cGFkIDMga2V5CisgICAgY2FzZSBHREtfS1BfNDoKKyAgICAgICAgcmV0dXJuIFZL
X05VTVBBRDQ7IC8vICg2NCkgTnVtZXJpYyBrZXlwYWQgNCBrZXkKKyAgICBjYXNlIEdES19LUF81
OgorICAgICAgICByZXR1cm4gVktfTlVNUEFENTsgLy8gKDY1KSBOdW1lcmljIGtleXBhZCA1IGtl
eQorICAgIGNhc2UgR0RLX0tQXzY6CisgICAgICAgIHJldHVybiBWS19OVU1QQUQ2OyAvLyAoNjYp
IE51bWVyaWMga2V5cGFkIDYga2V5CisgICAgY2FzZSBHREtfS1BfNzoKKyAgICAgICAgcmV0dXJu
IFZLX05VTVBBRDc7IC8vICg2NykgTnVtZXJpYyBrZXlwYWQgNyBrZXkKKyAgICBjYXNlIEdES19L
UF84OgorICAgICAgICByZXR1cm4gVktfTlVNUEFEODsgLy8gKDY4KSBOdW1lcmljIGtleXBhZCA4
IGtleQorICAgIGNhc2UgR0RLX0tQXzk6CisgICAgICAgIHJldHVybiBWS19OVU1QQUQ5OyAvLyAo
NjkpIE51bWVyaWMga2V5cGFkIDkga2V5CisgICAgY2FzZSBHREtfS1BfTXVsdGlwbHk6CisgICAg
ICAgIHJldHVybiBWS19NVUxUSVBMWTsgLy8gKDZBKSBNdWx0aXBseSBrZXkKKyAgICBjYXNlIEdE
S19LUF9BZGQ6CisgICAgICAgIHJldHVybiBWS19BREQ7IC8vICg2QikgQWRkIGtleQorICAgIGNh
c2UgR0RLX0tQX1N1YnRyYWN0OgorICAgICAgICByZXR1cm4gVktfU1VCVFJBQ1Q7IC8vICg2RCkg
U3VidHJhY3Qga2V5CisgICAgY2FzZSBHREtfS1BfRGVjaW1hbDoKKyAgICAgICAgcmV0dXJuIFZL
X0RFQ0lNQUw7IC8vICg2RSkgRGVjaW1hbCBrZXkKKyAgICBjYXNlIEdES19LUF9EaXZpZGU6Cisg
ICAgICAgIHJldHVybiBWS19ESVZJREU7IC8vICg2RikgRGl2aWRlIGtleQorCisgICAgY2FzZSBH
REtfS1BfUGFnZV9VcDoKKyAgICAgICAgcmV0dXJuIFZLX1BSSU9SOyAvLyAoMjEpIFBBR0UgVVAg
a2V5CisgICAgY2FzZSBHREtfS1BfUGFnZV9Eb3duOgorICAgICAgICByZXR1cm4gVktfTkVYVDsg
Ly8gKDIyKSBQQUdFIERPV04ga2V5CisgICAgY2FzZSBHREtfS1BfRW5kOgorICAgICAgICByZXR1
cm4gVktfRU5EOyAvLyAoMjMpIEVORCBrZXkKKyAgICBjYXNlIEdES19LUF9Ib21lOgorICAgICAg
ICByZXR1cm4gVktfSE9NRTsgLy8gKDI0KSBIT01FIGtleQorICAgIGNhc2UgR0RLX0tQX0xlZnQ6
CisgICAgICAgIHJldHVybiBWS19MRUZUOyAvLyAoMjUpIExFRlQgQVJST1cga2V5CisgICAgY2Fz
ZSBHREtfS1BfVXA6CisgICAgICAgIHJldHVybiBWS19VUDsgLy8gKDI2KSBVUCBBUlJPVyBrZXkK
KyAgICBjYXNlIEdES19LUF9SaWdodDoKKyAgICAgICAgcmV0dXJuIFZLX1JJR0hUOyAvLyAoMjcp
IFJJR0hUIEFSUk9XIGtleQorICAgIGNhc2UgR0RLX0tQX0Rvd246CisgICAgICAgIHJldHVybiBW
S19ET1dOOyAvLyAoMjgpIERPV04gQVJST1cga2V5CisKKyAgICBjYXNlIEdES19CYWNrU3BhY2U6
CisgICAgICAgIHJldHVybiBWS19CQUNLOyAvLyAoMDgpIEJBQ0tTUEFDRSBrZXkKKyAgICBjYXNl
IEdES19JU09fTGVmdF9UYWI6CisgICAgY2FzZSBHREtfMzI3MF9CYWNrVGFiOgorICAgIGNhc2Ug
R0RLX1RhYjoKKyAgICAgICAgcmV0dXJuIFZLX1RBQjsgLy8gKDA5KSBUQUIga2V5CisgICAgY2Fz
ZSBHREtfQ2xlYXI6CisgICAgICAgIHJldHVybiBWS19DTEVBUjsgLy8gKDBDKSBDTEVBUiBrZXkK
KyAgICBjYXNlIEdES19JU09fRW50ZXI6CisgICAgY2FzZSBHREtfS1BfRW50ZXI6CisgICAgY2Fz
ZSBHREtfUmV0dXJuOgorICAgICAgICByZXR1cm4gVktfUkVUVVJOOyAvLyAoMEQpIFJldHVybiBr
ZXkKKyAgICBjYXNlIEdES19TaGlmdF9MOgorICAgIGNhc2UgR0RLX1NoaWZ0X1I6CisgICAgICAg
IHJldHVybiBWS19TSElGVDsgLy8gKDEwKSBTSElGVCBrZXkKKyAgICBjYXNlIEdES19Db250cm9s
X0w6CisgICAgY2FzZSBHREtfQ29udHJvbF9SOgorICAgICAgICByZXR1cm4gVktfQ09OVFJPTDsg
Ly8gKDExKSBDVFJMIGtleQorICAgIGNhc2UgR0RLX01lbnU6CisgICAgICAgIHJldHVybiBWS19B
UFBTOyAvLyAoNUQpIEFwcGxpY2F0aW9ucyBrZXkgKE5hdHVyYWwga2V5Ym9hcmQpCisgICAgY2Fz
ZSBHREtfQWx0X0w6CisgICAgY2FzZSBHREtfQWx0X1I6CisgICAgICAgIHJldHVybiBWS19NRU5V
OyAvLyAoMTIpIEFMVCBrZXkKKworICAgIGNhc2UgR0RLX1BhdXNlOgorICAgICAgICByZXR1cm4g
VktfUEFVU0U7IC8vICgxMykgUEFVU0Uga2V5CisgICAgY2FzZSBHREtfQ2Fwc19Mb2NrOgorICAg
ICAgICByZXR1cm4gVktfQ0FQSVRBTDsgLy8gKDE0KSBDQVBTIExPQ0sga2V5CisgICAgY2FzZSBH
REtfS2FuYV9Mb2NrOgorICAgIGNhc2UgR0RLX0thbmFfU2hpZnQ6CisgICAgICAgIHJldHVybiBW
S19LQU5BOyAvLyAoMTUpIElucHV0IE1ldGhvZCBFZGl0b3IgKElNRSkgS2FuYSBtb2RlCisgICAg
Y2FzZSBHREtfSGFuZ3VsOgorICAgICAgICByZXR1cm4gVktfSEFOR1VMOyAvLyBWS19IQU5HVUwg
KDE1KSBJTUUgSGFuZ3VsIG1vZGUKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVktfSlVO
SkEgKDE3KSBJTUUgSnVuamEgbW9kZQorICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBWS19G
SU5BTCAoMTgpIElNRSBmaW5hbCBtb2RlCisgICAgY2FzZSBHREtfSGFuZ3VsX0hhbmphOgorICAg
ICAgICByZXR1cm4gVktfSEFOSkE7IC8vICgxOSkgSU1FIEhhbmphIG1vZGUKKyAgICBjYXNlIEdE
S19LYW5qaToKKyAgICAgICAgcmV0dXJuIFZLX0tBTkpJOyAvLyAoMTkpIElNRSBLYW5qaSBtb2Rl
CisgICAgY2FzZSBHREtfRXNjYXBlOgorICAgICAgICByZXR1cm4gVktfRVNDQVBFOyAvLyAoMUIp
IEVTQyBrZXkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gVktfQ09OVkVSVCAoMUMpIElN
RSBjb252ZXJ0CisgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZLX05PTkNPTlZFUlQgKDFE
KSBJTUUgbm9uY29udmVydAorICAgICAgICAgICAgICAgICAgICAgICAgICAvLyBWS19BQ0NFUFQg
KDFFKSBJTUUgYWNjZXB0CisgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIFZLX01PREVDSEFO
R0UgKDFGKSBJTUUgbW9kZSBjaGFuZ2UgcmVxdWVzdAorICAgIGNhc2UgR0RLX3NwYWNlOgorICAg
ICAgICByZXR1cm4gVktfU1BBQ0U7IC8vICgyMCkgU1BBQ0VCQVIKKyAgICBjYXNlIEdES19QYWdl
X1VwOgorICAgICAgICByZXR1cm4gVktfUFJJT1I7IC8vICgyMSkgUEFHRSBVUCBrZXkKKyAgICBj
YXNlIEdES19QYWdlX0Rvd246CisgICAgICAgIHJldHVybiBWS19ORVhUOyAvLyAoMjIpIFBBR0Ug
RE9XTiBrZXkKKyAgICBjYXNlIEdES19FbmQ6CisgICAgICAgIHJldHVybiBWS19FTkQ7IC8vICgy
MykgRU5EIGtleQorICAgIGNhc2UgR0RLX0hvbWU6CisgICAgICAgIHJldHVybiBWS19IT01FOyAv
LyAoMjQpIEhPTUUga2V5CisgICAgY2FzZSBHREtfTGVmdDoKKyAgICAgICAgcmV0dXJuIFZLX0xF
RlQ7IC8vICgyNSkgTEVGVCBBUlJPVyBrZXkKKyAgICBjYXNlIEdES19VcDoKKyAgICAgICAgcmV0
dXJuIFZLX1VQOyAvLyAoMjYpIFVQIEFSUk9XIGtleQorICAgIGNhc2UgR0RLX1JpZ2h0OgorICAg
ICAgICByZXR1cm4gVktfUklHSFQ7IC8vICgyNykgUklHSFQgQVJST1cga2V5CisgICAgY2FzZSBH
REtfRG93bjoKKyAgICAgICAgcmV0dXJuIFZLX0RPV047IC8vICgyOCkgRE9XTiBBUlJPVyBrZXkK
KyAgICBjYXNlIEdES19TZWxlY3Q6CisgICAgICAgIHJldHVybiBWS19TRUxFQ1Q7IC8vICgyOSkg
U0VMRUNUIGtleQorICAgIGNhc2UgR0RLX1ByaW50OgorICAgICAgICByZXR1cm4gVktfUFJJTlQ7
IC8vICgyQSkgUFJJTlQga2V5CisgICAgY2FzZSBHREtfRXhlY3V0ZToKKyAgICAgICAgcmV0dXJu
IFZLX0VYRUNVVEU7IC8vICgyQikgRVhFQ1VURSBrZXkKKyAgICAgICAgICAgICAgICAgICAgICAg
ICAgIC8vIGR1bm5vIG9uIHRoaXMKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vIGNhc2Ug
R0RLX1ByaW50U2NyZWVuOgorICAgICAgICAgICAgICAgICAgICAgICAgICAgLy8gcmV0dXJuIFZL
X1NOQVBTSE9UOyAvLyAoMkMpIFBSSU5UIFNDUkVFTiBrZXkKKyAgICBjYXNlIEdES19JbnNlcnQ6
CisgICAgICAgIHJldHVybiBWS19JTlNFUlQ7IC8vICgyRCkgSU5TIGtleQorICAgIGNhc2UgR0RL
X0RlbGV0ZToKKyAgICAgICAgcmV0dXJuIFZLX0RFTEVURTsgLy8gKDJFKSBERUwga2V5CisgICAg
Y2FzZSBHREtfSGVscDoKKyAgICAgICAgcmV0dXJuIFZLX0hFTFA7IC8vICgyRikgSEVMUCBrZXkK
KyAgICBjYXNlIEdES18wOgorICAgIGNhc2UgR0RLX3BhcmVucmlnaHQ6CisgICAgICAgIHJldHVy
biBWS18wOyAvLyAoMzApIDApIGtleQorICAgIGNhc2UgR0RLXzE6CisgICAgY2FzZSBHREtfZXhj
bGFtOgorICAgICAgICByZXR1cm4gVktfMTsgLy8gKDMxKSAxICEga2V5CisgICAgY2FzZSBHREtf
MjoKKyAgICBjYXNlIEdES19hdDoKKyAgICAgICAgcmV0dXJuIFZLXzI7IC8vICgzMikgMiAmIGtl
eQorICAgIGNhc2UgR0RLXzM6CisgICAgY2FzZSBHREtfbnVtYmVyc2lnbjoKKyAgICAgICAgcmV0
dXJuIFZLXzM7IC8vIGNhc2UgJzMnOiBjYXNlICcjJzsKKyAgICBjYXNlIEdES180OgorICAgIGNh
c2UgR0RLX2RvbGxhcjogLy8gKDM0KSA0IGtleSAnJCc7CisgICAgICAgIHJldHVybiBWS180Owor
ICAgIGNhc2UgR0RLXzU6CisgICAgY2FzZSBHREtfcGVyY2VudDoKKyAgICAgICAgcmV0dXJuIFZL
XzU7IC8vICgzNSkgNSBrZXkgICclJworICAgIGNhc2UgR0RLXzY6CisgICAgY2FzZSBHREtfYXNj
aWljaXJjdW06CisgICAgICAgIHJldHVybiBWS182OyAvLyAgKDM2KSA2IGtleSAgJ14nCisgICAg
Y2FzZSBHREtfNzoKKyAgICBjYXNlIEdES19hbXBlcnNhbmQ6CisgICAgICAgIHJldHVybiBWS183
OyAvLyAgKDM3KSA3IGtleSAgY2FzZSAnJicKKyAgICBjYXNlIEdES184OgorICAgIGNhc2UgR0RL
X2FzdGVyaXNrOgorICAgICAgICByZXR1cm4gVktfODsgLy8gICgzOCkgOCBrZXkgICcqJworICAg
IGNhc2UgR0RLXzk6CisgICAgY2FzZSBHREtfcGFyZW5sZWZ0OgorICAgICAgICByZXR1cm4gVktf
OTsgLy8gICgzOSkgOSBrZXkgJygnCisgICAgY2FzZSBHREtfYToKKyAgICBjYXNlIEdES19BOgor
ICAgICAgICByZXR1cm4gVktfQTsgLy8gICg0MSkgQSBrZXkgY2FzZSAnYSc6IGNhc2UgJ0EnOiBy
ZXR1cm4gMHg0MTsKKyAgICBjYXNlIEdES19iOgorICAgIGNhc2UgR0RLX0I6CisgICAgICAgIHJl
dHVybiBWS19COyAvLyAgKDQyKSBCIGtleSBjYXNlICdiJzogY2FzZSAnQic6IHJldHVybiAweDQy
OworICAgIGNhc2UgR0RLX2M6CisgICAgY2FzZSBHREtfQzoKKyAgICAgICAgcmV0dXJuIFZLX0M7
IC8vICAoNDMpIEMga2V5IGNhc2UgJ2MnOiBjYXNlICdDJzogcmV0dXJuIDB4NDM7CisgICAgY2Fz
ZSBHREtfZDoKKyAgICBjYXNlIEdES19EOgorICAgICAgICByZXR1cm4gVktfRDsgLy8gICg0NCkg
RCBrZXkgY2FzZSAnZCc6IGNhc2UgJ0QnOiByZXR1cm4gMHg0NDsKKyAgICBjYXNlIEdES19lOgor
ICAgIGNhc2UgR0RLX0U6CisgICAgICAgIHJldHVybiBWS19FOyAvLyAgKDQ1KSBFIGtleSBjYXNl
ICdlJzogY2FzZSAnRSc6IHJldHVybiAweDQ1OworICAgIGNhc2UgR0RLX2Y6CisgICAgY2FzZSBH
REtfRjoKKyAgICAgICAgcmV0dXJuIFZLX0Y7IC8vICAoNDYpIEYga2V5IGNhc2UgJ2YnOiBjYXNl
ICdGJzogcmV0dXJuIDB4NDY7CisgICAgY2FzZSBHREtfZzoKKyAgICBjYXNlIEdES19HOgorICAg
ICAgICByZXR1cm4gVktfRzsgLy8gICg0NykgRyBrZXkgY2FzZSAnZyc6IGNhc2UgJ0cnOiByZXR1
cm4gMHg0NzsKKyAgICBjYXNlIEdES19oOgorICAgIGNhc2UgR0RLX0g6CisgICAgICAgIHJldHVy
biBWS19IOyAvLyAgKDQ4KSBIIGtleSBjYXNlICdoJzogY2FzZSAnSCc6IHJldHVybiAweDQ4Owor
ICAgIGNhc2UgR0RLX2k6CisgICAgY2FzZSBHREtfSToKKyAgICAgICAgcmV0dXJuIFZLX0k7IC8v
ICAoNDkpIEkga2V5IGNhc2UgJ2knOiBjYXNlICdJJzogcmV0dXJuIDB4NDk7CisgICAgY2FzZSBH
REtfajoKKyAgICBjYXNlIEdES19KOgorICAgICAgICByZXR1cm4gVktfSjsgLy8gICg0QSkgSiBr
ZXkgY2FzZSAnaic6IGNhc2UgJ0onOiByZXR1cm4gMHg0QTsKKyAgICBjYXNlIEdES19rOgorICAg
IGNhc2UgR0RLX0s6CisgICAgICAgIHJldHVybiBWS19LOyAvLyAgKDRCKSBLIGtleSBjYXNlICdr
JzogY2FzZSAnSyc6IHJldHVybiAweDRCOworICAgIGNhc2UgR0RLX2w6CisgICAgY2FzZSBHREtf
TDoKKyAgICAgICAgcmV0dXJuIFZLX0w7IC8vICAoNEMpIEwga2V5IGNhc2UgJ2wnOiBjYXNlICdM
JzogcmV0dXJuIDB4NEM7CisgICAgY2FzZSBHREtfbToKKyAgICBjYXNlIEdES19NOgorICAgICAg
ICByZXR1cm4gVktfTTsgLy8gICg0RCkgTSBrZXkgY2FzZSAnbSc6IGNhc2UgJ00nOiByZXR1cm4g
MHg0RDsKKyAgICBjYXNlIEdES19uOgorICAgIGNhc2UgR0RLX046CisgICAgICAgIHJldHVybiBW
S19OOyAvLyAgKDRFKSBOIGtleSBjYXNlICduJzogY2FzZSAnTic6IHJldHVybiAweDRFOworICAg
IGNhc2UgR0RLX286CisgICAgY2FzZSBHREtfTzoKKyAgICAgICAgcmV0dXJuIFZLX087IC8vICAo
NEYpIE8ga2V5IGNhc2UgJ28nOiBjYXNlICdPJzogcmV0dXJuIDB4NEY7CisgICAgY2FzZSBHREtf
cDoKKyAgICBjYXNlIEdES19QOgorICAgICAgICByZXR1cm4gVktfUDsgLy8gICg1MCkgUCBrZXkg
Y2FzZSAncCc6IGNhc2UgJ1AnOiByZXR1cm4gMHg1MDsKKyAgICBjYXNlIEdES19xOgorICAgIGNh
c2UgR0RLX1E6CisgICAgICAgIHJldHVybiBWS19ROyAvLyAgKDUxKSBRIGtleSBjYXNlICdxJzog
Y2FzZSAnUSc6IHJldHVybiAweDUxOworICAgIGNhc2UgR0RLX3I6CisgICAgY2FzZSBHREtfUjoK
KyAgICAgICAgcmV0dXJuIFZLX1I7IC8vICAoNTIpIFIga2V5IGNhc2UgJ3InOiBjYXNlICdSJzog
cmV0dXJuIDB4NTI7CisgICAgY2FzZSBHREtfczoKKyAgICBjYXNlIEdES19TOgorICAgICAgICBy
ZXR1cm4gVktfUzsgLy8gICg1MykgUyBrZXkgY2FzZSAncyc6IGNhc2UgJ1MnOiByZXR1cm4gMHg1
MzsKKyAgICBjYXNlIEdES190OgorICAgIGNhc2UgR0RLX1Q6CisgICAgICAgIHJldHVybiBWS19U
OyAvLyAgKDU0KSBUIGtleSBjYXNlICd0JzogY2FzZSAnVCc6IHJldHVybiAweDU0OworICAgIGNh
c2UgR0RLX3U6CisgICAgY2FzZSBHREtfVToKKyAgICAgICAgcmV0dXJuIFZLX1U7IC8vICAoNTUp
IFUga2V5IGNhc2UgJ3UnOiBjYXNlICdVJzogcmV0dXJuIDB4NTU7CisgICAgY2FzZSBHREtfdjoK
KyAgICBjYXNlIEdES19WOgorICAgICAgICByZXR1cm4gVktfVjsgLy8gICg1NikgViBrZXkgY2Fz
ZSAndic6IGNhc2UgJ1YnOiByZXR1cm4gMHg1NjsKKyAgICBjYXNlIEdES193OgorICAgIGNhc2Ug
R0RLX1c6CisgICAgICAgIHJldHVybiBWS19XOyAvLyAgKDU3KSBXIGtleSBjYXNlICd3JzogY2Fz
ZSAnVyc6IHJldHVybiAweDU3OworICAgIGNhc2UgR0RLX3g6CisgICAgY2FzZSBHREtfWDoKKyAg
ICAgICAgcmV0dXJuIFZLX1g7IC8vICAoNTgpIFgga2V5IGNhc2UgJ3gnOiBjYXNlICdYJzogcmV0
dXJuIDB4NTg7CisgICAgY2FzZSBHREtfeToKKyAgICBjYXNlIEdES19ZOgorICAgICAgICByZXR1
cm4gVktfWTsgLy8gICg1OSkgWSBrZXkgY2FzZSAneSc6IGNhc2UgJ1knOiByZXR1cm4gMHg1OTsK
KyAgICBjYXNlIEdES196OgorICAgIGNhc2UgR0RLX1o6CisgICAgICAgIHJldHVybiBWS19aOyAv
LyAgKDVBKSBaIGtleSBjYXNlICd6JzogY2FzZSAnWic6IHJldHVybiAweDVBOworICAgIGNhc2Ug
R0RLX01ldGFfTDoKKyAgICAgICAgcmV0dXJuIFZLX0xXSU47IC8vICg1QikgTGVmdCBXaW5kb3dz
IGtleSAoTWljcm9zb2Z0IE5hdHVyYWwga2V5Ym9hcmQpCisgICAgY2FzZSBHREtfTWV0YV9SOgor
ICAgICAgICByZXR1cm4gVktfUldJTjsgLy8gKDVDKSBSaWdodCBXaW5kb3dzIGtleSAoTmF0dXJh
bCBrZXlib2FyZCkKKyAgICAgICAgLy8gVktfU0xFRVAgKDVGKSBDb21wdXRlciBTbGVlcCBrZXkK
KyAgICAgICAgLy8gVktfU0VQQVJBVE9SICg2QykgU2VwYXJhdG9yIGtleQorICAgICAgICAvLyBW
S19TVUJUUkFDVCAoNkQpIFN1YnRyYWN0IGtleQorICAgICAgICAvLyBWS19ERUNJTUFMICg2RSkg
RGVjaW1hbCBrZXkKKyAgICAgICAgLy8gVktfRElWSURFICg2RikgRGl2aWRlIGtleQorICAgICAg
ICAvLyBoYW5kbGVkIGJ5IGtleSBjb2RlIGFib3ZlCisKKyAgICBjYXNlIEdES19OdW1fTG9jazoK
KyAgICAgICAgcmV0dXJuIFZLX05VTUxPQ0s7IC8vICg5MCkgTlVNIExPQ0sga2V5CisKKyAgICBj
YXNlIEdES19TY3JvbGxfTG9jazoKKyAgICAgICAgcmV0dXJuIFZLX1NDUk9MTDsgLy8gKDkxKSBT
Q1JPTEwgTE9DSyBrZXkKKworICAgICAgICAvLyBWS19MU0hJRlQgKEEwKSBMZWZ0IFNISUZUIGtl
eQorICAgICAgICAvLyBWS19SU0hJRlQgKEExKSBSaWdodCBTSElGVCBrZXkKKyAgICAgICAgLy8g
VktfTENPTlRST0wgKEEyKSBMZWZ0IENPTlRST0wga2V5CisgICAgICAgIC8vIFZLX1JDT05UUk9M
IChBMykgUmlnaHQgQ09OVFJPTCBrZXkKKyAgICAgICAgLy8gVktfTE1FTlUgKEE0KSBMZWZ0IE1F
TlUga2V5CisgICAgICAgIC8vIFZLX1JNRU5VIChBNSkgUmlnaHQgTUVOVSBrZXkKKyAgICAgICAg
Ly8gVktfQlJPV1NFUl9CQUNLIChBNikgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIEJhY2sga2V5
CisgICAgICAgIC8vIFZLX0JST1dTRVJfRk9SV0FSRCAoQTcpIFdpbmRvd3MgMjAwMC9YUDogQnJv
d3NlciBGb3J3YXJkIGtleQorICAgICAgICAvLyBWS19CUk9XU0VSX1JFRlJFU0ggKEE4KSBXaW5k
b3dzIDIwMDAvWFA6IEJyb3dzZXIgUmVmcmVzaCBrZXkKKyAgICAgICAgLy8gVktfQlJPV1NFUl9T
VE9QIChBOSkgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFN0b3Aga2V5CisgICAgICAgIC8vIFZL
X0JST1dTRVJfU0VBUkNIIChBQSkgV2luZG93cyAyMDAwL1hQOiBCcm93c2VyIFNlYXJjaCBrZXkK
KyAgICAgICAgLy8gVktfQlJPV1NFUl9GQVZPUklURVMgKEFCKSBXaW5kb3dzIDIwMDAvWFA6IEJy
b3dzZXIgRmF2b3JpdGVzIGtleQorICAgICAgICAvLyBWS19CUk9XU0VSX0hPTUUgKEFDKSBXaW5k
b3dzIDIwMDAvWFA6IEJyb3dzZXIgU3RhcnQgYW5kIEhvbWUga2V5CisgICAgICAgIC8vIFZLX1ZP
TFVNRV9NVVRFIChBRCkgV2luZG93cyAyMDAwL1hQOiBWb2x1bWUgTXV0ZSBrZXkKKyAgICAgICAg
Ly8gVktfVk9MVU1FX0RPV04gKEFFKSBXaW5kb3dzIDIwMDAvWFA6IFZvbHVtZSBEb3duIGtleQor
ICAgICAgICAvLyBWS19WT0xVTUVfVVAgKEFGKSBXaW5kb3dzIDIwMDAvWFA6IFZvbHVtZSBVcCBr
ZXkKKyAgICAgICAgLy8gVktfTUVESUFfTkVYVF9UUkFDSyAoQjApIFdpbmRvd3MgMjAwMC9YUDog
TmV4dCBUcmFjayBrZXkKKyAgICAgICAgLy8gVktfTUVESUFfUFJFVl9UUkFDSyAoQjEpIFdpbmRv
d3MgMjAwMC9YUDogUHJldmlvdXMgVHJhY2sga2V5CisgICAgICAgIC8vIFZLX01FRElBX1NUT1Ag
KEIyKSBXaW5kb3dzIDIwMDAvWFA6IFN0b3AgTWVkaWEga2V5CisgICAgICAgIC8vIFZLX01FRElB
X1BMQVlfUEFVU0UgKEIzKSBXaW5kb3dzIDIwMDAvWFA6IFBsYXkvUGF1c2UgTWVkaWEga2V5Cisg
ICAgICAgIC8vIFZLX0xBVU5DSF9NQUlMIChCNCkgV2luZG93cyAyMDAwL1hQOiBTdGFydCBNYWls
IGtleQorICAgICAgICAvLyBWS19MQVVOQ0hfTUVESUFfU0VMRUNUIChCNSkgV2luZG93cyAyMDAw
L1hQOiBTZWxlY3QgTWVkaWEga2V5CisgICAgICAgIC8vIFZLX0xBVU5DSF9BUFAxIChCNikgV2lu
ZG93cyAyMDAwL1hQOiBTdGFydCBBcHBsaWNhdGlvbiAxIGtleQorICAgICAgICAvLyBWS19MQVVO
Q0hfQVBQMiAoQjcpIFdpbmRvd3MgMjAwMC9YUDogU3RhcnQgQXBwbGljYXRpb24gMiBrZXkKKwor
ICAgICAgICAvLyBWS19PRU1fMSAoQkEpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVy
czsgaXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBz
dGFuZGFyZCBrZXlib2FyZCwgdGhlICc7Oicga2V5CisgICAgY2FzZSBHREtfc2VtaWNvbG9uOgor
ICAgIGNhc2UgR0RLX2NvbG9uOgorICAgICAgICByZXR1cm4gVktfT0VNXzE7IC8vIGNhc2UgJzsn
OiBjYXNlICc6JzogcmV0dXJuIDB4QkE7CisgICAgICAgIC8vIFZLX09FTV9QTFVTIChCQikgV2lu
ZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9uLCB0aGUgJysnIGtleQorICAgIGNh
c2UgR0RLX3BsdXM6CisgICAgY2FzZSBHREtfZXF1YWw6CisgICAgICAgIHJldHVybiBWS19PRU1f
UExVUzsgLy8gY2FzZSAnPSc6IGNhc2UgJysnOiByZXR1cm4gMHhCQjsKKyAgICAgICAgLy8gVktf
T0VNX0NPTU1BIChCQykgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9uLCB0
aGUgJywnIGtleQorICAgIGNhc2UgR0RLX2NvbW1hOgorICAgIGNhc2UgR0RLX2xlc3M6CisgICAg
ICAgIHJldHVybiBWS19PRU1fQ09NTUE7IC8vIGNhc2UgJywnOiBjYXNlICc8JzogcmV0dXJuIDB4
QkM7CisgICAgICAgIC8vIFZLX09FTV9NSU5VUyAoQkQpIFdpbmRvd3MgMjAwMC9YUDogRm9yIGFu
eSBjb3VudHJ5L3JlZ2lvbiwgdGhlICctJyBrZXkKKyAgICBjYXNlIEdES19taW51czoKKyAgICBj
YXNlIEdES191bmRlcnNjb3JlOgorICAgICAgICByZXR1cm4gVktfT0VNX01JTlVTOyAvLyBjYXNl
ICctJzogY2FzZSAnXyc6IHJldHVybiAweEJEOworICAgICAgICAvLyBWS19PRU1fUEVSSU9EIChC
RSkgV2luZG93cyAyMDAwL1hQOiBGb3IgYW55IGNvdW50cnkvcmVnaW9uLCB0aGUgJy4nIGtleQor
ICAgIGNhc2UgR0RLX3BlcmlvZDoKKyAgICBjYXNlIEdES19ncmVhdGVyOgorICAgICAgICByZXR1
cm4gVktfT0VNX1BFUklPRDsgLy8gY2FzZSAnLic6IGNhc2UgJz4nOiByZXR1cm4gMHhCRTsKKyAg
ICAgICAgLy8gVktfT0VNXzIgKEJGKSBVc2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJhY3RlcnM7
IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLiBXaW5kb3dzIDIwMDAvWFA6IEZvciB0aGUgVVMgc3Rh
bmRhcmQga2V5Ym9hcmQsIHRoZSAnLz8nIGtleQorICAgIGNhc2UgR0RLX3NsYXNoOgorICAgIGNh
c2UgR0RLX3F1ZXN0aW9uOgorICAgICAgICByZXR1cm4gVktfT0VNXzI7IC8vIGNhc2UgJy8nOiBj
YXNlICc/JzogcmV0dXJuIDB4QkY7CisgICAgICAgIC8vIFZLX09FTV8zIChDMCkgVXNlZCBmb3Ig
bWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4gV2luZG93
cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ2B+JyBrZXkKKyAg
ICBjYXNlIEdES19hc2NpaXRpbGRlOgorICAgIGNhc2UgR0RLX3F1b3RlbGVmdDoKKyAgICAgICAg
cmV0dXJuIFZLX09FTV8zOyAvLyBjYXNlICdgJzogY2FzZSAnfic6IHJldHVybiAweEMwOworICAg
ICAgICAvLyBWS19PRU1fNCAoREIpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsg
aXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFu
ZGFyZCBrZXlib2FyZCwgdGhlICdbeycga2V5CisgICAgY2FzZSBHREtfYnJhY2tldGxlZnQ6Cisg
ICAgY2FzZSBHREtfYnJhY2VsZWZ0OgorICAgICAgICByZXR1cm4gVktfT0VNXzQ7IC8vIGNhc2Ug
J1snOiBjYXNlICd7JzogcmV0dXJuIDB4REI7CisgICAgICAgIC8vIFZLX09FTV81IChEQykgVXNl
ZCBmb3IgbWlzY2VsbGFuZW91cyBjaGFyYWN0ZXJzOyBpdCBjYW4gdmFyeSBieSBrZXlib2FyZC4g
V2luZG93cyAyMDAwL1hQOiBGb3IgdGhlIFVTIHN0YW5kYXJkIGtleWJvYXJkLCB0aGUgJ1x8JyBr
ZXkKKyAgICBjYXNlIEdES19iYWNrc2xhc2g6CisgICAgY2FzZSBHREtfYmFyOgorICAgICAgICBy
ZXR1cm4gVktfT0VNXzU7IC8vIGNhc2UgJ1xcJzogY2FzZSAnfCc6IHJldHVybiAweERDOworICAg
ICAgICAvLyBWS19PRU1fNiAoREQpIFVzZWQgZm9yIG1pc2NlbGxhbmVvdXMgY2hhcmFjdGVyczsg
aXQgY2FuIHZhcnkgYnkga2V5Ym9hcmQuIFdpbmRvd3MgMjAwMC9YUDogRm9yIHRoZSBVUyBzdGFu
ZGFyZCBrZXlib2FyZCwgdGhlICddfScga2V5CisgICAgY2FzZSBHREtfYnJhY2tldHJpZ2h0Ogor
ICAgIGNhc2UgR0RLX2JyYWNlcmlnaHQ6CisgICAgICAgIHJldHVybiBWS19PRU1fNjsgLy8gY2Fz
ZSAnXSc6IGNhc2UgJ30nOiByZXR1cm4gMHhERDsKKyAgICAgICAgLy8gVktfT0VNXzcgKERFKSBV
c2VkIGZvciBtaXNjZWxsYW5lb3VzIGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJk
LiBXaW5kb3dzIDIwMDAvWFA6IEZvciB0aGUgVVMgc3RhbmRhcmQga2V5Ym9hcmQsIHRoZSAnc2lu
Z2xlLXF1b3RlL2RvdWJsZS1xdW90ZScga2V5CisgICAgY2FzZSBHREtfcXVvdGVyaWdodDoKKyAg
ICBjYXNlIEdES19xdW90ZWRibDoKKyAgICAgICAgcmV0dXJuIFZLX09FTV83OyAvLyBjYXNlICdc
Jyc6IGNhc2UgJyInOiByZXR1cm4gMHhERTsKKyAgICAgICAgLy8gVktfT0VNXzggKERGKSBVc2Vk
IGZvciBtaXNjZWxsYW5lb3VzIGNoYXJhY3RlcnM7IGl0IGNhbiB2YXJ5IGJ5IGtleWJvYXJkLgor
ICAgICAgICAvLyBWS19PRU1fMTAyIChFMikgV2luZG93cyAyMDAwL1hQOiBFaXRoZXIgdGhlIGFu
Z2xlIGJyYWNrZXQga2V5IG9yIHRoZSBiYWNrc2xhc2gga2V5IG9uIHRoZSBSVCAxMDIta2V5IGtl
eWJvYXJkCisgICAgICAgIC8vIFZLX1BST0NFU1NLRVkgKEU1KSBXaW5kb3dzIDk1Lzk4L01lLCBX
aW5kb3dzIE5UIDQuMCwgV2luZG93cyAyMDAwL1hQOiBJTUUgUFJPQ0VTUyBrZXkKKyAgICAgICAg
Ly8gVktfUEFDS0VUIChFNykgV2luZG93cyAyMDAwL1hQOiBVc2VkIHRvIHBhc3MgVW5pY29kZSBj
aGFyYWN0ZXJzIGFzIGlmIHRoZXkgd2VyZSBrZXlzdHJva2VzLiBUaGUgVktfUEFDS0VUIGtleSBp
cyB0aGUgbG93IHdvcmQgb2YgYSAzMi1iaXQgVmlydHVhbCBLZXkgdmFsdWUgdXNlZCBmb3Igbm9u
LWtleWJvYXJkIGlucHV0IG1ldGhvZHMuIEZvciBtb3JlIGluZm9ybWF0aW9uLCBzZWUgUmVtYXJr
IGluIEtFWUJESU5QVVQsU2VuZElucHV0LCBXTV9LRVlET1dOLCBhbmQgV01fS0VZVVAKKyAgICAg
ICAgLy8gVktfQVRUTiAoRjYpIEF0dG4ga2V5CisgICAgICAgIC8vIFZLX0NSU0VMIChGNykgQ3JT
ZWwga2V5CisgICAgICAgIC8vIFZLX0VYU0VMIChGOCkgRXhTZWwga2V5CisgICAgICAgIC8vIFZL
X0VSRU9GIChGOSkgRXJhc2UgRU9GIGtleQorICAgICAgICAvLyBWS19QTEFZIChGQSkgUGxheSBr
ZXkKKyAgICAgICAgLy8gVktfWk9PTSAoRkIpIFpvb20ga2V5CisgICAgICAgIC8vIFZLX05PTkFN
RSAoRkMpIFJlc2VydmVkIGZvciBmdXR1cmUgdXNlCisgICAgICAgIC8vIFZLX1BBMSAoRkQpIFBB
MSBrZXkKKyAgICAgICAgLy8gVktfT0VNX0NMRUFSIChGRSkgQ2xlYXIga2V5CisgICAgY2FzZSBH
REtfRjE6CisgICAgY2FzZSBHREtfRjI6CisgICAgY2FzZSBHREtfRjM6CisgICAgY2FzZSBHREtf
RjQ6CisgICAgY2FzZSBHREtfRjU6CisgICAgY2FzZSBHREtfRjY6CisgICAgY2FzZSBHREtfRjc6
CisgICAgY2FzZSBHREtfRjg6CisgICAgY2FzZSBHREtfRjk6CisgICAgY2FzZSBHREtfRjEwOgor
ICAgIGNhc2UgR0RLX0YxMToKKyAgICBjYXNlIEdES19GMTI6CisgICAgY2FzZSBHREtfRjEzOgor
ICAgIGNhc2UgR0RLX0YxNDoKKyAgICBjYXNlIEdES19GMTU6CisgICAgY2FzZSBHREtfRjE2Ogor
ICAgIGNhc2UgR0RLX0YxNzoKKyAgICBjYXNlIEdES19GMTg6CisgICAgY2FzZSBHREtfRjE5Ogor
ICAgIGNhc2UgR0RLX0YyMDoKKyAgICBjYXNlIEdES19GMjE6CisgICAgY2FzZSBHREtfRjIyOgor
ICAgIGNhc2UgR0RLX0YyMzoKKyAgICBjYXNlIEdES19GMjQ6CisgICAgICAgIHJldHVybiBWS19G
MSArIChrZXljb2RlIC0gR0RLX0YxKTsKKworICAgIGRlZmF1bHQ6CisgICAgICAgIHJldHVybiAw
OworICAgIH0KKworfQorCisvLyBUYWtlbiBmcm9tIEtleUV2ZW50R3RrLmNwcAorc3RhdGljIFN0
cmluZyBzaW5nbGVDaGFyYWN0ZXJTdHJpbmcoZ3VpbnQgdmFsKQoreworICAgIHN3aXRjaCAodmFs
KSB7CisgICAgY2FzZSBHREtfSVNPX0VudGVyOgorICAgIGNhc2UgR0RLX0tQX0VudGVyOgorICAg
IGNhc2UgR0RLX1JldHVybjoKKyAgICAgICAgcmV0dXJuIFN0cmluZygiXHIiKTsKKyAgICBjYXNl
IEdES19CYWNrU3BhY2U6CisgICAgICAgIHJldHVybiBTdHJpbmcoIlx4OCIpOworICAgIGNhc2Ug
R0RLX1RhYjoKKyAgICAgICAgcmV0dXJuIFN0cmluZygiXHQiKTsKKyAgICBkZWZhdWx0OgorICAg
ICAgICBndW5pY2hhciBjID0gZ2RrX2tleXZhbF90b191bmljb2RlKHZhbCk7CisgICAgICAgIGds
b25nIG53YzsKKyAgICAgICAgZ3VuaWNoYXIyKiB1Y2hhcjE2ID0gZ191Y3M0X3RvX3V0ZjE2KCZj
LCAxLCAwLCAmbndjLCAwKTsKKworICAgICAgICBTdHJpbmcgcmV0VmFsOworICAgICAgICBpZiAo
dWNoYXIxNikKKyAgICAgICAgICAgIHJldFZhbCA9IFN0cmluZygoVUNoYXIqKXVjaGFyMTYsIG53
Yyk7CisgICAgICAgIGVsc2UKKyAgICAgICAgICAgIHJldFZhbCA9IFN0cmluZygpOworCisgICAg
ICAgIGdfZnJlZSh1Y2hhcjE2KTsKKworICAgICAgICByZXR1cm4gcmV0VmFsOworICAgIH0KK30K
Kworc3RhdGljIGlubGluZSBXZWJFdmVudDo6TW9kaWZpZXJzIG1vZGlmaWVyc0ZvckN1cnJlbnRL
ZXlTdGF0ZShndWludCBzdGF0ZSkKK3sKKyAgICB1bnNpZ25lZCBtb2RpZmllcnMgPSAwOworICAg
IGlmIChzdGF0ZSAmIEdES19DT05UUk9MX01BU0spCisgICAgICAgIG1vZGlmaWVycyB8PSBXZWJF
dmVudDo6Q29udHJvbEtleTsKKyAgICBpZiAoKHN0YXRlICYgR0RLX1NISUZUX01BU0spIHx8IChz
dGF0ZSA9PSBHREtfMzI3MF9CYWNrVGFiKSkKKyAgICAgICAgbW9kaWZpZXJzIHw9IFdlYkV2ZW50
OjpTaGlmdEtleTsKKyAgICBpZiAoc3RhdGUgJiBHREtfTU9EMV9NQVNLKQorICAgICAgICBtb2Rp
ZmllcnMgfD0gV2ViRXZlbnQ6OkFsdEtleTsKKyAgICBpZiAoc3RhdGUgJiBHREtfTUVUQV9NQVNL
KQorICAgICAgICBtb2RpZmllcnMgfD0gV2ViRXZlbnQ6Ok1ldGFLZXk7CisgICAgcmV0dXJuIHN0
YXRpY19jYXN0PFdlYkV2ZW50OjpNb2RpZmllcnM+KG1vZGlmaWVycyk7CisKK30KKworV2ViS2V5
Ym9hcmRFdmVudCBXZWJFdmVudEZhY3Rvcnk6OmNyZWF0ZVdlYktleWJvYXJkRXZlbnQoR2RrRXZl
bnRLZXkqIGV2ZW50KQoreworICAgIFdlYkV2ZW50OjpUeXBlIHR5cGUgICAgICAgICAgICAgPSAo
ZXZlbnQtPnR5cGUgPT0gR0RLX0tFWV9SRUxFQVNFKSA/IFdlYkV2ZW50OjpLZXlVcCA6IFdlYkV2
ZW50OjpLZXlEb3duOyAKKyAgICBTdHJpbmcgdGV4dCAgICAgICAgICAgICAgICAgICAgID0gc2lu
Z2xlQ2hhcmFjdGVyU3RyaW5nKGV2ZW50LT5rZXl2YWwpOworICAgIFN0cmluZyB1bm1vZGlmaWVk
VGV4dCAgICAgICAgICAgPSBzaW5nbGVDaGFyYWN0ZXJTdHJpbmcoZXZlbnQtPmtleXZhbCk7Cisg
ICAgU3RyaW5nIGtleUlkZW50aWZpZXIgICAgICAgICAgICA9IGtleUlkZW50aWZpZXJGb3JHZGtL
ZXlDb2RlKGV2ZW50LT5rZXl2YWwpOworICAgIGludCB3aW5kb3dzVmlydHVhbEtleUNvZGUgICAg
ICAgPSB3aW5kb3dzS2V5Q29kZUZvcktleUV2ZW50KGV2ZW50LT5rZXl2YWwpOworICAgIGludCBu
YXRpdmVWaXJ0dWFsS2V5Q29kZSAgICAgICAgPSBzdGF0aWNfY2FzdDxpbnQ+KGV2ZW50LT5rZXl2
YWwpOworICAgIGJvb2wgYXV0b1JlcGVhdCAgICAgICAgICAgICAgICAgPSBmYWxzZTsgCisgICAg
Ym9vbCBpc0tleXBhZCAgICAgICAgICAgICAgICAgICA9IGV2ZW50LT5rZXl2YWwgPj0gR0RLX0tQ
X1NwYWNlICYmIGV2ZW50LT5rZXl2YWwgPD0gR0RLX0tQXzk7CisgICAgYm9vbCBpc1N5c3RlbUtl
eSAgICAgICAgICAgICAgICA9IGZhbHNlOworICAgIFdlYkV2ZW50OjpNb2RpZmllcnMgbW9kaWZp
ZXJzICAgPSBtb2RpZmllcnNGb3JDdXJyZW50S2V5U3RhdGUoZXZlbnQtPnN0YXRlKTsKKyAgICBk
b3VibGUgdGltZXN0YW1wICAgICAgICAgICAgICAgICA9IGV2ZW50LT50aW1lOworICAgIHJldHVy
biBXZWJLZXlib2FyZEV2ZW50KHR5cGUsIHRleHQsIHVubW9kaWZpZWRUZXh0LCBrZXlJZGVudGlm
aWVyLCB3aW5kb3dzVmlydHVhbEtleUNvZGUsIG5hdGl2ZVZpcnR1YWxLZXlDb2RlLCBhdXRvUmVw
ZWF0LCBpc0tleXBhZCwgaXNTeXN0ZW1LZXksIG1vZGlmaWVycywgdGltZXN0YW1wKTsKK30KKwor
fQpJbmRleDogV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvU2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuaAkocmV2aXNpb24gMCkKKysr
IFdlYktpdDIvU2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuaAkocmV2aXNpb24gMCkKQEAgLTAs
MCArMSw0OCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9i
aWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV2Vi
RXZlbnRGYWN0b3J5X2gKKyNkZWZpbmUgV2ViRXZlbnRGYWN0b3J5X2gKKworI2luY2x1ZGUgIldl
YkV2ZW50LmgiCisKKyNpbmNsdWRlIDxnZGsvZ2RrLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgewor
CisgICAgLy8gRklYTUU6IFRoaXMgaXMgbm90IG5lZWRlZCBpbiB0aGUgV2ViUHJvY2VzcyBhbmQg
c2hvdWxkIGJlIG1vdmVkIHRvIGJlIGEgcGVlcgorICAgIC8vIG9mIFdLVmlldyBvciByZW1vdmVk
IGFsdG9nZXRoZXIgaW4gZmF2b3Igb2YgdXNpbmcgUGxhdGZvcm1FdmVudHMgZXZlcnl3aGVyZS4K
KworY2xhc3MgV2ViRXZlbnRGYWN0b3J5IHsKKyAgICBwdWJsaWM6CisgICAgICAgIHN0YXRpYyBX
ZWJNb3VzZUV2ZW50IGNyZWF0ZVdlYk1vdXNlRXZlbnQoR2RrRXZlbnRBbnkqIGV2ZW50KTsKKyAg
ICAgICAgc3RhdGljIFdlYldoZWVsRXZlbnQgY3JlYXRlV2ViV2hlZWxFdmVudChHZGtFdmVudFNj
cm9sbCAqZXZlbnQpOworICAgICAgICBzdGF0aWMgV2ViS2V5Ym9hcmRFdmVudCBjcmVhdGVXZWJL
ZXlib2FyZEV2ZW50KEdka0V2ZW50S2V5KiBldmVudCk7Cit9OworCit9IC8vIG5hbWVzcGFjZSBX
ZWJLaXQKKworI2VuZGlmIC8vIFdlYkV2ZW50RmFjdG9yeV9oCkluZGV4OiBXZWJLaXQyL1VJUHJv
Y2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwCShyZXZpc2lv
biA3MDA5OCkKKysrIFdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVBy
b3h5LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29w
eXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC00Nyw2ICs0OCw5IEBAIENo
dW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpDaHVua2VkVXAKICAgICAsIG1faXNXYWl0aW5n
Rm9yRGlkU2V0RnJhbWVOb3RpZmljYXRpb24oZmFsc2UpCiAgICAgLCBtX2lzVmlzaWJsZSh0cnVl
KQogICAgICwgbV9mb3JjZVJlcGFpbnRXaGVuUmVzdW1pbmdQYWludGluZyhmYWxzZSkKKyNpZiBQ
TEFURk9STShHVEspCisgICAgLCBtX2JhY2tpbmdTdG9yZUJpdG1hcCgwKQorI2VuZGlmCiAgICAg
LCBtX3dlYlZpZXcod2ViVmlldykKIHsKIH0KQEAgLTEzMCw2ICsxMzQsOSBAQCB2b2lkIENodW5r
ZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjpkaWRTCiAgICAgICAgIGRyYXdVcGRhdGVDaHVua0lu
dG9CYWNraW5nU3RvcmUodXBkYXRlQ2h1bmspOwogCiAgICAgV2ViUGFnZVByb3h5KiBwYWdlID0g
dGhpcy0+cGFnZSgpOworI2lmIFBMQVRGT1JNKEdUSykKKyAgICBwYWdlLT5wcm9jZXNzKCktPnNl
bmQoRHJhd2luZ0FyZWFNZXNzYWdlOjpEaWRTZXRTaXplRG9uZSwgcGFnZS0+cGFnZUlEKCksIENv
cmVJUEM6OkluKGluZm8oKS5pZCwgdXBkYXRlQ2h1bmstPnhJRCgpKSk7CisjZW5kaWYKICAgICBw
YWdlLT5wcm9jZXNzKCktPnJlc3BvbnNpdmVuZXNzVGltZXIoKS0+c3RvcCgpOwogfQogCkBAIC0x
NDYsNyArMTUzLDExIEBAIHZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6OnVwZGEK
ICAgICB9CiAKICAgICBXZWJQYWdlUHJveHkqIHBhZ2UgPSB0aGlzLT5wYWdlKCk7CisjaWYgUExB
VEZPUk0oR1RLKQorICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5nQXJlYU1lc3NhZ2U6
OkRpZFVwZGF0ZSwgcGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGluZm8oKS5pZCwgdXBkYXRl
Q2h1bmstPnhJRCgpKSk7CisjZWxzZQogICAgIHBhZ2UtPnByb2Nlc3MoKS0+c2VuZChEcmF3aW5n
QXJlYU1lc3NhZ2U6OkRpZFVwZGF0ZSwgcGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKGluZm8o
KS5pZCkpOworI2VuZGlmCiB9CiAKIHZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHk6
OmRpZFJlY2VpdmVNZXNzYWdlKENvcmVJUEM6OkNvbm5lY3Rpb24qLCBDb3JlSVBDOjpNZXNzYWdl
SUQgbWVzc2FnZUlELCBDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGFyZ3VtZW50cykKSW5kZXg6
IFdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHku
aAkocmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJh
d2luZ0FyZWFQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENv
cHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0
aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDggKzI0
LDggQEAKICAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVm
IERyYXdpbmdBcmVhUHJveHlVcGRhdGVDaHVua19oCi0jZGVmaW5lIERyYXdpbmdBcmVhUHJveHlV
cGRhdGVDaHVua19oCisjaWZuZGVmIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5X2gKKyNk
ZWZpbmUgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHlfaAogCiAjaW5jbHVkZSAiRHJhd2lu
Z0FyZWFQcm94eS5oIgogI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5oPgpAQCAtNTMsNiArNTQs
OSBAQCBjbGFzcyBXZWJWaWV3OwogdHlwZWRlZiBXZWJWaWV3IFBsYXRmb3JtV2ViVmlldzsKICNl
bGlmIFBMQVRGT1JNKFFUKQogdHlwZWRlZiBRR3JhcGhpY3NXS1ZpZXcgUGxhdGZvcm1XZWJWaWV3
OworI2VsaWYgUExBVEZPUk0oR1RLKQorY2xhc3MgV2ViVmlldzsKK3R5cGVkZWYgV2ViVmlldyBQ
bGF0Zm9ybVdlYlZpZXc7CiAjZW5kaWYKIAogY2xhc3MgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVh
UHJveHkgOiBwdWJsaWMgRHJhd2luZ0FyZWFQcm94eSB7CkBAIC0xMDAsNiArMTA0LDkgQEAgcHJp
dmF0ZToKICAgICBPd25QdHI8SEJJVE1BUD4gbV9iYWNraW5nU3RvcmVCaXRtYXA7CiAjZWxpZiBQ
TEFURk9STShRVCkKICAgICBRSW1hZ2UgbV9iYWNraW5nU3RvcmVJbWFnZTsKKyNlbGlmIFBMQVRG
T1JNKEdUSykKKyAgICAvLyBiYWNraW5nU3RvcmUKKyAgICBHZGtQaXhtYXAqIG1fYmFja2luZ1N0
b3JlQml0bWFwOwogI2VuZGlmCiAKICAgICBQbGF0Zm9ybVdlYlZpZXcqIG1fd2ViVmlldzsKSW5k
ZXg6IFdlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgJKHJldmlzaW9uIDcwMDk4KQorKysg
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCSh3b3JraW5nIGNvcHkpCkBAIC0x
LDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9i
aWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKQEAgLTI3LDYgKzI4LDkgQEAKICNkZWZpbmUgRHJhd2luZ0FyZWFQcm94eV9oCiAK
ICNpbmNsdWRlICJEcmF3aW5nQXJlYUJhc2UuaCIKKyNpZiBQTEFURk9STShHVEspCisjaW5jbHVk
ZSA8Z3RrL2d0ay5oPgorI2VuZGlmCiAKICNpZiBQTEFURk9STShRVCkKIGNsYXNzIFFQYWludGVy
OwpAQCAtNDAsNiArNDQsOCBAQCB0eXBlZGVmIENHQ29udGV4dFJlZiBQbGF0Zm9ybURyYXdpbmdD
b250CiB0eXBlZGVmIEhEQyBQbGF0Zm9ybURyYXdpbmdDb250ZXh0OwogI2VsaWYgUExBVEZPUk0o
UVQpCiB0eXBlZGVmIFFQYWludGVyKiBQbGF0Zm9ybURyYXdpbmdDb250ZXh0OworI2VsaWYgUExB
VEZPUk0oR1RLKQordHlwZWRlZiBHZGtXaW5kb3cqIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQ7CiAj
ZW5kaWYKIAogY2xhc3MgRHJhd2luZ0FyZWFQcm94eSA6IHB1YmxpYyBEcmF3aW5nQXJlYUJhc2Ug
ewpJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgJKHJldmlzaW9uIDcwMDk4KQor
KysgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmgJKHdvcmtpbmcgY29weSkKQEAg
LTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBN
b2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucwpAQCAtMTUxLDQgKzE1Miw3IEBAIGlubGluZSBGaW5kT3B0aW9ucyB0b0ZpbmRP
cHRpb25zKFdLRmluZE8KICNpbmNsdWRlICJXS0FQSUNhc3RXaW4uaCIKICNlbmRpZgogCisjaWYg
ZGVmaW5lZChCVUlMRElOR19HVEtfXykKKyNpbmNsdWRlICJXS0FQSUNhc3RHdGsuaCIKKyNlbmRp
ZgogI2VuZGlmIC8vIFdLQVBJQ2FzdF9oCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9n
dGsvV0tBUElDYXN0R3RrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
Z3RrL1dLQVBJQ2FzdEd0ay5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvZ3RrL1dLQVBJQ2FzdEd0ay5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQyIEBACisvKgor
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJl
IG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4g
YmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
IGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3Zp
ZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJ
REVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQg
QU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFO
RCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElO
IE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElB
QkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBM
QVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElN
SVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7
IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBU
SU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
TkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRI
RSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXS0FQSUNhc3RHdGtfaAorI2Rl
ZmluZSBXS0FQSUNhc3RHdGtfaAorCisjaWZuZGVmIFdLQVBJQ2FzdF9oCisjZXJyb3IgIlBsZWFz
ZSAjaW5jbHVkZSBcIldLQVBJQ2FzdC5oXCIgaW5zdGVhZCBvZiB0aGlzIGZpbGUgZGlyZWN0bHku
IgorI2VuZGlmCisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFzcyBXZWJWaWV3OworCitXS19B
RERfQVBJX01BUFBJTkcoV0tWaWV3UmVmLCBXZWJWaWV3KQorCit9CisKKyNlbmRpZiAvLyBXS0FQ
SUNhc3RHdGtfaApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5jcHAJKHJl
dmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw2OSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBs
ZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIw
MTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKKyNpbmNsdWRlICJXS1ZpZXcuaCIKKworI2luY2x1ZGUgIlBsYXRmb3JtU3RyaW5nLmgiCisj
aW5jbHVkZSAiV0tBUElDYXN0LmgiCisjaW5jbHVkZSAiV2ViVmlldy5oIgorI2luY2x1ZGUgPHd0
Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1JlZlB0ci5oPgorCit1c2luZyBuYW1lc3Bh
Y2UgV2ViS2l0OwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK1dLVmlld1JlZiBXS1ZpZXdD
cmVhdGUoR2RrUmVjdGFuZ2xlIHJlY3QsIFdLUGFnZU5hbWVzcGFjZVJlZiBwYWdlTmFtZXNwYWNl
UmVmLCBHdGtXaWRnZXQqIGhvc3RXaW5kb3cpCit7CisgICAgUmVmUHRyPFdlYlZpZXc+IHZpZXcg
PSBXZWJWaWV3OjpjcmVhdGUocmVjdCwgdG9JbXBsKHBhZ2VOYW1lc3BhY2VSZWYpLCBob3N0V2lu
ZG93KTsKKyAgICByZXR1cm4gdG9BUEkodmlldy5yZWxlYXNlKCkucmVsZWFzZVJlZigpKTsKK30K
KworR3RrV2lkZ2V0KiBXS1ZpZXdHZXRXaW5kb3coV0tWaWV3UmVmIHZpZXdSZWYpCit7CisgICAg
cmV0dXJuIHRvSW1wbCh2aWV3UmVmKS0+d2luZG93KCk7Cit9CisKK0d0a1dpZGdldCogV0tWaWV3
R2V0SG9zdFdpbmRvdyhXS1ZpZXdSZWYgdmlld1JlZikKK3sKKyAgICByZXR1cm4gdG9JbXBsKHZp
ZXdSZWYpLT5ob3N0V2luZG93KCk7Cit9CisKK1dLUGFnZVJlZiBXS1ZpZXdHZXRQYWdlKFdLVmll
d1JlZiB2aWV3UmVmKQoreworICAgIHJldHVybiB0b0FQSSh0b0ltcGwodmlld1JlZiktPnBhZ2Uo
KSk7Cit9CisKK3ZvaWQgV0tWaWV3U2V0SG9zdFdpbmRvdyhXS1ZpZXdSZWYgdmlld1JlZiwgR3Rr
V2lkZ2V0KiBob3N0V2luZG93KQoreworICAgIHRvSW1wbCh2aWV3UmVmKS0+c2V0SG9zdFdpbmRv
dyhob3N0V2luZG93KTsKK30KKworV0tVUkxSZWYgV0tVUkxDcmVhdGVXaXRoVVJMKGNvbnN0IGNo
YXIqIHVybCkKK3sKKyAgICBTdHJpbmcgdXJsU3RyaW5nKHVybCk7CisgICAgUmVmUHRyPFN0cmlu
Z0ltcGw+IHVybFN0cmluZ0ltcGwgPSB1cmxTdHJpbmcuaW1wbCgpOworICAgIHJldHVybiB0b1VS
TFJlZih1cmxTdHJpbmdJbXBsLnJlbGVhc2UoKS5yZWxlYXNlUmVmKCkpOworfQpJbmRleDogV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5oCj09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuaAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuaAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw1MSBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgV0tWaWV3X2gKKyNkZWZp
bmUgV0tWaWV3X2gKKworI2luY2x1ZGUgPFdlYktpdDIvV0tCYXNlLmg+CisjaW5jbHVkZSA8Z3Rr
L2d0ay5oPgorCisjaWZkZWYgX19jcGx1c3BsdXMKK2V4dGVybiAiQyIgeworI2VuZGlmCisKK1dL
X0VYUE9SVCBXS1ZpZXdSZWYgV0tWaWV3Q3JlYXRlKEdka1JlY3RhbmdsZSByZWN0LCBXS1BhZ2VO
YW1lc3BhY2VSZWYgcGFnZU5hbWVzcGFjZSwgR3RrV2lkZ2V0ICogaG9zdFdpbmRvdyk7CisKK1dL
X0VYUE9SVCBHdGtXaWRnZXQqIFdLVmlld0dldFdpbmRvdyhXS1ZpZXdSZWYgdmlldyk7CitXS19F
WFBPUlQgR3RrV2lkZ2V0KiBXS1ZpZXdHZXRIb3N0V2luZG93KFdLVmlld1JlZiB2aWV3KTsKKwor
V0tfRVhQT1JUIFdLUGFnZVJlZiBXS1ZpZXdHZXRQYWdlKFdLVmlld1JlZiB2aWV3KTsKKworV0tf
RVhQT1JUIHZvaWQgV0tWaWV3U2V0SG9zdFdpbmRvdyhXS1ZpZXdSZWYgdmlldywgR3RrV2lkZ2V0
KiBob3N0V2luZG93KTsKKworV0tfRVhQT1JUIFdLVVJMUmVmIFdLVVJMQ3JlYXRlV2l0aFVSTChj
b25zdCBjaGFyKik7CisjaWZkZWYgX19jcGx1c3BsdXMKK30KKyNlbmRpZgorCisjZW5kaWYgLyog
V0tWaWV3X2ggKi8KSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNz
TGF1bmNoZXJHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgTU9UT1JPTEEgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgTU9UT1JPTEEgSU5DLiBPUiBJ
VFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJ
TkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFH
RVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VC
U1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7
IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFC
SUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFS
SVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElG
IEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisj
aW5jbHVkZSAiUHJvY2Vzc0xhdW5jaGVyLmgiCisKKyNpbmNsdWRlICJDb25uZWN0aW9uLmgiCisj
aW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJSdW5Mb29wLmgiCisjaW5jbHVk
ZSAiV2ViUHJvY2Vzcy5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9QbGF0Zm9ybVN0cmluZy5oPgor
I2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VIYW5kbGUuaD4KKyNpbmNsdWRlIDxydW50aW1lL0lu
aXRpYWxpemVUaHJlYWRpbmcuaD4KKyNpbmNsdWRlIDx3dGYvVGhyZWFkaW5nLmg+CisjaW5jbHVk
ZSA8d3RmL3RleHQvQ1N0cmluZy5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKKyNkZWZpbmUgV0VCS0lUX1dFQl9QUk9DRVNTX05BTUUgIldlYktp
dFdlYlByb2Nlc3MiIAorI2RlZmluZSBXRUJLSVRfV0VCX1BST0NFU1NfUEFUSCAiL3Vzci9sb2Nh
bC9iaW4vV2ViS2l0V2ViUHJvY2VzcyIgCisKK3ZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpsYXVuY2hQ
cm9jZXNzKCkKK3sKKyAgICBwaWRfdCBwaWQgPSAwOworCisgICAgaW50IHNvY2tldHNbMl07Cisg
ICAgaWYgKHNvY2tldHBhaXIoQUZfVU5JWCwgU09DS19TVFJFQU0sIDAsIHNvY2tldHMpIDwgMCkg
CisgICAgICAgIHJldHVybjsKKworICAgIFN0cmluZyBjb21tYW5kTGluZShXRUJLSVRfV0VCX1BS
T0NFU1NfUEFUSCk7CisgICAgcGlkID0gZm9yaygpOworICAgIGlmICghcGlkKSB7IC8vIGNoaWxk
IHByb2Nlc3MKKyAgICAgICAgY2xvc2Uoc29ja2V0c1sxXSk7CisgICAgICAgIFN0cmluZyBzb2Nr
ZXQgPSBTdHJpbmc6OmZvcm1hdCgiJWQiLCBzb2NrZXRzWzBdKTsKKyAgICAgICAgZXhlY2woY29t
bWFuZExpbmUudXRmOCgpLmRhdGEoKSwgV0VCS0lUX1dFQl9QUk9DRVNTX05BTUUsIHNvY2tldC51
dGY4KCkuZGF0YSgpLCAoY2hhciopMCk7CisgICAgfSBlbHNlIGlmIChwaWQgPiAwKSB7IC8vIHBh
cmVudCBwcm9jZXNzCisgICAgICAgIGNsb3NlKHNvY2tldHNbMF0pOworICAgICAgICBtX3Byb2Nl
c3NJZGVudGlmaWVyID0gcGlkOworICAgICAgICAvLyBXZSd2ZSBmaW5pc2hlZCBsYXVuY2hpbmcg
dGhlIHByb2Nlc3MsIG1lc3NhZ2UgYmFjayB0byB0aGUgbWFpbiBydW4gbG9vcC4KKyAgICAgICAg
UnVuTG9vcDo6bWFpbigpLT5zY2hlZHVsZVdvcmsoV29ya0l0ZW06OmNyZWF0ZSh0aGlzLCAmUHJv
Y2Vzc0xhdW5jaGVyOjpkaWRGaW5pc2hMYXVuY2hpbmdQcm9jZXNzLCBwaWQsIHNvY2tldHNbMV0p
KTsKKyAgICB9IGVsc2UgeworICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICB9Cit9
CisKK3ZvaWQgUHJvY2Vzc0xhdW5jaGVyOjp0ZXJtaW5hdGVQcm9jZXNzKCkKK3sgICAKKyAgICBp
ZiAoIW1fcHJvY2Vzc0lkZW50aWZpZXIpCisgICAgICAgIHJldHVybjsKKworICAgIGtpbGwobV9w
cm9jZXNzSWRlbnRpZmllciwgU0lHS0lMTCk7Cit9CisKK3ZvaWQgUHJvY2Vzc0xhdW5jaGVyOjpw
bGF0Zm9ybUludmFsaWRhdGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8g
bmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Ro
cmVhZExhdW5jaGVyR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlci9ndGsvVGhyZWFkTGF1bmNoZXJHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1RocmVhZExhdW5jaGVyR3RrLmNwcAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSw0MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3Jv
bGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmli
dXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0
CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93
aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICog
Mi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29y
IG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICog
VEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVU
T1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywg
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVT
IE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQ
T1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBD
T05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lE
RU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAo
SU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElU
VVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElU
WSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lO
RyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNs
dWRlICJUaHJlYWRMYXVuY2hlci5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKwor
dXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitDb3JlSVBD
OjpDb25uZWN0aW9uOjpJZGVudGlmaWVyIFRocmVhZExhdW5jaGVyOjpjcmVhdGVXZWJUaHJlYWQo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIC0xOworfQorCit9IC8vIG5h
bWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdp
bkluZm9TdG9yZUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9ndGsvUGx1Z2luSW5mb1N0b3JlR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9TdG9yZUd0ay5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsNjcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisKKyNpbmNs
dWRlICJQbHVnaW5JbmZvU3RvcmUuaCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisj
aW5jbHVkZSAiUGx1Z2luRGF0YWJhc2UuaCIKKyNpbmNsdWRlICJQbHVnaW5QYWNrYWdlLmgiCisK
K3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworVmVjdG9y
PFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQoreworICAgIG5v
dEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7Cit9CisKK1ZlY3Rv
cjxTdHJpbmc+IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2luUGF0aHNJbkRpcmVjdG9yeShjb25zdCBT
dHJpbmcmIGRpcmVjdG9yeSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBW
ZWN0b3I8U3RyaW5nPigpOworfQorCitWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6Omlu
ZGl2aWR1YWxQbHVnaW5QYXRocygpCit7CisgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7Cit9
CisKK2Jvb2wgUGx1Z2luSW5mb1N0b3JlOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1
Z2luUGF0aCwgUGx1Z2luJiBwbHVnaW4pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gZmFsc2U7Cit9CisKK2Jvb2wgUGx1Z2luSW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4o
Y29uc3QgUGx1Z2luJiBwbHVnaW4sIGNvbnN0IFZlY3RvcjxQbHVnaW4+JiBsb2FkZWRQbHVnaW5z
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL2d0ay9DaHVua2VkVXBk
YXRlRHJhd2luZ0FyZWFQcm94eUd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nl
c3MvZ3RrL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5R3RrLmNwcAkocmV2aXNpb24gMCkK
KysrIFdlYktpdDIvVUlQcm9jZXNzL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eUd0
ay5jcHAJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsODggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMp
IDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJp
Z2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9y
bXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3Zp
ZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVk
aXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmln
aHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dp
bmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0
IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBk
b2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlz
dHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5D
LiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhF
IElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEg
UEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwg
QVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJF
Q1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05T
RVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJF
TUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERB
VEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FV
U0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJB
Q1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9U
SEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNP
RlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERB
TUFHRS4KKyAqLworCisKKyNpbmNsdWRlICJDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5o
IgorCisjaW5jbHVkZSAiVXBkYXRlQ2h1bmsuaCIKKyNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHku
aCIKKyNpbmNsdWRlICJXZWJWaWV3LmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCitu
YW1lc3BhY2UgV2ViS2l0IHsKKworV2ViUGFnZVByb3h5KiBDaHVua2VkVXBkYXRlRHJhd2luZ0Fy
ZWFQcm94eTo6cGFnZSgpCit7CisgICAgcmV0dXJuIG1fd2ViVmlldy0+cGFnZSgpOworfQorCit2
b2lkIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjplbnN1cmVCYWNraW5nU3RvcmUoKQor
eworICAgIGlmIChtX2JhY2tpbmdTdG9yZUJpdG1hcCkKKyAgICAgICAgcmV0dXJuOworCisgICAg
bV9iYWNraW5nU3RvcmVCaXRtYXAgPSBnZGtfcGl4bWFwX25ldyhtX3dlYlZpZXctPndpbmRvdygp
LT53aW5kb3csIG1fdmlld1NpemUud2lkdGgoKSwgbV92aWV3U2l6ZS5oZWlnaHQoKSwgLTEpOwor
fQorCit2b2lkIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5OjppbnZhbGlkYXRlQmFja2lu
Z1N0b3JlKCkKK3sKKyAgICBpZiAobV9iYWNraW5nU3RvcmVCaXRtYXApIHsKKyAgICAgICAgZ19v
YmplY3RfdW5yZWYobV9iYWNraW5nU3RvcmVCaXRtYXApOworICAgICAgICBtX2JhY2tpbmdTdG9y
ZUJpdG1hcCA9IDA7CisgICAgfQorfQorCit2b2lkIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVBy
b3h5OjpwbGF0Zm9ybVBhaW50KGNvbnN0IEludFJlY3QmIHJlY3QsIEdka1dpbmRvdyogd2luZG93
KQoreworICAgIGlmICghbV9iYWNraW5nU3RvcmVCaXRtYXApCisgICAgICAgIHJldHVybjsKKwor
ICAgIEdka0dDKiBnYyA9IGdka19nY19uZXcobV9iYWNraW5nU3RvcmVCaXRtYXApOworICAgIC8v
IEJpdEJsdCBmcm9tIHRoZSBiYWNraW5nLXN0b3JlIHRvIHRoZSB3aW5kb3cuCisgICAgZ2RrX2Ry
YXdfZHJhd2FibGUod2luZG93LCBnYywgbV9iYWNraW5nU3RvcmVCaXRtYXAsIHJlY3QueCgpLCBy
ZWN0LnkoKSwgcmVjdC54KCksIHJlY3QueSgpLCByZWN0LndpZHRoKCksIHJlY3QuaGVpZ2h0KCkp
OworICAgIGdfb2JqZWN0X3VucmVmKGdjKTsKKworfQorCit2b2lkIENodW5rZWRVcGRhdGVEcmF3
aW5nQXJlYVByb3h5OjpkcmF3VXBkYXRlQ2h1bmtJbnRvQmFja2luZ1N0b3JlKFVwZGF0ZUNodW5r
KiB1cGRhdGVDaHVuaykKK3sKKyAgICBlbnN1cmVCYWNraW5nU3RvcmUoKTsKKyAgICBJbnRSZWN0
IHJlY3QgPSB1cGRhdGVDaHVuay0+cmVjdCgpOworICAgIGlmICghdXBkYXRlQ2h1bmstPm1lbW9y
eSgpKQorICAgICAgICByZXR1cm47CisKKyAgICBHZGtSZWN0YW5nbGUgZ2RrUmVjdCA9IHJlY3Q7
CisKKyAgICBHZGtHQyogZ2MgPSBnZGtfZ2NfbmV3KHVwZGF0ZUNodW5rLT5tZW1vcnkoKSk7Cisg
ICAgZ2RrX2RyYXdfZHJhd2FibGUobV9iYWNraW5nU3RvcmVCaXRtYXAsIGdjLCB1cGRhdGVDaHVu
ay0+bWVtb3J5KCksIDAsIDAsIHJlY3QueCgpLCByZWN0LnkoKSwgcmVjdC53aWR0aCgpLCByZWN0
LmhlaWdodCgpKTsKKyAgICBnZGtfZGlzcGxheV9zeW5jKGdka19kaXNwbGF5X2dldF9kZWZhdWx0
KCkpOworICAgIGdfb2JqZWN0X3VucmVmKHVwZGF0ZUNodW5rLT5tZW1vcnkoKSk7CisKKyAgICBn
ZGtfd2luZG93X2ludmFsaWRhdGVfcmVjdChtX3dlYlZpZXctPndpbmRvdygpLT53aW5kb3csICZn
ZGtSZWN0LCBmYWxzZSk7Cit9CisKK30gCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
Q29udGV4dEd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNv
bnRleHRHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNv
bnRleHRHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQzIEBACisvKgorICogQ29weXJp
Z2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25z
IENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmlu
YXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRl
ZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAq
IDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZv
cm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQor
ICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGgg
dGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQ
UExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNT
IE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisg
KiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5Z
IERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAq
IENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBS
T0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVT
RSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZF
UiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBD
T05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNV
Q0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXZWJDb250ZXh0LmgiCisKKyNpbmNsdWRlICJB
cHBsaWNhdGlvbkNhY2hlU3RvcmFnZS5oIgorI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K25hbWVzcGFjZSBXZWJLaXQgeworCitXVEY6OlN0cmluZyBXZWJDb250ZXh0OjphcHBsaWNhdGlv
bkNhY2hlRGlyZWN0b3J5KCkKK3sKKyAgICByZXR1cm4gV2ViQ29yZTo6Y2FjaGVTdG9yYWdlKCku
Y2FjaGVEaXJlY3RvcnkoKTsKK30KKwordm9pZCBXZWJDb250ZXh0OjpwbGF0Zm9ybUluaXRpYWxp
emVXZWJQcm9jZXNzKFdlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMmKQoreworfQorCit9IC8v
IG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3LmNw
cAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5jcHAJKHJldmlz
aW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5jcHAJKHJldmlzaW9uIDAp
CkBAIC0wLDAgKzEsMzM0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgIldlYlZpZXcuaCIKKworI2luY2x1ZGUgIkNodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVBy
b3h5LmgiCisjaW5jbHVkZSAiTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIgorI2luY2x1ZGUgIk5v
dEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGxhdGZvcm1TdHJpbmcuaCIKKyNpbmNsdWRlICJX
ZWJFdmVudEZhY3RvcnkuaCIKKyNpbmNsdWRlICJXZWJQYWdlTmFtZXNwYWNlLmgiCisjaW5jbHVk
ZSAiV2ViUGFnZVByb3h5LmgiCisjaW5jbHVkZSAiV2ViVmlld0ludGVybmFsLmgiCisKK3VzaW5n
IG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworZ2Jvb2xlYW4gV2Vi
Vmlldzo6d2ViVmlld09uRXhwb3NlKEd0a1dpZGdldCAqd2lkZ2V0LCBHZGtFdmVudEV4cG9zZSAq
ZXZlbnQpCit7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyogd2lkZ2V0VmlldyA9IFdFQktJVF9XSURH
RVRfVklFVyh3aWRnZXQpOworICAgIGdwb2ludGVyIHdlYlZpZXdJbnN0YW5jZSA9IHdpZGdldFZp
ZXctPnByaXYtPndlYlZpZXdJbnN0YW5jZTsKKyAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gcmVpbnRl
cnByZXRfY2FzdDxXZWJWaWV3Kj4od2ViVmlld0luc3RhbmNlKTsKKyAgICBHZGtSZWN0YW5nbGUg
Y2xpcDsKKyAgICBnZGtfcmVnaW9uX2dldF9jbGlwYm94KGV2ZW50LT5yZWdpb24sICZjbGlwKTsK
KyAgICB3ZWJWaWV3LT5vblBhaW50RXZlbnQod2lkZ2V0LCBjbGlwKTsKKworICAgIHJldHVybiBG
QUxTRTsKK30KKwordm9pZCBXZWJWaWV3Ojp3ZWJWaWV3T25TaXplQWxsb2NhdGUoR3RrV2lkZ2V0
KiB3aWRnZXQsIEd0a0FsbG9jYXRpb24qIGFsbG9jYXRpb24pCit7CisgICAgR09iamVjdENsYXNz
KiBwYXJlbnRDbGFzcyA9IChHT2JqZWN0Q2xhc3MqKWdfdHlwZV9jbGFzc19wZWVrX3BhcmVudChX
RUJLSVRfV0lER0VUX1ZJRVdfR0VUX0NMQVNTKHdpZGdldCkpOworICAgIEdUS19XSURHRVRfQ0xB
U1MocGFyZW50Q2xhc3MpLT5zaXplX2FsbG9jYXRlKHdpZGdldCwgYWxsb2NhdGlvbik7CisgICAg
V2ViS2l0V2lkZ2V0Vmlldyogd2lkZ2V0VmlldyA9IFdFQktJVF9XSURHRVRfVklFVyh3aWRnZXQp
OworICAgIGdwb2ludGVyIHdlYlZpZXdJbnN0YW5jZSA9IHdpZGdldFZpZXctPnByaXYtPndlYlZp
ZXdJbnN0YW5jZTsKKyAgICBXZWJWaWV3KiB3ZWJWaWV3ID0gcmVpbnRlcnByZXRfY2FzdDxXZWJW
aWV3Kj4od2ViVmlld0luc3RhbmNlKTsKKworICAgIHdlYlZpZXctPm9uU2l6ZUV2ZW50KHdpZGdl
dCwgSW50U2l6ZShhbGxvY2F0aW9uLT53aWR0aCwgYWxsb2NhdGlvbi0+aGVpZ2h0KSk7Cit9CisK
K2dib29sZWFuIFdlYlZpZXc6OndlYlZpZXdGb2N1c0luRXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQs
IEdka0V2ZW50Rm9jdXMqIGV2ZW50KQoreworICAgIFdlYktpdFdpZGdldFZpZXcqIHdpZGdldFZp
ZXcgPSBXRUJLSVRfV0lER0VUX1ZJRVcod2lkZ2V0KTsKKyAgICBncG9pbnRlciB3ZWJWaWV3SW5z
dGFuY2UgPSB3aWRnZXRWaWV3LT5wcml2LT53ZWJWaWV3SW5zdGFuY2U7CisgICAgV2ViVmlldyog
d2ViVmlldyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViVmlldyo+KHdlYlZpZXdJbnN0YW5jZSk7Cisg
ICAgCisgICAgR3RrV2lkZ2V0KiB0b3BsZXZlbCA9IGd0a193aWRnZXRfZ2V0X3RvcGxldmVsKHdp
ZGdldCk7CisgICAgaWYgKEdUS19XSURHRVRfVE9QTEVWRUwodG9wbGV2ZWwpICYmIGd0a193aW5k
b3dfaGFzX3RvcGxldmVsX2ZvY3VzKEdUS19XSU5ET1codG9wbGV2ZWwpKSkgeworICAgICAgICBn
dGtfaW1fY29udGV4dF9mb2N1c19pbih3aWRnZXRWaWV3LT5wcml2LT5pbUNvbnRleHQpOworICAg
ICAgICBpZiAoISh3ZWJWaWV3LT5tX2lzUGFnZUFjdGl2ZSkpIHsKKyAgICAgICAgICAgIHdlYlZp
ZXctPm1faXNQYWdlQWN0aXZlID0gdHJ1ZTsKKyAgICAgICAgICAgIHdlYlZpZXctPnVwZGF0ZUFj
dGl2ZVN0YXRlKCk7CisgICAgICAgIH0KKyAgICAgICAgd2ViVmlldy0+b25TZXRGb2N1c0V2ZW50
KHdpZGdldCwgdHJ1ZSk7CisgICAgfQorCisgICAgR09iamVjdENsYXNzKiBwYXJlbnRDbGFzcyA9
IChHT2JqZWN0Q2xhc3MqKWdfdHlwZV9jbGFzc19wZWVrX3BhcmVudChXRUJLSVRfV0lER0VUX1ZJ
RVdfR0VUX0NMQVNTKHdpZGdldCkpOworICAgIHJldHVybiBHVEtfV0lER0VUX0NMQVNTKHBhcmVu
dENsYXNzKS0+Zm9jdXNfaW5fZXZlbnQod2lkZ2V0LCBldmVudCk7Cit9CisKK2dib29sZWFuIFdl
YlZpZXc6OndlYlZpZXdGb2N1c091dEV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEZv
Y3VzKiBldmVudCkKK3sKKyAgICBXZWJLaXRXaWRnZXRWaWV3KiB3aWRnZXRWaWV3ID0gV0VCS0lU
X1dJREdFVF9WSUVXKHdpZGdldCk7CisgICAgZ3BvaW50ZXIgd2ViVmlld0luc3RhbmNlID0gd2lk
Z2V0Vmlldy0+cHJpdi0+d2ViVmlld0luc3RhbmNlOworICAgIFdlYlZpZXcqIHdlYlZpZXcgPSBy
ZWludGVycHJldF9jYXN0PFdlYlZpZXcqPih3ZWJWaWV3SW5zdGFuY2UpOworCisgICAgd2ViVmll
dy0+b25LaWxsRm9jdXNFdmVudCh3aWRnZXQsIGZhbHNlKTsKKyAgICB3ZWJWaWV3LT5tX2lzUGFn
ZUFjdGl2ZSA9IGZhbHNlOyAKKyAgICB3ZWJWaWV3LT51cGRhdGVBY3RpdmVTdGF0ZSgpOworICAg
IGlmICh3aWRnZXRWaWV3LT5wcml2LT5pbUNvbnRleHQpCisgICAgICAgIGd0a19pbV9jb250ZXh0
X2ZvY3VzX291dCh3aWRnZXRWaWV3LT5wcml2LT5pbUNvbnRleHQpOworICAgIAorICAgIEdPYmpl
Y3RDbGFzcyogcGFyZW50Q2xhc3MgPSAoR09iamVjdENsYXNzKilnX3R5cGVfY2xhc3NfcGVla19w
YXJlbnQoV0VCS0lUX1dJREdFVF9WSUVXX0dFVF9DTEFTUyh3aWRnZXQpKTsKKyAgICByZXR1cm4g
R1RLX1dJREdFVF9DTEFTUyhwYXJlbnRDbGFzcyktPmZvY3VzX291dF9ldmVudCh3aWRnZXQsIGV2
ZW50KTsKK30KKworZ2Jvb2xlYW4gV2ViVmlldzo6d2ViVmlld0tleVByZXNzRXZlbnQoR3RrV2lk
Z2V0KiB3aWRnZXQsIEdka0V2ZW50S2V5KiBldmVudCkKK3sKKyAgICBXZWJLaXRXaWRnZXRWaWV3
KiB3aWRnZXRWaWV3ID0gV0VCS0lUX1dJREdFVF9WSUVXKHdpZGdldCk7CisgICAgZ3BvaW50ZXIg
d2ViVmlld0luc3RhbmNlID0gd2lkZ2V0Vmlldy0+cHJpdi0+d2ViVmlld0luc3RhbmNlOworICAg
IFdlYlZpZXcqIHdlYlZpZXcgPSByZWludGVycHJldF9jYXN0PFdlYlZpZXcqPih3ZWJWaWV3SW5z
dGFuY2UpOworICAgIHdlYlZpZXctPm9uS2V5RXZlbnQoZXZlbnQpOworICAgIAorICAgIEdPYmpl
Y3RDbGFzcyogcGFyZW50Q2xhc3MgPSAoR09iamVjdENsYXNzKilnX3R5cGVfY2xhc3NfcGVla19w
YXJlbnQoV0VCS0lUX1dJREdFVF9WSUVXX0dFVF9DTEFTUyh3aWRnZXQpKTsKKyAgICByZXR1cm4g
R1RLX1dJREdFVF9DTEFTUyhwYXJlbnRDbGFzcyktPmtleV9wcmVzc19ldmVudCh3aWRnZXQsIGV2
ZW50KTsKK30KKworZ2Jvb2xlYW4gV2ViVmlldzo6d2ViVmlld0tleVJlbGVhc2VFdmVudChHdGtX
aWRnZXQqIHdpZGdldCwgR2RrRXZlbnRLZXkqIGV2ZW50KQoreworICAgIFdlYktpdFdpZGdldFZp
ZXcqIHdpZGdldFZpZXcgPSBXRUJLSVRfV0lER0VUX1ZJRVcod2lkZ2V0KTsKKyAgICBncG9pbnRl
ciB3ZWJWaWV3SW5zdGFuY2UgPSB3aWRnZXRWaWV3LT5wcml2LT53ZWJWaWV3SW5zdGFuY2U7Cisg
ICAgV2ViVmlldyogd2ViVmlldyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViVmlldyo+KHdlYlZpZXdJ
bnN0YW5jZSk7CisKKyAgICBpZiAoZ3RrX2ltX2NvbnRleHRfZmlsdGVyX2tleXByZXNzKHdpZGdl
dFZpZXctPnByaXYtPmltQ29udGV4dCwgZXZlbnQpKQorICAgICAgICByZXR1cm4gVFJVRTsKKyAg
ICB3ZWJWaWV3LT5vbktleUV2ZW50KGV2ZW50KTsKKworICAgIEdPYmplY3RDbGFzcyogcGFyZW50
Q2xhc3MgPSAoR09iamVjdENsYXNzKilnX3R5cGVfY2xhc3NfcGVla19wYXJlbnQoV0VCS0lUX1dJ
REdFVF9WSUVXX0dFVF9DTEFTUyh3aWRnZXQpKTsKKyAgICByZXR1cm4gR1RLX1dJREdFVF9DTEFT
UyhwYXJlbnRDbGFzcyktPmtleV9yZWxlYXNlX2V2ZW50KHdpZGdldCwgZXZlbnQpOworfQorCitn
Ym9vbGVhbiBXZWJWaWV3Ojp3ZWJWaWV3QnV0dG9uUHJlc3NFdmVudChHdGtXaWRnZXQqIHdpZGdl
dCwgR2RrRXZlbnRCdXR0b24qIGNvbnN0IGV2ZW50KQoreworICAgIFdlYktpdFdpZGdldFZpZXcq
IHdpZGdldFZpZXcgPSBXRUJLSVRfV0lER0VUX1ZJRVcod2lkZ2V0KTsKKyAgICBncG9pbnRlciB3
ZWJWaWV3SW5zdGFuY2UgPSB3aWRnZXRWaWV3LT5wcml2LT53ZWJWaWV3SW5zdGFuY2U7CisgICAg
V2ViVmlldyogd2ViVmlldyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViVmlldyo+KHdlYlZpZXdJbnN0
YW5jZSk7CisgICAgZ3RrX3dpZGdldF9ncmFiX2ZvY3VzKHdpZGdldCk7CisgICAgd2ViVmlldy0+
b25Nb3VzZUV2ZW50KChHZGtFdmVudEFueSAqKWV2ZW50KTsKKworICAgIHJldHVybiBGQUxTRTsK
K30KKworZ2Jvb2xlYW4gV2ViVmlldzo6d2ViVmlld0J1dHRvblJlbGVhc2VFdmVudChHdGtXaWRn
ZXQqIHdpZGdldCwgR2RrRXZlbnRCdXR0b24qIGV2ZW50KQoreworICAgIFdlYktpdFdpZGdldFZp
ZXcqIHdpZGdldFZpZXcgPSBXRUJLSVRfV0lER0VUX1ZJRVcod2lkZ2V0KTsKKyAgICBncG9pbnRl
ciB3ZWJWaWV3SW5zdGFuY2UgPSB3aWRnZXRWaWV3LT5wcml2LT53ZWJWaWV3SW5zdGFuY2U7Cisg
ICAgV2ViVmlldyogd2ViVmlldyA9IHJlaW50ZXJwcmV0X2Nhc3Q8V2ViVmlldyo+KHdlYlZpZXdJ
bnN0YW5jZSk7CisgICAgZ3RrX3dpZGdldF9ncmFiX2ZvY3VzKHdpZGdldCk7CisgICAgd2ViVmll
dy0+b25Nb3VzZUV2ZW50KChHZGtFdmVudEFueSAqKWV2ZW50KTsKKworICAgIHJldHVybiBGQUxT
RTsKK30KKworZ2Jvb2xlYW4gV2ViVmlldzo6d2ViVmlld1Njcm9sbEV2ZW50KEd0a1dpZGdldCog
d2lkZ2V0LCBHZGtFdmVudFNjcm9sbCogZXZlbnQpCit7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyog
d2lkZ2V0VmlldyA9IFdFQktJVF9XSURHRVRfVklFVyh3aWRnZXQpOworICAgIGdwb2ludGVyIHdl
YlZpZXdJbnN0YW5jZSA9IHdpZGdldFZpZXctPnByaXYtPndlYlZpZXdJbnN0YW5jZTsKKyAgICBX
ZWJWaWV3KiB3ZWJWaWV3ID0gcmVpbnRlcnByZXRfY2FzdDxXZWJWaWV3Kj4od2ViVmlld0luc3Rh
bmNlKTsKKyAgICB3ZWJWaWV3LT5vbldoZWVsRXZlbnQoZXZlbnQpOworCisgICAgcmV0dXJuIEZB
TFNFOworfQorCitnYm9vbGVhbiBXZWJWaWV3Ojp3ZWJWaWV3TW90aW9uTm90aWZ5RXZlbnQoR3Rr
V2lkZ2V0KiB3aWRnZXQsIEdka0V2ZW50TW90aW9uKiBldmVudCkKK3sKKyAgICBXZWJLaXRXaWRn
ZXRWaWV3KiB3aWRnZXRWaWV3ID0gV0VCS0lUX1dJREdFVF9WSUVXKHdpZGdldCk7CisgICAgZ3Bv
aW50ZXIgd2ViVmlld0luc3RhbmNlID0gd2lkZ2V0Vmlldy0+cHJpdi0+d2ViVmlld0luc3RhbmNl
OworICAgIFdlYlZpZXcqIHdlYlZpZXcgPSByZWludGVycHJldF9jYXN0PFdlYlZpZXcqPih3ZWJW
aWV3SW5zdGFuY2UpOworICAgIHdlYlZpZXctPm9uTW91c2VFdmVudCgoR2RrRXZlbnRBbnkgKill
dmVudCk7CisKKyAgICByZXR1cm4gRkFMU0U7Cit9CisKK1dlYlZpZXc6OldlYlZpZXcoR2RrUmVj
dGFuZ2xlIHJlY3QsIFdlYlBhZ2VOYW1lc3BhY2UqIHBhZ2VOYW1lc3BhY2UsIEd0a1dpZGdldCog
IGhvc3RXaW5kb3cpCisgICAgOiBtX3JlY3QocmVjdCkKKyAgICAsIG1faG9zdFdpbmRvdyhob3N0
V2luZG93KQorICAgICwgbV9pc1BhZ2VBY3RpdmUodHJ1ZSkKK3sKKyAgICBtX3BhZ2UgPSBwYWdl
TmFtZXNwYWNlLT5jcmVhdGVXZWJQYWdlKCk7CisgICAgbV9wYWdlLT5zZXRQYWdlQ2xpZW50KHRo
aXMpOworICAgIG1fcGFnZS0+c2V0RHJhd2luZ0FyZWEoQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVh
UHJveHk6OmNyZWF0ZSh0aGlzKSk7CisgICAgbV9wYWdlLT5pbml0aWFsaXplV2ViUGFnZShJbnRS
ZWN0KHJlY3QpLnNpemUoKSk7CisKKyAgICBtX3dpbmRvdyA9IChHdGtXaWRnZXQqKWdfb2JqZWN0
X25ldyhXRUJLSVRfVFlQRV9XSURHRVRfVklFVywgTlVMTCk7IAorICAgIEFTU0VSVChtX3dpbmRv
dyk7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyogd2ViVmlldyA9IFdFQktJVF9XSURHRVRfVklFVyht
X3dpbmRvdyk7CisgICAgd2ViVmlldy0+cHJpdi0+d2ViVmlld0luc3RhbmNlID0gcmVpbnRlcnBy
ZXRfY2FzdDxncG9pbnRlcj4odGhpcyk7Cit9CisKK1dlYlZpZXc6On5XZWJWaWV3KCkKK3sKK30K
Kwordm9pZCBXZWJWaWV3OjpzZXRIb3N0V2luZG93KEd0a1dpZGdldCogaG9zdFdpbmRvdykKK3sK
KyAgICBtX2hvc3RXaW5kb3cgPSBob3N0V2luZG93OworfQorCit2b2lkIFdlYlZpZXc6Om9uUGFp
bnRFdmVudChHdGtXaWRnZXQqIHdpZGdldCwgR2RrUmVjdGFuZ2xlIHJlY3QpCit7CisgICAgR2Rr
V2luZG93KiB3aW5kb3cgPSB3aWRnZXQtPndpbmRvdzsKKyAgICBBU1NFUlQod2luZG93KTsKKyAg
ICBtX3BhZ2UtPmRyYXdpbmdBcmVhKCktPnBhaW50KEludFJlY3QocmVjdCksIHdpbmRvdyk7Cit9
CisKK3ZvaWQgV2ViVmlldzo6b25TaXplRXZlbnQoR3RrV2lkZ2V0KiwgSW50U2l6ZSBzaXplKQor
eworICAgIG1fcGFnZS0+ZHJhd2luZ0FyZWEoKS0+c2V0U2l6ZShzaXplKTsKK30KKwordm9pZCBX
ZWJWaWV3OjpvblNldEZvY3VzRXZlbnQoR3RrV2lkZ2V0KiwgYm9vbCkKK3sKKyAgICBtX3BhZ2Ut
PnNldEZvY3VzZWQodHJ1ZSk7Cit9CisKK3ZvaWQgV2ViVmlldzo6b25LaWxsRm9jdXNFdmVudChH
dGtXaWRnZXQqLCBib29sKQoreworICAgIG1fcGFnZS0+c2V0Rm9jdXNlZChmYWxzZSk7Cit9CisK
K3ZvaWQgV2ViVmlldzo6b25LZXlFdmVudChHZGtFdmVudEtleSAqZXZlbnQpCit7CisgICAgbV9w
YWdlLT5oYW5kbGVLZXlib2FyZEV2ZW50KE5hdGl2ZVdlYktleWJvYXJkRXZlbnQoZXZlbnQpKTsK
K30KKwordm9pZCBXZWJWaWV3Ojpvbk1vdXNlRXZlbnQoR2RrRXZlbnRBbnkgKmV2ZW50KQorewor
ICAgIFdlYk1vdXNlRXZlbnQgbW91c2VFdmVudCA9IFdlYkV2ZW50RmFjdG9yeTo6Y3JlYXRlV2Vi
TW91c2VFdmVudChldmVudCk7CisgICAgbV9wYWdlLT5oYW5kbGVNb3VzZUV2ZW50KG1vdXNlRXZl
bnQpOworfQorCit2b2lkIFdlYlZpZXc6Om9uV2hlZWxFdmVudChHZGtFdmVudFNjcm9sbCAqZXZl
bnQpCit7CisgICAgV2ViV2hlZWxFdmVudCB3aGVlbEV2ZW50ID0gV2ViRXZlbnRGYWN0b3J5Ojpj
cmVhdGVXZWJXaGVlbEV2ZW50KGV2ZW50KTsKKyAgICBtX3BhZ2UtPmhhbmRsZVdoZWVsRXZlbnQo
d2hlZWxFdmVudCk7Cit9CisKK2Jvb2wgV2ViVmlldzo6aXNBY3RpdmUoKQoreworICAgIHJldHVy
biBtX2lzUGFnZUFjdGl2ZTsKK30KKwordm9pZCBXZWJWaWV3Ojp1cGRhdGVBY3RpdmVTdGF0ZSgp
Cit7CisgICAgbV9wYWdlLT5zZXRBY3RpdmUoaXNBY3RpdmUoKSk7Cit9CisKK3ZvaWQgV2ViVmll
dzo6Y2xvc2UoKQoreworICAgIG1fcGFnZS0+Y2xvc2UoKTsKK30KKworLy8gUGFnZUNsaWVudCdz
IHB1cmUgdmlydHVhbCBmdW5jdGlvbnMKK3ZvaWQgV2ViVmlldzo6cHJvY2Vzc0RpZEV4aXQoKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2ViVmlldzo6cHJvY2Vzc0RpZFJl
dml2ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJWaWV3Ojp0YWtl
Rm9jdXMoYm9vbCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdlYlZpZXc6
OnRvb2xUaXBDaGFuZ2VkKGNvbnN0IFN0cmluZyYsIGNvbnN0IFN0cmluZyYpCit7CisgICAgbm90
SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJWaWV3OjpzZXRDdXJzb3IoY29uc3QgQ3Vyc29y
JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdlYlZpZXc6OnNldFZpZXdw
b3J0QXJndW1lbnRzKGNvbnN0IFdlYkNvcmU6OlZpZXdwb3J0QXJndW1lbnRzJikKK3sKKyAgICBu
b3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFdlYlZpZXc6OnJlZ2lzdGVyRWRpdENvbW1hbmQo
UGFzc1JlZlB0cjxXZWJFZGl0Q29tbWFuZFByb3h5PiwgV2ViUGFnZVByb3h5OjpVbmRvT3JSZWRv
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2ViVmlldzo6Y2xlYXJBbGxF
ZGl0Q29tbWFuZHMoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2ViVmll
dzo6c2V0RWRpdENvbW1hbmRTdGF0ZShjb25zdCBTdHJpbmcmLCBib29sLCBpbnQpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKworRmxvYXRSZWN0IFdlYlZpZXc6OmNvbnZlcnRUb0Rldmlj
ZVNwYWNlKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOwor
ICAgIHJldHVybiByZWN0OworfQorCitGbG9hdFJlY3QgV2ViVmlldzo6Y29udmVydFRvVXNlclNw
YWNlKGNvbnN0IEZsb2F0UmVjdCYgcmVjdCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAg
IHJldHVybiByZWN0OworfQorCit2b2lkIFdlYlZpZXc6OmRpZE5vdEhhbmRsZUtleUV2ZW50KGNv
bnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK1Bhc3NSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IFdlYlZpZXc6OmNyZWF0ZVBv
cHVwTWVudVByb3h5KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIC8vIEZJWE1FOjpO
ZWVkIHRvIGltcGxlbWVudCBXZWJQb3B1cE1lbnVQcm94eQorICAgIHJldHVybiAwOworfQorCit2
b2lkIFdlYlZpZXc6OnNldEZpbmRJbmRpY2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwg
Ym9vbCBmYWRlT3V0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKKyNpZiBVU0UoQUND
RUxFUkFURURfQ09NUE9TSVRJTkcpCit2b2lkIFdlYlZpZXc6OnBhZ2VEaWRFbnRlckFjY2VsZXJh
dGVkQ29tcG9zaXRpbmcoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgV2Vi
Vmlldzo6cGFnZURpZExlYXZlQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKyNlbmRpZiAvLyBVU0UoQUNDRUxFUkFURURfQ09NUE9TSVRJTkcpCisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZp
ZXcuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5oCShyZXZp
c2lvbiAwKQorKysgV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXcuaAkocmV2aXNpb24gMCkK
QEAgLTAsMCArMSwxMTcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNv
dXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAq
IDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9v
ciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAq
IFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJV
VE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMs
IElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElF
UyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVS
UE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMg
Q09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMg
KElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJ
VFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9S
IEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhF
T1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJ
VFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJ
TkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFE
VklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZu
ZGVmIFdlYlZpZXdfaAorI2RlZmluZSBXZWJWaWV3X2gKKworI2luY2x1ZGUgIlBhZ2VDbGllbnQu
aCIKKyNpbmNsdWRlICJXZWJQYWdlUHJveHkuaCIKKworI2luY2x1ZGUgPFdlYkNvcmUvSW50U2l6
ZS5oPgorI2luY2x1ZGUgPGdkay9nZGsuaD4KKyNpbmNsdWRlIDxnbGliLmg+CisjaW5jbHVkZSA8
Z3RrL2d0ay5oPgorI2luY2x1ZGUgPHd0Zi9QYXNzUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1Jl
ZkNvdW50ZWQuaD4KKyNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitjbGFzcyBEcmF3aW5nQXJlYVByb3h5OworY2xhc3MgV2ViUGFnZU5hbWVzcGFjZTsKKwor
Y2xhc3MgV2ViVmlldyA6IHB1YmxpYyBSZWZDb3VudGVkPFdlYlZpZXc+LCBwdWJsaWMgUGFnZUNs
aWVudCB7CitwdWJsaWM6CisgICAgfldlYlZpZXcoKTsKKyAgICBHZGtSZWN0YW5nbGUgcmVjdCgp
IGNvbnN0IHsgcmV0dXJuIG1fcmVjdDt9CisgICAgc3RhdGljIGdib29sZWFuIHdlYlZpZXdPbkV4
cG9zZShHdGtXaWRnZXQgKndpZGdldCwgR2RrRXZlbnRFeHBvc2UgKmV2ZW50KTsKKyAgICBzdGF0
aWMgdm9pZCB3ZWJWaWV3T25TaXplQWxsb2NhdGUoR3RrV2lkZ2V0KiB3aWRnZXQsIEd0a0FsbG9j
YXRpb24qIGFsbG9jYXRpb24pOworICAgIHN0YXRpYyBnYm9vbGVhbiB3ZWJWaWV3Rm9jdXNJbkV2
ZW50KEd0a1dpZGdldCAqd2lkZ2V0LCBHZGtFdmVudEZvY3VzICpldmVudCk7CisgICAgc3RhdGlj
IGdib29sZWFuIHdlYlZpZXdGb2N1c091dEV2ZW50KEd0a1dpZGdldCAqd2lkZ2V0LCBHZGtFdmVu
dEZvY3VzICpldmVudCk7CisgICAgc3RhdGljIGdib29sZWFuIHdlYlZpZXdLZXlQcmVzc0V2ZW50
KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEtleSogZXZlbnQpOworICAgIHN0YXRpYyBnYm9v
bGVhbiB3ZWJWaWV3S2V5UmVsZWFzZUV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudEtl
eSogZXZlbnQpOworICAgIHN0YXRpYyBnYm9vbGVhbiB3ZWJWaWV3QnV0dG9uUHJlc3NFdmVudChH
dGtXaWRnZXQqIHdpZGdldCwgR2RrRXZlbnRCdXR0b24qIGNvbnN0IGV2ZW50KTsKKyAgICBzdGF0
aWMgZ2Jvb2xlYW4gd2ViVmlld0J1dHRvblJlbGVhc2VFdmVudChHdGtXaWRnZXQqIHdpZGdldCwg
R2RrRXZlbnRCdXR0b24qIGV2ZW50KTsKKyAgICBzdGF0aWMgZ2Jvb2xlYW4gd2ViVmlld1Njcm9s
bEV2ZW50KEd0a1dpZGdldCogd2lkZ2V0LCBHZGtFdmVudFNjcm9sbCogZXZlbnQpOworICAgIHN0
YXRpYyBnYm9vbGVhbiB3ZWJWaWV3TW90aW9uTm90aWZ5RXZlbnQoR3RrV2lkZ2V0KiB3aWRnZXQs
IEdka0V2ZW50TW90aW9uKiBldmVudCk7CisKKyAgICBzdGF0aWMgUGFzc1JlZlB0cjxXZWJWaWV3
PiBjcmVhdGUoR2RrUmVjdGFuZ2xlIHJlY3QsIFdlYlBhZ2VOYW1lc3BhY2UqIHBhZ2VOYW1lc3Bh
Y2UsIEd0a1dpZGdldCogaG9zdFdpbmRvdykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJl
ZihuZXcgV2ViVmlldyhyZWN0LCBwYWdlTmFtZXNwYWNlLCBob3N0V2luZG93KSk7CisgICAgfQor
CisgICAgR3RrV2lkZ2V0KiB3aW5kb3coKSBjb25zdCB7IHJldHVybiBtX3dpbmRvdzsgfQorICAg
IEd0a1dpZGdldCogaG9zdFdpbmRvdygpIGNvbnN0IHsgcmV0dXJuIG1faG9zdFdpbmRvdzsgfQor
ICAgIHZvaWQgc2V0SG9zdFdpbmRvdyhHdGtXaWRnZXQqKTsKKworICAgIFdlYlBhZ2VQcm94eSog
cGFnZSgpIGNvbnN0IHsgcmV0dXJuIG1fcGFnZS5nZXQoKTsgfQorCitwcml2YXRlOgorICAgIFdl
YlZpZXcoR2RrUmVjdGFuZ2xlLCBXZWJQYWdlTmFtZXNwYWNlKiwgR3RrV2lkZ2V0KiBob3N0V2lu
ZG93KTsKKworICAgIHZvaWQgb25QYWludEV2ZW50KEd0a1dpZGdldCosIEdka1JlY3RhbmdsZSk7
CisgICAgdm9pZCBvblNpemVFdmVudChHdGtXaWRnZXQqLCBXZWJDb3JlOjpJbnRTaXplKTsKKyAg
ICB2b2lkIG9uU2V0Rm9jdXNFdmVudChHdGtXaWRnZXQqLCBib29sKTsKKyAgICB2b2lkIG9uS2ls
bEZvY3VzRXZlbnQoR3RrV2lkZ2V0KiwgYm9vbCk7CisgICAgdm9pZCBvbktleUV2ZW50KEdka0V2
ZW50S2V5ICopOworICAgIHZvaWQgb25Nb3VzZUV2ZW50KEdka0V2ZW50QW55ICopOworICAgIHZv
aWQgb25XaGVlbEV2ZW50KEdka0V2ZW50U2Nyb2xsICpldmVudCk7CisKKyAgICBib29sIGlzQWN0
aXZlKCk7CisgICAgdm9pZCB1cGRhdGVBY3RpdmVTdGF0ZSgpOworICAgIHZvaWQgY2xvc2UoKTsK
KworICAgIC8vIFBhZ2VDbGllbnQKKyAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZEV4aXQoKTsK
KyAgICB2aXJ0dWFsIHZvaWQgcHJvY2Vzc0RpZFJldml2ZSgpOworICAgIHZpcnR1YWwgdm9pZCB0
YWtlRm9jdXMoYm9vbCBkaXJlY3Rpb24pOworICAgIHZpcnR1YWwgdm9pZCB0b29sVGlwQ2hhbmdl
ZChjb25zdCBXVEY6OlN0cmluZyYsIGNvbnN0IFdURjo6U3RyaW5nJik7CisgICAgdmlydHVhbCB2
b2lkIHNldEN1cnNvcihjb25zdCBXZWJDb3JlOjpDdXJzb3ImKTsKKyAgICB2aXJ0dWFsIHZvaWQg
c2V0Vmlld3BvcnRBcmd1bWVudHMoY29uc3QgV2ViQ29yZTo6Vmlld3BvcnRBcmd1bWVudHMmKTsK
KyAgICB2aXJ0dWFsIHZvaWQgcmVnaXN0ZXJFZGl0Q29tbWFuZChQYXNzUmVmUHRyPFdlYkVkaXRD
b21tYW5kUHJveHk+LCBXZWJQYWdlUHJveHk6OlVuZG9PclJlZG8pOworICAgIHZpcnR1YWwgdm9p
ZCBjbGVhckFsbEVkaXRDb21tYW5kcygpOworICAgIHZpcnR1YWwgdm9pZCBzZXRFZGl0Q29tbWFu
ZFN0YXRlKGNvbnN0IFdURjo6U3RyaW5nJiwgYm9vbCwgaW50KTsKKyAgICB2aXJ0dWFsIFdlYkNv
cmU6OkZsb2F0UmVjdCBjb252ZXJ0VG9EZXZpY2VTcGFjZShjb25zdCBXZWJDb3JlOjpGbG9hdFJl
Y3QmKTsKKyAgICB2aXJ0dWFsIFdlYkNvcmU6OkZsb2F0UmVjdCBjb252ZXJ0VG9Vc2VyU3BhY2Uo
Y29uc3QgV2ViQ29yZTo6RmxvYXRSZWN0Jik7CisgICAgdmlydHVhbCB2b2lkIGRpZE5vdEhhbmRs
ZUtleUV2ZW50KGNvbnN0IE5hdGl2ZVdlYktleWJvYXJkRXZlbnQmKTsKKyAgICB2aXJ0dWFsIFBh
c3NSZWZQdHI8V2ViUG9wdXBNZW51UHJveHk+IGNyZWF0ZVBvcHVwTWVudVByb3h5KCk7CisgICAg
dmlydHVhbCB2b2lkIHNldEZpbmRJbmRpY2F0b3IoUGFzc1JlZlB0cjxGaW5kSW5kaWNhdG9yPiwg
Ym9vbCBmYWRlT3V0KTsKKworI2lmIFVTRShBQ0NFTEVSQVRFRF9DT01QT1NJVElORykKKyAgICB2
aXJ0dWFsIHZvaWQgcGFnZURpZEVudGVyQWNjZWxlcmF0ZWRDb21wb3NpdGluZygpOworICAgIHZp
cnR1YWwgdm9pZCBwYWdlRGlkTGVhdmVBY2NlbGVyYXRlZENvbXBvc2l0aW5nKCk7CisjZW5kaWYK
KworICAgIEdka1JlY3RhbmdsZSBtX3JlY3Q7CisgICAgR3RrV2lkZ2V0KiBtX3dpbmRvdzsKKyAg
ICBHdGtXaWRnZXQqIG1faG9zdFdpbmRvdzsKKyAgICBib29sIG1faXNQYWdlQWN0aXZlOworICAg
IFJlZlB0cjxXZWJQYWdlUHJveHk+IG1fcGFnZTsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktp
dAorCisjZW5kaWYgLy8gV2ViVmlld19oCkluZGV4OiBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
Vmlld0ludGVybmFsLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
Vmlld0ludGVybmFsLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvVUlQcm9jZXNzL2d0ay9X
ZWJWaWV3SW50ZXJuYWwuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDE0OCBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXZWJWaWV3SW50ZXJuYWwuaCIK
KworI2luY2x1ZGUgIldlYlZpZXcuaCIKKworc3RhdGljIEdPYmplY3RDbGFzcyAqcGFyZW50Q2xh
c3MgPSAwOworCitzdGF0aWMgdm9pZCB3ZWJraXRXaWRnZXRWaWV3UmVhbGl6ZShHdGtXaWRnZXQq
IHdpZGdldCkKK3sKKyAgICBHVEtfV0lER0VUX1NFVF9GTEFHUyh3aWRnZXQsIEdUS19SRUFMSVpF
RCk7CisKKyAgICBHZGtXaW5kb3dBdHRyIGF0dHJpYnV0ZXM7CisgICAgYXR0cmlidXRlcy53aW5k
b3dfdHlwZSA9IEdES19XSU5ET1dfQ0hJTEQ7CisgICAgYXR0cmlidXRlcy54ID0gd2lkZ2V0LT5h
bGxvY2F0aW9uLng7CisgICAgYXR0cmlidXRlcy55ID0gd2lkZ2V0LT5hbGxvY2F0aW9uLnk7Cisg
ICAgYXR0cmlidXRlcy53aWR0aCA9IHdpZGdldC0+YWxsb2NhdGlvbi53aWR0aDsKKyAgICBhdHRy
aWJ1dGVzLmhlaWdodCA9IHdpZGdldC0+YWxsb2NhdGlvbi5oZWlnaHQ7CisgICAgYXR0cmlidXRl
cy53Y2xhc3MgPSBHREtfSU5QVVRfT1VUUFVUOworICAgIGF0dHJpYnV0ZXMudmlzdWFsID0gZ3Rr
X3dpZGdldF9nZXRfdmlzdWFsKHdpZGdldCk7CisgICAgYXR0cmlidXRlcy5jb2xvcm1hcCA9IGd0
a193aWRnZXRfZ2V0X2NvbG9ybWFwKHdpZGdldCk7CisgICAgYXR0cmlidXRlcy5ldmVudF9tYXNr
ID0gR0RLX1ZJU0lCSUxJVFlfTk9USUZZX01BU0sgfCBHREtfRVhQT1NVUkVfTUFTSyB8IEdES19C
VVRUT05fUFJFU1NfTUFTSyB8IEdES19CVVRUT05fUkVMRUFTRV9NQVNLIHwgR0RLX1BPSU5URVJf
TU9USU9OX01BU0sgfCBHREtfS0VZX1BSRVNTX01BU0sgfCBHREtfS0VZX1JFTEVBU0VfTUFTSwor
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgR0RLX0JVVFRPTl9NT1RJT05fTUFTSyB8IEdE
S19CVVRUT04xX01PVElPTl9NQVNLIHwgR0RLX0JVVFRPTjJfTU9USU9OX01BU0sgfCBHREtfQlVU
VE9OM19NT1RJT05fTUFTSzsKKworICAgIGdpbnQgYXR0cmlidXRlc01hc2sgPSBHREtfV0FfWCB8
IEdES19XQV9ZIHwgR0RLX1dBX1ZJU1VBTCB8IEdES19XQV9DT0xPUk1BUDsKKyAgICB3aWRnZXQt
PndpbmRvdyA9IGdka193aW5kb3dfbmV3KGd0a193aWRnZXRfZ2V0X3BhcmVudF93aW5kb3cod2lk
Z2V0KSwgJmF0dHJpYnV0ZXMsIGF0dHJpYnV0ZXNNYXNrKTsKKyAgICBnZGtfd2luZG93X3NldF91
c2VyX2RhdGEod2lkZ2V0LT53aW5kb3csIHdpZGdldCk7CisgICAgd2lkZ2V0LT5zdHlsZSA9IGd0
a19zdHlsZV9hdHRhY2god2lkZ2V0LT5zdHlsZSwgd2lkZ2V0LT53aW5kb3cpOworICAgIGd0a19z
dHlsZV9zZXRfYmFja2dyb3VuZCh3aWRnZXQtPnN0eWxlLCB3aWRnZXQtPndpbmRvdywgR1RLX1NU
QVRFX05PUk1BTCk7CisgICAgV2ViS2l0V2lkZ2V0Vmlldyogd2ViVmlldyA9IFdFQktJVF9XSURH
RVRfVklFVyh3aWRnZXQpOworICAgIGd0a19pbV9jb250ZXh0X3NldF9jbGllbnRfd2luZG93KHdl
YlZpZXctPnByaXYtPmltQ29udGV4dCwgd2lkZ2V0LT53aW5kb3cpOworfQorCitzdGF0aWMgdm9p
ZCB3ZWJraXRXaWRnZXRWaWV3Q29udGFpbmVyQWRkKEd0a0NvbnRhaW5lciogY29udGFpbmVyLCBH
dGtXaWRnZXQqIHdpZGdldCkKK3sKKyAgICBXZWJLaXRXaWRnZXRWaWV3KiB3ZWJWaWV3ID0gV0VC
S0lUX1dJREdFVF9WSUVXKGNvbnRhaW5lcik7CisKKyAgICBpZiAoR1RLX1dJREdFVF9SRUFMSVpF
RChjb250YWluZXIpKQorICAgICAgICBndGtfd2lkZ2V0X3NldF9wYXJlbnRfd2luZG93KHdpZGdl
dCwgR1RLX1dJREdFVCh3ZWJWaWV3KS0+d2luZG93KTsKKyAgICBndGtfd2lkZ2V0X3NldF9wYXJl
bnQod2lkZ2V0LCBHVEtfV0lER0VUKGNvbnRhaW5lcikpOworfQorCitzdGF0aWMgdm9pZAord2Vi
a2l0V2lkZ2V0Vmlld0Rpc3Bvc2UoR09iamVjdCogb2JqKQoreworICAgIFdlYktpdFdpZGdldFZp
ZXcqIHdlYlZpZXcgPSBXRUJLSVRfV0lER0VUX1ZJRVcob2JqKTsKKyAgICBpZiAod2ViVmlldy0+
cHJpdi0+ZGlzcG9zZUhhc1J1bikKKyAgICAgICAgcmV0dXJuOworCisgICAgZ19vYmplY3RfdW5y
ZWYod2ViVmlldy0+cHJpdi0+aW1Db250ZXh0KTsKKyAgICB3ZWJWaWV3LT5wcml2LT5kaXNwb3Nl
SGFzUnVuID0gVFJVRTsKKyAgICBHX09CSkVDVF9DTEFTUyhwYXJlbnRDbGFzcyktPmRpc3Bvc2Uo
b2JqKTsKK30KKworc3RhdGljIHZvaWQKK3dlYmtpdFdpZGdldFZpZXdGaW5hbGl6ZShHT2JqZWN0
KiBvYmopCit7CisgICAgR19PQkpFQ1RfQ0xBU1MocGFyZW50Q2xhc3MpLT5maW5hbGl6ZShvYmop
OworfQorCitzdGF0aWMgdm9pZCB3ZWJraXRXaWRnZXRWaWV3Q2xhc3NJbml0KGdwb2ludGVyIHdp
ZGdldFZpZXdQYXJlbnRDbGFzcywgX19hdHRyaWJ1dGVfXygodW51c2VkKSkgZ3BvaW50ZXIgd2lk
Z2V0Vmlld0NsYXNzRGF0YSkKK3sKKyAgICBXZWJLaXRXaWRnZXRWaWV3Q2xhc3MqIGtsYXNzOwor
ICAgIGtsYXNzID0gc3RhdGljX2Nhc3Q8V2ViS2l0V2lkZ2V0Vmlld0NsYXNzICo+KHdpZGdldFZp
ZXdQYXJlbnRDbGFzcyk7CisgICAgcGFyZW50Q2xhc3MgPSBzdGF0aWNfY2FzdDxHT2JqZWN0Q2xh
c3MgKj4oZ190eXBlX2NsYXNzX3BlZWtfcGFyZW50KGtsYXNzKSk7CisKKyAgICBHdGtXaWRnZXRD
bGFzcyogd2lkZ2V0Q2xhc3MgPSBHVEtfV0lER0VUX0NMQVNTKGtsYXNzKTsKKyAgICB3aWRnZXRD
bGFzcy0+cmVhbGl6ZSA9IHdlYmtpdFdpZGdldFZpZXdSZWFsaXplOworICAgIHdpZGdldENsYXNz
LT5leHBvc2VfZXZlbnQgPSBXZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdPbkV4cG9zZTsKKyAgICB3
aWRnZXRDbGFzcy0+c2l6ZV9hbGxvY2F0ZSA9IFdlYktpdDo6V2ViVmlldzo6d2ViVmlld09uU2l6
ZUFsbG9jYXRlOworICAgIHdpZGdldENsYXNzLT5mb2N1c19pbl9ldmVudCA9IFdlYktpdDo6V2Vi
Vmlldzo6d2ViVmlld0ZvY3VzSW5FdmVudDsKKyAgICB3aWRnZXRDbGFzcy0+Zm9jdXNfb3V0X2V2
ZW50ID0gV2ViS2l0OjpXZWJWaWV3Ojp3ZWJWaWV3Rm9jdXNPdXRFdmVudDsKKyAgICB3aWRnZXRD
bGFzcy0+a2V5X3ByZXNzX2V2ZW50ID0gV2ViS2l0OjpXZWJWaWV3Ojp3ZWJWaWV3S2V5UHJlc3NF
dmVudDsKKyAgICB3aWRnZXRDbGFzcy0+a2V5X3JlbGVhc2VfZXZlbnQgPSBXZWJLaXQ6OldlYlZp
ZXc6OndlYlZpZXdLZXlSZWxlYXNlRXZlbnQ7CisgICAgd2lkZ2V0Q2xhc3MtPmJ1dHRvbl9wcmVz
c19ldmVudCA9IFdlYktpdDo6V2ViVmlldzo6d2ViVmlld0J1dHRvblByZXNzRXZlbnQ7CisgICAg
d2lkZ2V0Q2xhc3MtPmJ1dHRvbl9yZWxlYXNlX2V2ZW50ID0gV2ViS2l0OjpXZWJWaWV3Ojp3ZWJW
aWV3QnV0dG9uUmVsZWFzZUV2ZW50OworICAgIHdpZGdldENsYXNzLT5zY3JvbGxfZXZlbnQgPSBX
ZWJLaXQ6OldlYlZpZXc6OndlYlZpZXdTY3JvbGxFdmVudDsKKyAgICB3aWRnZXRDbGFzcy0+bW90
aW9uX25vdGlmeV9ldmVudCA9IFdlYktpdDo6V2ViVmlldzo6d2ViVmlld01vdGlvbk5vdGlmeUV2
ZW50OworCisgICAgR09iamVjdENsYXNzKiBnb2JqZWN0Q2xhc3MgPSBHX09CSkVDVF9DTEFTUyhr
bGFzcyk7CisgICAgZ29iamVjdENsYXNzLT5maW5hbGl6ZSA9IHdlYmtpdFdpZGdldFZpZXdGaW5h
bGl6ZTsKKyAgICBnb2JqZWN0Q2xhc3MtPmRpc3Bvc2UgPSB3ZWJraXRXaWRnZXRWaWV3RGlzcG9z
ZTsKKworICAgIEd0a0NvbnRhaW5lckNsYXNzKiBjb250YWluZXJDbGFzcyA9IEdUS19DT05UQUlO
RVJfQ0xBU1Moa2xhc3MpOworICAgIGNvbnRhaW5lckNsYXNzLT5hZGQgPSB3ZWJraXRXaWRnZXRW
aWV3Q29udGFpbmVyQWRkOworCisgICAgZ190eXBlX2NsYXNzX2FkZF9wcml2YXRlKGtsYXNzLCBz
aXplb2YoV2ViS2l0V2lkZ2V0Vmlld1ByaXZhdGUpKTsKK30KKworc3RhdGljIHZvaWQgd2Via2l0
V2lkZ2V0Vmlld0luaXQoR1R5cGVJbnN0YW5jZSogaW5zdGFuY2UsIF9fYXR0cmlidXRlX18oKHVu
dXNlZCkpIGdwb2ludGVyIHdpZGdldFZpZXdDbGFzcykKK3sKKyAgICBXZWJLaXRXaWRnZXRWaWV3
KiB3ZWJWaWV3ID0gcmVpbnRlcnByZXRfY2FzdDxXZWJLaXRXaWRnZXRWaWV3Kj4oaW5zdGFuY2Up
OworICAgIFdlYktpdFdpZGdldFZpZXdQcml2YXRlKiBwcml2ID0gV0VCS0lUX1dJREdFVF9WSUVX
X0dFVF9QUklWQVRFKHdlYlZpZXcpOworICAgIHdlYlZpZXctPnByaXYgPSBwcml2OworCisgICAg
R1RLX1dJREdFVF9TRVRfRkxBR1Mod2ViVmlldywgR1RLX0NBTl9GT0NVUyk7CisgICAgcHJpdi0+
aW1Db250ZXh0ID0gZ3RrX2ltX211bHRpY29udGV4dF9uZXcoKTsKKyAgICBwcml2LT5kaXNwb3Nl
SGFzUnVuID0gRkFMU0U7Cit9CisKK0dUeXBlCit3ZWJraXRXaWRnZXRWaWV3R2V0VHlwZSh2b2lk
KQoreworICAgIHN0YXRpYyBHVHlwZSB0eXBlID0gMDsgCisKKyAgICBpZiAoIXR5cGUpIHsKKwor
ICAgICAgICBzdGF0aWMgY29uc3QgR1R5cGVJbmZvIGluZm8gPSB7CisgICAgICAgICAgICBzaXpl
b2YoV2ViS2l0V2lkZ2V0Vmlld0NsYXNzKSwgICAgICAvKiBjbGFzcyBzdHJ1Y3R1cmUgc2l6ZSAq
LworICAgICAgICAgICAgMCwgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLyogYmFz
ZV9pbml0ICovCisgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAvKiBiYXNlX2ZpbmFsaXplICovCisgICAgICAgICAgICAoR0NsYXNzSW5pdEZ1bmMpd2Via2l0
V2lkZ2V0Vmlld0NsYXNzSW5pdCwgLyogY2xhc3MgaW5pdGlhbGl6ZXIgKi8KKyAgICAgICAgICAg
IDAsICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8qIGNsYXNzX2ZpbmFsaXplICov
CisgICAgICAgICAgICAwLCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAvKiBjbGFz
c19kYXRhICovCisgICAgICAgICAgICBzaXplb2YoV2ViS2l0V2lkZ2V0VmlldyksICAgICAgICAg
ICAvKiBpbnN0YW5jZSBzdHJ1Y3R1cmUgc2l6ZSAqLworICAgICAgICAgICAgMCwgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgLyogcHJlYWxsb2NhdGVkIGluc3RhbmNlcyAqLworICAg
ICAgICAgICAgKEdJbnN0YW5jZUluaXRGdW5jKXdlYmtpdFdpZGdldFZpZXdJbml0LCAgIC8qIGlu
c3RhbmNlIGluaXRpYWxpemVyICovCisgICAgICAgICAgICAwICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAvKiBmdW5jdGlvbiB0YWJsZSAqLworICAgICAgICB9OyAgIAorICAgICAg
ICB0eXBlID0gZ190eXBlX3JlZ2lzdGVyX3N0YXRpYyhHVEtfVFlQRV9DT05UQUlORVIsICJXZWJL
aXRXaWRnZXRWaWV3IiwgJmluZm8sIChHVHlwZUZsYWdzKTApOworICAgIH0gICAgCisKKyAgICBy
ZXR1cm4gdHlwZTsKK30KSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJu
YWwuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFs
LmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFs
LmgJKHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNjUgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaWZuZGVmIFdlYlZpZXdJbnRlcm5hbF9oCisjZGVmaW5lIFdlYlZpZXdJbnRl
cm5hbF9oCisKKyNpbmNsdWRlIDxndGsvZ3RrLmg+CisKKyNkZWZpbmUgV0VCS0lUX1RZUEVfV0lE
R0VUX1ZJRVcgICAgICAgICAgICAod2Via2l0V2lkZ2V0Vmlld0dldFR5cGUoKSkKKyNkZWZpbmUg
V0VCS0lUX1dJREdFVF9WSUVXKG9iaikgICAgICAgICAgICAoR19UWVBFX0NIRUNLX0lOU1RBTkNF
X0NBU1QoKG9iaiksIFdFQktJVF9UWVBFX1dJREdFVF9WSUVXLCBXZWJLaXRXaWRnZXRWaWV3KSkK
KyNkZWZpbmUgV0VCS0lUX1dJREdFVF9WSUVXX0NMQVNTKGtsYXNzKSAgICAoR19UWVBFX0NIRUNL
X0NMQVNTX0NBU1QoKGtsYXNzKSwgIFdFQktJVF9UWVBFX1dJREdFVF9WSUVXLCBXZWJLaXRXaWRn
ZXRWaWV3Q2xhc3MpKQorI2RlZmluZSBXRUJLSVRfSVNfV0lER0VUX1ZJRVcob2JqKSAgICAgICAg
IChHX1RZUEVfQ0hFQ0tfSU5TVEFOQ0VfVFlQRSgob2JqKSwgV0VCS0lUX1RZUEVfV0lER0VUX1ZJ
RVcpKQorI2RlZmluZSBXRUJLSVRfSVNfV0lER0VUX1ZJRVdfQ0xBU1Moa2xhc3MpIChHX1RZUEVf
Q0hFQ0tfQ0xBU1NfVFlQRSgoa2xhc3MpLCAgV0VCS0lUX1RZUEVfV0lER0VUX1ZJRVcpKQorI2Rl
ZmluZSBXRUJLSVRfV0lER0VUX1ZJRVdfR0VUX0NMQVNTKG9iaikgIChHX1RZUEVfSU5TVEFOQ0Vf
R0VUX0NMQVNTKChvYmopLCAgV0VCS0lUX1RZUEVfV0lER0VUX1ZJRVcsIFdlYktpdFdpZGdldFZp
ZXdDbGFzcykpCisKKyNkZWZpbmUgV0VCS0lUX1dJREdFVF9WSUVXX0dFVF9QUklWQVRFKG9iaikg
ICAgKEdfVFlQRV9JTlNUQU5DRV9HRVRfUFJJVkFURSgob2JqKSwgV0VCS0lUX1RZUEVfV0lER0VU
X1ZJRVcsIFdlYktpdFdpZGdldFZpZXdQcml2YXRlKSkKKwordHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dFdpZGdldFZpZXcgV2ViS2l0V2lkZ2V0VmlldzsKK3R5cGVkZWYgc3RydWN0IF9XZWJLaXRXaWRn
ZXRWaWV3Q2xhc3MgV2ViS2l0V2lkZ2V0Vmlld0NsYXNzOwordHlwZWRlZiBzdHJ1Y3QgX1dlYktp
dFdpZGdldFZpZXdQcml2YXRlIFdlYktpdFdpZGdldFZpZXdQcml2YXRlOworCitzdHJ1Y3QgX1dl
YktpdFdpZGdldFZpZXdQcml2YXRlIHsKKyAgICBncG9pbnRlciB3ZWJWaWV3SW5zdGFuY2U7Cisg
ICAgR3RrSU1Db250ZXh0ICppbUNvbnRleHQ7CisgICAgZ2Jvb2xlYW4gZGlzcG9zZUhhc1J1bjsK
K307CisKK3N0cnVjdCBfV2ViS2l0V2lkZ2V0VmlldyB7CisgICAgR3RrQ29udGFpbmVyIHBhcmVu
dEluc3RhbmNlOworICAgIC8vIHByaXZhdGUKKyAgICBXZWJLaXRXaWRnZXRWaWV3UHJpdmF0ZSAq
cHJpdjsKK307CisKK3N0cnVjdCBfV2ViS2l0V2lkZ2V0Vmlld0NsYXNzIHsKKyAgICBHdGtDb250
YWluZXJDbGFzcyBwYXJlbnRDbGFzczsKK307CisKK0dUeXBlCit3ZWJraXRXaWRnZXRWaWV3R2V0
VHlwZSh2b2lkKTsKKworCisjZW5kaWYKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCShyZXZpc2lvbiA3MDA5OCkKKysrIFdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oCSh3b3JraW5n
IGNvcHkpCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTUxLDYgKzUyLDggQEAgdHlwZWRlZiBDRkJ1bmRsZVJl
ZiBQbGF0Zm9ybUJ1bmRsZTsKIHR5cGVkZWYgSE1PRFVMRSBQbGF0Zm9ybUJ1bmRsZTsKICNlbGlm
IFBMQVRGT1JNKFFUKQogdHlwZWRlZiBRTGlicmFyeSBQbGF0Zm9ybUJ1bmRsZTsKKyNlbGlmIFBM
QVRGT1JNKEdUSykKK3R5cGVkZWYgdm9pZCogUGxhdGZvcm1CdW5kbGU7CiAjZW5kaWYKIAogY2xh
c3MgSW1tdXRhYmxlQXJyYXk7CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcAkocmV2aXNpb24g
MCkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5k
bGVHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENv
cHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEu
IFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29w
eXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9s
bG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0g
bXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICog
ICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhl
IGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExF
IElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAq
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkg
RElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICog
Q09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJP
Q1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNF
LCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVS
IENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENP
TlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBP
UiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJ
UyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VD
SCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkluamVjdGVkQnVuZGxlLmgiCisKKyNpbmNsdWRl
ICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUgIldLQnVuZGxlQVBJQ2FzdC5oIgorI2luY2x1
ZGUgIldLQnVuZGxlSW5pdGlhbGl6ZS5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK2Jvb2wgSW5qZWN0ZWRCdW5kbGU6OmxvYWQoKQoreworICAg
IHJldHVybiBmYWxzZTsKK30KKwordm9pZCBJbmplY3RlZEJ1bmRsZTo6YWN0aXZhdGVNYWNGb250
QXNjZW50SGFjaygpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9ndGsv
TmV0c2NhcGVQbHVnaW5HdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHAJKHJldmlzaW9uIDApCisr
KyBXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9ndGsvTmV0c2NhcGVQbHVnaW5H
dGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDk4IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZv
cm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92
aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJl
ZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJp
Z2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93
aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVz
dCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qg
b2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAg
ZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRp
c3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElO
Qy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VS
RU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBP
VEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBT
T0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCisgKi8KKworI2luY2x1ZGUgIk5ldHNjYXBlUGx1Z2luLmgiCisKKyNpbmNsdWRlICJO
b3RJbXBsZW1lbnRlZC5oIgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtUG9zdEluaXRpYWxpemUo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9CisKK3ZvaWQg
TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtRGVzdHJveSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQo
KTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1HZW9tZXRyeURpZENoYW5nZSgp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxh
dGZvcm1QYWludChHcmFwaGljc0NvbnRleHQqIGNvbnRleHQsIGNvbnN0IEludFJlY3QmIGRpcnR5
UmVjdCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitOUEV2ZW50IHRvTlAoY29uc3Qg
V2ViTW91c2VFdmVudCYgZXZlbnQpCit7CisgICAgTlBFdmVudCBucEV2ZW50ID0gTlBFdmVudCgp
OworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIG5wRXZlbnQ7Cit9CisKK2Jvb2wg
TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VFdmVudChjb25zdCBXZWJNb3VzZUV2
ZW50JiBldmVudCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB0cnVlOwor
fQorCitib29sIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZVdoZWVsRXZlbnQoY29uc3Qg
V2ViV2hlZWxFdmVudCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CisKK3ZvaWQgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtU2V0Rm9jdXMoYm9vbCkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9y
bUhhbmRsZU1vdXNlRW50ZXJFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB0cnVlOworfQorCitib29sIE5ldHNjYXBl
UGx1Z2luOjpwbGF0Zm9ybUhhbmRsZU1vdXNlTGVhdmVFdmVudChjb25zdCBXZWJNb3VzZUV2ZW50
JiBldmVudCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB0cnVlOworfQor
Citib29sIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZUtleWJvYXJkRXZlbnQoY29uc3Qg
V2ViS2V5Ym9hcmRFdmVudCYpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0t
LSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQu
Y3BwCShyZXZpc2lvbiA3MDA5OCkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTEsNSArMSw2IEBA
CiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpA
QCAtMzAsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNv
ZGVycy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgiCi0jaW5jbHVkZSAi
UGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlN0cmluZ1BhaXJWZWN0b3IuaCIKICNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJXZWJFcnJvcnMuaCIKQEAgLTYxLDYg
KzYxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VJRXZlbnRXaXRoS2V5U3RhdGUuaD4KICNpbmNs
dWRlIDxXZWJDb3JlL1dpZGdldC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMu
aD4KKyNpbmNsdWRlIDxXZWJLaXQyL1BsdWdpblZpZXcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdl
YkNvcmU7CiAKSW5kZXg6IFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2Vi
RXJyb3JzR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAJKHJldmlzaW9uIDApCkBA
IC0wLDAgKzEsMTM1IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxs
IHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQK
KyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dp
bmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3Vy
Y2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAy
LiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
b3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRP
UlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMg
T0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBP
U0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENP
TlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURF
TlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJ
TkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRV
VEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBC
VVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9S
WSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZ
LCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5H
IElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJ
U0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1
ZGUgIldlYkVycm9ycy5oIgorCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlcXVlc3QuaD4K
KyNpbmNsdWRlIDxXZWJDb3JlL1Jlc291cmNlUmVzcG9uc2UuaD4KKwordXNpbmcgbmFtZXNwYWNl
IFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCisjZGVmaW5lIFdlYlVSTEVycm9yRG9t
YWluICAgIlVSTEVycm9yRG9tYWluIgorCitlbnVtIHsKKyAgICBXZWJVUkxFcnJvclVua25vd24g
PSAgICAgICAgICAgICAgICAgICAgICAgICAtMSwKKyAgICBXZWJVUkxFcnJvckNhbmNlbGxlZCA9
ICAgICAgICAgICAgICAgICAgICAgICAtOTk5LAorICAgIFdlYlVSTEVycm9yQmFkVVJMID0gICAg
ICAgICAgICAgICAgICAgICAgICAgIC0xMDAwLAorICAgIFdlYlVSTEVycm9yVGltZWRPdXQgPSAg
ICAgICAgICAgICAgICAgICAgICAgIC0xMDAxLAorICAgIFdlYlVSTEVycm9yVW5zdXBwb3J0ZWRV
UkwgPSAgICAgICAgICAgICAgICAgIC0xMDAyLAorICAgIFdlYlVSTEVycm9yQ2Fubm90RmluZEhv
c3QgPSAgICAgICAgICAgICAgICAgIC0xMDAzLAorICAgIFdlYlVSTEVycm9yQ2Fubm90Q29ubmVj
dFRvSG9zdCA9ICAgICAgICAgICAgIC0xMDA0LAorICAgIFdlYlVSTEVycm9yTmV0d29ya0Nvbm5l
Y3Rpb25Mb3N0ID0gICAgICAgICAgIC0xMDA1LAorICAgIFdlYlVSTEVycm9yRE5TTG9va3VwRmFp
bGVkID0gICAgICAgICAgICAgICAgIC0xMDA2LAorICAgIFdlYlVSTEVycm9ySFRUUFRvb01hbnlS
ZWRpcmVjdHMgPSAgICAgICAgICAgIC0xMDA3LAorICAgIFdlYlVSTEVycm9yUmVzb3VyY2VVbmF2
YWlsYWJsZSA9ICAgICAgICAgICAgIC0xMDA4LAorICAgIFdlYlVSTEVycm9yTm90Q29ubmVjdGVk
VG9JbnRlcm5ldCA9ICAgICAgICAgIC0xMDA5LAorICAgIFdlYlVSTEVycm9yUmVkaXJlY3RUb05v
bkV4aXN0ZW50TG9jYXRpb24gPSAgIC0xMDEwLAorICAgIFdlYlVSTEVycm9yQmFkU2VydmVyUmVz
cG9uc2UgPSAgICAgICAgICAgICAgIC0xMDExLAorICAgIFdlYlVSTEVycm9yVXNlckNhbmNlbGxl
ZEF1dGhlbnRpY2F0aW9uID0gICAgIC0xMDEyLAorICAgIFdlYlVSTEVycm9yVXNlckF1dGhlbnRp
Y2F0aW9uUmVxdWlyZWQgPSAgICAgIC0xMDEzLAorICAgIFdlYlVSTEVycm9yWmVyb0J5dGVSZXNv
dXJjZSA9ICAgICAgICAgICAgICAgIC0xMDE0LAorICAgIFdlYlVSTEVycm9yRmlsZURvZXNOb3RF
eGlzdCA9ICAgICAgICAgICAgICAgIC0xMTAwLAorICAgIFdlYlVSTEVycm9yRmlsZUlzRGlyZWN0
b3J5ID0gICAgICAgICAgICAgICAgIC0xMTAxLAorICAgIFdlYlVSTEVycm9yTm9QZXJtaXNzaW9u
c1RvUmVhZEZpbGUgPSAgICAgICAgIC0xMTAyLAorICAgIFdlYlVSTEVycm9yU2VjdXJlQ29ubmVj
dGlvbkZhaWxlZCA9ICAgICAgICAgIC0xMjAwLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlm
aWNhdGVIYXNCYWREYXRlID0gICAgIC0xMjAxLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlm
aWNhdGVVbnRydXN0ZWQgPSAgICAgIC0xMjAyLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlm
aWNhdGVIYXNVbmtub3duUm9vdCA9IC0xMjAzLAorICAgIFdlYlVSTEVycm9yU2VydmVyQ2VydGlm
aWNhdGVOb3RZZXRWYWxpZCA9ICAgIC0xMjA0LAorICAgIFdlYlVSTEVycm9yQ2xpZW50Q2VydGlm
aWNhdGVSZWplY3RlZCA9ICAgICAgIC0xMjA1LAorICAgIFdlYlVSTEVycm9yQ2xpZW50Q2VydGlm
aWNhdGVSZXF1aXJlZCA9ICAgICAgIC0xMjA2LAorICAgIFdlYlVSTEVycm9yQ2Fubm90TG9hZEZy
b21OZXR3b3JrID0gICAgICAgICAgIC0yMDAwLAorCisgICAgLy8gRG93bmxvYWQgYW5kIGZpbGUg
SS9PIGVycm9ycworICAgIFdlYlVSTEVycm9yQ2Fubm90Q3JlYXRlRmlsZSA9ICAgICAgICAgICAg
ICAgIC0zMDAwLAorICAgIFdlYlVSTEVycm9yQ2Fubm90T3BlbkZpbGUgPSAgICAgICAgICAgICAg
ICAgIC0zMDAxLAorICAgIFdlYlVSTEVycm9yQ2Fubm90Q2xvc2VGaWxlID0gICAgICAgICAgICAg
ICAgIC0zMDAyLAorICAgIFdlYlVSTEVycm9yQ2Fubm90V3JpdGVUb0ZpbGUgPSAgICAgICAgICAg
ICAgIC0zMDAzLAorICAgIFdlYlVSTEVycm9yQ2Fubm90UmVtb3ZlRmlsZSA9ICAgICAgICAgICAg
ICAgIC0zMDA0LAorICAgIFdlYlVSTEVycm9yQ2Fubm90TW92ZUZpbGUgPSAgICAgICAgICAgICAg
ICAgIC0zMDA1LAorICAgIFdlYlVSTEVycm9yRG93bmxvYWREZWNvZGluZ0ZhaWxlZE1pZFN0cmVh
bSA9IC0zMDA2LAorICAgIFdlYlVSTEVycm9yRG93bmxvYWREZWNvZGluZ0ZhaWxlZFRvQ29tcGxl
dGUgPS0zMDA3LAorfTsKKworI2RlZmluZSBXZWJLaXRFcnJvckRvbWFpbiAgICJXZWJLaXRFcnJv
ckRvbWFpbiIKKworZW51bSB7CisgICAgV2ViS2l0RXJyb3JDYW5ub3RTaG93TUlNRVR5cGUgPSAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgMTAwLAorICAgIFdlYktpdEVycm9yQ2Fubm90U2hv
d1VSTCA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDEwMSwKKyAgICBXZWJLaXRF
cnJvckZyYW1lTG9hZEludGVycnVwdGVkQnlQb2xpY3lDaGFuZ2UgPSAgICAgICAgICAgICAxMDIs
CisgICAgV2ViS2l0RXJyb3JDYW5ub3RVc2VSZXN0cmljdGVkUG9ydCA9ICAgICAgICAgICAgICAg
ICAgICAgICAgMTAzLAorfTsKKworZW51bSB7CisgICAgV2ViS2l0RXJyb3JDYW5ub3RGaW5kUGx1
Z0luID0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgMjAwLAorICAgIFdlYktpdEVycm9y
Q2Fubm90TG9hZFBsdWdJbiA9ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDIwMSwKKyAg
ICBXZWJLaXRFcnJvckphdmFVbmF2YWlsYWJsZSA9ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAyMDIsCit9OworCitlbnVtIHsKKyAgICBXZWJLaXRFcnJvckdlb2xvY2F0aW9uTG9jYXRp
b25Vbmtub3duICA9ICAgICAgICAgICAgICAgICAgICAzMDAsCit9OworCisjZGVmaW5lIFdlYktp
dEVycm9yTUlNRVR5cGVLZXkgICAiV2ViS2l0RXJyb3JNSU1FVHlwZUtleSIKKyNkZWZpbmUgV2Vi
S2l0RXJyb3JQbHVnSW5OYW1lS2V5ICAgIldlYktpdEVycm9yUGx1Z0luTmFtZUtleSIKKyNkZWZp
bmUgV2ViS2l0RXJyb3JQbHVnSW5QYWdlVVJMU3RyaW5nS2V5ICAgIldlYktpdEVycm9yUGx1Z0lu
UGFnZVVSTFN0cmluZ0tleSIKKworI2RlZmluZSBXZWJQT1NJWEVycm9yRG9tYWluICAgIk5TUE9T
SVhFcnJvckRvbWFpbiIKKyNkZWZpbmUgV2ViUE9TSVhFcnJvckVDT05OUkVTRVQgNTQKKworUmVz
b3VyY2VFcnJvciBjYW5jZWxsZWRFcnJvcihjb25zdCBSZXNvdXJjZVJlcXVlc3QmIHJlcXVlc3Qp
Cit7CisgICAgcmV0dXJuIFJlc291cmNlRXJyb3IoU3RyaW5nKFdlYlVSTEVycm9yRG9tYWluKSwg
V2ViVVJMRXJyb3JDYW5jZWxsZWQsIHJlcXVlc3QudXJsKCkuc3RyaW5nKCksIFN0cmluZygpKTsK
K30KKworUmVzb3VyY2VFcnJvciBibG9ja2VkRXJyb3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiBy
ZXF1ZXN0KQoreworICAgIHJldHVybiBSZXNvdXJjZUVycm9yKFN0cmluZyhXZWJLaXRFcnJvckRv
bWFpbiksIFdlYktpdEVycm9yQ2Fubm90VXNlUmVzdHJpY3RlZFBvcnQsIHJlcXVlc3QudXJsKCku
c3RyaW5nKCksIFN0cmluZygpKTsKK30KKworUmVzb3VyY2VFcnJvciBjYW5ub3RTaG93VVJMRXJy
b3IoY29uc3QgUmVzb3VyY2VSZXF1ZXN0JiByZXF1ZXN0KQoreworICAgIHJldHVybiBSZXNvdXJj
ZUVycm9yKFN0cmluZyhXZWJLaXRFcnJvckRvbWFpbiksIFdlYktpdEVycm9yQ2Fubm90U2hvd1VS
TCwgcmVxdWVzdC51cmwoKS5zdHJpbmcoKSwgU3RyaW5nKCkpOworfQorCitSZXNvdXJjZUVycm9y
IGludGVycnVwdEZvclBvbGljeUNoYW5nZUVycm9yKGNvbnN0IFJlc291cmNlUmVxdWVzdCYgcmVx
dWVzdCkKK3sKKyAgICByZXR1cm4gUmVzb3VyY2VFcnJvcihTdHJpbmcoV2ViS2l0RXJyb3JEb21h
aW4pLCBXZWJLaXRFcnJvckZyYW1lTG9hZEludGVycnVwdGVkQnlQb2xpY3lDaGFuZ2UsIHJlcXVl
c3QudXJsKCkuc3RyaW5nKCksIFN0cmluZygpKTsKK30KKworUmVzb3VyY2VFcnJvciBjYW5ub3RT
aG93TUlNRVR5cGVFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAg
ICByZXR1cm4gUmVzb3VyY2VFcnJvcigpOworfQorCitSZXNvdXJjZUVycm9yIGZpbGVEb2VzTm90
RXhpc3RFcnJvcihjb25zdCBSZXNvdXJjZVJlc3BvbnNlJiByZXNwb25zZSkKK3sKKyAgICByZXR1
cm4gUmVzb3VyY2VFcnJvcigpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5kZXg6IFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJhbWVOZXR3b3JraW5nQ29u
dGV4dC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9n
dGsvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmgJ
KHJldmlzaW9uIDApCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAg
QXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChj
KSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoK
KyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdp
dGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRo
YXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmli
dXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJv
ZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVu
dGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQg
SVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVE
IFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJ
RUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElD
VUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUg
SU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElO
RElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5U
SUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFO
RCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNU
UklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4K
KyAqLworCisjaWZuZGVmIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHRfaAorI2RlZmluZSBXZWJG
cmFtZU5ldHdvcmtpbmdDb250ZXh0X2gKKworI2luY2x1ZGUgPFdlYkNvcmUvRnJhbWVOZXR3b3Jr
aW5nQ29udGV4dC5oPgorCitjbGFzcyBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0IDogcHVibGlj
IFdlYkNvcmU6OkZyYW1lTmV0d29ya2luZ0NvbnRleHQgeworcHVibGljOgorICAgIHN0YXRpYyBQ
YXNzUmVmUHRyPFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZShXZWJDb3JlOjpGcmFt
ZSopCisgICAgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKK3ByaXZhdGU6CisgICAgV2Vi
RnJhbWVOZXR3b3JraW5nQ29udGV4dChXZWJDb3JlOjpGcmFtZSogZnJhbWUpCisgICAgICAgIDog
V2ViQ29yZTo6RnJhbWVOZXR3b3JraW5nQ29udGV4dChmcmFtZSkKKyAgICB7CisgICAgfQorCisg
ICAgdmlydHVhbCBXVEY6OlN0cmluZyB1c2VyQWdlbnQoKSBjb25zdDsKKyAgICB2aXJ0dWFsIFdU
Rjo6U3RyaW5nIHJlZmVycmVyKCkgY29uc3Q7CisKKyAgICBXVEY6OlN0cmluZyBtX3VzZXJBZ2Vu
dDsKK307CisKKyNlbmRpZiAvLyBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0X2gKSW5kZXg6IFdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5jcHAKPT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhLmNwcAkocmV2aXNpb24gNzAwOTgpCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0xLDUgKzEs
NiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVz
ZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHks
IEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVz
ZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmlj
YXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlv
bnMKQEAgLTk2LDYgKzk3LDkgQEAgdm9pZCBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWE6OmRpc3Bs
YXkoKQogICAgIC8vIENyZWF0ZSBhIG5ldyBVcGRhdGVDaHVuayBhbmQgcGFpbnQgaW50byBpdC4K
ICAgICBVcGRhdGVDaHVuayB1cGRhdGVDaHVuayhkaXJ0eVJlY3QpOwogICAgIHBhaW50SW50b1Vw
ZGF0ZUNodW5rKCZ1cGRhdGVDaHVuayk7CisjaWYgUExBVEZPUk0oR1RLKQorICAgIHhJRE1hcC5z
ZXQodXBkYXRlQ2h1bmsueElEKCksIHVwZGF0ZUNodW5rLm1lbW9yeSgpKTsKKyNlbmRpZgogCiAg
ICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuY29ubmVjdGlvbigpLT5zZW5kKERyYXdpbmdBcmVhUHJv
eHlNZXNzYWdlOjpVcGRhdGUsIG1fd2ViUGFnZS0+cGFnZUlEKCksIENvcmVJUEM6OkluKHVwZGF0
ZUNodW5rKSk7CiAKQEAgLTE0Myw2ICsxNDcsOSBAQCB2b2lkIENodW5rZWRVcGRhdGVEcmF3aW5n
QXJlYTo6c2V0U2l6ZShjCiAgICAgLy8gQ3JlYXRlIGEgbmV3IFVwZGF0ZUNodW5rIGFuZCBwYWlu
dCBpbnRvIGl0LgogICAgIFVwZGF0ZUNodW5rIHVwZGF0ZUNodW5rKEludFJlY3QoMCwgMCwgdmll
d1NpemUud2lkdGgoKSwgdmlld1NpemUuaGVpZ2h0KCkpKTsKICAgICBwYWludEludG9VcGRhdGVD
aHVuaygmdXBkYXRlQ2h1bmspOworI2lmIFBMQVRGT1JNKEdUSykKKyAgICB4SURNYXAuc2V0KHVw
ZGF0ZUNodW5rLnhJRCgpLCB1cGRhdGVDaHVuay5tZW1vcnkoKSk7CisjZW5kaWYKIAogICAgIG1f
ZGlzcGxheVRpbWVyLnN0b3AoKTsKIApAQCAtMjEyLDEwICsyMTksMjcgQEAgdm9pZCBDaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWE6OmRpZFJlY2VpdgogICAgICAgICAgICAgcmVzdW1lUGFpbnRpbmco
Zm9yY2VSZXBhaW50KTsKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICB9Ci0gICAgICAgIGNh
c2UgRHJhd2luZ0FyZWFNZXNzYWdlOjpEaWRVcGRhdGU6CisKKyAgICAgICAgY2FzZSBEcmF3aW5n
QXJlYU1lc3NhZ2U6OkRpZFVwZGF0ZTogeworI2lmIFBMQVRGT1JNKEdUSykKKyAgICAgICAgICAg
IHVpbnQzMl90IHhpZDsKKyAgICAgICAgICAgIGlmICghYXJndW1lbnRzLT5kZWNvZGUoQ29yZUlQ
Qzo6T3V0KHhpZCkpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGRpZFVw
ZGF0ZSh4aWQpOworI2Vsc2UKICAgICAgICAgICAgIGRpZFVwZGF0ZSgpOworI2VuZGlmCiAgICAg
ICAgICAgICBicmVhazsKLQorICAgICAgICB9CisjaWYgUExBVEZPUk0oR1RLKQorICAgICAgICBj
YXNlIERyYXdpbmdBcmVhTWVzc2FnZTo6RGlkU2V0U2l6ZURvbmU6IHsKKyAgICAgICAgICAgIHVp
bnQzMl90IHhpZDsKKyAgICAgICAgICAgIGlmICghYXJndW1lbnRzLT5kZWNvZGUoQ29yZUlQQzo6
T3V0KHhpZCkpKQorICAgICAgICAgICAgICAgIHJldHVybjsKKyAgICAgICAgICAgIGRpZFNldFNp
emVEb25lKHhpZCk7CisgICAgICAgICAgICBicmVhazsKKyAgICAgICAgfQorI2VuZGlmCiAgICAg
ICAgIGRlZmF1bHQ6CiAgICAgICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKICAgICAgICAg
ICAgIGJyZWFrOwpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0
ZURyYXdpbmdBcmVhLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
Q2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmgJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmgJKHdvcmtpbmcgY29w
eSkKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucwpAQCAtMjksNiArMzAsOSBAQAogI2luY2x1ZGUgIkRyYXdpbmdBcmVh
LmgiCiAjaW5jbHVkZSAiUnVuTG9vcC5oIgogI2luY2x1ZGUgPFdlYkNvcmUvSW50UG9pbnQuaD4K
KyNpZiBQTEFURk9STShHVEspCisjaW5jbHVkZSA8d3RmL0hhc2hNYXAuaD4KKyNlbmRpZgogCiBu
YW1lc3BhY2UgV2ViS2l0IHsKIApAQCAtNjksNiArNzMsMTMgQEAgcHJpdmF0ZToKICAgICB2b2lk
IHBhaW50SW50b1VwZGF0ZUNodW5rKFVwZGF0ZUNodW5rKik7CiAKICAgICBXZWJDb3JlOjpJbnRS
ZWN0IG1fZGlydHlSZWN0OworI2lmIFBMQVRGT1JNKEdUSykKKyAgICAvLyB0byBkZXN0cm95IHRo
ZSBzaGFyZWQgbWVtb3J5IHRoYXQgaXMgY3JlYXRlZCBpbiBzZXRTaXplCisgICAgdm9pZCBkaWRT
ZXRTaXplRG9uZSh1aW50MzJfdCk7CisgICAgdm9pZCBmcmVlQml0TWFwTWVtb3J5KHVpbnQzMl90
KTsKKyAgICB2b2lkIGRpZFVwZGF0ZSh1aW50MzJfdCk7CisgICAgSGFzaE1hcCA8dWludDMyX3Qs
IHZvaWQqPiB4SURNYXA7CisjZW5kaWYKICAgICBib29sIG1faXNXYWl0aW5nRm9yVXBkYXRlOwog
ICAgIGJvb2wgbV9wYWludGluZ0lzU3VzcGVuZGVkOwogICAgIFJ1bkxvb3A6OlRpbWVyPENodW5r
ZWRVcGRhdGVEcmF3aW5nQXJlYT4gbV9kaXNwbGF5VGltZXI7CkluZGV4OiBXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9ndGsvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhR3RrLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFHdGsuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCww
ICsxLDc2IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBB
UyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVS
Q0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJV
VE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwg
U1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09P
RFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVT
UworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBM
SUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBU
T1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFO
WSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9G
CisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkNo
dW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5oIgorCisjaW5jbHVkZSAiVXBkYXRlQ2h1bmsuaCIKKyNp
bmNsdWRlICJXZWJQYWdlLmgiCisKKyNpbmNsdWRlIDxXZWJDb3JlL0dyYXBoaWNzQ29udGV4dC5o
PgorI2luY2x1ZGUgPFdlYkNvcmUvSW50UmVjdC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVh
OjpwYWludEludG9VcGRhdGVDaHVuayhVcGRhdGVDaHVuayogdXBkYXRlQ2h1bmspCit7CisgICAg
QVNTRVJUKHVwZGF0ZUNodW5rLT5pc0VtcHR5KCkpOworICAgICAKKyAgICBHZGtQaXhtYXAqIHBp
eG1hcCA9IHVwZGF0ZUNodW5rLT5tZW1vcnkoKTsKKyAgICBjYWlyb190KiBjciA9IGdka19jYWly
b19jcmVhdGUocGl4bWFwKTsKKyAgICBHcmFwaGljc0NvbnRleHQgZ2MoY3IpOworICAgIGdjLnNh
dmUoKTsKKyAgICBJbnRSZWN0IHJlY3QgPSB1cGRhdGVDaHVuay0+cmVjdCgpOworICAgIGdjLnRy
YW5zbGF0ZSgtcmVjdC54KCksIC1yZWN0LnkoKSk7CisgICAgbV93ZWJQYWdlLT5kcmF3UmVjdChn
YywgdXBkYXRlQ2h1bmstPnJlY3QoKSk7CisgICAgZ2MucmVzdG9yZSgpOworICAgIGNhaXJvX2Rl
c3Ryb3koY3IpOworICAgIGdka19kaXNwbGF5X3N5bmMoZ2RrX2Rpc3BsYXlfZ2V0X2RlZmF1bHQo
KSk7Cit9CisKK3ZvaWQgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhOjpmcmVlQml0TWFwTWVtb3J5
KHVpbnQzMl90IHhpZCkKK3sKKyAgICBHZGtQaXhtYXAqIHBpeG1hcCA9IChHZGtQaXhtYXAqKXhJ
RE1hcC5nZXQoeGlkKTsKKyAgICBBU1NFUlQocGl4bWFwKTsKKyAgICBnX29iamVjdF91bnJlZihw
aXhtYXApOworICAgIHhJRE1hcC5yZW1vdmUoeGlkKTsKK30KKwordm9pZCBDaHVua2VkVXBkYXRl
RHJhd2luZ0FyZWE6OmRpZFVwZGF0ZSh1aW50MzJfdCB4SUQpCit7CisgICAgbV9pc1dhaXRpbmdG
b3JVcGRhdGUgPSBmYWxzZTsKKyAgICBmcmVlQml0TWFwTWVtb3J5KHhJRCk7CisgICAgLy8gRGlz
cGxheSBpZiBuZWVkZWQuCisgICAgZGlzcGxheSgpOworfQorCit2b2lkIENodW5rZWRVcGRhdGVE
cmF3aW5nQXJlYTo6ZGlkU2V0U2l6ZURvbmUodWludDMyX3QgeElEKQoreworICAgIGZyZWVCaXRN
YXBNZW1vcnkoeElEKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCShyZXZpc2lvbiAwKQor
KysgV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwCShyZXZpc2lv
biAwKQpAQCAtMCwwICsxLDIyNSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJXZWJQYWdlLmgiCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2lu
Y2x1ZGUgIldlYkV2ZW50LmgiCisjaW5jbHVkZSAiV2luZG93c0tleWJvYXJkQ29kZXMuaCIKKwor
I2luY2x1ZGUgPFdlYkNvcmUvRm9jdXNDb250cm9sbGVyLmg+CisjaW5jbHVkZSA8V2ViQ29yZS9G
cmFtZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvS2V5Ym9hcmRFdmVudC5oPgorI2luY2x1ZGUgPFdl
YkNvcmUvUGFnZS5oPgorI2luY2x1ZGUgPFdlYkNvcmUvUGxhdGZvcm1LZXlib2FyZEV2ZW50Lmg+
CisjaW5jbHVkZSA8V2ViQ29yZS9TZXR0aW5ncy5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29y
ZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisgICAgCit2b2lkIFdlYlBhZ2U6OnBsYXRmb3JtSW5p
dGlhbGl6ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKwordm9pZCBXZWJQYWdlOjpw
bGF0Zm9ybVByZWZlcmVuY2VzRGlkQ2hhbmdlKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3N0YXRpYyBjb25zdCB1bnNpZ25lZCBDdHJs
S2V5ID0gMSA8PCAwOworc3RhdGljIGNvbnN0IHVuc2lnbmVkIEFsdEtleSA9IDEgPDwgMTsKK3N0
YXRpYyBjb25zdCB1bnNpZ25lZCBTaGlmdEtleSA9IDEgPDwgMjsKKworc3RydWN0IEtleURvd25F
bnRyeSB7CisgICAgdW5zaWduZWQgdmlydHVhbEtleTsKKyAgICB1bnNpZ25lZCBtb2RpZmllcnM7
CisgICAgY29uc3QgY2hhciogbmFtZTsKK307CisKK3N0cnVjdCBLZXlQcmVzc0VudHJ5IHsKKyAg
ICB1bnNpZ25lZCBjaGFyQ29kZTsKKyAgICB1bnNpZ25lZCBtb2RpZmllcnM7CisgICAgY29uc3Qg
Y2hhciogbmFtZTsKK307CisKK3N0YXRpYyBjb25zdCBLZXlEb3duRW50cnkga2V5RG93bkVudHJp
ZXNbXSA9IHsKKyAgICB7IFZLX0xFRlQsICAgMCwgICAgICAgICAgICAgICAgICAiTW92ZUxlZnQi
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0xFRlQsICAg
U2hpZnRLZXksICAgICAgICAgICAiTW92ZUxlZnRBbmRNb2RpZnlTZWxlY3Rpb24iICAgICAgICAg
ICAgICAgICAgfSwKKyAgICB7IFZLX0xFRlQsICAgQ3RybEtleSwgICAgICAgICAgICAiTW92ZVdv
cmRMZWZ0IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0xFRlQs
ICAgQ3RybEtleSB8IFNoaWZ0S2V5LCAiTW92ZVdvcmRMZWZ0QW5kTW9kaWZ5U2VsZWN0aW9uIiAg
ICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JJR0hULCAgMCwgICAgICAgICAgICAgICAgICAiTW92
ZVJpZ2h0IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JJ
R0hULCAgU2hpZnRLZXksICAgICAgICAgICAiTW92ZVJpZ2h0QW5kTW9kaWZ5U2VsZWN0aW9uIiAg
ICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JJR0hULCAgQ3RybEtleSwgICAgICAgICAgICAi
TW92ZVdvcmRSaWdodCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZL
X1JJR0hULCAgQ3RybEtleSB8IFNoaWZ0S2V5LCAiTW92ZVdvcmRSaWdodEFuZE1vZGlmeVNlbGVj
dGlvbiIgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1VQLCAgICAgMCwgICAgICAgICAgICAgICAg
ICAiTW92ZVVwIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7
IFZLX1VQLCAgICAgU2hpZnRLZXksICAgICAgICAgICAiTW92ZVVwQW5kTW9kaWZ5U2VsZWN0aW9u
IiAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1BSSU9SLCAgU2hpZnRLZXksICAgICAg
ICAgICAiTW92ZVBhZ2VVcEFuZE1vZGlmeVNlbGVjdGlvbiIgICAgICAgICAgICAgICAgfSwKKyAg
ICB7IFZLX0RPV04sICAgMCwgICAgICAgICAgICAgICAgICAiTW92ZURvd24iICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0RPV04sICAgU2hpZnRLZXksICAg
ICAgICAgICAiTW92ZURvd25BbmRNb2RpZnlTZWxlY3Rpb24iICAgICAgICAgICAgICAgICAgfSwK
KyAgICB7IFZLX05FWFQsICAgU2hpZnRLZXksICAgICAgICAgICAiTW92ZVBhZ2VEb3duQW5kTW9k
aWZ5U2VsZWN0aW9uIiAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1BSSU9SLCAgMCwgICAgICAg
ICAgICAgICAgICAiTW92ZVBhZ2VVcCIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICB7IFZLX05FWFQsICAgMCwgICAgICAgICAgICAgICAgICAiTW92ZVBhZ2VEb3duIiAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0hPTUUsICAgMCwgICAg
ICAgICAgICAgICAgICAiTW92ZVRvQmVnaW5uaW5nT2ZMaW5lIiAgICAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICB7IFZLX0hPTUUsICAgU2hpZnRLZXksICAgICAgICAgICAiTW92ZVRvQmVnaW5u
aW5nT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgfSwKKyAgICB7IFZLX0hPTUUsICAgQ3Ry
bEtleSwgICAgICAgICAgICAiTW92ZVRvQmVnaW5uaW5nT2ZEb2N1bWVudCIgICAgICAgICAgICAg
ICAgICAgfSwKKyAgICB7IFZLX0hPTUUsICAgQ3RybEtleSB8IFNoaWZ0S2V5LCAiTW92ZVRvQmVn
aW5uaW5nT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiIgfSwKKyAgICAKKyAgICB7IFZLX0VO
RCwgICAgMCwgICAgICAgICAgICAgICAgICAiTW92ZVRvRW5kT2ZMaW5lIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0VORCwgICAgU2hpZnRLZXksICAgICAgICAgICAi
TW92ZVRvRW5kT2ZMaW5lQW5kTW9kaWZ5U2VsZWN0aW9uIiAgICAgICAgICAgfSwKKyAgICB7IFZL
X0VORCwgICAgQ3RybEtleSwgICAgICAgICAgICAiTW92ZVRvRW5kT2ZEb2N1bWVudCIgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0VORCwgICAgQ3RybEtleSB8IFNoaWZ0S2V5
LCAiTW92ZVRvRW5kT2ZEb2N1bWVudEFuZE1vZGlmeVNlbGVjdGlvbiIgICAgICAgfSwKKyAgICAK
KyAgICB7IFZLX0JBQ0ssICAgMCwgICAgICAgICAgICAgICAgICAiRGVsZXRlQmFja3dhcmQiICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0JBQ0ssICAgU2hpZnRLZXks
ICAgICAgICAgICAiRGVsZXRlQmFja3dhcmQiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICB7IFZLX0RFTEVURSwgMCwgICAgICAgICAgICAgICAgICAiRGVsZXRlRm9yd2FyZCIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0JBQ0ssICAgQ3RybEtl
eSwgICAgICAgICAgICAiRGVsZXRlV29yZEJhY2t3YXJkIiAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICB7IFZLX0RFTEVURSwgQ3RybEtleSwgICAgICAgICAgICAiRGVsZXRlV29yZEZv
cndhcmQiICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAKKyAgICB7ICdCJywgICAg
ICAgQ3RybEtleSwgICAgICAgICAgICAiVG9nZ2xlQm9sZCIgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgfSwKKyAgICB7ICdJJywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAiVG9n
Z2xlSXRhbGljIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAKKyAgICB7
IFZLX0VTQ0FQRSwgMCwgICAgICAgICAgICAgICAgICAiQ2FuY2VsIiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX09FTV9QRVJJT0QsIEN0cmxLZXksICAg
ICAgICAiQ2FuY2VsIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICB7IFZLX1RBQiwgICAgMCwgICAgICAgICAgICAgICAgICAiSW5zZXJ0VGFiIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1RBQiwgICAgU2hpZnRLZXksICAg
ICAgICAgICAiSW5zZXJ0QmFja3RhYiIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICB7IFZLX1JFVFVSTiwgMCwgICAgICAgICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JFVFVSTiwgQ3RybEtleSwg
ICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKKyAgICB7IFZLX1JFVFVSTiwgQWx0S2V5LCAgICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX1JFVFVSTiwgU2hpZnRL
ZXksICAgICAgICAgICAiSW5zZXJ0TmV3bGluZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgfSwKKyAgICB7IFZLX1JFVFVSTiwgQWx0S2V5IHwgU2hpZnRLZXksICAiSW5zZXJ0TmV3bGlu
ZSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICAKKyAgICAvLyBJdCdzIG5v
dCBxdWl0ZSBjbGVhciB3aGV0aGVyIGNsaXBib2FyZCBzaG9ydGN1dHMgYW5kIFVuZG8vUmVkbyBz
aG91bGQgYmUgaGFuZGxlZAorICAgIC8vIGluIHRoZSBhcHBsaWNhdGlvbiBvciBpbiBXZWJLaXQu
IFdlIGNob3NlIFdlYktpdC4KKyAgICB7ICdDJywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAi
Q29weSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdW
JywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAiUGFzdGUiICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdYJywgICAgICAgQ3RybEtleSwgICAgICAgICAg
ICAiQ3V0IiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7
ICdBJywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAiU2VsZWN0QWxsIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0lOU0VSVCwgQ3RybEtleSwgICAgICAg
ICAgICAiQ29weSIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAg
ICB7IFZLX0RFTEVURSwgU2hpZnRLZXksICAgICAgICAgICAiQ3V0IiAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7IFZLX0lOU0VSVCwgU2hpZnRLZXksICAg
ICAgICAgICAiUGFzdGUiICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwK
KyAgICB7ICdaJywgICAgICAgQ3RybEtleSwgICAgICAgICAgICAiVW5kbyIgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgfSwKKyAgICB7ICdaJywgICAgICAgQ3RybEtleSB8
IFNoaWZ0S2V5LCAiUmVkbyIgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
fSwKK307CisKK3N0YXRpYyBjb25zdCBLZXlQcmVzc0VudHJ5IGtleVByZXNzRW50cmllc1tdID0g
eworICAgIHsgJ1x0JywgICAwLCAgICAgICAgICAgICAgICAgICJJbnNlcnRUYWIiICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgJ1x0JywgICBTaGlmdEtleSwgICAg
ICAgICAgICJJbnNlcnRCYWNrdGFiIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAor
ICAgIHsgJ1xyJywgICAwLCAgICAgICAgICAgICAgICAgICJJbnNlcnROZXdsaW5lIiAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgJ1xyJywgICBDdHJsS2V5LCAgICAgICAg
ICAgICJJbnNlcnROZXdsaW5lIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAg
IHsgJ1xyJywgICBBbHRLZXksICAgICAgICAgICAgICJJbnNlcnROZXdsaW5lIiAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsgJ1xyJywgICBTaGlmdEtleSwgICAgICAgICAg
ICJJbnNlcnROZXdsaW5lIiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9LAorICAgIHsg
J1xyJywgICBBbHRLZXkgfCBTaGlmdEtleSwgICJJbnNlcnROZXdsaW5lIiAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICB9LAorfTsKKworY29uc3QgY2hhciogV2ViUGFnZTo6aW50ZXJwcmV0
S2V5RXZlbnQoY29uc3QgS2V5Ym9hcmRFdmVudCogZXZ0KQoreworICAgIEFTU0VSVChldnQtPnR5
cGUoKSA9PSBldmVudE5hbWVzKCkua2V5ZG93bkV2ZW50IHx8IGV2dC0+dHlwZSgpID09IGV2ZW50
TmFtZXMoKS5rZXlwcmVzc0V2ZW50KTsKKyAgICAKKyAgICBzdGF0aWMgSGFzaE1hcDxpbnQsIGNv
bnN0IGNoYXIqPioga2V5RG93bkNvbW1hbmRzTWFwID0gMDsKKyAgICBzdGF0aWMgSGFzaE1hcDxp
bnQsIGNvbnN0IGNoYXIqPioga2V5UHJlc3NDb21tYW5kc01hcCA9IDA7CisgICAgCisgICAgaWYg
KCFrZXlEb3duQ29tbWFuZHNNYXApIHsKKyAgICAgICAga2V5RG93bkNvbW1hbmRzTWFwID0gbmV3
IEhhc2hNYXA8aW50LCBjb25zdCBjaGFyKj47CisgICAgICAgIGtleVByZXNzQ29tbWFuZHNNYXAg
PSBuZXcgSGFzaE1hcDxpbnQsIGNvbnN0IGNoYXIqPjsKKyAgICAgICAgCisgICAgICAgIGZvciAo
dW5zaWduZWQgaSA9IDA7IGkgPCAoc2l6ZW9mKGtleURvd25FbnRyaWVzKSAvIHNpemVvZihrZXlE
b3duRW50cmllc1swXSkpOyBpKyspCisgICAgICAgICAgICBrZXlEb3duQ29tbWFuZHNNYXAtPnNl
dChrZXlEb3duRW50cmllc1tpXS5tb2RpZmllcnMgPDwgMTYgfCBrZXlEb3duRW50cmllc1tpXS52
aXJ0dWFsS2V5LCBrZXlEb3duRW50cmllc1tpXS5uYW1lKTsKKyAgICAgICAgCisgICAgICAgIGZv
ciAodW5zaWduZWQgaSA9IDA7IGkgPCAoc2l6ZW9mKGtleVByZXNzRW50cmllcykgLyBzaXplb2Yo
a2V5UHJlc3NFbnRyaWVzWzBdKSk7IGkrKykKKyAgICAgICAgICAgIGtleVByZXNzQ29tbWFuZHNN
YXAtPnNldChrZXlQcmVzc0VudHJpZXNbaV0ubW9kaWZpZXJzIDw8IDE2IHwga2V5UHJlc3NFbnRy
aWVzW2ldLmNoYXJDb2RlLCBrZXlQcmVzc0VudHJpZXNbaV0ubmFtZSk7CisgICAgfQorICAgIAor
ICAgIHVuc2lnbmVkIG1vZGlmaWVycyA9IDA7CisgICAgaWYgKGV2dC0+c2hpZnRLZXkoKSkKKyAg
ICAgICAgbW9kaWZpZXJzIHw9IFNoaWZ0S2V5OworICAgIGlmIChldnQtPmFsdEtleSgpKQorICAg
ICAgICBtb2RpZmllcnMgfD0gQWx0S2V5OworICAgIGlmIChldnQtPmN0cmxLZXkoKSkKKyAgICAg
ICAgbW9kaWZpZXJzIHw9IEN0cmxLZXk7CisgICAgCisgICAgaWYgKGV2dC0+dHlwZSgpID09IGV2
ZW50TmFtZXMoKS5rZXlkb3duRXZlbnQpIHsKKyAgICAgICAgaW50IG1hcEtleSA9IG1vZGlmaWVy
cyA8PCAxNiB8IGV2dC0+a2V5RXZlbnQoKS0+d2luZG93c1ZpcnR1YWxLZXlDb2RlKCk7CisgICAg
ICAgIHJldHVybiBtYXBLZXkgPyBrZXlEb3duQ29tbWFuZHNNYXAtPmdldChtYXBLZXkpIDogMDsK
KyAgICB9CisgICAgCisgICAgaW50IG1hcEtleSA9IG1vZGlmaWVycyA8PCAxNiB8IGV2dC0+Y2hh
ckNvZGUoKTsKKyAgICByZXR1cm4gbWFwS2V5ID8ga2V5UHJlc3NDb21tYW5kc01hcC0+Z2V0KG1h
cEtleSkgOiAwOworfQorCitzdGF0aWMgaW5saW5lIHZvaWQgc2Nyb2xsKFBhZ2UqIHBhZ2UsIFNj
cm9sbERpcmVjdGlvbiBkaXJlY3Rpb24sIFNjcm9sbEdyYW51bGFyaXR5IGdyYW51bGFyaXR5KQor
eworICAgIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigpLT5mb2N1c2VkT3JNYWluRnJhbWUoKS0+ZXZl
bnRIYW5kbGVyKCktPnNjcm9sbFJlY3Vyc2l2ZWx5KGRpcmVjdGlvbiwgZ3JhbnVsYXJpdHkpOwor
fQorCitib29sIFdlYlBhZ2U6OnBlcmZvcm1EZWZhdWx0QmVoYXZpb3JGb3JLZXlFdmVudChjb25z
dCBXZWJLZXlib2FyZEV2ZW50JiBrZXlib2FyZEV2ZW50KQoreworICAgIGlmIChrZXlib2FyZEV2
ZW50LnR5cGUoKSAhPSBXZWJFdmVudDo6S2V5RG93biAmJiBrZXlib2FyZEV2ZW50LnR5cGUoKSAh
PSBXZWJFdmVudDo6UmF3S2V5RG93bikKKyAgICAgICAgcmV0dXJuIGZhbHNlOworCisgICAgc3dp
dGNoIChrZXlib2FyZEV2ZW50LndpbmRvd3NWaXJ0dWFsS2V5Q29kZSgpKSB7CisgICAgY2FzZSBW
S19CQUNLOgorICAgICAgICBpZiAoa2V5Ym9hcmRFdmVudC5zaGlmdEtleSgpKQorICAgICAgICAg
ICAgbV9wYWdlLT5nb0ZvcndhcmQoKTsKKyAgICAgICAgZWxzZQorICAgICAgICAgICAgbV9wYWdl
LT5nb0JhY2soKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBWS19TUEFDRToKKyAgICAgICAg
c2Nyb2xsKG1fcGFnZS5nZXQoKSwga2V5Ym9hcmRFdmVudC5zaGlmdEtleSgpID8gU2Nyb2xsVXAg
OiBTY3JvbGxEb3duLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFZL
X0xFRlQ6CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbExlZnQsIFNjcm9sbEJ5
TGluZSk7CisgICAgICAgIGJyZWFrOworICAgIGNhc2UgVktfUklHSFQ6CisgICAgICAgIHNjcm9s
bChtX3BhZ2UuZ2V0KCksIFNjcm9sbFJpZ2h0LCBTY3JvbGxCeUxpbmUpOworICAgICAgICBicmVh
azsKKyAgICBjYXNlIFZLX1VQOgorICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxV
cCwgU2Nyb2xsQnlMaW5lKTsKKyAgICAgICAgYnJlYWs7CisgICAgY2FzZSBWS19ET1dOOgorICAg
ICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxEb3duLCBTY3JvbGxCeUxpbmUpOworICAg
ICAgICBicmVhazsKKyAgICBjYXNlIFZLX0hPTUU6CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0
KCksIFNjcm9sbFVwLCBTY3JvbGxCeURvY3VtZW50KTsKKyAgICAgICAgYnJlYWs7CisgICAgY2Fz
ZSBWS19FTkQ6CisgICAgICAgIHNjcm9sbChtX3BhZ2UuZ2V0KCksIFNjcm9sbERvd24sIFNjcm9s
bEJ5RG9jdW1lbnQpOworICAgICAgICBicmVhazsKKyAgICBjYXNlIFZLX1BSSU9SOgorICAgICAg
ICBzY3JvbGwobV9wYWdlLmdldCgpLCBTY3JvbGxVcCwgU2Nyb2xsQnlQYWdlKTsKKyAgICAgICAg
YnJlYWs7CisgICAgY2FzZSBWS19ORVhUOgorICAgICAgICBzY3JvbGwobV9wYWdlLmdldCgpLCBT
Y3JvbGxEb3duLCBTY3JvbGxCeVBhZ2UpOworICAgICAgICBicmVhazsKKyAgICBkZWZhdWx0Ogor
ICAgICAgICByZXR1cm4gZmFsc2U7CisgICAgfQorCisgICAgcmV0dXJuIHRydWU7Cit9CisKK30g
Ly8gbmFtZXNwYWNlIFdlYktpdApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9j
ZXNzTWFpbkd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQ
cm9jZXNzTWFpbkd0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL1dlYlByb2Nlc3MvZ3Rr
L1dlYlByb2Nlc3NNYWluR3RrLmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw2OSBAQAorLyoK
KyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFs
bCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3Vy
Y2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFy
ZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFy
ZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4g
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92
aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9W
SURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5E
IEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBB
TkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJ
TiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJ
QUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1Q
TEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJ
TUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VT
OyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQ
VElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVU
SEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5H
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJ
QklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJXZWJQcm9jZXNzTWFpbkd0
ay5oIgorCisjaW5jbHVkZSAiV0tCYXNlLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZUhh
bmRsZS5oPgorI2luY2x1ZGUgPFdlYktpdDIvUnVuTG9vcC5oPgorI2luY2x1ZGUgPFdlYktpdDIv
V2ViUHJvY2Vzcy5oPgorI2luY2x1ZGUgPGd0ay9ndGsuaD4KKyNpbmNsdWRlIDxydW50aW1lL0lu
aXRpYWxpemVUaHJlYWRpbmcuaD4KKyNpbmNsdWRlIDx1bmlzdGQuaD4KKyNpbmNsdWRlIDx3dGYv
VGhyZWFkaW5nLmg+CisKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK3ZvaWQgV2ViUHJvY2Vzczo6
cGxhdGZvcm1TZXRDYWNoZU1vZGVsKENhY2hlTW9kZWwgY2FjaGVNb2RlbCkKK3sKKyAgICAvLyBG
SVhNRTogSW1wbGVtZW50LgorfQorCitXS19FWFBPUlQgaW50IFdlYlByb2Nlc3NNYWluR3RrKGlu
dCBhcmdjLCBjaGFyKiBhcmd2W10pCit7CisgICAgQVNTRVJUKGFyZ2MgPT0gMik7CisKKyAgICBp
ZiAoZ2V0ZW52KCJXRUJLSVQyX0RFQlVHX01PREUiKSkKKyAgICAgICAgc2xlZXAoMzApOworCisg
ICAgZ3RrX2luaXQoJmFyZ2MsICZhcmd2KTsKKyAgICBnX3R5cGVfaW5pdCgpOworCisgICAgSlND
Ojppbml0aWFsaXplVGhyZWFkaW5nKCk7CisgICAgV1RGOjppbml0aWFsaXplTWFpblRocmVhZCgp
OworICAgIAorICAgIFJ1bkxvb3A6OmluaXRpYWxpemVNYWluUnVuTG9vcCgpOworICAgIFdlYkNv
cmU6OlJlc291cmNlSGFuZGxlOjpkZWZhdWx0U2Vzc2lvbigpOworICAgCisgICAgaW50IHNvY2tl
dCA9IGF0b2koYXJndlsxXSk7CisgICAgV2ViUHJvY2Vzczo6c2hhcmVkKCkuaW5pdGlhbGl6ZShz
b2NrZXQsIFJ1bkxvb3A6Om1haW4oKSk7CisgICAgUnVuTG9vcDo6cnVuKCk7CisKKyAgICByZXR1
cm4gMDsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nl
c3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9j
ZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5oCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQ
cm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5oCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDQy
IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNl
cnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwg
SW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycn
CisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRB
QklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NM
QUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUwor
ICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICog
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJ
VFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJ
TkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBXZWJQcm9jZXNz
TWFpbkd0a19oCisjZGVmaW5lIFdlYlByb2Nlc3NNYWluR3RrX2gKKworI2luY2x1ZGUgPFdlYktp
dDIvV0tCYXNlLmg+CisKK25hbWVzcGFjZSBXZWJLaXQgeworCisjaWZkZWYgX19jcGx1c3BsdXMK
K2V4dGVybiAiQyIgeworV0tfRVhQT1JUIGludCBXZWJQcm9jZXNzTWFpbkd0ayhpbnQgYXJnYywg
Y2hhciogYXJndltdKTsKK30gLy8gZXh0ZXJuICJDIgorI2VuZGlmIC8vIF9fY3BsdXNwbHVzCisK
K30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gV2ViUHJvY2Vzc01haW5faApJbmRl
eDogV2ViS2l0Mi9ndGsvTWFpbkd0ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9ndGsvTWFp
bkd0ay5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL2d0ay9NYWluR3RrLmNwcAkocmV2aXNp
b24gMCkKQEAgLTAsMCArMSwzMiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJ
bmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMg
b2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90
aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVy
LgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24g
YW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisg
KgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09O
VFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFO
VElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJS
QU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisg
KiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9S
IElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1Qs
IElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFN
QUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBT
VUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklU
UzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFO
WSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJ
QUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICog
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4g
SUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisK
KyNpbmNsdWRlICJXZWJQcm9jZXNzTWFpbkd0ay5oIgorCitpbnQgbWFpbihpbnQgYXJnYywgY2hh
cioqIGFyZ3YpCit7CisgICAgcmV0dXJuIFdlYktpdDo6V2ViUHJvY2Vzc01haW5HdGsoYXJnYywg
YXJndik7Cit9CkluZGV4OiBXZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCj09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0t
IFdlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4JKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL2d0ay93
ZWJraXQyLnBjLmluCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHByZWZp
eEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AbGliZGlyQAoraW5jbHVkZWRp
cj1AaW5jbHVkZWRpckAKKworTmFtZTogV2ViS2l0MgorRGVzY3JpcHRpb246IFdlYiBjb250ZW50
IGVuZ2luZSBmb3IgR1RLKworVmVyc2lvbjogQFZFUlNJT05ACitSZXF1aXJlczogZ2xpYi0yLjAg
Z3RrKy1AR1RLX0FQSV9WRVJTSU9OQCBsaWJzb3VwLTIuNAorTGliczogLUwke2xpYmRpcn0gLWx3
ZWJraXQyZ3RrLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ACitDZmxhZ3M6IC1JJHtpbmNsdWRlZGly
fS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ACg==
</data>
<flag name="review"
          id="62033"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>71888</attachid>
            <date>2010-10-26 08:02:33 -0700</date>
            <delta_ts>2010-10-28 06:45:16 -0700</delta_ts>
            <desc>MiniBrowser App Patch</desc>
            <filename>MiniBrowser.patch</filename>
            <type>text/plain</type>
            <size>24768</size>
            <attacher name="Amruth Raj">amruthraj</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9D
aGFuZ2VMb2cJKHJldmlzaW9uIDcwMDk4KQorKysgV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3Jr
aW5nIGNvcHkpCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTAtMTAtMjYgIEFtcnV0aCBSYWogIDxhbXJ1
dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxh
QG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICBJbXBsZW1lbnQgTWluaUJyb3dzZXIgZm9yIEd0ayBwb3J0LgorICAgICAgICAoaHR0
cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgICog
TWluaUJyb3dzZXIvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3Nl
clZpZXcuY3BwOiBBZGRlZC4KKyAgICAgICAgKEJyb3dzZXJWaWV3OjpCcm93c2VyVmlldyk6Cisg
ICAgICAgIChCcm93c2VyVmlldzo6fkJyb3dzZXJWaWV3KToKKyAgICAgICAgKEJyb3dzZXJWaWV3
Ojpsb2FkVXJsKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3NlclZpZXcuaDogQWRk
ZWQuCisgICAgICAgIChCcm93c2VyVmlldzo6Z2V0V2ViVmlldyk6CisgICAgICAgIChCcm93c2Vy
Vmlldzo6Z2V0UGFnZVJlZik6CisgICAgICAgICogTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5k
b3cuY3BwOiBBZGRlZC4KKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OkJyb3dzZXJXaW5kb3cpOgor
ICAgICAgICAoQnJvd3NlcldpbmRvdzo6fkJyb3dzZXJXaW5kb3cpOgorICAgICAgICAoQnJvd3Nl
cldpbmRvdzo6Z2V0VXJsZW50cnkpOgorICAgICAgICAoQnJvd3NlcldpbmRvdzo6YWN0aXZhdGVV
cmxFbnRyeSk6CisgICAgICAgIChCcm93c2VyV2luZG93Ojpnb3RvVVJMKToKKyAgICAgICAgKEJy
b3dzZXJXaW5kb3c6OmNyZWF0ZVdpbmRvdyk6CisgICAgICAgIChCcm93c2VyV2luZG93OjpzaG93
V2luZG93KToKKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OmNyZWF0ZU1lbnViYXIpOgorICAgICAg
ICAoQnJvd3NlcldpbmRvdzo6Y3JlYXRlVG9vbGJhcik6CisgICAgICAgIChCcm93c2VyV2luZG93
OjpjcmVhdGVCcm93c2VyKToKKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRv
dy5oOiBBZGRlZC4KKyAgICAgICAgKEJyb3dzZXJXaW5kb3c6OmNyZWF0ZSk6CisgICAgICAgICog
TWluaUJyb3dzZXIvZ3RrL0dOVW1ha2VmaWxlLmFtOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJv
d3Nlci9ndGsvTWluaUJyb3dzZXIuY3BwOiBBZGRlZC4KKyAgICAgICAgKE1pbmlCcm93c2VyOjpz
aGFyZWQpOgorICAgICAgICAoTWluaUJyb3dzZXI6On5NaW5pQnJvd3Nlcik6CisgICAgICAgIChN
aW5pQnJvd3Nlcjo6Y3JlYXRlTmV3V2luZG93KToKKyAgICAgICAgKE1pbmlCcm93c2VyOjpjbG9z
ZUN1cnJlbnRXaW5kb3cpOgorICAgICAgICAoTWluaUJyb3dzZXI6OnJlZ2lzdGVyV2luZG93KToK
KyAgICAgICAgKE1pbmlCcm93c2VyOjp1bnJlZ2lzdGVyV2luZG93KToKKyAgICAgICAgKE1pbmlC
cm93c2VyOjpjcmVhdGVXaW5kb3cpOgorICAgICAgICAqIE1pbmlCcm93c2VyL2d0ay9NaW5pQnJv
d3Nlci5oOiBBZGRlZC4KKyAgICAgICAgKiBNaW5pQnJvd3Nlci9ndGsvbWFpbi5jcHA6IEFkZGVk
LgorICAgICAgICAobWFpbik6CisKIDIwMTAtMTAtMTkgIEVyaWMgU2VpZGVsICA8ZXJpY0B3ZWJr
aXQub3JnPgogCiAgICAgICAgIFVucmV2aWV3ZWQuCkluZGV4OiBXZWJLaXRUb29scy9NaW5pQnJv
d3Nlci9ndGsvQnJvd3NlclZpZXcuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL01pbmlC
cm93c2VyL2d0ay9Ccm93c2VyVmlldy5jcHAJKHJldmlzaW9uIDApCisrKyBXZWJLaXRUb29scy9N
aW5pQnJvd3Nlci9ndGsvQnJvd3NlclZpZXcuY3BwCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDU4
IEBACisvKgorICogQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dCBtb2RpZmljYXRpb24sIAorICog
YXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUg
bWV0OgorICoKKyAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0
aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgCisgKiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICoKKyAqIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSwgCisg
KiB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciAKKyAqIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogTmVpdGhlciB0aGUgbmFtZSBvZiBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cyBjb250cmlidXRvcnMgbWF5IAor
ICogYmUgdXNlZCB0byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tIHRo
aXMgc29mdHdhcmUgd2l0aG91dCAKKyAqIHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlzc2lv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9M
REVSUyBBTkQgQ09OVFJJQlVUT1JTIAorICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSIAorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQgSE9MREVSIE9SIAorICogQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1Ig
QU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIAorICogRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCAKKyAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiAKKyAqIFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgCisgKiBPRiBMSUFCSUxJVFksIFdIRVRI
RVIgSU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyAKKyAq
IE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyAKKyAqIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJCcm93c2VyVmlldy5oIgorCisj
aW5jbHVkZSAiQnJvd3NlcldpbmRvdy5oIgorCitCcm93c2VyVmlldzo6QnJvd3NlclZpZXcoKQor
ICAgIDogbV93a3ZpZXcoMCkKK3sKK30KKworQnJvd3NlclZpZXc6OkJyb3dzZXJWaWV3KEdka1Jl
Y3RhbmdsZSB3ZWJWaWV3UmVjdCwgR3RrV2lkZ2V0KiBwYXJlbnRXaW5kb3cpCit7CisgICAgV0tD
b250ZXh0UmVmIGNvbnRleHQgPSBXS0NvbnRleHRHZXRTaGFyZWRQcm9jZXNzQ29udGV4dCgpOwor
CisgICAgV0tQYWdlTmFtZXNwYWNlUmVmIHBhZ2VOYW1lc3BhY2UgPSBXS1BhZ2VOYW1lc3BhY2VD
cmVhdGUoY29udGV4dCk7CisgICAgICAgICAgICAKKyAgICBtX3drdmlldyA9IFdLVmlld0NyZWF0
ZSh3ZWJWaWV3UmVjdCwgcGFnZU5hbWVzcGFjZSwgcGFyZW50V2luZG93KTsKK30KKworQnJvd3Nl
clZpZXc6On5Ccm93c2VyVmlldygpCit7CisgICAgV0tQYWdlQ2xvc2UoZ2V0UGFnZVJlZigpKTsK
K30KKwordm9pZCBCcm93c2VyVmlldzo6bG9hZFVybChjb25zdCBjaGFyKiB1cmwpCit7CisgICAg
V0tQYWdlTG9hZFVSTChnZXRQYWdlUmVmKCksIFdLVVJMQ3JlYXRlV2l0aFVSTCh1cmwpKTsKK30K
KwpJbmRleDogV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3LmgKPT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PQotLS0gV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3LmgJKHJldmlz
aW9uIDApCisrKyBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlclZpZXcuaAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw1OSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCAKKyAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICogdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3IgCisgKiBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSAKKyAqIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgCisgKiBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiAKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCAKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIAor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgCisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IEJyb3dzZXJWaWV3X2gKKyNkZWZpbmUgQnJvd3NlclZpZXdfaAorCisjaW5jbHVkZSA8V2ViS2l0
Mi9XZWJLaXQyLmg+CisjaW5jbHVkZSA8Z3RrL2d0ay5oPgorCitjbGFzcyBCcm93c2VyVmlldyB7
CitwdWJsaWM6IAorICAgIEJyb3dzZXJWaWV3KCk7CisgICAgQnJvd3NlclZpZXcoR2RrUmVjdGFu
Z2xlIHdlYlZpZXdSZWN0LCBHdGtXaWRnZXQqIHBhcmVudFdpbmRvdyk7CisgICAgfkJyb3dzZXJW
aWV3KCk7CisgICAgCisgICAgdm9pZCBsb2FkVXJsKGNvbnN0IGNoYXIqIHVybCk7CisgICAgCisg
ICAgR3RrV2lkZ2V0KiBnZXRXZWJWaWV3KCkgY29uc3QKKyAgICB7CisgICAgICAgIHJldHVybiBX
S1ZpZXdHZXRXaW5kb3cobV93a3ZpZXcpOworICAgIH0gCisKK3ByaXZhdGU6CisgICAgV0tQYWdl
UmVmIGdldFBhZ2VSZWYoKSBjb25zdAorICAgIHsKKyAgICAgICAgcmV0dXJuIFdLVmlld0dldFBh
Z2UobV93a3ZpZXcpOworICAgIH0KKyAgICAKKyAgICBXS1ZpZXdSZWYgbV93a3ZpZXc7Cit9Owor
CisjZW5kaWYgLy8gQnJvd3NlclZpZXdfaApJbmRleDogV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIv
Z3RrL0Jyb3dzZXJXaW5kb3cuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL01pbmlCcm93
c2VyL2d0ay9Ccm93c2VyV2luZG93LmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdFRvb2xzL01p
bmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwx
NTMgQEAKKy8qCisgKiBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0IG1vZGlmaWNhdGlvbiwgCisg
KiBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFy
ZSBtZXQ6CisgKgorICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAKKyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKgorICogUmVkaXN0cmlidXRpb25zIGlu
IGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQgbm90aWNlLCAK
KyAqIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlIGRvY3VtZW50YXRpb24gYW5kL29yIAorICogb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBOZWl0aGVyIHRoZSBuYW1lIG9mIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzIGNvbnRyaWJ1dG9ycyBtYXkg
CisgKiBiZSB1c2VkIHRvIGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20g
dGhpcyBzb2Z0d2FyZSB3aXRob3V0IAorICogc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNz
aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBI
T0xERVJTIEFORCBDT05UUklCVVRPUlMgCisgKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJ
TVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCAKKyAqIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBB
IFBBUlRJQ1VMQVIgCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiAgSU4gTk8gRVZFTlQgU0hB
TEwgVEhFIENPUFlSSUdIVCBIT0xERVIgT1IgCisgKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgCisgKiBFWEVNUExB
UlksIE9SIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIAorICogUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9T
UyBPRiBVU0UsIERBVEEsIE9SIAorICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSAKKyAqIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIAor
ICogTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIAorICogU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lC
SUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkJyb3dzZXJXaW5kb3cuaCIK
KworI2luY2x1ZGUgIkJyb3dzZXJWaWV3LmgiCisjaW5jbHVkZSAiTWluaUJyb3dzZXIuaCIKKwor
QnJvd3NlcldpbmRvdzo6QnJvd3NlcldpbmRvdygpCisgICAgOiBtX2Jyb3dzZXJWaWV3KDApCisg
ICAgLCBtX3dpbmRvd01haW4oMCkKKyAgICAsIG1fd2luZG93R3JvdXAoMCkKKyAgICAsIG1fd2lu
ZG93VVJMRW50cnkoMCkKK3sKK30KKworQnJvd3NlcldpbmRvdzo6fkJyb3dzZXJXaW5kb3coKQor
eworICAgIGlmIChtX2Jyb3dzZXJWaWV3KSB7CisgICAgICAgIGRlbGV0ZSBtX2Jyb3dzZXJWaWV3
OworICAgICAgICBtX2Jyb3dzZXJWaWV3ID0gMDsKKyAgICB9CisgICAgZ3RrX3dpZGdldF9kZXN0
cm95KG1fd2luZG93TWFpbik7Cit9CisKK2NvbnN0IGdjaGFyKiBCcm93c2VyV2luZG93OjpnZXRV
cmxlbnRyeSgpCit7CisgICAgcmV0dXJuIGd0a19lbnRyeV9nZXRfdGV4dChHVEtfRU5UUlkobV93
aW5kb3dVUkxFbnRyeSkpOworfQorCit2b2lkIEJyb3dzZXJXaW5kb3c6OmFjdGl2YXRlVXJsRW50
cnkoR3RrV2lkZ2V0KiB3aWRnZXQsIGdwb2ludGVyIGRhdGEpCit7CisgICAgQnJvd3NlcldpbmRv
dyogYnJvd3NlcldpbmRvdyA9IHN0YXRpY19jYXN0PEJyb3dzZXJXaW5kb3cqPihkYXRhKTsKKyAg
ICBjb25zdCBnY2hhciogdXJsID0gYnJvd3NlcldpbmRvdy0+Z2V0VXJsZW50cnkoKTsKKyAgICBi
cm93c2VyV2luZG93LT5nb3RvVVJMKHVybCk7Cit9CisKK3ZvaWQgQnJvd3NlcldpbmRvdzo6Z290
b1VSTChjb25zdCBjaGFyKiB1cmwpCit7CisgICAgbV9icm93c2VyVmlldy0+bG9hZFVybCh1cmwp
OworfQorCit2b2lkIEJyb3dzZXJXaW5kb3c6OmNyZWF0ZVdpbmRvdyhpbnQgd2lkdGgsIGludCBo
ZWlnaHQpCit7CisgICAgR3RrV2lkZ2V0KiB3aW5kb3dWYm94ID0gZ3RrX3Zib3hfbmV3KEZBTFNF
LCAwKTsKKyAgICAKKyAgICBtX3dpbmRvd01haW4gPSBndGtfd2luZG93X25ldyhHVEtfV0lORE9X
X1RPUExFVkVMKTsKKyAgICBndGtfd2luZG93X3NldF9kZWZhdWx0X3NpemUoR1RLX1dJTkRPVyht
X3dpbmRvd01haW4pLCB3aWR0aCwgaGVpZ2h0KTsKKyAgICBndGtfd2lkZ2V0X3NldF9uYW1lKG1f
d2luZG93TWFpbiwgIk1pbmlCcm93c2VyIik7CisgICAgZ19zaWduYWxfY29ubmVjdChHX09CSkVD
VChtX3dpbmRvd01haW4pLCAiZGVzdHJveSIsIEdfQ0FMTEJBQ0soTWluaUJyb3dzZXI6OmNsb3Nl
Q3VycmVudFdpbmRvdyksIChncG9pbnRlcil0aGlzKTsKKworICAgIGd0a19ib3hfcGFja19zdGFy
dChHVEtfQk9YKHdpbmRvd1Zib3gpLCBjcmVhdGVNZW51YmFyKCksIEZBTFNFLCBGQUxTRSwgMCk7
CisgICAgZ3RrX2JveF9wYWNrX3N0YXJ0KEdUS19CT1god2luZG93VmJveCksIGNyZWF0ZVRvb2xi
YXIoKSwgRkFMU0UsIEZBTFNFLCAwKTsKKyAgICBndGtfYm94X3BhY2tfc3RhcnQoR1RLX0JPWCh3
aW5kb3dWYm94KSwgY3JlYXRlQnJvd3NlcigpLCBUUlVFLCBUUlVFLCAwKTsKKworICAgIGd0a193
aW5kb3dfYWRkX2FjY2VsX2dyb3VwKEdUS19XSU5ET1cobV93aW5kb3dNYWluKSwgbV93aW5kb3dH
cm91cCk7CisgICAgZ3RrX2NvbnRhaW5lcl9hZGQoR1RLX0NPTlRBSU5FUihtX3dpbmRvd01haW4p
LCB3aW5kb3dWYm94KTsKK30KKwordm9pZCBCcm93c2VyV2luZG93OjpzaG93V2luZG93KCkKK3sK
KyAgICBndGtfd2lkZ2V0X2dyYWJfZm9jdXMoR1RLX1dJREdFVChtX2Jyb3dzZXJWaWV3LT5nZXRX
ZWJWaWV3KCkpKTsKKyAgICBndGtfd2lkZ2V0X3Nob3dfYWxsKG1fd2luZG93TWFpbik7Cit9CisK
K0d0a1dpZGdldCogQnJvd3NlcldpbmRvdzo6Y3JlYXRlTWVudWJhcigpCit7CisgICAgR3RrV2lk
Z2V0KiBmaWxlLCAqZmlsZU1lbnUsICp3aW5kb3dOZXcsICp3aW5kb3dDbG9zZTsKKyAgICBHdGtX
aWRnZXQqIHdpbmRvd01lbnViYXIgPSBndGtfbWVudV9iYXJfbmV3KCk7CisgICAgbV93aW5kb3dH
cm91cCA9IGd0a19hY2NlbF9ncm91cF9uZXcoKTsKKworICAgIGZpbGUgPSBndGtfbWVudV9pdGVt
X25ld193aXRoX2xhYmVsKCJGaWxlIik7CisgICAgZmlsZU1lbnUgPSBndGtfbWVudV9uZXcoKTsK
KyAgICBndGtfbWVudV9pdGVtX3NldF9zdWJtZW51KEdUS19NRU5VX0lURU0oZmlsZSksIGZpbGVN
ZW51KTsKKyAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQoR1RLX01FTlVfU0hFTEwod2luZG93TWVu
dWJhciksIGZpbGUpOworCisgICAgd2luZG93TmV3ID0gZ3RrX2ltYWdlX21lbnVfaXRlbV9uZXdf
ZnJvbV9zdG9jayhHVEtfU1RPQ0tfTkVXLCBtX3dpbmRvd0dyb3VwKTsKKyAgICBnX3NpZ25hbF9j
b25uZWN0KEdfT0JKRUNUKHdpbmRvd05ldyksICJhY3RpdmF0ZSIsIEdfQ0FMTEJBQ0soTWluaUJy
b3dzZXI6OmNyZWF0ZU5ld1dpbmRvdyksIE5VTEwpOworICAgIHdpbmRvd0Nsb3NlID0gZ3RrX2lt
YWdlX21lbnVfaXRlbV9uZXdfZnJvbV9zdG9jayhHVEtfU1RPQ0tfUVVJVCwgbV93aW5kb3dHcm91
cCk7CisgICAgZ19zaWduYWxfY29ubmVjdChHX09CSkVDVCh3aW5kb3dDbG9zZSksICJhY3RpdmF0
ZSIsIEdfQ0FMTEJBQ0soTWluaUJyb3dzZXI6OmNsb3NlQ3VycmVudFdpbmRvdyksIChncG9pbnRl
cil0aGlzKTsKKyAgICBndGtfbWVudV9zaGVsbF9hcHBlbmQoR1RLX01FTlVfU0hFTEwoZmlsZU1l
bnUpLCB3aW5kb3dOZXcpOworICAgIGd0a19tZW51X3NoZWxsX2FwcGVuZChHVEtfTUVOVV9TSEVM
TChmaWxlTWVudSksIHdpbmRvd0Nsb3NlKTsKKworICAgIHJldHVybiB3aW5kb3dNZW51YmFyOwor
fQorCitHdGtXaWRnZXQqIEJyb3dzZXJXaW5kb3c6OmNyZWF0ZVRvb2xiYXIoKQoreworICAgIEd0
a1dpZGdldCogd2luZG93VG9vbGJhciA9IGd0a190b29sYmFyX25ldygpOworICAgIGd0a190b29s
YmFyX3NldF9vcmllbnRhdGlvbihHVEtfVE9PTEJBUih3aW5kb3dUb29sYmFyKSwgR1RLX09SSUVO
VEFUSU9OX0hPUklaT05UQUwpOyAKKyAgICBndGtfdG9vbGJhcl9zZXRfc3R5bGUoR1RLX1RPT0xC
QVIod2luZG93VG9vbGJhciksIEdUS19UT09MQkFSX0JPVEhfSE9SSVopOworICAgIEd0a1Rvb2xJ
dGVtKiBpdGVtOworCisgICAgLy8gVGhlIFVSTCBlbnRyeQorICAgIGl0ZW0gPSBndGtfdG9vbF9p
dGVtX25ldygpOworICAgIGd0a190b29sX2l0ZW1fc2V0X2V4cGFuZChpdGVtLCBUUlVFKTsKKyAg
ICBtX3dpbmRvd1VSTEVudHJ5ID0gZ3RrX2VudHJ5X25ldygpOworICAgIGd0a19jb250YWluZXJf
YWRkKEdUS19DT05UQUlORVIoaXRlbSksIG1fd2luZG93VVJMRW50cnkpOworICAgIGdfc2lnbmFs
X2Nvbm5lY3QoR19PQkpFQ1QobV93aW5kb3dVUkxFbnRyeSksICJhY3RpdmF0ZSIsIEdfQ0FMTEJB
Q0soQnJvd3NlcldpbmRvdzo6YWN0aXZhdGVVcmxFbnRyeSksIChncG9pbnRlcil0aGlzKTsKKyAg
ICBndGtfdG9vbGJhcl9pbnNlcnQoR1RLX1RPT0xCQVIod2luZG93VG9vbGJhciksIGl0ZW0sIC0x
KTsgCisgICAgCisgICAgLy8gVGhlIEdvIGJ1dHRvbgorICAgIGl0ZW0gPSBndGtfdG9vbF9idXR0
b25fbmV3X2Zyb21fc3RvY2soR1RLX1NUT0NLX09LKTsKKyAgICBnX3NpZ25hbF9jb25uZWN0KEdf
T0JKRUNUKGl0ZW0pLCAiY2xpY2tlZCIsIEdfQ0FMTEJBQ0soQnJvd3NlcldpbmRvdzo6YWN0aXZh
dGVVcmxFbnRyeSksIChncG9pbnRlcil0aGlzKTsKKyAgICBndGtfdG9vbGJhcl9pbnNlcnQoR1RL
X1RPT0xCQVIod2luZG93VG9vbGJhciksIGl0ZW0sIC0xKTsKKyAgICBndGtfdG9vbGJhcl9zZXRf
aWNvbl9zaXplKEdUS19UT09MQkFSKHdpbmRvd1Rvb2xiYXIpLCBHVEtfSUNPTl9TSVpFX1NNQUxM
X1RPT0xCQVIpOworCisgICAgcmV0dXJuIHdpbmRvd1Rvb2xiYXI7Cit9CisKK0d0a1dpZGdldCog
QnJvd3NlcldpbmRvdzo6Y3JlYXRlQnJvd3NlcigpCit7CisgICAgaW50IHdpZHRoID0gMCwgaGVp
Z2h0ID0gMDsKKyAgICAKKyAgICBHdGtXaWRnZXQqIHNjcm9sbGVkV2luZG93ID0gZ3RrX3Njcm9s
bGVkX3dpbmRvd19uZXcoMCwgMCk7CisgICAgZ3RrX3Njcm9sbGVkX3dpbmRvd19zZXRfcG9saWN5
KEdUS19TQ1JPTExFRF9XSU5ET1coc2Nyb2xsZWRXaW5kb3cpLCBHVEtfUE9MSUNZX0FVVE9NQVRJ
QywgR1RLX1BPTElDWV9BVVRPTUFUSUMpOworICAgIAorICAgIGd0a193aWRnZXRfZ2V0X3NpemVf
cmVxdWVzdChtX3dpbmRvd01haW4sICZ3aWR0aCwgJmhlaWdodCk7CisgICAgR2RrUmVjdGFuZ2xl
IHdlYlZpZXdSZWN0ID0gezAsIDAsIHdpZHRoLCBoZWlnaHR9OworICAgIG1fYnJvd3NlclZpZXcg
PSBuZXcgQnJvd3NlclZpZXcod2ViVmlld1JlY3QsIG1fd2luZG93TWFpbik7CisgICAgCisgICAg
Z3RrX3Njcm9sbGVkX3dpbmRvd19hZGRfd2l0aF92aWV3cG9ydChHVEtfU0NST0xMRURfV0lORE9X
KHNjcm9sbGVkV2luZG93KSwgR1RLX1dJREdFVChtX2Jyb3dzZXJWaWV3LT5nZXRXZWJWaWV3KCkp
KTsKKyAgIAorICAgIHJldHVybiBzY3JvbGxlZFdpbmRvdzsKK30KKwpJbmRleDogV2ViS2l0VG9v
bHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9NaW5pQnJvd3Nlci9ndGsvQnJvd3NlcldpbmRvdy5oCShyZXZpc2lvbiAwKQorKysgV2Vi
S2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuaAkocmV2aXNpb24gMCkKQEAg
LTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0
aW9uLCAKKyAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRp
dGlvbnMgYXJlIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVz
dCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICogdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqCisgKiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBu
b3RpY2UsIAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3IgCisgKiBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIE5laXRoZXIgdGhlIG5hbWUg
b2YgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0
b3JzIG1heSAKKyAqIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2
ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgCisgKiBzcGVjaWZpYyBwcmlvciB3cml0dGVu
IHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09Q
WVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBS
RVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8s
IAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiAKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKKyAqIENPTlRSSUJVVE9SUyBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCAKKyAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywgCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIAorICogT0YgTElBQklM
SVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgCisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIEJyb3dzZXJXaW5k
b3dfaAorI2RlZmluZSBCcm93c2VyV2luZG93X2gKKworI2luY2x1ZGUgPGd0ay9ndGsuaD4KKwor
Y2xhc3MgQnJvd3NlclZpZXc7CisKK2NsYXNzIEJyb3dzZXJXaW5kb3cgeworcHVibGljOgorICAg
IHN0YXRpYyBCcm93c2VyV2luZG93KiBjcmVhdGUoKQorICAgIHsgICAKKyAgICAgICAgcmV0dXJu
IG5ldyBCcm93c2VyV2luZG93OworICAgIH0gICAKKyAgICBzdGF0aWMgdm9pZCBhY3RpdmF0ZVVy
bEVudHJ5KEd0a1dpZGdldCogd2lkZ2V0LCBncG9pbnRlciBkYXRhKTsKKworICAgIHZvaWQgY3Jl
YXRlV2luZG93KGludCB3aWR0aCwgaW50IGhlaWdodCk7CisgICAgdm9pZCBzaG93V2luZG93KCk7
CisgICAgCisgICAgdm9pZCBnb3RvVVJMKGNvbnN0IGNoYXIqIHVybCk7CisgICAgY29uc3QgZ2No
YXIqIGdldFVybGVudHJ5KCk7CisKKyAgICB+QnJvd3NlcldpbmRvdygpOworICAgIAorcHJpdmF0
ZToKKyAgICBCcm93c2VyV2luZG93KCk7CisKKyAgICBHdGtXaWRnZXQqIGNyZWF0ZU1lbnViYXIo
KTsKKyAgICBHdGtXaWRnZXQqIGNyZWF0ZVRvb2xiYXIoKTsKKyAgICBHdGtXaWRnZXQqIGNyZWF0
ZUJyb3dzZXIoKTsKKworICAgIEJyb3dzZXJWaWV3ICptX2Jyb3dzZXJWaWV3OworICAgIEd0a1dp
ZGdldCAqbV93aW5kb3dNYWluOworICAgIEd0a0FjY2VsR3JvdXAgKm1fd2luZG93R3JvdXA7Cisg
ICAgR3RrV2lkZ2V0ICptX3dpbmRvd1VSTEVudHJ5OworfTsKKworI2VuZGlmIC8vIEJyb3dzZXJX
aW5kb3dfaApJbmRleDogV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0dOVW1ha2VmaWxlLmFt
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9HTlVtYWtlZmlsZS5h
bQkocmV2aXNpb24gMCkKKysrIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9HTlVtYWtlZmls
ZS5hbQkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwzNyBAQAorCisjTWluaUJyb3dzZXIKK2Jpbl9Q
Uk9HUkFNUyArPSBcCisJUHJvZ3JhbXMvTWluaUJyb3dzZXIKKworUHJvZ3JhbXNfTWluaUJyb3dz
ZXJfQ1BQRkxBR1MgPSBcCisJLUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRp
cikvV2ViS2l0MiBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9ndGsgXAorCS1JJChzcmNkaXIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0VG9vbHMvTWlu
aUJyb3dzZXIvZ3RrIFwKKwkkKEdUS19DRkxBR1MpIFwKKwkkKGdsb2JhbF9jcHBmbGFncykgXAor
CSQoamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MpCisKK1Byb2dyYW1zX01pbmlCcm93c2VyX1NPVVJD
RVMgPSBcCisJV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3LmNwcCBcCisJ
V2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL0Jyb3dzZXJWaWV3LmggXAorCVdlYktpdFRvb2xz
L01pbmlCcm93c2VyL2d0ay9Ccm93c2VyV2luZG93LmNwcCBcCisJV2ViS2l0VG9vbHMvTWluaUJy
b3dzZXIvZ3RrL0Jyb3dzZXJXaW5kb3cuaCBcCisJV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3Rr
L01pbmlCcm93c2VyLmNwcCBcCisJV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL01pbmlCcm93
c2VyLmggXAorCVdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmNwcAorCitQcm9ncmFt
c19NaW5pQnJvd3Nlcl9MREFERCA9IFwKKwlsaWJKYXZhU2NyaXB0Q29yZS5sYSBcCisJbGlid2Vi
a2l0Mmd0ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5P
Ul9WRVJTSU9OQC5sYSBcCisJJChHVEtfTElCUykgXAorCSQoR0xJQl9MSUJTKQorCitQcm9ncmFt
c19NaW5pQnJvd3Nlcl9MREZMQUdTID0gXAorCS1uby1mYXN0LWluc3RhbGwgXAorCS1uby1pbnN0
YWxsCisKK0NMRUFORklMRVMgKz0gXAorCSQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcy9NaW5pQnJv
d3NlcgpJbmRleDogV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL01pbmlCcm93c2VyLmNwcAo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvTWluaUJyb3dzZXIuY3Bw
CShyZXZpc2lvbiAwKQorKysgV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL01pbmlCcm93c2Vy
LmNwcAkocmV2aXNpb24gMCkKQEAgLTAsMCArMSw4NyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykg
MjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCAKKyAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Ig
CisgKiBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoK
KyAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gbm9yIHRoZSBu
YW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1heSAKKyAqIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBw
cm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgCisgKiBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAKKyAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UIExJTUlURUQgVE8sIAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJD
SEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiAKKyAqIFBVUlBPU0UgQVJF
IERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAK
KyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJ
REVOVEFMLCBTUEVDSUFMLCAKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgCisgKiBQUk9G
SVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkg
VEhFT1JZIAorICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgCisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkg
QVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgCisgKiBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiTWluaUJyb3dzZXIuaCIKKworI2luY2x1ZGUgIkJyb3dzZXJXaW5kb3cuaCIK
KworTWluaUJyb3dzZXIqIE1pbmlCcm93c2VyOjpzaGFyZWQoKQoreworICAgIHN0YXRpYyBNaW5p
QnJvd3NlciogaW5zdGFuY2UgPSAwOworICAgIGlmICghaW5zdGFuY2UpCisgICAgICAgIGluc3Rh
bmNlID0gbmV3IE1pbmlCcm93c2VyKCk7CisgICAgcmV0dXJuIGluc3RhbmNlOworfQorCitNaW5p
QnJvd3Nlcjo6fk1pbmlCcm93c2VyKCkKK3sKKyAgICBtX2Jyb3dzZXJXaW5kb3dzLmNsZWFyKCk7
CisgICAgZ3RrX21haW5fcXVpdCgpOworfQorCit2b2lkIE1pbmlCcm93c2VyOjpjcmVhdGVOZXdX
aW5kb3coR3RrV2lkZ2V0KiB3aWRnZXQsIGdwb2ludGVyIGRhdGEpCit7CisgICAgTWluaUJyb3dz
ZXI6OnNoYXJlZCgpLT5jcmVhdGVXaW5kb3coKTsKK30KKwordm9pZCBNaW5pQnJvd3Nlcjo6Y2xv
c2VDdXJyZW50V2luZG93KEd0a1dpZGdldCogd2lkZ2V0LCBncG9pbnRlciBkYXRhKQoreworICAg
IEJyb3dzZXJXaW5kb3cqIHdpbmRvdyA9IHN0YXRpY19jYXN0PEJyb3dzZXJXaW5kb3cqPihkYXRh
KTsKKyAgICBNaW5pQnJvd3Nlcjo6c2hhcmVkKCktPnVucmVnaXN0ZXJXaW5kb3cod2luZG93KTsK
K30KKwordm9pZCBNaW5pQnJvd3Nlcjo6cmVnaXN0ZXJXaW5kb3coQnJvd3NlcldpbmRvdyogd2lu
ZG93KQoreworICAgIG1fYnJvd3NlcldpbmRvd3MuaW5zZXJ0KHdpbmRvdyk7Cit9CisKK3ZvaWQg
TWluaUJyb3dzZXI6OnVucmVnaXN0ZXJXaW5kb3coQnJvd3NlcldpbmRvdyogd2luZG93KQorewor
ICAgIHN0ZDo6c2V0PEJyb3dzZXJXaW5kb3cqPjo6aXRlcmF0b3IgaXQ7CisgICAgaXQgPSBtX2Jy
b3dzZXJXaW5kb3dzLmZpbmQod2luZG93KTsKKyAgICBpZiAoaXQgPT0gbV9icm93c2VyV2luZG93
cy5lbmQoKSkgCisgICAgICAgIHJldHVybjsKKworICAgIG1fYnJvd3NlcldpbmRvd3MuZXJhc2Uo
d2luZG93KTsKKyAgICBkZWxldGUgd2luZG93OworICAgIHdpbmRvdyA9IDA7CisgICAgCisgICAg
aWYgKG1fYnJvd3NlcldpbmRvd3MuZW1wdHkoKSkKKyAgICAgICAgZ3RrX21haW5fcXVpdCgpOwor
fQorCit2b2lkIE1pbmlCcm93c2VyOjpjcmVhdGVXaW5kb3coKQoreworICAgIEJyb3dzZXJXaW5k
b3cqIGJyb3dzZXJXaW5kb3cgPSBCcm93c2VyV2luZG93OjpjcmVhdGUoKTsKKyAgICByZWdpc3Rl
cldpbmRvdyhicm93c2VyV2luZG93KTsKKyAgICBicm93c2VyV2luZG93LT5jcmVhdGVXaW5kb3co
ODAwLCA2MDApOworICAgIGJyb3dzZXJXaW5kb3ctPmdvdG9VUkwoImh0dHA6Ly93ZWJraXQub3Jn
Iik7CisgICAgYnJvd3NlcldpbmRvdy0+c2hvd1dpbmRvdygpOworfQpJbmRleDogV2ViS2l0VG9v
bHMvTWluaUJyb3dzZXIvZ3RrL01pbmlCcm93c2VyLmgKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvTWluaUJyb3dzZXIvZ3RrL01pbmlCcm93c2VyLmgJKHJldmlzaW9uIDApCisrKyBXZWJLaXRU
b29scy9NaW5pQnJvd3Nlci9ndGsvTWluaUJyb3dzZXIuaAkocmV2aXNpb24gMCkKQEAgLTAsMCAr
MSw1NSBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQgbW9kaWZpY2F0aW9uLCAK
KyAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMg
aW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2Us
IAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3IgCisgKiBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIE5laXRoZXIgdGhlIG5hbWUgb2YgTW90
b3JvbGEgTW9iaWxpdHksIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMgY29udHJpYnV0b3JzIG1h
eSAKKyAqIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgCisgKiBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1p
c3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAKKyAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiAKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKKyAqIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUg
Rk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCAKKyAqIEVYRU1Q
TEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgCisgKiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIAorICogT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcg
CisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBU
SEUgVVNFIE9GIFRISVMgCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIE1pbmlCcm93c2VyX2gKKyNk
ZWZpbmUgTWluaUJyb3dzZXJfaAorCisjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2luY2x1ZGUgPHNl
dD4KKworY2xhc3MgQnJvd3NlcldpbmRvdzsKKworY2xhc3MgTWluaUJyb3dzZXIgeworcHVibGlj
OgorICAgIHN0YXRpYyBNaW5pQnJvd3Nlciogc2hhcmVkKCk7CisgICAgc3RhdGljIHZvaWQgY3Jl
YXRlTmV3V2luZG93KEd0a1dpZGdldCogd2lkZ2V0LCBncG9pbnRlciBkYXRhKTsKKyAgICBzdGF0
aWMgdm9pZCBjbG9zZUN1cnJlbnRXaW5kb3coR3RrV2lkZ2V0KiB3aWRnZXQsIGdwb2ludGVyIGRh
dGEpOworCisgICAgfk1pbmlCcm93c2VyKCk7CisgICAgCisgICAgdm9pZCBjcmVhdGVXaW5kb3co
KTsKKyAgICB2b2lkIHJlZ2lzdGVyV2luZG93KEJyb3dzZXJXaW5kb3cqKTsKKyAgICB2b2lkIHVu
cmVnaXN0ZXJXaW5kb3coQnJvd3NlcldpbmRvdyopOworICAgIAorcHJpdmF0ZToKKyAgICBzdGQ6
OnNldDxCcm93c2VyV2luZG93Kj4gbV9icm93c2VyV2luZG93czsgICAgCit9OworCisjZW5kaWYg
Ly8gTWluaUJyb3dzZXJfaApJbmRleDogV2ViS2l0VG9vbHMvTWluaUJyb3dzZXIvZ3RrL21haW4u
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmNwcAko
cmV2aXNpb24gMCkKKysrIFdlYktpdFRvb2xzL01pbmlCcm93c2VyL2d0ay9tYWluLmNwcAkocmV2
aXNpb24gMCkKQEAgLTAsMCArMSw0MyBAQAorLyoKKyAqIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQgbW9kaWZpY2F0aW9uLCAKKyAqIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMgYXJlIG1ldDoKKyAqCisgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291
cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodCBub3RpY2UsIAorICogdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3Zl
IGNvcHlyaWdodCBub3RpY2UsIAorICogdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3IgCisgKiBvdGhl
ciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIE5laXRo
ZXIgdGhlIG5hbWUgb2YgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gbm9yIHRoZSBuYW1lcyBvZiBp
dHMgY29udHJpYnV0b3JzIG1heSAKKyAqIGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHBy
b2R1Y3RzIGRlcml2ZWQgZnJvbSB0aGlzIHNvZnR3YXJlIHdpdGhvdXQgCisgKiBzcGVjaWZpYyBw
cmlvciB3cml0dGVuIHBlcm1pc3Npb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBUSEUgQ09QWVJJR0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUyAKKyAqICJBUyBJUyIg
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiAKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUIEhPTERFUiBPUiAKKyAqIENPTlRS
SUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBT
UEVDSUFMLCAKKyAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJ
TkcsIEJVVCBOT1QgTElNSVRFRCBUTywgCisgKiBQUk9DVVJFTUVOVCBPRiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgCisgKiBQUk9GSVRTOyBPUiBC
VVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIAor
ICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgCisgKiBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkgQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgCisgKiBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVk
ZSAiTWluaUJyb3dzZXIuaCIKKworI2luY2x1ZGUgPGd0ay9ndGsuaD4KKworaW50IG1haW4oaW50
IGFyZ2MsIGNoYXIqIGFyZ3ZbXSkKK3sKKyAgICBndGtfaW5pdCgmYXJnYywgJmFyZ3YpOworICAg
IAorICAgIE1pbmlCcm93c2VyOjpzaGFyZWQoKS0+Y3JlYXRlV2luZG93KCk7CisgICAgZ3RrX21h
aW4oKTsKKyAgICAKKyAgICByZXR1cm4gMDsKK30K
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72181</attachid>
            <date>2010-10-28 06:45:16 -0700</date>
            <delta_ts>2010-10-28 10:14:43 -0700</delta_ts>
            <desc>Bare minimum changes for building GTK port of WebKit2</desc>
            <filename>Minimum Changes for WebKit2 GTK Build.diff</filename>
            <type>text/plain</type>
            <size>77180</size>
            <attacher name="Amruth Raj">amruthraj</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkM2ZiYzY4Li42Yzk3YTc0
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMjggIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2
aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBi
dWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OiBDaGFuZ2VzIHRvIGJ1aWxkIGVpdGhlciBvZiBXZWJLaXQxIG9yIFdlYktpdDIuCisgICAgICAg
IEl0IGJhc2ljYWxseSBleGNsdWRlcyBhbGwgV2ViS2l0L2d0ay93ZWJraXQvIGZpbGVzIHdoZW4g
YnVpbGRpbmcgV2ViS2l0Mi4KKyAgICAgICAgQWxzbywgZXhsdWRlcyBVbml0dGVzdHMsIER1bXBy
ZW5kZXJUcmVlLCBHdGtMYXVuY2hlciBldGMgZm9yIFdlYktpdDIuCisgICAgICAgICogY29uZmln
dXJlLmFjOiBPcHRpb24gZm9yIGVuYWJsZSBvciBkaXNhYmxlIFdlYktpdDIuCisKIDIwMTAtMTAt
MjYgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDZkZTY0YTAuLjE2ZDA2YzAgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFt
CisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0zNCw2ICszNCw3IEBAIEdFTlNPVVJDRVMgOj0gJCh0
b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzCiBHRU5TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFIDo9
ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZQogR0VOU09VUkNF
U19XRUJDT1JFIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlCiBHRU5T
T1VSQ0VTX1dFQktJVCA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0CitH
RU5TT1VSQ0VTX1dFQktJVDIgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIKIEdFTlBST0dSQU1TIDo9ICQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcwogR0VOU09VUkNFU19J
TlNQRUNUT1IgOj0gJChHRU5QUk9HUkFNUykvcmVzb3VyY2VzL2luc3BlY3RvcgogV2ViQ29yZSA6
PSAkKHNyY2RpcikvV2ViQ29yZQpAQCAtNjksOSArNzAsMTggQEAgd2Via2l0Z3RrX3N0YXRpY19o
X2FwaSA6PQogd2Via2l0Z3RrX2hfYXBpIDo9CiB3ZWJraXRndGtfc291cmNlcyA6PQogd2Via2l0
Z3RrX2NwcGZsYWdzIDo9Cit3ZWJjb3JlZ3RrX2dkb21fc291cmNlcyA6PQord2ViY29yZWd0a19n
ZG9tX2NwcGZsYWdzIDo9CiB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzIDo9CiB3ZWJraXRn
dGtfYnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X25vc291cmNlcyA6PQord2Via2l0
Ml9zb3VyY2VzIDo9Cit3ZWJraXQyZ3RrX3NvdXJjZXMgOj0KK3dlYmtpdDJndGtfc3RhdGljX2hf
YXBpIDo9Cit3ZWJraXQyX2NwcGZsYWdzIDo9Cit3ZWJraXQyZ3RrX2NwcGZsYWdzIDo9Cit3ZWJr
aXQyX2J1aWx0X3NvdXJjZXMgOj0KK3dlYmtpdDJfYnVpbHRfbm9zb3VyY2VzIDo9CiBnbG9iYWxf
Y3BwZmxhZ3MgOj0KIGdsb2JhbF9jZmxhZ3MgOj0KIGdsb2JhbF9jeHhmbGFncyA6PQpAQCAtMTEx
LDcgKzEyMSw3IEBAIGVuZGlmCiAKICMgU2hhcmVkIGxpYnJhcmllcwogbGliX0xUTElCUkFSSUVT
ICs9IFwKLQlsaWJ3ZWJraXRndGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEKKwlsaWJATElCV0VCS0lUR1RLX05BTUVALUBXRUJL
SVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxh
CiAKICMgQ29udmVuaWVuY2UgbGlicmFyaWVzCiBub2luc3RfTFRMSUJSQVJJRVMgKz0gXApAQCAt
MTIzLDcgKzEzMyw3IEBAIG5vZGlzdF9FWFRSQV9saWJKYXZhU2NyaXB0Q29yZV9sYV9TT1VSQ0VT
ID0gXAogbm9kaXN0X2xpYkphdmFTY3JpcHRDb3JlX2xhX1NPVVJDRVMgPSBcCiAJJChqYXZhc2Ny
aXB0Y29yZV9idWlsdF9zb3VyY2VzKQogCi1saWJKYXZhU2NyaXB0Q29yZV9sYWRpciA9ICQocHJl
Zml4KS9pbmNsdWRlL3dlYmtpdC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC9KYXZhU2NyaXB0Q29y
ZQorbGliSmF2YVNjcmlwdENvcmVfbGFkaXIgPSAkKHByZWZpeCkvaW5jbHVkZS9ATElCV0VCS0lU
R1RLX0RJUkAtQFdFQktJVEdUS19BUElfVkVSU0lPTkAvSmF2YVNjcmlwdENvcmUKIGxpYkphdmFT
Y3JpcHRDb3JlX2xhX0hFQURFUlMgPSAkKGphdmFzY3JpcHRjb3JlX2hfYXBpKQogCiBsaWJKYXZh
U2NyaXB0Q29yZV9sYV9TT1VSQ0VTID0gXApAQCAtMTUwLDUxICsxNjAsNDYgQEAgbGliSmF2YVNj
cmlwdENvcmVfbGFfQ1BQRkxBR1MgPSBcCiAJJChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykKIAog
IyBXZWJLaXQKLW5vZGlzdF9FWFRSQV9saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1Jf
VkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwKK25v
ZGlzdF9FWFRSQV9saWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCiAJJCh3
ZWJjb3JlX2J1aWx0X25vc291cmNlcykKIAotbm9kaXN0X2xpYndlYmtpdGd0a19AV0VCS0lUR1RL
X0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VS
Q0VTID0gXAorbm9kaXN0X2xpYkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdFQktJVEdUS19BUElfTUFK
T1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwK
IAkkKHdlYmNvcmVfYnVpbHRfc291cmNlcykgXAotCSQod2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMp
Ci0KLWxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RL
X0FQSV9NSU5PUl9WRVJTSU9OQF9sYWRpciA9ICQocHJlZml4KS9pbmNsdWRlL3dlYmtpdC1AV0VC
S0lUR1RLX0FQSV9WRVJTSU9OQC93ZWJraXQKLWxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9N
QUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9IRUFERVJTID0g
XAotCSQod2Via2l0Z3RrX3N0YXRpY19oX2FwaSkKKwkkKHdlYmtpdGd0a19idWlsdF9zb3VyY2Vz
KSBcCisJJCh3ZWJraXQyX2J1aWx0X3NvdXJjZXMpCiAKLW5vZGlzdF9saWJ3ZWJraXRndGtfQFdF
QktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBf
bGFfSEVBREVSUyA9IFwKLQkkKHdlYmtpdGd0a19idWlsdF9oX2FwaSkgXAotCVdlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGVudW10eXBlcy5oCitsaWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRH
VEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhZGly
ID0gJChwcmVmaXgpL2luY2x1ZGUvQExJQldFQktJVEdUS19ESVJALUBXRUJLSVRHVEtfQVBJX1ZF
UlNJT05AL0BMSUJXRUJLSVRHVEtfRElSQAorbGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lU
R1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9I
RUFERVJTID0gXAorCSQod2Via2l0Z3RrX3N0YXRpY19oX2FwaSkgXAorCSQod2Via2l0Mmd0a19z
dGF0aWNfaF9hcGkpCiAKLWxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9O
QF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorbGliQExJQldF
QktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQ
SV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAogCSQod2ViY29yZV9zb3VyY2VzKSBcCiAJ
JCh3ZWJjb3JlZ3RrX3NvdXJjZXMpIFwKLQkkKHdlYmtpdGd0a19zb3VyY2VzKQorCSQod2Via2l0
Z3RrX3NvdXJjZXMpIFwKKwkkKHdlYmNvcmVndGtfZ2RvbV9zb3VyY2VzKSBcCisJJCh3ZWJraXQy
X3NvdXJjZXMpIFwKKwkkKHdlYmtpdDJndGtfc291cmNlcykKIAotbGlid2Via2l0Z3RrX0BXRUJL
SVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xh
X0NYWEZMQUdTID0gXAorbGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpP
Ul9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DWFhGTEFHUyA9IFwK
IAkkKGdsb2JhbF9jeHhmbGFncykKIAotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9S
X1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NGTEFHUyA9IFwKK2xp
YkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ0ZMQUdTID0gXAogCSQoZ2xvYmFsX2NmbGFncykK
IAogIyBXaGVuIGJ1aWxkaW5nIFdlYkNvcmUvV2ViS2l0LCB3ZSB3YW50IFdlYkNvcmUvY29uZmln
LmggYW5kIE5PVCBKYXZhU2NyaXB0Q29yZS9jb25maWcuaCwKICMgaGVuY2UsIGl0J3MgaW1wb3J0
YW50IHRoYXQgV2ViQ29yZS8gc2hvdWxkIGNvbWUgZmlyc3QgYmVmb3JlIEphdmFTY3JpcHRDb3Jl
IGluIHRoZQogIyBpbmNsdWRlIHBhdGguCi1saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFK
T1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1BQRkxBR1MgPSBc
CitsaWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTID0gXAogCS1EQlVJTERJTkdf
V0VCS0lUIFwKIAktRFBBQ0tBR0VfTE9DQUxFX0RJUj1cIiQobG9jYWxlZGlyKVwiIFwKIAktRERB
VEFfRElSPVwiJHtkYXRhZGlyfVwiIFwKLQktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNl
cy93ZWJraXQgXAotCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MgXAotCS1JJChzcmNkaXIp
L1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdCBcCi0JLUkkKHNyY2RpcikvV2ViS2l0L2d0ayBcCi0J
LUkkKHNyY2RpcikvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydCBcCi0JLUkkKHNyY2RpcikvV2Vi
S2l0L2d0ay93ZWJraXQgXAotCS1JJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsgXAotCS1JJCh0
b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvd2Via2l0IFwKLQktSSQoR0VOU09VUkNFU19XRUJLSVQp
IFwKIAkkKGdsb2JhbF9jcHBmbGFncykgXAogCSQod2ViY29yZV9jcHBmbGFncykgXAogCSQod2Vi
Y29yZWd0a19jcHBmbGFncykgXAorCSQod2ViY29yZWd0a19nZG9tX2NwcGZsYWdzKSBcCisJJCh3
ZWJraXQyX2NwcGZsYWdzKSBcCisJJCh3ZWJraXQyZ3RrX2NwcGZsYWdzKSBcCiAJJChqYXZhc2Ny
aXB0Y29yZV9jcHBmbGFncykgXAogCS1mbm8tc3RyaWN0LWFsaWFzaW5nIFwKIAkkKEhJTERPTl9D
UFBGTEFHUykgXApAQCAtMjE1LDE2ICsyMjAsMTYgQEAgbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtf
QVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEYK
IAogIyBGb3IgdGhlIEd0ayBwb3J0IHdlIHdhbnQgdG8gdXNlIFhQX1VOSVggYm90aCBpbiBYMTEg
YW5kIE1hYwogaWYgIVRBUkdFVF9XSU4zMgotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01B
Sk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTICs9
IFwKK2xpYkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBf
QFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1BQRkxBR1MgKz0gXAogCS1EWFBfVU5J
WAogZW5kaWYKIAotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0xERkxBR1MgPSBcCitsaWJATElCV0VCS0lU
R1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01J
Tk9SX1ZFUlNJT05AX2xhX0xERkxBR1MgPSBcCiAJLXZlcnNpb24taW5mbyBATElCV0VCS0lUR1RL
X1ZFUlNJT05AIFwKIAkkKHZlcnNpb25fc2NyaXB0KSBcCiAJJChub191bmRlZmluZWQpCiAKLWxp
YndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9N
SU5PUl9WRVJTSU9OQF9sYV9MSUJBREQgPSBcCitsaWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJL
SVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xh
X0xJQkFERCA9IFwKIAktbHB0aHJlYWQgXAogCWxpYkphdmFTY3JpcHRDb3JlLmxhIFwKIAkkKHdl
YmNvcmVfbGRmbGFncykgXApAQCAtMjUxLDYgKzI1NiwzMCBAQCBsaWJ3ZWJraXRndGtfQFdFQktJ
VEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFf
TElCQQogCSQoU0hMV0FQSV9MSUJTKSBcCiAJJChPTEUzMl9MSUJTKQogCisjIFdlYktpdCBvciBX
ZWJLaXQyIHNwZWNpZmljIGFkZGl0aW9ucyB0byB0aGUgdGFyZ2V0cworaWYgRU5BQkxFX1dFQktJ
VDIKKyMgV2ViS2l0MgorcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZworcGtnY29u
ZmlnX0RBVEEgPSBXZWJLaXQyL2d0ay9AV0VCS0lUR1RLX1BDX05BTUVAMi1AV0VCS0lUR1RLX0FQ
SV9WRVJTSU9OQC5wYworCitlbHNlICAjRU5BQkxFX1dFQktJVDIKKyMgV2ViS2l0Citub2Rpc3Rf
bGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VC
S0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9IRUFERVJTID0gXAorCSQod2Via2l0Z3RrX2J1
aWx0X2hfYXBpKSBcCisJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZW51bXR5cGVzLmgKKworbGli
QExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lU
R1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DUFBGTEFHUyArPSBcCisJLUkkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvd2Via2l0IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdz
IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QgXAorCS1JJChzcmNkaXIp
L1dlYktpdC9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQgXAor
CS1JJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0IFwKKwktSSQodG9wX2J1aWxkZGlyKS9XZWJL
aXQvZ3RrIFwKKwktSSQodG9wX2J1aWxkZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdCBcCisJLUkkKEdF
TlNPVVJDRVNfV0VCS0lUKQorZW5kaWYgI0VOQUJMRV9XRUJLSVQyCisKICMKICMgRXh0cmEgY2hl
Y2tzIGFuZCBmbGFncwogZ2xvYmFsX2NwcGZsYWdzICs9IFwKQEAgLTMwNyw2ICszMzYsNyBAQCBn
bG9iYWxfY3BwZmxhZ3MgKz0gXAogCS1ER0NDX0lOU1RSVU1FTlRfUFJPR1JBTV9GTE9XX0FSQ1MK
IGVuZGlmCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogd2Via2l0Z3RrX3N0YXRpY19oX2FwaSArPSBc
CiAJJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9z
b3VwLWNhY2hlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaCBcCkBA
IC00MDYsNyArNDM2LDcgQEAgSlNDb3JlLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ALmdpcjogJChi
dWlsZGRpcikvV2ViS2l0L2d0ay9KU0NvcmUtQFdFQktJVEdUS19BUEkKIEpTQ09SRV9HSVJTT1VS
Q0VTICs9IEpTQ29yZS1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5naXIKIFdFQktJVF9HSVJTT1VS
Q0VTICs9IFdlYktpdC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5naXIKIAotJChXRUJLSVRfR0lS
U09VUkNFUyk6ICQoR19JUl9TQ0FOTkVSKSAkKEpTQ09SRV9HSVJTT1VSQ0VTKSBsaWJ3ZWJraXRn
dGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVS
U0lPTkAubGEKKyQoV0VCS0lUX0dJUlNPVVJDRVMpOiAkKEdfSVJfU0NBTk5FUikgJChKU0NPUkVf
R0lSU09VUkNFUykgbGliQExJQldFQktJVEdUS19OQU1FQC1AV0VCS0lUR1RLX0FQSV9NQUpPUl9W
RVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYQogCSQoQU1fVl9HRU4pJChH
X0lSX1NDQU5ORVIpIC12IC0td2Fybi1hbGwgXAogCSAgICAgLS1zeW1ib2wtcHJlZml4PXdlYmtp
dCBcCiAJICAgICAtLWlkZW50aWZpZXItcHJlZml4PVdlYktpdCBcCkBAIC01MzgsOSArNTY4LDEw
IEBAIEVYVFJBX0RJU1QgKz0gXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3Rlc3RzL3Jlc291cmNl
cy8qIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay90ZXN0cy90ZXN0X3V0aWxzLmggXAogCSQoc3Jj
ZGlyKS9XZWJLaXQvZ3RrL29yZy53ZWJraXRndGsuZ3NjaGVtYS54bWwuaW4KK2VuZGlmICAjIUVO
QUJMRV9XRUJLSVQyCiAKICMgZXh0cmEgcmVzb3VyY2UgZmlsZXMKLXJlc291cmNlc2RpciA9ICR7
ZGF0YWRpcn0vd2Via2l0LUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL3Jlc291cmNlcworcmVzb3Vy
Y2VzZGlyID0gJHtkYXRhZGlyfS9ATElCV0VCS0lUR1RLX0RJUkAtQFdFQktJVEdUS19BUElfVkVS
U0lPTkAvcmVzb3VyY2VzCiBkaXN0X3Jlc291cmNlc19EQVRBID0gXAogCSQoc2hlbGwgbHMgJChz
cmNkaXIpL1dlYktpdC9ndGsvcmVzb3VyY2VzLyouaHRtbCkKIApAQCAtNTQ5LDYgKzU4MCwxMiBA
QCBkaXN0X3Jlc291cmNlc19EQVRBID0gXAogIyBJbmNsdWRlIG1vZHVsZSBtYWtlZmlsZXMKIGlu
Y2x1ZGUgSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorCisjIEluY2x1ZGUgbW9kdWxlIG1ha2VmaWxlcyBiYXNlZCBvbiBidWlsZCBz
eXN0ZW0KK2lmIEVOQUJMRV9XRUJLSVQyCitpbmNsdWRlIFdlYktpdDIvR05VbWFrZWZpbGUuYW0K
KworZWxzZSAgI0VOQUJMRV9XRUJLSVQyCiBpbmNsdWRlIFdlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQogaW5j
bHVkZSBXZWJLaXQvZ3RrL3BvL0dOVW1ha2VmaWxlLmFtCkBAIC01NzIsNyArNjA5LDcgQEAgd2Vi
a2l0X3Rlc3RzX2NmbGFncyA9IFwKIAkkKExJQlNPVVBfQ0ZMQUdTKQogCiB3ZWJraXRfdGVzdHNf
bGRhZGQgPSBcCi0JbGlid2Via2l0Z3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxhIFwKKwlsaWJATElCV0VCS0lUR1RLX05BTUVA
LUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJ
T05ALmxhIFwKIAkkKEdUS19MSUJTKSBcCiAJJChHTElCX0xJQlMpIFwKIAkkKExJQlNPVVBfTElC
UykKQEAgLTcyMSwxMyArNzU4LDI3IEBAIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0Y29weWFuZHBh
c3RlX0NGTEFHUyA9ICQod2Via2l0X3Rlc3RzX2NmbGFncykgXAogCS1JJChzcmNkaXIpL1dlYkNv
cmUKIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0Y29weWFuZHBhc3RlX0xEQUREID0gJCh3ZWJraXRf
dGVzdHNfbGRhZGQpCiBQcm9ncmFtc191bml0dGVzdHNfdGVzdGNvcHlhbmRwYXN0ZV9MREZMQUdT
ID0gJCh3ZWJraXRfdGVzdHNfbGRmbGFncykKK2VuZGlmICAjRU5BQkxFX1dFQktJVDIKIAogIyBB
dXRvZ2VuZXJhdGVkIHNvdXJjZXMKIEJVSUxUX1NPVVJDRVMgKz0gXAogCSQoamF2YXNjcmlwdGNv
cmVfYnVpbHRfc291cmNlcykgXAogCSQoamF2YXNjcmlwdGNvcmVfYnVpbHRfbm9zb3VyY2VzKSBc
CiAJJCh3ZWJjb3JlX2J1aWx0X3NvdXJjZXMpIFwKLQkkKHdlYmNvcmVfYnVpbHRfbm9zb3VyY2Vz
KSBcCisJJCh3ZWJjb3JlX2J1aWx0X25vc291cmNlcykKKworaWYgRU5BQkxFX1dFQktJVDIKK0NM
RUFORklMRVMgKz0gXAorCSQoQlVJTFRfU09VUkNFUykgXAorCSQodG9wX2J1aWxkZGlyKS9XZWJL
aXQyL2d0ay9AV0VCS0lUR1RLX1BDX05BTUVALUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ALnBjCisK
K0RJU1RDTEVBTkZJTEVTICs9IFwKKwkkKENMRUFORklMRVMpIFwKKwkkKGJ1aWxkZGlyKS9kb2x0
Y29tcGlsZSBcCisJJChidWlsZGRpcikvZG9sdGxpYnRvb2wKKworZWxzZSAjRU5BQkxFX1dFQktJ
VDIKK0JVSUxUX1NPVVJDRVMgKz0gXAogCSQod2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMpIFwKIAkk
KHdlYmtpdGd0a19idWlsdF9ub3NvdXJjZXMpCiAKQEAgLTc1MCw2ICs4MDEsNyBAQCBESVNUQ0xF
QU5GSUxFUyArPSBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvQFdFQktJVEdUS19QQ19O
QU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5wYyBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaCBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9n
dGsvb3JnLndlYmtpdGd0ay1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5nc2NoZW1hLnhtbAorZW5k
aWYgI0VOQUJMRV9XRUJLSVQyCiAKIE1BSU5UQUlORVJDTEVBTkZJTEVTICs9IFwKIAkkKENMRUFO
RklMRVMpIFwKQEAgLTc2NywxMCArODE5LDEyIEBAIE1BSU5UQUlORVJDTEVBTkZJTEVTICs9IFwK
IAkkKHNyY2RpcikvUkVBRE1FIFwKIAkkKHRvcF9idWlsZGRpcikvY29uZmlnLioKIAoraWYgIUVO
QUJMRV9XRUJLSVQyCiAjIE9sZGVyIGF1dG9tYWtlIHZlcnNpb25zICgxLjcpIHBsYWNlIFBsbyBm
aWxlcyBpbiBhIGRpZmZlcmVudCBwbGFjZSBzbyB3ZSBuZWVkCiAjIHRvIGNyZWF0ZSB0aGUgb3V0
cHV0IGRpcmVjdG9yeSBtYW51YWxseS4KIGFsbC1sb2NhbDogc3RhbXAtcG8KIAkkKG1rZGlyX3Ap
ICQodG9wX2J1aWxkZGlyKS8kKERFUERJUikvRGVyaXZlZFNvdXJjZXMKK2VuZGlmICMhRU5BQkxF
X1dFQktJVDIKIAogIyByZW1vdmUgYnVpbHQgc291cmNlcyBhbmQgcHJvZ3JhbSBkaXJlY3Rvcmll
cwogY2xlYW4tbG9jYWw6CkBAIC03ODEsNiArODM1LDcgQEAgbWFpbnRhaW5lci1jbGVhbi1sb2Nh
bDogZGlzdGNsZWFuLWxvY2FsCiBkaXN0Y2xlYW4tbG9jYWw6CiAJLXJtIC1yZiAkKEdFTlNPVVJD
RVMpICQoR0VOUFJPR1JBTVMpCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogZGlzdC1ob29rOgogCWNw
ICQoc3JjZGlyKS9XZWJLaXQvZ3RrL05FV1MgJChkaXN0ZGlyKQogCkBAIC04MDksMyArODY0LDQg
QEAgdGVzdC1yZXBvcnQgZnVsbC1yZXBvcnQgcGVyZi1yZXBvcnQ6ICQoVEVTVF9QUk9HUykKIAog
LlBIT05ZOiB0ZXN0IHRlc3QtcmVwb3J0IHBlcmYtcmVwb3J0IGZ1bGwtcmVwb3J0CiBjaGVjay1s
b2NhbDogdGVzdAorZW5kaWYgIyAhRU5BQkxFX1dFQktJVDIKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY1ZGU3NC4uOTlkODg3MSAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNSBAQAorMjAxMC0xMC0yOCAgQW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9sYS5j
b20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMg
dG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0CisgICAgICAgIChodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiAoT09QUyEpCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQ2hhbmdlcyB0byBl
bmFibGUgZGlzYWJsZSBidWlsZGluZyBvZiBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qgd2hlbiBi
dWlsZGluZyBXZWJLaXQyLgorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93
ZWJraXQvc291cC1jYWNoZS5oOgorCiAyMDEwLTEwLTI3ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFw
cGxlLmNvbT4KIAogICAgICAgICBPbmx5IGRlY29tcHJlc3MgcGl4ZWwgYnVmZmVycyB3aGVuIG5l
ZWRlZCAoYW5kIGZpeCBhIGNyYXNoIGluIHRoZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtl
ZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KaW5kZXggODExZmZhNi4uNjdiNWNmZCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCkBAIC03LDEwICs3LDEwIEBAIFdFQkNPUkVfQ1NTX1ZBTFVFX0tFWVdPUkRTIDo9ICQo
V2ViQ29yZSkvY3NzL0NTU1ZhbHVlS2V5d29yZHMuaW4KIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAog
CS1JJChzcmNkaXIpL1dlYkNvcmUgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYWNjZXNzaWJpbGl0
eSBcCisJLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncyBcCiAJLUkkKHNyY2RpcikvV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2pzIFwK
IAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2pzL3NwZWNpYWxpemF0aW9uIFwKLQktSSQo
c3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUv
YnJpZGdlIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JyaWRnZS9jIFwKIAktSSQoc3JjZGlyKS9X
ZWJDb3JlL2JyaWRnZS9qbmkvanNjIFwKQEAgLTg0LDYgKzg0LDExIEBAIHdlYmNvcmVndGtfY3Bw
ZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2Nh
Y2hlIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93
ZWJraXQKIAoraWYgIUVOQUJMRV9XRUJLSVQyCit3ZWJjb3JlZ3RrX2dkb21fY3BwZmxhZ3MgKz0g
XAorCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdAorZW5kaWYKKwogd2ViY29y
ZV9idWlsdF9ub3NvdXJjZXMgKz0gXAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvdG9rZW5pemVy
LmNwcAogCkBAIC02MzUsMTkgKzY0MCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29y
ZS9iaW5kaW5ncy9nZW5lcmljL0dlbmVyaWNCaW5kaW5nLmggXAogCVdlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9n
ZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
Q29udmVydFRvVVRGOFN0cmluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVj
dEV2ZW50TGlzdGVuZXIuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2
ZW50TGlzdGVuZXIuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRp
bmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5oIFwK
LQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwIFwKLQlX
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBcCi0JV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5oIFwKLQlXZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmNwcCBcCi0JV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAgXAotCVdlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmggXAogCVdlYkNvcmUv
YmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIuaCBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9qcy9ET01PYmplY3RIYXNoVGFibGVNYXAuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pz
L0RPTU9iamVjdEhhc2hUYWJsZU1hcC5oIFwKQEAgLTM2NTUsNyArMzY0NywyMiBAQCB3ZWJjb3Jl
Z3RrX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvcGxhdGZvcm0vdGV4dC9ndGsvVGV4dEJyZWFrSXRl
cmF0b3JHdGsuY3BwCiBlbmRpZgogCi0KK2lmICFFTkFCTEVfV0VCS0lUMgord2ViY29yZWd0a19n
ZG9tX3NvdXJjZXMgKz0gXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4
U3RyaW5nLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJp
bmcuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmNw
cCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmggXAor
CVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNwcCBcCisJV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCBcCisJV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L1dlYktpdERPTU9iamVjdC5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01PYmplY3QuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVt
ZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oCitlbmRpZgogIyAtLS0KICMgQ2hhbm5lbCBtZXNh
Z2luZyBzdXBwb3J0CiAjIC0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgKaW5kZXggZTQ0N2NmYy4uODdlOTY2OCAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3Nv
dXAtY2FjaGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJr
aXQvc291cC1jYWNoZS5oCkBAIC0zLDYgKzMsNyBAQAogICogc291cC1jYWNoZS5oOgogICoKICAq
IENvcHlyaWdodCAoQykgMjAwOSwgMjAxMCBJZ2FsaWEsIFMuTC4KKyAqIFBvcnRpb25zIENvcHly
aWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgRXhjZXB0IGFzIHByb3ZpZGVk
IGJlbG93LCBhbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVl
IHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMyw2
ICsyNCw3IEBACiAjaWZuZGVmIFdFQktJVF9TT1VQX0NBQ0hFX0gKICNkZWZpbmUgV0VCS0lUX1NP
VVBfQ0FDSEVfSCAxCiAKKyNpZiAhZGVmaW5lZChFTkFCTEVfV0VCS0lUMl9CVUlMRCkKICNpZiBC
VUlMRElOR19HVEtfXwogI2luY2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CiAjZWxzZQpA
QCAtMzAsNiArMzIsMTAgQEAKICNkZWZpbmUgV0VCS0lUX0FQSQogI2VuZGlmCiAjZW5kaWYKKyNl
bHNlICAvLyAhZGVmaW5lZChFTkFCTEVfV0VCS0lUMl9CVUlMRCkKKyNkZWZpbmUgV0VCS0lUX0FQ
SSBfX2F0dHJpYnV0ZV9fKCh2aXNpYmlsaXR5KCJkZWZhdWx0IikpKQorI2RlZmluZSBXRUJLSVRf
T0JTT0xFVEVfQVBJIFdFQktJVF9BUEkgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpCisjZW5k
aWYgLy8gIWRlZmluZWQoRU5BQkxFX1dFQktJVDJfQlVJTEQpCiAKICNpbmNsdWRlIDxsaWJzb3Vw
L3NvdXAtdHlwZXMuaD4KICNpbmNsdWRlIDxnaW8vZ2lvLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQy
L0NoYW5nZUxvZyBiL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGY5NGM0NDMuLjFiODQ3YWIgMTAw
NjQ0Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0x
LDMgKzEsNzcgQEAKKzIwMTAtMTAtMjggIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEu
Y29tPiBhbmQgUmF2aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4K
KworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2Vz
IHRvIGVuYWJsZSBidWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBz
Oi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdO
VW1ha2VmaWxlLmFtOiBBZGRlZC4gCisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0
aW9uLmg6ICBDaGFuZ2VzIGZvciBHdGsgbGludXggcG9ydAorICAgICAgICAqIFBsYXRmb3JtL1Bs
YXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9ndGs6IEFkZGVk
LgorICAgICAgICAqIFBsYXRmb3JtL2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwOiBBZGRlZC4gIFN0
dWJiZWQgaW1wbGVtZW50YXRpb24gZm9yIEdUSyBwb3J0LiBZZXQgdG8gaW1wbGVtZW50LgorICAg
ICAgICAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZTo6SGFuZGxlKToKKyAgICAgICAgKFdl
YktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGU6On5IYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpT
aGFyZWRNZW1vcnk6OkhhbmRsZTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVt
b3J5OjpIYW5kbGU6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6Y3Jl
YXRlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5Ojp+U2hhcmVkTWVtb3J5KToKKyAg
ICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpjcmVhdGVIYW5kbGUpOgorICAgICAgICAoV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6OnN5c3RlbVBhZ2VTaXplKToKKyAgICAgICAgKiBTaGFyZWQvTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oOgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJLZXlib2Fy
ZEV2ZW50OjpuYXRpdmVFdmVudCk6CisgICAgICAgICogU2hhcmVkL2d0azogQWRkZWQuCisgICAg
ICAgICogU2hhcmVkL2d0ay9CYWNraW5nU3RvcmVHdGsuY3BwOiBBZGRlZC4gU3R1YmJlZCBpbXBs
ZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAgICAgIChXZWJL
aXQ6OkJhY2tpbmdTdG9yZTo6Y3JlYXRlR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKFdlYktp
dDo6QmFja2luZ1N0b3JlOjpwYWludCk6CisgICAgICAgICogU2hhcmVkL2d0ay9QbGF0Zm9ybUNl
cnRpZmljYXRlSW5mby5oOiBBZGRlZC4gQWRkZWQuIFN0dWJiZWQgaW1wbGVtZW50YXRpb24gZm9y
IEdUSyBwb3J0LiBZZXQgdG8gaW1wbGVtZW50LgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNl
cnRpZmljYXRlSW5mbzo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm86OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL2d0ay9VcGRh
dGVDaHVuay5oOiBBZGRlZC4KKyAgICAgICAgKFdlYktpdDo6VXBkYXRlQ2h1bms6OnJlY3QpOgor
ICAgICAgICAoV2ViS2l0OjpVcGRhdGVDaHVuazo6bWVtb3J5KToKKyAgICAgICAgKFdlYktpdDo6
VXBkYXRlQ2h1bms6OnhJRCk6CisgICAgICAgIChXZWJLaXQ6OlVwZGF0ZUNodW5rOjppc0VtcHR5
KToKKyAgICAgICAgKiBTaGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHA6IEFk
ZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVu
dC4KKyAgICAgICAgKENvcmVJUEM6OmVuY29kZVJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChD
b3JlSVBDOjpkZWNvZGVSZXNvdXJjZVJlcXVlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9DaHVu
a2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9jZXNzL1BsdWdpbnMvZ3RrOiBBZGRlZC4KKyAg
ICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb1N0b3JlR3RrLmNwcDogQWRk
ZWQuICBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVu
dC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMp
OgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OnBsdWdpblBhdGhzSW5EaXJlY3Rv
cnkpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmluZGl2aWR1YWxQbHVnaW5Q
YXRocyk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6Z2V0UGx1Z2luSW5mbyk6
CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6c2hvdWxkVXNlUGx1Z2luKToKKyAg
ICAgICAgKiBXZWJLaXQyUHJlZml4Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9J
bmplY3RlZEJ1bmRsZUd0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBH
VEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5k
bGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpJbmplY3RlZEJ1bmRsZTo6YWN0aXZhdGVNYWNG
b250QXNjZW50SGFjayk6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0
azogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9OZXRz
Y2FwZVBsdWdpbkd0ay5jcHA6IEFkZGVkLiAgU3R1YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RL
IHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2lu
OjpwbGF0Zm9ybVBvc3RJbml0aWFsaXplKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVn
aW46OnBsYXRmb3JtRGVzdHJveSk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpw
bGF0Zm9ybUdlb21ldHJ5RGlkQ2hhbmdlKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVn
aW46OnBsYXRmb3JtUGFpbnQpOgorICAgICAgICAoV2ViS2l0Ojp0b05QKToKKyAgICAgICAgKFdl
YktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VFdmVudCk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZVdoZWVsRXZlbnQpOgorICAg
ICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1TZXRGb2N1cyk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZU1vdXNlRW50ZXJFdmVudCk6
CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZU1vdXNlTGVh
dmVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRs
ZUtleWJvYXJkRXZlbnQpOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9X
ZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0Lmg6IEFkZGVkLgorICAgICAgICAoV2ViRnJhbWVOZXR3
b3JraW5nQ29udGV4dDo6Y3JlYXRlKToKKyAgICAgICAgKFdlYkZyYW1lTmV0d29ya2luZ0NvbnRl
eHQ6OldlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQpOgorICAgICAgICAqIGd0azogQWRkZWQuCisg
ICAgICAgICogZ3RrL3dlYmtpdDIucGMuaW46IEFkZGVkLgorCiAyMDEwLTEwLTI3ICBLaW1tbyBL
aW5udW5lbiAgPGtpbW1vLnQua2lubnVuZW5Abm9raWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQgYS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAw
Li5mM2I5NjEzCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAt
MCwwICsxLDQ4MiBAQAorV2ViS2l0MiA6PSAkKHNyY2RpcikvV2ViS2l0MgorRm9yd2FyZGluZ0hl
YWRlcnMgOj0gJChHRU5TT1VSQ0VTX1dFQktJVDIpL2luY2x1ZGUKK0h0dHBTdGFjayA6PSBASFRU
UF9TVEFDS0AKKword2Via2l0Mmd0a19zdGF0aWNfaF9hcGkgKz0gXAorCSQoc3JjZGlyKS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0FycmF5LmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS0Jhc2UuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2VydGlm
aWNhdGVJbmZvLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RhdGEuaCBc
CisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwkkKHNy
Y2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFcnJvci5oIFwKKwkkKHNyY2RpcikvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tFdmVudC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tHZW9tZXRyeS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRh
YmxlQXJyYXkuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURp
Y3Rpb25hcnkuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmgg
XAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0
VmFsdWVQcml2YXRlLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJl
ZEFQSUNhc3QuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmgg
XAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVHlwZS5oIFwKKwkkKHNyY2RpcikvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkwuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLVVJMUmVxdWVzdC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tV
UkxSZXNwb25zZS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29u
dGVudFVSTFBhdHRlcm4uaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAv
V0tSZXRhaW5QdHIuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktp
dDIuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwK
KwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBc
CisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRl
bS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggXAor
CSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAor
CSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVu
ZXIuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5o
IFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwK
KwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwK
KwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggXAorCSQoc3JjZGly
KS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCisJJChzcmNkaXIp
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBcCisJJChzcmNkaXIpL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJJChzcmNkaXIpL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKword2Via2l0Mmd0a19z
b3VyY2VzICs9IFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwIFwK
KwlXZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0b3JlR3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktpdDIvU2hhcmVkL2d0ay9X
ZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRl
Q2h1bmsuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb1N0b3Jl
R3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3Rl
ZEJ1bmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9O
ZXRzY2FwZVBsdWdpbkd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9ndGsvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oCisKK3dlYmtpdDJfc291cmNlcyArPSBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXIuaCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9Bcmd1bWVudERlY29kZXIuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJn
dW1lbnREZWNvZGVyLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29k
ZXIuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmggXAor
CVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudHMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0F0dGFjaG1lbnQuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXR0
YWNobWVudC5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmNw
cCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oIFwKKwlXZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9Db25uZWN0aW9uLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db3JlSVBD
TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9EYXRhUmVmZXJlbmNl
LmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0RhdGFSZWZlcmVuY2UuaCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL01lc3NhZ2VJRC5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuY3BwIFwK
KwlXZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUu
Y3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1Bs
YXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmNw
cCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmggXAorCVdlYktpdDIvUGxhdGZvcm0vU2hh
cmVkTWVtb3J5LmggXAorCVdlYktpdDIvUGxhdGZvcm0vV29ya0l0ZW0uaCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9Xb3JrUXVldWUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5oIFwK
KwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBcCisJV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIFwKKwlXZWJLaXQyL1Bs
dWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9Q
bHVnaW5Qcm9jZXNzLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzTWFp
bi5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIFwK
KwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJQ2xpZW50LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQXJyYXkuY3Bw
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0FycmF5LmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLQmFzZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktp
dDIvU2hhcmVkL0FQSS9jL1dLRGF0YS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGF0
YS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS0RpY3Rpb25hcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tF
cnJvci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRXJyb3IuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tFdmVudC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0dlb21ldHJ5
LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5LmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tNdXRhYmxlRGljdGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJs
ZURpY3Rpb25hcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tOdW1iZXIuY3BwIFwKKwlX
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS051bWJlci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2Vy
aWFsaXplZFNjcmlwdFZhbHVlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQ
SUNhc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmlu
Z1ByaXZhdGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tUeXBlLmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tUeXBlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMLmNw
cCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tVUkxSZXF1ZXN0LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0
LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVzcG9uc2UuY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS1VSTFJlc3BvbnNlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dL
VXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2Vy
Q29udGVudFVSTFBhdHRlcm4uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmggXAorCVdl
YktpdDIvU2hhcmVkL0JhY2tpbmdTdG9yZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0JhY2tpbmdT
dG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmggXAorCVdlYktpdDIvU2hhcmVk
L0NvbW1hbmRMaW5lLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdpbmdB
cmVhTWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdp
bmdBcmVhUHJveHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBv
cnQvSW5qZWN0ZWRCdW5kbGVNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQ
Q1N1cHBvcnQvV2ViQ29udGV4dE1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3Jl
SVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
Q29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIv
U2hhcmVkL0RyYXdpbmdBcmVhQmFzZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9GaW5kT3B0aW9ucy5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9Gb250U21vb3RoaW5nTGV2ZWwuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvSW1tdXRhYmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlQXJy
YXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvTXV0YWJsZURpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlv
bmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmggXAorCVdl
YktpdDIvU2hhcmVkL05vdEltcGxlbWVudGVkLmggXAorCVdlYktpdDIvU2hhcmVkL1N0cmluZ1Bh
aXJWZWN0b3IuaCBcCisJV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvVmlzaXRlZExpbmtUYWJsZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1Zpc2l0
ZWRMaW5rVGFibGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9XZWJEYXRhLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkVycm9yLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViRXJyb3IuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNw
cCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmggXAorCVdlYktpdDIvU2hh
cmVkL1dlYkV2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYk5hdmlnYXRpb25EYXRhU3RvcmUu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViTnVtYmVyLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBh
Z2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRp
b25QYXJhbWV0ZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgXAorCVdl
YktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKKwlXZWJLaXQyL1No
YXJlZC9XZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViU3Ry
aW5nLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJV
UkxSZXF1ZXN0LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVxdWVzdC5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9XZWJVUkxSZXNwb25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJl
c3BvbnNlLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dlYktpdDIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElD
YXN0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmNwcCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLQ29udGV4dC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tGcmFtZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5
TGlzdGVuZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlz
dGVuZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2UuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJl
YVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0dlbmVy
aWNDYWxsYmFjay5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNo
ZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvVGhyZWFkTGF1bmNoZXIuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9UaHJlYWRMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9MYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9MYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGFn
ZUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
UHJvY2Vzc01vZGVsLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9WaXNpdGVkTGlua1Byb3ZpZGVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkTGlzdC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dFVzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkVkaXRDb21tYW5kUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJFZGl0Q29tbWFuZFByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGaW5kQ2xpZW50LmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL1dlYkZvcm1DbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xp
ZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94
eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94
eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YkZyYW1lUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYkhpc3RvcnlDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJIaXN0b3J5Q2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNs
aWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uRGF0YS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYk5hdmlnYXRpb25EYXRhLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3Bh
Y2UuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlTmFtZXNwYWNlLmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUG9wdXBNZW51UHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQcm9jZXNzTWFuYWdlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBy
b2Nlc3NNYW5hZ2VyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJVSUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50Lmgg
XAorCVdlYktpdDIvV2ViS2l0MlByZWZpeC5jcHAgXAorCVdlYktpdDIvV2ViS2l0MlByZWZpeC5o
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElD
YXN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZUZyYW1lLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlRnJhbWUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlRnJhbWVQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJbml0aWFsaXplLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5k
bGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVOb2RlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUmFuZ2VIYW5kbGUu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVS
YW5nZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRs
ZVJhbmdlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RP
TS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9y
Q2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZUVkaXRvckNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJD
bGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNjcmlw
dFdvcmxkLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pT
TlBNZXRob2QuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QTWV0aG9kLmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBPYmplY3QuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QT2JqZWN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9k
dWxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1
Z2luU3RyZWFtLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW5TdHJlYW0uaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09i
amVjdC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZVV0aWxpdGllcy5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZVV0aWxpdGllcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpbi5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFu
YWdlci5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25u
ZWN0aW9uTWFuYWdlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94
eS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50Lmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3Bw
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50Lmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVu
dC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVu
dUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0Ns
aWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xp
ZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGll
bnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xp
ZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFcnJvcnMuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVy
Q2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0
b3JDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5z
cGVjdG9yQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
bGF0Zm9ybVN0cmF0ZWdpZXMuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJQb3B1cE1lbnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUG9wdXBNZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJTZWFyY2hQb3B1cE1lbnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViU2VhcmNoUG9wdXBNZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJLaXRN
YWluLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURy
YXdpbmdBcmVhLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9GaW5kUGFnZU92ZXJsYXkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9G
aW5kUGFnZU92ZXJsYXkuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNr
ZWREcmF3aW5nQXJlYS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFj
a2VkRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJs
YXkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkVkaXRDb21tYW5kLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRWRpdENvbW1hbmQuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJGcmFtZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzTWFpbi5oCisKKyMgRW5zdXJlIHRoYXQgdGhl
IHByZWZpeCBoZWFkZXIgaXMgYnVpbHQgYmVmb3JlCitCVUlMVF9TT1VSQ0VTICs9IFwKKwkkKHdl
YmtpdDJfYnVpbHRfc291cmNlcykgXAorCSQod2Via2l0Ml9idWlsdF9ub3NvdXJjZXMpCisKK3dl
YmtpdDJndGtfY3BwZmxhZ3MgKz0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0vZ3Rr
IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9ndGsKKword2Via2l0Ml9jcHBmbGFncyArPSBcCisJLWluY2x1ZGUgJChz
cmNkaXIpL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oIFwKKwktSSQoc3JjZGlyKS9EZXJpdmVkU291
cmNlcy9XZWJLaXQyIFwKKwktSSQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1
ZGUgXAorCS1JJChzcmNkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9KYXZhU2Ny
aXB0Q29yZSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dl
YkNvcmUgXAorCS1JJChzcmNkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJL
aXQyIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1BsYXRm
b3JtIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvUGx1Z2luUHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQg
XAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9TaGFyZWQvQVBJL2MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBw
b3J0IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
QyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2NwcCBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQ
cm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2VzcyBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlIFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJIFwKKwktSSQoc3JjZGlyKS9X
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00gXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvV2ViUHJvY2Vzcy9MYXVuY2hpbmcgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0IFwK
KwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZQorCitnZW5lcmF0ZS1md2Qt
aGVhZGVyczogJChzcmNkaXIpL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGlu
Zy1oZWFkZXJzLnBsCisJJChBTV9WX2F0KSQobWtkaXJfcCkgJChGb3J3YXJkaW5nSGVhZGVycykv
SmF2YVNjcmlwdENvcmUKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRpbmdIZWFkZXJz
KS9XZWJDb3JlCisJJChBTV9WX2F0KSQobWtkaXJfcCkgJChGb3J3YXJkaW5nSGVhZGVycykvV2Vi
S2l0MgorCSQoQU1fVl9HRU4pJChQRVJMKSAkPCAkKFdlYktpdDIpICQoRm9yd2FyZGluZ0hlYWRl
cnMpIGd0ayAkKEh0dHBTdGFjaykgCisKK3dlYmtpdDJfYnVpbHRfbm9zb3VyY2VzICs9IFwKKwln
ZW5lcmF0ZS1md2QtaGVhZGVycworCQorIyBNZXNzYWdlIGhlYWRlciBnZW5lcmF0aW9uCit3ZWJr
aXQyX2J1aWx0X3NvdXJjZXMgKz0gXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luQ29u
dHJvbGxlclByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5D
b250cm9sbGVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1BsdWdpblByb2Nlc3NNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1Bs
dWdpblByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1BsdWdpblByb2Nlc3NQcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UGx1Z2luUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9QbHVnaW5Qcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UGx1Z2luUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYlBhZ2VNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlBhZ2VNZXNz
YWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlBhZ2VQcm94eU1l
c3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZVByb3h5TWVzc2FnZVJl
Y2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzTWVzc2FnZXMu
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzTWVzc2FnZVJlY2VpdmVyLmNw
cCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2Vz
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdl
UmVjZWl2ZXIuY3BwCisKK3ZwYXRoICUubWVzc2FnZXMuaW4gPSAkKFdlYktpdDIpL1BsdWdpblBy
b2Nlc3MgJChXZWJLaXQyKS9VSVByb2Nlc3MgJChXZWJLaXQyKS9VSVByb2Nlc3MvUGx1Z2lucyAk
KFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1Z2lucyAkKFdlYktpdDIpL1dlYlByb2Nlc3MvV2ViUGFn
ZSAkKFdlYktpdDIpL1dlYlByb2Nlc3MKKworbWVzc2FnZV9nZW5fc2NyaXB0cyA9IFwKKwkkKFdl
YktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZS1yZWNlaXZlci5weSBcCisJJChXZWJLaXQy
KS9TY3JpcHRzL2dlbmVyYXRlLW1lc3NhZ2VzLWhlYWRlci5weSBcCisJJChXZWJLaXQyKS9TY3Jp
cHRzL3dlYmtpdDIvX19pbml0X18ucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy93ZWJraXQyL21l
c3NhZ2VzLnB5CisKK0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvJU1lc3NhZ2VSZWNlaXZlci5jcHA6
ICUubWVzc2FnZXMuaW4gJChtZXNzYWdlX2dlbl9zY3JpcHRzKQorCSQoQU1fVl9HRU4pJChQWVRI
T04pICQoc3JjZGlyKS9XZWJLaXQyL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZS1yZWNlaXZlci5w
eSAkPCA+ICRACisKK0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvJU1lc3NhZ2VzLmg6ICUubWVzc2Fn
ZXMuaW4gJChtZXNzYWdlX2dlbl9zY3JpcHRzKQorCSQoQU1fVl9HRU4pJChQWVRIT04pICQoc3Jj
ZGlyKS9XZWJLaXQyL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZXMtaGVhZGVyLnB5ICQ8ID4gJEAK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmggYi9XZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oCmluZGV4IGU1MTQ0NTIuLmRhODAyNTEg
MTAwNjQ0Ci0tLSBhL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmgKKysrIGIv
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uaApAQCAtMSw2ICsxLDcgQEAKIC8q
CiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lk
aWFyeSgtaWVzKQorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmls
aXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFu
ZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9k
aWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25k
aXRpb25zCkBAIC04Niw2ICs4Nyw4IEBAIHB1YmxpYzoKICAgICBzdGF0aWMgYm9vbCBjcmVhdGVT
ZXJ2ZXJBbmRDbGllbnRJZGVudGlmaWVycyhJZGVudGlmaWVyJiBzZXJ2ZXJJZGVudGlmaWVyLCBJ
ZGVudGlmaWVyJiBjbGllbnRJZGVudGlmaWVyKTsKICNlbGlmIFBMQVRGT1JNKFFUKQogICAgIHR5
cGVkZWYgY29uc3QgUVN0cmluZyBJZGVudGlmaWVyOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAg
IHR5cGVkZWYgaW50IElkZW50aWZpZXI7CiAjZW5kaWYKIAogICAgIHN0YXRpYyBQYXNzUmVmUHRy
PENvbm5lY3Rpb24+IGNyZWF0ZVNlcnZlckNvbm5lY3Rpb24oSWRlbnRpZmllciwgQ2xpZW50Kiwg
UnVuTG9vcCogY2xpZW50UnVuTG9vcCk7CmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3JtL1Bs
YXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBiL1dlYktpdDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9j
ZXNzSWRlbnRpZmllci5oCmluZGV4IGFkMWUzOTQuLmEyOWUwZmEgMTAwNjQ0Ci0tLSBhL1dlYktp
dDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oCisrKyBiL1dlYktpdDIvUGxh
dGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM5LDYg
KzQwLDggQEAgdHlwZWRlZiBwaWRfdCBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyOwogdHlwZWRl
ZiBIQU5ETEUgUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllcjsKICNlbGlmIFBMQVRGT1JNKFFUKQog
dHlwZWRlZiBRUHJvY2VzcyogUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllcjsKKyNlbGlmIFBMQVRG
T1JNKEdUSykKK3R5cGVkZWYgcGlkX3QgUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllcjsKICNlbmRp
ZgogCiB9IC8vIG5hbWVzcGFjZSBXZWJLaXQgCmRpZmYgLS1naXQgYS9XZWJLaXQyL1BsYXRmb3Jt
L2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwIGIvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvU2hhcmVkTWVt
b3J5R3RrLmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi45M2ZkYTk1Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvU2hhcmVkTWVtb3J5R3RrLmNw
cApAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4g
QWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rv
cm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKwor
bmFtZXNwYWNlIFdlYktpdCB7CisKK1NoYXJlZE1lbW9yeTo6SGFuZGxlOjpIYW5kbGUoKQorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1NoYXJlZE1lbW9yeTo6SGFuZGxlOjp+SGFuZGxl
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFNoYXJlZE1lbW9yeTo6SGFu
ZGxlOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBjb25zdAorewor
ICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wgU2hhcmVkTWVtb3J5OjpIYW5kbGU6OmRl
Y29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIEhhbmRsZSYgaGFuZGxlKQor
eworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitQYXNzUmVm
UHRyPFNoYXJlZE1lbW9yeT4gU2hhcmVkTWVtb3J5OjpjcmVhdGUoc2l6ZV90IHNpemUpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1JlZlB0cjxTaGFy
ZWRNZW1vcnk+IFNoYXJlZE1lbW9yeTo6Y3JlYXRlKGNvbnN0IEhhbmRsZSYgaGFuZGxlLCBQcm90
ZWN0aW9uIHByb3RlY3Rpb24pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
MDsgICAgCit9CisKK1NoYXJlZE1lbW9yeTo6flNoYXJlZE1lbW9yeSgpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKK30KKyAgICAKK2Jvb2wgU2hhcmVkTWVtb3J5OjpjcmVhdGVIYW5kbGUoSGFu
ZGxlJiBoYW5kbGUsIFByb3RlY3Rpb24gcHJvdGVjdGlvbikKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordW5zaWduZWQgU2hhcmVkTWVtb3J5OjpzeXN0
ZW1QYWdlU2l6ZSgpCit7CisgICAgdW5zaWduZWQgcGFnZVNpemUgPSAwOworCisgICAgcmV0dXJu
IHBhZ2VTaXplOworfQorCit9CmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJL
ZXlib2FyZEV2ZW50LmggYi9XZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgK
aW5kZXggYjk1OThkOS4uMjQ3MWVlYSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9TaGFyZWQvTmF0aXZl
V2ViS2V5Ym9hcmRFdmVudC5oCisrKyBiL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYktleWJvYXJk
RXZlbnQuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUg
SW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEw
IE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0zNiw2ICszNyw4IEBAIGNsYXNzIE5TVmlldzsKICNl
bmRpZgogI2VsaWYgUExBVEZPUk0oUVQpCiAjaW5jbHVkZSA8UUtleUV2ZW50PgorI2VsaWYgUExB
VEZPUk0oR1RLKQorI2luY2x1ZGUgPGdkay9nZGsuaD4KICNlbmRpZgogCiBuYW1lc3BhY2UgV2Vi
S2l0IHsKQEAgLTU2LDYgKzU5LDggQEAgcHVibGljOgogICAgIGNvbnN0IE1TRyogbmF0aXZlRXZl
bnQoKSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVudDsgfQogI2VsaWYgUExBVEZPUk0oUVQp
CiAgICAgY29uc3QgUUtleUV2ZW50KiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuICZtX25h
dGl2ZUV2ZW50OyB9CisjZWxpZiBQTEFURk9STShHVEspCisgICAgY29uc3QgR2RrRXZlbnRLZXkq
IG5hdGl2ZUV2ZW50KCkgY29uc3QgeyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KICNlbmRpZgog
CiBwcml2YXRlOgpAQCAtNjUsNiArNzAsOCBAQCBwcml2YXRlOgogICAgIE1TRyBtX25hdGl2ZUV2
ZW50OwogI2VsaWYgUExBVEZPUk0oUVQpCiAgICAgUUtleUV2ZW50IG1fbmF0aXZlRXZlbnQ7Cisj
ZWxpZiBQTEFURk9STShHVEspCisgICAgR2RrRXZlbnRLZXkgbV9uYXRpdmVFdmVudDsKICNlbmRp
ZgogfTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvZ3RrL0JhY2tpbmdTdG9yZUd0ay5j
cHAgYi9XZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0b3JlR3RrLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi44OTFmYTJjCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0
Mi9TaGFyZWQvZ3RrL0JhY2tpbmdTdG9yZUd0ay5jcHAKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAq
IENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQ
b3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2Ug
YW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBw
ZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBt
ZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhl
IGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJp
bmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGlj
ZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBp
biB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRl
ZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURF
RCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFO
WSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQg
RklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBO
TyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJM
RSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFS
WSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlU
RUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBM
T1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElP
TikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVS
IElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5F
R0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUg
VVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklM
SVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJCYWNraW5nU3RvcmUuaCIKKwor
I2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSA8V2ViQ29yZS9HcmFwaGljc0Nv
bnRleHQuaD4KKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQg
eworCitQYXNzT3duUHRyPEdyYXBoaWNzQ29udGV4dD4gQmFja2luZ1N0b3JlOjpjcmVhdGVHcmFw
aGljc0NvbnRleHQoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIDA7Cit9
CisKK3ZvaWQgQmFja2luZ1N0b3JlOjpwYWludChXZWJDb3JlOjpHcmFwaGljc0NvbnRleHQqIGNv
bnRleHQsIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIGNsaXBSZWN0KQoreworICAgIG5vdEltcGxl
bWVudGVkKCk7Cit9CisgICAgICAgIAorfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRpZmYgLS1naXQg
YS9XZWJLaXQyL1NoYXJlZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBiL1dlYktpdDIv
U2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0
CmluZGV4IDAwMDAwMDAuLjk4OTQ2N2UKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1NoYXJl
ZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaApAQCAtMCwwICsxLDU4IEBACisvKgorICog
Q29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBv
cnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJp
Z2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBh
bmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBl
cm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1l
dDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUg
YWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFu
ZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmlu
YXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGlu
IHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVk
IHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVE
IEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5Z
IEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBG
SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5P
IEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxF
IEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExP
U1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9O
KSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBV
U0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJ
VFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5m
b19oCisjZGVmaW5lIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKKworI2luY2x1ZGUgIkFyZ3Vt
ZW50RGVjb2Rlci5oIgorI2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgorI2luY2x1ZGUgPFdl
YkNvcmUvUmVzb3VyY2VSZXNwb25zZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3Mg
UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8geworcHVibGljOgorICAgIFBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvKCkKKyAgICB7CisgICAgfQorCisgICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0
ZUluZm8oY29uc3QgV2ViQ29yZTo6UmVzb3VyY2VSZXNwb25zZSYpCisgICAgeworICAgIH0KKwor
ICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciopIGNvbnN0CisgICAgewor
ICAgIH0KKworICAgIHN0YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIq
LCBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyYpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsK
KyAgICB9Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL2d0ay9VcGRhdGVD
aHVuay5oIGIvV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMC4uNGY5NzIwMgotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIv
U2hhcmVkL2d0ay9VcGRhdGVDaHVuay5oCkBAIC0wLDAgKzEsNjIgQEAKKy8qCisgKiBDb3B5cmln
aHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMg
Q29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5h
cnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVk
IHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICog
MS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9y
bSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisg
KiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQ
TEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVT
UyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAor
ICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQg
U0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisg
KiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQ
Uk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICog
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNF
IE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBU
SElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFVwZGF0ZUNodW5rX2gKKyNkZWZpbmUgVXBkYXRl
Q2h1bmtfaAorCisjaW5jbHVkZSAiSW50UmVjdC5oIgorI2luY2x1ZGUgPGdkay9nZGsuaD4KKwor
bmFtZXNwYWNlIENvcmVJUEMgeworY2xhc3MgQXJndW1lbnRFbmNvZGVyOworY2xhc3MgQXJndW1l
bnREZWNvZGVyOworfQorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgVXBkYXRlQ2h1bmsg
eworcHVibGljOgorICAgIFVwZGF0ZUNodW5rKCk7CisgICAgVXBkYXRlQ2h1bmsoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYpOworICAgIFVwZGF0ZUNodW5rKGNvbnN0IFdlYkNvcmU6OkludFJlY3Qm
LCBHZGtQaXhtYXAqKTsKKworICAgIGNvbnN0IFdlYkNvcmU6OkludFJlY3QmIHJlY3QoKSBjb25z
dCB7IHJldHVybiBtX3JlY3Q7IH0KKyAgICBHZGtQaXhtYXAqIG1lbW9yeSgpIGNvbnN0IHsgcmV0
dXJuIG1fYml0bWFwU2hhcmVkTWVtb3J5OyB9CisgICAgdWludDMyX3QgeElEKCkgeyByZXR1cm4g
bV94SUQ7IH0KKyAgICBib29sIGlzRW1wdHkoKSB7IHJldHVybiBtX3JlY3QuaXNFbXB0eSgpO30K
KworICAgIHZvaWQgZW5jb2RlKENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciogZW5jb2RlcikgY29u
c3Q7CisgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciosIFVw
ZGF0ZUNodW5rJik7CisKK3ByaXZhdGU6CisgICAgV2ViQ29yZTo6SW50UmVjdCBtX3JlY3Q7Cisg
ICAgR2RrUGl4bWFwKiBtX2JpdG1hcFNoYXJlZE1lbW9yeTsKKyAgICB1aW50MzJfdCBtX3hJRDsK
K307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5kaWYgLy8gVXBkYXRlQ2h1bmtfaApk
aWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5j
cHAgYi9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4zZGUzMTcwCi0tLSAvZGV2L251bGwKKysr
IGIvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAKQEAgLTAs
MCArMSw0NCBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9i
aWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24g
YW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBt
b2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNv
bmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNv
ZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxp
c3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVk
aXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVy
IG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBT
T0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBg
QVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1F
UkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFS
RSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklC
VVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUws
IFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVE
SU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdP
T0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5F
U1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0Yg
TElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1Ig
VE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBB
TlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBP
RgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRlICJX
ZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisK
K25hbWVzcGFjZSBDb3JlSVBDIHsKKwordm9pZCBlbmNvZGVSZXNvdXJjZVJlcXVlc3QoQXJndW1l
bnRFbmNvZGVyKiBlbmNvZGVyLCBjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlcXVlc3QmIHJlc291
cmNlUmVxdWVzdCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCitib29sIGRlY29kZVJl
c291cmNlUmVxdWVzdChBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIGZhbHNlOworfQorCit9CmRpZmYgLS1naXQgYS9XZWJLaXQyL1VJUHJvY2Vzcy9DaHVu
a2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVw
ZGF0ZURyYXdpbmdBcmVhUHJveHkuaAppbmRleCA5OTYzZjAyLi4xZjI0OWU1IDEwMDY0NAotLS0g
YS9XZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oCisrKyBi
L1dlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmgKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjMsOCArMjQsOCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgogICovCiAKLSNpZm5kZWYgRHJhd2luZ0FyZWFQcm94eVVwZGF0ZUNodW5rX2gKLSNkZWZp
bmUgRHJhd2luZ0FyZWFQcm94eVVwZGF0ZUNodW5rX2gKKyNpZm5kZWYgQ2h1bmtlZFVwZGF0ZURy
YXdpbmdBcmVhUHJveHlfaAorI2RlZmluZSBDaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eV9o
CiAKICNpbmNsdWRlICJEcmF3aW5nQXJlYVByb3h5LmgiCiAjaW5jbHVkZSA8V2ViQ29yZS9JbnRT
aXplLmg+CkBAIC01Myw2ICs1NCw5IEBAIGNsYXNzIFdlYlZpZXc7CiB0eXBlZGVmIFdlYlZpZXcg
UGxhdGZvcm1XZWJWaWV3OwogI2VsaWYgUExBVEZPUk0oUVQpCiB0eXBlZGVmIFFHcmFwaGljc1dL
VmlldyBQbGF0Zm9ybVdlYlZpZXc7CisjZWxpZiBQTEFURk9STShHVEspCitjbGFzcyBXZWJWaWV3
OwordHlwZWRlZiBXZWJWaWV3IFBsYXRmb3JtV2ViVmlldzsKICNlbmRpZgogCiBjbGFzcyBDaHVu
a2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eSA6IHB1YmxpYyBEcmF3aW5nQXJlYVByb3h5IHsKQEAg
LTEwMCw2ICsxMDQsOSBAQCBwcml2YXRlOgogICAgIE93blB0cjxIQklUTUFQPiBtX2JhY2tpbmdT
dG9yZUJpdG1hcDsKICNlbGlmIFBMQVRGT1JNKFFUKQogICAgIFFJbWFnZSBtX2JhY2tpbmdTdG9y
ZUltYWdlOworI2VsaWYgUExBVEZPUk0oR1RLKQorICAgIC8vIGJhY2tpbmdTdG9yZQorICAgIEdk
a1BpeG1hcCogbV9iYWNraW5nU3RvcmVCaXRtYXA7CiAjZW5kaWYKIAogICAgIFBsYXRmb3JtV2Vi
VmlldyogbV93ZWJWaWV3OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0Fy
ZWFQcm94eS5oIGIvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oCmluZGV4IGYy
ODExNjEuLjQ3MWEwODUgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHkuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKQEAgLTEs
NSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0
cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2Jp
bGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwpAQCAtMjcsNiArMjgsOSBAQAogI2RlZmluZSBEcmF3aW5nQXJlYVByb3h5X2gKIAog
I2luY2x1ZGUgIkRyYXdpbmdBcmVhQmFzZS5oIgorI2lmIFBMQVRGT1JNKEdUSykKKyNpbmNsdWRl
IDxndGsvZ3RrLmg+CisjZW5kaWYKIAogI2lmIFBMQVRGT1JNKFFUKQogY2xhc3MgUVBhaW50ZXI7
CkBAIC00MCw2ICs0NCw4IEBAIHR5cGVkZWYgQ0dDb250ZXh0UmVmIFBsYXRmb3JtRHJhd2luZ0Nv
bnRleHQ7CiB0eXBlZGVmIEhEQyBQbGF0Zm9ybURyYXdpbmdDb250ZXh0OwogI2VsaWYgUExBVEZP
Uk0oUVQpCiB0eXBlZGVmIFFQYWludGVyKiBQbGF0Zm9ybURyYXdpbmdDb250ZXh0OworI2VsaWYg
UExBVEZPUk0oR1RLKQordHlwZWRlZiBHZGtXaW5kb3cqIFBsYXRmb3JtRHJhd2luZ0NvbnRleHQ7
CiAjZW5kaWYKIAogY2xhc3MgRHJhd2luZ0FyZWFQcm94eSA6IHB1YmxpYyBEcmF3aW5nQXJlYUJh
c2UgewpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5m
b1N0b3JlR3RrLmNwcCBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9T
dG9yZUd0ay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMDRlMzdkYgot
LS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbklu
Zm9TdG9yZUd0ay5jcHAKQEAgLTAsMCArMSw2NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAx
MCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQg
KGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisg
KgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywg
d2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQg
dGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3Ry
aWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAor
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVw
cm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3Vt
ZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmli
dXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFO
RCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJ
RUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1Q
TElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJU
SUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBM
RSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwg
SU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVF
TlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5U
IE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwg
T1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQg
QU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwg
U1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJX
SVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdB
UkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgorICovCisKKworI2luY2x1ZGUgIlBsdWdpbkluZm9TdG9yZS5oIgorCisjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJQbHVnaW5EYXRhYmFzZS5oIgorI2luY2x1ZGUgIlBs
dWdpblBhY2thZ2UuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBX
ZWJLaXQgeworCitWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6OnBsdWdpbnNEaXJlY3Rv
cmllcygpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gVmVjdG9yPFN0cmlu
Zz4oKTsKK30KKworVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5QYXRoc0lu
RGlyZWN0b3J5KGNvbnN0IFN0cmluZyYgZGlyZWN0b3J5KQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7CisgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7Cit9CisKK1ZlY3RvcjxTdHJpbmc+IFBs
dWdpbkluZm9TdG9yZTo6aW5kaXZpZHVhbFBsdWdpblBhdGhzKCkKK3sKKyAgICByZXR1cm4gVmVj
dG9yPFN0cmluZz4oKTsKK30KKworYm9vbCBQbHVnaW5JbmZvU3RvcmU6OmdldFBsdWdpbkluZm8o
Y29uc3QgU3RyaW5nJiBwbHVnaW5QYXRoLCBQbHVnaW4mIHBsdWdpbikKK3sKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworYm9vbCBQbHVnaW5JbmZvU3RvcmU6
OnNob3VsZFVzZVBsdWdpbihjb25zdCBQbHVnaW4mIHBsdWdpbiwgY29uc3QgVmVjdG9yPFBsdWdp
bj4mIGxvYWRlZFBsdWdpbnMpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
ZmFsc2U7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJLaXQyUHJlZml4LmggYi9XZWJLaXQyL1dlYktpdDJQcmVmaXguaAppbmRleCBlZjkxNTcwLi5l
MGY2OTg0IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYktpdDJQcmVmaXguaAorKysgYi9XZWJLaXQy
L1dlYktpdDJQcmVmaXguaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgog
ICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC0yMywxMSArMjQsMTMgQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCisjaWYgIWRlZmluZWQgKEJVSUxE
SU5HX0dUS19fKQogI2luY2x1ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi9EaXNh
bGxvd0NUeXBlLmg+CiAjaWZkZWYgX19jcGx1c3BsdXMKICNpbmNsdWRlIDx3dGYvRmFzdE1hbGxv
Yy5oPgogI2VuZGlmCisjZW5kaWYgLyogIWRlZmluZWQgKEJVSUxESU5HX0dUS19fKSAqLwogCiAj
aWZkZWYgX19jcGx1c3BsdXMKICNkZWZpbmUgRVhURVJOX0NfQkVHSU4gZXh0ZXJuICJDIiB7CkBA
IC0xMDcsNCArMTEwLDkgQEAgc3RhdGljIGNvbnN0IHR5cGUmIG5hbWUoKSBcCiAjaW5jbHVkZSA8
Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2VuZGlmCiAKLSNlbmRpZiAvKiBkZWZpbmVk
KFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikgKi8KKyNlbGlmIGRlZmluZWQoQlVJTERJTkdfR1RL
X18pIAorI2RlZmluZSBKU19FWFBPUlREQVRBCisjZGVmaW5lIEpTX0VYUE9SVENMQVNTCisjZGVm
aW5lIF9fU1REQ19GT1JNQVRfTUFDUk9TCisjaW5jbHVkZSA8V2ViQ29yZS9jb25maWcuaD4KKyNl
bmRpZiAvKiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKSAqLwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggYi9XZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaAppbmRleCAzMTMyZTFkLi4wNWJl
Mjc1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGUuaApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBw
bGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAy
MDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCkBAIC01MSw2ICs1Miw4IEBAIHR5cGVkZWYgQ0ZCdW5k
bGVSZWYgUGxhdGZvcm1CdW5kbGU7CiB0eXBlZGVmIEhNT0RVTEUgUGxhdGZvcm1CdW5kbGU7CiAj
ZWxpZiBQTEFURk9STShRVCkKIHR5cGVkZWYgUUxpYnJhcnkgUGxhdGZvcm1CdW5kbGU7CisjZWxp
ZiBQTEFURk9STShHVEspCit0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQnVuZGxlOwogI2VuZGlmCiAK
IGNsYXNzIEltbXV0YWJsZUFycmF5OwpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAgYi9XZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi43MDBlMDAwCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAKQEAg
LTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCBy
aWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEg
TW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJJbmplY3RlZEJ1bmRsZS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNs
dWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJXS0J1bmRsZUluaXRpYWxpemUuaCIK
KwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitib29s
IEluamVjdGVkQnVuZGxlOjpsb2FkKCkKK3sKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK3ZvaWQg
SW5qZWN0ZWRCdW5kbGU6OmFjdGl2YXRlTWFjRm9udEFzY2VudEhhY2soKQoreworICAgIG5vdElt
cGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvZ3RrL05ldHNjYXBlUGx1Z2luR3RrLmNw
cCBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdp
bkd0ay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOGZmNDZmMAotLS0g
L2Rldi9udWxsCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9O
ZXRzY2FwZVBsdWdpbkd0ay5jcHAKQEAgLTAsMCArMSw5OCBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpbmNsdWRlICJOZXRzY2FwZVBsdWdpbi5oIgorCisjaW5jbHVkZSAi
Tm90SW1wbGVtZW50ZWQuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVzcGFj
ZSBXZWJLaXQgeworCitib29sIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBvc3RJbml0aWFsaXpl
KCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiB0cnVlOworfQorCit2b2lk
IE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybURlc3Ryb3koKQoreworICAgIG5vdEltcGxlbWVudGVk
KCk7Cit9CisKK3ZvaWQgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtR2VvbWV0cnlEaWRDaGFuZ2Uo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgTmV0c2NhcGVQbHVnaW46OnBs
YXRmb3JtUGFpbnQoR3JhcGhpY3NDb250ZXh0KiBjb250ZXh0LCBjb25zdCBJbnRSZWN0JiBkaXJ0
eVJlY3QpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworTlBFdmVudCB0b05QKGNvbnN0
IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIE5QRXZlbnQgbnBFdmVudCA9IE5QRXZlbnQo
KTsKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBucEV2ZW50OworfQorCitib29s
IE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZU1vdXNlRXZlbnQoY29uc3QgV2ViTW91c2VF
dmVudCYgZXZlbnQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsK
K30KKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVXaGVlbEV2ZW50KGNvbnN0
IFdlYldoZWVsRXZlbnQmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCit2b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVNldEZvY3VzKGJvb2wpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZv
cm1IYW5kbGVNb3VzZUVudGVyRXZlbnQoY29uc3QgV2ViTW91c2VFdmVudCYgZXZlbnQpCit7Cisg
ICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30KKworYm9vbCBOZXRzY2Fw
ZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVNb3VzZUxlYXZlRXZlbnQoY29uc3QgV2ViTW91c2VFdmVu
dCYgZXZlbnQpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gdHJ1ZTsKK30K
KworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVLZXlib2FyZEV2ZW50KGNvbnN0
IFdlYktleWJvYXJkRXZlbnQmKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlmZiAtLWdpdCBhL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmlu
ZGV4IGMzMmU1ZmUuLjBhMjhkYTQgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0zMCw3ICszMSw2IEBACiAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdl
Q29kZXJzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLSNpbmNsdWRl
ICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiU3RyaW5nUGFpclZlY3Rvci5oIgogI2luY2x1ZGUg
IldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgpAQCAtNjEs
NiArNjEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVUlFdmVudFdpdGhLZXlTdGF0ZS5oPgogI2lu
Y2x1ZGUgPFdlYkNvcmUvV2lkZ2V0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dGZWF0dXJl
cy5oPgorI2luY2x1ZGUgPFdlYktpdDIvUGx1Z2luVmlldy5oPgogCiB1c2luZyBuYW1lc3BhY2Ug
V2ViQ29yZTsKIApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmggYi9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvZ3RrL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaApuZXcgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCAwMDAwMDAwLi4xYTJkNjExCi0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0
LmgKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMu
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90
b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0
cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRo
b3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9s
bG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Yg
c291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNl
LCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgor
ICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5k
IHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5k
L29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgor
ICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJ
QlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElU
UyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElO
Q0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdF
UyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJT
VElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsg
T1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBU
SEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJ
TElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJ
U0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYg
QURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNp
Zm5kZWYgV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dF9oCisjZGVmaW5lIFdlYkZyYW1lTmV0d29y
a2luZ0NvbnRleHRfaAorCisjaW5jbHVkZSA8V2ViQ29yZS9GcmFtZU5ldHdvcmtpbmdDb250ZXh0
Lmg+CisKK2NsYXNzIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQgOiBwdWJsaWMgV2ViQ29yZTo6
RnJhbWVOZXR3b3JraW5nQ29udGV4dCB7CitwdWJsaWM6CisgICAgc3RhdGljIFBhc3NSZWZQdHI8
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlKFdlYkNvcmU6OkZyYW1lKikKKyAgICB7
CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworcHJpdmF0ZToKKyAgICBXZWJGcmFtZU5ldHdv
cmtpbmdDb250ZXh0KFdlYkNvcmU6OkZyYW1lKiBmcmFtZSkKKyAgICAgICAgOiBXZWJDb3JlOjpG
cmFtZU5ldHdvcmtpbmdDb250ZXh0KGZyYW1lKQorICAgIHsKKyAgICB9CisKKyAgICB2aXJ0dWFs
IFdURjo6U3RyaW5nIHVzZXJBZ2VudCgpIGNvbnN0OworICAgIHZpcnR1YWwgV1RGOjpTdHJpbmcg
cmVmZXJyZXIoKSBjb25zdDsKKworICAgIFdURjo6U3RyaW5nIG1fdXNlckFnZW50OworfTsKKwor
I2VuZGlmIC8vIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHRfaApkaWZmIC0tZ2l0IGEvV2ViS2l0
Mi9ndGsvd2Via2l0Mi5wYy5pbiBiL1dlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4KbmV3IGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVlZWU4MAotLS0gL2Rldi9udWxsCisrKyBiL1dl
YktpdDIvZ3RrL3dlYmtpdDIucGMuaW4KQEAgLTAsMCArMSwxMSBAQAorcHJlZml4PUBwcmVmaXhA
CitleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACitsaWJkaXI9QGxpYmRpckAKK2luY2x1ZGVkaXI9
QGluY2x1ZGVkaXJACisKK05hbWU6IFdlYktpdDIKK0Rlc2NyaXB0aW9uOiBXZWIgY29udGVudCBl
bmdpbmUgZm9yIEdUSysKK1ZlcnNpb246IEBWRVJTSU9OQAorUmVxdWlyZXM6IGdsaWItMi4wIGd0
aystQEdUS19BUElfVkVSU0lPTkAgbGlic291cC0yLjQKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sd2Vi
a2l0Mmd0ay1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQAorQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0v
d2Via2l0Mi1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQCAKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xz
L1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsIGIvV2ViS2l0VG9vbHMvU2Ny
aXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKaW5kZXggZWQ1ODcwMi4uOTdmNTc0
MCAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhl
YWRlcnMucGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhl
YWRlcnMucGwKQEAgLTQ2LDggKzQ2LDE4IEBAIG15ICRvdXRwdXREaXJlY3RvcnkgPSAkQVJHVlsw
XTsKIHNoaWZ0OwogbXkgJHBsYXRmb3JtICA9ICRBUkdWWzBdOwogCitteSAkbmV0d29yazsKK2lm
ICgkcGxhdGZvcm0gPX4gImd0ayIpIHsKKyAgICBzaGlmdDsKKyAgICAkbmV0d29yayA9ICRBUkdW
WzBdOworfQorCiBmb3JlYWNoIG15ICRwcmVmaXggKEBwbGF0Zm9ybVByZWZpeGVzKSB7Ci0gICAg
cHVzaChAc2tpcHBlZFByZWZpeGVzLCAkcHJlZml4KSB1bmxlc3MgKCRwcmVmaXggPX4gJHBsYXRm
b3JtKTsKKyAgICBpZiAoJHBsYXRmb3JtID1+ICJndGsiKSB7CisgICAgICAgIHB1c2goQHNraXBw
ZWRQcmVmaXhlcywgJHByZWZpeCkgdW5sZXNzICgkcHJlZml4ID1+ICRwbGF0Zm9ybSBvciAkcHJl
Zml4ID1+ICRuZXR3b3JrKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwdXNoKEBza2lwcGVkUHJl
Zml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxhdGZvcm0pOworICAgIH0KIH0K
IAogZm9yZWFjaCAoQGZyYW1ld29ya3MpIHsKZGlmZiAtLWdpdCBhL2NvbmZpZ3VyZS5hYyBiL2Nv
bmZpZ3VyZS5hYwppbmRleCBkZmZiZTc3Li5lMDM4NGNjIDEwMDY0NAotLS0gYS9jb25maWd1cmUu
YWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC04ODQsNiArODg0LDI4IEBAIGlmIHRlc3QgIiRlbmFi
bGVfdmlkZW8iID0gInllcyI7IHRoZW4KICAgICBodG1sX2ZsYWdzPXllcwogZmkKIAorIyBXZWJL
aXQyCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gYnVpbGQgV2Via2l0Ml0pCitBQ19BUkdf
RU5BQkxFKHdlYmtpdDIsCisgICAgICAgICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtd2Vi
a2l0Ml0sCisgICAgICAgICAgICAgICAgW2J1aWxkIHdlYmtpdDIgW2RlZmF1bHQ9bm9dXSksCisg
ICAgICAgICAgICAgICAgW10sIFtlbmFibGVfd2Via2l0Mj0ibm8iXSkKK0FDX01TR19SRVNVTFQo
WyRlbmFibGVfd2Via2l0Ml0pCitpZiB0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyI7IHRo
ZW4KK0FDX0RFRklORShbRU5BQkxFX1dFQktJVDJfQlVJTERdLFsxXSxbRGVmaW5lIGlmIHdlYmtp
dDIgYnVpbGQgaXMgZW5hYmxlZF0pCitMSUJXRUJLSVRHVEtfTkFNRT0id2Via2l0Mmd0ayIKK0xJ
QldFQktJVEdUS19ESVI9IndlYmtpdDIiCitlbHNlCitMSUJXRUJLSVRHVEtfTkFNRT0id2Via2l0
Z3RrIgorTElCV0VCS0lUR1RLX0RJUj0id2Via2l0IgorZmkKKyMgV2UgbWlnaHQgbmVlZCB0byBk
ZXRlcm1pbmUgTkVUV09SS19NR1IgZHluYW1pY2FsbHkgaWYgd2Ugd2FudCB0byBzdXBwb3J0IGNV
UkwgYWxzbyBhcyBvcHRpb24uCisjIFJpZ2h0IG5vdyB3ZSBhcmUgbWFraW5nIGFzc3VtcHRpb24g
dGhhdCBuZXR3b3JrIG1hbmFnZXIgd291bGQgYWx3YXlzIGJlIHNvdXAuCitIVFRQX1NUQUNLPSJz
b3VwIgorQUNfU1VCU1QoW0hUVFBfU1RBQ0tdKQorQUNfU1VCU1QoW0xJQldFQktJVEdUS19OQU1F
XSkKK0FDX1NVQlNUKFtMSUJXRUJLSVRHVEtfRElSXSkKKwogR1RLX0RPQ19DSEVDSyhbMS4xMF0p
CiAKICMgT1MgY29uZGl0aW9uYWxzCkBAIC05NTgsMTMgKzk4MCwxOCBAQCBBTV9DT05ESVRJT05B
TChbSFRNTF9GTEFHU10sW3Rlc3QgIiRodG1sX2ZsYWdzIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElP
TkFMKFtFTkFCTEVfV0VCX1NPQ0tFVFNdLFt0ZXN0ICIkZW5hYmxlX3dlYl9zb2NrZXRzIiA9ICJ5
ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCX1RJTUlOR10sW3Rlc3QgIiRlbmFibGVf
d2ViX3RpbWluZyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX09QQ09ERV9TVEFU
U10sW3Rlc3QgIiRlbmFibGVfb3Bjb2RlX3N0YXRzIiA9ICJ5ZXMiXSkKK0FNX0NPTkRJVElPTkFM
KFtFTkFCTEVfV0VCS0lUMl0sW3Rlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAieWVzIl0pCiAKICMg
R3RrIGNvbmRpdGlvbmFscwogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JTlRST1NQRUNUSU9OXSxb
dGVzdCAiJGVuYWJsZV9pbnRyb3NwZWN0aW9uIiA9ICJ5ZXMiXSkKIAotCiBBQ19DT05GSUdfRklM
RVMoWwogR05VbWFrZWZpbGUKK10KKykKKyAKK2lmIHRlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAi
bm8iOyB0aGVuCitBQ19DT05GSUdfRklMRVMoWwogV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0dmVy
c2lvbi5oCiBXZWJLaXQvZ3RrL2RvY3MvR05VbWFrZWZpbGUKIFdlYktpdC9ndGsvZG9jcy92ZXJz
aW9uLnhtbApAQCAtOTc4LDYgKzEwMDUsMTMgQEAgV2ViS2l0L2d0ay9vcmcud2Via2l0Z3RrLSR7
V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5nc2NoZW1hLnhtbDpXZWJLaXQvZ3RrL29yZy53ZWIKIF0K
ICxbV0VCS0lUR1RLX0FQSV9WRVJTSU9OPSRXRUJLSVRHVEtfQVBJX1ZFUlNJT04sV0VCS0lUR1RL
X1BDX05BTUU9JFdFQktJVEdUS19QQ19OQU1FXQogKQorZWxzZQorQUNfQ09ORklHX0ZJTEVTKFsK
K1dlYktpdDIvZ3RrLyR7V0VCS0lUR1RLX1BDX05BTUV9Mi0ke1dFQktJVEdUS19BUElfVkVSU0lP
Tn0ucGM6V2ViS2l0Mi9ndGsvd2Via2l0Mi5wYy5pbgorXQorLFtXRUJLSVRHVEtfQVBJX1ZFUlNJ
T049JFdFQktJVEdUS19BUElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BD
X05BTUVdCispCitmaQogCiBBQ19PVVRQVVQKIApAQCAtMTAzMyw2ICsxMDY3LDcgQEAgR1RLKyBj
b25maWd1cmF0aW9uOgogIEdESyB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDogJHdpdGhfdGFyZ2V0CiAgSGlsZG9uIFVJIGV4dGVuc2lvbnMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0aF9oaWxkb24KICBJbnRyb3Nw
ZWN0aW9uIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFi
bGVfaW50cm9zcGVjdGlvbgorIFdlYktpdDIgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV93ZWJraXQyCiAiCiBpZiB0ZXN0ICIkd2l0aF91
bmljb2RlX2JhY2tlbmQiID0gImdsaWIiOyB0aGVuCiAgICBlY2hvICIgICAgID4+IFdBUk5JTkc6
IHRoZSBnbGliLWJhc2VkIHVuaWNvZGUgYmFja2VuZCBpcyBzbG93IGFuZCBpbmNvbXBsZXRlIDw8
Igo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72201</attachid>
            <date>2010-10-28 10:12:47 -0700</date>
            <delta_ts>2010-11-02 09:30:50 -0700</delta_ts>
            <desc>Bare minimum changes for building GTK port of WebKit2</desc>
            <filename>Bare minimum Implementation of the WebKit2 Gtk Port</filename>
            <type>text/plain</type>
            <size>79650</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCBkM2ZiYzY4Li42Yzk3YTc0
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTAtMjggIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2
aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBi
dWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OiBDaGFuZ2VzIHRvIGJ1aWxkIGVpdGhlciBvZiBXZWJLaXQxIG9yIFdlYktpdDIuCisgICAgICAg
IEl0IGJhc2ljYWxseSBleGNsdWRlcyBhbGwgV2ViS2l0L2d0ay93ZWJraXQvIGZpbGVzIHdoZW4g
YnVpbGRpbmcgV2ViS2l0Mi4KKyAgICAgICAgQWxzbywgZXhsdWRlcyBVbml0dGVzdHMsIER1bXBy
ZW5kZXJUcmVlLCBHdGtMYXVuY2hlciBldGMgZm9yIFdlYktpdDIuCisgICAgICAgICogY29uZmln
dXJlLmFjOiBPcHRpb24gZm9yIGVuYWJsZSBvciBkaXNhYmxlIFdlYktpdDIuCisKIDIwMTAtMTAt
MjYgIEFudG9uaW8gR29tZXMgIDxhZ29tZXNAcmltLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBi
eSBNYXJ0aW4gUm9iaW5zb24uCmRpZmYgLS1naXQgYS9HTlVtYWtlZmlsZS5hbSBiL0dOVW1ha2Vm
aWxlLmFtCmluZGV4IDZkZTY0YTAuLjE2ZDA2YzAgMTAwNjQ0Ci0tLSBhL0dOVW1ha2VmaWxlLmFt
CisrKyBiL0dOVW1ha2VmaWxlLmFtCkBAIC0zNCw2ICszNCw3IEBAIEdFTlNPVVJDRVMgOj0gJCh0
b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzCiBHRU5TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFIDo9
ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZQogR0VOU09VUkNF
U19XRUJDT1JFIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlCiBHRU5T
T1VSQ0VTX1dFQktJVCA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0CitH
RU5TT1VSQ0VTX1dFQktJVDIgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktp
dDIKIEdFTlBST0dSQU1TIDo9ICQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcwogR0VOU09VUkNFU19J
TlNQRUNUT1IgOj0gJChHRU5QUk9HUkFNUykvcmVzb3VyY2VzL2luc3BlY3RvcgogV2ViQ29yZSA6
PSAkKHNyY2RpcikvV2ViQ29yZQpAQCAtNjksOSArNzAsMTggQEAgd2Via2l0Z3RrX3N0YXRpY19o
X2FwaSA6PQogd2Via2l0Z3RrX2hfYXBpIDo9CiB3ZWJraXRndGtfc291cmNlcyA6PQogd2Via2l0
Z3RrX2NwcGZsYWdzIDo9Cit3ZWJjb3JlZ3RrX2dkb21fc291cmNlcyA6PQord2ViY29yZWd0a19n
ZG9tX2NwcGZsYWdzIDo9CiB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzIDo9CiB3ZWJraXRn
dGtfYnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X25vc291cmNlcyA6PQord2Via2l0
Ml9zb3VyY2VzIDo9Cit3ZWJraXQyZ3RrX3NvdXJjZXMgOj0KK3dlYmtpdDJndGtfc3RhdGljX2hf
YXBpIDo9Cit3ZWJraXQyX2NwcGZsYWdzIDo9Cit3ZWJraXQyZ3RrX2NwcGZsYWdzIDo9Cit3ZWJr
aXQyX2J1aWx0X3NvdXJjZXMgOj0KK3dlYmtpdDJfYnVpbHRfbm9zb3VyY2VzIDo9CiBnbG9iYWxf
Y3BwZmxhZ3MgOj0KIGdsb2JhbF9jZmxhZ3MgOj0KIGdsb2JhbF9jeHhmbGFncyA6PQpAQCAtMTEx
LDcgKzEyMSw3IEBAIGVuZGlmCiAKICMgU2hhcmVkIGxpYnJhcmllcwogbGliX0xUTElCUkFSSUVT
ICs9IFwKLQlsaWJ3ZWJraXRndGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEKKwlsaWJATElCV0VCS0lUR1RLX05BTUVALUBXRUJL
SVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxh
CiAKICMgQ29udmVuaWVuY2UgbGlicmFyaWVzCiBub2luc3RfTFRMSUJSQVJJRVMgKz0gXApAQCAt
MTIzLDcgKzEzMyw3IEBAIG5vZGlzdF9FWFRSQV9saWJKYXZhU2NyaXB0Q29yZV9sYV9TT1VSQ0VT
ID0gXAogbm9kaXN0X2xpYkphdmFTY3JpcHRDb3JlX2xhX1NPVVJDRVMgPSBcCiAJJChqYXZhc2Ny
aXB0Y29yZV9idWlsdF9zb3VyY2VzKQogCi1saWJKYXZhU2NyaXB0Q29yZV9sYWRpciA9ICQocHJl
Zml4KS9pbmNsdWRlL3dlYmtpdC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC9KYXZhU2NyaXB0Q29y
ZQorbGliSmF2YVNjcmlwdENvcmVfbGFkaXIgPSAkKHByZWZpeCkvaW5jbHVkZS9ATElCV0VCS0lU
R1RLX0RJUkAtQFdFQktJVEdUS19BUElfVkVSU0lPTkAvSmF2YVNjcmlwdENvcmUKIGxpYkphdmFT
Y3JpcHRDb3JlX2xhX0hFQURFUlMgPSAkKGphdmFzY3JpcHRjb3JlX2hfYXBpKQogCiBsaWJKYXZh
U2NyaXB0Q29yZV9sYV9TT1VSQ0VTID0gXApAQCAtMTUwLDUxICsxNjAsNDYgQEAgbGliSmF2YVNj
cmlwdENvcmVfbGFfQ1BQRkxBR1MgPSBcCiAJJChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykKIAog
IyBXZWJLaXQKLW5vZGlzdF9FWFRSQV9saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1Jf
VkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwKK25v
ZGlzdF9FWFRSQV9saWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCiAJJCh3
ZWJjb3JlX2J1aWx0X25vc291cmNlcykKIAotbm9kaXN0X2xpYndlYmtpdGd0a19AV0VCS0lUR1RL
X0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VS
Q0VTID0gXAorbm9kaXN0X2xpYkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdFQktJVEdUS19BUElfTUFK
T1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwK
IAkkKHdlYmNvcmVfYnVpbHRfc291cmNlcykgXAotCSQod2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMp
Ci0KLWxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RL
X0FQSV9NSU5PUl9WRVJTSU9OQF9sYWRpciA9ICQocHJlZml4KS9pbmNsdWRlL3dlYmtpdC1AV0VC
S0lUR1RLX0FQSV9WRVJTSU9OQC93ZWJraXQKLWxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9N
QUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9IRUFERVJTID0g
XAotCSQod2Via2l0Z3RrX3N0YXRpY19oX2FwaSkKKwkkKHdlYmtpdGd0a19idWlsdF9zb3VyY2Vz
KSBcCisJJCh3ZWJraXQyX2J1aWx0X3NvdXJjZXMpCiAKLW5vZGlzdF9saWJ3ZWJraXRndGtfQFdF
QktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBf
bGFfSEVBREVSUyA9IFwKLQkkKHdlYmtpdGd0a19idWlsdF9oX2FwaSkgXAotCVdlYktpdC9ndGsv
d2Via2l0L3dlYmtpdGVudW10eXBlcy5oCitsaWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRH
VEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhZGly
ID0gJChwcmVmaXgpL2luY2x1ZGUvQExJQldFQktJVEdUS19ESVJALUBXRUJLSVRHVEtfQVBJX1ZF
UlNJT05AL0BMSUJXRUJLSVRHVEtfRElSQAorbGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lU
R1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9I
RUFERVJTID0gXAorCSQod2Via2l0Z3RrX3N0YXRpY19oX2FwaSkgXAorCSQod2Via2l0Mmd0a19z
dGF0aWNfaF9hcGkpCiAKLWxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9O
QF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorbGliQExJQldF
QktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQ
SV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAogCSQod2ViY29yZV9zb3VyY2VzKSBcCiAJ
JCh3ZWJjb3JlZ3RrX3NvdXJjZXMpIFwKLQkkKHdlYmtpdGd0a19zb3VyY2VzKQorCSQod2Via2l0
Z3RrX3NvdXJjZXMpIFwKKwkkKHdlYmNvcmVndGtfZ2RvbV9zb3VyY2VzKSBcCisJJCh3ZWJraXQy
X3NvdXJjZXMpIFwKKwkkKHdlYmtpdDJndGtfc291cmNlcykKIAotbGlid2Via2l0Z3RrX0BXRUJL
SVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xh
X0NYWEZMQUdTID0gXAorbGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpP
Ul9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DWFhGTEFHUyA9IFwK
IAkkKGdsb2JhbF9jeHhmbGFncykKIAotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9S
X1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NGTEFHUyA9IFwKK2xp
YkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ0ZMQUdTID0gXAogCSQoZ2xvYmFsX2NmbGFncykK
IAogIyBXaGVuIGJ1aWxkaW5nIFdlYkNvcmUvV2ViS2l0LCB3ZSB3YW50IFdlYkNvcmUvY29uZmln
LmggYW5kIE5PVCBKYXZhU2NyaXB0Q29yZS9jb25maWcuaCwKICMgaGVuY2UsIGl0J3MgaW1wb3J0
YW50IHRoYXQgV2ViQ29yZS8gc2hvdWxkIGNvbWUgZmlyc3QgYmVmb3JlIEphdmFTY3JpcHRDb3Jl
IGluIHRoZQogIyBpbmNsdWRlIHBhdGguCi1saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFK
T1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1BQRkxBR1MgPSBc
CitsaWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTID0gXAogCS1EQlVJTERJTkdf
V0VCS0lUIFwKIAktRFBBQ0tBR0VfTE9DQUxFX0RJUj1cIiQobG9jYWxlZGlyKVwiIFwKIAktRERB
VEFfRElSPVwiJHtkYXRhZGlyfVwiIFwKLQktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNl
cy93ZWJraXQgXAotCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MgXAotCS1JJChzcmNkaXIp
L1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdCBcCi0JLUkkKHNyY2RpcikvV2ViS2l0L2d0ayBcCi0J
LUkkKHNyY2RpcikvV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydCBcCi0JLUkkKHNyY2RpcikvV2Vi
S2l0L2d0ay93ZWJraXQgXAotCS1JJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsgXAotCS1JJCh0
b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvd2Via2l0IFwKLQktSSQoR0VOU09VUkNFU19XRUJLSVQp
IFwKIAkkKGdsb2JhbF9jcHBmbGFncykgXAogCSQod2ViY29yZV9jcHBmbGFncykgXAogCSQod2Vi
Y29yZWd0a19jcHBmbGFncykgXAorCSQod2ViY29yZWd0a19nZG9tX2NwcGZsYWdzKSBcCisJJCh3
ZWJraXQyX2NwcGZsYWdzKSBcCisJJCh3ZWJraXQyZ3RrX2NwcGZsYWdzKSBcCiAJJChqYXZhc2Ny
aXB0Y29yZV9jcHBmbGFncykgXAogCS1mbm8tc3RyaWN0LWFsaWFzaW5nIFwKIAkkKEhJTERPTl9D
UFBGTEFHUykgXApAQCAtMjE1LDE2ICsyMjAsMTYgQEAgbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtf
QVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEYK
IAogIyBGb3IgdGhlIEd0ayBwb3J0IHdlIHdhbnQgdG8gdXNlIFhQX1VOSVggYm90aCBpbiBYMTEg
YW5kIE1hYwogaWYgIVRBUkdFVF9XSU4zMgotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01B
Sk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTICs9
IFwKK2xpYkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBf
QFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1BQRkxBR1MgKz0gXAogCS1EWFBfVU5J
WAogZW5kaWYKIAotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0xERkxBR1MgPSBcCitsaWJATElCV0VCS0lU
R1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01J
Tk9SX1ZFUlNJT05AX2xhX0xERkxBR1MgPSBcCiAJLXZlcnNpb24taW5mbyBATElCV0VCS0lUR1RL
X1ZFUlNJT05AIFwKIAkkKHZlcnNpb25fc2NyaXB0KSBcCiAJJChub191bmRlZmluZWQpCiAKLWxp
YndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9N
SU5PUl9WRVJTSU9OQF9sYV9MSUJBREQgPSBcCitsaWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJL
SVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xh
X0xJQkFERCA9IFwKIAktbHB0aHJlYWQgXAogCWxpYkphdmFTY3JpcHRDb3JlLmxhIFwKIAkkKHdl
YmNvcmVfbGRmbGFncykgXApAQCAtMjUxLDYgKzI1NiwzMCBAQCBsaWJ3ZWJraXRndGtfQFdFQktJ
VEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFf
TElCQQogCSQoU0hMV0FQSV9MSUJTKSBcCiAJJChPTEUzMl9MSUJTKQogCisjIFdlYktpdCBvciBX
ZWJLaXQyIHNwZWNpZmljIGFkZGl0aW9ucyB0byB0aGUgdGFyZ2V0cworaWYgRU5BQkxFX1dFQktJ
VDIKKyMgV2ViS2l0MgorcGtnY29uZmlnZGlyID0gJChsaWJkaXIpL3BrZ2NvbmZpZworcGtnY29u
ZmlnX0RBVEEgPSBXZWJLaXQyL2d0ay9AV0VCS0lUR1RLX1BDX05BTUVAMi1AV0VCS0lUR1RLX0FQ
SV9WRVJTSU9OQC5wYworCitlbHNlICAjRU5BQkxFX1dFQktJVDIKKyMgV2ViS2l0Citub2Rpc3Rf
bGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VC
S0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9IRUFERVJTID0gXAorCSQod2Via2l0Z3RrX2J1
aWx0X2hfYXBpKSBcCisJV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0ZW51bXR5cGVzLmgKKworbGli
QExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lU
R1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DUFBGTEFHUyArPSBcCisJLUkkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvd2Via2l0IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdz
IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QgXAorCS1JJChzcmNkaXIp
L1dlYktpdC9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQgXAor
CS1JJChzcmNkaXIpL1dlYktpdC9ndGsvd2Via2l0IFwKKwktSSQodG9wX2J1aWxkZGlyKS9XZWJL
aXQvZ3RrIFwKKwktSSQodG9wX2J1aWxkZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdCBcCisJLUkkKEdF
TlNPVVJDRVNfV0VCS0lUKQorZW5kaWYgI0VOQUJMRV9XRUJLSVQyCisKICMKICMgRXh0cmEgY2hl
Y2tzIGFuZCBmbGFncwogZ2xvYmFsX2NwcGZsYWdzICs9IFwKQEAgLTMwNyw2ICszMzYsNyBAQCBn
bG9iYWxfY3BwZmxhZ3MgKz0gXAogCS1ER0NDX0lOU1RSVU1FTlRfUFJPR1JBTV9GTE9XX0FSQ1MK
IGVuZGlmCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogd2Via2l0Z3RrX3N0YXRpY19oX2FwaSArPSBc
CiAJJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9z
b3VwLWNhY2hlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXQuaCBcCkBA
IC00MDYsNyArNDM2LDcgQEAgSlNDb3JlLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ALmdpcjogJChi
dWlsZGRpcikvV2ViS2l0L2d0ay9KU0NvcmUtQFdFQktJVEdUS19BUEkKIEpTQ09SRV9HSVJTT1VS
Q0VTICs9IEpTQ29yZS1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5naXIKIFdFQktJVF9HSVJTT1VS
Q0VTICs9IFdlYktpdC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5naXIKIAotJChXRUJLSVRfR0lS
U09VUkNFUyk6ICQoR19JUl9TQ0FOTkVSKSAkKEpTQ09SRV9HSVJTT1VSQ0VTKSBsaWJ3ZWJraXRn
dGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVS
U0lPTkAubGEKKyQoV0VCS0lUX0dJUlNPVVJDRVMpOiAkKEdfSVJfU0NBTk5FUikgJChKU0NPUkVf
R0lSU09VUkNFUykgbGliQExJQldFQktJVEdUS19OQU1FQC1AV0VCS0lUR1RLX0FQSV9NQUpPUl9W
RVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYQogCSQoQU1fVl9HRU4pJChH
X0lSX1NDQU5ORVIpIC12IC0td2Fybi1hbGwgXAogCSAgICAgLS1zeW1ib2wtcHJlZml4PXdlYmtp
dCBcCiAJICAgICAtLWlkZW50aWZpZXItcHJlZml4PVdlYktpdCBcCkBAIC01MzgsOSArNTY4LDEw
IEBAIEVYVFJBX0RJU1QgKz0gXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3Rlc3RzL3Jlc291cmNl
cy8qIFwKIAkkKHNyY2RpcikvV2ViS2l0L2d0ay90ZXN0cy90ZXN0X3V0aWxzLmggXAogCSQoc3Jj
ZGlyKS9XZWJLaXQvZ3RrL29yZy53ZWJraXRndGsuZ3NjaGVtYS54bWwuaW4KK2VuZGlmICAjIUVO
QUJMRV9XRUJLSVQyCiAKICMgZXh0cmEgcmVzb3VyY2UgZmlsZXMKLXJlc291cmNlc2RpciA9ICR7
ZGF0YWRpcn0vd2Via2l0LUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL3Jlc291cmNlcworcmVzb3Vy
Y2VzZGlyID0gJHtkYXRhZGlyfS9ATElCV0VCS0lUR1RLX0RJUkAtQFdFQktJVEdUS19BUElfVkVS
U0lPTkAvcmVzb3VyY2VzCiBkaXN0X3Jlc291cmNlc19EQVRBID0gXAogCSQoc2hlbGwgbHMgJChz
cmNkaXIpL1dlYktpdC9ndGsvcmVzb3VyY2VzLyouaHRtbCkKIApAQCAtNTQ5LDYgKzU4MCwxMiBA
QCBkaXN0X3Jlc291cmNlc19EQVRBID0gXAogIyBJbmNsdWRlIG1vZHVsZSBtYWtlZmlsZXMKIGlu
Y2x1ZGUgSmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorCisjIEluY2x1ZGUgbW9kdWxlIG1ha2VmaWxlcyBiYXNlZCBvbiBidWlsZCBz
eXN0ZW0KK2lmIEVOQUJMRV9XRUJLSVQyCitpbmNsdWRlIFdlYktpdDIvR05VbWFrZWZpbGUuYW0K
KworZWxzZSAgI0VOQUJMRV9XRUJLSVQyCiBpbmNsdWRlIFdlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXRUb29scy9HTlVtYWtlZmlsZS5hbQogaW5j
bHVkZSBXZWJLaXQvZ3RrL3BvL0dOVW1ha2VmaWxlLmFtCkBAIC01NzIsNyArNjA5LDcgQEAgd2Vi
a2l0X3Rlc3RzX2NmbGFncyA9IFwKIAkkKExJQlNPVVBfQ0ZMQUdTKQogCiB3ZWJraXRfdGVzdHNf
bGRhZGQgPSBcCi0JbGlid2Via2l0Z3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxhIFwKKwlsaWJATElCV0VCS0lUR1RLX05BTUVA
LUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJ
T05ALmxhIFwKIAkkKEdUS19MSUJTKSBcCiAJJChHTElCX0xJQlMpIFwKIAkkKExJQlNPVVBfTElC
UykKQEAgLTcyMSwxMyArNzU4LDI3IEBAIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0Y29weWFuZHBh
c3RlX0NGTEFHUyA9ICQod2Via2l0X3Rlc3RzX2NmbGFncykgXAogCS1JJChzcmNkaXIpL1dlYkNv
cmUKIFByb2dyYW1zX3VuaXR0ZXN0c190ZXN0Y29weWFuZHBhc3RlX0xEQUREID0gJCh3ZWJraXRf
dGVzdHNfbGRhZGQpCiBQcm9ncmFtc191bml0dGVzdHNfdGVzdGNvcHlhbmRwYXN0ZV9MREZMQUdT
ID0gJCh3ZWJraXRfdGVzdHNfbGRmbGFncykKK2VuZGlmICAjRU5BQkxFX1dFQktJVDIKIAogIyBB
dXRvZ2VuZXJhdGVkIHNvdXJjZXMKIEJVSUxUX1NPVVJDRVMgKz0gXAogCSQoamF2YXNjcmlwdGNv
cmVfYnVpbHRfc291cmNlcykgXAogCSQoamF2YXNjcmlwdGNvcmVfYnVpbHRfbm9zb3VyY2VzKSBc
CiAJJCh3ZWJjb3JlX2J1aWx0X3NvdXJjZXMpIFwKLQkkKHdlYmNvcmVfYnVpbHRfbm9zb3VyY2Vz
KSBcCisJJCh3ZWJjb3JlX2J1aWx0X25vc291cmNlcykKKworaWYgRU5BQkxFX1dFQktJVDIKK0NM
RUFORklMRVMgKz0gXAorCSQoQlVJTFRfU09VUkNFUykgXAorCSQodG9wX2J1aWxkZGlyKS9XZWJL
aXQyL2d0ay9AV0VCS0lUR1RLX1BDX05BTUVALUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ALnBjCisK
K0RJU1RDTEVBTkZJTEVTICs9IFwKKwkkKENMRUFORklMRVMpIFwKKwkkKGJ1aWxkZGlyKS9kb2x0
Y29tcGlsZSBcCisJJChidWlsZGRpcikvZG9sdGxpYnRvb2wKKworZWxzZSAjRU5BQkxFX1dFQktJ
VDIKK0JVSUxUX1NPVVJDRVMgKz0gXAogCSQod2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMpIFwKIAkk
KHdlYmtpdGd0a19idWlsdF9ub3NvdXJjZXMpCiAKQEAgLTc1MCw2ICs4MDEsNyBAQCBESVNUQ0xF
QU5GSUxFUyArPSBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvQFdFQktJVEdUS19QQ19O
QU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5wYyBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktp
dC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaCBcCiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9n
dGsvb3JnLndlYmtpdGd0ay1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5nc2NoZW1hLnhtbAorZW5k
aWYgI0VOQUJMRV9XRUJLSVQyCiAKIE1BSU5UQUlORVJDTEVBTkZJTEVTICs9IFwKIAkkKENMRUFO
RklMRVMpIFwKQEAgLTc2NywxMCArODE5LDEyIEBAIE1BSU5UQUlORVJDTEVBTkZJTEVTICs9IFwK
IAkkKHNyY2RpcikvUkVBRE1FIFwKIAkkKHRvcF9idWlsZGRpcikvY29uZmlnLioKIAoraWYgIUVO
QUJMRV9XRUJLSVQyCiAjIE9sZGVyIGF1dG9tYWtlIHZlcnNpb25zICgxLjcpIHBsYWNlIFBsbyBm
aWxlcyBpbiBhIGRpZmZlcmVudCBwbGFjZSBzbyB3ZSBuZWVkCiAjIHRvIGNyZWF0ZSB0aGUgb3V0
cHV0IGRpcmVjdG9yeSBtYW51YWxseS4KIGFsbC1sb2NhbDogc3RhbXAtcG8KIAkkKG1rZGlyX3Ap
ICQodG9wX2J1aWxkZGlyKS8kKERFUERJUikvRGVyaXZlZFNvdXJjZXMKK2VuZGlmICMhRU5BQkxF
X1dFQktJVDIKIAogIyByZW1vdmUgYnVpbHQgc291cmNlcyBhbmQgcHJvZ3JhbSBkaXJlY3Rvcmll
cwogY2xlYW4tbG9jYWw6CkBAIC03ODEsNiArODM1LDcgQEAgbWFpbnRhaW5lci1jbGVhbi1sb2Nh
bDogZGlzdGNsZWFuLWxvY2FsCiBkaXN0Y2xlYW4tbG9jYWw6CiAJLXJtIC1yZiAkKEdFTlNPVVJD
RVMpICQoR0VOUFJPR1JBTVMpCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogZGlzdC1ob29rOgogCWNw
ICQoc3JjZGlyKS9XZWJLaXQvZ3RrL05FV1MgJChkaXN0ZGlyKQogCkBAIC04MDksMyArODY0LDQg
QEAgdGVzdC1yZXBvcnQgZnVsbC1yZXBvcnQgcGVyZi1yZXBvcnQ6ICQoVEVTVF9QUk9HUykKIAog
LlBIT05ZOiB0ZXN0IHRlc3QtcmVwb3J0IHBlcmYtcmVwb3J0IGZ1bGwtcmVwb3J0CiBjaGVjay1s
b2NhbDogdGVzdAorZW5kaWYgIyAhRU5BQkxFX1dFQktJVDIKZGlmZiAtLWdpdCBhL1dlYkNvcmUv
Q2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjY1ZGU3NC4uYWE3MDk2NyAxMDA2
NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEs
MyArMSwxNiBAQAorMjAxMC0xMC0yOCAgQW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9sYS5j
b20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMg
dG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0CisgICAgICAgIChodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgTm8gbmV3
IHRlc3RzLiAoT09QUyEpCisgICAgICAgIE5vIG5ldyBmdW5jdGlvbmFsaXR5IGFkZGVkIG9yIGRl
bGV0ZWQuIE9ubHkgbWFrZWZpbGUgY2hhbmdlLiBIZW5jZSwgbm8gdGVzdHMgYWRkZWQuCisKKyAg
ICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQ2hhbmdlcyB0byBlbmFibGUgZGlzYWJsZSBidWlsZGlu
ZyBvZiBXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qgd2hlbiBidWlsZGluZyBXZWJLaXQyLgorICAg
ICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oOgor
CiAyMDEwLTEwLTI3ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBP
bmx5IGRlY29tcHJlc3MgcGl4ZWwgYnVmZmVycyB3aGVuIG5lZWRlZCAoYW5kIGZpeCBhIGNyYXNo
IGluIHRoZQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05V
bWFrZWZpbGUuYW0KaW5kZXggODExZmZhNi4uNjdiNWNmZCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9H
TlVtYWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC03LDEwICs3LDEw
IEBAIFdFQkNPUkVfQ1NTX1ZBTFVFX0tFWVdPUkRTIDo9ICQoV2ViQ29yZSkvY3NzL0NTU1ZhbHVl
S2V5d29yZHMuaW4KIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1dlYkNvcmUg
XAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYWNjZXNzaWJpbGl0eSBcCisJLUkkKHNyY2RpcikvV2Vi
Q29yZS9iaW5kaW5ncyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljIFwK
IAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2pzIFwKIAktSSQoc3JjZGlyKS9XZWJDb3Jl
L2JpbmRpbmdzL2pzL3NwZWNpYWxpemF0aW9uIFwKLQktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlIFwKIAktSSQoc3JjZGly
KS9XZWJDb3JlL2JyaWRnZS9jIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JyaWRnZS9qbmkvanNj
IFwKQEAgLTg0LDYgKzg0LDExIEBAIHdlYmNvcmVndGtfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNk
aXIpL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlIFwKIAktSSQoc3JjZGlyKS9X
ZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQKIAoraWYgIUVOQUJMRV9X
RUJLSVQyCit3ZWJjb3JlZ3RrX2dkb21fY3BwZmxhZ3MgKz0gXAorCS1JJChzcmNkaXIpL1dlYkNv
cmUvYmluZGluZ3MvZ29iamVjdAorZW5kaWYKKwogd2ViY29yZV9idWlsdF9ub3NvdXJjZXMgKz0g
XAogCURlcml2ZWRTb3VyY2VzL1dlYkNvcmUvdG9rZW5pemVyLmNwcAogCkBAIC02MzUsMTkgKzY0
MCw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0dl
bmVyaWNCaW5kaW5nLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxl
ZEZlYXR1cmVzLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVk
RmVhdHVyZXMuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJp
bmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5o
IFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwIFwK
LQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuaCBcCi0JV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuY3BwIFwKLQlXZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dv
YmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NT2JqZWN0LmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERP
TU9iamVjdC5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRX
cmFwcGVyRmFjdG9yeS5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1M
RWxlbWVudFdyYXBwZXJGYWN0b3J5LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2Ny
aXB0U291cmNlUHJvdmlkZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01PYmplY3RIYXNo
VGFibGVNYXAuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0RPTU9iamVjdEhhc2hUYWJsZU1h
cC5oIFwKQEAgLTM2NTUsNyArMzY0NywyMiBAQCB3ZWJjb3JlZ3RrX3NvdXJjZXMgKz0gXAogCVdl
YkNvcmUvcGxhdGZvcm0vdGV4dC9ndGsvVGV4dEJyZWFrSXRlcmF0b3JHdGsuY3BwCiBlbmRpZgog
Ci0KK2lmICFFTkFCTEVfV0VCS0lUMgord2ViY29yZWd0a19nZG9tX3NvdXJjZXMgKz0gXAorCVdl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcCBcCisJV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCBcCisJV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29i
amVjdC9XZWJLaXRET01CaW5kaW5nLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUJpbmRpbmcuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2
ZW50VGFyZ2V0LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50
VGFyZ2V0LmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdl
dFByaXZhdGUuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5j
cHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01PYmplY3QuaCBcCisJV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3Bw
IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFj
dG9yeS5oCitlbmRpZgogIyAtLS0KICMgQ2hhbm5lbCBtZXNhZ2luZyBzdXBwb3J0CiAjIC0tLQpk
aWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3Nv
dXAtY2FjaGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9z
b3VwLWNhY2hlLmgKaW5kZXggZTQ0N2NmYy4uODdlOTY2OCAxMDA2NDQKLS0tIGEvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaAorKysgYi9XZWJD
b3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oCkBAIC0z
LDYgKzMsNyBAQAogICogc291cC1jYWNoZS5oOgogICoKICAqIENvcHlyaWdodCAoQykgMjAwOSwg
MjAxMCBJZ2FsaWEsIFMuTC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9s
YSBNb2JpbGl0eSwgSW5jLiAgRXhjZXB0IGFzIHByb3ZpZGVkIGJlbG93LCBhbGwgcmlnaHRzIHJl
c2VydmVkLgogICoKICAqIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJl
ZGlzdHJpYnV0ZSBpdCBhbmQvb3IKICAqIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCkBAIC0yMyw2ICsyNCw3IEBACiAjaWZuZGVmIFdF
QktJVF9TT1VQX0NBQ0hFX0gKICNkZWZpbmUgV0VCS0lUX1NPVVBfQ0FDSEVfSCAxCiAKKyNpZiAh
ZGVmaW5lZChFTkFCTEVfV0VCS0lUMl9CVUlMRCkKICNpZiBCVUlMRElOR19HVEtfXwogI2luY2x1
ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+CiAjZWxzZQpAQCAtMzAsNiArMzIsMTAgQEAKICNk
ZWZpbmUgV0VCS0lUX0FQSQogI2VuZGlmCiAjZW5kaWYKKyNlbHNlICAvLyAhZGVmaW5lZChFTkFC
TEVfV0VCS0lUMl9CVUlMRCkKKyNkZWZpbmUgV0VCS0lUX0FQSSBfX2F0dHJpYnV0ZV9fKCh2aXNp
YmlsaXR5KCJkZWZhdWx0IikpKQorI2RlZmluZSBXRUJLSVRfT0JTT0xFVEVfQVBJIFdFQktJVF9B
UEkgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkpCisjZW5kaWYgLy8gIWRlZmluZWQoRU5BQkxF
X1dFQktJVDJfQlVJTEQpCiAKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAtdHlwZXMuaD4KICNpbmNs
dWRlIDxnaW8vZ2lvLmg+CmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBiL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IGY5NGM0NDMuLmVhOWZmOTkgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzggQEAKKzIwMTAtMTAt
MjggIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2aSBLYXNpYmhh
dGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBidWlsZGluZyBX
ZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZC4g
CisgICAgICAgICogUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmg6ICBDaGFuZ2VzIGZvciBH
dGsgbGludXggcG9ydAorICAgICAgICAqIFBsYXRmb3JtL1BsYXRmb3JtUHJvY2Vzc0lkZW50aWZp
ZXIuaDoKKyAgICAgICAgKiBQbGF0Zm9ybS9ndGs6IEFkZGVkLgorICAgICAgICAqIFBsYXRmb3Jt
L2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwOiBBZGRlZC4gIFN0dWJiZWQgaW1wbGVtZW50YXRpb24g
Zm9yIEdUSyBwb3J0LiBZZXQgdG8gaW1wbGVtZW50LgorICAgICAgICAoV2ViS2l0OjpTaGFyZWRN
ZW1vcnk6OkhhbmRsZTo6SGFuZGxlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpI
YW5kbGU6On5IYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZTo6
ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5kbGU6OmRlY29kZSk6
CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6Y3JlYXRlKToKKyAgICAgICAgKFdlYktp
dDo6U2hhcmVkTWVtb3J5Ojp+U2hhcmVkTWVtb3J5KToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVk
TWVtb3J5OjpjcmVhdGVIYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWRNZW1vcnk6OnN5
c3RlbVBhZ2VTaXplKToKKyAgICAgICAgKiBTaGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5o
OgorICAgICAgICAoV2ViS2l0OjpOYXRpdmVXZWJLZXlib2FyZEV2ZW50OjpuYXRpdmVFdmVudCk6
CisgICAgICAgICogU2hhcmVkL2d0azogQWRkZWQuCisgICAgICAgICogU2hhcmVkL2d0ay9CYWNr
aW5nU3RvcmVHdGsuY3BwOiBBZGRlZC4gU3R1YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBv
cnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAgICAgIChXZWJLaXQ6OkJhY2tpbmdTdG9yZTo6Y3Jl
YXRlR3JhcGhpY3NDb250ZXh0KToKKyAgICAgICAgKFdlYktpdDo6QmFja2luZ1N0b3JlOjpwYWlu
dCk6CisgICAgICAgICogU2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oOiBBZGRl
ZC4gQWRkZWQuIFN0dWJiZWQgaW1wbGVtZW50YXRpb24gZm9yIEdUSyBwb3J0LiBZZXQgdG8gaW1w
bGVtZW50LgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6UGxhdGZv
cm1DZXJ0aWZpY2F0ZUluZm8pOgorICAgICAgICAoV2ViS2l0OjpQbGF0Zm9ybUNlcnRpZmljYXRl
SW5mbzo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6UGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm86
OmRlY29kZSk6CisgICAgICAgICogU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5oOiBBZGRlZC4KKyAg
ICAgICAgKFdlYktpdDo6VXBkYXRlQ2h1bms6OnJlY3QpOgorICAgICAgICAoV2ViS2l0OjpVcGRh
dGVDaHVuazo6bWVtb3J5KToKKyAgICAgICAgKFdlYktpdDo6VXBkYXRlQ2h1bms6OnhJRCk6Cisg
ICAgICAgIChXZWJLaXQ6OlVwZGF0ZUNodW5rOjppc0VtcHR5KToKKyAgICAgICAgKiBTaGFyZWQv
Z3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVu
dGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKENvcmVJUEM6
OmVuY29kZVJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChDb3JlSVBDOjpkZWNvZGVSZXNvdXJj
ZVJlcXVlc3QpOgorICAgICAgICAqIFNoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5Lmg6IEFkZGVk
LgorICAgICAgICAqIFVJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oOgor
ICAgICAgICAqIFVJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5Lmg6CisgICAgICAgICogVUlQcm9j
ZXNzL1BsdWdpbnMvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBVSVByb2Nlc3MvUGx1Z2lucy9ndGsv
UGx1Z2luSW5mb1N0b3JlR3RrLmNwcDogQWRkZWQuICBTdHViYmVkIGltcGxlbWVudGF0aW9uIGZv
ciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5m
b1N0b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZv
U3RvcmU6OnBsdWdpblBhdGhzSW5EaXJlY3RvcnkpOgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5J
bmZvU3RvcmU6OmluZGl2aWR1YWxQbHVnaW5QYXRocyk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdp
bkluZm9TdG9yZTo6Z2V0UGx1Z2luSW5mbyk6CisgICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9T
dG9yZTo6c2hvdWxkVXNlUGx1Z2luKToKKyAgICAgICAgKiBXZWJLaXQyUHJlZml4Lmg6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHA6IEFkZGVkLiBT
dHViYmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAg
ICAgICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpJ
bmplY3RlZEJ1bmRsZTo6YWN0aXZhdGVNYWNGb250QXNjZW50SGFjayk6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0azogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHA6IEFkZGVkLiAgU3R1
YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAg
ICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBvc3RJbml0aWFsaXplKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtRGVzdHJveSk6CisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUdlb21ldHJ5RGlkQ2hhbmdlKToKKyAg
ICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtUGFpbnQpOgorICAgICAgICAo
V2ViS2l0Ojp0b05QKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3Jt
SGFuZGxlTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0
Zm9ybUhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6
cGxhdGZvcm1TZXRGb2N1cyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0
Zm9ybUhhbmRsZU1vdXNlRW50ZXJFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1
Z2luOjpwbGF0Zm9ybUhhbmRsZU1vdXNlTGVhdmVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5l
dHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZUtleWJvYXJkRXZlbnQpOgorICAgICAgICAqIFdl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwOgorICAgICAg
ICAqIFdlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0Lmg6IEFk
ZGVkLgorICAgICAgICAoV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ6OldlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQp
OgorICAgICAgICAqIGd0azogQWRkZWQuCisgICAgICAgICogZ3RrL3dlYmtpdDIucGMuaW46IEFk
ZGVkLgorCiAyMDEwLTEwLTI3ICBLaW1tbyBLaW5udW5lbiAgPGtpbW1vLnQua2lubnVuZW5Abm9r
aWEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFuZHJlYXMgS2xpbmcuCmRpZmYgLS1naXQg
YS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpuZXcgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi43NjBmOWJlCi0tLSAvZGV2L251bGwKKysrIGIv
V2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtMCwwICsxLDQ4MyBAQAorV2ViS2l0MiA6PSAkKHNy
Y2RpcikvV2ViS2l0MgorRm9yd2FyZGluZ0hlYWRlcnMgOj0gJChHRU5TT1VSQ0VTX1dFQktJVDIp
L2luY2x1ZGUKK0h0dHBTdGFjayA6PSBASFRUUF9TVEFDS0AKKword2Via2l0Mmd0a19zdGF0aWNf
aF9hcGkgKz0gXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0FycmF5LmggXAor
CSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBcCisJJChzcmNkaXIpL1dl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQ2VydGlmaWNhdGVJbmZvLmggXAorCSQoc3JjZGlyKS9XZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0RhdGEuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLRGljdGlvbmFyeS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tF
cnJvci5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFdmVudC5oIFwKKwkk
KHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tHZW9tZXRyeS5oIFwKKwkkKHNyY2Rpcikv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXkuaCBcCisJJChzcmNkaXIpL1dlYktp
dDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJJChzcmNkaXIpL1dlYktp
dDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCSQoc3JjZGlyKS9X
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBcCisJJChzcmNkaXIpL1dlYktp
dDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9j
L1dLVHlwZS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkwuaCBcCisJ
JChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5oIFwKKwkkKHNyY2Rp
cikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5oIFwKKwkkKHNyY2RpcikvV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBcCisJJChzcmNkaXIp
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBcCisJJChzcmNkaXIpL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlLmggXAorCSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1Bh
Z2VOYW1lc3BhY2UuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZVByaXZhdGUuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVy
ZW5jZXMuaCBcCisJJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmgKKword2Via2l0Mmd0a19zb3VyY2VzICs9IFwKKwlXZWJLaXQyL1BsYXRmb3Jt
L2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0
b3JlR3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
LmggXAorCVdlYktpdDIvU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3Rr
L1dlYkV2ZW50RmFjdG9yeS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVn
aW5JbmZvU3RvcmVHdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
Z3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvZ3RrL05ldHNjYXBlUGx1Z2luR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0LmgKKword2Via2l0
Ml9zb3VyY2VzICs9IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2Rlci5o
IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBcCisJV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0FyZ3VtZW50RW5jb2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dEVuY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50cy5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXR0YWNobWVudC5jcHAgXAorCVdlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9BdHRhY2htZW50LmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5h
cnlTZW1hcGhvcmUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNwcCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL0NvcmVJUENNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0RhdGFSZWZlcmVuY2UuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvRGF0YVJlZmVy
ZW5jZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmggXAorCVdlYktpdDIvUGxhdGZvcm0v
TG9nZ2luZy5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oIFwKKwlXZWJLaXQyL1Bs
YXRmb3JtL01vZHVsZS5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmggXAorCVdlYktp
dDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIFwKKwlXZWJLaXQyL1BsYXRm
b3JtL1J1bkxvb3AuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuaCBcCisJV2ViS2l0
Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrSXRlbS5o
IFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0v
V29ya1F1ZXVlLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJv
eHkuY3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5Lmgg
XAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBcCisJV2ViS2l0Mi9Q
bHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpblByb2Nlc3NNYWluLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29u
bmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlv
bi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElDbGllbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQXJyYXkuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2Vy
dGlmaWNhdGVJbmZvLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDZXJ0aWZpY2F0ZUlu
Zm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tEYXRhLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0Vycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFcnJvci5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0V2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLR2VvbWV0cnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXku
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS051
bWJlci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLU3RyaW5nUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUu
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tVUkwuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTC5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1VSTFJlcXVlc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVzcG9uc2UuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKKwlXZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElP
YmplY3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvQmFja2luZ1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQ29tbWFuZExpbmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1
cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQ
Q1N1cHBvcnQvRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9Db3JlSVBDU3VwcG9ydC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJDb250ZXh0TWVzc2FnZUtpbmRzLmggXAorCVdlYktp
dDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlBhZ2VQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQcm9jZXNzUHJveHlNZXNzYWdlS2luZHMu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvRHJhd2luZ0FyZWFCYXNlLmggXAorCVdlYktpdDIvU2hhcmVk
L0ZpbmRPcHRpb25zLmggXAorCVdlYktpdDIvU2hhcmVkL0ZvbnRTbW9vdGhpbmdMZXZlbC5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0lt
bXV0YWJsZUFycmF5LmggXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZURpY3Rpb25hcnkuY3Bw
IFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hh
cmVkL011dGFibGVBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL011dGFibGVBcnJheS5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L011dGFibGVEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVkL05hdGl2ZVdlYktleWJvYXJk
RXZlbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTm90SW1wbGVtZW50ZWQuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvU3RyaW5nUGFpclZlY3Rvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNv
ZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvVmlzaXRlZExpbmtUYWJsZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZp
Y2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYkRhdGEuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXJyb3IuY3Bw
IFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFcnJvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVu
dENvbnZlcnNpb24uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaCBc
CisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViTmF2aWdh
dGlvbkRhdGFTdG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJOdW1iZXIuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJ
dGVtLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmggXAorCVdlYktpdDIvU2hh
cmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRl
cnMuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmgg
XAorCVdlYktpdDIvU2hhcmVkL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9XZWJTdHJpbmcuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMLmggXAorCVdlYktp
dDIvU2hhcmVkL1dlYlVSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXF1
ZXN0LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlc3BvbnNlLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViVVJMUmVzcG9uc2UuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVXNlckNvbnRlbnRV
UkxQYXR0ZXJuLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0FQSUNhc3QuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9y
d2FyZExpc3QuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlz
dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tDb250ZXh0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dFByaXZhdGUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxp
c3RlbmVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxp
c3RlbmVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
RnJhbWVQb2xpY3lMaXN0ZW5lci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdGl2
ZUV2ZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRhdGEuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhLmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVm
ZXJlbmNlcy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0
ZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmNwcCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRv
ci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNrLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVy
L1Byb2Nlc3NMYXVuY2hlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nl
c3NMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9UaHJlYWRMYXVuY2hl
ci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1RocmVhZExhdW5jaGVyLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL0xheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL0xheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94eS5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luSW5mb1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZv
U3RvcmUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdl
ci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIu
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9Qcm9jZXNzTW9kZWwuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9u
c2l2ZW5lc3NUaW1lci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGlt
ZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0Zv
cndhcmRMaXN0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0u
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJD
b250ZXh0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHRJbmplY3RlZEJ1bmRsZUNs
aWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHRJbmplY3RlZEJ1bmRsZUNs
aWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0VXNlck1lc3NhZ2VDb2RlcnMu
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRWRpdENvbW1hbmRQcm94eS5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYkVkaXRDb21tYW5kUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRmluZENsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYkZvcm1DbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Np
b25MaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Np
b25MaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQ
cm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZy
YW1lUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSGlzdG9yeUNsaWVudC5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYkhpc3RvcnlDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViTG9hZGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xp
ZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25EYXRhLmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvbkRhdGEuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZU5hbWVzcGFjZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3Bh
Y2UuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUGFnZVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBvbGljeUNs
aWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBvbGljeUNsaWVudC5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcmVmZXJlbmNlcy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc01hbmFnZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViVUlDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmNwcCBcCisJV2ViS2l0Mi9X
ZWJLaXQyUHJlZml4LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZUFQSUNhc3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUlu
aXRpYWxpemUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlTm9kZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJp
dmF0ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5k
bGVSYW5nZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZVJhbmdlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlU2NyaXB0V29ybGQuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVu
ZGxlTm9kZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9N
L0luamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0
UmVzdWx0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZvcm1D
bGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlUGFnZUxvYWRlckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNj
cmlwdFdvcmxkLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlU2NyaXB0V29ybGQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvSlNOUE1ldGhvZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L0pTTlBNZXRob2QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVjdC5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBPYmplY3QuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJyb3dzZXJGdW5j
cy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdp
bi5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1
Z2luLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1
Z2luTW9kdWxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0
c2NhcGVQbHVnaW5Nb2R1bGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OUEpTT2JqZWN0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBK
U09iamVjdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVPYmplY3RN
YXAuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVPYmplY3RNYXAu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50aW1lVXRpbGl0aWVzLmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50aW1lVXRpbGl0aWVzLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkNvbnRyb2xsZXIuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3ND
b25uZWN0aW9uLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vz
c0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb3h5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJveHkuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJCYWNrRm9yd2FyZENvbnRy
b2xsZXJDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNo
cm9tZUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJD
aHJvbWVDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNv
bnRleHRNZW51Q2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkNvbnRleHRNZW51Q2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJEcmFnQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkRyYWdDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkVkaXRvckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJFZGl0b3JDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkVycm9ycy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJh
bWVMb2FkZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViRnJhbWVMb2FkZXJDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkluc3BlY3RvckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYlNlYXJjaFBvcHVwTWVudS5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFyY2hQb3B1cE1lbnUuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYktpdE1haW4uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVu
a2VkVXBkYXRlRHJhd2luZ0FyZWEuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9D
aHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
RHJhd2luZ0FyZWEuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJl
YS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRQYWdlT3ZlcmxheS5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL0ZpbmRQYWdlT3ZlcmxheS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9QYWdlT3ZlcmxheS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VP
dmVybGF5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlz
dFByb3h5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRM
aXN0UHJveHkuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRWRpdENvbW1hbmQu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJFZGl0Q29tbWFuZC5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3NNYWluLmgKKworIyBF
bnN1cmUgdGhhdCB0aGUgcHJlZml4IGhlYWRlciBpcyBidWlsdCBiZWZvcmUKK0JVSUxUX1NPVVJD
RVMgKz0gXAorCSQod2Via2l0Ml9idWlsdF9zb3VyY2VzKSBcCisJJCh3ZWJraXQyX2J1aWx0X25v
c291cmNlcykKKword2Via2l0Mmd0a19jcHBmbGFncyArPSBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9QbGF0Zm9ybS9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL2d0ayBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0aworCit3ZWJraXQyX2NwcGZsYWdzICs9IFwK
KwktaW5jbHVkZSAkKHNyY2RpcikvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmggXAorCS1JJChzcmNk
aXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIgXAorCS1JJChzcmNkaXIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvaW5jbHVkZSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9p
bmNsdWRlL0phdmFTY3JpcHRDb3JlIFwKKwktSSQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL2luY2x1ZGUvV2ViQ29yZSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9pbmNsdWRlL1dlYktpdDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvUGxhdGZvcm0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
QyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzIFwKKwktSSQoc3JjZGlyKS9X
ZWJLaXQyL1NoYXJlZCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJIFwKKwktSSQo
c3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFy
ZWQvQ29yZUlQQ1N1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9DIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvY3Bw
IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlciBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQ
cm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUg
XAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkgXAor
CS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYyBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTSBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0xhdW5jaGluZyBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05ldHNjYXBlIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlCisK
K2dlbmVyYXRlLWZ3ZC1oZWFkZXJzOiAkKHNyY2RpcikvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndh
cmRpbmdIZWFkZXJzKS9KYXZhU2NyaXB0Q29yZQorCSQoQU1fVl9hdCkkKG1rZGlyX3ApICQoRm9y
d2FyZGluZ0hlYWRlcnMpL1dlYkNvcmUKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRp
bmdIZWFkZXJzKS9XZWJLaXQyCisJJChBTV9WX0dFTikkKFBFUkwpICQ8ICQoV2ViS2l0MikgJChG
b3J3YXJkaW5nSGVhZGVycykgZ3RrICQoSHR0cFN0YWNrKSAKKword2Via2l0Ml9idWlsdF9ub3Nv
dXJjZXMgKz0gXAorCWdlbmVyYXRlLWZ3ZC1oZWFkZXJzCisJCisjIE1lc3NhZ2UgaGVhZGVyIGdl
bmVyYXRpb24KK3dlYmtpdDJfYnVpbHRfc291cmNlcyArPSBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9QbHVnaW5Db250cm9sbGVyUHJveHlNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1BsdWdpbkNvbnRyb2xsZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc01lc3NhZ2VzLmggXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRT
b3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpblByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIv
V2ViUGFnZVByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQYWdl
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlBy
b2Nlc3NNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNz
YWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NDb25u
ZWN0aW9uTWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzQ29u
bmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAKKwordnBhdGggJS5tZXNzYWdlcy5pbiA9ICQoV2Vi
S2l0MikvUGx1Z2luUHJvY2VzcyAkKFdlYktpdDIpL1VJUHJvY2VzcyAkKFdlYktpdDIpL1VJUHJv
Y2Vzcy9QbHVnaW5zICQoV2ViS2l0MikvV2ViUHJvY2Vzcy9QbHVnaW5zICQoV2ViS2l0MikvV2Vi
UHJvY2Vzcy9XZWJQYWdlICQoV2ViS2l0MikvV2ViUHJvY2VzcworCittZXNzYWdlX2dlbl9zY3Jp
cHRzID0gXAorCSQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlLXJlY2VpdmVyLnB5
IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZXMtaGVhZGVyLnB5IFwKKwkk
KFdlYktpdDIpL1NjcmlwdHMvd2Via2l0Mi9fX2luaXRfXy5weSBcCisJJChXZWJLaXQyKS9TY3Jp
cHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKworRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8lTWVzc2Fn
ZVJlY2VpdmVyLmNwcDogJS5tZXNzYWdlcy5pbiAkKG1lc3NhZ2VfZ2VuX3NjcmlwdHMpCisJJChB
TV9WX0dFTikkKFBZVEhPTikgJChzcmNkaXIpL1dlYktpdDIvU2NyaXB0cy9nZW5lcmF0ZS1tZXNz
YWdlLXJlY2VpdmVyLnB5ICQ8ID4gJEAKKworRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8lTWVzc2Fn
ZXMuaDogJS5tZXNzYWdlcy5pbiAkKG1lc3NhZ2VfZ2VuX3NjcmlwdHMpCisJJChBTV9WX0dFTikk
KFBZVEhPTikgJChzcmNkaXIpL1dlYktpdDIvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1oZWFk
ZXIucHkgJDwgPiAkQApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5l
Y3Rpb24uaCBiL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmgKaW5kZXggZTUx
NDQ1Mi4uZGE4MDI1MSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5l
Y3Rpb24uaAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5oCkBAIC0x
LDYgKzEsNyBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdo
dHMgcmVzZXJ2ZWQuCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEgQ29ycG9yYXRpb24gYW5k
L29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAg
TW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogUmVk
aXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3
aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUg
Zm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTg2LDYgKzg3LDggQEAgcHVibGljOgogICAgIHN0YXRp
YyBib29sIGNyZWF0ZVNlcnZlckFuZENsaWVudElkZW50aWZpZXJzKElkZW50aWZpZXImIHNlcnZl
cklkZW50aWZpZXIsIElkZW50aWZpZXImIGNsaWVudElkZW50aWZpZXIpOwogI2VsaWYgUExBVEZP
Uk0oUVQpCiAgICAgdHlwZWRlZiBjb25zdCBRU3RyaW5nIElkZW50aWZpZXI7CisjZWxpZiBQTEFU
Rk9STShHVEspCisgICAgdHlwZWRlZiBpbnQgSWRlbnRpZmllcjsKICNlbmRpZgogCiAgICAgc3Rh
dGljIFBhc3NSZWZQdHI8Q29ubmVjdGlvbj4gY3JlYXRlU2VydmVyQ29ubmVjdGlvbihJZGVudGlm
aWVyLCBDbGllbnQqLCBSdW5Mb29wKiBjbGllbnRSdW5Mb29wKTsKZGlmZiAtLWdpdCBhL1dlYktp
dDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIGIvV2ViS2l0Mi9QbGF0Zm9y
bS9QbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmgKaW5kZXggYWQxZTM5NC4uYTI5ZTBmYSAxMDA2
NDQKLS0tIGEvV2ViS2l0Mi9QbGF0Zm9ybS9QbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmgKKysr
IGIvV2ViS2l0Mi9QbGF0Zm9ybS9QbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmgKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMzksNiArNDAsOCBAQCB0eXBlZGVmIHBpZF90IFBsYXRmb3JtUHJvY2Vzc0lkZW50
aWZpZXI7CiB0eXBlZGVmIEhBTkRMRSBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyOwogI2VsaWYg
UExBVEZPUk0oUVQpCiB0eXBlZGVmIFFQcm9jZXNzKiBQbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVy
OworI2VsaWYgUExBVEZPUk0oR1RLKQordHlwZWRlZiBwaWRfdCBQbGF0Zm9ybVByb2Nlc3NJZGVu
dGlmaWVyOwogI2VuZGlmCiAKIH0gLy8gbmFtZXNwYWNlIFdlYktpdCAKZGlmZiAtLWdpdCBhL1dl
YktpdDIvUGxhdGZvcm0vZ3RrL1NoYXJlZE1lbW9yeUd0ay5jcHAgYi9XZWJLaXQyL1BsYXRmb3Jt
L2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAuLjkzZmRhOTUKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1BsYXRmb3JtL2d0ay9TaGFy
ZWRNZW1vcnlHdGsuY3BwCkBAIC0wLDAgKzEsODQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiU2hhcmVkTWVtb3J5LmgiCisKKyNpbmNsdWRlICJOb3RJbXBs
ZW1lbnRlZC5oIgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworU2hhcmVkTWVtb3J5OjpIYW5kbGU6
OkhhbmRsZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworU2hhcmVkTWVtb3J5OjpI
YW5kbGU6On5IYW5kbGUoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK3ZvaWQgU2hh
cmVkTWVtb3J5OjpIYW5kbGU6OmVuY29kZShDb3JlSVBDOjpBcmd1bWVudEVuY29kZXIqIGVuY29k
ZXIpIGNvbnN0Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKworYm9vbCBTaGFyZWRNZW1v
cnk6OkhhbmRsZTo6ZGVjb2RlKENvcmVJUEM6OkFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgSGFu
ZGxlJiBoYW5kbGUpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7
Cit9CisKK1Bhc3NSZWZQdHI8U2hhcmVkTWVtb3J5PiBTaGFyZWRNZW1vcnk6OmNyZWF0ZShzaXpl
X3Qgc2l6ZSkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiAwOworfQorCitQ
YXNzUmVmUHRyPFNoYXJlZE1lbW9yeT4gU2hhcmVkTWVtb3J5OjpjcmVhdGUoY29uc3QgSGFuZGxl
JiBoYW5kbGUsIFByb3RlY3Rpb24gcHJvdGVjdGlvbikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHJldHVybiAwOyAgICAKK30KKworU2hhcmVkTWVtb3J5Ojp+U2hhcmVkTWVtb3J5KCkK
K3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorICAgIAorYm9vbCBTaGFyZWRNZW1vcnk6OmNy
ZWF0ZUhhbmRsZShIYW5kbGUmIGhhbmRsZSwgUHJvdGVjdGlvbiBwcm90ZWN0aW9uKQoreworICAg
IG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit1bnNpZ25lZCBTaGFy
ZWRNZW1vcnk6OnN5c3RlbVBhZ2VTaXplKCkKK3sKKyAgICB1bnNpZ25lZCBwYWdlU2l6ZSA9IDA7
CisKKyAgICByZXR1cm4gcGFnZVNpemU7Cit9CisKK30KZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hh
cmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCBiL1dlYktpdDIvU2hhcmVkL05hdGl2ZVdlYktl
eWJvYXJkRXZlbnQuaAppbmRleCBiOTU5OGQ5Li4yNDcxZWVhIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmgKKysrIGIvV2ViS2l0Mi9TaGFyZWQvTmF0
aXZlV2ViS2V5Ym9hcmRFdmVudC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTM2LDYgKzM3LDggQEAgY2xh
c3MgTlNWaWV3OwogI2VuZGlmCiAjZWxpZiBQTEFURk9STShRVCkKICNpbmNsdWRlIDxRS2V5RXZl
bnQ+CisjZWxpZiBQTEFURk9STShHVEspCisjaW5jbHVkZSA8Z2RrL2dkay5oPgogI2VuZGlmCiAK
IG5hbWVzcGFjZSBXZWJLaXQgewpAQCAtNTYsNiArNTksOCBAQCBwdWJsaWM6CiAgICAgY29uc3Qg
TVNHKiBuYXRpdmVFdmVudCgpIGNvbnN0IHsgcmV0dXJuICZtX25hdGl2ZUV2ZW50OyB9CiAjZWxp
ZiBQTEFURk9STShRVCkKICAgICBjb25zdCBRS2V5RXZlbnQqIG5hdGl2ZUV2ZW50KCkgY29uc3Qg
eyByZXR1cm4gJm1fbmF0aXZlRXZlbnQ7IH0KKyNlbGlmIFBMQVRGT1JNKEdUSykKKyAgICBjb25z
dCBHZGtFdmVudEtleSogbmF0aXZlRXZlbnQoKSBjb25zdCB7IHJldHVybiAmbV9uYXRpdmVFdmVu
dDsgfQogI2VuZGlmCiAKIHByaXZhdGU6CkBAIC02NSw2ICs3MCw4IEBAIHByaXZhdGU6CiAgICAg
TVNHIG1fbmF0aXZlRXZlbnQ7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBRS2V5RXZlbnQgbV9u
YXRpdmVFdmVudDsKKyNlbGlmIFBMQVRGT1JNKEdUSykKKyAgICBHZGtFdmVudEtleSBtX25hdGl2
ZUV2ZW50OwogI2VuZGlmCiB9OwogCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9ndGsvQmFj
a2luZ1N0b3JlR3RrLmNwcCBiL1dlYktpdDIvU2hhcmVkL2d0ay9CYWNraW5nU3RvcmVHdGsuY3Bw
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjg5MWZhMmMKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0b3JlR3RrLmNwcApAQCAtMCwwICsx
LDQ3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkJhY2tp
bmdTdG9yZS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlIDxXZWJD
b3JlL0dyYXBoaWNzQ29udGV4dC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFt
ZXNwYWNlIFdlYktpdCB7CisKK1Bhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0PiBCYWNraW5nU3Rv
cmU6OmNyZWF0ZUdyYXBoaWNzQ29udGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAg
ICByZXR1cm4gMDsKK30KKwordm9pZCBCYWNraW5nU3RvcmU6OnBhaW50KFdlYkNvcmU6OkdyYXBo
aWNzQ29udGV4dCogY29udGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpCit7
CisgICAgbm90SW1wbGVtZW50ZWQoKTsKK30KKyAgICAgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvU2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5m
by5oIGIvV2ViS2l0Mi9TaGFyZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgKbmV3IGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uOTg5NDY3ZQotLS0gL2Rldi9udWxsCisrKyBi
L1dlYktpdDIvU2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCkBAIC0wLDAgKzEs
NTggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11
c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJp
YnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRl
cmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdB
UkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElT
JycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFO
VEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElT
Q0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JT
CisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVD
SUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywg
QlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBP
UiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisg
KiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJ
TElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQg
KElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdB
WSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAq
IFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVmIFBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvX2gKKyNkZWZpbmUgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faAorCisj
aW5jbHVkZSAiQXJndW1lbnREZWNvZGVyLmgiCisjaW5jbHVkZSAiQXJndW1lbnRFbmNvZGVyLmgi
CisjaW5jbHVkZSA8V2ViQ29yZS9SZXNvdXJjZVJlc3BvbnNlLmg+CisKK25hbWVzcGFjZSBXZWJL
aXQgeworCitjbGFzcyBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyB7CitwdWJsaWM6CisgICAgUGxh
dGZvcm1DZXJ0aWZpY2F0ZUluZm8oKQorICAgIHsKKyAgICB9CisKKyAgICBleHBsaWNpdCBQbGF0
Zm9ybUNlcnRpZmljYXRlSW5mbyhjb25zdCBXZWJDb3JlOjpSZXNvdXJjZVJlc3BvbnNlJikKKyAg
ICB7CisgICAgfQorCisgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKikg
Y29uc3QKKyAgICB7CisgICAgfQorCisgICAgc3RhdGljIGJvb2wgZGVjb2RlKENvcmVJUEM6OkFy
Z3VtZW50RGVjb2RlciosIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvJikKKyAgICB7CisgICAgICAg
IHJldHVybiB0cnVlOworICAgIH0KK307CisKK30gLy8gbmFtZXNwYWNlIFdlYktpdAorCisjZW5k
aWYgLy8gUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm9faApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9TaGFy
ZWQvZ3RrL1VwZGF0ZUNodW5rLmggYi9XZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRlQ2h1bmsuaApu
ZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi40Zjk3MjAyCi0tLSAvZGV2L251bGwK
KysrIGIvV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmgKQEAgLTAsMCArMSw2MiBAQAor
LyoKKyAqIENvcHlyaWdodCAoQykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4g
IEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAq
IGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRh
aW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25z
IGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBw
cm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQ
Uk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICog
QU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElU
WSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVE
LiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJF
IExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVY
RU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9U
IExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJ
Q0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVS
UlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBX
SEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVE
SU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBP
RiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBP
U1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpZm5kZWYgVXBkYXRlQ2h1bmtfaAor
I2RlZmluZSBVcGRhdGVDaHVua19oCisKKyNpbmNsdWRlICJJbnRSZWN0LmgiCisjaW5jbHVkZSA8
Z2RrL2dkay5oPgorCituYW1lc3BhY2UgQ29yZUlQQyB7CitjbGFzcyBBcmd1bWVudEVuY29kZXI7
CitjbGFzcyBBcmd1bWVudERlY29kZXI7Cit9CisKK25hbWVzcGFjZSBXZWJLaXQgeworCitjbGFz
cyBVcGRhdGVDaHVuayB7CitwdWJsaWM6CisgICAgVXBkYXRlQ2h1bmsoKTsKKyAgICBVcGRhdGVD
aHVuayhjb25zdCBXZWJDb3JlOjpJbnRSZWN0Jik7CisgICAgVXBkYXRlQ2h1bmsoY29uc3QgV2Vi
Q29yZTo6SW50UmVjdCYsIEdka1BpeG1hcCopOworCisgICAgY29uc3QgV2ViQ29yZTo6SW50UmVj
dCYgcmVjdCgpIGNvbnN0IHsgcmV0dXJuIG1fcmVjdDsgfQorICAgIEdka1BpeG1hcCogbWVtb3J5
KCkgY29uc3QgeyByZXR1cm4gbV9iaXRtYXBTaGFyZWRNZW1vcnk7IH0KKyAgICB1aW50MzJfdCB4
SUQoKSB7IHJldHVybiBtX3hJRDsgfQorICAgIGJvb2wgaXNFbXB0eSgpIHsgcmV0dXJuIG1fcmVj
dC5pc0VtcHR5KCk7fQorCisgICAgdm9pZCBlbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVy
KiBlbmNvZGVyKSBjb25zdDsKKyAgICBzdGF0aWMgYm9vbCBkZWNvZGUoQ29yZUlQQzo6QXJndW1l
bnREZWNvZGVyKiwgVXBkYXRlQ2h1bmsmKTsKKworcHJpdmF0ZToKKyAgICBXZWJDb3JlOjpJbnRS
ZWN0IG1fcmVjdDsKKyAgICBHZGtQaXhtYXAqIG1fYml0bWFwU2hhcmVkTWVtb3J5OworICAgIHVp
bnQzMl90IG1feElEOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CisKKyNlbmRpZiAvLyBV
cGRhdGVDaHVua19oCmRpZmYgLS1naXQgYS9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzR3RrLmNwcCBiL1dlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2Rl
cnNHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNkZTMxNzAKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
R3RrLmNwcApAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAx
MCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorCisjaW5jbHVkZSAiTm90SW1w
bGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIENvcmVJUEMgeworCit2b2lkIGVuY29kZVJlc291cmNl
UmVxdWVzdChBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291cmNl
UmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
K2Jvb2wgZGVjb2RlUmVzb3VyY2VSZXF1ZXN0KEFyZ3VtZW50RGVjb2RlciogZGVjb2RlciwgV2Vi
Q29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpCit7CisgICAgbm90SW1wbGVt
ZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KZGlmZiAtLWdpdCBhL1dlYktpdDIv
U2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuaCBiL1dlYktpdDIvU2hhcmVkL2d0ay9XZWJFdmVu
dEZhY3RvcnkuaApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5jODkyMmI4Ci0t
LSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oCkBA
IC0wLDAgKzEsNDggQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xh
IE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaWZuZGVm
IFdlYkV2ZW50RmFjdG9yeV9oCisjZGVmaW5lIFdlYkV2ZW50RmFjdG9yeV9oCisKKyNpbmNsdWRl
ICJXZWJFdmVudC5oIgorCisjaW5jbHVkZSA8Z2RrL2dkay5oPgorCituYW1lc3BhY2UgV2ViS2l0
IHsKKworICAgIC8vIEZJWE1FOiBUaGlzIGlzIG5vdCBuZWVkZWQgaW4gdGhlIFdlYlByb2Nlc3Mg
YW5kIHNob3VsZCBiZSBtb3ZlZCB0byBiZSBhIHBlZXIKKyAgICAvLyBvZiBXS1ZpZXcgb3IgcmVt
b3ZlZCBhbHRvZ2V0aGVyIGluIGZhdm9yIG9mIHVzaW5nIFBsYXRmb3JtRXZlbnRzIGV2ZXJ5d2hl
cmUuCisKK2NsYXNzIFdlYkV2ZW50RmFjdG9yeSB7CisgICAgcHVibGljOgorICAgICAgICBzdGF0
aWMgV2ViTW91c2VFdmVudCBjcmVhdGVXZWJNb3VzZUV2ZW50KEdka0V2ZW50QW55KiBldmVudCk7
CisgICAgICAgIHN0YXRpYyBXZWJXaGVlbEV2ZW50IGNyZWF0ZVdlYldoZWVsRXZlbnQoR2RrRXZl
bnRTY3JvbGwgKmV2ZW50KTsKKyAgICAgICAgc3RhdGljIFdlYktleWJvYXJkRXZlbnQgY3JlYXRl
V2ViS2V5Ym9hcmRFdmVudChHZGtFdmVudEtleSogZXZlbnQpOworfTsKKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CisKKyNlbmRpZiAvLyBXZWJFdmVudEZhY3RvcnlfaApkaWZmIC0tZ2l0IGEvV2Vi
S2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuaCBiL1dlYktpdDIv
VUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmgKaW5kZXggOTk2M2YwMi4u
MWYyNDllNSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhUHJveHkuaAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2lu
Z0FyZWFQcm94eS5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp
IDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDggKzI0LDggQEAKICAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLwogCi0jaWZuZGVmIERyYXdpbmdBcmVhUHJveHlV
cGRhdGVDaHVua19oCi0jZGVmaW5lIERyYXdpbmdBcmVhUHJveHlVcGRhdGVDaHVua19oCisjaWZu
ZGVmIENodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5X2gKKyNkZWZpbmUgQ2h1bmtlZFVwZGF0
ZURyYXdpbmdBcmVhUHJveHlfaAogCiAjaW5jbHVkZSAiRHJhd2luZ0FyZWFQcm94eS5oIgogI2lu
Y2x1ZGUgPFdlYkNvcmUvSW50U2l6ZS5oPgpAQCAtNTMsNiArNTQsOSBAQCBjbGFzcyBXZWJWaWV3
OwogdHlwZWRlZiBXZWJWaWV3IFBsYXRmb3JtV2ViVmlldzsKICNlbGlmIFBMQVRGT1JNKFFUKQog
dHlwZWRlZiBRR3JhcGhpY3NXS1ZpZXcgUGxhdGZvcm1XZWJWaWV3OworI2VsaWYgUExBVEZPUk0o
R1RLKQorY2xhc3MgV2ViVmlldzsKK3R5cGVkZWYgV2ViVmlldyBQbGF0Zm9ybVdlYlZpZXc7CiAj
ZW5kaWYKIAogY2xhc3MgQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkgOiBwdWJsaWMgRHJh
d2luZ0FyZWFQcm94eSB7CkBAIC0xMDAsNiArMTA0LDkgQEAgcHJpdmF0ZToKICAgICBPd25QdHI8
SEJJVE1BUD4gbV9iYWNraW5nU3RvcmVCaXRtYXA7CiAjZWxpZiBQTEFURk9STShRVCkKICAgICBR
SW1hZ2UgbV9iYWNraW5nU3RvcmVJbWFnZTsKKyNlbGlmIFBMQVRGT1JNKEdUSykKKyAgICAvLyBi
YWNraW5nU3RvcmUKKyAgICBHZGtQaXhtYXAqIG1fYmFja2luZ1N0b3JlQml0bWFwOwogI2VuZGlm
CiAKICAgICBQbGF0Zm9ybVdlYlZpZXcqIG1fd2ViVmlldzsKZGlmZiAtLWdpdCBhL1dlYktpdDIv
VUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBiL1dlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdB
cmVhUHJveHkuaAppbmRleCBmMjgxMTYxLi40NzFhMDg1IDEwMDY0NAotLS0gYS9XZWJLaXQyL1VJ
UHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmgKKysrIGIvV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykgMjAxMCBB
cHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmlnaHQgKGMp
IDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgog
ICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0
aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhh
dCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTI3LDYgKzI4LDkgQEAKICNkZWZpbmUgRHJh
d2luZ0FyZWFQcm94eV9oCiAKICNpbmNsdWRlICJEcmF3aW5nQXJlYUJhc2UuaCIKKyNpZiBQTEFU
Rk9STShHVEspCisjaW5jbHVkZSA8Z3RrL2d0ay5oPgorI2VuZGlmCiAKICNpZiBQTEFURk9STShR
VCkKIGNsYXNzIFFQYWludGVyOwpAQCAtNDAsNiArNDQsOCBAQCB0eXBlZGVmIENHQ29udGV4dFJl
ZiBQbGF0Zm9ybURyYXdpbmdDb250ZXh0OwogdHlwZWRlZiBIREMgUGxhdGZvcm1EcmF3aW5nQ29u
dGV4dDsKICNlbGlmIFBMQVRGT1JNKFFUKQogdHlwZWRlZiBRUGFpbnRlciogUGxhdGZvcm1EcmF3
aW5nQ29udGV4dDsKKyNlbGlmIFBMQVRGT1JNKEdUSykKK3R5cGVkZWYgR2RrV2luZG93KiBQbGF0
Zm9ybURyYXdpbmdDb250ZXh0OwogI2VuZGlmCiAKIGNsYXNzIERyYXdpbmdBcmVhUHJveHkgOiBw
dWJsaWMgRHJhd2luZ0FyZWFCYXNlIHsKZGlmZiAtLWdpdCBhL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvZ3RrL1BsdWdpbkluZm9TdG9yZUd0ay5jcHAgYi9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVn
aW5zL2d0ay9QbHVnaW5JbmZvU3RvcmVHdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4
IDAwMDAwMDAuLjA0ZTM3ZGIKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL2d0ay9QbHVnaW5JbmZvU3RvcmVHdGsuY3BwCkBAIC0wLDAgKzEsNjcgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICog
UG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwg
cmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNl
IGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUg
cGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUg
bWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRo
ZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMg
YW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBi
aW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIg
aW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlk
ZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklE
RUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBB
TlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5E
IEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4g
Tk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFC
TEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExB
UlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1J
VEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsg
TE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJ
T04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhF
UiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBO
RUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhF
IFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJ
TElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisKKyNpbmNsdWRlICJQbHVnaW5JbmZvU3RvcmUu
aCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisjaW5jbHVkZSAiUGx1Z2luRGF0YWJh
c2UuaCIKKyNpbmNsdWRlICJQbHVnaW5QYWNrYWdlLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0
b3JlOjpwbHVnaW5zRGlyZWN0b3JpZXMoKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7Cit9CisKK1ZlY3RvcjxTdHJpbmc+IFBsdWdpbkluZm9T
dG9yZTo6cGx1Z2luUGF0aHNJbkRpcmVjdG9yeShjb25zdCBTdHJpbmcmIGRpcmVjdG9yeSkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOworfQor
CitWZWN0b3I8U3RyaW5nPiBQbHVnaW5JbmZvU3RvcmU6OmluZGl2aWR1YWxQbHVnaW5QYXRocygp
Cit7CisgICAgcmV0dXJuIFZlY3RvcjxTdHJpbmc+KCk7Cit9CisKK2Jvb2wgUGx1Z2luSW5mb1N0
b3JlOjpnZXRQbHVnaW5JbmZvKGNvbnN0IFN0cmluZyYgcGx1Z2luUGF0aCwgUGx1Z2luJiBwbHVn
aW4pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK2Jv
b2wgUGx1Z2luSW5mb1N0b3JlOjpzaG91bGRVc2VQbHVnaW4oY29uc3QgUGx1Z2luJiBwbHVnaW4s
IGNvbnN0IFZlY3RvcjxQbHVnaW4+JiBsb2FkZWRQbHVnaW5zKQoreworICAgIG5vdEltcGxlbWVu
dGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKZGlm
ZiAtLWdpdCBhL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oIGIvV2ViS2l0Mi9XZWJLaXQyUHJlZml4
LmgKaW5kZXggZWY5MTU3MC4uZTBmNjk4NCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJLaXQyUHJl
Zml4LmgKKysrIGIvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgKQEAgLTEsNSArMSw2IEBACiAvKgog
ICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAq
IFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxs
IHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJj
ZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJl
IHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMjMs
MTEgKzI0LDEzIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCiAgKi8KIAor
I2lmICFkZWZpbmVkIChCVUlMRElOR19HVEtfXykKICNpbmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4K
ICNpbmNsdWRlIDx3dGYvRGlzYWxsb3dDVHlwZS5oPgogI2lmZGVmIF9fY3BsdXNwbHVzCiAjaW5j
bHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNlbmRpZgorI2VuZGlmIC8qICFkZWZpbmVkIChCVUlM
RElOR19HVEtfXykgKi8KIAogI2lmZGVmIF9fY3BsdXNwbHVzCiAjZGVmaW5lIEVYVEVSTl9DX0JF
R0lOIGV4dGVybiAiQyIgewpAQCAtMTA3LDQgKzExMCw5IEBAIHN0YXRpYyBjb25zdCB0eXBlJiBu
YW1lKCkgXAogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9Db3JlR3JhcGhpY3MuaD4KICNlbmRpZgog
Ci0jZW5kaWYgLyogZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lOMzIpICovCisjZWxpZiBk
ZWZpbmVkKEJVSUxESU5HX0dUS19fKSAKKyNkZWZpbmUgSlNfRVhQT1JUREFUQQorI2RlZmluZSBK
U19FWFBPUlRDTEFTUworI2RlZmluZSBfX1NURENfRk9STUFUX01BQ1JPUworI2luY2x1ZGUgPFdl
YkNvcmUvY29uZmlnLmg+CisjZW5kaWYgLyogZGVmaW5lZChCVUlMRElOR19HVEtfXykgKi8KZGlm
ZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZS5oIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgK
aW5kZXggMzEzMmUxZC4uMDViZTI3NSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29w
eXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRp
b25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0
cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtNTEsNiArNTIs
OCBAQCB0eXBlZGVmIENGQnVuZGxlUmVmIFBsYXRmb3JtQnVuZGxlOwogdHlwZWRlZiBITU9EVUxF
IFBsYXRmb3JtQnVuZGxlOwogI2VsaWYgUExBVEZPUk0oUVQpCiB0eXBlZGVmIFFMaWJyYXJ5IFBs
YXRmb3JtQnVuZGxlOworI2VsaWYgUExBVEZPUk0oR1RLKQordHlwZWRlZiB2b2lkKiBQbGF0Zm9y
bUJ1bmRsZTsKICNlbmRpZgogCiBjbGFzcyBJbW11dGFibGVBcnJheTsKZGlmZiAtLWdpdCBhL1dl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsuY3Bw
IGIvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0
ay5jcHAKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNzAwZTAwMAotLS0gL2Rl
di9udWxsCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0
ZWRCdW5kbGVHdGsuY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIw
MTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0
IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMs
IHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVk
IHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0
cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQK
KyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcg
ZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJl
cHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1
bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJp
YnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBB
TkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBM
SUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElN
UExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFS
VElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQ
TEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1Qs
IElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFV
RU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVO
VCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEs
IE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VE
IEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1Qs
IFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVS
V0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRX
QVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFH
RS4KKyAqLworCisjaW5jbHVkZSAiSW5qZWN0ZWRCdW5kbGUuaCIKKworI2luY2x1ZGUgIk5vdElt
cGxlbWVudGVkLmgiCisjaW5jbHVkZSAiV0tCdW5kbGVBUElDYXN0LmgiCisjaW5jbHVkZSAiV0tC
dW5kbGVJbml0aWFsaXplLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJDb3JlOworCituYW1lc3Bh
Y2UgV2ViS2l0IHsKKworYm9vbCBJbmplY3RlZEJ1bmRsZTo6bG9hZCgpCit7CisgICAgcmV0dXJu
IGZhbHNlOworfQorCit2b2lkIEluamVjdGVkQnVuZGxlOjphY3RpdmF0ZU1hY0ZvbnRBc2NlbnRI
YWNrKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJL
aXQKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9O
ZXRzY2FwZVBsdWdpbkd0ay5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9ndGsvTmV0c2NhcGVQbHVnaW5HdGsuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAuLjhmZjQ2ZjAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9ndGsvTmV0c2NhcGVQbHVnaW5HdGsuY3BwCkBAIC0wLDAgKzEsOTggQEAK
Ky8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVk
LgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMu
ICBBbGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4g
c291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9u
LCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisg
KiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0
YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRp
dGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9u
cyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMg
cHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMg
UFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAq
IEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJ
VFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1F
RC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBC
RSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBF
WEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5P
VCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJW
SUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRF
UlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwg
V0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xV
RElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQg
T0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQ
T1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiTmV0c2NhcGVQbHVn
aW4uaCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBX
ZWJDb3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxh
dGZvcm1Qb3N0SW5pdGlhbGl6ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gdHJ1ZTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1EZXN0cm95KCkKK3sK
KyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9y
bUdlb21ldHJ5RGlkQ2hhbmdlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lk
IE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwg
Y29uc3QgSW50UmVjdCYgZGlydHlSZWN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisK
K05QRXZlbnQgdG9OUChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3sKKyAgICBOUEV2ZW50
IG5wRXZlbnQgPSBOUEV2ZW50KCk7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
bnBFdmVudDsKK30KKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVNb3VzZUV2
ZW50KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7
CisgICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFu
ZGxlV2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZv
cm1TZXRGb2N1cyhib29sKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wgTmV0
c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VFbnRlckV2ZW50KGNvbnN0IFdlYk1vdXNl
RXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7
Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VMZWF2ZUV2ZW50
KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxl
S2V5Ym9hcmRFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JikKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CmRp
ZmYgLS1naXQgYS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2Fk
ZXJDbGllbnQuY3BwIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1l
TG9hZGVyQ2xpZW50LmNwcAppbmRleCBjMzJlNWZlLi4wYTI4ZGE0IDEwMDY0NAotLS0gYS9XZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCisr
KyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVu
dC5jcHAKQEAgLTEsNSArMSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIElu
Yy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBN
b3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKICAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwpAQCAtMzAsNyArMzEsNiBAQAogCiAjaW5jbHVkZSAiSW5qZWN0
ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgogI2luY2x1ZGUgIlBsYXRmb3JtQ2VydGlmaWNh
dGVJbmZvLmgiCi0jaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlN0cmluZ1BhaXJW
ZWN0b3IuaCIKICNpbmNsdWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKICNpbmNsdWRlICJX
ZWJFcnJvcnMuaCIKQEAgLTYxLDYgKzYxLDcgQEAKICNpbmNsdWRlIDxXZWJDb3JlL1VJRXZlbnRX
aXRoS2V5U3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpZGdldC5oPgogI2luY2x1ZGUgPFdl
YkNvcmUvV2luZG93RmVhdHVyZXMuaD4KKyNpbmNsdWRlIDxXZWJLaXQyL1BsdWdpblZpZXcuaD4K
IAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIGIvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250
ZXh0LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uMWEyZDYxMQotLS0gL2Rl
di9udWxsCisrKyBiL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJh
bWVOZXR3b3JraW5nQ29udGV4dC5oCkBAIC0wLDAgKzEsNTEgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29w
eXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4g
UmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5
cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xs
b3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBt
dXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAg
ICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUg
ZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUg
SU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBP
UiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICog
VEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hB
TEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBE
SVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBD
T05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9D
VVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0Us
IERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIg
Q0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09O
VFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9S
IE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElT
IFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNI
IERBTUFHRS4KKyAqLworCisjaWZuZGVmIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHRfaAorI2Rl
ZmluZSBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0X2gKKworI2luY2x1ZGUgPFdlYkNvcmUvRnJh
bWVOZXR3b3JraW5nQ29udGV4dC5oPgorCitjbGFzcyBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0
IDogcHVibGljIFdlYkNvcmU6OkZyYW1lTmV0d29ya2luZ0NvbnRleHQgeworcHVibGljOgorICAg
IHN0YXRpYyBQYXNzUmVmUHRyPFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQ+IGNyZWF0ZShXZWJD
b3JlOjpGcmFtZSopCisgICAgeworICAgICAgICByZXR1cm4gMDsKKyAgICB9CisKK3ByaXZhdGU6
CisgICAgV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dChXZWJDb3JlOjpGcmFtZSogZnJhbWUpCisg
ICAgICAgIDogV2ViQ29yZTo6RnJhbWVOZXR3b3JraW5nQ29udGV4dChmcmFtZSkKKyAgICB7Cisg
ICAgfQorCisgICAgdmlydHVhbCBXVEY6OlN0cmluZyB1c2VyQWdlbnQoKSBjb25zdDsKKyAgICB2
aXJ0dWFsIFdURjo6U3RyaW5nIHJlZmVycmVyKCkgY29uc3Q7CisKKyAgICBXVEY6OlN0cmluZyBt
X3VzZXJBZ2VudDsKK307CisKKyNlbmRpZiAvLyBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0X2gK
ZGlmZiAtLWdpdCBhL1dlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4gYi9XZWJLaXQyL2d0ay93ZWJr
aXQyLnBjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlZWVlODAKLS0t
IC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCkBAIC0wLDAgKzEsMTEg
QEAKK3ByZWZpeD1AcHJlZml4QAorZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorbGliZGlyPUBs
aWJkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiBXZWJLaXQyCitEZXNjcmlw
dGlvbjogV2ViIGNvbnRlbnQgZW5naW5lIGZvciBHVEsrCitWZXJzaW9uOiBAVkVSU0lPTkAKK1Jl
cXVpcmVzOiBnbGliLTIuMCBndGsrLUBHVEtfQVBJX1ZFUlNJT05AIGxpYnNvdXAtMi40CitMaWJz
OiAtTCR7bGliZGlyfSAtbHdlYmtpdDJndGstQFdFQktJVEdUS19BUElfVkVSU0lPTkAKK0NmbGFn
czogLUkke2luY2x1ZGVkaXJ9L3dlYmtpdDItQFdFQktJVEdUS19BUElfVkVSU0lPTkAgCmRpZmYg
LS1naXQgYS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5w
bCBiL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCmlu
ZGV4IGVkNTg3MDIuLjk3ZjU3NDAgMTAwNzU1Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2Vu
ZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCisrKyBiL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2Vu
ZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsCkBAIC00Niw4ICs0NiwxOCBAQCBteSAkb3V0cHV0
RGlyZWN0b3J5ID0gJEFSR1ZbMF07CiBzaGlmdDsKIG15ICRwbGF0Zm9ybSAgPSAkQVJHVlswXTsK
IAorbXkgJG5ldHdvcms7CitpZiAoJHBsYXRmb3JtID1+ICJndGsiKSB7CisgICAgc2hpZnQ7Cisg
ICAgJG5ldHdvcmsgPSAkQVJHVlswXTsKK30KKwogZm9yZWFjaCBteSAkcHJlZml4IChAcGxhdGZv
cm1QcmVmaXhlcykgewotICAgIHB1c2goQHNraXBwZWRQcmVmaXhlcywgJHByZWZpeCkgdW5sZXNz
ICgkcHJlZml4ID1+ICRwbGF0Zm9ybSk7CisgICAgaWYgKCRwbGF0Zm9ybSA9fiAiZ3RrIikgewor
ICAgICAgICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9
fiAkcGxhdGZvcm0gb3IgJHByZWZpeCA9fiAkbmV0d29yayk7CisgICAgfSBlbHNlIHsKKyAgICAg
ICAgcHVzaChAc2tpcHBlZFByZWZpeGVzLCAkcHJlZml4KSB1bmxlc3MgKCRwcmVmaXggPX4gJHBs
YXRmb3JtKTsKKyAgICB9CiB9CiAKIGZvcmVhY2ggKEBmcmFtZXdvcmtzKSB7CmRpZmYgLS1naXQg
YS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUuYWMKaW5kZXggZGZmYmU3Ny4uZTAzODRjYyAxMDA2
NDQKLS0tIGEvY29uZmlndXJlLmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtODg0LDYgKzg4NCwy
OCBAQCBpZiB0ZXN0ICIkZW5hYmxlX3ZpZGVvIiA9ICJ5ZXMiOyB0aGVuCiAgICAgaHRtbF9mbGFn
cz15ZXMKIGZpCiAKKyMgV2ViS2l0MgorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxk
IFdlYmtpdDJdKQorQUNfQVJHX0VOQUJMRSh3ZWJraXQyLAorICAgICAgICAgICAgQUNfSEVMUF9T
VFJJTkcoWy0tZW5hYmxlLXdlYmtpdDJdLAorICAgICAgICAgICAgICAgIFtidWlsZCB3ZWJraXQy
IFtkZWZhdWx0PW5vXV0pLAorICAgICAgICAgICAgICAgIFtdLCBbZW5hYmxlX3dlYmtpdDI9Im5v
Il0pCitBQ19NU0dfUkVTVUxUKFskZW5hYmxlX3dlYmtpdDJdKQoraWYgdGVzdCAiJGVuYWJsZV93
ZWJraXQyIiA9ICJ5ZXMiOyB0aGVuCitBQ19ERUZJTkUoW0VOQUJMRV9XRUJLSVQyX0JVSUxEXSxb
MV0sW0RlZmluZSBpZiB3ZWJraXQyIGJ1aWxkIGlzIGVuYWJsZWRdKQorTElCV0VCS0lUR1RLX05B
TUU9IndlYmtpdDJndGsiCitMSUJXRUJLSVRHVEtfRElSPSJ3ZWJraXQyIgorZWxzZQorTElCV0VC
S0lUR1RLX05BTUU9IndlYmtpdGd0ayIKK0xJQldFQktJVEdUS19ESVI9IndlYmtpdCIKK2ZpCisj
IFdlIG1pZ2h0IG5lZWQgdG8gZGV0ZXJtaW5lIE5FVFdPUktfTUdSIGR5bmFtaWNhbGx5IGlmIHdl
IHdhbnQgdG8gc3VwcG9ydCBjVVJMIGFsc28gYXMgb3B0aW9uLgorIyBSaWdodCBub3cgd2UgYXJl
IG1ha2luZyBhc3N1bXB0aW9uIHRoYXQgbmV0d29yayBtYW5hZ2VyIHdvdWxkIGFsd2F5cyBiZSBz
b3VwLgorSFRUUF9TVEFDSz0ic291cCIKK0FDX1NVQlNUKFtIVFRQX1NUQUNLXSkKK0FDX1NVQlNU
KFtMSUJXRUJLSVRHVEtfTkFNRV0pCitBQ19TVUJTVChbTElCV0VCS0lUR1RLX0RJUl0pCisKIEdU
S19ET0NfQ0hFQ0soWzEuMTBdKQogCiAjIE9TIGNvbmRpdGlvbmFscwpAQCAtOTU4LDEzICs5ODAs
MTggQEAgQU1fQ09ORElUSU9OQUwoW0hUTUxfRkxBR1NdLFt0ZXN0ICIkaHRtbF9mbGFncyIgPSAi
eWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9TT0NLRVRTXSxbdGVzdCAiJGVuYWJs
ZV93ZWJfc29ja2V0cyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9USU1J
TkddLFt0ZXN0ICIkZW5hYmxlX3dlYl90aW1pbmciID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwo
W0VOQUJMRV9PUENPREVfU1RBVFNdLFt0ZXN0ICIkZW5hYmxlX29wY29kZV9zdGF0cyIgPSAieWVz
Il0pCitBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQktJVDJdLFt0ZXN0ICIkZW5hYmxlX3dlYmtp
dDIiID0gInllcyJdKQogCiAjIEd0ayBjb25kaXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFC
TEVfSU5UUk9TUEVDVElPTl0sW3Rlc3QgIiRlbmFibGVfaW50cm9zcGVjdGlvbiIgPSAieWVzIl0p
CiAKLQogQUNfQ09ORklHX0ZJTEVTKFsKIEdOVW1ha2VmaWxlCitdCispCisgCitpZiB0ZXN0ICIk
ZW5hYmxlX3dlYmtpdDIiID0gIm5vIjsgdGhlbgorQUNfQ09ORklHX0ZJTEVTKFsKIFdlYktpdC9n
dGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaAogV2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxlCiBX
ZWJLaXQvZ3RrL2RvY3MvdmVyc2lvbi54bWwKQEAgLTk3OCw2ICsxMDA1LDEzIEBAIFdlYktpdC9n
dGsvb3JnLndlYmtpdGd0ay0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ3NjaGVtYS54bWw6V2Vi
S2l0L2d0ay9vcmcud2ViCiBdCiAsW1dFQktJVEdUS19BUElfVkVSU0lPTj0kV0VCS0lUR1RLX0FQ
SV9WRVJTSU9OLFdFQktJVEdUS19QQ19OQU1FPSRXRUJLSVRHVEtfUENfTkFNRV0KICkKK2Vsc2UK
K0FDX0NPTkZJR19GSUxFUyhbCitXZWJLaXQyL2d0ay8ke1dFQktJVEdUS19QQ19OQU1FfTItJHtX
RUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOldlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4KK10KKyxb
V0VCS0lUR1RLX0FQSV9WRVJTSU9OPSRXRUJLSVRHVEtfQVBJX1ZFUlNJT04sV0VCS0lUR1RLX1BD
X05BTUU9JFdFQktJVEdUS19QQ19OQU1FXQorKQorZmkKIAogQUNfT1VUUFVUCiAKQEAgLTEwMzMs
NiArMTA2Nyw3IEBAIEdUSysgY29uZmlndXJhdGlvbjoKICBHREsgdGFyZ2V0ICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aXRoX3RhcmdldAogIEhpbGRv
biBVSSBleHRlbnNpb25zICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdp
dGhfaGlsZG9uCiAgSW50cm9zcGVjdGlvbiBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiAkZW5hYmxlX2ludHJvc3BlY3Rpb24KKyBXZWJLaXQyIHN1cHBvcnQgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfd2Via2l0Mgog
IgogaWYgdGVzdCAiJHdpdGhfdW5pY29kZV9iYWNrZW5kIiA9ICJnbGliIjsgdGhlbgogICAgZWNo
byAiICAgICA+PiBXQVJOSU5HOiB0aGUgZ2xpYi1iYXNlZCB1bmljb2RlIGJhY2tlbmQgaXMgc2xv
dyBhbmQgaW5jb21wbGV0ZSA8PCIK
</data>
<flag name="review"
          id="62408"
          type_id="1"
          status="-"
          setter="andersca"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72677</attachid>
            <date>2010-11-02 09:30:50 -0700</date>
            <delta_ts>2010-11-19 13:15:23 -0800</delta_ts>
            <desc>Makefile changes to building the WebKit2 GTK port</desc>
            <filename>Makefiles and WebCore files.patch</filename>
            <type>text/plain</type>
            <size>48179</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">SW5kZXg6IEdOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEdOVW1ha2VmaWxlLmFtCShyZXZp
c2lvbiA1MTcwNSkKKysrIEdOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1MTcxOSkKQEAgLTM0LDkg
KzM0LDExIEBACiBHRU5TT1VSQ0VTX0pBVkFTQ1JJUFRDT1JFIDo9ICQodG9wX2J1aWxkZGlyKS9E
ZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZQogR0VOU09VUkNFU19XRUJDT1JFIDo9ICQodG9w
X2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlCiBHRU5TT1VSQ0VTX1dFQktJVCA6PSAk
KHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvd2Via2l0CitHRU5TT1VSQ0VTX1dFQktJVDIg
Oj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIKIEdFTlBST0dSQU1TIDo9
ICQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcwogR0VOU09VUkNFU19JTlNQRUNUT1IgOj0gJChHRU5Q
Uk9HUkFNUykvcmVzb3VyY2VzL2luc3BlY3RvcgogV2ViQ29yZSA6PSAkKHNyY2RpcikvV2ViQ29y
ZQorV2ViS2l0MiA6PSAkKHNyY2RpcikvV2ViS2l0MgogCiAjIFByb2dyYW1zIHRvIHJ1biB0aGUg
V2ViS2l0R3RrIHVuaXQgdGVzdHMKIEdURVNURVIgPSBndGVzdGVyCkBAIC03Miw2ICs3NCwxMCBA
QAogd2Via2l0Z3RrX2dkb21fYnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X3NvdXJj
ZXMgOj0KIHdlYmtpdGd0a19idWlsdF9ub3NvdXJjZXMgOj0KK3dlYmtpdDJfaF9hcGkgOj0KK3dl
YmtpdDJfY3BwZmxhZ3MgOj0KK3dlYmtpdDJfc291cmNlcyA6PQord2Via2l0Ml9idWlsdF9zb3Vy
Y2VzIDo9CiBnbG9iYWxfY3BwZmxhZ3MgOj0KIGdsb2JhbF9jZmxhZ3MgOj0KIGdsb2JhbF9jeHhm
bGFncyA6PQpAQCAtMTExLDcgKzExNyw3IEBACiAKICMgU2hhcmVkIGxpYnJhcmllcwogbGliX0xU
TElCUkFSSUVTICs9IFwKLQlsaWJ3ZWJraXRndGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lP
TkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEKKwlsaWJATElCV0VCS0lUR1RLX05B
TUVALUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZF
UlNJT05ALmxhCiAKICMgQ29udmVuaWVuY2UgbGlicmFyaWVzCiBub2luc3RfTFRMSUJSQVJJRVMg
Kz0gXApAQCAtMTIzLDcgKzEyOSw3IEBACiBub2Rpc3RfbGliSmF2YVNjcmlwdENvcmVfbGFfU09V
UkNFUyA9IFwKIAkkKGphdmFzY3JpcHRjb3JlX2J1aWx0X3NvdXJjZXMpCiAKLWxpYkphdmFTY3Jp
cHRDb3JlX2xhZGlyID0gJChwcmVmaXgpL2luY2x1ZGUvd2Via2l0LUBXRUJLSVRHVEtfQVBJX1ZF
UlNJT05AL0phdmFTY3JpcHRDb3JlCitsaWJKYXZhU2NyaXB0Q29yZV9sYWRpciA9ICQocHJlZml4
KS9pbmNsdWRlL0BMSUJXRUJLSVRHVEtfRElSQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC9KYXZh
U2NyaXB0Q29yZQogbGliSmF2YVNjcmlwdENvcmVfbGFfSEVBREVSUyA9ICQoamF2YXNjcmlwdGNv
cmVfaF9hcGkpCiAKIGxpYkphdmFTY3JpcHRDb3JlX2xhX1NPVVJDRVMgPSBcCkBAIC0xNTAsNTEg
KzE1Niw0MiBAQAogCSQoamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MpCiAKICMgV2ViS2l0Ci1ub2Rp
c3RfRVhUUkFfbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJL
SVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCitub2Rpc3RfRVhUUkFfbGli
QExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lU
R1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAogCSQod2ViY29yZV9idWlsdF9u
b3NvdXJjZXMpCiAKLW5vZGlzdF9saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVS
U0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwKK25vZGlz
dF9saWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCiAJJCh3ZWJjb3JlX2J1
aWx0X3NvdXJjZXMpIFwKLQkkKHdlYmtpdGd0a19idWlsdF9zb3VyY2VzKQorCSQod2Via2l0Z3Rr
X2J1aWx0X3NvdXJjZXMpIFwKKwkkKHdlYmtpdDJfYnVpbHRfc291cmNlcykKIAotbGlid2Via2l0
Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZF
UlNJT05AX2xhZGlyID0gJChwcmVmaXgpL2luY2x1ZGUvd2Via2l0LUBXRUJLSVRHVEtfQVBJX1ZF
UlNJT05AL3dlYmtpdAotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05A
X0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0hFQURFUlMgPSBcCi0JJCh3ZWJraXRn
dGtfc3RhdGljX2hfYXBpKQorbGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9N
QUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYWRpciA9ICQocHJl
Zml4KS9pbmNsdWRlL0BMSUJXRUJLSVRHVEtfRElSQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC9A
TElCV0VCS0lUR1RLX0RJUkAKK2xpYkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdFQktJVEdUS19BUElf
TUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfSEVBREVSUyA9
IFwKKwkkKHdlYmtpdGd0a19zdGF0aWNfaF9hcGkpIFwKKwkkKHdlYmtpdDJfaF9hcGkpCiAKLW5v
ZGlzdF9saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdU
S19BUElfTUlOT1JfVkVSU0lPTkBfbGFfSEVBREVSUyA9IFwKLQkkKHdlYmtpdGd0a19idWlsdF9o
X2FwaSkgXAotCVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdGVudW10eXBlcy5oCi0KLWxpYndlYmtp
dGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9W
RVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorbGliQExJQldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RL
X0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VS
Q0VTID0gXAogCSQod2ViY29yZV9zb3VyY2VzKSBcCiAJJCh3ZWJjb3JlZ3RrX3NvdXJjZXMpIFwK
LQkkKHdlYmtpdGd0a19zb3VyY2VzKQorCSQod2Via2l0Z3RrX3NvdXJjZXMpIFwKKwkkKHdlYmtp
dDJfc291cmNlcykKIAotbGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05A
X0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NYWEZMQUdTID0gXAorbGliQExJQldF
QktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQ
SV9NSU5PUl9WRVJTSU9OQF9sYV9DWFhGTEFHUyA9IFwKIAkkKGdsb2JhbF9jeHhmbGFncykKIAot
bGlid2Via2l0Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJ
X01JTk9SX1ZFUlNJT05AX2xhX0NGTEFHUyA9IFwKK2xpYkBMSUJXRUJLSVRHVEtfTkFNRUBfQFdF
QktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBf
bGFfQ0ZMQUdTID0gXAogCSQoZ2xvYmFsX2NmbGFncykKIAogIyBXaGVuIGJ1aWxkaW5nIFdlYkNv
cmUvV2ViS2l0LCB3ZSB3YW50IFdlYkNvcmUvY29uZmlnLmggYW5kIE5PVCBKYXZhU2NyaXB0Q29y
ZS9jb25maWcuaCwKICMgaGVuY2UsIGl0J3MgaW1wb3J0YW50IHRoYXQgV2ViQ29yZS8gc2hvdWxk
IGNvbWUgZmlyc3QgYmVmb3JlIEphdmFTY3JpcHRDb3JlIGluIHRoZQogIyBpbmNsdWRlIHBhdGgu
Ci1saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19B
UElfTUlOT1JfVkVSU0lPTkBfbGFfQ1BQRkxBR1MgPSBcCitsaWJATElCV0VCS0lUR1RLX05BTUVA
X0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJ
T05AX2xhX0NQUEZMQUdTID0gXAogCS1EQlVJTERJTkdfV0VCS0lUIFwKIAktRFBBQ0tBR0VfTE9D
QUxFX0RJUj1cIiQobG9jYWxlZGlyKVwiIFwKIAktRERBVEFfRElSPVwiJHtkYXRhZGlyfVwiIFwK
LQktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQgXAotCS1JJChzcmNkaXIp
L1dlYkNvcmUvYmluZGluZ3MgXAotCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ29iamVj
dCBcCi0JLUkkKHNyY2RpcikvV2ViS2l0L2d0ayBcCi0JLUkkKHNyY2RpcikvV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydCBcCi0JLUkkKHNyY2RpcikvV2ViS2l0L2d0ay93ZWJraXQgXAotCS1JJCh0
b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsgXAotCS1JJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsv
d2Via2l0IFwKLQktSSQoR0VOU09VUkNFU19XRUJLSVQpIFwKIAkkKGdsb2JhbF9jcHBmbGFncykg
XAogCSQod2ViY29yZV9jcHBmbGFncykgXAogCSQod2ViY29yZWd0a19jcHBmbGFncykgXAorCSQo
d2Via2l0Ml9jcHBmbGFncykgXAogCSQoamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MpIFwKIAktZm5v
LXN0cmljdC1hbGlhc2luZyBcCiAJJChISUxET05fQ1BQRkxBR1MpIFwKQEAgLTIxNSwxNiArMjEy
LDE2IEBACiAKICMgRm9yIHRoZSBHdGsgcG9ydCB3ZSB3YW50IHRvIHVzZSBYUF9VTklYIGJvdGgg
aW4gWDExIGFuZCBNYWMKIGlmICFUQVJHRVRfV0lOMzIKLWxpYndlYmtpdGd0a19AV0VCS0lUR1RL
X0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DUFBG
TEFHUyArPSBcCitsaWJATElCV0VCS0lUR1RLX05BTUVAX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTICs9IFwKIAkt
RFhQX1VOSVgKIGVuZGlmCiAKLWxpYndlYmtpdGd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJT
SU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MREZMQUdTID0gXAorbGliQExJ
QldFQktJVEdUS19OQU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RL
X0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MREZMQUdTID0gXAogCS12ZXJzaW9uLWluZm8gQExJQldF
QktJVEdUS19WRVJTSU9OQCBcCiAJJCh2ZXJzaW9uX3NjcmlwdCkgXAogCSQobm9fdW5kZWZpbmVk
KQogCi1saWJ3ZWJraXRndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdU
S19BUElfTUlOT1JfVkVSU0lPTkBfbGFfTElCQUREID0gXAorbGliQExJQldFQktJVEdUS19OQU1F
QF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJT
SU9OQF9sYV9MSUJBREQgPSBcCiAJLWxwdGhyZWFkIFwKIAlsaWJKYXZhU2NyaXB0Q29yZS5sYSBc
CiAJJCh3ZWJjb3JlX2xkZmxhZ3MpIFwKQEAgLTI1MSw2ICsyNDgsMzAgQEAKIAkkKFNITFdBUElf
TElCUykgXAogCSQoT0xFMzJfTElCUykKIAorIyBXZWJLaXQgb3IgV2ViS2l0MiBzcGVjaWZpYyBh
ZGRpdGlvbnMgdG8gdGhlIHRhcmdldHMKK2lmIEVOQUJMRV9XRUJLSVQyCisjIFdlYktpdDIKK3Br
Z2NvbmZpZ2RpciA9ICQobGliZGlyKS9wa2djb25maWcKK3BrZ2NvbmZpZ19EQVRBID0gV2ViS2l0
Mi9ndGsvQFdFQktJVEdUS19QQ19OQU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5wYworCitl
bHNlICAjRU5BQkxFX1dFQktJVDIKKyMgV2ViS2l0Citub2Rpc3RfbGliQExJQldFQktJVEdUS19O
QU1FQF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9W
RVJTSU9OQF9sYV9IRUFERVJTID0gXAorCSQod2Via2l0Z3RrX2J1aWx0X2hfYXBpKSBcCisJV2Vi
S2l0L2d0ay93ZWJraXQvd2Via2l0ZW51bXR5cGVzLmgKKworbGliQExJQldFQktJVEdUS19OQU1F
QF9AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJT
SU9OQF9sYV9DUFBGTEFHUyArPSBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMv
d2Via2l0IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzIFwKKwktSSQoc3JjZGlyKS9X
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QgXAorCS1JJChzcmNkaXIpL1dlYktpdC9ndGsgXAorCS1J
JChzcmNkaXIpL1dlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dlYktp
dC9ndGsvd2Via2l0IFwKKwktSSQodG9wX2J1aWxkZGlyKS9XZWJLaXQvZ3RrIFwKKwktSSQodG9w
X2J1aWxkZGlyKS9XZWJLaXQvZ3RrL3dlYmtpdCBcCisJLUkkKEdFTlNPVVJDRVNfV0VCS0lUKQor
ZW5kaWYgI0VOQUJMRV9XRUJLSVQyCisKICMKICMgRXh0cmEgY2hlY2tzIGFuZCBmbGFncwogZ2xv
YmFsX2NwcGZsYWdzICs9IFwKQEAgLTMwNyw2ICszMjgsNyBAQAogCS1ER0NDX0lOU1RSVU1FTlRf
UFJPR1JBTV9GTE9XX0FSQ1MKIGVuZGlmCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogd2Via2l0Z3Rr
X3N0YXRpY19oX2FwaSArPSBcCiAJJChzcmNkaXIpL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmggXAogCSQoc3JjZGlyKS9XZWJLaXQvZ3RrL3dl
YmtpdC93ZWJraXQuaCBcCkBAIC00MDYsNyArNDI4LDcgQEAKIEpTQ09SRV9HSVJTT1VSQ0VTICs9
IEpTQ29yZS1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5naXIKIFdFQktJVF9HSVJTT1VSQ0VTICs9
IFdlYktpdC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5naXIKIAotJChXRUJLSVRfR0lSU09VUkNF
Uyk6ICQoR19JUl9TQ0FOTkVSKSAkKEpTQ09SRV9HSVJTT1VSQ0VTKSBsaWJ3ZWJraXRndGstQFdF
QktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkAu
bGEKKyQoV0VCS0lUX0dJUlNPVVJDRVMpOiAkKEdfSVJfU0NBTk5FUikgJChKU0NPUkVfR0lSU09V
UkNFUykgbGliQExJQldFQktJVEdUS19OQU1FQC1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9O
QC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYQogCSQoQU1fVl9HRU4pJChHX0lSX1ND
QU5ORVIpIC12IC0td2Fybi1hbGwgXAogCSAgICAgLS1zeW1ib2wtcHJlZml4PXdlYmtpdCBcCiAJ
ICAgICAtLWlkZW50aWZpZXItcHJlZml4PVdlYktpdCBcCkBAIC01MzgsOSArNTYwLDEwIEBACiAJ
JChzcmNkaXIpL1dlYktpdC9ndGsvdGVzdHMvcmVzb3VyY2VzLyogXAogCSQoc3JjZGlyKS9XZWJL
aXQvZ3RrL3Rlc3RzL3Rlc3RfdXRpbHMuaCBcCiAJJChzcmNkaXIpL1dlYktpdC9ndGsvb3JnLndl
YmtpdGd0ay5nc2NoZW1hLnhtbC5pbgorZW5kaWYgICMhRU5BQkxFX1dFQktJVDIKIAogIyBleHRy
YSByZXNvdXJjZSBmaWxlcwotcmVzb3VyY2VzZGlyID0gJHtkYXRhZGlyfS93ZWJraXQtQFdFQktJ
VEdUS19BUElfVkVSU0lPTkAvcmVzb3VyY2VzCityZXNvdXJjZXNkaXIgPSAke2RhdGFkaXJ9L0BM
SUJXRUJLSVRHVEtfRElSQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC9yZXNvdXJjZXMKIGRpc3Rf
cmVzb3VyY2VzX0RBVEEgPSBcCiAJJChzaGVsbCBscyAkKHNyY2RpcikvV2ViS2l0L2d0ay9yZXNv
dXJjZXMvKi5odG1sKQogCkBAIC01NDksNiArNTcyLDEzIEBACiAjIEluY2x1ZGUgbW9kdWxlIG1h
a2VmaWxlcwogaW5jbHVkZSBKYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBX
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisKKyMgSW5jbHVkZSBtb2R1bGUgbWFrZWZpbGVzIGJhc2Vk
IG9uIGJ1aWxkIHN5c3RlbQoraWYgRU5BQkxFX1dFQktJVDIKK2luY2x1ZGUgV2ViS2l0Mi9HTlVt
YWtlZmlsZS5hbQoraW5jbHVkZSBXZWJLaXRUb29scy9NaW5pQnJvd3Nlci9ndGsvR05VbWFrZWZp
bGUuYW0KKworZWxzZSAgI0VOQUJMRV9XRUJLSVQyCiBpbmNsdWRlIFdlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXRUb29scy9HTlVtYWtlZmlsZS5h
bQogaW5jbHVkZSBXZWJLaXQvZ3RrL3BvL0dOVW1ha2VmaWxlLmFtCkBAIC01NzIsNyArNjAyLDcg
QEAKIAkkKExJQlNPVVBfQ0ZMQUdTKQogCiB3ZWJraXRfdGVzdHNfbGRhZGQgPSBcCi0JbGlid2Vi
a2l0Z3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9S
X1ZFUlNJT05ALmxhIFwKKwlsaWJATElCV0VCS0lUR1RLX05BTUVALUBXRUJLSVRHVEtfQVBJX01B
Sk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05ALmxhIFwKIAkkKEdUS19M
SUJTKSBcCiAJJChHTElCX0xJQlMpIFwKIAkkKExJQlNPVVBfTElCUykKQEAgLTcyMSwxMyArNzUx
LDI3IEBACiAJLUkkKHNyY2RpcikvV2ViQ29yZQogUHJvZ3JhbXNfdW5pdHRlc3RzX3Rlc3Rjb3B5
YW5kcGFzdGVfTERBREQgPSAkKHdlYmtpdF90ZXN0c19sZGFkZCkKIFByb2dyYW1zX3VuaXR0ZXN0
c190ZXN0Y29weWFuZHBhc3RlX0xERkxBR1MgPSAkKHdlYmtpdF90ZXN0c19sZGZsYWdzKQorZW5k
aWYgICNFTkFCTEVfV0VCS0lUMgogCiAjIEF1dG9nZW5lcmF0ZWQgc291cmNlcwogQlVJTFRfU09V
UkNFUyArPSBcCiAJJChqYXZhc2NyaXB0Y29yZV9idWlsdF9zb3VyY2VzKSBcCiAJJChqYXZhc2Ny
aXB0Y29yZV9idWlsdF9ub3NvdXJjZXMpIFwKIAkkKHdlYmNvcmVfYnVpbHRfc291cmNlcykgXAot
CSQod2ViY29yZV9idWlsdF9ub3NvdXJjZXMpIFwKKwkkKHdlYmNvcmVfYnVpbHRfbm9zb3VyY2Vz
KQorCitpZiBFTkFCTEVfV0VCS0lUMgorQ0xFQU5GSUxFUyArPSBcCisJJChCVUlMVF9TT1VSQ0VT
KSBcCisJJCh0b3BfYnVpbGRkaXIpL1dlYktpdDIvZ3RrL0BXRUJLSVRHVEtfUENfTkFNRUAtQFdF
QktJVEdUS19BUElfVkVSU0lPTkAucGMKKworRElTVENMRUFORklMRVMgKz0gXAorCSQoQ0xFQU5G
SUxFUykgXAorCSQoYnVpbGRkaXIpL2RvbHRjb21waWxlIFwKKwkkKGJ1aWxkZGlyKS9kb2x0bGli
dG9vbAorCitlbHNlICNFTkFCTEVfV0VCS0lUMgorQlVJTFRfU09VUkNFUyArPSBcCiAJJCh3ZWJr
aXRndGtfYnVpbHRfc291cmNlcykgXAogCSQod2Via2l0Z3RrX2J1aWx0X25vc291cmNlcykKIApA
QCAtNzUwLDYgKzc5NCw3IEBACiAJJCh0b3BfYnVpbGRkaXIpL1dlYktpdC9ndGsvQFdFQktJVEdU
S19QQ19OQU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5wYyBcCiAJJCh0b3BfYnVpbGRkaXIp
L1dlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaCBcCiAJJCh0b3BfYnVpbGRkaXIpL1dl
YktpdC9ndGsvb3JnLndlYmtpdGd0ay1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5nc2NoZW1hLnht
bAorZW5kaWYgI0VOQUJMRV9XRUJLSVQyCiAKIE1BSU5UQUlORVJDTEVBTkZJTEVTICs9IFwKIAkk
KENMRUFORklMRVMpIFwKQEAgLTc2NywxMCArODEyLDEyIEBACiAJJChzcmNkaXIpL1JFQURNRSBc
CiAJJCh0b3BfYnVpbGRkaXIpL2NvbmZpZy4qCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogIyBPbGRl
ciBhdXRvbWFrZSB2ZXJzaW9ucyAoMS43KSBwbGFjZSBQbG8gZmlsZXMgaW4gYSBkaWZmZXJlbnQg
cGxhY2Ugc28gd2UgbmVlZAogIyB0byBjcmVhdGUgdGhlIG91dHB1dCBkaXJlY3RvcnkgbWFudWFs
bHkuCiBhbGwtbG9jYWw6IHN0YW1wLXBvCiAJJChta2Rpcl9wKSAkKHRvcF9idWlsZGRpcikvJChE
RVBESVIpL0Rlcml2ZWRTb3VyY2VzCitlbmRpZiAjIUVOQUJMRV9XRUJLSVQyCiAKICMgcmVtb3Zl
IGJ1aWx0IHNvdXJjZXMgYW5kIHByb2dyYW0gZGlyZWN0b3JpZXMKIGNsZWFuLWxvY2FsOgpAQCAt
NzgxLDYgKzgyOCw3IEBACiBkaXN0Y2xlYW4tbG9jYWw6CiAJLXJtIC1yZiAkKEdFTlNPVVJDRVMp
ICQoR0VOUFJPR1JBTVMpCiAKK2lmICFFTkFCTEVfV0VCS0lUMgogZGlzdC1ob29rOgogCWNwICQo
c3JjZGlyKS9XZWJLaXQvZ3RrL05FV1MgJChkaXN0ZGlyKQogCkBAIC04MDksMyArODU3LDQgQEAK
IAogLlBIT05ZOiB0ZXN0IHRlc3QtcmVwb3J0IHBlcmYtcmVwb3J0IGZ1bGwtcmVwb3J0CiBjaGVj
ay1sb2NhbDogdGVzdAorZW5kaWYgIyAhRU5BQkxFX1dFQktJVDIKSW5kZXg6IFdlYkNvcmUvQ2hh
bmdlTG9nCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTcwNSkK
KysrIFdlYkNvcmUvQ2hhbmdlTG9nCShyZXZpc2lvbiA1MTcxOSkKQEAgLTEsMyArMSwxNiBAQAor
MjAxMC0xMC0yOCAgQW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9sYS5jb20+IGFuZCBSYXZp
IEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1
aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0CisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09Q
UyEpCisgICAgICAgIE5vIG5ldyBmdW5jdGlvbmFsaXR5IGFkZGVkIG9yIGRlbGV0ZWQuIE9ubHkg
bWFrZWZpbGUgY2hhbmdlLiBIZW5jZSwgbm8gdGVzdHMgYWRkZWQuCisKKyAgICAgICAgKiBHTlVt
YWtlZmlsZS5hbTogQ2hhbmdlcyB0byBlbmFibGUgZGlzYWJsZSBidWlsZGluZyBvZiBXZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3Qgd2hlbiBidWlsZGluZyBXZWJLaXQyLgorICAgICAgICAqIHBsYXRm
b3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oOiBSZW1vdmUgaW5jbHVk
ZSA8d2Via2l0L3dlYmtpdGRlZmluZXMuaD4gYW5kIGRlY2xhcmUgV0VCS0lUX0FQSSBkaXJlY3Rs
eQorCiAyMDEwLTEwLTI3ICBBZGFtIFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAg
ICBPbmx5IGRlY29tcHJlc3MgcGl4ZWwgYnVmZmVycyB3aGVuIG5lZWRlZCAoYW5kIGZpeCBhIGNy
YXNoIGluIHRoZQpJbmRleDogV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBX
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA1MTcwNSkKKysrIFdlYkNvcmUvR05VbWFr
ZWZpbGUuYW0JKHJldmlzaW9uIDUxNzE5KQpAQCAtNywxMCArNywxMCBAQAogd2ViY29yZV9jcHBm
bGFncyArPSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9h
Y2Nlc3NpYmlsaXR5IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzIFwKIAktSSQoc3Jj
ZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmlu
ZGluZ3MvanMgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvanMvc3BlY2lhbGl6YXRp
b24gXAotCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdCBcCiAJLUkkKHNyY2Rp
cikvV2ViQ29yZS9icmlkZ2UgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlL2MgXAogCS1J
JChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MgXApAQCAtNzAsNiArNzAsMTEgQEAKIAkt
SSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZSBcCiAJLUREQVRB
X0RJUj1cIiR7ZGF0YWRpcn1cIgogCitpZiAhRU5BQkxFX1dFQktJVDIKK3dlYmNvcmVfY3BwZmxh
Z3MgKz0gXAorCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdAorZW5kaWYKKwog
d2ViY29yZWd0a19jcHBmbGFncyArPSBcCiAJLURXRUJLSVRHVEtfQVBJX1ZFUlNJT05fU1RSSU5H
PVwiQFdFQktJVEdUS19BUElfVkVSU0lPTkBcIiBcCiAJLURXVEZfVVNFX1NPVVA9MSBcCkBAIC02
MzUsMTkgKzY0MCw2IEBACiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0dlbmVyaWNCaW5kaW5n
LmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNw
cCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBc
Ci0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKLQlX
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5oIFwKLQlXZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwIFwKLQlXZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuaCBcCi0JV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvV2ViS2l0RE9NQmluZGluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NRXZlbnRUYXJnZXQuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9N
RXZlbnRUYXJnZXQuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50
VGFyZ2V0UHJpdmF0ZS5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2Jq
ZWN0LmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5oIFwK
LQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9y
eS5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBw
ZXJGYWN0b3J5LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJv
dmlkZXIuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01PYmplY3RIYXNoVGFibGVNYXAuY3Bw
IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0RPTU9iamVjdEhhc2hUYWJsZU1hcC5oIFwKQEAgLTM0
NTEsNiArMzQ0MywyMyBAQAogCVdlYkNvcmUveG1sL1hTTFRVbmljb2RlU29ydC5jcHAgXAogCVdl
YkNvcmUveG1sL1hTTFRVbmljb2RlU29ydC5oCiAKK2lmICFFTkFCTEVfV0VCS0lUMgord2ViY29y
ZV9zb3VyY2VzICs9IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0
cmluZy5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5n
LmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5jcHAg
XAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5oIFwKKwlX
ZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAgXAorCVdlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmggXAorCVdlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29i
amVjdC9XZWJLaXRET01FdmVudFRhcmdldC5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlLmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01PYmplY3QuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NT2JqZWN0LmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVu
dFdyYXBwZXJGYWN0b3J5LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhU
TUxFbGVtZW50V3JhcHBlckZhY3RvcnkuaAorZW5kaWYKKwogd2ViY29yZWd0a19zb3VyY2VzICs9
IFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RBdGsuY3Bw
IFwKIAlXZWJDb3JlL2FjY2Vzc2liaWxpdHkvZ3RrL0FjY2Vzc2liaWxpdHlPYmplY3RXcmFwcGVy
QXRrLmNwcCBcCkBAIC0zNjU1LDcgKzM2NjQsNiBAQAogCVdlYkNvcmUvcGxhdGZvcm0vdGV4dC9n
dGsvVGV4dEJyZWFrSXRlcmF0b3JHdGsuY3BwCiBlbmRpZgogCi0KICMgLS0tCiAjIENoYW5uZWwg
bWVzYWdpbmcgc3VwcG9ydAogIyAtLS0KSW5kZXg6IFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9wbGF0
Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaAkocmV2aXNpb24gNTE3
MDUpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1j
YWNoZS5oCShyZXZpc2lvbiA1MTcxOSkKQEAgLTMsNiArMyw3IEBACiAgKiBzb3VwLWNhY2hlLmg6
CiAgKgogICogQ29weXJpZ2h0IChDKSAyMDA5LCAyMDEwIElnYWxpYSwgUy5MLgorICogUG9ydGlv
bnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBFeGNlcHQgYXMg
cHJvdmlkZWQgYmVsb3csIGFsbCByaWdodHMgcmVzZXJ2ZWQuCiAgKgogICogVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgogICogbW9k
aWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMK
QEAgLTIzLDEzICsyNCw4IEBACiAjaWZuZGVmIFdFQktJVF9TT1VQX0NBQ0hFX0gKICNkZWZpbmUg
V0VCS0lUX1NPVVBfQ0FDSEVfSCAxCiAKLSNpZiBCVUlMRElOR19HVEtfXwotI2luY2x1ZGUgPHdl
YmtpdC93ZWJraXRkZWZpbmVzLmg+Ci0jZWxzZQotI2lmbmRlZiBXRUJLSVRfQVBJCi0jZGVmaW5l
IFdFQktJVF9BUEkKLSNlbmRpZgotI2VuZGlmCisjZGVmaW5lIFdFQktJVF9BUEkgX19hdHRyaWJ1
dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKKyNkZWZpbmUgV0VCS0lUX09CU09MRVRFX0FQ
SSBXRUJLSVRfQVBJIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKQogCiAjaW5jbHVkZSA8bGli
c291cC9zb3VwLXR5cGVzLmg+CiAjaW5jbHVkZSA8Z2lvL2dpby5oPgpJbmRleDogQ2hhbmdlTG9n
Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT0KLS0tIENoYW5nZUxvZwkocmV2aXNpb24gNTE3MDUpCisrKyBDaGFuZ2VMb2cJ
KHJldmlzaW9uIDUxNzE5KQpAQCAtMSwzICsxLDI0IEBACisyMDEwLTEwLTI4ICBBbXJ1dGggUmFq
ICA8YW1ydXRocmFqQG1vdG9yb2xhLmNvbT4gYW5kIFJhdmkgS2FzaWJoYXRsYSAgPHJhdmkua2Fz
aWJoYXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hhbmdlcyB0byBlbmFibGUgYnVpbGRpbmcgV2ViS2l0MiBmb3IgR3Rr
IHBvcnQuCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzczNjkpCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQ2hhbmdlcyB0byBidWlsZCBlaXRo
ZXIgb2YgV2ViS2l0MSBvciBXZWJLaXQyLgorICAgICAgICBJdCBiYXNpY2FsbHkgZXhjbHVkZXMg
YWxsIFdlYktpdC9ndGsvd2Via2l0LyBmaWxlcyB3aGVuIGJ1aWxkaW5nIFdlYktpdDIuCisgICAg
ICAgIEFsc28sIGV4bHVkZXMgVW5pdHRlc3RzLCBEdW1wcmVuZGVyVHJlZSwgR3RrTGF1bmNoZXIg
ZXRjIGZvciBXZWJLaXQyLgorICAgICAgICAqIGNvbmZpZ3VyZS5hYzogT3B0aW9uIGZvciBlbmFi
bGUgb3IgZGlzYWJsZSBXZWJLaXQyLgorCiAyMDEwLTEwLTI2ICBBbnRvbmlvIEdvbWVzICA8YWdv
bWVzQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgpJbmRl
eDogY29uZmlndXJlLmFjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNvbmZpZ3VyZS5hYwkocmV2aXNpb24gNTE3
MDUpCisrKyBjb25maWd1cmUuYWMJKHJldmlzaW9uIDUxNzE5KQpAQCAtODg0LDYgKzg4NCwzMCBA
QAogICAgIGh0bWxfZmxhZ3M9eWVzCiBmaQogCisjIFdlYktpdDIKK0FDX01TR19DSEVDS0lORyhb
d2hldGhlciB0byBidWlsZCBXZWJraXQyXSkKK0FDX0FSR19FTkFCTEUod2Via2l0MiwKKyAgICAg
ICAgICAgIEFDX0hFTFBfU1RSSU5HKFstLWVuYWJsZS13ZWJraXQyXSwKKyAgICAgICAgICAgICAg
ICBbYnVpbGQgd2Via2l0MiBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgICBbXSwgW2Vu
YWJsZV93ZWJraXQyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV93ZWJraXQyXSkKK2lm
IHRlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAieWVzIjsgdGhlbgorQUNfREVGSU5FKFtFTkFCTEVf
V0VCS0lUMl9CVUlMRF0sWzFdLFtEZWZpbmUgaWYgd2Via2l0MiBidWlsZCBpcyBlbmFibGVkXSkK
K0xJQldFQktJVEdUS19OQU1FPSJ3ZWJraXQyZ3RrIgorTElCV0VCS0lUR1RLX0RJUj0id2Via2l0
MiIKK1dFQktJVEdUS19QQ19OQU1FPSR7V0VCS0lUR1RLX1BDX05BTUV9MgorZWxzZQorTElCV0VC
S0lUR1RLX05BTUU9IndlYmtpdGd0ayIKK0xJQldFQktJVEdUS19ESVI9IndlYmtpdCIKK2ZpCisj
IFdlIG1pZ2h0IG5lZWQgdG8gZGV0ZXJtaW5lIE5FVFdPUktfTUdSIGR5bmFtaWNhbGx5IGlmIHdl
IHdhbnQgdG8gc3VwcG9ydCBjVVJMIGFsc28gYXMgb3B0aW9uLgorIyBSaWdodCBub3cgd2UgYXJl
IG1ha2luZyBhc3N1bXB0aW9uIHRoYXQgbmV0d29yayBtYW5hZ2VyIHdvdWxkIGFsd2F5cyBiZSBz
b3VwLgorSFRUUF9TVEFDSz0ic291cCIKK0FDX1NVQlNUKFtIVFRQX1NUQUNLXSkKK0FDX1NVQlNU
KFtMSUJXRUJLSVRHVEtfTkFNRV0pCitBQ19TVUJTVChbTElCV0VCS0lUR1RLX0RJUl0pCitBQ19T
VUJTVChbV0VCS0lUR1RLX1BDX05BTUVdKQorCiBHVEtfRE9DX0NIRUNLKFsxLjEwXSkKIAogIyBP
UyBjb25kaXRpb25hbHMKQEAgLTk1OCwxMyArOTgyLDE4IEBACiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX1dFQl9TT0NLRVRTXSxbdGVzdCAiJGVuYWJsZV93ZWJfc29ja2V0cyIgPSAieWVzIl0pCiBB
TV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9USU1JTkddLFt0ZXN0ICIkZW5hYmxlX3dlYl90aW1p
bmciID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9PUENPREVfU1RBVFNdLFt0ZXN0
ICIkZW5hYmxlX29wY29kZV9zdGF0cyIgPSAieWVzIl0pCitBTV9DT05ESVRJT05BTChbRU5BQkxF
X1dFQktJVDJdLFt0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyJdKQogCiAjIEd0ayBjb25k
aXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSU5UUk9TUEVDVElPTl0sW3Rlc3QgIiRl
bmFibGVfaW50cm9zcGVjdGlvbiIgPSAieWVzIl0pCiAKLQogQUNfQ09ORklHX0ZJTEVTKFsKIEdO
VW1ha2VmaWxlCitdCispCisgCitpZiB0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gIm5vIjsgdGhl
bgorQUNfQ09ORklHX0ZJTEVTKFsKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaAog
V2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxlCiBXZWJLaXQvZ3RrL2RvY3MvdmVyc2lvbi54bWwK
QEAgLTk3OCw2ICsxMDA3LDEzIEBACiBdCiAsW1dFQktJVEdUS19BUElfVkVSU0lPTj0kV0VCS0lU
R1RLX0FQSV9WRVJTSU9OLFdFQktJVEdUS19QQ19OQU1FPSRXRUJLSVRHVEtfUENfTkFNRV0KICkK
K2Vsc2UKK0FDX0NPTkZJR19GSUxFUyhbCitXZWJLaXQyL2d0ay8ke1dFQktJVEdUS19QQ19OQU1F
fS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2ViS2l0Mi9ndGsvd2Via2l0Mi5wYy5pbgor
XQorLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdFQktJVEdUS19BUElfVkVSU0lPTixXRUJLSVRH
VEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVdCispCitmaQogCiBBQ19PVVRQVVQKIApAQCAt
MTAzMyw2ICsxMDY5LDcgQEAKICBHREsgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICR3aXRoX3RhcmdldAogIEhpbGRvbiBVSSBleHRlbnNpb25z
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfaGlsZG9uCiAgSW50
cm9zcGVjdGlvbiBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAk
ZW5hYmxlX2ludHJvc3BlY3Rpb24KKyBXZWJLaXQyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfd2Via2l0MgogIgogaWYgdGVzdCAiJHdp
dGhfdW5pY29kZV9iYWNrZW5kIiA9ICJnbGliIjsgdGhlbgogICAgZWNobyAiICAgICA+PiBXQVJO
SU5HOiB0aGUgZ2xpYi1iYXNlZCB1bmljb2RlIGJhY2tlbmQgaXMgc2xvdyBhbmQgaW5jb21wbGV0
ZSA8PCIKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRU
b29scy9DaGFuZ2VMb2cgICAocmV2aXNpb24gNTE3MDUpCisrKyBXZWJLaXRUb29scy9DaGFuZ2VM
b2cgICAocmV2aXNpb24gNTE3MTkpCkBAIC0xLDMgKzEsNDQgQEAKKzIwMTAtMTAtMjkgIFJhdmkg
S2FzaWJoYXRsYSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2
aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGdlbmVyYXRlLWZvcndh
cmRpbmctaGVhZGVycy5wbCBmb3IgR1RLIHBvcnQgdXNhZ2UgCisgICAgICAgIChodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBTY3JpcHRz
L2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbDogRm9yIEdUSyBwb3J0LCB0YWtpbmcgMSBl
eHRyYSBhcmd1bWVudCBmb3IgY29weWluZyBuZXR3b3JrIGhlYWRlcnMuCisKIDIwMTAtMTAtMjcg
IEFkYW0gUm9iZW4gIDxhcm9iZW5AYXBwbGUuY29tPgoKICAgICAgICAgQ2F0Y2ggZXhjZXB0aW9u
cyB3aGVuIGNoZWNraW5nIGlmIHdlJ3JlIGluc2lkZSBhIGdpdCB3b3JraW5nIGRpcmVjdG9yeQpJ
bmRleDogV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhl
YWRlcnMucGwJKHJldmlzaW9uIDUxNzA1KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0
ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwJKHJldmlzaW9uIDUxNzE5KQpAQCAtNDYsOCArNDYsMTgg
QEAKIHNoaWZ0OwogbXkgJHBsYXRmb3JtICA9ICRBUkdWWzBdOwogCitteSAkbmV0d29yazsKK2lm
ICgkcGxhdGZvcm0gPX4gImd0ayIpIHsKKyAgICBzaGlmdDsKKyAgICAkbmV0d29yayA9ICRBUkdW
WzBdOworfQorCiBmb3JlYWNoIG15ICRwcmVmaXggKEBwbGF0Zm9ybVByZWZpeGVzKSB7Ci0gICAg
cHVzaChAc2tpcHBlZFByZWZpeGVzLCAkcHJlZml4KSB1bmxlc3MgKCRwcmVmaXggPX4gJHBsYXRm
b3JtKTsKKyAgICBpZiAoJHBsYXRmb3JtID1+ICJndGsiKSB7CisgICAgICAgIHB1c2goQHNraXBw
ZWRQcmVmaXhlcywgJHByZWZpeCkgdW5sZXNzICgkcHJlZml4ID1+ICRwbGF0Zm9ybSBvciAkcHJl
Zml4ID1+ICRuZXR3b3JrKTsKKyAgICB9IGVsc2UgeworICAgICAgICBwdXNoKEBza2lwcGVkUHJl
Zml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxhdGZvcm0pOworICAgIH0KIH0K
IAogZm9yZWFjaCAoQGZyYW1ld29ya3MpIHsKSW5kZXg6IFdlYktpdDIvR05VbWFrZWZpbGUuYW0K
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQkocmV2aXNpb24gMCkKKysrIFdl
YktpdDIvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDUxNzE5KQpAQCAtMCwwICsxLDU0OSBAQAor
d2Via2l0Ml9oX2FwaSArPSBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tBcnJheS5oIFwK
KwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQv
QVBJL2MvV0tDZXJ0aWZpY2F0ZUluZm8uaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tE
YXRhLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwkkKFdl
YktpdDIpL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9j
L1dLRXZlbnQuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tHZW9tZXRyeS5oIFwKKwkk
KFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oIFwKKwkkKFdlYktpdDIpL1No
YXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQ
SS9jL1dLTnVtYmVyLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlw
dFZhbHVlUHJpdmF0ZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNh
c3QuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuaCBcCisJJChXZWJLaXQy
KS9TaGFyZWQvQVBJL2MvV0tTdHJpbmdQcml2YXRlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQ
SS9jL1dLVHlwZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1VSTC5oIFwKKwkkKFdl
YktpdDIpL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQv
QVBJL2MvV0tVUkxSZXNwb25zZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1VzZXJD
b250ZW50VVJMUGF0dGVybi5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0
YWluUHRyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dlYktpdDIuaCBcCisJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggXAorCSQoV2ViS2l0MikvVUlQcm9j
ZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQ
SS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Qy9XS0NvbnRleHQuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJp
dmF0ZS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlz
dGVuZXIuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5oIFwKKwkkKFdl
YktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCBcCisJJChXZWJL
aXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwkkKFdlYktpdDIpL1VJUHJv
Y2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3Bh
Y2UuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIFwKKwkk
KFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggXAorCSQoV2ViS2l0Mikv
VUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmgKKwkKK3dlYmtpdDJfc291cmNl
cyArPSBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXIuaCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXJzLmggXAorCVdlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMvQXJndW1lbnREZWNvZGVyLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVu
dEVuY29kZXIuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVy
LmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudHMuaCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0F0dGFjaG1lbnQuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMvQXR0YWNobWVudC5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBo
b3JlLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oIFwK
KwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9D
b3JlSVBDTWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9EYXRhUmVm
ZXJlbmNlLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0RhdGFSZWZlcmVuY2UuaCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ay9Db25uZWN0aW9uR3RrLmNwcCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0hhbmRsZU1lc3NhZ2UuaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL01lc3NhZ2VJRC5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9Nb2R1bGVHdGsu
Y3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9SdW5Mb29wR3RrLmNwcCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9ndGsvU2hhcmVkTWVtb3J5R3RrLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9ndGsv
V29ya1F1ZXVlR3RrLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmggXAorCVdlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmNwcCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9QbGF0Zm9y
bVByb2Nlc3NJZGVudGlmaWVyLmggXAorCVdlYktpdDIvUGxhdGZvcm0vUnVuTG9vcC5jcHAgXAor
CVdlYktpdDIvUGxhdGZvcm0vUnVuTG9vcC5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1l
bW9yeS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtJdGVtLmggXAorCVdlYktpdDIvUGxhdGZv
cm0vV29ya1F1ZXVlLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuaCBcCisJV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgXAorCVdlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuaCBcCisJV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzL1BsdWdpblByb2Nlc3MuY3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzc01haW4uaCBc
CisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBcCisJV2Vi
S2l0Mi9QbHVnaW5Qcm9jZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmggXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL2d0ay9XS0Jhc2VHdGsuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50Lmgg
XAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS0FycmF5LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGF0
YS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGF0YS5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS0RpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RpY3Rp
b25hcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFcnJvci5jcHAgXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLRXJyb3IuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFdmVudC5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0dlb21ldHJ5LmggXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLTXV0YWJsZUFycmF5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRh
YmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tOdW1iZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S051bWJlci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgg
XAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlUHJpdmF0ZS5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tTdHJpbmcuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmlu
Zy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tUeXBlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tUeXBl
LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tVUkwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0LmNwcCBc
CisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0LmggXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLVVJMUmVzcG9uc2UuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJl
c3BvbnNlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBc
CisJV2ViS2l0Mi9TaGFyZWQvQVBJT2JqZWN0LmggXAorCVdlYktpdDIvU2hhcmVkL0JhY2tpbmdT
dG9yZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0JhY2tpbmdTdG9yZS5oIFwKKwlXZWJLaXQyL1No
YXJlZC9DYWNoZU1vZGVsLmggXAorCVdlYktpdDIvU2hhcmVkL0NvbW1hbmRMaW5lLmggXAorCVdl
YktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdpbmdBcmVhTWVzc2FnZUtpbmRzLmggXAor
CVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0RyYXdpbmdBcmVhUHJveHlNZXNzYWdlS2lu
ZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvSW5qZWN0ZWRCdW5kbGVNZXNz
YWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViQ29udGV4dE1l
c3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJv
eHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJv
Y2Vzc1Byb3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhQmFz
ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9GaW5kT3B0aW9ucy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9G
b250U21vb3RoaW5nTGV2ZWwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL0JhY2tpbmdTdG9yZUd0
ay5jcHAgXAorCVdlYktpdDIvU2hhcmVkL2d0ay9OYXRpdmVXZWJLZXlib2FyZEV2ZW50R3RrLmNw
cCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAorCVdl
YktpdDIvU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5jcHAgXAorCVdlYktpdDIvU2hhcmVkL2d0ay9V
cGRhdGVDaHVuay5oIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJz
R3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAorCVdl
YktpdDIvU2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1t
dXRhYmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
SW1tdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlQXJyYXkuY3Bw
IFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTXV0
YWJsZURpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlvbmFyeS5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9OYXRpdmVXZWJLZXlib2FyZEV2ZW50LmggXAorCVdlYktpdDIv
U2hhcmVkL05vdEltcGxlbWVudGVkLmggXAorCVdlYktpdDIvU2hhcmVkL1N0cmluZ1BhaXJWZWN0
b3IuaCBcCisJV2ViS2l0Mi9TaGFyZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvVmlzaXRlZExpbmtUYWJsZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1Zpc2l0ZWRMaW5r
VGFibGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktp
dDIvU2hhcmVkL1dlYkNvcmVBcmd1bWVudENvZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJE
YXRhLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkVycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
V2ViRXJyb3IuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmggXAorCVdlYktpdDIvU2hhcmVkL1dl
YkV2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYk5hdmlnYXRpb25EYXRhU3RvcmUuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViTnVtYmVyLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVh
dGlvblBhcmFtZXRlcnMuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJh
bWV0ZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgXAorCVdlYktpdDIv
U2hhcmVkL1dlYlBvcHVwSXRlbS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0
b3JlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViUHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9X
ZWJTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViU3RyaW5nLmgg
XAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXF1
ZXN0LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVxdWVzdC5oIFwKKwlXZWJLaXQyL1No
YXJlZC9XZWJVUkxSZXNwb25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlc3BvbnNl
LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tBUElDYXN0R3RrLmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL2d0ay9XS1ZpZXcuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsv
V0tWaWV3LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0FQSUNhc3QuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2Fy
ZExpc3QuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5o
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tDb250ZXh0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFBy
aXZhdGUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
RnJhbWVQb2xpY3lMaXN0ZW5lci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJh
bWVQb2xpY3lMaXN0ZW5lci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdGl2ZUV2
ZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRhdGEuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhLmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tQYWdlUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJl
bmNlcy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmNwcCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvR2VuZXJpY0NhbGxiYWNrLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9DaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWFQcm94eUd0ay5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9X
ZWJDb250ZXh0R3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXcuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViVmlld0ludGVybmFsLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJ
bnRlcm5hbC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xhdW5j
aGVyR3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1RocmVhZExhdW5j
aGVyR3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVy
LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1RocmVhZExhdW5jaGVyLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvTGF1bmNoZXIvVGhyZWFkTGF1bmNoZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF5ZXJCYWNrZWREcmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BhZ2VD
bGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb1N0b3Jl
R3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1By
b2Nlc3NNb2RlbC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
VmlzaXRlZExpbmtQcm92aWRlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2Fy
ZExpc3QuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYkNvbnRleHRVc2VyTWVzc2FnZUNvZGVycy5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJFZGl0Q29tbWFuZFByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
RWRpdENvbW1hbmRQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGaW5kQ2xpZW50LmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRmluZENsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGb3JtQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybUNsaWVu
dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHku
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHku
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lUG9saWN5TGlzdGVuZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJG
cmFtZVByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJIaXN0b3J5Q2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSGlzdG9yeUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGll
bnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuaCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvbkRhdGEuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJOYXZpZ2F0aW9uRGF0YS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlTmFtZXNwYWNl
LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZU5hbWVzcGFjZS5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdl
UHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9saWN5Q2xpZW50LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUG9saWN5Q2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YlBvcHVwTWVudVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc01hbmFnZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzTWFuYWdlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViVUlDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oIFwK
KwlXZWJLaXQyL1dlYktpdDJQcmVmaXguY3BwIFwKKwlXZWJLaXQyL1dlYktpdDJQcmVmaXguaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lUHJpdmF0
ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0
VGVzdFJlc3VsdC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlSW5pdGlhbGl6ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZS5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxl
UHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tC
dW5kbGVQYWdlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9j
L1dLQnVuZGxlUGFnZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVQYWdlUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVJhbmdlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUmFuZ2VIYW5kbGUuaCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlU2NyaXB0V29ybGQu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVT
Y3JpcHRXb3JsZC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0lu
amVjdGVkQnVuZGxlTm9kZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZS5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVSYW5n
ZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVj
dGVkQnVuZGxlR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRWRp
dG9yQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2Fk
ZXJDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlUGFnZVVJQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlVXNlck1lc3Nh
Z2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE1ldGhvZC5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBNZXRob2QuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVjdC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL0pTTlBPYmplY3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2Nh
cGUvZ3RrL05ldHNjYXBlUGx1Z2luR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJyb3dzZXJGdW5jcy5oIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5T
dHJlYW0uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2Fw
ZVBsdWdpblN0cmVhbS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVPYmplY3RNYXAuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTlBSdW50aW1lVXRpbGl0aWVzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTlBSdW50aW1lVXRpbGl0aWVzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpbkNvbnRyb2xsZXIuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2Vy
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b25NYW5hZ2VyLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblZpZXcuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L2d0ay9XZWJFcnJvcnNHdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvZ3RrL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJCYWNrRm9yd2FyZENvbnRyb2xs
ZXJDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9t
ZUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJv
bWVDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRl
eHRNZW51Q2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkNvbnRleHRNZW51Q2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJEcmFnQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkRyYWdDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkVkaXRvckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJFZGl0b3JDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkVycm9ycy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVM
b2FkZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
RnJhbWVMb2FkZXJDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYkluc3BlY3RvckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdpZXMuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1cE1lbnUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYlNlYXJjaFBvcHVwTWVudS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFyY2hQb3B1cE1lbnUuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYktpdE1haW4uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWEuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVu
a2VkVXBkYXRlRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJh
d2luZ0FyZWEuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5o
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAgXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0ZpbmRQYWdlT3ZlcmxheS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0ZpbmRQYWdlT3ZlcmxheS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9ndGsvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvZ3RrL1dlYlBhZ2VHdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJlYS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9QYWdlT3ZlcmxheS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VP
dmVybGF5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlz
dFByb3h5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRM
aXN0UHJveHkuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRWRpdENvbW1hbmQu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJFZGl0Q29tbWFuZC5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dl
YlBhZ2UuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlByb2Nlc3MuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3NNYWluLmgKKword2Vi
a2l0Ml9jcHBmbGFncyArPSBcCisJLWluY2x1ZGUgJChzcmNkaXIpL1dlYktpdDIvV2ViS2l0MlBy
ZWZpeC5oIFwKKwktSSQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyIFwKKwktSSQoc3Jj
ZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUgXAorCS1JJChzcmNkaXIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9KYXZhU2NyaXB0Q29yZSBcCisJLUkkKHNyY2Rpcikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUgXAorCS1JJChzcmNkaXIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJLaXQyIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9Q
bGF0Zm9ybSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDIFwKKwktSSQo
c3JjZGlyKS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyL1BsYXRmb3JtL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzIFwK
KwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFy
ZWQvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYyBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJl
ZC9Db3JlSVBDU3VwcG9ydCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvZ3RrIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQyBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvY3BwIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9n
dGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyIFwKKwktSSQoc3Jj
ZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvVUlQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvRE9NIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvTGF1bmNoaW5nIFwK
KwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucyBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3Rr
CisKKyMgRW5zdXJlIHRoYXQgdGhlIHByZWZpeCBoZWFkZXIgaXMgYnVpbHQgYmVmb3JlCitCVUlM
VF9TT1VSQ0VTICs9IFwKKwkkKHdlYmtpdDJfYnVpbHRfc291cmNlcykgXAorCWdlbmVyYXRlLWZv
cndhcmRpbmctaGVhZGVycworCitGb3J3YXJkaW5nSGVhZGVycyA6PSAkKEdFTlNPVVJDRVNfV0VC
S0lUMikvaW5jbHVkZQorSHR0cFN0YWNrIDo9IEBIVFRQX1NUQUNLQAorZ2VuZXJhdGUtZm9yd2Fy
ZGluZy1oZWFkZXJzOiAkKHNyY2RpcikvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRpbmdIZWFk
ZXJzKS9KYXZhU2NyaXB0Q29yZQorCSQoQU1fVl9hdCkkKG1rZGlyX3ApICQoRm9yd2FyZGluZ0hl
YWRlcnMpL1dlYkNvcmUKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRpbmdIZWFkZXJz
KS9XZWJLaXQyCisJJChBTV9WX0dFTikkKFBFUkwpICQ8ICQoV2ViS2l0MikgJChGb3J3YXJkaW5n
SGVhZGVycykgZ3RrICQoSHR0cFN0YWNrKSAKKworIyBNZXNzYWdlIGhlYWRlciBnZW5lcmF0aW9u
Cit3ZWJraXQyX2J1aWx0X3NvdXJjZXMgKz0gXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1
Z2luQ29udHJvbGxlclByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9Q
bHVnaW5Db250cm9sbGVyUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1BsdWdpblByb2Nlc3NNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJL
aXQyL1BsdWdpblByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1BsdWdpblByb2Nlc3NQcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUGx1Z2luUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUGx1Z2luUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9X
ZWJLaXQyL1dlYlBhZ2VNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlBh
Z2VNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlBhZ2VQ
cm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZVByb3h5TWVz
c2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzTWVz
c2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzTWVzc2FnZVJlY2Vp
dmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzQ29ubmVjdGlvbk1l
c3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25N
ZXNzYWdlUmVjZWl2ZXIuY3BwCisKK3ZwYXRoICUubWVzc2FnZXMuaW4gPSBcCisJJChXZWJLaXQy
KS9QbHVnaW5Qcm9jZXNzIFwKKwkkKFdlYktpdDIpL1VJUHJvY2VzcyBcCisJJChXZWJLaXQyKS9V
SVByb2Nlc3MvUGx1Z2lucyBcCisJJChXZWJLaXQyKS9XZWJQcm9jZXNzIFwKKwkkKFdlYktpdDIp
L1dlYlByb2Nlc3MvUGx1Z2lucyBcCisJJChXZWJLaXQyKS9XZWJQcm9jZXNzL1dlYlBhZ2UgCisK
K21lc3NhZ2VfZ2VuX3NjcmlwdHMgPSBcCisJJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1l
c3NhZ2UtcmVjZWl2ZXIucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdl
cy1oZWFkZXIucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy93ZWJraXQyL19faW5pdF9fLnB5IFwK
KwkkKFdlYktpdDIpL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQorCitEZXJpdmVkU291cmNl
cy9XZWJLaXQyLyVNZXNzYWdlUmVjZWl2ZXIuY3BwOiAlLm1lc3NhZ2VzLmluICQobWVzc2FnZV9n
ZW5fc2NyaXB0cykKKwkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHNyY2RpcikvV2ViS2l0Mi9TY3Jp
cHRzL2dlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkgJDwgPiAkQAorCitEZXJpdmVkU291cmNl
cy9XZWJLaXQyLyVNZXNzYWdlcy5oOiAlLm1lc3NhZ2VzLmluICQobWVzc2FnZV9nZW5fc2NyaXB0
cykKKwkkKEFNX1ZfR0VOKSQoUFlUSE9OKSAkKHNyY2RpcikvV2ViS2l0Mi9TY3JpcHRzL2dlbmVy
YXRlLW1lc3NhZ2VzLWhlYWRlci5weSAkPCA+ICRACisKKyMgV2ViS2l0V2ViUHJvY2VzcworYmlu
X1BST0dSQU1TICs9IFwKKwlQcm9ncmFtcy9XZWJLaXRXZWJQcm9jZXNzCisKK1Byb2dyYW1zX1dl
YktpdFdlYlByb2Nlc3NfQ1BQRkxBR1MgPSBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0MiBcCisJLUkkKHNyY2RpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwK
KwktSSQoc3JjZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViQ29yZSBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCS1JJCh0b3BfYnVp
bGRkaXIpL1dlYktpdDIgXAorCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJJChqYXZhc2NyaXB0Y29y
ZV9jcHBmbGFncykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DRkxBR1MgPSBcCisJJChn
bG9iYWxfY2ZsYWdzKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykKKwor
UHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19TT1VSQ0VTID0gXAorCVdlYktpdDIvZ3RrL01haW5H
dGsuY3BwCisKK1Byb2dyYW1zX1dlYktpdFdlYlByb2Nlc3NfTERBREQgPSBcCisJbGliSmF2YVNj
cmlwdENvcmUubGEgXAorCWxpYkBMSUJXRUJLSVRHVEtfTkFNRUAtQFdFQktJVEdUS19BUElfTUFK
T1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEgXAorCSQoR1RLX0xJ
QlMpIFwKKwkkKEdMSUJfTElCUykgXAorCSQoTElCU09VUF9MSUJTKQorCitQcm9ncmFtc19XZWJL
aXRXZWJQcm9jZXNzX0xERkxBR1MgPSBcCisJLW5vLWZhc3QtaW5zdGFsbCBcCisJLW5vLWluc3Rh
bGwKKworQ0xFQU5GSUxFUyArPSBcCisJJCh0b3BfYnVpbGRkaXIpL1Byb2dyYW1zL1dlYktpdFdl
YlByb2Nlc3MKSW5kZXg6IFdlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4KPT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0g
V2ViS2l0Mi9ndGsvd2Via2l0Mi5wYy5pbgkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvZ3RrL3dl
YmtpdDIucGMuaW4JKHJldmlzaW9uIDUxNzE5KQpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHBy
ZWZpeEAKK2V4ZWNfcHJlZml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AbGliZGlyQAoraW5jbHVk
ZWRpcj1AaW5jbHVkZWRpckAKKworTmFtZTogV2ViS2l0MgorRGVzY3JpcHRpb246IFdlYiBjb250
ZW50IGVuZ2luZSBmb3IgR1RLKworVmVyc2lvbjogQFZFUlNJT05ACitSZXF1aXJlczogZ2xpYi0y
LjAgZ3RrKy1AR1RLX0FQSV9WRVJTSU9OQCBsaWJzb3VwLTIuNAorTGliczogLUwke2xpYmRpcn0g
LWx3ZWJraXQyZ3RrLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05ACitDZmxhZ3M6IC1JJHtpbmNsdWRl
ZGlyfS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AIApJbmRleDogV2ViS2l0Mi9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDUxNzA1KQor
KysgV2ViS2l0Mi9DaGFuZ2VMb2cJKHJldmlzaW9uIDUxNzE5KQpAQCAtMSwzICsxLDMwMyBAQAor
MjAxMC0xMC0yOCAgQW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9sYS5jb20+IGFuZCBSYXZp
IEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1
aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0LgorICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06
IEFkZGVkLiAKKyAgICAgICAgKiBXZWJLaXQyUHJlZml4Lmg6CisgICAgICAgICogV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHA6CisgICAgICAgICogZ3Rr
OiBBZGRlZC4KKyAgICAgICAgKiBndGsvd2Via2l0Mi5wYy5pbjogQWRkZWQuCisKIDIwMTAtMTAt
MjcgIEtpbW1vIEtpbm51bmVuICA8a2ltbW8udC5raW5udW5lbkBub2tpYS5jb20+CiAKICAgICAg
ICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5kZXg6IFdlYktpdDIvV2ViS2l0MlByZWZp
eC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvV2ViS2l0MlByZWZpeC5oCShyZXZpc2lvbiA1MTcw
NSkKKysrIFdlYktpdDIvV2ViS2l0MlByZWZpeC5oCShyZXZpc2lvbiA1MTcxOSkKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjMsMTEgKzI0LDEzIEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCiAgKi8KIAorI2lmICFkZWZpbmVkIChCVUlMRElOR19HVEtfXykKICNpbmNsdWRlIDx3dGYv
UGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvRGlzYWxsb3dDVHlwZS5oPgogI2lmZGVmIF9fY3Bs
dXNwbHVzCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNlbmRpZgorI2VuZGlmIC8qICFk
ZWZpbmVkIChCVUlMRElOR19HVEtfXykgKi8KIAogI2lmZGVmIF9fY3BsdXNwbHVzCiAjZGVmaW5l
IEVYVEVSTl9DX0JFR0lOIGV4dGVybiAiQyIgewpAQCAtMTA3LDQgKzExMCw5IEBACiAjaW5jbHVk
ZSA8Q29yZUdyYXBoaWNzL0NvcmVHcmFwaGljcy5oPgogI2VuZGlmCiAKLSNlbmRpZiAvKiBkZWZp
bmVkKFdJTjMyKSB8fCBkZWZpbmVkKF9XSU4zMikgKi8KKyNlbGlmIGRlZmluZWQoQlVJTERJTkdf
R1RLX18pIAorI2RlZmluZSBKU19FWFBPUlREQVRBCisjZGVmaW5lIEpTX0VYUE9SVENMQVNTCisj
ZGVmaW5lIF9fU1REQ19GT1JNQVRfTUFDUk9TCisjaW5jbHVkZSA8V2ViQ29yZS9jb25maWcuaD4K
KyNlbmRpZiAvKiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKSAqLwpJbmRleDogV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcAo9PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGll
bnQuY3BwCShyZXZpc2lvbiA1MTcwNSkKKysrIFdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAJKHJldmlzaW9uIDUxNzE5KQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0zMCw3ICszMSw2IEBACiAKICNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZVVzZXJNZXNz
YWdlQ29kZXJzLmgiCiAjaW5jbHVkZSAiUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCIKLSNpbmNs
dWRlICJQbHVnaW5WaWV3LmgiCiAjaW5jbHVkZSAiU3RyaW5nUGFpclZlY3Rvci5oIgogI2luY2x1
ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgogI2luY2x1ZGUgIldlYkVycm9ycy5oIgpAQCAt
NjEsNiArNjEsNyBAQAogI2luY2x1ZGUgPFdlYkNvcmUvVUlFdmVudFdpdGhLZXlTdGF0ZS5oPgog
I2luY2x1ZGUgPFdlYkNvcmUvV2lkZ2V0Lmg+CiAjaW5jbHVkZSA8V2ViQ29yZS9XaW5kb3dGZWF0
dXJlcy5oPgorI2luY2x1ZGUgPFdlYktpdDIvUGx1Z2luVmlldy5oPgogCiB1c2luZyBuYW1lc3Bh
Y2UgV2ViQ29yZTsKIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72678</attachid>
            <date>2010-11-02 09:32:54 -0700</date>
            <delta_ts>2010-12-27 16:39:05 -0800</delta_ts>
            <desc>Dummy implementation for few of the WebKit2 GTK port classes</desc>
            <filename>Dummy Implementation of classes.patch</filename>
            <type>text/plain</type>
            <size>23882</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">SW5kZXg6IFdlYktpdDIvUGxhdGZvcm0vZ3RrL1NoYXJlZE1lbW9yeUd0ay5jcHAKPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PQotLS0gV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvU2hhcmVkTWVtb3J5R3RrLmNwcAkocmV2aXNpb24g
MCkKKysrIFdlYktpdDIvUGxhdGZvcm0vZ3RrL1NoYXJlZE1lbW9yeUd0ay5jcHAJKHJldmlzaW9u
IDUxNzE5KQpAQCAtMCwwICsxLDg0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxl
IEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAx
MCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBS
ZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9y
IHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRo
ZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9u
cyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2Ug
dGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9u
cyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlv
biBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4K
KyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBD
T05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
KyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4g
T1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAq
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9G
SVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisg
KiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZF
TiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8K
KworI2luY2x1ZGUgIlNoYXJlZE1lbW9yeS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQu
aCIKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1NoYXJlZE1lbW9yeTo6SGFuZGxlOjpIYW5kbGUo
KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK1NoYXJlZE1lbW9yeTo6SGFuZGxlOjp+
SGFuZGxlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIFNoYXJlZE1lbW9y
eTo6SGFuZGxlOjplbmNvZGUoQ29yZUlQQzo6QXJndW1lbnRFbmNvZGVyKiBlbmNvZGVyKSBjb25z
dAoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wgU2hhcmVkTWVtb3J5OjpIYW5k
bGU6OmRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqIGRlY29kZXIsIEhhbmRsZSYgaGFu
ZGxlKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZhbHNlOworfQorCitQ
YXNzUmVmUHRyPFNoYXJlZE1lbW9yeT4gU2hhcmVkTWVtb3J5OjpjcmVhdGUoc2l6ZV90IHNpemUp
Cit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gMDsKK30KKworUGFzc1JlZlB0
cjxTaGFyZWRNZW1vcnk+IFNoYXJlZE1lbW9yeTo6Y3JlYXRlKGNvbnN0IEhhbmRsZSYgaGFuZGxl
LCBQcm90ZWN0aW9uIHByb3RlY3Rpb24pCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICBy
ZXR1cm4gMDsgICAgCit9CisKK1NoYXJlZE1lbW9yeTo6flNoYXJlZE1lbW9yeSgpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKyAgICAKK2Jvb2wgU2hhcmVkTWVtb3J5OjpjcmVhdGVIYW5k
bGUoSGFuZGxlJiBoYW5kbGUsIFByb3RlY3Rpb24gcHJvdGVjdGlvbikKK3sKKyAgICBub3RJbXBs
ZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKwordW5zaWduZWQgU2hhcmVkTWVtb3J5
OjpzeXN0ZW1QYWdlU2l6ZSgpCit7CisgICAgdW5zaWduZWQgcGFnZVNpemUgPSAwOworCisgICAg
cmV0dXJuIHBhZ2VTaXplOworfQorCit9CkluZGV4OiBXZWJLaXQyL0NoYW5nZUxvZwo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBXZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gNTE3MDUpCisrKyBXZWJLaXQyL0No
YW5nZUxvZwkocmV2aXNpb24gNTE3MTkpCkBAIC0xLDMgKzEsMzAzIEBACisyMDEwLTEwLTI4ICBB
bXJ1dGggUmFqICA8YW1ydXRocmFqQG1vdG9yb2xhLmNvbT4gYW5kIFJhdmkgS2FzaWJoYXRsYSAg
PHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9C
T0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlcyB0byBlbmFibGUgYnVpbGRpbmcgV2ViS2l0
MiBmb3IgR3RrIHBvcnQuCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1
Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBQbGF0Zm9ybS9ndGs6IEFkZGVkLgorICAgICAg
ICAqIFBsYXRmb3JtL2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwOiBBZGRlZC4gIFN0dWJiZWQgaW1w
bGVtZW50YXRpb24gZm9yIEdUSyBwb3J0LiBZZXQgdG8gaW1wbGVtZW50LgorICAgICAgICAoV2Vi
S2l0OjpTaGFyZWRNZW1vcnk6OkhhbmRsZTo6SGFuZGxlKToKKyAgICAgICAgKFdlYktpdDo6U2hh
cmVkTWVtb3J5OjpIYW5kbGU6On5IYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFyZWRNZW1v
cnk6OkhhbmRsZTo6ZW5jb2RlKToKKyAgICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5OjpIYW5k
bGU6OmRlY29kZSk6CisgICAgICAgIChXZWJLaXQ6OlNoYXJlZE1lbW9yeTo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYktpdDo6U2hhcmVkTWVtb3J5Ojp+U2hhcmVkTWVtb3J5KToKKyAgICAgICAgKFdl
YktpdDo6U2hhcmVkTWVtb3J5OjpjcmVhdGVIYW5kbGUpOgorICAgICAgICAoV2ViS2l0OjpTaGFy
ZWRNZW1vcnk6OnN5c3RlbVBhZ2VTaXplKToKKyAgICAgICAgKiBTaGFyZWQvZ3RrOiBBZGRlZC4K
KyAgICAgICAgKiBTaGFyZWQvZ3RrL0JhY2tpbmdTdG9yZUd0ay5jcHA6IEFkZGVkLiBTdHViYmVk
IGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAg
KFdlYktpdDo6QmFja2luZ1N0b3JlOjpjcmVhdGVHcmFwaGljc0NvbnRleHQpOgorICAgICAgICAo
V2ViS2l0OjpCYWNraW5nU3RvcmU6OnBhaW50KToKKyAgICAgICAgKiBTaGFyZWQvZ3RrL1BsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvLmg6IEFkZGVkLiBBZGRlZC4gU3R1YmJlZCBpbXBsZW1lbnRhdGlv
biBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAgICAgIChXZWJLaXQ6OlBsYXRm
b3JtQ2VydGlmaWNhdGVJbmZvOjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbyk6CisgICAgICAgIChX
ZWJLaXQ6OlBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvOjplbmNvZGUpOgorICAgICAgICAoV2ViS2l0
OjpQbGF0Zm9ybUNlcnRpZmljYXRlSW5mbzo6ZGVjb2RlKToKKyAgICAgICAgKiBTaGFyZWQvZ3Rr
L1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHA6IEFkZGVkLiBTdHViYmVkIGltcGxlbWVudGF0
aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAgICAgKENvcmVJUEM6OmVu
Y29kZVJlc291cmNlUmVxdWVzdCk6CisgICAgICAgIChDb3JlSVBDOjpkZWNvZGVSZXNvdXJjZVJl
cXVlc3QpOgorICAgICAgICAqIFVJUHJvY2Vzcy9QbHVnaW5zL2d0azogQWRkZWQuCisgICAgICAg
ICogVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9TdG9yZUd0ay5jcHA6IEFkZGVkLiAg
U3R1YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisg
ICAgICAgIChXZWJLaXQ6OlBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9yaWVzKToKKyAg
ICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjpwbHVnaW5QYXRoc0luRGlyZWN0b3J5KToK
KyAgICAgICAgKFdlYktpdDo6UGx1Z2luSW5mb1N0b3JlOjppbmRpdmlkdWFsUGx1Z2luUGF0aHMp
OgorICAgICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OmdldFBsdWdpbkluZm8pOgorICAg
ICAgICAoV2ViS2l0OjpQbHVnaW5JbmZvU3RvcmU6OnNob3VsZFVzZVBsdWdpbik6CisgICAgICAg
ICogV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oOgorICAgICAgICAq
IFdlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHA6IEFkZGVkLiBTdHVi
YmVkIGltcGxlbWVudGF0aW9uIGZvciBHVEsgcG9ydC4gWWV0IHRvIGltcGxlbWVudC4KKyAgICAg
ICAgKFdlYktpdDo6SW5qZWN0ZWRCdW5kbGU6OmxvYWQpOgorICAgICAgICAoV2ViS2l0OjpJbmpl
Y3RlZEJ1bmRsZTo6YWN0aXZhdGVNYWNGb250QXNjZW50SGFjayk6CisgICAgICAgICogV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0azogQWRkZWQuCisgICAgICAgICogV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5jcHA6IEFkZGVkLiAgU3R1YmJl
ZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQuCisgICAgICAg
IChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBvc3RJbml0aWFsaXplKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtRGVzdHJveSk6CisgICAgICAgIChX
ZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUdlb21ldHJ5RGlkQ2hhbmdlKToKKyAgICAg
ICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtUGFpbnQpOgorICAgICAgICAoV2Vi
S2l0Ojp0b05QKToKKyAgICAgICAgKFdlYktpdDo6TmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFu
ZGxlTW91c2VFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9y
bUhhbmRsZVdoZWVsRXZlbnQpOgorICAgICAgICAoV2ViS2l0OjpOZXRzY2FwZVBsdWdpbjo6cGxh
dGZvcm1TZXRGb2N1cyk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9y
bUhhbmRsZU1vdXNlRW50ZXJFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNjYXBlUGx1Z2lu
OjpwbGF0Zm9ybUhhbmRsZU1vdXNlTGVhdmVFdmVudCk6CisgICAgICAgIChXZWJLaXQ6Ok5ldHNj
YXBlUGx1Z2luOjpwbGF0Zm9ybUhhbmRsZUtleWJvYXJkRXZlbnQpOgorICAgICAgICAqIFdlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0Lmg6IEFkZGVkLiBBZGRl
ZC4gU3R1YmJlZCBpbXBsZW1lbnRhdGlvbiBmb3IgR1RLIHBvcnQuIFlldCB0byBpbXBsZW1lbnQu
CisgICAgICAgIChXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0OjpjcmVhdGUpOgorICAgICAgICAo
V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dDo6V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dCk6CisK
IDIwMTAtMTAtMjcgIEtpbW1vIEtpbm51bmVuICA8a2ltbW8udC5raW5udW5lbkBub2tpYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5kZXg6IFdlYktpdDIvU2hh
cmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktp
dDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwCShyZXZpc2lvbiAwKQor
KysgV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAJKHJldmlz
aW9uIDUxNzE5KQpAQCAtMCwwICsxLDQ0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFw
cGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykg
MjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworI2luY2x1ZGUgIldlYkNvcmVBcmd1bWVudENvZGVycy5oIgorCisjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKKworbmFtZXNwYWNlIENvcmVJUEMgeworCit2b2lkIGVuY29kZVJlc291
cmNlUmVxdWVzdChBcmd1bWVudEVuY29kZXIqIGVuY29kZXIsIGNvbnN0IFdlYkNvcmU6OlJlc291
cmNlUmVxdWVzdCYgcmVzb3VyY2VSZXF1ZXN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9
CisKK2Jvb2wgZGVjb2RlUmVzb3VyY2VSZXF1ZXN0KEFyZ3VtZW50RGVjb2RlciogZGVjb2Rlciwg
V2ViQ29yZTo6UmVzb3VyY2VSZXF1ZXN0JiByZXNvdXJjZVJlcXVlc3QpCit7CisgICAgbm90SW1w
bGVtZW50ZWQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CisKK30KSW5kZXg6IFdlYktpdDIvU2hh
cmVkL2d0ay9CYWNraW5nU3RvcmVHdGsuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2hhcmVk
L2d0ay9CYWNraW5nU3RvcmVHdGsuY3BwCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9TaGFyZWQv
Z3RrL0JhY2tpbmdTdG9yZUd0ay5jcHAJKHJldmlzaW9uIDUxNzE5KQpAQCAtMCwwICsxLDQ3IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZl
ZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5j
LiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGlu
IHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlv
biwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwor
ICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJl
dGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25k
aXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlv
bnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICog
ICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNj
bGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElT
IFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisg
KiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICog
QkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwg
RVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VS
VklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5U
RVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFks
IFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNM
VURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VU
IE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUg
UE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2luY2x1ZGUgIkJhY2tpbmdTdG9y
ZS5oIgorCisjaW5jbHVkZSAiTm90SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlIDxXZWJDb3JlL0dy
YXBoaWNzQ29udGV4dC5oPgorCit1c2luZyBuYW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNl
IFdlYktpdCB7CisKK1Bhc3NPd25QdHI8R3JhcGhpY3NDb250ZXh0PiBCYWNraW5nU3RvcmU6OmNy
ZWF0ZUdyYXBoaWNzQ29udGV4dCgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1
cm4gMDsKK30KKwordm9pZCBCYWNraW5nU3RvcmU6OnBhaW50KFdlYkNvcmU6OkdyYXBoaWNzQ29u
dGV4dCogY29udGV4dCwgY29uc3QgV2ViQ29yZTo6SW50UmVjdCYgY2xpcFJlY3QpCit7CisgICAg
bm90SW1wbGVtZW50ZWQoKTsKK30KKyAgICAgICAgCit9IC8vIG5hbWVzcGFjZSBXZWJLaXQKSW5k
ZXg6IFdlYktpdDIvU2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCj09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT0KLS0tIFdlYktpdDIvU2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oCShyZXZp
c2lvbiAwKQorKysgV2ViS2l0Mi9TaGFyZWQvZ3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmgJ
KHJldmlzaW9uIDUxNzE5KQpAQCAtMCwwICsxLDU4IEBACisvKgorICogQ29weXJpZ2h0IChDKSAy
MDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdo
dCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2lmbmRlZiBQbGF0Zm9ybUNlcnRpZmljYXRlSW5mb19oCisjZGVmaW5lIFBs
YXRmb3JtQ2VydGlmaWNhdGVJbmZvX2gKKworI2luY2x1ZGUgIkFyZ3VtZW50RGVjb2Rlci5oIgor
I2luY2x1ZGUgIkFyZ3VtZW50RW5jb2Rlci5oIgorI2luY2x1ZGUgPFdlYkNvcmUvUmVzb3VyY2VS
ZXNwb25zZS5oPgorCituYW1lc3BhY2UgV2ViS2l0IHsKKworY2xhc3MgUGxhdGZvcm1DZXJ0aWZp
Y2F0ZUluZm8geworcHVibGljOgorICAgIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZvKCkKKyAgICB7
CisgICAgfQorCisgICAgZXhwbGljaXQgUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8oY29uc3QgV2Vi
Q29yZTo6UmVzb3VyY2VSZXNwb25zZSYpCisgICAgeworICAgIH0KKworICAgIHZvaWQgZW5jb2Rl
KENvcmVJUEM6OkFyZ3VtZW50RW5jb2RlciopIGNvbnN0CisgICAgeworICAgIH0KKworICAgIHN0
YXRpYyBib29sIGRlY29kZShDb3JlSVBDOjpBcmd1bWVudERlY29kZXIqLCBQbGF0Zm9ybUNlcnRp
ZmljYXRlSW5mbyYpCisgICAgeworICAgICAgICByZXR1cm4gdHJ1ZTsKKyAgICB9Cit9OworCit9
IC8vIG5hbWVzcGFjZSBXZWJLaXQKKworI2VuZGlmIC8vIFBsYXRmb3JtQ2VydGlmaWNhdGVJbmZv
X2gKSW5kZXg6IFdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9TdG9yZUd0
ay5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2lu
SW5mb1N0b3JlR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvZ3RrL1BsdWdpbkluZm9TdG9yZUd0ay5jcHAJKHJldmlzaW9uIDUxNzE5KQpAQCAtMCwwICsx
LDY3IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0
ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRX
QVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJ
UycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9S
UworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BF
Q0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMg
T1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUwor
ICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFC
SUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JU
IChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBX
QVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisg
KiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworCisjaW5jbHVkZSAiUGx1
Z2luSW5mb1N0b3JlLmgiCisKKyNpbmNsdWRlICJOb3RJbXBsZW1lbnRlZC5oIgorI2luY2x1ZGUg
IlBsdWdpbkRhdGFiYXNlLmgiCisjaW5jbHVkZSAiUGx1Z2luUGFja2FnZS5oIgorCit1c2luZyBu
YW1lc3BhY2UgV2ViQ29yZTsKKworbmFtZXNwYWNlIFdlYktpdCB7CisKK1ZlY3RvcjxTdHJpbmc+
IFBsdWdpbkluZm9TdG9yZTo6cGx1Z2luc0RpcmVjdG9yaWVzKCkKK3sKKyAgICBub3RJbXBsZW1l
bnRlZCgpOworICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOworfQorCitWZWN0b3I8U3RyaW5n
PiBQbHVnaW5JbmZvU3RvcmU6OnBsdWdpblBhdGhzSW5EaXJlY3RvcnkoY29uc3QgU3RyaW5nJiBk
aXJlY3RvcnkpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gVmVjdG9yPFN0
cmluZz4oKTsKK30KKworVmVjdG9yPFN0cmluZz4gUGx1Z2luSW5mb1N0b3JlOjppbmRpdmlkdWFs
UGx1Z2luUGF0aHMoKQoreworICAgIHJldHVybiBWZWN0b3I8U3RyaW5nPigpOworfQorCitib29s
IFBsdWdpbkluZm9TdG9yZTo6Z2V0UGx1Z2luSW5mbyhjb25zdCBTdHJpbmcmIHBsdWdpblBhdGgs
IFBsdWdpbiYgcGx1Z2luKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIGZh
bHNlOworfQorCitib29sIFBsdWdpbkluZm9TdG9yZTo6c2hvdWxkVXNlUGx1Z2luKGNvbnN0IFBs
dWdpbiYgcGx1Z2luLCBjb25zdCBWZWN0b3I8UGx1Z2luPiYgbG9hZGVkUGx1Z2lucykKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBuYW1lc3Bh
Y2UgV2ViS2l0CkluZGV4OiBXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvZ3RrL0lu
amVjdGVkQnVuZGxlR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcAkocmV2aXNpb24gMCkKKysrIFdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsuY3Bw
CShyZXZpc2lvbiA1MTcxOSkKQEAgLTAsMCArMSw0NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJJbmplY3RlZEJ1bmRsZS5oIgorCisjaW5jbHVkZSAiTm90
SW1wbGVtZW50ZWQuaCIKKyNpbmNsdWRlICJXS0J1bmRsZUFQSUNhc3QuaCIKKyNpbmNsdWRlICJX
S0J1bmRsZUluaXRpYWxpemUuaCIKKwordXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CisKK25hbWVz
cGFjZSBXZWJLaXQgeworCitib29sIEluamVjdGVkQnVuZGxlOjpsb2FkKCkKK3sKKyAgICByZXR1
cm4gZmFsc2U7Cit9CisKK3ZvaWQgSW5qZWN0ZWRCdW5kbGU6OmFjdGl2YXRlTWFjRm9udEFzY2Vu
dEhhY2soKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdl
YktpdApJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlLmgJKHJldmlzaW9uIDUxNzA1KQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmgJKHJldmlzaW9uIDUxNzE5KQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC01MSw2ICs1Miw4IEBACiB0eXBlZGVmIEhNT0RVTEUgUGxhdGZvcm1CdW5kbGU7CiAj
ZWxpZiBQTEFURk9STShRVCkKIHR5cGVkZWYgUUxpYnJhcnkgUGxhdGZvcm1CdW5kbGU7CisjZWxp
ZiBQTEFURk9STShHVEspCit0eXBlZGVmIHZvaWQqIFBsYXRmb3JtQnVuZGxlOwogI2VuZGlmCiAK
IGNsYXNzIEltbXV0YWJsZUFycmF5OwpJbmRleDogV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
TmV0c2NhcGUvZ3RrL05ldHNjYXBlUGx1Z2luR3RrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9ndGsvTmV0c2NhcGVQbHVnaW5HdGsuY3BwCShy
ZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvZ3RrL05l
dHNjYXBlUGx1Z2luR3RrLmNwcAkocmV2aXNpb24gNTE3MTkpCkBAIC0wLDAgKzEsOTggQEAKKy8q
CisgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgor
ICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJbmMuICBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291
cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBh
cmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBh
cmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWlu
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBp
biBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBu
b3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWlt
ZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJv
dmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJP
VklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFO
RCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkg
QU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4g
SU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBM
SUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVN
UExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBM
SU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNF
UzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJV
UFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hF
VEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElO
RyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0Yg
VEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NT
SUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjaW5jbHVkZSAiTmV0c2NhcGVQbHVnaW4u
aCIKKworI2luY2x1ZGUgIk5vdEltcGxlbWVudGVkLmgiCisKK3VzaW5nIG5hbWVzcGFjZSBXZWJD
b3JlOworCituYW1lc3BhY2UgV2ViS2l0IHsKKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZv
cm1Qb3N0SW5pdGlhbGl6ZSgpCit7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4g
dHJ1ZTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1EZXN0cm95KCkKK3sKKyAg
ICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE5ldHNjYXBlUGx1Z2luOjpwbGF0Zm9ybUdl
b21ldHJ5RGlkQ2hhbmdlKCkKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgpOworfQorCit2b2lkIE5l
dHNjYXBlUGx1Z2luOjpwbGF0Zm9ybVBhaW50KEdyYXBoaWNzQ29udGV4dCogY29udGV4dCwgY29u
c3QgSW50UmVjdCYgZGlydHlSZWN0KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK05Q
RXZlbnQgdG9OUChjb25zdCBXZWJNb3VzZUV2ZW50JiBldmVudCkKK3sKKyAgICBOUEV2ZW50IG5w
RXZlbnQgPSBOUEV2ZW50KCk7CisgICAgbm90SW1wbGVtZW50ZWQoKTsKKyAgICByZXR1cm4gbnBF
dmVudDsKK30KKworYm9vbCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1IYW5kbGVNb3VzZUV2ZW50
KGNvbnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cisg
ICAgcmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxl
V2hlZWxFdmVudChjb25zdCBXZWJXaGVlbEV2ZW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRlZCgp
OworICAgIHJldHVybiBmYWxzZTsKK30KKwordm9pZCBOZXRzY2FwZVBsdWdpbjo6cGxhdGZvcm1T
ZXRGb2N1cyhib29sKQoreworICAgIG5vdEltcGxlbWVudGVkKCk7Cit9CisKK2Jvb2wgTmV0c2Nh
cGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VFbnRlckV2ZW50KGNvbnN0IFdlYk1vdXNlRXZl
bnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAgcmV0dXJuIHRydWU7Cit9
CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlTW91c2VMZWF2ZUV2ZW50KGNv
bnN0IFdlYk1vdXNlRXZlbnQmIGV2ZW50KQoreworICAgIG5vdEltcGxlbWVudGVkKCk7CisgICAg
cmV0dXJuIHRydWU7Cit9CisKK2Jvb2wgTmV0c2NhcGVQbHVnaW46OnBsYXRmb3JtSGFuZGxlS2V5
Ym9hcmRFdmVudChjb25zdCBXZWJLZXlib2FyZEV2ZW50JikKK3sKKyAgICBub3RJbXBsZW1lbnRl
ZCgpOworICAgIHJldHVybiBmYWxzZTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViS2l0CkluZGV4
OiBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkZyYW1lTmV0d29ya2lu
Z0NvbnRleHQuaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvZ3RrL1dlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQuaAkocmV2aXNpb24gMCkKKysrIFdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4
dC5oCShyZXZpc2lvbiA1MTcxOSkKQEAgLTAsMCArMSw1MSBAQAorLyoKKyAqIENvcHlyaWdodCAo
QykgMjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5
cmlnaHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2
ZWQuCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNpZm5kZWYgV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dF9oCisjZGVm
aW5lIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHRfaAorCisjaW5jbHVkZSA8V2ViQ29yZS9GcmFt
ZU5ldHdvcmtpbmdDb250ZXh0Lmg+CisKK2NsYXNzIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHQg
OiBwdWJsaWMgV2ViQ29yZTo6RnJhbWVOZXR3b3JraW5nQ29udGV4dCB7CitwdWJsaWM6CisgICAg
c3RhdGljIFBhc3NSZWZQdHI8V2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dD4gY3JlYXRlKFdlYkNv
cmU6OkZyYW1lKikKKyAgICB7CisgICAgICAgIHJldHVybiAwOworICAgIH0KKworcHJpdmF0ZToK
KyAgICBXZWJGcmFtZU5ldHdvcmtpbmdDb250ZXh0KFdlYkNvcmU6OkZyYW1lKiBmcmFtZSkKKyAg
ICAgICAgOiBXZWJDb3JlOjpGcmFtZU5ldHdvcmtpbmdDb250ZXh0KGZyYW1lKQorICAgIHsKKyAg
ICB9CisKKyAgICB2aXJ0dWFsIFdURjo6U3RyaW5nIHVzZXJBZ2VudCgpIGNvbnN0OworICAgIHZp
cnR1YWwgV1RGOjpTdHJpbmcgcmVmZXJyZXIoKSBjb25zdDsKKworICAgIFdURjo6U3RyaW5nIG1f
dXNlckFnZW50OworfTsKKworI2VuZGlmIC8vIFdlYkZyYW1lTmV0d29ya2luZ0NvbnRleHRfaAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74419</attachid>
            <date>2010-11-19 13:15:23 -0800</date>
            <delta_ts>2010-11-26 05:33:59 -0800</delta_ts>
            <desc>Makefile changes to building the WebKit2 GTK port</desc>
            <filename>makefile_rework.patch</filename>
            <type>text/plain</type>
            <size>42800</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4NDUwODFhLi5hYzljMTk1
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTEtMjAgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2
aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBi
dWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OiBDaGFuZ2VzIHRvIGluY2x1ZGUgR05VbWFrZWZpbGUuYW0gZWl0aGVyIG9mIFdlYktpdDEgb3Ig
V2ViS2l0Mi4KKyAgICAgICAgSXQgYWxzbyBleGx1ZGVzIFVuaXR0ZXN0cywgRHVtcHJlbmRlclRy
ZWUsIEd0a0xhdW5jaGVyIGV0YyBmb3IgV2ViS2l0Mi4KKyAgICAgICAgKiBjb25maWd1cmUuYWM6
IE9wdGlvbiBmb3IgZW5hYmxlIG9yIGRpc2FibGUgV2ViS2l0Mi4KKwogMjAxMC0xMS0xNyAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9H
TlVtYWtlZmlsZS5hbQppbmRleCA4ODg0ZmNiLi43Njg4MzQ2IDEwMDY0NAotLS0gYS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMzQsMTAgKzM0LDEyIEBAIEdFTlNPVVJD
RVMgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzCiBHRU5TT1VSQ0VTX0pBVkFTQ1JJ
UFRDT1JFIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZQog
R0VOU09VUkNFU19XRUJDT1JFIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlCiBHRU5TT1VSQ0VTX1dFQktJVCA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMv
d2Via2l0CitHRU5TT1VSQ0VTX1dFQktJVDIgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIKIEdFTlBST0dSQU1TIDo9ICQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcwogR0VO
U09VUkNFU19JTlNQRUNUT1IgOj0gJChHRU5QUk9HUkFNUykvcmVzb3VyY2VzL2luc3BlY3Rvcgog
V2ViQ29yZSA6PSAkKHNyY2RpcikvV2ViQ29yZQogV2ViS2l0IDo9ICQoc3JjZGlyKS9XZWJLaXQv
Z3RrCitXZWJLaXQyIDo9ICQoc3JjZGlyKS9XZWJLaXQyCiAKICMgTGlicmFyaWVzIGFuZCBzdXBw
b3J0IGNvbXBvbmVudHMKIGJpbl9QUk9HUkFNUyA6PQpAQCAtNjksNiArNzEsMTAgQEAgd2Via2l0
Z3RrX2NwcGZsYWdzIDo9CiB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzIDo9CiB3ZWJraXRn
dGtfYnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X25vc291cmNlcyA6PQord2Via2l0
Ml9oX2FwaSA6PQord2Via2l0Ml9jcHBmbGFncyA6PQord2Via2l0Ml9zb3VyY2VzIDo9Cit3ZWJr
aXQyX2J1aWx0X3NvdXJjZXMgOj0KIGdsb2JhbF9jcHBmbGFncyA6PQogZ2xvYmFsX2NmbGFncyA6
PQogZ2xvYmFsX2N4eGZsYWdzIDo9CkBAIC0yMDUsMTAgKzIxMSwxNSBAQCBFWFRSQV9ESVNUICs9
IFwKICMgSW5jbHVkZSBtb2R1bGUgbWFrZWZpbGVzCiBpbmNsdWRlIEphdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmFtCiBpbmNsdWRlIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KKyMgSW5jbHVkZSBt
b2R1bGUgbWFrZWZpbGVzIGJhc2VkIG9uIHdlYmtpdCBhcmNoCitpZiBFTkFCTEVfV0VCS0lUMgor
aW5jbHVkZSBXZWJLaXQyL0dOVW1ha2VmaWxlLmFtCitlbHNlICAjRU5BQkxFX1dFQktJVDIKIGlu
Y2x1ZGUgV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUu
YW0KIGluY2x1ZGUgV2ViS2l0L2d0ay9wby9HTlVtYWtlZmlsZS5hbQorZW5kaWYgI0VOQUJMRV9X
RUJLSVQyCiAKICMgQXV0b2dlbmVyYXRlZCBzb3VyY2VzCiBCVUlMVF9TT1VSQ0VTICs9IFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVh
YjNhZi4uMzA1NjcwNiAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNiBAQAorMjAxMC0xMS0yMCAgQW1ydXRoIFJhaiAgPGFt
cnV0aHJhakBtb3Rvcm9sYS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0
bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0
CisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkp
CisKKyAgICAgICAgTm8gbmV3IHRlc3RzLiAoT09QUyEpCisgICAgICAgIE5vIG5ldyBmdW5jdGlv
bmFsaXR5IGFkZGVkIG9yIGRlbGV0ZWQuIE9ubHkgbWFrZWZpbGUgY2hhbmdlLiBIZW5jZSwgbm8g
dGVzdHMgYWRkZWQuCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQ2hhbmdlcyB0byBkaXNh
YmxlIGJ1aWxkaW5nIG9mIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdCB3aGVuIGJ1aWxkaW5nIFdl
YktpdDIuCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9zb3Vw
LWNhY2hlLmg6IFJlbW92ZSBpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVmaW5lcy5oPiBhbmQgZGVj
bGFyZSBXRUJLSVRfQVBJIGRpcmVjdGx5CisKIDIwMTAtMTEtMTggIE5pa29sYXMgWmltbWVybWFu
biAgPG56aW1tZXJtYW5uQHJpbS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRGlyayBTY2h1
bHplLgpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbSBiL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KaW5kZXggNWRjYmZjMi4uMWQ3YzA0MyAxMDA2NDQKLS0tIGEvV2ViQ29yZS9HTlVt
YWtlZmlsZS5hbQorKysgYi9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCkBAIC03LDEwICs3LDEwIEBA
IFdFQkNPUkVfQ1NTX1ZBTFVFX0tFWVdPUkRTIDo9ICQoV2ViQ29yZSkvY3NzL0NTU1ZhbHVlS2V5
d29yZHMuaW4KIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1dlYkNvcmUgXAog
CS1JJChzcmNkaXIpL1dlYkNvcmUvYWNjZXNzaWJpbGl0eSBcCisJLUkkKHNyY2RpcikvV2ViQ29y
ZS9iaW5kaW5ncyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljIFwKIAkt
SSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2pzIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2Jp
bmRpbmdzL2pzL3NwZWNpYWxpemF0aW9uIFwKLQktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlIFwKIAktSSQoc3JjZGlyKS9X
ZWJDb3JlL2JyaWRnZS9jIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjIFwK
QEAgLTcyLDYgKzcyLDExIEBAIHdlYmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzL0phdmFTY3JpcHRDb3JlIFwKIAktRERBVEFfRElSPVwiJHtkYXRh
ZGlyfVwiCiAKK2lmICFFTkFCTEVfV0VCS0lUMgord2ViY29yZV9jcHBmbGFncyArPSBcCisJLUkk
KHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0CitlbmRpZgorCiB3ZWJjb3JlZ3RrX2Nw
cGZsYWdzICs9IFwKIAktRFdFQktJVEdUS19BUElfVkVSU0lPTl9TVFJJTkc9XCJAV0VCS0lUR1RL
X0FQSV9WRVJTSU9OQFwiIFwKIAktRFdURl9VU0VfU09VUD0xIFwKQEAgLTYzNywxOSArNjQyLDYg
QEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvR2VuZXJp
Y0JpbmRpbmcuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVh
dHVyZXMuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0
dXJlcy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5j
cHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmggXAot
CVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5jcHAgXAotCVdl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5oIFwKLQlXZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAgXAotCVdlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9X
ZWJLaXRET01FdmVudFRhcmdldC5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NRXZlbnRUYXJnZXRQcml2YXRlLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01PYmplY3QuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2Jq
ZWN0LmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBw
ZXJGYWN0b3J5LmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVt
ZW50V3JhcHBlckZhY3RvcnkuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRT
b3VyY2VQcm92aWRlci5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0RPTU9iamVjdEhhc2hUYWJs
ZU1hcC5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmgg
XApAQCAtMzUwNiw2ICszNDk4LDIzIEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS94
bWwvWFNMVFVuaWNvZGVTb3J0LmNwcCBcCiAJV2ViQ29yZS94bWwvWFNMVFVuaWNvZGVTb3J0LmgK
IAoraWYgIUVOQUJMRV9XRUJLSVQyCit3ZWJjb3JlX3NvdXJjZXMgKz0gXAorCVdlYkNvcmUvYmlu
ZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0
L0dPYmplY3RFdmVudExpc3RlbmVyLmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01CaW5kaW5nLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJp
bmRpbmcuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0
LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0Lmgg
XAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUu
aCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHAgXAorCVdl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01PYmplY3QuaCBcCisJV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKKwlXZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oCitl
bmRpZgorCiB3ZWJjb3JlZ3RrX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdEF0ay5jcHAgXAogCVdlYkNvcmUvYWNjZXNzaWJpbGl0eS9n
dGsvQWNjZXNzaWJpbGl0eU9iamVjdFdyYXBwZXJBdGsuY3BwIFwKQEAgLTM3MTYsNyArMzcyNSw2
IEBAIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L2d0ay9U
ZXh0QnJlYWtJdGVyYXRvckd0ay5jcHAKIGVuZGlmCiAKLQogIyAtLS0KICMgQ2hhbm5lbCBtZXNh
Z2luZyBzdXBwb3J0CiAjIC0tLQpkaWZmIC0tZ2l0IGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaCBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29y
ay9zb3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgKaW5kZXggZTQ0N2NmYy4uNmU1ZmFiMiAx
MDA2NDQKLS0tIGEvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3Nv
dXAtY2FjaGUuaAorKysgYi9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJr
aXQvc291cC1jYWNoZS5oCkBAIC0yMywxMyArMjMsOCBAQAogI2lmbmRlZiBXRUJLSVRfU09VUF9D
QUNIRV9ICiAjZGVmaW5lIFdFQktJVF9TT1VQX0NBQ0hFX0ggMQogCi0jaWYgQlVJTERJTkdfR1RL
X18KLSNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVmaW5lcy5oPgotI2Vsc2UKLSNpZm5kZWYgV0VC
S0lUX0FQSQotI2RlZmluZSBXRUJLSVRfQVBJCi0jZW5kaWYKLSNlbmRpZgorI2RlZmluZSBXRUJL
SVRfQVBJIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkpCisjZGVmaW5lIFdF
QktJVF9PQlNPTEVURV9BUEkgV0VCS0lUX0FQSSBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSkK
IAogI2luY2x1ZGUgPGxpYnNvdXAvc291cC10eXBlcy5oPgogI2luY2x1ZGUgPGdpby9naW8uaD4K
ZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXgg
Nzk0ZDljNi4uOTNhODgzNCAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2Vi
S2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyMCBAQAorMjAxMC0xMS0yMCAgQW1ydXRoIFJhaiAg
PGFtcnV0aHJhakBtb3Rvcm9sYS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2li
aGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEp
LgorCisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBw
b3J0LgorICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3
MzY5KQorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IFdlYktpdDIgR1RLIHBvcnQgbWFrZWZp
bGUuCisgICAgICAgICogV2ViS2l0MlByZWZpeC5oOiBDaGFuZ2VzIHRvIHByb3Blcmx5IGNvbXBp
bGUgR1RLIHBvcnQuIEl0IGlzIGluY2x1ZGVkCisgICAgICAgIGFzIHRoZSBmaXJzdCBoZWFkZXIg
ZmlsZSBmb3IgYW55IGNwcCBmaWxlIGFuZCBlbnN1cmVzIHRoYXQgYXV0b3Rvb2xzY29uZmlnLmgK
KyAgICAgICAgV2ViQ29yZS9jb25maWcuZyBhbmQgd3RmL1BsYWZvcm0uaCBhcmUgaW5jbHVkZWQg
YmVmb3JlIGFueSBvdGhlciBoZWFkZXIgZmlsZS4KKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcDogTWFkZSB0aGUgaGVhZGVyIGZpbGUg
UGx1Z2luVmlldy5oCisgICAgICAgIGV4cGxpY2l0IHRvIGJlIHBpY2tlZCBmcm9tIFdlYktpdDIg
YmVjYXVzZSBieSBkZWZhdWx0IGl0IHBpY2tzIFdlYkNvcmUvUGx1Z2luVmlldy5oLgorICAgICAg
ICBUaGlzIGlzIGJlY2F1c2Ugd2UgYWRkIHdlYmNvcmUgZmxhZ3MgYmVmb3JlIHdlYmtpdDIgZmxh
Z3MgZm9yIGluY2x1ZGluZyBjb25maWcuaAorICAgICAgICAqIGd0azogQWRkZWQuCisgICAgICAg
ICogZ3RrL3dlYmtpdDIucGMuaW46IEFkZGVkLgorCiAyMDEwLTExLTE3ICBBbmRyZWFzIEtsaW5n
ICA8a2xpbmdAd2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBLZW5uZXRoIFJvaGRl
IENocmlzdGlhbnNlbi4KZGlmZiAtLWdpdCBhL1dlYktpdDIvR05VbWFrZWZpbGUuYW0gYi9XZWJL
aXQyL0dOVW1ha2VmaWxlLmFtCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjNk
YmY5MmMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtCkBAIC0wLDAg
KzEsNjUyIEBACisjIFNoYXJlZCBsaWJyYXJpZXMKK2xpYl9MVExJQlJBUklFUyArPSBcCisJbGli
d2Via2l0Mmd0ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9N
SU5PUl9WRVJTSU9OQC5sYQorCitub2Rpc3RfRVhUUkFfbGlid2Via2l0Mmd0a19AV0VCS0lUR1RL
X0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VS
Q0VTID0gXAorCSQod2ViY29yZV9idWlsdF9ub3NvdXJjZXMpCisKK25vZGlzdF9saWJ3ZWJraXQy
Z3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZF
UlNJT05AX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJjb3JlX2J1aWx0X3NvdXJjZXMpIFwKKwkkKHdl
YmtpdDJfYnVpbHRfc291cmNlcykKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpP
Ul9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYWRpciA9ICQocHJlZml4
KS9pbmNsdWRlL3dlYmtpdDItQFdFQktJVEdUS19BUElfVkVSU0lPTkAvQExJQldFQktJVEdUS19E
SVJACitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRH
VEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0hFQURFUlMgPSBcCisJJCh3ZWJraXQyX2hfYXBpKQor
CitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtf
QVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJjb3JlX3NvdXJjZXMpIFwK
KwkkKHdlYmNvcmVndGtfc291cmNlcykgXAorCSQod2Via2l0Ml9zb3VyY2VzKQorCitsaWJ3ZWJr
aXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9S
X1ZFUlNJT05AX2xhX0NYWEZMQUdTID0gXAorCSQoZ2xvYmFsX2N4eGZsYWdzKQorCitsaWJ3ZWJr
aXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9S
X1ZFUlNJT05AX2xhX0NGTEFHUyA9IFwKKwkkKGdsb2JhbF9jZmxhZ3MpCisKKyMgV2hlbiBidWls
ZGluZyBXZWJDb3JlL1dlYktpdCwgd2Ugd2FudCBXZWJDb3JlL2NvbmZpZy5oIGFuZCBOT1QgSmF2
YVNjcmlwdENvcmUvY29uZmlnLmgsCisjIGhlbmNlLCBpdCdzIGltcG9ydGFudCB0aGF0IFdlYkNv
cmUvIHNob3VsZCBjb21lIGZpcnN0IGJlZm9yZSBKYXZhU2NyaXB0Q29yZSBpbiB0aGUKKyMgaW5j
bHVkZSBwYXRoLgorbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9A
V0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DUFBGTEFHUyA9IFwKKwktREJVSUxESU5H
X1dFQktJVCBcCisJLURQQUNLQUdFX0xPQ0FMRV9ESVI9XCIkKGxvY2FsZWRpcilcIiBcCisJLURE
QVRBX0RJUj1cIiR7ZGF0YWRpcn1cIiBcCisJJChnbG9iYWxfY3BwZmxhZ3MpIFwKKwkkKHdlYmNv
cmVfY3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVndGtfY3BwZmxhZ3MpIFwKKwkkKHdlYmtpdDJfY3Bw
ZmxhZ3MpIFwKKwkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKSBcCisJLWZuby1zdHJpY3QtYWxp
YXNpbmcgXAorCSQoSElMRE9OX0NQUEZMQUdTKSBcCisJJChDT1ZFUkFHRV9DRkxBR1MpIFwKKwkk
KEVOQ0hBTlRfQ0ZMQUdTKSBcCisJJChHQUlMX0NGTEFHUykgXAorCSQoR0VPQ0xVRV9DRkxBR1Mp
IFwKKwkkKEdMSUJfQ0ZMQUdTKSBcCisJJChHU1RSRUFNRVJfQ0ZMQUdTKSBcCisJJChHVEtfQ0ZM
QUdTKSBcCisJJChISUxET05fQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykgXAorCSQoTElC
WE1MX0NGTEFHUykgXAorCSQoTElCWFNMVF9DRkxBR1MpIFwKKwkkKFNRTElURTNfQ0ZMQUdTKSBc
CisJJChVTklDT0RFX0NGTEFHUykgXAorCSQoWFRfQ0ZMQUdTKQorCisjIEZvciB0aGUgR3RrIHBv
cnQgd2Ugd2FudCB0byB1c2UgWFBfVU5JWCBib3RoIGluIFgxMSBhbmQgTWFjCitpZiAhVEFSR0VU
X1dJTjMyCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJL
SVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTICs9IFwKKwktRFhQX1VOSVgKK2Vu
ZGlmCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJ
VEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfTERGTEFHUyA9IFwKKwktdmVyc2lvbi1pbmZvIEBM
SUJXRUJLSVRHVEtfVkVSU0lPTkAgXAorCSQodmVyc2lvbl9zY3JpcHQpIFwKKwkkKG5vX3VuZGVm
aW5lZCkKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VC
S0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MSUJBREQgPSBcCisJLWxwdGhyZWFkIFwKKwls
aWJKYXZhU2NyaXB0Q29yZS5sYSBcCisJJChHU1RSRUFNRVJfTElCUykgXAorCSQoR1RLX0xJQlMp
IFwKKwkkKEhJTERPTl9MSUJTKSBcCisJJChKUEVHX0xJQlMpIFwKKwkkKExJQlNPVVBfTElCUykg
XAorCSQoTElCWE1MX0xJQlMpIFwKKwkkKExJQlhTTFRfTElCUykgXAorCSQoUEFOR09fTElCUykg
XAorCSQoUE5HX0xJQlMpIFwKKwkkKFNRTElURTNfTElCUykgXAorCSQoVU5JQ09ERV9MSUJTKSBc
CisJJChYVF9MSUJTKQorCitwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCitwa2dj
b25maWdfREFUQSA9IFdlYktpdDIvZ3RrL0BXRUJLSVRHVEtfUENfTkFNRUAtQFdFQktJVEdUS19B
UElfVkVSU0lPTkAucGMKKword2Via2l0Ml9oX2FwaSArPSBcCisJJChXZWJLaXQyKS9TaGFyZWQv
QVBJL2MvV0tBcnJheS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBcCisJ
JChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tDZXJ0aWZpY2F0ZUluZm8uaCBcCisJJChXZWJLaXQy
KS9TaGFyZWQvQVBJL2MvV0tEYXRhLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLRGlj
dGlvbmFyeS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmggXAorCSQoV2Vi
S2l0MikvU2hhcmVkL0FQSS9jL1dLRXZlbnQuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2Mv
V0tHZW9tZXRyeS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5o
IFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmggXAorCSQo
V2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQ
SS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9j
L1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlUHJpdmF0ZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9B
UEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTdHJp
bmcuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTdHJpbmdQcml2YXRlLmggXAorCSQo
V2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVHlwZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkv
Yy9XS1VSTC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuaCBcCisJ
JChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5oIFwKKwkkKFdlYktpdDIpL1No
YXJlZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwkkKFdlYktpdDIpL1NoYXJl
ZC9BUEkvYy9ndGsvV0tCYXNlR3RrLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9jcHAv
V0tSZXRhaW5QdHIuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV2ViS2l0Mi5oIFwK
KwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBcCisJJChXZWJLaXQyKS9V
SVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nl
c3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHRQcml2YXRlLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLRm9ybVN1Ym1pc3Np
b25MaXN0ZW5lci5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lLmggXAor
CSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIFwKKwkk
KFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS05hdGl2ZUV2ZW50LmggXAorCSQoV2ViS2l0Mikv
VUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRhdGEuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZU5h
bWVzcGFjZS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmgg
XAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJJChXZWJL
aXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBcCisJJChXZWJLaXQy
KS9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLQVBJQ2FzdGlHdGsuaCBcCisJJChXZWJLaXQyKS9VSVBy
b2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5oCisJCit3ZWJraXQyX3NvdXJjZXMgKz0gXAorCVdlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudENvZGVyLmggXAorCVdlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9Bcmd1bWVudENvZGVycy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJn
dW1lbnREZWNvZGVyLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVj
b2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5oIFwKKwlXZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRzLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9BdHRhY2htZW50LmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0F0dGFjaG1lbnQu
aCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5jcHAgXAorCVdl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaCBcCisJV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
Q29ubmVjdGlvbi5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29yZUlQQ01lc3NhZ2VL
aW5kcy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvRGF0YVJlZmVyZW5jZS5jcHAgXAor
CVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9EYXRhUmVmZXJlbmNlLmggXAorCVdlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9ndGsvQ29ubmVjdGlvbkd0ay5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9IYW5kbGVNZXNzYWdlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNz
YWdlSUQuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvTW9kdWxlR3RrLmNwcCBcCisJV2ViS2l0
Mi9QbGF0Zm9ybS9ndGsvUnVuTG9vcEd0ay5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vZ3RrL1No
YXJlZE1lbW9yeUd0ay5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vZ3RrL1dvcmtRdWV1ZUd0ay5j
cHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0v
TG9nZ2luZy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5jcHAgXAorCVdlYktpdDIvUGxh
dGZvcm0vTW9kdWxlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRp
Zmllci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuY3BwIFwKKwlXZWJLaXQyL1BsYXRm
b3JtL1J1bkxvb3AuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Xb3JrSXRlbS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5j
cHAgXAorCVdlYktpdDIvUGxhdGZvcm0vV29ya1F1ZXVlLmggXAorCVdlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Db250cm9sbGVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3Mv
UGx1Z2luQ29udHJvbGxlclByb3h5LmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Q
cm9jZXNzLmNwcCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBcCisJ
V2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3NNYWluLmggXAorCVdlYktpdDIvUGx1
Z2luUHJvY2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9XZWJQcm9jZXNzQ29ubmVjdGlvbi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9ndGsv
V0tCYXNlR3RrLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSUNsaWVudC5oIFwKKwlXZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0FycmF5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tBcnJheS5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tDZXJ0aWZpY2F0ZUluZm8uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NlcnRp
ZmljYXRlSW5mby5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RhdGEuY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS0RhdGEuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEaWN0
aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5LmggXAorCVdl
YktpdDIvU2hhcmVkL0FQSS9jL1dLRXJyb3IuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S0Vycm9yLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRXZlbnQuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tHZW9tZXRyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFi
bGVBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5LmggXAor
CVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLTnVtYmVyLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tOdW1iZXIuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKKwlXZWJLaXQyL1No
YXJlZC9BUEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tTaGFyZWRBUElDYXN0LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dL
U3RyaW5nLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tTdHJpbmdQcml2YXRlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9j
L1dLVHlwZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVHlwZS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS1VSTC5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMLmgg
XAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHAgXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJl
c3BvbnNlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgXAorCVdlYktp
dDIvU2hhcmVkL0FQSS9jL1dLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggXAorCVdlYktpdDIvU2hh
cmVkL0FQSU9iamVjdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9CYWNraW5nU3RvcmUuY3BwIFwKKwlX
ZWJLaXQyL1NoYXJlZC9CYWNraW5nU3RvcmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2Rl
bC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db21tYW5kTGluZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9D
b3JlSVBDU3VwcG9ydC9EcmF3aW5nQXJlYU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9Db3JlSVBDU3VwcG9ydC9EcmF3aW5nQXJlYVByb3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktp
dDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L0luamVjdGVkQnVuZGxlTWVzc2FnZUtpbmRzLmggXAor
CVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYkNvbnRleHRNZXNzYWdlS2luZHMuaCBc
CisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFnZVByb3h5TWVzc2FnZUtpbmRz
LmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlByb2Nlc3NQcm94eU1lc3Nh
Z2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUJhc2UuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvRmluZE9wdGlvbnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvRm9udFNtb290aGluZ0xl
dmVsLmggXAorCVdlYktpdDIvU2hhcmVkL2d0ay9CYWNraW5nU3RvcmVHdGsuY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9ndGsvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEd0ay5jcHAgXAorCVdlYktpdDIv
U2hhcmVkL2d0ay9QbGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKKwlXZWJLaXQyL1NoYXJlZC9n
dGsvVXBkYXRlQ2h1bmsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRlQ2h1bmsuaCBc
CisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAgXAorCVdl
YktpdDIvU2hhcmVkL2d0ay9XZWJFdmVudEZhY3RvcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9n
dGsvV2ViRXZlbnRGYWN0b3J5LmggXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmNw
cCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
SW1tdXRhYmxlRGljdGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZURpY3Rp
b25hcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTXV0YWJsZUFycmF5LmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvTXV0YWJsZUFycmF5LmggXAorCVdlYktpdDIvU2hhcmVkL011dGFibGVEaWN0aW9uYXJ5
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Ob3RJbXBs
ZW1lbnRlZC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9TdHJpbmdQYWlyVmVjdG9yLmggXAorCVdlYktp
dDIvU2hhcmVkL1VzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1Zpc2l0ZWRM
aW5rVGFibGUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmggXAorCVdl
YktpdDIvU2hhcmVkL1dlYkNlcnRpZmljYXRlSW5mby5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJD
b3JlQXJndW1lbnRDb2RlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRGF0YS5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9XZWJFcnJvci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYkVycm9yLmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L1dlYkV2ZW50Q29udmVyc2lvbi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVudC5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9XZWJOYXZpZ2F0aW9uRGF0YVN0b3JlLmggXAorCVdlYktpdDIvU2hhcmVk
L1dlYk51bWJlci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJz
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQb3B1
cEl0ZW0uaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAgXAorCVdl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2Vi
UHJvY2Vzc0NyZWF0aW9uUGFyYW1ldGVycy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlByb2Nl
c3NDcmVhdGlvblBhcmFtZXRlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViU2VyaWFsaXplZFNj
cmlwdFZhbHVlLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlN0cmluZy5oIFwKKwlXZWJLaXQyL1No
YXJlZC9XZWJVUkwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVxdWVzdC5jcHAgXAorCVdl
YktpdDIvU2hhcmVkL1dlYlVSTFJlcXVlc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVz
cG9uc2UuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXNwb25zZS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9XZWJVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvZ3RrL1dLQVBJQ2FzdEd0ay5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsv
V0tWaWV3LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dlYktpdDIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmNwcCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4
dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tGcmFtZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlz
dGVuZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVu
ZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdmlnYXRpb25EYXRhLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLUGFnZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L0RyYXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVBy
b3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0dlbmVyaWND
YWxsYmFjay5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvQ2h1bmtlZFVwZGF0ZURyYXdpbmdB
cmVhUHJveHlHdGsuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3LmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvZ3RrL1dlYlZpZXcuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJbnRl
cm5hbC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9UaHJlYWRMYXVuY2hlckd0ay5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9UaHJlYWRMYXVuY2hlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL1RocmVhZExhdW5jaGVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0xheWVyQmFja2Vk
RHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0xheWVyQmFja2VkRHJh
d2luZ0FyZWFQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9TdG9yZUd0ay5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5Qcm9jZXNzTWFuYWdlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lu
cy9QbHVnaW5Qcm9jZXNzUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzTW9kZWwuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvVmlz
aXRlZExpbmtQcm92aWRlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJv
dmlkZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYkJhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJC
YWNrRm9yd2FyZExpc3RJdGVtLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYkNvbnRleHRJbmplY3RlZEJ1bmRsZUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJDb250ZXh0VXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRWRp
dENvbW1hbmRQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkVkaXRDb21tYW5kUHJv
eHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRmluZENsaWVudC5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybUNs
aWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1DbGllbnQuaCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYkZyYW1lTGlzdGVuZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBv
bGljeUxpc3RlbmVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGlj
eUxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViSGlzdG9yeUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkhpc3RvcnlD
bGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
Yk5hdmlnYXRpb25EYXRhLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvbkRh
dGEuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZU5hbWVzcGFjZS5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3BhY2UuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
UGFnZVByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL1dlYlBvbGljeUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYlBvbGljeUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94
eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nl
c3NNYW5hZ2VyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc01hbmFnZXIuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50
LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJL
aXQyUHJlZml4LmNwcCBcCisJV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9ndGsvV2ViUHJvY2Vzc01haW5HdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
Z3RrL1dlYlByb2Nlc3NNYWluR3RrLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZUFQSUNhc3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZVByaXZhdGUuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3Bw
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRU
ZXN0UmVzdWx0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUluaXRpYWxpemUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2Uu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFn
ZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dL
QnVuZGxlUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVSYW5nZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVJhbmdlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlU2NyaXB0V29ybGQuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5v
ZGVIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0lu
amVjdGVkQnVuZGxlTm9kZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvRE9NL0luamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5o
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRU
ZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVj
dGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRm9y
bUNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNs
aWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2VVSUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
SW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBNZXRob2QuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9KU05QTWV0aG9kLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL0pTTlBPYmplY3QuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QT2Jq
ZWN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2Fw
ZVBsdWdpbkd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlQnJvd3NlckZ1bmNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVCcm93c2VyRnVuY3MuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0u
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTlBSdW50aW1lT2JqZWN0TWFwLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05QUnVudGltZVV0aWxpdGllcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05Q
UnVudGltZVV0aWxpdGllcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5D
b250cm9sbGVyLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblZpZXcuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5WaWV3LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJy
b3JzR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJG
cmFtZU5ldHdvcmtpbmdDb250ZXh0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNs
aWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFcnJvcnMuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xp
ZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JD
bGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVj
dG9yQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViUGxhdGZvcm1TdHJhdGVnaWVzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydC9XZWJQb3B1cE1lbnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViUG9wdXBNZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9X
ZWJTZWFyY2hQb3B1cE1lbnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViU2VhcmNoUG9wdXBNZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJLaXRNYWlu
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdB
cmVhLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdp
bmdBcmVhLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9GaW5kUGFnZU92ZXJsYXkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5k
UGFnZU92ZXJsYXkuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0NodW5rZWRV
cGRhdGVEcmF3aW5nQXJlYUd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0
ay9XZWJQYWdlR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNr
ZWREcmF3aW5nQXJlYS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFj
a2VkRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJs
YXkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkVkaXRDb21tYW5kLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRWRpdENvbW1hbmQuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViRnJhbWUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9X
ZWJGcmFtZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUHJvY2Vzcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzTWFpbi5oCisKK3dlYmtpdDJfY3BwZmxhZ3Mg
Kz0gXAorCS1pbmNsdWRlICQoc3JjZGlyKS9XZWJLaXQyL1dlYktpdDJQcmVmaXguaCBcCisJLUkk
KHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQodG9wX2J1aWxkZGlyKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvSmF2YVNjcmlwdENvcmUgXAorCS1JJCh0b3Bf
YnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJDb3JlIFwKKwktSSQo
dG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViS2l0MiBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9ndGsgXAorCS1JJChz
cmNkaXIpL1dlYktpdDIvUGxhdGZvcm0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ayBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
UGx1Z2luUHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvU2hhcmVkL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL2d0ayBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
U2hhcmVkL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ayBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2NwcCBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9VSVByb2Nlc3MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVu
Y2hlciBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9j
ZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvZ3RrIFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0xhdW5jaGluZyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMg
XAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9ndGsgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ayBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0aworCit3ZWJraXQyX2J1aWx0X3NvdXJjZXMgKz0gXAorCURlcml2ZWRT
b3VyY2VzL1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlcy5oIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJLaXQyL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyTWVzc2FnZVJlY2VpdmVyLmNw
cCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Db250cm9sbGVyUHJveHlNZXNzYWdl
cy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpbkNvbnRyb2xsZXJQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc01l
c3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc01lc3NhZ2VS
ZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc1Byb3h5
TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzUHJveHlN
ZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpblByb3h5
TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGV4dE1lc3NhZ2Vz
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIFwK
KwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2VzLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2Vi
UHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwCisKKyMgRW5zdXJlIHRo
YXQgdGhlIHByZWZpeCBoZWFkZXIgaXMgYnVpbHQgYmVmb3JlCitCVUlMVF9TT1VSQ0VTICs9IFwK
KwkkKHdlYmtpdDJfYnVpbHRfc291cmNlcykgXAorCWdlbmVyYXRlLXdlYmtpdDItZm9yd2FyZGlu
Zy1oZWFkZXJzCisKK0ZvcndhcmRpbmdIZWFkZXJzIDo9ICQoR0VOU09VUkNFU19XRUJLSVQyKS9p
bmNsdWRlCitIdHRwU3RhY2sgOj0gQEhUVFBfU1RBQ0tACitnZW5lcmF0ZS13ZWJraXQyLWZvcndh
cmRpbmctaGVhZGVyczogJChzcmNkaXIpL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9y
d2FyZGluZy1oZWFkZXJzLnBsCisJJChBTV9WX2F0KSQobWtkaXJfcCkgJChGb3J3YXJkaW5nSGVh
ZGVycykvSmF2YVNjcmlwdENvcmUKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRpbmdI
ZWFkZXJzKS9XZWJDb3JlCisJJChBTV9WX2F0KSQobWtkaXJfcCkgJChGb3J3YXJkaW5nSGVhZGVy
cykvV2ViS2l0MgorCSQoQU1fVl9HRU4pJChQRVJMKSAkPCAkKFdlYktpdDIpICQoRm9yd2FyZGlu
Z0hlYWRlcnMpIGd0ayAkKEh0dHBTdGFjaykgCisKKyMgTWVzc2FnZSBoZWFkZXIgZ2VuZXJhdGlv
bgordnBhdGggJS5tZXNzYWdlcy5pbiA9IFwKKwkkKFdlYktpdDIpL1BsdWdpblByb2Nlc3MgXAor
CSQoV2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzIFwKKwkk
KFdlYktpdDIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMgXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL1Bs
dWdpbnMgXAorCSQoV2ViS2l0MikvV2ViUHJvY2VzcyBcCisJJChXZWJLaXQyKS9XZWJQcm9jZXNz
L1BsdWdpbnMgXAorCSQoV2ViS2l0MikvV2ViUHJvY2Vzcy9XZWJQYWdlIAorCittZXNzYWdlX2dl
bl9zY3JpcHRzID0gXAorCSQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlLXJlY2Vp
dmVyLnB5IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZXMtaGVhZGVyLnB5
IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvd2Via2l0Mi9fX2luaXRfXy5weSBcCisJJChXZWJLaXQy
KS9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKworRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8l
TWVzc2FnZVJlY2VpdmVyLmNwcDogJS5tZXNzYWdlcy5pbiAkKG1lc3NhZ2VfZ2VuX3NjcmlwdHMp
CisJJChBTV9WX0dFTikkKFBZVEhPTikgJChzcmNkaXIpL1dlYktpdDIvU2NyaXB0cy9nZW5lcmF0
ZS1tZXNzYWdlLXJlY2VpdmVyLnB5ICQ8ID4gJEAKKworRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8l
TWVzc2FnZXMuaDogJS5tZXNzYWdlcy5pbiAkKG1lc3NhZ2VfZ2VuX3NjcmlwdHMpCisJJChBTV9W
X0dFTikkKFBZVEhPTikgJChzcmNkaXIpL1dlYktpdDIvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdl
cy1oZWFkZXIucHkgJDwgPiAkQAorCitDTEVBTkZJTEVTICs9IFwKKwkkKEJVSUxUX1NPVVJDRVMp
IFwKKwkkKHRvcF9idWlsZGRpcikvV2ViS2l0Mi9ndGsvQFdFQktJVEdUS19QQ19OQU1FQC1AV0VC
S0lUR1RLX0FQSV9WRVJTSU9OQC5wYyBcCisJJCh0b3BfYnVpbGRkaXIpL1Byb2dyYW1zL1dlYktp
dFdlYlByb2Nlc3MKKworIyBXZWJLaXRXZWJQcm9jZXNzCitiaW5fUFJPR1JBTVMgKz0gXAorCVBy
b2dyYW1zL1dlYktpdFdlYlByb2Nlc3MKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DUFBG
TEFHUyA9IFwKKwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyIFwKKwkt
SSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUgXAorCS1JJCh0
b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJDb3JlIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
QyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ayBcCisJJChnbG9iYWxfY3Bw
ZmxhZ3MpIFwKKwkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKQorCitQcm9ncmFtc19XZWJLaXRX
ZWJQcm9jZXNzX0NGTEFHUyA9IFwKKwkkKGdsb2JhbF9jZmxhZ3MpIFwKKwkkKEdUS19DRkxBR1Mp
IFwKKwkkKExJQlNPVVBfQ0ZMQUdTKQorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX1NPVVJD
RVMgPSBcCisJV2ViS2l0Mi9ndGsvTWFpbkd0ay5jcHAKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJv
Y2Vzc19MREFERCA9IFwKKwlsaWJKYXZhU2NyaXB0Q29yZS5sYSBcCisJbGlid2Via2l0Mmd0ay1A
V0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9O
QC5sYSBcCisJJChHVEtfTElCUykgXAorCSQoR0xJQl9MSUJTKSBcCisJJChMSUJTT1VQX0xJQlMp
CisKK1Byb2dyYW1zX1dlYktpdFdlYlByb2Nlc3NfTERGTEFHUyA9IFwKKwktbm8tZmFzdC1pbnN0
YWxsIFwKKwktbm8taW5zdGFsbApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyUHJlZml4Lmgg
Yi9XZWJLaXQyL1dlYktpdDJQcmVmaXguaAppbmRleCA0NjMxMjFjLi5jMGE0ZTBlIDEwMDY0NAot
LS0gYS9XZWJLaXQyL1dlYktpdDJQcmVmaXguaAorKysgYi9XZWJLaXQyL1dlYktpdDJQcmVmaXgu
aApAQCAtMSw1ICsxLDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBB
bGwgcmlnaHRzIHJlc2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9y
b2xhIE1vYmlsaXR5LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJp
YnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91
dAogICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxv
d2luZyBjb25kaXRpb25zCkBAIC0yMywxMSArMjQsMTMgQEAKICAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KICAqLyAKIAorI2lmICFkZWZpbmVkIChCVUlMRElOR19HVEtfXykKICNp
bmNsdWRlIDx3dGYvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvRGlzYWxsb3dDVHlwZS5oPgog
I2lmZGVmIF9fY3BsdXNwbHVzCiAjaW5jbHVkZSA8d3RmL0Zhc3RNYWxsb2MuaD4KICNlbmRpZgor
I2VuZGlmIC8qICFkZWZpbmVkIChCVUlMRElOR19HVEtfXykgKi8KIAogI2lmZGVmIF9fY3BsdXNw
bHVzCiAjZGVmaW5lIEVYVEVSTl9DX0JFR0lOIGV4dGVybiAiQyIgewpAQCAtMTA4LDQgKzExMSw5
IEBAIHN0YXRpYyBjb25zdCB0eXBlJiBuYW1lKCkgXAogI2luY2x1ZGUgPENvcmVHcmFwaGljcy9D
b3JlR3JhcGhpY3MuaD4KICNlbmRpZgogCi0jZW5kaWYgLyogZGVmaW5lZChXSU4zMikgfHwgZGVm
aW5lZChfV0lOMzIpICovCisjZWxpZiBkZWZpbmVkKEJVSUxESU5HX0dUS19fKSAKKyNkZWZpbmUg
SlNfRVhQT1JUREFUQQorI2RlZmluZSBKU19FWFBPUlRDTEFTUworI2RlZmluZSBfX1NURENfRk9S
TUFUX01BQ1JPUworI2luY2x1ZGUgPFdlYkNvcmUvY29uZmlnLmg+CisjZW5kaWYgLyogZGVmaW5l
ZChCVUlMRElOR19HVEtfXykgKi8KZGlmZiAtLWdpdCBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJD
b3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgYi9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwCmluZGV4IDAzMjMxZjQuLjE4
OTVjMDggMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJG
cmFtZUxvYWRlckNsaWVudC5jcHAKKysrIGIvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcApAQCAtMzAsNyArMzAsNiBAQAogCiAjaW5jbHVk
ZSAiSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIgogI2luY2x1ZGUgIlBsYXRmb3Jt
Q2VydGlmaWNhdGVJbmZvLmgiCi0jaW5jbHVkZSAiUGx1Z2luVmlldy5oIgogI2luY2x1ZGUgIlN0
cmluZ1BhaXJWZWN0b3IuaCIKICNpbmNsdWRlICJXZWJDb250ZXh0TWVzc2FnZXMuaCIKICNpbmNs
dWRlICJXZWJDb3JlQXJndW1lbnRDb2RlcnMuaCIKQEAgLTY0LDYgKzYzLDcgQEAKICNpbmNsdWRl
IDxXZWJDb3JlL1VJRXZlbnRXaXRoS2V5U3RhdGUuaD4KICNpbmNsdWRlIDxXZWJDb3JlL1dpZGdl
dC5oPgogI2luY2x1ZGUgPFdlYkNvcmUvV2luZG93RmVhdHVyZXMuaD4KKyNpbmNsdWRlIDxXZWJL
aXQyL1BsdWdpblZpZXcuaD4KIAogdXNpbmcgbmFtZXNwYWNlIFdlYkNvcmU7CiAKZGlmZiAtLWdp
dCBhL1dlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4gYi9XZWJLaXQyL2d0ay93ZWJraXQyLnBjLmlu
Cm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZlZWVlODAKLS0tIC9kZXYvbnVs
bAorKysgYi9XZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCkBAIC0wLDAgKzEsMTEgQEAKK3ByZWZp
eD1AcHJlZml4QAorZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAorbGliZGlyPUBsaWJkaXJACitp
bmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiBXZWJLaXQyCitEZXNjcmlwdGlvbjogV2Vi
IGNvbnRlbnQgZW5naW5lIGZvciBHVEsrCitWZXJzaW9uOiBAVkVSU0lPTkAKK1JlcXVpcmVzOiBn
bGliLTIuMCBndGsrLUBHVEtfQVBJX1ZFUlNJT05AIGxpYnNvdXAtMi40CitMaWJzOiAtTCR7bGli
ZGlyfSAtbHdlYmtpdDJndGstQFdFQktJVEdUS19BUElfVkVSU0lPTkAKK0NmbGFnczogLUkke2lu
Y2x1ZGVkaXJ9L3dlYmtpdDItQFdFQktJVEdUS19BUElfVkVSU0lPTkAgCmRpZmYgLS1naXQgYS9X
ZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFuZ2VMb2cKaW5kZXggYWUwYWE3
OS4uZDJkMDFlMiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hhbmdlTG9nCisrKyBiL1dlYktp
dFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDEwLTExLTIwICBSYXZpIEthc2li
aGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2Vk
IGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBnZW5lcmF0ZS1mb3J3YXJkaW5n
LWhlYWRlcnMucGwgZm9yIEdUSyBwb3J0IHVzYWdlIAorICAgICAgICAoaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgICogU2NyaXB0cy9nZW5l
cmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGw6IEZvciBHVEsgcG9ydCwgdGFraW5nIDEgZXh0cmEg
YXJndW1lbnQgZm9yIGNvcHlpbmcgbmV0d29yayBoZWFkZXJzLgorCiAyMDEwLTExLTE3ICBBZGFt
IFJvYmVuICA8YXJvYmVuQGFwcGxlLmNvbT4KIAogICAgICAgICBEb24ndCB0cmlnZ2VyIFdpbmRv
d3MgYnVpbGRzIHdoZW4gY2hyb21pdW0td2luIHRlc3QgcmVzdWx0cyBjaGFuZ2UKZGlmZiAtLWdp
dCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBsIGIv
V2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKaW5kZXgg
ZWQ1ODcwMi4uOTdmNTc0MCAxMDA3NTUKLS0tIGEvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0
ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKKysrIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0
ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKQEAgLTQ2LDggKzQ2LDE4IEBAIG15ICRvdXRwdXREaXJl
Y3RvcnkgPSAkQVJHVlswXTsKIHNoaWZ0OwogbXkgJHBsYXRmb3JtICA9ICRBUkdWWzBdOwogCitt
eSAkbmV0d29yazsKK2lmICgkcGxhdGZvcm0gPX4gImd0ayIpIHsKKyAgICBzaGlmdDsKKyAgICAk
bmV0d29yayA9ICRBUkdWWzBdOworfQorCiBmb3JlYWNoIG15ICRwcmVmaXggKEBwbGF0Zm9ybVBy
ZWZpeGVzKSB7Ci0gICAgcHVzaChAc2tpcHBlZFByZWZpeGVzLCAkcHJlZml4KSB1bmxlc3MgKCRw
cmVmaXggPX4gJHBsYXRmb3JtKTsKKyAgICBpZiAoJHBsYXRmb3JtID1+ICJndGsiKSB7CisgICAg
ICAgIHB1c2goQHNraXBwZWRQcmVmaXhlcywgJHByZWZpeCkgdW5sZXNzICgkcHJlZml4ID1+ICRw
bGF0Zm9ybSBvciAkcHJlZml4ID1+ICRuZXR3b3JrKTsKKyAgICB9IGVsc2UgeworICAgICAgICBw
dXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxhdGZv
cm0pOworICAgIH0KIH0KIAogZm9yZWFjaCAoQGZyYW1ld29ya3MpIHsKZGlmZiAtLWdpdCBhL2Nv
bmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBjZjdhNjdhLi40YzA5OTgwIDEwMDY0NAot
LS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC04ODcsNiArODg3LDIyIEBA
IGlmIHRlc3QgIiRlbmFibGVfdmlkZW8iID0gInllcyI7IHRoZW4KICAgICBodG1sX2ZsYWdzPXll
cwogZmkKIAorIyBXZWJLaXQyCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gYnVpbGQgV2Vi
a2l0Ml0pCitBQ19BUkdfRU5BQkxFKHdlYmtpdDIsCisgICAgICAgICAgICBBQ19IRUxQX1NUUklO
RyhbLS1lbmFibGUtd2Via2l0Ml0sCisgICAgICAgICAgICAgICAgW2J1aWxkIHdlYmtpdDIgW2Rl
ZmF1bHQ9bm9dXSksCisgICAgICAgICAgICAgICAgW10sIFtlbmFibGVfd2Via2l0Mj0ibm8iXSkK
K0FDX01TR19SRVNVTFQoWyRlbmFibGVfd2Via2l0Ml0pCitpZiB0ZXN0ICIkZW5hYmxlX3dlYmtp
dDIiID0gInllcyI7IHRoZW4KKyMgRGV0ZXJtaW5lIGh0dHAgc3RhY2sgbGlicmFyeSBkeW5hbWlj
YWxseSB0byBzdXBwb3J0IGxpYmN1cmwgYWxzbyBpbiBXSzIuCisjIEN1cnJlbnRseSBhc3N1bWlu
ZyBpdCB0byBiZSBsaWJzb3VwLgorSFRUUF9TVEFDSz0ic291cCIKK1dFQktJVEdUS19QQ19OQU1F
PSR7V0VCS0lUR1RLX1BDX05BTUV9MgorQUNfU1VCU1QoW0hUVFBfU1RBQ0tdKQorQUNfU1VCU1Qo
W1dFQktJVEdUS19QQ19OQU1FXSkKK2ZpCisKIEdUS19ET0NfQ0hFQ0soWzEuMTBdKQogCiAjIE9T
IGNvbmRpdGlvbmFscwpAQCAtOTU5LDEzICs5NzUsMTggQEAgQU1fQ09ORElUSU9OQUwoW0hUTUxf
RkxBR1NdLFt0ZXN0ICIkaHRtbF9mbGFncyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX1dFQl9TT0NLRVRTXSxbdGVzdCAiJGVuYWJsZV93ZWJfc29ja2V0cyIgPSAieWVzIl0pCiBB
TV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9USU1JTkddLFt0ZXN0ICIkZW5hYmxlX3dlYl90aW1p
bmciID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9PUENPREVfU1RBVFNdLFt0ZXN0
ICIkZW5hYmxlX29wY29kZV9zdGF0cyIgPSAieWVzIl0pCitBTV9DT05ESVRJT05BTChbRU5BQkxF
X1dFQktJVDJdLFt0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyJdKQogCiAjIEd0ayBjb25k
aXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSU5UUk9TUEVDVElPTl0sW3Rlc3QgIiRl
bmFibGVfaW50cm9zcGVjdGlvbiIgPSAieWVzIl0pCiAKLQogQUNfQ09ORklHX0ZJTEVTKFsKIEdO
VW1ha2VmaWxlCitdCispCisgCitpZiB0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gIm5vIjsgdGhl
bgorQUNfQ09ORklHX0ZJTEVTKFsKIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaAog
V2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxlCiBXZWJLaXQvZ3RrL2RvY3MvdmVyc2lvbi54bWwK
QEAgLTk3OSw2ICsxMDAwLDEzIEBAIFdlYktpdC9ndGsvb3JnLndlYmtpdGd0ay0ke1dFQktJVEdU
S19BUElfVkVSU0lPTn0uZ3NjaGVtYS54bWw6V2ViS2l0L2d0ay9vcmcud2ViCiBdCiAsW1dFQktJ
VEdUS19BUElfVkVSU0lPTj0kV0VCS0lUR1RLX0FQSV9WRVJTSU9OLFdFQktJVEdUS19QQ19OQU1F
PSRXRUJLSVRHVEtfUENfTkFNRV0KICkKK2Vsc2UKK0FDX0NPTkZJR19GSUxFUyhbCitXZWJLaXQy
L2d0ay8ke1dFQktJVEdUS19QQ19OQU1FfS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2Vi
S2l0Mi9ndGsvd2Via2l0Mi5wYy5pbgorXQorLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdFQktJ
VEdUS19BUElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVdCisp
CitmaQogCiBBQ19PVVRQVVQKIApAQCAtMTAzNSw2ICsxMDYzLDcgQEAgR1RLKyBjb25maWd1cmF0
aW9uOgogIEdESyB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIDogJHdpdGhfdGFyZ2V0CiAgSGlsZG9uIFVJIGV4dGVuc2lvbnMgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0aF9oaWxkb24KICBJbnRyb3NwZWN0aW9uIHN1
cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfaW50cm9z
cGVjdGlvbgorIFdlYktpdDIgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIDogJGVuYWJsZV93ZWJraXQyCiAiCiBpZiB0ZXN0ICIkd2l0aF91bmljb2RlX2Jh
Y2tlbmQiID0gImdsaWIiOyB0aGVuCiAgICBlY2hvICIgICAgID4+IFdBUk5JTkc6IHRoZSBnbGli
LWJhc2VkIHVuaWNvZGUgYmFja2VuZCBpcyBzbG93IGFuZCBpbmNvbXBsZXRlIDw8Igo=
</data>
<flag name="review"
          id="65016"
          type_id="1"
          status="-"
          setter="mrobinson"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>74925</attachid>
            <date>2010-11-26 05:33:59 -0800</date>
            <delta_ts>2010-12-10 00:03:49 -0800</delta_ts>
            <desc>Makefile changes to building the WebKit2 GTK port</desc>
            <filename>makefile_rework_nov26.patch</filename>
            <type>text/plain</type>
            <size>43781</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCA4NDUwODFhLi5kNGE0N2Ey
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAK
KzIwMTAtMTEtMjYgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2
aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBi
dWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OiBDaGFuZ2VzIHRvIGluY2x1ZGUgZWl0aGVyIG9mIFdlYktpdDEgb3IgV2ViS2l0MiBHTlVtYWtl
ZmlsZS5hbS4KKyAgICAgICAgSXQgYWxzbyBleGx1ZGVzIFVuaXR0ZXN0cywgRHVtcHJlbmRlclRy
ZWUsIEd0a0xhdW5jaGVyIGV0YyBmb3IgV2ViS2l0Mi4KKyAgICAgICAgKiBjb25maWd1cmUuYWM6
IE9wdGlvbiBmb3IgZW5hYmxlIG9yIGRpc2FibGUgV2ViS2l0Mi4KKwogMjAxMC0xMS0xNyAgTWFy
dGluIFJvYmluc29uICA8bXJvYmluc29uQGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgR3VzdGF2byBOb3JvbmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvR05VbWFrZWZpbGUuYW0gYi9H
TlVtYWtlZmlsZS5hbQppbmRleCA4ODg0ZmNiLi43Njg4MzQ2IDEwMDY0NAotLS0gYS9HTlVtYWtl
ZmlsZS5hbQorKysgYi9HTlVtYWtlZmlsZS5hbQpAQCAtMzQsMTAgKzM0LDEyIEBAIEdFTlNPVVJD
RVMgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzCiBHRU5TT1VSQ0VTX0pBVkFTQ1JJ
UFRDT1JFIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9KYXZhU2NyaXB0Q29yZQog
R0VOU09VUkNFU19XRUJDT1JFIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJD
b3JlCiBHRU5TT1VSQ0VTX1dFQktJVCA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMv
d2Via2l0CitHRU5TT1VSQ0VTX1dFQktJVDIgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIKIEdFTlBST0dSQU1TIDo9ICQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcwogR0VO
U09VUkNFU19JTlNQRUNUT1IgOj0gJChHRU5QUk9HUkFNUykvcmVzb3VyY2VzL2luc3BlY3Rvcgog
V2ViQ29yZSA6PSAkKHNyY2RpcikvV2ViQ29yZQogV2ViS2l0IDo9ICQoc3JjZGlyKS9XZWJLaXQv
Z3RrCitXZWJLaXQyIDo9ICQoc3JjZGlyKS9XZWJLaXQyCiAKICMgTGlicmFyaWVzIGFuZCBzdXBw
b3J0IGNvbXBvbmVudHMKIGJpbl9QUk9HUkFNUyA6PQpAQCAtNjksNiArNzEsMTAgQEAgd2Via2l0
Z3RrX2NwcGZsYWdzIDo9CiB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzIDo9CiB3ZWJraXRn
dGtfYnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X25vc291cmNlcyA6PQord2Via2l0
Ml9oX2FwaSA6PQord2Via2l0Ml9jcHBmbGFncyA6PQord2Via2l0Ml9zb3VyY2VzIDo9Cit3ZWJr
aXQyX2J1aWx0X3NvdXJjZXMgOj0KIGdsb2JhbF9jcHBmbGFncyA6PQogZ2xvYmFsX2NmbGFncyA6
PQogZ2xvYmFsX2N4eGZsYWdzIDo9CkBAIC0yMDUsMTAgKzIxMSwxNSBAQCBFWFRSQV9ESVNUICs9
IFwKICMgSW5jbHVkZSBtb2R1bGUgbWFrZWZpbGVzCiBpbmNsdWRlIEphdmFTY3JpcHRDb3JlL0dO
VW1ha2VmaWxlLmFtCiBpbmNsdWRlIFdlYkNvcmUvR05VbWFrZWZpbGUuYW0KKyMgSW5jbHVkZSBt
b2R1bGUgbWFrZWZpbGVzIGJhc2VkIG9uIHdlYmtpdCBhcmNoCitpZiBFTkFCTEVfV0VCS0lUMgor
aW5jbHVkZSBXZWJLaXQyL0dOVW1ha2VmaWxlLmFtCitlbHNlICAjRU5BQkxFX1dFQktJVDIKIGlu
Y2x1ZGUgV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViS2l0VG9vbHMvR05VbWFrZWZpbGUu
YW0KIGluY2x1ZGUgV2ViS2l0L2d0ay9wby9HTlVtYWtlZmlsZS5hbQorZW5kaWYgI0VOQUJMRV9X
RUJLSVQyCiAKICMgQXV0b2dlbmVyYXRlZCBzb3VyY2VzCiBCVUlMVF9TT1VSQ0VTICs9IFwKZGlm
ZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggZjVh
YjNhZi4uYTM2ODU1NSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VMb2cKKysrIGIvV2ViQ29y
ZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMS0yNiAgQW1ydXRoIFJhaiAgPGFt
cnV0aHJhakBtb3Rvcm9sYS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0
bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgor
CisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0
CisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkp
CisKKyAgICAgICAgTm8gbmV3IGZ1bmN0aW9uYWxpdHkgYWRkZWQgb3IgZGVsZXRlZC4gT25seSBt
YWtlZmlsZSBjaGFuZ2UuIEhlbmNlLCBubyB0ZXN0cyBhZGRlZC4KKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOiBDaGFuZ2VzIHRvIGRpc2FibGUgYnVpbGRpbmcgb2YgV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0IHdoZW4gYnVpbGRpbmcgV2ViS2l0Mi4KKyAgICAgICAgKiBwbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaDogUmVtb3ZlIGluY2x1ZGUgPHdlYmtp
dC93ZWJraXRkZWZpbmVzLmg+IGFuZCBkZWNsYXJlIFdFQktJVF9BUEkgZGlyZWN0bHkKKwogMjAx
MC0xMS0xOCAgTmlrb2xhcyBaaW1tZXJtYW5uICA8bnppbW1lcm1hbm5AcmltLmNvbT4KIAogICAg
ICAgICBSZXZpZXdlZCBieSBEaXJrIFNjaHVsemUuCmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1h
a2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQppbmRleCA1ZGNiZmMyLi4xZDdjMDQz
IDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFr
ZWZpbGUuYW0KQEAgLTcsMTAgKzcsMTAgQEAgV0VCQ09SRV9DU1NfVkFMVUVfS0VZV09SRFMgOj0g
JChXZWJDb3JlKS9jc3MvQ1NTVmFsdWVLZXl3b3Jkcy5pbgogd2ViY29yZV9jcHBmbGFncyArPSBc
CiAJLUkkKHNyY2RpcikvV2ViQ29yZSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9hY2Nlc3NpYmls
aXR5IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzIFwKIAktSSQoc3JjZGlyKS9XZWJD
b3JlL2JpbmRpbmdzL2dlbmVyaWMgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvanMg
XAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvanMvc3BlY2lhbGl6YXRpb24gXAotCS1J
JChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ29iamVjdCBcCiAJLUkkKHNyY2RpcikvV2ViQ29y
ZS9icmlkZ2UgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlL2MgXAogCS1JJChzcmNkaXIp
L1dlYkNvcmUvYnJpZGdlL2puaS9qc2MgXApAQCAtNzIsNiArNzIsMTEgQEAgd2ViY29yZV9jcHBm
bGFncyArPSBcCiAJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENv
cmUgXAogCS1EREFUQV9ESVI9XCIke2RhdGFkaXJ9XCIKIAoraWYgIUVOQUJMRV9XRUJLSVQyCit3
ZWJjb3JlX2NwcGZsYWdzICs9IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QKK2VuZGlmCisKIHdlYmNvcmVndGtfY3BwZmxhZ3MgKz0gXAogCS1EV0VCS0lUR1RLX0FQSV9W
RVJTSU9OX1NUUklORz1cIkBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AXCIgXAogCS1EV1RGX1VTRV9T
T1VQPTEgXApAQCAtNjM3LDE5ICs2NDIsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNv
cmUvYmluZGluZ3MvZ2VuZXJpYy9HZW5lcmljQmluZGluZy5oIFwKIAlXZWJDb3JlL2JpbmRpbmdz
L2dlbmVyaWMvUnVudGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29i
amVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0
L0NvbnZlcnRUb1VURjhTdHJpbmcuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmpl
Y3RFdmVudExpc3RlbmVyLmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RF
dmVudExpc3RlbmVyLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5k
aW5nLmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCBc
Ci0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcCBcCi0J
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmggXAotCVdlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaCBcCi0JV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHAgXAotCVdlYkNvcmUvYmlu
ZGluZ3MvZ29iamVjdC9XZWJLaXRET01PYmplY3QuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKLQlXZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oIFwKIAlXZWJDb3Jl
L2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggXAogCVdlYkNvcmUvYmlu
ZGluZ3MvanMvRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9q
cy9ET01PYmplY3RIYXNoVGFibGVNYXAuaCBcCkBAIC0zNTA2LDYgKzM0OTgsMjMgQEAgd2ViY29y
ZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3htbC9YU0xUVW5pY29kZVNvcnQuY3BwIFwKIAlXZWJD
b3JlL3htbC9YU0xUVW5pY29kZVNvcnQuaAogCitpZiAhRU5BQkxFX1dFQktJVDIKK3dlYmNvcmVf
c291cmNlcyArPSBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJp
bmcuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5o
IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwIFwK
KwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuaCBcCisJV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuY3BwIFwKKwlXZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dv
YmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvV2ViS2l0RE9NRXZlbnRUYXJnZXQuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUV2ZW50VGFyZ2V0UHJpdmF0ZS5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
V2ViS2l0RE9NT2JqZWN0LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERP
TU9iamVjdC5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRX
cmFwcGVyRmFjdG9yeS5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1M
RWxlbWVudFdyYXBwZXJGYWN0b3J5LmgKK2VuZGlmCisKIHdlYmNvcmVndGtfc291cmNlcyArPSBc
CiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0QXRrLmNwcCBc
CiAJV2ViQ29yZS9hY2Nlc3NpYmlsaXR5L2d0ay9BY2Nlc3NpYmlsaXR5T2JqZWN0V3JhcHBlckF0
ay5jcHAgXApAQCAtMzcxNiw3ICszNzI1LDYgQEAgd2ViY29yZWd0a19zb3VyY2VzICs9IFwKIAlX
ZWJDb3JlL3BsYXRmb3JtL3RleHQvZ3RrL1RleHRCcmVha0l0ZXJhdG9yR3RrLmNwcAogZW5kaWYK
IAotCiAjIC0tLQogIyBDaGFubmVsIG1lc2FnaW5nIHN1cHBvcnQKICMgLS0tCmRpZmYgLS1naXQg
YS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5o
IGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUu
aAppbmRleCBlNDQ3Y2ZjLi5jY2M5MjRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25l
dHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZv
cm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgKQEAgLTIzLDEyICsyMywx
NiBAQAogI2lmbmRlZiBXRUJLSVRfU09VUF9DQUNIRV9ICiAjZGVmaW5lIFdFQktJVF9TT1VQX0NB
Q0hFX0ggMQogCi0jaWYgQlVJTERJTkdfR1RLX18KLSNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVm
aW5lcy5oPgorI2lmZGVmIEdfT1NfV0lOMzIKKyAgICAjaWZkZWYgQlVJTERJTkdfV0VCS0lUCisg
ICAgICAgICNkZWZpbmUgV0VCS0lUX0FQSSBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKyAgICAjZWxz
ZQorICAgICAgICAjZGVmaW5lIFdFQktJVF9BUEkgX19kZWNsc3BlYyhkbGxpbXBvcnQpCisgICAg
I2VuZGlmCisgICAgI2RlZmluZSBXRUJLSVRfT0JTT0xFVEVfQVBJIFdFQktJVF9BUEkKICNlbHNl
Ci0jaWZuZGVmIFdFQktJVF9BUEkKLSNkZWZpbmUgV0VCS0lUX0FQSQotI2VuZGlmCisjZGVmaW5l
IFdFQktJVF9BUEkgX19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKKyNkZWZp
bmUgV0VCS0lUX09CU09MRVRFX0FQSSBXRUJLSVRfQVBJIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0
ZWQpKQogI2VuZGlmCiAKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAtdHlwZXMuaD4KZGlmZiAtLWdp
dCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cKaW5kZXggNzk0ZDljNi4u
OGRkNTNiYiAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0Mi9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNyBAQAorMjAxMC0xMS0yNiAgQW1ydXRoIFJhaiAgPGFtcnV0aHJh
akBtb3Rvcm9sYS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90
b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0LgorICAg
ICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisg
ICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkLiBXZWJLaXQyIEdUSyBwb3J0IG1ha2VmaWxl
LgorICAgICAgICAqIFdlYktpdDJQcmVmaXguaDogQ2hhbmdlcyB0byBwcm9wZXJseSBjb21waWxl
IEdUSyBwb3J0LiBJdCBpcyBpbmNsdWRlZAorICAgICAgICBhcyB0aGUgZmlyc3QgaGVhZGVyIGZp
bGUgZm9yIGFueSBjcHAgZmlsZSBhbmQgZW5zdXJlcyB0aGF0IGF1dG90b29sc2NvbmZpZy5oCisg
ICAgICAgIFdlYkNvcmUvY29uZmlnLmcgYW5kIHd0Zi9QbGFmb3JtLmggYXJlIGluY2x1ZGVkIGJl
Zm9yZSBhbnkgb3RoZXIgaGVhZGVyIGZpbGUuCisgICAgICAgICogZ3RrOiBBZGRlZC4KKyAgICAg
ICAgKiBndGsvd2Via2l0Mi5wYy5pbjogQWRkZWQuCisKIDIwMTAtMTEtMTcgIEFuZHJlYXMgS2xp
bmcgIDxrbGluZ0B3ZWJraXQub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEtlbm5ldGggUm9o
ZGUgQ2hyaXN0aWFuc2VuLgpkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbSBiL1dl
YktpdDIvR05VbWFrZWZpbGUuYW0KbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4u
OWVmNzliNwotLS0gL2Rldi9udWxsCisrKyBiL1dlYktpdDIvR05VbWFrZWZpbGUuYW0KQEAgLTAs
MCArMSw2OTAgQEAKKworIyBXZWJLaXQyIENvbnZlbmllbmNlIGxpYnJhcmllcworbm9pbnN0X0xU
TElCUkFSSUVTICs9IFwKKwlsaWJXZWJLaXQyLmxhCisKK2xpYldlYktpdDJfbGFkaXIgPSAkKHBy
ZWZpeCkvaW5jbHVkZS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL1dlYktpdDIKK2xp
YldlYktpdDJfbGFfSEVBREVSUyA9IFwKKwkkKHdlYmtpdDJfaF9hcGkpCisKK25vZGlzdF9saWJX
ZWJLaXQyX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJraXQyX2J1aWx0X3NvdXJjZXMpCisKK2xpYldl
YktpdDJfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmtpdDJfc291cmNlcykKKworbGliV2ViS2l0Ml9s
YV9DUFBGTEFHUyA9IFwKKwktZm5vLXN0cmljdC1hbGlhc2luZyBcCisJJChnbG9iYWxfY3BwZmxh
Z3MpIFwKKwkkKHdlYmtpdDJfY3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVfY3BwZmxhZ3MpIFwKKwkk
KHdlYmNvcmVndGtfY3BwZmxhZ3MpIFwKKwkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKQorCits
aWJXZWJLaXQyX2xhX0NYWEZMQUdTID0gXAorCSQoZ2xvYmFsX2N4eGZsYWdzKSBcCisJJChsaWJX
ZWJLaXQyX2xhX0NGTEFHUykKKworbGliV2ViS2l0Ml9sYV9DRkxBR1MgPSBcCisJJChnbG9iYWxf
Y2ZsYWdzKSBcCisJJChDT1ZFUkFHRV9DRkxBR1MpIFwKKwkkKEdMSUJfQ0ZMQUdTKSBcCisJJChH
VEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykgXAorCSQoVU5JQ09ERV9DRkxBR1MpIFwK
KwkkKFhUX0NGTEFHUykKKworbGliV2ViS2l0Ml9sYV9MSUJBREQgPSBcCisJLWxwdGhyZWFkIFwK
KwkkKENBSVJPX0xJQlMpIFwKKwkkKENPVkVSQUdFX0xERkxBR1MpIFwKKwkkKEdMSUJfTElCUykg
XAorCSQoR1RLX0xJQlMpIFwKKwkkKExJQlNPVVBfTElCUykgXAorCSQoVU5JQ09ERV9MSUJTKSBc
CisJJChYVF9MSUJTKQorCisjIFNoYXJlZCBsaWJyYXJpZXMKK2xpYl9MVExJQlJBUklFUyArPSBc
CisJbGlid2Via2l0Mmd0ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RL
X0FQSV9NSU5PUl9WRVJTSU9OQC5sYQorCitub2Rpc3RfRVhUUkFfbGlid2Via2l0Mmd0a19AV0VC
S0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9s
YV9TT1VSQ0VTID0gXAorCSQod2ViY29yZV9idWlsdF9ub3NvdXJjZXMpCisKK25vZGlzdF9saWJ3
ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01J
Tk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJjb3JlX2J1aWx0X3NvdXJjZXMpCisK
K2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19B
UElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmNvcmVfc291cmNlcykgXAor
CSQod2ViY29yZWd0a19zb3VyY2VzKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01B
Sk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NYWEZMQUdTID0g
XAorCSQoZ2xvYmFsX2N4eGZsYWdzKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01B
Sk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NGTEFHUyA9IFwK
KwkkKGdsb2JhbF9jZmxhZ3MpCisKKyMgV2hlbiBidWlsZGluZyBXZWJDb3JlLCB3ZSB3YW50IFdl
YkNvcmUvY29uZmlnLmggYW5kIE5PVCBKYXZhU2NyaXB0Q29yZS9jb25maWcuaCwKKyMgaGVuY2Us
IGl0J3MgaW1wb3J0YW50IHRoYXQgV2ViQ29yZS8gc2hvdWxkIGNvbWUgZmlyc3QgYmVmb3JlIEph
dmFTY3JpcHRDb3JlIGluIHRoZQorIyBpbmNsdWRlIHBhdGguCitsaWJ3ZWJraXQyZ3RrX0BXRUJL
SVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xh
X0NQUEZMQUdTID0gXAorCS1EQlVJTERJTkdfV0VCS0lUIFwKKwktRFBBQ0tBR0VfTE9DQUxFX0RJ
Uj1cIiQobG9jYWxlZGlyKVwiIFwKKwktRERBVEFfRElSPVwiJHtkYXRhZGlyfVwiIFwKKwkkKGds
b2JhbF9jcHBmbGFncykgXAorCSQod2ViY29yZV9jcHBmbGFncykgXAorCSQod2ViY29yZWd0a19j
cHBmbGFncykgXAorCSQoamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MpIFwKKwktZm5vLXN0cmljdC1h
bGlhc2luZyBcCisJJChISUxET05fQ1BQRkxBR1MpIFwKKwkkKENPVkVSQUdFX0NGTEFHUykgXAor
CSQoRU5DSEFOVF9DRkxBR1MpIFwKKwkkKEdBSUxfQ0ZMQUdTKSBcCisJJChHRU9DTFVFX0NGTEFH
UykgXAorCSQoR0xJQl9DRkxBR1MpIFwKKwkkKEdTVFJFQU1FUl9DRkxBR1MpIFwKKwkkKEdUS19D
RkxBR1MpIFwKKwkkKEhJTERPTl9DRkxBR1MpIFwKKwkkKExJQlNPVVBfQ0ZMQUdTKSBcCisJJChM
SUJYTUxfQ0ZMQUdTKSBcCisJJChMSUJYU0xUX0NGTEFHUykgXAorCSQoU1FMSVRFM19DRkxBR1Mp
IFwKKwkkKFVOSUNPREVfQ0ZMQUdTKSBcCisJJChYVF9DRkxBR1MpCisKKyMgRm9yIHRoZSBHdGsg
cG9ydCB3ZSB3YW50IHRvIHVzZSBYUF9VTklYIGJvdGggaW4gWDExIGFuZCBNYWMKK2lmICFUQVJH
RVRfV0lOMzIKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdF
QktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfQ1BQRkxBR1MgKz0gXAorCS1EWFBfVU5JWAor
ZW5kaWYKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VC
S0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MREZMQUdTID0gXAorCS12ZXJzaW9uLWluZm8g
QExJQldFQktJVEdUS19WRVJTSU9OQCBcCisJJCh2ZXJzaW9uX3NjcmlwdCkgXAorCSQobm9fdW5k
ZWZpbmVkKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0xJQkFERCA9IFwKKwktbHB0aHJlYWQgXAor
CWxpYkphdmFTY3JpcHRDb3JlLmxhIFwKKwlsaWJXZWJLaXQyLmxhIFwKKwkkKEdTVFJFQU1FUl9M
SUJTKSBcCisJJChHVEtfTElCUykgXAorCSQoSElMRE9OX0xJQlMpIFwKKwkkKEpQRUdfTElCUykg
XAorCSQoTElCU09VUF9MSUJTKSBcCisJJChMSUJYTUxfTElCUykgXAorCSQoTElCWFNMVF9MSUJT
KSBcCisJJChQQU5HT19MSUJTKSBcCisJJChQTkdfTElCUykgXAorCSQoU1FMSVRFM19MSUJTKSBc
CisJJChVTklDT0RFX0xJQlMpIFwKKwkkKFhUX0xJQlMpCisKK3BrZ2NvbmZpZ2RpciA9ICQobGli
ZGlyKS9wa2djb25maWcKK3BrZ2NvbmZpZ19EQVRBID0gV2ViS2l0Mi9ndGsvQFdFQktJVEdUS19Q
Q19OQU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5wYworCisjIFdlYktpdDIgc3BlY2lmaWMg
dmFyaWFibGVzCit3ZWJraXQyX2hfYXBpICs9IFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9X
S0FycmF5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIFwKKwkkKFdlYktp
dDIpL1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5oIFwKKwkkKFdlYktpdDIpL1NoYXJl
ZC9BUEkvYy9XS0RhdGEuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5
LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLRXJyb3IuaCBcCisJJChXZWJLaXQyKS9T
aGFyZWQvQVBJL2MvV0tFdmVudC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0dlb21l
dHJ5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5LmggXAorCSQo
V2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJJChXZWJLaXQy
KS9TaGFyZWQvQVBJL2MvV0tOdW1iZXIuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tT
ZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJp
YWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dL
U2hhcmVkQVBJQ2FzdC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oIFwK
KwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJJChXZWJLaXQy
KS9TaGFyZWQvQVBJL2MvV0tUeXBlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVVJM
LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5oIFwKKwkkKFdlYktp
dDIpL1NoYXJlZC9BUEkvYy9XS1VSTFJlc3BvbnNlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQ
SS9jL1dLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9j
L2d0ay9XS0Jhc2VHdGsuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFp
blB0ci5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmggXAorCSQoV2Vi
S2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vz
cy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Qy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZh
dGUuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3Rl
bmVyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJJChXZWJL
aXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggXAorCSQoV2ViS2l0
MikvVUlQcm9jZXNzL0FQSS9DL1dLTmF0aXZlRXZlbnQuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nl
c3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2UuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNl
LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBcCisJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oIFwKKwkkKFdlYktpdDIpL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwkkKFdlYktpdDIpL1VJUHJv
Y2Vzcy9BUEkvQy9ndGsvV0tBUElDYXN0aUd0ay5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9B
UEkvQy9ndGsvV0tWaWV3LmgKKwkKK3dlYmtpdDJfc291cmNlcyArPSBcCisJV2ViS2l0Mi9QbGF0
Zm9ybS9Db3JlSVBDL0FyZ3VtZW50Q29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0FyZ3VtZW50Q29kZXJzLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERl
Y29kZXIuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVyLmgg
XAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuY3BwIFwKKwlXZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmggXAorCVdlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9Bcmd1bWVudHMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0F0dGFj
aG1lbnQuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXR0YWNobWVudC5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmNwcCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMvQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0
aW9uLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db3JlSVBDTWVzc2FnZUtpbmRzLmgg
XAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9EYXRhUmVmZXJlbmNlLmNwcCBcCisJV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0RhdGFSZWZlcmVuY2UuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9D
b3JlSVBDL2d0ay9Db25uZWN0aW9uR3RrLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0hhbmRsZU1lc3NhZ2UuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL01lc3NhZ2VJRC5o
IFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9Nb2R1bGVHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRm
b3JtL2d0ay9SdW5Mb29wR3RrLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvU2hhcmVkTWVt
b3J5R3RrLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9ndGsvV29ya1F1ZXVlR3RrLmNwcCBcCisJ
V2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5nLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Mb2dnaW5n
LmggXAorCVdlYktpdDIvUGxhdGZvcm0vTW9kdWxlLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9N
b2R1bGUuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9QbGF0Zm9ybVByb2Nlc3NJZGVudGlmaWVyLmgg
XAorCVdlYktpdDIvUGxhdGZvcm0vUnVuTG9vcC5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vUnVu
TG9vcC5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1NoYXJlZE1lbW9yeS5oIFwKKwlXZWJLaXQyL1Bs
YXRmb3JtL1dvcmtJdGVtLmggXAorCVdlYktpdDIvUGxhdGZvcm0vV29ya1F1ZXVlLmNwcCBcCisJ
V2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuaCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1Bs
dWdpbkNvbnRyb2xsZXJQcm94eS5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkuaCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3Mu
Y3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5oIFwKKwlXZWJLaXQy
L1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzc01haW4uaCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzL1dlYlByb2Nlc3NDb25uZWN0aW9uLmNwcCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1dl
YlByb2Nlc3NDb25uZWN0aW9uLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL2d0ay9XS0Jhc2VH
dGsuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJQ2xpZW50LmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0FycmF5LmggXAorCVdl
YktpdDIvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Nl
cnRpZmljYXRlSW5mby5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2VydGlmaWNhdGVJ
bmZvLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGF0YS5jcHAgXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLRGF0YS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RpY3Rpb25hcnku
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RpY3Rpb25hcnkuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tFcnJvci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRXJyb3Iu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFdmVudC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS0dlb21ldHJ5LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tO
dW1iZXIuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS051bWJlci5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5jcHAgXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS1NoYXJlZEFQSUNhc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTdHJpbmcu
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tUeXBl
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tUeXBlLmggXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLVVJMLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkwuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXF1ZXN0LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tVUkxSZXF1ZXN0LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVzcG9uc2Uu
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlc3BvbnNlLmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
T2JqZWN0LmggXAorCVdlYktpdDIvU2hhcmVkL0JhY2tpbmdTdG9yZS5jcHAgXAorCVdlYktpdDIv
U2hhcmVkL0JhY2tpbmdTdG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9DYWNoZU1vZGVsLmggXAor
CVdlYktpdDIvU2hhcmVkL0NvbW1hbmRMaW5lLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENT
dXBwb3J0L0RyYXdpbmdBcmVhTWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJ
UENTdXBwb3J0L0RyYXdpbmdBcmVhUHJveHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQ29yZUlQQ1N1cHBvcnQvSW5qZWN0ZWRCdW5kbGVNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViQ29udGV4dE1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQYWdlUHJveHlNZXNzYWdlS2luZHMuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZUtpbmRz
LmggXAorCVdlYktpdDIvU2hhcmVkL0RyYXdpbmdBcmVhQmFzZS5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9GaW5kT3B0aW9ucy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Gb250U21vb3RoaW5nTGV2ZWwuaCBc
CisJV2ViS2l0Mi9TaGFyZWQvZ3RrL0JhY2tpbmdTdG9yZUd0ay5jcHAgXAorCVdlYktpdDIvU2hh
cmVkL2d0ay9OYXRpdmVXZWJLZXlib2FyZEV2ZW50R3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
Z3RrL1BsYXRmb3JtQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktpdDIvU2hhcmVkL2d0ay9VcGRh
dGVDaHVuay5jcHAgXAorCVdlYktpdDIvU2hhcmVkL2d0ay9VcGRhdGVDaHVuay5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9ndGsvV2ViQ29yZUFyZ3VtZW50Q29kZXJzR3RrLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL2d0ay9XZWJF
dmVudEZhY3RvcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuY3BwIFwKKwlX
ZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFi
bGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGljdGlvbmFyeS5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9N
dXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTXV0YWJsZURpY3Rpb25hcnkuY3BwIFwK
KwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9O
YXRpdmVXZWJLZXlib2FyZEV2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL05vdEltcGxlbWVudGVk
LmggXAorCVdlYktpdDIvU2hhcmVkL1N0cmluZ1BhaXJWZWN0b3IuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvVXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvVmlzaXRlZExpbmtUYWJs
ZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1Zpc2l0ZWRMaW5rVGFibGUuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViQ2VydGlmaWNhdGVJbmZvLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkNvcmVBcmd1
bWVudENvZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJEYXRhLmggXAorCVdlYktpdDIvU2hh
cmVkL1dlYkVycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXJyb3IuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvV2ViRXZlbnRDb252ZXJzaW9uLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZl
bnRDb252ZXJzaW9uLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50LmggXAorCVdlYktpdDIv
U2hhcmVkL1dlYk5hdmlnYXRpb25EYXRhU3RvcmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViTnVt
YmVyLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuY3BwIFwK
KwlXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAorCVdlYktpdDIv
U2hhcmVkL1dlYlBvcHVwSXRlbS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlBvcHVwSXRlbS5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNz
Q3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJTZXJpYWxpemVkU2NyaXB0VmFs
dWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViU3RyaW5nLmggXAorCVdlYktpdDIvU2hhcmVkL1dl
YlVSTC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXF1ZXN0LmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViVVJMUmVxdWVzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXNwb25zZS5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlc3BvbnNlLmggXAorCVdlYktpdDIvU2hhcmVk
L1dlYlVzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9n
dGsvV0tBUElDYXN0R3RrLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL0FQSS9jcHAvV0tSZXRhaW5QdHIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV2ViS2l0Mi5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0FQSUNhc3QuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLRnJhbWUuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Zy
YW1lLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWVQb2xpY3lMaXN0ZW5lci5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS05hdGl2ZUV2ZW50LmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRhdGEuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS05hdmlnYXRpb25EYXRhLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFn
ZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZS5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1BhZ2VOYW1lc3BhY2UuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1BhZ2VOYW1lc3BhY2UuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
UHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmNwcCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0No
dW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1
bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2lu
Z0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVhUHJveHkuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0ZpbmRJbmRpY2F0b3IuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvR2VuZXJpY0NhbGxiYWNr
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94
eUd0ay5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJDb250ZXh0R3RrLmNwcCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXcuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViVmlldy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFsLmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJbnRlcm5hbC5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvUHJvY2Vzc0xhdW5jaGVyR3RrLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrL1RocmVhZExhdW5jaGVyR3RrLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvUHJvY2Vzc0xhdW5jaGVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0xh
dW5jaGVyL1RocmVhZExhdW5jaGVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIv
VGhyZWFkTGF1bmNoZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJCYWNrZWREcmF3aW5n
QXJlYVByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF5ZXJCYWNrZWREcmF3aW5nQXJl
YVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BhZ2VDbGllbnQuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9ndGsvUGx1Z2luSW5mb1N0b3JlR3RrLmNwcCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5JbmZvU3RvcmUuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NNYW5hZ2VyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzTWFuYWdlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blByb2Nlc3NQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJv
Y2Vzc1Byb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Byb2Nlc3NNb2RlbC5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlu
a1Byb3ZpZGVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92aWRlci5o
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3QuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3
YXJkTGlzdEl0ZW0uaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29u
dGV4dEluamVjdGVkQnVuZGxlQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRl
eHRVc2VyTWVzc2FnZUNvZGVycy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJFZGl0Q29tbWFu
ZFByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRWRpdENvbW1hbmRQcm94eS5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGaW5kQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRmluZENsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xpZW50LmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJGb3JtU3VibWlzc2lvbkxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViRnJhbWVMaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJh
bWVMaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlz
dGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUG9saWN5TGlzdGVu
ZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJI
aXN0b3J5Q2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSGlzdG9yeUNsaWVudC5o
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJMb2FkZXJDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmF2aWdh
dGlvbkRhdGEuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uRGF0YS5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlTmFtZXNwYWNlLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViUGFnZU5hbWVzcGFjZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJv
eHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUG9saWN5Q2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9s
aWN5Q2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBvcHVwTWVudVByb3h5LmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYlByZWZlcmVuY2VzLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUHJlZmVyZW5jZXMuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc01hbmFn
ZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzTWFuYWdlci5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJQcm9jZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYktpdDJQcmVm
aXguY3BwIFwKKwlXZWJLaXQyL1dlYktpdDJQcmVmaXguaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9ndGsvV2Vi
UHJvY2Vzc01haW5HdGsuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1
bHQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
SW5pdGlhbGl6ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVOb2RlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlUHJpdmF0ZS5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlUHJpdmF0
ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQ
cml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1
bmRsZVJhbmdlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0FQSS9jL1dLQnVuZGxlUmFuZ2VIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlU2NyaXB0V29ybGQuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVTY3JpcHRXb3JsZC5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlTm9kZUhhbmRs
ZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRC
dW5kbGVOb2RlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9E
T00vSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVSYW5nZUhhbmRsZS5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvZ3RrL0luamVjdGVkQnVuZGxlR3RrLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1
bHQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVIaXRUZXN0UmVzdWx0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VGb3JtQ2xpZW50
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxl
UGFnZUZvcm1DbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZVVJQ2xpZW50LmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFn
ZVVJQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVNjcmlwdFdvcmxkLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlVXNlck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE1ldGhvZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL0pTTlBNZXRob2QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNO
UE9iamVjdC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBPYmplY3QuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvZ3RrL05ldHNjYXBlUGx1Z2lu
R3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVC
cm93c2VyRnVuY3MuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
ZXRzY2FwZUJyb3dzZXJGdW5jcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRz
Y2FwZS9OZXRzY2FwZVBsdWdpbi5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0LmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OUFJ1bnRpbWVPYmplY3RNYXAuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
UFJ1bnRpbWVPYmplY3RNYXAuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50
aW1lVXRpbGl0aWVzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50aW1l
VXRpbGl0aWVzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkNvbnRyb2xs
ZXIuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb25NYW5hZ2VyLmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb3h5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luVmlldy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblZpZXcu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJFcnJvcnNHdGsu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkZyYW1lTmV0
d29ya2luZ0NvbnRleHQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydC9XZWJCYWNrRm9yd2FyZENvbnRyb2xsZXJDbGllbnQuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50LmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNvbnRleHRNZW51Q2xpZW50Lmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVycm9ycy5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRnJhbWVMb2FkZXJDbGllbnQuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGll
bnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3Ry
YXRlZ2llcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0
Zm9ybVN0cmF0ZWdpZXMuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dl
YlBvcHVwTWVudS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQ
b3B1cE1lbnUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNlYXJj
aFBvcHVwTWVudS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJT
ZWFyY2hQb3B1cE1lbnUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYktpdE1haW4uY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEuY3Bw
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWEu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9GaW5kQ29udHJvbGxlci5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0ZpbmRDb250cm9sbGVyLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRQ
YWdlT3ZlcmxheS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRQYWdlT3Zl
cmxheS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvQ2h1bmtlZFVwZGF0ZURy
YXdpbmdBcmVhR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL1dlYlBh
Z2VHdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdp
bmdBcmVhLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3
aW5nQXJlYS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRWRpdENvbW1hbmQuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJFZGl0Q29tbWFuZC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJGcmFtZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1l
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
cm9jZXNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3NNYWluLmgKKword2Via2l0Ml9jcHBmbGFncyArPSBcCisJ
LWluY2x1ZGUgJChzcmNkaXIpL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oIFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL2d0ayBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9QbGF0Zm9ybSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDIFwK
KwktSSQoc3JjZGlyKS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrIFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyL1BsYXRmb3JtL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbHVnaW5Qcm9j
ZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZCBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9TaGFyZWQvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYyBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQy
L1NoYXJlZC9Db3JlSVBDU3VwcG9ydCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvZ3Rr
IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQyBc
CisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrIFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvY3BwIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJv
Y2Vzcy9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvRE9NIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvTGF1bmNo
aW5nIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucyBcCisJLUkkKHNy
Y2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ayBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvZ3RrIFwKKwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyIFwKKwkt
SSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUgXAorCS1JJCh0
b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9KYXZhU2NyaXB0Q29y
ZSBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dl
YkNvcmUgXAorCS1JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVk
ZS9XZWJLaXQyCisKK3dlYmtpdDJfYnVpbHRfc291cmNlcyArPSBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9Eb3dubG9hZFByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9Eb3dubG9hZFByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9OUE9iamVjdE1lc3NhZ2VSZWNlaXZlck1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpbkNvbnRyb2xsZXJQcm94eU1lc3NhZ2VzLmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luQ29udHJvbGxlclByb3h5TWVzc2FnZVJlY2Vp
dmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzTWVzc2FnZXMu
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzTWVzc2FnZVJlY2VpdmVy
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzUHJveHlNZXNzYWdl
cy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpblByb2Nlc3NQcm94eU1lc3NhZ2VS
ZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJveHlNZXNzYWdl
cy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpblByb3h5TWVzc2FnZVJlY2VpdmVy
LmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJDb250ZXh0TWVzc2FnZXMuaCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJDb250ZXh0TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlcy5oIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rvck1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yUHJveHlNZXNzYWdlcy5oIFwKKwlEZXJpdmVk
U291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQYWdlTWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJQYWdlTWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9XZWJQYWdlUHJveHlNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1dlYlBhZ2VQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViUHJvY2Vzc01lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJv
Y2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJv
Y2Vzc1Byb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNz
UHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlBy
b2Nlc3NDb25uZWN0aW9uTWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQ
cm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VSZWNlaXZlci5jcHAKKworQlVJTFRfU09VUkNFUyArPSBc
CisJJCh3ZWJraXQyX2J1aWx0X3NvdXJjZXMpIFwKKwlnZW5lcmF0ZS13ZWJraXQyLWZvcndhcmRp
bmctaGVhZGVycworCitGb3J3YXJkaW5nSGVhZGVycyA6PSAkKEdFTlNPVVJDRVNfV0VCS0lUMikv
aW5jbHVkZQorZ2VuZXJhdGUtd2Via2l0Mi1mb3J3YXJkaW5nLWhlYWRlcnM6ICQoc3JjZGlyKS9X
ZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCAkKHdlYmtp
dDJfc291cmNlcykKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRpbmdIZWFkZXJzKS9K
YXZhU2NyaXB0Q29yZQorCSQoQU1fVl9hdCkkKG1rZGlyX3ApICQoRm9yd2FyZGluZ0hlYWRlcnMp
L1dlYkNvcmUKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRpbmdIZWFkZXJzKS9XZWJL
aXQyCisJJChBTV9WX0dFTikkKFBFUkwpICQ8ICQoV2ViS2l0MikgJChGb3J3YXJkaW5nSGVhZGVy
cykgZ3RrIHNvdXAgCisKK3ZwYXRoICUubWVzc2FnZXMuaW4gPSBcCisJJChXZWJLaXQyKS9QbHVn
aW5Qcm9jZXNzIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9QbHVnaW5zIFwKKwkkKFdlYktpdDIpL1VJ
UHJvY2VzcyBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvRG93bmxvYWRzIFwKKwkkKFdlYktpdDIp
L1VJUHJvY2Vzcy9QbHVnaW5zIFwKKwkkKFdlYktpdDIpL1dlYlByb2Nlc3MgXAorCSQoV2ViS2l0
MikvV2ViUHJvY2Vzcy9QbHVnaW5zIFwKKwkkKFdlYktpdDIpL1dlYlByb2Nlc3MvV2ViUGFnZSAK
KworbWVzc2FnZV9nZW5fc2NyaXB0cyA9IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUt
bWVzc2FnZS1yZWNlaXZlci5weSBcCisJJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1lc3Nh
Z2VzLWhlYWRlci5weSBcCisJJChXZWJLaXQyKS9TY3JpcHRzL3dlYmtpdDIvX19pbml0X18ucHkg
XAorCSQoV2ViS2l0MikvU2NyaXB0cy93ZWJraXQyL21lc3NhZ2VzLnB5CisKKyMgTWVzc2FnZSBo
ZWFkZXIgZ2VuZXJhdGlvbgorRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8lTWVzc2FnZVJlY2VpdmVy
LmNwcDogJS5tZXNzYWdlcy5pbiAkKG1lc3NhZ2VfZ2VuX3NjcmlwdHMpCisJJChBTV9WX0dFTikk
KFBZVEhPTikgJChzcmNkaXIpL1dlYktpdDIvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlLXJlY2Vp
dmVyLnB5ICQ8ID4gJEAKKworRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi8lTWVzc2FnZXMuaDogJS5t
ZXNzYWdlcy5pbiAkKG1lc3NhZ2VfZ2VuX3NjcmlwdHMpCisJJChBTV9WX0dFTikkKFBZVEhPTikg
JChzcmNkaXIpL1dlYktpdDIvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1oZWFkZXIucHkgJDwg
PiAkQAorCitDTEVBTkZJTEVTICs9IFwKKwkkKEJVSUxUX1NPVVJDRVMpIFwKKwkkKHRvcF9idWls
ZGRpcikvV2ViS2l0Mi9ndGsvQFdFQktJVEdUS19QQ19OQU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJT
SU9OQC5wYyBcCisJJCh0b3BfYnVpbGRkaXIpL1Byb2dyYW1zL1dlYktpdFdlYlByb2Nlc3MKKwor
IyBXZWJLaXRXZWJQcm9jZXNzCitiaW5fUFJPR1JBTVMgKz0gXAorCVByb2dyYW1zL1dlYktpdFdl
YlByb2Nlc3MKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DUFBGTEFHUyA9IFwKKwktSSQo
c3JjZGlyKS9XZWJLaXQyIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQyBc
CisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ayBcCisJLUkkKHRvcF9idWlsZGRp
cikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyL2luY2x1ZGUvV2ViQ29yZSBcCisJJChnbG9iYWxfY3BwZmxhZ3MpIFwKKwkkKGph
dmFzY3JpcHRjb3JlX2NwcGZsYWdzKQorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX0NGTEFH
UyA9IFwKKwkkKGdsb2JhbF9jZmxhZ3MpIFwKKwkkKEdUS19DRkxBR1MpIFwKKwkkKExJQlNPVVBf
Q0ZMQUdTKQorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX1NPVVJDRVMgPSBcCisJV2ViS2l0
Mi9ndGsvTWFpbkd0ay5jcHAKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19MREFERCA9IFwK
KwlsaWJ3ZWJraXQyZ3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtf
QVBJX01JTk9SX1ZFUlNJT05ALmxhIFwKKwkkKEdUS19MSUJTKSBcCisJJChHTElCX0xJQlMpIFwK
KwkkKExJQlNPVVBfTElCUykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19MREZMQUdTID0g
XAorCS1uby1mYXN0LWluc3RhbGwgXAorCS1uby1pbnN0YWxsCmRpZmYgLS1naXQgYS9XZWJLaXQy
L1dlYktpdDJQcmVmaXguaCBiL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oCmluZGV4IDQ2MzEyMWMu
Ljg5MTJlNWEgMTAwNjQ0Ci0tLSBhL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oCisrKyBiL1dlYktp
dDIvV2ViS2l0MlByZWZpeC5oCkBAIC0xLDUgKzEsNiBAQAogLyoKICAqIENvcHlyaWdodCAoQykg
MjAxMCBBcHBsZSBJbmMuIEFsbCByaWdodHMgcmVzZXJ2ZWQuCisgKiBQb3J0aW9ucyBDb3B5cmln
aHQgKGMpIDIwMTAgTW90b3JvbGEgTW9iaWxpdHksIEluYy4gIEFsbCByaWdodHMgcmVzZXJ2ZWQu
CiAgKgogICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CiAgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKQEAgLTIzLDYgKzI0LDkgQEAKICAqIFRI
RSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KICAqLyAKIAorI2lmIGRlZmluZWQgKEJVSUxE
SU5HX0dUS19fKQorI2luY2x1ZGUgPFdlYkNvcmUvY29uZmlnLmg+CisjZW5kaWYgLyogZGVmaW5l
ZCAoQlVJTERJTkdfR1RLX18pICovCiAjaW5jbHVkZSA8d3RmL1BsYXRmb3JtLmg+CiAjaW5jbHVk
ZSA8d3RmL0Rpc2FsbG93Q1R5cGUuaD4KICNpZmRlZiBfX2NwbHVzcGx1cwpkaWZmIC0tZ2l0IGEv
V2ViS2l0Mi9ndGsvd2Via2l0Mi5wYy5pbiBiL1dlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4KbmV3
IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uNmVlZWU4MAotLS0gL2Rldi9udWxsCisr
KyBiL1dlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4KQEAgLTAsMCArMSwxMSBAQAorcHJlZml4PUBw
cmVmaXhACitleGVjX3ByZWZpeD1AZXhlY19wcmVmaXhACitsaWJkaXI9QGxpYmRpckAKK2luY2x1
ZGVkaXI9QGluY2x1ZGVkaXJACisKK05hbWU6IFdlYktpdDIKK0Rlc2NyaXB0aW9uOiBXZWIgY29u
dGVudCBlbmdpbmUgZm9yIEdUSysKK1ZlcnNpb246IEBWRVJTSU9OQAorUmVxdWlyZXM6IGdsaWIt
Mi4wIGd0aystQEdUS19BUElfVkVSU0lPTkAgbGlic291cC0yLjQKK0xpYnM6IC1MJHtsaWJkaXJ9
IC1sd2Via2l0Mmd0ay1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQAorQ2ZsYWdzOiAtSSR7aW5jbHVk
ZWRpcn0vd2Via2l0Mi1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQCAKZGlmZiAtLWdpdCBhL1dlYktp
dFRvb2xzL0NoYW5nZUxvZyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwppbmRleCBhZTBhYTc5Li4w
ZTQ1YTg3IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTMgQEAKKzIwMTAtMTEtMjYgIFJhdmkgS2FzaWJoYXRs
YSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkg
Tk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlIGdlbmVyYXRlLWZvcndhcmRpbmctaGVh
ZGVycy5wbCBmb3IgR1RLIHBvcnQgdXNhZ2UgCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0
Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBTY3JpcHRzL2dlbmVyYXRl
LWZvcndhcmRpbmctaGVhZGVycy5wbDogRm9yIEdUSyBwb3J0LCB0YWtpbmcgMSBleHRyYSBhcmd1
bWVudCBmb3IgY29weWluZyBuZXR3b3JrIGhlYWRlcnMuCisgICAgICAgICogU2NyaXB0cy93ZWJr
aXRkaXJzLnBtOiBBZGRlZCBjaGFuZ2VzIHRvIGJ1aWxkIHdlYmtpdDIgZm9yIEdUSyBwb3J0IHVz
aW5nIGJ1aWxkLXdlYmtpdCBzY3JpcHQuCisKIDIwMTAtMTEtMTcgIEFkYW0gUm9iZW4gIDxhcm9i
ZW5AYXBwbGUuY29tPgogCiAgICAgICAgIERvbid0IHRyaWdnZXIgV2luZG93cyBidWlsZHMgd2hl
biBjaHJvbWl1bS13aW4gdGVzdCByZXN1bHRzIGNoYW5nZQpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9v
bHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgYi9XZWJLaXRUb29scy9T
Y3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbAppbmRleCBlZDU4NzAyLi45N2Y1
NzQwIDEwMDc1NQotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbAorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbApAQCAtNDYsOCArNDYsMTggQEAgbXkgJG91dHB1dERpcmVjdG9yeSA9ICRBUkdW
WzBdOwogc2hpZnQ7CiBteSAkcGxhdGZvcm0gID0gJEFSR1ZbMF07CiAKK215ICRuZXR3b3JrOwor
aWYgKCRwbGF0Zm9ybSA9fiAiZ3RrIikgeworICAgIHNoaWZ0OworICAgICRuZXR3b3JrID0gJEFS
R1ZbMF07Cit9CisKIGZvcmVhY2ggbXkgJHByZWZpeCAoQHBsYXRmb3JtUHJlZml4ZXMpIHsKLSAg
ICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxh
dGZvcm0pOworICAgIGlmICgkcGxhdGZvcm0gPX4gImd0ayIpIHsKKyAgICAgICAgcHVzaChAc2tp
cHBlZFByZWZpeGVzLCAkcHJlZml4KSB1bmxlc3MgKCRwcmVmaXggPX4gJHBsYXRmb3JtIG9yICRw
cmVmaXggPX4gJG5ldHdvcmspOworICAgIH0gZWxzZSB7CisgICAgICAgIHB1c2goQHNraXBwZWRQ
cmVmaXhlcywgJHByZWZpeCkgdW5sZXNzICgkcHJlZml4ID1+ICRwbGF0Zm9ybSk7CisgICAgfQog
fQogCiBmb3JlYWNoIChAZnJhbWV3b3JrcykgewpkaWZmIC0tZ2l0IGEvV2ViS2l0VG9vbHMvU2Ny
aXB0cy93ZWJraXRkaXJzLnBtIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCmlu
ZGV4IDJjMWQ4ZGEuLjZkNDZiZDkgMTAwNjQ0Ci0tLSBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Vi
a2l0ZGlycy5wbQorKysgYi9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KQEAgLTEz
NDMsNiArMTM0Myw4IEBAIHN1YiBidWlsZEF1dG90b29sc1Byb2plY3QoJEApCiAgICAgICAgICAg
ICAkbWFrZUFyZ3MgPSAkbWFrZUFyZ3MgLiAiICIgLiAkMTsKICAgICAgICAgfSBlbHNpZiAoJG9w
dCA9fiAvXi0tcHJlZml4PSguKikvaSApIHsKICAgICAgICAgICAgICRwcmVmaXggPSAkMTsKKyAg
ICAgICAgfSBlbHNpZiAoJG9wdCA9fiAvXi0td2Via2l0Mi9pICkgeworICAgICAgICAgICAgcHVz
aCBAYnVpbGRBcmdzLCAiLS1lbmFibGUtd2Via2l0MiI7CiAgICAgICAgIH0gZWxzZSB7CiAgICAg
ICAgICAgICBwdXNoIEBidWlsZEFyZ3MsICRvcHQ7CiAgICAgICAgIH0KZGlmZiAtLWdpdCBhL2Nv
bmZpZ3VyZS5hYyBiL2NvbmZpZ3VyZS5hYwppbmRleCBjZjdhNjdhLi4wZmQ3MTc1IDEwMDY0NAot
LS0gYS9jb25maWd1cmUuYWMKKysrIGIvY29uZmlndXJlLmFjCkBAIC04ODcsNiArODg3LDIzIEBA
IGlmIHRlc3QgIiRlbmFibGVfdmlkZW8iID0gInllcyI7IHRoZW4KICAgICBodG1sX2ZsYWdzPXll
cwogZmkKIAorIyBXZWJLaXQyCitBQ19NU0dfQ0hFQ0tJTkcoW3doZXRoZXIgdG8gYnVpbGQgV2Vi
a2l0Ml0pCitBQ19BUkdfRU5BQkxFKHdlYmtpdDIsCisgICAgICAgICAgICBBQ19IRUxQX1NUUklO
RyhbLS1lbmFibGUtd2Via2l0Ml0sCisgICAgICAgICAgICAgICAgW2J1aWxkIHdlYmtpdDIgW2Rl
ZmF1bHQ9bm9dXSksCisgICAgICAgICAgICAgICAgW10sIFtlbmFibGVfd2Via2l0Mj0ibm8iXSkK
K0FDX01TR19SRVNVTFQoWyRlbmFibGVfd2Via2l0Ml0pCitpZiB0ZXN0ICIkZW5hYmxlX3dlYmtp
dDIiID0gInllcyI7IHRoZW4KKyAgICAjIFR1cm4gb24gdGhpcyBtYWNybyBieSBkZWZhdWx0LiBJ
dCBpcyB1c2VkIGluIGludHR5cGVzLmggZm9yIGRlZmluaW5nIG1hY3JvcyB1c2VkIGJ5IHdlYmtp
dC4KKyAgICAjIEluIFdlYktpdCwgdGhpcyBkZWZpbmUgaXMgZW5zdXJlZCBieSBkb2luZyBpdCBi
ZWZvcmUgaW5jbHVkaW5nIGNvbmZpZy5oIGluIGFueSBzb3VyY2UgZmlsZS4KKyAgICAjIEluIFdl
YktpdDIsIFdlYktpdDJQcmVmaXguaCBpcyBpbmNsdWRlZCBhcyBmaXJzdCBoZWFkZXIgZmlsZSwg
c28gd2UgbmVlZCB0byBkZWZpbmUgdGhpcworICAgICMgbWFjcm8gYmVmb3JlIGFjdHVhbGx5IFdl
YktpdDJQcmVmaXguaCBpcyBpbmNsdWRlZCBpbiBhbnkgZmlsZS4KKyAgICBBQ19ERUZJTkUoW19f
U1REQ19GT1JNQVRfTUFDUk9TXSxbMV0sW1R1cm4gb24gdGhlIF9fU1REQ19GT1JNQVRfTUFDUk9T
IHVzZWQgaW4gaW50dHlwZXMuaF0pLAorICAgIFdFQktJVEdUS19QQ19OQU1FPSR7V0VCS0lUR1RL
X1BDX05BTUV9MgorICAgIEFDX1NVQlNUKFtXRUJLSVRHVEtfUENfTkFNRV0pCitmaQorCiBHVEtf
RE9DX0NIRUNLKFsxLjEwXSkKIAogIyBPUyBjb25kaXRpb25hbHMKQEAgLTk1OSwyNiArOTc2LDM3
IEBAIEFNX0NPTkRJVElPTkFMKFtIVE1MX0ZMQUdTXSxbdGVzdCAiJGh0bWxfZmxhZ3MiID0gInll
cyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJfU09DS0VUU10sW3Rlc3QgIiRlbmFibGVf
d2ViX3NvY2tldHMiID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJfVElNSU5H
XSxbdGVzdCAiJGVuYWJsZV93ZWJfdGltaW5nIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtF
TkFCTEVfT1BDT0RFX1NUQVRTXSxbdGVzdCAiJGVuYWJsZV9vcGNvZGVfc3RhdHMiID0gInllcyJd
KQorQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJLSVQyXSxbdGVzdCAiJGVuYWJsZV93ZWJraXQy
IiA9ICJ5ZXMiXSkKIAogIyBHdGsgY29uZGl0aW9uYWxzCiBBTV9DT05ESVRJT05BTChbRU5BQkxF
X0lOVFJPU1BFQ1RJT05dLFt0ZXN0ICIkZW5hYmxlX2ludHJvc3BlY3Rpb24iID0gInllcyJdKQog
Ci0KIEFDX0NPTkZJR19GSUxFUyhbCiBHTlVtYWtlZmlsZQotV2ViS2l0L2d0ay93ZWJraXQvd2Vi
a2l0dmVyc2lvbi5oCi1XZWJLaXQvZ3RrL2RvY3MvR05VbWFrZWZpbGUKLVdlYktpdC9ndGsvZG9j
cy92ZXJzaW9uLnhtbAotXQotKQotCi1BQ19DT05GSUdfRklMRVMoWwotV2ViS2l0L2d0ay8ke1dF
QktJVEdUS19QQ19OQU1FfS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2ViS2l0L2d0ay93
ZWJraXQucGMuaW4KLVdlYktpdC9ndGsvSlNDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5n
aXI6V2ViS2l0L2d0ay9KU0NvcmUuZ2lyLmluCi1XZWJLaXQvZ3RrL29yZy53ZWJraXRndGstJHtX
RUJLSVRHVEtfQVBJX1ZFUlNJT059LmdzY2hlbWEueG1sOldlYktpdC9ndGsvb3JnLndlYmtpdGd0
ay5nc2NoZW1hLnhtbC5pbgotXQotLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdFQktJVEdUS19B
UElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVdCi0pCitdKQor
IAoraWYgdGVzdCAiJGVuYWJsZV93ZWJraXQyIiA9ICJubyI7IHRoZW4KKyAgICBBQ19DT05GSUdf
RklMRVMoWworICAgIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaAorICAgIFdlYktp
dC9ndGsvZG9jcy9HTlVtYWtlZmlsZQorICAgIFdlYktpdC9ndGsvZG9jcy92ZXJzaW9uLnhtbAor
ICAgIF0KKyAgICApCisKKyAgICBBQ19DT05GSUdfRklMRVMoWworICAgIFdlYktpdC9ndGsvJHtX
RUJLSVRHVEtfUENfTkFNRX0tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOldlYktpdC9ndGsv
d2Via2l0LnBjLmluCisgICAgV2ViS2l0L2d0ay9KU0NvcmUtJHtXRUJLSVRHVEtfQVBJX1ZFUlNJ
T059LmdpcjpXZWJLaXQvZ3RrL0pTQ29yZS5naXIuaW4KKyAgICBXZWJLaXQvZ3RrL29yZy53ZWJr
aXRndGstJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdzY2hlbWEueG1sOldlYktpdC9ndGsvb3Jn
LndlYmtpdGd0ay5nc2NoZW1hLnhtbC5pbgorICAgIF0KKyAgICAsW1dFQktJVEdUS19BUElfVkVS
U0lPTj0kV0VCS0lUR1RLX0FQSV9WRVJTSU9OLFdFQktJVEdUS19QQ19OQU1FPSRXRUJLSVRHVEtf
UENfTkFNRV0KKyAgICApCitlbHNlCisgICAgQUNfQ09ORklHX0ZJTEVTKFsKKyAgICBXZWJLaXQy
L2d0ay8ke1dFQktJVEdUS19QQ19OQU1FfS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2Vi
S2l0Mi9ndGsvd2Via2l0Mi5wYy5pbgorICAgIF0KKyAgICAsW1dFQktJVEdUS19BUElfVkVSU0lP
Tj0kV0VCS0lUR1RLX0FQSV9WRVJTSU9OLFdFQktJVEdUS19QQ19OQU1FPSRXRUJLSVRHVEtfUENf
TkFNRV0KKyAgICApCitmaQogCiBBQ19PVVRQVVQKIApAQCAtMTAzNSw2ICsxMDYzLDcgQEAgR1RL
KyBjb25maWd1cmF0aW9uOgogIEdESyB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDogJHdpdGhfdGFyZ2V0CiAgSGlsZG9uIFVJIGV4dGVuc2lvbnMg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0aF9oaWxkb24KICBJbnRy
b3NwZWN0aW9uIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRl
bmFibGVfaW50cm9zcGVjdGlvbgorIFdlYktpdDIgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV93ZWJraXQyCiAiCiBpZiB0ZXN0ICIkd2l0
aF91bmljb2RlX2JhY2tlbmQiID0gImdsaWIiOyB0aGVuCiAgICBlY2hvICIgICAgID4+IFdBUk5J
Tkc6IHRoZSBnbGliLWJhc2VkIHVuaWNvZGUgYmFja2VuZCBpcyBzbG93IGFuZCBpbmNvbXBsZXRl
IDw8Igo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76169</attachid>
            <date>2010-12-10 00:03:49 -0800</date>
            <delta_ts>2010-12-14 22:24:46 -0800</delta_ts>
            <desc>Makefile changes to building the WebKit2 GTK port</desc>
            <filename>37369_makefiles_9Dec_rework.patch</filename>
            <type>text/plain</type>
            <size>44229</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0NoYW5nZUxvZyBiL0NoYW5nZUxvZwppbmRleCAzMjc2YzAzLi43YTdiY2Mz
IDEwMDY0NAotLS0gYS9DaGFuZ2VMb2cKKysrIGIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTUgQEAK
KzIwMTAtMTItMTAgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2
aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBi
dWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFt
OiBDaGFuZ2VzIHRvIGJ1aWxkIGVpdGhlciBvZiBXZWJLaXQxIG9yIFdlYktpdDIuCisgICAgICAg
IEl0IGJhc2ljYWxseSBleGNsdWRlcyBhbGwgV2ViS2l0L2d0ay93ZWJraXQvIGZpbGVzIHdoZW4g
YnVpbGRpbmcgV2ViS2l0Mi4KKyAgICAgICAgQWxzbywgZXhsdWRlcyBVbml0dGVzdHMsIER1bXBy
ZW5kZXJUcmVlLCBHdGtMYXVuY2hlciBldGMgZm9yIFdlYktpdDIuCisgICAgICAgICogY29uZmln
dXJlLmFjOiBPcHRpb24gZm9yIGVuYWJsZSBvciBkaXNhYmxlIFdlYktpdDIuCisKIDIwMTAtMTIt
MDcgIFBhdHJpY2sgR2Fuc3RlcmVyICA8cGFyb2dhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2
aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05V
bWFrZWZpbGUuYW0KaW5kZXggMjdkZWJhZS4uMTMxYTAyOCAxMDA2NDQKLS0tIGEvR05VbWFrZWZp
bGUuYW0KKysrIGIvR05VbWFrZWZpbGUuYW0KQEAgLTM0LDEwICszNCwxMiBAQCBHRU5TT1VSQ0VT
IDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcwogR0VOU09VUkNFU19KQVZBU0NSSVBU
Q09SRSA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUKIEdF
TlNPVVJDRVNfV0VCQ09SRSA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZQogR0VOU09VUkNFU19XRUJLSVQgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dl
YmtpdAorR0VOU09VUkNFU19XRUJLSVQyIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNl
cy9XZWJLaXQyCiBHRU5QUk9HUkFNUyA6PSAkKHRvcF9idWlsZGRpcikvUHJvZ3JhbXMKIEdFTlNP
VVJDRVNfSU5TUEVDVE9SIDo9ICQoR0VOUFJPR1JBTVMpL3Jlc291cmNlcy9pbnNwZWN0b3IKIFdl
YkNvcmUgOj0gJChzcmNkaXIpL1dlYkNvcmUKIFdlYktpdCA6PSAkKHNyY2RpcikvV2ViS2l0L2d0
aworV2ViS2l0MiA6PSAkKHNyY2RpcikvV2ViS2l0MgogCiAjIExpYnJhcmllcyBhbmQgc3VwcG9y
dCBjb21wb25lbnRzCiBiaW5fUFJPR1JBTVMgOj0KQEAgLTY5LDYgKzcxLDcgQEAgd2Via2l0Z3Rr
X2NwcGZsYWdzIDo9CiB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzIDo9CiB3ZWJraXRndGtf
YnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X25vc291cmNlcyA6PQord2Via2l0Ml9i
dWlsdF9zb3VyY2VzIDo9CiBnbG9iYWxfY3BwZmxhZ3MgOj0KIGdsb2JhbF9jZmxhZ3MgOj0KIGds
b2JhbF9jeHhmbGFncyA6PQpAQCAtMjAzLDEwICsyMDYsMTUgQEAgRVhUUkFfRElTVCArPSBcCiAj
IEluY2x1ZGUgbW9kdWxlIG1ha2VmaWxlcwogaW5jbHVkZSBKYXZhU2NyaXB0Q29yZS9HTlVtYWtl
ZmlsZS5hbQogaW5jbHVkZSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisjIEluY2x1ZGUgbW9kdWxl
IG1ha2VmaWxlcyBiYXNlZCBvbiB3ZWJraXQgYXJjaAoraWYgRU5BQkxFX1dFQktJVDIKK2luY2x1
ZGUgV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorZWxzZSAgI0VOQUJMRV9XRUJLSVQyCiBpbmNsdWRl
IFdlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L0dOVW1ha2VmaWxlLmFtCiBpbmNsdWRlIFdlYktpdFRvb2xzL0dOVW1ha2VmaWxlLmFtCiBp
bmNsdWRlIFdlYktpdC9ndGsvcG8vR05VbWFrZWZpbGUuYW0KK2VuZGlmICAjRU5BQkxFX1dFQktJ
VDIKIAogIyBBdXRvZ2VuZXJhdGVkIHNvdXJjZXMKIEJVSUxUX1NPVVJDRVMgKz0gXApkaWZmIC0t
Z2l0IGEvV2ViQ29yZS9DaGFuZ2VMb2cgYi9XZWJDb3JlL0NoYW5nZUxvZwppbmRleCBkMDI0N2Qx
Li4wZDJhNjc4IDEwMDY0NAotLS0gYS9XZWJDb3JlL0NoYW5nZUxvZworKysgYi9XZWJDb3JlL0No
YW5nZUxvZwpAQCAtMSwzICsxLDE1IEBACisyMDEwLTEyLTEwICBBbXJ1dGggUmFqICA8YW1ydXRo
cmFqQG1vdG9yb2xhLmNvbT4gYW5kIFJhdmkgS2FzaWJoYXRsYSAgPHJhdmkua2FzaWJoYXRsYUBt
b3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAg
ICAgICAgQ2hhbmdlcyB0byBlbmFibGUgYnVpbGRpbmcgV2ViS2l0MiBmb3IgR3RrIHBvcnQKKyAg
ICAgICAgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKwor
ICAgICAgICBObyBuZXcgZnVuY3Rpb25hbGl0eSBhZGRlZCBvciBkZWxldGVkLiBPbmx5IG1ha2Vm
aWxlIGNoYW5nZS4gSGVuY2UsIG5vIHRlc3RzIGFkZGVkLgorCisgICAgICAgICogR05VbWFrZWZp
bGUuYW06IFJlbW92ZWQgYmluZGluZ3MvZ29iamVjdCBmcm9tIHdlYmNvcmVfc291cmNlcyAmIHdl
YmNvcmVfY3BwZmxhZ3MgYW5kIGFkZGVkIHRoZW0gdG8gV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5h
bQorICAgICAgICAqIHBsYXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNo
ZS5oOiBSZW1vdmUgaW5jbHVkZSA8d2Via2l0L3dlYmtpdGRlZmluZXMuaD4gYW5kIGRlY2xhcmUg
V0VCS0lUX0FQSSBkaXJlY3RseQorCiAyMDEwLTEyLTA4ICBQYXZlbCBQb2Rpdmlsb3YgIDxwb2Rp
dmlsb3ZAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJldmlld2VkIGJ5IFBhdmVsIEZlbGRtYW4u
CmRpZmYgLS1naXQgYS9XZWJDb3JlL0dOVW1ha2VmaWxlLmFtIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQppbmRleCAzNDAzOGQ3Li45ZDA3YjEzIDEwMDY0NAotLS0gYS9XZWJDb3JlL0dOVW1ha2Vm
aWxlLmFtCisrKyBiL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KQEAgLTcsMTAgKzcsMTAgQEAgV0VC
Q09SRV9DU1NfVkFMVUVfS0VZV09SRFMgOj0gJChXZWJDb3JlKS9jc3MvQ1NTVmFsdWVLZXl3b3Jk
cy5pbgogd2ViY29yZV9jcHBmbGFncyArPSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZSBcCiAJLUkk
KHNyY2RpcikvV2ViQ29yZS9hY2Nlc3NpYmlsaXR5IFwKKwktSSQoc3JjZGlyKS9XZWJDb3JlL2Jp
bmRpbmdzIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMgXAogCS1JJChz
cmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvanMgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGlu
Z3MvanMvc3BlY2lhbGl6YXRpb24gXAotCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ29i
amVjdCBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9icmlkZ2UgXAogCS1JJChzcmNkaXIpL1dlYkNv
cmUvYnJpZGdlL2MgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlL2puaS9qc2MgXApAQCAt
NjU3LDIxICs2NTcsNiBAQCB3ZWJjb3JlX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUvYmluZGluZ3Mv
Z2VuZXJpYy9HZW5lcmljQmluZGluZy5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVu
dGltZUVuYWJsZWRGZWF0dXJlcy5jcHAgXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50
aW1lRW5hYmxlZEZlYXR1cmVzLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0
VG9VVEY4U3RyaW5nLmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VU
RjhTdHJpbmcuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0RPTU9iamVjdENhY2hlLmNw
cCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0RPTU9iamVjdENhY2hlLmggXAotCVdlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5jcHAgXAotCVdlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5oIFwKLQlXZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29i
amVjdC9XZWJLaXRET01CaW5kaW5nLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01FdmVudFRhcmdldC5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRE
T01FdmVudFRhcmdldC5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZl
bnRUYXJnZXRQcml2YXRlLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01P
YmplY3QuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0Lmgg
XAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0
b3J5LmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3Jh
cHBlckZhY3RvcnkuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9DYWNoZWRTY3JpcHRTb3VyY2VQ
cm92aWRlci5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0RPTU9iamVjdEhhc2hUYWJsZU1hcC5j
cHAgXAogCVdlYkNvcmUvYmluZGluZ3MvanMvRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmggXApAQCAt
Mzc5NSw3ICszNzgwLDYgQEAgd2ViY29yZWd0a19zb3VyY2VzICs9IFwKIAlXZWJDb3JlL3BsYXRm
b3JtL3RleHQvZ3RrL1RleHRCcmVha0l0ZXJhdG9yR3RrLmNwcAogZW5kaWYKIAotCiAjIC0tLQog
IyBDaGFubmVsIG1lc2FnaW5nIHN1cHBvcnQKICMgLS0tCmRpZmYgLS1naXQgYS9XZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oIGIvV2ViQ29yZS9w
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaAppbmRleCBlNDQ3
Y2ZjLi5jY2M5MjRjIDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9j
YWNoZS93ZWJraXQvc291cC1jYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9z
b3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgKQEAgLTIzLDEyICsyMywxNiBAQAogI2lmbmRl
ZiBXRUJLSVRfU09VUF9DQUNIRV9ICiAjZGVmaW5lIFdFQktJVF9TT1VQX0NBQ0hFX0ggMQogCi0j
aWYgQlVJTERJTkdfR1RLX18KLSNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVmaW5lcy5oPgorI2lm
ZGVmIEdfT1NfV0lOMzIKKyAgICAjaWZkZWYgQlVJTERJTkdfV0VCS0lUCisgICAgICAgICNkZWZp
bmUgV0VCS0lUX0FQSSBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKyAgICAjZWxzZQorICAgICAgICAj
ZGVmaW5lIFdFQktJVF9BUEkgX19kZWNsc3BlYyhkbGxpbXBvcnQpCisgICAgI2VuZGlmCisgICAg
I2RlZmluZSBXRUJLSVRfT0JTT0xFVEVfQVBJIFdFQktJVF9BUEkKICNlbHNlCi0jaWZuZGVmIFdF
QktJVF9BUEkKLSNkZWZpbmUgV0VCS0lUX0FQSQotI2VuZGlmCisjZGVmaW5lIFdFQktJVF9BUEkg
X19hdHRyaWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKKyNkZWZpbmUgV0VCS0lUX09C
U09MRVRFX0FQSSBXRUJLSVRfQVBJIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKQogI2VuZGlm
CiAKICNpbmNsdWRlIDxsaWJzb3VwL3NvdXAtdHlwZXMuaD4KZGlmZiAtLWdpdCBhL1dlYktpdC9n
dGsvQ2hhbmdlTG9nIGIvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKaW5kZXggOWVmMDE4Yi4uMDhhODJj
NSAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9DaGFuZ2VMb2cKKysrIGIvV2ViS2l0L2d0ay9DaGFu
Z2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAxMC0xMi0xMCAgQW1ydXRoIFJhaiAgPGFtcnV0aHJh
akBtb3Rvcm9sYS5jb20+IGFuZCBSYXZpIFBoYW5lZW5kcmEgS2FzaWJoYXRsYSAgPHJhdmkua2Fz
aWJoYXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgQ2hhbmdlcyB0byBlbmFibGUgYnVpbGRpbmcgV2ViS2l0MiBmb3IgR3Rr
IHBvcnQuCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9
MzczNjkpCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogQWRkZWQgV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0IHRvIHdlYmtpdGd0a19zb3VyY2VzICYgd2Via2l0Z3RrX2NwcGZsYWdzLgorICAg
ICAgICBUaGV5IHNob3VsZCBnZXQgY29tcGlsZWQgb25seSB3aGVuIFdlYktpdC9ndGsvR05VbWFr
ZWZpbGUuYW0gaXMgZ2V0dGluZyBpbmNsdWRlZCBidXQgbm90CisgICAgICAgIHdpdGggV2ViS2l0
Mi9HTlVtYWtlZmlsZS5hbSBpbmNsdXNpb24uCisKIDIwMTAtMTItMDggIEFsZWphbmRybyBHLiBD
YXN0cm8gIDxhbGV4QGlnYWxpYS5jb20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgR3VzdGF2byBO
b3JvbmhhIFNpbHZhLgpkaWZmIC0tZ2l0IGEvV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbSBiL1dl
YktpdC9ndGsvR05VbWFrZWZpbGUuYW0KaW5kZXggYTg0NmY3Zi4uNWUzNTQzZSAxMDA2NDQKLS0t
IGEvV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQorKysgYi9XZWJLaXQvZ3RrL0dOVW1ha2VmaWxl
LmFtCkBAIC0xNTEsNiArMTUxLDE5IEBAIHdlYmtpdGd0a19idWlsdF9zb3VyY2VzICs9IFwKIEJV
SUxUX1NPVVJDRVMgKz0gJCh3ZWJraXRndGtfYnVpbHRfc291cmNlcykKIAogd2Via2l0Z3RrX3Nv
dXJjZXMgKz0gXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5n
LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCBc
CisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmNwcCBcCisJ
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmggXAorCVdlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNwcCBcCisJV2ViQ29yZS9iaW5k
aW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0
L1dlYktpdERPTUV2ZW50VGFyZ2V0LmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01FdmVudFRhcmdldFByaXZhdGUuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTU9iamVjdC5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01P
YmplY3QuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3Jh
cHBlckZhY3RvcnkuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVs
ZW1lbnRXcmFwcGVyRmFjdG9yeS5oIFwKIAlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9t
ZUNsaWVudEd0ay5jcHAgXAogCVdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ2hyb21lQ2xpZW50
R3RrLmggXAogCVdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQvQ29udGV4dE1lbnVDbGllbnRHdGsu
Y3BwIFwKZGlmZiAtLWdpdCBhL1dlYktpdDIvQ2hhbmdlTG9nIGIvV2ViS2l0Mi9DaGFuZ2VMb2cK
aW5kZXggOTEzZTgxOS4uYWY4YTY1YSAxMDA2NDQKLS0tIGEvV2ViS2l0Mi9DaGFuZ2VMb2cKKysr
IGIvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0xMCAgQW1ydXRo
IFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9sYS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZp
Lmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAo
T09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9y
IEd0ayBwb3J0LgorICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTM3MzY5KQorCisgICAgICAgICogR05VbWFrZWZpbGUuYW06IEFkZGVkLiAKKyAgICAgICAg
KiBXZWJLaXQyUHJlZml4Lmg6CisgICAgICAgICogZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBndGsv
d2Via2l0Mi5wYy5pbjogQWRkZWQuCisKIDIwMTAtMTItMDcgIEFuZGVycyBDYXJsc3NvbiAgPGFu
ZGVyc2NhQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBTYW0gV2VpbmlnLgogCmRp
ZmYgLS1naXQgYS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvV2ViS2l0Mi9HTlVtYWtlZmlsZS5h
bQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi4yYmI0YzQxCi0tLSAvZGV2L251
bGwKKysrIGIvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtMCwwICsxLDY4NiBAQAorCit3ZWJr
aXQyX3NvdXJjZXMgOj0KKworIyBXZWJLaXQyIENvbnZlbmllbmNlIGxpYnJhcmllcworbm9pbnN0
X0xUTElCUkFSSUVTICs9IFwKKwlsaWJXZWJLaXQyLmxhCisKK2xpYldlYktpdDJfbGFkaXIgPSAk
KHByZWZpeCkvaW5jbHVkZS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL1dlYktpdDIK
K2xpYldlYktpdDJfbGFfSEVBREVSUyA9IFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0Fy
cmF5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIFwKKwkkKFdlYktpdDIp
L1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9B
UEkvYy9XS0RhdGEuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5Lmgg
XAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLRXJyb3IuaCBcCisJJChXZWJLaXQyKS9TaGFy
ZWQvQVBJL2MvV0tFdmVudC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0dlb21ldHJ5
LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5LmggXAorCSQoV2Vi
S2l0MikvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJJChXZWJLaXQyKS9T
aGFyZWQvQVBJL2MvV0tOdW1iZXIuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJp
YWxpemVkU2NyaXB0VmFsdWUuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJpYWxp
emVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLU2hh
cmVkQVBJQ2FzdC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oIFwKKwkk
KFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJJChXZWJLaXQyKS9T
aGFyZWQvQVBJL2MvV0tUeXBlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVVJMLmgg
XAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5oIFwKKwkkKFdlYktpdDIp
L1NoYXJlZC9BUEkvYy9XS1VSTFJlc3BvbnNlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9j
L1dLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL2d0
ay9XS0Jhc2VHdGsuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0
ci5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmggXAorCSQoV2ViS2l0
MikvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9B
UEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9X
S0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tD
b250ZXh0LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUu
aCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVy
LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJJChXZWJLaXQy
KS9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggXAorCSQoV2ViS2l0Mikv
VUlQcm9jZXNzL0FQSS9DL1dLTmF0aXZlRXZlbnQuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3Mv
QVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9X
S1BhZ2UuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmgg
XAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBcCisJJChXZWJL
aXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oIFwKKwkkKFdlYktpdDIpL1VJUHJv
Y2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vz
cy9BUEkvQy9ndGsvV0tBUElDYXN0aUd0ay5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Qy9ndGsvV0tWaWV3LmgKKworbm9kaXN0X2xpYldlYktpdDJfbGFfU09VUkNFUyA9IFwKKwkkKHdl
YmtpdDJfYnVpbHRfc291cmNlcykKKworbGliV2ViS2l0Ml9sYV9TT1VSQ0VTID0gXAorCSQod2Vi
a2l0Ml9zb3VyY2VzKQorCitsaWJXZWJLaXQyX2xhX0NQUEZMQUdTID0gXAorCS1mbm8tc3RyaWN0
LWFsaWFzaW5nIFwKKwkkKGdsb2JhbF9jcHBmbGFncykgXAorCS1pbmNsdWRlICQoc3JjZGlyKS9X
ZWJLaXQyL1dlYktpdDJQcmVmaXguaCBcCisJLUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHNy
Y2RpcikvV2ViS2l0Mi9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0gXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQyBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9n
dGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGx1Z2luUHJvY2VzcyBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9TaGFyZWQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSSBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hh
cmVkL0FQSS9jL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBv
cnQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL2d0ayBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9VSVByb2Nlc3MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSSBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MgXAorCS1JJChzcmNkaXIpL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL2NwcCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrIFwKKwktSSQoc3Jj
ZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlciBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9V
SVByb2Nlc3MvTGF1bmNoZXIvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ayBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dl
YlByb2Nlc3MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
YyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTSBc
CisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ayBcCisJ
LUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0xhdW5jaGluZyBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJv
Y2Vzcy9QbHVnaW5zL05ldHNjYXBlIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9OZXRzY2FwZS9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJDb3JlU3VwcG9ydCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVT
dXBwb3J0L2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UgXAor
CS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ayBcCisJLUkkKHRvcF9i
dWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVk
U291cmNlcy9XZWJLaXQyL2luY2x1ZGUvSmF2YVNjcmlwdENvcmUgXAorCS1JJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJDb3JlIFwKKwktSSQodG9wX2J1
aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViS2l0MiBcCisJJCh3ZWJj
b3JlX2NwcGZsYWdzKSBcCisJJCh3ZWJjb3JlZ3RrX2NwcGZsYWdzKSBcCisJJChqYXZhc2NyaXB0
Y29yZV9jcHBmbGFncykKKworbGliV2ViS2l0Ml9sYV9DWFhGTEFHUyA9IFwKKwkkKGdsb2JhbF9j
eHhmbGFncykgXAorCSQobGliV2ViS2l0Ml9sYV9DRkxBR1MpCisKK2xpYldlYktpdDJfbGFfQ0ZM
QUdTID0gXAorCSQoZ2xvYmFsX2NmbGFncykgXAorCSQoQ09WRVJBR0VfQ0ZMQUdTKSBcCisJJChH
TElCX0NGTEFHUykgXAorCSQoR1RLX0NGTEFHUykgXAorCSQoTElCU09VUF9DRkxBR1MpIFwKKwkk
KFVOSUNPREVfQ0ZMQUdTKSBcCisJJChYVF9DRkxBR1MpCisKK2xpYldlYktpdDJfbGFfTElCQURE
ID0gXAorCS1scHRocmVhZCBcCisJJChDQUlST19MSUJTKSBcCisJJChDT1ZFUkFHRV9MREZMQUdT
KSBcCisJJChHTElCX0xJQlMpIFwKKwkkKEdUS19MSUJTKSBcCisJJChMSUJTT1VQX0xJQlMpIFwK
KwkkKFVOSUNPREVfTElCUykgXAorCSQoWFRfTElCUykKKworIyBTaGFyZWQgbGlicmFyaWVzCits
aWJfTFRMSUJSQVJJRVMgKz0gXAorCWxpYndlYmtpdDJndGstQFdFQktJVEdUS19BUElfTUFKT1Jf
VkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEKKworbm9kaXN0X0VYVFJB
X2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19B
UElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmNvcmVfYnVpbHRfbm9zb3Vy
Y2VzKQorCitub2Rpc3RfbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9O
QF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorCSQod2ViY29y
ZV9idWlsdF9zb3VyY2VzKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCisJJCh3
ZWJjb3JlX3NvdXJjZXMpIFwKKwkkKHdlYmNvcmVndGtfc291cmNlcykKKworbGlid2Via2l0Mmd0
a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJT
SU9OQF9sYV9DWFhGTEFHUyA9IFwKKwkkKGdsb2JhbF9jeHhmbGFncykKKworbGlid2Via2l0Mmd0
a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJT
SU9OQF9sYV9DRkxBR1MgPSBcCisJJChnbG9iYWxfY2ZsYWdzKQorCisjIFdoZW4gYnVpbGRpbmcg
V2ViQ29yZSwgd2Ugd2FudCBXZWJDb3JlL2NvbmZpZy5oIGFuZCBOT1QgSmF2YVNjcmlwdENvcmUv
Y29uZmlnLmgsCisjIGhlbmNlLCBpdCdzIGltcG9ydGFudCB0aGF0IFdlYkNvcmUvIHNob3VsZCBj
b21lIGZpcnN0IGJlZm9yZSBKYXZhU2NyaXB0Q29yZSBpbiB0aGUKKyMgaW5jbHVkZSBwYXRoLgor
bGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQ
SV9NSU5PUl9WRVJTSU9OQF9sYV9DUFBGTEFHUyA9IFwKKwktREJVSUxESU5HX1dFQktJVCBcCisJ
LURQQUNLQUdFX0xPQ0FMRV9ESVI9XCIkKGxvY2FsZWRpcilcIiBcCisJLUREQVRBX0RJUj1cIiR7
ZGF0YWRpcn1cIiBcCisJJChnbG9iYWxfY3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVfY3BwZmxhZ3Mp
IFwKKwkkKHdlYmNvcmVndGtfY3BwZmxhZ3MpIFwKKwkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdz
KSBcCisJLWZuby1zdHJpY3QtYWxpYXNpbmcgXAorCSQoSElMRE9OX0NQUEZMQUdTKSBcCisJJChD
T1ZFUkFHRV9DRkxBR1MpIFwKKwkkKEVOQ0hBTlRfQ0ZMQUdTKSBcCisJJChHQUlMX0NGTEFHUykg
XAorCSQoR0VPQ0xVRV9DRkxBR1MpIFwKKwkkKEdMSUJfQ0ZMQUdTKSBcCisJJChHU1RSRUFNRVJf
Q0ZMQUdTKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChISUxET05fQ0ZMQUdTKSBcCisJJChMSUJT
T1VQX0NGTEFHUykgXAorCSQoTElCWE1MX0NGTEFHUykgXAorCSQoTElCWFNMVF9DRkxBR1MpIFwK
KwkkKFNRTElURTNfQ0ZMQUdTKSBcCisJJChVTklDT0RFX0NGTEFHUykgXAorCSQoWFRfQ0ZMQUdT
KQorCisjIEZvciB0aGUgR3RrIHBvcnQgd2Ugd2FudCB0byB1c2UgWFBfVU5JWCBib3RoIGluIFgx
MSBhbmQgTWFjCitpZiAhVEFSR0VUX1dJTjMyCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJ
X01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdT
ICs9IFwKKwktRFhQX1VOSVgKK2VuZGlmCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElf
TUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfTERGTEFHUyA9
IFwKKwktdmVyc2lvbi1pbmZvIEBMSUJXRUJLSVRHVEtfVkVSU0lPTkAgXAorCSQodmVyc2lvbl9z
Y3JpcHQpIFwKKwkkKG5vX3VuZGVmaW5lZCkKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQ
SV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MSUJBREQg
PSBcCisJLWxwdGhyZWFkIFwKKwlsaWJKYXZhU2NyaXB0Q29yZS5sYSBcCisJbGliV2ViS2l0Mi5s
YSBcCisJJChHU1RSRUFNRVJfTElCUykgXAorCSQoR1RLX0xJQlMpIFwKKwkkKEhJTERPTl9MSUJT
KSBcCisJJChKUEVHX0xJQlMpIFwKKwkkKExJQlNPVVBfTElCUykgXAorCSQoTElCWE1MX0xJQlMp
IFwKKwkkKExJQlhTTFRfTElCUykgXAorCSQoUEFOR09fTElCUykgXAorCSQoUE5HX0xJQlMpIFwK
KwkkKFNRTElURTNfTElCUykgXAorCSQoVU5JQ09ERV9MSUJTKSBcCisJJChYVF9MSUJTKQorCitw
a2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCitwa2djb25maWdfREFUQSA9IFdlYktp
dDIvZ3RrL0BXRUJLSVRHVEtfUENfTkFNRUAtQFdFQktJVEdUS19BUElfVkVSU0lPTkAucGMKKwor
IyBXZWJLaXQyIHNwZWNpZmljIHZhcmlhYmxlcword2Via2l0Ml9zb3VyY2VzICs9IFwKKwlXZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Fy
Z3VtZW50RGVjb2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERl
Y29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAg
XAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaCBcCisJV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50cy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJ
UEMvQXR0YWNobWVudC5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50
LmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuY3BwIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggXAorCVdlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0NvcmVJUENNZXNzYWdl
S2luZHMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0RhdGFSZWZlcmVuY2UuY3BwIFwK
KwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvRGF0YVJlZmVyZW5jZS5oIFwKKwlXZWJLaXQyL1Bs
YXRmb3JtL0NvcmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3Jt
L0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVz
c2FnZUlELmggXAorCVdlYktpdDIvUGxhdGZvcm0vZ3RrL01vZHVsZUd0ay5jcHAgXAorCVdlYktp
dDIvUGxhdGZvcm0vZ3RrL1J1bkxvb3BHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9T
aGFyZWRNZW1vcnlHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9Xb3JrUXVldWVHdGsu
Y3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3Jt
L0xvZ2dpbmcuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuY3BwIFwKKwlXZWJLaXQyL1Bs
YXRmb3JtL01vZHVsZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1BsYXRmb3JtUHJvY2Vzc0lkZW50
aWZpZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmNwcCBcCisJV2ViS2l0Mi9QbGF0
Zm9ybS9SdW5Mb29wLmggXAorCVdlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmggXAorCVdl
YktpdDIvUGxhdGZvcm0vV29ya0l0ZW0uaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUu
Y3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5oIFwKKwlXZWJLaXQyL1BsdWdpblBy
b2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNz
L1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2lu
UHJvY2Vzcy5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggXAor
CVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzTWFpbi5oIFwKKwlXZWJLaXQyL1Bs
dWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIFwKKwlXZWJLaXQyL1BsdWdpblBy
b2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3Rr
L1dLQmFzZUd0ay5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElDbGllbnQuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQXJyYXku
aCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLQ2VydGlmaWNhdGVJbmZvLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDZXJ0
aWZpY2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGlj
dGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tFcnJvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0V2ZW50LmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLR2VvbWV0cnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRh
YmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS051bWJlci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAor
CVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S1N0cmluZy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCVdlYktp
dDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1R5cGUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvQVBJL2MvV0tVUkwuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTC5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1No
YXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxS
ZXNwb25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVzcG9uc2UuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1No
YXJlZC9BUElPYmplY3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmNwcCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL0NhY2hlTW9k
ZWwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29tbWFuZExpbmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
Q29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQ29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJDb250ZXh0TWVzc2FnZUtpbmRzLmgg
XAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlBhZ2VQcm94eU1lc3NhZ2VLaW5k
cy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQcm9jZXNzUHJveHlNZXNz
YWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvRHJhd2luZ0FyZWFCYXNlLmggXAorCVdlYktp
dDIvU2hhcmVkL0ZpbmRPcHRpb25zLmggXAorCVdlYktpdDIvU2hhcmVkL0ZvbnRTbW9vdGhpbmdM
ZXZlbC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0b3JlR3RrLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvZ3RrL05hdGl2ZVdlYktleWJvYXJkRXZlbnRHdGsuY3BwIFwKKwlXZWJLaXQy
L1NoYXJlZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQv
Z3RrL1VwZGF0ZUNodW5rLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmgg
XAorCVdlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwIFwKKwlX
ZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
Z3RrL1dlYkV2ZW50RmFjdG9yeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmggXAorCVdlYktpdDIvU2hhcmVk
L0ltbXV0YWJsZURpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVEaWN0
aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVkL011dGFibGVBcnJheS5jcHAgXAorCVdlYktpdDIv
U2hhcmVkL011dGFibGVBcnJheS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlvbmFy
eS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL011dGFibGVEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIv
U2hhcmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTm90SW1w
bGVtZW50ZWQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvU3RyaW5nUGFpclZlY3Rvci5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9WaXNpdGVk
TGlua1RhYmxlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvVmlzaXRlZExpbmtUYWJsZS5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2Vi
Q29yZUFyZ3VtZW50Q29kZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkRhdGEuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvV2ViRXJyb3IuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFcnJvci5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwIFwKKwlXZWJLaXQyL1NoYXJl
ZC9XZWJFdmVudENvbnZlcnNpb24uaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViTmF2aWdhdGlvbkRhdGFTdG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9XZWJOdW1iZXIuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVy
cy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUG9w
dXBJdGVtLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwIFwKKwlX
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL1dl
YlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcm9j
ZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlNlcmlhbGl6ZWRT
Y3JpcHRWYWx1ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJTdHJpbmcuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViVVJMLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlcXVlc3QuY3BwIFwKKwlX
ZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXF1ZXN0LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJl
c3BvbnNlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVzcG9uc2UuaCBcCisJV2ViS2l0
Mi9TaGFyZWQvV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL2d0ay9XS0FQSUNhc3RHdGsuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3Rr
L1dLVmlldy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQy9XZWJLaXQyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2Fz
dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0NvbnRleHQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRl
eHQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLRnJhbWUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxp
c3RlbmVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3Rl
bmVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF0aXZlRXZlbnQuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRhdGEuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tQYWdlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZU5hbWVzcGFjZS5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZU5hbWVzcGFjZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1BhZ2VQcml2YXRlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXMuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9EcmF3aW5nQXJlYVByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQ
cm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9HZW5lcmlj
Q2FsbGJhY2suaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0NodW5rZWRVcGRhdGVEcmF3aW5n
QXJlYVByb3h5R3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL2d0ay9XZWJWaWV3LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50
ZXJuYWwuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFsLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvVGhyZWFkTGF1bmNoZXJHdGsuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvVGhyZWFkTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9M
YXVuY2hlci9UaHJlYWRMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tl
ZERyYXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERy
YXdpbmdBcmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvU3RvcmVHdGsuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc01vZGVsLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Zp
c2l0ZWRMaW5rUHJvdmlkZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1By
b3ZpZGVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2Vi
QmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViQ29udGV4dFVzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkVk
aXRDb21tYW5kUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJFZGl0Q29tbWFuZFBy
b3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGaW5kQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1D
bGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xpZW50LmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQ
b2xpY3lMaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xp
Y3lMaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYkhpc3RvcnlDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJIaXN0b3J5
Q2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJOYXZpZ2F0aW9uRGF0YS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25E
YXRhLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3BhY2UuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YlBhZ2VQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQb2xpY3lDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJv
eHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9j
ZXNzTWFuYWdlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVu
dC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmggXAorCVdlYktpdDIvV2Vi
S2l0MlByZWZpeC5jcHAgXAorCVdlYktpdDIvV2ViS2l0MlByZWZpeC5oIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0
VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVJbml0aWFsaXplLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3Bw
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdl
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBh
Z2VQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVSYW5nZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVO
b2RlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9J
bmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0
VGVzdFJlc3VsdC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9Jbmpl
Y3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZv
cm1DbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlVUlD
bGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRC
dW5kbGVQYWdlVUlDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxl
L0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QTWV0aG9kLmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE1ldGhvZC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9KU05QT2JqZWN0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9i
amVjdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9ndGsvTmV0c2Nh
cGVQbHVnaW5HdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9O
ZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05l
dHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1Bs
dWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFt
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05QUnVudGltZU9iamVjdE1hcC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05QUnVudGltZU9iamVjdE1hcC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lu
cy9OUFJ1bnRpbWVVdGlsaXRpZXMuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
UFJ1bnRpbWVVdGlsaXRpZXMuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
Q29udHJvbGxlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
UGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luVmlldy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVy
cm9yc0d0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2Vi
RnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVD
bGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGll
bnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVu
dC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVu
dC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRXJyb3JzLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNs
aWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9y
Q2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3Bl
Y3RvckNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxh
dGZvcm1TdHJhdGVnaWVzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0
L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1
cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlBvcHVwTWVudS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQv
V2ViU2VhcmNoUG9wdXBNZW51LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYlNlYXJjaFBvcHVwTWVudS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViS2l0TWFp
bi5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5n
QXJlYS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3
aW5nQXJlYS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRmluZFBhZ2VPdmVybGF5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmlu
ZFBhZ2VPdmVybGF5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9DaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWFHdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9n
dGsvV2ViUGFnZUd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFj
a2VkRHJhd2luZ0FyZWEuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJh
Y2tlZERyYXdpbmdBcmVhLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVy
bGF5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJFZGl0Q29tbWFuZC5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkVkaXRDb21tYW5kLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRnJhbWUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlByb2Nlc3MuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzc01haW4uaAorCit3ZWJraXQyX2J1aWx0X3Nv
dXJjZXMgKz0gXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2Vz
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJN
ZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL05QT2JqZWN0TWVzc2FnZVJlY2Vp
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5D
b250cm9sbGVyUHJveHlNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdp
bkNvbnRyb2xsZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUGx1Z2luUHJvY2Vzc01lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UGx1Z2luUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUGx1Z2luUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1BsdWdpblByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9QbHVnaW5Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViQ29udGV4dE1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29u
dGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5z
cGVjdG9yTWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JN
ZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rv
clByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFn
ZU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2VSZWNl
aXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZVByb3h5TWVzc2FnZXMu
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNzYWdlcy5oIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2
ZXIuY3BwCisKK0JVSUxUX1NPVVJDRVMgKz0gXAorCSQod2Via2l0Ml9idWlsdF9zb3VyY2VzKSBc
CisJZ2VuZXJhdGUtd2Via2l0Mi1mb3J3YXJkaW5nLWhlYWRlcnMKKworRm9yd2FyZGluZ0hlYWRl
cnMgOj0gJChHRU5TT1VSQ0VTX1dFQktJVDIpL2luY2x1ZGUKK2dlbmVyYXRlLXdlYmtpdDItZm9y
d2FyZGluZy1oZWFkZXJzOiAkKHNyY2RpcikvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1m
b3J3YXJkaW5nLWhlYWRlcnMucGwgJCh3ZWJraXQyX3NvdXJjZXMpCisJJChBTV9WX2F0KSQobWtk
aXJfcCkgJChGb3J3YXJkaW5nSGVhZGVycykvSmF2YVNjcmlwdENvcmUKKwkkKEFNX1ZfYXQpJCht
a2Rpcl9wKSAkKEZvcndhcmRpbmdIZWFkZXJzKS9XZWJDb3JlCisJJChBTV9WX2F0KSQobWtkaXJf
cCkgJChGb3J3YXJkaW5nSGVhZGVycykvV2ViS2l0MgorCSQoQU1fVl9HRU4pJChQRVJMKSAkPCAk
KFdlYktpdDIpICQoRm9yd2FyZGluZ0hlYWRlcnMpIGd0ayBzb3VwIAorCit2cGF0aCAlLm1lc3Nh
Z2VzLmluID0gXAorCSQoV2ViS2l0MikvUGx1Z2luUHJvY2VzcyBcCisJJChXZWJLaXQyKS9TaGFy
ZWQvUGx1Z2lucyBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MgXAorCSQoV2ViS2l0MikvVUlQcm9j
ZXNzL0Rvd25sb2FkcyBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvUGx1Z2lucyBcCisJJChXZWJL
aXQyKS9XZWJQcm9jZXNzIFwKKwkkKFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1Z2lucyBcCisJJChX
ZWJLaXQyKS9XZWJQcm9jZXNzL1dlYlBhZ2UgCisKK21lc3NhZ2VfZ2VuX3NjcmlwdHMgPSBcCisJ
JChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkgXAorCSQoV2Vi
S2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1oZWFkZXIucHkgXAorCSQoV2ViS2l0Mikv
U2NyaXB0cy93ZWJraXQyL19faW5pdF9fLnB5IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvd2Via2l0
Mi9tZXNzYWdlcy5weQorCisjIE1lc3NhZ2UgaGVhZGVyIGdlbmVyYXRpb24KK0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvJU1lc3NhZ2VSZWNlaXZlci5jcHA6ICUubWVzc2FnZXMuaW4gJChtZXNzYWdl
X2dlbl9zY3JpcHRzKQorCSQoQU1fVl9HRU4pJChQWVRIT04pICQoc3JjZGlyKS9XZWJLaXQyL1Nj
cmlwdHMvZ2VuZXJhdGUtbWVzc2FnZS1yZWNlaXZlci5weSAkPCA+ICRACisKK0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvJU1lc3NhZ2VzLmg6ICUubWVzc2FnZXMuaW4gJChtZXNzYWdlX2dlbl9zY3Jp
cHRzKQorCSQoQU1fVl9HRU4pJChQWVRIT04pICQoc3JjZGlyKS9XZWJLaXQyL1NjcmlwdHMvZ2Vu
ZXJhdGUtbWVzc2FnZXMtaGVhZGVyLnB5ICQ8ID4gJEAKKworQ0xFQU5GSUxFUyArPSBcCisJJChC
VUlMVF9TT1VSQ0VTKSBcCisJJCh0b3BfYnVpbGRkaXIpL1dlYktpdDIvZ3RrL0BXRUJLSVRHVEtf
UENfTkFNRUAtQFdFQktJVEdUS19BUElfVkVSU0lPTkAucGMgXAorCSQodG9wX2J1aWxkZGlyKS9Q
cm9ncmFtcy9XZWJLaXRXZWJQcm9jZXNzCisKKyMgV2ViS2l0V2ViUHJvY2VzcworYmluX1BST0dS
QU1TICs9IFwKKwlQcm9ncmFtcy9XZWJLaXRXZWJQcm9jZXNzCisKK1Byb2dyYW1zX1dlYktpdFdl
YlByb2Nlc3NfQ1BQRkxBR1MgPSBcCisJLUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJv
Y2Vzcy9ndGsgXAorCS1JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIgXAor
CS1JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZSBcCisJLUkk
KHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUgXAor
CSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJJChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykKKworUHJv
Z3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DRkxBR1MgPSBcCisJJChnbG9iYWxfY2ZsYWdzKSBcCisJ
JChHVEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykKKworUHJvZ3JhbXNfV2ViS2l0V2Vi
UHJvY2Vzc19TT1VSQ0VTID0gXAorCVdlYktpdDIvZ3RrL01haW5HdGsuY3BwCisKK1Byb2dyYW1z
X1dlYktpdFdlYlByb2Nlc3NfTERBREQgPSBcCisJbGlid2Via2l0Mmd0ay1AV0VCS0lUR1RLX0FQ
SV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYSBcCisJJChH
VEtfTElCUykgXAorCSQoR0xJQl9MSUJTKSBcCisJJChMSUJTT1VQX0xJQlMpCisKK1Byb2dyYW1z
X1dlYktpdFdlYlByb2Nlc3NfTERGTEFHUyA9IFwKKwktbm8tZmFzdC1pbnN0YWxsIFwKKwktbm8t
aW5zdGFsbApkaWZmIC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmggYi9XZWJLaXQyL1dl
YktpdDJQcmVmaXguaAppbmRleCBiZGZjMTgxLi44OTEyZTVhIDEwMDY0NAotLS0gYS9XZWJLaXQy
L1dlYktpdDJQcmVmaXguaAorKysgYi9XZWJLaXQyL1dlYktpdDJQcmVmaXguaApAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0yMyw2ICsyNCw5IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8gCiAKKyNpZiBkZWZpbmVkIChCVUlMRElOR19HVEtfXykKKyNpbmNsdWRlIDxXZWJDb3Jl
L2NvbmZpZy5oPgorI2VuZGlmIC8qIGRlZmluZWQgKEJVSUxESU5HX0dUS19fKSAqLwogI2luY2x1
ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi9EaXNhbGxvd0NUeXBlLmg+CiAjaWZk
ZWYgX19jcGx1c3BsdXMKQEAgLTEwOSw0ICsxMTMsMyBAQCBzdGF0aWMgY29uc3QgdHlwZSYgbmFt
ZSgpIFwKICNlbmRpZgogCiAjZW5kaWYgLyogZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lO
MzIpICovCi0KZGlmZiAtLWdpdCBhL1dlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4gYi9XZWJLaXQy
L2d0ay93ZWJraXQyLnBjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAuLjZl
ZWVlODAKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCkBAIC0w
LDAgKzEsMTEgQEAKK3ByZWZpeD1AcHJlZml4QAorZXhlY19wcmVmaXg9QGV4ZWNfcHJlZml4QAor
bGliZGlyPUBsaWJkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAorCitOYW1lOiBXZWJLaXQy
CitEZXNjcmlwdGlvbjogV2ViIGNvbnRlbnQgZW5naW5lIGZvciBHVEsrCitWZXJzaW9uOiBAVkVS
U0lPTkAKK1JlcXVpcmVzOiBnbGliLTIuMCBndGsrLUBHVEtfQVBJX1ZFUlNJT05AIGxpYnNvdXAt
Mi40CitMaWJzOiAtTCR7bGliZGlyfSAtbHdlYmtpdDJndGstQFdFQktJVEdUS19BUElfVkVSU0lP
TkAKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L3dlYmtpdDItQFdFQktJVEdUS19BUElfVkVSU0lP
TkAgCmRpZmYgLS1naXQgYS9XZWJLaXRUb29scy9DaGFuZ2VMb2cgYi9XZWJLaXRUb29scy9DaGFu
Z2VMb2cKaW5kZXggOWNhYmMwOC4uNGZiZjkyZiAxMDA2NDQKLS0tIGEvV2ViS2l0VG9vbHMvQ2hh
bmdlTG9nCisrKyBiL1dlYktpdFRvb2xzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzIEBACisyMDEw
LTEyLTEwICBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZSBn
ZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgZm9yIEdUSyBwb3J0IHVzYWdlIAorICAgICAg
ICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAg
ICAgICogU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGw6IEZvciBHVEsgcG9y
dCwgdGFraW5nIDEgZXh0cmEgYXJndW1lbnQgZm9yIGNvcHlpbmcgbmV0d29yayBoZWFkZXJzLgor
ICAgICAgICAqIFNjcmlwdHMvd2Via2l0ZGlycy5wbTogQWRkZWQgY2hhbmdlcyB0byBidWlsZCB3
ZWJraXQyIGZvciBHVEsgcG9ydCB1c2luZyBidWlsZC13ZWJraXQgc2NyaXB0LgorCiAyMDEwLTEy
LTA3ICBUb255IENoYW5nICA8dG9ueUBjaHJvbWl1bS5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQg
YnkgT2phbiBWYWZhaS4KZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvZ2VuZXJhdGUt
Zm9yd2FyZGluZy1oZWFkZXJzLnBsIGIvV2ViS2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGwKaW5kZXggZDVhYmI1Yi4uMjk1ZjExMiAxMDA3NTUKLS0tIGEvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKKysrIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwKQEAgLTQ3LDgg
KzQ3LDE4IEBAIG15ICRvdXRwdXREaXJlY3RvcnkgPSAkQVJHVlswXTsKIHNoaWZ0OwogbXkgJHBs
YXRmb3JtICA9ICRBUkdWWzBdOwogCitteSAkbmV0d29yazsKK2lmICgkcGxhdGZvcm0gPX4gImd0
ayIpIHsKKyAgICBzaGlmdDsKKyAgICAkbmV0d29yayA9ICRBUkdWWzBdOworfQorCiBmb3JlYWNo
IG15ICRwcmVmaXggKEBwbGF0Zm9ybVByZWZpeGVzKSB7Ci0gICAgcHVzaChAc2tpcHBlZFByZWZp
eGVzLCAkcHJlZml4KSB1bmxlc3MgKCRwcmVmaXggPX4gJHBsYXRmb3JtKTsKKyAgICBpZiAoJHBs
YXRmb3JtID1+ICJndGsiKSB7CisgICAgICAgIHB1c2goQHNraXBwZWRQcmVmaXhlcywgJHByZWZp
eCkgdW5sZXNzICgkcHJlZml4ID1+ICRwbGF0Zm9ybSBvciAkcHJlZml4ID1+ICRuZXR3b3JrKTsK
KyAgICB9IGVsc2UgeworICAgICAgICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVu
bGVzcyAoJHByZWZpeCA9fiAkcGxhdGZvcm0pOworICAgIH0KIH0KIAogZm9yZWFjaCAoQGZyYW1l
d29ya3MpIHsKZGlmZiAtLWdpdCBhL1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbSBi
L1dlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQppbmRleCA3MzI4OGUwLi5jZGQ3ODZi
IDEwMDY0NAotLS0gYS9XZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMucG0KKysrIGIvV2Vi
S2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCkBAIC0xMzUwLDYgKzEzNTAsOCBAQCBzdWIg
YnVpbGRBdXRvdG9vbHNQcm9qZWN0KCRAKQogICAgICAgICAgICAgJG1ha2VBcmdzID0gJG1ha2VB
cmdzIC4gIiAiIC4gJDE7CiAgICAgICAgIH0gZWxzaWYgKCRvcHQgPX4gL14tLXByZWZpeD0oLiop
L2kgKSB7CiAgICAgICAgICAgICAkcHJlZml4ID0gJDE7CisgICAgICAgIH0gZWxzaWYgKCRvcHQg
PX4gL14tLXdlYmtpdDIvaSApIHsKKyAgICAgICAgICAgIHB1c2ggQGJ1aWxkQXJncywgIi0tZW5h
YmxlLXdlYmtpdDIiOwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgcHVzaCBAYnVpbGRB
cmdzLCAkb3B0OwogICAgICAgICB9CmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1
cmUuYWMKaW5kZXggOWUyZGY0MC4uZDYxMDE2MiAxMDA2NDQKLS0tIGEvY29uZmlndXJlLmFjCisr
KyBiL2NvbmZpZ3VyZS5hYwpAQCAtODk1LDYgKzg5NSwyMyBAQCBpZiB0ZXN0ICIkZW5hYmxlX3Zp
ZGVvIiA9ICJ5ZXMiOyB0aGVuCiAgICAgaHRtbF9mbGFncz15ZXMKIGZpCiAKKyMgV2ViS2l0Mgor
QUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxkIFdlYmtpdDJdKQorQUNfQVJHX0VOQUJM
RSh3ZWJraXQyLAorICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXdlYmtpdDJd
LAorICAgICAgICAgICAgICAgIFtidWlsZCB3ZWJraXQyIFtkZWZhdWx0PW5vXV0pLAorICAgICAg
ICAgICAgICAgIFtdLCBbZW5hYmxlX3dlYmtpdDI9Im5vIl0pCitBQ19NU0dfUkVTVUxUKFskZW5h
YmxlX3dlYmtpdDJdKQoraWYgdGVzdCAiJGVuYWJsZV93ZWJraXQyIiA9ICJ5ZXMiOyB0aGVuCisg
ICAgIyBUdXJuIG9uIHRoaXMgbWFjcm8gYnkgZGVmYXVsdC4gSXQgaXMgdXNlZCBpbiBpbnR0eXBl
cy5oIGZvciBkZWZpbmluZyBtYWNyb3MgdXNlZCBieSB3ZWJraXQuCisgICAgIyBJbiBXZWJLaXQs
IHRoaXMgZGVmaW5lIGlzIGVuc3VyZWQgYnkgZG9pbmcgaXQgYmVmb3JlIGluY2x1ZGluZyBjb25m
aWcuaCBpbiBhbnkgc291cmNlIGZpbGUuCisgICAgIyBJbiBXZWJLaXQyLCBXZWJLaXQyUHJlZml4
LmggaXMgaW5jbHVkZWQgYXMgZmlyc3QgaGVhZGVyIGZpbGUsIHNvIHdlIG5lZWQgdG8gZGVmaW5l
IHRoaXMKKyAgICAjIG1hY3JvIGJlZm9yZSBhY3R1YWxseSBXZWJLaXQyUHJlZml4LmggaXMgaW5j
bHVkZWQgaW4gYW55IGZpbGUuCisgICAgQUNfREVGSU5FKFtfX1NURENfRk9STUFUX01BQ1JPU10s
WzFdLFtUdXJuIG9uIHRoZSBfX1NURENfRk9STUFUX01BQ1JPUyB1c2VkIGluIGludHR5cGVzLmhd
KSwKKyAgICBXRUJLSVRHVEtfUENfTkFNRT0ke1dFQktJVEdUS19QQ19OQU1FfTIKKyAgICBBQ19T
VUJTVChbV0VCS0lUR1RLX1BDX05BTUVdKQorZmkKKwogR1RLX0RPQ19DSEVDSyhbMS4xMF0pCiAK
ICMgT1MgY29uZGl0aW9uYWxzCkBAIC05NjgsMjYgKzk4NSwzNyBAQCBBTV9DT05ESVRJT05BTChb
RU5BQkxFX1dFQl9TT0NLRVRTXSxbdGVzdCAiJGVuYWJsZV93ZWJfc29ja2V0cyIgPSAieWVzIl0p
CiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9BVURJT10sW3Rlc3QgIiRlbmFibGVfd2ViX2F1
ZGlvIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCX1RJTUlOR10sW3Rlc3Qg
IiRlbmFibGVfd2ViX3RpbWluZyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX09Q
Q09ERV9TVEFUU10sW3Rlc3QgIiRlbmFibGVfb3Bjb2RlX3N0YXRzIiA9ICJ5ZXMiXSkKK0FNX0NP
TkRJVElPTkFMKFtFTkFCTEVfV0VCS0lUMl0sW3Rlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAieWVz
Il0pCiAKICMgR3RrIGNvbmRpdGlvbmFscwogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9JTlRST1NQ
RUNUSU9OXSxbdGVzdCAiJGVuYWJsZV9pbnRyb3NwZWN0aW9uIiA9ICJ5ZXMiXSkKIAotCiBBQ19D
T05GSUdfRklMRVMoWwogR05VbWFrZWZpbGUKLVdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZlcnNp
b24uaAotV2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxlCi1XZWJLaXQvZ3RrL2RvY3MvdmVyc2lv
bi54bWwKLV0KLSkKLQotQUNfQ09ORklHX0ZJTEVTKFsKLVdlYktpdC9ndGsvJHtXRUJLSVRHVEtf
UENfTkFNRX0tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOldlYktpdC9ndGsvd2Via2l0LnBj
LmluCi1XZWJLaXQvZ3RrL0pTQ29yZS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2lyOldlYktp
dC9ndGsvSlNDb3JlLmdpci5pbgotV2ViS2l0L2d0ay9vcmcud2Via2l0Z3RrLSR7V0VCS0lUR1RL
X0FQSV9WRVJTSU9OfS5nc2NoZW1hLnhtbDpXZWJLaXQvZ3RrL29yZy53ZWJraXRndGsuZ3NjaGVt
YS54bWwuaW4KLV0KLSxbV0VCS0lUR1RLX0FQSV9WRVJTSU9OPSRXRUJLSVRHVEtfQVBJX1ZFUlNJ
T04sV0VCS0lUR1RLX1BDX05BTUU9JFdFQktJVEdUS19QQ19OQU1FXQotKQorXSkKKyAKK2lmIHRl
c3QgIiRlbmFibGVfd2Via2l0MiIgPSAibm8iOyB0aGVuCisgICAgQUNfQ09ORklHX0ZJTEVTKFsK
KyAgICBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2ZXJzaW9uLmgKKyAgICBXZWJLaXQvZ3RrL2Rv
Y3MvR05VbWFrZWZpbGUKKyAgICBXZWJLaXQvZ3RrL2RvY3MvdmVyc2lvbi54bWwKKyAgICBdCisg
ICAgKQorCisgICAgQUNfQ09ORklHX0ZJTEVTKFsKKyAgICBXZWJLaXQvZ3RrLyR7V0VCS0lUR1RL
X1BDX05BTUV9LSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5wYzpXZWJLaXQvZ3RrL3dlYmtpdC5w
Yy5pbgorICAgIFdlYktpdC9ndGsvSlNDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXI6
V2ViS2l0L2d0ay9KU0NvcmUuZ2lyLmluCisgICAgV2ViS2l0L2d0ay9vcmcud2Via2l0Z3RrLSR7
V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5nc2NoZW1hLnhtbDpXZWJLaXQvZ3RrL29yZy53ZWJraXRn
dGsuZ3NjaGVtYS54bWwuaW4KKyAgICBdCisgICAgLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdF
QktJVEdUS19BUElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVd
CisgICAgKQorZWxzZQorICAgIEFDX0NPTkZJR19GSUxFUyhbCisgICAgV2ViS2l0Mi9ndGsvJHtX
RUJLSVRHVEtfUENfTkFNRX0tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOldlYktpdDIvZ3Rr
L3dlYmtpdDIucGMuaW4KKyAgICBdCisgICAgLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdFQktJ
VEdUS19BUElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVdCisg
ICAgKQorZmkKIAogQUNfT1VUUFVUCiAKQEAgLTEwNDUsNiArMTA3Myw3IEBAIEdUSysgY29uZmln
dXJhdGlvbjoKICBHREsgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICA6ICR3aXRoX3RhcmdldAogIEhpbGRvbiBVSSBleHRlbnNpb25zICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfaGlsZG9uCiAgSW50cm9zcGVjdGlv
biBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5hYmxlX2lu
dHJvc3BlY3Rpb24KKyBXZWJLaXQyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICA6ICRlbmFibGVfd2Via2l0MgogIgogaWYgdGVzdCAiJHdpdGhfdW5pY29k
ZV9iYWNrZW5kIiA9ICJnbGliIjsgdGhlbgogICAgZWNobyAiICAgICA+PiBXQVJOSU5HOiB0aGUg
Z2xpYi1iYXNlZCB1bmljb2RlIGJhY2tlbmQgaXMgc2xvdyBhbmQgaW5jb21wbGV0ZSA8PCIK
</data>
<flag name="review"
          id="67067"
          type_id="1"
          status="-"
          setter="eric"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76630</attachid>
            <date>2010-12-14 22:24:46 -0800</date>
            <delta_ts>2010-12-16 06:44:15 -0800</delta_ts>
            <desc>WebKit2 GTK makefile</desc>
            <filename>37369_makefile_webkit2_15122010.patch</filename>
            <type>text/plain</type>
            <size>44755</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">SW5kZXg6IENoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBDaGFuZ2VMb2cJKHJldmlzaW9uIDc0MDk3
KQorKysgQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTUgQEAKKzIwMTAtMTIt
MTQgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2aSBLYXNpYmhh
dGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBi
eSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBidWlsZGluZyBX
ZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBDaGFuZ2Vz
IHRvIGJ1aWxkIGVpdGhlciBvZiBXZWJLaXQxIG9yIFdlYktpdDIuCisgICAgICAgIEl0IGJhc2lj
YWxseSBleGNsdWRlcyBhbGwgV2ViS2l0L2d0ay93ZWJraXQvIGZpbGVzIHdoZW4gYnVpbGRpbmcg
V2ViS2l0Mi4KKyAgICAgICAgQWxzbywgZXhsdWRlcyBVbml0dGVzdHMsIER1bXByZW5kZXJUcmVl
LCBHdGtMYXVuY2hlciBldGMgZm9yIFdlYktpdDIuCisgICAgICAgICogY29uZmlndXJlLmFjOiBP
cHRpb24gZm9yIGVuYWJsZSBvciBkaXNhYmxlIFdlYktpdDIuCisKIDIwMTAtMTItMTQgIFJ5b3N1
a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgRXJpYyBT
ZWlkZWwuCkluZGV4OiBHTlVtYWtlZmlsZS5hbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBHTlVtYWtlZmlsZS5h
bQkocmV2aXNpb24gNzQwOTcpCisrKyBHTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5KQpAQCAt
MzQsMTAgKzM0LDEyIEBAIEdFTlNPVVJDRVMgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3UK
IEdFTlNPVVJDRVNfSkFWQVNDUklQVENPUkUgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3Vy
Y2VzL0phdmFTY3JpcHRDb3JlCiBHRU5TT1VSQ0VTX1dFQkNPUkUgOj0gJCh0b3BfYnVpbGRkaXIp
L0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUKIEdFTlNPVVJDRVNfV0VCS0lUIDo9ICQodG9wX2J1aWxk
ZGlyKS9EZXJpdmVkU291cmNlcy93ZWJraXQKK0dFTlNPVVJDRVNfV0VCS0lUMiA6PSAkKHRvcF9i
dWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MgogR0VOUFJPR1JBTVMgOj0gJCh0b3BfYnVp
bGRkaXIpL1Byb2dyYW1zCiBHRU5TT1VSQ0VTX0lOU1BFQ1RPUiA6PSAkKEdFTlBST0dSQU1TKS9y
ZXNvdXJjZXMvaW5zcGVjdG9yCiBXZWJDb3JlIDo9ICQoc3JjZGlyKS9XZWJDb3JlCiBXZWJLaXQg
Oj0gJChzcmNkaXIpL1dlYktpdC9ndGsKK1dlYktpdDIgOj0gJChzcmNkaXIpL1dlYktpdDIKIAog
IyBMaWJyYXJpZXMgYW5kIHN1cHBvcnQgY29tcG9uZW50cwogYmluX1BST0dSQU1TIDo9CkBAIC02
OSw2ICs3MSw3IEBAIHdlYmtpdGd0a19jcHBmbGFncyA6PQogd2Via2l0Z3RrX2dkb21fYnVpbHRf
c291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMgOj0KIHdlYmtpdGd0a19idWlsdF9u
b3NvdXJjZXMgOj0KK3dlYmtpdDJfYnVpbHRfc291cmNlcyA6PQogZ2xvYmFsX2NwcGZsYWdzIDo9
CiBnbG9iYWxfY2ZsYWdzIDo9CiBnbG9iYWxfY3h4ZmxhZ3MgOj0KQEAgLTIwMywxMCArMjA2LDE1
IEBAIEVYVFJBX0RJU1QgKz0gXAogIyBJbmNsdWRlIG1vZHVsZSBtYWtlZmlsZXMKIGluY2x1ZGUg
SmF2YVNjcmlwdENvcmUvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQorIyBJbmNsdWRlIG1vZHVsZSBtYWtlZmlsZXMgYmFzZWQgb24gd2Via2l0IGFyY2gKK2lm
IEVOQUJMRV9XRUJLSVQyCitpbmNsdWRlIFdlYktpdDIvR05VbWFrZWZpbGUuYW0KK2Vsc2UgICNF
TkFCTEVfV0VCS0lUMgogaW5jbHVkZSBXZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtCiBpbmNsdWRl
IFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXRU
b29scy9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJLaXQvZ3RrL3BvL0dOVW1ha2VmaWxlLmFt
CitlbmRpZiAgI0VOQUJMRV9XRUJLSVQyCiAKICMgQXV0b2dlbmVyYXRlZCBzb3VyY2VzCiBCVUlM
VF9TT1VSQ0VTICs9IFwKSW5kZXg6IGNvbmZpZ3VyZS5hYwo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjb25maWd1
cmUuYWMJKHJldmlzaW9uIDc0MDk3KQorKysgY29uZmlndXJlLmFjCSh3b3JraW5nIGNvcHkpCkBA
IC05MDIsNiArOTAyLDIzIEBAIGlmIHRlc3QgIiRlbmFibGVfdmlkZW8iID0gInllcyI7IHRoZW4K
ICAgICBodG1sX2ZsYWdzPXllcwogZmkKIAorIyBXZWJLaXQyCitBQ19NU0dfQ0hFQ0tJTkcoW3do
ZXRoZXIgdG8gYnVpbGQgV2Via2l0Ml0pCitBQ19BUkdfRU5BQkxFKHdlYmtpdDIsCisgICAgICAg
ICAgICBBQ19IRUxQX1NUUklORyhbLS1lbmFibGUtd2Via2l0Ml0sCisgICAgICAgICAgICAgICAg
W2J1aWxkIHdlYmtpdDIgW2RlZmF1bHQ9bm9dXSksCisgICAgICAgICAgICAgICAgW10sIFtlbmFi
bGVfd2Via2l0Mj0ibm8iXSkKK0FDX01TR19SRVNVTFQoWyRlbmFibGVfd2Via2l0Ml0pCitpZiB0
ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyI7IHRoZW4KKyAgICAjIFR1cm4gb24gdGhpcyBt
YWNybyBieSBkZWZhdWx0LiBJdCBpcyB1c2VkIGluIGludHR5cGVzLmggZm9yIGRlZmluaW5nIG1h
Y3JvcyB1c2VkIGJ5IHdlYmtpdC4KKyAgICAjIEluIFdlYktpdCwgdGhpcyBkZWZpbmUgaXMgZW5z
dXJlZCBieSBkb2luZyBpdCBiZWZvcmUgaW5jbHVkaW5nIGNvbmZpZy5oIGluIGFueSBzb3VyY2Ug
ZmlsZS4KKyAgICAjIEluIFdlYktpdDIsIFdlYktpdDJQcmVmaXguaCBpcyBpbmNsdWRlZCBhcyBm
aXJzdCBoZWFkZXIgZmlsZSwgc28gd2UgbmVlZCB0byBkZWZpbmUgdGhpcworICAgICMgbWFjcm8g
YmVmb3JlIGFjdHVhbGx5IFdlYktpdDJQcmVmaXguaCBpcyBpbmNsdWRlZCBpbiBhbnkgZmlsZS4K
KyAgICBBQ19ERUZJTkUoW19fU1REQ19GT1JNQVRfTUFDUk9TXSxbMV0sW1R1cm4gb24gdGhlIF9f
U1REQ19GT1JNQVRfTUFDUk9TIHVzZWQgaW4gaW50dHlwZXMuaF0pLAorICAgIFdFQktJVEdUS19Q
Q19OQU1FPSR7V0VCS0lUR1RLX1BDX05BTUV9MgorICAgIEFDX1NVQlNUKFtXRUJLSVRHVEtfUENf
TkFNRV0pCitmaQorCiBHVEtfRE9DX0NIRUNLKFsxLjEwXSkKIAogIyBPUyBjb25kaXRpb25hbHMK
QEAgLTk3NiwyNiArOTkzLDM3IEBAIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCX1NPQ0tFVFNd
LFt0ZXMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCX0FVRElPXSxbdGVzdCAiJGVuYWJsZV93
ZWJfYXVkaW8iID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJfVElNSU5HXSxb
dGVzdCAiJGVuYWJsZV93ZWJfdGltaW5nIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFC
TEVfT1BDT0RFX1NUQVRTXSxbdGVzdCAiJGVuYWJsZV9vcGNvZGVfc3RhdHMiID0gInllcyJdKQor
QU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJLSVQyXSxbdGVzdCAiJGVuYWJsZV93ZWJraXQyIiA9
ICJ5ZXMiXSkKIAogIyBHdGsgY29uZGl0aW9uYWxzCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX0lO
VFJPU1BFQ1RJT05dLFt0ZXN0ICIkZW5hYmxlX2ludHJvc3BlY3Rpb24iID0gInllcyJdKQogCi0K
IEFDX0NPTkZJR19GSUxFUyhbCiBHTlVtYWtlZmlsZQotV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0
dmVyc2lvbi5oCi1XZWJLaXQvZ3RrL2RvY3MvR05VbWFrZWZpbGUKLVdlYktpdC9ndGsvZG9jcy92
ZXJzaW9uLnhtbAotXQotKQotCi1BQ19DT05GSUdfRklMRVMoWwotV2ViS2l0L2d0ay8ke1dFQktJ
VEdUS19QQ19OQU1FfS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2ViS2l0L2d0ay93ZWJr
aXQucGMuaW4KLVdlYktpdC9ndGsvSlNDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5naXI6
V2ViS2l0L2d0ay9KU0NvcmUuZ2lyLmluCi1XZWJLaXQvZ3RrL29yZy53ZWJraXRndGstJHtXRUJL
SVRHVEtfQVBJX1ZFUlNJT059LmdzY2hlbWEueG1sOldlYktpdC9ndGsvb3JnLndlYmtpdGd0ay5n
c2NoZW1hLnhtbC5pbgotXQotLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049JFdFQktJVEdUS19BUElf
VkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05BTUVdCi0pCitdKQorIAor
aWYgdGVzdCAiJGVuYWJsZV93ZWJraXQyIiA9ICJubyI7IHRoZW4KKyAgICBBQ19DT05GSUdfRklM
RVMoWworICAgIFdlYktpdC9ndGsvd2Via2l0L3dlYmtpdHZlcnNpb24uaAorICAgIFdlYktpdC9n
dGsvZG9jcy9HTlVtYWtlZmlsZQorICAgIFdlYktpdC9ndGsvZG9jcy92ZXJzaW9uLnhtbAorICAg
IF0KKyAgICApCisKKyAgICBBQ19DT05GSUdfRklMRVMoWworICAgIFdlYktpdC9ndGsvJHtXRUJL
SVRHVEtfUENfTkFNRX0tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOldlYktpdC9ndGsvd2Vi
a2l0LnBjLmluCisgICAgV2ViS2l0L2d0ay9KU0NvcmUtJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059
LmdpcjpXZWJLaXQvZ3RrL0pTQ29yZS5naXIuaW4KKyAgICBXZWJLaXQvZ3RrL29yZy53ZWJraXRn
dGstJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdzY2hlbWEueG1sOldlYktpdC9ndGsvb3JnLndl
YmtpdGd0ay5nc2NoZW1hLnhtbC5pbgorICAgIF0KKyAgICAsW1dFQktJVEdUS19BUElfVkVSU0lP
Tj0kV0VCS0lUR1RLX0FQSV9WRVJTSU9OLFdFQktJVEdUS19QQ19OQU1FPSRXRUJLSVRHVEtfUENf
TkFNRV0KKyAgICApCitlbHNlCisgICAgQUNfQ09ORklHX0ZJTEVTKFsKKyAgICBXZWJLaXQyL2d0
ay8ke1dFQktJVEdUS19QQ19OQU1FfS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2ViS2l0
Mi9ndGsvd2Via2l0Mi5wYy5pbgorICAgIF0KKyAgICAsW1dFQktJVEdUS19BUElfVkVSU0lPTj0k
V0VCS0lUR1RLX0FQSV9WRVJTSU9OLFdFQktJVEdUS19QQ19OQU1FPSRXRUJLSVRHVEtfUENfTkFN
RV0KKyAgICApCitmaQogCiBBQ19PVVRQVVQKIApAQCAtMTA1NCw2ICsxMDgyLDcgQEAgR1RLKyBj
b25maWd1cmF0aW9uOgogIEdESyB0YXJnZXQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIDogJHdpdGhfdGFyZ2V0CiAgSGlsZG9uIFVJIGV4dGVuc2lvbnMgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkd2l0aF9oaWxkb24KICBJbnRyb3Nw
ZWN0aW9uIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA6ICRlbmFi
bGVfaW50cm9zcGVjdGlvbgorIFdlYktpdDIgc3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV93ZWJraXQyCiAiCiBpZiB0ZXN0ICIkd2l0aF91
bmljb2RlX2JhY2tlbmQiID0gImdsaWIiOyB0aGVuCiAgICBlY2hvICIgICAgID4+IFdBUk5JTkc6
IHRoZSBnbGliLWJhc2VkIHVuaWNvZGUgYmFja2VuZCBpcyBzbG93IGFuZCBpbmNvbXBsZXRlIDw8
IgpJbmRleDogV2ViQ29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9DaGFuZ2VM
b2cJKHJldmlzaW9uIDc0MDk3KQorKysgV2ViQ29yZS9DaGFuZ2VMb2cJKHdvcmtpbmcgY29weSkK
QEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0xNCAgQW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rv
cm9sYS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEu
Y29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENo
YW5nZXMgdG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0CisgICAgICAgICho
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAg
Tm8gbmV3IGZ1bmN0aW9uYWxpdHkgYWRkZWQgb3IgZGVsZXRlZC4gT25seSBtYWtlZmlsZSBjaGFu
Z2UuIEhlbmNlLCBubyB0ZXN0cyBhZGRlZC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBS
ZW1vdmVkIGJpbmRpbmdzL2dvYmplY3QgZnJvbSB3ZWJjb3JlX3NvdXJjZXMgJiB3ZWJjb3JlX2Nw
cGZsYWdzIGFuZCBhZGRlZCB0aGVtIHRvIFdlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KKyAgICAg
ICAgKiBwbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaDogUmVt
b3ZlIGluY2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+IGFuZCBkZWNsYXJlIFdFQktJVF9B
UEkgZGlyZWN0bHkKKwogMjAxMC0xMi0xNCAgS29hbi1TaW4gVGFuICA8a29hbnNpbi50YW5AZ21h
aWwuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5IEFsZXhleSBQcm9za3VyeWFrb3YuCkluZGV4
OiBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYkNvcmUvR05VbWFrZWZp
bGUuYW0JKHJldmlzaW9uIDc0MDk3KQorKysgV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkod29ya2lu
ZyBjb3B5KQpAQCAtNywxMCArNywxMCBAQCBXRUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUyA6PSAk
KFdlYkNvcmUpCiB3ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlIFwK
IAktSSQoc3JjZGlyKS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkgXAorCS1JJChzcmNkaXIpL1dlYkNv
cmUvYmluZGluZ3MgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MvZ2VuZXJpYyBcCiAJ
LUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9qcyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9i
aW5kaW5ncy9qcy9zcGVjaWFsaXphdGlvbiBcCi0JLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JyaWRnZSBcCiAJLUkkKHNyY2Rpcikv
V2ViQ29yZS9icmlkZ2UvYyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9icmlkZ2Uvam5pL2pzYyBc
CkBAIC02ODYsMjEgKzY4Niw2IEBAIHdlYmNvcmVfc291cmNlcyArPSBcCiAJV2ViQ29yZS9iaW5k
aW5ncy9nZW5lcmljL0dlbmVyaWNCaW5kaW5nLmggXAogCVdlYkNvcmUvYmluZGluZ3MvZ2VuZXJp
Yy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmlj
L1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0Nv
bnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVy
dFRvVVRGOFN0cmluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvRE9NT2JqZWN0Q2Fj
aGUuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvRE9NT2JqZWN0Q2FjaGUuaCBcCi0J
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmNwcCBcCi0JV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExpc3RlbmVyLmggXAotCVdlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0
L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdERPTUV2ZW50VGFyZ2V0LmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRE
T01FdmVudFRhcmdldFByaXZhdGUuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktp
dERPTU9iamVjdC5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01PYmpl
Y3QuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBl
ckZhY3RvcnkuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1l
bnRXcmFwcGVyRmFjdG9yeS5oIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2pzL0NhY2hlZFNjcmlwdFNv
dXJjZVByb3ZpZGVyLmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvRE9NT2JqZWN0SGFzaFRhYmxl
TWFwLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01PYmplY3RIYXNoVGFibGVNYXAuaCBc
CkBAIC0zODMxLDcgKzM4MTYsNiBAQCB3ZWJjb3JlZ3RrX3NvdXJjZXMgKz0gXAogCVdlYkNvcmUv
cGxhdGZvcm0vdGV4dC9ndGsvVGV4dEJyZWFrSXRlcmF0b3JHdGsuY3BwCiBlbmRpZgogCi0KICMg
LS0tCiAjIENoYW5uZWwgbWVzYWdpbmcgc3VwcG9ydAogIyAtLS0KSW5kZXg6IFdlYkNvcmUvcGxh
dGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUu
aAkocmV2aXNpb24gNzQwOTcpCisrKyBXZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNo
ZS93ZWJraXQvc291cC1jYWNoZS5oCSh3b3JraW5nIGNvcHkpCkBAIC0yMywxMiArMjMsMTYgQEAK
ICNpZm5kZWYgV0VCS0lUX1NPVVBfQ0FDSEVfSAogI2RlZmluZSBXRUJLSVRfU09VUF9DQUNIRV9I
IDEKIAotI2lmIEJVSUxESU5HX0dUS19fCi0jaW5jbHVkZSA8d2Via2l0L3dlYmtpdGRlZmluZXMu
aD4KKyNpZmRlZiBHX09TX1dJTjMyCisgICAgI2lmZGVmIEJVSUxESU5HX1dFQktJVAorICAgICAg
ICAjZGVmaW5lIFdFQktJVF9BUEkgX19kZWNsc3BlYyhkbGxleHBvcnQpCisgICAgI2Vsc2UKKyAg
ICAgICAgI2RlZmluZSBXRUJLSVRfQVBJIF9fZGVjbHNwZWMoZGxsaW1wb3J0KQorICAgICNlbmRp
ZgorICAgICNkZWZpbmUgV0VCS0lUX09CU09MRVRFX0FQSSBXRUJLSVRfQVBJCiAjZWxzZQotI2lm
bmRlZiBXRUJLSVRfQVBJCi0jZGVmaW5lIFdFQktJVF9BUEkKLSNlbmRpZgorI2RlZmluZSBXRUJL
SVRfQVBJIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkpCisjZGVmaW5lIFdF
QktJVF9PQlNPTEVURV9BUEkgV0VCS0lUX0FQSSBfX2F0dHJpYnV0ZV9fKChkZXByZWNhdGVkKSkK
ICNlbmRpZgogCiAjaW5jbHVkZSA8bGlic291cC9zb3VwLXR5cGVzLmg+CkluZGV4OiBXZWJLaXQy
L0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL0NoYW5nZUxvZwkocmV2aXNpb24gNzQw
OTcpCisrKyBXZWJLaXQyL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDE2IEBA
CisyMDEwLTEyLTE0ICBBbXJ1dGggUmFqICA8YW1ydXRocmFqQG1vdG9yb2xhLmNvbT4gYW5kIFJh
dmkgS2FzaWJoYXRsYSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQ2hhbmdlcyB0byBlbmFibGUg
YnVpbGRpbmcgV2ViS2l0MiBmb3IgR3RrIHBvcnQuCisgICAgICAgIChodHRwczovL2J1Z3Mud2Vi
a2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBHTlVtYWtlZmlsZS5h
bTogQWRkZWQuIAorICAgICAgICAqIFNjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJz
LnBsOiBGb3IgR1RLIHBvcnQsIHRha2luZyAxIGV4dHJhIGFyZ3VtZW50IGZvciBjb3B5aW5nIG5l
dHdvcmsgaGVhZGVycy4KKyAgICAgICAgKiBXZWJLaXQyUHJlZml4Lmg6IEluY2x1ZGVkIFdlYkNv
cmUvY29uZmlnLmggZm9yIEdUSyBwb3J0IGFzIHRoZSBmaXJzdCBoZWFkZXIgZmlsZSBmb3IgV2Vi
S2l0MiBzb3VyY2VzIGZpbGVzLgorICAgICAgICAqIGd0azogQWRkZWQuCisgICAgICAgICogZ3Rr
L3dlYmtpdDIucGMuaW46IEFkZGVkLgorCiAyMDEwLTEyLTE0ICBBbmRlcnMgQ2FybHNzb24gIDxh
bmRlcnNjYUBhcHBsZS5jb20+CiAKICAgICAgICAgRml4IFdpbmRvd3MgYnVpbGQuCkluZGV4OiBX
ZWJLaXQyL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvR05VbWFrZWZpbGUu
YW0JKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiAwKQpA
QCAtMCwwICsxLDY4NiBAQAorCit3ZWJraXQyX3NvdXJjZXMgOj0KKworIyBXZWJLaXQyIENvbnZl
bmllbmNlIGxpYnJhcmllcworbm9pbnN0X0xUTElCUkFSSUVTICs9IFwKKwlsaWJXZWJLaXQyLmxh
CisKK2xpYldlYktpdDJfbGFkaXIgPSAkKHByZWZpeCkvaW5jbHVkZS93ZWJraXQyLUBXRUJLSVRH
VEtfQVBJX1ZFUlNJT05AL1dlYktpdDIKK2xpYldlYktpdDJfbGFfSEVBREVSUyA9IFwKKwkkKFdl
YktpdDIpL1NoYXJlZC9BUEkvYy9XS0FycmF5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9j
L1dLQmFzZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5o
IFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0RhdGEuaCBcCisJJChXZWJLaXQyKS9TaGFy
ZWQvQVBJL2MvV0tEaWN0aW9uYXJ5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLRXJy
b3IuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tFdmVudC5oIFwKKwkkKFdlYktpdDIp
L1NoYXJlZC9BUEkvYy9XS0dlb21ldHJ5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dL
TXV0YWJsZUFycmF5LmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rp
b25hcnkuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tOdW1iZXIuaCBcCisJJChXZWJL
aXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJJChXZWJLaXQy
KS9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCSQoV2Vi
S2l0MikvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIFwKKwkkKFdlYktpdDIpL1NoYXJl
ZC9BUEkvYy9XS1N0cmluZy5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1N0cmluZ1By
aXZhdGUuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tUeXBlLmggXAorCSQoV2ViS2l0
MikvU2hhcmVkL0FQSS9jL1dLVVJMLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVVJM
UmVxdWVzdC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1VSTFJlc3BvbnNlLmggXAor
CSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggXAorCSQo
V2ViS2l0MikvU2hhcmVkL0FQSS9jL2d0ay9XS0Jhc2VHdGsuaCBcCisJJChXZWJLaXQyKS9VSVBy
b2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Qy9XZWJLaXQyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwK
KwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5oIFwKKwkkKFdl
YktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdEl0ZW0uaCBcCisJJChXZWJL
aXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNz
L0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0Mv
V0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9D
L1dLRnJhbWUuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxp
c3RlbmVyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLTmF0aXZlRXZlbnQuaCBc
CisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwkkKFdl
YktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3Mv
QVBJL0MvV0tQYWdlTmFtZXNwYWNlLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dL
UGFnZVByaXZhdGUuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNl
cy5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5o
IFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tBUElDYXN0aUd0ay5oIFwKKwkk
KFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmgKKworbm9kaXN0X2xpYldlYktp
dDJfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmtpdDJfYnVpbHRfc291cmNlcykKKworbGliV2ViS2l0
Ml9sYV9TT1VSQ0VTID0gXAorCSQod2Via2l0Ml9zb3VyY2VzKQorCitsaWJXZWJLaXQyX2xhX0NQ
UEZMQUdTID0gXAorCS1mbm8tc3RyaWN0LWFsaWFzaW5nIFwKKwkkKGdsb2JhbF9jcHBmbGFncykg
XAorCS1pbmNsdWRlICQoc3JjZGlyKS9XZWJLaXQyL1dlYktpdDJQcmVmaXguaCBcCisJLUkkKHNy
Y2RpcikvV2ViS2l0MiBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9ndGsgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvUGxhdGZvcm0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
QyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL2d0ayBcCisJLUkkKHNy
Y2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGx1Z2lu
UHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvU2hhcmVkL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQVBJL2MgXAor
CS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9jL2d0ayBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVk
L2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MgXAorCS1JJChzcmNkaXIpL1dl
YktpdDIvVUlQcm9jZXNzL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ayBcCisJLUkkKHNy
Y2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2NwcCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9V
SVByb2Nlc3MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlciBc
CisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvZ3RrIFwKKwktSSQoc3Jj
ZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzIFwK
KwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0RPTSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0xh
dW5jaGluZyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlIFwKKwktSSQoc3Jj
ZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9ndGsgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydCBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL2d0ayBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0MiBc
CisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwkt
SSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvSmF2YVNjcmlw
dENvcmUgXAorCS1JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVk
ZS9XZWJDb3JlIFwKKwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2lu
Y2x1ZGUvV2ViS2l0MiBcCisJJCh3ZWJjb3JlX2NwcGZsYWdzKSBcCisJJCh3ZWJjb3JlZ3RrX2Nw
cGZsYWdzKSBcCisJJChqYXZhc2NyaXB0Y29yZV9jcHBmbGFncykKKworbGliV2ViS2l0Ml9sYV9D
WFhGTEFHUyA9IFwKKwkkKGdsb2JhbF9jeHhmbGFncykgXAorCSQobGliV2ViS2l0Ml9sYV9DRkxB
R1MpCisKK2xpYldlYktpdDJfbGFfQ0ZMQUdTID0gXAorCSQoZ2xvYmFsX2NmbGFncykgXAorCSQo
Q09WRVJBR0VfQ0ZMQUdTKSBcCisJJChHTElCX0NGTEFHUykgXAorCSQoR1RLX0NGTEFHUykgXAor
CSQoTElCU09VUF9DRkxBR1MpIFwKKwkkKFVOSUNPREVfQ0ZMQUdTKSBcCisJJChYVF9DRkxBR1Mp
CisKK2xpYldlYktpdDJfbGFfTElCQUREID0gXAorCS1scHRocmVhZCBcCisJJChDQUlST19MSUJT
KSBcCisJJChDT1ZFUkFHRV9MREZMQUdTKSBcCisJJChHTElCX0xJQlMpIFwKKwkkKEdUS19MSUJT
KSBcCisJJChMSUJTT1VQX0xJQlMpIFwKKwkkKFVOSUNPREVfTElCUykgXAorCSQoWFRfTElCUykK
KworIyBTaGFyZWQgbGlicmFyaWVzCitsaWJfTFRMSUJSQVJJRVMgKz0gXAorCWxpYndlYmtpdDJn
dGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVS
U0lPTkAubGEKKworbm9kaXN0X0VYVFJBX2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFK
T1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNFUyA9IFwK
KwkkKHdlYmNvcmVfYnVpbHRfbm9zb3VyY2VzKQorCitub2Rpc3RfbGlid2Via2l0Mmd0a19AV0VC
S0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9s
YV9TT1VSQ0VTID0gXAorCSQod2ViY29yZV9idWlsdF9zb3VyY2VzKQorCitsaWJ3ZWJraXQyZ3Rr
X0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJ
T05AX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJjb3JlX3NvdXJjZXMpIFwKKwkkKHdlYmNvcmVndGtf
c291cmNlcykKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9A
V0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DWFhGTEFHUyA9IFwKKwkkKGdsb2JhbF9j
eHhmbGFncykKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9A
V0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DRkxBR1MgPSBcCisJJChnbG9iYWxfY2Zs
YWdzKQorCisjIFdoZW4gYnVpbGRpbmcgV2ViQ29yZSwgd2Ugd2FudCBXZWJDb3JlL2NvbmZpZy5o
IGFuZCBOT1QgSmF2YVNjcmlwdENvcmUvY29uZmlnLmgsCisjIGhlbmNlLCBpdCdzIGltcG9ydGFu
dCB0aGF0IFdlYkNvcmUvIHNob3VsZCBjb21lIGZpcnN0IGJlZm9yZSBKYXZhU2NyaXB0Q29yZSBp
biB0aGUKKyMgaW5jbHVkZSBwYXRoLgorbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpP
Ul9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9DUFBGTEFHUyA9IFwK
KwktREJVSUxESU5HX1dFQktJVCBcCisJLURQQUNLQUdFX0xPQ0FMRV9ESVI9XCIkKGxvY2FsZWRp
cilcIiBcCisJLUREQVRBX0RJUj1cIiR7ZGF0YWRpcn1cIiBcCisJJChnbG9iYWxfY3BwZmxhZ3Mp
IFwKKwkkKHdlYmNvcmVfY3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVndGtfY3BwZmxhZ3MpIFwKKwkk
KGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKSBcCisJLWZuby1zdHJpY3QtYWxpYXNpbmcgXAorCSQo
SElMRE9OX0NQUEZMQUdTKSBcCisJJChDT1ZFUkFHRV9DRkxBR1MpIFwKKwkkKEVOQ0hBTlRfQ0ZM
QUdTKSBcCisJJChHQUlMX0NGTEFHUykgXAorCSQoR0VPQ0xVRV9DRkxBR1MpIFwKKwkkKEdMSUJf
Q0ZMQUdTKSBcCisJJChHU1RSRUFNRVJfQ0ZMQUdTKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChI
SUxET05fQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFHUykgXAorCSQoTElCWE1MX0NGTEFHUykg
XAorCSQoTElCWFNMVF9DRkxBR1MpIFwKKwkkKFNRTElURTNfQ0ZMQUdTKSBcCisJJChVTklDT0RF
X0NGTEFHUykgXAorCSQoWFRfQ0ZMQUdTKQorCisjIEZvciB0aGUgR3RrIHBvcnQgd2Ugd2FudCB0
byB1c2UgWFBfVU5JWCBib3RoIGluIFgxMSBhbmQgTWFjCitpZiAhVEFSR0VUX1dJTjMyCitsaWJ3
ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01J
Tk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTICs9IFwKKwktRFhQX1VOSVgKK2VuZGlmCisKK2xpYndl
YmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlO
T1JfVkVSU0lPTkBfbGFfTERGTEFHUyA9IFwKKwktdmVyc2lvbi1pbmZvIEBMSUJXRUJLSVRHVEtf
VkVSU0lPTkAgXAorCSQodmVyc2lvbl9zY3JpcHQpIFwKKwkkKG5vX3VuZGVmaW5lZCkKKworbGli
d2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9N
SU5PUl9WRVJTSU9OQF9sYV9MSUJBREQgPSBcCisJLWxwdGhyZWFkIFwKKwlsaWJKYXZhU2NyaXB0
Q29yZS5sYSBcCisJbGliV2ViS2l0Mi5sYSBcCisJJChHU1RSRUFNRVJfTElCUykgXAorCSQoR1RL
X0xJQlMpIFwKKwkkKEhJTERPTl9MSUJTKSBcCisJJChKUEVHX0xJQlMpIFwKKwkkKExJQlNPVVBf
TElCUykgXAorCSQoTElCWE1MX0xJQlMpIFwKKwkkKExJQlhTTFRfTElCUykgXAorCSQoUEFOR09f
TElCUykgXAorCSQoUE5HX0xJQlMpIFwKKwkkKFNRTElURTNfTElCUykgXAorCSQoVU5JQ09ERV9M
SUJTKSBcCisJJChYVF9MSUJTKQorCitwa2djb25maWdkaXIgPSAkKGxpYmRpcikvcGtnY29uZmln
Citwa2djb25maWdfREFUQSA9IFdlYktpdDIvZ3RrL0BXRUJLSVRHVEtfUENfTkFNRUAtQFdFQktJ
VEdUS19BUElfVkVSU0lPTkAucGMKKworIyBXZWJLaXQyIHNwZWNpZmljIHZhcmlhYmxlcword2Vi
a2l0Ml9zb3VyY2VzICs9IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2Rl
ci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRDb2RlcnMuaCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5jcHAgXAorCVdlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudEVuY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50cy5oIFwK
KwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXR0YWNobWVudC5jcHAgXAorCVdlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9C
aW5hcnlTZW1hcGhvcmUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQmluYXJ5U2Vt
YXBob3JlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Db25uZWN0aW9uLmNwcCBcCisJ
V2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0NvcmVJUENNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3Jl
SVBDL0RhdGFSZWZlcmVuY2UuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvRGF0YVJl
ZmVyZW5jZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsu
Y3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvSGFuZGxlTWVzc2FnZS5oIFwKKwlXZWJL
aXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmggXAorCVdlYktpdDIvUGxhdGZvcm0vZ3Rr
L01vZHVsZUd0ay5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vZ3RrL1J1bkxvb3BHdGsuY3BwIFwK
KwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9TaGFyZWRNZW1vcnlHdGsuY3BwIFwKKwlXZWJLaXQyL1Bs
YXRmb3JtL2d0ay9Xb3JrUXVldWVHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcu
Y3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9N
b2R1bGUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5oIFwKKwlXZWJLaXQyL1BsYXRm
b3JtL1BsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5M
b29wLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmggXAorCVdlYktpdDIvUGxhdGZv
cm0vU2hhcmVkTWVtb3J5LmggXAorCVdlYktpdDIvUGxhdGZvcm0vV29ya0l0ZW0uaCBcCisJV2Vi
S2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1
ZS5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJvbGxlclByb3h5LmNwcCBc
CisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNvbnRyb2xsZXJQcm94eS5oIFwKKwlXZWJL
aXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJv
Y2Vzcy9QbHVnaW5Qcm9jZXNzLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9j
ZXNzTWFpbi5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24u
Y3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dLQmFzZUd0ay5oIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UElDbGllbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tBcnJheS5jcHAgXAorCVdlYktp
dDIvU2hhcmVkL0FQSS9jL1dLQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNl
LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2VydGlmaWNhdGVJbmZvLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tDZXJ0aWZpY2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tEYXRhLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmggXAorCVdl
YktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmNwcCBc
CisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFcnJvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS0V2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLR2VvbWV0cnkuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS011dGFibGVBcnJheS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVE
aWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlRGljdGlvbmFy
eS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS051bWJlci5jcHAgXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2VyaWFsaXpl
ZFNjcmlwdFZhbHVlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFs
dWVQcml2YXRlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLU3RyaW5nLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nUHJpdmF0ZS5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS1R5cGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkwuY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1VSTC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJl
cXVlc3QuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLVVJMUmVzcG9uc2UuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVc2VyQ29udGVu
dFVSTFBhdHRlcm4uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VzZXJDb250ZW50VVJM
UGF0dGVybi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElPYmplY3QuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQmFja2luZ1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmggXAor
CVdlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29tbWFuZExp
bmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdl
S2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQvRHJhd2luZ0FyZWFQcm94
eU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9JbmplY3Rl
ZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9X
ZWJDb250ZXh0TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0
L1dlYlBhZ2VQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3Vw
cG9ydC9XZWJQcm9jZXNzUHJveHlNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvRHJh
d2luZ0FyZWFCYXNlLmggXAorCVdlYktpdDIvU2hhcmVkL0ZpbmRPcHRpb25zLmggXAorCVdlYktp
dDIvU2hhcmVkL0ZvbnRTbW9vdGhpbmdMZXZlbC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvQmFj
a2luZ1N0b3JlR3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL05hdGl2ZVdlYktleWJvYXJk
RXZlbnRHdGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUlu
Zm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmggXAorCVdlYktpdDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJn
dW1lbnRDb2RlcnNHdGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2ZW50RmFjdG9yeS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9JbW11dGFibGVBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFy
cmF5LmggXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZURpY3Rpb25hcnkuY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVkL011dGFi
bGVBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL011dGFibGVBcnJheS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9NdXRhYmxlRGljdGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL011dGFibGVE
aWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVkL05hdGl2ZVdlYktleWJvYXJkRXZlbnQuaCBc
CisJV2ViS2l0Mi9TaGFyZWQvTm90SW1wbGVtZW50ZWQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvU3Ry
aW5nUGFpclZlY3Rvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Vc2VyTWVzc2FnZUNvZGVycy5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
VmlzaXRlZExpbmtUYWJsZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8u
aCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3VtZW50Q29kZXJzLmggXAorCVdlYktpdDIv
U2hhcmVkL1dlYkRhdGEuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXJyb3IuY3BwIFwKKwlXZWJL
aXQyL1NoYXJlZC9XZWJFcnJvci5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNp
b24uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uaCBcCisJV2ViS2l0
Mi9TaGFyZWQvV2ViRXZlbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViTmF2aWdhdGlvbkRhdGFT
dG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJOdW1iZXIuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
V2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlBhZ2VD
cmVhdGlvblBhcmFtZXRlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmNwcCBc
CisJV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzU3RvcmUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc1N0b3Jl
LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBhcmFtZXRlcnMuY3BwIFwK
KwlXZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRpb25QYXJhbWV0ZXJzLmggXAorCVdlYktp
dDIvU2hhcmVkL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9X
ZWJTdHJpbmcuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMLmggXAorCVdlYktpdDIvU2hhcmVk
L1dlYlVSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXF1ZXN0LmggXAor
CVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlc3BvbnNlLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2Vi
VVJMUmVzcG9uc2UuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJu
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS0FQSUNhc3RHdGsuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL2d0ay9XS1ZpZXcuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFp
blB0ci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0JhY2tGb3J3YXJkTGlzdC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0Zv
cndhcmRMaXN0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0
SXRlbS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRl
bS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tDb250ZXh0UHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJt
aXNzaW9uTGlzdGVuZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJt
aXNzaW9uTGlzdGVuZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5jcHAg
XAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
QVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9D
L1dLTmF0aXZlRXZlbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9u
RGF0YS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF2aWdhdGlvbkRhdGEuaCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZU5hbWVz
cGFjZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZU5hbWVzcGFjZS5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQcml2YXRlLmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5j
ZXNQcml2YXRlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlc1By
aXZhdGUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJv
eHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94
eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9GaW5k
SW5kaWNhdG9yLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvRmluZEluZGljYXRvci5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2suaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
Z3RrL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5R3RrLmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2Vi
Vmlldy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3LmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9n
dGsvV2ViVmlld0ludGVybmFsLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Q
cm9jZXNzTGF1bmNoZXJHdGsuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsv
VGhyZWFkTGF1bmNoZXJHdGsuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9j
ZXNzTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1
bmNoZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF1bmNoZXIvVGhyZWFkTGF1bmNoZXIuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9UaHJlYWRMYXVuY2hlci5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdpbmdBcmVhUHJveHkuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvUGFnZUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVn
aW5JbmZvU3RvcmVHdGsuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbklu
Zm9TdG9yZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3Jl
LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc01hbmFnZXIuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NNYW5hZ2VyLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc1Byb3h5LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvUHJvY2Vzc01vZGVsLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVu
ZXNzVGltZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9SZXNwb25zaXZlbmVzc1RpbWVyLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YkJhY2tGb3J3YXJkTGlzdC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJk
TGlzdC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQu
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dFVzZXJNZXNzYWdlQ29kZXJzLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYkVkaXRDb21tYW5kUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJFZGl0Q29tbWFuZFByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZp
bmRDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGaW5kQ2xpZW50LmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL1dlYkZvcm1DbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9X
ZWJGb3JtQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlz
dGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlz
dGVuZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHku
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBy
b3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkhpc3RvcnlDbGllbnQuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJIaXN0b3J5Q2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YkxvYWRlckNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5o
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0aW9uRGF0YS5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYk5hdmlnYXRpb25EYXRhLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VOYW1lc3BhY2UuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlTmFtZXNwYWNlLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYlBhZ2VQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJl
ZmVyZW5jZXMuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzTWFuYWdlci5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQ
cm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJ
Q2xpZW50LmggXAorCVdlYktpdDIvV2ViS2l0MlByZWZpeC5jcHAgXAorCVdlYktpdDIvV2ViS2l0
MlByZWZpeC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nlc3NNYWluR3RrLmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQcm9jZXNzTWFpbkd0ay5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVBUElDYXN0LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJh
bWUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxl
RnJhbWVQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2Mv
V0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJbml0aWFsaXplLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFu
ZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRs
ZU5vZGVIYW5kbGVQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVSYW5nZUhhbmRs
ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVT
Y3JpcHRXb3JsZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVNjcmlwdFdvcmxkLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9j
ZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuaCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFu
ZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3Rl
ZEJ1bmRsZVJhbmdlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3VsdC5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZUhpdFRlc3RSZXN1bHQuaCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUVkaXRvckNs
aWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1
bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVu
ZGxlL0luamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xp
ZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVu
ZGxlUGFnZUxvYWRlckNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
SW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlU2NyaXB0V29ybGQuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVTY3JpcHRX
b3JsZC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVVc2VyTWVzc2FnZUNvZGVycy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05Q
TWV0aG9kLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE1ldGhvZC5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QT2JqZWN0LmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVjdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9ndGsvTmV0c2NhcGVQbHVnaW5HdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJyb3dzZXJGdW5jcy5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3NlckZ1bmNzLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luLmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW4uaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1
bGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBs
dWdpbk1vZHVsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRz
Y2FwZVBsdWdpblN0cmVhbS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05QSlNPYmplY3QuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZU9iamVjdE1hcC5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZU9iamVjdE1hcC5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVVdGlsaXRpZXMuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVVdGlsaXRpZXMuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW4uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVn
aW4uaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rp
b24uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVj
dGlvbk1hbmFnZXIuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1
Z2luUHJveHkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5o
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJhbWVOZXR3b3JraW5nQ29udGV4dC5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xp
ZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkJhY2tGb3J3
YXJkQ29udHJvbGxlckNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBw
b3J0L1dlYkNocm9tZUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBv
cnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNv
cmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViRXJyb3JzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9y
dC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3Jl
U3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
Q29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJhdGVnaWVzLmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRmb3JtU3RyYXRlZ2llcy5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBNZW51LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBvcHVwTWVudS5oIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2VhcmNoUG9wdXBNZW51LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNlYXJjaFBvcHVwTWVudS5oIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViS2l0TWFpbi5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0Ry
YXdpbmdBcmVhLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0ZpbmRDb250cm9sbGVy
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZENvbnRyb2xsZXIuaCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZFBhZ2VPdmVybGF5LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZFBhZ2VPdmVybGF5LmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL2d0ay9DaHVua2VkVXBkYXRlRHJhd2luZ0FyZWFHdGsuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFnZUd0ay5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0FyZWEuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdpbmdBcmVhLmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvUGFnZU92ZXJsYXkuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFj
a0ZvcndhcmRMaXN0UHJveHkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJC
YWNrRm9yd2FyZExpc3RQcm94eS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJF
ZGl0Q29tbWFuZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkVkaXRDb21t
YW5kLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYkZyYW1lLmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViUGFnZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBh
Z2UuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlByb2Nlc3MuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViUHJvY2Vzcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzc01h
aW4uaAorCit3ZWJraXQyX2J1aWx0X3NvdXJjZXMgKz0gXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvRG93bmxvYWRQcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvRG93
bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIv
TlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJL
aXQyL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZl
ZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Db250cm9sbGVyUHJveHlNZXNzYWdlcy5oIFwKKwlEZXJp
dmVkU291cmNlcy9XZWJLaXQyL1BsdWdpbkNvbnRyb2xsZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5j
cHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc01lc3NhZ2VzLmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAg
XAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2
ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpblByb3h5TWVzc2FnZXMuaCBc
CisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAg
XAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGV4dE1lc3NhZ2VzLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yTWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dl
YktpdDIvV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQ
YWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dl
YlByb2Nlc3NNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NN
ZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NQ
cm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc1Byb3h5
TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNz
Q29ubmVjdGlvbk1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vz
c0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwCisKK0JVSUxUX1NPVVJDRVMgKz0gXAorCSQo
d2Via2l0Ml9idWlsdF9zb3VyY2VzKSBcCisJZ2VuZXJhdGUtd2Via2l0Mi1mb3J3YXJkaW5nLWhl
YWRlcnMKKworRm9yd2FyZGluZ0hlYWRlcnMgOj0gJChHRU5TT1VSQ0VTX1dFQktJVDIpL2luY2x1
ZGUKK2dlbmVyYXRlLXdlYmtpdDItZm9yd2FyZGluZy1oZWFkZXJzOiAkKHNyY2RpcikvV2ViS2l0
VG9vbHMvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgJCh3ZWJraXQyX3Nv
dXJjZXMpCisJJChBTV9WX2F0KSQobWtkaXJfcCkgJChGb3J3YXJkaW5nSGVhZGVycykvSmF2YVNj
cmlwdENvcmUKKwkkKEFNX1ZfYXQpJChta2Rpcl9wKSAkKEZvcndhcmRpbmdIZWFkZXJzKS9XZWJD
b3JlCisJJChBTV9WX2F0KSQobWtkaXJfcCkgJChGb3J3YXJkaW5nSGVhZGVycykvV2ViS2l0Mgor
CSQoQU1fVl9HRU4pJChQRVJMKSAkPCAkKFdlYktpdDIpICQoRm9yd2FyZGluZ0hlYWRlcnMpIGd0
ayBzb3VwIAorCit2cGF0aCAlLm1lc3NhZ2VzLmluID0gXAorCSQoV2ViS2l0MikvUGx1Z2luUHJv
Y2VzcyBcCisJJChXZWJLaXQyKS9TaGFyZWQvUGx1Z2lucyBcCisJJChXZWJLaXQyKS9VSVByb2Nl
c3MgXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0Rvd25sb2FkcyBcCisJJChXZWJLaXQyKS9VSVBy
b2Nlc3MvUGx1Z2lucyBcCisJJChXZWJLaXQyKS9XZWJQcm9jZXNzIFwKKwkkKFdlYktpdDIpL1dl
YlByb2Nlc3MvUGx1Z2lucyBcCisJJChXZWJLaXQyKS9XZWJQcm9jZXNzL1dlYlBhZ2UgCisKK21l
c3NhZ2VfZ2VuX3NjcmlwdHMgPSBcCisJJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1lc3Nh
Z2UtcmVjZWl2ZXIucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1o
ZWFkZXIucHkgXAorCSQoV2ViS2l0MikvU2NyaXB0cy93ZWJraXQyL19faW5pdF9fLnB5IFwKKwkk
KFdlYktpdDIpL1NjcmlwdHMvd2Via2l0Mi9tZXNzYWdlcy5weQorCisjIE1lc3NhZ2UgaGVhZGVy
IGdlbmVyYXRpb24KK0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvJU1lc3NhZ2VSZWNlaXZlci5jcHA6
ICUubWVzc2FnZXMuaW4gJChtZXNzYWdlX2dlbl9zY3JpcHRzKQorCSQoQU1fVl9HRU4pJChQWVRI
T04pICQoc3JjZGlyKS9XZWJLaXQyL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZS1yZWNlaXZlci5w
eSAkPCA+ICRACisKK0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvJU1lc3NhZ2VzLmg6ICUubWVzc2Fn
ZXMuaW4gJChtZXNzYWdlX2dlbl9zY3JpcHRzKQorCSQoQU1fVl9HRU4pJChQWVRIT04pICQoc3Jj
ZGlyKS9XZWJLaXQyL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZXMtaGVhZGVyLnB5ICQ8ID4gJEAK
KworQ0xFQU5GSUxFUyArPSBcCisJJChCVUlMVF9TT1VSQ0VTKSBcCisJJCh0b3BfYnVpbGRkaXIp
L1dlYktpdDIvZ3RrL0BXRUJLSVRHVEtfUENfTkFNRUAtQFdFQktJVEdUS19BUElfVkVSU0lPTkAu
cGMgXAorCSQodG9wX2J1aWxkZGlyKS9Qcm9ncmFtcy9XZWJLaXRXZWJQcm9jZXNzCisKKyMgV2Vi
S2l0V2ViUHJvY2VzcworYmluX1BST0dSQU1TICs9IFwKKwlQcm9ncmFtcy9XZWJLaXRXZWJQcm9j
ZXNzCisKK1Byb2dyYW1zX1dlYktpdFdlYlByb2Nlc3NfQ1BQRkxBR1MgPSBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0MiBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCS1JJCh0b3BfYnVpbGRkaXIpL0Rl
cml2ZWRTb3VyY2VzL1dlYktpdDIgXAorCS1JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvaW5jbHVkZSBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi9pbmNsdWRlL1dlYkNvcmUgXAorCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJJChqYXZhc2Ny
aXB0Y29yZV9jcHBmbGFncykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DRkxBR1MgPSBc
CisJJChnbG9iYWxfY2ZsYWdzKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFH
UykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19TT1VSQ0VTID0gXAorCVdlYktpdDIvZ3Rr
L01haW5HdGsuY3BwCisKK1Byb2dyYW1zX1dlYktpdFdlYlByb2Nlc3NfTERBREQgPSBcCisJbGli
d2Via2l0Mmd0ay1AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9N
SU5PUl9WRVJTSU9OQC5sYSBcCisJJChHVEtfTElCUykgXAorCSQoR0xJQl9MSUJTKSBcCisJJChM
SUJTT1VQX0xJQlMpCisKK1Byb2dyYW1zX1dlYktpdFdlYlByb2Nlc3NfTERGTEFHUyA9IFwKKwkt
bm8tZmFzdC1pbnN0YWxsIFwKKwktbm8taW5zdGFsbApJbmRleDogV2ViS2l0Mi9XZWJLaXQyUHJl
Zml4LmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgJKHJldmlzaW9uIDc0
MDk3KQorKysgV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmgJKHdvcmtpbmcgY29weSkKQEAgLTEsNSAr
MSw2IEBACiAvKgogICogQ29weXJpZ2h0IChDKSAyMDEwIEFwcGxlIEluYy4gQWxsIHJpZ2h0cyBy
ZXNlcnZlZC4KKyAqIFBvcnRpb25zIENvcHlyaWdodCAoYykgMjAxMCBNb3Rvcm9sYSBNb2JpbGl0
eSwgSW5jLiAgQWxsIHJpZ2h0cyByZXNlcnZlZC4KICAqCiAgKiBSZWRpc3RyaWJ1dGlvbiBhbmQg
dXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKICAqIG1vZGlm
aWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0
aW9ucwpAQCAtMjMsNiArMjQsOSBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdF
LgogICovIAogCisjaWYgZGVmaW5lZCAoQlVJTERJTkdfR1RLX18pCisjaW5jbHVkZSA8V2ViQ29y
ZS9jb25maWcuaD4KKyNlbmRpZiAvKiBkZWZpbmVkIChCVUlMRElOR19HVEtfXykgKi8KICNpbmNs
dWRlIDx3dGYvUGxhdGZvcm0uaD4KICNpbmNsdWRlIDx3dGYvRGlzYWxsb3dDVHlwZS5oPgogI2lm
ZGVmIF9fY3BsdXNwbHVzCkBAIC0xMDksNCArMTEzLDMgQEAgc3RhdGljIGNvbnN0IHR5cGUmIG5h
bWUoKSBcCiAjZW5kaWYKIAogI2VuZGlmIC8qIGRlZmluZWQoV0lOMzIpIHx8IGRlZmluZWQoX1dJ
TjMyKSAqLwotCkluZGV4OiBXZWJLaXQyL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFk
ZXJzLnBsCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5n
LWhlYWRlcnMucGwJKHJldmlzaW9uIDc0MDk3KQorKysgV2ViS2l0Mi9TY3JpcHRzL2dlbmVyYXRl
LWZvcndhcmRpbmctaGVhZGVycy5wbAkod29ya2luZyBjb3B5KQpAQCAtNDcsOCArNDcsMTggQEAg
bXkgJG91dHB1dERpcmVjdG9yeSA9ICRBUkdWWzBdOwogc2hpZnQ7CiBteSAkcGxhdGZvcm0gID0g
JEFSR1ZbMF07CiAKK215ICRuZXR3b3JrOworaWYgKCRwbGF0Zm9ybSA9fiAiZ3RrIikgeworICAg
IHNoaWZ0OworICAgICRuZXR3b3JrID0gJEFSR1ZbMF07Cit9CisKIGZvcmVhY2ggbXkgJHByZWZp
eCAoQHBsYXRmb3JtUHJlZml4ZXMpIHsKLSAgICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVm
aXgpIHVubGVzcyAoJHByZWZpeCA9fiAkcGxhdGZvcm0pOworICAgIGlmICgkcGxhdGZvcm0gPX4g
Imd0ayIpIHsKKyAgICAgICAgcHVzaChAc2tpcHBlZFByZWZpeGVzLCAkcHJlZml4KSB1bmxlc3Mg
KCRwcmVmaXggPX4gJHBsYXRmb3JtIG9yICRwcmVmaXggPX4gJG5ldHdvcmspOworICAgIH0gZWxz
ZSB7CisgICAgICAgIHB1c2goQHNraXBwZWRQcmVmaXhlcywgJHByZWZpeCkgdW5sZXNzICgkcHJl
Zml4ID1+ICRwbGF0Zm9ybSk7CisgICAgfQogfQogCiBmb3JlYWNoIChAZnJhbWV3b3JrcykgewpJ
bmRleDogV2ViS2l0Mi9ndGsvd2Via2l0Mi5wYy5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL2d0
ay93ZWJraXQyLnBjLmluCShyZXZpc2lvbiAwKQorKysgV2ViS2l0Mi9ndGsvd2Via2l0Mi5wYy5p
bgkocmV2aXNpb24gMCkKQEAgLTAsMCArMSwxMSBAQAorcHJlZml4PUBwcmVmaXhACitleGVjX3By
ZWZpeD1AZXhlY19wcmVmaXhACitsaWJkaXI9QGxpYmRpckAKK2luY2x1ZGVkaXI9QGluY2x1ZGVk
aXJACisKK05hbWU6IFdlYktpdDIKK0Rlc2NyaXB0aW9uOiBXZWIgY29udGVudCBlbmdpbmUgZm9y
IEdUSysKK1ZlcnNpb246IEBWRVJTSU9OQAorUmVxdWlyZXM6IGdsaWItMi4wIGd0aystQEdUS19B
UElfVkVSU0lPTkAgbGlic291cC0yLjQKK0xpYnM6IC1MJHtsaWJkaXJ9IC1sd2Via2l0Mmd0ay1A
V0VCS0lUR1RLX0FQSV9WRVJTSU9OQAorQ2ZsYWdzOiAtSSR7aW5jbHVkZWRpcn0vd2Via2l0Mi1A
V0VCS0lUR1RLX0FQSV9WRVJTSU9OQCAKSW5kZXg6IFdlYktpdC9ndGsvQ2hhbmdlTG9nCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFdlYktpdC9ndGsvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDA5NykKKysrIFdlYktp
dC9ndGsvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTQgQEAKKzIwMTAtMTIt
MTQgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2aSBQaGFuZWVu
ZHJhIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAg
IFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIENoYW5nZXMgdG8gZW5hYmxl
IGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0LgorICAgICAgICAoaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgICogR05VbWFrZWZpbGUu
YW06IEFkZGVkIFdlYkNvcmUvYmluZGluZ3MvZ29iamVjdCB0byB3ZWJraXRndGtfc291cmNlcyAm
IHdlYmtpdGd0a19jcHBmbGFncy4KKyAgICAgICAgVGhleSBzaG91bGQgZ2V0IGNvbXBpbGVkIG9u
bHkgd2hlbiBXZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtIGlzIGdldHRpbmcgaW5jbHVkZWQgYnV0
IG5vdAorICAgICAgICB3aXRoIFdlYktpdDIvR05VbWFrZWZpbGUuYW0gaW5jbHVzaW9uLgorCiAy
MDEwLTEyLTE0ICBDYXJsb3MgR2FyY2lhIENhbXBvcyAgPGNnYXJjaWFAaWdhbGlhLmNvbT4KIAog
ICAgICAgICBSZXZpZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCkluZGV4OiBXZWJLaXQvZ3RrL0dO
VW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0JKHJl
dmlzaW9uIDc0MDk3KQorKysgV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQkod29ya2luZyBjb3B5
KQpAQCAtMTU0LDYgKzE1NCwxOSBAQCB3ZWJraXRndGtfYnVpbHRfc291cmNlcyArPSBcCiBCVUlM
VF9TT1VSQ0VTICs9ICQod2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMpCiAKIHdlYmtpdGd0a19zb3Vy
Y2VzICs9IFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5j
cHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmggXAor
CVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5jcHAgXAorCVdl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRMaXN0ZW5lci5oIFwKKwlXZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5jcHAgXAorCVdlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVj
dC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9X
ZWJLaXRET01FdmVudFRhcmdldC5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0
RE9NRXZlbnRUYXJnZXRQcml2YXRlLmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJL
aXRET01PYmplY3QuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2Jq
ZWN0LmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBw
ZXJGYWN0b3J5LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdEhUTUxFbGVt
ZW50V3JhcHBlckZhY3RvcnkuaCBcCiAJV2ViS2l0L2d0ay9XZWJDb3JlU3VwcG9ydC9DaHJvbWVD
bGllbnRHdGsuY3BwIFwKIAlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0
ay5oIFwKIAlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0NvbnRleHRNZW51Q2xpZW50R3RrLmNw
cCBcCkluZGV4OiBXZWJLaXRUb29scy9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9v
bHMvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDA5NykKKysrIFdlYktpdFRvb2xzL0NoYW5nZUxvZwko
d29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDEwLTEyLTE0ICBBbXJ1dGggUmFqICA8
YW1ydXRocmFqQG1vdG9yb2xhLmNvbT4gYW5kIFJhdmkgS2FzaWJoYXRsYSAgPHJhdmkua2FzaWJo
YXRsYUBtb3Rvcm9sYS5jb20+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgQ2hhbmdlIGdlbmVyYXRlLWZvcndhcmRpbmctaGVhZGVycy5wbCBmb3IgR1RL
IHBvcnQgdXNhZ2UgCisgICAgICAgIChodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5j
Z2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBTY3JpcHRzL3dlYmtpdGRpcnMucG06IEFkZGVkIGNo
YW5nZXMgdG8gYnVpbGQgd2Via2l0MiBmb3IgR1RLIHBvcnQgdXNpbmcgYnVpbGQtd2Via2l0IHNj
cmlwdC4KKwogMjAxMC0xMi0xNCAgS2VudCBUYW11cmEgIDx0a2VudEBjaHJvbWl1bS5vcmc+CiAK
ICAgICAgICAgUmV2aWV3ZWQgYnkgSmlhbiBMaS4KSW5kZXg6IFdlYktpdFRvb2xzL1NjcmlwdHMv
d2Via2l0ZGlycy5wbQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRp
cnMucG0JKHJldmlzaW9uIDc0MDk3KQorKysgV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJz
LnBtCSh3b3JraW5nIGNvcHkpCkBAIC0xMzUyLDYgKzEzNTIsOCBAQCBzdWIgYnVpbGRBdXRvdG9v
bHNQcm9qZWN0KCRAKQogICAgICAgICAgICAgJG1ha2VBcmdzID0gJG1ha2VBcmdzIC4gIiAiIC4g
JDE7CiAgICAgICAgIH0gZWxzaWYgKCRvcHQgPX4gL14tLXByZWZpeD0oLiopL2kgKSB7CiAgICAg
ICAgICAgICAkcHJlZml4ID0gJDE7CisgICAgICAgIH0gZWxzaWYgKCRvcHQgPX4gL14tLXdlYmtp
dDIvaSApIHsKKyAgICAgICAgICAgIHB1c2ggQGJ1aWxkQXJncywgIi0tZW5hYmxlLXdlYmtpdDIi
OwogICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgcHVzaCBAYnVpbGRBcmdzLCAkb3B0Owog
ICAgICAgICB9Cg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>76766</attachid>
            <date>2010-12-16 06:44:15 -0800</date>
            <delta_ts>2010-12-27 16:39:12 -0800</delta_ts>
            <desc>Makefile for WebKit2 GTK port</desc>
            <filename>r74117.patch</filename>
            <type>text/plain</type>
            <size>45371</size>
            <attacher name="Ravi Phaneendra Kasibhatla">ravi.kasibhatla</attacher>
            
              <data encoding="base64">SW5kZXg6IEdOVW1ha2VmaWxlLmFtCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIEdOVW1ha2VmaWxlLmFtCShyZXZp
c2lvbiA3NDE3MikKKysrIEdOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC0zNCwxMCAr
MzQsMTIgQEAgR0VOU09VUkNFUyA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdQogR0VOU09V
UkNFU19KQVZBU0NSSVBUQ09SRSA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvSmF2
YVNjcmlwdENvcmUKIEdFTlNPVVJDRVNfV0VCQ09SRSA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZl
ZFNvdXJjZXMvV2ViQ29yZQogR0VOU09VUkNFU19XRUJLSVQgOj0gJCh0b3BfYnVpbGRkaXIpL0Rl
cml2ZWRTb3VyY2VzL3dlYmtpdAorR0VOU09VUkNFU19XRUJLSVQyIDo9ICQodG9wX2J1aWxkZGly
KS9EZXJpdmVkU291cmNlcy9XZWJLaXQyCiBHRU5QUk9HUkFNUyA6PSAkKHRvcF9idWlsZGRpcikv
UHJvZ3JhbXMKIEdFTlNPVVJDRVNfSU5TUEVDVE9SIDo9ICQoR0VOUFJPR1JBTVMpL3Jlc291cmNl
cy9pbnNwZWN0b3IKIFdlYkNvcmUgOj0gJChzcmNkaXIpL1dlYkNvcmUKIFdlYktpdCA6PSAkKHNy
Y2RpcikvV2ViS2l0L2d0aworV2ViS2l0MiA6PSAkKHNyY2RpcikvV2ViS2l0MgogCiAjIExpYnJh
cmllcyBhbmQgc3VwcG9ydCBjb21wb25lbnRzCiBiaW5fUFJPR1JBTVMgOj0KQEAgLTY5LDYgKzcx
LDcgQEAgd2Via2l0Z3RrX2NwcGZsYWdzIDo9CiB3ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2Vz
IDo9CiB3ZWJraXRndGtfYnVpbHRfc291cmNlcyA6PQogd2Via2l0Z3RrX2J1aWx0X25vc291cmNl
cyA6PQord2Via2l0Ml9idWlsdF9zb3VyY2VzIDo9CiBnbG9iYWxfY3BwZmxhZ3MgOj0KIGdsb2Jh
bF9jZmxhZ3MgOj0KIGdsb2JhbF9jeHhmbGFncyA6PQpAQCAtMjAzLDEwICsyMDYsMTUgQEAgRVhU
UkFfRElTVCArPSBcCiAjIEluY2x1ZGUgbW9kdWxlIG1ha2VmaWxlcwogaW5jbHVkZSBKYXZhU2Ny
aXB0Q29yZS9HTlVtYWtlZmlsZS5hbQogaW5jbHVkZSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCisj
IEluY2x1ZGUgbW9kdWxlIG1ha2VmaWxlcyBiYXNlZCBvbiB3ZWJraXQgYXJjaAoraWYgRU5BQkxF
X1dFQktJVDIKK2luY2x1ZGUgV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQorZWxzZSAgI0VOQUJMRV9X
RUJLSVQyCiBpbmNsdWRlIFdlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KIGluY2x1ZGUgV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCiBpbmNsdWRlIFdlYktpdFRvb2xzL0dO
VW1ha2VmaWxlLmFtCiBpbmNsdWRlIFdlYktpdC9ndGsvcG8vR05VbWFrZWZpbGUuYW0KK2VuZGlm
ICAjRU5BQkxFX1dFQktJVDIKIAogIyBBdXRvZ2VuZXJhdGVkIHNvdXJjZXMKIEJVSUxUX1NPVVJD
RVMgKz0gXApJbmRleDogY29uZmlndXJlLmFjCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIGNvbmZpZ3VyZS5hYwko
cmV2aXNpb24gNzQxNzIpCisrKyBjb25maWd1cmUuYWMJKHdvcmtpbmcgY29weSkKQEAgLTkwMiw2
ICs5MDIsMjMgQEAgaWYgdGVzdCAiJGVuYWJsZV92aWRlbyIgPSAieWVzIjsgdGhlbgogICAgIGh0
bWxfZmxhZ3M9eWVzCiBmaQogCisjIFdlYktpdDIKK0FDX01TR19DSEVDS0lORyhbd2hldGhlciB0
byBidWlsZCBXZWJraXQyXSkKK0FDX0FSR19FTkFCTEUod2Via2l0MiwKKyAgICAgICAgICAgIEFD
X0hFTFBfU1RSSU5HKFstLWVuYWJsZS13ZWJraXQyXSwKKyAgICAgICAgICAgICAgICBbYnVpbGQg
d2Via2l0MiBbZGVmYXVsdD1ub11dKSwKKyAgICAgICAgICAgICAgICBbXSwgW2VuYWJsZV93ZWJr
aXQyPSJubyJdKQorQUNfTVNHX1JFU1VMVChbJGVuYWJsZV93ZWJraXQyXSkKK2lmIHRlc3QgIiRl
bmFibGVfd2Via2l0MiIgPSAieWVzIjsgdGhlbgorICAgICMgVHVybiBvbiB0aGlzIG1hY3JvIGJ5
IGRlZmF1bHQuIEl0IGlzIHVzZWQgaW4gaW50dHlwZXMuaCBmb3IgZGVmaW5pbmcgbWFjcm9zIHVz
ZWQgYnkgd2Via2l0LgorICAgICMgSW4gV2ViS2l0LCB0aGlzIGRlZmluZSBpcyBlbnN1cmVkIGJ5
IGRvaW5nIGl0IGJlZm9yZSBpbmNsdWRpbmcgY29uZmlnLmggaW4gYW55IHNvdXJjZSBmaWxlLgor
ICAgICMgSW4gV2ViS2l0MiwgV2ViS2l0MlByZWZpeC5oIGlzIGluY2x1ZGVkIGFzIGZpcnN0IGhl
YWRlciBmaWxlLCBzbyB3ZSBuZWVkIHRvIGRlZmluZSB0aGlzCisgICAgIyBtYWNybyBiZWZvcmUg
YWN0dWFsbHkgV2ViS2l0MlByZWZpeC5oIGlzIGluY2x1ZGVkIGluIGFueSBmaWxlLgorICAgIEFD
X0RFRklORShbX19TVERDX0ZPUk1BVF9NQUNST1NdLFsxXSxbVHVybiBvbiB0aGUgX19TVERDX0ZP
Uk1BVF9NQUNST1MgdXNlZCBpbiBpbnR0eXBlcy5oXSksCisgICAgV0VCS0lUR1RLX1BDX05BTUU9
JHtXRUJLSVRHVEtfUENfTkFNRX0yCisgICAgQUNfU1VCU1QoW1dFQktJVEdUS19QQ19OQU1FXSkK
K2ZpCisKIEdUS19ET0NfQ0hFQ0soWzEuMTBdKQogCiAjIE9TIGNvbmRpdGlvbmFscwpAQCAtOTc2
LDI2ICs5OTMsMzcgQEAgQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJfU09DS0VUU10sW3Rlcwog
QU1fQ09ORElUSU9OQUwoW0VOQUJMRV9XRUJfQVVESU9dLFt0ZXN0ICIkZW5hYmxlX3dlYl9hdWRp
byIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9USU1JTkddLFt0ZXN0ICIk
ZW5hYmxlX3dlYl90aW1pbmciID0gInllcyJdKQogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9PUENP
REVfU1RBVFNdLFt0ZXN0ICIkZW5hYmxlX29wY29kZV9zdGF0cyIgPSAieWVzIl0pCitBTV9DT05E
SVRJT05BTChbRU5BQkxFX1dFQktJVDJdLFt0ZXN0ICIkZW5hYmxlX3dlYmtpdDIiID0gInllcyJd
KQogCiAjIEd0ayBjb25kaXRpb25hbHMKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfSU5UUk9TUEVD
VElPTl0sW3Rlc3QgIiRlbmFibGVfaW50cm9zcGVjdGlvbiIgPSAieWVzIl0pCiAKLQogQUNfQ09O
RklHX0ZJTEVTKFsKIEdOVW1ha2VmaWxlCi1XZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2ZXJzaW9u
LmgKLVdlYktpdC9ndGsvZG9jcy9HTlVtYWtlZmlsZQotV2ViS2l0L2d0ay9kb2NzL3ZlcnNpb24u
eG1sCi1dCi0pCi0KLUFDX0NPTkZJR19GSUxFUyhbCi1XZWJLaXQvZ3RrLyR7V0VCS0lUR1RLX1BD
X05BTUV9LSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5wYzpXZWJLaXQvZ3RrL3dlYmtpdC5wYy5p
bgotV2ViS2l0L2d0ay9KU0NvcmUtJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LmdpcjpXZWJLaXQv
Z3RrL0pTQ29yZS5naXIuaW4KLVdlYktpdC9ndGsvb3JnLndlYmtpdGd0ay0ke1dFQktJVEdUS19B
UElfVkVSU0lPTn0uZ3NjaGVtYS54bWw6V2ViS2l0L2d0ay9vcmcud2Via2l0Z3RrLmdzY2hlbWEu
eG1sLmluCi1dCi0sW1dFQktJVEdUS19BUElfVkVSU0lPTj0kV0VCS0lUR1RLX0FQSV9WRVJTSU9O
LFdFQktJVEdUS19QQ19OQU1FPSRXRUJLSVRHVEtfUENfTkFNRV0KLSkKK10pCisgCitpZiB0ZXN0
ICIkZW5hYmxlX3dlYmtpdDIiID0gIm5vIjsgdGhlbgorICAgIEFDX0NPTkZJR19GSUxFUyhbCisg
ICAgV2ViS2l0L2d0ay93ZWJraXQvd2Via2l0dmVyc2lvbi5oCisgICAgV2ViS2l0L2d0ay9kb2Nz
L0dOVW1ha2VmaWxlCisgICAgV2ViS2l0L2d0ay9kb2NzL3ZlcnNpb24ueG1sCisgICAgXQorICAg
ICkKKworICAgIEFDX0NPTkZJR19GSUxFUyhbCisgICAgV2ViS2l0L2d0ay8ke1dFQktJVEdUS19Q
Q19OQU1FfS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0ucGM6V2ViS2l0L2d0ay93ZWJraXQucGMu
aW4KKyAgICBXZWJLaXQvZ3RrL0pTQ29yZS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2lyOldl
YktpdC9ndGsvSlNDb3JlLmdpci5pbgorICAgIFdlYktpdC9ndGsvb3JnLndlYmtpdGd0ay0ke1dF
QktJVEdUS19BUElfVkVSU0lPTn0uZ3NjaGVtYS54bWw6V2ViS2l0L2d0ay9vcmcud2Via2l0Z3Rr
LmdzY2hlbWEueG1sLmluCisgICAgXQorICAgICxbV0VCS0lUR1RLX0FQSV9WRVJTSU9OPSRXRUJL
SVRHVEtfQVBJX1ZFUlNJT04sV0VCS0lUR1RLX1BDX05BTUU9JFdFQktJVEdUS19QQ19OQU1FXQor
ICAgICkKK2Vsc2UKKyAgICBBQ19DT05GSUdfRklMRVMoWworICAgIFdlYktpdDIvZ3RrLyR7V0VC
S0lUR1RLX1BDX05BTUV9LSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5wYzpXZWJLaXQyL2d0ay93
ZWJraXQyLnBjLmluCisgICAgXQorICAgICxbV0VCS0lUR1RLX0FQSV9WRVJTSU9OPSRXRUJLSVRH
VEtfQVBJX1ZFUlNJT04sV0VCS0lUR1RLX1BDX05BTUU9JFdFQktJVEdUS19QQ19OQU1FXQorICAg
ICkKK2ZpCiAKIEFDX09VVFBVVAogCkBAIC0xMDU0LDYgKzEwODIsNyBAQCBHVEsrIGNvbmZpZ3Vy
YXRpb246CiAgR0RLIHRhcmdldCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgOiAkd2l0aF90YXJnZXQKICBIaWxkb24gVUkgZXh0ZW5zaW9ucyAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICA6ICR3aXRoX2hpbGRvbgogIEludHJvc3BlY3Rpb24g
c3VwcG9ydCAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJGVuYWJsZV9pbnRy
b3NwZWN0aW9uCisgV2ViS2l0MiBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgOiAkZW5hYmxlX3dlYmtpdDIKICIKIGlmIHRlc3QgIiR3aXRoX3VuaWNvZGVf
YmFja2VuZCIgPSAiZ2xpYiI7IHRoZW4KICAgIGVjaG8gIiAgICAgPj4gV0FSTklORzogdGhlIGds
aWItYmFzZWQgdW5pY29kZSBiYWNrZW5kIGlzIHNsb3cgYW5kIGluY29tcGxldGUgPDwiCkluZGV4
OiBXZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL0NoYW5nZUxvZwkocmV2
aXNpb24gNzQxNzIpCisrKyBXZWJDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwz
ICsxLDE1IEBACisyMDEwLTEyLTE1ICBBbXJ1dGggUmFqICA8YW1ydXRocmFqQG1vdG9yb2xhLmNv
bT4gYW5kIFJhdmkgS2FzaWJoYXRsYSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9sYS5jb20+CisK
KyAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgorCisgICAgICAgIENoYW5nZXMg
dG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0CisgICAgICAgIChodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgTm8gbmV3
IGZ1bmN0aW9uYWxpdHkgYWRkZWQgb3IgZGVsZXRlZC4gT25seSBtYWtlZmlsZSBjaGFuZ2UuIEhl
bmNlLCBubyB0ZXN0cyBhZGRlZC4KKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBSZW1vdmVk
IGJpbmRpbmdzL2dvYmplY3QgZnJvbSB3ZWJjb3JlX3NvdXJjZXMgJiB3ZWJjb3JlX2NwcGZsYWdz
IGFuZCBhZGRlZCB0aGVtIHRvIFdlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KKyAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaDogUmVtb3ZlIGlu
Y2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+IGFuZCBkZWNsYXJlIFdFQktJVF9BUEkgZGly
ZWN0bHkKKwogMjAxMC0xMi0xNSAgQnJpYW4gV2VpbnN0ZWluICA8YndlaW5zdGVpbkBhcHBsZS5j
b20+CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgSm9uIEhvbmV5Y3V0dC4KQEAgLTYzMSwxOCArNjQz
LDYgQEAKICAgICAgICAgbWV0YWRhdGEgaGFzIG5vdCBsb2FkZWQsIGdpdmUgdGhlIG5leHQgaW5z
dGFsbGVkIGVuZ2luZSBhIHRyeS4KICAgICAgICAgKiBwbGF0Zm9ybS9ncmFwaGljcy9NZWRpYVBs
YXllci5oOgogCi0yMDEwLTEyLTE1ICBBbXJ1dGggUmFqICA8YW1ydXRocmFqQG1vdG9yb2xhLmNv
bT4gYW5kIFJhdmkgS2FzaWJoYXRsYSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9sYS5jb20+Ci0K
LSAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgotCi0gICAgICAgIENoYW5nZXMg
dG8gZW5hYmxlIGJ1aWxkaW5nIFdlYktpdDIgZm9yIEd0ayBwb3J0Ci0gICAgICAgIChodHRwczov
L2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCi0KLSAgICAgICAgTm8gbmV3
IGZ1bmN0aW9uYWxpdHkgYWRkZWQgb3IgZGVsZXRlZC4gT25seSBtYWtlZmlsZSBjaGFuZ2UuIEhl
bmNlLCBubyB0ZXN0cyBhZGRlZC4KLQotICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBSZW1vdmVk
IGJpbmRpbmdzL2dvYmplY3QgZnJvbSB3ZWJjb3JlX3NvdXJjZXMgJiB3ZWJjb3JlX2NwcGZsYWdz
IGFuZCBhZGRlZCB0aGVtIHRvIFdlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KLSAgICAgICAgKiBw
bGF0Zm9ybS9uZXR3b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaDogUmVtb3ZlIGlu
Y2x1ZGUgPHdlYmtpdC93ZWJraXRkZWZpbmVzLmg+IGFuZCBkZWNsYXJlIFdFQktJVF9BUEkgZGly
ZWN0bHkKLQogMjAxMC0xMi0xNSAgSmFycmVkIE5pY2hvbGxzICA8amFycmVkQHNlbmNoYS5jb20+
CiAKICAgICAgICAgUmV2aWV3ZWQgYnkgQW5kcmVhcyBLbGluZy4KSW5kZXg6IFdlYkNvcmUvR05V
bWFrZWZpbGUuYW0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PQotLS0gV2ViQ29yZS9HTlVtYWtlZmlsZS5hbQkocmV2aXNp
b24gNzQxNzIpCisrKyBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCSh3b3JraW5nIGNvcHkpCkBAIC03
LDEwICs3LDEwIEBAIFdFQkNPUkVfQ1NTX1ZBTFVFX0tFWVdPUkRTIDo9ICQoV2ViQ29yZSkKIHdl
YmNvcmVfY3BwZmxhZ3MgKz0gXAogCS1JJChzcmNkaXIpL1dlYkNvcmUgXAogCS1JJChzcmNkaXIp
L1dlYkNvcmUvYWNjZXNzaWJpbGl0eSBcCisJLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncyBc
CiAJLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljIFwKIAktSSQoc3JjZGlyKS9X
ZWJDb3JlL2JpbmRpbmdzL2pzIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2pzL3Nw
ZWNpYWxpemF0aW9uIFwKLQktSSQoc3JjZGlyKS9XZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QgXAog
CS1JJChzcmNkaXIpL1dlYkNvcmUvYnJpZGdlIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JyaWRn
ZS9jIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2JyaWRnZS9qbmkvanNjIFwKQEAgLTY4NiwyMSAr
Njg2LDYgQEAgd2ViY29yZV9zb3VyY2VzICs9IFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMv
R2VuZXJpY0JpbmRpbmcuaCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFi
bGVkRmVhdHVyZXMuY3BwIFwKIAlXZWJDb3JlL2JpbmRpbmdzL2dlbmVyaWMvUnVudGltZUVuYWJs
ZWRGZWF0dXJlcy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0
cmluZy5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5n
LmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9ET01PYmplY3RDYWNoZS5jcHAgXAotCVdl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9ET01PYmplY3RDYWNoZS5oIFwKLQlXZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvR09iamVjdEV2ZW50TGlzdGVuZXIuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2Jq
ZWN0L1dlYktpdERPTUJpbmRpbmcuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2Vi
S2l0RE9NQmluZGluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZl
bnRUYXJnZXQuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRU
YXJnZXQuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0
UHJpdmF0ZS5oIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmNw
cCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5oIFwKLQlXZWJD
b3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5jcHAg
XAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0
b3J5LmggXAogCVdlYkNvcmUvYmluZGluZ3MvanMvQ2FjaGVkU2NyaXB0U291cmNlUHJvdmlkZXIu
aCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01PYmplY3RIYXNoVGFibGVNYXAuY3BwIFwKIAlX
ZWJDb3JlL2JpbmRpbmdzL2pzL0RPTU9iamVjdEhhc2hUYWJsZU1hcC5oIFwKQEAgLTM4MzEsNyAr
MzgxNiw2IEBAIHdlYmNvcmVndGtfc291cmNlcyArPSBcCiAJV2ViQ29yZS9wbGF0Zm9ybS90ZXh0
L2d0ay9UZXh0QnJlYWtJdGVyYXRvckd0ay5jcHAKIGVuZGlmCiAKLQogIyAtLS0KICMgQ2hhbm5l
bCBtZXNhZ2luZyBzdXBwb3J0CiAjIC0tLQpJbmRleDogV2ViQ29yZS9wbGF0Zm9ybS9uZXR3b3Jr
L3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaAo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBXZWJDb3JlL3Bs
YXRmb3JtL25ldHdvcmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oCShyZXZpc2lvbiA3
NDE3MikKKysrIFdlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3VwL2NhY2hlL3dlYmtpdC9zb3Vw
LWNhY2hlLmgJKHdvcmtpbmcgY29weSkKQEAgLTIzLDEyICsyMywxNiBAQAogI2lmbmRlZiBXRUJL
SVRfU09VUF9DQUNIRV9ICiAjZGVmaW5lIFdFQktJVF9TT1VQX0NBQ0hFX0ggMQogCi0jaWYgQlVJ
TERJTkdfR1RLX18KLSNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVmaW5lcy5oPgorI2lmZGVmIEdf
T1NfV0lOMzIKKyAgICAjaWZkZWYgQlVJTERJTkdfV0VCS0lUCisgICAgICAgICNkZWZpbmUgV0VC
S0lUX0FQSSBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKyAgICAjZWxzZQorICAgICAgICAjZGVmaW5l
IFdFQktJVF9BUEkgX19kZWNsc3BlYyhkbGxpbXBvcnQpCisgICAgI2VuZGlmCisgICAgI2RlZmlu
ZSBXRUJLSVRfT0JTT0xFVEVfQVBJIFdFQktJVF9BUEkKICNlbHNlCi0jaWZuZGVmIFdFQktJVF9B
UEkKLSNkZWZpbmUgV0VCS0lUX0FQSQotI2VuZGlmCisjZGVmaW5lIFdFQktJVF9BUEkgX19hdHRy
aWJ1dGVfXygodmlzaWJpbGl0eSgiZGVmYXVsdCIpKSkKKyNkZWZpbmUgV0VCS0lUX09CU09MRVRF
X0FQSSBXRUJLSVRfQVBJIF9fYXR0cmlidXRlX18oKGRlcHJlY2F0ZWQpKQogI2VuZGlmCiAKICNp
bmNsdWRlIDxsaWJzb3VwL3NvdXAtdHlwZXMuaD4KSW5kZXg6IFdlYktpdDIvQ2hhbmdlTG9nCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFdlYktpdDIvQ2hhbmdlTG9nCShyZXZpc2lvbiA3NDE3MikKKysrIFdlYktp
dDIvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTAtMTItMTUg
IEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2aSBLYXNpYmhhdGxh
ICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZpZXdlZCBieSBO
T0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBidWlsZGluZyBXZWJL
aXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3df
YnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1ha2VmaWxlLmFtOiBBZGRlZC4gCisg
ICAgICAgICogU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGw6IEZvciBHVEsg
cG9ydCwgdGFraW5nIDEgZXh0cmEgYXJndW1lbnQgZm9yIGNvcHlpbmcgbmV0d29yayBoZWFkZXJz
LgorICAgICAgICAqIFdlYktpdDJQcmVmaXguaDogSW5jbHVkZWQgV2ViQ29yZS9jb25maWcuaCBm
b3IgR1RLIHBvcnQgYXMgdGhlIGZpcnN0IGhlYWRlciBmaWxlIGZvciBXZWJLaXQyIHNvdXJjZXMg
ZmlsZXMuCisgICAgICAgICogZ3RrOiBBZGRlZC4KKyAgICAgICAgKiBndGsvd2Via2l0Mi5wYy5p
bjogQWRkZWQuCisKIDIwMTAtMTItMTQgIEVucmljYSBDYXN1Y2NpICA8ZW5yaWNhQGFwcGxlLmNv
bT4KIAogICAgICAgICBSZXZpZXdlZCBieSBBZGFtIFJvYmVuLgpAQCAtMjYzLDE5ICsyNzYsNiBA
QAogICAgICAgICAqIFdlYktpdDJQcmVmaXguaDoKICAgICAgICAgKiBndGsvd2Via2l0Mi5wYy5p
bjogUmVtb3ZlZC4KIAotMjAxMC0xMi0xNSAgQW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9s
YS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEgIDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29t
PgotCi0gICAgICAgIFJldmlld2VkIGJ5IE1hcnRpbiBSb2JpbnNvbi4KLQotICAgICAgICBDaGFu
Z2VzIHRvIGVuYWJsZSBidWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KLSAgICAgICAgKGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKLQotICAgICAgICAq
IEdOVW1ha2VmaWxlLmFtOiBBZGRlZC4gCi0gICAgICAgICogU2NyaXB0cy9nZW5lcmF0ZS1mb3J3
YXJkaW5nLWhlYWRlcnMucGw6IEZvciBHVEsgcG9ydCwgdGFraW5nIDEgZXh0cmEgYXJndW1lbnQg
Zm9yIGNvcHlpbmcgbmV0d29yayBoZWFkZXJzLgotICAgICAgICAqIFdlYktpdDJQcmVmaXguaDog
SW5jbHVkZWQgV2ViQ29yZS9jb25maWcuaCBmb3IgR1RLIHBvcnQgYXMgdGhlIGZpcnN0IGhlYWRl
ciBmaWxlIGZvciBXZWJLaXQyIHNvdXJjZXMgZmlsZXMuCi0gICAgICAgICogZ3RrOiBBZGRlZC4K
LSAgICAgICAgKiBndGsvd2Via2l0Mi5wYy5pbjogQWRkZWQuCi0KIDIwMTAtMTItMTUgIEphbiBF
cmlrIEhhbnNzZW4gIDxqaGFuc3NlbkBzZW5jaGEuY29tPgogCiAgICAgICAgIFJldmlld2VkIGJ5
IEFuZHJlYXMgS2xpbmcuCkluZGV4OiBXZWJLaXQyL0dOVW1ha2VmaWxlLmFtCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFdlYktpdDIvR05VbWFrZWZpbGUuYW0JKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL0dOVW1h
a2VmaWxlLmFtCShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDY4NiBAQAorCit3ZWJraXQyX3NvdXJj
ZXMgOj0KKworIyBXZWJLaXQyIENvbnZlbmllbmNlIGxpYnJhcmllcworbm9pbnN0X0xUTElCUkFS
SUVTICs9IFwKKwlsaWJXZWJLaXQyLmxhCisKK2xpYldlYktpdDJfbGFkaXIgPSAkKHByZWZpeCkv
aW5jbHVkZS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL1dlYktpdDIKK2xpYldlYktp
dDJfbGFfSEVBREVSUyA9IFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0FycmF5LmggXAor
CSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9B
UEkvYy9XS0NlcnRpZmljYXRlSW5mby5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0Rh
dGEuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5LmggXAorCSQoV2Vi
S2l0MikvU2hhcmVkL0FQSS9jL1dLRXJyb3IuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2Mv
V0tFdmVudC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0dlb21ldHJ5LmggXAorCSQo
V2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5LmggXAorCSQoV2ViS2l0MikvU2hh
cmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJ
L2MvV0tOdW1iZXIuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2Ny
aXB0VmFsdWUuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0
VmFsdWVQcml2YXRlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2Fz
dC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oIFwKKwkkKFdlYktpdDIp
L1NoYXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJ
L2MvV0tUeXBlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVVJMLmggXAorCSQoV2Vi
S2l0MikvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9B
UEkvYy9XS1VSTFJlc3BvbnNlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVXNlckNv
bnRlbnRVUkxQYXR0ZXJuLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL2d0ay9XS0Jhc2VH
dGsuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oIFwKKwkk
KFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmggXAorCSQoV2ViS2l0MikvVUlQcm9j
ZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0Jh
Y2tGb3J3YXJkTGlzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3
YXJkTGlzdEl0ZW0uaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0Lmgg
XAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBcCisJJChX
ZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmggXAorCSQo
V2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nl
c3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNz
L0FQSS9DL1dLTmF0aXZlRXZlbnQuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tO
YXZpZ2F0aW9uRGF0YS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBc
CisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmggXAorCSQoV2Vi
S2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBcCisJJChXZWJLaXQyKS9VSVBy
b2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkv
Qy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9n
dGsvV0tBUElDYXN0aUd0ay5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tW
aWV3LmgKKworbm9kaXN0X2xpYldlYktpdDJfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmtpdDJfYnVp
bHRfc291cmNlcykKKworbGliV2ViS2l0Ml9sYV9TT1VSQ0VTID0gXAorCSQod2Via2l0Ml9zb3Vy
Y2VzKQorCitsaWJXZWJLaXQyX2xhX0NQUEZMQUdTID0gXAorCS1mbm8tc3RyaWN0LWFsaWFzaW5n
IFwKKwkkKGdsb2JhbF9jcHBmbGFncykgXAorCS1pbmNsdWRlICQoc3JjZGlyKS9XZWJLaXQyL1dl
YktpdDJQcmVmaXguaCBcCisJLUkkKHNyY2RpcikvV2ViS2l0MiBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvUGxhdGZvcm0gXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvUGxhdGZvcm0vQ29yZUlQQyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9ndGsgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvUGx1Z2luUHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9T
aGFyZWQgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSSBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL0FQSS9j
L2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1cHBvcnQgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvU2hhcmVkL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVBy
b2Nlc3MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0FQSSBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL2NwcCBc
CisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJL
aXQyL1VJUHJvY2Vzcy9MYXVuY2hlciBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nlc3Mv
TGF1bmNoZXIvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zIFwK
KwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL2d0ayBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9XZWJQcm9jZXNzIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3Mv
Z3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUgXAor
CS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkgXAorCS1J
JChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYyBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTSBcCisJLUkkKHNy
Y2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ayBcCisJLUkkKHNyY2Rp
cikvV2ViS2l0Mi9XZWJQcm9jZXNzL0xhdW5jaGluZyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVn
aW5zL05ldHNjYXBlIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9O
ZXRzY2FwZS9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3Vw
cG9ydCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0
ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UgXAorCS1JJChzcmNk
aXIpL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ayBcCisJLUkkKHRvcF9idWlsZGRpcikv
RGVyaXZlZFNvdXJjZXMvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJj
ZXMvV2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9X
ZWJLaXQyL2luY2x1ZGUvSmF2YVNjcmlwdENvcmUgXAorCS1JJCh0b3BfYnVpbGRkaXIpL0Rlcml2
ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJDb3JlIFwKKwktSSQodG9wX2J1aWxkZGlyKS9E
ZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUvV2ViS2l0MiBcCisJJCh3ZWJjb3JlX2NwcGZs
YWdzKSBcCisJJCh3ZWJjb3JlZ3RrX2NwcGZsYWdzKSBcCisJJChqYXZhc2NyaXB0Y29yZV9jcHBm
bGFncykKKworbGliV2ViS2l0Ml9sYV9DWFhGTEFHUyA9IFwKKwkkKGdsb2JhbF9jeHhmbGFncykg
XAorCSQobGliV2ViS2l0Ml9sYV9DRkxBR1MpCisKK2xpYldlYktpdDJfbGFfQ0ZMQUdTID0gXAor
CSQoZ2xvYmFsX2NmbGFncykgXAorCSQoQ09WRVJBR0VfQ0ZMQUdTKSBcCisJJChHTElCX0NGTEFH
UykgXAorCSQoR1RLX0NGTEFHUykgXAorCSQoTElCU09VUF9DRkxBR1MpIFwKKwkkKFVOSUNPREVf
Q0ZMQUdTKSBcCisJJChYVF9DRkxBR1MpCisKK2xpYldlYktpdDJfbGFfTElCQUREID0gXAorCS1s
cHRocmVhZCBcCisJJChDQUlST19MSUJTKSBcCisJJChDT1ZFUkFHRV9MREZMQUdTKSBcCisJJChH
TElCX0xJQlMpIFwKKwkkKEdUS19MSUJTKSBcCisJJChMSUJTT1VQX0xJQlMpIFwKKwkkKFVOSUNP
REVfTElCUykgXAorCSQoWFRfTElCUykKKworIyBTaGFyZWQgbGlicmFyaWVzCitsaWJfTFRMSUJS
QVJJRVMgKz0gXAorCWxpYndlYmtpdDJndGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkAu
QFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEKKworbm9kaXN0X0VYVFJBX2xpYndlYmtp
dDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1Jf
VkVSU0lPTkBfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmNvcmVfYnVpbHRfbm9zb3VyY2VzKQorCitu
b2Rpc3RfbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lU
R1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorCSQod2ViY29yZV9idWlsdF9z
b3VyY2VzKQorCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBcCisJJCh3ZWJjb3JlX3Nv
dXJjZXMpIFwKKwkkKHdlYmNvcmVndGtfc291cmNlcykKKworbGlid2Via2l0Mmd0a19AV0VCS0lU
R1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9D
WFhGTEFHUyA9IFwKKwkkKGdsb2JhbF9jeHhmbGFncykKKworbGlid2Via2l0Mmd0a19AV0VCS0lU
R1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9D
RkxBR1MgPSBcCisJJChnbG9iYWxfY2ZsYWdzKQorCisjIFdoZW4gYnVpbGRpbmcgV2ViQ29yZSwg
d2Ugd2FudCBXZWJDb3JlL2NvbmZpZy5oIGFuZCBOT1QgSmF2YVNjcmlwdENvcmUvY29uZmlnLmgs
CisjIGhlbmNlLCBpdCdzIGltcG9ydGFudCB0aGF0IFdlYkNvcmUvIHNob3VsZCBjb21lIGZpcnN0
IGJlZm9yZSBKYXZhU2NyaXB0Q29yZSBpbiB0aGUKKyMgaW5jbHVkZSBwYXRoLgorbGlid2Via2l0
Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9W
RVJTSU9OQF9sYV9DUFBGTEFHUyA9IFwKKwktREJVSUxESU5HX1dFQktJVCBcCisJLURQQUNLQUdF
X0xPQ0FMRV9ESVI9XCIkKGxvY2FsZWRpcilcIiBcCisJLUREQVRBX0RJUj1cIiR7ZGF0YWRpcn1c
IiBcCisJJChnbG9iYWxfY3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVfY3BwZmxhZ3MpIFwKKwkkKHdl
YmNvcmVndGtfY3BwZmxhZ3MpIFwKKwkkKGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKSBcCisJLWZu
by1zdHJpY3QtYWxpYXNpbmcgXAorCSQoSElMRE9OX0NQUEZMQUdTKSBcCisJJChDT1ZFUkFHRV9D
RkxBR1MpIFwKKwkkKEVOQ0hBTlRfQ0ZMQUdTKSBcCisJJChHQUlMX0NGTEFHUykgXAorCSQoR0VP
Q0xVRV9DRkxBR1MpIFwKKwkkKEdMSUJfQ0ZMQUdTKSBcCisJJChHU1RSRUFNRVJfQ0ZMQUdTKSBc
CisJJChHVEtfQ0ZMQUdTKSBcCisJJChISUxET05fQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NGTEFH
UykgXAorCSQoTElCWE1MX0NGTEFHUykgXAorCSQoTElCWFNMVF9DRkxBR1MpIFwKKwkkKFNRTElU
RTNfQ0ZMQUdTKSBcCisJJChVTklDT0RFX0NGTEFHUykgXAorCSQoWFRfQ0ZMQUdTKQorCisjIEZv
ciB0aGUgR3RrIHBvcnQgd2Ugd2FudCB0byB1c2UgWFBfVU5JWCBib3RoIGluIFgxMSBhbmQgTWFj
CitpZiAhVEFSR0VUX1dJTjMyCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZF
UlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTICs9IFwKKwkt
RFhQX1VOSVgKK2VuZGlmCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19BUElfTUFKT1JfVkVS
U0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfTERGTEFHUyA9IFwKKwktdmVy
c2lvbi1pbmZvIEBMSUJXRUJLSVRHVEtfVkVSU0lPTkAgXAorCSQodmVyc2lvbl9zY3JpcHQpIFwK
KwkkKG5vX3VuZGVmaW5lZCkKKworbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9W
RVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9MSUJBREQgPSBcCisJLWxw
dGhyZWFkIFwKKwlsaWJKYXZhU2NyaXB0Q29yZS5sYSBcCisJbGliV2ViS2l0Mi5sYSBcCisJJChH
U1RSRUFNRVJfTElCUykgXAorCSQoR1RLX0xJQlMpIFwKKwkkKEhJTERPTl9MSUJTKSBcCisJJChK
UEVHX0xJQlMpIFwKKwkkKExJQlNPVVBfTElCUykgXAorCSQoTElCWE1MX0xJQlMpIFwKKwkkKExJ
QlhTTFRfTElCUykgXAorCSQoUEFOR09fTElCUykgXAorCSQoUE5HX0xJQlMpIFwKKwkkKFNRTElU
RTNfTElCUykgXAorCSQoVU5JQ09ERV9MSUJTKSBcCisJJChYVF9MSUJTKQorCitwa2djb25maWdk
aXIgPSAkKGxpYmRpcikvcGtnY29uZmlnCitwa2djb25maWdfREFUQSA9IFdlYktpdDIvZ3RrL0BX
RUJLSVRHVEtfUENfTkFNRUAtQFdFQktJVEdUS19BUElfVkVSU0lPTkAucGMKKworIyBXZWJLaXQy
IHNwZWNpZmljIHZhcmlhYmxlcword2Via2l0Ml9zb3VyY2VzICs9IFwKKwlXZWJLaXQyL1BsYXRm
b3JtL0NvcmVJUEMvQXJndW1lbnRDb2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
QXJndW1lbnRDb2RlcnMuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVj
b2Rlci5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudERlY29kZXIuaCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5jcHAgXAorCVdlYktp
dDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1bWVudEVuY29kZXIuaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Db3JlSVBDL0FyZ3VtZW50cy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXR0YWNo
bWVudC5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50LmggXAorCVdl
YktpdDIvUGxhdGZvcm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuY3BwIFwKKwlXZWJLaXQyL1Bs
YXRmb3JtL0NvcmVJUEMvQmluYXJ5U2VtYXBob3JlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29y
ZUlQQy9Db25uZWN0aW9uLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0Nvbm5lY3Rp
b24uaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0NvcmVJUENNZXNzYWdlS2luZHMuaCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0RhdGFSZWZlcmVuY2UuY3BwIFwKKwlXZWJLaXQy
L1BsYXRmb3JtL0NvcmVJUEMvRGF0YVJlZmVyZW5jZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMvZ3RrL0Nvbm5lY3Rpb25HdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMv
SGFuZGxlTWVzc2FnZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvTWVzc2FnZUlELmgg
XAorCVdlYktpdDIvUGxhdGZvcm0vZ3RrL01vZHVsZUd0ay5jcHAgXAorCVdlYktpdDIvUGxhdGZv
cm0vZ3RrL1J1bkxvb3BHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9TaGFyZWRNZW1v
cnlHdGsuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL2d0ay9Xb3JrUXVldWVHdGsuY3BwIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0xvZ2dpbmcu
aCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Nb2R1bGUuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL01v
ZHVsZS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1BsYXRmb3JtUHJvY2Vzc0lkZW50aWZpZXIuaCBc
CisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5Mb29wLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9SdW5M
b29wLmggXAorCVdlYktpdDIvUGxhdGZvcm0vU2hhcmVkTWVtb3J5LmggXAorCVdlYktpdDIvUGxh
dGZvcm0vV29ya0l0ZW0uaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Xb3JrUXVldWUuY3BwIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1
Z2luQ29udHJvbGxlclByb3h5LmNwcCBcCisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpbkNv
bnRyb2xsZXJQcm94eS5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luUHJvY2Vzcy5j
cHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmggXAorCVdlYktpdDIv
UGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzTWFpbi5oIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nl
c3MvV2ViUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvV2Vi
UHJvY2Vzc0Nvbm5lY3Rpb24uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrL1dLQmFzZUd0
ay5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElDbGllbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQXJyYXkuaCBcCisJV2Vi
S2l0Mi9TaGFyZWQvQVBJL2MvV0tCYXNlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLQ2Vy
dGlmaWNhdGVJbmZvLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDZXJ0aWZpY2F0ZUlu
Zm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEYXRhLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tEYXRhLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1No
YXJlZC9BUEkvYy9XS0Vycm9yLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tFcnJvci5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0V2ZW50LmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLR2VvbWV0cnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tNdXRhYmxlQXJyYXku
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tNdXRhYmxlRGljdGlvbmFyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS051
bWJlci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVyLmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLU2VyaWFsaXplZFNjcmlwdFZhbHVlLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWVQcml2YXRlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLU2hhcmVkQVBJQ2FzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmggXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLU3RyaW5nUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUu
Y3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1R5cGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
QVBJL2MvV0tVUkwuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTC5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1VSTFJlcXVlc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5j
cHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMUmVzcG9uc2UuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQVBJL2MvV0tVc2VyQ29udGVudFVSTFBhdHRlcm4uY3BwIFwKKwlXZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUElP
YmplY3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQmFja2luZ1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9T
aGFyZWQvQmFja2luZ1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL0NhY2hlTW9kZWwuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvQ29tbWFuZExpbmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQQ1N1
cHBvcnQvRHJhd2luZ0FyZWFNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ29yZUlQ
Q1N1cHBvcnQvRHJhd2luZ0FyZWFQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9Db3JlSVBDU3VwcG9ydC9JbmplY3RlZEJ1bmRsZU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJDb250ZXh0TWVzc2FnZUtpbmRzLmggXAorCVdlYktp
dDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlBhZ2VQcm94eU1lc3NhZ2VLaW5kcy5oIFwKKwlX
ZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9ydC9XZWJQcm9jZXNzUHJveHlNZXNzYWdlS2luZHMu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvRHJhd2luZ0FyZWFCYXNlLmggXAorCVdlYktpdDIvU2hhcmVk
L0ZpbmRPcHRpb25zLmggXAorCVdlYktpdDIvU2hhcmVkL0ZvbnRTbW9vdGhpbmdMZXZlbC5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9ndGsvQmFja2luZ1N0b3JlR3RrLmNwcCBcCisJV2ViS2l0Mi9TaGFy
ZWQvZ3RrL05hdGl2ZVdlYktleWJvYXJkRXZlbnRHdGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9n
dGsvUGxhdGZvcm1DZXJ0aWZpY2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0
ZUNodW5rLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1VwZGF0ZUNodW5rLmggXAorCVdlYktp
dDIvU2hhcmVkL2d0ay9XZWJDb3JlQXJndW1lbnRDb2RlcnNHdGsuY3BwIFwKKwlXZWJLaXQyL1No
YXJlZC9ndGsvV2ViRXZlbnRGYWN0b3J5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvZ3RrL1dlYkV2
ZW50RmFjdG9yeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVBcnJheS5jcHAgXAorCVdl
YktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmggXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJs
ZURpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9JbW11dGFibGVEaWN0aW9uYXJ5Lmgg
XAorCVdlYktpdDIvU2hhcmVkL011dGFibGVBcnJheS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL011
dGFibGVBcnJheS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9NdXRhYmxlRGljdGlvbmFyeS5jcHAgXAor
CVdlYktpdDIvU2hhcmVkL011dGFibGVEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVkL05h
dGl2ZVdlYktleWJvYXJkRXZlbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTm90SW1wbGVtZW50ZWQu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvU3RyaW5nUGFpclZlY3Rvci5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9Vc2VyTWVzc2FnZUNvZGVycy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9WaXNpdGVkTGlua1RhYmxl
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvVmlzaXRlZExpbmtUYWJsZS5oIFwKKwlXZWJLaXQyL1No
YXJlZC9XZWJDZXJ0aWZpY2F0ZUluZm8uaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViQ29yZUFyZ3Vt
ZW50Q29kZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYkRhdGEuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvV2ViRXJyb3IuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFcnJvci5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9XZWJFdmVudENvbnZlcnNpb24uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVu
dENvbnZlcnNpb24uaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRXZlbnQuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViTmF2aWdhdGlvbkRhdGFTdG9yZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJOdW1i
ZXIuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5jcHAgXAor
CVdlYktpdDIvU2hhcmVkL1dlYlBhZ2VDcmVhdGlvblBhcmFtZXRlcnMuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvV2ViUG9wdXBJdGVtLmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUG9wdXBJdGVtLmgg
XAorCVdlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzU3RvcmUuY3BwIFwKKwlXZWJLaXQyL1No
YXJlZC9XZWJQcmVmZXJlbmNlc1N0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3ND
cmVhdGlvblBhcmFtZXRlcnMuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQcm9jZXNzQ3JlYXRp
b25QYXJhbWV0ZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlNlcmlhbGl6ZWRTY3JpcHRWYWx1
ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJTdHJpbmcuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2Vi
VVJMLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlcXVlc3QuY3BwIFwKKwlXZWJLaXQyL1No
YXJlZC9XZWJVUkxSZXF1ZXN0LmggXAorCVdlYktpdDIvU2hhcmVkL1dlYlVSTFJlc3BvbnNlLmNw
cCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVzcG9uc2UuaCBcCisJV2ViS2l0Mi9TaGFyZWQv
V2ViVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0
ay9XS0FQSUNhc3RHdGsuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5j
cHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL2d0ay9XS1ZpZXcuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Qy9XZWJLaXQyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJkTGlzdC5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmggXAorCVdlYktpdDIvVUlQcm9jZXNz
L0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLQmFja0ZvcndhcmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9X
S0NvbnRleHQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHQuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0UHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQy9XS0Zvcm1TdWJtaXNzaW9uTGlzdGVuZXIuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tGcmFtZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLRnJh
bWUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLTmF0aXZlRXZlbnQuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tOYXZpZ2F0aW9uRGF0YS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLTmF2aWdhdGlvbkRhdGEuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdl
LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlLmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUGFnZU5hbWVzcGFjZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQ
SS9DL1dLUGFnZU5hbWVzcGFjZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2VQ
cml2YXRlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1ByZWZlcmVuY2VzLmggXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXNQcml2YXRlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQ2h1
bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9DaHVu
a2VkVXBkYXRlRHJhd2luZ0FyZWFQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5n
QXJlYVByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvRHJhd2luZ0FyZWFQcm94eS5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9GaW5kSW5kaWNhdG9yLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvRmluZEluZGljYXRvci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9HZW5lcmljQ2FsbGJhY2su
aCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYVByb3h5
R3RrLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYkNvbnRleHRHdGsuY3BwIFwKKwlX
ZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlldy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0
ay9XZWJWaWV3LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViVmlld0ludGVybmFsLmggXAorCVdlYktpdDIv
VUlQcm9jZXNzL0xhdW5jaGVyL2d0ay9Qcm9jZXNzTGF1bmNoZXJHdGsuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsvVGhyZWFkTGF1bmNoZXJHdGsuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9MYXVuY2hlci9Qcm9jZXNzTGF1bmNoZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvTGF1
bmNoZXIvVGhyZWFkTGF1bmNoZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9U
aHJlYWRMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdpbmdB
cmVhUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXllckJhY2tlZERyYXdpbmdBcmVh
UHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGFnZUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL2d0ay9QbHVnaW5JbmZvU3RvcmVHdGsuY3BwIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpbkluZm9TdG9yZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMv
UGx1Z2luUHJvY2Vzc01hbmFnZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1Bs
dWdpblByb2Nlc3NNYW5hZ2VyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUHJvY2Vzc01vZGVsLmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL1Jlc3BvbnNpdmVuZXNzVGltZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9SZXNwb25zaXZlbmVzc1RpbWVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5r
UHJvdmlkZXIuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9WaXNpdGVkTGlua1Byb3ZpZGVyLmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkJhY2tGb3J3YXJkTGlzdC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJC
YWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0Zvcndh
cmRMaXN0SXRlbS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4dC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250
ZXh0SW5qZWN0ZWRCdW5kbGVDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViQ29udGV4
dFVzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkVkaXRDb21tYW5k
UHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJFZGl0Q29tbWFuZFByb3h5LmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYkZpbmRDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGaW5kQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1DbGllbnQuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGb3JtQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYkZvcm1TdWJtaXNzaW9uTGlzdGVuZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJGcmFtZUxpc3RlbmVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFt
ZUxpc3RlbmVyUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0
ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQb2xpY3lMaXN0ZW5l
clByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuY3BwIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkhp
c3RvcnlDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJIaXN0b3J5Q2xpZW50Lmgg
XAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkxvYWRlckNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL1dlYkxvYWRlckNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJOYXZpZ2F0
aW9uRGF0YS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25EYXRhLmggXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VOYW1lc3BhY2UuY3BwIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5oIFwKKwlXZWJLaXQyL1VJ
UHJvY2Vzcy9XZWJQb2xpY3lDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb2xp
Y3lDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUG9wdXBNZW51UHJveHkuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJlZmVyZW5jZXMuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9XZWJQcmVmZXJlbmNlcy5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQcm9jZXNzTWFuYWdl
ci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YlByb2Nlc3NQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJVSUNsaWVudC5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmggXAorCVdlYktpdDIvV2ViS2l0MlByZWZp
eC5jcHAgXAorCVdlYktpdDIvV2ViS2l0MlByZWZpeC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3Mv
Z3RrL1dlYlByb2Nlc3NNYWluR3RrLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ay9XZWJQ
cm9jZXNzTWFpbkd0ay5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJ
L2MvV0tCdW5kbGVBUElDYXN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRs
ZS9BUEkvYy9XS0J1bmRsZUZyYW1lLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlRnJhbWVQcml2YXRlLmggXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0LmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlSGl0VGVzdFJlc3Vs
dC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVJ
bml0aWFsaXplLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZU5vZGVIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVOb2RlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Jbmpl
Y3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZU5vZGVIYW5kbGVQcml2YXRlLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVQYWdlLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2VQcml2YXRl
LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBy
aXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUv
QVBJL2MvV0tCdW5kbGVSYW5nZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVTY3JpcHRXb3JsZC5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ET00vSW5qZWN0ZWRCdW5kbGVOb2RlSGFuZGxl
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1
bmRsZU5vZGVIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RP
TS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZVJhbmdlSGFuZGxlLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9ndGsvSW5qZWN0ZWRCdW5kbGVHdGsuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGUuaCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0VGVzdFJlc3Vs
dC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRs
ZUhpdFRlc3RSZXN1bHQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0lu
amVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VFZGl0b3JDbGllbnQuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUZvcm1DbGllbnQu
Y3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQ
YWdlRm9ybUNsaWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5q
ZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0lu
amVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUxvYWRlckNsaWVudC5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlVUlDbGllbnQuY3Bw
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdl
VUlDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVk
QnVuZGxlU2NyaXB0V29ybGQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvSW5qZWN0ZWRCdW5kbGVTY3JpcHRXb3JsZC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5q
ZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVVc2VyTWVzc2FnZUNvZGVycy5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QTWV0aG9kLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1BsdWdpbnMvSlNOUE1ldGhvZC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05Q
T2JqZWN0LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvSlNOUE9iamVjdC5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9ndGsvTmV0c2NhcGVQbHVnaW5H
dGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZUJy
b3dzZXJGdW5jcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05l
dHNjYXBlQnJvd3NlckZ1bmNzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNj
YXBlL05ldHNjYXBlUGx1Z2luLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW4uaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0
c2NhcGUvTmV0c2NhcGVQbHVnaW5Nb2R1bGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9OZXRzY2FwZS9OZXRzY2FwZVBsdWdpblN0cmVhbS5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QSlNPYmplY3QuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9OUEpTT2JqZWN0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05QUnVudGltZU9iamVjdE1hcC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05Q
UnVudGltZU9iamVjdE1hcC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRp
bWVVdGlsaXRpZXMuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OUFJ1bnRpbWVV
dGlsaXRpZXMuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luQ29udHJvbGxl
ci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW4uaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdp
bnMvUGx1Z2luUHJvY2Vzc0Nvbm5lY3Rpb24uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuY3BwIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9jZXNzQ29ubmVjdGlvbk1hbmFnZXIuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luUHJveHkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5WaWV3LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUGx1Z2luVmlldy5o
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvZ3RrL1dlYkVycm9yc0d0ay5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRnJhbWVOZXR3
b3JraW5nQ29udGV4dC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
QmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YkNvcmVTdXBwb3J0L1dlYkJhY2tGb3J3YXJkQ29udHJvbGxlckNsaWVudC5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkNocm9tZUNsaWVudC5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ29udGV4dE1lbnVDbGllbnQuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkRyYWdDbGllbnQuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkVkaXRvckNsaWVudC5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRXJyb3JzLmggXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5jcHAgXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJGcmFtZUxvYWRlckNsaWVudC5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50LmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkluc3BlY3RvckNsaWVu
dC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1TdHJh
dGVnaWVzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBsYXRm
b3JtU3RyYXRlZ2llcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2Vi
UG9wdXBNZW51LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlBv
cHVwTWVudS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2VhcmNo
UG9wdXBNZW51LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYlNl
YXJjaFBvcHVwTWVudS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViS2l0TWFpbi5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0NodW5rZWRVcGRhdGVEcmF3aW5nQXJlYS5o
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9EcmF3aW5nQXJlYS5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmggXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL0ZpbmRDb250cm9sbGVyLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBh
Z2UvRmluZENvbnRyb2xsZXIuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZFBh
Z2VPdmVybGF5LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvRmluZFBhZ2VPdmVy
bGF5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9DaHVua2VkVXBkYXRlRHJh
d2luZ0FyZWFHdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9ndGsvV2ViUGFn
ZUd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2lu
Z0FyZWEuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9MYXllckJhY2tlZERyYXdp
bmdBcmVhLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1BhZ2VPdmVybGF5LmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvV2ViQmFja0ZvcndhcmRMaXN0UHJveHkuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJFZGl0Q29tbWFuZC5jcHAgXAorCVdlYktpdDIvV2ViUHJv
Y2Vzcy9XZWJQYWdlL1dlYkVkaXRDb21tYW5kLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQ
YWdlL1dlYkZyYW1lLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViRnJhbWUu
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBy
b2Nlc3MuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vzcy5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUHJvY2Vzc01haW4uaAorCit3ZWJraXQyX2J1aWx0X3NvdXJjZXMgKz0g
XAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2VzLmggXAorCURl
cml2ZWRTb3VyY2VzL1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAor
CURlcml2ZWRTb3VyY2VzL1dlYktpdDIvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJNZXNzYWdlcy5o
IFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL05QT2JqZWN0TWVzc2FnZVJlY2VpdmVyTWVzc2Fn
ZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Db250cm9sbGVy
UHJveHlNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdpbkNvbnRyb2xs
ZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1
Z2luUHJvY2Vzc01lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2luUHJv
Y2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvUGx1Z2lu
UHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Q
cm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQy
L1BsdWdpblByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5Q
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29u
dGV4dE1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29udGV4dE1lc3Nh
Z2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5zcGVjdG9yTWVz
c2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JNZXNzYWdlUmVj
ZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3RvclByb3h5TWVz
c2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQcm94eU1lc3Nh
Z2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2Vz
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2VSZWNlaXZlci5jcHAg
XAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZVByb3h5TWVzc2FnZXMuaCBcCisJRGVy
aXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291
cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2Vz
L1dlYktpdDIvV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNv
dXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggXAorCURlcml2ZWRT
b3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2ZXIuY3BwCisK
K0JVSUxUX1NPVVJDRVMgKz0gXAorCSQod2Via2l0Ml9idWlsdF9zb3VyY2VzKSBcCisJZ2VuZXJh
dGUtd2Via2l0Mi1mb3J3YXJkaW5nLWhlYWRlcnMKKworRm9yd2FyZGluZ0hlYWRlcnMgOj0gJChH
RU5TT1VSQ0VTX1dFQktJVDIpL2luY2x1ZGUKK2dlbmVyYXRlLXdlYmtpdDItZm9yd2FyZGluZy1o
ZWFkZXJzOiAkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtZm9yd2FyZGluZy1oZWFkZXJzLnBs
ICQod2Via2l0Ml9zb3VyY2VzKQorCSQoQU1fVl9hdCkkKG1rZGlyX3ApICQoRm9yd2FyZGluZ0hl
YWRlcnMpL0phdmFTY3JpcHRDb3JlCisJJChBTV9WX2F0KSQobWtkaXJfcCkgJChGb3J3YXJkaW5n
SGVhZGVycykvV2ViQ29yZQorCSQoQU1fVl9hdCkkKG1rZGlyX3ApICQoRm9yd2FyZGluZ0hlYWRl
cnMpL1dlYktpdDIKKwkkKEFNX1ZfR0VOKSQoUEVSTCkgJDwgJChXZWJLaXQyKSAkKEZvcndhcmRp
bmdIZWFkZXJzKSBndGsgc291cCAKKwordnBhdGggJS5tZXNzYWdlcy5pbiA9IFwKKwkkKFdlYktp
dDIpL1BsdWdpblByb2Nlc3MgXAorCSQoV2ViS2l0MikvU2hhcmVkL1BsdWdpbnMgXAorCSQoV2Vi
S2l0MikvVUlQcm9jZXNzIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9Eb3dubG9hZHMgXAorCSQo
V2ViS2l0MikvVUlQcm9jZXNzL1BsdWdpbnMgXAorCSQoV2ViS2l0MikvV2ViUHJvY2VzcyBcCisJ
JChXZWJLaXQyKS9XZWJQcm9jZXNzL1BsdWdpbnMgXAorCSQoV2ViS2l0MikvV2ViUHJvY2Vzcy9X
ZWJQYWdlIAorCittZXNzYWdlX2dlbl9zY3JpcHRzID0gXAorCSQoV2ViS2l0MikvU2NyaXB0cy9n
ZW5lcmF0ZS1tZXNzYWdlLXJlY2VpdmVyLnB5IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJh
dGUtbWVzc2FnZXMtaGVhZGVyLnB5IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvd2Via2l0Mi9fX2lu
aXRfXy5weSBcCisJJChXZWJLaXQyKS9TY3JpcHRzL3dlYmtpdDIvbWVzc2FnZXMucHkKKworIyBN
ZXNzYWdlIGhlYWRlciBnZW5lcmF0aW9uCitEZXJpdmVkU291cmNlcy9XZWJLaXQyLyVNZXNzYWdl
UmVjZWl2ZXIuY3BwOiAlLm1lc3NhZ2VzLmluICQobWVzc2FnZV9nZW5fc2NyaXB0cykKKwkkKEFN
X1ZfR0VOKSQoUFlUSE9OKSAkKFdlYktpdDIpL1NjcmlwdHMvZ2VuZXJhdGUtbWVzc2FnZS1yZWNl
aXZlci5weSAkPCA+ICRACisKK0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvJU1lc3NhZ2VzLmg6ICUu
bWVzc2FnZXMuaW4gJChtZXNzYWdlX2dlbl9zY3JpcHRzKQorCSQoQU1fVl9HRU4pJChQWVRIT04p
ICQoV2ViS2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1oZWFkZXIucHkgJDwgPiAkQAor
CitDTEVBTkZJTEVTICs9IFwKKwkkKEJVSUxUX1NPVVJDRVMpIFwKKwkkKHRvcF9idWlsZGRpcikv
V2ViS2l0Mi9ndGsvQFdFQktJVEdUS19QQ19OQU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJTSU9OQC5w
YyBcCisJJCh0b3BfYnVpbGRkaXIpL1Byb2dyYW1zL1dlYktpdFdlYlByb2Nlc3MKKworIyBXZWJL
aXRXZWJQcm9jZXNzCitiaW5fUFJPR1JBTVMgKz0gXAorCVByb2dyYW1zL1dlYktpdFdlYlByb2Nl
c3MKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19DUFBGTEFHUyA9IFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQyBcCisJLUkk
KHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL2d0ayBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVy
aXZlZFNvdXJjZXMvV2ViS2l0MiBcCisJLUkkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMv
V2ViS2l0Mi9pbmNsdWRlIFwKKwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJL
aXQyL2luY2x1ZGUvV2ViQ29yZSBcCisJJChnbG9iYWxfY3BwZmxhZ3MpIFwKKwkkKGphdmFzY3Jp
cHRjb3JlX2NwcGZsYWdzKQorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX0NGTEFHUyA9IFwK
KwkkKGdsb2JhbF9jZmxhZ3MpIFwKKwkkKEdUS19DRkxBR1MpIFwKKwkkKExJQlNPVVBfQ0ZMQUdT
KQorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX1NPVVJDRVMgPSBcCisJV2ViS2l0Mi9ndGsv
TWFpbkd0ay5jcHAKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19MREFERCA9IFwKKwlsaWJ3
ZWJraXQyZ3RrLUBXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05ALkBXRUJLSVRHVEtfQVBJX01J
Tk9SX1ZFUlNJT05ALmxhIFwKKwkkKEdUS19MSUJTKSBcCisJJChHTElCX0xJQlMpIFwKKwkkKExJ
QlNPVVBfTElCUykKKworUHJvZ3JhbXNfV2ViS2l0V2ViUHJvY2Vzc19MREZMQUdTID0gXAorCS1u
by1mYXN0LWluc3RhbGwgXAorCS1uby1pbnN0YWxsCkluZGV4OiBXZWJLaXQyL1dlYktpdDJQcmVm
aXguaAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBXZWJLaXQyL1dlYktpdDJQcmVmaXguaAkocmV2aXNpb24gNzQx
NzIpCisrKyBXZWJLaXQyL1dlYktpdDJQcmVmaXguaAkod29ya2luZyBjb3B5KQpAQCAtMSw1ICsx
LDYgQEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJl
c2VydmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5
LCBJbmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1
c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZp
Y2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRp
b25zCkBAIC0yMyw2ICsyNCw5IEBACiAgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CiAgKi8gCiAKKyNpZiBkZWZpbmVkIChCVUlMRElOR19HVEtfXykKKyNpbmNsdWRlIDxXZWJDb3Jl
L2NvbmZpZy5oPgorI2VuZGlmIC8qIGRlZmluZWQgKEJVSUxESU5HX0dUS19fKSAqLwogI2luY2x1
ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi9EaXNhbGxvd0NUeXBlLmg+CiAjaWZk
ZWYgX19jcGx1c3BsdXMKQEAgLTEwOSw0ICsxMTMsMyBAQCBzdGF0aWMgY29uc3QgdHlwZSYgbmFt
ZSgpIFwKICNlbmRpZgogCiAjZW5kaWYgLyogZGVmaW5lZChXSU4zMikgfHwgZGVmaW5lZChfV0lO
MzIpICovCi0KSW5kZXg6IFdlYktpdDIvU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRl
cnMucGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gV2ViS2l0Mi9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbAkocmV2aXNpb24gNzQxNzIpCisrKyBXZWJLaXQyL1NjcmlwdHMvZ2VuZXJhdGUt
Zm9yd2FyZGluZy1oZWFkZXJzLnBsCSh3b3JraW5nIGNvcHkpCkBAIC00Nyw4ICs0NywxOCBAQCBt
eSAkb3V0cHV0RGlyZWN0b3J5ID0gJEFSR1ZbMF07CiBzaGlmdDsKIG15ICRwbGF0Zm9ybSAgPSAk
QVJHVlswXTsKIAorbXkgJG5ldHdvcms7CitpZiAoJHBsYXRmb3JtID1+ICJndGsiKSB7CisgICAg
c2hpZnQ7CisgICAgJG5ldHdvcmsgPSAkQVJHVlswXTsKK30KKwogZm9yZWFjaCBteSAkcHJlZml4
IChAcGxhdGZvcm1QcmVmaXhlcykgewotICAgIHB1c2goQHNraXBwZWRQcmVmaXhlcywgJHByZWZp
eCkgdW5sZXNzICgkcHJlZml4ID1+ICRwbGF0Zm9ybSk7CisgICAgaWYgKCRwbGF0Zm9ybSA9fiAi
Z3RrIikgeworICAgICAgICBwdXNoKEBza2lwcGVkUHJlZml4ZXMsICRwcmVmaXgpIHVubGVzcyAo
JHByZWZpeCA9fiAkcGxhdGZvcm0gb3IgJHByZWZpeCA9fiAkbmV0d29yayk7CisgICAgfSBlbHNl
IHsKKyAgICAgICAgcHVzaChAc2tpcHBlZFByZWZpeGVzLCAkcHJlZml4KSB1bmxlc3MgKCRwcmVm
aXggPX4gJHBsYXRmb3JtKTsKKyAgICB9CiB9CiAKIGZvcmVhY2ggKEBmcmFtZXdvcmtzKSB7Cklu
ZGV4OiBXZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFdlYktpdDIvZ3Rr
L3dlYmtpdDIucGMuaW4JKHJldmlzaW9uIDApCisrKyBXZWJLaXQyL2d0ay93ZWJraXQyLnBjLmlu
CShyZXZpc2lvbiAwKQpAQCAtMCwwICsxLDExIEBACitwcmVmaXg9QHByZWZpeEAKK2V4ZWNfcHJl
Zml4PUBleGVjX3ByZWZpeEAKK2xpYmRpcj1AbGliZGlyQAoraW5jbHVkZWRpcj1AaW5jbHVkZWRp
ckAKKworTmFtZTogV2ViS2l0MgorRGVzY3JpcHRpb246IFdlYiBjb250ZW50IGVuZ2luZSBmb3Ig
R1RLKworVmVyc2lvbjogQFZFUlNJT05ACitSZXF1aXJlczogZ2xpYi0yLjAgZ3RrKy1AR1RLX0FQ
SV9WRVJTSU9OQCBsaWJzb3VwLTIuNAorTGliczogLUwke2xpYmRpcn0gLWx3ZWJraXQyZ3RrLUBX
RUJLSVRHVEtfQVBJX1ZFUlNJT05ACitDZmxhZ3M6IC1JJHtpbmNsdWRlZGlyfS93ZWJraXQyLUBX
RUJLSVRHVEtfQVBJX1ZFUlNJT05AIApJbmRleDogV2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbQo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtCShyZXZpc2lvbiA3NDE3MikK
KysrIFdlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0JKHdvcmtpbmcgY29weSkKQEAgLTE1NCw2ICsx
NTQsMjEgQEAgd2Via2l0Z3RrX2J1aWx0X3NvdXJjZXMgKz0gXAogQlVJTFRfU09VUkNFUyArPSAk
KHdlYmtpdGd0a19idWlsdF9zb3VyY2VzKQogCiB3ZWJraXRndGtfc291cmNlcyArPSBcCisJV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKKwlXZWJDb3Jl
L2JpbmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5oIFwKKwlXZWJDb3JlL2JpbmRp
bmdzL2dvYmplY3QvRE9NT2JqZWN0Q2FjaGUuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmpl
Y3QvRE9NT2JqZWN0Q2FjaGUuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RF
dmVudExpc3RlbmVyLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVu
dExpc3RlbmVyLmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5n
LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCBcCisJ
V2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcCBcCisJV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmggXAorCVdlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaCBcCisJV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHAgXAorCVdlYkNvcmUvYmluZGlu
Z3MvZ29iamVjdC9XZWJLaXRET01PYmplY3QuaCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0
L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oIFwKIAlXZWJLaXQvZ3Rr
L1dlYkNvcmVTdXBwb3J0L0Nocm9tZUNsaWVudEd0ay5jcHAgXAogCVdlYktpdC9ndGsvV2ViQ29y
ZVN1cHBvcnQvQ2hyb21lQ2xpZW50R3RrLmggXAogCVdlYktpdC9ndGsvV2ViQ29yZVN1cHBvcnQv
Q29udGV4dE1lbnVDbGllbnRHdGsuY3BwIFwKSW5kZXg6IFdlYktpdFRvb2xzL0NoYW5nZUxvZwo9
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09Ci0tLSBXZWJLaXRUb29scy9DaGFuZ2VMb2cJKHJldmlzaW9uIDc0MTcyKQorKysg
V2ViS2l0VG9vbHMvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsMTIgQEAKKzIw
MTAtMTItMTUgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29tPiBhbmQgUmF2aSBL
YXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKworICAgICAgICBSZXZp
ZXdlZCBieSBNYXJ0aW4gUm9iaW5zb24uCisKKyAgICAgICAgQ2hhbmdlIGdlbmVyYXRlLWZvcndh
cmRpbmctaGVhZGVycy5wbCBmb3IgR1RLIHBvcnQgdXNhZ2UgCisgICAgICAgIChodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MzczNjkpCisKKyAgICAgICAgKiBTY3JpcHRz
L3dlYmtpdGRpcnMucG06IEFkZGVkIGNoYW5nZXMgdG8gYnVpbGQgd2Via2l0MiBmb3IgR1RLIHBv
cnQgdXNpbmcgYnVpbGQtd2Via2l0IHNjcmlwdC4KKwogMjAxMC0xMi0xNSAgU2hlcmlmZiBCb3Qg
IDx3ZWJraXQucmV2aWV3LmJvdEBnbWFpbC5jb20+CiAKICAgICAgICAgVW5yZXZpZXdlZCwgcm9s
bGluZyBvdXQgcjc0MTM2LgpAQCAtMTg0LDE1ICsxOTMsNiBAQAogCiAgICAgICAgICogU2NyaXB0
cy93ZWJraXRkaXJzLnBtOgogCi0yMDEwLTEyLTE1ICBBbXJ1dGggUmFqICA8YW1ydXRocmFqQG1v
dG9yb2xhLmNvbT4gYW5kIFJhdmkgS2FzaWJoYXRsYSAgPHJhdmkua2FzaWJoYXRsYUBtb3Rvcm9s
YS5jb20+Ci0KLSAgICAgICAgUmV2aWV3ZWQgYnkgTWFydGluIFJvYmluc29uLgotCi0gICAgICAg
IENoYW5nZSBnZW5lcmF0ZS1mb3J3YXJkaW5nLWhlYWRlcnMucGwgZm9yIEdUSyBwb3J0IHVzYWdl
IAotICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTM3MzY5
KQotCi0gICAgICAgICogU2NyaXB0cy93ZWJraXRkaXJzLnBtOiBBZGRlZCBjaGFuZ2VzIHRvIGJ1
aWxkIHdlYmtpdDIgZm9yIEdUSyBwb3J0IHVzaW5nIGJ1aWxkLXdlYmtpdCBzY3JpcHQuCi0KIDIw
MTAtMTItMTQgIEtlbnQgVGFtdXJhICA8dGtlbnRAY2hyb21pdW0ub3JnPgogCiAgICAgICAgIFJl
dmlld2VkIGJ5IEppYW4gTGkuCkluZGV4OiBXZWJLaXRUb29scy9TY3JpcHRzL3dlYmtpdGRpcnMu
cG0KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gV2ViS2l0VG9vbHMvU2NyaXB0cy93ZWJraXRkaXJzLnBtCShyZXZp
c2lvbiA3NDE3MikKKysrIFdlYktpdFRvb2xzL1NjcmlwdHMvd2Via2l0ZGlycy5wbQkod29ya2lu
ZyBjb3B5KQpAQCAtMTM1Miw2ICsxMzUyLDggQEAgc3ViIGJ1aWxkQXV0b3Rvb2xzUHJvamVjdCgk
QCkKICAgICAgICAgICAgICRtYWtlQXJncyA9ICRtYWtlQXJncyAuICIgIiAuICQxOwogICAgICAg
ICB9IGVsc2lmICgkb3B0ID1+IC9eLS1wcmVmaXg9KC4qKS9pICkgewogICAgICAgICAgICAgJHBy
ZWZpeCA9ICQxOworICAgICAgICB9IGVsc2lmICgkb3B0ID1+IC9eLS13ZWJraXQyL2kgKSB7Cisg
ICAgICAgICAgICBwdXNoIEBidWlsZEFyZ3MsICItLWVuYWJsZS13ZWJraXQyIjsKICAgICAgICAg
fSBlbHNlIHsKICAgICAgICAgICAgIHB1c2ggQGJ1aWxkQXJncywgJG9wdDsKICAgICAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>77527</attachid>
            <date>2010-12-27 16:39:18 -0800</date>
            <delta_ts>2010-12-29 15:47:56 -0800</delta_ts>
            <desc>Patch with suggested changes</desc>
            <filename>bug-37369-20101227163915.patch</filename>
            <type>text/plain</type>
            <size>41271</size>
            <attacher name="Martin Robinson">mrobinson</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0dOVW1ha2VmaWxlLmFtIGIvR05VbWFrZWZpbGUuYW0KaW5kZXggMmRiNTg0
OGZjMmQ2NmIwODg3NzEzYjA4YzA5ZjE4ODc4NmNmOGM3NC4uYzQzMTY2OTRjZjgwM2RiNmM0YjRj
N2M3MTYzYjQ3ODFmMzgxMTIxYiAxMDA2NDQKLS0tIGEvR05VbWFrZWZpbGUuYW0KKysrIGIvR05V
bWFrZWZpbGUuYW0KQEAgLTM0LDEwICszNCwxMiBAQCBHRU5TT1VSQ0VTIDo9ICQodG9wX2J1aWxk
ZGlyKS9EZXJpdmVkU291cmNlcwogR0VOU09VUkNFU19KQVZBU0NSSVBUQ09SRSA6PSAkKHRvcF9i
dWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvSmF2YVNjcmlwdENvcmUKIEdFTlNPVVJDRVNfV0VCQ09S
RSA6PSAkKHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZQogR0VOU09VUkNFU19X
RUJLSVQgOj0gJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL3dlYmtpdAorR0VOU09VUkNF
U19XRUJLSVQyIDo9ICQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyCiBHRU5Q
Uk9HUkFNUyA6PSAkKHRvcF9idWlsZGRpcikvUHJvZ3JhbXMKIEdFTlNPVVJDRVNfSU5TUEVDVE9S
IDo9ICQoR0VOUFJPR1JBTVMpL3Jlc291cmNlcy9pbnNwZWN0b3IKIFdlYkNvcmUgOj0gJChzcmNk
aXIpL1dlYkNvcmUKIFdlYktpdCA6PSAkKHNyY2RpcikvV2ViS2l0L2d0aworV2ViS2l0MiA6PSAk
KHNyY2RpcikvV2ViS2l0MgogCiAjIExpYnJhcmllcyBhbmQgc3VwcG9ydCBjb21wb25lbnRzCiBi
aW5fUFJPR1JBTVMgOj0KQEAgLTY5LDYgKzcxLDcgQEAgd2Via2l0Z3RrX2NwcGZsYWdzIDo9CiB3
ZWJraXRndGtfZ2RvbV9idWlsdF9zb3VyY2VzIDo9CiB3ZWJraXRndGtfYnVpbHRfc291cmNlcyA6
PQogd2Via2l0Z3RrX2J1aWx0X25vc291cmNlcyA6PQord2Via2l0Ml9idWlsdF9zb3VyY2VzIDo9
CiBnbG9iYWxfY3BwZmxhZ3MgOj0KIGdsb2JhbF9jZmxhZ3MgOj0KIGdsb2JhbF9jeHhmbGFncyA6
PQpAQCAtMjAzLDEwICsyMDYsMTQgQEAgRVhUUkFfRElTVCArPSBcCiAjIEluY2x1ZGUgbW9kdWxl
IG1ha2VmaWxlcwogaW5jbHVkZSBKYXZhU2NyaXB0Q29yZS9HTlVtYWtlZmlsZS5hbQogaW5jbHVk
ZSBXZWJDb3JlL0dOVW1ha2VmaWxlLmFtCitpZiBFTkFCTEVfV0VCS0lUMgoraW5jbHVkZSBXZWJL
aXQyL0dOVW1ha2VmaWxlLmFtCitlbHNlCiBpbmNsdWRlIFdlYktpdC9ndGsvR05VbWFrZWZpbGUu
YW0KIGluY2x1ZGUgV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dOVW1ha2VmaWxlLmFtCiBpbmNs
dWRlIFRvb2xzL0dOVW1ha2VmaWxlLmFtCiBpbmNsdWRlIFdlYktpdC9ndGsvcG8vR05VbWFrZWZp
bGUuYW0KK2VuZGlmCiAKICMgQXV0b2dlbmVyYXRlZCBzb3VyY2VzCiBCVUlMVF9TT1VSQ0VTICs9
IFwKZGlmZiAtLWdpdCBhL1dlYkNvcmUvQ2hhbmdlTG9nIGIvV2ViQ29yZS9DaGFuZ2VMb2cKaW5k
ZXggYTA1ZGRkMDVlODQ3NjJhNTRjMjJhZjk0NGVjOWIwMmQzZTAyMWYwYS4uNGU1ZWZhZjAxNzc4
MWNhMmFmYTU4Mzg0NjZkNmUwYThiM2VjMGYzMSAxMDA2NDQKLS0tIGEvV2ViQ29yZS9DaGFuZ2VM
b2cKKysrIGIvV2ViQ29yZS9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNSBAQAorMjAxMC0xMi0yNyAg
QW1ydXRoIFJhaiAgPGFtcnV0aHJhakBtb3Rvcm9sYS5jb20+IGFuZCBSYXZpIEthc2liaGF0bGEg
IDxyYXZpLmthc2liaGF0bGFAbW90b3JvbGEuY29tPgorCisgICAgICAgIFJldmlld2VkIGJ5IE1h
cnRpbiBSb2JpbnNvbi4KKworICAgICAgICBDaGFuZ2VzIHRvIGVuYWJsZSBidWlsZGluZyBXZWJL
aXQyIGZvciBHdGsgcG9ydAorICAgICAgICAoaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19i
dWcuY2dpP2lkPTM3MzY5KQorCisgICAgICAgIE5vIG5ldyBmdW5jdGlvbmFsaXR5IGFkZGVkIG9y
IGRlbGV0ZWQuIE9ubHkgbWFrZWZpbGUgY2hhbmdlLiBIZW5jZSwgbm8gdGVzdHMgYWRkZWQuCisK
KyAgICAgICAgKiBHTlVtYWtlZmlsZS5hbTogUmVtb3ZlZCBiaW5kaW5ncy9nb2JqZWN0IGZyb20g
d2ViY29yZV9zb3VyY2VzICYgd2ViY29yZV9jcHBmbGFncyBhbmQgYWRkZWQgdGhlbSB0byBXZWJL
aXQvZ3RrL0dOVW1ha2VmaWxlLmFtCisgICAgICAgICogcGxhdGZvcm0vbmV0d29yay9zb3VwL2Nh
Y2hlL3dlYmtpdC9zb3VwLWNhY2hlLmg6IFJlbW92ZSBpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVm
aW5lcy5oPiBhbmQgZGVjbGFyZSBXRUJLSVRfQVBJIGRpcmVjdGx5CisKIDIwMTAtMTItMjcgIE1h
cnRpbiBSb2JpbnNvbiAgPG1yb2JpbnNvbkBpZ2FsaWEuY29tPgogCiAgICAgICAgIFJldmlld2Vk
IGJ5IERhbmllbCBCYXRlcy4KZGlmZiAtLWdpdCBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0gYi9X
ZWJDb3JlL0dOVW1ha2VmaWxlLmFtCmluZGV4IGYxMDhmODYxOWRiMGU0MzM4YzFiZjNjMWYwYTdi
ZjI3NmRkYTQwMGYuLjM4MDhjYTE0MDg4YWVkZDBlZGY0ODVkMDI3NWE0NjQ3OWNiNTZjMzQgMTAw
NjQ0Ci0tLSBhL1dlYkNvcmUvR05VbWFrZWZpbGUuYW0KKysrIGIvV2ViQ29yZS9HTlVtYWtlZmls
ZS5hbQpAQCAtNywxMCArNywxMCBAQCBXRUJDT1JFX0NTU19WQUxVRV9LRVlXT1JEUyA6PSAkKFdl
YkNvcmUpL2Nzcy9DU1NWYWx1ZUtleXdvcmRzLmluCiB3ZWJjb3JlX2NwcGZsYWdzICs9IFwKIAkt
SSQoc3JjZGlyKS9XZWJDb3JlIFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2FjY2Vzc2liaWxpdHkg
XAorCS1JJChzcmNkaXIpL1dlYkNvcmUvYmluZGluZ3MgXAogCS1JJChzcmNkaXIpL1dlYkNvcmUv
YmluZGluZ3MvZ2VuZXJpYyBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9qcyBcCiAJ
LUkkKHNyY2RpcikvV2ViQ29yZS9iaW5kaW5ncy9qcy9zcGVjaWFsaXphdGlvbiBcCi0JLUkkKHNy
Y2RpcikvV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0IFwKIAktSSQoc3JjZGlyKS9XZWJDb3JlL2Jy
aWRnZSBcCiAJLUkkKHNyY2RpcikvV2ViQ29yZS9icmlkZ2UvYyBcCiAJLUkkKHNyY2RpcikvV2Vi
Q29yZS9icmlkZ2Uvam5pL2pzYyBcCkBAIC02ODYsMjEgKzY4Niw2IEBAIHdlYmNvcmVfc291cmNl
cyArPSBcCiAJV2ViQ29yZS9iaW5kaW5ncy9nZW5lcmljL0dlbmVyaWNCaW5kaW5nLmggXAogCVdl
YkNvcmUvYmluZGluZ3MvZ2VuZXJpYy9SdW50aW1lRW5hYmxlZEZlYXR1cmVzLmNwcCBcCiAJV2Vi
Q29yZS9iaW5kaW5ncy9nZW5lcmljL1J1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCBcCi0JV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuY3BwIFwKLQlXZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvQ29udmVydFRvVVRGOFN0cmluZy5oIFwKLQlXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvRE9NT2JqZWN0Q2FjaGUuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3Qv
RE9NT2JqZWN0Q2FjaGUuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVu
dExpc3RlbmVyLmNwcCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L0dPYmplY3RFdmVudExp
c3RlbmVyLmggXAotCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmNw
cCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUJpbmRpbmcuaCBcCi0JV2Vi
Q29yZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmNwcCBcCi0JV2ViQ29y
ZS9iaW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTUV2ZW50VGFyZ2V0LmggXAotCVdlYkNvcmUvYmlu
ZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldFByaXZhdGUuaCBcCi0JV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L1dlYktpdERPTU9iamVjdC5jcHAgXAotCVdlYkNvcmUvYmluZGluZ3Mv
Z29iamVjdC9XZWJLaXRET01PYmplY3QuaCBcCi0JV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0L1dl
YktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuY3BwIFwKLQlXZWJDb3JlL2JpbmRpbmdzL2dv
YmplY3QvV2ViS2l0SFRNTEVsZW1lbnRXcmFwcGVyRmFjdG9yeS5oIFwKIAlXZWJDb3JlL2JpbmRp
bmdzL2pzL0NhY2hlZFNjcmlwdFNvdXJjZVByb3ZpZGVyLmggXAogCVdlYkNvcmUvYmluZGluZ3Mv
anMvRE9NT2JqZWN0SGFzaFRhYmxlTWFwLmNwcCBcCiAJV2ViQ29yZS9iaW5kaW5ncy9qcy9ET01P
YmplY3RIYXNoVGFibGVNYXAuaCBcCmRpZmYgLS1naXQgYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdv
cmsvc291cC9jYWNoZS93ZWJraXQvc291cC1jYWNoZS5oIGIvV2ViQ29yZS9wbGF0Zm9ybS9uZXR3
b3JrL3NvdXAvY2FjaGUvd2Via2l0L3NvdXAtY2FjaGUuaAppbmRleCA4ODUxMmY2OGIzMGVjODNi
YTBiYTQ4MjVjZjNkZmQwNTZhYmZjYzY0Li5hOTI2Zjk4ZDg0ZmUwNjY4OTllZjc1MGVmMTY4N2Nj
NDkzNDlmMWQ3IDEwMDY0NAotLS0gYS9XZWJDb3JlL3BsYXRmb3JtL25ldHdvcmsvc291cC9jYWNo
ZS93ZWJraXQvc291cC1jYWNoZS5oCisrKyBiL1dlYkNvcmUvcGxhdGZvcm0vbmV0d29yay9zb3Vw
L2NhY2hlL3dlYmtpdC9zb3VwLWNhY2hlLmgKQEAgLTIzLDEyICsyMywxNiBAQAogI2lmbmRlZiBX
RUJLSVRfU09VUF9DQUNIRV9ICiAjZGVmaW5lIFdFQktJVF9TT1VQX0NBQ0hFX0ggMQogCi0jaWZk
ZWYgQlVJTERJTkdfR1RLX18KLSNpbmNsdWRlIDx3ZWJraXQvd2Via2l0ZGVmaW5lcy5oPgorI2lm
ZGVmIEdfT1NfV0lOMzIKKyAgICAjaWZkZWYgQlVJTERJTkdfV0VCS0lUCisgICAgICAgICNkZWZp
bmUgV0VCS0lUX0FQSSBfX2RlY2xzcGVjKGRsbGV4cG9ydCkKKyAgICAjZWxzZQorICAgICAgICAj
ZGVmaW5lIFdFQktJVF9BUEkgX19kZWNsc3BlYyhkbGxpbXBvcnQpCisgICAgI2VuZGlmCisgICAg
I2RlZmluZSBXRUJLSVRfT0JTT0xFVEVfQVBJIFdFQktJVF9BUEkKICNlbHNlCi0jaWZuZGVmIFdF
QktJVF9BUEkKLSNkZWZpbmUgV0VCS0lUX0FQSQotI2VuZGlmCisgICAgI2RlZmluZSBXRUJLSVRf
QVBJIF9fYXR0cmlidXRlX18oKHZpc2liaWxpdHkoImRlZmF1bHQiKSkpCisgICAgI2RlZmluZSBX
RUJLSVRfT0JTT0xFVEVfQVBJIFdFQktJVF9BUEkgX19hdHRyaWJ1dGVfXygoZGVwcmVjYXRlZCkp
CiAjZW5kaWYKIAogI2luY2x1ZGUgPGxpYnNvdXAvc291cC10eXBlcy5oPgpkaWZmIC0tZ2l0IGEv
V2ViS2l0L2d0ay9HTlVtYWtlZmlsZS5hbSBiL1dlYktpdC9ndGsvR05VbWFrZWZpbGUuYW0KaW5k
ZXggMjU2MTIyY2YwOTI2MzdmMTAxNTBlNGJhYzNkODk0NGQ5YjlhZmFjZS4uZDU4NDJmYzA4YTRl
MTM4NDgyODIyZTI5MGIzMTQ4NDAwMjZlZDlmZiAxMDA2NDQKLS0tIGEvV2ViS2l0L2d0ay9HTlVt
YWtlZmlsZS5hbQorKysgYi9XZWJLaXQvZ3RrL0dOVW1ha2VmaWxlLmFtCkBAIC0xNTQsNiArMTU0
LDIxIEBAIHdlYmtpdGd0a19idWlsdF9zb3VyY2VzICs9IFwKIEJVSUxUX1NPVVJDRVMgKz0gJCh3
ZWJraXRndGtfYnVpbHRfc291cmNlcykKIAogd2Via2l0Z3RrX3NvdXJjZXMgKz0gXAorCVdlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9Db252ZXJ0VG9VVEY4U3RyaW5nLmNwcCBcCisJV2ViQ29yZS9i
aW5kaW5ncy9nb2JqZWN0L0NvbnZlcnRUb1VURjhTdHJpbmcuaCBcCisJV2ViQ29yZS9iaW5kaW5n
cy9nb2JqZWN0L0RPTU9iamVjdENhY2hlLmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9nb2JqZWN0
L0RPTU9iamVjdENhY2hlLmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZl
bnRMaXN0ZW5lci5jcHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9HT2JqZWN0RXZlbnRM
aXN0ZW5lci5oIFwKKwlXZWJDb3JlL2JpbmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NQmluZGluZy5j
cHAgXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01CaW5kaW5nLmggXAorCVdl
YkNvcmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5jcHAgXAorCVdlYkNv
cmUvYmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01FdmVudFRhcmdldC5oIFwKKwlXZWJDb3JlL2Jp
bmRpbmdzL2dvYmplY3QvV2ViS2l0RE9NRXZlbnRUYXJnZXRQcml2YXRlLmggXAorCVdlYkNvcmUv
YmluZGluZ3MvZ29iamVjdC9XZWJLaXRET01PYmplY3QuY3BwIFwKKwlXZWJDb3JlL2JpbmRpbmdz
L2dvYmplY3QvV2ViS2l0RE9NT2JqZWN0LmggXAorCVdlYkNvcmUvYmluZGluZ3MvZ29iamVjdC9X
ZWJLaXRIVE1MRWxlbWVudFdyYXBwZXJGYWN0b3J5LmNwcCBcCisJV2ViQ29yZS9iaW5kaW5ncy9n
b2JqZWN0L1dlYktpdEhUTUxFbGVtZW50V3JhcHBlckZhY3RvcnkuaCBcCiAJV2ViS2l0L2d0ay9X
ZWJDb3JlU3VwcG9ydC9DaHJvbWVDbGllbnRHdGsuY3BwIFwKIAlXZWJLaXQvZ3RrL1dlYkNvcmVT
dXBwb3J0L0Nocm9tZUNsaWVudEd0ay5oIFwKIAlXZWJLaXQvZ3RrL1dlYkNvcmVTdXBwb3J0L0Nv
bnRleHRNZW51Q2xpZW50R3RrLmNwcCBcCmRpZmYgLS1naXQgYS9XZWJLaXQyL0NoYW5nZUxvZyBi
L1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IDExNjhhNmJmYTJjNTg3ODc0YWNjYjAxYjEyMDE2ZDZl
ZmYxYTJiODIuLmVhYjU1YzUwNDBlMjdmNmQ3ODk1ZjczMzZlOTlhMmE2ZGQ5NzQzMTcgMTAwNjQ0
Ci0tLSBhL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMg
KzEsMTYgQEAKKzIwMTAtMTItMTUgIEFtcnV0aCBSYWogIDxhbXJ1dGhyYWpAbW90b3JvbGEuY29t
PiBhbmQgUmF2aSBLYXNpYmhhdGxhICA8cmF2aS5rYXNpYmhhdGxhQG1vdG9yb2xhLmNvbT4KKwor
ICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKworICAgICAgICBDaGFuZ2VzIHRv
IGVuYWJsZSBidWlsZGluZyBXZWJLaXQyIGZvciBHdGsgcG9ydC4KKyAgICAgICAgKGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0zNzM2OSkKKworICAgICAgICAqIEdOVW1h
a2VmaWxlLmFtOiBBZGRlZC4gCisgICAgICAgICogU2NyaXB0cy9nZW5lcmF0ZS1mb3J3YXJkaW5n
LWhlYWRlcnMucGw6IEZvciBHVEsgcG9ydCwgdGFraW5nIDEgZXh0cmEgYXJndW1lbnQgZm9yIGNv
cHlpbmcgbmV0d29yayBoZWFkZXJzLgorICAgICAgICAqIFdlYktpdDJQcmVmaXguaDogSW5jbHVk
ZWQgV2ViQ29yZS9jb25maWcuaCBmb3IgR1RLIHBvcnQgYXMgdGhlIGZpcnN0IGhlYWRlciBmaWxl
IGZvciBXZWJLaXQyIHNvdXJjZXMgZmlsZXMuCisgICAgICAgICogZ3RrOiBBZGRlZC4KKyAgICAg
ICAgKiBndGsvd2Via2l0Mi5wYy5pbjogQWRkZWQuCisKIDIwMTAtMTItMjcgIFNhbSBXZWluaWcg
IDxzYW1Ad2Via2l0Lm9yZz4KIAogICAgICAgICBSZXZpZXdlZCBieSBBbmRlcnMgQ2FybHNzb24u
CmRpZmYgLS1naXQgYS9XZWJLaXQyL0dOVW1ha2VmaWxlLmFtIGIvV2ViS2l0Mi9HTlVtYWtlZmls
ZS5hbQpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwLi4xMWY3NTIxNTk5Zjk3YTg1MTc2OTZkYmMwMTE2NzE1ODIzY2ZiMTc5
Ci0tLSAvZGV2L251bGwKKysrIGIvV2ViS2l0Mi9HTlVtYWtlZmlsZS5hbQpAQCAtMCwwICsxLDY4
MiBAQAorIyBXZWJLaXQyIENvbnZlbmllbmNlIGxpYnJhcmllcworbm9pbnN0X0xUTElCUkFSSUVT
ICs9IFwKKwlsaWJXZWJLaXQyLmxhCisKK2xpYldlYktpdDJfbGFkaXIgPSAkKHByZWZpeCkvaW5j
bHVkZS93ZWJraXQyLUBXRUJLSVRHVEtfQVBJX1ZFUlNJT05AL1dlYktpdDIKK2xpYldlYktpdDJf
bGFfSEVBREVSUyA9IFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0FycmF5LmggXAorCSQo
V2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLQmFzZS5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkv
Yy9XS0NlcnRpZmljYXRlSW5mby5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0RhdGEu
aCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5LmggXAorCSQoV2ViS2l0
MikvU2hhcmVkL0FQSS9jL1dLRXJyb3IuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tF
dmVudC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS0dlb21ldHJ5LmggXAorCSQoV2Vi
S2l0MikvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5LmggXAorCSQoV2ViS2l0MikvU2hhcmVk
L0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2Mv
V0tOdW1iZXIuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0
VmFsdWUuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFs
dWVQcml2YXRlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLU2hhcmVkQVBJQ2FzdC5o
IFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkvYy9XS1N0cmluZy5oIFwKKwkkKFdlYktpdDIpL1No
YXJlZC9BUEkvYy9XS1N0cmluZ1ByaXZhdGUuaCBcCisJJChXZWJLaXQyKS9TaGFyZWQvQVBJL2Mv
V0tUeXBlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVVJMLmggXAorCSQoV2ViS2l0
MikvU2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5oIFwKKwkkKFdlYktpdDIpL1NoYXJlZC9BUEkv
Yy9XS1VSTFJlc3BvbnNlLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL1dLVXNlckNvbnRl
bnRVUkxQYXR0ZXJuLmggXAorCSQoV2ViS2l0MikvU2hhcmVkL0FQSS9jL2d0ay9XS0Jhc2VHdGsu
aCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL2NwcC9XS1JldGFpblB0ci5oIFwKKwkkKFdl
YktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XZWJLaXQyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNz
L0FQSS9DL1dLQVBJQ2FzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tG
b3J3YXJkTGlzdC5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS0JhY2tGb3J3YXJk
TGlzdEl0ZW0uaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tDb250ZXh0LmggXAor
CSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dFByaXZhdGUuaCBcCisJJChXZWJL
aXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tGb3JtU3VibWlzc2lvbkxpc3RlbmVyLmggXAorCSQoV2Vi
S2l0MikvVUlQcm9jZXNzL0FQSS9DL1dLRnJhbWUuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3Mv
QVBJL0MvV0tGcmFtZVBvbGljeUxpc3RlbmVyLmggXAorCSQoV2ViS2l0MikvVUlQcm9jZXNzL0FQ
SS9DL1dLTmF0aXZlRXZlbnQuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tOYXZp
Z2F0aW9uRGF0YS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBcCisJ
JChXZWJLaXQyKS9VSVByb2Nlc3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmggXAorCSQoV2ViS2l0
MikvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZhdGUuaCBcCisJJChXZWJLaXQyKS9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9X
S1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9ndGsv
V0tBUElDYXN0aUd0ay5oIFwKKwkkKFdlYktpdDIpL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3
LmgKKworbm9kaXN0X2xpYldlYktpdDJfbGFfU09VUkNFUyA9IFwKKwkkKHdlYmtpdDJfYnVpbHRf
c291cmNlcykKKworbGliV2ViS2l0Ml9sYV9TT1VSQ0VTID0gXAorCVdlYktpdDIvUGxhdGZvcm0v
Q29yZUlQQy9Bcmd1bWVudENvZGVyLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9Bcmd1
bWVudENvZGVycy5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnREZWNvZGVy
LmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RGVjb2Rlci5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQXJndW1lbnRFbmNvZGVyLmNwcCBcCisJV2ViS2l0Mi9Q
bGF0Zm9ybS9Db3JlSVBDL0FyZ3VtZW50RW5jb2Rlci5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0Nv
cmVJUEMvQXJndW1lbnRzLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9BdHRhY2htZW50
LmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDL0F0dGFjaG1lbnQuaCBcCisJV2ViS2l0
Mi9QbGF0Zm9ybS9Db3JlSVBDL0JpbmFyeVNlbWFwaG9yZS5jcHAgXAorCVdlYktpdDIvUGxhdGZv
cm0vQ29yZUlQQy9CaW5hcnlTZW1hcGhvcmUuaCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBD
L0Nvbm5lY3Rpb24uY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29ubmVjdGlvbi5o
IFwKKwlXZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvQ29yZUlQQ01lc3NhZ2VLaW5kcy5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvRGF0YVJlZmVyZW5jZS5jcHAgXAorCVdlYktpdDIvUGxh
dGZvcm0vQ29yZUlQQy9EYXRhUmVmZXJlbmNlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQ
Qy9ndGsvQ29ubmVjdGlvbkd0ay5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9IYW5k
bGVNZXNzYWdlLmggXAorCVdlYktpdDIvUGxhdGZvcm0vQ29yZUlQQy9NZXNzYWdlSUQuaCBcCisJ
V2ViS2l0Mi9QbGF0Zm9ybS9ndGsvTW9kdWxlR3RrLmNwcCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9n
dGsvUnVuTG9vcEd0ay5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vZ3RrL1NoYXJlZE1lbW9yeUd0
ay5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vZ3RrL1dvcmtRdWV1ZUd0ay5jcHAgXAorCVdlYktp
dDIvUGxhdGZvcm0vTG9nZ2luZy5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTG9nZ2luZy5oIFwK
KwlXZWJLaXQyL1BsYXRmb3JtL01vZHVsZS5jcHAgXAorCVdlYktpdDIvUGxhdGZvcm0vTW9kdWxl
LmggXAorCVdlYktpdDIvUGxhdGZvcm0vUGxhdGZvcm1Qcm9jZXNzSWRlbnRpZmllci5oIFwKKwlX
ZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3AuY3BwIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1J1bkxvb3Au
aCBcCisJV2ViS2l0Mi9QbGF0Zm9ybS9TaGFyZWRNZW1vcnkuaCBcCisJV2ViS2l0Mi9QbGF0Zm9y
bS9Xb3JrSXRlbS5oIFwKKwlXZWJLaXQyL1BsYXRmb3JtL1dvcmtRdWV1ZS5jcHAgXAorCVdlYktp
dDIvUGxhdGZvcm0vV29ya1F1ZXVlLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5D
b250cm9sbGVyUHJveHkuY3BwIFwKKwlXZWJLaXQyL1BsdWdpblByb2Nlc3MvUGx1Z2luQ29udHJv
bGxlclByb3h5LmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9QbHVnaW5Qcm9jZXNzLmNwcCBc
CisJV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzL1BsdWdpblByb2Nlc3MuaCBcCisJV2ViS2l0Mi9QbHVn
aW5Qcm9jZXNzL1BsdWdpblByb2Nlc3NNYWluLmggXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9X
ZWJQcm9jZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvUGx1Z2luUHJvY2Vzcy9XZWJQcm9j
ZXNzQ29ubmVjdGlvbi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9ndGsvV0tCYXNlR3RrLmgg
XAorCVdlYktpdDIvU2hhcmVkL0FQSUNsaWVudC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S0FycmF5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tBcnJheS5oIFwKKwlXZWJLaXQy
L1NoYXJlZC9BUEkvYy9XS0Jhc2UuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tDZXJ0aWZp
Y2F0ZUluZm8uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0NlcnRpZmljYXRlSW5mby5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0RhdGEuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS0RhdGEuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5LmNwcCBc
CisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVk
L0FQSS9jL1dLRXJyb3IuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS0Vycm9yLmggXAor
CVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLRXZlbnQuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tHZW9tZXRyeS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS011dGFibGVBcnJheS5jcHAg
XAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTXV0YWJsZUFycmF5LmggXAorCVdlYktpdDIvU2hh
cmVkL0FQSS9jL1dLTXV0YWJsZURpY3Rpb25hcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS011dGFibGVEaWN0aW9uYXJ5LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLTnVtYmVy
LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tOdW1iZXIuaCBcCisJV2ViS2l0Mi9TaGFy
ZWQvQVBJL2MvV0tTZXJpYWxpemVkU2NyaXB0VmFsdWUuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9B
UEkvYy9XS1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9X
S1NlcmlhbGl6ZWRTY3JpcHRWYWx1ZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJL2Mv
V0tTaGFyZWRBUElDYXN0LmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLU3RyaW5nLmNwcCBc
CisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tTdHJpbmcuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQVBJ
L2MvV0tTdHJpbmdQcml2YXRlLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVHlwZS5jcHAg
XAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVHlwZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkv
Yy9XS1VSTC5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dLVVJMLmggXAorCVdlYktpdDIv
U2hhcmVkL0FQSS9jL1dLVVJMUmVxdWVzdC5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQSS9jL1dL
VVJMUmVxdWVzdC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9BUEkvYy9XS1VSTFJlc3BvbnNlLmNwcCBc
CisJV2ViS2l0Mi9TaGFyZWQvQVBJL2MvV0tVUkxSZXNwb25zZS5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9BUEkvYy9XS1VzZXJDb250ZW50VVJMUGF0dGVybi5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0FQ
SS9jL1dLVXNlckNvbnRlbnRVUkxQYXR0ZXJuLmggXAorCVdlYktpdDIvU2hhcmVkL0FQSU9iamVj
dC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9CYWNraW5nU3RvcmUuY3BwIFwKKwlXZWJLaXQyL1NoYXJl
ZC9CYWNraW5nU3RvcmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvQ2FjaGVNb2RlbC5oIFwKKwlXZWJL
aXQyL1NoYXJlZC9Db21tYW5kTGluZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3VwcG9y
dC9EcmF3aW5nQXJlYU1lc3NhZ2VLaW5kcy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Db3JlSVBDU3Vw
cG9ydC9EcmF3aW5nQXJlYVByb3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hhcmVkL0Nv
cmVJUENTdXBwb3J0L0luamVjdGVkQnVuZGxlTWVzc2FnZUtpbmRzLmggXAorCVdlYktpdDIvU2hh
cmVkL0NvcmVJUENTdXBwb3J0L1dlYkNvbnRleHRNZXNzYWdlS2luZHMuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvQ29yZUlQQ1N1cHBvcnQvV2ViUGFnZVByb3h5TWVzc2FnZUtpbmRzLmggXAorCVdlYktp
dDIvU2hhcmVkL0NvcmVJUENTdXBwb3J0L1dlYlByb2Nlc3NQcm94eU1lc3NhZ2VLaW5kcy5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9EcmF3aW5nQXJlYUJhc2UuaCBcCisJV2ViS2l0Mi9TaGFyZWQvRmlu
ZE9wdGlvbnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvRm9udFNtb290aGluZ0xldmVsLmggXAorCVdl
YktpdDIvU2hhcmVkL2d0ay9CYWNraW5nU3RvcmVHdGsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9n
dGsvTmF0aXZlV2ViS2V5Ym9hcmRFdmVudEd0ay5jcHAgXAorCVdlYktpdDIvU2hhcmVkL2d0ay9Q
bGF0Zm9ybUNlcnRpZmljYXRlSW5mby5oIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRlQ2h1
bmsuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvVXBkYXRlQ2h1bmsuaCBcCisJV2ViS2l0Mi9T
aGFyZWQvZ3RrL1dlYkNvcmVBcmd1bWVudENvZGVyc0d0ay5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L2d0ay9XZWJFdmVudEZhY3RvcnkuY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9ndGsvV2ViRXZlbnRG
YWN0b3J5LmggXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZUFycmF5LmNwcCBcCisJV2ViS2l0
Mi9TaGFyZWQvSW1tdXRhYmxlQXJyYXkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvSW1tdXRhYmxlRGlj
dGlvbmFyeS5jcHAgXAorCVdlYktpdDIvU2hhcmVkL0ltbXV0YWJsZURpY3Rpb25hcnkuaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvTXV0YWJsZUFycmF5LmNwcCBcCisJV2ViS2l0Mi9TaGFyZWQvTXV0YWJs
ZUFycmF5LmggXAorCVdlYktpdDIvU2hhcmVkL011dGFibGVEaWN0aW9uYXJ5LmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvTXV0YWJsZURpY3Rpb25hcnkuaCBcCisJV2ViS2l0Mi9TaGFyZWQvTmF0aXZl
V2ViS2V5Ym9hcmRFdmVudC5oIFwKKwlXZWJLaXQyL1NoYXJlZC9Ob3RJbXBsZW1lbnRlZC5oIFwK
KwlXZWJLaXQyL1NoYXJlZC9TdHJpbmdQYWlyVmVjdG9yLmggXAorCVdlYktpdDIvU2hhcmVkL1Vz
ZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvU2hhcmVkL1Zpc2l0ZWRMaW5rVGFibGUuY3Bw
IFwKKwlXZWJLaXQyL1NoYXJlZC9WaXNpdGVkTGlua1RhYmxlLmggXAorCVdlYktpdDIvU2hhcmVk
L1dlYkNlcnRpZmljYXRlSW5mby5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJDb3JlQXJndW1lbnRD
b2RlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViRGF0YS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9X
ZWJFcnJvci5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYkVycm9yLmggXAorCVdlYktpdDIvU2hh
cmVkL1dlYkV2ZW50Q29udmVyc2lvbi5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYkV2ZW50Q29u
dmVyc2lvbi5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJFdmVudC5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9XZWJOYXZpZ2F0aW9uRGF0YVN0b3JlLmggXAorCVdlYktpdDIvU2hhcmVkL1dlYk51bWJlci5o
IFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQYWdlQ3JlYXRpb25QYXJhbWV0ZXJzLmNwcCBcCisJV2Vi
S2l0Mi9TaGFyZWQvV2ViUGFnZUNyZWF0aW9uUGFyYW1ldGVycy5oIFwKKwlXZWJLaXQyL1NoYXJl
ZC9XZWJQb3B1cEl0ZW0uY3BwIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJQb3B1cEl0ZW0uaCBcCisJ
V2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNTdG9yZS5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzU3RvcmUuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViUHJvY2Vzc0NyZWF0
aW9uUGFyYW1ldGVycy5jcHAgXAorCVdlYktpdDIvU2hhcmVkL1dlYlByb2Nlc3NDcmVhdGlvblBh
cmFtZXRlcnMuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViU2VyaWFsaXplZFNjcmlwdFZhbHVlLmgg
XAorCVdlYktpdDIvU2hhcmVkL1dlYlN0cmluZy5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJVUkwu
aCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVxdWVzdC5jcHAgXAorCVdlYktpdDIvU2hhcmVk
L1dlYlVSTFJlcXVlc3QuaCBcCisJV2ViS2l0Mi9TaGFyZWQvV2ViVVJMUmVzcG9uc2UuY3BwIFwK
KwlXZWJLaXQyL1NoYXJlZC9XZWJVUkxSZXNwb25zZS5oIFwKKwlXZWJLaXQyL1NoYXJlZC9XZWJV
c2VyQ29udGVudFVSTFBhdHRlcm4uaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dL
QVBJQ2FzdEd0ay5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9ndGsvV0tWaWV3LmNwcCBc
CisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrL1dLVmlldy5oIFwKKwlXZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvY3BwL1dLUmV0YWluUHRyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dl
YktpdDIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tBUElDYXN0LmggXAorCVdlYktp
dDIvVUlQcm9jZXNzL0FQSS9DL1dLQmFja0ZvcndhcmRMaXN0LmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0MvV0tCYWNrRm9yd2FyZExpc3QuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0MvV0tCYWNrRm9yd2FyZExpc3RJdGVtLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tCYWNrRm9yd2FyZExpc3RJdGVtLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29u
dGV4dC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLQ29udGV4dC5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0NvbnRleHRQcml2YXRlLmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL0FQSS9DL1dLRm9ybVN1Ym1pc3Npb25MaXN0ZW5lci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS0ZyYW1lLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tGcmFtZS5o
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuY3BwIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS0ZyYW1lUG9saWN5TGlzdGVuZXIuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tOYXRpdmVFdmVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vz
cy9BUEkvQy9XS05hdmlnYXRpb25EYXRhLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tOYXZpZ2F0aW9uRGF0YS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuY3Bw
IFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQy9XS1BhZ2UuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQYWdlTmFtZXNwYWNlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Mv
V0tQYWdlTmFtZXNwYWNlLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUGFnZVByaXZh
dGUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvV0tQcmVmZXJlbmNlcy5jcHAgXAorCVdl
YktpdDIvVUlQcm9jZXNzL0FQSS9DL1dLUHJlZmVyZW5jZXMuaCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0MvV0tQcmVmZXJlbmNlc1ByaXZhdGUuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQy9XS1ByZWZlcmVuY2VzUHJpdmF0ZS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9DaHVua2Vk
VXBkYXRlRHJhd2luZ0FyZWFQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0NodW5rZWRV
cGRhdGVEcmF3aW5nQXJlYVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0RyYXdpbmdBcmVh
UHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9EcmF3aW5nQXJlYVByb3h5LmggXAorCVdl
YktpdDIvVUlQcm9jZXNzL0ZpbmRJbmRpY2F0b3IuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9G
aW5kSW5kaWNhdG9yLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0dlbmVyaWNDYWxsYmFjay5oIFwK
KwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhUHJveHlHdGsu
Y3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9ndGsvV2ViQ29udGV4dEd0ay5jcHAgXAorCVdlYktp
dDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dl
YlZpZXcuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvZ3RrL1dlYlZpZXdJbnRlcm5hbC5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL2d0ay9XZWJWaWV3SW50ZXJuYWwuaCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvTGF1bmNoZXIvZ3RrL1Byb2Nlc3NMYXVuY2hlckd0ay5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL2d0ay9UaHJlYWRMYXVuY2hlckd0ay5jcHAgXAorCVdlYktpdDIvVUlQ
cm9jZXNzL0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L0xhdW5jaGVyL1Byb2Nlc3NMYXVuY2hlci5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hl
ci9UaHJlYWRMYXVuY2hlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyL1RocmVh
ZExhdW5jaGVyLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL0xheWVyQmFja2VkRHJhd2luZ0FyZWFQ
cm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL0xheWVyQmFja2VkRHJhd2luZ0FyZWFQcm94
eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QYWdlQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvZ3RrL1BsdWdpbkluZm9TdG9yZUd0ay5jcHAgXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1BsdWdpbnMvUGx1Z2luSW5mb1N0b3JlLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1
Z2lucy9QbHVnaW5JbmZvU3RvcmUuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVn
aW5Qcm9jZXNzTWFuYWdlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1BsdWdpbnMvUGx1Z2lu
UHJvY2Vzc01hbmFnZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm9j
ZXNzUHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9QbHVnaW5zL1BsdWdpblByb2Nlc3NQ
cm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9Qcm9jZXNzTW9kZWwuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvUmVzcG9uc2l2ZW5lc3NUaW1lci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1Jl
c3BvbnNpdmVuZXNzVGltZXIuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvVmlzaXRlZExpbmtQcm92
aWRlci5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1Zpc2l0ZWRMaW5rUHJvdmlkZXIuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmNwcCBcCisJV2ViS2l0Mi9VSVBy
b2Nlc3MvV2ViQmFja0ZvcndhcmRMaXN0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkJhY2tG
b3J3YXJkTGlzdEl0ZW0uY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJCYWNrRm9yd2FyZExp
c3RJdGVtLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHQuY3BwIFwKKwlXZWJLaXQy
L1VJUHJvY2Vzcy9XZWJDb250ZXh0LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHRJ
bmplY3RlZEJ1bmRsZUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkNvbnRleHRJ
bmplY3RlZEJ1bmRsZUNsaWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJDb250ZXh0VXNl
ck1lc3NhZ2VDb2RlcnMuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRWRpdENvbW1hbmRQcm94
eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkVkaXRDb21tYW5kUHJveHkuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViRmluZENsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YkZpbmRDbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRm9ybUNsaWVudC5jcHAgXAor
CVdlYktpdDIvVUlQcm9jZXNzL1dlYkZvcm1DbGllbnQuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViRm9ybVN1Ym1pc3Npb25MaXN0ZW5lclByb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YkZyYW1lTGlzdGVuZXJQcm94eS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkZyYW1lTGlz
dGVuZXJQcm94eS5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVy
UHJveHkuY3BwIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJGcmFtZVBvbGljeUxpc3RlbmVyUHJv
eHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViRnJhbWVQcm94eS5jcHAgXAorCVdlYktpdDIv
VUlQcm9jZXNzL1dlYkZyYW1lUHJveHkuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViSGlzdG9y
eUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYkhpc3RvcnlDbGllbnQuaCBcCisJ
V2ViS2l0Mi9VSVByb2Nlc3MvV2ViTG9hZGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViTG9hZGVyQ2xpZW50LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYk5hdmlnYXRpb25E
YXRhLmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViTmF2aWdhdGlvbkRhdGEuaCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViUGFnZU5hbWVzcGFjZS5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VOYW1lc3BhY2UuaCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmggXAorCVdlYktpdDIvVUlQcm9j
ZXNzL1dlYlBvbGljeUNsaWVudC5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlBvbGljeUNs
aWVudC5oIFwKKwlXZWJLaXQyL1VJUHJvY2Vzcy9XZWJQb3B1cE1lbnVQcm94eS5oIFwKKwlXZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQcmVmZXJlbmNlcy5jcHAgXAorCVdlYktpdDIvVUlQcm9jZXNzL1dl
YlByZWZlcmVuY2VzLmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlByb2Nlc3NNYW5hZ2VyLmNw
cCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJvY2Vzc01hbmFnZXIuaCBcCisJV2ViS2l0Mi9V
SVByb2Nlc3MvV2ViUHJvY2Vzc1Byb3h5LmNwcCBcCisJV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUHJv
Y2Vzc1Byb3h5LmggXAorCVdlYktpdDIvVUlQcm9jZXNzL1dlYlVJQ2xpZW50LmNwcCBcCisJV2Vi
S2l0Mi9VSVByb2Nlc3MvV2ViVUlDbGllbnQuaCBcCisJV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmNw
cCBcCisJV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9ndGsv
V2ViUHJvY2Vzc01haW5HdGsuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvZ3RrL1dlYlByb2Nl
c3NNYWluR3RrLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9X
S0J1bmRsZUFQSUNhc3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQ
SS9jL1dLQnVuZGxlRnJhbWUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvQVBJL2MvV0tCdW5kbGVGcmFtZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvQVBJL2MvV0tCdW5kbGVGcmFtZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9J
bmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUhpdFRlc3RSZXN1bHQuY3BwIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVIaXRUZXN0UmVzdWx0Lmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZUluaXRp
YWxpemUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVu
ZGxlTm9kZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9B
UEkvYy9XS0J1bmRsZU5vZGVIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jL1dLQnVuZGxlTm9kZUhhbmRsZVByaXZhdGUuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZS5jcHAgXAorCVdlYktpdDIv
V2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkvYy9XS0J1bmRsZVBhZ2UuaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUGFnZVByaXZhdGUuaCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlUHJpdmF0
ZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvQVBJL2MvV0tCdW5kbGVS
YW5nZUhhbmRsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9BUEkv
Yy9XS0J1bmRsZVJhbmdlSGFuZGxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1
bmRsZS9BUEkvYy9XS0J1bmRsZVNjcmlwdFdvcmxkLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L0luamVjdGVkQnVuZGxlL0FQSS9jL1dLQnVuZGxlU2NyaXB0V29ybGQuaCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0RPTS9JbmplY3RlZEJ1bmRsZU5vZGVIYW5kbGUuY3Bw
IFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxl
Tm9kZUhhbmRsZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvRE9NL0lu
amVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvRE9NL0luamVjdGVkQnVuZGxlUmFuZ2VIYW5kbGUuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL0luamVjdGVkQnVuZGxlL2d0ay9JbmplY3RlZEJ1bmRsZUd0ay5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZS5oIFwKKwlXZWJLaXQy
L1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVIaXRUZXN0UmVzdWx0LmNw
cCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVkQnVuZGxlL0luamVjdGVkQnVuZGxlSGl0
VGVzdFJlc3VsdC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0
ZWRCdW5kbGVQYWdlRWRpdG9yQ2xpZW50LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0luamVjdGVkQnVuZGxlUGFnZUVkaXRvckNsaWVudC5oIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlRm9ybUNsaWVudC5jcHAg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VG
b3JtQ2xpZW50LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3Rl
ZEJ1bmRsZVBhZ2VMb2FkZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0
ZWRCdW5kbGUvSW5qZWN0ZWRCdW5kbGVQYWdlTG9hZGVyQ2xpZW50LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNsaWVudC5jcHAgXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVBhZ2VVSUNs
aWVudC5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5kbGUvSW5qZWN0ZWRCdW5k
bGVTY3JpcHRXb3JsZC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3RlZEJ1bmRsZS9J
bmplY3RlZEJ1bmRsZVNjcmlwdFdvcmxkLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9JbmplY3Rl
ZEJ1bmRsZS9JbmplY3RlZEJ1bmRsZVVzZXJNZXNzYWdlQ29kZXJzLmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL0pTTlBNZXRob2QuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1
Z2lucy9KU05QTWV0aG9kLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL0pTTlBPYmpl
Y3QuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9KU05QT2JqZWN0LmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ay9OZXRzY2FwZVBsdWdpbkd0ay5j
cHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL05ldHNjYXBlQnJvd3Nl
ckZ1bmNzLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2Nh
cGVCcm93c2VyRnVuY3MuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUv
TmV0c2NhcGVQbHVnaW4uY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9OZXRzY2Fw
ZS9OZXRzY2FwZVBsdWdpbk1vZHVsZS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L05ldHNjYXBlL05ldHNjYXBlUGx1Z2luTW9kdWxlLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL05ldHNjYXBlL05ldHNjYXBlUGx1Z2luU3RyZWFtLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUvTmV0c2NhcGVQbHVnaW5TdHJlYW0uaCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBKU09iamVjdC5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL05QSlNPYmplY3QuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBS
dW50aW1lT2JqZWN0TWFwLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTlBSdW50
aW1lT2JqZWN0TWFwLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZVV0
aWxpdGllcy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL05QUnVudGltZVV0aWxp
dGllcy5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Db250cm9sbGVyLmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BsdWdpbi5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
bHVnaW5Qcm9jZXNzQ29ubmVjdGlvbi5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDb25uZWN0aW9uLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5z
L1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vz
cy9QbHVnaW5zL1BsdWdpblByb2Nlc3NDb25uZWN0aW9uTWFuYWdlci5oIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5Qcm94eS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9Q
bHVnaW5zL1BsdWdpblByb3h5LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BsdWdp
blZpZXcuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QbHVnaW5WaWV3LmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9ndGsvV2ViRXJyb3JzR3RrLmNwcCBc
CisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L2d0ay9XZWJGcmFtZU5ldHdvcmtp
bmdDb250ZXh0LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJCYWNr
Rm9yd2FyZENvbnRyb2xsZXJDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29y
ZVN1cHBvcnQvV2ViQmFja0ZvcndhcmRDb250cm9sbGVyQ2xpZW50LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDaHJvbWVDbGllbnQuY3BwIFwKKwlXZWJLaXQyL1dl
YlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViQ2hyb21lQ2xpZW50LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5jcHAgXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJDb250ZXh0TWVudUNsaWVudC5oIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRHJhZ0NsaWVudC5jcHAgXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJEcmFnQ2xpZW50LmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFZGl0b3JDbGllbnQuY3BwIFwKKwlXZWJL
aXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViRWRpdG9yQ2xpZW50LmggXAorCVdlYktp
dDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJFcnJvcnMuaCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmNwcCBcCisJV2ViS2l0
Mi9XZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0L1dlYkZyYW1lTG9hZGVyQ2xpZW50LmggXAorCVdl
YktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJJbnNwZWN0b3JDbGllbnQuY3BwIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViSW5zcGVjdG9yQ2xpZW50Lmgg
XAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQbGF0Zm9ybVN0cmF0ZWdp
ZXMuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUGxhdGZvcm1T
dHJhdGVnaWVzLmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJQb3B1
cE1lbnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViUG9wdXBN
ZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJDb3JlU3VwcG9ydC9XZWJTZWFyY2hQb3B1
cE1lbnUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViQ29yZVN1cHBvcnQvV2ViU2VhcmNo
UG9wdXBNZW51LmggXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJLaXRNYWluLmNwcCBcCisJV2Vi
S2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmNwcCBcCisJ
V2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvQ2h1bmtlZFVwZGF0ZURyYXdpbmdBcmVhLmggXAor
CVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0RyYXdpbmdBcmVhLmNwcCBcCisJV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYlBhZ2UvRHJhd2luZ0FyZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dl
YlBhZ2UvRmluZENvbnRyb2xsZXIuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9G
aW5kQ29udHJvbGxlci5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kUGFnZU92
ZXJsYXkuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9GaW5kUGFnZU92ZXJsYXku
aCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrL0NodW5rZWRVcGRhdGVEcmF3aW5n
QXJlYUd0ay5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL2d0ay9XZWJQYWdlR3Rr
LmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvTGF5ZXJCYWNrZWREcmF3aW5nQXJl
YS5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL0xheWVyQmFja2VkRHJhd2luZ0Fy
ZWEuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvUGFnZU92ZXJsYXkuY3BwIFwKKwlX
ZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9QYWdlT3ZlcmxheS5oIFwKKwlXZWJLaXQyL1dlYlBy
b2Nlc3MvV2ViUGFnZS9XZWJCYWNrRm9yd2FyZExpc3RQcm94eS5jcHAgXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkJhY2tGb3J3YXJkTGlzdFByb3h5LmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYkVkaXRDb21tYW5kLmNwcCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNz
L1dlYlBhZ2UvV2ViRWRpdENvbW1hbmQuaCBcCisJV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2Uv
V2ViRnJhbWUuY3BwIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJGcmFtZS5oIFwK
KwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBcCisJV2ViS2l0Mi9XZWJQ
cm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5oIFwKKwlXZWJLaXQyL1dlYlByb2Nlc3MvV2ViUHJvY2Vz
cy5jcHAgXAorCVdlYktpdDIvV2ViUHJvY2Vzcy9XZWJQcm9jZXNzLmggXAorCVdlYktpdDIvV2Vi
UHJvY2Vzcy9XZWJQcm9jZXNzTWFpbi5oCisKK2xpYldlYktpdDJfbGFfQ1BQRkxBR1MgPSBcCisJ
LWZuby1zdHJpY3QtYWxpYXNpbmcgXAorCSQoZ2xvYmFsX2NwcGZsYWdzKSBcCisJLWluY2x1ZGUg
JChzcmNkaXIpL1dlYktpdDIvV2ViS2l0MlByZWZpeC5oIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQy
IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0
Zm9ybSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbGF0Zm9ybS9Db3JlSVBDIFwKKwktSSQoc3Jj
ZGlyKS9XZWJLaXQyL1BsYXRmb3JtL0NvcmVJUEMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQy
L1BsYXRmb3JtL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9QbHVnaW5Qcm9jZXNzIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQv
QVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9BUEkvYyBcCisJLUkkKHNyY2Rpcikv
V2ViS2l0Mi9TaGFyZWQvQVBJL2MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1NoYXJlZC9D
b3JlSVBDU3VwcG9ydCBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9TaGFyZWQvZ3RrIFwKKwktSSQo
c3JjZGlyKS9XZWJLaXQyL1VJUHJvY2VzcyBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQyBcCisJLUkkKHNy
Y2RpcikvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0MvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvY3BwIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1VJUHJvY2Vzcy9ndGsg
XAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL0xhdW5jaGVyIFwKKwktSSQoc3JjZGly
KS9XZWJLaXQyL1VJUHJvY2Vzcy9MYXVuY2hlci9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
VUlQcm9jZXNzL1BsdWdpbnMgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQcm9jZXNzL1BsdWdp
bnMvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MgXAorCS1JJChzcmNkaXIp
L1dlYktpdDIvV2ViUHJvY2Vzcy9ndGsgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvV2ViUHJvY2Vz
cy9JbmplY3RlZEJ1bmRsZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVj
dGVkQnVuZGxlL0FQSSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL0luamVjdGVk
QnVuZGxlL0FQSS9jIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRC
dW5kbGUvRE9NIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvSW5qZWN0ZWRCdW5k
bGUvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvTGF1bmNoaW5nIFwKKwkt
SSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucyBcCisJLUkkKHNyY2RpcikvV2Vi
S2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvTmV0c2NhcGUgXAorCS1JJChzcmNkaXIpL1dlYktpdDIv
V2ViUHJvY2Vzcy9QbHVnaW5zL05ldHNjYXBlL2d0ayBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9X
ZWJQcm9jZXNzL1dlYkNvcmVTdXBwb3J0IFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViQ29yZVN1cHBvcnQvZ3RrIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3Mv
V2ViUGFnZSBcCisJLUkkKHNyY2RpcikvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvZ3RrIFwK
KwktSSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyIFwKKwktSSQodG9wX2J1
aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUgXAorCS1JJCh0b3BfYnVpbGRk
aXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9KYXZhU2NyaXB0Q29yZSBcCisJLUkk
KHRvcF9idWlsZGRpcikvRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9pbmNsdWRlL1dlYkNvcmUgXAor
CS1JJCh0b3BfYnVpbGRkaXIpL0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJLaXQy
IFwKKwkkKHdlYmNvcmVfY3BwZmxhZ3MpIFwKKwkkKHdlYmNvcmVndGtfY3BwZmxhZ3MpIFwKKwkk
KGphdmFzY3JpcHRjb3JlX2NwcGZsYWdzKQorCitsaWJXZWJLaXQyX2xhX0NYWEZMQUdTID0gXAor
CSQoZ2xvYmFsX2N4eGZsYWdzKSBcCisJJChsaWJXZWJLaXQyX2xhX0NGTEFHUykKKworbGliV2Vi
S2l0Ml9sYV9DRkxBR1MgPSBcCisJJChnbG9iYWxfY2ZsYWdzKSBcCisJJChDT1ZFUkFHRV9DRkxB
R1MpIFwKKwkkKEdMSUJfQ0ZMQUdTKSBcCisJJChHVEtfQ0ZMQUdTKSBcCisJJChMSUJTT1VQX0NG
TEFHUykgXAorCSQoVU5JQ09ERV9DRkxBR1MpIFwKKwkkKFhUX0NGTEFHUykKKworbGliV2ViS2l0
Ml9sYV9MSUJBREQgPSBcCisJLWxwdGhyZWFkIFwKKwkkKENBSVJPX0xJQlMpIFwKKwkkKENPVkVS
QUdFX0xERkxBR1MpIFwKKwkkKEdMSUJfTElCUykgXAorCSQoR1RLX0xJQlMpIFwKKwkkKExJQlNP
VVBfTElCUykgXAorCSQoVU5JQ09ERV9MSUJTKSBcCisJJChYVF9MSUJTKQorCisjIFNoYXJlZCBs
aWJyYXJpZXMKK2xpYl9MVExJQlJBUklFUyArPSBcCisJbGlid2Via2l0Mmd0ay1AV0VCS0lUR1RL
X0FQSV9NQUpPUl9WRVJTSU9OQC5AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQC5sYQorCitu
b2Rpc3RfRVhUUkFfbGlid2Via2l0Mmd0a19AV0VCS0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9A
V0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9sYV9TT1VSQ0VTID0gXAorCSQod2ViY29yZV9i
dWlsdF9ub3NvdXJjZXMpCisKK25vZGlzdF9saWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01B
Sk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX1NPVVJDRVMgPSBc
CisJJCh3ZWJjb3JlX2J1aWx0X3NvdXJjZXMpCisKK2xpYndlYmtpdDJndGtfQFdFQktJVEdUS19B
UElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBfbGFfU09VUkNF
UyA9IFwKKwkkKHdlYmNvcmVfc291cmNlcykgXAorCSQod2ViY29yZWd0a19zb3VyY2VzKQorCits
aWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJ
X01JTk9SX1ZFUlNJT05AX2xhX0NYWEZMQUdTID0gXAorCSQoZ2xvYmFsX2N4eGZsYWdzKQorCits
aWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJ
X01JTk9SX1ZFUlNJT05AX2xhX0NGTEFHUyA9IFwKKwkkKGdsb2JhbF9jZmxhZ3MpCisKKyMgV2hl
biBidWlsZGluZyBXZWJDb3JlLCB3ZSB3YW50IFdlYkNvcmUvY29uZmlnLmggYW5kIE5PVCBKYXZh
U2NyaXB0Q29yZS9jb25maWcuaCwKKyMgaGVuY2UsIGl0J3MgaW1wb3J0YW50IHRoYXQgV2ViQ29y
ZS8gc2hvdWxkIGNvbWUgZmlyc3QgYmVmb3JlIEphdmFTY3JpcHRDb3JlIGluIHRoZQorIyBpbmNs
dWRlIHBhdGguCitsaWJ3ZWJraXQyZ3RrX0BXRUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BX
RUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05AX2xhX0NQUEZMQUdTID0gXAorCS1EQlVJTERJTkdf
V0VCS0lUIFwKKwktRFBBQ0tBR0VfTE9DQUxFX0RJUj1cIiQobG9jYWxlZGlyKVwiIFwKKwktRERB
VEFfRElSPVwiJHtkYXRhZGlyfVwiIFwKKwkkKGdsb2JhbF9jcHBmbGFncykgXAorCSQod2ViY29y
ZV9jcHBmbGFncykgXAorCSQod2ViY29yZWd0a19jcHBmbGFncykgXAorCSQoamF2YXNjcmlwdGNv
cmVfY3BwZmxhZ3MpIFwKKwktZm5vLXN0cmljdC1hbGlhc2luZyBcCisJJChISUxET05fQ1BQRkxB
R1MpIFwKKwkkKENPVkVSQUdFX0NGTEFHUykgXAorCSQoRU5DSEFOVF9DRkxBR1MpIFwKKwkkKEdB
SUxfQ0ZMQUdTKSBcCisJJChHRU9DTFVFX0NGTEFHUykgXAorCSQoR0xJQl9DRkxBR1MpIFwKKwkk
KEdTVFJFQU1FUl9DRkxBR1MpIFwKKwkkKEdUS19DRkxBR1MpIFwKKwkkKEhJTERPTl9DRkxBR1Mp
IFwKKwkkKExJQlNPVVBfQ0ZMQUdTKSBcCisJJChMSUJYTUxfQ0ZMQUdTKSBcCisJJChMSUJYU0xU
X0NGTEFHUykgXAorCSQoU1FMSVRFM19DRkxBR1MpIFwKKwkkKFVOSUNPREVfQ0ZMQUdTKSBcCisJ
JChYVF9DRkxBR1MpCisKKyMgRm9yIHRoZSBHdGsgcG9ydCB3ZSB3YW50IHRvIHVzZSBYUF9VTklY
IGJvdGggaW4gWDExIGFuZCBNYWMKK2lmICFUQVJHRVRfV0lOMzIKK2xpYndlYmtpdDJndGtfQFdF
QktJVEdUS19BUElfTUFKT1JfVkVSU0lPTkBfQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkBf
bGFfQ1BQRkxBR1MgKz0gXAorCS1EWFBfVU5JWAorZW5kaWYKKworbGlid2Via2l0Mmd0a19AV0VC
S0lUR1RLX0FQSV9NQUpPUl9WRVJTSU9OQF9AV0VCS0lUR1RLX0FQSV9NSU5PUl9WRVJTSU9OQF9s
YV9MREZMQUdTID0gXAorCS12ZXJzaW9uLWluZm8gQExJQldFQktJVEdUS19WRVJTSU9OQCBcCisJ
JCh2ZXJzaW9uX3NjcmlwdCkgXAorCSQobm9fdW5kZWZpbmVkKQorCitsaWJ3ZWJraXQyZ3RrX0BX
RUJLSVRHVEtfQVBJX01BSk9SX1ZFUlNJT05AX0BXRUJLSVRHVEtfQVBJX01JTk9SX1ZFUlNJT05A
X2xhX0xJQkFERCA9IFwKKwktbHB0aHJlYWQgXAorCWxpYkphdmFTY3JpcHRDb3JlLmxhIFwKKwls
aWJXZWJLaXQyLmxhIFwKKwkkKEdTVFJFQU1FUl9MSUJTKSBcCisJJChHVEtfTElCUykgXAorCSQo
SElMRE9OX0xJQlMpIFwKKwkkKEpQRUdfTElCUykgXAorCSQoTElCU09VUF9MSUJTKSBcCisJJChM
SUJYTUxfTElCUykgXAorCSQoTElCWFNMVF9MSUJTKSBcCisJJChQQU5HT19MSUJTKSBcCisJJChQ
TkdfTElCUykgXAorCSQoU1FMSVRFM19MSUJTKSBcCisJJChVTklDT0RFX0xJQlMpIFwKKwkkKFhU
X0xJQlMpCisKK3BrZ2NvbmZpZ2RpciA9ICQobGliZGlyKS9wa2djb25maWcKK3BrZ2NvbmZpZ19E
QVRBID0gV2ViS2l0Mi9ndGsvQFdFQktJVEdUS19QQ19OQU1FQC1AV0VCS0lUR1RLX0FQSV9WRVJT
SU9OQC5wYworCisjIFdlYktpdDIgc3BlY2lmaWMgdmFyaWFibGVzCit3ZWJraXQyX2J1aWx0X3Nv
dXJjZXMgKz0gXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2Vz
LmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvRG93bmxvYWRQcm94eU1lc3NhZ2VSZWNlaXZl
ci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvTlBPYmplY3RNZXNzYWdlUmVjZWl2ZXJN
ZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL05QT2JqZWN0TWVzc2FnZVJlY2Vp
dmVyTWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9QbHVnaW5D
b250cm9sbGVyUHJveHlNZXNzYWdlcy5oIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1BsdWdp
bkNvbnRyb2xsZXJQcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dl
YktpdDIvUGx1Z2luUHJvY2Vzc01lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIv
UGx1Z2luUHJvY2Vzc01lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvUGx1Z2luUHJvY2Vzc1Byb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9QbHVnaW5Qcm9jZXNzUHJveHlNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNl
cy9XZWJLaXQyL1BsdWdpblByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0
Mi9QbHVnaW5Qcm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktp
dDIvV2ViQ29udGV4dE1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViQ29u
dGV4dE1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViSW5z
cGVjdG9yTWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JN
ZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYkluc3BlY3Rv
clByb3h5TWVzc2FnZXMuaCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJJbnNwZWN0b3JQ
cm94eU1lc3NhZ2VSZWNlaXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFn
ZU1lc3NhZ2VzLmggXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZU1lc3NhZ2VSZWNl
aXZlci5jcHAgXAorCURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUGFnZVByb3h5TWVzc2FnZXMu
aCBcCisJRGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQYWdlUHJveHlNZXNzYWdlUmVjZWl2ZXIu
Y3BwIFwKKwlEZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNzYWdlcy5oIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NNZXNzYWdlUmVjZWl2ZXIuY3BwIFwKKwlE
ZXJpdmVkU291cmNlcy9XZWJLaXQyL1dlYlByb2Nlc3NQcm94eU1lc3NhZ2VzLmggXAorCURlcml2
ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc1Byb3h5TWVzc2FnZVJlY2VpdmVyLmNwcCBcCisJ
RGVyaXZlZFNvdXJjZXMvV2ViS2l0Mi9XZWJQcm9jZXNzQ29ubmVjdGlvbk1lc3NhZ2VzLmggXAor
CURlcml2ZWRTb3VyY2VzL1dlYktpdDIvV2ViUHJvY2Vzc0Nvbm5lY3Rpb25NZXNzYWdlUmVjZWl2
ZXIuY3BwCisKK0JVSUxUX1NPVVJDRVMgKz0gXAorCSQod2Via2l0Ml9idWlsdF9zb3VyY2VzKSBc
CisJZ2VuZXJhdGUtd2Via2l0Mi1mb3J3YXJkaW5nLWhlYWRlcnMKKworZm9yd2FyZGluZ19oZWFk
ZXJzIDo9ICQoR0VOU09VUkNFU19XRUJLSVQyKS9pbmNsdWRlCitnZW5lcmF0ZS13ZWJraXQyLWZv
cndhcmRpbmctaGVhZGVyczogJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLWZvcndhcmRpbmct
aGVhZGVycy5wbCAkKGxpYldlYktpdDJfbGFfU09VUkNFUykKKwkkKEFNX1ZfYXQpJChta2Rpcl9w
KSAkKGZvcndhcmRpbmdfaGVhZGVycykvSmF2YVNjcmlwdENvcmUKKwkkKEFNX1ZfYXQpJChta2Rp
cl9wKSAkKGZvcndhcmRpbmdfaGVhZGVycykvV2ViQ29yZQorCSQoQU1fVl9hdCkkKG1rZGlyX3Ap
ICQoZm9yd2FyZGluZ19oZWFkZXJzKS9XZWJLaXQyCisJJChBTV9WX0dFTikkKFBFUkwpICQ8ICQo
V2ViS2l0MikgJChmb3J3YXJkaW5nX2hlYWRlcnMpIGd0aworCSQoQU1fVl9HRU4pJChQRVJMKSAk
PCAkKFdlYktpdDIpICQoZm9yd2FyZGluZ19oZWFkZXJzKSBzb3VwIAorCit2cGF0aCAlLm1lc3Nh
Z2VzLmluID0gXAorCSQoV2ViS2l0MikvUGx1Z2luUHJvY2VzcyBcCisJJChXZWJLaXQyKS9TaGFy
ZWQvUGx1Z2lucyBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MgXAorCSQoV2ViS2l0MikvVUlQcm9j
ZXNzL0Rvd25sb2FkcyBcCisJJChXZWJLaXQyKS9VSVByb2Nlc3MvUGx1Z2lucyBcCisJJChXZWJL
aXQyKS9XZWJQcm9jZXNzIFwKKwkkKFdlYktpdDIpL1dlYlByb2Nlc3MvUGx1Z2lucyBcCisJJChX
ZWJLaXQyKS9XZWJQcm9jZXNzL1dlYlBhZ2UgCisKK21lc3NhZ2VfZ2VuX3NjcmlwdHMgPSBcCisJ
JChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1lc3NhZ2UtcmVjZWl2ZXIucHkgXAorCSQoV2Vi
S2l0MikvU2NyaXB0cy9nZW5lcmF0ZS1tZXNzYWdlcy1oZWFkZXIucHkgXAorCSQoV2ViS2l0Mikv
U2NyaXB0cy93ZWJraXQyL19faW5pdF9fLnB5IFwKKwkkKFdlYktpdDIpL1NjcmlwdHMvd2Via2l0
Mi9tZXNzYWdlcy5weQorCisjIE1lc3NhZ2UgaGVhZGVyIGdlbmVyYXRpb24KK0Rlcml2ZWRTb3Vy
Y2VzL1dlYktpdDIvJU1lc3NhZ2VSZWNlaXZlci5jcHA6ICUubWVzc2FnZXMuaW4gJChtZXNzYWdl
X2dlbl9zY3JpcHRzKQorCSQoQU1fVl9HRU4pJChQWVRIT04pICQoV2ViS2l0MikvU2NyaXB0cy9n
ZW5lcmF0ZS1tZXNzYWdlLXJlY2VpdmVyLnB5ICQ8ID4gJEAKKworRGVyaXZlZFNvdXJjZXMvV2Vi
S2l0Mi8lTWVzc2FnZXMuaDogJS5tZXNzYWdlcy5pbiAkKG1lc3NhZ2VfZ2VuX3NjcmlwdHMpCisJ
JChBTV9WX0dFTikkKFBZVEhPTikgJChXZWJLaXQyKS9TY3JpcHRzL2dlbmVyYXRlLW1lc3NhZ2Vz
LWhlYWRlci5weSAkPCA+ICRACisKK0NMRUFORklMRVMgKz0gXAorCSQoQlVJTFRfU09VUkNFUykg
XAorCSQodG9wX2J1aWxkZGlyKS9XZWJLaXQyL2d0ay9AV0VCS0lUR1RLX1BDX05BTUVALUBXRUJL
SVRHVEtfQVBJX1ZFUlNJT05ALnBjIFwKKwkkKHRvcF9idWlsZGRpcikvUHJvZ3JhbXMvV2ViS2l0
V2ViUHJvY2VzcworCisjIFdlYktpdFdlYlByb2Nlc3MKK2Jpbl9QUk9HUkFNUyArPSBcCisJUHJv
Z3JhbXMvV2ViS2l0V2ViUHJvY2VzcworCitQcm9ncmFtc19XZWJLaXRXZWJQcm9jZXNzX0NQUEZM
QUdTID0gXAorCS1JJChzcmNkaXIpL1dlYktpdDIgXAorCS1JJChzcmNkaXIpL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9DIFwKKwktSSQoc3JjZGlyKS9XZWJLaXQyL1dlYlByb2Nlc3MvZ3RrIFwKKwkt
SSQodG9wX2J1aWxkZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyIFwKKwktSSQodG9wX2J1aWxk
ZGlyKS9EZXJpdmVkU291cmNlcy9XZWJLaXQyL2luY2x1ZGUgXAorCS1JJCh0b3BfYnVpbGRkaXIp
L0Rlcml2ZWRTb3VyY2VzL1dlYktpdDIvaW5jbHVkZS9XZWJDb3JlIFwKKwkkKGdsb2JhbF9jcHBm
bGFncykgXAorCSQoamF2YXNjcmlwdGNvcmVfY3BwZmxhZ3MpCisKK1Byb2dyYW1zX1dlYktpdFdl
YlByb2Nlc3NfQ0ZMQUdTID0gXAorCSQoZ2xvYmFsX2NmbGFncykgXAorCSQoR1RLX0NGTEFHUykg
XAorCSQoTElCU09VUF9DRkxBR1MpCisKK1Byb2dyYW1zX1dlYktpdFdlYlByb2Nlc3NfU09VUkNF
UyA9IFwKKwlXZWJLaXQyL2d0ay9NYWluR3RrLmNwcAorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9j
ZXNzX0xEQUREID0gXAorCWxpYndlYmtpdDJndGstQFdFQktJVEdUS19BUElfTUFKT1JfVkVSU0lP
TkAuQFdFQktJVEdUS19BUElfTUlOT1JfVkVSU0lPTkAubGEgXAorCSQoR1RLX0xJQlMpIFwKKwkk
KEdMSUJfTElCUykgXAorCSQoTElCU09VUF9MSUJTKQorCitQcm9ncmFtc19XZWJLaXRXZWJQcm9j
ZXNzX0xERkxBR1MgPSBcCisJLW5vLWZhc3QtaW5zdGFsbCBcCisJLW5vLWluc3RhbGwKKwpkaWZm
IC0tZ2l0IGEvV2ViS2l0Mi9XZWJLaXQyUHJlZml4LmggYi9XZWJLaXQyL1dlYktpdDJQcmVmaXgu
aAppbmRleCBiZGZjMTgxMmM3NzQxY2IyZDdiYjAxNDcyZTU0MjZjYTA3MDIzY2JmLi4xZTAxYTFl
ZDQ5NmFlYjExM2JlNThjNWQ0MWRhMjFhYmQ5ZWUxOWIyIDEwMDY0NAotLS0gYS9XZWJLaXQyL1dl
YktpdDJQcmVmaXguaAorKysgYi9XZWJLaXQyL1dlYktpdDJQcmVmaXguaApAQCAtMSw1ICsxLDYg
QEAKIC8qCiAgKiBDb3B5cmlnaHQgKEMpIDIwMTAgQXBwbGUgSW5jLiBBbGwgcmlnaHRzIHJlc2Vy
dmVkLgorICogUG9ydGlvbnMgQ29weXJpZ2h0IChjKSAyMDEwIE1vdG9yb2xhIE1vYmlsaXR5LCBJ
bmMuICBBbGwgcmlnaHRzIHJlc2VydmVkLgogICoKICAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2Ug
aW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAogICogbW9kaWZpY2F0
aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25z
CkBAIC0yMyw2ICsyNCwxMCBAQAogICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgog
ICovIAogCisjaWYgZGVmaW5lZCAoQlVJTERJTkdfR1RLX18pCisjaW5jbHVkZSA8V2ViQ29yZS9j
b25maWcuaD4KKyNlbmRpZiAvKiBkZWZpbmVkIChCVUlMRElOR19HVEtfXykgKi8KKwogI2luY2x1
ZGUgPHd0Zi9QbGF0Zm9ybS5oPgogI2luY2x1ZGUgPHd0Zi9EaXNhbGxvd0NUeXBlLmg+CiAjaWZk
ZWYgX19jcGx1c3BsdXMKZGlmZiAtLWdpdCBhL1dlYktpdDIvZ3RrL3dlYmtpdDIucGMuaW4gYi9X
ZWJLaXQyL2d0ay93ZWJraXQyLnBjLmluCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjZlZWVlODA0YmZlM2JiZjZlZTVl
OTg0MDdjZmVlMTYwOTgxNjAwZjMKLS0tIC9kZXYvbnVsbAorKysgYi9XZWJLaXQyL2d0ay93ZWJr
aXQyLnBjLmluCkBAIC0wLDAgKzEsMTEgQEAKK3ByZWZpeD1AcHJlZml4QAorZXhlY19wcmVmaXg9
QGV4ZWNfcHJlZml4QAorbGliZGlyPUBsaWJkaXJACitpbmNsdWRlZGlyPUBpbmNsdWRlZGlyQAor
CitOYW1lOiBXZWJLaXQyCitEZXNjcmlwdGlvbjogV2ViIGNvbnRlbnQgZW5naW5lIGZvciBHVEsr
CitWZXJzaW9uOiBAVkVSU0lPTkAKK1JlcXVpcmVzOiBnbGliLTIuMCBndGsrLUBHVEtfQVBJX1ZF
UlNJT05AIGxpYnNvdXAtMi40CitMaWJzOiAtTCR7bGliZGlyfSAtbHdlYmtpdDJndGstQFdFQktJ
VEdUS19BUElfVkVSU0lPTkAKK0NmbGFnczogLUkke2luY2x1ZGVkaXJ9L3dlYmtpdDItQFdFQktJ
VEdUS19BUElfVkVSU0lPTkAgCmRpZmYgLS1naXQgYS9jb25maWd1cmUuYWMgYi9jb25maWd1cmUu
YWMKaW5kZXggOTcyNGFkY2EwMTZiN2FjNjQzMDRkYWNkYWUxYTc4NzRkOTlhYzJkNS4uYjJhZDhj
ZDRlMTlhY2E1MjVmYmE1YjQwMjk5MzgwOTIwZmNkYzk0NyAxMDA2NDQKLS0tIGEvY29uZmlndXJl
LmFjCisrKyBiL2NvbmZpZ3VyZS5hYwpAQCAtOTAyLDYgKzkwMiwyMyBAQCBpZiB0ZXN0ICIkZW5h
YmxlX3ZpZGVvIiA9ICJ5ZXMiOyB0aGVuCiAgICAgaHRtbF9mbGFncz15ZXMKIGZpCiAKKyMgV2Vi
S2l0MgorQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIHRvIGJ1aWxkIFdlYmtpdDJdKQorQUNfQVJH
X0VOQUJMRSh3ZWJraXQyLAorICAgICAgICAgICAgQUNfSEVMUF9TVFJJTkcoWy0tZW5hYmxlLXdl
YmtpdDJdLAorICAgICAgICAgICAgICAgIFtidWlsZCB3ZWJraXQyIFtkZWZhdWx0PW5vXV0pLAor
ICAgICAgICAgICAgICAgIFtdLCBbZW5hYmxlX3dlYmtpdDI9Im5vIl0pCitBQ19NU0dfUkVTVUxU
KFskZW5hYmxlX3dlYmtpdDJdKQoraWYgdGVzdCAiJGVuYWJsZV93ZWJraXQyIiA9ICJ5ZXMiOyB0
aGVuCisgICAgIyBUdXJuIG9uIHRoaXMgbWFjcm8gYnkgZGVmYXVsdC4gSXQgaXMgdXNlZCBpbiBp
bnR0eXBlcy5oIGZvciBkZWZpbmluZyBtYWNyb3MgdXNlZCBieSB3ZWJraXQuCisgICAgIyBJbiBX
ZWJLaXQsIHRoaXMgZGVmaW5lIGlzIGVuc3VyZWQgYnkgZG9pbmcgaXQgYmVmb3JlIGluY2x1ZGlu
ZyBjb25maWcuaCBpbiBhbnkgc291cmNlIGZpbGUuCisgICAgIyBJbiBXZWJLaXQyLCBXZWJLaXQy
UHJlZml4LmggaXMgaW5jbHVkZWQgYXMgZmlyc3QgaGVhZGVyIGZpbGUsIHNvIHdlIG5lZWQgdG8g
ZGVmaW5lIHRoaXMKKyAgICAjIG1hY3JvIGJlZm9yZSBhY3R1YWxseSBXZWJLaXQyUHJlZml4Lmgg
aXMgaW5jbHVkZWQgaW4gYW55IGZpbGUuCisgICAgQUNfREVGSU5FKFtfX1NURENfRk9STUFUX01B
Q1JPU10sWzFdLFtUdXJuIG9uIHRoZSBfX1NURENfRk9STUFUX01BQ1JPUyB1c2VkIGluIGludHR5
cGVzLmhdKSwKKyAgICBXRUJLSVRHVEtfUENfTkFNRT0ke1dFQktJVEdUS19QQ19OQU1FfTIKKyAg
ICBBQ19TVUJTVChbV0VCS0lUR1RLX1BDX05BTUVdKQorZmkKKwogR1RLX0RPQ19DSEVDSyhbMS4x
MF0pCiAKICMgT1MgY29uZGl0aW9uYWxzCkBAIC05NzYsMjYgKzk5MywzNyBAQCBBTV9DT05ESVRJ
T05BTChbRU5BQkxFX1dFQl9TT0NLRVRTXSxbdGVzdCAiJGVuYWJsZV93ZWJfc29ja2V0cyIgPSAi
eWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5BQkxFX1dFQl9BVURJT10sW3Rlc3QgIiRlbmFibGVf
d2ViX2F1ZGlvIiA9ICJ5ZXMiXSkKIEFNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCX1RJTUlOR10s
W3Rlc3QgIiRlbmFibGVfd2ViX3RpbWluZyIgPSAieWVzIl0pCiBBTV9DT05ESVRJT05BTChbRU5B
QkxFX09QQ09ERV9TVEFUU10sW3Rlc3QgIiRlbmFibGVfb3Bjb2RlX3N0YXRzIiA9ICJ5ZXMiXSkK
K0FNX0NPTkRJVElPTkFMKFtFTkFCTEVfV0VCS0lUMl0sW3Rlc3QgIiRlbmFibGVfd2Via2l0MiIg
PSAieWVzIl0pCiAKICMgR3RrIGNvbmRpdGlvbmFscwogQU1fQ09ORElUSU9OQUwoW0VOQUJMRV9J
TlRST1NQRUNUSU9OXSxbdGVzdCAiJGVuYWJsZV9pbnRyb3NwZWN0aW9uIiA9ICJ5ZXMiXSkKIAot
CiBBQ19DT05GSUdfRklMRVMoWwogR05VbWFrZWZpbGUKLVdlYktpdC9ndGsvd2Via2l0L3dlYmtp
dHZlcnNpb24uaAotV2ViS2l0L2d0ay9kb2NzL0dOVW1ha2VmaWxlCi1XZWJLaXQvZ3RrL2RvY3Mv
dmVyc2lvbi54bWwKLV0KLSkKLQotQUNfQ09ORklHX0ZJTEVTKFsKLVdlYktpdC9ndGsvJHtXRUJL
SVRHVEtfUENfTkFNRX0tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOldlYktpdC9ndGsvd2Vi
a2l0LnBjLmluCi1XZWJLaXQvZ3RrL0pTQ29yZS0ke1dFQktJVEdUS19BUElfVkVSU0lPTn0uZ2ly
OldlYktpdC9ndGsvSlNDb3JlLmdpci5pbgotV2ViS2l0L2d0ay9vcmcud2Via2l0Z3RrLSR7V0VC
S0lUR1RLX0FQSV9WRVJTSU9OfS5nc2NoZW1hLnhtbDpXZWJLaXQvZ3RrL29yZy53ZWJraXRndGsu
Z3NjaGVtYS54bWwuaW4KLV0KLSxbV0VCS0lUR1RLX0FQSV9WRVJTSU9OPSRXRUJLSVRHVEtfQVBJ
X1ZFUlNJT04sV0VCS0lUR1RLX1BDX05BTUU9JFdFQktJVEdUS19QQ19OQU1FXQotKQorXSkKKyAK
K2lmIHRlc3QgIiRlbmFibGVfd2Via2l0MiIgPSAibm8iOyB0aGVuCisgICAgQUNfQ09ORklHX0ZJ
TEVTKFsKKyAgICBXZWJLaXQvZ3RrL3dlYmtpdC93ZWJraXR2ZXJzaW9uLmgKKyAgICBXZWJLaXQv
Z3RrL2RvY3MvR05VbWFrZWZpbGUKKyAgICBXZWJLaXQvZ3RrL2RvY3MvdmVyc2lvbi54bWwKKyAg
ICBdCisgICAgKQorCisgICAgQUNfQ09ORklHX0ZJTEVTKFsKKyAgICBXZWJLaXQvZ3RrLyR7V0VC
S0lUR1RLX1BDX05BTUV9LSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5wYzpXZWJLaXQvZ3RrL3dl
YmtpdC5wYy5pbgorICAgIFdlYktpdC9ndGsvSlNDb3JlLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9O
fS5naXI6V2ViS2l0L2d0ay9KU0NvcmUuZ2lyLmluCisgICAgV2ViS2l0L2d0ay9vcmcud2Via2l0
Z3RrLSR7V0VCS0lUR1RLX0FQSV9WRVJTSU9OfS5nc2NoZW1hLnhtbDpXZWJLaXQvZ3RrL29yZy53
ZWJraXRndGsuZ3NjaGVtYS54bWwuaW4KKyAgICBdCisgICAgLFtXRUJLSVRHVEtfQVBJX1ZFUlNJ
T049JFdFQktJVEdUS19BUElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BD
X05BTUVdCisgICAgKQorZWxzZQorICAgIEFDX0NPTkZJR19GSUxFUyhbCisgICAgV2ViS2l0Mi9n
dGsvJHtXRUJLSVRHVEtfUENfTkFNRX0tJHtXRUJLSVRHVEtfQVBJX1ZFUlNJT059LnBjOldlYktp
dDIvZ3RrL3dlYmtpdDIucGMuaW4KKyAgICBdCisgICAgLFtXRUJLSVRHVEtfQVBJX1ZFUlNJT049
JFdFQktJVEdUS19BUElfVkVSU0lPTixXRUJLSVRHVEtfUENfTkFNRT0kV0VCS0lUR1RLX1BDX05B
TUVdCisgICAgKQorZmkKIAogQUNfT1VUUFVUCiAKQEAgLTEwNTQsNiArMTA4Miw3IEBAIEdUSysg
Y29uZmlndXJhdGlvbjoKICBHREsgdGFyZ2V0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICA6ICR3aXRoX3RhcmdldAogIEhpbGRvbiBVSSBleHRlbnNpb25zICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDogJHdpdGhfaGlsZG9uCiAgSW50cm9z
cGVjdGlvbiBzdXBwb3J0ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgOiAkZW5h
YmxlX2ludHJvc3BlY3Rpb24KKyBXZWJLaXQyIHN1cHBvcnQgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICA6ICRlbmFibGVfd2Via2l0MgogIgogaWYgdGVzdCAiJHdpdGhf
dW5pY29kZV9iYWNrZW5kIiA9ICJnbGliIjsgdGhlbgogICAgZWNobyAiICAgICA+PiBXQVJOSU5H
OiB0aGUgZ2xpYi1iYXNlZCB1bmljb2RlIGJhY2tlbmQgaXMgc2xvdyBhbmQgaW5jb21wbGV0ZSA8
PCIK
</data>

          </attachment>
      

    </bug>

</bugzilla>