<?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>156948</bug_id>
          
          <creation_ts>2016-04-22 22:43:12 -0700</creation_ts>
          <short_desc>[WK2] [OS X] Create API for switching RTL scrollbar policy</short_desc>
          <delta_ts>2016-04-29 16:33:47 -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>New Bugs</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>Unspecified</rep_platform>
          <op_sys>Unspecified</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Myles C. Maxfield">mmaxfield</reporter>
          <assigned_to name="Myles C. Maxfield">mmaxfield</assigned_to>
          <cc>achristensen</cc>
    
    <cc>andersca</cc>
    
    <cc>commit-queue</cc>
    
    <cc>dbates</cc>
    
    <cc>dino</cc>
    
    <cc>jonlee</cc>
    
    <cc>mitz</cc>
    
    <cc>ossy</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>thorton</cc>
    
    <cc>tonikitoo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1186587</commentid>
    <comment_count>0</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-22 22:43:12 -0700</bug_when>
    <thetext>[WK2] [OS X] Create API for switching RTL scrollbar policy</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1186593</commentid>
    <comment_count>1</comment_count>
      <attachid>277141</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-22 22:54:18 -0700</bug_when>
    <thetext>Created attachment 277141
Needs a test</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187028</commentid>
    <comment_count>2</comment_count>
      <attachid>277269</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-25 12:53:57 -0700</bug_when>
    <thetext>Created attachment 277269
WIP</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187159</commentid>
    <comment_count>3</comment_count>
      <attachid>277300</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-25 18:44:50 -0700</bug_when>
    <thetext>Created attachment 277300
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187160</commentid>
    <comment_count>4</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-25 18:46:09 -0700</bug_when>
    <thetext>Attachment 277300 did not pass style-queue:


ERROR: Source/WebCore/platform/text/WritingMode.h:37:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 97 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>1187171</commentid>
    <comment_count>5</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-25 19:13:41 -0700</bug_when>
    <thetext>&lt;rdar://problem/25707757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187172</commentid>
    <comment_count>6</comment_count>
      <attachid>277300</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-25 19:13:59 -0700</bug_when>
    <thetext>Comment on attachment 277300
Patch

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

&gt; Source/WebCore/ChangeLog:4
&gt; +        https://bugs.webkit.org/show_bug.cgi?id=156948

&lt;rdar://problem/25707757&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187208</commentid>
    <comment_count>7</comment_count>
      <attachid>277319</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-25 20:35:58 -0700</bug_when>
    <thetext>Created attachment 277319
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187209</commentid>
    <comment_count>8</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-25 20:38:08 -0700</bug_when>
    <thetext>Attachment 277319 did not pass style-queue:


ERROR: Source/WebCore/platform/text/WritingMode.h:37:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 98 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>1187249</commentid>
    <comment_count>9</comment_count>
      <attachid>277319</attachid>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-04-25 21:39:22 -0700</bug_when>
    <thetext>Comment on attachment 277319
Patch

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

&gt; Source/WebCore/page/Settings.h:77
&gt; +    Content = 0,
&gt; +    View = 1

Is it necessary to explicitly assign values to these enumerators?

&gt; Source/WebCore/platform/text/WritingMode.h:37
&gt; +enum TextDirection { LTR = 0, RTL = 1 };

Is it necessary to explicitly assign values to these enumerators?

Can we make this an enum class? This can be done in a separate bug/patch.

&gt; Source/WebCore/rendering/RenderLayer.cpp:3371
&gt; +    RenderBox&amp; box = *renderBox();
&gt; +    ASSERT(&amp;box);

r- because this. This makes use of undefined behavior by asserting &amp;box is not zero. Specifically, (5) of [dcl.ref] of the C++ standard states &quot;A reference shall be initialized to refer to a valid object or function. [Note: in particular, a null reference cannot exist in a well-defined program, because the only way to create such a reference would be to bind it to the &quot;object&quot; obtained by dereferencing a null pointer, which causes undefined behavior...]&quot;. I am unclear of clang&apos;s behavior, but a compiler can elide the ASSERT() because its expression will always evaluate to true in a well-formed program by definition of a reference. We should ASSERT(renderBox()) before dereferencing it.

&gt; Source/WebCore/testing/InternalSettings.cpp:572
&gt; +    default:
&gt; +        ASSERT_NOT_REACHED();
&gt; +        return String();

We should remove this default case so that the compiler enforces that the switch block covers all enumerators of enum class VerticalScrollbarLocationPolicy.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187250</commentid>
    <comment_count>10</comment_count>
    <who name="Daniel Bates">dbates</who>
    <bug_when>2016-04-25 21:42:12 -0700</bug_when>
    <thetext>For completeness, I am referencing the C++ standard &lt;http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf&gt;.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187264</commentid>
    <comment_count>11</comment_count>
      <attachid>277337</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-25 22:07:55 -0700</bug_when>
    <thetext>Created attachment 277337
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187265</commentid>
    <comment_count>12</comment_count>
    <who name="WebKit Commit Bot">commit-queue</who>
    <bug_when>2016-04-25 22:10:17 -0700</bug_when>
    <thetext>Attachment 277337 did not pass style-queue:


ERROR: Source/WebCore/platform/text/WritingMode.h:37:  enum members should use InterCaps with an initial capital letter or initial &apos;k&apos; for C-style enums.  [readability/enum_casing] [4]
Total errors found: 1 in 98 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>1187404</commentid>
    <comment_count>13</comment_count>
      <attachid>277337</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2016-04-26 09:12:10 -0700</bug_when>
    <thetext>Comment on attachment 277337
Patch

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

&gt; Source/WebCore/ChangeLog:25
&gt; +        Because WebKit doesn&apos;t know which of these situations it is operating within, this
&gt; +        patch adds a new API property, verticalScrollbarLocationPolicy, to
&gt; +        WKWebViewConfigurationPolicy. This allows clients to instruct us which policy to
&gt; +        abide by. It is plumbed to the web process inside the WebPreferencesStore and is
&gt; +        ultimately held inside the Page&apos;s Settings object.

Can this API be combined with other &quot;website vs. web technology used to implement native content&quot; settings? I am concerned that we will offer too many separate settings, which is flexible, but makes it too easy to get something wrong.

&gt; Source/WebCore/page/FrameView.cpp:4977
&gt; +bool FrameView::shouldPlaceBlockDirectionScrollbarOnLeft() const
&gt; +{
&gt; +    if (auto* renderView = this-&gt;renderView())
&gt; +        return renderView-&gt;shouldPlaceBlockDirectionScrollbarOnLeft();
&gt; +    return false;
&gt; +}

I prefer early return or &amp;&amp; in functions like this, even though it means we can’t scope the local variable inside the if.

&gt; Source/WebCore/page/FrameView.h:560
&gt; +    bool shouldPlaceBlockDirectionScrollbarOnLeft() const override;

Can this be final instead of override?

&gt; Source/WebCore/page/Settings.h:78
&gt; +enum class VerticalScrollbarLocationPolicy {
&gt; +    Content = 0,
&gt; +    View = 1
&gt; +};

Do we really need the &quot;= 0&quot; and &quot;= 1&quot; here? Do we really need to spread this over two lines? Can this be a boolean instead of an enum?

&gt; Source/WebCore/platform/ScrollableArea.h:318
&gt; +    virtual bool shouldPlaceBlockDirectionScrollbarOnLeft() const = 0;

I am confused by this name, even though it already exists. What is a &quot;block direction scrollbar&quot;? And does this policy really mean &quot;place it on the left&quot;?

&gt; Source/WebCore/platform/text/WritingMode.h:37
&gt; +enum TextDirection { LTR = 0, RTL = 1 };

Why add these? Does this enhance something?

&gt; Source/WebCore/platform/win/PopupMenuWin.h:111
&gt; +    bool shouldPlaceBlockDirectionScrollbarOnLeft() const override { return false; }

Can this be final instead of override?

&gt; Source/WebCore/rendering/RenderLayer.h:674
&gt; +    bool shouldPlaceBlockDirectionScrollbarOnLeft() const override { return renderer().shouldPlaceBlockDirectionScrollbarOnLeft(); }

Can this be final instead of override?

&gt; Source/WebCore/rendering/RenderLayerModelObject.cpp:227
&gt; +#if PLATFORM(MAC) &amp;&amp; __MAC_OS_X_VERSION_MIN_REQUIRED &gt;= 101200
&gt; +    switch (frame().settings().verticalScrollbarLocationPolicy()) {
&gt; +    case VerticalScrollbarLocationPolicy::Content:
&gt; +        return style().shouldPlaceBlockDirectionScrollbarOnLeft();
&gt; +    case VerticalScrollbarLocationPolicy::View:
&gt; +        return frame().settings().systemLayoutDirection() == RTL;
&gt; +    }
&gt; +#else
&gt; +    return false;
&gt; +#endif

This seems peculiar. Why would this code be checking for OS X explicitly and for a specific version. Can’t that policy be applied somewhere that policy naturally belongs and where platform specifics should be instead of inside RenderLayerModelObject?

&gt; Source/WebCore/rendering/RenderListBox.h:159
&gt; +    bool shouldPlaceBlockDirectionScrollbarOnLeft() const override { return RenderBlockFlow::shouldPlaceBlockDirectionScrollbarOnLeft(); }

Can this be final instead of override?

&gt; Source/WebCore/rendering/style/RenderStyle.cpp:2083
&gt; +#if PLATFORM(MAC) || USE(RTL_SCROLLBAR)
&gt;      return !isLeftToRightDirection() &amp;&amp; isHorizontalWritingMode();
&gt;  #else
&gt;      return false;

Can’t this policy be applied somewhere that policy naturally belongs and where platform specifics should be instead of inside RenderStyle?

&gt; LayoutTests/fast/scrolling/rtl-scrollbars-elementFromPoint-static.html:7
&gt; +    window.internals.settings.setVerticalScrollbarLocationPolicy(&quot;View&quot;);
&gt; +    window.internals.settings.setSystemLayoutDirection(&quot;RTL&quot;);

No need for &quot;window.&quot; here. Same for all the other cases below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187489</commentid>
    <comment_count>14</comment_count>
      <attachid>277337</attachid>
    <who name="Simon Fraser (smfr)">simon.fraser</who>
    <bug_when>2016-04-26 11:39:23 -0700</bug_when>
    <thetext>Comment on attachment 277337
Patch

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

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm:419
&gt; +    // Therefore, according to the docs, &quot;this property contains the value reported by the appâs userInterfaceLayoutDirection property.&quot;

Which docs?

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:83
&gt; + specified, the placement of vertical scrollbars is affected by the direction of the system.

&quot;direction of the system&quot; is a bit vague.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.mm:226
&gt; +    self.verticalScrollbarLocationPolicy = static_cast&lt;WKVerticalScrollbarLocationPolicy&gt;([coder decodeIntegerForKey:@&quot;verticalScrollbarLocationPolicy&quot;]);

I don&apos;t think you should blindly static_cast&lt;&gt;. You should check that the value is an allowed one.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187490</commentid>
    <comment_count>15</comment_count>
      <attachid>277337</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-04-26 11:40:49 -0700</bug_when>
    <thetext>Comment on attachment 277337
Patch

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

&gt;&gt; Source/WebCore/platform/text/WritingMode.h:37
&gt;&gt; +enum TextDirection { LTR = 0, RTL = 1 };
&gt; 
&gt; Why add these? Does this enhance something?

I agree, no need to give these values.

&gt; Source/WebKit2/WebProcess/WebPage/WebPage.cpp:3076
&gt; +    settings.setVerticalScrollbarLocationPolicy(!store.getUInt32ValueForKey(WebPreferencesKey::verticalScrollbarLocationKey()) ? VerticalScrollbarLocationPolicy::Content : VerticalScrollbarLocationPolicy::View);
&gt; +    settings.setSystemLayoutDirection(static_cast&lt;TextDirection&gt;(store.getUInt32ValueForKey(WebPreferencesKey::verticalScrollbarLocationKey())));

Don&apos;t use static casts here, instead add a conversion function from the WK2 enum to the WebCore enum.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187491</commentid>
    <comment_count>16</comment_count>
      <attachid>277337</attachid>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-04-26 11:42:20 -0700</bug_when>
    <thetext>Comment on attachment 277337
Patch

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

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:83
&gt;&gt; + specified, the placement of vertical scrollbars is affected by the direction of the system.
&gt; 
&gt; &quot;direction of the system&quot; is a bit vague.

WKVerticalScrollbarLocationPolicy sounds awfully specific. How about something like WKUserInterfaceDirectionPolicy, with values .Content and .System?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187492</commentid>
    <comment_count>17</comment_count>
      <attachid>277337</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 11:43:04 -0700</bug_when>
    <thetext>Comment on attachment 277337
Patch

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

&gt;&gt; Source/WebCore/ChangeLog:25
&gt;&gt; +        ultimately held inside the Page&apos;s Settings object.
&gt; 
&gt; Can this API be combined with other &quot;website vs. web technology used to implement native content&quot; settings? I am concerned that we will offer too many separate settings, which is flexible, but makes it too easy to get something wrong.

I agree with this.

I can think of 3 scenarios:
1. I piggyback off of an existing setting. However, it doesn&apos;t seem like the names of any existing settings are general enough for it not to be weird that it also changes scrollbars.
2. I make a new setting: BrowserMode vs AppMode. The implementation of this mode sets a bunch of existing settings. (However, I can&apos;t remove the existing settings because they are API.)
3. Keep fine grained controls

I&apos;m not quite sure which of these is the best way to go.

&gt;&gt; Source/WebCore/page/Settings.h:78
&gt;&gt; +};
&gt; 
&gt; Do we really need the &quot;= 0&quot; and &quot;= 1&quot; here? Do we really need to spread this over two lines? Can this be a boolean instead of an enum?

Yeah, this is for the serialization between the UI process and the web process (the enum is encoded as an int). There are already some examples of code which serializes an enum, and they simply cast the WK2 type as the WebCore type. I&apos;m adding these values to guarantee that the cast works correctly.

&gt;&gt; Source/WebCore/platform/ScrollableArea.h:318
&gt;&gt; +    virtual bool shouldPlaceBlockDirectionScrollbarOnLeft() const = 0;
&gt; 
&gt; I am confused by this name, even though it already exists. What is a &quot;block direction scrollbar&quot;? And does this policy really mean &quot;place it on the left&quot;?

It&apos;s the scrollbar which scrolls in the direction of block progression (So it&apos;s vertical in regular writing-modes, and horizontal in vertical-writing-modes)

&gt;&gt; Source/WebCore/rendering/RenderLayerModelObject.cpp:227
&gt;&gt; +#endif
&gt; 
&gt; This seems peculiar. Why would this code be checking for OS X explicitly and for a specific version. Can’t that policy be applied somewhere that policy naturally belongs and where platform specifics should be instead of inside RenderLayerModelObject?

This is because of the animation of overlay scrollbars. On most versions of OS X, the scrollbars always animate from right to left when you hover the cursor over them (because they are expected to be placed on the right edge of their contents). If this same animation is used when the scroller is placed on the left edge of the contents, the result is very unnatural. We have elected to simply disable this feature entirely on those versions of OS X.

However, the story I just told only holds for OS X. Perhaps I should enable this feature for the other ports.

I describe in the ChangeLog why the renderer is a good place for this logic, but I do agree that it is surprising that scrollbar placement logic in the renderer should be platform-specific. Do you have any ideas about a better place to put this PLATFORM check? Maybe the best solution is a comment.

&gt;&gt; Source/WebCore/rendering/style/RenderStyle.cpp:2083
&gt;&gt;      return false;
&gt; 
&gt; Can’t this policy be applied somewhere that policy naturally belongs and where platform specifics should be instead of inside RenderStyle?

Maybe I should force RTL_SCROLLBAR to be on for all ports.

&gt; LayoutTests/fast/scrolling/rtl-scrollbars-iframe-position-absolute.html:-1
&gt; -&lt;!DOCTYPE html&gt;&lt;!-- webkit-test-runner [ rtlScrollbars=true ] --&gt;

I should delete the handling for this &quot;rtlScrollbars&quot; stuff in WKTR</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187509</commentid>
    <comment_count>18</comment_count>
    <who name="Anders Carlsson">andersca</who>
    <bug_when>2016-04-26 12:55:02 -0700</bug_when>
    <thetext>(In reply to comment #17)
&gt; &gt; Do we really need the &quot;= 0&quot; and &quot;= 1&quot; here? Do we really need to spread this over two lines? Can this be a boolean instead of an enum?
&gt; 
&gt; Yeah, this is for the serialization between the UI process and the web
&gt; process (the enum is encoded as an int). There are already some examples of
&gt; code which serializes an enum, and they simply cast the WK2 type as the
&gt; WebCore type. I&apos;m adding these values to guarantee that the cast works
&gt; correctly.

We don&apos;t need these. Please add a conversion function between these.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187565</commentid>
    <comment_count>19</comment_count>
      <attachid>277418</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 16:01:04 -0700</bug_when>
    <thetext>Created attachment 277418
Addressed some review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187580</commentid>
    <comment_count>20</comment_count>
      <attachid>277422</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 16:43:51 -0700</bug_when>
    <thetext>Created attachment 277422
Addressed some review comments</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187606</commentid>
    <comment_count>21</comment_count>
      <attachid>277337</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 18:14:33 -0700</bug_when>
    <thetext>Comment on attachment 277337
Patch

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

&gt;&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:83
&gt;&gt;&gt; + specified, the placement of vertical scrollbars is affected by the direction of the system.
&gt;&gt; 
&gt;&gt; &quot;direction of the system&quot; is a bit vague.
&gt; 
&gt; WKVerticalScrollbarLocationPolicy sounds awfully specific. How about something like WKUserInterfaceDirectionPolicy, with values .Content and .System?

I like &quot;System&quot; because it allows us to improve the implementation of this in the future to honor post-creation changes to userInterfaceLayoutDirection on the NSView.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187609</commentid>
    <comment_count>22</comment_count>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-26 18:25:00 -0700</bug_when>
    <thetext>Committed r200116: &lt;http://trac.webkit.org/changeset/200116&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187635</commentid>
    <comment_count>23</comment_count>
      <attachid>277422</attachid>
    <who name="">mitz</who>
    <bug_when>2016-04-26 19:56:46 -0700</bug_when>
    <thetext>Comment on attachment 277422
Addressed some review comments

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

&gt; Source/WebCore/ChangeLog:23
&gt; +        WKWebViewConfigurationPolicy. This allows clients to instruct us which policy to

WKWebViewConfiguration.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:87
&gt; +    WKVerticalScrollbarLocationPolicyContent = 0,
&gt; +    WKVerticalScrollbarLocationPolicyView = 1,

We typically don’t assign specific integers to enum values like  this.

&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:145
&gt; +@property (nonatomic) WKVerticalScrollbarLocationPolicy verticalScrollbarLocationPolicy WK_AVAILABLE(WK_MAC_TBA, NA);

Cocoa API typically refers to control as a scroller. In the few occasions that the API uses the term “scroll bar”, it is made up of two separate words, such as in +[NSColor scrollBarColor] or NSAccessibilityScrollBarRole. I think the naming here should align with the rest of the Cocoa API.

Why is this not available in iOS? Are scrolling indicators never used for inner scrollable areas in iOS?

If you decide to keep this unavailable in iOS for some reason, then the enum definition and the property declaration should be guarded by #if !TARGET_OS_IPHONE.

&gt; Source/WebKit2/UIProcess/WebPageProxy.cpp:103
&gt; +#include &quot;WebPreferencesKeys.h&quot;

Why did this become necessary?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187657</commentid>
    <comment_count>24</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-04-26 22:21:15 -0700</bug_when>
    <thetext>(In reply to comment #22)
&gt; Committed r200116: &lt;http://trac.webkit.org/changeset/200116&gt;

It broke the Apple Mac cmake build.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1187692</commentid>
    <comment_count>25</comment_count>
    <who name="Csaba Osztrogonác">ossy</who>
    <bug_when>2016-04-27 01:41:39 -0700</bug_when>
    <thetext>fix landed in http://trac.webkit.org/changeset/200122</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1188859</commentid>
    <comment_count>26</comment_count>
      <attachid>277422</attachid>
    <who name="Myles C. Maxfield">mmaxfield</who>
    <bug_when>2016-04-29 16:33:47 -0700</bug_when>
    <thetext>Comment on attachment 277422
Addressed some review comments

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

&gt;&gt; Source/WebKit2/UIProcess/API/Cocoa/WKWebViewConfiguration.h:145
&gt;&gt; +@property (nonatomic) WKVerticalScrollbarLocationPolicy verticalScrollbarLocationPolicy WK_AVAILABLE(WK_MAC_TBA, NA);
&gt; 
&gt; Cocoa API typically refers to control as a scroller. In the few occasions that the API uses the term “scroll bar”, it is made up of two separate words, such as in +[NSColor scrollBarColor] or NSAccessibilityScrollBarRole. I think the naming here should align with the rest of the Cocoa API.
&gt; 
&gt; Why is this not available in iOS? Are scrolling indicators never used for inner scrollable areas in iOS?
&gt; 
&gt; If you decide to keep this unavailable in iOS for some reason, then the enum definition and the property declaration should be guarded by #if !TARGET_OS_IPHONE.

I honored Anders&apos;s comment below and renamed this to userInterfaceDirectionPolicy.

There is no reason why this shouldn&apos;t exist in iOS; however, all my work has only been on OS X.</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277141</attachid>
            <date>2016-04-22 22:54:18 -0700</date>
            <delta_ts>2016-04-25 12:53:53 -0700</delta_ts>
            <desc>Needs a test</desc>
            <filename>bug-156948-20160422225442.patch</filename>
            <type>text/plain</type>
            <size>14071</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5OTQ2CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI2MDkzNTQyM2Q2YzI3
YmQyYmVlMzA0OTZiMjJkZTYzN2E4OTBiOC4uMGJmZmUyMjFkNWRiNjlmNWY2YTEyMjYwNDU2OWU0
OWU2NzkwMTBiOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA0LTIyICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gW09T
IFhdIENyZWF0ZSBBUEkgZm9yIHN3aXRjaGluZyBSVEwgc2Nyb2xsYmFyIHBvbGljeQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2OTQ4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHR3byB2YWx1ZXMgYXJlIHJlY29yZGVkIGluc2lkZSB0aGUg
U2V0dGluZ3Mgb2JqZWN0LgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAq
IHBhZ2UvU2V0dGluZ3MuaW46CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Xcml0aW5nTW9kZS5o
OgorCiAyMDE2LTA0LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ2Fubm90IGFjY2VzcyB0aGUgU1FMVHJhbnNhY3Rpb24uY29uc3RydWN0b3IucHJvdG90eXBl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggY2M2MmYwMjg3YjRiMTRkNWIxNjBiZWFhYzYxZjMwMmYwM2ZiZTFmNC4u
ODEwYjUxYmM4ZWNkYmZiYmQwZDBkZWM4NDY5ODA0MjU5MjRhMjU1OSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ0IEBACisyMDE2LTA0LTIyICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gW09TIFhdIENyZWF0ZSBBUEkgZm9yIHN3aXRjaGlu
ZyBSVEwgc2Nyb2xsYmFyIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU2OTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHR3byBzY2hvb2xzIG9mIHRob3VnaHQgZm9yIHdoZXJl
IHRvIHB1dCBzY3JvbGxiYXJzIGluIFJUTCBlbnZpcm9ubWVudHMuCisgICAgICAgIFRoZSBmaXJz
dCBpcyB0aGF0IHdlIHNob3VsZCBvYmV5IHRoZSBjb250ZW50J3MgImRpciIgYXR0cmlidXRlLCBz
cGVjaWZpZWQgb24gZWFjaAorICAgICAgICBlbGVtZW50LiBUaGUgc2Vjb25kIGlzIHRoYXQgd2Ug
c2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgcGxhdGZvcm0gKEFwcEtpdCdzKQorICAgICAg
ICBiZWhhdmlvci4KKworICAgICAgICBUaGVyZSBhcmUgc29tZSBzaXR1YXRpb25zIHdoZXJlIHRo
ZSBwbGFjZW1lbnQgc2hvdWxkIGJlIGRvbmUgYWNjb3JkaW5nIHRvIHRoZQorICAgICAgICBjb250
ZW50LiBGb3IgZXhhbXBsZSwgdGhpcyBwb2xpY3kgd291bGQgYmUgdXNlZCBpbiB3ZWIgYnJvd3Nl
cnMuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgYXJlIGFsc28gcGxhY2VzIHdoZXJlIHdlYiBj
b250ZW50IGlzIGRlc2lnbmVkIHRvIGZpdCBzZWFtbGVzc2x5CisgICAgICAgIGFtb25nc3QgbmF0
aXZlIGNvbnRlbnQuIEluIHRoaXMgc2l0dWF0aW9uLCB0aGUgcGxhY2VtZW50IG9mIHRoZSBzY3Jv
bGxiYXJzIHNob3VsZAorICAgICAgICBiZSBkb25lIGFjY29yZGluZyB0byB0aGUgdmlldy4KKwor
ICAgICAgICBCZWNhdXNlIFdlYktpdCBkb2Vzbid0IGtub3cgd2hpY2ggb2YgdGhlc2Ugc2l0dWF0
aW9ucyBpdCBpcyBvcGVyYXRpbmcgd2l0aGluLCB0aGlzCisgICAgICAgIHBhdGNoIGFkZHMgYSBu
ZXcgQVBJIHByb3BlcnR5LCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LCB0bworICAg
ICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uUG9saWN5LiBUaGlzIGFsbG93cyBjbGllbnRzIHRv
IGluc3RydWN0IHVzIHdoaWNoIHBvbGljeSB0bworICAgICAgICBhYmlkZSBieS4gSXQgaXMgcGx1
bWJlZCB0byB0aGUgd2ViIHByb2Nlc3MgaW5zaWRlIHRoZSBXZWJQcmVmZXJlbmNlc1N0b3JlIGFu
ZCBpcworICAgICAgICB1bHRpbWF0ZWx5IGhlbGQgaW5zaWRlIHRoZSBQYWdlJ3MgU2V0dGluZ3Mg
b2JqZWN0LgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6IFRoZSBwbHVtYmluZyBh
Y3Jvc3MgcHJvY2VzcworICAgICAgICBib3VuZGFyaWVzIG9ubHkgb2NjdXJzIG9uY2UsIHdoZW4g
dGhlIHdlYiBwcm9jZXNzIGlzIGNyZWF0ZWQsIHdoaWNoIG9jY3VycyBpbnNpZGUKKyAgICAgICAg
dGhlIFdLV2ViVmlldydzIGluaXQgbWV0aG9kLiBUaGVyZWZvcmUsIGluaXRpYWxseSwgd2hlbiB3
ZSBxdWVyeSBmb3IgdGhlIHZpZXcncworICAgICAgICB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uLCB3ZSByZWNlaXZlIHRoZSBhcHAncyBkaXJlY3Rpb24uCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAoLVtXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBlbmNvZGVXaXRoQ29kZXI6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
aW5pdFdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5
V2l0aFpvbmU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYtMDQtMjIgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4aW5nIGEgdHlwbyBpbiBteSBsYXN0
IGNvbW1pdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaCBiL1Nv
dXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBkMjYwMGY1M2MzYjIzMzk5NzgzMjRk
NDIzZWRmNTdkYmE1MTJhZjY4Li45MWVlYzMxYjRkMzA0NzJhNTM3MzM2OWZiOTg3NjNmNzkzZDIy
ZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0zNSw2ICszNSw3IEBACiAjaW5jbHVkZSAi
VGV4dEZsYWdzLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJVUkwuaCIKKyNpbmNs
dWRlICJXcml0aW5nTW9kZS5oIgogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRlIDxydW50aW1l
L1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdXNjcmlwdC5oPgpAQCAtNzEsNiAr
NzIsMTEgQEAgZW51bSBEZWJ1Z092ZXJsYXlSZWdpb25GbGFncyB7CiAgICAgV2hlZWxFdmVudEhh
bmRsZXJSZWdpb24gPSAxIDw8IDEsCiB9OwogCitlbnVtIGNsYXNzIFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3kgeworICAgIENvbnRlbnQgPSAwLAorICAgIFZpZXcgPSAxCit9OworCiB0
eXBlZGVmIHVuc2lnbmVkIERlYnVnT3ZlcmxheVJlZ2lvbnM7CiAKIGNsYXNzIFNldHRpbmdzIDog
cHVibGljIFJlZkNvdW50ZWQ8U2V0dGluZ3M+IHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCmluZGV4
IDA0ZjEzODdkNGMxYTEwMTMyMjg2MjM4N2Q3ZWU1N2M0NTdiYTRkZTEuLmVkYjUxOTc1N2U1MTE4
ZTg2YjExZTE4ZmNjYmVmN2M1ZDM4ZmNjZWQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAt
MjUxLDMgKzI1MSw2IEBAIGh0dHBFcXVpdkVuYWJsZWQgaW5pdGlhbD10cnVlCiAjIGVuZm9yY2Vz
IGFsbCBmcmFtZSBzYW5kYm94IGZsYWdzIChzZWUgZW51bSBTYW5kYm94RmxhZyBpbiBTZWN1cml0
eUNvbnRleHQuaCksIGFuZCBhbHNvIGRpc2FibGVzIDxtZXRhIGh0dHAtZXF1aXY+CiAjIHByb2Nl
c3NpbmcgYW5kIHN1YmZyYW1lIGxvYWRpbmcuCiBjb250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50
U2FuZGJveEVuYWJsZWQgaW5pdGlhbD1mYWxzZQorCit2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5IHR5cGU9VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSwgaW5pdGlhbD1WZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50CitzeXN0ZW1MYXlvdXREaXJlY3Rp
b24gdHlwZT1UZXh0RGlyZWN0aW9uLCBpbml0aWFsPUxUUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vdGV4dC9Xcml0aW5nTW9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vdGV4dC9Xcml0aW5nTW9kZS5oCmluZGV4IDIzMTBiNDNlNzcwNzgyODdkMGFlYWY4M2E0ODdk
OGM5NzQ2ODdlNWEuLmFjYzRmOTNjY2UxMzIyMGNiY2VmZjEwMmUwYjU4NzhiZGUxOGRjNDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvV3JpdGluZ01vZGUuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1dyaXRpbmdNb2RlLmgKQEAgLTM0LDcgKzM0
LDcgQEAKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1lbnVtIFRleHREaXJlY3Rpb24geyBMVFIs
IFJUTCB9OworZW51bSBUZXh0RGlyZWN0aW9uIHsgTFRSID0gMCwgUlRMID0gMSB9OwogCiBpbmxp
bmUgYm9vbCBpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKFRleHREaXJlY3Rpb24gZGlyZWN0aW9uKQog
ewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25z
LmgKaW5kZXggZTQ4MGMxZTI4NGNhMDYyNGVhMjNiYTdiMTM4YjAzNzlhNWVlNGQxOC4uOGE3YzVi
YWQ4NmU0NGZiNTlhNTlkYTBmYzUzZjE0YWQ0YmM5MTNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0yNTcsNiArMjU3LDgg
QEAKICAgICBtYWNybyhTdG9yYWdlQmxvY2tpbmdQb2xpY3ksIHN0b3JhZ2VCbG9ja2luZ1BvbGlj
eSwgVUludDMyLCB1aW50MzJfdCwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OkJsb2NrVGhpcmRQ
YXJ0eVN0b3JhZ2UsICIiLCAiIikgXAogICAgIG1hY3JvKEphdmFTY3JpcHRSdW50aW1lRmxhZ3Ms
IGphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAog
ICAgIG1hY3JvKERhdGFEZXRlY3RvclR5cGVzLCBkYXRhRGV0ZWN0b3JUeXBlcywgVUludDMyLCB1
aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oVmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
biwgdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbiwgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIi
KSBcCisgICAgbWFjcm8oU3lzdGVtTGF5b3V0RGlyZWN0aW9uLCBzeXN0ZW1MYXlvdXREaXJlY3Rp
b24sIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1Jf
RUFDSF9XRUJLSVRfREVCVUdfQk9PTF9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDlhZjJkMDlhZDY2
YmY1NTNiMmE2OGNlNDllODBlNTliYmQxOGE0MjQuLmZmNjZmOTg5ZTY3ZjJmMzBkMmNmY2FhNjlj
OWEzNTE3ZWI0Y2Y4Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCkBAIC00MDQsNiArNDA0LDExIEBAIC0gKHZvaWQpX2luaXRpYWxpemVX
aXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24K
ICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzS2V5OjpzaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weUtleSgpLCBX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9jb252
ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHldKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZl
cmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aHR0cEVxdWl2RW5h
YmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1
cmF0aW9uIF9hbGxvd3NNZXRhUmVmcmVzaF0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJl
ZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd1VuaXZl
cnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6
OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJM
c10pKTsKKworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25LZXkoKSwg
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZShzdGF0aWNfY2FzdDx1aW50MzJfdD4o
W19jb25maWd1cmF0aW9uIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ldKSkpOworICAg
IC8vIFdlIGFyZSBpbiB0aGUgVmlldydzIGluaXRpYWxpemF0aW9uIHJvdXRpbmUsIHNvIG91ciBj
bGllbnQgaGFzbid0IGhhZCB0aW1lIHRvIHNldCBvdXIgdXNlciBpbnRlcmZhY2UgZGlyZWN0aW9u
LgorICAgIC8vIFRoZXJlZm9yZSwgYWNjb3JkaW5nIHRvIHRoZSBkb2NzLCAidGhpcyBwcm9wZXJ0
eSBjb250YWlucyB0aGUgdmFsdWUgcmVwb3J0ZWQgYnkgdGhlIGFwcOKAmXMgdXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvbiBwcm9wZXJ0eS4iCisgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZl
cmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c3lzdGVtTGF5b3V0
RGlyZWN0aW9uS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoc3RhdGlj
X2Nhc3Q8dWludDMyX3Q+KHNlbGYudXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbikpKTsKICAg
ICAKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VW
YWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c2hvd3NVUkxzSW5Ub29sVGlw
c0VuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29u
ZmlndXJhdGlvbiBfc2hvd3NVUkxzSW5Ub29sVGlwc10pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgK
aW5kZXggNjZkNjUzZjNjMjdmZWU1MWM0Y2NjZGUyNTEwNjMzMmYwMGFmZTE4NS4uMGRkYWNhM2Ix
Mzk5MzZmZGQxNGE0MzI3NjI3Y2QyYWUzMTY5N2IxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgK
QEAgLTczLDYgKzczLDIwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBXS0RhdGFE
ZXRlY3RvclR5cGVzKSB7CiAgICAgV0tEYXRhRGV0ZWN0b3JUeXBlQWxsID0gTlNVSW50ZWdlck1h
eAogfSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKIAorCisvKiEg
QGVudW0gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5CisgQGFic3RyYWN0IFRoZSBt
ZWNoYW5pc20gYnkgd2hpY2ggdmVydGljYWwgc2Nyb2xsYmFycyBvYmV5IGFuIFJUTCBlbnZpcm9u
bWVudAorIEBjb25zdGFudCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50
IFNjcm9sbGJhciBwbGFjZW1lbnQgb2JleXMgQ1NTIC8gSFRNTCAvIFhIVE1MIHNwZWNpZmljYXRp
b25zLgorIEBjb25zdGFudCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lWaWV3IFNj
cm9sbGJhciBwbGFjZW1lbnQgb2JleXMgc3lzdGVtIHBsYXRmb3JtIHNwZWNpZmljYXRpb25zLgor
IEBkaXNjdXNzaW9uIFdoZW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Q29udGVu
dCBpcyBzcGVjaWZpZWQsIHRoZSBwbGFjZW1lbnQgb2YgdmVydGljYWwgc2Nyb2xsYmFycyBpcwor
IGFmZmVjdGVkIGJ5IHRoZSAiZGlyIiBlbGVtZW50IG9yIHRoZSAiZGlyZWN0aW9uIiBDU1MgcHJv
cGVydHkuIFdoZW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5VmlldyBpcworIHNw
ZWNpZmllZCwgdGhlIHBsYWNlbWVudCBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXJzIGlzIGFmZmVjdGVk
IGJ5IHRoZSBkaXJlY3Rpb24gb2YgdGhlIHN5c3RlbS4KKyovCit0eXBlZGVmIE5TX0VOVU0oTlNJ
bnRlZ2VyLCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kpIHsKKyAgICBXS1ZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50ID0gMCwKKyAgICBXS1ZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3lWaWV3ID0gMSwKK30gV0tfRU5VTV9BVkFJTEFCTEUoV0tfTUFD
X1RCQSwgTkEpOworCiAvKiEgQSBXS1dlYlZpZXdDb25maWd1cmF0aW9uIG9iamVjdCBpcyBhIGNv
bGxlY3Rpb24gb2YgcHJvcGVydGllcyB3aXRoCiAgd2hpY2ggdG8gaW5pdGlhbGl6ZSBhIHdlYiB2
aWV3LgogIEBoZWxwcyBDb250YWlucyBwcm9wZXJ0aWVzIHVzZWQgdG8gY29uZmlndXJlIGEgQGxp
bmsgV0tXZWJWaWV3IEAvbGluay4KQEAgLTEyNCw2ICsxMzgsMTIgQEAgV0tfQ0xBU1NfQVZBSUxB
QkxFKDEwXzEwLCA4XzApCiAgKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBXS0RhdGFEZXRlY3Rv
clR5cGVzIGRhdGFEZXRlY3RvclR5cGVzIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1Nf
VEJBKTsKIAorLyohIEBhYnN0cmFjdCBUaGUgcGxhY2VtZW50IGJlaGF2aW9yIG9mIHZlcnRpY2Fs
IHNjcm9sbGJhcnMuCisgQGRpc2N1c3Npb24gUG9zc2libGUgdmFsdWVzIGFyZSBkZXNjcmliZWQg
aW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LgorIFRoZSBkZWZhdWx0IHZhbHVl
IGlzIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQuCisgKi8KK0Bwcm9w
ZXJ0eSAobm9uYXRvbWljKSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgdmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOwor
CiAjaWYgVEFSR0VUX09TX0lQSE9ORQogLyohIEBhYnN0cmFjdCBBIEJvb2xlYW4gdmFsdWUgaW5k
aWNhdGluZyB3aGV0aGVyIEhUTUw1IHZpZGVvcyBwbGF5IGlubGluZQogIChZRVMpIG9yIHVzZSB0
aGUgbmF0aXZlIGZ1bGwtc2NyZWVuIGNvbnRyb2xsZXIgKE5PKS4KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBi
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5tbQppbmRleCA3YjI4MWQ5YzVjYzViYmRhOTJjMmFmOWYyMjc3NWNhZDllOWQ3N2NkLi4yNGIy
ZGU0MjczZjJiNDhkNjkwZThkNjNmYzVjNzcxNmUxNTIzOWYwIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysr
IGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uLm1tCkBAIC0xNDAsNiArMTQwLDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICBfbWVk
aWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gTk87CiAjZWxzZQogICAgIF9tZWRpYURhdGFMb2Fk
c0F1dG9tYXRpY2FsbHkgPSBZRVM7CisgICAgX3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3kgPSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50OwogI2VuZGlmCiAg
ICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBOTzsKICAgICBfcmVxdWly
ZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IE5POwpAQCAtMTk4LDYgKzE5OSw3IEBAIC0g
KHZvaWQpZW5jb2RlV2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICBbY29kZXIgZW5jb2Rl
T2JqZWN0OnNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50IGZvcktleTpAImFwcGxpY2F0
aW9uTmFtZUZvclVzZXJBZ2VudCJdOwogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dz
QWlyUGxheUZvck1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dzQWlyUGxheUZvck1lZGlhUGxh
eWJhY2siXTsKICAgICBbY29kZXIgZW5jb2RlSW50ZWdlcjpzZWxmLmRhdGFEZXRlY3RvclR5cGVz
IGZvcktleTpAImRhdGFEZXRlY3RvclR5cGVzIl07CisgICAgW2NvZGVyIGVuY29kZUludGVnZXI6
c2VsZi52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IGZvcktleTpAInZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3kiXTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBbY29kZXIg
ZW5jb2RlQm9vbDpzZWxmLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayJdOwpAQCAtMjIxLDYgKzIyMyw3IEBAIC0gKGluc3RhbmNldHlw
ZSlpbml0V2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICBzZWxmLmFwcGxpY2F0aW9uTmFt
ZUZvclVzZXJBZ2VudCA9IFtjb2RlciBkZWNvZGVPYmplY3RGb3JLZXk6QCJhcHBsaWNhdGlvbk5h
bWVGb3JVc2VyQWdlbnQiXTsKICAgICBzZWxmLmFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNr
ID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFj
ayJdOwogICAgIHNlbGYuZGF0YURldGVjdG9yVHlwZXMgPSBbY29kZXIgZGVjb2RlSW50ZWdlckZv
cktleTpAImRhdGFEZXRlY3RvclR5cGVzIl07CisgICAgc2VsZi52ZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5ID0gc3RhdGljX2Nhc3Q8V0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5PihbY29kZXIgZGVjb2RlSW50ZWdlckZvcktleTpAInZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3kiXSk7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgc2VsZi5hbGxvd3NJbmxpbmVN
ZWRpYVBsYXliYWNrID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJhbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrIl07CkBAIC0yNjYsNiArMjY5LDggQEAgLSAoaWQpY29weVdpdGhab25lOihOU1pv
bmUgKil6b25lCiAgICAgY29uZmlndXJhdGlvbi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlv
UGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazsKICAg
ICBjb25maWd1cmF0aW9uLT5fbWFpbkNvbnRlbnRVc2VyR2VzdHVyZU92ZXJyaWRlRW5hYmxlZCA9
IHNlbGYtPl9tYWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkOwogCisgICAgY29u
ZmlndXJhdGlvbi0+X3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgPSBzZWxmLT5fdmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTsKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICBj
b25maWd1cmF0aW9uLT5fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9hbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9pbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9IHNlbGYtPl9pbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNDMxOTJjNWQxMDI2M2NmZGY3YjIxNWEyZmJmMDM0Mzkw
YjM1NTAyNi4uYzQwZjkwMmY4ZmZjYmI0ZjIzN2Q5NjUxZjFmYTY3OGIwNmI1MjkzMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwMCw2ICsxMDAsNyBA
QAogI2luY2x1ZGUgIldlYlBvcHVwSXRlbS5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5
LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNl
c0tleXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQ
cm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGQ3YTdiYmUyNDg0OWQ1
YTc5ZjgwYjUyYTk4ZmI1ODkyNWNhNzljN2EuLmY5NTNmOGFiZDhhYzQ0ZmUzMTg0ODFlNjU1ZmYx
NjI0ODE2NjJlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFn
ZS9XZWJQYWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2Vi
UGFnZS5jcHAKQEAgLTMwNzIsNiArMzA3Miw5IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVy
ZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAKICAgICBzZXR0aW5ncy5z
ZXRTaG91bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzKHRydWUpOwogCisg
ICAgc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSghc3RvcmUuZ2V0
VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25LZXkoKSkgPyBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50IDog
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Vmlldyk7CisgICAgc2V0dGluZ3Muc2V0
U3lzdGVtTGF5b3V0RGlyZWN0aW9uKHN0YXRpY19jYXN0PFRleHREaXJlY3Rpb24+KHN0b3JlLmdl
dFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp2ZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uS2V5KCkpKSk7CisKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2luY2x1ZGUg
PFdlYktpdEFkZGl0aW9ucy9XZWJQYWdlUHJlZmVyZW5jZXMuY3BwPgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277269</attachid>
            <date>2016-04-25 12:53:57 -0700</date>
            <delta_ts>2016-04-25 18:44:47 -0700</delta_ts>
            <desc>WIP</desc>
            <filename>bug-156948-20160425125424.patch</filename>
            <type>text/plain</type>
            <size>40153</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5OTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI2MDkzNTQyM2Q2YzI3
YmQyYmVlMzA0OTZiMjJkZTYzN2E4OTBiOC4uZjVmN2ZiNzczMjI3N2FhMzBlZGQ1MTFiMDcyMjM5
YTNlMjY4NTViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDE4IEBACisyMDE2LTA0LTI1ICBNeWxl
cyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gW09T
IFhdIENyZWF0ZSBBUEkgZm9yIHN3aXRjaGluZyBSVEwgc2Nyb2xsYmFyIHBvbGljeQorICAgICAg
ICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2OTQ4CisKKyAgICAg
ICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgTm8gbmV3IHRlc3RzIChP
T1BTISkuCisKKyAgICAgICAgVGhlIHR3byB2YWx1ZXMgYXJlIHJlY29yZGVkIGluc2lkZSB0aGUg
U2V0dGluZ3Mgb2JqZWN0LgorCisgICAgICAgICogcGFnZS9TZXR0aW5ncy5oOgorICAgICAgICAq
IHBhZ2UvU2V0dGluZ3MuaW46CisgICAgICAgICogcGxhdGZvcm0vdGV4dC9Xcml0aW5nTW9kZS5o
OgorCiAyMDE2LTA0LTIyICBDaHJpcyBEdW1leiAgPGNkdW1lekBhcHBsZS5jb20+CiAKICAgICAg
ICAgQ2Fubm90IGFjY2VzcyB0aGUgU1FMVHJhbnNhY3Rpb24uY29uc3RydWN0b3IucHJvdG90eXBl
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKaW5kZXggY2M2MmYwMjg3YjRiMTRkNWIxNjBiZWFhYzYxZjMwMmYwM2ZiZTFmNC4u
YzM1NzRmYTI4YjI3NmJiMmI0ZDI1ZmIzNmZlYmZmOGFkOGI1ZWNjOCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDQ0IEBACisyMDE2LTA0LTI1ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBh
cHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gW09TIFhdIENyZWF0ZSBBUEkgZm9yIHN3aXRjaGlu
ZyBSVEwgc2Nyb2xsYmFyIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9z
aG93X2J1Zy5jZ2k/aWQ9MTU2OTQ4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BT
ISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHR3byBzY2hvb2xzIG9mIHRob3VnaHQgZm9yIHdoZXJl
IHRvIHB1dCBzY3JvbGxiYXJzIGluIFJUTCBlbnZpcm9ubWVudHMuCisgICAgICAgIFRoZSBmaXJz
dCBpcyB0aGF0IHdlIHNob3VsZCBvYmV5IHRoZSBjb250ZW50J3MgImRpciIgYXR0cmlidXRlLCBz
cGVjaWZpZWQgb24gZWFjaAorICAgICAgICBlbGVtZW50LiBUaGUgc2Vjb25kIGlzIHRoYXQgd2Ug
c2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgcGxhdGZvcm0gKEFwcEtpdCdzKQorICAgICAg
ICBiZWhhdmlvci4KKworICAgICAgICBUaGVyZSBhcmUgc29tZSBzaXR1YXRpb25zIHdoZXJlIHRo
ZSBwbGFjZW1lbnQgc2hvdWxkIGJlIGRvbmUgYWNjb3JkaW5nIHRvIHRoZQorICAgICAgICBjb250
ZW50LiBGb3IgZXhhbXBsZSwgdGhpcyBwb2xpY3kgd291bGQgYmUgdXNlZCBpbiB3ZWIgYnJvd3Nl
cnMuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgYXJlIGFsc28gcGxhY2VzIHdoZXJlIHdlYiBj
b250ZW50IGlzIGRlc2lnbmVkIHRvIGZpdCBzZWFtbGVzc2x5CisgICAgICAgIGFtb25nc3QgbmF0
aXZlIGNvbnRlbnQuIEluIHRoaXMgc2l0dWF0aW9uLCB0aGUgcGxhY2VtZW50IG9mIHRoZSBzY3Jv
bGxiYXJzIHNob3VsZAorICAgICAgICBiZSBkb25lIGFjY29yZGluZyB0byB0aGUgdmlldy4KKwor
ICAgICAgICBCZWNhdXNlIFdlYktpdCBkb2Vzbid0IGtub3cgd2hpY2ggb2YgdGhlc2Ugc2l0dWF0
aW9ucyBpdCBpcyBvcGVyYXRpbmcgd2l0aGluLCB0aGlzCisgICAgICAgIHBhdGNoIGFkZHMgYSBu
ZXcgQVBJIHByb3BlcnR5LCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LCB0bworICAg
ICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uUG9saWN5LiBUaGlzIGFsbG93cyBjbGllbnRzIHRv
IGluc3RydWN0IHVzIHdoaWNoIHBvbGljeSB0bworICAgICAgICBhYmlkZSBieS4gSXQgaXMgcGx1
bWJlZCB0byB0aGUgd2ViIHByb2Nlc3MgaW5zaWRlIHRoZSBXZWJQcmVmZXJlbmNlc1N0b3JlIGFu
ZCBpcworICAgICAgICB1bHRpbWF0ZWx5IGhlbGQgaW5zaWRlIHRoZSBQYWdlJ3MgU2V0dGluZ3Mg
b2JqZWN0LgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoK
KyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1b
V0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6IFRoZSBwbHVtYmluZyBh
Y3Jvc3MgcHJvY2VzcworICAgICAgICBib3VuZGFyaWVzIG9ubHkgb2NjdXJzIG9uY2UsIHdoZW4g
dGhlIHdlYiBwcm9jZXNzIGlzIGNyZWF0ZWQsIHdoaWNoIG9jY3VycyBpbnNpZGUKKyAgICAgICAg
dGhlIFdLV2ViVmlldydzIGluaXQgbWV0aG9kLiBUaGVyZWZvcmUsIGluaXRpYWxseSwgd2hlbiB3
ZSBxdWVyeSBmb3IgdGhlIHZpZXcncworICAgICAgICB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uLCB3ZSByZWNlaXZlIHRoZSBhcHAncyBkaXJlY3Rpb24uCisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAoLVtXS1dlYlZp
ZXdDb25maWd1cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlv
biBlbmNvZGVXaXRoQ29kZXI6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24g
aW5pdFdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5
V2l0aFpvbmU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAg
ICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpX
ZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYtMDQtMjIgIFJ5YW4gSGFkZGFkICA8
cnlhbmhhZGRhZEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4aW5nIGEgdHlwbyBpbiBteSBsYXN0
IGNvbW1pdC4KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAppbmRleCA2NzFiYTVlYzMyZTIzYmZi
NzM2ZDNkNmI5YzgyNDFjM2M4YjkxODNhLi5iYTZlMDNiYWQ4YzIyNjkwMzlkOTk1NjdjYjY4NTVm
NGJhN2Y4NDBhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBAIC00OTY4LDUgKzQ5Njgs
MTIgQEAgSW50U2l6ZSBGcmFtZVZpZXc6OnZpZXdwb3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMo
KSBjb25zdAogICAgIC8vIHByb3BlcnR5IG9uIHRoZSByb290IGVsZW1lbnQuCiAgICAgcmV0dXJu
IHZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ1Njcm9sbGJhcnMoKS5zaXplKCk7CiB9CisKK2Jv
b2wgRnJhbWVWaWV3OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkg
Y29uc3QKK3sKKyAgICBpZiAoYXV0byogcmVuZGVyVmlldyA9IHRoaXMtPnJlbmRlclZpZXcoKSkK
KyAgICAgICAgcmV0dXJuIHJlbmRlclZpZXctPnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3Jv
bGxiYXJPbkxlZnQoKTsKKyAgICByZXR1cm4gZmFsc2U7Cit9CiAgICAgCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAppbmRleCA5Nzc1M2RjMjEzNTNiNmMwNGVj
Yzg2OTJkZGQ3ODU0MWNjNTg1YWI0Li40YTkwMWM4ZTZmZDBiNjJkNGEzZWYwZWFiMjE3NTNlMzc3
MWMwNzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBi
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKQEAgLTU1Nyw2ICs1NTcsOCBAQCBwdWJs
aWM6CiAKICAgICB2b2lkIHNob3coKSBvdmVycmlkZTsKIAorICAgIGJvb2wgc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0IG92ZXJyaWRlOworCiBwcm90ZWN0
ZWQ6CiAgICAgYm9vbCBzY3JvbGxDb250ZW50c0Zhc3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9s
bERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9TY3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBS
ZWN0KSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9sbENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50
UmVjdCYgdXBkYXRlUmVjdCkgb3ZlcnJpZGU7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggZDI2
MDBmNTNjM2IyMzM5OTc4MzI0ZDQyM2VkZjU3ZGJhNTEyYWY2OC4uOTFlZWMzMWI0ZDMwNDcyYTUz
NzMzNjlmYjk4NzYzZjc5M2QyMmRlMyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9T
ZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaApAQCAtMzUsNiAr
MzUsNyBAQAogI2luY2x1ZGUgIlRleHRGbGFncy5oIgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5j
bHVkZSAiVVJMLmgiCisjaW5jbHVkZSAiV3JpdGluZ01vZGUuaCIKICNpbmNsdWRlIDxjaHJvbm8+
CiAjaW5jbHVkZSA8cnVudGltZS9SdW50aW1lRmxhZ3MuaD4KICNpbmNsdWRlIDx1bmljb2RlL3Vz
Y3JpcHQuaD4KQEAgLTcxLDYgKzcyLDExIEBAIGVudW0gRGVidWdPdmVybGF5UmVnaW9uRmxhZ3Mg
ewogICAgIFdoZWVsRXZlbnRIYW5kbGVyUmVnaW9uID0gMSA8PCAxLAogfTsKIAorZW51bSBjbGFz
cyBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IHsKKyAgICBDb250ZW50ID0gMCwKKyAg
ICBWaWV3ID0gMQorfTsKKwogdHlwZWRlZiB1bnNpZ25lZCBEZWJ1Z092ZXJsYXlSZWdpb25zOwog
CiBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBSZWZDb3VudGVkPFNldHRpbmdzPiB7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5pbgppbmRleCAwNGYxMzg3ZDRjMWExMDEzMjI4NjIzODdkN2VlNTdjNDU3YmE0
ZGUxLi5lZGI1MTk3NTdlNTExOGU4NmIxMWUxOGZjY2JlZjdjNWQzOGZjY2VkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaW4KQEAgLTI1MSwzICsyNTEsNiBAQCBodHRwRXF1aXZFbmFibGVkIGluaXRp
YWw9dHJ1ZQogIyBlbmZvcmNlcyBhbGwgZnJhbWUgc2FuZGJveCBmbGFncyAoc2VlIGVudW0gU2Fu
ZGJveEZsYWcgaW4gU2VjdXJpdHlDb250ZXh0LmgpLCBhbmQgYWxzbyBkaXNhYmxlcyA8bWV0YSBo
dHRwLWVxdWl2PgogIyBwcm9jZXNzaW5nIGFuZCBzdWJmcmFtZSBsb2FkaW5nLgogY29udGVudERp
c3Bvc2l0aW9uQXR0YWNobWVudFNhbmRib3hFbmFibGVkIGluaXRpYWw9ZmFsc2UKKwordmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSB0eXBlPVZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3ksIGluaXRpYWw9VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudAor
c3lzdGVtTGF5b3V0RGlyZWN0aW9uIHR5cGU9VGV4dERpcmVjdGlvbiwgaW5pdGlhbD1MVFIKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKaW5kZXggZjc5ZDc3NWZkNmZkN2M2N2Fh
NmJkY2NmNjAwNTljNTkzZWMzMWViMS4uZjIyZDZiZjg5Y2YyZGI2Mzk5MjYzY2M5MDlmNjI4Njc3
ODE4NTcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTQwNSw3
ICs0MDUsNyBAQCBTY3JvbGxQb3NpdGlvbiBTY3JvbGxWaWV3OjphZGp1c3RTY3JvbGxQb3NpdGlv
bldpdGhpblJhbmdlKGNvbnN0IFNjcm9sbFBvc2l0aW9uJgogU2Nyb2xsUG9zaXRpb24gU2Nyb2xs
Vmlldzo6ZG9jdW1lbnRTY3JvbGxQb3NpdGlvblJlbGF0aXZlVG9WaWV3T3JpZ2luKCkgY29uc3QK
IHsKICAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb24oKSAtIEludFNpemUoCi0gICAgICAgIHZlcnRp
Y2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyID8gbV92ZXJ0aWNh
bFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpIDogMCwKKyAgICAgICAgc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3Zl
cnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCkgOiAwLAogICAgICAgICBoZWFkZXJIZWln
aHQoKSArIHRvcENvbnRlbnRJbnNldChUb3BDb250ZW50SW5zZXRUeXBlOjpXZWJDb3JlT3JQbGF0
Zm9ybUNvbnRlbnRJbnNldCkpOwogfQogCkBAIC03MTksNyArNzE5LDcgQEAgdm9pZCBTY3JvbGxW
aWV3Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRp
b24pCiAgICAgICAgIGludCBjbGllbnRXaWR0aCA9IHZpc2libGVXaWR0aCgpOwogICAgICAgICBp
bnQgcGFnZVN0ZXAgPSBTY3JvbGxiYXI6OnBhZ2VTdGVwKGNsaWVudFdpZHRoKTsKICAgICAgICAg
SW50UmVjdCBvbGRSZWN0KG1faG9yaXpvbnRhbFNjcm9sbGJhci0+ZnJhbWVSZWN0KCkpOwotICAg
ICAgICBJbnRSZWN0IGhCYXJSZWN0KHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3Zl
cnRpY2FsU2Nyb2xsYmFyID8gbV92ZXJ0aWNhbFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpIDog
MCwKKyAgICAgICAgSW50UmVjdCBoQmFyUmVjdChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Ny
b2xsYmFyT25MZWZ0KCkgJiYgbV92ZXJ0aWNhbFNjcm9sbGJhciA/IG1fdmVydGljYWxTY3JvbGxi
YXItPm9jY3VwaWVkV2lkdGgoKSA6IDAsCiAgICAgICAgICAgICBoZWlnaHQoKSAtIG1faG9yaXpv
bnRhbFNjcm9sbGJhci0+aGVpZ2h0KCksCiAgICAgICAgICAgICB3aWR0aCgpIC0gKG1fdmVydGlj
YWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCkgOiAwKSwK
ICAgICAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0KCkpOwpAQCAtNzQwLDcg
Kzc0MCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25zdCBTY3JvbGxQ
b3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAgICAgICBpbnQgY2xpZW50SGVpZ2h0ID0gdmlz
aWJsZUhlaWdodCgpOwogICAgICAgICBpbnQgcGFnZVN0ZXAgPSBTY3JvbGxiYXI6OnBhZ2VTdGVw
KGNsaWVudEhlaWdodCk7CiAgICAgICAgIEludFJlY3Qgb2xkUmVjdChtX3ZlcnRpY2FsU2Nyb2xs
YmFyLT5mcmFtZVJlY3QoKSk7Ci0gICAgICAgIEludFJlY3QgdkJhclJlY3QodmVydGljYWxTY3Jv
bGxiYXJJc09uTGVmdCgpID8gMCA6IHdpZHRoKCkgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0
aCgpLAorICAgICAgICBJbnRSZWN0IHZCYXJSZWN0KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25T
Y3JvbGxiYXJPbkxlZnQoKSA/IDAgOiB3aWR0aCgpIC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lk
dGgoKSwKICAgICAgICAgICAgIHRvcENvbnRlbnRJbnNldCgpLAogICAgICAgICAgICAgbV92ZXJ0
aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAgICAgICAgIGhlaWdodCgpIC0gdG9wQ29udGVu
dEluc2V0KCkgLSAobV9ob3Jpem9udGFsU2Nyb2xsYmFyID8gbV9ob3Jpem9udGFsU2Nyb2xsYmFy
LT5vY2N1cGllZEhlaWdodCgpIDogMCkpOwpAQCAtMTEzNCwxNCArMTEzNCwxNCBAQCBJbnRSZWN0
IFNjcm9sbFZpZXc6OnNjcm9sbENvcm5lclJlY3QoKSBjb25zdAogICAgIGludCBoZWlnaHRUcmFj
a2VkQnlTY3JvbGxiYXIgPSBoZWlnaHQoKSAtIHRvcENvbnRlbnRJbnNldCgpOwogCiAgICAgaWYg
KG1faG9yaXpvbnRhbFNjcm9sbGJhciAmJiB3aWR0aCgpIC0gbV9ob3Jpem9udGFsU2Nyb2xsYmFy
LT53aWR0aCgpID4gMCkgewotICAgICAgICBjb3JuZXJSZWN0LnVuaXRlKEludFJlY3QodmVydGlj
YWxTY3JvbGxiYXJJc09uTGVmdCgpID8gMCA6IG1faG9yaXpvbnRhbFNjcm9sbGJhci0+d2lkdGgo
KSwKKyAgICAgICAgY29ybmVyUmVjdC51bml0ZShJbnRSZWN0KHNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IDAgOiBtX2hvcml6b250YWxTY3JvbGxiYXItPndpZHRo
KCksCiAgICAgICAgICAgICBoZWlnaHQoKSAtIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0
KCksCiAgICAgICAgICAgICB3aWR0aCgpIC0gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgp
LAogICAgICAgICAgICAgbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5oZWlnaHQoKSkpOwogICAgIH0K
IAogICAgIGlmIChtX3ZlcnRpY2FsU2Nyb2xsYmFyICYmIGhlaWdodFRyYWNrZWRCeVNjcm9sbGJh
ciAtIG1fdmVydGljYWxTY3JvbGxiYXItPmhlaWdodCgpID4gMCkgewotICAgICAgICBjb3JuZXJS
ZWN0LnVuaXRlKEludFJlY3QodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gMCA6IHdpZHRo
KCkgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0aCgpLAorICAgICAgICBjb3JuZXJSZWN0LnVu
aXRlKEludFJlY3Qoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8g
MCA6IHdpZHRoKCkgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAg
bV92ZXJ0aWNhbFNjcm9sbGJhci0+aGVpZ2h0KCkgKyB0b3BDb250ZW50SW5zZXQoKSwKICAgICAg
ICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXItPndpZHRoKCksCiAgICAgICAgICAgICBoZWlnaHRU
cmFja2VkQnlTY3JvbGxiYXIgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5oZWlnaHQoKSkpOwpAQCAt
MTUwMiw3ICsxNTAyLDcgQEAgdm9pZCBTY3JvbGxWaWV3OjpzdHlsZURpZENoYW5nZSgpCiBJbnRQ
b2ludCBTY3JvbGxWaWV3Ojpsb2NhdGlvbk9mQ29udGVudHMoKSBjb25zdAogewogICAgIEludFBv
aW50IHJlc3VsdCA9IGxvY2F0aW9uKCk7Ci0gICAgaWYgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxl
ZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92ZXJ0aWNhbFNjcm9sbGJhcikKICAgICAgICAg
cmVzdWx0Lm1vdmUobV92ZXJ0aWNhbFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpLCAwKTsKICAg
ICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuY3BwCmluZGV4IGQzYTM1ZTIxMWM5MmFmZWJmODQ0NGFlZDA0MjE0MzM4OGU2NDQzNmUuLjYw
ZmU5M2RhZGQ2NTcwOWEwMjEwNjA2ODlkMjQ2YTU1NTVjM2U4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKQEAgLTY4OSwxNiArNjg5LDQgQEAgdm9pZCBT
Y3JvbGxhYmxlQXJlYTo6Y29tcHV0ZVNjcm9sbGJhclZhbHVlQW5kT3ZlcmhhbmcoZmxvYXQgY3Vy
cmVudFBvc2l0aW9uLCBmbG8KICAgICB9CiB9CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCi1ib29s
IFNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgY29uc3QKLXsKLSAg
ICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgU2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdl
SXNSVEwoKQotewotICAgIHJldHVybiBmYWxzZTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxl
QXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCAz
ZmRhYWI0Y2QzY2FkNmM3ODJhOGFlNmRjNDdhMGI5NjYwOWJmNmMxLi4wOTlhMzUxNGI0ZGNkNTY5
NTFjNDZkZWUxZGFkYzA5ODkxNTRhNDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9s
bGFibGVBcmVhLmgKQEAgLTMxNSw4ICszMTUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29s
IHVzZXNNb2NrU2Nyb2xsQW5pbWF0b3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZp
cnR1YWwgdm9pZCBsb2dNb2NrU2Nyb2xsQW5pbWF0b3JNZXNzYWdlKGNvbnN0IFN0cmluZyYpIGNv
bnN0IHsgfTsKIAotICAgIGJvb2wgdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpIGNvbnN0Owot
ICAgIHN0YXRpYyBib29sIHN5c3RlbUxhbmd1YWdlSXNSVEwoKTsKKyAgICB2aXJ0dWFsIGJvb2wg
c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0ID0gMDsKIAog
cHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JUIFNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYWJsZUFyZWFNYWMubW0gYi9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYWJsZUFyZWFNYWMubW0KaW5kZXggMjdl
NTVhZTk5Njg4MjgxYzg1NDU2MGI2NzdlYzg2ZWY1NTFlZDVkOS4uMGFlYTM3MGFhZmEzNjkxOGJh
ZjgxOGJkMDAwMTU5YzZiYTViMzVjZiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbGFibGVBcmVhTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxhYmxlQXJlYU1hYy5tbQpAQCAtMzcsMjEgKzM3LDQgQEAKIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi0vLyBJdCdzIGNvbmNlaXZhYmxlIHRoYXQgaW4gdGhlIGZ1dHVyZSwgd2Ug
bWF5IHdhbnQgc29tZSBzY3JvbGxiYXJzIHRvIGJlIG9uIHRoZSByaWdodCB3aGlsZSBvdGhlciBz
Y3JvbGxiYXJzIGluIHRoZSBzYW1lIGRvY3VtZW50IGFyZSBvbiB0aGUgbGVmdC4KLS8vIFRoaXMg
bm9uLXN0YXRpYyBmdW5jdGlvbiBvbiB0aGUgU2Nyb2xsYWJsZUFyZWEgbWFrZXMgdGhhdCBwb3Nz
aWJsZS4KLWJvb2wgU2Nyb2xsYWJsZUFyZWE6OnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSBj
b25zdAotewotICAgIHJldHVybiBzeXN0ZW1MYW5ndWFnZUlzUlRMKCk7Ci19Ci0KLWJvb2wgU2Ny
b2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwoKQotewotI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKLSAgICBzdGF0aWMg
Ym9vbCByZXN1bHQgPSBbW05TU2Nyb2xsZXJJbXBQYWlyIGNsYXNzXSByZXNwb25kc1RvU2VsZWN0
b3I6QHNlbGVjdG9yKHNjcm9sbGVyTGF5b3V0RGlyZWN0aW9uKV0gJiYgW05TU2Nyb2xsZXJJbXBQ
YWlyIHNjcm9sbGVyTGF5b3V0RGlyZWN0aW9uXSA9PSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJl
Y3Rpb25SaWdodFRvTGVmdDsKLSAgICByZXR1cm4gcmVzdWx0OwotI2Vsc2UKLSAgICByZXR1cm4g
ZmFsc2U7Ci0jZW5kaWYKLX0KLQogfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFj
L1Njcm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IGYyMzk2NjFmOTVkMGNmZjkyYjYwOWFiMmVjYzcx
MTliZTI4MDk2ZDkuLjk5ZTAyYWU0ODRmMDQwZjdiMGMzMWZmYzI5ZWI5NWFhYTQyNTYwNzcgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5t
bQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0K
QEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIFNjcm9sbGJhclRoZW1lTWFjOjpkaWRDcmVhdGVTY3Jv
bGxlckltcChTY3JvbGxiYXImIHNjcm9sbGJhcikKICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFD
X09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwCiAgICAgTlNTY3JvbGxlckltcCAq
c2Nyb2xsZXJJbXAgPSBwYWludGVyRm9yU2Nyb2xsYmFyKHNjcm9sbGJhcik7CiAgICAgQVNTRVJU
KHNjcm9sbGVySW1wKTsKLSAgICBzY3JvbGxlckltcC51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uID0gc2Nyb2xsYmFyLnNjcm9sbGFibGVBcmVhKCkudmVydGljYWxTY3JvbGxiYXJJc09uTGVm
dCgpID8gTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnQgOiBOU1VzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb25MZWZ0VG9SaWdodDsKKyAgICBzY3JvbGxlckltcC51c2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID0gc2Nyb2xsYmFyLnNjcm9sbGFibGVBcmVhKCkuc2hv
dWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gTlNVc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnQgOiBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rp
b25MZWZ0VG9SaWdodDsKICNlbHNlCiAgICAgVU5VU0VEX1BBUkFNKHNjcm9sbGJhcik7CiAjZW5k
aWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvV3JpdGluZ01vZGUu
aCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvV3JpdGluZ01vZGUuaAppbmRleCAyMzEw
YjQzZTc3MDc4Mjg3ZDBhZWFmODNhNDg3ZDhjOTc0Njg3ZTVhLi5hY2M0ZjkzY2NlMTMyMjBjYmNl
ZmYxMDJlMGI1ODc4YmRlMThkYzQ2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS90ZXh0L1dyaXRpbmdNb2RlLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9X
cml0aW5nTW9kZS5oCkBAIC0zNCw3ICszNCw3IEBACiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAot
ZW51bSBUZXh0RGlyZWN0aW9uIHsgTFRSLCBSVEwgfTsKK2VudW0gVGV4dERpcmVjdGlvbiB7IExU
UiA9IDAsIFJUTCA9IDEgfTsKIAogaW5saW5lIGJvb2wgaXNMZWZ0VG9SaWdodERpcmVjdGlvbihU
ZXh0RGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHAKaW5kZXggN2YwY2I3NjEzOWYxMmQyOGQ5Y2UyZWNhZjI5N2IwYjYxNWUxYTFmOS4uMGM1
OWU0ZTZhNzNjNTc5ZDhkMmMzMDViMzIwNGU2NTdlMjg1ZTgwNiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveC5jcHAKQEAgLTY5Myw3ICs2OTMsNyBAQCBSb3VuZGVkUmVjdDo6UmFk
aWkgUmVuZGVyQm94Ojpib3JkZXJSYWRpaSgpIGNvbnN0CiBMYXlvdXRSZWN0IFJlbmRlckJveDo6
Y29udGVudEJveFJlY3QoKSBjb25zdAogewogICAgIExheW91dFVuaXQgeCA9IGJvcmRlckxlZnQo
KSArIHBhZGRpbmdMZWZ0KCk7Ci0gICAgaWYgKGxheWVyKCkgJiYgbGF5ZXIoKS0+dmVydGljYWxT
Y3JvbGxiYXJJc09uTGVmdCgpKQorICAgIGlmIChsYXllcigpICYmIGxheWVyKCktPnNob3VsZFBs
YWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgeCArPSB2ZXJ0aWNh
bFNjcm9sbGJhcldpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCB5ID0gYm9yZGVyVG9wKCkgKyBwYWRk
aW5nVG9wKCk7CiAgICAgcmV0dXJuIExheW91dFJlY3QoeCwgeSwgY29udGVudFdpZHRoKCksIGNv
bnRlbnRIZWlnaHQoKSk7CkBAIC0zNTM0LDcgKzM1MzQsNyBAQCB2b2lkIFJlbmRlckJveDo6Y29t
cHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzJiBj
b21wdQogICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ICs9IGJvcmRlcnNQbHVzUGFkZGluZzsK
ICAgICBpZiAoaXM8UmVuZGVyQm94Pihjb250YWluZXJCbG9jaykpIHsKICAgICAgICAgYXV0byYg
Y29udGFpbmluZ0JveCA9IGRvd25jYXN0PFJlbmRlckJveD4oY29udGFpbmVyQmxvY2spOwotICAg
ICAgICBpZiAoY29udGFpbmluZ0JveC5sYXllcigpICYmIGNvbnRhaW5pbmdCb3gubGF5ZXIoKS0+
dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpKQorICAgICAgICBpZiAoY29udGFpbmluZ0JveC5s
YXllcigpICYmIGNvbnRhaW5pbmdCb3gubGF5ZXIoKS0+c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlv
blNjcm9sbGJhck9uTGVmdCgpKQogICAgICAgICAgICAgY29tcHV0ZWRWYWx1ZXMubV9wb3NpdGlv
biArPSBjb250YWluaW5nQm94LnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsKICAgICB9CiAgICAg
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCmluZGV4IGRlN2Q4ZGJiNzVlM2I0
NTEwNGYxZTMyYmMwMGU0MjVhZmVhNzA5OWUuLjI2YWU1MGFjMTA5ZWRjNzkxODU2MjJlODVhZDcz
MTk2Y2EyYmVkZDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC02
NzEsNiArNjcxLDggQEAgcHVibGljOgogCiAgICAgUmVuZGVyTGF5ZXIqIGVuY2xvc2luZ0Zsb3dU
aHJlYWRBbmNlc3RvcigpIGNvbnN0OwogCisgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0
aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gcmVuZGVyZXIoKS5z
aG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCk7IH0KKwogcHJpdmF0ZToK
ICAgICBlbnVtIENvbGxlY3RMYXllcnNCZWhhdmlvciB7IFN0b3BBdFN0YWNraW5nQ29udGV4dHMs
IFN0b3BBdFN0YWNraW5nQ29udGFpbmVycyB9OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4IDEzNWRkMWIyNmEyNGNkOTIy
ZDY4MGQwZDgxNGM2ZDZlMTNjYzQ3NzQuLjZiM2FkMGEzZjRhMzA1NmEwZGE0NDRlMGJlOWFmYWI4
MzBiZTQ2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCkBAIC0xNzYzLDcgKzE3NjMsNyBAQCBGbG9hdFBvaW50IFJlbmRlckxh
eWVyQ29tcG9zaXRvcjo6cG9zaXRpb25Gb3JDbGlwTGF5ZXIoKSBjb25zdAogICAgIEZyYW1lVmll
dyYgZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygpOwogCiAgICAgcmV0dXJuIEZs
b2F0UG9pbnQoCi0gICAgICAgIGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkg
PyBmcmFtZVZpZXcuaG9yaXpvbnRhbFNjcm9sbGJhckludHJ1c2lvbigpIDogMCwKKyAgICAgICAg
ZnJhbWVWaWV3LnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IGZy
YW1lVmlldy5ob3Jpem9udGFsU2Nyb2xsYmFySW50cnVzaW9uKCkgOiAwLAogICAgICAgICBGcmFt
ZVZpZXc6OnlQb3NpdGlvbkZvckluc2V0Q2xpcExheWVyKGZyYW1lVmlldy5zY3JvbGxQb3NpdGlv
bigpLCBmcmFtZVZpZXcudG9wQ29udGVudEluc2V0KCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCmluZGV4IDFjNDNm
Njg5Mzk0MGNlNzgyMDMzMmEzMzYwZWFlMzliM2E1ZDQ0ZDMuLmM1Y2ZjMWQzZDU3OTYyZjExMTRk
ZDY5YWQxNmI5MDYyMjQ1YzUwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRl
ICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2lu
Y2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2Ug
V2ViQ29yZSB7CiAKQEAgLTIxMiw1ICsyMTMsMTkgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2Jq
ZWN0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3QK
ICNlbmRpZgogfQogCitib29sIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdAoreworI2lmIFBMQVRGT1JNKE1BQykg
JiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKKyAgICBzd2l0Y2gg
KGZyYW1lKCkuc2V0dGluZ3MoKS52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCkpIHsK
KyAgICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OkNvbnRlbnQ6CisgICAg
ICAgIHJldHVybiBzdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxl
ZnQoKTsKKyAgICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OlZpZXc6Cisg
ICAgICAgIHJldHVybiBmcmFtZSgpLnNldHRpbmdzKCkuc3lzdGVtTGF5b3V0RGlyZWN0aW9uKCkg
PT0gUlRMOworICAgIH0KKyNlbHNlCisgICAgcmV0dXJuIGZhbHNlOworI2VuZGlmCit9CisKIH0g
Ly8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKaW5kZXggMzNhZjI0YjQxMmIxMGNmM2QyNTk4N2NjMGU1
Y2NlY2E0NmMzMTAzMi4uM2VhNDRjNzZiYzgxNjViM2Y0NDE3OWRjNzczMzU4MWNmM2U1YzkwOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dC5oCkBAIC01MSw2ICs1MSw4IEBAIHB1YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9s
bGFibGVPclJ1YmJlcmJhbmRhYmxlQm94KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAg
IGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0Owor
CiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdChFbGVtZW50JiwgUmVmPFJl
bmRlclN0eWxlPiYmLCBCYXNlVHlwZUZsYWdzKTsKICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0
KERvY3VtZW50JiwgUmVmPFJlbmRlclN0eWxlPiYmLCBCYXNlVHlwZUZsYWdzKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCBkOGE2YjI2MDU5NDExMjgw
YWIyNTE1YTc4NTlmZjZkNjI0YWRhNjA0Li42ODZhMzg4YjM1MTVmZTNhZTRjNTU1NWI1YWE5ZmYw
MzJiZjNiZDQwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3Bw
CkBAIC0yNjYsNyArMjY2LDcgQEAgaW50IFJlbmRlckxpc3RCb3g6OmJhc2VsaW5lUG9zaXRpb24o
Rm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSwgYm9vbCBmaXJzdExpbmUsIEwKIExheW91dFJlY3Qg
UmVuZGVyTGlzdEJveDo6aXRlbUJvdW5kaW5nQm94UmVjdChjb25zdCBMYXlvdXRQb2ludCYgYWRk
aXRpb25hbE9mZnNldCwgaW50IGluZGV4KQogewogICAgIExheW91dFVuaXQgeCA9IGFkZGl0aW9u
YWxPZmZzZXQueCgpICsgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKLSAgICBpZiAodmVy
dGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIG1fdkJhcikKKyAgICBpZiAoc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIG1fdkJhcikKICAgICAgICAgeCArPSBt
X3ZCYXItPm9jY3VwaWVkV2lkdGgoKTsKICAgICBMYXlvdXRVbml0IHkgPSBhZGRpdGlvbmFsT2Zm
c2V0LnkoKSArIGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgaXRlbUhlaWdodCgpICogKGlu
ZGV4IC0gbV9pbmRleE9mZnNldCk7CiAgICAgcmV0dXJuIExheW91dFJlY3QoeCwgeSwgY29udGVu
dFdpZHRoKCksIGl0ZW1IZWlnaHQoKSk7CkBAIC0zNDUsNyArMzQ1LDcgQEAgdm9pZCBSZW5kZXJM
aXN0Qm94OjpwYWludFNjcm9sbGJhcihQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0
UG9pbnQmIHBhaW4KICAgICBpZiAoIW1fdkJhcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgTGF5
b3V0VW5pdCBsZWZ0ID0gcGFpbnRPZmZzZXQueCgpICsgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxl
ZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92QmFyLT53
aWR0aCgpKTsKKyAgICBMYXlvdXRVbml0IGxlZnQgPSBwYWludE9mZnNldC54KCkgKyAoc2hvdWxk
UGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lk
dGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkpOwogICAgIExheW91dFVuaXQg
dG9wID0gcGFpbnRPZmZzZXQueSgpICsgYm9yZGVyVG9wKCk7CiAgICAgTGF5b3V0VW5pdCB3aWR0
aCA9IG1fdkJhci0+d2lkdGgoKTsKICAgICBMYXlvdXRVbml0IGhlaWdodCA9IHRoaXMtPmhlaWdo
dCgpIC0gKGJvcmRlclRvcCgpICsgYm9yZGVyQm90dG9tKCkpOwpAQCAtNDQ4LDcgKzQ0OCw3IEBA
IGJvb2wgUmVuZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKEhpdFRlc3RSZXN1
bHQmIHJlc3VsdCwgY29uc3QgTGF5b3V0CiAgICAgaWYgKCFtX3ZCYXIgfHwgIW1fdkJhci0+c2hv
dWxkUGFydGljaXBhdGVJbkhpdFRlc3RpbmcoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0g
ICAgTGF5b3V0VW5pdCB4ID0gYWNjdW11bGF0ZWRPZmZzZXQueCgpICsgKHZlcnRpY2FsU2Nyb2xs
YmFySXNPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0g
bV92QmFyLT53aWR0aCgpKTsKKyAgICBMYXlvdXRVbml0IHggPSBhY2N1bXVsYXRlZE9mZnNldC54
KCkgKyAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVy
TGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkpOwogICAg
IExheW91dFVuaXQgeSA9IGFjY3VtdWxhdGVkT2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpOwogICAg
IExheW91dFVuaXQgd2lkdGggPSBtX3ZCYXItPndpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCBoZWln
aHQgPSB0aGlzLT5oZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCk7CkBAIC00
NzAsOSArNDcwLDkgQEAgaW50IFJlbmRlckxpc3RCb3g6Omxpc3RJbmRleEF0T2Zmc2V0KGNvbnN0
IExheW91dFNpemUmIG9mZnNldCkKICAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgaW50IHNjcm9s
bGJhcldpZHRoID0gbV92QmFyID8gbV92QmFyLT53aWR0aCgpIDogMDsKLSAgICBpZiAodmVydGlj
YWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIChvZmZzZXQud2lkdGgoKSA8IGJvcmRlckxlZnQoKSAr
IHBhZGRpbmdMZWZ0KCkgKyBzY3JvbGxiYXJXaWR0aCB8fCBvZmZzZXQud2lkdGgoKSA+IHdpZHRo
KCkgLSBib3JkZXJSaWdodCgpIC0gcGFkZGluZ1JpZ2h0KCkpKQorICAgIGlmIChzaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgKG9mZnNldC53aWR0aCgpIDwgYm9y
ZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSArIHNjcm9sbGJhcldpZHRoIHx8IG9mZnNldC53aWR0
aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5nUmlnaHQoKSkpCiAgICAgICAg
IHJldHVybiAtMTsKLSAgICBpZiAoIXZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiAob2Zm
c2V0LndpZHRoKCkgPCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpIHx8IG9mZnNldC53aWR0
aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5nUmlnaHQoKSAtIHNjcm9sbGJh
cldpZHRoKSkKKyAgICBpZiAoIXNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxl
ZnQoKSAmJiAob2Zmc2V0LndpZHRoKCkgPCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpIHx8
IG9mZnNldC53aWR0aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5nUmlnaHQo
KSAtIHNjcm9sbGJhcldpZHRoKSkKICAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgaW50IG5ld09m
ZnNldCA9IChvZmZzZXQuaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIHBhZGRpbmdUb3AoKSkgLyBp
dGVtSGVpZ2h0KCkgKyBtX2luZGV4T2Zmc2V0OwpAQCAtNzI5LDcgKzcyOSw3IEBAIExheW91dFJl
Y3QgUmVuZGVyTGlzdEJveDo6Y29udHJvbENsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBhZGRp
dGlvbmFsT2Zmc2V0KSBjCiAgICAgLy8gQ2xpcCBhZ2FpbnN0IHRoZSBwYWRkaW5nIGJveCwgdG8g
Z2l2ZSA8b3B0aW9uPnMgYW5kIG92ZXJsYXkgc2Nyb2xsYmFyIHNvbWUgZXh0cmEgc3BhY2UKICAg
ICAvLyB0byBnZXQgcGFpbnRlZC4KICAgICBMYXlvdXRSZWN0IGNsaXBSZWN0ID0gcGFkZGluZ0Jv
eFJlY3QoKTsKLSAgICBpZiAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmICghbGF5ZXIo
KSB8fCAhbGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpKSkKKyAgICBpZiAoc2hv
dWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmICghbGF5ZXIoKSB8fCAh
bGF5ZXIoKS0+c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKSkKICAg
ICAgICAgY2xpcFJlY3QubW92ZShtX3ZCYXItPm9jY3VwaWVkV2lkdGgoKSwgMCk7CiAgICAgY2xp
cFJlY3QubW92ZUJ5KGFkZGl0aW9uYWxPZmZzZXQpOwogICAgIHJldHVybiBjbGlwUmVjdDsKQEAg
LTc0NCwxNCArNzQ0LDE0IEBAIGJvb2wgUmVuZGVyTGlzdEJveDo6aXNBY3RpdmUoKSBjb25zdAog
dm9pZCBSZW5kZXJMaXN0Qm94OjppbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChTY3JvbGxiYXImIHNj
cm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBJbnRSZWN0IHNjcm9sbFJlY3Qg
PSByZWN0OwotICAgIHNjcm9sbFJlY3QubW92ZSh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkg
PyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0
aCgpLCBib3JkZXJUb3AoKSk7CisgICAgc2Nyb2xsUmVjdC5tb3ZlKHNob3VsZFBsYWNlQmxvY2tE
aXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3Jk
ZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCksIGJvcmRlclRvcCgpKTsKICAgICByZXBhaW50
UmVjdGFuZ2xlKHNjcm9sbFJlY3QpOwogfQogCiBJbnRSZWN0IFJlbmRlckxpc3RCb3g6OmNvbnZl
cnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyhjb25zdCBTY3JvbGxiYXImIHNjcm9sbGJh
ciwgY29uc3QgSW50UmVjdCYgc2Nyb2xsYmFyUmVjdCkgY29uc3QKIHsKICAgICBJbnRSZWN0IHJl
Y3QgPSBzY3JvbGxiYXJSZWN0OwotICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gdmVydGljYWxTY3Jv
bGxiYXJJc09uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkg
LSBzY3JvbGxiYXIud2lkdGgoKTsKKyAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHNob3VsZFBsYWNl
QmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkg
LSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCk7CiAgICAgaW50IHNjcm9sbGJhclRv
cCA9IGJvcmRlclRvcCgpOwogICAgIHJlY3QubW92ZShzY3JvbGxiYXJMZWZ0LCBzY3JvbGxiYXJU
b3ApOwogICAgIHJldHVybiB2aWV3KCkuZnJhbWVWaWV3KCkuY29udmVydEZyb21SZW5kZXJlclRv
Q29udGFpbmluZ1ZpZXcodGhpcywgcmVjdCk7CkBAIC03NjAsNyArNzYwLDcgQEAgSW50UmVjdCBS
ZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFpbmluZ1ZpZXcoY29uc3Qg
U2Nyb2xsYmFyJiBzY3IKIEludFJlY3QgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21Db250YWlu
aW5nVmlld1RvU2Nyb2xsYmFyKGNvbnN0IFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBJbnRS
ZWN0JiBwYXJlbnRSZWN0KSBjb25zdAogewogICAgIEludFJlY3QgcmVjdCA9IHZpZXcoKS5mcmFt
ZVZpZXcoKS5jb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9SZW5kZXJlcih0aGlzLCBwYXJlbnRS
ZWN0KTsKLSAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQo
KSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndp
ZHRoKCk7CisgICAgaW50IHNjcm9sbGJhckxlZnQgPSBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9u
U2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQo
KSAtIHNjcm9sbGJhci53aWR0aCgpOwogICAgIGludCBzY3JvbGxiYXJUb3AgPSBib3JkZXJUb3Ao
KTsKICAgICByZWN0Lm1vdmUoLXNjcm9sbGJhckxlZnQsIC1zY3JvbGxiYXJUb3ApOwogICAgIHJl
dHVybiByZWN0OwpAQCAtNzY5LDcgKzc2OSw3IEBAIEludFJlY3QgUmVuZGVyTGlzdEJveDo6Y29u
dmVydEZyb21Db250YWluaW5nVmlld1RvU2Nyb2xsYmFyKGNvbnN0IFNjcm9sbGJhciYgc2NyCiBJ
bnRQb2ludCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFpbmluZ1Zp
ZXcoY29uc3QgU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IEludFBvaW50JiBzY3JvbGxiYXJQ
b2ludCkgY29uc3QKIHsKICAgICBJbnRQb2ludCBwb2ludCA9IHNjcm9sbGJhclBvaW50OwotICAg
IGludCBzY3JvbGxiYXJMZWZ0ID0gdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVy
TGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKKyAg
ICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xs
YmFyLndpZHRoKCk7CiAgICAgaW50IHNjcm9sbGJhclRvcCA9IGJvcmRlclRvcCgpOwogICAgIHBv
aW50Lm1vdmUoc2Nyb2xsYmFyTGVmdCwgc2Nyb2xsYmFyVG9wKTsKICAgICByZXR1cm4gdmlldygp
LmZyYW1lVmlldygpLmNvbnZlcnRGcm9tUmVuZGVyZXJUb0NvbnRhaW5pbmdWaWV3KHRoaXMsIHBv
aW50KTsKQEAgLTc3OCw3ICs3NzgsNyBAQCBJbnRQb2ludCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0
RnJvbVNjcm9sbGJhclRvQ29udGFpbmluZ1ZpZXcoY29uc3QgU2Nyb2xsYmFyJiBzYwogSW50UG9p
bnQgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21Db250YWluaW5nVmlld1RvU2Nyb2xsYmFyKGNv
bnN0IFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBJbnRQb2ludCYgcGFyZW50UG9pbnQpIGNv
bnN0CiB7CiAgICAgSW50UG9pbnQgcG9pbnQgPSB2aWV3KCkuZnJhbWVWaWV3KCkuY29udmVydEZy
b21Db250YWluaW5nVmlld1RvUmVuZGVyZXIodGhpcywgcGFyZW50UG9pbnQpOwotICAgIGludCBz
Y3JvbGxiYXJMZWZ0ID0gdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVyTGVmdCgp
IDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKKyAgICBpbnQg
c2Nyb2xsYmFyTGVmdCA9IHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndp
ZHRoKCk7CiAgICAgaW50IHNjcm9sbGJhclRvcCA9IGJvcmRlclRvcCgpOwogICAgIHBvaW50Lm1v
dmUoLXNjcm9sbGJhckxlZnQsIC1zY3JvbGxiYXJUb3ApOwogICAgIHJldHVybiBwb2ludDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IDI4NjYwMjIzZDFlZDhk
MDA3MTk3ZDIwZjhhYmQ1MGZjNWU4Y2Q4YjAuLmE5N2IxNzFmNDU2YTYwYmIwMmEyY2NlNGVmNzll
MGIzNmE4YjE5YjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaApA
QCAtNjYsNiArNjYsOCBAQCBwdWJsaWM6CiAgICAgYm9vbCBzY3JvbGxlZFRvTGVmdCgpIGNvbnN0
IG92ZXJyaWRlOwogICAgIGJvb2wgc2Nyb2xsZWRUb1JpZ2h0KCkgY29uc3Qgb3ZlcnJpZGU7CiAK
KyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25z
dCBvdmVycmlkZSB7IHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6OnNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsgfQorCiBwcml2YXRlOgogICAgIHZvaWQgZWxlbWVudCgp
IGNvbnN0ID0gZGVsZXRlOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAK
aW5kZXggMGY0ODRhMGFhOWI5ZmQ3MWIxMzhlMTIyOGY1NWNhNWQzY2I4OGJhYi4uN2QyMDk4OTdm
ZDU0OGZiYTc0YTJlOGFhNGRmZDUwZDMwMTMwNWI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJWaWV3LmNwcApAQCAtNjQyLDcgKzY0Miw3IEBAIHZvaWQgUmVuZGVyVmlldzo6cmVw
YWludFZpZXdSZWN0YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgcmVwYWludFJlY3QpIGNvbnN0CiAg
ICAgICAgIC8vIGFuZCB0aGUgUmVuZGVyZXIgdGhhdCBjb250YWlucyB0aGUgaWZyYW1lLiBUaGlz
IHRyYW5zZm9ybWF0aW9uIG11c3QgYWNjb3VudCBmb3IgYQogICAgICAgICAvLyBsZWZ0IHNjcm9s
bGJhciAoaWYgb25lIGV4aXN0cykuCiAgICAgICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gdGhp
cy0+ZnJhbWVWaWV3KCk7Ci0gICAgICAgIGlmIChmcmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXJJ
c09uTGVmdCgpICYmIGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9sbGJhcigpKQorICAgICAgICBpZiAo
ZnJhbWVWaWV3LnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBm
cmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXIoKSkKICAgICAgICAgICAgIGFkanVzdGVkUmVjdC5t
b3ZlKExheW91dFNpemUoZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFyKCktPm9jY3VwaWVkV2lk
dGgoKSwgMCkpOwogCiAgICAgICAgIG93bmVyQm94LT5yZXBhaW50UmVjdGFuZ2xlKGFkanVzdGVk
UmVjdCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNw
cAppbmRleCBiYzNhZTg2MDA2ZTUyY2ZmMjliM2RlNjllY2Q1MTU4YTYyNTRjYzVjLi44OGU2NTU2
MmRhNjA4MzgzODY2MjVlNzFhYmRlNzcxNTljNmIyOTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKQEAgLTIwNjcsOSArMjA2Nyw3IEBAIGZs
b2F0IFJlbmRlclN0eWxlOjpvdXRsaW5lT2Zmc2V0KCkgY29uc3QKIAogYm9vbCBSZW5kZXJTdHls
ZTo6c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0CiB7Ci0j
aWYgUExBVEZPUk0oTUFDKQotICAgIHJldHVybiBTY3JvbGxhYmxlQXJlYTo6c3lzdGVtTGFuZ3Vh
Z2VJc1JUTCgpOwotI2VsaWYgVVNFKFJUTF9TQ1JPTExCQVIpCisjaWYgUExBVEZPUk0oTUFDKSB8
fCBVU0UoUlRMX1NDUk9MTEJBUikKICAgICByZXR1cm4gIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24o
KSAmJiBpc0hvcml6b250YWxXcml0aW5nTW9kZSgpOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3Bw
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCBmYzQz
NWE3Yzc5YWQ0OGZiNjI0Y2U5ZjM0ZDcxOTRlOTg3N2ViNmU5Li5hODdkN2Q5ZDcxMzI4NDNjYzFm
MGFjMzM1MDM2MzRhYmFhOWNlY2I0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJu
YWxTZXR0aW5ncy5jcHAKQEAgLTU1NSw2ICs1NTUsNTUgQEAgdm9pZCBJbnRlcm5hbFNldHRpbmdz
OjpzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNvZGUm
KQogI2VuZGlmCiB9CiAKK1N0cmluZyBJbnRlcm5hbFNldHRpbmdzOjp2ZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVybmFsU2V0dGlu
Z3NHdWFyZEZvclNldHRpbmdzUmV0dXJuKCIiKTsKKyAgICBzd2l0Y2ggKHNldHRpbmdzKCktPnZl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koKSkgeworICAgIGNhc2UgVmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJh
bCgiQ29udGVudCIpOworICAgIGNhc2UgVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6
VmlldzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiVmlldyIpOworICAgIH0KK30KKwor
dm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KGNvbnN0IFN0cmluZyYgcG9saWN5LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5h
bFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShwb2xpY3ksICJjb250ZW50IikpIHsKKyAgICAgICAgc2V0dGluZ3MoKS0+c2V0
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5OjpDb250ZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZXF1YWxM
ZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5LCAidmlldyIpKSB7CisgICAgICAgIHNldHRp
bmdzKCktPnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koVmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeTo6Vmlldyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZWMg
PSBJTlZBTElEX0FDQ0VTU19FUlI7Cit9CisKK1N0cmluZyBJbnRlcm5hbFNldHRpbmdzOjpzeXN0
ZW1MYXlvdXREaXJlY3Rpb24oRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxTZXR0
aW5nc0d1YXJkRm9yU2V0dGluZ3NSZXR1cm4oIiIpOworICAgIHN3aXRjaCAoc2V0dGluZ3MoKS0+
c3lzdGVtTGF5b3V0RGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIExUUjoKKyAgICAgICAgcmV0dXJu
IEFTQ0lJTGl0ZXJhbCgiTFRSIik7CisgICAgY2FzZSBSVEw6CisgICAgICAgIHJldHVybiBBU0NJ
SUxpdGVyYWwoIlJUTCIpOworICAgIH0KK30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24sIEV4Y2VwdGlvbkNv
ZGUmIGVjKQoreworICAgIEludGVybmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7CisgICAg
aWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGlvbiwgImx0ciIpKSB7Cisg
ICAgICAgIHNldHRpbmdzKCktPnNldFN5c3RlbUxheW91dERpcmVjdGlvbihMVFIpOworICAgICAg
ICByZXR1cm47CisgICAgfQorICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShk
aXJlY3Rpb24sICJydGwiKSkgeworICAgICAgICBzZXR0aW5ncygpLT5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oUlRMKTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBlYyA9IElOVkFMSURf
QUNDRVNTX0VSUjsKK30KIAogLy8gSWYgeW91IGFkZCB0byB0aGlzIGxpc3QsIG1ha2Ugc3VyZSB0
aGF0IHlvdSB1cGRhdGUgdGhlIEJhY2t1cCBjbGFzcyBmb3IgdGVzdCByZXByb2R1Y2FiaWxpdHkh
CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5o
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggYjBmMDhm
MjkyNzQ3ZDAyMGE3ODQ2MmEwYjBmM2YyMmNjMjAxZDQ5Yy4uZWYxNzMyNDFhODk0MWM3YzZjODU4
NDVlOWVhYTAzNjQyODgwYzViMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9J
bnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNl
dHRpbmdzLmgKQEAgLTE1MCw2ICsxNTAsMTAgQEAgcHVibGljOgogICAgIHZvaWQgc2V0QWxsb3dz
SW5saW5lTWVkaWFQbGF5YmFjayhib29sLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRJ
bmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShib29sLCBFeGNl
cHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sLCBF
eGNlcHRpb25Db2RlJik7CisgICAgU3RyaW5nIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmlu
ZyBzeXN0ZW1MYXlvdXREaXJlY3Rpb24oRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0U3lz
dGVtTGF5b3V0RGlyZWN0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uLCBFeGNlcHRpb25Db2Rl
Jik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJuYWxTZXR0aW5ncyhQYWdlKik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsIGIv
U291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAppbmRleCBlMzllNzQx
ODdlM2IxMjZjMzNiY2U4NTg5OWU1MWE3ZmFlYWJhZTQyLi5hMmQ3ODFjZDA3NWE3YmJjY2NiNzA4
OGI5YWJhM2FiZWVmMWRiODJiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGwKQEAgLTc5LDUgKzc5LDEwIEBACiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9p
ZCBzZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZShib29s
ZWFuIHJlcXVpcmVzKTsKIAogICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0SW5kZXhlZERC
V29ya2Vyc0VuYWJsZWQoYm9vbGVhbiByZXF1aXJlcyk7CisKKyAgICBbUmFpc2VzRXhjZXB0aW9u
XSBET01TdHJpbmcgdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgpOworICAgIFtSYWlz
ZXNFeGNlcHRpb25dIHZvaWQgc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShET01T
dHJpbmcgcG9saWN5KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSBET01TdHJpbmcgc3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRTeXN0ZW1MYXlv
dXREaXJlY3Rpb24oRE9NU3RyaW5nIGRpcmVjdGlvbik7CiB9OwogCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAppbmRleCBlNDgwYzFlMjg0
Y2EwNjI0ZWEyM2JhN2IxMzhiMDM3OWE1ZWU0ZDE4Li44YTdjNWJhZDg2ZTQ0ZmI1OWE1OWRhMGZj
NTNmMTRhZDRiYzkxM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTI1Nyw2ICsyNTcsOCBAQAogICAgIG1hY3JvKFN0b3Jh
Z2VCbG9ja2luZ1BvbGljeSwgc3RvcmFnZUJsb2NraW5nUG9saWN5LCBVSW50MzIsIHVpbnQzMl90
LCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6QmxvY2tUaGlyZFBhcnR5U3RvcmFnZSwgIiIsICIi
KSBcCiAgICAgbWFjcm8oSmF2YVNjcmlwdFJ1bnRpbWVGbGFncywgamF2YVNjcmlwdFJ1bnRpbWVG
bGFncywgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCiAgICAgbWFjcm8oRGF0YURldGVj
dG9yVHlwZXMsIGRhdGFEZXRlY3RvclR5cGVzLCBVSW50MzIsIHVpbnQzMl90LCAwLCAiIiwgIiIp
IFwKKyAgICBtYWNybyhWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uLCB2ZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uLCBVSW50MzIsIHVpbnQzMl90LCAwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhTeXN0
ZW1MYXlvdXREaXJlY3Rpb24sIHN5c3RlbUxheW91dERpcmVjdGlvbiwgVUludDMyLCB1aW50MzJf
dCwgMCwgIiIsICIiKSBcCiAgICAgXAogCiAjZGVmaW5lIEZPUl9FQUNIX1dFQktJVF9ERUJVR19C
T09MX1BSRUZFUkVOQ0UobWFjcm8pIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggOWFmMmQwOWFkNjZiZjU1M2IyYTY4Y2U0OWU4MGU1
OWJiZDE4YTQyNC4uZmY2NmY5ODllNjdmMmYzMGQyY2ZjYWE2OWM5YTM1MTdlYjRjZjhjZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0K
KysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KQEAg
LTQwNCw2ICs0MDQsMTEgQEAgLSAodm9pZClfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOihX
S1dlYlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgogICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnNo
b3VsZENvbnZlcnRQb3NpdGlvblN0eWxlT25Db3B5S2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2NvbnZlcnRzUG9zaXRpb25TdHlsZU9u
Q29weV0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpodHRwRXF1aXZFbmFibGVkS2V5KCksIFdlYktpdDo6
V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2FsbG93c01ldGFS
ZWZyZXNoXSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVV
UkxzS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3Vy
YXRpb24gX2FsbG93VW5pdmVyc2FsQWNjZXNzRnJvbUZpbGVVUkxzXSkpOworCisgICAgcGFnZUNv
bmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c0tleTo6dmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbktleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzU3RvcmU6OlZhbHVlKHN0YXRpY19jYXN0PHVpbnQzMl90PihbX2NvbmZpZ3VyYXRpb24gdmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeV0pKSk7CisgICAgLy8gV2UgYXJlIGluIHRoZSBW
aWV3J3MgaW5pdGlhbGl6YXRpb24gcm91dGluZSwgc28gb3VyIGNsaWVudCBoYXNuJ3QgaGFkIHRp
bWUgdG8gc2V0IG91ciB1c2VyIGludGVyZmFjZSBkaXJlY3Rpb24uCisgICAgLy8gVGhlcmVmb3Jl
LCBhY2NvcmRpbmcgdG8gdGhlIGRvY3MsICJ0aGlzIHByb3BlcnR5IGNvbnRhaW5zIHRoZSB2YWx1
ZSByZXBvcnRlZCBieSB0aGUgYXBw4oCZcyB1c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uIHBy
b3BlcnR5LiIKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzeXN0ZW1MYXlvdXREaXJlY3Rpb25LZXkoKSwgV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZShzdGF0aWNfY2FzdDx1aW50MzJfdD4oc2Vs
Zi51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKSkpOwogICAgIAogI2lmIFBMQVRGT1JNKE1B
QykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6
OldlYlByZWZlcmVuY2VzS2V5OjpzaG93c1VSTHNJblRvb2xUaXBzRW5hYmxlZEtleSgpLCBXZWJL
aXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VS
THNJblRvb2xUaXBzXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaAppbmRleCA2NmQ2NTNmM2MyN2Zl
ZTUxYzRjY2NkZTI1MTA2MzMyZjAwYWZlMTg1Li4wZGRhY2EzYjEzOTkzNmZkZDE0YTQzMjc2Mjdj
ZDJhZTMxNjk3YjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0Nv
Y29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaApAQCAtNzMsNiArNzMsMjAgQEAg
dHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIFdLRGF0YURldGVjdG9yVHlwZXMpIHsKICAg
ICBXS0RhdGFEZXRlY3RvclR5cGVBbGwgPSBOU1VJbnRlZ2VyTWF4CiB9IFdLX0VOVU1fQVZBSUxB
QkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCisKKy8qISBAZW51bSBXS1ZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3kKKyBAYWJzdHJhY3QgVGhlIG1lY2hhbmlzbSBieSB3aGljaCB2
ZXJ0aWNhbCBzY3JvbGxiYXJzIG9iZXkgYW4gUlRMIGVudmlyb25tZW50CisgQGNvbnN0YW50IFdL
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQgU2Nyb2xsYmFyIHBsYWNlbWVu
dCBvYmV5cyBDU1MgLyBIVE1MIC8gWEhUTUwgc3BlY2lmaWNhdGlvbnMuCisgQGNvbnN0YW50IFdL
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeVZpZXcgU2Nyb2xsYmFyIHBsYWNlbWVudCBv
YmV5cyBzeXN0ZW0gcGxhdGZvcm0gc3BlY2lmaWNhdGlvbnMuCisgQGRpc2N1c3Npb24gV2hlbiBX
S1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50IGlzIHNwZWNpZmllZCwgdGhl
IHBsYWNlbWVudCBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXJzIGlzCisgYWZmZWN0ZWQgYnkgdGhlICJk
aXIiIGVsZW1lbnQgb3IgdGhlICJkaXJlY3Rpb24iIENTUyBwcm9wZXJ0eS4gV2hlbiBXS1ZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lWaWV3IGlzCisgc3BlY2lmaWVkLCB0aGUgcGxhY2Vt
ZW50IG9mIHZlcnRpY2FsIHNjcm9sbGJhcnMgaXMgYWZmZWN0ZWQgYnkgdGhlIGRpcmVjdGlvbiBv
ZiB0aGUgc3lzdGVtLgorKi8KK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLVmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvblBvbGljeSkgeworICAgIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeUNvbnRlbnQgPSAwLAorICAgIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eVZpZXcgPSAxLAorfSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNfVEJBLCBOQSk7CisKIC8qISBB
IFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gb2JqZWN0IGlzIGEgY29sbGVjdGlvbiBvZiBwcm9wZXJ0
aWVzIHdpdGgKICB3aGljaCB0byBpbml0aWFsaXplIGEgd2ViIHZpZXcuCiAgQGhlbHBzIENvbnRh
aW5zIHByb3BlcnRpZXMgdXNlZCB0byBjb25maWd1cmUgYSBAbGluayBXS1dlYlZpZXcgQC9saW5r
LgpAQCAtMTI0LDYgKzEzOCwxMiBAQCBXS19DTEFTU19BVkFJTEFCTEUoMTBfMTAsIDhfMCkKICAq
LwogQHByb3BlcnR5IChub25hdG9taWMpIFdLRGF0YURldGVjdG9yVHlwZXMgZGF0YURldGVjdG9y
VHlwZXMgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCisvKiEgQGFic3Ry
YWN0IFRoZSBwbGFjZW1lbnQgYmVoYXZpb3Igb2YgdmVydGljYWwgc2Nyb2xsYmFycy4KKyBAZGlz
Y3Vzc2lvbiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGRlc2NyaWJlZCBpbiBXS1ZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3kuCisgVGhlIGRlZmF1bHQgdmFsdWUgaXMgV0tWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5Q29udGVudC4KKyAqLworQHByb3BlcnR5IChub25hdG9taWMpIFdL
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5IFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBOQSk7CisKICNpZiBUQVJHRVRfT1NfSVBI
T05FCiAvKiEgQGFic3RyYWN0IEEgQm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIgSFRN
TDUgdmlkZW9zIHBsYXkgaW5saW5lCiAgKFlFUykgb3IgdXNlIHRoZSBuYXRpdmUgZnVsbC1zY3Jl
ZW4gY29udHJvbGxlciAoTk8pLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNz
L0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdDIvVUlQ
cm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDdiMjgxZDlj
NWNjNWJiZGE5MmMyYWY5ZjIyNzc1Y2FkOWU5ZDc3Y2QuLjI0YjJkZTQyNzNmMmI0OGQ2OTBlOGQ2
M2ZjNWM3NzE2ZTE1MjM5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9B
UEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9V
SVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE0MCw2ICsx
NDAsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRp
Y2FsbHkgPSBOTzsKICNlbHNlCiAgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlF
UzsKKyAgICBfdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSA9IFdLVmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQ7CiAjZW5kaWYKICAgICBfcmVxdWlyZXNVc2VyQWN0
aW9uRm9yVmlkZW9QbGF5YmFjayA9IE5POwogICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRp
b1BsYXliYWNrID0gTk87CkBAIC0xOTgsNiArMTk5LDcgQEAgLSAodm9pZCllbmNvZGVXaXRoQ29k
ZXI6KE5TQ29kZXIgKiljb2RlcgogICAgIFtjb2RlciBlbmNvZGVPYmplY3Q6c2VsZi5hcHBsaWNh
dGlvbk5hbWVGb3JVc2VyQWdlbnQgZm9yS2V5OkAiYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50
Il07CiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5
YmFjayBmb3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayJdOwogICAgIFtjb2Rl
ciBlbmNvZGVJbnRlZ2VyOnNlbGYuZGF0YURldGVjdG9yVHlwZXMgZm9yS2V5OkAiZGF0YURldGVj
dG9yVHlwZXMiXTsKKyAgICBbY29kZXIgZW5jb2RlSW50ZWdlcjpzZWxmLnZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3kgZm9yS2V5OkAidmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSJdOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNr
Il07CkBAIC0yMjEsNiArMjIzLDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29kZXI6KE5T
Q29kZXIgKiljb2RlcgogICAgIHNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50ID0gW2Nv
ZGVyIGRlY29kZU9iamVjdEZvcktleTpAImFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCJdOwog
ICAgIHNlbGYuYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9v
bEZvcktleTpAImFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrIl07CiAgICAgc2VsZi5kYXRh
RGV0ZWN0b3JUeXBlcyA9IFtjb2RlciBkZWNvZGVJbnRlZ2VyRm9yS2V5OkAiZGF0YURldGVjdG9y
VHlwZXMiXTsKKyAgICBzZWxmLnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgPSBzdGF0
aWNfY2FzdDxXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k+KFtjb2RlciBkZWNvZGVJ
bnRlZ2VyRm9yS2V5OkAidmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSJdKTsKIAogI2lm
IFBMQVRGT1JNKElPUykKICAgICBzZWxmLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBbY29k
ZXIgZGVjb2RlQm9vbEZvcktleTpAImFsbG93c0lubGluZU1lZGlhUGxheWJhY2siXTsKQEAgLTI2
Niw2ICsyNjksOCBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpvbmUKICAgICBjb25m
aWd1cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IHNlbGYtPl9y
ZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9t
YWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkID0gc2VsZi0+X21haW5Db250ZW50
VXNlckdlc3R1cmVPdmVycmlkZUVuYWJsZWQ7CiAKKyAgICBjb25maWd1cmF0aW9uLT5fdmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSA9IHNlbGYtPl92ZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5OworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGNvbmZpZ3VyYXRpb24tPl9hbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7
CiAgICAgY29uZmlndXJhdGlvbi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5s
aW5lQXR0cmlidXRlID0gc2VsZi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5s
aW5lQXR0cmlidXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApp
bmRleCA0MzE5MmM1ZDEwMjYzY2ZkZjdiMjE1YTJmYmYwMzQzOTBiMzU1MDI2Li5jNDBmOTAyZjhm
ZmNiYjRmMjM3ZDk2NTFmMWZhNjc4YjA2YjUyOTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTAwLDYgKzEwMCw3IEBACiAjaW5jbHVkZSAiV2ViUG9w
dXBJdGVtLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJQ
cmVmZXJlbmNlcy5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzS2V5cy5oIgogI2luY2x1ZGUg
IldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5j
bHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQ
cm9jZXNzL1BsdWdpbnMvUERGL0RlcHJlY2F0ZWRQREZQbHVnaW4uaCBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBsdWdpbi5oCmluZGV4IDc4ZWVl
OWRiYzA4N2EwYTA1NmVhYWZlODlhOTI5YmQ0NGM4ZTNiOWIuLjFiZjFiZmJkNWI5NmY3MjY3Yjdl
MmU0ZjFkYmNlOTAzNTM4NmRhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBsdWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBsdWdpbi5oCkBAIC0xMTEsNiAr
MTExLDggQEAgcHVibGljOgogCiAgICAgQ0dGbG9hdCBzY2FsZUZhY3RvcigpIGNvbnN0OwogCisg
ICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Qg
b3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKwogcHJpdmF0ZToKICAgICBleHBsaWNpdCBQREZQ
bHVnaW4oV2ViRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdl
L1dlYlBhZ2UuY3BwCmluZGV4IGQ3YTdiYmUyNDg0OWQ1YTc5ZjgwYjUyYTk4ZmI1ODkyNWNhNzlj
N2EuLmY5NTNmOGFiZDhhYzQ0ZmUzMTg0ODFlNjU1ZmYxNjI0ODE2NjJlMDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKQEAgLTMwNzIsNiArMzA3
Miw5IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMoY29uc3QgV2ViUHJlZmVyZW5j
ZXNTdG9yZSYgc3RvcmUpCiAKICAgICBzZXR0aW5ncy5zZXRTaG91bGREaXNwYXRjaEphdmFTY3Jp
cHRXaW5kb3dPbkVycm9yRXZlbnRzKHRydWUpOwogCisgICAgc2V0dGluZ3Muc2V0VmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvblBvbGljeSghc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJl
ZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25LZXkoKSkgPyBWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50IDogVmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeTo6Vmlldyk7CisgICAgc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKHN0
YXRpY19jYXN0PFRleHREaXJlY3Rpb24+KHN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlBy
ZWZlcmVuY2VzS2V5Ojp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uS2V5KCkpKSk7CisKICNpZiBV
U0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XZWJQYWdl
UHJlZmVyZW5jZXMuY3BwPgogI2VuZGlmCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277300</attachid>
            <date>2016-04-25 18:44:50 -0700</date>
            <delta_ts>2016-04-25 20:35:52 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156948-20160425184518.patch</filename>
            <type>text/plain</type>
            <size>132392</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5OTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI2MDkzNTQyM2Q2YzI3
YmQyYmVlMzA0OTZiMjJkZTYzN2E4OTBiOC4uMzA5ZTdmNDg2NDE1YjIzZGRjNjhlYmQ4MGEwYjlk
YjEyYjYyY2NkMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNCBAQAorMjAxNi0wNC0yNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFtP
UyBYXSBDcmVhdGUgQVBJIGZvciBzd2l0Y2hpbmcgUlRMIHNjcm9sbGJhciBwb2xpY3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njk0OAorCisgICAg
ICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFRoZXJlIGFyZSB0d28g
c2Nob29scyBvZiB0aG91Z2h0IGZvciB3aGVyZSB0byBwdXQgc2Nyb2xsYmFycyBpbiBSVEwgZW52
aXJvbm1lbnRzLgorICAgICAgICBUaGUgZmlyc3QgaXMgdGhhdCB3ZSBzaG91bGQgb2JleSB0aGUg
Y29udGVudCdzICJkaXIiIGF0dHJpYnV0ZSwgc3BlY2lmaWVkIG9uIGVhY2gKKyAgICAgICAgZWxl
bWVudC4gVGhlIHNlY29uZCBpcyB0aGF0IHdlIHNob3VsZCBiZSBjb25zaXN0ZW50IHdpdGggdGhl
IHBsYXRmb3JtIChBcHBLaXQncykKKyAgICAgICAgYmVoYXZpb3IuCisKKyAgICAgICAgVGhlcmUg
YXJlIHNvbWUgc2l0dWF0aW9ucyB3aGVyZSB0aGUgcGxhY2VtZW50IHNob3VsZCBiZSBkb25lIGFj
Y29yZGluZyB0byB0aGUKKyAgICAgICAgY29udGVudC4gRm9yIGV4YW1wbGUsIHRoaXMgcG9saWN5
IHdvdWxkIGJlIHVzZWQgaW4gd2ViIGJyb3dzZXJzLgorCisgICAgICAgIEhvd2V2ZXIsIHRoZXJl
IGFyZSBhbHNvIHBsYWNlcyB3aGVyZSB3ZWIgY29udGVudCBpcyBkZXNpZ25lZCB0byBmaXQgc2Vh
bWxlc3NseQorICAgICAgICBhbW9uZ3N0IG5hdGl2ZSBjb250ZW50LiBJbiB0aGlzIHNpdHVhdGlv
biwgdGhlIHBsYWNlbWVudCBvZiB0aGUgc2Nyb2xsYmFycyBzaG91bGQKKyAgICAgICAgYmUgZG9u
ZSBhY2NvcmRpbmcgdG8gdGhlIHZpZXcuCisKKyAgICAgICAgQmVjYXVzZSBXZWJLaXQgZG9lc24n
dCBrbm93IHdoaWNoIG9mIHRoZXNlIHNpdHVhdGlvbnMgaXQgaXMgb3BlcmF0aW5nIHdpdGhpbiwg
dGhpcworICAgICAgICBwYXRjaCBhZGRzIGEgbmV3IEFQSSBwcm9wZXJ0eSwgdmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSwgdG8KKyAgICAgICAgV0tXZWJWaWV3Q29uZmlndXJhdGlvblBv
bGljeS4gVGhpcyBhbGxvd3MgY2xpZW50cyB0byBpbnN0cnVjdCB1cyB3aGljaCBwb2xpY3kgdG8K
KyAgICAgICAgYWJpZGUgYnkuIEl0IGlzIHBsdW1iZWQgdG8gdGhlIHdlYiBwcm9jZXNzIGluc2lk
ZSB0aGUgV2ViUHJlZmVyZW5jZXNTdG9yZSBhbmQgaXMKKyAgICAgICAgdWx0aW1hdGVseSBoZWxk
IGluc2lkZSB0aGUgUGFnZSdzIFNldHRpbmdzIG9iamVjdC4KKworICAgICAgICBUaGlzIFNldHRp
bmcgaXMgY29uc3VsdGVkIGJ5IFJlbmRlckxheWVyTW9kZWxPYmplY3QsIHdoaWNoIHNlcnZlcyBh
cyBhIGdvb2QKKyAgICAgICAgY2VudHJhbGl6ZWQgcGxhY2UgZm9yIHRoaXMgcG9saWN5IGltcGxl
bWVudGF0aW9uLiBUaGlzIGlzIHRoZSBjbGFzcyB3aGljaCBkZWNpZGVzCisgICAgICAgIGlmIHdl
IHNob3VsZCBiZSBjb25zdWx0aW5nIGl0cyBSZW5kZXJTdHlsZSBvciB0aGUgcGxhdGZvcm0gaXRz
ZWxmIHdoZW4gd2UgZGVjaWRlCisgICAgICAgIHdoZXJlIHRvIHB1dCB0aGUgc2Nyb2xsYmFycy4K
KworICAgICAgICBQdXR0aW5nIHRoaXMgZGVjaXNpb24gaW5zaWRlIHRoZSByZW5kZXJlciBpcyBp
bXBvcnRhbnQgYmVjYXVzZSBTY3JvbGxhYmxlQXJlYQorICAgICAgICBvZnRlbiBuZWVkcyB0byBr
bm93IGlmIHNjcm9sbGJhcnMgc2hvdWxkIGJlIHB1dCBvbiB0aGUgbGVmdCwgYnV0IFNjcm9sbGFi
bGVBcmVhCisgICAgICAgIGRvZXNuJ3Qga25vdyBhbnl0aGluZyBhYm91dCBSZW5kZXJTdHlsZXMu
IFRoZXJlZm9yZSwgdGhlIHJlbmRlcmVyIG11c3QgYmUgdGhlCisgICAgICAgIGludGVybWVkaWFy
eSBiZXR3ZWVuIFNjcm9sbGFibGVBcmVhIGFuZCB0aGUgUmVuZGVyU3R5bGUuIChTY3JvbGxhYmxl
QXJlYSBhbHNvCisgICAgICAgIGRvZXNuJ3QgZGlyZWN0bHkga25vdyBhbnl0aGluZyBhYm91dCBy
ZW5kZXJlcnMgZWl0aGVyOyBob3dldmVyLCBlYWNoIG9mIHRoZQorICAgICAgICBzdWJjbGFzc2Vz
IGtub3dzIGFib3V0IGFuIGFwcHJvcHJpYXRlIHJlbmRlcmVyLikgVGhlcmVmb3JlLCBTY3JvbGxh
YmxlQXJlYSBnZXRzCisgICAgICAgIGEgbmV3IHZpcnR1YWwgbWV0aG9kIHdoaWNoIGlzIGltcGxl
bWVudGVkIGJ5IHRoZSBSZW5kZXJMYXllck1vZGVsT2JqZWN0LgorCisgICAgICAgIFRlc3RzOiBm
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycyouaHRtbAorCisgICAgICAgICogV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qOiBTY3JvbGxhYmxlQXJlYU1hYy5tbSBpcyBubyBsb25n
ZXIgbmVjZXNzYXJ5LgorICAgICAgICAqIHBhZ2UvRnJhbWVWaWV3LmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6OkZyYW1lVmlldzo6c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCk6IE92ZXJyaWRkZW4KKyAgICAgICAgU2Nyb2xsYWJsZUFyZWEgZnVuY3Rpb24uCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmg6CisgICAgICAg
ICogcGFnZS9TZXR0aW5ncy5pbjoKKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcDog
QWRkaW5nIHR3byBuZXcgc2V0dGluZ3M6IE9uZSB0byBrbm93IGlmIHdlIHNob3VsZAorICAgICAg
ICBjb25zdWx0IHdpdGggdGhlIFJlbmRlclN0eWxlIG9yIHRoZSBwbGF0Zm9ybSwgYW5kIHRoZSBv
dGhlciBpcyB3aGV0aGVyIG9yIG5vdAorICAgICAgICB0aGUgcGxhdGZvcm0gY29uc2lkZXJzIGl0
c2VsZiB0byBiZSBSVEwuCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpkb2N1bWVudFNj
cm9sbFBvc2l0aW9uUmVsYXRpdmVUb1ZpZXdPcmlnaW4pOiBVcGRhdGUgdG8KKyAgICAgICAgdXNl
IG5ldyBtZWNoYW5pc20uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojp1cGRhdGVTY3Jv
bGxiYXJzKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3OjpzY3JvbGxDb3Ju
ZXJSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxWaWV3Ojpsb2NhdGlvbk9m
Q29udGVudHMpOiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHA6
CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6dmVydGljYWxTY3JvbGxiYXJJc09u
TGVmdCk6IERlbGV0ZWQuIFRoaXMgd2FzIHRoZSBvbGQKKyAgICAgICAgbWVjaGFuaXNtLgorICAg
ICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwpOiBEZWxl
dGVkLiBEaXR0by4KKyAgICAgICAgKiBwbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oOgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxhYmxlQXJlYU1hYy5tbTogUmVtb3ZlZC4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KTogRGVs
ZXRlZC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjpzeXN0ZW1MYW5ndWFnZUlz
UlRMKTogRGVsZXRlZC4KKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMu
bW06CisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxiYXJUaGVtZU1hYzo6ZGlkQ3JlYXRlU2Nyb2xs
ZXJJbXApOiBVcGRhdGUgdG8gdXNlIG5ldworICAgICAgICBtZWNoYW5pc20uCisgICAgICAgICog
cGxhdGZvcm0vdGV4dC9Xcml0aW5nTW9kZS5oOiBUaGVzZSBlbnVtcyBzaG91bGQgbWF0Y2ggd2hh
dCdzIGluIFdlYktpdDIuCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcDoKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsTGVmdE9mZnNldEZvckNvbnRlbnQp
OiBVcGRhdGUgdG8gdXNlIG5ldyBtZWNoYW5pc20uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJC
bG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudCk6IERpdHRvLgorICAgICAgICAqIHJl
bmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2tGbG93OjpkZXRlcm1pbmVMb2dpY2FsTGVmdFBvc2l0aW9uRm9yQ2hpbGQpOiBEaXR0by4KKyAg
ICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQm94LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCb3g6OmNvbnRlbnRCb3hSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJv
eDo6b3ZlcmZsb3dDbGlwUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3g6OmNvbXB1
dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoKToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6
bGF5b3V0T3ZlcmZsb3dSZWN0Rm9yUHJvcGFnYXRpb24pOgorICAgICAgICAqIHJlbmRlcmluZy9S
ZW5kZXJCb3hNb2RlbE9iamVjdC5jcHA6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
Qm94TW9kZWxPYmplY3Q6OmNvbnN0cmFpbmluZ1JlY3RGb3JTdGlja3lQb3NpdGlvbik6CisgICAg
ICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpyZXNpemUpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OmNvcm5lclN0YXJ0KTog
TWlncmF0ZSB0byB1c2UgcmVmZXJlbmNlcy4KKyAgICAgICAgKFdlYkNvcmU6OmNvcm5lclJlY3Qp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpzY3JvbGxDb3JuZXJSZWN0
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpyZXNpemVyQ29ybmVyUmVjdCk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbENvcm5lckFuZFJlc2l6ZXJSZWN0
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6dmVydGljYWxTY3JvbGxi
YXJTdGFydCk6IFVwZGF0ZSB0byB1c2UgbmV3IG1lY2hhbmlzbS4KKyAgICAgICAgKFdlYkNvcmU6
OlJlbmRlckxheWVyOjpob3Jpem9udGFsU2Nyb2xsYmFyU3RhcnQpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxheWVyOjpvZmZzZXRGcm9tUmVzaXplQ29ybmVyKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cG9zaXRpb25PdmVyZmxvd0NvbnRyb2xzKTog
TWlncmF0ZSB0byB1c2UgcmVmZXJlbmNlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
Ojpjb21wdXRlU2Nyb2xsRGltZW5zaW9ucyk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyTGF5ZXI6Om92ZXJmbG93Q29udHJvbHNJbnRlcnNlY3RSZWN0KTogRGl0dG8uCisgICAgICAg
IChXZWJDb3JlOjpSZW5kZXJMYXllcjo6ZHJhd1BsYXRmb3JtUmVzaXplckltYWdlKTogVXBkYXRl
IHRvIHVzZSBuZXcgbWVjaGFuaXNtLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnBh
aW50UmVzaXplcik6IE1pZ3JhdGUgdG8gdXNlIHJlZmVyZW5jZXMuCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllcjo6aXNQb2ludEluUmVzaXplQ29udHJvbCk6IERpdHRvLgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmhpdFRlc3RPdmVyZmxvd0NvbnRyb2xzKTogRGl0dG8uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdFJlc2l6ZXJJbkZyYWdtZW50cyk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllci5oOiBTY3JvbGxhYmxlQXJl
YSBvdmVycmlkZQorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpwb3NpdGlvbkZvckNs
aXBMYXllcik6IFVwZGF0ZSB0byB1c2UgbmV3CisgICAgICAgIG1lY2hhbmlzbS4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KToKKyAgICAgICAgVGhpcyBpcyB0aGUgbWVhdCBvZiB0aGlzIHBhdGNoLiBUaGlz
IGlzIHdoZXJlIHdlIGRlY2lkZSBpZiB3ZSBzaG91bGQgYmUKKyAgICAgICAgaW50ZXJyb2dhdGlu
ZyB0aGUgUmVuZGVyU3R5bGUgb3IgdGhlIHVuZGVybHlpbmcgcGxhdGZvcm0uCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaDoKKyAgICAgICAgKiByZW5kZXJpbmcv
UmVuZGVyTGlzdEJveC5jcHA6IFVwZGF0ZSB0byB1c2UgbmV3IG1lY2hhbmlzbS4KKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6Oml0ZW1Cb3VuZGluZ0JveFJlY3QpOgorICAgICAgICAo
V2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6cGFpbnRTY3JvbGxiYXIpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKToKKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxpc3RCb3g6Omxpc3RJbmRleEF0T2Zmc2V0KToKKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxpc3RCb3g6OmNvbnRyb2xDbGlwUmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMaXN0Qm94OjppbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdCk6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFpbmluZ1ZpZXcpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21Db250YWluaW5nVmll
d1RvU2Nyb2xsYmFyKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oOgorICAg
ICAgICAqIHJlbmRlcmluZy9SZW5kZXJWaWV3LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZSk6CisgICAgICAgICogcmVuZGVyaW5n
L3N0eWxlL1JlbmRlclN0eWxlLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclN0eWxlOjpz
aG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KTogVGhpcworICAgICAgICBm
dW5jdGlvbiBpcyBub3cgbXVjaCBkdW1iZXIuIEl0IGp1c3QgaW5zcGVjdHMgaXRzIG93biBzdHls
ZS4KKyAgICAgICAgKiB0ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwOiBBbGxvdyBtb2NraW5n
LgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXApOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8pOgor
ICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6dmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeSk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpzZXRWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFs
U2V0dGluZ3M6OnN5c3RlbUxheW91dERpcmVjdGlvbik6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24pOgorICAgICAgICAqIHRlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5oOgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5pZGw6CisKIDIwMTYtMDQtMjIgIENocmlzIER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAog
ICAgICAgICBDYW5ub3QgYWNjZXNzIHRoZSBTUUxUcmFuc2FjdGlvbi5jb25zdHJ1Y3Rvci5wcm90
b3R5cGUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZwppbmRleCBjYzYyZjAyODdiNGIxNGQ1YjE2MGJlYWFjNjFmMzAyZjAzZmJl
MWY0Li40NWU2MzVhYTMxZjU3YzFhYzc4MjRiMjZkMGFlMmQ5ODdhOWMyMWJkIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9n
CkBAIC0xLDMgKzEsMjYgQEAKKzIwMTYtMDQtMjUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZp
ZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBbT1MgWF0gQ3JlYXRlIEFQSSBmb3Igc3dp
dGNoaW5nIFJUTCBzY3JvbGxiYXIgcG9saWN5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY5NDgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBBZGQgdGhlIG5ldyBBUEkuCisKKyAgICAgICAgKiBTaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tOgorICAgICAgICAoLVtXS1dlYlZpZXcgX2luaXRpYWxpemVXaXRoQ29u
ZmlndXJhdGlvbjpdKToKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24uaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0Nv
bmZpZ3VyYXRpb24ubW06CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gaW5pdF0p
OgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGVuY29kZVdpdGhDb2RlcjpdKToK
KyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBpbml0V2l0aENvZGVyOl0pOgorICAg
ICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGNvcHlXaXRoWm9uZTpdKToKKyAgICAgICAg
KiBVSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1BsdWdp
bnMvUERGL0RlcHJlY2F0ZWRQREZQbHVnaW4uaDoKKyAgICAgICAgKiBXZWJQcm9jZXNzL1dlYlBh
Z2UvV2ViUGFnZS5jcHA6CisgICAgICAgIChXZWJLaXQ6OldlYlBhZ2U6OnVwZGF0ZVByZWZlcmVu
Y2VzKToKKwogMjAxNi0wNC0yMiAgUnlhbiBIYWRkYWQgIDxyeWFuaGFkZGFkQGFwcGxlLmNvbT4K
IAogICAgICAgICBGaXhpbmcgYSB0eXBvIGluIG15IGxhc3QgY29tbWl0LgpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIvU291cmNl
L1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IGQ5NTVlYjdh
ZmVjMTkzYTU4NTMwMDYwYjc1YzUxODNkODZiY2FkZjYuLjBhZTYxZGQ4MzkyZTYxYjYwNzEzNTI4
MTE3YTkwZDFlYjJlMTRkMDkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2oKQEAgLTk3Niw3ICs5NzYsNiBAQAogCQkxQzgxQjk1QTBFOTcz
MzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIElu
c3BlY3RvckNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQkxQzgxQjk1QjBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJv
bGxlci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QzgxQjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi87IH07
CiAJCTFDODFCOTVDMEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDODFCOTU4MEU5NzMzMDgw
MDI2NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwotCQkxQzk5NTQyRTFDOTIxMDUyMDBEQkQyMjYgLyogU2Nyb2xs
YWJsZUFyZWFNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSAxQzk5NTQyRDFDOTIxMDUyMDBEQkQyMjYgLyogU2Nyb2xsYWJsZUFyZWFNYWMubW0gKi87
IH07CiAJCTFDQTE5RTA1MERDMjU1OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0gaW4gU291
cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ExOUUwMzBEQzI1NTk1
MDA2NUE5OTQgLyogRXZlbnRMb29wTWFjLm1tICovOyB9OwogCQkxQ0ExOUUxNjBEQzI1NUNBMDA2
NUE5OTQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSAxQ0ExOUUxNTBEQzI1NUNBMDA2NUE5OTQgLyogRXZlbnRMb29wLmggKi87IH07
CiAJCTFDQUYzNDgxMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQUYzNDdFMEE2QzQwNTIw
MEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9
IChQcml2YXRlLCApOyB9OyB9OwpAQCAtODQyNiw3ICs4NDI1LDYgQEAKIAkJMUM4MUI5NTcwRTk3
MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07CiAJCTFDODFCOTU4MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JD
bGllbnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ2xpZW50
Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0REY5MEJBOUQyQzgwMDgxRTlE
MCAvKiBWZXJzaW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFZl
cnNpb24ueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOTk1NDJEMUM5
MjEwNTIwMERCRDIyNiAvKiBTY3JvbGxhYmxlQXJlYU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGFibGVBcmVhTWFjLm1tOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQkxQ0ExOUUwMzBEQzI1NTk1MDA2NUE5OTQgLyogRXZlbnRMb29wTWFj
Lm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRXZlbnRMb29wTWFj
Lm1tOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ExOUUxNTBEQzI1NUNBMDA2NUE5
OTQgLyogRXZlbnRMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50
TG9vcC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FGMzQ3RTBBNkM0MDUyMDBB
QkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IFdlYlNjcmlwdE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc5
MTgsNyArMTc5MTYsNiBAQAogCQkJCUNEODIwMzBFMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5k
b3dBbmltYXRpb24uaCAqLywKIAkJCQlDRDgyMDMwRjEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2lu
ZG93QW5pbWF0aW9uLm1tICovLAogCQkJCTkzODBGNDc3MDlBMTFBQ0MwMDFGREIzNCAvKiBXaWRn
ZXRNYWMubW0gKi8sCi0JCQkJMUM5OTU0MkQxQzkyMTA1MjAwREJEMjI2IC8qIFNjcm9sbGFibGVB
cmVhTWFjLm1tICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxn
cm91cD4iOwpAQCAtMzEyMDEsNyArMzExOTgsNiBAQAogCQkJCUY1NUIzRENCMTI1MUYxMkQwMDNF
RjI2OSAvKiBSYWRpb0lucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNjU4RkZBNTE1
MjJFRkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5
M0YxOUFCOTA4MjQ1RTU5MDAxRTlBQkMgLyogUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJ
MUM5OTU0MkUxQzkyMTA1MjAwREJEMjI2IC8qIFNjcm9sbGFibGVBcmVhTWFjLm1tIGluIFNvdXJj
ZXMgKi8sCiAJCQkJRjU1QjNEQ0QxMjUxRjEyRDAwM0VGMjY5IC8qIFJhbmdlSW5wdXRUeXBlLmNw
cCBpbiBTb3VyY2VzICovLAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJT
aGFwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDMxNjAzQjEyQjAyNjc2MDBDMUEzNTkgLyog
UmVhbHRpbWVBbmFseXNlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmNwcAppbmRleCA2NzFiYTVlYzMyZTIzYmZiNzM2ZDNkNmI5YzgyNDFjM2M4YjkxODNhLi5iYTZl
MDNiYWQ4YzIyNjkwMzlkOTk1NjdjYjY4NTVmNGJhN2Y4NDBhIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFt
ZVZpZXcuY3BwCkBAIC00OTY4LDUgKzQ5NjgsMTIgQEAgSW50U2l6ZSBGcmFtZVZpZXc6OnZpZXdw
b3J0U2l6ZUZvckNTU1ZpZXdwb3J0VW5pdHMoKSBjb25zdAogICAgIC8vIHByb3BlcnR5IG9uIHRo
ZSByb290IGVsZW1lbnQuCiAgICAgcmV0dXJuIHZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ1Nj
cm9sbGJhcnMoKS5zaXplKCk7CiB9CisKK2Jvb2wgRnJhbWVWaWV3OjpzaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3QKK3sKKyAgICBpZiAoYXV0byogcmVuZGVy
VmlldyA9IHRoaXMtPnJlbmRlclZpZXcoKSkKKyAgICAgICAgcmV0dXJuIHJlbmRlclZpZXctPnNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsKKyAgICByZXR1cm4gZmFs
c2U7Cit9CiAgICAgCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcu
aAppbmRleCA5Nzc1M2RjMjEzNTNiNmMwNGVjYzg2OTJkZGQ3ODU0MWNjNTg1YWI0Li40YTkwMWM4
ZTZmZDBiNjJkNGEzZWYwZWFiMjE3NTNlMzc3MWMwNzU4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3
LmgKQEAgLTU1Nyw2ICs1NTcsOCBAQCBwdWJsaWM6CiAKICAgICB2b2lkIHNob3coKSBvdmVycmlk
ZTsKIAorICAgIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
IGNvbnN0IG92ZXJyaWRlOworCiBwcm90ZWN0ZWQ6CiAgICAgYm9vbCBzY3JvbGxDb250ZW50c0Zh
c3RQYXRoKGNvbnN0IEludFNpemUmIHNjcm9sbERlbHRhLCBjb25zdCBJbnRSZWN0JiByZWN0VG9T
Y3JvbGwsIGNvbnN0IEludFJlY3QmIGNsaXBSZWN0KSBvdmVycmlkZTsKICAgICB2b2lkIHNjcm9s
bENvbnRlbnRzU2xvd1BhdGgoY29uc3QgSW50UmVjdCYgdXBkYXRlUmVjdCkgb3ZlcnJpZGU7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmgKaW5kZXggZDI2MDBmNTNjM2IyMzM5OTc4MzI0ZDQyM2VkZjU3ZGJh
NTEyYWY2OC4uOTFlZWMzMWI0ZDMwNDcyYTUzNzMzNjlmYjk4NzYzZjc5M2QyMmRlMyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BhZ2UvU2V0dGluZ3MuaApAQCAtMzUsNiArMzUsNyBAQAogI2luY2x1ZGUgIlRleHRGbGFncy5o
IgogI2luY2x1ZGUgIlRpbWVyLmgiCiAjaW5jbHVkZSAiVVJMLmgiCisjaW5jbHVkZSAiV3JpdGlu
Z01vZGUuaCIKICNpbmNsdWRlIDxjaHJvbm8+CiAjaW5jbHVkZSA8cnVudGltZS9SdW50aW1lRmxh
Z3MuaD4KICNpbmNsdWRlIDx1bmljb2RlL3VzY3JpcHQuaD4KQEAgLTcxLDYgKzcyLDExIEBAIGVu
dW0gRGVidWdPdmVybGF5UmVnaW9uRmxhZ3MgewogICAgIFdoZWVsRXZlbnRIYW5kbGVyUmVnaW9u
ID0gMSA8PCAxLAogfTsKIAorZW51bSBjbGFzcyBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5IHsKKyAgICBDb250ZW50ID0gMCwKKyAgICBWaWV3ID0gMQorfTsKKwogdHlwZWRlZiB1bnNp
Z25lZCBEZWJ1Z092ZXJsYXlSZWdpb25zOwogCiBjbGFzcyBTZXR0aW5ncyA6IHB1YmxpYyBSZWZD
b3VudGVkPFNldHRpbmdzPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRp
bmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRleCAwNGYxMzg3ZDRj
MWExMDEzMjI4NjIzODdkN2VlNTdjNDU3YmE0ZGUxLi5lZGI1MTk3NTdlNTExOGU4NmIxMWUxOGZj
Y2JlZjdjNWQzOGZjY2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAgLTI1MSwzICsyNTEs
NiBAQCBodHRwRXF1aXZFbmFibGVkIGluaXRpYWw9dHJ1ZQogIyBlbmZvcmNlcyBhbGwgZnJhbWUg
c2FuZGJveCBmbGFncyAoc2VlIGVudW0gU2FuZGJveEZsYWcgaW4gU2VjdXJpdHlDb250ZXh0Lmgp
LCBhbmQgYWxzbyBkaXNhYmxlcyA8bWV0YSBodHRwLWVxdWl2PgogIyBwcm9jZXNzaW5nIGFuZCBz
dWJmcmFtZSBsb2FkaW5nLgogY29udGVudERpc3Bvc2l0aW9uQXR0YWNobWVudFNhbmRib3hFbmFi
bGVkIGluaXRpYWw9ZmFsc2UKKwordmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSB0eXBl
PVZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ksIGluaXRpYWw9VmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeTo6Q29udGVudAorc3lzdGVtTGF5b3V0RGlyZWN0aW9uIHR5cGU9VGV4
dERpcmVjdGlvbiwgaW5pdGlhbD1MVFIKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5j
cHAKaW5kZXggZjc5ZDc3NWZkNmZkN2M2N2FhNmJkY2NmNjAwNTljNTkzZWMzMWViMS4uZjIyZDZi
Zjg5Y2YyZGI2Mzk5MjYzY2M5MDlmNjI4Njc3ODE4NTcwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsVmlldy5jcHAKQEAgLTQwNSw3ICs0MDUsNyBAQCBTY3JvbGxQb3NpdGlvbiBTY3Jv
bGxWaWV3OjphZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKGNvbnN0IFNjcm9sbFBvc2l0
aW9uJgogU2Nyb2xsUG9zaXRpb24gU2Nyb2xsVmlldzo6ZG9jdW1lbnRTY3JvbGxQb3NpdGlvblJl
bGF0aXZlVG9WaWV3T3JpZ2luKCkgY29uc3QKIHsKICAgICByZXR1cm4gc2Nyb2xsUG9zaXRpb24o
KSAtIEludFNpemUoCi0gICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3Zl
cnRpY2FsU2Nyb2xsYmFyID8gbV92ZXJ0aWNhbFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpIDog
MCwKKyAgICAgICAgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYm
IG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRo
KCkgOiAwLAogICAgICAgICBoZWFkZXJIZWlnaHQoKSArIHRvcENvbnRlbnRJbnNldChUb3BDb250
ZW50SW5zZXRUeXBlOjpXZWJDb3JlT3JQbGF0Zm9ybUNvbnRlbnRJbnNldCkpOwogfQogCkBAIC03
MTksNyArNzE5LDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNj
cm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAgICAgICAgIGludCBjbGllbnRXaWR0aCA9
IHZpc2libGVXaWR0aCgpOwogICAgICAgICBpbnQgcGFnZVN0ZXAgPSBTY3JvbGxiYXI6OnBhZ2VT
dGVwKGNsaWVudFdpZHRoKTsKICAgICAgICAgSW50UmVjdCBvbGRSZWN0KG1faG9yaXpvbnRhbFNj
cm9sbGJhci0+ZnJhbWVSZWN0KCkpOwotICAgICAgICBJbnRSZWN0IGhCYXJSZWN0KHZlcnRpY2Fs
U2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyID8gbV92ZXJ0aWNhbFNj
cm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpIDogMCwKKyAgICAgICAgSW50UmVjdCBoQmFyUmVjdChz
aG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92ZXJ0aWNhbFNj
cm9sbGJhciA/IG1fdmVydGljYWxTY3JvbGxiYXItPm9jY3VwaWVkV2lkdGgoKSA6IDAsCiAgICAg
ICAgICAgICBoZWlnaHQoKSAtIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0KCksCiAgICAg
ICAgICAgICB3aWR0aCgpIC0gKG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2FsU2Nyb2xs
YmFyLT5vY2N1cGllZFdpZHRoKCkgOiAwKSwKICAgICAgICAgICAgIG1faG9yaXpvbnRhbFNjcm9s
bGJhci0+aGVpZ2h0KCkpOwpAQCAtNzQwLDcgKzc0MCw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBk
YXRlU2Nyb2xsYmFycyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAg
ICAgICBpbnQgY2xpZW50SGVpZ2h0ID0gdmlzaWJsZUhlaWdodCgpOwogICAgICAgICBpbnQgcGFn
ZVN0ZXAgPSBTY3JvbGxiYXI6OnBhZ2VTdGVwKGNsaWVudEhlaWdodCk7CiAgICAgICAgIEludFJl
Y3Qgb2xkUmVjdChtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5mcmFtZVJlY3QoKSk7Ci0gICAgICAgIElu
dFJlY3QgdkJhclJlY3QodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gMCA6IHdpZHRoKCkg
LSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0aCgpLAorICAgICAgICBJbnRSZWN0IHZCYXJSZWN0
KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IDAgOiB3aWR0aCgp
IC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAgICAgICAgIHRvcENvbnRlbnRJ
bnNldCgpLAogICAgICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAg
ICAgICAgIGhlaWdodCgpIC0gdG9wQ29udGVudEluc2V0KCkgLSAobV9ob3Jpem9udGFsU2Nyb2xs
YmFyID8gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5vY2N1cGllZEhlaWdodCgpIDogMCkpOwpAQCAt
MTEzNCwxNCArMTEzNCwxNCBAQCBJbnRSZWN0IFNjcm9sbFZpZXc6OnNjcm9sbENvcm5lclJlY3Qo
KSBjb25zdAogICAgIGludCBoZWlnaHRUcmFja2VkQnlTY3JvbGxiYXIgPSBoZWlnaHQoKSAtIHRv
cENvbnRlbnRJbnNldCgpOwogCiAgICAgaWYgKG1faG9yaXpvbnRhbFNjcm9sbGJhciAmJiB3aWR0
aCgpIC0gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgpID4gMCkgewotICAgICAgICBjb3Ju
ZXJSZWN0LnVuaXRlKEludFJlY3QodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gMCA6IG1f
aG9yaXpvbnRhbFNjcm9sbGJhci0+d2lkdGgoKSwKKyAgICAgICAgY29ybmVyUmVjdC51bml0ZShJ
bnRSZWN0KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IDAgOiBt
X2hvcml6b250YWxTY3JvbGxiYXItPndpZHRoKCksCiAgICAgICAgICAgICBoZWlnaHQoKSAtIG1f
aG9yaXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0KCksCiAgICAgICAgICAgICB3aWR0aCgpIC0gbV9o
b3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAgbV9ob3Jpem9udGFsU2Ny
b2xsYmFyLT5oZWlnaHQoKSkpOwogICAgIH0KIAogICAgIGlmIChtX3ZlcnRpY2FsU2Nyb2xsYmFy
ICYmIGhlaWdodFRyYWNrZWRCeVNjcm9sbGJhciAtIG1fdmVydGljYWxTY3JvbGxiYXItPmhlaWdo
dCgpID4gMCkgewotICAgICAgICBjb3JuZXJSZWN0LnVuaXRlKEludFJlY3QodmVydGljYWxTY3Jv
bGxiYXJJc09uTGVmdCgpID8gMCA6IHdpZHRoKCkgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0
aCgpLAorICAgICAgICBjb3JuZXJSZWN0LnVuaXRlKEludFJlY3Qoc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gMCA6IHdpZHRoKCkgLSBtX3ZlcnRpY2FsU2Nyb2xs
YmFyLT53aWR0aCgpLAogICAgICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJhci0+aGVpZ2h0KCkg
KyB0b3BDb250ZW50SW5zZXQoKSwKICAgICAgICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXItPndp
ZHRoKCksCiAgICAgICAgICAgICBoZWlnaHRUcmFja2VkQnlTY3JvbGxiYXIgLSBtX3ZlcnRpY2Fs
U2Nyb2xsYmFyLT5oZWlnaHQoKSkpOwpAQCAtMTUwMiw3ICsxNTAyLDcgQEAgdm9pZCBTY3JvbGxW
aWV3OjpzdHlsZURpZENoYW5nZSgpCiBJbnRQb2ludCBTY3JvbGxWaWV3Ojpsb2NhdGlvbk9mQ29u
dGVudHMoKSBjb25zdAogewogICAgIEludFBvaW50IHJlc3VsdCA9IGxvY2F0aW9uKCk7Ci0gICAg
aWYgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyKQor
ICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92
ZXJ0aWNhbFNjcm9sbGJhcikKICAgICAgICAgcmVzdWx0Lm1vdmUobV92ZXJ0aWNhbFNjcm9sbGJh
ci0+b2NjdXBpZWRXaWR0aCgpLCAwKTsKICAgICByZXR1cm4gcmVzdWx0OwogfQpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGQzYTM1ZTIxMWM5MmFmZWJm
ODQ0NGFlZDA0MjE0MzM4OGU2NDQzNmUuLjYwZmU5M2RhZGQ2NTcwOWEwMjEwNjA2ODlkMjQ2YTU1
NTVjM2U4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAK
QEAgLTY4OSwxNiArNjg5LDQgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6Y29tcHV0ZVNjcm9sbGJh
clZhbHVlQW5kT3ZlcmhhbmcoZmxvYXQgY3VycmVudFBvc2l0aW9uLCBmbG8KICAgICB9CiB9CiAK
LSNpZiAhUExBVEZPUk0oQ09DT0EpCi1ib29sIFNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9s
bGJhcklzT25MZWZ0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLWJvb2wgU2Ny
b2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwoKQotewotICAgIHJldHVybiBmYWxzZTsK
LX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCAzZmRhYWI0Y2QzY2FkNmM3ODJhOGFlNmRjNDdhMGI5
NjYwOWJmNmMxLi4wOTlhMzUxNGI0ZGNkNTY5NTFjNDZkZWUxZGFkYzA5ODkxNTRhNDRkIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTMxNSw4ICszMTUsNyBA
QCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNb2NrU2Nyb2xsQW5pbWF0b3IoKSBjb25z
dCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2dNb2NrU2Nyb2xsQW5pbWF0
b3JNZXNzYWdlKGNvbnN0IFN0cmluZyYpIGNvbnN0IHsgfTsKIAotICAgIGJvb2wgdmVydGljYWxT
Y3JvbGxiYXJJc09uTGVmdCgpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIHN5c3RlbUxhbmd1YWdl
SXNSVEwoKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFdFQkNPUkVfRVhQT1JU
IFNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9t
YWMvU2Nyb2xsYWJsZUFyZWFNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Ny
b2xsYWJsZUFyZWFNYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDI3ZTU1YWU5
OTY4ODI4MWM4NTQ1NjBiNjc3ZWM4NmVmNTUxZWQ1ZDkuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9s
bGFibGVBcmVhTWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBAQAotLyoKLSAqIENv
cHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2ZWQuCi0gKiAKLSAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICogCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNv
bmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4gdGhlIGRvY3VtZW50
YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZQotICogZGlzdHJp
YnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUgSW5jLiBub3IgdGhl
IG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRvIGVuZG9yc2Ugb3Ig
cHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdhcmUgd2l0aG91dCBz
cGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKLSAqIFRISVMgU09GVFdBUkUg
SVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05UUklCVVRPUlMKLSAq
ICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5H
LCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNI
QU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQVVJQT1NFIEFSRSBE
SVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0gKiBPV05FUiBPUiBD
T05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1IgUFJPRklUUzsgT1Ig
QlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZCi0gKiBUSEVP
UlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURW
SVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotI2luY2x1ZGUg
ImNvbmZpZy5oIgotI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCi0KLSNpZiBQTEFURk9STShN
QUMpCi0jaW5jbHVkZSAiTlNTY3JvbGxlckltcFNQSS5oIgotI2VuZGlmCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLQotLy8gSXQncyBjb25jZWl2YWJsZSB0aGF0IGluIHRoZSBmdXR1cmUsIHdlIG1h
eSB3YW50IHNvbWUgc2Nyb2xsYmFycyB0byBiZSBvbiB0aGUgcmlnaHQgd2hpbGUgb3RoZXIgc2Ny
b2xsYmFycyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcmUgb24gdGhlIGxlZnQuCi0vLyBUaGlzIG5v
bi1zdGF0aWMgZnVuY3Rpb24gb24gdGhlIFNjcm9sbGFibGVBcmVhIG1ha2VzIHRoYXQgcG9zc2li
bGUuCi1ib29sIFNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgY29u
c3QKLXsKLSAgICByZXR1cm4gc3lzdGVtTGFuZ3VhZ2VJc1JUTCgpOwotfQotCi1ib29sIFNjcm9s
bGFibGVBcmVhOjpzeXN0ZW1MYW5ndWFnZUlzUlRMKCkKLXsKLSNpZiBQTEFURk9STShNQUMpICYm
IF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwCi0gICAgc3RhdGljIGJv
b2wgcmVzdWx0ID0gW1tOU1Njcm9sbGVySW1wUGFpciBjbGFzc10gcmVzcG9uZHNUb1NlbGVjdG9y
OkBzZWxlY3RvcihzY3JvbGxlckxheW91dERpcmVjdGlvbildICYmIFtOU1Njcm9sbGVySW1wUGFp
ciBzY3JvbGxlckxheW91dERpcmVjdGlvbl0gPT0gTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uUmlnaHRUb0xlZnQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSNlbHNlCi0gICAgcmV0dXJuIGZh
bHNlOwotI2VuZGlmCi19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9T
Y3JvbGxiYXJUaGVtZU1hYy5tbQppbmRleCBmMjM5NjYxZjk1ZDBjZmY5MmI2MDlhYjJlY2M3MTE5
YmUyODA5NmQ5Li45OWUwMmFlNDg0ZjA0MGY3YjBjMzFmZmMyOWViOTVhYWE0MjU2MDc3IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0K
KysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCkBA
IC0xNTgsNyArMTU4LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6ZGlkQ3JlYXRlU2Nyb2xs
ZXJJbXAoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCiAjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19P
U19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAogICAgIE5TU2Nyb2xsZXJJbXAgKnNj
cm9sbGVySW1wID0gcGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpOwogICAgIEFTU0VSVChz
Y3JvbGxlckltcCk7Ci0gICAgc2Nyb2xsZXJJbXAudXNlckludGVyZmFjZUxheW91dERpcmVjdGlv
biA9IHNjcm9sbGJhci5zY3JvbGxhYmxlQXJlYSgpLnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQo
KSA/IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0IDogTlNVc2VySW50
ZXJmYWNlTGF5b3V0RGlyZWN0aW9uTGVmdFRvUmlnaHQ7CisgICAgc2Nyb2xsZXJJbXAudXNlcklu
dGVyZmFjZUxheW91dERpcmVjdGlvbiA9IHNjcm9sbGJhci5zY3JvbGxhYmxlQXJlYSgpLnNob3Vs
ZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IE5TVXNlckludGVyZmFjZUxh
eW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0IDogTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
TGVmdFRvUmlnaHQ7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzY3JvbGxiYXIpOwogI2VuZGlm
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1dyaXRpbmdNb2RlLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1dyaXRpbmdNb2RlLmgKaW5kZXggMjMxMGI0
M2U3NzA3ODI4N2QwYWVhZjgzYTQ4N2Q4Yzk3NDY4N2U1YS4uYWNjNGY5M2NjZTEzMjIwY2JjZWZm
MTAyZTBiNTg3OGJkZTE4ZGM0NiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
dGV4dC9Xcml0aW5nTW9kZS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3RleHQvV3Jp
dGluZ01vZGUuaApAQCAtMzQsNyArMzQsNyBAQAogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWVu
dW0gVGV4dERpcmVjdGlvbiB7IExUUiwgUlRMIH07CitlbnVtIFRleHREaXJlY3Rpb24geyBMVFIg
PSAwLCBSVEwgPSAxIH07CiAKIGlubGluZSBib29sIGlzTGVmdFRvUmlnaHREaXJlY3Rpb24oVGV4
dERpcmVjdGlvbiBkaXJlY3Rpb24pCiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcAppbmRleCBiN2UyZDliMDlkY2VmNzRjM2NmN2FjZGQwNDJlY2JjNTE0OGYxZWRiLi42
YjIzNWNhOTYyMjcwYTA0ZDNmOWEyNDkxMGIwYThmM2Q5ODA1NDM1IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTIyODAsNyArMjI4MCw3IEBAIExheW91dFVu
aXQgUmVuZGVyQmxvY2s6OnRleHRJbmRlbnRPZmZzZXQoKSBjb25zdAogTGF5b3V0VW5pdCBSZW5k
ZXJCbG9jazo6bG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KFJlbmRlclJlZ2lvbiogcmVnaW9u
KSBjb25zdAogewogICAgIExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXQgPSBzdHlsZSgpLmlz
SG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpIDog
Ym9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCk7Ci0gICAgaWYgKHN0eWxlKCkuc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgIGxvZ2ljYWxMZWZ0T2Zmc2V0ICs9
IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsKICAgICBpZiAoIXJlZ2lvbikKICAgICAgICAgcmV0
dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0OwpAQCAtMjI5MSw3ICsyMjkxLDcgQEAgTGF5b3V0VW5pdCBS
ZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KFJlbmRlclJlZ2lvbiogcmVn
aW9uKSBjb25zdAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9y
Q29udGVudChSZW5kZXJSZWdpb24qIHJlZ2lvbikgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IGxv
Z2ljYWxSaWdodE9mZnNldCA9IHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJv
cmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgOiBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKTsK
LSAgICBpZiAoc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkK
ICAgICAgICAgbG9naWNhbFJpZ2h0T2Zmc2V0ICs9IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsK
ICAgICBsb2dpY2FsUmlnaHRPZmZzZXQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CiAgICAg
aWYgKCFyZWdpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
QmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCmluZGV4IDM4YTQxNDhmMTFiZGVhYjhmMTU4MTZmNWYxYzBmYzIxMjU2NThkNWMuLjliNjIz
YzNmN2E5NmYyOGM4NmRlZmFjODY4NDg5ZGFkYzAwY2RlNDggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC04MjgsNyArODI4LDcgQEAgTGF5b3V0
VW5pdCBSZW5kZXJCbG9ja0Zsb3c6Om1hcmdpbk9mZnNldEZvclNlbGZDb2xsYXBzaW5nQmxvY2so
KQogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmRldGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JD
aGlsZChSZW5kZXJCb3gmIGNoaWxkLCBBcHBseUxheW91dERlbHRhTW9kZSBhcHBseURlbHRhKQog
ewogICAgIExheW91dFVuaXQgc3RhcnRQb3NpdGlvbiA9IGJvcmRlclN0YXJ0KCkgKyBwYWRkaW5n
U3RhcnQoKTsKLSAgICBpZiAoc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSkKICAgICAgICAgc3RhcnRQb3NpdGlvbiArPSAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKCkgPyAxIDogLTEpICogdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOwogICAgIExh
eW91dFVuaXQgdG90YWxBdmFpbGFibGVMb2dpY2FsV2lkdGggPSBib3JkZXJBbmRQYWRkaW5nTG9n
aWNhbFdpZHRoKCkgKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA3ZjBjYjc2MTM5ZjEyZDI4ZDljZTJlY2FmMjk3YjBi
NjE1ZTFhMWY5Li5kODg5YThmMDBmYmE4ZDlkZDM5N2U4ZjVkODI5NWZmYmVmMGJjMzMwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjkzLDcgKzY5Myw3IEBAIFJv
dW5kZWRSZWN0OjpSYWRpaSBSZW5kZXJCb3g6OmJvcmRlclJhZGlpKCkgY29uc3QKIExheW91dFJl
Y3QgUmVuZGVyQm94Ojpjb250ZW50Qm94UmVjdCgpIGNvbnN0CiB7CiAgICAgTGF5b3V0VW5pdCB4
ID0gYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKLSAgICBpZiAobGF5ZXIoKSAmJiBsYXll
cigpLT52ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgeCArPSB2ZXJ0aWNhbFNjcm9s
bGJhcldpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCB5ID0gYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9w
KCk7CiAgICAgcmV0dXJuIExheW91dFJlY3QoeCwgeSwgY29udGVudFdpZHRoKCksIGNvbnRlbnRI
ZWlnaHQoKSk7CkBAIC0xODI3LDcgKzE4MjcsNyBAQCBMYXlvdXRSZWN0IFJlbmRlckJveDo6b3Zl
cmZsb3dDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24sIFJlbmRlclJlZ2lvbgog
CiAgICAgLy8gU3VidHJhY3Qgb3V0IHNjcm9sbGJhcnMgaWYgd2UgaGF2ZSB0aGVtLgogICAgIGlm
IChsYXllcigpKSB7Ci0gICAgICAgIGlmIChzdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICAgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgICAgIGNsaXBSZWN0Lm1vdmUobGF5ZXIoKS0+
dmVydGljYWxTY3JvbGxiYXJXaWR0aChyZWxldmFuY3kpLCAwKTsKICAgICAgICAgY2xpcFJlY3Qu
Y29udHJhY3QobGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJXaWR0aChyZWxldmFuY3kpLCBsYXll
cigpLT5ob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KHJlbGV2YW5jeSkpOwogICAgIH0KQEAgLTM1
MzQsNyArMzUzNCw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25lZExvZ2ljYWxX
aWR0aChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMmIGNvbXB1CiAgICAgY29tcHV0ZWRWYWx1
ZXMubV9leHRlbnQgKz0gYm9yZGVyc1BsdXNQYWRkaW5nOwogICAgIGlmIChpczxSZW5kZXJCb3g+
KGNvbnRhaW5lckJsb2NrKSkgewogICAgICAgICBhdXRvJiBjb250YWluaW5nQm94ID0gZG93bmNh
c3Q8UmVuZGVyQm94Pihjb250YWluZXJCbG9jayk7Ci0gICAgICAgIGlmIChjb250YWluaW5nQm94
LmxheWVyKCkgJiYgY29udGFpbmluZ0JveC5sYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcklzT25M
ZWZ0KCkpCisgICAgICAgIGlmIChjb250YWluaW5nQm94LnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgICAgIGNvbXB1dGVkVmFsdWVzLm1fcG9zaXRp
b24gKz0gY29udGFpbmluZ0JveC52ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7CiAgICAgfQogICAg
IApAQCAtNDkwNyw3ICs0OTA3LDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJCb3g6OmZsaXBwZWRDbGll
bnRCb3hSZWN0KCkgY29uc3QKICAgICBmbGlwRm9yV3JpdGluZ01vZGUocmVjdCk7CiAgICAgLy8g
U3VidHJhY3Qgc3BhY2Ugb2NjdXBpZWQgYnkgc2Nyb2xsYmFycy4gVGhleSBhcmUgYXQgdGhlaXIg
cGh5c2ljYWwgZWRnZSBpbiB0aGlzIGNvb3JkaW5hdGUKICAgICAvLyBzeXN0ZW0sIHNvIG9yZGVy
IGlzIGltcG9ydGFudCBoZXJlOiBmaXJzdCBmbGlwLCB0aGVuIHN1YnRyYWN0IHNjcm9sbGJhcnMu
Ci0gICAgaWYgKHN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpICYmIHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgIGlmIChzaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgc3R5bGUoKS5pc0xlZnRUb1Jp
Z2h0RGlyZWN0aW9uKCkpCiAgICAgICAgIHJlY3QubW92ZSh2ZXJ0aWNhbFNjcm9sbGJhcldpZHRo
KCksIDApOwogICAgIHJlY3QuY29udHJhY3QodmVydGljYWxTY3JvbGxiYXJXaWR0aCgpLCBob3Jp
em9udGFsU2Nyb2xsYmFySGVpZ2h0KCkpOwogICAgIHJldHVybiByZWN0OwpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5kZXggYTM2NDZl
MzEzYTAyNDY2Y2E5OTMzOTBjOTBiZGMwMjg0MTg3ZDU3Ni4uOTc3MGM3MGExYTkxZGZkMDNkYjBj
NGRiNGI5ODBkMjExYjkxYjRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC00NTIsNyArNDUyLDcgQEAgRmxvYXRSZWN0IFJl
bmRlckJveE1vZGVsT2JqZWN0Ojpjb25zdHJhaW5pbmdSZWN0Rm9yU3RpY2t5UG9zaXRpb24oKSBj
b25zdAogICAgICAgICBGbG9hdFBvaW50IHNjcm9sbE9mZnNldCA9IEZsb2F0UG9pbnQoKSArIGVu
Y2xvc2luZ0NsaXBwaW5nTGF5ZXItPnNjcm9sbE9mZnNldCgpOwogCiAgICAgICAgIGZsb2F0IHNj
cm9sbGJhck9mZnNldCA9IDA7Ci0gICAgICAgIGlmIChlbmNsb3NpbmdDbGlwcGluZ0JveC5oYXNM
YXllcigpICYmIGVuY2xvc2luZ0NsaXBwaW5nQm94LnN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgICAgICBpZiAoZW5jbG9zaW5nQ2xpcHBpbmdC
b3guaGFzTGF5ZXIoKSAmJiBlbmNsb3NpbmdDbGlwcGluZ0JveC5zaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgICAgICBzY3JvbGxiYXJPZmZzZXQgPSBl
bmNsb3NpbmdDbGlwcGluZ0JveC5sYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKElnbm9y
ZU92ZXJsYXlTY3JvbGxiYXJTaXplKTsKIAogICAgICAgICBjb25zdHJhaW5pbmdSZWN0LnNldExv
Y2F0aW9uKEZsb2F0UG9pbnQoc2Nyb2xsT2Zmc2V0LngoKSArIHNjcm9sbGJhck9mZnNldCwgc2Ny
b2xsT2Zmc2V0LnkoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
aW5kZXggODcyY2I4OWY0NzlmOTc1NTMzMDczZDJjOTMyNmY3YWYyMTA5YWI0My4uNDgyOTNmN2Zi
MWRlZTBkNjJlOWU4MzMxYmRmODIxNDFkN2I2MzhkZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNjg5LDcgKzI2ODksNyBAQCB2b2lkIFJlbmRlckxheWVy
OjpyZXNpemUoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldnQsIGNvbnN0IExheW91dFNpemUm
IG9sZE9mZgogICAgIGVsZW1lbnQtPnNldE1pbmltdW1TaXplRm9yUmVzaXppbmcobWluaW11bVNp
emUpOwogICAgIAogICAgIExheW91dFNpemUgYWRqdXN0ZWRPbGRPZmZzZXQgPSBMYXlvdXRTaXpl
KG9sZE9mZnNldC53aWR0aCgpIC8gem9vbUZhY3Rvciwgb2xkT2Zmc2V0LmhlaWdodCgpIC8gem9v
bUZhY3Rvcik7Ci0gICAgaWYgKHJlbmRlcmVyLT5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkgeworICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0
aW9uU2Nyb2xsYmFyT25MZWZ0KCkpIHsKICAgICAgICAgbmV3T2Zmc2V0LnNldFdpZHRoKC1uZXdP
ZmZzZXQud2lkdGgoKSk7CiAgICAgICAgIGFkanVzdGVkT2xkT2Zmc2V0LnNldFdpZHRoKC1hZGp1
c3RlZE9sZE9mZnNldC53aWR0aCgpKTsKICAgICB9CkBAIC0yNzkxLDM0ICsyNzkxLDM0IEBAIGJv
b2wgUmVuZGVyTGF5ZXI6OmlzQWN0aXZlKCkgY29uc3QKICAgICByZXR1cm4gcGFnZSAmJiBwYWdl
LT5mb2N1c0NvbnRyb2xsZXIoKS5pc0FjdGl2ZSgpOwogfQogCi1zdGF0aWMgaW50IGNvcm5lclN0
YXJ0KGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgaW50IG1pblgsIGludCBtYXhYLCBpbnQgdGhp
Y2tuZXNzKQorc3RhdGljIGludCBjb3JuZXJTdGFydChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIs
IGludCBtaW5YLCBpbnQgbWF4WCwgaW50IHRoaWNrbmVzcykKIHsKLSAgICBpZiAobGF5ZXItPnJl
bmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCkpCi0gICAgICAgIHJldHVybiBtaW5YICsgbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5ib3Jk
ZXJMZWZ0V2lkdGgoKTsKLSAgICByZXR1cm4gbWF4WCAtIHRoaWNrbmVzcyAtIGxheWVyLT5yZW5k
ZXJlcigpLnN0eWxlKCkuYm9yZGVyUmlnaHRXaWR0aCgpOworICAgIGlmIChsYXllci5zaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgICAgIHJldHVybiBtaW5Y
ICsgbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckxlZnRXaWR0aCgpOworICAgIHJldHVy
biBtYXhYIC0gdGhpY2tuZXNzIC0gbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlclJpZ2h0
V2lkdGgoKTsKIH0KIAotc3RhdGljIExheW91dFJlY3QgY29ybmVyUmVjdChjb25zdCBSZW5kZXJM
YXllciogbGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIGJvdW5kcykKK3N0YXRpYyBMYXlvdXRSZWN0
IGNvcm5lclJlY3QoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBjb25zdCBMYXlvdXRSZWN0JiBi
b3VuZHMpCiB7CiAgICAgaW50IGhvcml6b250YWxUaGlja25lc3M7CiAgICAgaW50IHZlcnRpY2Fs
VGhpY2tuZXNzOwotICAgIGlmICghbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCkgJiYgIWxheWVy
LT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKKyAgICBpZiAoIWxheWVyLnZlcnRpY2FsU2Nyb2xs
YmFyKCkgJiYgIWxheWVyLmhvcml6b250YWxTY3JvbGxiYXIoKSkgewogICAgICAgICAvLyBGSVhN
RTogVGhpcyBpc24ndCByaWdodC4gIFdlIG5lZWQgdG8ga25vdyB0aGUgdGhpY2tuZXNzIG9mIGN1
c3RvbSBzY3JvbGxiYXJzCiAgICAgICAgIC8vIGV2ZW4gd2hlbiB0aGV5IGRvbid0IGV4aXN0IGlu
IG9yZGVyIHRvIHNldCB0aGUgcmVzaXplciBzcXVhcmUgc2l6ZSBwcm9wZXJseS4KICAgICAgICAg
aG9yaXpvbnRhbFRoaWNrbmVzcyA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnNjcm9sbGJhclRo
aWNrbmVzcygpOwogICAgICAgICB2ZXJ0aWNhbFRoaWNrbmVzcyA9IGhvcml6b250YWxUaGlja25l
c3M7Ci0gICAgfSBlbHNlIGlmIChsYXllci0+dmVydGljYWxTY3JvbGxiYXIoKSAmJiAhbGF5ZXIt
Pmhvcml6b250YWxTY3JvbGxiYXIoKSkgewotICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0g
bGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCktPndpZHRoKCk7CisgICAgfSBlbHNlIGlmIChsYXll
ci52ZXJ0aWNhbFNjcm9sbGJhcigpICYmICFsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsK
KyAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLnZlcnRpY2FsU2Nyb2xsYmFyKCkt
PndpZHRoKCk7CiAgICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gaG9yaXpvbnRhbFRoaWNrbmVz
czsKLSAgICB9IGVsc2UgaWYgKGxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgIWxheWVy
LT52ZXJ0aWNhbFNjcm9sbGJhcigpKSB7Ci0gICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gbGF5
ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKS0+aGVpZ2h0KCk7CisgICAgfSBlbHNlIGlmIChsYXll
ci5ob3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgIWxheWVyLnZlcnRpY2FsU2Nyb2xsYmFyKCkpIHsK
KyAgICAgICAgdmVydGljYWxUaGlja25lc3MgPSBsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFyKCkt
PmhlaWdodCgpOwogICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gdmVydGljYWxUaGlja25l
c3M7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLT52
ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0aCgpOwotICAgICAgICB2ZXJ0aWNhbFRoaWNrbmVzcyA9
IGxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmhlaWdodCgpOworICAgICAgICBob3Jpem9u
dGFsVGhpY2tuZXNzID0gbGF5ZXIudmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgoKTsKKyAgICAg
ICAgdmVydGljYWxUaGlja25lc3MgPSBsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmhlaWdo
dCgpOwogICAgIH0KICAgICByZXR1cm4gTGF5b3V0UmVjdChjb3JuZXJTdGFydChsYXllciwgYm91
bmRzLngoKSwgYm91bmRzLm1heFgoKSwgaG9yaXpvbnRhbFRoaWNrbmVzcyksCi0gICAgICAgIGJv
dW5kcy5tYXhZKCkgLSB2ZXJ0aWNhbFRoaWNrbmVzcyAtIGxheWVyLT5yZW5kZXJlcigpLnN0eWxl
KCkuYm9yZGVyQm90dG9tV2lkdGgoKSwKKyAgICAgICAgYm91bmRzLm1heFkoKSAtIHZlcnRpY2Fs
VGhpY2tuZXNzIC0gbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckJvdHRvbVdpZHRoKCks
CiAgICAgICAgIGhvcml6b250YWxUaGlja25lc3MsIHZlcnRpY2FsVGhpY2tuZXNzKTsKIH0KIApA
QCAtMjgzMywxNCArMjgzMywxNCBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjpzY3JvbGxDb3JuZXJS
ZWN0KCkgY29uc3QKICAgICBib29sIGhhc1ZlcnRpY2FsQmFyID0gbV92QmFyICYmICFtX3ZCYXIt
PmlzT3ZlcmxheVNjcm9sbGJhcigpOwogICAgIGJvb2wgaGFzUmVzaXplciA9IHJlbmRlcmVyKCku
c3R5bGUoKS5yZXNpemUoKSAhPSBSRVNJWkVfTk9ORTsKICAgICBpZiAoKGhhc0hvcml6b250YWxC
YXIgJiYgaGFzVmVydGljYWxCYXIpIHx8IChoYXNSZXNpemVyICYmIChoYXNIb3Jpem9udGFsQmFy
IHx8IGhhc1ZlcnRpY2FsQmFyKSkpCi0gICAgICAgIHJldHVybiBzbmFwcGVkSW50UmVjdChjb3Ju
ZXJSZWN0KHRoaXMsIHJlbmRlckJveCgpLT5ib3JkZXJCb3hSZWN0KCkpKTsKKyAgICAgICAgcmV0
dXJuIHNuYXBwZWRJbnRSZWN0KGNvcm5lclJlY3QoKnRoaXMsIHJlbmRlckJveCgpLT5ib3JkZXJC
b3hSZWN0KCkpKTsKICAgICByZXR1cm4gSW50UmVjdCgpOwogfQogCi1zdGF0aWMgTGF5b3V0UmVj
dCByZXNpemVyQ29ybmVyUmVjdChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNvbnN0IExheW91
dFJlY3QmIGJvdW5kcykKK3N0YXRpYyBMYXlvdXRSZWN0IHJlc2l6ZXJDb3JuZXJSZWN0KGNvbnN0
IFJlbmRlckxheWVyJiBsYXllciwgY29uc3QgTGF5b3V0UmVjdCYgYm91bmRzKQogewotICAgIEFT
U0VSVChsYXllci0+cmVuZGVyZXIoKS5pc0JveCgpKTsKLSAgICBpZiAobGF5ZXItPnJlbmRlcmVy
KCkuc3R5bGUoKS5yZXNpemUoKSA9PSBSRVNJWkVfTk9ORSkKKyAgICBBU1NFUlQobGF5ZXIucmVu
ZGVyZXIoKS5pc0JveCgpKTsKKyAgICBpZiAobGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLnJlc2l6
ZSgpID09IFJFU0laRV9OT05FKQogICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwogICAgIHJl
dHVybiBjb3JuZXJSZWN0KGxheWVyLCBib3VuZHMpOwogfQpAQCAtMjg1Miw3ICsyODUyLDcgQEAg
TGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6c2Nyb2xsQ29ybmVyQW5kUmVzaXplclJlY3QoKSBjb25z
dAogICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwogICAgIExheW91dFJlY3Qgc2Nyb2xsQ29y
bmVyQW5kUmVzaXplciA9IHNjcm9sbENvcm5lclJlY3QoKTsKICAgICBpZiAoc2Nyb2xsQ29ybmVy
QW5kUmVzaXplci5pc0VtcHR5KCkpCi0gICAgICAgIHNjcm9sbENvcm5lckFuZFJlc2l6ZXIgPSBy
ZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSk7CisgICAgICAgIHNj
cm9sbENvcm5lckFuZFJlc2l6ZXIgPSByZXNpemVyQ29ybmVyUmVjdCgqdGhpcywgYm94LT5ib3Jk
ZXJCb3hSZWN0KCkpOwogICAgIHJldHVybiBzY3JvbGxDb3JuZXJBbmRSZXNpemVyOwogfQogCkBA
IC0yOTk2LDcgKzI5OTYsNyBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjpyZWN0Rm9yVmVydGljYWxT
Y3JvbGxiYXIoY29uc3QgSW50UmVjdCYgYm9yZGVyQm94UmVjdCkgY29ucwogTGF5b3V0VW5pdCBS
ZW5kZXJMYXllcjo6dmVydGljYWxTY3JvbGxiYXJTdGFydChpbnQgbWluWCwgaW50IG1heFgpIGNv
bnN0CiB7CiAgICAgY29uc3QgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKLSAgICBpZiAo
cmVuZGVyZXIoKS5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxl
ZnQoKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
KQogICAgICAgICByZXR1cm4gbWluWCArIGJveC0+Ym9yZGVyTGVmdCgpOwogICAgIHJldHVybiBt
YXhYIC0gYm94LT5ib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgpOwogfQpAQCAtMzAwNSw4
ICszMDA1LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJMYXllcjo6aG9yaXpvbnRhbFNjcm9sbGJhclN0
YXJ0KGludCBtaW5YKSBjb25zdAogewogICAgIGNvbnN0IFJlbmRlckJveCogYm94ID0gcmVuZGVy
Qm94KCk7CiAgICAgaW50IHggPSBtaW5YICsgYm94LT5ib3JkZXJMZWZ0KCk7Ci0gICAgaWYgKHJl
bmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCkpCi0gICAgICAgIHggKz0gbV92QmFyID8gbV92QmFyLT53aWR0aCgpIDogcm91bmRUb0ludChy
ZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSkud2lkdGgoKSk7Cisg
ICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICAg
ICAgeCArPSBtX3ZCYXIgPyBtX3ZCYXItPndpZHRoKCkgOiByb3VuZFRvSW50KHJlc2l6ZXJDb3Ju
ZXJSZWN0KCp0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSkud2lkdGgoKSk7CiAgICAgcmV0dXJu
IHg7CiB9CiAKQEAgLTMyNzAsNyArMzI3MCw3IEBAIEludFNpemUgUmVuZGVyTGF5ZXI6Om9mZnNl
dEZyb21SZXNpemVDb3JuZXIoY29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQpIGNvbnN0CiAg
ICAgLy8gQ3VycmVudGx5IHRoZSByZXNpemUgY29ybmVyIGlzIGVpdGhlciB0aGUgYm90dG9tIHJp
Z2h0IGNvcm5lciBvciB0aGUgYm90dG9tIGxlZnQgY29ybmVyLgogICAgIC8vIEZJWE1FOiBUaGlz
IGFzc3VtZXMgdGhlIGxvY2F0aW9uIGlzIDAsIDAuIElzIHRoaXMgZ3VhcmFudGVlZCB0byBhbHdh
eXMgYmUgdGhlIGNhc2U/CiAgICAgSW50U2l6ZSBlbGVtZW50U2l6ZSA9IHNpemUoKTsKLSAgICBp
ZiAocmVuZGVyZXIoKS5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpKQogICAgICAgICBlbGVtZW50U2l6ZS5zZXRXaWR0aCgwKTsKICAgICBJbnRQb2ludCByZXNp
emVyUG9pbnQgPSBJbnRQb2ludChlbGVtZW50U2l6ZSk7CiAgICAgSW50UG9pbnQgbG9jYWxQb2lu
dCA9IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQb2ludCkpOwpA
QCAtMzMwOSw3ICszMzA5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cG9zaXRpb25PdmVyZmxvd0Nv
bnRyb2xzKGNvbnN0IEludFNpemUmIG9mZnNldEZyb21Sb290KQogICAgIGlmIChtX3Njcm9sbENv
cm5lcikKICAgICAgICAgbV9zY3JvbGxDb3JuZXItPnNldEZyYW1lUmVjdChzY3JvbGxDb3JuZXIp
OwogICAgIGlmIChtX3Jlc2l6ZXIpCi0gICAgICAgIG1fcmVzaXplci0+c2V0RnJhbWVSZWN0KHJl
c2l6ZXJDb3JuZXJSZWN0KHRoaXMsIGJvcmRlckJveCkpOworICAgICAgICBtX3Jlc2l6ZXItPnNl
dEZyYW1lUmVjdChyZXNpemVyQ29ybmVyUmVjdCgqdGhpcywgYm9yZGVyQm94KSk7CiAKICAgICBp
ZiAoaXNDb21wb3NpdGVkKCkpCiAgICAgICAgIGJhY2tpbmcoKS0+cG9zaXRpb25PdmVyZmxvd0Nv
bnRyb2xzTGF5ZXJzKCk7CkBAIC0zMzY3LDE4ICszMzY3LDE4IEBAIExheW91dFVuaXQgUmVuZGVy
TGF5ZXI6Om92ZXJmbG93UmlnaHQoKSBjb25zdAogCiB2b2lkIFJlbmRlckxheWVyOjpjb21wdXRl
U2Nyb2xsRGltZW5zaW9ucygpCiB7Ci0gICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsK
LSAgICBBU1NFUlQoYm94KTsKKyAgICBSZW5kZXJCb3gmIGJveCA9ICpyZW5kZXJCb3goKTsKKyAg
ICBBU1NFUlQoJmJveCk7CiAKICAgICBtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSA9IGZhbHNlOwog
CiAgICAgbV9zY3JvbGxTaXplLnNldFdpZHRoKG92ZXJmbG93UmlnaHQoKSAtIG92ZXJmbG93TGVm
dCgpKTsKICAgICBtX3Njcm9sbFNpemUuc2V0SGVpZ2h0KG92ZXJmbG93Qm90dG9tKCkgLSBvdmVy
Zmxvd1RvcCgpKTsKIAotICAgIGludCBzY3JvbGxhYmxlTGVmdE92ZXJmbG93ID0gb3ZlcmZsb3dM
ZWZ0KCkgLSBib3gtPmJvcmRlckxlZnQoKTsKLSAgICBpZiAoYm94LT5zdHlsZSgpLmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSAmJiBib3gtPnN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlv
blNjcm9sbGJhck9uTGVmdCgpICYmIG1fdkJhcikKKyAgICBpbnQgc2Nyb2xsYWJsZUxlZnRPdmVy
ZmxvdyA9IG92ZXJmbG93TGVmdCgpIC0gYm94LmJvcmRlckxlZnQoKTsKKyAgICBpZiAoYm94LnN0
eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpICYmIGJveC5zaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92QmFyKQogICAgICAgICBzY3JvbGxhYmxlTGVm
dE92ZXJmbG93IC09IG1fdkJhci0+b2NjdXBpZWRXaWR0aCgpOwotICAgIGludCBzY3JvbGxhYmxl
VG9wT3ZlcmZsb3cgPSBvdmVyZmxvd1RvcCgpIC0gYm94LT5ib3JkZXJUb3AoKTsKKyAgICBpbnQg
c2Nyb2xsYWJsZVRvcE92ZXJmbG93ID0gb3ZlcmZsb3dUb3AoKSAtIGJveC5ib3JkZXJUb3AoKTsK
ICAgICBzZXRTY3JvbGxPcmlnaW4oSW50UG9pbnQoLXNjcm9sbGFibGVMZWZ0T3ZlcmZsb3csIC1z
Y3JvbGxhYmxlVG9wT3ZlcmZsb3cpKTsKIH0KIApAQCAtMzU1MSw3ICszNTUxLDcgQEAgYm9vbCBS
ZW5kZXJMYXllcjo6b3ZlcmZsb3dDb250cm9sc0ludGVyc2VjdFJlY3QoY29uc3QgSW50UmVjdCYg
bG9jYWxSZWN0KSBjb25zdAogICAgIGlmIChzY3JvbGxDb3JuZXJSZWN0KCkuaW50ZXJzZWN0cyhs
b2NhbFJlY3QpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKLSAgICBpZiAocmVzaXplckNv
cm5lclJlY3QodGhpcywgYm9yZGVyQm94KS5pbnRlcnNlY3RzKGxvY2FsUmVjdCkpCisgICAgaWYg
KHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBib3JkZXJCb3gpLmludGVyc2VjdHMobG9jYWxSZWN0
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC0zNjcwLDcg
KzM2NzAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpkcmF3UGxhdGZvcm1SZXNpemVySW1hZ2UoR3Jh
cGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXlvdQogICAgICAgICBjb3JuZXJSZXNpemVy
U2l6ZSA9IHJlc2l6ZUNvcm5lckltYWdlLT5zaXplKCk7CiAgICAgfQogCi0gICAgaWYgKHJlbmRl
cmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkp
IHsKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKSB7
CiAgICAgICAgIGNvbnRleHQuc2F2ZSgpOwogICAgICAgICBjb250ZXh0LnRyYW5zbGF0ZShyZXNp
emVyQ29ybmVyUmVjdC54KCkgKyBjb3JuZXJSZXNpemVyU2l6ZS53aWR0aCgpLCByZXNpemVyQ29y
bmVyUmVjdC55KCkgKyByZXNpemVyQ29ybmVyUmVjdC5oZWlnaHQoKSAtIGNvcm5lclJlc2l6ZXJT
aXplLmhlaWdodCgpKTsKICAgICAgICAgY29udGV4dC5zY2FsZShGbG9hdFNpemUoLTEuMCwgMS4w
KSk7CkBAIC0zNjk0LDcgKzM2OTQsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWludFJlc2l6ZXIo
R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbgogICAgIFJl
bmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgQVNTRVJUKGJveCk7CiAKLSAgICBMYXlv
dXRSZWN0IGFic1JlY3QgPSByZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJl
Y3QoKSk7CisgICAgTGF5b3V0UmVjdCBhYnNSZWN0ID0gcmVzaXplckNvcm5lclJlY3QoKnRoaXMs
IGJveC0+Ym9yZGVyQm94UmVjdCgpKTsKICAgICBhYnNSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7
CiAgICAgaWYgKCFhYnNSZWN0LmludGVyc2VjdHMoZGFtYWdlUmVjdCkpCiAgICAgICAgIHJldHVy
bjsKQEAgLTM3MzYsNyArMzczNiw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmlzUG9pbnRJblJlc2l6
ZUNvbnRyb2woY29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQpIGNvbnN0CiAgICAgSW50UG9p
bnQgbG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1
dGVQb2ludCkpOwogCiAgICAgSW50UmVjdCBsb2NhbEJvdW5kcyhJbnRQb2ludCgpLCBzbmFwcGVk
SW50UmVjdChib3gtPmZyYW1lUmVjdCgpKS5zaXplKCkpOwotICAgIHJldHVybiByZXNpemVyQ29y
bmVyUmVjdCh0aGlzLCBsb2NhbEJvdW5kcykuY29udGFpbnMobG9jYWxQb2ludCk7CisgICAgcmV0
dXJuIHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBsb2NhbEJvdW5kcykuY29udGFpbnMobG9jYWxQ
b2ludCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RPdmVyZmxvd0NvbnRyb2xzKEhp
dFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9pbnQmIGxvY2FsUG9pbnQpCkBAIC0zNzQ5
LDcgKzM3NDksNyBAQCBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0T3ZlcmZsb3dDb250cm9scyhI
aXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JgogICAgIAogICAgIEludFJlY3Qg
cmVzaXplQ29udHJvbFJlY3Q7CiAgICAgaWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5yZXNpemUoKSAh
PSBSRVNJWkVfTk9ORSkgewotICAgICAgICByZXNpemVDb250cm9sUmVjdCA9IHNuYXBwZWRJbnRS
ZWN0KHJlc2l6ZXJDb3JuZXJSZWN0KHRoaXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKSk7CisgICAg
ICAgIHJlc2l6ZUNvbnRyb2xSZWN0ID0gc25hcHBlZEludFJlY3QocmVzaXplckNvcm5lclJlY3Qo
KnRoaXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKSk7CiAgICAgICAgIGlmIChyZXNpemVDb250cm9s
UmVjdC5jb250YWlucyhsb2NhbFBvaW50KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IH0KQEAgLTUyMjgsNyArNTIyOCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RSZXNpemVy
SW5GcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMmIGxheWVyRnJhZ21lbnRzCiAKICAgICBm
b3IgKGludCBpID0gbGF5ZXJGcmFnbWVudHMuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAg
ICAgICAgY29uc3QgTGF5ZXJGcmFnbWVudCYgZnJhZ21lbnQgPSBsYXllckZyYWdtZW50cy5hdChp
KTsKLSAgICAgICAgaWYgKGZyYWdtZW50LmJhY2tncm91bmRSZWN0LmludGVyc2VjdHMoaGl0VGVz
dExvY2F0aW9uKSAmJiByZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBzbmFwcGVkSW50UmVjdChmcmFn
bWVudC5sYXllckJvdW5kcykpLmNvbnRhaW5zKGhpdFRlc3RMb2NhdGlvbi5yb3VuZGVkUG9pbnQo
KSkpCisgICAgICAgIGlmIChmcmFnbWVudC5iYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3RzKGhpdFRl
c3RMb2NhdGlvbikgJiYgcmVzaXplckNvcm5lclJlY3QoKnRoaXMsIHNuYXBwZWRJbnRSZWN0KGZy
YWdtZW50LmxheWVyQm91bmRzKSkuY29udGFpbnMoaGl0VGVzdExvY2F0aW9uLnJvdW5kZWRQb2lu
dCgpKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZGU3ZDhkYmI3NWUzYjQ1MTA0ZjFlMzJiYzAw
ZTQyNWFmZWE3MDk5ZS4uMjZhZTUwYWMxMDllZGM3OTE4NTYyMmU4NWFkNzMxOTZjYTJiZWRkOCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTY3MSw2ICs2NzEsOCBA
QCBwdWJsaWM6CiAKICAgICBSZW5kZXJMYXllciogZW5jbG9zaW5nRmxvd1RocmVhZEFuY2VzdG9y
KCkgY29uc3Q7CiAKKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZW5kZXJlcigpLnNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsgfQorCiBwcml2YXRlOgogICAgIGVudW0gQ29s
bGVjdExheWVyc0JlaGF2aW9yIHsgU3RvcEF0U3RhY2tpbmdDb250ZXh0cywgU3RvcEF0U3RhY2tp
bmdDb250YWluZXJzIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxheWVyQ29tcG9zaXRvci5jcHAKaW5kZXggMTM1ZGQxYjI2YTI0Y2Q5MjJkNjgwZDBkODE0YzZk
NmUxM2NjNDc3NC4uNmIzYWQwYTNmNGEzMDU2YTBkYTQ0NGUwYmU5YWZhYjgzMGJlNDZkZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5j
cHAKQEAgLTE3NjMsNyArMTc2Myw3IEBAIEZsb2F0UG9pbnQgUmVuZGVyTGF5ZXJDb21wb3NpdG9y
Ojpwb3NpdGlvbkZvckNsaXBMYXllcigpIGNvbnN0CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcg
PSBtX3JlbmRlclZpZXcuZnJhbWVWaWV3KCk7CiAKICAgICByZXR1cm4gRmxvYXRQb2ludCgKLSAg
ICAgICAgZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGZyYW1lVmlldy5o
b3Jpem9udGFsU2Nyb2xsYmFySW50cnVzaW9uKCkgOiAwLAorICAgICAgICBmcmFtZVZpZXcuc2hv
dWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gZnJhbWVWaWV3Lmhvcml6
b250YWxTY3JvbGxiYXJJbnRydXNpb24oKSA6IDAsCiAgICAgICAgIEZyYW1lVmlldzo6eVBvc2l0
aW9uRm9ySW5zZXRDbGlwTGF5ZXIoZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCksIGZyYW1lVmll
dy50b3BDb250ZW50SW5zZXQoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggMWM0M2Y2ODkzOTQwY2U3ODIw
MzMyYTMzNjBlYWUzOWIzYTVkNDRkMy4uYzVjZmMxZDNkNTc5NjJmMTExNGRkNjlhZDE2YjkwNjIy
NDVjNTA1MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
TW9kZWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVy
LmgiCiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVy
Vmlldy5oIgorI2luY2x1ZGUgIlNldHRpbmdzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApA
QCAtMjEyLDUgKzIxMywxOSBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0eWxlRGlk
Q2hhbmdlKFN0eWxlRGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdAogI2VuZGlmCiB9CiAK
K2Jvb2wgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNj
cm9sbGJhck9uTGVmdCgpIGNvbnN0Cit7CisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19Y
X1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAorICAgIHN3aXRjaCAoZnJhbWUoKS5zZXR0
aW5ncygpLnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koKSkgeworICAgIGNhc2UgVmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudDoKKyAgICAgICAgcmV0dXJuIHN0
eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpOworICAgIGNh
c2UgVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6VmlldzoKKyAgICAgICAgcmV0dXJu
IGZyYW1lKCkuc2V0dGluZ3MoKS5zeXN0ZW1MYXlvdXREaXJlY3Rpb24oKSA9PSBSVEw7CisgICAg
fQorI2Vsc2UKKyAgICByZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2Ug
V2ViQ29yZQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9k
ZWxPYmplY3QuaAppbmRleCAzM2FmMjRiNDEyYjEwY2YzZDI1OTg3Y2MwZTVjY2VjYTQ2YzMxMDMy
Li4zZWE0NGM3NmJjODE2NWIzZjQ0MTc5ZGM3NzMzNTgxY2YzZTVjOTA4IDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKQEAgLTUxLDYg
KzUxLDggQEAgcHVibGljOgogCiAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZU9yUnViYmVy
YmFuZGFibGVCb3goKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgYm9vbCBzaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Q7CisKIHByb3RlY3RlZDoK
ICAgICBSZW5kZXJMYXllck1vZGVsT2JqZWN0KEVsZW1lbnQmLCBSZWY8UmVuZGVyU3R5bGU+JiYs
IEJhc2VUeXBlRmxhZ3MpOwogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QoRG9jdW1lbnQmLCBS
ZWY8UmVuZGVyU3R5bGU+JiYsIEJhc2VUeXBlRmxhZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxpc3RCb3guY3BwCmluZGV4IGQ4YTZiMjYwNTk0MTEyODBhYjI1MTVhNzg1OWZm
NmQ2MjRhZGE2MDQuLmIxNGM2ZTQ2NDk0ZmE0YmNhMGIxZjc2ZDFhOWJmMDlmMjM1NmFlN2IgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTI2Niw3ICsy
NjYsNyBAQCBpbnQgUmVuZGVyTGlzdEJveDo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUg
YmFzZWxpbmVUeXBlLCBib29sIGZpcnN0TGluZSwgTAogTGF5b3V0UmVjdCBSZW5kZXJMaXN0Qm94
OjppdGVtQm91bmRpbmdCb3hSZWN0KGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0
LCBpbnQgaW5kZXgpCiB7CiAgICAgTGF5b3V0VW5pdCB4ID0gYWRkaXRpb25hbE9mZnNldC54KCkg
KyBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpOwotICAgIGlmICh2ZXJ0aWNhbFNjcm9sbGJh
cklzT25MZWZ0KCkgJiYgbV92QmFyKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9u
U2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92QmFyKQogICAgICAgICB4ICs9IG1fdkJhci0+b2NjdXBp
ZWRXaWR0aCgpOwogICAgIExheW91dFVuaXQgeSA9IGFkZGl0aW9uYWxPZmZzZXQueSgpICsgYm9y
ZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCkgKyBpdGVtSGVpZ2h0KCkgKiAoaW5kZXggLSBtX2luZGV4
T2Zmc2V0KTsKICAgICByZXR1cm4gTGF5b3V0UmVjdCh4LCB5LCBjb250ZW50V2lkdGgoKSwgaXRl
bUhlaWdodCgpKTsKQEAgLTM0NSw3ICszNDUsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50
U2Nyb2xsYmFyKFBhaW50SW5mbyYgcGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbgog
ICAgIGlmICghbV92QmFyKQogICAgICAgICByZXR1cm47CiAKLSAgICBMYXlvdXRVbml0IGxlZnQg
PSBwYWludE9mZnNldC54KCkgKyAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVy
TGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkpOworICAg
IExheW91dFVuaXQgbGVmdCA9IHBhaW50T2Zmc2V0LngoKSArIChzaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVy
UmlnaHQoKSAtIG1fdkJhci0+d2lkdGgoKSk7CiAgICAgTGF5b3V0VW5pdCB0b3AgPSBwYWludE9m
ZnNldC55KCkgKyBib3JkZXJUb3AoKTsKICAgICBMYXlvdXRVbml0IHdpZHRoID0gbV92QmFyLT53
aWR0aCgpOwogICAgIExheW91dFVuaXQgaGVpZ2h0ID0gdGhpcy0+aGVpZ2h0KCkgLSAoYm9yZGVy
VG9wKCkgKyBib3JkZXJCb3R0b20oKSk7CkBAIC00NDgsNyArNDQ4LDcgQEAgYm9vbCBSZW5kZXJM
aXN0Qm94Ojppc1BvaW50SW5PdmVyZmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBj
b25zdCBMYXlvdXQKICAgICBpZiAoIW1fdkJhciB8fCAhbV92QmFyLT5zaG91bGRQYXJ0aWNpcGF0
ZUluSGl0VGVzdGluZygpKQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBMYXlvdXRVbml0
IHggPSBhY2N1bXVsYXRlZE9mZnNldC54KCkgKyAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgp
ID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRo
KCkpOworICAgIExheW91dFVuaXQgeCA9IGFjY3VtdWxhdGVkT2Zmc2V0LngoKSArIChzaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0
aCgpIC0gYm9yZGVyUmlnaHQoKSAtIG1fdkJhci0+d2lkdGgoKSk7CiAgICAgTGF5b3V0VW5pdCB5
ID0gYWNjdW11bGF0ZWRPZmZzZXQueSgpICsgYm9yZGVyVG9wKCk7CiAgICAgTGF5b3V0VW5pdCB3
aWR0aCA9IG1fdkJhci0+d2lkdGgoKTsKICAgICBMYXlvdXRVbml0IGhlaWdodCA9IHRoaXMtPmhl
aWdodCgpIC0gYm9yZGVyVG9wKCkgLSBib3JkZXJCb3R0b20oKTsKQEAgLTQ3MCw5ICs0NzAsOSBA
QCBpbnQgUmVuZGVyTGlzdEJveDo6bGlzdEluZGV4QXRPZmZzZXQoY29uc3QgTGF5b3V0U2l6ZSYg
b2Zmc2V0KQogICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpbnQgc2Nyb2xsYmFyV2lkdGggPSBt
X3ZCYXIgPyBtX3ZCYXItPndpZHRoKCkgOiAwOwotICAgIGlmICh2ZXJ0aWNhbFNjcm9sbGJhcklz
T25MZWZ0KCkgJiYgKG9mZnNldC53aWR0aCgpIDwgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQo
KSArIHNjcm9sbGJhcldpZHRoIHx8IG9mZnNldC53aWR0aCgpID4gd2lkdGgoKSAtIGJvcmRlclJp
Z2h0KCkgLSBwYWRkaW5nUmlnaHQoKSkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSAmJiAob2Zmc2V0LndpZHRoKCkgPCBib3JkZXJMZWZ0KCkgKyBw
YWRkaW5nTGVmdCgpICsgc2Nyb2xsYmFyV2lkdGggfHwgb2Zmc2V0LndpZHRoKCkgPiB3aWR0aCgp
IC0gYm9yZGVyUmlnaHQoKSAtIHBhZGRpbmdSaWdodCgpKSkKICAgICAgICAgcmV0dXJuIC0xOwot
ICAgIGlmICghdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIChvZmZzZXQud2lkdGgoKSA8
IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgfHwgb2Zmc2V0LndpZHRoKCkgPiB3aWR0aCgp
IC0gYm9yZGVyUmlnaHQoKSAtIHBhZGRpbmdSaWdodCgpIC0gc2Nyb2xsYmFyV2lkdGgpKQorICAg
IGlmICghc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIChvZmZz
ZXQud2lkdGgoKSA8IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgfHwgb2Zmc2V0LndpZHRo
KCkgPiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHBhZGRpbmdSaWdodCgpIC0gc2Nyb2xsYmFy
V2lkdGgpKQogICAgICAgICByZXR1cm4gLTE7CiAKICAgICBpbnQgbmV3T2Zmc2V0ID0gKG9mZnNl
dC5oZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gcGFkZGluZ1RvcCgpKSAvIGl0ZW1IZWlnaHQoKSAr
IG1faW5kZXhPZmZzZXQ7CkBAIC03MjksNyArNzI5LDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJMaXN0
Qm94Ojpjb250cm9sQ2xpcFJlY3QoY29uc3QgTGF5b3V0UG9pbnQmIGFkZGl0aW9uYWxPZmZzZXQp
IGMKICAgICAvLyBDbGlwIGFnYWluc3QgdGhlIHBhZGRpbmcgYm94LCB0byBnaXZlIDxvcHRpb24+
cyBhbmQgb3ZlcmxheSBzY3JvbGxiYXIgc29tZSBleHRyYSBzcGFjZQogICAgIC8vIHRvIGdldCBw
YWludGVkLgogICAgIExheW91dFJlY3QgY2xpcFJlY3QgPSBwYWRkaW5nQm94UmVjdCgpOwotICAg
IGlmICh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgJiYgKCFsYXllcigpIHx8ICFsYXllcigp
LT52ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkpKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgIGNsaXBSZWN0Lm1vdmUobV92QmFy
LT5vY2N1cGllZFdpZHRoKCksIDApOwogICAgIGNsaXBSZWN0Lm1vdmVCeShhZGRpdGlvbmFsT2Zm
c2V0KTsKICAgICByZXR1cm4gY2xpcFJlY3Q7CkBAIC03NDQsMTQgKzc0NCwxNCBAQCBib29sIFJl
bmRlckxpc3RCb3g6OmlzQWN0aXZlKCkgY29uc3QKIHZvaWQgUmVuZGVyTGlzdEJveDo6aW52YWxp
ZGF0ZVNjcm9sbGJhclJlY3QoU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHJl
Y3QpCiB7CiAgICAgSW50UmVjdCBzY3JvbGxSZWN0ID0gcmVjdDsKLSAgICBzY3JvbGxSZWN0Lm1v
dmUodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAt
IGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKSwgYm9yZGVyVG9wKCkpOworICAgIHNj
cm9sbFJlY3QubW92ZShzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkg
PyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0
aCgpLCBib3JkZXJUb3AoKSk7CiAgICAgcmVwYWludFJlY3RhbmdsZShzY3JvbGxSZWN0KTsKIH0K
IAogSW50UmVjdCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFpbmlu
Z1ZpZXcoY29uc3QgU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHNjcm9sbGJh
clJlY3QpIGNvbnN0CiB7CiAgICAgSW50UmVjdCByZWN0ID0gc2Nyb2xsYmFyUmVjdDsKLSAgICBp
bnQgc2Nyb2xsYmFyTGVmdCA9IHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGJvcmRlckxl
ZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCk7CisgICAg
aW50IHNjcm9sbGJhckxlZnQgPSBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25M
ZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJh
ci53aWR0aCgpOwogICAgIGludCBzY3JvbGxiYXJUb3AgPSBib3JkZXJUb3AoKTsKICAgICByZWN0
Lm1vdmUoc2Nyb2xsYmFyTGVmdCwgc2Nyb2xsYmFyVG9wKTsKICAgICByZXR1cm4gdmlldygpLmZy
YW1lVmlldygpLmNvbnZlcnRGcm9tUmVuZGVyZXJUb0NvbnRhaW5pbmdWaWV3KHRoaXMsIHJlY3Qp
OwpAQCAtNzYwLDcgKzc2MCw3IEBAIEludFJlY3QgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21T
Y3JvbGxiYXJUb0NvbnRhaW5pbmdWaWV3KGNvbnN0IFNjcm9sbGJhciYgc2NyCiBJbnRSZWN0IFJl
bmRlckxpc3RCb3g6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1ZpZXdUb1Njcm9sbGJhcihjb25zdCBT
Y3JvbGxiYXImIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcGFyZW50UmVjdCkgY29uc3QKIHsK
ICAgICBJbnRSZWN0IHJlY3QgPSB2aWV3KCkuZnJhbWVWaWV3KCkuY29udmVydEZyb21Db250YWlu
aW5nVmlld1RvUmVuZGVyZXIodGhpcywgcGFyZW50UmVjdCk7Ci0gICAgaW50IHNjcm9sbGJhckxl
ZnQgPSB2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgp
IC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOworICAgIGludCBzY3JvbGxiYXJM
ZWZ0ID0gc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVy
TGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKICAg
ICBpbnQgc2Nyb2xsYmFyVG9wID0gYm9yZGVyVG9wKCk7CiAgICAgcmVjdC5tb3ZlKC1zY3JvbGxi
YXJMZWZ0LCAtc2Nyb2xsYmFyVG9wKTsKICAgICByZXR1cm4gcmVjdDsKQEAgLTc2OSw3ICs3Njks
NyBAQCBJbnRSZWN0IFJlbmRlckxpc3RCb3g6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1ZpZXdUb1Nj
cm9sbGJhcihjb25zdCBTY3JvbGxiYXImIHNjcgogSW50UG9pbnQgUmVuZGVyTGlzdEJveDo6Y29u
dmVydEZyb21TY3JvbGxiYXJUb0NvbnRhaW5pbmdWaWV3KGNvbnN0IFNjcm9sbGJhciYgc2Nyb2xs
YmFyLCBjb25zdCBJbnRQb2ludCYgc2Nyb2xsYmFyUG9pbnQpIGNvbnN0CiB7CiAgICAgSW50UG9p
bnQgcG9pbnQgPSBzY3JvbGxiYXJQb2ludDsKLSAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHZlcnRp
Y2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJS
aWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCk7CisgICAgaW50IHNjcm9sbGJhckxlZnQgPSBzaG91
bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3
aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOwogICAgIGludCBzY3Jv
bGxiYXJUb3AgPSBib3JkZXJUb3AoKTsKICAgICBwb2ludC5tb3ZlKHNjcm9sbGJhckxlZnQsIHNj
cm9sbGJhclRvcCk7CiAgICAgcmV0dXJuIHZpZXcoKS5mcmFtZVZpZXcoKS5jb252ZXJ0RnJvbVJl
bmRlcmVyVG9Db250YWluaW5nVmlldyh0aGlzLCBwb2ludCk7CkBAIC03NzgsNyArNzc4LDcgQEAg
SW50UG9pbnQgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21TY3JvbGxiYXJUb0NvbnRhaW5pbmdW
aWV3KGNvbnN0IFNjcm9sbGJhciYgc2MKIEludFBvaW50IFJlbmRlckxpc3RCb3g6OmNvbnZlcnRG
cm9tQ29udGFpbmluZ1ZpZXdUb1Njcm9sbGJhcihjb25zdCBTY3JvbGxiYXImIHNjcm9sbGJhciwg
Y29uc3QgSW50UG9pbnQmIHBhcmVudFBvaW50KSBjb25zdAogewogICAgIEludFBvaW50IHBvaW50
ID0gdmlldygpLmZyYW1lVmlldygpLmNvbnZlcnRGcm9tQ29udGFpbmluZ1ZpZXdUb1JlbmRlcmVy
KHRoaXMsIHBhcmVudFBvaW50KTsKLSAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHZlcnRpY2FsU2Ny
b2xsYmFySXNPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgp
IC0gc2Nyb2xsYmFyLndpZHRoKCk7CisgICAgaW50IHNjcm9sbGJhckxlZnQgPSBzaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgp
IC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOwogICAgIGludCBzY3JvbGxiYXJU
b3AgPSBib3JkZXJUb3AoKTsKICAgICBwb2ludC5tb3ZlKC1zY3JvbGxiYXJMZWZ0LCAtc2Nyb2xs
YmFyVG9wKTsKICAgICByZXR1cm4gcG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RCb3guaAppbmRleCAyODY2MDIyM2QxZWQ4ZDAwNzE5N2QyMGY4YWJkNTBmYzVlOGNkOGIw
Li5hOTdiMTcxZjQ1NmE2MGJiMDJhMmNjZTRlZjc5ZTBiMzZhOGIxOWIzIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKQEAgLTY2LDYgKzY2LDggQEAgcHVibGljOgog
ICAgIGJvb2wgc2Nyb2xsZWRUb0xlZnQoKSBjb25zdCBvdmVycmlkZTsKICAgICBib29sIHNjcm9s
bGVkVG9SaWdodCgpIGNvbnN0IG92ZXJyaWRlOwogCisgICAgYm9vbCBzaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gUmVuZGVy
QmxvY2tGbG93OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCk7IH0K
KwogcHJpdmF0ZToKICAgICB2b2lkIGVsZW1lbnQoKSBjb25zdCA9IGRlbGV0ZTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDBmNDg0YTBhYTliOWZkNzFiMTM4
ZTEyMjhmNTVjYTVkM2NiODhiYWIuLjdkMjA5ODk3ZmQ1NDhmYmE3NGEyZThhYTRkZmQ1MGQzMDEz
MDViNDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTY0Miw3
ICs2NDIsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKGNvbnN0IExh
eW91dFJlY3QmIHJlcGFpbnRSZWN0KSBjb25zdAogICAgICAgICAvLyBhbmQgdGhlIFJlbmRlcmVy
IHRoYXQgY29udGFpbnMgdGhlIGlmcmFtZS4gVGhpcyB0cmFuc2Zvcm1hdGlvbiBtdXN0IGFjY291
bnQgZm9yIGEKICAgICAgICAgLy8gbGVmdCBzY3JvbGxiYXIgKGlmIG9uZSBleGlzdHMpLgogICAg
ICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IHRoaXMtPmZyYW1lVmlldygpOwotICAgICAgICBp
ZiAoZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBmcmFtZVZpZXcudmVy
dGljYWxTY3JvbGxiYXIoKSkKKyAgICAgICAgaWYgKGZyYW1lVmlldy5zaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFy
KCkpCiAgICAgICAgICAgICBhZGp1c3RlZFJlY3QubW92ZShMYXlvdXRTaXplKGZyYW1lVmlldy52
ZXJ0aWNhbFNjcm9sbGJhcigpLT5vY2N1cGllZFdpZHRoKCksIDApKTsKIAogICAgICAgICBvd25l
ckJveC0+cmVwYWludFJlY3RhbmdsZShhZGp1c3RlZFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggYmMzYWU4NjAwNmU1MmNmZjI5
YjNkZTY5ZWNkNTE1OGE2MjU0Y2M1Yy4uODhlNjU1NjJkYTYwODM4Mzg2NjI1ZTcxYWJkZTc3MTU5
YzZiMjkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5
bGUuY3BwCkBAIC0yMDY3LDkgKzIwNjcsNyBAQCBmbG9hdCBSZW5kZXJTdHlsZTo6b3V0bGluZU9m
ZnNldCgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdAogewotI2lmIFBMQVRGT1JNKE1BQykKLSAgICByZXR1
cm4gU2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwoKTsKLSNlbGlmIFVTRShSVExf
U0NST0xMQkFSKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKFJUTF9TQ1JPTExCQVIpCiAgICAg
cmV0dXJuICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYgaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggZmM0MzVhN2M3OWFkNDhmYjYyNGNlOWYzNGQ3MTk0
ZTk4NzdlYjZlOS4uZGNhNzE2YmNkNzA1N2UyZmFmZDhmYjA3MWY1YjZmZmQwOGRiODFmMCAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC0xMDYsNiAr
MTA2LDggQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNldHRp
bmdzKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgLCBtX2lu
ZGV4ZWREQldvcmtlcnNFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZlYXR1
cmVzKCkuaW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoKSkKICNlbmRpZgorICAgICwgbV92ZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KHNldHRpbmdzLnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3koKSkKKyAgICAsIG1fc3lzdGVtTGF5b3V0RGlyZWN0aW9uKHNldHRpbmdzLnN5c3Rl
bUxheW91dERpcmVjdGlvbigpKQogewogfQogCkBAIC0xNzYsNiArMTc4LDggQEAgdm9pZCBJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiAjaWYg
RU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICBSdW50aW1lRW5hYmxlZEZl
YXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKG1faW5k
ZXhlZERCV29ya2Vyc0VuYWJsZWQpOwogI2VuZGlmCisgICAgc2V0dGluZ3Muc2V0VmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvblBvbGljeShtX3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kp
OworICAgIHNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbihtX3N5c3RlbUxheW91dERp
cmVjdGlvbik7CiB9CiAKIGNsYXNzIEludGVybmFsU2V0dGluZ3NXcmFwcGVyIDogcHVibGljIFN1
cHBsZW1lbnQ8UGFnZT4gewpAQCAtNTU1LDYgKzU1OSw1NSBAQCB2b2lkIEludGVybmFsU2V0dGlu
Z3M6OnNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9uQ29k
ZSYpCiAjZW5kaWYKIH0KIAorU3RyaW5nIEludGVybmFsU2V0dGluZ3M6OnZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3koRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxTZXR0
aW5nc0d1YXJkRm9yU2V0dGluZ3NSZXR1cm4oIiIpOworICAgIHN3aXRjaCAoc2V0dGluZ3MoKS0+
dmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgpKSB7CisgICAgY2FzZSBWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCJDb250ZW50Iik7CisgICAgY2FzZSBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
OjpWaWV3OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJWaWV3Iik7CisgICAgfQorfQor
Cit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koY29uc3QgU3RyaW5nJiBwb2xpY3ksIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVy
bmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKHBvbGljeSwgImNvbnRlbnQiKSkgeworICAgICAgICBzZXR0aW5ncygpLT5z
ZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3k6OkNvbnRlbnQpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChlcXVh
bExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShwb2xpY3ksICJ2aWV3IikpIHsKKyAgICAgICAgc2V0
dGluZ3MoKS0+c2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5OjpWaWV3KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBl
YyA9IElOVkFMSURfQUNDRVNTX0VSUjsKK30KKworU3RyaW5nIEludGVybmFsU2V0dGluZ3M6OnN5
c3RlbUxheW91dERpcmVjdGlvbihFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNl
dHRpbmdzR3VhcmRGb3JTZXR0aW5nc1JldHVybigiIik7CisgICAgc3dpdGNoIChzZXR0aW5ncygp
LT5zeXN0ZW1MYXlvdXREaXJlY3Rpb24oKSkgeworICAgIGNhc2UgTFRSOgorICAgICAgICByZXR1
cm4gQVNDSUlMaXRlcmFsKCJMVFIiKTsKKyAgICBjYXNlIFJUTDoKKyAgICAgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiUlRMIik7CisgICAgfQorfQorCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbihjb25zdCBTdHJpbmcmIGRpcmVjdGlvbiwgRXhjZXB0aW9u
Q29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKKyAg
ICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aW9uLCAibHRyIikpIHsK
KyAgICAgICAgc2V0dGluZ3MoKS0+c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKExUUik7CisgICAg
ICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNl
KGRpcmVjdGlvbiwgInJ0bCIpKSB7CisgICAgICAgIHNldHRpbmdzKCktPnNldFN5c3RlbUxheW91
dERpcmVjdGlvbihSVEwpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGVjID0gSU5WQUxJ
RF9BQ0NFU1NfRVJSOworfQogCiAvLyBJZiB5b3UgYWRkIHRvIHRoaXMgbGlzdCwgbWFrZSBzdXJl
IHRoYXQgeW91IHVwZGF0ZSB0aGUgQmFja3VwIGNsYXNzIGZvciB0ZXN0IHJlcHJvZHVjYWJpbGl0
eSEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCBiMGYw
OGYyOTI3NDdkMDIwYTc4NDYyYTBiMGYzZjIyY2MyMDFkNDljLi4zZjVmNzEwZjA2ZWQ1MzM2MjEy
MmE0NjI4NDM0YmJiZjQzODQ1NTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFs
U2V0dGluZ3MuaApAQCAtMzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNs
dWRlICJJbnRlcm5hbFNldHRpbmdzR2VuZXJhdGVkLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmln
aW4uaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldyaXRpbmdNb2RlLmgiCiAK
IG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMTAyLDYgKzEwNCw4IEBAIHB1YmxpYzoKICNpZiBF
TkFCTEUoSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKQogICAgICAgICBib29sIG1faW5kZXhl
ZERCV29ya2Vyc0VuYWJsZWQ7CiAjZW5kaWYKKyAgICAgICAgVmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeSBtX3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k7CisgICAgICAgIFRl
eHREaXJlY3Rpb24gbV9zeXN0ZW1MYXlvdXREaXJlY3Rpb247CiAgICAgfTsKIAogICAgIHN0YXRp
YyBSZWY8SW50ZXJuYWxTZXR0aW5ncz4gY3JlYXRlKFBhZ2UqIHBhZ2UpCkBAIC0xNTAsNiArMTU0
LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soYm9v
bCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUoYm9vbCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQg
c2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbCwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0
cmluZyB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KEV4Y2VwdGlvbkNvZGUmKTsKKyAg
ICB2b2lkIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koY29uc3QgU3RyaW5nJiBw
b2xpY3ksIEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBTdHJpbmcgc3lzdGVtTGF5b3V0RGlyZWN0aW9u
KEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFN5c3RlbUxheW91dERpcmVjdGlvbihjb25z
dCBTdHJpbmcmIGRpcmVjdGlvbiwgRXhjZXB0aW9uQ29kZSYpOwogCiBwcml2YXRlOgogICAgIGV4
cGxpY2l0IEludGVybmFsU2V0dGluZ3MoUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXggZTM5ZTc0MTg3ZTNiMTI2YzMzYmNlODU4OTllNTFh
N2ZhZWFiYWU0Mi4uYTJkNzgxY2QwNzVhN2JiY2NjYjcwODhiOWFiYTNhYmVlZjFkYjgyYiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC03OSw1ICs3
OSwxMCBAQAogICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0SW5saW5lTWVkaWFQbGF5YmFj
a1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUoYm9vbGVhbiByZXF1aXJlcyk7CiAKICAgICBb
UmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2xlYW4g
cmVxdWlyZXMpOworCisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3koKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldFZl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7CisgICAgW1Jh
aXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHN5c3RlbUxheW91dERpcmVjdGlvbigpOworICAgIFtS
YWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKERPTVN0cmluZyBk
aXJlY3Rpb24pOwogfTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlBy
ZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJl
bmNlc0RlZmluaXRpb25zLmgKaW5kZXggZTQ4MGMxZTI4NGNhMDYyNGVhMjNiYTdiMTM4YjAzNzlh
NWVlNGQxOC4uOGE3YzViYWQ4NmU0NGZiNTlhNTlkYTBmYzUzZjE0YWQ0YmM5MTNhYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAor
KysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBA
IC0yNTcsNiArMjU3LDggQEAKICAgICBtYWNybyhTdG9yYWdlQmxvY2tpbmdQb2xpY3ksIHN0b3Jh
Z2VCbG9ja2luZ1BvbGljeSwgVUludDMyLCB1aW50MzJfdCwgV2ViQ29yZTo6U2VjdXJpdHlPcmln
aW46OkJsb2NrVGhpcmRQYXJ0eVN0b3JhZ2UsICIiLCAiIikgXAogICAgIG1hY3JvKEphdmFTY3Jp
cHRSdW50aW1lRmxhZ3MsIGphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIFVJbnQzMiwgdWludDMyX3Qs
IDAsICIiLCAiIikgXAogICAgIG1hY3JvKERhdGFEZXRlY3RvclR5cGVzLCBkYXRhRGV0ZWN0b3JU
eXBlcywgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oVmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvbiwgdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbiwgVUludDMyLCB1aW50
MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oU3lzdGVtTGF5b3V0RGlyZWN0aW9uLCBzeXN0
ZW1MYXlvdXREaXJlY3Rpb24sIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAogICAgIFwK
IAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRfREVCVUdfQk9PTF9QUkVGRVJFTkNFKG1hY3JvKSBc
CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
dy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmlu
ZGV4IDlhZjJkMDlhZDY2YmY1NTNiMmE2OGNlNDllODBlNTliYmQxOGE0MjQuLmZmNjZmOTg5ZTY3
ZjJmMzBkMmNmY2FhNjljOWEzNTE3ZWI0Y2Y4Y2UgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQy
L1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJ
UHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCkBAIC00MDQsNiArNDA0LDExIEBAIC0gKHZv
aWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAq
KWNvbmZpZ3VyYXRpb24KICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygp
LnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzaG91bGRDb252ZXJ0UG9zaXRpb25TdHls
ZU9uQ29weUtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25m
aWd1cmF0aW9uIF9jb252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHldKSk7CiAgICAgcGFnZUNvbmZp
Z3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tl
eTo6aHR0cEVxdWl2RW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZh
bHVlKCEhW19jb25maWd1cmF0aW9uIF9hbGxvd3NNZXRhUmVmcmVzaF0pKTsKICAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
S2V5OjphbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0tleSgpLCBXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9hbGxvd1VuaXZlcnNhbEFj
Y2Vzc0Zyb21GaWxlVVJMc10pKTsKKworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNl
VmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25LZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZShzdGF0aWNf
Y2FzdDx1aW50MzJfdD4oW19jb25maWd1cmF0aW9uIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3ldKSkpOworICAgIC8vIFdlIGFyZSBpbiB0aGUgVmlldydzIGluaXRpYWxpemF0aW9uIHJv
dXRpbmUsIHNvIG91ciBjbGllbnQgaGFzbid0IGhhZCB0aW1lIHRvIHNldCBvdXIgdXNlciBpbnRl
cmZhY2UgZGlyZWN0aW9uLgorICAgIC8vIFRoZXJlZm9yZSwgYWNjb3JkaW5nIHRvIHRoZSBkb2Nz
LCAidGhpcyBwcm9wZXJ0eSBjb250YWlucyB0aGUgdmFsdWUgcmVwb3J0ZWQgYnkgdGhlIGFwcOKA
mXMgdXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBwcm9wZXJ0eS4iCisgICAgcGFnZUNvbmZp
Z3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tl
eTo6c3lzdGVtTGF5b3V0RGlyZWN0aW9uS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9y
ZTo6VmFsdWUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KHNlbGYudXNlckludGVyZmFjZUxheW91dERp
cmVjdGlvbikpKTsKICAgICAKICNpZiBQTEFURk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c2hv
d3NVUkxzSW5Ub29sVGlwc0VuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfc2hvd3NVUkxzSW5Ub29sVGlwc10pKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmln
dXJhdGlvbi5oIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLmgKaW5kZXggNjZkNjUzZjNjMjdmZWU1MWM0Y2NjZGUyNTEwNjMzMmYwMGFm
ZTE4NS4uMGRkYWNhM2IxMzk5MzZmZGQxNGE0MzI3NjI3Y2QyYWUzMTY5N2IxOCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0
aW9uLmgKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdD
b25maWd1cmF0aW9uLmgKQEAgLTczLDYgKzczLDIwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJ
bnRlZ2VyLCBXS0RhdGFEZXRlY3RvclR5cGVzKSB7CiAgICAgV0tEYXRhRGV0ZWN0b3JUeXBlQWxs
ID0gTlNVSW50ZWdlck1heAogfSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1Nf
VEJBKTsKIAorCisvKiEgQGVudW0gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Cisg
QGFic3RyYWN0IFRoZSBtZWNoYW5pc20gYnkgd2hpY2ggdmVydGljYWwgc2Nyb2xsYmFycyBvYmV5
IGFuIFJUTCBlbnZpcm9ubWVudAorIEBjb25zdGFudCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3lDb250ZW50IFNjcm9sbGJhciBwbGFjZW1lbnQgb2JleXMgQ1NTIC8gSFRNTCAvIFhI
VE1MIHNwZWNpZmljYXRpb25zLgorIEBjb25zdGFudCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3lWaWV3IFNjcm9sbGJhciBwbGFjZW1lbnQgb2JleXMgc3lzdGVtIHBsYXRmb3JtIHNw
ZWNpZmljYXRpb25zLgorIEBkaXNjdXNzaW9uIFdoZW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5Q29udGVudCBpcyBzcGVjaWZpZWQsIHRoZSBwbGFjZW1lbnQgb2YgdmVydGljYWwg
c2Nyb2xsYmFycyBpcworIGFmZmVjdGVkIGJ5IHRoZSAiZGlyIiBlbGVtZW50IG9yIHRoZSAiZGly
ZWN0aW9uIiBDU1MgcHJvcGVydHkuIFdoZW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5VmlldyBpcworIHNwZWNpZmllZCwgdGhlIHBsYWNlbWVudCBvZiB2ZXJ0aWNhbCBzY3JvbGxi
YXJzIGlzIGFmZmVjdGVkIGJ5IHRoZSBkaXJlY3Rpb24gb2YgdGhlIHN5c3RlbS4KKyovCit0eXBl
ZGVmIE5TX0VOVU0oTlNJbnRlZ2VyLCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kp
IHsKKyAgICBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50ID0gMCwKKyAg
ICBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lWaWV3ID0gMSwKK30gV0tfRU5VTV9B
VkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOworCiAvKiEgQSBXS1dlYlZpZXdDb25maWd1cmF0aW9u
IG9iamVjdCBpcyBhIGNvbGxlY3Rpb24gb2YgcHJvcGVydGllcyB3aXRoCiAgd2hpY2ggdG8gaW5p
dGlhbGl6ZSBhIHdlYiB2aWV3LgogIEBoZWxwcyBDb250YWlucyBwcm9wZXJ0aWVzIHVzZWQgdG8g
Y29uZmlndXJlIGEgQGxpbmsgV0tXZWJWaWV3IEAvbGluay4KQEAgLTEyNCw2ICsxMzgsMTIgQEAg
V0tfQ0xBU1NfQVZBSUxBQkxFKDEwXzEwLCA4XzApCiAgKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWlj
KSBXS0RhdGFEZXRlY3RvclR5cGVzIGRhdGFEZXRlY3RvclR5cGVzIFdLX0FWQUlMQUJMRShXS19N
QUNfVEJBLCBXS19JT1NfVEJBKTsKIAorLyohIEBhYnN0cmFjdCBUaGUgcGxhY2VtZW50IGJlaGF2
aW9yIG9mIHZlcnRpY2FsIHNjcm9sbGJhcnMuCisgQGRpc2N1c3Npb24gUG9zc2libGUgdmFsdWVz
IGFyZSBkZXNjcmliZWQgaW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LgorIFRo
ZSBkZWZhdWx0IHZhbHVlIGlzIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRl
bnQuCisgKi8KK0Bwcm9wZXJ0eSAobm9uYXRvbWljKSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3kgdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSBXS19BVkFJTEFCTEUoV0tf
TUFDX1RCQSwgTkEpOworCiAjaWYgVEFSR0VUX09TX0lQSE9ORQogLyohIEBhYnN0cmFjdCBBIEJv
b2xlYW4gdmFsdWUgaW5kaWNhdGluZyB3aGV0aGVyIEhUTUw1IHZpZGVvcyBwbGF5IGlubGluZQog
IChZRVMpIG9yIHVzZSB0aGUgbmF0aXZlIGZ1bGwtc2NyZWVuIGNvbnRyb2xsZXIgKE5PKS4KZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbi5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbQppbmRleCA3YjI4MWQ5YzVjYzViYmRhOTJjMmFmOWYyMjc3NWNh
ZDllOWQ3N2NkLi4yNGIyZGU0MjczZjJiNDhkNjkwZThkNjNmYzVjNzcxNmUxNTIzOWYwIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24ubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXdDb25maWd1cmF0aW9uLm1tCkBAIC0xNDAsNiArMTQwLDcgQEAgLSAoaW5zdGFuY2V0eXBl
KWluaXQKICAgICBfbWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gTk87CiAjZWxzZQogICAg
IF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBZRVM7CisgICAgX3ZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3kgPSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250
ZW50OwogI2VuZGlmCiAgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBO
TzsKICAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IE5POwpAQCAtMTk4
LDYgKzE5OSw3IEBAIC0gKHZvaWQpZW5jb2RlV2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAg
ICBbY29kZXIgZW5jb2RlT2JqZWN0OnNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50IGZv
cktleTpAImFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCJdOwogICAgIFtjb2RlciBlbmNvZGVC
b29sOnNlbGYuYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dzQWly
UGxheUZvck1lZGlhUGxheWJhY2siXTsKICAgICBbY29kZXIgZW5jb2RlSW50ZWdlcjpzZWxmLmRh
dGFEZXRlY3RvclR5cGVzIGZvcktleTpAImRhdGFEZXRlY3RvclR5cGVzIl07CisgICAgW2NvZGVy
IGVuY29kZUludGVnZXI6c2VsZi52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IGZvcktl
eTpAInZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kiXTsKIAogI2lmIFBMQVRGT1JNKElP
UykKICAgICBbY29kZXIgZW5jb2RlQm9vbDpzZWxmLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sg
Zm9yS2V5OkAiYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayJdOwpAQCAtMjIxLDYgKzIyMyw3IEBA
IC0gKGluc3RhbmNldHlwZSlpbml0V2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICBzZWxm
LmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCA9IFtjb2RlciBkZWNvZGVPYmplY3RGb3JLZXk6
QCJhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQiXTsKICAgICBzZWxmLmFsbG93c0FpclBsYXlG
b3JNZWRpYVBsYXliYWNrID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJhbGxvd3NBaXJQbGF5
Rm9yTWVkaWFQbGF5YmFjayJdOwogICAgIHNlbGYuZGF0YURldGVjdG9yVHlwZXMgPSBbY29kZXIg
ZGVjb2RlSW50ZWdlckZvcktleTpAImRhdGFEZXRlY3RvclR5cGVzIl07CisgICAgc2VsZi52ZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5ID0gc3RhdGljX2Nhc3Q8V0tWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5PihbY29kZXIgZGVjb2RlSW50ZWdlckZvcktleTpAInZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kiXSk7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgc2Vs
Zi5hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJh
bGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrIl07CkBAIC0yNjYsNiArMjY5LDggQEAgLSAoaWQpY29w
eVdpdGhab25lOihOU1pvbmUgKil6b25lCiAgICAgY29uZmlndXJhdGlvbi0+X3JlcXVpcmVzVXNl
ckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVk
aW9QbGF5YmFjazsKICAgICBjb25maWd1cmF0aW9uLT5fbWFpbkNvbnRlbnRVc2VyR2VzdHVyZU92
ZXJyaWRlRW5hYmxlZCA9IHNlbGYtPl9tYWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFi
bGVkOwogCisgICAgY29uZmlndXJhdGlvbi0+X3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3kgPSBzZWxmLT5fdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTsKKwogI2lmIFBMQVRG
T1JNKElPUykKICAgICBjb25maWd1cmF0aW9uLT5fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9
IHNlbGYtPl9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9p
bmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9IHNlbGYtPl9p
bmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKaW5kZXggNDMxOTJjNWQxMDI2M2NmZGY3
YjIxNWEyZmJmMDM0MzkwYjM1NTAyNi4uYzQwZjkwMmY4ZmZjYmI0ZjIzN2Q5NjUxZjFmYTY3OGIw
NmI1MjkzMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94
eS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAg
LTEwMCw2ICsxMDAsNyBAQAogI2luY2x1ZGUgIldlYlBvcHVwSXRlbS5oIgogI2luY2x1ZGUgIldl
YlBvcHVwTWVudVByb3h5LmgiCiAjaW5jbHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKKyNpbmNsdWRl
ICJXZWJQcmVmZXJlbmNlc0tleXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzUG9vbC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5o
IgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9EZXBy
ZWNhdGVkUERGUGx1Z2luLmggYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERG
L0RlcHJlY2F0ZWRQREZQbHVnaW4uaAppbmRleCA3OGVlZTlkYmMwODdhMGEwNTZlYWFmZTg5YTky
OWJkNDRjOGUzYjliLi4xYmYxYmZiZDViOTZmNzI2N2I3ZTJlNGYxZGJjZTkwMzUzODZkYWZlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0RlcHJlY2F0
ZWRQREZQbHVnaW4uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERG
L0RlcHJlY2F0ZWRQREZQbHVnaW4uaApAQCAtMTExLDYgKzExMSw4IEBAIHB1YmxpYzoKIAogICAg
IENHRmxvYXQgc2NhbGVGYWN0b3IoKSBjb25zdDsKIAorICAgIGJvb2wgc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNl
OyB9CisKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgUERGUGx1Z2luKFdlYkZyYW1lKik7CiAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBi
L1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBkN2E3
YmJlMjQ4NDlkNWE3OWY4MGI1MmE5OGZiNTg5MjVjYTc5YzdhLi5mOTUzZjhhYmQ4YWM0NGZlMzE4
NDgxZTY1NWZmMTYyNDgxNjYyZTA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9j
ZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9X
ZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0zMDcyLDYgKzMwNzIsOSBAQCB2b2lkIFdlYlBhZ2U6OnVw
ZGF0ZVByZWZlcmVuY2VzKGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogCiAgICAg
c2V0dGluZ3Muc2V0U2hvdWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cyh0
cnVlKTsKIAorICAgIHNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IXN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp2ZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uS2V5KCkpID8gVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6
Q29udGVudCA6IFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OlZpZXcpOworICAgIHNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbihzdGF0aWNfY2FzdDxUZXh0RGlyZWN0aW9u
PihzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6dmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvbktleSgpKSkpOworCiAjaWYgVVNFKEFQUExFX0lOVEVSTkFMX1NESykK
ICNpbmNsdWRlIDxXZWJLaXRBZGRpdGlvbnMvV2ViUGFnZVByZWZlcmVuY2VzLmNwcD4KICNlbmRp
ZgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdl
TG9nCmluZGV4IDhmZjM1ZjVkNjU2ZTU2YjI4ZDQxMjlmNzAyMzdjYzc1ZTY1MDg1NjkuLmY5MTcy
OTY2ZGQ5MGExNDIxYzE5ODljODJmNjcwNWVjNWIzZWRhZjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSw3NiBA
QAorMjAxNi0wNC0yNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgor
CisgICAgICAgIFtXSzJdIFtPUyBYXSBDcmVhdGUgQVBJIGZvciBzd2l0Y2hpbmcgUlRMIHNjcm9s
bGJhciBwb2xpY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dp
P2lkPTE1Njk0OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAg
ICAgIFVwZGF0ZSB0ZXN0cyB0byB1c2UgbmV3IFJUTCBzY3JvbGxiYXIgbWVjaGFuaXNtLgorCisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZy
b21Qb2ludC1zdGF0aWMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxl
ZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWlmcmFtZS1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWlmcmFtZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBlY3Rl
ZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2VsZWN0LWxlZnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1saXN0Ym94LXNlbGVjdC1yaWdodC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0Lmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94LXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1vdmVyZmxvdy1jb250ZW50cy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLmh0bWw6CisgICAgICAgICogZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC1leHBlY3RlZC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1y
dGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1lbGVtZW50RnJvbVBvaW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9u
LWFic29sdXRlLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sOgorICAgICAgICAq
IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNj
cm9sbGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
bGF5LW5vLXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBl
Y3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0
aW9uLWFic29sdXRlLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9j
dW1lbnQtMi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50Lmh0bWw6CisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4cGVj
dGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWlmcmFtZS0yLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ct
c2Nyb2xsLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1z
dGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC5odG1sOgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVk
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxl
Y3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9y
bS9tYWMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5LWV4
cGVjdGVkLnBuZzogQWRkZWQuCisKIDIwMTYtMDQtMjIgIEZpbGlwIFBpemxvICA8ZnBpemxvQGFw
cGxlLmNvbT4KIAogICAgICAgICBTcGVlZCB1cCBib3VuZCBmdW5jdGlvbnMgYSBiaXQKZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlv
bi1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWwKaW5kZXggZWUzNjBiNDNhMmZhOWYzZmQwZGEzYTAx
NjJhNzBmNmIyMzJlM2JjMS4uODRmYjRkZjJiNjFkOTk0MjYwZTRjNWQ2ODVkMDU5NTY3YjEzODU5
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
YW5pbWF0aW9uLXByb3BlcnR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAot
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRy
dWUgdXNlTW9ja1Njcm9sbGJhcnM9ZmFsc2UgXSAtLT4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgdXNlTW9ja1Njcm9sbGJhcnM9ZmFsc2UgXSAtLT4KIDxodG1sPgog
PGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXci
KTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBzdHlsZT0id2lk
dGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBz
Y3JvbGw7Ij4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50LXN0YXRpYy5odG1sCmluZGV4
IDM1NGNkZDljMGVmZTMwOGZjMDcxNGJjODkzZTlmNGRiMmI1YTBhOGUuLmE0NjI0ODg3NWU1NjRm
MmEyZjZhN2Q2Y2Y5YTYzYjA1NmRmMGJmNjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Q
b2ludC1zdGF0aWMuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAt
MTQsNCArMjAsNCBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmVsZW1lbnRGcm9t
UG9pbnQoMjIsIDcpLmlkIiwgImEiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQu
aHRtbAppbmRleCBlM2E4NjU5N2Q3MzIwOWI3ZWY1OGVhNjQ1YjYxMzE3OWFiMWE3YThhLi5jNmYw
ZmZlNDk3ODM1YzNmYzYxMTliOTY3MDZiOTZiNGJiYjRjOTBlIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZy
b21Qb2ludC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNv
dXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CkBAIC0xMyw0
ICsxOSw0IEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2lu
dCg3LCA3KS5pZCIsICJhIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAppbmRleCBlOTVmMjkwYTIx
YWIyYjc3YzNjMWFiMzU1MmI5ZGQ4NjQ2NjNjM2UzLi5lNjE3NzM2ZWQzNmZjY2Y0NWVhMzJjMGVh
N2ZiOGRjODEzY2VhNTdhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAt
LT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHkgc3R5bGU9ImhlaWdodDogMTAwMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4K
IDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyBib3R0b206IDBweDsi
PlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcnRsIHNjcm9sbGJhcnMgYXJlIG9uIHRoZSBsZWZ0
IG9mIHRoZSBtYWluIGZyYW1lLjwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC1leHBl
Y3RlZC5odG1sCmluZGV4IDI4ZDE3NjYxNmJhN2U4ZWE3MTg1ZmU0MzMzZGVjYTZlY2ZhZWJjNzEu
LmYwODE1MzM5NmM3ZTU1Njk3MWI3NjU2M2M2Mzg3OGJiNWIyZTY5MDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhw
ZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1pZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWwKQEAgLTEsMTAgKzEsMTYgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgogPGRpdiBpZD0idGV4dCIgc3R5bGU9J3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbGVm
dDogMHB4OyB0b3A6IDBweDsnPkFCQ0Q8L2Rpdj4KIDxkaXYgc3R5bGU9J3Bvc2l0aW9uOiBhYnNv
bHV0ZTsgbGVmdDogMHB4OyB0b3A6IDI1cHg7Jz5ERUZHPC9kaXY+CiA8ZGl2IHN0eWxlPSJwb3Np
dGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhweDsgdG9wOiAxMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgY29udGVudHMgb2YgaWZyYW1lcyBhcmUgbm90IGNvdmVyZWQgYnkgYW4gcnRsIHNj
cm9sbGJhci48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0Lmh0bWwKaW5kZXggYzM2ZmY4NmY5YzBkZDRl
NzFmNzkzY2IyZDc4NGM1ODk3M2M2N2NkNy4uYmRhOWY5NDEzMWZmNmMxNzIzYjQ5ZmE1NGExZGY2
ZDc4YTA3ODM1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1
ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keT4KIDxpZnJhbWUgaWQ9ImlmcmFtZSIgc3R5bGU9InBvc2l0aW9uOiBh
YnNvbHV0ZTsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBsZWZ0OiAtMTVweDsgdG9wOiAw
cHg7IG1hcmdpbjogMHB4OyBib3JkZXI6IHNvbGlkIGJsYWNrIDBweDsgcGFkZGluZzogMHB4OyIK
QEAgLTE1LDQgKzIxLDQgQEAgQUJDRAogPC9odG1sPiI+PC9pZnJhbWU+CiA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhweDsgdG9wOiAxMDBweDsiPlRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgY29udGVudHMgb2YgaWZyYW1lcyBhcmUgbm90IGNvdmVyZWQgYnkgYW4gcnRs
IHNjcm9sbGJhci48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5o
dG1sCmluZGV4IDMyNzk1MjFhYzMxY2MxZDFjMTNjNzI2YWNkNWVkMWU5MjFhMmM1MmYuLmNmNGIz
Yjk3Zjg4NzM5ZGNlNDU0MGZjYTQ1NmE5YWZhNTc0YzA1ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0
ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlm
cmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPScuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnPjwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHk+CkBAIC0yOCw0ICszNCw0IEBAIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwg
ZnVuY3Rpb24oKSB7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wb3N0LmpzJz48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBl
Y3RlZC5odG1sCmluZGV4IDI3ZWY4N2VjOGM3MWJlMDEyMmIwYTc4NDY3MTIwYmE0NDc5NzdhZGUu
Ljc1N2U2YzFjYTliNWQ4N2UxOTBmMjJlNDJhYjIzNmE5MmY1NGJjYmMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1l
eHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgogPGlmcmFtZSBpZD0iaWZyYW1lIiBzdHlsZT0icG9zaXRpb246IGFic29s
dXRlOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IG1h
cmdpbjogMHB4OyBib3JkZXI6IHNvbGlkIGJsYWNrIDBweDsgcGFkZGluZzogMHB4OyIKQEAgLTI3
LDQgKzMzLDQgQEAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpLmZvY3VzKCk7CiA8
L3NjcmlwdD4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6
IDEwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBoaXQgdGVzdGluZyBpbiBpZnJhbWVz
IHdvcmtzIGNvcnJlY3RseS48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCmluZGV4IDYx
ZmZjZGY3YmM0OGZiMjQzNjNkYjg1MzJiMDI5Zjg2OWE2MGVhMDAuLmY2ZDNkY2YyOGI5ODhlODc1
ZWRkYThhZGI3MWE0ODlkZjE4ZjkwZTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCkBA
IC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
cnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGlmcmFtZSBpZD0iaWZyYW1lIiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGxl
ZnQ6IDBweDsgdG9wOiAwcHg7IG1hcmdpbjogMHB4OyBib3JkZXI6IHNvbGlkIGJsYWNrIDBweDsg
cGFkZGluZzogMHB4OyIKQEAgLTIzLDQgKzI5LDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikg
ewogPC9odG1sPiI+PC9pZnJhbWU+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxl
ZnQ6IDhweDsgdG9wOiAxMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaGl0IHRlc3Rp
bmcgaW4gaWZyYW1lcyB3b3JrcyBjb3JyZWN0bHkuPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUuaHRtbAppbmRleCAzODRiMGJk
MDdhY2U1ZTVkZjllYjQ4NWVlMjc5NmU0M2MwMTcyMzFjLi42YmYyZDc4ZDY5ZTY5NTJlYTFkY2Yz
MWZlOGUyMjM1ODRhYmUzMDdjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0t
PgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0nLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJz48L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgpAQCAtMjgsNCArMzQsNCBAQCBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcigibG9h
ZCIsIGZ1bmN0aW9uKCkgewogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0nLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcG9zdC5qcyc+PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1leHBlY3RlZC5odG1sCmlu
ZGV4IGQwYjZkNmZiOGI5ZTgwY2UzNWRiNzc5YTgwN2VhMzUzMDUxZjUzNWEuLjY1NzhlYmMwYzg2
ZGQ1ZTJmMWM2MmQ3OTNlYzJhZTBhOWQzZjVkYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtZXhwZWN0ZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4cGVjdGVk
Lmh0bWwKQEAgLTIxLDQgKzIxLDQgQEAKIDwvc2VsZWN0PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKaW5kZXggYWJjZDQ5MmJiYzNkNzk1NzNiZjZkMzNh
YTI2M2Y4YTI1MWFlOTMxYi4uNDE3MmIxMTY5OGE4YzAzODYyMDdkNmRhODI1OTY2YTUzNzRhYWZm
YyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
bGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1leHBlY3RlZC5odG1sCkBAIC0xLDYg
KzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Ny
b2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9
Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IGxpc3QgYm94ZXMgb2JleSBSVEwgc2Nyb2xsYmFycy48L2Rpdj4K
QEAgLTIzLDQgKzI5LDQgQEAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJjb250YWluZXIiKTsKIGNvbnRhaW5lci5zY3JvbGxUb3AgPSBjb250YWluZXIuc2Nyb2xsSGVp
Z2h0IC0gY29udGFpbmVyLmNsaWVudEhlaWdodDsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9s
bC5odG1sCmluZGV4IDg2NGNhN2M1YTI5YmE3ZGFmZDBhMTAzMTdhZTBiYmQxYzVlNTUxMjUuLjQ4
Nzg4NDZiNmRiN2ZkYzFlMDQxZDhkODYwZGI0NDU1Zjc5ZjY0Y2IgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1z
Y3JvbGwuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFy
Z2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0
b3A6IDIwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsaXN0IGJveGVzIG9iZXkgUlRM
IHNjcm9sbGJhcnMuPC9kaXY+CkBAIC0yNiw0ICszMiw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5k
ZXIpIHsKIH0KIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQt
ZXhwZWN0ZWQuaHRtbAppbmRleCAzNjFlNGY2ZWM1Nzg1M2M4ZTdmNWYzM2U4NWU1ZTkwYjZhNzM1
ODE4Li44NDNkYjI3MThkMTQ4ZTA1OWEyZjZlZGE0OGY2MDE4ZjdlNmQ2MGQzIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVj
dC1sZWZ0LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEs
MTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xs
YmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHls
ZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IGNsaWtpbmcgb24gYW4gTFRSIHNjcm9sbGJhciBkb2Vzbid0IHNlbGVj
dCBhbiBpdGVtIGluIGEgbGlzdCBib3guPC9kaXY+CkBAIC0yMyw0ICsyOSw0IEBAIHZhciBjb250
YWluZXIgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIik7CiBjb250YWluZXIu
Zm9jdXMoKTsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbAppbmRl
eCAyMzFjZDcxNDE1ZjQwZjgyY2M0NDRhMDU4NDYxMTJiMmZhOGU5NmNjLi42NGY0OTRkODdhNTMz
ZTNkNDZiNjcyZTNmMjYwMTBhMzZlYWVkNDY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3Qt
bGVmdC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJn
aW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRv
cDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNsaWtpbmcgb24gYW4gTFRSIHNj
cm9sbGJhciBkb2Vzbid0IHNlbGVjdCBhbiBpdGVtIGluIGEgbGlzdCBib3guPC9kaXY+CkBAIC0y
Niw0ICszMiw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC1leHBlY3RlZC5odG1sCmluZGV4IGQ3
MDFlZmE5YWY5MzgxMDJkNWY2ZTA5NTI1NmM3MWI2Y2YzZDg2OTQuLjYyZmE2Y2MxZDM1ZmI1YzI3
Y2EyZDFiMGQ2M2M0NTU1ZWRiMjU0OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1z
ZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CiA8L2hlYWQ+CkBAIC0yNSw0ICsyNSw0IEBAIHZh
ciBqYW51YXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImphbnVhcnkiKTsKIGphbnVhcnku
c2VsZWN0ZWQgPSB0cnVlOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0
Lmh0bWwKaW5kZXggY2I3MzVjOWUwZmI5NjkzZjhmMGY1ZDFiZDM5ZWMxMjM3YjRmYjE4Ni4uY2Y4
ZjVhYTUwYTAwNTA5NGQ4NjA1ZTRlNjUzMTE2YzQ4MGVhYTJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0
Ym94LXNlbGVjdC1yaWdodC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNsaWtpbmcg
b24gdGhlIHJpZ2h0bW9zdCBwYXJ0IG9mIGFuIGl0ZW0gY2F1c2VzIGl0IHRvIGJlIHNlbGVjdGVk
LjwvZGl2PgpAQCAtMjYsNCArMzIsNCBAQCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8
L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8
L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1saXN0Ym94LXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbAppbmRleCBiY2Q1NjJlZTFkNGJhZGMzYTBlMjgwYzQ2MTdmNDIyODIwNDhmMDVi
Li5lOTljNThhNDM5NDdlZjRiNDVjZWY2NzdmOWFmODZmNjdkMzkyNWJmIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS1l
eHBlY3RlZC1taXNtYXRjaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTE5
LDQgKzE5LDQgQEAKIDxvcHRpb24+RGVjZW1iZXI8L29wdGlvbj4KIDwvc2VsZWN0PgogPC9ib2R5
PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2lt
cGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0
Ym94LXNpbXBsZS5odG1sCmluZGV4IGU5NzRiNjgzYjAyY2Q0OTg1MDQ5ZjJiMGYyMmIwNGMxM2Jj
NDU1ZWMuLjI0N2YwOWJmNDBmNjY2NTYxZDc5OGViM2IwMGIxOWFkNDA1NjM3ZjUgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2lt
cGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
bGlzdGJveC1zaW1wbGUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBF
IGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0
ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4K
IDxwPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgbGlzdCBib3hlcyBvYmV5IFJUTCBzY3JvbGxi
YXJzLjwvcD4KQEAgLTE5LDQgKzI1LDQgQEAKIDxvcHRpb24+RGVjZW1iZXI8L29wdGlvbj4KIDwv
c2VsZWN0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3guaHRtbAppbmRleCBjZTI2OTM2NzA3MDM5NjkwZGRmNmRkMzQ0ODBlOGZmNDAy
Y2Y1YjllLi5iNmZhZmY5MzAwYmVkODYxMDQyZWQ5MGIwNGJkZDA0YTY4MjhmYzIzIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJv
eC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZp
ZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46
IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDog
MjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGxpc3QgYm94ZXMgb2JleSBSVEwgc2Ny
b2xsYmFycy48L2Rpdj4KQEAgLTIxLDQgKzI3LDQgQEAKIDwvc2VsZWN0PgogPC9kaXY+CiA8L2Jv
ZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
Y29udGVudHMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwKaW5kZXggMmFiODI4OWFk
NjY5OGIyN2JlMWZmZGRmMzdlMzM5MzkwMzMxZTMzNy4uMmQ3NzZkYTBmYmJhZDhlNTQzMDM1NTlk
ZmY4ZDE0OGVjZjBjYzNlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy1l
eHBlY3RlZC5odG1sCkBAIC0xNyw0ICsxNyw0IEBACiA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTdXNwZW5kaXNzZSBhIHJpc3VzIG5p
c2kuIE1hZWNlbmFzIHV0IG1ldHVzIGdyYXZpZGEsIHRpbmNpZHVudCBhcmN1IG5lYywgdWx0cmlj
ZXMgZHVpLiBWaXZhbXVzIGF0IHByZXRpdW0gcHVydXMsIGluIGZldWdpYXQgb2Rpby4gUGhhc2Vs
bHVzIGZhY2lsaXNpcyBtaSBpZCBjb25kaW1lbnR1bSBjb25ndWUuIEFlbmVhbiBzb2xsaWNpdHVk
aW4gcmlzdXMgYSBhY2N1bXNhbiBmYWNpbGlzaXMuIFNlZCBhYyBmcmluZ2lsbGEgZmVsaXMuIE1v
cmJpIG1hbGVzdWFkYSB2ZWhpY3VsYSBzYXBpZW4uPC9wPgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LWNvbnRlbnRzLmh0bWwKaW5kZXggZmYwYTc4NjJhNzIyNzYyNzI1MDRkYmEzNmQ3YzBjMGY4NDAz
NWVmMy4uMTk2OGYzNDA5ZDZhMzhiYmNkYjhmNmM2NjMyYjZlZjhkNDdkNzY2MiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29u
dGVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1vdmVyZmxvdy1jb250ZW50cy5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5PgogPGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDcwMHB4OyBoZWlnaHQ6
IDUwMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4KQEAgLTE5LDQgKzI1LDQgQEAKIDwvZGl2Pgog
PC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmZsb3ctZGlyLXJ0bC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC1leHBlY3RlZC5odG1sCmluZGV4
IDM1NjE1YWQ1Njg5MzNiOWY0YTdmZTVjYzQ4OTk1YTI3YzAyNzk3MWEuLjkzMmM4YmViMjI1YjQz
YjQ5NWI4NmFiNWQ0ZTk0ZjY5YjAwMWQ4MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1k
aXItcnRsLWV4cGVjdGVkLmh0bWwKQEAgLTI0LDQgKzI0LDQgQEAgcmFuZ2Uuc2VsZWN0Tm9kZShk
b2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWxlbWVudCIpKTsKIHNlbGVjdGlvbi5hZGRSYW5nZShy
YW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWwKaW5kZXggMTk1OTMz
MjIzNjA3NDU0ODkwNzY0ZTYxMjQ4N2FjOTYzMGMzZTJiMS4uNTM4YTJiYjAxYjBmMmQyZTQ3YzE5
ZTQ0MGEwZWQ1NDk4YmM0ZjU0MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbApAQCAt
MSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0
bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIp
OworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBo
aWRkZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDUzOXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4K
QEAgLTI2LDQgKzMyLDQgQEAgcmFuZ2Uuc2VsZWN0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJ
ZCgiZWxlbWVudCIpKTsKIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1lbGVtZW50RnJvbVBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1vdmVyZmxvdy1lbGVtZW50RnJvbVBvaW50Lmh0bWwKaW5kZXggZDI5ZTI3NTYx
MTE5OTYwMjY4Mzc2MjI2ZDQ1ODE3ZTg4NzUyNjUxOS4uNWUyNTQzZTQ1MmIxOTFmZjIyMDU4MjEx
NmY0ZTcyYjlmZGU3MzAyMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9t
UG9pbnQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3Vy
Y2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTUsNCAr
MjEsNCBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQo
MjIsIDcpLmlkIiwgImEiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNl
cy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1leHBlY3RlZC5odG1s
CmluZGV4IGM3ZjJlNWNlYTU1OTI4NWYzNGRjNGZmNTFjZjI3NjZmN2ZiMTM1YzIuLjY0YWIxNzEw
NDU3ODkyMTEzZWY0MTAyMTExYzBhN2E1Yjk4ZWNhNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhw
ZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgaWQ9
ImVsZW1lbnQiIHN0eWxlPSJvdmVyZmxvdzogc2Nyb2xsOyB3aWR0aDogNzAwcHg7IGhlaWdodDog
NTAwcHg7Ij4KQEAgLTIxLDQgKzI3LDQgQEAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiZWxlbWVudCIpOwogZWxlbWVudC5zY3JvbGxUb3AgPSAxMDAwOwogPC9zY3JpcHQ+
CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctcGFkZGluZy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy1leHBlY3RlZC5odG1sCmluZGV4IGZkNjhh
Mzk2Njg1NmZjODFlYzVjMjY5M2E5YWJmNmFjYjk4OTdhYzMuLmE0M2U1NWVkMGY0NTBjNjkzOWYz
MDE5ZDFiMTYwNmY2MTc1Y2JkNzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmctZXhwZWN0ZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5n
LWV4cGVjdGVkLmh0bWwKQEAgLTI0LDQgKzI0LDQgQEAgcmFuZ2Uuc2VsZWN0Tm9kZShkb2N1bWVu
dC5nZXRFbGVtZW50QnlJZCgiZWxlbWVudCIpKTsKIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7
CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLmh0bWwKaW5kZXggNTFkODgwYjRiMDNi
NTIyZTFlM2NhOWMxZmI3MTk4ZGE5MTAwODg1Mi4uYmZiMTAyM2VjMzg5NGRmN2Y3M2Y5YjUxOTAz
N2ZkZjllOTAyZDhjNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmcuaHRtbApAQCAtMSw2ICsx
LDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9s
bGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQor
PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47
IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDUzOXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4KQEAgLTI2
LDQgKzMyLDQgQEAgcmFuZ2Uuc2VsZWN0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWxl
bWVudCIpKTsKIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4K
LTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3Np
dGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbApp
bmRleCAwY2M3MzYwMGM3NGRhYjhkZTkzMTk3MWI2YjlmNWU2YWFiMzdlZDIwLi5iZGU2MTJkNjU4
OWU0OWZiOGQ2MzFlMmY3MWQ1NmJiNzIzMmM0MWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1l
eHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwx
MiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxi
YXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0
aW9uOiBhYnNvbHV0ZSBlbGVtZW50cyBkbyBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYWwgc2Nyb2xs
YmFyIG9uIFJUTCBtYWNoaW5lcy4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBz
cXVhcmUgYW5kIGEgcmVkIHNxdWFyZSBiZWxvdy4KQEAgLTEwLDQgKzE2LDQgQEAgVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90IG92ZXJs
YXAgdGhlIHZlcnRpY2EKIDxkaXYgc3R5bGU9IndpZHRoOiAxcHg7IGhlaWdodDogMzAwMHB4OyBw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7Ij48L2Rpdj4KIDwvZGl2Pgog
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LXBvc2l0aW9uLWFic29sdXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCmluZGV4IGU1ODYx
N2EzMjczOGQ4YjA2ZmNmZjkyOWI5MjZhZTBlODZmYzE4ZGUuLjRlNDFhMmI2MmRlN2JkOGM1ZGJm
YjI1YjRlYzI4MjU5NjY3NzNmYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRp
b24tYWJzb2x1dGUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIFRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb246IGFic29sdXRlIGVsZW1lbnRzIGRvIG5v
dCBvdmVybGFwIHRoZSB2ZXJ0aWNhbCBzY3JvbGxiYXIgb24gUlRMIG1hY2hpbmVzLiBUaGUgdGVz
dCBwYXNzZXMgaWYgeW91IHNlZSBhIGdyZWVuIHNxdWFyZSBhbmQgYSByZWQgc3F1YXJlIGJlbG93
LgpAQCAtMTIsNCArMTgsNCBAQCBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uOiBh
YnNvbHV0ZSBlbGVtZW50cyBkbyBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYQogPC9kaXY+CiA8L2Rp
dj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS1leHBlY3RlZC1taXNtYXRj
aC5odG1sCmluZGV4IDJjM2NmMjc2NTFhMGI3MWUzYWE2ODhmYWY3N2NlMmNiNjI5Zjk2NmIuLjBi
NWQ3OWNkMGRiNDIyOWFjNzA4ZDEwN2Y2MmJkYTljOGVkN2MxNjggMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS1leHBl
Y3RlZC1taXNtYXRjaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0xNyw0
ICsxNyw0IEBACiA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRp
cGlzY2luZyBlbGl0LiBTdXNwZW5kaXNzZSBhIHJpc3VzIG5pc2kuIE1hZWNlbmFzIHV0IG1ldHVz
IGdyYXZpZGEsIHRpbmNpZHVudCBhcmN1IG5lYywgdWx0cmljZXMgZHVpLiBWaXZhbXVzIGF0IHBy
ZXRpdW0gcHVydXMsIGluIGZldWdpYXQgb2Rpby4gUGhhc2VsbHVzIGZhY2lsaXNpcyBtaSBpZCBj
b25kaW1lbnR1bSBjb25ndWUuIEFlbmVhbiBzb2xsaWNpdHVkaW4gcmlzdXMgYSBhY2N1bXNhbiBm
YWNpbGlzaXMuIFNlZCBhYyBmcmluZ2lsbGEgZmVsaXMuIE1vcmJpIG1hbGVzdWFkYSB2ZWhpY3Vs
YSBzYXBpZW4uPC9wPgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbAppbmRleCA0MGQ2
MWFmOTY0MmVkZTVjYjdhMWY3NGY4Mjg4NzU4MWUzMzBiYjA1Li45NzRhYzVmM2IxNjlmYmZiNzE3
ZjBhMDQ5NzE0ZmNjODJlMzRkY2IxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbApAQCAt
MSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0
bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIp
OworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgaWQ9ImVsZW1lbnQiIHN0eWxl
PSJvdmVyZmxvdzogc2Nyb2xsOyB3aWR0aDogNzAwcHg7IGhlaWdodDogNTAwcHg7Ij4KQEAgLTE3
LDQgKzIzLDQgQEAKIDxwPkxvcmVtIGlwc3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBh
ZGlwaXNjaW5nIGVsaXQuIFN1c3BlbmRpc3NlIGEgcmlzdXMgbmlzaS4gTWFlY2VuYXMgdXQgbWV0
dXMgZ3JhdmlkYSwgdGluY2lkdW50IGFyY3UgbmVjLCB1bHRyaWNlcyBkdWkuIFZpdmFtdXMgYXQg
cHJldGl1bSBwdXJ1cywgaW4gZmV1Z2lhdCBvZGlvLiBQaGFzZWxsdXMgZmFjaWxpc2lzIG1pIGlk
IGNvbmRpbWVudHVtIGNvbmd1ZS4gQWVuZWFuIHNvbGxpY2l0dWRpbiByaXN1cyBhIGFjY3Vtc2Fu
IGZhY2lsaXNpcy4gU2VkIGFjIGZyaW5naWxsYSBmZWxpcy4gTW9yYmkgbWFsZXN1YWRhIHZlaGlj
dWxhIHNhcGllbi48L3A+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAppbmRleCA0M2VjYjA3
OTk2MDUwMWZmZmQ2OTA4Y2U5MzhjZmM4ZTdiN2NhNzA5Li45M2FlOTAxNjVlYjQ5OGU5YzhhZDlm
ZGEzOTU1Yzc1ZmJlYTBhMGMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3Rl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92
ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKQEAgLTE2LDQgKzE2
LDQgQEAgcmFuZ2Uuc2V0RW5kKHRleHQsIDEpOwogc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsK
IDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1z
Y3JvbGxlZC5odG1sCmluZGV4IDU5OWJiOGI1MTM0ODM4NGExNmFhMjBhMDFhYzE2NWZkNjFhOTg0
M2MuLmQ0NjgwZDhiNzIzZjUyYmIxYWZiMWE4NmNmYzFjNmVlOTIyNDk0ZDEgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQt
c2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbApAQCAt
MSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0
bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIp
OworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxk
aXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDQ4NXB4OyBw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0xNXB4OyI+CkBAIC0yMSw0ICsyNyw0IEBAIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy5odG1sCmluZGV4IDIxY2Y2
ODM0OTExYzJjNGFiYjBkNmJlYmYyODhhNmEzZTNlYTYzY2YuLjdjY2Y0YzIxYmMyNjY5MTlmY2Y4
N2YwMWEyNjRjMjQzZDU2OGEzNGEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1
ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgaWQ9ImVsZW1lbnQiIHN0eWxlPSJvdmVyZmxvdzogc2Ny
b2xsOyB3aWR0aDogNzAwcHg7IGhlaWdodDogNTAwcHg7Ij4KQEAgLTI2LDQgKzMyLDQgQEAgaWYg
KHdpbmRvdy5ldmVudFNlbmRlcikgewogfQogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRz
LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbAppbmRleCAzNzZmZTA2ODVh
YzNjZmJlYzhkODBkNzI0MDQ3Mzc1MTFlNzNhZmQ1Li4yZDRjNGVlZjVmNTQ5ODkxNWNkOTc4YmNj
NzQ5MDYyYjhlNDZjMjFlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1
c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbApAQCAtMSw3ICsxLDEzIEBACi08IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0Pgog
aWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xs
YmFycyh0cnVlKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29u
dGVudHMuaHRtbAppbmRleCBkNzBiODIxZGViNDlhZThjYzU1YzM2MGRiYWZhYzFkOGQ0Mzg3ODc1
Li5kM2IxZDJkODFmOTdjY2E3NmFiY2ExNWFlMDZlZWM3MmVlOGM0ZDA5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gt
Y29udGVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbApAQCAtMSw3ICsxLDEzIEBACi08IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBd
IC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KK2lmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+Cis8
c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldFVzZXNPdmVy
bGF5U2Nyb2xsYmFycyh0cnVlKTsKIDwvc2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9u
LWFic29sdXRlLWV4cGVjdGVkLmh0bWwKaW5kZXggNGYyNjYwOThlYWQxNTBjNjcxMTRjOTA2YTEy
NTNhZDFmZjQ3YTdiMi4uZmU2NTIzNmFlNTgyYzQ3NGFhNmQwNDlmOTExOWZjN2Y2MmVkNzY1MCAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9z
aXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCkBAIC0x
LDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRs
U2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRp
diBpZD0idGV4dCIgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsgcG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiAxMDBweDsiPnBwcHBwcHBwcHBwcHBwPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1
dGUuaHRtbAppbmRleCA5NmMxNjc5ZWQ1YTIwYThiZWNjYTBlNmFiMGE1YTUzZmEyMmQ2MjM3Li4y
NjFkMjU2ZjQ5MDZkODY2YzE3YTE3Njg4YzE3OTgwNzhjYWZjOTg5IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0
aW9uLWFic29sdXRlLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgewor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVt
TGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5
bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHlsZT0iZm9udDogMjBweCBBaGVt
OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEwMHB4OyI+cHBwcHBwcHBwcHBwcHA8L2Rpdj4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC1leHBlY3RlZC5odG1sCmluZGV4IDQxMDE3YWQ2
ZWZiZDcwYTE1NWQ3NjJlZDUwMzE3NDgxNzQ2ZDY2YTcuLjY5NmEyY2ZjZDg0YTIyYWE2OTFjZjM4
NmUxZmU4MzViYTAwNDUxYjAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0
ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJl
Y3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2lu
OiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQiIHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9u
OiBmaXhlZDsgbGVmdDogMTAwcHg7Ij5wcHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9u
LWZpeGVkLmh0bWwKaW5kZXggZTdmMDFiMzhlMzAwOGVkZTFkYTllMmNhNTkyOGI2ODBhYmRhZWI0
Ny4uMGRhM2Q5MzY3OWUxOGM4MDFkNDhkZWU4MDAxNTYyOThjMmIzNTMwZSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3Np
dGlvbi1maXhlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxh
eW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxl
PSJtYXJnaW46IDBweDsiPgogPGRpdiBpZD0idGV4dCIgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsg
cG9zaXRpb246IGZpeGVkOyBsZWZ0OiAxMDBweDsiPnBwcHBwcHBwcHBwcHBwPC9kaXY+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlv
bmluZy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbAppbmRleCA3ZDliMjI2NTI1MmE2YTYzYjYy
ODU0NWNjM2Y1N2JjYTY0N2U1M2M1Li5hZDM5Y2I4NTc1ZGJmOTYzMGM4YzU5NjE2Y2I3Mzk1ZTYy
YWIwNGQyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30K
Kzwvc2NyaXB0PgogPHN0eWxlPgogZGl2IHsKICAgICBmb250OiAyMHB4IEFoZW07CkBAIC0xOSw0
ICsyNSw0IEBAIGRpdiB7CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBw
eDsgdG9wOiAyMTBweDsiPm08L2Rpdj4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsg
bGVmdDogMHB4OyB0b3A6IDBweDsgd2lkdGg6IDFweDsgaGVpZ2h0OiAyMDAwcHg7Ij48L2Rpdj4K
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3Np
dGlvbmluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
cG9zaXRpb25pbmcuaHRtbAppbmRleCBhMDY1YzliNmYzM2E2YWViNWRlZTRlMjM1NTcxZWE2NTk0
Y2UyOTViLi43OTM3MzkxNWJjMDJhNDRhN2EwMjk1MTYwNzE4MDc0Njc5MzM3NWFmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmlu
Zy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uaW5nLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPHN0eWxlPgogZGl2IHsKICAgICBm
b250OiAyMHB4IEFoZW07CkBAIC0zNSw0ICs0MSw0IEBAIGRpdiB7CiA8L2h0bWw+Ij48L2lmcmFt
ZT4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsg
d2lkdGg6IDFweDsgaGVpZ2h0OiAyMDAwcHg7Ij48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1l
eHBlY3RlZC1taXNtYXRjaC5odG1sCmluZGV4IGM2ZmM4ODIyZTI0MzExMTI3ZDc0Y2IxNDA5ZGRj
M2E4ZWY3ZTRkZGUuLmQ4ZjExMmJkNGNkZDM3NmUyOTQ4MzRkYTY5NTc1ZDMxM2Y1NWQ3Y2IgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBs
ZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC01LDQgKzUs
NCBAQAogPGJvZHkgc3R5bGU9ImhlaWdodDogMTAwMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3Vy
ZSB0aGF0IHJ0bCBzY3JvbGxiYXJzIGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBmcmFtZS4K
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1w
bGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBs
ZS5odG1sCmluZGV4IDc4YmQwNTAwMDhhYTgxMTRiOTIzNDZlZjMzYjkwYWFjMTgzZjViMTguLjgx
ZmJkOWVjZTdjY2M2NWM1OTU0NGFmMmQ3NDJlYzk4ZDFjMzk1MDcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sCkBAIC0x
LDggKzEsMTQgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRs
U2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJoZWlnaHQ6IDEwMDBweDsiPgog
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBydGwgc2Nyb2xsYmFycyBhcmUgb24gdGhlIGxlZnQg
b2YgdGhlIG1haW4gZnJhbWUuCiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLWV4cGVj
dGVkLmh0bWwKaW5kZXggM2UwMjA4MTZkNjBlNTA0ZjkxMjc0MmYwODE2Y2U5NmU0MzY4NzY4Yy4u
YzNhZjM3OWQ2OTU4YzA3ZmZkMjZlMGZkYTlhNTI3NWY1OWEyN2M0OCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTIt
ZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1zdGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwh
RE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVl
IF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlv
bmluZy4KQEAgLTEyLDQgKzE4LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlv
bi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIHdpbmRvdy5z
Y3JvbGwoODUwLCAwKTsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sCmlu
ZGV4IDBmMmVjYmViODczYjA2M2MxMzExYmJmM2UxOWQzYjNiOWMyNWU1ZTcuLjAzMWE5YmIxZjhk
OTQxNTExZDYxMDlkMTM1ZTRhYTVkNmU2ODcxYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50
LTIuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJl
Y3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2lu
OiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlz
IFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xMSw0ICsxNyw0IEBAIFRoaXMg
dGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJz
IHdoZW4gcG9zaXRpb25pbmcuCiB3aW5kb3cuc2Nyb2xsKDg1MCwgMCk7CiA8L3NjcmlwdD4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3kt
ZG9jdW1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sCmluZGV4IDUyOGU4MzA0NGVh
NDQwMDg3MzBhNDg0ZTJmZDgzZGY1YWU3MGQxOTAuLjI2YzUxM2IwNGQxNTNlZDUyM2M5ZmE4YTU1
YzVmMWYzYjE5NDVmMDMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3Rl
ZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZp
ZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46
IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMg
UlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTksNCArMTUsNCBAQCBUaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3
aGVuIHBvc2l0aW9uaW5nLgogICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVm
dDogNjg1cHg7IHRvcDogMHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91
bmQ6IGdyZWVuOyI+PC9kaXY+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCmluZGV4
IGM3Njc1ZGY1MjdlZTBlZGNiMWJiZWRlYzhmYmQ1NTUyNTYxMTk3YzUuLmZjMzM4NjA2MTQ0MDcx
MjQyMDA4YjBkZjc5MTU2YzE0YWJjYTcxM2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1s
CkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsi
PgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNj
cm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTgsNCArMTQsNCBAQCBUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBv
c2l0aW9uaW5nLgogICAgIDxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRp
b246IHN0YXRpYzsgd2lkdGg6IDgwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBibHVl
OyI+PC9kaXY+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogLXdl
YmtpdC1zdGlja3k7IGxlZnQ6IDBweDsgcmlnaHQ6IDBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6
IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlu
bGluZS1ibG9jazsgcG9zaXRpb246IHN0YXRpYzsgd2lkdGg6IDgwMHB4OyBoZWlnaHQ6IDEwMHB4
OyBiYWNrZ3JvdW5kOiBibHVlOyI+PC9kaXY+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1p
ZnJhbWUtMi1leHBlY3RlZC5odG1sCmluZGV4IDYzOTU1NmVjNjkwNGEyMzE4ZGJkMTQzOWQ0NmQz
NGRjOGJkYjc5ZDQuLjM5NmMxOTRlMjFhNDY5NGZiYjkxZDI4OTBiNGMzYWE2ZjhlZjk3NWEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1pZnJhbWUtMi1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEs
MTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xs
YmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0
IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hl
biBwb3NpdGlvbmluZy4KQEAgLTE4LDQgKzI0LDQgQEAgd2luZG93LnNjcm9sbCg4NTAsIDApOwog
PC9ib2R5PgogPC9odG1sIj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5odG1sCmluZGV4IGZkNDFhZmM5
NTJiMjMzMTEwNzJiMjJlMTEzZWM0NGJmNjYwMzFmZmQuLjM5ZTRhNDg2YzBjNmU2OWM4MDBlNGFk
NTYxOGJkNGQ5NDA2MDQzMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5odG1sCkBAIC0xLDYg
KzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Ny
b2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9
Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0
ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMg
d2hlbiBwb3NpdGlvbmluZy4KQEAgLTE3LDQgKzIzLDQgQEAgd2luZG93LnNjcm9sbCg4NTAsIDAp
OwogPC9ib2R5PgogPC9odG1sIj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0
bWwKaW5kZXggNDg2MTI5NjFmMWZmYjdiZWYwMTBkMmQ0M2JhOGRmNzE5ZjQ5NjMwNy4uYzNiY2Y2
MDcyZDE4N2JmZDM3OGFjMWQzMzVjMmFjOGRmODcyNDc4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1pZnJhbWUtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRp
b24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xNSw0
ICsyMSw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlz
IFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiA8L2JvZHk+CiA8L2h0bWwiPgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1p
ZnJhbWUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1pZnJhbWUuaHRtbAppbmRleCA0OTAxNDYyNzY5MTc1NDQ5N2M3YTE5ZWEwODM1YjA3NzZl
YTYxMTBlLi43NTIyYTNmYzRkOGU2M2Y0ZTE5YWZlMTkzM2FlMDhjODJjZDhlM2M2IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZy
YW1lLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c3RpY2t5LWlmcmFtZS5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0
eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1z
dGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTE0LDQgKzIw
LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRM
IHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIDwvYm9keT4KIDwvaHRtbCI+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJm
bG93LXNjcm9sbC0yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbAppbmRl
eCBiNTM2M2U1MjFjMDMxOGIyY2Y5OTAzMTQ2MjdjN2ZhZmJhOTRkM2U4Li5iN2U4OThiZGM4MTNj
YTU4NTJkOTQ4ZTliYTgwNmQ3YTdhZmUyMjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1z
dGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1
ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRp
b25pbmcuCkBAIC0xNSw0ICsyMSw0IEBAIHZhciBzY3JvbGxpbmdFbGVtZW50ID0gZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoInNjcm9sbGluZyIpOwogc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0
ID0gMTAwMDsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0y
Lmh0bWwKaW5kZXggYWUzNzVkNTM3NjczNjk0ZGY0OGYxMTYwYWEwYTQxYThlOGZhOTE0Ni4uY2Ey
NzVhNzYwYzVhM2I2MDM3NjRmMmU0ZjY1OGI4N2IwZWMxNjRmNCAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9s
bC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4K
KzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0
IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpA
QCAtMTQsNCArMjAsNCBAQCB2YXIgc2Nyb2xsaW5nRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1l
bnRCeUlkKCJzY3JvbGxpbmciKTsKIHNjcm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCA9IDEwMDA7
CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4
cGVjdGVkLmh0bWwKaW5kZXggZmRlMTU0MGM5ZjQ1NGY3ZjNkMGRkMzFlZTJkYmM4ZTNmYjE1ZmRk
OC4uMGFkYzQyNTVjNjljMmVjNmE5N2E4ZmQzZDU2ZTZhYWI5ODllYzFkMiAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93
LXNjcm9sbC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbApAQCAtMSw2
ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOwor
fQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMg
dGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJz
IHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xMSw0ICsxNyw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25p
bmcuCiA8L2Rpdj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRt
bAppbmRleCAxMDk4OGUyMWM4OTE1ZGQyNjkzY2Q1ZmJkYjc2ZjEwYWVhOWJjYjZiLi4xNmZjOGE2
ZGY3MDllNTNhNTZmYjQ0YTU4OTlmNjAwOGIyOWUyOTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LW92ZXJmbG93LXNjcm9sbC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlv
bi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTEwLDQg
KzE2LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMg
UlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIDwvZGl2PgogPC9kaXY+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rp
b24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWwKaW5kZXggN2VmNWUzZTI4NTNlMGY5YzIx
NmI2YTU4ZTc4NjY2ZmM4MTNlNjk1OS4uOWVjYWVmMDA0Yzg3YTA5YTM3NzIwOWJiNTM5YzZmZDkz
Y2NiOWJjMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC5odG1sCkBA
IC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
cnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgog
PGRpdiBpZD0idGV4dCIgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsiPnBwcHBwcHBwcHBwcHBwPC9k
aXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0
ZWQuaHRtbAppbmRleCBlZDZiM2Q0NzJkYjkwNzkwYjNkYzhiYzdiNjg4ZjRkYTdlMDgwNWQzLi43
NjIxYTI0MzBjYzE1ZTI4YzljZTFjNzI2Yjg5OTJiZGQwMmNhYTVkIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3Jv
bGxlZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30K
Kzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlk
PSJ0ZXh0IiBzdHlsZT0iZm9udDogMjBweCBBaGVtOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+
PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48
YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxi
cj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJy
Pjxicj5wcHBwcHBwcHBwcHBwcDwvZGl2PgpAQCAtMTcsNCArMjMsNCBAQCByYW5nZS5zZXRFbmQo
dGV4dCwgMSk7CiBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rp
b24tc2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKaW5kZXggNTU3YjIzYjdkYWY3MDA5YjM1
OTExZTA3NzMyMjdiNDhlZWNlZjZhMi4uMDMwYTBlM2Y2NTQ3YmJiNGE3ZDkxMDVkZTBkMDNlNjE3
OTM1MDFhMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCkBA
IC0xLDUgKzEsMTEgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
cnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQor
PC9zY3JpcHQ+CiA8aGVhZD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgpA
QCAtMTYsNCArMjIsNCBAQCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4K
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0
LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtdGV4dC1zZWxlY3Rpb24uaHRtbAppbmRleCA0ZGJjODhhZjBmZTJhNDg0YzdhNjdiOGQxNzBk
MTJkMGE1Mzk4ZTUxLi5jMGZmOWM1MDQyM2MxM2Y2YTYyMDYwMDU5MzMwYjYzYWEyNDQ5NjA3IDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0
LXNlbGVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXRleHQtc2VsZWN0aW9uLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEFoZW07
Ij5wcHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLmh0bWwKaW5kZXggMDZlN2QyNWI1ZDUzMDI4MmY0MWJiODU1MWJhODAzMTQz
MjBiNDM4NC4uNDE0YzAwZDk4MDQzNmU0ZTVkZjFmYjM1YWRlYTNiZGM4MDZkYWYwMSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy5odG1sCkBAIC0xLDYg
KzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Ny
b2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9
Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJoZWlnaHQ6IDEwMDBweDsgcG9zaXRp
b246IHJlbGF0aXZlOyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBw
eDsgYm90dG9tOiAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHJ0bCBzY3JvbGxiYXJz
IGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBmcmFtZS48L2Rpdj4KQEAgLTEzLDQgKzE5LDQg
QEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogfQogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1h
dGlvbi1wcm9wZXJ0eS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5LWV4cGVjdGVkLnBu
ZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwLi5mZjE2ZDg0OWIzN2YzNzJhZDgzNzViNmQyY2JhZWM1OTYzOWZlMzM4CkdJ
VCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMTIyNgp6Y21lSE5ZZnV3YzZ5OTl8MWByOGFwcnMoSUFY
Y3FuS31yfWJFSDhtcHAjP2pqUDYtd3dQSGhRUURwNyRYUjBiN20KelEwcGopTH1uQyo4QWNvfU1G
bz5NU1Y/cyU3T094SjYzUm9+MkBvTktQMH4jWnlYKWdgcj04Q0ltN1NBJj8lczNtCnpkM0BoVjR1
MmRJWD1tZU4xM3syb2JYMGc4MVgtWEVnZHtTcDIrNyZLY15TbVZpcCs/XyUjQHdubHdFdGlgM21D
dAp6dkR0b35yfSg5RXghaVRXekNRMSNfO1hXejE5b3V6e0k+NjQ/K0FkS3JFUD1+eWVCUik2dVNK
dGJwVjFeYWlZVVIKekh1Sz87akAjKzNzWHlsYnkxUX1WKmdLeldJI2F5ZU48SmZGZFA1I1FBJGp3
WXExezsjJCliRGh1N2g3endjYzh+Cno8V2o3bV5MJG4yTV5vfDV7c35IZiQ8V2JXJWQ8fk5OTl9n
PXRrO1phK1htVkBJeXd2JD9tXmpYUzg/TnZVP2g7aQp6V1RCVzRmKVYwRDdicjV9OVR0KkJxeSl0
LUVKTHhhQy0lfTtaNChVQEI7b2koUS1OQUtHcGd3cDJqfThDWlI4Sz4KekpmM3x1TjAhQHY8TCRx
O284NHN0a19QV1NCSVplX2AhcXc8dlFCJGsoX21qOSQ8K15OZFFXb31yPkNjbnMtPERHCnpNPTxN
JTFXUGp9QmReNUJDZFF1V2JTY0FgZmpOQ0k/Nn01fVpDZXk8WTwoUXx0dkZ9JDtRQGQxO3BmaGJa
JkFJQQp6PDw1LU0xYENYKil4bmMob1cqKSkrVj9DenJXekpsakxYanojO1RSRlV8cnliSEdMRUwp
UVk0TWQ3RH5UZV9jezAKelZiU2M2OTJHKi1za3RqfmpDeG1ud24qPz9vY3pJXnNyJWtDU0Uqc0xV
NTJ9UGFJKGpLPmJsa3hibF5vdGN0QCRDCnpFJCU0YThfelNJPzUrcVU0T1N0ZDxweiZMPEZWdG14
JXRgRjxTUndhb3w9cEJjJnBONXlmd3tSKEhAKXNfYm1+SQp6JTF0JSRsVTlscGZtbzN1Rj5wKmEo
PzMmcCN0JVZhVH5LZXVGRWo7NldYb1ZFRU8keHxsNnlkK2AtRiZfRTxIak0KentUcilGKklgTXdf
QiNwPWlGMkd9aWgweVVGeFJnVkV3P04zPVhIamNHekp4TmRNcyU3VHpibXZmc3Y3c0YxPW5xCnp6
eUlZSkAhbSFfeVFpPE9QeENsfDw5NGpFeUd0OCtJbVQyWDcyR0BASDFRcUg8a1BEJmpPYEFsQHVz
T2FULTJTbgp6PlAlVFRacjtARTQwVXlOR3cwTX5TZ314ems3Y1BnM3JxNFVsUUAhPjFTOWI8Pn5t
YFQ3O1ZRSUErJStZJVVuRFgKekowITB9dkdUWjEyVEY5c2lHfVY4d1Y+SSQoVVBJcWRAcW5AO1Mm
VCYtTCNWbzZDeTd2Zzs0UV9geXdma2RAQ2xiCnp2YkxpZ2E7K2xeamJFWHJMWD8kZyVQaklNcWFC
ITBQSGVvZypOckNIMTtiYXAqM0ZkeGJBV0JlZ2N+b19kcitkfQp6KWhQRGxwY1FUN0dkOWVrJUl+
dmlIZEdOZG9QOWBuMHlxYWFobHFYPElkaUU3KHUlNVlweXJVWjZjbDgjR2xGaEsKendwYEg0TmhJ
OyMkMnA+Rig3eHdgcFc/czIwI3VwIW5oWW5EKkk5cDx7UitUaz17X1VLaWtVYUh3NnZzUTczfkFR
CnpPMHBedDQ7aHY2RXlBWnlwU250b2Bre3N+e2B3TjU7Xy1tdyhOdHtocWNrWkVQaHpTIyhTJmtQ
cikoWi1za1MlNgp6U1lgZHxRN29wQypwd0krRDF6TklyS0VwfWh5Tip6UnFmWW5QR21fMCNfNDY4
ejNqIX1mK0A5PHFwZ3UxbEo5WjIKenU5ZGtyXiooI243KEkpcWBCNXM0VH5VRzJ1QTtWPHI7TCY4
ciRjUkQyVkpUfiYqMCEtRi15T0ZBejg0eypRS2U+Cnp5eyE3NWYjcV9PYkpmZUI4KDs3Oz5LNFVM
Vz9gZUZxdmdUIz12MDkzaDIrbGJEYUojbVgkSjdFNXV8NHN6RVU0Ugp6KEZrSXBXWjM8LVVlbmQh
eUZ9YUluTmNoczxKUyt7PUZBWnYpbXlnTlNLJldRPjtyZEFtRSZReyQpZCQjOzB7JCMKel9lUDRO
VT5yPVMtTCN0S0YmMlhuQ0gmZnApV0klenFuTihqJChsTDw2RzElWFk+THlPNTFtPFBQSkFIXlBj
dlk2CnpWUjh2Z3I9Szc/KCNpLTVWS0ROOWtvRFJKRyMjeGFCVEQoKChtNk9yZ25iQW1XVzFTMSk2
cFp5TWN4PDNzbmlnbQp6RDI1I01yUm42cmFJPTMrNndPMnkzeCkzJSh7IVhsWHlEdmRQcyY3OyR0
KGhIMGQ2N2MxX3EqcSRQfCE3TH4jSk0KeiNhdUglJHUra1UoMjBtSDM+dmdLQXBtWTZGZEtrI1gy
PU9wRTx1OTxfJXs8Mno9O1RjMiZrZiYmSEBIKT0yMmo8CnpLcUxlaEVTUHh8NyVZSW4hdENAQTM+
THMoVlJrd1gxYEEtWUtxUH5pTX1mZnQ3JWFeR1ZBRjRsSjIhYjA9REB1WQpSOy05K142ZGUmMGVt
T0tiP0B1WnAkdmdsNgoKbGl0ZXJhbCAwCkhjbVY/ZDAwMDAxCgo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277319</attachid>
            <date>2016-04-25 20:35:58 -0700</date>
            <delta_ts>2016-04-25 22:07:50 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156948-20160425203625.patch</filename>
            <type>text/plain</type>
            <size>135318</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMTk5OTQ3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMDI2MDkzNTQyM2Q2YzI3
YmQyYmVlMzA0OTZiMjJkZTYzN2E4OTBiOC4uOGU3NjE5MDI5NTI1MTM4MDVlNjAxOTEwM2NiZWQ5
ZTczMDQ5Y2U3YyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNSBAQAorMjAxNi0wNC0yNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFtP
UyBYXSBDcmVhdGUgQVBJIGZvciBzd2l0Y2hpbmcgUlRMIHNjcm9sbGJhciBwb2xpY3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njk0OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjU3MDc3NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHR3byBzY2hvb2xzIG9mIHRob3VnaHQgZm9y
IHdoZXJlIHRvIHB1dCBzY3JvbGxiYXJzIGluIFJUTCBlbnZpcm9ubWVudHMuCisgICAgICAgIFRo
ZSBmaXJzdCBpcyB0aGF0IHdlIHNob3VsZCBvYmV5IHRoZSBjb250ZW50J3MgImRpciIgYXR0cmli
dXRlLCBzcGVjaWZpZWQgb24gZWFjaAorICAgICAgICBlbGVtZW50LiBUaGUgc2Vjb25kIGlzIHRo
YXQgd2Ugc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgcGxhdGZvcm0gKEFwcEtpdCdzKQor
ICAgICAgICBiZWhhdmlvci4KKworICAgICAgICBUaGVyZSBhcmUgc29tZSBzaXR1YXRpb25zIHdo
ZXJlIHRoZSBwbGFjZW1lbnQgc2hvdWxkIGJlIGRvbmUgYWNjb3JkaW5nIHRvIHRoZQorICAgICAg
ICBjb250ZW50LiBGb3IgZXhhbXBsZSwgdGhpcyBwb2xpY3kgd291bGQgYmUgdXNlZCBpbiB3ZWIg
YnJvd3NlcnMuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgYXJlIGFsc28gcGxhY2VzIHdoZXJl
IHdlYiBjb250ZW50IGlzIGRlc2lnbmVkIHRvIGZpdCBzZWFtbGVzc2x5CisgICAgICAgIGFtb25n
c3QgbmF0aXZlIGNvbnRlbnQuIEluIHRoaXMgc2l0dWF0aW9uLCB0aGUgcGxhY2VtZW50IG9mIHRo
ZSBzY3JvbGxiYXJzIHNob3VsZAorICAgICAgICBiZSBkb25lIGFjY29yZGluZyB0byB0aGUgdmll
dy4KKworICAgICAgICBCZWNhdXNlIFdlYktpdCBkb2Vzbid0IGtub3cgd2hpY2ggb2YgdGhlc2Ug
c2l0dWF0aW9ucyBpdCBpcyBvcGVyYXRpbmcgd2l0aGluLCB0aGlzCisgICAgICAgIHBhdGNoIGFk
ZHMgYSBuZXcgQVBJIHByb3BlcnR5LCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LCB0
bworICAgICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uUG9saWN5LiBUaGlzIGFsbG93cyBjbGll
bnRzIHRvIGluc3RydWN0IHVzIHdoaWNoIHBvbGljeSB0bworICAgICAgICBhYmlkZSBieS4gSXQg
aXMgcGx1bWJlZCB0byB0aGUgd2ViIHByb2Nlc3MgaW5zaWRlIHRoZSBXZWJQcmVmZXJlbmNlc1N0
b3JlIGFuZCBpcworICAgICAgICB1bHRpbWF0ZWx5IGhlbGQgaW5zaWRlIHRoZSBQYWdlJ3MgU2V0
dGluZ3Mgb2JqZWN0LgorCisgICAgICAgIFRoaXMgU2V0dGluZyBpcyBjb25zdWx0ZWQgYnkgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCwgd2hpY2ggc2VydmVzIGFzIGEgZ29vZAorICAgICAgICBjZW50
cmFsaXplZCBwbGFjZSBmb3IgdGhpcyBwb2xpY3kgaW1wbGVtZW50YXRpb24uIFRoaXMgaXMgdGhl
IGNsYXNzIHdoaWNoIGRlY2lkZXMKKyAgICAgICAgaWYgd2Ugc2hvdWxkIGJlIGNvbnN1bHRpbmcg
aXRzIFJlbmRlclN0eWxlIG9yIHRoZSBwbGF0Zm9ybSBpdHNlbGYgd2hlbiB3ZSBkZWNpZGUKKyAg
ICAgICAgd2hlcmUgdG8gcHV0IHRoZSBzY3JvbGxiYXJzLgorCisgICAgICAgIFB1dHRpbmcgdGhp
cyBkZWNpc2lvbiBpbnNpZGUgdGhlIHJlbmRlcmVyIGlzIGltcG9ydGFudCBiZWNhdXNlIFNjcm9s
bGFibGVBcmVhCisgICAgICAgIG9mdGVuIG5lZWRzIHRvIGtub3cgaWYgc2Nyb2xsYmFycyBzaG91
bGQgYmUgcHV0IG9uIHRoZSBsZWZ0LCBidXQgU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgZG9lc24n
dCBrbm93IGFueXRoaW5nIGFib3V0IFJlbmRlclN0eWxlcy4gVGhlcmVmb3JlLCB0aGUgcmVuZGVy
ZXIgbXVzdCBiZSB0aGUKKyAgICAgICAgaW50ZXJtZWRpYXJ5IGJldHdlZW4gU2Nyb2xsYWJsZUFy
ZWEgYW5kIHRoZSBSZW5kZXJTdHlsZS4gKFNjcm9sbGFibGVBcmVhIGFsc28KKyAgICAgICAgZG9l
c24ndCBkaXJlY3RseSBrbm93IGFueXRoaW5nIGFib3V0IHJlbmRlcmVycyBlaXRoZXI7IGhvd2V2
ZXIsIGVhY2ggb2YgdGhlCisgICAgICAgIHN1YmNsYXNzZXMga25vd3MgYWJvdXQgYW4gYXBwcm9w
cmlhdGUgcmVuZGVyZXIuKSBUaGVyZWZvcmUsIFNjcm9sbGFibGVBcmVhIGdldHMKKyAgICAgICAg
YSBuZXcgdmlydHVhbCBtZXRob2Qgd2hpY2ggaXMgaW1wbGVtZW50ZWQgYnkgdGhlIFJlbmRlckxh
eWVyTW9kZWxPYmplY3QuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzKi5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IFNjcm9sbGFibGVBcmVhTWFjLm1tIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaG91
bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KTogT3ZlcnJpZGRlbgorICAgICAg
ICBTY3JvbGxhYmxlQXJlYSBmdW5jdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOiBBZGRpbmcgdHdvIG5ldyBzZXR0aW5n
czogT25lIHRvIGtub3cgaWYgd2Ugc2hvdWxkCisgICAgICAgIGNvbnN1bHQgd2l0aCB0aGUgUmVu
ZGVyU3R5bGUgb3IgdGhlIHBsYXRmb3JtLCBhbmQgdGhlIG90aGVyIGlzIHdoZXRoZXIgb3Igbm90
CisgICAgICAgIHRoZSBwbGF0Zm9ybSBjb25zaWRlcnMgaXRzZWxmIHRvIGJlIFJUTC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmRvY3VtZW50U2Nyb2xsUG9zaXRpb25SZWxhdGl2ZVRv
Vmlld09yaWdpbik6IFVwZGF0ZSB0bworICAgICAgICB1c2UgbmV3IG1lY2hhbmlzbS4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9sbENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmxvY2F0aW9uT2ZDb250ZW50cyk6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KTogRGVsZXRlZC4gVGhpcyB3
YXMgdGhlIG9sZAorICAgICAgICBtZWNoYW5pc20uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxh
YmxlQXJlYTo6c3lzdGVtTGFuZ3VhZ2VJc1JUTCk6IERlbGV0ZWQuIERpdHRvLgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9s
bGFibGVBcmVhTWFjLm1tOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwpOiBEZWxldGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpkaWRDcmVhdGVTY3JvbGxlckltcCk6IFVwZGF0ZSB0byB1c2Ug
bmV3CisgICAgICAgIG1lY2hhbmlzbS4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1dyaXRpbmdN
b2RlLmg6IFRoZXNlIGVudW1zIHNob3VsZCBtYXRjaCB3aGF0J3MgaW4gV2ViS2l0Mi4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudCk6IFVwZGF0ZSB0byB1c2UgbmV3IG1l
Y2hhbmlzbS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZz
ZXRGb3JDb250ZW50KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmRldGVybWluZUxvZ2lj
YWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29udGVudEJv
eFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpvdmVyZmxvd0NsaXBSZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lk
dGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVyZmxvd1JlY3RGb3JQ
cm9wYWdhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29uc3Ry
YWluaW5nUmVjdEZvclN0aWNreVBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlc2l6ZSk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyU3RhcnQpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVu
Y2VzLgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyUmVjdCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OnJlc2l6ZXJDb3JuZXJSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2Nyb2xsQ29ybmVyQW5kUmVzaXplclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjp2ZXJ0aWNhbFNjcm9sbGJhclN0YXJ0KTogVXBkYXRlIHRvIHVz
ZSBuZXcgbWVjaGFuaXNtLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhvcml6b250
YWxTY3JvbGxiYXJTdGFydCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
Om9mZnNldEZyb21SZXNpemVDb3JuZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpwb3NpdGlvbk92ZXJmbG93Q29udHJvbHMpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVu
Y2VzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNp
b25zKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dDb250
cm9sc0ludGVyc2VjdFJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpkcmF3UGxhdGZvcm1SZXNpemVySW1hZ2UpOiBVcGRhdGUgdG8gdXNlIG5ldyBtZWNoYW5pc20u
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRSZXNpemVyKTogTWlncmF0ZSB0
byB1c2UgcmVmZXJlbmNlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjppc1BvaW50
SW5SZXNpemVDb250cm9sKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
aGl0VGVzdE92ZXJmbG93Q29udHJvbHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpoaXRUZXN0UmVzaXplckluRnJhZ21lbnRzKTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmg6IFNjcm9sbGFibGVBcmVhIG92ZXJyaWRlCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnBvc2l0aW9uRm9yQ2xpcExheWVyKTogVXBkYXRlIHRvIHVz
ZSBuZXcKKyAgICAgICAgbWVjaGFuaXNtLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQpOgorICAgICAgICBU
aGlzIGlzIHRoZSBtZWF0IG9mIHRoaXMgcGF0Y2guIFRoaXMgaXMgd2hlcmUgd2UgZGVjaWRlIGlm
IHdlIHNob3VsZCBiZQorICAgICAgICBpbnRlcnJvZ2F0aW5nIHRoZSBSZW5kZXJTdHlsZSBvciB0
aGUgdW5kZXJseWluZyBwbGF0Zm9ybS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDogVXBk
YXRlIHRvIHVzZSBuZXcgbWVjaGFuaXNtLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJv
eDo6aXRlbUJvdW5kaW5nQm94UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94
OjpwYWludFNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojppc1Bv
aW50SW5PdmVyZmxvd0NvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6
bGlzdEluZGV4QXRPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29u
dHJvbENsaXBSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmludmFsaWRh
dGVTY3JvbGxiYXJSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbnZl
cnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRW
aWV3UmVjdGFuZ2xlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQpOiBUaGlzCisgICAgICAgIGZ1bmN0aW9uIGlzIG5vdyBtdWNoIGR1
bWJlci4gSXQganVzdCBpbnNwZWN0cyBpdHMgb3duIHN0eWxlLgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHA6IEFsbG93IG1vY2tpbmcuCisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KToKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c3lzdGVtTGF5b3V0
RGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKwogMjAxNi0wNC0yMiAg
Q2hyaXMgRHVtZXogIDxjZHVtZXpAYXBwbGUuY29tPgogCiAgICAgICAgIENhbm5vdCBhY2Nlc3Mg
dGhlIFNRTFRyYW5zYWN0aW9uLmNvbnN0cnVjdG9yLnByb3RvdHlwZQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGNj
NjJmMDI4N2I0YjE0ZDViMTYwYmVhYWM2MWYzMDJmMDNmYmUxZjQuLjMwZDVmZGQzZGRlNmY4YzQ1
MjAyYzI3OTE5NjE4ZGE1ZTk4NjEzMWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5n
ZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAx
Ni0wNC0yNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAg
ICAgIFtXSzJdIFtPUyBYXSBDcmVhdGUgQVBJIGZvciBzd2l0Y2hpbmcgUlRMIHNjcm9sbGJhciBw
b2xpY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1
Njk0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjU3MDc3NTc+CisKKyAgICAgICAgUmV2aWV3
ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRoZSBuZXcgQVBJLgorCisgICAg
ICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3IF9pbml0
aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1
cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBlbmNvZGVX
aXRoQ29kZXI6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gaW5pdFdpdGhD
b2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBjb3B5V2l0aFpvbmU6
XSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHA6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9QbHVnaW5zL1BERi9EZXByZWNhdGVkUERGUGx1Z2luLmg6CisgICAgICAgICogV2Vi
UHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1
cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYtMDQtMjIgIFJ5YW4gSGFkZGFkICA8cnlhbmhhZGRh
ZEBhcHBsZS5jb20+CiAKICAgICAgICAgRml4aW5nIGEgdHlwbyBpbiBteSBsYXN0IGNvbW1pdC4K
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpp
bmRleCBkOTU1ZWI3YWZlYzE5M2E1ODUzMDA2MGI3NWM1MTgzZDg2YmNhZGY2Li4wYWU2MWRkODM5
MmU2MWI2MDcxMzUyODExN2E5MGQxZWIyZTE0ZDA5IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dlYkNvcmUv
V2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NzYsNyArOTc2LDYgQEAKIAkJ
MUM4MUI5NUEwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDODFCOTU2MEU5NzMzMDgw
MDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVU
RVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUM4MUI5NUIwRTk3MzMwODAwMjY2RTA3IC8qIElu
c3BlY3RvckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM4MUI5NTcwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwICovOyB9OwogCQkxQzgxQjk1QzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xp
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgx
Qjk1ODBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUM5OTU0MkUxQzkyMTA1MjAwREJE
MjI2IC8qIFNjcm9sbGFibGVBcmVhTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUM5OTU0MkQxQzkyMTA1MjAwREJEMjI2IC8qIFNjcm9sbGFibGVB
cmVhTWFjLm1tICovOyB9OwogCQkxQ0ExOUUwNTBEQzI1NTk1MDA2NUE5OTQgLyogRXZlbnRMb29w
TWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNB
MTlFMDMwREMyNTU5NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1hYy5tbSAqLzsgfTsKIAkJMUNBMTlF
MTYwREMyNTVDQTAwNjVBOTk0IC8qIEV2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBMTlFMTUwREMyNTVDQTAwNjVBOTk0IC8qIEV2ZW50
TG9vcC5oICovOyB9OwogCQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2Jq
ZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0FG
MzQ3RTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggKi87IHNldHRpbmdzID0g
e0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0MjYsNyArODQyNSw2IEBACiAJ
CTFDODFCOTU3MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckNvbnRyb2xsZXIuY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzgxQjk1ODBFOTczMzA4MDAyNjZFMDcg
LyogSW5zcGVjdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IElu
c3BlY3RvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkwNERGOTBC
QTlEMkM4MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQueGNjb25m
aWc7IHBhdGggPSBWZXJzaW9uLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQkxQzk5NTQyRDFDOTIxMDUyMDBEQkQyMjYgLyogU2Nyb2xsYWJsZUFyZWFNYWMubW0gKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxhYmxlQXJlYU1hYy5tbTsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMTlFMDMwREMyNTU5NTAwNjVBOTk0IC8q
IEV2ZW50TG9vcE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsgcGF0aCA9
IEV2ZW50TG9vcE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMTlFMTUw
REMyNTVDQTAwNjVBOTk0IC8qIEV2ZW50TG9vcC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBFdmVudExvb3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBRjM0
N0UwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBXZWJTY3JpcHRPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTE3OTE4LDcgKzE3OTE2LDYgQEAKIAkJCQlDRDgyMDMwRTEzOTVBQ0U3MDBGOTU2
QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLmggKi8sCiAJCQkJQ0Q4MjAzMEYxMzk1QUNFNzAwRjk1
NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tbSAqLywKIAkJCQk5MzgwRjQ3NzA5QTExQUNDMDAx
RkRCMzQgLyogV2lkZ2V0TWFjLm1tICovLAotCQkJCTFDOTk1NDJEMUM5MjEwNTIwMERCRDIyNiAv
KiBTY3JvbGxhYmxlQXJlYU1hYy5tbSAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwogCQkJc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTMxMjAxLDcgKzMxMTk4LDYgQEAKIAkJCQlGNTVCM0RD
QjEyNTFGMTJEMDAzRUYyNjkgLyogUmFkaW9JbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJ
CQkJQjY1OEZGQTUxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwIGluIFNvdXJj
ZXMgKi8sCiAJCQkJOTNGMTlBQjkwODI0NUU1OTAwMUU5QUJDIC8qIFJhbmdlLmNwcCBpbiBTb3Vy
Y2VzICovLAotCQkJCTFDOTk1NDJFMUM5MjEwNTIwMERCRDIyNiAvKiBTY3JvbGxhYmxlQXJlYU1h
Yy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzRENEMTI1MUYxMkQwMDNFRjI2OSAvKiBSYW5n
ZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVFMDA4MTVC
NjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwM0IxMkIwMjY3
NjAwQzFBMzU5IC8qIFJlYWx0aW1lQW5hbHlzZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggNjcxYmE1ZWMzMmUyM2JmYjczNmQzZDZiOWM4MjQxYzNj
OGI5MTgzYS4uYmE2ZTAzYmFkOGMyMjY5MDM5ZDk5NTY3Y2I2ODU1ZjRiYTdmODQwYSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNDk2OCw1ICs0OTY4LDEyIEBAIEludFNpemUgRnJh
bWVWaWV3Ojp2aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKCkgY29uc3QKICAgICAvLyBw
cm9wZXJ0eSBvbiB0aGUgcm9vdCBlbGVtZW50LgogICAgIHJldHVybiB2aXNpYmxlQ29udGVudFJl
Y3RJbmNsdWRpbmdTY3JvbGxiYXJzKCkuc2l6ZSgpOwogfQorCitib29sIEZyYW1lVmlldzo6c2hv
dWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0Cit7CisgICAgaWYg
KGF1dG8qIHJlbmRlclZpZXcgPSB0aGlzLT5yZW5kZXJWaWV3KCkpCisgICAgICAgIHJldHVybiBy
ZW5kZXJWaWV3LT5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCk7Cisg
ICAgcmV0dXJuIGZhbHNlOworfQogICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvRnJhbWVWaWV3LmgKaW5kZXggOTc3NTNkYzIxMzUzYjZjMDRlY2M4NjkyZGRkNzg1NDFjYzU4
NWFiNC4uNGE5MDFjOGU2ZmQwYjYyZDRhM2VmMGVhYjIxNzUzZTM3NzFjMDc1OCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9w
YWdlL0ZyYW1lVmlldy5oCkBAIC01NTcsNiArNTU3LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBz
aG93KCkgb3ZlcnJpZGU7CiAKKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3Jv
bGxiYXJPbkxlZnQoKSBjb25zdCBvdmVycmlkZTsKKwogcHJvdGVjdGVkOgogICAgIGJvb2wgc2Ny
b2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXplJiBzY3JvbGxEZWx0YSwgY29uc3QgSW50
UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0JiBjbGlwUmVjdCkgb3ZlcnJpZGU7CiAg
ICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNvbnN0IEludFJlY3QmIHVwZGF0ZVJlY3Qp
IG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmluZGV4IGQyNjAwZjUzYzNiMjMzOTk3ODMy
NGQ0MjNlZGY1N2RiYTUxMmFmNjguLjkxZWVjMzFiNGQzMDQ3MmE1MzczMzY5ZmI5ODc2M2Y3OTNk
MjJkZTMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTM1LDYgKzM1LDcgQEAKICNpbmNsdWRl
ICJUZXh0RmxhZ3MuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1ZGUgIlVSTC5oIgorI2lu
Y2x1ZGUgIldyaXRpbmdNb2RlLmgiCiAjaW5jbHVkZSA8Y2hyb25vPgogI2luY2x1ZGUgPHJ1bnRp
bWUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8dW5pY29kZS91c2NyaXB0Lmg+CkBAIC03MSw2
ICs3MiwxMSBAQCBlbnVtIERlYnVnT3ZlcmxheVJlZ2lvbkZsYWdzIHsKICAgICBXaGVlbEV2ZW50
SGFuZGxlclJlZ2lvbiA9IDEgPDwgMSwKIH07CiAKK2VudW0gY2xhc3MgVmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeSB7CisgICAgQ29udGVudCA9IDAsCisgICAgVmlldyA9IDEKK307CisK
IHR5cGVkZWYgdW5zaWduZWQgRGVidWdPdmVybGF5UmVnaW9uczsKIAogY2xhc3MgU2V0dGluZ3Mg
OiBwdWJsaWMgUmVmQ291bnRlZDxTZXR0aW5ncz4gewpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGFnZS9TZXR0aW5ncy5pbiBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KaW5k
ZXggMDRmMTM4N2Q0YzFhMTAxMzIyODYyMzg3ZDdlZTU3YzQ1N2JhNGRlMS4uZWRiNTE5NzU3ZTUx
MThlODZiMTFlMThmY2NiZWY3YzVkMzhmY2NlZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cGFnZS9TZXR0aW5ncy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmluCkBA
IC0yNTEsMyArMjUxLDYgQEAgaHR0cEVxdWl2RW5hYmxlZCBpbml0aWFsPXRydWUKICMgZW5mb3Jj
ZXMgYWxsIGZyYW1lIHNhbmRib3ggZmxhZ3MgKHNlZSBlbnVtIFNhbmRib3hGbGFnIGluIFNlY3Vy
aXR5Q29udGV4dC5oKSwgYW5kIGFsc28gZGlzYWJsZXMgPG1ldGEgaHR0cC1lcXVpdj4KICMgcHJv
Y2Vzc2luZyBhbmQgc3ViZnJhbWUgbG9hZGluZy4KIGNvbnRlbnREaXNwb3NpdGlvbkF0dGFjaG1l
bnRTYW5kYm94RW5hYmxlZCBpbml0aWFsPWZhbHNlCisKK3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3kgdHlwZT1WZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LCBpbml0aWFsPVZl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OkNvbnRlbnQKK3N5c3RlbUxheW91dERpcmVj
dGlvbiB0eXBlPVRleHREaXJlY3Rpb24sIGluaXRpYWw9TFRSCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbFZpZXcuY3BwCmluZGV4IGY3OWQ3NzVmZDZmZDdjNjdhYTZiZGNjZjYwMDU5YzU5M2Vj
MzFlYjEuLmYyMmQ2YmY4OWNmMmRiNjM5OTI2M2NjOTA5ZjYyODY3NzgxODU3MDUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwCkBAIC00MDUsNyArNDA1LDcgQEAgU2Nyb2xs
UG9zaXRpb24gU2Nyb2xsVmlldzo6YWRqdXN0U2Nyb2xsUG9zaXRpb25XaXRoaW5SYW5nZShjb25z
dCBTY3JvbGxQb3NpdGlvbiYKIFNjcm9sbFBvc2l0aW9uIFNjcm9sbFZpZXc6OmRvY3VtZW50U2Ny
b2xsUG9zaXRpb25SZWxhdGl2ZVRvVmlld09yaWdpbigpIGNvbnN0CiB7CiAgICAgcmV0dXJuIHNj
cm9sbFBvc2l0aW9uKCkgLSBJbnRTaXplKAotICAgICAgICB2ZXJ0aWNhbFNjcm9sbGJhcklzT25M
ZWZ0KCkgJiYgbV92ZXJ0aWNhbFNjcm9sbGJhciA/IG1fdmVydGljYWxTY3JvbGxiYXItPm9jY3Vw
aWVkV2lkdGgoKSA6IDAsCisgICAgICAgIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxi
YXJPbkxlZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyID8gbV92ZXJ0aWNhbFNjcm9sbGJhci0+
b2NjdXBpZWRXaWR0aCgpIDogMCwKICAgICAgICAgaGVhZGVySGVpZ2h0KCkgKyB0b3BDb250ZW50
SW5zZXQoVG9wQ29udGVudEluc2V0VHlwZTo6V2ViQ29yZU9yUGxhdGZvcm1Db250ZW50SW5zZXQp
KTsKIH0KIApAQCAtNzE5LDcgKzcxOSw3IEBAIHZvaWQgU2Nyb2xsVmlldzo6dXBkYXRlU2Nyb2xs
YmFycyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBvc2l0aW9uKQogICAgICAgICBpbnQg
Y2xpZW50V2lkdGggPSB2aXNpYmxlV2lkdGgoKTsKICAgICAgICAgaW50IHBhZ2VTdGVwID0gU2Ny
b2xsYmFyOjpwYWdlU3RlcChjbGllbnRXaWR0aCk7CiAgICAgICAgIEludFJlY3Qgb2xkUmVjdCht
X2hvcml6b250YWxTY3JvbGxiYXItPmZyYW1lUmVjdCgpKTsKLSAgICAgICAgSW50UmVjdCBoQmFy
UmVjdCh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgJiYgbV92ZXJ0aWNhbFNjcm9sbGJhciA/
IG1fdmVydGljYWxTY3JvbGxiYXItPm9jY3VwaWVkV2lkdGgoKSA6IDAsCisgICAgICAgIEludFJl
Y3QgaEJhclJlY3Qoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYm
IG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRo
KCkgOiAwLAogICAgICAgICAgICAgaGVpZ2h0KCkgLSBtX2hvcml6b250YWxTY3JvbGxiYXItPmhl
aWdodCgpLAogICAgICAgICAgICAgd2lkdGgoKSAtIChtX3ZlcnRpY2FsU2Nyb2xsYmFyID8gbV92
ZXJ0aWNhbFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpIDogMCksCiAgICAgICAgICAgICBtX2hv
cml6b250YWxTY3JvbGxiYXItPmhlaWdodCgpKTsKQEAgLTc0MCw3ICs3NDAsNyBAQCB2b2lkIFNj
cm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc2lyZWRQ
b3NpdGlvbikKICAgICAgICAgaW50IGNsaWVudEhlaWdodCA9IHZpc2libGVIZWlnaHQoKTsKICAg
ICAgICAgaW50IHBhZ2VTdGVwID0gU2Nyb2xsYmFyOjpwYWdlU3RlcChjbGllbnRIZWlnaHQpOwog
ICAgICAgICBJbnRSZWN0IG9sZFJlY3QobV92ZXJ0aWNhbFNjcm9sbGJhci0+ZnJhbWVSZWN0KCkp
OwotICAgICAgICBJbnRSZWN0IHZCYXJSZWN0KHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/
IDAgOiB3aWR0aCgpIC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwKKyAgICAgICAgSW50
UmVjdCB2QmFyUmVjdChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkg
PyAwIDogd2lkdGgoKSAtIG1fdmVydGljYWxTY3JvbGxiYXItPndpZHRoKCksCiAgICAgICAgICAg
ICB0b3BDb250ZW50SW5zZXQoKSwKICAgICAgICAgICAgIG1fdmVydGljYWxTY3JvbGxiYXItPndp
ZHRoKCksCiAgICAgICAgICAgICBoZWlnaHQoKSAtIHRvcENvbnRlbnRJbnNldCgpIC0gKG1faG9y
aXpvbnRhbFNjcm9sbGJhciA/IG1faG9yaXpvbnRhbFNjcm9sbGJhci0+b2NjdXBpZWRIZWlnaHQo
KSA6IDApKTsKQEAgLTExMzQsMTQgKzExMzQsMTQgQEAgSW50UmVjdCBTY3JvbGxWaWV3OjpzY3Jv
bGxDb3JuZXJSZWN0KCkgY29uc3QKICAgICBpbnQgaGVpZ2h0VHJhY2tlZEJ5U2Nyb2xsYmFyID0g
aGVpZ2h0KCkgLSB0b3BDb250ZW50SW5zZXQoKTsKIAogICAgIGlmIChtX2hvcml6b250YWxTY3Jv
bGxiYXIgJiYgd2lkdGgoKSAtIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+d2lkdGgoKSA+IDApIHsK
LSAgICAgICAgY29ybmVyUmVjdC51bml0ZShJbnRSZWN0KHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxl
ZnQoKSA/IDAgOiBtX2hvcml6b250YWxTY3JvbGxiYXItPndpZHRoKCksCisgICAgICAgIGNvcm5l
clJlY3QudW5pdGUoSW50UmVjdChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25M
ZWZ0KCkgPyAwIDogbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAg
aGVpZ2h0KCkgLSBtX2hvcml6b250YWxTY3JvbGxiYXItPmhlaWdodCgpLAogICAgICAgICAgICAg
d2lkdGgoKSAtIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAgICAgICAgIG1f
aG9yaXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0KCkpKTsKICAgICB9CiAKICAgICBpZiAobV92ZXJ0
aWNhbFNjcm9sbGJhciAmJiBoZWlnaHRUcmFja2VkQnlTY3JvbGxiYXIgLSBtX3ZlcnRpY2FsU2Ny
b2xsYmFyLT5oZWlnaHQoKSA+IDApIHsKLSAgICAgICAgY29ybmVyUmVjdC51bml0ZShJbnRSZWN0
KHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IDAgOiB3aWR0aCgpIC0gbV92ZXJ0aWNhbFNj
cm9sbGJhci0+d2lkdGgoKSwKKyAgICAgICAgY29ybmVyUmVjdC51bml0ZShJbnRSZWN0KHNob3Vs
ZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IDAgOiB3aWR0aCgpIC0gbV92
ZXJ0aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAgICAgICAgIG1fdmVydGljYWxTY3JvbGxi
YXItPmhlaWdodCgpICsgdG9wQ29udGVudEluc2V0KCksCiAgICAgICAgICAgICBtX3ZlcnRpY2Fs
U2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAgaGVpZ2h0VHJhY2tlZEJ5U2Nyb2xsYmFy
IC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+aGVpZ2h0KCkpKTsKQEAgLTE1MDIsNyArMTUwMiw3IEBA
IHZvaWQgU2Nyb2xsVmlldzo6c3R5bGVEaWRDaGFuZ2UoKQogSW50UG9pbnQgU2Nyb2xsVmlldzo6
bG9jYXRpb25PZkNvbnRlbnRzKCkgY29uc3QKIHsKICAgICBJbnRQb2ludCByZXN1bHQgPSBsb2Nh
dGlvbigpOwotICAgIGlmICh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgJiYgbV92ZXJ0aWNh
bFNjcm9sbGJhcikKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpICYmIG1fdmVydGljYWxTY3JvbGxiYXIpCiAgICAgICAgIHJlc3VsdC5tb3ZlKG1fdmVy
dGljYWxTY3JvbGxiYXItPm9jY3VwaWVkV2lkdGgoKSwgMCk7CiAgICAgcmV0dXJuIHJlc3VsdDsK
IH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcAppbmRleCBkM2Ez
NWUyMTFjOTJhZmViZjg0NDRhZWQwNDIxNDMzODhlNjQ0MzZlLi42MGZlOTNkYWRkNjU3MDlhMDIx
MDYwNjg5ZDI0NmE1NTU1YzNlODJmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9TY3JvbGxhYmxlQXJlYS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuY3BwCkBAIC02ODksMTYgKzY4OSw0IEBAIHZvaWQgU2Nyb2xsYWJsZUFyZWE6OmNv
bXB1dGVTY3JvbGxiYXJWYWx1ZUFuZE92ZXJoYW5nKGZsb2F0IGN1cnJlbnRQb3NpdGlvbiwgZmxv
CiAgICAgfQogfQogCi0jaWYgIVBMQVRGT1JNKENPQ09BKQotYm9vbCBTY3JvbGxhYmxlQXJlYTo6
dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIGZhbHNlOwot
fQotCi1ib29sIFNjcm9sbGFibGVBcmVhOjpzeXN0ZW1MYW5ndWFnZUlzUlRMKCkKLXsKLSAgICBy
ZXR1cm4gZmFsc2U7Ci19Ci0jZW5kaWYKLQogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaCBiL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKaW5kZXggM2ZkYWFiNGNkM2NhZDZjNzgy
YThhZTZkYzQ3YTBiOTY2MDliZjZjMS4uMDk5YTM1MTRiNGRjZDU2OTUxYzQ2ZGVlMWRhZGMwOTg5
MTU0YTQ0ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFy
ZWEuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCkBAIC0z
MTUsOCArMzE1LDcgQEAgcHVibGljOgogICAgIHZpcnR1YWwgYm9vbCB1c2VzTW9ja1Njcm9sbEFu
aW1hdG9yKCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KICAgICB2aXJ0dWFsIHZvaWQgbG9nTW9j
a1Njcm9sbEFuaW1hdG9yTWVzc2FnZShjb25zdCBTdHJpbmcmKSBjb25zdCB7IH07CiAKLSAgICBi
b29sIHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSBjb25zdDsKLSAgICBzdGF0aWMgYm9vbCBz
eXN0ZW1MYW5ndWFnZUlzUlRMKCk7CisgICAgdmlydHVhbCBib29sIHNob3VsZFBsYWNlQmxvY2tE
aXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCA9IDA7CiAKIHByb3RlY3RlZDoKICAgICBX
RUJDT1JFX0VYUE9SVCBTY3JvbGxhYmxlQXJlYSgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vbWFjL1Njcm9sbGFibGVBcmVhTWFjLm1tIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vbWFjL1Njcm9sbGFibGVBcmVhTWFjLm1tCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAyN2U1NWFlOTk2ODgyODFjODU0NTYwYjY3N2VjODZlZjU1MWVkNWQ5Li4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxhYmxlQXJlYU1hYy5tbQorKysgL2Rldi9udWxsCkBAIC0xLDU3ICswLDAg
QEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTYgQXBwbGUgSW5jLiBBbGwgUmlnaHRzIFJlc2Vy
dmVkLgotICogCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5
IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBw
cm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucyBhcmUKLSAqIG1ldDoKLSAqIAot
ICogICAgICogUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBh
Ym92ZSBjb3B5cmlnaHQKLSAqIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5h
cnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUKLSAqIGNvcHlyaWdodCBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIKLSAqIGlu
IHRoZSBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0
aGUKLSAqIGRpc3RyaWJ1dGlvbi4KLSAqICAgICAqIE5laXRoZXIgdGhlIG5hbWUgb2YgR29vZ2xl
IEluYy4gbm9yIHRoZSBuYW1lcyBvZiBpdHMKLSAqIGNvbnRyaWJ1dG9ycyBtYXkgYmUgdXNlZCB0
byBlbmRvcnNlIG9yIHByb21vdGUgcHJvZHVjdHMgZGVyaXZlZCBmcm9tCi0gKiB0aGlzIHNvZnR3
YXJlIHdpdGhvdXQgc3BlY2lmaWMgcHJpb3Igd3JpdHRlbiBwZXJtaXNzaW9uLgotICogCi0gKiBU
SElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIFRIRSBDT1BZUklHSFQgSE9MREVSUyBBTkQgQ09O
VFJJQlVUT1JTCi0gKiAiQVMgSVMiIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJ
RVMsIElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBUTywgVEhFIElNUExJRUQgV0FSUkFO
VElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SCi0gKiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgVEhFIENPUFlSSUdIVAot
ICogT1dORVIgT1IgQ09OVFJJQlVUT1JTIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsCi0gKiBTUEVDSUFMLCBFWEVNUExBUlksIE9SIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBP
RiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwKLSAqIERBVEEsIE9S
IFBST0ZJVFM7IE9SIEJVU0lORVNTIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWQotICogVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVAotICogKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lT
RSkgQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFCi0gKiBPRiBUSElTIFNPRlRXQVJF
LCBFVkVOIElGIEFEVklTRUQgT0YgVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgotICov
Ci0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJTY3JvbGxhYmxlQXJlYS5oIgotCi0j
aWYgUExBVEZPUk0oTUFDKQotI2luY2x1ZGUgIk5TU2Nyb2xsZXJJbXBTUEkuaCIKLSNlbmRpZgot
Ci1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLS8vIEl0J3MgY29uY2VpdmFibGUgdGhhdCBpbiB0aGUg
ZnV0dXJlLCB3ZSBtYXkgd2FudCBzb21lIHNjcm9sbGJhcnMgdG8gYmUgb24gdGhlIHJpZ2h0IHdo
aWxlIG90aGVyIHNjcm9sbGJhcnMgaW4gdGhlIHNhbWUgZG9jdW1lbnQgYXJlIG9uIHRoZSBsZWZ0
LgotLy8gVGhpcyBub24tc3RhdGljIGZ1bmN0aW9uIG9uIHRoZSBTY3JvbGxhYmxlQXJlYSBtYWtl
cyB0aGF0IHBvc3NpYmxlLgotYm9vbCBTY3JvbGxhYmxlQXJlYTo6dmVydGljYWxTY3JvbGxiYXJJ
c09uTGVmdCgpIGNvbnN0Ci17Ci0gICAgcmV0dXJuIHN5c3RlbUxhbmd1YWdlSXNSVEwoKTsKLX0K
LQotYm9vbCBTY3JvbGxhYmxlQXJlYTo6c3lzdGVtTGFuZ3VhZ2VJc1JUTCgpCi17Ci0jaWYgUExB
VEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAot
ICAgIHN0YXRpYyBib29sIHJlc3VsdCA9IFtbTlNTY3JvbGxlckltcFBhaXIgY2xhc3NdIHJlc3Bv
bmRzVG9TZWxlY3RvcjpAc2VsZWN0b3Ioc2Nyb2xsZXJMYXlvdXREaXJlY3Rpb24pXSAmJiBbTlNT
Y3JvbGxlckltcFBhaXIgc2Nyb2xsZXJMYXlvdXREaXJlY3Rpb25dID09IE5TVXNlckludGVyZmFj
ZUxheW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0OwotICAgIHJldHVybiByZXN1bHQ7Ci0jZWxzZQot
ICAgIHJldHVybiBmYWxzZTsKLSNlbmRpZgotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9w
bGF0Zm9ybS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KaW5kZXggZjIzOTY2MWY5NWQwY2ZmOTJi
NjA5YWIyZWNjNzExOWJlMjgwOTZkOS4uOTllMDJhZTQ4NGYwNDBmN2IwYzMxZmZjMjllYjk1YWFh
NDI1NjA3NyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJh
clRoZW1lTWFjLm1tCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJU
aGVtZU1hYy5tbQpAQCAtMTU4LDcgKzE1OCw3IEBAIHZvaWQgU2Nyb2xsYmFyVGhlbWVNYWM6OmRp
ZENyZWF0ZVNjcm9sbGVySW1wKFNjcm9sbGJhciYgc2Nyb2xsYmFyKQogI2lmIFBMQVRGT1JNKE1B
QykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAxMDEyMDAKICAgICBOU1Nj
cm9sbGVySW1wICpzY3JvbGxlckltcCA9IHBhaW50ZXJGb3JTY3JvbGxiYXIoc2Nyb2xsYmFyKTsK
ICAgICBBU1NFUlQoc2Nyb2xsZXJJbXApOwotICAgIHNjcm9sbGVySW1wLnVzZXJJbnRlcmZhY2VM
YXlvdXREaXJlY3Rpb24gPSBzY3JvbGxiYXIuc2Nyb2xsYWJsZUFyZWEoKS52ZXJ0aWNhbFNjcm9s
bGJhcklzT25MZWZ0KCkgPyBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVm
dCA6IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0OworICAgIHNjcm9s
bGVySW1wLnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gPSBzY3JvbGxiYXIuc2Nyb2xsYWJs
ZUFyZWEoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBOU1Vz
ZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVmdCA6IE5TVXNlckludGVyZmFjZUxh
eW91dERpcmVjdGlvbkxlZnRUb1JpZ2h0OwogI2Vsc2UKICAgICBVTlVTRURfUEFSQU0oc2Nyb2xs
YmFyKTsKICNlbmRpZgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9X
cml0aW5nTW9kZS5oIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Xcml0aW5nTW9kZS5o
CmluZGV4IDIzMTBiNDNlNzcwNzgyODdkMGFlYWY4M2E0ODdkOGM5NzQ2ODdlNWEuLmFjYzRmOTNj
Y2UxMzIyMGNiY2VmZjEwMmUwYjU4NzhiZGUxOGRjNDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL3RleHQvV3JpdGluZ01vZGUuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS90ZXh0L1dyaXRpbmdNb2RlLmgKQEAgLTM0LDcgKzM0LDcgQEAKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCi1lbnVtIFRleHREaXJlY3Rpb24geyBMVFIsIFJUTCB9OworZW51bSBUZXh0RGly
ZWN0aW9uIHsgTFRSID0gMCwgUlRMID0gMSB9OwogCiBpbmxpbmUgYm9vbCBpc0xlZnRUb1JpZ2h0
RGlyZWN0aW9uKFRleHREaXJlY3Rpb24gZGlyZWN0aW9uKQogewpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5oIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL1BvcHVwTWVudVdpbi5oCmluZGV4IDMxMDYxYjZlZDQ4NDhkMGZmODA0YmYzNjY4
Yjc5MGUwZjU2ODRmOWEuLjY5Mzk0YzZhOThmYjk4YjY3YzhjZWNhNWFhMDMxNDJiYTZhYzZjMmEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uaAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmgKQEAgLTEwOCw2
ICsxMDgsNyBAQCBwcml2YXRlOgogICAgIEludFJlY3Qgc2Nyb2xsYWJsZUFyZWFCb3VuZGluZ0Jv
eChib29sKiA9IG51bGxwdHIpIGNvbnN0IG92ZXJyaWRlOwogICAgIGJvb2wgdXBkYXRlc1Njcm9s
bExheWVyUG9zaXRpb25Pbk1haW5UaHJlYWQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiB0cnVl
OyB9CiAgICAgYm9vbCBmb3JjZVVwZGF0ZVNjcm9sbGJhcnNPbk1haW5UaHJlYWRGb3JQZXJmb3Jt
YW5jZVRlc3RpbmcoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQorICAgIGJvb2wg
c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0IG92ZXJyaWRl
IHsgcmV0dXJuIGZhbHNlOyB9CiAKICAgICAvLyBOT1RFOiBUaGlzIHNob3VsZCBvbmx5IGJlIGNh
bGxlZCBieSB0aGUgb3ZlcnJpZGVuIHNldFNjcm9sbE9mZnNldCBmcm9tIFNjcm9sbGFibGVBcmVh
LgogICAgIHZvaWQgc2Nyb2xsVG8oaW50IG9mZnNldCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJsb2NrLmNwcAppbmRleCBiN2UyZDliMDlkY2VmNzRjM2NmN2FjZGQwNDJlY2JjNTE0
OGYxZWRiLi42YjIzNWNhOTYyMjcwYTA0ZDNmOWEyNDkxMGIwYThmM2Q5ODA1NDM1IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKQEAgLTIyODAsNyArMjI4MCw3IEBA
IExheW91dFVuaXQgUmVuZGVyQmxvY2s6OnRleHRJbmRlbnRPZmZzZXQoKSBjb25zdAogTGF5b3V0
VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KFJlbmRlclJlZ2lv
biogcmVnaW9uKSBjb25zdAogewogICAgIExheW91dFVuaXQgbG9naWNhbExlZnRPZmZzZXQgPSBz
dHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBib3JkZXJMZWZ0KCkgKyBwYWRkaW5n
TGVmdCgpIDogYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCk7Ci0gICAgaWYgKHN0eWxlKCkuc2hv
dWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgIGlmIChzaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgIGxvZ2ljYWxMZWZ0
T2Zmc2V0ICs9IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsKICAgICBpZiAoIXJlZ2lvbikKICAg
ICAgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0OwpAQCAtMjI5MSw3ICsyMjkxLDcgQEAgTGF5
b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZzZXRGb3JDb250ZW50KFJlbmRlclJl
Z2lvbiogcmVnaW9uKSBjb25zdAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0
T2Zmc2V0Rm9yQ29udGVudChSZW5kZXJSZWdpb24qIHJlZ2lvbikgY29uc3QKIHsKICAgICBMYXlv
dXRVbml0IGxvZ2ljYWxSaWdodE9mZnNldCA9IHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgOiBib3JkZXJUb3AoKSArIHBhZGRp
bmdUb3AoKTsKLSAgICBpZiAoc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSkKICAgICAgICAgbG9naWNhbFJpZ2h0T2Zmc2V0ICs9IHZlcnRpY2FsU2Nyb2xsYmFy
V2lkdGgoKTsKICAgICBsb2dpY2FsUmlnaHRPZmZzZXQgKz0gYXZhaWxhYmxlTG9naWNhbFdpZHRo
KCk7CiAgICAgaWYgKCFyZWdpb24pCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
bG9ja0Zsb3cuY3BwCmluZGV4IDM4YTQxNDhmMTFiZGVhYjhmMTU4MTZmNWYxYzBmYzIxMjU2NThk
NWMuLjliNjIzYzNmN2E5NmYyOGM4NmRlZmFjODY4NDg5ZGFkYzAwY2RlNDggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBAIC04MjgsNyArODI4LDcg
QEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6Om1hcmdpbk9mZnNldEZvclNlbGZDb2xsYXBz
aW5nQmxvY2soKQogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmRldGVybWluZUxvZ2ljYWxMZWZ0UG9z
aXRpb25Gb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkLCBBcHBseUxheW91dERlbHRhTW9kZSBhcHBs
eURlbHRhKQogewogICAgIExheW91dFVuaXQgc3RhcnRQb3NpdGlvbiA9IGJvcmRlclN0YXJ0KCkg
KyBwYWRkaW5nU3RhcnQoKTsKLSAgICBpZiAoc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0
aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25T
Y3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgc3RhcnRQb3NpdGlvbiArPSAoc3R5bGUoKS5pc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyAxIDogLTEpICogdmVydGljYWxTY3JvbGxiYXJXaWR0aCgp
OwogICAgIExheW91dFVuaXQgdG90YWxBdmFpbGFibGVMb2dpY2FsV2lkdGggPSBib3JkZXJBbmRQ
YWRkaW5nTG9naWNhbFdpZHRoKCkgKyBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKIApkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCA3ZjBjYjc2MTM5ZjEyZDI4ZDljZTJl
Y2FmMjk3YjBiNjE1ZTFhMWY5Li5kODg5YThmMDBmYmE4ZDlkZDM5N2U4ZjVkODI5NWZmYmVmMGJj
MzMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjkzLDcgKzY5
Myw3IEBAIFJvdW5kZWRSZWN0OjpSYWRpaSBSZW5kZXJCb3g6OmJvcmRlclJhZGlpKCkgY29uc3QK
IExheW91dFJlY3QgUmVuZGVyQm94Ojpjb250ZW50Qm94UmVjdCgpIGNvbnN0CiB7CiAgICAgTGF5
b3V0VW5pdCB4ID0gYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKLSAgICBpZiAobGF5ZXIo
KSAmJiBsYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkpCisgICAgaWYgKHNob3Vs
ZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgeCArPSB2ZXJ0
aWNhbFNjcm9sbGJhcldpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCB5ID0gYm9yZGVyVG9wKCkgKyBw
YWRkaW5nVG9wKCk7CiAgICAgcmV0dXJuIExheW91dFJlY3QoeCwgeSwgY29udGVudFdpZHRoKCks
IGNvbnRlbnRIZWlnaHQoKSk7CkBAIC0xODI3LDcgKzE4MjcsNyBAQCBMYXlvdXRSZWN0IFJlbmRl
ckJveDo6b3ZlcmZsb3dDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24sIFJlbmRl
clJlZ2lvbgogCiAgICAgLy8gU3VidHJhY3Qgb3V0IHNjcm9sbGJhcnMgaWYgd2UgaGF2ZSB0aGVt
LgogICAgIGlmIChsYXllcigpKSB7Ci0gICAgICAgIGlmIChzdHlsZSgpLnNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICAgICAgaWYgKHNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgICAgIGNsaXBSZWN0Lm1vdmUo
bGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJXaWR0aChyZWxldmFuY3kpLCAwKTsKICAgICAgICAg
Y2xpcFJlY3QuY29udHJhY3QobGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJXaWR0aChyZWxldmFu
Y3kpLCBsYXllcigpLT5ob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KHJlbGV2YW5jeSkpOwogICAg
IH0KQEAgLTM1MzQsNyArMzUzNCw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9zaXRpb25l
ZExvZ2ljYWxXaWR0aChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMmIGNvbXB1CiAgICAgY29t
cHV0ZWRWYWx1ZXMubV9leHRlbnQgKz0gYm9yZGVyc1BsdXNQYWRkaW5nOwogICAgIGlmIChpczxS
ZW5kZXJCb3g+KGNvbnRhaW5lckJsb2NrKSkgewogICAgICAgICBhdXRvJiBjb250YWluaW5nQm94
ID0gZG93bmNhc3Q8UmVuZGVyQm94Pihjb250YWluZXJCbG9jayk7Ci0gICAgICAgIGlmIChjb250
YWluaW5nQm94LmxheWVyKCkgJiYgY29udGFpbmluZ0JveC5sYXllcigpLT52ZXJ0aWNhbFNjcm9s
bGJhcklzT25MZWZ0KCkpCisgICAgICAgIGlmIChjb250YWluaW5nQm94LnNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgICAgIGNvbXB1dGVkVmFsdWVz
Lm1fcG9zaXRpb24gKz0gY29udGFpbmluZ0JveC52ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7CiAg
ICAgfQogICAgIApAQCAtNDkwNyw3ICs0OTA3LDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJCb3g6OmZs
aXBwZWRDbGllbnRCb3hSZWN0KCkgY29uc3QKICAgICBmbGlwRm9yV3JpdGluZ01vZGUocmVjdCk7
CiAgICAgLy8gU3VidHJhY3Qgc3BhY2Ugb2NjdXBpZWQgYnkgc2Nyb2xsYmFycy4gVGhleSBhcmUg
YXQgdGhlaXIgcGh5c2ljYWwgZWRnZSBpbiB0aGlzIGNvb3JkaW5hdGUKICAgICAvLyBzeXN0ZW0s
IHNvIG9yZGVyIGlzIGltcG9ydGFudCBoZXJlOiBmaXJzdCBmbGlwLCB0aGVuIHN1YnRyYWN0IHNj
cm9sbGJhcnMuCi0gICAgaWYgKHN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpICYmIHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQorICAgIGlm
IChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgc3R5bGUoKS5p
c0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgIHJlY3QubW92ZSh2ZXJ0aWNhbFNjcm9s
bGJhcldpZHRoKCksIDApOwogICAgIHJlY3QuY29udHJhY3QodmVydGljYWxTY3JvbGxiYXJXaWR0
aCgpLCBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCkpOwogICAgIHJldHVybiByZWN0OwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKaW5k
ZXggYTM2NDZlMzEzYTAyNDY2Y2E5OTMzOTBjOTBiZGMwMjg0MTg3ZDU3Ni4uOTc3MGM3MGExYTkx
ZGZkMDNkYjBjNGRiNGI5ODBkMjExYjkxYjRiNCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC00NTIsNyArNDUyLDcgQEAgRmxv
YXRSZWN0IFJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb25zdHJhaW5pbmdSZWN0Rm9yU3RpY2t5UG9z
aXRpb24oKSBjb25zdAogICAgICAgICBGbG9hdFBvaW50IHNjcm9sbE9mZnNldCA9IEZsb2F0UG9p
bnQoKSArIGVuY2xvc2luZ0NsaXBwaW5nTGF5ZXItPnNjcm9sbE9mZnNldCgpOwogCiAgICAgICAg
IGZsb2F0IHNjcm9sbGJhck9mZnNldCA9IDA7Ci0gICAgICAgIGlmIChlbmNsb3NpbmdDbGlwcGlu
Z0JveC5oYXNMYXllcigpICYmIGVuY2xvc2luZ0NsaXBwaW5nQm94LnN0eWxlKCkuc2hvdWxkUGxh
Y2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgICAgICBpZiAoZW5jbG9zaW5n
Q2xpcHBpbmdCb3guaGFzTGF5ZXIoKSAmJiBlbmNsb3NpbmdDbGlwcGluZ0JveC5zaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgICAgICBzY3JvbGxiYXJP
ZmZzZXQgPSBlbmNsb3NpbmdDbGlwcGluZ0JveC5sYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcldp
ZHRoKElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplKTsKIAogICAgICAgICBjb25zdHJhaW5pbmdS
ZWN0LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoc2Nyb2xsT2Zmc2V0LngoKSArIHNjcm9sbGJhck9m
ZnNldCwgc2Nyb2xsT2Zmc2V0LnkoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllci5jcHAKaW5kZXggODcyY2I4OWY0NzlmOTc1NTMzMDczZDJjOTMyNmY3YWYyMTA5YWI0My4u
NDgyOTNmN2ZiMWRlZTBkNjJlOWU4MzMxYmRmODIxNDFkN2I2MzhkZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCkBAIC0yNjg5LDcgKzI2ODksNyBAQCB2b2lkIFJl
bmRlckxheWVyOjpyZXNpemUoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldnQsIGNvbnN0IExh
eW91dFNpemUmIG9sZE9mZgogICAgIGVsZW1lbnQtPnNldE1pbmltdW1TaXplRm9yUmVzaXppbmco
bWluaW11bVNpemUpOwogICAgIAogICAgIExheW91dFNpemUgYWRqdXN0ZWRPbGRPZmZzZXQgPSBM
YXlvdXRTaXplKG9sZE9mZnNldC53aWR0aCgpIC8gem9vbUZhY3Rvciwgb2xkT2Zmc2V0LmhlaWdo
dCgpIC8gem9vbUZhY3Rvcik7Ci0gICAgaWYgKHJlbmRlcmVyLT5zdHlsZSgpLnNob3VsZFBsYWNl
QmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkgeworICAgIGlmIChzaG91bGRQbGFjZUJs
b2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpIHsKICAgICAgICAgbmV3T2Zmc2V0LnNldFdp
ZHRoKC1uZXdPZmZzZXQud2lkdGgoKSk7CiAgICAgICAgIGFkanVzdGVkT2xkT2Zmc2V0LnNldFdp
ZHRoKC1hZGp1c3RlZE9sZE9mZnNldC53aWR0aCgpKTsKICAgICB9CkBAIC0yNzkxLDM0ICsyNzkx
LDM0IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmlzQWN0aXZlKCkgY29uc3QKICAgICByZXR1cm4gcGFn
ZSAmJiBwYWdlLT5mb2N1c0NvbnRyb2xsZXIoKS5pc0FjdGl2ZSgpOwogfQogCi1zdGF0aWMgaW50
IGNvcm5lclN0YXJ0KGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgaW50IG1pblgsIGludCBtYXhY
LCBpbnQgdGhpY2tuZXNzKQorc3RhdGljIGludCBjb3JuZXJTdGFydChjb25zdCBSZW5kZXJMYXll
ciYgbGF5ZXIsIGludCBtaW5YLCBpbnQgbWF4WCwgaW50IHRoaWNrbmVzcykKIHsKLSAgICBpZiAo
bGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KCkpCi0gICAgICAgIHJldHVybiBtaW5YICsgbGF5ZXItPnJlbmRlcmVyKCkuc3R5
bGUoKS5ib3JkZXJMZWZ0V2lkdGgoKTsKLSAgICByZXR1cm4gbWF4WCAtIHRoaWNrbmVzcyAtIGxh
eWVyLT5yZW5kZXJlcigpLnN0eWxlKCkuYm9yZGVyUmlnaHRXaWR0aCgpOworICAgIGlmIChsYXll
ci5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgICAgIHJl
dHVybiBtaW5YICsgbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckxlZnRXaWR0aCgpOwor
ICAgIHJldHVybiBtYXhYIC0gdGhpY2tuZXNzIC0gbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJv
cmRlclJpZ2h0V2lkdGgoKTsKIH0KIAotc3RhdGljIExheW91dFJlY3QgY29ybmVyUmVjdChjb25z
dCBSZW5kZXJMYXllciogbGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIGJvdW5kcykKK3N0YXRpYyBM
YXlvdXRSZWN0IGNvcm5lclJlY3QoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBjb25zdCBMYXlv
dXRSZWN0JiBib3VuZHMpCiB7CiAgICAgaW50IGhvcml6b250YWxUaGlja25lc3M7CiAgICAgaW50
IHZlcnRpY2FsVGhpY2tuZXNzOwotICAgIGlmICghbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCkg
JiYgIWxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKKyAgICBpZiAoIWxheWVyLnZlcnRp
Y2FsU2Nyb2xsYmFyKCkgJiYgIWxheWVyLmhvcml6b250YWxTY3JvbGxiYXIoKSkgewogICAgICAg
ICAvLyBGSVhNRTogVGhpcyBpc24ndCByaWdodC4gIFdlIG5lZWQgdG8ga25vdyB0aGUgdGhpY2tu
ZXNzIG9mIGN1c3RvbSBzY3JvbGxiYXJzCiAgICAgICAgIC8vIGV2ZW4gd2hlbiB0aGV5IGRvbid0
IGV4aXN0IGluIG9yZGVyIHRvIHNldCB0aGUgcmVzaXplciBzcXVhcmUgc2l6ZSBwcm9wZXJseS4K
ICAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnNj
cm9sbGJhclRoaWNrbmVzcygpOwogICAgICAgICB2ZXJ0aWNhbFRoaWNrbmVzcyA9IGhvcml6b250
YWxUaGlja25lc3M7Ci0gICAgfSBlbHNlIGlmIChsYXllci0+dmVydGljYWxTY3JvbGxiYXIoKSAm
JiAhbGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKSkgewotICAgICAgICBob3Jpem9udGFsVGhp
Y2tuZXNzID0gbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCktPndpZHRoKCk7CisgICAgfSBlbHNl
IGlmIChsYXllci52ZXJ0aWNhbFNjcm9sbGJhcigpICYmICFsYXllci5ob3Jpem9udGFsU2Nyb2xs
YmFyKCkpIHsKKyAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLnZlcnRpY2FsU2Ny
b2xsYmFyKCktPndpZHRoKCk7CiAgICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gaG9yaXpvbnRh
bFRoaWNrbmVzczsKLSAgICB9IGVsc2UgaWYgKGxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkg
JiYgIWxheWVyLT52ZXJ0aWNhbFNjcm9sbGJhcigpKSB7Ci0gICAgICAgIHZlcnRpY2FsVGhpY2tu
ZXNzID0gbGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKS0+aGVpZ2h0KCk7CisgICAgfSBlbHNl
IGlmIChsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgIWxheWVyLnZlcnRpY2FsU2Nyb2xs
YmFyKCkpIHsKKyAgICAgICAgdmVydGljYWxUaGlja25lc3MgPSBsYXllci5ob3Jpem9udGFsU2Ny
b2xsYmFyKCktPmhlaWdodCgpOwogICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gdmVydGlj
YWxUaGlja25lc3M7CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9
IGxheWVyLT52ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0aCgpOwotICAgICAgICB2ZXJ0aWNhbFRo
aWNrbmVzcyA9IGxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmhlaWdodCgpOworICAgICAg
ICBob3Jpem9udGFsVGhpY2tuZXNzID0gbGF5ZXIudmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgo
KTsKKyAgICAgICAgdmVydGljYWxUaGlja25lc3MgPSBsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFy
KCktPmhlaWdodCgpOwogICAgIH0KICAgICByZXR1cm4gTGF5b3V0UmVjdChjb3JuZXJTdGFydChs
YXllciwgYm91bmRzLngoKSwgYm91bmRzLm1heFgoKSwgaG9yaXpvbnRhbFRoaWNrbmVzcyksCi0g
ICAgICAgIGJvdW5kcy5tYXhZKCkgLSB2ZXJ0aWNhbFRoaWNrbmVzcyAtIGxheWVyLT5yZW5kZXJl
cigpLnN0eWxlKCkuYm9yZGVyQm90dG9tV2lkdGgoKSwKKyAgICAgICAgYm91bmRzLm1heFkoKSAt
IHZlcnRpY2FsVGhpY2tuZXNzIC0gbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckJvdHRv
bVdpZHRoKCksCiAgICAgICAgIGhvcml6b250YWxUaGlja25lc3MsIHZlcnRpY2FsVGhpY2tuZXNz
KTsKIH0KIApAQCAtMjgzMywxNCArMjgzMywxNCBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjpzY3Jv
bGxDb3JuZXJSZWN0KCkgY29uc3QKICAgICBib29sIGhhc1ZlcnRpY2FsQmFyID0gbV92QmFyICYm
ICFtX3ZCYXItPmlzT3ZlcmxheVNjcm9sbGJhcigpOwogICAgIGJvb2wgaGFzUmVzaXplciA9IHJl
bmRlcmVyKCkuc3R5bGUoKS5yZXNpemUoKSAhPSBSRVNJWkVfTk9ORTsKICAgICBpZiAoKGhhc0hv
cml6b250YWxCYXIgJiYgaGFzVmVydGljYWxCYXIpIHx8IChoYXNSZXNpemVyICYmIChoYXNIb3Jp
em9udGFsQmFyIHx8IGhhc1ZlcnRpY2FsQmFyKSkpCi0gICAgICAgIHJldHVybiBzbmFwcGVkSW50
UmVjdChjb3JuZXJSZWN0KHRoaXMsIHJlbmRlckJveCgpLT5ib3JkZXJCb3hSZWN0KCkpKTsKKyAg
ICAgICAgcmV0dXJuIHNuYXBwZWRJbnRSZWN0KGNvcm5lclJlY3QoKnRoaXMsIHJlbmRlckJveCgp
LT5ib3JkZXJCb3hSZWN0KCkpKTsKICAgICByZXR1cm4gSW50UmVjdCgpOwogfQogCi1zdGF0aWMg
TGF5b3V0UmVjdCByZXNpemVyQ29ybmVyUmVjdChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNv
bnN0IExheW91dFJlY3QmIGJvdW5kcykKK3N0YXRpYyBMYXlvdXRSZWN0IHJlc2l6ZXJDb3JuZXJS
ZWN0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllciwgY29uc3QgTGF5b3V0UmVjdCYgYm91bmRzKQog
ewotICAgIEFTU0VSVChsYXllci0+cmVuZGVyZXIoKS5pc0JveCgpKTsKLSAgICBpZiAobGF5ZXIt
PnJlbmRlcmVyKCkuc3R5bGUoKS5yZXNpemUoKSA9PSBSRVNJWkVfTk9ORSkKKyAgICBBU1NFUlQo
bGF5ZXIucmVuZGVyZXIoKS5pc0JveCgpKTsKKyAgICBpZiAobGF5ZXIucmVuZGVyZXIoKS5zdHls
ZSgpLnJlc2l6ZSgpID09IFJFU0laRV9OT05FKQogICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgp
OwogICAgIHJldHVybiBjb3JuZXJSZWN0KGxheWVyLCBib3VuZHMpOwogfQpAQCAtMjg1Miw3ICsy
ODUyLDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJMYXllcjo6c2Nyb2xsQ29ybmVyQW5kUmVzaXplclJl
Y3QoKSBjb25zdAogICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwogICAgIExheW91dFJlY3Qg
c2Nyb2xsQ29ybmVyQW5kUmVzaXplciA9IHNjcm9sbENvcm5lclJlY3QoKTsKICAgICBpZiAoc2Ny
b2xsQ29ybmVyQW5kUmVzaXplci5pc0VtcHR5KCkpCi0gICAgICAgIHNjcm9sbENvcm5lckFuZFJl
c2l6ZXIgPSByZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSk7Cisg
ICAgICAgIHNjcm9sbENvcm5lckFuZFJlc2l6ZXIgPSByZXNpemVyQ29ybmVyUmVjdCgqdGhpcywg
Ym94LT5ib3JkZXJCb3hSZWN0KCkpOwogICAgIHJldHVybiBzY3JvbGxDb3JuZXJBbmRSZXNpemVy
OwogfQogCkBAIC0yOTk2LDcgKzI5OTYsNyBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjpyZWN0Rm9y
VmVydGljYWxTY3JvbGxiYXIoY29uc3QgSW50UmVjdCYgYm9yZGVyQm94UmVjdCkgY29ucwogTGF5
b3V0VW5pdCBSZW5kZXJMYXllcjo6dmVydGljYWxTY3JvbGxiYXJTdGFydChpbnQgbWluWCwgaW50
IG1heFgpIGNvbnN0CiB7CiAgICAgY29uc3QgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsK
LSAgICBpZiAocmVuZGVyZXIoKS5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3Jv
bGxiYXJPbkxlZnQoKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJh
ck9uTGVmdCgpKQogICAgICAgICByZXR1cm4gbWluWCArIGJveC0+Ym9yZGVyTGVmdCgpOwogICAg
IHJldHVybiBtYXhYIC0gYm94LT5ib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgpOwogfQpA
QCAtMzAwNSw4ICszMDA1LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJMYXllcjo6aG9yaXpvbnRhbFNj
cm9sbGJhclN0YXJ0KGludCBtaW5YKSBjb25zdAogewogICAgIGNvbnN0IFJlbmRlckJveCogYm94
ID0gcmVuZGVyQm94KCk7CiAgICAgaW50IHggPSBtaW5YICsgYm94LT5ib3JkZXJMZWZ0KCk7Ci0g
ICAgaWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KCkpCi0gICAgICAgIHggKz0gbV92QmFyID8gbV92QmFyLT53aWR0aCgpIDogcm91
bmRUb0ludChyZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSkud2lk
dGgoKSk7CisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KSkKKyAgICAgICAgeCArPSBtX3ZCYXIgPyBtX3ZCYXItPndpZHRoKCkgOiByb3VuZFRvSW50KHJl
c2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSkud2lkdGgoKSk7CiAg
ICAgcmV0dXJuIHg7CiB9CiAKQEAgLTMyNzAsNyArMzI3MCw3IEBAIEludFNpemUgUmVuZGVyTGF5
ZXI6Om9mZnNldEZyb21SZXNpemVDb3JuZXIoY29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQp
IGNvbnN0CiAgICAgLy8gQ3VycmVudGx5IHRoZSByZXNpemUgY29ybmVyIGlzIGVpdGhlciB0aGUg
Ym90dG9tIHJpZ2h0IGNvcm5lciBvciB0aGUgYm90dG9tIGxlZnQgY29ybmVyLgogICAgIC8vIEZJ
WE1FOiBUaGlzIGFzc3VtZXMgdGhlIGxvY2F0aW9uIGlzIDAsIDAuIElzIHRoaXMgZ3VhcmFudGVl
ZCB0byBhbHdheXMgYmUgdGhlIGNhc2U/CiAgICAgSW50U2l6ZSBlbGVtZW50U2l6ZSA9IHNpemUo
KTsKLSAgICBpZiAocmVuZGVyZXIoKS5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25T
Y3JvbGxiYXJPbkxlZnQoKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpKQogICAgICAgICBlbGVtZW50U2l6ZS5zZXRXaWR0aCgwKTsKICAgICBJbnRQ
b2ludCByZXNpemVyUG9pbnQgPSBJbnRQb2ludChlbGVtZW50U2l6ZSk7CiAgICAgSW50UG9pbnQg
bG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQ
b2ludCkpOwpAQCAtMzMwOSw3ICszMzA5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cG9zaXRpb25P
dmVyZmxvd0NvbnRyb2xzKGNvbnN0IEludFNpemUmIG9mZnNldEZyb21Sb290KQogICAgIGlmICht
X3Njcm9sbENvcm5lcikKICAgICAgICAgbV9zY3JvbGxDb3JuZXItPnNldEZyYW1lUmVjdChzY3Jv
bGxDb3JuZXIpOwogICAgIGlmIChtX3Jlc2l6ZXIpCi0gICAgICAgIG1fcmVzaXplci0+c2V0RnJh
bWVSZWN0KHJlc2l6ZXJDb3JuZXJSZWN0KHRoaXMsIGJvcmRlckJveCkpOworICAgICAgICBtX3Jl
c2l6ZXItPnNldEZyYW1lUmVjdChyZXNpemVyQ29ybmVyUmVjdCgqdGhpcywgYm9yZGVyQm94KSk7
CiAKICAgICBpZiAoaXNDb21wb3NpdGVkKCkpCiAgICAgICAgIGJhY2tpbmcoKS0+cG9zaXRpb25P
dmVyZmxvd0NvbnRyb2xzTGF5ZXJzKCk7CkBAIC0zMzY3LDE4ICszMzY3LDE4IEBAIExheW91dFVu
aXQgUmVuZGVyTGF5ZXI6Om92ZXJmbG93UmlnaHQoKSBjb25zdAogCiB2b2lkIFJlbmRlckxheWVy
Ojpjb21wdXRlU2Nyb2xsRGltZW5zaW9ucygpCiB7Ci0gICAgUmVuZGVyQm94KiBib3ggPSByZW5k
ZXJCb3goKTsKLSAgICBBU1NFUlQoYm94KTsKKyAgICBSZW5kZXJCb3gmIGJveCA9ICpyZW5kZXJC
b3goKTsKKyAgICBBU1NFUlQoJmJveCk7CiAKICAgICBtX3Njcm9sbERpbWVuc2lvbnNEaXJ0eSA9
IGZhbHNlOwogCiAgICAgbV9zY3JvbGxTaXplLnNldFdpZHRoKG92ZXJmbG93UmlnaHQoKSAtIG92
ZXJmbG93TGVmdCgpKTsKICAgICBtX3Njcm9sbFNpemUuc2V0SGVpZ2h0KG92ZXJmbG93Qm90dG9t
KCkgLSBvdmVyZmxvd1RvcCgpKTsKIAotICAgIGludCBzY3JvbGxhYmxlTGVmdE92ZXJmbG93ID0g
b3ZlcmZsb3dMZWZ0KCkgLSBib3gtPmJvcmRlckxlZnQoKTsKLSAgICBpZiAoYm94LT5zdHlsZSgp
LmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSAmJiBib3gtPnN0eWxlKCkuc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIG1fdkJhcikKKyAgICBpbnQgc2Nyb2xsYWJs
ZUxlZnRPdmVyZmxvdyA9IG92ZXJmbG93TGVmdCgpIC0gYm94LmJvcmRlckxlZnQoKTsKKyAgICBp
ZiAoYm94LnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpICYmIGJveC5zaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92QmFyKQogICAgICAgICBzY3Jv
bGxhYmxlTGVmdE92ZXJmbG93IC09IG1fdkJhci0+b2NjdXBpZWRXaWR0aCgpOwotICAgIGludCBz
Y3JvbGxhYmxlVG9wT3ZlcmZsb3cgPSBvdmVyZmxvd1RvcCgpIC0gYm94LT5ib3JkZXJUb3AoKTsK
KyAgICBpbnQgc2Nyb2xsYWJsZVRvcE92ZXJmbG93ID0gb3ZlcmZsb3dUb3AoKSAtIGJveC5ib3Jk
ZXJUb3AoKTsKICAgICBzZXRTY3JvbGxPcmlnaW4oSW50UG9pbnQoLXNjcm9sbGFibGVMZWZ0T3Zl
cmZsb3csIC1zY3JvbGxhYmxlVG9wT3ZlcmZsb3cpKTsKIH0KIApAQCAtMzU1MSw3ICszNTUxLDcg
QEAgYm9vbCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dDb250cm9sc0ludGVyc2VjdFJlY3QoY29uc3Qg
SW50UmVjdCYgbG9jYWxSZWN0KSBjb25zdAogICAgIGlmIChzY3JvbGxDb3JuZXJSZWN0KCkuaW50
ZXJzZWN0cyhsb2NhbFJlY3QpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICAKLSAgICBpZiAo
cmVzaXplckNvcm5lclJlY3QodGhpcywgYm9yZGVyQm94KS5pbnRlcnNlY3RzKGxvY2FsUmVjdCkp
CisgICAgaWYgKHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBib3JkZXJCb3gpLmludGVyc2VjdHMo
bG9jYWxSZWN0KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAKICAgICByZXR1cm4gZmFsc2U7CkBA
IC0zNjcwLDcgKzM2NzAsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpkcmF3UGxhdGZvcm1SZXNpemVy
SW1hZ2UoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXlvdQogICAgICAgICBjb3Ju
ZXJSZXNpemVyU2l6ZSA9IHJlc2l6ZUNvcm5lckltYWdlLT5zaXplKCk7CiAgICAgfQogCi0gICAg
aWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFy
T25MZWZ0KCkpIHsKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpKSB7CiAgICAgICAgIGNvbnRleHQuc2F2ZSgpOwogICAgICAgICBjb250ZXh0LnRyYW5z
bGF0ZShyZXNpemVyQ29ybmVyUmVjdC54KCkgKyBjb3JuZXJSZXNpemVyU2l6ZS53aWR0aCgpLCBy
ZXNpemVyQ29ybmVyUmVjdC55KCkgKyByZXNpemVyQ29ybmVyUmVjdC5oZWlnaHQoKSAtIGNvcm5l
clJlc2l6ZXJTaXplLmhlaWdodCgpKTsKICAgICAgICAgY29udGV4dC5zY2FsZShGbG9hdFNpemUo
LTEuMCwgMS4wKSk7CkBAIC0zNjk0LDcgKzM2OTQsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpwYWlu
dFJlc2l6ZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBMYXlvdXRQb2ludCYgcGFp
bgogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94KCk7CiAgICAgQVNTRVJUKGJveCk7CiAK
LSAgICBMYXlvdXRSZWN0IGFic1JlY3QgPSByZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJv
cmRlckJveFJlY3QoKSk7CisgICAgTGF5b3V0UmVjdCBhYnNSZWN0ID0gcmVzaXplckNvcm5lclJl
Y3QoKnRoaXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKTsKICAgICBhYnNSZWN0Lm1vdmVCeShwYWlu
dE9mZnNldCk7CiAgICAgaWYgKCFhYnNSZWN0LmludGVyc2VjdHMoZGFtYWdlUmVjdCkpCiAgICAg
ICAgIHJldHVybjsKQEAgLTM3MzYsNyArMzczNiw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmlzUG9p
bnRJblJlc2l6ZUNvbnRyb2woY29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQpIGNvbnN0CiAg
ICAgSW50UG9pbnQgbG9jYWxQb2ludCA9IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRvQ29udGVu
dHMoYWJzb2x1dGVQb2ludCkpOwogCiAgICAgSW50UmVjdCBsb2NhbEJvdW5kcyhJbnRQb2ludCgp
LCBzbmFwcGVkSW50UmVjdChib3gtPmZyYW1lUmVjdCgpKS5zaXplKCkpOwotICAgIHJldHVybiBy
ZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBsb2NhbEJvdW5kcykuY29udGFpbnMobG9jYWxQb2ludCk7
CisgICAgcmV0dXJuIHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBsb2NhbEJvdW5kcykuY29udGFp
bnMobG9jYWxQb2ludCk7CiB9CiAKIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RPdmVyZmxvd0Nv
bnRyb2xzKEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9pbnQmIGxvY2FsUG9pbnQp
CkBAIC0zNzQ5LDcgKzM3NDksNyBAQCBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0T3ZlcmZsb3dD
b250cm9scyhIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JgogICAgIAogICAg
IEludFJlY3QgcmVzaXplQ29udHJvbFJlY3Q7CiAgICAgaWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5y
ZXNpemUoKSAhPSBSRVNJWkVfTk9ORSkgewotICAgICAgICByZXNpemVDb250cm9sUmVjdCA9IHNu
YXBwZWRJbnRSZWN0KHJlc2l6ZXJDb3JuZXJSZWN0KHRoaXMsIGJveC0+Ym9yZGVyQm94UmVjdCgp
KSk7CisgICAgICAgIHJlc2l6ZUNvbnRyb2xSZWN0ID0gc25hcHBlZEludFJlY3QocmVzaXplckNv
cm5lclJlY3QoKnRoaXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKSk7CiAgICAgICAgIGlmIChyZXNp
emVDb250cm9sUmVjdC5jb250YWlucyhsb2NhbFBvaW50KSkKICAgICAgICAgICAgIHJldHVybiB0
cnVlOwogICAgIH0KQEAgLTUyMjgsNyArNTIyOCw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRl
c3RSZXNpemVySW5GcmFnbWVudHMoY29uc3QgTGF5ZXJGcmFnbWVudHMmIGxheWVyRnJhZ21lbnRz
CiAKICAgICBmb3IgKGludCBpID0gbGF5ZXJGcmFnbWVudHMuc2l6ZSgpIC0gMTsgaSA+PSAwOyAt
LWkpIHsKICAgICAgICAgY29uc3QgTGF5ZXJGcmFnbWVudCYgZnJhZ21lbnQgPSBsYXllckZyYWdt
ZW50cy5hdChpKTsKLSAgICAgICAgaWYgKGZyYWdtZW50LmJhY2tncm91bmRSZWN0LmludGVyc2Vj
dHMoaGl0VGVzdExvY2F0aW9uKSAmJiByZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBzbmFwcGVkSW50
UmVjdChmcmFnbWVudC5sYXllckJvdW5kcykpLmNvbnRhaW5zKGhpdFRlc3RMb2NhdGlvbi5yb3Vu
ZGVkUG9pbnQoKSkpCisgICAgICAgIGlmIChmcmFnbWVudC5iYWNrZ3JvdW5kUmVjdC5pbnRlcnNl
Y3RzKGhpdFRlc3RMb2NhdGlvbikgJiYgcmVzaXplckNvcm5lclJlY3QoKnRoaXMsIHNuYXBwZWRJ
bnRSZWN0KGZyYWdtZW50LmxheWVyQm91bmRzKSkuY29udGFpbnMoaGl0VGVzdExvY2F0aW9uLnJv
dW5kZWRQb2ludCgpKSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KICAgICAKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKaW5kZXggZGU3ZDhkYmI3NWUzYjQ1MTA0
ZjFlMzJiYzAwZTQyNWFmZWE3MDk5ZS4uOTJmN2I1NTNkMzQ2MjE4N2U3ZTMxODQwYzU3YzAyNTI4
YTcyZDFhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKQEAgLTY3MSw2
ICs2NzEsOCBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJMYXllciogZW5jbG9zaW5nRmxvd1RocmVh
ZEFuY2VzdG9yKCkgY29uc3Q7CiAKKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25T
Y3JvbGxiYXJPbkxlZnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiByZW5kZXJlcigpLnNob3Vs
ZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsgfQorCiBwcml2YXRlOgogICAg
IGVudW0gQ29sbGVjdExheWVyc0JlaGF2aW9yIHsgU3RvcEF0U3RhY2tpbmdDb250ZXh0cywgU3Rv
cEF0U3RhY2tpbmdDb250YWluZXJzIH07CiAKQEAgLTk5Nyw3ICs5OTksNiBAQCBwcml2YXRlOgog
CiAgICAgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIGN1cnJlbnRSZW5kZXJOYW1lZEZsb3dGcmFn
bWVudCgpIGNvbnN0OwogCi1wcml2YXRlOgogICAgIC8vIFRoZSBiaXRmaWVsZHMgYXJlIHVwIGhl
cmUgc28gdGhleSB3aWxsIGZhbGwgaW50byB0aGUgcGFkZGluZyBmcm9tIFNjcm9sbGFibGVBcmVh
IG9uIDY0LWJpdC4KIAogICAgIGNvbnN0IGJvb2wgbV9pc1Jvb3RMYXllciA6IDE7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCmluZGV4
IDEzNWRkMWIyNmEyNGNkOTIyZDY4MGQwZDgxNGM2ZDZlMTNjYzQ3NzQuLjZiM2FkMGEzZjRhMzA1
NmEwZGE0NDRlMGJlOWFmYWI4MzBiZTQ2ZGUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBAIC0xNzYzLDcgKzE3NjMsNyBAQCBG
bG9hdFBvaW50IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cG9zaXRpb25Gb3JDbGlwTGF5ZXIoKSBj
b25zdAogICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gbV9yZW5kZXJWaWV3LmZyYW1lVmlldygp
OwogCiAgICAgcmV0dXJuIEZsb2F0UG9pbnQoCi0gICAgICAgIGZyYW1lVmlldy52ZXJ0aWNhbFNj
cm9sbGJhcklzT25MZWZ0KCkgPyBmcmFtZVZpZXcuaG9yaXpvbnRhbFNjcm9sbGJhckludHJ1c2lv
bigpIDogMCwKKyAgICAgICAgZnJhbWVWaWV3LnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3Jv
bGxiYXJPbkxlZnQoKSA/IGZyYW1lVmlldy5ob3Jpem9udGFsU2Nyb2xsYmFySW50cnVzaW9uKCkg
OiAwLAogICAgICAgICBGcmFtZVZpZXc6OnlQb3NpdGlvbkZvckluc2V0Q2xpcExheWVyKGZyYW1l
Vmlldy5zY3JvbGxQb3NpdGlvbigpLCBmcmFtZVZpZXcudG9wQ29udGVudEluc2V0KCkpKTsKIH0K
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxP
YmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QuY3BwCmluZGV4IDFjNDNmNjg5Mzk0MGNlNzgyMDMzMmEzMzYwZWFlMzliM2E1ZDQ0ZDMuLmM1
Y2ZjMWQzZDU3OTYyZjExMTRkZDY5YWQxNmI5MDYyMjQ1YzUwNTIgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAKQEAgLTI4LDYg
KzI4LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVy
Q29tcG9zaXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcuaCIKKyNpbmNsdWRlICJTZXR0aW5n
cy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTIxMiw1ICsyMTMsMTkgQEAgdm9pZCBS
ZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdHlsZURpZENoYW5nZShTdHlsZURpZmZlcmVuY2UgZGlm
ZiwgY29uc3QgUmVuZGVyU3QKICNlbmRpZgogfQogCitib29sIFJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdAorewor
I2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFVSVJFRCA+PSAx
MDEyMDAKKyAgICBzd2l0Y2ggKGZyYW1lKCkuc2V0dGluZ3MoKS52ZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5KCkpIHsKKyAgICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3k6OkNvbnRlbnQ6CisgICAgICAgIHJldHVybiBzdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsKKyAgICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3k6OlZpZXc6CisgICAgICAgIHJldHVybiBmcmFtZSgpLnNldHRpbmdzKCkuc3lzdGVt
TGF5b3V0RGlyZWN0aW9uKCkgPT0gUlRMOworICAgIH0KKyNlbHNlCisgICAgcmV0dXJuIGZhbHNl
OworI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKaW5kZXggMzNhZjI0YjQx
MmIxMGNmM2QyNTk4N2NjMGU1Y2NlY2E0NmMzMTAzMi4uM2VhNDRjNzZiYzgxNjViM2Y0NDE3OWRj
NzczMzU4MWNmM2U1YzkwOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxheWVyTW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdC5oCkBAIC01MSw2ICs1MSw4IEBAIHB1YmxpYzoKIAogICAgIHZp
cnR1YWwgYm9vbCBpc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQm94KCkgY29uc3QgeyByZXR1
cm4gZmFsc2U7IH0KIAorICAgIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJh
ck9uTGVmdCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVj
dChFbGVtZW50JiwgUmVmPFJlbmRlclN0eWxlPiYmLCBCYXNlVHlwZUZsYWdzKTsKICAgICBSZW5k
ZXJMYXllck1vZGVsT2JqZWN0KERvY3VtZW50JiwgUmVmPFJlbmRlclN0eWxlPiYmLCBCYXNlVHlw
ZUZsYWdzKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0
Qm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRl
eCBkOGE2YjI2MDU5NDExMjgwYWIyNTE1YTc4NTlmZjZkNjI0YWRhNjA0Li5iMTRjNmU0NjQ5NGZh
NGJjYTBiMWY3NmQxYTliZjA5ZjIzNTZhZTdiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxpc3RCb3guY3BwCkBAIC0yNjYsNyArMjY2LDcgQEAgaW50IFJlbmRlckxpc3RCb3g6
OmJhc2VsaW5lUG9zaXRpb24oRm9udEJhc2VsaW5lIGJhc2VsaW5lVHlwZSwgYm9vbCBmaXJzdExp
bmUsIEwKIExheW91dFJlY3QgUmVuZGVyTGlzdEJveDo6aXRlbUJvdW5kaW5nQm94UmVjdChjb25z
dCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCwgaW50IGluZGV4KQogewogICAgIExheW91
dFVuaXQgeCA9IGFkZGl0aW9uYWxPZmZzZXQueCgpICsgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xl
ZnQoKTsKLSAgICBpZiAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIG1fdkJhcikKKyAg
ICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIG1fdkJh
cikKICAgICAgICAgeCArPSBtX3ZCYXItPm9jY3VwaWVkV2lkdGgoKTsKICAgICBMYXlvdXRVbml0
IHkgPSBhZGRpdGlvbmFsT2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsg
aXRlbUhlaWdodCgpICogKGluZGV4IC0gbV9pbmRleE9mZnNldCk7CiAgICAgcmV0dXJuIExheW91
dFJlY3QoeCwgeSwgY29udGVudFdpZHRoKCksIGl0ZW1IZWlnaHQoKSk7CkBAIC0zNDUsNyArMzQ1
LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94OjpwYWludFNjcm9sbGJhcihQYWludEluZm8mIHBhaW50
SW5mbywgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW4KICAgICBpZiAoIW1fdkJhcikKICAgICAgICAg
cmV0dXJuOwogCi0gICAgTGF5b3V0VW5pdCBsZWZ0ID0gcGFpbnRPZmZzZXQueCgpICsgKHZlcnRp
Y2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJS
aWdodCgpIC0gbV92QmFyLT53aWR0aCgpKTsKKyAgICBMYXlvdXRVbml0IGxlZnQgPSBwYWludE9m
ZnNldC54KCkgKyAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8g
Ym9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkp
OwogICAgIExheW91dFVuaXQgdG9wID0gcGFpbnRPZmZzZXQueSgpICsgYm9yZGVyVG9wKCk7CiAg
ICAgTGF5b3V0VW5pdCB3aWR0aCA9IG1fdkJhci0+d2lkdGgoKTsKICAgICBMYXlvdXRVbml0IGhl
aWdodCA9IHRoaXMtPmhlaWdodCgpIC0gKGJvcmRlclRvcCgpICsgYm9yZGVyQm90dG9tKCkpOwpA
QCAtNDQ4LDcgKzQ0OCw3IEBAIGJvb2wgUmVuZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dD
b250cm9sKEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgTGF5b3V0CiAgICAgaWYgKCFtX3ZC
YXIgfHwgIW1fdkJhci0+c2hvdWxkUGFydGljaXBhdGVJbkhpdFRlc3RpbmcoKSkKICAgICAgICAg
cmV0dXJuIGZhbHNlOwogCi0gICAgTGF5b3V0VW5pdCB4ID0gYWNjdW11bGF0ZWRPZmZzZXQueCgp
ICsgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkg
LSBib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgpKTsKKyAgICBMYXlvdXRVbml0IHggPSBh
Y2N1bXVsYXRlZE9mZnNldC54KCkgKyAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJh
ck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZC
YXItPndpZHRoKCkpOwogICAgIExheW91dFVuaXQgeSA9IGFjY3VtdWxhdGVkT2Zmc2V0LnkoKSAr
IGJvcmRlclRvcCgpOwogICAgIExheW91dFVuaXQgd2lkdGggPSBtX3ZCYXItPndpZHRoKCk7CiAg
ICAgTGF5b3V0VW5pdCBoZWlnaHQgPSB0aGlzLT5oZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9y
ZGVyQm90dG9tKCk7CkBAIC00NzAsOSArNDcwLDkgQEAgaW50IFJlbmRlckxpc3RCb3g6Omxpc3RJ
bmRleEF0T2Zmc2V0KGNvbnN0IExheW91dFNpemUmIG9mZnNldCkKICAgICAgICAgcmV0dXJuIC0x
OwogCiAgICAgaW50IHNjcm9sbGJhcldpZHRoID0gbV92QmFyID8gbV92QmFyLT53aWR0aCgpIDog
MDsKLSAgICBpZiAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIChvZmZzZXQud2lkdGgo
KSA8IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgKyBzY3JvbGxiYXJXaWR0aCB8fCBvZmZz
ZXQud2lkdGgoKSA+IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gcGFkZGluZ1JpZ2h0KCkpKQor
ICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgKG9m
ZnNldC53aWR0aCgpIDwgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSArIHNjcm9sbGJhcldp
ZHRoIHx8IG9mZnNldC53aWR0aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5n
UmlnaHQoKSkpCiAgICAgICAgIHJldHVybiAtMTsKLSAgICBpZiAoIXZlcnRpY2FsU2Nyb2xsYmFy
SXNPbkxlZnQoKSAmJiAob2Zmc2V0LndpZHRoKCkgPCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVm
dCgpIHx8IG9mZnNldC53aWR0aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5n
UmlnaHQoKSAtIHNjcm9sbGJhcldpZHRoKSkKKyAgICBpZiAoIXNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiAob2Zmc2V0LndpZHRoKCkgPCBib3JkZXJMZWZ0KCkg
KyBwYWRkaW5nTGVmdCgpIHx8IG9mZnNldC53aWR0aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0
KCkgLSBwYWRkaW5nUmlnaHQoKSAtIHNjcm9sbGJhcldpZHRoKSkKICAgICAgICAgcmV0dXJuIC0x
OwogCiAgICAgaW50IG5ld09mZnNldCA9IChvZmZzZXQuaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAt
IHBhZGRpbmdUb3AoKSkgLyBpdGVtSGVpZ2h0KCkgKyBtX2luZGV4T2Zmc2V0OwpAQCAtNzI5LDcg
KzcyOSw3IEBAIExheW91dFJlY3QgUmVuZGVyTGlzdEJveDo6Y29udHJvbENsaXBSZWN0KGNvbnN0
IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0KSBjCiAgICAgLy8gQ2xpcCBhZ2FpbnN0IHRo
ZSBwYWRkaW5nIGJveCwgdG8gZ2l2ZSA8b3B0aW9uPnMgYW5kIG92ZXJsYXkgc2Nyb2xsYmFyIHNv
bWUgZXh0cmEgc3BhY2UKICAgICAvLyB0byBnZXQgcGFpbnRlZC4KICAgICBMYXlvdXRSZWN0IGNs
aXBSZWN0ID0gcGFkZGluZ0JveFJlY3QoKTsKLSAgICBpZiAodmVydGljYWxTY3JvbGxiYXJJc09u
TGVmdCgpICYmICghbGF5ZXIoKSB8fCAhbGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJJc09uTGVm
dCgpKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
KQogICAgICAgICBjbGlwUmVjdC5tb3ZlKG1fdkJhci0+b2NjdXBpZWRXaWR0aCgpLCAwKTsKICAg
ICBjbGlwUmVjdC5tb3ZlQnkoYWRkaXRpb25hbE9mZnNldCk7CiAgICAgcmV0dXJuIGNsaXBSZWN0
OwpAQCAtNzQ0LDE0ICs3NDQsMTQgQEAgYm9vbCBSZW5kZXJMaXN0Qm94Ojppc0FjdGl2ZSgpIGNv
bnN0CiB2b2lkIFJlbmRlckxpc3RCb3g6OmludmFsaWRhdGVTY3JvbGxiYXJSZWN0KFNjcm9sbGJh
ciYgc2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiByZWN0KQogewogICAgIEludFJlY3Qgc2Nyb2xs
UmVjdCA9IHJlY3Q7Ci0gICAgc2Nyb2xsUmVjdC5tb3ZlKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxl
ZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFy
LndpZHRoKCksIGJvcmRlclRvcCgpKTsKKyAgICBzY3JvbGxSZWN0Lm1vdmUoc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAt
IGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKSwgYm9yZGVyVG9wKCkpOwogICAgIHJl
cGFpbnRSZWN0YW5nbGUoc2Nyb2xsUmVjdCk7CiB9CiAKIEludFJlY3QgUmVuZGVyTGlzdEJveDo6
Y29udmVydEZyb21TY3JvbGxiYXJUb0NvbnRhaW5pbmdWaWV3KGNvbnN0IFNjcm9sbGJhciYgc2Ny
b2xsYmFyLCBjb25zdCBJbnRSZWN0JiBzY3JvbGxiYXJSZWN0KSBjb25zdAogewogICAgIEludFJl
Y3QgcmVjdCA9IHNjcm9sbGJhclJlY3Q7Ci0gICAgaW50IHNjcm9sbGJhckxlZnQgPSB2ZXJ0aWNh
bFNjcm9sbGJhcklzT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmln
aHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOworICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gc2hvdWxk
UGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lk
dGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKICAgICBpbnQgc2Nyb2xs
YmFyVG9wID0gYm9yZGVyVG9wKCk7CiAgICAgcmVjdC5tb3ZlKHNjcm9sbGJhckxlZnQsIHNjcm9s
bGJhclRvcCk7CiAgICAgcmV0dXJuIHZpZXcoKS5mcmFtZVZpZXcoKS5jb252ZXJ0RnJvbVJlbmRl
cmVyVG9Db250YWluaW5nVmlldyh0aGlzLCByZWN0KTsKQEAgLTc2MCw3ICs3NjAsNyBAQCBJbnRS
ZWN0IFJlbmRlckxpc3RCb3g6OmNvbnZlcnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyhj
b25zdCBTY3JvbGxiYXImIHNjcgogSW50UmVjdCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbUNv
bnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIoY29uc3QgU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0
IEludFJlY3QmIHBhcmVudFJlY3QpIGNvbnN0CiB7CiAgICAgSW50UmVjdCByZWN0ID0gdmlldygp
LmZyYW1lVmlldygpLmNvbnZlcnRGcm9tQ29udGFpbmluZ1ZpZXdUb1JlbmRlcmVyKHRoaXMsIHBh
cmVudFJlY3QpOwotICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gdmVydGljYWxTY3JvbGxiYXJJc09u
TGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxi
YXIud2lkdGgoKTsKKyAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJS
aWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCk7CiAgICAgaW50IHNjcm9sbGJhclRvcCA9IGJvcmRl
clRvcCgpOwogICAgIHJlY3QubW92ZSgtc2Nyb2xsYmFyTGVmdCwgLXNjcm9sbGJhclRvcCk7CiAg
ICAgcmV0dXJuIHJlY3Q7CkBAIC03NjksNyArNzY5LDcgQEAgSW50UmVjdCBSZW5kZXJMaXN0Qm94
Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIoY29uc3QgU2Nyb2xsYmFyJiBz
Y3IKIEludFBvaW50IFJlbmRlckxpc3RCb3g6OmNvbnZlcnRGcm9tU2Nyb2xsYmFyVG9Db250YWlu
aW5nVmlldyhjb25zdCBTY3JvbGxiYXImIHNjcm9sbGJhciwgY29uc3QgSW50UG9pbnQmIHNjcm9s
bGJhclBvaW50KSBjb25zdAogewogICAgIEludFBvaW50IHBvaW50ID0gc2Nyb2xsYmFyUG9pbnQ7
Ci0gICAgaW50IHNjcm9sbGJhckxlZnQgPSB2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBi
b3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgp
OworICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBz
Y3JvbGxiYXIud2lkdGgoKTsKICAgICBpbnQgc2Nyb2xsYmFyVG9wID0gYm9yZGVyVG9wKCk7CiAg
ICAgcG9pbnQubW92ZShzY3JvbGxiYXJMZWZ0LCBzY3JvbGxiYXJUb3ApOwogICAgIHJldHVybiB2
aWV3KCkuZnJhbWVWaWV3KCkuY29udmVydEZyb21SZW5kZXJlclRvQ29udGFpbmluZ1ZpZXcodGhp
cywgcG9pbnQpOwpAQCAtNzc4LDcgKzc3OCw3IEBAIEludFBvaW50IFJlbmRlckxpc3RCb3g6OmNv
bnZlcnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyhjb25zdCBTY3JvbGxiYXImIHNjCiBJ
bnRQb2ludCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxi
YXIoY29uc3QgU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IEludFBvaW50JiBwYXJlbnRQb2lu
dCkgY29uc3QKIHsKICAgICBJbnRQb2ludCBwb2ludCA9IHZpZXcoKS5mcmFtZVZpZXcoKS5jb252
ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9SZW5kZXJlcih0aGlzLCBwYXJlbnRQb2ludCk7Ci0gICAg
aW50IHNjcm9sbGJhckxlZnQgPSB2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBib3JkZXJM
ZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOworICAg
IGludCBzY3JvbGxiYXJMZWZ0ID0gc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxi
YXIud2lkdGgoKTsKICAgICBpbnQgc2Nyb2xsYmFyVG9wID0gYm9yZGVyVG9wKCk7CiAgICAgcG9p
bnQubW92ZSgtc2Nyb2xsYmFyTGVmdCwgLXNjcm9sbGJhclRvcCk7CiAgICAgcmV0dXJuIHBvaW50
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCBi
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmgKaW5kZXggMjg2NjAyMjNk
MWVkOGQwMDcxOTdkMjBmOGFiZDUwZmM1ZThjZDhiMC4uMjgyZjA4ZTVjNjg1ZGUyZGY4OTRhMjhl
ZGYyZTk3YWVhMzFiYTIwNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckxpc3RCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5oCkBAIC0xNTYsNiArMTU2LDggQEAgcHJpdmF0ZToKICAgICB2b2lkIHBhaW50SXRlbUJhY2tn
cm91bmQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9pbnQmLCBpbnQgbGlzdEluZGV4KTsKICAg
ICB2b2lkIHNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCk7CiAKKyAgICBib29sIHNob3VsZFBsYWNl
QmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBS
ZW5kZXJCbG9ja0Zsb3c6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KTsgfQorCiAgICAgYm9vbCBtX29wdGlvbnNDaGFuZ2VkOwogICAgIGJvb2wgbV9zY3JvbGxUb1Jl
dmVhbFNlbGVjdGlvbkFmdGVyTGF5b3V0OwogICAgIGJvb2wgbV9pbkF1dG9zY3JvbGw7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5kZXggMGY0ODRhMGFhOWI5ZmQ3MWIx
MzhlMTIyOGY1NWNhNWQzY2I4OGJhYi4uN2QyMDk4OTdmZDU0OGZiYTc0YTJlOGFhNGRmZDUwZDMw
MTMwNWI0NCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcApAQCAtNjQy
LDcgKzY0Miw3IEBAIHZvaWQgUmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0YW5nbGUoY29uc3Qg
TGF5b3V0UmVjdCYgcmVwYWludFJlY3QpIGNvbnN0CiAgICAgICAgIC8vIGFuZCB0aGUgUmVuZGVy
ZXIgdGhhdCBjb250YWlucyB0aGUgaWZyYW1lLiBUaGlzIHRyYW5zZm9ybWF0aW9uIG11c3QgYWNj
b3VudCBmb3IgYQogICAgICAgICAvLyBsZWZ0IHNjcm9sbGJhciAoaWYgb25lIGV4aXN0cykuCiAg
ICAgICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gdGhpcy0+ZnJhbWVWaWV3KCk7Ci0gICAgICAg
IGlmIChmcmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIGZyYW1lVmlldy52
ZXJ0aWNhbFNjcm9sbGJhcigpKQorICAgICAgICBpZiAoZnJhbWVWaWV3LnNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBmcmFtZVZpZXcudmVydGljYWxTY3JvbGxi
YXIoKSkKICAgICAgICAgICAgIGFkanVzdGVkUmVjdC5tb3ZlKExheW91dFNpemUoZnJhbWVWaWV3
LnZlcnRpY2FsU2Nyb2xsYmFyKCktPm9jY3VwaWVkV2lkdGgoKSwgMCkpOwogCiAgICAgICAgIG93
bmVyQm94LT5yZXBhaW50UmVjdGFuZ2xlKGFkanVzdGVkUmVjdCk7CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCBiYzNhZTg2MDA2ZTUyY2Zm
MjliM2RlNjllY2Q1MTU4YTYyNTRjYzVjLi44OGU2NTU2MmRhNjA4MzgzODY2MjVlNzFhYmRlNzcx
NTljNmIyOTA4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVu
ZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJT
dHlsZS5jcHAKQEAgLTIwNjcsOSArMjA2Nyw3IEBAIGZsb2F0IFJlbmRlclN0eWxlOjpvdXRsaW5l
T2Zmc2V0KCkgY29uc3QKIAogYm9vbCBSZW5kZXJTdHlsZTo6c2hvdWxkUGxhY2VCbG9ja0RpcmVj
dGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0CiB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAgIHJl
dHVybiBTY3JvbGxhYmxlQXJlYTo6c3lzdGVtTGFuZ3VhZ2VJc1JUTCgpOwotI2VsaWYgVVNFKFJU
TF9TQ1JPTExCQVIpCisjaWYgUExBVEZPUk0oTUFDKSB8fCBVU0UoUlRMX1NDUk9MTEJBUikKICAg
ICByZXR1cm4gIWlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSAmJiBpc0hvcml6b250YWxXcml0aW5n
TW9kZSgpOwogI2Vsc2UKICAgICByZXR1cm4gZmFsc2U7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCBmYzQzNWE3Yzc5YWQ0OGZiNjI0Y2U5ZjM0ZDcx
OTRlOTg3N2ViNmU5Li4zNjZhZTlhYTI5ODZkZTgxMDU3ZTRjMGQxMzlhZjdiY2Y4ZmU4OTlhIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTEwNiw2
ICsxMDYsOCBAQCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5ncyYgc2V0
dGluZ3MpCiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICAsIG1f
aW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVh
dHVyZXMoKS5pbmRleGVkREJXb3JrZXJzRW5hYmxlZCgpKQogI2VuZGlmCisgICAgLCBtX3ZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koc2V0dGluZ3MudmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeSgpKQorICAgICwgbV9zeXN0ZW1MYXlvdXREaXJlY3Rpb24oc2V0dGluZ3Muc3lz
dGVtTGF5b3V0RGlyZWN0aW9uKCkpCiB7CiB9CiAKQEAgLTE3Niw2ICsxNzgsOCBAQCB2b2lkIElu
dGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICNp
ZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKQogICAgIFJ1bnRpbWVFbmFibGVk
RmVhdHVyZXM6OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQobV9p
bmRleGVkREJXb3JrZXJzRW5hYmxlZCk7CiAjZW5kaWYKKyAgICBzZXR0aW5ncy5zZXRWZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KG1fdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSk7CisgICAgc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKG1fc3lzdGVtTGF5b3V0
RGlyZWN0aW9uKTsKIH0KIAogY2xhc3MgSW50ZXJuYWxTZXR0aW5nc1dyYXBwZXIgOiBwdWJsaWMg
U3VwcGxlbWVudDxQYWdlPiB7CkBAIC01NTUsNiArNTU5LDYxIEBAIHZvaWQgSW50ZXJuYWxTZXR0
aW5nczo6c2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25D
b2RlJikKICNlbmRpZgogfQogCitTdHJpbmcgSW50ZXJuYWxTZXR0aW5nczo6dmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeShFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNl
dHRpbmdzR3VhcmRGb3JTZXR0aW5nc1JldHVybigiIik7CisgICAgc3dpdGNoIChzZXR0aW5ncygp
LT52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCkpIHsKKyAgICBjYXNlIFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OkNvbnRlbnQ6CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIkNvbnRlbnQiKTsKKyAgICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3k6OlZpZXc6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlZpZXciKTsKKyAgICBkZWZh
dWx0OgorICAgICAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICAgICAgcmV0dXJuIFN0cmlu
ZygpOworICAgIH0KK30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5LCBFeGNlcHRpb25Db2RlJiBl
YykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAgIGlmIChl
cXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShwb2xpY3ksICJjb250ZW50IikpIHsKKyAgICAg
ICAgc2V0dGluZ3MoKS0+c2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShWZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50KTsKKyAgICAgICAgcmV0dXJuOworICAg
IH0KKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5LCAidmlldyIp
KSB7CisgICAgICAgIHNldHRpbmdzKCktPnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Vmlldyk7CisgICAgICAgIHJldHVy
bjsKKyAgICB9CisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7Cit9CisKK1N0cmluZyBJbnRl
cm5hbFNldHRpbmdzOjpzeXN0ZW1MYXlvdXREaXJlY3Rpb24oRXhjZXB0aW9uQ29kZSYgZWMpCit7
CisgICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3NSZXR1cm4oIiIpOworICAgIHN3
aXRjaCAoc2V0dGluZ3MoKS0+c3lzdGVtTGF5b3V0RGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIExU
UjoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiTFRSIik7CisgICAgY2FzZSBSVEw6Cisg
ICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlJUTCIpOworICAgIGRlZmF1bHQ6CisgICAgICAg
IEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgICAgICByZXR1cm4gU3RyaW5nKCk7CisgICAgfQor
fQorCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFN5c3RlbUxheW91dERpcmVjdGlvbihjb25z
dCBTdHJpbmcmIGRpcmVjdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxT
ZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdB
U0NJSUNhc2UoZGlyZWN0aW9uLCAibHRyIikpIHsKKyAgICAgICAgc2V0dGluZ3MoKS0+c2V0U3lz
dGVtTGF5b3V0RGlyZWN0aW9uKExUUik7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYg
KGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGlvbiwgInJ0bCIpKSB7CisgICAg
ICAgIHNldHRpbmdzKCktPnNldFN5c3RlbUxheW91dERpcmVjdGlvbihSVEwpOworICAgICAgICBy
ZXR1cm47CisgICAgfQorICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOworfQogCiAvLyBJZiB5
b3UgYWRkIHRvIHRoaXMgbGlzdCwgbWFrZSBzdXJlIHRoYXQgeW91IHVwZGF0ZSB0aGUgQmFja3Vw
IGNsYXNzIGZvciB0ZXN0IHJlcHJvZHVjYWJpbGl0eSEKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuaAppbmRleCBiMGYwOGYyOTI3NDdkMDIwYTc4NDYyYTBiMGYzZjIy
Y2MyMDFkNDljLi4zZjVmNzEwZjA2ZWQ1MzM2MjEyMmE0NjI4NDM0YmJiZjQzODQ1NTVmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAorKysgYi9T
b3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAtMzQsNiArMzQsOCBA
QAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJJbnRlcm5hbFNldHRpbmdzR2VuZXJh
dGVkLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRlICJTZXR0aW5ncy5o
IgorI2luY2x1ZGUgIldyaXRpbmdNb2RlLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAt
MTAyLDYgKzEwNCw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRV9JTl9X
T1JLRVJTKQogICAgICAgICBib29sIG1faW5kZXhlZERCV29ya2Vyc0VuYWJsZWQ7CiAjZW5kaWYK
KyAgICAgICAgVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSBtX3ZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3k7CisgICAgICAgIFRleHREaXJlY3Rpb24gbV9zeXN0ZW1MYXlvdXRE
aXJlY3Rpb247CiAgICAgfTsKIAogICAgIHN0YXRpYyBSZWY8SW50ZXJuYWxTZXR0aW5ncz4gY3Jl
YXRlKFBhZ2UqIHBhZ2UpCkBAIC0xNTAsNiArMTU0LDEwIEBAIHB1YmxpYzoKICAgICB2b2lkIHNl
dEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soYm9vbCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZv
aWQgc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUoYm9v
bCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQo
Ym9vbCwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5KEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3ksIEV4Y2VwdGlvbkNvZGUmKTsKKyAg
ICBTdHJpbmcgc3lzdGVtTGF5b3V0RGlyZWN0aW9uKEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lk
IHNldFN5c3RlbUxheW91dERpcmVjdGlvbihjb25zdCBTdHJpbmcmIGRpcmVjdGlvbiwgRXhjZXB0
aW9uQ29kZSYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFsU2V0dGluZ3MoUGFn
ZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKaW5kZXgg
ZTM5ZTc0MTg3ZTNiMTI2YzMzYmNlODU4OTllNTFhN2ZhZWFiYWU0Mi4uYTJkNzgxY2QwNzVhN2Ji
Y2NjYjcwODhiOWFiYTNhYmVlZjFkYjgyYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsCkBAIC03OSw1ICs3OSwxMCBAQAogICAgIFtSYWlzZXNFeGNlcHRp
b25dIHZvaWQgc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1
dGUoYm9vbGVhbiByZXF1aXJlcyk7CiAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldElu
ZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2xlYW4gcmVxdWlyZXMpOworCisgICAgW1JhaXNlc0V4
Y2VwdGlvbl0gRE9NU3RyaW5nIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koKTsKKyAg
ICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koRE9NU3RyaW5nIHBvbGljeSk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHN5
c3RlbUxheW91dERpcmVjdGlvbigpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0U3lz
dGVtTGF5b3V0RGlyZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOwogfTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaCBiL1Nv
dXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKaW5kZXggZTQ4
MGMxZTI4NGNhMDYyNGVhMjNiYTdiMTM4YjAzNzlhNWVlNGQxOC4uOGE3YzViYWQ4NmU0NGZiNTlh
NTlkYTBmYzUzZjE0YWQ0YmM5MTNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvU2hhcmVk
L1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQv
V2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0yNTcsNiArMjU3LDggQEAKICAgICBtYWNy
byhTdG9yYWdlQmxvY2tpbmdQb2xpY3ksIHN0b3JhZ2VCbG9ja2luZ1BvbGljeSwgVUludDMyLCB1
aW50MzJfdCwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OkJsb2NrVGhpcmRQYXJ0eVN0b3JhZ2Us
ICIiLCAiIikgXAogICAgIG1hY3JvKEphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIGphdmFTY3JpcHRS
dW50aW1lRmxhZ3MsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAogICAgIG1hY3JvKERh
dGFEZXRlY3RvclR5cGVzLCBkYXRhRGV0ZWN0b3JUeXBlcywgVUludDMyLCB1aW50MzJfdCwgMCwg
IiIsICIiKSBcCisgICAgbWFjcm8oVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbiwgdmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvbiwgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFj
cm8oU3lzdGVtTGF5b3V0RGlyZWN0aW9uLCBzeXN0ZW1MYXlvdXREaXJlY3Rpb24sIFVJbnQzMiwg
dWludDMyX3QsIDAsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1JfRUFDSF9XRUJLSVRf
REVCVUdfQk9PTF9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDlhZjJkMDlhZDY2YmY1NTNiMmE2OGNl
NDllODBlNTliYmQxOGE0MjQuLjNhYTk4YTIxZWRhZTNhZjAyN2YzYWYwNGZlMTk4OGMyNmUyOTdk
ZjIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3
Lm1tCkBAIC00MDQsMTEgKzQwNCwxNiBAQCAtICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3Vy
YXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAgICAgcGFnZUNv
bmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNl
c0tleTo6c2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHlLZXkoKSwgV2ViS2l0OjpXZWJQ
cmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfY29udmVydHNQb3NpdGlv
blN0eWxlT25Db3B5XSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVz
KCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6Omh0dHBFcXVpdkVuYWJsZWRLZXkoKSwg
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfYWxs
b3dzTWV0YVJlZnJlc2hdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1
ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dVbml2ZXJzYWxBY2Nlc3NG
cm9tRmlsZVVSTHNLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtf
Y29uZmlndXJhdGlvbiBfYWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHNdKSk7CisKKyAg
ICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzS2V5Ojp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uS2V5KCksIFdlYktpdDo6V2Vi
UHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFtfY29uZmlndXJh
dGlvbiB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5XSkpKTsKICAgICAKICNpZiBQTEFU
Rk9STShNQUMpCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQo
V2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c2hvd3NVUkxzSW5Ub29sVGlwc0VuYWJsZWRLZXko
KSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBf
c2hvd3NVUkxzSW5Ub29sVGlwc10pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzZXJ2aWNlQ29udHJvbHNF
bmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZp
Z3VyYXRpb24gX3NlcnZpY2VDb250cm9sc0VuYWJsZWRdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRp
b24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW1h
Z2VDb250cm9sc0VuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1
ZSghIVtfY29uZmlndXJhdGlvbiBfaW1hZ2VDb250cm9sc0VuYWJsZWRdKSk7CisgICAgLy8gV2Ug
YXJlIGluIHRoZSBWaWV3J3MgaW5pdGlhbGl6YXRpb24gcm91dGluZSwgc28gb3VyIGNsaWVudCBo
YXNuJ3QgaGFkIHRpbWUgdG8gc2V0IG91ciB1c2VyIGludGVyZmFjZSBkaXJlY3Rpb24uCisgICAg
Ly8gVGhlcmVmb3JlLCBhY2NvcmRpbmcgdG8gdGhlIGRvY3MsICJ0aGlzIHByb3BlcnR5IGNvbnRh
aW5zIHRoZSB2YWx1ZSByZXBvcnRlZCBieSB0aGUgYXBw4oCZcyB1c2VySW50ZXJmYWNlTGF5b3V0
RGlyZWN0aW9uIHByb3BlcnR5LiIKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZh
bHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzeXN0ZW1MYXlvdXREaXJlY3Rp
b25LZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZShzdGF0aWNfY2FzdDx1
aW50MzJfdD4oc2VsZi51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uKSkpOwogI2VuZGlmCiAK
ICNpZiBQTEFURk9STShJT1MpCkBAIC00MTgsNiArNDIzLDcgQEAgLSAodm9pZClfaW5pdGlhbGl6
ZVdpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlv
bgogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6
V2ViUHJlZmVyZW5jZXNLZXk6OmlubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5l
QXR0cmlidXRlS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2Nv
bmZpZ3VyYXRpb24gX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmli
dXRlXSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXli
YWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3Vy
YXRpb24gYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2tdICYmIHNob3VsZEFsbG93
UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9u
LT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVp
cmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5j
ZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gcmVxdWlyZXNVc2VyQWN0aW9uRm9yTWVk
aWFQbGF5YmFja10pKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygp
LnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzeXN0ZW1MYXlvdXREaXJlY3Rpb25LZXko
KSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSgwdSkpOwogI2VuZGlmCiAKICAg
ICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja0tleSgpLCBX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9yZXF1
aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaApp
bmRleCA2NmQ2NTNmM2MyN2ZlZTUxYzRjY2NkZTI1MTA2MzMyZjAwYWZlMTg1Li4wZGRhY2EzYjEz
OTkzNmZkZDE0YTQzMjc2MjdjZDJhZTMxNjk3YjE4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaApA
QCAtNzMsNiArNzMsMjAgQEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIFdLRGF0YURl
dGVjdG9yVHlwZXMpIHsKICAgICBXS0RhdGFEZXRlY3RvclR5cGVBbGwgPSBOU1VJbnRlZ2VyTWF4
CiB9IFdLX0VOVU1fQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCisKKy8qISBA
ZW51bSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kKKyBAYWJzdHJhY3QgVGhlIG1l
Y2hhbmlzbSBieSB3aGljaCB2ZXJ0aWNhbCBzY3JvbGxiYXJzIG9iZXkgYW4gUlRMIGVudmlyb25t
ZW50CisgQGNvbnN0YW50IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQg
U2Nyb2xsYmFyIHBsYWNlbWVudCBvYmV5cyBDU1MgLyBIVE1MIC8gWEhUTUwgc3BlY2lmaWNhdGlv
bnMuCisgQGNvbnN0YW50IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeVZpZXcgU2Ny
b2xsYmFyIHBsYWNlbWVudCBvYmV5cyBzeXN0ZW0gcGxhdGZvcm0gc3BlY2lmaWNhdGlvbnMuCisg
QGRpc2N1c3Npb24gV2hlbiBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50
IGlzIHNwZWNpZmllZCwgdGhlIHBsYWNlbWVudCBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXJzIGlzCisg
YWZmZWN0ZWQgYnkgdGhlICJkaXIiIGVsZW1lbnQgb3IgdGhlICJkaXJlY3Rpb24iIENTUyBwcm9w
ZXJ0eS4gV2hlbiBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lWaWV3IGlzCisgc3Bl
Y2lmaWVkLCB0aGUgcGxhY2VtZW50IG9mIHZlcnRpY2FsIHNjcm9sbGJhcnMgaXMgYWZmZWN0ZWQg
YnkgdGhlIGRpcmVjdGlvbiBvZiB0aGUgc3lzdGVtLgorKi8KK3R5cGVkZWYgTlNfRU5VTShOU0lu
dGVnZXIsIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSkgeworICAgIFdLVmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQgPSAwLAorICAgIFdLVmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeVZpZXcgPSAxLAorfSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNf
VEJBLCBOQSk7CisKIC8qISBBIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gb2JqZWN0IGlzIGEgY29s
bGVjdGlvbiBvZiBwcm9wZXJ0aWVzIHdpdGgKICB3aGljaCB0byBpbml0aWFsaXplIGEgd2ViIHZp
ZXcuCiAgQGhlbHBzIENvbnRhaW5zIHByb3BlcnRpZXMgdXNlZCB0byBjb25maWd1cmUgYSBAbGlu
ayBXS1dlYlZpZXcgQC9saW5rLgpAQCAtMTI0LDYgKzEzOCwxMiBAQCBXS19DTEFTU19BVkFJTEFC
TEUoMTBfMTAsIDhfMCkKICAqLwogQHByb3BlcnR5IChub25hdG9taWMpIFdLRGF0YURldGVjdG9y
VHlwZXMgZGF0YURldGVjdG9yVHlwZXMgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19U
QkEpOwogCisvKiEgQGFic3RyYWN0IFRoZSBwbGFjZW1lbnQgYmVoYXZpb3Igb2YgdmVydGljYWwg
c2Nyb2xsYmFycy4KKyBAZGlzY3Vzc2lvbiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGRlc2NyaWJlZCBp
biBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kuCisgVGhlIGRlZmF1bHQgdmFsdWUg
aXMgV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Q29udGVudC4KKyAqLworQHByb3Bl
cnR5IChub25hdG9taWMpIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSB2ZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBOQSk7CisK
ICNpZiBUQVJHRVRfT1NfSVBIT05FCiAvKiEgQGFic3RyYWN0IEEgQm9vbGVhbiB2YWx1ZSBpbmRp
Y2F0aW5nIHdoZXRoZXIgSFRNTDUgdmlkZW9zIHBsYXkgaW5saW5lCiAgKFlFUykgb3IgdXNlIHRo
ZSBuYXRpdmUgZnVsbC1zY3JlZW4gY29udHJvbGxlciAoTk8pLgpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
Lm1tCmluZGV4IDdiMjgxZDljNWNjNWJiZGE5MmMyYWY5ZjIyNzc1Y2FkOWU5ZDc3Y2QuLjI0YjJk
ZTQyNzNmMmI0OGQ2OTBlOGQ2M2ZjNWM3NzE2ZTE1MjM5ZjAgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRp
b24ubW0KQEAgLTE0MCw2ICsxNDAsNyBAQCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIF9tZWRp
YURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkgPSBOTzsKICNlbHNlCiAgICAgX21lZGlhRGF0YUxvYWRz
QXV0b21hdGljYWxseSA9IFlFUzsKKyAgICBfdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSA9IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQ7CiAjZW5kaWYKICAg
ICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFjayA9IE5POwogICAgIF9yZXF1aXJl
c1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gTk87CkBAIC0xOTgsNiArMTk5LDcgQEAgLSAo
dm9pZCllbmNvZGVXaXRoQ29kZXI6KE5TQ29kZXIgKiljb2RlcgogICAgIFtjb2RlciBlbmNvZGVP
YmplY3Q6c2VsZi5hcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQgZm9yS2V5OkAiYXBwbGljYXRp
b25OYW1lRm9yVXNlckFnZW50Il07CiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NB
aXJQbGF5Rm9yTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5
YmFjayJdOwogICAgIFtjb2RlciBlbmNvZGVJbnRlZ2VyOnNlbGYuZGF0YURldGVjdG9yVHlwZXMg
Zm9yS2V5OkAiZGF0YURldGVjdG9yVHlwZXMiXTsKKyAgICBbY29kZXIgZW5jb2RlSW50ZWdlcjpz
ZWxmLnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgZm9yS2V5OkAidmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSJdOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFtjb2RlciBl
bmNvZGVCb29sOnNlbGYuYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NJ
bmxpbmVNZWRpYVBsYXliYWNrIl07CkBAIC0yMjEsNiArMjIzLDcgQEAgLSAoaW5zdGFuY2V0eXBl
KWluaXRXaXRoQ29kZXI6KE5TQ29kZXIgKiljb2RlcgogICAgIHNlbGYuYXBwbGljYXRpb25OYW1l
Rm9yVXNlckFnZW50ID0gW2NvZGVyIGRlY29kZU9iamVjdEZvcktleTpAImFwcGxpY2F0aW9uTmFt
ZUZvclVzZXJBZ2VudCJdOwogICAgIHNlbGYuYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2sg
PSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpAImFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNr
Il07CiAgICAgc2VsZi5kYXRhRGV0ZWN0b3JUeXBlcyA9IFtjb2RlciBkZWNvZGVJbnRlZ2VyRm9y
S2V5OkAiZGF0YURldGVjdG9yVHlwZXMiXTsKKyAgICBzZWxmLnZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3kgPSBzdGF0aWNfY2FzdDxXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3k+KFtjb2RlciBkZWNvZGVJbnRlZ2VyRm9yS2V5OkAidmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSJdKTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBzZWxmLmFsbG93c0lubGluZU1l
ZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktleTpAImFsbG93c0lubGluZU1lZGlh
UGxheWJhY2siXTsKQEAgLTI2Niw2ICsyNjksOCBAQCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9u
ZSAqKXpvbmUKICAgICBjb25maWd1cmF0aW9uLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9Q
bGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXliYWNrOwogICAg
IGNvbmZpZ3VyYXRpb24tPl9tYWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkID0g
c2VsZi0+X21haW5Db250ZW50VXNlckdlc3R1cmVPdmVycmlkZUVuYWJsZWQ7CiAKKyAgICBjb25m
aWd1cmF0aW9uLT5fdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSA9IHNlbGYtPl92ZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OworCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGNv
bmZpZ3VyYXRpb24tPl9hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrID0gc2VsZi0+X2FsbG93c0lu
bGluZU1lZGlhUGxheWJhY2s7CiAgICAgY29uZmlndXJhdGlvbi0+X2lubGluZU1lZGlhUGxheWJh
Y2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlID0gc2VsZi0+X2lubGluZU1lZGlhUGxheWJh
Y2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3Mv
V2ViUGFnZVByb3h5LmNwcAppbmRleCA0MzE5MmM1ZDEwMjYzY2ZkZjdiMjE1YTJmYmYwMzQzOTBi
MzU1MDI2Li5jNDBmOTAyZjhmZmNiYjRmMjM3ZDk2NTFmMWZhNjc4YjA2YjUyOTMwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApAQCAtMTAwLDYgKzEwMCw3IEBA
CiAjaW5jbHVkZSAiV2ViUG9wdXBJdGVtLmgiCiAjaW5jbHVkZSAiV2ViUG9wdXBNZW51UHJveHku
aCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorI2luY2x1ZGUgIldlYlByZWZlcmVuY2Vz
S2V5cy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5oIgogI2luY2x1ZGUgIldlYlBy
b2Nlc3NQb29sLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5LmgiCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0RlcHJlY2F0ZWRQREZQbHVnaW4u
aCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBs
dWdpbi5oCmluZGV4IDc4ZWVlOWRiYzA4N2EwYTA1NmVhYWZlODlhOTI5YmQ0NGM4ZTNiOWIuLjFi
ZjFiZmJkNWI5NmY3MjY3YjdlMmU0ZjFkYmNlOTAzNTM4NmRhZmUgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBsdWdpbi5oCisr
KyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBs
dWdpbi5oCkBAIC0xMTEsNiArMTExLDggQEAgcHVibGljOgogCiAgICAgQ0dGbG9hdCBzY2FsZUZh
Y3RvcigpIGNvbnN0OwogCisgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKwogcHJpdmF0ZToK
ICAgICBleHBsaWNpdCBQREZQbHVnaW4oV2ViRnJhbWUqKTsKIApkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNlL1dlYktpdDIv
V2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGQ3YTdiYmUyNDg0OWQ1YTc5Zjgw
YjUyYTk4ZmI1ODkyNWNhNzljN2EuLmY5NTNmOGFiZDhhYzQ0ZmUzMTg0ODFlNjU1ZmYxNjI0ODE2
NjJlMDUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTMwNzIsNiArMzA3Miw5IEBAIHZvaWQgV2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMo
Y29uc3QgV2ViUHJlZmVyZW5jZXNTdG9yZSYgc3RvcmUpCiAKICAgICBzZXR0aW5ncy5zZXRTaG91
bGREaXNwYXRjaEphdmFTY3JpcHRXaW5kb3dPbkVycm9yRXZlbnRzKHRydWUpOwogCisgICAgc2V0
dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSghc3RvcmUuZ2V0VUludDMy
VmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25L
ZXkoKSkgPyBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50IDogVmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Vmlldyk7CisgICAgc2V0dGluZ3Muc2V0U3lzdGVt
TGF5b3V0RGlyZWN0aW9uKHN0YXRpY19jYXN0PFRleHREaXJlY3Rpb24+KHN0b3JlLmdldFVJbnQz
MlZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
S2V5KCkpKSk7CisKICNpZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2luY2x1ZGUgPFdlYktp
dEFkZGl0aW9ucy9XZWJQYWdlUHJlZmVyZW5jZXMuY3BwPgogI2VuZGlmCmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggOGZmMzVm
NWQ2NTZlNTZiMjhkNDEyOWY3MDIzN2NjNzVlNjUwODU2OS4uNzZiYmUyMzkyYzJkZGNlODFiMmIz
ZTcyMzQ5N2QwMzNhMjE0MjQ4ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpAQCAtMSwzICsxLDc3IEBACisyMDE2LTA0LTI1ICBN
eWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVsZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0g
W09TIFhdIENyZWF0ZSBBUEkgZm9yIHN3aXRjaGluZyBSVEwgc2Nyb2xsYmFyIHBvbGljeQorICAg
ICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTU2OTQ4CisgICAg
ICAgIDxyZGFyOi8vcHJvYmxlbS8yNTcwNzc1Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBVcGRhdGUgdGVzdHMgdG8gdXNlIG5ldyBSVEwgc2Nyb2xs
YmFyIG1lY2hhbmlzbS4KKworICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC5odG1sOgorICAgICAgICAq
IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9z
aXRpb24tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9s
bC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1y
aWdodC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Ri
b3gtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5o
dG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRp
ci1ydGwtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0bWw6CisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy1leHBl
Y3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LXBhZGRpbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLmh0
bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2lt
cGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNv
bnRlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9z
aXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWw6CisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBl
Y3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0
aW9uaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2lt
cGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtc2ltcGxlLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sOgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3Rl
ZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1k
b2N1bWVudC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWw6CisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9s
bC0yLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1z
Y3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0
LXNlbGVjdGlvbi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVj
dGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWw6
CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFu
aW1hdGlvbi1wcm9wZXJ0eS1leHBlY3RlZC5wbmc6IEFkZGVkLgorCiAyMDE2LTA0LTIyICBGaWxp
cCBQaXpsbyAgPGZwaXpsb0BhcHBsZS5jb20+CiAKICAgICAgICAgU3BlZWQgdXAgYm91bmQgZnVu
Y3Rpb25zIGEgYml0CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1hbmltYXRpb24tcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sCmluZGV4IGVlMzYw
YjQzYTJmYTlmM2ZkMGRhM2EwMTYyYTcwZjZiMjMyZTNiYzEuLjg0ZmI0ZGYyYjYxZDk5NDI2MGU0
YzVkNjg1ZDA1OTU2N2IxMzg1OTkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1s
CkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgcnRsU2Nyb2xsYmFycz10cnVlIHVzZU1vY2tTY3JvbGxiYXJzPWZhbHNlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZU1vY2tTY3JvbGxiYXJzPWZh
bHNlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KIDxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAyMDBweDsgcG9zaXRpb246IHJl
bGF0aXZlOyBvdmVyZmxvdzogc2Nyb2xsOyI+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50LXN0YXRpYy5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2lu
dC1zdGF0aWMuaHRtbAppbmRleCAzNTRjZGQ5YzBlZmUzMDhmYzA3MTRiYzg5M2U5ZjRkYjJiNWEw
YThlLi5hNDYyNDg4NzVlNTY0ZjJhMmY2YTdkNmNmOWE2M2IwNTZkZjBiZjY1IDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBv
aW50LXN0YXRpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFE
T0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUg
XSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0Pgog
PHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KQEAgLTE0LDQgKzIwLDQgQEAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJk
b2N1bWVudC5lbGVtZW50RnJvbVBvaW50KDIyLCA3KS5pZCIsICJhIik7CiA8L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50
RnJvbVBvaW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1lbGVtZW50RnJvbVBvaW50Lmh0bWwKaW5kZXggZTNhODY1OTdkNzMyMDliN2VmNThlYTY0NWI2
MTMxNzlhYjFhN2E4YS4uYzZmMGZmZTQ5NzgzNWMzZmM2MTE5Yjk2NzA2Yjk2YjRiYmI0YzkwZSAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxl
bWVudEZyb21Qb2ludC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZ
UEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0t
PgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8c2Ny
aXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgpAQCAtMTMsNCArMTksNCBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3Vt
ZW50LmVsZW1lbnRGcm9tUG9pbnQoNywgNykuaWQiLCAiYSIpOwogPC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWV4cGVjdGVkLmh0
bWwKaW5kZXggZTk1ZjI5MGEyMWFiMmI3N2MzYzFhYjM1NTJiOWRkODY0NjYzYzNlMy4uZTYxNzcz
NmVkMzZmY2NmNDVlYTMyYzBlYTdmYjhkYzgxM2NlYTU3YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1leHBlY3RlZC5odG1sCkBAIC0x
LDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRs
U2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJoZWlnaHQ6IDEwMDBweDsgcG9z
aXRpb246IHJlbGF0aXZlOyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6
IDBweDsgYm90dG9tOiAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHJ0bCBzY3JvbGxi
YXJzIGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBmcmFtZS48L2Rpdj4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQt
ZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQuaHRtbAppbmRleCAyOGQxNzY2MTZiYTdlOGVhNzE4NWZl
NDMzM2RlY2E2ZWNmYWViYzcxLi5mMDgxNTMzOTZjN2U1NTY5NzFiNzY1NjNjNjM4NzhiYjViMmU2
OTA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1pZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sCkBAIC0xLDEw
ICsxLDE2IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOwor
fQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgaWQ9InRleHQiIHN0eWxlPSdwb3Np
dGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7Jz5BQkNEPC9kaXY+CiA8ZGl2IHN0
eWxlPSdwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAyNXB4Oyc+REVGRzwvZGl2
PgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMTAwcHg7
Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNvbnRlbnRzIG9mIGlmcmFtZXMgYXJlIG5vdCBj
b3ZlcmVkIGJ5IGFuIHJ0bCBzY3JvbGxiYXIuPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sCmlu
ZGV4IGMzNmZmODZmOWMwZGQ0ZTcxZjc5M2NiMmQ3ODRjNTg5NzNjNjdjZDcuLmJkYTlmOTQxMzFm
ZjZjMTcyM2I0OWZhNTRhMWRmNmQ3OGEwNzgzNTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0Lmh0bWwK
QEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8aWZyYW1lIGlkPSJpZnJhbWUi
IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsg
bGVmdDogLTE1cHg7IHRvcDogMHB4OyBtYXJnaW46IDBweDsgYm9yZGVyOiBzb2xpZCBibGFjayAw
cHg7IHBhZGRpbmc6IDBweDsiCkBAIC0xNSw0ICsyMSw0IEBAIEFCQ0QKIDwvaHRtbD4iPjwvaWZy
YW1lPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMTAw
cHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNvbnRlbnRzIG9mIGlmcmFtZXMgYXJlIG5v
dCBjb3ZlcmVkIGJ5IGFuIHJ0bCBzY3JvbGxiYXIuPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXBvc2l0aW9uLWFic29sdXRl
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUt
cG9zaXRpb24tYWJzb2x1dGUuaHRtbAppbmRleCAzMjc5NTIxYWMzMWNjMWQxYzEzYzcyNmFjZDVl
ZDFlOTIxYTJjNTJmLi5jZjRiM2I5N2Y4ODczOWRjZTQ1NDBmY2E0NTZhOWFmYTU3NGMwNWUyIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJh
bWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbApAQCAtMSw2ICsx
LDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9s
bGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQor
PC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0nLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzJz48
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMjgsNCArMzQsNCBAQCBpZnJhbWUuYWRkRXZl
bnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0n
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyc+PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1p
ZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAppbmRleCAyN2VmODdlYzhjNzFiZTAxMjJiMGE3
ODQ2NzEyMGJhNDQ3OTc3YWRlLi43NTdlNmMxY2E5YjVkODdlMTkwZjIyZTQyYWIyMzZhOTJmNTRi
Y2JjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbApAQCAt
MSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0
bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIp
OworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxpZnJhbWUgaWQ9ImlmcmFtZSIgc3R5
bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBsZWZ0
OiAwcHg7IHRvcDogMHB4OyBtYXJnaW46IDBweDsgYm9yZGVyOiBzb2xpZCBibGFjayAwcHg7IHBh
ZGRpbmc6IDBweDsiCkBAIC0yNyw0ICszMyw0IEBAIGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJp
ZnJhbWUiKS5mb2N1cygpOwogPC9zY3JpcHQ+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IGxlZnQ6IDhweDsgdG9wOiAxMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaGl0
IHRlc3RpbmcgaW4gaWZyYW1lcyB3b3JrcyBjb3JyZWN0bHkuPC9kaXY+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Ny
b2xsZWQuaHRtbAppbmRleCA2MWZmY2RmN2JjNDhmYjI0MzYzZGI4NTMyYjAyOWY4NjlhNjBlYTAw
Li5mNmQzZGNmMjhiOTg4ZTg3NWVkZGE4YWRiNzFhNDg5ZGYxOGY5MGUzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJh
bWUtc2Nyb2xsZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxp
ZnJhbWUgaWQ9ImlmcmFtZSIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBsZWZ0OiAwcHg7IHRvcDogMHB4OyBtYXJnaW46IDBweDsgYm9yZGVy
OiBzb2xpZCBibGFjayAwcHg7IHBhZGRpbmc6IDBweDsiCkBAIC0yMyw0ICsyOSw0IEBAIGlmICh3
aW5kb3cuZXZlbnRTZW5kZXIpIHsKIDwvaHRtbD4iPjwvaWZyYW1lPgogPGRpdiBzdHlsZT0icG9z
aXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMTAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMg
c3VyZSB0aGF0IGhpdCB0ZXN0aW5nIGluIGlmcmFtZXMgd29ya3MgY29ycmVjdGx5LjwvZGl2Pgog
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFt
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1l
Lmh0bWwKaW5kZXggMzg0YjBiZDA3YWNlNWU1ZGY5ZWI0ODVlZTI3OTZlNDNjMDE3MjMxYy4uNmJm
MmQ3OGQ2OWU2OTUyZWExZGNmMzFmZThlMjIzNTg0YWJlMzA3YyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0bWwKQEAgLTEs
NiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxT
Y3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsK
K30KKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Jy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5q
cyc+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KQEAgLTI4LDQgKzM0LDQgQEAgaWZyYW1lLmFk
ZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKIDwvc2NyaXB0PgogPHNjcmlwdCBz
cmM9Jy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMnPjwvc2NyaXB0PgogPC9ib2R5Pgot
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Ri
b3gtZXhwZWN0ZWQuaHRtbAppbmRleCBkMGI2ZDZmYjhiOWU4MGNlMzVkYjc3OWE4MDdlYTM1MzA1
MWY1MzVhLi42NTc4ZWJjMGM4NmRkNWUyZjFjNjJkNzkzZWMyYWUwYTlkM2Y1ZGFmIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4
cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtbGlzdGJveC1leHBlY3RlZC5odG1sCkBAIC0yMSw0ICsyMSw0IEBACiA8L3NlbGVjdD4KIDwv
ZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWxpc3Rib3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1leHBlY3RlZC5odG1sCmluZGV4IGFiY2Q0
OTJiYmMzZDc5NTczYmY2ZDMzYWEyNjNmOGEyNTFhZTkzMWIuLjQxNzJiMTE2OThhOGMwMzg2MjA3
ZDZkYTgyNTk2NmE1Mzc0YWFmZmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhw
ZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFy
Z2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0
b3A6IDIwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsaXN0IGJveGVzIG9iZXkgUlRM
IHNjcm9sbGJhcnMuPC9kaXY+CkBAIC0yMyw0ICsyOSw0IEBAIHZhciBjb250YWluZXIgPSBkb2N1
bWVudC5nZXRFbGVtZW50QnlJZCgiY29udGFpbmVyIik7CiBjb250YWluZXIuc2Nyb2xsVG9wID0g
Y29udGFpbmVyLnNjcm9sbEhlaWdodCAtIGNvbnRhaW5lci5jbGllbnRIZWlnaHQ7CiA8L3Njcmlw
dD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94LXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbAppbmRleCA4NjRjYTdjNWEyOWJhN2RhZmQwYTEwMzE3
YWUwYmJkMWM1ZTU1MTI1Li40ODc4ODQ2YjZkYjdmZGMxZTA0MWQ4ZDg2MGRiNDQ1NWY3OWY2NGNi
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94LXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4K
KzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IGxlZnQ6IDhweDsgdG9wOiAyMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
bGlzdCBib3hlcyBvYmV5IFJUTCBzY3JvbGxiYXJzLjwvZGl2PgpAQCAtMjYsNCArMzIsNCBAQCBp
ZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0LWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94LXNlbGVjdC1sZWZ0LWV4cGVjdGVkLmh0bWwKaW5kZXggMzYxZTRmNmVjNTc4NTNjOGU3
ZjVmMzNlODVlNWU5MGI2YTczNTgxOC4uODQzZGIyNzE4ZDE0OGUwNTlhMmY2ZWRhNDhmNjAxOGY3
ZTZkNjBkMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0
ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJl
Y3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2lu
OiAwcHg7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6
IDIwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBjbGlraW5nIG9uIGFuIExUUiBzY3Jv
bGxiYXIgZG9lc24ndCBzZWxlY3QgYW4gaXRlbSBpbiBhIGxpc3QgYm94LjwvZGl2PgpAQCAtMjMs
NCArMjksNCBAQCB2YXIgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImNvbnRh
aW5lciIpOwogY29udGFpbmVyLmZvY3VzKCk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNl
bGVjdC1sZWZ0Lmh0bWwKaW5kZXggMjMxY2Q3MTQxNWY0MGY4MmNjNDQ0YTA1ODQ2MTEyYjJmYThl
OTZjYy4uNjRmNDk0ZDg3YTUzM2UzZDQ2YjY3MmUzZjI2MDEwYTM2ZWFlZDQ2NCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxl
Y3QtbGVmdC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNv
bHV0ZTsgbGVmdDogOHB4OyB0b3A6IDIwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBj
bGlraW5nIG9uIGFuIExUUiBzY3JvbGxiYXIgZG9lc24ndCBzZWxlY3QgYW4gaXRlbSBpbiBhIGxp
c3QgYm94LjwvZGl2PgpAQCAtMjYsNCArMzIsNCBAQCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7
CiB9CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhw
ZWN0ZWQuaHRtbAppbmRleCBkNzAxZWZhOWFmOTM4MTAyZDVmNmUwOTUyNTZjNzFiNmNmM2Q4Njk0
Li42MmZhNmNjMWQzNWZiNWMyN2NhMmQxYjBkNjNjNDU1NWVkYjI1NDkzIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1y
aWdodC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwKQEAgLTEsNCArMSw0
IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJh
cnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgogPC9oZWFkPgpA
QCAtMjUsNCArMjUsNCBAQCB2YXIgamFudWFyeSA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJq
YW51YXJ5Iik7CiBqYW51YXJ5LnNlbGVjdGVkID0gdHJ1ZTsKIDwvc2NyaXB0PgogPC9ib2R5Pgot
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0
LXJpZ2h0Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94LXNlbGVjdC1yaWdodC5odG1sCmluZGV4IGNiNzM1YzllMGZiOTY5M2Y4ZjBmNWQxYmQz
OWVjMTIzN2I0ZmIxODYuLmNmOGY1YWE1MGEwMDUwOTRkODYwNWU0ZTY1MzExNmM0ODBlYWEyZmIg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2VsZWN0LXJpZ2h0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbApAQCAtMSw2ICsxLDEyIEBA
Ci08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9
dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9InBv
c2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDIwMHB4OyI+VGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBjbGlraW5nIG9uIHRoZSByaWdodG1vc3QgcGFydCBvZiBhbiBpdGVtIGNhdXNl
cyBpdCB0byBiZSBzZWxlY3RlZC48L2Rpdj4KQEAgLTI2LDQgKzMyLDQgQEAgaWYgKHdpbmRvdy5l
dmVudFNlbmRlcikgewogfQogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2gu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKaW5kZXggYmNkNTYyZWUxZDRiYWRjM2EwZTI4
MGM0NjE3ZjQyMjgyMDQ4ZjA1Yi4uZTk5YzU4YTQzOTQ3ZWY0YjQ1Y2VmNjc3ZjlhZjg2ZjY3ZDM5
MjViZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS1leHBlY3RlZC1t
aXNtYXRjaC5odG1sCkBAIC0xOSw0ICsxOSw0IEBACiA8b3B0aW9uPkRlY2VtYmVyPC9vcHRpb24+
CiA8L3NlbGVjdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbAppbmRleCBlOTc0YjY4M2IwMmNkNDk4
NTA0OWYyYjBmMjJiMDRjMTNiYzQ1NWVjLi4yNDdmMDliZjQwZjY2NjU2MWQ3OThlYjNiMDBiMTlh
ZDQwNTYzN2Y1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLmh0bWwKQEAgLTEsNiArMSwxMiBAQAot
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRy
dWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAo
d2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+CiA8cD5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGxpc3QgYm94
ZXMgb2JleSBSVEwgc2Nyb2xsYmFycy48L3A+CkBAIC0xOSw0ICsyNSw0IEBACiA8b3B0aW9uPkRl
Y2VtYmVyPC9vcHRpb24+CiA8L3NlbGVjdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5l
IGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWwKaW5kZXggY2UyNjkzNjcwNzAzOTY5
MGRkZjZkZDM0NDgwZThmZjQwMmNmNWI5ZS4uYjZmYWZmOTMwMGJlZDg2MTA0MmVkOTBiMDRiZGQw
NGE2ODI4ZmMyMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8
Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0
ZTsgbGVmdDogOHB4OyB0b3A6IDIwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsaXN0
IGJveGVzIG9iZXkgUlRMIHNjcm9sbGJhcnMuPC9kaXY+CkBAIC0yMSw0ICsyNyw0IEBACiA8L3Nl
bGVjdD4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZp
bGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy1leHBlY3RlZC5o
dG1sCmluZGV4IDJhYjgyODlhZDY2OThiMjdiZTFmZmRkZjM3ZTMzOTM5MDMzMWUzMzcuLjJkNzc2
ZGEwZmJiYWQ4ZTU0MzAzNTU5ZGZmOGQxNDhlY2YwY2MzZWUgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLWV4cGVj
dGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
b3ZlcmZsb3ctY29udGVudHMtZXhwZWN0ZWQuaHRtbApAQCAtMTcsNCArMTcsNCBAQAogPHA+TG9y
ZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU3Vz
cGVuZGlzc2UgYSByaXN1cyBuaXNpLiBNYWVjZW5hcyB1dCBtZXR1cyBncmF2aWRhLCB0aW5jaWR1
bnQgYXJjdSBuZWMsIHVsdHJpY2VzIGR1aS4gVml2YW11cyBhdCBwcmV0aXVtIHB1cnVzLCBpbiBm
ZXVnaWF0IG9kaW8uIFBoYXNlbGx1cyBmYWNpbGlzaXMgbWkgaWQgY29uZGltZW50dW0gY29uZ3Vl
LiBBZW5lYW4gc29sbGljaXR1ZGluIHJpc3VzIGEgYWNjdW1zYW4gZmFjaWxpc2lzLiBTZWQgYWMg
ZnJpbmdpbGxhIGZlbGlzLiBNb3JiaSBtYWxlc3VhZGEgdmVoaWN1bGEgc2FwaWVuLjwvcD4KIDwv
ZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LWNvbnRlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5odG1sCmluZGV4IGZmMGE3ODYyYTcyMjc2Mjcy
NTA0ZGJhMzZkN2MwYzBmODQwMzVlZjMuLjE5NjhmMzQwOWQ2YTM4YmJjZGI4ZjZjNjYzMmI2ZWY4
ZDQ3ZDc2NjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbApAQCAtMSw2ICsxLDEy
IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJh
cnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHdp
ZHRoOiA3MDBweDsgaGVpZ2h0OiA1MDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CkBAIC0xOSw0
ICsyNSw0IEBACiA8L2Rpdj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwt
ZXhwZWN0ZWQuaHRtbAppbmRleCAzNTYxNWFkNTY4OTMzYjlmNGE3ZmU1Y2M0ODk5NWEyN2MwMjc5
NzFhLi45MzJjOGJlYjIyNWI0M2I0OTViODZhYjVkNGU5NGY2OWIwMDFkODMwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXIt
cnRsLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC1leHBlY3RlZC5odG1sCkBAIC0yNCw0ICsyNCw0IEBA
IHJhbmdlLnNlbGVjdE5vZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSk7CiBz
ZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0
bC5odG1sCmluZGV4IDE5NTkzMzIyMzYwNzQ1NDg5MDc2NGU2MTI0ODdhYzk2MzBjM2UyYjEuLjUz
OGEyYmIwMWIwZjJkMmU0N2MxOWU0NDBhMGVkNTQ5OGJjNGY1NDIgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1kaXItcnRsLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8ZGl2
IHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA1MzlweDsgcG9z
aXRpb246IHJlbGF0aXZlOyI+CkBAIC0yNiw0ICszMiw0IEBAIHJhbmdlLnNlbGVjdE5vZGUoZG9j
dW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSk7CiBzZWxlY3Rpb24uYWRkUmFuZ2UocmFu
Z2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5o
dG1sCmluZGV4IGQyOWUyNzU2MTExOTk2MDI2ODM3NjIyNmQ0NTgxN2U4ODc1MjY1MTkuLjVlMjU0
M2U0NTJiMTkxZmYyMjA1ODIxMTZmNGU3MmI5ZmRlNzMwMjIgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9p
bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy1lbGVtZW50RnJvbVBvaW50Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4K
KzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPHNjcmlw
dCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyI+PC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keT4KQEAgLTE1LDQgKzIxLDQgQEAgc2hvdWxkQmVFcXVhbFRvU3RyaW5nKCJkb2N1bWVu
dC5lbGVtZW50RnJvbVBvaW50KDIyLCA3KS5pZCIsICJhIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQg
c3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4K
LTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctZXhwZWN0ZWQuaHRtbAppbmRleCBjN2YyZTVjZWE1NTkyODVmMzRkYzRmZjUxY2YyNzY2
ZjdmYjEzNWMyLi42NGFiMTcxMDQ1Nzg5MjExM2VmNDEwMjExMWMwYTdhNWI5OGVjYTY4IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4K
KzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8ZGl2IGlkPSJlbGVtZW50IiBzdHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgd2lk
dGg6IDcwMHB4OyBoZWlnaHQ6IDUwMHB4OyI+CkBAIC0yMSw0ICsyNyw0IEBAIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKTsKIGVsZW1lbnQuc2Nyb2xsVG9w
ID0gMTAwMDsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmctZXhwZWN0
ZWQuaHRtbAppbmRleCBmZDY4YTM5NjY4NTZmYzgxZWM1YzI2OTNhOWFiZjZhY2I5ODk3YWMzLi5h
NDNlNTVlZDBmNDUwYzY5MzlmMzAxOWQxYjE2MDZmNjE3NWNiZDcwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLWV4
cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmZsb3ctcGFkZGluZy1leHBlY3RlZC5odG1sCkBAIC0yNCw0ICsyNCw0IEBAIHJhbmdl
LnNlbGVjdE5vZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSk7CiBzZWxlY3Rp
b24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1s
CmluZGV4IDUxZDg4MGI0YjAzYjUyMmUxZTNjYTljMWZiNzE5OGRhOTEwMDg4NTIuLmJmYjEwMjNl
YzM4OTRkZjdmNzNmOWI1MTkwMzdmZGY5ZTkwMmQ4YzQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmcuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRk
aW5nLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgi
VmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IHN0eWxl
PSJvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAwJTsgaGVpZ2h0OiA1MzlweDsgcG9zaXRpb246
IHJlbGF0aXZlOyI+CkBAIC0yNiw0ICszMiw0IEBAIHJhbmdlLnNlbGVjdE5vZGUoZG9jdW1lbnQu
Z2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSk7CiBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOwog
PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29s
dXRlLWV4cGVjdGVkLmh0bWwKaW5kZXggMGNjNzM2MDBjNzRkYWI4ZGU5MzE5NzFiNmI5ZjVlNmFh
YjM3ZWQyMC4uYmRlNjEyZDY1ODllNDlmYjhkNjMxZTJmNzFkNTZiYjcyMzJjNDFlMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
cG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3Rl
ZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZp
ZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBwb3NpdGlvbjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90IG92ZXJsYXAg
dGhlIHZlcnRpY2FsIHNjcm9sbGJhciBvbiBSVEwgbWFjaGluZXMuIFRoZSB0ZXN0IHBhc3NlcyBp
ZiB5b3Ugc2VlIGEgZ3JlZW4gc3F1YXJlIGFuZCBhIHJlZCBzcXVhcmUgYmVsb3cuCkBAIC0xMCw0
ICsxNiw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb246IGFic29sdXRlIGVs
ZW1lbnRzIGRvIG5vdCBvdmVybGFwIHRoZSB2ZXJ0aWNhCiA8ZGl2IHN0eWxlPSJ3aWR0aDogMXB4
OyBoZWlnaHQ6IDMwMDBweDsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMHB4
OyI+PC9kaXY+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBv
ZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1
dGUuaHRtbAppbmRleCBlNTg2MTdhMzI3MzhkOGIwNmZjZmY5MjliOTI2YWUwZTg2ZmMxOGRlLi40
ZTQxYTJiNjJkZTdiZDhjNWRiZmIyNWI0ZWMyODI1OTY2NzczZmE1IDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1h
YnNvbHV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFE
T0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUg
XSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2lu
ZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uOiBhYnNv
bHV0ZSBlbGVtZW50cyBkbyBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIG9uIFJU
TCBtYWNoaW5lcy4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUgYW5k
IGEgcmVkIHNxdWFyZSBiZWxvdy4KQEAgLTEyLDQgKzE4LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBwb3NpdGlvbjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90IG92ZXJsYXAgdGhlIHZl
cnRpY2EKIDwvZGl2PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1w
bGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAppbmRleCAyYzNjZjI3NjUxYTBiNzFlM2FhNjg4ZmFm
NzdjZTJjYjYyOWY5NjZiLi4wYjVkNzljZDBkYjQyMjlhYzcwOGQxMDdmNjJiZGE5YzhlZDdjMTY4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbApAQCAtMTcsNCArMTcsNCBAQAogPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFt
ZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU3VzcGVuZGlzc2UgYSByaXN1cyBuaXNp
LiBNYWVjZW5hcyB1dCBtZXR1cyBncmF2aWRhLCB0aW5jaWR1bnQgYXJjdSBuZWMsIHVsdHJpY2Vz
IGR1aS4gVml2YW11cyBhdCBwcmV0aXVtIHB1cnVzLCBpbiBmZXVnaWF0IG9kaW8uIFBoYXNlbGx1
cyBmYWNpbGlzaXMgbWkgaWQgY29uZGltZW50dW0gY29uZ3VlLiBBZW5lYW4gc29sbGljaXR1ZGlu
IHJpc3VzIGEgYWNjdW1zYW4gZmFjaWxpc2lzLiBTZWQgYWMgZnJpbmdpbGxhIGZlbGlzLiBNb3Ji
aSBtYWxlc3VhZGEgdmVoaWN1bGEgc2FwaWVuLjwvcD4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2lt
cGxlLmh0bWwKaW5kZXggNDBkNjFhZjk2NDJlZGU1Y2I3YTFmNzRmODI4ODc1ODFlMzMwYmIwNS4u
OTc0YWM1ZjNiMTY5ZmJmYjcxN2YwYTA0OTcxNGZjYzgyZTM0ZGNiMSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZs
b3ctc2ltcGxlLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8ZGl2
IGlkPSJlbGVtZW50IiBzdHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgd2lkdGg6IDcwMHB4OyBoZWln
aHQ6IDUwMHB4OyI+CkBAIC0xNyw0ICsyMyw0IEBACiA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQg
YW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTdXNwZW5kaXNzZSBhIHJpc3VzIG5p
c2kuIE1hZWNlbmFzIHV0IG1ldHVzIGdyYXZpZGEsIHRpbmNpZHVudCBhcmN1IG5lYywgdWx0cmlj
ZXMgZHVpLiBWaXZhbXVzIGF0IHByZXRpdW0gcHVydXMsIGluIGZldWdpYXQgb2Rpby4gUGhhc2Vs
bHVzIGZhY2lsaXNpcyBtaSBpZCBjb25kaW1lbnR1bSBjb25ndWUuIEFlbmVhbiBzb2xsaWNpdHVk
aW4gcmlzdXMgYSBhY2N1bXNhbiBmYWNpbGlzaXMuIFNlZCBhYyBmcmluZ2lsbGEgZmVsaXMuIE1v
cmJpIG1hbGVzdWFkYSB2ZWhpY3VsYSBzYXBpZW4uPC9wPgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0
bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxl
Y3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVk
Lmh0bWwKaW5kZXggNDNlY2IwNzk5NjA1MDFmZmZkNjkwOGNlOTM4Y2ZjOGU3YjdjYTcwOS4uOTNh
ZTkwMTY1ZWI0OThlOWM4YWQ5ZmRhMzk1NWM3NWZiZWEwYTBjMyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxlY3Rp
b24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3Rl
ZC5odG1sCkBAIC0xNiw0ICsxNiw0IEBAIHJhbmdlLnNldEVuZCh0ZXh0LCAxKTsKIHNlbGVjdGlv
bi5hZGRSYW5nZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZs
b3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAppbmRleCA1OTliYjhiNTEzNDgzODRhMTZh
YTIwYTAxYWMxNjVmZDYxYTk4NDNjLi5kNDY4MGQ4YjcyM2Y1MmJiMWFmYjFhODZjZmMxYzZlZTky
MjQ5NGQxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9u
LXNjcm9sbGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9
Im1hcmdpbjogMHB4OyI+CiA8ZGl2IHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAw
JTsgaGVpZ2h0OiA0ODVweDsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMTVweDsiPgpAQCAt
MjEsNCArMjcsNCBAQCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZs
b3cuaHRtbAppbmRleCAyMWNmNjgzNDkxMWMyYzRhYmIwZDZiZWJmMjg4YTZhM2UzZWE2M2NmLi43
Y2NmNGMyMWJjMjY2OTE5ZmNmODdmMDFhMjY0YzI0M2Q1NjhhMzRhIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwK
QEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IGlkPSJlbGVtZW50IiBz
dHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgd2lkdGg6IDcwMHB4OyBoZWlnaHQ6IDUwMHB4OyI+CkBA
IC0yNiw0ICszMiw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0Pgog
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJs
YXktbm8tcHVzaC1jb250ZW50cy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0
bWwKaW5kZXggMzc2ZmUwNjg1YWMzY2ZiZWM4ZDgwZDcyNDA0NzM3NTExZTczYWZkNS4uMmQ0YzRl
ZWY1ZjU0OTg5MTVjZDk3OGJjYzc0OTA2MmI4ZTQ2YzIxZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRz
LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwKQEAgLTEsNyArMSwx
MyBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxi
YXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+
CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwv
c2NyaXB0PgorPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5z
ZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnModHJ1ZSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1j
b250ZW50cy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
b3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLmh0bWwKaW5kZXggZDcwYjgyMWRlYjQ5YWU4Y2M1NWMz
NjBkYmFmYWMxZDhkNDM4Nzg3NS4uZDNiMWQyZDgxZjk3Y2NhNzZhYmNhMTVhZTA2ZWVjNzJlZThj
NGQwOSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLmh0bWwKQEAg
LTEsNyArMSwxMyBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBy
dGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4K
IDxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAg
IHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwi
KTsKK30KKzwvc2NyaXB0PgorPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGlu
dGVybmFscy5zZXRVc2VzT3ZlcmxheVNjcm9sbGJhcnModHJ1ZSk7CiA8L3NjcmlwdD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9u
LWFic29sdXRlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCmluZGV4IDRmMjY2MDk4
ZWFkMTUwYzY3MTE0YzkwNmExMjUzYWQxZmY0N2E3YjIuLmZlNjUyMzZhZTU4MmM0NzRhYTZkMDQ5
ZjkxMTlmYzdmNjJlZDc2NTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUt
ZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlv
dXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0i
bWFyZ2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQiIHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBv
c2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTAwcHg7Ij5wcHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRp
b24tYWJzb2x1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWwKaW5kZXggOTZjMTY3OWVkNWEyMGE4YmVjY2EwZTZh
YjBhNWE1M2ZhMjJkNjIzNy4uMjYxZDI1NmY0OTA2ZDg2NmMxN2ExNzY4OGMxNzk4MDc4Y2FmYzk4
OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
cG9zaXRpb24tYWJzb2x1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwh
RE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVl
IF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBpZD0idGV4dCIgc3R5
bGU9ImZvbnQ6IDIwcHggQWhlbTsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxMDBweDsiPnBw
cHBwcHBwcHBwcHBwPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQu
aHRtbAppbmRleCA0MTAxN2FkNmVmYmQ3MGExNTVkNzYyZWQ1MDMxNzQ4MTc0NmQ2NmE3Li42OTZh
MmNmY2Q4NGEyMmFhNjkxY2YzODZlMWZlODM1YmEwMDQ1MWIwIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC1leHBlY3Rl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHlsZT0iZm9udDog
MjBweCBBaGVtOyBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDEwMHB4OyI+cHBwcHBwcHBwcHBwcHA8
L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXBvc2l0aW9uLWZpeGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC5odG1sCmluZGV4IGU3ZjAxYjM4ZTMwMDhlZGUxZGE5
ZTJjYTU5MjhiNjgwYWJkYWViNDcuLjBkYTNkOTM2NzllMThjODAxZDQ4ZGVlODAwMTU2Mjk4YzJi
MzUzMGUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXBvc2l0aW9uLWZpeGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURP
Q1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBd
IC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5k
b3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQiIHN0eWxl
PSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMTAwcHg7Ij5wcHBwcHBw
cHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWwKaW5kZXgg
N2Q5YjIyNjUyNTJhNmE2M2I2Mjg1NDVjYzNmNTdiY2E2NDdlNTNjNS4uYWQzOWNiODU3NWRiZjk2
MzBjOGM1OTYxNmNiNzM5NWU2MmFiMDRkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBl
Y3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxzdHlsZT4KIGRpdiB7CiAgICAgZm9udDog
MjBweCBBaGVtOwpAQCAtMTksNCArMjUsNCBAQCBkaXYgewogPGRpdiBzdHlsZT0icG9zaXRpb246
IGFic29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMjEwcHg7Ij5tPC9kaXY+CiA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IHdpZHRoOiAxcHg7IGhlaWdo
dDogMjAwMHB4OyI+PC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLmh0bWwKaW5kZXggYTA2NWM5YjZmMzNhNmFl
YjVkZWU0ZTIzNTU3MWVhNjU5NGNlMjk1Yi4uNzkzNzM5MTViYzAyYTQ0YTdhMDI5NTE2MDcxODA3
NDY3OTMzNzVhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxz
dHlsZT4KIGRpdiB7CiAgICAgZm9udDogMjBweCBBaGVtOwpAQCAtMzUsNCArNDEsNCBAQCBkaXYg
ewogPC9odG1sPiI+PC9pZnJhbWU+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxl
ZnQ6IDBweDsgdG9wOiAwcHg7IHdpZHRoOiAxcHg7IGhlaWdodDogMjAwMHB4OyI+PC9kaXY+CiA8
L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxl
LWV4cGVjdGVkLW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAppbmRleCBjNmZjODgyMmUy
NDMxMTEyN2Q3NGNiMTQwOWRkYzNhOGVmN2U0ZGRlLi5kOGYxMTJiZDRjZGQzNzZlMjk0ODM0ZGE2
OTU3NWQzMTNmNTVkN2NiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApAQCAtNSw0ICs1LDQgQEAKIDxib2R5IHN0eWxlPSJoZWlnaHQ6IDEwMDBweDsiPgog
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBydGwgc2Nyb2xsYmFycyBhcmUgb24gdGhlIGxlZnQg
b2YgdGhlIG1haW4gZnJhbWUuCiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRtbAppbmRleCA3OGJkMDUwMDA4YWE4MTE0YjkyMzQ2ZWYz
M2I5MGFhYzE4M2Y1YjE4Li44MWZiZDllY2U3Y2NjNjVjNTk1NDRhZjJkNzQyZWM5OGQxYzM5NTA3
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1z
aW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1zaW1wbGUuaHRtbApAQCAtMSw4ICsxLDE0IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlv
dXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0i
aGVpZ2h0OiAxMDAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcnRsIHNjcm9sbGJh
cnMgYXJlIG9uIHRoZSBsZWZ0IG9mIHRoZSBtYWluIGZyYW1lLgogPC9ib2R5PgotPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlj
a3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sCmluZGV4IDNlMDIwODE2ZDYwZTUwNGY5MTI3NDJm
MDgxNmNlOTZlNDM2ODc2OGMuLmMzYWYzNzlkNjk1OGMwN2ZmZDI2ZTBmZGE5YTUyNzVmNTlhMjdj
NDggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXN0aWNreS1kb2N1bWVudC0yLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbApA
QCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJU
TCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4K
IFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3Jv
bGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xMiw0ICsxOCw0IEBAIFRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9z
aXRpb25pbmcuCiB3aW5kb3cuc2Nyb2xsKDg1MCwgMCk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQt
Mi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWRvY3VtZW50LTIuaHRtbAppbmRleCAwZjJlY2JlYjg3M2IwNjNjMTMxMWJiZjNlMTlkM2IzYjlj
MjVlNWU3Li4wMzFhOWJiMWY4ZDk0MTUxMWQ2MTA5ZDEzNWU0YWE1ZDZlNjg3MWI1IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9j
dW1lbnQtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1kb2N1bWVudC0yLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBv
c2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAt
MTEsNCArMTcsNCBAQCBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBv
YmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgogd2luZG93LnNjcm9sbCg4NTAs
IDApOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtZXhwZWN0ZWQuaHRt
bAppbmRleCA1MjhlODMwNDRlYTQ0MDA4NzMwYTQ4NGUyZmQ4M2RmNWFlNzBkMTkwLi4yNmM1MTNi
MDRkMTUzZWQ1MjNjOWZhOGE1NWM1ZjFmM2IxOTQ1ZjAzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtZXhwZWN0ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlj
a3ktZG9jdW1lbnQtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8
Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9z
aXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC05
LDQgKzE1LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2Jl
eXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KICAgICA8ZGl2IHN0eWxlPSJwb3Np
dGlvbjogYWJzb2x1dGU7IGxlZnQ6IDY4NXB4OyB0b3A6IDBweDsgd2lkdGg6IDEwMHB4OyBoZWln
aHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVlbjsiPjwvZGl2PgogPC9kaXY+CiA8L2JvZHk+Ci08
L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3kt
ZG9jdW1lbnQuaHRtbAppbmRleCBjNzY3NWRmNTI3ZWUwZWRjYjFiYmVkZWM4ZmJkNTU1MjU2MTE5
N2M1Li5mYzMzODYwNjE0NDA3MTI0MjAwOGIwZGY3OTE1NmMxNGFiY2E3MTNmIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1l
bnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1z
dGlja3ktZG9jdW1lbnQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBF
IGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0
ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBz
dHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24t
c3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC04LDQgKzE0
LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRM
IHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KICAgICA8ZGl2IHN0eWxlPSJkaXNwbGF5OiBp
bmxpbmUtYmxvY2s7IHBvc2l0aW9uOiBzdGF0aWM7IHdpZHRoOiA4MDBweDsgaGVpZ2h0OiAxMDBw
eDsgYmFja2dyb3VuZDogYmx1ZTsiPjwvZGl2PjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1i
bG9jazsgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5OyBsZWZ0OiAwcHg7IHJpZ2h0OiAwcHg7IHdp
ZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW47Ij48L2Rpdj48ZGl2
IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiBzdGF0aWM7IHdpZHRoOiA4
MDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogYmx1ZTsiPjwvZGl2PgogPC9kaXY+CiA8
L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWlmcmFtZS0yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQuaHRtbAppbmRleCA2Mzk1NTZlYzY5
MDRhMjMxOGRiZDE0MzlkNDZkMzRkYzhiZGI3OWQ0Li4zOTZjMTk0ZTIxYTQ2OTRmYmI5MWQyODkw
YjRjM2FhNmY4ZWY5NzVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0
ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJl
Y3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2lu
OiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlz
IFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xOCw0ICsyNCw0IEBAIHdpbmRv
dy5zY3JvbGwoODUwLCAwKTsKIDwvYm9keT4KIDwvaHRtbCI+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTIu
aHRtbAppbmRleCBmZDQxYWZjOTUyYjIzMzExMDcyYjIyZTExM2VjNDRiZjY2MDMxZmZkLi4zOWU0
YTQ4NmMwYzZlNjljODAwZTRhZDU2MThiZDRkOTQwNjA0MzI3IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTIuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZy
YW1lLTIuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFy
Z2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9i
ZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xNyw0ICsyMyw0IEBAIHdp
bmRvdy5zY3JvbGwoODUwLCAwKTsKIDwvYm9keT4KIDwvaHRtbCI+CiA8L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWlmcmFtZS1leHBlY3RlZC5odG1sCmluZGV4IDQ4NjEyOTYxZjFmZmI3YmVmMDEwZDJkNDNiYThk
ZjcxOWY0OTYzMDcuLmMzYmNmNjA3MmQxODdiZmQzNzhhYzFkMzM1YzJhYzhkZjg3MjQ3ODAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1pZnJhbWUtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBA
QAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJz
PXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiBUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBv
c2l0aW9uaW5nLgpAQCAtMTUsNCArMjEsNCBAQCBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBv
c2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgogPC9i
b2R5PgogPC9odG1sIj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWwKaW5kZXggNDkwMTQ2Mjc2OTE3NTQ0
OTdjN2ExOWVhMDgzNWIwNzc2ZWE2MTEwZS4uNzUyMmEzZmM0ZDhlNjNmNGUxOWFmZTE5MzNhZTA4
YzgyY2Q4ZTNjNiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1
ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBz
dXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRp
b25pbmcuCkBAIC0xNCw0ICsyMCw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRp
b24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiA8L2JvZHk+
CiA8L2h0bWwiPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0y
LWV4cGVjdGVkLmh0bWwKaW5kZXggYjUzNjNlNTIxYzAzMThiMmNmOTkwMzE0NjI3YzdmYWZiYTk0
ZDNlOC4uYjdlODk4YmRjODEzY2E1ODUyZDk0OGU5YmE4MDZkN2E3YWZlMjI2YyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJm
bG93LXNjcm9sbC0yLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVjdGVkLmh0bWwK
QEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+
CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Ny
b2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAtMTUsNCArMjEsNCBAQCB2YXIgc2Nyb2xsaW5n
RWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGxpbmciKTsKIHNjcm9sbGlu
Z0VsZW1lbnQuc2Nyb2xsTGVmdCA9IDEwMDA7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xs
LTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCmluZGV4IGFlMzc1ZDUzNzY3MzY5NGRmNDhmMTE2MGFh
MGE0MWE4ZThmYTkxNDYuLmNhMjc1YTc2MGM1YTNiNjAzNzY0ZjJlNGY2NThiODdiMGVjMTY0ZjQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCkBAIC0xLDYg
KzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Ny
b2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9
Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0
ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMg
d2hlbiBwb3NpdGlvbmluZy4KQEAgLTE0LDQgKzIwLDQgQEAgdmFyIHNjcm9sbGluZ0VsZW1lbnQg
PSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgic2Nyb2xsaW5nIik7CiBzY3JvbGxpbmdFbGVtZW50
LnNjcm9sbExlZnQgPSAxMDAwOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sCmluZGV4IGZkZTE1NDBjOWY0NTRmN2YzZDBk
ZDMxZWUyZGJjOGUzZmIxNWZkZDguLjBhZGM0MjU1YzY5YzJlYzZhOTdhOGZkM2Q1NmU2YWFiOTg5
ZWMxZDIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4
cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0
RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1h
cmdpbjogMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBv
YmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAtMTEsNCArMTcsNCBAQCBU
aGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xs
YmFycyB3aGVuIHBvc2l0aW9uaW5nLgogPC9kaXY+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xs
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3kt
b3ZlcmZsb3ctc2Nyb2xsLmh0bWwKaW5kZXggMTA5ODhlMjFjODkxNWRkMjY5M2NkNWZiZGI3NmYx
MGFlYTliY2I2Yi4uMTZmYzhhNmRmNzA5ZTUzYTU2ZmI0NGE1ODk5ZjYwMDhiMjllMjkyOCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LW92ZXJmbG93LXNjcm9sbC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbApAQCAtMSw2ICsxLDEyIEBA
Ci08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9
dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9z
aXRpb25pbmcuCkBAIC0xMCw0ICsxNiw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9z
aXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiA8L2Rp
dj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC5odG1sCmluZGV4
IDdlZjVlM2UyODUzZTBmOWMyMTZiNmE1OGU3ODY2NmZjODEzZTY5NTkuLjllY2FlZjAwNGM4N2Ew
OWEzNzcyMDliYjUzOWM2ZmQ5M2NjYjliYzIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rp
b24tZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHls
ZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQiIHN0eWxlPSJmb250OiAyMHB4IEFoZW07
Ij5wcHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0
aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKaW5kZXggZWQ2YjNkNDcyZGI5MDc5MGIzZGM4YmM3
YjY4OGY0ZGE3ZTA4MDVkMy4uNzYyMWEyNDMwY2MxNWUyOGM5Y2UxYzcyNmI4OTkyYmRkMDJjYWE1
ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
dGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBl
Y3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJn
aW46IDBweDsiPgogPGRpdiBpZD0idGV4dCIgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsiPjxicj48
YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxi
cj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJy
Pjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+
PGJyPjxicj48YnI+PGJyPjxicj48YnI+cHBwcHBwcHBwcHBwcHA8L2Rpdj4KQEAgLTE3LDQgKzIz
LDQgQEAgcmFuZ2Uuc2V0RW5kKHRleHQsIDEpOwogc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsK
IDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCmluZGV4
IDU1N2IyM2I3ZGFmNzAwOWIzNTkxMWUwNzczMjI3YjQ4ZWVjZWY2YTIuLjAzMGEwZTNmNjU0N2Ji
YjRhN2Q5MTA1ZGUwZDAzZTYxNzkzNTAxYTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rp
b24tc2Nyb2xsZWQuaHRtbApAQCAtMSw1ICsxLDExIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgi
VmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPGhlYWQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHls
ZT0ibWFyZ2luOiAwcHg7Ij4KQEAgLTE2LDQgKzIyLDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgewogfQogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLmh0bWwKaW5kZXggNGRiYzg4YWYw
ZmUyYTQ4NGM3YTY3YjhkMTcwZDEyZDBhNTM5OGU1MS4uYzBmZjljNTA0MjNjMTNmNmE2MjA2MDA1
OTMzMGI2M2FhMjQ0OTYwNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi5odG1sCkBAIC0xLDYgKzEs
MTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xs
YmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHls
ZT0iZm9udDogMjBweCBBaGVtOyI+cHBwcHBwcHBwcHBwcHA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy5odG1sCmluZGV4IDA2ZTdkMjViNWQ1MzAy
ODJmNDFiYjg1NTFiYTgwMzE0MzIwYjQzODQuLjQxNGMwMGQ5ODA0MzZlNGU1ZGYxZmIzNWFkZWEz
YmRjODA2ZGFmMDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0iaGVp
Z2h0OiAxMDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246
IGFic29sdXRlOyBsZWZ0OiAwcHg7IGJvdHRvbTogMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBydGwgc2Nyb2xsYmFycyBhcmUgb24gdGhlIGxlZnQgb2YgdGhlIG1haW4gZnJhbWUuPC9k
aXY+CkBAIC0xMyw0ICsxOSw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2Ny
aXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL3BsYXRmb3JtL21hYy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1hbmltYXRpb24tcHJvcGVydHktZXhwZWN0ZWQucG5nIGIvTGF5b3V0VGVz
dHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1w
cm9wZXJ0eS1leHBlY3RlZC5wbmcKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uZmYxNmQ4NDliMzdmMzcyYWQ4Mzc1YjZk
MmNiYWVjNTk2MzlmZTMzOApHSVQgYmluYXJ5IHBhdGNoCmxpdGVyYWwgMTEyMjYKemNtZUhOWWZ1
d2M2eTk5fDFgcjhhcHJzKElBWGNxbkt9cn1iRUg4bXBwIz9qalA2LXd3UEhoUVFEcDckWFIwYjdt
CnpRMHBqKUx9bkMqOEFjb31NRm8+TVNWP3MlN09PeEo2M1JvfjJAb05LUDB+I1p5WClnYHI9OENJ
bTdTQSY/JXMzbQp6ZDNAaFY0dTJkSVg9bWVOMTN7Mm9iWDBnODFYLVhFZ2R7U3AyKzcmS2NeU21W
aXArP18lI0B3bmx3RXRpYDNtQ3QKenZEdG9+cn0oOUV4IWlUV3pDUTEjXztYV3oxOW91entJPjY0
PytBZEtyRVA9fnllQlIpNnVTSnRicFYxXmFpWVVSCnpIdUs/O2pAIyszc1h5bGJ5MVF9VipnS3pX
SSNheWVOPEpmRmRQNSNRQSRqd1lxMXs7IyQpYkRodTdoN3p3Y2M4fgp6PFdqN21eTCRuMk1eb3w1
e3N+SGYkPFdiVyVkPH5OTk5fZz10aztaYStYbVZASXl3diQ/bV5qWFM4P052VT9oO2kKeldUQlc0
ZilWMEQ3YnI1fTlUdCpCcXkpdC1FSkx4YUMtJX07WjQoVUBCO29pKFEtTkFLR3Bnd3Ayan04Q1pS
OEs+CnpKZjN8dU4wIUB2PEwkcTtvODRzdGtfUFdTQklaZV9gIXF3PHZRQiRrKF9tajkkPCteTmRR
V299cj5DY25zLTxERwp6TT08TSUxV1BqfUJkXjVCQ2RRdVdiU2NBYGZqTkNJPzZ9NX1aQ2V5PFk8
KFF8dHZGfSQ7UUBkMTtwZmhiWiZBSUEKejw8NS1NMWBDWCopeG5jKG9XKikpK1Y/Q3pyV3pKbGpM
WGp6IztUUkZVfHJ5YkhHTEVMKVFZNE1kN0R+VGVfY3swCnpWYlNjNjkyRyotc2t0an5qQ3htbndu
Kj8/b2N6SV5zciVrQ1NFKnNMVTUyfVBhSShqSz5ibGt4Ymxeb3RjdEAkQwp6RSQlNGE4X3pTST81
K3FVNE9TdGQ8cHomTDxGVnRteCV0YEY8U1J3YW98PXBCYyZwTjV5Znd7UihIQClzX2JtfkkKeiUx
dCUkbFU5bHBmbW8zdUY+cCphKD8zJnAjdCVWYVR+S2V1RkVqOzZXWG9WRUVPJHh8bDZ5ZCtgLUYm
X0U8SGpNCnp7VHIpRipJYE13X0IjcD1pRjJHfWloMHlVRnhSZ1ZFdz9OMz1YSGpjR3pKeE5kTXMl
N1R6Ym12ZnN2N3NGMT1ucQp6enlJWUpAIW0hX3lRaTxPUHhDbHw8OTRqRXlHdDgrSW1UMlg3MkdA
QEgxUXFIPGtQRCZqT2BBbEB1c09hVC0yU24Kej5QJVRUWnI7QEU0MFV5Tkd3ME1+U2d9eHprN2NQ
ZzNycTRVbFFAIT4xUzliPD5+bWBUNztWUUlBKyUrWSVVbkRYCnpKMCEwfXZHVFoxMlRGOXNpR31W
OHdWPkkkKFVQSXFkQHFuQDtTJlQmLUwjVm82Q3k3dmc7NFFfYHl3ZmtkQENsYgp6dmJMaWdhOyts
XmpiRVhyTFg/JGclUGpJTXFhQiEwUEhlb2cqTnJDSDE7YmFwKjNGZHhiQVdCZWdjfm9fZHIrZH0K
eiloUERscGNRVDdHZDllayVJfnZpSGRHTmRvUDlgbjB5cWFhaGxxWDxJZGlFNyh1JTVZcHlyVVo2
Y2w4I0dsRmhLCnp3cGBINE5oSTsjJDJwPkYoN3h3YHBXP3MyMCN1cCFuaFluRCpJOXA8e1IrVGs9
e19VS2lrVWFIdzZ2c1E3M35BUQp6TzBwXnQ0O2h2NkV5QVp5cFNudG9ga3tzfntgd041O18tbXco
TnR7aHFja1pFUGh6UyMoUyZrUHIpKFotc2tTJTYKelNZYGR8UTdvcEMqcHdJK0Qxek5JcktFcH1o
eU4qelJxZlluUEdtXzAjXzQ2OHozaiF9ZitAOTxxcGd1MWxKOVoyCnp1OWRrcl4qKCNuNyhJKXFg
QjVzNFR+VUcydUE7VjxyO0wmOHIkY1JEMlZKVH4mKjAhLUYteU9GQXo4NHsqUUtlPgp6eXshNzVm
I3FfT2JKZmVCOCg7Nzs+SzRVTFc/YGVGcXZnVCM9djA5M2gyK2xiRGFKI21YJEo3RTV1fDRzekVV
NFIKeihGa0lwV1ozPC1VZW5kIXlGfWFJbk5jaHM8SlMrez1GQVp2KW15Z05TSyZXUT47cmRBbUUm
UXskKWQkIzsweyQjCnpfZVA0TlU+cj1TLUwjdEtGJjJYbkNIJmZwKVdJJXpxbk4oaiQobEw8Nkcx
JVhZPkx5TzUxbTxQUEpBSF5QY3ZZNgp6VlI4dmdyPUs3PygjaS01VktETjlrb0RSSkcjI3hhQlRE
KCgobTZPcmduYkFtV1cxUzEpNnBaeU1jeDwzc25pZ20KekQyNSNNclJuNnJhST0zKzZ3TzJ5M3gp
MyUoeyFYbFh5RHZkUHMmNzskdChoSDBkNjdjMV9xKnEkUHwhN0x+I0pNCnojYXVIJSR1K2tVKDIw
bUgzPnZnS0FwbVk2RmRLayNYMj1PcEU8dTk8XyV7PDJ6PTtUYzIma2YmJkhASCk9MjJqPAp6S3FM
ZWhFU1B4fDclWUluIXRDQEEzPkxzKFZSa3dYMWBBLVlLcVB+aU19ZmZ0NyVhXkdWQUY0bEoyIWIw
PURAdVkKUjstOSteNmRlJjBlbU9LYj9AdVpwJHZnbDYKCmxpdGVyYWwgMApIY21WP2QwMDAwMQoK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277337</attachid>
            <date>2016-04-25 22:07:55 -0700</date>
            <delta_ts>2016-04-26 09:12:10 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-156948-20160425220823.patch</filename>
            <type>text/plain</type>
            <size>134990</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMDczCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzllODFkMzZkYzQ1Y2Vi
ZjJiZGZhYWRlZTJiZjc2MjMwYmYwNTJkMS4uZDcxNzI0N2NlMDgzYjEzODU0N2VhNDliMmQyNGQ2
YzM0OGI0ZjI3ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSw1ICsxLDEzNyBAQAogMjAxNi0wNC0yNSAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgogCisgICAgICAgIFtXSzJdIFtP
UyBYXSBDcmVhdGUgQVBJIGZvciBzd2l0Y2hpbmcgUlRMIHNjcm9sbGJhciBwb2xpY3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njk0OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjU3MDc3NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZ
IChPT1BTISkuCisKKyAgICAgICAgVGhlcmUgYXJlIHR3byBzY2hvb2xzIG9mIHRob3VnaHQgZm9y
IHdoZXJlIHRvIHB1dCBzY3JvbGxiYXJzIGluIFJUTCBlbnZpcm9ubWVudHMuCisgICAgICAgIFRo
ZSBmaXJzdCBpcyB0aGF0IHdlIHNob3VsZCBvYmV5IHRoZSBjb250ZW50J3MgImRpciIgYXR0cmli
dXRlLCBzcGVjaWZpZWQgb24gZWFjaAorICAgICAgICBlbGVtZW50LiBUaGUgc2Vjb25kIGlzIHRo
YXQgd2Ugc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgcGxhdGZvcm0gKEFwcEtpdCdzKQor
ICAgICAgICBiZWhhdmlvci4KKworICAgICAgICBUaGVyZSBhcmUgc29tZSBzaXR1YXRpb25zIHdo
ZXJlIHRoZSBwbGFjZW1lbnQgc2hvdWxkIGJlIGRvbmUgYWNjb3JkaW5nIHRvIHRoZQorICAgICAg
ICBjb250ZW50LiBGb3IgZXhhbXBsZSwgdGhpcyBwb2xpY3kgd291bGQgYmUgdXNlZCBpbiB3ZWIg
YnJvd3NlcnMuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgYXJlIGFsc28gcGxhY2VzIHdoZXJl
IHdlYiBjb250ZW50IGlzIGRlc2lnbmVkIHRvIGZpdCBzZWFtbGVzc2x5CisgICAgICAgIGFtb25n
c3QgbmF0aXZlIGNvbnRlbnQuIEluIHRoaXMgc2l0dWF0aW9uLCB0aGUgcGxhY2VtZW50IG9mIHRo
ZSBzY3JvbGxiYXJzIHNob3VsZAorICAgICAgICBiZSBkb25lIGFjY29yZGluZyB0byB0aGUgdmll
dy4KKworICAgICAgICBCZWNhdXNlIFdlYktpdCBkb2Vzbid0IGtub3cgd2hpY2ggb2YgdGhlc2Ug
c2l0dWF0aW9ucyBpdCBpcyBvcGVyYXRpbmcgd2l0aGluLCB0aGlzCisgICAgICAgIHBhdGNoIGFk
ZHMgYSBuZXcgQVBJIHByb3BlcnR5LCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LCB0
bworICAgICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uUG9saWN5LiBUaGlzIGFsbG93cyBjbGll
bnRzIHRvIGluc3RydWN0IHVzIHdoaWNoIHBvbGljeSB0bworICAgICAgICBhYmlkZSBieS4gSXQg
aXMgcGx1bWJlZCB0byB0aGUgd2ViIHByb2Nlc3MgaW5zaWRlIHRoZSBXZWJQcmVmZXJlbmNlc1N0
b3JlIGFuZCBpcworICAgICAgICB1bHRpbWF0ZWx5IGhlbGQgaW5zaWRlIHRoZSBQYWdlJ3MgU2V0
dGluZ3Mgb2JqZWN0LgorCisgICAgICAgIFRoaXMgU2V0dGluZyBpcyBjb25zdWx0ZWQgYnkgUmVu
ZGVyTGF5ZXJNb2RlbE9iamVjdCwgd2hpY2ggc2VydmVzIGFzIGEgZ29vZAorICAgICAgICBjZW50
cmFsaXplZCBwbGFjZSBmb3IgdGhpcyBwb2xpY3kgaW1wbGVtZW50YXRpb24uIFRoaXMgaXMgdGhl
IGNsYXNzIHdoaWNoIGRlY2lkZXMKKyAgICAgICAgaWYgd2Ugc2hvdWxkIGJlIGNvbnN1bHRpbmcg
aXRzIFJlbmRlclN0eWxlIG9yIHRoZSBwbGF0Zm9ybSBpdHNlbGYgd2hlbiB3ZSBkZWNpZGUKKyAg
ICAgICAgd2hlcmUgdG8gcHV0IHRoZSBzY3JvbGxiYXJzLgorCisgICAgICAgIFB1dHRpbmcgdGhp
cyBkZWNpc2lvbiBpbnNpZGUgdGhlIHJlbmRlcmVyIGlzIGltcG9ydGFudCBiZWNhdXNlIFNjcm9s
bGFibGVBcmVhCisgICAgICAgIG9mdGVuIG5lZWRzIHRvIGtub3cgaWYgc2Nyb2xsYmFycyBzaG91
bGQgYmUgcHV0IG9uIHRoZSBsZWZ0LCBidXQgU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgZG9lc24n
dCBrbm93IGFueXRoaW5nIGFib3V0IFJlbmRlclN0eWxlcy4gVGhlcmVmb3JlLCB0aGUgcmVuZGVy
ZXIgbXVzdCBiZSB0aGUKKyAgICAgICAgaW50ZXJtZWRpYXJ5IGJldHdlZW4gU2Nyb2xsYWJsZUFy
ZWEgYW5kIHRoZSBSZW5kZXJTdHlsZS4gKFNjcm9sbGFibGVBcmVhIGFsc28KKyAgICAgICAgZG9l
c24ndCBkaXJlY3RseSBrbm93IGFueXRoaW5nIGFib3V0IHJlbmRlcmVycyBlaXRoZXI7IGhvd2V2
ZXIsIGVhY2ggb2YgdGhlCisgICAgICAgIHN1YmNsYXNzZXMga25vd3MgYWJvdXQgYW4gYXBwcm9w
cmlhdGUgcmVuZGVyZXIuKSBUaGVyZWZvcmUsIFNjcm9sbGFibGVBcmVhIGdldHMKKyAgICAgICAg
YSBuZXcgdmlydHVhbCBtZXRob2Qgd2hpY2ggaXMgaW1wbGVtZW50ZWQgYnkgdGhlIFJlbmRlckxh
eWVyTW9kZWxPYmplY3QuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzKi5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHBy
b2o6IFNjcm9sbGFibGVBcmVhTWFjLm1tIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuCisgICAgICAg
ICogcGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaG91
bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KTogT3ZlcnJpZGRlbgorICAgICAg
ICBTY3JvbGxhYmxlQXJlYSBmdW5jdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgor
ICAgICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOgor
ICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOiBBZGRpbmcgdHdvIG5ldyBzZXR0aW5n
czogT25lIHRvIGtub3cgaWYgd2Ugc2hvdWxkCisgICAgICAgIGNvbnN1bHQgd2l0aCB0aGUgUmVu
ZGVyU3R5bGUgb3IgdGhlIHBsYXRmb3JtLCBhbmQgdGhlIG90aGVyIGlzIHdoZXRoZXIgb3Igbm90
CisgICAgICAgIHRoZSBwbGF0Zm9ybSBjb25zaWRlcnMgaXRzZWxmIHRvIGJlIFJUTC4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmRvY3VtZW50U2Nyb2xsUG9zaXRpb25SZWxhdGl2ZVRv
Vmlld09yaWdpbik6IFVwZGF0ZSB0bworICAgICAgICB1c2UgbmV3IG1lY2hhbmlzbS4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9sbENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6OmxvY2F0aW9uT2ZDb250ZW50cyk6IERpdHRvLgorICAg
ICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KTogRGVsZXRlZC4gVGhpcyB3
YXMgdGhlIG9sZAorICAgICAgICBtZWNoYW5pc20uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxh
YmxlQXJlYTo6c3lzdGVtTGFuZ3VhZ2VJc1JUTCk6IERlbGV0ZWQuIERpdHRvLgorICAgICAgICAq
IHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9s
bGFibGVBcmVhTWFjLm1tOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFy
ZWE6OnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29y
ZTo6U2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwpOiBEZWxldGVkLgorICAgICAg
ICAqIHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6
OlNjcm9sbGJhclRoZW1lTWFjOjpkaWRDcmVhdGVTY3JvbGxlckltcCk6IFVwZGF0ZSB0byB1c2Ug
bmV3CisgICAgICAgIG1lY2hhbmlzbS4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1dyaXRpbmdN
b2RlLmg6IFRoZXNlIGVudW1zIHNob3VsZCBtYXRjaCB3aGF0J3MgaW4gV2ViS2l0Mi4KKyAgICAg
ICAgKiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVy
QmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudCk6IFVwZGF0ZSB0byB1c2UgbmV3IG1l
Y2hhbmlzbS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZz
ZXRGb3JDb250ZW50KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxv
dy5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmRldGVybWluZUxvZ2lj
YWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5k
ZXJCb3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29udGVudEJv
eFJlY3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpvdmVyZmxvd0NsaXBSZWN0KToK
KyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lk
dGgpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVyZmxvd1JlY3RGb3JQ
cm9wYWdhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNw
cDogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29uc3Ry
YWluaW5nUmVjdEZvclN0aWNreVBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlc2l6ZSk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyU3RhcnQpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVu
Y2VzLgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyUmVjdCk6IERpdHRvLgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OnJlc2l6ZXJDb3JuZXJSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6c2Nyb2xsQ29ybmVyQW5kUmVzaXplclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdl
YkNvcmU6OlJlbmRlckxheWVyOjp2ZXJ0aWNhbFNjcm9sbGJhclN0YXJ0KTogVXBkYXRlIHRvIHVz
ZSBuZXcgbWVjaGFuaXNtLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhvcml6b250
YWxTY3JvbGxiYXJTdGFydCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6
Om9mZnNldEZyb21SZXNpemVDb3JuZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpwb3NpdGlvbk92ZXJmbG93Q29udHJvbHMpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVu
Y2VzLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNp
b25zKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dDb250
cm9sc0ludGVyc2VjdFJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVy
OjpkcmF3UGxhdGZvcm1SZXNpemVySW1hZ2UpOiBVcGRhdGUgdG8gdXNlIG5ldyBtZWNoYW5pc20u
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRSZXNpemVyKTogTWlncmF0ZSB0
byB1c2UgcmVmZXJlbmNlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjppc1BvaW50
SW5SZXNpemVDb250cm9sKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6
aGl0VGVzdE92ZXJmbG93Q29udHJvbHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckxheWVyOjpoaXRUZXN0UmVzaXplckluRnJhZ21lbnRzKTogRGl0dG8uCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyLmg6IFNjcm9sbGFibGVBcmVhIG92ZXJyaWRlCisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpS
ZW5kZXJMYXllckNvbXBvc2l0b3I6OnBvc2l0aW9uRm9yQ2xpcExheWVyKTogVXBkYXRlIHRvIHVz
ZSBuZXcKKyAgICAgICAgbWVjaGFuaXNtLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXll
ck1vZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmpl
Y3Q6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQpOgorICAgICAgICBU
aGlzIGlzIHRoZSBtZWF0IG9mIHRoaXMgcGF0Y2guIFRoaXMgaXMgd2hlcmUgd2UgZGVjaWRlIGlm
IHdlIHNob3VsZCBiZQorICAgICAgICBpbnRlcnJvZ2F0aW5nIHRoZSBSZW5kZXJTdHlsZSBvciB0
aGUgdW5kZXJseWluZyBwbGF0Zm9ybS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJN
b2RlbE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDogVXBk
YXRlIHRvIHVzZSBuZXcgbWVjaGFuaXNtLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJv
eDo6aXRlbUJvdW5kaW5nQm94UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94
OjpwYWludFNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojppc1Bv
aW50SW5PdmVyZmxvd0NvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6
bGlzdEluZGV4QXRPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29u
dHJvbENsaXBSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmludmFsaWRh
dGVTY3JvbGxiYXJSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbnZl
cnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIpOgorICAgICAg
ICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRl
clZpZXcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRW
aWV3UmVjdGFuZ2xlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3Bw
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQpOiBUaGlzCisgICAgICAgIGZ1bmN0aW9uIGlzIG5vdyBtdWNoIGR1
bWJlci4gSXQganVzdCBpbnNwZWN0cyBpdHMgb3duIHN0eWxlLgorICAgICAgICAqIHRlc3Rpbmcv
SW50ZXJuYWxTZXR0aW5ncy5jcHA6IEFsbG93IG1vY2tpbmcuCisgICAgICAgIChXZWJDb3JlOjpJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KToKKyAgICAgICAg
KFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3kpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c3lzdGVtTGF5b3V0
RGlyZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6
CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKworMjAxNi0wNC0yNSAg
TXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCiAgICAgICAgIFtDb2Nv
YV0gR3VhcmFudGVlIEZvbnRQbGF0Zm9ybURhdGEncyBtX2NnRm9udCBpcyBuZXZlciBudWxscHRy
CiAgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY5MjkK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291cmNlL1dlYktpdDIv
Q2hhbmdlTG9nCmluZGV4IDhiZDQyNzU0YTJmNWQ0N2UyNTYxYzJiNzc5ZDEwNGMyODY1MTk0MWUu
LmZiMGJjYTUxM2Q1ODkwZDU3MmJlZjI0YmRhYTQ5MWEyODJmMTQwNmEgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwyNyBAQAorMjAxNi0wNC0yNSAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRA
YXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFtPUyBYXSBDcmVhdGUgQVBJIGZvciBzd2l0Y2hp
bmcgUlRMIHNjcm9sbGJhciBwb2xpY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcv
c2hvd19idWcuY2dpP2lkPTE1Njk0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjU3MDc3NTc+
CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgQWRkIHRo
ZSBuZXcgQVBJLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMu
aDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToKKyAgICAgICAg
KC1bV0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg6CisgICAgICAgICog
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgorICAgICAgICAo
LVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbiBlbmNvZGVXaXRoQ29kZXI6XSk6CisgICAgICAgICgtW1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24gaW5pdFdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJh
dGlvbiBjb3B5V2l0aFpvbmU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5j
cHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9EZXByZWNhdGVkUERGUGx1Z2lu
Lmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgorICAgICAgICAo
V2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYtMDQtMjUgIENocmlz
IER1bWV6ICA8Y2R1bWV6QGFwcGxlLmNvbT4KIAogICAgICAgICBDcmFzaCB1bmRlciAtW1dLV2Vi
VmlldyBfbWF5QXV0b21hdGljYWxseVNob3dWaWRlb1BpY3R1cmVJblBpY3R1cmVdICsgMzIgKFdL
V2ViVmlldy5tbTozMDkpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggOTZiZWQxNTkwMzdiY2NjYTkxN2QxMjMwMzMyYTA0MGQxNDA2
YjVkNC4uMTFjMDIyODU2MmI0Y2FkMWQwZTUzMDYyYjllODhiMjU0MThkODg1ZiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtOTc2
LDcgKzk3Niw2IEBACiAJCTFDODFCOTVBMEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250
cm9sbGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAx
QzgxQjk1NjBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oICovOyBzZXR0
aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTFDODFCOTVCMEU5NzMz
MDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNwcCBpbiBTb3VyY2VzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDODFCOTU3MEU5NzMzMDgwMDI2NkUwNyAvKiBJ
bnNwZWN0b3JDb250cm9sbGVyLmNwcCAqLzsgfTsKIAkJMUM4MUI5NUMwRTk3MzMwODAwMjY2RTA3
IC8qIEluc3BlY3RvckNsaWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUM4MUI5NTgwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNsaWVudC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTFDOTk1
NDJFMUM5MjEwNTIwMERCRDIyNiAvKiBTY3JvbGxhYmxlQXJlYU1hYy5tbSBpbiBTb3VyY2VzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDOTk1NDJEMUM5MjEwNTIwMERCRDIy
NiAvKiBTY3JvbGxhYmxlQXJlYU1hYy5tbSAqLzsgfTsKIAkJMUNBMTlFMDUwREMyNTU5NTAwNjVB
OTk0IC8qIEV2ZW50TG9vcE1hYy5tbSBpbiBTb3VyY2VzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDFDQTE5RTAzMERDMjU1OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0g
Ki87IH07CiAJCTFDQTE5RTE2MERDMjU1Q0EwMDY1QTk5NCAvKiBFdmVudExvb3AuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQTE5RTE1MERDMjU1Q0Ew
MDY1QTk5NCAvKiBFdmVudExvb3AuaCAqLzsgfTsKIAkJMUNBRjM0ODEwQTZDNDA1MjAwQUJFMDZF
IC8qIFdlYlNjcmlwdE9iamVjdC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gMUNBRjM0N0UwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5o
ICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CkBAIC04NDI2
LDcgKzg0MjUsNiBAQAogCQkxQzgxQjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29u
dHJvbGxlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBJbnNwZWN0
b3JDb250cm9sbGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUM4MUI5NTgw
RTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNsaWVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JDbGllbnQuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJMUM5MDRERjkwQkE5RDJDODAwODFFOUQwIC8qIFZlcnNpb24ueGNjb25maWcgKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSB0ZXh0LnhjY29uZmlnOyBwYXRoID0gVmVyc2lvbi54Y2NvbmZpZzsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKLQkJMUM5OTU0MkQxQzkyMTA1MjAwREJEMjI2IC8qIFNjcm9sbGFibGVB
cmVhTWFjLm1tICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gU2Nyb2xs
YWJsZUFyZWFNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDQTE5RTAzMERD
MjU1OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0gKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNw
cC5vYmpjcHA7IHBhdGggPSBFdmVudExvb3BNYWMubW07IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTFDQTE5RTE1MERDMjU1Q0EwMDY1QTk5NCAvKiBFdmVudExvb3AuaCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRXZlbnRMb29wLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTFDQUYzNDdFMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gV2ViU2NyaXB0T2JqZWN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNzkxOCw3ICsxNzkxNiw2IEBACiAJCQkJQ0Q4MjAz
MEUxMzk1QUNFNzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5oICovLAogCQkJCUNEODIw
MzBGMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dBbmltYXRpb24ubW0gKi8sCiAJCQkJOTM4
MEY0NzcwOUExMUFDQzAwMUZEQjM0IC8qIFdpZGdldE1hYy5tbSAqLywKLQkJCQkxQzk5NTQyRDFD
OTIxMDUyMDBEQkQyMjYgLyogU2Nyb2xsYWJsZUFyZWFNYWMubW0gKi8sCiAJCQkpOwogCQkJcGF0
aCA9IG1hYzsKIAkJCXNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7CkBAIC0zMTIwMSw3ICszMTE5OCw2
IEBACiAJCQkJRjU1QjNEQ0IxMjUxRjEyRDAwM0VGMjY5IC8qIFJhZGlvSW5wdXRUeXBlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCUI2NThGRkE1MTUyMkVGQUEwMERENTU5NSAvKiBSYWRpb05vZGVM
aXN0LmNwcCBpbiBTb3VyY2VzICovLAogCQkJCTkzRjE5QUI5MDgyNDVFNTkwMDFFOUFCQyAvKiBS
YW5nZS5jcHAgaW4gU291cmNlcyAqLywKLQkJCQkxQzk5NTQyRTFDOTIxMDUyMDBEQkQyMjYgLyog
U2Nyb2xsYWJsZUFyZWFNYWMubW0gaW4gU291cmNlcyAqLywKIAkJCQlGNTVCM0RDRDEyNTFGMTJE
MDAzRUYyNjkgLyogUmFuZ2VJbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJNkU4NEU5
RTAxNzY2OEJFRTAwODE1QjY4IC8qIFJhc3RlclNoYXBlLmNwcCBpbiBTb3VyY2VzICovLAogCQkJ
CUZEMzE2MDNCMTJCMDI2NzYwMEMxQTM1OSAvKiBSZWFsdGltZUFuYWx5c2VyLmNwcCBpbiBTb3Vy
Y2VzICovLApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCmluZGV4IDdhOWMzY2EwMTU2ZDBhNjkz
Y2U2NGUzZTkwODc1NjIxODU2OTUxZWUuLmQ0YzRkMjI3MTM4ZDA5OTE2MDA2MmQ2M2U2ZjYwYmM4
OWQ3NmEyN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKQEAgLTQ5NjgsNSArNDk2OCwx
MiBAQCBJbnRTaXplIEZyYW1lVmlldzo6dmlld3BvcnRTaXplRm9yQ1NTVmlld3BvcnRVbml0cygp
IGNvbnN0CiAgICAgLy8gcHJvcGVydHkgb24gdGhlIHJvb3QgZWxlbWVudC4KICAgICByZXR1cm4g
dmlzaWJsZUNvbnRlbnRSZWN0SW5jbHVkaW5nU2Nyb2xsYmFycygpLnNpemUoKTsKIH0KKworYm9v
bCBGcmFtZVZpZXc6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBj
b25zdAoreworICAgIGlmIChhdXRvKiByZW5kZXJWaWV3ID0gdGhpcy0+cmVuZGVyVmlldygpKQor
ICAgICAgICByZXR1cm4gcmVuZGVyVmlldy0+c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpOworICAgIHJldHVybiBmYWxzZTsKK30KICAgICAKIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9T
b3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDk3NzUzZGMyMTM1M2I2YzA0ZWNj
ODY5MmRkZDc4NTQxY2M1ODVhYjQuLjRhOTAxYzhlNmZkMGI2MmQ0YTNlZjBlYWIyMTc1M2UzNzcx
YzA3NTggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIv
U291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNTU3LDYgKzU1Nyw4IEBAIHB1Ymxp
YzoKIAogICAgIHZvaWQgc2hvdygpIG92ZXJyaWRlOwogCisgICAgYm9vbCBzaG91bGRQbGFjZUJs
b2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Qgb3ZlcnJpZGU7CisKIHByb3RlY3Rl
ZDoKICAgICBib29sIHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xs
RGVsdGEsIGNvbnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJl
Y3QpIG92ZXJyaWRlOwogICAgIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRS
ZWN0JiB1cGRhdGVSZWN0KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBkMjYw
MGY1M2MzYjIzMzk5NzgzMjRkNDIzZWRmNTdkYmE1MTJhZjY4Li45MWVlYzMxYjRkMzA0NzJhNTM3
MzM2OWZiOTg3NjNmNzkzZDIyZGUzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1Nl
dHRpbmdzLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0zNSw2ICsz
NSw3IEBACiAjaW5jbHVkZSAiVGV4dEZsYWdzLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNs
dWRlICJVUkwuaCIKKyNpbmNsdWRlICJXcml0aW5nTW9kZS5oIgogI2luY2x1ZGUgPGNocm9ubz4K
ICNpbmNsdWRlIDxydW50aW1lL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdXNj
cmlwdC5oPgpAQCAtNzEsNiArNzIsMTEgQEAgZW51bSBEZWJ1Z092ZXJsYXlSZWdpb25GbGFncyB7
CiAgICAgV2hlZWxFdmVudEhhbmRsZXJSZWdpb24gPSAxIDw8IDEsCiB9OwogCitlbnVtIGNsYXNz
IFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgeworICAgIENvbnRlbnQgPSAwLAorICAg
IFZpZXcgPSAxCit9OworCiB0eXBlZGVmIHVuc2lnbmVkIERlYnVnT3ZlcmxheVJlZ2lvbnM7CiAK
IGNsYXNzIFNldHRpbmdzIDogcHVibGljIFJlZkNvdW50ZWQ8U2V0dGluZ3M+IHsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdl
L1NldHRpbmdzLmluCmluZGV4IDA0ZjEzODdkNGMxYTEwMTMyMjg2MjM4N2Q3ZWU1N2M0NTdiYTRk
ZTEuLmVkYjUxOTc1N2U1MTE4ZTg2YjExZTE4ZmNjYmVmN2M1ZDM4ZmNjZWQgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFn
ZS9TZXR0aW5ncy5pbgpAQCAtMjUxLDMgKzI1MSw2IEBAIGh0dHBFcXVpdkVuYWJsZWQgaW5pdGlh
bD10cnVlCiAjIGVuZm9yY2VzIGFsbCBmcmFtZSBzYW5kYm94IGZsYWdzIChzZWUgZW51bSBTYW5k
Ym94RmxhZyBpbiBTZWN1cml0eUNvbnRleHQuaCksIGFuZCBhbHNvIGRpc2FibGVzIDxtZXRhIGh0
dHAtZXF1aXY+CiAjIHByb2Nlc3NpbmcgYW5kIHN1YmZyYW1lIGxvYWRpbmcuCiBjb250ZW50RGlz
cG9zaXRpb25BdHRhY2htZW50U2FuZGJveEVuYWJsZWQgaW5pdGlhbD1mYWxzZQorCit2ZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IHR5cGU9VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeSwgaW5pdGlhbD1WZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50Citz
eXN0ZW1MYXlvdXREaXJlY3Rpb24gdHlwZT1UZXh0RGlyZWN0aW9uLCBpbml0aWFsPUxUUgpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAppbmRleCBmNzlkNzc1ZmQ2ZmQ3YzY3YWE2
YmRjY2Y2MDA1OWM1OTNlYzMxZWIxLi5mMjJkNmJmODljZjJkYjYzOTkyNjNjYzkwOWY2Mjg2Nzc4
MTg1NzA1IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtNDA1LDcg
KzQwNSw3IEBAIFNjcm9sbFBvc2l0aW9uIFNjcm9sbFZpZXc6OmFkanVzdFNjcm9sbFBvc2l0aW9u
V2l0aGluUmFuZ2UoY29uc3QgU2Nyb2xsUG9zaXRpb24mCiBTY3JvbGxQb3NpdGlvbiBTY3JvbGxW
aWV3Ojpkb2N1bWVudFNjcm9sbFBvc2l0aW9uUmVsYXRpdmVUb1ZpZXdPcmlnaW4oKSBjb25zdAog
ewogICAgIHJldHVybiBzY3JvbGxQb3NpdGlvbigpIC0gSW50U2l6ZSgKLSAgICAgICAgdmVydGlj
YWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2Fs
U2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCkgOiAwLAorICAgICAgICBzaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92ZXJ0aWNhbFNjcm9sbGJhciA/IG1fdmVy
dGljYWxTY3JvbGxiYXItPm9jY3VwaWVkV2lkdGgoKSA6IDAsCiAgICAgICAgIGhlYWRlckhlaWdo
dCgpICsgdG9wQ29udGVudEluc2V0KFRvcENvbnRlbnRJbnNldFR5cGU6OldlYkNvcmVPclBsYXRm
b3JtQ29udGVudEluc2V0KSk7CiB9CiAKQEAgLTcxOSw3ICs3MTksNyBAQCB2b2lkIFNjcm9sbFZp
ZXc6OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3QgU2Nyb2xsUG9zaXRpb24mIGRlc2lyZWRQb3NpdGlv
bikKICAgICAgICAgaW50IGNsaWVudFdpZHRoID0gdmlzaWJsZVdpZHRoKCk7CiAgICAgICAgIGlu
dCBwYWdlU3RlcCA9IFNjcm9sbGJhcjo6cGFnZVN0ZXAoY2xpZW50V2lkdGgpOwogICAgICAgICBJ
bnRSZWN0IG9sZFJlY3QobV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5mcmFtZVJlY3QoKSk7Ci0gICAg
ICAgIEludFJlY3QgaEJhclJlY3QodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIG1fdmVy
dGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCkgOiAw
LAorICAgICAgICBJbnRSZWN0IGhCYXJSZWN0KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3Jv
bGxiYXJPbkxlZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyID8gbV92ZXJ0aWNhbFNjcm9sbGJh
ci0+b2NjdXBpZWRXaWR0aCgpIDogMCwKICAgICAgICAgICAgIGhlaWdodCgpIC0gbV9ob3Jpem9u
dGFsU2Nyb2xsYmFyLT5oZWlnaHQoKSwKICAgICAgICAgICAgIHdpZHRoKCkgLSAobV92ZXJ0aWNh
bFNjcm9sbGJhciA/IG1fdmVydGljYWxTY3JvbGxiYXItPm9jY3VwaWVkV2lkdGgoKSA6IDApLAog
ICAgICAgICAgICAgbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5oZWlnaHQoKSk7CkBAIC03NDAsNyAr
NzQwLDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBv
c2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAgICAgICAgIGludCBjbGllbnRIZWlnaHQgPSB2aXNp
YmxlSGVpZ2h0KCk7CiAgICAgICAgIGludCBwYWdlU3RlcCA9IFNjcm9sbGJhcjo6cGFnZVN0ZXAo
Y2xpZW50SGVpZ2h0KTsKICAgICAgICAgSW50UmVjdCBvbGRSZWN0KG1fdmVydGljYWxTY3JvbGxi
YXItPmZyYW1lUmVjdCgpKTsKLSAgICAgICAgSW50UmVjdCB2QmFyUmVjdCh2ZXJ0aWNhbFNjcm9s
bGJhcklzT25MZWZ0KCkgPyAwIDogd2lkdGgoKSAtIG1fdmVydGljYWxTY3JvbGxiYXItPndpZHRo
KCksCisgICAgICAgIEludFJlY3QgdkJhclJlY3Qoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNj
cm9sbGJhck9uTGVmdCgpID8gMCA6IHdpZHRoKCkgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0
aCgpLAogICAgICAgICAgICAgdG9wQ29udGVudEluc2V0KCksCiAgICAgICAgICAgICBtX3ZlcnRp
Y2FsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAgaGVpZ2h0KCkgLSB0b3BDb250ZW50
SW5zZXQoKSAtIChtX2hvcml6b250YWxTY3JvbGxiYXIgPyBtX2hvcml6b250YWxTY3JvbGxiYXIt
Pm9jY3VwaWVkSGVpZ2h0KCkgOiAwKSk7CkBAIC0xMTM0LDE0ICsxMTM0LDE0IEBAIEludFJlY3Qg
U2Nyb2xsVmlldzo6c2Nyb2xsQ29ybmVyUmVjdCgpIGNvbnN0CiAgICAgaW50IGhlaWdodFRyYWNr
ZWRCeVNjcm9sbGJhciA9IGhlaWdodCgpIC0gdG9wQ29udGVudEluc2V0KCk7CiAKICAgICBpZiAo
bV9ob3Jpem9udGFsU2Nyb2xsYmFyICYmIHdpZHRoKCkgLSBtX2hvcml6b250YWxTY3JvbGxiYXIt
PndpZHRoKCkgPiAwKSB7Ci0gICAgICAgIGNvcm5lclJlY3QudW5pdGUoSW50UmVjdCh2ZXJ0aWNh
bFNjcm9sbGJhcklzT25MZWZ0KCkgPyAwIDogbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgp
LAorICAgICAgICBjb3JuZXJSZWN0LnVuaXRlKEludFJlY3Qoc2hvdWxkUGxhY2VCbG9ja0RpcmVj
dGlvblNjcm9sbGJhck9uTGVmdCgpID8gMCA6IG1faG9yaXpvbnRhbFNjcm9sbGJhci0+d2lkdGgo
KSwKICAgICAgICAgICAgIGhlaWdodCgpIC0gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5oZWlnaHQo
KSwKICAgICAgICAgICAgIHdpZHRoKCkgLSBtX2hvcml6b250YWxTY3JvbGxiYXItPndpZHRoKCks
CiAgICAgICAgICAgICBtX2hvcml6b250YWxTY3JvbGxiYXItPmhlaWdodCgpKSk7CiAgICAgfQog
CiAgICAgaWYgKG1fdmVydGljYWxTY3JvbGxiYXIgJiYgaGVpZ2h0VHJhY2tlZEJ5U2Nyb2xsYmFy
IC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+aGVpZ2h0KCkgPiAwKSB7Ci0gICAgICAgIGNvcm5lclJl
Y3QudW5pdGUoSW50UmVjdCh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyAwIDogd2lkdGgo
KSAtIG1fdmVydGljYWxTY3JvbGxiYXItPndpZHRoKCksCisgICAgICAgIGNvcm5lclJlY3QudW5p
dGUoSW50UmVjdChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyAw
IDogd2lkdGgoKSAtIG1fdmVydGljYWxTY3JvbGxiYXItPndpZHRoKCksCiAgICAgICAgICAgICBt
X3ZlcnRpY2FsU2Nyb2xsYmFyLT5oZWlnaHQoKSArIHRvcENvbnRlbnRJbnNldCgpLAogICAgICAg
ICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAgICAgICAgIGhlaWdodFRy
YWNrZWRCeVNjcm9sbGJhciAtIG1fdmVydGljYWxTY3JvbGxiYXItPmhlaWdodCgpKSk7CkBAIC0x
NTAyLDcgKzE1MDIsNyBAQCB2b2lkIFNjcm9sbFZpZXc6OnN0eWxlRGlkQ2hhbmdlKCkKIEludFBv
aW50IFNjcm9sbFZpZXc6OmxvY2F0aW9uT2ZDb250ZW50cygpIGNvbnN0CiB7CiAgICAgSW50UG9p
bnQgcmVzdWx0ID0gbG9jYXRpb24oKTsKLSAgICBpZiAodmVydGljYWxTY3JvbGxiYXJJc09uTGVm
dCgpICYmIG1fdmVydGljYWxTY3JvbGxiYXIpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyKQogICAgICAgICBy
ZXN1bHQubW92ZShtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCksIDApOwogICAg
IHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5jcHAKaW5kZXggZDNhMzVlMjExYzkyYWZlYmY4NDQ0YWVkMDQyMTQzMzg4ZTY0NDM2ZS4uNjBm
ZTkzZGFkZDY1NzA5YTAyMTA2MDY4OWQyNDZhNTU1NWMzZTgyZiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtNjg5LDE2ICs2ODksNCBAQCB2b2lkIFNj
cm9sbGFibGVBcmVhOjpjb21wdXRlU2Nyb2xsYmFyVmFsdWVBbmRPdmVyaGFuZyhmbG9hdCBjdXJy
ZW50UG9zaXRpb24sIGZsbwogICAgIH0KIH0KIAotI2lmICFQTEFURk9STShDT0NPQSkKLWJvb2wg
U2Nyb2xsYWJsZUFyZWE6OnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSBjb25zdAotewotICAg
IHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBTY3JvbGxhYmxlQXJlYTo6c3lzdGVtTGFuZ3VhZ2VJ
c1JUTCgpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotI2VuZGlmCi0KIH0gLy8gbmFtZXNwYWNl
IFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVB
cmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oCmluZGV4IDNm
ZGFhYjRjZDNjYWQ2Yzc4MmE4YWU2ZGM0N2EwYjk2NjA5YmY2YzEuLjA5OWEzNTE0YjRkY2Q1Njk1
MWM0NmRlZTFkYWRjMDk4OTE1NGE0NGQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xs
YWJsZUFyZWEuaApAQCAtMzE1LDggKzMxNSw3IEBAIHB1YmxpYzoKICAgICB2aXJ0dWFsIGJvb2wg
dXNlc01vY2tTY3JvbGxBbmltYXRvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNlOyB9CiAgICAgdmly
dHVhbCB2b2lkIGxvZ01vY2tTY3JvbGxBbmltYXRvck1lc3NhZ2UoY29uc3QgU3RyaW5nJikgY29u
c3QgeyB9OwogCi0gICAgYm9vbCB2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgY29uc3Q7Ci0g
ICAgc3RhdGljIGJvb2wgc3lzdGVtTGFuZ3VhZ2VJc1JUTCgpOworICAgIHZpcnR1YWwgYm9vbCBz
aG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3QgPSAwOwogCiBw
cm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsYWJsZUFyZWEoKTsKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxhYmxlQXJlYU1hYy5tbSBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxhYmxlQXJlYU1hYy5tbQpkZWxldGVkIGZp
bGUgbW9kZSAxMDA2NDQKaW5kZXggMjdlNTVhZTk5Njg4MjgxYzg1NDU2MGI2NzdlYzg2ZWY1NTFl
ZDVkOS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYWJsZUFyZWFNYWMubW0KKysrIC9kZXYvbnVs
bApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIEluYy4g
QWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBz
b3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRpb24s
IGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMgYXJl
Ci0gKiBtZXQ6Ci0gKiAKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBt
dXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRpc3Ry
aWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBjb3B5
cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxz
IHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVyIHRo
ZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmlidXRv
cnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQgZnJv
bQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVybWlz
c2lvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJR0hU
IEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1MgT1Ig
SU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFRI
RSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUgot
ICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxM
IFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9SIEFO
WSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBV
U0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhPV0VW
RVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4g
Q09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQotICog
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBPRiBT
VUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU2Nyb2xs
YWJsZUFyZWEuaCIKLQotI2lmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlICJOU1Njcm9sbGVySW1w
U1BJLmgiCi0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBJdCdzIGNvbmNlaXZh
YmxlIHRoYXQgaW4gdGhlIGZ1dHVyZSwgd2UgbWF5IHdhbnQgc29tZSBzY3JvbGxiYXJzIHRvIGJl
IG9uIHRoZSByaWdodCB3aGlsZSBvdGhlciBzY3JvbGxiYXJzIGluIHRoZSBzYW1lIGRvY3VtZW50
IGFyZSBvbiB0aGUgbGVmdC4KLS8vIFRoaXMgbm9uLXN0YXRpYyBmdW5jdGlvbiBvbiB0aGUgU2Ny
b2xsYWJsZUFyZWEgbWFrZXMgdGhhdCBwb3NzaWJsZS4KLWJvb2wgU2Nyb2xsYWJsZUFyZWE6OnZl
cnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSBjb25zdAotewotICAgIHJldHVybiBzeXN0ZW1MYW5n
dWFnZUlzUlRMKCk7Ci19Ci0KLWJvb2wgU2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNS
VEwoKQotewotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9SRVFV
SVJFRCA+PSAxMDEyMDAKLSAgICBzdGF0aWMgYm9vbCByZXN1bHQgPSBbW05TU2Nyb2xsZXJJbXBQ
YWlyIGNsYXNzXSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNjcm9sbGVyTGF5b3V0RGly
ZWN0aW9uKV0gJiYgW05TU2Nyb2xsZXJJbXBQYWlyIHNjcm9sbGVyTGF5b3V0RGlyZWN0aW9uXSA9
PSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVmdDsKLSAgICByZXR1cm4g
cmVzdWx0OwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLQotfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tIGIv
U291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCmluZGV4IGYy
Mzk2NjFmOTVkMGNmZjkyYjYwOWFiMmVjYzcxMTliZTI4MDk2ZDkuLjk5ZTAyYWU0ODRmMDQwZjdi
MGMzMWZmYzI5ZWI5NWFhYTQyNTYwNzcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9y
bS9tYWMvU2Nyb2xsYmFyVGhlbWVNYWMubW0KQEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIFNjcm9s
bGJhclRoZW1lTWFjOjpkaWRDcmVhdGVTY3JvbGxlckltcChTY3JvbGxiYXImIHNjcm9sbGJhcikK
ICNpZiBQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0g
MTAxMjAwCiAgICAgTlNTY3JvbGxlckltcCAqc2Nyb2xsZXJJbXAgPSBwYWludGVyRm9yU2Nyb2xs
YmFyKHNjcm9sbGJhcik7CiAgICAgQVNTRVJUKHNjcm9sbGVySW1wKTsKLSAgICBzY3JvbGxlcklt
cC51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID0gc2Nyb2xsYmFyLnNjcm9sbGFibGVBcmVh
KCkudmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gTlNVc2VySW50ZXJmYWNlTGF5b3V0RGly
ZWN0aW9uUmlnaHRUb0xlZnQgOiBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25MZWZ0VG9S
aWdodDsKKyAgICBzY3JvbGxlckltcC51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID0gc2Ny
b2xsYmFyLnNjcm9sbGFibGVBcmVhKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJh
ck9uTGVmdCgpID8gTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnQgOiBO
U1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25MZWZ0VG9SaWdodDsKICNlbHNlCiAgICAgVU5V
U0VEX1BBUkFNKHNjcm9sbGJhcik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL3RleHQvV3JpdGluZ01vZGUuaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3Rl
eHQvV3JpdGluZ01vZGUuaAppbmRleCAyMzEwYjQzZTc3MDc4Mjg3ZDBhZWFmODNhNDg3ZDhjOTc0
Njg3ZTVhLi5hY2M0ZjkzY2NlMTMyMjBjYmNlZmYxMDJlMGI1ODc4YmRlMThkYzQ2IDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS90ZXh0L1dyaXRpbmdNb2RlLmgKKysrIGIvU291
cmNlL1dlYkNvcmUvcGxhdGZvcm0vdGV4dC9Xcml0aW5nTW9kZS5oCkBAIC0zNCw3ICszNCw3IEBA
CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotZW51bSBUZXh0RGlyZWN0aW9uIHsgTFRSLCBSVEwg
fTsKK2VudW0gVGV4dERpcmVjdGlvbiB7IExUUiA9IDAsIFJUTCA9IDEgfTsKIAogaW5saW5lIGJv
b2wgaXNMZWZ0VG9SaWdodERpcmVjdGlvbihUZXh0RGlyZWN0aW9uIGRpcmVjdGlvbikKIHsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uaCBiL1Nv
dXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1cE1lbnVXaW4uaAppbmRleCAzMTA2MWI2ZWQ0
ODQ4ZDBmZjgwNGJmMzY2OGI3OTBlMGY1Njg0ZjlhLi42OTM5NGM2YTk4ZmI5OGI2N2M4Y2VjYTVh
YTAzMTQyYmE2YWM2YzJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4v
UG9wdXBNZW51V2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vd2luL1BvcHVwTWVu
dVdpbi5oCkBAIC0xMDgsNiArMTA4LDcgQEAgcHJpdmF0ZToKICAgICBJbnRSZWN0IHNjcm9sbGFi
bGVBcmVhQm91bmRpbmdCb3goYm9vbCogPSBudWxscHRyKSBjb25zdCBvdmVycmlkZTsKICAgICBi
b29sIHVwZGF0ZXNTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhyZWFkKCkgY29uc3Qgb3ZlcnJp
ZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgZm9yY2VVcGRhdGVTY3JvbGxiYXJzT25NYWlu
VGhyZWFkRm9yUGVyZm9ybWFuY2VUZXN0aW5nKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFs
c2U7IH0KKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsgfQogCiAgICAgLy8gTk9URTogVGhpcyBz
aG91bGQgb25seSBiZSBjYWxsZWQgYnkgdGhlIG92ZXJyaWRlbiBzZXRTY3JvbGxPZmZzZXQgZnJv
bSBTY3JvbGxhYmxlQXJlYS4KICAgICB2b2lkIHNjcm9sbFRvKGludCBvZmZzZXQpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggNzg4YjNmMzEzNjhlMTYyOTg0
N2EyN2UwZjBmNzVhZWQ3ZGQxNDRmNC4uYzZhODkzYjBiZjQzZjY5MGVlZTU0MjExZjAyMzYxNzdm
ODBjN2MwOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCkBAIC0y
MjgwLDcgKzIyODAsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjp0ZXh0SW5kZW50T2Zmc2V0
KCkgY29uc3QKIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29u
dGVudChSZW5kZXJSZWdpb24qIHJlZ2lvbikgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IGxvZ2lj
YWxMZWZ0T2Zmc2V0ID0gc3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm9yZGVy
TGVmdCgpICsgcGFkZGluZ0xlZnQoKSA6IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpOwotICAg
IGlmIChzdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkK
KyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQogICAg
ICAgICBsb2dpY2FsTGVmdE9mZnNldCArPSB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7CiAgICAg
aWYgKCFyZWdpb24pCiAgICAgICAgIHJldHVybiBsb2dpY2FsTGVmdE9mZnNldDsKQEAgLTIyOTEs
NyArMjI5MSw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9y
Q29udGVudChSZW5kZXJSZWdpb24qIHJlZ2lvbikgY29uc3QKIExheW91dFVuaXQgUmVuZGVyQmxv
Y2s6OmxvZ2ljYWxSaWdodE9mZnNldEZvckNvbnRlbnQoUmVuZGVyUmVnaW9uKiByZWdpb24pIGNv
bnN0CiB7CiAgICAgTGF5b3V0VW5pdCBsb2dpY2FsUmlnaHRPZmZzZXQgPSBzdHlsZSgpLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgPyBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpIDogYm9y
ZGVyVG9wKCkgKyBwYWRkaW5nVG9wKCk7Ci0gICAgaWYgKHN0eWxlKCkuc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgIGxvZ2ljYWxSaWdodE9mZnNldCArPSB2
ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7CiAgICAgbG9naWNhbFJpZ2h0T2Zmc2V0ICs9IGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCgpOwogICAgIGlmICghcmVnaW9uKQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcAppbmRleCA0NDQ0NTA4YzE1ZDBkMmM2NzMxZjY0
ZDFmMGU5YTZhYWQzOTgwZTI0Li4xZjc0MWVkZTZhNjI0YWZkMWUwNWFjNmNlODdmNGY1YmFkNjU3
MzkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcApA
QCAtODI4LDcgKzgyOCw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2tGbG93OjptYXJnaW5PZmZz
ZXRGb3JTZWxmQ29sbGFwc2luZ0Jsb2NrKCkKIHZvaWQgUmVuZGVyQmxvY2tGbG93OjpkZXRlcm1p
bmVMb2dpY2FsTGVmdFBvc2l0aW9uRm9yQ2hpbGQoUmVuZGVyQm94JiBjaGlsZCwgQXBwbHlMYXlv
dXREZWx0YU1vZGUgYXBwbHlEZWx0YSkKIHsKICAgICBMYXlvdXRVbml0IHN0YXJ0UG9zaXRpb24g
PSBib3JkZXJTdGFydCgpICsgcGFkZGluZ1N0YXJ0KCk7Ci0gICAgaWYgKHN0eWxlKCkuc2hvdWxk
UGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgIGlmIChzaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgIHN0YXJ0UG9zaXRpb24g
Kz0gKHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpID8gMSA6IC0xKSAqIHZlcnRpY2Fs
U2Nyb2xsYmFyV2lkdGgoKTsKICAgICBMYXlvdXRVbml0IHRvdGFsQXZhaWxhYmxlTG9naWNhbFdp
ZHRoID0gYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxXaWR0aCgpICsgYXZhaWxhYmxlTG9naWNhbFdp
ZHRoKCk7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3gu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAKaW5kZXggMjNkMTRk
NzA0OThmYjFiZWRiZDA4ZjVhNTRmMGI0NWQ0MzdmMjM2OS4uMjU4MGJhM2RjZmJhOGY1NjRiYjNj
NGFhOTk2NjQ1NzViNzc2Mzc5YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAKQEAgLTY5Myw3ICs2OTMsNyBAQCBSb3VuZGVkUmVjdDo6UmFkaWkgUmVuZGVyQm94Ojpib3Jk
ZXJSYWRpaSgpIGNvbnN0CiBMYXlvdXRSZWN0IFJlbmRlckJveDo6Y29udGVudEJveFJlY3QoKSBj
b25zdAogewogICAgIExheW91dFVuaXQgeCA9IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCk7
Ci0gICAgaWYgKGxheWVyKCkgJiYgbGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgp
KQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAg
ICAgICAgIHggKz0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOwogICAgIExheW91dFVuaXQgeSA9
IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpOwogICAgIHJldHVybiBMYXlvdXRSZWN0KHgsIHks
IGNvbnRlbnRXaWR0aCgpLCBjb250ZW50SGVpZ2h0KCkpOwpAQCAtMTgyNyw3ICsxODI3LDcgQEAg
TGF5b3V0UmVjdCBSZW5kZXJCb3g6Om92ZXJmbG93Q2xpcFJlY3QoY29uc3QgTGF5b3V0UG9pbnQm
IGxvY2F0aW9uLCBSZW5kZXJSZWdpb24KIAogICAgIC8vIFN1YnRyYWN0IG91dCBzY3JvbGxiYXJz
IGlmIHdlIGhhdmUgdGhlbS4KICAgICBpZiAobGF5ZXIoKSkgewotICAgICAgICBpZiAoc3R5bGUo
KS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgICAgIGlm
IChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgICAg
ICBjbGlwUmVjdC5tb3ZlKGxheWVyKCktPnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgocmVsZXZhbmN5
KSwgMCk7CiAgICAgICAgIGNsaXBSZWN0LmNvbnRyYWN0KGxheWVyKCktPnZlcnRpY2FsU2Nyb2xs
YmFyV2lkdGgocmVsZXZhbmN5KSwgbGF5ZXIoKS0+aG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodChy
ZWxldmFuY3kpKTsKICAgICB9CkBAIC0zNTM0LDcgKzM1MzQsNyBAQCB2b2lkIFJlbmRlckJveDo6
Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgoTG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVz
JiBjb21wdQogICAgIGNvbXB1dGVkVmFsdWVzLm1fZXh0ZW50ICs9IGJvcmRlcnNQbHVzUGFkZGlu
ZzsKICAgICBpZiAoaXM8UmVuZGVyQm94Pihjb250YWluZXJCbG9jaykpIHsKICAgICAgICAgYXV0
byYgY29udGFpbmluZ0JveCA9IGRvd25jYXN0PFJlbmRlckJveD4oY29udGFpbmVyQmxvY2spOwot
ICAgICAgICBpZiAoY29udGFpbmluZ0JveC5sYXllcigpICYmIGNvbnRhaW5pbmdCb3gubGF5ZXIo
KS0+dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpKQorICAgICAgICBpZiAoY29udGFpbmluZ0Jv
eC5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgICAg
ICBjb21wdXRlZFZhbHVlcy5tX3Bvc2l0aW9uICs9IGNvbnRhaW5pbmdCb3gudmVydGljYWxTY3Jv
bGxiYXJXaWR0aCgpOwogICAgIH0KICAgICAKQEAgLTQ5MDcsNyArNDkwNyw3IEBAIExheW91dFJl
Y3QgUmVuZGVyQm94OjpmbGlwcGVkQ2xpZW50Qm94UmVjdCgpIGNvbnN0CiAgICAgZmxpcEZvcldy
aXRpbmdNb2RlKHJlY3QpOwogICAgIC8vIFN1YnRyYWN0IHNwYWNlIG9jY3VwaWVkIGJ5IHNjcm9s
bGJhcnMuIFRoZXkgYXJlIGF0IHRoZWlyIHBoeXNpY2FsIGVkZ2UgaW4gdGhpcyBjb29yZGluYXRl
CiAgICAgLy8gc3lzdGVtLCBzbyBvcmRlciBpcyBpbXBvcnRhbnQgaGVyZTogZmlyc3QgZmxpcCwg
dGhlbiBzdWJ0cmFjdCBzY3JvbGxiYXJzLgotICAgIGlmIChzdHlsZSgpLnNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJl
Y3Rpb24oKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpICYmIHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQogICAgICAgICByZWN0Lm1v
dmUodmVydGljYWxTY3JvbGxiYXJXaWR0aCgpLCAwKTsKICAgICByZWN0LmNvbnRyYWN0KHZlcnRp
Y2FsU2Nyb2xsYmFyV2lkdGgoKSwgaG9yaXpvbnRhbFNjcm9sbGJhckhlaWdodCgpKTsKICAgICBy
ZXR1cm4gcmVjdDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3hNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9k
ZWxPYmplY3QuY3BwCmluZGV4IGEzNWFmNTczNjMyOTU4YjdiZWI2MDMzNTUxZWJjZjVkZWRhMzc2
ZjAuLjc3ZmRiOTk0YTM5MGE5Mzg4MzY3MTNhNDM2NGQ4MDMxZjdiYWE3NDUgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcApAQCAtNDUy
LDcgKzQ1Miw3IEBAIEZsb2F0UmVjdCBSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29uc3RyYWluaW5n
UmVjdEZvclN0aWNreVBvc2l0aW9uKCkgY29uc3QKICAgICAgICAgRmxvYXRQb2ludCBzY3JvbGxP
ZmZzZXQgPSBGbG9hdFBvaW50KCkgKyBlbmNsb3NpbmdDbGlwcGluZ0xheWVyLT5zY3JvbGxPZmZz
ZXQoKTsKIAogICAgICAgICBmbG9hdCBzY3JvbGxiYXJPZmZzZXQgPSAwOwotICAgICAgICBpZiAo
ZW5jbG9zaW5nQ2xpcHBpbmdCb3guaGFzTGF5ZXIoKSAmJiBlbmNsb3NpbmdDbGlwcGluZ0JveC5z
dHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICAg
ICAgaWYgKGVuY2xvc2luZ0NsaXBwaW5nQm94Lmhhc0xheWVyKCkgJiYgZW5jbG9zaW5nQ2xpcHBp
bmdCb3guc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQogICAgICAg
ICAgICAgc2Nyb2xsYmFyT2Zmc2V0ID0gZW5jbG9zaW5nQ2xpcHBpbmdCb3gubGF5ZXIoKS0+dmVy
dGljYWxTY3JvbGxiYXJXaWR0aChJZ25vcmVPdmVybGF5U2Nyb2xsYmFyU2l6ZSk7CiAKICAgICAg
ICAgY29uc3RyYWluaW5nUmVjdC5zZXRMb2NhdGlvbihGbG9hdFBvaW50KHNjcm9sbE9mZnNldC54
KCkgKyBzY3JvbGxiYXJPZmZzZXQsIHNjcm9sbE9mZnNldC55KCkpKTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwCmluZGV4IDc4NDE0ZDM2NTNjZDNjMGZlMzY4ZDAyMzdj
ZDY5ZWJmNjhjNzJjNzQuLjQ0MjQ0NWQxMmViNTZkYmU2MjZhMGUwYmNiYjIyNThlMTEzNmVmODMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcApAQCAtMjY4OSw3ICsy
Njg5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cmVzaXplKGNvbnN0IFBsYXRmb3JtTW91c2VFdmVu
dCYgZXZ0LCBjb25zdCBMYXlvdXRTaXplJiBvbGRPZmYKICAgICBlbGVtZW50LT5zZXRNaW5pbXVt
U2l6ZUZvclJlc2l6aW5nKG1pbmltdW1TaXplKTsKICAgICAKICAgICBMYXlvdXRTaXplIGFkanVz
dGVkT2xkT2Zmc2V0ID0gTGF5b3V0U2l6ZShvbGRPZmZzZXQud2lkdGgoKSAvIHpvb21GYWN0b3Is
IG9sZE9mZnNldC5oZWlnaHQoKSAvIHpvb21GYWN0b3IpOwotICAgIGlmIChyZW5kZXJlci0+c3R5
bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpIHsKKyAgICBp
ZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKSB7CiAgICAgICAg
IG5ld09mZnNldC5zZXRXaWR0aCgtbmV3T2Zmc2V0LndpZHRoKCkpOwogICAgICAgICBhZGp1c3Rl
ZE9sZE9mZnNldC5zZXRXaWR0aCgtYWRqdXN0ZWRPbGRPZmZzZXQud2lkdGgoKSk7CiAgICAgfQpA
QCAtMjc5MSwzNCArMjc5MSwzNCBAQCBib29sIFJlbmRlckxheWVyOjppc0FjdGl2ZSgpIGNvbnN0
CiAgICAgcmV0dXJuIHBhZ2UgJiYgcGFnZS0+Zm9jdXNDb250cm9sbGVyKCkuaXNBY3RpdmUoKTsK
IH0KIAotc3RhdGljIGludCBjb3JuZXJTdGFydChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGlu
dCBtaW5YLCBpbnQgbWF4WCwgaW50IHRoaWNrbmVzcykKK3N0YXRpYyBpbnQgY29ybmVyU3RhcnQo
Y29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBpbnQgbWluWCwgaW50IG1heFgsIGludCB0aGlja25l
c3MpCiB7Ci0gICAgaWYgKGxheWVyLT5yZW5kZXJlcigpLnN0eWxlKCkuc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQotICAgICAgICByZXR1cm4gbWluWCArIGxheWVy
LT5yZW5kZXJlcigpLnN0eWxlKCkuYm9yZGVyTGVmdFdpZHRoKCk7Ci0gICAgcmV0dXJuIG1heFgg
LSB0aGlja25lc3MgLSBsYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlclJpZ2h0V2lkdGgo
KTsKKyAgICBpZiAobGF5ZXIuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpKQorICAgICAgICByZXR1cm4gbWluWCArIGxheWVyLnJlbmRlcmVyKCkuc3R5bGUoKS5ib3Jk
ZXJMZWZ0V2lkdGgoKTsKKyAgICByZXR1cm4gbWF4WCAtIHRoaWNrbmVzcyAtIGxheWVyLnJlbmRl
cmVyKCkuc3R5bGUoKS5ib3JkZXJSaWdodFdpZHRoKCk7CiB9CiAKLXN0YXRpYyBMYXlvdXRSZWN0
IGNvcm5lclJlY3QoY29uc3QgUmVuZGVyTGF5ZXIqIGxheWVyLCBjb25zdCBMYXlvdXRSZWN0JiBi
b3VuZHMpCitzdGF0aWMgTGF5b3V0UmVjdCBjb3JuZXJSZWN0KGNvbnN0IFJlbmRlckxheWVyJiBs
YXllciwgY29uc3QgTGF5b3V0UmVjdCYgYm91bmRzKQogewogICAgIGludCBob3Jpem9udGFsVGhp
Y2tuZXNzOwogICAgIGludCB2ZXJ0aWNhbFRoaWNrbmVzczsKLSAgICBpZiAoIWxheWVyLT52ZXJ0
aWNhbFNjcm9sbGJhcigpICYmICFsYXllci0+aG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7CisgICAg
aWYgKCFsYXllci52ZXJ0aWNhbFNjcm9sbGJhcigpICYmICFsYXllci5ob3Jpem9udGFsU2Nyb2xs
YmFyKCkpIHsKICAgICAgICAgLy8gRklYTUU6IFRoaXMgaXNuJ3QgcmlnaHQuICBXZSBuZWVkIHRv
IGtub3cgdGhlIHRoaWNrbmVzcyBvZiBjdXN0b20gc2Nyb2xsYmFycwogICAgICAgICAvLyBldmVu
IHdoZW4gdGhleSBkb24ndCBleGlzdCBpbiBvcmRlciB0byBzZXQgdGhlIHJlc2l6ZXIgc3F1YXJl
IHNpemUgcHJvcGVybHkuCiAgICAgICAgIGhvcml6b250YWxUaGlja25lc3MgPSBTY3JvbGxiYXJU
aGVtZTo6dGhlbWUoKS5zY3JvbGxiYXJUaGlja25lc3MoKTsKICAgICAgICAgdmVydGljYWxUaGlj
a25lc3MgPSBob3Jpem9udGFsVGhpY2tuZXNzOwotICAgIH0gZWxzZSBpZiAobGF5ZXItPnZlcnRp
Y2FsU2Nyb2xsYmFyKCkgJiYgIWxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKLSAgICAg
ICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLT52ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0
aCgpOworICAgIH0gZWxzZSBpZiAobGF5ZXIudmVydGljYWxTY3JvbGxiYXIoKSAmJiAhbGF5ZXIu
aG9yaXpvbnRhbFNjcm9sbGJhcigpKSB7CisgICAgICAgIGhvcml6b250YWxUaGlja25lc3MgPSBs
YXllci52ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0aCgpOwogICAgICAgICB2ZXJ0aWNhbFRoaWNr
bmVzcyA9IGhvcml6b250YWxUaGlja25lc3M7Ci0gICAgfSBlbHNlIGlmIChsYXllci0+aG9yaXpv
bnRhbFNjcm9sbGJhcigpICYmICFsYXllci0+dmVydGljYWxTY3JvbGxiYXIoKSkgewotICAgICAg
ICB2ZXJ0aWNhbFRoaWNrbmVzcyA9IGxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmhlaWdo
dCgpOworICAgIH0gZWxzZSBpZiAobGF5ZXIuaG9yaXpvbnRhbFNjcm9sbGJhcigpICYmICFsYXll
ci52ZXJ0aWNhbFNjcm9sbGJhcigpKSB7CisgICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gbGF5
ZXIuaG9yaXpvbnRhbFNjcm9sbGJhcigpLT5oZWlnaHQoKTsKICAgICAgICAgaG9yaXpvbnRhbFRo
aWNrbmVzcyA9IHZlcnRpY2FsVGhpY2tuZXNzOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIGhvcml6
b250YWxUaGlja25lc3MgPSBsYXllci0+dmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgoKTsKLSAg
ICAgICAgdmVydGljYWxUaGlja25lc3MgPSBsYXllci0+aG9yaXpvbnRhbFNjcm9sbGJhcigpLT5o
ZWlnaHQoKTsKKyAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLnZlcnRpY2FsU2Ny
b2xsYmFyKCktPndpZHRoKCk7CisgICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gbGF5ZXIuaG9y
aXpvbnRhbFNjcm9sbGJhcigpLT5oZWlnaHQoKTsKICAgICB9CiAgICAgcmV0dXJuIExheW91dFJl
Y3QoY29ybmVyU3RhcnQobGF5ZXIsIGJvdW5kcy54KCksIGJvdW5kcy5tYXhYKCksIGhvcml6b250
YWxUaGlja25lc3MpLAotICAgICAgICBib3VuZHMubWF4WSgpIC0gdmVydGljYWxUaGlja25lc3Mg
LSBsYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckJvdHRvbVdpZHRoKCksCisgICAgICAg
IGJvdW5kcy5tYXhZKCkgLSB2ZXJ0aWNhbFRoaWNrbmVzcyAtIGxheWVyLnJlbmRlcmVyKCkuc3R5
bGUoKS5ib3JkZXJCb3R0b21XaWR0aCgpLAogICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzLCB2
ZXJ0aWNhbFRoaWNrbmVzcyk7CiB9CiAKQEAgLTI4MzMsMTQgKzI4MzMsMTQgQEAgSW50UmVjdCBS
ZW5kZXJMYXllcjo6c2Nyb2xsQ29ybmVyUmVjdCgpIGNvbnN0CiAgICAgYm9vbCBoYXNWZXJ0aWNh
bEJhciA9IG1fdkJhciAmJiAhbV92QmFyLT5pc092ZXJsYXlTY3JvbGxiYXIoKTsKICAgICBib29s
IGhhc1Jlc2l6ZXIgPSByZW5kZXJlcigpLnN0eWxlKCkucmVzaXplKCkgIT0gUkVTSVpFX05PTkU7
CiAgICAgaWYgKChoYXNIb3Jpem9udGFsQmFyICYmIGhhc1ZlcnRpY2FsQmFyKSB8fCAoaGFzUmVz
aXplciAmJiAoaGFzSG9yaXpvbnRhbEJhciB8fCBoYXNWZXJ0aWNhbEJhcikpKQotICAgICAgICBy
ZXR1cm4gc25hcHBlZEludFJlY3QoY29ybmVyUmVjdCh0aGlzLCByZW5kZXJCb3goKS0+Ym9yZGVy
Qm94UmVjdCgpKSk7CisgICAgICAgIHJldHVybiBzbmFwcGVkSW50UmVjdChjb3JuZXJSZWN0KCp0
aGlzLCByZW5kZXJCb3goKS0+Ym9yZGVyQm94UmVjdCgpKSk7CiAgICAgcmV0dXJuIEludFJlY3Qo
KTsKIH0KIAotc3RhdGljIExheW91dFJlY3QgcmVzaXplckNvcm5lclJlY3QoY29uc3QgUmVuZGVy
TGF5ZXIqIGxheWVyLCBjb25zdCBMYXlvdXRSZWN0JiBib3VuZHMpCitzdGF0aWMgTGF5b3V0UmVj
dCByZXNpemVyQ29ybmVyUmVjdChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIGNvbnN0IExheW91
dFJlY3QmIGJvdW5kcykKIHsKLSAgICBBU1NFUlQobGF5ZXItPnJlbmRlcmVyKCkuaXNCb3goKSk7
Ci0gICAgaWYgKGxheWVyLT5yZW5kZXJlcigpLnN0eWxlKCkucmVzaXplKCkgPT0gUkVTSVpFX05P
TkUpCisgICAgQVNTRVJUKGxheWVyLnJlbmRlcmVyKCkuaXNCb3goKSk7CisgICAgaWYgKGxheWVy
LnJlbmRlcmVyKCkuc3R5bGUoKS5yZXNpemUoKSA9PSBSRVNJWkVfTk9ORSkKICAgICAgICAgcmV0
dXJuIExheW91dFJlY3QoKTsKICAgICByZXR1cm4gY29ybmVyUmVjdChsYXllciwgYm91bmRzKTsK
IH0KQEAgLTI4NTIsNyArMjg1Miw3IEBAIExheW91dFJlY3QgUmVuZGVyTGF5ZXI6OnNjcm9sbENv
cm5lckFuZFJlc2l6ZXJSZWN0KCkgY29uc3QKICAgICAgICAgcmV0dXJuIExheW91dFJlY3QoKTsK
ICAgICBMYXlvdXRSZWN0IHNjcm9sbENvcm5lckFuZFJlc2l6ZXIgPSBzY3JvbGxDb3JuZXJSZWN0
KCk7CiAgICAgaWYgKHNjcm9sbENvcm5lckFuZFJlc2l6ZXIuaXNFbXB0eSgpKQotICAgICAgICBz
Y3JvbGxDb3JuZXJBbmRSZXNpemVyID0gcmVzaXplckNvcm5lclJlY3QodGhpcywgYm94LT5ib3Jk
ZXJCb3hSZWN0KCkpOworICAgICAgICBzY3JvbGxDb3JuZXJBbmRSZXNpemVyID0gcmVzaXplckNv
cm5lclJlY3QoKnRoaXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKTsKICAgICByZXR1cm4gc2Nyb2xs
Q29ybmVyQW5kUmVzaXplcjsKIH0KIApAQCAtMjk5Niw3ICsyOTk2LDcgQEAgSW50UmVjdCBSZW5k
ZXJMYXllcjo6cmVjdEZvclZlcnRpY2FsU2Nyb2xsYmFyKGNvbnN0IEludFJlY3QmIGJvcmRlckJv
eFJlY3QpIGNvbnMKIExheW91dFVuaXQgUmVuZGVyTGF5ZXI6OnZlcnRpY2FsU2Nyb2xsYmFyU3Rh
cnQoaW50IG1pblgsIGludCBtYXhYKSBjb25zdAogewogICAgIGNvbnN0IFJlbmRlckJveCogYm94
ID0gcmVuZGVyQm94KCk7Ci0gICAgaWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJs
b2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tE
aXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgcmV0dXJuIG1pblggKyBib3gtPmJv
cmRlckxlZnQoKTsKICAgICByZXR1cm4gbWF4WCAtIGJveC0+Ym9yZGVyUmlnaHQoKSAtIG1fdkJh
ci0+d2lkdGgoKTsKIH0KQEAgLTMwMDUsOCArMzAwNSw4IEBAIExheW91dFVuaXQgUmVuZGVyTGF5
ZXI6Omhvcml6b250YWxTY3JvbGxiYXJTdGFydChpbnQgbWluWCkgY29uc3QKIHsKICAgICBjb25z
dCBSZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwogICAgIGludCB4ID0gbWluWCArIGJveC0+
Ym9yZGVyTGVmdCgpOwotICAgIGlmIChyZW5kZXJlcigpLnN0eWxlKCkuc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQotICAgICAgICB4ICs9IG1fdkJhciA/IG1fdkJh
ci0+d2lkdGgoKSA6IHJvdW5kVG9JbnQocmVzaXplckNvcm5lclJlY3QodGhpcywgYm94LT5ib3Jk
ZXJCb3hSZWN0KCkpLndpZHRoKCkpOworICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9u
U2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgICAgIHggKz0gbV92QmFyID8gbV92QmFyLT53aWR0aCgp
IDogcm91bmRUb0ludChyZXNpemVyQ29ybmVyUmVjdCgqdGhpcywgYm94LT5ib3JkZXJCb3hSZWN0
KCkpLndpZHRoKCkpOwogICAgIHJldHVybiB4OwogfQogCkBAIC0zMjcwLDcgKzMyNzAsNyBAQCBJ
bnRTaXplIFJlbmRlckxheWVyOjpvZmZzZXRGcm9tUmVzaXplQ29ybmVyKGNvbnN0IEludFBvaW50
JiBhYnNvbHV0ZVBvaW50KSBjb25zdAogICAgIC8vIEN1cnJlbnRseSB0aGUgcmVzaXplIGNvcm5l
ciBpcyBlaXRoZXIgdGhlIGJvdHRvbSByaWdodCBjb3JuZXIgb3IgdGhlIGJvdHRvbSBsZWZ0IGNv
cm5lci4KICAgICAvLyBGSVhNRTogVGhpcyBhc3N1bWVzIHRoZSBsb2NhdGlvbiBpcyAwLCAwLiBJ
cyB0aGlzIGd1YXJhbnRlZWQgdG8gYWx3YXlzIGJlIHRoZSBjYXNlPwogICAgIEludFNpemUgZWxl
bWVudFNpemUgPSBzaXplKCk7Ci0gICAgaWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxv
Y2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgZWxlbWVudFNpemUuc2V0V2lk
dGgoMCk7CiAgICAgSW50UG9pbnQgcmVzaXplclBvaW50ID0gSW50UG9pbnQoZWxlbWVudFNpemUp
OwogICAgIEludFBvaW50IGxvY2FsUG9pbnQgPSByb3VuZGVkSW50UG9pbnQoYWJzb2x1dGVUb0Nv
bnRlbnRzKGFic29sdXRlUG9pbnQpKTsKQEAgLTMzMDksNyArMzMwOSw3IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnBvc2l0aW9uT3ZlcmZsb3dDb250cm9scyhjb25zdCBJbnRTaXplJiBvZmZzZXRGcm9t
Um9vdCkKICAgICBpZiAobV9zY3JvbGxDb3JuZXIpCiAgICAgICAgIG1fc2Nyb2xsQ29ybmVyLT5z
ZXRGcmFtZVJlY3Qoc2Nyb2xsQ29ybmVyKTsKICAgICBpZiAobV9yZXNpemVyKQotICAgICAgICBt
X3Jlc2l6ZXItPnNldEZyYW1lUmVjdChyZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3JkZXJCb3gp
KTsKKyAgICAgICAgbV9yZXNpemVyLT5zZXRGcmFtZVJlY3QocmVzaXplckNvcm5lclJlY3QoKnRo
aXMsIGJvcmRlckJveCkpOwogCiAgICAgaWYgKGlzQ29tcG9zaXRlZCgpKQogICAgICAgICBiYWNr
aW5nKCktPnBvc2l0aW9uT3ZlcmZsb3dDb250cm9sc0xheWVycygpOwpAQCAtMzM3Niw3ICszMzc2
LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6Y29tcHV0ZVNjcm9sbERpbWVuc2lvbnMoKQogICAgIG1f
c2Nyb2xsU2l6ZS5zZXRIZWlnaHQob3ZlcmZsb3dCb3R0b20oKSAtIG92ZXJmbG93VG9wKCkpOwog
CiAgICAgaW50IHNjcm9sbGFibGVMZWZ0T3ZlcmZsb3cgPSBvdmVyZmxvd0xlZnQoKSAtIGJveC0+
Ym9yZGVyTGVmdCgpOwotICAgIGlmIChib3gtPnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlv
bigpICYmIGJveC0+c3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25M
ZWZ0KCkgJiYgbV92QmFyKQorICAgIGlmIChib3gtPnN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVj
dGlvbigpICYmIGJveC0+c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
ICYmIG1fdkJhcikKICAgICAgICAgc2Nyb2xsYWJsZUxlZnRPdmVyZmxvdyAtPSBtX3ZCYXItPm9j
Y3VwaWVkV2lkdGgoKTsKICAgICBpbnQgc2Nyb2xsYWJsZVRvcE92ZXJmbG93ID0gb3ZlcmZsb3dU
b3AoKSAtIGJveC0+Ym9yZGVyVG9wKCk7CiAgICAgc2V0U2Nyb2xsT3JpZ2luKEludFBvaW50KC1z
Y3JvbGxhYmxlTGVmdE92ZXJmbG93LCAtc2Nyb2xsYWJsZVRvcE92ZXJmbG93KSk7CkBAIC0zNTUx
LDcgKzM1NTEsNyBAQCBib29sIFJlbmRlckxheWVyOjpvdmVyZmxvd0NvbnRyb2xzSW50ZXJzZWN0
UmVjdChjb25zdCBJbnRSZWN0JiBsb2NhbFJlY3QpIGNvbnN0CiAgICAgaWYgKHNjcm9sbENvcm5l
clJlY3QoKS5pbnRlcnNlY3RzKGxvY2FsUmVjdCkpCiAgICAgICAgIHJldHVybiB0cnVlOwogICAg
IAotICAgIGlmIChyZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBib3JkZXJCb3gpLmludGVyc2VjdHMo
bG9jYWxSZWN0KSkKKyAgICBpZiAocmVzaXplckNvcm5lclJlY3QoKnRoaXMsIGJvcmRlckJveCku
aW50ZXJzZWN0cyhsb2NhbFJlY3QpKQogICAgICAgICByZXR1cm4gdHJ1ZTsKIAogICAgIHJldHVy
biBmYWxzZTsKQEAgLTM2NzAsNyArMzY3MCw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmRyYXdQbGF0
Zm9ybVJlc2l6ZXJJbWFnZShHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheW91CiAg
ICAgICAgIGNvcm5lclJlc2l6ZXJTaXplID0gcmVzaXplQ29ybmVySW1hZ2UtPnNpemUoKTsKICAg
ICB9CiAKLSAgICBpZiAocmVuZGVyZXIoKS5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSkgeworICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9u
U2Nyb2xsYmFyT25MZWZ0KCkpIHsKICAgICAgICAgY29udGV4dC5zYXZlKCk7CiAgICAgICAgIGNv
bnRleHQudHJhbnNsYXRlKHJlc2l6ZXJDb3JuZXJSZWN0LngoKSArIGNvcm5lclJlc2l6ZXJTaXpl
LndpZHRoKCksIHJlc2l6ZXJDb3JuZXJSZWN0LnkoKSArIHJlc2l6ZXJDb3JuZXJSZWN0LmhlaWdo
dCgpIC0gY29ybmVyUmVzaXplclNpemUuaGVpZ2h0KCkpOwogICAgICAgICBjb250ZXh0LnNjYWxl
KEZsb2F0U2l6ZSgtMS4wLCAxLjApKTsKQEAgLTM2OTQsNyArMzY5NCw3IEBAIHZvaWQgUmVuZGVy
TGF5ZXI6OnBhaW50UmVzaXplcihHcmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IExheW91
dFBvaW50JiBwYWluCiAgICAgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKICAgICBBU1NF
UlQoYm94KTsKIAotICAgIExheW91dFJlY3QgYWJzUmVjdCA9IHJlc2l6ZXJDb3JuZXJSZWN0KHRo
aXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKTsKKyAgICBMYXlvdXRSZWN0IGFic1JlY3QgPSByZXNp
emVyQ29ybmVyUmVjdCgqdGhpcywgYm94LT5ib3JkZXJCb3hSZWN0KCkpOwogICAgIGFic1JlY3Qu
bW92ZUJ5KHBhaW50T2Zmc2V0KTsKICAgICBpZiAoIWFic1JlY3QuaW50ZXJzZWN0cyhkYW1hZ2VS
ZWN0KSkKICAgICAgICAgcmV0dXJuOwpAQCAtMzczNiw3ICszNzM2LDcgQEAgYm9vbCBSZW5kZXJM
YXllcjo6aXNQb2ludEluUmVzaXplQ29udHJvbChjb25zdCBJbnRQb2ludCYgYWJzb2x1dGVQb2lu
dCkgY29uc3QKICAgICBJbnRQb2ludCBsb2NhbFBvaW50ID0gcm91bmRlZEludFBvaW50KGFic29s
dXRlVG9Db250ZW50cyhhYnNvbHV0ZVBvaW50KSk7CiAKICAgICBJbnRSZWN0IGxvY2FsQm91bmRz
KEludFBvaW50KCksIHNuYXBwZWRJbnRSZWN0KGJveC0+ZnJhbWVSZWN0KCkpLnNpemUoKSk7Ci0g
ICAgcmV0dXJuIHJlc2l6ZXJDb3JuZXJSZWN0KHRoaXMsIGxvY2FsQm91bmRzKS5jb250YWlucyhs
b2NhbFBvaW50KTsKKyAgICByZXR1cm4gcmVzaXplckNvcm5lclJlY3QoKnRoaXMsIGxvY2FsQm91
bmRzKS5jb250YWlucyhsb2NhbFBvaW50KTsKIH0KIAogYm9vbCBSZW5kZXJMYXllcjo6aGl0VGVz
dE92ZXJmbG93Q29udHJvbHMoSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBJbnRQb2ludCYg
bG9jYWxQb2ludCkKQEAgLTM3NDksNyArMzc0OSw3IEBAIGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRl
c3RPdmVyZmxvd0NvbnRyb2xzKEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29uc3QgSW50UG9pbnQm
CiAgICAgCiAgICAgSW50UmVjdCByZXNpemVDb250cm9sUmVjdDsKICAgICBpZiAocmVuZGVyZXIo
KS5zdHlsZSgpLnJlc2l6ZSgpICE9IFJFU0laRV9OT05FKSB7Ci0gICAgICAgIHJlc2l6ZUNvbnRy
b2xSZWN0ID0gc25hcHBlZEludFJlY3QocmVzaXplckNvcm5lclJlY3QodGhpcywgYm94LT5ib3Jk
ZXJCb3hSZWN0KCkpKTsKKyAgICAgICAgcmVzaXplQ29udHJvbFJlY3QgPSBzbmFwcGVkSW50UmVj
dChyZXNpemVyQ29ybmVyUmVjdCgqdGhpcywgYm94LT5ib3JkZXJCb3hSZWN0KCkpKTsKICAgICAg
ICAgaWYgKHJlc2l6ZUNvbnRyb2xSZWN0LmNvbnRhaW5zKGxvY2FsUG9pbnQpKQogICAgICAgICAg
ICAgcmV0dXJuIHRydWU7CiAgICAgfQpAQCAtNTIyOCw3ICs1MjI4LDcgQEAgYm9vbCBSZW5kZXJM
YXllcjo6aGl0VGVzdFJlc2l6ZXJJbkZyYWdtZW50cyhjb25zdCBMYXllckZyYWdtZW50cyYgbGF5
ZXJGcmFnbWVudHMKIAogICAgIGZvciAoaW50IGkgPSBsYXllckZyYWdtZW50cy5zaXplKCkgLSAx
OyBpID49IDA7IC0taSkgewogICAgICAgICBjb25zdCBMYXllckZyYWdtZW50JiBmcmFnbWVudCA9
IGxheWVyRnJhZ21lbnRzLmF0KGkpOwotICAgICAgICBpZiAoZnJhZ21lbnQuYmFja2dyb3VuZFJl
Y3QuaW50ZXJzZWN0cyhoaXRUZXN0TG9jYXRpb24pICYmIHJlc2l6ZXJDb3JuZXJSZWN0KHRoaXMs
IHNuYXBwZWRJbnRSZWN0KGZyYWdtZW50LmxheWVyQm91bmRzKSkuY29udGFpbnMoaGl0VGVzdExv
Y2F0aW9uLnJvdW5kZWRQb2ludCgpKSkKKyAgICAgICAgaWYgKGZyYWdtZW50LmJhY2tncm91bmRS
ZWN0LmludGVyc2VjdHMoaGl0VGVzdExvY2F0aW9uKSAmJiByZXNpemVyQ29ybmVyUmVjdCgqdGhp
cywgc25hcHBlZEludFJlY3QoZnJhZ21lbnQubGF5ZXJCb3VuZHMpKS5jb250YWlucyhoaXRUZXN0
TG9jYXRpb24ucm91bmRlZFBvaW50KCkpKQogICAgICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAg
fQogICAgIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVy
LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaAppbmRleCAxMzM5NmJk
YTkwNGU0MjI4ODJjM2Q0MThkZGE2M2FhNmFiZWI3NzlkLi42OTZlNDMwMTE1OGJjZGNmZDEwZTZh
MzNkMWJlYjE0Mzc4MjgwMjcxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIu
aApAQCAtNjcxLDYgKzY3MSw4IEBAIHB1YmxpYzoKIAogICAgIFJlbmRlckxheWVyKiBlbmNsb3Np
bmdGbG93VGhyZWFkQW5jZXN0b3IoKSBjb25zdDsKIAorICAgIGJvb2wgc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHJlbmRl
cmVyKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpOyB9CisKIHBy
aXZhdGU6CiAgICAgZW51bSBDb2xsZWN0TGF5ZXJzQmVoYXZpb3IgeyBTdG9wQXRTdGFja2luZ0Nv
bnRleHRzLCBTdG9wQXRTdGFja2luZ0NvbnRhaW5lcnMgfTsKIApAQCAtOTk3LDcgKzk5OSw2IEBA
IHByaXZhdGU6CiAKICAgICBSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCogY3VycmVudFJlbmRlck5h
bWVkRmxvd0ZyYWdtZW50KCkgY29uc3Q7CiAKLXByaXZhdGU6CiAgICAgLy8gVGhlIGJpdGZpZWxk
cyBhcmUgdXAgaGVyZSBzbyB0aGV5IHdpbGwgZmFsbCBpbnRvIHRoZSBwYWRkaW5nIGZyb20gU2Ny
b2xsYWJsZUFyZWEgb24gNjQtYml0LgogCiAgICAgY29uc3QgYm9vbCBtX2lzUm9vdExheWVyIDog
MTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBv
c2l0b3IuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRv
ci5jcHAKaW5kZXggYWEwNzIwMjMwODMyMjk2ODcyZTY2ZmUzM2YzOTUzMGJhNTUwMjRhNS4uYzE5
YmIyZjMzMTU3MGRlYmNhMTBhNjQzZTU4YjhmZWEwNzU5OGM1MyAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAKQEAgLTE3NjMsNyAr
MTc2Myw3IEBAIEZsb2F0UG9pbnQgUmVuZGVyTGF5ZXJDb21wb3NpdG9yOjpwb3NpdGlvbkZvckNs
aXBMYXllcigpIGNvbnN0CiAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSBtX3JlbmRlclZpZXcu
ZnJhbWVWaWV3KCk7CiAKICAgICByZXR1cm4gRmxvYXRQb2ludCgKLSAgICAgICAgZnJhbWVWaWV3
LnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGZyYW1lVmlldy5ob3Jpem9udGFsU2Nyb2xs
YmFySW50cnVzaW9uKCkgOiAwLAorICAgICAgICBmcmFtZVZpZXcuc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gZnJhbWVWaWV3Lmhvcml6b250YWxTY3JvbGxiYXJJ
bnRydXNpb24oKSA6IDAsCiAgICAgICAgIEZyYW1lVmlldzo6eVBvc2l0aW9uRm9ySW5zZXRDbGlw
TGF5ZXIoZnJhbWVWaWV3LnNjcm9sbFBvc2l0aW9uKCksIGZyYW1lVmlldy50b3BDb250ZW50SW5z
ZXQoKSkpOwogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdC5jcHAKaW5kZXggYmQ5ZTY1YjI1MWI0YzkyZmU4NmYwMDljNTJiZWJjMmQ0
YzliOGMzOC4uZTE2YmU4NTZhZDNhYjc0ZTZlZDQ1MGM3NGU5MTMxMjVjN2Q2MmNlYyAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNw
cApAQCAtMjgsNiArMjgsNyBAQAogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAjaW5jbHVkZSAi
UmVuZGVyTGF5ZXJDb21wb3NpdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyVmlldy5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIApAQCAtMjEyLDUgKzIxMywx
OSBAQCB2b2lkIFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnN0eWxlRGlkQ2hhbmdlKFN0eWxlRGlm
ZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdAogI2VuZGlmCiB9CiAKK2Jvb2wgUmVuZGVyTGF5
ZXJNb2RlbE9iamVjdDo6c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
IGNvbnN0Cit7CisjaWYgUExBVEZPUk0oTUFDKSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JF
UVVJUkVEID49IDEwMTIwMAorICAgIHN3aXRjaCAoZnJhbWUoKS5zZXR0aW5ncygpLnZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koKSkgeworICAgIGNhc2UgVmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeTo6Q29udGVudDoKKyAgICAgICAgcmV0dXJuIHN0eWxlKCkuc2hvdWxkUGxh
Y2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpOworICAgIGNhc2UgVmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeTo6VmlldzoKKyAgICAgICAgcmV0dXJuIGZyYW1lKCkuc2V0dGlu
Z3MoKS5zeXN0ZW1MYXlvdXREaXJlY3Rpb24oKSA9PSBSVEw7CisgICAgfQorI2Vsc2UKKyAgICBy
ZXR1cm4gZmFsc2U7CisjZW5kaWYKK30KKwogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5o
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaAppbmRl
eCA2N2ViYzcyY2RmNjUyN2M1NzhhNTQzMDE3MGFlNTIwNzRkMDVjNzVkLi43ZjBhOWJlNzE5ZmMw
Zjg2YWI1NDBlNTJlNDUwNjc2NzRiOWIwZGUwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgKQEAgLTUxLDYgKzUxLDggQEAgcHVibGlj
OgogCiAgICAgdmlydHVhbCBib29sIGlzU2Nyb2xsYWJsZU9yUnViYmVyYmFuZGFibGVCb3goKSBj
b25zdCB7IHJldHVybiBmYWxzZTsgfQogCisgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0
aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Q7CisKIHByb3RlY3RlZDoKICAgICBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0KEVsZW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKICAg
ICBSZW5kZXJMYXllck1vZGVsT2JqZWN0KERvY3VtZW50JiwgUmVuZGVyU3R5bGUmJiwgQmFzZVR5
cGVGbGFncyk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlz
dEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKaW5k
ZXggZWI2MzQwZGFkODlkNGViZTMwMjVjNjQ4ZTcxODY1OWMwMDdjZWY0Ni4uZGUzZWZlY2I1ZmYx
NDhjNjk2MzdkMTU4NTM5ZjlhNDA0NjczOGVlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmNwcApAQCAtMjY2LDcgKzI2Niw3IEBAIGludCBSZW5kZXJMaXN0Qm94
OjpiYXNlbGluZVBvc2l0aW9uKEZvbnRCYXNlbGluZSBiYXNlbGluZVR5cGUsIGJvb2wgZmlyc3RM
aW5lLCBMCiBMYXlvdXRSZWN0IFJlbmRlckxpc3RCb3g6Oml0ZW1Cb3VuZGluZ0JveFJlY3QoY29u
c3QgTGF5b3V0UG9pbnQmIGFkZGl0aW9uYWxPZmZzZXQsIGludCBpbmRleCkKIHsKICAgICBMYXlv
dXRVbml0IHggPSBhZGRpdGlvbmFsT2Zmc2V0LngoKSArIGJvcmRlckxlZnQoKSArIHBhZGRpbmdM
ZWZ0KCk7Ci0gICAgaWYgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3ZCYXIpCisg
ICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBtX3ZC
YXIpCiAgICAgICAgIHggKz0gbV92QmFyLT5vY2N1cGllZFdpZHRoKCk7CiAgICAgTGF5b3V0VW5p
dCB5ID0gYWRkaXRpb25hbE9mZnNldC55KCkgKyBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKSAr
IGl0ZW1IZWlnaHQoKSAqIChpbmRleCAtIG1faW5kZXhPZmZzZXQpOwogICAgIHJldHVybiBMYXlv
dXRSZWN0KHgsIHksIGNvbnRlbnRXaWR0aCgpLCBpdGVtSGVpZ2h0KCkpOwpAQCAtMzQ1LDcgKzM0
NSw3IEBAIHZvaWQgUmVuZGVyTGlzdEJveDo6cGFpbnRTY3JvbGxiYXIoUGFpbnRJbmZvJiBwYWlu
dEluZm8sIGNvbnN0IExheW91dFBvaW50JiBwYWluCiAgICAgaWYgKCFtX3ZCYXIpCiAgICAgICAg
IHJldHVybjsKIAotICAgIExheW91dFVuaXQgbGVmdCA9IHBhaW50T2Zmc2V0LngoKSArICh2ZXJ0
aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVy
UmlnaHQoKSAtIG1fdkJhci0+d2lkdGgoKSk7CisgICAgTGF5b3V0VW5pdCBsZWZ0ID0gcGFpbnRP
ZmZzZXQueCgpICsgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/
IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgp
KTsKICAgICBMYXlvdXRVbml0IHRvcCA9IHBhaW50T2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpOwog
ICAgIExheW91dFVuaXQgd2lkdGggPSBtX3ZCYXItPndpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCBo
ZWlnaHQgPSB0aGlzLT5oZWlnaHQoKSAtIChib3JkZXJUb3AoKSArIGJvcmRlckJvdHRvbSgpKTsK
QEAgLTQ0OCw3ICs0NDgsNyBAQCBib29sIFJlbmRlckxpc3RCb3g6OmlzUG9pbnRJbk92ZXJmbG93
Q29udHJvbChIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNvbnN0IExheW91dAogICAgIGlmICghbV92
QmFyIHx8ICFtX3ZCYXItPnNob3VsZFBhcnRpY2lwYXRlSW5IaXRUZXN0aW5nKCkpCiAgICAgICAg
IHJldHVybiBmYWxzZTsKIAotICAgIExheW91dFVuaXQgeCA9IGFjY3VtdWxhdGVkT2Zmc2V0Lngo
KSArICh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgp
IC0gYm9yZGVyUmlnaHQoKSAtIG1fdkJhci0+d2lkdGgoKSk7CisgICAgTGF5b3V0VW5pdCB4ID0g
YWNjdW11bGF0ZWRPZmZzZXQueCgpICsgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxi
YXJPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92
QmFyLT53aWR0aCgpKTsKICAgICBMYXlvdXRVbml0IHkgPSBhY2N1bXVsYXRlZE9mZnNldC55KCkg
KyBib3JkZXJUb3AoKTsKICAgICBMYXlvdXRVbml0IHdpZHRoID0gbV92QmFyLT53aWR0aCgpOwog
ICAgIExheW91dFVuaXQgaGVpZ2h0ID0gdGhpcy0+aGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIGJv
cmRlckJvdHRvbSgpOwpAQCAtNDcwLDkgKzQ3MCw5IEBAIGludCBSZW5kZXJMaXN0Qm94OjpsaXN0
SW5kZXhBdE9mZnNldChjb25zdCBMYXlvdXRTaXplJiBvZmZzZXQpCiAgICAgICAgIHJldHVybiAt
MTsKIAogICAgIGludCBzY3JvbGxiYXJXaWR0aCA9IG1fdkJhciA/IG1fdkJhci0+d2lkdGgoKSA6
IDA7Ci0gICAgaWYgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiAob2Zmc2V0LndpZHRo
KCkgPCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpICsgc2Nyb2xsYmFyV2lkdGggfHwgb2Zm
c2V0LndpZHRoKCkgPiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHBhZGRpbmdSaWdodCgpKSkK
KyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIChv
ZmZzZXQud2lkdGgoKSA8IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgKyBzY3JvbGxiYXJX
aWR0aCB8fCBvZmZzZXQud2lkdGgoKSA+IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gcGFkZGlu
Z1JpZ2h0KCkpKQogICAgICAgICByZXR1cm4gLTE7Ci0gICAgaWYgKCF2ZXJ0aWNhbFNjcm9sbGJh
cklzT25MZWZ0KCkgJiYgKG9mZnNldC53aWR0aCgpIDwgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xl
ZnQoKSB8fCBvZmZzZXQud2lkdGgoKSA+IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gcGFkZGlu
Z1JpZ2h0KCkgLSBzY3JvbGxiYXJXaWR0aCkpCisgICAgaWYgKCFzaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgKG9mZnNldC53aWR0aCgpIDwgYm9yZGVyTGVmdCgp
ICsgcGFkZGluZ0xlZnQoKSB8fCBvZmZzZXQud2lkdGgoKSA+IHdpZHRoKCkgLSBib3JkZXJSaWdo
dCgpIC0gcGFkZGluZ1JpZ2h0KCkgLSBzY3JvbGxiYXJXaWR0aCkpCiAgICAgICAgIHJldHVybiAt
MTsKIAogICAgIGludCBuZXdPZmZzZXQgPSAob2Zmc2V0LmhlaWdodCgpIC0gYm9yZGVyVG9wKCkg
LSBwYWRkaW5nVG9wKCkpIC8gaXRlbUhlaWdodCgpICsgbV9pbmRleE9mZnNldDsKQEAgLTcyOSw3
ICs3MjksNyBAQCBMYXlvdXRSZWN0IFJlbmRlckxpc3RCb3g6OmNvbnRyb2xDbGlwUmVjdChjb25z
dCBMYXlvdXRQb2ludCYgYWRkaXRpb25hbE9mZnNldCkgYwogICAgIC8vIENsaXAgYWdhaW5zdCB0
aGUgcGFkZGluZyBib3gsIHRvIGdpdmUgPG9wdGlvbj5zIGFuZCBvdmVybGF5IHNjcm9sbGJhciBz
b21lIGV4dHJhIHNwYWNlCiAgICAgLy8gdG8gZ2V0IHBhaW50ZWQuCiAgICAgTGF5b3V0UmVjdCBj
bGlwUmVjdCA9IHBhZGRpbmdCb3hSZWN0KCk7Ci0gICAgaWYgKHZlcnRpY2FsU2Nyb2xsYmFySXNP
bkxlZnQoKSAmJiAoIWxheWVyKCkgfHwgIWxheWVyKCktPnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxl
ZnQoKSkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KSkKICAgICAgICAgY2xpcFJlY3QubW92ZShtX3ZCYXItPm9jY3VwaWVkV2lkdGgoKSwgMCk7CiAg
ICAgY2xpcFJlY3QubW92ZUJ5KGFkZGl0aW9uYWxPZmZzZXQpOwogICAgIHJldHVybiBjbGlwUmVj
dDsKQEAgLTc0NCwxNCArNzQ0LDE0IEBAIGJvb2wgUmVuZGVyTGlzdEJveDo6aXNBY3RpdmUoKSBj
b25zdAogdm9pZCBSZW5kZXJMaXN0Qm94OjppbnZhbGlkYXRlU2Nyb2xsYmFyUmVjdChTY3JvbGxi
YXImIHNjcm9sbGJhciwgY29uc3QgSW50UmVjdCYgcmVjdCkKIHsKICAgICBJbnRSZWN0IHNjcm9s
bFJlY3QgPSByZWN0OwotICAgIHNjcm9sbFJlY3QubW92ZSh2ZXJ0aWNhbFNjcm9sbGJhcklzT25M
ZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJh
ci53aWR0aCgpLCBib3JkZXJUb3AoKSk7CisgICAgc2Nyb2xsUmVjdC5tb3ZlKHNob3VsZFBsYWNl
QmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkg
LSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCksIGJvcmRlclRvcCgpKTsKICAgICBy
ZXBhaW50UmVjdGFuZ2xlKHNjcm9sbFJlY3QpOwogfQogCiBJbnRSZWN0IFJlbmRlckxpc3RCb3g6
OmNvbnZlcnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyhjb25zdCBTY3JvbGxiYXImIHNj
cm9sbGJhciwgY29uc3QgSW50UmVjdCYgc2Nyb2xsYmFyUmVjdCkgY29uc3QKIHsKICAgICBJbnRS
ZWN0IHJlY3QgPSBzY3JvbGxiYXJSZWN0OwotICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gdmVydGlj
YWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJp
Z2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKKyAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHNob3Vs
ZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdp
ZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCk7CiAgICAgaW50IHNjcm9s
bGJhclRvcCA9IGJvcmRlclRvcCgpOwogICAgIHJlY3QubW92ZShzY3JvbGxiYXJMZWZ0LCBzY3Jv
bGxiYXJUb3ApOwogICAgIHJldHVybiB2aWV3KCkuZnJhbWVWaWV3KCkuY29udmVydEZyb21SZW5k
ZXJlclRvQ29udGFpbmluZ1ZpZXcodGhpcywgcmVjdCk7CkBAIC03NjAsNyArNzYwLDcgQEAgSW50
UmVjdCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFpbmluZ1ZpZXco
Y29uc3QgU2Nyb2xsYmFyJiBzY3IKIEludFJlY3QgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21D
b250YWluaW5nVmlld1RvU2Nyb2xsYmFyKGNvbnN0IFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25z
dCBJbnRSZWN0JiBwYXJlbnRSZWN0KSBjb25zdAogewogICAgIEludFJlY3QgcmVjdCA9IHZpZXco
KS5mcmFtZVZpZXcoKS5jb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9SZW5kZXJlcih0aGlzLCBw
YXJlbnRSZWN0KTsKLSAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHZlcnRpY2FsU2Nyb2xsYmFySXNP
bkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xs
YmFyLndpZHRoKCk7CisgICAgaW50IHNjcm9sbGJhckxlZnQgPSBzaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVy
UmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOwogICAgIGludCBzY3JvbGxiYXJUb3AgPSBib3Jk
ZXJUb3AoKTsKICAgICByZWN0Lm1vdmUoLXNjcm9sbGJhckxlZnQsIC1zY3JvbGxiYXJUb3ApOwog
ICAgIHJldHVybiByZWN0OwpAQCAtNzY5LDcgKzc2OSw3IEBAIEludFJlY3QgUmVuZGVyTGlzdEJv
eDo6Y29udmVydEZyb21Db250YWluaW5nVmlld1RvU2Nyb2xsYmFyKGNvbnN0IFNjcm9sbGJhciYg
c2NyCiBJbnRQb2ludCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFp
bmluZ1ZpZXcoY29uc3QgU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IEludFBvaW50JiBzY3Jv
bGxiYXJQb2ludCkgY29uc3QKIHsKICAgICBJbnRQb2ludCBwb2ludCA9IHNjcm9sbGJhclBvaW50
OwotICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8g
Ym9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgo
KTsKKyAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3Jv
bGxiYXJPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0g
c2Nyb2xsYmFyLndpZHRoKCk7CiAgICAgaW50IHNjcm9sbGJhclRvcCA9IGJvcmRlclRvcCgpOwog
ICAgIHBvaW50Lm1vdmUoc2Nyb2xsYmFyTGVmdCwgc2Nyb2xsYmFyVG9wKTsKICAgICByZXR1cm4g
dmlldygpLmZyYW1lVmlldygpLmNvbnZlcnRGcm9tUmVuZGVyZXJUb0NvbnRhaW5pbmdWaWV3KHRo
aXMsIHBvaW50KTsKQEAgLTc3OCw3ICs3NzgsNyBAQCBJbnRQb2ludCBSZW5kZXJMaXN0Qm94Ojpj
b252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFpbmluZ1ZpZXcoY29uc3QgU2Nyb2xsYmFyJiBzYwog
SW50UG9pbnQgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21Db250YWluaW5nVmlld1RvU2Nyb2xs
YmFyKGNvbnN0IFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBJbnRQb2ludCYgcGFyZW50UG9p
bnQpIGNvbnN0CiB7CiAgICAgSW50UG9pbnQgcG9pbnQgPSB2aWV3KCkuZnJhbWVWaWV3KCkuY29u
dmVydEZyb21Db250YWluaW5nVmlld1RvUmVuZGVyZXIodGhpcywgcGFyZW50UG9pbnQpOwotICAg
IGludCBzY3JvbGxiYXJMZWZ0ID0gdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVy
TGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKKyAg
ICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xs
YmFyLndpZHRoKCk7CiAgICAgaW50IHNjcm9sbGJhclRvcCA9IGJvcmRlclRvcCgpOwogICAgIHBv
aW50Lm1vdmUoLXNjcm9sbGJhckxlZnQsIC1zY3JvbGxiYXJUb3ApOwogICAgIHJldHVybiBwb2lu
dDsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmgg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCmluZGV4IDlkYWE4ZDZl
ZDM1MGJjNzM3YWJiNWRiMDhjZjdhYzFjYzE1OTgxY2IuLjBkNzQyYWRkYzVjMTE5YjVlYzkxMjc3
NTQzMTI5MDNhNmQyNTEzN2IgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMaXN0Qm94LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RC
b3guaApAQCAtMTU2LDYgKzE1Niw4IEBAIHByaXZhdGU6CiAgICAgdm9pZCBwYWludEl0ZW1CYWNr
Z3JvdW5kKFBhaW50SW5mbyYsIGNvbnN0IExheW91dFBvaW50JiwgaW50IGxpc3RJbmRleCk7CiAg
ICAgdm9pZCBzY3JvbGxUb1JldmVhbFNlbGVjdGlvbigpOwogCisgICAgYm9vbCBzaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4g
UmVuZGVyQmxvY2tGbG93OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCk7IH0KKwogICAgIGJvb2wgbV9vcHRpb25zQ2hhbmdlZDsKICAgICBib29sIG1fc2Nyb2xsVG9S
ZXZlYWxTZWxlY3Rpb25BZnRlckxheW91dDsKICAgICBib29sIG1faW5BdXRvc2Nyb2xsOwpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCmluZGV4IDAyMWUzMTBkNGIzMzJjYjY0
YTZmMjg0ZGMzYjdiOGM3YTNmYzhjOTAuLjQ5MGU2M2FmM2Y0MWU3NTlkYjU2YzljM2UxMTQzMGI2
MWE0OTE0NmMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKQEAgLTY0
Miw3ICs2NDIsNyBAQCB2b2lkIFJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKGNvbnN0
IExheW91dFJlY3QmIHJlcGFpbnRSZWN0KSBjb25zdAogICAgICAgICAvLyBhbmQgdGhlIFJlbmRl
cmVyIHRoYXQgY29udGFpbnMgdGhlIGlmcmFtZS4gVGhpcyB0cmFuc2Zvcm1hdGlvbiBtdXN0IGFj
Y291bnQgZm9yIGEKICAgICAgICAgLy8gbGVmdCBzY3JvbGxiYXIgKGlmIG9uZSBleGlzdHMpLgog
ICAgICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IHRoaXMtPmZyYW1lVmlldygpOwotICAgICAg
ICBpZiAoZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBmcmFtZVZpZXcu
dmVydGljYWxTY3JvbGxiYXIoKSkKKyAgICAgICAgaWYgKGZyYW1lVmlldy5zaG91bGRQbGFjZUJs
b2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xs
YmFyKCkpCiAgICAgICAgICAgICBhZGp1c3RlZFJlY3QubW92ZShMYXlvdXRTaXplKGZyYW1lVmll
dy52ZXJ0aWNhbFNjcm9sbGJhcigpLT5vY2N1cGllZFdpZHRoKCksIDApKTsKIAogICAgICAgICBv
d25lckJveC0+cmVwYWludFJlY3RhbmdsZShhZGp1c3RlZFJlY3QpOwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAKaW5kZXggMDNkMjE1MjVjZWI0MmM2
OTgxZWIxNjBmZmVjYzBjY2M5Y2RhMTU4ZC4uZTIyMzVkYzJhYjZkYmY1NTc0YTM2ZGY3NDQxZjdi
ODRiYjcwMTllYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1Jl
bmRlclN0eWxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVy
U3R5bGUuY3BwCkBAIC0yMDc3LDkgKzIwNzcsNyBAQCBmbG9hdCBSZW5kZXJTdHlsZTo6b3V0bGlu
ZU9mZnNldCgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdAogewotI2lmIFBMQVRGT1JNKE1BQykKLSAgICBy
ZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwoKTsKLSNlbGlmIFVTRShS
VExfU0NST0xMQkFSKQorI2lmIFBMQVRGT1JNKE1BQykgfHwgVVNFKFJUTF9TQ1JPTExCQVIpCiAg
ICAgcmV0dXJuICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYgaXNIb3Jpem9udGFsV3JpdGlu
Z01vZGUoKTsKICNlbHNlCiAgICAgcmV0dXJuIGZhbHNlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3Rp
bmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKaW5kZXggZmM0MzVhN2M3OWFkNDhmYjYyNGNlOWYzNGQ3
MTk0ZTk4NzdlYjZlOS4uMmQ2ZTc5M2U3NTE5NjhhNGM2M2ZiZWY1N2Y2MTExODE1NWQ1ZDc0NiAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcAor
KysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCkBAIC0xMDYs
NiArMTA2LDggQEAgSW50ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpCYWNrdXAoU2V0dGluZ3MmIHNl
dHRpbmdzKQogI2lmIEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgLCBt
X2luZGV4ZWREQldvcmtlcnNFbmFibGVkKFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6OnNoYXJlZEZl
YXR1cmVzKCkuaW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoKSkKICNlbmRpZgorICAgICwgbV92ZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KHNldHRpbmdzLnZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koKSkKKyAgICAsIG1fc3lzdGVtTGF5b3V0RGlyZWN0aW9uKHNldHRpbmdzLnN5
c3RlbUxheW91dERpcmVjdGlvbigpKQogewogfQogCkBAIC0xNzYsNiArMTc4LDggQEAgdm9pZCBJ
bnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyhTZXR0aW5ncyYgc2V0dGluZ3MpCiAj
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICBSdW50aW1lRW5hYmxl
ZEZlYXR1cmVzOjpzaGFyZWRGZWF0dXJlcygpLnNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKG1f
aW5kZXhlZERCV29ya2Vyc0VuYWJsZWQpOwogI2VuZGlmCisgICAgc2V0dGluZ3Muc2V0VmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShtX3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3kpOworICAgIHNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbihtX3N5c3RlbUxheW91
dERpcmVjdGlvbik7CiB9CiAKIGNsYXNzIEludGVybmFsU2V0dGluZ3NXcmFwcGVyIDogcHVibGlj
IFN1cHBsZW1lbnQ8UGFnZT4gewpAQCAtNTU1LDYgKzU1OSw1OSBAQCB2b2lkIEludGVybmFsU2V0
dGluZ3M6OnNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2wgZW5hYmxlZCwgRXhjZXB0aW9u
Q29kZSYpCiAjZW5kaWYKIH0KIAorU3RyaW5nIEludGVybmFsU2V0dGluZ3M6OnZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3koRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxT
ZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3NSZXR1cm4oIiIpOworICAgIHN3aXRjaCAoc2V0dGluZ3Mo
KS0+dmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgpKSB7CisgICAgY2FzZSBWZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50OgorICAgICAgICByZXR1cm4gQVNDSUlM
aXRlcmFsKCJDb250ZW50Iik7CisgICAgY2FzZSBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5OjpWaWV3OgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFsKCJWaWV3Iik7CisgICAgfQor
ICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBTdHJpbmcoKTsKK30KKwordm9p
ZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KGNv
bnN0IFN0cmluZyYgcG9saWN5LCBFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNl
dHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FT
Q0lJQ2FzZShwb2xpY3ksICJjb250ZW50IikpIHsKKyAgICAgICAgc2V0dGluZ3MoKS0+c2V0VmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5OjpDb250ZW50KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UocG9saWN5LCAidmlldyIpKSB7CisgICAgICAgIHNldHRpbmdz
KCktPnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koVmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeTo6Vmlldyk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZWMgPSBJ
TlZBTElEX0FDQ0VTU19FUlI7Cit9CisKK1N0cmluZyBJbnRlcm5hbFNldHRpbmdzOjpzeXN0ZW1M
YXlvdXREaXJlY3Rpb24oRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxTZXR0aW5n
c0d1YXJkRm9yU2V0dGluZ3NSZXR1cm4oIiIpOworICAgIHN3aXRjaCAoc2V0dGluZ3MoKS0+c3lz
dGVtTGF5b3V0RGlyZWN0aW9uKCkpIHsKKyAgICBjYXNlIExUUjoKKyAgICAgICAgcmV0dXJuIEFT
Q0lJTGl0ZXJhbCgiTFRSIik7CisgICAgY2FzZSBSVEw6CisgICAgICAgIHJldHVybiBBU0NJSUxp
dGVyYWwoIlJUTCIpOworICAgIH0KKyAgICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1
cm4gU3RyaW5nKCk7Cit9CisKK3ZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0U3lzdGVtTGF5b3V0
RGlyZWN0aW9uKGNvbnN0IFN0cmluZyYgZGlyZWN0aW9uLCBFeGNlcHRpb25Db2RlJiBlYykKK3sK
KyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JTZXR0aW5ncygpOworICAgIGlmIChlcXVhbExl
dHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3Rpb24sICJsdHIiKSkgeworICAgICAgICBzZXR0
aW5ncygpLT5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oTFRSKTsKKyAgICAgICAgcmV0dXJuOwor
ICAgIH0KKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aW9uLCAi
cnRsIikpIHsKKyAgICAgICAgc2V0dGluZ3MoKS0+c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKFJU
TCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgZWMgPSBJTlZBTElEX0FDQ0VTU19FUlI7
Cit9CiAKIC8vIElmIHlvdSBhZGQgdG8gdGhpcyBsaXN0LCBtYWtlIHN1cmUgdGhhdCB5b3UgdXBk
YXRlIHRoZSBCYWNrdXAgY2xhc3MgZm9yIHRlc3QgcmVwcm9kdWNhYmlsaXR5IQogCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaCBiL1NvdXJjZS9X
ZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCmluZGV4IGIwZjA4ZjI5Mjc0N2QwMjBh
Nzg0NjJhMGIwZjNmMjJjYzIwMWQ0OWMuLjNmNWY3MTBmMDZlZDUzMzYyMTIyYTQ2Mjg0MzRiYmJm
NDM4NDU1NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0
aW5ncy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oCkBA
IC0zNCw2ICszNCw4IEBACiAjaW5jbHVkZSAiSW50U2l6ZS5oIgogI2luY2x1ZGUgIkludGVybmFs
U2V0dGluZ3NHZW5lcmF0ZWQuaCIKICNpbmNsdWRlICJTZWN1cml0eU9yaWdpbi5oIgorI2luY2x1
ZGUgIlNldHRpbmdzLmgiCisjaW5jbHVkZSAiV3JpdGluZ01vZGUuaCIKIAogbmFtZXNwYWNlIFdl
YkNvcmUgewogCkBAIC0xMDIsNiArMTA0LDggQEAgcHVibGljOgogI2lmIEVOQUJMRShJTkRFWEVE
X0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgICAgIGJvb2wgbV9pbmRleGVkREJXb3JrZXJzRW5h
YmxlZDsKICNlbmRpZgorICAgICAgICBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IG1f
dmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTsKKyAgICAgICAgVGV4dERpcmVjdGlvbiBt
X3N5c3RlbUxheW91dERpcmVjdGlvbjsKICAgICB9OwogCiAgICAgc3RhdGljIFJlZjxJbnRlcm5h
bFNldHRpbmdzPiBjcmVhdGUoUGFnZSogcGFnZSkKQEAgLTE1MCw2ICsxNTQsMTAgQEAgcHVibGlj
OgogICAgIHZvaWQgc2V0QWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayhib29sLCBFeGNlcHRpb25D
b2RlJik7CiAgICAgdm9pZCBzZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5c0lubGlu
ZUF0dHJpYnV0ZShib29sLCBFeGNlcHRpb25Db2RlJik7CiAgICAgdm9pZCBzZXRJbmRleGVkREJX
b3JrZXJzRW5hYmxlZChib29sLCBFeGNlcHRpb25Db2RlJik7CisgICAgU3RyaW5nIHZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koRXhjZXB0aW9uQ29kZSYpOworICAgIHZvaWQgc2V0VmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShjb25zdCBTdHJpbmcmIHBvbGljeSwgRXhjZXB0
aW9uQ29kZSYpOworICAgIFN0cmluZyBzeXN0ZW1MYXlvdXREaXJlY3Rpb24oRXhjZXB0aW9uQ29k
ZSYpOworICAgIHZvaWQgc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKGNvbnN0IFN0cmluZyYgZGly
ZWN0aW9uLCBFeGNlcHRpb25Db2RlJik7CiAKIHByaXZhdGU6CiAgICAgZXhwbGljaXQgSW50ZXJu
YWxTZXR0aW5ncyhQYWdlKik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0lu
dGVybmFsU2V0dGluZ3MuaWRsIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRp
bmdzLmlkbAppbmRleCBlMzllNzQxODdlM2IxMjZjMzNiY2U4NTg5OWU1MWE3ZmFlYWJhZTQyLi5h
MmQ3ODFjZDA3NWE3YmJjY2NiNzA4OGI5YWJhM2FiZWVmMWRiODJiIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCisrKyBiL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwKQEAgLTc5LDUgKzc5LDEwIEBACiAgICAg
W1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRJbmxpbmVNZWRpYVBsYXliYWNrUmVxdWlyZXNQbGF5
c0lubGluZUF0dHJpYnV0ZShib29sZWFuIHJlcXVpcmVzKTsKIAogICAgIFtSYWlzZXNFeGNlcHRp
b25dIHZvaWQgc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbGVhbiByZXF1aXJlcyk7CisK
KyAgICBbUmFpc2VzRXhjZXB0aW9uXSBET01TdHJpbmcgdmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSgpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0VmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeShET01TdHJpbmcgcG9saWN5KTsKKyAgICBbUmFpc2VzRXhjZXB0aW9u
XSBET01TdHJpbmcgc3lzdGVtTGF5b3V0RGlyZWN0aW9uKCk7CisgICAgW1JhaXNlc0V4Y2VwdGlv
bl0gdm9pZCBzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oRE9NU3RyaW5nIGRpcmVjdGlvbik7CiB9
OwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZp
bml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlv
bnMuaAppbmRleCBlNDgwYzFlMjg0Y2EwNjI0ZWEyM2JhN2IxMzhiMDM3OWE1ZWU0ZDE4Li44YTdj
NWJhZDg2ZTQ0ZmI1OWE1OWRhMGZjNTNmMTRhZDRiYzkxM2FjIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJjZS9X
ZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTI1Nyw2ICsyNTcs
OCBAQAogICAgIG1hY3JvKFN0b3JhZ2VCbG9ja2luZ1BvbGljeSwgc3RvcmFnZUJsb2NraW5nUG9s
aWN5LCBVSW50MzIsIHVpbnQzMl90LCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6QmxvY2tUaGly
ZFBhcnR5U3RvcmFnZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oSmF2YVNjcmlwdFJ1bnRpbWVGbGFn
cywgamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBc
CiAgICAgbWFjcm8oRGF0YURldGVjdG9yVHlwZXMsIGRhdGFEZXRlY3RvclR5cGVzLCBVSW50MzIs
IHVpbnQzMl90LCAwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uLCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uLCBVSW50MzIsIHVpbnQzMl90LCAwLCAiIiwg
IiIpIFwKKyAgICBtYWNybyhTeXN0ZW1MYXlvdXREaXJlY3Rpb24sIHN5c3RlbUxheW91dERpcmVj
dGlvbiwgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCiAgICAgXAogCiAjZGVmaW5lIEZP
Ul9FQUNIX1dFQktJVF9ERUJVR19CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggMGVkNzUzZWVj
ZTQ5Mjk4YzVlYjEwMWVhMWJlZTMxZjc3ZDUzMDI4Ny4uNjdjOGU1YzYxYWEzODczOTIyNGU5NDBk
ODUzMDM5Y2EwMjA5Y2E4MSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQ
SS9Db2NvYS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9D
b2NvYS9XS1dlYlZpZXcubW0KQEAgLTQwOCwxMSArNDA4LDE2IEBAIC0gKHZvaWQpX2luaXRpYWxp
emVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRp
b24KICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6
OldlYlByZWZlcmVuY2VzS2V5OjpzaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weUtleSgp
LCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9j
b252ZXJ0c1Bvc2l0aW9uU3R5bGVPbkNvcHldKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnBy
ZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aHR0cEVxdWl2
RW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25m
aWd1cmF0aW9uIF9hbGxvd3NNZXRhUmVmcmVzaF0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+
cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd1Vu
aXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3Rv
cmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxl
VVJMc10pKTsKKworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25LZXko
KSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZShzdGF0aWNfY2FzdDx1aW50MzJf
dD4oW19jb25maWd1cmF0aW9uIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ldKSkpOwog
ICAgIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzaG93c1VSTHNJblRvb2xU
aXBzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19j
b25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSkpOwogICAgIHBhZ2VDb25maWd1cmF0
aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnNl
cnZpY2VDb250cm9sc0VuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpW
YWx1ZSghIVtfY29uZmlndXJhdGlvbiBfc2VydmljZUNvbnRyb2xzRW5hYmxlZF0pKTsKICAgICBw
YWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZl
cmVuY2VzS2V5OjppbWFnZUNvbnRyb2xzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xzRW5hYmxlZF0p
KTsKKyAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0aW5lLCBz
byBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJmYWNlIGRp
cmVjdGlvbi4KKyAgICAvLyBUaGVyZWZvcmUsIGFjY29yZGluZyB0byB0aGUgZG9jcywgInRoaXMg
cHJvcGVydHkgY29udGFpbnMgdGhlIHZhbHVlIHJlcG9ydGVkIGJ5IHRoZSBhcHDigJlzIHVzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gcHJvcGVydHkuIgorICAgIHBhZ2VDb25maWd1cmF0aW9u
LT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnN5c3Rl
bUxheW91dERpcmVjdGlvbktleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVl
KHN0YXRpY19jYXN0PHVpbnQzMl90PihzZWxmLnVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24p
KSk7CiAjZW5kaWYKIAogI2lmIFBMQVRGT1JNKElPUykKQEAgLTQyMiw2ICs0MjcsNyBAQCAtICh2
b2lkKV9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24g
Kiljb25maWd1cmF0aW9uCiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMo
KS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aW5saW5lTWVkaWFQbGF5YmFja1JlcXVp
cmVzUGxheXNJbmxpbmVBdHRyaWJ1dGVLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3Jl
OjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfaW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxh
eXNJbmxpbmVBdHRyaWJ1dGVdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VW
YWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dzUGljdHVyZUluUGlj
dHVyZU1lZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1
ZSghIVtfY29uZmlndXJhdGlvbiBhbGxvd3NQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja10g
JiYgc2hvdWxkQWxsb3dQaWN0dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFjaygpKSk7CiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJl
bmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvck1lZGlhUGxheWJhY2tLZXkoKSwgV2ViS2l0
OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiByZXF1aXJlc1Vz
ZXJBY3Rpb25Gb3JNZWRpYVBsYXliYWNrXSkpOworICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVm
ZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnN5c3RlbUxheW91
dERpcmVjdGlvbktleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKDB1KSk7
CiAjZW5kaWYKIAogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0
KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JWaWRlb1Bs
YXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZp
Z3VyYXRpb24gX3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2tdKSk7CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3Vy
YXRpb24uaCBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbi5oCmluZGV4IDY2ZDY1M2YzYzI3ZmVlNTFjNGNjY2RlMjUxMDYzMzJmMDBhZmUx
ODUuLjBkZGFjYTNiMTM5OTM2ZmRkMTRhNDMyNzYyN2NkMmFlMzE2OTdiMTggMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlv
bi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29u
ZmlndXJhdGlvbi5oCkBAIC03Myw2ICs3MywyMCBAQCB0eXBlZGVmIE5TX09QVElPTlMoTlNVSW50
ZWdlciwgV0tEYXRhRGV0ZWN0b3JUeXBlcykgewogICAgIFdLRGF0YURldGVjdG9yVHlwZUFsbCA9
IE5TVUludGVnZXJNYXgKIH0gV0tfRU5VTV9BVkFJTEFCTEUoV0tfTUFDX1RCQSwgV0tfSU9TX1RC
QSk7CiAKKworLyohIEBlbnVtIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeQorIEBh
YnN0cmFjdCBUaGUgbWVjaGFuaXNtIGJ5IHdoaWNoIHZlcnRpY2FsIHNjcm9sbGJhcnMgb2JleSBh
biBSVEwgZW52aXJvbm1lbnQKKyBAY29uc3RhbnQgV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5Q29udGVudCBTY3JvbGxiYXIgcGxhY2VtZW50IG9iZXlzIENTUyAvIEhUTUwgLyBYSFRN
TCBzcGVjaWZpY2F0aW9ucy4KKyBAY29uc3RhbnQgV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5VmlldyBTY3JvbGxiYXIgcGxhY2VtZW50IG9iZXlzIHN5c3RlbSBwbGF0Zm9ybSBzcGVj
aWZpY2F0aW9ucy4KKyBAZGlzY3Vzc2lvbiBXaGVuIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeUNvbnRlbnQgaXMgc3BlY2lmaWVkLCB0aGUgcGxhY2VtZW50IG9mIHZlcnRpY2FsIHNj
cm9sbGJhcnMgaXMKKyBhZmZlY3RlZCBieSB0aGUgImRpciIgZWxlbWVudCBvciB0aGUgImRpcmVj
dGlvbiIgQ1NTIHByb3BlcnR5LiBXaGVuIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eVZpZXcgaXMKKyBzcGVjaWZpZWQsIHRoZSBwbGFjZW1lbnQgb2YgdmVydGljYWwgc2Nyb2xsYmFy
cyBpcyBhZmZlY3RlZCBieSB0aGUgZGlyZWN0aW9uIG9mIHRoZSBzeXN0ZW0uCisqLwordHlwZWRl
ZiBOU19FTlVNKE5TSW50ZWdlciwgV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KSB7
CisgICAgV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Q29udGVudCA9IDAsCisgICAg
V0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5VmlldyA9IDEsCit9IFdLX0VOVU1fQVZB
SUxBQkxFKFdLX01BQ19UQkEsIE5BKTsKKwogLyohIEEgV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBv
YmplY3QgaXMgYSBjb2xsZWN0aW9uIG9mIHByb3BlcnRpZXMgd2l0aAogIHdoaWNoIHRvIGluaXRp
YWxpemUgYSB3ZWIgdmlldy4KICBAaGVscHMgQ29udGFpbnMgcHJvcGVydGllcyB1c2VkIHRvIGNv
bmZpZ3VyZSBhIEBsaW5rIFdLV2ViVmlldyBAL2xpbmsuCkBAIC0xMjQsNiArMTM4LDEyIEBAIFdL
X0NMQVNTX0FWQUlMQUJMRSgxMF8xMCwgOF8wKQogICovCiBAcHJvcGVydHkgKG5vbmF0b21pYykg
V0tEYXRhRGV0ZWN0b3JUeXBlcyBkYXRhRGV0ZWN0b3JUeXBlcyBXS19BVkFJTEFCTEUoV0tfTUFD
X1RCQSwgV0tfSU9TX1RCQSk7CiAKKy8qISBAYWJzdHJhY3QgVGhlIHBsYWNlbWVudCBiZWhhdmlv
ciBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXJzLgorIEBkaXNjdXNzaW9uIFBvc3NpYmxlIHZhbHVlcyBh
cmUgZGVzY3JpYmVkIGluIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeS4KKyBUaGUg
ZGVmYXVsdCB2YWx1ZSBpcyBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50
LgorICovCitAcHJvcGVydHkgKG5vbmF0b21pYykgV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5IHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgV0tfQVZBSUxBQkxFKFdLX01B
Q19UQkEsIE5BKTsKKwogI2lmIFRBUkdFVF9PU19JUEhPTkUKIC8qISBAYWJzdHJhY3QgQSBCb29s
ZWFuIHZhbHVlIGluZGljYXRpbmcgd2hldGhlciBIVE1MNSB2aWRlb3MgcGxheSBpbmxpbmUKICAo
WUVTKSBvciB1c2UgdGhlIG5hdGl2ZSBmdWxsLXNjcmVlbiBjb250cm9sbGVyIChOTykuCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZp
Z3VyYXRpb24ubW0gYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmll
d0NvbmZpZ3VyYXRpb24ubW0KaW5kZXggN2IyODFkOWM1Y2M1YmJkYTkyYzJhZjlmMjI3NzVjYWQ5
ZTlkNzdjZC4uMjRiMmRlNDI3M2YyYjQ4ZDY5MGU4ZDYzZmM1Yzc3MTZlMTUyMzlmMCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1
cmF0aW9uLm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJW
aWV3Q29uZmlndXJhdGlvbi5tbQpAQCAtMTQwLDYgKzE0MCw3IEBAIC0gKGluc3RhbmNldHlwZSlp
bml0CiAgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IE5POwogI2Vsc2UKICAgICBf
bWVkaWFEYXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gWUVTOworICAgIF92ZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5ID0gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Q29udGVu
dDsKICNlbmRpZgogICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrID0gTk87
CiAgICAgX3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sgPSBOTzsKQEAgLTE5OCw2
ICsxOTksNyBAQCAtICh2b2lkKWVuY29kZVdpdGhDb2RlcjooTlNDb2RlciAqKWNvZGVyCiAgICAg
W2NvZGVyIGVuY29kZU9iamVjdDpzZWxmLmFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCBmb3JL
ZXk6QCJhcHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQiXTsKICAgICBbY29kZXIgZW5jb2RlQm9v
bDpzZWxmLmFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrIGZvcktleTpAImFsbG93c0FpclBs
YXlGb3JNZWRpYVBsYXliYWNrIl07CiAgICAgW2NvZGVyIGVuY29kZUludGVnZXI6c2VsZi5kYXRh
RGV0ZWN0b3JUeXBlcyBmb3JLZXk6QCJkYXRhRGV0ZWN0b3JUeXBlcyJdOworICAgIFtjb2RlciBl
bmNvZGVJbnRlZ2VyOnNlbGYudmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSBmb3JLZXk6
QCJ2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Il07CiAKICNpZiBQTEFURk9STShJT1Mp
CiAgICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrIGZv
cktleTpAImFsbG93c0lubGluZU1lZGlhUGxheWJhY2siXTsKQEAgLTIyMSw2ICsyMjMsNyBAQCAt
IChpbnN0YW5jZXR5cGUpaW5pdFdpdGhDb2RlcjooTlNDb2RlciAqKWNvZGVyCiAgICAgc2VsZi5h
cHBsaWNhdGlvbk5hbWVGb3JVc2VyQWdlbnQgPSBbY29kZXIgZGVjb2RlT2JqZWN0Rm9yS2V5OkAi
YXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50Il07CiAgICAgc2VsZi5hbGxvd3NBaXJQbGF5Rm9y
TWVkaWFQbGF5YmFjayA9IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAiYWxsb3dzQWlyUGxheUZv
ck1lZGlhUGxheWJhY2siXTsKICAgICBzZWxmLmRhdGFEZXRlY3RvclR5cGVzID0gW2NvZGVyIGRl
Y29kZUludGVnZXJGb3JLZXk6QCJkYXRhRGV0ZWN0b3JUeXBlcyJdOworICAgIHNlbGYudmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSA9IHN0YXRpY19jYXN0PFdLVmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeT4oW2NvZGVyIGRlY29kZUludGVnZXJGb3JLZXk6QCJ2ZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5Il0pOwogCiAjaWYgUExBVEZPUk0oSU9TKQogICAgIHNlbGYu
YWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IFtjb2RlciBkZWNvZGVCb29sRm9yS2V5OkAiYWxs
b3dzSW5saW5lTWVkaWFQbGF5YmFjayJdOwpAQCAtMjY2LDYgKzI2OSw4IEBAIC0gKGlkKWNvcHlX
aXRoWm9uZTooTlNab25lICopem9uZQogICAgIGNvbmZpZ3VyYXRpb24tPl9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JBdWRpb1BsYXliYWNrID0gc2VsZi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlv
UGxheWJhY2s7CiAgICAgY29uZmlndXJhdGlvbi0+X21haW5Db250ZW50VXNlckdlc3R1cmVPdmVy
cmlkZUVuYWJsZWQgPSBzZWxmLT5fbWFpbkNvbnRlbnRVc2VyR2VzdHVyZU92ZXJyaWRlRW5hYmxl
ZDsKIAorICAgIGNvbmZpZ3VyYXRpb24tPl92ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
ID0gc2VsZi0+X3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k7CisKICNpZiBQTEFURk9S
TShJT1MpCiAgICAgY29uZmlndXJhdGlvbi0+X2FsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBz
ZWxmLT5fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjazsKICAgICBjb25maWd1cmF0aW9uLT5faW5s
aW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGUgPSBzZWxmLT5faW5s
aW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVBdHRyaWJ1dGU7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcCBiL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCmluZGV4IDdmYmMxNzNkYWZkMDFiMjg2ZjVj
NzFmYzRhNmU5YTg5Zjk3Zjk4ODIuLmMyOTczMDZjOTQ4ZmNmNDI0OTE3YzYwOTFjNWJiODg1YzU4
OWNjYzMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHku
Y3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9XZWJQYWdlUHJveHkuY3BwCkBAIC0x
MDAsNiArMTAwLDcgQEAKICNpbmNsdWRlICJXZWJQb3B1cEl0ZW0uaCIKICNpbmNsdWRlICJXZWJQ
b3B1cE1lbnVQcm94eS5oIgogI2luY2x1ZGUgIldlYlByZWZlcmVuY2VzLmgiCisjaW5jbHVkZSAi
V2ViUHJlZmVyZW5jZXNLZXlzLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc01lc3NhZ2VzLmgiCiAj
aW5jbHVkZSAiV2ViUHJvY2Vzc1Bvb2wuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUHJveHkuaCIK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVj
YXRlZFBERlBsdWdpbi5oIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9E
ZXByZWNhdGVkUERGUGx1Z2luLmgKaW5kZXggNzhlZWU5ZGJjMDg3YTBhMDU2ZWFhZmU4OWE5Mjli
ZDQ0YzhlM2I5Yi4uMWJmMWJmYmQ1Yjk2ZjcyNjdiN2UyZTRmMWRiY2U5MDM1Mzg2ZGFmZSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9EZXByZWNhdGVk
UERGUGx1Z2luLmgKKysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9E
ZXByZWNhdGVkUERGUGx1Z2luLmgKQEAgLTExMSw2ICsxMTEsOCBAQCBwdWJsaWM6CiAKICAgICBD
R0Zsb2F0IHNjYWxlRmFjdG9yKCkgY29uc3Q7CiAKKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tE
aXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCBvdmVycmlkZSB7IHJldHVybiBmYWxzZTsg
fQorCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IFBERlBsdWdpbihXZWJGcmFtZSopOwogCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAgYi9T
b3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAKaW5kZXggNDQ0OWQ0
ODEyNzI3NDYxODZkZTA3YTliMmQyNDc1YTgxMDcyMzU2Ny4uM2I4NTE1NDZmMDUxMWNhMDljYzdl
ZTM1NWI0M2JlOTA4ZDVkYTM4ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vz
cy9XZWJQYWdlL1dlYlBhZ2UuY3BwCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2Vi
UGFnZS9XZWJQYWdlLmNwcApAQCAtMzA3Miw2ICszMDcyLDkgQEAgdm9pZCBXZWJQYWdlOjp1cGRh
dGVQcmVmZXJlbmNlcyhjb25zdCBXZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKIAogICAgIHNl
dHRpbmdzLnNldFNob3VsZERpc3BhdGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHModHJ1
ZSk7CiAKKyAgICBzZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCFz
dG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShXZWJQcmVmZXJlbmNlc0tleTo6dmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvbktleSgpKSA/IFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OkNv
bnRlbnQgOiBWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpWaWV3KTsKKyAgICBzZXR0
aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oc3RhdGljX2Nhc3Q8VGV4dERpcmVjdGlvbj4o
c3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25LZXkoKSkpKTsKKwogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAj
aW5jbHVkZSA8V2ViS2l0QWRkaXRpb25zL1dlYlBhZ2VQcmVmZXJlbmNlcy5jcHA+CiAjZW5kaWYK
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCA1NWVjZjllNTU5ZWE2MTY4NTc5NTdjMTAyODA3MDdjZjQ1MzYxM2UzLi5iOTYwNjg2
MTgyMGYxMDdjODFjNmU4NTczY2EyMTU3MGRlZGNkNDAwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcgQEAK
KzIwMTYtMDQtMjUgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKwor
ICAgICAgICBbV0syXSBbT1MgWF0gQ3JlYXRlIEFQSSBmb3Igc3dpdGNoaW5nIFJUTCBzY3JvbGxi
YXIgcG9saWN5CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9p
ZD0xNTY5NDgKKyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1NzA3NzU3PgorCisgICAgICAgIFJl
dmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0cyB0byB1c2Ug
bmV3IFJUTCBzY3JvbGxiYXIgbWVjaGFuaXNtLgorCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0
bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0
LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
aWZyYW1lLW9mZnNldC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sOgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtZXhwZWN0ZWQuaHRt
bDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9s
bC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWxpc3Rib3gtc2Nyb2xsLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2VsZWN0LXJpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy1leHBl
Y3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LWNvbnRlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmZsb3ctZGlyLXJ0bC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1lbGVtZW50RnJvbVBvaW50Lmh0bWw6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1wYWRkaW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWw6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRp
b24tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1vdmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1z
Y3JvbGxlZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhw
ZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
bGF5LW5vLXB1c2gtY29udGVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWw6CisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0
ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlv
bi1maXhlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uaW5nLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0y
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRv
Y3VtZW50LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5o
dG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJh
bWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3kt
b3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTIuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3Rp
Y2t5LW92ZXJmbG93LXNjcm9sbC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVj
dGlvbi1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXRleHQtc2VsZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMuaHRtbDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5LWV4cGVjdGVkLnBuZzogQWRkZWQuCisKIDIw
MTYtMDQtMjUgIFJ5b3N1a2UgTml3YSAgPHJuaXdhQHdlYmtpdC5vcmc+CiAKICAgICAgICAgVXBk
YXRlIHRlbXBsYXRlIGVsZW1lbnQgdGVzdHMKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0
bWwKaW5kZXggZWUzNjBiNDNhMmZhOWYzZmQwZGEzYTAxNjJhNzBmNmIyMzJlM2JjMS4uODRmYjRk
ZjJiNjFkOTk0MjYwZTRjNWQ2ODVkMDU5NTY3YjEzODU5OSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9u
LXByb3BlcnR5Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgdXNlTW9ja1Njcm9sbGJhcnM9ZmFs
c2UgXSAtLT4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgdXNlTW9j
a1Njcm9sbGJhcnM9ZmFsc2UgXSAtLT4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5PgogPGRpdiBzdHlsZT0id2lkdGg6IDIwMHB4OyBoZWlnaHQ6IDIwMHB4
OyBwb3NpdGlvbjogcmVsYXRpdmU7IG92ZXJmbG93OiBzY3JvbGw7Ij4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQt
c3RhdGljLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1l
bGVtZW50RnJvbVBvaW50LXN0YXRpYy5odG1sCmluZGV4IDM1NGNkZDljMGVmZTMwOGZjMDcxNGJj
ODkzZTlmNGRiMmI1YTBhOGUuLmE0NjI0ODg3NWU1NjRmMmEyZjZhN2Q2Y2Y5YTYzYjA1NmRmMGJm
NjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbApAQCAtMSw2
ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOwor
fQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpz
Ij48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTQsNCArMjAsNCBAQCBzaG91bGRCZUVx
dWFsVG9TdHJpbmcoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoMjIsIDcpLmlkIiwgImEiKTsK
IDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMi
Pjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQuaHRtbAppbmRleCBlM2E4NjU5N2Q3MzIw
OWI3ZWY1OGVhNjQ1YjYxMzE3OWFiMWE3YThhLi5jNmYwZmZlNDk3ODM1YzNmYzYxMTliOTY3MDZi
OTZiNGJiYjRjOTBlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC5odG1sCkBAIC0xLDYgKzEs
MTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xs
YmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8
L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CkBAIC0xMyw0ICsxOSw0IEBAIHNob3VsZEJlRXF1YWxU
b1N0cmluZygiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCg3LCA3KS5pZCIsICJhIik7CiA8L3Nj
cmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzIj48L3Nj
cmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtZXhwZWN0ZWQuaHRtbAppbmRleCBlOTVmMjkwYTIxYWIyYjc3YzNjMWFiMzU1MmI5ZGQ4NjQ2
NjNjM2UzLi5lNjE3NzM2ZWQzNmZjY2Y0NWVhMzJjMGVhN2ZiOGRjODEzY2VhNTdhIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1leHBlY3RlZC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWV4cGVj
dGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgi
VmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9ImhlaWdo
dDogMTAwMHB4OyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBh
YnNvbHV0ZTsgbGVmdDogMHB4OyBib3R0b206IDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRo
YXQgcnRsIHNjcm9sbGJhcnMgYXJlIG9uIHRoZSBsZWZ0IG9mIHRoZSBtYWluIGZyYW1lLjwvZGl2
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
aWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sCmluZGV4IDI4ZDE3NjYx
NmJhN2U4ZWE3MTg1ZmU0MzMzZGVjYTZlY2ZhZWJjNzEuLmYwODE1MzM5NmM3ZTU1Njk3MWI3NjU2
M2M2Mzg3OGJiNWIyZTY5MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0LWV4cGVjdGVk
Lmh0bWwKQEAgLTEsMTAgKzEsMTYgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cu
aW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZp
ZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBpZD0idGV4
dCIgc3R5bGU9J3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsnPkFCQ0Q8
L2Rpdj4KIDxkaXYgc3R5bGU9J3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDI1
cHg7Jz5ERUZHPC9kaXY+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhw
eDsgdG9wOiAxMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgY29udGVudHMgb2YgaWZy
YW1lcyBhcmUgbm90IGNvdmVyZWQgYnkgYW4gcnRsIHNjcm9sbGJhci48L2Rpdj4KIDwvYm9keT4K
LTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUt
b2Zmc2V0Lmh0bWwKaW5kZXggYzM2ZmY4NmY5YzBkZDRlNzFmNzkzY2IyZDc4NGM1ODk3M2M2N2Nk
Ny4uYmRhOWY5NDEzMWZmNmMxNzIzYjQ5ZmE1NGExZGY2ZDc4YTA3ODM1MCAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFt
ZS1vZmZzZXQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlv
dXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxpZnJh
bWUgaWQ9ImlmcmFtZSIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4OyBo
ZWlnaHQ6IDEwMHB4OyBsZWZ0OiAtMTVweDsgdG9wOiAwcHg7IG1hcmdpbjogMHB4OyBib3JkZXI6
IHNvbGlkIGJsYWNrIDBweDsgcGFkZGluZzogMHB4OyIKQEAgLTE1LDQgKzIxLDQgQEAgQUJDRAog
PC9odG1sPiI+PC9pZnJhbWU+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6
IDhweDsgdG9wOiAxMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgY29udGVudHMgb2Yg
aWZyYW1lcyBhcmUgbm90IGNvdmVyZWQgYnkgYW4gcnRsIHNjcm9sbGJhci48L2Rpdj4KIDwvYm9k
eT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9z
aXRpb24tYWJzb2x1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCmluZGV4IDMyNzk1MjFhYzMxY2Mx
ZDFjMTNjNzI2YWNkNWVkMWU5MjFhMmM1MmYuLmNmNGIzYjk3Zjg4NzM5ZGNlNDU0MGZjYTQ1NmE5
YWZhNTc0YzA1ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5o
dG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXci
KTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMnPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CkBAIC0yOCw0ICszNCw0IEBA
IGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJsb2FkIiwgZnVuY3Rpb24oKSB7CiA8L3NjcmlwdD4K
IDxzY3JpcHQgc3JjPScuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wb3N0LmpzJz48L3NjcmlwdD4K
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJh
bWUtc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sCmluZGV4IDI3ZWY4N2Vj
OGM3MWJlMDEyMmIwYTc4NDY3MTIwYmE0NDc5NzdhZGUuLjc1N2U2YzFjYTliNWQ4N2UxOTBmMjJl
NDJhYjIzNmE5MmY1NGJjYmMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBl
Y3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGlmcmFtZSBp
ZD0iaWZyYW1lIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwcHg7IGhlaWdo
dDogMTAwcHg7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IG1hcmdpbjogMHB4OyBib3JkZXI6IHNvbGlk
IGJsYWNrIDBweDsgcGFkZGluZzogMHB4OyIKQEAgLTI3LDQgKzMzLDQgQEAgZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImlmcmFtZSIpLmZvY3VzKCk7CiA8L3NjcmlwdD4KIDxkaXYgc3R5bGU9InBv
c2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDEwMHB4OyI+VGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBoaXQgdGVzdGluZyBpbiBpZnJhbWVzIHdvcmtzIGNvcnJlY3RseS48L2Rpdj4K
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJh
bWUtc2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCmluZGV4IDYxZmZjZGY3YmM0OGZiMjQzNjNkYjg1MzJi
MDI5Zjg2OWE2MGVhMDAuLmY2ZDNkY2YyOGI5ODhlODc1ZWRkYThhZGI3MWE0ODlkZjE4ZjkwZTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlm
cmFtZS1zY3JvbGxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgogPGlmcmFtZSBpZD0iaWZyYW1lIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IG1hcmdp
bjogMHB4OyBib3JkZXI6IHNvbGlkIGJsYWNrIDBweDsgcGFkZGluZzogMHB4OyIKQEAgLTIzLDQg
KzI5LDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogPC9odG1sPiI+PC9pZnJhbWU+CiA8
ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhweDsgdG9wOiAxMDBweDsiPlRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgaGl0IHRlc3RpbmcgaW4gaWZyYW1lcyB3b3JrcyBjb3Jy
ZWN0bHkuPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1pZnJhbWUuaHRtbAppbmRleCAzODRiMGJkMDdhY2U1ZTVkZjllYjQ4NWVlMjc5NmU0
M2MwMTcyMzFjLi42YmYyZDc4ZDY5ZTY5NTJlYTFkY2YzMWZlOGUyMjM1ODRhYmUzMDdjIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJh
bWUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJl
Y3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0nLi4vLi4vcmVzb3VyY2Vz
L2pzLXRlc3QtcHJlLmpzJz48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMjgsNCArMzQs
NCBAQCBpZnJhbWUuYWRkRXZlbnRMaXN0ZW5lcigibG9hZCIsIGZ1bmN0aW9uKCkgewogPC9zY3Jp
cHQ+CiA8c2NyaXB0IHNyYz0nLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyc+PC9zY3Jp
cHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
bGlzdGJveC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC1leHBlY3RlZC5odG1sCmluZGV4IGQwYjZkNmZiOGI5ZTgwY2UzNWRi
Nzc5YTgwN2VhMzUzMDUxZjUzNWEuLjY1NzhlYmMwYzg2ZGQ1ZTJmMWM2MmQ3OTNlYzJhZTBhOWQz
ZjVkYWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4cGVjdGVkLmh0bWwKQEAgLTIxLDQgKzIxLDQgQEAK
IDwvc2VsZWN0PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLWV4cGVjdGVkLmh0
bWwKaW5kZXggYWJjZDQ5MmJiYzNkNzk1NzNiZjZkMzNhYTI2M2Y4YTI1MWFlOTMxYi4uNDE3MmIx
MTY5OGE4YzAzODYyMDdkNmRhODI1OTY2YTUzNzRhYWZmYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0
Ym94LXNjcm9sbC1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGxpc3Qg
Ym94ZXMgb2JleSBSVEwgc2Nyb2xsYmFycy48L2Rpdj4KQEAgLTIzLDQgKzI5LDQgQEAgdmFyIGNv
bnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKIGNvbnRhaW5l
ci5zY3JvbGxUb3AgPSBjb250YWluZXIuc2Nyb2xsSGVpZ2h0IC0gY29udGFpbmVyLmNsaWVudEhl
aWdodDsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC5odG1sCmluZGV4IDg2NGNhN2M1YTI5
YmE3ZGFmZDBhMTAzMTdhZTBiYmQxYzVlNTUxMjUuLjQ4Nzg4NDZiNmRiN2ZkYzFlMDQxZDhkODYw
ZGI0NDU1Zjc5ZjY0Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbApAQCAtMSw2ICsxLDEy
IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJh
cnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9
InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDIwMHB4OyI+VGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBsaXN0IGJveGVzIG9iZXkgUlRMIHNjcm9sbGJhcnMuPC9kaXY+CkBAIC0y
Niw0ICszMiw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbAppbmRleCAzNjFl
NGY2ZWM1Nzg1M2M4ZTdmNWYzM2U4NWU1ZTkwYjZhNzM1ODE4Li44NDNkYjI3MThkMTQ4ZTA1OWEy
ZjZlZGE0OGY2MDE4ZjdlNmQ2MGQzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0LWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxl
Y3QtbGVmdC1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNsaWtpbmcg
b24gYW4gTFRSIHNjcm9sbGJhciBkb2Vzbid0IHNlbGVjdCBhbiBpdGVtIGluIGEgbGlzdCBib3gu
PC9kaXY+CkBAIC0yMyw0ICsyOSw0IEBAIHZhciBjb250YWluZXIgPSBkb2N1bWVudC5nZXRFbGVt
ZW50QnlJZCgiY29udGFpbmVyIik7CiBjb250YWluZXIuZm9jdXMoKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gt
c2VsZWN0LWxlZnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbAppbmRleCAyMzFjZDcxNDE1ZjQwZjgyY2M0NDRh
MDU4NDYxMTJiMmZhOGU5NmNjLi42NGY0OTRkODdhNTMzZTNkNDZiNjcyZTNmMjYwMTBhMzZlYWVk
NDY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC5odG1sCkBAIC0xLDYgKzEsMTIg
QEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFy
cz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50
ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IGNsaWtpbmcgb24gYW4gTFRSIHNjcm9sbGJhciBkb2Vzbid0IHNlbGVjdCBh
biBpdGVtIGluIGEgbGlzdCBib3guPC9kaXY+CkBAIC0yNiw0ICszMiw0IEBAIGlmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNl
bGVjdC1yaWdodC1leHBlY3RlZC5odG1sCmluZGV4IGQ3MDFlZmE5YWY5MzgxMDJkNWY2ZTA5NTI1
NmM3MWI2Y2YzZDg2OTQuLjYyZmE2Y2MxZDM1ZmI1YzI3Y2EyZDFiMGQ2M2M0NTU1ZWRiMjU0OTMg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRt
bApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhl
YWQ+CiA8L2hlYWQ+CkBAIC0yNSw0ICsyNSw0IEBAIHZhciBqYW51YXJ5ID0gZG9jdW1lbnQuZ2V0
RWxlbWVudEJ5SWQoImphbnVhcnkiKTsKIGphbnVhcnkuc2VsZWN0ZWQgPSB0cnVlOwogPC9zY3Jp
cHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
bGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0Lmh0bWwKaW5kZXggY2I3MzVjOWUwZmI5
NjkzZjhmMGY1ZDFiZDM5ZWMxMjM3YjRmYjE4Ni4uY2Y4ZjVhYTUwYTAwNTA5NGQ4NjA1ZTRlNjUz
MTE2YzQ4MGVhYTJmYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC5odG1sCkBA
IC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
cnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgog
PGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5U
aGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNsaWtpbmcgb24gdGhlIHJpZ2h0bW9zdCBwYXJ0IG9m
IGFuIGl0ZW0gY2F1c2VzIGl0IHRvIGJlIHNlbGVjdGVkLjwvZGl2PgpAQCAtMjYsNCArMzIsNCBA
QCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS1leHBl
Y3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAppbmRleCBiY2Q1NjJl
ZTFkNGJhZGMzYTBlMjgwYzQ2MTdmNDIyODIwNDhmMDViLi5lOTljNThhNDM5NDdlZjRiNDVjZWY2
NzdmOWFmODZmNjdkMzkyNWJmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2lt
cGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTE5LDQgKzE5LDQgQEAKIDxvcHRpb24+RGVj
ZW1iZXI8L29wdGlvbj4KIDwvc2VsZWN0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sCmluZGV4IGU5
NzRiNjgzYjAyY2Q0OTg1MDQ5ZjJiMGYyMmIwNGMxM2JjNDU1ZWMuLjI0N2YwOWJmNDBmNjY2NTYx
ZDc5OGViM2IwMGIxOWFkNDA1NjM3ZjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbApAQCAt
MSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0
bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5z
ZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIp
OworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxwPlRoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgbGlzdCBib3hlcyBvYmV5IFJUTCBzY3JvbGxiYXJzLjwvcD4KQEAgLTE5LDQgKzI1LDQg
QEAKIDxvcHRpb24+RGVjZW1iZXI8L29wdGlvbj4KIDwvc2VsZWN0PgogPC9ib2R5PgotPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbAppbmRleCBj
ZTI2OTM2NzA3MDM5NjkwZGRmNmRkMzQ0ODBlOGZmNDAyY2Y1YjllLi5iNmZhZmY5MzAwYmVkODYx
MDQyZWQ5MGIwNGJkZDA0YTY4MjhmYzIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC5odG1sCkBAIC0xLDYgKzEsMTIgQEAK
LTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10
cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9z
aXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMg
c3VyZSB0aGF0IGxpc3QgYm94ZXMgb2JleSBSVEwgc2Nyb2xsYmFycy48L2Rpdj4KQEAgLTIxLDQg
KzI3LDQgQEAKIDwvc2VsZWN0PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRl
bnRzLWV4cGVjdGVkLmh0bWwKaW5kZXggMmFiODI4OWFkNjY5OGIyN2JlMWZmZGRmMzdlMzM5Mzkw
MzMxZTMzNy4uMmQ3NzZkYTBmYmJhZDhlNTQzMDM1NTlkZmY4ZDE0OGVjZjBjYzNlZSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
Y29udGVudHMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy1leHBlY3RlZC5odG1sCkBAIC0xNyw0ICsx
Nyw0IEBACiA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
Y2luZyBlbGl0LiBTdXNwZW5kaXNzZSBhIHJpc3VzIG5pc2kuIE1hZWNlbmFzIHV0IG1ldHVzIGdy
YXZpZGEsIHRpbmNpZHVudCBhcmN1IG5lYywgdWx0cmljZXMgZHVpLiBWaXZhbXVzIGF0IHByZXRp
dW0gcHVydXMsIGluIGZldWdpYXQgb2Rpby4gUGhhc2VsbHVzIGZhY2lsaXNpcyBtaSBpZCBjb25k
aW1lbnR1bSBjb25ndWUuIEFlbmVhbiBzb2xsaWNpdHVkaW4gcmlzdXMgYSBhY2N1bXNhbiBmYWNp
bGlzaXMuIFNlZCBhYyBmcmluZ2lsbGEgZmVsaXMuIE1vcmJpIG1hbGVzdWFkYSB2ZWhpY3VsYSBz
YXBpZW4uPC9wPgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLmh0bWwKaW5kZXggZmYw
YTc4NjJhNzIyNzYyNzI1MDRkYmEzNmQ3YzBjMGY4NDAzNWVmMy4uMTk2OGYzNDA5ZDZhMzhiYmNk
YjhmNmM2NjMyYjZlZjhkNDdkNzY2MiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5odG1s
CkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsK
KyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBzdHlsZT0ib3ZlcmZs
b3c6IGhpZGRlbjsgd2lkdGg6IDcwMHB4OyBoZWlnaHQ6IDUwMHB4OyBwb3NpdGlvbjogcmVsYXRp
dmU7Ij4KQEAgLTE5LDQgKzI1LDQgQEAKIDwvZGl2PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC1leHBl
Y3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctZGlyLXJ0bC1leHBlY3RlZC5odG1sCmluZGV4IDM1NjE1YWQ1Njg5MzNiOWY0YTdmZTVj
YzQ4OTk1YTI3YzAyNzk3MWEuLjkzMmM4YmViMjI1YjQzYjQ5NWI4NmFiNWQ0ZTk0ZjY5YjAwMWQ4
MzAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLWV4cGVjdGVkLmh0bWwKQEAg
LTI0LDQgKzI0LDQgQEAgcmFuZ2Uuc2VsZWN0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgi
ZWxlbWVudCIpKTsKIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9k
eT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1k
aXItcnRsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy1kaXItcnRsLmh0bWwKaW5kZXggMTk1OTMzMjIzNjA3NDU0ODkwNzY0ZTYxMjQ4N2Fj
OTYzMGMzZTJiMS4uNTM4YTJiYjAxYjBmMmQyZTQ3YzE5ZTQ0MGEwZWQ1NDk4YmM0ZjU0MiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZs
b3ctZGlyLXJ0bC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keT4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBoZWln
aHQ6IDUzOXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4KQEAgLTI2LDQgKzMyLDQgQEAgcmFuZ2Uu
c2VsZWN0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWxlbWVudCIpKTsKIHNlbGVjdGlv
bi5hZGRSYW5nZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1lbGVtZW50RnJvbVBvaW50Lmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1lbGVt
ZW50RnJvbVBvaW50Lmh0bWwKaW5kZXggZDI5ZTI3NTYxMTE5OTYwMjY4Mzc2MjI2ZDQ1ODE3ZTg4
NzUyNjUxOS4uNWUyNTQzZTQ1MmIxOTFmZjIyMDU4MjExNmY0ZTcyYjlmZGU3MzAyMiAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
ZWxlbWVudEZyb21Qb2ludC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQuaHRtbApAQCAtMSw2ICsxLDEy
IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJh
cnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTUsNCArMjEsNCBAQCBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoMjIsIDcpLmlkIiwgImEiKTsKIDwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1vdmVyZmxvdy1leHBlY3RlZC5odG1sCmluZGV4IGM3ZjJlNWNlYTU1OTI4NWYz
NGRjNGZmNTFjZjI3NjZmN2ZiMTM1YzIuLjY0YWIxNzEwNDU3ODkyMTEzZWY0MTAyMTExYzBhN2E1
Yjk4ZWNhNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEy
IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJh
cnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93Lmlu
dGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgaWQ9ImVsZW1lbnQiIHN0eWxlPSJvdmVyZmxv
dzogc2Nyb2xsOyB3aWR0aDogNzAwcHg7IGhlaWdodDogNTAwcHg7Ij4KQEAgLTIxLDQgKzI3LDQg
QEAgdmFyIGVsZW1lbnQgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWxlbWVudCIpOwogZWxl
bWVudC5zY3JvbGxUb3AgPSAxMDAwOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
cGFkZGluZy1leHBlY3RlZC5odG1sCmluZGV4IGZkNjhhMzk2Njg1NmZjODFlYzVjMjY5M2E5YWJm
NmFjYjk4OTdhYzMuLmE0M2U1NWVkMGY0NTBjNjkzOWYzMDE5ZDFiMTYwNmY2MTc1Y2JkNzAgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LXBhZGRpbmctZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTI0LDQg
KzI0LDQgQEAgcmFuZ2Uuc2VsZWN0Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWxlbWVu
dCIpKTsKIHNlbGVjdGlvbi5hZGRSYW5nZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5n
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1wYWRkaW5nLmh0bWwKaW5kZXggNTFkODgwYjRiMDNiNTIyZTFlM2NhOWMxZmI3MTk4ZGE5MTAw
ODg1Mi4uYmZiMTAyM2VjMzg5NGRmN2Y3M2Y5YjUxOTAzN2ZkZjllOTAyZDhjNCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFk
ZGluZy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LXBhZGRpbmcuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDUz
OXB4OyBwb3NpdGlvbjogcmVsYXRpdmU7Ij4KQEAgLTI2LDQgKzMyLDQgQEAgcmFuZ2Uuc2VsZWN0
Tm9kZShkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgiZWxlbWVudCIpKTsKIHNlbGVjdGlvbi5hZGRS
YW5nZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
cG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbAppbmRleCAwY2M3MzYwMGM3NGRhYjhkZTkz
MTk3MWI2YjlmNWU2YWFiMzdlZDIwLi5iZGU2MTJkNjU4OWU0OWZiOGQ2MzFlMmY3MWQ1NmJiNzIz
MmM0MWUyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFi
c29sdXRlLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQ
RSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykg
eworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lz
dGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+
CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uOiBhYnNvbHV0ZSBlbGVtZW50cyBk
byBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIG9uIFJUTCBtYWNoaW5lcy4gVGhl
IHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUgYW5kIGEgcmVkIHNxdWFyZSBi
ZWxvdy4KQEAgLTEwLDQgKzE2LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlv
bjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90IG92ZXJsYXAgdGhlIHZlcnRpY2EKIDxkaXYgc3R5
bGU9IndpZHRoOiAxcHg7IGhlaWdodDogMzAwMHB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6
IDBweDsgdG9wOiAwcHg7Ij48L2Rpdj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1w
b3NpdGlvbi1hYnNvbHV0ZS5odG1sCmluZGV4IGU1ODYxN2EzMjczOGQ4YjA2ZmNmZjkyOWI5MjZh
ZTBlODZmYzE4ZGUuLjRlNDFhMmI2MmRlN2JkOGM1ZGJmYjI1YjRlYzI4MjU5NjY3NzNmYTUgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LXBvc2l0aW9uLWFic29sdXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbApAQCAtMSw2
ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0
aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOwor
fQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQg
cG9zaXRpb246IGFic29sdXRlIGVsZW1lbnRzIGRvIG5vdCBvdmVybGFwIHRoZSB2ZXJ0aWNhbCBz
Y3JvbGxiYXIgb24gUlRMIG1hY2hpbmVzLiBUaGUgdGVzdCBwYXNzZXMgaWYgeW91IHNlZSBhIGdy
ZWVuIHNxdWFyZSBhbmQgYSByZWQgc3F1YXJlIGJlbG93LgpAQCAtMTIsNCArMTgsNCBAQCBUaGlz
IHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uOiBhYnNvbHV0ZSBlbGVtZW50cyBkbyBub3Qg
b3ZlcmxhcCB0aGUgdmVydGljYQogPC9kaXY+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQt
bWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCmluZGV4IDJjM2NmMjc2NTFh
MGI3MWUzYWE2ODhmYWY3N2NlMmNiNjI5Zjk2NmIuLjBiNWQ3OWNkMGRiNDIyOWFjNzA4ZDEwN2Y2
MmJkYTljOGVkN2MxNjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBs
ZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0xNyw0ICsxNyw0IEBACiA8cD5Mb3JlbSBpcHN1
bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTdXNwZW5kaXNz
ZSBhIHJpc3VzIG5pc2kuIE1hZWNlbmFzIHV0IG1ldHVzIGdyYXZpZGEsIHRpbmNpZHVudCBhcmN1
IG5lYywgdWx0cmljZXMgZHVpLiBWaXZhbXVzIGF0IHByZXRpdW0gcHVydXMsIGluIGZldWdpYXQg
b2Rpby4gUGhhc2VsbHVzIGZhY2lsaXNpcyBtaSBpZCBjb25kaW1lbnR1bSBjb25ndWUuIEFlbmVh
biBzb2xsaWNpdHVkaW4gcmlzdXMgYSBhY2N1bXNhbiBmYWNpbGlzaXMuIFNlZCBhYyBmcmluZ2ls
bGEgZmVsaXMuIE1vcmJpIG1hbGVzdWFkYSB2ZWhpY3VsYSBzYXBpZW4uPC9wPgogPC9kaXY+CiA8
L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZs
b3ctc2ltcGxlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1vdmVyZmxvdy1zaW1wbGUuaHRtbAppbmRleCA0MGQ2MWFmOTY0MmVkZTVjYjdhMWY3NGY4Mjg4
NzU4MWUzMzBiYjA1Li45NzRhYzVmM2IxNjlmYmZiNzE3ZjBhMDQ5NzE0ZmNjODJlMzRkY2IxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy1zaW1wbGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keT4KIDxkaXYgaWQ9ImVsZW1lbnQiIHN0eWxlPSJvdmVyZmxvdzogc2Nyb2xsOyB3aWR0
aDogNzAwcHg7IGhlaWdodDogNTAwcHg7Ij4KQEAgLTE3LDQgKzIzLDQgQEAKIDxwPkxvcmVtIGlw
c3VtIGRvbG9yIHNpdCBhbWV0LCBjb25zZWN0ZXR1ciBhZGlwaXNjaW5nIGVsaXQuIFN1c3BlbmRp
c3NlIGEgcmlzdXMgbmlzaS4gTWFlY2VuYXMgdXQgbWV0dXMgZ3JhdmlkYSwgdGluY2lkdW50IGFy
Y3UgbmVjLCB1bHRyaWNlcyBkdWkuIFZpdmFtdXMgYXQgcHJldGl1bSBwdXJ1cywgaW4gZmV1Z2lh
dCBvZGlvLiBQaGFzZWxsdXMgZmFjaWxpc2lzIG1pIGlkIGNvbmRpbWVudHVtIGNvbmd1ZS4gQWVu
ZWFuIHNvbGxpY2l0dWRpbiByaXN1cyBhIGFjY3Vtc2FuIGZhY2lsaXNpcy4gU2VkIGFjIGZyaW5n
aWxsYSBmZWxpcy4gTW9yYmkgbWFsZXN1YWRhIHZlaGljdWxhIHNhcGllbi48L3A+CiA8L2Rpdj4K
IDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Ny
b2xsZWQtZXhwZWN0ZWQuaHRtbAppbmRleCA0M2VjYjA3OTk2MDUwMWZmZmQ2OTA4Y2U5MzhjZmM4
ZTdiN2NhNzA5Li45M2FlOTAxNjVlYjQ5OGU5YzhhZDlmZGEzOTU1Yzc1ZmJlYTBhMGMzIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNj
cm9sbGVkLWV4cGVjdGVkLmh0bWwKQEAgLTE2LDQgKzE2LDQgQEAgcmFuZ2Uuc2V0RW5kKHRleHQs
IDEpOwogc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2Vs
ZWN0aW9uLXNjcm9sbGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCmluZGV4IDU5OWJi
OGI1MTM0ODM4NGExNmFhMjBhMDFhYzE2NWZkNjFhOTg0M2MuLmQ0NjgwZDhiNzIzZjUyYmIxYWZi
MWE4NmNmYzFjNmVlOTIyNDk0ZDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
dGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5n
cy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRk
ZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDQ4NXB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6
IC0xNXB4OyI+CkBAIC0yMSw0ICsyNyw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0K
IDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1vdmVyZmxvdy5odG1sCmluZGV4IDIxY2Y2ODM0OTExYzJjNGFiYjBkNmJlYmYyODhh
NmEzZTNlYTYzY2YuLjdjY2Y0YzIxYmMyNjY5MTlmY2Y4N2YwMWEyNjRjMjQzZDU2OGEzNGEgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
b3ZlcmZsb3cuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlv
dXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYg
aWQ9ImVsZW1lbnQiIHN0eWxlPSJvdmVyZmxvdzogc2Nyb2xsOyB3aWR0aDogNzAwcHg7IGhlaWdo
dDogNTAwcHg7Ij4KQEAgLTI2LDQgKzMyLDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewog
fQogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVu
dHMtZXhwZWN0ZWQuaHRtbAppbmRleCAzNzZmZTA2ODVhYzNjZmJlYzhkODBkNzI0MDQ3Mzc1MTFl
NzNhZmQ1Li4yZDRjNGVlZjVmNTQ5ODkxNWNkOTc4YmNjNzQ5MDYyYjhlNDZjMjFlIDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5v
LXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRt
bApAQCAtMSw3ICsxLDEzIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxo
ZWFkPgogPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7
CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24o
IlJUTCIpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAg
ICAgaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKIDwvc2NyaXB0Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmxheS1uby1wdXNoLWNvbnRlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbAppbmRleCBkNzBiODIx
ZGViNDlhZThjYzU1YzM2MGRiYWZhYzFkOGQ0Mzg3ODc1Li5kM2IxZDJkODFmOTdjY2E3NmFiY2Ex
NWFlMDZlZWM3MmVlOGM0ZDA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29u
dGVudHMuaHRtbApAQCAtMSw3ICsxLDEzIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgogPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2lu
ZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRl
cm5hbHMpCiAgICAgaW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKIDwv
c2NyaXB0PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwK
aW5kZXggNGYyNjYwOThlYWQxNTBjNjcxMTRjOTA2YTEyNTNhZDFmZjQ3YTdiMi4uZmU2NTIzNmFl
NTgyYzQ3NGFhNmQwNDlmOTExOWZjN2Y2MmVkNzY1MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3Np
dGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBpZD0idGV4dCIgc3R5bGU9ImZvbnQ6
IDIwcHggQWhlbTsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAxMDBweDsiPnBwcHBwcHBwcHBw
cHBwPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUuaHRtbAppbmRleCA5NmMxNjc5ZWQ1
YTIwYThiZWNjYTBlNmFiMGE1YTUzZmEyMmQ2MjM3Li4yNjFkMjU2ZjQ5MDZkODY2YzE3YTE3Njg4
YzE3OTgwNzhjYWZjOTg5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWwKQEAgLTEs
NiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxT
Y3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdp
bmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsK
K30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2
IGlkPSJ0ZXh0IiBzdHlsZT0iZm9udDogMjBweCBBaGVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxl
ZnQ6IDEwMHB4OyI+cHBwcHBwcHBwcHBwcHA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1m
aXhlZC1leHBlY3RlZC5odG1sCmluZGV4IDQxMDE3YWQ2ZWZiZDcwYTE1NWQ3NjJlZDUwMzE3NDgx
NzQ2ZDY2YTcuLjY5NmEyY2ZjZDg0YTIyYWE2OTFjZjM4NmUxZmU4MzViYTAwNDUxYjAgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9u
LWZpeGVkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBA
Ci08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9
dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQi
IHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMTAwcHg7Ij5w
cHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLmh0bWwKaW5kZXggZTdmMDFi
MzhlMzAwOGVkZTFkYTllMmNhNTkyOGI2ODBhYmRhZWI0Ny4uMGRhM2Q5MzY3OWUxOGM4MDFkNDhk
ZWU4MDAxNTYyOThjMmIzNTMwZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC5odG1sCkBAIC0xLDYg
KzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Ny
b2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5k
b3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9
Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBp
ZD0idGV4dCIgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsgcG9zaXRpb246IGZpeGVkOyBsZWZ0OiAx
MDBweDsiPnBwcHBwcHBwcHBwcHBwPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0
ZWQuaHRtbAppbmRleCA3ZDliMjI2NTI1MmE2YTYzYjYyODU0NWNjM2Y1N2JjYTY0N2U1M2M1Li5h
ZDM5Y2I4NTc1ZGJmOTYzMGM4YzU5NjE2Y2I3Mzk1ZTYyYWIwNGQyIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBlY3Rl
ZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uaW5nLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFs
cykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPHN0eWxlPgogZGl2
IHsKICAgICBmb250OiAyMHB4IEFoZW07CkBAIC0xOSw0ICsyNSw0IEBAIGRpdiB7CiA8ZGl2IHN0
eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAyMTBweDsiPm08L2Rpdj4K
IDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsgd2lk
dGg6IDFweDsgaGVpZ2h0OiAyMDAwcHg7Ij48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcuaHRtbAppbmRleCBh
MDY1YzliNmYzM2E2YWViNWRlZTRlMjM1NTcxZWE2NTk0Y2UyOTViLi43OTM3MzkxNWJjMDJhNDRh
N2EwMjk1MTYwNzE4MDc0Njc5MzM3NWFmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30K
Kzwvc2NyaXB0PgogPHN0eWxlPgogZGl2IHsKICAgICBmb250OiAyMHB4IEFoZW07CkBAIC0zNSw0
ICs0MSw0IEBAIGRpdiB7CiA8L2h0bWw+Ij48L2lmcmFtZT4KIDxkaXYgc3R5bGU9InBvc2l0aW9u
OiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsgd2lkdGg6IDFweDsgaGVpZ2h0OiAyMDAw
cHg7Ij48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCmlu
ZGV4IGM2ZmM4ODIyZTI0MzExMTI3ZDc0Y2IxNDA5ZGRjM2E4ZWY3ZTRkZGUuLmQ4ZjExMmJkNGNk
ZDM3NmUyOTQ4MzRkYTY5NTc1ZDMxM2Y1NWQ3Y2IgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1l
eHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC01LDQgKzUsNCBAQAogPGJvZHkgc3R5bGU9ImhlaWdo
dDogMTAwMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHJ0bCBzY3JvbGxiYXJzIGFy
ZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBmcmFtZS4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sCmluZGV4IDc4YmQwNTAwMDhh
YTgxMTRiOTIzNDZlZjMzYjkwYWFjMTgzZjViMTguLjgxZmJkOWVjZTdjY2M2NWM1OTU0NGFmMmQ3
NDJlYzk4ZDFjMzk1MDcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sCkBAIC0xLDggKzEsMTQgQEAKLTwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IHN0eWxlPSJoZWlnaHQ6IDEwMDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhh
dCBydGwgc2Nyb2xsYmFycyBhcmUgb24gdGhlIGxlZnQgb2YgdGhlIG1haW4gZnJhbWUuCiA8L2Jv
ZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRv
Y3VtZW50LTItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLWV4cGVjdGVkLmh0bWwKaW5kZXggM2UwMjA4MTZk
NjBlNTA0ZjkxMjc0MmYwODE2Y2U5NmU0MzY4NzY4Yy4uYzNhZjM3OWQ2OTU4YzA3ZmZkMjZlMGZk
YTlhNTI3NWY1OWEyN2M0OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi1l
eHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJt
YXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kg
b2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTEyLDQgKzE4LDQgQEAg
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9s
bGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIHdpbmRvdy5zY3JvbGwoODUwLCAwKTsKIDwvc2NyaXB0
PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4K
ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1kb2N1bWVudC0yLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sCmluZGV4IDBmMmVjYmViODczYjA2M2MxMzEx
YmJmM2UxOWQzYjNiOWMyNWU1ZTcuLjAzMWE5YmIxZjhkOTQxNTExZDYxMDlkMTM1ZTRhYTVkNmU2
ODcxYjUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1kb2N1bWVudC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTIuaHRtbApAQCAtMSw2ICsxLDEyIEBA
Ci08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9
dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVy
bmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9z
aXRpb25pbmcuCkBAIC0xMSw0ICsxNyw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9z
aXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiB3aW5k
b3cuc2Nyb2xsKDg1MCwgMCk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVu
dC1leHBlY3RlZC5odG1sCmluZGV4IDUyOGU4MzA0NGVhNDQwMDg3MzBhNDg0ZTJmZDgzZGY1YWU3
MGQxOTAuLjI2YzUxM2IwNGQxNTNlZDUyM2M5ZmE4YTU1YzVmMWYzYjE5NDVmMDMgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1
bWVudC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAK
LTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10
cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYg
KHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3Np
dGlvbmluZy4KQEAgLTksNCArMTUsNCBAQCBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0
aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgogICAgIDxk
aXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogNjg1cHg7IHRvcDogMHB4OyB3aWR0
aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGdyZWVuOyI+PC9kaXY+CiA8L2Rp
dj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1z
dGlja3ktZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCmluZGV4IGM3Njc1ZGY1MjdlZTBlZGNiMWJiZWRl
YzhmYmQ1NTUyNTYxMTk3YzUuLmZjMzM4NjA2MTQ0MDcxMjQyMDA4YjBkZjc5MTU2YzE0YWJjYTcx
M2YgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXN0aWNreS1kb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmlu
Zy4KQEAgLTgsNCArMTQsNCBAQCBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0
aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgogICAgIDxkaXYgc3R5
bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IHN0YXRpYzsgd2lkdGg6IDgwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBibHVlOyI+PC9kaXY+PGRpdiBzdHlsZT0iZGlz
cGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogLXdlYmtpdC1zdGlja3k7IGxlZnQ6IDBweDsg
cmlnaHQ6IDBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBncmVl
bjsiPjwvZGl2PjxkaXYgc3R5bGU9ImRpc3BsYXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IHN0
YXRpYzsgd2lkdGg6IDgwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBibHVlOyI+PC9k
aXY+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1sCmlu
ZGV4IDYzOTU1NmVjNjkwNGEyMzE4ZGJkMTQzOWQ0NmQzNGRjOGJkYjc5ZDQuLjM5NmMxOTRlMjFh
NDY5NGZiYjkxZDI4OTBiNGMzYWE2ZjhlZjk3NWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1s
CisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1p
ZnJhbWUtMi1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwh
LS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZ
UEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMp
IHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5
c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlv
bi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTE4LDQg
KzI0LDQgQEAgd2luZG93LnNjcm9sbCg4NTAsIDApOwogPC9ib2R5PgogPC9odG1sIj4KIDwvYm9k
eT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZy
YW1lLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1pZnJhbWUtMi5odG1sCmluZGV4IGZkNDFhZmM5NTJiMjMzMTEwNzJiMjJlMTEzZWM0NGJm
NjYwMzFmZmQuLjM5ZTRhNDg2YzBjNmU2OWM4MDBlNGFkNTYxOGJkNGQ5NDA2MDQzMjcgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1p
ZnJhbWUtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1pZnJhbWUtMi5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3Np
dGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTE3
LDQgKzIzLDQgQEAgd2luZG93LnNjcm9sbCg4NTAsIDApOwogPC9ib2R5PgogPC9odG1sIj4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3kt
aWZyYW1lLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwKaW5kZXggNDg2MTI5NjFmMWZmYjdi
ZWYwMTBkMmQ0M2JhOGRmNzE5ZjQ5NjMwNy4uYzNiY2Y2MDcyZDE4N2JmZDM3OGFjMWQzMzVjMmFj
OGRmODcyNDc4MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0ZWQuaHRtbApA
QCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgd2luZG93LmludGVybmFs
cy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7Cisg
ICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJU
TCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4K
IFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3Jv
bGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xNSw0ICsyMSw0IEBAIFRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9z
aXRpb25pbmcuCiA8L2JvZHk+CiA8L2h0bWwiPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUuaHRtbAppbmRleCA0
OTAxNDYyNzY5MTc1NDQ5N2M3YTE5ZWEwODM1YjA3NzZlYTYxMTBlLi43NTIyYTNmYzRkOGU2M2Y0
ZTE5YWZlMTkzM2FlMDhjODJjZDhlM2M2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS5odG1sCkBAIC0x
LDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRs
U2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3
aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJh
cnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTE0LDQgKzIwLDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlv
bmluZy4KIDwvYm9keT4KIDwvaHRtbCI+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3Zl
cmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbAppbmRleCBiNTM2M2U1MjFjMDMxOGIyY2Y5OTAz
MTQ2MjdjN2ZhZmJhOTRkM2U4Li5iN2U4OThiZGM4MTNjYTU4NTJkOTQ4ZTliYTgwNmQ3YTdhZmUy
MjZjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTIt
ZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
d2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlv
dXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0i
bWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5
IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xNSw0ICsyMSw0IEBA
IHZhciBzY3JvbGxpbmdFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9sbGlu
ZyIpOwogc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0ID0gMTAwMDsKIDwvc2NyaXB0PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1v
dmVyZmxvdy1zY3JvbGwtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWwKaW5kZXggYWUzNzVkNTM3Njcz
Njk0ZGY0OGYxMTYwYWEwYTQxYThlOGZhOTE0Ni4uY2EyNzVhNzYwYzVhM2I2MDM3NjRmMmU0ZjY1
OGI4N2IwZWMxNjRmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0y
Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+
CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5p
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmll
dyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjog
MHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBS
VEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAtMTQsNCArMjAsNCBAQCB2YXIgc2Ny
b2xsaW5nRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGxpbmciKTsKIHNj
cm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCA9IDEwMDA7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ct
c2Nyb2xsLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwKaW5kZXggZmRlMTU0
MGM5ZjQ1NGY3ZjNkMGRkMzFlZTJkYmM4ZTNmYjE1ZmRkOC4uMGFkYzQyNTVjNjljMmVjNmE5N2E4
ZmQzZDU2ZTZhYWI5ODllYzFkMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVy
Zmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRt
bD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFE
T0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJu
YWxzKSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5z
ZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8
Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9z
aXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0x
MSw0ICsxNyw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9i
ZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiA8L2Rpdj4KIDwvZGl2PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1v
dmVyZmxvdy1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbAppbmRleCAxMDk4OGUyMWM4OTE1ZGQy
NjkzY2Q1ZmJkYjc2ZjEwYWVhOWJjYjZiLi4xNmZjOGE2ZGY3MDllNTNhNTZmYjQ0YTU4OTlmNjAw
OGIyOWUyOTI4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC5odG1sCkBA
IC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
cnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxz
LnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAg
ICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgog
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9s
bGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTEwLDQgKzE2LDQgQEAgVGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3Np
dGlvbmluZy4KIDwvZGl2PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVj
dGVkLmh0bWwKaW5kZXggN2VmNWUzZTI4NTNlMGY5YzIxNmI2YTU4ZTc4NjY2ZmM4MTNlNjk1OS4u
OWVjYWVmMDA0Yzg3YTA5YTM3NzIwOWJiNTM5YzZmZDkzY2NiOWJjMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhw
ZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy10ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBpZD0idGV4dCIgc3R5bGU9ImZv
bnQ6IDIwcHggQWhlbTsiPnBwcHBwcHBwcHBwcHBwPC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxl
ZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbAppbmRleCBlZDZiM2Q0NzJk
YjkwNzkwYjNkYzhiYzdiNjg4ZjRkYTdlMDgwNWQzLi43NjIxYTI0MzBjYzE1ZTI4YzljZTFjNzI2
Yjg5OTJiZGQwMmNhYTVkIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9u
LXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFs
cykgeworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0
U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJv
ZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHlsZT0iZm9udDogMjBw
eCBBaGVtOyI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+
PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48
YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxi
cj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj5wcHBwcHBwcHBwcHBwcDwvZGl2
PgpAQCAtMTcsNCArMjMsNCBAQCByYW5nZS5zZXRFbmQodGV4dCwgMSk7CiBzZWxlY3Rpb24uYWRk
UmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBh
dCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9s
bGVkLmh0bWwKaW5kZXggNTU3YjIzYjdkYWY3MDA5YjM1OTExZTA3NzMyMjdiNDhlZWNlZjZhMi4u
MDMwYTBlM2Y2NTQ3YmJiNGE3ZDkxMDVkZTBkMDNlNjE3OTM1MDFhMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Ny
b2xsZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCkBAIC0xLDUgKzEsMTEgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8aGVhZD4KIDwvaGVh
ZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgpAQCAtMTYsNCArMjIsNCBAQCBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbApp
bmRleCA0ZGJjODhhZjBmZTJhNDg0YzdhNjdiOGQxNzBkMTJkMGE1Mzk4ZTUxLi5jMGZmOWM1MDQy
M2MxM2Y2YTYyMDYwMDU5MzMwYjYzYWEyNDQ5NjA3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLmh0
bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIHdpbmRvdy5pbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIp
OworICAgIHdpbmRvdy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4
OyI+CiA8ZGl2IHN0eWxlPSJmb250OiAyMHB4IEFoZW07Ij5wcHBwcHBwcHBwcHBwcDwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWwKaW5kZXgg
MDZlN2QyNWI1ZDUzMDI4MmY0MWJiODU1MWJhODAzMTQzMjBiNDM4NC4uNDE0YzAwZDk4MDQzNmU0
ZTVkZjFmYjM1YWRlYTNiZGM4MDZkYWYwMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICB3aW5kb3cuaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5IHN0eWxlPSJoZWlnaHQ6IDEwMDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CiA8ZGl2IHN0
eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgYm90dG9tOiAwcHg7Ij5UaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IHJ0bCBzY3JvbGxiYXJzIGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUg
bWFpbiBmcmFtZS48L2Rpdj4KQEAgLTEzLDQgKzE5LDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRl
cikgewogfQogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS1leHBlY3RlZC5w
bmcgYi9MYXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtYW5pbWF0aW9uLXByb3BlcnR5LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjE2ZDg0OWIz
N2YzNzJhZDgzNzViNmQyY2JhZWM1OTYzOWZlMzM4CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAx
MTIyNgp6Y21lSE5ZZnV3YzZ5OTl8MWByOGFwcnMoSUFYY3FuS31yfWJFSDhtcHAjP2pqUDYtd3dQ
SGhRUURwNyRYUjBiN20KelEwcGopTH1uQyo4QWNvfU1Gbz5NU1Y/cyU3T094SjYzUm9+MkBvTktQ
MH4jWnlYKWdgcj04Q0ltN1NBJj8lczNtCnpkM0BoVjR1MmRJWD1tZU4xM3syb2JYMGc4MVgtWEVn
ZHtTcDIrNyZLY15TbVZpcCs/XyUjQHdubHdFdGlgM21DdAp6dkR0b35yfSg5RXghaVRXekNRMSNf
O1hXejE5b3V6e0k+NjQ/K0FkS3JFUD1+eWVCUik2dVNKdGJwVjFeYWlZVVIKekh1Sz87akAjKzNz
WHlsYnkxUX1WKmdLeldJI2F5ZU48SmZGZFA1I1FBJGp3WXExezsjJCliRGh1N2g3endjYzh+Cno8
V2o3bV5MJG4yTV5vfDV7c35IZiQ8V2JXJWQ8fk5OTl9nPXRrO1phK1htVkBJeXd2JD9tXmpYUzg/
TnZVP2g7aQp6V1RCVzRmKVYwRDdicjV9OVR0KkJxeSl0LUVKTHhhQy0lfTtaNChVQEI7b2koUS1O
QUtHcGd3cDJqfThDWlI4Sz4KekpmM3x1TjAhQHY8TCRxO284NHN0a19QV1NCSVplX2AhcXc8dlFC
JGsoX21qOSQ8K15OZFFXb31yPkNjbnMtPERHCnpNPTxNJTFXUGp9QmReNUJDZFF1V2JTY0FgZmpO
Q0k/Nn01fVpDZXk8WTwoUXx0dkZ9JDtRQGQxO3BmaGJaJkFJQQp6PDw1LU0xYENYKil4bmMob1cq
KSkrVj9DenJXekpsakxYanojO1RSRlV8cnliSEdMRUwpUVk0TWQ3RH5UZV9jezAKelZiU2M2OTJH
Ki1za3RqfmpDeG1ud24qPz9vY3pJXnNyJWtDU0Uqc0xVNTJ9UGFJKGpLPmJsa3hibF5vdGN0QCRD
CnpFJCU0YThfelNJPzUrcVU0T1N0ZDxweiZMPEZWdG14JXRgRjxTUndhb3w9cEJjJnBONXlmd3tS
KEhAKXNfYm1+SQp6JTF0JSRsVTlscGZtbzN1Rj5wKmEoPzMmcCN0JVZhVH5LZXVGRWo7NldYb1ZF
RU8keHxsNnlkK2AtRiZfRTxIak0KentUcilGKklgTXdfQiNwPWlGMkd9aWgweVVGeFJnVkV3P04z
PVhIamNHekp4TmRNcyU3VHpibXZmc3Y3c0YxPW5xCnp6eUlZSkAhbSFfeVFpPE9QeENsfDw5NGpF
eUd0OCtJbVQyWDcyR0BASDFRcUg8a1BEJmpPYEFsQHVzT2FULTJTbgp6PlAlVFRacjtARTQwVXlO
R3cwTX5TZ314ems3Y1BnM3JxNFVsUUAhPjFTOWI8Pn5tYFQ3O1ZRSUErJStZJVVuRFgKekowITB9
dkdUWjEyVEY5c2lHfVY4d1Y+SSQoVVBJcWRAcW5AO1MmVCYtTCNWbzZDeTd2Zzs0UV9geXdma2RA
Q2xiCnp2YkxpZ2E7K2xeamJFWHJMWD8kZyVQaklNcWFCITBQSGVvZypOckNIMTtiYXAqM0ZkeGJB
V0JlZ2N+b19kcitkfQp6KWhQRGxwY1FUN0dkOWVrJUl+dmlIZEdOZG9QOWBuMHlxYWFobHFYPElk
aUU3KHUlNVlweXJVWjZjbDgjR2xGaEsKendwYEg0TmhJOyMkMnA+Rig3eHdgcFc/czIwI3VwIW5o
WW5EKkk5cDx7UitUaz17X1VLaWtVYUh3NnZzUTczfkFRCnpPMHBedDQ7aHY2RXlBWnlwU250b2Br
e3N+e2B3TjU7Xy1tdyhOdHtocWNrWkVQaHpTIyhTJmtQcikoWi1za1MlNgp6U1lgZHxRN29wQypw
d0krRDF6TklyS0VwfWh5Tip6UnFmWW5QR21fMCNfNDY4ejNqIX1mK0A5PHFwZ3UxbEo5WjIKenU5
ZGtyXiooI243KEkpcWBCNXM0VH5VRzJ1QTtWPHI7TCY4ciRjUkQyVkpUfiYqMCEtRi15T0ZBejg0
eypRS2U+Cnp5eyE3NWYjcV9PYkpmZUI4KDs3Oz5LNFVMVz9gZUZxdmdUIz12MDkzaDIrbGJEYUoj
bVgkSjdFNXV8NHN6RVU0Ugp6KEZrSXBXWjM8LVVlbmQheUZ9YUluTmNoczxKUyt7PUZBWnYpbXln
TlNLJldRPjtyZEFtRSZReyQpZCQjOzB7JCMKel9lUDROVT5yPVMtTCN0S0YmMlhuQ0gmZnApV0kl
enFuTihqJChsTDw2RzElWFk+THlPNTFtPFBQSkFIXlBjdlk2CnpWUjh2Z3I9Szc/KCNpLTVWS0RO
OWtvRFJKRyMjeGFCVEQoKChtNk9yZ25iQW1XVzFTMSk2cFp5TWN4PDNzbmlnbQp6RDI1I01yUm42
cmFJPTMrNndPMnkzeCkzJSh7IVhsWHlEdmRQcyY3OyR0KGhIMGQ2N2MxX3EqcSRQfCE3TH4jSk0K
eiNhdUglJHUra1UoMjBtSDM+dmdLQXBtWTZGZEtrI1gyPU9wRTx1OTxfJXs8Mno9O1RjMiZrZiYm
SEBIKT0yMmo8CnpLcUxlaEVTUHh8NyVZSW4hdENAQTM+THMoVlJrd1gxYEEtWUtxUH5pTX1mZnQ3
JWFeR1ZBRjRsSjIhYjA9REB1WQpSOy05K142ZGUmMGVtT0tiP0B1WnAkdmdsNgoKbGl0ZXJhbCAw
CkhjbVY/ZDAwMDAxCgo=
</data>
<flag name="review"
          id="301564"
          type_id="1"
          status="+"
          setter="darin"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277418</attachid>
            <date>2016-04-26 16:01:04 -0700</date>
            <delta_ts>2016-04-26 16:41:17 -0700</delta_ts>
            <desc>Addressed some review comments</desc>
            <filename>patch.txt</filename>
            <type>text/plain</type>
            <size>132171</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">ZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxv
ZwppbmRleCAwOWJkMWY2Li4yNDI4MWVjIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VM
b2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsNzcgQEAKKzIwMTYtMDQt
MjYgIE15bGVzIEMuIE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBb
V0syXSBbT1MgWF0gQ3JlYXRlIEFQSSBmb3Igc3dpdGNoaW5nIFJUTCBzY3JvbGxiYXIgcG9saWN5
CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY5NDgK
KyAgICAgICAgPHJkYXI6Ly9wcm9ibGVtLzI1NzA3NzU3PgorCisgICAgICAgIFJldmlld2VkIGJ5
IERhcmluIEFkbGVyLgorCisgICAgICAgIFVwZGF0ZSB0ZXN0cyB0byB1c2UgbmV3IFJUTCBzY3Jv
bGxiYXIgbWVjaGFuaXNtLgorCisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbDoKKyAgICAgICAgKiBmYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWw6CisgICAgICAg
ICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0
bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNl
dC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1w
b3NpdGlvbi1hYnNvbHV0ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1leHBlY3RlZC5o
dG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Ny
b2xsLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJv
eC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC1leHBlY3RlZC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0
LXJpZ2h0Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlz
dGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy1leHBlY3RlZC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRz
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
ZGlyLXJ0bC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1lbGVtZW50RnJvbVBvaW50Lmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctcGFkZGluZy5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1z
aW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBl
Y3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhwZWN0ZWQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gt
Y29udGVudHMuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1w
b3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4
cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9z
aXRpb25pbmcuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1z
aW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLmh0bWw6CisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LWV4cGVj
dGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWRvY3VtZW50Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c3RpY2t5LWlmcmFtZS0yLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWw6CisgICAgICAgICogZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1sOgorICAgICAg
ICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Ny
b2xsLTItZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTIuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWw6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93
LXNjcm9sbC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRl
eHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbDoKKyAgICAg
ICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxl
ZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2Vs
ZWN0aW9uLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRt
bDoKKyAgICAgICAgKiBwbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
YW5pbWF0aW9uLXByb3BlcnR5LWV4cGVjdGVkLnBuZzogQWRkZWQuCisKIDIwMTYtMDQtMjYgIFNr
YWNoa292IE9sZWtzYW5kciAgPGdza2FjaGtvdkBnbWFpbC5jb20+CiAKICAgICAgICAgY2FsbGlu
ZyBzdXBlcigpIGEgc2Vjb25kIHRpbWUgaW4gYSBjb25zdHJ1Y3RvciBzaG91bGQgdGhyb3cKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1h
dGlvbi1wcm9wZXJ0eS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWwKaW5kZXggZWUzNjBiNC4uYmY4YTIyYyAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0
aW9uLXByb3BlcnR5Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtYW5pbWF0aW9uLXByb3BlcnR5Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgdXNl
TW9ja1Njcm9sbGJhcnM9ZmFsc2UgXSAtLT4KKzwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgdXNlTW9ja1Njcm9sbGJhcnM9ZmFsc2UgXSAtLT4KIDxodG1sPgogPGhlYWQ+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxkaXYgc3R5bGU9IndpZHRoOiAyMDBweDsgaGVpZ2h0OiAy
MDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyBvdmVyZmxvdzogc2Nyb2xsOyI+CmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBv
aW50LXN0YXRpYy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbAppbmRleCAzNTRjZGQ5Li41MzVhNzMzIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVt
ZW50RnJvbVBvaW50LXN0YXRpYy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3RhdGljLmh0bWwKQEAgLTEsNiArMSwx
MiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxi
YXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxzY3Jp
cHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CkBAIC0xNCw0ICsyMCw0IEBAIHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1l
bnQuZWxlbWVudEZyb21Qb2ludCgyMiwgNykuaWQiLCAiYSIpOwogPC9zY3JpcHQ+CiA8c2NyaXB0
IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9zdC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Q
b2ludC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxl
bWVudEZyb21Qb2ludC5odG1sCmluZGV4IGUzYTg2NTkuLjdiZmZkYzggMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVt
ZW50RnJvbVBvaW50Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgewor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMt
dGVzdC1wcmUuanMiPjwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CkBAIC0xMyw0ICsxOSw0IEBA
IHNob3VsZEJlRXF1YWxUb1N0cmluZygiZG9jdW1lbnQuZWxlbWVudEZyb21Qb2ludCg3LCA3KS5p
ZCIsICJhIik7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPSIuLi8uLi9yZXNvdXJjZXMvanMtdGVz
dC1wb3N0LmpzIj48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbAppbmRleCBlOTVmMjkwLi41NTRjNzIxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1leHBl
Y3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJoZWlnaHQ6IDEwMDBw
eDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7
IGxlZnQ6IDBweDsgYm90dG9tOiAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHJ0bCBz
Y3JvbGxiYXJzIGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBmcmFtZS48L2Rpdj4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1v
ZmZzZXQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQuaHRtbAppbmRleCAyOGQxNzY2Li4xMWFmZjM4
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1p
ZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sCkBAIC0xLDEwICsx
LDE2IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9s
bGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlw
dD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHlsZT0ncG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiAwcHg7IHRvcDogMHB4Oyc+QUJDRDwvZGl2PgogPGRpdiBzdHlsZT0ncG9zaXRpb246IGFi
c29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMjVweDsnPkRFRkc8L2Rpdj4KIDxkaXYgc3R5bGU9InBv
c2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDEwMHB4OyI+VGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBjb250ZW50cyBvZiBpZnJhbWVzIGFyZSBub3QgY292ZXJlZCBieSBhbiBydGwg
c2Nyb2xsYmFyLjwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbAppbmRleCBjMzZmZjg2Li4zNDFk
N2UwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1pZnJhbWUtb2Zmc2V0Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxp
ZnJhbWUgaWQ9ImlmcmFtZSIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4
OyBoZWlnaHQ6IDEwMHB4OyBsZWZ0OiAtMTVweDsgdG9wOiAwcHg7IG1hcmdpbjogMHB4OyBib3Jk
ZXI6IHNvbGlkIGJsYWNrIDBweDsgcGFkZGluZzogMHB4OyIKQEAgLTE1LDQgKzIxLDQgQEAgQUJD
RAogPC9odG1sPiI+PC9pZnJhbWU+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxl
ZnQ6IDhweDsgdG9wOiAxMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgY29udGVudHMg
b2YgaWZyYW1lcyBhcmUgbm90IGNvdmVyZWQgYnkgYW4gcnRsIHNjcm9sbGJhci48L2Rpdj4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUt
cG9zaXRpb24tYWJzb2x1dGUuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLWlmcmFtZS1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCmluZGV4IDMyNzk1MjFhLi5i
MDhlNThmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbApA
QCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Jy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXByZS5qcyc+PC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keT4KQEAgLTI4LDQgKzM0LDQgQEAgaWZyYW1lLmFkZEV2ZW50TGlz
dGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Jy4uLy4u
L3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMnPjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1l
LXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKaW5kZXggMjdlZjg3ZS4uY2ZmMjhmNyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9s
bGVkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAot
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRy
dWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAo
d2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5PgogPGlmcmFtZSBpZD0iaWZyYW1lIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0
aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IG1hcmdpbjogMHB4
OyBib3JkZXI6IHNvbGlkIGJsYWNrIDBweDsgcGFkZGluZzogMHB4OyIKQEAgLTI3LDQgKzMzLDQg
QEAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImlmcmFtZSIpLmZvY3VzKCk7CiA8L3NjcmlwdD4K
IDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDEwMHB4OyI+
VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBoaXQgdGVzdGluZyBpbiBpZnJhbWVzIHdvcmtzIGNv
cnJlY3RseS48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCmluZGV4IDYxZmZjZGYuLmMy
ZWZlYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwh
RE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVl
IF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eT4KIDxpZnJhbWUgaWQ9ImlmcmFtZSIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6
IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBsZWZ0OiAwcHg7IHRvcDogMHB4OyBtYXJnaW46IDBweDsg
Ym9yZGVyOiBzb2xpZCBibGFjayAwcHg7IHBhZGRpbmc6IDBweDsiCkBAIC0yMyw0ICsyOSw0IEBA
IGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIDwvaHRtbD4iPjwvaWZyYW1lPgogPGRpdiBzdHls
ZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMTAwcHg7Ij5UaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IGhpdCB0ZXN0aW5nIGluIGlmcmFtZXMgd29ya3MgY29ycmVjdGx5Ljwv
ZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWlmcmFtZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
aWZyYW1lLmh0bWwKaW5kZXggMzg0YjBiZC4uZmM0YTlmNSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPScuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnPjwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+CkBAIC0yOCw0ICszNCw0IEBAIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgZnVuY3Rpb24oKSB7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzJz48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4cGVjdGVkLmh0bWwK
aW5kZXggZDBiNmQ2Zi4uNjU3OGViYyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtZXhwZWN0ZWQuaHRtbApA
QCAtMjEsNCArMjEsNCBAQAogPC9zZWxlY3Q+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1leHBlY3RlZC5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1z
Y3JvbGwtZXhwZWN0ZWQuaHRtbAppbmRleCBhYmNkNDkyLi42ZmU0NmM5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1l
eHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLWxpc3Rib3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAt
LT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0
eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0
OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGxpc3QgYm94ZXMg
b2JleSBSVEwgc2Nyb2xsYmFycy48L2Rpdj4KQEAgLTIzLDQgKzI5LDQgQEAgdmFyIGNvbnRhaW5l
ciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKIGNvbnRhaW5lci5zY3Jv
bGxUb3AgPSBjb250YWluZXIuc2Nyb2xsSGVpZ2h0IC0gY29udGFpbmVyLmNsaWVudEhlaWdodDsK
IDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC5odG1sCmluZGV4IDg2NGNhN2MuLjkwMzYyZWQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9
Im1hcmdpbjogMHB4OyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhw
eDsgdG9wOiAyMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgbGlzdCBib3hlcyBvYmV5
IFJUTCBzY3JvbGxiYXJzLjwvZGl2PgpAQCAtMjYsNCArMzIsNCBAQCBpZiAod2luZG93LmV2ZW50
U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0LWV4cGVjdGVkLmh0bWwgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1s
ZWZ0LWV4cGVjdGVkLmh0bWwKaW5kZXggMzYxZTRmNi4uZmMyZmNjNCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVm
dC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBA
Ci08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9
dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lm
ICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgog
PGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1
dGU7IGxlZnQ6IDhweDsgdG9wOiAyMDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgY2xp
a2luZyBvbiBhbiBMVFIgc2Nyb2xsYmFyIGRvZXNuJ3Qgc2VsZWN0IGFuIGl0ZW0gaW4gYSBsaXN0
IGJveC48L2Rpdj4KQEAgLTIzLDQgKzI5LDQgQEAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50Lmdl
dEVsZW1lbnRCeUlkKCJjb250YWluZXIiKTsKIGNvbnRhaW5lci5mb2N1cygpOwogPC9zY3JpcHQ+
CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlz
dGJveC1zZWxlY3QtbGVmdC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC5odG1sCmluZGV4IDIzMWNkNzEuLjE4MTU2NTUg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxp
c3Rib3gtc2VsZWN0LWxlZnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAot
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRy
dWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAo
d2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNsaWtp
bmcgb24gYW4gTFRSIHNjcm9sbGJhciBkb2Vzbid0IHNlbGVjdCBhbiBpdGVtIGluIGEgbGlzdCBi
b3guPC9kaXY+CkBAIC0yNiw0ICszMiw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0K
IDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC1leHBlY3Rl
ZC5odG1sCmluZGV4IGQ3MDFlZmEuLjYyZmE2Y2MgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlz
dGJveC1zZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CiA8L2hlYWQ+CkBAIC0yNSw0ICsyNSw0
IEBAIHZhciBqYW51YXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImphbnVhcnkiKTsKIGph
bnVhcnkuc2VsZWN0ZWQgPSB0cnVlOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8g
bmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0
LXJpZ2h0Lmh0bWwKaW5kZXggY2I3MzVjOS4uODc0YjNkMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94
LXNlbGVjdC1yaWdodC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rp
b24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAw
cHg7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDIw
MHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBjbGlraW5nIG9uIHRoZSByaWdodG1vc3Qg
cGFydCBvZiBhbiBpdGVtIGNhdXNlcyBpdCB0byBiZSBzZWxlY3RlZC48L2Rpdj4KQEAgLTI2LDQg
KzMyLDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogfQogPC9zY3JpcHQ+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1w
bGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwKaW5kZXgg
YmNkNTYyZS4uZTk5YzU4YSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBs
ZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0xOSw0ICsxOSw0IEBACiA8b3B0aW9uPkRlY2Vt
YmVyPC9vcHRpb24+CiA8L3NlbGVjdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUuaHRtbAppbmRleCBlOTc0
YjY4Li5iMWRjODFhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLmh0bWwKQEAgLTEsNiArMSwxMiBA
QAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJz
PXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5PgogPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBsaXN0IGJveGVzIG9iZXkgUlRM
IHNjcm9sbGJhcnMuPC9wPgpAQCAtMTksNCArMjUsNCBAQAogPG9wdGlvbj5EZWNlbWJlcjwvb3B0
aW9uPgogPC9zZWxlY3Q+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtbGlzdGJveC5odG1sCmluZGV4IGNlMjY5MzYuLmI5MGNlN2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRt
bAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94
Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1y
dW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+
CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7Cisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9
Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBz
dHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRl
c3QgbWFrZXMgc3VyZSB0aGF0IGxpc3QgYm94ZXMgb2JleSBSVEwgc2Nyb2xsYmFycy48L2Rpdj4K
QEAgLTIxLDQgKzI3LDQgQEAKIDwvc2VsZWN0PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMtZXhwZWN0
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwKaW5kZXggMmFiODI4OS4uMmQ3NzZkYSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
Y29udGVudHMtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy1leHBlY3RlZC5odG1sCkBAIC0xNyw0ICsx
Nyw0IEBACiA8cD5Mb3JlbSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlz
Y2luZyBlbGl0LiBTdXNwZW5kaXNzZSBhIHJpc3VzIG5pc2kuIE1hZWNlbmFzIHV0IG1ldHVzIGdy
YXZpZGEsIHRpbmNpZHVudCBhcmN1IG5lYywgdWx0cmljZXMgZHVpLiBWaXZhbXVzIGF0IHByZXRp
dW0gcHVydXMsIGluIGZldWdpYXQgb2Rpby4gUGhhc2VsbHVzIGZhY2lsaXNpcyBtaSBpZCBjb25k
aW1lbnR1bSBjb25ndWUuIEFlbmVhbiBzb2xsaWNpdHVkaW4gcmlzdXMgYSBhY2N1bXNhbiBmYWNp
bGlzaXMuIFNlZCBhYyBmcmluZ2lsbGEgZmVsaXMuIE1vcmJpIG1hbGVzdWFkYSB2ZWhpY3VsYSBz
YXBpZW4uPC9wPgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLmh0bWwKaW5kZXggZmYw
YTc4Ni4uMzcwODg1NSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5odG1sCkBAIC0xLDYg
KzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Ny
b2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2Ny
aXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8
L2hlYWQ+CiA8Ym9keT4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiA3MDBw
eDsgaGVpZ2h0OiA1MDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CkBAIC0xOSw0ICsyNSw0IEBA
CiA8L2Rpdj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQu
aHRtbAppbmRleCAzNTYxNWFkLi45MzJjOGJlIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLWV4cGVjdGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
ZGlyLXJ0bC1leHBlY3RlZC5odG1sCkBAIC0yNCw0ICsyNCw0IEBAIHJhbmdlLnNlbGVjdE5vZGUo
ZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSk7CiBzZWxlY3Rpb24uYWRkUmFuZ2Uo
cmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC5odG1sCmluZGV4IDE5NTkz
MzIuLjRiMjBhYWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWwKQEAgLTEsNiArMSwx
MiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxi
YXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+
CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVh
ZD4KIDxib2R5PgogPGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IGhl
aWdodDogNTM5cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgpAQCAtMjYsNCArMzIsNCBAQCByYW5n
ZS5zZWxlY3ROb2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbGVtZW50IikpOwogc2VsZWN0
aW9uLmFkZFJhbmdlKHJhbmdlKTsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVs
ZW1lbnRGcm9tUG9pbnQuaHRtbAppbmRleCBkMjllMjc1Li43OWIyOWZkIDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1lbGVtZW50
RnJvbVBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwh
RE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVl
IF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0i
Li4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5
PgpAQCAtMTUsNCArMjEsNCBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmVsZW1l
bnRGcm9tUG9pbnQoMjIsIDcpLmlkIiwgImEiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4u
Ly4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1l
eHBlY3RlZC5odG1sCmluZGV4IGM3ZjJlNWMuLjNjODdlODYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
ZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtp
dC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+
CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZp
ZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJS
VEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8ZGl2IGlkPSJlbGVtZW50IiBz
dHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgd2lkdGg6IDcwMHB4OyBoZWlnaHQ6IDUwMHB4OyI+CkBA
IC0yMSw0ICsyNyw0IEBAIHZhciBlbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVs
ZW1lbnQiKTsKIGVsZW1lbnQuc2Nyb2xsVG9wID0gMTAwMDsKIDwvc2NyaXB0PgogPC9ib2R5Pgot
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRp
bmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLW92ZXJmbG93LXBhZGRpbmctZXhwZWN0ZWQuaHRtbAppbmRleCBmZDY4YTM5Li5hNDNlNTVl
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy1wYWRkaW5nLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy1leHBlY3RlZC5odG1sCkBAIC0y
NCw0ICsyNCw0IEBAIHJhbmdlLnNlbGVjdE5vZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVs
ZW1lbnQiKSk7CiBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFk
ZGluZy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctcGFkZGluZy5odG1sCmluZGV4IDUxZDg4MGIuLjc2MTk1NDcgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy1wYWRkaW5nLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgewor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBzdHlsZT0ib3Zl
cmZsb3c6IGhpZGRlbjsgd2lkdGg6IDEwMCU7IGhlaWdodDogNTM5cHg7IHBvc2l0aW9uOiByZWxh
dGl2ZTsiPgpAQCAtMjYsNCArMzIsNCBAQCByYW5nZS5zZWxlY3ROb2RlKGRvY3VtZW50LmdldEVs
ZW1lbnRCeUlkKCJlbGVtZW50IikpOwogc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsKIDwvc2Ny
aXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1l
eHBlY3RlZC5odG1sCmluZGV4IDBjYzczNjAuLjg2NzA2Y2QgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29s
dXRlLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbApAQCAtMSw2
ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uOiBhYnNv
bHV0ZSBlbGVtZW50cyBkbyBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIG9uIFJU
TCBtYWNoaW5lcy4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUgYW5k
IGEgcmVkIHNxdWFyZSBiZWxvdy4KQEAgLTEwLDQgKzE2LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBwb3NpdGlvbjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90IG92ZXJsYXAgdGhlIHZl
cnRpY2EKIDxkaXYgc3R5bGU9IndpZHRoOiAxcHg7IGhlaWdodDogMzAwMHB4OyBwb3NpdGlvbjog
YWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7Ij48L2Rpdj4KIDwvZGl2PgogPC9ib2R5Pgot
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0
aW9uLWFic29sdXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCmluZGV4IGU1ODYxN2EuLjg5OWZl
YTcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUuaHRtbApA
QCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9u
OiBhYnNvbHV0ZSBlbGVtZW50cyBkbyBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYWwgc2Nyb2xsYmFy
IG9uIFJUTCBtYWNoaW5lcy4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVh
cmUgYW5kIGEgcmVkIHNxdWFyZSBiZWxvdy4KQEAgLTEyLDQgKzE4LDQgQEAgVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBwb3NpdGlvbjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90IG92ZXJsYXAg
dGhlIHZlcnRpY2EKIDwvZGl2PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAppbmRleCAyYzNjZjI3Li4wYjVkNzljIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVy
Zmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0
Y2guaHRtbApAQCAtMTcsNCArMTcsNCBAQAogPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQs
IGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU3VzcGVuZGlzc2UgYSByaXN1cyBuaXNpLiBN
YWVjZW5hcyB1dCBtZXR1cyBncmF2aWRhLCB0aW5jaWR1bnQgYXJjdSBuZWMsIHVsdHJpY2VzIGR1
aS4gVml2YW11cyBhdCBwcmV0aXVtIHB1cnVzLCBpbiBmZXVnaWF0IG9kaW8uIFBoYXNlbGx1cyBm
YWNpbGlzaXMgbWkgaWQgY29uZGltZW50dW0gY29uZ3VlLiBBZW5lYW4gc29sbGljaXR1ZGluIHJp
c3VzIGEgYWNjdW1zYW4gZmFjaWxpc2lzLiBTZWQgYWMgZnJpbmdpbGxhIGZlbGlzLiBNb3JiaSBt
YWxlc3VhZGEgdmVoaWN1bGEgc2FwaWVuLjwvcD4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpc
IE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXNpbXBsZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxl
Lmh0bWwKaW5kZXggNDBkNjFhZi4uMDEwNWQ0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0
bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBpZD0iZWxlbWVudCIgc3R5bGU9Im92ZXJm
bG93OiBzY3JvbGw7IHdpZHRoOiA3MDBweDsgaGVpZ2h0OiA1MDBweDsiPgpAQCAtMTcsNCArMjMs
NCBAQAogPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2Np
bmcgZWxpdC4gU3VzcGVuZGlzc2UgYSByaXN1cyBuaXNpLiBNYWVjZW5hcyB1dCBtZXR1cyBncmF2
aWRhLCB0aW5jaWR1bnQgYXJjdSBuZWMsIHVsdHJpY2VzIGR1aS4gVml2YW11cyBhdCBwcmV0aXVt
IHB1cnVzLCBpbiBmZXVnaWF0IG9kaW8uIFBoYXNlbGx1cyBmYWNpbGlzaXMgbWkgaWQgY29uZGlt
ZW50dW0gY29uZ3VlLiBBZW5lYW4gc29sbGljaXR1ZGluIHJpc3VzIGEgYWNjdW1zYW4gZmFjaWxp
c2lzLiBTZWQgYWMgZnJpbmdpbGxhIGZlbGlzLiBNb3JiaSBtYWxlc3VhZGEgdmVoaWN1bGEgc2Fw
aWVuLjwvcD4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0
bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10
ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sCmluZGV4IDQzZWNiMDcuLjkzYWU5
MDEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxl
Y3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbApAQCAtMTYsNCArMTYsNCBAQCByYW5nZS5zZXRF
bmQodGV4dCwgMSk7CiBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2Jv
ZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
dGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKaW5k
ZXggNTk5YmI4YjUuLmMwODcyMGYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
dGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9
Im1hcmdpbjogMHB4OyI+CiA8ZGl2IHN0eWxlPSJvdmVyZmxvdzogaGlkZGVuOyB3aWR0aDogMTAw
JTsgaGVpZ2h0OiA0ODVweDsgcG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAtMTVweDsiPgpAQCAt
MjEsNCArMjcsNCBAQCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxv
dy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZs
b3cuaHRtbAppbmRleCAyMWNmNjgzLi5mNWJiYzMzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5PgogPGRpdiBpZD0iZWxlbWVudCIgc3R5bGU9Im92ZXJmbG93OiBzY3JvbGw7
IHdpZHRoOiA3MDBweDsgaGVpZ2h0OiA1MDBweDsiPgpAQCAtMjYsNCArMzIsNCBAQCBpZiAod2lu
ZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBu
ZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMtZXhw
ZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92
ZXJsYXktbm8tcHVzaC1jb250ZW50cy1leHBlY3RlZC5odG1sCmluZGV4IDM3NmZlMDYuLmFhNjkw
NzEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy1l
eHBlY3RlZC5odG1sCkBAIC0xLDcgKzEsMTMgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmll
dyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJU
TCIpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAg
aW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zlcmxh
eS1uby1wdXNoLWNvbnRlbnRzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbAppbmRleCBkNzBiODIxLi5l
NGNhYjU5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbApA
QCAtMSw3ICsxLDEzIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgogPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2Ny
aXB0PgorPHNjcmlwdD4KIGlmICh3aW5kb3cuaW50ZXJuYWxzKQogICAgIGludGVybmFscy5zZXRV
c2VzT3ZlcmxheVNjcm9sbGJhcnModHJ1ZSk7CiA8L3NjcmlwdD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLWV4
cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1w
b3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5odG1sCmluZGV4IDRmMjY2MDkuLjg4MWM4ZTQgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0
aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbApAQCAtMSw2
ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHls
ZT0iZm9udDogMjBweCBBaGVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEwMHB4OyI+cHBw
cHBwcHBwcHBwcHA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCmluZGV4IDk2
YzE2NzkuLjJhYTRhNzUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUuaHRtbApAQCAtMSw2
ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHls
ZT0iZm9udDogMjBweCBBaGVtOyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDEwMHB4OyI+cHBw
cHBwcHBwcHBwcHA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC1leHBlY3RlZC5o
dG1sCmluZGV4IDQxMDE3YWQuLjdkOTVlYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4
ZWQtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4
OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHlsZT0iZm9udDogMjBweCBBaGVtOyBwb3NpdGlvbjogZml4
ZWQ7IGxlZnQ6IDEwMHB4OyI+cHBwcHBwcHBwcHBwcHA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhl
ZC5odG1sCmluZGV4IGU3ZjAxYjMuLmNhMDUzOGQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLmh0bWwKKysrIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRt
bApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5l
ciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxo
ZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwv
c2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlkPSJ0
ZXh0IiBzdHlsZT0iZm9udDogMjBweCBBaGVtOyBwb3NpdGlvbjogZml4ZWQ7IGxlZnQ6IDEwMHB4
OyI+cHBwcHBwcHBwcHBwcHA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBlY3RlZC5o
dG1sCmluZGV4IDdkOWIyMjYuLjdjYzE2NmIyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4
cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQt
dGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgog
PGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3
Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRM
Iik7Cit9Cis8L3NjcmlwdD4KIDxzdHlsZT4KIGRpdiB7CiAgICAgZm9udDogMjBweCBBaGVtOwpA
QCAtMTksNCArMjUsNCBAQCBkaXYgewogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBs
ZWZ0OiAwcHg7IHRvcDogMjEwcHg7Ij5tPC9kaXY+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJz
b2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IHdpZHRoOiAxcHg7IGhlaWdodDogMjAwMHB4OyI+
PC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9o
dG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtcG9zaXRpb25pbmcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXBvc2l0aW9uaW5nLmh0bWwKaW5kZXggYTA2NWM5Yi4uMDkyNjdkYiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmcu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3Np
dGlvbmluZy5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmll
dyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJU
TCIpOworfQorPC9zY3JpcHQ+CiA8c3R5bGU+CiBkaXYgewogICAgIGZvbnQ6IDIwcHggQWhlbTsK
QEAgLTM1LDQgKzQxLDQgQEAgZGl2IHsKIDwvaHRtbD4iPjwvaWZyYW1lPgogPGRpdiBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMHB4OyB3aWR0aDogMXB4OyBoZWln
aHQ6IDIwMDBweDsiPjwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNo
Lmh0bWwKaW5kZXggYzZmYzg4Mi4uZDhmMTEyYiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxlLWV4
cGVjdGVkLW1pc21hdGNoLmh0bWwKQEAgLTUsNCArNSw0IEBACiA8Ym9keSBzdHlsZT0iaGVpZ2h0
OiAxMDAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcnRsIHNjcm9sbGJhcnMgYXJl
IG9uIHRoZSBsZWZ0IG9mIHRoZSBtYWluIGZyYW1lLgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxlLmh0bWwKaW5kZXggNzhiZDA1MC4uNDI4
YzA1ZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc2ltcGxlLmh0bWwKQEAgLTEsOCArMSwxNCBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgewor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJoZWlnaHQ6IDEw
MDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBydGwgc2Nyb2xsYmFycyBhcmUgb24g
dGhlIGxlZnQgb2YgdGhlIG1haW4gZnJhbWUuCiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGlu
ZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVu
dC0yLWV4cGVjdGVkLmh0bWwKaW5kZXggM2UwMjA4MS4uYTBkYTAxOCAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTIt
ZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1zdGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwh
RE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVl
IF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdp
bmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9k
eSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRp
b24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xMiw0
ICsxOCw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlz
IFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiB3aW5kb3cuc2Nyb2xsKDg1MCwgMCk7
CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxl
Cis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTIuaHRtbAppbmRleCAwZjJlY2JlLi5j
MDcwZDI0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLmh0bWwKQEAgLTEsNiArMSwxMiBA
QAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJz
PXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+Citp
ZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4K
IDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBw
b3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAg
LTExLDQgKzE3LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kg
b2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIHdpbmRvdy5zY3JvbGwoODUw
LCAwKTsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LWV4cGVjdGVkLmh0
bWwKaW5kZXggNTI4ZTgzMC4uZjI4ZmUxZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LWV4cGVjdGVkLmh0bWwKKysr
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3Vt
ZW50LWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgewor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBw
eDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRM
IHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTksNCArMTUsNCBAQCBUaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVu
IHBvc2l0aW9uaW5nLgogICAgIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDog
Njg1cHg7IHRvcDogMHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6
IGdyZWVuOyI+PC9kaXY+CiA8L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0
IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCmluZGV4IGM3
Njc1ZGYuLmRmNWU5ZTIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sCkBAIC0xLDYgKzEs
MTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xs
YmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRo
YXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcu
CkBAIC04LDQgKzE0LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlj
a3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KICAgICA8ZGl2IHN0eWxl
PSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiBzdGF0aWM7IHdpZHRoOiA4MDBweDsg
aGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogYmx1ZTsiPjwvZGl2PjxkaXYgc3R5bGU9ImRpc3Bs
YXk6IGlubGluZS1ibG9jazsgcG9zaXRpb246IC13ZWJraXQtc3RpY2t5OyBsZWZ0OiAwcHg7IHJp
Z2h0OiAwcHg7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogZ3JlZW47
Ij48L2Rpdj48ZGl2IHN0eWxlPSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiBzdGF0
aWM7IHdpZHRoOiA4MDBweDsgaGVpZ2h0OiAxMDBweDsgYmFja2dyb3VuZDogYmx1ZTsiPjwvZGl2
PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQuaHRtbAppbmRl
eCA2Mzk1NTZlLi40YTI4NTY2IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTItZXhw
ZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10
ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8
aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXci
KTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwi
KTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiBU
aGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xs
YmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAtMTgsNCArMjQsNCBAQCB3aW5kb3cuc2Nyb2xsKDg1
MCwgMCk7CiA8L2JvZHk+CiA8L2h0bWwiPgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUg
YXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWwKaW5kZXgg
ZmQ0MWFmYy4uNzNmOTFiMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmlu
Zy4KQEAgLTE3LDQgKzIzLDQgQEAgd2luZG93LnNjcm9sbCg4NTAsIDApOwogPC9ib2R5PgogPC9o
dG1sIj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwKaW5kZXggNDg2MTI5
Ni4uYzJkZjkzNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtZXhwZWN0ZWQuaHRtbApA
QCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiBUaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBv
c2l0aW9uaW5nLgpAQCAtMTUsNCArMjEsNCBAQCBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBv
c2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgogPC9i
b2R5PgogPC9odG1sIj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBm
aWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLmh0bWwKaW5kZXggNDkwMTQ2Mi4uMWMyOTQy
ZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c3RpY2t5LWlmcmFtZS5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXN0aWNreS1pZnJhbWUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9
Im1hcmdpbjogMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNr
eSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAtMTQsNCArMjAsNCBA
QCBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Ny
b2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgogPC9ib2R5PgogPC9odG1sIj4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ct
c2Nyb2xsLTItZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi1leHBlY3RlZC5odG1sCmluZGV4IGI1
MzYzZTUuLjQ1MDQwNmQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi1leHBlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxv
dy1zY3JvbGwtMi1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFy
Z2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9i
ZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xNSw0ICsyMSw0IEBAIHZh
ciBzY3JvbGxpbmdFbGVtZW50ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9sbGluZyIp
Owogc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxMZWZ0ID0gMTAwMDsKIDwvc2NyaXB0PgogPC9ib2R5
PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdp
dCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVy
Zmxvdy1zY3JvbGwtMi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWwKaW5kZXggYWUzNzVkNS4uYjczZjQ5
YiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0bWwKQEAgLTEs
NiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxT
Y3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlv
bmluZy4KQEAgLTE0LDQgKzIwLDQgQEAgdmFyIHNjcm9sbGluZ0VsZW1lbnQgPSBkb2N1bWVudC5n
ZXRFbGVtZW50QnlJZCgic2Nyb2xsaW5nIik7CiBzY3JvbGxpbmdFbGVtZW50LnNjcm9sbExlZnQg
PSAxMDAwOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5odG1sIGIvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNj
cm9sbC1leHBlY3RlZC5odG1sCmluZGV4IGZkZTE1NDAuLjk1YTEyM2QgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1z
Y3JvbGwtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwv
aGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmlu
Zy4KQEAgLTExLDQgKzE3LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1z
dGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIDwvZGl2PgogPC9k
aXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
c3RpY2t5LW92ZXJmbG93LXNjcm9sbC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC5odG1sCmluZGV4IDEwOTg4ZTIu
LmEwODhiMTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLmh0bWwKQEAg
LTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBy
dGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4K
KzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3Njcmlw
dD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2Vz
IHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3Np
dGlvbmluZy4KQEAgLTEwLDQgKzE2LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3Np
dGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIDwvZGl2
PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQor
PC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWwKaW5kZXgg
N2VmNWUzZS4uNTFhY2RlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1leHBlY3Rl
ZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3Qt
cnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1s
PgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOwor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOwor
fQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYg
aWQ9InRleHQiIHN0eWxlPSJmb250OiAyMHB4IEFoZW07Ij5wcHBwcHBwcHBwcHBwcDwvZGl2Pgpk
aWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4
dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0
bWwKaW5kZXggZWQ2YjNkNC4uMjgzODcxMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0
LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9D
VFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRv
dy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0
ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBz
dHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQiIHN0eWxlPSJmb250OiAyMHB4IEFo
ZW07Ij48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+
PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48
YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxi
cj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPnBwcHBwcHBwcHBwcHBwPC9kaXY+CkBA
IC0xNyw0ICsyMyw0IEBAIHJhbmdlLnNldEVuZCh0ZXh0LCAxKTsKIHNlbGVjdGlvbi5hZGRSYW5n
ZShyYW5nZSk7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVu
ZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQu
aHRtbAppbmRleCA1NTdiMjNiLi43NjExOTYxIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0
aW9uLXNjcm9sbGVkLmh0bWwKQEAgLTEsNSArMSwxMSBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIp
OworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIp
OworfQorPC9zY3JpcHQ+CiA8aGVhZD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBw
eDsiPgpAQCAtMTYsNCArMjIsNCBAQCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3Nj
cmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy10ZXh0LXNlbGVjdGlvbi5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24uaHRtbAppbmRleCA0ZGJjODhhLi4wNTMzNDk2IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNl
bGVjdGlvbi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXRleHQtc2VsZWN0aW9uLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFs
cykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJn
aW46IDBweDsiPgogPGRpdiBzdHlsZT0iZm9udDogMjBweCBBaGVtOyI+cHBwcHBwcHBwcHBwcHA8
L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy5odG1s
CmluZGV4IDA2ZTdkMjUuLjNiNmMxMTIzIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+
PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9D
VFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFs
cykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERp
cmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJoZWln
aHQ6IDEwMDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjog
YWJzb2x1dGU7IGxlZnQ6IDBweDsgYm90dG9tOiAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0
aGF0IHJ0bCBzY3JvbGxiYXJzIGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBmcmFtZS48L2Rp
dj4KQEAgLTEzLDQgKzE5LDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogfQogPC9zY3Jp
cHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS1leHBlY3RlZC5wbmcgYi9MYXlvdXRUZXN0
cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5pbWF0aW9uLXBy
b3BlcnR5LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5m
ZjE2ZDg0CkJpbmFyeSBmaWxlcyAvZGV2L251bGwgYW5kIGIvTGF5b3V0VGVzdHMvcGxhdGZvcm0v
bWFjL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS1leHBl
Y3RlZC5wbmcgZGlmZmVyCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cgYi9T
b3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE3MjU2ZC4uODQ5Mzk0MiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1NvdXJjZS9XZWJDb3JlL0NoYW5nZUxv
ZwpAQCAtMSwzICsxLDEzNSBAQAorMjAxNi0wNC0yNiAgTXlsZXMgQy4gTWF4ZmllbGQgIDxtbWF4
ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFtPUyBYXSBDcmVhdGUgQVBJIGZvciBz
d2l0Y2hpbmcgUlRMIHNjcm9sbGJhciBwb2xpY3kKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtp
dC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njk0OAorICAgICAgICA8cmRhcjovL3Byb2JsZW0vMjU3
MDc3NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgVGhl
cmUgYXJlIHR3byBzY2hvb2xzIG9mIHRob3VnaHQgZm9yIHdoZXJlIHRvIHB1dCBzY3JvbGxiYXJz
IGluIFJUTCBlbnZpcm9ubWVudHMuCisgICAgICAgIFRoZSBmaXJzdCBpcyB0aGF0IHdlIHNob3Vs
ZCBvYmV5IHRoZSBjb250ZW50J3MgImRpciIgYXR0cmlidXRlLCBzcGVjaWZpZWQgb24gZWFjaAor
ICAgICAgICBlbGVtZW50LiBUaGUgc2Vjb25kIGlzIHRoYXQgd2Ugc2hvdWxkIGJlIGNvbnNpc3Rl
bnQgd2l0aCB0aGUgcGxhdGZvcm0gKEFwcEtpdCdzKQorICAgICAgICBiZWhhdmlvci4KKworICAg
ICAgICBUaGVyZSBhcmUgc29tZSBzaXR1YXRpb25zIHdoZXJlIHRoZSBwbGFjZW1lbnQgc2hvdWxk
IGJlIGRvbmUgYWNjb3JkaW5nIHRvIHRoZQorICAgICAgICBjb250ZW50LiBGb3IgZXhhbXBsZSwg
dGhpcyBwb2xpY3kgd291bGQgYmUgdXNlZCBpbiB3ZWIgYnJvd3NlcnMuCisKKyAgICAgICAgSG93
ZXZlciwgdGhlcmUgYXJlIGFsc28gcGxhY2VzIHdoZXJlIHdlYiBjb250ZW50IGlzIGRlc2lnbmVk
IHRvIGZpdCBzZWFtbGVzc2x5CisgICAgICAgIGFtb25nc3QgbmF0aXZlIGNvbnRlbnQuIEluIHRo
aXMgc2l0dWF0aW9uLCB0aGUgcGxhY2VtZW50IG9mIHRoZSBzY3JvbGxiYXJzIHNob3VsZAorICAg
ICAgICBiZSBkb25lIGFjY29yZGluZyB0byB0aGUgdmlldy4KKworICAgICAgICBCZWNhdXNlIFdl
YktpdCBkb2Vzbid0IGtub3cgd2hpY2ggb2YgdGhlc2Ugc2l0dWF0aW9ucyBpdCBpcyBvcGVyYXRp
bmcgd2l0aGluLCB0aGlzCisgICAgICAgIHBhdGNoIGFkZHMgYSBuZXcgQVBJIHByb3BlcnR5LCB2
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LCB0bworICAgICAgICBXS1dlYlZpZXdDb25m
aWd1cmF0aW9uUG9saWN5LiBUaGlzIGFsbG93cyBjbGllbnRzIHRvIGluc3RydWN0IHVzIHdoaWNo
IHBvbGljeSB0bworICAgICAgICBhYmlkZSBieS4gSXQgaXMgcGx1bWJlZCB0byB0aGUgd2ViIHBy
b2Nlc3MgaW5zaWRlIHRoZSBXZWJQcmVmZXJlbmNlc1N0b3JlIGFuZCBpcworICAgICAgICB1bHRp
bWF0ZWx5IGhlbGQgaW5zaWRlIHRoZSBQYWdlJ3MgU2V0dGluZ3Mgb2JqZWN0LgorCisgICAgICAg
IFRoaXMgU2V0dGluZyBpcyBjb25zdWx0ZWQgYnkgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdCwgd2hp
Y2ggc2VydmVzIGFzIGEgZ29vZAorICAgICAgICBjZW50cmFsaXplZCBwbGFjZSBmb3IgdGhpcyBw
b2xpY3kgaW1wbGVtZW50YXRpb24uIFRoaXMgaXMgdGhlIGNsYXNzIHdoaWNoIGRlY2lkZXMKKyAg
ICAgICAgaWYgd2Ugc2hvdWxkIGJlIGNvbnN1bHRpbmcgaXRzIFJlbmRlclN0eWxlIG9yIHRoZSBw
bGF0Zm9ybSBpdHNlbGYgd2hlbiB3ZSBkZWNpZGUKKyAgICAgICAgd2hlcmUgdG8gcHV0IHRoZSBz
Y3JvbGxiYXJzLgorCisgICAgICAgIFB1dHRpbmcgdGhpcyBkZWNpc2lvbiBpbnNpZGUgdGhlIHJl
bmRlcmVyIGlzIGltcG9ydGFudCBiZWNhdXNlIFNjcm9sbGFibGVBcmVhCisgICAgICAgIG9mdGVu
IG5lZWRzIHRvIGtub3cgaWYgc2Nyb2xsYmFycyBzaG91bGQgYmUgcHV0IG9uIHRoZSBsZWZ0LCBi
dXQgU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgZG9lc24ndCBrbm93IGFueXRoaW5nIGFib3V0IFJl
bmRlclN0eWxlcy4gVGhlcmVmb3JlLCB0aGUgcmVuZGVyZXIgbXVzdCBiZSB0aGUKKyAgICAgICAg
aW50ZXJtZWRpYXJ5IGJldHdlZW4gU2Nyb2xsYWJsZUFyZWEgYW5kIHRoZSBSZW5kZXJTdHlsZS4g
KFNjcm9sbGFibGVBcmVhIGFsc28KKyAgICAgICAgZG9lc24ndCBkaXJlY3RseSBrbm93IGFueXRo
aW5nIGFib3V0IHJlbmRlcmVycyBlaXRoZXI7IGhvd2V2ZXIsIGVhY2ggb2YgdGhlCisgICAgICAg
IHN1YmNsYXNzZXMga25vd3MgYWJvdXQgYW4gYXBwcm9wcmlhdGUgcmVuZGVyZXIuKSBUaGVyZWZv
cmUsIFNjcm9sbGFibGVBcmVhIGdldHMKKyAgICAgICAgYSBuZXcgdmlydHVhbCBtZXRob2Qgd2hp
Y2ggaXMgaW1wbGVtZW50ZWQgYnkgdGhlIFJlbmRlckxheWVyTW9kZWxPYmplY3QuCisKKyAgICAg
ICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzKi5odG1sCisKKyAgICAgICAg
KiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6IFNjcm9sbGFibGVBcmVhTWFjLm1t
IGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuCisgICAgICAgICogcGFnZS9GcmFtZVZpZXcuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Ny
b2xsYmFyT25MZWZ0KTogT3ZlcnJpZGRlbgorICAgICAgICBTY3JvbGxhYmxlQXJlYSBmdW5jdGlv
bi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAgICAgICAqIHBhZ2UvU2V0dGluZ3Mu
aDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9s
bFZpZXcuY3BwOiBBZGRpbmcgdHdvIG5ldyBzZXR0aW5nczogT25lIHRvIGtub3cgaWYgd2Ugc2hv
dWxkCisgICAgICAgIGNvbnN1bHQgd2l0aCB0aGUgUmVuZGVyU3R5bGUgb3IgdGhlIHBsYXRmb3Jt
LCBhbmQgdGhlIG90aGVyIGlzIHdoZXRoZXIgb3Igbm90CisgICAgICAgIHRoZSBwbGF0Zm9ybSBj
b25zaWRlcnMgaXRzZWxmIHRvIGJlIFJUTC4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OmRvY3VtZW50U2Nyb2xsUG9zaXRpb25SZWxhdGl2ZVRvVmlld09yaWdpbik6IFVwZGF0ZSB0bwor
ICAgICAgICB1c2UgbmV3IG1lY2hhbmlzbS4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnVwZGF0ZVNjcm9sbGJhcnMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OnNjcm9sbENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbFZpZXc6
OmxvY2F0aW9uT2ZDb250ZW50cyk6IERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFi
bGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNj
cm9sbGJhcklzT25MZWZ0KTogRGVsZXRlZC4gVGhpcyB3YXMgdGhlIG9sZAorICAgICAgICBtZWNo
YW5pc20uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxlQXJlYTo6c3lzdGVtTGFuZ3VhZ2VJ
c1JUTCk6IERlbGV0ZWQuIERpdHRvLgorICAgICAgICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVh
Lmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGFibGVBcmVhTWFjLm1tOiBSZW1vdmVk
LgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnZlcnRpY2FsU2Nyb2xsYmFySXNP
bkxlZnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6OnN5c3Rl
bUxhbmd1YWdlSXNSVEwpOiBEZWxldGVkLgorICAgICAgICAqIHBsYXRmb3JtL21hYy9TY3JvbGxi
YXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9sbGJhclRoZW1lTWFjOjpkaWRD
cmVhdGVTY3JvbGxlckltcCk6IFVwZGF0ZSB0byB1c2UgbmV3CisgICAgICAgIG1lY2hhbmlzbS4K
KyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1dyaXRpbmdNb2RlLmg6IFRoZXNlIGVudW1zIHNob3Vs
ZCBtYXRjaCB3aGF0J3MgaW4gV2ViS2l0Mi4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyQmxv
Y2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxvY2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0
Rm9yQ29udGVudCk6IFVwZGF0ZSB0byB1c2UgbmV3IG1lY2hhbmlzbS4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KTogRGl0dG8uCisg
ICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHA6CisgICAgICAgIChXZWJDb3Jl
OjpSZW5kZXJCbG9ja0Zsb3c6OmRldGVybWluZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZCk6
IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJCb3guY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29udGVudEJveFJlY3QpOgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyQm94OjpvdmVyZmxvd0NsaXBSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRl
ckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgpOgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyQm94OjpsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9wYWdhdGlvbik6CisgICAgICAgICog
cmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDogRGl0dG8uCisgICAgICAgIChXZWJD
b3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29uc3RyYWluaW5nUmVjdEZvclN0aWNreVBvc2l0
aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6UmVuZGVyTGF5ZXI6OnJlc2l6ZSk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6Y29y
bmVyU3RhcnQpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVuY2VzLgorICAgICAgICAoV2ViQ29yZTo6
Y29ybmVyUmVjdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnNjcm9s
bENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OnJlc2l6ZXJDb3JuZXJSZWN0
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6c2Nyb2xsQ29ybmVyQW5k
UmVzaXplclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjp2ZXJ0
aWNhbFNjcm9sbGJhclN0YXJ0KTogVXBkYXRlIHRvIHVzZSBuZXcgbWVjaGFuaXNtLgorICAgICAg
ICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhvcml6b250YWxTY3JvbGxiYXJTdGFydCk6IERpdHRv
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om9mZnNldEZyb21SZXNpemVDb3JuZXIp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpwb3NpdGlvbk92ZXJmbG93
Q29udHJvbHMpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVuY2VzLgorICAgICAgICAoV2ViQ29yZTo6
UmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25zKTogRGl0dG8uCisgICAgICAgIChX
ZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dDb250cm9sc0ludGVyc2VjdFJlY3QpOiBEaXR0
by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpkcmF3UGxhdGZvcm1SZXNpemVySW1h
Z2UpOiBVcGRhdGUgdG8gdXNlIG5ldyBtZWNoYW5pc20uCisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllcjo6cGFpbnRSZXNpemVyKTogTWlncmF0ZSB0byB1c2UgcmVmZXJlbmNlcy4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjppc1BvaW50SW5SZXNpemVDb250cm9sKTogRGl0dG8u
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0VGVzdE92ZXJmbG93Q29udHJvbHMp
OiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpoaXRUZXN0UmVzaXplcklu
RnJhZ21lbnRzKTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyLmg6IFNj
cm9sbGFibGVBcmVhIG92ZXJyaWRlCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckxheWVyQ29t
cG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBv
c2l0aW9uRm9yQ2xpcExheWVyKTogVXBkYXRlIHRvIHVzZSBuZXcKKyAgICAgICAgbWVjaGFuaXNt
LgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcDoKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQpOgorICAgICAgICBUaGlzIGlzIHRoZSBtZWF0IG9mIHRoaXMg
cGF0Y2guIFRoaXMgaXMgd2hlcmUgd2UgZGVjaWRlIGlmIHdlIHNob3VsZCBiZQorICAgICAgICBp
bnRlcnJvZ2F0aW5nIHRoZSBSZW5kZXJTdHlsZSBvciB0aGUgdW5kZXJseWluZyBwbGF0Zm9ybS4K
KyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDogVXBkYXRlIHRvIHVzZSBuZXcgbWVjaGFuaXNt
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6aXRlbUJvdW5kaW5nQm94UmVjdCk6
CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94OjpwYWludFNjcm9sbGJhcik6CisgICAg
ICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojppc1BvaW50SW5PdmVyZmxvd0NvbnRyb2wpOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6bGlzdEluZGV4QXRPZmZzZXQpOgorICAg
ICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29udHJvbENsaXBSZWN0KToKKyAgICAgICAg
KFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmludmFsaWRhdGVTY3JvbGxiYXJSZWN0KToKKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbnZlcnRGcm9tU2Nyb2xsYmFyVG9Db250YWlu
aW5nVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbUNv
bnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIpOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0
Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwOiBEaXR0by4KKyAgICAg
ICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRWaWV3UmVjdGFuZ2xlKToKKyAgICAgICAg
KiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVu
ZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQpOiBUaGlz
CisgICAgICAgIGZ1bmN0aW9uIGlzIG5vdyBtdWNoIGR1bWJlci4gSXQganVzdCBpbnNwZWN0cyBp
dHMgb3duIHN0eWxlLgorICAgICAgICAqIHRlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHA6IEFs
bG93IG1vY2tpbmcuCisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6
OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OnJl
c3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5hbFNldHRpbmdzOjp2ZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5KToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGlu
Z3M6OnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kpOgorICAgICAgICAoV2ViQ29y
ZTo6SW50ZXJuYWxTZXR0aW5nczo6c3lzdGVtTGF5b3V0RGlyZWN0aW9uKToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFN5c3RlbUxheW91dERpcmVjdGlvbik6CisgICAg
ICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6CisgICAgICAgICogdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmlkbDoKKwogMjAxNi0wNC0yNiAgRmlsaXAgUGl6bG8gIDxmcGl6bG9AYXBw
bGUuY29tPgogCiAgICAgICAgIFdlYkNvcmUgb24gTWFjIGlnbm9yZXMgdGhlIHVzZXIncyBwcmVm
ZXJyZWQgcmVnaW9uIChjb3VudHJ5KSB3aGlsZSBnZXR0aW5nIHRoZSBsYW5ndWFnZQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qIGIv
U291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCmluZGV4IDk2
YmVkMTUuLjExYzAyMjggMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVw
cm9qL3Byb2plY3QucGJ4cHJvagorKysgYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJv
ai9wcm9qZWN0LnBieHByb2oKQEAgLTk3Niw3ICs5NzYsNiBAQAogCQkxQzgxQjk1QTBFOTczMzA4
MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM4MUI5NTYwRTk3MzMwODAwMjY2RTA3IC8qIEluc3Bl
Y3RvckNvbnRyb2xsZXIuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCAp
OyB9OyB9OwogCQkxQzgxQjk1QjBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxl
ci5jcHAgaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQzgx
Qjk1NzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ29udHJvbGxlci5jcHAgKi87IH07CiAJ
CTFDODFCOTVDMEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDODFCOTU4MEU5NzMzMDgwMDI2
NkUwNyAvKiBJbnNwZWN0b3JDbGllbnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwotCQkxQzk5NTQyRTFDOTIxMDUyMDBEQkQyMjYgLyogU2Nyb2xsYWJs
ZUFyZWFNYWMubW0gaW4gU291cmNlcyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQzk5NTQyRDFDOTIxMDUyMDBEQkQyMjYgLyogU2Nyb2xsYWJsZUFyZWFNYWMubW0gKi87IH07
CiAJCTFDQTE5RTA1MERDMjU1OTUwMDY1QTk5NCAvKiBFdmVudExvb3BNYWMubW0gaW4gU291cmNl
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSAxQ0ExOUUwMzBEQzI1NTk1MDA2
NUE5OTQgLyogRXZlbnRMb29wTWFjLm1tICovOyB9OwogCQkxQ0ExOUUxNjBEQzI1NUNBMDA2NUE5
OTQgLyogRXZlbnRMb29wLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSAxQ0ExOUUxNTBEQzI1NUNBMDA2NUE5OTQgLyogRXZlbnRMb29wLmggKi87IH07CiAJ
CTFDQUYzNDgxMEE2QzQwNTIwMEFCRTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDQUYzNDdFMEE2QzQwNTIwMEFC
RTA2RSAvKiBXZWJTY3JpcHRPYmplY3QuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwpAQCAtODQyNiw3ICs4NDI1LDYgQEAKIAkJMUM4MUI5NTcwRTk3MzMw
ODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVjdG9yQ29udHJvbGxlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTFDODFCOTU4MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDbGll
bnQuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gSW5zcGVjdG9yQ2xpZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTFDOTA0REY5MEJBOUQyQzgwMDgxRTlEMCAv
KiBWZXJzaW9uLnhjY29uZmlnICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dC54Y2NvbmZpZzsgcGF0aCA9IFZlcnNp
b24ueGNjb25maWc7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTFDOTk1NDJEMUM5MjEw
NTIwMERCRDIyNiAvKiBTY3JvbGxhYmxlQXJlYU1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLm9iamNwcDsgcGF0aCA9IFNjcm9sbGFibGVBcmVhTWFjLm1tOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQkxQ0ExOUUwMzBEQzI1NTk1MDA2NUE5OTQgLyogRXZlbnRMb29wTWFjLm1t
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAub2JqY3BwOyBwYXRoID0gRXZlbnRMb29wTWFjLm1t
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0ExOUUxNTBEQzI1NUNBMDA2NUE5OTQg
LyogRXZlbnRMb29wLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEV2ZW50TG9v
cC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQ0FGMzQ3RTBBNkM0MDUyMDBBQkUw
NkUgLyogV2ViU2NyaXB0T2JqZWN0LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFdlYlNjcmlwdE9iamVjdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTc5MTgs
NyArMTc5MTYsNiBAQAogCQkJCUNEODIwMzBFMTM5NUFDRTcwMEY5NTZDNiAvKiBXZWJXaW5kb3dB
bmltYXRpb24uaCAqLywKIAkJCQlDRDgyMDMwRjEzOTVBQ0U3MDBGOTU2QzYgLyogV2ViV2luZG93
QW5pbWF0aW9uLm1tICovLAogCQkJCTkzODBGNDc3MDlBMTFBQ0MwMDFGREIzNCAvKiBXaWRnZXRN
YWMubW0gKi8sCi0JCQkJMUM5OTU0MkQxQzkyMTA1MjAwREJEMjI2IC8qIFNjcm9sbGFibGVBcmVh
TWFjLm1tICovLAogCQkJKTsKIAkJCXBhdGggPSBtYWM7CiAJCQlzb3VyY2VUcmVlID0gIjxncm91
cD4iOwpAQCAtMzEyMDEsNyArMzExOTgsNiBAQAogCQkJCUY1NUIzRENCMTI1MUYxMkQwMDNFRjI2
OSAvKiBSYWRpb0lucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlCNjU4RkZBNTE1MjJF
RkFBMDBERDU1OTUgLyogUmFkaW9Ob2RlTGlzdC5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk5M0Yx
OUFCOTA4MjQ1RTU5MDAxRTlBQkMgLyogUmFuZ2UuY3BwIGluIFNvdXJjZXMgKi8sCi0JCQkJMUM5
OTU0MkUxQzkyMTA1MjAwREJEMjI2IC8qIFNjcm9sbGFibGVBcmVhTWFjLm1tIGluIFNvdXJjZXMg
Ki8sCiAJCQkJRjU1QjNEQ0QxMjUxRjEyRDAwM0VGMjY5IC8qIFJhbmdlSW5wdXRUeXBlLmNwcCBp
biBTb3VyY2VzICovLAogCQkJCTZFODRFOUUwMTc2NjhCRUUwMDgxNUI2OCAvKiBSYXN0ZXJTaGFw
ZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQlGRDMxNjAzQjEyQjAyNjc2MDBDMUEzNTkgLyogUmVh
bHRpbWVBbmFseXNlci5jcHAgaW4gU291cmNlcyAqLywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BhZ2UvRnJhbWVWaWV3LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNw
cAppbmRleCA3YTljM2NhLi4wYTZjZjA0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdl
L0ZyYW1lVmlldy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCkBA
IC00OTY4LDUgKzQ5NjgsMTAgQEAgSW50U2l6ZSBGcmFtZVZpZXc6OnZpZXdwb3J0U2l6ZUZvckNT
U1ZpZXdwb3J0VW5pdHMoKSBjb25zdAogICAgIC8vIHByb3BlcnR5IG9uIHRoZSByb290IGVsZW1l
bnQuCiAgICAgcmV0dXJuIHZpc2libGVDb250ZW50UmVjdEluY2x1ZGluZ1Njcm9sbGJhcnMoKS5z
aXplKCk7CiB9CisKK2Jvb2wgRnJhbWVWaWV3OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Ny
b2xsYmFyT25MZWZ0KCkgY29uc3QKK3sKKyAgICByZXR1cm4gcmVuZGVyVmlldygpICYmIHJlbmRl
clZpZXcoKS0+c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpOworfQog
ICAgIAogfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cGFnZS9GcmFtZVZpZXcuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKaW5kZXgg
OTc3NTNkYy4uYWMzNzNiMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZp
ZXcuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCkBAIC01NTcsNiArNTU3
LDggQEAgcHVibGljOgogCiAgICAgdm9pZCBzaG93KCkgb3ZlcnJpZGU7CiAKKyAgICBib29sIHNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCBmaW5hbDsKKwog
cHJvdGVjdGVkOgogICAgIGJvb2wgc2Nyb2xsQ29udGVudHNGYXN0UGF0aChjb25zdCBJbnRTaXpl
JiBzY3JvbGxEZWx0YSwgY29uc3QgSW50UmVjdCYgcmVjdFRvU2Nyb2xsLCBjb25zdCBJbnRSZWN0
JiBjbGlwUmVjdCkgb3ZlcnJpZGU7CiAgICAgdm9pZCBzY3JvbGxDb250ZW50c1Nsb3dQYXRoKGNv
bnN0IEludFJlY3QmIHVwZGF0ZVJlY3QpIG92ZXJyaWRlOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGFnZS9TZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCmlu
ZGV4IGQyNjAwZjUuLmRhMTRmYWEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0
dGluZ3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgKQEAgLTM1LDYgKzM1
LDcgQEAKICNpbmNsdWRlICJUZXh0RmxhZ3MuaCIKICNpbmNsdWRlICJUaW1lci5oIgogI2luY2x1
ZGUgIlVSTC5oIgorI2luY2x1ZGUgIldyaXRpbmdNb2RlLmgiCiAjaW5jbHVkZSA8Y2hyb25vPgog
I2luY2x1ZGUgPHJ1bnRpbWUvUnVudGltZUZsYWdzLmg+CiAjaW5jbHVkZSA8dW5pY29kZS91c2Ny
aXB0Lmg+CkBAIC03MSw2ICs3MiwxMSBAQCBlbnVtIERlYnVnT3ZlcmxheVJlZ2lvbkZsYWdzIHsK
ICAgICBXaGVlbEV2ZW50SGFuZGxlclJlZ2lvbiA9IDEgPDwgMSwKIH07CiAKK2VudW0gY2xhc3Mg
VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSB7CisgICAgQ29udGVudCwKKyAgICBWaWV3
Cit9OworCiB0eXBlZGVmIHVuc2lnbmVkIERlYnVnT3ZlcmxheVJlZ2lvbnM7CiAKIGNsYXNzIFNl
dHRpbmdzIDogcHVibGljIFJlZkNvdW50ZWQ8U2V0dGluZ3M+IHsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4gYi9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdz
LmluCmluZGV4IDA0ZjEzODcuLmVkYjUxOTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Bh
Z2UvU2V0dGluZ3MuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgpAQCAt
MjUxLDMgKzI1MSw2IEBAIGh0dHBFcXVpdkVuYWJsZWQgaW5pdGlhbD10cnVlCiAjIGVuZm9yY2Vz
IGFsbCBmcmFtZSBzYW5kYm94IGZsYWdzIChzZWUgZW51bSBTYW5kYm94RmxhZyBpbiBTZWN1cml0
eUNvbnRleHQuaCksIGFuZCBhbHNvIGRpc2FibGVzIDxtZXRhIGh0dHAtZXF1aXY+CiAjIHByb2Nl
c3NpbmcgYW5kIHN1YmZyYW1lIGxvYWRpbmcuCiBjb250ZW50RGlzcG9zaXRpb25BdHRhY2htZW50
U2FuZGJveEVuYWJsZWQgaW5pdGlhbD1mYWxzZQorCit2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5IHR5cGU9VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSwgaW5pdGlhbD1WZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50CitzeXN0ZW1MYXlvdXREaXJlY3Rp
b24gdHlwZT1UZXh0RGlyZWN0aW9uLCBpbml0aWFsPUxUUgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9T
Y3JvbGxWaWV3LmNwcAppbmRleCBmNzlkNzc1Li5mMjJkNmJmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxWaWV3LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9TY3JvbGxWaWV3LmNwcApAQCAtNDA1LDcgKzQwNSw3IEBAIFNjcm9sbFBvc2l0aW9uIFNj
cm9sbFZpZXc6OmFkanVzdFNjcm9sbFBvc2l0aW9uV2l0aGluUmFuZ2UoY29uc3QgU2Nyb2xsUG9z
aXRpb24mCiBTY3JvbGxQb3NpdGlvbiBTY3JvbGxWaWV3Ojpkb2N1bWVudFNjcm9sbFBvc2l0aW9u
UmVsYXRpdmVUb1ZpZXdPcmlnaW4oKSBjb25zdAogewogICAgIHJldHVybiBzY3JvbGxQb3NpdGlv
bigpIC0gSW50U2l6ZSgKLSAgICAgICAgdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIG1f
dmVydGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCkg
OiAwLAorICAgICAgICBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkg
JiYgbV92ZXJ0aWNhbFNjcm9sbGJhciA/IG1fdmVydGljYWxTY3JvbGxiYXItPm9jY3VwaWVkV2lk
dGgoKSA6IDAsCiAgICAgICAgIGhlYWRlckhlaWdodCgpICsgdG9wQ29udGVudEluc2V0KFRvcENv
bnRlbnRJbnNldFR5cGU6OldlYkNvcmVPclBsYXRmb3JtQ29udGVudEluc2V0KSk7CiB9CiAKQEAg
LTcxOSw3ICs3MTksNyBAQCB2b2lkIFNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMoY29uc3Qg
U2Nyb2xsUG9zaXRpb24mIGRlc2lyZWRQb3NpdGlvbikKICAgICAgICAgaW50IGNsaWVudFdpZHRo
ID0gdmlzaWJsZVdpZHRoKCk7CiAgICAgICAgIGludCBwYWdlU3RlcCA9IFNjcm9sbGJhcjo6cGFn
ZVN0ZXAoY2xpZW50V2lkdGgpOwogICAgICAgICBJbnRSZWN0IG9sZFJlY3QobV9ob3Jpem9udGFs
U2Nyb2xsYmFyLT5mcmFtZVJlY3QoKSk7Ci0gICAgICAgIEludFJlY3QgaEJhclJlY3QodmVydGlj
YWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2Fs
U2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCkgOiAwLAorICAgICAgICBJbnRSZWN0IGhCYXJSZWN0
KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBtX3ZlcnRpY2Fs
U2Nyb2xsYmFyID8gbV92ZXJ0aWNhbFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpIDogMCwKICAg
ICAgICAgICAgIGhlaWdodCgpIC0gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5oZWlnaHQoKSwKICAg
ICAgICAgICAgIHdpZHRoKCkgLSAobV92ZXJ0aWNhbFNjcm9sbGJhciA/IG1fdmVydGljYWxTY3Jv
bGxiYXItPm9jY3VwaWVkV2lkdGgoKSA6IDApLAogICAgICAgICAgICAgbV9ob3Jpem9udGFsU2Ny
b2xsYmFyLT5oZWlnaHQoKSk7CkBAIC03NDAsNyArNzQwLDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1
cGRhdGVTY3JvbGxiYXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAg
ICAgICAgIGludCBjbGllbnRIZWlnaHQgPSB2aXNpYmxlSGVpZ2h0KCk7CiAgICAgICAgIGludCBw
YWdlU3RlcCA9IFNjcm9sbGJhcjo6cGFnZVN0ZXAoY2xpZW50SGVpZ2h0KTsKICAgICAgICAgSW50
UmVjdCBvbGRSZWN0KG1fdmVydGljYWxTY3JvbGxiYXItPmZyYW1lUmVjdCgpKTsKLSAgICAgICAg
SW50UmVjdCB2QmFyUmVjdCh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyAwIDogd2lkdGgo
KSAtIG1fdmVydGljYWxTY3JvbGxiYXItPndpZHRoKCksCisgICAgICAgIEludFJlY3QgdkJhclJl
Y3Qoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gMCA6IHdpZHRo
KCkgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAgdG9wQ29udGVu
dEluc2V0KCksCiAgICAgICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAg
ICAgICAgICAgaGVpZ2h0KCkgLSB0b3BDb250ZW50SW5zZXQoKSAtIChtX2hvcml6b250YWxTY3Jv
bGxiYXIgPyBtX2hvcml6b250YWxTY3JvbGxiYXItPm9jY3VwaWVkSGVpZ2h0KCkgOiAwKSk7CkBA
IC0xMTM0LDE0ICsxMTM0LDE0IEBAIEludFJlY3QgU2Nyb2xsVmlldzo6c2Nyb2xsQ29ybmVyUmVj
dCgpIGNvbnN0CiAgICAgaW50IGhlaWdodFRyYWNrZWRCeVNjcm9sbGJhciA9IGhlaWdodCgpIC0g
dG9wQ29udGVudEluc2V0KCk7CiAKICAgICBpZiAobV9ob3Jpem9udGFsU2Nyb2xsYmFyICYmIHdp
ZHRoKCkgLSBtX2hvcml6b250YWxTY3JvbGxiYXItPndpZHRoKCkgPiAwKSB7Ci0gICAgICAgIGNv
cm5lclJlY3QudW5pdGUoSW50UmVjdCh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyAwIDog
bV9ob3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgpLAorICAgICAgICBjb3JuZXJSZWN0LnVuaXRl
KEludFJlY3Qoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gMCA6
IG1faG9yaXpvbnRhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAgICAgICAgIGhlaWdodCgpIC0g
bV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5oZWlnaHQoKSwKICAgICAgICAgICAgIHdpZHRoKCkgLSBt
X2hvcml6b250YWxTY3JvbGxiYXItPndpZHRoKCksCiAgICAgICAgICAgICBtX2hvcml6b250YWxT
Y3JvbGxiYXItPmhlaWdodCgpKSk7CiAgICAgfQogCiAgICAgaWYgKG1fdmVydGljYWxTY3JvbGxi
YXIgJiYgaGVpZ2h0VHJhY2tlZEJ5U2Nyb2xsYmFyIC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+aGVp
Z2h0KCkgPiAwKSB7Ci0gICAgICAgIGNvcm5lclJlY3QudW5pdGUoSW50UmVjdCh2ZXJ0aWNhbFNj
cm9sbGJhcklzT25MZWZ0KCkgPyAwIDogd2lkdGgoKSAtIG1fdmVydGljYWxTY3JvbGxiYXItPndp
ZHRoKCksCisgICAgICAgIGNvcm5lclJlY3QudW5pdGUoSW50UmVjdChzaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyAwIDogd2lkdGgoKSAtIG1fdmVydGljYWxTY3Jv
bGxiYXItPndpZHRoKCksCiAgICAgICAgICAgICBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5oZWlnaHQo
KSArIHRvcENvbnRlbnRJbnNldCgpLAogICAgICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJhci0+
d2lkdGgoKSwKICAgICAgICAgICAgIGhlaWdodFRyYWNrZWRCeVNjcm9sbGJhciAtIG1fdmVydGlj
YWxTY3JvbGxiYXItPmhlaWdodCgpKSk7CkBAIC0xNTAyLDcgKzE1MDIsNyBAQCB2b2lkIFNjcm9s
bFZpZXc6OnN0eWxlRGlkQ2hhbmdlKCkKIEludFBvaW50IFNjcm9sbFZpZXc6OmxvY2F0aW9uT2ZD
b250ZW50cygpIGNvbnN0CiB7CiAgICAgSW50UG9pbnQgcmVzdWx0ID0gbG9jYXRpb24oKTsKLSAg
ICBpZiAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmIG1fdmVydGljYWxTY3JvbGxiYXIp
CisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBt
X3ZlcnRpY2FsU2Nyb2xsYmFyKQogICAgICAgICByZXN1bHQubW92ZShtX3ZlcnRpY2FsU2Nyb2xs
YmFyLT5vY2N1cGllZFdpZHRoKCksIDApOwogICAgIHJldHVybiByZXN1bHQ7CiB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAgYi9Tb3VyY2Uv
V2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5jcHAKaW5kZXggZDNhMzVlMi4uNjBmZTkz
ZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3Bw
CisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcApAQCAtNjg5
LDE2ICs2ODksNCBAQCB2b2lkIFNjcm9sbGFibGVBcmVhOjpjb21wdXRlU2Nyb2xsYmFyVmFsdWVB
bmRPdmVyaGFuZyhmbG9hdCBjdXJyZW50UG9zaXRpb24sIGZsbwogICAgIH0KIH0KIAotI2lmICFQ
TEFURk9STShDT0NPQSkKLWJvb2wgU2Nyb2xsYWJsZUFyZWE6OnZlcnRpY2FsU2Nyb2xsYmFySXNP
bkxlZnQoKSBjb25zdAotewotICAgIHJldHVybiBmYWxzZTsKLX0KLQotYm9vbCBTY3JvbGxhYmxl
QXJlYTo6c3lzdGVtTGFuZ3VhZ2VJc1JUTCgpCi17Ci0gICAgcmV0dXJuIGZhbHNlOwotfQotI2Vu
ZGlmCi0KIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3Jv
bGxhYmxlQXJlYS5oCmluZGV4IDNmZGFhYjQuLjA5OWEzNTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vU2Nyb2xsYWJsZUFyZWEuaApAQCAtMzE1LDggKzMxNSw3IEBAIHB1YmxpYzoKICAgICB2
aXJ0dWFsIGJvb2wgdXNlc01vY2tTY3JvbGxBbmltYXRvcigpIGNvbnN0IHsgcmV0dXJuIGZhbHNl
OyB9CiAgICAgdmlydHVhbCB2b2lkIGxvZ01vY2tTY3JvbGxBbmltYXRvck1lc3NhZ2UoY29uc3Qg
U3RyaW5nJikgY29uc3QgeyB9OwogCi0gICAgYm9vbCB2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0
KCkgY29uc3Q7Ci0gICAgc3RhdGljIGJvb2wgc3lzdGVtTGFuZ3VhZ2VJc1JUTCgpOworICAgIHZp
cnR1YWwgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29u
c3QgPSAwOwogCiBwcm90ZWN0ZWQ6CiAgICAgV0VCQ09SRV9FWFBPUlQgU2Nyb2xsYWJsZUFyZWEo
KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxhYmxlQXJl
YU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21hYy9TY3JvbGxhYmxlQXJlYU1hYy5t
bQpkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMjdlNTVhZS4uMDAwMDAwMAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYWJsZUFyZWFNYWMubW0KKysrIC9kZXYv
bnVsbApAQCAtMSw1NyArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDE2IEFwcGxlIElu
Yy4gQWxsIFJpZ2h0cyBSZXNlcnZlZC4KLSAqIAotICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Ci0gKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMg
YXJlCi0gKiBtZXQ6Ci0gKiAKLSAqICAgICAqIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiBub3RpY2UsIHRoaXMgbGlzdCBv
ZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAgICAgKiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlCi0gKiBj
b3B5cmlnaHQgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyCi0gKiBpbiB0aGUgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlCi0gKiBkaXN0cmlidXRpb24uCi0gKiAgICAgKiBOZWl0aGVy
IHRoZSBuYW1lIG9mIEdvb2dsZSBJbmMuIG5vciB0aGUgbmFtZXMgb2YgaXRzCi0gKiBjb250cmli
dXRvcnMgbWF5IGJlIHVzZWQgdG8gZW5kb3JzZSBvciBwcm9tb3RlIHByb2R1Y3RzIGRlcml2ZWQg
ZnJvbQotICogdGhpcyBzb2Z0d2FyZSB3aXRob3V0IHNwZWNpZmljIHByaW9yIHdyaXR0ZW4gcGVy
bWlzc2lvbi4KLSAqIAotICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBUSEUgQ09QWVJJ
R0hUIEhPTERFUlMgQU5EIENPTlRSSUJVVE9SUwotICogIkFTIElTIiBBTkQgQU5ZIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8s
IFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UgotICogQSBQQVJUSUNVTEFSIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNI
QUxMIFRIRSBDT1BZUklHSFQKLSAqIE9XTkVSIE9SIENPTlRSSUJVVE9SUyBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLAotICogU1BFQ0lBTCwgRVhFTVBMQVJZ
LCBPUiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVAotICogTElNSVRF
RCBUTywgUFJPQ1VSRU1FTlQgT0YgU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsCi0gKiBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUyBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkKLSAqIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIg
SU4gQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQKLSAqIChJTkNMVURJTkcgTkVH
TElHRU5DRSBPUiBPVEhFUldJU0UpIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRQot
ICogT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KLSAqLwotCi0jaW5jbHVkZSAiY29uZmlnLmgiCi0jaW5jbHVkZSAiU2Ny
b2xsYWJsZUFyZWEuaCIKLQotI2lmIFBMQVRGT1JNKE1BQykKLSNpbmNsdWRlICJOU1Njcm9sbGVy
SW1wU1BJLmgiCi0jZW5kaWYKLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi0vLyBJdCdzIGNvbmNl
aXZhYmxlIHRoYXQgaW4gdGhlIGZ1dHVyZSwgd2UgbWF5IHdhbnQgc29tZSBzY3JvbGxiYXJzIHRv
IGJlIG9uIHRoZSByaWdodCB3aGlsZSBvdGhlciBzY3JvbGxiYXJzIGluIHRoZSBzYW1lIGRvY3Vt
ZW50IGFyZSBvbiB0aGUgbGVmdC4KLS8vIFRoaXMgbm9uLXN0YXRpYyBmdW5jdGlvbiBvbiB0aGUg
U2Nyb2xsYWJsZUFyZWEgbWFrZXMgdGhhdCBwb3NzaWJsZS4KLWJvb2wgU2Nyb2xsYWJsZUFyZWE6
OnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSBjb25zdAotewotICAgIHJldHVybiBzeXN0ZW1M
YW5ndWFnZUlzUlRMKCk7Ci19Ci0KLWJvb2wgU2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdl
SXNSVEwoKQotewotI2lmIFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01JTl9S
RVFVSVJFRCA+PSAxMDEyMDAKLSAgICBzdGF0aWMgYm9vbCByZXN1bHQgPSBbW05TU2Nyb2xsZXJJ
bXBQYWlyIGNsYXNzXSByZXNwb25kc1RvU2VsZWN0b3I6QHNlbGVjdG9yKHNjcm9sbGVyTGF5b3V0
RGlyZWN0aW9uKV0gJiYgW05TU2Nyb2xsZXJJbXBQYWlyIHNjcm9sbGVyTGF5b3V0RGlyZWN0aW9u
XSA9PSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVmdDsKLSAgICByZXR1
cm4gcmVzdWx0OwotI2Vsc2UKLSAgICByZXR1cm4gZmFsc2U7Ci0jZW5kaWYKLX0KLQotfQpkaWZm
IC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1t
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRoZW1lTWFjLm1tCmluZGV4
IGYyMzk2NjEuLjk5ZTAyYWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL21h
Yy9TY3JvbGxiYXJUaGVtZU1hYy5tbQorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMv
U2Nyb2xsYmFyVGhlbWVNYWMubW0KQEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIFNjcm9sbGJhclRo
ZW1lTWFjOjpkaWRDcmVhdGVTY3JvbGxlckltcChTY3JvbGxiYXImIHNjcm9sbGJhcikKICNpZiBQ
TEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAw
CiAgICAgTlNTY3JvbGxlckltcCAqc2Nyb2xsZXJJbXAgPSBwYWludGVyRm9yU2Nyb2xsYmFyKHNj
cm9sbGJhcik7CiAgICAgQVNTRVJUKHNjcm9sbGVySW1wKTsKLSAgICBzY3JvbGxlckltcC51c2Vy
SW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID0gc2Nyb2xsYmFyLnNjcm9sbGFibGVBcmVhKCkudmVy
dGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9u
UmlnaHRUb0xlZnQgOiBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25MZWZ0VG9SaWdodDsK
KyAgICBzY3JvbGxlckltcC51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uID0gc2Nyb2xsYmFy
LnNjcm9sbGFibGVBcmVhKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpID8gTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnQgOiBOU1VzZXJJ
bnRlcmZhY2VMYXlvdXREaXJlY3Rpb25MZWZ0VG9SaWdodDsKICNlbHNlCiAgICAgVU5VU0VEX1BB
UkFNKHNjcm9sbGJhcik7CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9Qb3B1cE1lbnVXaW4uaCBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL3dpbi9Qb3B1
cE1lbnVXaW4uaAppbmRleCAzMTA2MWI2Li5iMGZkNmMzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcGxh
dGZvcm0vd2luL1BvcHVwTWVudVdpbi5oCkBAIC0xMDgsNiArMTA4LDcgQEAgcHJpdmF0ZToKICAg
ICBJbnRSZWN0IHNjcm9sbGFibGVBcmVhQm91bmRpbmdCb3goYm9vbCogPSBudWxscHRyKSBjb25z
dCBvdmVycmlkZTsKICAgICBib29sIHVwZGF0ZXNTY3JvbGxMYXllclBvc2l0aW9uT25NYWluVGhy
ZWFkKCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gdHJ1ZTsgfQogICAgIGJvb2wgZm9yY2VVcGRh
dGVTY3JvbGxiYXJzT25NYWluVGhyZWFkRm9yUGVyZm9ybWFuY2VUZXN0aW5nKCkgY29uc3Qgb3Zl
cnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBmYWxzZTsgfQogCiAgICAg
Ly8gTk9URTogVGhpcyBzaG91bGQgb25seSBiZSBjYWxsZWQgYnkgdGhlIG92ZXJyaWRlbiBzZXRT
Y3JvbGxPZmZzZXQgZnJvbSBTY3JvbGxhYmxlQXJlYS4KICAgICB2b2lkIHNjcm9sbFRvKGludCBv
ZmZzZXQpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2Nr
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5jcHAKaW5kZXggMWE4
ZTVkMC4uOTZmYTllNDA3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyQmxvY2suY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAKQEAgLTIyODAsNyArMjI4MCw3IEBAIExheW91dFVuaXQgUmVuZGVyQmxvY2s6OnRleHRJbmRl
bnRPZmZzZXQoKSBjb25zdAogTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRPZmZz
ZXRGb3JDb250ZW50KFJlbmRlclJlZ2lvbiogcmVnaW9uKSBjb25zdAogewogICAgIExheW91dFVu
aXQgbG9naWNhbExlZnRPZmZzZXQgPSBzdHlsZSgpLmlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCkg
PyBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpIDogYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9w
KCk7Ci0gICAgaWYgKHN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCkpCiAgICAgICAgIGxvZ2ljYWxMZWZ0T2Zmc2V0ICs9IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgo
KTsKICAgICBpZiAoIXJlZ2lvbikKICAgICAgICAgcmV0dXJuIGxvZ2ljYWxMZWZ0T2Zmc2V0OwpA
QCAtMjI5MSw3ICsyMjkxLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6bG9naWNhbExlZnRP
ZmZzZXRGb3JDb250ZW50KFJlbmRlclJlZ2lvbiogcmVnaW9uKSBjb25zdAogTGF5b3V0VW5pdCBS
ZW5kZXJCbG9jazo6bG9naWNhbFJpZ2h0T2Zmc2V0Rm9yQ29udGVudChSZW5kZXJSZWdpb24qIHJl
Z2lvbikgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IGxvZ2ljYWxSaWdodE9mZnNldCA9IHN0eWxl
KCkuaXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKSA/IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0
KCkgOiBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKTsKLSAgICBpZiAoc3R5bGUoKS5zaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNl
QmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgbG9naWNhbFJpZ2h0T2Zm
c2V0ICs9IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsKICAgICBsb2dpY2FsUmlnaHRPZmZzZXQg
Kz0gYXZhaWxhYmxlTG9naWNhbFdpZHRoKCk7CiAgICAgaWYgKCFyZWdpb24pCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2tGbG93LmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCmluZGV4IDgyYjg4NmYuLjNhN2Yw
YTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cu
Y3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwCkBA
IC04MjgsNyArODI4LDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9ja0Zsb3c6Om1hcmdpbk9mZnNl
dEZvclNlbGZDb2xsYXBzaW5nQmxvY2soKQogdm9pZCBSZW5kZXJCbG9ja0Zsb3c6OmRldGVybWlu
ZUxvZ2ljYWxMZWZ0UG9zaXRpb25Gb3JDaGlsZChSZW5kZXJCb3gmIGNoaWxkLCBBcHBseUxheW91
dERlbHRhTW9kZSBhcHBseURlbHRhKQogewogICAgIExheW91dFVuaXQgc3RhcnRQb3NpdGlvbiA9
IGJvcmRlclN0YXJ0KCkgKyBwYWRkaW5nU3RhcnQoKTsKLSAgICBpZiAoc3R5bGUoKS5zaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNl
QmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgc3RhcnRQb3NpdGlvbiAr
PSAoc3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgPyAxIDogLTEpICogdmVydGljYWxT
Y3JvbGxiYXJXaWR0aCgpOwogICAgIExheW91dFVuaXQgdG90YWxBdmFpbGFibGVMb2dpY2FsV2lk
dGggPSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbFdpZHRoKCkgKyBhdmFpbGFibGVMb2dpY2FsV2lk
dGgoKTsKIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcAppbmRleCAwMzBkMGJj
Li5iNjgwNjYxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94
LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmNwcApAQCAtNjkz
LDcgKzY5Myw3IEBAIFJvdW5kZWRSZWN0OjpSYWRpaSBSZW5kZXJCb3g6OmJvcmRlclJhZGlpKCkg
Y29uc3QKIExheW91dFJlY3QgUmVuZGVyQm94Ojpjb250ZW50Qm94UmVjdCgpIGNvbnN0CiB7CiAg
ICAgTGF5b3V0VW5pdCB4ID0gYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKLSAgICBpZiAo
bGF5ZXIoKSAmJiBsYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkpCisgICAgaWYg
KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgeCAr
PSB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCB5ID0gYm9yZGVyVG9w
KCkgKyBwYWRkaW5nVG9wKCk7CiAgICAgcmV0dXJuIExheW91dFJlY3QoeCwgeSwgY29udGVudFdp
ZHRoKCksIGNvbnRlbnRIZWlnaHQoKSk7CkBAIC0xODI3LDcgKzE4MjcsNyBAQCBMYXlvdXRSZWN0
IFJlbmRlckJveDo6b3ZlcmZsb3dDbGlwUmVjdChjb25zdCBMYXlvdXRQb2ludCYgbG9jYXRpb24s
IFJlbmRlclJlZ2lvbgogCiAgICAgLy8gU3VidHJhY3Qgb3V0IHNjcm9sbGJhcnMgaWYgd2UgaGF2
ZSB0aGVtLgogICAgIGlmIChsYXllcigpKSB7Ci0gICAgICAgIGlmIChzdHlsZSgpLnNob3VsZFBs
YWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICAgICAgaWYgKHNob3VsZFBs
YWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgICAgIGNsaXBSZWN0
Lm1vdmUobGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJXaWR0aChyZWxldmFuY3kpLCAwKTsKICAg
ICAgICAgY2xpcFJlY3QuY29udHJhY3QobGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJXaWR0aChy
ZWxldmFuY3kpLCBsYXllcigpLT5ob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KHJlbGV2YW5jeSkp
OwogICAgIH0KQEAgLTM1MzQsNyArMzUzNCw3IEBAIHZvaWQgUmVuZGVyQm94Ojpjb21wdXRlUG9z
aXRpb25lZExvZ2ljYWxXaWR0aChMb2dpY2FsRXh0ZW50Q29tcHV0ZWRWYWx1ZXMmIGNvbXB1CiAg
ICAgY29tcHV0ZWRWYWx1ZXMubV9leHRlbnQgKz0gYm9yZGVyc1BsdXNQYWRkaW5nOwogICAgIGlm
IChpczxSZW5kZXJCb3g+KGNvbnRhaW5lckJsb2NrKSkgewogICAgICAgICBhdXRvJiBjb250YWlu
aW5nQm94ID0gZG93bmNhc3Q8UmVuZGVyQm94Pihjb250YWluZXJCbG9jayk7Ci0gICAgICAgIGlm
IChjb250YWluaW5nQm94LmxheWVyKCkgJiYgY29udGFpbmluZ0JveC5sYXllcigpLT52ZXJ0aWNh
bFNjcm9sbGJhcklzT25MZWZ0KCkpCisgICAgICAgIGlmIChjb250YWluaW5nQm94LnNob3VsZFBs
YWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKICAgICAgICAgICAgIGNvbXB1dGVk
VmFsdWVzLm1fcG9zaXRpb24gKz0gY29udGFpbmluZ0JveC52ZXJ0aWNhbFNjcm9sbGJhcldpZHRo
KCk7CiAgICAgfQogICAgIApAQCAtNDkwNyw3ICs0OTA3LDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJC
b3g6OmZsaXBwZWRDbGllbnRCb3hSZWN0KCkgY29uc3QKICAgICBmbGlwRm9yV3JpdGluZ01vZGUo
cmVjdCk7CiAgICAgLy8gU3VidHJhY3Qgc3BhY2Ugb2NjdXBpZWQgYnkgc2Nyb2xsYmFycy4gVGhl
eSBhcmUgYXQgdGhlaXIgcGh5c2ljYWwgZWRnZSBpbiB0aGlzIGNvb3JkaW5hdGUKICAgICAvLyBz
eXN0ZW0sIHNvIG9yZGVyIGlzIGltcG9ydGFudCBoZXJlOiBmaXJzdCBmbGlwLCB0aGVuIHN1YnRy
YWN0IHNjcm9sbGJhcnMuCi0gICAgaWYgKHN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlv
blNjcm9sbGJhck9uTGVmdCgpICYmIHN0eWxlKCkuaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpKQor
ICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgc3R5
bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCiAgICAgICAgIHJlY3QubW92ZSh2ZXJ0aWNh
bFNjcm9sbGJhcldpZHRoKCksIDApOwogICAgIHJlY3QuY29udHJhY3QodmVydGljYWxTY3JvbGxi
YXJXaWR0aCgpLCBob3Jpem9udGFsU2Nyb2xsYmFySGVpZ2h0KCkpOwogICAgIHJldHVybiByZWN0
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2Jq
ZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVjdC5j
cHAKaW5kZXggMDI5NWFhYi4uZGZiOTYyYyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwCkBAIC00NTIsNyArNDUyLDcgQEAgRmxvYXRS
ZWN0IFJlbmRlckJveE1vZGVsT2JqZWN0Ojpjb25zdHJhaW5pbmdSZWN0Rm9yU3RpY2t5UG9zaXRp
b24oKSBjb25zdAogICAgICAgICBGbG9hdFBvaW50IHNjcm9sbE9mZnNldCA9IEZsb2F0UG9pbnQo
KSArIGVuY2xvc2luZ0NsaXBwaW5nTGF5ZXItPnNjcm9sbE9mZnNldCgpOwogCiAgICAgICAgIGZs
b2F0IHNjcm9sbGJhck9mZnNldCA9IDA7Ci0gICAgICAgIGlmIChlbmNsb3NpbmdDbGlwcGluZ0Jv
eC5oYXNMYXllcigpICYmIGVuY2xvc2luZ0NsaXBwaW5nQm94LnN0eWxlKCkuc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgICAgICBpZiAoZW5jbG9zaW5nQ2xp
cHBpbmdCb3guaGFzTGF5ZXIoKSAmJiBlbmNsb3NpbmdDbGlwcGluZ0JveC5zaG91bGRQbGFjZUJs
b2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgICAgICBzY3JvbGxiYXJPZmZz
ZXQgPSBlbmNsb3NpbmdDbGlwcGluZ0JveC5sYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcldpZHRo
KElnbm9yZU92ZXJsYXlTY3JvbGxiYXJTaXplKTsKIAogICAgICAgICBjb25zdHJhaW5pbmdSZWN0
LnNldExvY2F0aW9uKEZsb2F0UG9pbnQoc2Nyb2xsT2Zmc2V0LngoKSArIHNjcm9sbGJhck9mZnNl
dCwgc2Nyb2xsT2Zmc2V0LnkoKSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ci5jcHAKaW5kZXggYTE3MjEwYi4uYzkyY2M0MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyTGF5ZXIuY3BwCkBAIC0yNjg5LDcgKzI2ODksNyBAQCB2b2lkIFJlbmRlckxheWVyOjpy
ZXNpemUoY29uc3QgUGxhdGZvcm1Nb3VzZUV2ZW50JiBldnQsIGNvbnN0IExheW91dFNpemUmIG9s
ZE9mZgogICAgIGVsZW1lbnQtPnNldE1pbmltdW1TaXplRm9yUmVzaXppbmcobWluaW11bVNpemUp
OwogICAgIAogICAgIExheW91dFNpemUgYWRqdXN0ZWRPbGRPZmZzZXQgPSBMYXlvdXRTaXplKG9s
ZE9mZnNldC53aWR0aCgpIC8gem9vbUZhY3Rvciwgb2xkT2Zmc2V0LmhlaWdodCgpIC8gem9vbUZh
Y3Rvcik7Ci0gICAgaWYgKHJlbmRlcmVyLT5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rp
b25TY3JvbGxiYXJPbkxlZnQoKSkgeworICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9u
U2Nyb2xsYmFyT25MZWZ0KCkpIHsKICAgICAgICAgbmV3T2Zmc2V0LnNldFdpZHRoKC1uZXdPZmZz
ZXQud2lkdGgoKSk7CiAgICAgICAgIGFkanVzdGVkT2xkT2Zmc2V0LnNldFdpZHRoKC1hZGp1c3Rl
ZE9sZE9mZnNldC53aWR0aCgpKTsKICAgICB9CkBAIC0yNzkxLDM0ICsyNzkxLDM0IEBAIGJvb2wg
UmVuZGVyTGF5ZXI6OmlzQWN0aXZlKCkgY29uc3QKICAgICByZXR1cm4gcGFnZSAmJiBwYWdlLT5m
b2N1c0NvbnRyb2xsZXIoKS5pc0FjdGl2ZSgpOwogfQogCi1zdGF0aWMgaW50IGNvcm5lclN0YXJ0
KGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgaW50IG1pblgsIGludCBtYXhYLCBpbnQgdGhpY2tu
ZXNzKQorc3RhdGljIGludCBjb3JuZXJTdGFydChjb25zdCBSZW5kZXJMYXllciYgbGF5ZXIsIGlu
dCBtaW5YLCBpbnQgbWF4WCwgaW50IHRoaWNrbmVzcykKIHsKLSAgICBpZiAobGF5ZXItPnJlbmRl
cmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkp
Ci0gICAgICAgIHJldHVybiBtaW5YICsgbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5ib3JkZXJM
ZWZ0V2lkdGgoKTsKLSAgICByZXR1cm4gbWF4WCAtIHRoaWNrbmVzcyAtIGxheWVyLT5yZW5kZXJl
cigpLnN0eWxlKCkuYm9yZGVyUmlnaHRXaWR0aCgpOworICAgIGlmIChsYXllci5zaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCisgICAgICAgIHJldHVybiBtaW5YICsg
bGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckxlZnRXaWR0aCgpOworICAgIHJldHVybiBt
YXhYIC0gdGhpY2tuZXNzIC0gbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlclJpZ2h0V2lk
dGgoKTsKIH0KIAotc3RhdGljIExheW91dFJlY3QgY29ybmVyUmVjdChjb25zdCBSZW5kZXJMYXll
ciogbGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIGJvdW5kcykKK3N0YXRpYyBMYXlvdXRSZWN0IGNv
cm5lclJlY3QoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVyLCBjb25zdCBMYXlvdXRSZWN0JiBib3Vu
ZHMpCiB7CiAgICAgaW50IGhvcml6b250YWxUaGlja25lc3M7CiAgICAgaW50IHZlcnRpY2FsVGhp
Y2tuZXNzOwotICAgIGlmICghbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCkgJiYgIWxheWVyLT5o
b3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKKyAgICBpZiAoIWxheWVyLnZlcnRpY2FsU2Nyb2xsYmFy
KCkgJiYgIWxheWVyLmhvcml6b250YWxTY3JvbGxiYXIoKSkgewogICAgICAgICAvLyBGSVhNRTog
VGhpcyBpc24ndCByaWdodC4gIFdlIG5lZWQgdG8ga25vdyB0aGUgdGhpY2tuZXNzIG9mIGN1c3Rv
bSBzY3JvbGxiYXJzCiAgICAgICAgIC8vIGV2ZW4gd2hlbiB0aGV5IGRvbid0IGV4aXN0IGluIG9y
ZGVyIHRvIHNldCB0aGUgcmVzaXplciBzcXVhcmUgc2l6ZSBwcm9wZXJseS4KICAgICAgICAgaG9y
aXpvbnRhbFRoaWNrbmVzcyA9IFNjcm9sbGJhclRoZW1lOjp0aGVtZSgpLnNjcm9sbGJhclRoaWNr
bmVzcygpOwogICAgICAgICB2ZXJ0aWNhbFRoaWNrbmVzcyA9IGhvcml6b250YWxUaGlja25lc3M7
Ci0gICAgfSBlbHNlIGlmIChsYXllci0+dmVydGljYWxTY3JvbGxiYXIoKSAmJiAhbGF5ZXItPmhv
cml6b250YWxTY3JvbGxiYXIoKSkgewotICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gbGF5
ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCktPndpZHRoKCk7CisgICAgfSBlbHNlIGlmIChsYXllci52
ZXJ0aWNhbFNjcm9sbGJhcigpICYmICFsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFyKCkpIHsKKyAg
ICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLnZlcnRpY2FsU2Nyb2xsYmFyKCktPndp
ZHRoKCk7CiAgICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gaG9yaXpvbnRhbFRoaWNrbmVzczsK
LSAgICB9IGVsc2UgaWYgKGxheWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgIWxheWVyLT52
ZXJ0aWNhbFNjcm9sbGJhcigpKSB7Ci0gICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gbGF5ZXIt
Pmhvcml6b250YWxTY3JvbGxiYXIoKS0+aGVpZ2h0KCk7CisgICAgfSBlbHNlIGlmIChsYXllci5o
b3Jpem9udGFsU2Nyb2xsYmFyKCkgJiYgIWxheWVyLnZlcnRpY2FsU2Nyb2xsYmFyKCkpIHsKKyAg
ICAgICAgdmVydGljYWxUaGlja25lc3MgPSBsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmhl
aWdodCgpOwogICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gdmVydGljYWxUaGlja25lc3M7
CiAgICAgfSBlbHNlIHsKLSAgICAgICAgaG9yaXpvbnRhbFRoaWNrbmVzcyA9IGxheWVyLT52ZXJ0
aWNhbFNjcm9sbGJhcigpLT53aWR0aCgpOwotICAgICAgICB2ZXJ0aWNhbFRoaWNrbmVzcyA9IGxh
eWVyLT5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmhlaWdodCgpOworICAgICAgICBob3Jpem9udGFs
VGhpY2tuZXNzID0gbGF5ZXIudmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgoKTsKKyAgICAgICAg
dmVydGljYWxUaGlja25lc3MgPSBsYXllci5ob3Jpem9udGFsU2Nyb2xsYmFyKCktPmhlaWdodCgp
OwogICAgIH0KICAgICByZXR1cm4gTGF5b3V0UmVjdChjb3JuZXJTdGFydChsYXllciwgYm91bmRz
LngoKSwgYm91bmRzLm1heFgoKSwgaG9yaXpvbnRhbFRoaWNrbmVzcyksCi0gICAgICAgIGJvdW5k
cy5tYXhZKCkgLSB2ZXJ0aWNhbFRoaWNrbmVzcyAtIGxheWVyLT5yZW5kZXJlcigpLnN0eWxlKCku
Ym9yZGVyQm90dG9tV2lkdGgoKSwKKyAgICAgICAgYm91bmRzLm1heFkoKSAtIHZlcnRpY2FsVGhp
Y2tuZXNzIC0gbGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckJvdHRvbVdpZHRoKCksCiAg
ICAgICAgIGhvcml6b250YWxUaGlja25lc3MsIHZlcnRpY2FsVGhpY2tuZXNzKTsKIH0KIApAQCAt
MjgzMywxNCArMjgzMywxNCBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjpzY3JvbGxDb3JuZXJSZWN0
KCkgY29uc3QKICAgICBib29sIGhhc1ZlcnRpY2FsQmFyID0gbV92QmFyICYmICFtX3ZCYXItPmlz
T3ZlcmxheVNjcm9sbGJhcigpOwogICAgIGJvb2wgaGFzUmVzaXplciA9IHJlbmRlcmVyKCkuc3R5
bGUoKS5yZXNpemUoKSAhPSBSRVNJWkVfTk9ORTsKICAgICBpZiAoKGhhc0hvcml6b250YWxCYXIg
JiYgaGFzVmVydGljYWxCYXIpIHx8IChoYXNSZXNpemVyICYmIChoYXNIb3Jpem9udGFsQmFyIHx8
IGhhc1ZlcnRpY2FsQmFyKSkpCi0gICAgICAgIHJldHVybiBzbmFwcGVkSW50UmVjdChjb3JuZXJS
ZWN0KHRoaXMsIHJlbmRlckJveCgpLT5ib3JkZXJCb3hSZWN0KCkpKTsKKyAgICAgICAgcmV0dXJu
IHNuYXBwZWRJbnRSZWN0KGNvcm5lclJlY3QoKnRoaXMsIHJlbmRlckJveCgpLT5ib3JkZXJCb3hS
ZWN0KCkpKTsKICAgICByZXR1cm4gSW50UmVjdCgpOwogfQogCi1zdGF0aWMgTGF5b3V0UmVjdCBy
ZXNpemVyQ29ybmVyUmVjdChjb25zdCBSZW5kZXJMYXllciogbGF5ZXIsIGNvbnN0IExheW91dFJl
Y3QmIGJvdW5kcykKK3N0YXRpYyBMYXlvdXRSZWN0IHJlc2l6ZXJDb3JuZXJSZWN0KGNvbnN0IFJl
bmRlckxheWVyJiBsYXllciwgY29uc3QgTGF5b3V0UmVjdCYgYm91bmRzKQogewotICAgIEFTU0VS
VChsYXllci0+cmVuZGVyZXIoKS5pc0JveCgpKTsKLSAgICBpZiAobGF5ZXItPnJlbmRlcmVyKCku
c3R5bGUoKS5yZXNpemUoKSA9PSBSRVNJWkVfTk9ORSkKKyAgICBBU1NFUlQobGF5ZXIucmVuZGVy
ZXIoKS5pc0JveCgpKTsKKyAgICBpZiAobGF5ZXIucmVuZGVyZXIoKS5zdHlsZSgpLnJlc2l6ZSgp
ID09IFJFU0laRV9OT05FKQogICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwogICAgIHJldHVy
biBjb3JuZXJSZWN0KGxheWVyLCBib3VuZHMpOwogfQpAQCAtMjg1Miw3ICsyODUyLDcgQEAgTGF5
b3V0UmVjdCBSZW5kZXJMYXllcjo6c2Nyb2xsQ29ybmVyQW5kUmVzaXplclJlY3QoKSBjb25zdAog
ICAgICAgICByZXR1cm4gTGF5b3V0UmVjdCgpOwogICAgIExheW91dFJlY3Qgc2Nyb2xsQ29ybmVy
QW5kUmVzaXplciA9IHNjcm9sbENvcm5lclJlY3QoKTsKICAgICBpZiAoc2Nyb2xsQ29ybmVyQW5k
UmVzaXplci5pc0VtcHR5KCkpCi0gICAgICAgIHNjcm9sbENvcm5lckFuZFJlc2l6ZXIgPSByZXNp
emVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSk7CisgICAgICAgIHNjcm9s
bENvcm5lckFuZFJlc2l6ZXIgPSByZXNpemVyQ29ybmVyUmVjdCgqdGhpcywgYm94LT5ib3JkZXJC
b3hSZWN0KCkpOwogICAgIHJldHVybiBzY3JvbGxDb3JuZXJBbmRSZXNpemVyOwogfQogCkBAIC0y
OTk2LDcgKzI5OTYsNyBAQCBJbnRSZWN0IFJlbmRlckxheWVyOjpyZWN0Rm9yVmVydGljYWxTY3Jv
bGxiYXIoY29uc3QgSW50UmVjdCYgYm9yZGVyQm94UmVjdCkgY29ucwogTGF5b3V0VW5pdCBSZW5k
ZXJMYXllcjo6dmVydGljYWxTY3JvbGxiYXJTdGFydChpbnQgbWluWCwgaW50IG1heFgpIGNvbnN0
CiB7CiAgICAgY29uc3QgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKLSAgICBpZiAocmVu
ZGVyZXIoKS5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQog
ICAgICAgICByZXR1cm4gbWluWCArIGJveC0+Ym9yZGVyTGVmdCgpOwogICAgIHJldHVybiBtYXhY
IC0gYm94LT5ib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgpOwogfQpAQCAtMzAwNSw4ICsz
MDA1LDggQEAgTGF5b3V0VW5pdCBSZW5kZXJMYXllcjo6aG9yaXpvbnRhbFNjcm9sbGJhclN0YXJ0
KGludCBtaW5YKSBjb25zdAogewogICAgIGNvbnN0IFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94
KCk7CiAgICAgaW50IHggPSBtaW5YICsgYm94LT5ib3JkZXJMZWZ0KCk7Ci0gICAgaWYgKHJlbmRl
cmVyKCkuc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkp
Ci0gICAgICAgIHggKz0gbV92QmFyID8gbV92QmFyLT53aWR0aCgpIDogcm91bmRUb0ludChyZXNp
emVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSkud2lkdGgoKSk7CisgICAg
aWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICAgICAg
eCArPSBtX3ZCYXIgPyBtX3ZCYXItPndpZHRoKCkgOiByb3VuZFRvSW50KHJlc2l6ZXJDb3JuZXJS
ZWN0KCp0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSkud2lkdGgoKSk7CiAgICAgcmV0dXJuIHg7
CiB9CiAKQEAgLTMyNzAsNyArMzI3MCw3IEBAIEludFNpemUgUmVuZGVyTGF5ZXI6Om9mZnNldEZy
b21SZXNpemVDb3JuZXIoY29uc3QgSW50UG9pbnQmIGFic29sdXRlUG9pbnQpIGNvbnN0CiAgICAg
Ly8gQ3VycmVudGx5IHRoZSByZXNpemUgY29ybmVyIGlzIGVpdGhlciB0aGUgYm90dG9tIHJpZ2h0
IGNvcm5lciBvciB0aGUgYm90dG9tIGxlZnQgY29ybmVyLgogICAgIC8vIEZJWE1FOiBUaGlzIGFz
c3VtZXMgdGhlIGxvY2F0aW9uIGlzIDAsIDAuIElzIHRoaXMgZ3VhcmFudGVlZCB0byBhbHdheXMg
YmUgdGhlIGNhc2U/CiAgICAgSW50U2l6ZSBlbGVtZW50U2l6ZSA9IHNpemUoKTsKLSAgICBpZiAo
cmVuZGVyZXIoKS5zdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxl
ZnQoKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
KQogICAgICAgICBlbGVtZW50U2l6ZS5zZXRXaWR0aCgwKTsKICAgICBJbnRQb2ludCByZXNpemVy
UG9pbnQgPSBJbnRQb2ludChlbGVtZW50U2l6ZSk7CiAgICAgSW50UG9pbnQgbG9jYWxQb2ludCA9
IHJvdW5kZWRJbnRQb2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQb2ludCkpOwpAQCAt
MzMwOSw3ICszMzA5LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cG9zaXRpb25PdmVyZmxvd0NvbnRy
b2xzKGNvbnN0IEludFNpemUmIG9mZnNldEZyb21Sb290KQogICAgIGlmIChtX3Njcm9sbENvcm5l
cikKICAgICAgICAgbV9zY3JvbGxDb3JuZXItPnNldEZyYW1lUmVjdChzY3JvbGxDb3JuZXIpOwog
ICAgIGlmIChtX3Jlc2l6ZXIpCi0gICAgICAgIG1fcmVzaXplci0+c2V0RnJhbWVSZWN0KHJlc2l6
ZXJDb3JuZXJSZWN0KHRoaXMsIGJvcmRlckJveCkpOworICAgICAgICBtX3Jlc2l6ZXItPnNldEZy
YW1lUmVjdChyZXNpemVyQ29ybmVyUmVjdCgqdGhpcywgYm9yZGVyQm94KSk7CiAKICAgICBpZiAo
aXNDb21wb3NpdGVkKCkpCiAgICAgICAgIGJhY2tpbmcoKS0+cG9zaXRpb25PdmVyZmxvd0NvbnRy
b2xzTGF5ZXJzKCk7CkBAIC0zMzc2LDcgKzMzNzYsNyBAQCB2b2lkIFJlbmRlckxheWVyOjpjb21w
dXRlU2Nyb2xsRGltZW5zaW9ucygpCiAgICAgbV9zY3JvbGxTaXplLnNldEhlaWdodChvdmVyZmxv
d0JvdHRvbSgpIC0gb3ZlcmZsb3dUb3AoKSk7CiAKICAgICBpbnQgc2Nyb2xsYWJsZUxlZnRPdmVy
ZmxvdyA9IG92ZXJmbG93TGVmdCgpIC0gYm94LT5ib3JkZXJMZWZ0KCk7Ci0gICAgaWYgKGJveC0+
c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYgYm94LT5zdHlsZSgpLnNob3VsZFBs
YWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBtX3ZCYXIpCisgICAgaWYgKGJv
eC0+c3R5bGUoKS5pc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYgYm94LT5zaG91bGRQbGFjZUJs
b2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgbV92QmFyKQogICAgICAgICBzY3JvbGxh
YmxlTGVmdE92ZXJmbG93IC09IG1fdkJhci0+b2NjdXBpZWRXaWR0aCgpOwogICAgIGludCBzY3Jv
bGxhYmxlVG9wT3ZlcmZsb3cgPSBvdmVyZmxvd1RvcCgpIC0gYm94LT5ib3JkZXJUb3AoKTsKICAg
ICBzZXRTY3JvbGxPcmlnaW4oSW50UG9pbnQoLXNjcm9sbGFibGVMZWZ0T3ZlcmZsb3csIC1zY3Jv
bGxhYmxlVG9wT3ZlcmZsb3cpKTsKQEAgLTM1NTEsNyArMzU1MSw3IEBAIGJvb2wgUmVuZGVyTGF5
ZXI6Om92ZXJmbG93Q29udHJvbHNJbnRlcnNlY3RSZWN0KGNvbnN0IEludFJlY3QmIGxvY2FsUmVj
dCkgY29uc3QKICAgICBpZiAoc2Nyb2xsQ29ybmVyUmVjdCgpLmludGVyc2VjdHMobG9jYWxSZWN0
KSkKICAgICAgICAgcmV0dXJuIHRydWU7CiAgICAgCi0gICAgaWYgKHJlc2l6ZXJDb3JuZXJSZWN0
KHRoaXMsIGJvcmRlckJveCkuaW50ZXJzZWN0cyhsb2NhbFJlY3QpKQorICAgIGlmIChyZXNpemVy
Q29ybmVyUmVjdCgqdGhpcywgYm9yZGVyQm94KS5pbnRlcnNlY3RzKGxvY2FsUmVjdCkpCiAgICAg
ICAgIHJldHVybiB0cnVlOwogCiAgICAgcmV0dXJuIGZhbHNlOwpAQCAtMzY3MCw3ICszNjcwLDcg
QEAgdm9pZCBSZW5kZXJMYXllcjo6ZHJhd1BsYXRmb3JtUmVzaXplckltYWdlKEdyYXBoaWNzQ29u
dGV4dCYgY29udGV4dCwgY29uc3QgTGF5b3UKICAgICAgICAgY29ybmVyUmVzaXplclNpemUgPSBy
ZXNpemVDb3JuZXJJbWFnZS0+c2l6ZSgpOwogICAgIH0KIAotICAgIGlmIChyZW5kZXJlcigpLnN0
eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKSB7CisgICAg
aWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkgewogICAgICAg
ICBjb250ZXh0LnNhdmUoKTsKICAgICAgICAgY29udGV4dC50cmFuc2xhdGUocmVzaXplckNvcm5l
clJlY3QueCgpICsgY29ybmVyUmVzaXplclNpemUud2lkdGgoKSwgcmVzaXplckNvcm5lclJlY3Qu
eSgpICsgcmVzaXplckNvcm5lclJlY3QuaGVpZ2h0KCkgLSBjb3JuZXJSZXNpemVyU2l6ZS5oZWln
aHQoKSk7CiAgICAgICAgIGNvbnRleHQuc2NhbGUoRmxvYXRTaXplKC0xLjAsIDEuMCkpOwpAQCAt
MzY5NCw3ICszNjk0LDcgQEAgdm9pZCBSZW5kZXJMYXllcjo6cGFpbnRSZXNpemVyKEdyYXBoaWNz
Q29udGV4dCYgY29udGV4dCwgY29uc3QgTGF5b3V0UG9pbnQmIHBhaW4KICAgICBSZW5kZXJCb3gq
IGJveCA9IHJlbmRlckJveCgpOwogICAgIEFTU0VSVChib3gpOwogCi0gICAgTGF5b3V0UmVjdCBh
YnNSZWN0ID0gcmVzaXplckNvcm5lclJlY3QodGhpcywgYm94LT5ib3JkZXJCb3hSZWN0KCkpOwor
ICAgIExheW91dFJlY3QgYWJzUmVjdCA9IHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBib3gtPmJv
cmRlckJveFJlY3QoKSk7CiAgICAgYWJzUmVjdC5tb3ZlQnkocGFpbnRPZmZzZXQpOwogICAgIGlm
ICghYWJzUmVjdC5pbnRlcnNlY3RzKGRhbWFnZVJlY3QpKQogICAgICAgICByZXR1cm47CkBAIC0z
NzM2LDcgKzM3MzYsNyBAQCBib29sIFJlbmRlckxheWVyOjppc1BvaW50SW5SZXNpemVDb250cm9s
KGNvbnN0IEludFBvaW50JiBhYnNvbHV0ZVBvaW50KSBjb25zdAogICAgIEludFBvaW50IGxvY2Fs
UG9pbnQgPSByb3VuZGVkSW50UG9pbnQoYWJzb2x1dGVUb0NvbnRlbnRzKGFic29sdXRlUG9pbnQp
KTsKIAogICAgIEludFJlY3QgbG9jYWxCb3VuZHMoSW50UG9pbnQoKSwgc25hcHBlZEludFJlY3Qo
Ym94LT5mcmFtZVJlY3QoKSkuc2l6ZSgpKTsKLSAgICByZXR1cm4gcmVzaXplckNvcm5lclJlY3Qo
dGhpcywgbG9jYWxCb3VuZHMpLmNvbnRhaW5zKGxvY2FsUG9pbnQpOworICAgIHJldHVybiByZXNp
emVyQ29ybmVyUmVjdCgqdGhpcywgbG9jYWxCb3VuZHMpLmNvbnRhaW5zKGxvY2FsUG9pbnQpOwog
fQogCiBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0T3ZlcmZsb3dDb250cm9scyhIaXRUZXN0UmVz
dWx0JiByZXN1bHQsIGNvbnN0IEludFBvaW50JiBsb2NhbFBvaW50KQpAQCAtMzc0OSw3ICszNzQ5
LDcgQEAgYm9vbCBSZW5kZXJMYXllcjo6aGl0VGVzdE92ZXJmbG93Q29udHJvbHMoSGl0VGVzdFJl
c3VsdCYgcmVzdWx0LCBjb25zdCBJbnRQb2ludCYKICAgICAKICAgICBJbnRSZWN0IHJlc2l6ZUNv
bnRyb2xSZWN0OwogICAgIGlmIChyZW5kZXJlcigpLnN0eWxlKCkucmVzaXplKCkgIT0gUkVTSVpF
X05PTkUpIHsKLSAgICAgICAgcmVzaXplQ29udHJvbFJlY3QgPSBzbmFwcGVkSW50UmVjdChyZXNp
emVyQ29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSkpOworICAgICAgICByZXNp
emVDb250cm9sUmVjdCA9IHNuYXBwZWRJbnRSZWN0KHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBi
b3gtPmJvcmRlckJveFJlY3QoKSkpOwogICAgICAgICBpZiAocmVzaXplQ29udHJvbFJlY3QuY29u
dGFpbnMobG9jYWxQb2ludCkpCiAgICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CkBAIC01
MjI4LDcgKzUyMjgsNyBAQCBib29sIFJlbmRlckxheWVyOjpoaXRUZXN0UmVzaXplckluRnJhZ21l
bnRzKGNvbnN0IExheWVyRnJhZ21lbnRzJiBsYXllckZyYWdtZW50cwogCiAgICAgZm9yIChpbnQg
aSA9IGxheWVyRnJhZ21lbnRzLnNpemUoKSAtIDE7IGkgPj0gMDsgLS1pKSB7CiAgICAgICAgIGNv
bnN0IExheWVyRnJhZ21lbnQmIGZyYWdtZW50ID0gbGF5ZXJGcmFnbWVudHMuYXQoaSk7Ci0gICAg
ICAgIGlmIChmcmFnbWVudC5iYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3RzKGhpdFRlc3RMb2NhdGlv
bikgJiYgcmVzaXplckNvcm5lclJlY3QodGhpcywgc25hcHBlZEludFJlY3QoZnJhZ21lbnQubGF5
ZXJCb3VuZHMpKS5jb250YWlucyhoaXRUZXN0TG9jYXRpb24ucm91bmRlZFBvaW50KCkpKQorICAg
ICAgICBpZiAoZnJhZ21lbnQuYmFja2dyb3VuZFJlY3QuaW50ZXJzZWN0cyhoaXRUZXN0TG9jYXRp
b24pICYmIHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBzbmFwcGVkSW50UmVjdChmcmFnbWVudC5s
YXllckJvdW5kcykpLmNvbnRhaW5zKGhpdFRlc3RMb2NhdGlvbi5yb3VuZGVkUG9pbnQoKSkpCiAg
ICAgICAgICAgICByZXR1cm4gdHJ1ZTsKICAgICB9CiAgICAgCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5oCmluZGV4IDEzMzk2YmQuLmFlMjJjNTYgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9SZW5kZXJMYXllci5oCkBAIC02NzEsNiArNjcxLDggQEAgcHVibGljOgogCiAgICAg
UmVuZGVyTGF5ZXIqIGVuY2xvc2luZ0Zsb3dUaHJlYWRBbmNlc3RvcigpIGNvbnN0OwogCisgICAg
Ym9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gcmVuZGVyZXIoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFy
T25MZWZ0KCk7IH0KKwogcHJpdmF0ZToKICAgICBlbnVtIENvbGxlY3RMYXllcnNCZWhhdmlvciB7
IFN0b3BBdFN0YWNraW5nQ29udGV4dHMsIFN0b3BBdFN0YWNraW5nQ29udGFpbmVycyB9OwogCkBA
IC05OTcsNyArOTk5LDYgQEAgcHJpdmF0ZToKIAogICAgIFJlbmRlck5hbWVkRmxvd0ZyYWdtZW50
KiBjdXJyZW50UmVuZGVyTmFtZWRGbG93RnJhZ21lbnQoKSBjb25zdDsKIAotcHJpdmF0ZToKICAg
ICAvLyBUaGUgYml0ZmllbGRzIGFyZSB1cCBoZXJlIHNvIHRoZXkgd2lsbCBmYWxsIGludG8gdGhl
IHBhZGRpbmcgZnJvbSBTY3JvbGxhYmxlQXJlYSBvbiA2NC1iaXQuCiAKICAgICBjb25zdCBib29s
IG1faXNSb290TGF5ZXIgOiAxOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAppbmRleCBhYTA3MjAyLi5jMTliYjJmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJDb21wb3NpdG9yLmNwcApAQCAt
MTc2Myw3ICsxNzYzLDcgQEAgRmxvYXRQb2ludCBSZW5kZXJMYXllckNvbXBvc2l0b3I6OnBvc2l0
aW9uRm9yQ2xpcExheWVyKCkgY29uc3QKICAgICBGcmFtZVZpZXcmIGZyYW1lVmlldyA9IG1fcmVu
ZGVyVmlldy5mcmFtZVZpZXcoKTsKIAogICAgIHJldHVybiBGbG9hdFBvaW50KAotICAgICAgICBm
cmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gZnJhbWVWaWV3Lmhvcml6b250
YWxTY3JvbGxiYXJJbnRydXNpb24oKSA6IDAsCisgICAgICAgIGZyYW1lVmlldy5zaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBmcmFtZVZpZXcuaG9yaXpvbnRhbFNj
cm9sbGJhckludHJ1c2lvbigpIDogMCwKICAgICAgICAgRnJhbWVWaWV3Ojp5UG9zaXRpb25Gb3JJ
bnNldENsaXBMYXllcihmcmFtZVZpZXcuc2Nyb2xsUG9zaXRpb24oKSwgZnJhbWVWaWV3LnRvcENv
bnRlbnRJbnNldCgpKSk7CiB9CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9S
ZW5kZXJMYXllck1vZGVsT2JqZWN0LmNwcAppbmRleCBiZDllNjViLi4zMTMxODcwIDEwMDY0NAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5jcHAK
KysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3Bw
CkBAIC0yOCw2ICsyOCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJS
ZW5kZXJMYXllckNvbXBvc2l0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJWaWV3LmgiCisjaW5jbHVk
ZSAiU2V0dGluZ3MuaCIKIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCkBAIC0yMTIsNSArMjEzLDIw
IEBAIHZvaWQgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdDo6c3R5bGVEaWRDaGFuZ2UoU3R5bGVEaWZm
ZXJlbmNlIGRpZmYsIGNvbnN0IFJlbmRlclN0CiAjZW5kaWYKIH0KIAorYm9vbCBSZW5kZXJMYXll
ck1vZGVsT2JqZWN0OjpzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkg
Y29uc3QKK3sKKy8vIFJUTCBTY3JvbGxiYXJzIHJlcXVpcmUgc29tZSBzeXN0ZW0gc3VwcG9ydCwg
YW5kIHRoaXMgc3lzdGVtIHN1cHBvcnQgZG9lcyBub3QgZXhpc3Qgb24gY2VydGFpbiB2ZXJzaW9u
cyBvZiBPUyBYLiBpT1MgdXNlcyBhIHNlcGFyYXRlIG1lY2hhbmlzbS4KKyNpZiBQTEFURk9STShJ
T1MpIHx8IChQTEFURk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQg
PCAxMDEyMDApCisgICAgcmV0dXJuIGZhbHNlOworI2Vsc2UKKyAgICBzd2l0Y2ggKGZyYW1lKCku
c2V0dGluZ3MoKS52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCkpIHsKKyAgICBjYXNl
IFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OkNvbnRlbnQ6CisgICAgICAgIHJldHVy
biBzdHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsKKyAg
ICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OlZpZXc6CisgICAgICAgIHJl
dHVybiBmcmFtZSgpLnNldHRpbmdzKCkuc3lzdGVtTGF5b3V0RGlyZWN0aW9uKCkgPT0gUlRMOwor
ICAgIH0KKyNlbmRpZgorfQorCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCiAKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmggYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCmluZGV4IDY3ZWJj
NzIuLjdmMGE5YmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
YXllck1vZGVsT2JqZWN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxh
eWVyTW9kZWxPYmplY3QuaApAQCAtNTEsNiArNTEsOCBAQCBwdWJsaWM6CiAKICAgICB2aXJ0dWFs
IGJvb2wgaXNTY3JvbGxhYmxlT3JSdWJiZXJiYW5kYWJsZUJveCgpIGNvbnN0IHsgcmV0dXJuIGZh
bHNlOyB9CiAKKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxl
ZnQoKSBjb25zdDsKKwogcHJvdGVjdGVkOgogICAgIFJlbmRlckxheWVyTW9kZWxPYmplY3QoRWxl
bWVudCYsIFJlbmRlclN0eWxlJiYsIEJhc2VUeXBlRmxhZ3MpOwogICAgIFJlbmRlckxheWVyTW9k
ZWxPYmplY3QoRG9jdW1lbnQmLCBSZW5kZXJTdHlsZSYmLCBCYXNlVHlwZUZsYWdzKTsKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAppbmRleCA4ODI1NzczLi41YmIy
ZmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC0y
NjYsNyArMjY2LDcgQEAgaW50IFJlbmRlckxpc3RCb3g6OmJhc2VsaW5lUG9zaXRpb24oRm9udEJh
c2VsaW5lIGJhc2VsaW5lVHlwZSwgYm9vbCBmaXJzdExpbmUsIEwKIExheW91dFJlY3QgUmVuZGVy
TGlzdEJveDo6aXRlbUJvdW5kaW5nQm94UmVjdChjb25zdCBMYXlvdXRQb2ludCYgYWRkaXRpb25h
bE9mZnNldCwgaW50IGluZGV4KQogewogICAgIExheW91dFVuaXQgeCA9IGFkZGl0aW9uYWxPZmZz
ZXQueCgpICsgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKTsKLSAgICBpZiAodmVydGljYWxT
Y3JvbGxiYXJJc09uTGVmdCgpICYmIG1fdkJhcikKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIG1fdkJhcikKICAgICAgICAgeCArPSBtX3ZCYXIt
Pm9jY3VwaWVkV2lkdGgoKTsKICAgICBMYXlvdXRVbml0IHkgPSBhZGRpdGlvbmFsT2Zmc2V0Lnko
KSArIGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpICsgaXRlbUhlaWdodCgpICogKGluZGV4IC0g
bV9pbmRleE9mZnNldCk7CiAgICAgcmV0dXJuIExheW91dFJlY3QoeCwgeSwgY29udGVudFdpZHRo
KCksIGl0ZW1IZWlnaHQoKSk7CkBAIC0zNDUsNyArMzQ1LDcgQEAgdm9pZCBSZW5kZXJMaXN0Qm94
OjpwYWludFNjcm9sbGJhcihQYWludEluZm8mIHBhaW50SW5mbywgY29uc3QgTGF5b3V0UG9pbnQm
IHBhaW4KICAgICBpZiAoIW1fdkJhcikKICAgICAgICAgcmV0dXJuOwogCi0gICAgTGF5b3V0VW5p
dCBsZWZ0ID0gcGFpbnRPZmZzZXQueCgpICsgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/
IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92QmFyLT53aWR0aCgp
KTsKKyAgICBMYXlvdXRVbml0IGxlZnQgPSBwYWludE9mZnNldC54KCkgKyAoc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAt
IGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkpOwogICAgIExheW91dFVuaXQgdG9wID0g
cGFpbnRPZmZzZXQueSgpICsgYm9yZGVyVG9wKCk7CiAgICAgTGF5b3V0VW5pdCB3aWR0aCA9IG1f
dkJhci0+d2lkdGgoKTsKICAgICBMYXlvdXRVbml0IGhlaWdodCA9IHRoaXMtPmhlaWdodCgpIC0g
KGJvcmRlclRvcCgpICsgYm9yZGVyQm90dG9tKCkpOwpAQCAtNDQ4LDcgKzQ0OCw3IEBAIGJvb2wg
UmVuZGVyTGlzdEJveDo6aXNQb2ludEluT3ZlcmZsb3dDb250cm9sKEhpdFRlc3RSZXN1bHQmIHJl
c3VsdCwgY29uc3QgTGF5b3V0CiAgICAgaWYgKCFtX3ZCYXIgfHwgIW1fdkJhci0+c2hvdWxkUGFy
dGljaXBhdGVJbkhpdFRlc3RpbmcoKSkKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCi0gICAgTGF5
b3V0VW5pdCB4ID0gYWNjdW11bGF0ZWRPZmZzZXQueCgpICsgKHZlcnRpY2FsU2Nyb2xsYmFySXNP
bkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gbV92QmFy
LT53aWR0aCgpKTsKKyAgICBMYXlvdXRVbml0IHggPSBhY2N1bXVsYXRlZE9mZnNldC54KCkgKyAo
c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgp
IDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkpOwogICAgIExheW91
dFVuaXQgeSA9IGFjY3VtdWxhdGVkT2Zmc2V0LnkoKSArIGJvcmRlclRvcCgpOwogICAgIExheW91
dFVuaXQgd2lkdGggPSBtX3ZCYXItPndpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCBoZWlnaHQgPSB0
aGlzLT5oZWlnaHQoKSAtIGJvcmRlclRvcCgpIC0gYm9yZGVyQm90dG9tKCk7CkBAIC00NzAsOSAr
NDcwLDkgQEAgaW50IFJlbmRlckxpc3RCb3g6Omxpc3RJbmRleEF0T2Zmc2V0KGNvbnN0IExheW91
dFNpemUmIG9mZnNldCkKICAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgaW50IHNjcm9sbGJhcldp
ZHRoID0gbV92QmFyID8gbV92QmFyLT53aWR0aCgpIDogMDsKLSAgICBpZiAodmVydGljYWxTY3Jv
bGxiYXJJc09uTGVmdCgpICYmIChvZmZzZXQud2lkdGgoKSA8IGJvcmRlckxlZnQoKSArIHBhZGRp
bmdMZWZ0KCkgKyBzY3JvbGxiYXJXaWR0aCB8fCBvZmZzZXQud2lkdGgoKSA+IHdpZHRoKCkgLSBi
b3JkZXJSaWdodCgpIC0gcGFkZGluZ1JpZ2h0KCkpKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2Nr
RGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgKG9mZnNldC53aWR0aCgpIDwgYm9yZGVyTGVm
dCgpICsgcGFkZGluZ0xlZnQoKSArIHNjcm9sbGJhcldpZHRoIHx8IG9mZnNldC53aWR0aCgpID4g
d2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5nUmlnaHQoKSkpCiAgICAgICAgIHJldHVy
biAtMTsKLSAgICBpZiAoIXZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiAob2Zmc2V0Lndp
ZHRoKCkgPCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpIHx8IG9mZnNldC53aWR0aCgpID4g
d2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5nUmlnaHQoKSAtIHNjcm9sbGJhcldpZHRo
KSkKKyAgICBpZiAoIXNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAm
JiAob2Zmc2V0LndpZHRoKCkgPCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpIHx8IG9mZnNl
dC53aWR0aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5nUmlnaHQoKSAtIHNj
cm9sbGJhcldpZHRoKSkKICAgICAgICAgcmV0dXJuIC0xOwogCiAgICAgaW50IG5ld09mZnNldCA9
IChvZmZzZXQuaGVpZ2h0KCkgLSBib3JkZXJUb3AoKSAtIHBhZGRpbmdUb3AoKSkgLyBpdGVtSGVp
Z2h0KCkgKyBtX2luZGV4T2Zmc2V0OwpAQCAtNzI5LDcgKzcyOSw3IEBAIExheW91dFJlY3QgUmVu
ZGVyTGlzdEJveDo6Y29udHJvbENsaXBSZWN0KGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFs
T2Zmc2V0KSBjCiAgICAgLy8gQ2xpcCBhZ2FpbnN0IHRoZSBwYWRkaW5nIGJveCwgdG8gZ2l2ZSA8
b3B0aW9uPnMgYW5kIG92ZXJsYXkgc2Nyb2xsYmFyIHNvbWUgZXh0cmEgc3BhY2UKICAgICAvLyB0
byBnZXQgcGFpbnRlZC4KICAgICBMYXlvdXRSZWN0IGNsaXBSZWN0ID0gcGFkZGluZ0JveFJlY3Qo
KTsKLSAgICBpZiAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYmICghbGF5ZXIoKSB8fCAh
bGF5ZXIoKS0+dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpKSkKKyAgICBpZiAoc2hvdWxkUGxh
Y2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQogICAgICAgICBjbGlwUmVjdC5tb3Zl
KG1fdkJhci0+b2NjdXBpZWRXaWR0aCgpLCAwKTsKICAgICBjbGlwUmVjdC5tb3ZlQnkoYWRkaXRp
b25hbE9mZnNldCk7CiAgICAgcmV0dXJuIGNsaXBSZWN0OwpAQCAtNzQ0LDE0ICs3NDQsMTQgQEAg
Ym9vbCBSZW5kZXJMaXN0Qm94Ojppc0FjdGl2ZSgpIGNvbnN0CiB2b2lkIFJlbmRlckxpc3RCb3g6
OmludmFsaWRhdGVTY3JvbGxiYXJSZWN0KFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBJbnRS
ZWN0JiByZWN0KQogewogICAgIEludFJlY3Qgc2Nyb2xsUmVjdCA9IHJlY3Q7Ci0gICAgc2Nyb2xs
UmVjdC5tb3ZlKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdp
ZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCksIGJvcmRlclRvcCgpKTsK
KyAgICBzY3JvbGxSZWN0Lm1vdmUoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxi
YXIud2lkdGgoKSwgYm9yZGVyVG9wKCkpOwogICAgIHJlcGFpbnRSZWN0YW5nbGUoc2Nyb2xsUmVj
dCk7CiB9CiAKIEludFJlY3QgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21TY3JvbGxiYXJUb0Nv
bnRhaW5pbmdWaWV3KGNvbnN0IFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBJbnRSZWN0JiBz
Y3JvbGxiYXJSZWN0KSBjb25zdAogewogICAgIEludFJlY3QgcmVjdCA9IHNjcm9sbGJhclJlY3Q7
Ci0gICAgaW50IHNjcm9sbGJhckxlZnQgPSB2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBi
b3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgp
OworICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9s
bGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBz
Y3JvbGxiYXIud2lkdGgoKTsKICAgICBpbnQgc2Nyb2xsYmFyVG9wID0gYm9yZGVyVG9wKCk7CiAg
ICAgcmVjdC5tb3ZlKHNjcm9sbGJhckxlZnQsIHNjcm9sbGJhclRvcCk7CiAgICAgcmV0dXJuIHZp
ZXcoKS5mcmFtZVZpZXcoKS5jb252ZXJ0RnJvbVJlbmRlcmVyVG9Db250YWluaW5nVmlldyh0aGlz
LCByZWN0KTsKQEAgLTc2MCw3ICs3NjAsNyBAQCBJbnRSZWN0IFJlbmRlckxpc3RCb3g6OmNvbnZl
cnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyhjb25zdCBTY3JvbGxiYXImIHNjcgogSW50
UmVjdCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIo
Y29uc3QgU2Nyb2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHBhcmVudFJlY3QpIGNv
bnN0CiB7CiAgICAgSW50UmVjdCByZWN0ID0gdmlldygpLmZyYW1lVmlldygpLmNvbnZlcnRGcm9t
Q29udGFpbmluZ1ZpZXdUb1JlbmRlcmVyKHRoaXMsIHBhcmVudFJlY3QpOwotICAgIGludCBzY3Jv
bGxiYXJMZWZ0ID0gdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDog
d2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKKyAgICBpbnQgc2Ny
b2xsYmFyTGVmdCA9IHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/
IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRo
KCk7CiAgICAgaW50IHNjcm9sbGJhclRvcCA9IGJvcmRlclRvcCgpOwogICAgIHJlY3QubW92ZSgt
c2Nyb2xsYmFyTGVmdCwgLXNjcm9sbGJhclRvcCk7CiAgICAgcmV0dXJuIHJlY3Q7CkBAIC03Njks
NyArNzY5LDcgQEAgSW50UmVjdCBSZW5kZXJMaXN0Qm94Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdW
aWV3VG9TY3JvbGxiYXIoY29uc3QgU2Nyb2xsYmFyJiBzY3IKIEludFBvaW50IFJlbmRlckxpc3RC
b3g6OmNvbnZlcnRGcm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyhjb25zdCBTY3JvbGxiYXIm
IHNjcm9sbGJhciwgY29uc3QgSW50UG9pbnQmIHNjcm9sbGJhclBvaW50KSBjb25zdAogewogICAg
IEludFBvaW50IHBvaW50ID0gc2Nyb2xsYmFyUG9pbnQ7Ci0gICAgaW50IHNjcm9sbGJhckxlZnQg
PSB2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0g
Ym9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOworICAgIGludCBzY3JvbGxiYXJMZWZ0
ID0gc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVm
dCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKICAgICBp
bnQgc2Nyb2xsYmFyVG9wID0gYm9yZGVyVG9wKCk7CiAgICAgcG9pbnQubW92ZShzY3JvbGxiYXJM
ZWZ0LCBzY3JvbGxiYXJUb3ApOwogICAgIHJldHVybiB2aWV3KCkuZnJhbWVWaWV3KCkuY29udmVy
dEZyb21SZW5kZXJlclRvQ29udGFpbmluZ1ZpZXcodGhpcywgcG9pbnQpOwpAQCAtNzc4LDcgKzc3
OCw3IEBAIEludFBvaW50IFJlbmRlckxpc3RCb3g6OmNvbnZlcnRGcm9tU2Nyb2xsYmFyVG9Db250
YWluaW5nVmlldyhjb25zdCBTY3JvbGxiYXImIHNjCiBJbnRQb2ludCBSZW5kZXJMaXN0Qm94Ojpj
b252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIoY29uc3QgU2Nyb2xsYmFyJiBzY3Jv
bGxiYXIsIGNvbnN0IEludFBvaW50JiBwYXJlbnRQb2ludCkgY29uc3QKIHsKICAgICBJbnRQb2lu
dCBwb2ludCA9IHZpZXcoKS5mcmFtZVZpZXcoKS5jb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9S
ZW5kZXJlcih0aGlzLCBwYXJlbnRQb2ludCk7Ci0gICAgaW50IHNjcm9sbGJhckxlZnQgPSB2ZXJ0
aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVy
UmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOworICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gc2hv
dWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDog
d2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKICAgICBpbnQgc2Ny
b2xsYmFyVG9wID0gYm9yZGVyVG9wKCk7CiAgICAgcG9pbnQubW92ZSgtc2Nyb2xsYmFyTGVmdCwg
LXNjcm9sbGJhclRvcCk7CiAgICAgcmV0dXJuIHBvaW50OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMaXN0Qm94LmgKaW5kZXggOWRhYThkNi4uZWM3NjdmMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5oCkBAIC0xNTYsNiArMTU2LDggQEAgcHJpdmF0ZToK
ICAgICB2b2lkIHBhaW50SXRlbUJhY2tncm91bmQoUGFpbnRJbmZvJiwgY29uc3QgTGF5b3V0UG9p
bnQmLCBpbnQgbGlzdEluZGV4KTsKICAgICB2b2lkIHNjcm9sbFRvUmV2ZWFsU2VsZWN0aW9uKCk7
CiAKKyAgICBib29sIHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBSZW5kZXJCbG9ja0Zsb3c6OnNob3VsZFBsYWNlQmxvY2tEaXJl
Y3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsgfQorCiAgICAgYm9vbCBtX29wdGlvbnNDaGFuZ2VkOwog
ICAgIGJvb2wgbV9zY3JvbGxUb1JldmVhbFNlbGVjdGlvbkFmdGVyTGF5b3V0OwogICAgIGJvb2wg
bV9pbkF1dG9zY3JvbGw7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVmlldy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmlldy5jcHAKaW5k
ZXggMDIxZTMxMC4uNDkwZTYzYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlclZpZXcuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3
LmNwcApAQCAtNjQyLDcgKzY0Miw3IEBAIHZvaWQgUmVuZGVyVmlldzo6cmVwYWludFZpZXdSZWN0
YW5nbGUoY29uc3QgTGF5b3V0UmVjdCYgcmVwYWludFJlY3QpIGNvbnN0CiAgICAgICAgIC8vIGFu
ZCB0aGUgUmVuZGVyZXIgdGhhdCBjb250YWlucyB0aGUgaWZyYW1lLiBUaGlzIHRyYW5zZm9ybWF0
aW9uIG11c3QgYWNjb3VudCBmb3IgYQogICAgICAgICAvLyBsZWZ0IHNjcm9sbGJhciAoaWYgb25l
IGV4aXN0cykuCiAgICAgICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gdGhpcy0+ZnJhbWVWaWV3
KCk7Ci0gICAgICAgIGlmIChmcmFtZVZpZXcudmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpICYm
IGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9sbGJhcigpKQorICAgICAgICBpZiAoZnJhbWVWaWV3LnNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAmJiBmcmFtZVZpZXcudmVy
dGljYWxTY3JvbGxiYXIoKSkKICAgICAgICAgICAgIGFkanVzdGVkUmVjdC5tb3ZlKExheW91dFNp
emUoZnJhbWVWaWV3LnZlcnRpY2FsU2Nyb2xsYmFyKCktPm9jY3VwaWVkV2lkdGgoKSwgMCkpOwog
CiAgICAgICAgIG93bmVyQm94LT5yZXBhaW50UmVjdGFuZ2xlKGFkanVzdGVkUmVjdCk7CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwIGIv
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRlclN0eWxlLmNwcAppbmRleCAwM2Qy
MTUyLi5jNDA2ZGJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvc3R5bGUv
UmVuZGVyU3R5bGUuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5k
ZXJTdHlsZS5jcHAKQEAgLTIwNzcsMTMgKzIwNzcsNyBAQCBmbG9hdCBSZW5kZXJTdHlsZTo6b3V0
bGluZU9mZnNldCgpIGNvbnN0CiAKIGJvb2wgUmVuZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tE
aXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdAogewotI2lmIFBMQVRGT1JNKE1BQykKLSAg
ICByZXR1cm4gU2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwoKTsKLSNlbGlmIFVT
RShSVExfU0NST0xMQkFSKQogICAgIHJldHVybiAhaXNMZWZ0VG9SaWdodERpcmVjdGlvbigpICYm
IGlzSG9yaXpvbnRhbFdyaXRpbmdNb2RlKCk7Ci0jZWxzZQotICAgIHJldHVybiBmYWxzZTsKLSNl
bmRpZgogfQogCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwIGIvU291cmNlL1dlYkNvcmUvdGVzdGlu
Zy9JbnRlcm5hbFNldHRpbmdzLmNwcAppbmRleCBmYzQzNWE3Li4yZDZlNzkzIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKQEAgLTEwNiw2ICsxMDYsOCBA
QCBJbnRlcm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cChTZXR0aW5ncyYgc2V0dGluZ3MpCiAj
aWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VSUykKICAgICAsIG1faW5kZXhlZERC
V29ya2Vyc0VuYWJsZWQoUnVudGltZUVuYWJsZWRGZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5p
bmRleGVkREJXb3JrZXJzRW5hYmxlZCgpKQogI2VuZGlmCisgICAgLCBtX3ZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3koc2V0dGluZ3MudmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSgpKQorICAgICwgbV9zeXN0ZW1MYXlvdXREaXJlY3Rpb24oc2V0dGluZ3Muc3lzdGVtTGF5b3V0
RGlyZWN0aW9uKCkpCiB7CiB9CiAKQEAgLTE3Niw2ICsxNzgsOCBAQCB2b2lkIEludGVybmFsU2V0
dGluZ3M6OkJhY2t1cDo6cmVzdG9yZVRvKFNldHRpbmdzJiBzZXR0aW5ncykKICNpZiBFTkFCTEUo
SU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKQogICAgIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXM6
OnNoYXJlZEZlYXR1cmVzKCkuc2V0SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQobV9pbmRleGVkREJX
b3JrZXJzRW5hYmxlZCk7CiAjZW5kaWYKKyAgICBzZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KG1fdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSk7CisgICAg
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKG1fc3lzdGVtTGF5b3V0RGlyZWN0aW9u
KTsKIH0KIAogY2xhc3MgSW50ZXJuYWxTZXR0aW5nc1dyYXBwZXIgOiBwdWJsaWMgU3VwcGxlbWVu
dDxQYWdlPiB7CkBAIC01NTUsNiArNTU5LDU5IEBAIHZvaWQgSW50ZXJuYWxTZXR0aW5nczo6c2V0
SW5kZXhlZERCV29ya2Vyc0VuYWJsZWQoYm9vbCBlbmFibGVkLCBFeGNlcHRpb25Db2RlJikKICNl
bmRpZgogfQogCitTdHJpbmcgSW50ZXJuYWxTZXR0aW5nczo6dmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeShFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3Vh
cmRGb3JTZXR0aW5nc1JldHVybigiIik7CisgICAgc3dpdGNoIChzZXR0aW5ncygpLT52ZXJ0aWNh
bFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCkpIHsKKyAgICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3k6OkNvbnRlbnQ6CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIkNv
bnRlbnQiKTsKKyAgICBjYXNlIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OlZpZXc6
CisgICAgICAgIHJldHVybiBBU0NJSUxpdGVyYWwoIlZpZXciKTsKKyAgICB9CisgICAgQVNTRVJU
X05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJuIFN0cmluZygpOworfQorCit2b2lkIEludGVybmFs
U2V0dGluZ3M6OnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koY29uc3QgU3RyaW5n
JiBwb2xpY3ksIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVybmFsU2V0dGluZ3NHdWFy
ZEZvclNldHRpbmdzKCk7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKHBv
bGljeSwgImNvbnRlbnQiKSkgeworICAgICAgICBzZXR0aW5ncygpLT5zZXRWZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5KFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OkNvbnRl
bnQpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGlmIChlcXVhbExldHRlcnNJZ25vcmlu
Z0FTQ0lJQ2FzZShwb2xpY3ksICJ2aWV3IikpIHsKKyAgICAgICAgc2V0dGluZ3MoKS0+c2V0VmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5OjpWaWV3KTsKKyAgICAgICAgcmV0dXJuOworICAgIH0KKyAgICBlYyA9IElOVkFMSURfQUND
RVNTX0VSUjsKK30KKworU3RyaW5nIEludGVybmFsU2V0dGluZ3M6OnN5c3RlbUxheW91dERpcmVj
dGlvbihFeGNlcHRpb25Db2RlJiBlYykKK3sKKyAgICBJbnRlcm5hbFNldHRpbmdzR3VhcmRGb3JT
ZXR0aW5nc1JldHVybigiIik7CisgICAgc3dpdGNoIChzZXR0aW5ncygpLT5zeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oKSkgeworICAgIGNhc2UgTFRSOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRlcmFs
KCJMVFIiKTsKKyAgICBjYXNlIFJUTDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiUlRM
Iik7CisgICAgfQorICAgIEFTU0VSVF9OT1RfUkVBQ0hFRCgpOworICAgIHJldHVybiBTdHJpbmco
KTsKK30KKwordm9pZCBJbnRlcm5hbFNldHRpbmdzOjpzZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24o
Y29uc3QgU3RyaW5nJiBkaXJlY3Rpb24sIEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVy
bmFsU2V0dGluZ3NHdWFyZEZvclNldHRpbmdzKCk7CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9y
aW5nQVNDSUlDYXNlKGRpcmVjdGlvbiwgImx0ciIpKSB7CisgICAgICAgIHNldHRpbmdzKCktPnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbihMVFIpOworICAgICAgICByZXR1cm47CisgICAgfQorICAg
IGlmIChlcXVhbExldHRlcnNJZ25vcmluZ0FTQ0lJQ2FzZShkaXJlY3Rpb24sICJydGwiKSkgewor
ICAgICAgICBzZXR0aW5ncygpLT5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oUlRMKTsKKyAgICAg
ICAgcmV0dXJuOworICAgIH0KKyAgICBlYyA9IElOVkFMSURfQUNDRVNTX0VSUjsKK30KIAogLy8g
SWYgeW91IGFkZCB0byB0aGlzIGxpc3QsIG1ha2Ugc3VyZSB0aGF0IHlvdSB1cGRhdGUgdGhlIEJh
Y2t1cCBjbGFzcyBmb3IgdGVzdCByZXByb2R1Y2FiaWxpdHkhCiAKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5oIGIvU291cmNlL1dlYkNvcmUvdGVz
dGluZy9JbnRlcm5hbFNldHRpbmdzLmgKaW5kZXggYjBmMDhmMi4uM2Y1ZjcxMCAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKKysrIGIvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmgKQEAgLTM0LDYgKzM0LDggQEAKICNp
bmNsdWRlICJJbnRTaXplLmgiCiAjaW5jbHVkZSAiSW50ZXJuYWxTZXR0aW5nc0dlbmVyYXRlZC5o
IgogI2luY2x1ZGUgIlNlY3VyaXR5T3JpZ2luLmgiCisjaW5jbHVkZSAiU2V0dGluZ3MuaCIKKyNp
bmNsdWRlICJXcml0aW5nTW9kZS5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTEwMiw2
ICsxMDQsOCBAQCBwdWJsaWM6CiAjaWYgRU5BQkxFKElOREVYRURfREFUQUJBU0VfSU5fV09SS0VS
UykKICAgICAgICAgYm9vbCBtX2luZGV4ZWREQldvcmtlcnNFbmFibGVkOwogI2VuZGlmCisgICAg
ICAgIFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgbV92ZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5OworICAgICAgICBUZXh0RGlyZWN0aW9uIG1fc3lzdGVtTGF5b3V0RGlyZWN0
aW9uOwogICAgIH07CiAKICAgICBzdGF0aWMgUmVmPEludGVybmFsU2V0dGluZ3M+IGNyZWF0ZShQ
YWdlKiBwYWdlKQpAQCAtMTUwLDYgKzE1NCwxMCBAQCBwdWJsaWM6CiAgICAgdm9pZCBzZXRBbGxv
d3NJbmxpbmVNZWRpYVBsYXliYWNrKGJvb2wsIEV4Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNl
dElubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKGJvb2wsIEV4
Y2VwdGlvbkNvZGUmKTsKICAgICB2b2lkIHNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2ws
IEV4Y2VwdGlvbkNvZGUmKTsKKyAgICBTdHJpbmcgdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeShFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5KGNvbnN0IFN0cmluZyYgcG9saWN5LCBFeGNlcHRpb25Db2RlJik7CisgICAgU3Ry
aW5nIHN5c3RlbUxheW91dERpcmVjdGlvbihFeGNlcHRpb25Db2RlJik7CisgICAgdm9pZCBzZXRT
eXN0ZW1MYXlvdXREaXJlY3Rpb24oY29uc3QgU3RyaW5nJiBkaXJlY3Rpb24sIEV4Y2VwdGlvbkNv
ZGUmKTsKIAogcHJpdmF0ZToKICAgICBleHBsaWNpdCBJbnRlcm5hbFNldHRpbmdzKFBhZ2UqKTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5pZGwg
Yi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCmluZGV4IGUzOWU3
NDEuLmEyZDc4MWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxT
ZXR0aW5ncy5pZGwKKysrIGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdz
LmlkbApAQCAtNzksNSArNzksMTAgQEAKICAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldElu
bGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlKGJvb2xlYW4gcmVx
dWlyZXMpOwogCiAgICAgW1JhaXNlc0V4Y2VwdGlvbl0gdm9pZCBzZXRJbmRleGVkREJXb3JrZXJz
RW5hYmxlZChib29sZWFuIHJlcXVpcmVzKTsKKworICAgIFtSYWlzZXNFeGNlcHRpb25dIERPTVN0
cmluZyB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCk7CisgICAgW1JhaXNlc0V4Y2Vw
dGlvbl0gdm9pZCBzZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KERPTVN0cmluZyBw
b2xpY3kpOworICAgIFtSYWlzZXNFeGNlcHRpb25dIERPTVN0cmluZyBzeXN0ZW1MYXlvdXREaXJl
Y3Rpb24oKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldFN5c3RlbUxheW91dERpcmVj
dGlvbihET01TdHJpbmcgZGlyZWN0aW9uKTsKIH07CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL0NoYW5nZUxvZyBiL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZwppbmRleCBmOTYwZjQ2Li42
ODNiZmJhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9DaGFuZ2VMb2cKKysrIGIvU291cmNl
L1dlYktpdDIvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMjcgQEAKKzIwMTYtMDQtMjYgIE15bGVzIEMu
IE1heGZpZWxkICA8bW1heGZpZWxkQGFwcGxlLmNvbT4KKworICAgICAgICBbV0syXSBbT1MgWF0g
Q3JlYXRlIEFQSSBmb3Igc3dpdGNoaW5nIFJUTCBzY3JvbGxiYXIgcG9saWN5CisgICAgICAgIGh0
dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0xNTY5NDgKKyAgICAgICAgPHJk
YXI6Ly9wcm9ibGVtLzI1NzA3NzU3PgorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVy
LgorCisgICAgICAgIEFkZCB0aGUgbmV3IEFQSS4KKworICAgICAgICAqIFNoYXJlZC9XZWJQcmVm
ZXJlbmNlc0RlZmluaXRpb25zLmg6CisgICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dl
YlZpZXcubW06CisgICAgICAgICgtW1dLV2ViVmlldyBfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0
aW9uOl0pOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5oOgorICAgICAgICAqIFVJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJh
dGlvbi5tbToKKyAgICAgICAgKC1bV0tXZWJWaWV3Q29uZmlndXJhdGlvbiBpbml0XSk6CisgICAg
ICAgICgtW1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gZW5jb2RlV2l0aENvZGVyOl0pOgorICAgICAg
ICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRXaXRoQ29kZXI6XSk6CisgICAgICAgICgt
W1dLV2ViVmlld0NvbmZpZ3VyYXRpb24gY29weVdpdGhab25lOl0pOgorICAgICAgICAqIFVJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwOgorICAgICAgICAqIFdlYlByb2Nlc3MvUGx1Z2lucy9QREYv
RGVwcmVjYXRlZFBERlBsdWdpbi5oOgorICAgICAgICAqIFdlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcDoKKyAgICAgICAgKFdlYktpdDo6V2ViUGFnZTo6dXBkYXRlUHJlZmVyZW5jZXMpOgor
CiAyMDE2LTA0LTI2ICBCZXRoIERha2luICA8YmRha2luQGFwcGxlLmNvbT4KIAogICAgICAgICBD
aGVjayB0byBtYWtlIHN1cmUgc2hvdWxkUmVxdWVzdENhbmRpZGF0ZXMoKSBiZWZvcmUgcmVxdWVz
dGluZyBjYW5kaWRhdGVzCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJl
ZmVyZW5jZXNEZWZpbml0aW9ucy5oIGIvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVu
Y2VzRGVmaW5pdGlvbnMuaAppbmRleCBlNDgwYzFlLi44YTdjNWJhIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViS2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCisrKyBiL1NvdXJj
ZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25zLmgKQEAgLTI1Nyw2ICsy
NTcsOCBAQAogICAgIG1hY3JvKFN0b3JhZ2VCbG9ja2luZ1BvbGljeSwgc3RvcmFnZUJsb2NraW5n
UG9saWN5LCBVSW50MzIsIHVpbnQzMl90LCBXZWJDb3JlOjpTZWN1cml0eU9yaWdpbjo6QmxvY2tU
aGlyZFBhcnR5U3RvcmFnZSwgIiIsICIiKSBcCiAgICAgbWFjcm8oSmF2YVNjcmlwdFJ1bnRpbWVG
bGFncywgamF2YVNjcmlwdFJ1bnRpbWVGbGFncywgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIi
KSBcCiAgICAgbWFjcm8oRGF0YURldGVjdG9yVHlwZXMsIGRhdGFEZXRlY3RvclR5cGVzLCBVSW50
MzIsIHVpbnQzMl90LCAwLCAiIiwgIiIpIFwKKyAgICBtYWNybyhWZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uLCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uLCBVSW50MzIsIHVpbnQzMl90LCAwLCAi
IiwgIiIpIFwKKyAgICBtYWNybyhTeXN0ZW1MYXlvdXREaXJlY3Rpb24sIHN5c3RlbUxheW91dERp
cmVjdGlvbiwgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIiKSBcCiAgICAgXAogCiAjZGVmaW5l
IEZPUl9FQUNIX1dFQktJVF9ERUJVR19CT09MX1BSRUZFUkVOQ0UobWFjcm8pIFwKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tIGIvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXcubW0KaW5kZXggMGVkNzUz
ZS4uNTVlOGIwNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2Nv
YS9XS1dlYlZpZXcubW0KKysrIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9X
S1dlYlZpZXcubW0KQEAgLTg3LDYgKzg3LDggQEAKICNpbXBvcnQgPFdlYkNvcmUvTlNUZXh0Rmlu
ZGVyU1BJLmg+CiAjaW1wb3J0IDxXZWJDb3JlL1BsYXRmb3JtU2NyZWVuLmg+CiAjaW1wb3J0IDxX
ZWJDb3JlL1J1bnRpbWVBcHBsaWNhdGlvbkNoZWNrcy5oPgorI2ltcG9ydCA8V2ViQ29yZS9TZXR0
aW5ncy5oPgorI2ltcG9ydCA8V2ViQ29yZS9Xcml0aW5nTW9kZS5oPgogI2ltcG9ydCA8d3RmL0hh
c2hNYXAuaD4KICNpbXBvcnQgPHd0Zi9NYXRoRXh0cmFzLmg+CiAjaW1wb3J0IDx3dGYvTmV2ZXJE
ZXN0cm95ZWQuaD4KQEAgLTM1OSw2ICszNjEsMzAgQEAgc3RhdGljIFdlYkNvcmU6OkRhdGFEZXRl
Y3RvclR5cGVzIGZyb21XS0RhdGFEZXRlY3RvclR5cGVzKHVpbnQ2NF90IHR5cGVzKQogfQogI2Vu
ZGlmCiAKK3N0YXRpYyB1aW50MzJfdCBjb252ZXJ0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeShXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgcG9saWN5KQoreworICAgIHN3
aXRjaCAocG9saWN5KSB7CisgICAgY2FzZSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3lDb250ZW50OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYkNvcmU6
OlZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OkNvbnRlbnQpOworICAgIGNhc2UgV0tW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5VmlldzoKKyAgICAgICAgcmV0dXJuIHN0YXRp
Y19jYXN0PHVpbnQzMl90PihXZWJDb3JlOjpWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
OjpWaWV3KTsKKyAgICB9CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQzMl90PihXZWJDb3Jl
OjpWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50KTsKK30KKworI2lmIFBM
QVRGT1JNKE1BQykKK3N0YXRpYyB1aW50MzJfdCBjb252ZXJ0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBkaXJlY3Rpb24pCit7CisgICAgc3dpdGNo
IChkaXJlY3Rpb24pIHsKKyAgICBjYXNlIE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbkxl
ZnRUb1JpZ2h0OgorICAgICAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYkNvcmU6
OkxUUik7CisgICAgY2FzZSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb25SaWdodFRvTGVm
dDoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQzMl90PihXZWJDb3JlOjpSVEwpOwor
ICAgIH0KKyAgICByZXR1cm4gc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYkNvcmU6OkxUUik7Cit9
CisjZW5kaWYKKwogLSAodm9pZClfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOihXS1dlYlZp
ZXdDb25maWd1cmF0aW9uICopY29uZmlndXJhdGlvbgogewogICAgIGlmICghY29uZmlndXJhdGlv
bikKQEAgLTQwOCwxMSArNDM0LDE3IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJh
dGlvbjooV0tXZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBwYWdlQ29u
ZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2Vz
S2V5OjpzaG91bGRDb252ZXJ0UG9zaXRpb25TdHlsZU9uQ29weUtleSgpLCBXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9jb252ZXJ0c1Bvc2l0aW9u
U3R5bGVPbkNvcHldKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMo
KS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6aHR0cEVxdWl2RW5hYmxlZEtleSgpLCBX
ZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9hbGxv
d3NNZXRhUmVmcmVzaF0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVl
cygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd1VuaXZlcnNhbEFjY2Vzc0Zy
b21GaWxlVVJMc0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19j
b25maWd1cmF0aW9uIF9hbGxvd1VuaXZlcnNhbEFjY2Vzc0Zyb21GaWxlVVJMc10pKTsKKworICAg
IHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXNLZXk6OnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25LZXkoKSwgV2ViS2l0OjpXZWJQ
cmVmZXJlbmNlc1N0b3JlOjpWYWx1ZShjb252ZXJ0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeShbX2NvbmZpZ3VyYXRpb24gdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeV0pKSk7
CiAgICAgCiAjaWYgUExBVEZPUk0oTUFDKQogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJl
bmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnNob3dzVVJMc0luVG9v
bFRpcHNFbmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFb
X2NvbmZpZ3VyYXRpb24gX3Nob3dzVVJMc0luVG9vbFRpcHNdKSk7CiAgICAgcGFnZUNvbmZpZ3Vy
YXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6
c2VydmljZUNvbnRyb2xzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6
OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9zZXJ2aWNlQ29udHJvbHNFbmFibGVkXSkpOwogICAg
IHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXNLZXk6OmltYWdlQ29udHJvbHNFbmFibGVkS2V5KCksIFdlYktpdDo6V2ViUHJlZmVy
ZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2ltYWdlQ29udHJvbHNFbmFibGVk
XSkpOworICAgIC8vIFdlIGFyZSBpbiB0aGUgVmlldydzIGluaXRpYWxpemF0aW9uIHJvdXRpbmUs
IHNvIG91ciBjbGllbnQgaGFzbid0IGhhZCB0aW1lIHRvIHNldCBvdXIgdXNlciBpbnRlcmZhY2Ug
ZGlyZWN0aW9uLgorICAgIC8vIFRoZXJlZm9yZSwgYWNjb3JkaW5nIHRvIHRoZSBkb2NzWzFdLCAi
dGhpcyBwcm9wZXJ0eSBjb250YWlucyB0aGUgdmFsdWUgcmVwb3J0ZWQgYnkgdGhlIGFwcOKAmXMg
dXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiBwcm9wZXJ0eS4iCisgICAgLy8gWzFdIGh0dHA6
Ly9kZXZlbG9wZXIuYXBwbGUuY29tL2xpYnJhcnkvbWFjL2RvY3VtZW50YXRpb24vQ29jb2EvUmVm
ZXJlbmNlL0FwcGxpY2F0aW9uS2l0L0NsYXNzZXMvTlNWaWV3X0NsYXNzL2luZGV4Lmh0bWwjLy9h
cHBsZV9yZWYvZG9jL3VpZC8yMDAwMDAxNC1TVzIyMgorICAgIHBhZ2VDb25maWd1cmF0aW9uLT5w
cmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OnN5c3RlbUxh
eW91dERpcmVjdGlvbktleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKGNv
bnZlcnRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oc2VsZi51c2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0
aW9uKSkpOwogI2VuZGlmCiAKICNpZiBQTEFURk9STShJT1MpCkBAIC00MjIsNiArNDU0LDcgQEAg
LSAodm9pZClfaW5pdGlhbGl6ZVdpdGhDb25maWd1cmF0aW9uOihXS1dlYlZpZXdDb25maWd1cmF0
aW9uICopY29uZmlndXJhdGlvbgogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFs
dWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmlubGluZU1lZGlhUGxheWJhY2tS
ZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRlS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNT
dG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gX2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJl
c1BsYXlzSW5saW5lQXR0cmlidXRlXSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJl
bmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6OmFsbG93c1BpY3R1cmVJ
blBpY3R1cmVNZWRpYVBsYXliYWNrS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6
VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gYWxsb3dzUGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJh
Y2tdICYmIHNob3VsZEFsbG93UGljdHVyZUluUGljdHVyZU1lZGlhUGxheWJhY2soKSkpOwogICAg
IHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJl
ZmVyZW5jZXNLZXk6OnJlcXVpcmVzVXNlckdlc3R1cmVGb3JNZWRpYVBsYXliYWNrS2V5KCksIFdl
YktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoISFbX2NvbmZpZ3VyYXRpb24gcmVxdWly
ZXNVc2VyQWN0aW9uRm9yTWVkaWFQbGF5YmFja10pKTsKKyAgICBwYWdlQ29uZmlndXJhdGlvbi0+
cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzeXN0ZW1M
YXlvdXREaXJlY3Rpb25LZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZShz
dGF0aWNfY2FzdDx1aW50MzJfdD4oV2ViQ29yZTo6TFRSKSkpOwogI2VuZGlmCiAKICAgICBwYWdl
Q29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yVmlkZW9QbGF5YmFja0tleSgpLCBXZWJLaXQ6
OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9yZXF1aXJlc1Vz
ZXJBY3Rpb25Gb3JWaWRlb1BsYXliYWNrXSkpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmggYi9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaAppbmRleCA2
NmQ2NTNmLi4wZGRhY2EzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJ
L0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVBy
b2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24uaApAQCAtNzMsNiArNzMsMjAg
QEAgdHlwZWRlZiBOU19PUFRJT05TKE5TVUludGVnZXIsIFdLRGF0YURldGVjdG9yVHlwZXMpIHsK
ICAgICBXS0RhdGFEZXRlY3RvclR5cGVBbGwgPSBOU1VJbnRlZ2VyTWF4CiB9IFdLX0VOVU1fQVZB
SUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCisKKy8qISBAZW51bSBXS1ZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kKKyBAYWJzdHJhY3QgVGhlIG1lY2hhbmlzbSBieSB3aGlj
aCB2ZXJ0aWNhbCBzY3JvbGxiYXJzIG9iZXkgYW4gUlRMIGVudmlyb25tZW50CisgQGNvbnN0YW50
IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQgU2Nyb2xsYmFyIHBsYWNl
bWVudCBvYmV5cyBDU1MgLyBIVE1MIC8gWEhUTUwgc3BlY2lmaWNhdGlvbnMuCisgQGNvbnN0YW50
IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeVZpZXcgU2Nyb2xsYmFyIHBsYWNlbWVu
dCBvYmV5cyBzeXN0ZW0gcGxhdGZvcm0gc3BlY2lmaWNhdGlvbnMuCisgQGRpc2N1c3Npb24gV2hl
biBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50IGlzIHNwZWNpZmllZCwg
dGhlIHBsYWNlbWVudCBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXJzIGlzCisgYWZmZWN0ZWQgYnkgdGhl
ICJkaXIiIGVsZW1lbnQgb3IgdGhlICJkaXJlY3Rpb24iIENTUyBwcm9wZXJ0eS4gV2hlbiBXS1Zl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lWaWV3IGlzCisgc3BlY2lmaWVkLCB0aGUgcGxh
Y2VtZW50IG9mIHZlcnRpY2FsIHNjcm9sbGJhcnMgaXMgYWZmZWN0ZWQgYnkgdGhlIGRpcmVjdGlv
biBvZiB0aGUgc3lzdGVtLgorKi8KK3R5cGVkZWYgTlNfRU5VTShOU0ludGVnZXIsIFdLVmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSkgeworICAgIFdLVmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeUNvbnRlbnQgPSAwLAorICAgIFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeVZpZXcgPSAxLAorfSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNfVEJBLCBOQSk7CisKIC8q
ISBBIFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gb2JqZWN0IGlzIGEgY29sbGVjdGlvbiBvZiBwcm9w
ZXJ0aWVzIHdpdGgKICB3aGljaCB0byBpbml0aWFsaXplIGEgd2ViIHZpZXcuCiAgQGhlbHBzIENv
bnRhaW5zIHByb3BlcnRpZXMgdXNlZCB0byBjb25maWd1cmUgYSBAbGluayBXS1dlYlZpZXcgQC9s
aW5rLgpAQCAtMTI0LDYgKzEzOCwxMiBAQCBXS19DTEFTU19BVkFJTEFCTEUoMTBfMTAsIDhfMCkK
ICAqLwogQHByb3BlcnR5IChub25hdG9taWMpIFdLRGF0YURldGVjdG9yVHlwZXMgZGF0YURldGVj
dG9yVHlwZXMgV0tfQVZBSUxBQkxFKFdLX01BQ19UQkEsIFdLX0lPU19UQkEpOwogCisvKiEgQGFi
c3RyYWN0IFRoZSBwbGFjZW1lbnQgYmVoYXZpb3Igb2YgdmVydGljYWwgc2Nyb2xsYmFycy4KKyBA
ZGlzY3Vzc2lvbiBQb3NzaWJsZSB2YWx1ZXMgYXJlIGRlc2NyaWJlZCBpbiBXS1ZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3kuCisgVGhlIGRlZmF1bHQgdmFsdWUgaXMgV0tWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5Q29udGVudC4KKyAqLworQHByb3BlcnR5IChub25hdG9taWMp
IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5IFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBOQSk7CisKICNpZiBUQVJHRVRfT1Nf
SVBIT05FCiAvKiEgQGFic3RyYWN0IEEgQm9vbGVhbiB2YWx1ZSBpbmRpY2F0aW5nIHdoZXRoZXIg
SFRNTDUgdmlkZW9zIHBsYXkgaW5saW5lCiAgKFlFUykgb3IgdXNlIHRoZSBuYXRpdmUgZnVsbC1z
Y3JlZW4gY29udHJvbGxlciAoTk8pLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9j
ZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tIGIvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tCmluZGV4IDdiMjgx
ZDkuLmI4NmQ2NmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbQorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nl
c3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KQEAgLTE0MCw2ICsxNDAsNyBA
QCAtIChpbnN0YW5jZXR5cGUpaW5pdAogICAgIF9tZWRpYURhdGFMb2Fkc0F1dG9tYXRpY2FsbHkg
PSBOTzsKICNlbHNlCiAgICAgX21lZGlhRGF0YUxvYWRzQXV0b21hdGljYWxseSA9IFlFUzsKKyAg
ICBfdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSA9IFdLVmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeUNvbnRlbnQ7CiAjZW5kaWYKICAgICBfcmVxdWlyZXNVc2VyQWN0aW9uRm9y
VmlkZW9QbGF5YmFjayA9IE5POwogICAgIF9yZXF1aXJlc1VzZXJBY3Rpb25Gb3JBdWRpb1BsYXli
YWNrID0gTk87CkBAIC0xOTgsNiArMTk5LDcgQEAgLSAodm9pZCllbmNvZGVXaXRoQ29kZXI6KE5T
Q29kZXIgKiljb2RlcgogICAgIFtjb2RlciBlbmNvZGVPYmplY3Q6c2VsZi5hcHBsaWNhdGlvbk5h
bWVGb3JVc2VyQWdlbnQgZm9yS2V5OkAiYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50Il07CiAg
ICAgW2NvZGVyIGVuY29kZUJvb2w6c2VsZi5hbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayBm
b3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayJdOwogICAgIFtjb2RlciBlbmNv
ZGVJbnRlZ2VyOnNlbGYuZGF0YURldGVjdG9yVHlwZXMgZm9yS2V5OkAiZGF0YURldGVjdG9yVHlw
ZXMiXTsKKyAgICBbY29kZXIgZW5jb2RlSW50ZWdlcjpzZWxmLnZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3kgZm9yS2V5OkAidmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSJdOwog
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFjayBmb3JLZXk6QCJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNrIl07CkBA
IC0yMjEsNiArMjIzLDkgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXRXaXRoQ29kZXI6KE5TQ29kZXIg
Kiljb2RlcgogICAgIHNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50ID0gW2NvZGVyIGRl
Y29kZU9iamVjdEZvcktleTpAImFwcGxpY2F0aW9uTmFtZUZvclVzZXJBZ2VudCJdOwogICAgIHNl
bGYuYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9vbEZvcktl
eTpAImFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrIl07CiAgICAgc2VsZi5kYXRhRGV0ZWN0
b3JUeXBlcyA9IFtjb2RlciBkZWNvZGVJbnRlZ2VyRm9yS2V5OkAiZGF0YURldGVjdG9yVHlwZXMi
XTsKKyAgICBhdXRvIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDYW5kaWRhdGUgPSBz
dGF0aWNfY2FzdDxXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k+KFtjb2RlciBkZWNv
ZGVJbnRlZ2VyRm9yS2V5OkAidmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSJdKTsKKyAg
ICBpZiAodmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNhbmRpZGF0ZSA9PSBXS1ZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50IHx8IHZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3lDYW5kaWRhdGUgPT0gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
VmlldykKKyAgICAgICAgc2VsZi52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5ID0gdmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNhbmRpZGF0ZTsKIAogI2lmIFBMQVRGT1JNKElP
UykKICAgICBzZWxmLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgPSBbY29kZXIgZGVjb2RlQm9v
bEZvcktleTpAImFsbG93c0lubGluZU1lZGlhUGxheWJhY2siXTsKQEAgLTI2Niw2ICsyNzEsOCBA
QCAtIChpZCljb3B5V2l0aFpvbmU6KE5TWm9uZSAqKXpvbmUKICAgICBjb25maWd1cmF0aW9uLT5f
cmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IHNlbGYtPl9yZXF1aXJlc1VzZXJB
Y3Rpb25Gb3JBdWRpb1BsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9tYWluQ29udGVudFVz
ZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkID0gc2VsZi0+X21haW5Db250ZW50VXNlckdlc3R1cmVP
dmVycmlkZUVuYWJsZWQ7CiAKKyAgICBjb25maWd1cmF0aW9uLT5fdmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeSA9IHNlbGYtPl92ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Owor
CiAjaWYgUExBVEZPUk0oSU9TKQogICAgIGNvbmZpZ3VyYXRpb24tPl9hbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrID0gc2VsZi0+X2FsbG93c0lubGluZU1lZGlhUGxheWJhY2s7CiAgICAgY29uZmln
dXJhdGlvbi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
ID0gc2VsZi0+X2lubGluZU1lZGlhUGxheWJhY2tSZXF1aXJlc1BsYXlzSW5saW5lQXR0cmlidXRl
OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAg
Yi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcAppbmRleCA3ZmJjMTcz
Li5jMjk3MzA2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVBy
b3h5LmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvV2ViUGFnZVByb3h5LmNwcApA
QCAtMTAwLDYgKzEwMCw3IEBACiAjaW5jbHVkZSAiV2ViUG9wdXBJdGVtLmgiCiAjaW5jbHVkZSAi
V2ViUG9wdXBNZW51UHJveHkuaCIKICNpbmNsdWRlICJXZWJQcmVmZXJlbmNlcy5oIgorI2luY2x1
ZGUgIldlYlByZWZlcmVuY2VzS2V5cy5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NNZXNzYWdlcy5o
IgogI2luY2x1ZGUgIldlYlByb2Nlc3NQb29sLmgiCiAjaW5jbHVkZSAiV2ViUHJvY2Vzc1Byb3h5
LmgiCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0Rl
cHJlY2F0ZWRQREZQbHVnaW4uaCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9Q
REYvRGVwcmVjYXRlZFBERlBsdWdpbi5oCmluZGV4IDc4ZWVlOWQuLjFiZjFiZmIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVjYXRlZFBERlBs
dWdpbi5oCisrKyBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvUGx1Z2lucy9QREYvRGVwcmVj
YXRlZFBERlBsdWdpbi5oCkBAIC0xMTEsNiArMTExLDggQEAgcHVibGljOgogCiAgICAgQ0dGbG9h
dCBzY2FsZUZhY3RvcigpIGNvbnN0OwogCisgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0
aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3Qgb3ZlcnJpZGUgeyByZXR1cm4gZmFsc2U7IH0KKwog
cHJpdmF0ZToKICAgICBleHBsaWNpdCBQREZQbHVnaW4oV2ViRnJhbWUqKTsKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwIGIvU291cmNl
L1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCmluZGV4IGM3ZTAwYWIuLmYy
NWEzYTQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQ
YWdlLmNwcAorKysgYi9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5j
cHAKQEAgLTMwNzIsNiArMzA3MiwxMyBAQCB2b2lkIFdlYlBhZ2U6OnVwZGF0ZVByZWZlcmVuY2Vz
KGNvbnN0IFdlYlByZWZlcmVuY2VzU3RvcmUmIHN0b3JlKQogCiAgICAgc2V0dGluZ3Muc2V0U2hv
dWxkRGlzcGF0Y2hKYXZhU2NyaXB0V2luZG93T25FcnJvckV2ZW50cyh0cnVlKTsKIAorICAgIGF1
dG8gdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbkNhbmRpZGF0ZSA9IHN0YXRpY19jYXN0PFdlYkNv
cmU6OlZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k+KHN0b3JlLmdldFVJbnQzMlZhbHVl
Rm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uS2V5KCkp
KTsKKyAgICBpZiAodmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbkNhbmRpZGF0ZSA9PSBXZWJDb3Jl
OjpWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50IHx8IHZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25DYW5kaWRhdGUgPT0gV2ViQ29yZTo6VmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeTo6VmlldykKKyAgICAgICAgc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeSghc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVyZW5jZXNL
ZXk6OnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25LZXkoKSkgPyBWZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5OjpDb250ZW50IDogVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6
Vmlldyk7CisgICAgVGV4dERpcmVjdGlvbiBzeXN0ZW1MYXlvdXREaXJlY3Rpb25DYW5kaWRhdGUg
PSBzdGF0aWNfY2FzdDxUZXh0RGlyZWN0aW9uPihzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6c3lzdGVtTGF5b3V0RGlyZWN0aW9uS2V5KCkpKTsKKyAgICBpZiAo
c3lzdGVtTGF5b3V0RGlyZWN0aW9uQ2FuZGlkYXRlID09IFdlYkNvcmU6OkxUUiB8fCBzeXN0ZW1M
YXlvdXREaXJlY3Rpb25DYW5kaWRhdGUgPT0gV2ViQ29yZTo6UlRMKQorICAgICAgICBzZXR0aW5n
cy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oc3lzdGVtTGF5b3V0RGlyZWN0aW9uQ2FuZGlkYXRl
KTsKKwogI2lmIFVTRShBUFBMRV9JTlRFUk5BTF9TREspCiAjaW5jbHVkZSA8V2ViS2l0QWRkaXRp
b25zL1dlYlBhZ2VQcmVmZXJlbmNlcy5jcHA+CiAjZW5kaWYKZGlmZiAtLWdpdCBhL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tIGIv
VG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVN
YWMubW0KaW5kZXggZDhkZDJlNi4uOWJhNTgxYSAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMubW0KKysrIGIvVG9v
bHMvV2ViS2l0VGVzdFJ1bm5lci9JbmplY3RlZEJ1bmRsZS9tYWMvSW5qZWN0ZWRCdW5kbGVNYWMu
bW0KQEAgLTM4LDE4ICszOCw2IEBAIEBlbmQKIAogbmFtZXNwYWNlIFdUUiB7CiAKLXN0YXRpYyBi
b29sIHNob3VsZFVzZVJUTFNjcm9sbGJhcnMoV0tUeXBlUmVmIGluaXRpYWxpemF0aW9uVXNlckRh
dGEpCi17Ci0gICAgaWYgKCFpbml0aWFsaXphdGlvblVzZXJEYXRhIHx8IFdLR2V0VHlwZUlEKGlu
aXRpYWxpemF0aW9uVXNlckRhdGEpICE9IFdLRGljdGlvbmFyeUdldFR5cGVJRCgpKQotICAgICAg
ICByZXR1cm4gZmFsc2U7Ci0KLSAgICBXS1R5cGVSZWYgaXRlbSA9IFdLRGljdGlvbmFyeUdldEl0
ZW1Gb3JLZXkoc3RhdGljX2Nhc3Q8V0tEaWN0aW9uYXJ5UmVmPihpbml0aWFsaXphdGlvblVzZXJE
YXRhKSwgYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVXNlUlRMU2Nyb2xs
YmFycyIpKS5nZXQoKSk7Ci0gICAgaWYgKCFpdGVtIHx8IFdLR2V0VHlwZUlEKGl0ZW0pICE9IFdL
Qm9vbGVhbkdldFR5cGVJRCgpKQotICAgICAgICByZXR1cm4gZmFsc2U7Ci0KLSAgICByZXR1cm4g
V0tCb29sZWFuR2V0VmFsdWUoc3RhdGljX2Nhc3Q8V0tCb29sZWFuUmVmPihpdGVtKSk7Ci19Ci0K
IHZvaWQgSW5qZWN0ZWRCdW5kbGU6OnBsYXRmb3JtSW5pdGlhbGl6ZShXS1R5cGVSZWYgaW5pdGlh
bGl6YXRpb25Vc2VyRGF0YSkKIHsKICAgICBzdGF0aWMgY29uc3QgaW50IE5vRm9udFNtb290aGlu
ZyA9IDA7CkBAIC05NSwxMyArODMsNiBAQCB2b2lkIEluamVjdGVkQnVuZGxlOjpwbGF0Zm9ybUlu
aXRpYWxpemUoV0tUeXBlUmVmIGluaXRpYWxpemF0aW9uVXNlckRhdGEpCiAgICAgICAgIEAiY29t
LmFwcGxlLnN3aXBlc2Nyb2xsZGlyZWN0aW9uIjogQDEsCiAgICAgfTsKIAotICAgIGlmIChzaG91
bGRVc2VSVExTY3JvbGxiYXJzKGluaXRpYWxpemF0aW9uVXNlckRhdGEpKSB7Ci0gICAgICAgIE5T
TXV0YWJsZURpY3Rpb25hcnkgKm5ld0RpY3Rpb25hcnkgPSBbZGljdCBtdXRhYmxlQ29weV07Ci0g
ICAgICAgIFtuZXdEaWN0aW9uYXJ5IHNldFZhbHVlOkBZRVMgZm9yS2V5OkAiQXBwbGVUZXh0RGly
ZWN0aW9uIl07Ci0gICAgICAgIFtuZXdEaWN0aW9uYXJ5IHNldFZhbHVlOkBZRVMgZm9yS2V5OkAi
TlNGb3JjZVJpZ2h0VG9MZWZ0V3JpdGluZ0RpcmVjdGlvbiJdOwotICAgICAgICBkaWN0ID0gW25l
d0RpY3Rpb25hcnkgYXV0b3JlbGVhc2VdOwotICAgIH0KLQogICAgIFtbTlNVc2VyRGVmYXVsdHMg
c3RhbmRhcmRVc2VyRGVmYXVsdHNdIHNldFZvbGF0aWxlRG9tYWluOmRpY3QgZm9yTmFtZTpOU0Fy
Z3VtZW50RG9tYWluXTsKIAogICAgIC8vIE1ha2UgTlNGb250IHVzZSB0aGUgbmV3IGRlZmF1bHRz
LgpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAg
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcAppbmRleCBmY2FkOGNk
Li4zYTQzMmIzIDEwMDY0NAotLS0gYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9s
bGVyLmNwcAorKysgYi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RDb250cm9sbGVyLmNwcApA
QCAtOTUzLDggKzk1Myw2IEBAIHN0YXRpYyB2b2lkIHVwZGF0ZVRlc3RPcHRpb25zRnJvbVRlc3RI
ZWFkZXIoVGVzdE9wdGlvbnMmIHRlc3RPcHRpb25zLCBjb25zdCBzdGQ6CiAgICAgICAgICAgICB0
ZXN0T3B0aW9ucy51c2VGbGV4aWJsZVZpZXdwb3J0ID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZh
bHVlKHZhbHVlKTsKICAgICAgICAgaWYgKGtleSA9PSAidXNlRGF0YURldGVjdGlvbiIpCiAgICAg
ICAgICAgICB0ZXN0T3B0aW9ucy51c2VEYXRhRGV0ZWN0aW9uID0gcGFyc2VCb29sZWFuVGVzdEhl
YWRlclZhbHVlKHZhbHVlKTsKLSAgICAgICAgaWYgKGtleSA9PSAicnRsU2Nyb2xsYmFycyIpCi0g
ICAgICAgICAgICB0ZXN0T3B0aW9ucy51c2VSVExTY3JvbGxiYXJzID0gcGFyc2VCb29sZWFuVGVz
dEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgaWYgKGtleSA9PSAidXNlTW9ja1Njcm9sbGJh
cnMiKQogICAgICAgICAgICAgdGVzdE9wdGlvbnMudXNlTW9ja1Njcm9sbGJhcnMgPSBwYXJzZUJv
b2xlYW5UZXN0SGVhZGVyVmFsdWUodmFsdWUpOwogICAgICAgICBwYWlyU3RhcnQgPSBwYWlyRW5k
ICsgMTsKQEAgLTE0ODAsMTMgKzE0NzgsNiBAQCBXS1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RD
b250cm9sbGVyOjpkaWRSZWNlaXZlU3luY2hyb25vdXNNZXNzYWdlRnJvbUluamVjdGVkQgogCiBX
S1JldGFpblB0cjxXS1R5cGVSZWY+IFRlc3RDb250cm9sbGVyOjpnZXRJbmplY3RlZEJ1bmRsZUlu
aXRpYWxpemF0aW9uVXNlckRhdGEoKQogewotICAgIGlmIChtX2N1cnJlbnRJbnZvY2F0aW9uLT5v
cHRpb25zKCkudXNlUlRMU2Nyb2xsYmFycykgewotICAgICAgICBXS1JldGFpblB0cjxXS1N0cmlu
Z1JlZj4ga2V5ID0gYWRvcHRXSyhXS1N0cmluZ0NyZWF0ZVdpdGhVVEY4Q1N0cmluZygiVXNlUlRM
U2Nyb2xsYmFycyIpKTsKLSAgICAgICAgV0tSZXRhaW5QdHI8V0tCb29sZWFuUmVmPiB2YWx1ZSA9
IGFkb3B0V0soV0tCb29sZWFuQ3JlYXRlKHRydWUpKTsKLSAgICAgICAgY29uc3QgV0tTdHJpbmdS
ZWYga2V5QXJyYXlbXSA9IHsga2V5LmdldCgpIH07Ci0gICAgICAgIGNvbnN0IFdLVHlwZVJlZiB2
YWx1ZUFycmF5W10gPSB7IHZhbHVlLmdldCgpIH07Ci0gICAgICAgIHJldHVybiBhZG9wdFdLKFdL
RGljdGlvbmFyeUNyZWF0ZShrZXlBcnJheSwgdmFsdWVBcnJheSwgV1RGX0FSUkFZX0xFTkdUSChr
ZXlBcnJheSkpKTsKLSAgICB9CiAgICAgcmV0dXJuIG51bGxwdHI7CiB9CiAKZGlmZiAtLWdpdCBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaCBiL1Rvb2xzL1dlYktpdFRlc3RS
dW5uZXIvVGVzdE9wdGlvbnMuaAppbmRleCAyOGFhOWUwLi41MjU4ZTI4IDEwMDY0NAotLS0gYS9U
b29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKKysrIGIvVG9vbHMvV2ViS2l0VGVz
dFJ1bm5lci9UZXN0T3B0aW9ucy5oCkBAIC00MCw3ICs0MCw2IEBAIHN0cnVjdCBUZXN0T3B0aW9u
cyB7CiAgICAgYm9vbCBpc1NWR1Rlc3QgeyBmYWxzZSB9OwogICAgIGJvb2wgaXNIaURQSVRlc3Qg
eyBmYWxzZSB9OwogICAgIGJvb2wgdXNlRGF0YURldGVjdGlvbiB7IGZhbHNlIH07Ci0gICAgYm9v
bCB1c2VSVExTY3JvbGxiYXJzIHsgZmFsc2UgfTsKICAgICBib29sIHVzZU1vY2tTY3JvbGxiYXJz
IHsgdHJ1ZSB9OwogCiAgICAgVmVjdG9yPFN0cmluZz4gb3ZlcnJpZGVMYW5ndWFnZXM7CmRpZmYg
LS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0g
Yi9Ub29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KaW5kZXgg
OTlkZjI0Yi4uZjZlOGQ0YyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMv
UGxhdGZvcm1XZWJWaWV3TWFjLm1tCisrKyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1Bs
YXRmb3JtV2ViVmlld01hYy5tbQpAQCAtMjMzLDcgKzIzMyw3IEBAIFdLUmV0YWluUHRyPFdLSW1h
Z2VSZWY+IFBsYXRmb3JtV2ViVmlldzo6d2luZG93U25hcHNob3RJbWFnZSgpCiAKIGJvb2wgUGxh
dGZvcm1XZWJWaWV3Ojp2aWV3U3VwcG9ydHNPcHRpb25zKGNvbnN0IFRlc3RPcHRpb25zJiBvcHRp
b25zKSBjb25zdAogewotICAgIGlmIChtX29wdGlvbnMudXNlVGhyZWFkZWRTY3JvbGxpbmcgIT0g
b3B0aW9ucy51c2VUaHJlYWRlZFNjcm9sbGluZyB8fCBtX29wdGlvbnMub3ZlcnJpZGVMYW5ndWFn
ZXMgIT0gb3B0aW9ucy5vdmVycmlkZUxhbmd1YWdlcyB8fCBtX29wdGlvbnMudXNlUlRMU2Nyb2xs
YmFycyAhPSBvcHRpb25zLnVzZVJUTFNjcm9sbGJhcnMgfHwgbV9vcHRpb25zLnVzZU1vY2tTY3Jv
bGxiYXJzICE9IG9wdGlvbnMudXNlTW9ja1Njcm9sbGJhcnMpCisgICAgaWYgKG1fb3B0aW9ucy51
c2VUaHJlYWRlZFNjcm9sbGluZyAhPSBvcHRpb25zLnVzZVRocmVhZGVkU2Nyb2xsaW5nIHx8IG1f
b3B0aW9ucy5vdmVycmlkZUxhbmd1YWdlcyAhPSBvcHRpb25zLm92ZXJyaWRlTGFuZ3VhZ2VzIHx8
IG1fb3B0aW9ucy51c2VNb2NrU2Nyb2xsYmFycyAhPSBvcHRpb25zLnVzZU1vY2tTY3JvbGxiYXJz
KQogICAgICAgICByZXR1cm4gZmFsc2U7CiAKICAgICByZXR1cm4gdHJ1ZTsK
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>277422</attachid>
            <date>2016-04-26 16:43:51 -0700</date>
            <delta_ts>2016-04-26 16:43:51 -0700</delta_ts>
            <desc>Addressed some review comments</desc>
            <filename>bug-156948-20160426164419.patch</filename>
            <type>text/plain</type>
            <size>141026</size>
            <attacher name="Myles C. Maxfield">mmaxfield</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjAwMTA3CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNmE3MjU2ZDVjMzhkY2E3
YmRkNjRiZDQ5OWM4N2MyZjM2ODU2OGNmNC4uODQ5Mzk0MmExM2Y3NmY5MjJhZmUyMWZjZmNhZDFj
Y2I1NmM2OWVhNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEzNSBAQAorMjAxNi0wNC0yNiAgTXls
ZXMgQy4gTWF4ZmllbGQgIDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFtP
UyBYXSBDcmVhdGUgQVBJIGZvciBzd2l0Y2hpbmcgUlRMIHNjcm9sbGJhciBwb2xpY3kKKyAgICAg
ICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njk0OAorICAgICAg
ICA8cmRhcjovL3Byb2JsZW0vMjU3MDc3NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4g
QWRsZXIuCisKKyAgICAgICAgVGhlcmUgYXJlIHR3byBzY2hvb2xzIG9mIHRob3VnaHQgZm9yIHdo
ZXJlIHRvIHB1dCBzY3JvbGxiYXJzIGluIFJUTCBlbnZpcm9ubWVudHMuCisgICAgICAgIFRoZSBm
aXJzdCBpcyB0aGF0IHdlIHNob3VsZCBvYmV5IHRoZSBjb250ZW50J3MgImRpciIgYXR0cmlidXRl
LCBzcGVjaWZpZWQgb24gZWFjaAorICAgICAgICBlbGVtZW50LiBUaGUgc2Vjb25kIGlzIHRoYXQg
d2Ugc2hvdWxkIGJlIGNvbnNpc3RlbnQgd2l0aCB0aGUgcGxhdGZvcm0gKEFwcEtpdCdzKQorICAg
ICAgICBiZWhhdmlvci4KKworICAgICAgICBUaGVyZSBhcmUgc29tZSBzaXR1YXRpb25zIHdoZXJl
IHRoZSBwbGFjZW1lbnQgc2hvdWxkIGJlIGRvbmUgYWNjb3JkaW5nIHRvIHRoZQorICAgICAgICBj
b250ZW50LiBGb3IgZXhhbXBsZSwgdGhpcyBwb2xpY3kgd291bGQgYmUgdXNlZCBpbiB3ZWIgYnJv
d3NlcnMuCisKKyAgICAgICAgSG93ZXZlciwgdGhlcmUgYXJlIGFsc28gcGxhY2VzIHdoZXJlIHdl
YiBjb250ZW50IGlzIGRlc2lnbmVkIHRvIGZpdCBzZWFtbGVzc2x5CisgICAgICAgIGFtb25nc3Qg
bmF0aXZlIGNvbnRlbnQuIEluIHRoaXMgc2l0dWF0aW9uLCB0aGUgcGxhY2VtZW50IG9mIHRoZSBz
Y3JvbGxiYXJzIHNob3VsZAorICAgICAgICBiZSBkb25lIGFjY29yZGluZyB0byB0aGUgdmlldy4K
KworICAgICAgICBCZWNhdXNlIFdlYktpdCBkb2Vzbid0IGtub3cgd2hpY2ggb2YgdGhlc2Ugc2l0
dWF0aW9ucyBpdCBpcyBvcGVyYXRpbmcgd2l0aGluLCB0aGlzCisgICAgICAgIHBhdGNoIGFkZHMg
YSBuZXcgQVBJIHByb3BlcnR5LCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LCB0bwor
ICAgICAgICBXS1dlYlZpZXdDb25maWd1cmF0aW9uUG9saWN5LiBUaGlzIGFsbG93cyBjbGllbnRz
IHRvIGluc3RydWN0IHVzIHdoaWNoIHBvbGljeSB0bworICAgICAgICBhYmlkZSBieS4gSXQgaXMg
cGx1bWJlZCB0byB0aGUgd2ViIHByb2Nlc3MgaW5zaWRlIHRoZSBXZWJQcmVmZXJlbmNlc1N0b3Jl
IGFuZCBpcworICAgICAgICB1bHRpbWF0ZWx5IGhlbGQgaW5zaWRlIHRoZSBQYWdlJ3MgU2V0dGlu
Z3Mgb2JqZWN0LgorCisgICAgICAgIFRoaXMgU2V0dGluZyBpcyBjb25zdWx0ZWQgYnkgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdCwgd2hpY2ggc2VydmVzIGFzIGEgZ29vZAorICAgICAgICBjZW50cmFs
aXplZCBwbGFjZSBmb3IgdGhpcyBwb2xpY3kgaW1wbGVtZW50YXRpb24uIFRoaXMgaXMgdGhlIGNs
YXNzIHdoaWNoIGRlY2lkZXMKKyAgICAgICAgaWYgd2Ugc2hvdWxkIGJlIGNvbnN1bHRpbmcgaXRz
IFJlbmRlclN0eWxlIG9yIHRoZSBwbGF0Zm9ybSBpdHNlbGYgd2hlbiB3ZSBkZWNpZGUKKyAgICAg
ICAgd2hlcmUgdG8gcHV0IHRoZSBzY3JvbGxiYXJzLgorCisgICAgICAgIFB1dHRpbmcgdGhpcyBk
ZWNpc2lvbiBpbnNpZGUgdGhlIHJlbmRlcmVyIGlzIGltcG9ydGFudCBiZWNhdXNlIFNjcm9sbGFi
bGVBcmVhCisgICAgICAgIG9mdGVuIG5lZWRzIHRvIGtub3cgaWYgc2Nyb2xsYmFycyBzaG91bGQg
YmUgcHV0IG9uIHRoZSBsZWZ0LCBidXQgU2Nyb2xsYWJsZUFyZWEKKyAgICAgICAgZG9lc24ndCBr
bm93IGFueXRoaW5nIGFib3V0IFJlbmRlclN0eWxlcy4gVGhlcmVmb3JlLCB0aGUgcmVuZGVyZXIg
bXVzdCBiZSB0aGUKKyAgICAgICAgaW50ZXJtZWRpYXJ5IGJldHdlZW4gU2Nyb2xsYWJsZUFyZWEg
YW5kIHRoZSBSZW5kZXJTdHlsZS4gKFNjcm9sbGFibGVBcmVhIGFsc28KKyAgICAgICAgZG9lc24n
dCBkaXJlY3RseSBrbm93IGFueXRoaW5nIGFib3V0IHJlbmRlcmVycyBlaXRoZXI7IGhvd2V2ZXIs
IGVhY2ggb2YgdGhlCisgICAgICAgIHN1YmNsYXNzZXMga25vd3MgYWJvdXQgYW4gYXBwcm9wcmlh
dGUgcmVuZGVyZXIuKSBUaGVyZWZvcmUsIFNjcm9sbGFibGVBcmVhIGdldHMKKyAgICAgICAgYSBu
ZXcgdmlydHVhbCBtZXRob2Qgd2hpY2ggaXMgaW1wbGVtZW50ZWQgYnkgdGhlIFJlbmRlckxheWVy
TW9kZWxPYmplY3QuCisKKyAgICAgICAgVGVzdHM6IGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzKi5odG1sCisKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
IFNjcm9sbGFibGVBcmVhTWFjLm1tIGlzIG5vIGxvbmdlciBuZWNlc3NhcnkuCisgICAgICAgICog
cGFnZS9GcmFtZVZpZXcuY3BwOgorICAgICAgICAoV2ViQ29yZTo6RnJhbWVWaWV3OjpzaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KTogT3ZlcnJpZGRlbgorICAgICAgICBT
Y3JvbGxhYmxlQXJlYSBmdW5jdGlvbi4KKyAgICAgICAgKiBwYWdlL0ZyYW1lVmlldy5oOgorICAg
ICAgICAqIHBhZ2UvU2V0dGluZ3MuaDoKKyAgICAgICAgKiBwYWdlL1NldHRpbmdzLmluOgorICAg
ICAgICAqIHBsYXRmb3JtL1Njcm9sbFZpZXcuY3BwOiBBZGRpbmcgdHdvIG5ldyBzZXR0aW5nczog
T25lIHRvIGtub3cgaWYgd2Ugc2hvdWxkCisgICAgICAgIGNvbnN1bHQgd2l0aCB0aGUgUmVuZGVy
U3R5bGUgb3IgdGhlIHBsYXRmb3JtLCBhbmQgdGhlIG90aGVyIGlzIHdoZXRoZXIgb3Igbm90Cisg
ICAgICAgIHRoZSBwbGF0Zm9ybSBjb25zaWRlcnMgaXRzZWxmIHRvIGJlIFJUTC4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OmRvY3VtZW50U2Nyb2xsUG9zaXRpb25SZWxhdGl2ZVRvVmll
d09yaWdpbik6IFVwZGF0ZSB0bworICAgICAgICB1c2UgbmV3IG1lY2hhbmlzbS4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OnVwZGF0ZVNjcm9sbGJhcnMpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OnNjcm9sbENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAgICAg
KFdlYkNvcmU6OlNjcm9sbFZpZXc6OmxvY2F0aW9uT2ZDb250ZW50cyk6IERpdHRvLgorICAgICAg
ICAqIHBsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlNjcm9s
bGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KTogRGVsZXRlZC4gVGhpcyB3YXMg
dGhlIG9sZAorICAgICAgICBtZWNoYW5pc20uCisgICAgICAgIChXZWJDb3JlOjpTY3JvbGxhYmxl
QXJlYTo6c3lzdGVtTGFuZ3VhZ2VJc1JUTCk6IERlbGV0ZWQuIERpdHRvLgorICAgICAgICAqIHBs
YXRmb3JtL1Njcm9sbGFibGVBcmVhLmg6CisgICAgICAgICogcGxhdGZvcm0vbWFjL1Njcm9sbGFi
bGVBcmVhTWFjLm1tOiBSZW1vdmVkLgorICAgICAgICAoV2ViQ29yZTo6U2Nyb2xsYWJsZUFyZWE6
OnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQpOiBEZWxldGVkLgorICAgICAgICAoV2ViQ29yZTo6
U2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwpOiBEZWxldGVkLgorICAgICAgICAq
IHBsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbToKKyAgICAgICAgKFdlYkNvcmU6OlNj
cm9sbGJhclRoZW1lTWFjOjpkaWRDcmVhdGVTY3JvbGxlckltcCk6IFVwZGF0ZSB0byB1c2UgbmV3
CisgICAgICAgIG1lY2hhbmlzbS4KKyAgICAgICAgKiBwbGF0Zm9ybS90ZXh0L1dyaXRpbmdNb2Rl
Lmg6IFRoZXNlIGVudW1zIHNob3VsZCBtYXRjaCB3aGF0J3MgaW4gV2ViS2l0Mi4KKyAgICAgICAg
KiByZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQmxv
Y2s6OmxvZ2ljYWxMZWZ0T2Zmc2V0Rm9yQ29udGVudCk6IFVwZGF0ZSB0byB1c2UgbmV3IG1lY2hh
bmlzbS4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRG
b3JDb250ZW50KTogRGl0dG8uCisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5j
cHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCbG9ja0Zsb3c6OmRldGVybWluZUxvZ2ljYWxM
ZWZ0UG9zaXRpb25Gb3JDaGlsZCk6IERpdHRvLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJC
b3guY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29udGVudEJveFJl
Y3QpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpvdmVyZmxvd0NsaXBSZWN0KToKKyAg
ICAgICAgKFdlYkNvcmU6OlJlbmRlckJveDo6Y29tcHV0ZVBvc2l0aW9uZWRMb2dpY2FsV2lkdGgp
OgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyQm94OjpsYXlvdXRPdmVyZmxvd1JlY3RGb3JQcm9w
YWdhdGlvbik6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcDog
RGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJCb3hNb2RlbE9iamVjdDo6Y29uc3RyYWlu
aW5nUmVjdEZvclN0aWNreVBvc2l0aW9uKToKKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5
ZXIuY3BwOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OnJlc2l6ZSk6IERpdHRvLgor
ICAgICAgICAoV2ViQ29yZTo6Y29ybmVyU3RhcnQpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVuY2Vz
LgorICAgICAgICAoV2ViQ29yZTo6Y29ybmVyUmVjdCk6IERpdHRvLgorICAgICAgICAoV2ViQ29y
ZTo6UmVuZGVyTGF5ZXI6OnNjcm9sbENvcm5lclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OnJlc2l6ZXJDb3JuZXJSZWN0KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
YXllcjo6c2Nyb2xsQ29ybmVyQW5kUmVzaXplclJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNv
cmU6OlJlbmRlckxheWVyOjp2ZXJ0aWNhbFNjcm9sbGJhclN0YXJ0KTogVXBkYXRlIHRvIHVzZSBu
ZXcgbWVjaGFuaXNtLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Omhvcml6b250YWxT
Y3JvbGxiYXJTdGFydCk6IERpdHRvLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6Om9m
ZnNldEZyb21SZXNpemVDb3JuZXIpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpwb3NpdGlvbk92ZXJmbG93Q29udHJvbHMpOiBNaWdyYXRlIHRvIHVzZSByZWZlcmVuY2Vz
LgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNpb25z
KTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6b3ZlcmZsb3dDb250cm9s
c0ludGVyc2VjdFJlY3QpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjpk
cmF3UGxhdGZvcm1SZXNpemVySW1hZ2UpOiBVcGRhdGUgdG8gdXNlIG5ldyBtZWNoYW5pc20uCisg
ICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6cGFpbnRSZXNpemVyKTogTWlncmF0ZSB0byB1
c2UgcmVmZXJlbmNlcy4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyOjppc1BvaW50SW5S
ZXNpemVDb250cm9sKTogRGl0dG8uCisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMYXllcjo6aGl0
VGVzdE92ZXJmbG93Q29udHJvbHMpOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxh
eWVyOjpoaXRUZXN0UmVzaXplckluRnJhZ21lbnRzKTogRGl0dG8uCisgICAgICAgICogcmVuZGVy
aW5nL1JlbmRlckxheWVyLmg6IFNjcm9sbGFibGVBcmVhIG92ZXJyaWRlCisgICAgICAgICogcmVu
ZGVyaW5nL1JlbmRlckxheWVyQ29tcG9zaXRvci5jcHA6CisgICAgICAgIChXZWJDb3JlOjpSZW5k
ZXJMYXllckNvbXBvc2l0b3I6OnBvc2l0aW9uRm9yQ2xpcExheWVyKTogVXBkYXRlIHRvIHVzZSBu
ZXcKKyAgICAgICAgbWVjaGFuaXNtLgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMYXllck1v
ZGVsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxheWVyTW9kZWxPYmplY3Q6
OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQpOgorICAgICAgICBUaGlz
IGlzIHRoZSBtZWF0IG9mIHRoaXMgcGF0Y2guIFRoaXMgaXMgd2hlcmUgd2UgZGVjaWRlIGlmIHdl
IHNob3VsZCBiZQorICAgICAgICBpbnRlcnJvZ2F0aW5nIHRoZSBSZW5kZXJTdHlsZSBvciB0aGUg
dW5kZXJseWluZyBwbGF0Zm9ybS4KKyAgICAgICAgKiByZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdC5oOgorICAgICAgICAqIHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcDogVXBkYXRl
IHRvIHVzZSBuZXcgbWVjaGFuaXNtLgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6
aXRlbUJvdW5kaW5nQm94UmVjdCk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpw
YWludFNjcm9sbGJhcik6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojppc1BvaW50
SW5PdmVyZmxvd0NvbnRyb2wpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6bGlz
dEluZGV4QXRPZmZzZXQpOgorICAgICAgICAoV2ViQ29yZTo6UmVuZGVyTGlzdEJveDo6Y29udHJv
bENsaXBSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmludmFsaWRhdGVT
Y3JvbGxiYXJSZWN0KToKKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlckxpc3RCb3g6OmNvbnZlcnRG
cm9tU2Nyb2xsYmFyVG9Db250YWluaW5nVmlldyk6CisgICAgICAgIChXZWJDb3JlOjpSZW5kZXJM
aXN0Qm94Ojpjb252ZXJ0RnJvbUNvbnRhaW5pbmdWaWV3VG9TY3JvbGxiYXIpOgorICAgICAgICAq
IHJlbmRlcmluZy9SZW5kZXJMaXN0Qm94Lmg6CisgICAgICAgICogcmVuZGVyaW5nL1JlbmRlclZp
ZXcuY3BwOiBEaXR0by4KKyAgICAgICAgKFdlYkNvcmU6OlJlbmRlclZpZXc6OnJlcGFpbnRWaWV3
UmVjdGFuZ2xlKToKKyAgICAgICAgKiByZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwOgor
ICAgICAgICAoV2ViQ29yZTo6UmVuZGVyU3R5bGU6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25T
Y3JvbGxiYXJPbkxlZnQpOiBUaGlzCisgICAgICAgIGZ1bmN0aW9uIGlzIG5vdyBtdWNoIGR1bWJl
ci4gSXQganVzdCBpbnNwZWN0cyBpdHMgb3duIHN0eWxlLgorICAgICAgICAqIHRlc3RpbmcvSW50
ZXJuYWxTZXR0aW5ncy5jcHA6IEFsbG93IG1vY2tpbmcuCisgICAgICAgIChXZWJDb3JlOjpJbnRl
cm5hbFNldHRpbmdzOjpCYWNrdXA6OkJhY2t1cCk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjpCYWNrdXA6OnJlc3RvcmVUbyk6CisgICAgICAgIChXZWJDb3JlOjpJbnRlcm5h
bFNldHRpbmdzOjp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KToKKyAgICAgICAgKFdl
YkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3kpOgorICAgICAgICAoV2ViQ29yZTo6SW50ZXJuYWxTZXR0aW5nczo6c3lzdGVtTGF5b3V0RGly
ZWN0aW9uKToKKyAgICAgICAgKFdlYkNvcmU6OkludGVybmFsU2V0dGluZ3M6OnNldFN5c3RlbUxh
eW91dERpcmVjdGlvbik6CisgICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmg6Cisg
ICAgICAgICogdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbDoKKwogMjAxNi0wNC0yNiAgRmls
aXAgUGl6bG8gIDxmcGl6bG9AYXBwbGUuY29tPgogCiAgICAgICAgIFdlYkNvcmUgb24gTWFjIGln
bm9yZXMgdGhlIHVzZXIncyBwcmVmZXJyZWQgcmVnaW9uIChjb3VudHJ5KSB3aGlsZSBnZXR0aW5n
IHRoZSBsYW5ndWFnZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvQ2hhbmdlTG9nIGIvU291
cmNlL1dlYktpdDIvQ2hhbmdlTG9nCmluZGV4IGY5NjBmNDZjZWVhM2I5OGZkY2FlYTY1Mzk4YmQ5
Y2IwMDA4M2FiNDQuLjY4M2JmYmExNDc2OTJlZWE2YmY1YTIwYjA5ODliZmI5ZTlmMDcxMGYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL0NoYW5nZUxvZworKysgYi9Tb3VyY2UvV2ViS2l0Mi9D
aGFuZ2VMb2cKQEAgLTEsMyArMSwyNyBAQAorMjAxNi0wNC0yNiAgTXlsZXMgQy4gTWF4ZmllbGQg
IDxtbWF4ZmllbGRAYXBwbGUuY29tPgorCisgICAgICAgIFtXSzJdIFtPUyBYXSBDcmVhdGUgQVBJ
IGZvciBzd2l0Y2hpbmcgUlRMIHNjcm9sbGJhciBwb2xpY3kKKyAgICAgICAgaHR0cHM6Ly9idWdz
LndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTE1Njk0OAorICAgICAgICA8cmRhcjovL3Byb2Js
ZW0vMjU3MDc3NTc+CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAg
ICAgQWRkIHRoZSBuZXcgQVBJLgorCisgICAgICAgICogU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVm
aW5pdGlvbnMuaDoKKyAgICAgICAgKiBVSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbToK
KyAgICAgICAgKC1bV0tXZWJWaWV3IF9pbml0aWFsaXplV2l0aENvbmZpZ3VyYXRpb246XSk6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmg6Cisg
ICAgICAgICogVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLm1tOgor
ICAgICAgICAoLVtXS1dlYlZpZXdDb25maWd1cmF0aW9uIGluaXRdKToKKyAgICAgICAgKC1bV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiBlbmNvZGVXaXRoQ29kZXI6XSk6CisgICAgICAgICgtW1dLV2Vi
Vmlld0NvbmZpZ3VyYXRpb24gaW5pdFdpdGhDb2RlcjpdKToKKyAgICAgICAgKC1bV0tXZWJWaWV3
Q29uZmlndXJhdGlvbiBjb3B5V2l0aFpvbmU6XSk6CisgICAgICAgICogVUlQcm9jZXNzL1dlYlBh
Z2VQcm94eS5jcHA6CisgICAgICAgICogV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9EZXByZWNhdGVk
UERGUGx1Z2luLmg6CisgICAgICAgICogV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwOgor
ICAgICAgICAoV2ViS2l0OjpXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyk6CisKIDIwMTYtMDQt
MjYgIEJldGggRGFraW4gIDxiZGFraW5AYXBwbGUuY29tPgogCiAgICAgICAgIENoZWNrIHRvIG1h
a2Ugc3VyZSBzaG91bGRSZXF1ZXN0Q2FuZGlkYXRlcygpIGJlZm9yZSByZXF1ZXN0aW5nIGNhbmRp
ZGF0ZXMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4
cHJvagppbmRleCA5NmJlZDE1OTAzN2JjY2NhOTE3ZDEyMzAzMzJhMDQwZDE0MDZiNWQ0Li4xMWMw
MjI4NTYyYjRjYWQxZDBlNTMwNjJiOWU4OGIyNTQxOGQ4ODVmIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291cmNlL1dl
YkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC05NzYsNyArOTc2LDYg
QEAKIAkJMUM4MUI5NUEwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDFDODFCOTU2MEU5
NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJMUM4MUI5NUIwRTk3MzMwODAwMjY2RTA3
IC8qIEluc3BlY3RvckNvbnRyb2xsZXIuY3BwIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gMUM4MUI5NTcwRTk3MzMwODAwMjY2RTA3IC8qIEluc3BlY3RvckNv
bnRyb2xsZXIuY3BwICovOyB9OwogCQkxQzgxQjk1QzBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVj
dG9yQ2xpZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQzgxQjk1ODBFOTczMzA4MDAyNjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJMUM5OTU0MkUxQzkyMTA1
MjAwREJEMjI2IC8qIFNjcm9sbGFibGVBcmVhTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUM5OTU0MkQxQzkyMTA1MjAwREJEMjI2IC8qIFNjcm9s
bGFibGVBcmVhTWFjLm1tICovOyB9OwogCQkxQ0ExOUUwNTBEQzI1NTk1MDA2NUE5OTQgLyogRXZl
bnRMb29wTWFjLm1tIGluIFNvdXJjZXMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gMUNBMTlFMDMwREMyNTU5NTAwNjVBOTk0IC8qIEV2ZW50TG9vcE1hYy5tbSAqLzsgfTsKIAkJ
MUNBMTlFMTYwREMyNTVDQTAwNjVBOTk0IC8qIEV2ZW50TG9vcC5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gMUNBMTlFMTUwREMyNTVDQTAwNjVBOTk0IC8q
IEV2ZW50TG9vcC5oICovOyB9OwogCQkxQ0FGMzQ4MTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2Ny
aXB0T2JqZWN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYg
PSAxQ0FGMzQ3RTBBNkM0MDUyMDBBQkUwNkUgLyogV2ViU2NyaXB0T2JqZWN0LmggKi87IHNldHRp
bmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTg0MjYsNyArODQyNSw2
IEBACiAJCTFDODFCOTU3MEU5NzMzMDgwMDI2NkUwNyAvKiBJbnNwZWN0b3JDb250cm9sbGVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3RvckNvbnRyb2xs
ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzgxQjk1ODBFOTczMzA4MDAy
NjZFMDcgLyogSW5zcGVjdG9yQ2xpZW50LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0
aCA9IEluc3BlY3RvckNsaWVudC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQkxQzkw
NERGOTBCQTlEMkM4MDA4MUU5RDAgLyogVmVyc2lvbi54Y2NvbmZpZyAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHRleHQu
eGNjb25maWc7IHBhdGggPSBWZXJzaW9uLnhjY29uZmlnOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQkxQzk5NTQyRDFDOTIxMDUyMDBEQkQyMjYgLyogU2Nyb2xsYWJsZUFyZWFNYWMubW0g
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5vYmpjcHA7IHBhdGggPSBTY3JvbGxhYmxlQXJlYU1h
Yy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNBMTlFMDMwREMyNTU5NTAwNjVB
OTk0IC8qIEV2ZW50TG9vcE1hYy5tbSAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLm9iamNwcDsg
cGF0aCA9IEV2ZW50TG9vcE1hYy5tbTsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJMUNB
MTlFMTUwREMyNTVDQTAwNjVBOTk0IC8qIEV2ZW50TG9vcC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBFdmVudExvb3AuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJ
MUNBRjM0N0UwQTZDNDA1MjAwQUJFMDZFIC8qIFdlYlNjcmlwdE9iamVjdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBXZWJTY3JpcHRPYmplY3QuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKQEAgLTE3OTE4LDcgKzE3OTE2LDYgQEAKIAkJCQlDRDgyMDMwRTEzOTVBQ0U3
MDBGOTU2QzYgLyogV2ViV2luZG93QW5pbWF0aW9uLmggKi8sCiAJCQkJQ0Q4MjAzMEYxMzk1QUNF
NzAwRjk1NkM2IC8qIFdlYldpbmRvd0FuaW1hdGlvbi5tbSAqLywKIAkJCQk5MzgwRjQ3NzA5QTEx
QUNDMDAxRkRCMzQgLyogV2lkZ2V0TWFjLm1tICovLAotCQkJCTFDOTk1NDJEMUM5MjEwNTIwMERC
RDIyNiAvKiBTY3JvbGxhYmxlQXJlYU1hYy5tbSAqLywKIAkJCSk7CiAJCQlwYXRoID0gbWFjOwog
CQkJc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsKQEAgLTMxMjAxLDcgKzMxMTk4LDYgQEAKIAkJCQlG
NTVCM0RDQjEyNTFGMTJEMDAzRUYyNjkgLyogUmFkaW9JbnB1dFR5cGUuY3BwIGluIFNvdXJjZXMg
Ki8sCiAJCQkJQjY1OEZGQTUxNTIyRUZBQTAwREQ1NTk1IC8qIFJhZGlvTm9kZUxpc3QuY3BwIGlu
IFNvdXJjZXMgKi8sCiAJCQkJOTNGMTlBQjkwODI0NUU1OTAwMUU5QUJDIC8qIFJhbmdlLmNwcCBp
biBTb3VyY2VzICovLAotCQkJCTFDOTk1NDJFMUM5MjEwNTIwMERCRDIyNiAvKiBTY3JvbGxhYmxl
QXJlYU1hYy5tbSBpbiBTb3VyY2VzICovLAogCQkJCUY1NUIzRENEMTI1MUYxMkQwMDNFRjI2OSAv
KiBSYW5nZUlucHV0VHlwZS5jcHAgaW4gU291cmNlcyAqLywKIAkJCQk2RTg0RTlFMDE3NjY4QkVF
MDA4MTVCNjggLyogUmFzdGVyU2hhcGUuY3BwIGluIFNvdXJjZXMgKi8sCiAJCQkJRkQzMTYwM0Ix
MkIwMjY3NjAwQzFBMzU5IC8qIFJlYWx0aW1lQW5hbHlzZXIuY3BwIGluIFNvdXJjZXMgKi8sCmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9wYWdlL0ZyYW1lVmlldy5jcHAKaW5kZXggN2E5YzNjYTAxNTZkMGE2OTNjZTY0ZTNlOTA4
NzU2MjE4NTY5NTFlZS4uMGE2Y2YwNDU0YjVkNzhlZjY5OTllYTAyNzBkZDdhM2VjYzIwZGFiMCAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuY3BwCisrKyBiL1NvdXJj
ZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmNwcApAQCAtNDk2OCw1ICs0OTY4LDEwIEBAIEludFNp
emUgRnJhbWVWaWV3Ojp2aWV3cG9ydFNpemVGb3JDU1NWaWV3cG9ydFVuaXRzKCkgY29uc3QKICAg
ICAvLyBwcm9wZXJ0eSBvbiB0aGUgcm9vdCBlbGVtZW50LgogICAgIHJldHVybiB2aXNpYmxlQ29u
dGVudFJlY3RJbmNsdWRpbmdTY3JvbGxiYXJzKCkuc2l6ZSgpOwogfQorCitib29sIEZyYW1lVmll
dzo6c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0Cit7Cisg
ICAgcmV0dXJuIHJlbmRlclZpZXcoKSAmJiByZW5kZXJWaWV3KCktPnNob3VsZFBsYWNlQmxvY2tE
aXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKTsKK30KICAgICAKIH0gLy8gbmFtZXNwYWNlIFdlYkNv
cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmggYi9Tb3VyY2Uv
V2ViQ29yZS9wYWdlL0ZyYW1lVmlldy5oCmluZGV4IDk3NzUzZGMyMTM1M2I2YzA0ZWNjODY5MmRk
ZDc4NTQxY2M1ODVhYjQuLmFjMzczYjFmMTRjMjdkZWIyNTI1MTA5ZTZjZTJiODY1ODQwZDRkYTEg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvRnJhbWVWaWV3LmgKKysrIGIvU291cmNl
L1dlYkNvcmUvcGFnZS9GcmFtZVZpZXcuaApAQCAtNTU3LDYgKzU1Nyw4IEBAIHB1YmxpYzoKIAog
ICAgIHZvaWQgc2hvdygpIG92ZXJyaWRlOwogCisgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGly
ZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgY29uc3QgZmluYWw7CisKIHByb3RlY3RlZDoKICAgICBi
b29sIHNjcm9sbENvbnRlbnRzRmFzdFBhdGgoY29uc3QgSW50U2l6ZSYgc2Nyb2xsRGVsdGEsIGNv
bnN0IEludFJlY3QmIHJlY3RUb1Njcm9sbCwgY29uc3QgSW50UmVjdCYgY2xpcFJlY3QpIG92ZXJy
aWRlOwogICAgIHZvaWQgc2Nyb2xsQ29udGVudHNTbG93UGF0aChjb25zdCBJbnRSZWN0JiB1cGRh
dGVSZWN0KSBvdmVycmlkZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGlu
Z3MuaCBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaAppbmRleCBkMjYwMGY1M2MzYjIz
Mzk5NzgzMjRkNDIzZWRmNTdkYmE1MTJhZjY4Li5kYTE0ZmFhMTlmYzA5NDZiNGU1YjY2ZThlMDRl
YjJmNGNjNTg1NDFlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wYWdlL1NldHRpbmdzLmgK
KysrIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5oCkBAIC0zNSw2ICszNSw3IEBACiAj
aW5jbHVkZSAiVGV4dEZsYWdzLmgiCiAjaW5jbHVkZSAiVGltZXIuaCIKICNpbmNsdWRlICJVUkwu
aCIKKyNpbmNsdWRlICJXcml0aW5nTW9kZS5oIgogI2luY2x1ZGUgPGNocm9ubz4KICNpbmNsdWRl
IDxydW50aW1lL1J1bnRpbWVGbGFncy5oPgogI2luY2x1ZGUgPHVuaWNvZGUvdXNjcmlwdC5oPgpA
QCAtNzEsNiArNzIsMTEgQEAgZW51bSBEZWJ1Z092ZXJsYXlSZWdpb25GbGFncyB7CiAgICAgV2hl
ZWxFdmVudEhhbmRsZXJSZWdpb24gPSAxIDw8IDEsCiB9OwogCitlbnVtIGNsYXNzIFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgeworICAgIENvbnRlbnQsCisgICAgVmlldworfTsKKwog
dHlwZWRlZiB1bnNpZ25lZCBEZWJ1Z092ZXJsYXlSZWdpb25zOwogCiBjbGFzcyBTZXR0aW5ncyA6
IHB1YmxpYyBSZWZDb3VudGVkPFNldHRpbmdzPiB7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wYWdlL1NldHRpbmdzLmluIGIvU291cmNlL1dlYkNvcmUvcGFnZS9TZXR0aW5ncy5pbgppbmRl
eCAwNGYxMzg3ZDRjMWExMDEzMjI4NjIzODdkN2VlNTdjNDU3YmE0ZGUxLi5lZGI1MTk3NTdlNTEx
OGU4NmIxMWUxOGZjY2JlZjdjNWQzOGZjY2VkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9w
YWdlL1NldHRpbmdzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BhZ2UvU2V0dGluZ3MuaW4KQEAg
LTI1MSwzICsyNTEsNiBAQCBodHRwRXF1aXZFbmFibGVkIGluaXRpYWw9dHJ1ZQogIyBlbmZvcmNl
cyBhbGwgZnJhbWUgc2FuZGJveCBmbGFncyAoc2VlIGVudW0gU2FuZGJveEZsYWcgaW4gU2VjdXJp
dHlDb250ZXh0LmgpLCBhbmQgYWxzbyBkaXNhYmxlcyA8bWV0YSBodHRwLWVxdWl2PgogIyBwcm9j
ZXNzaW5nIGFuZCBzdWJmcmFtZSBsb2FkaW5nLgogY29udGVudERpc3Bvc2l0aW9uQXR0YWNobWVu
dFNhbmRib3hFbmFibGVkIGluaXRpYWw9ZmFsc2UKKwordmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSB0eXBlPVZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ksIGluaXRpYWw9VmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudAorc3lzdGVtTGF5b3V0RGlyZWN0
aW9uIHR5cGU9VGV4dERpcmVjdGlvbiwgaW5pdGlhbD1MVFIKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL3BsYXRmb3JtL1Njcm9sbFZpZXcuY3BwIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0v
U2Nyb2xsVmlldy5jcHAKaW5kZXggZjc5ZDc3NWZkNmZkN2M2N2FhNmJkY2NmNjAwNTljNTkzZWMz
MWViMS4uZjIyZDZiZjg5Y2YyZGI2Mzk5MjYzY2M5MDlmNjI4Njc3ODE4NTcwNSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsVmlldy5jcHAKQEAgLTQwNSw3ICs0MDUsNyBAQCBTY3JvbGxQ
b3NpdGlvbiBTY3JvbGxWaWV3OjphZGp1c3RTY3JvbGxQb3NpdGlvbldpdGhpblJhbmdlKGNvbnN0
IFNjcm9sbFBvc2l0aW9uJgogU2Nyb2xsUG9zaXRpb24gU2Nyb2xsVmlldzo6ZG9jdW1lbnRTY3Jv
bGxQb3NpdGlvblJlbGF0aXZlVG9WaWV3T3JpZ2luKCkgY29uc3QKIHsKICAgICByZXR1cm4gc2Ny
b2xsUG9zaXRpb24oKSAtIEludFNpemUoCi0gICAgICAgIHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxl
ZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyID8gbV92ZXJ0aWNhbFNjcm9sbGJhci0+b2NjdXBp
ZWRXaWR0aCgpIDogMCwKKyAgICAgICAgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJh
ck9uTGVmdCgpICYmIG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5v
Y2N1cGllZFdpZHRoKCkgOiAwLAogICAgICAgICBoZWFkZXJIZWlnaHQoKSArIHRvcENvbnRlbnRJ
bnNldChUb3BDb250ZW50SW5zZXRUeXBlOjpXZWJDb3JlT3JQbGF0Zm9ybUNvbnRlbnRJbnNldCkp
OwogfQogCkBAIC03MTksNyArNzE5LDcgQEAgdm9pZCBTY3JvbGxWaWV3Ojp1cGRhdGVTY3JvbGxi
YXJzKGNvbnN0IFNjcm9sbFBvc2l0aW9uJiBkZXNpcmVkUG9zaXRpb24pCiAgICAgICAgIGludCBj
bGllbnRXaWR0aCA9IHZpc2libGVXaWR0aCgpOwogICAgICAgICBpbnQgcGFnZVN0ZXAgPSBTY3Jv
bGxiYXI6OnBhZ2VTdGVwKGNsaWVudFdpZHRoKTsKICAgICAgICAgSW50UmVjdCBvbGRSZWN0KG1f
aG9yaXpvbnRhbFNjcm9sbGJhci0+ZnJhbWVSZWN0KCkpOwotICAgICAgICBJbnRSZWN0IGhCYXJS
ZWN0KHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3ZlcnRpY2FsU2Nyb2xsYmFyID8g
bV92ZXJ0aWNhbFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpIDogMCwKKyAgICAgICAgSW50UmVj
dCBoQmFyUmVjdChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYg
bV92ZXJ0aWNhbFNjcm9sbGJhciA/IG1fdmVydGljYWxTY3JvbGxiYXItPm9jY3VwaWVkV2lkdGgo
KSA6IDAsCiAgICAgICAgICAgICBoZWlnaHQoKSAtIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+aGVp
Z2h0KCksCiAgICAgICAgICAgICB3aWR0aCgpIC0gKG1fdmVydGljYWxTY3JvbGxiYXIgPyBtX3Zl
cnRpY2FsU2Nyb2xsYmFyLT5vY2N1cGllZFdpZHRoKCkgOiAwKSwKICAgICAgICAgICAgIG1faG9y
aXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0KCkpOwpAQCAtNzQwLDcgKzc0MCw3IEBAIHZvaWQgU2Ny
b2xsVmlldzo6dXBkYXRlU2Nyb2xsYmFycyhjb25zdCBTY3JvbGxQb3NpdGlvbiYgZGVzaXJlZFBv
c2l0aW9uKQogICAgICAgICBpbnQgY2xpZW50SGVpZ2h0ID0gdmlzaWJsZUhlaWdodCgpOwogICAg
ICAgICBpbnQgcGFnZVN0ZXAgPSBTY3JvbGxiYXI6OnBhZ2VTdGVwKGNsaWVudEhlaWdodCk7CiAg
ICAgICAgIEludFJlY3Qgb2xkUmVjdChtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5mcmFtZVJlY3QoKSk7
Ci0gICAgICAgIEludFJlY3QgdkJhclJlY3QodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8g
MCA6IHdpZHRoKCkgLSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT53aWR0aCgpLAorICAgICAgICBJbnRS
ZWN0IHZCYXJSZWN0KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/
IDAgOiB3aWR0aCgpIC0gbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lkdGgoKSwKICAgICAgICAgICAg
IHRvcENvbnRlbnRJbnNldCgpLAogICAgICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJhci0+d2lk
dGgoKSwKICAgICAgICAgICAgIGhlaWdodCgpIC0gdG9wQ29udGVudEluc2V0KCkgLSAobV9ob3Jp
em9udGFsU2Nyb2xsYmFyID8gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT5vY2N1cGllZEhlaWdodCgp
IDogMCkpOwpAQCAtMTEzNCwxNCArMTEzNCwxNCBAQCBJbnRSZWN0IFNjcm9sbFZpZXc6OnNjcm9s
bENvcm5lclJlY3QoKSBjb25zdAogICAgIGludCBoZWlnaHRUcmFja2VkQnlTY3JvbGxiYXIgPSBo
ZWlnaHQoKSAtIHRvcENvbnRlbnRJbnNldCgpOwogCiAgICAgaWYgKG1faG9yaXpvbnRhbFNjcm9s
bGJhciAmJiB3aWR0aCgpIC0gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgpID4gMCkgewot
ICAgICAgICBjb3JuZXJSZWN0LnVuaXRlKEludFJlY3QodmVydGljYWxTY3JvbGxiYXJJc09uTGVm
dCgpID8gMCA6IG1faG9yaXpvbnRhbFNjcm9sbGJhci0+d2lkdGgoKSwKKyAgICAgICAgY29ybmVy
UmVjdC51bml0ZShJbnRSZWN0KHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxl
ZnQoKSA/IDAgOiBtX2hvcml6b250YWxTY3JvbGxiYXItPndpZHRoKCksCiAgICAgICAgICAgICBo
ZWlnaHQoKSAtIG1faG9yaXpvbnRhbFNjcm9sbGJhci0+aGVpZ2h0KCksCiAgICAgICAgICAgICB3
aWR0aCgpIC0gbV9ob3Jpem9udGFsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAgbV9o
b3Jpem9udGFsU2Nyb2xsYmFyLT5oZWlnaHQoKSkpOwogICAgIH0KIAogICAgIGlmIChtX3ZlcnRp
Y2FsU2Nyb2xsYmFyICYmIGhlaWdodFRyYWNrZWRCeVNjcm9sbGJhciAtIG1fdmVydGljYWxTY3Jv
bGxiYXItPmhlaWdodCgpID4gMCkgewotICAgICAgICBjb3JuZXJSZWN0LnVuaXRlKEludFJlY3Qo
dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gMCA6IHdpZHRoKCkgLSBtX3ZlcnRpY2FsU2Ny
b2xsYmFyLT53aWR0aCgpLAorICAgICAgICBjb3JuZXJSZWN0LnVuaXRlKEludFJlY3Qoc2hvdWxk
UGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gMCA6IHdpZHRoKCkgLSBtX3Zl
cnRpY2FsU2Nyb2xsYmFyLT53aWR0aCgpLAogICAgICAgICAgICAgbV92ZXJ0aWNhbFNjcm9sbGJh
ci0+aGVpZ2h0KCkgKyB0b3BDb250ZW50SW5zZXQoKSwKICAgICAgICAgICAgIG1fdmVydGljYWxT
Y3JvbGxiYXItPndpZHRoKCksCiAgICAgICAgICAgICBoZWlnaHRUcmFja2VkQnlTY3JvbGxiYXIg
LSBtX3ZlcnRpY2FsU2Nyb2xsYmFyLT5oZWlnaHQoKSkpOwpAQCAtMTUwMiw3ICsxNTAyLDcgQEAg
dm9pZCBTY3JvbGxWaWV3OjpzdHlsZURpZENoYW5nZSgpCiBJbnRQb2ludCBTY3JvbGxWaWV3Ojps
b2NhdGlvbk9mQ29udGVudHMoKSBjb25zdAogewogICAgIEludFBvaW50IHJlc3VsdCA9IGxvY2F0
aW9uKCk7Ci0gICAgaWYgKHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSAmJiBtX3ZlcnRpY2Fs
U2Nyb2xsYmFyKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25M
ZWZ0KCkgJiYgbV92ZXJ0aWNhbFNjcm9sbGJhcikKICAgICAgICAgcmVzdWx0Lm1vdmUobV92ZXJ0
aWNhbFNjcm9sbGJhci0+b2NjdXBpZWRXaWR0aCgpLCAwKTsKICAgICByZXR1cm4gcmVzdWx0Owog
fQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3Bw
IGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuY3BwCmluZGV4IGQzYTM1
ZTIxMWM5MmFmZWJmODQ0NGFlZDA0MjE0MzM4OGU2NDQzNmUuLjYwZmU5M2RhZGQ2NTcwOWEwMjEw
NjA2ODlkMjQ2YTU1NTVjM2U4MmYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3Jt
L1Njcm9sbGFibGVBcmVhLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxh
YmxlQXJlYS5jcHAKQEAgLTY4OSwxNiArNjg5LDQgQEAgdm9pZCBTY3JvbGxhYmxlQXJlYTo6Y29t
cHV0ZVNjcm9sbGJhclZhbHVlQW5kT3ZlcmhhbmcoZmxvYXQgY3VycmVudFBvc2l0aW9uLCBmbG8K
ICAgICB9CiB9CiAKLSNpZiAhUExBVEZPUk0oQ09DT0EpCi1ib29sIFNjcm9sbGFibGVBcmVhOjp2
ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gZmFsc2U7Ci19
Ci0KLWJvb2wgU2Nyb2xsYWJsZUFyZWE6OnN5c3RlbUxhbmd1YWdlSXNSVEwoKQotewotICAgIHJl
dHVybiBmYWxzZTsKLX0KLSNlbmRpZgotCiB9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJlYS5oIGIvU291cmNlL1dl
YkNvcmUvcGxhdGZvcm0vU2Nyb2xsYWJsZUFyZWEuaAppbmRleCAzZmRhYWI0Y2QzY2FkNmM3ODJh
OGFlNmRjNDdhMGI5NjYwOWJmNmMxLi4wOTlhMzUxNGI0ZGNkNTY5NTFjNDZkZWUxZGFkYzA5ODkx
NTRhNDRkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9TY3JvbGxhYmxlQXJl
YS5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRmb3JtL1Njcm9sbGFibGVBcmVhLmgKQEAgLTMx
NSw4ICszMTUsNyBAQCBwdWJsaWM6CiAgICAgdmlydHVhbCBib29sIHVzZXNNb2NrU2Nyb2xsQW5p
bWF0b3IoKSBjb25zdCB7IHJldHVybiBmYWxzZTsgfQogICAgIHZpcnR1YWwgdm9pZCBsb2dNb2Nr
U2Nyb2xsQW5pbWF0b3JNZXNzYWdlKGNvbnN0IFN0cmluZyYpIGNvbnN0IHsgfTsKIAotICAgIGJv
b2wgdmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpIGNvbnN0OwotICAgIHN0YXRpYyBib29sIHN5
c3RlbUxhbmd1YWdlSXNSVEwoKTsKKyAgICB2aXJ0dWFsIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0ID0gMDsKIAogcHJvdGVjdGVkOgogICAgIFdF
QkNPUkVfRVhQT1JUIFNjcm9sbGFibGVBcmVhKCk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYWJsZUFyZWFNYWMubW0gYi9Tb3VyY2UvV2ViQ29yZS9wbGF0
Zm9ybS9tYWMvU2Nyb2xsYWJsZUFyZWFNYWMubW0KZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDI3ZTU1YWU5OTY4ODI4MWM4NTQ1NjBiNjc3ZWM4NmVmNTUxZWQ1ZDkuLjAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvcGxhdGZv
cm0vbWFjL1Njcm9sbGFibGVBcmVhTWFjLm1tCisrKyAvZGV2L251bGwKQEAgLTEsNTcgKzAsMCBA
QAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxNiBBcHBsZSBJbmMuIEFsbCBSaWdodHMgUmVzZXJ2
ZWQuCi0gKiAKLSAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkg
Zm9ybXMsIHdpdGggb3Igd2l0aG91dAotICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHBy
b3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zIGFyZQotICogbWV0OgotICogCi0g
KiAgICAgKiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAotICogbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhl
IGZvbGxvd2luZyBkaXNjbGFpbWVyLgotICogICAgICogUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZQotICogY29weXJpZ2h0IG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lcgotICogaW4g
dGhlIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRo
ZQotICogZGlzdHJpYnV0aW9uLgotICogICAgICogTmVpdGhlciB0aGUgbmFtZSBvZiBHb29nbGUg
SW5jLiBub3IgdGhlIG5hbWVzIG9mIGl0cwotICogY29udHJpYnV0b3JzIG1heSBiZSB1c2VkIHRv
IGVuZG9yc2Ugb3IgcHJvbW90ZSBwcm9kdWN0cyBkZXJpdmVkIGZyb20KLSAqIHRoaXMgc29mdHdh
cmUgd2l0aG91dCBzcGVjaWZpYyBwcmlvciB3cml0dGVuIHBlcm1pc3Npb24uCi0gKiAKLSAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgVEhFIENPUFlSSUdIVCBIT0xERVJTIEFORCBDT05U
UklCVVRPUlMKLSAqICJBUyBJUyIgQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElF
UywgSU5DTFVESU5HLCBCVVQgTk9UCi0gKiBMSU1JVEVEIFRPLCBUSEUgSU1QTElFRCBXQVJSQU5U
SUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IKLSAqIEEgUEFSVElDVUxBUiBQ
VVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBUSEUgQ09QWVJJR0hUCi0g
KiBPV05FUiBPUiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVD
VCwgSU5DSURFTlRBTCwKLSAqIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBE
QU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QKLSAqIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9G
IFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLAotICogREFUQSwgT1Ig
UFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04g
QU5ZCi0gKiBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1Qg
TElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNF
KSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUs
IEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIlNjcm9sbGFibGVBcmVhLmgiCi0KLSNp
ZiBQTEFURk9STShNQUMpCi0jaW5jbHVkZSAiTlNTY3JvbGxlckltcFNQSS5oIgotI2VuZGlmCi0K
LW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotLy8gSXQncyBjb25jZWl2YWJsZSB0aGF0IGluIHRoZSBm
dXR1cmUsIHdlIG1heSB3YW50IHNvbWUgc2Nyb2xsYmFycyB0byBiZSBvbiB0aGUgcmlnaHQgd2hp
bGUgb3RoZXIgc2Nyb2xsYmFycyBpbiB0aGUgc2FtZSBkb2N1bWVudCBhcmUgb24gdGhlIGxlZnQu
Ci0vLyBUaGlzIG5vbi1zdGF0aWMgZnVuY3Rpb24gb24gdGhlIFNjcm9sbGFibGVBcmVhIG1ha2Vz
IHRoYXQgcG9zc2libGUuCi1ib29sIFNjcm9sbGFibGVBcmVhOjp2ZXJ0aWNhbFNjcm9sbGJhcklz
T25MZWZ0KCkgY29uc3QKLXsKLSAgICByZXR1cm4gc3lzdGVtTGFuZ3VhZ2VJc1JUTCgpOwotfQot
Ci1ib29sIFNjcm9sbGFibGVBcmVhOjpzeXN0ZW1MYW5ndWFnZUlzUlRMKCkKLXsKLSNpZiBQTEFU
Rk9STShNQUMpICYmIF9fTUFDX09TX1hfVkVSU0lPTl9NSU5fUkVRVUlSRUQgPj0gMTAxMjAwCi0g
ICAgc3RhdGljIGJvb2wgcmVzdWx0ID0gW1tOU1Njcm9sbGVySW1wUGFpciBjbGFzc10gcmVzcG9u
ZHNUb1NlbGVjdG9yOkBzZWxlY3RvcihzY3JvbGxlckxheW91dERpcmVjdGlvbildICYmIFtOU1Nj
cm9sbGVySW1wUGFpciBzY3JvbGxlckxheW91dERpcmVjdGlvbl0gPT0gTlNVc2VySW50ZXJmYWNl
TGF5b3V0RGlyZWN0aW9uUmlnaHRUb0xlZnQ7Ci0gICAgcmV0dXJuIHJlc3VsdDsKLSNlbHNlCi0g
ICAgcmV0dXJuIGZhbHNlOwotI2VuZGlmCi19Ci0KLX0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3BsYXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbSBiL1NvdXJjZS9XZWJDb3JlL3Bs
YXRmb3JtL21hYy9TY3JvbGxiYXJUaGVtZU1hYy5tbQppbmRleCBmMjM5NjYxZjk1ZDBjZmY5MmI2
MDlhYjJlY2M3MTE5YmUyODA5NmQ5Li45OWUwMmFlNDg0ZjA0MGY3YjBjMzFmZmMyOWViOTVhYWE0
MjU2MDc3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS9tYWMvU2Nyb2xsYmFy
VGhlbWVNYWMubW0KKysrIGIvU291cmNlL1dlYkNvcmUvcGxhdGZvcm0vbWFjL1Njcm9sbGJhclRo
ZW1lTWFjLm1tCkBAIC0xNTgsNyArMTU4LDcgQEAgdm9pZCBTY3JvbGxiYXJUaGVtZU1hYzo6ZGlk
Q3JlYXRlU2Nyb2xsZXJJbXAoU2Nyb2xsYmFyJiBzY3JvbGxiYXIpCiAjaWYgUExBVEZPUk0oTUFD
KSAmJiBfX01BQ19PU19YX1ZFUlNJT05fTUlOX1JFUVVJUkVEID49IDEwMTIwMAogICAgIE5TU2Ny
b2xsZXJJbXAgKnNjcm9sbGVySW1wID0gcGFpbnRlckZvclNjcm9sbGJhcihzY3JvbGxiYXIpOwog
ICAgIEFTU0VSVChzY3JvbGxlckltcCk7Ci0gICAgc2Nyb2xsZXJJbXAudXNlckludGVyZmFjZUxh
eW91dERpcmVjdGlvbiA9IHNjcm9sbGJhci5zY3JvbGxhYmxlQXJlYSgpLnZlcnRpY2FsU2Nyb2xs
YmFySXNPbkxlZnQoKSA/IE5TVXNlckludGVyZmFjZUxheW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0
IDogTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uTGVmdFRvUmlnaHQ7CisgICAgc2Nyb2xs
ZXJJbXAudXNlckludGVyZmFjZUxheW91dERpcmVjdGlvbiA9IHNjcm9sbGJhci5zY3JvbGxhYmxl
QXJlYSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IE5TVXNl
ckludGVyZmFjZUxheW91dERpcmVjdGlvblJpZ2h0VG9MZWZ0IDogTlNVc2VySW50ZXJmYWNlTGF5
b3V0RGlyZWN0aW9uTGVmdFRvUmlnaHQ7CiAjZWxzZQogICAgIFVOVVNFRF9QQVJBTShzY3JvbGxi
YXIpOwogI2VuZGlmCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9w
dXBNZW51V2luLmggYi9Tb3VyY2UvV2ViQ29yZS9wbGF0Zm9ybS93aW4vUG9wdXBNZW51V2luLmgK
aW5kZXggMzEwNjFiNmVkNDg0OGQwZmY4MDRiZjM2NjhiNzkwZTBmNTY4NGY5YS4uYjBmZDZjM2Ey
NDZiZjlmMDViNmMxNzQ4ZDliZGJhOTc2ZjQ3OGJjYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcGxhdGZvcm0vd2luL1BvcHVwTWVudVdpbi5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3BsYXRm
b3JtL3dpbi9Qb3B1cE1lbnVXaW4uaApAQCAtMTA4LDYgKzEwOCw3IEBAIHByaXZhdGU6CiAgICAg
SW50UmVjdCBzY3JvbGxhYmxlQXJlYUJvdW5kaW5nQm94KGJvb2wqID0gbnVsbHB0cikgY29uc3Qg
b3ZlcnJpZGU7CiAgICAgYm9vbCB1cGRhdGVzU2Nyb2xsTGF5ZXJQb3NpdGlvbk9uTWFpblRocmVh
ZCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIHRydWU7IH0KICAgICBib29sIGZvcmNlVXBkYXRl
U2Nyb2xsYmFyc09uTWFpblRocmVhZEZvclBlcmZvcm1hbmNlVGVzdGluZygpIGNvbnN0IG92ZXJy
aWRlIHsgcmV0dXJuIGZhbHNlOyB9CisgICAgYm9vbCBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9u
U2Nyb2xsYmFyT25MZWZ0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gZmFsc2U7IH0KIAogICAgIC8v
IE5PVEU6IFRoaXMgc2hvdWxkIG9ubHkgYmUgY2FsbGVkIGJ5IHRoZSBvdmVycmlkZW4gc2V0U2Ny
b2xsT2Zmc2V0IGZyb20gU2Nyb2xsYWJsZUFyZWEuCiAgICAgdm9pZCBzY3JvbGxUbyhpbnQgb2Zm
c2V0KTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9jay5j
cHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQmxvY2suY3BwCmluZGV4IDFhOGU1
ZDA3M2ZkZjQyMWMxYzY1MzNhMWRjZGM4OWIzODllOWY4MzQuLjk2ZmE5ZTQwNzczOTVlY2IwODA2
ZmUyZGQ5N2FhMWM2YjA0ODk0MzIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCbG9jay5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrLmNwcApAQCAtMjI4MCw3ICsyMjgwLDcgQEAgTGF5b3V0VW5pdCBSZW5kZXJCbG9jazo6dGV4
dEluZGVudE9mZnNldCgpIGNvbnN0CiBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjpsb2dpY2FsTGVm
dE9mZnNldEZvckNvbnRlbnQoUmVuZGVyUmVnaW9uKiByZWdpb24pIGNvbnN0CiB7CiAgICAgTGF5
b3V0VW5pdCBsb2dpY2FsTGVmdE9mZnNldCA9IHN0eWxlKCkuaXNIb3Jpem9udGFsV3JpdGluZ01v
ZGUoKSA/IGJvcmRlckxlZnQoKSArIHBhZGRpbmdMZWZ0KCkgOiBib3JkZXJUb3AoKSArIHBhZGRp
bmdUb3AoKTsKLSAgICBpZiAoc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJP
bkxlZnQoKSkKICAgICAgICAgbG9naWNhbExlZnRPZmZzZXQgKz0gdmVydGljYWxTY3JvbGxiYXJX
aWR0aCgpOwogICAgIGlmICghcmVnaW9uKQogICAgICAgICByZXR1cm4gbG9naWNhbExlZnRPZmZz
ZXQ7CkBAIC0yMjkxLDcgKzIyOTEsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrOjpsb2dpY2Fs
TGVmdE9mZnNldEZvckNvbnRlbnQoUmVuZGVyUmVnaW9uKiByZWdpb24pIGNvbnN0CiBMYXlvdXRV
bml0IFJlbmRlckJsb2NrOjpsb2dpY2FsUmlnaHRPZmZzZXRGb3JDb250ZW50KFJlbmRlclJlZ2lv
biogcmVnaW9uKSBjb25zdAogewogICAgIExheW91dFVuaXQgbG9naWNhbFJpZ2h0T2Zmc2V0ID0g
c3R5bGUoKS5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpID8gYm9yZGVyTGVmdCgpICsgcGFkZGlu
Z0xlZnQoKSA6IGJvcmRlclRvcCgpICsgcGFkZGluZ1RvcCgpOwotICAgIGlmIChzdHlsZSgpLnNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICBpZiAoc2hvdWxk
UGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQogICAgICAgICBsb2dpY2FsUmln
aHRPZmZzZXQgKz0gdmVydGljYWxTY3JvbGxiYXJXaWR0aCgpOwogICAgIGxvZ2ljYWxSaWdodE9m
ZnNldCArPSBhdmFpbGFibGVMb2dpY2FsV2lkdGgoKTsKICAgICBpZiAoIXJlZ2lvbikKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCbG9ja0Zsb3cuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJsb2NrRmxvdy5jcHAKaW5kZXggODJiODg2ZjIy
MzNlZTMwOTBjOTRlY2NjODllODY4ZDBhMmMzZDYzZC4uM2E3ZjBhNzgyNDlkNjAxNzU1NTE0YWI4
Y2QwZTJhZWE0YTNkNWFjNSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Jl
bmRlckJsb2NrRmxvdy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJs
b2NrRmxvdy5jcHAKQEAgLTgyOCw3ICs4MjgsNyBAQCBMYXlvdXRVbml0IFJlbmRlckJsb2NrRmxv
dzo6bWFyZ2luT2Zmc2V0Rm9yU2VsZkNvbGxhcHNpbmdCbG9jaygpCiB2b2lkIFJlbmRlckJsb2Nr
Rmxvdzo6ZGV0ZXJtaW5lTG9naWNhbExlZnRQb3NpdGlvbkZvckNoaWxkKFJlbmRlckJveCYgY2hp
bGQsIEFwcGx5TGF5b3V0RGVsdGFNb2RlIGFwcGx5RGVsdGEpCiB7CiAgICAgTGF5b3V0VW5pdCBz
dGFydFBvc2l0aW9uID0gYm9yZGVyU3RhcnQoKSArIHBhZGRpbmdTdGFydCgpOwotICAgIGlmIChz
dHlsZSgpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKKyAgICBp
ZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQogICAgICAgICBz
dGFydFBvc2l0aW9uICs9IChzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSA/IDEgOiAt
MSkgKiB2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCk7CiAgICAgTGF5b3V0VW5pdCB0b3RhbEF2YWls
YWJsZUxvZ2ljYWxXaWR0aCA9IGJvcmRlckFuZFBhZGRpbmdMb2dpY2FsV2lkdGgoKSArIGF2YWls
YWJsZUxvZ2ljYWxXaWR0aCgpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyQm94LmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3Bw
CmluZGV4IDAzMGQwYmNkY2M0MjA0MDhhNjY1NjYyNmE4YTc4OWQ1NjMzMzg2NGYuLmI2ODA2NjEw
ZmU3ZGNkNDFiNzk3Njk2ZTQxMzQ4ZTU2ZjZmYWI5OWUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCkBAIC02OTMsNyArNjkzLDcgQEAgUm91bmRlZFJlY3Q6OlJhZGlpIFJl
bmRlckJveDo6Ym9yZGVyUmFkaWkoKSBjb25zdAogTGF5b3V0UmVjdCBSZW5kZXJCb3g6OmNvbnRl
bnRCb3hSZWN0KCkgY29uc3QKIHsKICAgICBMYXlvdXRVbml0IHggPSBib3JkZXJMZWZ0KCkgKyBw
YWRkaW5nTGVmdCgpOwotICAgIGlmIChsYXllcigpICYmIGxheWVyKCktPnZlcnRpY2FsU2Nyb2xs
YmFySXNPbkxlZnQoKSkKKyAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJh
ck9uTGVmdCgpKQogICAgICAgICB4ICs9IHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsKICAgICBM
YXlvdXRVbml0IHkgPSBib3JkZXJUb3AoKSArIHBhZGRpbmdUb3AoKTsKICAgICByZXR1cm4gTGF5
b3V0UmVjdCh4LCB5LCBjb250ZW50V2lkdGgoKSwgY29udGVudEhlaWdodCgpKTsKQEAgLTE4Mjcs
NyArMTgyNyw3IEBAIExheW91dFJlY3QgUmVuZGVyQm94OjpvdmVyZmxvd0NsaXBSZWN0KGNvbnN0
IExheW91dFBvaW50JiBsb2NhdGlvbiwgUmVuZGVyUmVnaW9uCiAKICAgICAvLyBTdWJ0cmFjdCBv
dXQgc2Nyb2xsYmFycyBpZiB3ZSBoYXZlIHRoZW0uCiAgICAgaWYgKGxheWVyKCkpIHsKLSAgICAg
ICAgaWYgKHN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
KQorICAgICAgICBpZiAoc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
KQogICAgICAgICAgICAgY2xpcFJlY3QubW92ZShsYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcldp
ZHRoKHJlbGV2YW5jeSksIDApOwogICAgICAgICBjbGlwUmVjdC5jb250cmFjdChsYXllcigpLT52
ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKHJlbGV2YW5jeSksIGxheWVyKCktPmhvcml6b250YWxTY3Jv
bGxiYXJIZWlnaHQocmVsZXZhbmN5KSk7CiAgICAgfQpAQCAtMzUzNCw3ICszNTM0LDcgQEAgdm9p
ZCBSZW5kZXJCb3g6OmNvbXB1dGVQb3NpdGlvbmVkTG9naWNhbFdpZHRoKExvZ2ljYWxFeHRlbnRD
b21wdXRlZFZhbHVlcyYgY29tcHUKICAgICBjb21wdXRlZFZhbHVlcy5tX2V4dGVudCArPSBib3Jk
ZXJzUGx1c1BhZGRpbmc7CiAgICAgaWYgKGlzPFJlbmRlckJveD4oY29udGFpbmVyQmxvY2spKSB7
CiAgICAgICAgIGF1dG8mIGNvbnRhaW5pbmdCb3ggPSBkb3duY2FzdDxSZW5kZXJCb3g+KGNvbnRh
aW5lckJsb2NrKTsKLSAgICAgICAgaWYgKGNvbnRhaW5pbmdCb3gubGF5ZXIoKSAmJiBjb250YWlu
aW5nQm94LmxheWVyKCktPnZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSkKKyAgICAgICAgaWYg
KGNvbnRhaW5pbmdCb3guc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgp
KQogICAgICAgICAgICAgY29tcHV0ZWRWYWx1ZXMubV9wb3NpdGlvbiArPSBjb250YWluaW5nQm94
LnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKTsKICAgICB9CiAgICAgCkBAIC00OTA3LDcgKzQ5MDcs
NyBAQCBMYXlvdXRSZWN0IFJlbmRlckJveDo6ZmxpcHBlZENsaWVudEJveFJlY3QoKSBjb25zdAog
ICAgIGZsaXBGb3JXcml0aW5nTW9kZShyZWN0KTsKICAgICAvLyBTdWJ0cmFjdCBzcGFjZSBvY2N1
cGllZCBieSBzY3JvbGxiYXJzLiBUaGV5IGFyZSBhdCB0aGVpciBwaHlzaWNhbCBlZGdlIGluIHRo
aXMgY29vcmRpbmF0ZQogICAgIC8vIHN5c3RlbSwgc28gb3JkZXIgaXMgaW1wb3J0YW50IGhlcmU6
IGZpcnN0IGZsaXAsIHRoZW4gc3VidHJhY3Qgc2Nyb2xsYmFycy4KLSAgICBpZiAoc3R5bGUoKS5z
aG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYgc3R5bGUoKS5pc0xl
ZnRUb1JpZ2h0RGlyZWN0aW9uKCkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25T
Y3JvbGxiYXJPbkxlZnQoKSAmJiBzdHlsZSgpLmlzTGVmdFRvUmlnaHREaXJlY3Rpb24oKSkKICAg
ICAgICAgcmVjdC5tb3ZlKHZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoKSwgMCk7CiAgICAgcmVjdC5j
b250cmFjdCh2ZXJ0aWNhbFNjcm9sbGJhcldpZHRoKCksIGhvcml6b250YWxTY3JvbGxiYXJIZWln
aHQoKSk7CiAgICAgcmV0dXJuIHJlY3Q7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyQm94TW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckJveE1vZGVsT2JqZWN0LmNwcAppbmRleCAwMjk1YWFiNmY4ZjBhODdhOGY3MWY5NDBj
ZjQwNjYxM2M4YWI2M2ZlLi5kZmI5NjJjNDQ5NTg2ODk4MjRkZmZlZGMwOTcyNzYxZGI2MWJmNzIx
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94TW9kZWxPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJCb3hNb2RlbE9iamVj
dC5jcHAKQEAgLTQ1Miw3ICs0NTIsNyBAQCBGbG9hdFJlY3QgUmVuZGVyQm94TW9kZWxPYmplY3Q6
OmNvbnN0cmFpbmluZ1JlY3RGb3JTdGlja3lQb3NpdGlvbigpIGNvbnN0CiAgICAgICAgIEZsb2F0
UG9pbnQgc2Nyb2xsT2Zmc2V0ID0gRmxvYXRQb2ludCgpICsgZW5jbG9zaW5nQ2xpcHBpbmdMYXll
ci0+c2Nyb2xsT2Zmc2V0KCk7CiAKICAgICAgICAgZmxvYXQgc2Nyb2xsYmFyT2Zmc2V0ID0gMDsK
LSAgICAgICAgaWYgKGVuY2xvc2luZ0NsaXBwaW5nQm94Lmhhc0xheWVyKCkgJiYgZW5jbG9zaW5n
Q2xpcHBpbmdCb3guc3R5bGUoKS5zaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25M
ZWZ0KCkpCisgICAgICAgIGlmIChlbmNsb3NpbmdDbGlwcGluZ0JveC5oYXNMYXllcigpICYmIGVu
Y2xvc2luZ0NsaXBwaW5nQm94LnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxl
ZnQoKSkKICAgICAgICAgICAgIHNjcm9sbGJhck9mZnNldCA9IGVuY2xvc2luZ0NsaXBwaW5nQm94
LmxheWVyKCktPnZlcnRpY2FsU2Nyb2xsYmFyV2lkdGgoSWdub3JlT3ZlcmxheVNjcm9sbGJhclNp
emUpOwogCiAgICAgICAgIGNvbnN0cmFpbmluZ1JlY3Quc2V0TG9jYXRpb24oRmxvYXRQb2ludChz
Y3JvbGxPZmZzZXQueCgpICsgc2Nyb2xsYmFyT2Zmc2V0LCBzY3JvbGxPZmZzZXQueSgpKSk7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmNwcAppbmRleCBhMTcyMTBiYTBlNDgz
YWRhNWFjNzlmZDgyN2Y2MWVlNDcyOTI3NDE5Li5jOTJjYzQzZmE3Mzk4MmRjN2IyNDk1ZjU5YWYw
ZGU4OTE5ODY2YzlhIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllci5jcHAK
QEAgLTI2ODksNyArMjY4OSw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OnJlc2l6ZShjb25zdCBQbGF0
Zm9ybU1vdXNlRXZlbnQmIGV2dCwgY29uc3QgTGF5b3V0U2l6ZSYgb2xkT2ZmCiAgICAgZWxlbWVu
dC0+c2V0TWluaW11bVNpemVGb3JSZXNpemluZyhtaW5pbXVtU2l6ZSk7CiAgICAgCiAgICAgTGF5
b3V0U2l6ZSBhZGp1c3RlZE9sZE9mZnNldCA9IExheW91dFNpemUob2xkT2Zmc2V0LndpZHRoKCkg
LyB6b29tRmFjdG9yLCBvbGRPZmZzZXQuaGVpZ2h0KCkgLyB6b29tRmFjdG9yKTsKLSAgICBpZiAo
cmVuZGVyZXItPnN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpKSB7CisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KSkgewogICAgICAgICBuZXdPZmZzZXQuc2V0V2lkdGgoLW5ld09mZnNldC53aWR0aCgpKTsKICAg
ICAgICAgYWRqdXN0ZWRPbGRPZmZzZXQuc2V0V2lkdGgoLWFkanVzdGVkT2xkT2Zmc2V0LndpZHRo
KCkpOwogICAgIH0KQEAgLTI3OTEsMzQgKzI3OTEsMzQgQEAgYm9vbCBSZW5kZXJMYXllcjo6aXNB
Y3RpdmUoKSBjb25zdAogICAgIHJldHVybiBwYWdlICYmIHBhZ2UtPmZvY3VzQ29udHJvbGxlcigp
LmlzQWN0aXZlKCk7CiB9CiAKLXN0YXRpYyBpbnQgY29ybmVyU3RhcnQoY29uc3QgUmVuZGVyTGF5
ZXIqIGxheWVyLCBpbnQgbWluWCwgaW50IG1heFgsIGludCB0aGlja25lc3MpCitzdGF0aWMgaW50
IGNvcm5lclN0YXJ0KGNvbnN0IFJlbmRlckxheWVyJiBsYXllciwgaW50IG1pblgsIGludCBtYXhY
LCBpbnQgdGhpY2tuZXNzKQogewotICAgIGlmIChsYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLnNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKLSAgICAgICAgcmV0dXJu
IG1pblggKyBsYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLmJvcmRlckxlZnRXaWR0aCgpOwotICAg
IHJldHVybiBtYXhYIC0gdGhpY2tuZXNzIC0gbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5ib3Jk
ZXJSaWdodFdpZHRoKCk7CisgICAgaWYgKGxheWVyLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25T
Y3JvbGxiYXJPbkxlZnQoKSkKKyAgICAgICAgcmV0dXJuIG1pblggKyBsYXllci5yZW5kZXJlcigp
LnN0eWxlKCkuYm9yZGVyTGVmdFdpZHRoKCk7CisgICAgcmV0dXJuIG1heFggLSB0aGlja25lc3Mg
LSBsYXllci5yZW5kZXJlcigpLnN0eWxlKCkuYm9yZGVyUmlnaHRXaWR0aCgpOwogfQogCi1zdGF0
aWMgTGF5b3V0UmVjdCBjb3JuZXJSZWN0KGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgY29uc3Qg
TGF5b3V0UmVjdCYgYm91bmRzKQorc3RhdGljIExheW91dFJlY3QgY29ybmVyUmVjdChjb25zdCBS
ZW5kZXJMYXllciYgbGF5ZXIsIGNvbnN0IExheW91dFJlY3QmIGJvdW5kcykKIHsKICAgICBpbnQg
aG9yaXpvbnRhbFRoaWNrbmVzczsKICAgICBpbnQgdmVydGljYWxUaGlja25lc3M7Ci0gICAgaWYg
KCFsYXllci0+dmVydGljYWxTY3JvbGxiYXIoKSAmJiAhbGF5ZXItPmhvcml6b250YWxTY3JvbGxi
YXIoKSkgeworICAgIGlmICghbGF5ZXIudmVydGljYWxTY3JvbGxiYXIoKSAmJiAhbGF5ZXIuaG9y
aXpvbnRhbFNjcm9sbGJhcigpKSB7CiAgICAgICAgIC8vIEZJWE1FOiBUaGlzIGlzbid0IHJpZ2h0
LiAgV2UgbmVlZCB0byBrbm93IHRoZSB0aGlja25lc3Mgb2YgY3VzdG9tIHNjcm9sbGJhcnMKICAg
ICAgICAgLy8gZXZlbiB3aGVuIHRoZXkgZG9uJ3QgZXhpc3QgaW4gb3JkZXIgdG8gc2V0IHRoZSBy
ZXNpemVyIHNxdWFyZSBzaXplIHByb3Blcmx5LgogICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNz
ID0gU2Nyb2xsYmFyVGhlbWU6OnRoZW1lKCkuc2Nyb2xsYmFyVGhpY2tuZXNzKCk7CiAgICAgICAg
IHZlcnRpY2FsVGhpY2tuZXNzID0gaG9yaXpvbnRhbFRoaWNrbmVzczsKLSAgICB9IGVsc2UgaWYg
KGxheWVyLT52ZXJ0aWNhbFNjcm9sbGJhcigpICYmICFsYXllci0+aG9yaXpvbnRhbFNjcm9sbGJh
cigpKSB7Ci0gICAgICAgIGhvcml6b250YWxUaGlja25lc3MgPSBsYXllci0+dmVydGljYWxTY3Jv
bGxiYXIoKS0+d2lkdGgoKTsKKyAgICB9IGVsc2UgaWYgKGxheWVyLnZlcnRpY2FsU2Nyb2xsYmFy
KCkgJiYgIWxheWVyLmhvcml6b250YWxTY3JvbGxiYXIoKSkgeworICAgICAgICBob3Jpem9udGFs
VGhpY2tuZXNzID0gbGF5ZXIudmVydGljYWxTY3JvbGxiYXIoKS0+d2lkdGgoKTsKICAgICAgICAg
dmVydGljYWxUaGlja25lc3MgPSBob3Jpem9udGFsVGhpY2tuZXNzOwotICAgIH0gZWxzZSBpZiAo
bGF5ZXItPmhvcml6b250YWxTY3JvbGxiYXIoKSAmJiAhbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFy
KCkpIHsKLSAgICAgICAgdmVydGljYWxUaGlja25lc3MgPSBsYXllci0+aG9yaXpvbnRhbFNjcm9s
bGJhcigpLT5oZWlnaHQoKTsKKyAgICB9IGVsc2UgaWYgKGxheWVyLmhvcml6b250YWxTY3JvbGxi
YXIoKSAmJiAhbGF5ZXIudmVydGljYWxTY3JvbGxiYXIoKSkgeworICAgICAgICB2ZXJ0aWNhbFRo
aWNrbmVzcyA9IGxheWVyLmhvcml6b250YWxTY3JvbGxiYXIoKS0+aGVpZ2h0KCk7CiAgICAgICAg
IGhvcml6b250YWxUaGlja25lc3MgPSB2ZXJ0aWNhbFRoaWNrbmVzczsKICAgICB9IGVsc2Ugewot
ICAgICAgICBob3Jpem9udGFsVGhpY2tuZXNzID0gbGF5ZXItPnZlcnRpY2FsU2Nyb2xsYmFyKCkt
PndpZHRoKCk7Ci0gICAgICAgIHZlcnRpY2FsVGhpY2tuZXNzID0gbGF5ZXItPmhvcml6b250YWxT
Y3JvbGxiYXIoKS0+aGVpZ2h0KCk7CisgICAgICAgIGhvcml6b250YWxUaGlja25lc3MgPSBsYXll
ci52ZXJ0aWNhbFNjcm9sbGJhcigpLT53aWR0aCgpOworICAgICAgICB2ZXJ0aWNhbFRoaWNrbmVz
cyA9IGxheWVyLmhvcml6b250YWxTY3JvbGxiYXIoKS0+aGVpZ2h0KCk7CiAgICAgfQogICAgIHJl
dHVybiBMYXlvdXRSZWN0KGNvcm5lclN0YXJ0KGxheWVyLCBib3VuZHMueCgpLCBib3VuZHMubWF4
WCgpLCBob3Jpem9udGFsVGhpY2tuZXNzKSwKLSAgICAgICAgYm91bmRzLm1heFkoKSAtIHZlcnRp
Y2FsVGhpY2tuZXNzIC0gbGF5ZXItPnJlbmRlcmVyKCkuc3R5bGUoKS5ib3JkZXJCb3R0b21XaWR0
aCgpLAorICAgICAgICBib3VuZHMubWF4WSgpIC0gdmVydGljYWxUaGlja25lc3MgLSBsYXllci5y
ZW5kZXJlcigpLnN0eWxlKCkuYm9yZGVyQm90dG9tV2lkdGgoKSwKICAgICAgICAgaG9yaXpvbnRh
bFRoaWNrbmVzcywgdmVydGljYWxUaGlja25lc3MpOwogfQogCkBAIC0yODMzLDE0ICsyODMzLDE0
IEBAIEludFJlY3QgUmVuZGVyTGF5ZXI6OnNjcm9sbENvcm5lclJlY3QoKSBjb25zdAogICAgIGJv
b2wgaGFzVmVydGljYWxCYXIgPSBtX3ZCYXIgJiYgIW1fdkJhci0+aXNPdmVybGF5U2Nyb2xsYmFy
KCk7CiAgICAgYm9vbCBoYXNSZXNpemVyID0gcmVuZGVyZXIoKS5zdHlsZSgpLnJlc2l6ZSgpICE9
IFJFU0laRV9OT05FOwogICAgIGlmICgoaGFzSG9yaXpvbnRhbEJhciAmJiBoYXNWZXJ0aWNhbEJh
cikgfHwgKGhhc1Jlc2l6ZXIgJiYgKGhhc0hvcml6b250YWxCYXIgfHwgaGFzVmVydGljYWxCYXIp
KSkKLSAgICAgICAgcmV0dXJuIHNuYXBwZWRJbnRSZWN0KGNvcm5lclJlY3QodGhpcywgcmVuZGVy
Qm94KCktPmJvcmRlckJveFJlY3QoKSkpOworICAgICAgICByZXR1cm4gc25hcHBlZEludFJlY3Qo
Y29ybmVyUmVjdCgqdGhpcywgcmVuZGVyQm94KCktPmJvcmRlckJveFJlY3QoKSkpOwogICAgIHJl
dHVybiBJbnRSZWN0KCk7CiB9CiAKLXN0YXRpYyBMYXlvdXRSZWN0IHJlc2l6ZXJDb3JuZXJSZWN0
KGNvbnN0IFJlbmRlckxheWVyKiBsYXllciwgY29uc3QgTGF5b3V0UmVjdCYgYm91bmRzKQorc3Rh
dGljIExheW91dFJlY3QgcmVzaXplckNvcm5lclJlY3QoY29uc3QgUmVuZGVyTGF5ZXImIGxheWVy
LCBjb25zdCBMYXlvdXRSZWN0JiBib3VuZHMpCiB7Ci0gICAgQVNTRVJUKGxheWVyLT5yZW5kZXJl
cigpLmlzQm94KCkpOwotICAgIGlmIChsYXllci0+cmVuZGVyZXIoKS5zdHlsZSgpLnJlc2l6ZSgp
ID09IFJFU0laRV9OT05FKQorICAgIEFTU0VSVChsYXllci5yZW5kZXJlcigpLmlzQm94KCkpOwor
ICAgIGlmIChsYXllci5yZW5kZXJlcigpLnN0eWxlKCkucmVzaXplKCkgPT0gUkVTSVpFX05PTkUp
CiAgICAgICAgIHJldHVybiBMYXlvdXRSZWN0KCk7CiAgICAgcmV0dXJuIGNvcm5lclJlY3QobGF5
ZXIsIGJvdW5kcyk7CiB9CkBAIC0yODUyLDcgKzI4NTIsNyBAQCBMYXlvdXRSZWN0IFJlbmRlckxh
eWVyOjpzY3JvbGxDb3JuZXJBbmRSZXNpemVyUmVjdCgpIGNvbnN0CiAgICAgICAgIHJldHVybiBM
YXlvdXRSZWN0KCk7CiAgICAgTGF5b3V0UmVjdCBzY3JvbGxDb3JuZXJBbmRSZXNpemVyID0gc2Ny
b2xsQ29ybmVyUmVjdCgpOwogICAgIGlmIChzY3JvbGxDb3JuZXJBbmRSZXNpemVyLmlzRW1wdHko
KSkKLSAgICAgICAgc2Nyb2xsQ29ybmVyQW5kUmVzaXplciA9IHJlc2l6ZXJDb3JuZXJSZWN0KHRo
aXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKTsKKyAgICAgICAgc2Nyb2xsQ29ybmVyQW5kUmVzaXpl
ciA9IHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSk7CiAgICAg
cmV0dXJuIHNjcm9sbENvcm5lckFuZFJlc2l6ZXI7CiB9CiAKQEAgLTI5OTYsNyArMjk5Niw3IEBA
IEludFJlY3QgUmVuZGVyTGF5ZXI6OnJlY3RGb3JWZXJ0aWNhbFNjcm9sbGJhcihjb25zdCBJbnRS
ZWN0JiBib3JkZXJCb3hSZWN0KSBjb25zCiBMYXlvdXRVbml0IFJlbmRlckxheWVyOjp2ZXJ0aWNh
bFNjcm9sbGJhclN0YXJ0KGludCBtaW5YLCBpbnQgbWF4WCkgY29uc3QKIHsKICAgICBjb25zdCBS
ZW5kZXJCb3gqIGJveCA9IHJlbmRlckJveCgpOwotICAgIGlmIChyZW5kZXJlcigpLnN0eWxlKCku
c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgIGlmIChzaG91
bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgIHJldHVybiBt
aW5YICsgYm94LT5ib3JkZXJMZWZ0KCk7CiAgICAgcmV0dXJuIG1heFggLSBib3gtPmJvcmRlclJp
Z2h0KCkgLSBtX3ZCYXItPndpZHRoKCk7CiB9CkBAIC0zMDA1LDggKzMwMDUsOCBAQCBMYXlvdXRV
bml0IFJlbmRlckxheWVyOjpob3Jpem9udGFsU2Nyb2xsYmFyU3RhcnQoaW50IG1pblgpIGNvbnN0
CiB7CiAgICAgY29uc3QgUmVuZGVyQm94KiBib3ggPSByZW5kZXJCb3goKTsKICAgICBpbnQgeCA9
IG1pblggKyBib3gtPmJvcmRlckxlZnQoKTsKLSAgICBpZiAocmVuZGVyZXIoKS5zdHlsZSgpLnNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSkKLSAgICAgICAgeCArPSBt
X3ZCYXIgPyBtX3ZCYXItPndpZHRoKCkgOiByb3VuZFRvSW50KHJlc2l6ZXJDb3JuZXJSZWN0KHRo
aXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKS53aWR0aCgpKTsKKyAgICBpZiAoc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgICAgICB4ICs9IG1fdkJhciA/IG1f
dkJhci0+d2lkdGgoKSA6IHJvdW5kVG9JbnQocmVzaXplckNvcm5lclJlY3QoKnRoaXMsIGJveC0+
Ym9yZGVyQm94UmVjdCgpKS53aWR0aCgpKTsKICAgICByZXR1cm4geDsKIH0KIApAQCAtMzI3MCw3
ICszMjcwLDcgQEAgSW50U2l6ZSBSZW5kZXJMYXllcjo6b2Zmc2V0RnJvbVJlc2l6ZUNvcm5lcihj
b25zdCBJbnRQb2ludCYgYWJzb2x1dGVQb2ludCkgY29uc3QKICAgICAvLyBDdXJyZW50bHkgdGhl
IHJlc2l6ZSBjb3JuZXIgaXMgZWl0aGVyIHRoZSBib3R0b20gcmlnaHQgY29ybmVyIG9yIHRoZSBi
b3R0b20gbGVmdCBjb3JuZXIuCiAgICAgLy8gRklYTUU6IFRoaXMgYXNzdW1lcyB0aGUgbG9jYXRp
b24gaXMgMCwgMC4gSXMgdGhpcyBndWFyYW50ZWVkIHRvIGFsd2F5cyBiZSB0aGUgY2FzZT8KICAg
ICBJbnRTaXplIGVsZW1lbnRTaXplID0gc2l6ZSgpOwotICAgIGlmIChyZW5kZXJlcigpLnN0eWxl
KCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKQorICAgIGlmIChz
aG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpCiAgICAgICAgIGVsZW1l
bnRTaXplLnNldFdpZHRoKDApOwogICAgIEludFBvaW50IHJlc2l6ZXJQb2ludCA9IEludFBvaW50
KGVsZW1lbnRTaXplKTsKICAgICBJbnRQb2ludCBsb2NhbFBvaW50ID0gcm91bmRlZEludFBvaW50
KGFic29sdXRlVG9Db250ZW50cyhhYnNvbHV0ZVBvaW50KSk7CkBAIC0zMzA5LDcgKzMzMDksNyBA
QCB2b2lkIFJlbmRlckxheWVyOjpwb3NpdGlvbk92ZXJmbG93Q29udHJvbHMoY29uc3QgSW50U2l6
ZSYgb2Zmc2V0RnJvbVJvb3QpCiAgICAgaWYgKG1fc2Nyb2xsQ29ybmVyKQogICAgICAgICBtX3Nj
cm9sbENvcm5lci0+c2V0RnJhbWVSZWN0KHNjcm9sbENvcm5lcik7CiAgICAgaWYgKG1fcmVzaXpl
cikKLSAgICAgICAgbV9yZXNpemVyLT5zZXRGcmFtZVJlY3QocmVzaXplckNvcm5lclJlY3QodGhp
cywgYm9yZGVyQm94KSk7CisgICAgICAgIG1fcmVzaXplci0+c2V0RnJhbWVSZWN0KHJlc2l6ZXJD
b3JuZXJSZWN0KCp0aGlzLCBib3JkZXJCb3gpKTsKIAogICAgIGlmIChpc0NvbXBvc2l0ZWQoKSkK
ICAgICAgICAgYmFja2luZygpLT5wb3NpdGlvbk92ZXJmbG93Q29udHJvbHNMYXllcnMoKTsKQEAg
LTMzNzYsNyArMzM3Niw3IEBAIHZvaWQgUmVuZGVyTGF5ZXI6OmNvbXB1dGVTY3JvbGxEaW1lbnNp
b25zKCkKICAgICBtX3Njcm9sbFNpemUuc2V0SGVpZ2h0KG92ZXJmbG93Qm90dG9tKCkgLSBvdmVy
Zmxvd1RvcCgpKTsKIAogICAgIGludCBzY3JvbGxhYmxlTGVmdE92ZXJmbG93ID0gb3ZlcmZsb3dM
ZWZ0KCkgLSBib3gtPmJvcmRlckxlZnQoKTsKLSAgICBpZiAoYm94LT5zdHlsZSgpLmlzTGVmdFRv
UmlnaHREaXJlY3Rpb24oKSAmJiBib3gtPnN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlv
blNjcm9sbGJhck9uTGVmdCgpICYmIG1fdkJhcikKKyAgICBpZiAoYm94LT5zdHlsZSgpLmlzTGVm
dFRvUmlnaHREaXJlY3Rpb24oKSAmJiBib3gtPnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3Jv
bGxiYXJPbkxlZnQoKSAmJiBtX3ZCYXIpCiAgICAgICAgIHNjcm9sbGFibGVMZWZ0T3ZlcmZsb3cg
LT0gbV92QmFyLT5vY2N1cGllZFdpZHRoKCk7CiAgICAgaW50IHNjcm9sbGFibGVUb3BPdmVyZmxv
dyA9IG92ZXJmbG93VG9wKCkgLSBib3gtPmJvcmRlclRvcCgpOwogICAgIHNldFNjcm9sbE9yaWdp
bihJbnRQb2ludCgtc2Nyb2xsYWJsZUxlZnRPdmVyZmxvdywgLXNjcm9sbGFibGVUb3BPdmVyZmxv
dykpOwpAQCAtMzU1MSw3ICszNTUxLDcgQEAgYm9vbCBSZW5kZXJMYXllcjo6b3ZlcmZsb3dDb250
cm9sc0ludGVyc2VjdFJlY3QoY29uc3QgSW50UmVjdCYgbG9jYWxSZWN0KSBjb25zdAogICAgIGlm
IChzY3JvbGxDb3JuZXJSZWN0KCkuaW50ZXJzZWN0cyhsb2NhbFJlY3QpKQogICAgICAgICByZXR1
cm4gdHJ1ZTsKICAgICAKLSAgICBpZiAocmVzaXplckNvcm5lclJlY3QodGhpcywgYm9yZGVyQm94
KS5pbnRlcnNlY3RzKGxvY2FsUmVjdCkpCisgICAgaWYgKHJlc2l6ZXJDb3JuZXJSZWN0KCp0aGlz
LCBib3JkZXJCb3gpLmludGVyc2VjdHMobG9jYWxSZWN0KSkKICAgICAgICAgcmV0dXJuIHRydWU7
CiAKICAgICByZXR1cm4gZmFsc2U7CkBAIC0zNjcwLDcgKzM2NzAsNyBAQCB2b2lkIFJlbmRlckxh
eWVyOjpkcmF3UGxhdGZvcm1SZXNpemVySW1hZ2UoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBj
b25zdCBMYXlvdQogICAgICAgICBjb3JuZXJSZXNpemVyU2l6ZSA9IHJlc2l6ZUNvcm5lckltYWdl
LT5zaXplKCk7CiAgICAgfQogCi0gICAgaWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5zaG91bGRQbGFj
ZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkpIHsKKyAgICBpZiAoc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpKSB7CiAgICAgICAgIGNvbnRleHQuc2F2ZSgp
OwogICAgICAgICBjb250ZXh0LnRyYW5zbGF0ZShyZXNpemVyQ29ybmVyUmVjdC54KCkgKyBjb3Ju
ZXJSZXNpemVyU2l6ZS53aWR0aCgpLCByZXNpemVyQ29ybmVyUmVjdC55KCkgKyByZXNpemVyQ29y
bmVyUmVjdC5oZWlnaHQoKSAtIGNvcm5lclJlc2l6ZXJTaXplLmhlaWdodCgpKTsKICAgICAgICAg
Y29udGV4dC5zY2FsZShGbG9hdFNpemUoLTEuMCwgMS4wKSk7CkBAIC0zNjk0LDcgKzM2OTQsNyBA
QCB2b2lkIFJlbmRlckxheWVyOjpwYWludFJlc2l6ZXIoR3JhcGhpY3NDb250ZXh0JiBjb250ZXh0
LCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbgogICAgIFJlbmRlckJveCogYm94ID0gcmVuZGVyQm94
KCk7CiAgICAgQVNTRVJUKGJveCk7CiAKLSAgICBMYXlvdXRSZWN0IGFic1JlY3QgPSByZXNpemVy
Q29ybmVyUmVjdCh0aGlzLCBib3gtPmJvcmRlckJveFJlY3QoKSk7CisgICAgTGF5b3V0UmVjdCBh
YnNSZWN0ID0gcmVzaXplckNvcm5lclJlY3QoKnRoaXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKTsK
ICAgICBhYnNSZWN0Lm1vdmVCeShwYWludE9mZnNldCk7CiAgICAgaWYgKCFhYnNSZWN0LmludGVy
c2VjdHMoZGFtYWdlUmVjdCkpCiAgICAgICAgIHJldHVybjsKQEAgLTM3MzYsNyArMzczNiw3IEBA
IGJvb2wgUmVuZGVyTGF5ZXI6OmlzUG9pbnRJblJlc2l6ZUNvbnRyb2woY29uc3QgSW50UG9pbnQm
IGFic29sdXRlUG9pbnQpIGNvbnN0CiAgICAgSW50UG9pbnQgbG9jYWxQb2ludCA9IHJvdW5kZWRJ
bnRQb2ludChhYnNvbHV0ZVRvQ29udGVudHMoYWJzb2x1dGVQb2ludCkpOwogCiAgICAgSW50UmVj
dCBsb2NhbEJvdW5kcyhJbnRQb2ludCgpLCBzbmFwcGVkSW50UmVjdChib3gtPmZyYW1lUmVjdCgp
KS5zaXplKCkpOwotICAgIHJldHVybiByZXNpemVyQ29ybmVyUmVjdCh0aGlzLCBsb2NhbEJvdW5k
cykuY29udGFpbnMobG9jYWxQb2ludCk7CisgICAgcmV0dXJuIHJlc2l6ZXJDb3JuZXJSZWN0KCp0
aGlzLCBsb2NhbEJvdW5kcykuY29udGFpbnMobG9jYWxQb2ludCk7CiB9CiAKIGJvb2wgUmVuZGVy
TGF5ZXI6OmhpdFRlc3RPdmVyZmxvd0NvbnRyb2xzKEhpdFRlc3RSZXN1bHQmIHJlc3VsdCwgY29u
c3QgSW50UG9pbnQmIGxvY2FsUG9pbnQpCkBAIC0zNzQ5LDcgKzM3NDksNyBAQCBib29sIFJlbmRl
ckxheWVyOjpoaXRUZXN0T3ZlcmZsb3dDb250cm9scyhIaXRUZXN0UmVzdWx0JiByZXN1bHQsIGNv
bnN0IEludFBvaW50JgogICAgIAogICAgIEludFJlY3QgcmVzaXplQ29udHJvbFJlY3Q7CiAgICAg
aWYgKHJlbmRlcmVyKCkuc3R5bGUoKS5yZXNpemUoKSAhPSBSRVNJWkVfTk9ORSkgewotICAgICAg
ICByZXNpemVDb250cm9sUmVjdCA9IHNuYXBwZWRJbnRSZWN0KHJlc2l6ZXJDb3JuZXJSZWN0KHRo
aXMsIGJveC0+Ym9yZGVyQm94UmVjdCgpKSk7CisgICAgICAgIHJlc2l6ZUNvbnRyb2xSZWN0ID0g
c25hcHBlZEludFJlY3QocmVzaXplckNvcm5lclJlY3QoKnRoaXMsIGJveC0+Ym9yZGVyQm94UmVj
dCgpKSk7CiAgICAgICAgIGlmIChyZXNpemVDb250cm9sUmVjdC5jb250YWlucyhsb2NhbFBvaW50
KSkKICAgICAgICAgICAgIHJldHVybiB0cnVlOwogICAgIH0KQEAgLTUyMjgsNyArNTIyOCw3IEBA
IGJvb2wgUmVuZGVyTGF5ZXI6OmhpdFRlc3RSZXNpemVySW5GcmFnbWVudHMoY29uc3QgTGF5ZXJG
cmFnbWVudHMmIGxheWVyRnJhZ21lbnRzCiAKICAgICBmb3IgKGludCBpID0gbGF5ZXJGcmFnbWVu
dHMuc2l6ZSgpIC0gMTsgaSA+PSAwOyAtLWkpIHsKICAgICAgICAgY29uc3QgTGF5ZXJGcmFnbWVu
dCYgZnJhZ21lbnQgPSBsYXllckZyYWdtZW50cy5hdChpKTsKLSAgICAgICAgaWYgKGZyYWdtZW50
LmJhY2tncm91bmRSZWN0LmludGVyc2VjdHMoaGl0VGVzdExvY2F0aW9uKSAmJiByZXNpemVyQ29y
bmVyUmVjdCh0aGlzLCBzbmFwcGVkSW50UmVjdChmcmFnbWVudC5sYXllckJvdW5kcykpLmNvbnRh
aW5zKGhpdFRlc3RMb2NhdGlvbi5yb3VuZGVkUG9pbnQoKSkpCisgICAgICAgIGlmIChmcmFnbWVu
dC5iYWNrZ3JvdW5kUmVjdC5pbnRlcnNlY3RzKGhpdFRlc3RMb2NhdGlvbikgJiYgcmVzaXplckNv
cm5lclJlY3QoKnRoaXMsIHNuYXBwZWRJbnRSZWN0KGZyYWdtZW50LmxheWVyQm91bmRzKSkuY29u
dGFpbnMoaGl0VGVzdExvY2F0aW9uLnJvdW5kZWRQb2ludCgpKSkKICAgICAgICAgICAgIHJldHVy
biB0cnVlOwogICAgIH0KICAgICAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJMYXllci5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgK
aW5kZXggMTMzOTZiZGE5MDRlNDIyODgyYzNkNDE4ZGRhNjNhYTZhYmViNzc5ZC4uYWUyMmM1NjA1
MTA5M2IxNmJlNTgwNzI0MzdhNWUyZDMzYzYyODVlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyLmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyLmgKQEAgLTY3MSw2ICs2NzEsOCBAQCBwdWJsaWM6CiAKICAgICBSZW5kZXJM
YXllciogZW5jbG9zaW5nRmxvd1RocmVhZEFuY2VzdG9yKCkgY29uc3Q7CiAKKyAgICBib29sIHNo
b3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSBjb25zdCBmaW5hbCB7IHJl
dHVybiByZW5kZXJlcigpLnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQo
KTsgfQorCiBwcml2YXRlOgogICAgIGVudW0gQ29sbGVjdExheWVyc0JlaGF2aW9yIHsgU3RvcEF0
U3RhY2tpbmdDb250ZXh0cywgU3RvcEF0U3RhY2tpbmdDb250YWluZXJzIH07CiAKQEAgLTk5Nyw3
ICs5OTksNiBAQCBwcml2YXRlOgogCiAgICAgUmVuZGVyTmFtZWRGbG93RnJhZ21lbnQqIGN1cnJl
bnRSZW5kZXJOYW1lZEZsb3dGcmFnbWVudCgpIGNvbnN0OwogCi1wcml2YXRlOgogICAgIC8vIFRo
ZSBiaXRmaWVsZHMgYXJlIHVwIGhlcmUgc28gdGhleSB3aWxsIGZhbGwgaW50byB0aGUgcGFkZGlu
ZyBmcm9tIFNjcm9sbGFibGVBcmVhIG9uIDY0LWJpdC4KIAogICAgIGNvbnN0IGJvb2wgbV9pc1Jv
b3RMYXllciA6IDE7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
TGF5ZXJDb21wb3NpdG9yLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXll
ckNvbXBvc2l0b3IuY3BwCmluZGV4IGFhMDcyMDIzMDgzMjI5Njg3MmU2NmZlMzNmMzk1MzBiYTU1
MDI0YTUuLmMxOWJiMmYzMzE1NzBkZWJjYTEwYTY0M2U1OGI4ZmVhMDc1OThjNTMgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllckNvbXBvc2l0b3IuY3BwCkBA
IC0xNzYzLDcgKzE3NjMsNyBAQCBGbG9hdFBvaW50IFJlbmRlckxheWVyQ29tcG9zaXRvcjo6cG9z
aXRpb25Gb3JDbGlwTGF5ZXIoKSBjb25zdAogICAgIEZyYW1lVmlldyYgZnJhbWVWaWV3ID0gbV9y
ZW5kZXJWaWV3LmZyYW1lVmlldygpOwogCiAgICAgcmV0dXJuIEZsb2F0UG9pbnQoCi0gICAgICAg
IGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgPyBmcmFtZVZpZXcuaG9yaXpv
bnRhbFNjcm9sbGJhckludHJ1c2lvbigpIDogMCwKKyAgICAgICAgZnJhbWVWaWV3LnNob3VsZFBs
YWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSA/IGZyYW1lVmlldy5ob3Jpem9udGFs
U2Nyb2xsYmFySW50cnVzaW9uKCkgOiAwLAogICAgICAgICBGcmFtZVZpZXc6OnlQb3NpdGlvbkZv
ckluc2V0Q2xpcExheWVyKGZyYW1lVmlldy5zY3JvbGxQb3NpdGlvbigpLCBmcmFtZVZpZXcudG9w
Q29udGVudEluc2V0KCkpKTsKIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5n
L1JlbmRlckxheWVyTW9kZWxPYmplY3QuY3BwCmluZGV4IGJkOWU2NWIyNTFiNGM5MmZlODZmMDA5
YzUyYmViYzJkNGM5YjhjMzguLjMxMzE4NzA5OTI1OTNmMGU0MzZlNmViYzI1YjQ0NzllMjY2ODJm
YjcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVs
T2JqZWN0LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2Rl
bE9iamVjdC5jcHAKQEAgLTI4LDYgKzI4LDcgQEAKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgog
I2luY2x1ZGUgIlJlbmRlckxheWVyQ29tcG9zaXRvci5oIgogI2luY2x1ZGUgIlJlbmRlclZpZXcu
aCIKKyNpbmNsdWRlICJTZXR0aW5ncy5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKQEAgLTIx
Miw1ICsyMTMsMjAgQEAgdm9pZCBSZW5kZXJMYXllck1vZGVsT2JqZWN0OjpzdHlsZURpZENoYW5n
ZShTdHlsZURpZmZlcmVuY2UgZGlmZiwgY29uc3QgUmVuZGVyU3QKICNlbmRpZgogfQogCitib29s
IFJlbmRlckxheWVyTW9kZWxPYmplY3Q6OnNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxi
YXJPbkxlZnQoKSBjb25zdAoreworLy8gUlRMIFNjcm9sbGJhcnMgcmVxdWlyZSBzb21lIHN5c3Rl
bSBzdXBwb3J0LCBhbmQgdGhpcyBzeXN0ZW0gc3VwcG9ydCBkb2VzIG5vdCBleGlzdCBvbiBjZXJ0
YWluIHZlcnNpb25zIG9mIE9TIFguIGlPUyB1c2VzIGEgc2VwYXJhdGUgbWVjaGFuaXNtLgorI2lm
IFBMQVRGT1JNKElPUykgfHwgKFBMQVRGT1JNKE1BQykgJiYgX19NQUNfT1NfWF9WRVJTSU9OX01J
Tl9SRVFVSVJFRCA8IDEwMTIwMCkKKyAgICByZXR1cm4gZmFsc2U7CisjZWxzZQorICAgIHN3aXRj
aCAoZnJhbWUoKS5zZXR0aW5ncygpLnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koKSkg
eworICAgIGNhc2UgVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudDoKKyAg
ICAgICAgcmV0dXJuIHN0eWxlKCkuc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9u
TGVmdCgpOworICAgIGNhc2UgVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6VmlldzoK
KyAgICAgICAgcmV0dXJuIGZyYW1lKCkuc2V0dGluZ3MoKS5zeXN0ZW1MYXlvdXREaXJlY3Rpb24o
KSA9PSBSVEw7CisgICAgfQorI2VuZGlmCit9CisKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKIApk
aWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmpl
Y3QuaCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMYXllck1vZGVsT2JqZWN0LmgK
aW5kZXggNjdlYmM3MmNkZjY1MjdjNTc4YTU0MzAxNzBhZTUyMDc0ZDA1Yzc1ZC4uN2YwYTliZTcx
OWZjMGY4NmFiNTQwZTUyZTQ1MDY3Njc0YjliMGRlMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvcmVuZGVyaW5nL1JlbmRlckxheWVyTW9kZWxPYmplY3QuaAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvUmVuZGVyTGF5ZXJNb2RlbE9iamVjdC5oCkBAIC01MSw2ICs1MSw4IEBAIHB1
YmxpYzoKIAogICAgIHZpcnR1YWwgYm9vbCBpc1Njcm9sbGFibGVPclJ1YmJlcmJhbmRhYmxlQm94
KCkgY29uc3QgeyByZXR1cm4gZmFsc2U7IH0KIAorICAgIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0OworCiBwcm90ZWN0ZWQ6CiAgICAgUmVuZGVy
TGF5ZXJNb2RlbE9iamVjdChFbGVtZW50JiwgUmVuZGVyU3R5bGUmJiwgQmFzZVR5cGVGbGFncyk7
CiAgICAgUmVuZGVyTGF5ZXJNb2RlbE9iamVjdChEb2N1bWVudCYsIFJlbmRlclN0eWxlJiYsIEJh
c2VUeXBlRmxhZ3MpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3Bw
CmluZGV4IDg4MjU3NzNmMDQwOTFkYmIyZmE4MDBlMTY0OGI1MTk2YWI2ZTE4ZWQuLjViYjJmZTYy
ZGI3OGNlYmE5ODE1YTZmNzk5ZTNhMDE1NWEwODM4ZDQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTI2Niw3ICsyNjYsNyBAQCBpbnQgUmVuZGVyTGlz
dEJveDo6YmFzZWxpbmVQb3NpdGlvbihGb250QmFzZWxpbmUgYmFzZWxpbmVUeXBlLCBib29sIGZp
cnN0TGluZSwgTAogTGF5b3V0UmVjdCBSZW5kZXJMaXN0Qm94OjppdGVtQm91bmRpbmdCb3hSZWN0
KGNvbnN0IExheW91dFBvaW50JiBhZGRpdGlvbmFsT2Zmc2V0LCBpbnQgaW5kZXgpCiB7CiAgICAg
TGF5b3V0VW5pdCB4ID0gYWRkaXRpb25hbE9mZnNldC54KCkgKyBib3JkZXJMZWZ0KCkgKyBwYWRk
aW5nTGVmdCgpOwotICAgIGlmICh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgJiYgbV92QmFy
KQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgJiYg
bV92QmFyKQogICAgICAgICB4ICs9IG1fdkJhci0+b2NjdXBpZWRXaWR0aCgpOwogICAgIExheW91
dFVuaXQgeSA9IGFkZGl0aW9uYWxPZmZzZXQueSgpICsgYm9yZGVyVG9wKCkgKyBwYWRkaW5nVG9w
KCkgKyBpdGVtSGVpZ2h0KCkgKiAoaW5kZXggLSBtX2luZGV4T2Zmc2V0KTsKICAgICByZXR1cm4g
TGF5b3V0UmVjdCh4LCB5LCBjb250ZW50V2lkdGgoKSwgaXRlbUhlaWdodCgpKTsKQEAgLTM0NSw3
ICszNDUsNyBAQCB2b2lkIFJlbmRlckxpc3RCb3g6OnBhaW50U2Nyb2xsYmFyKFBhaW50SW5mbyYg
cGFpbnRJbmZvLCBjb25zdCBMYXlvdXRQb2ludCYgcGFpbgogICAgIGlmICghbV92QmFyKQogICAg
ICAgICByZXR1cm47CiAKLSAgICBMYXlvdXRVbml0IGxlZnQgPSBwYWludE9mZnNldC54KCkgKyAo
dmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJv
cmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkpOworICAgIExheW91dFVuaXQgbGVmdCA9IHBh
aW50T2Zmc2V0LngoKSArIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0
KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIG1fdkJhci0+d2lk
dGgoKSk7CiAgICAgTGF5b3V0VW5pdCB0b3AgPSBwYWludE9mZnNldC55KCkgKyBib3JkZXJUb3Ao
KTsKICAgICBMYXlvdXRVbml0IHdpZHRoID0gbV92QmFyLT53aWR0aCgpOwogICAgIExheW91dFVu
aXQgaGVpZ2h0ID0gdGhpcy0+aGVpZ2h0KCkgLSAoYm9yZGVyVG9wKCkgKyBib3JkZXJCb3R0b20o
KSk7CkBAIC00NDgsNyArNDQ4LDcgQEAgYm9vbCBSZW5kZXJMaXN0Qm94Ojppc1BvaW50SW5PdmVy
Zmxvd0NvbnRyb2woSGl0VGVzdFJlc3VsdCYgcmVzdWx0LCBjb25zdCBMYXlvdXQKICAgICBpZiAo
IW1fdkJhciB8fCAhbV92QmFyLT5zaG91bGRQYXJ0aWNpcGF0ZUluSGl0VGVzdGluZygpKQogICAg
ICAgICByZXR1cm4gZmFsc2U7CiAKLSAgICBMYXlvdXRVbml0IHggPSBhY2N1bXVsYXRlZE9mZnNl
dC54KCkgKyAodmVydGljYWxTY3JvbGxiYXJJc09uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lk
dGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBtX3ZCYXItPndpZHRoKCkpOworICAgIExheW91dFVuaXQg
eCA9IGFjY3VtdWxhdGVkT2Zmc2V0LngoKSArIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Ny
b2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAt
IG1fdkJhci0+d2lkdGgoKSk7CiAgICAgTGF5b3V0VW5pdCB5ID0gYWNjdW11bGF0ZWRPZmZzZXQu
eSgpICsgYm9yZGVyVG9wKCk7CiAgICAgTGF5b3V0VW5pdCB3aWR0aCA9IG1fdkJhci0+d2lkdGgo
KTsKICAgICBMYXlvdXRVbml0IGhlaWdodCA9IHRoaXMtPmhlaWdodCgpIC0gYm9yZGVyVG9wKCkg
LSBib3JkZXJCb3R0b20oKTsKQEAgLTQ3MCw5ICs0NzAsOSBAQCBpbnQgUmVuZGVyTGlzdEJveDo6
bGlzdEluZGV4QXRPZmZzZXQoY29uc3QgTGF5b3V0U2l6ZSYgb2Zmc2V0KQogICAgICAgICByZXR1
cm4gLTE7CiAKICAgICBpbnQgc2Nyb2xsYmFyV2lkdGggPSBtX3ZCYXIgPyBtX3ZCYXItPndpZHRo
KCkgOiAwOwotICAgIGlmICh2ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgJiYgKG9mZnNldC53
aWR0aCgpIDwgYm9yZGVyTGVmdCgpICsgcGFkZGluZ0xlZnQoKSArIHNjcm9sbGJhcldpZHRoIHx8
IG9mZnNldC53aWR0aCgpID4gd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBwYWRkaW5nUmlnaHQo
KSkpCisgICAgaWYgKHNob3VsZFBsYWNlQmxvY2tEaXJlY3Rpb25TY3JvbGxiYXJPbkxlZnQoKSAm
JiAob2Zmc2V0LndpZHRoKCkgPCBib3JkZXJMZWZ0KCkgKyBwYWRkaW5nTGVmdCgpICsgc2Nyb2xs
YmFyV2lkdGggfHwgb2Zmc2V0LndpZHRoKCkgPiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHBh
ZGRpbmdSaWdodCgpKSkKICAgICAgICAgcmV0dXJuIC0xOwotICAgIGlmICghdmVydGljYWxTY3Jv
bGxiYXJJc09uTGVmdCgpICYmIChvZmZzZXQud2lkdGgoKSA8IGJvcmRlckxlZnQoKSArIHBhZGRp
bmdMZWZ0KCkgfHwgb2Zmc2V0LndpZHRoKCkgPiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHBh
ZGRpbmdSaWdodCgpIC0gc2Nyb2xsYmFyV2lkdGgpKQorICAgIGlmICghc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIChvZmZzZXQud2lkdGgoKSA8IGJvcmRlckxl
ZnQoKSArIHBhZGRpbmdMZWZ0KCkgfHwgb2Zmc2V0LndpZHRoKCkgPiB3aWR0aCgpIC0gYm9yZGVy
UmlnaHQoKSAtIHBhZGRpbmdSaWdodCgpIC0gc2Nyb2xsYmFyV2lkdGgpKQogICAgICAgICByZXR1
cm4gLTE7CiAKICAgICBpbnQgbmV3T2Zmc2V0ID0gKG9mZnNldC5oZWlnaHQoKSAtIGJvcmRlclRv
cCgpIC0gcGFkZGluZ1RvcCgpKSAvIGl0ZW1IZWlnaHQoKSArIG1faW5kZXhPZmZzZXQ7CkBAIC03
MjksNyArNzI5LDcgQEAgTGF5b3V0UmVjdCBSZW5kZXJMaXN0Qm94Ojpjb250cm9sQ2xpcFJlY3Qo
Y29uc3QgTGF5b3V0UG9pbnQmIGFkZGl0aW9uYWxPZmZzZXQpIGMKICAgICAvLyBDbGlwIGFnYWlu
c3QgdGhlIHBhZGRpbmcgYm94LCB0byBnaXZlIDxvcHRpb24+cyBhbmQgb3ZlcmxheSBzY3JvbGxi
YXIgc29tZSBleHRyYSBzcGFjZQogICAgIC8vIHRvIGdldCBwYWludGVkLgogICAgIExheW91dFJl
Y3QgY2xpcFJlY3QgPSBwYWRkaW5nQm94UmVjdCgpOwotICAgIGlmICh2ZXJ0aWNhbFNjcm9sbGJh
cklzT25MZWZ0KCkgJiYgKCFsYXllcigpIHx8ICFsYXllcigpLT52ZXJ0aWNhbFNjcm9sbGJhcklz
T25MZWZ0KCkpKQorICAgIGlmIChzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25M
ZWZ0KCkpCiAgICAgICAgIGNsaXBSZWN0Lm1vdmUobV92QmFyLT5vY2N1cGllZFdpZHRoKCksIDAp
OwogICAgIGNsaXBSZWN0Lm1vdmVCeShhZGRpdGlvbmFsT2Zmc2V0KTsKICAgICByZXR1cm4gY2xp
cFJlY3Q7CkBAIC03NDQsMTQgKzc0NCwxNCBAQCBib29sIFJlbmRlckxpc3RCb3g6OmlzQWN0aXZl
KCkgY29uc3QKIHZvaWQgUmVuZGVyTGlzdEJveDo6aW52YWxpZGF0ZVNjcm9sbGJhclJlY3QoU2Ny
b2xsYmFyJiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHJlY3QpCiB7CiAgICAgSW50UmVjdCBz
Y3JvbGxSZWN0ID0gcmVjdDsKLSAgICBzY3JvbGxSZWN0Lm1vdmUodmVydGljYWxTY3JvbGxiYXJJ
c09uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJvcmRlclJpZ2h0KCkgLSBzY3Jv
bGxiYXIud2lkdGgoKSwgYm9yZGVyVG9wKCkpOworICAgIHNjcm9sbFJlY3QubW92ZShzaG91bGRQ
bGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0
aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpLCBib3JkZXJUb3AoKSk7CiAg
ICAgcmVwYWludFJlY3RhbmdsZShzY3JvbGxSZWN0KTsKIH0KIAogSW50UmVjdCBSZW5kZXJMaXN0
Qm94Ojpjb252ZXJ0RnJvbVNjcm9sbGJhclRvQ29udGFpbmluZ1ZpZXcoY29uc3QgU2Nyb2xsYmFy
JiBzY3JvbGxiYXIsIGNvbnN0IEludFJlY3QmIHNjcm9sbGJhclJlY3QpIGNvbnN0CiB7CiAgICAg
SW50UmVjdCByZWN0ID0gc2Nyb2xsYmFyUmVjdDsKLSAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHZl
cnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3Jk
ZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCk7CisgICAgaW50IHNjcm9sbGJhckxlZnQgPSBz
aG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkg
OiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNjcm9sbGJhci53aWR0aCgpOwogICAgIGludCBz
Y3JvbGxiYXJUb3AgPSBib3JkZXJUb3AoKTsKICAgICByZWN0Lm1vdmUoc2Nyb2xsYmFyTGVmdCwg
c2Nyb2xsYmFyVG9wKTsKICAgICByZXR1cm4gdmlldygpLmZyYW1lVmlldygpLmNvbnZlcnRGcm9t
UmVuZGVyZXJUb0NvbnRhaW5pbmdWaWV3KHRoaXMsIHJlY3QpOwpAQCAtNzYwLDcgKzc2MCw3IEBA
IEludFJlY3QgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21TY3JvbGxiYXJUb0NvbnRhaW5pbmdW
aWV3KGNvbnN0IFNjcm9sbGJhciYgc2NyCiBJbnRSZWN0IFJlbmRlckxpc3RCb3g6OmNvbnZlcnRG
cm9tQ29udGFpbmluZ1ZpZXdUb1Njcm9sbGJhcihjb25zdCBTY3JvbGxiYXImIHNjcm9sbGJhciwg
Y29uc3QgSW50UmVjdCYgcGFyZW50UmVjdCkgY29uc3QKIHsKICAgICBJbnRSZWN0IHJlY3QgPSB2
aWV3KCkuZnJhbWVWaWV3KCkuY29udmVydEZyb21Db250YWluaW5nVmlld1RvUmVuZGVyZXIodGhp
cywgcGFyZW50UmVjdCk7Ci0gICAgaW50IHNjcm9sbGJhckxlZnQgPSB2ZXJ0aWNhbFNjcm9sbGJh
cklzT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNj
cm9sbGJhci53aWR0aCgpOworICAgIGludCBzY3JvbGxiYXJMZWZ0ID0gc2hvdWxkUGxhY2VCbG9j
a0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpID8gYm9yZGVyTGVmdCgpIDogd2lkdGgoKSAtIGJv
cmRlclJpZ2h0KCkgLSBzY3JvbGxiYXIud2lkdGgoKTsKICAgICBpbnQgc2Nyb2xsYmFyVG9wID0g
Ym9yZGVyVG9wKCk7CiAgICAgcmVjdC5tb3ZlKC1zY3JvbGxiYXJMZWZ0LCAtc2Nyb2xsYmFyVG9w
KTsKICAgICByZXR1cm4gcmVjdDsKQEAgLTc2OSw3ICs3NjksNyBAQCBJbnRSZWN0IFJlbmRlckxp
c3RCb3g6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1ZpZXdUb1Njcm9sbGJhcihjb25zdCBTY3JvbGxi
YXImIHNjcgogSW50UG9pbnQgUmVuZGVyTGlzdEJveDo6Y29udmVydEZyb21TY3JvbGxiYXJUb0Nv
bnRhaW5pbmdWaWV3KGNvbnN0IFNjcm9sbGJhciYgc2Nyb2xsYmFyLCBjb25zdCBJbnRQb2ludCYg
c2Nyb2xsYmFyUG9pbnQpIGNvbnN0CiB7CiAgICAgSW50UG9pbnQgcG9pbnQgPSBzY3JvbGxiYXJQ
b2ludDsKLSAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQo
KSA/IGJvcmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndp
ZHRoKCk7CisgICAgaW50IHNjcm9sbGJhckxlZnQgPSBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9u
U2Nyb2xsYmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQo
KSAtIHNjcm9sbGJhci53aWR0aCgpOwogICAgIGludCBzY3JvbGxiYXJUb3AgPSBib3JkZXJUb3Ao
KTsKICAgICBwb2ludC5tb3ZlKHNjcm9sbGJhckxlZnQsIHNjcm9sbGJhclRvcCk7CiAgICAgcmV0
dXJuIHZpZXcoKS5mcmFtZVZpZXcoKS5jb252ZXJ0RnJvbVJlbmRlcmVyVG9Db250YWluaW5nVmll
dyh0aGlzLCBwb2ludCk7CkBAIC03NzgsNyArNzc4LDcgQEAgSW50UG9pbnQgUmVuZGVyTGlzdEJv
eDo6Y29udmVydEZyb21TY3JvbGxiYXJUb0NvbnRhaW5pbmdWaWV3KGNvbnN0IFNjcm9sbGJhciYg
c2MKIEludFBvaW50IFJlbmRlckxpc3RCb3g6OmNvbnZlcnRGcm9tQ29udGFpbmluZ1ZpZXdUb1Nj
cm9sbGJhcihjb25zdCBTY3JvbGxiYXImIHNjcm9sbGJhciwgY29uc3QgSW50UG9pbnQmIHBhcmVu
dFBvaW50KSBjb25zdAogewogICAgIEludFBvaW50IHBvaW50ID0gdmlldygpLmZyYW1lVmlldygp
LmNvbnZlcnRGcm9tQ29udGFpbmluZ1ZpZXdUb1JlbmRlcmVyKHRoaXMsIHBhcmVudFBvaW50KTsK
LSAgICBpbnQgc2Nyb2xsYmFyTGVmdCA9IHZlcnRpY2FsU2Nyb2xsYmFySXNPbkxlZnQoKSA/IGJv
cmRlckxlZnQoKSA6IHdpZHRoKCkgLSBib3JkZXJSaWdodCgpIC0gc2Nyb2xsYmFyLndpZHRoKCk7
CisgICAgaW50IHNjcm9sbGJhckxlZnQgPSBzaG91bGRQbGFjZUJsb2NrRGlyZWN0aW9uU2Nyb2xs
YmFyT25MZWZ0KCkgPyBib3JkZXJMZWZ0KCkgOiB3aWR0aCgpIC0gYm9yZGVyUmlnaHQoKSAtIHNj
cm9sbGJhci53aWR0aCgpOwogICAgIGludCBzY3JvbGxiYXJUb3AgPSBib3JkZXJUb3AoKTsKICAg
ICBwb2ludC5tb3ZlKC1zY3JvbGxiYXJMZWZ0LCAtc2Nyb2xsYmFyVG9wKTsKICAgICByZXR1cm4g
cG9pbnQ7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJv
eC5oIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guaAppbmRleCA5ZGFh
OGQ2ZWQzNTBiYzczN2FiYjVkYjA4Y2Y3YWMxY2MxNTk4MWNiLi5lYzc2N2YzOTdjZjkxZTA1N2Mw
NzkyYjgyNDM4NzY4ZmQ5NzEwOTU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvUmVuZGVyTGlzdEJveC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJM
aXN0Qm94LmgKQEAgLTE1Niw2ICsxNTYsOCBAQCBwcml2YXRlOgogICAgIHZvaWQgcGFpbnRJdGVt
QmFja2dyb3VuZChQYWludEluZm8mLCBjb25zdCBMYXlvdXRQb2ludCYsIGludCBsaXN0SW5kZXgp
OwogICAgIHZvaWQgc2Nyb2xsVG9SZXZlYWxTZWxlY3Rpb24oKTsKIAorICAgIGJvb2wgc2hvdWxk
UGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IFJlbmRlckJsb2NrRmxvdzo6c2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpOyB9CisKICAgICBib29sIG1fb3B0aW9uc0NoYW5nZWQ7CiAgICAgYm9vbCBtX3Njcm9sbFRv
UmV2ZWFsU2VsZWN0aW9uQWZ0ZXJMYXlvdXQ7CiAgICAgYm9vbCBtX2luQXV0b3Njcm9sbDsKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJWaWV3LmNwcAppbmRleCAwMjFlMzEwZDRiMzMyY2I2
NGE2ZjI4NGRjM2I3YjhjN2EzZmM4YzkwLi40OTBlNjNhZjNmNDFlNzU5ZGI1NmM5YzNlMTE0MzBi
NjFhNDkxNDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVmll
dy5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclZpZXcuY3BwCkBAIC02
NDIsNyArNjQyLDcgQEAgdm9pZCBSZW5kZXJWaWV3OjpyZXBhaW50Vmlld1JlY3RhbmdsZShjb25z
dCBMYXlvdXRSZWN0JiByZXBhaW50UmVjdCkgY29uc3QKICAgICAgICAgLy8gYW5kIHRoZSBSZW5k
ZXJlciB0aGF0IGNvbnRhaW5zIHRoZSBpZnJhbWUuIFRoaXMgdHJhbnNmb3JtYXRpb24gbXVzdCBh
Y2NvdW50IGZvciBhCiAgICAgICAgIC8vIGxlZnQgc2Nyb2xsYmFyIChpZiBvbmUgZXhpc3RzKS4K
ICAgICAgICAgRnJhbWVWaWV3JiBmcmFtZVZpZXcgPSB0aGlzLT5mcmFtZVZpZXcoKTsKLSAgICAg
ICAgaWYgKGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9sbGJhcklzT25MZWZ0KCkgJiYgZnJhbWVWaWV3
LnZlcnRpY2FsU2Nyb2xsYmFyKCkpCisgICAgICAgIGlmIChmcmFtZVZpZXcuc2hvdWxkUGxhY2VC
bG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVmdCgpICYmIGZyYW1lVmlldy52ZXJ0aWNhbFNjcm9s
bGJhcigpKQogICAgICAgICAgICAgYWRqdXN0ZWRSZWN0Lm1vdmUoTGF5b3V0U2l6ZShmcmFtZVZp
ZXcudmVydGljYWxTY3JvbGxiYXIoKS0+b2NjdXBpZWRXaWR0aCgpLCAwKSk7CiAKICAgICAgICAg
b3duZXJCb3gtPnJlcGFpbnRSZWN0YW5nbGUoYWRqdXN0ZWRSZWN0KTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9SZW5kZXJTdHlsZS5jcHAgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvc3R5bGUvUmVuZGVyU3R5bGUuY3BwCmluZGV4IDAzZDIxNTI1Y2ViNDJj
Njk4MWViMTYwZmZlY2MwY2NjOWNkYTE1OGQuLmM0MDZkYmExMTVhOGU1YzlkMmMwNmVlNGQ0M2I4
ZWQwOTA1MTU5NmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9zdHlsZS9S
ZW5kZXJTdHlsZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3N0eWxlL1JlbmRl
clN0eWxlLmNwcApAQCAtMjA3NywxMyArMjA3Nyw3IEBAIGZsb2F0IFJlbmRlclN0eWxlOjpvdXRs
aW5lT2Zmc2V0KCkgY29uc3QKIAogYm9vbCBSZW5kZXJTdHlsZTo6c2hvdWxkUGxhY2VCbG9ja0Rp
cmVjdGlvblNjcm9sbGJhck9uTGVmdCgpIGNvbnN0CiB7Ci0jaWYgUExBVEZPUk0oTUFDKQotICAg
IHJldHVybiBTY3JvbGxhYmxlQXJlYTo6c3lzdGVtTGFuZ3VhZ2VJc1JUTCgpOwotI2VsaWYgVVNF
KFJUTF9TQ1JPTExCQVIpCiAgICAgcmV0dXJuICFpc0xlZnRUb1JpZ2h0RGlyZWN0aW9uKCkgJiYg
aXNIb3Jpem9udGFsV3JpdGluZ01vZGUoKTsKLSNlbHNlCi0gICAgcmV0dXJuIGZhbHNlOwotI2Vu
ZGlmCiB9CiAKIH0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5n
L0ludGVybmFsU2V0dGluZ3MuY3BwCmluZGV4IGZjNDM1YTdjNzlhZDQ4ZmI2MjRjZTlmMzRkNzE5
NGU5ODc3ZWI2ZTkuLjJkNmU3OTNlNzUxOTY4YTRjNjNmYmVmNTdmNjExMTgxNTVkNWQ3NDYgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5ncy5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmNwcApAQCAtMTA2LDYg
KzEwNiw4IEBAIEludGVybmFsU2V0dGluZ3M6OkJhY2t1cDo6QmFja3VwKFNldHRpbmdzJiBzZXR0
aW5ncykKICNpZiBFTkFCTEUoSU5ERVhFRF9EQVRBQkFTRV9JTl9XT1JLRVJTKQogICAgICwgbV9p
bmRleGVkREJXb3JrZXJzRW5hYmxlZChSdW50aW1lRW5hYmxlZEZlYXR1cmVzOjpzaGFyZWRGZWF0
dXJlcygpLmluZGV4ZWREQldvcmtlcnNFbmFibGVkKCkpCiAjZW5kaWYKKyAgICAsIG1fdmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShzZXR0aW5ncy52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5KCkpCisgICAgLCBtX3N5c3RlbUxheW91dERpcmVjdGlvbihzZXR0aW5ncy5zeXN0
ZW1MYXlvdXREaXJlY3Rpb24oKSkKIHsKIH0KIApAQCAtMTc2LDYgKzE3OCw4IEBAIHZvaWQgSW50
ZXJuYWxTZXR0aW5nczo6QmFja3VwOjpyZXN0b3JlVG8oU2V0dGluZ3MmIHNldHRpbmdzKQogI2lm
IEVOQUJMRShJTkRFWEVEX0RBVEFCQVNFX0lOX1dPUktFUlMpCiAgICAgUnVudGltZUVuYWJsZWRG
ZWF0dXJlczo6c2hhcmVkRmVhdHVyZXMoKS5zZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChtX2lu
ZGV4ZWREQldvcmtlcnNFbmFibGVkKTsKICNlbmRpZgorICAgIHNldHRpbmdzLnNldFZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kobV92ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KTsKKyAgICBzZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24obV9zeXN0ZW1MYXlvdXRE
aXJlY3Rpb24pOwogfQogCiBjbGFzcyBJbnRlcm5hbFNldHRpbmdzV3JhcHBlciA6IHB1YmxpYyBT
dXBwbGVtZW50PFBhZ2U+IHsKQEAgLTU1NSw2ICs1NTksNTkgQEAgdm9pZCBJbnRlcm5hbFNldHRp
bmdzOjpzZXRJbmRleGVkREJXb3JrZXJzRW5hYmxlZChib29sIGVuYWJsZWQsIEV4Y2VwdGlvbkNv
ZGUmKQogI2VuZGlmCiB9CiAKK1N0cmluZyBJbnRlcm5hbFNldHRpbmdzOjp2ZXJ0aWNhbFNjcm9s
bGJhckxvY2F0aW9uUG9saWN5KEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVybmFsU2V0
dGluZ3NHdWFyZEZvclNldHRpbmdzUmV0dXJuKCIiKTsKKyAgICBzd2l0Y2ggKHNldHRpbmdzKCkt
PnZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koKSkgeworICAgIGNhc2UgVmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudDoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0
ZXJhbCgiQ29udGVudCIpOworICAgIGNhc2UgVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eTo6VmlldzoKKyAgICAgICAgcmV0dXJuIEFTQ0lJTGl0ZXJhbCgiVmlldyIpOworICAgIH0KKyAg
ICBBU1NFUlRfTk9UX1JFQUNIRUQoKTsKKyAgICByZXR1cm4gU3RyaW5nKCk7Cit9CisKK3ZvaWQg
SW50ZXJuYWxTZXR0aW5nczo6c2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeShjb25z
dCBTdHJpbmcmIHBvbGljeSwgRXhjZXB0aW9uQ29kZSYgZWMpCit7CisgICAgSW50ZXJuYWxTZXR0
aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKKyAgICBpZiAoZXF1YWxMZXR0ZXJzSWdub3JpbmdBU0NJ
SUNhc2UocG9saWN5LCAiY29udGVudCIpKSB7CisgICAgICAgIHNldHRpbmdzKCktPnNldFZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eTo6Q29udGVudCk7CisgICAgICAgIHJldHVybjsKKyAgICB9CisgICAgaWYgKGVxdWFsTGV0dGVy
c0lnbm9yaW5nQVNDSUlDYXNlKHBvbGljeSwgInZpZXciKSkgeworICAgICAgICBzZXR0aW5ncygp
LT5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3k6OlZpZXcpOworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGVjID0gSU5W
QUxJRF9BQ0NFU1NfRVJSOworfQorCitTdHJpbmcgSW50ZXJuYWxTZXR0aW5nczo6c3lzdGVtTGF5
b3V0RGlyZWN0aW9uKEV4Y2VwdGlvbkNvZGUmIGVjKQoreworICAgIEludGVybmFsU2V0dGluZ3NH
dWFyZEZvclNldHRpbmdzUmV0dXJuKCIiKTsKKyAgICBzd2l0Y2ggKHNldHRpbmdzKCktPnN5c3Rl
bUxheW91dERpcmVjdGlvbigpKSB7CisgICAgY2FzZSBMVFI6CisgICAgICAgIHJldHVybiBBU0NJ
SUxpdGVyYWwoIkxUUiIpOworICAgIGNhc2UgUlRMOgorICAgICAgICByZXR1cm4gQVNDSUlMaXRl
cmFsKCJSVEwiKTsKKyAgICB9CisgICAgQVNTRVJUX05PVF9SRUFDSEVEKCk7CisgICAgcmV0dXJu
IFN0cmluZygpOworfQorCit2b2lkIEludGVybmFsU2V0dGluZ3M6OnNldFN5c3RlbUxheW91dERp
cmVjdGlvbihjb25zdCBTdHJpbmcmIGRpcmVjdGlvbiwgRXhjZXB0aW9uQ29kZSYgZWMpCit7Cisg
ICAgSW50ZXJuYWxTZXR0aW5nc0d1YXJkRm9yU2V0dGluZ3MoKTsKKyAgICBpZiAoZXF1YWxMZXR0
ZXJzSWdub3JpbmdBU0NJSUNhc2UoZGlyZWN0aW9uLCAibHRyIikpIHsKKyAgICAgICAgc2V0dGlu
Z3MoKS0+c2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKExUUik7CisgICAgICAgIHJldHVybjsKKyAg
ICB9CisgICAgaWYgKGVxdWFsTGV0dGVyc0lnbm9yaW5nQVNDSUlDYXNlKGRpcmVjdGlvbiwgInJ0
bCIpKSB7CisgICAgICAgIHNldHRpbmdzKCktPnNldFN5c3RlbUxheW91dERpcmVjdGlvbihSVEwp
OworICAgICAgICByZXR1cm47CisgICAgfQorICAgIGVjID0gSU5WQUxJRF9BQ0NFU1NfRVJSOwor
fQogCiAvLyBJZiB5b3UgYWRkIHRvIHRoaXMgbGlzdCwgbWFrZSBzdXJlIHRoYXQgeW91IHVwZGF0
ZSB0aGUgQmFja3VwIGNsYXNzIGZvciB0ZXN0IHJlcHJvZHVjYWJpbGl0eSEKIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmggYi9Tb3VyY2UvV2Vi
Q29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaAppbmRleCBiMGYwOGYyOTI3NDdkMDIwYTc4
NDYyYTBiMGYzZjIyY2MyMDFkNDljLi4zZjVmNzEwZjA2ZWQ1MzM2MjEyMmE0NjI4NDM0YmJiZjQz
ODQ1NTVmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGlu
Z3MuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaApAQCAt
MzQsNiArMzQsOCBAQAogI2luY2x1ZGUgIkludFNpemUuaCIKICNpbmNsdWRlICJJbnRlcm5hbFNl
dHRpbmdzR2VuZXJhdGVkLmgiCiAjaW5jbHVkZSAiU2VjdXJpdHlPcmlnaW4uaCIKKyNpbmNsdWRl
ICJTZXR0aW5ncy5oIgorI2luY2x1ZGUgIldyaXRpbmdNb2RlLmgiCiAKIG5hbWVzcGFjZSBXZWJD
b3JlIHsKIApAQCAtMTAyLDYgKzEwNCw4IEBAIHB1YmxpYzoKICNpZiBFTkFCTEUoSU5ERVhFRF9E
QVRBQkFTRV9JTl9XT1JLRVJTKQogICAgICAgICBib29sIG1faW5kZXhlZERCV29ya2Vyc0VuYWJs
ZWQ7CiAjZW5kaWYKKyAgICAgICAgVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSBtX3Zl
cnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k7CisgICAgICAgIFRleHREaXJlY3Rpb24gbV9z
eXN0ZW1MYXlvdXREaXJlY3Rpb247CiAgICAgfTsKIAogICAgIHN0YXRpYyBSZWY8SW50ZXJuYWxT
ZXR0aW5ncz4gY3JlYXRlKFBhZ2UqIHBhZ2UpCkBAIC0xNTAsNiArMTU0LDEwIEBAIHB1YmxpYzoK
ICAgICB2b2lkIHNldEFsbG93c0lubGluZU1lZGlhUGxheWJhY2soYm9vbCwgRXhjZXB0aW9uQ29k
ZSYpOwogICAgIHZvaWQgc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJbmxpbmVB
dHRyaWJ1dGUoYm9vbCwgRXhjZXB0aW9uQ29kZSYpOwogICAgIHZvaWQgc2V0SW5kZXhlZERCV29y
a2Vyc0VuYWJsZWQoYm9vbCwgRXhjZXB0aW9uQ29kZSYpOworICAgIFN0cmluZyB2ZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5KEV4Y2VwdGlvbkNvZGUmKTsKKyAgICB2b2lkIHNldFZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koY29uc3QgU3RyaW5nJiBwb2xpY3ksIEV4Y2VwdGlv
bkNvZGUmKTsKKyAgICBTdHJpbmcgc3lzdGVtTGF5b3V0RGlyZWN0aW9uKEV4Y2VwdGlvbkNvZGUm
KTsKKyAgICB2b2lkIHNldFN5c3RlbUxheW91dERpcmVjdGlvbihjb25zdCBTdHJpbmcmIGRpcmVj
dGlvbiwgRXhjZXB0aW9uQ29kZSYpOwogCiBwcml2YXRlOgogICAgIGV4cGxpY2l0IEludGVybmFs
U2V0dGluZ3MoUGFnZSopOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvdGVzdGluZy9JbnRl
cm5hbFNldHRpbmdzLmlkbCBiL1NvdXJjZS9XZWJDb3JlL3Rlc3RpbmcvSW50ZXJuYWxTZXR0aW5n
cy5pZGwKaW5kZXggZTM5ZTc0MTg3ZTNiMTI2YzMzYmNlODU4OTllNTFhN2ZhZWFiYWU0Mi4uYTJk
NzgxY2QwNzVhN2JiY2NjYjcwODhiOWFiYTNhYmVlZjFkYjgyYiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvdGVzdGluZy9JbnRlcm5hbFNldHRpbmdzLmlkbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS90ZXN0aW5nL0ludGVybmFsU2V0dGluZ3MuaWRsCkBAIC03OSw1ICs3OSwxMCBAQAogICAgIFtS
YWlzZXNFeGNlcHRpb25dIHZvaWQgc2V0SW5saW5lTWVkaWFQbGF5YmFja1JlcXVpcmVzUGxheXNJ
bmxpbmVBdHRyaWJ1dGUoYm9vbGVhbiByZXF1aXJlcyk7CiAKICAgICBbUmFpc2VzRXhjZXB0aW9u
XSB2b2lkIHNldEluZGV4ZWREQldvcmtlcnNFbmFibGVkKGJvb2xlYW4gcmVxdWlyZXMpOworCisg
ICAgW1JhaXNlc0V4Y2VwdGlvbl0gRE9NU3RyaW5nIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3koKTsKKyAgICBbUmFpc2VzRXhjZXB0aW9uXSB2b2lkIHNldFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3koRE9NU3RyaW5nIHBvbGljeSk7CisgICAgW1JhaXNlc0V4Y2VwdGlvbl0g
RE9NU3RyaW5nIHN5c3RlbUxheW91dERpcmVjdGlvbigpOworICAgIFtSYWlzZXNFeGNlcHRpb25d
IHZvaWQgc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKERPTVN0cmluZyBkaXJlY3Rpb24pOwogfTsK
IApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5p
dGlvbnMuaCBiL1NvdXJjZS9XZWJLaXQyL1NoYXJlZC9XZWJQcmVmZXJlbmNlc0RlZmluaXRpb25z
LmgKaW5kZXggZTQ4MGMxZTI4NGNhMDYyNGVhMjNiYTdiMTM4YjAzNzlhNWVlNGQxOC4uOGE3YzVi
YWQ4NmU0NGZiNTlhNTlkYTBmYzUzZjE0YWQ0YmM5MTNhYyAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YktpdDIvU2hhcmVkL1dlYlByZWZlcmVuY2VzRGVmaW5pdGlvbnMuaAorKysgYi9Tb3VyY2UvV2Vi
S2l0Mi9TaGFyZWQvV2ViUHJlZmVyZW5jZXNEZWZpbml0aW9ucy5oCkBAIC0yNTcsNiArMjU3LDgg
QEAKICAgICBtYWNybyhTdG9yYWdlQmxvY2tpbmdQb2xpY3ksIHN0b3JhZ2VCbG9ja2luZ1BvbGlj
eSwgVUludDMyLCB1aW50MzJfdCwgV2ViQ29yZTo6U2VjdXJpdHlPcmlnaW46OkJsb2NrVGhpcmRQ
YXJ0eVN0b3JhZ2UsICIiLCAiIikgXAogICAgIG1hY3JvKEphdmFTY3JpcHRSdW50aW1lRmxhZ3Ms
IGphdmFTY3JpcHRSdW50aW1lRmxhZ3MsIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAog
ICAgIG1hY3JvKERhdGFEZXRlY3RvclR5cGVzLCBkYXRhRGV0ZWN0b3JUeXBlcywgVUludDMyLCB1
aW50MzJfdCwgMCwgIiIsICIiKSBcCisgICAgbWFjcm8oVmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
biwgdmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbiwgVUludDMyLCB1aW50MzJfdCwgMCwgIiIsICIi
KSBcCisgICAgbWFjcm8oU3lzdGVtTGF5b3V0RGlyZWN0aW9uLCBzeXN0ZW1MYXlvdXREaXJlY3Rp
b24sIFVJbnQzMiwgdWludDMyX3QsIDAsICIiLCAiIikgXAogICAgIFwKIAogI2RlZmluZSBGT1Jf
RUFDSF9XRUJLSVRfREVCVUdfQk9PTF9QUkVGRVJFTkNFKG1hY3JvKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViS2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlldy5tbSBiL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Lm1tCmluZGV4IDBlZDc1M2VlY2U0
OTI5OGM1ZWIxMDFlYTFiZWUzMWY3N2Q1MzAyODcuLjU1ZThiMDc3YTYwMTUwYjcyYTZmYzlkMzIz
OTY0MDVkMjc5YzVmOTEgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkv
Q29jb2EvV0tXZWJWaWV3Lm1tCisrKyBiL1NvdXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29j
b2EvV0tXZWJWaWV3Lm1tCkBAIC04Nyw2ICs4Nyw4IEBACiAjaW1wb3J0IDxXZWJDb3JlL05TVGV4
dEZpbmRlclNQSS5oPgogI2ltcG9ydCA8V2ViQ29yZS9QbGF0Zm9ybVNjcmVlbi5oPgogI2ltcG9y
dCA8V2ViQ29yZS9SdW50aW1lQXBwbGljYXRpb25DaGVja3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUv
U2V0dGluZ3MuaD4KKyNpbXBvcnQgPFdlYkNvcmUvV3JpdGluZ01vZGUuaD4KICNpbXBvcnQgPHd0
Zi9IYXNoTWFwLmg+CiAjaW1wb3J0IDx3dGYvTWF0aEV4dHJhcy5oPgogI2ltcG9ydCA8d3RmL05l
dmVyRGVzdHJveWVkLmg+CkBAIC0zNTksNiArMzYxLDMwIEBAIHN0YXRpYyBXZWJDb3JlOjpEYXRh
RGV0ZWN0b3JUeXBlcyBmcm9tV0tEYXRhRGV0ZWN0b3JUeXBlcyh1aW50NjRfdCB0eXBlcykKIH0K
ICNlbmRpZgogCitzdGF0aWMgdWludDMyX3QgY29udmVydFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3koV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IHBvbGljeSkKK3sKKyAg
ICBzd2l0Y2ggKHBvbGljeSkgeworICAgIGNhc2UgV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9u
UG9saWN5Q29udGVudDoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQzMl90PihXZWJD
b3JlOjpWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5OjpDb250ZW50KTsKKyAgICBjYXNl
IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeVZpZXc6CisgICAgICAgIHJldHVybiBz
dGF0aWNfY2FzdDx1aW50MzJfdD4oV2ViQ29yZTo6VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeTo6Vmlldyk7CisgICAgfQorICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50MzJfdD4oV2Vi
Q29yZTo6VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudCk7Cit9CisKKyNp
ZiBQTEFURk9STShNQUMpCitzdGF0aWMgdWludDMyX3QgY29udmVydFN5c3RlbUxheW91dERpcmVj
dGlvbihOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gZGlyZWN0aW9uKQoreworICAgIHN3
aXRjaCAoZGlyZWN0aW9uKSB7CisgICAgY2FzZSBOU1VzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rp
b25MZWZ0VG9SaWdodDoKKyAgICAgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQzMl90PihXZWJD
b3JlOjpMVFIpOworICAgIGNhc2UgTlNVc2VySW50ZXJmYWNlTGF5b3V0RGlyZWN0aW9uUmlnaHRU
b0xlZnQ6CisgICAgICAgIHJldHVybiBzdGF0aWNfY2FzdDx1aW50MzJfdD4oV2ViQ29yZTo6UlRM
KTsKKyAgICB9CisgICAgcmV0dXJuIHN0YXRpY19jYXN0PHVpbnQzMl90PihXZWJDb3JlOjpMVFIp
OworfQorI2VuZGlmCisKIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tX
ZWJWaWV3Q29uZmlndXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KIHsKICAgICBpZiAoIWNvbmZpZ3Vy
YXRpb24pCkBAIC00MDgsMTEgKzQzNCwxNyBAQCAtICh2b2lkKV9pbml0aWFsaXplV2l0aENvbmZp
Z3VyYXRpb246KFdLV2ViVmlld0NvbmZpZ3VyYXRpb24gKiljb25maWd1cmF0aW9uCiAgICAgcGFn
ZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJl
bmNlc0tleTo6c2hvdWxkQ29udmVydFBvc2l0aW9uU3R5bGVPbkNvcHlLZXkoKSwgV2ViS2l0OjpX
ZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfY29udmVydHNQb3Np
dGlvblN0eWxlT25Db3B5XSkpOwogICAgIHBhZ2VDb25maWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFs
dWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNLZXk6Omh0dHBFcXVpdkVuYWJsZWRLZXko
KSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBf
YWxsb3dzTWV0YVJlZnJlc2hdKSk7CiAgICAgcGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VW
YWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6YWxsb3dVbml2ZXJzYWxBY2Nl
c3NGcm9tRmlsZVVSTHNLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSgh
IVtfY29uZmlndXJhdGlvbiBfYWxsb3dVbml2ZXJzYWxBY2Nlc3NGcm9tRmlsZVVSTHNdKSk7CisK
KyAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzS2V5Ojp2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uS2V5KCksIFdlYktpdDo6
V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFsdWUoY29udmVydFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRp
b25Qb2xpY3koW19jb25maWd1cmF0aW9uIHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ld
KSkpOwogICAgIAogI2lmIFBMQVRGT1JNKE1BQykKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJl
ZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzaG93c1VSTHNJ
blRvb2xUaXBzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVl
KCEhW19jb25maWd1cmF0aW9uIF9zaG93c1VSTHNJblRvb2xUaXBzXSkpOwogICAgIHBhZ2VDb25m
aWd1cmF0aW9uLT5wcmVmZXJlbmNlVmFsdWVzKCkuc2V0KFdlYktpdDo6V2ViUHJlZmVyZW5jZXNL
ZXk6OnNlcnZpY2VDb250cm9sc0VuYWJsZWRLZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0
b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfc2VydmljZUNvbnRyb2xzRW5hYmxlZF0pKTsK
ICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzS2V5OjppbWFnZUNvbnRyb2xzRW5hYmxlZEtleSgpLCBXZWJLaXQ6OldlYlBy
ZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbWFnZUNvbnRyb2xzRW5h
YmxlZF0pKTsKKyAgICAvLyBXZSBhcmUgaW4gdGhlIFZpZXcncyBpbml0aWFsaXphdGlvbiByb3V0
aW5lLCBzbyBvdXIgY2xpZW50IGhhc24ndCBoYWQgdGltZSB0byBzZXQgb3VyIHVzZXIgaW50ZXJm
YWNlIGRpcmVjdGlvbi4KKyAgICAvLyBUaGVyZWZvcmUsIGFjY29yZGluZyB0byB0aGUgZG9jc1sx
XSwgInRoaXMgcHJvcGVydHkgY29udGFpbnMgdGhlIHZhbHVlIHJlcG9ydGVkIGJ5IHRoZSBhcHDi
gJlzIHVzZXJJbnRlcmZhY2VMYXlvdXREaXJlY3Rpb24gcHJvcGVydHkuIgorICAgIC8vIFsxXSBo
dHRwOi8vZGV2ZWxvcGVyLmFwcGxlLmNvbS9saWJyYXJ5L21hYy9kb2N1bWVudGF0aW9uL0NvY29h
L1JlZmVyZW5jZS9BcHBsaWNhdGlvbktpdC9DbGFzc2VzL05TVmlld19DbGFzcy9pbmRleC5odG1s
Iy8vYXBwbGVfcmVmL2RvYy91aWQvMjAwMDAwMTQtU1cyMjIKKyAgICBwYWdlQ29uZmlndXJhdGlv
bi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjpzeXN0
ZW1MYXlvdXREaXJlY3Rpb25LZXkoKSwgV2ViS2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1
ZShjb252ZXJ0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKHNlbGYudXNlckludGVyZmFjZUxheW91dERp
cmVjdGlvbikpKTsKICNlbmRpZgogCiAjaWYgUExBVEZPUk0oSU9TKQpAQCAtNDIyLDYgKzQ1NCw3
IEBAIC0gKHZvaWQpX2luaXRpYWxpemVXaXRoQ29uZmlndXJhdGlvbjooV0tXZWJWaWV3Q29uZmln
dXJhdGlvbiAqKWNvbmZpZ3VyYXRpb24KICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5j
ZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjppbmxpbmVNZWRpYVBsYXli
YWNrUmVxdWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZUtleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVu
Y2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIF9pbmxpbmVNZWRpYVBsYXliYWNrUmVx
dWlyZXNQbGF5c0lubGluZUF0dHJpYnV0ZV0pKTsKICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJl
ZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6OldlYlByZWZlcmVuY2VzS2V5OjphbGxvd3NQaWN0
dXJlSW5QaWN0dXJlTWVkaWFQbGF5YmFja0tleSgpLCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3Rv
cmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIGFsbG93c1BpY3R1cmVJblBpY3R1cmVNZWRpYVBs
YXliYWNrXSAmJiBzaG91bGRBbGxvd1BpY3R1cmVJblBpY3R1cmVNZWRpYVBsYXliYWNrKCkpKTsK
ICAgICBwYWdlQ29uZmlndXJhdGlvbi0+cHJlZmVyZW5jZVZhbHVlcygpLnNldChXZWJLaXQ6Oldl
YlByZWZlcmVuY2VzS2V5OjpyZXF1aXJlc1VzZXJHZXN0dXJlRm9yTWVkaWFQbGF5YmFja0tleSgp
LCBXZWJLaXQ6OldlYlByZWZlcmVuY2VzU3RvcmU6OlZhbHVlKCEhW19jb25maWd1cmF0aW9uIHJl
cXVpcmVzVXNlckFjdGlvbkZvck1lZGlhUGxheWJhY2tdKSk7CisgICAgcGFnZUNvbmZpZ3VyYXRp
b24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVmZXJlbmNlc0tleTo6c3lz
dGVtTGF5b3V0RGlyZWN0aW9uS2V5KCksIFdlYktpdDo6V2ViUHJlZmVyZW5jZXNTdG9yZTo6VmFs
dWUoc3RhdGljX2Nhc3Q8dWludDMyX3Q+KFdlYkNvcmU6OkxUUikpKTsKICNlbmRpZgogCiAgICAg
cGFnZUNvbmZpZ3VyYXRpb24tPnByZWZlcmVuY2VWYWx1ZXMoKS5zZXQoV2ViS2l0OjpXZWJQcmVm
ZXJlbmNlc0tleTo6cmVxdWlyZXNVc2VyR2VzdHVyZUZvclZpZGVvUGxheWJhY2tLZXkoKSwgV2Vi
S2l0OjpXZWJQcmVmZXJlbmNlc1N0b3JlOjpWYWx1ZSghIVtfY29uZmlndXJhdGlvbiBfcmVxdWly
ZXNVc2VyQWN0aW9uRm9yVmlkZW9QbGF5YmFja10pKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJL
aXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5oIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgKaW5k
ZXggNjZkNjUzZjNjMjdmZWU1MWM0Y2NjZGUyNTEwNjMzMmYwMGFmZTE4NS4uMGRkYWNhM2IxMzk5
MzZmZGQxNGE0MzI3NjI3Y2QyYWUzMTY5N2IxOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYktpdDIv
VUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgKKysrIGIvU291cmNl
L1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9uLmgKQEAg
LTczLDYgKzczLDIwIEBAIHR5cGVkZWYgTlNfT1BUSU9OUyhOU1VJbnRlZ2VyLCBXS0RhdGFEZXRl
Y3RvclR5cGVzKSB7CiAgICAgV0tEYXRhRGV0ZWN0b3JUeXBlQWxsID0gTlNVSW50ZWdlck1heAog
fSBXS19FTlVNX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJBKTsKIAorCisvKiEgQGVu
dW0gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5CisgQGFic3RyYWN0IFRoZSBtZWNo
YW5pc20gYnkgd2hpY2ggdmVydGljYWwgc2Nyb2xsYmFycyBvYmV5IGFuIFJUTCBlbnZpcm9ubWVu
dAorIEBjb25zdGFudCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50IFNj
cm9sbGJhciBwbGFjZW1lbnQgb2JleXMgQ1NTIC8gSFRNTCAvIFhIVE1MIHNwZWNpZmljYXRpb25z
LgorIEBjb25zdGFudCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lWaWV3IFNjcm9s
bGJhciBwbGFjZW1lbnQgb2JleXMgc3lzdGVtIHBsYXRmb3JtIHNwZWNpZmljYXRpb25zLgorIEBk
aXNjdXNzaW9uIFdoZW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Q29udGVudCBp
cyBzcGVjaWZpZWQsIHRoZSBwbGFjZW1lbnQgb2YgdmVydGljYWwgc2Nyb2xsYmFycyBpcworIGFm
ZmVjdGVkIGJ5IHRoZSAiZGlyIiBlbGVtZW50IG9yIHRoZSAiZGlyZWN0aW9uIiBDU1MgcHJvcGVy
dHkuIFdoZW4gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5VmlldyBpcworIHNwZWNp
ZmllZCwgdGhlIHBsYWNlbWVudCBvZiB2ZXJ0aWNhbCBzY3JvbGxiYXJzIGlzIGFmZmVjdGVkIGJ5
IHRoZSBkaXJlY3Rpb24gb2YgdGhlIHN5c3RlbS4KKyovCit0eXBlZGVmIE5TX0VOVU0oTlNJbnRl
Z2VyLCBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kpIHsKKyAgICBXS1ZlcnRpY2Fs
U2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50ID0gMCwKKyAgICBXS1ZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3lWaWV3ID0gMSwKK30gV0tfRU5VTV9BVkFJTEFCTEUoV0tfTUFDX1RC
QSwgTkEpOworCiAvKiEgQSBXS1dlYlZpZXdDb25maWd1cmF0aW9uIG9iamVjdCBpcyBhIGNvbGxl
Y3Rpb24gb2YgcHJvcGVydGllcyB3aXRoCiAgd2hpY2ggdG8gaW5pdGlhbGl6ZSBhIHdlYiB2aWV3
LgogIEBoZWxwcyBDb250YWlucyBwcm9wZXJ0aWVzIHVzZWQgdG8gY29uZmlndXJlIGEgQGxpbmsg
V0tXZWJWaWV3IEAvbGluay4KQEAgLTEyNCw2ICsxMzgsMTIgQEAgV0tfQ0xBU1NfQVZBSUxBQkxF
KDEwXzEwLCA4XzApCiAgKi8KIEBwcm9wZXJ0eSAobm9uYXRvbWljKSBXS0RhdGFEZXRlY3RvclR5
cGVzIGRhdGFEZXRlY3RvclR5cGVzIFdLX0FWQUlMQUJMRShXS19NQUNfVEJBLCBXS19JT1NfVEJB
KTsKIAorLyohIEBhYnN0cmFjdCBUaGUgcGxhY2VtZW50IGJlaGF2aW9yIG9mIHZlcnRpY2FsIHNj
cm9sbGJhcnMuCisgQGRpc2N1c3Npb24gUG9zc2libGUgdmFsdWVzIGFyZSBkZXNjcmliZWQgaW4g
V0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5LgorIFRoZSBkZWZhdWx0IHZhbHVlIGlz
IFdLVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeUNvbnRlbnQuCisgKi8KK0Bwcm9wZXJ0
eSAobm9uYXRvbWljKSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgdmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvblBvbGljeSBXS19BVkFJTEFCTEUoV0tfTUFDX1RCQSwgTkEpOworCiAj
aWYgVEFSR0VUX09TX0lQSE9ORQogLyohIEBhYnN0cmFjdCBBIEJvb2xlYW4gdmFsdWUgaW5kaWNh
dGluZyB3aGV0aGVyIEhUTUw1IHZpZGVvcyBwbGF5IGlubGluZQogIChZRVMpIG9yIHVzZSB0aGUg
bmF0aXZlIGZ1bGwtc2NyZWVuIGNvbnRyb2xsZXIgKE5PKS4KZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5tbSBiL1Nv
dXJjZS9XZWJLaXQyL1VJUHJvY2Vzcy9BUEkvQ29jb2EvV0tXZWJWaWV3Q29uZmlndXJhdGlvbi5t
bQppbmRleCA3YjI4MWQ5YzVjYzViYmRhOTJjMmFmOWYyMjc3NWNhZDllOWQ3N2NkLi5iODZkNjZk
Nzk1Zjg0OThjYmJhMjg2MjY1NjQ4YTRmYzRkNDMyNWM4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
S2l0Mi9VSVByb2Nlc3MvQVBJL0NvY29hL1dLV2ViVmlld0NvbmZpZ3VyYXRpb24ubW0KKysrIGIv
U291cmNlL1dlYktpdDIvVUlQcm9jZXNzL0FQSS9Db2NvYS9XS1dlYlZpZXdDb25maWd1cmF0aW9u
Lm1tCkBAIC0xNDAsNiArMTQwLDcgQEAgLSAoaW5zdGFuY2V0eXBlKWluaXQKICAgICBfbWVkaWFE
YXRhTG9hZHNBdXRvbWF0aWNhbGx5ID0gTk87CiAjZWxzZQogICAgIF9tZWRpYURhdGFMb2Fkc0F1
dG9tYXRpY2FsbHkgPSBZRVM7CisgICAgX3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kg
PSBXS1ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDb250ZW50OwogI2VuZGlmCiAgICAg
X3JlcXVpcmVzVXNlckFjdGlvbkZvclZpZGVvUGxheWJhY2sgPSBOTzsKICAgICBfcmVxdWlyZXNV
c2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjayA9IE5POwpAQCAtMTk4LDYgKzE5OSw3IEBAIC0gKHZv
aWQpZW5jb2RlV2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICBbY29kZXIgZW5jb2RlT2Jq
ZWN0OnNlbGYuYXBwbGljYXRpb25OYW1lRm9yVXNlckFnZW50IGZvcktleTpAImFwcGxpY2F0aW9u
TmFtZUZvclVzZXJBZ2VudCJdOwogICAgIFtjb2RlciBlbmNvZGVCb29sOnNlbGYuYWxsb3dzQWly
UGxheUZvck1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dzQWlyUGxheUZvck1lZGlhUGxheWJh
Y2siXTsKICAgICBbY29kZXIgZW5jb2RlSW50ZWdlcjpzZWxmLmRhdGFEZXRlY3RvclR5cGVzIGZv
cktleTpAImRhdGFEZXRlY3RvclR5cGVzIl07CisgICAgW2NvZGVyIGVuY29kZUludGVnZXI6c2Vs
Zi52ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5IGZvcktleTpAInZlcnRpY2FsU2Nyb2xs
YmFyTG9jYXRpb25Qb2xpY3kiXTsKIAogI2lmIFBMQVRGT1JNKElPUykKICAgICBbY29kZXIgZW5j
b2RlQm9vbDpzZWxmLmFsbG93c0lubGluZU1lZGlhUGxheWJhY2sgZm9yS2V5OkAiYWxsb3dzSW5s
aW5lTWVkaWFQbGF5YmFjayJdOwpAQCAtMjIxLDYgKzIyMyw5IEBAIC0gKGluc3RhbmNldHlwZSlp
bml0V2l0aENvZGVyOihOU0NvZGVyICopY29kZXIKICAgICBzZWxmLmFwcGxpY2F0aW9uTmFtZUZv
clVzZXJBZ2VudCA9IFtjb2RlciBkZWNvZGVPYmplY3RGb3JLZXk6QCJhcHBsaWNhdGlvbk5hbWVG
b3JVc2VyQWdlbnQiXTsKICAgICBzZWxmLmFsbG93c0FpclBsYXlGb3JNZWRpYVBsYXliYWNrID0g
W2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJhbGxvd3NBaXJQbGF5Rm9yTWVkaWFQbGF5YmFjayJd
OwogICAgIHNlbGYuZGF0YURldGVjdG9yVHlwZXMgPSBbY29kZXIgZGVjb2RlSW50ZWdlckZvcktl
eTpAImRhdGFEZXRlY3RvclR5cGVzIl07CisgICAgYXV0byB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5Q2FuZGlkYXRlID0gc3RhdGljX2Nhc3Q8V0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5PihbY29kZXIgZGVjb2RlSW50ZWdlckZvcktleTpAInZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3kiXSk7CisgICAgaWYgKHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3lDYW5kaWRhdGUgPT0gV0tWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Q29udGVudCB8
fCB2ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5Q2FuZGlkYXRlID09IFdLVmVydGljYWxT
Y3JvbGxiYXJMb2NhdGlvblBvbGljeVZpZXcpCisgICAgICAgIHNlbGYudmVydGljYWxTY3JvbGxi
YXJMb2NhdGlvblBvbGljeSA9IHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3lDYW5kaWRh
dGU7CiAKICNpZiBQTEFURk9STShJT1MpCiAgICAgc2VsZi5hbGxvd3NJbmxpbmVNZWRpYVBsYXli
YWNrID0gW2NvZGVyIGRlY29kZUJvb2xGb3JLZXk6QCJhbGxvd3NJbmxpbmVNZWRpYVBsYXliYWNr
Il07CkBAIC0yNjYsNiArMjcxLDggQEAgLSAoaWQpY29weVdpdGhab25lOihOU1pvbmUgKil6b25l
CiAgICAgY29uZmlndXJhdGlvbi0+X3JlcXVpcmVzVXNlckFjdGlvbkZvckF1ZGlvUGxheWJhY2sg
PSBzZWxmLT5fcmVxdWlyZXNVc2VyQWN0aW9uRm9yQXVkaW9QbGF5YmFjazsKICAgICBjb25maWd1
cmF0aW9uLT5fbWFpbkNvbnRlbnRVc2VyR2VzdHVyZU92ZXJyaWRlRW5hYmxlZCA9IHNlbGYtPl9t
YWluQ29udGVudFVzZXJHZXN0dXJlT3ZlcnJpZGVFbmFibGVkOwogCisgICAgY29uZmlndXJhdGlv
bi0+X3ZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3kgPSBzZWxmLT5fdmVydGljYWxTY3Jv
bGxiYXJMb2NhdGlvblBvbGljeTsKKwogI2lmIFBMQVRGT1JNKElPUykKICAgICBjb25maWd1cmF0
aW9uLT5fYWxsb3dzSW5saW5lTWVkaWFQbGF5YmFjayA9IHNlbGYtPl9hbGxvd3NJbmxpbmVNZWRp
YVBsYXliYWNrOwogICAgIGNvbmZpZ3VyYXRpb24tPl9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWly
ZXNQbGF5c0lubGluZUF0dHJpYnV0ZSA9IHNlbGYtPl9pbmxpbmVNZWRpYVBsYXliYWNrUmVxdWly
ZXNQbGF5c0lubGluZUF0dHJpYnV0ZTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQyL1VJUHJv
Y2Vzcy9XZWJQYWdlUHJveHkuY3BwIGIvU291cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQ
cm94eS5jcHAKaW5kZXggN2ZiYzE3M2RhZmQwMWIyODZmNWM3MWZjNGE2ZTlhODlmOTdmOTg4Mi4u
YzI5NzMwNmM5NDhmY2Y0MjQ5MTdjNjA5MWM1YmI4ODVjNTg5Y2NjMyAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYktpdDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKKysrIGIvU291cmNlL1dlYktp
dDIvVUlQcm9jZXNzL1dlYlBhZ2VQcm94eS5jcHAKQEAgLTEwMCw2ICsxMDAsNyBAQAogI2luY2x1
ZGUgIldlYlBvcHVwSXRlbS5oIgogI2luY2x1ZGUgIldlYlBvcHVwTWVudVByb3h5LmgiCiAjaW5j
bHVkZSAiV2ViUHJlZmVyZW5jZXMuaCIKKyNpbmNsdWRlICJXZWJQcmVmZXJlbmNlc0tleXMuaCIK
ICNpbmNsdWRlICJXZWJQcm9jZXNzTWVzc2FnZXMuaCIKICNpbmNsdWRlICJXZWJQcm9jZXNzUG9v
bC5oIgogI2luY2x1ZGUgIldlYlByb2Nlc3NQcm94eS5oIgpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YktpdDIvV2ViUHJvY2Vzcy9QbHVnaW5zL1BERi9EZXByZWNhdGVkUERGUGx1Z2luLmggYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0RlcHJlY2F0ZWRQREZQbHVnaW4uaApp
bmRleCA3OGVlZTlkYmMwODdhMGEwNTZlYWFmZTg5YTkyOWJkNDRjOGUzYjliLi4xYmYxYmZiZDVi
OTZmNzI2N2I3ZTJlNGYxZGJjZTkwMzUzODZkYWZlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0
Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0RlcHJlY2F0ZWRQREZQbHVnaW4uaAorKysgYi9Tb3Vy
Y2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1BsdWdpbnMvUERGL0RlcHJlY2F0ZWRQREZQbHVnaW4uaApA
QCAtMTExLDYgKzExMSw4IEBAIHB1YmxpYzoKIAogICAgIENHRmxvYXQgc2NhbGVGYWN0b3IoKSBj
b25zdDsKIAorICAgIGJvb2wgc2hvdWxkUGxhY2VCbG9ja0RpcmVjdGlvblNjcm9sbGJhck9uTGVm
dCgpIGNvbnN0IG92ZXJyaWRlIHsgcmV0dXJuIGZhbHNlOyB9CisKIHByaXZhdGU6CiAgICAgZXhw
bGljaXQgUERGUGx1Z2luKFdlYkZyYW1lKik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJLaXQy
L1dlYlByb2Nlc3MvV2ViUGFnZS9XZWJQYWdlLmNwcCBiL1NvdXJjZS9XZWJLaXQyL1dlYlByb2Nl
c3MvV2ViUGFnZS9XZWJQYWdlLmNwcAppbmRleCBjN2UwMGFiNjIwNGM1NDJiMDA0MjcxZGU4NDdk
YmFhM2IwNzIzOTI3Li5mMjVhM2E0MzIxZWRiZmE0MGM0MDJiNDQzZDdiYTljM2ViMDhhNzRlIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViS2l0Mi9XZWJQcm9jZXNzL1dlYlBhZ2UvV2ViUGFnZS5jcHAK
KysrIGIvU291cmNlL1dlYktpdDIvV2ViUHJvY2Vzcy9XZWJQYWdlL1dlYlBhZ2UuY3BwCkBAIC0z
MDcyLDYgKzMwNzIsMTMgQEAgdm9pZCBXZWJQYWdlOjp1cGRhdGVQcmVmZXJlbmNlcyhjb25zdCBX
ZWJQcmVmZXJlbmNlc1N0b3JlJiBzdG9yZSkKIAogICAgIHNldHRpbmdzLnNldFNob3VsZERpc3Bh
dGNoSmF2YVNjcmlwdFdpbmRvd09uRXJyb3JFdmVudHModHJ1ZSk7CiAKKyAgICBhdXRvIHZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25DYW5kaWRhdGUgPSBzdGF0aWNfY2FzdDxXZWJDb3JlOjpWZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5PihzdG9yZS5nZXRVSW50MzJWYWx1ZUZvcktleShX
ZWJQcmVmZXJlbmNlc0tleTo6dmVydGljYWxTY3JvbGxiYXJMb2NhdGlvbktleSgpKSk7CisgICAg
aWYgKHZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25DYW5kaWRhdGUgPT0gV2ViQ29yZTo6VmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeTo6Q29udGVudCB8fCB2ZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uQ2FuZGlkYXRlID09IFdlYkNvcmU6OlZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3k6OlZpZXcpCisgICAgICAgIHNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3koIXN0b3JlLmdldFVJbnQzMlZhbHVlRm9yS2V5KFdlYlByZWZlcmVuY2VzS2V5Ojp2ZXJ0
aWNhbFNjcm9sbGJhckxvY2F0aW9uS2V5KCkpID8gVmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBv
bGljeTo6Q29udGVudCA6IFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3k6OlZpZXcpOwor
ICAgIFRleHREaXJlY3Rpb24gc3lzdGVtTGF5b3V0RGlyZWN0aW9uQ2FuZGlkYXRlID0gc3RhdGlj
X2Nhc3Q8VGV4dERpcmVjdGlvbj4oc3RvcmUuZ2V0VUludDMyVmFsdWVGb3JLZXkoV2ViUHJlZmVy
ZW5jZXNLZXk6OnN5c3RlbUxheW91dERpcmVjdGlvbktleSgpKSk7CisgICAgaWYgKHN5c3RlbUxh
eW91dERpcmVjdGlvbkNhbmRpZGF0ZSA9PSBXZWJDb3JlOjpMVFIgfHwgc3lzdGVtTGF5b3V0RGly
ZWN0aW9uQ2FuZGlkYXRlID09IFdlYkNvcmU6OlJUTCkKKyAgICAgICAgc2V0dGluZ3Muc2V0U3lz
dGVtTGF5b3V0RGlyZWN0aW9uKHN5c3RlbUxheW91dERpcmVjdGlvbkNhbmRpZGF0ZSk7CisKICNp
ZiBVU0UoQVBQTEVfSU5URVJOQUxfU0RLKQogI2luY2x1ZGUgPFdlYktpdEFkZGl0aW9ucy9XZWJQ
YWdlUHJlZmVyZW5jZXMuY3BwPgogI2VuZGlmCmRpZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0
UnVubmVyL0luamVjdGVkQnVuZGxlL21hYy9JbmplY3RlZEJ1bmRsZU1hYy5tbSBiL1Rvb2xzL1dl
YktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCmlu
ZGV4IGQ4ZGQyZTYwYWNhYzM5YjQxZTkxMDZkMGIwMjY1NTBmOTVkOTUyZjMuLjliYTU4MWEzNDI5
MmYwODcxNDg5YWE1NDk3MGFlYTA4MDY2ZjNlYWMgMTAwNjQ0Ci0tLSBhL1Rvb2xzL1dlYktpdFRl
c3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFjLm1tCisrKyBiL1Rv
b2xzL1dlYktpdFRlc3RSdW5uZXIvSW5qZWN0ZWRCdW5kbGUvbWFjL0luamVjdGVkQnVuZGxlTWFj
Lm1tCkBAIC0zOCwxOCArMzgsNiBAQCBAZW5kCiAKIG5hbWVzcGFjZSBXVFIgewogCi1zdGF0aWMg
Ym9vbCBzaG91bGRVc2VSVExTY3JvbGxiYXJzKFdLVHlwZVJlZiBpbml0aWFsaXphdGlvblVzZXJE
YXRhKQotewotICAgIGlmICghaW5pdGlhbGl6YXRpb25Vc2VyRGF0YSB8fCBXS0dldFR5cGVJRChp
bml0aWFsaXphdGlvblVzZXJEYXRhKSAhPSBXS0RpY3Rpb25hcnlHZXRUeXBlSUQoKSkKLSAgICAg
ICAgcmV0dXJuIGZhbHNlOwotCi0gICAgV0tUeXBlUmVmIGl0ZW0gPSBXS0RpY3Rpb25hcnlHZXRJ
dGVtRm9yS2V5KHN0YXRpY19jYXN0PFdLRGljdGlvbmFyeVJlZj4oaW5pdGlhbGl6YXRpb25Vc2Vy
RGF0YSksIGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJpbmcoIlVzZVJUTFNjcm9s
bGJhcnMiKSkuZ2V0KCkpOwotICAgIGlmICghaXRlbSB8fCBXS0dldFR5cGVJRChpdGVtKSAhPSBX
S0Jvb2xlYW5HZXRUeXBlSUQoKSkKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotCi0gICAgcmV0dXJu
IFdLQm9vbGVhbkdldFZhbHVlKHN0YXRpY19jYXN0PFdLQm9vbGVhblJlZj4oaXRlbSkpOwotfQot
CiB2b2lkIEluamVjdGVkQnVuZGxlOjpwbGF0Zm9ybUluaXRpYWxpemUoV0tUeXBlUmVmIGluaXRp
YWxpemF0aW9uVXNlckRhdGEpCiB7CiAgICAgc3RhdGljIGNvbnN0IGludCBOb0ZvbnRTbW9vdGhp
bmcgPSAwOwpAQCAtOTUsMTMgKzgzLDYgQEAgdm9pZCBJbmplY3RlZEJ1bmRsZTo6cGxhdGZvcm1J
bml0aWFsaXplKFdLVHlwZVJlZiBpbml0aWFsaXphdGlvblVzZXJEYXRhKQogICAgICAgICBAImNv
bS5hcHBsZS5zd2lwZXNjcm9sbGRpcmVjdGlvbiI6IEAxLAogICAgIH07CiAKLSAgICBpZiAoc2hv
dWxkVXNlUlRMU2Nyb2xsYmFycyhpbml0aWFsaXphdGlvblVzZXJEYXRhKSkgewotICAgICAgICBO
U011dGFibGVEaWN0aW9uYXJ5ICpuZXdEaWN0aW9uYXJ5ID0gW2RpY3QgbXV0YWJsZUNvcHldOwot
ICAgICAgICBbbmV3RGljdGlvbmFyeSBzZXRWYWx1ZTpAWUVTIGZvcktleTpAIkFwcGxlVGV4dERp
cmVjdGlvbiJdOwotICAgICAgICBbbmV3RGljdGlvbmFyeSBzZXRWYWx1ZTpAWUVTIGZvcktleTpA
Ik5TRm9yY2VSaWdodFRvTGVmdFdyaXRpbmdEaXJlY3Rpb24iXTsKLSAgICAgICAgZGljdCA9IFtu
ZXdEaWN0aW9uYXJ5IGF1dG9yZWxlYXNlXTsKLSAgICB9Ci0KICAgICBbW05TVXNlckRlZmF1bHRz
IHN0YW5kYXJkVXNlckRlZmF1bHRzXSBzZXRWb2xhdGlsZURvbWFpbjpkaWN0IGZvck5hbWU6TlNB
cmd1bWVudERvbWFpbl07CiAKICAgICAvLyBNYWtlIE5TRm9udCB1c2UgdGhlIG5ldyBkZWZhdWx0
cy4KZGlmZiAtLWdpdCBhL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdENvbnRyb2xsZXIuY3Bw
IGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJvbGxlci5jcHAKaW5kZXggZmNhZDhj
ZDJmYjIzOGVlOTJmMzA5OTcyOTA2M2NmMTllZmQ5NzkyYi4uM2E0MzJiM2NjZjM2ZjI3YzAzMzU2
ZmRjZWNlN2QyODcxODc1NGY0NyAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9U
ZXN0Q29udHJvbGxlci5jcHAKKysrIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0Q29udHJv
bGxlci5jcHAKQEAgLTk1Myw4ICs5NTMsNiBAQCBzdGF0aWMgdm9pZCB1cGRhdGVUZXN0T3B0aW9u
c0Zyb21UZXN0SGVhZGVyKFRlc3RPcHRpb25zJiB0ZXN0T3B0aW9ucywgY29uc3Qgc3RkOgogICAg
ICAgICAgICAgdGVzdE9wdGlvbnMudXNlRmxleGlibGVWaWV3cG9ydCA9IHBhcnNlQm9vbGVhblRl
c3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGlmIChrZXkgPT0gInVzZURhdGFEZXRlY3Rp
b24iKQogICAgICAgICAgICAgdGVzdE9wdGlvbnMudXNlRGF0YURldGVjdGlvbiA9IHBhcnNlQm9v
bGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7Ci0gICAgICAgIGlmIChrZXkgPT0gInJ0bFNjcm9s
bGJhcnMiKQotICAgICAgICAgICAgdGVzdE9wdGlvbnMudXNlUlRMU2Nyb2xsYmFycyA9IHBhcnNl
Qm9vbGVhblRlc3RIZWFkZXJWYWx1ZSh2YWx1ZSk7CiAgICAgICAgIGlmIChrZXkgPT0gInVzZU1v
Y2tTY3JvbGxiYXJzIikKICAgICAgICAgICAgIHRlc3RPcHRpb25zLnVzZU1vY2tTY3JvbGxiYXJz
ID0gcGFyc2VCb29sZWFuVGVzdEhlYWRlclZhbHVlKHZhbHVlKTsKICAgICAgICAgcGFpclN0YXJ0
ID0gcGFpckVuZCArIDE7CkBAIC0xNDgwLDEzICsxNDc4LDYgQEAgV0tSZXRhaW5QdHI8V0tUeXBl
UmVmPiBUZXN0Q29udHJvbGxlcjo6ZGlkUmVjZWl2ZVN5bmNocm9ub3VzTWVzc2FnZUZyb21Jbmpl
Y3RlZEIKIAogV0tSZXRhaW5QdHI8V0tUeXBlUmVmPiBUZXN0Q29udHJvbGxlcjo6Z2V0SW5qZWN0
ZWRCdW5kbGVJbml0aWFsaXphdGlvblVzZXJEYXRhKCkKIHsKLSAgICBpZiAobV9jdXJyZW50SW52
b2NhdGlvbi0+b3B0aW9ucygpLnVzZVJUTFNjcm9sbGJhcnMpIHsKLSAgICAgICAgV0tSZXRhaW5Q
dHI8V0tTdHJpbmdSZWY+IGtleSA9IGFkb3B0V0soV0tTdHJpbmdDcmVhdGVXaXRoVVRGOENTdHJp
bmcoIlVzZVJUTFNjcm9sbGJhcnMiKSk7Ci0gICAgICAgIFdLUmV0YWluUHRyPFdLQm9vbGVhblJl
Zj4gdmFsdWUgPSBhZG9wdFdLKFdLQm9vbGVhbkNyZWF0ZSh0cnVlKSk7Ci0gICAgICAgIGNvbnN0
IFdLU3RyaW5nUmVmIGtleUFycmF5W10gPSB7IGtleS5nZXQoKSB9OwotICAgICAgICBjb25zdCBX
S1R5cGVSZWYgdmFsdWVBcnJheVtdID0geyB2YWx1ZS5nZXQoKSB9OwotICAgICAgICByZXR1cm4g
YWRvcHRXSyhXS0RpY3Rpb25hcnlDcmVhdGUoa2V5QXJyYXksIHZhbHVlQXJyYXksIFdURl9BUlJB
WV9MRU5HVEgoa2V5QXJyYXkpKSk7Ci0gICAgfQogICAgIHJldHVybiBudWxscHRyOwogfQogCmRp
ZmYgLS1naXQgYS9Ub29scy9XZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmggYi9Ub29scy9X
ZWJLaXRUZXN0UnVubmVyL1Rlc3RPcHRpb25zLmgKaW5kZXggMjhhYTllMDQxOTJjNmRiNjRjNmFh
ZDJhMzUyODIxMmE5Y2IzMDZkMi4uNTI1OGUyODYyMzU3NmVlNmE5ZGZhYjkyNTZiNDU1ZTRiYjEw
ZWIzNiAxMDA2NDQKLS0tIGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9UZXN0T3B0aW9ucy5oCisr
KyBiL1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvVGVzdE9wdGlvbnMuaApAQCAtNDAsNyArNDAsNiBA
QCBzdHJ1Y3QgVGVzdE9wdGlvbnMgewogICAgIGJvb2wgaXNTVkdUZXN0IHsgZmFsc2UgfTsKICAg
ICBib29sIGlzSGlEUElUZXN0IHsgZmFsc2UgfTsKICAgICBib29sIHVzZURhdGFEZXRlY3Rpb24g
eyBmYWxzZSB9OwotICAgIGJvb2wgdXNlUlRMU2Nyb2xsYmFycyB7IGZhbHNlIH07CiAgICAgYm9v
bCB1c2VNb2NrU2Nyb2xsYmFycyB7IHRydWUgfTsKIAogICAgIFZlY3RvcjxTdHJpbmc+IG92ZXJy
aWRlTGFuZ3VhZ2VzOwpkaWZmIC0tZ2l0IGEvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxh
dGZvcm1XZWJWaWV3TWFjLm1tIGIvVG9vbHMvV2ViS2l0VGVzdFJ1bm5lci9tYWMvUGxhdGZvcm1X
ZWJWaWV3TWFjLm1tCmluZGV4IDk5ZGYyNGJhMzI3MTkyYmQ5Njg5ZDA3ZTM5ZDRiYmRkYTUxOTIy
NmIuLmY2ZThkNGM3MDliNzFiMjY1Mzg5ODdiZTQ5Yzk2ODEwZjNlNTBmMGUgMTAwNjQ0Ci0tLSBh
L1Rvb2xzL1dlYktpdFRlc3RSdW5uZXIvbWFjL1BsYXRmb3JtV2ViVmlld01hYy5tbQorKysgYi9U
b29scy9XZWJLaXRUZXN0UnVubmVyL21hYy9QbGF0Zm9ybVdlYlZpZXdNYWMubW0KQEAgLTIzMyw3
ICsyMzMsNyBAQCBXS1JldGFpblB0cjxXS0ltYWdlUmVmPiBQbGF0Zm9ybVdlYlZpZXc6OndpbmRv
d1NuYXBzaG90SW1hZ2UoKQogCiBib29sIFBsYXRmb3JtV2ViVmlldzo6dmlld1N1cHBvcnRzT3B0
aW9ucyhjb25zdCBUZXN0T3B0aW9ucyYgb3B0aW9ucykgY29uc3QKIHsKLSAgICBpZiAobV9vcHRp
b25zLnVzZVRocmVhZGVkU2Nyb2xsaW5nICE9IG9wdGlvbnMudXNlVGhyZWFkZWRTY3JvbGxpbmcg
fHwgbV9vcHRpb25zLm92ZXJyaWRlTGFuZ3VhZ2VzICE9IG9wdGlvbnMub3ZlcnJpZGVMYW5ndWFn
ZXMgfHwgbV9vcHRpb25zLnVzZVJUTFNjcm9sbGJhcnMgIT0gb3B0aW9ucy51c2VSVExTY3JvbGxi
YXJzIHx8IG1fb3B0aW9ucy51c2VNb2NrU2Nyb2xsYmFycyAhPSBvcHRpb25zLnVzZU1vY2tTY3Jv
bGxiYXJzKQorICAgIGlmIChtX29wdGlvbnMudXNlVGhyZWFkZWRTY3JvbGxpbmcgIT0gb3B0aW9u
cy51c2VUaHJlYWRlZFNjcm9sbGluZyB8fCBtX29wdGlvbnMub3ZlcnJpZGVMYW5ndWFnZXMgIT0g
b3B0aW9ucy5vdmVycmlkZUxhbmd1YWdlcyB8fCBtX29wdGlvbnMudXNlTW9ja1Njcm9sbGJhcnMg
IT0gb3B0aW9ucy51c2VNb2NrU2Nyb2xsYmFycykKICAgICAgICAgcmV0dXJuIGZhbHNlOwogCiAg
ICAgcmV0dXJuIHRydWU7CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cgYi9MYXlv
dXRUZXN0cy9DaGFuZ2VMb2cKaW5kZXggMDliZDFmNmRkNTg0Y2Q4NDgzZDU1Y2U3OTRlMDAxODQ3
MWMxMWM4ZS4uMjQyODFlYzFjZjQzNjY1NjIwYmY2MTkyNWY0MGIyYTM1ZGYzNzY5NSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDc3IEBACisyMDE2LTA0LTI2ICBNeWxlcyBDLiBNYXhmaWVsZCAgPG1tYXhmaWVs
ZEBhcHBsZS5jb20+CisKKyAgICAgICAgW1dLMl0gW09TIFhdIENyZWF0ZSBBUEkgZm9yIHN3aXRj
aGluZyBSVEwgc2Nyb2xsYmFyIHBvbGljeQorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9y
Zy9zaG93X2J1Zy5jZ2k/aWQ9MTU2OTQ4CisgICAgICAgIDxyZGFyOi8vcHJvYmxlbS8yNTcwNzc1
Nz4KKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICBVcGRhdGUg
dGVzdHMgdG8gdXNlIG5ldyBSVEwgc2Nyb2xsYmFyIG1lY2hhbmlzbS4KKworICAgICAgICAqIGZh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3Rh
dGljLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVu
dEZyb21Qb2ludC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
aWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Nyb2xsZWQtZXhwZWN0ZWQu
aHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtc2Ny
b2xsZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJh
bWUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94
LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
bGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LWxlZnQtZXhwZWN0ZWQuaHRtbDoKKyAg
ICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1z
ZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0
bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1w
bGUuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94
Lmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ct
Y29udGVudHMtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAg
KiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZy
b21Qb2ludC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92
ZXJmbG93LWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmZsb3ctcGFkZGluZy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmcuaHRtbDoKKyAgICAgICAgKiBm
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1l
eHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92
ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0
bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4
dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC5odG1s
OgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWw6
CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNo
LWNvbnRlbnRzLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbDoK
KyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0
ZS5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9u
LWZpeGVkLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1wb3NpdGlvbmluZy1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLmh0bWw6CisgICAgICAgICogZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWw6Cisg
ICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc2ltcGxlLmh0bWw6CisgICAg
ICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50LTItZXhw
ZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlj
a3ktZG9jdW1lbnQtMi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC5odG1sOgorICAgICAgICAqIGZhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1sOgor
ICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5o
dG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJh
bWUtZXhwZWN0ZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1zdGlja3ktaWZyYW1lLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICog
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLmh0
bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJm
bG93LXNjcm9sbC1leHBlY3RlZC5odG1sOgorICAgICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Nj
cm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1leHBlY3RlZC5odG1sOgorICAg
ICAgICAqIGZhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9s
bGVkLWV4cGVjdGVkLmh0bWw6CisgICAgICAgICogZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbDoKKyAgICAgICAgKiBmYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi5odG1sOgorICAgICAgICAqIGZhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWw6CisgICAgICAgICogcGxhdGZvcm0vbWFjL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS1leHBlY3RlZC5wbmc6
IEFkZGVkLgorCiAyMDE2LTA0LTI2ICBTa2FjaGtvdiBPbGVrc2FuZHIgIDxnc2thY2hrb3ZAZ21h
aWwuY29tPgogCiAgICAgICAgIGNhbGxpbmcgc3VwZXIoKSBhIHNlY29uZCB0aW1lIGluIGEgY29u
c3RydWN0b3Igc2hvdWxkIHRocm93CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1hbmltYXRpb24tcHJvcGVydHkuaHRtbCBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sCmlu
ZGV4IGVlMzYwYjQzYTJmYTlmM2ZkMGRhM2EwMTYyYTcwZjZiMjMyZTNiYzEuLmJmOGEyMmNhMzA5
NmIwODdlMGVmMGY4MTM1MzI5OTU2NzcwNzA5YWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9w
ZXJ0eS5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIHVzZU1vY2tTY3JvbGxiYXJzPWZhbHNlIF0g
LS0+Cis8IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHVzZU1vY2tTY3Jv
bGxiYXJzPWZhbHNlIF0gLS0+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cu
aW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFy
TG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVt
TGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiA8
ZGl2IHN0eWxlPSJ3aWR0aDogMjAwcHg7IGhlaWdodDogMjAwcHg7IHBvc2l0aW9uOiByZWxhdGl2
ZTsgb3ZlcmZsb3c6IHNjcm9sbDsiPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC1zdGF0aWMuaHRtbCBiL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQtc3Rh
dGljLmh0bWwKaW5kZXggMzU0Y2RkOWMwZWZlMzA4ZmMwNzE0YmM4OTNlOWY0ZGIyYjVhMGE4ZS4u
NTM1YTczM2IzZWQzMDRjN2JiNDkyZTk0NzRlODFjODU3Zjc4NWM1ZSAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZyb21Qb2ludC1z
dGF0aWMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1lbGVtZW50RnJvbVBvaW50LXN0YXRpYy5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4v
cmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAt
MTQsNCArMjAsNCBAQCBzaG91bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmVsZW1lbnRGcm9t
UG9pbnQoMjIsIDcpLmlkIiwgImEiKTsKIDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5v
IG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWVsZW1lbnRGcm9tUG9pbnQu
aHRtbAppbmRleCBlM2E4NjU5N2Q3MzIwOWI3ZWY1OGVhNjQ1YjYxMzE3OWFiMWE3YThhLi43YmZm
ZGM4ZWQ4ZDdjZDVhYmNlNTdiMWIyZTA5MGEzOGNkMjYxZTg4IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1lbGVtZW50RnJvbVBvaW50Lmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtZWxlbWVudEZy
b21Qb2ludC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmll
dyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJU
TCIpOworfQorPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3Qt
cHJlLmpzIj48L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTMsNCArMTksNCBAQCBzaG91
bGRCZUVxdWFsVG9TdHJpbmcoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoNywgNykuaWQiLCAi
YSIpOwogPC9zY3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcG9z
dC5qcyI+PC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2Yg
ZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLWV4cGVjdGVkLmh0bWwKaW5kZXggZTk1ZjI5MGEyMWFiMmI3N2MzYzFhYjM1
NTJiOWRkODY0NjYzYzNlMy4uNTU0YzcyMWUxZTRkNWU3YTMzNDk0NWEzMDUxYjk2MzQxZmM0MmMz
MCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
ZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rp
b24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0iaGVpZ2h0OiAx
MDAwcHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29s
dXRlOyBsZWZ0OiAwcHg7IGJvdHRvbTogMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBy
dGwgc2Nyb2xsYmFycyBhcmUgb24gdGhlIGxlZnQgb2YgdGhlIG1haW4gZnJhbWUuPC9kaXY+CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJh
bWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0LWV4cGVjdGVkLmh0bWwKaW5kZXggMjhkMTc2NjE2YmE3
ZThlYTcxODVmZTQzMzNkZWNhNmVjZmFlYmM3MS4uMTFhZmYzOGI2NmM0MzdhZDE2NDhjYzgxOGEy
MTE3ZDAxYjg0MWM0NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRs
LXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQtZXhwZWN0ZWQuaHRt
bApAQCAtMSwxMCArMSwxNiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5u
ZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8
aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5z
ZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAg
aW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8
L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBpZD0idGV4dCIgc3R5bGU9J3Bvc2l0aW9u
OiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsnPkFCQ0Q8L2Rpdj4KIDxkaXYgc3R5bGU9
J3Bvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDI1cHg7Jz5ERUZHPC9kaXY+CiA8
ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhweDsgdG9wOiAxMDBweDsiPlRo
aXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgY29udGVudHMgb2YgaWZyYW1lcyBhcmUgbm90IGNvdmVy
ZWQgYnkgYW4gcnRsIHNjcm9sbGJhci48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0Lmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtb2Zmc2V0Lmh0bWwKaW5kZXgg
YzM2ZmY4NmY5YzBkZDRlNzFmNzkzY2IyZDc4NGM1ODk3M2M2N2NkNy4uMzQxZDdlMGJmNjQ2MjNl
MjUyOTFmYWRlZjBmNTRmMjEzYjFkMzFiZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLW9mZnNldC5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS1vZmZzZXQuaHRtbApAQCAt
MSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0
bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHk+CiA8aWZyYW1lIGlkPSJpZnJhbWUiIHN0eWxlPSJwb3NpdGlvbjog
YWJzb2x1dGU7IHdpZHRoOiAxMDBweDsgaGVpZ2h0OiAxMDBweDsgbGVmdDogLTE1cHg7IHRvcDog
MHB4OyBtYXJnaW46IDBweDsgYm9yZGVyOiBzb2xpZCBibGFjayAwcHg7IHBhZGRpbmc6IDBweDsi
CkBAIC0xNSw0ICsyMSw0IEBAIEFCQ0QKIDwvaHRtbD4iPjwvaWZyYW1lPgogPGRpdiBzdHlsZT0i
cG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMTAwcHg7Ij5UaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IGNvbnRlbnRzIG9mIGlmcmFtZXMgYXJlIG5vdCBjb3ZlcmVkIGJ5IGFuIHJ0
bCBzY3JvbGxiYXIuPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQg
b2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtaWZyYW1lLXBvc2l0aW9uLWFic29sdXRlLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUu
aHRtbAppbmRleCAzMjc5NTIxYWMzMWNjMWQxYzEzYzcyNmFjZDVlZDFlOTIxYTJjNTJmLi5iMDhl
NThmYjI1NmRjY2NhYzA4NWU1MjgxMGY0ZWM0MTA1MjhmYTA5IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUtcG9zaXRpb24tYWJzb2x1
dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1p
ZnJhbWUtcG9zaXRpb24tYWJzb2x1dGUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUg
aHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgor
PCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50
ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9j
YXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5
b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Jy4uLy4uL3Jl
c291cmNlcy9qcy10ZXN0LXByZS5qcyc+PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KQEAgLTI4
LDQgKzM0LDQgQEAgaWZyYW1lLmFkZEV2ZW50TGlzdGVuZXIoImxvYWQiLCBmdW5jdGlvbigpIHsK
IDwvc2NyaXB0PgogPHNjcmlwdCBzcmM9Jy4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMn
Pjwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWlmcmFtZS1zY3JvbGxlZC1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKaW5k
ZXggMjdlZjg3ZWM4YzcxYmUwMTIyYjBhNzg0NjcxMjBiYTQ0Nzk3N2FkZS4uY2ZmMjhmNzgwY2E5
YzliZmY4MjM1NDk1YTdiOGM1OTFhMzEyMjllOCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLXNj
cm9sbGVkLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEt
LSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQ
RSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykg
eworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9s
aWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVj
dGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGlmcmFtZSBpZD0i
aWZyYW1lIiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyB3aWR0aDogMTAwcHg7IGhlaWdodDog
MTAwcHg7IGxlZnQ6IDBweDsgdG9wOiAwcHg7IG1hcmdpbjogMHB4OyBib3JkZXI6IHNvbGlkIGJs
YWNrIDBweDsgcGFkZGluZzogMHB4OyIKQEAgLTI3LDQgKzMzLDQgQEAgZG9jdW1lbnQuZ2V0RWxl
bWVudEJ5SWQoImlmcmFtZSIpLmZvY3VzKCk7CiA8L3NjcmlwdD4KIDxkaXYgc3R5bGU9InBvc2l0
aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0b3A6IDEwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBoaXQgdGVzdGluZyBpbiBpZnJhbWVzIHdvcmtzIGNvcnJlY3RseS48L2Rpdj4KIDwv
Ym9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYg
LS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1pZnJhbWUt
c2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LWlmcmFtZS1zY3JvbGxlZC5odG1sCmluZGV4IDYxZmZjZGY3YmM0OGZiMjQzNjNkYjg1MzJiMDI5
Zjg2OWE2MGVhMDAuLmMyZWZlYjg5ZDVlYzMwNjBkNThhZWEwODVhN2NmNTgyOTU2ZGFkMjIgMTAw
NjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFt
ZS1zY3JvbGxlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLWlmcmFtZS1zY3JvbGxlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRl
cm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2Nh
dGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlv
dXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keT4KIDxpZnJh
bWUgaWQ9ImlmcmFtZSIgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgd2lkdGg6IDEwMHB4OyBo
ZWlnaHQ6IDEwMHB4OyBsZWZ0OiAwcHg7IHRvcDogMHB4OyBtYXJnaW46IDBweDsgYm9yZGVyOiBz
b2xpZCBibGFjayAwcHg7IHBhZGRpbmc6IDBweDsiCkBAIC0yMyw0ICsyOSw0IEBAIGlmICh3aW5k
b3cuZXZlbnRTZW5kZXIpIHsKIDwvaHRtbD4iPjwvaWZyYW1lPgogPGRpdiBzdHlsZT0icG9zaXRp
b246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMTAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3Vy
ZSB0aGF0IGhpdCB0ZXN0aW5nIGluIGlmcmFtZXMgd29ya3MgY29ycmVjdGx5LjwvZGl2PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWlmcmFtZS5o
dG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0
bWwKaW5kZXggMzg0YjBiZDA3YWNlNWU1ZGY5ZWI0ODVlZTI3OTZlNDNjMDE3MjMxYy4uZmM0YTlm
NWMyMTUzODA2ZGQ0NDlhNzNkYmY5MmU2MWY1ZDRkMjhlYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtaWZyYW1lLmh0bWwKQEAgLTEsNiAr
MSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3Jv
bGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3Jp
cHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRW
ZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDxz
Y3JpcHQgc3JjPScuLi8uLi9yZXNvdXJjZXMvanMtdGVzdC1wcmUuanMnPjwvc2NyaXB0PgogPC9o
ZWFkPgogPGJvZHk+CkBAIC0yOCw0ICszNCw0IEBAIGlmcmFtZS5hZGRFdmVudExpc3RlbmVyKCJs
b2FkIiwgZnVuY3Rpb24oKSB7CiA8L3NjcmlwdD4KIDxzY3JpcHQgc3JjPScuLi8uLi9yZXNvdXJj
ZXMvanMtdGVzdC1wb3N0LmpzJz48L3NjcmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LWV4cGVjdGVkLmh0bWwK
aW5kZXggZDBiNmQ2ZmI4YjllODBjZTM1ZGI3NzlhODA3ZWEzNTMwNTFmNTM1YS4uNjU3OGViYzBj
ODZkZDVlMmYxYzYyZDc5M2VjMmFlMGE5ZDNmNWRhZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1leHBlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtZXhwZWN0
ZWQuaHRtbApAQCAtMjEsNCArMjEsNCBAQAogPC9zZWxlY3Q+CiA8L2Rpdj4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC1l
eHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
bGlzdGJveC1zY3JvbGwtZXhwZWN0ZWQuaHRtbAppbmRleCBhYmNkNDkyYmJjM2Q3OTU3M2JmNmQz
M2FhMjYzZjhhMjUxYWU5MzFiLi42ZmU0NmM5MjY1ZWQwMGFkNzIzZTM4NDkwNWU5YjBjYjIyMjky
YjE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1saXN0Ym94LXNjcm9sbC1leHBlY3RlZC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLWV4cGVjdGVkLmh0bWwKQEAgLTEs
NiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxT
Y3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxz
Y3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5z
ZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxz
LnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4K
IDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRp
b246IGFic29sdXRlOyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3Vy
ZSB0aGF0IGxpc3QgYm94ZXMgb2JleSBSVEwgc2Nyb2xsYmFycy48L2Rpdj4KQEAgLTIzLDQgKzI5
LDQgQEAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWluZXIi
KTsKIGNvbnRhaW5lci5zY3JvbGxUb3AgPSBjb250YWluZXIuc2Nyb2xsSGVpZ2h0IC0gY29udGFp
bmVyLmNsaWVudEhlaWdodDsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNjcm9sbC5odG1sCmluZGV4
IDg2NGNhN2M1YTI5YmE3ZGFmZDBhMTAzMTdhZTBiYmQxYzVlNTUxMjUuLjkwMzYyZWQ3MGQzOThk
MjZmN2ZhNDhiMjJkM2U3OGRlN2ZlNzE5N2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2Nyb2xsLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zY3JvbGwuaHRtbApA
QCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBb
IHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFk
PgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRp
bmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRl
cm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2Ny
aXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhweDsgdG9wOiAyMDBweDsiPlRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgbGlzdCBib3hlcyBvYmV5IFJUTCBzY3JvbGxiYXJzLjwvZGl2PgpAQCAtMjYs
NCArMzIsNCBAQCBpZiAod2luZG93LmV2ZW50U2VuZGVyKSB7CiB9CiA8L3NjcmlwdD4KIDwvYm9k
eT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNl
bGVjdC1sZWZ0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1sZWZ0LWV4cGVjdGVkLmh0bWwKaW5kZXggMzYxZTRm
NmVjNTc4NTNjOGU3ZjVmMzNlODVlNWU5MGI2YTczNTgxOC4uZmMyZmNjNDBjMGVhODMwYmEzMDEy
OTI4ODg0ZmExNzkyZmZmNGFmNCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC1leHBlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0
LWxlZnQtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBF
IGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjog
MHB4OyI+CiA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDhweDsgdG9wOiAy
MDBweDsiPlRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgY2xpa2luZyBvbiBhbiBMVFIgc2Nyb2xs
YmFyIGRvZXNuJ3Qgc2VsZWN0IGFuIGl0ZW0gaW4gYSBsaXN0IGJveC48L2Rpdj4KQEAgLTIzLDQg
KzI5LDQgQEAgdmFyIGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJjb250YWlu
ZXIiKTsKIGNvbnRhaW5lci5mb2N1cygpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtbGVmdC5odG1s
IGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxl
Y3QtbGVmdC5odG1sCmluZGV4IDIzMWNkNzE0MTVmNDBmODJjYzQ0NGEwNTg0NjExMmIyZmE4ZTk2
Y2MuLjE4MTU2NTU3ZDExZWI1NmVlMTA5MjE2YzliOTMxYjcyMWIwZjAxNzAgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0
LWxlZnQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1saXN0Ym94LXNlbGVjdC1sZWZ0Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJt
YXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRlOyBsZWZ0OiA4cHg7
IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGNsaWtpbmcgb24gYW4gTFRS
IHNjcm9sbGJhciBkb2Vzbid0IHNlbGVjdCBhbiBpdGVtIGluIGEgbGlzdCBib3guPC9kaXY+CkBA
IC0yNiw0ICszMiw0IEBAIGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0Pgog
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Ri
b3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNlbGVjdC1yaWdodC1leHBlY3RlZC5odG1sCmluZGV4
IGQ3MDFlZmE5YWY5MzgxMDJkNWY2ZTA5NTI1NmM3MWI2Y2YzZDg2OTQuLjYyZmE2Y2MxZDM1ZmI1
YzI3Y2EyZDFiMGQ2M2M0NTU1ZWRiMjU0OTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJpZ2h0LWV4cGVjdGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJv
eC1zZWxlY3QtcmlnaHQtZXhwZWN0ZWQuaHRtbApAQCAtMSw0ICsxLDQgQEAKLTwhRE9DVFlQRSBo
dG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8
IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+CiA8L2hlYWQ+CkBAIC0yNSw0ICsyNSw0IEBA
IHZhciBqYW51YXJ5ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImphbnVhcnkiKTsKIGphbnVh
cnkuc2VsZWN0ZWQgPSB0cnVlOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3QtcmlnaHQuaHRtbCBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2VsZWN0LXJp
Z2h0Lmh0bWwKaW5kZXggY2I3MzVjOWUwZmI5NjkzZjhmMGY1ZDFiZDM5ZWMxMjM3YjRmYjE4Ni4u
ODc0YjNkMGMwN2JiMWNmZmNlYmFlZDE0MjQ3NWVjODY2NGE4MWVhMiAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zZWxlY3Qtcmln
aHQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1s
aXN0Ym94LXNlbGVjdC1yaWdodC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFy
Z2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogOHB4OyB0
b3A6IDIwMHB4OyI+VGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBjbGlraW5nIG9uIHRoZSByaWdo
dG1vc3QgcGFydCBvZiBhbiBpdGVtIGNhdXNlcyBpdCB0byBiZSBzZWxlY3RlZC48L2Rpdj4KQEAg
LTI2LDQgKzMyLDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogfQogPC9zY3JpcHQ+CiA8
L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJv
eC1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2ltcGxlLWV4cGVjdGVkLW1pc21hdGNoLmh0bWwK
aW5kZXggYmNkNTYyZWUxZDRiYWRjM2EwZTI4MGM0NjE3ZjQyMjgyMDQ4ZjA1Yi4uZTk5YzU4YTQz
OTQ3ZWY0YjQ1Y2VmNjc3ZjlhZjg2ZjY3ZDM5MjViZiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUtZXhwZWN0ZWQtbWlz
bWF0Y2guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1saXN0Ym94LXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC0xOSw0ICsxOSw0IEBA
CiA8b3B0aW9uPkRlY2VtYmVyPC9vcHRpb24+CiA8L3NlbGVjdD4KIDwvYm9keT4KLTwvaHRtbD4K
XCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC1zaW1wbGUu
aHRtbAppbmRleCBlOTc0YjY4M2IwMmNkNDk4NTA0OWYyYjBmMjJiMDRjMTNiYzQ1NWVjLi5iMWRj
ODFhYTFjNGZhMTMyZTliYmU4MzlkNjllODljOGNkNjIzMjQ1IDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94LXNpbXBsZS5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3gtc2lt
cGxlLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPHA+VGhpcyB0ZXN0IG1ha2VzIHN1cmUg
dGhhdCBsaXN0IGJveGVzIG9iZXkgUlRMIHNjcm9sbGJhcnMuPC9wPgpAQCAtMTksNCArMjUsNCBA
QAogPG9wdGlvbj5EZWNlbWJlcjwvb3B0aW9uPgogPC9zZWxlY3Q+CiA8L2JvZHk+Ci08L2h0bWw+
ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtbGlzdGJveC5odG1sCmluZGV4IGNl
MjY5MzY3MDcwMzk2OTBkZGY2ZGQzNDQ4MGU4ZmY0MDJjZjViOWUuLmI5MGNlN2I3NjlkYzM4NDcx
M2U3MmYzNGM0MmY0MzE0ZTg4NDlhZWEgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWxpc3Rib3guaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1saXN0Ym94Lmh0bWwKQEAgLTEsNiArMSwxMiBAQAot
PCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRy
dWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAo
d2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNj
cm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxi
b2R5IHN0eWxlPSJtYXJnaW46IDBweDsiPgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFic29sdXRl
OyBsZWZ0OiA4cHg7IHRvcDogMjAwcHg7Ij5UaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IGxpc3Qg
Ym94ZXMgb2JleSBSVEwgc2Nyb2xsYmFycy48L2Rpdj4KQEAgLTIxLDQgKzI3LDQgQEAKIDwvc2Vs
ZWN0PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLWV4cGVjdGVkLmh0
bWwKaW5kZXggMmFiODI4OWFkNjY5OGIyN2JlMWZmZGRmMzdlMzM5MzkwMzMxZTMzNy4uMmQ3NzZk
YTBmYmJhZDhlNTQzMDM1NTlkZmY4ZDE0OGVjZjBjYzNlZSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctY29udGVudHMtZXhwZWN0
ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVyZmxvdy1jb250ZW50cy1leHBlY3RlZC5odG1sCkBAIC0xNyw0ICsxNyw0IEBACiA8cD5Mb3Jl
bSBpcHN1bSBkb2xvciBzaXQgYW1ldCwgY29uc2VjdGV0dXIgYWRpcGlzY2luZyBlbGl0LiBTdXNw
ZW5kaXNzZSBhIHJpc3VzIG5pc2kuIE1hZWNlbmFzIHV0IG1ldHVzIGdyYXZpZGEsIHRpbmNpZHVu
dCBhcmN1IG5lYywgdWx0cmljZXMgZHVpLiBWaXZhbXVzIGF0IHByZXRpdW0gcHVydXMsIGluIGZl
dWdpYXQgb2Rpby4gUGhhc2VsbHVzIGZhY2lsaXNpcyBtaSBpZCBjb25kaW1lbnR1bSBjb25ndWUu
IEFlbmVhbiBzb2xsaWNpdHVkaW4gcmlzdXMgYSBhY2N1bXNhbiBmYWNpbGlzaXMuIFNlZCBhYyBm
cmluZ2lsbGEgZmVsaXMuIE1vcmJpIG1hbGVzdWFkYSB2ZWhpY3VsYSBzYXBpZW4uPC9wPgogPC9k
aXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
b3ZlcmZsb3ctY29udGVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93LWNvbnRlbnRzLmh0bWwKaW5kZXggZmYwYTc4NjJhNzIyNzYyNzI1
MDRkYmEzNmQ3YzBjMGY4NDAzNWVmMy4uMzcwODg1NWZkZTYxOGNlYjQ5NTA3OGJjZmVmNjY2YTg1
OTcwNmNjMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmZsb3ctY29udGVudHMuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1jb250ZW50cy5odG1sCkBAIC0xLDYgKzEsMTIg
QEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFy
cz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0Pgor
aWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGlj
YWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5n
cy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+
CiA8Ym9keT4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiA3MDBweDsgaGVp
Z2h0OiA1MDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CkBAIC0xOSw0ICsyNSw0IEBACiA8L2Rp
dj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUK
KzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwtZXhwZWN0ZWQuaHRtbApp
bmRleCAzNTYxNWFkNTY4OTMzYjlmNGE3ZmU1Y2M0ODk5NWEyN2MwMjc5NzFhLi45MzJjOGJlYjIy
NWI0M2I0OTViODZhYjVkNGU5NGY2OWIwMDFkODMwIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLWV4cGVjdGVkLmh0
bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZs
b3ctZGlyLXJ0bC1leHBlY3RlZC5odG1sCkBAIC0yNCw0ICsyNCw0IEBAIHJhbmdlLnNlbGVjdE5v
ZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSk7CiBzZWxlY3Rpb24uYWRkUmFu
Z2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC5odG1sIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZGlyLXJ0bC5odG1sCmluZGV4IDE5
NTkzMzIyMzYwNzQ1NDg5MDc2NGU2MTI0ODdhYzk2MzBjM2UyYjEuLjRiMjBhYWFhN2EyN2U3YTNk
MWYwNjJjMDE1NTMzZTJjYjNlYzkwZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWRpci1ydGwuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1kaXItcnRsLmh0bWwK
QEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIg
WyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVh
ZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50
ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGhpZGRlbjsgd2lk
dGg6IDEwMCU7IGhlaWdodDogNTM5cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgpAQCAtMjYsNCAr
MzIsNCBAQCByYW5nZS5zZWxlY3ROb2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJlbGVtZW50
IikpOwogc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LWVsZW1lbnRG
cm9tUG9pbnQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LWVsZW1lbnRGcm9tUG9pbnQuaHRtbAppbmRleCBkMjllMjc1NjExMTk5NjAyNjgz
NzYyMjZkNDU4MTdlODg3NTI2NTE5Li43OWIyOWZkYmY0MTYzMTQxNDQ0ZTljNWMyOTc1NGIwOGUw
MzhmZWY0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVyZmxvdy1lbGVtZW50RnJvbVBvaW50Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZWxlbWVudEZyb21Qb2ludC5odG1s
CkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9z
Y3JpcHQ+CiA8c2NyaXB0IHNyYz0iLi4vLi4vcmVzb3VyY2VzL2pzLXRlc3QtcHJlLmpzIj48L3Nj
cmlwdD4KIDwvaGVhZD4KIDxib2R5PgpAQCAtMTUsNCArMjEsNCBAQCBzaG91bGRCZUVxdWFsVG9T
dHJpbmcoImRvY3VtZW50LmVsZW1lbnRGcm9tUG9pbnQoMjIsIDcpLmlkIiwgImEiKTsKIDwvc2Ny
aXB0PgogPHNjcmlwdCBzcmM9Ii4uLy4uL3Jlc291cmNlcy9qcy10ZXN0LXBvc3QuanMiPjwvc2Ny
aXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRt
bD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LW92ZXJmbG93LWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwt
c2Nyb2xsYmFycy1vdmVyZmxvdy1leHBlY3RlZC5odG1sCmluZGV4IGM3ZjJlNWNlYTU1OTI4NWYz
NGRjNGZmNTFjZjI3NjZmN2ZiMTM1YzIuLjNjODdlODY5NTU0ZTZjNDQzZjg4YWE2MzhhNWQyMmFm
NzExMDhmMjcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLW92ZXJmbG93LWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEy
IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJh
cnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8ZGl2IGlkPSJlbGVtZW50IiBzdHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgd2lk
dGg6IDcwMHB4OyBoZWlnaHQ6IDUwMHB4OyI+CkBAIC0yMSw0ICsyNyw0IEBAIHZhciBlbGVtZW50
ID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKTsKIGVsZW1lbnQuc2Nyb2xsVG9w
ID0gMTAwMDsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5k
IG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmctZXhwZWN0
ZWQuaHRtbAppbmRleCBmZDY4YTM5NjY4NTZmYzgxZWM1YzI2OTNhOWFiZjZhY2I5ODk3YWMzLi5h
NDNlNTVlZDBmNDUwYzY5MzlmMzAxOWQxYjE2MDZmNjE3NWNiZDcwIDEwMDY0NAotLS0gYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRkaW5nLWV4
cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmZsb3ctcGFkZGluZy1leHBlY3RlZC5odG1sCkBAIC0yNCw0ICsyNCw0IEBAIHJhbmdl
LnNlbGVjdE5vZGUoZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoImVsZW1lbnQiKSk7CiBzZWxlY3Rp
b24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1sIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcGFkZGluZy5odG1s
CmluZGV4IDUxZDg4MGI0YjAzYjUyMmUxZTNjYTljMWZiNzE5OGRhOTEwMDg4NTIuLjc2MTk1NDdh
N2E3NGNmYzRiZDlmOGViZTM2YWVlMjFjNjBjM2I2ZWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBhZGRpbmcuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wYWRk
aW5nLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVz
dC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1sPgogPGh0
bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigiUlRMIik7
Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRpdiBzdHlsZT0ib3ZlcmZsb3c6IGhp
ZGRlbjsgd2lkdGg6IDEwMCU7IGhlaWdodDogNTM5cHg7IHBvc2l0aW9uOiByZWxhdGl2ZTsiPgpA
QCAtMjYsNCArMzIsNCBAQCByYW5nZS5zZWxlY3ROb2RlKGRvY3VtZW50LmdldEVsZW1lbnRCeUlk
KCJlbGVtZW50IikpOwogc2VsZWN0aW9uLmFkZFJhbmdlKHJhbmdlKTsKIDwvc2NyaXB0PgogPC9i
b2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAt
LWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93
LXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS1leHBlY3RlZC5o
dG1sCmluZGV4IDBjYzczNjAwYzc0ZGFiOGRlOTMxOTcxYjZiOWY1ZTZhYWIzN2VkMjAuLjg2NzA2
Y2Q2MTEwNmM1NTI3YjA4ZWNjMzdmZDBiYzZjZTI3ZWVmZjYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29s
dXRlLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbApAQCAtMSw2
ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNj
cm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNj
cmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNl
dFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0Pgog
PC9oZWFkPgogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uOiBhYnNv
bHV0ZSBlbGVtZW50cyBkbyBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYWwgc2Nyb2xsYmFyIG9uIFJU
TCBtYWNoaW5lcy4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBncmVlbiBzcXVhcmUgYW5k
IGEgcmVkIHNxdWFyZSBiZWxvdy4KQEAgLTEwLDQgKzE2LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1
cmUgdGhhdCBwb3NpdGlvbjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90IG92ZXJsYXAgdGhlIHZl
cnRpY2EKIDxkaXYgc3R5bGU9IndpZHRoOiAxcHg7IGhlaWdodDogMzAwMHB4OyBwb3NpdGlvbjog
YWJzb2x1dGU7IGxlZnQ6IDBweDsgdG9wOiAwcHg7Ij48L2Rpdj4KIDwvZGl2PgogPC9ib2R5Pgot
PC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0
aW9uLWFic29sdXRlLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1vdmVyZmxvdy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCmluZGV4IGU1ODYxN2EzMjczOGQ4
YjA2ZmNmZjkyOWI5MjZhZTBlODZmYzE4ZGUuLjg5OWZlYTc1Y2I1NWU1Mzc3NzdkOTNiNjdkMTE4
YTFiMGIxMWVlYmIgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLW92ZXJmbG93LXBvc2l0aW9uLWFic29sdXRlLmh0bWwKKysrIGIvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctcG9zaXRpb24tYWJzb2x1
dGUuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0
LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRt
bD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJu
YWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsK
K30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHk+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0
IHBvc2l0aW9uOiBhYnNvbHV0ZSBlbGVtZW50cyBkbyBub3Qgb3ZlcmxhcCB0aGUgdmVydGljYWwg
c2Nyb2xsYmFyIG9uIFJUTCBtYWNoaW5lcy4gVGhlIHRlc3QgcGFzc2VzIGlmIHlvdSBzZWUgYSBn
cmVlbiBzcXVhcmUgYW5kIGEgcmVkIHNxdWFyZSBiZWxvdy4KQEAgLTEyLDQgKzE4LDQgQEAgVGhp
cyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbjogYWJzb2x1dGUgZWxlbWVudHMgZG8gbm90
IG92ZXJsYXAgdGhlIHZlcnRpY2EKIDwvZGl2PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+Clwg
Tm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLWV4cGVjdGVk
LW1pc21hdGNoLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1vdmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAppbmRleCAyYzNjZjI3NjUx
YTBiNzFlM2FhNjg4ZmFmNzdjZTJjYjYyOWY5NjZiLi4wYjVkNzljZDBkYjQyMjlhYzcwOGQxMDdm
NjJiZGE5YzhlZDdjMTY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy1zaW1w
bGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbApAQCAtMTcsNCArMTcsNCBAQAogPHA+TG9yZW0gaXBz
dW0gZG9sb3Igc2l0IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU3VzcGVuZGlz
c2UgYSByaXN1cyBuaXNpLiBNYWVjZW5hcyB1dCBtZXR1cyBncmF2aWRhLCB0aW5jaWR1bnQgYXJj
dSBuZWMsIHVsdHJpY2VzIGR1aS4gVml2YW11cyBhdCBwcmV0aXVtIHB1cnVzLCBpbiBmZXVnaWF0
IG9kaW8uIFBoYXNlbGx1cyBmYWNpbGlzaXMgbWkgaWQgY29uZGltZW50dW0gY29uZ3VlLiBBZW5l
YW4gc29sbGljaXR1ZGluIHJpc3VzIGEgYWNjdW1zYW4gZmFjaWxpc2lzLiBTZWQgYWMgZnJpbmdp
bGxhIGZlbGlzLiBNb3JiaSBtYWxlc3VhZGEgdmVoaWN1bGEgc2FwaWVuLjwvcD4KIDwvZGl2Pgog
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LXNpbXBsZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJh
cnMtb3ZlcmZsb3ctc2ltcGxlLmh0bWwKaW5kZXggNDBkNjFhZjk2NDJlZGU1Y2I3YTFmNzRmODI4
ODc1ODFlMzMwYmIwNS4uMDEwNWQ0NzkwZmY3ZjQ5YWJkNTgzMGQ0NmYyNmY4ZTI3M2MxMzIzMiAx
MDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zl
cmZsb3ctc2ltcGxlLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtb3ZlcmZsb3ctc2ltcGxlLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBF
IGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4K
KzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93Lmlu
dGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxv
Y2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxh
eW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5PgogPGRp
diBpZD0iZWxlbWVudCIgc3R5bGU9Im92ZXJmbG93OiBzY3JvbGw7IHdpZHRoOiA3MDBweDsgaGVp
Z2h0OiA1MDBweDsiPgpAQCAtMTcsNCArMjMsNCBAQAogPHA+TG9yZW0gaXBzdW0gZG9sb3Igc2l0
IGFtZXQsIGNvbnNlY3RldHVyIGFkaXBpc2NpbmcgZWxpdC4gU3VzcGVuZGlzc2UgYSByaXN1cyBu
aXNpLiBNYWVjZW5hcyB1dCBtZXR1cyBncmF2aWRhLCB0aW5jaWR1bnQgYXJjdSBuZWMsIHVsdHJp
Y2VzIGR1aS4gVml2YW11cyBhdCBwcmV0aXVtIHB1cnVzLCBpbiBmZXVnaWF0IG9kaW8uIFBoYXNl
bGx1cyBmYWNpbGlzaXMgbWkgaWQgY29uZGltZW50dW0gY29uZ3VlLiBBZW5lYW4gc29sbGljaXR1
ZGluIHJpc3VzIGEgYWNjdW1zYW4gZmFjaWxpc2lzLiBTZWQgYWMgZnJpbmdpbGxhIGZlbGlzLiBN
b3JiaSBtYWxlc3VhZGEgdmVoaWN1bGEgc2FwaWVuLjwvcD4KIDwvZGl2PgogPC9ib2R5PgotPC9o
dG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2Vs
ZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGlu
Zy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3Rl
ZC5odG1sCmluZGV4IDQzZWNiMDc5OTYwNTAxZmZmZDY5MDhjZTkzOGNmYzhlN2I3Y2E3MDkuLjkz
YWU5MDE2NWViNDk4ZTljOGFkOWZkYTM5NTVjNzVmYmVhMGEwYzMgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93LXRleHQtc2VsZWN0
aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQtZXhwZWN0
ZWQuaHRtbApAQCAtMTYsNCArMTYsNCBAQCByYW5nZS5zZXRFbmQodGV4dCwgMSk7CiBzZWxlY3Rp
b24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xs
ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJm
bG93LXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKaW5kZXggNTk5YmI4YjUxMzQ4Mzg0YTE2
YWEyMGEwMWFjMTY1ZmQ2MWE5ODQzYy4uYzA4NzIwZmYzZGZlMjYzNzE4OTU2ZWU4ZDliM2QwNmE2
ZmU4MTlmMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmZsb3ctdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAorKysgYi9MYXlvdXRU
ZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy10ZXh0LXNlbGVjdGlv
bi1zY3JvbGxlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgi
VmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24o
IlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7
Ij4KIDxkaXYgc3R5bGU9Im92ZXJmbG93OiBoaWRkZW47IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDQ4
NXB4OyBwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IC0xNXB4OyI+CkBAIC0yMSw0ICsyNyw0IEBA
IGlmICh3aW5kb3cuZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1s
PgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1vdmVyZmxvdy5odG1sCmluZGV4
IDIxY2Y2ODM0OTExYzJjNGFiYjBkNmJlYmYyODhhNmEzZTNlYTYzY2YuLmY1YmJjMzMxMjc3MzYx
ODZiODA0MTQzNTdkNGVhNGE1OGE1MTY0MTAgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJmbG93Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmZsb3cuaHRtbApAQCAtMSw2ICsxLDEy
IEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJh
cnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4K
K2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRp
Y2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFk
PgogPGJvZHk+CiA8ZGl2IGlkPSJlbGVtZW50IiBzdHlsZT0ib3ZlcmZsb3c6IHNjcm9sbDsgd2lk
dGg6IDcwMHB4OyBoZWlnaHQ6IDUwMHB4OyI+CkBAIC0yNiw0ICszMiw0IEBAIGlmICh3aW5kb3cu
ZXZlbnRTZW5kZXIpIHsKIH0KIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xp
bmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy1leHBlY3Rl
ZC5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3Zlcmxh
eS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwKaW5kZXggMzc2ZmUwNjg1YWMzY2ZiZWM4
ZDgwZDcyNDA0NzM3NTExZTczYWZkNS4uYWE2OTA3MWMyODU5MmM5MjhjZGI4ZmNjMmZlOGRkNjRi
YWFiZTA3NCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRlbnRzLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtb3ZlcmxheS1uby1wdXNoLWNvbnRl
bnRzLWV4cGVjdGVkLmh0bWwKQEAgLTEsNyArMSwxMyBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3
ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBo
dG1sPgogPGh0bWw+CiA8aGVhZD4KIDxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgewor
ICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5
KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlv
bigiUlRMIik7Cit9Cis8L3NjcmlwdD4KKzxzY3JpcHQ+CiBpZiAod2luZG93LmludGVybmFscykK
ICAgICBpbnRlcm5hbHMuc2V0VXNlc092ZXJsYXlTY3JvbGxiYXJzKHRydWUpOwogPC9zY3JpcHQ+
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1v
dmVybGF5LW5vLXB1c2gtY29udGVudHMuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy5odG1sCmluZGV4IGQ3MGI4
MjFkZWI0OWFlOGNjNTVjMzYwZGJhZmFjMWQ4ZDQzODc4NzUuLmU0Y2FiNTlmMzBkOWI3YTg4ODhm
ZWNiNzE5ZmE3YWZhNzg5ZTJhY2UgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1jb250ZW50cy5odG1sCisrKyBiL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLW92ZXJsYXktbm8tcHVzaC1j
b250ZW50cy5odG1sCkBAIC0xLDcgKzEsMTMgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+CiA8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmll
dyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJU
TCIpOworfQorPC9zY3JpcHQ+Cis8c2NyaXB0PgogaWYgKHdpbmRvdy5pbnRlcm5hbHMpCiAgICAg
aW50ZXJuYWxzLnNldFVzZXNPdmVybGF5U2Nyb2xsYmFycyh0cnVlKTsKIDwvc2NyaXB0PgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRp
b24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWFic29sdXRlLWV4cGVjdGVkLmh0bWwKaW5kZXggNGYyNjYw
OThlYWQxNTBjNjcxMTRjOTA2YTEyNTNhZDFmZjQ3YTdiMi4uODgxYzhlNDYyZDhhZjgwNDA0Mzli
Yzk0MTgxZWU1Mjg3NTlhOTQwMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUtZXhwZWN0ZWQuaHRtbAorKysgYi9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1hYnNvbHV0
ZS1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgi
VmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24o
IlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7
Ij4KIDxkaXYgaWQ9InRleHQiIHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9uOiBhYnNv
bHV0ZTsgbGVmdDogMTAwcHg7Ij5wcHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJzb2x1dGUu
aHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9u
LWFic29sdXRlLmh0bWwKaW5kZXggOTZjMTY3OWVkNWEyMGE4YmVjY2EwZTZhYjBhNWE1M2ZhMjJk
NjIzNy4uMmFhNGE3NTQ1NTlmMWM0ZWQyNDY5ODZkMjNlNjc4YzAzMjQyYWE1ZiAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tYWJz
b2x1dGUuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1wb3NpdGlvbi1hYnNvbHV0ZS5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFy
Z2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQiIHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0
aW9uOiBhYnNvbHV0ZTsgbGVmdDogMTAwcHg7Ij5wcHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24t
Zml4ZWQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXBvc2l0aW9uLWZpeGVkLWV4cGVjdGVkLmh0bWwKaW5kZXggNDEwMTdhZDZlZmJkNzBh
MTU1ZDc2MmVkNTAzMTc0ODE3NDZkNjZhNy4uN2Q5NWVhNWQ3NTlmYzBmYzI4M2ZkNTA2YTIzYmUx
NTAxZGVkMzdhMCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtcG9zaXRpb24tZml4ZWQtZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC1leHBlY3RlZC5odG1s
CkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVy
IFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhl
YWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0
dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGlu
dGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9z
Y3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRl
eHQiIHN0eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMTAwcHg7
Ij5wcHBwcHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uLWZpeGVkLmh0bWwKaW5kZXggZTdm
MDFiMzhlMzAwOGVkZTFkYTllMmNhNTkyOGI2ODBhYmRhZWI0Ny4uY2EwNTM4ZDFjOTE3ZTYyMDg0
NjE5MDFkOGNmM2UyYjFlYmI4MzUxYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3Jv
bGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb24tZml4ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbi1maXhlZC5odG1sCkBAIC0x
LDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRs
U2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8
c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Mu
c2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFs
cy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+
CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIDxkaXYgaWQ9InRleHQiIHN0
eWxlPSJmb250OiAyMHB4IEFoZW07IHBvc2l0aW9uOiBmaXhlZDsgbGVmdDogMTAwcHg7Ij5wcHBw
cHBwcHBwcHBwcDwvZGl2PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcv
cnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBvc2l0aW9uaW5nLWV4cGVjdGVkLmh0bWwKaW5k
ZXggN2Q5YjIyNjUyNTJhNmE2M2I2Mjg1NDVjYzNmNTdiY2E2NDdlNTNjNS4uN2NjMTY2YjI5NTU3
NjUyMDZjNmZmZTVjZGI0ZmQ3MGEzNzY5M2MzZCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtcG9zaXRpb25pbmctZXhwZWN0ZWQuaHRtbAorKysg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1wb3NpdGlvbmluZy1l
eHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0
LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4K
IDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmll
dyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJU
TCIpOworfQorPC9zY3JpcHQ+CiA8c3R5bGU+CiBkaXYgewogICAgIGZvbnQ6IDIwcHggQWhlbTsK
QEAgLTE5LDQgKzI1LDQgQEAgZGl2IHsKIDxkaXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsg
bGVmdDogMHB4OyB0b3A6IDIxMHB4OyI+bTwvZGl2PgogPGRpdiBzdHlsZT0icG9zaXRpb246IGFi
c29sdXRlOyBsZWZ0OiAwcHg7IHRvcDogMHB4OyB3aWR0aDogMXB4OyBoZWlnaHQ6IDIwMDBweDsi
PjwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwv
aHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXBvc2l0aW9uaW5nLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1wb3NpdGlvbmluZy5odG1sCmluZGV4IGEwNjVjOWI2ZjMzYTZhZWI1ZGVlNGUyMzU1
NzFlYTY1OTRjZTI5NWIuLjA5MjY3ZGI4YjM4YzdiN2QwZjA4YzE2ZDE3NjZlOTc5NjVhMWNmYzQg
MTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXBv
c2l0aW9uaW5nLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9s
bGJhcnMtcG9zaXRpb25pbmcuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48
IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NU
WVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxz
KSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Q
b2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGly
ZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPHN0eWxlPgogZGl2IHsKICAgICBmb250OiAy
MHB4IEFoZW07CkBAIC0zNSw0ICs0MSw0IEBAIGRpdiB7CiA8L2h0bWw+Ij48L2lmcmFtZT4KIDxk
aXYgc3R5bGU9InBvc2l0aW9uOiBhYnNvbHV0ZTsgbGVmdDogMHB4OyB0b3A6IDBweDsgd2lkdGg6
IDFweDsgaGVpZ2h0OiAyMDAwcHg7Ij48L2Rpdj4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXds
aW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUtZXhwZWN0ZWQtbWlzbWF0Y2guaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1leHBlY3Rl
ZC1taXNtYXRjaC5odG1sCmluZGV4IGM2ZmM4ODIyZTI0MzExMTI3ZDc0Y2IxNDA5ZGRjM2E4ZWY3
ZTRkZGUuLmQ4ZjExMmJkNGNkZDM3NmUyOTQ4MzRkYTY5NTc1ZDMxM2Y1NWQ3Y2IgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS1leHBl
Y3RlZC1taXNtYXRjaC5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1z
Y3JvbGxiYXJzLXNpbXBsZS1leHBlY3RlZC1taXNtYXRjaC5odG1sCkBAIC01LDQgKzUsNCBAQAog
PGJvZHkgc3R5bGU9ImhlaWdodDogMTAwMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0
IHJ0bCBzY3JvbGxiYXJzIGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBmcmFtZS4KIDwvYm9k
eT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zaW1wbGUuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1s
CmluZGV4IDc4YmQwNTAwMDhhYTgxMTRiOTIzNDZlZjMzYjkwYWFjMTgzZjViMTguLjQyOGMwNWQw
ZTM0NTVjOWNiMjc2M2VkMTFlMDkzZjYyNDRhNzEwMzcgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3Rz
L2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sCisrKyBiL0xheW91dFRl
c3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXNpbXBsZS5odG1sCkBAIC0xLDggKzEs
MTQgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xs
YmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0
PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVy
dGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0
aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hl
YWQ+CiA8Ym9keSBzdHlsZT0iaGVpZ2h0OiAxMDAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJl
IHRoYXQgcnRsIHNjcm9sbGJhcnMgYXJlIG9uIHRoZSBsZWZ0IG9mIHRoZSBtYWluIGZyYW1lLgog
PC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1kb2N1bWVudC0yLWV4cGVjdGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9y
dGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi1leHBlY3RlZC5odG1sCmluZGV4IDNlMDIw
ODE2ZDYwZTUwNGY5MTI3NDJmMDgxNmNlOTZlNDM2ODc2OGMuLmEwZGEwMTg4OTE1NGRhNTEyMmVm
N2JhZmQzZTBlYTY3M2QxM2Q0YjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC0yLWV4cGVjdGVkLmh0bWwKKysrIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50
LTItZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4
OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwg
c2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAtMTIsNCArMTgsNCBAQCBUaGlzIHRlc3Qg
bWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVu
IHBvc2l0aW9uaW5nLgogd2luZG93LnNjcm9sbCg4NTAsIDApOwogPC9zY3JpcHQ+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3Vt
ZW50LTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0
aWNreS1kb2N1bWVudC0yLmh0bWwKaW5kZXggMGYyZWNiZWI4NzNiMDYzYzEzMTFiYmYzZTE5ZDNi
M2I5YzI1ZTVlNy4uYzA3MGQyNDhiNDMwMzFlY2Q0NmU1NGYyMGYwMGZmZGM3ZTQ0NjMxMCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWRvY3VtZW50LTIuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktZG9jdW1lbnQtMi5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQ
RSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+
Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5p
bnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJM
b2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1M
YXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHls
ZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3Rp
Y2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xMSw0ICsxNyw0
IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBz
Y3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiB3aW5kb3cuc2Nyb2xsKDg1MCwgMCk7CiA8L3Nj
cmlwdD4KIDwvYm9keT4KLTwvaHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0
bWw+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFy
cy1zdGlja3ktZG9jdW1lbnQtZXhwZWN0ZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sCmluZGV4IDUy
OGU4MzA0NGVhNDQwMDg3MzBhNDg0ZTJmZDgzZGY1YWU3MGQxOTAuLmYyOGZlMWQxZGQzYWM0YTEx
NmI2NWM2YmU1ZTY5YzI4ZjkxOWU3OTQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVudC1leHBlY3RlZC5odG1sCisrKyBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1kb2N1bWVu
dC1leHBlY3RlZC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgi
VmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24o
IlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7
Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBz
Y3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC05LDQgKzE1LDQgQEAgVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBw
b3NpdGlvbmluZy4KICAgICA8ZGl2IHN0eWxlPSJwb3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDY4
NXB4OyB0b3A6IDBweDsgd2lkdGg6IDEwMHB4OyBoZWlnaHQ6IDEwMHB4OyBiYWNrZ3JvdW5kOiBn
cmVlbjsiPjwvZGl2PgogPC9kaXY+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBl
bmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWRvY3VtZW50Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0
L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQuaHRtbAppbmRleCBjNzY3
NWRmNTI3ZWUwZWRjYjFiYmVkZWM4ZmJkNTU1MjU2MTE5N2M1Li5kZjVlOWUyZjUxYWU4YjI2ZGI2
OWYzMzhkNzQ3YWEzOTkzYWZiMTVhIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9s
bGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQuaHRtbAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktZG9jdW1lbnQuaHRtbApAQCAt
MSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0
bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgor
PHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdz
LnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5h
bHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0
PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMg
c3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBSVEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0
aW9uaW5nLgpAQCAtOCw0ICsxNCw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRp
b24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCiAgICAgPGRp
diBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlvbjogc3RhdGljOyB3aWR0aDog
ODAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGJsdWU7Ij48L2Rpdj48ZGl2IHN0eWxl
PSJkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IHBvc2l0aW9uOiAtd2Via2l0LXN0aWNreTsgbGVmdDog
MHB4OyByaWdodDogMHB4OyB3aWR0aDogMTAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6
IGdyZWVuOyI+PC9kaXY+PGRpdiBzdHlsZT0iZGlzcGxheTogaW5saW5lLWJsb2NrOyBwb3NpdGlv
bjogc3RhdGljOyB3aWR0aDogODAwcHg7IGhlaWdodDogMTAwcHg7IGJhY2tncm91bmQ6IGJsdWU7
Ij48L2Rpdj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi1leHBlY3RlZC5odG1sIGIvTGF5b3V0VGVzdHMv
ZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4cGVjdGVkLmh0
bWwKaW5kZXggNjM5NTU2ZWM2OTA0YTIzMThkYmQxNDM5ZDQ2ZDM0ZGM4YmRiNzlkNC4uNGEyODU2
NjVkNDI2NWVmOTI2YzZjNjBlM2JmZTVlOTM0NTlkNjVjNyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVz
dHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS0yLWV4cGVjdGVk
Lmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3Rp
Y2t5LWlmcmFtZS0yLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0
bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwh
RE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVy
bmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0
aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91
dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJt
YXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kg
b2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTE4LDQgKzI0LDQgQEAg
d2luZG93LnNjcm9sbCg4NTAsIDApOwogPC9ib2R5PgogPC9odG1sIj4KIDwvYm9keT4KLTwvaHRt
bD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktaWZyYW1lLTIuaHRt
bCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJh
bWUtMi5odG1sCmluZGV4IGZkNDFhZmM5NTJiMjMzMTEwNzJiMjJlMTEzZWM0NGJmNjYwMzFmZmQu
LjczZjkxYjA1NGNjNmJhYjdlNDI3ODVjZmNhYjBjODMzOThlOWI4ZDMgMTAwNjQ0Ci0tLSBhL0xh
eW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUtMi5o
dG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNr
eS1pZnJhbWUtMi5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Vi
a2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRt
bD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAg
ICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgi
VmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24o
IlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7
Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBz
Y3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xNyw0ICsyMyw0IEBAIHdpbmRvdy5zY3Jv
bGwoODUwLCAwKTsKIDwvYm9keT4KIDwvaHRtbCI+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1leHBlY3RlZC5odG1sIGIv
TGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFtZS1l
eHBlY3RlZC5odG1sCmluZGV4IDQ4NjEyOTYxZjFmZmI3YmVmMDEwZDJkNDNiYThkZjcxOWY0OTYz
MDcuLmMyZGY5MzQ1YjE4Mzg1YzM0MWU4NGM5YjI4OGI3NjU5Mjg5ZjY1ZGYgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUt
ZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy1zdGlja3ktaWZyYW1lLWV4cGVjdGVkLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAt
LT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0
eWxlPSJtYXJnaW46IDBweDsiPgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1z
dGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTE1LDQgKzIx
LDQgQEAgVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRM
IHNjcm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KIDwvYm9keT4KIDwvaHRtbCI+CiA8L2JvZHk+
Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LWlmcmFt
ZS5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5
LWlmcmFtZS5odG1sCmluZGV4IDQ5MDE0NjI3NjkxNzU0NDk3YzdhMTllYTA4MzViMDc3NmVhNjEx
MGUuLjFjMjk0MmVjMGIzOGU4MjQ1MjE3YzEzMWZhNDk2NTExYWE0NzQ4NjQgMTAwNjQ0Ci0tLSBh
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1pZnJhbWUu
aHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlj
a3ktaWZyYW1lLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NUWVBFIGh0bWw+PCEtLSB3ZWJr
aXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAtLT4KKzwhRE9DVFlQRSBodG1s
PgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93LmludGVybmFscykgeworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJhckxvY2F0aW9uUG9saWN5KCJW
aWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3RlbUxheW91dERpcmVjdGlvbigi
UlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0eWxlPSJtYXJnaW46IDBweDsi
PgogVGhpcyB0ZXN0IG1ha2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNj
cm9sbGJhcnMgd2hlbiBwb3NpdGlvbmluZy4KQEAgLTE0LDQgKzIwLDQgQEAgVGhpcyB0ZXN0IG1h
a2VzIHN1cmUgdGhhdCBwb3NpdGlvbi1zdGlja3kgb2JleXMgUlRMIHNjcm9sbGJhcnMgd2hlbiBw
b3NpdGlvbmluZy4KIDwvYm9keT4KIDwvaHRtbCI+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3
bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFz
dC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC0yLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlj
a3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbAppbmRleCBiNTM2M2U1MjFjMDMxOGIy
Y2Y5OTAzMTQ2MjdjN2ZhZmJhOTRkM2U4Li40NTA0MDZkYmIwMWIyNWNiNTkyNDE1ZGEyMjA4ZDc2
YTM1MjEwODc3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Ny
b2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLTItZXhwZWN0ZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Ny
b2xsLTItZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0t
IHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBF
IGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7
CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xp
Y3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0
aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjog
MHB4OyI+CiBUaGlzIHRlc3QgbWFrZXMgc3VyZSB0aGF0IHBvc2l0aW9uLXN0aWNreSBvYmV5cyBS
VEwgc2Nyb2xsYmFycyB3aGVuIHBvc2l0aW9uaW5nLgpAQCAtMTUsNCArMjEsNCBAQCB2YXIgc2Ny
b2xsaW5nRWxlbWVudCA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCJzY3JvbGxpbmciKTsKIHNj
cm9sbGluZ0VsZW1lbnQuc2Nyb2xsTGVmdCA9IDEwMDA7CiA8L3NjcmlwdD4KIDwvYm9keT4KLTwv
aHRtbD4KXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBmaWxlCis8L2h0bWw+CmRpZmYgLS1naXQgYS9M
YXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ct
c2Nyb2xsLTIuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCmluZGV4IGFlMzc1ZDUzNzY3MzY5NGRmNDhm
MTE2MGFhMGE0MWE4ZThmYTkxNDYuLmI3M2Y0OWJiY2VjYjg1MGE5NTRjZjlmNjQxZWQ1YWM2NGE5
ZjUyYjggMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxi
YXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zhc3Qv
c2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtMi5odG1sCkBA
IC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsg
cnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+
Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGlu
Z3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAgIGludGVy
bmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3Jp
cHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVzdCBtYWtl
cyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9z
aXRpb25pbmcuCkBAIC0xNCw0ICsyMCw0IEBAIHZhciBzY3JvbGxpbmdFbGVtZW50ID0gZG9jdW1l
bnQuZ2V0RWxlbWVudEJ5SWQoInNjcm9sbGluZyIpOwogc2Nyb2xsaW5nRWxlbWVudC5zY3JvbGxM
ZWZ0ID0gMTAwMDsKIDwvc2NyaXB0PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQg
ZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xs
aW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwtZXhwZWN0ZWQuaHRtbCBi
L0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxv
dy1zY3JvbGwtZXhwZWN0ZWQuaHRtbAppbmRleCBmZGUxNTQwYzlmNDU0ZjdmM2QwZGQzMWVlMmRi
YzhlM2ZiMTVmZGQ4Li45NWExMjNkNWQ2M2Y2N2ExMmIyMzUyOTczMjc4NWUwMzc0MTFjMTgxIDEw
MDY0NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlj
a3ktb3ZlcmZsb3ctc2Nyb2xsLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9z
Y3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92ZXJmbG93LXNjcm9sbC1leHBlY3RlZC5o
dG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRlc3QtcnVu
bmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxodG1sPgog
PGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsKKyAgICBpbnRlcm5hbHMu
c2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGljeSgiVmlldyIpOworICAg
IGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rpb24oIlJUTCIpOworfQor
PC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KIFRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdo
ZW4gcG9zaXRpb25pbmcuCkBAIC0xMSw0ICsxNyw0IEBAIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRo
YXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcu
CiA8L2Rpdj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9m
IGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0
bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbCBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXN0aWNreS1vdmVyZmxvdy1zY3JvbGwuaHRtbApp
bmRleCAxMDk4OGUyMWM4OTE1ZGQyNjkzY2Q1ZmJkYjc2ZjEwYWVhOWJjYjZiLi5hMDg4YjEzYmJl
YzYyZDFlNTQzZTk2ZmYzNmM2NWMzNTI2MjMyMTE0IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy1zdGlja3ktb3ZlcmZsb3ctc2Nyb2xsLmh0bWwK
KysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtc3RpY2t5LW92
ZXJmbG93LXNjcm9sbC5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0g
d2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUg
aHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5hbHMpIHsK
KyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlvblBvbGlj
eSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXREaXJlY3Rp
b24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAw
cHg7Ij4KIFRoaXMgdGVzdCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJU
TCBzY3JvbGxiYXJzIHdoZW4gcG9zaXRpb25pbmcuCkBAIC0xMCw0ICsxNiw0IEBAIFRoaXMgdGVz
dCBtYWtlcyBzdXJlIHRoYXQgcG9zaXRpb24tc3RpY2t5IG9iZXlzIFJUTCBzY3JvbGxiYXJzIHdo
ZW4gcG9zaXRpb25pbmcuCiA8L2Rpdj4KIDwvZGl2PgogPC9ib2R5PgotPC9odG1sPgpcIE5vIG5l
d2xpbmUgYXQgZW5kIG9mIGZpbGUKKzwvaHRtbD4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLWV4cGVjdGVkLmh0bWwg
Yi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlv
bi1leHBlY3RlZC5odG1sCmluZGV4IDdlZjVlM2UyODUzZTBmOWMyMTZiNmE1OGU3ODY2NmZjODEz
ZTY5NTkuLjUxYWNkZWU5ZDg3YTc4NmUzMDUyMThkMWQzZWI5NWZkZDljMzZmNTQgMTAwNjQ0Ci0t
LSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0
aW9uLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNj
cm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08
IURPQ1RZUEUgaHRtbD48IS0tIHdlYmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1
ZSBdIC0tPgorPCFET0NUWVBFIGh0bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3
aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Ny
b2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0
U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJv
ZHkgc3R5bGU9Im1hcmdpbjogMHB4OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHlsZT0iZm9udDogMjBw
eCBBaGVtOyI+cHBwcHBwcHBwcHBwcHA8L2Rpdj4KZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVj
dGVkLmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0
LXNlbGVjdGlvbi1zY3JvbGxlZC1leHBlY3RlZC5odG1sCmluZGV4IGVkNmIzZDQ3MmRiOTA3OTBi
M2RjOGJjN2I2ODhmNGRhN2UwODA1ZDMuLjI4Mzg3MTI3YjRhMzQyMzU5NWU3YTU1YzExMzdiNWUy
NmZiOGI0MTMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3Jv
bGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLWV4cGVjdGVkLmh0bWwKKysrIGIvTGF5b3V0
VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xs
ZWQtZXhwZWN0ZWQuaHRtbApAQCAtMSw2ICsxLDEyIEBACi08IURPQ1RZUEUgaHRtbD48IS0tIHdl
YmtpdC10ZXN0LXJ1bm5lciBbIHJ0bFNjcm9sbGJhcnM9dHJ1ZSBdIC0tPgorPCFET0NUWVBFIGh0
bWw+CiA8aHRtbD4KIDxoZWFkPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7Cisg
ICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3ko
IlZpZXciKTsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9u
KCJSVEwiKTsKK30KKzwvc2NyaXB0PgogPC9oZWFkPgogPGJvZHkgc3R5bGU9Im1hcmdpbjogMHB4
OyI+CiA8ZGl2IGlkPSJ0ZXh0IiBzdHlsZT0iZm9udDogMjBweCBBaGVtOyI+PGJyPjxicj48YnI+
PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48
YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxi
cj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJyPjxicj48YnI+PGJy
Pjxicj48YnI+PGJyPjxicj5wcHBwcHBwcHBwcHBwcDwvZGl2PgpAQCAtMTcsNCArMjMsNCBAQCBy
YW5nZS5zZXRFbmQodGV4dCwgMSk7CiBzZWxlY3Rpb24uYWRkUmFuZ2UocmFuZ2UpOwogPC9zY3Jp
cHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1s
PgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMt
dGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5n
L3J0bC1zY3JvbGxiYXJzLXRleHQtc2VsZWN0aW9uLXNjcm9sbGVkLmh0bWwKaW5kZXggNTU3YjIz
YjdkYWY3MDA5YjM1OTExZTA3NzMyMjdiNDhlZWNlZjZhMi4uNzYxMTk2MTkwMTFiOTM1NThhZjBh
NmI3MDFmYWNjZTg4ZjdjNzQ3NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxp
bmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1zZWxlY3Rpb24tc2Nyb2xsZWQuaHRtbAorKysgYi9MYXlv
dXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy10ZXh0LXNlbGVjdGlvbi1zY3Jv
bGxlZC5odG1sCkBAIC0xLDUgKzEsMTEgQEAKLTwhRE9DVFlQRSBodG1sPjwhLS0gd2Via2l0LXRl
c3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURPQ1RZUEUgaHRtbD4KIDxo
dG1sPgorPHNjcmlwdD4KK2lmICh3aW5kb3cuaW50ZXJuYWxzKSB7CisgICAgaW50ZXJuYWxzLnNl
dHRpbmdzLnNldFZlcnRpY2FsU2Nyb2xsYmFyTG9jYXRpb25Qb2xpY3koIlZpZXciKTsKKyAgICBp
bnRlcm5hbHMuc2V0dGluZ3Muc2V0U3lzdGVtTGF5b3V0RGlyZWN0aW9uKCJSVEwiKTsKK30KKzwv
c2NyaXB0PgogPGhlYWQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFyZ2luOiAwcHg7Ij4KQEAg
LTE2LDQgKzIyLDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewogfQogPC9zY3JpcHQ+CiA8
L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmlsZQorPC9odG1sPgpkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1z
ZWxlY3Rpb24uaHRtbCBiL0xheW91dFRlc3RzL2Zhc3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJz
LXRleHQtc2VsZWN0aW9uLmh0bWwKaW5kZXggNGRiYzg4YWYwZmUyYTQ4NGM3YTY3YjhkMTcwZDEy
ZDBhNTM5OGU1MS4uMDUzMzQ5NjlkYjYwMjVlNjYzNDFjYTFjNjFmN2UzYjc2YjAzYjRkZCAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtdGV4dC1z
ZWxlY3Rpb24uaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy10ZXh0LXNlbGVjdGlvbi5odG1sCkBAIC0xLDYgKzEsMTIgQEAKLTwhRE9DVFlQRSBodG1s
PjwhLS0gd2Via2l0LXRlc3QtcnVubmVyIFsgcnRsU2Nyb2xsYmFycz10cnVlIF0gLS0+Cis8IURP
Q1RZUEUgaHRtbD4KIDxodG1sPgogPGhlYWQ+Cis8c2NyaXB0PgoraWYgKHdpbmRvdy5pbnRlcm5h
bHMpIHsKKyAgICBpbnRlcm5hbHMuc2V0dGluZ3Muc2V0VmVydGljYWxTY3JvbGxiYXJMb2NhdGlv
blBvbGljeSgiVmlldyIpOworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRTeXN0ZW1MYXlvdXRE
aXJlY3Rpb24oIlJUTCIpOworfQorPC9zY3JpcHQ+CiA8L2hlYWQ+CiA8Ym9keSBzdHlsZT0ibWFy
Z2luOiAwcHg7Ij4KIDxkaXYgc3R5bGU9ImZvbnQ6IDIwcHggQWhlbTsiPnBwcHBwcHBwcHBwcHBw
PC9kaXY+CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xs
YmFycy5odG1sIGIvTGF5b3V0VGVzdHMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMuaHRt
bAppbmRleCAwNmU3ZDI1YjVkNTMwMjgyZjQxYmI4NTUxYmE4MDMxNDMyMGI0Mzg0Li4zYjZjMTEy
Mzk0YTVhMjE3MTJmMjU1ZmVjZDUyMzQzNDJkOGNmYjdiIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0
cy9mYXN0L3Njcm9sbGluZy9ydGwtc2Nyb2xsYmFycy5odG1sCisrKyBiL0xheW91dFRlc3RzL2Zh
c3Qvc2Nyb2xsaW5nL3J0bC1zY3JvbGxiYXJzLmh0bWwKQEAgLTEsNiArMSwxMiBAQAotPCFET0NU
WVBFIGh0bWw+PCEtLSB3ZWJraXQtdGVzdC1ydW5uZXIgWyBydGxTY3JvbGxiYXJzPXRydWUgXSAt
LT4KKzwhRE9DVFlQRSBodG1sPgogPGh0bWw+CiA8aGVhZD4KKzxzY3JpcHQ+CitpZiAod2luZG93
LmludGVybmFscykgeworICAgIGludGVybmFscy5zZXR0aW5ncy5zZXRWZXJ0aWNhbFNjcm9sbGJh
ckxvY2F0aW9uUG9saWN5KCJWaWV3Iik7CisgICAgaW50ZXJuYWxzLnNldHRpbmdzLnNldFN5c3Rl
bUxheW91dERpcmVjdGlvbigiUlRMIik7Cit9Cis8L3NjcmlwdD4KIDwvaGVhZD4KIDxib2R5IHN0
eWxlPSJoZWlnaHQ6IDEwMDBweDsgcG9zaXRpb246IHJlbGF0aXZlOyI+CiA8ZGl2IHN0eWxlPSJw
b3NpdGlvbjogYWJzb2x1dGU7IGxlZnQ6IDBweDsgYm90dG9tOiAwcHg7Ij5UaGlzIHRlc3QgbWFr
ZXMgc3VyZSB0aGF0IHJ0bCBzY3JvbGxiYXJzIGFyZSBvbiB0aGUgbGVmdCBvZiB0aGUgbWFpbiBm
cmFtZS48L2Rpdj4KQEAgLTEzLDQgKzE5LDQgQEAgaWYgKHdpbmRvdy5ldmVudFNlbmRlcikgewog
fQogPC9zY3JpcHQ+CiA8L2JvZHk+Ci08L2h0bWw+ClwgTm8gbmV3bGluZSBhdCBlbmQgb2YgZmls
ZQorPC9odG1sPgpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvcGxhdGZvcm0vbWFjL2Zhc3Qvc2Ny
b2xsaW5nL3J0bC1zY3JvbGxiYXJzLWFuaW1hdGlvbi1wcm9wZXJ0eS1leHBlY3RlZC5wbmcgYi9M
YXlvdXRUZXN0cy9wbGF0Zm9ybS9tYWMvZmFzdC9zY3JvbGxpbmcvcnRsLXNjcm9sbGJhcnMtYW5p
bWF0aW9uLXByb3BlcnR5LWV4cGVjdGVkLnBuZwpuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi5mZjE2ZDg0OWIzN2YzNzJh
ZDgzNzViNmQyY2JhZWM1OTYzOWZlMzM4CkdJVCBiaW5hcnkgcGF0Y2gKbGl0ZXJhbCAxMTIyNgp6
Y21lSE5ZZnV3YzZ5OTl8MWByOGFwcnMoSUFYY3FuS31yfWJFSDhtcHAjP2pqUDYtd3dQSGhRUURw
NyRYUjBiN20KelEwcGopTH1uQyo4QWNvfU1Gbz5NU1Y/cyU3T094SjYzUm9+MkBvTktQMH4jWnlY
KWdgcj04Q0ltN1NBJj8lczNtCnpkM0BoVjR1MmRJWD1tZU4xM3syb2JYMGc4MVgtWEVnZHtTcDIr
NyZLY15TbVZpcCs/XyUjQHdubHdFdGlgM21DdAp6dkR0b35yfSg5RXghaVRXekNRMSNfO1hXejE5
b3V6e0k+NjQ/K0FkS3JFUD1+eWVCUik2dVNKdGJwVjFeYWlZVVIKekh1Sz87akAjKzNzWHlsYnkx
UX1WKmdLeldJI2F5ZU48SmZGZFA1I1FBJGp3WXExezsjJCliRGh1N2g3endjYzh+Cno8V2o3bV5M
JG4yTV5vfDV7c35IZiQ8V2JXJWQ8fk5OTl9nPXRrO1phK1htVkBJeXd2JD9tXmpYUzg/TnZVP2g7
aQp6V1RCVzRmKVYwRDdicjV9OVR0KkJxeSl0LUVKTHhhQy0lfTtaNChVQEI7b2koUS1OQUtHcGd3
cDJqfThDWlI4Sz4KekpmM3x1TjAhQHY8TCRxO284NHN0a19QV1NCSVplX2AhcXc8dlFCJGsoX21q
OSQ8K15OZFFXb31yPkNjbnMtPERHCnpNPTxNJTFXUGp9QmReNUJDZFF1V2JTY0FgZmpOQ0k/Nn01
fVpDZXk8WTwoUXx0dkZ9JDtRQGQxO3BmaGJaJkFJQQp6PDw1LU0xYENYKil4bmMob1cqKSkrVj9D
enJXekpsakxYanojO1RSRlV8cnliSEdMRUwpUVk0TWQ3RH5UZV9jezAKelZiU2M2OTJHKi1za3Rq
fmpDeG1ud24qPz9vY3pJXnNyJWtDU0Uqc0xVNTJ9UGFJKGpLPmJsa3hibF5vdGN0QCRDCnpFJCU0
YThfelNJPzUrcVU0T1N0ZDxweiZMPEZWdG14JXRgRjxTUndhb3w9cEJjJnBONXlmd3tSKEhAKXNf
Ym1+SQp6JTF0JSRsVTlscGZtbzN1Rj5wKmEoPzMmcCN0JVZhVH5LZXVGRWo7NldYb1ZFRU8keHxs
NnlkK2AtRiZfRTxIak0KentUcilGKklgTXdfQiNwPWlGMkd9aWgweVVGeFJnVkV3P04zPVhIamNH
ekp4TmRNcyU3VHpibXZmc3Y3c0YxPW5xCnp6eUlZSkAhbSFfeVFpPE9QeENsfDw5NGpFeUd0OCtJ
bVQyWDcyR0BASDFRcUg8a1BEJmpPYEFsQHVzT2FULTJTbgp6PlAlVFRacjtARTQwVXlOR3cwTX5T
Z314ems3Y1BnM3JxNFVsUUAhPjFTOWI8Pn5tYFQ3O1ZRSUErJStZJVVuRFgKekowITB9dkdUWjEy
VEY5c2lHfVY4d1Y+SSQoVVBJcWRAcW5AO1MmVCYtTCNWbzZDeTd2Zzs0UV9geXdma2RAQ2xiCnp2
YkxpZ2E7K2xeamJFWHJMWD8kZyVQaklNcWFCITBQSGVvZypOckNIMTtiYXAqM0ZkeGJBV0JlZ2N+
b19kcitkfQp6KWhQRGxwY1FUN0dkOWVrJUl+dmlIZEdOZG9QOWBuMHlxYWFobHFYPElkaUU3KHUl
NVlweXJVWjZjbDgjR2xGaEsKendwYEg0TmhJOyMkMnA+Rig3eHdgcFc/czIwI3VwIW5oWW5EKkk5
cDx7UitUaz17X1VLaWtVYUh3NnZzUTczfkFRCnpPMHBedDQ7aHY2RXlBWnlwU250b2Bre3N+e2B3
TjU7Xy1tdyhOdHtocWNrWkVQaHpTIyhTJmtQcikoWi1za1MlNgp6U1lgZHxRN29wQypwd0krRDF6
TklyS0VwfWh5Tip6UnFmWW5QR21fMCNfNDY4ejNqIX1mK0A5PHFwZ3UxbEo5WjIKenU5ZGtyXioo
I243KEkpcWBCNXM0VH5VRzJ1QTtWPHI7TCY4ciRjUkQyVkpUfiYqMCEtRi15T0ZBejg0eypRS2U+
Cnp5eyE3NWYjcV9PYkpmZUI4KDs3Oz5LNFVMVz9gZUZxdmdUIz12MDkzaDIrbGJEYUojbVgkSjdF
NXV8NHN6RVU0Ugp6KEZrSXBXWjM8LVVlbmQheUZ9YUluTmNoczxKUyt7PUZBWnYpbXlnTlNLJldR
PjtyZEFtRSZReyQpZCQjOzB7JCMKel9lUDROVT5yPVMtTCN0S0YmMlhuQ0gmZnApV0klenFuTihq
JChsTDw2RzElWFk+THlPNTFtPFBQSkFIXlBjdlk2CnpWUjh2Z3I9Szc/KCNpLTVWS0ROOWtvRFJK
RyMjeGFCVEQoKChtNk9yZ25iQW1XVzFTMSk2cFp5TWN4PDNzbmlnbQp6RDI1I01yUm42cmFJPTMr
NndPMnkzeCkzJSh7IVhsWHlEdmRQcyY3OyR0KGhIMGQ2N2MxX3EqcSRQfCE3TH4jSk0KeiNhdUgl
JHUra1UoMjBtSDM+dmdLQXBtWTZGZEtrI1gyPU9wRTx1OTxfJXs8Mno9O1RjMiZrZiYmSEBIKT0y
Mmo8CnpLcUxlaEVTUHh8NyVZSW4hdENAQTM+THMoVlJrd1gxYEEtWUtxUH5pTX1mZnQ3JWFeR1ZB
RjRsSjIhYjA9REB1WQpSOy05K142ZGUmMGVtT0tiP0B1WnAkdmdsNgoKbGl0ZXJhbCAwCkhjbVY/
ZDAwMDAxCgo=
</data>

          </attachment>
      

    </bug>

</bugzilla>