<?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>203288</bug_id>
          
          <creation_ts>2019-10-23 00:21:35 -0700</creation_ts>
          <short_desc>MediaQueryList should extend EventTarget</short_desc>
          <delta_ts>2020-06-24 04:02:50 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>CSS</component>
          <version>WebKit Nightly Build</version>
          <rep_platform>All</rep_platform>
          <op_sys>All</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          <see_also>https://bugs.webkit.org/show_bug.cgi?id=105163</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=210655</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=211154</see_also>
    
    <see_also>https://bugs.webkit.org/show_bug.cgi?id=213538</see_also>
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          <dependson>204649</dependson>
    
    <dependson>209574</dependson>
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Alexey Shvayka">ashvayka</reporter>
          <assigned_to name="Alexey Shvayka">ashvayka</assigned_to>
          <cc>annulen</cc>
    
    <cc>benjamin</cc>
    
    <cc>calvaris</cc>
    
    <cc>cdumez</cc>
    
    <cc>darin</cc>
    
    <cc>dbates</cc>
    
    <cc>eric.carlson</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>gyuyoung.kim</cc>
    
    <cc>jer.noble</cc>
    
    <cc>josh</cc>
    
    <cc>kangil.han</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>macpherson</cc>
    
    <cc>menard</cc>
    
    <cc>mjs</cc>
    
    <cc>nkronlage</cc>
    
    <cc>philipj</cc>
    
    <cc>ryuan.choi</cc>
    
    <cc>sam</cc>
    
    <cc>sergio</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>tomac</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>youennf</cc>
    
    <cc>zcorpan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1582756</commentid>
    <comment_count>0</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-10-23 00:21:35 -0700</bug_when>
    <thetext>Initially, CSSOM View Module specification (https://www.w3.org/TR/2011/WD-cssom-view-20110804/#mediaquerylist) had a custom callback mechanism with addListener() and removeListener(), and the callback was invoked with the associated media query list as argument.
Now the normal event mechanism is used instead: https://www.w3.org/TR/cssom-view-1/#mediaquerylist.
For backwards compatibility, the addListener() and removeListener() methods are basically aliases for addEventListener() and removeEventListener(), respectively, and the &quot;change&quot; event masquerades as a MediaQueryList.

Other browsers have already shipped the change.
To do list for Safari:
1. Implement MediaQueryListEvent interface.
2. Make MediaQueryList subclass of EventTarget and emit MediaQueryListEvent.
3. Implement MediaQueryList::onchange attribute.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592631</commentid>
    <comment_count>1</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2019-11-21 19:25:32 -0800</bug_when>
    <thetext>&lt;rdar://problem/57417267&gt;</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592789</commentid>
    <comment_count>2</comment_count>
      <attachid>384151</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-11-22 07:31:00 -0800</bug_when>
    <thetext>Created attachment 384151
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1592792</commentid>
    <comment_count>3</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2019-11-22 07:43:29 -0800</bug_when>
    <thetext>While this patch is ready for review, WPT tests are coming in https://github.com/web-platform-tests/wpt/pull/20401. I will re-sync wpt/css/cssom-view and rebase this patch as soon as it is merged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1593537</commentid>
    <comment_count>4</comment_count>
      <attachid>384151</attachid>
    <who name="Sam Weinig">sam</who>
    <bug_when>2019-11-25 17:49:13 -0800</bug_when>
    <thetext>Comment on attachment 384151
Patch

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

&gt; Source/WebCore/css/MediaQueryList.cpp:60
&gt; +    addEventListener(&quot;change&quot;, listener.releaseNonNull());

The IDL declares the listener parameter as optional, so I don&apos;t think you can remove the null check if you are going to keep this listener.releaseNonNull(). Same with removeListener below.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1604574</commentid>
    <comment_count>5</comment_count>
      <attachid>387214</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-01-09 05:15:17 -0800</bug_when>
    <thetext>Created attachment 387214
Patch

Bring back null checks and adjust expectations.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1605034</commentid>
    <comment_count>6</comment_count>
      <attachid>387214</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-01-10 00:58:44 -0800</bug_when>
    <thetext>Comment on attachment 387214
Patch

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

Looks good in general.

&gt; Source/WebCore/css/MediaQueryMatcher.cpp:116
&gt; +    for (auto&amp; mql : m_mediaQueryLists) {

WebKit coding style doesn&apos;t like abbreviations. This should be &quot;mediaQueryList&quot; or maybe just &quot;list&quot; if the context is clear. (the existing media query code is old and doesn&apos;t necessarily follow this)

&gt; LayoutTests/imported/w3c/web-platform-tests/css/cssom-view/MediaQueryList-addListener-handleEvent-expected.txt:10
&gt; +CONSOLE MESSAGE: line 90: [object Object]
&gt;  
&gt; -FAIL calls handleEvent method of event listener promise_test: Unhandled rejection with value: object &quot;TypeError: Argument 1 (&apos;listener&apos;) to MediaQueryList.addListener must be a function&quot;
&gt; -FAIL looks up handleEvent method on every event dispatch promise_test: Unhandled rejection with value: object &quot;TypeError: Argument 1 (&apos;listener&apos;) to MediaQueryList.addListener must be a function&quot;
&gt; -PASS doesn&apos;t look up handleEvent method on callable event listeners 
&gt; -FAIL rethrows errors when getting handleEvent promise_rejects_exactly: function &quot;function () { throw e }&quot; threw object &quot;TypeError: Argument 1 (&apos;listener&apos;) to MediaQueryList.addListener must be a function&quot; but we expected it to throw object &quot;[object Object]&quot;
&gt; -PASS throws if handleEvent is falsy and not callable 
&gt; -PASS throws if handleEvent is thruthy and not callable 
&gt; +Harness Error (TIMEOUT), message = null
&gt;  
&gt; +PASS calls handleEvent method of event listener 
&gt; +PASS looks up handleEvent method on every event dispatch 
&gt; +PASS doesn&apos;t look up handleEvent method on callable event listeners 
&gt; +TIMEOUT rethrows errors when getting handleEvent Test timed out
&gt; +NOTRUN throws if handleEvent is falsy and not callable 
&gt; +NOTRUN throws if handleEvent is thruthy and not callable 

Looks like one test started timing out and the rest are not run. It is not ok to rebase that.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1629571</commentid>
    <comment_count>7</comment_count>
      <attachid>387214</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-03-13 04:13:40 -0700</bug_when>
    <thetext>Comment on attachment 387214
Patch

r- due to test timeouts. This looks pretty good though, it would be nice to get it landed.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1632650</commentid>
    <comment_count>8</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-22 10:14:54 -0700</bug_when>
    <thetext>(In reply to Antti Koivisto from comment #7)
&gt; Comment on attachment 387214 [details]
&gt; Patch
&gt; 
&gt; r- due to test timeouts.

Thank you, Antti.

https://github.com/web-platform-tests/wpt/pull/21186 fixed TIMEOUT issue, yet the tests still remain false-positive.
https://github.com/web-platform-tests/wpt/pull/22384 fixes the tests.
I will sync WPT and update the patch as soon as it gets merged.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634812</commentid>
    <comment_count>9</comment_count>
      <attachid>394720</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-27 08:38:16 -0700</bug_when>
    <thetext>Created attachment 394720
Patch

Rename `mql`, adjust tests, and tweak ChangeLog.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634825</commentid>
    <comment_count>10</comment_count>
      <attachid>394720</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-27 09:16:15 -0700</bug_when>
    <thetext>Comment on attachment 394720
Patch

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

Looks good. I am not sure we have enough test coverage for object lifetime issues.

&gt; Source/WebCore/css/MediaQueryList.cpp:63
&gt; +    addEventListener(&quot;change&quot;, listener.releaseNonNull());

eventNames().changeEvent rather than &quot;change&quot;

&gt; Source/WebCore/css/MediaQueryList.cpp:71
&gt; +    removeEventListener(&quot;change&quot;, *listener);

Ditto.

&gt; Source/WebCore/css/MediaQueryList.h:26
&gt;  #include &lt;wtf/Forward.h&gt;
&gt;  #include &lt;wtf/RefCounted.h&gt;
&gt;  #include &lt;wtf/RefPtr.h&gt;

None of these includes are needed now that we include EventTarget.h.

&gt; Source/WebCore/css/MediaQueryList.h:43
&gt; +    static Ref&lt;MediaQueryList&gt; create(ScriptExecutionContext&amp;, MediaQueryMatcher&amp;, Ref&lt;MediaQuerySet&gt;&amp;&amp;, bool matches);

I suggest this take a Document&amp; instead of a ScriptExecutionContext&amp;.

&gt; Source/WebCore/css/MediaQueryList.h:58
&gt; +    MediaQueryList(ScriptExecutionContext&amp;, MediaQueryMatcher&amp;, Ref&lt;MediaQuerySet&gt;&amp;&amp;, bool matches);

I suggest this take a Document&amp; instead of a ScriptExecutionContext&amp;.

&gt; Source/WebCore/css/MediaQueryList.idl:26
&gt; +    void addListener(EventListener? listener);
&gt; +    void removeListener(EventListener? listener);

Is it important for compatibility that the listener argument be nullable? If not we should remove that because it’s peculiar and unnecessary.

&gt; Source/WebCore/css/MediaQueryListEvent.h:29
&gt; +#include &lt;wtf/IsoMallocInlines.h&gt;

I think these inlines might not be needed in the header if we moved the create functions out of the header. Not sure.

&gt; Source/WebCore/css/MediaQueryListEvent.h:39
&gt; +    static Ref&lt;MediaQueryListEvent&gt; create(const AtomString&amp; type, const String&amp; media, bool matches)
&gt; +    {
&gt; +        return adoptRef(*new MediaQueryListEvent(type, media, matches));
&gt; +    }

I don’t think it’s valuable to have this inlined in the header. It would be better for runtime performance if the constructor was inlined in a non-inline create function, and better for compile speed to have less in the header.

&gt; Source/WebCore/css/MediaQueryListEvent.h:42
&gt; +        String media { &quot;&quot; };

emptyString(), not &quot;&quot;, is more efficient

But also, is it important that media ia an empty string rather than a null string? Normally I’d expect a null string would suffice.

&gt; Source/WebCore/css/MediaQueryListEvent.h:46
&gt; +    static Ref&lt;MediaQueryListEvent&gt; create(const AtomString&amp; type, const Init&amp; init, IsTrusted isTrusted = IsTrusted::No)

Same thought about not inlining this.

&gt; Source/WebCore/css/MediaQueryMatcher.cpp:118
&gt; +        list-&gt;evaluate(evaluator, notify);

Since list is a weak pointer, it seems we would need to check for null here.

&gt; Source/WebCore/css/MediaQueryMatcher.cpp:121
&gt; +            auto event = MediaQueryListEvent::create(eventNames().changeEvent, list-&gt;media(), list-&gt;matches());
&gt; +            list-&gt;dispatchEvent(event);

Do we get value from the local variable here? I think this would be better as a one-liner even if the line is a little longer.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634839</commentid>
    <comment_count>11</comment_count>
      <attachid>394720</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-27 09:50:09 -0700</bug_when>
    <thetext>Comment on attachment 394720
Patch

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

&gt;&gt; Source/WebCore/css/MediaQueryListEvent.h:42
&gt;&gt; +        String media { &quot;&quot; };
&gt; 
&gt; emptyString(), not &quot;&quot;, is more efficient
&gt; 
&gt; But also, is it important that media ia an empty string rather than a null string? Normally I’d expect a null string would suffice.

Could answer this question with tests, I think. If null string doesn’t work we should have a test that would fail if this is a null string.

Or Chris Dumez might just know this answer. Surely this has come up in other structures that are part of DOM bindings.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634923</commentid>
    <comment_count>12</comment_count>
      <attachid>394740</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-27 11:49:14 -0700</bug_when>
    <thetext>Created attachment 394740
Patch

Address Darin&apos;s comments.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634943</commentid>
    <comment_count>13</comment_count>
      <attachid>394740</attachid>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-03-27 12:13:11 -0700</bug_when>
    <thetext>Comment on attachment 394740
Patch

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

&gt; Source/WebCore/css/MediaQueryListEvent.h:36
&gt; +        String media { nullString() };

No need to write { nullString() } … that’s the default initialization for WTF::String.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634951</commentid>
    <comment_count>14</comment_count>
      <attachid>394746</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-27 12:22:53 -0700</bug_when>
    <thetext>Created attachment 394746
Patch

Drop nullString() and add optional EventListener tests.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1634952</commentid>
    <comment_count>15</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-03-27 12:33:41 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #13)
&gt; No need to write { nullString() } … that’s the default initialization for
&gt; WTF::String.

Sorry!

Now MediaQueryListEvent::EventInit is consistent with other DOM bindings with its default values tested in web-platform-tests/css/cssom-view/MediaQueryListEvent.

(In reply to Darin Adler from comment #10)
&gt; Is it important for compatibility that the listener argument be nullable? If
&gt; not we should remove that because it’s peculiar and unnecessary.

Sadly it is required, both Chrome and Firefox accept .addListener(null | undefined), which I added tests for in fast/media/media-query-list-07.html. Zero argument .addListener() throwing TypeError is covered by web-platform-tests/css/cssom-view/idlharness.html.

Regarding test failures in web-platform-tests/css/cssom-view/MediaQueryList-addListener-handleEvent.html: those errors are visible in DevTools, but not caught correctly by &quot;error&quot; handler. It seemed like cross-realm issue at first, but it also reproduces in single-realm XPathNSResolver tests (web-platform-tests/domxpath/callback-interface.html). Chrome is also affected. I will open a bug as soon as I triage it a little more.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1637393</commentid>
    <comment_count>16</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-03 09:41:56 -0700</bug_when>
    <thetext>*** Bug 156730 has been marked as a duplicate of this bug. ***</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640167</commentid>
    <comment_count>17</comment_count>
      <attachid>396083</attachid>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-10 08:01:43 -0700</bug_when>
    <thetext>Created attachment 396083
Patch

Rebase patch.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1640957</commentid>
    <comment_count>18</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-13 10:21:51 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #10)
&gt; Comment on attachment 394720 [details]
&gt; Patch
&gt; 
&gt; View in context:
&gt; https://bugs.webkit.org/attachment.cgi?id=394720&amp;action=review
&gt; 
&gt; Looks good. I am not sure we have enough test coverage for object lifetime
&gt; issues.

Darin, could you please give a hint on how such a test may look like?
I am not sure MediaQueryList::~MediaQueryList() destructor is observable enough so it could be tested.
There are a few tests for wrappers like LayoutTests/crypto/crypto-gc.html, yet I am not positive we need one since MediaQueryList&apos;s wrapper is not special.
Is there something else we should do before landing?</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1641222</commentid>
    <comment_count>19</comment_count>
    <who name="Darin Adler">darin</who>
    <bug_when>2020-04-13 19:52:22 -0700</bug_when>
    <thetext>(In reply to Alexey Shvayka from comment #18)
&gt; Darin, could you please give a hint on how such a test may look like?
&gt; I am not sure MediaQueryList::~MediaQueryList() destructor is observable
&gt; enough so it could be tested.
&gt; There are a few tests for wrappers like LayoutTests/crypto/crypto-gc.html,
&gt; yet I am not positive we need one since MediaQueryList&apos;s wrapper is not
&gt; special.
&gt; Is there something else we should do before landing?

I don&apos;t think there is anything we have to do before landing.

Here is what I can think of regarding lifetime:

- If we add a listener to an object that also captures that same object, we need to make sure that the object and the listener can still both be garbage collected and there is no cycle. That&apos;s what fast/dom/reference-cycle-leaks.html tests for. But I don&apos;t think we need a special test for MediaQueryList since it&apos;s just using a normal event listener.

- If we add a listener to an object and all other references to the object are deleted, we need to make sure that the listener still fires when the event should be dispatched and that when it does the object&apos;s wrapper still has custom properties (not a new wrapper). An attempt to test for something like this is http/tests/xmlhttprequest/event-listener-gc.html but on review that particular test doesn&apos;t seem to be correctly written. Garbage collection is not consistent enough; there is no guarantee a single object will be collected if we only run the test once. I don&apos;t know if have good tests for this. I don’t know what keeps a MediaQueryList alive when there are no references to it any more, but its existence can still be observed indirectly by whether events fire or not. This is probably the test that should be written, and there may be a real bug here.

- Generally it&apos;s an anti-pattern to have a RefCounted object that is held in a collection in another object that removes itself when it&apos;s destroyed. That&apos;s because whether the object should be iterated or not shouldn&apos;t really be decided by whether it happens to have been destroyed or not. I can&apos;t see any practical problem with this, but if we could think of what might go wrong we&apos;d write that kind of test.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642620</commentid>
    <comment_count>20</comment_count>
      <attachid>396083</attachid>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-04-17 03:02:36 -0700</bug_when>
    <thetext>Comment on attachment 396083
Patch

Sounds like everyone is ok to land this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642624</commentid>
    <comment_count>21</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2020-04-17 03:16:40 -0700</bug_when>
    <thetext>Committed r260243: &lt;https://trac.webkit.org/changeset/260243&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 396083.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1642636</commentid>
    <comment_count>22</comment_count>
    <who name="Antti Koivisto">koivisto</who>
    <bug_when>2020-04-17 04:48:28 -0700</bug_when>
    <thetext>Thanks for the patch!</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1644094</commentid>
    <comment_count>23</comment_count>
    <who name="Alexey Shvayka">ashvayka</who>
    <bug_when>2020-04-21 16:55:45 -0700</bug_when>
    <thetext>(In reply to Darin Adler from comment #19)

I appreciate the detailed write-up, thank you!
I will make sure to update http/tests/xmlhttprequest/event-listener-gc.html as soon as I get better understanding of GC design.

MQL seems to be kept alive by an event listener, same with other browsers:

```
;(onchange =&gt; {
  mql = matchMedia(&quot;(min-width: 600px)&quot;)
  mql.onchange = onchange
})(() =&gt; console.log(&quot;mql.onchange&quot;))
```

&gt; - Generally it&apos;s an anti-pattern to have a RefCounted object that is held in
&gt; a collection in another object that removes itself when it&apos;s destroyed.

That is a great point, I will think through how we can decouple MediaQueryList from MediaQueryMatcher, or maybe set a flag in destructor and remove MQL from `matcher` during next evaluation round.

(In reply to Antti Koivisto from comment #22)
&gt; Thanks for the patch!

Thank you for reviewing &amp; landing this!</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>384151</attachid>
            <date>2019-11-22 07:31:00 -0800</date>
            <delta_ts>2020-01-09 05:16:02 -0800</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203288-20191122173059.patch</filename>
            <type>text/plain</type>
            <size>74956</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9XZWJDb3JlL0NoYW5nZUxvZwo9PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2Vi
Q29yZS9DaGFuZ2VMb2cJKHJldmlzaW9uIDI1Mjc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0NoYW5n
ZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDY0IEBACisyMDE5LTExLTIyICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlz
dCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICBJbml0aWFsbHksIENTU09NIFZpZXcgTW9kdWxlIHNwZWNpZmlj
YXRpb24gKGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDExL1dELWNzc29tLXZpZXctMjAxMTA4MDQv
I21lZGlhcXVlcnlsaXN0KQorICAgICAgICBoYWQgYSBjdXN0b20gY2FsbGJhY2sgbWVjaGFuaXNt
IHdpdGggYWRkTGlzdGVuZXIoKSBhbmQgcmVtb3ZlTGlzdGVuZXIoKSwgYW5kIHRoZSBjYWxsYmFj
ayB3YXMgaW52b2tlZCB3aXRoCisgICAgICAgIHRoZSBhc3NvY2lhdGVkIE1lZGlhUXVlcnlMaXN0
IGFzIGFyZ3VtZW50LgorCisgICAgICAgIE5vdyB0aGUgbm9ybWFsIGV2ZW50IG1lY2hhbmlzbSBp
cyB1c2VkIGluc3RlYWQ6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3NvbS12aWV3LTEvI21lZGlh
cXVlcnlsaXN0LgorICAgICAgICBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHRoZSBhZGRM
aXN0ZW5lcigpIGFuZCByZW1vdmVMaXN0ZW5lcigpIG1ldGhvZHMgYXJlIGJhc2ljYWxseSBhbGlh
c2VzIGZvcgorICAgICAgICBhZGRFdmVudExpc3RlbmVyKCkgYW5kIHJlbW92ZUV2ZW50TGlzdGVu
ZXIoKSwgcmVzcGVjdGl2ZWx5LCBhbmQgdGhlICJjaGFuZ2UiIGV2ZW50IG1hc3F1ZXJhZGVzIGFz
IGEgTWVkaWFRdWVyeUxpc3QuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzIG5ldyBl
dmVudCBtZWNoYW5pc20sIGFsaWduaW5nIFdlYktpdCB3aXRoIEJsaW5rIGFuZCBTcGlkZXJNb25r
ZXksIGFuZCBhbHNvIGZpeGVzCisgICAgICAgIGEgZmV3IG1pbm9yIHNwZWMgaW5jb21wYXRpYmls
aXRpZXM6IG1hbmRhdG9yeSBsaXN0ZW5lciBhcmd1bWVudCwgImhhbmRsZUV2ZW50IiBzdXBwb3J0
LCBhbmQgbGlzdGVuZXJzIGNhbGwgb3JkZXIuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4dDoK
KyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERl
cml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3VyY2Vz
Lm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29kZXBy
b2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFs
T2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JHZXR0ZXIpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6anNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25z
dHJ1Y3Rvcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RHbG9iYWxPYmpl
Y3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yU2V0dGVyKTogRGVsZXRlZC4K
KyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyQ29uc3RydWN0b3IpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDogUmVtb3ZlZC4KKyAg
ICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogY3NzL01lZGlhUXVl
cnlMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjpNZWRpYVF1ZXJ5
TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6Y3JlYXRlKToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0Ojp+TWVkaWFRdWVyeUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcik6CisgICAgICAgICogY3NzL01lZGlhUXVl
cnlMaXN0Lmg6CisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0LmlkbDoKKyAgICAgICAgKiBj
c3MvTWVkaWFRdWVyeUxpc3RFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6TWVk
aWFRdWVyeUxpc3RFdmVudDo6TWVkaWFRdWVyeUxpc3RFdmVudCk6CisgICAgICAgICogY3NzL01l
ZGlhUXVlcnlMaXN0RXZlbnQuaDogQWRkZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0
RXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
OiBSZW1vdmVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbDogUmVt
b3ZlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OmRvY3VtZW50RGVzdHJveWVkKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjphZGRNZWRpYVF1ZXJ5TGlzdCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3ZlTWVkaWFRdWVyeUxpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6Om1hdGNoTWVkaWEpOgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OmV2YWx1YXRlQWxsKToKKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUXVlcnlNYXRjaGVyOjphZGRMaXN0ZW5lcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3ZlTGlzdGVuZXIpOiBEZWxldGVkLgorICAgICAg
ICAqIGNzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVzLmlu
OgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAoV2ViQ29yZTo6RXZlbnRU
YXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldEZh
Y3RvcnkuaW46CisKIDIwMTktMTEtMjEgIFBlbmcgTGl1ICA8cGVuZy5saXU2QGFwcGxlLmNvbT4K
IAogICAgICAgICBJZ25vcmUgdGhlIHJlcXVlc3RzIHRvIGVudGVyL2V4aXQgdmlkZW8gZnVsbHNj
cmVlbi9waWN0dXJlLWluLXBpY3R1cmUgaWYgdGhlIHJlcXVlc3RpbmcgbW9kZSBpcyB0aGUgc2Ft
ZSBhcyB0aGUgY3VycmVudCBtb2RlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dAkocmV2aXNpb24g
MjUyNzU5KQorKysgU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkK
QEAgLTY1MSw3ICs2NTEsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNz
cy9Gb250RmFjZVNldC5pZGwKICAgICBjc3MvTWVkaWFMaXN0LmlkbAogICAgIGNzcy9NZWRpYVF1
ZXJ5TGlzdC5pZGwKLSAgICBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKKyAgICBjc3Mv
TWVkaWFRdWVyeUxpc3RFdmVudC5pZGwKICAgICBjc3MvU3R5bGVNZWRpYS5pZGwKICAgICBjc3Mv
U3R5bGVTaGVldC5pZGwKICAgICBjc3MvU3R5bGVTaGVldExpc3QuaWRsCkluZGV4OiBTb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI1
Mjc1OSkKKysrIFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QJ
KHdvcmtpbmcgY29weSkKQEAgLTUyNCw3ICs1MjQsNyBAQCAkKFBST0pFQ1RfRElSKS9jc3MvRm9u
dEZhY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvRm9udEZhY2VTZXQuaWRsCiAkKFBST0pFQ1Rf
RElSKS9jc3MvTWVkaWFMaXN0LmlkbAogJChQUk9KRUNUX0RJUikvY3NzL01lZGlhUXVlcnlMaXN0
LmlkbAotJChQUk9KRUNUX0RJUikvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCiskKFBS
T0pFQ1RfRElSKS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL2Nz
cy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCiAkKFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1
ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCiAkKFBST0pFQ1RfRElSKS9jc3Mv
U2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgpJbmRleDogU291cmNlL1dlYkNvcmUvRGVy
aXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QJKHJldmlzaW9uIDI1Mjc1OSkKKysr
IFNvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CSh3b3JraW5n
IGNvcHkpCkBAIC0xMDIxLDggKzEwMjEsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZl
ZFNvdXJjZXMvV2ViCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhTGlzdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01lZGlhUXVlcnlMaXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCi0kKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUv
SlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5jcHAKICQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5oCiAk
KEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUmVjb3Jk
ZXJFcnJvckV2ZW50LmNwcApJbmRleDogU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCShyZXZp
c2lvbiAyNTI3NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCSh3b3Jr
aW5nIGNvcHkpCkBAIC01NTYsNyArNTU2LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQo
V2ViQ29yZSkvY3NzL0ZvbnRGYWNlU2V0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFM
aXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsIFwKLSAgICAk
KFdlYkNvcmUpL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbCBcCisgICAgJChXZWJDb3Jl
KS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL1N0eWxl
TWVkaWEuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9TdHlsZVNoZWV0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9jc3MvU3R5bGVTaGVldExpc3QuaWRsIFwKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL1Nv
dXJjZXMudHh0Cj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0CShyZXZp
c2lvbiAyNTI3NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAkod29ya2luZyBjb3B5
KQpAQCAtNzYyLDYgKzc2Miw3IEBAIGNzcy9NZWRpYVF1ZXJ5LmNwcAogY3NzL01lZGlhUXVlcnlF
dmFsdWF0b3IuY3BwCiBjc3MvTWVkaWFRdWVyeUV4cHJlc3Npb24uY3BwCiBjc3MvTWVkaWFRdWVy
eUxpc3QuY3BwCitjc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAKIGNzcy9NZWRpYVF1ZXJ5TWF0
Y2hlci5jcHAKIGNzcy9NZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5jcHAKIGNzcy9Qcm9wZXJ0eVNl
dENTU1N0eWxlRGVjbGFyYXRpb24uY3BwCkBAIC0zMDQ1LDcgKzMwNDYsNyBAQCBKU01lZGlhRW5j
b2RpbmdUeXBlLmNwcAogSlNNZWRpYUVycm9yLmNwcAogSlNNZWRpYUxpc3QuY3BwCiBKU01lZGlh
UXVlcnlMaXN0LmNwcAotSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorSlNNZWRpYVF1ZXJ5
TGlzdEV2ZW50LmNwcAogSlNNZWRpYVJlY29yZGVyLmNwcAogSlNNZWRpYVJlY29yZGVyRXJyb3JF
dmVudC5jcHAKIEpTTWVkaWFSZW1vdGVDb250cm9scy5jcHAKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvago9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
V2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oJKHJldmlzaW9uIDI1Mjc1
OSkKKysrIFNvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagko
d29ya2luZyBjb3B5KQpAQCAtMjIyMyw3ICsyMjIzLDYgQEAKIAkJN0M1MjIyOTkxRTFEQUUxQzAw
MkNCOEY3IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QzUyMjI5ODFFMURBRTE2MDAyQ0I4RjcgLyogQWN0aXZlRE9N
Q2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9
OwogCQk3QzUyMjI5RTFFMURBRTQ3MDAyQ0I4RjcgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M1MjIyOUMx
RTFEQUU0NzAwMkNCOEY3IC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzUyNjY5ODFGMUIwMzAyMDAw
RjA2OEIgLyogU3RyaW5nQWRhcHRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDdDNTI2Njk2MUYxQjAyRkMwMDBGMDY4QiAvKiBTdHJpbmdBZGFwdG9y
cy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdD
NTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBI
ZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTM0M0ZCMTdCNzRC
NjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLzsgfTsKIAkJN0M1N0JG
RTcxRURFMkY2MTAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RPcGVyYXRpb25zLmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzU3QkZFNjFFREUyRjVCMDA1
MzRBNDggLyogSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklC
VVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzVGMjhGQzFBODI3RDg0MDBDMEYzMUYgLyog
SFRNTEF0dGFjaG1lbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZp
bGU7IGZpbGVSZWYgPSA3QzVGMjhGQTFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFjaG1lbnRF
bGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
IAkJN0M2NTIyRUYxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTIyRUMxRTAw
QTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oICovOyB9OwpAQCAtMjQ2Niw2
ICsyNDY1LDcgQEAKIAkJODQzMDBCRDgxMjBDOUFENDAwMjE5NTRBIC8qIFNWR1BhdGhTb3VyY2Uu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0MzAwQkQ3
MTIwQzlBRDQwMDIxOTU0QSAvKiBTVkdQYXRoU291cmNlLmggKi87IH07CiAJCTg0NUU3MkY4MEZE
MjYxRUUwMEE4N0Q3OSAvKiBGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxk
RmlsZTsgZmlsZVJlZiA9IDg0NUU3MkY3MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0ZXIuaCAqLzsg
fTsKIAkJODQ1RTcyRkMwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ1RTcyRkEwRkQyNjIzOTAwQTg3
RDc5IC8qIFNWR0ZpbHRlci5oICovOyB9OworCQk4NDY1MEU3RTIzODdBRDdEMDA2MjY2RTIgLyog
TWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODQ2NTBFN0MyMzg3QUQ3QzAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZl
bnQuaCAqLzsgfTsKIAkJODQ3MzBENzcxMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3RhbnRMaWdodFNv
dXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3
MzBENUExMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3RhbnRMaWdodFNvdXJjZS5oICovOyB9OwogCQk4
NDczMEQ3OTEyNDhGMEIzMDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5oIGluIEhlYWRlcnMg
Ki8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3MzBENUMxMjQ4RjBCMzAwRDNB
OUM5IC8qIEZFQ29udm9sdmVNYXRyaXguaCAqLzsgfTsKIAkJODQ3MzBEN0IxMjQ4RjBCMzAwRDNB
OUM5IC8qIEZFRGlmZnVzZUxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA4NDczMEQ1RTEyNDhGMEIzMDBEM0E5QzkgLyogRkVEaWZmdXNlTGln
aHRpbmcuaCAqLzsgfTsKQEAgLTQyMzYsNyArNDIzNiw2IEBACiAJCUQzNTlENzhBMTI5Q0EyNzEw
MDA2RTVEMiAvKiBIVE1MRGV0YWlsc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzNTlENzg3MTI5Q0EyNzEwMDA2RTVEMiAvKiBIVE1MRGV0
YWlsc0VsZW1lbnQuaCAqLzsgfTsKIAkJRDM1OUQ4QkYxMjlDQTU1QzAwMDZFNUQyIC8qIEpTSFRN
TERldGFpbHNFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZp
bGVSZWYgPSBEMzU5RDhCRDEyOUNBNTVDMDAwNkU1RDIgLyogSlNIVE1MRGV0YWlsc0VsZW1lbnQu
aCAqLzsgfTsKIAkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0E5NEEzMjEy
MkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCAqLzsgfTsKLQkJRDNBOTRBM0IxMjJE
QUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQTk0QTM0MTIyREFCQUMwMEEzN0JCQyAv
KiBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggKi87IH07CiAJCUQzQTk0QTQ3MTIyREM0MEYwMEEz
N0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBEM0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5
TGlzdC5oICovOyB9OwogCQlEM0FBMTBGNDEyM0E5OEFBMDA5MjE1MkIgLyogTWVkaWFRdWVyeU1h
dGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQz
QUExMEYyMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oICovOyB9OwogCQlE
M0Q0RTk3MzEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50LmggaW4gSGVhZGVy
cyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0Q0RTk3MTEzMEM3Q0ZFMDA3
QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMg
PSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk4MDAsOCArOTc5OSw2IEBACiAJCTdDNTIyRDQ5MTVC
NDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rvck92ZXJsYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxn
cm91cD4iOyB9OwogCQk3QzUyMkQ0QTE1QjQ3OEIyMDA5QjdDOTUgLyogSW5zcGVjdG9yT3Zlcmxh
eS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JPdmVybGF5Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNTI2Njk2MUYxQjAyRkMwMDBGMDY4QiAv
KiBTdHJpbmdBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJp
bmdBZGFwdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QzUzNDNGQTE3Qjc0
QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNTM0M0ZCMTdCNzRCNjMwMDQyMzJGMCAvKiBK
U01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmg7IHBh
dGggPSBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0M1N0JGRTYxRURFMkY1QjAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RPcGVyYXRpb25z
LmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQWJzdHJhY3RPcGVyYXRp
b25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNUJFQTNBMUU5RUU3NzEwMEND
NTE3QiAvKiBOYXZpZ2F0b3JJRC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9y
SUQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzVCRUEzQjFFOUVFNzcxMDBD
QzUxN0IgLyogTmF2aWdhdG9yTGFuZ3VhZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5h
dmlnYXRvckxhbmd1YWdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwMzAx
LDYgKzEwMjk4LDkgQEAKIAkJODQ1RTcyRjcwRkQyNjFFRTAwQTg3RDc5IC8qIEZpbHRlci5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJODQ1RTcyRjkwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5jcHAg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdGaWx0ZXIuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDVFNzJGQTBGRDI2MjM5MDBBODdENzkgLyogU1ZH
RmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0ZpbHRlci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU3QzIzODdBRDdDMDA2MjY2RTIgLyog
TWVkaWFRdWVyeUxpc3RFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBN
ZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg0NjUw
RTdGMjM4N0FEOEEwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0RXZlbnQuY3BwOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU4MDIzODdBRDhCMDA2MjY2RTIgLyogTWVk
aWFRdWVyeUxpc3RFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFRdWVyeUxp
c3RFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NzMwRDVBMTI0OEYw
QjMwMEQzQTlDOSAvKiBEaXN0YW50TGlnaHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gRGlzdGFudExpZ2h0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg0NzMwRDVCMTI0OEYwQjMwMEQzQTlDOSAvKiBGRUNvbnZvbHZlTWF0cml4LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZFQ29udm9sdmVNYXRyaXguY3Bw
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDczMEQ1QzEyNDhGMEIzMDBEM0E5Qzkg
LyogRkVDb252b2x2ZU1hdHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBG
RUNvbnZvbHZlTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDMyOSw4
ICsxNDMyOSw2IEBACiAJCUQzQTk0QTMxMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlz
dC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5TGlz
dC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0QTMyMTIyREFCQUMwMEEz
N0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBNZWRpYVF1ZXJ5TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0E5NEEz
MzEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE1lZGlhUXVlcnlMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJ
RDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEM0E5NEEzNTEyMkRBQkFDMDBBMzdCQkMgLyog
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsg
ZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0
QTQyMTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmNwcCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3QuY3BwOyBzb3VyY2VUcmVl
ID0gIjxncm91cD4iOyB9OwogCQlEM0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1
ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhUXVlcnlM
aXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQUExMEYxMTIzQTk4QUEwMDky
MTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5j
cHA7IHBhdGggPSBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0yMzc4NCw4ICsyMzc4Miw2IEBACiAJCQkJQkMzQzM5QjUwQzBEM0Q4RDAwNUY0RDdB
IC8qIEpTTWVkaWFMaXN0LmggKi8sCiAJCQkJRDNBOTRBNDIxMjJEQzQwRjAwQTM3QkJDIC8qIEpT
TWVkaWFRdWVyeUxpc3QuY3BwICovLAogCQkJCUQzQTk0QTQzMTIyREM0MEYwMEEzN0JCQyAvKiBK
U01lZGlhUXVlcnlMaXN0LmggKi8sCi0JCQkJN0M1MzQzRkExN0I3NEI2MzAwNDIzMkYwIC8qIEpT
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgKi8sCi0JCQkJN0M1MzQzRkIxN0I3NEI2MzAwNDIz
MkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oICovLAogCQkJCTBGRjUwMjY3MTAyQkE5
NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuY3BwICovLAogCQkJCTBGRjUwMjY4MTAyQkE5NDMw
MDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCAqLywKIAkJCQlCQ0UwMTM5ODBDMEJFRjE4MDA0Mzg2
MEEgLyogSlNTdHlsZVNoZWV0LmNwcCAqLywKQEAgLTI3NDQxLDggKzI3NDM3LDkgQEAKIAkJCQlE
M0E5NEEzMTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuY3BwICovLAogCQkJCUQz
QTk0QTMyMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovLAogCQkJCUQzQTk0
QTMzMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5pZGwgKi8sCi0JCQkJRDNBOTRB
MzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLywKLQkJCQlE
M0E5NEEzNTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgKi8s
CisJCQkJODQ2NTBFN0YyMzg3QUQ4QTAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuY3Bw
ICovLAorCQkJCTg0NjUwRTdDMjM4N0FEN0MwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50
LmggKi8sCisJCQkJODQ2NTBFODAyMzg3QUQ4QjAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZl
bnQuaWRsICovLAogCQkJCUQzQUExMEYxMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0
Y2hlci5jcHAgKi8sCiAJCQkJRDNBQTEwRjIxMjNBOThBQTAwOTIxNTJCIC8qIE1lZGlhUXVlcnlN
YXRjaGVyLmggKi8sCiAJCQkJNDQ3MTcxMEIyMDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQ
YXJzZXJDb250ZXh0LmNwcCAqLywKQEAgLTMwNjgxLDcgKzMwNjc4LDYgQEAKIAkJCQlCQzNDMzlC
NzBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkz
RDQzN0EzMUQ1N0I3RTIwMEFCODVFQSAvKiBKU01lZGlhTGlzdEN1c3RvbS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJRDNBOTRBNDcxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuaCBp
biBIZWFkZXJzICovLAotCQkJCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEOURFMTc1MTdBQUM3NEMwMEVB
Mzg2RCAvKiBKU01lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3N0U0RDE3RDAx
OENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcyNzdF
NEYxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5o
IGluIEhlYWRlcnMgKi8sCkBAIC0zMTI5NSw3ICszMTI5MSw3IEBACiAJCQkJNEUxOTU5MkMwQTM5
REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJ
CTdDQjVDQTQwMUU1MjVDNzMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0
LmggaW4gSGVhZGVycyAqLywKLQkJCQlEM0E5NEEzQjEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODQ2NTBFN0UyMzg3QUQ3RDAw
NjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQUEx
MEY0MTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oIGluIEhlYWRlcnMgKi8s
CiAJCQkJOTQ5M0I2QzExRDc0QjQxMjAwODhFNzgwIC8qIE1lZGlhUXVlcnlQYXJzZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTQ0NzE3MTBFMjA1QUY5NDUwMDBBMTE2RSAvKiBNZWRpYVF1ZXJ5UGFy
c2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5n
cy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
YmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCShyZXZpc2lvbiAyNTI3NTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgJKHdvcmtpbmcg
Y29weSkKQEAgLTE0Nyw2ICsxNDcsNyBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAgICAgbWFjcm8o
TWVkaWFLZXlTdGF0dXNNYXApIFwKICAgICBtYWNybyhNZWRpYUtleVN5c3RlbUFjY2VzcykgXAog
ICAgIG1hY3JvKE1lZGlhS2V5cykgXAorICAgIG1hY3JvKE1lZGlhUXVlcnlMaXN0RXZlbnQpIFwK
ICAgICBtYWNybyhNZWRpYVJlY29yZGVyKSBcCiAgICAgbWFjcm8oTWVkaWFSZWNvcmRlckVycm9y
RXZlbnQpIFwKICAgICBtYWNybyhNZWRpYVNvdXJjZSkgXApJbmRleDogU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbAo9PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuaWRsCShyZXZpc2lvbiAyNTI3NTkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCShu
b25leGlzdGVudCkKQEAgLTEsMzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBO
b2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBSZWRp
c3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdp
dGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBm
b2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBv
ZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3Rp
Y2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIu
Ci0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhl
IGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBh
bmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBh
bmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAq
Ci0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFO
RCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBO
T1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklM
SVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlN
RUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUg
TElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAq
IEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1Qg
TElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklD
RVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJS
VVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9G
IFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9T
U0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotLy8gVGhpcyBJREwgZmlsZSBpcyBmb3Ig
dGVzdGluZyB0aGUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3Igd2l0aCBhbiBpbnRlcmZhY2UKLS8v
IHRoYXQgaGFzIG1ldGhvZHMgcmVjZWl2aW5nIGEgcGFyYW1ldGVyIG9mIHRoZSB0eXBlIE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuCi1pbnRlcmZhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIg
ewotICAgIHZvaWQgbWV0aG9kKE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgbGlzdGVuZXIpOwotfTsK
SW5kZXg6IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuY3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCShyZXZpc2lvbiAyNTI3NTkpCisrKyBT
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtNTMsNyArNTMsNiBAQAogI2luY2x1ZGUgIkpTVGVzdEl0
ZXJhYmxlLmgiCiAjaW5jbHVkZSAiSlNUZXN0SlNCdWlsdGluQ29uc3RydWN0b3IuaCIKICNpbmNs
dWRlICJKU1Rlc3RNYXBMaWtlLmgiCi0jaW5jbHVkZSAiSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5oIgogI2luY2x1ZGUgIkpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ci5oIgogI2luY2x1ZGUgIkpTVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0
aW9uLmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZp
ZXIuaCIKQEAgLTIwNCw4ICsyMDMsNiBAQCBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEdsb2Jh
bE9iamVjdFRlCiBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1
Y3RvckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVl
LCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFs
T2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RHbG9iYWxP
YmplY3RUZXN0TWFwTGlrZUNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVu
Y29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUg
anNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihK
U0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5h
bWUpOwotYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBK
U0M6OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2Jq
ZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7
CiBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lk
ZW50aWZpZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNW
YWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEds
b2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0
cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlBy
b3BlcnR5TmFtZSk7CkBAIC0yOTMsMTEgKzI5MCwxMSBAQCB1c2luZyBKU1Rlc3RHbG9iYWxPYmpl
Y3RDb25zdHJ1Y3RvciA9IEpTCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRl
eCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwK
LSAgICB7IDM3LCAtMSB9LAorICAgIHsgMzYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDAsIC0xIH0sCiAgICAgeyA0LCAyNjIgfSwKLSAgICB7IDQxLCAtMSB9LAorICAgIHsgNDAsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBA
IC0zMDUsNyArMzAyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpT
VAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAg
IHsgNTAsIC0xIH0sCisgICAgeyA0OSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTMxMyw3ICszMTAsNyBAQCBzdGF0aWMgY29uc3Qg
c3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2MSwgLTEgfSwKKyAgICB7IDYwLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzI3
LDEzICszMjQsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsg
MzEsIC0xIH0sCisgICAgeyAzMCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyA2NCwgLTEgfSwKKyAgICB7IDYzLCAtMSB9LAogICAgIHsgOSwgMjU4IH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzQyLDcgKzMzOSw3IEBAIHN0YXRpYyBjb25z
dCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1QKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDM1LCAtMSB9LAorICAgIHsgMzQsIC0xIH0s
CiAgICAgeyAxNiwgMjYzIH0sCiAgICAgeyA2LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0z
NTUsNyArMzUyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsg
MzMsIC0xIH0sCisgICAgeyAzMiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM4NiwyOCArMzgzLDI4IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1QKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMjAsIDI1
NiB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1NiwgLTEgfSwKKyAgICB7IDU1LCAtMSB9LAog
ICAgIHsgMTUsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsg
NDMsIC0xIH0sCisgICAgeyA0MiwgLTEgfSwKICAgICB7IDE0LCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyAzMiwgLTEgfSwKKyAgICB7IDMxLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNDcsIC0xIH0sCisgICAgeyA0NiwgLTEgfSwKICAg
ICB7IDIxLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAyLCAtMSB9LAotICAgIHsgMzQs
IC0xIH0sCisgICAgeyAzMywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKQEAgLTQxNywxNiArNDE0LDE2IEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1QKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDU0LCAtMSB9LAorICAgIHsgNTMsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMjgsIC0xIH0sCi0gICAgeyAyNCwgLTEgfSwK
KyAgICB7IDI3LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzOSwgLTEgfSwKKyAgICB7
IC0xLCAtMSB9LAorICAgIHsgMzgsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC00NTAsMTIgKzQ0NywxMiBAQCBzdGF0aWMgY29uc3Qg
c3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2MiwgLTEgfSwKKyAgICB7IDYxLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsg
MjksIC0xIH0sCi0gICAgeyAyNiwgMjYxIH0sCisgICAgeyAyOCwgLTEgfSwKKyAgICB7IDI1LCAy
NjEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
QEAgLTQ2Nyw3ICs0NjQsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXgg
SlNUCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDEyLCAyNTcgfSwKICAgICB7IC0xLCAtMSB9LAot
ICAgIHsgNTcsIC0xIH0sCisgICAgeyA1NiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTQ3NiwxNyArNDczLDE3IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1QKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDMwLCAyNjUgfSwKKyAgICB7IDI5LCAy
NjUgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMTMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
LSAgICB7IDYwLCAtMSB9LAorICAgIHsgNTksIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgNDUsIC0xIH0sCisgICAgeyA0NCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTQ5OSw3ICs0OTYsNyBAQCBzdGF0
aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1MiwgLTEgfSwKKyAgICB7IDUx
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LApAQCAtNTIxLDEyICs1MTgsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaElu
ZGV4IEpTVAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAotICAgIHsgNDYsIC0xIH0sCisgICAgeyA0NSwgLTEgfSwKICAgICB7IDcsIDI2MCB9LAogICAg
IHsgLTEsIC0xIH0sCi0gICAgeyA1OCwgLTEgfSwKKyAgICB7IDU3LCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCi0gICAgeyA0NCwgLTEgfSwKKyAgICB7IDQzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtNTM2LDI4ICs1MzMsMjggQEAg
c3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVAogICAgIHsgMjIsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMjUsIC0xIH0sCisgICAg
eyAyNCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0Miwg
LTEgfSwKKyAgICB7IDQxLCAtMSB9LAogICAgIHsgMywgLTEgfSwKLSAgICB7IDQ4LCAtMSB9LAor
ICAgIHsgNDcsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ5LCAtMSB9LAorICAgIHsg
NDgsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDIzLCAyNTkgfSwKLSAgICB7IDI3LCAtMSB9LAot
ICAgIHsgMzYsIC0xIH0sCi0gICAgeyAzOCwgLTEgfSwKLSAgICB7IDQwLCAtMSB9LAotICAgIHsg
NTEsIC0xIH0sCi0gICAgeyA1MywgLTEgfSwKLSAgICB7IDU1LCAtMSB9LAotICAgIHsgNTksIC0x
IH0sCi0gICAgeyA2MywgLTEgfSwKKyAgICB7IDI2LCAtMSB9LAorICAgIHsgMzUsIC0xIH0sCisg
ICAgeyAzNywgLTEgfSwKKyAgICB7IDM5LCAtMSB9LAorICAgIHsgNTAsIC0xIH0sCisgICAgeyA1
MiwgLTEgfSwKKyAgICB7IDU0LCAtMSB9LAorICAgIHsgNTgsIC0xIH0sCisgICAgeyA2MiwgLTEg
fSwKIH07CiAKIApAQCAtNTk5LDcgKzU5Niw2IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1
ZSBKU1Rlc3RHbG9iYWwKICAgICB7ICJUZXN0SXRlcmFibGUiLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2Jh
bE9iamVjdFRlc3RJdGVyYWJsZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQ
dXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdEl0
ZXJhYmxlQ29uc3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0SlNCdWlsdGluQ29uc3RydWN0b3Ii
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRW
YWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0
cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3Ry
dWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TWFwTGlrZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2Jq
ZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJv
cGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNYXBMaWtl
Q29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1
Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1
bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3Ry
dWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9J
ZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5
U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9i
amVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9y
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhj
ZXB0aW9uQ29uc3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
V2l0aElkZW50aWZpZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJv
cGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNf
Y2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpIH0gfSwK
QEAgLTY0Niw3ICs2NDIsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0R2xv
YmFsCiAgICAgeyAicmVndWxhck9wZXJhdGlvbiIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6
OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClz
dGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0R2xvYmFsT2JqZWN0SW5zdGFuY2VG
dW5jdGlvblJlZ3VsYXJPcGVyYXRpb24pLCAoaW50cHRyX3QpICgxKSB9IH0sCiB9OwogCi1zdGF0
aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlID0geyA2NSwgMjU1LCB0
cnVlLCBKU1Rlc3RHbG9iYWxPYmplY3Q6OmluZm8oKSwgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVW
YWx1ZXMsIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXggfTsKK3N0YXRpYyBjb25zdCBIYXNo
VGFibGUgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGUgPSB7IDY0LCAyNTUsIHRydWUsIEpTVGVzdEds
b2JhbE9iamVjdDo6aW5mbygpLCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZVZhbHVlcywgSlNUZXN0
R2xvYmFsT2JqZWN0VGFibGVJbmRleCB9OwogLyogSGFzaCB0YWJsZSBmb3IgY29uc3RydWN0b3Ig
Ki8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEdsb2JhbE9iamVjdENvbnN0
cnVjdG9yVGFibGVWYWx1ZXNbXSA9CkBAIC0xNDkyLDMxICsxNDg4LDYgQEAgYm9vbCBzZXRKU1Rl
c3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNvbgogICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNU
ZXN0R2xvYmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNYXBMaWtlQ29u
c3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsIGVuY29kZWRW
YWx1ZSwgIlRlc3RNYXBMaWtlIik7CiB9CiAKLXN0YXRpYyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RH
bG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yR2V0dGVyKEpT
R2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRo
aXNPYmplY3QsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHRo
cm93U2NvcGUpOwotICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBy
ZXR1cm4gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpn
ZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIHRoaXNPYmplY3QuZ2xvYmFsT2JqZWN0KCkpOwot
fQotCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKLXsKLSAgICByZXR1cm4gSURM
QXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OmdldDxqc1Rlc3RHbG9iYWxPYmplY3RUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yR2V0dGVyPigqbGV4aWNhbEdsb2JhbE9i
amVjdCwgdGhpc1ZhbHVlLCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiKTsKLX0KLQotc3Rh
dGljIGlubGluZSBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQ29uc3RydWN0b3JTZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmpl
Y3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgSlNWYWx1ZSB2YWx1ZSwgVGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVj
dCk7Ci0gICAgVk0mIHZtID0gdGhyb3dTY29wZS52bSgpOwotICAgIC8vIFNoYWRvd2luZyBhIGJ1
aWx0LWluIGNvbnN0cnVjdG9yLgotICAgIHJldHVybiB0aGlzT2JqZWN0LnB1dERpcmVjdCh2bSwg
SWRlbnRpZmllcjo6ZnJvbVN0cmluZyh2bSwgcmVpbnRlcnByZXRfY2FzdDxjb25zdCBMQ2hhcio+
KCJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIpLCBzdHJsZW4oIlRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyIikpLCB2YWx1ZSk7Ci19Ci0KLWJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBl
bmNvZGVkVmFsdWUpCi17Ci0gICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmpl
Y3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJD
b25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2Rl
ZFZhbHVlLCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiKTsKLX0KLQogc3RhdGljIGlubGlu
ZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lk
ZW50aWZpZXJDb25zdHJ1Y3RvckdldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBUaHJvd1Njb3BlJiB0aHJvd1Nj
b3BlKQogewogICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKSW5kZXg6IFNvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAJKHJldmlzaW9uIDI1Mjc1OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmNwcAkobm9uZXhpc3RlbnQpCkBAIC0xLDI2NSArMCwwIEBACi0vKgotICAg
IFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAg
ICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBE
TyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBj
YW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNo
ZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAy
IG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgot
Ci0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2ls
bCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4g
dGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBG
T1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0KLSNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIK
LSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90
Q29uc3RydWN0YWJsZS5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVydENhbGxiYWNrcy5oIgotI2lu
Y2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUdsb2JhbE9i
amVjdC5oIgotI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCi0jaW5jbHVkZSAiSlNET01XcmFw
cGVyQ2FjaGUuaCIKLSNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKLSNpbmNs
dWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
RnVuY3Rpb25Qcm90b3R5cGUuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9IZWFwQW5hbHl6
ZXIuaD4KLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9KU0NJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8
d3RmL0dldFB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+Ci0jaW5j
bHVkZSA8d3RmL1VSTC5oPgotCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFj
ZSBKU0M7Ci0KLS8vIEZ1bmN0aW9ucwotCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NB
TEwganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwotCi0vLyBBdHRyaWJ1dGVzCi0K
LUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVj
dG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3Bl
cnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rv
cihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSk7Ci0KLWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUg
OiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNl
ID0gSlNDOjpKU05vbkZpbmFsT2JqZWN0OwotICAgIHN0YXRpYyBKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyUHJvdG90eXBlKiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0
KiBnbG9iYWxPYmplY3QsIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgewotICAgICAg
ICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKiBwdHIgPSBuZXcgKE5vdE51
bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5
cGU+KHZtLmhlYXApKSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKHZtLCBn
bG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Ci0gICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0p
OwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQotICAgIERFQ0xBUkVfSU5GTzsKLSAgICBz
dGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyUHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlND
OjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICAgICAgOiBKU0M6OkpTTm9uRmluYWxPYmplY3Qo
dm0sIHN0cnVjdHVyZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihK
U0M6OlZNJik7Ci19OwotCi11c2luZyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3Ry
dWN0b3IgPSBKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZTxKU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyPjsKLQotdGVtcGxhdGU8PiBKU1ZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6cHJvdG90eXBlRm9yU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBj
b25zdCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIFVOVVNFRF9QQVJB
TSh2bSk7Ci0gICAgcmV0dXJuIGdsb2JhbE9iamVjdC5mdW5jdGlvblByb3RvdHlwZSgpOwotfQot
Ci10ZW1wbGF0ZTw+IHZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9y
Ojppbml0aWFsaXplUHJvcGVydGllcyhWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCi17Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5wcm90b3R5cGUs
IEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OnByb3RvdHlwZSh2bSwgZ2xvYmFsT2JqZWN0
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udERlbGV0ZSB8IEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pOwotICAg
IHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bmFtZSwganNOb250cml2aWFsU3RyaW5n
KHZtLCBTdHJpbmcoIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIl9zKSksIEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0p
OwotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+bGVuZ3RoLCBqc051bWJlcigw
KSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpEb250RW51bSk7Ci19Ci0KLXRlbXBsYXRlPD4gY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6c19pbmZvID0geyAiVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVf
TUVUSE9EX1RBQkxFKEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcikgfTsK
LQotLyogSGFzaCB0YWJsZSBmb3IgcHJvdG90eXBlICovCi0KLXN0YXRpYyBjb25zdCBIYXNoVGFi
bGVWYWx1ZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlVGFibGVWYWx1ZXNb
XSA9Ci17Ci0gICAgeyAiY29uc3RydWN0b3IiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3Rh
dGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlT
bG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1
Y3RvcikgfSB9LAotICAgIHsgIm1ldGhvZCIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclBy
b3RvdHlwZUZ1bmN0aW9uTWV0aG9kKSwgKGludHB0cl90KSAoMSkgfSB9LAotfTsKLQotY29uc3Qg
Q2xhc3NJbmZvIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGU6OnNfaW5mbyA9
IHsgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlIiwgJkJhc2U6OnNfaW5mbywg
bnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyUHJvdG90eXBlKSB9OwotCi12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXJQcm90b3R5cGU6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hD
cmVhdGlvbih2bSk7Ci0gICAgcmVpZnlTdGF0aWNQcm9wZXJ0aWVzKHZtLCBKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyOjppbmZvKCksIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90
b3R5cGVUYWJsZVZhbHVlcywgKnRoaXMpOwotfQotCi1jb25zdCBDbGFzc0luZm8gSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lcjo6c19pbmZvID0geyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxF
KEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIpIH07Ci0KLUpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI6OkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoU3RydWN0dXJlKiBzdHJ1Y3R1
cmUsIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcj4mJiBpbXBsKQotICAgIDogSlNET01XcmFwcGVyPFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPihzdHJ1Y3R1cmUsIGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSkKLXsKLX0K
LQotdm9pZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpmaW5pc2hDcmVhdGlvbihWTSYg
dm0pCi17Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwotICAgIEFTU0VSVChpbmhlcml0
cyh2bSwgaW5mbygpKSk7Ci0KLSAgICBzdGF0aWNfYXNzZXJ0KCFzdGQ6OmlzX2Jhc2Vfb2Y8QWN0
aXZlRE9NT2JqZWN0LCBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj46OnZhbHVlLCAiSW50ZXJm
YWNlIGlzIG5vdCBtYXJrZWQgYXMgW0FjdGl2ZURPTU9iamVjdF0gZXZlbiB0aG91Z2ggaW1wbGVt
ZW50YXRpb24gY2xhc3Mgc3ViY2xhc3NlcyBBY3RpdmVET01PYmplY3QuIik7Ci0KLX0KLQotSlNP
YmplY3QqIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmNyZWF0ZVByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcmV0dXJuIEpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGU6OmNyZWF0ZSh2bSwgJmdsb2JhbE9iamVj
dCwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6Y3JlYXRlU3RydWN0dXJl
KHZtLCAmZ2xvYmFsT2JqZWN0LCBnbG9iYWxPYmplY3Qub2JqZWN0UHJvdG90eXBlKCkpKTsKLX0K
LQotSlNPYmplY3QqIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OnByb3RvdHlwZShWTSYg
dm0sIEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgcmV0dXJuIGdldERP
TVByb3RvdHlwZTxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPih2bSwgZ2xvYmFsT2JqZWN0
KTsKLX0KLQotSlNWYWx1ZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRDb25zdHJ1
Y3RvcihWTSYgdm0sIGNvbnN0IEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QpCi17Ci0gICAg
cmV0dXJuIGdldERPTUNvbnN0cnVjdG9yPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25z
dHJ1Y3Rvcj4odm0sICpqc0Nhc3Q8Y29uc3QgSlNET01HbG9iYWxPYmplY3QqPihnbG9iYWxPYmpl
Y3QpKTsKLX0KLQotdm9pZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpkZXN0cm95KEpT
Qzo6SlNDZWxsKiBjZWxsKQotewotICAgIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHRo
aXNPYmplY3QgPSBzdGF0aWNfY2FzdDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKj4oY2Vs
bCk7Ci0gICAgdGhpc09iamVjdC0+SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6fkpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoKTsKLX0KLQotdGVtcGxhdGU8PiBpbmxpbmUgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogSURMT3BlcmF0aW9uPEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+OjpjYXN0KEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxs
RnJhbWUmIGNhbGxGcmFtZSkKLXsKLSAgICByZXR1cm4ganNEeW5hbWljQ2FzdDxKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyKj4oSlNDOjpnZXRWTSgmbGV4aWNhbEdsb2JhbE9iamVjdCksIGNh
bGxGcmFtZS50aGlzVmFsdWUoKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIGpzVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCi17Ci0gICAgVk0m
IHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBhdXRvIHRocm93U2Nv
cGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBhdXRvKiBwcm90b3R5cGUgPSBqc0R5
bmFtaWNDYXN0PEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUqPih2bSwgSlNW
YWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwotICAgIGlmIChVTkxJS0VMWSghcHJvdG90eXBlKSkK
LSAgICAgICAgcmV0dXJuIHRocm93Vk1UeXBlRXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCwgdGhy
b3dTY29wZSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3Qp
LCBwcm90b3R5cGUtPmdsb2JhbE9iamVjdCgpKSk7Ci19Ci0KLWJvb2wgc2V0SlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFs
T2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRW
YWx1ZSkKLXsKLSAgICBWTSYgdm0gPSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwot
ICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8q
IHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclBy
b3RvdHlwZSo+KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKFVOTElL
RUxZKCFwcm90b3R5cGUpKSB7Ci0gICAgICAgIHRocm93Vk1UeXBlRXJyb3IobGV4aWNhbEdsb2Jh
bE9iamVjdCwgdGhyb3dTY29wZSk7Ci0gICAgICAgIHJldHVybiBmYWxzZTsKLSAgICB9Ci0gICAg
Ly8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IKLSAgICByZXR1cm4gcHJvdG90eXBl
LT5wdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmNvbnN0cnVjdG9yLCBKU1ZhbHVlOjpk
ZWNvZGUoZW5jb2RlZFZhbHVlKSk7Ci19Ci0KLXN0YXRpYyBpbmxpbmUgSlNDOjpFbmNvZGVkSlNW
YWx1ZSBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2RC
b2R5KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTQzo6Q2FsbEZy
YW1lKiBjYWxsRnJhbWUsIHR5cGVuYW1lIElETE9wZXJhdGlvbjxKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPjo6Q2xhc3NQYXJhbWV0ZXIgY2FzdGVkVGhpcywgSlNDOjpUaHJvd1Njb3BlJiB0
aHJvd1Njb3BlKQotewotICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAg
ICBVTlVTRURfUEFSQU0oY2FsbEZyYW1lKTsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7
Ci0gICAgYXV0byYgaW1wbCA9IGNhc3RlZFRoaXMtPndyYXBwZWQoKTsKLSAgICBpZiAoVU5MSUtF
TFkoY2FsbEZyYW1lLT5hcmd1bWVudENvdW50KCkgPCAxKSkKLSAgICAgICAgcmV0dXJuIHRocm93
Vk1FcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlLCBjcmVhdGVOb3RFbm91Z2hB
cmd1bWVudHNFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0KSk7Ci0gICAgYXV0byBsaXN0ZW5lciA9
IGNvbnZlcnQ8SURMQ2FsbGJhY2tGdW5jdGlvbjxKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXI+Pigq
bGV4aWNhbEdsb2JhbE9iamVjdCwgY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKSwgKmNh
c3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0
QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAibGlzdGVuZXIi
LCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiLCAibWV0aG9kIik7IH0pOwotICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Ci0gICAgaW1wbC5t
ZXRob2QobGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2QoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQotewot
ICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj46OmNh
bGw8anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kQm9k
eT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJtZXRob2QiKTsKLX0KLQotdm9p
ZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjphbmFseXplSGVhcChKU0NlbGwqIGNlbGws
IEhlYXBBbmFseXplciYgYW5hbHl6ZXIpCi17Ci0gICAgYXV0byogdGhpc09iamVjdCA9IGpzQ2Fz
dDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKj4oY2VsbCk7Ci0gICAgYW5hbHl6ZXIuc2V0
V3JhcHBlZE9iamVjdEZvckNlbGwoY2VsbCwgJnRoaXNPYmplY3QtPndyYXBwZWQoKSk7Ci0gICAg
aWYgKHRoaXNPYmplY3QtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSkKLSAgICAgICAgYW5hbHl6
ZXIuc2V0TGFiZWxGb3JDZWxsKGNlbGwsICJ1cmwgIiArIHRoaXNPYmplY3QtPnNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKS0+dXJsKCkuc3RyaW5nKCkpOwotICAgIEJhc2U6OmFuYWx5emVIZWFwKGNl
bGwsIGFuYWx5emVyKTsKLX0KLQotYm9vbCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyT3du
ZXI6OmlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4g
aGFuZGxlLCB2b2lkKiwgU2xvdFZpc2l0b3ImIHZpc2l0b3IsIGNvbnN0IGNoYXIqKiByZWFzb24p
Ci17Ci0gICAgVU5VU0VEX1BBUkFNKGhhbmRsZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHZpc2l0b3Ip
OwotICAgIFVOVVNFRF9QQVJBTShyZWFzb24pOwotICAgIHJldHVybiBmYWxzZTsKLX0KLQotdm9p
ZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyT3duZXI6OmZpbmFsaXplKEpTQzo6SGFuZGxl
PEpTQzo6VW5rbm93bj4gaGFuZGxlLCB2b2lkKiBjb250ZXh0KQotewotICAgIGF1dG8qIGpzVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgPSBzdGF0aWNfY2FzdDxKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyKj4oaGFuZGxlLnNsb3QoKS0+YXNDZWxsKCkpOwotICAgIGF1dG8mIHdvcmxkID0g
KnN0YXRpY19jYXN0PERPTVdyYXBwZXJXb3JsZCo+KGNvbnRleHQpOwotICAgIHVuY2FjaGVXcmFw
cGVyKHdvcmxkLCAmanNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci0+d3JhcHBlZCgpLCBqc1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsKLX0KLQotI2lmIEVOQUJMRShCSU5ESU5HX0lOVEVH
UklUWSkKLSNpZiBQTEFURk9STShXSU4pCi0jcHJhZ21hIHdhcm5pbmcoZGlzYWJsZTogNDQ4MykK
LWV4dGVybiAiQyIgeyBleHRlcm4gdm9pZCAoKmNvbnN0IF9faWRlbnRpZmllcigiPz9fN1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQFdlYkNvcmVAQDZCQCIpW10pKCk7IH0KLSNlbHNlCi1leHRl
cm4gIkMiIHsgZXh0ZXJuIHZvaWQqIF9aVFZON1dlYkNvcmUyNlRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyRVtdOyB9Ci0jZW5kaWYKLSNlbmRpZgotCi1KU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3Jl
YXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVj
dCwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmIGltcGwpCi17Ci0KLSNpZiBFTkFC
TEUoQklORElOR19JTlRFR1JJVFkpCi0gICAgdm9pZCogYWN0dWFsVlRhYmxlUG9pbnRlciA9ICoo
cmVpbnRlcnByZXRfY2FzdDx2b2lkKio+KGltcGwucHRyKCkpKTsKLSNpZiBQTEFURk9STShXSU4p
Ci0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lO
VEVSX0ZPUl9JTlNQRUNUSU9OKF9faWRlbnRpZmllcigiPz9fN1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQFdlYkNvcmVAQDZCQCIpKTsKLSNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQ
b2ludGVyID0gV1RGX1BSRVBBUkVfVlRCTF9QT0lOVEVSX0ZPUl9JTlNQRUNUSU9OKCZfWlRWTjdX
ZWJDb3JlMjZUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckVbMl0pOwotI2VuZGlmCi0KLSAgICAv
LyBJZiB0aGlzIGZhaWxzIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGRvZXMgbm90IGhhdmUg
YSB2dGFibGUsIHNvIHlvdSBuZWVkIHRvIGFkZCB0aGUKLSAgICAvLyBJbXBsZW1lbnRhdGlvbkxh
Y2tzVlRhYmxlIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIGRlZmluaXRpb24KLSAgICBzdGF0
aWNfYXNzZXJ0KHN0ZDo6aXNfcG9seW1vcnBoaWM8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+
Ojp2YWx1ZSwgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGlzIG5vdCBwb2x5bW9ycGhpYyIp
OwotCi0gICAgLy8gSWYgeW91IGhpdCB0aGlzIGFzc2VydGlvbiB5b3UgZWl0aGVyIGhhdmUgYSB1
c2UgYWZ0ZXIgZnJlZSBidWcsIG9yCi0gICAgLy8gVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIg
aGFzIHN1YmNsYXNzZXMuIElmIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGhhcyBzdWJjbGFz
c2VzIHRoYXQgZ2V0IHBhc3NlZAotICAgIC8vIHRvIHRvSlMoKSB3ZSBjdXJyZW50bHkgcmVxdWly
ZSBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciB5b3UgdG8gb3B0IG91dCBvZiBiaW5kaW5nIGhh
cmRlbmluZwotICAgIC8vIGJ5IGFkZGluZyB0aGUgU2tpcFZUYWJsZVZhbGlkYXRpb24gYXR0cmli
dXRlIHRvIHRoZSBpbnRlcmZhY2UgSURMIGRlZmluaXRpb24KLSAgICBSRUxFQVNFX0FTU0VSVChh
Y3R1YWxWVGFibGVQb2ludGVyID09IGV4cGVjdGVkVlRhYmxlUG9pbnRlcik7Ci0jZW5kaWYKLSAg
ICByZXR1cm4gY3JlYXRlV3JhcHBlcjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4oZ2xvYmFs
T2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKLX0KLQotSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpKU0ds
b2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2Jh
bE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImIGltcGwpCi17Ci0gICAgcmV0dXJu
IHdyYXAobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBpbXBsKTsKLX0KLQotVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OnRv
V3JhcHBlZChKU0M6OlZNJiB2bSwgSlNDOjpKU1ZhbHVlIHZhbHVlKQotewotICAgIGlmIChhdXRv
KiB3cmFwcGVyID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKj4o
dm0sIHZhbHVlKSkKLSAgICAgICAgcmV0dXJuICZ3cmFwcGVyLT53cmFwcGVkKCk7Ci0gICAgcmV0
dXJuIG51bGxwdHI7Ci19Ci0KLX0KClByb3BlcnR5IGNoYW5nZXMgb246IFNvdXJjZS9XZWJDb3Jl
L2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fCkRlbGV0ZWQ6IHN2bjplb2wtc3R5bGUKIyMgLTEgKzAsMCAjIwotTEYKXCBO
byBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDogU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5oCShyZXZpc2lvbiAyNTI3NTkpCisrKyBTb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
CShub25leGlzdGVudCkKQEAgLTEsODYgKzAsMCBAQAotLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFy
dCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQot
ICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAg
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkpTRE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lciA6IHB1YmxpYyBKU0RPTVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+
IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlNET01XcmFwcGVyPFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyPjsKLSAgICBzdGF0aWMgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciog
Y3JlYXRlKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotICAgIHsK
LSAgICAgICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogcHRyID0gbmV3IChOb3ROdWxs
LCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihnbG9iYWxP
YmplY3QtPnZtKCkuaGVhcCkpIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoc3RydWN0dXJl
LCAqZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QtPnZtKCkpOwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQot
ICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTRE9N
R2xvYmFsT2JqZWN0Jik7Ci0gICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIHByb3RvdHlwZShKU0M6
OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKLSAgICBzdGF0aWMgVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIqIHRvV3JhcHBlZChKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMg
dm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBz
dGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCkpOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3Ry
dWN0b3IoSlNDOjpWTSYsIGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICBzdGF0aWMg
dm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwotcHJvdGVjdGVk
OgotICAgIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RP
TUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0KLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci0KLWNsYXNzIEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJPd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7Ci1w
dWJsaWM6Ci0gICAgdmlydHVhbCBib29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6
SGFuZGxlPEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBj
b25zdCBjaGFyKiopOwotICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6
OlVua25vd24+LCB2b2lkKiBjb250ZXh0KTsKLX07Ci0KLWlubGluZSBKU0M6OldlYWtIYW5kbGVP
d25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyKikKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lck93bmVyPiBvd25lcjsKLSAgICByZXR1cm4gJm93bmVyLmdldCgpOwotfQotCi1p
bmxpbmUgdm9pZCogd3JhcHBlcktleShUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogd3JhcHBh
YmxlT2JqZWN0KQotewotICAgIHJldHVybiB3cmFwcGFibGVPYmplY3Q7Ci19Ci0KLUpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJik7Ci1pbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGwpIHsgcmV0dXJuIGlt
cGwgPyB0b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgKmltcGwpIDogSlND
Ojpqc051bGwoKTsgfQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyPiYmKTsKLWlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBSZWZQdHI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYgaW1wbCkgeyByZXR1
cm4gaW1wbCA/IHRvSlNOZXdseUNyZWF0ZWQobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LCBpbXBsLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc051bGwoKTsgfQotCi10ZW1wbGF0
ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+IHsKLSAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyOwotICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcio7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCgpQcm9wZXJ0eSBj
aGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHls
ZQojIyAtMSArMCwwICMjCi1MRgpcIE5vIG5ld2xpbmUgYXQgZW5kIG9mIHByb3BlcnR5CkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAJKHJldmlzaW9uIDI1Mjc1OSkKKysr
IFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAJKHdvcmtpbmcgY29weSkKQEAg
LTIyLDQ2ICsyMiw0NyBAQAogCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVk
aWFRdWVyeUV2YWx1YXRvci5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIK
ICNpbmNsdWRlICJNZWRpYVF1ZXJ5TWF0Y2hlci5oIgorI2luY2x1ZGUgPHd0Zi9Jc29NYWxsb2NJ
bmxpbmVzLmg+CiAKIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAotaW5saW5lIE1lZGlhUXVlcnlMaXN0
OjpNZWRpYVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0Y2hlciwgUmVmPE1lZGlhUXVl
cnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKLSAgICA6IG1fbWF0Y2hlcihtYXRjaGVyKQor
V1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKE1lZGlhUXVlcnlMaXN0KTsKKworTWVkaWFRdWVy
eUxpc3Q6Ok1lZGlhUXVlcnlMaXN0KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmIGNvbnRleHQsIE1l
ZGlhUXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgYm9v
bCBtYXRjaGVzKQorICAgIDogQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIoJmNvbnRleHQpCisg
ICAgLCBtX21hdGNoZXIobWF0Y2hlcikKICAgICAsIG1fbWVkaWEoV1RGTW92ZShtZWRpYSkpCiAg
ICAgLCBtX2V2YWx1YXRpb25Sb3VuZChtX21hdGNoZXItPmV2YWx1YXRpb25Sb3VuZCgpKQogICAg
ICwgbV9jaGFuZ2VSb3VuZChtX2V2YWx1YXRpb25Sb3VuZCAtIDEpIC8vIEFueSB2YWx1ZSB0aGF0
IGlzIG5vdCB0aGUgc2FtZSBhcyBtX2V2YWx1YXRpb25Sb3VuZCB3b3VsZCBkby4KICAgICAsIG1f
bWF0Y2hlcyhtYXRjaGVzKQogeworICAgIG1fbWF0Y2hlci0+YWRkTWVkaWFRdWVyeUxpc3QoKnRo
aXMpOwogfQogCi1SZWY8TWVkaWFRdWVyeUxpc3Q+IE1lZGlhUXVlcnlMaXN0OjpjcmVhdGUoTWVk
aWFRdWVyeU1hdGNoZXImIG1hdGNoZXIsIFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBib29s
IG1hdGNoZXMpCitSZWY8TWVkaWFRdWVyeUxpc3Q+IE1lZGlhUXVlcnlMaXN0OjpjcmVhdGUoU2Ny
aXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFRdWVyeU1hdGNoZXImIG1hdGNoZXIs
IFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBib29sIG1hdGNoZXMpCiB7Ci0gICAgcmV0dXJu
IGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3QobWF0Y2hlciwgV1RGTW92ZShtZWRpYSksIG1h
dGNoZXMpKTsKKyAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVF1ZXJ5TGlzdChjb250ZXh0
LCBtYXRjaGVyLCBXVEZNb3ZlKG1lZGlhKSwgbWF0Y2hlcykpOwogfQogCi1NZWRpYVF1ZXJ5TGlz
dDo6fk1lZGlhUXVlcnlMaXN0KCkgPSBkZWZhdWx0OworTWVkaWFRdWVyeUxpc3Q6On5NZWRpYVF1
ZXJ5TGlzdCgpCit7CisgICAgbV9tYXRjaGVyLT5yZW1vdmVNZWRpYVF1ZXJ5TGlzdCgqdGhpcyk7
Cit9CiAKIFN0cmluZyBNZWRpYVF1ZXJ5TGlzdDo6bWVkaWEoKSBjb25zdAogewogICAgIHJldHVy
biBtX21lZGlhLT5tZWRpYVRleHQoKTsKIH0KIAotdm9pZCBNZWRpYVF1ZXJ5TGlzdDo6YWRkTGlz
dGVuZXIoUmVmUHRyPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYgbGlzdGVuZXIpCit2b2lkIE1l
ZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5l
cikKIHsKLSAgICBpZiAoIWxpc3RlbmVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX21hdGNo
ZXItPmFkZExpc3RlbmVyKGxpc3RlbmVyLnJlbGVhc2VOb25OdWxsKCksICp0aGlzKTsKKyAgICBh
ZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBsaXN0ZW5lci5yZWxlYXNlTm9uTnVsbCgpKTsKIH0K
IAotdm9pZCBNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIoUmVmUHRyPE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXI+JiYgbGlzdGVuZXIpCit2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0
ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKIHsKLSAgICBpZiAoIWxpc3Rl
bmVyKQotICAgICAgICByZXR1cm47Ci0KLSAgICBtX21hdGNoZXItPnJlbW92ZUxpc3RlbmVyKCps
aXN0ZW5lciwgKnRoaXMpOworICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3Rl
bmVyLnJlbGVhc2VOb25OdWxsKCkpOwogfQogCiB2b2lkIE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0
ZShNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0b3IsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRl
ZCkKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oCShyZXZpc2lvbiAyNTI3NTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaAkod29ya2luZyBjb3B5KQpA
QCAtMTksMTMgKzE5LDE1IEBACiAKICNwcmFnbWEgb25jZQogCisjaW5jbHVkZSAiQ29udGV4dERl
c3RydWN0aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgogI2luY2x1ZGUg
PHd0Zi9Gb3J3YXJkLmg+CiAjaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KICNpbmNsdWRlIDx3
dGYvUmVmUHRyLmg+CisjaW5jbHVkZSA8d3RmL1dlYWtQdHIuaD4KIAogbmFtZXNwYWNlIFdlYkNv
cmUgewogCi1jbGFzcyBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOwogY2xhc3MgTWVkaWFRdWVyeUV2
YWx1YXRvcjsKIGNsYXNzIE1lZGlhUXVlcnlNYXRjaGVyOwogY2xhc3MgTWVkaWFRdWVyeVNldDsK
QEAgLTM1LDI0ICszNywzMyBAQCBjbGFzcyBNZWRpYVF1ZXJ5U2V0OwogLy8gcmV0cmlldmUgdGhl
IGN1cnJlbnQgdmFsdWUgb2YgdGhlIGdpdmVuIG1lZGlhIHF1ZXJ5IGFuZCB0byBhZGQvcmVtb3Zl
IGxpc3RlbmVycyB0aGF0CiAvLyB3aWxsIGJlIGNhbGxlZCB3aGVuZXZlciB0aGUgdmFsdWUgb2Yg
dGhlIHF1ZXJ5IGNoYW5nZXMuCiAKLWNsYXNzIE1lZGlhUXVlcnlMaXN0IGZpbmFsIDogcHVibGlj
IFJlZkNvdW50ZWQ8TWVkaWFRdWVyeUxpc3Q+IHsKK2NsYXNzIE1lZGlhUXVlcnlMaXN0IGZpbmFs
IDogcHVibGljIFJlZkNvdW50ZWQ8TWVkaWFRdWVyeUxpc3Q+LCBwdWJsaWMgRXZlbnRUYXJnZXRX
aXRoSW5saW5lRGF0YSwgcHVibGljIENhbk1ha2VXZWFrUHRyPE1lZGlhUXVlcnlMaXN0PiwgcHJp
dmF0ZSBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlciB7CisgICAgV1RGX01BS0VfSVNPX0FMTE9D
QVRFRChNZWRpYVF1ZXJ5TGlzdCk7CiBwdWJsaWM6Ci0gICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5
TGlzdD4gY3JlYXRlKE1lZGlhUXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJv
b2wpOworICAgIHN0YXRpYyBSZWY8TWVkaWFRdWVyeUxpc3Q+IGNyZWF0ZShTY3JpcHRFeGVjdXRp
b25Db250ZXh0JiwgTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9v
bCBtYXRjaGVzKTsKICAgICB+TWVkaWFRdWVyeUxpc3QoKTsKIAogICAgIFN0cmluZyBtZWRpYSgp
IGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcygpOwogCi0gICAgdm9pZCBhZGRMaXN0ZW5lcihSZWZQ
dHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0gICAgdm9pZCByZW1vdmVMaXN0ZW5lcihS
ZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7CisgICAgdm9pZCBhZGRMaXN0ZW5lcihS
ZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihSZWZQdHI8
RXZlbnRMaXN0ZW5lcj4mJik7CiAKICAgICB2b2lkIGV2YWx1YXRlKE1lZGlhUXVlcnlFdmFsdWF0
b3ImLCBib29sJiBub3RpZmljYXRpb25OZWVkZWQpOwogCisgICAgdXNpbmcgUmVmQ291bnRlZDo6
cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCiBwcml2YXRlOgotICAgIE1lZGlh
UXVlcnlMaXN0KE1lZGlhUXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJvb2wg
bWF0Y2hlcyk7CisgICAgTWVkaWFRdWVyeUxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYsIE1l
ZGlhUXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJvb2wgbWF0Y2hlcyk7CiAK
ICAgICB2b2lkIHNldE1hdGNoZXMoYm9vbCk7CiAKKyAgICBFdmVudFRhcmdldEludGVyZmFjZSBl
dmVudFRhcmdldEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIE1lZGlhUXVlcnlMaXN0
RXZlbnRUYXJnZXRJbnRlcmZhY2VUeXBlOyB9CisgICAgU2NyaXB0RXhlY3V0aW9uQ29udGV4dCog
c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIENvbnRleHREZXN0
cnVjdGlvbk9ic2VydmVyOjpzY3JpcHRFeGVjdXRpb25Db250ZXh0KCk7IH0KKyAgICB2b2lkIHJl
ZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyByZWYoKTsgfQorICAgIHZvaWQgZGVyZWZFdmVudFRhcmdl
dCgpIGZpbmFsIHsgZGVyZWYoKTsgfQorCiAgICAgUmVmPE1lZGlhUXVlcnlNYXRjaGVyPiBtX21h
dGNoZXI7CiAgICAgUmVmPE1lZGlhUXVlcnlTZXQ+IG1fbWVkaWE7CiAgICAgdW5zaWduZWQgbV9l
dmFsdWF0aW9uUm91bmQ7IC8vIEluZGljYXRlcyBpZiB0aGUgcXVlcnkgaGFzIGJlZW4gZXZhbHVh
dGVkIGFmdGVyIHRoZSBsYXN0IHN0eWxlIHNlbGVjdG9yIGNoYW5nZS4KSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAkocmV2aXNpb24gMjUyNzU5KQorKysgU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMTcsMTMgKzE3
LDEyIEBACiAgKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCiAgKi8KIFsKLSAgICBOb0lu
dGVyZmFjZU9iamVjdCwKLSAgICBJbXBsZW1lbnRhdGlvbkxhY2tzVlRhYmxlLAotXSBpbnRlcmZh
Y2UgTWVkaWFRdWVyeUxpc3QgeworICAgIEV4cG9zZWQ9V2luZG93CitdIGludGVyZmFjZSBNZWRp
YVF1ZXJ5TGlzdCA6IEV2ZW50VGFyZ2V0IHsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG1lZGlhOwogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG1hdGNoZXM7CiAKLSAg
ICAvLyBGSVhNRTogVGhlIGxpc3RlbmVyIHBhcmFtZXRlciBzaG91bGQgbm90IGJlIG9wdGlvbmFs
LgotICAgIHZvaWQgYWRkTGlzdGVuZXIob3B0aW9uYWwgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj8g
bGlzdGVuZXIgPSBudWxsKTsKLSAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKG9wdGlvbmFsIE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI/IGxpc3RlbmVyID0gbnVsbCk7CisgICAgdm9pZCBhZGRMaXN0ZW5l
cihFdmVudExpc3RlbmVyPyBsaXN0ZW5lcik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihFdmVu
dExpc3RlbmVyPyBsaXN0ZW5lcik7CisgICAgYXR0cmlidXRlIEV2ZW50SGFuZGxlciBvbmNoYW5n
ZTsKIH07CkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAK
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3Bw
CShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50
LmNwcAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDQ3IEBACisvKgorICogQ29weXJpZ2h0IChD
KSAyMDE5IEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+LgorICoKKyAqIFJl
ZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Ig
d2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhl
IGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25z
IG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5v
dGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1l
ci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0
aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25z
IGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9u
IGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgor
ICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENP
TlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJB
TlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FS
UkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgor
ICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBP
UiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNU
LCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERB
TUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICog
U1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJ
VFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBB
TlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBM
SUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAq
IEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVO
IElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLwor
CisjaW5jbHVkZSAiY29uZmlnLmgiCisjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3RFdmVudC5oIgor
CituYW1lc3BhY2UgV2ViQ29yZSB7CisKK1dURl9NQUtFX0lTT19BTExPQ0FURURfSU1QTChNZWRp
YVF1ZXJ5TGlzdEV2ZW50KTsKKworTWVkaWFRdWVyeUxpc3RFdmVudDo6TWVkaWFRdWVyeUxpc3RF
dmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0LCBJc1RydXN0ZWQg
aXNUcnVzdGVkKQorICAgIDogRXZlbnQodHlwZSwgaW5pdCwgaXNUcnVzdGVkKQorICAgICwgbV9t
ZWRpYShpbml0Lm1lZGlhKQorICAgICwgbV9tYXRjaGVzKGluaXQubWF0Y2hlcykKK3sKK30KKwor
TWVkaWFRdWVyeUxpc3RFdmVudDo6TWVkaWFRdWVyeUxpc3RFdmVudChjb25zdCBBdG9tU3RyaW5n
JiB0eXBlLCBjb25zdCBTdHJpbmcmIG1lZGlhLCBib29sIG1hdGNoZXMpCisgICAgOiBFdmVudCh0
eXBlLCBDYW5CdWJibGU6Ok5vLCBJc0NhbmNlbGFibGU6Ok5vKQorICAgICwgbV9tZWRpYShtZWRp
YSkKKyAgICAsIG1fbWF0Y2hlcyhtYXRjaGVzKQoreworfQorCit9IC8vIG5hbWVzcGFjZSBXZWJD
b3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmgJKG5vbmV4
aXN0ZW50KQorKysgU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuaAkod29y
a2luZyBjb3B5KQpAQCAtMCwwICsxLDY0IEBACisvKgorICogQ29weXJpZ2h0IChDKSAyMDE5IEFs
ZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0
aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAor
ICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2lu
ZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJj
ZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhp
cyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIu
IFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUg
Y29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUg
Zm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBv
dGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRI
SVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9S
UyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBP
RiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9T
RSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09O
VFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVO
VEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElO
Q0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVU
RSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJV
U0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZ
IE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFks
IE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcg
SU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklT
RUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAqLworCisjcHJhZ21h
IG9uY2UKKworI2luY2x1ZGUgIkV2ZW50LmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGlu
ZXMuaD4KKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitjbGFzcyBNZWRpYVF1ZXJ5TGlzdEV2ZW50
IGZpbmFsIDogcHVibGljIEV2ZW50IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlh
UXVlcnlMaXN0RXZlbnQpOworcHVibGljOgorICAgIHN0YXRpYyBSZWY8TWVkaWFRdWVyeUxpc3RF
dmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWVkaWEs
IGJvb2wgbWF0Y2hlcykKKyAgICB7CisgICAgICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlh
UXVlcnlMaXN0RXZlbnQodHlwZSwgbWVkaWEsIG1hdGNoZXMpKTsKKyAgICB9CisKKyAgICBzdHJ1
Y3QgSW5pdCA6IEV2ZW50SW5pdCB7CisgICAgICAgIFN0cmluZyBtZWRpYSB7ICIiIH07CisgICAg
ICAgIGJvb2wgbWF0Y2hlcyB7IGZhbHNlIH07CisgICAgfTsKKworICAgIHN0YXRpYyBSZWY8TWVk
aWFRdWVyeUxpc3RFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IElu
aXQmIGluaXQsIElzVHJ1c3RlZCBpc1RydXN0ZWQgPSBJc1RydXN0ZWQ6Ok5vKQorICAgIHsKKyAg
ICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RFdmVudCh0eXBlLCBpbml0
LCBpc1RydXN0ZWQpKTsKKyAgICB9CisKKyAgICBjb25zdCBTdHJpbmcmIG1lZGlhKCkgY29uc3Qg
eyByZXR1cm4gbV9tZWRpYTsgfQorICAgIGJvb2wgbWF0Y2hlcygpIGNvbnN0IHsgcmV0dXJuIG1f
bWF0Y2hlczsgfQorCisgICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBm
aW5hbCB7IHJldHVybiBNZWRpYVF1ZXJ5TGlzdEV2ZW50SW50ZXJmYWNlVHlwZTsgfQorCitwcml2
YXRlOgorICAgIE1lZGlhUXVlcnlMaXN0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29u
c3QgU3RyaW5nJiBtZWRpYSwgYm9vbCBtYXRjaGVzKTsKKyAgICBNZWRpYVF1ZXJ5TGlzdEV2ZW50
KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmLCBJc1RydXN0ZWQpOworCisgICAg
U3RyaW5nIG1fbWVkaWE7CisgICAgYm9vbCBtX21hdGNoZXM7Cit9OworCit9IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCkluZGV4OiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5p
ZGwKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQu
aWRsCShub25leGlzdGVudCkKKysrIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2
ZW50LmlkbAkod29ya2luZyBjb3B5KQpAQCAtMCwwICsxLDM2IEBACisvKgorICogQ29weXJpZ2h0
IChDKSAyMDE5IEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+LgorICoKKyAq
IFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBiaW5hcnkgZm9ybXMsIHdpdGgg
b3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0dGVkIHByb3ZpZGVkIHRoYXQg
dGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0OgorICogMS4gUmVkaXN0cmlidXRp
b25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAg
IG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xh
aW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkgZm9ybSBtdXN0IHJlcHJvZHVj
ZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRp
b25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhlCisgKiAgICBkb2N1bWVudGF0
aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0aCB0aGUgZGlzdHJpYnV0aW9u
LgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkgQVBQTEUgSU5DLiBBTkQgSVRT
IENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQUkVTUyBPUiBJTVBMSUVEIFdB
UlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLAorICogVEhFIElNUExJRUQg
V0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxB
UgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZFTlQgU0hBTEwgQVBQTEUgSU5D
LiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9SIEFOWSBESVJFQ1QsIElORElS
RUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9SCisgKiBDT05TRVFVRU5USUFM
IERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRPLCBQUk9DVVJFTUVOVCBPRgor
ICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBPRiBVU0UsIERBVEEsIE9SIFBS
T0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhPV0VWRVIgQ0FVU0VEIEFORCBP
TiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgorICogQ09OVFJBQ1QsIFNUUklD
VCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdFTkNFIE9SIE9USEVSV0lTRSkK
KyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBPRiBUSElTIFNPRlRXQVJFLCBF
VkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBPRiBTVUNIIERBTUFHRS4KKyAq
LworCitbCisgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUsIG9wdGlvbmFsIE1lZGlhUXVl
cnlMaXN0RXZlbnRJbml0IG1lZGlhUXVlcnlMaXN0RXZlbnRJbml0KSwKK10gaW50ZXJmYWNlIE1l
ZGlhUXVlcnlMaXN0RXZlbnQgOiBFdmVudCB7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0
cmluZyBtZWRpYTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9vbGVhbiBtYXRjaGVzOworfTsK
KworZGljdGlvbmFyeSBNZWRpYVF1ZXJ5TGlzdEV2ZW50SW5pdCA6IEV2ZW50SW5pdCB7CisgICAg
RE9NU3RyaW5nIG1lZGlhID0gIiI7CisgICAgYm9vbGVhbiBtYXRjaGVzID0gZmFsc2U7Cit9OwpJ
bmRleDogU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCShyZXZp
c2lvbiAyNTI3NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5oCShub25leGlzdGVudCkKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0g
KiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
Ki8KLQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJBY3RpdmVET01DYWxsYmFjay5oIgotI2lu
Y2x1ZGUgIkNhbGxiYWNrUmVzdWx0LmgiCi0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQot
bmFtZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBNZWRpYVF1ZXJ5TGlzdDsKLQotY2xhc3MgTWVk
aWFRdWVyeUxpc3RMaXN0ZW5lciA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXI+LCBwdWJsaWMgQWN0aXZlRE9NQ2FsbGJhY2sgewotcHVibGljOgotICAgIGVudW0gVHlw
ZSB7Ci0gICAgICAgIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lclR5cGUKLSAgICB9OwotCi0gICAg
dmlydHVhbCBDYWxsYmFja1Jlc3VsdDx2b2lkPiBoYW5kbGVFdmVudChNZWRpYVF1ZXJ5TGlzdCYp
ID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyJikgY29uc3QgPSAwOwotCi0gICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90
eXBlOyB9Ci0KLXByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
KFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFR5cGUgdHlwZSkKLSAgICAgICAgOiBB
Y3RpdmVET01DYWxsYmFjayhjb250ZXh0KQotICAgICAgICAsIG1fdHlwZSh0eXBlKQotICAgIHsK
LSAgICB9Ci0KLXByaXZhdGU6Ci0gICAgVHlwZSBtX3R5cGU7Ci19OwotCi19IC8vIG5hbWVzcGFj
ZSBXZWJDb3JlCgpQcm9wZXJ0eSBjaGFuZ2VzIG9uOiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
X19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRGVsZXRlZDogc3ZuOmVvbC1zdHlsZQojIyAt
MSArMCwwICMjCi1uYXRpdmUKXCBObyBuZXdsaW5lIGF0IGVuZCBvZiBwcm9wZXJ0eQpJbmRleDog
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbAkocmV2aXNp
b24gMjUyNzU5KQorKysgU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aWRsCShub25leGlzdGVudCkKQEAgLTEsMjMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0g
KiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0
IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5
IEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBv
ciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAq
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNv
cHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3
aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0
ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGlu
IFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0g
Ki8KLQotWwotICAgIENhbGxiYWNrTmVlZHNPcGVyYXRvckVxdWFsCi1dIGNhbGxiYWNrIE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIgPSB2b2lkIChNZWRpYVF1ZXJ5TGlzdCBsaXN0KTsKLQpJbmRleDog
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCShyZXZpc2lvbiAyNTI3NTkp
CisrKyBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCSh3b3JraW5nIGNv
cHkpCkBAIC0yMSwxMyArMjEsMTMgQEAKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TWF0Y2hlci5oIgog
CiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVk
ZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgi
CiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5o
IgogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3RM
aXN0ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVk
ZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgpAQCAtNDYs
OCArNDYsOCBAQCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6fk1lZGlhUXVlcnlNYXRjaGVyKCkgCiAKIHZv
aWQgTWVkaWFRdWVyeU1hdGNoZXI6OmRvY3VtZW50RGVzdHJveWVkKCkKIHsKLSAgICBtX2xpc3Rl
bmVycy5jbGVhcigpOwogICAgIG1fZG9jdW1lbnQgPSBudWxscHRyOworICAgIG1fbWVkaWFRdWVy
eUxpc3RzLmNsZWFyKCk7CiB9CiAKIFN0cmluZyBNZWRpYVF1ZXJ5TWF0Y2hlcjo6bWVkaWFUeXBl
KCkgY29uc3QKQEAgLTc4LDM1ICs3OCwyNiBAQCBib29sIE1lZGlhUXVlcnlNYXRjaGVyOjpldmFs
dWF0ZShjb25zdCBNCiAgICAgcmV0dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IgeyBtZWRpYVR5cGUo
KSwgKm1fZG9jdW1lbnQsIHN0eWxlLmdldCgpIH0uZXZhbHVhdGUobWVkaWEpOwogfQogCi1SZWZQ
dHI8TWVkaWFRdWVyeUxpc3Q+IE1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1lZGlhKGNvbnN0IFN0
cmluZyYgcXVlcnkpCit2b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjphZGRNZWRpYVF1ZXJ5TGlzdChN
ZWRpYVF1ZXJ5TGlzdCYgbXFsKQogewotICAgIGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0
dXJuIG51bGxwdHI7Ci0KLSAgICBhdXRvIG1lZGlhID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHF1
ZXJ5LCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCgqbV9kb2N1bWVudCkpOwotICAgIHJlcG9ydE1l
ZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQobV9kb2N1bWVudC5nZXQoKSwgbWVkaWEucHRyKCkpOwot
ICAgIGJvb2wgcmVzdWx0ID0gZXZhbHVhdGUobWVkaWEuZ2V0KCkpOwotICAgIHJldHVybiBNZWRp
YVF1ZXJ5TGlzdDo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKG1lZGlhKSwgcmVzdWx0KTsKKyAgICBB
U1NFUlQoIW1fbWVkaWFRdWVyeUxpc3RzLmNvbnRhaW5zKCZtcWwpKTsKKyAgICBtX21lZGlhUXVl
cnlMaXN0cy5hcHBlbmQobWFrZVdlYWtQdHIoJm1xbCkpOwogfQogCi12b2lkIE1lZGlhUXVlcnlN
YXRjaGVyOjphZGRMaXN0ZW5lcihSZWY8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBsaXN0ZW5l
ciwgTWVkaWFRdWVyeUxpc3QmIHF1ZXJ5KQordm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3Zl
TWVkaWFRdWVyeUxpc3QoTWVkaWFRdWVyeUxpc3QmIG1xbCkKIHsKLSAgICBpZiAoIW1fZG9jdW1l
bnQpCi0gICAgICAgIHJldHVybjsKLQotICAgIGZvciAoYXV0byYgZXhpc3RpbmdMaXN0ZW5lciA6
IG1fbGlzdGVuZXJzKSB7Ci0gICAgICAgIGlmIChleGlzdGluZ0xpc3RlbmVyLmxpc3RlbmVyLmdl
dCgpID09IGxpc3RlbmVyLmdldCgpICYmIGV4aXN0aW5nTGlzdGVuZXIucXVlcnkucHRyKCkgPT0g
JnF1ZXJ5KQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fbGlzdGVuZXJzLmFw
cGVuZChMaXN0ZW5lciB7IFdURk1vdmUobGlzdGVuZXIpLCBxdWVyeSB9KTsKKyAgICBtX21lZGlh
UXVlcnlMaXN0cy5yZW1vdmVGaXJzdCgmbXFsKTsKIH0KIAotdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hl
cjo6cmVtb3ZlTGlzdGVuZXIoTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYgbGlzdGVuZXIsIE1lZGlh
UXVlcnlMaXN0JiBxdWVyeSkKK1JlZlB0cjxNZWRpYVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeU1hdGNo
ZXI6Om1hdGNoTWVkaWEoY29uc3QgU3RyaW5nJiBxdWVyeSkKIHsKLSAgICBtX2xpc3RlbmVycy5y
ZW1vdmVGaXJzdE1hdGNoaW5nKFsmbGlzdGVuZXIsICZxdWVyeV0oYXV0byYgZXhpc3RpbmdMaXN0
ZW5lcikgewotICAgICAgICByZXR1cm4gZXhpc3RpbmdMaXN0ZW5lci5saXN0ZW5lci5nZXQoKSA9
PSBsaXN0ZW5lciAmJiBleGlzdGluZ0xpc3RlbmVyLnF1ZXJ5LnB0cigpID09ICZxdWVyeTsKLSAg
ICB9KTsKKyAgICBpZiAoIW1fZG9jdW1lbnQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisg
ICAgYXV0byBtZWRpYSA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZShxdWVyeSwgTWVkaWFRdWVyeVBh
cnNlckNvbnRleHQoKm1fZG9jdW1lbnQpKTsKKyAgICByZXBvcnRNZWRpYVF1ZXJ5V2FybmluZ0lm
TmVlZGVkKG1fZG9jdW1lbnQuZ2V0KCksIG1lZGlhLnB0cigpKTsKKyAgICBib29sIG1hdGNoZXMg
PSBldmFsdWF0ZShtZWRpYS5nZXQoKSk7CisgICAgcmV0dXJuIE1lZGlhUXVlcnlMaXN0OjpjcmVh
dGUoKm1fZG9jdW1lbnQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKnRoaXMsIFdURk1vdmUo
bWVkaWEpLCBtYXRjaGVzKTsKIH0KIAogdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGVB
bGwoKQpAQCAtMTIyLDE1ICsxMTMsMTMgQEAgdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVh
dGVBbGwoKQogICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTWVk
aWFRdWVyeU1hdGNoZXI6OnN0eWxlUmVzb2x2ZXJDaGFuZ2VkICIgPDwgbV9kb2N1bWVudC0+dXJs
KCkpOwogCiAgICAgTWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBtZWRpYVR5cGUoKSwg
Km1fZG9jdW1lbnQsIHN0eWxlLmdldCgpIH07Ci0gICAgVmVjdG9yPExpc3RlbmVyPiBsaXN0ZW5l
cnM7Ci0gICAgbGlzdGVuZXJzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9saXN0ZW5lcnMuc2l6
ZSgpKTsKLSAgICBmb3IgKGF1dG8mIGxpc3RlbmVyIDogbV9saXN0ZW5lcnMpCi0gICAgICAgIGxp
c3RlbmVycy51bmNoZWNrZWRBcHBlbmQoeyBsaXN0ZW5lci5saXN0ZW5lci5jb3B5UmVmKCksIGxp
c3RlbmVyLnF1ZXJ5LmNvcHlSZWYoKSB9KTsKLSAgICBmb3IgKGF1dG8mIGxpc3RlbmVyIDogbGlz
dGVuZXJzKSB7CisgICAgZm9yIChhdXRvJiBtcWwgOiBtX21lZGlhUXVlcnlMaXN0cykgewogICAg
ICAgICBib29sIG5vdGlmeTsKLSAgICAgICAgbGlzdGVuZXIucXVlcnktPmV2YWx1YXRlKGV2YWx1
YXRvciwgbm90aWZ5KTsKLSAgICAgICAgaWYgKG5vdGlmeSkKLSAgICAgICAgICAgIGxpc3RlbmVy
Lmxpc3RlbmVyLT5oYW5kbGVFdmVudChsaXN0ZW5lci5xdWVyeSk7CisgICAgICAgIG1xbC0+ZXZh
bHVhdGUoZXZhbHVhdG9yLCBub3RpZnkpOworICAgICAgICBpZiAobm90aWZ5KSB7CisgICAgICAg
ICAgICBhdXRvIGV2ZW50ID0gTWVkaWFRdWVyeUxpc3RFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMo
KS5jaGFuZ2VFdmVudCwgbXFsLT5tZWRpYSgpLCBtcWwtPm1hdGNoZXMoKSk7CisgICAgICAgICAg
ICBtcWwtPmRpc3BhdGNoRXZlbnQoZXZlbnQpOworICAgICAgICB9CiAgICAgfQogfQogCkluZGV4
OiBTb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAo9PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBT
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAkocmV2aXNpb24gMjUyNzU5KQor
KysgU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmgJKHdvcmtpbmcgY29weSkK
QEAgLTI5LDEzICsyOSwxMSBAQCBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKIGNsYXNzIERvY3VtZW50
OwogY2xhc3MgTWVkaWFRdWVyeUxpc3Q7Ci1jbGFzcyBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOwog
Y2xhc3MgTWVkaWFRdWVyeUV2YWx1YXRvcjsKIGNsYXNzIE1lZGlhUXVlcnlTZXQ7CiBjbGFzcyBS
ZW5kZXJTdHlsZTsKIAotLy8gTWVkaWFRdWVyeU1hdGNoZXIgY2xhc3MgaXMgcmVzcG9uc2libGUg
Zm9yIGtlZXBpbmcgYSB2ZWN0b3Igb2YgcGFpcnMKLS8vIE1lZGlhUXVlcnlMaXN0IHggTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci4gSXQgaXMgcmVzcG9uc2libGUgZm9yIGV2YWx1YXRpbmcgdGhlIHF1
ZXJpZXMKKy8vIE1lZGlhUXVlcnlNYXRjaGVyIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBldmFs
dWF0aW5nIHRoZSBxdWVyaWVzCiAvLyB3aGVuZXZlciBpdCBpcyBuZWVkZWQgYW5kIHRvIGNhbGwg
dGhlIGxpc3RlbmVycyBpZiB0aGUgY29ycmVzcG9uZGluZyBxdWVyeSBoYXMgY2hhbmdlZC4KIC8v
IFRoZSBsaXN0ZW5lcnMgbXVzdCBiZSBjYWxsZWQgaW4gdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkg
d2VyZSBhZGRlZC4KIApAQCAtNDUsOSArNDMsOCBAQCBwdWJsaWM6CiAgICAgfk1lZGlhUXVlcnlN
YXRjaGVyKCk7CiAKICAgICB2b2lkIGRvY3VtZW50RGVzdHJveWVkKCk7Ci0KLSAgICB2b2lkIGFk
ZExpc3RlbmVyKFJlZjxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmLCBNZWRpYVF1ZXJ5TGlzdCYp
OwotICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIoTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYsIE1lZGlh
UXVlcnlMaXN0Jik7CisgICAgdm9pZCBhZGRNZWRpYVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5TGlzdCYp
OworICAgIHZvaWQgcmVtb3ZlTWVkaWFRdWVyeUxpc3QoTWVkaWFRdWVyeUxpc3QmKTsKIAogICAg
IFJlZlB0cjxNZWRpYVF1ZXJ5TGlzdD4gbWF0Y2hNZWRpYShjb25zdCBTdHJpbmcmKTsKIApAQCAt
NTgsMTcgKzU1LDEyIEBAIHB1YmxpYzoKICAgICBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVl
cnlTZXQmKTsKIAogcHJpdmF0ZToKLSAgICBzdHJ1Y3QgTGlzdGVuZXIgewotICAgICAgICBSZWY8
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4gbGlzdGVuZXI7Ci0gICAgICAgIFJlZjxNZWRpYVF1ZXJ5
TGlzdD4gcXVlcnk7Ci0gICAgfTsKLQogICAgIGV4cGxpY2l0IE1lZGlhUXVlcnlNYXRjaGVyKERv
Y3VtZW50Jik7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBkb2N1bWVudEVsZW1l
bnRVc2VyQWdlbnRTdHlsZSgpIGNvbnN0OwogICAgIFN0cmluZyBtZWRpYVR5cGUoKSBjb25zdDsK
IAogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Ci0gICAgVmVjdG9yPExpc3RlbmVy
PiBtX2xpc3RlbmVyczsKKyAgICBWZWN0b3I8V2Vha1B0cjxNZWRpYVF1ZXJ5TGlzdD4+IG1fbWVk
aWFRdWVyeUxpc3RzOwogCiAgICAgLy8gVGhpcyB2YWx1ZSBpcyBpbmNyZW1lbnRlZCBhdCBzdHls
ZSBzZWxlY3RvciBjaGFuZ2VzLgogICAgIC8vIEl0IGlzIHVzZWQgdG8gYXZvaWQgZXZhbHVhdGlu
ZyBxdWVyaWVzIG1vcmUgdGhlbiBvbmNlIGFuZCB0byBtYWtlIHN1cmUKSW5kZXg6IFNvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2Rv
bS9FdmVudE5hbWVzLmluCShyZXZpc2lvbiAyNTI3NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnROYW1lcy5pbgkod29ya2luZyBjb3B5KQpAQCAtMjMsNiArMjMsNyBAQCBJbnB1dEV2ZW50
CiBJbnB1dEV2ZW50cyBpbnRlcmZhY2VOYW1lPUlucHV0RXZlbnQKIEtleWJvYXJkRXZlbnQKIEtl
eWJvYXJkRXZlbnRzIGludGVyZmFjZU5hbWU9S2V5Ym9hcmRFdmVudAorTWVkaWFRdWVyeUxpc3RF
dmVudAogTWVzc2FnZUV2ZW50CiBNb3VzZUV2ZW50CiBNb3VzZUV2ZW50cyBpbnRlcmZhY2VOYW1l
PU1vdXNlRXZlbnQKSW5kZXg6IFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCj09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT0KLS0tIFNvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCShyZXZpc2lvbiAyNTI3
NTkpCisrKyBTb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaAkod29ya2luZyBjb3B5KQpA
QCAtODksNyArODksNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9uT3I8
Ym9vbD4gZGlzcGF0Y2hFdmVudEZvckJpbmRpbmdzKEV2ZW50Jik7CiAKICAgICBXRUJDT1JFX0VY
UE9SVCB2aXJ0dWFsIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVu
dFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0aW9u
cyYgPSB7IH0pOwotICAgIHZpcnR1YWwgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9u
cyYpOworICAgIHZpcnR1YWwgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJp
bmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYgPSB7
IH0pOwogCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7CiAgICAg
dmlydHVhbCB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKTsKSW5kZXg6IFNvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgkocmV2aXNpb24gMjUyNzU5KQorKysgU291cmNlL1dl
YkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgkod29ya2luZyBjb3B5KQpAQCAtMjEsNiAr
MjEsNyBAQCBJREJUcmFuc2FjdGlvbiBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCCiBNZWRpYUNv
bnRyb2xsZXIgY29uZGl0aW9uYWw9VklERU8KIE1lZGlhRGV2aWNlcyBjb25kaXRpb25hbD1NRURJ
QV9TVFJFQU0KIE1lZGlhS2V5U2Vzc2lvbiBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKK01l
ZGlhUXVlcnlMaXN0CiBNZWRpYVJlbW90ZUNvbnRyb2xzIGNvbmRpdGlvbmFsPU1FRElBX1NFU1NJ
T04KIE1lZGlhUmVjb3JkZXIgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZWRpYVNvdXJjZSBj
b25kaXRpb25hbD1NRURJQV9TT1VSQ0UKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFu
Z2VMb2cKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkocmV2
aXNpb24gMjUyNzczKQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwkod29ya2lu
ZyBjb3B5KQpAQCAtMSwzICsxLDEyIEBACisyMDE5LTExLTIyICBBbGV4ZXkgU2h2YXlrYSAgPHNo
dmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBzaG91bGQgZXh0
ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KKwor
ICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5q
czoKKwogMjAxOS0xMS0yMSAgTmlraXRhIFZhc2lseWV2ICA8bnZhc2lseWV2QGFwcGxlLmNvbT4K
IAogICAgICAgICBXZWIgSW5zcGVjdG9yOiBPdXRsaW5lIHNSR0Itc2FmZSBhcmVhcyBvbiBQMyBj
b2xvciBwaWNrZXIKSW5kZXg6IFNvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01v
ZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKPT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL1dl
Ykluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVy
cy5qcwkocmV2aXNpb24gMjUyNzU5KQorKysgU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRl
cmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwkod29ya2luZyBjb3B5KQpA
QCAtMTA5NSwxMSArMTA5NSw2IEBAIFdJLk5hdGl2ZVByb3RvdHlwZUZ1bmN0aW9uUGFyYW1ldGVy
cyA9IHsKICAgICAgICAgX19wcm90b19fOiBudWxsLAogICAgIH0sCiAKLSAgICBNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyOiB7Ci0gICAgICAgIHF1ZXJ5Q2hhbmdlZDogIltsaXN0XSIsCi0gICAgICAg
IF9fcHJvdG9fXzogbnVsbCwKLSAgICB9LAotCiAgICAgTWVkaWFTb3VyY2U6IHsKICAgICAgICAg
YWRkU291cmNlQnVmZmVyOiAidHlwZSIsCiAgICAgICAgIGVuZE9mU3RyZWFtOiAiW2Vycm9yXSIs
Cg==
</data>
<flag name="review"
          id="399951"
          type_id="1"
          status="-"
          setter="sam"
    />
          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>387214</attachid>
            <date>2020-01-09 05:15:17 -0800</date>
            <delta_ts>2020-03-27 08:38:09 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203288-20200109151516.patch</filename>
            <type>text/plain</type>
            <size>87790</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU0MjQ5CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzllYjI1MjY1YWNjMjk4
NGYzOWRjMDY1NzI2ZjliZDRlODdhODgxYy4uZjQ4NDI2N2UyYTRiYzdjNWQ0YTQxMTk4NDQwMzll
MjYzMzdmNjZkOCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY0IEBACisyMDIwLTAxLTA5ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5
TGlzdCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsbHksIENTU09NIFZpZXcgTW9kdWxlIHNwZWNp
ZmljYXRpb24gKGh0dHBzOi8vd3d3LnczLm9yZy9UUi8yMDExL1dELWNzc29tLXZpZXctMjAxMTA4
MDQvI21lZGlhcXVlcnlsaXN0KQorICAgICAgICBoYWQgYSBjdXN0b20gY2FsbGJhY2sgbWVjaGFu
aXNtIHdpdGggYWRkTGlzdGVuZXIoKSBhbmQgcmVtb3ZlTGlzdGVuZXIoKSwgYW5kIHRoZSBjYWxs
YmFjayB3YXMgaW52b2tlZCB3aXRoCisgICAgICAgIHRoZSBhc3NvY2lhdGVkIE1lZGlhUXVlcnlM
aXN0IGFzIGFyZ3VtZW50LgorCisgICAgICAgIE5vdyB0aGUgbm9ybWFsIGV2ZW50IG1lY2hhbmlz
bSBpcyB1c2VkIGluc3RlYWQ6IGh0dHBzOi8vd3d3LnczLm9yZy9UUi9jc3NvbS12aWV3LTEvI21l
ZGlhcXVlcnlsaXN0LgorICAgICAgICBGb3IgYmFja3dhcmRzIGNvbXBhdGliaWxpdHksIHRoZSBh
ZGRMaXN0ZW5lcigpIGFuZCByZW1vdmVMaXN0ZW5lcigpIG1ldGhvZHMgYXJlIGJhc2ljYWxseSBh
bGlhc2VzIGZvcgorICAgICAgICBhZGRFdmVudExpc3RlbmVyKCkgYW5kIHJlbW92ZUV2ZW50TGlz
dGVuZXIoKSwgcmVzcGVjdGl2ZWx5LCBhbmQgdGhlICJjaGFuZ2UiIGV2ZW50IG1hc3F1ZXJhZGVz
IGFzIGEgTWVkaWFRdWVyeUxpc3QuCisKKyAgICAgICAgVGhpcyBwYXRjaCBpbXBsZW1lbnRzIG5l
dyBldmVudCBtZWNoYW5pc20sIGFsaWduaW5nIFdlYktpdCB3aXRoIEJsaW5rIGFuZCBTcGlkZXJN
b25rZXksIGFuZCBhbHNvIGZpeGVzCisgICAgICAgIGEgZmV3IG1pbm9yIHNwZWMgaW5jb21wYXRp
YmlsaXRpZXM6IG1hbmRhdG9yeSBsaXN0ZW5lciBhcmd1bWVudCwgImhhbmRsZUV2ZW50IiBzdXBw
b3J0LCBhbmQgbGlzdGVuZXJzIGNhbGwgb3JkZXIuCisKKyAgICAgICAgKiBDTWFrZUxpc3RzLnR4
dDoKKyAgICAgICAgKiBEZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAq
IERlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLm1ha2U6CisgICAgICAgICogU291cmNlcy50eHQ6CisgICAgICAgICogV2ViQ29yZS54Y29k
ZXByb2ovcHJvamVjdC5wYnhwcm9qOgorICAgICAgICAqIGJpbmRpbmdzL2pzL1dlYkNvcmVCdWls
dGluTmFtZXMuaDoKKyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xv
YmFsT2JqZWN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6OmpzVGVzdEdsb2JhbE9iamVjdFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JHZXR0ZXIpOiBEZWxldGVkLgorICAgICAg
ICAoV2ViQ29yZTo6anNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJD
b25zdHJ1Y3Rvcik6IERlbGV0ZWQuCisgICAgICAgIChXZWJDb3JlOjpzZXRKU1Rlc3RHbG9iYWxP
YmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yU2V0dGVyKTogRGVsZXRl
ZC4KKyAgICAgICAgKFdlYkNvcmU6OnNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyQ29uc3RydWN0b3IpOiBEZWxldGVkLgorICAgICAgICAqIGJpbmRpbmdzL3Nj
cmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDogUmVtb3ZlZC4K
KyAgICAgICAgKiBiaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lci5oOiBSZW1vdmVkLgorICAgICAgICAqIGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9UZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw6IFJlbW92ZWQuCisgICAgICAgICogY3NzL01lZGlh
UXVlcnlMaXN0LmNwcDoKKyAgICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjpNZWRpYVF1
ZXJ5TGlzdCk6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6Y3JlYXRlKToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0Ojp+TWVkaWFRdWVyeUxpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcik6CisgICAgICAgICogY3NzL01lZGlh
UXVlcnlMaXN0Lmg6CisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0LmlkbDoKKyAgICAgICAg
KiBjc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5jcHA6IEFkZGVkLgorICAgICAgICAoV2ViQ29yZTo6
TWVkaWFRdWVyeUxpc3RFdmVudDo6TWVkaWFRdWVyeUxpc3RFdmVudCk6CisgICAgICAgICogY3Nz
L01lZGlhUXVlcnlMaXN0RXZlbnQuaDogQWRkZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlM
aXN0RXZlbnQuaWRsOiBBZGRlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5oOiBSZW1vdmVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbDog
UmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OmRvY3VtZW50RGVzdHJveWVkKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjphZGRNZWRpYVF1ZXJ5TGlzdCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3ZlTWVkaWFRdWVyeUxpc3QpOgorICAg
ICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6Om1hdGNoTWVkaWEpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OmV2YWx1YXRlQWxsKToKKyAgICAgICAgKFdlYkNv
cmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjphZGRMaXN0ZW5lcik6IERlbGV0ZWQuCisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3ZlTGlzdGVuZXIpOiBEZWxldGVkLgorICAg
ICAgICAqIGNzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5oOgorICAgICAgICAqIGRvbS9FdmVudE5hbWVz
LmluOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdldC5oOgorICAgICAgICAoV2ViQ29yZTo6RXZl
bnRUYXJnZXQ6OnJlbW92ZUV2ZW50TGlzdGVuZXIpOgorICAgICAgICAqIGRvbS9FdmVudFRhcmdl
dEZhY3RvcnkuaW46CisKIDIwMjAtMDEtMDggIFl1c3VrZSBTdXp1a2kgIDx5c3V6dWtpQGFwcGxl
LmNvbT4KIAogICAgICAgICBSZWR1Y2UgYmluYXJ5IHNpemUgYnkgcHVyZ2luZyBDKysgdHlwZSBp
bmZvcm1hdGlvbiBpbiBPYmplY3RpdmUtQyBmaWVsZHMgYW5kIHBhcmFtZXRlcnMKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9y
VUkvQ2hhbmdlTG9nCmluZGV4IDk4MDE4ZTVmYjMwMWY1NmE0NTdjMzdiMzUwYjU3OGE3Njk0MmYy
MDMuLjUzNjAyOGY3MDIzOTc3N2FmZjU4NDU1Y2Y0YzMzYWIwNzY1Njk0MmYgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3Rv
clVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAxLTA5ICBBbGV4ZXkgU2h2YXlr
YSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBzaG91
bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3No
b3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMh
KS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1l
dGVycy5qczoKKwogMjAyMC0wMS0wOCAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogU291cmNlczogbm90IGFsbCBpbmplY3RlZCBzY3Jp
cHRzIGFuZCBzdHlsZSBzaGVldHMgYXJlIGZyb20gZXh0ZW5zaW9ucwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4
dAppbmRleCBiNDE0MjBiY2RkYTI3MzFkZGIzZGJiOWVjMWRjOTI1MzAxZGYzODgyLi4yZTk2MDMx
ZmQxMmJmNWRiNzU1Yjc4MDgyYWE3NWNkYTE0YjQyMWY4IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9DTWFrZUxpc3RzLnR4dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9DTWFrZUxpc3RzLnR4dApA
QCAtNjU5LDcgKzY1OSw3IEBAIHNldChXZWJDb3JlX05PTl9TVkdfSURMX0ZJTEVTCiAgICAgY3Nz
L0ZvbnRGYWNlU2V0LmlkbAogICAgIGNzcy9NZWRpYUxpc3QuaWRsCiAgICAgY3NzL01lZGlhUXVl
cnlMaXN0LmlkbAotICAgIGNzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbAorICAgIGNzcy9N
ZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbAogICAgIGNzcy9TdHlsZU1lZGlhLmlkbAogICAgIGNzcy9T
dHlsZVNoZWV0LmlkbAogICAgIGNzcy9TdHlsZVNoZWV0TGlzdC5pZGwKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CmluZGV4IDQ2YTBiYmY2MzBhY2Jj
NmExY2VhNjU3ZGI3YTU4MGM1NzE2ZjIxZTUuLjY3MjljNWY1Yzk0OWNhZTJjYzM2NmM0ZDk2Mzhj
ZjE1ZDliNWM0ZTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKKysrIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQu
eGNmaWxlbGlzdApAQCAtNTI4LDcgKzUyOCw3IEBAICQoUFJPSkVDVF9ESVIpL2Nzcy9Gb250RmFj
ZS5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9Gb250RmFjZVNldC5pZGwKICQoUFJPSkVDVF9ESVIp
L2Nzcy9NZWRpYUxpc3QuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRs
Ci0kKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKKyQoUFJPSkVD
VF9ESVIpL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbAogJChQUk9KRUNUX0RJUikvY3NzL1NW
R0NTU1ZhbHVlS2V5d29yZHMuaW4KICQoUFJPSkVDVF9ESVIpL2Nzcy9TZWxlY3RvclBzZXVkb0Ns
YXNzQW5kQ29tcGF0aWJpbGl0eUVsZW1lbnRNYXAuaW4KICQoUFJPSkVDVF9ESVIpL2Nzcy9TZWxl
Y3RvclBzZXVkb0VsZW1lbnRUeXBlTWFwLmluCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9E
ZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdCBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRT
b3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0CmluZGV4IGUxMTg2YzVmNjAzZmZhYWNmNmQ1ZjM1YWQ0
NGNlODNmZTJjZDZhZTMuLmNlNjMyZWU2MWRjMDZmYTQ0MGZmMmQzNDdiMThmMDRkZTZhOTU1YzMg
MTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVs
aXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLW91dHB1dC54Y2ZpbGVsaXN0
CkBAIC0xMDMzLDggKzEwMzMsOCBAQCAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJj
ZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVk
U291cmNlcy9XZWJDb3JlL0pTTWVkaWFMaXN0LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3QuY3BwCiAkKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0LmgKLSQoQlVJTFRf
UFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5jcHAKLSQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCiskKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCiskKEJVSUxUX1BST0RVQ1RT
X0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0RXZlbnQuaAogJChC
VUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVJlY29yZGVy
LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRp
YVJlY29yZGVyLmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3Jl
L0pTTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy5tYWtlIGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQppbmRleCAyYTU1ZmJmOThlNjU3YmJlYzQ1MjAyYTBjZDJmOGI3YzFkMDE3NGRhLi40YTc2Yzdh
ZTJhYTA0NzY3MWUyODdhZTUyNDcwNTIzMmViMjhmNDMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy5tYWtlCisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3Vy
Y2VzLm1ha2UKQEAgLTU2MSw3ICs1NjEsNyBAQCBKU19CSU5ESU5HX0lETFMgPSBcCiAgICAgJChX
ZWJDb3JlKS9jc3MvRm9udEZhY2VTZXQuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9NZWRpYUxp
c3QuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwgXAotICAgICQo
V2ViQ29yZSkvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsIFwKKyAgICAkKFdlYkNvcmUp
L2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvU3R5bGVN
ZWRpYS5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL1N0eWxlU2hlZXQuaWRsIFwKICAgICAkKFdl
YkNvcmUpL2Nzcy9TdHlsZVNoZWV0TGlzdC5pZGwgXApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvU291cmNlcy50eHQgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dAppbmRleCA0MTEyMTU1
N2FlNmYzNWRiOWFkNWY0YzFlOGFjY2NhMDg2NjNlNmZiLi43MzgxMDE3YzU4OTZlNDY5MGJkMWM1
OWYzOTc0M2FlNzI2MWVjMDZjIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4
dAorKysgYi9Tb3VyY2UvV2ViQ29yZS9Tb3VyY2VzLnR4dApAQCAtNzcxLDYgKzc3MSw3IEBAIGNz
cy9NZWRpYVF1ZXJ5LmNwcAogY3NzL01lZGlhUXVlcnlFdmFsdWF0b3IuY3BwCiBjc3MvTWVkaWFR
dWVyeUV4cHJlc3Npb24uY3BwCiBjc3MvTWVkaWFRdWVyeUxpc3QuY3BwCitjc3MvTWVkaWFRdWVy
eUxpc3RFdmVudC5jcHAKIGNzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAKIGNzcy9NZWRpYVF1ZXJ5
UGFyc2VyQ29udGV4dC5jcHAKIGNzcy9Qcm9wZXJ0eVNldENTU1N0eWxlRGVjbGFyYXRpb24uY3Bw
CkBAIC0zMDY2LDcgKzMwNjcsNyBAQCBKU01lZGlhRW5jb2RpbmdUeXBlLmNwcAogSlNNZWRpYUVy
cm9yLmNwcAogSlNNZWRpYUxpc3QuY3BwCiBKU01lZGlhUXVlcnlMaXN0LmNwcAotSlNNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmNwcAorSlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcAogSlNNZWRpYVJl
Y29yZGVyLmNwcAogSlNNZWRpYVJlY29yZGVyRXJyb3JFdmVudC5jcHAKIEpTTWVkaWFSZW1vdGVD
b250cm9scy5jcHAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9q
L3Byb2plY3QucGJ4cHJvaiBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2pl
Y3QucGJ4cHJvagppbmRleCA2ZTI4YjU3ZGM3NDRjOTgyZWFlNzEwMWE2MjJiYjE3OTBiYzlmYjcy
Li5lODUzYjk1ZDAwNzI3ZTAzMDQwNTJiNWMwMjRmNWIwZjgxY2RkNzZkIDEwMDY0NAotLS0gYS9T
b3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKKysrIGIvU291
cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCkBAIC0yMjQ2LDcg
KzIyNDYsNiBAQAogCQk3QzUyMjI5OTFFMURBRTFDMDAyQ0I4RjcgLyogQWN0aXZlRE9NQ2FsbGJh
Y2suaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTIy
Mjk4MUUxREFFMTYwMDJDQjhGNyAvKiBBY3RpdmVET01DYWxsYmFjay5oICovOyBzZXR0aW5ncyA9
IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07CiAJCTdDNTIyMjlFMUUxREFFNDcwMDJD
QjhGNyAvKiBSdW50aW1lRW5hYmxlZEZlYXR1cmVzLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzUyMjI5QzFFMURBRTQ3MDAyQ0I4RjcgLyogUnVudGlt
ZUVuYWJsZWRGZWF0dXJlcy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07CiAJCTdDNTI2Njk4MUYxQjAzMDIwMDBGMDY4QiAvKiBTdHJpbmdBZGFwdG9ycy5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M1MjY2OTYx
RjFCMDJGQzAwMEYwNjhCIC8qIFN0cmluZ0FkYXB0b3JzLmggKi87IHNldHRpbmdzID0ge0FUVFJJ
QlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKLQkJN0M1MzQzRkQxN0I3NEI2MzAwNDIzMkYwIC8q
IEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVp
bGRGaWxlOyBmaWxlUmVmID0gN0M1MzQzRkIxN0I3NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5oICovOyB9OwogCQk3QzU3QkZFNzFFREUyRjYxMDA1MzRBNDggLyogSlNE
T01BYnN0cmFjdE9wZXJhdGlvbnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IDdDNTdCRkU2MUVERTJGNUIwMDUzNEE0OCAvKiBKU0RPTUFic3RyYWN0T3Bl
cmF0aW9ucy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07
CiAJCTdDNUYyOEZDMUE4MjdEODQwMEMwRjMxRiAvKiBIVE1MQXR0YWNobWVudEVsZW1lbnQuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNUYyOEZBMUE4
MjdEODQwMEMwRjMxRiAvKiBIVE1MQXR0YWNobWVudEVsZW1lbnQuaCAqLzsgc2V0dGluZ3MgPSB7
QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzY1MjJFRjFFMDBBNEM3MDA2NzdG
MjIgLyogQXBwbGVQYXlQYXltZW50TWV0aG9kLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhC
dWlsZEZpbGU7IGZpbGVSZWYgPSA3QzY1MjJFQzFFMDBBNEM3MDA2NzdGMjIgLyogQXBwbGVQYXlQ
YXltZW50TWV0aG9kLmggKi87IH07CkBAIC0yNDg4LDYgKzI0ODcsNyBAQAogCQk4NDMwMEJEODEy
MEM5QUQ0MDAyMTk1NEEgLyogU1ZHUGF0aFNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQzMDBCRDcxMjBDOUFENDAwMjE5NTRBIC8qIFNWR1Bh
dGhTb3VyY2UuaCAqLzsgfTsKIAkJODQ1RTcyRjgwRkQyNjFFRTAwQTg3RDc5IC8qIEZpbHRlci5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ1RTcyRjcw
RkQyNjFFRTAwQTg3RDc5IC8qIEZpbHRlci5oICovOyB9OwogCQk4NDVFNzJGQzBGRDI2MjM5MDBB
ODdENzkgLyogU1ZHRmlsdGVyLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NDVFNzJGQTBGRDI2MjM5MDBBODdENzkgLyogU1ZHRmlsdGVyLmggKi87IH07
CisJCTg0NjUwRTdFMjM4N0FEN0QwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDY1MEU3QzIzODdB
RDdDMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oICovOyB9OwogCQk4NDczMEQ3NzEy
NDhGMEIzMDBEM0E5QzkgLyogRGlzdGFudExpZ2h0U291cmNlLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDczMEQ1QTEyNDhGMEIzMDBEM0E5QzkgLyog
RGlzdGFudExpZ2h0U291cmNlLmggKi87IH07CiAJCTg0NzMwRDc5MTI0OEYwQjMwMEQzQTlDOSAv
KiBGRUNvbnZvbHZlTWF0cml4LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7
IGZpbGVSZWYgPSA4NDczMEQ1QzEyNDhGMEIzMDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5o
ICovOyB9OwogCQk4NDczMEQ3QjEyNDhGMEIzMDBEM0E5QzkgLyogRkVEaWZmdXNlTGlnaHRpbmcu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NzMwRDVF
MTI0OEYwQjMwMEQzQTlDOSAvKiBGRURpZmZ1c2VMaWdodGluZy5oICovOyB9OwpAQCAtNDI1NSw3
ICs0MjU1LDYgQEAKIAkJRDM1OUQ3OEExMjlDQTI3MTAwMDZFNUQyIC8qIEhUTUxEZXRhaWxzRWxl
bWVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDM1
OUQ3ODcxMjlDQTI3MTAwMDZFNUQyIC8qIEhUTUxEZXRhaWxzRWxlbWVudC5oICovOyB9OwogCQlE
MzU5RDhCRjEyOUNBNTVDMDAwNkU1RDIgLyogSlNIVE1MRGV0YWlsc0VsZW1lbnQuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzNTlEOEJEMTI5Q0E1NUMw
MDA2RTVEMiAvKiBKU0hUTUxEZXRhaWxzRWxlbWVudC5oICovOyB9OwogCQlEM0E5NEEzOTEyMkRB
QkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQTk0QTMyMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1
ZXJ5TGlzdC5oICovOyB9OwotCQlEM0E5NEEzQjEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aCAqLzsgfTsKIAkJRDNBOTRBNDcxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3Qu
aCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQTk0QTQz
MTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggKi87IH07CiAJCUQzQUExMEY0
MTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oIGluIEhlYWRlcnMgKi8gPSB7
aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gRDNBQTEwRjIxMjNBOThBQTAwOTIxNTJCIC8q
IE1lZGlhUXVlcnlNYXRjaGVyLmggKi87IH07CiAJCUQzRDRFOTczMTMwQzdDRkUwMDdCQTU0MCAv
KiBIVE1MU3VtbWFyeUVsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEQzRDRFOTcxMTMwQzdDRkUwMDdCQTU0MCAvKiBIVE1MU3VtbWFyeUVsZW1l
bnQuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwpAQCAt
OTg3NCw4ICs5ODczLDYgQEAKIAkJN0M1MjJENDkxNUI0NzdFODAwOUI3Qzk1IC8qIEluc3BlY3Rv
ck92ZXJsYXkuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0gSW5zcGVj
dG9yT3ZlcmxheS5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNTIyRDRBMTVC
NDc4QjIwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmggKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmMuaDsgcGF0aCA9IEluc3BlY3Rvck92ZXJsYXkuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+Ijsg
fTsKIAkJN0M1MjY2OTYxRjFCMDJGQzAwMEYwNjhCIC8qIFN0cmluZ0FkYXB0b3JzLmggKi8gPSB7
aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5
cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFN0cmluZ0FkYXB0b3JzLmg7IHNvdXJjZVRyZWUg
PSAiPGdyb3VwPiI7IH07Ci0JCTdDNTM0M0ZBMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
LQkJN0M1MzQzRkIxN0I3NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuaDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzU3QkZFNjFFREUyRjVCMDA1
MzRBNDggLyogSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Yy5oOyBwYXRoID0gSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJN0M1QkVBM0ExRTlFRTc3MTAwQ0M1MTdCIC8qIE5hdmlnYXRvcklELmlkbCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHRleHQ7IHBhdGggPSBOYXZpZ2F0b3JJRC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdy
b3VwPiI7IH07CiAJCTdDNUJFQTNCMUU5RUU3NzEwMENDNTE3QiAvKiBOYXZpZ2F0b3JMYW5ndWFn
ZS5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9yTGFuZ3VhZ2UuaWRsOyBzb3Vy
Y2VUcmVlID0gIjxncm91cD4iOyB9OwpAQCAtMTAzNzMsNiArMTAzNzAsOSBAQAogCQk4NDVFNzJG
NzBGRDI2MUVFMDBBODdENzkgLyogRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsg
cGF0aCA9IEZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDVFNzJGOTBG
RDI2MjM5MDBBODdENzkgLyogU1ZHRmlsdGVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3Bw
LmNwcDsgcGF0aCA9IFNWR0ZpbHRlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg0NUU3MkZBMEZEMjYyMzkwMEE4N0Q3OSAvKiBTVkdGaWx0ZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuYy5oOyBwYXRoID0gU1ZHRmlsdGVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg0NjUwRTdDMjM4N0FEN0MwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0RXZlbnQuaDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKKwkJODQ2NTBFN0YyMzg3QUQ4QTAwNjI2NkUyIC8qIE1l
ZGlhUXVlcnlMaXN0RXZlbnQuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVF
bmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRo
ID0gTWVkaWFRdWVyeUxpc3RFdmVudC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJ
CTg0NjUwRTgwMjM4N0FEOEIwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbDsgc291cmNlVHJlZSA9
ICI8Z3JvdXA+IjsgfTsKIAkJODQ3MzBENUExMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3RhbnRMaWdo
dFNvdXJjZS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBEaXN0YW50TGlnaHRT
b3VyY2UuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ3MzBENUIxMjQ4RjBCMzAw
RDNBOUM5IC8qIEZFQ29udm9sdmVNYXRyaXguY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAu
Y3BwOyBwYXRoID0gRkVDb252b2x2ZU1hdHJpeC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CiAJCTg0NzMwRDVDMTI0OEYwQjMwMEQzQTlDOSAvKiBGRUNvbnZvbHZlTWF0cml4LmggKi8g
PSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmls
ZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEZFQ29udm9sdmVNYXRyaXguaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTE0Mzk5LDggKzE0Mzk5LDYgQEAKIAkJRDNBOTRBMzEx
MjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxl
UmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNv
ZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0LmNwcDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDNBOTRBMzIxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0Lmgg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0Lmg7IHNvdXJj
ZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0QTMzMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRp
YVF1ZXJ5TGlzdC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFRdWVyeUxpc3QuaWRs
OyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEM0E5NEEzNDEyMkRBQkFDMDBBMzdCQkMg
LyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
Ci0JCUQzQTk0QTM1MTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlk
bCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHRleHQ7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbDsgc291
cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJRDNBOTRBNDIxMjJEQzQwRjAwQTM3QkJDIC8qIEpT
TWVkaWFRdWVyeUxpc3QuY3BwICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jcHAuY3BwOyBwYXRoID0g
SlNNZWRpYVF1ZXJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0
QTQzMTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmMuaDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3QuaDsgc291cmNlVHJlZSA9ICI8Z3Jv
dXA+IjsgfTsKIAkJRDNBQTEwRjExMjNBOThBQTAwOTIxNTJCIC8qIE1lZGlhUXVlcnlNYXRjaGVy
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlNYXRj
aGVyLmNwcDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTIzOTIwLDggKzIzOTE4LDYg
QEAKIAkJCQlCQzNDMzlCNTBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuaCAqLywKIAkJ
CQlEM0E5NEE0MjEyMkRDNDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5jcHAgKi8sCiAJ
CQkJRDNBOTRBNDMxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuaCAqLywKLQkJ
CQk3QzUzNDNGQTE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cCAqLywKLQkJCQk3QzUzNDNGQjE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmggKi8sCiAJCQkJMEZGNTAyNjcxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRp
YS5jcHAgKi8sCiAJCQkJMEZGNTAyNjgxMDJCQTk0MzAwNjZGMzlBIC8qIEpTU3R5bGVNZWRpYS5o
ICovLAogCQkJCUJDRTAxMzk4MEMwQkVGMTgwMDQzODYwQSAvKiBKU1N0eWxlU2hlZXQuY3BwICov
LApAQCAtMjc1OTAsOCArMjc1ODYsOSBAQAogCQkJCUQzQTk0QTMxMTIyREFCQUMwMEEzN0JCQyAv
KiBNZWRpYVF1ZXJ5TGlzdC5jcHAgKi8sCiAJCQkJRDNBOTRBMzIxMjJEQUJBQzAwQTM3QkJDIC8q
IE1lZGlhUXVlcnlMaXN0LmggKi8sCiAJCQkJRDNBOTRBMzMxMjJEQUJBQzAwQTM3QkJDIC8qIE1l
ZGlhUXVlcnlMaXN0LmlkbCAqLywKLQkJCQlEM0E5NEEzNDEyMkRBQkFDMDBBMzdCQkMgLyogTWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5oICovLAotCQkJCUQzQTk0QTM1MTIyREFCQUMwMEEzN0JCQyAv
KiBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbCAqLywKKwkJCQk4NDY1MEU3RjIzODdBRDhBMDA2
MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAgKi8sCisJCQkJODQ2NTBFN0MyMzg3QUQ3
QzAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuaCAqLywKKwkJCQk4NDY1MEU4MDIzODdB
RDhCMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwgKi8sCiAJCQkJRDNBQTEwRjEx
MjNBOThBQTAwOTIxNTJCIC8qIE1lZGlhUXVlcnlNYXRjaGVyLmNwcCAqLywKIAkJCQlEM0FBMTBG
MjEyM0E5OEFBMDA5MjE1MkIgLyogTWVkaWFRdWVyeU1hdGNoZXIuaCAqLywKIAkJCQk0NDcxNzEw
QjIwNUFGOTQ1MDAwQTExNkUgLyogTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuY3BwICovLApAQCAt
MzA4NDcsNyArMzA4NDQsNiBAQAogCQkJCUJDM0MzOUI3MEMwRDNEOEQwMDVGNEQ3QSAvKiBKU01l
ZGlhTGlzdC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTNENDM3QTMxRDU3QjdFMjAwQUI4NUVBIC8q
IEpTTWVkaWFMaXN0Q3VzdG9tLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0E5NEE0NzEyMkRDNDBG
MDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5oIGluIEhlYWRlcnMgKi8sCi0JCQkJN0M1MzQz
RkQxN0I3NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGluIEhlYWRl
cnMgKi8sCiAJCQkJQ0Q5REUxNzUxN0FBQzc0QzAwRUEzODZEIC8qIEpTTWVkaWFTb3VyY2UuaCBp
biBIZWFkZXJzICovLAogCQkJCTA3Mjc3RTREMTdEMDE4Q0MwMDE1NTM0RCAvKiBKU01lZGlhU3Ry
ZWFtLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3N0U0RjE3RDAxOENDMDAxNTUzNEQgLyogSlNN
ZWRpYVN0cmVhbUF1ZGlvRGVzdGluYXRpb25Ob2RlLmggaW4gSGVhZGVycyAqLywKQEAgLTMxNDcw
LDcgKzMxNDY2LDcgQEAKIAkJCQk0RTE5NTkyQzBBMzlEQUNDMDAyMjBGRTUgLyogTWVkaWFRdWVy
eUV2YWx1YXRvci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJN0NCNUNBNDAxRTUyNUM3MzAwRkFFRjEz
IC8qIE1lZGlhUXVlcnlFeHByZXNzaW9uLmggaW4gSGVhZGVycyAqLywKIAkJCQlEM0E5NEEzOTEy
MkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCUQz
QTk0QTNCMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggaW4gSGVh
ZGVycyAqLywKKwkJCQk4NDY1MEU3RTIzODdBRDdEMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RF
dmVudC5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBQTEwRjQxMjNBOThBQTAwOTIxNTJCIC8qIE1l
ZGlhUXVlcnlNYXRjaGVyLmggaW4gSGVhZGVycyAqLywKIAkJCQk5NDkzQjZDMTFENzRCNDEyMDA4
OEU3ODAgLyogTWVkaWFRdWVyeVBhcnNlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJNDQ3MTcxMEUy
MDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmggaW4gSGVhZGVycyAq
LywKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGlu
TmFtZXMuaCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMu
aAppbmRleCAyMjhjOGU5MTcxNzdkZjE5ZmE1NDI4Zjc1YmU5Y2I1ZTRmYTllNjI3Li5mMDE5NmUz
ZWM1NzEzMmZhMzdlN2ZmMGU5MzdhZTFlMjExNWE1NmU2IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKKysrIGIvU291cmNlL1dlYkNv
cmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCkBAIC0xNDksNiArMTQ5LDcgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogICAgIG1hY3JvKE1lZGlhS2V5U3RhdHVzTWFwKSBcCiAgICAg
bWFjcm8oTWVkaWFLZXlTeXN0ZW1BY2Nlc3MpIFwKICAgICBtYWNybyhNZWRpYUtleXMpIFwKKyAg
ICBtYWNybyhNZWRpYVF1ZXJ5TGlzdEV2ZW50KSBcCiAgICAgbWFjcm8oTWVkaWFSZWNvcmRlcikg
XAogICAgIG1hY3JvKE1lZGlhUmVjb3JkZXJFcnJvckV2ZW50KSBcCiAgICAgbWFjcm8oTWVkaWFT
b3VyY2UpIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVz
dC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2Ny
aXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAKaW5kZXggMDFkODk3ZTQ3YmQ0YzU3
NDVkOWQ3MmNiOWE0OTgxODM3NWY3MzhjNS4uNWU2NGY5NzQ2MzZmMWEwMzgwYmEyNmU3MmUyNGYw
NWYwMWVjNDZlYiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdEdsb2JhbE9iamVjdC5jcHAKQEAgLTUzLDcgKzUzLDYg
QEAKICNpbmNsdWRlICJKU1Rlc3RJdGVyYWJsZS5oIgogI2luY2x1ZGUgIkpTVGVzdEpTQnVpbHRp
bkNvbnN0cnVjdG9yLmgiCiAjaW5jbHVkZSAiSlNUZXN0TWFwTGlrZS5oIgotI2luY2x1ZGUgIkpT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKICNpbmNsdWRlICJKU1Rlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXIuaCIKICNpbmNsdWRlICJKU1Rlc3ROYW1lZEFuZEluZGV4
ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbi5oIgogI2luY2x1ZGUgIkpTVGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlcldpdGhJZGVudGlmaWVyLmgiCkBAIC0yMDYsOCArMjA1LDYgQEAgSlNDOjpFbmNv
ZGVkSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25z
dHJ1Y3RvcihKU0M6OkoKIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdEpTQnVpbHRpbkNv
bnN0cnVjdG9yQ29uc3RydWN0b3IoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpT
VmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RH
bG9iYWxPYmplY3RUZXN0TWFwTGlrZUNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CiBib29sIHNldEpTVGVzdEds
b2JhbE9iamVjdFRlc3RNYXBMaWtlQ29uc3RydWN0b3IoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpT
Qzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwotSlNDOjpFbmNvZGVkSlNW
YWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVj
dG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3Bl
cnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQ29uc3RydWN0b3IoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFs
dWUsIEpTQzo6RW5jb2RlZEpTVmFsdWUpOwogSlNDOjpFbmNvZGVkSlNWYWx1ZSBqc1Rlc3RHbG9i
YWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3Io
SlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlO
YW1lKTsKIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
ck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29k
ZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNU
ZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9u
Q29uc3RydWN0b3IoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpT
Qzo6UHJvcGVydHlOYW1lKTsKQEAgLTI5OSwxMSArMjk2LDExIEBAIHVzaW5nIEpTVGVzdEdsb2Jh
bE9iamVjdENvbnN0cnVjdG9yID0gSlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNU
ZXN0R2xvCiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9i
YWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDM3LCAt
MSB9LAorICAgIHsgMzYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDAsIC0xIH0sCiAg
ICAgeyA0LCAyNjIgfSwKLSAgICB7IDQxLCAtMSB9LAorICAgIHsgNDAsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0zMTEsNyArMzA4
LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9i
amVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDUxLCAtMSB9LAorICAgIHsgNTAsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0zMTksNyAr
MzE2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2Jh
bE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDYzLCAtMSB9LAorICAgIHsgNjIsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC0zMzMs
MTMgKzMzMCwxMyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0
R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMzEsIC0xIH0sCisgICAgeyAzMCwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2NiwgLTEgfSwKKyAgICB7IDY1
LCAtMSB9LAogICAgIHsgOSwgMjU4IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LApAQCAtMzQ4LDcgKzM0NSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRl
eCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzNSwgLTEgfSwKKyAgICB7
IDM0LCAtMSB9LAogICAgIHsgMTYsIDI2MyB9LAogICAgIHsgNiwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LApAQCAtMzYxLDcgKzM1OCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJ
bmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzMywgLTEgfSwKKyAg
ICB7IDMyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LApAQCAtMzgzLDcgKzM4MCw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhh
c2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1NywgLTEgfSwK
KyAgICB7IDU2LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LApAQCAtMzkyLDI4ICszODksMjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21w
YWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgMjAsIDI1NiB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1OCwg
LTEgfSwKKyAgICB7IDU3LCAtMSB9LAogICAgIHsgMTUsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAotICAgIHsgNDMsIC0xIH0sCisgICAgeyA0MiwgLTEgfSwKICAgICB7
IDE0LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzMiwgLTEgfSwKKyAgICB7IDMxLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNDcsIC0x
IH0sCisgICAgeyA0NiwgLTEgfSwKICAgICB7IDIxLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAyLCAtMSB9LAotICAgIHsgMzQsIC0xIH0sCisgICAgeyAzMywgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTQyMywyMiArNDIw
LDIyIEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxP
YmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1NSwgLTEgfSwKKyAgICB7IDU0LCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDI4LCAtMSB9LAotICAgIHsgMjQsIC0xIH0s
CisgICAgeyAyNywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMzksIC0xIH0sCisgICAg
eyAtMSwgLTEgfSwKKyAgICB7IDM4LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
LSAgICB7IDUwLCAtMSB9LAorICAgIHsgNDksIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDEwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC00NTYsMTIgKzQ1MywxMiBAQCBzdGF0aWMg
Y29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRl
eFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgNjQsIC0xIH0sCisgICAgeyA2MywgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDI5LCAtMSB9LAotICAgIHsg
MjYsIDI2MSB9LAorICAgIHsgMjgsIC0xIH0sCisgICAgeyAyNSwgMjYxIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC00NzMsNyArNDcwLDcg
QEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVj
dFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMTIsIDI1NyB9LAog
ICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1OSwgLTEgfSwKKyAgICB7IDU4LCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtNDgyLDE3ICs0
NzksMTcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2Jh
bE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDMwLCAyNjUgfSwKKyAgICB7IDI5LCAyNjUgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgMTMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDYyLCAtMSB9LAorICAgIHsgNjEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAot
ICAgIHsgNDUsIC0xIH0sCisgICAgeyA0NCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTUwNSw3ICs1MDIsNyBAQCBzdGF0aWMgY29u
c3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsy
NjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAotICAgIHsgNTMsIC0xIH0sCisgICAgeyA1MiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTUyNywxMiArNTI0LDEyIEBAIHN0YXRp
YyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUlu
ZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCi0gICAgeyA0NiwgLTEgfSwKKyAgICB7IDQ1LCAtMSB9LAogICAgIHsgNywgMjYwIH0s
CiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDYwLCAtMSB9LAorICAgIHsgNTksIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKLSAgICB7IDQ0LCAtMSB9LAorICAgIHsgNDMsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC01NDIsMjggKzUzOSwy
OCBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2Jq
ZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgMjIsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAotICAgIHsgMjUsIC0xIH0sCisgICAgeyAyNCwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0MiwgLTEgfSwKKyAgICB7IDQxLCAt
MSB9LAogICAgIHsgMywgLTEgfSwKLSAgICB7IDQ4LCAtMSB9LAorICAgIHsgNDcsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ5LCAtMSB9LAorICAgIHsgNDgsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IDIzLCAyNTkgfSwKLSAgICB7IDI3LCAtMSB9LAotICAgIHsgMzYsIC0xIH0sCi0g
ICAgeyAzOCwgLTEgfSwKLSAgICB7IDQwLCAtMSB9LAotICAgIHsgNTIsIC0xIH0sCi0gICAgeyA1
NCwgLTEgfSwKLSAgICB7IDU2LCAtMSB9LAotICAgIHsgNjEsIC0xIH0sCi0gICAgeyA2NSwgLTEg
fSwKKyAgICB7IDI2LCAtMSB9LAorICAgIHsgMzUsIC0xIH0sCisgICAgeyAzNywgLTEgfSwKKyAg
ICB7IDM5LCAtMSB9LAorICAgIHsgNTEsIC0xIH0sCisgICAgeyA1MywgLTEgfSwKKyAgICB7IDU1
LCAtMSB9LAorICAgIHsgNjAsIC0xIH0sCisgICAgeyA2NCwgLTEgfSwKIH07CiAKIApAQCAtNjA1
LDcgKzYwMiw2IEBAIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RHbG9iYWxPYmpl
Y3RUYWJsZVZhbHVlc1tdID0KICAgICB7ICJUZXN0SXRlcmFibGUiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEds
b2JhbE9iamVjdFRlc3RJdGVyYWJsZUNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2Fz
dDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVz
dEl0ZXJhYmxlQ29uc3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0SlNCdWlsdGluQ29uc3RydWN0
b3IiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNv
bnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZh
bHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29u
c3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TWFwTGlrZSIsIHN0YXRpY19jYXN0PHVuc2lnbmVk
PihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRw
dHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFs
T2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0
UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNYXBM
aWtlQ29uc3RydWN0b3IpIH0gfSwKLSAgICB7ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIs
IHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSks
IE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZh
bHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25z
dHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29u
c3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlm
aWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRF
bnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6
R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVy
Tm9JZGVudGlmaWVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3Bl
cnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2Jh
bE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVj
dG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVu
Yz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5n
RXhjZXB0aW9uQ29uc3RydWN0b3IpIH0gfSwKICAgICB7ICJUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyV2l0aElkZW50aWZpZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0
aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2Jq
ZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyQ29uc3RydWN0b3IpIH0g
fSwKQEAgLTY1NCw3ICs2NTAsNyBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0
R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAicmVndWxhck9wZXJhdGlvbiIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpGdW5jdGlvbiksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxSYXdOYXRpdmVGdW5jdGlvbj4oanNU
ZXN0R2xvYmFsT2JqZWN0SW5zdGFuY2VGdW5jdGlvblJlZ3VsYXJPcGVyYXRpb24pLCAoaW50cHRy
X3QpICgxKSB9IH0sCiB9OwogCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEdsb2JhbE9i
amVjdFRhYmxlID0geyA2NywgMjU1LCB0cnVlLCBKU1Rlc3RHbG9iYWxPYmplY3Q6OmluZm8oKSwg
SlNUZXN0R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXMsIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5k
ZXggfTsKK3N0YXRpYyBjb25zdCBIYXNoVGFibGUgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGUgPSB7
IDY2LCAyNTUsIHRydWUsIEpTVGVzdEdsb2JhbE9iamVjdDo6aW5mbygpLCBKU1Rlc3RHbG9iYWxP
YmplY3RUYWJsZVZhbHVlcywgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleCB9OwogLyogSGFz
aCB0YWJsZSBmb3IgY29uc3RydWN0b3IgKi8KIAogc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVl
IEpTVGVzdEdsb2JhbE9iamVjdENvbnN0cnVjdG9yVGFibGVWYWx1ZXNbXSA9CkBAIC0xNTAwLDMx
ICsxNDk2LDYgQEAgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNvbnN0cnVj
dG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2IKICAgICByZXR1cm4gSURMQXR0cmli
dXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFw
TGlrZUNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBl
bmNvZGVkVmFsdWUsICJUZXN0TWFwTGlrZSIpOwogfQogCi1zdGF0aWMgaW5saW5lIEpTVmFsdWUg
anNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvckdl
dHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2Jq
ZWN0JiB0aGlzT2JqZWN0LCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQotewotICAgIFVOVVNFRF9Q
QVJBTSh0aHJvd1Njb3BlKTsKLSAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7
Ci0gICAgcmV0dXJuIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmdldENvbnN0cnVjdG9y
KEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCB0aGlzT2JqZWN0Lmdsb2JhbE9iamVj
dCgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9i
amVjdCwgRW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBQcm9wZXJ0eU5hbWUpCi17Ci0gICAgcmV0
dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpnZXQ8anNUZXN0R2xvYmFsT2Jq
ZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvckdldHRlcj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIik7Ci19
Ci0KLXN0YXRpYyBpbmxpbmUgYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yU2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIEpTVmFsdWUgdmFsdWUs
IFRocm93U2NvcGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9i
YWxPYmplY3QpOwotICAgIFZNJiB2bSA9IHRocm93U2NvcGUudm0oKTsKLSAgICAvLyBTaGFkb3dp
bmcgYSBidWlsdC1pbiBjb25zdHJ1Y3Rvci4KLSAgICByZXR1cm4gdGhpc09iamVjdC5wdXREaXJl
Y3Qodm0sIElkZW50aWZpZXI6OmZyb21TdHJpbmcodm0sIHJlaW50ZXJwcmV0X2Nhc3Q8Y29uc3Qg
TENoYXIqPigiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiKSwgc3RybGVuKCJUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciIpKSwgdmFsdWUpOwotfQotCi1ib29sIHNldEpTVGVzdEdsb2JhbE9i
amVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3Qq
IGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpT
VmFsdWUgZW5jb2RlZFZhbHVlKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xv
YmFsT2JqZWN0Pjo6c2V0PHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQ29uc3RydWN0b3JTZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
IGVuY29kZWRWYWx1ZSwgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIik7Ci19Ci0KIHN0YXRp
YyBpbmxpbmUgSlNWYWx1ZSBqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0
dGVyTm9JZGVudGlmaWVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxH
bG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgVGhyb3dTY29wZSYg
dGhyb3dTY29wZSkKIHsKICAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7CmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
SlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGUwM2E3MWVlNjFhZTExZTFkOWNjYjRjNTI0NmExOGU0NDg0Zjg5MmUuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3Bw
CisrKyAvZGV2L251bGwKQEAgLTEsMjY2ICswLDAgQEAKLS8qCi0gICAgVGhpcyBmaWxlIGlzIHBh
cnQgb2YgdGhlIFdlYktpdCBvcGVuIHNvdXJjZSBwcm9qZWN0LgotICAgIFRoaXMgZmlsZSBoYXMg
YmVlbiBnZW5lcmF0ZWQgYnkgZ2VuZXJhdGUtYmluZGluZ3MucGwuIERPIE5PVCBNT0RJRlkhCi0K
LSAgICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUg
aXQgYW5kL29yCi0gICAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMKLSAgICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBT
b2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAgICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2Us
IG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0KLSAgICBUaGlzIGxpYnJh
cnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAg
ICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJy
YW50eSBvZgotICAgIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIg
UFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gICAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNl
IGZvciBtb3JlIGRldGFpbHMuCi0KLSAgICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gICAgYWxvbmcgd2l0
aCB0aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUg
dG8KLSAgICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBT
dHJlZXQsIEZpZnRoIEZsb29yLAotICAgIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotKi8K
LQotI2luY2x1ZGUgImNvbmZpZy5oIgotI2luY2x1ZGUgIkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuaCIKLQotI2luY2x1ZGUgIkFjdGl2ZURPTU9iamVjdC5oIgotI2luY2x1ZGUgIkpTRE9N
QmluZGluZy5oIgotI2luY2x1ZGUgIkpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlLmgi
Ci0jaW5jbHVkZSAiSlNET01Db252ZXJ0Q2FsbGJhY2tzLmgiCi0jaW5jbHVkZSAiSlNET01FeGNl
cHRpb25IYW5kbGluZy5oIgotI2luY2x1ZGUgIkpTRE9NR2xvYmFsT2JqZWN0LmgiCi0jaW5jbHVk
ZSAiSlNET01PcGVyYXRpb24uaCIKLSNpbmNsdWRlICJKU0RPTVdyYXBwZXJDYWNoZS5oIgotI2lu
Y2x1ZGUgIkpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgotI2luY2x1ZGUgIlNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQuaCIKLSNpbmNsdWRlIDxKYXZhU2NyaXB0Q29yZS9GdW5jdGlvblByb3RvdHlw
ZS5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0hlYXBBbmFseXplci5oPgotI2luY2x1ZGUg
PEphdmFTY3JpcHRDb3JlL0pTQ0lubGluZXMuaD4KLSNpbmNsdWRlIDx3dGYvR2V0UHRyLmg+Ci0j
aW5jbHVkZSA8d3RmL1BvaW50ZXJQcmVwYXJhdGlvbnMuaD4KLSNpbmNsdWRlIDx3dGYvVVJMLmg+
Ci0KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotdXNpbmcgbmFtZXNwYWNlIEpTQzsKLQotLy8gRnVu
Y3Rpb25zCi0KLUpTQzo6RW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2QoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTQzo6Q2FsbEZyYW1lKik7Ci0KLS8vIEF0dHJpYnV0ZXMKLQotSlNDOjpFbmNvZGVkSlNW
YWx1ZSBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTQzo6RW5jb2RlZEpTVmFsdWUsIEpTQzo6UHJvcGVydHlOYW1lKTsKLWJvb2wg
c2V0SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKLQotY2xh
c3MgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSA6IHB1YmxpYyBKU0M6OkpT
Tm9uRmluYWxPYmplY3QgewotcHVibGljOgotICAgIHVzaW5nIEJhc2UgPSBKU0M6OkpTTm9uRmlu
YWxPYmplY3Q7Ci0gICAgc3RhdGljIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5
cGUqIGNyZWF0ZShKU0M6OlZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwg
SlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICB7Ci0gICAgICAgIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJQcm90b3R5cGUqIHB0ciA9IG5ldyAoTm90TnVsbCwgSlNDOjphbGxvY2F0
ZUNlbGw8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZT4odm0uaGVhcCkpIEpT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCwgc3Ry
dWN0dXJlKTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgICAgIHJldHVy
biBwdHI7Ci0gICAgfQotCi0gICAgREVDTEFSRV9JTkZPOwotICAgIHN0YXRpYyBKU0M6OlN0cnVj
dHVyZSogY3JlYXRlU3RydWN0dXJlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIEpTQzo6SlNWYWx1ZSBwcm90b3R5cGUpCi0gICAgewotICAgICAgICByZXR1
cm4gSlNDOjpTdHJ1Y3R1cmU6OmNyZWF0ZSh2bSwgZ2xvYmFsT2JqZWN0LCBwcm90b3R5cGUsIEpT
Qzo6VHlwZUluZm8oSlNDOjpPYmplY3RUeXBlLCBTdHJ1Y3R1cmVGbGFncyksIGluZm8oKSk7Ci0g
ICAgfQotCi1wcml2YXRlOgotICAgIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5
cGUoSlNDOjpWTSYgdm0sIEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OlN0cnVjdHVyZSogc3Ry
dWN0dXJlKQotICAgICAgICA6IEpTQzo6SlNOb25GaW5hbE9iamVjdCh2bSwgc3RydWN0dXJlKQot
ICAgIHsKLSAgICB9Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci1T
VEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyUHJvdG90eXBlLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpC
YXNlKTsKLQotdXNpbmcgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yID0g
SlNET01Db25zdHJ1Y3Rvck5vdENvbnN0cnVjdGFibGU8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcj47Ci0KLXRlbXBsYXRlPD4gSlNWYWx1ZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Q29uc3RydWN0b3I6OnByb3RvdHlwZUZvclN0cnVjdHVyZShKU0M6OlZNJiB2bSwgY29uc3QgSlNE
T01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICBVTlVTRURfUEFSQU0odm0pOwot
ICAgIHJldHVybiBnbG9iYWxPYmplY3QuZnVuY3Rpb25Qcm90b3R5cGUoKTsKLX0KLQotdGVtcGxh
dGU8PiB2b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rvcjo6aW5pdGlh
bGl6ZVByb3BlcnRpZXMoVk0mIHZtLCBKU0RPTUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQot
ewotICAgIHB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+cHJvdG90eXBlLCBKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpwcm90b3R5cGUodm0sIGdsb2JhbE9iamVjdCksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnREZWxldGUgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpS
ZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBwdXREaXJl
Y3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPm5hbWUsIGpzTm9udHJpdmlhbFN0cmluZyh2bSwgU3Ry
aW5nKCJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciJfcykpLCBKU0M6OlByb3BlcnR5QXR0cmli
dXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLSAgICBw
dXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPmxlbmd0aCwganNOdW1iZXIoMCksIEpTQzo6
UHJvcGVydHlBdHRyaWJ1dGU6OlJlYWRPbmx5IHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9u
dEVudW0pOwotfQotCi10ZW1wbGF0ZTw+IGNvbnN0IENsYXNzSW5mbyBKU1Rlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6OnNfaW5mbyA9IHsgIlRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyIiwgJkJhc2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9U
QUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IpIH07Ci0KLS8qIEhh
c2ggdGFibGUgZm9yIHByb3RvdHlwZSAqLwotCi1zdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxlVmFsdWVzW10gPQotewot
ICAgIHsgImNvbnN0cnVjdG9yIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IpIH0g
fSwKLSAgICB7ICJtZXRob2QiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVG
dW5jdGlvbk1ldGhvZCksIChpbnRwdHJfdCkgKDEpIH0gfSwKLX07Ci0KLWNvbnN0IENsYXNzSW5m
byBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpzX2luZm8gPSB7ICJUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIs
IG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
clByb3RvdHlwZSkgfTsKLQotdm9pZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90
eXBlOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0pCi17Ci0gICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24o
dm0pOwotICAgIHJlaWZ5U3RhdGljUHJvcGVydGllcyh2bSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcjo6aW5mbygpLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlVGFi
bGVWYWx1ZXMsICp0aGlzKTsKLX0KLQotY29uc3QgQ2xhc3NJbmZvIEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXI6OnNfaW5mbyA9IHsgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIiwgJkJh
c2U6OnNfaW5mbywgbnVsbHB0ciwgbnVsbHB0ciwgQ1JFQVRFX01FVEhPRF9UQUJMRShKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKSB9OwotCi1KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
OjpKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKFN0cnVjdHVyZSogc3RydWN0dXJlLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0LCBSZWY8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+JiYgaW1wbCkKLSAgICA6IEpTRE9NV3JhcHBlcjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cj4oc3RydWN0dXJlLCBnbG9iYWxPYmplY3QsIFdURk1vdmUoaW1wbCkpCi17Ci19Ci0KLXZvaWQg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQotewot
ICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICBBU1NFUlQoaW5oZXJpdHModm0sIGlu
Zm8oKSkpOwotCi0gICAgc3RhdGljX2Fzc2VydCghc3RkOjppc19iYXNlX29mPEFjdGl2ZURPTU9i
amVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+Ojp2YWx1ZSwgIkludGVyZmFjZSBpcyBu
b3QgbWFya2VkIGFzIFtBY3RpdmVET01PYmplY3RdIGV2ZW4gdGhvdWdoIGltcGxlbWVudGF0aW9u
IGNsYXNzIHN1YmNsYXNzZXMgQWN0aXZlRE9NT2JqZWN0LiIpOwotCi19Ci0KLUpTT2JqZWN0KiBK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpjcmVhdGVQcm90b3R5cGUoVk0mIHZtLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpjcmVhdGUodm0sICZnbG9iYWxPYmplY3QsIEpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGU6OmNyZWF0ZVN0cnVjdHVyZSh2bSwgJmds
b2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0Lm9iamVjdFByb3RvdHlwZSgpKSk7Ci19Ci0KLUpTT2Jq
ZWN0KiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpwcm90b3R5cGUoVk0mIHZtLCBKU0RP
TUdsb2JhbE9iamVjdCYgZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBnZXRET01Qcm90b3R5
cGU8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4odm0sIGdsb2JhbE9iamVjdCk7Ci19Ci0K
LUpTVmFsdWUgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Z2V0Q29uc3RydWN0b3IoVk0m
IHZtLCBjb25zdCBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0KQotewotICAgIHJldHVybiBn
ZXRET01Db25zdHJ1Y3RvcjxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I+
KHZtLCAqanNDYXN0PGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0Kj4oZ2xvYmFsT2JqZWN0KSk7Ci19
Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6ZGVzdHJveShKU0M6OkpTQ2Vs
bCogY2VsbCkKLXsKLSAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiB0aGlzT2JqZWN0
ID0gc3RhdGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KGNlbGwpOwotICAg
IHRoaXNPYmplY3QtPkpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6On5KU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyKCk7Ci19Ci0KLXRlbXBsYXRlPD4gaW5saW5lIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIqIElETE9wZXJhdGlvbjxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Pjo6Y2FzdChKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgQ2FsbEZyYW1lJiBj
YWxsRnJhbWUpCi17Ci0gICAgcmV0dXJuIGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcio+KEpTQzo6Z2V0Vk0oJmxleGljYWxHbG9iYWxPYmplY3QpLCBjYWxsRnJhbWUu
dGhpc1ZhbHVlKCkpOwotfQotCi1FbmNvZGVkSlNWYWx1ZSBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVu
Y29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQotewotICAgIFZNJiB2bSA9IEpT
Qzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVD
TEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgYXV0byogcHJvdG90eXBlID0ganNEeW5hbWljQ2Fz
dDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKj4odm0sIEpTVmFsdWU6OmRl
Y29kZSh0aGlzVmFsdWUpKTsKLSAgICBpZiAoVU5MSUtFTFkoIXByb3RvdHlwZSkpCi0gICAgICAg
IHJldHVybiB0aHJvd1ZNVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUp
OwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cjo6Z2V0Q29uc3RydWN0b3IoSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KSwgcHJvdG90
eXBlLT5nbG9iYWxPYmplY3QoKSkpOwotfQotCi1ib29sIHNldEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwg
RW5jb2RlZEpTVmFsdWUgdGhpc1ZhbHVlLCBFbmNvZGVkSlNWYWx1ZSBlbmNvZGVkVmFsdWUpCi17
Ci0gICAgVk0mIHZtID0gSlNDOjpnZXRWTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBhdXRv
IHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLSAgICBhdXRvKiBwcm90b3R5
cGUgPSBqc0R5bmFtaWNDYXN0PEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUq
Pih2bSwgSlNWYWx1ZTo6ZGVjb2RlKHRoaXNWYWx1ZSkpOwotICAgIGlmIChVTkxJS0VMWSghcHJv
dG90eXBlKSkgewotICAgICAgICB0aHJvd1ZNVHlwZUVycm9yKGxleGljYWxHbG9iYWxPYmplY3Qs
IHRocm93U2NvcGUpOwotICAgICAgICByZXR1cm4gZmFsc2U7Ci0gICAgfQotICAgIC8vIFNoYWRv
d2luZyBhIGJ1aWx0LWluIGNvbnN0cnVjdG9yCi0gICAgcmV0dXJuIHByb3RvdHlwZS0+cHV0RGly
ZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5jb25zdHJ1Y3RvciwgSlNWYWx1ZTo6ZGVjb2RlKGVu
Y29kZWRWYWx1ZSkpOwotfQotCi1zdGF0aWMgaW5saW5lIEpTQzo6RW5jb2RlZEpTVmFsdWUganNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kQm9keShKU0M6
OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OkNhbGxGcmFtZSogY2Fs
bEZyYW1lLCB0eXBlbmFtZSBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cj46OkNsYXNzUGFyYW1ldGVyIGNhc3RlZFRoaXMsIEpTQzo6VGhyb3dTY29wZSYgdGhyb3dTY29w
ZSkKLXsKLSAgICBVTlVTRURfUEFSQU0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgVU5VU0VE
X1BBUkFNKGNhbGxGcmFtZSk7Ci0gICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwotICAgIGF1
dG8mIGltcGwgPSBjYXN0ZWRUaGlzLT53cmFwcGVkKCk7Ci0gICAgaWYgKFVOTElLRUxZKGNhbGxG
cmFtZS0+YXJndW1lbnRDb3VudCgpIDwgMSkpCi0gICAgICAgIHJldHVybiB0aHJvd1ZNRXJyb3Io
bGV4aWNhbEdsb2JhbE9iamVjdCwgdGhyb3dTY29wZSwgY3JlYXRlTm90RW5vdWdoQXJndW1lbnRz
RXJyb3IobGV4aWNhbEdsb2JhbE9iamVjdCkpOwotICAgIGF1dG8gbGlzdGVuZXIgPSBjb252ZXJ0
PElETENhbGxiYWNrRnVuY3Rpb248SlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPj4oKmxleGljYWxH
bG9iYWxPYmplY3QsIGNhbGxGcmFtZS0+dW5jaGVja2VkQXJndW1lbnQoMCksICpjYXN0ZWRUaGlz
LT5nbG9iYWxPYmplY3QoKSwgW10oSlNDOjpKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9i
amVjdCwgSlNDOjpUaHJvd1Njb3BlJiBzY29wZSkgeyB0aHJvd0FyZ3VtZW50TXVzdEJlRnVuY3Rp
b25FcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCBzY29wZSwgMCwgImxpc3RlbmVyIiwgIlRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIiwgIm1ldGhvZCIpOyB9KTsKLSAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIGVuY29kZWRKU1ZhbHVlKCkpOwotICAgIGltcGwubWV0aG9kKGxp
c3RlbmVyLnJlbGVhc2VOb25OdWxsKCkpOwotICAgIHJldHVybiBKU1ZhbHVlOjplbmNvZGUoanNV
bmRlZmluZWQoKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kKEpTR2xvYmFsT2JqZWN0
KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBDYWxsRnJhbWUqIGNhbGxGcmFtZSkKLXsKLSAgICByZXR1
cm4gSURMT3BlcmF0aW9uPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+OjpjYWxsPGpzVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVGdW5jdGlvbk1ldGhvZEJvZHk+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCAqY2FsbEZyYW1lLCAibWV0aG9kIik7Ci19Ci0KLXZvaWQgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6YW5hbHl6ZUhlYXAoSlNDZWxsKiBjZWxsLCBIZWFwQW5h
bHl6ZXImIGFuYWx5emVyKQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KGNlbGwpOwotICAgIGFuYWx5emVyLnNldFdyYXBwZWRP
YmplY3RGb3JDZWxsKGNlbGwsICZ0aGlzT2JqZWN0LT53cmFwcGVkKCkpOwotICAgIGlmICh0aGlz
T2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIGFuYWx5emVyLnNldExh
YmVsRm9yQ2VsbChjZWxsLCAidXJsICIgKyB0aGlzT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250
ZXh0KCktPnVybCgpLnN0cmluZygpKTsKLSAgICBCYXNlOjphbmFseXplSGVhcChjZWxsLCBhbmFs
eXplcik7Ci19Ci0KLWJvb2wgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyOjppc1Jl
YWNoYWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwg
dm9pZCosIFNsb3RWaXNpdG9yJiB2aXNpdG9yLCBjb25zdCBjaGFyKiogcmVhc29uKQotewotICAg
IFVOVVNFRF9QQVJBTShoYW5kbGUpOwotICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKLSAgICBV
TlVTRURfUEFSQU0ocmVhc29uKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVu
a25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dCkKLXsKLSAgICBhdXRvKiBqc1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyID0gc3RhdGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cio+KGhhbmRsZS5zbG90KCktPmFzQ2VsbCgpKTsKLSAgICBhdXRvJiB3b3JsZCA9ICpzdGF0aWNf
Y2FzdDxET01XcmFwcGVyV29ybGQqPihjb250ZXh0KTsKLSAgICB1bmNhY2hlV3JhcHBlcih3b3Js
ZCwgJmpzVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXItPndyYXBwZWQoKSwganNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lcik7Ci19Ci0KLSNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0j
aWYgUExBVEZPUk0oV0lOKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCi1leHRlcm4g
IkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckBXZWJDb3JlQEA2QkAiKVtdKSgpOyB9Ci0jZWxzZQotZXh0ZXJuICJDIiB7
IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjZUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckVb
XTsgfQotI2VuZGlmCi0jZW5kaWYKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlND
OjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotewotCi0jaWYgRU5BQkxFKEJJTkRJ
TkdfSU5URUdSSVRZKQotICAgIHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSAqKHJlaW50ZXJw
cmV0X2Nhc3Q8dm9pZCoqPihpbXBsLnB0cigpKSk7Ci0jaWYgUExBVEZPUk0oV0lOKQotICAgIHZv
aWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1Jf
SU5TUEVDVElPTihfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBX
ZWJDb3JlQEA2QkAiKSk7Ci0jZWxzZQotICAgIHZvaWQqIGV4cGVjdGVkVlRhYmxlUG9pbnRlciA9
IFdURl9QUkVQQVJFX1ZUQkxfUE9JTlRFUl9GT1JfSU5TUEVDVElPTigmX1pUVk43V2ViQ29yZTI2
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJFWzJdKTsKLSNlbmRpZgotCi0gICAgLy8gSWYgdGhp
cyBmYWlscyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxl
LCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJs
ZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2Vy
dChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjo6dmFsdWUs
ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAg
IC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVy
IGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGhhcyBzdWJj
bGFzc2VzLiBJZiBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBoYXMgc3ViY2xhc3NlcyB0aGF0
IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcK
LSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0
aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRh
YmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwotI2VuZGlmCi0gICAgcmV0dXJu
IGNyZWF0ZVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KGdsb2JhbE9iamVjdCwg
V1RGTW92ZShpbXBsKSk7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3Qs
IFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJiBpbXBsKQotewotICAgIHJldHVybiB3cmFwKGxl
eGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgaW1wbCk7Ci19Ci0KLVRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyKiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjp0b1dyYXBwZWQo
SlNDOjpWTSYgdm0sIEpTQzo6SlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBpZiAoYXV0byogd3JhcHBl
ciA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KHZtLCB2YWx1
ZSkpCi0gICAgICAgIHJldHVybiAmd3JhcHBlci0+d3JhcHBlZCgpOwotICAgIHJldHVybiBudWxs
cHRyOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApk
ZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmYxODgwZDg0NzY2Y2NkMGU1YzMwZDdmOTcz
NGQ0MDI5ZTZlZjFiYy4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAot
LS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEsODYgKzAsMCBAQAotLyoKLSAg
ICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0g
ICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4g
RE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3Ug
Y2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1z
IG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlz
aGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4K
LQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdp
bGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVu
IHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1Mg
Rk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVy
YWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2
ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vu
c2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElC
LiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIElu
Yy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjEx
MC0xMzAxLCBVU0EuCi0qLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkpTRE9NV3JhcHBl
ci5oIgotI2luY2x1ZGUgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0jaW5jbHVkZSA8
d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA6IHB1YmxpYyBKU0RPTVdyYXBwZXI8VGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI+IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlNET01XcmFw
cGVyPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjsKLSAgICBzdGF0aWMgSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciogY3JlYXRlKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9N
R2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cj4mJiBpbXBsKQotICAgIHsKLSAgICAgICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciog
cHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPihnbG9iYWxPYmplY3QtPnZtKCkuaGVhcCkpIEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIoc3RydWN0dXJlLCAqZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKLSAgICAg
ICAgcHRyLT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPnZtKCkpOwotICAgICAgICByZXR1
cm4gcHRyOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5
cGUoSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7Ci0gICAgc3RhdGljIEpTQzo6SlNPYmpl
Y3QqIHByb3RvdHlwZShKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKLSAgICBzdGF0aWMg
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHRvV3JhcHBlZChKU0M6OlZNJiwgSlNDOjpKU1Zh
bHVlKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7Ci0KLSAgICBERUNM
QVJFX0lORk87Ci0KLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShK
U0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFs
dWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0
VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6
OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0IEpTQzo6SlNHbG9iYWxPYmpl
Y3QqKTsKLSAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFs
eXplciYpOwotcHJvdGVjdGVkOgotICAgIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoSlND
OjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcj4mJik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci0K
LWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJPd25lciA6IHB1YmxpYyBKU0M6Oldl
YWtIYW5kbGVPd25lciB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBib29sIGlzUmVhY2hhYmxlRnJv
bU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQsIEpT
Qzo6U2xvdFZpc2l0b3ImLCBjb25zdCBjaGFyKiopOwotICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6
ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBjb250ZXh0KTsKLX07Ci0KLWlubGlu
ZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKikKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyPiBvd25lcjsKLSAgICByZXR1cm4gJm93
bmVyLmdldCgpOwotfQotCi1pbmxpbmUgdm9pZCogd3JhcHBlcktleShUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lciogd3JhcHBhYmxlT2JqZWN0KQotewotICAgIHJldHVybiB3cmFwcGFibGVPYmpl
Y3Q7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUds
b2JhbE9iamVjdCosIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJik7Ci1pbmxpbmUgSlNDOjpK
U1ZhbHVlIHRvSlMoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNE
T01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIq
IGltcGwpIHsgcmV0dXJuIGltcGwgPyB0b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9i
amVjdCwgKmltcGwpIDogSlNDOjpqc051bGwoKTsgfQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNy
ZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiwgUmVmPFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmKTsKLWlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5
Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWZQdHI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+JiYgaW1wbCkgeyByZXR1cm4gaW1wbCA/IHRvSlNOZXdseUNyZWF0ZWQobGV4aWNhbEdsb2Jh
bE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBpbXBsLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc051
bGwoKTsgfQotCi10ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHsKLSAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOwotICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5
cGUgPSBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3Qv
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mv
c2NyaXB0cy90ZXN0L1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZmNiYTk4Y2JmY2FlZWM4Njc3YWUwYzU1OWIxZjcwZDk0OThhYmVl
MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykg
MjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0g
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJ
UycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcs
IEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hB
TlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJ
U0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRP
UlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lB
TCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJV
VCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1Ig
U0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1Mg
SU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElB
QklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0g
KiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkg
T1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBU
SEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQotLy8gVGhpcyBJREwgZmlsZSBp
cyBmb3IgdGVzdGluZyB0aGUgYmluZGluZ3MgY29kZSBnZW5lcmF0b3Igd2l0aCBhbiBpbnRlcmZh
Y2UKLS8vIHRoYXQgaGFzIG1ldGhvZHMgcmVjZWl2aW5nIGEgcGFyYW1ldGVyIG9mIHRoZSB0eXBl
IE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuCi1pbnRlcmZhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIgewotICAgIHZvaWQgbWV0aG9kKE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgbGlzdGVuZXIp
OwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3BwCmluZGV4IGY0ZTEzODdlZmYy
MWY0ZTlmMGM2MjBkM2ZiMTgxODhlYWIzOWQ0N2UuLmZiMTkxOTU0ZTk1MzgwMDk3MWMzMjgzM2U3
NjA2N2JkOGJlODkyYmUgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmNwcApAQCAt
MjIsNDYgKzIyLDUzIEBACiAKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRp
YVF1ZXJ5RXZhbHVhdG9yLmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgog
I2luY2x1ZGUgIk1lZGlhUXVlcnlNYXRjaGVyLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lu
bGluZXMuaD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxpbmUgTWVkaWFRdWVyeUxpc3Q6
Ok1lZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVy
eVNldD4mJiBtZWRpYSwgYm9vbCBtYXRjaGVzKQotICAgIDogbV9tYXRjaGVyKG1hdGNoZXIpCitX
VEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTWVkaWFRdWVyeUxpc3QpOworCitNZWRpYVF1ZXJ5
TGlzdDo6TWVkaWFRdWVyeUxpc3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVk
aWFRdWVyeU1hdGNoZXImIG1hdGNoZXIsIFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBib29s
IG1hdGNoZXMpCisgICAgOiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKKyAg
ICAsIG1fbWF0Y2hlcihtYXRjaGVyKQogICAgICwgbV9tZWRpYShXVEZNb3ZlKG1lZGlhKSkKICAg
ICAsIG1fZXZhbHVhdGlvblJvdW5kKG1fbWF0Y2hlci0+ZXZhbHVhdGlvblJvdW5kKCkpCiAgICAg
LCBtX2NoYW5nZVJvdW5kKG1fZXZhbHVhdGlvblJvdW5kIC0gMSkgLy8gQW55IHZhbHVlIHRoYXQg
aXMgbm90IHRoZSBzYW1lIGFzIG1fZXZhbHVhdGlvblJvdW5kIHdvdWxkIGRvLgogICAgICwgbV9t
YXRjaGVzKG1hdGNoZXMpCiB7CisgICAgbV9tYXRjaGVyLT5hZGRNZWRpYVF1ZXJ5TGlzdCgqdGhp
cyk7CiB9CiAKLVJlZjxNZWRpYVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShNZWRp
YVF1ZXJ5TWF0Y2hlciYgbWF0Y2hlciwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wg
bWF0Y2hlcykKK1JlZjxNZWRpYVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShTY3Jp
cHRFeGVjdXRpb25Db250ZXh0JiBjb250ZXh0LCBNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0Y2hlciwg
UmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKIHsKLSAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBNZWRpYVF1ZXJ5TGlzdChtYXRjaGVyLCBXVEZNb3ZlKG1lZGlhKSwgbWF0
Y2hlcykpOworICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhUXVlcnlMaXN0KGNvbnRleHQs
IG1hdGNoZXIsIFdURk1vdmUobWVkaWEpLCBtYXRjaGVzKSk7CiB9CiAKLU1lZGlhUXVlcnlMaXN0
Ojp+TWVkaWFRdWVyeUxpc3QoKSA9IGRlZmF1bHQ7CitNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVl
cnlMaXN0KCkKK3sKKyAgICBtX21hdGNoZXItPnJlbW92ZU1lZGlhUXVlcnlMaXN0KCp0aGlzKTsK
K30KIAogU3RyaW5nIE1lZGlhUXVlcnlMaXN0OjptZWRpYSgpIGNvbnN0CiB7CiAgICAgcmV0dXJu
IG1fbWVkaWEtPm1lZGlhVGV4dCgpOwogfQogCi12b2lkIE1lZGlhUXVlcnlMaXN0OjphZGRMaXN0
ZW5lcihSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKK3ZvaWQgTWVk
aWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVy
KQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbWF0Y2hl
ci0+YWRkTGlzdGVuZXIobGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSwgKnRoaXMpOworICAgIGFk
ZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3RlbmVyLnJlbGVhc2VOb25OdWxsKCkpOwogfQog
Ci12b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKK3ZvaWQgTWVkaWFRdWVyeUxpc3Q6OnJlbW92ZUxpc3Rl
bmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQogewogICAgIGlmICghbGlzdGVu
ZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbWF0Y2hlci0+cmVtb3ZlTGlzdGVuZXIoKmxp
c3RlbmVyLCAqdGhpcyk7CisgICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgKmxpc3Rl
bmVyKTsKIH0KIAogdm9pZCBNZWRpYVF1ZXJ5TGlzdDo6ZXZhbHVhdGUoTWVkaWFRdWVyeUV2YWx1
YXRvciYgZXZhbHVhdG9yLCBib29sJiBub3RpZmljYXRpb25OZWVkZWQpCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5TGlzdC5oCmluZGV4IGEyZjA2MTgyNTg2MTE2MTJjMDc1Zjk2MWMxZmMzMmMzYThj
YTAxZGYuLjI0YjliODkyYTY4NDkxM2Q4ZjU0ZTk0MGQ1OTRjMGIzNDRkOGQ0YzUgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oCkBAIC0xOSwxMyArMTksMTUgQEAKIAogI3ByYWdtYSBv
bmNlCiAKKyNpbmNsdWRlICJDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUg
IkV2ZW50VGFyZ2V0LmgiCiAjaW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYv
UmVmQ291bnRlZC5oPgogI2luY2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvV2Vh
a1B0ci5oPgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXI7CiBjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yOwogY2xhc3MgTWVkaWFRdWVyeU1hdGNo
ZXI7CiBjbGFzcyBNZWRpYVF1ZXJ5U2V0OwpAQCAtMzUsMjQgKzM3LDMzIEBAIGNsYXNzIE1lZGlh
UXVlcnlTZXQ7CiAvLyByZXRyaWV2ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gbWVk
aWEgcXVlcnkgYW5kIHRvIGFkZC9yZW1vdmUgbGlzdGVuZXJzIHRoYXQKIC8vIHdpbGwgYmUgY2Fs
bGVkIHdoZW5ldmVyIHRoZSB2YWx1ZSBvZiB0aGUgcXVlcnkgY2hhbmdlcy4KIAotY2xhc3MgTWVk
aWFRdWVyeUxpc3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4gewor
Y2xhc3MgTWVkaWFRdWVyeUxpc3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5
TGlzdD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdl
YWtQdHI8TWVkaWFRdWVyeUxpc3Q+LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVy
IHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhUXVlcnlMaXN0KTsKIHB1YmxpYzoK
LSAgICBzdGF0aWMgUmVmPE1lZGlhUXVlcnlMaXN0PiBjcmVhdGUoTWVkaWFRdWVyeU1hdGNoZXIm
LCBSZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9vbCk7CisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5
TGlzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQmLCBNZWRpYVF1ZXJ5TWF0Y2hlciYs
IFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBib29sIG1hdGNoZXMpOwogICAgIH5NZWRpYVF1ZXJ5TGlz
dCgpOwogCiAgICAgU3RyaW5nIG1lZGlhKCkgY29uc3Q7CiAgICAgYm9vbCBtYXRjaGVzKCk7CiAK
LSAgICB2b2lkIGFkZExpc3RlbmVyKFJlZlB0cjxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmKTsK
LSAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKFJlZlB0cjxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYm
KTsKKyAgICB2b2lkIGFkZExpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmKTsKKyAgICB2
b2lkIHJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmKTsKIAogICAgIHZvaWQg
ZXZhbHVhdGUoTWVkaWFRdWVyeUV2YWx1YXRvciYsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRlZCk7
CiAKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAgdXNpbmcgUmVmQ291bnRlZDo6ZGVy
ZWY7CisKIHByaXZhdGU6Ci0gICAgTWVkaWFRdWVyeUxpc3QoTWVkaWFRdWVyeU1hdGNoZXImLCBS
ZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9vbCBtYXRjaGVzKTsKKyAgICBNZWRpYVF1ZXJ5TGlzdChT
Y3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVy
eVNldD4mJiwgYm9vbCBtYXRjaGVzKTsKIAogICAgIHZvaWQgc2V0TWF0Y2hlcyhib29sKTsKIAor
ICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0SW50ZXJmYWNlKCkgY29uc3QgZmlu
YWwgeyByZXR1cm4gTWVkaWFRdWVyeUxpc3RFdmVudFRhcmdldEludGVyZmFjZVR5cGU7IH0KKyAg
ICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVjdXRpb25Db250ZXh0KCkgY29uc3Qg
ZmluYWwgeyByZXR1cm4gQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXI6OnNjcmlwdEV4ZWN1dGlv
bkNvbnRleHQoKTsgfQorICAgIHZvaWQgcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IHJlZigpOyB9
CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwgeyBkZXJlZigpOyB9CisKICAgICBS
ZWY8TWVkaWFRdWVyeU1hdGNoZXI+IG1fbWF0Y2hlcjsKICAgICBSZWY8TWVkaWFRdWVyeVNldD4g
bV9tZWRpYTsKICAgICB1bnNpZ25lZCBtX2V2YWx1YXRpb25Sb3VuZDsgLy8gSW5kaWNhdGVzIGlm
IHRoZSBxdWVyeSBoYXMgYmVlbiBldmFsdWF0ZWQgYWZ0ZXIgdGhlIGxhc3Qgc3R5bGUgc2VsZWN0
b3IgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwKaW5kZXggM2RmZmRj
ZjVjODBkNjNhNjlmYjJjYTM5NDU3YzdkYzliZWJkNTQyYi4uMDJlYjljM2UxZDU0OGE0MTFmN2Q2
ZTk4NTk3NmYyYjlhMzMzY2Q1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlMaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRs
CkBAIC0xNywxMyArMTcsMTIgQEAKICAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KICAq
LwogWwotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotICAgIEltcGxlbWVudGF0aW9uTGFja3NWVGFi
bGUsCi1dIGludGVyZmFjZSBNZWRpYVF1ZXJ5TGlzdCB7CisgICAgRXhwb3NlZD1XaW5kb3cKK10g
aW50ZXJmYWNlIE1lZGlhUXVlcnlMaXN0IDogRXZlbnRUYXJnZXQgewogICAgIHJlYWRvbmx5IGF0
dHJpYnV0ZSBET01TdHJpbmcgbWVkaWE7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4g
bWF0Y2hlczsKIAotICAgIC8vIEZJWE1FOiBUaGUgbGlzdGVuZXIgcGFyYW1ldGVyIHNob3VsZCBu
b3QgYmUgb3B0aW9uYWwuCi0gICAgdm9pZCBhZGRMaXN0ZW5lcihvcHRpb25hbCBNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyPyBsaXN0ZW5lciA9IG51bGwpOwotICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIo
b3B0aW9uYWwgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj8gbGlzdGVuZXIgPSBudWxsKTsKKyAgICB2
b2lkIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXI/IGxpc3RlbmVyKTsKKyAgICB2b2lkIHJlbW92
ZUxpc3RlbmVyKEV2ZW50TGlzdGVuZXI/IGxpc3RlbmVyKTsKKyAgICBhdHRyaWJ1dGUgRXZlbnRI
YW5kbGVyIG9uY2hhbmdlOwogfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5TGlzdEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2
ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwLi45MWMwMGIyMjI2YWJlMWQ5MGNlZTYzNjZlZDg1ZTE3MmQ5ZTE3
OGVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
RXZlbnQuY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQWxl
eGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRp
b24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0Cisg
KiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5n
IGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNl
IGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlz
IGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4g
UmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBj
b3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBm
b2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90
aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJ
UyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JT
IGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9G
IE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NF
IEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05U
UklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5U
QUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5D
TFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRF
IEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVT
SU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkg
T0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwg
T1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJ
TiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNF
RCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNpbmNsdWRl
ICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdEV2ZW50LmgiCisKK25hbWVzcGFj
ZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRFRF9JTVBMKE1lZGlhUXVlcnlMaXN0
RXZlbnQpOworCitNZWRpYVF1ZXJ5TGlzdEV2ZW50OjpNZWRpYVF1ZXJ5TGlzdEV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXQsIElzVHJ1c3RlZCBpc1RydXN0ZWQp
CisgICAgOiBFdmVudCh0eXBlLCBpbml0LCBpc1RydXN0ZWQpCisgICAgLCBtX21lZGlhKGluaXQu
bWVkaWEpCisgICAgLCBtX21hdGNoZXMoaW5pdC5tYXRjaGVzKQoreworfQorCitNZWRpYVF1ZXJ5
TGlzdEV2ZW50OjpNZWRpYVF1ZXJ5TGlzdEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNv
bnN0IFN0cmluZyYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKKyAgICA6IEV2ZW50KHR5cGUsIENhbkJ1
YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgLCBtX21lZGlhKG1lZGlhKQorICAgICwg
bV9tYXRjaGVzKG1hdGNoZXMpCit7Cit9CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmggYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0Cmlu
ZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjVhOTM1ODQxMjNm
NThhZjgxYzBkMDY5ZmVhZmY4ZWY1OGU2NGJlMzMKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5oCkBAIC0wLDAgKzEsNjQgQEAKKy8qCisg
KiBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNv
bT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBm
b3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJv
dmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBS
ZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHly
aWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11
c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0
IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAg
IGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBk
aXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJ
TkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9S
IElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBU
SEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1Ig
QSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFM
TCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJ
UkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENP
TlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NV
UkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwg
REFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBD
QVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05U
UkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1Ig
T1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMg
U09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0gg
REFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5jbHVkZSAiRXZlbnQuaCIKKyNpbmNs
dWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2Ns
YXNzIE1lZGlhUXVlcnlMaXN0RXZlbnQgZmluYWwgOiBwdWJsaWMgRXZlbnQgeworICAgIFdURl9N
QUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVyeUxpc3RFdmVudCk7CitwdWJsaWM6CisgICAgc3Rh
dGljIFJlZjxNZWRpYVF1ZXJ5TGlzdEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlw
ZSwgY29uc3QgU3RyaW5nJiBtZWRpYSwgYm9vbCBtYXRjaGVzKQorICAgIHsKKyAgICAgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RFdmVudCh0eXBlLCBtZWRpYSwgbWF0Y2hl
cykpOworICAgIH0KKworICAgIHN0cnVjdCBJbml0IDogRXZlbnRJbml0IHsKKyAgICAgICAgU3Ry
aW5nIG1lZGlhIHsgIiIgfTsKKyAgICAgICAgYm9vbCBtYXRjaGVzIHsgZmFsc2UgfTsKKyAgICB9
OworCisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdEV2ZW50PiBjcmVhdGUoY29uc3QgQXRv
bVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdCwgSXNUcnVzdGVkIGlzVHJ1c3RlZCA9IElz
VHJ1c3RlZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRpYVF1
ZXJ5TGlzdEV2ZW50KHR5cGUsIGluaXQsIGlzVHJ1c3RlZCkpOworICAgIH0KKworICAgIGNvbnN0
IFN0cmluZyYgbWVkaWEoKSBjb25zdCB7IHJldHVybiBtX21lZGlhOyB9CisgICAgYm9vbCBtYXRj
aGVzKCkgY29uc3QgeyByZXR1cm4gbV9tYXRjaGVzOyB9CisKKyAgICBFdmVudEludGVyZmFjZSBl
dmVudEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJuIE1lZGlhUXVlcnlMaXN0RXZlbnRJ
bnRlcmZhY2VUeXBlOyB9CisKK3ByaXZhdGU6CisgICAgTWVkaWFRdWVyeUxpc3RFdmVudChjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1lZGlhLCBib29sIG1hdGNoZXMpOwor
ICAgIE1lZGlhUXVlcnlMaXN0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5p
dCYsIElzVHJ1c3RlZCk7CisKKyAgICBTdHJpbmcgbV9tZWRpYTsKKyAgICBib29sIG1fbWF0Y2hl
czsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5TGlzdEV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzMyMGM4NzhmM2Y1NTFjYzJlYzE2ODM3
YTM4ODhlOTg2YWQ2NWM2Ci0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlMaXN0RXZlbnQuaWRsCkBAIC0wLDAgKzEsMzYgQEAKKy8qCisgKiBDb3B5cmlnaHQg
KEMpIDIwMjAgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICog
UmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBv
ciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0
aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlv
bnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAg
bm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFp
bWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNl
IHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlv
bnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRp
b24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24u
CisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMg
Q09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FS
UkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBX
QVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFS
CisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJF
Q1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwg
REFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisg
KiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJP
RklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9O
IEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNU
IExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQor
ICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICov
CisKK1sKKyAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdHlwZSwgb3B0aW9uYWwgTWVkaWFRdWVy
eUxpc3RFdmVudEluaXQgbWVkaWFRdWVyeUxpc3RFdmVudEluaXQpLAorXSBpbnRlcmZhY2UgTWVk
aWFRdWVyeUxpc3RFdmVudCA6IEV2ZW50IHsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgRE9NU3Ry
aW5nIG1lZGlhOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBib29sZWFuIG1hdGNoZXM7Cit9Owor
CitkaWN0aW9uYXJ5IE1lZGlhUXVlcnlMaXN0RXZlbnRJbml0IDogRXZlbnRJbml0IHsKKyAgICBE
T01TdHJpbmcgbWVkaWEgPSAiIjsKKyAgICBib29sZWFuIG1hdGNoZXMgPSBmYWxzZTsKK307CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApkZWxldGVkIGZpbGUg
bW9kZSAxMDA2NDQKaW5kZXggZDMxNTg0YTljOTM2ODNmNjkxNDNjNGM3MjU5NjMwMjkzMmU2ZTNj
MS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEs
NTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUg
c29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1
bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiAgTGlj
ZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVy
Ci0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBs
YXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhl
IGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFO
VFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJ
TElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0g
KiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgot
ICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
KiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotI3ByYWdtYSBvbmNlCi0KLSNp
bmNsdWRlICJBY3RpdmVET01DYWxsYmFjay5oIgotI2luY2x1ZGUgIkNhbGxiYWNrUmVzdWx0Lmgi
Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFtZXNwYWNlIFdlYkNvcmUgewotCi1j
bGFzcyBNZWRpYVF1ZXJ5TGlzdDsKLQotY2xhc3MgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA6IHB1
YmxpYyBSZWZDb3VudGVkPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+LCBwdWJsaWMgQWN0aXZlRE9N
Q2FsbGJhY2sgewotcHVibGljOgotICAgIGVudW0gVHlwZSB7Ci0gICAgICAgIEpTTWVkaWFRdWVy
eUxpc3RMaXN0ZW5lclR5cGUKLSAgICB9OwotCi0gICAgdmlydHVhbCBDYWxsYmFja1Jlc3VsdDx2
b2lkPiBoYW5kbGVFdmVudChNZWRpYVF1ZXJ5TGlzdCYpID0gMDsKLSAgICB2aXJ0dWFsIGJvb2wg
b3BlcmF0b3I9PShjb25zdCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJikgY29uc3QgPSAwOwotCi0g
ICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBlOyB9Ci0KLXByb3RlY3RlZDoKLSAg
ICBleHBsaWNpdCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQq
IGNvbnRleHQsIFR5cGUgdHlwZSkKLSAgICAgICAgOiBBY3RpdmVET01DYWxsYmFjayhjb250ZXh0
KQotICAgICAgICAsIG1fdHlwZSh0eXBlKQotICAgIHsKLSAgICB9Ci0KLXByaXZhdGU6Ci0gICAg
VHlwZSBtX3R5cGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgYi9Tb3VyY2UvV2Vi
Q29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKZGVsZXRlZCBmaWxlIG1vZGUgMTAw
NjQ0CmluZGV4IGZkZjFkYjczYjcwYWI3ZDI0YTAyM2Y4OTkxZTEwMGVjMTQxYjEzZWMuLjAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMjMgKzAs
MCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3Ig
aXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdh
cmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0
aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBh
cyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAg
dmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUg
dGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdp
dGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBv
ciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGli
cmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotWwotICAgIENhbGxiYWNrTmVlZHNPcGVy
YXRvckVxdWFsCi1dIGNhbGxiYWNrIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgPSB2b2lkIChNZWRp
YVF1ZXJ5TGlzdCBsaXN0KTsKLQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlNYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5j
cHAKaW5kZXggY2QyY2VmYzdjNWZjMjU2ZmM5ZDk5ODZjZDE1ZjM1OGM3YTEzYjQwNS4uMGRkNzQz
ODY4NjlmMzExYmEzMDA2MjkwNGI5Y2JjYmY2M2YyMTZjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeU1hdGNoZXIuY3BwCkBAIC0yMSwxMyArMjEsMTMgQEAKICNpbmNsdWRlICJNZWRp
YVF1ZXJ5TWF0Y2hlci5oIgogCiAjaW5jbHVkZSAiRG9jdW1lbnQuaCIKKyNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNsdWRlICJGcmFtZVZpZXcuaCIKICNp
bmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFMaXN0LmgiCiAjaW5jbHVkZSAiTWVk
aWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0LmgiCi0jaW5jbHVk
ZSAiTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlQYXJzZXJD
b250ZXh0LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxlLmgiCiAjaW5jbHVkZSAiUmVuZGVy
RWxlbWVudC5oIgpAQCAtNDYsOCArNDYsOCBAQCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6fk1lZGlhUXVl
cnlNYXRjaGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjpkb2N1bWVu
dERlc3Ryb3llZCgpCiB7Ci0gICAgbV9saXN0ZW5lcnMuY2xlYXIoKTsKICAgICBtX2RvY3VtZW50
ID0gbnVsbHB0cjsKKyAgICBtX21lZGlhUXVlcnlMaXN0cy5jbGVhcigpOwogfQogCiBTdHJpbmcg
TWVkaWFRdWVyeU1hdGNoZXI6Om1lZGlhVHlwZSgpIGNvbnN0CkBAIC03OCwzNSArNzgsMjYgQEAg
Ym9vbCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeVNldCYgbWVk
aWEpCiAgICAgcmV0dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3IgeyBtZWRpYVR5cGUoKSwgKm1fZG9j
dW1lbnQsIHN0eWxlLmdldCgpIH0uZXZhbHVhdGUobWVkaWEpOwogfQogCi1SZWZQdHI8TWVkaWFR
dWVyeUxpc3Q+IE1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1lZGlhKGNvbnN0IFN0cmluZyYgcXVl
cnkpCit2b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjphZGRNZWRpYVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5
TGlzdCYgbXFsKQogewotICAgIGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIG51bGxw
dHI7Ci0KLSAgICBhdXRvIG1lZGlhID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHF1ZXJ5LCBNZWRp
YVF1ZXJ5UGFyc2VyQ29udGV4dCgqbV9kb2N1bWVudCkpOwotICAgIHJlcG9ydE1lZGlhUXVlcnlX
YXJuaW5nSWZOZWVkZWQobV9kb2N1bWVudC5nZXQoKSwgbWVkaWEucHRyKCkpOwotICAgIGJvb2wg
cmVzdWx0ID0gZXZhbHVhdGUobWVkaWEuZ2V0KCkpOwotICAgIHJldHVybiBNZWRpYVF1ZXJ5TGlz
dDo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKG1lZGlhKSwgcmVzdWx0KTsKKyAgICBBU1NFUlQoIW1f
bWVkaWFRdWVyeUxpc3RzLmNvbnRhaW5zKCZtcWwpKTsKKyAgICBtX21lZGlhUXVlcnlMaXN0cy5h
cHBlbmQobWFrZVdlYWtQdHIoJm1xbCkpOwogfQogCi12b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjph
ZGRMaXN0ZW5lcihSZWY8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBsaXN0ZW5lciwgTWVkaWFR
dWVyeUxpc3QmIHF1ZXJ5KQordm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3ZlTWVkaWFRdWVy
eUxpc3QoTWVkaWFRdWVyeUxpc3QmIG1xbCkKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQpCi0gICAg
ICAgIHJldHVybjsKLQotICAgIGZvciAoYXV0byYgZXhpc3RpbmdMaXN0ZW5lciA6IG1fbGlzdGVu
ZXJzKSB7Ci0gICAgICAgIGlmIChleGlzdGluZ0xpc3RlbmVyLmxpc3RlbmVyLmdldCgpID09IGxp
c3RlbmVyLmdldCgpICYmIGV4aXN0aW5nTGlzdGVuZXIucXVlcnkucHRyKCkgPT0gJnF1ZXJ5KQot
ICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fbGlzdGVuZXJzLmFwcGVuZChMaXN0
ZW5lciB7IFdURk1vdmUobGlzdGVuZXIpLCBxdWVyeSB9KTsKKyAgICBtX21lZGlhUXVlcnlMaXN0
cy5yZW1vdmVGaXJzdCgmbXFsKTsKIH0KIAotdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3Zl
TGlzdGVuZXIoTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYgbGlzdGVuZXIsIE1lZGlhUXVlcnlMaXN0
JiBxdWVyeSkKK1JlZlB0cjxNZWRpYVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeU1hdGNoZXI6Om1hdGNo
TWVkaWEoY29uc3QgU3RyaW5nJiBxdWVyeSkKIHsKLSAgICBtX2xpc3RlbmVycy5yZW1vdmVGaXJz
dE1hdGNoaW5nKFsmbGlzdGVuZXIsICZxdWVyeV0oYXV0byYgZXhpc3RpbmdMaXN0ZW5lcikgewot
ICAgICAgICByZXR1cm4gZXhpc3RpbmdMaXN0ZW5lci5saXN0ZW5lci5nZXQoKSA9PSBsaXN0ZW5l
ciAmJiBleGlzdGluZ0xpc3RlbmVyLnF1ZXJ5LnB0cigpID09ICZxdWVyeTsKLSAgICB9KTsKKyAg
ICBpZiAoIW1fZG9jdW1lbnQpCisgICAgICAgIHJldHVybiBudWxscHRyOworCisgICAgYXV0byBt
ZWRpYSA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZShxdWVyeSwgTWVkaWFRdWVyeVBhcnNlckNvbnRl
eHQoKm1fZG9jdW1lbnQpKTsKKyAgICByZXBvcnRNZWRpYVF1ZXJ5V2FybmluZ0lmTmVlZGVkKG1f
ZG9jdW1lbnQuZ2V0KCksIG1lZGlhLnB0cigpKTsKKyAgICBib29sIG1hdGNoZXMgPSBldmFsdWF0
ZShtZWRpYS5nZXQoKSk7CisgICAgcmV0dXJuIE1lZGlhUXVlcnlMaXN0OjpjcmVhdGUoKm1fZG9j
dW1lbnQtPnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSwgKnRoaXMsIFdURk1vdmUobWVkaWEpLCBt
YXRjaGVzKTsKIH0KIAogdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGVBbGwoKQpAQCAt
MTIyLDE1ICsxMTMsMTMgQEAgdm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGVBbGwoKQog
ICAgIExPR19XSVRIX1NUUkVBTShNZWRpYVF1ZXJpZXMsIHN0cmVhbSA8PCAiTWVkaWFRdWVyeU1h
dGNoZXI6OnN0eWxlUmVzb2x2ZXJDaGFuZ2VkICIgPDwgbV9kb2N1bWVudC0+dXJsKCkpOwogCiAg
ICAgTWVkaWFRdWVyeUV2YWx1YXRvciBldmFsdWF0b3IgeyBtZWRpYVR5cGUoKSwgKm1fZG9jdW1l
bnQsIHN0eWxlLmdldCgpIH07Ci0gICAgVmVjdG9yPExpc3RlbmVyPiBsaXN0ZW5lcnM7Ci0gICAg
bGlzdGVuZXJzLnJlc2VydmVJbml0aWFsQ2FwYWNpdHkobV9saXN0ZW5lcnMuc2l6ZSgpKTsKLSAg
ICBmb3IgKGF1dG8mIGxpc3RlbmVyIDogbV9saXN0ZW5lcnMpCi0gICAgICAgIGxpc3RlbmVycy51
bmNoZWNrZWRBcHBlbmQoeyBsaXN0ZW5lci5saXN0ZW5lci5jb3B5UmVmKCksIGxpc3RlbmVyLnF1
ZXJ5LmNvcHlSZWYoKSB9KTsKLSAgICBmb3IgKGF1dG8mIGxpc3RlbmVyIDogbGlzdGVuZXJzKSB7
CisgICAgZm9yIChhdXRvJiBtcWwgOiBtX21lZGlhUXVlcnlMaXN0cykgewogICAgICAgICBib29s
IG5vdGlmeTsKLSAgICAgICAgbGlzdGVuZXIucXVlcnktPmV2YWx1YXRlKGV2YWx1YXRvciwgbm90
aWZ5KTsKLSAgICAgICAgaWYgKG5vdGlmeSkKLSAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVy
LT5oYW5kbGVFdmVudChsaXN0ZW5lci5xdWVyeSk7CisgICAgICAgIG1xbC0+ZXZhbHVhdGUoZXZh
bHVhdG9yLCBub3RpZnkpOworICAgICAgICBpZiAobm90aWZ5KSB7CisgICAgICAgICAgICBhdXRv
IGV2ZW50ID0gTWVkaWFRdWVyeUxpc3RFdmVudDo6Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VF
dmVudCwgbXFsLT5tZWRpYSgpLCBtcWwtPm1hdGNoZXMoKSk7CisgICAgICAgICAgICBtcWwtPmRp
c3BhdGNoRXZlbnQoZXZlbnQpOworICAgICAgICB9CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5oCmluZGV4IDk5ZjhlZmEwNjM1Nzg5NzgyNzAyNWEyNjNhM2Zl
YWRjMmQ0MDZkMWMuLmU1ODVjYzRmOGNjOGM1MzdiNDA3ZGIzZmZlODdkNTA5ZTI1YzkxNjEgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5oCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5oCkBAIC0yOSwxMyArMjksMTEgQEAg
bmFtZXNwYWNlIFdlYkNvcmUgewogCiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhUXVlcnlM
aXN0OwotY2xhc3MgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjsKIGNsYXNzIE1lZGlhUXVlcnlFdmFs
dWF0b3I7CiBjbGFzcyBNZWRpYVF1ZXJ5U2V0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLS8vIE1l
ZGlhUXVlcnlNYXRjaGVyIGNsYXNzIGlzIHJlc3BvbnNpYmxlIGZvciBrZWVwaW5nIGEgdmVjdG9y
IG9mIHBhaXJzCi0vLyBNZWRpYVF1ZXJ5TGlzdCB4IE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuIEl0
IGlzIHJlc3BvbnNpYmxlIGZvciBldmFsdWF0aW5nIHRoZSBxdWVyaWVzCisvLyBNZWRpYVF1ZXJ5
TWF0Y2hlciBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgZXZhbHVhdGluZyB0aGUgcXVlcmllcwog
Ly8gd2hlbmV2ZXIgaXQgaXMgbmVlZGVkIGFuZCB0byBjYWxsIHRoZSBsaXN0ZW5lcnMgaWYgdGhl
IGNvcnJlc3BvbmRpbmcgcXVlcnkgaGFzIGNoYW5nZWQuCiAvLyBUaGUgbGlzdGVuZXJzIG11c3Qg
YmUgY2FsbGVkIGluIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IHdlcmUgYWRkZWQuCiAKQEAgLTQ1
LDkgKzQzLDggQEAgcHVibGljOgogICAgIH5NZWRpYVF1ZXJ5TWF0Y2hlcigpOwogCiAgICAgdm9p
ZCBkb2N1bWVudERlc3Ryb3llZCgpOwotCi0gICAgdm9pZCBhZGRMaXN0ZW5lcihSZWY8TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lcj4mJiwgTWVkaWFRdWVyeUxpc3QmKTsKLSAgICB2b2lkIHJlbW92ZUxp
c3RlbmVyKE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImLCBNZWRpYVF1ZXJ5TGlzdCYpOworICAgIHZv
aWQgYWRkTWVkaWFRdWVyeUxpc3QoTWVkaWFRdWVyeUxpc3QmKTsKKyAgICB2b2lkIHJlbW92ZU1l
ZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlMaXN0Jik7CiAKICAgICBSZWZQdHI8TWVkaWFRdWVyeUxp
c3Q+IG1hdGNoTWVkaWEoY29uc3QgU3RyaW5nJik7CiAKQEAgLTU4LDE3ICs1NSwxMiBAQCBwdWJs
aWM6CiAgICAgYm9vbCBldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5U2V0Jik7CiAKIHByaXZhdGU6
Ci0gICAgc3RydWN0IExpc3RlbmVyIHsKLSAgICAgICAgUmVmPE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+IGxpc3RlbmVyOwotICAgICAgICBSZWY8TWVkaWFRdWVyeUxpc3Q+IHF1ZXJ5OwotICAgIH07
Ci0KICAgICBleHBsaWNpdCBNZWRpYVF1ZXJ5TWF0Y2hlcihEb2N1bWVudCYpOwogICAgIHN0ZDo6
dW5pcXVlX3B0cjxSZW5kZXJTdHlsZT4gZG9jdW1lbnRFbGVtZW50VXNlckFnZW50U3R5bGUoKSBj
b25zdDsKICAgICBTdHJpbmcgbWVkaWFUeXBlKCkgY29uc3Q7CiAKICAgICBXZWFrUHRyPERvY3Vt
ZW50PiBtX2RvY3VtZW50OwotICAgIFZlY3RvcjxMaXN0ZW5lcj4gbV9saXN0ZW5lcnM7CisgICAg
VmVjdG9yPFdlYWtQdHI8TWVkaWFRdWVyeUxpc3Q+PiBtX21lZGlhUXVlcnlMaXN0czsKIAogICAg
IC8vIFRoaXMgdmFsdWUgaXMgaW5jcmVtZW50ZWQgYXQgc3R5bGUgc2VsZWN0b3IgY2hhbmdlcy4K
ICAgICAvLyBJdCBpcyB1c2VkIHRvIGF2b2lkIGV2YWx1YXRpbmcgcXVlcmllcyBtb3JlIHRoZW4g
b25jZSBhbmQgdG8gbWFrZSBzdXJlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZl
bnROYW1lcy5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCmluZGV4IDcyYzZj
ODJjNmE2NzJiNDY4NjM2NTY5OWZkYWRhMGU5OWM3YTE5MDAuLjBkZjI5MGEyMGUyMTMwMWIwNTFm
YjVkZTY5ZGEzNjRlNmM2MTJlNGYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluCkBAIC0yNCw2
ICsyNCw3IEBAIElucHV0RXZlbnQKIElucHV0RXZlbnRzIGludGVyZmFjZU5hbWU9SW5wdXRFdmVu
dAogS2V5Ym9hcmRFdmVudAogS2V5Ym9hcmRFdmVudHMgaW50ZXJmYWNlTmFtZT1LZXlib2FyZEV2
ZW50CitNZWRpYVF1ZXJ5TGlzdEV2ZW50CiBNZXNzYWdlRXZlbnQKIE1vdXNlRXZlbnQKIE1vdXNl
RXZlbnRzIGludGVyZmFjZU5hbWU9TW91c2VFdmVudApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50VGFyZ2V0LmggYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaApp
bmRleCA3MjBhMzNiYTg0OTcxMzljMGM0M2ZkMzEzMzJlNjg4NjgyODNlYTAyLi41ZjBmOTEzOWM5
ZGViZTE5M2I1MDEzNGZmYjY5MGU5ZTIyYWExYTMwIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQu
aApAQCAtODksNyArODksNyBAQCBwdWJsaWM6CiAgICAgV0VCQ09SRV9FWFBPUlQgRXhjZXB0aW9u
T3I8Ym9vbD4gZGlzcGF0Y2hFdmVudEZvckJpbmRpbmdzKEV2ZW50Jik7CiAKICAgICBXRUJDT1JF
X0VYUE9SVCB2aXJ0dWFsIGJvb2wgYWRkRXZlbnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBl
dmVudFR5cGUsIFJlZjxFdmVudExpc3RlbmVyPiYmLCBjb25zdCBBZGRFdmVudExpc3RlbmVyT3B0
aW9ucyYgPSB7IH0pOwotICAgIHZpcnR1YWwgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0
IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0
aW9ucyYpOworICAgIHZpcnR1YWwgYm9vbCByZW1vdmVFdmVudExpc3RlbmVyKGNvbnN0IEF0b21T
dHJpbmcmIGV2ZW50VHlwZSwgRXZlbnRMaXN0ZW5lciYsIGNvbnN0IExpc3RlbmVyT3B0aW9ucyYg
PSB7IH0pOwogCiAgICAgdmlydHVhbCB2b2lkIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzKCk7CiAg
ICAgdmlydHVhbCB2b2lkIGRpc3BhdGNoRXZlbnQoRXZlbnQmKTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20v
RXZlbnRUYXJnZXRGYWN0b3J5LmluCmluZGV4IGQ0OWIxYjA5YmQ5ODQ5M2E0ZjFjYmRkOTJkNGUx
Mzk0M2Q0NDU2MjMuLjBiNTE2Yjg0ZjQ4ZGU1MTljMzYxNDhmMjhiZGRlNzgyMTBlY2YwMjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgpAQCAtMjEsNiArMjEsNyBA
QCBJREJUcmFuc2FjdGlvbiBjb25kaXRpb25hbD1JTkRFWEVEX0RBVEFCQVNFCiBNZWRpYUNvbnRy
b2xsZXIgY29uZGl0aW9uYWw9VklERU8KIE1lZGlhRGV2aWNlcyBjb25kaXRpb25hbD1NRURJQV9T
VFJFQU0KIE1lZGlhS2V5U2Vzc2lvbiBjb25kaXRpb25hbD1FTkNSWVBURURfTUVESUEKK01lZGlh
UXVlcnlMaXN0CiBNZWRpYVJlbW90ZUNvbnRyb2xzIGNvbmRpdGlvbmFsPU1FRElBX1NFU1NJT04K
IE1lZGlhUmVjb3JkZXIgY29uZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZWRpYVNvdXJjZSBjb25k
aXRpb25hbD1NRURJQV9TT1VSQ0UKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMgYi9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0
ZXJzLmpzCmluZGV4IDRiNGJiYTI4MWVmZGRhYmU0ZGFiY2JlYzQyZWY0MDc4MTkxMzBhMDAuLmI5
NDYxMTBkYzJhOTViOTJlMzcwZTI4OTk3MWM0OWYwMzU4YzU4YWQgMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFt
ZXRlcnMuanMKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxz
L05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwpAQCAtMTA5NSwxMSArMTA5NSw2IEBAIFdJLk5h
dGl2ZVByb3RvdHlwZUZ1bmN0aW9uUGFyYW1ldGVycyA9IHsKICAgICAgICAgX19wcm90b19fOiBu
dWxsLAogICAgIH0sCiAKLSAgICBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOiB7Ci0gICAgICAgIHF1
ZXJ5Q2hhbmdlZDogIltsaXN0XSIsCi0gICAgICAgIF9fcHJvdG9fXzogbnVsbCwKLSAgICB9LAot
CiAgICAgTWVkaWFTb3VyY2U6IHsKICAgICAgICAgYWRkU291cmNlQnVmZmVyOiAidHlwZSIsCiAg
ICAgICAgIGVuZE9mU3RyZWFtOiAiW2Vycm9yXSIsCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlM
aXN0LWFkZExpc3RlbmVyLWhhbmRsZUV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxp
c3QtYWRkTGlzdGVuZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0CmluZGV4IDg3MjEwNjZkM2Ew
OWM4MjJkMTBjODAxNjk5ZGUxNjdlMTI3ZmE3YTEuLmFkN2I4NWFlYmU5Njc0ZDEzNGYwMzUwZmEz
NzUzYWE0YWJiZTdmMjQgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVuZXIt
aGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVu
ZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDggKzEsMTEgQEAKK0NPTlNPTEUgTUVT
U0FHRTogbGluZSA5MDogW29iamVjdCBPYmplY3RdCiAKLUZBSUwgY2FsbHMgaGFuZGxlRXZlbnQg
bWV0aG9kIG9mIGV2ZW50IGxpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xpc3RlbmVyJykg
dG8gTWVkaWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIgotRkFJTCBs
b29rcyB1cCBoYW5kbGVFdmVudCBtZXRob2Qgb24gZXZlcnkgZXZlbnQgZGlzcGF0Y2ggcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnbGlzdGVuZXInKSB0byBNZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lciBt
dXN0IGJlIGEgZnVuY3Rpb24iCi1QQVNTIGRvZXNuJ3QgbG9vayB1cCBoYW5kbGVFdmVudCBtZXRo
b2Qgb24gY2FsbGFibGUgZXZlbnQgbGlzdGVuZXJzIAotRkFJTCByZXRocm93cyBlcnJvcnMgd2hl
biBnZXR0aW5nIGhhbmRsZUV2ZW50IHByb21pc2VfcmVqZWN0c19leGFjdGx5OiBmdW5jdGlvbiAi
ZnVuY3Rpb24gKCkgeyB0aHJvdyBlIH0iIHRocmV3IG9iamVjdCAiVHlwZUVycm9yOiBBcmd1bWVu
dCAxICgnbGlzdGVuZXInKSB0byBNZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lciBtdXN0IGJlIGEg
ZnVuY3Rpb24iIGJ1dCB3ZSBleHBlY3RlZCBpdCB0byB0aHJvdyBvYmplY3QgIltvYmplY3QgT2Jq
ZWN0XSIKLVBBU1MgdGhyb3dzIGlmIGhhbmRsZUV2ZW50IGlzIGZhbHN5IGFuZCBub3QgY2FsbGFi
bGUgCi1QQVNTIHRocm93cyBpZiBoYW5kbGVFdmVudCBpcyB0aHJ1dGh5IGFuZCBub3QgY2FsbGFi
bGUgCitIYXJuZXNzIEVycm9yIChUSU1FT1VUKSwgbWVzc2FnZSA9IG51bGwKIAorUEFTUyBjYWxs
cyBoYW5kbGVFdmVudCBtZXRob2Qgb2YgZXZlbnQgbGlzdGVuZXIgCitQQVNTIGxvb2tzIHVwIGhh
bmRsZUV2ZW50IG1ldGhvZCBvbiBldmVyeSBldmVudCBkaXNwYXRjaCAKK1BBU1MgZG9lc24ndCBs
b29rIHVwIGhhbmRsZUV2ZW50IG1ldGhvZCBvbiBjYWxsYWJsZSBldmVudCBsaXN0ZW5lcnMgCitU
SU1FT1VUIHJldGhyb3dzIGVycm9ycyB3aGVuIGdldHRpbmcgaGFuZGxlRXZlbnQgVGVzdCB0aW1l
ZCBvdXQKK05PVFJVTiB0aHJvd3MgaWYgaGFuZGxlRXZlbnQgaXMgZmFsc3kgYW5kIG5vdCBjYWxs
YWJsZSAKK05PVFJVTiB0aHJvd3MgaWYgaGFuZGxlRXZlbnQgaXMgdGhydXRoeSBhbmQgbm90IGNh
bGxhYmxlIAorIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1v
dmVMaXN0ZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJl
bW92ZUxpc3RlbmVyLWV4cGVjdGVkLnR4dAppbmRleCA1ZDQ5ZmNlMTQ4YTcwMDdhNDUxYTczZTQ2
YzNhZGI0OGUxMWFhYzNhLi4yYzU0MDljNWFmODFjNzhkYTk4ZWZjNmU5MGVhZWEyOGNhMWVlMjA5
IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxpc3RlbmVy
LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxp
c3RlbmVyLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgUEFTUyBsaXN0ZW5lcnMgYXJlIGNh
bGxlZCB3aGVuIDxpZnJhbWU+IGlzIHJlc2l6ZWQKIFBBU1MgbGlzdGVuZXJzIGFyZSBjYWxsZWQg
Y29ycmVjdCBudW1iZXIgb2YgdGltZXMgCiBQQVNTIGxpc3RlbmVycyBhcmUgY2FsbGVkIGluIG9y
ZGVyIHRoZXkgd2VyZSBhZGRlZCAKIFBBU1MgbGlzdGVuZXIgdGhhdCB3YXMgYWRkZWQgdHdpY2Ug
aXMgY2FsbGVkIG9ubHkgb25jZSAKLUZBSUwgbGlzdGVuZXJzIGFyZSBjYWxsZWQgaW4gb3JkZXIg
dGhlaXIgTVFMcyB3ZXJlIGNyZWF0ZWQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMCwg
ZXhwZWN0ZWQgIm1xbDEiIGJ1dCBnb3QgIm1xbDIiCitQQVNTIGxpc3RlbmVycyBhcmUgY2FsbGVk
IGluIG9yZGVyIHRoZWlyIE1RTHMgd2VyZSBjcmVhdGVkIAogUEFTUyByZW1vdmluZyBsaXN0ZW5l
ciBmcm9tIG9uZSBNUUwgZG9lc24ndCByZW1vdmUgaXQgZnJvbSBhbGwgTVFMcyAKIFBBU1MgTWVk
aWFRdWVyeUxpc3Q6OnJlbW92ZUxpc3RlbmVyIHJlbW92ZXMgYWRkZWQgbGlzdGVuZXIgCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBlY3RlZC50
eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Nv
bS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtZXhwZWN0ZWQudHh0Cmlu
ZGV4IDk3MzUxZTM4OTJjYzdmNmNjMWY3MDRhOTYxMjcyYTBkNjNjMzY2NTcuLmNlZWYyZDgxODI1
MDRkMGRiNjQ2OWVjNDAzMGQ0ZmQxM2QzOWVkNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxp
c3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlz
dC1leHRlbmRzLUV2ZW50VGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMSwyMCArMSw5IEBACiAKLUZB
SUwgb25jaGFuZ2UgYWRkcyBsaXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2Jq
ZWN0IChldmFsdWF0aW5nICdfZXZlbnQubWVkaWEnKSIKLUZBSUwgb25jaGFuZ2UgcmVtb3ZlcyBs
aXN0ZW5lciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAotRkFJTCBsaXN0ZW5l
cnMgZm9yICJjaGFuZ2UiIHR5cGUgYXJlIGNhbGxlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3Rl
bmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2Ui
LCB7Ci0gICAgICAgIGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMrKzsKLSAgICAg
ICAgfSwKLSAgICB9KScsICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZB
SUwgbGlzdGVuZXJzIHdpdGggZGlmZmVyZW50IHR5cGUgYXJlIG5vdCBjYWxsZWQgcHJvbWlzZV90
ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBt
cWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRM
aXN0ZW5lcigibWF0Y2hlcyIsIHQudW5yZWFjaGVkX2Z1bmMoInNob3VsZCBub3QgYmUgY2FsbGVk
IikpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgotRkFJTCBhZGRFdmVu
dExpc3RlbmVyICJvbmNlIiBvcHRpb24gaXMgcmVzcGVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5k
bGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLmFkZEV2ZW50
TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVuZXIoImNo
YW5nZSIsIHsKLSAgICAgICAgaGFuZGxlRXZlbnQoKSB7Ci0gICAgICAgICAgICBjYWxscysrOwot
ICAgICAgICB9LAotICAgIH0sIHtvbmNlOiB0cnVlfSknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXIn
IGlzIHVuZGVmaW5lZCkiCi1GQUlMIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5l
ciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJU
eXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21x
bC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBsaXN0ZW5lciknLCAnbXFsLmFkZEV2ZW50TGlz
dGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlMIGRpc3BhdGNoRXZlbnQgd29ya3MgYXMgZXhwZWN0
ZWQgbXFsLmFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2
ZW50TGlzdGVuZXIoImN1c3RvbSIsIGV2ZW50ID0+IHsKLSAgICAgICAgcmVjZWl2ZWRFdmVudCA9
IGV2ZW50OwotICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotICAgIH0sIHRydWUpJywg
J21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpCitQQVNTIG9uY2hhbmdlIGFkZHMg
bGlzdGVuZXIgCitQQVNTIG9uY2hhbmdlIHJlbW92ZXMgbGlzdGVuZXIgCitQQVNTIGxpc3RlbmVy
cyBmb3IgImNoYW5nZSIgdHlwZSBhcmUgY2FsbGVkIAorUEFTUyBsaXN0ZW5lcnMgd2l0aCBkaWZm
ZXJlbnQgdHlwZSBhcmUgbm90IGNhbGxlZCAKK1BBU1MgYWRkRXZlbnRMaXN0ZW5lciAib25jZSIg
b3B0aW9uIGlzIHJlc3BlY3RlZCAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciByZW1vdmVzIGxp
c3RlbmVyIAorUEFTUyBkaXNwYXRjaEV2ZW50IHdvcmtzIGFzIGV4cGVjdGVkIAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Nv
bS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1leHBlY3Rl
ZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1leHBl
Y3RlZC50eHQKaW5kZXggMmYyOTQzNmMyNzA2YjExNWExOTY3NmZiYzAwYWI5ZTlkNjkzYWIzYi4u
N2MwNjRjMzY0YzgxY2IyYTg0YzY0MDFhZjU4OGJkYzhlODM3ZTJmMyAxMDA2NDQKLS0tIGEvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9N
ZWRpYVF1ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWludGVyb3AtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29t
LXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1pbnRlcm9wLWV4cGVjdGVk
LnR4dApAQCAtMSwxNCArMSwxMCBAQAogCi1GQUlMIGRpc3BhdGNoRXZlbnQgdHJpZ2dlcnMgbGlz
dGVuZXIgYWRkZWQgd2l0aCBhZGRMaXN0ZW5lciBtcWwuZGlzcGF0Y2hFdmVudCBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdtcWwuZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVkRXZlbnQpJywgJ21xbC5k
aXNwYXRjaEV2ZW50JyBpcyB1bmRlZmluZWQpCi1GQUlMIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRk
TGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2UgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBBcmd1
bWVudCAxICgnbGlzdGVuZXInKSB0byBNZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lciBtdXN0IGJl
IGEgZnVuY3Rpb24iCi1GQUlMIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFk
ZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIGlzIGNhbGxlZCB0d2ljZSBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRF
dmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVy
KCJjaGFuZ2UiLCBsaXN0ZW5lciwgdHJ1ZSknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXInIGlzIHVu
ZGVmaW5lZCkiCi1GQUlMIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciBhZGRl
ZCB3aXRoIGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xpc3RlbmVyJykgdG8gTWVk
aWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIgotRkFJTCByZW1vdmVF
dmVudExpc3RlbmVyIChjYXB0dXJlKSBkb2Vzbid0IHJlbW92ZSBsaXN0ZW5lciBhZGRlZCB3aXRo
IGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVl
OiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLnJlbW92ZUV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVu
Y3Rpb24uIChJbiAnbXFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3RlbmVyLCB0
cnVlKScsICdtcWwucmVtb3ZlRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZBSUwgcmVt
b3ZlTGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwu
YWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgbGlzdGVuZXIpJywgJ21xbC5hZGRFdmVudExpc3Rl
bmVyJyBpcyB1bmRlZmluZWQpIgotRkFJTCByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJlbW92ZSBs
aXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFs
LmFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlz
dGVuZXIoImNoYW5nZSIsIGxpc3RlbmVyLCB0cnVlKScsICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicg
aXMgdW5kZWZpbmVkKSIKLUZBSUwgY2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVyIGZpcmVzIGJlZm9y
ZSBub24tY2FwdHVyaW5nIGxpc3RlbmVyIGF0IHRhcmdldCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxl
ZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExp
c3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFu
Z2UiLCB7Ci0gICAgICAgIGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMucHVzaCgi
YWRkRXZlbnRMaXN0ZW5lciIpOwotICAgICAgICB9LAotICAgIH0sIHRydWUpJywgJ21xbC5hZGRF
dmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgorUEFTUyBkaXNwYXRjaEV2ZW50IHRyaWdnZXJz
IGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIGxpc3RlbmVyIGFkZGVkIHdp
dGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2UgCitQQVNT
IGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgKGNh
cHR1cmUpIGlzIGNhbGxlZCB0d2ljZSAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciByZW1vdmVz
IGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIHJlbW92ZUV2ZW50TGlzdGVu
ZXIgKGNhcHR1cmUpIGRvZXNuJ3QgcmVtb3ZlIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVu
ZXIgCitQQVNTIHJlbW92ZUxpc3RlbmVyIHJlbW92ZXMgbGlzdGVuZXIgYWRkZWQgd2l0aCBhZGRF
dmVudExpc3RlbmVyIAorUEFTUyByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJlbW92ZSBsaXN0ZW5l
ciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIAorUEFTUyBjYXB0dXJpbmcg
ZXZlbnQgbGlzdGVuZXIgZmlyZXMgYmVmb3JlIG5vbi1jYXB0dXJpbmcgbGlzdGVuZXIgYXQgdGFy
Z2V0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQudHh0IGIv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmll
dy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LWV4cGVjdGVkLnR4dAppbmRleCAzZTFiNDc5NjQwNDYxZWVj
MDBjZGY3ODQ0YzljOGExYzA1ZDEwZWJiLi45MmFjNDM5YjE3ODM4NDExZWE0NzQxOWY4OTc3MzA2
ZWVhNGU0NmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
c29tLXZpZXcvTWVkaWFRdWVyeUxpc3RFdmVudC1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBA
QAogCi1GQUlMIHR5cGUgY2FuIGJlIGRpZmZlcmVudCBmcm9tICJjaGFuZ2UiIENhbid0IGZpbmQg
dmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQKLUZBSUwgaW5pdCBkaWN0aW9uYXJ5IGRlZmF1
bHQgdmFsdWVzIENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQKLUZBSUwg
aW5pdCBkaWN0aW9uYXJ5IG92ZXJyaWRlcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBNZWRpYVF1ZXJ5
TGlzdEV2ZW50Ci1GQUlMIGFyZ3VtZW50IG9mIGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5o
YW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogUmlnaHQgaGFu
ZCBzaWRlIG9mIGluc3RhbmNlb2YgaXMgbm90IGFuIG9iamVjdCIKLUZBSUwgYXJndW1lbnQgb2Yg
b25jaGFuZ2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9i
amVjdCAiVHlwZUVycm9yOiBSaWdodCBoYW5kIHNpZGUgb2YgaW5zdGFuY2VvZiBpcyBub3QgYW4g
b2JqZWN0IgotRkFJTCBjb25zdHJ1Y3RvciBvZiAiY2hhbmdlIiBldmVudCBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5h
ZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3Rl
bmVyKCJjaGFuZ2UiLCBldmVudCA9PiB7Ci0gICAgICAgIF9ldmVudCA9IGV2ZW50OwotICAgIH0p
JywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgorUEFTUyB0eXBlIGNhbiBi
ZSBkaWZmZXJlbnQgZnJvbSAiY2hhbmdlIiAKK1BBU1MgaW5pdCBkaWN0aW9uYXJ5IGRlZmF1bHQg
dmFsdWVzIAorUEFTUyBpbml0IGRpY3Rpb25hcnkgb3ZlcnJpZGVzIAorUEFTUyBhcmd1bWVudCBv
ZiBhZGRMaXN0ZW5lciAKK1BBU1MgYXJndW1lbnQgb2Ygb25jaGFuZ2UgCitQQVNTIGNvbnN0cnVj
dG9yIG9mICJjaGFuZ2UiIGV2ZW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRl
ZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L21hdGNoTWVkaWEtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9tYXRjaE1lZGlhLWV4cGVjdGVkLnR4dAppbmRleCA2N2VmY2VhMjg5ZTRjNjg5
ODkwZGYwZTJjZmMwNzI3OTZjNWQ2ODE2Li42ZDY4MDFjOGQ3NzlhMTBmZWUyYmI0MzJlMGY2ZmYz
NjlhMWE3ODY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L21hdGNoTWVkaWEtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcv
bWF0Y2hNZWRpYS1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw3IEBAIFBBU1Mgd2luZG93Lm1hdGNo
TWVkaWEgaXMgYSBmdW5jdGlvbgogUEFTUyB3aW5kb3cubWF0Y2hNZWRpYSgiYWxsIikgbWF0Y2hl
cyAKIFBBU1Mgd2luZG93Lm1hdGNoTWVkaWEoIiIpIG1hdGNoZXMgCiBQQVNTIHdpbmRvdy5tYXRj
aE1lZGlhKCIobWluLXdpZHRoOiAxcHgpIikgbWF0Y2hlcyAKLUZBSUwgbWVkaWEgcXVlcnkgd2l0
aCBzeW50YXggZXJyb3IgaXMgc2VyaWFsaXplZCBhcyAibm90IGFsbCIgQ2FuJ3QgZmluZCB2YXJp
YWJsZTogTWVkaWFRdWVyeUxpc3QKK1BBU1MgbWVkaWEgcXVlcnkgd2l0aCBzeW50YXggZXJyb3Ig
aXMgc2VyaWFsaXplZCBhcyAibm90IGFsbCIgCiBQQVNTIGlmcmFtZS5tYXRjaE1lZGlhKCIobWF4
LXdpZHRoOiAxOTlweCksIGFsbCBhbmQgKG1pbi13aWR0aDogMjAwcHgpIikgaXMgc2VyaWFsaXpl
ZCB3L28gImFsbCIgCiBQQVNTIGlmcmFtZS5tYXRjaE1lZGlhKCIobWluLWFzcGVjdC1yYXRpbzog
MS8xKSIpIG1hdGNoZXMgCiBQQVNTIGlmcmFtZS5tYXRjaE1lZGlhKCIod2lkdGg6IDIwMHB4KSIp
IG1hdGNoZXMgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394720</attachid>
            <date>2020-03-27 08:38:16 -0700</date>
            <delta_ts>2020-03-27 11:49:07 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203288-20200327173813.patch</filename>
            <type>text/plain</type>
            <size>104048</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk4NjI4ZjU0MTEyMjc1
OGFmOWY4ZWIyY2Q3Yjg0N2YyNTAwNDdjNS4uZGFjOGJlYTUzODQ4YWI5MWZlNzMyMDQ0NDc1OGI5
Y2Q5ZTc0ZTFiYSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIwLTAzLTI3ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5
TGlzdCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JP
RFkgKE9PUFMhKS4KKworICAgICAgICBJbml0aWFsbHksIENTU09NIFZpZXcgTW9kdWxlIHNwZWNp
ZmljYXRpb24gWzFdIGhhZCBhIGN1c3RvbSBjYWxsYmFjayBtZWNoYW5pc20gd2l0aCBhZGRMaXN0
ZW5lcigpIGFuZCByZW1vdmVMaXN0ZW5lcigpLAorICAgICAgICBhbmQgdGhlIGNhbGxiYWNrIHdh
cyBpbnZva2VkIHdpdGggdGhlIGFzc29jaWF0ZWQgTWVkaWFRdWVyeUxpc3QgYXMgYXJndW1lbnQu
CisKKyAgICAgICAgTm93IHRoZSBub3JtYWwgZXZlbnQgbWVjaGFuaXNtIFsyXSBpcyB1c2VkIGlu
c3RlYWQuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYWRkTGlzdGVuZXIoKSBhbmQgcmVt
b3ZlTGlzdGVuZXIoKQorICAgICAgICBtZXRob2RzIGFyZSBiYXNpY2FsbHkgYWxpYXNlcyBmb3Ig
YWRkRXZlbnRMaXN0ZW5lcigpIGFuZCByZW1vdmVFdmVudExpc3RlbmVyKCksIHJlc3BlY3RpdmVs
eSwgYW5kIHRoZSAiY2hhbmdlIiBldmVudAorICAgICAgICBtYXNxdWVyYWRlcyBhcyBhIE1lZGlh
UXVlcnlMaXN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBuZXcgZXZlbnQgbWVj
aGFuaXNtLCBhbGlnbmluZyBXZWJLaXQgd2l0aCBCbGluayBhbmQgU3BpZGVyTW9ua2V5LCBhbmQg
YWxzbyBmaXhlcworICAgICAgICBhIGZldyBtaW5vciBzcGVjIGluY29tcGF0aWJpbGl0aWVzOiBt
YW5kYXRvcnkgbGlzdGVuZXIgYXJndW1lbnQsICJoYW5kbGVFdmVudCIgc3VwcG9ydCwgYW5kIGxp
c3RlbmVycyBjYWxsIG9yZGVyLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly93d3cudzMub3JnL1RS
LzIwMTEvV0QtY3Nzb20tdmlldy0yMDExMDgwNC8jbWVkaWFxdWVyeWxpc3QKKyAgICAgICAgWzJd
OiBodHRwczovL3d3dy53My5vcmcvVFIvY3Nzb20tdmlldy0xLyNtZWRpYXF1ZXJ5bGlzdAorCisg
ICAgICAgIFRlc3RzOiBmYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbAorICAgICAg
ICAgICAgICAgd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0
LWFkZExpc3RlbmVyLWhhbmRsZUV2ZW50Lmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVM
aXN0ZW5lci5odG1sCisgICAgICAgICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29t
LXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC5odG1sCisgICAgICAgICAg
ICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0
ZW5kcy1FdmVudFRhcmdldC1pbnRlcm9wLmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50Lmh0bWwKKyAgICAgICAg
ICAgICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLmh0bWwK
KyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1l
ZGlhLmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRT
b3VyY2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0
LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBT
b3VyY2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6
CisgICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAq
IGJpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy8qOiBVcGRhdGVkLgorICAgICAgICAqIGNzcy9NZWRp
YVF1ZXJ5TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6TWVkaWFR
dWVyeUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZSk6Cisg
ICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVlcnlMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAqIGNzcy9NZWRp
YVF1ZXJ5TGlzdC5oOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGw6CisgICAgICAg
ICogY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6
Ok1lZGlhUXVlcnlMaXN0RXZlbnQ6Ok1lZGlhUXVlcnlMaXN0RXZlbnQpOgorICAgICAgICAqIGNz
cy9NZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5
TGlzdEV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw6
IFJlbW92ZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcDoKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpkb2N1bWVudERlc3Ryb3llZCk6CisgICAgICAg
IChXZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTWVkaWFRdWVyeUxpc3QpOgorICAgICAg
ICAoV2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZU1lZGlhUXVlcnlMaXN0KToKKyAg
ICAgICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1lZGlhKToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZUFsbCk6CisgICAgICAgIChXZWJD
b3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTGlzdGVuZXIpOiBEZWxldGVkLgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZUxpc3RlbmVyKTogRGVsZXRlZC4KKyAg
ICAgICAgKiBjc3MvTWVkaWFRdWVyeU1hdGNoZXIuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1l
cy5pbjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2
ZW50VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJn
ZXRGYWN0b3J5LmluOgorCiAyMDIwLTAzLTI2ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5j
b20+CiAKICAgICAgICAgU3dpcGUgZG93biBnZXN0dXJlcyBjYXVzZSB0aGUgdmlkZW8gbGF5ZXIg
dG8gc3RpY2sgZm9yIGEgbW9tZW50IGJlZm9yZSBib3VuY2luZyBiYWNrIGludG8gcGxhY2UKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5z
cGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4IGJiMTkxYzRlODhlNWIxMGU4MmU0ZDlkOGNkYTViYTFm
Zjc1M2FmZjMuLjYzNDY1Y2Q5MTFhMGEzZGQ2ZGNkZmUyZGUwZDc0ZTE1Mjk4ZDQ0MTQgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYklu
c3BlY3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAzLTI3ICBBbGV4ZXkg
U2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlz
dCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQu
b3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBOT0JPRFkg
KE9PUFMhKS4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9u
UGFyYW1ldGVycy5qczoKKwogMjAyMC0wMy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBs
ZS5jb20+CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGtleWJvYXJkIHNob3J0Y3V0IHRv
IHRvb2x0aXAgb2YgcGlubmVkIHRhYnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtl
TGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTEyMjMwMTc4
YzFkMmEzOTM1YjIwOWE3OTlhNzczNTliZTc3ZDQ1NS4uMTc0YmQwNWFjYTI2YThlZWVlM2Y0N2Iz
ZTM0OTU4YTk2NDRkZTg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTYzOCw3ICs2MzgsNyBA
QCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNzcy9Gb250RmFjZVNldC5pZGwK
ICAgICBjc3MvTWVkaWFMaXN0LmlkbAogICAgIGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwKLSAgICBj
c3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKKyAgICBjc3MvTWVkaWFRdWVyeUxpc3RFdmVu
dC5pZGwKICAgICBjc3MvU3R5bGVNZWRpYS5pZGwKICAgICBjc3MvU3R5bGVTaGVldC5pZGwKICAg
ICBjc3MvU3R5bGVTaGVldExpc3QuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA2MWU1MGRhMDA2ZGNhNWIwYTA1NWJiNGQ1ODQyZTkz
NmNiNzAxOTI5Li41OWQyZTk3YWJhMTFhZWVlNjNlOWM0NWZkZGExNzNjMjdmOTI3MjNmIDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0Cisr
KyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTU0
Niw3ICs1NDYsNyBAQCAkKFBST0pFQ1RfRElSKS9jc3MvRm9udEZhY2UuaWRsCiAkKFBST0pFQ1Rf
RElSKS9jc3MvRm9udEZhY2VTZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFMaXN0Lmlk
bAogJChQUk9KRUNUX0RJUikvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAotJChQUk9KRUNUX0RJUikv
Y3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCiskKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFR
dWVyeUxpc3RFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRz
LmluCiAkKFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxp
dHlFbGVtZW50TWFwLmluCiAkKFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50
VHlwZU1hcC5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0
cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAppbmRleCAzZTYzZGQzNzdlODIxNDI1MjU5OTI0NzY5NTY4OTRkZTljNjdkOGNlLi43
ODUwMmIxMGM5NTliMjUxMjE4ODg1Zjc1MjI5NzI5NTQyMDk3MDAxIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTAzMiw4ICsxMDMy
LDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRp
YUxpc3QuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9K
U01lZGlhTGlzdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhUXVlcnlMaXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCi0kKEJVSUxU
X1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNN
ZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3Vy
Y2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElS
KS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5jcHAKICQoQlVJTFRfUFJP
RFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5oCiAkKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUmVjb3JkZXJF
cnJvckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMu
bWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNGU5MjU2OGYw
NzIyOTE2YWVhOTI4NTg2YzY0OTc2MzI4NzA1ZmU5NS4uMDAyM2NmNzYxZDE1NWFhYjY0MzJkNzIx
ZjNjYzRlNzMyNjQ2MWFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJj
ZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01Nzks
NyArNTc5LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvY3NzL0ZvbnRG
YWNlU2V0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFMaXN0LmlkbCBcCiAgICAgJChX
ZWJDb3JlKS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2Nzcy9NZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFRdWVyeUxp
c3RFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL1N0eWxlTWVkaWEuaWRsIFwKICAgICAk
KFdlYkNvcmUpL2Nzcy9TdHlsZVNoZWV0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvU3R5bGVT
aGVldExpc3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIv
U291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMTczMzY5NzI2OTgyMDcwNDAyMzQxODU0
YzY3ZmJiNjY5MjAzYTM3NS4uOGUwZjJjOTM3ODZiZmIyMjcwM2MxYTIxZjQ1YTZhODRjOTgyYjJm
NSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dl
YkNvcmUvU291cmNlcy50eHQKQEAgLTc5MCw2ICs3OTAsNyBAQCBjc3MvTWVkaWFRdWVyeS5jcHAK
IGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAogY3NzL01lZGlhUXVlcnlFeHByZXNzaW9uLmNw
cAogY3NzL01lZGlhUXVlcnlMaXN0LmNwcAorY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCiBj
c3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCiBjc3MvTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuY3Bw
CiBjc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzEwNyw3ICszMTA4
LDcgQEAgSlNNZWRpYUVuY29kaW5nVHlwZS5jcHAKIEpTTWVkaWFFcnJvci5jcHAKIEpTTWVkaWFM
aXN0LmNwcAogSlNNZWRpYVF1ZXJ5TGlzdC5jcHAKLUpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5j
cHAKK0pTTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAKIEpTTWVkaWFSZWNvcmRlci5jcHAKIEpTTWVk
aWFSZWNvcmRlckVycm9yRXZlbnQuY3BwCiBKU01lZGlhUmVtb3RlQ29udHJvbHMuY3BwCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2og
Yi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXgg
Yjc4ZDAzY2Q3ZTVkZTVkYTkxOWFhOTViNjVkMGY5ZDViZWEyMDBiNi4uY2JhYzFmYTViN2ZhNWEz
ZTE3Y2Q1NTBhMmM4N2Q3NzRkZDVlODBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2Vi
Q29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNv
cmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI1Nyw3ICsyMjU3LDYgQEAKIAkJN0M1
MjIyOTkxRTFEQUUxQzAwMkNCOEY3IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmggaW4gSGVhZGVycyAq
LyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzUyMjI5ODFFMURBRTE2MDAyQ0I4
RjcgLyogQWN0aXZlRE9NQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQ
cml2YXRlLCApOyB9OyB9OwogCQk3QzUyMjI5RTFFMURBRTQ3MDAyQ0I4RjcgLyogUnVudGltZUVu
YWJsZWRGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gN0M1MjIyOUMxRTFEQUU0NzAwMkNCOEY3IC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMu
aCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzUy
NjY5ODFGMUIwMzAyMDAwRjA2OEIgLyogU3RyaW5nQWRhcHRvcnMuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTI2Njk2MUYxQjAyRkMwMDBGMDY4QiAv
KiBTdHJpbmdBZGFwdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUs
ICk7IH07IH07Ci0JCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDdDNTM0M0ZCMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAq
LzsgfTsKIAkJN0M1N0JGRTcxRURFMkY2MTAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RPcGVyYXRp
b25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzU3
QkZFNjFFREUyRjVCMDA1MzRBNDggLyogSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaCAqLzsgc2V0
dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzVGMjhGQzFBODI3
RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzVGMjhGQTFBODI3RDg0MDBDMEYzMUYgLyog
SFRNTEF0dGFjaG1lbnRFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJp
dmF0ZSwgKTsgfTsgfTsKIAkJN0M2NTIyRUYxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5
bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVm
ID0gN0M2NTIyRUMxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oICov
OyB9OwpAQCAtMjUwMyw2ICsyNTAyLDcgQEAKIAkJODQzMDBCRDgxMjBDOUFENDAwMjE5NTRBIC8q
IFNWR1BhdGhTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IDg0MzAwQkQ3MTIwQzlBRDQwMDIxOTU0QSAvKiBTVkdQYXRoU291cmNlLmggKi87IH07
CiAJCTg0NUU3MkY4MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NUU3MkY3MEZEMjYxRUUwMEE4N0Q3OSAv
KiBGaWx0ZXIuaCAqLzsgfTsKIAkJODQ1RTcyRkMwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRl
ci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ1RTcy
RkEwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oICovOyB9OworCQk4NDY1MEU3RTIzODdB
RDdEMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ2NTBFN0MyMzg3QUQ3QzAwNjI2NkUyIC8qIE1l
ZGlhUXVlcnlMaXN0RXZlbnQuaCAqLzsgfTsKIAkJODQ3MzBENzcxMjQ4RjBCMzAwRDNBOUM5IC8q
IERpc3RhbnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxl
OyBmaWxlUmVmID0gODQ3MzBENUExMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3RhbnRMaWdodFNvdXJj
ZS5oICovOyB9OwogCQk4NDczMEQ3OTEyNDhGMEIzMDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJp
eC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3MzBE
NUMxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFQ29udm9sdmVNYXRyaXguaCAqLzsgfTsKIAkJODQ3MzBE
N0IxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFRGlmZnVzZUxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDczMEQ1RTEyNDhGMEIzMDBEM0E5Qzkg
LyogRkVEaWZmdXNlTGlnaHRpbmcuaCAqLzsgfTsKQEAgLTQyOTcsNyArNDI5Nyw2IEBACiAJCUQz
NTlENzhBMTI5Q0EyNzEwMDA2RTVEMiAvKiBIVE1MRGV0YWlsc0VsZW1lbnQuaCBpbiBIZWFkZXJz
ICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzNTlENzg3MTI5Q0EyNzEwMDA2
RTVEMiAvKiBIVE1MRGV0YWlsc0VsZW1lbnQuaCAqLzsgfTsKIAkJRDM1OUQ4QkYxMjlDQTU1QzAw
MDZFNUQyIC8qIEpTSFRNTERldGFpbHNFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMzU5RDhCRDEyOUNBNTVDMDAwNkU1RDIgLyogSlNIVE1M
RGV0YWlsc0VsZW1lbnQuaCAqLzsgfTsKIAkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1l
ZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVS
ZWYgPSBEM0E5NEEzMjEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCAqLzsgfTsK
LQkJRDNBOTRBM0IxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBp
biBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQTk0QTM0MTIy
REFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggKi87IH07CiAJCUQzQTk0
QTQ3MTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLyA9
IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMg
LyogSlNNZWRpYVF1ZXJ5TGlzdC5oICovOyB9OwogCQlEM0FBMTBGNDEyM0E5OEFBMDA5MjE1MkIg
LyogTWVkaWFRdWVyeU1hdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmls
ZTsgZmlsZVJlZiA9IEQzQUExMEYyMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hl
ci5oICovOyB9OwogCQlEM0Q0RTk3MzEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVt
ZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0Q0
RTk3MTEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk5NjAsOCArOTk1OSw2IEBA
CiAJCTdDNTIyRDQ5MTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rvck92ZXJsYXkuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzUyMkQ0QTE1QjQ3OEIyMDA5QjdDOTUgLyog
SW5zcGVjdG9yT3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNw
ZWN0b3JPdmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNTI2Njk2MUYx
QjAyRkMwMDBGMDY4QiAvKiBTdHJpbmdBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBTdHJpbmdBZGFwdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owot
CQk3QzUzNDNGQTE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3RM
aXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNTM0M0ZCMTdCNzRC
NjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhG
aWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJj
ZWNvZGUuY3BwLmg7IHBhdGggPSBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDsgc291cmNlVHJl
ZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M1N0JGRTYxRURFMkY1QjAwNTM0QTQ4IC8qIEpTRE9NQWJz
dHJhY3RPcGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9N
QWJzdHJhY3RPcGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNUJF
QTNBMUU5RUU3NzEwMENDNTE3QiAvKiBOYXZpZ2F0b3JJRC5pZGwgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBw
YXRoID0gTmF2aWdhdG9ySUQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzVC
RUEzQjFFOUVFNzcxMDBDQzUxN0IgLyogTmF2aWdhdG9yTGFuZ3VhZ2UuaWRsICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
dGV4dDsgcGF0aCA9IE5hdmlnYXRvckxhbmd1YWdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKQEAgLTEwNDY4LDYgKzEwNDY1LDkgQEAKIAkJODQ1RTcyRjcwRkQyNjFFRTAwQTg3RDc5
IC8qIEZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWx0ZXIuaDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ1RTcyRjkwRkQyNjIzOTAwQTg3RDc5IC8q
IFNWR0ZpbHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdG
aWx0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDVFNzJGQTBGRDI2MjM5
MDBBODdENzkgLyogU1ZHRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmls
ZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9
IFNWR0ZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU3QzIzODdB
RDdDMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CisJCTg0NjUwRTdGMjM4N0FEOEEwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50
LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0
RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU4MDIzODdBRDhC
MDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gTWVkaWFRdWVyeUxpc3RFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJ
CTg0NzMwRDVBMTI0OEYwQjMwMEQzQTlDOSAvKiBEaXN0YW50TGlnaHRTb3VyY2UuaCAqLyA9IHtp
c2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlw
ZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzdGFudExpZ2h0U291cmNlLmg7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NzMwRDVCMTI0OEYwQjMwMEQzQTlDOSAvKiBGRUNvbnZv
bHZlTWF0cml4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZFQ29u
dm9sdmVNYXRyaXguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDczMEQ1QzEy
NDhGMEIzMDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVS
ZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29k
ZS5jLmg7IHBhdGggPSBGRUNvbnZvbHZlTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07CkBAIC0xNDUxNiw4ICsxNDUxNiw2IEBACiAJCUQzQTk0QTMxMTIyREFCQUMwMEEzN0JCQyAv
KiBNZWRpYVF1ZXJ5TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVu
Y29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGgg
PSBNZWRpYVF1ZXJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0
QTMyMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwogCQlEM0E5NEEzMzEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaWRsICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKLQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0
OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEM0E5NEEzNTEyMkRB
QkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0
OyBwYXRoID0gTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCUQzQTk0QTQyMTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmNw
cCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25v
d25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3Qu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0E5NEE0MzEyMkRDNDBGMDBBMzdC
QkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZp
bGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGgg
PSBKU01lZGlhUXVlcnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQUEx
MEYxMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHA7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDExOCw4ICsyNDExNiw2IEBACiAJCQkJQkMzQzM5QjUw
QzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8sCiAJCQkJRDNBOTRBNDIxMjJEQzQw
RjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuY3BwICovLAogCQkJCUQzQTk0QTQzMTIyREM0
MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggKi8sCi0JCQkJN0M1MzQzRkExN0I3NEI2
MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgKi8sCi0JCQkJN0M1MzQz
RkIxN0I3NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oICovLAogCQkJ
CTBGRjUwMjY3MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuY3BwICovLAogCQkJCTBG
RjUwMjY4MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCAqLywKIAkJCQlCQ0UwMTM5
ODBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmNwcCAqLywKQEAgLTI3OTMyLDggKzI3
OTI4LDkgQEAKIAkJCQlEM0E5NEEzMTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3Qu
Y3BwICovLAogCQkJCUQzQTk0QTMyMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5o
ICovLAogCQkJCUQzQTk0QTMzMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5pZGwg
Ki8sCi0JCQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaCAqLywKLQkJCQlEM0E5NEEzNTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3RM
aXN0ZW5lci5pZGwgKi8sCisJCQkJODQ2NTBFN0YyMzg3QUQ4QTAwNjI2NkUyIC8qIE1lZGlhUXVl
cnlMaXN0RXZlbnQuY3BwICovLAorCQkJCTg0NjUwRTdDMjM4N0FEN0MwMDYyNjZFMiAvKiBNZWRp
YVF1ZXJ5TGlzdEV2ZW50LmggKi8sCisJCQkJODQ2NTBFODAyMzg3QUQ4QjAwNjI2NkUyIC8qIE1l
ZGlhUXVlcnlMaXN0RXZlbnQuaWRsICovLAogCQkJCUQzQUExMEYxMTIzQTk4QUEwMDkyMTUyQiAv
KiBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgKi8sCiAJCQkJRDNBQTEwRjIxMjNBOThBQTAwOTIxNTJC
IC8qIE1lZGlhUXVlcnlNYXRjaGVyLmggKi8sCiAJCQkJNDQ3MTcxMEIyMDVBRjk0NTAwMEExMTZF
IC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmNwcCAqLywKQEAgLTMxMjE4LDcgKzMxMjE1LDYg
QEAKIAkJCQlCQzNDMzlCNzBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuaCBpbiBIZWFk
ZXJzICovLAogCQkJCTkzRDQzN0EzMUQ1N0I3RTIwMEFCODVFQSAvKiBKU01lZGlhTGlzdEN1c3Rv
bS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBNDcxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVk
aWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJG
MCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEOURF
MTc1MTdBQUM3NEMwMEVBMzg2RCAvKiBKU01lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJ
CQkwNzI3N0U0RDE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMg
Ki8sCiAJCQkJMDcyNzdFNEYxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1BdWRpb0Rl
c3RpbmF0aW9uTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTgzOCw3ICszMTgzNCw3IEBACiAJ
CQkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBI
ZWFkZXJzICovLAogCQkJCTdDQjVDQTQwMUU1MjVDNzMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhw
cmVzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8q
IE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQlEM0E5NEEzQjEyMkRBQkFDMDBB
MzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODQ2
NTBFN0UyMzg3QUQ3RDAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuaCBpbiBIZWFkZXJz
ICovLAogCQkJCUQzQUExMEY0MTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5o
IGluIEhlYWRlcnMgKi8sCiAJCQkJOTQ5M0I2QzExRDc0QjQxMjAwODhFNzgwIC8qIE1lZGlhUXVl
cnlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0NzE3MTBFMjA1QUY5NDUwMDBBMTE2RSAv
KiBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggMTg4MmE5ZWZm
ZTI0MGM0NTliZDVkMzQyNjE3YTBjZDkzM2MyZDg4OS4uYjE4ZWI5YTIyNGE1OWQxMjhlYTQwZWQ4
MWRiOTI0OGEzYWM5Y2E1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMv
V2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dl
YkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTQ5LDYgKzE0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3Jl
IHsKICAgICBtYWNybyhNZWRpYUtleVN0YXR1c01hcCkgXAogICAgIG1hY3JvKE1lZGlhS2V5U3lz
dGVtQWNjZXNzKSBcCiAgICAgbWFjcm8oTWVkaWFLZXlzKSBcCisgICAgbWFjcm8oTWVkaWFRdWVy
eUxpc3RFdmVudCkgXAogICAgIG1hY3JvKE1lZGlhUmVjb3JkZXIpIFwKICAgICBtYWNybyhNZWRp
YVJlY29yZGVyRXJyb3JFdmVudCkgXAogICAgIG1hY3JvKE1lZGlhU291cmNlKSBcCmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFs
T2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RHbG9iYWxPYmplY3QuY3BwCmluZGV4IDYwNWZlYjYxNjRhZWU4ZjQ3NzNiZDMwZTJhNTEyOTM0
MzIwYzJiNWMuLjA2Y2M4NTYwYjI0NDI1MTBiOGYzNmUyODViMTllZjUyMDk1NTY1YWMgMTAwNjQ0
Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCkBAIC01NCw3ICs1NCw2IEBACiAjaW5jbHVkZSAiSlNU
ZXN0SXRlcmFibGUuaCIKICNpbmNsdWRlICJKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oIgog
I2luY2x1ZGUgIkpTVGVzdE1hcExpa2UuaCIKLSNpbmNsdWRlICJKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVu
dGlmaWVyLmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdF
eGNlcHRpb24uaCIKICNpbmNsdWRlICJKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRl
bnRpZmllci5oIgpAQCAtMjA5LDggKzIwOCw2IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0
R2xvYmFsT2JqZWN0VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3IoSlNDOjpKCiBi
b29sIHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVj
dG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29k
ZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE1h
cExpa2VDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1
ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFw
TGlrZUNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVl
LCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFs
T2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFs
T2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwotYm9vbCBz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9y
KEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRK
U1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmpl
Y3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CiBib29sIHNldEpT
VGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25z
dHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRl
c3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7
CkBAIC0zMDIsMTEgKzI5OSwxMSBAQCB1c2luZyBKU1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1Y3Rv
ciA9IEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTVGVzdEdsbwogCiBzdGF0aWMg
Y29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRl
eFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzNywgLTEgfSwKKyAgICB7IDM2LCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAwLCAtMSB9LAogICAgIHsgNCwgMjYyIH0sCi0g
ICAgeyA0MSwgLTEgfSwKKyAgICB7IDQwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzE0LDcgKzMxMSw3IEBAIHN0YXRpYyBjb25z
dCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2
Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
Ci0gICAgeyA1MSwgLTEgfSwKKyAgICB7IDUwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzIyLDcgKzMxOSw3IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4
WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCi0gICAgeyA2MywgLTEgfSwKKyAgICB7IDYyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzM2LDEzICszMzMsMTMgQEAgc3Rh
dGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxl
SW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKLSAgICB7IDMxLCAtMSB9LAorICAgIHsgMzAsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAotICAgIHsgNjYsIC0xIH0sCisgICAgeyA2NSwgLTEgfSwKICAgICB7IDks
IDI1OCB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM1MSw3ICszNDgs
NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2Jq
ZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAotICAgIHsgMzUsIC0xIH0sCisgICAgeyAzNCwgLTEgfSwKICAgICB7
IDE2LCAyNjMgfSwKICAgICB7IDYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM2NCw3ICsz
NjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFs
T2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMzMsIC0xIH0sCisgICAgeyAzMiwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM4Niw3
ICszODMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xv
YmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTcsIC0xIH0sCisgICAgeyA1NiwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM5
NSwyOCArMzkyLDI4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rl
c3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDIwLCAyNTYgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTgsIC0xIH0sCisgICAgeyA1Nywg
LTEgfSwKICAgICB7IDE1LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
LSAgICB7IDQzLCAtMSB9LAorICAgIHsgNDIsIC0xIH0sCiAgICAgeyAxNCwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgMzIsIC0xIH0sCisgICAgeyAzMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ3LCAtMSB9LAorICAgIHsgNDYsIC0x
IH0sCiAgICAgeyAyMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMiwgLTEgfSwKLSAg
ICB7IDM0LCAtMSB9LAorICAgIHsgMzMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC00MjYsMjIgKzQyMywyMiBAQCBzdGF0aWMgY29u
c3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsy
NjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAotICAgIHsgNTUsIC0xIH0sCisgICAgeyA1NCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCi0gICAgeyAyOCwgLTEgfSwKLSAgICB7IDI0LCAtMSB9LAorICAgIHsgMjcsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDM5LCAtMSB9LAorICAgIHsgLTEsIC0xIH0sCisgICAg
eyAzOCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1MCwgLTEgfSwK
KyAgICB7IDQ5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAxMCwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LApAQCAtNDU5LDEyICs0NTYsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21w
YWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDY0LCAt
MSB9LAorICAgIHsgNjMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCi0gICAgeyAyOSwgLTEgfSwKLSAgICB7IDI2LCAyNjEgfSwKKyAgICB7
IDI4LCAtMSB9LAorICAgIHsgMjUsIDI2MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtNDc2LDcgKzQ3Myw3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDEyLCAyNTcgfSwKICAgICB7IC0xLCAtMSB9LAot
ICAgIHsgNTksIC0xIH0sCisgICAgeyA1OCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTQ4NSwxNyArNDgyLDE3IEBAIHN0YXRpYyBj
b25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4
WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCi0gICAgeyAzMCwgMjY1IH0sCisgICAgeyAyOSwgMjY1IH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IDEzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2MiwgLTEgfSwKKyAgICB7
IDYxLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ1LCAtMSB9LAor
ICAgIHsgNDQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCkBAIC01MDgsNyArNTA1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0
SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDUzLCAtMSB9
LAorICAgIHsgNTIsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCkBAIC01MzAsMTIgKzUyNywxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENv
bXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNDYs
IC0xIH0sCisgICAgeyA0NSwgLTEgfSwKICAgICB7IDcsIDI2MCB9LAogICAgIHsgLTEsIC0xIH0s
Ci0gICAgeyA2MCwgLTEgfSwKKyAgICB7IDU5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAg
eyA0NCwgLTEgfSwKKyAgICB7IDQzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtNTQ1LDI4ICs1NDIsMjggQEAgc3RhdGljIGNvbnN0
IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2
XSA9IHsKICAgICB7IDIyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
LSAgICB7IDI1LCAtMSB9LAorICAgIHsgMjQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAotICAgIHsgNDIsIC0xIH0sCisgICAgeyA0MSwgLTEgfSwKICAgICB7IDMsIC0x
IH0sCi0gICAgeyA0OCwgLTEgfSwKKyAgICB7IDQ3LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyA0OSwgLTEgfSwKKyAgICB7IDQ4LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAyMywgMjU5
IH0sCi0gICAgeyAyNywgLTEgfSwKLSAgICB7IDM2LCAtMSB9LAotICAgIHsgMzgsIC0xIH0sCi0g
ICAgeyA0MCwgLTEgfSwKLSAgICB7IDUyLCAtMSB9LAotICAgIHsgNTQsIC0xIH0sCi0gICAgeyA1
NiwgLTEgfSwKLSAgICB7IDYxLCAtMSB9LAotICAgIHsgNjUsIC0xIH0sCisgICAgeyAyNiwgLTEg
fSwKKyAgICB7IDM1LCAtMSB9LAorICAgIHsgMzcsIC0xIH0sCisgICAgeyAzOSwgLTEgfSwKKyAg
ICB7IDUxLCAtMSB9LAorICAgIHsgNTMsIC0xIH0sCisgICAgeyA1NSwgLTEgfSwKKyAgICB7IDYw
LCAtMSB9LAorICAgIHsgNjQsIC0xIH0sCiB9OwogCiAKQEAgLTYwOCw3ICs2MDUsNiBAQCBzdGF0
aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXNbXSA9
CiAgICAgeyAiVGVzdEl0ZXJhYmxlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0SXRl
cmFibGVDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RJdGVyYWJsZUNvbnN0cnVj
dG9yKSB9IH0sCiAgICAgeyAiVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RHbG9iYWxPYmplY3RUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvciksIChpbnRw
dHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVz
dEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKSB9IH0sCiAg
ICAgeyAiVGVzdE1hcExpa2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0
dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8
UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNYXBMaWtl
Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNvbnN0cnVjdG9yKSB9
IH0sCi0gICAgeyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEds
b2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IpLCAoaW50cHRy
X3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RH
bG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9IH0sCiAg
ICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciIsIHN0YXRpY19jYXN0
PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2lj
LCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNU
ZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0
cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVl
RnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRl
bnRpZmllckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRl
clRocm93aW5nRXhjZXB0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0
PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2Jh
bE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVj
dG9yKSB9IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVy
Iiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVt
KSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0
VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0
aElkZW50aWZpZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVy
dHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZElu
ZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSB9IH0sCkBAIC02NTcsNyArNjUz
LDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxl
VmFsdWVzW10gPQogICAgIHsgInJlZ3VsYXJPcGVyYXRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25l
ZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50
cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEdsb2JhbE9iamVjdElu
c3RhbmNlRnVuY3Rpb25SZWd1bGFyT3BlcmF0aW9uKSwgKGludHB0cl90KSAoMSkgfSB9LAogfTsK
IAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZSA9IHsgNjcs
IDI1NSwgdHJ1ZSwgSlNUZXN0R2xvYmFsT2JqZWN0OjppbmZvKCksIEpTVGVzdEdsb2JhbE9iamVj
dFRhYmxlVmFsdWVzLCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4IH07CitzdGF0aWMgY29u
c3QgSGFzaFRhYmxlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlID0geyA2NiwgMjU1LCB0cnVlLCBK
U1Rlc3RHbG9iYWxPYmplY3Q6OmluZm8oKSwgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXMs
IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXggfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0
cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RHbG9iYWxPYmpl
Y3RDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMTUwMywzMSArMTQ5OSw2IEBAIGJvb2wg
c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVj
dCogbGV4aWNhbEdsb2JhbE9iCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxP
YmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvclNl
dHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVz
dE1hcExpa2UiKTsKIH0KIAotc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVj
dFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmpl
Y3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwg
VGhyb3dTY29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7
Ci0gICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhp
Y2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KLUVuY29k
ZWRKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29u
c3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1Zh
bHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8
SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlz
VmFsdWUsICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIpOwotfQotCi1zdGF0aWMgaW5saW5l
IGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25z
dHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0
R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0aHJv
d1Njb3BlKQotewotICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBW
TSYgdm0gPSB0aHJvd1Njb3BlLnZtKCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29u
c3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVy
Ojpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyIiksIHN0cmxlbigiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIi
KSksIHZhbHVlKTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1
ZSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxz
ZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9y
U2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUg
anNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNv
bnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rl
c3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAg
ICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
YmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3Bw
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWQ4MTNk
MzAyZWMwN2ZmZWVmNzk4N2YwZGYyYTczYzE1YjhiYWU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMv
dGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgL2Rldi9udWxsCkBA
IC0xLDI5OCArMCwwIEBACi0vKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQg
b3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5
IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5
IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1v
ZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGlj
Ci0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
bjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRp
b24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVk
IGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5Z
IFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJD
SEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhl
IEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxz
LgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJh
cnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBz
ZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUg
U29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9v
ciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJjb25m
aWcuaCIKLSNpbmNsdWRlICJKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0KLSNpbmNs
dWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJET01Jc29TdWJzcGFjZXMuaCIKLSNp
bmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29u
c3RydWN0YWJsZS5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVydENhbGxiYWNrcy5oIgotI2luY2x1
ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVj
dC5oIgotI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCi0jaW5jbHVkZSAiSlNET01XcmFwcGVy
Q2FjaGUuaCIKLSNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKLSNpbmNsdWRl
ICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0
YS5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0aW9uUHJvdG90eXBlLmg+Ci0jaW5j
bHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcEFuYWx5emVyLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlw
dENvcmUvSlNDSW5saW5lcy5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTRGVzdHJ1Y3Rp
YmxlT2JqZWN0SGVhcENlbGxUeXBlLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Vic3Bh
Y2VJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8d3RmL0dldFB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Qb2lu
dGVyUHJlcGFyYXRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL1VSTC5oPgotCi0KLW5hbWVzcGFjZSBX
ZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLS8vIEZ1bmN0aW9ucwotCi1KU0M6OkVu
Y29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclBy
b3RvdHlwZUZ1bmN0aW9uTWV0aG9kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFt
ZSopOwotCi0vLyBBdHRyaWJ1dGVzCi0KLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVu
Y29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNv
ZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7Ci0KLWNsYXNzIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2Jq
ZWN0IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlNDOjpKU05vbkZpbmFsT2JqZWN0Owot
ICAgIHN0YXRpYyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKiBjcmVhdGUo
SlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6U3RydWN0
dXJlKiBzdHJ1Y3R1cmUpCi0gICAgewotICAgICAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyUHJvdG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGU+KHZtLmhlYXApKSBKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Ci0g
ICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICByZXR1cm4gcHRyOwotICAg
IH0KLQotICAgIERFQ0xBUkVfSU5GTzsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwg
SlNDOjpTdWJzcGFjZUFjY2Vzcz4KLSAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3Bh
Y2VGb3IoSlNDOjpWTSYgdm0pCi0gICAgewotICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJT
UEFDRV9TSEFSQUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlLCBCYXNl
KTsKLSAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOwotICAgIH0KLSAgICBzdGF0
aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0ds
b2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsK
LSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwg
cHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3Mp
LCBpbmZvKCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyUHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICAgICAgOiBKU0M6OkpTTm9uRmluYWxPYmplY3Qodm0s
IHN0cnVjdHVyZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6
OlZNJik7Ci19OwotU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
clByb3RvdHlwZTo6QmFzZSk7Ci0KLXVzaW5nIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJD
b25zdHJ1Y3RvciA9IEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI+OwotCi10ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYg
dm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgVU5VU0VE
X1BBUkFNKHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LmZ1bmN0aW9uUHJvdG90eXBlKCk7
Ci19Ci0KLXRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3Ry
dWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGds
b2JhbE9iamVjdCkKLXsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3Rv
dHlwZSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxP
YmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxT
dHJpbmcodm0sIFN0cmluZygiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiX3MpKSwgSlNDOjpQ
cm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVt
YmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlB
dHRyaWJ1dGU6OkRvbnRFbnVtKTsKLX0KLQotdGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENS
RUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9y
KSB9OwotCi0vKiBIYXNoIHRhYmxlIGZvciBwcm90b3R5cGUgKi8KLQotc3RhdGljIGNvbnN0IEhh
c2hUYWJsZVZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVUYWJsZVZh
bHVlc1tdID0KLXsKLSAgICB7ICJjb25zdHJ1Y3RvciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihK
U0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJf
dClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9w
ZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNv
bnN0cnVjdG9yKSB9IH0sCi0gICAgeyAibWV0aG9kIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpT
Qzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90
KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2QpLCAoaW50cHRyX3QpICgxKSB9IH0sCi19OwotCi1j
b25zdCBDbGFzc0luZm8gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6c19p
bmZvID0geyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUiLCAmQmFzZTo6c19p
bmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXJQcm90b3R5cGUpIH07Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQotewotICAgIEJhc2U6OmZp
bmlzaENyZWF0aW9uKHZtKTsKLSAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmluZm8oKSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
clByb3RvdHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7Ci19Ci0KLWNvbnN0IENsYXNzSW5mbyBKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpzX2luZm8gPSB7ICJUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0Rf
VEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcikgfTsKLQotSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcjo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcihTdHJ1Y3R1cmUqIHN0
cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyPiYmIGltcGwpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQot
ewotfQotCi12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmZpbmlzaENyZWF0aW9u
KFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgQVNTRVJUKGlu
aGVyaXRzKHZtLCBpbmZvKCkpKTsKLQotICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfYmFzZV9v
ZjxBY3RpdmVET01PYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjo6dmFsdWUsICJJ
bnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9NT2JqZWN0XSBldmVuIHRob3VnaCBp
bXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2ZURPTU9iamVjdC4iKTsKLQotfQot
Ci1KU09iamVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Y3JlYXRlUHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4g
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6Y3JlYXRlKHZtLCAmZ2xvYmFs
T2JqZWN0LCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpjcmVhdGVTdHJ1
Y3R1cmUodm0sICZnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmplY3RQcm90b3R5cGUoKSkp
OwotfQotCi1KU09iamVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6cHJvdG90eXBl
KFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4g
Z2V0RE9NUHJvdG90eXBlPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KHZtLCBnbG9iYWxP
YmplY3QpOwotfQotCi1KU1ZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmdldENv
bnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLXsK
LSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ckNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2Jh
bE9iamVjdCkpOwotfQotCi12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmRlc3Ry
b3koSlNDOjpKU0NlbGwqIGNlbGwpCi17Ci0gICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ciogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIq
PihjZWxsKTsKLSAgICB0aGlzT2JqZWN0LT5KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjp+
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcigpOwotfQotCi10ZW1wbGF0ZTw+IGlubGluZSBK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcj46OmNhc3QoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSYgY2FsbEZyYW1lKQotewotICAgIHJldHVybiBqc0R5bmFtaWNDYXN0PEpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqPihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0
KSwgY2FsbEZyYW1lLnRoaXNWYWx1ZSgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUganNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKLXsKLSAg
ICBWTSYgdm0gPSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gdGhy
b3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8qIHByb3RvdHlwZSA9
IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSo+KHZt
LCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKFVOTElLRUxZKCFwcm90b3R5
cGUpKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0
LCB0aHJvd1Njb3BlKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9i
amVjdCksIHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCkpKTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxH
bG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5j
b2RlZFZhbHVlKQotewotICAgIFZNJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVj
dCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAg
YXV0byogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyUHJvdG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLSAgICBpZiAo
VU5MSUtFTFkoIXByb3RvdHlwZSkpIHsKLSAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihsZXhpY2Fs
R2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0K
LSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvcgotICAgIHJldHVybiBwcm90
b3R5cGUtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIEpTVmFs
dWU6OmRlY29kZShlbmNvZGVkVmFsdWUpKTsKLX0KLQotc3RhdGljIGlubGluZSBKU0M6OkVuY29k
ZWRKU1ZhbHVlIGpzVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVGdW5jdGlvbk1l
dGhvZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpD
YWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzLCBKU0M6OlRocm93U2Nv
cGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3Qp
OwotICAgIFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Nj
b3BlKTsKLSAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOwotICAgIGlmIChV
TkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQotICAgICAgICByZXR1cm4g
dGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGNyZWF0ZU5vdEVu
b3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKLSAgICBFbnN1cmVTdGls
bEFsaXZlU2NvcGUgYXJndW1lbnQwID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsK
LSAgICBhdXRvIGxpc3RlbmVyID0gY29udmVydDxJRExDYWxsYmFja0Z1bmN0aW9uPEpTTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lcj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUo
KSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBs
ZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1l
bnRNdXN0QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAibGlz
dGVuZXIiLCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiLCAibWV0aG9kIik7IH0pOwotICAg
IFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Ci0gICAg
aW1wbC5tZXRob2QobGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFs
dWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1Rf
Q0FMTCBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2Qo
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1l
KQotewotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cj46OmNhbGw8anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0
aG9kQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJtZXRob2QiKTsKLX0K
LQotSlNDOjpJc29TdWJzcGFjZSogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6c3Vic3Bh
Y2VGb3JJbXBsKEpTQzo6Vk0mIHZtKQotewotICAgIGF1dG8mIGNsaWVudERhdGEgPSAqc3RhdGlj
X2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKLSAgICBhdXRvJiBzcGFjZXMg
PSBjbGllbnREYXRhLnN1YnNwYWNlcygpOwotICAgIGlmIChhdXRvKiBzcGFjZSA9IHNwYWNlcy5t
X3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuZ2V0KCkpCi0gICAgICAgIHJl
dHVybiBzcGFjZTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNE
ZXN0cnVjdGlibGVPYmplY3QsIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHx8ICFKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpuZWVkc0Rlc3RydWN0aW9uKTsKLSAgICBpZiBjb25z
dGV4cHIgKHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3QsIEpTVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KQotICAgICAgICBzcGFjZXMubV9zdWJzcGFjZUZvclRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyID0gbWFrZVVuaXF1ZTxJc29TdWJzcGFjZT4gSVNPX1NV
QlNQQUNFX0lOSVQodm0uaGVhcCwgdm0uZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmdl
dCgpLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsKLSAgICBlbHNlCi0gICAgICAgIHNw
YWNlcy5tX3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgPSBtYWtlVW5pcXVl
PElzb1N1YnNwYWNlPiBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFwLCB2bS5jZWxsSGVhcENlbGxU
eXBlLmdldCgpLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsKLSAgICBhdXRvKiBzcGFj
ZSA9IHNwYWNlcy5tX3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuZ2V0KCk7
Ci1JR05PUkVfV0FSTklOR1NfQkVHSU4oInVucmVhY2hhYmxlLWNvZGUiKQotSUdOT1JFX1dBUk5J
TkdTX0JFR0lOKCJ0YXV0b2xvZ2ljYWwtY29tcGFyZSIpCi0gICAgaWYgKCZKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyOjp2aXNpdE91dHB1dENvbnN0cmFpbnRzICE9ICZKU0M6OkpTQ2VsbDo6
dmlzaXRPdXRwdXRDb25zdHJhaW50cykKLSAgICAgICAgY2xpZW50RGF0YS5vdXRwdXRDb25zdHJh
aW50U3BhY2VzKCkuYXBwZW5kKHNwYWNlKTsKLUlHTk9SRV9XQVJOSU5HU19FTkQKLUlHTk9SRV9X
QVJOSU5HU19FTkQKLSAgICByZXR1cm4gc3BhY2U7Ci19Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcjo6YW5hbHl6ZUhlYXAoSlNDZWxsKiBjZWxsLCBIZWFwQW5hbHl6ZXImIGFu
YWx5emVyKQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcio+KGNlbGwpOwotICAgIGFuYWx5emVyLnNldFdyYXBwZWRPYmplY3RGb3JD
ZWxsKGNlbGwsICZ0aGlzT2JqZWN0LT53cmFwcGVkKCkpOwotICAgIGlmICh0aGlzT2JqZWN0LT5z
Y3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIGFuYWx5emVyLnNldExhYmVsRm9yQ2Vs
bChjZWxsLCAidXJsICIgKyB0aGlzT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVy
bCgpLnN0cmluZygpKTsKLSAgICBCYXNlOjphbmFseXplSGVhcChjZWxsLCBhbmFseXplcik7Ci19
Ci0KLWJvb2wgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyOjppc1JlYWNoYWJsZUZy
b21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCosIFNs
b3RWaXNpdG9yJiB2aXNpdG9yLCBjb25zdCBjaGFyKiogcmVhc29uKQotewotICAgIFVOVVNFRF9Q
QVJBTShoYW5kbGUpOwotICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKLSAgICBVTlVTRURfUEFS
QU0ocmVhc29uKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lck93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhh
bmRsZSwgdm9pZCogY29udGV4dCkKLXsKLSAgICBhdXRvKiBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyID0gc3RhdGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KGhhbmRs
ZS5zbG90KCktPmFzQ2VsbCgpKTsKLSAgICBhdXRvJiB3b3JsZCA9ICpzdGF0aWNfY2FzdDxET01X
cmFwcGVyV29ybGQqPihjb250ZXh0KTsKLSAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJmpzVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXItPndyYXBwZWQoKSwganNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcik7Ci19Ci0KLSNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0jaWYgUExBVEZP
Uk0oV0lOKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCi1leHRlcm4gIkMiIHsgZXh0
ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lckBXZWJDb3JlQEA2QkAiKVtdKSgpOyB9Ci0jZWxzZQotZXh0ZXJuICJDIiB7IGV4dGVybiB2
b2lkKiBfWlRWTjdXZWJDb3JlMjZUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckVbXTsgfQotI2Vu
ZGlmCi0jZW5kaWYKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotewotCi0jaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdS
SVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2lu
dGVyKGltcGwucHRyKCkpOwotI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZU
YWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ckBXZWJDb3JlQEA2QkAiKTsKLSNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVy
ID0gJl9aVFZON1dlYkNvcmUyNlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyRVsyXTsKLSNlbmRp
ZgotCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBkb2Vz
IG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVt
ZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9u
Ci0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPjo6dmFsdWUsICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBpcyBub3QgcG9s
eW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhl
ciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBo
YXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVu
dGx5IHJlcXVpcmUgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgeW91IHRvIG9wdCBvdXQgb2Yg
YmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0
aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFT
RV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwot
I2VuZGlmCi0gICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0b0pT
KEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NR2xvYmFsT2Jq
ZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJiBpbXBsKQotewot
ICAgIHJldHVybiB3cmFwKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgaW1wbCk7
Ci19Ci0KLVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyOjp0b1dyYXBwZWQoSlNDOjpWTSYgdm0sIEpTQzo6SlNWYWx1ZSB2YWx1ZSkKLXsKLSAg
ICBpZiAoYXV0byogd3JhcHBlciA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcio+KHZtLCB2YWx1ZSkpCi0gICAgICAgIHJldHVybiAmd3JhcHBlci0+d3JhcHBlZCgp
OwotICAgIHJldHVybiBudWxscHRyOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
IGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjM5MGQwNTdj
ODU2YzUxNmUwN2Y5ZTY5MDZkMzBhZDZiM2M3N2FlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rl
c3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEs
OTMgKzAsMCBAQAotLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4g
c291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5l
cmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBm
cmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkg
aXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAg
IExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVp
dGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBh
bnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQot
ICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRo
ZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3
YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0g
ICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jcHJhZ21hIG9uY2UKLQotI2lu
Y2x1ZGUgIkpTRE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmgiCi0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJD
b3JlIHsKLQotY2xhc3MgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA6IHB1YmxpYyBKU0RP
TVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHsKLXB1YmxpYzoKLSAgICB1c2lu
ZyBCYXNlID0gSlNET01XcmFwcGVyPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjsKLSAgICBz
dGF0aWMgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogY3JlYXRlKEpTQzo6U3RydWN0dXJl
KiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotICAgIHsKLSAgICAgICAgSlNUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihnbG9iYWxPYmplY3QtPnZtKCkuaGVhcCkpIEpT
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoc3RydWN0dXJlLCAqZ2xvYmFsT2JqZWN0LCBXVEZN
b3ZlKGltcGwpKTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPnZt
KCkpOwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6OkpTT2Jq
ZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7Ci0gICAg
c3RhdGljIEpTQzo6SlNPYmplY3QqIHByb3RvdHlwZShKU0M6OlZNJiwgSlNET01HbG9iYWxPYmpl
Y3QmKTsKLSAgICBzdGF0aWMgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHRvV3JhcHBlZChK
U0M6OlZNJiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlND
ZWxsKik7Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUq
IGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpT
Qzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5
cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0K
LQotICAgIHN0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0
IEpTQzo6SlNHbG9iYWxPYmplY3QqKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgSlNDOjpTdWJz
cGFjZUFjY2VzcyBtb2RlPiBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlND
OjpWTSYgdm0pCi0gICAgewotICAgICAgICBpZiBjb25zdGV4cHIgKG1vZGUgPT0gSlNDOjpTdWJz
cGFjZUFjY2Vzczo6Q29uY3VycmVudGx5KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0g
ICAgICAgIHJldHVybiBzdWJzcGFjZUZvckltcGwodm0pOwotICAgIH0KLSAgICBzdGF0aWMgSlND
OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsKLSAgICBzdGF0aWMg
dm9pZCBhbmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwotcHJvdGVjdGVk
OgotICAgIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RP
TUdsb2JhbE9iamVjdCYsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0KLSAg
ICB2b2lkIGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci0KLWNsYXNzIEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJPd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7Ci1w
dWJsaWM6Ci0gICAgdmlydHVhbCBib29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6
SGFuZGxlPEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBj
b25zdCBjaGFyKiopOwotICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6
OlVua25vd24+LCB2b2lkKiBjb250ZXh0KTsKLX07Ci0KLWlubGluZSBKU0M6OldlYWtIYW5kbGVP
d25lciogd3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyKikKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lck93bmVyPiBvd25lcjsKLSAgICByZXR1cm4gJm93bmVyLmdldCgpOwotfQotCi1p
bmxpbmUgdm9pZCogd3JhcHBlcktleShUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogd3JhcHBh
YmxlT2JqZWN0KQotewotICAgIHJldHVybiB3cmFwcGFibGVPYmplY3Q7Ci19Ci0KLUpTQzo6SlNW
YWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJik7Ci1pbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpK
U0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGds
b2JhbE9iamVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGwpIHsgcmV0dXJuIGlt
cGwgPyB0b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgKmltcGwpIDogSlND
Ojpqc051bGwoKTsgfQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2Jh
bE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyPiYmKTsKLWlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFs
T2JqZWN0LCBSZWZQdHI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYgaW1wbCkgeyByZXR1
cm4gaW1wbCA/IHRvSlNOZXdseUNyZWF0ZWQobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2Jq
ZWN0LCBpbXBsLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc051bGwoKTsgfQotCi10ZW1wbGF0
ZTw+IHN0cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+IHsKLSAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyOwotICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcio7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXgg
ZmNiYTk4Y2JmY2FlZWM4Njc3YWUwYzU1OWIxZjcwZDk0OThhYmVlMS4uMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9z
Y3JpcHRzL3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCisrKyAvZGV2L251bGwK
QEAgLTEsMzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3Jh
dGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBh
bmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1v
ZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29u
ZGl0aW9ucwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29k
ZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlz
dCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRp
c3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHly
aWdodAotICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxv
d2luZyBkaXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIg
bWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNP
RlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgVEhFCi0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBB
TlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwg
T1IgQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywK
LSAqIFBST0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0Yg
VVNFLCBEQVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dF
VkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
IENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAq
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0Yg
U1VDSCBEQU1BR0UuCi0gKi8KLQotLy8gVGhpcyBJREwgZmlsZSBpcyBmb3IgdGVzdGluZyB0aGUg
YmluZGluZ3MgY29kZSBnZW5lcmF0b3Igd2l0aCBhbiBpbnRlcmZhY2UKLS8vIHRoYXQgaGFzIG1l
dGhvZHMgcmVjZWl2aW5nIGEgcGFyYW1ldGVyIG9mIHRoZSB0eXBlIE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuCi1pbnRlcmZhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgewotICAgIHZvaWQg
bWV0aG9kKE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgbGlzdGVuZXIpOwotfTsKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUxpc3QuY3BwCmluZGV4IGY0ZTEzODdlZmYyMWY0ZTlmMGM2MjBkM2ZiMTgx
ODhlYWIzOWQ0N2UuLmZiMTkxOTU0ZTk1MzgwMDk3MWMzMjgzM2U3NjA2N2JkOGJlODkyYmUgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmNwcApAQCAtMjIsNDYgKzIyLDUzIEBACiAK
ICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVhdG9yLmgi
Ci0jaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgogI2luY2x1ZGUgIk1lZGlhUXVl
cnlNYXRjaGVyLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNw
YWNlIFdlYkNvcmUgewogCi1pbmxpbmUgTWVkaWFRdWVyeUxpc3Q6Ok1lZGlhUXVlcnlMaXN0KE1l
ZGlhUXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgYm9v
bCBtYXRjaGVzKQotICAgIDogbV9tYXRjaGVyKG1hdGNoZXIpCitXVEZfTUFLRV9JU09fQUxMT0NB
VEVEX0lNUEwoTWVkaWFRdWVyeUxpc3QpOworCitNZWRpYVF1ZXJ5TGlzdDo6TWVkaWFRdWVyeUxp
c3QoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCYgY29udGV4dCwgTWVkaWFRdWVyeU1hdGNoZXImIG1h
dGNoZXIsIFJlZjxNZWRpYVF1ZXJ5U2V0PiYmIG1lZGlhLCBib29sIG1hdGNoZXMpCisgICAgOiBD
b250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcigmY29udGV4dCkKKyAgICAsIG1fbWF0Y2hlcihtYXRj
aGVyKQogICAgICwgbV9tZWRpYShXVEZNb3ZlKG1lZGlhKSkKICAgICAsIG1fZXZhbHVhdGlvblJv
dW5kKG1fbWF0Y2hlci0+ZXZhbHVhdGlvblJvdW5kKCkpCiAgICAgLCBtX2NoYW5nZVJvdW5kKG1f
ZXZhbHVhdGlvblJvdW5kIC0gMSkgLy8gQW55IHZhbHVlIHRoYXQgaXMgbm90IHRoZSBzYW1lIGFz
IG1fZXZhbHVhdGlvblJvdW5kIHdvdWxkIGRvLgogICAgICwgbV9tYXRjaGVzKG1hdGNoZXMpCiB7
CisgICAgbV9tYXRjaGVyLT5hZGRNZWRpYVF1ZXJ5TGlzdCgqdGhpcyk7CiB9CiAKLVJlZjxNZWRp
YVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0
Y2hlciwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKK1JlZjxNZWRp
YVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShTY3JpcHRFeGVjdXRpb25Db250ZXh0
JiBjb250ZXh0LCBNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0Y2hlciwgUmVmPE1lZGlhUXVlcnlTZXQ+
JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKIHsKLSAgICByZXR1cm4gYWRvcHRSZWYoKm5ldyBNZWRp
YVF1ZXJ5TGlzdChtYXRjaGVyLCBXVEZNb3ZlKG1lZGlhKSwgbWF0Y2hlcykpOworICAgIHJldHVy
biBhZG9wdFJlZigqbmV3IE1lZGlhUXVlcnlMaXN0KGNvbnRleHQsIG1hdGNoZXIsIFdURk1vdmUo
bWVkaWEpLCBtYXRjaGVzKSk7CiB9CiAKLU1lZGlhUXVlcnlMaXN0Ojp+TWVkaWFRdWVyeUxpc3Qo
KSA9IGRlZmF1bHQ7CitNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVlcnlMaXN0KCkKK3sKKyAgICBt
X21hdGNoZXItPnJlbW92ZU1lZGlhUXVlcnlMaXN0KCp0aGlzKTsKK30KIAogU3RyaW5nIE1lZGlh
UXVlcnlMaXN0OjptZWRpYSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbWVkaWEtPm1lZGlhVGV4
dCgpOwogfQogCi12b2lkIE1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKK3ZvaWQgTWVkaWFRdWVyeUxpc3Q6OmFkZExp
c3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQogewogICAgIGlmICghbGlz
dGVuZXIpCiAgICAgICAgIHJldHVybjsKIAotICAgIG1fbWF0Y2hlci0+YWRkTGlzdGVuZXIobGlz
dGVuZXIucmVsZWFzZU5vbk51bGwoKSwgKnRoaXMpOworICAgIGFkZEV2ZW50TGlzdGVuZXIoImNo
YW5nZSIsIGxpc3RlbmVyLnJlbGVhc2VOb25OdWxsKCkpOwogfQogCi12b2lkIE1lZGlhUXVlcnlM
aXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBsaXN0
ZW5lcikKK3ZvaWQgTWVkaWFRdWVyeUxpc3Q6OnJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExp
c3RlbmVyPiYmIGxpc3RlbmVyKQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVy
bjsKIAotICAgIG1fbWF0Y2hlci0+cmVtb3ZlTGlzdGVuZXIoKmxpc3RlbmVyLCAqdGhpcyk7Cisg
ICAgcmVtb3ZlRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgKmxpc3RlbmVyKTsKIH0KIAogdm9pZCBN
ZWRpYVF1ZXJ5TGlzdDo6ZXZhbHVhdGUoTWVkaWFRdWVyeUV2YWx1YXRvciYgZXZhbHVhdG9yLCBi
b29sJiBub3RpZmljYXRpb25OZWVkZWQpCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUxpc3QuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oCmlu
ZGV4IGEyZjA2MTgyNTg2MTE2MTJjMDc1Zjk2MWMxZmMzMmMzYThjYTAxZGYuLmE5NjA2OWFkZmRl
YzAyNmUzNDljZmQ5NGZiMjJlNjAxNWNiNjJjYjkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
TGlzdC5oCkBAIC0xOSw0MCArMTksNTEgQEAKIAogI3ByYWdtYSBvbmNlCiAKKyNpbmNsdWRlICJD
b250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlci5oIgorI2luY2x1ZGUgIkV2ZW50VGFyZ2V0LmgiCiAj
aW5jbHVkZSA8d3RmL0ZvcndhcmQuaD4KICNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgogI2lu
Y2x1ZGUgPHd0Zi9SZWZQdHIuaD4KKyNpbmNsdWRlIDx3dGYvV2Vha1B0ci5oPgogCiBuYW1lc3Bh
Y2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI7CiBjbGFzcyBNZWRp
YVF1ZXJ5RXZhbHVhdG9yOwogY2xhc3MgTWVkaWFRdWVyeU1hdGNoZXI7CiBjbGFzcyBNZWRpYVF1
ZXJ5U2V0OwogCi0vLyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2UgaXMgc3BlY2lmaWVkIGF0IGh0
dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLXZpZXcvI3RoZS1tZWRpYXF1ZXJ5bGlzdC1pbnRl
cmZhY2UKKy8vIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZSBpcyBzcGVjaWZpZWQgYXQgaHR0cHM6
Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLXZpZXcvI3RoZS1tZWRpYXF1ZXJ5bGlzdC1pbnRlcmZh
Y2UKIC8vIFRoZSBvYmplY3RzIG9mIHRoaXMgY2xhc3MgYXJlIHJldHVybmVkIGJ5IHdpbmRvdy5t
YXRjaE1lZGlhLiBUaGV5IG1heSBiZSB1c2VkIHRvCiAvLyByZXRyaWV2ZSB0aGUgY3VycmVudCB2
YWx1ZSBvZiB0aGUgZ2l2ZW4gbWVkaWEgcXVlcnkgYW5kIHRvIGFkZC9yZW1vdmUgbGlzdGVuZXJz
IHRoYXQKIC8vIHdpbGwgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSB2YWx1ZSBvZiB0aGUgcXVlcnkg
Y2hhbmdlcy4KIAotY2xhc3MgTWVkaWFRdWVyeUxpc3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRl
ZDxNZWRpYVF1ZXJ5TGlzdD4geworY2xhc3MgTWVkaWFRdWVyeUxpc3QgZmluYWwgOiBwdWJsaWMg
UmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4sIHB1YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVE
YXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFRdWVyeUxpc3Q+LCBwcml2YXRlIENvbnRl
eHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBXVEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlh
UXVlcnlMaXN0KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE1lZGlhUXVlcnlMaXN0PiBjcmVh
dGUoTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9vbCk7CisgICAg
c3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdD4gY3JlYXRlKFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQm
LCBNZWRpYVF1ZXJ5TWF0Y2hlciYsIFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBib29sIG1hdGNoZXMp
OwogICAgIH5NZWRpYVF1ZXJ5TGlzdCgpOwogCiAgICAgU3RyaW5nIG1lZGlhKCkgY29uc3Q7CiAg
ICAgYm9vbCBtYXRjaGVzKCk7CiAKLSAgICB2b2lkIGFkZExpc3RlbmVyKFJlZlB0cjxNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyPiYmKTsKLSAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKFJlZlB0cjxNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyPiYmKTsKKyAgICB2b2lkIGFkZExpc3RlbmVyKFJlZlB0cjxFdmVu
dExpc3RlbmVyPiYmKTsKKyAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKFJlZlB0cjxFdmVudExpc3Rl
bmVyPiYmKTsKIAogICAgIHZvaWQgZXZhbHVhdGUoTWVkaWFRdWVyeUV2YWx1YXRvciYsIGJvb2wm
IG5vdGlmaWNhdGlvbk5lZWRlZCk7CiAKKyAgICB1c2luZyBSZWZDb3VudGVkOjpyZWY7CisgICAg
dXNpbmcgUmVmQ291bnRlZDo6ZGVyZWY7CisKIHByaXZhdGU6Ci0gICAgTWVkaWFRdWVyeUxpc3Qo
TWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9vbCBtYXRjaGVzKTsK
KyAgICBNZWRpYVF1ZXJ5TGlzdChTY3JpcHRFeGVjdXRpb25Db250ZXh0JiwgTWVkaWFRdWVyeU1h
dGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9vbCBtYXRjaGVzKTsKIAogICAgIHZvaWQg
c2V0TWF0Y2hlcyhib29sKTsKIAorICAgIEV2ZW50VGFyZ2V0SW50ZXJmYWNlIGV2ZW50VGFyZ2V0
SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gTWVkaWFRdWVyeUxpc3RFdmVudFRhcmdl
dEludGVyZmFjZVR5cGU7IH0KKyAgICBTY3JpcHRFeGVjdXRpb25Db250ZXh0KiBzY3JpcHRFeGVj
dXRpb25Db250ZXh0KCkgY29uc3QgZmluYWwgeyByZXR1cm4gQ29udGV4dERlc3RydWN0aW9uT2Jz
ZXJ2ZXI6OnNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKTsgfQorICAgIHZvaWQgcmVmRXZlbnRUYXJn
ZXQoKSBmaW5hbCB7IHJlZigpOyB9CisgICAgdm9pZCBkZXJlZkV2ZW50VGFyZ2V0KCkgZmluYWwg
eyBkZXJlZigpOyB9CisKICAgICBSZWY8TWVkaWFRdWVyeU1hdGNoZXI+IG1fbWF0Y2hlcjsKICAg
ICBSZWY8TWVkaWFRdWVyeVNldD4gbV9tZWRpYTsKICAgICB1bnNpZ25lZCBtX2V2YWx1YXRpb25S
b3VuZDsgLy8gSW5kaWNhdGVzIGlmIHRoZSBxdWVyeSBoYXMgYmVlbiBldmFsdWF0ZWQgYWZ0ZXIg
dGhlIGxhc3Qgc3R5bGUgc2VsZWN0b3IgY2hhbmdlLgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
TGlzdC5pZGwKaW5kZXggM2RmZmRjZjVjODBkNjNhNjlmYjJjYTM5NDU3YzdkYzliZWJkNTQyYi4u
MDJlYjljM2UxZDU0OGE0MTFmN2Q2ZTk4NTk3NmYyYjlhMzMzY2Q1ZSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeUxpc3QuaWRsCkBAIC0xNywxMyArMTcsMTIgQEAKICAqICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KICAqLwogWwotICAgIE5vSW50ZXJmYWNlT2JqZWN0LAotICAgIElt
cGxlbWVudGF0aW9uTGFja3NWVGFibGUsCi1dIGludGVyZmFjZSBNZWRpYVF1ZXJ5TGlzdCB7Cisg
ICAgRXhwb3NlZD1XaW5kb3cKK10gaW50ZXJmYWNlIE1lZGlhUXVlcnlMaXN0IDogRXZlbnRUYXJn
ZXQgewogICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbWVkaWE7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIGJvb2xlYW4gbWF0Y2hlczsKIAotICAgIC8vIEZJWE1FOiBUaGUgbGlzdGVu
ZXIgcGFyYW1ldGVyIHNob3VsZCBub3QgYmUgb3B0aW9uYWwuCi0gICAgdm9pZCBhZGRMaXN0ZW5l
cihvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPyBsaXN0ZW5lciA9IG51bGwpOwotICAg
IHZvaWQgcmVtb3ZlTGlzdGVuZXIob3B0aW9uYWwgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj8gbGlz
dGVuZXIgPSBudWxsKTsKKyAgICB2b2lkIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXI/IGxpc3Rl
bmVyKTsKKyAgICB2b2lkIHJlbW92ZUxpc3RlbmVyKEV2ZW50TGlzdGVuZXI/IGxpc3RlbmVyKTsK
KyAgICBhdHRyaWJ1dGUgRXZlbnRIYW5kbGVyIG9uY2hhbmdlOwogfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcApuZXcgZmlsZSBtb2RlIDEwMDY0NAppbmRleCAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45MWMwMGIyMjI2YWJlMWQ5
MGNlZTYzNjZlZDg1ZTE3MmQ5ZTE3OGVhCi0tLSAvZGV2L251bGwKKysrIGIvU291cmNlL1dlYkNv
cmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCkBAIC0wLDAgKzEsNDcgQEAKKy8qCisgKiBD
b3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4u
CisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jt
cywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlk
ZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRp
c3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdo
dAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2lu
ZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFyeSBmb3JtIG11c3Qg
cmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9m
IGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0aGUKKyAqICAgIGRv
Y3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0
cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBCWSBBUFBMRSBJTkMu
IEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBFWFBSRVNTIE9SIElN
UExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sCisgKiBUSEUg
SU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklUTkVTUyBGT1IgQSBQ
QVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBFVkVOVCBTSEFMTCBB
UFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBGT1IgQU5ZIERJUkVD
VCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwgT1IKKyAqIENPTlNF
UVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQgVE8sIFBST0NVUkVN
RU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFU
QSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikgSE9XRVZFUiBDQVVT
RUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElOCisgKiBDT05UUkFD
VCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RI
RVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNFIE9GIFRISVMgU09G
VFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZIE9GIFNVQ0ggREFN
QUdFLgorICovCisKKyNpbmNsdWRlICJjb25maWcuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlz
dEV2ZW50LmgiCisKK25hbWVzcGFjZSBXZWJDb3JlIHsKKworV1RGX01BS0VfSVNPX0FMTE9DQVRF
RF9JTVBMKE1lZGlhUXVlcnlMaXN0RXZlbnQpOworCitNZWRpYVF1ZXJ5TGlzdEV2ZW50OjpNZWRp
YVF1ZXJ5TGlzdEV2ZW50KGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXQs
IElzVHJ1c3RlZCBpc1RydXN0ZWQpCisgICAgOiBFdmVudCh0eXBlLCBpbml0LCBpc1RydXN0ZWQp
CisgICAgLCBtX21lZGlhKGluaXQubWVkaWEpCisgICAgLCBtX21hdGNoZXMoaW5pdC5tYXRjaGVz
KQoreworfQorCitNZWRpYVF1ZXJ5TGlzdEV2ZW50OjpNZWRpYVF1ZXJ5TGlzdEV2ZW50KGNvbnN0
IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKKyAg
ICA6IEV2ZW50KHR5cGUsIENhbkJ1YmJsZTo6Tm8sIElzQ2FuY2VsYWJsZTo6Tm8pCisgICAgLCBt
X21lZGlhKG1lZGlhKQorICAgICwgbV9tYXRjaGVzKG1hdGNoZXMpCit7Cit9CisKK30gLy8gbmFt
ZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5
TGlzdEV2ZW50LmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5oCm5l
dyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAuLjVhOTM1ODQxMjNmNThhZjgxYzBkMDY5ZmVhZmY4ZWY1OGU2NGJlMzMKLS0tIC9k
ZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5oCkBA
IC0wLDAgKzEsNjQgQEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2Eg
PHNodmFpa2FsZXNoQGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBp
biBzb3VyY2UgYW5kIGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRp
b24sIGFyZSBwZXJtaXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMK
KyAqIGFyZSBtZXQ6CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCBy
ZXRhaW4gdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRp
b25zIGluIGJpbmFyeSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAq
ICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlz
Y2xhaW1lciBpbiB0aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFs
cyBwcm92aWRlZCB3aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJ
UyBQUk9WSURFRCBCWSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJwor
ICogQU5EIEFOWSBFWFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJ
TElUWSBBTkQgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJ
TUVELiBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAq
IEJFIExJQUJMRSBGT1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUws
IEVYRU1QTEFSWSwgT1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQg
Tk9UIExJTUlURUQgVE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNF
UlZJQ0VTOyBMT1NTIE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElO
VEVSUlVQVElPTikgSE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZ
LCBXSEVUSEVSIElOCisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5D
TFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9V
VCBPRiBUSEUgVVNFIE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhF
IFBPU1NJQklMSVRZIE9GIFNVQ0ggREFNQUdFLgorICovCisKKyNwcmFnbWEgb25jZQorCisjaW5j
bHVkZSAiRXZlbnQuaCIKKyNpbmNsdWRlIDx3dGYvSXNvTWFsbG9jSW5saW5lcy5oPgorCituYW1l
c3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhUXVlcnlMaXN0RXZlbnQgZmluYWwgOiBwdWJs
aWMgRXZlbnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVyeUxpc3RFdmVu
dCk7CitwdWJsaWM6CisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdEV2ZW50PiBjcmVhdGUo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBtZWRpYSwgYm9vbCBtYXRjaGVz
KQorICAgIHsKKyAgICAgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RFdmVu
dCh0eXBlLCBtZWRpYSwgbWF0Y2hlcykpOworICAgIH0KKworICAgIHN0cnVjdCBJbml0IDogRXZl
bnRJbml0IHsKKyAgICAgICAgU3RyaW5nIG1lZGlhIHsgIiIgfTsKKyAgICAgICAgYm9vbCBtYXRj
aGVzIHsgZmFsc2UgfTsKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdEV2
ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5pdCYgaW5pdCwgSXNU
cnVzdGVkIGlzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pCisgICAgeworICAgICAgICByZXR1cm4g
YWRvcHRSZWYoKm5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50KHR5cGUsIGluaXQsIGlzVHJ1c3RlZCkp
OworICAgIH0KKworICAgIGNvbnN0IFN0cmluZyYgbWVkaWEoKSBjb25zdCB7IHJldHVybiBtX21l
ZGlhOyB9CisgICAgYm9vbCBtYXRjaGVzKCkgY29uc3QgeyByZXR1cm4gbV9tYXRjaGVzOyB9CisK
KyAgICBFdmVudEludGVyZmFjZSBldmVudEludGVyZmFjZSgpIGNvbnN0IGZpbmFsIHsgcmV0dXJu
IE1lZGlhUXVlcnlMaXN0RXZlbnRJbnRlcmZhY2VUeXBlOyB9CisKK3ByaXZhdGU6CisgICAgTWVk
aWFRdWVyeUxpc3RFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1l
ZGlhLCBib29sIG1hdGNoZXMpOworICAgIE1lZGlhUXVlcnlMaXN0RXZlbnQoY29uc3QgQXRvbVN0
cmluZyYgdHlwZSwgY29uc3QgSW5pdCYsIElzVHJ1c3RlZCk7CisKKyAgICBTdHJpbmcgbV9tZWRp
YTsKKyAgICBib29sIG1fbWF0Y2hlczsKK307CisKK30gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlm
ZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbCBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbApuZXcgZmlsZSBtb2RlIDEw
MDY0NAppbmRleCAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwLi45YzMy
MGM4NzhmM2Y1NTFjYzJlYzE2ODM3YTM4ODhlOTg2YWQ2NWM2Ci0tLSAvZGV2L251bGwKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuaWRsCkBAIC0wLDAgKzEsMzYg
QEAKKy8qCisgKiBDb3B5cmlnaHQgKEMpIDIwMjAgQWxleGV5IFNodmF5a2EgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4uCisgKgorICogUmVkaXN0cmlidXRpb24gYW5kIHVzZSBpbiBzb3VyY2UgYW5k
IGJpbmFyeSBmb3Jtcywgd2l0aCBvciB3aXRob3V0CisgKiBtb2RpZmljYXRpb24sIGFyZSBwZXJt
aXR0ZWQgcHJvdmlkZWQgdGhhdCB0aGUgZm9sbG93aW5nIGNvbmRpdGlvbnMKKyAqIGFyZSBtZXQ6
CisgKiAxLiBSZWRpc3RyaWJ1dGlvbnMgb2Ygc291cmNlIGNvZGUgbXVzdCByZXRhaW4gdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyLgorICogMi4gUmVkaXN0cmlidXRpb25zIGluIGJpbmFy
eSBmb3JtIG11c3QgcmVwcm9kdWNlIHRoZSBhYm92ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwg
dGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRoZSBmb2xsb3dpbmcgZGlzY2xhaW1lciBpbiB0
aGUKKyAqICAgIGRvY3VtZW50YXRpb24gYW5kL29yIG90aGVyIG1hdGVyaWFscyBwcm92aWRlZCB3
aXRoIHRoZSBkaXN0cmlidXRpb24uCisgKgorICogVEhJUyBTT0ZUV0FSRSBJUyBQUk9WSURFRCBC
WSBBUFBMRSBJTkMuIEFORCBJVFMgQ09OVFJJQlVUT1JTIGBgQVMgSVMnJworICogQU5EIEFOWSBF
WFBSRVNTIE9SIElNUExJRUQgV0FSUkFOVElFUywgSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sCisgKiBUSEUgSU1QTElFRCBXQVJSQU5USUVTIE9GIE1FUkNIQU5UQUJJTElUWSBBTkQgRklU
TkVTUyBGT1IgQSBQQVJUSUNVTEFSCisgKiBQVVJQT1NFIEFSRSBESVNDTEFJTUVELiBJTiBOTyBF
VkVOVCBTSEFMTCBBUFBMRSBJTkMuIE9SIElUUyBDT05UUklCVVRPUlMKKyAqIEJFIExJQUJMRSBG
T1IgQU5ZIERJUkVDVCwgSU5ESVJFQ1QsIElOQ0lERU5UQUwsIFNQRUNJQUwsIEVYRU1QTEFSWSwg
T1IKKyAqIENPTlNFUVVFTlRJQUwgREFNQUdFUyAoSU5DTFVESU5HLCBCVVQgTk9UIExJTUlURUQg
VE8sIFBST0NVUkVNRU5UIE9GCisgKiBTVUJTVElUVVRFIEdPT0RTIE9SIFNFUlZJQ0VTOyBMT1NT
IE9GIFVTRSwgREFUQSwgT1IgUFJPRklUUzsgT1IgQlVTSU5FU1MKKyAqIElOVEVSUlVQVElPTikg
SE9XRVZFUiBDQVVTRUQgQU5EIE9OIEFOWSBUSEVPUlkgT0YgTElBQklMSVRZLCBXSEVUSEVSIElO
CisgKiBDT05UUkFDVCwgU1RSSUNUIExJQUJJTElUWSwgT1IgVE9SVCAoSU5DTFVESU5HIE5FR0xJ
R0VOQ0UgT1IgT1RIRVJXSVNFKQorICogQVJJU0lORyBJTiBBTlkgV0FZIE9VVCBPRiBUSEUgVVNF
IE9GIFRISVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRgorICogVEhFIFBPU1NJQklMSVRZ
IE9GIFNVQ0ggREFNQUdFLgorICovCisKK1sKKyAgICBDb25zdHJ1Y3RvcihET01TdHJpbmcgdHlw
ZSwgb3B0aW9uYWwgTWVkaWFRdWVyeUxpc3RFdmVudEluaXQgbWVkaWFRdWVyeUxpc3RFdmVudElu
aXQpLAorXSBpbnRlcmZhY2UgTWVkaWFRdWVyeUxpc3RFdmVudCA6IEV2ZW50IHsKKyAgICByZWFk
b25seSBhdHRyaWJ1dGUgRE9NU3RyaW5nIG1lZGlhOworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBi
b29sZWFuIG1hdGNoZXM7Cit9OworCitkaWN0aW9uYXJ5IE1lZGlhUXVlcnlMaXN0RXZlbnRJbml0
IDogRXZlbnRJbml0IHsKKyAgICBET01TdHJpbmcgbWVkaWEgPSAiIjsKKyAgICBib29sZWFuIG1h
dGNoZXMgPSBmYWxzZTsKK307CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlz
dGVuZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZDMxNTg0YTljOTM2ODNmNjkx
NDNjNGM3MjU5NjMwMjkzMmU2ZTNjMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
CisrKyAvZGV2L251bGwKQEAgLTEsNTIgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAx
MCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiAg
VGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFu
ZC9vcgotICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAo
YXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkg
aXMgZGlzdHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBi
dXQgV0lUSE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50
eSBvZgotICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVS
UE9TRS4gIFNlZSB0aGUgR05VCi0gKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZv
ciBtb3JlIGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICogIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8K
LQotI3ByYWdtYSBvbmNlCi0KLSNpbmNsdWRlICJBY3RpdmVET01DYWxsYmFjay5oIgotI2luY2x1
ZGUgIkNhbGxiYWNrUmVzdWx0LmgiCi0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLQotbmFt
ZXNwYWNlIFdlYkNvcmUgewotCi1jbGFzcyBNZWRpYVF1ZXJ5TGlzdDsKLQotY2xhc3MgTWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+LCBwdWJsaWMgQWN0aXZlRE9NQ2FsbGJhY2sgewotcHVibGljOgotICAgIGVudW0gVHlwZSB7
Ci0gICAgICAgIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lclR5cGUKLSAgICB9OwotCi0gICAgdmly
dHVhbCBDYWxsYmFja1Jlc3VsdDx2b2lkPiBoYW5kbGVFdmVudChNZWRpYVF1ZXJ5TGlzdCYpID0g
MDsKLSAgICB2aXJ0dWFsIGJvb2wgb3BlcmF0b3I9PShjb25zdCBNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyJikgY29uc3QgPSAwOwotCi0gICAgVHlwZSB0eXBlKCkgY29uc3QgeyByZXR1cm4gbV90eXBl
OyB9Ci0KLXByb3RlY3RlZDoKLSAgICBleHBsaWNpdCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKFNj
cmlwdEV4ZWN1dGlvbkNvbnRleHQqIGNvbnRleHQsIFR5cGUgdHlwZSkKLSAgICAgICAgOiBBY3Rp
dmVET01DYWxsYmFjayhjb250ZXh0KQotICAgICAgICAsIG1fdHlwZSh0eXBlKQotICAgIHsKLSAg
ICB9Ci0KLXByaXZhdGU6Ci0gICAgVHlwZSBtX3R5cGU7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBX
ZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5pZGwgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwK
ZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGZkZjFkYjczYjcwYWI3ZDI0YTAyM2Y4OTkx
ZTEwMGVjMTQxYjEzZWMuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCisrKyAv
ZGV2L251bGwKQEAgLTEsMjMgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tp
YSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiAgVGhpcyBs
aWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgot
ICogIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljCi0gKiAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91
bmRhdGlvbjsgZWl0aGVyCi0gKiAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91
ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZGlz
dHJpYnV0ZWQgaW4gdGhlIGhvcGUgdGhhdCBpdCB3aWxsIGJlIHVzZWZ1bCwKLSAqICBidXQgV0lU
SE9VVCBBTlkgV0FSUkFOVFk7IHdpdGhvdXQgZXZlbiB0aGUgaW1wbGllZCB3YXJyYW50eSBvZgot
ICogIE1FUkNIQU5UQUJJTElUWSBvciBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRS4g
IFNlZSB0aGUgR05VCi0gKiAgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlIGZvciBtb3Jl
IGRldGFpbHMuCi0gKgotICogIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhl
IEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAqICBhbG9uZyB3aXRoIHRoaXMg
bGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICog
IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwg
RmlmdGggRmxvb3IsCi0gKiAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0gKi8KLQotWwot
ICAgIENhbGxiYWNrTmVlZHNPcGVyYXRvckVxdWFsCi1dIGNhbGxiYWNrIE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIgPSB2b2lkIChNZWRpYVF1ZXJ5TGlzdCBsaXN0KTsKLQpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAKaW5kZXggY2QyY2VmYzdjNWZjMjU2ZmM5ZDk5ODZjZDE1
ZjM1OGM3YTEzYjQwNS4uMGVjMGVhM2U4N2FmMjI4ODNlYTk1NWY1ZTVkNDM3MjZmZTA0Y2RiYyAx
MDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCkBAIC0yMSwxMyArMjEs
MTMgQEAKICNpbmNsdWRlICJNZWRpYVF1ZXJ5TWF0Y2hlci5oIgogCiAjaW5jbHVkZSAiRG9jdW1l
bnQuaCIKKyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCiAjaW5jbHVkZSAiRnJhbWUuaCIKICNpbmNs
dWRlICJGcmFtZVZpZXcuaCIKICNpbmNsdWRlICJMb2dnaW5nLmgiCiAjaW5jbHVkZSAiTWVkaWFM
aXN0LmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUV2YWx1YXRvci5oIgogI2luY2x1ZGUgIk1lZGlh
UXVlcnlMaXN0LmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIgogI2luY2x1
ZGUgIk1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmgiCiAjaW5jbHVkZSAiTm9kZVJlbmRlclN0eWxl
LmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudC5oIgpAQCAtNDYsOCArNDYsOCBAQCBNZWRpYVF1
ZXJ5TWF0Y2hlcjo6fk1lZGlhUXVlcnlNYXRjaGVyKCkgPSBkZWZhdWx0OwogCiB2b2lkIE1lZGlh
UXVlcnlNYXRjaGVyOjpkb2N1bWVudERlc3Ryb3llZCgpCiB7Ci0gICAgbV9saXN0ZW5lcnMuY2xl
YXIoKTsKICAgICBtX2RvY3VtZW50ID0gbnVsbHB0cjsKKyAgICBtX21lZGlhUXVlcnlMaXN0cy5j
bGVhcigpOwogfQogCiBTdHJpbmcgTWVkaWFRdWVyeU1hdGNoZXI6Om1lZGlhVHlwZSgpIGNvbnN0
CkBAIC03OCwzNSArNzgsMjYgQEAgYm9vbCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6ZXZhbHVhdGUoY29u
c3QgTWVkaWFRdWVyeVNldCYgbWVkaWEpCiAgICAgcmV0dXJuIE1lZGlhUXVlcnlFdmFsdWF0b3Ig
eyBtZWRpYVR5cGUoKSwgKm1fZG9jdW1lbnQsIHN0eWxlLmdldCgpIH0uZXZhbHVhdGUobWVkaWEp
OwogfQogCi1SZWZQdHI8TWVkaWFRdWVyeUxpc3Q+IE1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1l
ZGlhKGNvbnN0IFN0cmluZyYgcXVlcnkpCit2b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjphZGRNZWRp
YVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5TGlzdCYgbGlzdCkKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQp
Ci0gICAgICAgIHJldHVybiBudWxscHRyOwotCi0gICAgYXV0byBtZWRpYSA9IE1lZGlhUXVlcnlT
ZXQ6OmNyZWF0ZShxdWVyeSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQoKm1fZG9jdW1lbnQpKTsK
LSAgICByZXBvcnRNZWRpYVF1ZXJ5V2FybmluZ0lmTmVlZGVkKG1fZG9jdW1lbnQuZ2V0KCksIG1l
ZGlhLnB0cigpKTsKLSAgICBib29sIHJlc3VsdCA9IGV2YWx1YXRlKG1lZGlhLmdldCgpKTsKLSAg
ICByZXR1cm4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZSgqdGhpcywgV1RGTW92ZShtZWRpYSksIHJl
c3VsdCk7CisgICAgQVNTRVJUKCFtX21lZGlhUXVlcnlMaXN0cy5jb250YWlucygmbGlzdCkpOwor
ICAgIG1fbWVkaWFRdWVyeUxpc3RzLmFwcGVuZChtYWtlV2Vha1B0cigmbGlzdCkpOwogfQogCi12
b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjphZGRMaXN0ZW5lcihSZWY8TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcj4mJiBsaXN0ZW5lciwgTWVkaWFRdWVyeUxpc3QmIHF1ZXJ5KQordm9pZCBNZWRpYVF1ZXJ5
TWF0Y2hlcjo6cmVtb3ZlTWVkaWFRdWVyeUxpc3QoTWVkaWFRdWVyeUxpc3QmIGxpc3QpCiB7Ci0g
ICAgaWYgKCFtX2RvY3VtZW50KQotICAgICAgICByZXR1cm47Ci0KLSAgICBmb3IgKGF1dG8mIGV4
aXN0aW5nTGlzdGVuZXIgOiBtX2xpc3RlbmVycykgewotICAgICAgICBpZiAoZXhpc3RpbmdMaXN0
ZW5lci5saXN0ZW5lci5nZXQoKSA9PSBsaXN0ZW5lci5nZXQoKSAmJiBleGlzdGluZ0xpc3RlbmVy
LnF1ZXJ5LnB0cigpID09ICZxdWVyeSkKLSAgICAgICAgICAgIHJldHVybjsKLSAgICB9Ci0KLSAg
ICBtX2xpc3RlbmVycy5hcHBlbmQoTGlzdGVuZXIgeyBXVEZNb3ZlKGxpc3RlbmVyKSwgcXVlcnkg
fSk7CisgICAgbV9tZWRpYVF1ZXJ5TGlzdHMucmVtb3ZlRmlyc3QoJmxpc3QpOwogfQogCi12b2lk
IE1lZGlhUXVlcnlNYXRjaGVyOjpyZW1vdmVMaXN0ZW5lcihNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
JiBsaXN0ZW5lciwgTWVkaWFRdWVyeUxpc3QmIHF1ZXJ5KQorUmVmUHRyPE1lZGlhUXVlcnlMaXN0
PiBNZWRpYVF1ZXJ5TWF0Y2hlcjo6bWF0Y2hNZWRpYShjb25zdCBTdHJpbmcmIHF1ZXJ5KQogewot
ICAgIG1fbGlzdGVuZXJzLnJlbW92ZUZpcnN0TWF0Y2hpbmcoWyZsaXN0ZW5lciwgJnF1ZXJ5XShh
dXRvJiBleGlzdGluZ0xpc3RlbmVyKSB7Ci0gICAgICAgIHJldHVybiBleGlzdGluZ0xpc3RlbmVy
Lmxpc3RlbmVyLmdldCgpID09IGxpc3RlbmVyICYmIGV4aXN0aW5nTGlzdGVuZXIucXVlcnkucHRy
KCkgPT0gJnF1ZXJ5OwotICAgIH0pOworICAgIGlmICghbV9kb2N1bWVudCkKKyAgICAgICAgcmV0
dXJuIG51bGxwdHI7CisKKyAgICBhdXRvIG1lZGlhID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHF1
ZXJ5LCBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCgqbV9kb2N1bWVudCkpOworICAgIHJlcG9ydE1l
ZGlhUXVlcnlXYXJuaW5nSWZOZWVkZWQobV9kb2N1bWVudC5nZXQoKSwgbWVkaWEucHRyKCkpOwor
ICAgIGJvb2wgbWF0Y2hlcyA9IGV2YWx1YXRlKG1lZGlhLmdldCgpKTsKKyAgICByZXR1cm4gTWVk
aWFRdWVyeUxpc3Q6OmNyZWF0ZSgqbV9kb2N1bWVudC0+c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgp
LCAqdGhpcywgV1RGTW92ZShtZWRpYSksIG1hdGNoZXMpOwogfQogCiB2b2lkIE1lZGlhUXVlcnlN
YXRjaGVyOjpldmFsdWF0ZUFsbCgpCkBAIC0xMjIsMTUgKzExMywxMyBAQCB2b2lkIE1lZGlhUXVl
cnlNYXRjaGVyOjpldmFsdWF0ZUFsbCgpCiAgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmll
cywgc3RyZWFtIDw8ICJNZWRpYVF1ZXJ5TWF0Y2hlcjo6c3R5bGVSZXNvbHZlckNoYW5nZWQgIiA8
PCBtX2RvY3VtZW50LT51cmwoKSk7CiAKICAgICBNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRv
ciB7IG1lZGlhVHlwZSgpLCAqbV9kb2N1bWVudCwgc3R5bGUuZ2V0KCkgfTsKLSAgICBWZWN0b3I8
TGlzdGVuZXI+IGxpc3RlbmVyczsKLSAgICBsaXN0ZW5lcnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0
eShtX2xpc3RlbmVycy5zaXplKCkpOwotICAgIGZvciAoYXV0byYgbGlzdGVuZXIgOiBtX2xpc3Rl
bmVycykKLSAgICAgICAgbGlzdGVuZXJzLnVuY2hlY2tlZEFwcGVuZCh7IGxpc3RlbmVyLmxpc3Rl
bmVyLmNvcHlSZWYoKSwgbGlzdGVuZXIucXVlcnkuY29weVJlZigpIH0pOwotICAgIGZvciAoYXV0
byYgbGlzdGVuZXIgOiBsaXN0ZW5lcnMpIHsKKyAgICBmb3IgKGF1dG8mIGxpc3QgOiBtX21lZGlh
UXVlcnlMaXN0cykgewogICAgICAgICBib29sIG5vdGlmeTsKLSAgICAgICAgbGlzdGVuZXIucXVl
cnktPmV2YWx1YXRlKGV2YWx1YXRvciwgbm90aWZ5KTsKLSAgICAgICAgaWYgKG5vdGlmeSkKLSAg
ICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyLT5oYW5kbGVFdmVudChsaXN0ZW5lci5xdWVyeSk7
CisgICAgICAgIGxpc3QtPmV2YWx1YXRlKGV2YWx1YXRvciwgbm90aWZ5KTsKKyAgICAgICAgaWYg
KG5vdGlmeSkgeworICAgICAgICAgICAgYXV0byBldmVudCA9IE1lZGlhUXVlcnlMaXN0RXZlbnQ6
OmNyZWF0ZShldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQsIGxpc3QtPm1lZGlhKCksIGxpc3QtPm1h
dGNoZXMoKSk7CisgICAgICAgICAgICBsaXN0LT5kaXNwYXRjaEV2ZW50KGV2ZW50KTsKKyAgICAg
ICAgfQogICAgIH0KIH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnlNYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAppbmRl
eCA5OWY4ZWZhMDYzNTc4OTc4MjcwMjVhMjYzYTNmZWFkYzJkNDA2ZDFjLi5hMDc0NWFkMjZmZjRl
NDRlOGY4NzQ1ZTg3MTlkY2YxMjg2NjI5Y2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9j
c3MvTWVkaWFRdWVyeU1hdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eU1hdGNoZXIuaApAQCAtMjksMTUgKzI5LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xh
c3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVF1ZXJ5TGlzdDsKLWNsYXNzIE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI7CiBjbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yOwogY2xhc3MgTWVkaWFRdWVyeVNl
dDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi0vLyBNZWRpYVF1ZXJ5TWF0Y2hlciBjbGFzcyBpcyBy
ZXNwb25zaWJsZSBmb3Iga2VlcGluZyBhIHZlY3RvciBvZiBwYWlycwotLy8gTWVkaWFRdWVyeUxp
c3QgeCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLiBJdCBpcyByZXNwb25zaWJsZSBmb3IgZXZhbHVh
dGluZyB0aGUgcXVlcmllcwotLy8gd2hlbmV2ZXIgaXQgaXMgbmVlZGVkIGFuZCB0byBjYWxsIHRo
ZSBsaXN0ZW5lcnMgaWYgdGhlIGNvcnJlc3BvbmRpbmcgcXVlcnkgaGFzIGNoYW5nZWQuCi0vLyBU
aGUgbGlzdGVuZXJzIG11c3QgYmUgY2FsbGVkIGluIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IHdl
cmUgYWRkZWQuCisvLyBNZWRpYVF1ZXJ5TWF0Y2hlciBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3Ig
ZXZhbHVhdGluZyB0aGUgcXVlcmllcyB3aGVuZXZlciBpdAorLy8gaXMgbmVlZGVkIGFuZCBkaXNw
YXRjaCAiY2hhbmdlIiBldmVudCBvbiBNZWRpYVF1ZXJ5TGlzdHMgaWYgdGhlIGNvcnJlc3BvbmRp
bmcKKy8vIHF1ZXJ5IGhhcyBjaGFuZ2VkLiBNZWRpYVF1ZXJ5TGlzdHMgYXJlIGludm9rZWQgaW4g
dGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgd2VyZSBhZGRlZC4KIAogY2xhc3MgTWVkaWFRdWVyeU1h
dGNoZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TWF0Y2hlcj4gewogcHVi
bGljOgpAQCAtNDUsOSArNDMsOCBAQCBwdWJsaWM6CiAgICAgfk1lZGlhUXVlcnlNYXRjaGVyKCk7
CiAKICAgICB2b2lkIGRvY3VtZW50RGVzdHJveWVkKCk7Ci0KLSAgICB2b2lkIGFkZExpc3RlbmVy
KFJlZjxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmLCBNZWRpYVF1ZXJ5TGlzdCYpOwotICAgIHZv
aWQgcmVtb3ZlTGlzdGVuZXIoTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYsIE1lZGlhUXVlcnlMaXN0
Jik7CisgICAgdm9pZCBhZGRNZWRpYVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5TGlzdCYpOworICAgIHZv
aWQgcmVtb3ZlTWVkaWFRdWVyeUxpc3QoTWVkaWFRdWVyeUxpc3QmKTsKIAogICAgIFJlZlB0cjxN
ZWRpYVF1ZXJ5TGlzdD4gbWF0Y2hNZWRpYShjb25zdCBTdHJpbmcmKTsKIApAQCAtNTgsMTcgKzU1
LDEyIEBAIHB1YmxpYzoKICAgICBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQmKTsK
IAogcHJpdmF0ZToKLSAgICBzdHJ1Y3QgTGlzdGVuZXIgewotICAgICAgICBSZWY8TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcj4gbGlzdGVuZXI7Ci0gICAgICAgIFJlZjxNZWRpYVF1ZXJ5TGlzdD4gcXVl
cnk7Ci0gICAgfTsKLQogICAgIGV4cGxpY2l0IE1lZGlhUXVlcnlNYXRjaGVyKERvY3VtZW50Jik7
CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBkb2N1bWVudEVsZW1lbnRVc2VyQWdl
bnRTdHlsZSgpIGNvbnN0OwogICAgIFN0cmluZyBtZWRpYVR5cGUoKSBjb25zdDsKIAogICAgIFdl
YWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7Ci0gICAgVmVjdG9yPExpc3RlbmVyPiBtX2xpc3Rl
bmVyczsKKyAgICBWZWN0b3I8V2Vha1B0cjxNZWRpYVF1ZXJ5TGlzdD4+IG1fbWVkaWFRdWVyeUxp
c3RzOwogCiAgICAgLy8gVGhpcyB2YWx1ZSBpcyBpbmNyZW1lbnRlZCBhdCBzdHlsZSBzZWxlY3Rv
ciBjaGFuZ2VzLgogICAgIC8vIEl0IGlzIHVzZWQgdG8gYXZvaWQgZXZhbHVhdGluZyBxdWVyaWVz
IG1vcmUgdGhlbiBvbmNlIGFuZCB0byBtYWtlIHN1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL2RvbS9FdmVudE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4K
aW5kZXggYWViMjM0YWEzZTQ2N2MzYWVjOWI0OGU5YjAwOGNlMWEwZTYzNjAzZC4uNjQ4OGY5YTJm
NzVlZGM2NDA3ZjVjZWYzZDI2ZGExZWJiNjE4NDQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNv
cmUvZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMu
aW4KQEAgLTI0LDYgKzI0LDcgQEAgSW5wdXRFdmVudAogSW5wdXRFdmVudHMgaW50ZXJmYWNlTmFt
ZT1JbnB1dEV2ZW50CiBLZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1l
PUtleWJvYXJkRXZlbnQKK01lZGlhUXVlcnlMaXN0RXZlbnQKIE1lc3NhZ2VFdmVudAogTW91c2VF
dmVudAogTW91c2VFdmVudHMgaW50ZXJmYWNlTmFtZT1Nb3VzZUV2ZW50CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dFRhcmdldC5oCmluZGV4IDYxYjUwZTU3OGI1ZTU1NzNjMWI2ZDY0NWYxOGYwYThkMWMxYWViNGYu
LmRlMDAyNDM0NDg5MTZjNTI3ZDFiZGY4ZWRiOTNmN2MyYjk1YTgyYTIgMTAwNjQ0Ci0tLSBhL1Nv
dXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldC5oCkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9S
VCBFeGNlcHRpb25Pcjxib29sPiBkaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MoRXZlbnQmKTsKIAog
ICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0
b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50
TGlzdGVuZXJPcHRpb25zJiA9IHsgfSk7Ci0gICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlz
dGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3Qg
TGlzdGVuZXJPcHRpb25zJik7CisgICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIo
Y29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVu
ZXJPcHRpb25zJiA9IHsgfSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0
ZW5lcnMoKTsKICAgICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hFdmVudChFdmVudCYpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9X
ZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggODM3ZWI1ZGNkMGU5OTVjYTAy
MjRlY2ZlYmU3MGJjZTFlYjgzM2IzNi4uYmJjZDQ4ZjQ5NTRlNzkzNWUyYTc2N2NhYzQyYzMxNjEx
Nzg4OGI0YiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9y
eS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0y
MSw2ICsyMSw3IEBAIElEQlRyYW5zYWN0aW9uIGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UK
IE1lZGlhQ29udHJvbGxlciBjb25kaXRpb25hbD1WSURFTwogTWVkaWFEZXZpY2VzIGNvbmRpdGlv
bmFsPU1FRElBX1NUUkVBTQogTWVkaWFLZXlTZXNzaW9uIGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9N
RURJQQorTWVkaWFRdWVyeUxpc3QKIE1lZGlhUmVtb3RlQ29udHJvbHMgY29uZGl0aW9uYWw9TUVE
SUFfU0VTU0lPTgogTWVkaWFSZWNvcmRlciBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlh
U291cmNlIGNvbmRpdGlvbmFsPU1FRElBX1NPVVJDRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYklu
c3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5q
cyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5j
dGlvblBhcmFtZXRlcnMuanMKaW5kZXggNGI0YmJhMjgxZWZkZGFiZTRkYWJjYmVjNDJlZjQwNzgx
OTEzMGEwMC4uYjk0NjExMGRjMmE5NWI5MmUzNzBlMjg5OTcxYzQ5ZjAzNThjNThhZCAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1
bmN0aW9uUGFyYW1ldGVycy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVy
ZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCkBAIC0xMDk1LDExICsxMDk1
LDYgQEAgV0kuTmF0aXZlUHJvdG90eXBlRnVuY3Rpb25QYXJhbWV0ZXJzID0gewogICAgICAgICBf
X3Byb3RvX186IG51bGwsCiAgICAgfSwKIAotICAgIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6IHsK
LSAgICAgICAgcXVlcnlDaGFuZ2VkOiAiW2xpc3RdIiwKLSAgICAgICAgX19wcm90b19fOiBudWxs
LAotICAgIH0sCi0KICAgICBNZWRpYVNvdXJjZTogewogICAgICAgICBhZGRTb3VyY2VCdWZmZXI6
ICJ0eXBlIiwKICAgICAgICAgZW5kT2ZTdHJlYW06ICJbZXJyb3JdIiwKZGlmZiAtLWdpdCBhL0xh
eW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ODdhZTNh
YTM3MmU3ZWJjZWI1YWVhOGM5MjUxNDAzMWIwN2YzNGRkLi5hM2ZkNjQ2ODliMDc3NTgxZjFjNTU4
Mzc2NWRhNzZlYjQ5Y2ZjNGVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysr
IGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDMtMjcgIEFs
ZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIE1lZGlhUXVl
cnlMaXN0IHNob3VsZCBleHRlbmQgRXZlbnRUYXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzI4OAorCisgICAgICAgIFJldmlld2VkIGJ5IE5P
Qk9EWSAoT09QUyEpLgorCisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBm
YXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZh
c3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy5odG1sOgorCiAyMDIwLTAzLTI2ICBNaWNoYWVs
IFNhYm9mZiAgPG1zYWJvZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFlBUlIgU3Rh
Y2sgT3ZlcmZsb3cgQ2hlY2tzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
Q2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwNDNk
N2Y2NzQzN2MyNjFlZjEwMmJiNjIyZjQ3NDdhMTkyY2MyNzhlLi5iZjI4NzExZGZmMTgzZWZmZWIy
MDA4OWY2NGIzNDgzMGE4MmMwYWQ4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2MvQ2hhbmdlTG9nCisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAg
LTEsMyArMSwxOCBAQAorMjAyMC0wMy0yNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBn
bWFpbC5jb20+CisKKyAgICAgICAgTWVkaWFRdWVyeUxpc3Qgc2hvdWxkIGV4dGVuZCBFdmVudFRh
cmdldAorICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAz
Mjg4CisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISkuCisKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVu
ZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0ZW5l
ci1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12
aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtZXhwZWN0ZWQudHh0OgorICAg
ICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1l
eHRlbmRzLUV2ZW50VGFyZ2V0LWludGVyb3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LWV4cGVjdGVk
LnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvaWRsaGFy
bmVzcy1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Nv
bS12aWV3L21hdGNoTWVkaWEtZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAzLTI2ICBBbGV4ZXkgU2h2
YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KIAogICAgICAgICBTeW5jIHdwdC9kb214cGF0
aCBhbmQgcmUtc3luYyB3cHQvY3NzL2Nzc29tLXZpZXcgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3Rh
dGlvbnMKaW5kZXggZDIzYWZhZmMyOTU5Y2ZkOTNkM2RiOTA3NDU3YWMwZTliNWU5MGE5Yi4uMTQ2
Y2E5ZGE4MDBjOGYxYTFmNWM2YTVkYTk1N2EzOTAyNDEyZTZiMiAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvVGVzdEV4cGVjdGF0aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25z
CkBAIC03NjIsNyArNzYyLDYgQEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXlt
ZW50LXJlcXVlc3QgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xODQwNjYgaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVkREIvbmVzdGVkLWNsb25pbmctbGFyZ2UtbXVsdGlwbGUu
aHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE4NDA2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL0luZGV4ZWREQi9uZXN0ZWQtY2xvbmluZy1sYXJnZS5odG1sIFsgU2tpcCBdCiB3
ZWJraXQub3JnL2IvMTg0MDY2IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhl
ZERCL25lc3RlZC1jbG9uaW5nLXNtYWxsLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tL2ludGVyZmFjZXMuaHRtbCBbIFBhc3MgVGltZW91dCBd
CiBbIERlYnVnIF0gaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmll
dy9pZGxoYXJuZXNzLmh0bWwgWyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xODIyOTIgaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxpbmdFbGVtZW50LXF1
aXJrcy1keW5hbWljLTAwMS5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2Iv
MTgyMjkyIGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Ny
b2xsaW5nRWxlbWVudC1xdWlya3MtZHluYW1pYy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUg
XQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3
LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0w
Ny1leHBlY3RlZC50eHQKaW5kZXggMGNhOTdiMWE5NDRhM2JiMDUxMTZhODI4OWYyNDNhZjAzYmU4
ZWQ1ZC4uMzc2ODFlNDI2NWEyYzg0NjNiZTk3NDU3M2I0MDliYzU5MjlkMmI5MCAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3LWV4cGVjdGVkLnR4
dAorKysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDctZXhwZWN0
ZWQudHh0CkBAIC00LDcgKzQsNiBAQCBJbnZhbGlkIGxpc3RlbmVycy4gVHdvIGNhbGxiYWNrcyBh
cmUgZXhwZWN0ZWQuCiAKIHF1ZXJ5LmFkZExpc3RlbmVyKDUpIHRocmV3IGV4Y2VwdGlvbiBhcyBl
eHBlY3RlZAogcXVlcnkuYWRkTGlzdGVuZXIoJ2NpbmNvJykgdGhyZXcgZXhjZXB0aW9uIGFzIGV4
cGVjdGVkCi1xdWVyeS5hZGRMaXN0ZW5lcihbMSwyXSkgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVj
dGVkCiBbMV0gLSBxdWVyeSBzY3JlZW4gY2hhbmdlZCB0byBmYWxzZQogWzJdIC0gcXVlcnkgc2Ny
ZWVuIGNoYW5nZWQgdG8gZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRp
YS9tZWRpYS1xdWVyeS1saXN0LTA3Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlh
LXF1ZXJ5LWxpc3QtMDcuaHRtbAppbmRleCA0MGRmNzVmNGZkY2NiNmE1NDJkM2RlYjRhMjJmZGU3
Zjg5YTI4Mzg0Li5hNjE0YTI0YmY0OWY1OWNlMDI3OTRiMDM1NzMzOTdmYmIwZGY0ZmJlIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbAor
KysgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbApAQCAt
NDEsMTMgKzQxLDggQEAKICAgICAgICAgICAgIHF1ZXJ5LmFkZExpc3RlbmVyKCdjaW5jbycpOwog
ICAgICAgICB9IGNhdGNoIChlKSB7CiAgICAgICAgICAgICBsb2coInF1ZXJ5LmFkZExpc3RlbmVy
KCdjaW5jbycpIHRocmV3IGV4Y2VwdGlvbiBhcyBleHBlY3RlZCIpOwotICAgICAgICAgICAgCi0g
ICAgICAgIH0KLSAgICAgICAgdHJ5IHsKLSAgICAgICAgICAgIHF1ZXJ5LmFkZExpc3RlbmVyKFsx
LDJdKTsKLSAgICAgICAgfSBjYXRjaCAoZSkgewotICAgICAgICAgICAgbG9nKCJxdWVyeS5hZGRM
aXN0ZW5lcihbMSwyXSkgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVkIik7CiAgICAgICAgIH0K
KwogICAgICAgICBxdWVyeS5hZGRMaXN0ZW5lcihjYWxsYmFjazIpOwogCiAgICAgICAgIHdpbmRv
dy5pbnRlcm5hbHMuc2V0dGluZ3Muc2V0TWVkaWFUeXBlT3ZlcnJpZGUoImhhbmRoZWxkIik7CmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLWhhbmRsZUV2ZW50LWV4cGVj
dGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVuZXItaGFuZGxlRXZlbnQtZXhwZWN0
ZWQudHh0CmluZGV4IGNiNDc2NWMwODg5ZmY2MWU3NjhjMGUxODFiMDU1ZWE3NGNiZTlkZWQuLjBi
NjJjNGM3ZmNhMDRhYzU0YTg1ZDQ2MmY1NGY0NzIzZWUwYTk5ZTcgMTAwNjQ0Ci0tLSBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVk
aWFRdWVyeUxpc3QtYWRkTGlzdGVuZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xh
eW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcv
TWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVuZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0x
LDggKzEsMTEgQEAKK0NPTlNPTEUgTUVTU0FHRTogbGluZSAxMDI6IFtvYmplY3QgT2JqZWN0XQor
Q09OU09MRSBNRVNTQUdFOiBUeXBlRXJyb3I6ICdoYW5kbGVFdmVudCcgcHJvcGVydHkgb2YgZXZl
bnQgbGlzdGVuZXIgc2hvdWxkIGJlIGNhbGxhYmxlCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJv
cjogJ2hhbmRsZUV2ZW50JyBwcm9wZXJ0eSBvZiBldmVudCBsaXN0ZW5lciBzaG91bGQgYmUgY2Fs
bGFibGUKIAotRkFJTCBjYWxscyBoYW5kbGVFdmVudCBtZXRob2Qgb2YgZXZlbnQgbGlzdGVuZXIg
cHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlw
ZUVycm9yOiBBcmd1bWVudCAxICgnbGlzdGVuZXInKSB0byBNZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0
ZW5lciBtdXN0IGJlIGEgZnVuY3Rpb24iCi1GQUlMIGxvb2tzIHVwIGhhbmRsZUV2ZW50IG1ldGhv
ZCBvbiBldmVyeSBldmVudCBkaXNwYXRjaCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsaXN0ZW5lcicp
IHRvIE1lZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIKK1BBU1Mg
Y2FsbHMgaGFuZGxlRXZlbnQgbWV0aG9kIG9mIGV2ZW50IGxpc3RlbmVyIAorUEFTUyBsb29rcyB1
cCBoYW5kbGVFdmVudCBtZXRob2Qgb24gZXZlcnkgZXZlbnQgZGlzcGF0Y2ggCiBQQVNTIGRvZXNu
J3QgbG9vayB1cCBoYW5kbGVFdmVudCBtZXRob2Qgb24gY2FsbGFibGUgZXZlbnQgbGlzdGVuZXJz
IAotRkFJTCByZXRocm93cyBlcnJvcnMgd2hlbiBnZXR0aW5nIGhhbmRsZUV2ZW50IGFzc2VydF9l
cXVhbHM6IGhhbmRsZUV2ZW50IHByb3BlcnR5IHdhcyBub3QgbG9va2VkIHVwIGV4cGVjdGVkIDEg
YnV0IGdvdCAwCi1GQUlMIHRocm93cyBpZiBoYW5kbGVFdmVudCBpcyBmYWxzeSBhbmQgbm90IGNh
bGxhYmxlIGFzc2VydF9lcXVhbHM6IGhhbmRsZUV2ZW50IHByb3BlcnR5IHdhcyBub3QgbG9va2Vk
IHVwIGV4cGVjdGVkIDEgYnV0IGdvdCAwCi1GQUlMIHRocm93cyBpZiBoYW5kbGVFdmVudCBpcyB0
aHJ1dGh5IGFuZCBub3QgY2FsbGFibGUgYXNzZXJ0X2VxdWFsczogaGFuZGxlRXZlbnQgcHJvcGVy
dHkgd2FzIG5vdCBsb29rZWQgdXAgZXhwZWN0ZWQgMSBidXQgZ290IDAKK0ZBSUwgcmV0aHJvd3Mg
ZXJyb3JzIHdoZW4gZ2V0dGluZyBoYW5kbGVFdmVudCBhc3NlcnRfdHJ1ZTogVGltZWQgb3V0IHdh
aXRpbmcgZm9yIGVycm9yIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCitGQUlMIHRocm93cyBpZiBo
YW5kbGVFdmVudCBpcyBmYWxzeSBhbmQgbm90IGNhbGxhYmxlIGFzc2VydF90cnVlOiBUaW1lZCBv
dXQgd2FpdGluZyBmb3IgZXJyb3IgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgdGhyb3dz
IGlmIGhhbmRsZUV2ZW50IGlzIHRocnV0aHkgYW5kIG5vdCBjYWxsYWJsZSBhc3NlcnRfdHJ1ZTog
VGltZWQgb3V0IHdhaXRpbmcgZm9yIGVycm9yIGV4cGVjdGVkIHRydWUgZ290IGZhbHNlCiAKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVuZXItcmVtb3ZlTGlzdGVuZXItZXhw
ZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9j
c3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0ZW5lci1l
eHBlY3RlZC50eHQKaW5kZXggNWQ0OWZjZTE0OGE3MDA3YTQ1MWE3M2U0NmMzYWRiNDhlMTFhYWMz
YS4uMmM1NDA5YzVhZjgxYzc4ZGE5OGVmYzZlOTBlYWVhMjhjYTFlZTIwOSAxMDA2NDQKLS0tIGEv
TGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmll
dy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0ZW5lci1leHBlY3RlZC50eHQK
KysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
b20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0ZW5lci1leHBlY3Rl
ZC50eHQKQEAgLTMsNyArMyw3IEBAIFBBU1MgbGlzdGVuZXJzIGFyZSBjYWxsZWQgd2hlbiA8aWZy
YW1lPiBpcyByZXNpemVkCiBQQVNTIGxpc3RlbmVycyBhcmUgY2FsbGVkIGNvcnJlY3QgbnVtYmVy
IG9mIHRpbWVzIAogUEFTUyBsaXN0ZW5lcnMgYXJlIGNhbGxlZCBpbiBvcmRlciB0aGV5IHdlcmUg
YWRkZWQgCiBQQVNTIGxpc3RlbmVyIHRoYXQgd2FzIGFkZGVkIHR3aWNlIGlzIGNhbGxlZCBvbmx5
IG9uY2UgCi1GQUlMIGxpc3RlbmVycyBhcmUgY2FsbGVkIGluIG9yZGVyIHRoZWlyIE1RTHMgd2Vy
ZSBjcmVhdGVkIGFzc2VydF9hcnJheV9lcXVhbHM6IHByb3BlcnR5IDAsIGV4cGVjdGVkICJtcWwx
IiBidXQgZ290ICJtcWwyIgorUEFTUyBsaXN0ZW5lcnMgYXJlIGNhbGxlZCBpbiBvcmRlciB0aGVp
ciBNUUxzIHdlcmUgY3JlYXRlZCAKIFBBU1MgcmVtb3ZpbmcgbGlzdGVuZXIgZnJvbSBvbmUgTVFM
IGRvZXNuJ3QgcmVtb3ZlIGl0IGZyb20gYWxsIE1RTHMgCiBQQVNTIE1lZGlhUXVlcnlMaXN0Ojpy
ZW1vdmVMaXN0ZW5lciByZW1vdmVzIGFkZGVkIGxpc3RlbmVyIAogCmRpZmYgLS1naXQgYS9MYXlv
dXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01l
ZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1
ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWV4cGVjdGVkLnR4dAppbmRleCA5NzM1MWUzODky
Y2M3ZjZjYzFmNzA0YTk2MTI3MmEwZDYzYzM2NjU3Li5jZWVmMmQ4MTgyNTA0ZDBkYjY0NjllYzQw
MzBkNGZkMTNkMzllZDVmIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZl
bnRUYXJnZXQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVu
dFRhcmdldC1leHBlY3RlZC50eHQKQEAgLTEsMjAgKzEsOSBAQAogCi1GQUlMIG9uY2hhbmdlIGFk
ZHMgbGlzdGVuZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6
IG9iamVjdCAiVHlwZUVycm9yOiB1bmRlZmluZWQgaXMgbm90IGFuIG9iamVjdCAoZXZhbHVhdGlu
ZyAnX2V2ZW50Lm1lZGlhJykiCi1GQUlMIG9uY2hhbmdlIHJlbW92ZXMgbGlzdGVuZXIgYXNzZXJ0
X2VxdWFsczogZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgbGlzdGVuZXJzIGZvciAiY2hhbmdl
IiB0eXBlIGFyZSBjYWxsZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGgg
dmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBm
dW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgewotICAgICAgICBo
YW5kbGVFdmVudCgpIHsKLSAgICAgICAgICAgIGNhbGxzKys7Ci0gICAgICAgIH0sCi0gICAgfSkn
LCAnbXFsLmFkZEV2ZW50TGlzdGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlMIGxpc3RlbmVycyB3
aXRoIGRpZmZlcmVudCB0eXBlIGFyZSBub3QgY2FsbGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVk
IHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLmFkZEV2ZW50TGlz
dGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVuZXIoIm1hdGNo
ZXMiLCB0LnVucmVhY2hlZF9mdW5jKCJzaG91bGQgbm90IGJlIGNhbGxlZCIpKScsICdtcWwuYWRk
RXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZBSUwgYWRkRXZlbnRMaXN0ZW5lciAib25j
ZSIgb3B0aW9uIGlzIHJlc3BlY3RlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24g
d2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5v
dCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB7Ci0gICAg
ICAgIGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMrKzsKLSAgICAgICAgfSwKLSAg
ICB9LCB7b25jZTogdHJ1ZX0pJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQp
IgotRkFJTCByZW1vdmVFdmVudExpc3RlbmVyIHJlbW92ZXMgbGlzdGVuZXIgcHJvbWlzZV90ZXN0
OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBtcWwu
YWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRMaXN0
ZW5lcigiY2hhbmdlIiwgbGlzdGVuZXIpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRl
ZmluZWQpIgotRkFJTCBkaXNwYXRjaEV2ZW50IHdvcmtzIGFzIGV4cGVjdGVkIG1xbC5hZGRFdmVu
dExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJj
dXN0b20iLCBldmVudCA9PiB7Ci0gICAgICAgIHJlY2VpdmVkRXZlbnQgPSBldmVudDsKLSAgICAg
ICAgZXZlbnQucHJldmVudERlZmF1bHQoKTsKLSAgICB9LCB0cnVlKScsICdtcWwuYWRkRXZlbnRM
aXN0ZW5lcicgaXMgdW5kZWZpbmVkKQorUEFTUyBvbmNoYW5nZSBhZGRzIGxpc3RlbmVyIAorUEFT
UyBvbmNoYW5nZSByZW1vdmVzIGxpc3RlbmVyIAorUEFTUyBsaXN0ZW5lcnMgZm9yICJjaGFuZ2Ui
IHR5cGUgYXJlIGNhbGxlZCAKK1BBU1MgbGlzdGVuZXJzIHdpdGggZGlmZmVyZW50IHR5cGUgYXJl
IG5vdCBjYWxsZWQgCitQQVNTIGFkZEV2ZW50TGlzdGVuZXIgIm9uY2UiIG9wdGlvbiBpcyByZXNw
ZWN0ZWQgCitQQVNTIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciAKK1BBU1Mg
ZGlzcGF0Y2hFdmVudCB3b3JrcyBhcyBleHBlY3RlZCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1
ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWludGVyb3AtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRp
YVF1ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWludGVyb3AtZXhwZWN0ZWQudHh0CmluZGV4
IDJmMjk0MzZjMjcwNmIxMTVhMTk2NzZmYmMwMGFiOWU5ZDY5M2FiM2IuLjdjMDY0YzM2NGM4MWNi
MmE4NGM2NDAxYWY1ODhiZGM4ZTgzN2UyZjMgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3Qt
ZXh0ZW5kcy1FdmVudFRhcmdldC1pbnRlcm9wLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVl
cnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1leHBlY3RlZC50eHQKQEAgLTEsMTQg
KzEsMTAgQEAKIAotRkFJTCBkaXNwYXRjaEV2ZW50IHRyaWdnZXJzIGxpc3RlbmVyIGFkZGVkIHdp
dGggYWRkTGlzdGVuZXIgbXFsLmRpc3BhdGNoRXZlbnQgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAn
bXFsLmRpc3BhdGNoRXZlbnQoZGlzcGF0Y2hlZEV2ZW50KScsICdtcWwuZGlzcGF0Y2hFdmVudCcg
aXMgdW5kZWZpbmVkKQotRkFJTCBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZExpc3RlbmVyIGFuZCBh
ZGRFdmVudExpc3RlbmVyIGlzIGNhbGxlZCBvbmNlIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xpc3Rl
bmVyJykgdG8gTWVkaWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIgot
RkFJTCBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZExpc3RlbmVyIGFuZCBhZGRFdmVudExpc3RlbmVy
IChjYXB0dXJlKSBpcyBjYWxsZWQgdHdpY2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0
aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBp
cyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgbGlz
dGVuZXIsIHRydWUpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgotRkFJ
TCByZW1vdmVFdmVudExpc3RlbmVyIHJlbW92ZXMgbGlzdGVuZXIgYWRkZWQgd2l0aCBhZGRMaXN0
ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0
ICJUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsaXN0ZW5lcicpIHRvIE1lZGlhUXVlcnlMaXN0LmFk
ZExpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIKLUZBSUwgcmVtb3ZlRXZlbnRMaXN0ZW5lciAo
Y2FwdHVyZSkgZG9lc24ndCByZW1vdmUgbGlzdGVuZXIgYWRkZWQgd2l0aCBhZGRMaXN0ZW5lciBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IG1xbC5yZW1vdmVFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21x
bC5yZW1vdmVFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBsaXN0ZW5lciwgdHJ1ZSknLCAnbXFsLnJl
bW92ZUV2ZW50TGlzdGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlMIHJlbW92ZUxpc3RlbmVyIHJl
bW92ZXMgbGlzdGVuZXIgYWRkZWQgd2l0aCBhZGRFdmVudExpc3RlbmVyIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLmFk
ZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVu
ZXIoImNoYW5nZSIsIGxpc3RlbmVyKScsICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZp
bmVkKSIKLUZBSUwgcmVtb3ZlTGlzdGVuZXIgZG9lc24ndCByZW1vdmUgbGlzdGVuZXIgYWRkZWQg
d2l0aCBhZGRFdmVudExpc3RlbmVyIChjYXB0dXJlKSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3Rl
bmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2Ui
LCBsaXN0ZW5lciwgdHJ1ZSknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXInIGlzIHVuZGVmaW5lZCki
Ci1GQUlMIGNhcHR1cmluZyBldmVudCBsaXN0ZW5lciBmaXJlcyBiZWZvcmUgbm9uLWNhcHR1cmlu
ZyBsaXN0ZW5lciBhdCB0YXJnZXQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdp
dGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3Qg
YSBmdW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgewotICAgICAg
ICBoYW5kbGVFdmVudCgpIHsKLSAgICAgICAgICAgIGNhbGxzLnB1c2goImFkZEV2ZW50TGlzdGVu
ZXIiKTsKLSAgICAgICAgfSwKLSAgICB9LCB0cnVlKScsICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicg
aXMgdW5kZWZpbmVkKSIKK1BBU1MgZGlzcGF0Y2hFdmVudCB0cmlnZ2VycyBsaXN0ZW5lciBhZGRl
ZCB3aXRoIGFkZExpc3RlbmVyIAorUEFTUyBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZExpc3RlbmVy
IGFuZCBhZGRFdmVudExpc3RlbmVyIGlzIGNhbGxlZCBvbmNlIAorUEFTUyBsaXN0ZW5lciBhZGRl
ZCB3aXRoIGFkZExpc3RlbmVyIGFuZCBhZGRFdmVudExpc3RlbmVyIChjYXB0dXJlKSBpcyBjYWxs
ZWQgdHdpY2UgCitQQVNTIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciBhZGRl
ZCB3aXRoIGFkZExpc3RlbmVyIAorUEFTUyByZW1vdmVFdmVudExpc3RlbmVyIChjYXB0dXJlKSBk
b2Vzbid0IHJlbW92ZSBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZExpc3RlbmVyIAorUEFTUyByZW1v
dmVMaXN0ZW5lciByZW1vdmVzIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkRXZlbnRMaXN0ZW5lciAK
K1BBU1MgcmVtb3ZlTGlzdGVuZXIgZG9lc24ndCByZW1vdmUgbGlzdGVuZXIgYWRkZWQgd2l0aCBh
ZGRFdmVudExpc3RlbmVyIChjYXB0dXJlKSAKK1BBU1MgY2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVy
IGZpcmVzIGJlZm9yZSBub24tY2FwdHVyaW5nIGxpc3RlbmVyIGF0IHRhcmdldCAKIApkaWZmIC0t
Z2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
b20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2lt
cG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxp
c3RFdmVudC1leHBlY3RlZC50eHQKaW5kZXggM2UxYjQ3OTY0MDQ2MWVlYzAwY2RmNzg0NGM5Yzhh
MWMwNWQxMGViYi4uOTJhYzQzOWIxNzgzODQxMWVhNDc0MTlmODk3NzMwNmVlYTRlNDZhMiAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlh
UXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQudHh0CkBAIC0xLDEwICsxLDggQEAKIAotRkFJTCB0eXBl
IGNhbiBiZSBkaWZmZXJlbnQgZnJvbSAiY2hhbmdlIiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBNZWRp
YVF1ZXJ5TGlzdEV2ZW50Ci1GQUlMIGluaXQgZGljdGlvbmFyeSBkZWZhdWx0IHZhbHVlcyBDYW4n
dCBmaW5kIHZhcmlhYmxlOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50Ci1GQUlMIGluaXQgZGljdGlvbmFy
eSBvdmVycmlkZXMgQ2FuJ3QgZmluZCB2YXJpYWJsZTogTWVkaWFRdWVyeUxpc3RFdmVudAotRkFJ
TCBhcmd1bWVudCBvZiBhZGRMaXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IFJpZ2h0IGhhbmQgc2lkZSBvZiBpbnN0
YW5jZW9mIGlzIG5vdCBhbiBvYmplY3QiCi1GQUlMIGFyZ3VtZW50IG9mIG9uY2hhbmdlIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogUmlnaHQgaGFuZCBzaWRlIG9mIGluc3RhbmNlb2YgaXMgbm90IGFuIG9iamVjdCIKLUZBSUwg
Y29uc3RydWN0b3Igb2YgImNoYW5nZSIgZXZlbnQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5l
ciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwg
ZXZlbnQgPT4gewotICAgICAgICBfZXZlbnQgPSBldmVudDsKLSAgICB9KScsICdtcWwuYWRkRXZl
bnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKK1BBU1MgdHlwZSBjYW4gYmUgZGlmZmVyZW50IGZy
b20gImNoYW5nZSIgCitQQVNTIGluaXQgZGljdGlvbmFyeSBkZWZhdWx0IHZhbHVlcyAKK1BBU1Mg
aW5pdCBkaWN0aW9uYXJ5IG92ZXJyaWRlcyAKK1BBU1MgYXJndW1lbnQgb2YgYWRkTGlzdGVuZXIg
CitQQVNTIGFyZ3VtZW50IG9mIG9uY2hhbmdlIAorUEFTUyBjb25zdHJ1Y3RvciBvZiAiY2hhbmdl
IiBldmVudCAKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0
Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dCBiL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvaWRs
aGFybmVzcy1leHBlY3RlZC50eHQKaW5kZXggMjkzZDRkN2EwM2ZkYzdjNDFiYzc2MWMyN2VmZTEy
MzJjNTAwZWI2OC4uYjkyMmE4YmExYmNhODAwNWJiMzZmZGJhOWJkMzIxN2M1YjM0NDE3NSAxMDA2
NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBv
cnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhw
ZWN0ZWQudHh0CkBAIC01NSw0MiArNTUsMzggQEAgUEFTUyBXaW5kb3cgaW5jbHVkZXMgV2luZG93
U2Vzc2lvblN0b3JhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlCiBQQVNTIFdpbmRvdyBpbmNs
dWRlcyBXaW5kb3dMb2NhbFN0b3JhZ2U6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAogUEFTUyBD
aGFyYWN0ZXJEYXRhIGluY2x1ZGVzIE5vbkRvY3VtZW50VHlwZUNoaWxkTm9kZTogbWVtYmVyIG5h
bWVzIGFyZSB1bmlxdWUgCiBQQVNTIENoYXJhY3RlckRhdGEgaW5jbHVkZXMgQ2hpbGROb2RlOiBt
ZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBl
eGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIg
ZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVl
cnlMaXN0IGludGVyZmFjZSBvYmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBleHBlY3RlZCBwcm9w
ZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJm
YWNlIG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBv
d24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVy
eUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2Ug
YW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3Qi
IGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1
ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3RvciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9w
ZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4
cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5
TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJv
dG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVj
dGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlz
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVy
dHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFj
ZTogYXR0cmlidXRlIG1hdGNoZXMgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBo
YXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRp
YVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IG9wZXJh
dGlvbiBhZGRMaXN0ZW5lcihFdmVudExpc3RlbmVyKSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJv
cGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVy
ZmFjZTogb3BlcmF0aW9uIHJlbW92ZUxpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIGFzc2VydF9vd25f
cHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0
IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVkaWFR
dWVyeUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgb25jaGFuZ2UgYXNzZXJ0X293bl9wcm9wZXJ0
eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVj
dGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlz
dCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG1hdGNoTWVkaWEoImFsbCIpIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlM
aXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKK1BBU1MgTWVk
aWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
CitQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZSBvYmplY3QgbmFtZSAKK1BBU1MgTWVkaWFR
dWVyeUxpc3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNl
IHByb3RvdHlwZSBvYmplY3QgCitQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0
cnVjdG9yIiBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyBAQHVuc2Nv
cGFibGVzIHByb3BlcnR5IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBtZWRpYSAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWF0Y2hl
cyAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24gYWRkTGlzdGVuZXIo
RXZlbnRMaXN0ZW5lcikgCitQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogb3BlcmF0aW9u
IHJlbW92ZUxpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRl
cmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZSAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgbXVzdCBiZSBw
cmltYXJ5IGludGVyZmFjZSBvZiBtYXRjaE1lZGlhKCJhbGwiKSAKIFBBU1MgU3RyaW5naWZpY2F0
aW9uIG9mIG1hdGNoTWVkaWEoImFsbCIpIAogUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6
IG1hdGNoTWVkaWEoImFsbCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWEiIHdpdGggdGhl
IHByb3BlciB0eXBlIAogUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IG1hdGNoTWVkaWEo
ImFsbCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWF0Y2hlcyIgd2l0aCB0aGUgcHJvcGVyIHR5
cGUgCiBQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVz
dCBpbmhlcml0IHByb3BlcnR5ICJhZGRMaXN0ZW5lcihFdmVudExpc3RlbmVyKSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogY2FsbGluZyBhZGRM
aXN0ZW5lcihFdmVudExpc3RlbmVyKSBvbiBtYXRjaE1lZGlhKCJhbGwiKSB3aXRoIHRvbyBmZXcg
YXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF90aHJvd3M6IENhbGxlZCB3aXRo
IDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBmbi5hcHBs
eShvYmosIGFyZ3MpOwotICAgICAgICB9IiBkaWQgbm90IHRocm93CitQQVNTIE1lZGlhUXVlcnlM
aXN0IGludGVyZmFjZTogY2FsbGluZyBhZGRMaXN0ZW5lcihFdmVudExpc3RlbmVyKSBvbiBtYXRj
aE1lZGlhKCJhbGwiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9y
IAogUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IG1hdGNoTWVkaWEoImFsbCIpIG11c3Qg
aW5oZXJpdCBwcm9wZXJ0eSAicmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcikiIHdpdGggdGhl
IHByb3BlciB0eXBlIAotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGNhbGxpbmcgcmVt
b3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcikgb24gbWF0Y2hNZWRpYSgiYWxsIikgd2l0aCB0b28g
ZmV3IGFyZ3VtZW50cyBtdXN0IHRocm93IFR5cGVFcnJvciBhc3NlcnRfdGhyb3dzOiBDYWxsZWQg
d2l0aCAwIGFyZ3VtZW50cyBmdW5jdGlvbiAiZnVuY3Rpb24gKCkgewotICAgICAgICAgICAgZm4u
YXBwbHkob2JqLCBhcmdzKTsKLSAgICAgICAgfSIgZGlkIG5vdCB0aHJvdwotRkFJTCBNZWRpYVF1
ZXJ5TGlzdCBpbnRlcmZhY2U6IG1hdGNoTWVkaWEoImFsbCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0
eSAib25jaGFuZ2UiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9pbmhlcml0czogcHJvcGVy
dHkgIm9uY2hhbmdlIiBub3QgZm91bmQgaW4gcHJvdG90eXBlIGNoYWluCi1GQUlMIE1lZGlhUXVl
cnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJm
YWNlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVy
eUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZSBv
YmplY3QgbGVuZ3RoIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1
ZXJ5TGlzdEV2ZW50IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNl
IG9iamVjdCBuYW1lIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24g
cHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1
ZXJ5TGlzdEV2ZW50IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNl
OiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3Qg
YXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVk
aWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQi
IG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzICJjb25zdHJ1Y3Rv
ciIgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVl
cnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdz
IEBAdW5zY29wYWJsZXMgcHJvcGVydHkgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5v
dCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0ZWQgcHJvcGVy
dHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRv
ZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBw
cm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlz
dEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG1hdGNoZXMgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFR
dWVyeUxpc3RFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG5ldyBNZWRpYVF1ZXJ5
TGlzdEV2ZW50KCJjaGFuZ2UiKSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3
aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVy
ZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50IgotRkFJ
TCBTdHJpbmdpZmljYXRpb24gb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIGFz
c2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3Qg
ZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQg
dmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQiCi1GQUlMIE1lZGlhUXVlcnlMaXN0RXZlbnQg
aW50ZXJmYWNlOiBuZXcgTWVkaWFRdWVyeUxpc3RFdmVudCgiY2hhbmdlIikgbXVzdCBpbmhlcml0
IHByb3BlcnR5ICJtZWRpYSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5l
eHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1
dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogTWVkaWFR
dWVyeUxpc3RFdmVudCIKLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IG5ldyBN
ZWRpYVF1ZXJ5TGlzdEV2ZW50KCJjaGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1hdGNo
ZXMiIHdpdGggdGhlIHByb3BlciB0eXBlIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0
aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAi
UmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQi
CitQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogY2FsbGluZyByZW1vdmVMaXN0ZW5lcihF
dmVudExpc3RlbmVyKSBvbiBtYXRjaE1lZGlhKCJhbGwiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRz
IG11c3QgdGhyb3cgVHlwZUVycm9yIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IG1h
dGNoTWVkaWEoImFsbCIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAib25jaGFuZ2UiIHdpdGggdGhl
IHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogZXhpc3Rl
bmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBvYmplY3QgCitQQVNTIE1lZGlhUXVlcnlM
aXN0RXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZl
bnQgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVy
ZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2Jq
ZWN0IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBw
cm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBw
cm9wZXJ0eSAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29wYWJs
ZXMgcHJvcGVydHkgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1
dGUgbWVkaWEgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUg
bWF0Y2hlcyAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBtdXN0IGJlIHByaW1hcnkgaW50ZXJm
YWNlIG9mIG5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50KCJjaGFuZ2UiKSAKK1BBU1MgU3RyaW5naWZp
Y2F0aW9uIG9mIG5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50KCJjaGFuZ2UiKSAKK1BBU1MgTWVkaWFR
dWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IG5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50KCJjaGFuZ2Ui
KSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1lZGlhIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKK1BB
U1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IG5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50
KCJjaGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1hdGNoZXMiIHdpdGggdGhlIHByb3Bl
ciB0eXBlIAogUEFTUyBTY3JlZW4gaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMg
b2YgaW50ZXJmYWNlIG9iamVjdCAKIFBBU1MgU2NyZWVuIGludGVyZmFjZSBvYmplY3QgbGVuZ3Ro
IAogUEFTUyBTY3JlZW4gaW50ZXJmYWNlIG9iamVjdCBuYW1lIApkaWZmIC0tZ2l0IGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRj
aE1lZGlhLWV4cGVjdGVkLnR4dCBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvbWF0Y2hNZWRpYS1leHBlY3RlZC50eHQKaW5kZXggNjdl
ZmNlYTI4OWU0YzY4OTg5MGRmMGUyY2ZjMDcyNzk2YzVkNjgxNi4uNmQ2ODAxYzhkNzc5YTEwZmVl
MmJiNDMyZTBmNmZmMzY5YTFhNzg2OCAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQv
dzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlhLWV4cGVjdGVk
LnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L21hdGNoTWVkaWEtZXhwZWN0ZWQudHh0CkBAIC0zLDcgKzMsNyBAQCBQQVNT
IHdpbmRvdy5tYXRjaE1lZGlhIGlzIGEgZnVuY3Rpb24KIFBBU1Mgd2luZG93Lm1hdGNoTWVkaWEo
ImFsbCIpIG1hdGNoZXMgCiBQQVNTIHdpbmRvdy5tYXRjaE1lZGlhKCIiKSBtYXRjaGVzIAogUEFT
UyB3aW5kb3cubWF0Y2hNZWRpYSgiKG1pbi13aWR0aDogMXB4KSIpIG1hdGNoZXMgCi1GQUlMIG1l
ZGlhIHF1ZXJ5IHdpdGggc3ludGF4IGVycm9yIGlzIHNlcmlhbGl6ZWQgYXMgIm5vdCBhbGwiIENh
bid0IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0CitQQVNTIG1lZGlhIHF1ZXJ5IHdpdGgg
c3ludGF4IGVycm9yIGlzIHNlcmlhbGl6ZWQgYXMgIm5vdCBhbGwiIAogUEFTUyBpZnJhbWUubWF0
Y2hNZWRpYSgiKG1heC13aWR0aDogMTk5cHgpLCBhbGwgYW5kIChtaW4td2lkdGg6IDIwMHB4KSIp
IGlzIHNlcmlhbGl6ZWQgdy9vICJhbGwiIAogUEFTUyBpZnJhbWUubWF0Y2hNZWRpYSgiKG1pbi1h
c3BlY3QtcmF0aW86IDEvMSkiKSBtYXRjaGVzIAogUEFTUyBpZnJhbWUubWF0Y2hNZWRpYSgiKHdp
ZHRoOiAyMDBweCkiKSBtYXRjaGVzIAo=
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394740</attachid>
            <date>2020-03-27 11:49:14 -0700</date>
            <delta_ts>2020-03-27 12:22:46 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203288-20200327204912.patch</filename>
            <type>text/plain</type>
            <size>104275</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk4NjI4ZjU0MTEyMjc1
OGFmOWY4ZWIyY2Q3Yjg0N2YyNTAwNDdjNS4uYTEyNWFlMGQzZjM1YWVjNzdlYjA5MTQ5YmJkMTM5
MzM1NjQ2NmQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIwLTAzLTI3ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5
TGlzdCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBJbml0aWFsbHksIENTU09NIFZpZXcgTW9kdWxlIHNwZWNpZmlj
YXRpb24gWzFdIGhhZCBhIGN1c3RvbSBjYWxsYmFjayBtZWNoYW5pc20gd2l0aCBhZGRMaXN0ZW5l
cigpIGFuZCByZW1vdmVMaXN0ZW5lcigpLAorICAgICAgICBhbmQgdGhlIGNhbGxiYWNrIHdhcyBp
bnZva2VkIHdpdGggdGhlIGFzc29jaWF0ZWQgTWVkaWFRdWVyeUxpc3QgYXMgYXJndW1lbnQuCisK
KyAgICAgICAgTm93IHRoZSBub3JtYWwgZXZlbnQgbWVjaGFuaXNtIFsyXSBpcyB1c2VkIGluc3Rl
YWQuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYWRkTGlzdGVuZXIoKSBhbmQgcmVtb3Zl
TGlzdGVuZXIoKQorICAgICAgICBtZXRob2RzIGFyZSBiYXNpY2FsbHkgYWxpYXNlcyBmb3IgYWRk
RXZlbnRMaXN0ZW5lcigpIGFuZCByZW1vdmVFdmVudExpc3RlbmVyKCksIHJlc3BlY3RpdmVseSwg
YW5kIHRoZSAiY2hhbmdlIiBldmVudAorICAgICAgICBtYXNxdWVyYWRlcyBhcyBhIE1lZGlhUXVl
cnlMaXN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBuZXcgZXZlbnQgbWVjaGFu
aXNtLCBhbGlnbmluZyBXZWJLaXQgd2l0aCBCbGluayBhbmQgU3BpZGVyTW9ua2V5LCBhbmQgYWxz
byBmaXhlcworICAgICAgICBhIGZldyBtaW5vciBzcGVjIGluY29tcGF0aWJpbGl0aWVzOiBtYW5k
YXRvcnkgbGlzdGVuZXIgYXJndW1lbnQsICJoYW5kbGVFdmVudCIgc3VwcG9ydCwgYW5kIGxpc3Rl
bmVycyBjYWxsIG9yZGVyLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly93d3cudzMub3JnL1RSLzIw
MTEvV0QtY3Nzb20tdmlldy0yMDExMDgwNC8jbWVkaWFxdWVyeWxpc3QKKyAgICAgICAgWzJdOiBo
dHRwczovL3d3dy53My5vcmcvVFIvY3Nzb20tdmlldy0xLyNtZWRpYXF1ZXJ5bGlzdAorCisgICAg
ICAgIFRlc3RzOiBmYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbAorICAgICAgICAg
ICAgICAgd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFk
ZExpc3RlbmVyLWhhbmRsZUV2ZW50Lmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0
ZW5lci5odG1sCisgICAgICAgICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC5odG1sCisgICAgICAgICAgICAg
ICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5k
cy1FdmVudFRhcmdldC1pbnRlcm9wLmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLmh0bWwKKyAg
ICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlh
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3Vy
Y2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy8qOiBVcGRhdGVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1
ZXJ5TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6TWVkaWFRdWVy
eUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVlcnlMaXN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAqIGNzcy9NZWRpYVF1
ZXJ5TGlzdC5oOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGw6CisgICAgICAgICog
Y3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUXVlcnlMaXN0RXZlbnQ6Ok1lZGlhUXVlcnlMaXN0RXZlbnQpOgorICAgICAgICAqIGNzcy9N
ZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlz
dEV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw6IFJl
bW92ZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpkb2N1bWVudERlc3Ryb3llZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTWVkaWFRdWVyeUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZU1lZGlhUXVlcnlMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1lZGlhKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZUFsbCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTGlzdGVuZXIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZUxpc3RlbmVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBjc3MvTWVkaWFRdWVyeU1hdGNoZXIuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5p
bjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRG
YWN0b3J5LmluOgorCiAyMDIwLTAzLTI2ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgU3dpcGUgZG93biBnZXN0dXJlcyBjYXVzZSB0aGUgdmlkZW8gbGF5ZXIgdG8g
c3RpY2sgZm9yIGEgbW9tZW50IGJlZm9yZSBib3VuY2luZyBiYWNrIGludG8gcGxhY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nCmluZGV4IGJiMTkxYzRlODhlNWIxMGU4MmU0ZDlkOGNkYTViYTFmZjc1
M2FmZjMuLjljNDdhYWQ2MGYzNGNkN2JiYTZjM2E0YjhkZGU0OWQ2ZGVlODBmYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAzLTI3ICBBbGV4ZXkgU2h2
YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBz
aG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1l
dGVycy5qczoKKwogMjAyMC0wMy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGtleWJvYXJkIHNob3J0Y3V0IHRvIHRvb2x0
aXAgb2YgcGlubmVkIHRhYnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTEyMjMwMTc4YzFkMmEz
OTM1YjIwOWE3OTlhNzczNTliZTc3ZDQ1NS4uMTc0YmQwNWFjYTI2YThlZWVlM2Y0N2IzZTM0OTU4
YTk2NDRkZTg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTYzOCw3ICs2MzgsNyBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNzcy9Gb250RmFjZVNldC5pZGwKICAgICBj
c3MvTWVkaWFMaXN0LmlkbAogICAgIGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwKLSAgICBjc3MvTWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKKyAgICBjc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwK
ICAgICBjc3MvU3R5bGVNZWRpYS5pZGwKICAgICBjc3MvU3R5bGVTaGVldC5pZGwKICAgICBjc3Mv
U3R5bGVTaGVldExpc3QuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCA2MWU1MGRhMDA2ZGNhNWIwYTA1NWJiNGQ1ODQyZTkzNmNiNzAx
OTI5Li41OWQyZTk3YWJhMTFhZWVlNjNlOWM0NWZkZGExNzNjMjdmOTI3MjNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTU0Niw3ICs1
NDYsNyBAQCAkKFBST0pFQ1RfRElSKS9jc3MvRm9udEZhY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9j
c3MvRm9udEZhY2VTZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAotJChQUk9KRUNUX0RJUikvY3NzL01l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCiskKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFRdWVyeUxp
c3RFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCiAk
KFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVt
ZW50TWFwLmluCiAkKFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1h
cC5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dAppbmRleCAzZTYzZGQzNzdlODIxNDI1MjU5OTI0NzY5NTY4OTRkZTljNjdkOGNlLi43ODUwMmIx
MGM5NTliMjUxMjE4ODg1Zjc1MjI5NzI5NTQyMDk3MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTAzMiw4ICsxMDMyLDggQEAg
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3Qu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlh
TGlzdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01l
ZGlhUXVlcnlMaXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCi0kKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1
ZXJ5TGlzdEV2ZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUmVjb3JkZXJFcnJvckV2
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNGU5MjU2OGYwNzIyOTE2
YWVhOTI4NTg2YzY0OTc2MzI4NzA1ZmU5NS4uMDAyM2NmNzYxZDE1NWFhYjY0MzJkNzIxZjNjYzRl
NzMyNjQ2MWFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01NzksNyArNTc5
LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvY3NzL0ZvbnRGYWNlU2V0
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFMaXN0LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2Nzcy9NZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVu
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL1N0eWxlTWVkaWEuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2Nzcy9TdHlsZVNoZWV0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvU3R5bGVTaGVldExp
c3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMTczMzY5NzI2OTgyMDcwNDAyMzQxODU0YzY3ZmJi
NjY5MjAzYTM3NS4uOGUwZjJjOTM3ODZiZmIyMjcwM2MxYTIxZjQ1YTZhODRjOTgyYjJmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKQEAgLTc5MCw2ICs3OTAsNyBAQCBjc3MvTWVkaWFRdWVyeS5jcHAKIGNzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAogY3NzL01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcAogY3Nz
L01lZGlhUXVlcnlMaXN0LmNwcAorY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCiBjc3MvTWVk
aWFRdWVyeU1hdGNoZXIuY3BwCiBjc3MvTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuY3BwCiBjc3Mv
UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzEwNyw3ICszMTA4LDcgQEAg
SlNNZWRpYUVuY29kaW5nVHlwZS5jcHAKIEpTTWVkaWFFcnJvci5jcHAKIEpTTWVkaWFMaXN0LmNw
cAogSlNNZWRpYVF1ZXJ5TGlzdC5jcHAKLUpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKK0pT
TWVkaWFRdWVyeUxpc3RFdmVudC5jcHAKIEpTTWVkaWFSZWNvcmRlci5jcHAKIEpTTWVkaWFSZWNv
cmRlckVycm9yRXZlbnQuY3BwCiBKU01lZGlhUmVtb3RlQ29udHJvbHMuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjc4ZDAz
Y2Q3ZTVkZTVkYTkxOWFhOTViNjVkMGY5ZDViZWEyMDBiNi4uY2JhYzFmYTViN2ZhNWEzZTE3Y2Q1
NTBhMmM4N2Q3NzRkZDVlODBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI1Nyw3ICsyMjU3LDYgQEAKIAkJN0M1MjIyOTkx
RTFEQUUxQzAwMkNCOEY3IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzUyMjI5ODFFMURBRTE2MDAyQ0I4RjcgLyog
QWN0aXZlRE9NQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3QzUyMjI5RTFFMURBRTQ3MDAyQ0I4RjcgLyogUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0M1MjIyOUMxRTFEQUU0NzAwMkNCOEY3IC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzUyNjY5ODFG
MUIwMzAyMDAwRjA2OEIgLyogU3RyaW5nQWRhcHRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTI2Njk2MUYxQjAyRkMwMDBGMDY4QiAvKiBTdHJp
bmdBZGFwdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTM0
M0ZCMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLzsgfTsK
IAkJN0M1N0JGRTcxRURFMkY2MTAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RPcGVyYXRpb25zLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzU3QkZFNjFF
REUyRjVCMDA1MzRBNDggLyogSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzVGMjhGQzFBODI3RDg0MDBD
MEYzMUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzVGMjhGQTFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0
dGFjaG1lbnRFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJN0M2NTIyRUYxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1l
dGhvZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2
NTIyRUMxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oICovOyB9OwpA
QCAtMjUwMyw2ICsyNTAyLDcgQEAKIAkJODQzMDBCRDgxMjBDOUFENDAwMjE5NTRBIC8qIFNWR1Bh
dGhTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg0MzAwQkQ3MTIwQzlBRDQwMDIxOTU0QSAvKiBTVkdQYXRoU291cmNlLmggKi87IH07CiAJCTg0
NUU3MkY4MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NUU3MkY3MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0
ZXIuaCAqLzsgfTsKIAkJODQ1RTcyRkMwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ1RTcyRkEwRkQy
NjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oICovOyB9OworCQk4NDY1MEU3RTIzODdBRDdEMDA2
MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODQ2NTBFN0MyMzg3QUQ3QzAwNjI2NkUyIC8qIE1lZGlhUXVl
cnlMaXN0RXZlbnQuaCAqLzsgfTsKIAkJODQ3MzBENzcxMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3Rh
bnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODQ3MzBENUExMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3RhbnRMaWdodFNvdXJjZS5oICov
OyB9OwogCQk4NDczMEQ3OTEyNDhGMEIzMDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3MzBENUMxMjQ4
RjBCMzAwRDNBOUM5IC8qIEZFQ29udm9sdmVNYXRyaXguaCAqLzsgfTsKIAkJODQ3MzBEN0IxMjQ4
RjBCMzAwRDNBOUM5IC8qIEZFRGlmZnVzZUxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDczMEQ1RTEyNDhGMEIzMDBEM0E5QzkgLyogRkVE
aWZmdXNlTGlnaHRpbmcuaCAqLzsgfTsKQEAgLTQyOTcsNyArNDI5Nyw2IEBACiAJCUQzNTlENzhB
MTI5Q0EyNzEwMDA2RTVEMiAvKiBIVE1MRGV0YWlsc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzNTlENzg3MTI5Q0EyNzEwMDA2RTVEMiAv
KiBIVE1MRGV0YWlsc0VsZW1lbnQuaCAqLzsgfTsKIAkJRDM1OUQ4QkYxMjlDQTU1QzAwMDZFNUQy
IC8qIEpTSFRNTERldGFpbHNFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBEMzU5RDhCRDEyOUNBNTVDMDAwNkU1RDIgLyogSlNIVE1MRGV0YWls
c0VsZW1lbnQuaCAqLzsgfTsKIAkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVl
cnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
M0E5NEEzMjEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCAqLzsgfTsKLQkJRDNB
OTRBM0IxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQTk0QTM0MTIyREFCQUMw
MEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggKi87IH07CiAJCUQzQTk0QTQ3MTIy
REM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyogSlNN
ZWRpYVF1ZXJ5TGlzdC5oICovOyB9OwogCQlEM0FBMTBGNDEyM0E5OEFBMDA5MjE1MkIgLyogTWVk
aWFRdWVyeU1hdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQzQUExMEYyMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oICov
OyB9OwogCQlEM0Q0RTk3MzEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0Q0RTk3MTEz
MEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk5NjAsOCArOTk1OSw2IEBACiAJCTdD
NTIyRDQ5MTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rvck92ZXJsYXkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QzUyMkQ0QTE1QjQ3OEIyMDA5QjdDOTUgLyogSW5zcGVj
dG9yT3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JP
dmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNTI2Njk2MUYxQjAyRkMw
MDBGMDY4QiAvKiBTdHJpbmdBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTdHJpbmdBZGFwdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QzUz
NDNGQTE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNTM0M0ZCMTdCNzRCNjMwMDQy
MzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmg7IHBhdGggPSBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0M1N0JGRTYxRURFMkY1QjAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RP
cGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQWJzdHJh
Y3RPcGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNUJFQTNBMUU5
RUU3NzEwMENDNTE3QiAvKiBOYXZpZ2F0b3JJRC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
TmF2aWdhdG9ySUQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzVCRUEzQjFF
OUVFNzcxMDBDQzUxN0IgLyogTmF2aWdhdG9yTGFuZ3VhZ2UuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE5hdmlnYXRvckxhbmd1YWdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTEwNDY4LDYgKzEwNDY1LDkgQEAKIAkJODQ1RTcyRjcwRkQyNjFFRTAwQTg3RDc5IC8qIEZp
bHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWx0ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ1RTcyRjkwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0Zp
bHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdGaWx0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDVFNzJGQTBGRDI2MjM5MDBBODdE
NzkgLyogU1ZHRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0Zp
bHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU3QzIzODdBRDdDMDA2
MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg0NjUwRTdGMjM4N0FEOEEwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0RXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU4MDIzODdBRDhCMDA2MjY2
RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVk
aWFRdWVyeUxpc3RFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NzMw
RDVBMTI0OEYwQjMwMEQzQTlDOSAvKiBEaXN0YW50TGlnaHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzdGFudExpZ2h0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg0NzMwRDVCMTI0OEYwQjMwMEQzQTlDOSAvKiBGRUNvbnZvbHZlTWF0
cml4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZFQ29udm9sdmVN
YXRyaXguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDczMEQ1QzEyNDhGMEIz
MDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGRUNvbnZvbHZlTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNDUxNiw4ICsxNDUxNiw2IEBACiAJCUQzQTk0QTMxMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRp
YVF1ZXJ5TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRp
YVF1ZXJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0QTMyMTIy
REFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEM0E5NEEzMzEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEM0E5NEEzNTEyMkRBQkFDMDBB
MzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUQzQTk0QTQyMTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyog
SlNNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01l
ZGlhUXVlcnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQUExMEYxMTIz
QTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDExOCw4ICsyNDExNiw2IEBACiAJCQkJQkMzQzM5QjUwQzBEM0Q4
RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8sCiAJCQkJRDNBOTRBNDIxMjJEQzQwRjAwQTM3
QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuY3BwICovLAogCQkJCUQzQTk0QTQzMTIyREM0MEYwMEEz
N0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggKi8sCi0JCQkJN0M1MzQzRkExN0I3NEI2MzAwNDIz
MkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgKi8sCi0JCQkJN0M1MzQzRkIxN0I3
NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oICovLAogCQkJCTBGRjUw
MjY3MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuY3BwICovLAogCQkJCTBGRjUwMjY4
MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCAqLywKIAkJCQlCQ0UwMTM5ODBDMEJF
RjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmNwcCAqLywKQEAgLTI3OTMyLDggKzI3OTI4LDkg
QEAKIAkJCQlEM0E5NEEzMTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuY3BwICov
LAogCQkJCUQzQTk0QTMyMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovLAog
CQkJCUQzQTk0QTMzMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5pZGwgKi8sCi0J
CQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAq
LywKLQkJCQlEM0E5NEEzNTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5pZGwgKi8sCisJCQkJODQ2NTBFN0YyMzg3QUQ4QTAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0
RXZlbnQuY3BwICovLAorCQkJCTg0NjUwRTdDMjM4N0FEN0MwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5
TGlzdEV2ZW50LmggKi8sCisJCQkJODQ2NTBFODAyMzg3QUQ4QjAwNjI2NkUyIC8qIE1lZGlhUXVl
cnlMaXN0RXZlbnQuaWRsICovLAogCQkJCUQzQUExMEYxMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRp
YVF1ZXJ5TWF0Y2hlci5jcHAgKi8sCiAJCQkJRDNBQTEwRjIxMjNBOThBQTAwOTIxNTJCIC8qIE1l
ZGlhUXVlcnlNYXRjaGVyLmggKi8sCiAJCQkJNDQ3MTcxMEIyMDVBRjk0NTAwMEExMTZFIC8qIE1l
ZGlhUXVlcnlQYXJzZXJDb250ZXh0LmNwcCAqLywKQEAgLTMxMjE4LDcgKzMxMjE1LDYgQEAKIAkJ
CQlCQzNDMzlCNzBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzRDQzN0EzMUQ1N0I3RTIwMEFCODVFQSAvKiBKU01lZGlhTGlzdEN1c3RvbS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBNDcxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVy
eUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBK
U01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEOURFMTc1MTdB
QUM3NEMwMEVBMzg2RCAvKiBKU01lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3
N0U0RDE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDcyNzdFNEYxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTgzOCw3ICszMTgzNCw3IEBACiAJCQkJNEUx
OTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDQjVDQTQwMUU1MjVDNzMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlh
UXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQlEM0E5NEEzQjEyMkRBQkFDMDBBMzdCQkMg
LyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODQ2NTBFN0Uy
Mzg3QUQ3RDAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUQzQUExMEY0MTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTQ5M0I2QzExRDc0QjQxMjAwODhFNzgwIC8qIE1lZGlhUXVlcnlQYXJz
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0NzE3MTBFMjA1QUY5NDUwMDBBMTE2RSAvKiBNZWRp
YVF1ZXJ5UGFyc2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggMTg4MmE5ZWZmZTI0MGM0
NTliZDVkMzQyNjE3YTBjZDkzM2MyZDg4OS4uYjE4ZWI5YTIyNGE1OWQxMjhlYTQwZWQ4MWRiOTI0
OGEzYWM5Y2E1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaApAQCAtMTQ5LDYgKzE0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhNZWRpYUtleVN0YXR1c01hcCkgXAogICAgIG1hY3JvKE1lZGlhS2V5U3lzdGVtQWNj
ZXNzKSBcCiAgICAgbWFjcm8oTWVkaWFLZXlzKSBcCisgICAgbWFjcm8oTWVkaWFRdWVyeUxpc3RF
dmVudCkgXAogICAgIG1hY3JvKE1lZGlhUmVjb3JkZXIpIFwKICAgICBtYWNybyhNZWRpYVJlY29y
ZGVyRXJyb3JFdmVudCkgXAogICAgIG1hY3JvKE1lZGlhU291cmNlKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuY3BwCmluZGV4IDYwNWZlYjYxNjRhZWU4ZjQ3NzNiZDMwZTJhNTEyOTM0MzIwYzJi
NWMuLjA2Y2M4NTYwYjI0NDI1MTBiOGYzNmUyODViMTllZjUyMDk1NTY1YWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RHbG9iYWxPYmplY3QuY3BwCkBAIC01NCw3ICs1NCw2IEBACiAjaW5jbHVkZSAiSlNUZXN0SXRl
cmFibGUuaCIKICNpbmNsdWRlICJKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oIgogI2luY2x1
ZGUgIkpTVGVzdE1hcExpa2UuaCIKLSNpbmNsdWRlICJKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRp
b24uaCIKICNpbmNsdWRlICJKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ci5oIgpAQCAtMjA5LDggKzIwOCw2IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFs
T2JqZWN0VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3IoSlNDOjpKCiBib29sIHNl
dEpTVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1Zh
bHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VD
b25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNv
bnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6
OkVuY29kZWRKU1ZhbHVlKTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwotYm9vbCBzZXRKU1Rl
c3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVl
KTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CiBib29sIHNldEpTVGVzdEds
b2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3Rv
cihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CkBAIC0z
MDIsMTEgKzI5OSwxMSBAQCB1c2luZyBKU1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1Y3RvciA9IEpT
RE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTVGVzdEdsbwogCiBzdGF0aWMgY29uc3Qg
c3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZd
ID0gewogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzNywgLTEgfSwKKyAgICB7IDM2LCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAwLCAtMSB9LAogICAgIHsgNCwgMjYyIH0sCi0gICAgeyA0
MSwgLTEgfSwKKyAgICB7IDQwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzE0LDcgKzMxMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAg
eyA1MSwgLTEgfSwKKyAgICB7IDUwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzIyLDcgKzMxOSw3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyA2MywgLTEgfSwKKyAgICB7IDYyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzM2LDEzICszMzMsMTMgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhb
MjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKLSAgICB7IDMxLCAtMSB9LAorICAgIHsgMzAsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAotICAgIHsgNjYsIC0xIH0sCisgICAgeyA2NSwgLTEgfSwKICAgICB7IDksIDI1OCB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM1MSw3ICszNDgsNyBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFi
bGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAotICAgIHsgMzUsIC0xIH0sCisgICAgeyAzNCwgLTEgfSwKICAgICB7IDE2LCAy
NjMgfSwKICAgICB7IDYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM2NCw3ICszNjEsNyBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0
VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAotICAgIHsgMzMsIC0xIH0sCisgICAgeyAzMiwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM4Niw3ICszODMs
NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2Jq
ZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTcsIC0xIH0sCisgICAgeyA1NiwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM5NSwyOCAr
MzkyLDI4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9i
YWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDIwLCAy
NTYgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTgsIC0xIH0sCisgICAgeyA1NywgLTEgfSwK
ICAgICB7IDE1LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDQzLCAtMSB9LAorICAgIHsgNDIsIC0xIH0sCiAgICAgeyAxNCwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAot
ICAgIHsgMzIsIC0xIH0sCisgICAgeyAzMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ3LCAtMSB9LAorICAgIHsgNDYsIC0xIH0sCiAg
ICAgeyAyMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMiwgLTEgfSwKLSAgICB7IDM0
LCAtMSB9LAorICAgIHsgMzMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCkBAIC00MjYsMjIgKzQyMywyMiBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0g
ewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAg
IHsgNTUsIC0xIH0sCisgICAgeyA1NCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
Ci0gICAgeyAyOCwgLTEgfSwKLSAgICB7IDI0LCAtMSB9LAorICAgIHsgMjcsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKLSAgICB7IDM5LCAtMSB9LAorICAgIHsgLTEsIC0xIH0sCisgICAgeyAzOCwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1MCwgLTEgfSwKKyAgICB7
IDQ5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAxMCwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LApAQCAtNDU5LDEyICs0NTYsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFz
aEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDY0LCAtMSB9LAor
ICAgIHsgNjMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCi0gICAgeyAyOSwgLTEgfSwKLSAgICB7IDI2LCAyNjEgfSwKKyAgICB7IDI4LCAt
MSB9LAorICAgIHsgMjUsIDI2MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LApAQCAtNDc2LDcgKzQ3Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
Q29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IDEyLCAyNTcgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsg
NTksIC0xIH0sCisgICAgeyA1OCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTQ4NSwxNyArNDgyLDE3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyAzMCwgMjY1IH0sCisgICAgeyAyOSwgMjY1IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDEzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2MiwgLTEgfSwKKyAgICB7IDYxLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ1LCAtMSB9LAorICAgIHsg
NDQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCkBAIC01MDgsNyArNTA1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaElu
ZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDUzLCAtMSB9LAorICAg
IHsgNTIsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCkBAIC01MzAsMTIgKzUyNywxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RI
YXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNDYsIC0xIH0s
CisgICAgeyA0NSwgLTEgfSwKICAgICB7IDcsIDI2MCB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAg
eyA2MCwgLTEgfSwKKyAgICB7IDU5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0NCwg
LTEgfSwKKyAgICB7IDQzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LApAQCAtNTQ1LDI4ICs1NDIsMjggQEAgc3RhdGljIGNvbnN0IHN0cnVj
dCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsK
ICAgICB7IDIyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDI1LCAtMSB9LAorICAgIHsgMjQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgNDIsIC0xIH0sCisgICAgeyA0MSwgLTEgfSwKICAgICB7IDMsIC0xIH0sCi0g
ICAgeyA0OCwgLTEgfSwKKyAgICB7IDQ3LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0
OSwgLTEgfSwKKyAgICB7IDQ4LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAyMywgMjU5IH0sCi0g
ICAgeyAyNywgLTEgfSwKLSAgICB7IDM2LCAtMSB9LAotICAgIHsgMzgsIC0xIH0sCi0gICAgeyA0
MCwgLTEgfSwKLSAgICB7IDUyLCAtMSB9LAotICAgIHsgNTQsIC0xIH0sCi0gICAgeyA1NiwgLTEg
fSwKLSAgICB7IDYxLCAtMSB9LAotICAgIHsgNjUsIC0xIH0sCisgICAgeyAyNiwgLTEgfSwKKyAg
ICB7IDM1LCAtMSB9LAorICAgIHsgMzcsIC0xIH0sCisgICAgeyAzOSwgLTEgfSwKKyAgICB7IDUx
LCAtMSB9LAorICAgIHsgNTMsIC0xIH0sCisgICAgeyA1NSwgLTEgfSwKKyAgICB7IDYwLCAtMSB9
LAorICAgIHsgNjQsIC0xIH0sCiB9OwogCiAKQEAgLTYwOCw3ICs2MDUsNiBAQCBzdGF0aWMgY29u
c3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXNbXSA9CiAgICAg
eyAiVGVzdEl0ZXJhYmxlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0SXRlcmFibGVD
b25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RJdGVyYWJsZUNvbnN0cnVjdG9yKSB9
IH0sCiAgICAgeyAiVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9i
YWxPYmplY3RUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2Jh
bE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAi
VGVzdE1hcExpa2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNYXBMaWtlQ29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNvbnN0cnVjdG9yKSB9IH0sCi0g
ICAgeyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9i
amVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxP
YmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAi
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xv
YmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9y
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVj
dFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKSB9
IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9J
bnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50
aWZpZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSB9IH0sCkBAIC02NTcsNyArNjUzLDcgQEAg
c3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlVmFsdWVz
W10gPQogICAgIHsgInJlZ3VsYXJPcGVyYXRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEdsb2JhbE9iamVjdEluc3RhbmNl
RnVuY3Rpb25SZWd1bGFyT3BlcmF0aW9uKSwgKGludHB0cl90KSAoMSkgfSB9LAogfTsKIAotc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZSA9IHsgNjcsIDI1NSwg
dHJ1ZSwgSlNUZXN0R2xvYmFsT2JqZWN0OjppbmZvKCksIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxl
VmFsdWVzLCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4IH07CitzdGF0aWMgY29uc3QgSGFz
aFRhYmxlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlID0geyA2NiwgMjU1LCB0cnVlLCBKU1Rlc3RH
bG9iYWxPYmplY3Q6OmluZm8oKSwgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXMsIEpTVGVz
dEdsb2JhbE9iamVjdFRhYmxlSW5kZXggfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9y
ICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RHbG9iYWxPYmplY3RDb25z
dHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMTUwMywzMSArMTQ5OSw2IEBAIGJvb2wgc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+
OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvclNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE1hcExp
a2UiKTsKIH0KIAotc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgVGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAg
VU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xv
YmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KLUVuY29kZWRKU1Zh
bHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0
b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgUHJvcGVydHlOYW1lKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIpOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rv
clNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFs
T2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3Bl
KQotewotICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBWTSYgdm0g
PSB0aHJvd1Njb3BlLnZtKCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0
b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyIiksIHN0cmxlbigiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiKSksIHZh
bHVlKTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKLXsK
LSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rl
c3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lciIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0
R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVj
dG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5V
U0VEX1BBUkFNKHRocm93U2NvcGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWQ4MTNkMzAyZWMw
N2ZmZWVmNzk4N2YwZGYyYTczYzE1YjhiYWU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5
OCArMCwwIEBACi0vKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBz
b3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0KLSNpbmNsdWRlICJB
Y3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJET01Jc29TdWJzcGFjZXMuaCIKLSNpbmNsdWRl
ICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0
YWJsZS5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVydENhbGxiYWNrcy5oIgotI2luY2x1ZGUgIkpT
RE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgot
I2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCi0jaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUu
aCIKLSNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKLSNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgot
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0aW9uUHJvdG90eXBlLmg+Ci0jaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSGVhcEFuYWx5emVyLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNDSW5saW5lcy5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTRGVzdHJ1Y3RpYmxlT2Jq
ZWN0SGVhcENlbGxUeXBlLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Vic3BhY2VJbmxp
bmVzLmg+Ci0jaW5jbHVkZSA8d3RmL0dldFB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJl
cGFyYXRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL1VSTC5oPgotCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLS8vIEZ1bmN0aW9ucwotCi1KU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlw
ZUZ1bmN0aW9uTWV0aG9kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwot
Ci0vLyBBdHRyaWJ1dGVzCi0KLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRK
U1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNW
YWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7Ci0KLWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsK
LXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlNDOjpKU05vbkZpbmFsT2JqZWN0OwotICAgIHN0
YXRpYyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKiBjcmVhdGUoSlNDOjpW
TSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6U3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCi0gICAgewotICAgICAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGU+KHZtLmhlYXApKSBKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyUHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Ci0gICAgICAg
IHB0ci0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQot
ICAgIERFQ0xBUkVfSU5GTzsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpT
dWJzcGFjZUFjY2Vzcz4KLSAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3Io
SlNDOjpWTSYgdm0pCi0gICAgewotICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlLCBCYXNlKTsKLSAg
ICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOwotICAgIH0KLSAgICBzdGF0aWMgSlND
OjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZv
KCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
UHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKLSAgICAgICAgOiBKU0M6OkpTTm9uRmluYWxPYmplY3Qodm0sIHN0cnVj
dHVyZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7
Ci19OwotU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lclByb3RvdHlwZSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3Rv
dHlwZTo6QmFzZSk7Ci0KLXVzaW5nIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1
Y3RvciA9IEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXI+OwotCi10ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lckNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgVU5VU0VEX1BBUkFN
KHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LmZ1bmN0aW9uUHJvdG90eXBlKCk7Ci19Ci0K
LXRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKLXsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3Qp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmco
dm0sIFN0cmluZygiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiX3MpKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKLX0KLQotdGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9Owot
Ci0vKiBIYXNoIHRhYmxlIGZvciBwcm90b3R5cGUgKi8KLQotc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZVZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVUYWJsZVZhbHVlc1td
ID0KLXsKLSAgICB7ICJjb25zdHJ1Y3RvciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVj
dG9yKSB9IH0sCi0gICAgeyAibWV0aG9kIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlRnVuY3Rpb25NZXRob2QpLCAoaW50cHRyX3QpICgxKSB9IH0sCi19OwotCi1jb25zdCBD
bGFzc0luZm8gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6c19pbmZvID0g
eyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCBu
dWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJQcm90b3R5cGUpIH07Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
clByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQotewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKLSAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI6OmluZm8oKSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3Rv
dHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7Ci19Ci0KLWNvbnN0IENsYXNzSW5mbyBKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpzX2luZm8gPSB7ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcikgfTsKLQotSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcjo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcihTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPiYmIGltcGwpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQotewotfQot
Ci12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgQVNTRVJUKGluaGVyaXRz
KHZtLCBpbmZvKCkpKTsKLQotICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfYmFzZV9vZjxBY3Rp
dmVET01PYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjo6dmFsdWUsICJJbnRlcmZh
Y2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9NT2JqZWN0XSBldmVuIHRob3VnaCBpbXBsZW1l
bnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2ZURPTU9iamVjdC4iKTsKLQotfQotCi1KU09i
amVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0
LCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sICZnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmplY3RQcm90b3R5cGUoKSkpOwotfQot
Ci1KU09iamVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gZ2V0RE9N
UHJvdG90eXBlPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KHZtLCBnbG9iYWxPYmplY3Qp
OwotfQotCi1KU1ZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLXsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0
cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOwotfQotCi12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCi17Ci0gICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogdGhp
c09iamVjdCA9IHN0YXRpY19jYXN0PEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqPihjZWxs
KTsKLSAgICB0aGlzT2JqZWN0LT5KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjp+SlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcigpOwotfQotCi10ZW1wbGF0ZTw+IGlubGluZSBKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcj46OmNhc3QoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxG
cmFtZSYgY2FsbEZyYW1lKQotewotICAgIHJldHVybiBqc0R5bmFtaWNDYXN0PEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIqPihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgY2Fs
bEZyYW1lLnRoaXNWYWx1ZSgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKLXsKLSAgICBWTSYg
dm0gPSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gdGhyb3dTY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8qIHByb3RvdHlwZSA9IGpzRHlu
YW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSo+KHZtLCBKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKFVOTElLRUxZKCFwcm90b3R5cGUpKQot
ICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJv
d1Njb3BlKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCks
IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCkpKTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKQotewotICAgIFZNJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgYXV0byog
cHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLSAgICBpZiAoVU5MSUtF
TFkoIXByb3RvdHlwZSkpIHsKLSAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aHJvd1Njb3BlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICAv
LyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvcgotICAgIHJldHVybiBwcm90b3R5cGUt
PnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkVmFsdWUpKTsKLX0KLQotc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1Zh
bHVlIGpzVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVGdW5jdGlvbk1ldGhvZEJv
ZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJh
bWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzLCBKU0M6OlRocm93U2NvcGUmIHRo
cm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAg
IFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsK
LSAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOwotICAgIGlmIChVTkxJS0VM
WShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQotICAgICAgICByZXR1cm4gdGhyb3dW
TUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKLSAgICBFbnN1cmVTdGlsbEFsaXZl
U2NvcGUgYXJndW1lbnQwID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKLSAgICBh
dXRvIGxpc3RlbmVyID0gY29udmVydDxJRExDYWxsYmFja0Z1bmN0aW9uPEpTTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSwgKmNh
c3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0
QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAibGlzdGVuZXIi
LCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiLCAibWV0aG9kIik7IH0pOwotICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Ci0gICAgaW1wbC5t
ZXRob2QobGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2QoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQotewot
ICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj46OmNh
bGw8anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kQm9k
eT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJtZXRob2QiKTsKLX0KLQotSlND
OjpJc29TdWJzcGFjZSogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6c3Vic3BhY2VGb3JJ
bXBsKEpTQzo6Vk0mIHZtKQotewotICAgIGF1dG8mIGNsaWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8
SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKLSAgICBhdXRvJiBzcGFjZXMgPSBjbGll
bnREYXRhLnN1YnNwYWNlcygpOwotICAgIGlmIChhdXRvKiBzcGFjZSA9IHNwYWNlcy5tX3N1YnNw
YWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuZ2V0KCkpCi0gICAgICAgIHJldHVybiBz
cGFjZTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNEZXN0cnVj
dGlibGVPYmplY3QsIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHx8ICFKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpuZWVkc0Rlc3RydWN0aW9uKTsKLSAgICBpZiBjb25zdGV4cHIg
KHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3QsIEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI+KQotICAgICAgICBzcGFjZXMubV9zdWJzcGFjZUZvclRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyID0gbWFrZVVuaXF1ZTxJc29TdWJzcGFjZT4gSVNPX1NVQlNQQUNF
X0lOSVQodm0uaGVhcCwgdm0uZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsKLSAgICBlbHNlCi0gICAgICAgIHNwYWNlcy5t
X3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgPSBtYWtlVW5pcXVlPElzb1N1
YnNwYWNlPiBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFwLCB2bS5jZWxsSGVhcENlbGxUeXBlLmdl
dCgpLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsKLSAgICBhdXRvKiBzcGFjZSA9IHNw
YWNlcy5tX3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuZ2V0KCk7Ci1JR05P
UkVfV0FSTklOR1NfQkVHSU4oInVucmVhY2hhYmxlLWNvZGUiKQotSUdOT1JFX1dBUk5JTkdTX0JF
R0lOKCJ0YXV0b2xvZ2ljYWwtY29tcGFyZSIpCi0gICAgaWYgKCZKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyOjp2aXNpdE91dHB1dENvbnN0cmFpbnRzICE9ICZKU0M6OkpTQ2VsbDo6dmlzaXRP
dXRwdXRDb25zdHJhaW50cykKLSAgICAgICAgY2xpZW50RGF0YS5vdXRwdXRDb25zdHJhaW50U3Bh
Y2VzKCkuYXBwZW5kKHNwYWNlKTsKLUlHTk9SRV9XQVJOSU5HU19FTkQKLUlHTk9SRV9XQVJOSU5H
U19FTkQKLSAgICByZXR1cm4gc3BhY2U7Ci19Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcjo6YW5hbHl6ZUhlYXAoSlNDZWxsKiBjZWxsLCBIZWFwQW5hbHl6ZXImIGFuYWx5emVy
KQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcio+KGNlbGwpOwotICAgIGFuYWx5emVyLnNldFdyYXBwZWRPYmplY3RGb3JDZWxsKGNl
bGwsICZ0aGlzT2JqZWN0LT53cmFwcGVkKCkpOwotICAgIGlmICh0aGlzT2JqZWN0LT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIGFuYWx5emVyLnNldExhYmVsRm9yQ2VsbChjZWxs
LCAidXJsICIgKyB0aGlzT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVybCgpLnN0
cmluZygpKTsKLSAgICBCYXNlOjphbmFseXplSGVhcChjZWxsLCBhbmFseXplcik7Ci19Ci0KLWJv
b2wgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyOjppc1JlYWNoYWJsZUZyb21PcGFx
dWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCosIFNsb3RWaXNp
dG9yJiB2aXNpdG9yLCBjb25zdCBjaGFyKiogcmVhc29uKQotewotICAgIFVOVVNFRF9QQVJBTSho
YW5kbGUpOwotICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKLSAgICBVTlVTRURfUEFSQU0ocmVh
c29uKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lck93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwg
dm9pZCogY29udGV4dCkKLXsKLSAgICBhdXRvKiBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
ID0gc3RhdGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KGhhbmRsZS5zbG90
KCktPmFzQ2VsbCgpKTsKLSAgICBhdXRvJiB3b3JsZCA9ICpzdGF0aWNfY2FzdDxET01XcmFwcGVy
V29ybGQqPihjb250ZXh0KTsKLSAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJmpzVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXItPndyYXBwZWQoKSwganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cik7Ci19Ci0KLSNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0jaWYgUExBVEZPUk0oV0lO
KQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCi1leHRlcm4gIkMiIHsgZXh0ZXJuIHZv
aWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBX
ZWJDb3JlQEA2QkAiKVtdKSgpOyB9Ci0jZWxzZQotZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBf
WlRWTjdXZWJDb3JlMjZUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckVbXTsgfQotI2VuZGlmCi0j
ZW5kaWYKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcj4mJiBpbXBsKQotewotCi0jaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQot
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwotI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBXZWJD
b3JlQEA2QkAiKTsKLSNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUyNlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyRVsyXTsKLSNlbmRpZgotCi0g
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBkb2VzIG5vdCBo
YXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAg
c3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyPjo6dmFsdWUsICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBpcyBub3QgcG9seW1vcnBo
aWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZl
IGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NF
UlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwotI2VuZGlm
Ci0gICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KGds
b2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJiBpbXBsKQotewotICAgIHJl
dHVybiB3cmFwKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgaW1wbCk7Ci19Ci0K
LVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Ojp0b1dyYXBwZWQoSlNDOjpWTSYgdm0sIEpTQzo6SlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBpZiAo
YXV0byogd3JhcHBlciA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cio+KHZtLCB2YWx1ZSkpCi0gICAgICAgIHJldHVybiAmd3JhcHBlci0+d3JhcHBlZCgpOwotICAg
IHJldHVybiBudWxscHRyOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjM5MGQwNTdjODU2YzUx
NmUwN2Y5ZTY5MDZkMzBhZDZiM2M3N2FlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEsOTMgKzAs
MCBAQAotLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNl
IHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1i
aW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUg
IkpTRE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA6IHB1YmxpYyBKU0RPTVdyYXBw
ZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNl
ID0gSlNET01XcmFwcGVyPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjsKLSAgICBzdGF0aWMg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogY3JlYXRlKEpTQzo6U3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotICAgIHsKLSAgICAgICAgSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lciogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihnbG9iYWxPYmplY3QtPnZtKCkuaGVhcCkpIEpTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIoc3RydWN0dXJlLCAqZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPnZtKCkpOwot
ICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBj
cmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7Ci0gICAgc3RhdGlj
IEpTQzo6SlNPYmplY3QqIHByb3RvdHlwZShKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsK
LSAgICBzdGF0aWMgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHRvV3JhcHBlZChKU0M6OlZN
JiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7
Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0
ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3Ry
dWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZv
KEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0KLQotICAg
IHN0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0IEpTQzo6
SlNHbG9iYWxPYmplY3QqKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgSlNDOjpTdWJzcGFjZUFj
Y2VzcyBtb2RlPiBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYg
dm0pCi0gICAgewotICAgICAgICBpZiBjb25zdGV4cHIgKG1vZGUgPT0gSlNDOjpTdWJzcGFjZUFj
Y2Vzczo6Q29uY3VycmVudGx5KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAg
IHJldHVybiBzdWJzcGFjZUZvckltcGwodm0pOwotICAgIH0KLSAgICBzdGF0aWMgSlNDOjpJc29T
dWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsKLSAgICBzdGF0aWMgdm9pZCBh
bmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwotcHJvdGVjdGVkOgotICAg
IEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2Jh
bE9iamVjdCYsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0KLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci0KLWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXJPd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7Ci1wdWJsaWM6
Ci0gICAgdmlydHVhbCBib29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxl
PEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBjb25zdCBj
aGFyKiopOwotICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25v
d24+LCB2b2lkKiBjb250ZXh0KTsKLX07Ci0KLWlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciog
d3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
KikKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lck93bmVyPiBvd25lcjsKLSAgICByZXR1cm4gJm93bmVyLmdldCgpOwotfQotCi1pbmxpbmUg
dm9pZCogd3JhcHBlcktleShUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogd3JhcHBhYmxlT2Jq
ZWN0KQotewotICAgIHJldHVybiB3cmFwcGFibGVPYmplY3Q7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0
b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyJik7Ci1pbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGwpIHsgcmV0dXJuIGltcGwgPyB0
b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgKmltcGwpIDogSlNDOjpqc051
bGwoKTsgfQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTRE9NR2xvYmFsT2JqZWN0KiwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYm
KTsKLWlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBSZWZQdHI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYgaW1wbCkgeyByZXR1cm4gaW1w
bCA/IHRvSlNOZXdseUNyZWF0ZWQobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBp
bXBsLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc051bGwoKTsgfQotCi10ZW1wbGF0ZTw+IHN0
cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+IHsKLSAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyOwotICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcio7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmNiYTk4
Y2JmY2FlZWM4Njc3YWUwYzU1OWIxZjcwZDk0OThhYmVlMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotLy8gVGhpcyBJREwgZmlsZSBpcyBmb3IgdGVzdGluZyB0aGUgYmluZGlu
Z3MgY29kZSBnZW5lcmF0b3Igd2l0aCBhbiBpbnRlcmZhY2UKLS8vIHRoYXQgaGFzIG1ldGhvZHMg
cmVjZWl2aW5nIGEgcGFyYW1ldGVyIG9mIHRoZSB0eXBlIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
Ci1pbnRlcmZhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgewotICAgIHZvaWQgbWV0aG9k
KE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgbGlzdGVuZXIpOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUxpc3QuY3BwCmluZGV4IGY0ZTEzODdlZmYyMWY0ZTlmMGM2MjBkM2ZiMTgxODhlYWIz
OWQ0N2UuLjVlMmQyMzk0OTc3MGYzZjVjZWZlNDJkMTFlZDYyYWY2NGMwMGM5YTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmNwcApAQCAtMjAsNDggKzIwLDUzIEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKIAotI2luY2x1ZGUgIk1l
ZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKLSNpbmNsdWRlICJN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeU1hdGNoZXIuaCIK
KyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxpbmUgTWVkaWFRdWVyeUxpc3Q6Ok1lZGlh
UXVlcnlMaXN0KE1lZGlhUXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4m
JiBtZWRpYSwgYm9vbCBtYXRjaGVzKQotICAgIDogbV9tYXRjaGVyKG1hdGNoZXIpCitXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoTWVkaWFRdWVyeUxpc3QpOworCitNZWRpYVF1ZXJ5TGlzdDo6
TWVkaWFRdWVyeUxpc3QoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0
Y2hlciwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKKyAgICA6IENv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkKKyAgICAsIG1fbWF0Y2hlcihtYXRj
aGVyKQogICAgICwgbV9tZWRpYShXVEZNb3ZlKG1lZGlhKSkKICAgICAsIG1fZXZhbHVhdGlvblJv
dW5kKG1fbWF0Y2hlci0+ZXZhbHVhdGlvblJvdW5kKCkpCiAgICAgLCBtX2NoYW5nZVJvdW5kKG1f
ZXZhbHVhdGlvblJvdW5kIC0gMSkgLy8gQW55IHZhbHVlIHRoYXQgaXMgbm90IHRoZSBzYW1lIGFz
IG1fZXZhbHVhdGlvblJvdW5kIHdvdWxkIGRvLgogICAgICwgbV9tYXRjaGVzKG1hdGNoZXMpCiB7
CisgICAgbV9tYXRjaGVyLT5hZGRNZWRpYVF1ZXJ5TGlzdCgqdGhpcyk7CiB9CiAKLVJlZjxNZWRp
YVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0
Y2hlciwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKK1JlZjxNZWRp
YVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIE1l
ZGlhUXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgYm9v
bCBtYXRjaGVzKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhUXVlcnlMaXN0KG1h
dGNoZXIsIFdURk1vdmUobWVkaWEpLCBtYXRjaGVzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTWVkaWFRdWVyeUxpc3QoZG9jdW1lbnQsIG1hdGNoZXIsIFdURk1vdmUobWVkaWEpLCBtYXRj
aGVzKSk7CiB9CiAKLU1lZGlhUXVlcnlMaXN0Ojp+TWVkaWFRdWVyeUxpc3QoKSA9IGRlZmF1bHQ7
CitNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVlcnlMaXN0KCkKK3sKKyAgICBtX21hdGNoZXItPnJl
bW92ZU1lZGlhUXVlcnlMaXN0KCp0aGlzKTsKK30KIAogU3RyaW5nIE1lZGlhUXVlcnlMaXN0Ojpt
ZWRpYSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbWVkaWEtPm1lZGlhVGV4dCgpOwogfQogCi12
b2lkIE1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcj4mJiBsaXN0ZW5lcikKK3ZvaWQgTWVkaWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKFJlZlB0
cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fbWF0Y2hlci0+YWRkTGlzdGVuZXIobGlzdGVuZXIucmVsZWFz
ZU5vbk51bGwoKSwgKnRoaXMpOworICAgIGFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNo
YW5nZUV2ZW50LCBsaXN0ZW5lci5yZWxlYXNlTm9uTnVsbCgpKTsKIH0KIAotdm9pZCBNZWRpYVF1
ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIoUmVmUHRyPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYg
bGlzdGVuZXIpCit2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKIHsKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBtX21hdGNoZXItPnJlbW92ZUxpc3RlbmVyKCpsaXN0ZW5lciwgKnRoaXMp
OworICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCAqbGlz
dGVuZXIpOwogfQogCiB2b2lkIE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZShNZWRpYVF1ZXJ5RXZh
bHVhdG9yJiBldmFsdWF0b3IsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRlZCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlMaXN0LmgKaW5kZXggYTJmMDYxODI1ODYxMTYxMmMwNzVmOTYxYzFmYzMyYzNh
OGNhMDFkZi4uOTYyN2I2MmYzOTI4Y2FkYjAxZmYzNTc2Njc4YjY3NTMyYjE0YjM1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKQEAgLTE5LDQwICsxOSw0NiBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0
aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIk1lZGlh
TGlzdC5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJNZWRp
YVF1ZXJ5TWF0Y2hlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI7Ci1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yOwotY2xhc3MgTWVkaWFR
dWVyeU1hdGNoZXI7Ci1jbGFzcyBNZWRpYVF1ZXJ5U2V0OwotCi0vLyBNZWRpYVF1ZXJ5TGlzdCBp
bnRlcmZhY2UgaXMgc3BlY2lmaWVkIGF0IGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLXZp
ZXcvI3RoZS1tZWRpYXF1ZXJ5bGlzdC1pbnRlcmZhY2UKKy8vIE1lZGlhUXVlcnlMaXN0IGludGVy
ZmFjZSBpcyBzcGVjaWZpZWQgYXQgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLXZpZXcv
I3RoZS1tZWRpYXF1ZXJ5bGlzdC1pbnRlcmZhY2UKIC8vIFRoZSBvYmplY3RzIG9mIHRoaXMgY2xh
c3MgYXJlIHJldHVybmVkIGJ5IHdpbmRvdy5tYXRjaE1lZGlhLiBUaGV5IG1heSBiZSB1c2VkIHRv
CiAvLyByZXRyaWV2ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gbWVkaWEgcXVlcnkg
YW5kIHRvIGFkZC9yZW1vdmUgbGlzdGVuZXJzIHRoYXQKIC8vIHdpbGwgYmUgY2FsbGVkIHdoZW5l
dmVyIHRoZSB2YWx1ZSBvZiB0aGUgcXVlcnkgY2hhbmdlcy4KIAotY2xhc3MgTWVkaWFRdWVyeUxp
c3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4geworY2xhc3MgTWVk
aWFRdWVyeUxpc3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4sIHB1
YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVk
aWFRdWVyeUxpc3Q+LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhUXVlcnlMaXN0KTsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUmVmPE1lZGlhUXVlcnlMaXN0PiBjcmVhdGUoTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVk
aWFRdWVyeVNldD4mJiwgYm9vbCk7CisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdD4gY3Jl
YXRlKERvY3VtZW50JiwgTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwg
Ym9vbCBtYXRjaGVzKTsKICAgICB+TWVkaWFRdWVyeUxpc3QoKTsKIAogICAgIFN0cmluZyBtZWRp
YSgpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcygpOwogCi0gICAgdm9pZCBhZGRMaXN0ZW5lcihS
ZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0gICAgdm9pZCByZW1vdmVMaXN0ZW5l
cihSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7CisgICAgdm9pZCBhZGRMaXN0ZW5l
cihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihSZWZQ
dHI8RXZlbnRMaXN0ZW5lcj4mJik7CiAKICAgICB2b2lkIGV2YWx1YXRlKE1lZGlhUXVlcnlFdmFs
dWF0b3ImLCBib29sJiBub3RpZmljYXRpb25OZWVkZWQpOwogCisgICAgdXNpbmcgUmVmQ291bnRl
ZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCiBwcml2YXRlOgotICAgIE1l
ZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJv
b2wgbWF0Y2hlcyk7CisgICAgTWVkaWFRdWVyeUxpc3QoRG9jdW1lbnQmLCBNZWRpYVF1ZXJ5TWF0
Y2hlciYsIFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBib29sIG1hdGNoZXMpOwogCiAgICAgdm9pZCBz
ZXRNYXRjaGVzKGJvb2wpOwogCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBNZWRpYVF1ZXJ5TGlzdEV2ZW50VGFyZ2V0
SW50ZXJmYWNlVHlwZTsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdl
dCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7
IGRlcmVmKCk7IH0KKwogICAgIFJlZjxNZWRpYVF1ZXJ5TWF0Y2hlcj4gbV9tYXRjaGVyOwogICAg
IFJlZjxNZWRpYVF1ZXJ5U2V0PiBtX21lZGlhOwogICAgIHVuc2lnbmVkIG1fZXZhbHVhdGlvblJv
dW5kOyAvLyBJbmRpY2F0ZXMgaWYgdGhlIHF1ZXJ5IGhhcyBiZWVuIGV2YWx1YXRlZCBhZnRlciB0
aGUgbGFzdCBzdHlsZSBzZWxlY3RvciBjaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlM
aXN0LmlkbAppbmRleCAzZGZmZGNmNWM4MGQ2M2E2OWZiMmNhMzk0NTdjN2RjOWJlYmQ1NDJiLi4w
MmViOWMzZTFkNTQ4YTQxMWY3ZDZlOTg1OTc2ZjJiOWEzMzNjZDVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TGlzdC5pZGwKQEAgLTE3LDEzICsxNywxMiBAQAogICogIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgogICovCiBbCi0gICAgTm9JbnRlcmZhY2VPYmplY3QsCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLV0gaW50ZXJmYWNlIE1lZGlhUXVlcnlMaXN0IHsKKyAg
ICBFeHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgTWVkaWFRdWVyeUxpc3QgOiBFdmVudFRhcmdl
dCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBtYXRjaGVzOwogCi0gICAgLy8gRklYTUU6IFRoZSBsaXN0ZW5l
ciBwYXJhbWV0ZXIgc2hvdWxkIG5vdCBiZSBvcHRpb25hbC4KLSAgICB2b2lkIGFkZExpc3RlbmVy
KG9wdGlvbmFsIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI/IGxpc3RlbmVyID0gbnVsbCk7Ci0gICAg
dm9pZCByZW1vdmVMaXN0ZW5lcihvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPyBsaXN0
ZW5lciA9IG51bGwpOworICAgIHZvaWQgYWRkTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVu
ZXIpOworICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVuZXIpOwor
ICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFuZ2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4MjIyMzEyZDQwYzliNzkx
OTljOTBjZGI2MmIwYzZjMTBmNzZjMDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0
RXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoTWVkaWFRdWVyeUxpc3RFdmVudCk7CisKK01lZGlhUXVlcnlMaXN0RXZlbnQ6Ok1lZGlh
UXVlcnlMaXN0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBtZWRp
YSwgYm9vbCBtYXRjaGVzKQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5j
ZWxhYmxlOjpObykKKyAgICAsIG1fbWVkaWEobWVkaWEpCisgICAgLCBtX21hdGNoZXMobWF0Y2hl
cykKK3sKK30KKworTWVkaWFRdWVyeUxpc3RFdmVudDo6TWVkaWFRdWVyeUxpc3RFdmVudChjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0LCBJc1RydXN0ZWQgaXNUcnVzdGVk
KQorICAgIDogRXZlbnQodHlwZSwgaW5pdCwgaXNUcnVzdGVkKQorICAgICwgbV9tZWRpYShpbml0
Lm1lZGlhKQorICAgICwgbV9tYXRjaGVzKGluaXQubWF0Y2hlcykKK3sKK30KKworUmVmPE1lZGlh
UXVlcnlMaXN0RXZlbnQ+IE1lZGlhUXVlcnlMaXN0RXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1lZGlhLCBib29sIG1hdGNoZXMpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RFdmVudCh0eXBlLCBtZWRpYSwgbWF0Y2hl
cykpOworfQorCitSZWY8TWVkaWFRdWVyeUxpc3RFdmVudD4gTWVkaWFRdWVyeUxpc3RFdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXQsIElzVHJ1c3Rl
ZCBpc1RydXN0ZWQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RF
dmVudCh0eXBlLCBpbml0LCBpc1RydXN0ZWQpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uODBm
YjE1MzA2OTFmOWMwY2ZiMzRhMWYyM2VjMDY1NDQwZjA1NjFiZgotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKQEAgLTAsMCArMSw1NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hA
Z21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJFdmVudC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhUXVlcnlMaXN0RXZlbnQgZmlu
YWwgOiBwdWJsaWMgRXZlbnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVy
eUxpc3RFdmVudCk7CitwdWJsaWM6CisgICAgc3RydWN0IEluaXQgOiBFdmVudEluaXQgeworICAg
ICAgICBTdHJpbmcgbWVkaWEgeyBudWxsU3RyaW5nKCkgfTsKKyAgICAgICAgYm9vbCBtYXRjaGVz
IHsgZmFsc2UgfTsKKyAgICB9OworCisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdEV2ZW50
PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBtZWRpYSwgYm9v
bCBtYXRjaGVzKTsKKyAgICBzdGF0aWMgUmVmPE1lZGlhUXVlcnlMaXN0RXZlbnQ+IGNyZWF0ZShj
b25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiwgSXNUcnVzdGVkID0gSXNUcnVzdGVk
OjpObyk7CisKKyAgICBjb25zdCBTdHJpbmcmIG1lZGlhKCkgY29uc3QgeyByZXR1cm4gbV9tZWRp
YTsgfQorICAgIGJvb2wgbWF0Y2hlcygpIGNvbnN0IHsgcmV0dXJuIG1fbWF0Y2hlczsgfQorCisg
ICAgRXZlbnRJbnRlcmZhY2UgZXZlbnRJbnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBN
ZWRpYVF1ZXJ5TGlzdEV2ZW50SW50ZXJmYWNlVHlwZTsgfQorCitwcml2YXRlOgorICAgIE1lZGlh
UXVlcnlMaXN0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBtZWRp
YSwgYm9vbCBtYXRjaGVzKTsKKyAgICBNZWRpYVF1ZXJ5TGlzdEV2ZW50KGNvbnN0IEF0b21TdHJp
bmcmIHR5cGUsIGNvbnN0IEluaXQmLCBJc1RydXN0ZWQpOworCisgICAgU3RyaW5nIG1fbWVkaWE7
CisgICAgYm9vbCBtX21hdGNoZXM7Cit9OworCit9IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwgYi9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwKbmV3IGZpbGUgbW9kZSAxMDA2
NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uOWMzMjBj
ODc4ZjNmNTUxY2MyZWMxNjgzN2EzODg4ZTk4NmFkNjVjNgotLS0gL2Rldi9udWxsCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmlkbApAQCAtMCwwICsxLDM2IEBA
CisvKgorICogQ29weXJpZ2h0IChDKSAyMDIwIEFsZXhleSBTaHZheWthIDxzaHZhaWthbGVzaEBn
bWFpbC5jb20+LgorICoKKyAqIFJlZGlzdHJpYnV0aW9uIGFuZCB1c2UgaW4gc291cmNlIGFuZCBi
aW5hcnkgZm9ybXMsIHdpdGggb3Igd2l0aG91dAorICogbW9kaWZpY2F0aW9uLCBhcmUgcGVybWl0
dGVkIHByb3ZpZGVkIHRoYXQgdGhlIGZvbGxvd2luZyBjb25kaXRpb25zCisgKiBhcmUgbWV0Ogor
ICogMS4gUmVkaXN0cmlidXRpb25zIG9mIHNvdXJjZSBjb2RlIG11c3QgcmV0YWluIHRoZSBhYm92
ZSBjb3B5cmlnaHQKKyAqICAgIG5vdGljZSwgdGhpcyBsaXN0IG9mIGNvbmRpdGlvbnMgYW5kIHRo
ZSBmb2xsb3dpbmcgZGlzY2xhaW1lci4KKyAqIDIuIFJlZGlzdHJpYnV0aW9ucyBpbiBiaW5hcnkg
Zm9ybSBtdXN0IHJlcHJvZHVjZSB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRo
aXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIgaW4gdGhl
CisgKiAgICBkb2N1bWVudGF0aW9uIGFuZC9vciBvdGhlciBtYXRlcmlhbHMgcHJvdmlkZWQgd2l0
aCB0aGUgZGlzdHJpYnV0aW9uLgorICoKKyAqIFRISVMgU09GVFdBUkUgSVMgUFJPVklERUQgQlkg
QVBQTEUgSU5DLiBBTkQgSVRTIENPTlRSSUJVVE9SUyBgYEFTIElTJycKKyAqIEFORCBBTlkgRVhQ
UkVTUyBPUiBJTVBMSUVEIFdBUlJBTlRJRVMsIElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LAorICogVEhFIElNUExJRUQgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFkgQU5EIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUgorICogUFVSUE9TRSBBUkUgRElTQ0xBSU1FRC4gSU4gTk8gRVZF
TlQgU0hBTEwgQVBQTEUgSU5DLiBPUiBJVFMgQ09OVFJJQlVUT1JTCisgKiBCRSBMSUFCTEUgRk9S
IEFOWSBESVJFQ1QsIElORElSRUNULCBJTkNJREVOVEFMLCBTUEVDSUFMLCBFWEVNUExBUlksIE9S
CisgKiBDT05TRVFVRU5USUFMIERBTUFHRVMgKElOQ0xVRElORywgQlVUIE5PVCBMSU1JVEVEIFRP
LCBQUk9DVVJFTUVOVCBPRgorICogU1VCU1RJVFVURSBHT09EUyBPUiBTRVJWSUNFUzsgTE9TUyBP
RiBVU0UsIERBVEEsIE9SIFBST0ZJVFM7IE9SIEJVU0lORVNTCisgKiBJTlRFUlJVUFRJT04pIEhP
V0VWRVIgQ0FVU0VEIEFORCBPTiBBTlkgVEhFT1JZIE9GIExJQUJJTElUWSwgV0hFVEhFUiBJTgor
ICogQ09OVFJBQ1QsIFNUUklDVCBMSUFCSUxJVFksIE9SIFRPUlQgKElOQ0xVRElORyBORUdMSUdF
TkNFIE9SIE9USEVSV0lTRSkKKyAqIEFSSVNJTkcgSU4gQU5ZIFdBWSBPVVQgT0YgVEhFIFVTRSBP
RiBUSElTIFNPRlRXQVJFLCBFVkVOIElGIEFEVklTRUQgT0YKKyAqIFRIRSBQT1NTSUJJTElUWSBP
RiBTVUNIIERBTUFHRS4KKyAqLworCitbCisgICAgQ29uc3RydWN0b3IoRE9NU3RyaW5nIHR5cGUs
IG9wdGlvbmFsIE1lZGlhUXVlcnlMaXN0RXZlbnRJbml0IG1lZGlhUXVlcnlMaXN0RXZlbnRJbml0
KSwKK10gaW50ZXJmYWNlIE1lZGlhUXVlcnlMaXN0RXZlbnQgOiBFdmVudCB7CisgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKKyAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBtYXRjaGVzOworfTsKKworZGljdGlvbmFyeSBNZWRpYVF1ZXJ5TGlzdEV2ZW50SW5pdCA6
IEV2ZW50SW5pdCB7CisgICAgRE9NU3RyaW5nIG1lZGlhID0gIiI7CisgICAgYm9vbGVhbiBtYXRj
aGVzID0gZmFsc2U7Cit9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmgKZGVsZXRlZCBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IGQzMTU4NGE5YzkzNjgzZjY5MTQz
YzRjNzI1OTYzMDI5MzJlNmUzYzEuLjAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAKLS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAor
KysgL2Rldi9udWxsCkBAIC0xLDUyICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAg
Tm9raWEgQ29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICogIFRo
aXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQv
b3IKLSAqICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5l
cmFsIFB1YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJl
IEZvdW5kYXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0
IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlz
IGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0
IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkg
b2YKLSAqICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBP
U0UuICBTZWUgdGhlIEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3Ig
bW9yZSBkZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9m
IHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0
aGlzIGxpYnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8K
LSAqICB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJl
ZXQsIEZpZnRoIEZsb29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0K
LSNwcmFnbWEgb25jZQotCi0jaW5jbHVkZSAiQWN0aXZlRE9NQ2FsbGJhY2suaCIKLSNpbmNsdWRl
ICJDYWxsYmFja1Jlc3VsdC5oIgotI2luY2x1ZGUgPHd0Zi9SZWZDb3VudGVkLmg+Ci0KLW5hbWVz
cGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgTWVkaWFRdWVyeUxpc3Q7Ci0KLWNsYXNzIE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
PiwgcHVibGljIEFjdGl2ZURPTUNhbGxiYWNrIHsKLXB1YmxpYzoKLSAgICBlbnVtIFR5cGUgewot
ICAgICAgICBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXJUeXBlCi0gICAgfTsKLQotICAgIHZpcnR1
YWwgQ2FsbGJhY2tSZXN1bHQ8dm9pZD4gaGFuZGxlRXZlbnQoTWVkaWFRdWVyeUxpc3QmKSA9IDA7
Ci0gICAgdmlydHVhbCBib29sIG9wZXJhdG9yPT0oY29uc3QgTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ciYpIGNvbnN0ID0gMDsKLQotICAgIFR5cGUgdHlwZSgpIGNvbnN0IHsgcmV0dXJuIG1fdHlwZTsg
fQotCi1wcm90ZWN0ZWQ6Ci0gICAgZXhwbGljaXQgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lcihTY3Jp
cHRFeGVjdXRpb25Db250ZXh0KiBjb250ZXh0LCBUeXBlIHR5cGUpCi0gICAgICAgIDogQWN0aXZl
RE9NQ2FsbGJhY2soY29udGV4dCkKLSAgICAgICAgLCBtX3R5cGUodHlwZSkKLSAgICB7Ci0gICAg
fQotCi1wcml2YXRlOgotICAgIFR5cGUgbV90eXBlOwotfTsKLQotfSAvLyBuYW1lc3BhY2UgV2Vi
Q29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCmRl
bGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmZGYxZGI3M2I3MGFiN2QyNGEwMjNmODk5MWUx
MDBlYzE0MWIxM2VjLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbAorKysgL2Rl
di9udWxsCkBAIC0xLDIzICswLDAgQEAKLS8qCi0gKiBDb3B5cmlnaHQgKEMpIDIwMTAgTm9raWEg
Q29ycG9yYXRpb24gYW5kL29yIGl0cyBzdWJzaWRpYXJ5KC1pZXMpCi0gKgotICogIFRoaXMgbGli
cmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAq
ICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1
YmxpYwotICogIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5k
YXRpb247IGVpdGhlcgotICogIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIg
b3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLSAqCi0gKiAgVGhpcyBsaWJyYXJ5IGlzIGRpc3Ry
aWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gKiAgYnV0IFdJVEhP
VVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAq
ICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBT
ZWUgdGhlIEdOVQotICogIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBk
ZXRhaWxzLgotICoKLSAqICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBH
TlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYyBMaWNlbnNlCi0gKiAgYWxvbmcgd2l0aCB0aGlzIGxp
YnJhcnk7IHNlZSB0aGUgZmlsZSBDT1BZSU5HLkxJQi4gIElmIG5vdCwgd3JpdGUgdG8KLSAqICB0
aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuLCA1MSBGcmFua2xpbiBTdHJlZXQsIEZp
ZnRoIEZsb29yLAotICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNBLgotICovCi0KLVsKLSAg
ICBDYWxsYmFja05lZWRzT3BlcmF0b3JFcXVhbAotXSBjYWxsYmFjayBNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyID0gdm9pZCAoTWVkaWFRdWVyeUxpc3QgbGlzdCk7Ci0KZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeU1hdGNoZXIuY3BwCmluZGV4IGNkMmNlZmM3YzVmYzI1NmZjOWQ5OTg2Y2QxNWYz
NThjN2ExM2I0MDUuLjFiYzI2MjRhZDE3YTk4NjExMmVkMzI3NTc5NjNhY2NmMmU4MWQ5ZjQgMTAw
NjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAKKysrIGIv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcApAQCAtMjEsMTMgKzIxLDEz
IEBACiAjaW5jbHVkZSAiTWVkaWFRdWVyeU1hdGNoZXIuaCIKIAogI2luY2x1ZGUgIkRvY3VtZW50
LmgiCisjaW5jbHVkZSAiRXZlbnROYW1lcy5oIgogI2luY2x1ZGUgIkZyYW1lLmgiCiAjaW5jbHVk
ZSAiRnJhbWVWaWV3LmgiCiAjaW5jbHVkZSAiTG9nZ2luZy5oIgogI2luY2x1ZGUgIk1lZGlhTGlz
dC5oIgogI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKICNpbmNsdWRlICJNZWRpYVF1
ZXJ5TGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKICNpbmNsdWRl
ICJNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIgogI2luY2x1ZGUgIk5vZGVSZW5kZXJTdHlsZS5o
IgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnQuaCIKQEAgLTQ2LDggKzQ2LDggQEAgTWVkaWFRdWVy
eU1hdGNoZXI6On5NZWRpYVF1ZXJ5TWF0Y2hlcigpID0gZGVmYXVsdDsKIAogdm9pZCBNZWRpYVF1
ZXJ5TWF0Y2hlcjo6ZG9jdW1lbnREZXN0cm95ZWQoKQogewotICAgIG1fbGlzdGVuZXJzLmNsZWFy
KCk7CiAgICAgbV9kb2N1bWVudCA9IG51bGxwdHI7CisgICAgbV9tZWRpYVF1ZXJ5TGlzdHMuY2xl
YXIoKTsKIH0KIAogU3RyaW5nIE1lZGlhUXVlcnlNYXRjaGVyOjptZWRpYVR5cGUoKSBjb25zdApA
QCAtNzgsMzUgKzc4LDI2IEBAIGJvb2wgTWVkaWFRdWVyeU1hdGNoZXI6OmV2YWx1YXRlKGNvbnN0
IE1lZGlhUXVlcnlTZXQmIG1lZGlhKQogICAgIHJldHVybiBNZWRpYVF1ZXJ5RXZhbHVhdG9yIHsg
bWVkaWFUeXBlKCksICptX2RvY3VtZW50LCBzdHlsZS5nZXQoKSB9LmV2YWx1YXRlKG1lZGlhKTsK
IH0KIAotUmVmUHRyPE1lZGlhUXVlcnlMaXN0PiBNZWRpYVF1ZXJ5TWF0Y2hlcjo6bWF0Y2hNZWRp
YShjb25zdCBTdHJpbmcmIHF1ZXJ5KQordm9pZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTWVkaWFR
dWVyeUxpc3QoTWVkaWFRdWVyeUxpc3QmIGxpc3QpCiB7Ci0gICAgaWYgKCFtX2RvY3VtZW50KQot
ICAgICAgICByZXR1cm4gbnVsbHB0cjsKLQotICAgIGF1dG8gbWVkaWEgPSBNZWRpYVF1ZXJ5U2V0
OjpjcmVhdGUocXVlcnksIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KCptX2RvY3VtZW50KSk7Ci0g
ICAgcmVwb3J0TWVkaWFRdWVyeVdhcm5pbmdJZk5lZWRlZChtX2RvY3VtZW50LmdldCgpLCBtZWRp
YS5wdHIoKSk7Ci0gICAgYm9vbCByZXN1bHQgPSBldmFsdWF0ZShtZWRpYS5nZXQoKSk7Ci0gICAg
cmV0dXJuIE1lZGlhUXVlcnlMaXN0OjpjcmVhdGUoKnRoaXMsIFdURk1vdmUobWVkaWEpLCByZXN1
bHQpOworICAgIEFTU0VSVCghbV9tZWRpYVF1ZXJ5TGlzdHMuY29udGFpbnMoJmxpc3QpKTsKKyAg
ICBtX21lZGlhUXVlcnlMaXN0cy5hcHBlbmQobWFrZVdlYWtQdHIoJmxpc3QpKTsKIH0KIAotdm9p
ZCBNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTGlzdGVuZXIoUmVmPE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+JiYgbGlzdGVuZXIsIE1lZGlhUXVlcnlMaXN0JiBxdWVyeSkKK3ZvaWQgTWVkaWFRdWVyeU1h
dGNoZXI6OnJlbW92ZU1lZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlMaXN0JiBsaXN0KQogewotICAg
IGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0dXJuOwotCi0gICAgZm9yIChhdXRvJiBleGlz
dGluZ0xpc3RlbmVyIDogbV9saXN0ZW5lcnMpIHsKLSAgICAgICAgaWYgKGV4aXN0aW5nTGlzdGVu
ZXIubGlzdGVuZXIuZ2V0KCkgPT0gbGlzdGVuZXIuZ2V0KCkgJiYgZXhpc3RpbmdMaXN0ZW5lci5x
dWVyeS5wdHIoKSA9PSAmcXVlcnkpCi0gICAgICAgICAgICByZXR1cm47Ci0gICAgfQotCi0gICAg
bV9saXN0ZW5lcnMuYXBwZW5kKExpc3RlbmVyIHsgV1RGTW92ZShsaXN0ZW5lciksIHF1ZXJ5IH0p
OworICAgIG1fbWVkaWFRdWVyeUxpc3RzLnJlbW92ZUZpcnN0KCZsaXN0KTsKIH0KIAotdm9pZCBN
ZWRpYVF1ZXJ5TWF0Y2hlcjo6cmVtb3ZlTGlzdGVuZXIoTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYg
bGlzdGVuZXIsIE1lZGlhUXVlcnlMaXN0JiBxdWVyeSkKK1JlZlB0cjxNZWRpYVF1ZXJ5TGlzdD4g
TWVkaWFRdWVyeU1hdGNoZXI6Om1hdGNoTWVkaWEoY29uc3QgU3RyaW5nJiBxdWVyeSkKIHsKLSAg
ICBtX2xpc3RlbmVycy5yZW1vdmVGaXJzdE1hdGNoaW5nKFsmbGlzdGVuZXIsICZxdWVyeV0oYXV0
byYgZXhpc3RpbmdMaXN0ZW5lcikgewotICAgICAgICByZXR1cm4gZXhpc3RpbmdMaXN0ZW5lci5s
aXN0ZW5lci5nZXQoKSA9PSBsaXN0ZW5lciAmJiBleGlzdGluZ0xpc3RlbmVyLnF1ZXJ5LnB0cigp
ID09ICZxdWVyeTsKLSAgICB9KTsKKyAgICBpZiAoIW1fZG9jdW1lbnQpCisgICAgICAgIHJldHVy
biBudWxscHRyOworCisgICAgYXV0byBtZWRpYSA9IE1lZGlhUXVlcnlTZXQ6OmNyZWF0ZShxdWVy
eSwgTWVkaWFRdWVyeVBhcnNlckNvbnRleHQoKm1fZG9jdW1lbnQpKTsKKyAgICByZXBvcnRNZWRp
YVF1ZXJ5V2FybmluZ0lmTmVlZGVkKG1fZG9jdW1lbnQuZ2V0KCksIG1lZGlhLnB0cigpKTsKKyAg
ICBib29sIG1hdGNoZXMgPSBldmFsdWF0ZShtZWRpYS5nZXQoKSk7CisgICAgcmV0dXJuIE1lZGlh
UXVlcnlMaXN0OjpjcmVhdGUoKm1fZG9jdW1lbnQsICp0aGlzLCBXVEZNb3ZlKG1lZGlhKSwgbWF0
Y2hlcyk7CiB9CiAKIHZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmV2YWx1YXRlQWxsKCkKQEAgLTEy
MiwxNSArMTEzLDEzIEBAIHZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmV2YWx1YXRlQWxsKCkKICAg
ICBMT0dfV0lUSF9TVFJFQU0oTWVkaWFRdWVyaWVzLCBzdHJlYW0gPDwgIk1lZGlhUXVlcnlNYXRj
aGVyOjpzdHlsZVJlc29sdmVyQ2hhbmdlZCAiIDw8IG1fZG9jdW1lbnQtPnVybCgpKTsKIAogICAg
IE1lZGlhUXVlcnlFdmFsdWF0b3IgZXZhbHVhdG9yIHsgbWVkaWFUeXBlKCksICptX2RvY3VtZW50
LCBzdHlsZS5nZXQoKSB9OwotICAgIFZlY3RvcjxMaXN0ZW5lcj4gbGlzdGVuZXJzOwotICAgIGxp
c3RlbmVycy5yZXNlcnZlSW5pdGlhbENhcGFjaXR5KG1fbGlzdGVuZXJzLnNpemUoKSk7Ci0gICAg
Zm9yIChhdXRvJiBsaXN0ZW5lciA6IG1fbGlzdGVuZXJzKQotICAgICAgICBsaXN0ZW5lcnMudW5j
aGVja2VkQXBwZW5kKHsgbGlzdGVuZXIubGlzdGVuZXIuY29weVJlZigpLCBsaXN0ZW5lci5xdWVy
eS5jb3B5UmVmKCkgfSk7Ci0gICAgZm9yIChhdXRvJiBsaXN0ZW5lciA6IGxpc3RlbmVycykgewor
ICAgIGZvciAoYXV0byYgbGlzdCA6IG1fbWVkaWFRdWVyeUxpc3RzKSB7CisgICAgICAgIGlmICgh
bGlzdCkKKyAgICAgICAgICAgIGNvbnRpbnVlOwogICAgICAgICBib29sIG5vdGlmeTsKLSAgICAg
ICAgbGlzdGVuZXIucXVlcnktPmV2YWx1YXRlKGV2YWx1YXRvciwgbm90aWZ5KTsKKyAgICAgICAg
bGlzdC0+ZXZhbHVhdGUoZXZhbHVhdG9yLCBub3RpZnkpOwogICAgICAgICBpZiAobm90aWZ5KQot
ICAgICAgICAgICAgbGlzdGVuZXIubGlzdGVuZXItPmhhbmRsZUV2ZW50KGxpc3RlbmVyLnF1ZXJ5
KTsKKyAgICAgICAgICAgIGxpc3QtPmRpc3BhdGNoRXZlbnQoTWVkaWFRdWVyeUxpc3RFdmVudDo6
Y3JlYXRlKGV2ZW50TmFtZXMoKS5jaGFuZ2VFdmVudCwgbGlzdC0+bWVkaWEoKSwgbGlzdC0+bWF0
Y2hlcygpKSk7CiAgICAgfQogfQogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeU1hdGNoZXIuaCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5o
CmluZGV4IDk5ZjhlZmEwNjM1Nzg5NzgyNzAyNWEyNjNhM2ZlYWRjMmQ0MDZkMWMuLmEwNzQ1YWQy
NmZmNGU0NGU4Zjg3NDVlODcxOWRjZjEyODY2MjljYTcgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0Y2hlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5TWF0Y2hlci5oCkBAIC0yOSwxNSArMjksMTMgQEAgbmFtZXNwYWNlIFdlYkNvcmUgewog
CiBjbGFzcyBEb2N1bWVudDsKIGNsYXNzIE1lZGlhUXVlcnlMaXN0OwotY2xhc3MgTWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcjsKIGNsYXNzIE1lZGlhUXVlcnlFdmFsdWF0b3I7CiBjbGFzcyBNZWRpYVF1
ZXJ5U2V0OwogY2xhc3MgUmVuZGVyU3R5bGU7CiAKLS8vIE1lZGlhUXVlcnlNYXRjaGVyIGNsYXNz
IGlzIHJlc3BvbnNpYmxlIGZvciBrZWVwaW5nIGEgdmVjdG9yIG9mIHBhaXJzCi0vLyBNZWRpYVF1
ZXJ5TGlzdCB4IE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuIEl0IGlzIHJlc3BvbnNpYmxlIGZvciBl
dmFsdWF0aW5nIHRoZSBxdWVyaWVzCi0vLyB3aGVuZXZlciBpdCBpcyBuZWVkZWQgYW5kIHRvIGNh
bGwgdGhlIGxpc3RlbmVycyBpZiB0aGUgY29ycmVzcG9uZGluZyBxdWVyeSBoYXMgY2hhbmdlZC4K
LS8vIFRoZSBsaXN0ZW5lcnMgbXVzdCBiZSBjYWxsZWQgaW4gdGhlIG9yZGVyIGluIHdoaWNoIHRo
ZXkgd2VyZSBhZGRlZC4KKy8vIE1lZGlhUXVlcnlNYXRjaGVyIGNsYXNzIGlzIHJlc3BvbnNpYmxl
IGZvciBldmFsdWF0aW5nIHRoZSBxdWVyaWVzIHdoZW5ldmVyIGl0CisvLyBpcyBuZWVkZWQgYW5k
IGRpc3BhdGNoICJjaGFuZ2UiIGV2ZW50IG9uIE1lZGlhUXVlcnlMaXN0cyBpZiB0aGUgY29ycmVz
cG9uZGluZworLy8gcXVlcnkgaGFzIGNoYW5nZWQuIE1lZGlhUXVlcnlMaXN0cyBhcmUgaW52b2tl
ZCBpbiB0aGUgb3JkZXIgaW4gd2hpY2ggdGhleSB3ZXJlIGFkZGVkLgogCiBjbGFzcyBNZWRpYVF1
ZXJ5TWF0Y2hlciBmaW5hbCA6IHB1YmxpYyBSZWZDb3VudGVkPE1lZGlhUXVlcnlNYXRjaGVyPiB7
CiBwdWJsaWM6CkBAIC00NSw5ICs0Myw4IEBAIHB1YmxpYzoKICAgICB+TWVkaWFRdWVyeU1hdGNo
ZXIoKTsKIAogICAgIHZvaWQgZG9jdW1lbnREZXN0cm95ZWQoKTsKLQotICAgIHZvaWQgYWRkTGlz
dGVuZXIoUmVmPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYsIE1lZGlhUXVlcnlMaXN0Jik7Ci0g
ICAgdm9pZCByZW1vdmVMaXN0ZW5lcihNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJiwgTWVkaWFRdWVy
eUxpc3QmKTsKKyAgICB2b2lkIGFkZE1lZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlMaXN0Jik7Cisg
ICAgdm9pZCByZW1vdmVNZWRpYVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5TGlzdCYpOwogCiAgICAgUmVm
UHRyPE1lZGlhUXVlcnlMaXN0PiBtYXRjaE1lZGlhKGNvbnN0IFN0cmluZyYpOwogCkBAIC01OCwx
NyArNTUsMTIgQEAgcHVibGljOgogICAgIGJvb2wgZXZhbHVhdGUoY29uc3QgTWVkaWFRdWVyeVNl
dCYpOwogCiBwcml2YXRlOgotICAgIHN0cnVjdCBMaXN0ZW5lciB7Ci0gICAgICAgIFJlZjxNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyPiBsaXN0ZW5lcjsKLSAgICAgICAgUmVmPE1lZGlhUXVlcnlMaXN0
PiBxdWVyeTsKLSAgICB9OwotCiAgICAgZXhwbGljaXQgTWVkaWFRdWVyeU1hdGNoZXIoRG9jdW1l
bnQmKTsKICAgICBzdGQ6OnVuaXF1ZV9wdHI8UmVuZGVyU3R5bGU+IGRvY3VtZW50RWxlbWVudFVz
ZXJBZ2VudFN0eWxlKCkgY29uc3Q7CiAgICAgU3RyaW5nIG1lZGlhVHlwZSgpIGNvbnN0OwogCiAg
ICAgV2Vha1B0cjxEb2N1bWVudD4gbV9kb2N1bWVudDsKLSAgICBWZWN0b3I8TGlzdGVuZXI+IG1f
bGlzdGVuZXJzOworICAgIFZlY3RvcjxXZWFrUHRyPE1lZGlhUXVlcnlMaXN0Pj4gbV9tZWRpYVF1
ZXJ5TGlzdHM7CiAKICAgICAvLyBUaGlzIHZhbHVlIGlzIGluY3JlbWVudGVkIGF0IHN0eWxlIHNl
bGVjdG9yIGNoYW5nZXMuCiAgICAgLy8gSXQgaXMgdXNlZCB0byBhdm9pZCBldmFsdWF0aW5nIHF1
ZXJpZXMgbW9yZSB0aGVuIG9uY2UgYW5kIHRvIG1ha2Ugc3VyZQpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4gYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnROYW1l
cy5pbgppbmRleCBhZWIyMzRhYTNlNDY3YzNhZWM5YjQ4ZTliMDA4Y2UxYTBlNjM2MDNkLi42NDg4
ZjlhMmY3NWVkYzY0MDdmNWNlZjNkMjZkYTFlYmI2MTg0NDYzIDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9kb20vRXZlbnROYW1lcy5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRO
YW1lcy5pbgpAQCAtMjQsNiArMjQsNyBAQCBJbnB1dEV2ZW50CiBJbnB1dEV2ZW50cyBpbnRlcmZh
Y2VOYW1lPUlucHV0RXZlbnQKIEtleWJvYXJkRXZlbnQKIEtleWJvYXJkRXZlbnRzIGludGVyZmFj
ZU5hbWU9S2V5Ym9hcmRFdmVudAorTWVkaWFRdWVyeUxpc3RFdmVudAogTWVzc2FnZUV2ZW50CiBN
b3VzZUV2ZW50CiBNb3VzZUV2ZW50cyBpbnRlcmZhY2VOYW1lPU1vdXNlRXZlbnQKZGlmZiAtLWdp
dCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oIGIvU291cmNlL1dlYkNvcmUvZG9t
L0V2ZW50VGFyZ2V0LmgKaW5kZXggNjFiNTBlNTc4YjVlNTU3M2MxYjZkNjQ1ZjE4ZjBhOGQxYzFh
ZWI0Zi4uZGUwMDI0MzQ0ODkxNmM1MjdkMWJkZjhlZGI5M2Y3YzJiOTVhODJhMiAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0LmgKKysrIGIvU291cmNlL1dlYkNvcmUv
ZG9tL0V2ZW50VGFyZ2V0LmgKQEAgLTkxLDcgKzkxLDcgQEAgcHVibGljOgogICAgIFdFQkNPUkVf
RVhQT1JUIEV4Y2VwdGlvbk9yPGJvb2w+IGRpc3BhdGNoRXZlbnRGb3JCaW5kaW5ncyhFdmVudCYp
OwogCiAgICAgV0VCQ09SRV9FWFBPUlQgdmlydHVhbCBib29sIGFkZEV2ZW50TGlzdGVuZXIoY29u
c3QgQXRvbVN0cmluZyYgZXZlbnRUeXBlLCBSZWY8RXZlbnRMaXN0ZW5lcj4mJiwgY29uc3QgQWRk
RXZlbnRMaXN0ZW5lck9wdGlvbnMmID0geyB9KTsKLSAgICB2aXJ0dWFsIGJvb2wgcmVtb3ZlRXZl
bnRMaXN0ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBj
b25zdCBMaXN0ZW5lck9wdGlvbnMmKTsKKyAgICB2aXJ0dWFsIGJvb2wgcmVtb3ZlRXZlbnRMaXN0
ZW5lcihjb25zdCBBdG9tU3RyaW5nJiBldmVudFR5cGUsIEV2ZW50TGlzdGVuZXImLCBjb25zdCBM
aXN0ZW5lck9wdGlvbnMmID0geyB9KTsKIAogICAgIHZpcnR1YWwgdm9pZCByZW1vdmVBbGxFdmVu
dExpc3RlbmVycygpOwogICAgIHZpcnR1YWwgdm9pZCBkaXNwYXRjaEV2ZW50KEV2ZW50Jik7CmRp
ZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgppbmRleCA4MzdlYjVkY2QwZTk5
NWNhMDIyNGVjZmViZTcwYmNlMWViODMzYjM2Li5iYmNkNDhmNDk1NGU3OTM1ZTJhNzY3Y2FjNDJj
MzE2MTE3ODg4YjRiIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRG
YWN0b3J5LmluCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3RvcnkuaW4K
QEAgLTIxLDYgKzIxLDcgQEAgSURCVHJhbnNhY3Rpb24gY29uZGl0aW9uYWw9SU5ERVhFRF9EQVRB
QkFTRQogTWVkaWFDb250cm9sbGVyIGNvbmRpdGlvbmFsPVZJREVPCiBNZWRpYURldmljZXMgY29u
ZGl0aW9uYWw9TUVESUFfU1RSRUFNCiBNZWRpYUtleVNlc3Npb24gY29uZGl0aW9uYWw9RU5DUllQ
VEVEX01FRElBCitNZWRpYVF1ZXJ5TGlzdAogTWVkaWFSZW1vdGVDb250cm9scyBjb25kaXRpb25h
bD1NRURJQV9TRVNTSU9OCiBNZWRpYVJlY29yZGVyIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQog
TWVkaWFTb3VyY2UgY29uZGl0aW9uYWw9TUVESUFfU09VUkNFCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25QYXJhbWV0
ZXJzLmpzIGIvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2
ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcwppbmRleCA0YjRiYmEyODFlZmRkYWJlNGRhYmNiZWM0MmVm
NDA3ODE5MTMwYTAwLi5iOTQ2MTEwZGMyYTk1YjkyZTM3MGUyODk5NzFjNDlmMDM1OGM1OGFkIDEw
MDY0NAotLS0gYS9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0
aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCisrKyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9Vc2Vy
SW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKQEAgLTEwOTUsMTEg
KzEwOTUsNiBAQCBXSS5OYXRpdmVQcm90b3R5cGVGdW5jdGlvblBhcmFtZXRlcnMgPSB7CiAgICAg
ICAgIF9fcHJvdG9fXzogbnVsbCwKICAgICB9LAogCi0gICAgTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cjogewotICAgICAgICBxdWVyeUNoYW5nZWQ6ICJbbGlzdF0iLAotICAgICAgICBfX3Byb3RvX186
IG51bGwsCi0gICAgfSwKLQogICAgIE1lZGlhU291cmNlOiB7CiAgICAgICAgIGFkZFNvdXJjZUJ1
ZmZlcjogInR5cGUiLAogICAgICAgICBlbmRPZlN0cmVhbTogIltlcnJvcl0iLApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCmluZGV4IDQ4
N2FlM2FhMzcyZTdlYmNlYjVhZWE4YzkyNTE0MDMxYjA3ZjM0ZGQuLjUzMjMyNDA2ZTdjMzQ3MGNi
N2YyMmI0YWYzOWUyOTg0N2Y0NWVkYjkgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL0NoYW5nZUxv
ZworKysgYi9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxNCBAQAorMjAyMC0wMy0y
NyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAgICAgICAgTWVk
aWFRdWVyeUxpc3Qgc2hvdWxkIGV4dGVuZCBFdmVudFRhcmdldAorICAgICAgICBodHRwczovL2J1
Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjg4CisKKyAgICAgICAgUmV2aWV3ZWQg
YnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiBUZXN0RXhwZWN0YXRpb25zOgorICAgICAgICAq
IGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy1leHBlY3RlZC50eHQ6CisgICAgICAgICog
ZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3Lmh0bWw6CisKIDIwMjAtMDMtMjYgIE1pY2hh
ZWwgU2Fib2ZmICA8bXNhYm9mZkBhcHBsZS5jb20+CiAKICAgICAgICAgUmVmYWN0b3IgWUFSUiBT
dGFjayBPdmVyZmxvdyBDaGVja3MKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3cz
Yy9DaGFuZ2VMb2cgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCmluZGV4IDA0
M2Q3ZjY3NDM3YzI2MWVmMTAyYmI2MjJmNDc0N2ExOTJjYzI3OGUuLjM2NzdhZDg2MDhlZmNiZjFl
MjllN2QxMTkyOGNiNjBlZTZhZjhiYTUgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVk
L3czYy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwpA
QCAtMSwzICsxLDE4IEBACisyMDIwLTAzLTI3ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBzaG91bGQgZXh0ZW5kIEV2ZW50
VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0y
MDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5l
ci1oYW5kbGVFdmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxpc3RlbmVy
LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBlY3RlZC50eHQ6CisgICAg
ICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4
dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQu
dHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJu
ZXNzLWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29t
LXZpZXcvbWF0Y2hNZWRpYS1leHBlY3RlZC50eHQ6CisKIDIwMjAtMDMtMjYgIEFsZXhleSBTaHZh
eWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgogCiAgICAgICAgIFN5bmMgd3B0L2RvbXhwYXRo
IGFuZCByZS1zeW5jIHdwdC9jc3MvY3Nzb20tdmlldyBmcm9tIHVwc3RyZWFtCmRpZmYgLS1naXQg
YS9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zIGIvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucwppbmRleCBkMjNhZmFmYzI5NTljZmQ5M2QzZGI5MDc0NTdhYzBlOWI1ZTkwYTliLi4xNDZj
YTlkYTgwMGM4ZjFhMWY1YzZhNWRhOTU3YTM5MDI0MTJlNmIyIDEwMDY0NAotLS0gYS9MYXlvdXRU
ZXN0cy9UZXN0RXhwZWN0YXRpb25zCisrKyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMK
QEAgLTc2Miw3ICs3NjIsNiBAQCBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL3BheW1l
bnQtcmVxdWVzdCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE4NDA2NiBpbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL0luZGV4ZWREQi9uZXN0ZWQtY2xvbmluZy1sYXJnZS1tdWx0aXBsZS5o
dG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTg0MDY2IGltcG9ydGVkL3czYy93ZWItcGxhdGZv
cm0tdGVzdHMvSW5kZXhlZERCL25lc3RlZC1jbG9uaW5nLWxhcmdlLmh0bWwgWyBTa2lwIF0KIHdl
YmtpdC5vcmcvYi8xODQwNjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9JbmRleGVk
REIvbmVzdGVkLWNsb25pbmctc21hbGwuaHRtbCBbIFNraXAgXQotaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20vaW50ZXJmYWNlcy5odG1sIFsgUGFzcyBUaW1lb3V0IF0K
IFsgRGVidWcgXSBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3
L2lkbGhhcm5lc3MuaHRtbCBbIFNraXAgXQogd2Via2l0Lm9yZy9iLzE4MjI5MiBpbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L3Njcm9sbGluZ0VsZW1lbnQtcXVp
cmtzLWR5bmFtaWMtMDAxLmh0bWwgWyBJbWFnZU9ubHlGYWlsdXJlIF0KIHdlYmtpdC5vcmcvYi8x
ODIyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3Jv
bGxpbmdFbGVtZW50LXF1aXJrcy1keW5hbWljLTAwMi5odG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBd
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDct
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3
LWV4cGVjdGVkLnR4dAppbmRleCAwY2E5N2IxYTk0NGEzYmIwNTExNmE4Mjg5ZjI0M2FmMDNiZThl
ZDVkLi4zNzY4MWU0MjY1YTJjODQ2M2JlOTc0NTczYjQwOWJjNTkyOWQyYjkwIDEwMDY0NAotLS0g
YS9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDctZXhwZWN0ZWQudHh0
CisrKyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy1leHBlY3Rl
ZC50eHQKQEAgLTQsNyArNCw2IEBAIEludmFsaWQgbGlzdGVuZXJzLiBUd28gY2FsbGJhY2tzIGFy
ZSBleHBlY3RlZC4KIAogcXVlcnkuYWRkTGlzdGVuZXIoNSkgdGhyZXcgZXhjZXB0aW9uIGFzIGV4
cGVjdGVkCiBxdWVyeS5hZGRMaXN0ZW5lcignY2luY28nKSB0aHJldyBleGNlcHRpb24gYXMgZXhw
ZWN0ZWQKLXF1ZXJ5LmFkZExpc3RlbmVyKFsxLDJdKSB0aHJldyBleGNlcHRpb24gYXMgZXhwZWN0
ZWQKIFsxXSAtIHF1ZXJ5IHNjcmVlbiBjaGFuZ2VkIHRvIGZhbHNlCiBbMl0gLSBxdWVyeSBzY3Jl
ZW4gY2hhbmdlZCB0byBmYWxzZQogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9mYXN0L21lZGlh
L21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbCBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEt
cXVlcnktbGlzdC0wNy5odG1sCmluZGV4IDQwZGY3NWY0ZmRjY2I2YTU0MmQzZGViNGEyMmZkZTdm
ODlhMjgzODQuLmE2MTRhMjRiZjQ5ZjU5Y2UwMjc5NGIwMzU3MzM5N2ZiYjBkZjRmYmUgMTAwNjQ0
Ci0tLSBhL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy5odG1sCisr
KyBiL0xheW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy5odG1sCkBAIC00
MSwxMyArNDEsOCBAQAogICAgICAgICAgICAgcXVlcnkuYWRkTGlzdGVuZXIoJ2NpbmNvJyk7CiAg
ICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIGxvZygicXVlcnkuYWRkTGlzdGVuZXIo
J2NpbmNvJykgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVkIik7Ci0gICAgICAgICAgICAKLSAg
ICAgICAgfQotICAgICAgICB0cnkgewotICAgICAgICAgICAgcXVlcnkuYWRkTGlzdGVuZXIoWzEs
Ml0pOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAgICAgICBsb2coInF1ZXJ5LmFkZExp
c3RlbmVyKFsxLDJdKSB0aHJldyBleGNlcHRpb24gYXMgZXhwZWN0ZWQiKTsKICAgICAgICAgfQor
CiAgICAgICAgIHF1ZXJ5LmFkZExpc3RlbmVyKGNhbGxiYWNrMik7CiAKICAgICAgICAgd2luZG93
LmludGVybmFscy5zZXR0aW5ncy5zZXRNZWRpYVR5cGVPdmVycmlkZSgiaGFuZGhlbGQiKTsKZGlm
ZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVuZXItaGFuZGxlRXZlbnQtZXhwZWN0
ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1oYW5kbGVFdmVudC1leHBlY3Rl
ZC50eHQKaW5kZXggY2I0NzY1YzA4ODlmZjYxZTc2OGMwZTE4MWIwNTVlYTc0Y2JlOWRlZC4uMGI2
MmM0YzdmY2EwNGFjNTRhODVkNDYyZjU0ZjQ3MjNlZTBhOTllNyAxMDA2NDQKLS0tIGEvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRp
YVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1oYW5kbGVFdmVudC1leHBlY3RlZC50eHQKKysrIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9N
ZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1oYW5kbGVFdmVudC1leHBlY3RlZC50eHQKQEAgLTEs
OCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEwMjogW29iamVjdCBPYmplY3RdCitD
T05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogJ2hhbmRsZUV2ZW50JyBwcm9wZXJ0eSBvZiBldmVu
dCBsaXN0ZW5lciBzaG91bGQgYmUgY2FsbGFibGUKK0NPTlNPTEUgTUVTU0FHRTogVHlwZUVycm9y
OiAnaGFuZGxlRXZlbnQnIHByb3BlcnR5IG9mIGV2ZW50IGxpc3RlbmVyIHNob3VsZCBiZSBjYWxs
YWJsZQogCi1GQUlMIGNhbGxzIGhhbmRsZUV2ZW50IG1ldGhvZCBvZiBldmVudCBsaXN0ZW5lciBw
cm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBl
RXJyb3I6IEFyZ3VtZW50IDEgKCdsaXN0ZW5lcicpIHRvIE1lZGlhUXVlcnlMaXN0LmFkZExpc3Rl
bmVyIG11c3QgYmUgYSBmdW5jdGlvbiIKLUZBSUwgbG9va3MgdXAgaGFuZGxlRXZlbnQgbWV0aG9k
IG9uIGV2ZXJ5IGV2ZW50IGRpc3BhdGNoIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xpc3RlbmVyJykg
dG8gTWVkaWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIgorUEFTUyBj
YWxscyBoYW5kbGVFdmVudCBtZXRob2Qgb2YgZXZlbnQgbGlzdGVuZXIgCitQQVNTIGxvb2tzIHVw
IGhhbmRsZUV2ZW50IG1ldGhvZCBvbiBldmVyeSBldmVudCBkaXNwYXRjaCAKIFBBU1MgZG9lc24n
dCBsb29rIHVwIGhhbmRsZUV2ZW50IG1ldGhvZCBvbiBjYWxsYWJsZSBldmVudCBsaXN0ZW5lcnMg
Ci1GQUlMIHJldGhyb3dzIGVycm9ycyB3aGVuIGdldHRpbmcgaGFuZGxlRXZlbnQgYXNzZXJ0X2Vx
dWFsczogaGFuZGxlRXZlbnQgcHJvcGVydHkgd2FzIG5vdCBsb29rZWQgdXAgZXhwZWN0ZWQgMSBi
dXQgZ290IDAKLUZBSUwgdGhyb3dzIGlmIGhhbmRsZUV2ZW50IGlzIGZhbHN5IGFuZCBub3QgY2Fs
bGFibGUgYXNzZXJ0X2VxdWFsczogaGFuZGxlRXZlbnQgcHJvcGVydHkgd2FzIG5vdCBsb29rZWQg
dXAgZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgdGhyb3dzIGlmIGhhbmRsZUV2ZW50IGlzIHRo
cnV0aHkgYW5kIG5vdCBjYWxsYWJsZSBhc3NlcnRfZXF1YWxzOiBoYW5kbGVFdmVudCBwcm9wZXJ0
eSB3YXMgbm90IGxvb2tlZCB1cCBleHBlY3RlZCAxIGJ1dCBnb3QgMAorRkFJTCByZXRocm93cyBl
cnJvcnMgd2hlbiBnZXR0aW5nIGhhbmRsZUV2ZW50IGFzc2VydF90cnVlOiBUaW1lZCBvdXQgd2Fp
dGluZyBmb3IgZXJyb3IgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKK0ZBSUwgdGhyb3dzIGlmIGhh
bmRsZUV2ZW50IGlzIGZhbHN5IGFuZCBub3QgY2FsbGFibGUgYXNzZXJ0X3RydWU6IFRpbWVkIG91
dCB3YWl0aW5nIGZvciBlcnJvciBleHBlY3RlZCB0cnVlIGdvdCBmYWxzZQorRkFJTCB0aHJvd3Mg
aWYgaGFuZGxlRXZlbnQgaXMgdGhydXRoeSBhbmQgbm90IGNhbGxhYmxlIGFzc2VydF90cnVlOiBU
aW1lZCBvdXQgd2FpdGluZyBmb3IgZXJyb3IgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFsc2UKIApkaWZm
IC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0ZW5lci1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxpc3RlbmVyLWV4
cGVjdGVkLnR4dAppbmRleCA1ZDQ5ZmNlMTQ4YTcwMDdhNDUxYTczZTQ2YzNhZGI0OGUxMWFhYzNh
Li4yYzU0MDljNWFmODFjNzhkYTk4ZWZjNmU5MGVhZWEyOGNhMWVlMjA5IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3
L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxpc3RlbmVyLWV4cGVjdGVkLnR4dAor
KysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Nv
bS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxpc3RlbmVyLWV4cGVjdGVk
LnR4dApAQCAtMyw3ICszLDcgQEAgUEFTUyBsaXN0ZW5lcnMgYXJlIGNhbGxlZCB3aGVuIDxpZnJh
bWU+IGlzIHJlc2l6ZWQKIFBBU1MgbGlzdGVuZXJzIGFyZSBjYWxsZWQgY29ycmVjdCBudW1iZXIg
b2YgdGltZXMgCiBQQVNTIGxpc3RlbmVycyBhcmUgY2FsbGVkIGluIG9yZGVyIHRoZXkgd2VyZSBh
ZGRlZCAKIFBBU1MgbGlzdGVuZXIgdGhhdCB3YXMgYWRkZWQgdHdpY2UgaXMgY2FsbGVkIG9ubHkg
b25jZSAKLUZBSUwgbGlzdGVuZXJzIGFyZSBjYWxsZWQgaW4gb3JkZXIgdGhlaXIgTVFMcyB3ZXJl
IGNyZWF0ZWQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVydHkgMCwgZXhwZWN0ZWQgIm1xbDEi
IGJ1dCBnb3QgIm1xbDIiCitQQVNTIGxpc3RlbmVycyBhcmUgY2FsbGVkIGluIG9yZGVyIHRoZWly
IE1RTHMgd2VyZSBjcmVhdGVkIAogUEFTUyByZW1vdmluZyBsaXN0ZW5lciBmcm9tIG9uZSBNUUwg
ZG9lc24ndCByZW1vdmUgaXQgZnJvbSBhbGwgTVFMcyAKIFBBU1MgTWVkaWFRdWVyeUxpc3Q6OnJl
bW92ZUxpc3RlbmVyIHJlbW92ZXMgYWRkZWQgbGlzdGVuZXIgCiAKZGlmZiAtLWdpdCBhL0xheW91
dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVk
aWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVl
cnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtZXhwZWN0ZWQudHh0CmluZGV4IDk3MzUxZTM4OTJj
YzdmNmNjMWY3MDRhOTYxMjcyYTBkNjNjMzY2NTcuLmNlZWYyZDgxODI1MDRkMGRiNjQ2OWVjNDAz
MGQ0ZmQxM2QzOWVkNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWIt
cGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVu
dFRhcmdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1leHRlbmRzLUV2ZW50
VGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMSwyMCArMSw5IEBACiAKLUZBSUwgb25jaGFuZ2UgYWRk
cyBsaXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTog
b2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3QgYW4gb2JqZWN0IChldmFsdWF0aW5n
ICdfZXZlbnQubWVkaWEnKSIKLUZBSUwgb25jaGFuZ2UgcmVtb3ZlcyBsaXN0ZW5lciBhc3NlcnRf
ZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAotRkFJTCBsaXN0ZW5lcnMgZm9yICJjaGFuZ2Ui
IHR5cGUgYXJlIGNhbGxlZCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2
YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1
bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB7Ci0gICAgICAgIGhh
bmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMrKzsKLSAgICAgICAgfSwKLSAgICB9KScs
ICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZBSUwgbGlzdGVuZXJzIHdp
dGggZGlmZmVyZW50IHR5cGUgYXJlIG5vdCBjYWxsZWQgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQg
cmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0
ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRMaXN0ZW5lcigibWF0Y2hl
cyIsIHQudW5yZWFjaGVkX2Z1bmMoInNob3VsZCBub3QgYmUgY2FsbGVkIikpJywgJ21xbC5hZGRF
dmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgotRkFJTCBhZGRFdmVudExpc3RlbmVyICJvbmNl
IiBvcHRpb24gaXMgcmVzcGVjdGVkIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3
aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLmFkZEV2ZW50TGlzdGVuZXIgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIHsKLSAgICAg
ICAgaGFuZGxlRXZlbnQoKSB7Ci0gICAgICAgICAgICBjYWxscysrOwotICAgICAgICB9LAotICAg
IH0sIHtvbmNlOiB0cnVlfSknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXInIGlzIHVuZGVmaW5lZCki
Ci1GQUlMIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciBwcm9taXNlX3Rlc3Q6
IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5h
ZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3Rl
bmVyKCJjaGFuZ2UiLCBsaXN0ZW5lciknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXInIGlzIHVuZGVm
aW5lZCkiCi1GQUlMIGRpc3BhdGNoRXZlbnQgd29ya3MgYXMgZXhwZWN0ZWQgbXFsLmFkZEV2ZW50
TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVuZXIoImN1
c3RvbSIsIGV2ZW50ID0+IHsKLSAgICAgICAgcmVjZWl2ZWRFdmVudCA9IGV2ZW50OwotICAgICAg
ICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotICAgIH0sIHRydWUpJywgJ21xbC5hZGRFdmVudExp
c3RlbmVyJyBpcyB1bmRlZmluZWQpCitQQVNTIG9uY2hhbmdlIGFkZHMgbGlzdGVuZXIgCitQQVNT
IG9uY2hhbmdlIHJlbW92ZXMgbGlzdGVuZXIgCitQQVNTIGxpc3RlbmVycyBmb3IgImNoYW5nZSIg
dHlwZSBhcmUgY2FsbGVkIAorUEFTUyBsaXN0ZW5lcnMgd2l0aCBkaWZmZXJlbnQgdHlwZSBhcmUg
bm90IGNhbGxlZCAKK1BBU1MgYWRkRXZlbnRMaXN0ZW5lciAib25jZSIgb3B0aW9uIGlzIHJlc3Bl
Y3RlZCAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciByZW1vdmVzIGxpc3RlbmVyIAorUEFTUyBk
aXNwYXRjaEV2ZW50IHdvcmtzIGFzIGV4cGVjdGVkIAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVl
cnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1leHBlY3RlZC50eHQgYi9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlh
UXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1leHBlY3RlZC50eHQKaW5kZXgg
MmYyOTQzNmMyNzA2YjExNWExOTY3NmZiYzAwYWI5ZTlkNjkzYWIzYi4uN2MwNjRjMzY0YzgxY2Iy
YTg0YzY0MDFhZjU4OGJkYzhlODM3ZTJmMyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1l
eHRlbmRzLUV2ZW50VGFyZ2V0LWludGVyb3AtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3Rz
L2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVy
eUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1pbnRlcm9wLWV4cGVjdGVkLnR4dApAQCAtMSwxNCAr
MSwxMCBAQAogCi1GQUlMIGRpc3BhdGNoRXZlbnQgdHJpZ2dlcnMgbGlzdGVuZXIgYWRkZWQgd2l0
aCBhZGRMaXN0ZW5lciBtcWwuZGlzcGF0Y2hFdmVudCBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdt
cWwuZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVkRXZlbnQpJywgJ21xbC5kaXNwYXRjaEV2ZW50JyBp
cyB1bmRlZmluZWQpCi1GQUlMIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFk
ZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVq
ZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBBcmd1bWVudCAxICgnbGlzdGVu
ZXInKSB0byBNZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lciBtdXN0IGJlIGEgZnVuY3Rpb24iCi1G
QUlMIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIg
KGNhcHR1cmUpIGlzIGNhbGxlZCB0d2ljZSBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rp
b24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVyIGlz
IG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBsaXN0
ZW5lciwgdHJ1ZSknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlM
IHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZExpc3Rl
bmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3Qg
IlR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xpc3RlbmVyJykgdG8gTWVkaWFRdWVyeUxpc3QuYWRk
TGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIgotRkFJTCByZW1vdmVFdmVudExpc3RlbmVyIChj
YXB0dXJlKSBkb2Vzbid0IHJlbW92ZSBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZExpc3RlbmVyIHBy
b21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVF
cnJvcjogbXFsLnJlbW92ZUV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFs
LnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3RlbmVyLCB0cnVlKScsICdtcWwucmVt
b3ZlRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZBSUwgcmVtb3ZlTGlzdGVuZXIgcmVt
b3ZlcyBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIgcHJvbWlzZV90ZXN0OiBV
bmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9yOiBtcWwuYWRk
RXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRkRXZlbnRMaXN0ZW5l
cigiY2hhbmdlIiwgbGlzdGVuZXIpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmlu
ZWQpIgotRkFJTCByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJlbW92ZSBsaXN0ZW5lciBhZGRlZCB3
aXRoIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJl
amVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLmFkZEV2ZW50TGlzdGVu
ZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVuZXIoImNoYW5nZSIs
IGxpc3RlbmVyLCB0cnVlKScsICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIK
LUZBSUwgY2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVyIGZpcmVzIGJlZm9yZSBub24tY2FwdHVyaW5n
IGxpc3RlbmVyIGF0IHRhcmdldCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBh
IGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCB7Ci0gICAgICAg
IGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMucHVzaCgiYWRkRXZlbnRMaXN0ZW5l
ciIpOwotICAgICAgICB9LAotICAgIH0sIHRydWUpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBp
cyB1bmRlZmluZWQpIgorUEFTUyBkaXNwYXRjaEV2ZW50IHRyaWdnZXJzIGxpc3RlbmVyIGFkZGVk
IHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIg
YW5kIGFkZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2UgCitQQVNTIGxpc3RlbmVyIGFkZGVk
IHdpdGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIGlzIGNhbGxl
ZCB0d2ljZSAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciByZW1vdmVzIGxpc3RlbmVyIGFkZGVk
IHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIHJlbW92ZUV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIGRv
ZXNuJ3QgcmVtb3ZlIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIHJlbW92
ZUxpc3RlbmVyIHJlbW92ZXMgbGlzdGVuZXIgYWRkZWQgd2l0aCBhZGRFdmVudExpc3RlbmVyIAor
UEFTUyByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJlbW92ZSBsaXN0ZW5lciBhZGRlZCB3aXRoIGFk
ZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIAorUEFTUyBjYXB0dXJpbmcgZXZlbnQgbGlzdGVuZXIg
ZmlyZXMgYmVmb3JlIG5vbi1jYXB0dXJpbmcgbGlzdGVuZXIgYXQgdGFyZ2V0IAogCmRpZmYgLS1n
aXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3Nv
bS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlz
dEV2ZW50LWV4cGVjdGVkLnR4dAppbmRleCAzZTFiNDc5NjQwNDYxZWVjMDBjZGY3ODQ0YzljOGEx
YzA1ZDEwZWJiLi45MmFjNDM5YjE3ODM4NDExZWE0NzQxOWY4OTc3MzA2ZWVhNGU0NmEyIDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFR
dWVyeUxpc3RFdmVudC1leHBlY3RlZC50eHQKQEAgLTEsMTAgKzEsOCBAQAogCi1GQUlMIHR5cGUg
Y2FuIGJlIGRpZmZlcmVudCBmcm9tICJjaGFuZ2UiIENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlh
UXVlcnlMaXN0RXZlbnQKLUZBSUwgaW5pdCBkaWN0aW9uYXJ5IGRlZmF1bHQgdmFsdWVzIENhbid0
IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQKLUZBSUwgaW5pdCBkaWN0aW9uYXJ5
IG92ZXJyaWRlcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50Ci1GQUlM
IGFyZ3VtZW50IG9mIGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogUmlnaHQgaGFuZCBzaWRlIG9mIGluc3Rh
bmNlb2YgaXMgbm90IGFuIG9iamVjdCIKLUZBSUwgYXJndW1lbnQgb2Ygb25jaGFuZ2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBSaWdodCBoYW5kIHNpZGUgb2YgaW5zdGFuY2VvZiBpcyBub3QgYW4gb2JqZWN0IgotRkFJTCBj
b25zdHJ1Y3RvciBvZiAiY2hhbmdlIiBldmVudCBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWpl
Y3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVy
IGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBl
dmVudCA9PiB7Ci0gICAgICAgIF9ldmVudCA9IGV2ZW50OwotICAgIH0pJywgJ21xbC5hZGRFdmVu
dExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgorUEFTUyB0eXBlIGNhbiBiZSBkaWZmZXJlbnQgZnJv
bSAiY2hhbmdlIiAKK1BBU1MgaW5pdCBkaWN0aW9uYXJ5IGRlZmF1bHQgdmFsdWVzIAorUEFTUyBp
bml0IGRpY3Rpb25hcnkgb3ZlcnJpZGVzIAorUEFTUyBhcmd1bWVudCBvZiBhZGRMaXN0ZW5lciAK
K1BBU1MgYXJndW1lbnQgb2Ygb25jaGFuZ2UgCitQQVNTIGNvbnN0cnVjdG9yIG9mICJjaGFuZ2Ui
IGV2ZW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRm
b3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0IGIvTGF5b3V0
VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxo
YXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCAyOTNkNGQ3YTAzZmRjN2M0MWJjNzYxYzI3ZWZlMTIz
MmM1MDBlYjY4Li5iOTIyYThiYTFiY2E4MDA1YmIzNmZkYmE5YmQzMjE3YzViMzQ0MTc1IDEwMDY0
NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9j
c3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvaWRsaGFybmVzcy1leHBl
Y3RlZC50eHQKQEAgLTU1LDQyICs1NSwzOCBAQCBQQVNTIFdpbmRvdyBpbmNsdWRlcyBXaW5kb3dT
ZXNzaW9uU3RvcmFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUKIFBBU1MgV2luZG93IGluY2x1
ZGVzIFdpbmRvd0xvY2FsU3RvcmFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlxdWUgCiBQQVNTIENo
YXJhY3RlckRhdGEgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBlQ2hpbGROb2RlOiBtZW1iZXIgbmFt
ZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBpbmNsdWRlcyBDaGlsZE5vZGU6IG1l
bWJlciBuYW1lcyBhcmUgdW5pcXVlIAotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4
aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJv
cGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBl
eHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVy
eUxpc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBk
b2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVkIHByb3Bl
cnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZh
Y2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93
biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5
TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBh
bmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIg
ZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVl
cnlMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBw
cm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlM
aXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90
b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0
ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0
IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBleHBlY3RlZCBwcm9wZXJ0
eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNl
OiBhdHRyaWJ1dGUgbWF0Y2hlcyBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlh
UXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogb3BlcmF0
aW9uIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBleHBlY3RlZCBwcm9w
ZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJm
YWNlOiBvcGVyYXRpb24gcmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcikgYXNzZXJ0X293bl9w
cm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3Qi
IGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1
ZXJ5TGlzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5nZSBhc3NlcnRfb3duX3Byb3BlcnR5
OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0
ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0
IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbWF0Y2hNZWRpYSgiYWxsIikgYXNzZXJ0X293
bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxp
c3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZworUEFTUyBNZWRp
YVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAK
K1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlIG9iamVjdCBuYW1lIAorUEFTUyBNZWRpYVF1
ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
cHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3Ry
dWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5j
ZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCdzIEBAdW5zY29w
YWJsZXMgcHJvcGVydHkgCitQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogYXR0cmlidXRl
IG1lZGlhIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtYXRjaGVz
IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IG9wZXJhdGlvbiBhZGRMaXN0ZW5lcihF
dmVudExpc3RlbmVyKSAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24g
cmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcikgCitQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVy
ZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBtdXN0IGJlIHBy
aW1hcnkgaW50ZXJmYWNlIG9mIG1hdGNoTWVkaWEoImFsbCIpIAogUEFTUyBTdHJpbmdpZmljYXRp
b24gb2YgbWF0Y2hNZWRpYSgiYWxsIikgCiBQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTog
bWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtZWRpYSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCiBQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgi
YWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtYXRjaGVzIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSAKIFBBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBtYXRjaE1lZGlhKCJhbGwiKSBtdXN0
IGluaGVyaXQgcHJvcGVydHkgImFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIiB3aXRoIHRoZSBw
cm9wZXIgdHlwZSAKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZExp
c3RlbmVyKEV2ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEoImFsbCIpIHdpdGggdG9vIGZldyBh
cmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0X3Rocm93czogQ2FsbGVkIHdpdGgg
MCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsKLSAgICAgICAgICAgIGZuLmFwcGx5
KG9iaiwgYXJncyk7Ci0gICAgICAgIH0iIGRpZCBub3QgdGhyb3cKK1BBU1MgTWVkaWFRdWVyeUxp
c3QgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIG9uIG1hdGNo
TWVkaWEoImFsbCIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3Ig
CiBQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBp
bmhlcml0IHByb3BlcnR5ICJyZW1vdmVMaXN0ZW5lcihFdmVudExpc3RlbmVyKSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogY2FsbGluZyByZW1v
dmVMaXN0ZW5lcihFdmVudExpc3RlbmVyKSBvbiBtYXRjaE1lZGlhKCJhbGwiKSB3aXRoIHRvbyBm
ZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFzc2VydF90aHJvd3M6IENhbGxlZCB3
aXRoIDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAoKSB7Ci0gICAgICAgICAgICBmbi5h
cHBseShvYmosIGFyZ3MpOwotICAgICAgICB9IiBkaWQgbm90IHRocm93Ci1GQUlMIE1lZGlhUXVl
cnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2luaGVyaXRzOiBwcm9wZXJ0
eSAib25jaGFuZ2UiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUgY2hhaW4KLUZBSUwgTWVkaWFRdWVy
eUxpc3RFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJv
cGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5
TGlzdEV2ZW50IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlIG9i
amVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVl
cnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2Ug
b2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVl
cnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6
IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRp
YVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIg
bWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9y
IiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHBy
b3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVy
eUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTog
ZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3Mg
QEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90
IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0
eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50
IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9l
cyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIGV4cGVjdGVkIHBy
b3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0
RXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWF0Y2hlcyBhc3NlcnRfb3duX3Byb3BlcnR5OiBz
ZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBl
Y3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1
ZXJ5TGlzdEV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IE1lZGlhUXVlcnlM
aXN0RXZlbnQoImNoYW5nZSIpIGFzc2VydF9lcXVhbHM6IFVuZXhwZWN0ZWQgZXhjZXB0aW9uIHdo
ZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBidXQgZ290IG9iamVjdCAiUmVmZXJl
bmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQiCi1GQUlM
IFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgTWVkaWFRdWVyeUxpc3RFdmVudCgiY2hhbmdlIikgYXNz
ZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBl
eHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2
YXJpYWJsZTogTWVkaWFRdWVyeUxpc3RFdmVudCIKLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBp
bnRlcmZhY2U6IG5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50KCJjaGFuZ2UiKSBtdXN0IGluaGVyaXQg
cHJvcGVydHkgIm1lZGlhIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSBhc3NlcnRfZXF1YWxzOiBVbmV4
cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2JqZWN0IGV4cGVjdGVkIG51bGwgYnV0
IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBmaW5kIHZhcmlhYmxlOiBNZWRpYVF1
ZXJ5TGlzdEV2ZW50IgotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogbmV3IE1l
ZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWF0Y2hl
cyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRp
b24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJS
ZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogTWVkaWFRdWVyeUxpc3RFdmVudCIK
K1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBjYWxsaW5nIHJlbW92ZUxpc3RlbmVyKEV2
ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEoImFsbCIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0
Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUg
cHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVu
Y2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVjdCAKK1BBU1MgTWVkaWFRdWVyeUxp
c3RFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVu
dCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHBy
b3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHBy
b3BlcnR5IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFu
ZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxl
cyBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0
ZSBtZWRpYSAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBt
YXRjaGVzIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIAorUEFTUyBTdHJpbmdpZmlj
YXRpb24gb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIAorUEFTUyBNZWRpYVF1
ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIp
IG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWEiIHdpdGggdGhlIHByb3BlciB0eXBlIAorUEFT
UyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQo
ImNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWF0Y2hlcyIgd2l0aCB0aGUgcHJvcGVy
IHR5cGUgCiBQQVNTIFNjcmVlbiBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBv
ZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBTY3JlZW4gaW50ZXJmYWNlIG9iamVjdCBsZW5ndGgg
CiBQQVNTIFNjcmVlbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCmRpZmYgLS1naXQgYS9MYXlvdXRU
ZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L21hdGNo
TWVkaWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlhLWV4cGVjdGVkLnR4dAppbmRleCA2N2Vm
Y2VhMjg5ZTRjNjg5ODkwZGYwZTJjZmMwNzI3OTZjNWQ2ODE2Li42ZDY4MDFjOGQ3NzlhMTBmZWUy
YmI0MzJlMGY2ZmYzNjlhMWE3ODY4IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93
M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L21hdGNoTWVkaWEtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvbWF0Y2hNZWRpYS1leHBlY3RlZC50eHQKQEAgLTMsNyArMyw3IEBAIFBBU1Mg
d2luZG93Lm1hdGNoTWVkaWEgaXMgYSBmdW5jdGlvbgogUEFTUyB3aW5kb3cubWF0Y2hNZWRpYSgi
YWxsIikgbWF0Y2hlcyAKIFBBU1Mgd2luZG93Lm1hdGNoTWVkaWEoIiIpIG1hdGNoZXMgCiBQQVNT
IHdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxcHgpIikgbWF0Y2hlcyAKLUZBSUwgbWVk
aWEgcXVlcnkgd2l0aCBzeW50YXggZXJyb3IgaXMgc2VyaWFsaXplZCBhcyAibm90IGFsbCIgQ2Fu
J3QgZmluZCB2YXJpYWJsZTogTWVkaWFRdWVyeUxpc3QKK1BBU1MgbWVkaWEgcXVlcnkgd2l0aCBz
eW50YXggZXJyb3IgaXMgc2VyaWFsaXplZCBhcyAibm90IGFsbCIgCiBQQVNTIGlmcmFtZS5tYXRj
aE1lZGlhKCIobWF4LXdpZHRoOiAxOTlweCksIGFsbCBhbmQgKG1pbi13aWR0aDogMjAwcHgpIikg
aXMgc2VyaWFsaXplZCB3L28gImFsbCIgCiBQQVNTIGlmcmFtZS5tYXRjaE1lZGlhKCIobWluLWFz
cGVjdC1yYXRpbzogMS8xKSIpIG1hdGNoZXMgCiBQQVNTIGlmcmFtZS5tYXRjaE1lZGlhKCIod2lk
dGg6IDIwMHB4KSIpIG1hdGNoZXMgCg==
</data>

          </attachment>
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>394746</attachid>
            <date>2020-03-27 12:22:53 -0700</date>
            <delta_ts>2020-04-10 08:01:36 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203288-20200327212250.patch</filename>
            <type>text/plain</type>
            <size>104695</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5MTAxCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggNTk4NjI4ZjU0MTEyMjc1
OGFmOWY4ZWIyY2Q3Yjg0N2YyNTAwNDdjNS4uYTEyNWFlMGQzZjM1YWVjNzdlYjA5MTQ5YmJkMTM5
MzM1NjQ2NmQxOSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIwLTAzLTI3ICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5
TGlzdCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBJbml0aWFsbHksIENTU09NIFZpZXcgTW9kdWxlIHNwZWNpZmlj
YXRpb24gWzFdIGhhZCBhIGN1c3RvbSBjYWxsYmFjayBtZWNoYW5pc20gd2l0aCBhZGRMaXN0ZW5l
cigpIGFuZCByZW1vdmVMaXN0ZW5lcigpLAorICAgICAgICBhbmQgdGhlIGNhbGxiYWNrIHdhcyBp
bnZva2VkIHdpdGggdGhlIGFzc29jaWF0ZWQgTWVkaWFRdWVyeUxpc3QgYXMgYXJndW1lbnQuCisK
KyAgICAgICAgTm93IHRoZSBub3JtYWwgZXZlbnQgbWVjaGFuaXNtIFsyXSBpcyB1c2VkIGluc3Rl
YWQuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYWRkTGlzdGVuZXIoKSBhbmQgcmVtb3Zl
TGlzdGVuZXIoKQorICAgICAgICBtZXRob2RzIGFyZSBiYXNpY2FsbHkgYWxpYXNlcyBmb3IgYWRk
RXZlbnRMaXN0ZW5lcigpIGFuZCByZW1vdmVFdmVudExpc3RlbmVyKCksIHJlc3BlY3RpdmVseSwg
YW5kIHRoZSAiY2hhbmdlIiBldmVudAorICAgICAgICBtYXNxdWVyYWRlcyBhcyBhIE1lZGlhUXVl
cnlMaXN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBuZXcgZXZlbnQgbWVjaGFu
aXNtLCBhbGlnbmluZyBXZWJLaXQgd2l0aCBCbGluayBhbmQgU3BpZGVyTW9ua2V5LCBhbmQgYWxz
byBmaXhlcworICAgICAgICBhIGZldyBtaW5vciBzcGVjIGluY29tcGF0aWJpbGl0aWVzOiBtYW5k
YXRvcnkgbGlzdGVuZXIgYXJndW1lbnQsICJoYW5kbGVFdmVudCIgc3VwcG9ydCwgYW5kIGxpc3Rl
bmVycyBjYWxsIG9yZGVyLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly93d3cudzMub3JnL1RSLzIw
MTEvV0QtY3Nzb20tdmlldy0yMDExMDgwNC8jbWVkaWFxdWVyeWxpc3QKKyAgICAgICAgWzJdOiBo
dHRwczovL3d3dy53My5vcmcvVFIvY3Nzb20tdmlldy0xLyNtZWRpYXF1ZXJ5bGlzdAorCisgICAg
ICAgIFRlc3RzOiBmYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbAorICAgICAgICAg
ICAgICAgd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFk
ZExpc3RlbmVyLWhhbmRsZUV2ZW50Lmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0
ZW5lci5odG1sCisgICAgICAgICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC5odG1sCisgICAgICAgICAgICAg
ICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5k
cy1FdmVudFRhcmdldC1pbnRlcm9wLmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLmh0bWwKKyAg
ICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlh
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3Vy
Y2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy8qOiBVcGRhdGVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1
ZXJ5TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6TWVkaWFRdWVy
eUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVlcnlMaXN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAqIGNzcy9NZWRpYVF1
ZXJ5TGlzdC5oOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGw6CisgICAgICAgICog
Y3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUXVlcnlMaXN0RXZlbnQ6Ok1lZGlhUXVlcnlMaXN0RXZlbnQpOgorICAgICAgICAqIGNzcy9N
ZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlz
dEV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw6IFJl
bW92ZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpkb2N1bWVudERlc3Ryb3llZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTWVkaWFRdWVyeUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZU1lZGlhUXVlcnlMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1lZGlhKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZUFsbCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTGlzdGVuZXIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZUxpc3RlbmVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBjc3MvTWVkaWFRdWVyeU1hdGNoZXIuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5p
bjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRG
YWN0b3J5LmluOgorCiAyMDIwLTAzLTI2ICBQZW5nIExpdSAgPHBlbmcubGl1NkBhcHBsZS5jb20+
CiAKICAgICAgICAgU3dpcGUgZG93biBnZXN0dXJlcyBjYXVzZSB0aGUgdmlkZW8gbGF5ZXIgdG8g
c3RpY2sgZm9yIGEgbW9tZW50IGJlZm9yZSBib3VuY2luZyBiYWNrIGludG8gcGxhY2UKZGlmZiAt
LWdpdCBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVj
dG9yVUkvQ2hhbmdlTG9nCmluZGV4IGJiMTkxYzRlODhlNWIxMGU4MmU0ZDlkOGNkYTViYTFmZjc1
M2FmZjMuLjljNDdhYWQ2MGYzNGNkN2JiYTZjM2E0YjhkZGU0OWQ2ZGVlODBmYzcgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3Bl
Y3RvclVJL0NoYW5nZUxvZwpAQCAtMSwzICsxLDEyIEBACisyMDIwLTAzLTI3ICBBbGV4ZXkgU2h2
YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBz
aG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3Jn
L3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxl
ci4KKworICAgICAgICAqIFVzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1l
dGVycy5qczoKKwogMjAyMC0wMy0yNiAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+
CiAKICAgICAgICAgV2ViIEluc3BlY3RvcjogYWRkIGtleWJvYXJkIHNob3J0Y3V0IHRvIHRvb2x0
aXAgb2YgcGlubmVkIHRhYnMKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMu
dHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKaW5kZXggOTEyMjMwMTc4YzFkMmEz
OTM1YjIwOWE3OTlhNzczNTliZTc3ZDQ1NS4uMTc0YmQwNWFjYTI2YThlZWVlM2Y0N2IzZTM0OTU4
YTk2NDRkZTg4OCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysr
IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKQEAgLTYzOCw3ICs2MzgsNyBAQCBzZXQo
V2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAgIGNzcy9Gb250RmFjZVNldC5pZGwKICAgICBj
c3MvTWVkaWFMaXN0LmlkbAogICAgIGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGwKLSAgICBjc3MvTWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKKyAgICBjc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwK
ICAgICBjc3MvU3R5bGVNZWRpYS5pZGwKICAgICBjc3MvU3R5bGVTaGVldC5pZGwKICAgICBjc3Mv
U3R5bGVTaGVldExpc3QuaWRsCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291
cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5w
dXQueGNmaWxlbGlzdAppbmRleCA2MWU1MGRhMDA2ZGNhNWIwYTA1NWJiNGQ1ODQyZTkzNmNiNzAx
OTI5Li41OWQyZTk3YWJhMTFhZWVlNjNlOWM0NWZkZGExNzNjMjdmOTI3MjNmIDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlucHV0LnhjZmlsZWxpc3QKQEAgLTU0Niw3ICs1
NDYsNyBAQCAkKFBST0pFQ1RfRElSKS9jc3MvRm9udEZhY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9j
c3MvRm9udEZhY2VTZXQuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFMaXN0LmlkbAogJChQ
Uk9KRUNUX0RJUikvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAotJChQUk9KRUNUX0RJUikvY3NzL01l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCiskKFBST0pFQ1RfRElSKS9jc3MvTWVkaWFRdWVyeUxp
c3RFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL2Nzcy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCiAk
KFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVt
ZW50TWFwLmluCiAkKFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1h
cC5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlz
dAppbmRleCAzZTYzZGQzNzdlODIxNDI1MjU5OTI0NzY5NTY4OTRkZTljNjdkOGNlLi43ODUwMmIx
MGM5NTliMjUxMjE4ODg1Zjc1MjI5NzI5NTQyMDk3MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2Vi
Q29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdApAQCAtMTAzMiw4ICsxMDMyLDggQEAg
JChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3Qu
Y3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlh
TGlzdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01l
ZGlhUXVlcnlMaXN0LmNwcAogJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5oCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNv
dXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCi0kKEJVSUxUX1BST0RV
Q1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1
ZXJ5TGlzdEV2ZW50LmNwcAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dl
YkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJp
dmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNf
RElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNvcmRlci5oCiAkKEJVSUxUX1BS
T0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUmVjb3JkZXJFcnJvckV2
ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBi
L1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLm1ha2UKaW5kZXggNGU5MjU2OGYwNzIyOTE2
YWVhOTI4NTg2YzY0OTc2MzI4NzA1ZmU5NS4uMDAyM2NmNzYxZDE1NWFhYjY0MzJkNzIxZjNjYzRl
NzMyNjQ2MWFjMCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFr
ZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy5tYWtlCkBAIC01NzksNyArNTc5
LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAgICQoV2ViQ29yZSkvY3NzL0ZvbnRGYWNlU2V0
LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFMaXN0LmlkbCBcCiAgICAgJChXZWJDb3Jl
KS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsIFwKLSAgICAkKFdlYkNvcmUpL2Nzcy9NZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmlkbCBcCisgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVu
dC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL1N0eWxlTWVkaWEuaWRsIFwKICAgICAkKFdlYkNv
cmUpL2Nzcy9TdHlsZVNoZWV0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvU3R5bGVTaGVldExp
c3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNl
L1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggMTczMzY5NzI2OTgyMDcwNDAyMzQxODU0YzY3ZmJi
NjY5MjAzYTM3NS4uOGUwZjJjOTM3ODZiZmIyMjcwM2MxYTIxZjQ1YTZhODRjOTgyYjJmNSAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUv
U291cmNlcy50eHQKQEAgLTc5MCw2ICs3OTAsNyBAQCBjc3MvTWVkaWFRdWVyeS5jcHAKIGNzcy9N
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAogY3NzL01lZGlhUXVlcnlFeHByZXNzaW9uLmNwcAogY3Nz
L01lZGlhUXVlcnlMaXN0LmNwcAorY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCiBjc3MvTWVk
aWFRdWVyeU1hdGNoZXIuY3BwCiBjc3MvTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuY3BwCiBjc3Mv
UHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9uLmNwcApAQCAtMzEwNyw3ICszMTA4LDcgQEAg
SlNNZWRpYUVuY29kaW5nVHlwZS5jcHAKIEpTTWVkaWFFcnJvci5jcHAKIEpTTWVkaWFMaXN0LmNw
cAogSlNNZWRpYVF1ZXJ5TGlzdC5jcHAKLUpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKK0pT
TWVkaWFRdWVyeUxpc3RFdmVudC5jcHAKIEpTTWVkaWFSZWNvcmRlci5jcHAKIEpTTWVkaWFSZWNv
cmRlckVycm9yRXZlbnQuY3BwCiBKU01lZGlhUmVtb3RlQ29udHJvbHMuY3BwCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3Vy
Y2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2oKaW5kZXggYjc4ZDAz
Y2Q3ZTVkZTVkYTkxOWFhOTViNjVkMGY5ZDViZWEyMDBiNi4uY2JhYzFmYTViN2ZhNWEzZTE3Y2Q1
NTBhMmM4N2Q3NzRkZDVlODBkMiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54
Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBiL1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNv
ZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI1Nyw3ICsyMjU3LDYgQEAKIAkJN0M1MjIyOTkx
RTFEQUUxQzAwMkNCOEY3IC8qIEFjdGl2ZURPTUNhbGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtp
c2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzUyMjI5ODFFMURBRTE2MDAyQ0I4RjcgLyog
QWN0aXZlRE9NQ2FsbGJhY2suaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRl
LCApOyB9OyB9OwogCQk3QzUyMjI5RTFFMURBRTQ3MDAyQ0I4RjcgLyogUnVudGltZUVuYWJsZWRG
ZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0g
N0M1MjIyOUMxRTFEQUU0NzAwMkNCOEY3IC8qIFJ1bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsg
c2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzUyNjY5ODFG
MUIwMzAyMDAwRjA2OEIgLyogU3RyaW5nQWRhcHRvcnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTI2Njk2MUYxQjAyRkMwMDBGMDY4QiAvKiBTdHJp
bmdBZGFwdG9ycy5oICovOyBzZXR0aW5ncyA9IHtBVFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07
IH07Ci0JCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTM0
M0ZCMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLzsgfTsK
IAkJN0M1N0JGRTcxRURFMkY2MTAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RPcGVyYXRpb25zLmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzU3QkZFNjFF
REUyRjVCMDA1MzRBNDggLyogSlNET01BYnN0cmFjdE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3Mg
PSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzVGMjhGQzFBODI3RDg0MDBD
MEYzMUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQ
QlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzVGMjhGQTFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0
dGFjaG1lbnRFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwg
KTsgfTsgfTsKIAkJN0M2NTIyRUYxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1l
dGhvZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2
NTIyRUMxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oICovOyB9OwpA
QCAtMjUwMyw2ICsyNTAyLDcgQEAKIAkJODQzMDBCRDgxMjBDOUFENDAwMjE5NTRBIC8qIFNWR1Bh
dGhTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IDg0MzAwQkQ3MTIwQzlBRDQwMDIxOTU0QSAvKiBTVkdQYXRoU291cmNlLmggKi87IH07CiAJCTg0
NUU3MkY4MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9
IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NUU3MkY3MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0
ZXIuaCAqLzsgfTsKIAkJODQ1RTcyRkMwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ1RTcyRkEwRkQy
NjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oICovOyB9OworCQk4NDY1MEU3RTIzODdBRDdEMDA2
MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJY
QnVpbGRGaWxlOyBmaWxlUmVmID0gODQ2NTBFN0MyMzg3QUQ3QzAwNjI2NkUyIC8qIE1lZGlhUXVl
cnlMaXN0RXZlbnQuaCAqLzsgfTsKIAkJODQ3MzBENzcxMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3Rh
bnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxl
UmVmID0gODQ3MzBENUExMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3RhbnRMaWdodFNvdXJjZS5oICov
OyB9OwogCQk4NDczMEQ3OTEyNDhGMEIzMDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5oIGlu
IEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3MzBENUMxMjQ4
RjBCMzAwRDNBOUM5IC8qIEZFQ29udm9sdmVNYXRyaXguaCAqLzsgfTsKIAkJODQ3MzBEN0IxMjQ4
RjBCMzAwRDNBOUM5IC8qIEZFRGlmZnVzZUxpZ2h0aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDczMEQ1RTEyNDhGMEIzMDBEM0E5QzkgLyogRkVE
aWZmdXNlTGlnaHRpbmcuaCAqLzsgfTsKQEAgLTQyOTcsNyArNDI5Nyw2IEBACiAJCUQzNTlENzhB
MTI5Q0EyNzEwMDA2RTVEMiAvKiBIVE1MRGV0YWlsc0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0g
e2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzNTlENzg3MTI5Q0EyNzEwMDA2RTVEMiAv
KiBIVE1MRGV0YWlsc0VsZW1lbnQuaCAqLzsgfTsKIAkJRDM1OUQ4QkYxMjlDQTU1QzAwMDZFNUQy
IC8qIEpTSFRNTERldGFpbHNFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBEMzU5RDhCRDEyOUNBNTVDMDAwNkU1RDIgLyogSlNIVE1MRGV0YWls
c0VsZW1lbnQuaCAqLzsgfTsKIAkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVl
cnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBE
M0E5NEEzMjEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaCAqLzsgfTsKLQkJRDNB
OTRBM0IxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFk
ZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQTk0QTM0MTIyREFCQUMw
MEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggKi87IH07CiAJCUQzQTk0QTQ3MTIy
REM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyogSlNN
ZWRpYVF1ZXJ5TGlzdC5oICovOyB9OwogCQlEM0FBMTBGNDEyM0E5OEFBMDA5MjE1MkIgLyogTWVk
aWFRdWVyeU1hdGNoZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmls
ZVJlZiA9IEQzQUExMEYyMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oICov
OyB9OwogCQlEM0Q0RTk3MzEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50Lmgg
aW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0Q0RTk3MTEz
MEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50LmggKi87IHNldHRpbmdzID0ge0FU
VFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKQEAgLTk5NjAsOCArOTk1OSw2IEBACiAJCTdD
NTIyRDQ5MTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNwZWN0b3JPdmVybGF5LmNwcCAqLyA9IHtpc2Eg
PSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9
IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEluc3BlY3Rvck92ZXJsYXkuY3BwOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwogCQk3QzUyMkQ0QTE1QjQ3OEIyMDA5QjdDOTUgLyogSW5zcGVj
dG9yT3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9
IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JP
dmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNTI2Njk2MUYxQjAyRkMw
MDBGMDY4QiAvKiBTdHJpbmdBZGFwdG9ycy5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7
IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBh
dGggPSBTdHJpbmdBZGFwdG9ycy5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQk3QzUz
NDNGQTE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07Ci0JCTdDNTM0M0ZCMTdCNzRCNjMwMDQy
MzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmg7IHBhdGggPSBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8
Z3JvdXA+IjsgfTsKIAkJN0M1N0JGRTYxRURFMkY1QjAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RP
cGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0g
NDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IEpTRE9NQWJzdHJh
Y3RPcGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTdDNUJFQTNBMUU5
RUU3NzEwMENDNTE3QiAvKiBOYXZpZ2F0b3JJRC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVy
ZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0g
TmF2aWdhdG9ySUQuaWRsOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzVCRUEzQjFF
OUVFNzcxMDBDQzUxN0IgLyogTmF2aWdhdG9yTGFuZ3VhZ2UuaWRsICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsg
cGF0aCA9IE5hdmlnYXRvckxhbmd1YWdlLmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsK
QEAgLTEwNDY4LDYgKzEwNDY1LDkgQEAKIAkJODQ1RTcyRjcwRkQyNjFFRTAwQTg3RDc5IC8qIEZp
bHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxh
c3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGaWx0ZXIuaDsgc291cmNl
VHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ1RTcyRjkwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0Zp
bHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBTVkdGaWx0ZXIu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDVFNzJGQTBGRDI2MjM5MDBBODdE
NzkgLyogU1ZHRmlsdGVyLmggKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29k
aW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0Zp
bHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU3QzIzODdBRDdDMDA2
MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CisJCTg0NjUwRTdGMjM4N0FEOEEwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcCAq
LyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25G
aWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0RXZlbnQu
Y3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OworCQk4NDY1MEU4MDIzODdBRDhCMDA2MjY2
RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5j
ZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVk
aWFRdWVyeUxpc3RFdmVudC5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NzMw
RDVBMTI0OEYwQjMwMEQzQTlDOSAvKiBEaXN0YW50TGlnaHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQ
QlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNv
dXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzdGFudExpZ2h0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTg0NzMwRDVCMTI0OEYwQjMwMEQzQTlDOSAvKiBGRUNvbnZvbHZlTWF0
cml4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBs
YXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEZFQ29udm9sdmVN
YXRyaXguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk4NDczMEQ1QzEyNDhGMEIz
MDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVu
Y2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7
IHBhdGggPSBGRUNvbnZvbHZlTWF0cml4Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBA
IC0xNDUxNiw4ICsxNDUxNiw2IEBACiAJCUQzQTk0QTMxMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRp
YVF1ZXJ5TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5n
ID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRp
YVF1ZXJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0QTMyMTIy
REFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdC5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9Owog
CQlEM0E5NEEzMzEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuaWRsICovID0ge2lz
YSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBl
ID0gdGV4dDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+
IjsgfTsKLQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gTWVkaWFRdWVyeUxpc3RMaXN0
ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwotCQlEM0E5NEEzNTEyMkRBQkFDMDBB
MzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRo
ID0gTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07
CiAJCUQzQTk0QTQyMTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmNwcCAqLyA9
IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxl
VHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IEpTTWVkaWFRdWVyeUxpc3QuY3BwOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyog
SlNNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBKU01l
ZGlhUXVlcnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQUExMEYxMTIz
QTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CkBAIC0yNDExOCw4ICsyNDExNiw2IEBACiAJCQkJQkMzQzM5QjUwQzBEM0Q4
RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8sCiAJCQkJRDNBOTRBNDIxMjJEQzQwRjAwQTM3
QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuY3BwICovLAogCQkJCUQzQTk0QTQzMTIyREM0MEYwMEEz
N0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggKi8sCi0JCQkJN0M1MzQzRkExN0I3NEI2MzAwNDIz
MkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAgKi8sCi0JCQkJN0M1MzQzRkIxN0I3
NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oICovLAogCQkJCTBGRjUw
MjY3MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuY3BwICovLAogCQkJCTBGRjUwMjY4
MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVkaWEuaCAqLywKIAkJCQlCQ0UwMTM5ODBDMEJF
RjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmNwcCAqLywKQEAgLTI3OTMyLDggKzI3OTI4LDkg
QEAKIAkJCQlEM0E5NEEzMTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3QuY3BwICov
LAogCQkJCUQzQTk0QTMyMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovLAog
CQkJCUQzQTk0QTMzMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5pZGwgKi8sCi0J
CQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAq
LywKLQkJCQlEM0E5NEEzNTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5pZGwgKi8sCisJCQkJODQ2NTBFN0YyMzg3QUQ4QTAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0
RXZlbnQuY3BwICovLAorCQkJCTg0NjUwRTdDMjM4N0FEN0MwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5
TGlzdEV2ZW50LmggKi8sCisJCQkJODQ2NTBFODAyMzg3QUQ4QjAwNjI2NkUyIC8qIE1lZGlhUXVl
cnlMaXN0RXZlbnQuaWRsICovLAogCQkJCUQzQUExMEYxMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRp
YVF1ZXJ5TWF0Y2hlci5jcHAgKi8sCiAJCQkJRDNBQTEwRjIxMjNBOThBQTAwOTIxNTJCIC8qIE1l
ZGlhUXVlcnlNYXRjaGVyLmggKi8sCiAJCQkJNDQ3MTcxMEIyMDVBRjk0NTAwMEExMTZFIC8qIE1l
ZGlhUXVlcnlQYXJzZXJDb250ZXh0LmNwcCAqLywKQEAgLTMxMjE4LDcgKzMxMjE1LDYgQEAKIAkJ
CQlCQzNDMzlCNzBDMEQzRDhEMDA1RjREN0EgLyogSlNNZWRpYUxpc3QuaCBpbiBIZWFkZXJzICov
LAogCQkJCTkzRDQzN0EzMUQ1N0I3RTIwMEFCODVFQSAvKiBKU01lZGlhTGlzdEN1c3RvbS5oIGlu
IEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBNDcxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVy
eUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBK
U01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCUNEOURFMTc1MTdB
QUM3NEMwMEVBMzg2RCAvKiBKU01lZGlhU291cmNlLmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3
N0U0RDE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRpYVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJ
CQkJMDcyNzdFNEYxN0QwMThDQzAwMTU1MzREIC8qIEpTTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0
aW9uTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0zMTgzOCw3ICszMTgzNCw3IEBACiAJCQkJNEUx
OTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlhUXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJz
ICovLAogCQkJCTdDQjVDQTQwMUU1MjVDNzMwMEZBRUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lv
bi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBMzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlh
UXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywKLQkJCQlEM0E5NEEzQjEyMkRBQkFDMDBBMzdCQkMg
LyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGluIEhlYWRlcnMgKi8sCisJCQkJODQ2NTBFN0Uy
Mzg3QUQ3RDAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuaCBpbiBIZWFkZXJzICovLAog
CQkJCUQzQUExMEY0MTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oIGluIEhl
YWRlcnMgKi8sCiAJCQkJOTQ5M0I2QzExRDc0QjQxMjAwODhFNzgwIC8qIE1lZGlhUXVlcnlQYXJz
ZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0NzE3MTBFMjA1QUY5NDUwMDBBMTE2RSAvKiBNZWRp
YVF1ZXJ5UGFyc2VyQ29udGV4dC5oIGluIEhlYWRlcnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2Uv
V2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5hbWVzLmgKaW5kZXggMTg4MmE5ZWZmZTI0MGM0
NTliZDVkMzQyNjE3YTBjZDkzM2MyZDg4OS4uYjE4ZWI5YTIyNGE1OWQxMjhlYTQwZWQ4MWRiOTI0
OGEzYWM5Y2E1ZSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29y
ZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVC
dWlsdGluTmFtZXMuaApAQCAtMTQ5LDYgKzE0OSw3IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAg
ICBtYWNybyhNZWRpYUtleVN0YXR1c01hcCkgXAogICAgIG1hY3JvKE1lZGlhS2V5U3lzdGVtQWNj
ZXNzKSBcCiAgICAgbWFjcm8oTWVkaWFLZXlzKSBcCisgICAgbWFjcm8oTWVkaWFRdWVyeUxpc3RF
dmVudCkgXAogICAgIG1hY3JvKE1lZGlhUmVjb3JkZXIpIFwKICAgICBtYWNybyhNZWRpYVJlY29y
ZGVyRXJyb3JFdmVudCkgXAogICAgIG1hY3JvKE1lZGlhU291cmNlKSBcCmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0
LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9i
YWxPYmplY3QuY3BwCmluZGV4IDYwNWZlYjYxNjRhZWU4ZjQ3NzNiZDMwZTJhNTEyOTM0MzIwYzJi
NWMuLjA2Y2M4NTYwYjI0NDI1MTBiOGYzNmUyODViMTllZjUyMDk1NTY1YWMgMTAwNjQ0Ci0tLSBh
L1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmpl
Y3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rl
c3RHbG9iYWxPYmplY3QuY3BwCkBAIC01NCw3ICs1NCw2IEBACiAjaW5jbHVkZSAiSlNUZXN0SXRl
cmFibGUuaCIKICNpbmNsdWRlICJKU1Rlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rvci5oIgogI2luY2x1
ZGUgIkpTVGVzdE1hcExpa2UuaCIKLSNpbmNsdWRlICJKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVy
LmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRp
b24uaCIKICNpbmNsdWRlICJKU1Rlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmll
ci5oIgpAQCAtMjA5LDggKzIwOCw2IEBAIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFs
T2JqZWN0VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yQ29uc3RydWN0b3IoSlNDOjpKCiBib29sIHNl
dEpTVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKEpT
Qzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1Zh
bHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VD
b25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlND
OjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNv
bnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6
OkVuY29kZWRKU1ZhbHVlKTsKLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0
VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwotYm9vbCBzZXRKU1Rl
c3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6
SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVl
KTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5k
ZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBK
U0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CiBib29sIHNldEpTVGVzdEds
b2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3Rv
cihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVk
SlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1l
ZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7CkBAIC0z
MDIsMTEgKzI5OSwxMSBAQCB1c2luZyBKU1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1Y3RvciA9IEpT
RE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTVGVzdEdsbwogCiBzdGF0aWMgY29uc3Qg
c3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZd
ID0gewogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzNywgLTEgfSwKKyAgICB7IDM2LCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAwLCAtMSB9LAogICAgIHsgNCwgMjYyIH0sCi0gICAgeyA0
MSwgLTEgfSwKKyAgICB7IDQwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzE0LDcgKzMxMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1
Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAg
eyA1MSwgLTEgfSwKKyAgICB7IDUwLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzIyLDcgKzMxOSw3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyA2MywgLTEgfSwKKyAgICB7IDYyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzM2LDEzICszMzMsMTMgQEAgc3RhdGljIGNv
bnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhb
MjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKLSAgICB7IDMxLCAtMSB9LAorICAgIHsgMzAsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAotICAgIHsgNjYsIC0xIH0sCisgICAgeyA2NSwgLTEgfSwKICAgICB7IDksIDI1OCB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM1MSw3ICszNDgsNyBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFi
bGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAotICAgIHsgMzUsIC0xIH0sCisgICAgeyAzNCwgLTEgfSwKICAgICB7IDE2LCAy
NjMgfSwKICAgICB7IDYsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM2NCw3ICszNjEsNyBA
QCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0
VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAotICAgIHsgMzMsIC0xIH0sCisgICAgeyAzMiwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM4Niw3ICszODMs
NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2Jq
ZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTcsIC0xIH0sCisgICAgeyA1NiwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTM5NSwyOCAr
MzkyLDI4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9i
YWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDIwLCAy
NTYgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTgsIC0xIH0sCisgICAgeyA1NywgLTEgfSwK
ICAgICB7IDE1LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDQzLCAtMSB9LAorICAgIHsgNDIsIC0xIH0sCiAgICAgeyAxNCwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAot
ICAgIHsgMzIsIC0xIH0sCisgICAgeyAzMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ3LCAtMSB9LAorICAgIHsgNDYsIC0xIH0sCiAg
ICAgeyAyMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgMiwgLTEgfSwKLSAgICB7IDM0
LCAtMSB9LAorICAgIHsgMzMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCkBAIC00MjYsMjIgKzQyMywyMiBAQCBzdGF0aWMgY29uc3Qgc3Ry
dWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0g
ewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAg
IHsgNTUsIC0xIH0sCisgICAgeyA1NCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
Ci0gICAgeyAyOCwgLTEgfSwKLSAgICB7IDI0LCAtMSB9LAorICAgIHsgMjcsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKLSAgICB7IDM5LCAtMSB9LAorICAgIHsgLTEsIC0xIH0sCisgICAgeyAzOCwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1MCwgLTEgfSwKKyAgICB7
IDQ5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAxMCwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LApAQCAtNDU5LDEyICs0NTYsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFz
aEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDY0LCAtMSB9LAor
ICAgIHsgNjMsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCi0gICAgeyAyOSwgLTEgfSwKLSAgICB7IDI2LCAyNjEgfSwKKyAgICB7IDI4LCAt
MSB9LAorICAgIHsgMjUsIDI2MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LApAQCAtNDc2LDcgKzQ3Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
Q29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IDEyLCAyNTcgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsg
NTksIC0xIH0sCisgICAgeyA1OCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTQ4NSwxNyArNDgyLDE3IEBAIHN0YXRpYyBjb25zdCBz
dHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0g
PSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyAzMCwgMjY1IH0sCisgICAgeyAyOSwgMjY1IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IDEzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2MiwgLTEgfSwKKyAgICB7IDYxLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ1LCAtMSB9LAorICAgIHsg
NDQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCkBAIC01MDgsNyArNTA1LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaElu
ZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDUzLCAtMSB9LAorICAg
IHsgNTIsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCkBAIC01MzAsMTIgKzUyNywxMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RI
YXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNDYsIC0xIH0s
CisgICAgeyA0NSwgLTEgfSwKICAgICB7IDcsIDI2MCB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAg
eyA2MCwgLTEgfSwKKyAgICB7IDU5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0NCwg
LTEgfSwKKyAgICB7IDQzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LApAQCAtNTQ1LDI4ICs1NDIsMjggQEAgc3RhdGljIGNvbnN0IHN0cnVj
dCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsK
ICAgICB7IDIyLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7
IDI1LCAtMSB9LAorICAgIHsgMjQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAotICAgIHsgNDIsIC0xIH0sCisgICAgeyA0MSwgLTEgfSwKICAgICB7IDMsIC0xIH0sCi0g
ICAgeyA0OCwgLTEgfSwKKyAgICB7IDQ3LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0
OSwgLTEgfSwKKyAgICB7IDQ4LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAyMywgMjU5IH0sCi0g
ICAgeyAyNywgLTEgfSwKLSAgICB7IDM2LCAtMSB9LAotICAgIHsgMzgsIC0xIH0sCi0gICAgeyA0
MCwgLTEgfSwKLSAgICB7IDUyLCAtMSB9LAotICAgIHsgNTQsIC0xIH0sCi0gICAgeyA1NiwgLTEg
fSwKLSAgICB7IDYxLCAtMSB9LAotICAgIHsgNjUsIC0xIH0sCisgICAgeyAyNiwgLTEgfSwKKyAg
ICB7IDM1LCAtMSB9LAorICAgIHsgMzcsIC0xIH0sCisgICAgeyAzOSwgLTEgfSwKKyAgICB7IDUx
LCAtMSB9LAorICAgIHsgNTMsIC0xIH0sCisgICAgeyA1NSwgLTEgfSwKKyAgICB7IDYwLCAtMSB9
LAorICAgIHsgNjQsIC0xIH0sCiB9OwogCiAKQEAgLTYwOCw3ICs2MDUsNiBAQCBzdGF0aWMgY29u
c3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXNbXSA9CiAgICAg
eyAiVGVzdEl0ZXJhYmxlIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRy
aWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFBy
b3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0SXRlcmFibGVD
b25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRW
YWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RJdGVyYWJsZUNvbnN0cnVjdG9yKSB9
IH0sCiAgICAgeyAiVGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9yIiwgc3RhdGljX2Nhc3Q8dW5zaWdu
ZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGlu
dHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9i
YWxPYmplY3RUZXN0SlNCdWlsdGluQ29uc3RydWN0b3JDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2Jh
bE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAi
VGVzdE1hcExpa2UiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0
ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVy
dHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNYXBMaWtlQ29uc3Ry
dWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVG
dW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNvbnN0cnVjdG9yKSB9IH0sCi0g
ICAgeyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4o
SlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRy
X3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9i
amVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0
YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxP
YmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAi
VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2ln
bmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChp
bnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xv
YmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9y
KSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4o
c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmll
ckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93
aW5nRXhjZXB0aW9uIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3Bl
cnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRl
eGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVj
dFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKSB9
IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlcldpdGhJZGVudGlmaWVyIiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9J
bnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVG
dW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50
aWZpZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90
OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9yKSB9IH0sCkBAIC02NTcsNyArNjUzLDcgQEAg
c3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlVmFsdWVz
W10gPQogICAgIHsgInJlZ3VsYXJPcGVyYXRpb24iLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlND
OjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qp
c3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+KGpzVGVzdEdsb2JhbE9iamVjdEluc3RhbmNl
RnVuY3Rpb25SZWd1bGFyT3BlcmF0aW9uKSwgKGludHB0cl90KSAoMSkgfSB9LAogfTsKIAotc3Rh
dGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZSA9IHsgNjcsIDI1NSwg
dHJ1ZSwgSlNUZXN0R2xvYmFsT2JqZWN0OjppbmZvKCksIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxl
VmFsdWVzLCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4IH07CitzdGF0aWMgY29uc3QgSGFz
aFRhYmxlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlID0geyA2NiwgMjU1LCB0cnVlLCBKU1Rlc3RH
bG9iYWxPYmplY3Q6OmluZm8oKSwgSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVWYWx1ZXMsIEpTVGVz
dEdsb2JhbE9iamVjdFRhYmxlSW5kZXggfTsKIC8qIEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9y
ICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVWYWx1ZSBKU1Rlc3RHbG9iYWxPYmplY3RDb25z
dHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMTUwMywzMSArMTQ5OSw2IEBAIGJvb2wgc2V0SlNU
ZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4
aWNhbEdsb2JhbE9iCiAgICAgcmV0dXJuIElETEF0dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+
OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvclNldHRlcj4o
KmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE1hcExp
a2UiKTsKIH0KIAotc3RhdGljIGlubGluZSBKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxl
eGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2JhbE9iamVjdCYgdGhpc09iamVjdCwgVGhyb3dT
Y29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVTRURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAg
VU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIHJldHVybiBKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRDb25zdHJ1Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xv
YmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxPYmplY3QoKSk7Ci19Ci0KLUVuY29kZWRKU1Zh
bHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0
b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRo
aXNWYWx1ZSwgUHJvcGVydHlOYW1lKQotewotICAgIHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0
R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUs
ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIpOwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wg
c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3Rv
clNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFs
T2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZhbHVlLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3Bl
KQotewotICAgIFVOVVNFRF9QQVJBTShsZXhpY2FsR2xvYmFsT2JqZWN0KTsKLSAgICBWTSYgdm0g
PSB0aHJvd1Njb3BlLnZtKCk7Ci0gICAgLy8gU2hhZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0
b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9t
U3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNvbnN0IExDaGFyKj4oIlRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyIiksIHN0cmxlbigiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiKSksIHZh
bHVlKTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBF
bmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29kZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKLXsK
LSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVzdEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rl
c3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yU2V0dGVy
PigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1ZhbHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lciIpOwotfQotCiBzdGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0
R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVj
dG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9i
YWxPYmplY3QmIHRoaXNPYmplY3QsIFRocm93U2NvcGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5V
U0VEX1BBUkFNKHRocm93U2NvcGUpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGlu
Z3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NAppbmRleCBmOWQ4MTNkMzAyZWMw
N2ZmZWVmNzk4N2YwZGYyYTczYzE1YjhiYWU0Li4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9K
Uy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5
OCArMCwwIEBACi0vKgotICAgIFRoaXMgZmlsZSBpcyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBz
b3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUgaGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVy
YXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZIQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZy
ZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmlidXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBp
dCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAg
TGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0
aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNlbnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFu
eSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRo
ZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWwsCi0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJB
TlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQgd2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFC
SUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNVTEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQot
ICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0g
ICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2Vu
ZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhl
IGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdh
cmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAg
ICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIK
LSNpbmNsdWRlICJKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0KLSNpbmNsdWRlICJB
Y3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJET01Jc29TdWJzcGFjZXMuaCIKLSNpbmNsdWRl
ICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0
YWJsZS5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVydENhbGxiYWNrcy5oIgotI2luY2x1ZGUgIkpT
RE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKLSNpbmNsdWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgot
I2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCi0jaW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUu
aCIKLSNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCIKLSNpbmNsdWRlICJTY3Jp
cHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVkZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgot
I2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0aW9uUHJvdG90eXBlLmg+Ci0jaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvSGVhcEFuYWx5emVyLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUv
SlNDSW5saW5lcy5oPgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0pTRGVzdHJ1Y3RpYmxlT2Jq
ZWN0SGVhcENlbGxUeXBlLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvU3Vic3BhY2VJbmxp
bmVzLmg+Ci0jaW5jbHVkZSA8d3RmL0dldFB0ci5oPgotI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJl
cGFyYXRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL1VSTC5oPgotCi0KLW5hbWVzcGFjZSBXZWJDb3Jl
IHsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLS8vIEZ1bmN0aW9ucwotCi1KU0M6OkVuY29kZWRK
U1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlw
ZUZ1bmN0aW9uTWV0aG9kKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwot
Ci0vLyBBdHRyaWJ1dGVzCi0KLUpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRK
U1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1ib29sIHNldEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNW
YWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7Ci0KLWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJQcm90b3R5cGUgZmluYWwgOiBwdWJsaWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsK
LXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlNDOjpKU05vbkZpbmFsT2JqZWN0OwotICAgIHN0
YXRpYyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKiBjcmVhdGUoSlNDOjpW
TSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIEpTQzo6U3RydWN0dXJlKiBz
dHJ1Y3R1cmUpCi0gICAgewotICAgICAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpTQzo6YWxsb2NhdGVDZWxsPEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGU+KHZtLmhlYXApKSBKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyUHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QsIHN0cnVjdHVyZSk7Ci0gICAgICAg
IHB0ci0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQot
ICAgIERFQ0xBUkVfSU5GTzsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpT
dWJzcGFjZUFjY2Vzcz4KLSAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3Io
SlNDOjpWTSYgdm0pCi0gICAgewotICAgICAgICBTVEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9T
SEFSQUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlLCBCYXNlKTsKLSAg
ICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNwYWNlOwotICAgIH0KLSAgICBzdGF0aWMgSlND
OjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9i
amVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAg
ICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90
eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZv
KCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
UHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1
cmUqIHN0cnVjdHVyZSkKLSAgICAgICAgOiBKU0M6OkpTTm9uRmluYWxPYmplY3Qodm0sIHN0cnVj
dHVyZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdm9pZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7
Ci19OwotU1RBVElDX0FTU0VSVF9JU09fU1VCU1BBQ0VfU0hBUkFCTEUoSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lclByb3RvdHlwZSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3Rv
dHlwZTo6QmFzZSk7Ci0KLXVzaW5nIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1
Y3RvciA9IEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxlPEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXI+OwotCi10ZW1wbGF0ZTw+IEpTVmFsdWUgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lckNvbnN0cnVjdG9yOjpwcm90b3R5cGVGb3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNv
bnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxPYmplY3QpCi17Ci0gICAgVU5VU0VEX1BBUkFN
KHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0LmZ1bmN0aW9uUHJvdG90eXBlKCk7Ci19Ci0K
LXRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6
OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKLXsKLSAgICBwdXREaXJlY3Qodm0sIHZtLnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3Qp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJp
YnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAg
cHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmco
dm0sIFN0cmluZygiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiX3MpKSwgSlNDOjpQcm9wZXJ0
eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7
Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDAp
LCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFkT25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1
dGU6OkRvbnRFbnVtKTsKLX0KLQotdGVtcGxhdGU8PiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpzX2luZm8gPSB7ICJUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9N
RVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9Owot
Ci0vKiBIYXNoIHRhYmxlIGZvciBwcm90b3R5cGUgKi8KLQotc3RhdGljIGNvbnN0IEhhc2hUYWJs
ZVZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVUYWJsZVZhbHVlc1td
ID0KLXsKLSAgICB7ICJjb25zdHJ1Y3RvciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0
aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNs
b3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVj
dG9yKSB9IH0sCi0gICAgeyAibWV0aG9kIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJv
cGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRp
Y19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlRnVuY3Rpb25NZXRob2QpLCAoaW50cHRyX3QpICgxKSB9IH0sCi19OwotCi1jb25zdCBD
bGFzc0luZm8gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6c19pbmZvID0g
eyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCBu
dWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9EX1RBQkxFKEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXJQcm90b3R5cGUpIH07Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
clByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtKQotewotICAgIEJhc2U6OmZpbmlzaENy
ZWF0aW9uKHZtKTsKLSAgICByZWlmeVN0YXRpY1Byb3BlcnRpZXModm0sIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI6OmluZm8oKSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3Rv
dHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7Ci19Ci0KLWNvbnN0IENsYXNzSW5mbyBKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpzX2luZm8gPSB7ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUo
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcikgfTsKLQotSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcjo6SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcihTdHJ1Y3R1cmUqIHN0cnVjdHVy
ZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPiYmIGltcGwpCi0gICAgOiBKU0RPTVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKQotewotfQot
Ci12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmZpbmlzaENyZWF0aW9uKFZNJiB2
bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7Ci0gICAgQVNTRVJUKGluaGVyaXRz
KHZtLCBpbmZvKCkpKTsKLQotICAgIHN0YXRpY19hc3NlcnQoIXN0ZDo6aXNfYmFzZV9vZjxBY3Rp
dmVET01PYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjo6dmFsdWUsICJJbnRlcmZh
Y2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9NT2JqZWN0XSBldmVuIHRob3VnaCBpbXBsZW1l
bnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2ZURPTU9iamVjdC4iKTsKLQotfQotCi1KU09i
amVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0
LCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUo
dm0sICZnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdC5vYmplY3RQcm90b3R5cGUoKSkpOwotfQot
Ci1KU09iamVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6cHJvdG90eXBlKFZNJiB2
bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gZ2V0RE9N
UHJvdG90eXBlPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KHZtLCBnbG9iYWxPYmplY3Qp
OwotfQotCi1KU1ZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmdldENvbnN0cnVj
dG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCkKLXsKLSAgICBy
ZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0
cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RPTUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVj
dCkpOwotfQotCi12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmRlc3Ryb3koSlND
OjpKU0NlbGwqIGNlbGwpCi17Ci0gICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogdGhp
c09iamVjdCA9IHN0YXRpY19jYXN0PEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqPihjZWxs
KTsKLSAgICB0aGlzT2JqZWN0LT5KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjp+SlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcigpOwotfQotCi10ZW1wbGF0ZTw+IGlubGluZSBKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcj46OmNhc3QoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxG
cmFtZSYgY2FsbEZyYW1lKQotewotICAgIHJldHVybiBqc0R5bmFtaWNDYXN0PEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIqPihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgY2Fs
bEZyYW1lLnRoaXNWYWx1ZSgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIFByb3BlcnR5TmFtZSkKLXsKLSAgICBWTSYg
dm0gPSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIGF1dG8gdGhyb3dTY29w
ZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwotICAgIGF1dG8qIHByb3RvdHlwZSA9IGpzRHlu
YW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSo+KHZtLCBKU1Zh
bHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAgaWYgKFVOTElLRUxZKCFwcm90b3R5cGUpKQot
ICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJv
d1Njb3BlKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6ZW5jb2RlKEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCks
IHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCkpKTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZh
bHVlKQotewotICAgIFZNJiB2bSA9IEpTQzo6Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0g
ICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSk7Ci0gICAgYXV0byog
cHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0aGlzVmFsdWUpKTsKLSAgICBpZiAoVU5MSUtF
TFkoIXByb3RvdHlwZSkpIHsKLSAgICAgICAgdGhyb3dWTVR5cGVFcnJvcihsZXhpY2FsR2xvYmFs
T2JqZWN0LCB0aHJvd1Njb3BlKTsKLSAgICAgICAgcmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICAv
LyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1Y3RvcgotICAgIHJldHVybiBwcm90b3R5cGUt
PnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1lcy0+Y29uc3RydWN0b3IsIEpTVmFsdWU6OmRl
Y29kZShlbmNvZGVkVmFsdWUpKTsKLX0KLQotc3RhdGljIGlubGluZSBKU0M6OkVuY29kZWRKU1Zh
bHVlIGpzVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGVGdW5jdGlvbk1ldGhvZEJv
ZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJh
bWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3BlcmF0aW9uPEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+OjpDbGFzc1BhcmFtZXRlciBjYXN0ZWRUaGlzLCBKU0M6OlRocm93U2NvcGUmIHRo
cm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmplY3QpOwotICAg
IFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwotICAgIFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsK
LSAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+d3JhcHBlZCgpOwotICAgIGlmIChVTkxJS0VM
WShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8IDEpKQotICAgICAgICByZXR1cm4gdGhyb3dW
TUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRocm93U2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFy
Z3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmplY3QpKTsKLSAgICBFbnN1cmVTdGlsbEFsaXZl
U2NvcGUgYXJndW1lbnQwID0gY2FsbEZyYW1lLT51bmNoZWNrZWRBcmd1bWVudCgwKTsKLSAgICBh
dXRvIGxpc3RlbmVyID0gY29udmVydDxJRExDYWxsYmFja0Z1bmN0aW9uPEpTTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcj4+KCpsZXhpY2FsR2xvYmFsT2JqZWN0LCBhcmd1bWVudDAudmFsdWUoKSwgKmNh
c3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShKU0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2Fs
R2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUmIHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0
QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHNjb3BlLCAwLCAibGlzdGVuZXIi
LCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIiLCAibWV0aG9kIik7IH0pOwotICAgIFJFVFVS
Tl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5jb2RlZEpTVmFsdWUoKSk7Ci0gICAgaW1wbC5t
ZXRob2QobGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVu
Y29kZShqc1VuZGVmaW5lZCgpKTsKLX0KLQotRW5jb2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBq
c1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2QoSlNHbG9i
YWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSogY2FsbEZyYW1lKQotewot
ICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj46OmNh
bGw8anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kQm9k
eT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxsRnJhbWUsICJtZXRob2QiKTsKLX0KLQotSlND
OjpJc29TdWJzcGFjZSogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6c3Vic3BhY2VGb3JJ
bXBsKEpTQzo6Vk0mIHZtKQotewotICAgIGF1dG8mIGNsaWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8
SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRhKTsKLSAgICBhdXRvJiBzcGFjZXMgPSBjbGll
bnREYXRhLnN1YnNwYWNlcygpOwotICAgIGlmIChhdXRvKiBzcGFjZSA9IHNwYWNlcy5tX3N1YnNw
YWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuZ2V0KCkpCi0gICAgICAgIHJldHVybiBz
cGFjZTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNEZXN0cnVj
dGlibGVPYmplY3QsIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHx8ICFKU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjpuZWVkc0Rlc3RydWN0aW9uKTsKLSAgICBpZiBjb25zdGV4cHIg
KHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3QsIEpTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI+KQotICAgICAgICBzcGFjZXMubV9zdWJzcGFjZUZvclRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyID0gbWFrZVVuaXF1ZTxJc29TdWJzcGFjZT4gSVNPX1NVQlNQQUNF
X0lOSVQodm0uaGVhcCwgdm0uZGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsKLSAgICBlbHNlCi0gICAgICAgIHNwYWNlcy5t
X3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgPSBtYWtlVW5pcXVlPElzb1N1
YnNwYWNlPiBJU09fU1VCU1BBQ0VfSU5JVCh2bS5oZWFwLCB2bS5jZWxsSGVhcENlbGxUeXBlLmdl
dCgpLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsKLSAgICBhdXRvKiBzcGFjZSA9IHNw
YWNlcy5tX3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuZ2V0KCk7Ci1JR05P
UkVfV0FSTklOR1NfQkVHSU4oInVucmVhY2hhYmxlLWNvZGUiKQotSUdOT1JFX1dBUk5JTkdTX0JF
R0lOKCJ0YXV0b2xvZ2ljYWwtY29tcGFyZSIpCi0gICAgaWYgKCZKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyOjp2aXNpdE91dHB1dENvbnN0cmFpbnRzICE9ICZKU0M6OkpTQ2VsbDo6dmlzaXRP
dXRwdXRDb25zdHJhaW50cykKLSAgICAgICAgY2xpZW50RGF0YS5vdXRwdXRDb25zdHJhaW50U3Bh
Y2VzKCkuYXBwZW5kKHNwYWNlKTsKLUlHTk9SRV9XQVJOSU5HU19FTkQKLUlHTk9SRV9XQVJOSU5H
U19FTkQKLSAgICByZXR1cm4gc3BhY2U7Ci19Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcjo6YW5hbHl6ZUhlYXAoSlNDZWxsKiBjZWxsLCBIZWFwQW5hbHl6ZXImIGFuYWx5emVy
KQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBqc0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcio+KGNlbGwpOwotICAgIGFuYWx5emVyLnNldFdyYXBwZWRPYmplY3RGb3JDZWxsKGNl
bGwsICZ0aGlzT2JqZWN0LT53cmFwcGVkKCkpOwotICAgIGlmICh0aGlzT2JqZWN0LT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIGFuYWx5emVyLnNldExhYmVsRm9yQ2VsbChjZWxs
LCAidXJsICIgKyB0aGlzT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCktPnVybCgpLnN0
cmluZygpKTsKLSAgICBCYXNlOjphbmFseXplSGVhcChjZWxsLCBhbmFseXplcik7Ci19Ci0KLWJv
b2wgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyOjppc1JlYWNoYWJsZUZyb21PcGFx
dWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCosIFNsb3RWaXNp
dG9yJiB2aXNpdG9yLCBjb25zdCBjaGFyKiogcmVhc29uKQotewotICAgIFVOVVNFRF9QQVJBTSho
YW5kbGUpOwotICAgIFVOVVNFRF9QQVJBTSh2aXNpdG9yKTsKLSAgICBVTlVTRURfUEFSQU0ocmVh
c29uKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0KLXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lck93bmVyOjpmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwg
dm9pZCogY29udGV4dCkKLXsKLSAgICBhdXRvKiBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
ID0gc3RhdGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KGhhbmRsZS5zbG90
KCktPmFzQ2VsbCgpKTsKLSAgICBhdXRvJiB3b3JsZCA9ICpzdGF0aWNfY2FzdDxET01XcmFwcGVy
V29ybGQqPihjb250ZXh0KTsKLSAgICB1bmNhY2hlV3JhcHBlcih3b3JsZCwgJmpzVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXItPndyYXBwZWQoKSwganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cik7Ci19Ci0KLSNpZiBFTkFCTEUoQklORElOR19JTlRFR1JJVFkpCi0jaWYgUExBVEZPUk0oV0lO
KQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0ODMpCi1leHRlcm4gIkMiIHsgZXh0ZXJuIHZv
aWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBX
ZWJDb3JlQEA2QkAiKVtdKSgpOyB9Ci0jZWxzZQotZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBf
WlRWTjdXZWJDb3JlMjZUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckVbXTsgfQotI2VuZGlmCi0j
ZW5kaWYKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcj4mJiBpbXBsKQotewotCi0jaWYgRU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQot
ICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBvaW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGlt
cGwucHRyKCkpOwotI2lmIFBMQVRGT1JNKFdJTikKLSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBv
aW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBXZWJD
b3JlQEA2QkAiKTsKLSNlbHNlCi0gICAgdm9pZCogZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9a
VFZON1dlYkNvcmUyNlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyRVsyXTsKLSNlbmRpZgotCi0g
ICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBkb2VzIG5vdCBo
YXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBhZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRp
b25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhlIGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAg
c3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3JwaGljPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyPjo6dmFsdWUsICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBpcyBub3QgcG9seW1vcnBo
aWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhpcyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZl
IGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAgIC8vIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciBoYXMgc3Vi
Y2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAvLyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJl
cXVpcmUgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGlu
ZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcgdGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0
dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBkZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NF
UlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBlY3RlZFZUYWJsZVBvaW50ZXIpOwotI2VuZGlm
Ci0gICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KGds
b2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6
SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEpTRE9NR2xvYmFsT2JqZWN0KiBn
bG9iYWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyJiBpbXBsKQotewotICAgIHJl
dHVybiB3cmFwKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgaW1wbCk7Ci19Ci0K
LVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Ojp0b1dyYXBwZWQoSlNDOjpWTSYgdm0sIEpTQzo6SlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBpZiAo
YXV0byogd3JhcHBlciA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cio+KHZtLCB2YWx1ZSkpCi0gICAgICAgIHJldHVybiAmd3JhcHBlci0+d3JhcHBlZCgpOwotICAg
IHJldHVybiBudWxscHRyOwotfQotCi19CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291
cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZjM5MGQwNTdjODU2YzUx
NmUwN2Y5ZTY5MDZkMzBhZDZiM2M3N2FlYi4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMv
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCisrKyAvZGV2L251bGwKQEAgLTEsOTMgKzAs
MCBAQAotLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFydCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNl
IHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBiZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1i
aW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQotICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNv
ZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBpdCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5k
ZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFyeSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vu
c2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgot
ICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0
ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAgIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlv
dSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkgb2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRoIHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxl
IENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZv
dW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9z
dG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUg
IkpTRE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgi
Ci0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVkLmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsK
LQotY2xhc3MgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA6IHB1YmxpYyBKU0RPTVdyYXBw
ZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNl
ID0gSlNET01XcmFwcGVyPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjsKLSAgICBzdGF0aWMg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogY3JlYXRlKEpTQzo6U3RydWN0dXJlKiBzdHJ1
Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotICAgIHsKLSAgICAgICAgSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lciogcHRyID0gbmV3IChOb3ROdWxsLCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihnbG9iYWxPYmplY3QtPnZtKCkuaGVhcCkpIEpTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIoc3RydWN0dXJlLCAqZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGlt
cGwpKTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVhdGlvbihnbG9iYWxPYmplY3QtPnZtKCkpOwot
ICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBj
cmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTRE9NR2xvYmFsT2JqZWN0Jik7Ci0gICAgc3RhdGlj
IEpTQzo6SlNPYmplY3QqIHByb3RvdHlwZShKU0M6OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsK
LSAgICBzdGF0aWMgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIHRvV3JhcHBlZChKU0M6OlZN
JiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMgdm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7
Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0
ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3Ry
dWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZv
KEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0KLQotICAg
IHN0YXRpYyBKU0M6OkpTVmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0IEpTQzo6
SlNHbG9iYWxPYmplY3QqKTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgSlNDOjpTdWJzcGFjZUFj
Y2VzcyBtb2RlPiBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYg
dm0pCi0gICAgewotICAgICAgICBpZiBjb25zdGV4cHIgKG1vZGUgPT0gSlNDOjpTdWJzcGFjZUFj
Y2Vzczo6Q29uY3VycmVudGx5KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAg
IHJldHVybiBzdWJzcGFjZUZvckltcGwodm0pOwotICAgIH0KLSAgICBzdGF0aWMgSlNDOjpJc29T
dWJzcGFjZSogc3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsKLSAgICBzdGF0aWMgdm9pZCBh
bmFseXplSGVhcChKU0NlbGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwotcHJvdGVjdGVkOgotICAg
IEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2Jh
bE9iamVjdCYsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0KLSAgICB2b2lk
IGZpbmlzaENyZWF0aW9uKEpTQzo6Vk0mKTsKLX07Ci0KLWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXJPd25lciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7Ci1wdWJsaWM6
Ci0gICAgdmlydHVhbCBib29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxl
PEpTQzo6VW5rbm93bj4sIHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBjb25zdCBj
aGFyKiopOwotICAgIHZpcnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25v
d24+LCB2b2lkKiBjb250ZXh0KTsKLX07Ci0KLWlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciog
d3JhcHBlck93bmVyKERPTVdyYXBwZXJXb3JsZCYsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
KikKLXsKLSAgICBzdGF0aWMgTmV2ZXJEZXN0cm95ZWQ8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lck93bmVyPiBvd25lcjsKLSAgICByZXR1cm4gJm93bmVyLmdldCgpOwotfQotCi1pbmxpbmUg
dm9pZCogd3JhcHBlcktleShUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogd3JhcHBhYmxlT2Jq
ZWN0KQotewotICAgIHJldHVybiB3cmFwcGFibGVPYmplY3Q7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0
b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyJik7Ci1pbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpKU0dsb2Jh
bE9iamVjdCogbGV4aWNhbEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9i
amVjdCwgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqIGltcGwpIHsgcmV0dXJuIGltcGwgPyB0
b0pTKGxleGljYWxHbG9iYWxPYmplY3QsIGdsb2JhbE9iamVjdCwgKmltcGwpIDogSlNDOjpqc051
bGwoKTsgfQotSlNDOjpKU1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVj
dCosIEpTRE9NR2xvYmFsT2JqZWN0KiwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYm
KTsKLWlubGluZSBKU0M6OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0
LCBSZWZQdHI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYgaW1wbCkgeyByZXR1cm4gaW1w
bCA/IHRvSlNOZXdseUNyZWF0ZWQobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBp
bXBsLnJlbGVhc2VOb25OdWxsKCkpIDogSlNDOjpqc051bGwoKTsgfQotCi10ZW1wbGF0ZTw+IHN0
cnVjdCBKU0RPTVdyYXBwZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXI+IHsKLSAgICB1c2luZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyOwotICAgIHVzaW5nIFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcio7Ci19OwotCi19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaWRsIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmNiYTk4
Y2JmY2FlZWM4Njc3YWUwYzU1OWIxZjcwZDk0OThhYmVlMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEs
MzAgKzAsMCBAQAotLyoKLSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBh
bmQvb3IgaXRzIHN1YnNpZGlhcnkoLWllcykKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNl
IGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNh
dGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u
cwotICogYXJlIG1ldDoKLSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0
IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBj
b25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1
dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAot
ICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBk
aXNjbGFpbWVyIGluIHRoZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJp
YWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJF
IElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1Mg
T1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhF
Ci0gKiBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZP
UiBBIFBBUlRJQ1VMQVIKLSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBT
SEFMTCBBUFBMRSBJTkMuIE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElS
RUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09O
U0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBS
T0NVUkVNRU5UIE9GIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBE
QVRBLCBPUgotICogUFJPRklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENB
VVNFRCBBTkQgT04gQU5ZIFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRS
QUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0Ug
T1IgT1RIRVJXSVNFKSBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRI
SVMgU09GVFdBUkUsIEVWRU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBE
QU1BR0UuCi0gKi8KLQotLy8gVGhpcyBJREwgZmlsZSBpcyBmb3IgdGVzdGluZyB0aGUgYmluZGlu
Z3MgY29kZSBnZW5lcmF0b3Igd2l0aCBhbiBpbnRlcmZhY2UKLS8vIHRoYXQgaGFzIG1ldGhvZHMg
cmVjZWl2aW5nIGEgcGFyYW1ldGVyIG9mIHRoZSB0eXBlIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
Ci1pbnRlcmZhY2UgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgewotICAgIHZvaWQgbWV0aG9k
KE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgbGlzdGVuZXIpOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeUxpc3QuY3BwCmluZGV4IGY0ZTEzODdlZmYyMWY0ZTlmMGM2MjBkM2ZiMTgxODhlYWIz
OWQ0N2UuLjVlMmQyMzk0OTc3MGYzZjVjZWZlNDJkMTFlZDYyYWY2NGMwMGM5YTIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmNwcApAQCAtMjAsNDggKzIwLDUzIEBACiAjaW5jbHVk
ZSAiY29uZmlnLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKIAotI2luY2x1ZGUgIk1l
ZGlhTGlzdC5oIgotI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKLSNpbmNsdWRlICJN
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeU1hdGNoZXIuaCIK
KyNpbmNsdWRlICJFdmVudE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMu
aD4KIAogbmFtZXNwYWNlIFdlYkNvcmUgewogCi1pbmxpbmUgTWVkaWFRdWVyeUxpc3Q6Ok1lZGlh
UXVlcnlMaXN0KE1lZGlhUXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4m
JiBtZWRpYSwgYm9vbCBtYXRjaGVzKQotICAgIDogbV9tYXRjaGVyKG1hdGNoZXIpCitXVEZfTUFL
RV9JU09fQUxMT0NBVEVEX0lNUEwoTWVkaWFRdWVyeUxpc3QpOworCitNZWRpYVF1ZXJ5TGlzdDo6
TWVkaWFRdWVyeUxpc3QoRG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0
Y2hlciwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKKyAgICA6IENv
bnRleHREZXN0cnVjdGlvbk9ic2VydmVyKCZkb2N1bWVudCkKKyAgICAsIG1fbWF0Y2hlcihtYXRj
aGVyKQogICAgICwgbV9tZWRpYShXVEZNb3ZlKG1lZGlhKSkKICAgICAsIG1fZXZhbHVhdGlvblJv
dW5kKG1fbWF0Y2hlci0+ZXZhbHVhdGlvblJvdW5kKCkpCiAgICAgLCBtX2NoYW5nZVJvdW5kKG1f
ZXZhbHVhdGlvblJvdW5kIC0gMSkgLy8gQW55IHZhbHVlIHRoYXQgaXMgbm90IHRoZSBzYW1lIGFz
IG1fZXZhbHVhdGlvblJvdW5kIHdvdWxkIGRvLgogICAgICwgbV9tYXRjaGVzKG1hdGNoZXMpCiB7
CisgICAgbV9tYXRjaGVyLT5hZGRNZWRpYVF1ZXJ5TGlzdCgqdGhpcyk7CiB9CiAKLVJlZjxNZWRp
YVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0
Y2hlciwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKK1JlZjxNZWRp
YVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIE1l
ZGlhUXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgYm9v
bCBtYXRjaGVzKQogewotICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhUXVlcnlMaXN0KG1h
dGNoZXIsIFdURk1vdmUobWVkaWEpLCBtYXRjaGVzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTWVkaWFRdWVyeUxpc3QoZG9jdW1lbnQsIG1hdGNoZXIsIFdURk1vdmUobWVkaWEpLCBtYXRj
aGVzKSk7CiB9CiAKLU1lZGlhUXVlcnlMaXN0Ojp+TWVkaWFRdWVyeUxpc3QoKSA9IGRlZmF1bHQ7
CitNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVlcnlMaXN0KCkKK3sKKyAgICBtX21hdGNoZXItPnJl
bW92ZU1lZGlhUXVlcnlMaXN0KCp0aGlzKTsKK30KIAogU3RyaW5nIE1lZGlhUXVlcnlMaXN0Ojpt
ZWRpYSgpIGNvbnN0CiB7CiAgICAgcmV0dXJuIG1fbWVkaWEtPm1lZGlhVGV4dCgpOwogfQogCi12
b2lkIE1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcj4mJiBsaXN0ZW5lcikKK3ZvaWQgTWVkaWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKFJlZlB0
cjxFdmVudExpc3RlbmVyPiYmIGxpc3RlbmVyKQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAg
ICAgIHJldHVybjsKIAotICAgIG1fbWF0Y2hlci0+YWRkTGlzdGVuZXIobGlzdGVuZXIucmVsZWFz
ZU5vbk51bGwoKSwgKnRoaXMpOworICAgIGFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNo
YW5nZUV2ZW50LCBsaXN0ZW5lci5yZWxlYXNlTm9uTnVsbCgpKTsKIH0KIAotdm9pZCBNZWRpYVF1
ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIoUmVmUHRyPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYg
bGlzdGVuZXIpCit2b2lkIE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZl
bnRMaXN0ZW5lcj4mJiBsaXN0ZW5lcikKIHsKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICBy
ZXR1cm47CiAKLSAgICBtX21hdGNoZXItPnJlbW92ZUxpc3RlbmVyKCpsaXN0ZW5lciwgKnRoaXMp
OworICAgIHJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCAqbGlz
dGVuZXIpOwogfQogCiB2b2lkIE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZShNZWRpYVF1ZXJ5RXZh
bHVhdG9yJiBldmFsdWF0b3IsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRlZCkKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlMaXN0LmgKaW5kZXggYTJmMDYxODI1ODYxMTYxMmMwNzVmOTYxYzFmYzMyYzNh
OGNhMDFkZi4uOTYyN2I2MmYzOTI4Y2FkYjAxZmYzNTc2Njc4YjY3NTMyYjE0YjM1MSAxMDA2NDQK
LS0tIGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKKysrIGIvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKQEAgLTE5LDQwICsxOSw0NiBAQAogCiAjcHJhZ21h
IG9uY2UKIAotI2luY2x1ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50
ZWQuaD4KLSNpbmNsdWRlIDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0
aW9uT2JzZXJ2ZXIuaCIKKyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIk1lZGlh
TGlzdC5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJNZWRp
YVF1ZXJ5TWF0Y2hlci5oIgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI7Ci1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yOwotY2xhc3MgTWVkaWFR
dWVyeU1hdGNoZXI7Ci1jbGFzcyBNZWRpYVF1ZXJ5U2V0OwotCi0vLyBNZWRpYVF1ZXJ5TGlzdCBp
bnRlcmZhY2UgaXMgc3BlY2lmaWVkIGF0IGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLXZp
ZXcvI3RoZS1tZWRpYXF1ZXJ5bGlzdC1pbnRlcmZhY2UKKy8vIE1lZGlhUXVlcnlMaXN0IGludGVy
ZmFjZSBpcyBzcGVjaWZpZWQgYXQgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLXZpZXcv
I3RoZS1tZWRpYXF1ZXJ5bGlzdC1pbnRlcmZhY2UKIC8vIFRoZSBvYmplY3RzIG9mIHRoaXMgY2xh
c3MgYXJlIHJldHVybmVkIGJ5IHdpbmRvdy5tYXRjaE1lZGlhLiBUaGV5IG1heSBiZSB1c2VkIHRv
CiAvLyByZXRyaWV2ZSB0aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gbWVkaWEgcXVlcnkg
YW5kIHRvIGFkZC9yZW1vdmUgbGlzdGVuZXJzIHRoYXQKIC8vIHdpbGwgYmUgY2FsbGVkIHdoZW5l
dmVyIHRoZSB2YWx1ZSBvZiB0aGUgcXVlcnkgY2hhbmdlcy4KIAotY2xhc3MgTWVkaWFRdWVyeUxp
c3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4geworY2xhc3MgTWVk
aWFRdWVyeUxpc3QgZmluYWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4sIHB1
YmxpYyBFdmVudFRhcmdldFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVk
aWFRdWVyeUxpc3Q+LCBwcml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBX
VEZfTUFLRV9JU09fQUxMT0NBVEVEKE1lZGlhUXVlcnlMaXN0KTsKIHB1YmxpYzoKLSAgICBzdGF0
aWMgUmVmPE1lZGlhUXVlcnlMaXN0PiBjcmVhdGUoTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVk
aWFRdWVyeVNldD4mJiwgYm9vbCk7CisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdD4gY3Jl
YXRlKERvY3VtZW50JiwgTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwg
Ym9vbCBtYXRjaGVzKTsKICAgICB+TWVkaWFRdWVyeUxpc3QoKTsKIAogICAgIFN0cmluZyBtZWRp
YSgpIGNvbnN0OwogICAgIGJvb2wgbWF0Y2hlcygpOwogCi0gICAgdm9pZCBhZGRMaXN0ZW5lcihS
ZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0gICAgdm9pZCByZW1vdmVMaXN0ZW5l
cihSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7CisgICAgdm9pZCBhZGRMaXN0ZW5l
cihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihSZWZQ
dHI8RXZlbnRMaXN0ZW5lcj4mJik7CiAKICAgICB2b2lkIGV2YWx1YXRlKE1lZGlhUXVlcnlFdmFs
dWF0b3ImLCBib29sJiBub3RpZmljYXRpb25OZWVkZWQpOwogCisgICAgdXNpbmcgUmVmQ291bnRl
ZDo6cmVmOworICAgIHVzaW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCiBwcml2YXRlOgotICAgIE1l
ZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJv
b2wgbWF0Y2hlcyk7CisgICAgTWVkaWFRdWVyeUxpc3QoRG9jdW1lbnQmLCBNZWRpYVF1ZXJ5TWF0
Y2hlciYsIFJlZjxNZWRpYVF1ZXJ5U2V0PiYmLCBib29sIG1hdGNoZXMpOwogCiAgICAgdm9pZCBz
ZXRNYXRjaGVzKGJvb2wpOwogCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJ
bnRlcmZhY2UoKSBjb25zdCBmaW5hbCB7IHJldHVybiBNZWRpYVF1ZXJ5TGlzdEV2ZW50VGFyZ2V0
SW50ZXJmYWNlVHlwZTsgfQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1
dGlvbkNvbnRleHQoKSBjb25zdCBmaW5hbCB7IHJldHVybiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNl
cnZlcjo6c2NyaXB0RXhlY3V0aW9uQ29udGV4dCgpOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdl
dCgpIGZpbmFsIHsgcmVmKCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7
IGRlcmVmKCk7IH0KKwogICAgIFJlZjxNZWRpYVF1ZXJ5TWF0Y2hlcj4gbV9tYXRjaGVyOwogICAg
IFJlZjxNZWRpYVF1ZXJ5U2V0PiBtX21lZGlhOwogICAgIHVuc2lnbmVkIG1fZXZhbHVhdGlvblJv
dW5kOyAvLyBJbmRpY2F0ZXMgaWYgdGhlIHF1ZXJ5IGhhcyBiZWVuIGV2YWx1YXRlZCBhZnRlciB0
aGUgbGFzdCBzdHlsZSBzZWxlY3RvciBjaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlM
aXN0LmlkbAppbmRleCAzZGZmZGNmNWM4MGQ2M2E2OWZiMmNhMzk0NTdjN2RjOWJlYmQ1NDJiLi4w
MmViOWMzZTFkNTQ4YTQxMWY3ZDZlOTg1OTc2ZjJiOWEzMzNjZDVlIDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TGlzdC5pZGwKQEAgLTE3LDEzICsxNywxMiBAQAogICogIEJvc3RvbiwgTUEg
MDIxMTAtMTMwMSwgVVNBLgogICovCiBbCi0gICAgTm9JbnRlcmZhY2VPYmplY3QsCi0gICAgSW1w
bGVtZW50YXRpb25MYWNrc1ZUYWJsZSwKLV0gaW50ZXJmYWNlIE1lZGlhUXVlcnlMaXN0IHsKKyAg
ICBFeHBvc2VkPVdpbmRvdworXSBpbnRlcmZhY2UgTWVkaWFRdWVyeUxpc3QgOiBFdmVudFRhcmdl
dCB7CiAgICAgcmVhZG9ubHkgYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKICAgICByZWFkb25s
eSBhdHRyaWJ1dGUgYm9vbGVhbiBtYXRjaGVzOwogCi0gICAgLy8gRklYTUU6IFRoZSBsaXN0ZW5l
ciBwYXJhbWV0ZXIgc2hvdWxkIG5vdCBiZSBvcHRpb25hbC4KLSAgICB2b2lkIGFkZExpc3RlbmVy
KG9wdGlvbmFsIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI/IGxpc3RlbmVyID0gbnVsbCk7Ci0gICAg
dm9pZCByZW1vdmVMaXN0ZW5lcihvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPyBsaXN0
ZW5lciA9IG51bGwpOworICAgIHZvaWQgYWRkTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVu
ZXIpOworICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVuZXIpOwor
ICAgIGF0dHJpYnV0ZSBFdmVudEhhbmRsZXIgb25jaGFuZ2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291
cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUv
Y3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4MjIyMzEyZDQwYzliNzkx
OTljOTBjZGI2MmIwYzZjMTBmNzZjMDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENv
cHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4K
KyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1z
LCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRl
ZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlz
dHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0
CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5n
IGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCBy
ZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2Yg
Y29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9j
dW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3Ry
aWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4g
QU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1Q
TElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJ
TVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBB
UlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQ
UExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNU
LCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VR
VUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1F
TlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRB
LCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNF
RCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNU
LCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhF
UldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZU
V0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1B
R0UuCisgKi8KKworI2luY2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0
RXZlbnQuaCIKKworbmFtZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoTWVkaWFRdWVyeUxpc3RFdmVudCk7CisKK01lZGlhUXVlcnlMaXN0RXZlbnQ6Ok1lZGlh
UXVlcnlMaXN0RXZlbnQoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBtZWRp
YSwgYm9vbCBtYXRjaGVzKQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5j
ZWxhYmxlOjpObykKKyAgICAsIG1fbWVkaWEobWVkaWEpCisgICAgLCBtX21hdGNoZXMobWF0Y2hl
cykKK3sKK30KKworTWVkaWFRdWVyeUxpc3RFdmVudDo6TWVkaWFRdWVyeUxpc3RFdmVudChjb25z
dCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiBpbml0LCBJc1RydXN0ZWQgaXNUcnVzdGVk
KQorICAgIDogRXZlbnQodHlwZSwgaW5pdCwgaXNUcnVzdGVkKQorICAgICwgbV9tZWRpYShpbml0
Lm1lZGlhKQorICAgICwgbV9tYXRjaGVzKGluaXQubWF0Y2hlcykKK3sKK30KKworUmVmPE1lZGlh
UXVlcnlMaXN0RXZlbnQ+IE1lZGlhUXVlcnlMaXN0RXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3Ry
aW5nJiB0eXBlLCBjb25zdCBTdHJpbmcmIG1lZGlhLCBib29sIG1hdGNoZXMpCit7CisgICAgcmV0
dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RFdmVudCh0eXBlLCBtZWRpYSwgbWF0Y2hl
cykpOworfQorCitSZWY8TWVkaWFRdWVyeUxpc3RFdmVudD4gTWVkaWFRdWVyeUxpc3RFdmVudDo6
Y3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXQsIElzVHJ1c3Rl
ZCBpc1RydXN0ZWQpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RF
dmVudCh0eXBlLCBpbml0LCBpc1RydXN0ZWQpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29y
ZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuaCBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKbmV3IGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE4
OWZiMWFlZDI0YjQ5ZThhZDI5YTkyY2RiMDMwY2I2MTkyZWIyYQotLS0gL2Rldi9udWxsCisrKyBi
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKQEAgLTAsMCArMSw1NiBA
QAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hA
Z21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoK
KyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVY
UFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRO
RVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVW
RU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZP
UiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBP
UgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBU
TywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1Mg
T0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBI
T1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4K
KyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElH
RU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0Ug
T0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkg
T0YgU1VDSCBEQU1BR0UuCisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJFdmVudC5o
IgorCituYW1lc3BhY2UgV2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhUXVlcnlMaXN0RXZlbnQgZmlu
YWwgOiBwdWJsaWMgRXZlbnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVy
eUxpc3RFdmVudCk7CitwdWJsaWM6CisgICAgc3RydWN0IEluaXQgOiBFdmVudEluaXQgeworICAg
ICAgICBTdHJpbmcgbWVkaWE7CisgICAgICAgIGJvb2wgbWF0Y2hlcyB7IGZhbHNlIH07CisgICAg
fTsKKworICAgIHN0YXRpYyBSZWY8TWVkaWFRdWVyeUxpc3RFdmVudD4gY3JlYXRlKGNvbnN0IEF0
b21TdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWVkaWEsIGJvb2wgbWF0Y2hlcyk7CisgICAg
c3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYg
dHlwZSwgY29uc3QgSW5pdCYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOworCisgICAgY29u
c3QgU3RyaW5nJiBtZWRpYSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWE7IH0KKyAgICBib29sIG1h
dGNoZXMoKSBjb25zdCB7IHJldHVybiBtX21hdGNoZXM7IH0KKworICAgIEV2ZW50SW50ZXJmYWNl
IGV2ZW50SW50ZXJmYWNlKCkgY29uc3QgZmluYWwgeyByZXR1cm4gTWVkaWFRdWVyeUxpc3RFdmVu
dEludGVyZmFjZVR5cGU7IH0KKworcHJpdmF0ZToKKyAgICBNZWRpYVF1ZXJ5TGlzdEV2ZW50KGNv
bnN0IEF0b21TdHJpbmcmIHR5cGUsIGNvbnN0IFN0cmluZyYgbWVkaWEsIGJvb2wgbWF0Y2hlcyk7
CisgICAgTWVkaWFRdWVyeUxpc3RFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJ
bml0JiwgSXNUcnVzdGVkKTsKKworICAgIFN0cmluZyBtX21lZGlhOworICAgIGJvb2wgbV9tYXRj
aGVzOworfTsKKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL01l
ZGlhUXVlcnlMaXN0RXZlbnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjljMzIwYzg3OGYzZjU1MWNjMmVjMTY4
MzdhMzg4OGU5ODZhZDY1YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUxpc3RFdmVudC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdo
dCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisg
KiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRo
IG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0
IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0
aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAg
ICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2Ns
YWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1
Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0
aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRh
dGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlv
bi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElU
UyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBX
QVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVE
IFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VM
QVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElO
Qy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJ
UkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElB
TCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YK
KyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQ
Uk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQg
T04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJ
Q1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0Up
CisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwg
RVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisg
Ki8KKworWworICAgIENvbnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZWRpYVF1
ZXJ5TGlzdEV2ZW50SW5pdCBtZWRpYVF1ZXJ5TGlzdEV2ZW50SW5pdCksCitdIGludGVyZmFjZSBN
ZWRpYVF1ZXJ5TGlzdEV2ZW50IDogRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01T
dHJpbmcgbWVkaWE7CisgICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gbWF0Y2hlczsKK307
CisKK2RpY3Rpb25hcnkgTWVkaWFRdWVyeUxpc3RFdmVudEluaXQgOiBFdmVudEluaXQgeworICAg
IERPTVN0cmluZyBtZWRpYSA9ICIiOworICAgIGJvb2xlYW4gbWF0Y2hlcyA9IGZhbHNlOworfTsK
ZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCmRlbGV0ZWQgZmls
ZSBtb2RlIDEwMDY0NAppbmRleCBkMzE1ODRhOWM5MzY4M2Y2OTE0M2M0YzcyNTk2MzAyOTMyZTZl
M2MxLi4wMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJj
ZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIC9kZXYvbnVsbApAQCAt
MSw1MiArMCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9u
IGFuZC9vciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJl
ZSBzb2Z0d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0
IHVuZGVyIHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBM
aWNlbnNlIGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRo
ZXIKLSAqICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55
IGxhdGVyIHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0
aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJS
QU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUK
LSAqICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAq
Ci0gKiAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkg
R2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUg
dGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29m
dHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwK
LSAqICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQot
I2luY2x1ZGUgIkFjdGl2ZURPTUNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiQ2FsbGJhY2tSZXN1bHQu
aCIKLSNpbmNsdWRlIDx3dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0K
LWNsYXNzIE1lZGlhUXVlcnlMaXN0OwotCi1jbGFzcyBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIDog
cHVibGljIFJlZkNvdW50ZWQ8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4sIHB1YmxpYyBBY3RpdmVE
T01DYWxsYmFjayB7Ci1wdWJsaWM6Ci0gICAgZW51bSBUeXBlIHsKLSAgICAgICAgSlNNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyVHlwZQotICAgIH07Ci0KLSAgICB2aXJ0dWFsIENhbGxiYWNrUmVzdWx0
PHZvaWQ+IGhhbmRsZUV2ZW50KE1lZGlhUXVlcnlMaXN0JikgPSAwOwotICAgIHZpcnR1YWwgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImKSBjb25zdCA9IDA7Ci0K
LSAgICBUeXBlIHR5cGUoKSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KLQotcHJvdGVjdGVkOgot
ICAgIGV4cGxpY2l0IE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4
dCogY29udGV4dCwgVHlwZSB0eXBlKQotICAgICAgICA6IEFjdGl2ZURPTUNhbGxiYWNrKGNvbnRl
eHQpCi0gICAgICAgICwgbV90eXBlKHR5cGUpCi0gICAgewotICAgIH0KLQotcHJpdmF0ZToKLSAg
ICBUeXBlIG1fdHlwZTsKLX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbCBiL1NvdXJjZS9X
ZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggZmRmMWRiNzNiNzBhYjdkMjRhMDIzZjg5OTFlMTAwZWMxNDFiMTNlYy4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMyAr
MCwwIEBACi0vKgotICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9v
ciBpdHMgc3Vic2lkaWFyeSgtaWVzKQotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0
d2FyZTsgeW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVy
IHRoZSB0ZXJtcyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNl
IGFzIHB1Ymxpc2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAq
ICB2ZXJzaW9uIDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVy
IHZlcnNpb24uCi0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsg
d2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAg
WW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJh
bCBQdWJsaWMgTGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZp
bGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUg
Rm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqICBC
b3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi1bCi0gICAgQ2FsbGJhY2tOZWVkc09w
ZXJhdG9yRXF1YWwKLV0gY2FsbGJhY2sgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA9IHZvaWQgKE1l
ZGlhUXVlcnlMaXN0IGxpc3QpOwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeU1hdGNoZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVy
LmNwcAppbmRleCBjZDJjZWZjN2M1ZmMyNTZmYzlkOTk4NmNkMTVmMzU4YzdhMTNiNDA1Li4xYmMy
NjI0YWQxN2E5ODYxMTJlZDMyNzU3OTYzYWNjZjJlODFkOWY0IDEwMDY0NAotLS0gYS9Tb3VyY2Uv
V2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nz
cy9NZWRpYVF1ZXJ5TWF0Y2hlci5jcHAKQEAgLTIxLDEzICsyMSwxMyBAQAogI2luY2x1ZGUgIk1l
ZGlhUXVlcnlNYXRjaGVyLmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV2
ZW50TmFtZXMuaCIKICNpbmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgog
I2luY2x1ZGUgIkxvZ2dpbmcuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJN
ZWRpYVF1ZXJ5RXZhbHVhdG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKLSNpbmNs
dWRlICJNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNl
ckNvbnRleHQuaCIKICNpbmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZW5k
ZXJFbGVtZW50LmgiCkBAIC00Niw4ICs0Niw4IEBAIE1lZGlhUXVlcnlNYXRjaGVyOjp+TWVkaWFR
dWVyeU1hdGNoZXIoKSA9IGRlZmF1bHQ7CiAKIHZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmRvY3Vt
ZW50RGVzdHJveWVkKCkKIHsKLSAgICBtX2xpc3RlbmVycy5jbGVhcigpOwogICAgIG1fZG9jdW1l
bnQgPSBudWxscHRyOworICAgIG1fbWVkaWFRdWVyeUxpc3RzLmNsZWFyKCk7CiB9CiAKIFN0cmlu
ZyBNZWRpYVF1ZXJ5TWF0Y2hlcjo6bWVkaWFUeXBlKCkgY29uc3QKQEAgLTc4LDM1ICs3OCwyNiBA
QCBib29sIE1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5U2V0JiBt
ZWRpYSkKICAgICByZXR1cm4gTWVkaWFRdWVyeUV2YWx1YXRvciB7IG1lZGlhVHlwZSgpLCAqbV9k
b2N1bWVudCwgc3R5bGUuZ2V0KCkgfS5ldmFsdWF0ZShtZWRpYSk7CiB9CiAKLVJlZlB0cjxNZWRp
YVF1ZXJ5TGlzdD4gTWVkaWFRdWVyeU1hdGNoZXI6Om1hdGNoTWVkaWEoY29uc3QgU3RyaW5nJiBx
dWVyeSkKK3ZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmFkZE1lZGlhUXVlcnlMaXN0KE1lZGlhUXVl
cnlMaXN0JiBsaXN0KQogewotICAgIGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIG51
bGxwdHI7Ci0KLSAgICBhdXRvIG1lZGlhID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHF1ZXJ5LCBN
ZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dCgqbV9kb2N1bWVudCkpOwotICAgIHJlcG9ydE1lZGlhUXVl
cnlXYXJuaW5nSWZOZWVkZWQobV9kb2N1bWVudC5nZXQoKSwgbWVkaWEucHRyKCkpOwotICAgIGJv
b2wgcmVzdWx0ID0gZXZhbHVhdGUobWVkaWEuZ2V0KCkpOwotICAgIHJldHVybiBNZWRpYVF1ZXJ5
TGlzdDo6Y3JlYXRlKCp0aGlzLCBXVEZNb3ZlKG1lZGlhKSwgcmVzdWx0KTsKKyAgICBBU1NFUlQo
IW1fbWVkaWFRdWVyeUxpc3RzLmNvbnRhaW5zKCZsaXN0KSk7CisgICAgbV9tZWRpYVF1ZXJ5TGlz
dHMuYXBwZW5kKG1ha2VXZWFrUHRyKCZsaXN0KSk7CiB9CiAKLXZvaWQgTWVkaWFRdWVyeU1hdGNo
ZXI6OmFkZExpc3RlbmVyKFJlZjxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmIGxpc3RlbmVyLCBN
ZWRpYVF1ZXJ5TGlzdCYgcXVlcnkpCit2b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjpyZW1vdmVNZWRp
YVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5TGlzdCYgbGlzdCkKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQp
Ci0gICAgICAgIHJldHVybjsKLQotICAgIGZvciAoYXV0byYgZXhpc3RpbmdMaXN0ZW5lciA6IG1f
bGlzdGVuZXJzKSB7Ci0gICAgICAgIGlmIChleGlzdGluZ0xpc3RlbmVyLmxpc3RlbmVyLmdldCgp
ID09IGxpc3RlbmVyLmdldCgpICYmIGV4aXN0aW5nTGlzdGVuZXIucXVlcnkucHRyKCkgPT0gJnF1
ZXJ5KQotICAgICAgICAgICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fbGlzdGVuZXJzLmFwcGVu
ZChMaXN0ZW5lciB7IFdURk1vdmUobGlzdGVuZXIpLCBxdWVyeSB9KTsKKyAgICBtX21lZGlhUXVl
cnlMaXN0cy5yZW1vdmVGaXJzdCgmbGlzdCk7CiB9CiAKLXZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6
OnJlbW92ZUxpc3RlbmVyKE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImIGxpc3RlbmVyLCBNZWRpYVF1
ZXJ5TGlzdCYgcXVlcnkpCitSZWZQdHI8TWVkaWFRdWVyeUxpc3Q+IE1lZGlhUXVlcnlNYXRjaGVy
OjptYXRjaE1lZGlhKGNvbnN0IFN0cmluZyYgcXVlcnkpCiB7Ci0gICAgbV9saXN0ZW5lcnMucmVt
b3ZlRmlyc3RNYXRjaGluZyhbJmxpc3RlbmVyLCAmcXVlcnldKGF1dG8mIGV4aXN0aW5nTGlzdGVu
ZXIpIHsKLSAgICAgICAgcmV0dXJuIGV4aXN0aW5nTGlzdGVuZXIubGlzdGVuZXIuZ2V0KCkgPT0g
bGlzdGVuZXIgJiYgZXhpc3RpbmdMaXN0ZW5lci5xdWVyeS5wdHIoKSA9PSAmcXVlcnk7Ci0gICAg
fSk7CisgICAgaWYgKCFtX2RvY3VtZW50KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAg
IGF1dG8gbWVkaWEgPSBNZWRpYVF1ZXJ5U2V0OjpjcmVhdGUocXVlcnksIE1lZGlhUXVlcnlQYXJz
ZXJDb250ZXh0KCptX2RvY3VtZW50KSk7CisgICAgcmVwb3J0TWVkaWFRdWVyeVdhcm5pbmdJZk5l
ZWRlZChtX2RvY3VtZW50LmdldCgpLCBtZWRpYS5wdHIoKSk7CisgICAgYm9vbCBtYXRjaGVzID0g
ZXZhbHVhdGUobWVkaWEuZ2V0KCkpOworICAgIHJldHVybiBNZWRpYVF1ZXJ5TGlzdDo6Y3JlYXRl
KCptX2RvY3VtZW50LCAqdGhpcywgV1RGTW92ZShtZWRpYSksIG1hdGNoZXMpOwogfQogCiB2b2lk
IE1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZUFsbCgpCkBAIC0xMjIsMTUgKzExMywxMyBAQCB2
b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZUFsbCgpCiAgICAgTE9HX1dJVEhfU1RSRUFN
KE1lZGlhUXVlcmllcywgc3RyZWFtIDw8ICJNZWRpYVF1ZXJ5TWF0Y2hlcjo6c3R5bGVSZXNvbHZl
ckNoYW5nZWQgIiA8PCBtX2RvY3VtZW50LT51cmwoKSk7CiAKICAgICBNZWRpYVF1ZXJ5RXZhbHVh
dG9yIGV2YWx1YXRvciB7IG1lZGlhVHlwZSgpLCAqbV9kb2N1bWVudCwgc3R5bGUuZ2V0KCkgfTsK
LSAgICBWZWN0b3I8TGlzdGVuZXI+IGxpc3RlbmVyczsKLSAgICBsaXN0ZW5lcnMucmVzZXJ2ZUlu
aXRpYWxDYXBhY2l0eShtX2xpc3RlbmVycy5zaXplKCkpOwotICAgIGZvciAoYXV0byYgbGlzdGVu
ZXIgOiBtX2xpc3RlbmVycykKLSAgICAgICAgbGlzdGVuZXJzLnVuY2hlY2tlZEFwcGVuZCh7IGxp
c3RlbmVyLmxpc3RlbmVyLmNvcHlSZWYoKSwgbGlzdGVuZXIucXVlcnkuY29weVJlZigpIH0pOwot
ICAgIGZvciAoYXV0byYgbGlzdGVuZXIgOiBsaXN0ZW5lcnMpIHsKKyAgICBmb3IgKGF1dG8mIGxp
c3QgOiBtX21lZGlhUXVlcnlMaXN0cykgeworICAgICAgICBpZiAoIWxpc3QpCisgICAgICAgICAg
ICBjb250aW51ZTsKICAgICAgICAgYm9vbCBub3RpZnk7Ci0gICAgICAgIGxpc3RlbmVyLnF1ZXJ5
LT5ldmFsdWF0ZShldmFsdWF0b3IsIG5vdGlmeSk7CisgICAgICAgIGxpc3QtPmV2YWx1YXRlKGV2
YWx1YXRvciwgbm90aWZ5KTsKICAgICAgICAgaWYgKG5vdGlmeSkKLSAgICAgICAgICAgIGxpc3Rl
bmVyLmxpc3RlbmVyLT5oYW5kbGVFdmVudChsaXN0ZW5lci5xdWVyeSk7CisgICAgICAgICAgICBs
aXN0LT5kaXNwYXRjaEV2ZW50KE1lZGlhUXVlcnlMaXN0RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVz
KCkuY2hhbmdlRXZlbnQsIGxpc3QtPm1lZGlhKCksIGxpc3QtPm1hdGNoZXMoKSkpOwogICAgIH0K
IH0KIApkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmgg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAppbmRleCA5OWY4ZWZhMDYz
NTc4OTc4MjcwMjVhMjYzYTNmZWFkYzJkNDA2ZDFjLi5hMDc0NWFkMjZmZjRlNDRlOGY4NzQ1ZTg3
MTlkY2YxMjg2NjI5Y2E3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eU1hdGNoZXIuaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaApA
QCAtMjksMTUgKzI5LDEzIEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7
CiBjbGFzcyBNZWRpYVF1ZXJ5TGlzdDsKLWNsYXNzIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI7CiBj
bGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yOwogY2xhc3MgTWVkaWFRdWVyeVNldDsKIGNsYXNzIFJl
bmRlclN0eWxlOwogCi0vLyBNZWRpYVF1ZXJ5TWF0Y2hlciBjbGFzcyBpcyByZXNwb25zaWJsZSBm
b3Iga2VlcGluZyBhIHZlY3RvciBvZiBwYWlycwotLy8gTWVkaWFRdWVyeUxpc3QgeCBNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyLiBJdCBpcyByZXNwb25zaWJsZSBmb3IgZXZhbHVhdGluZyB0aGUgcXVl
cmllcwotLy8gd2hlbmV2ZXIgaXQgaXMgbmVlZGVkIGFuZCB0byBjYWxsIHRoZSBsaXN0ZW5lcnMg
aWYgdGhlIGNvcnJlc3BvbmRpbmcgcXVlcnkgaGFzIGNoYW5nZWQuCi0vLyBUaGUgbGlzdGVuZXJz
IG11c3QgYmUgY2FsbGVkIGluIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IHdlcmUgYWRkZWQuCisv
LyBNZWRpYVF1ZXJ5TWF0Y2hlciBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgZXZhbHVhdGluZyB0
aGUgcXVlcmllcyB3aGVuZXZlciBpdAorLy8gaXMgbmVlZGVkIGFuZCBkaXNwYXRjaCAiY2hhbmdl
IiBldmVudCBvbiBNZWRpYVF1ZXJ5TGlzdHMgaWYgdGhlIGNvcnJlc3BvbmRpbmcKKy8vIHF1ZXJ5
IGhhcyBjaGFuZ2VkLiBNZWRpYVF1ZXJ5TGlzdHMgYXJlIGludm9rZWQgaW4gdGhlIG9yZGVyIGlu
IHdoaWNoIHRoZXkgd2VyZSBhZGRlZC4KIAogY2xhc3MgTWVkaWFRdWVyeU1hdGNoZXIgZmluYWwg
OiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TWF0Y2hlcj4gewogcHVibGljOgpAQCAtNDUs
OSArNDMsOCBAQCBwdWJsaWM6CiAgICAgfk1lZGlhUXVlcnlNYXRjaGVyKCk7CiAKICAgICB2b2lk
IGRvY3VtZW50RGVzdHJveWVkKCk7Ci0KLSAgICB2b2lkIGFkZExpc3RlbmVyKFJlZjxNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyPiYmLCBNZWRpYVF1ZXJ5TGlzdCYpOwotICAgIHZvaWQgcmVtb3ZlTGlz
dGVuZXIoTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciYsIE1lZGlhUXVlcnlMaXN0Jik7CisgICAgdm9p
ZCBhZGRNZWRpYVF1ZXJ5TGlzdChNZWRpYVF1ZXJ5TGlzdCYpOworICAgIHZvaWQgcmVtb3ZlTWVk
aWFRdWVyeUxpc3QoTWVkaWFRdWVyeUxpc3QmKTsKIAogICAgIFJlZlB0cjxNZWRpYVF1ZXJ5TGlz
dD4gbWF0Y2hNZWRpYShjb25zdCBTdHJpbmcmKTsKIApAQCAtNTgsMTcgKzU1LDEyIEBAIHB1Ymxp
YzoKICAgICBib29sIGV2YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQmKTsKIAogcHJpdmF0ZToK
LSAgICBzdHJ1Y3QgTGlzdGVuZXIgewotICAgICAgICBSZWY8TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
cj4gbGlzdGVuZXI7Ci0gICAgICAgIFJlZjxNZWRpYVF1ZXJ5TGlzdD4gcXVlcnk7Ci0gICAgfTsK
LQogICAgIGV4cGxpY2l0IE1lZGlhUXVlcnlNYXRjaGVyKERvY3VtZW50Jik7CiAgICAgc3RkOjp1
bmlxdWVfcHRyPFJlbmRlclN0eWxlPiBkb2N1bWVudEVsZW1lbnRVc2VyQWdlbnRTdHlsZSgpIGNv
bnN0OwogICAgIFN0cmluZyBtZWRpYVR5cGUoKSBjb25zdDsKIAogICAgIFdlYWtQdHI8RG9jdW1l
bnQ+IG1fZG9jdW1lbnQ7Ci0gICAgVmVjdG9yPExpc3RlbmVyPiBtX2xpc3RlbmVyczsKKyAgICBW
ZWN0b3I8V2Vha1B0cjxNZWRpYVF1ZXJ5TGlzdD4+IG1fbWVkaWFRdWVyeUxpc3RzOwogCiAgICAg
Ly8gVGhpcyB2YWx1ZSBpcyBpbmNyZW1lbnRlZCBhdCBzdHlsZSBzZWxlY3RvciBjaGFuZ2VzLgog
ICAgIC8vIEl0IGlzIHVzZWQgdG8gYXZvaWQgZXZhbHVhdGluZyBxdWVyaWVzIG1vcmUgdGhlbiBv
bmNlIGFuZCB0byBtYWtlIHN1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVu
dE5hbWVzLmluIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggYWViMjM0
YWEzZTQ2N2MzYWVjOWI0OGU5YjAwOGNlMWEwZTYzNjAzZC4uNjQ4OGY5YTJmNzVlZGM2NDA3ZjVj
ZWYzZDI2ZGExZWJiNjE4NDQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50
TmFtZXMuaW4KKysrIGIvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTI0LDYg
KzI0LDcgQEAgSW5wdXRFdmVudAogSW5wdXRFdmVudHMgaW50ZXJmYWNlTmFtZT1JbnB1dEV2ZW50
CiBLZXlib2FyZEV2ZW50CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1lPUtleWJvYXJkRXZl
bnQKK01lZGlhUXVlcnlMaXN0RXZlbnQKIE1lc3NhZ2VFdmVudAogTW91c2VFdmVudAogTW91c2VF
dmVudHMgaW50ZXJmYWNlTmFtZT1Nb3VzZUV2ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29y
ZS9kb20vRXZlbnRUYXJnZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmlu
ZGV4IDYxYjUwZTU3OGI1ZTU1NzNjMWI2ZDY0NWYxOGYwYThkMWMxYWViNGYuLmRlMDAyNDM0NDg5
MTZjNTI3ZDFiZGY4ZWRiOTNmN2MyYjk1YTgyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3Jl
L2RvbS9FdmVudFRhcmdldC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5o
CkBAIC05MSw3ICs5MSw3IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25P
cjxib29sPiBkaXNwYXRjaEV2ZW50Rm9yQmluZGluZ3MoRXZlbnQmKTsKIAogICAgIFdFQkNPUkVf
RVhQT1JUIHZpcnR1YWwgYm9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2
ZW50VHlwZSwgUmVmPEV2ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRp
b25zJiA9IHsgfSk7Ci0gICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3Qg
QXRvbVN0cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRp
b25zJik7CisgICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0
cmluZyYgZXZlbnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiA9
IHsgfSk7CiAKICAgICB2aXJ0dWFsIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKICAg
ICB2aXJ0dWFsIHZvaWQgZGlzcGF0Y2hFdmVudChFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9F
dmVudFRhcmdldEZhY3RvcnkuaW4KaW5kZXggODM3ZWI1ZGNkMGU5OTVjYTAyMjRlY2ZlYmU3MGJj
ZTFlYjgzM2IzNi4uYmJjZDQ4ZjQ5NTRlNzkzNWUyYTc2N2NhYzQyYzMxNjExNzg4OGI0YiAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9T
b3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0yMSw2ICsyMSw3IEBA
IElEQlRyYW5zYWN0aW9uIGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIE1lZGlhQ29udHJv
bGxlciBjb25kaXRpb25hbD1WSURFTwogTWVkaWFEZXZpY2VzIGNvbmRpdGlvbmFsPU1FRElBX1NU
UkVBTQogTWVkaWFLZXlTZXNzaW9uIGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQorTWVkaWFR
dWVyeUxpc3QKIE1lZGlhUmVtb3RlQ29udHJvbHMgY29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTgog
TWVkaWFSZWNvcmRlciBjb25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhU291cmNlIGNvbmRp
dGlvbmFsPU1FRElBX1NPVVJDRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1Vz
ZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcyBiL1NvdXJjZS9X
ZWJJbnNwZWN0b3JVSS9Vc2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRl
cnMuanMKaW5kZXggNGI0YmJhMjgxZWZkZGFiZTRkYWJjYmVjNDJlZjQwNzgxOTEzMGEwMC4uYjk0
NjExMGRjMmE5NWI5MmUzNzBlMjg5OTcxYzQ5ZjAzNThjNThhZCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1l
dGVycy5qcworKysgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMv
TmF0aXZlRnVuY3Rpb25QYXJhbWV0ZXJzLmpzCkBAIC0xMDk1LDExICsxMDk1LDYgQEAgV0kuTmF0
aXZlUHJvdG90eXBlRnVuY3Rpb25QYXJhbWV0ZXJzID0gewogICAgICAgICBfX3Byb3RvX186IG51
bGwsCiAgICAgfSwKIAotICAgIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6IHsKLSAgICAgICAgcXVl
cnlDaGFuZ2VkOiAiW2xpc3RdIiwKLSAgICAgICAgX19wcm90b19fOiBudWxsLAotICAgIH0sCi0K
ICAgICBNZWRpYVNvdXJjZTogewogICAgICAgICBhZGRTb3VyY2VCdWZmZXI6ICJ0eXBlIiwKICAg
ICAgICAgZW5kT2ZTdHJlYW06ICJbZXJyb3JdIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0No
YW5nZUxvZyBiL0xheW91dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0ODdhZTNhYTM3MmU3ZWJjZWI1
YWVhOGM5MjUxNDAzMWIwN2YzNGRkLi41MzIzMjQwNmU3YzM0NzBjYjdmMjJiNGFmMzllMjk4NDdm
NDVlZGI5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVz
dHMvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTQgQEAKKzIwMjAtMDMtMjcgIEFsZXhleSBTaHZheWth
ICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIE1lZGlhUXVlcnlMaXN0IHNob3Vs
ZCBleHRlbmQgRXZlbnRUYXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hv
d19idWcuY2dpP2lkPTIwMzI4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgor
CisgICAgICAgICogVGVzdEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L21lZGlhL21lZGlh
LXF1ZXJ5LWxpc3QtMDctZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWEvbWVkaWEt
cXVlcnktbGlzdC0wNy5odG1sOgorCiAyMDIwLTAzLTI2ICBNaWNoYWVsIFNhYm9mZiAgPG1zYWJv
ZmZAYXBwbGUuY29tPgogCiAgICAgICAgIFJlZmFjdG9yIFlBUlIgU3RhY2sgT3ZlcmZsb3cgQ2hl
Y2tzCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nIGIvTGF5
b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZwppbmRleCAwNDNkN2Y2NzQzN2MyNjFlZjEw
MmJiNjIyZjQ3NDdhMTkyY2MyNzhlLi4zNjc3YWQ4NjA4ZWZjYmYxZTI5ZTdkMTE5MjhjYjYwZWU2
YWY4YmE1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy9DaGFuZ2VMb2cKQEAgLTEsMyArMSwxOCBAQAor
MjAyMC0wMy0yNyAgQWxleGV5IFNodmF5a2EgIDxzaHZhaWthbGVzaEBnbWFpbC5jb20+CisKKyAg
ICAgICAgTWVkaWFRdWVyeUxpc3Qgc2hvdWxkIGV4dGVuZCBFdmVudFRhcmdldAorICAgICAgICBo
dHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjAzMjg4CisKKyAgICAgICAg
UmV2aWV3ZWQgYnkgRGFyaW4gQWRsZXIuCisKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVuZXItaGFuZGxlRXZlbnQtZXhw
ZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9N
ZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0ZW5lci1leHBlY3RlZC50eHQ6Cisg
ICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0
LWV4dGVuZHMtRXZlbnRUYXJnZXQtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9y
bS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0
LWludGVyb3AtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3Mv
Y3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQ6
CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L21hdGNoTWVkaWEt
ZXhwZWN0ZWQudHh0OgorCiAyMDIwLTAzLTI2ICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNo
QGdtYWlsLmNvbT4KIAogICAgICAgICBTeW5jIHdwdC9kb214cGF0aCBhbmQgcmUtc3luYyB3cHQv
Y3NzL2Nzc29tLXZpZXcgZnJvbSB1cHN0cmVhbQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggZDIzYWZh
ZmMyOTU5Y2ZkOTNkM2RiOTA3NDU3YWMwZTliNWU5MGE5Yi4uMTQ2Y2E5ZGE4MDBjOGYxYTFmNWM2
YTVkYTk1N2EzOTAyNDEyZTZiMiAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC03NjIsNyArNzYyLDYg
QEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QgWyBTa2lw
IF0KIHdlYmtpdC5vcmcvYi8xODQwNjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvbmVzdGVkLWNsb25pbmctbGFyZ2UtbXVsdGlwbGUuaHRtbCBbIFNraXAgXQogd2Vi
a2l0Lm9yZy9iLzE4NDA2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9uZXN0ZWQtY2xvbmluZy1sYXJnZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTg0MDY2
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL25lc3RlZC1jbG9uaW5n
LXNtYWxsLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tL2ludGVyZmFjZXMuaHRtbCBbIFBhc3MgVGltZW91dCBdCiBbIERlYnVnIF0gaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xODIyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxpbmdFbGVtZW50LXF1aXJrcy1keW5hbWljLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTgyMjkyIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsaW5nRWxlbWVudC1xdWly
a3MtZHluYW1pYy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy1leHBlY3RlZC50eHQKaW5k
ZXggMGNhOTdiMWE5NDRhM2JiMDUxMTZhODI4OWYyNDNhZjAzYmU4ZWQ1ZC4uZGMzOTQzZTZmYjJi
M2U5NTYzMzEyNGVlNzk3MTY4MWZkM2RlMTkwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDctZXhwZWN0ZWQudHh0CkBAIC0yLDkgKzIs
OSBAQCBUZXN0IHRoZSBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGh0dHA6Ly9kZXYudzMub3Jn
L2Nzc3dnL2Nzc29tLXZpZXcvI3RoZS1tZWRpYQogCiBJbnZhbGlkIGxpc3RlbmVycy4gVHdvIGNh
bGxiYWNrcyBhcmUgZXhwZWN0ZWQuCiAKK0V2ZW50TGlzdGVuZXIgaXMgb3B0aW9uYWwKIHF1ZXJ5
LmFkZExpc3RlbmVyKDUpIHRocmV3IGV4Y2VwdGlvbiBhcyBleHBlY3RlZAogcXVlcnkuYWRkTGlz
dGVuZXIoJ2NpbmNvJykgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVkCi1xdWVyeS5hZGRMaXN0
ZW5lcihbMSwyXSkgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVkCiBbMV0gLSBxdWVyeSBzY3Jl
ZW4gY2hhbmdlZCB0byBmYWxzZQogWzJdIC0gcXVlcnkgc2NyZWVuIGNoYW5nZWQgdG8gZmFsc2UK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbApp
bmRleCA0MGRmNzVmNGZkY2NiNmE1NDJkM2RlYjRhMjJmZGU3Zjg5YTI4Mzg0Li5kYjY0NzM3NGIz
M2VkYjQ0OTIzYjAwYWE4MjYyMTMzOTRjMjI4YTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbApAQCAtMjksNiArMjksMTIgQEAKIAogICAg
ICAgICB2YXIgcXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgic2NyZWVuIik7CiAKKyAgICAgICAg
cXVlcnkuYWRkTGlzdGVuZXIobnVsbCk7CisgICAgICAgIHF1ZXJ5LmFkZExpc3RlbmVyKHVuZGVm
aW5lZCk7CisgICAgICAgIHF1ZXJ5LnJlbW92ZUxpc3RlbmVyKG51bGwpOworICAgICAgICBxdWVy
eS5yZW1vdmVMaXN0ZW5lcih1bmRlZmluZWQpOworICAgICAgICBsb2coIkV2ZW50TGlzdGVuZXIg
aXMgb3B0aW9uYWwiKTsKKwogICAgICAgICBxdWVyeS5hZGRMaXN0ZW5lcihjYWxsYmFjazEpOwog
CiAgICAgICAgIHRyeSB7CkBAIC00MSwxMyArNDcsOCBAQAogICAgICAgICAgICAgcXVlcnkuYWRk
TGlzdGVuZXIoJ2NpbmNvJyk7CiAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIGxv
ZygicXVlcnkuYWRkTGlzdGVuZXIoJ2NpbmNvJykgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVk
Iik7Ci0gICAgICAgICAgICAKLSAgICAgICAgfQotICAgICAgICB0cnkgewotICAgICAgICAgICAg
cXVlcnkuYWRkTGlzdGVuZXIoWzEsMl0pOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAg
ICAgICBsb2coInF1ZXJ5LmFkZExpc3RlbmVyKFsxLDJdKSB0aHJldyBleGNlcHRpb24gYXMgZXhw
ZWN0ZWQiKTsKICAgICAgICAgfQorCiAgICAgICAgIHF1ZXJ5LmFkZExpc3RlbmVyKGNhbGxiYWNr
Mik7CiAKICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRNZWRpYVR5cGVPdmVy
cmlkZSgiaGFuZGhlbGQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVu
ZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5l
ci1oYW5kbGVFdmVudC1leHBlY3RlZC50eHQKaW5kZXggY2I0NzY1YzA4ODlmZjYxZTc2OGMwZTE4
MWIwNTVlYTc0Y2JlOWRlZC4uMGI2MmM0YzdmY2EwNGFjNTRhODVkNDYyZjU0ZjQ3MjNlZTBhOTll
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1oYW5kbGVFdmVudC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1oYW5kbGVFdmVu
dC1leHBlY3RlZC50eHQKQEAgLTEsOCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
MjogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogJ2hhbmRsZUV2
ZW50JyBwcm9wZXJ0eSBvZiBldmVudCBsaXN0ZW5lciBzaG91bGQgYmUgY2FsbGFibGUKK0NPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiAnaGFuZGxlRXZlbnQnIHByb3BlcnR5IG9mIGV2ZW50IGxp
c3RlbmVyIHNob3VsZCBiZSBjYWxsYWJsZQogCi1GQUlMIGNhbGxzIGhhbmRsZUV2ZW50IG1ldGhv
ZCBvZiBldmVudCBsaXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsaXN0ZW5lcicpIHRvIE1l
ZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIKLUZBSUwgbG9va3Mg
dXAgaGFuZGxlRXZlbnQgbWV0aG9kIG9uIGV2ZXJ5IGV2ZW50IGRpc3BhdGNoIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ2xpc3RlbmVyJykgdG8gTWVkaWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBi
ZSBhIGZ1bmN0aW9uIgorUEFTUyBjYWxscyBoYW5kbGVFdmVudCBtZXRob2Qgb2YgZXZlbnQgbGlz
dGVuZXIgCitQQVNTIGxvb2tzIHVwIGhhbmRsZUV2ZW50IG1ldGhvZCBvbiBldmVyeSBldmVudCBk
aXNwYXRjaCAKIFBBU1MgZG9lc24ndCBsb29rIHVwIGhhbmRsZUV2ZW50IG1ldGhvZCBvbiBjYWxs
YWJsZSBldmVudCBsaXN0ZW5lcnMgCi1GQUlMIHJldGhyb3dzIGVycm9ycyB3aGVuIGdldHRpbmcg
aGFuZGxlRXZlbnQgYXNzZXJ0X2VxdWFsczogaGFuZGxlRXZlbnQgcHJvcGVydHkgd2FzIG5vdCBs
b29rZWQgdXAgZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgdGhyb3dzIGlmIGhhbmRsZUV2ZW50
IGlzIGZhbHN5IGFuZCBub3QgY2FsbGFibGUgYXNzZXJ0X2VxdWFsczogaGFuZGxlRXZlbnQgcHJv
cGVydHkgd2FzIG5vdCBsb29rZWQgdXAgZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgdGhyb3dz
IGlmIGhhbmRsZUV2ZW50IGlzIHRocnV0aHkgYW5kIG5vdCBjYWxsYWJsZSBhc3NlcnRfZXF1YWxz
OiBoYW5kbGVFdmVudCBwcm9wZXJ0eSB3YXMgbm90IGxvb2tlZCB1cCBleHBlY3RlZCAxIGJ1dCBn
b3QgMAorRkFJTCByZXRocm93cyBlcnJvcnMgd2hlbiBnZXR0aW5nIGhhbmRsZUV2ZW50IGFzc2Vy
dF90cnVlOiBUaW1lZCBvdXQgd2FpdGluZyBmb3IgZXJyb3IgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgdGhyb3dzIGlmIGhhbmRsZUV2ZW50IGlzIGZhbHN5IGFuZCBub3QgY2FsbGFibGUg
YXNzZXJ0X3RydWU6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBlcnJvciBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCB0aHJvd3MgaWYgaGFuZGxlRXZlbnQgaXMgdGhydXRoeSBhbmQgbm90IGNh
bGxhYmxlIGFzc2VydF90cnVlOiBUaW1lZCBvdXQgd2FpdGluZyBmb3IgZXJyb3IgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5l
ci1yZW1vdmVMaXN0ZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3Rl
bmVyLXJlbW92ZUxpc3RlbmVyLWV4cGVjdGVkLnR4dAppbmRleCA1ZDQ5ZmNlMTQ4YTcwMDdhNDUx
YTczZTQ2YzNhZGI0OGUxMWFhYzNhLi4yYzU0MDljNWFmODFjNzhkYTk4ZWZjNmU5MGVhZWEyOGNh
MWVlMjA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxp
c3RlbmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJl
bW92ZUxpc3RlbmVyLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgUEFTUyBsaXN0ZW5lcnMg
YXJlIGNhbGxlZCB3aGVuIDxpZnJhbWU+IGlzIHJlc2l6ZWQKIFBBU1MgbGlzdGVuZXJzIGFyZSBj
YWxsZWQgY29ycmVjdCBudW1iZXIgb2YgdGltZXMgCiBQQVNTIGxpc3RlbmVycyBhcmUgY2FsbGVk
IGluIG9yZGVyIHRoZXkgd2VyZSBhZGRlZCAKIFBBU1MgbGlzdGVuZXIgdGhhdCB3YXMgYWRkZWQg
dHdpY2UgaXMgY2FsbGVkIG9ubHkgb25jZSAKLUZBSUwgbGlzdGVuZXJzIGFyZSBjYWxsZWQgaW4g
b3JkZXIgdGhlaXIgTVFMcyB3ZXJlIGNyZWF0ZWQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVy
dHkgMCwgZXhwZWN0ZWQgIm1xbDEiIGJ1dCBnb3QgIm1xbDIiCitQQVNTIGxpc3RlbmVycyBhcmUg
Y2FsbGVkIGluIG9yZGVyIHRoZWlyIE1RTHMgd2VyZSBjcmVhdGVkIAogUEFTUyByZW1vdmluZyBs
aXN0ZW5lciBmcm9tIG9uZSBNUUwgZG9lc24ndCByZW1vdmUgaXQgZnJvbSBhbGwgTVFMcyAKIFBB
U1MgTWVkaWFRdWVyeUxpc3Q6OnJlbW92ZUxpc3RlbmVyIHJlbW92ZXMgYWRkZWQgbGlzdGVuZXIg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtZXhwZWN0ZWQu
dHh0CmluZGV4IDk3MzUxZTM4OTJjYzdmNmNjMWY3MDRhOTYxMjcyYTBkNjNjMzY2NTcuLmNlZWYy
ZDgxODI1MDRkMGRiNjQ2OWVjNDAzMGQ0ZmQxM2QzOWVkNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFR
dWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1
ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMSwyMCArMSw5IEBA
CiAKLUZBSUwgb25jaGFuZ2UgYWRkcyBsaXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdfZXZlbnQubWVkaWEnKSIKLUZBSUwgb25jaGFuZ2UgcmVt
b3ZlcyBsaXN0ZW5lciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAotRkFJTCBs
aXN0ZW5lcnMgZm9yICJjaGFuZ2UiIHR5cGUgYXJlIGNhbGxlZCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVu
dExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJj
aGFuZ2UiLCB7Ci0gICAgICAgIGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMrKzsK
LSAgICAgICAgfSwKLSAgICB9KScsICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVk
KSIKLUZBSUwgbGlzdGVuZXJzIHdpdGggZGlmZmVyZW50IHR5cGUgYXJlIG5vdCBjYWxsZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRk
RXZlbnRMaXN0ZW5lcigibWF0Y2hlcyIsIHQudW5yZWFjaGVkX2Z1bmMoInNob3VsZCBub3QgYmUg
Y2FsbGVkIikpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgotRkFJTCBh
ZGRFdmVudExpc3RlbmVyICJvbmNlIiBvcHRpb24gaXMgcmVzcGVjdGVkIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLmFk
ZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVu
ZXIoImNoYW5nZSIsIHsKLSAgICAgICAgaGFuZGxlRXZlbnQoKSB7Ci0gICAgICAgICAgICBjYWxs
cysrOwotICAgICAgICB9LAotICAgIH0sIHtvbmNlOiB0cnVlfSknLCAnbXFsLmFkZEV2ZW50TGlz
dGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlMIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBs
aXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBsaXN0ZW5lciknLCAnbXFsLmFkZEV2
ZW50TGlzdGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlMIGRpc3BhdGNoRXZlbnQgd29ya3MgYXMg
ZXhwZWN0ZWQgbXFsLmFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFs
LmFkZEV2ZW50TGlzdGVuZXIoImN1c3RvbSIsIGV2ZW50ID0+IHsKLSAgICAgICAgcmVjZWl2ZWRF
dmVudCA9IGV2ZW50OwotICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotICAgIH0sIHRy
dWUpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpCitQQVNTIG9uY2hhbmdl
IGFkZHMgbGlzdGVuZXIgCitQQVNTIG9uY2hhbmdlIHJlbW92ZXMgbGlzdGVuZXIgCitQQVNTIGxp
c3RlbmVycyBmb3IgImNoYW5nZSIgdHlwZSBhcmUgY2FsbGVkIAorUEFTUyBsaXN0ZW5lcnMgd2l0
aCBkaWZmZXJlbnQgdHlwZSBhcmUgbm90IGNhbGxlZCAKK1BBU1MgYWRkRXZlbnRMaXN0ZW5lciAi
b25jZSIgb3B0aW9uIGlzIHJlc3BlY3RlZCAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciByZW1v
dmVzIGxpc3RlbmVyIAorUEFTUyBkaXNwYXRjaEV2ZW50IHdvcmtzIGFzIGV4cGVjdGVkIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJv
cC1leHBlY3RlZC50eHQKaW5kZXggMmYyOTQzNmMyNzA2YjExNWExOTY3NmZiYzAwYWI5ZTlkNjkz
YWIzYi4uN2MwNjRjMzY0YzgxY2IyYTg0YzY0MDFhZjU4OGJkYzhlODM3ZTJmMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20t
dmlldy9NZWRpYVF1ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWludGVyb3AtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1pbnRlcm9wLWV4
cGVjdGVkLnR4dApAQCAtMSwxNCArMSwxMCBAQAogCi1GQUlMIGRpc3BhdGNoRXZlbnQgdHJpZ2dl
cnMgbGlzdGVuZXIgYWRkZWQgd2l0aCBhZGRMaXN0ZW5lciBtcWwuZGlzcGF0Y2hFdmVudCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdtcWwuZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVkRXZlbnQpJywg
J21xbC5kaXNwYXRjaEV2ZW50JyBpcyB1bmRlZmluZWQpCi1GQUlMIGxpc3RlbmVyIGFkZGVkIHdp
dGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnbGlzdGVuZXInKSB0byBNZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lciBt
dXN0IGJlIGEgZnVuY3Rpb24iCi1GQUlMIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIg
YW5kIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIGlzIGNhbGxlZCB0d2ljZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1x
bC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExp
c3RlbmVyKCJjaGFuZ2UiLCBsaXN0ZW5lciwgdHJ1ZSknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXIn
IGlzIHVuZGVmaW5lZCkiCi1GQUlMIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5l
ciBhZGRlZCB3aXRoIGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xpc3RlbmVyJykg
dG8gTWVkaWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIgotRkFJTCBy
ZW1vdmVFdmVudExpc3RlbmVyIChjYXB0dXJlKSBkb2Vzbid0IHJlbW92ZSBsaXN0ZW5lciBhZGRl
ZCB3aXRoIGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLnJlbW92ZUV2ZW50TGlzdGVuZXIgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnbXFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3Rl
bmVyLCB0cnVlKScsICdtcWwucmVtb3ZlRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZB
SUwgcmVtb3ZlTGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlz
dGVuZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdtcWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgbGlzdGVuZXIpJywgJ21xbC5hZGRFdmVu
dExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgotRkFJTCByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJl
bW92ZSBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogbXFsLmFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2
ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3RlbmVyLCB0cnVlKScsICdtcWwuYWRkRXZlbnRMaXN0
ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZBSUwgY2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVyIGZpcmVz
IGJlZm9yZSBub24tY2FwdHVyaW5nIGxpc3RlbmVyIGF0IHRhcmdldCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRF
dmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVy
KCJjaGFuZ2UiLCB7Ci0gICAgICAgIGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMu
cHVzaCgiYWRkRXZlbnRMaXN0ZW5lciIpOwotICAgICAgICB9LAotICAgIH0sIHRydWUpJywgJ21x
bC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgorUEFTUyBkaXNwYXRjaEV2ZW50IHRy
aWdnZXJzIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIGxpc3RlbmVyIGFk
ZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2Ug
CitQQVNTIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVu
ZXIgKGNhcHR1cmUpIGlzIGNhbGxlZCB0d2ljZSAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciBy
ZW1vdmVzIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIHJlbW92ZUV2ZW50
TGlzdGVuZXIgKGNhcHR1cmUpIGRvZXNuJ3QgcmVtb3ZlIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRk
TGlzdGVuZXIgCitQQVNTIHJlbW92ZUxpc3RlbmVyIHJlbW92ZXMgbGlzdGVuZXIgYWRkZWQgd2l0
aCBhZGRFdmVudExpc3RlbmVyIAorUEFTUyByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJlbW92ZSBs
aXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIAorUEFTUyBjYXB0
dXJpbmcgZXZlbnQgbGlzdGVuZXIgZmlyZXMgYmVmb3JlIG5vbi1jYXB0dXJpbmcgbGlzdGVuZXIg
YXQgdGFyZ2V0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
b20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LWV4cGVjdGVkLnR4dAppbmRleCAzZTFiNDc5NjQw
NDYxZWVjMDBjZGY3ODQ0YzljOGExYzA1ZDEwZWJiLi45MmFjNDM5YjE3ODM4NDExZWE0NzQxOWY4
OTc3MzA2ZWVhNGU0NmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3RFdmVudC1leHBlY3RlZC50eHQKQEAgLTEsMTAg
KzEsOCBAQAogCi1GQUlMIHR5cGUgY2FuIGJlIGRpZmZlcmVudCBmcm9tICJjaGFuZ2UiIENhbid0
IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQKLUZBSUwgaW5pdCBkaWN0aW9uYXJ5
IGRlZmF1bHQgdmFsdWVzIENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQK
LUZBSUwgaW5pdCBkaWN0aW9uYXJ5IG92ZXJyaWRlcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBNZWRp
YVF1ZXJ5TGlzdEV2ZW50Ci1GQUlMIGFyZ3VtZW50IG9mIGFkZExpc3RlbmVyIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogUmln
aHQgaGFuZCBzaWRlIG9mIGluc3RhbmNlb2YgaXMgbm90IGFuIG9iamVjdCIKLUZBSUwgYXJndW1l
bnQgb2Ygb25jaGFuZ2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBSaWdodCBoYW5kIHNpZGUgb2YgaW5zdGFuY2VvZiBpcyBu
b3QgYW4gb2JqZWN0IgotRkFJTCBjb25zdHJ1Y3RvciBvZiAiY2hhbmdlIiBldmVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVu
dExpc3RlbmVyKCJjaGFuZ2UiLCBldmVudCA9PiB7Ci0gICAgICAgIF9ldmVudCA9IGV2ZW50Owot
ICAgIH0pJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgorUEFTUyB0eXBl
IGNhbiBiZSBkaWZmZXJlbnQgZnJvbSAiY2hhbmdlIiAKK1BBU1MgaW5pdCBkaWN0aW9uYXJ5IGRl
ZmF1bHQgdmFsdWVzIAorUEFTUyBpbml0IGRpY3Rpb25hcnkgb3ZlcnJpZGVzIAorUEFTUyBhcmd1
bWVudCBvZiBhZGRMaXN0ZW5lciAKK1BBU1MgYXJndW1lbnQgb2Ygb25jaGFuZ2UgCitQQVNTIGNv
bnN0cnVjdG9yIG9mICJjaGFuZ2UiIGV2ZW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCAyOTNkNGQ3YTAz
ZmRjN2M0MWJjNzYxYzI3ZWZlMTIzMmM1MDBlYjY4Li5iOTIyYThiYTFiY2E4MDA1YmIzNmZkYmE5
YmQzMjE3YzViMzQ0MTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29t
LXZpZXcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTU1LDQyICs1NSwzOCBAQCBQQVNTIFdp
bmRvdyBpbmNsdWRlcyBXaW5kb3dTZXNzaW9uU3RvcmFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUKIFBBU1MgV2luZG93IGluY2x1ZGVzIFdpbmRvd0xvY2FsU3RvcmFnZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCiBQQVNTIENoYXJhY3RlckRhdGEgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBl
Q2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBp
bmNsdWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotRkFJTCBNZWRpYVF1
ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIk1lZGlhUXVlcnlMaXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1p
c3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVy
eUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBN
ZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVk
IHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBt
aXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNz
aW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJN
ZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5n
Ci1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlM
aXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVk
aWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWF0Y2hlcyBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlM
aXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVl
cnlMaXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwg
TWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlTGlzdGVuZXIoRXZlbnRM
aXN0ZW5lcikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIg
bWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5n
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJN
ZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5n
Ci1GQUlMIE1lZGlhUXVlcnlMaXN0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbWF0Y2hN
ZWRpYSgiYWxsIikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlz
dCIgbWlzc2luZworUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFRdWVyeUxp
c3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYVF1ZXJ5TGlz
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIE1lZGlhUXVlcnlMaXN0
IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBtYXRjaGVzIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBhZGRMaXN0ZW5lcihFdmVudExpc3RlbmVyKSAKK1BBU1MgTWVkaWFRdWVyeUxpc3Qg
aW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcikgCitQQVNT
IE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIAorUEFTUyBNZWRp
YVF1ZXJ5TGlzdCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG1hdGNoTWVkaWEoImFsbCIp
IAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbWF0Y2hNZWRpYSgiYWxsIikgCiBQQVNTIE1lZGlh
UXVlcnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJtZWRpYSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE1lZGlhUXVlcnlMaXN0IGlu
dGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtYXRjaGVz
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBt
YXRjaE1lZGlhKCJhbGwiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZExpc3RlbmVyKEV2ZW50
TGlzdGVuZXIpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50
ZXJmYWNlOiBjYWxsaW5nIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEo
ImFsbCIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0
X3Rocm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7Ci0gICAgICAgIH0iIGRpZCBub3QgdGhy
b3cKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZExpc3RlbmVyKEV2
ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEoImFsbCIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0
Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVMaXN0ZW5lcihFdmVu
dExpc3RlbmVyKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGlu
dGVyZmFjZTogY2FsbGluZyByZW1vdmVMaXN0ZW5lcihFdmVudExpc3RlbmVyKSBvbiBtYXRjaE1l
ZGlhKCJhbGwiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFz
c2VydF90aHJvd3M6IENhbGxlZCB3aXRoIDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICBmbi5hcHBseShvYmosIGFyZ3MpOwotICAgICAgICB9IiBkaWQgbm90
IHRocm93Ci1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAib25jaGFuZ2UiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUg
Y2hhaW4KLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIGV4cGVjdGVk
IHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlM
aXN0RXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0
ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVy
eUxpc3RFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0
ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVy
eUxpc3RFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAi
TWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5
TGlzdEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2
ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJ
TCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlM
aXN0RXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBtaXNzaW5n
Ci1GQUlMIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWF0Y2hlcyBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRp
YVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIg
bWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlh
UXVlcnlMaXN0RXZlbnQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgTWVkaWFRdWVyeUxp
c3RFdmVudCgiY2hhbmdlIikgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogTWVkaWFRdWVyeUxpc3RFdmVudCIKLUZBSUwg
TWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IG5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50KCJj
aGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1lZGlhIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50IgotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2
ZW50IGludGVyZmFjZTogbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAibWF0Y2hlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
TWVkaWFRdWVyeUxpc3RFdmVudCIKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBjYWxs
aW5nIHJlbW92ZUxpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEoImFsbCIpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIE1lZGlhUXVl
cnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZl
bnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BB
U1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlh
UXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYSAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBtYXRjaGVzIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5n
ZSIpIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNo
YW5nZSIpIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogbmV3IE1lZGlhUXVl
cnlMaXN0RXZlbnQoImNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWEiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogbmV3
IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWF0
Y2hlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFNjcmVlbiBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBTY3JlZW4gaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFNjcmVlbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L21hdGNoTWVkaWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlhLWV4
cGVjdGVkLnR4dAppbmRleCA2N2VmY2VhMjg5ZTRjNjg5ODkwZGYwZTJjZmMwNzI3OTZjNWQ2ODE2
Li42ZDY4MDFjOGQ3NzlhMTBmZWUyYmI0MzJlMGY2ZmYzNjlhMWE3ODY4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3
L21hdGNoTWVkaWEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvbWF0Y2hNZWRpYS1leHBlY3RlZC50eHQK
QEAgLTMsNyArMyw3IEBAIFBBU1Mgd2luZG93Lm1hdGNoTWVkaWEgaXMgYSBmdW5jdGlvbgogUEFT
UyB3aW5kb3cubWF0Y2hNZWRpYSgiYWxsIikgbWF0Y2hlcyAKIFBBU1Mgd2luZG93Lm1hdGNoTWVk
aWEoIiIpIG1hdGNoZXMgCiBQQVNTIHdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxcHgp
IikgbWF0Y2hlcyAKLUZBSUwgbWVkaWEgcXVlcnkgd2l0aCBzeW50YXggZXJyb3IgaXMgc2VyaWFs
aXplZCBhcyAibm90IGFsbCIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogTWVkaWFRdWVyeUxpc3QKK1BB
U1MgbWVkaWEgcXVlcnkgd2l0aCBzeW50YXggZXJyb3IgaXMgc2VyaWFsaXplZCBhcyAibm90IGFs
bCIgCiBQQVNTIGlmcmFtZS5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiAxOTlweCksIGFsbCBhbmQg
KG1pbi13aWR0aDogMjAwcHgpIikgaXMgc2VyaWFsaXplZCB3L28gImFsbCIgCiBQQVNTIGlmcmFt
ZS5tYXRjaE1lZGlhKCIobWluLWFzcGVjdC1yYXRpbzogMS8xKSIpIG1hdGNoZXMgCiBQQVNTIGlm
cmFtZS5tYXRjaE1lZGlhKCIod2lkdGg6IDIwMHB4KSIpIG1hdGNoZXMgCg==
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>396083</attachid>
            <date>2020-04-10 08:01:43 -0700</date>
            <delta_ts>2020-04-17 03:16:41 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-203288-20200410180141.patch</filename>
            <type>text/plain</type>
            <size>104866</size>
            <attacher name="Alexey Shvayka">ashvayka</attacher>
            
              <data encoding="base64">U3VidmVyc2lvbiBSZXZpc2lvbjogMjU5ODQwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9D
aGFuZ2VMb2cgYi9Tb3VyY2UvV2ViQ29yZS9DaGFuZ2VMb2cKaW5kZXggMzliYzk5YTM5N2Q5ZTA3
YjY4YjFjZDJkYzdkYjljNmZjNTQ4MTg5OC4uYmUyZGQ2MzUzZmYxNjFhNmE3YjllN2Q1YjI1MTZi
NzdhYWQ4OTgzMSAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvQ2hhbmdlTG9nCisrKyBiL1Nv
dXJjZS9XZWJDb3JlL0NoYW5nZUxvZwpAQCAtMSwzICsxLDY4IEBACisyMDIwLTA0LTEwICBBbGV4
ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdtYWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5
TGlzdCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFyZ2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJr
aXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMyODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJp
biBBZGxlci4KKworICAgICAgICBJbml0aWFsbHksIENTU09NIFZpZXcgTW9kdWxlIHNwZWNpZmlj
YXRpb24gWzFdIGhhZCBhIGN1c3RvbSBjYWxsYmFjayBtZWNoYW5pc20gd2l0aCBhZGRMaXN0ZW5l
cigpIGFuZCByZW1vdmVMaXN0ZW5lcigpLAorICAgICAgICBhbmQgdGhlIGNhbGxiYWNrIHdhcyBp
bnZva2VkIHdpdGggdGhlIGFzc29jaWF0ZWQgTWVkaWFRdWVyeUxpc3QgYXMgYXJndW1lbnQuCisK
KyAgICAgICAgTm93IHRoZSBub3JtYWwgZXZlbnQgbWVjaGFuaXNtIFsyXSBpcyB1c2VkIGluc3Rl
YWQuIEZvciBiYWNrd2FyZHMgY29tcGF0aWJpbGl0eSwgYWRkTGlzdGVuZXIoKSBhbmQgcmVtb3Zl
TGlzdGVuZXIoKQorICAgICAgICBtZXRob2RzIGFyZSBiYXNpY2FsbHkgYWxpYXNlcyBmb3IgYWRk
RXZlbnRMaXN0ZW5lcigpIGFuZCByZW1vdmVFdmVudExpc3RlbmVyKCksIHJlc3BlY3RpdmVseSwg
YW5kIHRoZSAiY2hhbmdlIiBldmVudAorICAgICAgICBtYXNxdWVyYWRlcyBhcyBhIE1lZGlhUXVl
cnlMaXN0LgorCisgICAgICAgIFRoaXMgcGF0Y2ggaW1wbGVtZW50cyBuZXcgZXZlbnQgbWVjaGFu
aXNtLCBhbGlnbmluZyBXZWJLaXQgd2l0aCBCbGluayBhbmQgU3BpZGVyTW9ua2V5LCBhbmQgYWxz
byBmaXhlcworICAgICAgICBhIGZldyBtaW5vciBzcGVjIGluY29tcGF0aWJpbGl0aWVzOiBtYW5k
YXRvcnkgbGlzdGVuZXIgYXJndW1lbnQsICJoYW5kbGVFdmVudCIgc3VwcG9ydCwgYW5kIGxpc3Rl
bmVycyBjYWxsIG9yZGVyLgorCisgICAgICAgIFsxXTogaHR0cHM6Ly93d3cudzMub3JnL1RSLzIw
MTEvV0QtY3Nzb20tdmlldy0yMDExMDgwNC8jbWVkaWFxdWVyeWxpc3QKKyAgICAgICAgWzJdOiBo
dHRwczovL3d3dy53My5vcmcvVFIvY3Nzb20tdmlldy0xLyNtZWRpYXF1ZXJ5bGlzdAorCisgICAg
ICAgIFRlc3RzOiBmYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbAorICAgICAgICAg
ICAgICAgd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFk
ZExpc3RlbmVyLWhhbmRsZUV2ZW50Lmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1yZW1vdmVMaXN0
ZW5lci5odG1sCisgICAgICAgICAgICAgICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZp
ZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC5odG1sCisgICAgICAgICAgICAg
ICB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5k
cy1FdmVudFRhcmdldC1pbnRlcm9wLmh0bWwKKyAgICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50Lmh0bWwKKyAgICAgICAgICAg
ICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLmh0bWwKKyAg
ICAgICAgICAgICAgIHdlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlh
Lmh0bWwKKworICAgICAgICAqIENNYWtlTGlzdHMudHh0OgorICAgICAgICAqIERlcml2ZWRTb3Vy
Y2VzLWlucHV0LnhjZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMtb3V0cHV0Lnhj
ZmlsZWxpc3Q6CisgICAgICAgICogRGVyaXZlZFNvdXJjZXMubWFrZToKKyAgICAgICAgKiBTb3Vy
Y2VzLnR4dDoKKyAgICAgICAgKiBXZWJDb3JlLnhjb2RlcHJvai9wcm9qZWN0LnBieHByb2o6Cisg
ICAgICAgICogYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oOgorICAgICAgICAqIGJp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy8qOiBVcGRhdGVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1
ZXJ5TGlzdC5jcHA6CisgICAgICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6TWVkaWFRdWVy
eUxpc3QpOgorICAgICAgICAoV2ViQ29yZTo6TWVkaWFRdWVyeUxpc3Q6OmNyZWF0ZSk6CisgICAg
ICAgIChXZWJDb3JlOjpNZWRpYVF1ZXJ5TGlzdDo6fk1lZGlhUXVlcnlMaXN0KToKKyAgICAgICAg
KFdlYkNvcmU6Ok1lZGlhUXVlcnlMaXN0OjphZGRMaXN0ZW5lcik6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVF1ZXJ5TGlzdDo6cmVtb3ZlTGlzdGVuZXIpOgorICAgICAgICAqIGNzcy9NZWRpYVF1
ZXJ5TGlzdC5oOgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlzdC5pZGw6CisgICAgICAgICog
Y3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwOiBBZGRlZC4KKyAgICAgICAgKFdlYkNvcmU6Ok1l
ZGlhUXVlcnlMaXN0RXZlbnQ6Ok1lZGlhUXVlcnlMaXN0RXZlbnQpOgorICAgICAgICAqIGNzcy9N
ZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg6IEFkZGVkLgorICAgICAgICAqIGNzcy9NZWRpYVF1ZXJ5TGlz
dEV2ZW50LmlkbDogQWRkZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIu
aDogUmVtb3ZlZC4KKyAgICAgICAgKiBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw6IFJl
bW92ZWQuCisgICAgICAgICogY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcDoKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpkb2N1bWVudERlc3Ryb3llZCk6CisgICAgICAgIChX
ZWJDb3JlOjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTWVkaWFRdWVyeUxpc3QpOgorICAgICAgICAo
V2ViQ29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZU1lZGlhUXVlcnlMaXN0KToKKyAgICAg
ICAgKFdlYkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1lZGlhKToKKyAgICAgICAgKFdl
YkNvcmU6Ok1lZGlhUXVlcnlNYXRjaGVyOjpldmFsdWF0ZUFsbCk6CisgICAgICAgIChXZWJDb3Jl
OjpNZWRpYVF1ZXJ5TWF0Y2hlcjo6YWRkTGlzdGVuZXIpOiBEZWxldGVkLgorICAgICAgICAoV2Vi
Q29yZTo6TWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZUxpc3RlbmVyKTogRGVsZXRlZC4KKyAgICAg
ICAgKiBjc3MvTWVkaWFRdWVyeU1hdGNoZXIuaDoKKyAgICAgICAgKiBkb20vRXZlbnROYW1lcy5p
bjoKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXQuaDoKKyAgICAgICAgKFdlYkNvcmU6OkV2ZW50
VGFyZ2V0OjpyZW1vdmVFdmVudExpc3RlbmVyKToKKyAgICAgICAgKiBkb20vRXZlbnRUYXJnZXRG
YWN0b3J5LmluOgorCiAyMDIwLTA0LTA5ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNv
bT4KIAogICAgICAgICBbIG1hY09TIGRlYnVnIHdrMiBdIFJFR1JFU1NJT04ocjI1OTc2MSk6IEFT
U0VSVElPTiBGQUlMRUQ6ICFuZWVkc0xheW91dCgpIG9uIGZhc3QvZXZlbnRzL3Njcm9sbC1zdWJm
cmFtZS1pbi1yZW5kZXJpbmctdXBkYXRlLmh0bWwKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJJbnNw
ZWN0b3JVSS9DaGFuZ2VMb2cgYi9Tb3VyY2UvV2ViSW5zcGVjdG9yVUkvQ2hhbmdlTG9nCmluZGV4
IGUzMDY2YWI4YzUyM2RlZGJlMmVhMjA1M2Y4ZDc1N2MwMzYyY2YyYzIuLmEwOTZmZGMyNTg3ZjBh
MzUzZDcwYzBlZjliMDJjZTA3YjU3MzM3OTkgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJJbnNwZWN0
b3JVSS9DaGFuZ2VMb2cKKysrIGIvU291cmNlL1dlYkluc3BlY3RvclVJL0NoYW5nZUxvZwpAQCAt
MSwzICsxLDEyIEBACisyMDIwLTA0LTEwICBBbGV4ZXkgU2h2YXlrYSAgPHNodmFpa2FsZXNoQGdt
YWlsLmNvbT4KKworICAgICAgICBNZWRpYVF1ZXJ5TGlzdCBzaG91bGQgZXh0ZW5kIEV2ZW50VGFy
Z2V0CisgICAgICAgIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD0yMDMy
ODgKKworICAgICAgICBSZXZpZXdlZCBieSBEYXJpbiBBZGxlci4KKworICAgICAgICAqIFVzZXJJ
bnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qczoKKwogMjAyMC0wNC0w
OSAgRGV2aW4gUm91c3NvICA8ZHJvdXNzb0BhcHBsZS5jb20+CiAKICAgICAgICAgV2ViIEluc3Bl
Y3RvcjogRGVidWdnZXI6IGRlYnVnIGhvb2tzIHNob3VsZCBhbHNvIGJlIGVtaXR0ZWQgZm9yIHRo
ZSBmaXJzdCBzdWItZXhwcmVzc2lvbiBpbiBhIGNvbW1hIGV4cHJlc3Npb24KZGlmZiAtLWdpdCBh
L1NvdXJjZS9XZWJDb3JlL0NNYWtlTGlzdHMudHh0IGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0
cy50eHQKaW5kZXggOTEyMjMwMTc4YzFkMmEzOTM1YjIwOWE3OTlhNzczNTliZTc3ZDQ1NS4uMTc0
YmQwNWFjYTI2YThlZWVlM2Y0N2IzZTM0OTU4YTk2NDRkZTg4OCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvQ01ha2VMaXN0cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvQ01ha2VMaXN0cy50
eHQKQEAgLTYzOCw3ICs2MzgsNyBAQCBzZXQoV2ViQ29yZV9OT05fU1ZHX0lETF9GSUxFUwogICAg
IGNzcy9Gb250RmFjZVNldC5pZGwKICAgICBjc3MvTWVkaWFMaXN0LmlkbAogICAgIGNzcy9NZWRp
YVF1ZXJ5TGlzdC5pZGwKLSAgICBjc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwKKyAgICBj
c3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwKICAgICBjc3MvU3R5bGVNZWRpYS5pZGwKICAgICBj
c3MvU3R5bGVTaGVldC5pZGwKICAgICBjc3MvU3R5bGVTaGVldExpc3QuaWRsCmRpZmYgLS1naXQg
YS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1pbnB1dC54Y2ZpbGVsaXN0IGIvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMtaW5wdXQueGNmaWxlbGlzdAppbmRleCA2MWU1MGRhMDA2
ZGNhNWIwYTA1NWJiNGQ1ODQyZTkzNmNiNzAxOTI5Li41OWQyZTk3YWJhMTFhZWVlNjNlOWM0NWZk
ZGExNzNjMjdmOTI3MjNmIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNl
cy1pbnB1dC54Y2ZpbGVsaXN0CisrKyBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2VzLWlu
cHV0LnhjZmlsZWxpc3QKQEAgLTU0Niw3ICs1NDYsNyBAQCAkKFBST0pFQ1RfRElSKS9jc3MvRm9u
dEZhY2UuaWRsCiAkKFBST0pFQ1RfRElSKS9jc3MvRm9udEZhY2VTZXQuaWRsCiAkKFBST0pFQ1Rf
RElSKS9jc3MvTWVkaWFMaXN0LmlkbAogJChQUk9KRUNUX0RJUikvY3NzL01lZGlhUXVlcnlMaXN0
LmlkbAotJChQUk9KRUNUX0RJUikvY3NzL01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsCiskKFBS
T0pFQ1RfRElSKS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwKICQoUFJPSkVDVF9ESVIpL2Nz
cy9TVkdDU1NWYWx1ZUtleXdvcmRzLmluCiAkKFBST0pFQ1RfRElSKS9jc3MvU2VsZWN0b3JQc2V1
ZG9DbGFzc0FuZENvbXBhdGliaWxpdHlFbGVtZW50TWFwLmluCiAkKFBST0pFQ1RfRElSKS9jc3Mv
U2VsZWN0b3JQc2V1ZG9FbGVtZW50VHlwZU1hcC5pbgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNv
cmUvRGVyaXZlZFNvdXJjZXMtb3V0cHV0LnhjZmlsZWxpc3QgYi9Tb3VyY2UvV2ViQ29yZS9EZXJp
dmVkU291cmNlcy1vdXRwdXQueGNmaWxlbGlzdAppbmRleCAzZTYzZGQzNzdlODIxNDI1MjU5OTI0
NzY5NTY4OTRkZTljNjdkOGNlLi43ODUwMmIxMGM5NTliMjUxMjE4ODg1Zjc1MjI5NzI5NTQyMDk3
MDAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNm
aWxlbGlzdAorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVkU291cmNlcy1vdXRwdXQueGNmaWxl
bGlzdApAQCAtMTAzMiw4ICsxMDMyLDggQEAgJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2ZWRT
b3VyY2VzL1dlYkNvcmUvSlNNZWRpYUxpc3QuY3BwCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVy
aXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhTGlzdC5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikv
RGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0LmNwcAogJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdC5oCi0kKEJV
SUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29yZS9KU01lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuY3BwCi0kKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2ViQ29y
ZS9KU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaAorJChCVUlMVF9QUk9EVUNUU19ESVIpL0Rlcml2
ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcAorJChCVUlMVF9QUk9E
VUNUU19ESVIpL0Rlcml2ZWRTb3VyY2VzL1dlYkNvcmUvSlNNZWRpYVF1ZXJ5TGlzdEV2ZW50LmgK
ICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pTTWVkaWFSZWNv
cmRlci5jcHAKICQoQlVJTFRfUFJPRFVDVFNfRElSKS9EZXJpdmVkU291cmNlcy9XZWJDb3JlL0pT
TWVkaWFSZWNvcmRlci5oCiAkKEJVSUxUX1BST0RVQ1RTX0RJUikvRGVyaXZlZFNvdXJjZXMvV2Vi
Q29yZS9KU01lZGlhUmVjb3JkZXJFcnJvckV2ZW50LmNwcApkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZSBiL1NvdXJjZS9XZWJDb3JlL0Rlcml2ZWRTb3VyY2Vz
Lm1ha2UKaW5kZXggNGU5MjU2OGYwNzIyOTE2YWVhOTI4NTg2YzY0OTc2MzI4NzA1ZmU5NS4uMDAy
M2NmNzYxZDE1NWFhYjY0MzJkNzIxZjNjYzRlNzMyNjQ2MWFjMCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvRGVyaXZlZFNvdXJjZXMubWFrZQorKysgYi9Tb3VyY2UvV2ViQ29yZS9EZXJpdmVk
U291cmNlcy5tYWtlCkBAIC01NzksNyArNTc5LDcgQEAgSlNfQklORElOR19JRExTID0gXAogICAg
ICQoV2ViQ29yZSkvY3NzL0ZvbnRGYWNlU2V0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvTWVk
aWFMaXN0LmlkbCBcCiAgICAgJChXZWJDb3JlKS9jc3MvTWVkaWFRdWVyeUxpc3QuaWRsIFwKLSAg
ICAkKFdlYkNvcmUpL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbCBcCisgICAgJChXZWJD
b3JlKS9jc3MvTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwgXAogICAgICQoV2ViQ29yZSkvY3NzL1N0
eWxlTWVkaWEuaWRsIFwKICAgICAkKFdlYkNvcmUpL2Nzcy9TdHlsZVNoZWV0LmlkbCBcCiAgICAg
JChXZWJDb3JlKS9jc3MvU3R5bGVTaGVldExpc3QuaWRsIFwKZGlmZiAtLWdpdCBhL1NvdXJjZS9X
ZWJDb3JlL1NvdXJjZXMudHh0IGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKaW5kZXggYjI3
MDUwZDYyZDI5MzliNmJjZDUzMGMzYTE5NGNhNzBiOWQ2NTg1Ny4uMGE5M2FhZjQ2NWZlODk2OWJj
OGNiNjNkODRlMzljZmM1ZmZkNzI2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvU291cmNl
cy50eHQKKysrIGIvU291cmNlL1dlYkNvcmUvU291cmNlcy50eHQKQEAgLTc4OSw2ICs3ODksNyBA
QCBjc3MvTWVkaWFRdWVyeS5jcHAKIGNzcy9NZWRpYVF1ZXJ5RXZhbHVhdG9yLmNwcAogY3NzL01l
ZGlhUXVlcnlFeHByZXNzaW9uLmNwcAogY3NzL01lZGlhUXVlcnlMaXN0LmNwcAorY3NzL01lZGlh
UXVlcnlMaXN0RXZlbnQuY3BwCiBjc3MvTWVkaWFRdWVyeU1hdGNoZXIuY3BwCiBjc3MvTWVkaWFR
dWVyeVBhcnNlckNvbnRleHQuY3BwCiBjc3MvUHJvcGVydHlTZXRDU1NTdHlsZURlY2xhcmF0aW9u
LmNwcApAQCAtMzEwNyw3ICszMTA4LDcgQEAgSlNNZWRpYUVuY29kaW5nVHlwZS5jcHAKIEpTTWVk
aWFFcnJvci5jcHAKIEpTTWVkaWFMaXN0LmNwcAogSlNNZWRpYVF1ZXJ5TGlzdC5jcHAKLUpTTWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5jcHAKK0pTTWVkaWFRdWVyeUxpc3RFdmVudC5jcHAKIEpTTWVk
aWFSZWNvcmRlci5jcHAKIEpTTWVkaWFSZWNvcmRlckVycm9yRXZlbnQuY3BwCiBKU01lZGlhUmVt
b3RlQ29udHJvbHMuY3BwCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2Rl
cHJvai9wcm9qZWN0LnBieHByb2ogYi9Tb3VyY2UvV2ViQ29yZS9XZWJDb3JlLnhjb2RlcHJvai9w
cm9qZWN0LnBieHByb2oKaW5kZXggM2FkNTNjZjVkMmQ3NzhmZDhjNmJkNmFhMjY2ZTBlNzE4NGIw
MTcwNS4uNWQ0NmVlM2YzYjNkYTBlOTQ0YjZiYmIxMGZlNjIwOTA2MWUzZGExOSAxMDA2NDQKLS0t
IGEvU291cmNlL1dlYkNvcmUvV2ViQ29yZS54Y29kZXByb2ovcHJvamVjdC5wYnhwcm9qCisrKyBi
L1NvdXJjZS9XZWJDb3JlL1dlYkNvcmUueGNvZGVwcm9qL3Byb2plY3QucGJ4cHJvagpAQCAtMjI1
OCw3ICsyMjU4LDYgQEAKIAkJN0M1MjIyOTkxRTFEQUUxQzAwMkNCOEY3IC8qIEFjdGl2ZURPTUNh
bGxiYWNrLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3
QzUyMjI5ODFFMURBRTE2MDAyQ0I4RjcgLyogQWN0aXZlRE9NQ2FsbGJhY2suaCAqLzsgc2V0dGlu
Z3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9OyB9OwogCQk3QzUyMjI5RTFFMURBRTQ3
MDAyQ0I4RjcgLyogUnVudGltZUVuYWJsZWRGZWF0dXJlcy5oIGluIEhlYWRlcnMgKi8gPSB7aXNh
ID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M1MjIyOUMxRTFEQUU0NzAwMkNCOEY3IC8qIFJ1
bnRpbWVFbmFibGVkRmVhdHVyZXMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2
YXRlLCApOyB9OyB9OwogCQk3QzUyNjY5ODFGMUIwMzAyMDAwRjA2OEIgLyogU3RyaW5nQWRhcHRv
cnMuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTI2
Njk2MUYxQjAyRkMwMDBGMDY4QiAvKiBTdHJpbmdBZGFwdG9ycy5oICovOyBzZXR0aW5ncyA9IHtB
VFRSSUJVVEVTID0gKFByaXZhdGUsICk7IH07IH07Ci0JCTdDNTM0M0ZEMTdCNzRCNjMwMDQyMzJG
MCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBC
WEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDdDNTM0M0ZCMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuaCAqLzsgfTsKIAkJN0M1N0JGRTcxRURFMkY2MTAwNTM0QTQ4IC8q
IEpTRE9NQWJzdHJhY3RPcGVyYXRpb25zLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSA3QzU3QkZFNjFFREUyRjVCMDA1MzRBNDggLyogSlNET01BYnN0cmFj
dE9wZXJhdGlvbnMuaCAqLzsgc2V0dGluZ3MgPSB7QVRUUklCVVRFUyA9IChQcml2YXRlLCApOyB9
OyB9OwogCQk3QzVGMjhGQzFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50
LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA3QzVGMjhG
QTFBODI3RDg0MDBDMEYzMUYgLyogSFRNTEF0dGFjaG1lbnRFbGVtZW50LmggKi87IHNldHRpbmdz
ID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsKIAkJN0M2NTIyRUYxRTAwQTRDNzAw
Njc3RjIyIC8qIEFwcGxlUGF5UGF5bWVudE1ldGhvZC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0g
UEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gN0M2NTIyRUMxRTAwQTRDNzAwNjc3RjIyIC8qIEFwcGxl
UGF5UGF5bWVudE1ldGhvZC5oICovOyB9OwpAQCAtMjUwNCw2ICsyNTAzLDcgQEAKIAkJODQzMDBC
RDgxMjBDOUFENDAwMjE5NTRBIC8qIFNWR1BhdGhTb3VyY2UuaCBpbiBIZWFkZXJzICovID0ge2lz
YSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0MzAwQkQ3MTIwQzlBRDQwMDIxOTU0QSAvKiBT
VkdQYXRoU291cmNlLmggKi87IH07CiAJCTg0NUU3MkY4MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0
ZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IDg0NUU3
MkY3MEZEMjYxRUUwMEE4N0Q3OSAvKiBGaWx0ZXIuaCAqLzsgfTsKIAkJODQ1RTcyRkMwRkQyNjIz
OTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODQ1RTcyRkEwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5oICov
OyB9OworCQk4NDY1MEU3RTIzODdBRDdEMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5o
IGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ2NTBFN0My
Mzg3QUQ3QzAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuaCAqLzsgfTsKIAkJODQ3MzBE
NzcxMjQ4RjBCMzAwRDNBOUM5IC8qIERpc3RhbnRMaWdodFNvdXJjZS5oIGluIEhlYWRlcnMgKi8g
PSB7aXNhID0gUEJYQnVpbGRGaWxlOyBmaWxlUmVmID0gODQ3MzBENUExMjQ4RjBCMzAwRDNBOUM5
IC8qIERpc3RhbnRMaWdodFNvdXJjZS5oICovOyB9OwogCQk4NDczMEQ3OTEyNDhGMEIzMDBEM0E5
QzkgLyogRkVDb252b2x2ZU1hdHJpeC5oIGluIEhlYWRlcnMgKi8gPSB7aXNhID0gUEJYQnVpbGRG
aWxlOyBmaWxlUmVmID0gODQ3MzBENUMxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFQ29udm9sdmVNYXRy
aXguaCAqLzsgfTsKIAkJODQ3MzBEN0IxMjQ4RjBCMzAwRDNBOUM5IC8qIEZFRGlmZnVzZUxpZ2h0
aW5nLmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSA4NDcz
MEQ1RTEyNDhGMEIzMDBEM0E5QzkgLyogRkVEaWZmdXNlTGlnaHRpbmcuaCAqLzsgfTsKQEAgLTQz
MDMsNyArNDMwMyw2IEBACiAJCUQzNTlENzhBMTI5Q0EyNzEwMDA2RTVEMiAvKiBIVE1MRGV0YWls
c0VsZW1lbnQuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9
IEQzNTlENzg3MTI5Q0EyNzEwMDA2RTVEMiAvKiBIVE1MRGV0YWlsc0VsZW1lbnQuaCAqLzsgfTsK
IAkJRDM1OUQ4QkYxMjlDQTU1QzAwMDZFNUQyIC8qIEpTSFRNTERldGFpbHNFbGVtZW50LmggaW4g
SGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEMzU5RDhCRDEyOUNB
NTVDMDAwNkU1RDIgLyogSlNIVE1MRGV0YWlsc0VsZW1lbnQuaCAqLzsgfTsKIAkJRDNBOTRBMzkx
MjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2Eg
PSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0E5NEEzMjEyMkRBQkFDMDBBMzdCQkMgLyogTWVk
aWFRdWVyeUxpc3QuaCAqLzsgfTsKLQkJRDNBOTRBM0IxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBIZWFkZXJzICovID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsg
ZmlsZVJlZiA9IEQzQTk0QTM0MTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyLmggKi87IH07CiAJCUQzQTk0QTQ3MTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlM
aXN0LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWlsZEZpbGU7IGZpbGVSZWYgPSBEM0E5
NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5oICovOyB9OwogCQlEM0FB
MTBGNDEyM0E5OEFBMDA5MjE1MkIgLyogTWVkaWFRdWVyeU1hdGNoZXIuaCBpbiBIZWFkZXJzICov
ID0ge2lzYSA9IFBCWEJ1aWxkRmlsZTsgZmlsZVJlZiA9IEQzQUExMEYyMTIzQTk4QUEwMDkyMTUy
QiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5oICovOyB9OwogCQlEM0Q0RTk3MzEzMEM3Q0ZFMDA3QkE1
NDAgLyogSFRNTFN1bW1hcnlFbGVtZW50LmggaW4gSGVhZGVycyAqLyA9IHtpc2EgPSBQQlhCdWls
ZEZpbGU7IGZpbGVSZWYgPSBEM0Q0RTk3MTEzMEM3Q0ZFMDA3QkE1NDAgLyogSFRNTFN1bW1hcnlF
bGVtZW50LmggKi87IHNldHRpbmdzID0ge0FUVFJJQlVURVMgPSAoUHJpdmF0ZSwgKTsgfTsgfTsK
QEAgLTk5NjYsOCArOTk2NSw2IEBACiAJCTdDNTIyRDQ5MTVCNDc3RTgwMDlCN0M5NSAvKiBJbnNw
ZWN0b3JPdmVybGF5LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rp
bmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0aCA9IElu
c3BlY3Rvck92ZXJsYXkuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQk3QzUyMkQ0
QTE1QjQ3OEIyMDA5QjdDOTUgLyogSW5zcGVjdG9yT3ZlcmxheS5oICovID0ge2lzYSA9IFBCWEZp
bGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNl
Y29kZS5jLmg7IHBhdGggPSBJbnNwZWN0b3JPdmVybGF5Lmg7IHNvdXJjZVRyZWUgPSAiPGdyb3Vw
PiI7IH07CiAJCTdDNTI2Njk2MUYxQjAyRkMwMDBGMDY4QiAvKiBTdHJpbmdBZGFwdG9ycy5oICov
ID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZp
bGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBTdHJpbmdBZGFwdG9ycy5oOyBzb3VyY2VU
cmVlID0gIjxncm91cD4iOyB9OwotCQk3QzUzNDNGQTE3Qjc0QjYzMDA0MjMyRjAgLyogSlNNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7
IH07Ci0JCTdDNTM0M0ZCMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0
S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmg7IHBhdGggPSBKU01lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJN0M1N0JGRTYxRURFMkY1
QjAwNTM0QTQ4IC8qIEpTRE9NQWJzdHJhY3RPcGVyYXRpb25zLmggKi8gPSB7aXNhID0gUEJYRmls
ZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vj
b2RlLmMuaDsgcGF0aCA9IEpTRE9NQWJzdHJhY3RPcGVyYXRpb25zLmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCTdDNUJFQTNBMUU5RUU3NzEwMENDNTE3QiAvKiBOYXZpZ2F0b3JJRC5p
ZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtu
b3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTmF2aWdhdG9ySUQuaWRsOyBzb3VyY2VUcmVlID0g
Ijxncm91cD4iOyB9OwogCQk3QzVCRUEzQjFFOUVFNzcxMDBDQzUxN0IgLyogTmF2aWdhdG9yTGFu
Z3VhZ2UuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7
IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE5hdmlnYXRvckxhbmd1YWdlLmlkbDsg
c291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKQEAgLTEwNDc0LDYgKzEwNDcxLDkgQEAKIAkJODQ1
RTcyRjcwRkQyNjFFRTAwQTg3RDc5IC8qIEZpbHRlci5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZl
cmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gc291cmNlY29kZS5j
Lmg7IHBhdGggPSBGaWx0ZXIuaDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKIAkJODQ1RTcy
RjkwRkQyNjIzOTAwQTg3RDc5IC8qIFNWR0ZpbHRlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJl
ZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2Rl
LmNwcC5jcHA7IHBhdGggPSBTVkdGaWx0ZXIuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OwogCQk4NDVFNzJGQTBGRDI2MjM5MDBBODdENzkgLyogU1ZHRmlsdGVyLmggKi8gPSB7aXNhID0g
UEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBz
b3VyY2Vjb2RlLmMuaDsgcGF0aCA9IFNWR0ZpbHRlci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OworCQk4NDY1MEU3QzIzODdBRDdDMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdEV2ZW50Lmg7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CisJCTg0NjUwRTdGMjM4N0FEOEEwMDYyNjZFMiAv
KiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBm
aWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsg
cGF0aCA9IE1lZGlhUXVlcnlMaXN0RXZlbnQuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9
OworCQk4NDY1MEU4MDIzODdBRDhCMDA2MjY2RTIgLyogTWVkaWFRdWVyeUxpc3RFdmVudC5pZGwg
Ki8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3du
RmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFRdWVyeUxpc3RFdmVudC5pZGw7IHNvdXJjZVRy
ZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NzMwRDVBMTI0OEYwQjMwMEQzQTlDOSAvKiBEaXN0YW50
TGlnaHRTb3VyY2UuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxlRW5jb2Rpbmcg
PSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5oOyBwYXRoID0gRGlzdGFudExp
Z2h0U291cmNlLmg7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCTg0NzMwRDVCMTI0OEYw
QjMwMEQzQTlDOSAvKiBGRUNvbnZvbHZlTWF0cml4LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVm
ZXJlbmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUu
Y3BwLmNwcDsgcGF0aCA9IEZFQ29udm9sdmVNYXRyaXguY3BwOyBzb3VyY2VUcmVlID0gIjxncm91
cD4iOyB9OwogCQk4NDczMEQ1QzEyNDhGMEIzMDBEM0E5QzkgLyogRkVDb252b2x2ZU1hdHJpeC5o
ICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93
bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBGRUNvbnZvbHZlTWF0cml4Lmg7IHNv
dXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0xNDUzMSw4ICsxNDUzMSw2IEBACiAJCUQzQTk0
QTMxMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlzdC5jcHAgKi8gPSB7aXNhID0gUEJY
RmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFzdEtub3duRmlsZVR5cGUgPSBzb3Vy
Y2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdC5jcHA7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQzQTk0QTMyMTIyREFCQUMwMEEzN0JCQyAvKiBNZWRpYVF1ZXJ5TGlz
dC5oICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RL
bm93bkZpbGVUeXBlID0gc291cmNlY29kZS5jLmg7IHBhdGggPSBNZWRpYVF1ZXJ5TGlzdC5oOyBz
b3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlEM0E5NEEzMzEyMkRBQkFDMDBBMzdCQkMgLyog
TWVkaWFRdWVyeUxpc3QuaWRsICovID0ge2lzYSA9IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNv
ZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0gdGV4dDsgcGF0aCA9IE1lZGlhUXVlcnlMaXN0
LmlkbDsgc291cmNlVHJlZSA9ICI8Z3JvdXA+IjsgfTsKLQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3
QkJDIC8qIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJl
bmNlOyBmaWxlRW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuYy5o
OyBwYXRoID0gTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oOyBzb3VyY2VUcmVlID0gIjxncm91cD4i
OyB9OwotCQlEM0E5NEEzNTEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5pZGwgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsgbGFz
dEtub3duRmlsZVR5cGUgPSB0ZXh0OyBwYXRoID0gTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGw7
IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CiAJCUQzQTk0QTQyMTIyREM0MEYwMEEzN0JCQyAv
KiBKU01lZGlhUXVlcnlMaXN0LmNwcCAqLyA9IHtpc2EgPSBQQlhGaWxlUmVmZXJlbmNlOyBmaWxl
RW5jb2RpbmcgPSA0OyBsYXN0S25vd25GaWxlVHlwZSA9IHNvdXJjZWNvZGUuY3BwLmNwcDsgcGF0
aCA9IEpTTWVkaWFRdWVyeUxpc3QuY3BwOyBzb3VyY2VUcmVlID0gIjxncm91cD4iOyB9OwogCQlE
M0E5NEE0MzEyMkRDNDBGMDBBMzdCQkMgLyogSlNNZWRpYVF1ZXJ5TGlzdC5oICovID0ge2lzYSA9
IFBCWEZpbGVSZWZlcmVuY2U7IGZpbGVFbmNvZGluZyA9IDQ7IGxhc3RLbm93bkZpbGVUeXBlID0g
c291cmNlY29kZS5jLmg7IHBhdGggPSBKU01lZGlhUXVlcnlMaXN0Lmg7IHNvdXJjZVRyZWUgPSAi
PGdyb3VwPiI7IH07CiAJCUQzQUExMEYxMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0
Y2hlci5jcHAgKi8gPSB7aXNhID0gUEJYRmlsZVJlZmVyZW5jZTsgZmlsZUVuY29kaW5nID0gNDsg
bGFzdEtub3duRmlsZVR5cGUgPSBzb3VyY2Vjb2RlLmNwcC5jcHA7IHBhdGggPSBNZWRpYVF1ZXJ5
TWF0Y2hlci5jcHA7IHNvdXJjZVRyZWUgPSAiPGdyb3VwPiI7IH07CkBAIC0yNDEzMyw4ICsyNDEz
MSw2IEBACiAJCQkJQkMzQzM5QjUwQzBEM0Q4RDAwNUY0RDdBIC8qIEpTTWVkaWFMaXN0LmggKi8s
CiAJCQkJRDNBOTRBNDIxMjJEQzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuY3BwICov
LAogCQkJCUQzQTk0QTQzMTIyREM0MEYwMEEzN0JCQyAvKiBKU01lZGlhUXVlcnlMaXN0LmggKi8s
Ci0JCQkJN0M1MzQzRkExN0I3NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ci5jcHAgKi8sCi0JCQkJN0M1MzQzRkIxN0I3NEI2MzAwNDIzMkYwIC8qIEpTTWVkaWFRdWVyeUxp
c3RMaXN0ZW5lci5oICovLAogCQkJCTBGRjUwMjY3MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxl
TWVkaWEuY3BwICovLAogCQkJCTBGRjUwMjY4MTAyQkE5NDMwMDY2RjM5QSAvKiBKU1N0eWxlTWVk
aWEuaCAqLywKIAkJCQlCQ0UwMTM5ODBDMEJFRjE4MDA0Mzg2MEEgLyogSlNTdHlsZVNoZWV0LmNw
cCAqLywKQEAgLTI3OTUzLDggKzI3OTQ5LDkgQEAKIAkJCQlEM0E5NEEzMTEyMkRBQkFDMDBBMzdC
QkMgLyogTWVkaWFRdWVyeUxpc3QuY3BwICovLAogCQkJCUQzQTk0QTMyMTIyREFCQUMwMEEzN0JC
QyAvKiBNZWRpYVF1ZXJ5TGlzdC5oICovLAogCQkJCUQzQTk0QTMzMTIyREFCQUMwMEEzN0JCQyAv
KiBNZWRpYVF1ZXJ5TGlzdC5pZGwgKi8sCi0JCQkJRDNBOTRBMzQxMjJEQUJBQzAwQTM3QkJDIC8q
IE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCAqLywKLQkJCQlEM0E5NEEzNTEyMkRBQkFDMDBBMzdC
QkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5pZGwgKi8sCisJCQkJODQ2NTBFN0YyMzg3QUQ4
QTAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuY3BwICovLAorCQkJCTg0NjUwRTdDMjM4
N0FEN0MwMDYyNjZFMiAvKiBNZWRpYVF1ZXJ5TGlzdEV2ZW50LmggKi8sCisJCQkJODQ2NTBFODAy
Mzg3QUQ4QjAwNjI2NkUyIC8qIE1lZGlhUXVlcnlMaXN0RXZlbnQuaWRsICovLAogCQkJCUQzQUEx
MEYxMTIzQTk4QUEwMDkyMTUyQiAvKiBNZWRpYVF1ZXJ5TWF0Y2hlci5jcHAgKi8sCiAJCQkJRDNB
QTEwRjIxMjNBOThBQTAwOTIxNTJCIC8qIE1lZGlhUXVlcnlNYXRjaGVyLmggKi8sCiAJCQkJNDQ3
MTcxMEIyMDVBRjk0NTAwMEExMTZFIC8qIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0LmNwcCAqLywK
QEAgLTMxMjQwLDcgKzMxMjM3LDYgQEAKIAkJCQlCQzNDMzlCNzBDMEQzRDhEMDA1RjREN0EgLyog
SlNNZWRpYUxpc3QuaCBpbiBIZWFkZXJzICovLAogCQkJCTkzRDQzN0EzMUQ1N0I3RTIwMEFCODVF
QSAvKiBKU01lZGlhTGlzdEN1c3RvbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRBNDcxMjJE
QzQwRjAwQTM3QkJDIC8qIEpTTWVkaWFRdWVyeUxpc3QuaCBpbiBIZWFkZXJzICovLAotCQkJCTdD
NTM0M0ZEMTdCNzRCNjMwMDQyMzJGMCAvKiBKU01lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaCBpbiBI
ZWFkZXJzICovLAogCQkJCUNEOURFMTc1MTdBQUM3NEMwMEVBMzg2RCAvKiBKU01lZGlhU291cmNl
LmggaW4gSGVhZGVycyAqLywKIAkJCQkwNzI3N0U0RDE3RDAxOENDMDAxNTUzNEQgLyogSlNNZWRp
YVN0cmVhbS5oIGluIEhlYWRlcnMgKi8sCiAJCQkJMDcyNzdFNEYxN0QwMThDQzAwMTU1MzREIC8q
IEpTTWVkaWFTdHJlYW1BdWRpb0Rlc3RpbmF0aW9uTm9kZS5oIGluIEhlYWRlcnMgKi8sCkBAIC0z
MTg1OCw3ICszMTg1NCw3IEBACiAJCQkJNEUxOTU5MkMwQTM5REFDQzAwMjIwRkU1IC8qIE1lZGlh
UXVlcnlFdmFsdWF0b3IuaCBpbiBIZWFkZXJzICovLAogCQkJCTdDQjVDQTQwMUU1MjVDNzMwMEZB
RUYxMyAvKiBNZWRpYVF1ZXJ5RXhwcmVzc2lvbi5oIGluIEhlYWRlcnMgKi8sCiAJCQkJRDNBOTRB
MzkxMjJEQUJBQzAwQTM3QkJDIC8qIE1lZGlhUXVlcnlMaXN0LmggaW4gSGVhZGVycyAqLywKLQkJ
CQlEM0E5NEEzQjEyMkRBQkFDMDBBMzdCQkMgLyogTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oIGlu
IEhlYWRlcnMgKi8sCisJCQkJODQ2NTBFN0UyMzg3QUQ3RDAwNjI2NkUyIC8qIE1lZGlhUXVlcnlM
aXN0RXZlbnQuaCBpbiBIZWFkZXJzICovLAogCQkJCUQzQUExMEY0MTIzQTk4QUEwMDkyMTUyQiAv
KiBNZWRpYVF1ZXJ5TWF0Y2hlci5oIGluIEhlYWRlcnMgKi8sCiAJCQkJOTQ5M0I2QzExRDc0QjQx
MjAwODhFNzgwIC8qIE1lZGlhUXVlcnlQYXJzZXIuaCBpbiBIZWFkZXJzICovLAogCQkJCTQ0NzE3
MTBFMjA1QUY5NDUwMDBBMTE2RSAvKiBNZWRpYVF1ZXJ5UGFyc2VyQ29udGV4dC5oIGluIEhlYWRl
cnMgKi8sCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVp
bHRpbk5hbWVzLmggYi9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9qcy9XZWJDb3JlQnVpbHRpbk5h
bWVzLmgKaW5kZXggYzYyMDVjNWY2ZTZiMTZkODI3NjFhNDU1ZjVmOWYwNTI4MDA0ZTg4OC4uZmIz
M2U1NGM0MGRmMjc5MWQ1ODNhODg1ZmJmYmVhZTBlYmJhNTcxNCAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvYmluZGluZ3MvanMvV2ViQ29yZUJ1aWx0aW5OYW1lcy5oCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL2JpbmRpbmdzL2pzL1dlYkNvcmVCdWlsdGluTmFtZXMuaApAQCAtMTQ5LDYgKzE0OSw3
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKICAgICBtYWNybyhNZWRpYUtleVN0YXR1c01hcCkgXAog
ICAgIG1hY3JvKE1lZGlhS2V5U3lzdGVtQWNjZXNzKSBcCiAgICAgbWFjcm8oTWVkaWFLZXlzKSBc
CisgICAgbWFjcm8oTWVkaWFRdWVyeUxpc3RFdmVudCkgXAogICAgIG1hY3JvKE1lZGlhUmVjb3Jk
ZXIpIFwKICAgICBtYWNybyhNZWRpYVJlY29yZGVyRXJyb3JFdmVudCkgXAogICAgIG1hY3JvKE1l
ZGlhU291cmNlKSBcCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRz
L3Rlc3QvSlMvSlNUZXN0R2xvYmFsT2JqZWN0LmNwcCBiL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdz
L3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCmluZGV4IDYwNWZlYjYxNjRh
ZWU4ZjQ3NzNiZDMwZTJhNTEyOTM0MzIwYzJiNWMuLjA2Y2M4NTYwYjI0NDI1MTBiOGYzNmUyODVi
MTllZjUyMDk1NTY1YWMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2JpbmRpbmdzL3Njcmlw
dHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Jp
bmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RHbG9iYWxPYmplY3QuY3BwCkBAIC01NCw3ICs1
NCw2IEBACiAjaW5jbHVkZSAiSlNUZXN0SXRlcmFibGUuaCIKICNpbmNsdWRlICJKU1Rlc3RKU0J1
aWx0aW5Db25zdHJ1Y3Rvci5oIgogI2luY2x1ZGUgIkpTVGVzdE1hcExpa2UuaCIKLSNpbmNsdWRl
ICJKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRB
bmRJbmRleGVkU2V0dGVyTm9JZGVudGlmaWVyLmgiCiAjaW5jbHVkZSAiSlNUZXN0TmFtZWRBbmRJ
bmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb24uaCIKICNpbmNsdWRlICJKU1Rlc3ROYW1lZEFu
ZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllci5oIgpAQCAtMjA5LDggKzIwOCw2IEBAIEpTQzo6
RW5jb2RlZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdEpTQnVpbHRpbkNvbnN0cnVjdG9y
Q29uc3RydWN0b3IoSlNDOjpKCiBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0
aW5Db25zdHJ1Y3RvckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29k
ZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNU
ZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0
KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQcm9wZXJ0eU5hbWUpOwogYm9vbCBzZXRKU1Rl
c3RHbG9iYWxPYmplY3RUZXN0TWFwTGlrZUNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3Qq
LCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKLUpTQzo6RW5jb2Rl
ZEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25z
dHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpQ
cm9wZXJ0eU5hbWUpOwotYm9vbCBzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRK
U1ZhbHVlLCBKU0M6OkVuY29kZWRKU1ZhbHVlKTsKIEpTQzo6RW5jb2RlZEpTVmFsdWUganNUZXN0
R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVj
dG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3Bl
cnR5TmFtZSk7CiBib29sIHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRT
ZXR0ZXJOb0lkZW50aWZpZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xvYmFsT2JqZWN0KiwgSlNDOjpF
bmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7CiBKU0M6OkVuY29kZWRKU1ZhbHVl
IGpzVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJvd2luZ0V4Y2Vw
dGlvbkNvbnN0cnVjdG9yKEpTQzo6SlNHbG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVl
LCBKU0M6OlByb3BlcnR5TmFtZSk7CkBAIC0zMDIsMTEgKzI5OSwxMSBAQCB1c2luZyBKU1Rlc3RH
bG9iYWxPYmplY3RDb25zdHJ1Y3RvciA9IEpTRE9NQ29uc3RydWN0b3JOb3RDb25zdHJ1Y3RhYmxl
PEpTVGVzdEdsbwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0
R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAz
NywgLTEgfSwKKyAgICB7IDM2LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAwLCAtMSB9
LAogICAgIHsgNCwgMjYyIH0sCi0gICAgeyA0MSwgLTEgfSwKKyAgICB7IDQwLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzE0LDcg
KzMxMSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9i
YWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAt
MSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA1MSwgLTEgfSwKKyAgICB7IDUwLCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtMzIy
LDcgKzMxOSw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RH
bG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2MywgLTEgfSwKKyAgICB7IDYyLCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAt
MzM2LDEzICszMzMsMTMgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpT
VGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDMxLCAtMSB9LAorICAgIHsgMzAs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0s
CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNjYsIC0xIH0sCisgICAg
eyA2NSwgLTEgfSwKICAgICB7IDksIDI1OCB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKQEAgLTM1MSw3ICszNDgsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNo
SW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMzUsIC0xIH0sCisg
ICAgeyAzNCwgLTEgfSwKICAgICB7IDE2LCAyNjMgfSwKICAgICB7IDYsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKQEAgLTM2NCw3ICszNjEsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RI
YXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMzMsIC0xIH0s
CisgICAgeyAzMiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKQEAgLTM4Niw3ICszODMsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBh
Y3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTcsIC0x
IH0sCisgICAgeyA1NiwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKQEAgLTM5NSwyOCArMzkyLDI4IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3Qg
Q29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IDIwLCAyNTYgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsg
NTgsIC0xIH0sCisgICAgeyA1NywgLTEgfSwKICAgICB7IDE1LCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQzLCAtMSB9LAorICAgIHsgNDIsIC0xIH0sCiAg
ICAgeyAxNCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgMzIsIC0xIH0sCisgICAgeyAzMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDQ3
LCAtMSB9LAorICAgIHsgNDYsIC0xIH0sCiAgICAgeyAyMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9
LAogICAgIHsgMiwgLTEgfSwKLSAgICB7IDM0LCAtMSB9LAorICAgIHsgMzMsIC0xIH0sCiAgICAg
eyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC00MjYsMjIg
KzQyMywyMiBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xv
YmFsT2JqZWN0VGFibGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTUsIC0xIH0sCisgICAgeyA1NCwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAyOCwgLTEgfSwKLSAgICB7IDI0LCAt
MSB9LAorICAgIHsgMjcsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDM5LCAtMSB9LAor
ICAgIHsgLTEsIC0xIH0sCisgICAgeyAzOCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCi0gICAgeyA1MCwgLTEgfSwKKyAgICB7IDQ5LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAg
ICAgeyAxMCwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtNDU5LDEyICs0NTYsMTIgQEAgc3Rh
dGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxl
SW5kZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKLSAgICB7IDY0LCAtMSB9LAorICAgIHsgNjMsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAyOSwgLTEgfSwKLSAg
ICB7IDI2LCAyNjEgfSwKKyAgICB7IDI4LCAtMSB9LAorICAgIHsgMjUsIDI2MSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtNDc2LDcgKzQ3
Myw3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RHbG9iYWxP
YmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDEyLCAyNTcg
fSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNTksIC0xIH0sCisgICAgeyA1OCwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKQEAgLTQ4NSwx
NyArNDgyLDE3IEBAIHN0YXRpYyBjb25zdCBzdHJ1Y3QgQ29tcGFjdEhhc2hJbmRleCBKU1Rlc3RH
bG9iYWxPYmplY3RUYWJsZUluZGV4WzI2Nl0gPSB7CiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0x
LCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyAzMCwgMjY1IH0sCisgICAgeyAyOSwgMjY1
IH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IDEzLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCi0g
ICAgeyA2MiwgLTEgfSwKKyAgICB7IDYxLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAt
MSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEg
fSwKLSAgICB7IDQ1LCAtMSB9LAorICAgIHsgNDQsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAg
ICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC01MDgsNyArNTA1LDcgQEAgc3RhdGlj
IGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5k
ZXhbMjY2XSA9IHsKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwg
LTEgfSwKLSAgICB7IDUzLCAtMSB9LAorICAgIHsgNTIsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwK
ICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEsIC0xIH0sCkBAIC01MzAsMTIgKzUyNywxMiBAQCBz
dGF0aWMgY29uc3Qgc3RydWN0IENvbXBhY3RIYXNoSW5kZXggSlNUZXN0R2xvYmFsT2JqZWN0VGFi
bGVJbmRleFsyNjZdID0gewogICAgIHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7
IC0xLCAtMSB9LAotICAgIHsgNDYsIC0xIH0sCisgICAgeyA0NSwgLTEgfSwKICAgICB7IDcsIDI2
MCB9LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA2MCwgLTEgfSwKKyAgICB7IDU5LCAtMSB9LAog
ICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0NCwgLTEgfSwKKyAgICB7IDQzLCAtMSB9LAogICAgIHsg
LTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LApAQCAtNTQ1LDI4ICs1
NDIsMjggQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBDb21wYWN0SGFzaEluZGV4IEpTVGVzdEdsb2Jh
bE9iamVjdFRhYmxlSW5kZXhbMjY2XSA9IHsKICAgICB7IDIyLCAtMSB9LAogICAgIHsgLTEsIC0x
IH0sCiAgICAgeyAtMSwgLTEgfSwKLSAgICB7IDI1LCAtMSB9LAorICAgIHsgMjQsIC0xIH0sCiAg
ICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAotICAgIHsgNDIsIC0xIH0sCisgICAgeyA0
MSwgLTEgfSwKICAgICB7IDMsIC0xIH0sCi0gICAgeyA0OCwgLTEgfSwKKyAgICB7IDQ3LCAtMSB9
LAogICAgIHsgLTEsIC0xIH0sCi0gICAgeyA0OSwgLTEgfSwKKyAgICB7IDQ4LCAtMSB9LAogICAg
IHsgLTEsIC0xIH0sCiAgICAgeyAtMSwgLTEgfSwKICAgICB7IC0xLCAtMSB9LAogICAgIHsgLTEs
IC0xIH0sCiAgICAgeyAyMywgMjU5IH0sCi0gICAgeyAyNywgLTEgfSwKLSAgICB7IDM2LCAtMSB9
LAotICAgIHsgMzgsIC0xIH0sCi0gICAgeyA0MCwgLTEgfSwKLSAgICB7IDUyLCAtMSB9LAotICAg
IHsgNTQsIC0xIH0sCi0gICAgeyA1NiwgLTEgfSwKLSAgICB7IDYxLCAtMSB9LAotICAgIHsgNjUs
IC0xIH0sCisgICAgeyAyNiwgLTEgfSwKKyAgICB7IDM1LCAtMSB9LAorICAgIHsgMzcsIC0xIH0s
CisgICAgeyAzOSwgLTEgfSwKKyAgICB7IDUxLCAtMSB9LAorICAgIHsgNTMsIC0xIH0sCisgICAg
eyA1NSwgLTEgfSwKKyAgICB7IDYwLCAtMSB9LAorICAgIHsgNjQsIC0xIH0sCiB9OwogCiAKQEAg
LTYwOCw3ICs2MDUsNiBAQCBzdGF0aWMgY29uc3QgSGFzaFRhYmxlVmFsdWUgSlNUZXN0R2xvYmFs
T2JqZWN0VGFibGVWYWx1ZXNbXSA9CiAgICAgeyAiVGVzdEl0ZXJhYmxlIiwgc3RhdGljX2Nhc3Q8
dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMs
IHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rl
c3RHbG9iYWxPYmplY3RUZXN0SXRlcmFibGVDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGlj
X2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVj
dFRlc3RJdGVyYWJsZUNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVzdEpTQnVpbHRpbkNvbnN0
cnVjdG9yIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRv
bnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xv
dDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0SlNCdWlsdGluQ29uc3RydWN0
b3JDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQ
dXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3RKU0J1aWx0aW5Db25zdHJ1Y3Rv
ckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVzdE1hcExpa2UiLCBzdGF0aWNfY2FzdDx1bnNp
Z25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVudW0pLCBOb0ludHJpbnNpYywgeyAo
aW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpHZXRWYWx1ZUZ1bmM+KGpzVGVzdEds
b2JhbE9iamVjdFRlc3RNYXBMaWtlQ29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0
PFB1dFByb3BlcnR5U2xvdDo6UHV0VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0
TWFwTGlrZUNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIiLCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RG9udEVu
dW0pLCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UHJvcGVydHlTbG90OjpH
ZXRWYWx1ZUZ1bmM+KGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Q29uc3RydWN0b3IpLCAoaW50cHRyX3QpIHN0YXRpY19jYXN0PFB1dFByb3BlcnR5U2xvdDo6UHV0
VmFsdWVGdW5jPihzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhlZFNldHRlck5vSWRl
bnRpZmllciIsIHN0YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpE
b250RW51bSksIE5vSW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNs
b3Q6OkdldFZhbHVlRnVuYz4oanNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhlZFNl
dHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKSwgKGludHB0cl90KSBzdGF0aWNfY2FzdDxQdXRQ
cm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVk
QW5kSW5kZXhlZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVz
dE5hbWVkQW5kSW5kZXhlZFNldHRlclRocm93aW5nRXhjZXB0aW9uIiwgc3RhdGljX2Nhc3Q8dW5z
aWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsg
KGludHB0cl90KXN0YXRpY19jYXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RH
bG9iYWxPYmplY3RUZXN0TmFtZWRBbmRJbmRleGVkU2V0dGVyVGhyb3dpbmdFeGNlcHRpb25Db25z
dHJ1Y3RvciksIChpbnRwdHJfdCkgc3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1
ZUZ1bmM+KHNldEpTVGVzdEdsb2JhbE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJUaHJv
d2luZ0V4Y2VwdGlvbkNvbnN0cnVjdG9yKSB9IH0sCiAgICAgeyAiVGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlcldpdGhJZGVudGlmaWVyIiwgc3RhdGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVy
dHlBdHRyaWJ1dGU6OkRvbnRFbnVtKSwgTm9JbnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19j
YXN0PFByb3BlcnR5U2xvdDo6R2V0VmFsdWVGdW5jPihqc1Rlc3RHbG9iYWxPYmplY3RUZXN0TmFt
ZWRBbmRJbmRleGVkU2V0dGVyV2l0aElkZW50aWZpZXJDb25zdHJ1Y3RvciksIChpbnRwdHJfdCkg
c3RhdGljX2Nhc3Q8UHV0UHJvcGVydHlTbG90OjpQdXRWYWx1ZUZ1bmM+KHNldEpTVGVzdEdsb2Jh
bE9iamVjdFRlc3ROYW1lZEFuZEluZGV4ZWRTZXR0ZXJXaXRoSWRlbnRpZmllckNvbnN0cnVjdG9y
KSB9IH0sCkBAIC02NTcsNyArNjUzLDcgQEAgc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpT
VGVzdEdsb2JhbE9iamVjdFRhYmxlVmFsdWVzW10gPQogICAgIHsgInJlZ3VsYXJPcGVyYXRpb24i
LCBzdGF0aWNfY2FzdDx1bnNpZ25lZD4oSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6RnVuY3Rpb24p
LCBOb0ludHJpbnNpYywgeyAoaW50cHRyX3Qpc3RhdGljX2Nhc3Q8UmF3TmF0aXZlRnVuY3Rpb24+
KGpzVGVzdEdsb2JhbE9iamVjdEluc3RhbmNlRnVuY3Rpb25SZWd1bGFyT3BlcmF0aW9uKSwgKGlu
dHB0cl90KSAoMSkgfSB9LAogfTsKIAotc3RhdGljIGNvbnN0IEhhc2hUYWJsZSBKU1Rlc3RHbG9i
YWxPYmplY3RUYWJsZSA9IHsgNjcsIDI1NSwgdHJ1ZSwgSlNUZXN0R2xvYmFsT2JqZWN0OjppbmZv
KCksIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlVmFsdWVzLCBKU1Rlc3RHbG9iYWxPYmplY3RUYWJs
ZUluZGV4IH07CitzdGF0aWMgY29uc3QgSGFzaFRhYmxlIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxl
ID0geyA2NiwgMjU1LCB0cnVlLCBKU1Rlc3RHbG9iYWxPYmplY3Q6OmluZm8oKSwgSlNUZXN0R2xv
YmFsT2JqZWN0VGFibGVWYWx1ZXMsIEpTVGVzdEdsb2JhbE9iamVjdFRhYmxlSW5kZXggfTsKIC8q
IEhhc2ggdGFibGUgZm9yIGNvbnN0cnVjdG9yICovCiAKIHN0YXRpYyBjb25zdCBIYXNoVGFibGVW
YWx1ZSBKU1Rlc3RHbG9iYWxPYmplY3RDb25zdHJ1Y3RvclRhYmxlVmFsdWVzW10gPQpAQCAtMTUw
MywzMSArMTQ5OSw2IEBAIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1hcExpa2VDb25z
dHJ1Y3RvcihKU0dsb2JhbE9iamVjdCogbGV4aWNhbEdsb2JhbE9iCiAgICAgcmV0dXJuIElETEF0
dHJpYnV0ZTxKU1Rlc3RHbG9iYWxPYmplY3Q+OjpzZXQ8c2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVz
dE1hcExpa2VDb25zdHJ1Y3RvclNldHRlcj4oKmxleGljYWxHbG9iYWxPYmplY3QsIHRoaXNWYWx1
ZSwgZW5jb2RlZFZhbHVlLCAiVGVzdE1hcExpa2UiKTsKIH0KIAotc3RhdGljIGlubGluZSBKU1Zh
bHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0
b3JHZXR0ZXIoSlNHbG9iYWxPYmplY3QmIGxleGljYWxHbG9iYWxPYmplY3QsIEpTVGVzdEdsb2Jh
bE9iamVjdCYgdGhpc09iamVjdCwgVGhyb3dTY29wZSYgdGhyb3dTY29wZSkKLXsKLSAgICBVTlVT
RURfUEFSQU0odGhyb3dTY29wZSk7Ci0gICAgVU5VU0VEX1BBUkFNKGxleGljYWxHbG9iYWxPYmpl
Y3QpOwotICAgIHJldHVybiBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpnZXRDb25zdHJ1
Y3RvcihKU0M6OmdldFZNKCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgdGhpc09iamVjdC5nbG9iYWxP
YmplY3QoKSk7Ci19Ci0KLUVuY29kZWRKU1ZhbHVlIGpzVGVzdEdsb2JhbE9iamVjdFRlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9i
YWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1ZSwgUHJvcGVydHlOYW1lKQotewotICAg
IHJldHVybiBJRExBdHRyaWJ1dGU8SlNUZXN0R2xvYmFsT2JqZWN0Pjo6Z2V0PGpzVGVzdEdsb2Jh
bE9iamVjdFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3JHZXR0ZXI+KCpsZXhp
Y2FsR2xvYmFsT2JqZWN0LCB0aGlzVmFsdWUsICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIp
OwotfQotCi1zdGF0aWMgaW5saW5lIGJvb2wgc2V0SlNUZXN0R2xvYmFsT2JqZWN0VGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvclNldHRlcihKU0dsb2JhbE9iamVjdCYgbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNUZXN0R2xvYmFsT2JqZWN0JiB0aGlzT2JqZWN0LCBKU1ZhbHVlIHZh
bHVlLCBUaHJvd1Njb3BlJiB0aHJvd1Njb3BlKQotewotICAgIFVOVVNFRF9QQVJBTShsZXhpY2Fs
R2xvYmFsT2JqZWN0KTsKLSAgICBWTSYgdm0gPSB0aHJvd1Njb3BlLnZtKCk7Ci0gICAgLy8gU2hh
ZG93aW5nIGEgYnVpbHQtaW4gY29uc3RydWN0b3IuCi0gICAgcmV0dXJuIHRoaXNPYmplY3QucHV0
RGlyZWN0KHZtLCBJZGVudGlmaWVyOjpmcm9tU3RyaW5nKHZtLCByZWludGVycHJldF9jYXN0PGNv
bnN0IExDaGFyKj4oIlRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIiksIHN0cmxlbigiVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIiKSksIHZhbHVlKTsKLX0KLQotYm9vbCBzZXRKU1Rlc3RHbG9i
YWxPYmplY3RUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xvYmFsT2Jq
ZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUsIEVuY29k
ZWRKU1ZhbHVlIGVuY29kZWRWYWx1ZSkKLXsKLSAgICByZXR1cm4gSURMQXR0cmlidXRlPEpTVGVz
dEdsb2JhbE9iamVjdD46OnNldDxzZXRKU1Rlc3RHbG9iYWxPYmplY3RUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lckNvbnN0cnVjdG9yU2V0dGVyPigqbGV4aWNhbEdsb2JhbE9iamVjdCwgdGhpc1Zh
bHVlLCBlbmNvZGVkVmFsdWUsICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIpOwotfQotCiBz
dGF0aWMgaW5saW5lIEpTVmFsdWUganNUZXN0R2xvYmFsT2JqZWN0VGVzdE5hbWVkQW5kSW5kZXhl
ZFNldHRlck5vSWRlbnRpZmllckNvbnN0cnVjdG9yR2V0dGVyKEpTR2xvYmFsT2JqZWN0JiBsZXhp
Y2FsR2xvYmFsT2JqZWN0LCBKU1Rlc3RHbG9iYWxPYmplY3QmIHRoaXNPYmplY3QsIFRocm93U2Nv
cGUmIHRocm93U2NvcGUpCiB7CiAgICAgVU5VU0VEX1BBUkFNKHRocm93U2NvcGUpOwpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L0pTL0pTVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuY3BwIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuY3BwCmRlbGV0ZWQgZmlsZSBtb2Rl
IDEwMDY0NAppbmRleCBmOWQ4MTNkMzAyZWMwN2ZmZWVmNzk4N2YwZGYyYTczYzE1YjhiYWU0Li4w
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJD
b3JlL2JpbmRpbmdzL3NjcmlwdHMvdGVzdC9KUy9KU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmNwcAorKysgL2Rldi9udWxsCkBAIC0xLDI5OCArMCwwIEBACi0vKgotICAgIFRoaXMgZmlsZSBp
cyBwYXJ0IG9mIHRoZSBXZWJLaXQgb3BlbiBzb3VyY2UgcHJvamVjdC4KLSAgICBUaGlzIGZpbGUg
aGFzIGJlZW4gZ2VuZXJhdGVkIGJ5IGdlbmVyYXRlLWJpbmRpbmdzLnBsLiBETyBOT1QgTU9ESUZZ
IQotCi0gICAgVGhpcyBsaWJyYXJ5IGlzIGZyZWUgc29mdHdhcmU7IHlvdSBjYW4gcmVkaXN0cmli
dXRlIGl0IGFuZC9vcgotICAgIG1vZGlmeSBpdCB1bmRlciB0aGUgdGVybXMgb2YgdGhlIEdOVSBM
aWJyYXJ5IEdlbmVyYWwgUHVibGljCi0gICAgTGljZW5zZSBhcyBwdWJsaXNoZWQgYnkgdGhlIEZy
ZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyCi0gICAgdmVyc2lvbiAyIG9mIHRoZSBMaWNl
bnNlLCBvciAoYXQgeW91ciBvcHRpb24pIGFueSBsYXRlciB2ZXJzaW9uLgotCi0gICAgVGhpcyBs
aWJyYXJ5IGlzIGRpc3RyaWJ1dGVkIGluIHRoZSBob3BlIHRoYXQgaXQgd2lsbCBiZSB1c2VmdWws
Ci0gICAgYnV0IFdJVEhPVVQgQU5ZIFdBUlJBTlRZOyB3aXRob3V0IGV2ZW4gdGhlIGltcGxpZWQg
d2FycmFudHkgb2YKLSAgICBNRVJDSEFOVEFCSUxJVFkgb3IgRklUTkVTUyBGT1IgQSBQQVJUSUNV
TEFSIFBVUlBPU0UuICBTZWUgdGhlIEdOVQotICAgIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGlj
ZW5zZSBmb3IgbW9yZSBkZXRhaWxzLgotCi0gICAgWW91IHNob3VsZCBoYXZlIHJlY2VpdmVkIGEg
Y29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5zZQotICAgIGFsb25n
IHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIuICBJZiBub3QsIHdy
aXRlIHRvCi0gICAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLiwgNTEgRnJhbmts
aW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAgICBCb3N0b24sIE1BIDAyMTEwLTEzMDEsIFVTQS4K
LSovCi0KLSNpbmNsdWRlICJjb25maWcuaCIKLSNpbmNsdWRlICJKU1Rlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyLmgiCi0KLSNpbmNsdWRlICJBY3RpdmVET01PYmplY3QuaCIKLSNpbmNsdWRlICJE
T01Jc29TdWJzcGFjZXMuaCIKLSNpbmNsdWRlICJKU0RPTUJpbmRpbmcuaCIKLSNpbmNsdWRlICJK
U0RPTUNvbnN0cnVjdG9yTm90Q29uc3RydWN0YWJsZS5oIgotI2luY2x1ZGUgIkpTRE9NQ29udmVy
dENhbGxiYWNrcy5oIgotI2luY2x1ZGUgIkpTRE9NRXhjZXB0aW9uSGFuZGxpbmcuaCIKLSNpbmNs
dWRlICJKU0RPTUdsb2JhbE9iamVjdC5oIgotI2luY2x1ZGUgIkpTRE9NT3BlcmF0aW9uLmgiCi0j
aW5jbHVkZSAiSlNET01XcmFwcGVyQ2FjaGUuaCIKLSNpbmNsdWRlICJKU01lZGlhUXVlcnlMaXN0
TGlzdGVuZXIuaCIKLSNpbmNsdWRlICJTY3JpcHRFeGVjdXRpb25Db250ZXh0LmgiCi0jaW5jbHVk
ZSAiV2ViQ29yZUpTQ2xpZW50RGF0YS5oIgotI2luY2x1ZGUgPEphdmFTY3JpcHRDb3JlL0Z1bmN0
aW9uUHJvdG90eXBlLmg+Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSGVhcEFuYWx5emVyLmg+
Ci0jaW5jbHVkZSA8SmF2YVNjcmlwdENvcmUvSlNDSW5saW5lcy5oPgotI2luY2x1ZGUgPEphdmFT
Y3JpcHRDb3JlL0pTRGVzdHJ1Y3RpYmxlT2JqZWN0SGVhcENlbGxUeXBlLmg+Ci0jaW5jbHVkZSA8
SmF2YVNjcmlwdENvcmUvU3Vic3BhY2VJbmxpbmVzLmg+Ci0jaW5jbHVkZSA8d3RmL0dldFB0ci5o
PgotI2luY2x1ZGUgPHd0Zi9Qb2ludGVyUHJlcGFyYXRpb25zLmg+Ci0jaW5jbHVkZSA8d3RmL1VS
TC5oPgotCi0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLXVzaW5nIG5hbWVzcGFjZSBKU0M7Ci0KLS8v
IEZ1bmN0aW9ucwotCi1KU0M6OkVuY29kZWRKU1ZhbHVlIEpTQ19IT1NUX0NBTEwganNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kKEpTQzo6SlNHbG9iYWxP
YmplY3QqLCBKU0M6OkNhbGxGcmFtZSopOwotCi0vLyBBdHRyaWJ1dGVzCi0KLUpTQzo6RW5jb2Rl
ZEpTVmFsdWUganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTQzo6SlNH
bG9iYWxPYmplY3QqLCBKU0M6OkVuY29kZWRKU1ZhbHVlLCBKU0M6OlByb3BlcnR5TmFtZSk7Ci1i
b29sIHNldEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvcihKU0M6OkpTR2xv
YmFsT2JqZWN0KiwgSlNDOjpFbmNvZGVkSlNWYWx1ZSwgSlNDOjpFbmNvZGVkSlNWYWx1ZSk7Ci0K
LWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUgZmluYWwgOiBwdWJs
aWMgSlNDOjpKU05vbkZpbmFsT2JqZWN0IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlND
OjpKU05vbkZpbmFsT2JqZWN0OwotICAgIHN0YXRpYyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyUHJvdG90eXBlKiBjcmVhdGUoSlNDOjpWTSYgdm0sIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUpCi0gICAgewotICAgICAgICBKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKiBwdHIgPSBuZXcgKE5vdE51bGwsIEpT
Qzo6YWxsb2NhdGVDZWxsPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGU+KHZt
LmhlYXApKSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKHZtLCBnbG9iYWxP
YmplY3QsIHN0cnVjdHVyZSk7Ci0gICAgICAgIHB0ci0+ZmluaXNoQ3JlYXRpb24odm0pOwotICAg
ICAgICByZXR1cm4gcHRyOwotICAgIH0KLQotICAgIERFQ0xBUkVfSU5GTzsKLSAgICB0ZW1wbGF0
ZTx0eXBlbmFtZSBDZWxsVHlwZSwgSlNDOjpTdWJzcGFjZUFjY2Vzcz4KLSAgICBzdGF0aWMgSlND
OjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCi0gICAgewotICAgICAgICBT
VEFUSUNfQVNTRVJUX0lTT19TVUJTUEFDRV9TSEFSQUJMRShKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyUHJvdG90eXBlLCBCYXNlKTsKLSAgICAgICAgcmV0dXJuICZ2bS5wbGFpbk9iamVjdFNw
YWNlOwotICAgIH0KLSAgICBzdGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShK
U0M6OlZNJiB2bSwgSlNDOjpKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFs
dWUgcHJvdG90eXBlKQotICAgIHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVh
dGUodm0sIGdsb2JhbE9iamVjdCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0
VHlwZSwgU3RydWN0dXJlRmxhZ3MpLCBpbmZvKCkpOwotICAgIH0KLQotcHJpdmF0ZToKLSAgICBK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKEpTQzo6Vk0mIHZtLCBKU0M6OkpT
R2xvYmFsT2JqZWN0KiwgSlNDOjpTdHJ1Y3R1cmUqIHN0cnVjdHVyZSkKLSAgICAgICAgOiBKU0M6
OkpTTm9uRmluYWxPYmplY3Qodm0sIHN0cnVjdHVyZSkKLSAgICB7Ci0gICAgfQotCi0gICAgdm9p
ZCBmaW5pc2hDcmVhdGlvbihKU0M6OlZNJik7Ci19OwotU1RBVElDX0FTU0VSVF9JU09fU1VCU1BB
Q0VfU0hBUkFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZSwgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6QmFzZSk7Ci0KLXVzaW5nIEpTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXJDb25zdHJ1Y3RvciA9IEpTRE9NQ29uc3RydWN0b3JOb3RDb25z
dHJ1Y3RhYmxlPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+OwotCi10ZW1wbGF0ZTw+IEpT
VmFsdWUgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yOjpwcm90b3R5cGVG
b3JTdHJ1Y3R1cmUoSlNDOjpWTSYgdm0sIGNvbnN0IEpTRE9NR2xvYmFsT2JqZWN0JiBnbG9iYWxP
YmplY3QpCi17Ci0gICAgVU5VU0VEX1BBUkFNKHZtKTsKLSAgICByZXR1cm4gZ2xvYmFsT2JqZWN0
LmZ1bmN0aW9uUHJvdG90eXBlKCk7Ci19Ci0KLXRlbXBsYXRlPD4gdm9pZCBKU1Rlc3RNZWRpYVF1
ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3I6OmluaXRpYWxpemVQcm9wZXJ0aWVzKFZNJiB2bSwg
SlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9iamVjdCkKLXsKLSAgICBwdXREaXJlY3Qodm0sIHZt
LnByb3BlcnR5TmFtZXMtPnByb3RvdHlwZSwgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6
cHJvdG90eXBlKHZtLCBnbG9iYWxPYmplY3QpLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250
RGVsZXRlIHwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlByb3BlcnR5
QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0eU5hbWVz
LT5uYW1lLCBqc05vbnRyaXZpYWxTdHJpbmcodm0sIFN0cmluZygiVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIiX3MpKSwgSlNDOjpQcm9wZXJ0eUF0dHJpYnV0ZTo6UmVhZE9ubHkgfCBKU0M6OlBy
b3BlcnR5QXR0cmlidXRlOjpEb250RW51bSk7Ci0gICAgcHV0RGlyZWN0KHZtLCB2bS5wcm9wZXJ0
eU5hbWVzLT5sZW5ndGgsIGpzTnVtYmVyKDApLCBKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpSZWFk
T25seSB8IEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkRvbnRFbnVtKTsKLX0KLQotdGVtcGxhdGU8
PiBjb25zdCBDbGFzc0luZm8gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9y
OjpzX2luZm8gPSB7ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIsICZCYXNlOjpzX2luZm8s
IG51bGxwdHIsIG51bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9OwotCi0vKiBIYXNoIHRhYmxlIGZvciBwcm90b3R5cGUg
Ki8KLQotc3RhdGljIGNvbnN0IEhhc2hUYWJsZVZhbHVlIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXJQcm90b3R5cGVUYWJsZVZhbHVlc1tdID0KLXsKLSAgICB7ICJjb25zdHJ1Y3RvciIsIHN0
YXRpY19jYXN0PHVuc2lnbmVkPihKU0M6OlByb3BlcnR5QXR0cmlidXRlOjpEb250RW51bSksIE5v
SW50cmluc2ljLCB7IChpbnRwdHJfdClzdGF0aWNfY2FzdDxQcm9wZXJ0eVNsb3Q6OkdldFZhbHVl
RnVuYz4oanNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSwgKGludHB0cl90
KSBzdGF0aWNfY2FzdDxQdXRQcm9wZXJ0eVNsb3Q6OlB1dFZhbHVlRnVuYz4oc2V0SlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKSB9IH0sCi0gICAgeyAibWV0aG9kIiwgc3Rh
dGljX2Nhc3Q8dW5zaWduZWQ+KEpTQzo6UHJvcGVydHlBdHRyaWJ1dGU6OkZ1bmN0aW9uKSwgTm9J
bnRyaW5zaWMsIHsgKGludHB0cl90KXN0YXRpY19jYXN0PFJhd05hdGl2ZUZ1bmN0aW9uPihqc1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlRnVuY3Rpb25NZXRob2QpLCAoaW50cHRy
X3QpICgxKSB9IH0sCi19OwotCi1jb25zdCBDbGFzc0luZm8gSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lclByb3RvdHlwZTo6c19pbmZvID0geyAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQ
cm90b3R5cGUiLCAmQmFzZTo6c19pbmZvLCBudWxscHRyLCBudWxscHRyLCBDUkVBVEVfTUVUSE9E
X1RBQkxFKEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJQcm90b3R5cGUpIH07Ci0KLXZvaWQg
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZTo6ZmluaXNoQ3JlYXRpb24oVk0m
IHZtKQotewotICAgIEJhc2U6OmZpbmlzaENyZWF0aW9uKHZtKTsKLSAgICByZWlmeVN0YXRpY1By
b3BlcnRpZXModm0sIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmluZm8oKSwgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlwZVRhYmxlVmFsdWVzLCAqdGhpcyk7Ci19Ci0K
LWNvbnN0IENsYXNzSW5mbyBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpzX2luZm8gPSB7
ICJUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciIsICZCYXNlOjpzX2luZm8sIG51bGxwdHIsIG51
bGxwdHIsIENSRUFURV9NRVRIT0RfVEFCTEUoSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcikg
fTsKLQotSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lcihTdHJ1Y3R1cmUqIHN0cnVjdHVyZSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmIGltcGwpCi0gICAgOiBKU0RP
TVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KHN0cnVjdHVyZSwgZ2xvYmFsT2Jq
ZWN0LCBXVEZNb3ZlKGltcGwpKQotewotfQotCi12b2lkIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlz
dGVuZXI6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSkKLXsKLSAgICBCYXNlOjpmaW5pc2hDcmVhdGlv
bih2bSk7Ci0gICAgQVNTRVJUKGluaGVyaXRzKHZtLCBpbmZvKCkpKTsKLQotICAgIHN0YXRpY19h
c3NlcnQoIXN0ZDo6aXNfYmFzZV9vZjxBY3RpdmVET01PYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyPjo6dmFsdWUsICJJbnRlcmZhY2UgaXMgbm90IG1hcmtlZCBhcyBbQWN0aXZlRE9N
T2JqZWN0XSBldmVuIHRob3VnaCBpbXBsZW1lbnRhdGlvbiBjbGFzcyBzdWJjbGFzc2VzIEFjdGl2
ZURPTU9iamVjdC4iKTsKLQotfQotCi1KU09iamVjdCogSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0
ZW5lcjo6Y3JlYXRlUHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKLXsKLSAgICByZXR1cm4gSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lclByb3RvdHlw
ZTo6Y3JlYXRlKHZtLCAmZ2xvYmFsT2JqZWN0LCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
UHJvdG90eXBlOjpjcmVhdGVTdHJ1Y3R1cmUodm0sICZnbG9iYWxPYmplY3QsIGdsb2JhbE9iamVj
dC5vYmplY3RQcm90b3R5cGUoKSkpOwotfQotCi1KU09iamVjdCogSlNUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lcjo6cHJvdG90eXBlKFZNJiB2bSwgSlNET01HbG9iYWxPYmplY3QmIGdsb2JhbE9i
amVjdCkKLXsKLSAgICByZXR1cm4gZ2V0RE9NUHJvdG90eXBlPEpTVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXI+KHZtLCBnbG9iYWxPYmplY3QpOwotfQotCi1KU1ZhbHVlIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI6OmdldENvbnN0cnVjdG9yKFZNJiB2bSwgY29uc3QgSlNHbG9iYWxPYmpl
Y3QqIGdsb2JhbE9iamVjdCkKLXsKLSAgICByZXR1cm4gZ2V0RE9NQ29uc3RydWN0b3I8SlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yPih2bSwgKmpzQ2FzdDxjb25zdCBKU0RP
TUdsb2JhbE9iamVjdCo+KGdsb2JhbE9iamVjdCkpOwotfQotCi12b2lkIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXI6OmRlc3Ryb3koSlNDOjpKU0NlbGwqIGNlbGwpCi17Ci0gICAgSlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogdGhpc09iamVjdCA9IHN0YXRpY19jYXN0PEpTVGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIqPihjZWxsKTsKLSAgICB0aGlzT2JqZWN0LT5KU1Rlc3RNZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyOjp+SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcigpOwotfQot
Ci10ZW1wbGF0ZTw+IGlubGluZSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBJRExPcGVy
YXRpb248SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj46OmNhc3QoSlNHbG9iYWxPYmplY3Qm
IGxleGljYWxHbG9iYWxPYmplY3QsIENhbGxGcmFtZSYgY2FsbEZyYW1lKQotewotICAgIHJldHVy
biBqc0R5bmFtaWNDYXN0PEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIqPihKU0M6OmdldFZN
KCZsZXhpY2FsR2xvYmFsT2JqZWN0KSwgY2FsbEZyYW1lLnRoaXNWYWx1ZSgpKTsKLX0KLQotRW5j
b2RlZEpTVmFsdWUganNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckNvbnN0cnVjdG9yKEpTR2xv
YmFsT2JqZWN0KiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBFbmNvZGVkSlNWYWx1ZSB0aGlzVmFsdWUs
IFByb3BlcnR5TmFtZSkKLXsKLSAgICBWTSYgdm0gPSBKU0M6OmdldFZNKGxleGljYWxHbG9iYWxP
YmplY3QpOwotICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwot
ICAgIGF1dG8qIHByb3RvdHlwZSA9IGpzRHluYW1pY0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lclByb3RvdHlwZSo+KHZtLCBKU1ZhbHVlOjpkZWNvZGUodGhpc1ZhbHVlKSk7Ci0gICAg
aWYgKFVOTElLRUxZKCFwcm90b3R5cGUpKQotICAgICAgICByZXR1cm4gdGhyb3dWTVR5cGVFcnJv
cihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlKTsKLSAgICByZXR1cm4gSlNWYWx1ZTo6
ZW5jb2RlKEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6OmdldENvbnN0cnVjdG9yKEpTQzo6
Z2V0Vk0obGV4aWNhbEdsb2JhbE9iamVjdCksIHByb3RvdHlwZS0+Z2xvYmFsT2JqZWN0KCkpKTsK
LX0KLQotYm9vbCBzZXRKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyQ29uc3RydWN0b3IoSlNH
bG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3QsIEVuY29kZWRKU1ZhbHVlIHRoaXNWYWx1
ZSwgRW5jb2RlZEpTVmFsdWUgZW5jb2RlZFZhbHVlKQotewotICAgIFZNJiB2bSA9IEpTQzo6Z2V0
Vk0obGV4aWNhbEdsb2JhbE9iamVjdCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7Ci0gICAgYXV0byogcHJvdG90eXBlID0ganNEeW5hbWljQ2FzdDxKU1Rl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJvdG90eXBlKj4odm0sIEpTVmFsdWU6OmRlY29kZSh0
aGlzVmFsdWUpKTsKLSAgICBpZiAoVU5MSUtFTFkoIXByb3RvdHlwZSkpIHsKLSAgICAgICAgdGhy
b3dWTVR5cGVFcnJvcihsZXhpY2FsR2xvYmFsT2JqZWN0LCB0aHJvd1Njb3BlKTsKLSAgICAgICAg
cmV0dXJuIGZhbHNlOwotICAgIH0KLSAgICAvLyBTaGFkb3dpbmcgYSBidWlsdC1pbiBjb25zdHJ1
Y3RvcgotICAgIHJldHVybiBwcm90b3R5cGUtPnB1dERpcmVjdCh2bSwgdm0ucHJvcGVydHlOYW1l
cy0+Y29uc3RydWN0b3IsIEpTVmFsdWU6OmRlY29kZShlbmNvZGVkVmFsdWUpKTsKLX0KLQotc3Rh
dGljIGlubGluZSBKU0M6OkVuY29kZWRKU1ZhbHVlIGpzVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXJQcm90b3R5cGVGdW5jdGlvbk1ldGhvZEJvZHkoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNDOjpDYWxsRnJhbWUqIGNhbGxGcmFtZSwgdHlwZW5hbWUgSURMT3Bl
cmF0aW9uPEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+OjpDbGFzc1BhcmFtZXRlciBjYXN0
ZWRUaGlzLCBKU0M6OlRocm93U2NvcGUmIHRocm93U2NvcGUpCi17Ci0gICAgVU5VU0VEX1BBUkFN
KGxleGljYWxHbG9iYWxPYmplY3QpOwotICAgIFVOVVNFRF9QQVJBTShjYWxsRnJhbWUpOwotICAg
IFVOVVNFRF9QQVJBTSh0aHJvd1Njb3BlKTsKLSAgICBhdXRvJiBpbXBsID0gY2FzdGVkVGhpcy0+
d3JhcHBlZCgpOwotICAgIGlmIChVTkxJS0VMWShjYWxsRnJhbWUtPmFyZ3VtZW50Q291bnQoKSA8
IDEpKQotICAgICAgICByZXR1cm4gdGhyb3dWTUVycm9yKGxleGljYWxHbG9iYWxPYmplY3QsIHRo
cm93U2NvcGUsIGNyZWF0ZU5vdEVub3VnaEFyZ3VtZW50c0Vycm9yKGxleGljYWxHbG9iYWxPYmpl
Y3QpKTsKLSAgICBFbnN1cmVTdGlsbEFsaXZlU2NvcGUgYXJndW1lbnQwID0gY2FsbEZyYW1lLT51
bmNoZWNrZWRBcmd1bWVudCgwKTsKLSAgICBhdXRvIGxpc3RlbmVyID0gY29udmVydDxJRExDYWxs
YmFja0Z1bmN0aW9uPEpTTWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4+KCpsZXhpY2FsR2xvYmFsT2Jq
ZWN0LCBhcmd1bWVudDAudmFsdWUoKSwgKmNhc3RlZFRoaXMtPmdsb2JhbE9iamVjdCgpLCBbXShK
U0M6OkpTR2xvYmFsT2JqZWN0JiBsZXhpY2FsR2xvYmFsT2JqZWN0LCBKU0M6OlRocm93U2NvcGUm
IHNjb3BlKSB7IHRocm93QXJndW1lbnRNdXN0QmVGdW5jdGlvbkVycm9yKGxleGljYWxHbG9iYWxP
YmplY3QsIHNjb3BlLCAwLCAibGlzdGVuZXIiLCAiVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIi
LCAibWV0aG9kIik7IH0pOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZW5j
b2RlZEpTVmFsdWUoKSk7Ci0gICAgaW1wbC5tZXRob2QobGlzdGVuZXIucmVsZWFzZU5vbk51bGwo
KSk7Ci0gICAgcmV0dXJuIEpTVmFsdWU6OmVuY29kZShqc1VuZGVmaW5lZCgpKTsKLX0KLQotRW5j
b2RlZEpTVmFsdWUgSlNDX0hPU1RfQ0FMTCBqc1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyUHJv
dG90eXBlRnVuY3Rpb25NZXRob2QoSlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxPYmplY3Qs
IENhbGxGcmFtZSogY2FsbEZyYW1lKQotewotICAgIHJldHVybiBJRExPcGVyYXRpb248SlNUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj46OmNhbGw8anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
clByb3RvdHlwZUZ1bmN0aW9uTWV0aG9kQm9keT4oKmxleGljYWxHbG9iYWxPYmplY3QsICpjYWxs
RnJhbWUsICJtZXRob2QiKTsKLX0KLQotSlNDOjpJc29TdWJzcGFjZSogSlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcjo6c3Vic3BhY2VGb3JJbXBsKEpTQzo6Vk0mIHZtKQotewotICAgIGF1dG8m
IGNsaWVudERhdGEgPSAqc3RhdGljX2Nhc3Q8SlNWTUNsaWVudERhdGEqPih2bS5jbGllbnREYXRh
KTsKLSAgICBhdXRvJiBzcGFjZXMgPSBjbGllbnREYXRhLnN1YnNwYWNlcygpOwotICAgIGlmIChh
dXRvKiBzcGFjZSA9IHNwYWNlcy5tX3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIuZ2V0KCkpCi0gICAgICAgIHJldHVybiBzcGFjZTsKLSAgICBzdGF0aWNfYXNzZXJ0KHN0ZDo6
aXNfYmFzZV9vZl92PEpTQzo6SlNEZXN0cnVjdGlibGVPYmplY3QsIEpTVGVzdE1lZGlhUXVlcnlM
aXN0TGlzdGVuZXI+IHx8ICFKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjpuZWVkc0Rlc3Ry
dWN0aW9uKTsKLSAgICBpZiBjb25zdGV4cHIgKHN0ZDo6aXNfYmFzZV9vZl92PEpTQzo6SlNEZXN0
cnVjdGlibGVPYmplY3QsIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KQotICAgICAgICBz
cGFjZXMubV9zdWJzcGFjZUZvclRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyID0gbWFrZVVuaXF1
ZTxJc29TdWJzcGFjZT4gSVNPX1NVQlNQQUNFX0lOSVQodm0uaGVhcCwgdm0uZGVzdHJ1Y3RpYmxl
T2JqZWN0SGVhcENlbGxUeXBlLmdldCgpLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKTsK
LSAgICBlbHNlCi0gICAgICAgIHNwYWNlcy5tX3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIgPSBtYWtlVW5pcXVlPElzb1N1YnNwYWNlPiBJU09fU1VCU1BBQ0VfSU5JVCh2bS5o
ZWFwLCB2bS5jZWxsSGVhcENlbGxUeXBlLmdldCgpLCBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3Rl
bmVyKTsKLSAgICBhdXRvKiBzcGFjZSA9IHNwYWNlcy5tX3N1YnNwYWNlRm9yVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIuZ2V0KCk7Ci1JR05PUkVfV0FSTklOR1NfQkVHSU4oInVucmVhY2hhYmxl
LWNvZGUiKQotSUdOT1JFX1dBUk5JTkdTX0JFR0lOKCJ0YXV0b2xvZ2ljYWwtY29tcGFyZSIpCi0g
ICAgaWYgKCZKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjp2aXNpdE91dHB1dENvbnN0cmFp
bnRzICE9ICZKU0M6OkpTQ2VsbDo6dmlzaXRPdXRwdXRDb25zdHJhaW50cykKLSAgICAgICAgY2xp
ZW50RGF0YS5vdXRwdXRDb25zdHJhaW50U3BhY2VzKCkuYXBwZW5kKHNwYWNlKTsKLUlHTk9SRV9X
QVJOSU5HU19FTkQKLUlHTk9SRV9XQVJOSU5HU19FTkQKLSAgICByZXR1cm4gc3BhY2U7Ci19Ci0K
LXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcjo6YW5hbHl6ZUhlYXAoSlNDZWxsKiBj
ZWxsLCBIZWFwQW5hbHl6ZXImIGFuYWx5emVyKQotewotICAgIGF1dG8qIHRoaXNPYmplY3QgPSBq
c0Nhc3Q8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KGNlbGwpOwotICAgIGFuYWx5emVy
LnNldFdyYXBwZWRPYmplY3RGb3JDZWxsKGNlbGwsICZ0aGlzT2JqZWN0LT53cmFwcGVkKCkpOwot
ICAgIGlmICh0aGlzT2JqZWN0LT5zY3JpcHRFeGVjdXRpb25Db250ZXh0KCkpCi0gICAgICAgIGFu
YWx5emVyLnNldExhYmVsRm9yQ2VsbChjZWxsLCAidXJsICIgKyB0aGlzT2JqZWN0LT5zY3JpcHRF
eGVjdXRpb25Db250ZXh0KCktPnVybCgpLnN0cmluZygpKTsKLSAgICBCYXNlOjphbmFseXplSGVh
cChjZWxsLCBhbmFseXplcik7Ci19Ci0KLWJvb2wgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5l
ck93bmVyOjppc1JlYWNoYWJsZUZyb21PcGFxdWVSb290cyhKU0M6OkhhbmRsZTxKU0M6OlVua25v
d24+IGhhbmRsZSwgdm9pZCosIFNsb3RWaXNpdG9yJiB2aXNpdG9yLCBjb25zdCBjaGFyKiogcmVh
c29uKQotewotICAgIFVOVVNFRF9QQVJBTShoYW5kbGUpOwotICAgIFVOVVNFRF9QQVJBTSh2aXNp
dG9yKTsKLSAgICBVTlVTRURfUEFSQU0ocmVhc29uKTsKLSAgICByZXR1cm4gZmFsc2U7Ci19Ci0K
LXZvaWQgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyOjpmaW5hbGl6ZShKU0M6Okhh
bmRsZTxKU0M6OlVua25vd24+IGhhbmRsZSwgdm9pZCogY29udGV4dCkKLXsKLSAgICBhdXRvKiBq
c1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyID0gc3RhdGljX2Nhc3Q8SlNUZXN0TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcio+KGhhbmRsZS5zbG90KCktPmFzQ2VsbCgpKTsKLSAgICBhdXRvJiB3b3Js
ZCA9ICpzdGF0aWNfY2FzdDxET01XcmFwcGVyV29ybGQqPihjb250ZXh0KTsKLSAgICB1bmNhY2hl
V3JhcHBlcih3b3JsZCwgJmpzVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXItPndyYXBwZWQoKSwg
anNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcik7Ci19Ci0KLSNpZiBFTkFCTEUoQklORElOR19J
TlRFR1JJVFkpCi0jaWYgUExBVEZPUk0oV0lOKQotI3ByYWdtYSB3YXJuaW5nKGRpc2FibGU6IDQ0
ODMpCi1leHRlcm4gIkMiIHsgZXh0ZXJuIHZvaWQgKCpjb25zdCBfX2lkZW50aWZpZXIoIj8/XzdU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBXZWJDb3JlQEA2QkAiKVtdKSgpOyB9Ci0jZWxzZQot
ZXh0ZXJuICJDIiB7IGV4dGVybiB2b2lkKiBfWlRWTjdXZWJDb3JlMjZUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lckVbXTsgfQotI2VuZGlmCi0jZW5kaWYKLQotSlNDOjpKU1ZhbHVlIHRvSlNOZXds
eUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxP
YmplY3QsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotewotCi0jaWYg
RU5BQkxFKEJJTkRJTkdfSU5URUdSSVRZKQotICAgIGNvbnN0IHZvaWQqIGFjdHVhbFZUYWJsZVBv
aW50ZXIgPSBnZXRWVGFibGVQb2ludGVyKGltcGwucHRyKCkpOwotI2lmIFBMQVRGT1JNKFdJTikK
LSAgICB2b2lkKiBleHBlY3RlZFZUYWJsZVBvaW50ZXIgPSBfX2lkZW50aWZpZXIoIj8/XzdUZXN0
TWVkaWFRdWVyeUxpc3RMaXN0ZW5lckBXZWJDb3JlQEA2QkAiKTsKLSNlbHNlCi0gICAgdm9pZCog
ZXhwZWN0ZWRWVGFibGVQb2ludGVyID0gJl9aVFZON1dlYkNvcmUyNlRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyRVsyXTsKLSNlbmRpZgotCi0gICAgLy8gSWYgdGhpcyBmYWlscyBUZXN0TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lciBkb2VzIG5vdCBoYXZlIGEgdnRhYmxlLCBzbyB5b3UgbmVlZCB0byBh
ZGQgdGhlCi0gICAgLy8gSW1wbGVtZW50YXRpb25MYWNrc1ZUYWJsZSBhdHRyaWJ1dGUgdG8gdGhl
IGludGVyZmFjZSBkZWZpbml0aW9uCi0gICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3BvbHltb3Jw
aGljPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPjo6dmFsdWUsICJUZXN0TWVkaWFRdWVyeUxp
c3RMaXN0ZW5lciBpcyBub3QgcG9seW1vcnBoaWMiKTsKLQotICAgIC8vIElmIHlvdSBoaXQgdGhp
cyBhc3NlcnRpb24geW91IGVpdGhlciBoYXZlIGEgdXNlIGFmdGVyIGZyZWUgYnVnLCBvcgotICAg
IC8vIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIGhhcyBzdWJjbGFzc2VzLiBJZiBUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lciBoYXMgc3ViY2xhc3NlcyB0aGF0IGdldCBwYXNzZWQKLSAgICAv
LyB0byB0b0pTKCkgd2UgY3VycmVudGx5IHJlcXVpcmUgVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVu
ZXIgeW91IHRvIG9wdCBvdXQgb2YgYmluZGluZyBoYXJkZW5pbmcKLSAgICAvLyBieSBhZGRpbmcg
dGhlIFNraXBWVGFibGVWYWxpZGF0aW9uIGF0dHJpYnV0ZSB0byB0aGUgaW50ZXJmYWNlIElETCBk
ZWZpbml0aW9uCi0gICAgUkVMRUFTRV9BU1NFUlQoYWN0dWFsVlRhYmxlUG9pbnRlciA9PSBleHBl
Y3RlZFZUYWJsZVBvaW50ZXIpOwotI2VuZGlmCi0gICAgcmV0dXJuIGNyZWF0ZVdyYXBwZXI8VGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+KGdsb2JhbE9iamVjdCwgV1RGTW92ZShpbXBsKSk7Ci19
Ci0KLUpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6SlNHbG9iYWxPYmplY3QqIGxleGljYWxHbG9iYWxP
YmplY3QsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIFRlc3RNZWRpYVF1ZXJ5TGlz
dExpc3RlbmVyJiBpbXBsKQotewotICAgIHJldHVybiB3cmFwKGxleGljYWxHbG9iYWxPYmplY3Qs
IGdsb2JhbE9iamVjdCwgaW1wbCk7Ci19Ci0KLVRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKiBK
U1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOjp0b1dyYXBwZWQoSlNDOjpWTSYgdm0sIEpTQzo6
SlNWYWx1ZSB2YWx1ZSkKLXsKLSAgICBpZiAoYXV0byogd3JhcHBlciA9IGpzRHluYW1pY0Nhc3Q8
SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio+KHZtLCB2YWx1ZSkpCi0gICAgICAgIHJldHVy
biAmd3JhcHBlci0+d3JhcHBlZCgpOwotICAgIHJldHVybiBudWxscHRyOwotfQotCi19CmRpZmYg
LS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVk
aWFRdWVyeUxpc3RMaXN0ZW5lci5oIGIvU291cmNlL1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90
ZXN0L0pTL0pTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaApkZWxldGVkIGZpbGUgbW9kZSAx
MDA2NDQKaW5kZXggNjMwZDZiMWQ2YmY0OTFmMTUzMmJjNDc4MGJlN2MyNmQxMTdlZTQ2ZC4uMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvSlMvSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5o
CisrKyAvZGV2L251bGwKQEAgLTEsOTMgKzAsMCBAQAotLyoKLSAgICBUaGlzIGZpbGUgaXMgcGFy
dCBvZiB0aGUgV2ViS2l0IG9wZW4gc291cmNlIHByb2plY3QuCi0gICAgVGhpcyBmaWxlIGhhcyBi
ZWVuIGdlbmVyYXRlZCBieSBnZW5lcmF0ZS1iaW5kaW5ncy5wbC4gRE8gTk9UIE1PRElGWSEKLQot
ICAgIFRoaXMgbGlicmFyeSBpcyBmcmVlIHNvZnR3YXJlOyB5b3UgY2FuIHJlZGlzdHJpYnV0ZSBp
dCBhbmQvb3IKLSAgICBtb2RpZnkgaXQgdW5kZXIgdGhlIHRlcm1zIG9mIHRoZSBHTlUgTGlicmFy
eSBHZW5lcmFsIFB1YmxpYwotICAgIExpY2Vuc2UgYXMgcHVibGlzaGVkIGJ5IHRoZSBGcmVlIFNv
ZnR3YXJlIEZvdW5kYXRpb247IGVpdGhlcgotICAgIHZlcnNpb24gMiBvZiB0aGUgTGljZW5zZSwg
b3IgKGF0IHlvdXIgb3B0aW9uKSBhbnkgbGF0ZXIgdmVyc2lvbi4KLQotICAgIFRoaXMgbGlicmFy
eSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLAotICAg
IGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJh
bnR5IG9mCi0gICAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQ
VVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAgICBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2Ug
Zm9yIG1vcmUgZGV0YWlscy4KLQotICAgIFlvdSBzaG91bGQgaGF2ZSByZWNlaXZlZCBhIGNvcHkg
b2YgdGhlIEdOVSBMaWJyYXJ5IEdlbmVyYWwgUHVibGljIExpY2Vuc2UKLSAgICBhbG9uZyB3aXRo
IHRoaXMgbGlicmFyeTsgc2VlIHRoZSBmaWxlIENPUFlJTkcuTElCLiAgSWYgbm90LCB3cml0ZSB0
bwotICAgIHRoZSBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4sIDUxIEZyYW5rbGluIFN0
cmVldCwgRmlmdGggRmxvb3IsCi0gICAgQm9zdG9uLCBNQSAwMjExMC0xMzAxLCBVU0EuCi0qLwot
Ci0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkpTRE9NV3JhcHBlci5oIgotI2luY2x1ZGUgIlRl
c3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgiCi0jaW5jbHVkZSA8d3RmL05ldmVyRGVzdHJveWVk
Lmg+Ci0KLW5hbWVzcGFjZSBXZWJDb3JlIHsKLQotY2xhc3MgSlNUZXN0TWVkaWFRdWVyeUxpc3RM
aXN0ZW5lciA6IHB1YmxpYyBKU0RPTVdyYXBwZXI8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+
IHsKLXB1YmxpYzoKLSAgICB1c2luZyBCYXNlID0gSlNET01XcmFwcGVyPFRlc3RNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyPjsKLSAgICBzdGF0aWMgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciog
Y3JlYXRlKEpTQzo6U3RydWN0dXJlKiBzdHJ1Y3R1cmUsIEpTRE9NR2xvYmFsT2JqZWN0KiBnbG9i
YWxPYmplY3QsIFJlZjxUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBpbXBsKQotICAgIHsK
LSAgICAgICAgSlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogcHRyID0gbmV3IChOb3ROdWxs
LCBKU0M6OmFsbG9jYXRlQ2VsbDxKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPihnbG9iYWxP
YmplY3QtPnZtKCkuaGVhcCkpIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIoc3RydWN0dXJl
LCAqZ2xvYmFsT2JqZWN0LCBXVEZNb3ZlKGltcGwpKTsKLSAgICAgICAgcHRyLT5maW5pc2hDcmVh
dGlvbihnbG9iYWxPYmplY3QtPnZtKCkpOwotICAgICAgICByZXR1cm4gcHRyOwotICAgIH0KLQot
ICAgIHN0YXRpYyBKU0M6OkpTT2JqZWN0KiBjcmVhdGVQcm90b3R5cGUoSlNDOjpWTSYsIEpTRE9N
R2xvYmFsT2JqZWN0Jik7Ci0gICAgc3RhdGljIEpTQzo6SlNPYmplY3QqIHByb3RvdHlwZShKU0M6
OlZNJiwgSlNET01HbG9iYWxPYmplY3QmKTsKLSAgICBzdGF0aWMgVGVzdE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIqIHRvV3JhcHBlZChKU0M6OlZNJiwgSlNDOjpKU1ZhbHVlKTsKLSAgICBzdGF0aWMg
dm9pZCBkZXN0cm95KEpTQzo6SlNDZWxsKik7Ci0KLSAgICBERUNMQVJFX0lORk87Ci0KLSAgICBz
dGF0aWMgSlNDOjpTdHJ1Y3R1cmUqIGNyZWF0ZVN0cnVjdHVyZShKU0M6OlZNJiB2bSwgSlNDOjpK
U0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBKU0M6OkpTVmFsdWUgcHJvdG90eXBlKQotICAg
IHsKLSAgICAgICAgcmV0dXJuIEpTQzo6U3RydWN0dXJlOjpjcmVhdGUodm0sIGdsb2JhbE9iamVj
dCwgcHJvdG90eXBlLCBKU0M6OlR5cGVJbmZvKEpTQzo6T2JqZWN0VHlwZSwgU3RydWN0dXJlRmxh
Z3MpLCBpbmZvKCksIEpTQzo6Tm9uQXJyYXkpOwotICAgIH0KLQotICAgIHN0YXRpYyBKU0M6OkpT
VmFsdWUgZ2V0Q29uc3RydWN0b3IoSlNDOjpWTSYsIGNvbnN0IEpTQzo6SlNHbG9iYWxPYmplY3Qq
KTsKLSAgICB0ZW1wbGF0ZTx0eXBlbmFtZSwgSlNDOjpTdWJzcGFjZUFjY2VzcyBtb2RlPiBzdGF0
aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3BhY2VGb3IoSlNDOjpWTSYgdm0pCi0gICAgewotICAg
ICAgICBpZiBjb25zdGV4cHIgKG1vZGUgPT0gSlNDOjpTdWJzcGFjZUFjY2Vzczo6Q29uY3VycmVu
dGx5KQotICAgICAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0gICAgICAgIHJldHVybiBzdWJzcGFj
ZUZvckltcGwodm0pOwotICAgIH0KLSAgICBzdGF0aWMgSlNDOjpJc29TdWJzcGFjZSogc3Vic3Bh
Y2VGb3JJbXBsKEpTQzo6Vk0mIHZtKTsKLSAgICBzdGF0aWMgdm9pZCBhbmFseXplSGVhcChKU0Nl
bGwqLCBKU0M6OkhlYXBBbmFseXplciYpOwotcHJvdGVjdGVkOgotICAgIEpTVGVzdE1lZGlhUXVl
cnlMaXN0TGlzdGVuZXIoSlNDOjpTdHJ1Y3R1cmUqLCBKU0RPTUdsb2JhbE9iamVjdCYsIFJlZjxU
ZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJik7Ci0KLSAgICB2b2lkIGZpbmlzaENyZWF0aW9u
KEpTQzo6Vk0mKTsKLX07Ci0KLWNsYXNzIEpTVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXJPd25l
ciA6IHB1YmxpYyBKU0M6OldlYWtIYW5kbGVPd25lciB7Ci1wdWJsaWM6Ci0gICAgdmlydHVhbCBi
b29sIGlzUmVhY2hhYmxlRnJvbU9wYXF1ZVJvb3RzKEpTQzo6SGFuZGxlPEpTQzo6VW5rbm93bj4s
IHZvaWQqIGNvbnRleHQsIEpTQzo6U2xvdFZpc2l0b3ImLCBjb25zdCBjaGFyKiopOwotICAgIHZp
cnR1YWwgdm9pZCBmaW5hbGl6ZShKU0M6OkhhbmRsZTxKU0M6OlVua25vd24+LCB2b2lkKiBjb250
ZXh0KTsKLX07Ci0KLWlubGluZSBKU0M6OldlYWtIYW5kbGVPd25lciogd3JhcHBlck93bmVyKERP
TVdyYXBwZXJXb3JsZCYsIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyKikKLXsKLSAgICBzdGF0
aWMgTmV2ZXJEZXN0cm95ZWQ8SlNUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lck93bmVyPiBvd25l
cjsKLSAgICByZXR1cm4gJm93bmVyLmdldCgpOwotfQotCi1pbmxpbmUgdm9pZCogd3JhcHBlcktl
eShUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lciogd3JhcHBhYmxlT2JqZWN0KQotewotICAgIHJl
dHVybiB3cmFwcGFibGVPYmplY3Q7Ci19Ci0KLUpTQzo6SlNWYWx1ZSB0b0pTKEpTQzo6SlNHbG9i
YWxPYmplY3QqLCBKU0RPTUdsb2JhbE9iamVjdCosIFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
Jik7Ci1pbmxpbmUgSlNDOjpKU1ZhbHVlIHRvSlMoSlNDOjpKU0dsb2JhbE9iamVjdCogbGV4aWNh
bEdsb2JhbE9iamVjdCwgSlNET01HbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIqIGltcGwpIHsgcmV0dXJuIGltcGwgPyB0b0pTKGxleGljYWxHbG9i
YWxPYmplY3QsIGdsb2JhbE9iamVjdCwgKmltcGwpIDogSlNDOjpqc051bGwoKTsgfQotSlNDOjpK
U1ZhbHVlIHRvSlNOZXdseUNyZWF0ZWQoSlNDOjpKU0dsb2JhbE9iamVjdCosIEpTRE9NR2xvYmFs
T2JqZWN0KiwgUmVmPFRlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmKTsKLWlubGluZSBKU0M6
OkpTVmFsdWUgdG9KU05ld2x5Q3JlYXRlZChKU0M6OkpTR2xvYmFsT2JqZWN0KiBsZXhpY2FsR2xv
YmFsT2JqZWN0LCBKU0RPTUdsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0LCBSZWZQdHI8VGVzdE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYgaW1wbCkgeyByZXR1cm4gaW1wbCA/IHRvSlNOZXdseUNy
ZWF0ZWQobGV4aWNhbEdsb2JhbE9iamVjdCwgZ2xvYmFsT2JqZWN0LCBpbXBsLnJlbGVhc2VOb25O
dWxsKCkpIDogSlNDOjpqc051bGwoKTsgfQotCi10ZW1wbGF0ZTw+IHN0cnVjdCBKU0RPTVdyYXBw
ZXJDb252ZXJ0ZXJUcmFpdHM8VGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+IHsKLSAgICB1c2lu
ZyBXcmFwcGVyQ2xhc3MgPSBKU1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyOwotICAgIHVzaW5n
IFRvV3JhcHBlZFJldHVyblR5cGUgPSBUZXN0TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcio7Ci19Owot
Ci19IC8vIG5hbWVzcGFjZSBXZWJDb3JlCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9iaW5k
aW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuaWRsIGIvU291cmNl
L1dlYkNvcmUvYmluZGluZ3Mvc2NyaXB0cy90ZXN0L1Rlc3RNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmNiYTk4Y2JmY2FlZWM4Njc3YWUw
YzU1OWIxZjcwZDk0OThhYmVlMS4uMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9iaW5kaW5ncy9zY3JpcHRzL3Rlc3QvVGVzdE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXIuaWRsCisrKyAvZGV2L251bGwKQEAgLTEsMzAgKzAsMCBAQAotLyoK
LSAqIENvcHlyaWdodCAoQykgMjAxMCBOb2tpYSBDb3Jwb3JhdGlvbiBhbmQvb3IgaXRzIHN1YnNp
ZGlhcnkoLWllcykKLSAqCi0gKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQg
YmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKLSAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1p
dHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucwotICogYXJlIG1ldDoK
LSAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJv
dmUgY29weXJpZ2h0Ci0gKiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0
aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCi0gKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5
IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAotICogICAgbm90aWNlLCB0
aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRo
ZQotICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdp
dGggdGhlIGRpc3RyaWJ1dGlvbi4KLSAqCi0gKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZ
IEFQUExFIElOQy4gYGBBUyBJUycnIEFORCBBTlkKLSAqIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJS
QU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgVEhFCi0gKiBJTVBMSUVEIFdB
UlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIK
LSAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuICBJTiBOTyBFVkVOVCBTSEFMTCBBUFBMRSBJTkMu
IE9SCi0gKiBDT05UUklCVVRPUlMgQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwg
SU5DSURFTlRBTCwgU1BFQ0lBTCwKLSAqIEVYRU1QTEFSWSwgT1IgQ09OU0VRVUVOVElBTCBEQU1B
R0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKLSAqIFBST0NVUkVNRU5UIE9GIFNV
QlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUgotICogUFJP
RklUUzsgT1IgQlVTSU5FU1MgSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5Z
IFRIRU9SWQotICogT0YgTElBQklMSVRZLCBXSEVUSEVSIElOIENPTlRSQUNULCBTVFJJQ1QgTElB
QklMSVRZLCBPUiBUT1JUCi0gKiAoSU5DTFVESU5HIE5FR0xJR0VOQ0UgT1IgT1RIRVJXSVNFKSBB
UklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UKLSAqIE9GIFRISVMgU09GVFdBUkUsIEVW
RU4gSUYgQURWSVNFRCBPRiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCi0gKi8KLQot
Ly8gVGhpcyBJREwgZmlsZSBpcyBmb3IgdGVzdGluZyB0aGUgYmluZGluZ3MgY29kZSBnZW5lcmF0
b3Igd2l0aCBhbiBpbnRlcmZhY2UKLS8vIHRoYXQgaGFzIG1ldGhvZHMgcmVjZWl2aW5nIGEgcGFy
YW1ldGVyIG9mIHRoZSB0eXBlIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIuCi1pbnRlcmZhY2UgVGVz
dE1lZGlhUXVlcnlMaXN0TGlzdGVuZXIgewotICAgIHZvaWQgbWV0aG9kKE1lZGlhUXVlcnlMaXN0
TGlzdGVuZXIgbGlzdGVuZXIpOwotfTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5TGlzdC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3QuY3Bw
CmluZGV4IGY0ZTEzODdlZmYyMWY0ZTlmMGM2MjBkM2ZiMTgxODhlYWIzOWQ0N2UuLjVlMmQyMzk0
OTc3MGYzZjVjZWZlNDJkMTFlZDYyYWY2NGMwMGM5YTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdC5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlMaXN0LmNwcApAQCAtMjAsNDggKzIwLDUzIEBACiAjaW5jbHVkZSAiY29uZmlnLmgiCiAj
aW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKIAotI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgotI2lu
Y2x1ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5TGlzdExp
c3RlbmVyLmgiCi0jaW5jbHVkZSAiTWVkaWFRdWVyeU1hdGNoZXIuaCIKKyNpbmNsdWRlICJFdmVu
dE5hbWVzLmgiCisjaW5jbHVkZSA8d3RmL0lzb01hbGxvY0lubGluZXMuaD4KIAogbmFtZXNwYWNl
IFdlYkNvcmUgewogCi1pbmxpbmUgTWVkaWFRdWVyeUxpc3Q6Ok1lZGlhUXVlcnlMaXN0KE1lZGlh
UXVlcnlNYXRjaGVyJiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgYm9vbCBt
YXRjaGVzKQotICAgIDogbV9tYXRjaGVyKG1hdGNoZXIpCitXVEZfTUFLRV9JU09fQUxMT0NBVEVE
X0lNUEwoTWVkaWFRdWVyeUxpc3QpOworCitNZWRpYVF1ZXJ5TGlzdDo6TWVkaWFRdWVyeUxpc3Qo
RG9jdW1lbnQmIGRvY3VtZW50LCBNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0Y2hlciwgUmVmPE1lZGlh
UXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKKyAgICA6IENvbnRleHREZXN0cnVjdGlv
bk9ic2VydmVyKCZkb2N1bWVudCkKKyAgICAsIG1fbWF0Y2hlcihtYXRjaGVyKQogICAgICwgbV9t
ZWRpYShXVEZNb3ZlKG1lZGlhKSkKICAgICAsIG1fZXZhbHVhdGlvblJvdW5kKG1fbWF0Y2hlci0+
ZXZhbHVhdGlvblJvdW5kKCkpCiAgICAgLCBtX2NoYW5nZVJvdW5kKG1fZXZhbHVhdGlvblJvdW5k
IC0gMSkgLy8gQW55IHZhbHVlIHRoYXQgaXMgbm90IHRoZSBzYW1lIGFzIG1fZXZhbHVhdGlvblJv
dW5kIHdvdWxkIGRvLgogICAgICwgbV9tYXRjaGVzKG1hdGNoZXMpCiB7CisgICAgbV9tYXRjaGVy
LT5hZGRNZWRpYVF1ZXJ5TGlzdCgqdGhpcyk7CiB9CiAKLVJlZjxNZWRpYVF1ZXJ5TGlzdD4gTWVk
aWFRdWVyeUxpc3Q6OmNyZWF0ZShNZWRpYVF1ZXJ5TWF0Y2hlciYgbWF0Y2hlciwgUmVmPE1lZGlh
UXVlcnlTZXQ+JiYgbWVkaWEsIGJvb2wgbWF0Y2hlcykKK1JlZjxNZWRpYVF1ZXJ5TGlzdD4gTWVk
aWFRdWVyeUxpc3Q6OmNyZWF0ZShEb2N1bWVudCYgZG9jdW1lbnQsIE1lZGlhUXVlcnlNYXRjaGVy
JiBtYXRjaGVyLCBSZWY8TWVkaWFRdWVyeVNldD4mJiBtZWRpYSwgYm9vbCBtYXRjaGVzKQogewot
ICAgIHJldHVybiBhZG9wdFJlZigqbmV3IE1lZGlhUXVlcnlMaXN0KG1hdGNoZXIsIFdURk1vdmUo
bWVkaWEpLCBtYXRjaGVzKSk7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxp
c3QoZG9jdW1lbnQsIG1hdGNoZXIsIFdURk1vdmUobWVkaWEpLCBtYXRjaGVzKSk7CiB9CiAKLU1l
ZGlhUXVlcnlMaXN0Ojp+TWVkaWFRdWVyeUxpc3QoKSA9IGRlZmF1bHQ7CitNZWRpYVF1ZXJ5TGlz
dDo6fk1lZGlhUXVlcnlMaXN0KCkKK3sKKyAgICBtX21hdGNoZXItPnJlbW92ZU1lZGlhUXVlcnlM
aXN0KCp0aGlzKTsKK30KIAogU3RyaW5nIE1lZGlhUXVlcnlMaXN0OjptZWRpYSgpIGNvbnN0CiB7
CiAgICAgcmV0dXJuIG1fbWVkaWEtPm1lZGlhVGV4dCgpOwogfQogCi12b2lkIE1lZGlhUXVlcnlM
aXN0OjphZGRMaXN0ZW5lcihSZWZQdHI8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4mJiBsaXN0ZW5l
cikKK3ZvaWQgTWVkaWFRdWVyeUxpc3Q6OmFkZExpc3RlbmVyKFJlZlB0cjxFdmVudExpc3RlbmVy
PiYmIGxpc3RlbmVyKQogewogICAgIGlmICghbGlzdGVuZXIpCiAgICAgICAgIHJldHVybjsKIAot
ICAgIG1fbWF0Y2hlci0+YWRkTGlzdGVuZXIobGlzdGVuZXIucmVsZWFzZU5vbk51bGwoKSwgKnRo
aXMpOworICAgIGFkZEV2ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCBsaXN0
ZW5lci5yZWxlYXNlTm9uTnVsbCgpKTsKIH0KIAotdm9pZCBNZWRpYVF1ZXJ5TGlzdDo6cmVtb3Zl
TGlzdGVuZXIoUmVmUHRyPE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI+JiYgbGlzdGVuZXIpCit2b2lk
IE1lZGlhUXVlcnlMaXN0OjpyZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5lcj4mJiBs
aXN0ZW5lcikKIHsKICAgICBpZiAoIWxpc3RlbmVyKQogICAgICAgICByZXR1cm47CiAKLSAgICBt
X21hdGNoZXItPnJlbW92ZUxpc3RlbmVyKCpsaXN0ZW5lciwgKnRoaXMpOworICAgIHJlbW92ZUV2
ZW50TGlzdGVuZXIoZXZlbnROYW1lcygpLmNoYW5nZUV2ZW50LCAqbGlzdGVuZXIpOwogfQogCiB2
b2lkIE1lZGlhUXVlcnlMaXN0OjpldmFsdWF0ZShNZWRpYVF1ZXJ5RXZhbHVhdG9yJiBldmFsdWF0
b3IsIGJvb2wmIG5vdGlmaWNhdGlvbk5lZWRlZCkKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdC5oIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0
LmgKaW5kZXggYTJmMDYxODI1ODYxMTYxMmMwNzVmOTYxYzFmYzMyYzNhOGNhMDFkZi4uOTYyN2I2
MmYzOTI4Y2FkYjAxZmYzNTc2Njc4YjY3NTMyYjE0YjM1MSAxMDA2NDQKLS0tIGEvU291cmNlL1dl
YkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmgKKysrIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlMaXN0LmgKQEAgLTE5LDQwICsxOSw0NiBAQAogCiAjcHJhZ21hIG9uY2UKIAotI2luY2x1
ZGUgPHd0Zi9Gb3J3YXJkLmg+Ci0jaW5jbHVkZSA8d3RmL1JlZkNvdW50ZWQuaD4KLSNpbmNsdWRl
IDx3dGYvUmVmUHRyLmg+CisjaW5jbHVkZSAiQ29udGV4dERlc3RydWN0aW9uT2JzZXJ2ZXIuaCIK
KyNpbmNsdWRlICJFdmVudFRhcmdldC5oIgorI2luY2x1ZGUgIk1lZGlhTGlzdC5oIgorI2luY2x1
ZGUgIk1lZGlhUXVlcnlFdmFsdWF0b3IuaCIKKyNpbmNsdWRlICJNZWRpYVF1ZXJ5TWF0Y2hlci5o
IgogCiBuYW1lc3BhY2UgV2ViQ29yZSB7CiAKLWNsYXNzIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI7
Ci1jbGFzcyBNZWRpYVF1ZXJ5RXZhbHVhdG9yOwotY2xhc3MgTWVkaWFRdWVyeU1hdGNoZXI7Ci1j
bGFzcyBNZWRpYVF1ZXJ5U2V0OwotCi0vLyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2UgaXMgc3Bl
Y2lmaWVkIGF0IGh0dHA6Ly9kZXYudzMub3JnL2Nzc3dnL2Nzc29tLXZpZXcvI3RoZS1tZWRpYXF1
ZXJ5bGlzdC1pbnRlcmZhY2UKKy8vIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZSBpcyBzcGVjaWZp
ZWQgYXQgaHR0cHM6Ly9kcmFmdHMuY3Nzd2cub3JnL2Nzc29tLXZpZXcvI3RoZS1tZWRpYXF1ZXJ5
bGlzdC1pbnRlcmZhY2UKIC8vIFRoZSBvYmplY3RzIG9mIHRoaXMgY2xhc3MgYXJlIHJldHVybmVk
IGJ5IHdpbmRvdy5tYXRjaE1lZGlhLiBUaGV5IG1heSBiZSB1c2VkIHRvCiAvLyByZXRyaWV2ZSB0
aGUgY3VycmVudCB2YWx1ZSBvZiB0aGUgZ2l2ZW4gbWVkaWEgcXVlcnkgYW5kIHRvIGFkZC9yZW1v
dmUgbGlzdGVuZXJzIHRoYXQKIC8vIHdpbGwgYmUgY2FsbGVkIHdoZW5ldmVyIHRoZSB2YWx1ZSBv
ZiB0aGUgcXVlcnkgY2hhbmdlcy4KIAotY2xhc3MgTWVkaWFRdWVyeUxpc3QgZmluYWwgOiBwdWJs
aWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4geworY2xhc3MgTWVkaWFRdWVyeUxpc3QgZmlu
YWwgOiBwdWJsaWMgUmVmQ291bnRlZDxNZWRpYVF1ZXJ5TGlzdD4sIHB1YmxpYyBFdmVudFRhcmdl
dFdpdGhJbmxpbmVEYXRhLCBwdWJsaWMgQ2FuTWFrZVdlYWtQdHI8TWVkaWFRdWVyeUxpc3Q+LCBw
cml2YXRlIENvbnRleHREZXN0cnVjdGlvbk9ic2VydmVyIHsKKyAgICBXVEZfTUFLRV9JU09fQUxM
T0NBVEVEKE1lZGlhUXVlcnlMaXN0KTsKIHB1YmxpYzoKLSAgICBzdGF0aWMgUmVmPE1lZGlhUXVl
cnlMaXN0PiBjcmVhdGUoTWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwg
Ym9vbCk7CisgICAgc3RhdGljIFJlZjxNZWRpYVF1ZXJ5TGlzdD4gY3JlYXRlKERvY3VtZW50Jiwg
TWVkaWFRdWVyeU1hdGNoZXImLCBSZWY8TWVkaWFRdWVyeVNldD4mJiwgYm9vbCBtYXRjaGVzKTsK
ICAgICB+TWVkaWFRdWVyeUxpc3QoKTsKIAogICAgIFN0cmluZyBtZWRpYSgpIGNvbnN0OwogICAg
IGJvb2wgbWF0Y2hlcygpOwogCi0gICAgdm9pZCBhZGRMaXN0ZW5lcihSZWZQdHI8TWVkaWFRdWVy
eUxpc3RMaXN0ZW5lcj4mJik7Ci0gICAgdm9pZCByZW1vdmVMaXN0ZW5lcihSZWZQdHI8TWVkaWFR
dWVyeUxpc3RMaXN0ZW5lcj4mJik7CisgICAgdm9pZCBhZGRMaXN0ZW5lcihSZWZQdHI8RXZlbnRM
aXN0ZW5lcj4mJik7CisgICAgdm9pZCByZW1vdmVMaXN0ZW5lcihSZWZQdHI8RXZlbnRMaXN0ZW5l
cj4mJik7CiAKICAgICB2b2lkIGV2YWx1YXRlKE1lZGlhUXVlcnlFdmFsdWF0b3ImLCBib29sJiBu
b3RpZmljYXRpb25OZWVkZWQpOwogCisgICAgdXNpbmcgUmVmQ291bnRlZDo6cmVmOworICAgIHVz
aW5nIFJlZkNvdW50ZWQ6OmRlcmVmOworCiBwcml2YXRlOgotICAgIE1lZGlhUXVlcnlMaXN0KE1l
ZGlhUXVlcnlNYXRjaGVyJiwgUmVmPE1lZGlhUXVlcnlTZXQ+JiYsIGJvb2wgbWF0Y2hlcyk7Cisg
ICAgTWVkaWFRdWVyeUxpc3QoRG9jdW1lbnQmLCBNZWRpYVF1ZXJ5TWF0Y2hlciYsIFJlZjxNZWRp
YVF1ZXJ5U2V0PiYmLCBib29sIG1hdGNoZXMpOwogCiAgICAgdm9pZCBzZXRNYXRjaGVzKGJvb2wp
OwogCisgICAgRXZlbnRUYXJnZXRJbnRlcmZhY2UgZXZlbnRUYXJnZXRJbnRlcmZhY2UoKSBjb25z
dCBmaW5hbCB7IHJldHVybiBNZWRpYVF1ZXJ5TGlzdEV2ZW50VGFyZ2V0SW50ZXJmYWNlVHlwZTsg
fQorICAgIFNjcmlwdEV4ZWN1dGlvbkNvbnRleHQqIHNjcmlwdEV4ZWN1dGlvbkNvbnRleHQoKSBj
b25zdCBmaW5hbCB7IHJldHVybiBDb250ZXh0RGVzdHJ1Y3Rpb25PYnNlcnZlcjo6c2NyaXB0RXhl
Y3V0aW9uQ29udGV4dCgpOyB9CisgICAgdm9pZCByZWZFdmVudFRhcmdldCgpIGZpbmFsIHsgcmVm
KCk7IH0KKyAgICB2b2lkIGRlcmVmRXZlbnRUYXJnZXQoKSBmaW5hbCB7IGRlcmVmKCk7IH0KKwog
ICAgIFJlZjxNZWRpYVF1ZXJ5TWF0Y2hlcj4gbV9tYXRjaGVyOwogICAgIFJlZjxNZWRpYVF1ZXJ5
U2V0PiBtX21lZGlhOwogICAgIHVuc2lnbmVkIG1fZXZhbHVhdGlvblJvdW5kOyAvLyBJbmRpY2F0
ZXMgaWYgdGhlIHF1ZXJ5IGhhcyBiZWVuIGV2YWx1YXRlZCBhZnRlciB0aGUgbGFzdCBzdHlsZSBz
ZWxlY3RvciBjaGFuZ2UuCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUxpc3QuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0LmlkbAppbmRleCAz
ZGZmZGNmNWM4MGQ2M2E2OWZiMmNhMzk0NTdjN2RjOWJlYmQ1NDJiLi4wMmViOWMzZTFkNTQ4YTQx
MWY3ZDZlOTg1OTc2ZjJiOWEzMzNjZDVlIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3Mv
TWVkaWFRdWVyeUxpc3QuaWRsCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlz
dC5pZGwKQEAgLTE3LDEzICsxNywxMiBAQAogICogIEJvc3RvbiwgTUEgMDIxMTAtMTMwMSwgVVNB
LgogICovCiBbCi0gICAgTm9JbnRlcmZhY2VPYmplY3QsCi0gICAgSW1wbGVtZW50YXRpb25MYWNr
c1ZUYWJsZSwKLV0gaW50ZXJmYWNlIE1lZGlhUXVlcnlMaXN0IHsKKyAgICBFeHBvc2VkPVdpbmRv
dworXSBpbnRlcmZhY2UgTWVkaWFRdWVyeUxpc3QgOiBFdmVudFRhcmdldCB7CiAgICAgcmVhZG9u
bHkgYXR0cmlidXRlIERPTVN0cmluZyBtZWRpYTsKICAgICByZWFkb25seSBhdHRyaWJ1dGUgYm9v
bGVhbiBtYXRjaGVzOwogCi0gICAgLy8gRklYTUU6IFRoZSBsaXN0ZW5lciBwYXJhbWV0ZXIgc2hv
dWxkIG5vdCBiZSBvcHRpb25hbC4KLSAgICB2b2lkIGFkZExpc3RlbmVyKG9wdGlvbmFsIE1lZGlh
UXVlcnlMaXN0TGlzdGVuZXI/IGxpc3RlbmVyID0gbnVsbCk7Ci0gICAgdm9pZCByZW1vdmVMaXN0
ZW5lcihvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPyBsaXN0ZW5lciA9IG51bGwpOwor
ICAgIHZvaWQgYWRkTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVuZXIpOworICAgIHZvaWQg
cmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcj8gbGlzdGVuZXIpOworICAgIGF0dHJpYnV0ZSBF
dmVudEhhbmRsZXIgb25jaGFuZ2U7CiB9OwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3Nz
L01lZGlhUXVlcnlMaXN0RXZlbnQuY3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlM
aXN0RXZlbnQuY3BwCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAuLjE4MjIyMzEyZDQwYzliNzkxOTljOTBjZGI2MmIwYzZj
MTBmNzZjMDEKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUxpc3RFdmVudC5jcHAKQEAgLTAsMCArMSw1NyBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAy
MCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3Ry
aWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhv
dXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xs
b3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBz
b3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2Us
IHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisg
KiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFi
b3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQg
dGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQv
b3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisg
KiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklC
VVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVT
LCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJ
RVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBV
UlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRT
IENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5D
SURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VT
IChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNU
SVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBP
UiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRI
RU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklM
SVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklT
SU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBB
RFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworI2lu
Y2x1ZGUgImNvbmZpZy5oIgorI2luY2x1ZGUgIk1lZGlhUXVlcnlMaXN0RXZlbnQuaCIKKworbmFt
ZXNwYWNlIFdlYkNvcmUgeworCitXVEZfTUFLRV9JU09fQUxMT0NBVEVEX0lNUEwoTWVkaWFRdWVy
eUxpc3RFdmVudCk7CisKK01lZGlhUXVlcnlMaXN0RXZlbnQ6Ok1lZGlhUXVlcnlMaXN0RXZlbnQo
Y29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgU3RyaW5nJiBtZWRpYSwgYm9vbCBtYXRjaGVz
KQorICAgIDogRXZlbnQodHlwZSwgQ2FuQnViYmxlOjpObywgSXNDYW5jZWxhYmxlOjpObykKKyAg
ICAsIG1fbWVkaWEobWVkaWEpCisgICAgLCBtX21hdGNoZXMobWF0Y2hlcykKK3sKK30KKworTWVk
aWFRdWVyeUxpc3RFdmVudDo6TWVkaWFRdWVyeUxpc3RFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0
eXBlLCBjb25zdCBJbml0JiBpbml0LCBJc1RydXN0ZWQgaXNUcnVzdGVkKQorICAgIDogRXZlbnQo
dHlwZSwgaW5pdCwgaXNUcnVzdGVkKQorICAgICwgbV9tZWRpYShpbml0Lm1lZGlhKQorICAgICwg
bV9tYXRjaGVzKGluaXQubWF0Y2hlcykKK3sKK30KKworUmVmPE1lZGlhUXVlcnlMaXN0RXZlbnQ+
IE1lZGlhUXVlcnlMaXN0RXZlbnQ6OmNyZWF0ZShjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25z
dCBTdHJpbmcmIG1lZGlhLCBib29sIG1hdGNoZXMpCit7CisgICAgcmV0dXJuIGFkb3B0UmVmKCpu
ZXcgTWVkaWFRdWVyeUxpc3RFdmVudCh0eXBlLCBtZWRpYSwgbWF0Y2hlcykpOworfQorCitSZWY8
TWVkaWFRdWVyeUxpc3RFdmVudD4gTWVkaWFRdWVyeUxpc3RFdmVudDo6Y3JlYXRlKGNvbnN0IEF0
b21TdHJpbmcmIHR5cGUsIGNvbnN0IEluaXQmIGluaXQsIElzVHJ1c3RlZCBpc1RydXN0ZWQpCit7
CisgICAgcmV0dXJuIGFkb3B0UmVmKCpuZXcgTWVkaWFRdWVyeUxpc3RFdmVudCh0eXBlLCBpbml0
LCBpc1RydXN0ZWQpKTsKK30KKworfSAvLyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEv
U291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZlbnQuaCBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMC4uMDE4OWZiMWFlZDI0YjQ5ZThh
ZDI5YTkyY2RiMDMwY2I2MTkyZWIyYQotLS0gL2Rldi9udWxsCisrKyBiL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LmgKQEAgLTAsMCArMSw1NiBAQAorLyoKKyAqIENvcHly
aWdodCAoQykgMjAyMCBBbGV4ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAq
CisgKiBSZWRpc3RyaWJ1dGlvbiBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3
aXRoIG9yIHdpdGhvdXQKKyAqIG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0
aGF0IHRoZSBmb2xsb3dpbmcgY29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJp
YnV0aW9ucyBvZiBzb3VyY2UgY29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0Cisg
KiAgICBub3RpY2UsIHRoaXMgbGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRp
c2NsYWltZXIuCisgKiAyLiBSZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXBy
b2R1Y2UgdGhlIGFib3ZlIGNvcHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29u
ZGl0aW9ucyBhbmQgdGhlIGZvbGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1l
bnRhdGlvbiBhbmQvb3Igb3RoZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1
dGlvbi4KKyAqCisgKiBUSElTIFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5E
IElUUyBDT05UUklCVVRPUlMgYGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElF
RCBXQVJSQU5USUVTLCBJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBM
SUVEIFdBUlJBTlRJRVMgT0YgTUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJ
Q1VMQVIKKyAqIFBVUlBPU0UgQVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExF
IElOQy4gT1IgSVRTIENPTlRSSUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJ
TkRJUkVDVCwgSU5DSURFTlRBTCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVO
VElBTCBEQU1BR0VTIChJTkNMVURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQg
T0YKKyAqIFNVQlNUSVRVVEUgR09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBP
UiBQUk9GSVRTOyBPUiBCVVNJTkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBB
TkQgT04gQU5ZIFRIRU9SWSBPRiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBT
VFJJQ1QgTElBQklMSVRZLCBPUiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJ
U0UpCisgKiBBUklTSU5HIElOIEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FS
RSwgRVZFTiBJRiBBRFZJU0VEIE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0Uu
CisgKi8KKworI3ByYWdtYSBvbmNlCisKKyNpbmNsdWRlICJFdmVudC5oIgorCituYW1lc3BhY2Ug
V2ViQ29yZSB7CisKK2NsYXNzIE1lZGlhUXVlcnlMaXN0RXZlbnQgZmluYWwgOiBwdWJsaWMgRXZl
bnQgeworICAgIFdURl9NQUtFX0lTT19BTExPQ0FURUQoTWVkaWFRdWVyeUxpc3RFdmVudCk7Citw
dWJsaWM6CisgICAgc3RydWN0IEluaXQgOiBFdmVudEluaXQgeworICAgICAgICBTdHJpbmcgbWVk
aWE7CisgICAgICAgIGJvb2wgbWF0Y2hlcyB7IGZhbHNlIH07CisgICAgfTsKKworICAgIHN0YXRp
YyBSZWY8TWVkaWFRdWVyeUxpc3RFdmVudD4gY3JlYXRlKGNvbnN0IEF0b21TdHJpbmcmIHR5cGUs
IGNvbnN0IFN0cmluZyYgbWVkaWEsIGJvb2wgbWF0Y2hlcyk7CisgICAgc3RhdGljIFJlZjxNZWRp
YVF1ZXJ5TGlzdEV2ZW50PiBjcmVhdGUoY29uc3QgQXRvbVN0cmluZyYgdHlwZSwgY29uc3QgSW5p
dCYsIElzVHJ1c3RlZCA9IElzVHJ1c3RlZDo6Tm8pOworCisgICAgY29uc3QgU3RyaW5nJiBtZWRp
YSgpIGNvbnN0IHsgcmV0dXJuIG1fbWVkaWE7IH0KKyAgICBib29sIG1hdGNoZXMoKSBjb25zdCB7
IHJldHVybiBtX21hdGNoZXM7IH0KKworICAgIEV2ZW50SW50ZXJmYWNlIGV2ZW50SW50ZXJmYWNl
KCkgY29uc3QgZmluYWwgeyByZXR1cm4gTWVkaWFRdWVyeUxpc3RFdmVudEludGVyZmFjZVR5cGU7
IH0KKworcHJpdmF0ZToKKyAgICBNZWRpYVF1ZXJ5TGlzdEV2ZW50KGNvbnN0IEF0b21TdHJpbmcm
IHR5cGUsIGNvbnN0IFN0cmluZyYgbWVkaWEsIGJvb2wgbWF0Y2hlcyk7CisgICAgTWVkaWFRdWVy
eUxpc3RFdmVudChjb25zdCBBdG9tU3RyaW5nJiB0eXBlLCBjb25zdCBJbml0JiwgSXNUcnVzdGVk
KTsKKworICAgIFN0cmluZyBtX21lZGlhOworICAgIGJvb2wgbV9tYXRjaGVzOworfTsKKworfSAv
LyBuYW1lc3BhY2UgV2ViQ29yZQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlh
UXVlcnlMaXN0RXZlbnQuaWRsIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlMaXN0RXZl
bnQuaWRsCm5ldyBmaWxlIG1vZGUgMTAwNjQ0CmluZGV4IDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAuLjljMzIwYzg3OGYzZjU1MWNjMmVjMTY4MzdhMzg4OGU5ODZhZDY1
YzYKLS0tIC9kZXYvbnVsbAorKysgYi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeUxpc3RF
dmVudC5pZGwKQEAgLTAsMCArMSwzNiBAQAorLyoKKyAqIENvcHlyaWdodCAoQykgMjAyMCBBbGV4
ZXkgU2h2YXlrYSA8c2h2YWlrYWxlc2hAZ21haWwuY29tPi4KKyAqCisgKiBSZWRpc3RyaWJ1dGlv
biBhbmQgdXNlIGluIHNvdXJjZSBhbmQgYmluYXJ5IGZvcm1zLCB3aXRoIG9yIHdpdGhvdXQKKyAq
IG1vZGlmaWNhdGlvbiwgYXJlIHBlcm1pdHRlZCBwcm92aWRlZCB0aGF0IHRoZSBmb2xsb3dpbmcg
Y29uZGl0aW9ucworICogYXJlIG1ldDoKKyAqIDEuIFJlZGlzdHJpYnV0aW9ucyBvZiBzb3VyY2Ug
Y29kZSBtdXN0IHJldGFpbiB0aGUgYWJvdmUgY29weXJpZ2h0CisgKiAgICBub3RpY2UsIHRoaXMg
bGlzdCBvZiBjb25kaXRpb25zIGFuZCB0aGUgZm9sbG93aW5nIGRpc2NsYWltZXIuCisgKiAyLiBS
ZWRpc3RyaWJ1dGlvbnMgaW4gYmluYXJ5IGZvcm0gbXVzdCByZXByb2R1Y2UgdGhlIGFib3ZlIGNv
cHlyaWdodAorICogICAgbm90aWNlLCB0aGlzIGxpc3Qgb2YgY29uZGl0aW9ucyBhbmQgdGhlIGZv
bGxvd2luZyBkaXNjbGFpbWVyIGluIHRoZQorICogICAgZG9jdW1lbnRhdGlvbiBhbmQvb3Igb3Ro
ZXIgbWF0ZXJpYWxzIHByb3ZpZGVkIHdpdGggdGhlIGRpc3RyaWJ1dGlvbi4KKyAqCisgKiBUSElT
IFNPRlRXQVJFIElTIFBST1ZJREVEIEJZIEFQUExFIElOQy4gQU5EIElUUyBDT05UUklCVVRPUlMg
YGBBUyBJUycnCisgKiBBTkQgQU5ZIEVYUFJFU1MgT1IgSU1QTElFRCBXQVJSQU5USUVTLCBJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywKKyAqIFRIRSBJTVBMSUVEIFdBUlJBTlRJRVMgT0Yg
TUVSQ0hBTlRBQklMSVRZIEFORCBGSVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIKKyAqIFBVUlBPU0Ug
QVJFIERJU0NMQUlNRUQuIElOIE5PIEVWRU5UIFNIQUxMIEFQUExFIElOQy4gT1IgSVRTIENPTlRS
SUJVVE9SUworICogQkUgTElBQkxFIEZPUiBBTlkgRElSRUNULCBJTkRJUkVDVCwgSU5DSURFTlRB
TCwgU1BFQ0lBTCwgRVhFTVBMQVJZLCBPUgorICogQ09OU0VRVUVOVElBTCBEQU1BR0VTIChJTkNM
VURJTkcsIEJVVCBOT1QgTElNSVRFRCBUTywgUFJPQ1VSRU1FTlQgT0YKKyAqIFNVQlNUSVRVVEUg
R09PRFMgT1IgU0VSVklDRVM7IExPU1MgT0YgVVNFLCBEQVRBLCBPUiBQUk9GSVRTOyBPUiBCVVNJ
TkVTUworICogSU5URVJSVVBUSU9OKSBIT1dFVkVSIENBVVNFRCBBTkQgT04gQU5ZIFRIRU9SWSBP
RiBMSUFCSUxJVFksIFdIRVRIRVIgSU4KKyAqIENPTlRSQUNULCBTVFJJQ1QgTElBQklMSVRZLCBP
UiBUT1JUIChJTkNMVURJTkcgTkVHTElHRU5DRSBPUiBPVEhFUldJU0UpCisgKiBBUklTSU5HIElO
IEFOWSBXQVkgT1VUIE9GIFRIRSBVU0UgT0YgVEhJUyBTT0ZUV0FSRSwgRVZFTiBJRiBBRFZJU0VE
IE9GCisgKiBUSEUgUE9TU0lCSUxJVFkgT0YgU1VDSCBEQU1BR0UuCisgKi8KKworWworICAgIENv
bnN0cnVjdG9yKERPTVN0cmluZyB0eXBlLCBvcHRpb25hbCBNZWRpYVF1ZXJ5TGlzdEV2ZW50SW5p
dCBtZWRpYVF1ZXJ5TGlzdEV2ZW50SW5pdCksCitdIGludGVyZmFjZSBNZWRpYVF1ZXJ5TGlzdEV2
ZW50IDogRXZlbnQgeworICAgIHJlYWRvbmx5IGF0dHJpYnV0ZSBET01TdHJpbmcgbWVkaWE7Cisg
ICAgcmVhZG9ubHkgYXR0cmlidXRlIGJvb2xlYW4gbWF0Y2hlczsKK307CisKK2RpY3Rpb25hcnkg
TWVkaWFRdWVyeUxpc3RFdmVudEluaXQgOiBFdmVudEluaXQgeworICAgIERPTVN0cmluZyBtZWRp
YSA9ICIiOworICAgIGJvb2xlYW4gbWF0Y2hlcyA9IGZhbHNlOworfTsKZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeUxpc3RMaXN0ZW5lci5oCmRlbGV0ZWQgZmlsZSBtb2RlIDEwMDY0NApp
bmRleCBkMzE1ODRhOWM5MzY4M2Y2OTE0M2M0YzcyNTk2MzAyOTMyZTZlM2MxLi4wMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwMDAwCi0tLSBhL1NvdXJjZS9XZWJDb3JlL2Nzcy9N
ZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmgKKysrIC9kZXYvbnVsbApAQCAtMSw1MiArMCwwIEBACi0v
KgotICogQ29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vi
c2lkaWFyeSgtaWVzKQotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91
IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJt
cyBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxp
c2hlZCBieSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9u
IDIgb2YgdGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24u
Ci0gKgotICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0
IHdpbGwgYmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBl
dmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5F
U1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdl
bmVyYWwgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3Vs
ZCBoYXZlIHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMg
TGljZW5zZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlO
Ry5MSUIuICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlv
biwgSW5jLiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1B
IDAyMTEwLTEzMDEsIFVTQS4KLSAqLwotCi0jcHJhZ21hIG9uY2UKLQotI2luY2x1ZGUgIkFjdGl2
ZURPTUNhbGxiYWNrLmgiCi0jaW5jbHVkZSAiQ2FsbGJhY2tSZXN1bHQuaCIKLSNpbmNsdWRlIDx3
dGYvUmVmQ291bnRlZC5oPgotCi1uYW1lc3BhY2UgV2ViQ29yZSB7Ci0KLWNsYXNzIE1lZGlhUXVl
cnlMaXN0OwotCi1jbGFzcyBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyIDogcHVibGljIFJlZkNvdW50
ZWQ8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4sIHB1YmxpYyBBY3RpdmVET01DYWxsYmFjayB7Ci1w
dWJsaWM6Ci0gICAgZW51bSBUeXBlIHsKLSAgICAgICAgSlNNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
VHlwZQotICAgIH07Ci0KLSAgICB2aXJ0dWFsIENhbGxiYWNrUmVzdWx0PHZvaWQ+IGhhbmRsZUV2
ZW50KE1lZGlhUXVlcnlMaXN0JikgPSAwOwotICAgIHZpcnR1YWwgYm9vbCBvcGVyYXRvcj09KGNv
bnN0IE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImKSBjb25zdCA9IDA7Ci0KLSAgICBUeXBlIHR5cGUo
KSBjb25zdCB7IHJldHVybiBtX3R5cGU7IH0KLQotcHJvdGVjdGVkOgotICAgIGV4cGxpY2l0IE1l
ZGlhUXVlcnlMaXN0TGlzdGVuZXIoU2NyaXB0RXhlY3V0aW9uQ29udGV4dCogY29udGV4dCwgVHlw
ZSB0eXBlKQotICAgICAgICA6IEFjdGl2ZURPTUNhbGxiYWNrKGNvbnRleHQpCi0gICAgICAgICwg
bV90eXBlKHR5cGUpCi0gICAgewotICAgIH0KLQotcHJpdmF0ZToKLSAgICBUeXBlIG1fdHlwZTsK
LX07Ci0KLX0gLy8gbmFtZXNwYWNlIFdlYkNvcmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3Jl
L2Nzcy9NZWRpYVF1ZXJ5TGlzdExpc3RlbmVyLmlkbCBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRp
YVF1ZXJ5TGlzdExpc3RlbmVyLmlkbApkZWxldGVkIGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggZmRm
MWRiNzNiNzBhYjdkMjRhMDIzZjg5OTFlMTAwZWMxNDFiMTNlYy4uMDAwMDAwMDAwMDAwMDAwMDAw
MDAwMDAwMDAwMDAwMDAwMDAwMDAwMAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVy
eUxpc3RMaXN0ZW5lci5pZGwKKysrIC9kZXYvbnVsbApAQCAtMSwyMyArMCwwIEBACi0vKgotICog
Q29weXJpZ2h0IChDKSAyMDEwIE5va2lhIENvcnBvcmF0aW9uIGFuZC9vciBpdHMgc3Vic2lkaWFy
eSgtaWVzKQotICoKLSAqICBUaGlzIGxpYnJhcnkgaXMgZnJlZSBzb2Z0d2FyZTsgeW91IGNhbiBy
ZWRpc3RyaWJ1dGUgaXQgYW5kL29yCi0gKiAgbW9kaWZ5IGl0IHVuZGVyIHRoZSB0ZXJtcyBvZiB0
aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMKLSAqICBMaWNlbnNlIGFzIHB1Ymxpc2hlZCBi
eSB0aGUgRnJlZSBTb2Z0d2FyZSBGb3VuZGF0aW9uOyBlaXRoZXIKLSAqICB2ZXJzaW9uIDIgb2Yg
dGhlIExpY2Vuc2UsIG9yIChhdCB5b3VyIG9wdGlvbikgYW55IGxhdGVyIHZlcnNpb24uCi0gKgot
ICogIFRoaXMgbGlicmFyeSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9wZSB0aGF0IGl0IHdpbGwg
YmUgdXNlZnVsLAotICogIGJ1dCBXSVRIT1VUIEFOWSBXQVJSQU5UWTsgd2l0aG91dCBldmVuIHRo
ZSBpbXBsaWVkIHdhcnJhbnR5IG9mCi0gKiAgTUVSQ0hBTlRBQklMSVRZIG9yIEZJVE5FU1MgRk9S
IEEgUEFSVElDVUxBUiBQVVJQT1NFLiAgU2VlIHRoZSBHTlUKLSAqICBMaWJyYXJ5IEdlbmVyYWwg
UHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KLSAqCi0gKiAgWW91IHNob3VsZCBoYXZl
IHJlY2VpdmVkIGEgY29weSBvZiB0aGUgR05VIExpYnJhcnkgR2VuZXJhbCBQdWJsaWMgTGljZW5z
ZQotICogIGFsb25nIHdpdGggdGhpcyBsaWJyYXJ5OyBzZWUgdGhlIGZpbGUgQ09QWUlORy5MSUIu
ICBJZiBub3QsIHdyaXRlIHRvCi0gKiAgdGhlIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j
LiwgNTEgRnJhbmtsaW4gU3RyZWV0LCBGaWZ0aCBGbG9vciwKLSAqICBCb3N0b24sIE1BIDAyMTEw
LTEzMDEsIFVTQS4KLSAqLwotCi1bCi0gICAgQ2FsbGJhY2tOZWVkc09wZXJhdG9yRXF1YWwKLV0g
Y2FsbGJhY2sgTWVkaWFRdWVyeUxpc3RMaXN0ZW5lciA9IHZvaWQgKE1lZGlhUXVlcnlMaXN0IGxp
c3QpOwotCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIu
Y3BwIGIvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmNwcAppbmRleCBjZDJj
ZWZjN2M1ZmMyNTZmYzlkOTk4NmNkMTVmMzU4YzdhMTNiNDA1Li4xYmMyNjI0YWQxN2E5ODYxMTJl
ZDMyNzU3OTYzYWNjZjJlODFkOWY0IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVk
aWFRdWVyeU1hdGNoZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL2Nzcy9NZWRpYVF1ZXJ5TWF0
Y2hlci5jcHAKQEAgLTIxLDEzICsyMSwxMyBAQAogI2luY2x1ZGUgIk1lZGlhUXVlcnlNYXRjaGVy
LmgiCiAKICNpbmNsdWRlICJEb2N1bWVudC5oIgorI2luY2x1ZGUgIkV2ZW50TmFtZXMuaCIKICNp
bmNsdWRlICJGcmFtZS5oIgogI2luY2x1ZGUgIkZyYW1lVmlldy5oIgogI2luY2x1ZGUgIkxvZ2dp
bmcuaCIKICNpbmNsdWRlICJNZWRpYUxpc3QuaCIKICNpbmNsdWRlICJNZWRpYVF1ZXJ5RXZhbHVh
dG9yLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeUxpc3QuaCIKLSNpbmNsdWRlICJNZWRpYVF1ZXJ5
TGlzdExpc3RlbmVyLmgiCiAjaW5jbHVkZSAiTWVkaWFRdWVyeVBhcnNlckNvbnRleHQuaCIKICNp
bmNsdWRlICJOb2RlUmVuZGVyU3R5bGUuaCIKICNpbmNsdWRlICJSZW5kZXJFbGVtZW50LmgiCkBA
IC00Niw4ICs0Niw4IEBAIE1lZGlhUXVlcnlNYXRjaGVyOjp+TWVkaWFRdWVyeU1hdGNoZXIoKSA9
IGRlZmF1bHQ7CiAKIHZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmRvY3VtZW50RGVzdHJveWVkKCkK
IHsKLSAgICBtX2xpc3RlbmVycy5jbGVhcigpOwogICAgIG1fZG9jdW1lbnQgPSBudWxscHRyOwor
ICAgIG1fbWVkaWFRdWVyeUxpc3RzLmNsZWFyKCk7CiB9CiAKIFN0cmluZyBNZWRpYVF1ZXJ5TWF0
Y2hlcjo6bWVkaWFUeXBlKCkgY29uc3QKQEAgLTc4LDM1ICs3OCwyNiBAQCBib29sIE1lZGlhUXVl
cnlNYXRjaGVyOjpldmFsdWF0ZShjb25zdCBNZWRpYVF1ZXJ5U2V0JiBtZWRpYSkKICAgICByZXR1
cm4gTWVkaWFRdWVyeUV2YWx1YXRvciB7IG1lZGlhVHlwZSgpLCAqbV9kb2N1bWVudCwgc3R5bGUu
Z2V0KCkgfS5ldmFsdWF0ZShtZWRpYSk7CiB9CiAKLVJlZlB0cjxNZWRpYVF1ZXJ5TGlzdD4gTWVk
aWFRdWVyeU1hdGNoZXI6Om1hdGNoTWVkaWEoY29uc3QgU3RyaW5nJiBxdWVyeSkKK3ZvaWQgTWVk
aWFRdWVyeU1hdGNoZXI6OmFkZE1lZGlhUXVlcnlMaXN0KE1lZGlhUXVlcnlMaXN0JiBsaXN0KQog
ewotICAgIGlmICghbV9kb2N1bWVudCkKLSAgICAgICAgcmV0dXJuIG51bGxwdHI7Ci0KLSAgICBh
dXRvIG1lZGlhID0gTWVkaWFRdWVyeVNldDo6Y3JlYXRlKHF1ZXJ5LCBNZWRpYVF1ZXJ5UGFyc2Vy
Q29udGV4dCgqbV9kb2N1bWVudCkpOwotICAgIHJlcG9ydE1lZGlhUXVlcnlXYXJuaW5nSWZOZWVk
ZWQobV9kb2N1bWVudC5nZXQoKSwgbWVkaWEucHRyKCkpOwotICAgIGJvb2wgcmVzdWx0ID0gZXZh
bHVhdGUobWVkaWEuZ2V0KCkpOwotICAgIHJldHVybiBNZWRpYVF1ZXJ5TGlzdDo6Y3JlYXRlKCp0
aGlzLCBXVEZNb3ZlKG1lZGlhKSwgcmVzdWx0KTsKKyAgICBBU1NFUlQoIW1fbWVkaWFRdWVyeUxp
c3RzLmNvbnRhaW5zKCZsaXN0KSk7CisgICAgbV9tZWRpYVF1ZXJ5TGlzdHMuYXBwZW5kKG1ha2VX
ZWFrUHRyKCZsaXN0KSk7CiB9CiAKLXZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OmFkZExpc3RlbmVy
KFJlZjxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVyPiYmIGxpc3RlbmVyLCBNZWRpYVF1ZXJ5TGlzdCYg
cXVlcnkpCit2b2lkIE1lZGlhUXVlcnlNYXRjaGVyOjpyZW1vdmVNZWRpYVF1ZXJ5TGlzdChNZWRp
YVF1ZXJ5TGlzdCYgbGlzdCkKIHsKLSAgICBpZiAoIW1fZG9jdW1lbnQpCi0gICAgICAgIHJldHVy
bjsKLQotICAgIGZvciAoYXV0byYgZXhpc3RpbmdMaXN0ZW5lciA6IG1fbGlzdGVuZXJzKSB7Ci0g
ICAgICAgIGlmIChleGlzdGluZ0xpc3RlbmVyLmxpc3RlbmVyLmdldCgpID09IGxpc3RlbmVyLmdl
dCgpICYmIGV4aXN0aW5nTGlzdGVuZXIucXVlcnkucHRyKCkgPT0gJnF1ZXJ5KQotICAgICAgICAg
ICAgcmV0dXJuOwotICAgIH0KLQotICAgIG1fbGlzdGVuZXJzLmFwcGVuZChMaXN0ZW5lciB7IFdU
Rk1vdmUobGlzdGVuZXIpLCBxdWVyeSB9KTsKKyAgICBtX21lZGlhUXVlcnlMaXN0cy5yZW1vdmVG
aXJzdCgmbGlzdCk7CiB9CiAKLXZvaWQgTWVkaWFRdWVyeU1hdGNoZXI6OnJlbW92ZUxpc3RlbmVy
KE1lZGlhUXVlcnlMaXN0TGlzdGVuZXImIGxpc3RlbmVyLCBNZWRpYVF1ZXJ5TGlzdCYgcXVlcnkp
CitSZWZQdHI8TWVkaWFRdWVyeUxpc3Q+IE1lZGlhUXVlcnlNYXRjaGVyOjptYXRjaE1lZGlhKGNv
bnN0IFN0cmluZyYgcXVlcnkpCiB7Ci0gICAgbV9saXN0ZW5lcnMucmVtb3ZlRmlyc3RNYXRjaGlu
ZyhbJmxpc3RlbmVyLCAmcXVlcnldKGF1dG8mIGV4aXN0aW5nTGlzdGVuZXIpIHsKLSAgICAgICAg
cmV0dXJuIGV4aXN0aW5nTGlzdGVuZXIubGlzdGVuZXIuZ2V0KCkgPT0gbGlzdGVuZXIgJiYgZXhp
c3RpbmdMaXN0ZW5lci5xdWVyeS5wdHIoKSA9PSAmcXVlcnk7Ci0gICAgfSk7CisgICAgaWYgKCFt
X2RvY3VtZW50KQorICAgICAgICByZXR1cm4gbnVsbHB0cjsKKworICAgIGF1dG8gbWVkaWEgPSBN
ZWRpYVF1ZXJ5U2V0OjpjcmVhdGUocXVlcnksIE1lZGlhUXVlcnlQYXJzZXJDb250ZXh0KCptX2Rv
Y3VtZW50KSk7CisgICAgcmVwb3J0TWVkaWFRdWVyeVdhcm5pbmdJZk5lZWRlZChtX2RvY3VtZW50
LmdldCgpLCBtZWRpYS5wdHIoKSk7CisgICAgYm9vbCBtYXRjaGVzID0gZXZhbHVhdGUobWVkaWEu
Z2V0KCkpOworICAgIHJldHVybiBNZWRpYVF1ZXJ5TGlzdDo6Y3JlYXRlKCptX2RvY3VtZW50LCAq
dGhpcywgV1RGTW92ZShtZWRpYSksIG1hdGNoZXMpOwogfQogCiB2b2lkIE1lZGlhUXVlcnlNYXRj
aGVyOjpldmFsdWF0ZUFsbCgpCkBAIC0xMjIsMTUgKzExMywxMyBAQCB2b2lkIE1lZGlhUXVlcnlN
YXRjaGVyOjpldmFsdWF0ZUFsbCgpCiAgICAgTE9HX1dJVEhfU1RSRUFNKE1lZGlhUXVlcmllcywg
c3RyZWFtIDw8ICJNZWRpYVF1ZXJ5TWF0Y2hlcjo6c3R5bGVSZXNvbHZlckNoYW5nZWQgIiA8PCBt
X2RvY3VtZW50LT51cmwoKSk7CiAKICAgICBNZWRpYVF1ZXJ5RXZhbHVhdG9yIGV2YWx1YXRvciB7
IG1lZGlhVHlwZSgpLCAqbV9kb2N1bWVudCwgc3R5bGUuZ2V0KCkgfTsKLSAgICBWZWN0b3I8TGlz
dGVuZXI+IGxpc3RlbmVyczsKLSAgICBsaXN0ZW5lcnMucmVzZXJ2ZUluaXRpYWxDYXBhY2l0eSht
X2xpc3RlbmVycy5zaXplKCkpOwotICAgIGZvciAoYXV0byYgbGlzdGVuZXIgOiBtX2xpc3RlbmVy
cykKLSAgICAgICAgbGlzdGVuZXJzLnVuY2hlY2tlZEFwcGVuZCh7IGxpc3RlbmVyLmxpc3RlbmVy
LmNvcHlSZWYoKSwgbGlzdGVuZXIucXVlcnkuY29weVJlZigpIH0pOwotICAgIGZvciAoYXV0byYg
bGlzdGVuZXIgOiBsaXN0ZW5lcnMpIHsKKyAgICBmb3IgKGF1dG8mIGxpc3QgOiBtX21lZGlhUXVl
cnlMaXN0cykgeworICAgICAgICBpZiAoIWxpc3QpCisgICAgICAgICAgICBjb250aW51ZTsKICAg
ICAgICAgYm9vbCBub3RpZnk7Ci0gICAgICAgIGxpc3RlbmVyLnF1ZXJ5LT5ldmFsdWF0ZShldmFs
dWF0b3IsIG5vdGlmeSk7CisgICAgICAgIGxpc3QtPmV2YWx1YXRlKGV2YWx1YXRvciwgbm90aWZ5
KTsKICAgICAgICAgaWYgKG5vdGlmeSkKLSAgICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyLT5o
YW5kbGVFdmVudChsaXN0ZW5lci5xdWVyeSk7CisgICAgICAgICAgICBsaXN0LT5kaXNwYXRjaEV2
ZW50KE1lZGlhUXVlcnlMaXN0RXZlbnQ6OmNyZWF0ZShldmVudE5hbWVzKCkuY2hhbmdlRXZlbnQs
IGxpc3QtPm1lZGlhKCksIGxpc3QtPm1hdGNoZXMoKSkpOwogICAgIH0KIH0KIApkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvY3NzL01lZGlhUXVlcnlNYXRjaGVyLmggYi9Tb3VyY2UvV2ViQ29y
ZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAppbmRleCA5OWY4ZWZhMDYzNTc4OTc4MjcwMjVhMjYz
YTNmZWFkYzJkNDA2ZDFjLi5hMDc0NWFkMjZmZjRlNDRlOGY4NzQ1ZTg3MTlkY2YxMjg2NjI5Y2E3
IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaAorKysg
Yi9Tb3VyY2UvV2ViQ29yZS9jc3MvTWVkaWFRdWVyeU1hdGNoZXIuaApAQCAtMjksMTUgKzI5LDEz
IEBAIG5hbWVzcGFjZSBXZWJDb3JlIHsKIAogY2xhc3MgRG9jdW1lbnQ7CiBjbGFzcyBNZWRpYVF1
ZXJ5TGlzdDsKLWNsYXNzIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI7CiBjbGFzcyBNZWRpYVF1ZXJ5
RXZhbHVhdG9yOwogY2xhc3MgTWVkaWFRdWVyeVNldDsKIGNsYXNzIFJlbmRlclN0eWxlOwogCi0v
LyBNZWRpYVF1ZXJ5TWF0Y2hlciBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3Iga2VlcGluZyBhIHZl
Y3RvciBvZiBwYWlycwotLy8gTWVkaWFRdWVyeUxpc3QgeCBNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
LiBJdCBpcyByZXNwb25zaWJsZSBmb3IgZXZhbHVhdGluZyB0aGUgcXVlcmllcwotLy8gd2hlbmV2
ZXIgaXQgaXMgbmVlZGVkIGFuZCB0byBjYWxsIHRoZSBsaXN0ZW5lcnMgaWYgdGhlIGNvcnJlc3Bv
bmRpbmcgcXVlcnkgaGFzIGNoYW5nZWQuCi0vLyBUaGUgbGlzdGVuZXJzIG11c3QgYmUgY2FsbGVk
IGluIHRoZSBvcmRlciBpbiB3aGljaCB0aGV5IHdlcmUgYWRkZWQuCisvLyBNZWRpYVF1ZXJ5TWF0
Y2hlciBjbGFzcyBpcyByZXNwb25zaWJsZSBmb3IgZXZhbHVhdGluZyB0aGUgcXVlcmllcyB3aGVu
ZXZlciBpdAorLy8gaXMgbmVlZGVkIGFuZCBkaXNwYXRjaCAiY2hhbmdlIiBldmVudCBvbiBNZWRp
YVF1ZXJ5TGlzdHMgaWYgdGhlIGNvcnJlc3BvbmRpbmcKKy8vIHF1ZXJ5IGhhcyBjaGFuZ2VkLiBN
ZWRpYVF1ZXJ5TGlzdHMgYXJlIGludm9rZWQgaW4gdGhlIG9yZGVyIGluIHdoaWNoIHRoZXkgd2Vy
ZSBhZGRlZC4KIAogY2xhc3MgTWVkaWFRdWVyeU1hdGNoZXIgZmluYWwgOiBwdWJsaWMgUmVmQ291
bnRlZDxNZWRpYVF1ZXJ5TWF0Y2hlcj4gewogcHVibGljOgpAQCAtNDUsOSArNDMsOCBAQCBwdWJs
aWM6CiAgICAgfk1lZGlhUXVlcnlNYXRjaGVyKCk7CiAKICAgICB2b2lkIGRvY3VtZW50RGVzdHJv
eWVkKCk7Ci0KLSAgICB2b2lkIGFkZExpc3RlbmVyKFJlZjxNZWRpYVF1ZXJ5TGlzdExpc3RlbmVy
PiYmLCBNZWRpYVF1ZXJ5TGlzdCYpOwotICAgIHZvaWQgcmVtb3ZlTGlzdGVuZXIoTWVkaWFRdWVy
eUxpc3RMaXN0ZW5lciYsIE1lZGlhUXVlcnlMaXN0Jik7CisgICAgdm9pZCBhZGRNZWRpYVF1ZXJ5
TGlzdChNZWRpYVF1ZXJ5TGlzdCYpOworICAgIHZvaWQgcmVtb3ZlTWVkaWFRdWVyeUxpc3QoTWVk
aWFRdWVyeUxpc3QmKTsKIAogICAgIFJlZlB0cjxNZWRpYVF1ZXJ5TGlzdD4gbWF0Y2hNZWRpYShj
b25zdCBTdHJpbmcmKTsKIApAQCAtNTgsMTcgKzU1LDEyIEBAIHB1YmxpYzoKICAgICBib29sIGV2
YWx1YXRlKGNvbnN0IE1lZGlhUXVlcnlTZXQmKTsKIAogcHJpdmF0ZToKLSAgICBzdHJ1Y3QgTGlz
dGVuZXIgewotICAgICAgICBSZWY8TWVkaWFRdWVyeUxpc3RMaXN0ZW5lcj4gbGlzdGVuZXI7Ci0g
ICAgICAgIFJlZjxNZWRpYVF1ZXJ5TGlzdD4gcXVlcnk7Ci0gICAgfTsKLQogICAgIGV4cGxpY2l0
IE1lZGlhUXVlcnlNYXRjaGVyKERvY3VtZW50Jik7CiAgICAgc3RkOjp1bmlxdWVfcHRyPFJlbmRl
clN0eWxlPiBkb2N1bWVudEVsZW1lbnRVc2VyQWdlbnRTdHlsZSgpIGNvbnN0OwogICAgIFN0cmlu
ZyBtZWRpYVR5cGUoKSBjb25zdDsKIAogICAgIFdlYWtQdHI8RG9jdW1lbnQ+IG1fZG9jdW1lbnQ7
Ci0gICAgVmVjdG9yPExpc3RlbmVyPiBtX2xpc3RlbmVyczsKKyAgICBWZWN0b3I8V2Vha1B0cjxN
ZWRpYVF1ZXJ5TGlzdD4+IG1fbWVkaWFRdWVyeUxpc3RzOwogCiAgICAgLy8gVGhpcyB2YWx1ZSBp
cyBpbmNyZW1lbnRlZCBhdCBzdHlsZSBzZWxlY3RvciBjaGFuZ2VzLgogICAgIC8vIEl0IGlzIHVz
ZWQgdG8gYXZvaWQgZXZhbHVhdGluZyBxdWVyaWVzIG1vcmUgdGhlbiBvbmNlIGFuZCB0byBtYWtl
IHN1cmUKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudE5hbWVzLmluIGIvU291
cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KaW5kZXggYWViMjM0YWEzZTQ2N2MzYWVjOWI0
OGU5YjAwOGNlMWEwZTYzNjAzZC4uNjQ4OGY5YTJmNzVlZGM2NDA3ZjVjZWYzZDI2ZGExZWJiNjE4
NDQ2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KKysrIGIv
U291cmNlL1dlYkNvcmUvZG9tL0V2ZW50TmFtZXMuaW4KQEAgLTI0LDYgKzI0LDcgQEAgSW5wdXRF
dmVudAogSW5wdXRFdmVudHMgaW50ZXJmYWNlTmFtZT1JbnB1dEV2ZW50CiBLZXlib2FyZEV2ZW50
CiBLZXlib2FyZEV2ZW50cyBpbnRlcmZhY2VOYW1lPUtleWJvYXJkRXZlbnQKK01lZGlhUXVlcnlM
aXN0RXZlbnQKIE1lc3NhZ2VFdmVudAogTW91c2VFdmVudAogTW91c2VFdmVudHMgaW50ZXJmYWNl
TmFtZT1Nb3VzZUV2ZW50CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9kb20vRXZlbnRUYXJn
ZXQuaCBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCmluZGV4IDYxYjUwZTU3OGI1
ZTU1NzNjMWI2ZDY0NWYxOGYwYThkMWMxYWViNGYuLmRlMDAyNDM0NDg5MTZjNTI3ZDFiZGY4ZWRi
OTNmN2MyYjk1YTgyYTIgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdl
dC5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldC5oCkBAIC05MSw3ICs5MSw3
IEBAIHB1YmxpYzoKICAgICBXRUJDT1JFX0VYUE9SVCBFeGNlcHRpb25Pcjxib29sPiBkaXNwYXRj
aEV2ZW50Rm9yQmluZGluZ3MoRXZlbnQmKTsKIAogICAgIFdFQkNPUkVfRVhQT1JUIHZpcnR1YWwg
Ym9vbCBhZGRFdmVudExpc3RlbmVyKGNvbnN0IEF0b21TdHJpbmcmIGV2ZW50VHlwZSwgUmVmPEV2
ZW50TGlzdGVuZXI+JiYsIGNvbnN0IEFkZEV2ZW50TGlzdGVuZXJPcHRpb25zJiA9IHsgfSk7Ci0g
ICAgdmlydHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZl
bnRUeXBlLCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJik7CisgICAgdmly
dHVhbCBib29sIHJlbW92ZUV2ZW50TGlzdGVuZXIoY29uc3QgQXRvbVN0cmluZyYgZXZlbnRUeXBl
LCBFdmVudExpc3RlbmVyJiwgY29uc3QgTGlzdGVuZXJPcHRpb25zJiA9IHsgfSk7CiAKICAgICB2
aXJ0dWFsIHZvaWQgcmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnMoKTsKICAgICB2aXJ0dWFsIHZvaWQg
ZGlzcGF0Y2hFdmVudChFdmVudCYpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvZG9tL0V2
ZW50VGFyZ2V0RmFjdG9yeS5pbiBiL1NvdXJjZS9XZWJDb3JlL2RvbS9FdmVudFRhcmdldEZhY3Rv
cnkuaW4KaW5kZXggODM3ZWI1ZGNkMGU5OTVjYTAyMjRlY2ZlYmU3MGJjZTFlYjgzM2IzNi4uYmJj
ZDQ4ZjQ5NTRlNzkzNWUyYTc2N2NhYzQyYzMxNjExNzg4OGI0YiAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvZG9tL0V2ZW50VGFyZ2V0RmFjdG9yeS5pbgorKysgYi9Tb3VyY2UvV2ViQ29yZS9k
b20vRXZlbnRUYXJnZXRGYWN0b3J5LmluCkBAIC0yMSw2ICsyMSw3IEBAIElEQlRyYW5zYWN0aW9u
IGNvbmRpdGlvbmFsPUlOREVYRURfREFUQUJBU0UKIE1lZGlhQ29udHJvbGxlciBjb25kaXRpb25h
bD1WSURFTwogTWVkaWFEZXZpY2VzIGNvbmRpdGlvbmFsPU1FRElBX1NUUkVBTQogTWVkaWFLZXlT
ZXNzaW9uIGNvbmRpdGlvbmFsPUVOQ1JZUFRFRF9NRURJQQorTWVkaWFRdWVyeUxpc3QKIE1lZGlh
UmVtb3RlQ29udHJvbHMgY29uZGl0aW9uYWw9TUVESUFfU0VTU0lPTgogTWVkaWFSZWNvcmRlciBj
b25kaXRpb25hbD1NRURJQV9TVFJFQU0KIE1lZGlhU291cmNlIGNvbmRpdGlvbmFsPU1FRElBX1NP
VVJDRQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkluc3BlY3RvclVJL1VzZXJJbnRlcmZhY2UvTW9k
ZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcyBiL1NvdXJjZS9XZWJJbnNwZWN0b3JVSS9V
c2VySW50ZXJmYWNlL01vZGVscy9OYXRpdmVGdW5jdGlvblBhcmFtZXRlcnMuanMKaW5kZXggNGI0
YmJhMjgxZWZkZGFiZTRkYWJjYmVjNDJlZjQwNzgxOTEzMGEwMC4uYjk0NjExMGRjMmE5NWI5MmUz
NzBlMjg5OTcxYzQ5ZjAzNThjNThhZCAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkluc3BlY3RvclVJ
L1VzZXJJbnRlcmZhY2UvTW9kZWxzL05hdGl2ZUZ1bmN0aW9uUGFyYW1ldGVycy5qcworKysgYi9T
b3VyY2UvV2ViSW5zcGVjdG9yVUkvVXNlckludGVyZmFjZS9Nb2RlbHMvTmF0aXZlRnVuY3Rpb25Q
YXJhbWV0ZXJzLmpzCkBAIC0xMDk1LDExICsxMDk1LDYgQEAgV0kuTmF0aXZlUHJvdG90eXBlRnVu
Y3Rpb25QYXJhbWV0ZXJzID0gewogICAgICAgICBfX3Byb3RvX186IG51bGwsCiAgICAgfSwKIAot
ICAgIE1lZGlhUXVlcnlMaXN0TGlzdGVuZXI6IHsKLSAgICAgICAgcXVlcnlDaGFuZ2VkOiAiW2xp
c3RdIiwKLSAgICAgICAgX19wcm90b19fOiBudWxsLAotICAgIH0sCi0KICAgICBNZWRpYVNvdXJj
ZTogewogICAgICAgICBhZGRTb3VyY2VCdWZmZXI6ICJ0eXBlIiwKICAgICAgICAgZW5kT2ZTdHJl
YW06ICJbZXJyb3JdIiwKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL0NoYW5nZUxvZyBiL0xheW91
dFRlc3RzL0NoYW5nZUxvZwppbmRleCA0YzNjMjM2ZjI2NGY0YzkzMDQ4MmQyZDBmNmU2NzA4YTQz
M2RjMjVlLi5hMGJjMmQ5ZWM3NGY4NmNjZmU0Njk3NGJjMzI3ZjNiMTM0ZmM4ZWQ3IDEwMDY0NAot
LS0gYS9MYXlvdXRUZXN0cy9DaGFuZ2VMb2cKKysrIGIvTGF5b3V0VGVzdHMvQ2hhbmdlTG9nCkBA
IC0xLDMgKzEsMTQgQEAKKzIwMjAtMDQtMTAgIEFsZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hA
Z21haWwuY29tPgorCisgICAgICAgIE1lZGlhUXVlcnlMaXN0IHNob3VsZCBleHRlbmQgRXZlbnRU
YXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIw
MzI4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERhcmluIEFkbGVyLgorCisgICAgICAgICogVGVz
dEV4cGVjdGF0aW9uczoKKyAgICAgICAgKiBmYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDct
ZXhwZWN0ZWQudHh0OgorICAgICAgICAqIGZhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy5o
dG1sOgorCiAyMDIwLTA0LTA5ICBEYW5pZWwgQmF0ZXMgIDxkYWJhdGVzQGFwcGxlLmNvbT4KIAog
ICAgICAgICBbaU9TXTogTmV3IHRlc3QgbGFuZGVkIGZvciByMjU5NzYyIGxhbmRlZCBicm9rZW46
IGVkaXRpbmcvZWRpdGFibGUtcmVnaW9uL2hpdC10ZXN0LW92ZXJsYXAuaHRtbApkaWZmIC0tZ2l0
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZyBiL0xheW91dFRlc3RzL2ltcG9y
dGVkL3czYy9DaGFuZ2VMb2cKaW5kZXggMmQ3ZjUyODk1YTQyNmFhZTgxNjNlMGM2YjY1YmY1NmM3
NDdhZTJiMC4uOTUyM2E1MGY5NzU1MDk0YzYwMjgwOGMwZTRmYjdiMDQwOGU0MWE1OSAxMDA2NDQK
LS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL0NoYW5nZUxvZworKysgYi9MYXlvdXRUZXN0
cy9pbXBvcnRlZC93M2MvQ2hhbmdlTG9nCkBAIC0xLDMgKzEsMTggQEAKKzIwMjAtMDQtMTAgIEFs
ZXhleSBTaHZheWthICA8c2h2YWlrYWxlc2hAZ21haWwuY29tPgorCisgICAgICAgIE1lZGlhUXVl
cnlMaXN0IHNob3VsZCBleHRlbmQgRXZlbnRUYXJnZXQKKyAgICAgICAgaHR0cHM6Ly9idWdzLndl
YmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIwMzI4OAorCisgICAgICAgIFJldmlld2VkIGJ5IERh
cmluIEFkbGVyLgorCisgICAgICAgICogd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3
L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLWhhbmRsZUV2ZW50LWV4cGVjdGVkLnR4dDoKKyAg
ICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3Qt
YWRkTGlzdGVuZXItcmVtb3ZlTGlzdGVuZXItZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdlYi1w
bGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1leHRlbmRzLUV2ZW50
VGFyZ2V0LWV4cGVjdGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nz
c29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1pbnRlcm9wLWV4cGVj
dGVkLnR4dDoKKyAgICAgICAgKiB3ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVk
aWFRdWVyeUxpc3RFdmVudC1leHBlY3RlZC50eHQ6CisgICAgICAgICogd2ViLXBsYXRmb3JtLXRl
c3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0OgorICAgICAgICAqIHdl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlhLWV4cGVjdGVkLnR4dDoK
KwogMjAyMC0wNC0wOSAgWXVzdWtlIFN1enVraSAgPHlzdXp1a2lAYXBwbGUuY29tPgogCiAgICAg
ICAgIFtKU0NdIE1vZHVsZUVudmlyb25tZW50IGRvIG5vdCBoYXZlIEpTR2xvYmFsTGV4aWNhbEVu
dmlyb25tZW50IGFzIGl0cyB1cHBlciBzY29wZQpkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvVGVz
dEV4cGVjdGF0aW9ucyBiL0xheW91dFRlc3RzL1Rlc3RFeHBlY3RhdGlvbnMKaW5kZXggOTE1MDUx
ZmMzMmRiZjg2MDU5N2I3ZmJlZjNlNzMxODUwOTA2ZWRkNi4uODAwNTBmNTIwZTJkMzI2NGJmZWU5
MDM0YjE5ZDdhOWE5OGFlMGRmMSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvVGVzdEV4cGVjdGF0
aW9ucworKysgYi9MYXlvdXRUZXN0cy9UZXN0RXhwZWN0YXRpb25zCkBAIC03NjMsNyArNzYzLDYg
QEAgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9wYXltZW50LXJlcXVlc3QgWyBTa2lw
IF0KIHdlYmtpdC5vcmcvYi8xODQwNjYgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9J
bmRleGVkREIvbmVzdGVkLWNsb25pbmctbGFyZ2UtbXVsdGlwbGUuaHRtbCBbIFNraXAgXQogd2Vi
a2l0Lm9yZy9iLzE4NDA2NiBpbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL0luZGV4ZWRE
Qi9uZXN0ZWQtY2xvbmluZy1sYXJnZS5odG1sIFsgU2tpcCBdCiB3ZWJraXQub3JnL2IvMTg0MDY2
IGltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvSW5kZXhlZERCL25lc3RlZC1jbG9uaW5n
LXNtYWxsLmh0bWwgWyBTa2lwIF0KLWltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tL2ludGVyZmFjZXMuaHRtbCBbIFBhc3MgVGltZW91dCBdCiBbIERlYnVnIF0gaW1wb3J0
ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLmh0bWwg
WyBTa2lwIF0KIHdlYmtpdC5vcmcvYi8xODIyOTIgaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9zY3JvbGxpbmdFbGVtZW50LXF1aXJrcy1keW5hbWljLTAwMS5o
dG1sIFsgSW1hZ2VPbmx5RmFpbHVyZSBdCiB3ZWJraXQub3JnL2IvMTgyMjkyIGltcG9ydGVkL3cz
Yy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvc2Nyb2xsaW5nRWxlbWVudC1xdWly
a3MtZHluYW1pYy0wMDIuaHRtbCBbIEltYWdlT25seUZhaWx1cmUgXQpkaWZmIC0tZ2l0IGEvTGF5
b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3LWV4cGVjdGVkLnR4dCBiL0xh
eW91dFRlc3RzL2Zhc3QvbWVkaWEvbWVkaWEtcXVlcnktbGlzdC0wNy1leHBlY3RlZC50eHQKaW5k
ZXggMGNhOTdiMWE5NDRhM2JiMDUxMTZhODI4OWYyNDNhZjAzYmU4ZWQ1ZC4uZGMzOTQzZTZmYjJi
M2U5NTYzMzEyNGVlNzk3MTY4MWZkM2RlMTkwYSAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvZmFz
dC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3LWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0
cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDctZXhwZWN0ZWQudHh0CkBAIC0yLDkgKzIs
OSBAQCBUZXN0IHRoZSBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGh0dHA6Ly9kZXYudzMub3Jn
L2Nzc3dnL2Nzc29tLXZpZXcvI3RoZS1tZWRpYQogCiBJbnZhbGlkIGxpc3RlbmVycy4gVHdvIGNh
bGxiYWNrcyBhcmUgZXhwZWN0ZWQuCiAKK0V2ZW50TGlzdGVuZXIgaXMgb3B0aW9uYWwKIHF1ZXJ5
LmFkZExpc3RlbmVyKDUpIHRocmV3IGV4Y2VwdGlvbiBhcyBleHBlY3RlZAogcXVlcnkuYWRkTGlz
dGVuZXIoJ2NpbmNvJykgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVkCi1xdWVyeS5hZGRMaXN0
ZW5lcihbMSwyXSkgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVkCiBbMV0gLSBxdWVyeSBzY3Jl
ZW4gY2hhbmdlZCB0byBmYWxzZQogWzJdIC0gcXVlcnkgc2NyZWVuIGNoYW5nZWQgdG8gZmFsc2UK
IApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvZmFzdC9tZWRpYS9tZWRpYS1xdWVyeS1saXN0LTA3
Lmh0bWwgYi9MYXlvdXRUZXN0cy9mYXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbApp
bmRleCA0MGRmNzVmNGZkY2NiNmE1NDJkM2RlYjRhMjJmZGU3Zjg5YTI4Mzg0Li5kYjY0NzM3NGIz
M2VkYjQ0OTIzYjAwYWE4MjYyMTMzOTRjMjI4YTU3IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9m
YXN0L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbAorKysgYi9MYXlvdXRUZXN0cy9mYXN0
L21lZGlhL21lZGlhLXF1ZXJ5LWxpc3QtMDcuaHRtbApAQCAtMjksNiArMjksMTIgQEAKIAogICAg
ICAgICB2YXIgcXVlcnkgPSB3aW5kb3cubWF0Y2hNZWRpYSgic2NyZWVuIik7CiAKKyAgICAgICAg
cXVlcnkuYWRkTGlzdGVuZXIobnVsbCk7CisgICAgICAgIHF1ZXJ5LmFkZExpc3RlbmVyKHVuZGVm
aW5lZCk7CisgICAgICAgIHF1ZXJ5LnJlbW92ZUxpc3RlbmVyKG51bGwpOworICAgICAgICBxdWVy
eS5yZW1vdmVMaXN0ZW5lcih1bmRlZmluZWQpOworICAgICAgICBsb2coIkV2ZW50TGlzdGVuZXIg
aXMgb3B0aW9uYWwiKTsKKwogICAgICAgICBxdWVyeS5hZGRMaXN0ZW5lcihjYWxsYmFjazEpOwog
CiAgICAgICAgIHRyeSB7CkBAIC00MSwxMyArNDcsOCBAQAogICAgICAgICAgICAgcXVlcnkuYWRk
TGlzdGVuZXIoJ2NpbmNvJyk7CiAgICAgICAgIH0gY2F0Y2ggKGUpIHsKICAgICAgICAgICAgIGxv
ZygicXVlcnkuYWRkTGlzdGVuZXIoJ2NpbmNvJykgdGhyZXcgZXhjZXB0aW9uIGFzIGV4cGVjdGVk
Iik7Ci0gICAgICAgICAgICAKLSAgICAgICAgfQotICAgICAgICB0cnkgewotICAgICAgICAgICAg
cXVlcnkuYWRkTGlzdGVuZXIoWzEsMl0pOwotICAgICAgICB9IGNhdGNoIChlKSB7Ci0gICAgICAg
ICAgICBsb2coInF1ZXJ5LmFkZExpc3RlbmVyKFsxLDJdKSB0aHJldyBleGNlcHRpb24gYXMgZXhw
ZWN0ZWQiKTsKICAgICAgICAgfQorCiAgICAgICAgIHF1ZXJ5LmFkZExpc3RlbmVyKGNhbGxiYWNr
Mik7CiAKICAgICAgICAgd2luZG93LmludGVybmFscy5zZXR0aW5ncy5zZXRNZWRpYVR5cGVPdmVy
cmlkZSgiaGFuZGhlbGQiKTsKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtYWRkTGlzdGVu
ZXItaGFuZGxlRXZlbnQtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5l
ci1oYW5kbGVFdmVudC1leHBlY3RlZC50eHQKaW5kZXggY2I0NzY1YzA4ODlmZjYxZTc2OGMwZTE4
MWIwNTVlYTc0Y2JlOWRlZC4uMGI2MmM0YzdmY2EwNGFjNTRhODVkNDYyZjU0ZjQ3MjNlZTBhOTll
NyAxMDA2NDQKLS0tIGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1oYW5kbGVFdmVudC1l
eHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10
ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5lci1oYW5kbGVFdmVu
dC1leHBlY3RlZC50eHQKQEAgLTEsOCArMSwxMSBAQAorQ09OU09MRSBNRVNTQUdFOiBsaW5lIDEw
MjogW29iamVjdCBPYmplY3RdCitDT05TT0xFIE1FU1NBR0U6IFR5cGVFcnJvcjogJ2hhbmRsZUV2
ZW50JyBwcm9wZXJ0eSBvZiBldmVudCBsaXN0ZW5lciBzaG91bGQgYmUgY2FsbGFibGUKK0NPTlNP
TEUgTUVTU0FHRTogVHlwZUVycm9yOiAnaGFuZGxlRXZlbnQnIHByb3BlcnR5IG9mIGV2ZW50IGxp
c3RlbmVyIHNob3VsZCBiZSBjYWxsYWJsZQogCi1GQUlMIGNhbGxzIGhhbmRsZUV2ZW50IG1ldGhv
ZCBvZiBldmVudCBsaXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0
aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IEFyZ3VtZW50IDEgKCdsaXN0ZW5lcicpIHRvIE1l
ZGlhUXVlcnlMaXN0LmFkZExpc3RlbmVyIG11c3QgYmUgYSBmdW5jdGlvbiIKLUZBSUwgbG9va3Mg
dXAgaGFuZGxlRXZlbnQgbWV0aG9kIG9uIGV2ZXJ5IGV2ZW50IGRpc3BhdGNoIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJn
dW1lbnQgMSAoJ2xpc3RlbmVyJykgdG8gTWVkaWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBi
ZSBhIGZ1bmN0aW9uIgorUEFTUyBjYWxscyBoYW5kbGVFdmVudCBtZXRob2Qgb2YgZXZlbnQgbGlz
dGVuZXIgCitQQVNTIGxvb2tzIHVwIGhhbmRsZUV2ZW50IG1ldGhvZCBvbiBldmVyeSBldmVudCBk
aXNwYXRjaCAKIFBBU1MgZG9lc24ndCBsb29rIHVwIGhhbmRsZUV2ZW50IG1ldGhvZCBvbiBjYWxs
YWJsZSBldmVudCBsaXN0ZW5lcnMgCi1GQUlMIHJldGhyb3dzIGVycm9ycyB3aGVuIGdldHRpbmcg
aGFuZGxlRXZlbnQgYXNzZXJ0X2VxdWFsczogaGFuZGxlRXZlbnQgcHJvcGVydHkgd2FzIG5vdCBs
b29rZWQgdXAgZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgdGhyb3dzIGlmIGhhbmRsZUV2ZW50
IGlzIGZhbHN5IGFuZCBub3QgY2FsbGFibGUgYXNzZXJ0X2VxdWFsczogaGFuZGxlRXZlbnQgcHJv
cGVydHkgd2FzIG5vdCBsb29rZWQgdXAgZXhwZWN0ZWQgMSBidXQgZ290IDAKLUZBSUwgdGhyb3dz
IGlmIGhhbmRsZUV2ZW50IGlzIHRocnV0aHkgYW5kIG5vdCBjYWxsYWJsZSBhc3NlcnRfZXF1YWxz
OiBoYW5kbGVFdmVudCBwcm9wZXJ0eSB3YXMgbm90IGxvb2tlZCB1cCBleHBlY3RlZCAxIGJ1dCBn
b3QgMAorRkFJTCByZXRocm93cyBlcnJvcnMgd2hlbiBnZXR0aW5nIGhhbmRsZUV2ZW50IGFzc2Vy
dF90cnVlOiBUaW1lZCBvdXQgd2FpdGluZyBmb3IgZXJyb3IgZXhwZWN0ZWQgdHJ1ZSBnb3QgZmFs
c2UKK0ZBSUwgdGhyb3dzIGlmIGhhbmRsZUV2ZW50IGlzIGZhbHN5IGFuZCBub3QgY2FsbGFibGUg
YXNzZXJ0X3RydWU6IFRpbWVkIG91dCB3YWl0aW5nIGZvciBlcnJvciBleHBlY3RlZCB0cnVlIGdv
dCBmYWxzZQorRkFJTCB0aHJvd3MgaWYgaGFuZGxlRXZlbnQgaXMgdGhydXRoeSBhbmQgbm90IGNh
bGxhYmxlIGFzc2VydF90cnVlOiBUaW1lZCBvdXQgd2FpdGluZyBmb3IgZXJyb3IgZXhwZWN0ZWQg
dHJ1ZSBnb3QgZmFsc2UKIApkaWZmIC0tZ2l0IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dl
Yi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1ZXJ5TGlzdC1hZGRMaXN0ZW5l
ci1yZW1vdmVMaXN0ZW5lci1leHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mv
d2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3Rl
bmVyLXJlbW92ZUxpc3RlbmVyLWV4cGVjdGVkLnR4dAppbmRleCA1ZDQ5ZmNlMTQ4YTcwMDdhNDUx
YTczZTQ2YzNhZGI0OGUxMWFhYzNhLi4yYzU0MDljNWFmODFjNzhkYTk4ZWZjNmU5MGVhZWEyOGNh
MWVlMjA5IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3Jt
LXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJlbW92ZUxp
c3RlbmVyLWV4cGVjdGVkLnR4dAorKysgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWFkZExpc3RlbmVyLXJl
bW92ZUxpc3RlbmVyLWV4cGVjdGVkLnR4dApAQCAtMyw3ICszLDcgQEAgUEFTUyBsaXN0ZW5lcnMg
YXJlIGNhbGxlZCB3aGVuIDxpZnJhbWU+IGlzIHJlc2l6ZWQKIFBBU1MgbGlzdGVuZXJzIGFyZSBj
YWxsZWQgY29ycmVjdCBudW1iZXIgb2YgdGltZXMgCiBQQVNTIGxpc3RlbmVycyBhcmUgY2FsbGVk
IGluIG9yZGVyIHRoZXkgd2VyZSBhZGRlZCAKIFBBU1MgbGlzdGVuZXIgdGhhdCB3YXMgYWRkZWQg
dHdpY2UgaXMgY2FsbGVkIG9ubHkgb25jZSAKLUZBSUwgbGlzdGVuZXJzIGFyZSBjYWxsZWQgaW4g
b3JkZXIgdGhlaXIgTVFMcyB3ZXJlIGNyZWF0ZWQgYXNzZXJ0X2FycmF5X2VxdWFsczogcHJvcGVy
dHkgMCwgZXhwZWN0ZWQgIm1xbDEiIGJ1dCBnb3QgIm1xbDIiCitQQVNTIGxpc3RlbmVycyBhcmUg
Y2FsbGVkIGluIG9yZGVyIHRoZWlyIE1RTHMgd2VyZSBjcmVhdGVkIAogUEFTUyByZW1vdmluZyBs
aXN0ZW5lciBmcm9tIG9uZSBNUUwgZG9lc24ndCByZW1vdmUgaXQgZnJvbSBhbGwgTVFMcyAKIFBB
U1MgTWVkaWFRdWVyeUxpc3Q6OnJlbW92ZUxpc3RlbmVyIHJlbW92ZXMgYWRkZWQgbGlzdGVuZXIg
CiAKZGlmZiAtLWdpdCBhL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVz
dHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBl
Y3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtZXhwZWN0ZWQu
dHh0CmluZGV4IDk3MzUxZTM4OTJjYzdmNmNjMWY3MDRhOTYxMjcyYTBkNjNjMzY2NTcuLmNlZWYy
ZDgxODI1MDRkMGRiNjQ2OWVjNDAzMGQ0ZmQxM2QzOWVkNWYgMTAwNjQ0Ci0tLSBhL0xheW91dFRl
c3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvTWVkaWFR
dWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1leHBlY3RlZC50eHQKKysrIGIvTGF5b3V0VGVz
dHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9NZWRpYVF1
ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWV4cGVjdGVkLnR4dApAQCAtMSwyMCArMSw5IEBA
CiAKLUZBSUwgb25jaGFuZ2UgYWRkcyBsaXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCBy
ZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IHVuZGVmaW5lZCBpcyBub3Qg
YW4gb2JqZWN0IChldmFsdWF0aW5nICdfZXZlbnQubWVkaWEnKSIKLUZBSUwgb25jaGFuZ2UgcmVt
b3ZlcyBsaXN0ZW5lciBhc3NlcnRfZXF1YWxzOiBleHBlY3RlZCAxIGJ1dCBnb3QgMAotRkFJTCBs
aXN0ZW5lcnMgZm9yICJjaGFuZ2UiIHR5cGUgYXJlIGNhbGxlZCBwcm9taXNlX3Rlc3Q6IFVuaGFu
ZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVu
dExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJj
aGFuZ2UiLCB7Ci0gICAgICAgIGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMrKzsK
LSAgICAgICAgfSwKLSAgICB9KScsICdtcWwuYWRkRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVk
KSIKLUZBSUwgbGlzdGVuZXJzIHdpdGggZGlmZmVyZW50IHR5cGUgYXJlIG5vdCBjYWxsZWQgcHJv
bWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVy
cm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKEluICdtcWwuYWRk
RXZlbnRMaXN0ZW5lcigibWF0Y2hlcyIsIHQudW5yZWFjaGVkX2Z1bmMoInNob3VsZCBub3QgYmUg
Y2FsbGVkIikpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgotRkFJTCBh
ZGRFdmVudExpc3RlbmVyICJvbmNlIiBvcHRpb24gaXMgcmVzcGVjdGVkIHByb21pc2VfdGVzdDog
VW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLmFk
ZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2ZW50TGlzdGVu
ZXIoImNoYW5nZSIsIHsKLSAgICAgICAgaGFuZGxlRXZlbnQoKSB7Ci0gICAgICAgICAgICBjYWxs
cysrOwotICAgICAgICB9LAotICAgIH0sIHtvbmNlOiB0cnVlfSknLCAnbXFsLmFkZEV2ZW50TGlz
dGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlMIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBs
aXN0ZW5lciBwcm9taXNlX3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2Jq
ZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAo
SW4gJ21xbC5hZGRFdmVudExpc3RlbmVyKCJjaGFuZ2UiLCBsaXN0ZW5lciknLCAnbXFsLmFkZEV2
ZW50TGlzdGVuZXInIGlzIHVuZGVmaW5lZCkiCi1GQUlMIGRpc3BhdGNoRXZlbnQgd29ya3MgYXMg
ZXhwZWN0ZWQgbXFsLmFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFs
LmFkZEV2ZW50TGlzdGVuZXIoImN1c3RvbSIsIGV2ZW50ID0+IHsKLSAgICAgICAgcmVjZWl2ZWRF
dmVudCA9IGV2ZW50OwotICAgICAgICBldmVudC5wcmV2ZW50RGVmYXVsdCgpOwotICAgIH0sIHRy
dWUpJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpCitQQVNTIG9uY2hhbmdl
IGFkZHMgbGlzdGVuZXIgCitQQVNTIG9uY2hhbmdlIHJlbW92ZXMgbGlzdGVuZXIgCitQQVNTIGxp
c3RlbmVycyBmb3IgImNoYW5nZSIgdHlwZSBhcmUgY2FsbGVkIAorUEFTUyBsaXN0ZW5lcnMgd2l0
aCBkaWZmZXJlbnQgdHlwZSBhcmUgbm90IGNhbGxlZCAKK1BBU1MgYWRkRXZlbnRMaXN0ZW5lciAi
b25jZSIgb3B0aW9uIGlzIHJlc3BlY3RlZCAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciByZW1v
dmVzIGxpc3RlbmVyIAorUEFTUyBkaXNwYXRjaEV2ZW50IHdvcmtzIGFzIGV4cGVjdGVkIAogCmRp
ZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nz
cy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJvcC1l
eHBlY3RlZC50eHQgYi9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0LWV4dGVuZHMtRXZlbnRUYXJnZXQtaW50ZXJv
cC1leHBlY3RlZC50eHQKaW5kZXggMmYyOTQzNmMyNzA2YjExNWExOTY3NmZiYzAwYWI5ZTlkNjkz
YWIzYi4uN2MwNjRjMzY0YzgxY2IyYTg0YzY0MDFhZjU4OGJkYzhlODM3ZTJmMyAxMDA2NDQKLS0t
IGEvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20t
dmlldy9NZWRpYVF1ZXJ5TGlzdC1leHRlbmRzLUV2ZW50VGFyZ2V0LWludGVyb3AtZXhwZWN0ZWQu
dHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3Nz
L2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3QtZXh0ZW5kcy1FdmVudFRhcmdldC1pbnRlcm9wLWV4
cGVjdGVkLnR4dApAQCAtMSwxNCArMSwxMCBAQAogCi1GQUlMIGRpc3BhdGNoRXZlbnQgdHJpZ2dl
cnMgbGlzdGVuZXIgYWRkZWQgd2l0aCBhZGRMaXN0ZW5lciBtcWwuZGlzcGF0Y2hFdmVudCBpcyBu
b3QgYSBmdW5jdGlvbi4gKEluICdtcWwuZGlzcGF0Y2hFdmVudChkaXNwYXRjaGVkRXZlbnQpJywg
J21xbC5kaXNwYXRjaEV2ZW50JyBpcyB1bmRlZmluZWQpCi1GQUlMIGxpc3RlbmVyIGFkZGVkIHdp
dGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2UgcHJvbWlz
ZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVjdCAiVHlwZUVycm9y
OiBBcmd1bWVudCAxICgnbGlzdGVuZXInKSB0byBNZWRpYVF1ZXJ5TGlzdC5hZGRMaXN0ZW5lciBt
dXN0IGJlIGEgZnVuY3Rpb24iCi1GQUlMIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIg
YW5kIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIGlzIGNhbGxlZCB0d2ljZSBwcm9taXNlX3Rl
c3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1x
bC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExp
c3RlbmVyKCJjaGFuZ2UiLCBsaXN0ZW5lciwgdHJ1ZSknLCAnbXFsLmFkZEV2ZW50TGlzdGVuZXIn
IGlzIHVuZGVmaW5lZCkiCi1GQUlMIHJlbW92ZUV2ZW50TGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5l
ciBhZGRlZCB3aXRoIGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlv
biB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogQXJndW1lbnQgMSAoJ2xpc3RlbmVyJykg
dG8gTWVkaWFRdWVyeUxpc3QuYWRkTGlzdGVuZXIgbXVzdCBiZSBhIGZ1bmN0aW9uIgotRkFJTCBy
ZW1vdmVFdmVudExpc3RlbmVyIChjYXB0dXJlKSBkb2Vzbid0IHJlbW92ZSBsaXN0ZW5lciBhZGRl
ZCB3aXRoIGFkZExpc3RlbmVyIHByb21pc2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRo
IHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogbXFsLnJlbW92ZUV2ZW50TGlzdGVuZXIgaXMgbm90
IGEgZnVuY3Rpb24uIChJbiAnbXFsLnJlbW92ZUV2ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3Rl
bmVyLCB0cnVlKScsICdtcWwucmVtb3ZlRXZlbnRMaXN0ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZB
SUwgcmVtb3ZlTGlzdGVuZXIgcmVtb3ZlcyBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlz
dGVuZXIgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFsdWU6IG9iamVj
dCAiVHlwZUVycm9yOiBtcWwuYWRkRXZlbnRMaXN0ZW5lciBpcyBub3QgYSBmdW5jdGlvbi4gKElu
ICdtcWwuYWRkRXZlbnRMaXN0ZW5lcigiY2hhbmdlIiwgbGlzdGVuZXIpJywgJ21xbC5hZGRFdmVu
dExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgotRkFJTCByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJl
bW92ZSBsaXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIHByb21p
c2VfdGVzdDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJv
cjogbXFsLmFkZEV2ZW50TGlzdGVuZXIgaXMgbm90IGEgZnVuY3Rpb24uIChJbiAnbXFsLmFkZEV2
ZW50TGlzdGVuZXIoImNoYW5nZSIsIGxpc3RlbmVyLCB0cnVlKScsICdtcWwuYWRkRXZlbnRMaXN0
ZW5lcicgaXMgdW5kZWZpbmVkKSIKLUZBSUwgY2FwdHVyaW5nIGV2ZW50IGxpc3RlbmVyIGZpcmVz
IGJlZm9yZSBub24tY2FwdHVyaW5nIGxpc3RlbmVyIGF0IHRhcmdldCBwcm9taXNlX3Rlc3Q6IFVu
aGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6IG1xbC5hZGRF
dmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVudExpc3RlbmVy
KCJjaGFuZ2UiLCB7Ci0gICAgICAgIGhhbmRsZUV2ZW50KCkgewotICAgICAgICAgICAgY2FsbHMu
cHVzaCgiYWRkRXZlbnRMaXN0ZW5lciIpOwotICAgICAgICB9LAotICAgIH0sIHRydWUpJywgJ21x
bC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgorUEFTUyBkaXNwYXRjaEV2ZW50IHRy
aWdnZXJzIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIGxpc3RlbmVyIGFk
ZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVuZXIgaXMgY2FsbGVkIG9uY2Ug
CitQQVNTIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgYW5kIGFkZEV2ZW50TGlzdGVu
ZXIgKGNhcHR1cmUpIGlzIGNhbGxlZCB0d2ljZSAKK1BBU1MgcmVtb3ZlRXZlbnRMaXN0ZW5lciBy
ZW1vdmVzIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRkTGlzdGVuZXIgCitQQVNTIHJlbW92ZUV2ZW50
TGlzdGVuZXIgKGNhcHR1cmUpIGRvZXNuJ3QgcmVtb3ZlIGxpc3RlbmVyIGFkZGVkIHdpdGggYWRk
TGlzdGVuZXIgCitQQVNTIHJlbW92ZUxpc3RlbmVyIHJlbW92ZXMgbGlzdGVuZXIgYWRkZWQgd2l0
aCBhZGRFdmVudExpc3RlbmVyIAorUEFTUyByZW1vdmVMaXN0ZW5lciBkb2Vzbid0IHJlbW92ZSBs
aXN0ZW5lciBhZGRlZCB3aXRoIGFkZEV2ZW50TGlzdGVuZXIgKGNhcHR1cmUpIAorUEFTUyBjYXB0
dXJpbmcgZXZlbnQgbGlzdGVuZXIgZmlyZXMgYmVmb3JlIG5vbi1jYXB0dXJpbmcgbGlzdGVuZXIg
YXQgdGFyZ2V0IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBs
YXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0ZWQu
dHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nz
b20tdmlldy9NZWRpYVF1ZXJ5TGlzdEV2ZW50LWV4cGVjdGVkLnR4dAppbmRleCAzZTFiNDc5NjQw
NDYxZWVjMDBjZGY3ODQ0YzljOGExYzA1ZDEwZWJiLi45MmFjNDM5YjE3ODM4NDExZWE0NzQxOWY4
OTc3MzA2ZWVhNGU0NmEyIDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L01lZGlhUXVlcnlMaXN0RXZlbnQtZXhwZWN0
ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMv
Y3NzL2Nzc29tLXZpZXcvTWVkaWFRdWVyeUxpc3RFdmVudC1leHBlY3RlZC50eHQKQEAgLTEsMTAg
KzEsOCBAQAogCi1GQUlMIHR5cGUgY2FuIGJlIGRpZmZlcmVudCBmcm9tICJjaGFuZ2UiIENhbid0
IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQKLUZBSUwgaW5pdCBkaWN0aW9uYXJ5
IGRlZmF1bHQgdmFsdWVzIENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlhUXVlcnlMaXN0RXZlbnQK
LUZBSUwgaW5pdCBkaWN0aW9uYXJ5IG92ZXJyaWRlcyBDYW4ndCBmaW5kIHZhcmlhYmxlOiBNZWRp
YVF1ZXJ5TGlzdEV2ZW50Ci1GQUlMIGFyZ3VtZW50IG9mIGFkZExpc3RlbmVyIHByb21pc2VfdGVz
dDogVW5oYW5kbGVkIHJlamVjdGlvbiB3aXRoIHZhbHVlOiBvYmplY3QgIlR5cGVFcnJvcjogUmln
aHQgaGFuZCBzaWRlIG9mIGluc3RhbmNlb2YgaXMgbm90IGFuIG9iamVjdCIKLUZBSUwgYXJndW1l
bnQgb2Ygb25jaGFuZ2UgcHJvbWlzZV90ZXN0OiBVbmhhbmRsZWQgcmVqZWN0aW9uIHdpdGggdmFs
dWU6IG9iamVjdCAiVHlwZUVycm9yOiBSaWdodCBoYW5kIHNpZGUgb2YgaW5zdGFuY2VvZiBpcyBu
b3QgYW4gb2JqZWN0IgotRkFJTCBjb25zdHJ1Y3RvciBvZiAiY2hhbmdlIiBldmVudCBwcm9taXNl
X3Rlc3Q6IFVuaGFuZGxlZCByZWplY3Rpb24gd2l0aCB2YWx1ZTogb2JqZWN0ICJUeXBlRXJyb3I6
IG1xbC5hZGRFdmVudExpc3RlbmVyIGlzIG5vdCBhIGZ1bmN0aW9uLiAoSW4gJ21xbC5hZGRFdmVu
dExpc3RlbmVyKCJjaGFuZ2UiLCBldmVudCA9PiB7Ci0gICAgICAgIF9ldmVudCA9IGV2ZW50Owot
ICAgIH0pJywgJ21xbC5hZGRFdmVudExpc3RlbmVyJyBpcyB1bmRlZmluZWQpIgorUEFTUyB0eXBl
IGNhbiBiZSBkaWZmZXJlbnQgZnJvbSAiY2hhbmdlIiAKK1BBU1MgaW5pdCBkaWN0aW9uYXJ5IGRl
ZmF1bHQgdmFsdWVzIAorUEFTUyBpbml0IGRpY3Rpb25hcnkgb3ZlcnJpZGVzIAorUEFTUyBhcmd1
bWVudCBvZiBhZGRMaXN0ZW5lciAKK1BBU1MgYXJndW1lbnQgb2Ygb25jaGFuZ2UgCitQQVNTIGNv
bnN0cnVjdG9yIG9mICJjaGFuZ2UiIGV2ZW50IAogCmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9p
bXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3Mt
ZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1wb3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0
cy9jc3MvY3Nzb20tdmlldy9pZGxoYXJuZXNzLWV4cGVjdGVkLnR4dAppbmRleCAyOTNkNGQ3YTAz
ZmRjN2M0MWJjNzYxYzI3ZWZlMTIzMmM1MDBlYjY4Li5iOTIyYThiYTFiY2E4MDA1YmIzNmZkYmE5
YmQzMjE3YzViMzQ0MTc1IDEwMDY0NAotLS0gYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2Vi
LXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3L2lkbGhhcm5lc3MtZXhwZWN0ZWQudHh0Cisr
KyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29t
LXZpZXcvaWRsaGFybmVzcy1leHBlY3RlZC50eHQKQEAgLTU1LDQyICs1NSwzOCBAQCBQQVNTIFdp
bmRvdyBpbmNsdWRlcyBXaW5kb3dTZXNzaW9uU3RvcmFnZTogbWVtYmVyIG5hbWVzIGFyZSB1bmlx
dWUKIFBBU1MgV2luZG93IGluY2x1ZGVzIFdpbmRvd0xvY2FsU3RvcmFnZTogbWVtYmVyIG5hbWVz
IGFyZSB1bmlxdWUgCiBQQVNTIENoYXJhY3RlckRhdGEgaW5jbHVkZXMgTm9uRG9jdW1lbnRUeXBl
Q2hpbGROb2RlOiBtZW1iZXIgbmFtZXMgYXJlIHVuaXF1ZSAKIFBBU1MgQ2hhcmFjdGVyRGF0YSBp
bmNsdWRlcyBDaGlsZE5vZGU6IG1lbWJlciBuYW1lcyBhcmUgdW5pcXVlIAotRkFJTCBNZWRpYVF1
ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ug
b2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVy
dHkgIk1lZGlhUXVlcnlMaXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1p
c3NpbmcKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0
X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVy
eUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBN
ZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTog
c2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVk
IHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBp
bnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBl
IG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3Bl
cnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBt
aXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9w
ZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9w
ZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5
ICJNZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNz
aW5nCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0
aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0
eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJN
ZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5n
Ci1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlM
aXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwgTWVk
aWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWF0Y2hlcyBhc3NlcnRfb3duX3Byb3Bl
cnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIgZXhw
ZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlM
aXN0IGludGVyZmFjZTogb3BlcmF0aW9uIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIGFzc2Vy
dF9vd25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVl
cnlMaXN0IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIG1pc3NpbmcKLUZBSUwg
TWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlTGlzdGVuZXIoRXZlbnRM
aXN0ZW5lcikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBwcm9w
ZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdCIg
bWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBvbmNoYW5n
ZSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJN
ZWRpYVF1ZXJ5TGlzdCIgZXhwZWN0ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0IiBtaXNzaW5n
Ci1GQUlMIE1lZGlhUXVlcnlMaXN0IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbWF0Y2hN
ZWRpYSgiYWxsIikgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2VsZiBkb2VzIG5vdCBoYXZlIG93biBw
cm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3QiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlz
dCIgbWlzc2luZworUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRl
cmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlIG9iamVj
dCBuYW1lIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJv
cGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90eXBlIG9iamVjdCAKK1BBU1MgTWVkaWFRdWVyeUxp
c3QgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3Rv
dHlwZSBvYmplY3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYVF1ZXJ5TGlz
dCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2UgcHJvdG90
eXBlIG9iamVjdCdzIEBAdW5zY29wYWJsZXMgcHJvcGVydHkgCitQQVNTIE1lZGlhUXVlcnlMaXN0
IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZh
Y2U6IGF0dHJpYnV0ZSBtYXRjaGVzIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdCBpbnRlcmZhY2U6IG9w
ZXJhdGlvbiBhZGRMaXN0ZW5lcihFdmVudExpc3RlbmVyKSAKK1BBU1MgTWVkaWFRdWVyeUxpc3Qg
aW50ZXJmYWNlOiBvcGVyYXRpb24gcmVtb3ZlTGlzdGVuZXIoRXZlbnRMaXN0ZW5lcikgCitQQVNT
IE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogYXR0cmlidXRlIG9uY2hhbmdlIAorUEFTUyBNZWRp
YVF1ZXJ5TGlzdCBtdXN0IGJlIHByaW1hcnkgaW50ZXJmYWNlIG9mIG1hdGNoTWVkaWEoImFsbCIp
IAogUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbWF0Y2hNZWRpYSgiYWxsIikgCiBQQVNTIE1lZGlh
UXVlcnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3Bl
cnR5ICJtZWRpYSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIE1lZGlhUXVlcnlMaXN0IGlu
dGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJtYXRjaGVz
IiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKIFBBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBt
YXRjaE1lZGlhKCJhbGwiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgImFkZExpc3RlbmVyKEV2ZW50
TGlzdGVuZXIpIiB3aXRoIHRoZSBwcm9wZXIgdHlwZSAKLUZBSUwgTWVkaWFRdWVyeUxpc3QgaW50
ZXJmYWNlOiBjYWxsaW5nIGFkZExpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEo
ImFsbCIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgYXNzZXJ0
X3Rocm93czogQ2FsbGVkIHdpdGggMCBhcmd1bWVudHMgZnVuY3Rpb24gImZ1bmN0aW9uICgpIHsK
LSAgICAgICAgICAgIGZuLmFwcGx5KG9iaiwgYXJncyk7Ci0gICAgICAgIH0iIGRpZCBub3QgdGhy
b3cKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBjYWxsaW5nIGFkZExpc3RlbmVyKEV2
ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEoImFsbCIpIHdpdGggdG9vIGZldyBhcmd1bWVudHMg
bXVzdCB0aHJvdyBUeXBlRXJyb3IgCiBQQVNTIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0
Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5ICJyZW1vdmVMaXN0ZW5lcihFdmVu
dExpc3RlbmVyKSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCi1GQUlMIE1lZGlhUXVlcnlMaXN0IGlu
dGVyZmFjZTogY2FsbGluZyByZW1vdmVMaXN0ZW5lcihFdmVudExpc3RlbmVyKSBvbiBtYXRjaE1l
ZGlhKCJhbGwiKSB3aXRoIHRvbyBmZXcgYXJndW1lbnRzIG11c3QgdGhyb3cgVHlwZUVycm9yIGFz
c2VydF90aHJvd3M6IENhbGxlZCB3aXRoIDAgYXJndW1lbnRzIGZ1bmN0aW9uICJmdW5jdGlvbiAo
KSB7Ci0gICAgICAgICAgICBmbi5hcHBseShvYmosIGFyZ3MpOwotICAgICAgICB9IiBkaWQgbm90
IHRocm93Ci1GQUlMIE1lZGlhUXVlcnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikg
bXVzdCBpbmhlcml0IHByb3BlcnR5ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNz
ZXJ0X2luaGVyaXRzOiBwcm9wZXJ0eSAib25jaGFuZ2UiIG5vdCBmb3VuZCBpbiBwcm90b3R5cGUg
Y2hhaW4KLUZBSUwgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQg
cHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IGFzc2VydF9vd25fcHJvcGVydHk6IHNlbGYg
ZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIGV4cGVjdGVk
IHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBtaXNzaW5nCi1GQUlMIE1lZGlhUXVlcnlM
aXN0RXZlbnQgaW50ZXJmYWNlIG9iamVjdCBsZW5ndGggYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0
ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVy
eUxpc3RFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgYXNzZXJ0X293bl9wcm9wZXJ0eTogc2Vs
ZiBkb2VzIG5vdCBoYXZlIG93biBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgZXhwZWN0
ZWQgcHJvcGVydHkgIk1lZGlhUXVlcnlMaXN0RXZlbnQiIG1pc3NpbmcKLUZBSUwgTWVkaWFRdWVy
eUxpc3RFdmVudCBpbnRlcmZhY2U6IGV4aXN0ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZh
Y2UgcHJvdG90eXBlIG9iamVjdCBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhh
dmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAi
TWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgImNvbnN0cnVjdG9yIiBwcm9wZXJ0eSBhc3NlcnRfb3duX3Byb3BlcnR5OiBzZWxm
IGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3Rl
ZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5
TGlzdEV2ZW50IGludGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFj
ZSBwcm90b3R5cGUgb2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSBhc3NlcnRfb3duX3By
b3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2
ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIgbWlzc2luZwotRkFJ
TCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogYXR0cmlidXRlIG1lZGlhIGFzc2VydF9v
d25fcHJvcGVydHk6IHNlbGYgZG9lcyBub3QgaGF2ZSBvd24gcHJvcGVydHkgIk1lZGlhUXVlcnlM
aXN0RXZlbnQiIGV4cGVjdGVkIHByb3BlcnR5ICJNZWRpYVF1ZXJ5TGlzdEV2ZW50IiBtaXNzaW5n
Ci1GQUlMIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBhdHRyaWJ1dGUgbWF0Y2hlcyBh
c3NlcnRfb3duX3Byb3BlcnR5OiBzZWxmIGRvZXMgbm90IGhhdmUgb3duIHByb3BlcnR5ICJNZWRp
YVF1ZXJ5TGlzdEV2ZW50IiBleHBlY3RlZCBwcm9wZXJ0eSAiTWVkaWFRdWVyeUxpc3RFdmVudCIg
bWlzc2luZwotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2ZW50IG11c3QgYmUgcHJpbWFyeSBpbnRlcmZh
Y2Ugb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIGFzc2VydF9lcXVhbHM6IFVu
ZXhwZWN0ZWQgZXhjZXB0aW9uIHdoZW4gZXZhbHVhdGluZyBvYmplY3QgZXhwZWN0ZWQgbnVsbCBi
dXQgZ290IG9iamVjdCAiUmVmZXJlbmNlRXJyb3I6IENhbid0IGZpbmQgdmFyaWFibGU6IE1lZGlh
UXVlcnlMaXN0RXZlbnQiCi1GQUlMIFN0cmluZ2lmaWNhdGlvbiBvZiBuZXcgTWVkaWFRdWVyeUxp
c3RFdmVudCgiY2hhbmdlIikgYXNzZXJ0X2VxdWFsczogVW5leHBlY3RlZCBleGNlcHRpb24gd2hl
biBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBudWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVu
Y2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTogTWVkaWFRdWVyeUxpc3RFdmVudCIKLUZBSUwg
TWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2U6IG5ldyBNZWRpYVF1ZXJ5TGlzdEV2ZW50KCJj
aGFuZ2UiKSBtdXN0IGluaGVyaXQgcHJvcGVydHkgIm1lZGlhIiB3aXRoIHRoZSBwcm9wZXIgdHlw
ZSBhc3NlcnRfZXF1YWxzOiBVbmV4cGVjdGVkIGV4Y2VwdGlvbiB3aGVuIGV2YWx1YXRpbmcgb2Jq
ZWN0IGV4cGVjdGVkIG51bGwgYnV0IGdvdCBvYmplY3QgIlJlZmVyZW5jZUVycm9yOiBDYW4ndCBm
aW5kIHZhcmlhYmxlOiBNZWRpYVF1ZXJ5TGlzdEV2ZW50IgotRkFJTCBNZWRpYVF1ZXJ5TGlzdEV2
ZW50IGludGVyZmFjZTogbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIG11c3QgaW5o
ZXJpdCBwcm9wZXJ0eSAibWF0Y2hlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgYXNzZXJ0X2VxdWFs
czogVW5leHBlY3RlZCBleGNlcHRpb24gd2hlbiBldmFsdWF0aW5nIG9iamVjdCBleHBlY3RlZCBu
dWxsIGJ1dCBnb3Qgb2JqZWN0ICJSZWZlcmVuY2VFcnJvcjogQ2FuJ3QgZmluZCB2YXJpYWJsZTog
TWVkaWFRdWVyeUxpc3RFdmVudCIKK1BBU1MgTWVkaWFRdWVyeUxpc3QgaW50ZXJmYWNlOiBjYWxs
aW5nIHJlbW92ZUxpc3RlbmVyKEV2ZW50TGlzdGVuZXIpIG9uIG1hdGNoTWVkaWEoImFsbCIpIHdp
dGggdG9vIGZldyBhcmd1bWVudHMgbXVzdCB0aHJvdyBUeXBlRXJyb3IgCitQQVNTIE1lZGlhUXVl
cnlMaXN0IGludGVyZmFjZTogbWF0Y2hNZWRpYSgiYWxsIikgbXVzdCBpbmhlcml0IHByb3BlcnR5
ICJvbmNoYW5nZSIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZl
bnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIG9iamVj
dCAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IGxlbmd0aCAKK1BB
U1MgTWVkaWFRdWVyeUxpc3RFdmVudCBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUgCitQQVNTIE1lZGlh
UXVlcnlMaXN0RXZlbnQgaW50ZXJmYWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50
ZXJmYWNlIHByb3RvdHlwZSBvYmplY3QgCitQQVNTIE1lZGlhUXVlcnlMaXN0RXZlbnQgaW50ZXJm
YWNlOiBleGlzdGVuY2UgYW5kIHByb3BlcnRpZXMgb2YgaW50ZXJmYWNlIHByb3RvdHlwZSBvYmpl
Y3QncyAiY29uc3RydWN0b3IiIHByb3BlcnR5IAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGlu
dGVyZmFjZTogZXhpc3RlbmNlIGFuZCBwcm9wZXJ0aWVzIG9mIGludGVyZmFjZSBwcm90b3R5cGUg
b2JqZWN0J3MgQEB1bnNjb3BhYmxlcyBwcm9wZXJ0eSAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVu
dCBpbnRlcmZhY2U6IGF0dHJpYnV0ZSBtZWRpYSAKK1BBU1MgTWVkaWFRdWVyeUxpc3RFdmVudCBp
bnRlcmZhY2U6IGF0dHJpYnV0ZSBtYXRjaGVzIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IG11
c3QgYmUgcHJpbWFyeSBpbnRlcmZhY2Ugb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5n
ZSIpIAorUEFTUyBTdHJpbmdpZmljYXRpb24gb2YgbmV3IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNo
YW5nZSIpIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogbmV3IE1lZGlhUXVl
cnlMaXN0RXZlbnQoImNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWVkaWEiIHdpdGgg
dGhlIHByb3BlciB0eXBlIAorUEFTUyBNZWRpYVF1ZXJ5TGlzdEV2ZW50IGludGVyZmFjZTogbmV3
IE1lZGlhUXVlcnlMaXN0RXZlbnQoImNoYW5nZSIpIG11c3QgaW5oZXJpdCBwcm9wZXJ0eSAibWF0
Y2hlcyIgd2l0aCB0aGUgcHJvcGVyIHR5cGUgCiBQQVNTIFNjcmVlbiBpbnRlcmZhY2U6IGV4aXN0
ZW5jZSBhbmQgcHJvcGVydGllcyBvZiBpbnRlcmZhY2Ugb2JqZWN0IAogUEFTUyBTY3JlZW4gaW50
ZXJmYWNlIG9iamVjdCBsZW5ndGggCiBQQVNTIFNjcmVlbiBpbnRlcmZhY2Ugb2JqZWN0IG5hbWUg
CmRpZmYgLS1naXQgYS9MYXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3Rz
L2Nzcy9jc3NvbS12aWV3L21hdGNoTWVkaWEtZXhwZWN0ZWQudHh0IGIvTGF5b3V0VGVzdHMvaW1w
b3J0ZWQvdzNjL3dlYi1wbGF0Zm9ybS10ZXN0cy9jc3MvY3Nzb20tdmlldy9tYXRjaE1lZGlhLWV4
cGVjdGVkLnR4dAppbmRleCA2N2VmY2VhMjg5ZTRjNjg5ODkwZGYwZTJjZmMwNzI3OTZjNWQ2ODE2
Li42ZDY4MDFjOGQ3NzlhMTBmZWUyYmI0MzJlMGY2ZmYzNjlhMWE3ODY4IDEwMDY0NAotLS0gYS9M
YXlvdXRUZXN0cy9pbXBvcnRlZC93M2Mvd2ViLXBsYXRmb3JtLXRlc3RzL2Nzcy9jc3NvbS12aWV3
L21hdGNoTWVkaWEtZXhwZWN0ZWQudHh0CisrKyBiL0xheW91dFRlc3RzL2ltcG9ydGVkL3czYy93
ZWItcGxhdGZvcm0tdGVzdHMvY3NzL2Nzc29tLXZpZXcvbWF0Y2hNZWRpYS1leHBlY3RlZC50eHQK
QEAgLTMsNyArMyw3IEBAIFBBU1Mgd2luZG93Lm1hdGNoTWVkaWEgaXMgYSBmdW5jdGlvbgogUEFT
UyB3aW5kb3cubWF0Y2hNZWRpYSgiYWxsIikgbWF0Y2hlcyAKIFBBU1Mgd2luZG93Lm1hdGNoTWVk
aWEoIiIpIG1hdGNoZXMgCiBQQVNTIHdpbmRvdy5tYXRjaE1lZGlhKCIobWluLXdpZHRoOiAxcHgp
IikgbWF0Y2hlcyAKLUZBSUwgbWVkaWEgcXVlcnkgd2l0aCBzeW50YXggZXJyb3IgaXMgc2VyaWFs
aXplZCBhcyAibm90IGFsbCIgQ2FuJ3QgZmluZCB2YXJpYWJsZTogTWVkaWFRdWVyeUxpc3QKK1BB
U1MgbWVkaWEgcXVlcnkgd2l0aCBzeW50YXggZXJyb3IgaXMgc2VyaWFsaXplZCBhcyAibm90IGFs
bCIgCiBQQVNTIGlmcmFtZS5tYXRjaE1lZGlhKCIobWF4LXdpZHRoOiAxOTlweCksIGFsbCBhbmQg
KG1pbi13aWR0aDogMjAwcHgpIikgaXMgc2VyaWFsaXplZCB3L28gImFsbCIgCiBQQVNTIGlmcmFt
ZS5tYXRjaE1lZGlhKCIobWluLWFzcGVjdC1yYXRpbzogMS8xKSIpIG1hdGNoZXMgCiBQQVNTIGlm
cmFtZS5tYXRjaE1lZGlhKCIod2lkdGg6IDIwMHB4KSIpIG1hdGNoZXMgCg==
</data>

          </attachment>
      

    </bug>

</bugzilla>